Redok
offline
Опыт:
2,249Активность: |
Проблема выполнения
Цитата:
Слушайте в чём проблема, этот код ведёт себя очень странно. Смысл такой, я вызываю юнитов, переменная rasengan_unitspelled выбирает случайного юнита из группы вызывах юнитов, после чего я делаю способность rasengan юнит всё делает правильно, после чего когда они умерают или истекает срок их действия, я вызваю новых юнитов, и делаю опять rasengan, то переменная rasengan_unitspelled выбирает того же мёртвого юнита, а должна выбрать только из живых ! |
|
11.06.2008, 12:33 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
dk
offline
Опыт:
60,293Активность: |
Скорее всего это происходит из-за того что, при стандартных настройках умершие юниты еще какое-то время хранятся в памяти вара и с ними можно производить действия, а выбираешь ты юнитов по типу и никакой проверки на то что юнит живой нет... А выбирается один и тот же мб потому что у тебя в настройках вара фиксированный рандом
Цитата:
Ну и вобще криво написан спелл, такое обилие поледвайтов и бж функции... Цитата:
Насколько я помню, алок нельзя ремувнуть просто так... |
||
11.06.2008, 15:56 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Redok
offline
Опыт:
2,249Активность: |
Я знаю что криво, ведь я в JASS не сильно шарю и не умею оптимезировать. И почему они хранятся, если в конце функции я обнуляю локалки ?
Кстати вот я хочу узнать каким образом удалить aloc ? может это уже оффтоп, но всё таки я уже от безысходности, не знаю что мне с этим делать и решил оставить =) но всё таки всеравно прилдётся решать и эту проблему
Насчёт разных выборов спасиба, а вообще всеравно моя трабла не решилась ! |
11.06.2008, 16:14 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
dk
offline
Опыт:
60,293Активность: |
Цитата:
Этим действием ты выбираешь случайного юнита из всех юнитов на карте типа 'H001'... А умершие юниты некоторое время продолжают находится на карте) А обнуляя локалки юнитов-то ты не удаляешь... Попробуй добавить в карту такой триггер: Код:
Не могу вспомнить нормальный способ удаления умерших юнитов, поэтому попробуй триггером... Отредактировано dk, 13.06.2008 в 11:19. |
|
11.06.2008, 16:25 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Redok
offline
Опыт:
2,249Активность: |
Слушай а может просто Unit – Remove (Dying Unit) добавить в конец моего кода и всё ? ))) только прописать вот так Unit – Remove (rasengan_unitspelled) |
11.06.2008, 16:58 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
dk
offline
Опыт:
60,293Активность: |
Цитата:
Можно наверное, смотря что ты хочешь) При добавлении такого действия у тебя по оканчании действия триггера юнит "rasengan_unitspelled" будет просто исчезать, а значит повторно его триггер уже не выберет Цитата:
Но в этом тебе не поможет... |
||
13.06.2008, 11:20 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|