XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
Gold D Dragon

offline
Опыт: 904
Активность:
функция для каждого итема.
В общем делаю наработку с отдельными действиями для каждого итема.
Вопрос можно ли это сделать проще и все ли я делаю правильно?
//есть глобальная переменная "массив триггеров" 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
В игре все сообщения игра пишет, но как я сказал можно ли это делать проще?
Старый 19.12.2009, 02:50
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 20:47.