В общем делаю наработку с отдельными действиями для каждого итема.
Вопрос можно ли это сделать проще и все ли я делаю правильно?
//есть глобальная переменная "массив триггеров" trigs
//первый триггер "продолжает инициализацию"
function itmI000 takes nothing returns nothing
call DisplayTextToPlayer(Player(0), 0, 0, "I000 works")
endfunction
function itmI001 takes nothing returns nothing
call DisplayTextToPlayer(Player(0), 0, 0, "I001 works")
endfunction
function Trig_itms_Actions takes nothing returns nothing
local integer i = 832
set udg_trigs[i] = CreateTrigger( )
call TriggerAddAction(udg_trigs[i], function itmI000)
set i = i + 1
set udg_trigs[i] = CreateTrigger( )
call TriggerAddAction(udg_trigs[i], function itmI001)
endfunction
//===========================================================================
function InitTrig_itms takes nothing returns nothing
set gg_trg_itms = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_itms, Player(0), "1", true )
call TriggerAddAction( gg_trg_itms, function Trig_itms_Actions )
endfunction
//второй триггер
function Trig_pick_Actions takes nothing returns nothing
local integer i = GetItemTypeId(GetManipulatedItem())
local string s = I2S(i)
set i = i - 1227894000
call DisplayTextToPlayer(Player(0), 0, 0, s)
set s = I2S(i)
call DisplayTextToPlayer(Player(0), 0, 0, s)
call TriggerExecute(udg_trigs[i])
endfunction
//===========================================================================
function InitTrig_pick takes nothing returns nothing
set gg_trg_pick = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_pick, EVENT_PLAYER_UNIT_PICKUP_ITEM )
call TriggerAddAction( gg_trg_pick, function Trig_pick_Actions )
endfunction
В игре все сообщения игра пишет, но как я сказал можно ли это делать проще?