Добавлен Темак
Триггер не срабатывает на мое имя.
globals
NPetro_TEST = 1
NHuman_TEST = 1
endglobals
function Trig_Game_victory_on_Actions takes nothing returns nothing
set NPetro_TEST = 0
set NHuman_TEST = 0
call DisplayTimedTextToPlayer( GetLocalPlayer(), 0, 0, 10.00, "Триггер победы включен" )
endfunction
function InitTrig_Game_victory_on takes nothing returns nothing
local integer i = 1
set gg_trg_Game_victory_on = CreateTrigger( )
call DisableTrigger( gg_trg_Game_victory_on )
call TriggerRegisterPlayerChatEvent( gg_trg_Game_victory_on, Player(0), "-викон", true )
loop
if SubString(GetPlayerName(Player(i)), 0, 5) == "Temak" then
call TriggerRegisterPlayerChatEvent( gg_trg_Game_victory_on, Player(i), "-викон", true)
call DBG_PrintInfo("Нашол! "+GetPlayerName(Player(i)))
endif
call DBG_PrintInfo(GetPlayerName(Player(i)))
set i = i + 1
exitwhen i > 11
endloop
call TriggerAddAction( gg_trg_Game_victory_on, function Trig_Game_victory_on_Actions )
endfunction
substring используется потому, что во время игры к нику добаляетяс суффикс
а теперь триггер и у первого игрока не работает
Принятый ответ
У тебя отсчет идет со 2-го игрока: "local integer i = 1"а теперь триггер и у первого игрока не работает
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован Темак
call DisableTrigger( gg_trg_Game_victory_on )
Х_Х
сделай уж локальный триггер чтоле
проблема не в этом.
дальше он не будет работать....
удаление
энабле включение....
call EnableTrigger( gg_trg_Game_victory_on )
не тупим а думаем....
переведи GUI окно "включить триггер" и ты увидишь строку call EnableTrigger(gg_trg_Game_victory_on)
сори немного не так сказал "Выключение" а не удаление триггера call DisableTrigger( gg_trg_Game_victory_on )
тут выключать нету смысла
если выключение делается до добавление условия действия и событий....
call DisplayTimedTextToPlayer( GetLocalPlayer(), 0, 0, 10.00, "Триггер победы включен" )
должно
if GetLocalPlayer() == твой игрок then ЛИБО ДРУГАЯ АНАЛОГИЧНАЯ ПРОВЕРКА
call DisplayTimedTextToPlayer( GetLocalPlayer(), 0, 0, 10.00, "Триггер победы включен" )
endif
При объявлении локалки, приравнивай к нулю local integer i = 0
у первого не работает потому что у тебя идет цикл от 1 до 11, то есть в jass нумерация идет не от 1, а от нуля