function sell_item takes nothing returns nothing
set sell_item = CreateTrigger()
call TriggerRegisterAnyUnitEventBJ( sell_item, EVENT_PLAYER_UNIT_SELL_ITEM ) //任意單位出售物品
call TriggerAddAction(sell_item, function sell_item2)
endfunction
function sell_item2 takes nothing returns nothing
if (((GetItemTypeId(GetSoldItem()) == 'I000') or (GetItemTypeId(GetSoldItem()) == 'I005'))) then //出售A/B
set I[GetConvertedPlayerId(GetOwningPlayer(GetSellingUnit()))] = false // I對應A/B的布林值
else
if (((GetItemTypeId(GetSoldItem()) == 'I001') or (GetItemTypeId(GetSoldItem()) == 'I006'))) then //出售A1/B1
set II[GetConvertedPlayerId(GetOwningPlayer(GetSellingUnit()))] = false // II對應A1/B1的布林值 如此類推
else
if (((GetItemTypeId(GetSoldItem()) == 'I002') or (GetItemTypeId(GetSoldItem()) == 'I007'))) then
set III[GetConvertedPlayerId(GetOwningPlayer(GetSellingUnit()))] = false
else
if (((GetItemTypeId(GetSoldItem()) == 'I003') or (GetItemTypeId(GetSoldItem()) == 'I008'))) then
set IIII[GetConvertedPlayerId(GetOwningPlayer(GetSellingUnit()))] = false
else
if (((GetItemTypeId(GetSoldItem()) == 'I004') or (GetItemTypeId(GetSoldItem()) == 'I009'))) then
set IIIII[GetConvertedPlayerId(GetOwningPlayer(GetSellingUnit()))] = false
else
endif
endif
endif
endif
endif
endfunction
function buy_item takes nothing returns nothing
set buy_item = CreateTrigger()
call TriggerRegisterUnitEvent( buy_item, gg_unit_n000_0000, EVENT_UNIT_SELL ) //自定義商店出售單位
call TriggerAddAction(buy_item, function buy_item2)
endfunction
function buy_item2 takes nothing returns nothing
if ((IsUnitType(GetBuyingUnit(), UNIT_TYPE_HERO) == true)) then // 購買者是英雄
if (((GetUnitTypeId(GetSoldUnit()) == 'e000') and (I[GetConvertedPlayerId(GetTriggerPlayer())] == false))) then // 當販賣單位是 A & I=false
call UnitAddItemByIdSwapped( 'I000', GetBuyingUnit() ) // 建立物品A給予購買者
set I[GetConvertedPlayerId(GetOwningPlayer(GetBuyingUnit()))] = true // 改變玩家?的布林變量
else
if (((GetUnitTypeId(GetSoldUnit()) == 'e001') and (II[GetConvertedPlayerId(GetTriggerPlayer())] == false))) then // 當販賣單位是 A1 & II=false
call UnitAddItemByIdSwapped( 'I001', GetBuyingUnit() ) // 建立物品A1給予購買者 如此類推
set II[GetConvertedPlayerId(GetOwningPlayer(GetBuyingUnit()))] = true
else
if (((GetUnitTypeId(GetSoldUnit()) == 'e002') and (III[GetConvertedPlayerId(GetTriggerPlayer())] == false))) then
call UnitAddItemByIdSwapped( 'I002', GetBuyingUnit() )
set III[GetConvertedPlayerId(GetOwningPlayer(GetBuyingUnit()))] = true
else
if (((GetUnitTypeId(GetSoldUnit()) == 'e003') and (IIII[GetConvertedPlayerId(GetTriggerPlayer())] == false))) then
call UnitAddItemByIdSwapped( 'I003', GetBuyingUnit() )
set IIII[GetConvertedPlayerId(GetOwningPlayer(GetBuyingUnit()))] = true
else
if (((GetUnitTypeId(GetSoldUnit()) == 'e004') and (IIIII[GetConvertedPlayerId(GetTriggerPlayer())] == false))) then
call UnitAddItemByIdSwapped( 'I004', GetBuyingUnit() )
set IIIII[GetConvertedPlayerId(GetOwningPlayer(GetBuyingUnit()))] = true
else
endif
endif
endif
endif
endif
else
endif
endfunction