- Joined
- Jan 23, 2020
- Messages
- 1
I am not qualified enough for this trigger, so I ask you guys.
On my map, my hero received an item that updates an item every time you buy an item.
Now I want it to be done on a trigger GUI.
how to do it?
On my map, my hero received an item that updates an item every time you buy an item.
Now I want it to be done on a trigger GUI.
how to do it?
Code:
function Trig_Halberd_HRV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I01A')or(GetItemTypeId(GetManipulatedItem())=='I01G')or(GetItemTypeId(GetManipulatedItem())=='I01B')or(GetItemTypeId(GetManipulatedItem())=='I01C')or(GetItemTypeId(GetManipulatedItem())=='I01D')
endfunction
function Trig_Halberd_HIV takes nothing returns boolean
return(Trig_Halberd_HRV())
endfunction
function Trig_Halberd_HAV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I01A')
endfunction
function Trig_Halberd_HHV takes nothing returns nothing
if(Trig_Halberd_HAV())then
call TriggerExecute(udg_TJ)
return
endif
endfunction
function Trig_Halberd_HJV takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)>=15000)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02D')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02E'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02F')==false)
endfunction
function Trig_Halberd_HKV takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)>=10000)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02E')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02F')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02D'))
endfunction
function Trig_Halberd_HLV takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)>=5000)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02E')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02F')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02D')==false)
endfunction
function Trig_Halberd_HMV takes nothing returns nothing
if(Trig_Halberd_HLV())then
call UnitAddItemByIdSwapped('I02D',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)-5000))
else
if(Trig_Halberd_HKV())then
call RemoveItem(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I02D'))
call UnitAddItemByIdSwapped('I02E',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)-10000))
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Items\\AIem\\AIemTarget.mdl")
call TriggerExecute(udg_XB)
else
if(Trig_Halberd_HJV())then
call RemoveItem(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I02E'))
call UnitAddItemByIdSwapped('I02F',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)-15000))
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Items\\AIem\\AIemTarget.mdl")
call TriggerExecute(udg_XB)
endif
endif
endif
endfunction
function Trig_Halberd_HPV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I02D')or(GetItemTypeId(GetManipulatedItem())=='I02E')or(GetItemTypeId(GetManipulatedItem())=='I02F')
endfunction
function Trig_Halberd_HQV takes nothing returns boolean
return(Trig_Halberd_HPV())
endfunction
function Trig_Halberd_HSV takes nothing returns boolean
return(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02D')or(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02E')or(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02F')
endfunction
function Trig_Halberd_HTV takes nothing returns boolean
return(Trig_Halberd_HSV())
endfunction
function Trig_Halberd_HUV takes nothing returns boolean
return(udg_VV>=2)
endfunction
function Trig_Halberd_Actions takes nothing returns nothing
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=6
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
if(Trig_Halberd_HTV())then
set udg_VV=(udg_VV+1)
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
if(Trig_Halberd_HUV())then
call UnitRemoveItemSwapped(GetManipulatedItem(),GetTriggerUnit())
endif
endfunction
//===========================================================================