Не хочет правильно запоминать переменную local location l = GetSpellTargetLoc() . Вместо правильной позиции запоминает центр карты, пересмотрел почти весь код, вроде все нормально, не пойму в чем проблема.

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

Попробуй заменить,
EVENT_PLAYER_UNIT_SPELL_ENDCAST
на
EVENT_PLAYER_UNIT_SPELL_EFFECT
И да, nvc123 прав на счёт координат.
Зачем использовать наркоманский wait, когда можно всё сделать в таймере?
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
9
8 лет назад
Отредактирован Fa1korn
0
Попробуй так,
local location l = location( GetLocationX(GetSpellTargetLoc()), GetLocationY(GetSpellTargetLoc()) )
0
29
8 лет назад
0
Не хочет правильно запоминать переменную local location l = GetSpellTargetLoc() . Вместо правильной позиции запоминает центр карты, пересмотрел почти весь код, вроде все нормально, не пойму в чем проблема.
Причины: У заклинание нет цели, т.е. не указывается точка. Или заклинание может быть нацелено на боевую единицу или предмет или разрушаемое. (Во большинстве случаев возвращает 0.,0. при указании на декорацию или предметы)
Лучше использовать способность на основе канала с параметром цели "боевая единица или точка"
GetSpellTargetLoc - получает току(местоположения) для заклинания.
В центр карты возвращает по умолчанию, если её нет.
Требую изъяснить, для чего используете сие данную переменную и при каких действиях и событиях.
0
28
8 лет назад
0
Fa1korn, это типо быстрый способ забить оперативку?
если да то создать 10000 юнитов циклом будет быстрее
0
29
8 лет назад
Отредактирован Волчачка
0
nvc123:
Fa1korn, это типо быстрый способ забить оперативку?
если да то создать 10000 юнитов циклом будет быстрее
Скорее он не знает о существовании (пр. ниже), али просто троллит.
GetSpellTargetX()
GetSpellTargetY()
0
5
8 лет назад
Отредактирован Megacomp
0
KingMaximax, Способность сделана на основе канал, с параметром точка . Скинул скриншот моего кода.
Загруженные файлы
0
29
8 лет назад
0
Megacomp:
KingMaximax, Способность сделана на основе канал, с параметром точка . Скинул скриншот моего кода.
В вашем много утечек и лишнего мусора. А ещё хотел бы увидеть что в TrigUltra_Conditions и InitTrig_ultra

// Будьте любезны добавить свой код:
// В блоке переменных
local real x = GetSpellTargetX()
local real y = GetSpellTargetY()

// ниже блока
call BJDebugMsg("SX: " + R2SW(x,8,2) + "SY: " +  R2SW(y,8,2) )
call BJDebugMsg("LX: " + R2SW(GetLocationX(l),8,2) + "LY: " + R2SW(GetLocationY(l),8,2) )
Потом покажите результат, выведенный на экране.
0
9
8 лет назад
0
KingMaximax:
GetSpellTargetX()
GetSpellTargetY()
О.о действительно не знал, в jngp почему-то нет этой функции
0
28
8 лет назад
0
Fa1korn, вообще то есть
0
5
8 лет назад
0
Сделал как и сказал, всё осталось по прежнему. С этой переменной local location l = location( GetLocationX(GetSpellTargetLoc()), GetLocationY(GetSpellTargetLoc()) ) выдаёт ошибку, с обычной l location = GetSpellTargetLoc() идёт без ошибок, но область по прежнему не заноситься в переменную. Прилагаю карту с кодом, если не сложно можете указать на мою ошибку и что я делал не так.
Загруженные файлы
0
28
8 лет назад
0
Megacomp, скинь код триггера в текстовый файл и скинь
Megacomp, и попробуй юзать координаты вместо локейшинов
намного удобнее и память не утекает
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.