![]()
nic666
![]() ![]() offline
Опыт:
5,612Активность: |
IssuePointOrder помогите с триггером
В карте см. тут
Искал ошибку 3 дня, вылетает варкрафт с сообщение Access Violation... Ошибка оказалась в строке "call IssuePointOrder( u, "move", nx ,y )" если ее удалить, то нет ошибки... Но это не интересно. Помогите пожалуйста с картой. Идея этого кода в том, что когда вычисляется что эффективность юнита равна нулю, - то юнит убегает на максимальной скорости. Проверяется потенциальный юнит через FIFO буффер-массив с интервалом 0.1 секунды, переполнение массива исключено... Код:
В коде 6911 это границы карты с большим запасом где-то еще на 256 точек... nic666 добавил: В карте Триггер откуда это вызывается называется Bypass nic666 добавил: а первопричина определяется в триггерах DMG to Left и DMG to Right - это атака одного из юнитов |
![]() |
#1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Igores
НИИ 4А-Во! Кафедра Джасс.
![]() offline
Опыт:
5,325Активность: |
Лучше создавай динамический триггер, с событием, где мана меньше 1, нечего грузить карту ненужным таймером. Не понял последнего условия, что оно делает? И сделай его через нативки, а не бж. Походу косяк в последнем условии.
Igores добавил: Для сведения Максимальная скорость 522, у тебя юнит че, всегда по горизонтали убегает?:-) |
![]() |
#2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
PlayerDark
Coraline
![]() ![]() offline
Опыт:
10,569Активность: |
Насколько я понимаю тут все глюки оттого что между отдачей приказа не стоит вейт. |
![]() |
#3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
nic666
![]() ![]() offline
Опыт:
5,612Активность: |
Igores
1. Не смотрели вы карту господин лентяй! Да посмотрите карту - юнит всегда по горизонтали бегает карта 32x128 дорожка там одна... 2. Для функции RAbsBJ нет нативы :) она тут единственная с BJ и это условие не важно... оно означает "когда бежать некуда, то не надо бежать", а надо атаковать пусть даже и не эффективно... 3. Удаление строки "call SetUnitMoveSpeed( u, 500 )" не исправляет проблемы - дело явно не в ней. 4. Зачем создавать динамические триггеры, когда это требуется практически всегда ?....... лучше сделать нормальный статический.... nic666 добавил: PlayerDark Цитата:
Если вас не затрудняет, обясните где именно надо поставить Wait |
|
![]() |
#4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
PlayerDark
Coraline
![]() ![]() offline
Опыт:
10,569Активность: |
nic666 прямо перед IssuePointOrder.
|
![]() |
#5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Igores
НИИ 4А-Во! Кафедра Джасс.
![]() offline
Опыт:
5,325Активность: |
PlayerDark, у меня в карте не стоит никаких вэйтов и всё работает нормально. Автор темы, ну тогда делай статичный триггер. Ту бж функцию можно самому написать, просто делаешь два условия и всё. Фиг знает в чем тут ошибка, вроде всё правильно. Хз, попробуй ставить в качестве координаты точки не нх, а нх-20:-)
|
![]() |
#6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
nic666
![]() ![]() offline
Опыт:
5,612Активность: |
не помогло... но кажется и не должно было... так как и так это не сразу запускается, а через минимум 0.1 секунды после события... |
![]() |
#7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
PlayerDark
Coraline
![]() ![]() offline
Опыт:
10,569Активность: |
Незнаю, тогда проблема не в коде а где то еще. IssuePointOrder часто вызывает вылет игры когда используется. |
![]() |
#8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Igores
НИИ 4А-Во! Кафедра Джасс.
![]() offline
Опыт:
5,325Активность: |
Ну, незнаю, просто у меня в спелле создается больше сотни пустышек, которым я даю приказ бежать в нужную точку, и все работает нормально. Автор, отправь спелл, посмотрю на досуге. |
![]() |
#9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
adic3x
![]() offline
Опыт:
108,439Активность: |
возможен вариант смерти в потоке другом - тригеры зарегестрированные на приказа получение событие есть ли у вас? |
![]() |
#10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
nic666
![]() ![]() offline
Опыт:
5,612Активность: |
ADOLF
В первом посте ссылка на карту. Там есть триггеры на событие "юнит атакован". И именно в таком событии и вычисляется дамаж и наносится триггером, а если дамаж=0 то значит юнит должен бросать атаку и бежать... если непосредственно в этом триггере поставить вызов функции - то юнит не реагирует... Приходится разделять и в другом триге это делать, а в другом - ошибка вылетает. Не сразу а минут через 5-7... |
![]() |
#11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
adic3x
![]() offline
Опыт:
108,439Активность: |
ну анивей возможности тестить карту у меня нету, так что хз, я лишь сделал предположение |
![]() |
#12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|