function GetSqrDistancePoints takes real x1, real y1, real x2, real y2 returns real
return (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)
endfunction
function GetDistancePoints takes real x1, real y1, real x2, real y2 returns real
return SquareRoot((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2))
endfunction
function GetSqrDistanceWidgetPoint takes widget w, real x, real y returns real
local real dx = GetWidgetX(w) - x
local real dy = GetWidgetY(w) - y
return dx * dx + dy * dy
endfunction
function GetDistanceWidgetPoint takes widget w, real x, real y returns real
return SquareRoot(GetSqrDistanceWidgetPoint(w, x, y))
endfunction
function GetSqrDistanceWidgets takes widget w1, widget w2 returns real
local real dx = GetWidgetX(w1) - GetWidgetX(w2)
local real dy = GetWidgetY(w1) - GetWidgetY(w2)
return dx * dx + dy * dy
endfunction
function GetDistanceWidgets takes widget w1, widget w2 returns real
return SquareRoot(GetSqrDistanceWidgets(w1, w2))
endfunction
GetDistancePoints возвращает расстояние между двумя точками.
GetDistanceWidgetPoint возвращает расстояние между точкой и виджетом. Виджет - юнит, предмет или разрушаемый объект.
GetDistanceWidgets возвращает расстояние между двумя виджетами. Виджеты могут быть разного типа, то есть можно передать юнита и предмет.
Функции с Sqr возвращают квадрат расстояния. Полезно в тех ситуациях, когда нужно сравнить расстояния, ибо для сравнения корень считать необязательно: если квадрат одного числа больше квадрата другого, то корень первого числа больше корня второго. Тем самым функции Sqr не делают лишних вычислений и более точны в сравнениях.
С учётом того, что набор действий на каждого юнита одинаковый, нет смысла создавать триггер на каждого юнита. Достаточно создать один триггер с указанным набором действий и на него вешать события получения урона.
Вообще, структур в JASS нет, как и библиотек. Это фишки сторонних компиляторов, которые затем компилируется в JASS. Структуры являются фишкой vJass. Мануал по нему есть в папке jasshelper, а перевод мануала тут.
Если используется патч 1.31+, рекомендую изучать Lua, на нём можно писать карты WC3. Там таких проблем нет.
Всё очень просто: структура уничтожается и на ей место (индекс) встаёт новая. Так как индекс тот же, то данные там те, которые были установлены. Для корректной установки данных при создании объекта можно сделать метод create, а для очистки - onDestroy. Некоторую информацию можно прямо в определении поля писать.
under11, картинки в комменте не грузятся.
Видно, что включён cJass, либо используются импорт его библиотек. Рекомендую отказаться от использования cJass вовсе.
А разве нельзя просто скачать какой-нибудь 1.31, обновить до ласт версии и ввести фейковый ключ? Ведь если у вас есть ключ от игры 2003 года, то вы можете обновится до ласта, но без доступа к HD. То есть из минусов будет только первый.
» WarCraft 3 / Удаленные юниты и триггеры остаются висеть в памяти (vJass).
Ред. PT153
» WarCraft 3 / Узнать расстояние между юнитами
Ред. PT153
» WarCraft 3 / Warcraft 3 Reforged Взломан!
» WarCraft 3 / Warcraft 3 Reforged Взломан!
» WarCraft 3 / Удаленные юниты и триггеры остаются висеть в памяти (vJass).
» WarCraft 3 / Warcraft 3 Reforged Взломан!
» WarCraft 3 / Структуры в джассе: смещение без очистки и вытекающие проблемы.
Ред. PT153
» WarCraft 3 / Warcraft 3 Reforged Взломан!
» WarCraft 3 / Структуры в джассе: смещение без очистки и вытекающие проблемы.
» WarCraft 3 / Структуры в джассе: смещение без очистки и вытекающие проблемы.
» WarCraft 3 / Структуры в джассе: смещение без очистки и вытекающие проблемы.
Ред. PT153
» WarCraft 3 / Непонятные ошибки на jass
Видно, что включён cJass, либо используются импорт его библиотек. Рекомендую отказаться от использования cJass вовсе.
» WarCraft 3 / Warcraft 3 Reforged Взломан!
» WarCraft 3 / Обучение jass
» WarCraft 3 / JNPG Не проверяется код
Ред. PT153
» WarCraft 3 / Мемхак анрайза v1.5+
Ред. PT153
» WarCraft 3 / Отлов владельца юнита для написания сообщения в чат.
under11:
» WarCraft 3 / Отлов владельца юнита для написания сообщения в чат.
Ред. PT153
» WarCraft 3 / LoadAgentHandle или LoadUnitHandle?
» WarCraft 3 / LoadAgentHandle или LoadUnitHandle?