Значит вот кусок кода на lua
function InitSpellTrigger()

	local SpellTrigger = CreateTrigger()

	for i = 0, bj_MAX_PLAYER_SLOTS - 1 do
		local player = Player(i)

		TriggerRegisterPlayerUnitEvent(SpellTrigger, player, EVENT_PLAYER_UNIT_SPELL_ENDCAST)

	end
	TriggerAddAction(SpellTrigger, function()

		local caster           = GetTriggerUnit()
		local target=GetSpellTargetUnit()-------не могу определить
		local casterX, casterY = GetUnitX(caster), GetUnitY(caster)
		local spellId          = GetSpellAbilityId()
		local ownplayer=GetOwningPlayer(caster)
		local new


		print(GetUnitName(target).."цель каста невозможно узнать")
		.
		.
		.
		.
		
Я просто не понимаю, я могу получать цель каста, тот же кусочек кода на ГУИ прекрасно работает
ЧЯДНТ
Другого кода с событиями каста нет
Проверил всё что только мог, задебажил что угодно
вчера 3 часа, сегодня 4, видимо уже замылилась проблема, и я не вижу самого очевидного

Принятый ответ

Я просто не понимаю, я могу получать цель каста, тот же кусочек кода на ГУИ прекрасно работает
Не ври, на гуи у тебя EVENT_PLAYER_UNIT_SPELL_CAST, а в lua EVENT_PLAYER_UNIT_SPELL_ENDCAST. Это древний баг, нужно при EVENT_PLAYER_UNIT_SPELL_EFFECT сохранять цель и читать/обнулять её при EVENT_PLAYER_UNIT_SPELL_ENDCAST.
`
ОЖИДАНИЕ РЕКЛАМЫ...
1
24
4 года назад
1
EVENT_PLAYER_UNIT_SPELL_ENDCAST и begins casting an ability это разные события...
3
29
4 года назад
3
Я просто не понимаю, я могу получать цель каста, тот же кусочек кода на ГУИ прекрасно работает
Не ври, на гуи у тебя EVENT_PLAYER_UNIT_SPELL_CAST, а в lua EVENT_PLAYER_UNIT_SPELL_ENDCAST. Это древний баг, нужно при EVENT_PLAYER_UNIT_SPELL_EFFECT сохранять цель и читать/обнулять её при EVENT_PLAYER_UNIT_SPELL_ENDCAST.
Принятый ответ
1
26
4 года назад
1
как бы это не баг, просто по логике ивент то "юнит завершает каст", откуда здесь цель?
0
32
4 года назад
0
NazarPunk, ясно спасибо.. чё-то так и думал, просто я не могу конвертить же в луа режиме, на код, чтобы узнать что там написано

Так мне нужно было одно единственное событие - приводит способность в действие
3
29
4 года назад
Отредактирован nazarpunk
3
как бы это не баг, просто по логике ивент то "юнит завершает каст", откуда здесь цель?
По той же логике "юнит применяет каст", откуда здесь цель?
просто я не могу конвертить же в луа режиме, на код, чтобы узнать что там написано
Я многое по памяти делаю, а в особо запущенных случаях просто сохраняю карту в редакторе и смотрю war3map.lua, там где стрелочка будут гуи триггеры)
Загруженные файлы
0
32
4 года назад
0
там где стрелочка будут гуи триггеры)
Спасибо больше, теперь буду знать (знал бы раньше, вопроса бы не было этого)
0
26
4 года назад
0
По той же логике "юнит применяет каст", откуда здесь цель?
применять каст можно на кого то, на кого ты завершаешь каст?
3
28
4 года назад
3
Hate, "по логике" цель есть только тогда, когда с ней производятся действия, то есть только в EFFECT событии. А по факту не должно быть проблем выяснить цель в событии FINISH и ENDCAST, потому что юнит не может начать новый каст, пока не завершиться старый (Если в EFFECT отдать новый приказ, то выполнится ENDCAST и уже после этого начнётся новый каст).
Но из-за того что в целом нативки для каста не доделаны и забагованы, этого цель каста в событиях FINISH и ENDCAST нельзя.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.