Im jst making it so a hero can only have one of each item class(permanent,campaign,artifact...) but it doesnt work properly at all.Here is the code I added a debugmsg to see whats going on:
I made one of these triggers for each item class and when i test the map nothing works like i want it to
JASS:
function ItemCheckWeaponPermanent_Conditions takes nothing returns boolean
if ( not ( GetItemType(GetManipulatedItem()) == ITEM_TYPE_PERMANENT ) ) then
return false
endif
return true
endfunction
function ItemCheckWeaponPermanent_Actions takes nothing returns nothing
local integer i = 1
local integer count = 0
loop
exitwhen( i == 6 )
if ( GetItemType(UnitItemInSlot(GetManipulatingUnit(), i )) == ITEM_TYPE_PERMANENT ) then
set count = count + 1
endif
set i = i + 1
endloop
if( count == 1 ) then
call UnitDropItemPoint( GetTriggerUnit(), GetManipulatedItem(), GetUnitX( GetTriggerUnit() ), GetUnitY( GetTriggerUnit() ) )
endif
call BJDebugMsg( I2S( count ) )
endfunction
function InitTrig_ItemCheckWeaponPermanent takes nothing returns nothing
set gg_trg_ItemCheckWeaponPermanent = CreateTrigger( )
call TriggerRegisterPlayerUnitEvent( gg_trg_ItemCheckWeaponPermanent, Player(0), EVENT_PLAYER_UNIT_PICKUP_ITEM, null )
call TriggerRegisterPlayerUnitEvent( gg_trg_ItemCheckWeaponPermanent, Player(1), EVENT_PLAYER_UNIT_PICKUP_ITEM, null )
call TriggerRegisterPlayerUnitEvent( gg_trg_ItemCheckWeaponPermanent, Player(2), EVENT_PLAYER_UNIT_PICKUP_ITEM, null )
call TriggerRegisterPlayerUnitEvent( gg_trg_ItemCheckWeaponPermanent, Player(3), EVENT_PLAYER_UNIT_PICKUP_ITEM, null )
call TriggerRegisterPlayerUnitEvent( gg_trg_ItemCheckWeaponPermanent, Player(4), EVENT_PLAYER_UNIT_PICKUP_ITEM, null )
call TriggerRegisterPlayerUnitEvent( gg_trg_ItemCheckWeaponPermanent, Player(5), EVENT_PLAYER_UNIT_PICKUP_ITEM, null )
call TriggerRegisterPlayerUnitEvent( gg_trg_ItemCheckWeaponPermanent, Player(6), EVENT_PLAYER_UNIT_PICKUP_ITEM, null )
call TriggerRegisterPlayerUnitEvent( gg_trg_ItemCheckWeaponPermanent, Player(7), EVENT_PLAYER_UNIT_PICKUP_ITEM, null )
call TriggerRegisterPlayerUnitEvent( gg_trg_ItemCheckWeaponPermanent, Player(8), EVENT_PLAYER_UNIT_PICKUP_ITEM, null )
call TriggerRegisterPlayerUnitEvent( gg_trg_ItemCheckWeaponPermanent, Player(9), EVENT_PLAYER_UNIT_PICKUP_ITEM, null )
call TriggerRegisterPlayerUnitEvent( gg_trg_ItemCheckWeaponPermanent, Player(10), EVENT_PLAYER_UNIT_PICKUP_ITEM, null )
call TriggerRegisterPlayerUnitEvent( gg_trg_ItemCheckWeaponPermanent, Player(11), EVENT_PLAYER_UNIT_PICKUP_ITEM, null )
call TriggerAddCondition( gg_trg_ItemCheckWeaponPermanent, Condition( function ItemCheckWeaponPermanent_Conditions ) )
call TriggerAddAction( gg_trg_ItemCheckWeaponPermanent, function ItemCheckWeaponPermanent_Actions )
endfunction
I made one of these triggers for each item class and when i test the map nothing works like i want it to