каждую 0.01 секунду меняю высоту юнита, но иногда когда два юнита юзают для одного высота не поднимается что делать?

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


все еще не решил, а где Назарпанк он вроде про вот такие моменты исчезает))

пробовал даже через GetLocationZ(loc) но один и тот же баг!!

решил через группы спасибо!!
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
21
4 года назад
Отредактирован biridius
0
названия переменных для роботов что-ли, что за жесть?
выводи дебагом значение счетчика мб, по одному скрину не понятно
последние 3 строки в цикле вообще какой-то бред, зачем по сто раз их перезаписывать?
0
7
4 года назад
0
biridius:
названия переменных для роботов что-ли, что за жесть?
выводи дебагом значение счетчика мб, по одному скрину не понятно
последние 3 строки в цикле вообще какой-то бред, зачем по сто раз их перезаписывать?
посмотри видео и там поймешь в чем баг наверное у каждого оно было
0
21
4 года назад
Отредактирован biridius
0
сори у меня инет 10кб/с
дай норм скрин триггера который добавляет записи юнитов и пр в массив и увеличивает счетчик записей, ятп это DI[0]
все равно всегда стоит сперва использовать дебаг - выводить текстом сообщения во время игры, например того же Дио
скорее всего проблема именно со счетчиком юнитов и тем как они добавляются в массивы (при касте спелла?), тк на этом одном скрине кроме бесполезных лишних строк все вроде нормально
0
7
4 года назад
Отредактирован Ельнур
0
biridius:
сори у меня инет 10кб/с
дай норм скрин триггера который добавляет записи юнитов и пр в массив и увеличивает счетчик записей, ятп это DI[0]
все равно всегда стоит сперва использовать дебаг - выводить текстом сообщения во время игры, например того же Дио
biridius:
названия переменных для роботов что-ли, что за жесть?
выводи дебагом значение счетчика мб, по одному скрину не понятно
последние 3 строки в цикле вообще какой-то бред, зачем по сто раз их перезаписывать?
код нормально работает но проблема в высоте когда два или три юнита применяют способность высота для двоих не поднимается а только для одного поднимается

щяс кину фулл скрины
0
21
4 года назад
Отредактирован biridius
0
подозреваю еще что массив скорости по высоте FlyD не инициализирован, и поэтому код обрывается при счетчике больше 1
нужно чтобы при добавлении юнита в массивы ему скорость давалась как ноль или любое другое число
0
21
4 года назад
Отредактирован biridius
0
вобщем ятп триггер который запускает юнитов называется GrimjowMui
FlyD[DI[0]] значение задается в нем? если нет то выполнение цикла который по таймеру будет обрываться
0
7
4 года назад
Отредактирован Ельнур
0
biridius:
вобщем ятп триггер который запускает юнитов называется GrimjowMui
FlyD[DI[0]] значение задается в нем? если нет то выполнение цикла который по таймеру будет обрываться
нет, поставить ноль?
3
26
4 года назад
3
Кароче - так делать нельзя.
И давай переменным вменяемые имена.
0
21
4 года назад
Отредактирован biridius
0
Ельнур, Да, поставь ноль, иначе прибавлять 7 не к чему
если юниты должны лететь по параболе, то поставь число вроде 2000 и не прибавляй, а вычитай 7 (пока скорость больше нуля юнит набирает высоту, затем падает когда из-за вычитания гравитации она становится отрицательной)
реально конфузят имена переменных, FlyD это высота а Fly35 скорость; ускорения там нету
0
7
4 года назад
0
biridius:
Ельнур, Да, поставь ноль, иначе прибавлять 7 не к чему
если юниты должны лететь по параболе, то поставь число вроде 2000 и не прибавляй, а вычитай 7 (пока скорость больше нуля юнит набирает высоту, затем падает)
поставил ноль все правильно работает но потом оно багается и высота вообще для всех не поднимается
0
21
4 года назад
Отредактирован biridius
0
Ельнур, я думаю записи из массива не убираются, их становится слишком много и движок не справляется
Просто увеличивать счетчик недостаточно, надо при гибели/приземлении юнита заменять его на последний в массиве (и все его данные тоже) и уменьшать счетчик на 1
Если не заменять на последний юнит при гибели а только уменьшать счетчик, то более новые юниты будут зависать в воздухе при гибели остальных.
0
7
4 года назад
0
biridius:
Ельнур, я думаю записи из массива не убираются, их становится слишком много и движок не справляется
просто увеличивать счетчик недостаточно, надо при гибели/приземлении юнита заменять его на последний в массиве (и все его данные тоже) и уменьшать счетчик на 1
при приземлении когда я выставлял счетчик -1 из за быстрости(0.01 сек) он багался поэтому при приземлении создал даммика который имеет таймер 0.50 сек и когда этот даммик умирает то счетчик становится -1
0
21
4 года назад
Отредактирован biridius
0
там в этих японских названиях триггеров и дио с джотаро черт ногу сломит
У тебя там где счетчик уменьшается, все переменные умирающего заменяются на последний юнит в массиве или нет?
Если нет то до них счетчик просто не будет доходить тк они идут после уменьшившегося максимального значения для цикла.
0
7
4 года назад
0
biridius:
там в этих японских названиях триггеров и дио с джотаро черт ногу сломит
У тебя там где счетчик уменьшается, все переменные умирающего заменяются на последний юнит в массиве или нет?
Если нет то до них счетчик просто не будет доходить тк они идут после уменьшившегося максимального значения для цикла.
там ничего нет) только счетчик
Загруженные файлы
0
21
4 года назад
Отредактирован biridius
0
Ельнур, вот, сделай чтобы подмена была
тип перед уменьшением
FlyD[умирающего] = FlyD[DI[0]]
и тд
а то ты дио уменьшил например с 3 до 2, а юнит который записан на номер три остается висеть в воздухе тк до него цикл больше не будет доходить, ведь он теперь проходит не от 1 до 3, а от 1 до 2
и не нужно везде всю арифметику делать через DDD1, что мешает просто вычесть 1?
0
7
4 года назад
0
biridius:
Ельнур, вот, сделай чтобы подмена была
тип перед уменьшением
FlyD[умирающего] = FlyD[DI[0]]
и тд
а то ты дио уменьшил например с 3 до 2, а юнит который записан на номер три остается висеть в воздухе тк до него цикл больше не будет доходить, ведь он теперь проходит не от 1 до 3, а от 1 до 2я я
ну я специально при приземлении поставил даммика с 0.50 сек чтобы за эти секунд все прыгнувшие(0.01 сек) скорость 3500 успели за эти 0.50 сек прыгнуть до точки каста и когда умирает даммик делать счетчик - 1
ну
0
21
4 года назад
Отредактирован biridius
0
вобщем извращение какое-то получается
все надо переписывать по-человечески
а то только костыль на костыле
сделай нормальные имена переменных и массивы с заменой
потом добавь вывод сообщений что там происходит у дио и у флайДи
0
7
4 года назад
0
biridius:
вобщем извращение какое-то получается
все надо переписывать по-человечески
а то только костыль на костыле
сделай нормальные имена переменных и массивы с заменой
потом добавь вывод сообщений что там происходит у дио и у флайДи
у флайди когда он меньше -4000 то высота багается
а если больше доходит больше -4000 то норм
0
21
4 года назад
Отредактирован biridius
0
а зачем он вообще -4000? у тебя же высота юнита задается на это значение, как у юнита может быть высота минус четыре тыщи? уровень земли ноль плюс-минус 256
0
7
4 года назад
0
biridius:
а зачем он вообще -4000? у тебя же высота юнита задается на это значение, как у юнита может быть высота минус четыре тыщи? уровень земли ноль плюс-минус 256
это переменная fly d

biridius:
а зачем он вообще -4000? у тебя же высота юнита задается на это значение, как у юнита может быть высота минус четыре тыщи? уровень земли ноль плюс-минус 256
кстати у тебя какой патч? если скину карту сделаешь фастом?


он для патча 1.31 и выше
Загруженные файлы
0
21
4 года назад
Отредактирован biridius
0
сори у меня 1.26
флай ди у тебя как раз и написан же в кастом скрипте где задается высота юнита DC
с такими именами переменных легко запутаться, стоит все переделать
0
7
4 года назад
0

все еще не решил, а где Назарпанк он вроде про вот такие моменты исчезает))

пробовал даже через GetLocationZ(loc) но один и тот же баг!!

решил через группы спасибо!!
Загруженные файлы
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.