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

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