Я хочу сделать как-то так:
-Игрок красный обводит (любого) юнита
-Игрок красный пишет текст в чат
-Юнит переходит под командование к игроку красному
Но только при условие что Юнитом больше не сможет управлять владелец
И точно также отдать Владельцу игрока.
-Игрок красный обводит (любого) юнита
-Игрок красный пишет текст в чат
-Юнит переходит под командование к игроку красному
Но только при условие что Юнитом больше не сможет управлять владелец
И точно также отдать Владельцу игрока.
Принятый ответ
WiLian, так я имел в виду два триггера..
Вот так: xgm.guru/files/100/198847/comments/366316/Give.w3m
Скопируй 2 триггера и переменную-массив юнитов Selected в свою карту.
Тут даже без проверки получается вроде.
Если нужно больше игроков, чем 4 - то добавляй события с ними.
Вот так: xgm.guru/files/100/198847/comments/366316/Give.w3m
Скопируй 2 триггера и переменную-массив юнитов Selected в свою карту.
Тут даже без проверки получается вроде.
Если нужно больше игроков, чем 4 - то добавляй события с ними.
Sergey105, а как это в один триггер впихнуть?
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован Niken
1 - Нельзя ставить 2 события основанной на действий с игрока
2 - То, что первым произошло, то и сработает (то есть, если игрока напечатает сообщение, то событие "выбор юнита" пропустит, также и с выбором юнита)
3 - Попробуй сделать выбор юнита и ввод сообщение в 2 триггера.
Отредактирован Sergey105
ты можешь сделать 2 триггера в 1 триггере сделать игрок 1 выбирает юнитов и занести юнита в переменную а в 2 триггере сделать событие игрок 1 напечатал такое сообщение и в действии уже сменить цвет юнита который записан в переменную
хотя это все можно сделать и на одном триггере
Вот так: xgm.guru/files/100/198847/comments/366316/Give.w3m
Скопируй 2 триггера и переменную-массив юнитов Selected в свою карту.
Тут даже без проверки получается вроде.
Если нужно больше игроков, чем 4 - то добавляй события с ними.
GetTriggerEventId() вернет эвент ид
function Actions2 takes nothing returns boolean
if GetTriggerEventId() == EVENT_PLAYER_UNIT_ATTACKED then
действие при атаки
elseif GetTriggerEventId() == EVENT_PLAYER_UNIT_SPELL_EFFECT
действие при касте спела
endif
return false
endfunction
===========================================================================
function InitTrig_Ev takes nothing returns nothing
set gg_trg_Ev = CreateTrigger()
call TriggerRegisterAnyUnitEventBJ( gg_trg_Ev, EVENT_PLAYER_UNIT_ATTACKED )//ид 1
call TriggerRegisterAnyUnitEventBJ( gg_trg_Ev, EVENT_PLAYER_UNIT_SPELL_EFFECT )//ид2
TriggerAddCondition(gg_trg_Ev, Condition(function Actions2))
endfunction
и да тут не просто так вместо TriggerAddAction стоит TriggerAddCondition
поскольку action утечна и ну для неё это норм она постояно копит в себе количество активаций триггера этим и жрет доп память