5

» WarCraft 3 / Юнит входит в регион

Что я делаю не так?
Массив RCT[...] не был заполнен до вызова InitTrig_EnterUnit. Как уже сообщал PT153.
PT153:
так получается, что массив RCT не был заполнен, поэтому ничего и не работало. Надо было в InitTrig_EnterUnit просто заполнить массив и всё.
Вот еще интересное наблюдение, но оно скорее не будет относиться к этому вопросу
Немного контекста: Автор вопроса создал 2-е не соприкасающиеся области. Одна в центре, другая ниже. На основе этих областей повешено событие входа и выхода в регионы. Создан герой левее от центральной области. При написании команды -tp, герой перемещается в нижнюю область.
Выводится сообщение о входе и выходе в центральную область, а после вход в нижнюю область. А хотелось, видимо, автору только реакции на событие входа в нижнюю область.
А теперь объясняю почему. Перемещение героя происходит так
Код
function XY_Actions takes nothing returns nothing
    call SetUnitX(gg_unit_Ewar_0001, GetRectCenterX(gg_rct_RCT1))
    //call BJDebugMsg(R2S(GetUnitX(gg_unit_Ewar_0001)))
    call SetUnitY(gg_unit_Ewar_0001, GetRectCenterY(gg_rct_RCT1))
    //call BJDebugMsg(R2S(GetUnitY(gg_unit_Ewar_0001)))
endfunction
Смещаем по оси X. Герой оказывается в центральной области. Срабатывает событие входа в центральную область.
Смещаем по оси Y. Герой выходит из центральной области и входит в нижнюю.
При использовании способности "Скачок", что очевидно, таких промежуточных сообщений не выходит, ибо перемещение героя происходит по двум осям одновременно.
5

» WarCraft 3 / Проблема с order

АИ используют способность.
Решение вашей проблемы - выключение стандартного АИ.
Загруженные файлы
5

» WarCraft 3 / Чередование способностей у юнита

Tredor46, Плохой способ из-за сбрасывания перезарядки способности. При удалении способности, так же сбрасывается её перезарядка. И при дальнейшем добавлении её же, можно будет использовать снова.
Лучше, всё таки блокировать для игрока.
Но нужно помнить, если имеется несколько таких бойцов с такими способностями, то способность будет не видна у остальных бойцов.
5

» WarCraft 3 / Лимит пищи и триггерный спавн

GetPlayerState(Player(0), PLAYER_STATE_RESOURCE_FOOD_USED) < 100
Загруженные файлы
5

» WarCraft 3 / Юниты стоят на месте. Что делать?

А каким способом отправляете бойцов в точки атаки?
К чему я это... Если пользуетесь GUI, то возможно отправляете войска через Событие - Юнит вошел в регион (рект). И отдаете всем войскам в регионе (ректе) приказ нападать.
Попробовать стоит во время создания одного война отправлять его сразу в нужные координаты.
Так же есть вероятность, что отдается приказ всем войскам на карте каждое определенное время, что тоже даёт подобный эффект "затупа" войск.
5

» WarCraft 3 / Уменьшение урона юнита при атаке

Согласно триггеру мы видим:
Атакующий - Потрошитель (бездна) (условие)
Создаётся dummy в позиции Потрошителя под управлением игрока, что является владельцем этого Потрошителя.
Даётся команда dummy использовать способность Пламя Обречённости на атакованном бойце.
Ждать
Удалить последнего созданного.
Из того что мы видим всё должно сработать.
Если не работает:
  1. Проверить наличие способности у dummy.
  2. Наличие маны у dummy.
  3. Требования на использование способности. (Исследования и т.п.)
Прежде чем запускать dummy триггерно, рекомендую вручную создать выбираемого dummy и дать им приказ на использование способности. Если конечно впервые пробуем подобное.
5

» WarCraft 3 / Движущийся Портал

У  Region есть координаты?
Нет.

Я не совсем прав... Глянул common.j и согласно ему можно сделать такую вещь:
native RegionAddRect            takes region whichRegion, rect r returns nothing
native RegionClearRect          takes region whichRegion, rect r returns nothing
То бишь можно будет повесить, предварительно сохранив в переменную, на регион событие входа и таймером сначала удалять область, а потом добавить в новом положении область в регион. Должно сработать.
В данный момент не имею доступа к ПК для сверки теории.
И да, писать всё придется на Jass, либо GUI+custom code.
5

» WarCraft 3 / Движущийся Портал

в область ("юнит входит в область") срабатывает только в исходной позиции области
Происходит это из-за события (функции), оно при создании триггера создаёт утекающий region и вешает на этот region событие входа/выхода.
Выход: создавать регион и перемещать его, а не область.
5

» WarCraft 3 / как уничтожить все таймер-диалоги timerdialog ?

CreateTimerDialogBJ рассказываем и видим, что оно создаёт при вызове TimerDialog.
Если вызвать функцию дважды, то создаст 2 отдельных окна таймера привязанных к одному таймеру. Завершив таймер уничтожить можно будет только последнее окно, если первое небыло привязано к какой либо переменной, то оно (первое) утекает.
В чем загадка то?
5

» WarCraft 3 / Тройной выстрел

Есть способность "Ракеты" у самоходной мортиры у альянса. Именно она позволяет дальнему бою стрелять массово.
Настраиваем цели и радуемся.
5

» WarCraft 3 / Количество убийств юнита

JASS:
local unit whichUnit=GetKillingUnit()
local integer data=GetUnitUserData(whichUnit)
call SetUnitUserData (whichUnit, data+1)
if(data==5)then
call UnitAddAbility(whichUnit, 'A000')
else
...
endif
...
set whichUnit=null
На GUI ищем "UserData".
5

» WarCraft 3 / Юнит мешает пройти

На скриншоте всё верно. Видимо этого действия не достаточно. Сам не сталкивался с такой проблемой и в данный момент не могу реализовать. Однако посидев немного в поиске нашел подобное решение
В довесок можно прочитать и попробовать руны (эффект Phase boots)
5

» WarCraft 3 / Юнит мешает пройти

Физический размер 0 поставь ему
Дело в том что уже стоит(
В таком случае я бы хотел увидеть, что вы понимаете под "физический размер", ибо этого действия должно быть достаточно для вашей задачи.
Скриншот Редактора Объектов с нужным полем будет прекрасным аргументом.
5

» WarCraft 3 / KillUnit

call SetWidgetLife(target, 1.)
call SetUnitState(target, UNIT_STATE_MANA, 0.)
call UnitDamageTarget(source, target, 1.1, false, false, null, null, null)
Где:
source - убивец
target - цель убийства
Не сработает только в одном случае - неуязвимость. Уберите неуязвимость перед нанесением урона и будет счастье.
5

» WarCraft 3 / Как сделать рандомное перемещение

Утечка же будет, разве нет?
Её же можно убрать. Иль к прочтению статей по утечкам мы брезгуем?
5

» WarCraft 3 / Как сделать рандомное перемещение

anton1623,Эм...
Боевая единица вышла из области
Ваши условия
Отправить в случайную точку области
5

» WarCraft 3 / Как сделать рандомное перемещение

Способность любого пассивно нейтрального животного - Нейтральный (Лягушка, пингвин и т.п.)
Способность у торнадо (смерч) Медузы тоже даёт обладателю ходить в случайном направлении без остановки.
5

» WarCraft 3 / Создание юнита по координатам

То бишь код:
local real x=GetUnitX(udg_Hero)
local real y=GetUnitY(udg_Hero)
set bj_lastCreatedUnit=CreateUnit(GetOwningPlayer(udg_Hero),'hspt',x,y,GetUnitFacing(udg_Hero))
будет рабочим
5

» WarCraft 3 / Триггерная способность

Афтар, попытки были? Насколько удачные? Что использовалось (GUI, JASS, zinc, lua)? В случае не желания самостоятельно или с помощью текущего раздела (вопросы) разобраться в создании способности - обращаемся в раздел Заклинания на заказ и оформляем по примеру.
В вопросах не всегда дают итоговое решение (скопировал-вставил). По моему мнению ответ должен научить, а не кормить готовым.
5

» WarCraft 3 / Триггер активируется со второго раза

Условие не верно. Необходима боевая единица, что заходит в область, а не УЖЕ находится в области.
5

» WarCraft 3 / Способность исчезает при использовании

Возможно есть ещё один триггер с этим событием и с этим условием (способностью)?