вроде как кулдаун не запускается, если в момент применения способности юнита переместить триггером в какое-нибудь другое место (например, на несколько точек вправо)
Заказчик: Roy Mustang Способность: Persistent shell Выполнено: Да
GUI, скопировать в свою карту переменные, юнита pshell_dummy (спецэффект при срабатывании блока), способность и бафф, затем оба триггера (кроме инициализации карты).
каждые 0.04 секунд:
сравнивать текущие координаты с сохраненными у обоих юнитов
находить разницу среднюю по x и среднюю по y и сдвигать обоих на это среднее от сохраненных
затем сохранять эти новые координаты
1
real x1 = GetUnitX(unit1)
real old_x1 = Load(...)
...
real dx = ((x1-old_x1)+(x2-old_x2))/2
real dy = ((y1-old_y1)+(y2-old_y2))/2
old_x1 += dx; old_y1 += dy; SetUnitPosition(unit1,old_x1,old_y1); Save(...)
old_x2 += dx; old_y2 += dy; SetUnitPosition(unit2,old_x2,old_y2); Save(...)
Если надо их просто держать впритык все время, то просто перемещать второго каждые 0.04 сек. в ту же точку, где сейчас первый
Name Legion, ты перебираешь юнитов, пока перебираешь юнитов
то есть сперва у тебя в действиях триггера идет перебор
даьше ты проверяешь, что этот юнит герой
а потом если он герой, то опять зачем-то проверяешь уловия триггера (которые уже и так проверены выше) и перебираешь всех юнитов - вот этого не должно быть
Проблема с мультишотом в том, что если на башню нападет один воин, то из пяти лучников будет стрелять только один (каждый доп. выстрел стреляет в свою отдельную цель)
а еще в том, что два лучника могут стрелять сразу в трех врагов (нельзя сделать меньше двух дополнительных целей)
Не можыт быт
там в коде этой функции указано, что действия выполняются только если локальный игрок в указанной группе игроков
так что у других игроков эти действия не выполняются
кинь скриншот триггера
1
function TransmissionFromUnitWithNameBJ takes force toForce, unit whichUnit, string unitName, sound soundHandle, string message, integer timeType, real timeVal, boolean wait returns nothing
call TryInitCinematicBehaviorBJ()
// Ensure that the time value is non-negative.
set timeVal = RMaxBJ(timeVal, 0)
set bj_lastTransmissionDuration = GetTransmissionDuration(soundHandle, timeType, timeVal)
set bj_lastPlayedSound = soundHandle
if (IsPlayerInForce(GetLocalPlayer(), toForce)) then
// Use only local code (no net traffic) within this block to avoid desyncs.
if (whichUnit == null) then
// If the unit reference is invalid, send the transmission from the center of the map with no portrait.
call DoTransmissionBasicsXYBJ(0, PLAYER_COLOR_RED, 0, 0, soundHandle, unitName, message, bj_lastTransmissionDuration)
else
call DoTransmissionBasicsXYBJ(GetUnitTypeId(whichUnit), GetPlayerColor(GetOwningPlayer(whichUnit)), GetUnitX(whichUnit), GetUnitY(whichUnit), soundHandle, unitName, message, bj_lastTransmissionDuration)
if (not IsUnitHidden(whichUnit)) then
call UnitAddIndicator(whichUnit, bj_TRANSMISSION_IND_RED, bj_TRANSMISSION_IND_BLUE, bj_TRANSMISSION_IND_GREEN, bj_TRANSMISSION_IND_ALPHA)
endif
endif
endif
if wait and (bj_lastTransmissionDuration > 0) then
// call TriggerSleepAction(bj_lastTransmissionDuration)
call WaitTransmissionDuration(soundHandle, timeType, timeVal)
endif
endfunction
у меня при выводе для "группа игроков - игрок 2 синий" красному ничего не выводится
если оно выключается, оно же включится когда-нибудь? а события то останутся
если только не удалять и пересоздавать триггер (занося его в все ту же переменную gg_trg_WS_Damage и не забывая добавить условия и действия)
событие юнит получает урон не должно добавляться на одного юнита несколько раз
у тебя второй триггер будет срабатывать много раз за каждое попадание
добавляй юнитов которым уже создано событие в отряд и проверяй что они не внем
посмотреть путь (pathtextures\16x16Simple.tga или вроде того)
открыть mpq master, war3modeleditor или подобную прогу, открыть ею архив war3.mpq
найти в архиве нужную текстуру по этому пути и достать из архива
открыть текстуру графредактором, поменять размер на нужный (20х20 пикселей?), рисовать там текстуру как надо (розовый 255-0-255 - непроходимый, синий 0-0-255 - нельзя строить, прозрачный - проходимый)
Ред. biridius
» WarCraft 3 / Перезапись глобальных переменных
сейчас проверил
» WarCraft 3 / Как сделать проверку Дальний/Ближний бой?
» WarCraft 3 / Как сделать проверку Дальний/Ближний бой?
Ред. biridius
» WarCraft 3 / Нужна помощь с тригерами
есть действия деформации рельефа и смены текстуры земли в триггерах
см. в категории Окружение
Change Terrain Type и Create Terrain Deformation
» WarCraft 3 / Нужна модель? - Вам сюда!
Ред. biridius
» WarCraft 3 / Применение способности на определённое здание
Ред. biridius
» WarCraft 3 / Способности и алгоритмы на заказ
Заклинание готово!
Способность: Persistent shell
Выполнено: Да
» WarCraft 3 / Как заставить dummy кастить мой скилл?
» WarCraft 3 / Перенос героя
в одной карте герой 'H001' а в другой 'H005'
Ред. biridius
» WarCraft 3 / Как прикрепить одного юнита к другому?
сравнивать текущие координаты с сохраненными у обоих юнитов
находить разницу среднюю по x и среднюю по y и сдвигать обоих на это среднее от сохраненных
затем сохранять эти новые координаты
Ред. biridius
» WarCraft 3 / Перемещение героя на арену по команде
» WarCraft 3 / Перемещение героя на арену по команде
и зачем каждый раз проверять одно и то же условие по четыре раза?
» WarCraft 3 / Перемещение героя на арену по команде
Ред. biridius
» WarCraft 3 / Перемещение героя на арену по команде
только герой и будет, для этого ты и проверяешь условие что Picked unit is Герой
» WarCraft 3 / Перемещение героя на арену по команде
и вместо нее всей сделай Боевая единица - move Picked unit...
Ред. biridius
» WarCraft 3 / Перемещение героя на арену по команде
то есть сперва у тебя в действиях триггера идет перебор
даьше ты проверяешь, что этот юнит герой
а потом если он герой, то опять зачем-то проверяешь уловия триггера (которые уже и так проверены выше) и перебираешь всех юнитов - вот этого не должно быть
» WarCraft 3 / Перемещение героя на арену по команде
замени ту огроменную последнюю строку в своем триггере на просто перемещение Picked unit куда нужно
» WarCraft 3 / Как заставить лучников в башне стрелять?
» WarCraft 3 / Не запускаются карты. Возможно беда со скриптами
который в варкрафте с 1.24 версии не работает
Ред. biridius
» WarCraft 3 / Передача от отряда
там в коде этой функции указано, что действия выполняются только если локальный игрок в указанной группе игроков
так что у других игроков эти действия не выполняются
кинь скриншот триггера
Ред. biridius
» WarCraft 3 / Проверьте, пожалуйста, триггеры!
Ред. biridius
» WarCraft 3 / Проверьте, пожалуйста, триггеры!
если только не удалять и пересоздавать триггер (занося его в все ту же переменную gg_trg_WS_Damage и не забывая добавить условия и действия)
Ред. biridius
» WarCraft 3 / Проверьте, пожалуйста, триггеры!
у тебя второй триггер будет срабатывать много раз за каждое попадание
добавляй юнитов которым уже создано событие в отряд и проверяй что они не внем
Ред. biridius
» WarCraft 3 / Как или где можно получить новые карты путей для здания?
Ред. biridius
» WarCraft 3 / Аура которая сбрасывается сразу после покидания зоны действия