Какую команду нужно ввести, чтобы провести проверку на событие "юнит приводит способность в действие?". VSCode нифига не выдаёт, чё не пробовал уже. И реально ли в Lua сделать проверку от конкретной способности/проджектайла? Например, <<юнит получил урон - урон нанесён способностью "Волна Силы", тогда делай что-то там, что тебе нужно">>, возможно ли такое?

У меня только common.lua
И близзард lua
Коммон Джей и Коммону Луа ничем не отличаются
Поэтому хватит любого, чтобы смотреть нативки
Если вернуться к сабжу
Например, <<юнит получил урон - урон нанесён способностью "Волна Силы", тогда делай что-то там, что тебе нужно">>, возможно ли такое
Луа тут ничем не поможет опять таки, это делает так же как и на джасе, но с условием и нюансами
  1. Кое как это можно сделать, потому что можно в событии урона прочитать типа урона, и если у юнита нет других способностей с этим типом урона, какой конкретно тип урона у волны силы я не помню, но можно легко определить. И в принципе желаемое сделать возможно, но так делать не надо, правильнее сделать триггерную волну силы
  2. Тогда у нас и в момент попадания можно будет отследить, и длину поменять и изогнуть волну и урон от статов нанести, да что угодно, но опять таки.. это всё делается точно также как и на джасе, новых алгоритмов нет.
Есть новое событие, на юнит получает урон, но тут и оно даже не нужно если урон наносить триггерно
---@param whichUnit unit
---@param target widget
---@param amount real
---@param attack boolean
---@param ranged boolean
---@param attackType attacktype
---@param damageType damagetype
---@param weaponType weapontype
---@return boolean
function UnitDamageTarget(whichUnit, target, amount, attack, ranged, attackType, damageType, weaponType) end    -- (native)
Функция возвращает истину, если урон был нанесён... она же условие она же нанесение урона она же событие
Функция волна сил()
	if UnitDamageTarget(Unit, Enemy, amount, true, false, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL, WEAPON_TYPE_WHOKNOWS) then
		print("УРОН НАНЕСЁН С ПОМОЩЬЮ ВОЛЫ СИЛЫ")
	end
end
Всё куда проще на самом деле
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
14
PT153:
Fly123, так это не офф файлы. Офф файлы в архиве игры или в документах/вар3/жассхелпер.
Понял, нашёл. Их блокнотом открывать?
14
PT153:
Fly123, ну а чём же ещё.
Ну мало-ли. Тут такие сюрпризы случаются, что я бы не удивился, если бы пришлось какую-то ещё утилиту качать для этого.
27
нативка *(native - родной местный) - родная функция для вара
33
У меня только common.lua
И близзард lua
Коммон Джей и Коммону Луа ничем не отличаются
Поэтому хватит любого, чтобы смотреть нативки
Если вернуться к сабжу
Например, <<юнит получил урон - урон нанесён способностью "Волна Силы", тогда делай что-то там, что тебе нужно">>, возможно ли такое
Луа тут ничем не поможет опять таки, это делает так же как и на джасе, но с условием и нюансами
  1. Кое как это можно сделать, потому что можно в событии урона прочитать типа урона, и если у юнита нет других способностей с этим типом урона, какой конкретно тип урона у волны силы я не помню, но можно легко определить. И в принципе желаемое сделать возможно, но так делать не надо, правильнее сделать триггерную волну силы
  2. Тогда у нас и в момент попадания можно будет отследить, и длину поменять и изогнуть волну и урон от статов нанести, да что угодно, но опять таки.. это всё делается точно также как и на джасе, новых алгоритмов нет.
Есть новое событие, на юнит получает урон, но тут и оно даже не нужно если урон наносить триггерно
---@param whichUnit unit
---@param target widget
---@param amount real
---@param attack boolean
---@param ranged boolean
---@param attackType attacktype
---@param damageType damagetype
---@param weaponType weapontype
---@return boolean
function UnitDamageTarget(whichUnit, target, amount, attack, ranged, attackType, damageType, weaponType) end    -- (native)
Функция возвращает истину, если урон был нанесён... она же условие она же нанесение урона она же событие
Функция волна сил()
	if UnitDamageTarget(Unit, Enemy, amount, true, false, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL, WEAPON_TYPE_WHOKNOWS) then
		print("УРОН НАНЕСЁН С ПОМОЩЬЮ ВОЛЫ СИЛЫ")
	end
end
Всё куда проще на самом деле
Принятый ответ
14
Bergi_Bear:
Fly123:
Всё куда проще на самом деле.
Проще, если ты в этом как рыба в воде, а не как варан в супермаркете. Мне нужно время, что это всё обдумать и понять. Спасибо, за твой вариант решения проблемы.
33
Fly123, Чтобы триггерно наносить урон, необходимо перебирать группы, подробнее можно узнать вот тут
28
Функция возвращает истину, если урон был нанесён...
Это не так, функция всегда возвращает истину, независимо от того, нанесён он или нет. По крайней мере так в 1.26. Сомневаюсь, что в рефе иначе.
33
PT153, да возможно я поторопился, с фунцией хотел сократить у меня то там перебор группы луп, проверка кому наносить урон и переброс доп параметров через флаг (кароче своё мудрёная система, в корой кроме меня увы никто не разберётся, поэтому я не стал показывать)
18
Fly123, Есть костыльный вариант. Но на нем нужно,
1 - отказаться от маг.защит, и пилить свою маг защиту
2 - описание урона способностей надо писать ручками
Если такое устраивает, карта прилагается
Загруженные файлы
14
Borodach:
Fly123, Есть костыльный вариант. Но на нем нужно,
1 - отказаться от маг.защит, и пилить свою маг защиту
2 - описание урона способностей надо писать ручками
Если такое устраивает, карта прилагается
Спасибо за труд, но я всё-таки попробую разобраться с Lua))
Ещё раз.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.