mute
New Member
- Reaction score
- 2
Code:
function Trig_Buy_Pouch_Conditions takes nothing returns boolean
return GetItemTypeId(GetManipulatedItem()) == 'drph'
endfunction
function Trig_Buy_Pouch_Func001Func001A takes nothing returns nothing
if GetHandleId(GetEnumUnit()) == GetItemUserData(GetManipulatedItem()) then
call IssueTargetOrder(GetEnumUnit(), "setrally", GetTriggerUnit())
endif
endfunction
function Trig_Buy_Pouch_Actions takes nothing returns nothing
local location tl = GetRectCenter(bj_mapInitialPlayableArea)
if GetItemUserData(GetManipulatedItem()) != 0 then
call ForGroup( udg_ItemStorage, function Trig_Buy_Pouch_Func001Func001A )
else
call CreateNUnitsAtLoc( 1, 'e002', GetOwningPlayer(GetTriggerUnit()), tl, bj_UNIT_FACING )
call GroupAddUnit(udg_ItemStorage, GetLastCreatedUnit())
call IssueTargetOrder(GetLastCreatedUnit(), "setrally", GetTriggerUnit())
call SetItemUserData( GetManipulatedItem(), GetHandleId(GetLastCreatedUnit()) )
endif
call RemoveLocation(tl)
set tl = null
endfunction
//===========================================================================
function InitTrig_Buy_Pouch takes nothing returns nothing
set gg_trg_Buy_Pouch = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Buy_Pouch, EVENT_PLAYER_UNIT_PICKUP_ITEM )
call TriggerAddCondition( gg_trg_Buy_Pouch, Condition( function Trig_Buy_Pouch_Conditions ) )
call TriggerAddAction( gg_trg_Buy_Pouch, function Trig_Buy_Pouch_Actions )
endfunction
second one :
Code:
function Trig_Swap_Items_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A012'
endfunction
function ab takes nothing returns nothing
local unit e = GetEnumUnit()
local unit t = GetTriggerUnit()
local item array hero
local item array hold
local integer slot
set slot = 0
loop
exitwhen slot > 5
set hero[slot] = UnitRemoveItemFromSlot(t, slot)
set hold[slot] = UnitRemoveItemFromSlot(e, slot)
set slot = slot + 1
endloop
set slot = 0
loop
exitwhen slot > 5
if GetItemTypeId(hero[slot]) == 'drph' then
call UnitAddItem(t, hero[slot])
call UnitAddItem(t, hold[slot])
else
call UnitAddItem(t, hold[slot])
call UnitAddItem(e, hero[slot])
endif
set slot = slot + 1
endloop
endfunction
function aa takes nothing returns nothing
local unit e = GetEnumUnit()
local unit t = GetTriggerUnit()
if GetUnitRallyUnit(e) == t then
call ExecuteFunc("ab")
endif
set e = null
set t = null
endfunction
function Trig_Swap_Items_Actions takes nothing returns nothing
call ForGroup(udg_ItemStorage, function aa)
endfunction
//===========================================================================
function InitTrig_Swap_Items takes nothing returns nothing
set gg_trg_Swap_Items = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Swap_Items, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Swap_Items, Condition( function Trig_Swap_Items_Conditions ) )
call TriggerAddAction( gg_trg_Swap_Items, function Trig_Swap_Items_Actions )
endfunction