[Вопрос] Краш цикла
|
|
Melodia | Дата: Воскресенье, 15 Декабря 2013, 13:31:31 | Сообщение # 1 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
| Сел на днях редачить свою АОС-ку и у меня начал портачить триггер пмка героев. Вроде бы ничего не затрагивал связанное с ним, но из-за вот ЭТОЙ(выделено красным) секции цикл выполняется лишь 1 раз а не 10. В чём дело - хз. Промучался с проверкой часа три наверное, потом плюнул на всё и просто перенес данные объектов на копию и триггеры нове скопировал в копию. Естесственно, всё работает. Но всё же интересно, с какой радости вдруг этот триг перестал пахать? Его действия я и в другое место выносил, но всё равно только 1 раз цикл прочесывался вместо 10, я даже пробовал ставить от 1 до 5+5 хДДД
Если отключить красную область - цикл прогоняется положенные 10 раз. Что за чертовщина? Причем, повторяю, в копии всё работает исправно.
Сообщение отредактировал Melodia - Воскресенье, 15 Декабря 2013, 13:32:56 |
|
|
|
Borodach | Дата: Воскресенье, 15 Декабря 2013, 18:30:38 | Сообщение # 2 |
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
| Melodia, попробуй изменить цыкл Integer A, на свой Integer
Karamba
|
|
|
|
Melodia | Дата: Воскресенье, 15 Декабря 2013, 18:59:15 | Сообщение # 3 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
| Borodach, окей
Добавлено (15 Декабря 2013, 18:59:15) --------------------------------------------- Невероятно, но факт. Вроде замена локальной А на любую свою переменную в чём то другом помогать должно же? Ток не помню в чем, ы.
Превратил ГУИ в текст и заменил интеджер а на глобалку теперь пашет. Однако - в чём проблема этих ашек бешек? В принципе я то на копии продолжаю делать-то, просто любопытно - почему ни с того ни ссего триггер самозапоролся?
Сообщение отредактировал Melodia - Воскресенье, 15 Декабря 2013, 19:04:14 |
|
|
|
Borodach | Дата: Воскресенье, 15 Декабря 2013, 19:50:40 | Сообщение # 4 |
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
| Melodia, Вполне возможно что месте с этим цыклом запускался еще один с переменной Integer A, и перебивали друг друга
Karamba
|
|
|
|
Melodia | Дата: Воскресенье, 15 Декабря 2013, 20:10:35 | Сообщение # 5 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
| Borodach, ну дык у меня довольно-таки много таких триггеров О_о я конечно всегда старался, чтобы периоды в триггерах были такие, чтобы не совпадало время их срабатывания(не помню почему), но их там ммммммм много вообщем, вроде не глюкают. А мб мне кажется, что не глюкают...
|
|
|
|
Borodach | Дата: Понедельник, 16 Декабря 2013, 14:36:59 | Сообщение # 6 |
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
| Melodia, Их совпадение маловероятное, они работают мгновенно. Но если цыкл А в цыкле А, то это будет такая билибирда, ну или цыкл с вейтом
Karamba
|
|
|
|
SirNikolas | Дата: Понедельник, 16 Декабря 2013, 14:38:27 | Сообщение # 7 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Цитата Melodia ( ) чтобы не совпадало время их срабатывания И еще раз: в war3 НЕТ многопоточности. Один триггер может прервать работу другого только в результате реакции на событие, которое тот вызвал (простейший пример - нанесение урона: всем известен случай, когда триггер запускает сам себя, уходя в бесконечную рекурсию). Либо тот другой вызывает wait.
|
|
|
|
Melodia | Дата: Понедельник, 16 Декабря 2013, 15:10:20 | Сообщение # 8 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
| Цитата Borodach ( ) Но если цыкл А в цыкле А, то это будет такая билибирда, ну или цыкл с вейтом Ну до такого у меня, слава прокурору, ни разу ума не хватало. Хотя не, вейты пробовал, но потом понял, что если в сумме вейт будет дольше секунды - там всё поломается, ОДНАКО - в Экономке у мну фишки двигаются как раз-таки циклом с вейтом, противоречие моим же словам - там можно двинуться и на 30 клеток с вейтом 0.00(0.10), что в сумме дольше секунды. SirNikolas, эмм, не совсем догоняю, но у меня в кратком виде вот что: в начале игры юниты распихиваются по группам (для разных модов). После настроек запускается триг Setup all, где после определенных действий следует вейт 3 сек и запускается вот этот триг Pick. потом снова вейт в сетапе пару сек и дальше пляшется. Ну вот. Оно вседа работало, а вот ситуация, что вдруг перестало пахать, хоть я и не вмешивал ничего по типу периодических триггеров с циклом, которые бы выполнялись до пика героев, хоп - 1 раз только стало прогоняться, для красного игрока. остал копию, копирнул на неё все изменения - пашет, а в "оригинале" - не пашет. Че за чудеса
|
|
|
|
Extremator | Дата: Понедельник, 16 Декабря 2013, 17:36:28 | Сообщение # 9 |
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
| Цитата Melodia ( ) Вроде замена локальной А на любую свою переменную Базовые "Integer A/B" не являются локальными...
|
|
|
|
Melodia | Дата: Понедельник, 16 Декабря 2013, 18:14:03 | Сообщение # 10 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
| Цитата Extremator ( ) Базовые "Integer A/B" не являются локальными ну теперь понятно
Добавлено (16 Декабря 2013, 18:14:03) --------------------------------------------- ну вообщем - опять-таки - в чём абсурд, абсурд в том, что если я пытаюсь приравнять Unit[A] хоть к чему-то(даже если отключить красную область и написать действие "создать пехотинца") - то цикл будет 1 раз делаться. Такая вот канитель.
Сообщение отредактировал Melodia - Понедельник, 16 Декабря 2013, 18:14:20 |
|
|
|
Borodach | Дата: Вторник, 17 Декабря 2013, 14:30:36 | Сообщение # 11 |
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
| Скинуть триггер можешь?
Karamba
|
|
|
|
Melodia | Дата: Вторник, 17 Декабря 2013, 15:12:36 | Сообщение # 12 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
| Borodach, Вот
|
|
|
|
Borodach | Дата: Вторник, 17 Декабря 2013, 18:08:28 | Сообщение # 13 |
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
| Что за "триггер хаос" ??? попытки понять все это провалились... Можно было попробовать найти ошибку выводом сообщения, но там триггер обрезан
Karamba
|
|
|
|
Melodia | Дата: Вторник, 17 Декабря 2013, 18:21:14 | Сообщение # 14 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
| Borodach, триггер не обрезан, просто без данных об объекте он негоден. Цитата Borodach ( ) попытки понять все это провалились... А чего непонятного? О_о Мне вот наоборот в каше джасса разобраться трудно, сколько не пытался номера Киллов смертей ассистов у Карабаса понять - так и не врубился в его систему. Сделал свою. +бесит что просто так не скопируешь пачку дейстаий и не отображает сразу, где используется удаляемая переменная.
я даже больше скажу - очень короткий триг, раньше он выглядел ваще адски. Что в нем происходит(Сверху вниз):
От 1 до 10 если игрок играет то сделать 11 или 12 игрока союзниками с ним
Далее идет красная секция - в зависимости от мода выбирается группа, из которой будет выбран случайный юнит и задан как Unit[integer A]
Далее - присваиваем имя игрока, даем свиток тп, устанавливаем "последнее хп" как 1000 - для "камбеков" надо, "Почти пропал". Добавляем в выбор, устанавливаем точку героя, включаем триггер движения точек. Подводим камеру.
Если это тип героя ХХХ то создать специальный юнит нужный.
Если это компьютер - учим ему приоритетные скиллы
Цикл заканчивается Убираются юниты группы 1 - в ней находятся ВСЕ герои, таким образом группы всех модов чисты. Разрушаем все остальные группы модов.
Вот и всё, что сложного?)
|
|
|
|
Bibo | Дата: Вторник, 17 Декабря 2013, 18:41:39 | Сообщение # 15 |
Группа: Проверенные
Сообщений: 741
Награды: 0
Блокировки:
| Я уже третий день залипаю на этом скриншоте и я не перестаю верить в свою победу. А тем временем, о чем карта?
|
|
|
|
Melodia | Дата: Вторник, 17 Декабря 2013, 18:52:20 | Сообщение # 16 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
| Bibo, Цитата Melodia ( ) Сел на днях редачить свою АОС-ку Добавлено (17 Декабря 2013, 18:52:20) --------------------------------------------- Вооот ета мапа
|
|
|
|
Bibo | Дата: Вторник, 17 Декабря 2013, 18:55:14 | Сообщение # 17 |
Группа: Проверенные
Сообщений: 741
Награды: 0
Блокировки:
| Твердо могу сказать только одно, нужно продолжать переосмысливать триггер, такое огромное количество действий и условий в пределах одного цикла, это как минимум вульгарно, ну и как следствие вырвиглаз.
|
|
|
|
Melodia | Дата: Вторник, 17 Декабря 2013, 19:01:38 | Сообщение # 18 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
| Bibo, то есть по твоему ЭТО - много?)))) хДДД Добавлено (17 Декабря 2013, 19:01:38) --------------------------------------------- хочешь я тебе скину цикл с Bejeweled ? Ты же точно повесишься. Кстати, Биджуелд содержит всего 12 триггеров, причем не слишком больших, несмотря на адский объём заковырок.
|
|
|
|
Bibo | Дата: Вторник, 17 Декабря 2013, 19:12:11 | Сообщение # 19 |
Группа: Проверенные
Сообщений: 741
Награды: 0
Блокировки:
| Да, по моему это очень много, а то что бесконечность не предел, я и на своем опыте убедился.
|
|
|
|
Melodia | Дата: Вторник, 17 Декабря 2013, 19:16:30 | Сообщение # 20 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
| вообще-то больше 900 с чем-то итераций за 1 хап ты не сделаешь. Поэтому части триггера там отделены вейтом 0.00 сек.
То есть, цикл от 1 жо 13 ---------------цикл от 1 жо 53 -----------------------------цикл от 1 жо 25 В любом случае до конца не доделается, т.к. общее количество действий уже больше 900 с копецками. Мб на джассе это как-то обходят... А мультиборд для справки ещё меньше действий в цикле позволяет выполнить.
|
|
|
|
Bibo | Дата: Вторник, 17 Декабря 2013, 19:37:19 | Сообщение # 21 |
Группа: Проверенные
Сообщений: 741
Награды: 0
Блокировки:
| А стоило ли делать эту ремарку на цитату Базза Лайтера? В общем, я в себя если что-то, я все равно думаю, что какие-то может быть что-то.
|
|
|
|
Melodia | Дата: Вторник, 17 Декабря 2013, 19:46:41 | Сообщение # 22 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
| Цитата Bibo ( ) А стоило ли делать эту ремарку на цитату Базза Лайтера? В общем, я в себя если что-то, я все равно думаю, что какие-то может быть что-то. http://www.youtube.com/watch?v....a7zpVIAДобавлено (17 Декабря 2013, 19:46:41) --------------------------------------------- даже вот
|
|
|
|