А точнее, как определить, был целью юнит, или целью была точка?

всё нормально работает на гуи
+ автор не предоставил пруфф
вывод
автор - троль
или не может сделать условие юнит цель==нет юнита
`
ОЖИДАНИЕ РЕКЛАМЫ...
4
установить переменную юнит-цель способности и проверить, пустая она или нет. пустая - цель точка, не пустая - цель юнит
19
SamuraiKing:
установить переменную юнит-цель способности и проверить, пустая она или нет. пустая - цель точка, не пустая - цель юнит
Так и сделал, не работает условие цели-точки. То есть, я пробовал "если равно нет б.е. = делать действия, иначе = делать действия", потом добавил в иначе условия "не равно нет б.е.", но все равно, срабатывало только на юнита. Я попробовал поменять ифы местами, чтоб начинало с "нет б.е.", все так же.
7
Darknessay, Просто пред ответ не истина верный
Darknessay, Тебе за основу надо взять способность Канал сделать на 2 типа Точка и Цель . Затем в триггере сделать 2 переменных одна location вторая unit
и присвоить им такие значение
local location P = GetSpellTargetLoc()
local unit U = GetspellTargenUnit()
потом обработать через условие иф
if (P!=null) then
наши действия
elseif (U != null)
наши действия на юнита
endif
19
Sergey105:
Darknessay, Просто пред ответ не истина верный
Darknessay, Тебе за основу надо взять способность Канал сделать на 2 типа Точка и Цель . Затем в триггере сделать 2 переменных одна location вторая unit
и присвоить им такие значение
local location P = GetSpellTargetLoc()
local unit U = GetspellTargenUnit()
потом обработать через условие иф
if (P!=null) then
наши действия
elseif (U != null)
наши действия на юнита
endif
Боже, какой ты умный. А то я сразу так не сделал. Еще написал короче типа функции кода, будто совсем крутыш, ппц.
Его ответ был точно таким же, только проверка не поинта а юнита. Я пробовал оба варианта.
7
Вот Darknessay, Вот тебе рабочий вариант
local unit U = GetSpellTargetUnit()
local location P=null
set P = GetSpellTargetLoc()
if (U!=null) then
call BJDebugMsg("U")
elseif (P != null) 
call BJDebugMsg("P")
endif
4
Sergey105:
local location P = GetSpellTargetLoc()
local unit U = GetspellTargenUnit()
потом обработать через условие иф
if (P!=null) then
наши действия
elseif (U != null)
наши действия на юнита
endif
думаю можно просто так сделать
if U == null then
действия на точку
else
действия на юнита
endif
ведь если цель не юнит, то это может быть только точкой и 2 проверка не нужна
19
SamuraiKing:
Sergey105:
local location P = GetSpellTargetLoc()
local unit U = GetspellTargenUnit()
потом обработать через условие иф
if (P!=null) then
наши действия
elseif (U != null)
наши действия на юнита
endif
думаю можно просто так сделать
if U == null then
действия на точку
else
действия на юнита
endif
ведь если цель не юнит, то это может быть только точкой и 2 проверка не нужна
просто протестите это все на гуи, не работает такое условие.
20
конвертни в джасс и залей что получится.
Просто не ризон открывать редактор чтобы тыкать кнопки в GUI
7
Нафиг тебе гуи это
жасс используй
Darknessay, Используй этот вариант
local unit U = GetSpellTargetUnit()
local location P=null
set P = GetSpellTargetLoc()
if (U!=null) then
call BJDebugMsg("U")
elseif (P != null) 
call BJDebugMsg("P")
endif
4
Darknessay:
просто протестите это все на гуи, не работает такое условие.
все работает
Загруженные файлы
7
SamuraiKing, Я же точку добавлял для того что ему же думаю надо не просто узнать точка или юнит это а что то делать с этим например если юнит то лупим по нему а если точка лупим по области
4
Sergey105:
лучше через координаты это всё делать если джасс юзать )
20
SamuraiKing:
Sergey105:
лучше через координаты это всё делать если джасс юзать )
Как бы и через гуи лучше координаты юзать. :D
26
[JASS]
if GetSpellTargetUnit() == null then
	// в точку
else
	// в юнита
endif
[GUI]
Если ( (юнит-цель способности) равно (Нет боевой единицы) ) то
в точку
Иначе
в юнита
3 комментария удалено
30
Могу быть не прав, конечно, но предполагаю, что каст в юнита и каст в точку срабатывают на разные события, а значит, можно прямо из этих событий и сообщать тип цели.
2
Clamp:
Могу быть не прав, конечно, но предполагаю, что каст в юнита и каст в точку срабатывают на разные события, а значит, можно прямо из этих событий и сообщать тип цели.
"Проводит способность в действие"
28
всё нормально работает на гуи
+ автор не предоставил пруфф
вывод
автор - троль
или не может сделать условие юнит цель==нет юнита
Принятый ответ
19
nvc123:
всё нормально работает на гуи
+ автор не предоставил пруфф
вывод
автор - троль
или не может сделать условие юнит цель==нет юнита
Проверяй, способность Обито
Загруженные файлы
28
Darknessay, карта битая
или используются левые модификаторы
ибо в джнгп и обычном редакторе не открывается
сделай на отдельной карте отдельную способность на основе канала в которой если цель юнит то пишет в чат unit а если точка то loc
и используй обычный редактор или днгп
и вот если всё будет сделано так как писали выше и всеравно не будет работать то я тебе поверю
но это невозможно ибо я только что проверил и всё нормально работает
Чтобы оставить комментарий, пожалуйста, войдите на сайт.