Почему не срабатывают включенные изначально триггеры
|
|
Overkills | Дата: Воскресенье, 22 Июня 2014, 20:31:50 | Сообщение # 26 |
Группа: Проверенные
Сообщений: 1785
Награды: 0
Репутация: 880
Блокировки:
| Цитата Bibo ( ) Кроме него. Перед ним придется раскошелиться. Это как воспринимать?...
Или ты совсем отбитый? А то я в последнее время так и думаю о тебе.
|
|
|
|
Bibo | Дата: Воскресенье, 22 Июня 2014, 21:36:08 | Сообщение # 27 |
Группа: Проверенные
Сообщений: 741
Награды: 0
Блокировки:
| Думай, тебе полезно.
|
|
|
|
GoJustGo | Дата: Понедельник, 23 Июня 2014, 16:29:59 | Сообщение # 28 |
4 уровень
Группа: Пользователи
Сообщений: 87
Награды: 0
Репутация: 12
Блокировки:
| SirNikolas, http://rghost.ru/56532892 вот пример.
а сейчас я удалил 2 пачки триггеров и те триггеры которые не работали(самые последние созданные) начали работать. наверно все же есть лимит на количество триггеров.
|
|
|
|
SirNikolas | Дата: Понедельник, 23 Июня 2014, 16:38:29 | Сообщение # 29 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Цитата GoJustGo ( ) наверно все же есть лимит на количество триггеров. Нет!Цитата SirNikolas ( ) 60-36350-13#1663582 Добавлено (21 Июня 2014, 12:49:17) --------------------------------------------- Объяснение - слишком много действий выполняется при инициализации в main-потоке. Инит. триггеры на это не влияют (они запускаются в отдельных потоках), влияет на это огромное количество триггеров и переменных (возможно, массивов с дофига большой размерностью).
|
|
|
|
GoJustGo | Дата: Понедельник, 23 Июня 2014, 16:53:21 | Сообщение # 30 |
4 уровень
Группа: Пользователи
Сообщений: 87
Награды: 0
Репутация: 12
Блокировки:
| SirNikolas, скажи что нужно сделать Добавлено (23 Июня 2014, 16:42:09) --------------------------------------------- SirNikolas, что за main поток Добавлено (23 Июня 2014, 16:53:21) --------------------------------------------- тоесть сделать POINT последний не 481 а 400, POSL_UNIT не 557 а 470, Group(группы) не 177 а 150, YReal(реальную) не 361 а 300. так?
|
|
|
|
abidin | Дата: Понедельник, 23 Июня 2014, 17:09:29 | Сообщение # 31 |
7 уровень
Группа: Проверенные
Сообщений: 330
Награды: 0
Репутация: 305
Блокировки:
| GoJustGo, Цитата GoJustGo ( ) что за main поток http://xgm.guru/p/wc3/code-flow-and-data-access-threadДобавлено (23 Июня 2014, 17:09:29) --------------------------------------------- попробуй не нагружать этот main поток
|
|
|
|
GoJustGo | Дата: Понедельник, 23 Июня 2014, 17:26:31 | Сообщение # 32 |
4 уровень
Группа: Пользователи
Сообщений: 87
Награды: 0
Репутация: 12
Блокировки:
| abidin, ,благодарю. ща почитаю. я просто самоучка почти на 100%. Добавлено (23 Июня 2014, 17:26:31) --------------------------------------------- я не совсем понял. но думаю что слишком много действий при загрузке.
и что делать? кто тут профи подсказывайте.
|
|
|
|
abidin | Дата: Понедельник, 23 Июня 2014, 17:28:12 | Сообщение # 33 |
7 уровень
Группа: Проверенные
Сообщений: 330
Награды: 0
Репутация: 305
Блокировки:
| GoJustGo, сможешь эти действия делать не при загрузке? Может у тебя получится их запустить например через 10 секунд. Также желательно создать новую переменную массив
|
|
|
|
SirNikolas | Дата: Понедельник, 23 Июня 2014, 17:52:36 | Сообщение # 34 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Цитата GoJustGo ( ) тоесть сделать POINT последний не 481 а 400, POSL_UNIT не 557 а 470, Group(группы) не 177 а 150, YReal(реальную) не 361 а 300. Скажи, зачем тебе 400 групп? Судя по тому, что ты так просто согласился пожертвовать 27, подозреваю, что ты не используешь ни одну из них.
Пояснение: "размер" массива, который указывается в Редакторе Переменных - это индекс последнего элемента, которому будет присвоено начальное значение. Ты в любом случае сможешь обращаться к элементам с 0 по 8191 в любом массиве. То есть ты при старте создаешь 150 объектов типа группа. Подумай, пользуешься ли ты именно этими, созданными при ините, или же все-таки потом создаешь новые на их месте? Если второе, то тебе не нужно создавать ни одну из них.
P. S. Выше написанное (про создание объектов) относится только к следующим типам переменных: диалог, клан (группа игроков), таймер, отряд (группа).
P. P. S. Кроме того, количество триггеров косвенно влияет на проблему. Попытайся их уменьшить (объединить). Я знал людей, которые делали по триггеру на каждый уровень спелла или сборный предмет.
Добавлено (23 Июня 2014, 17:52:36) --------------------------------------------- Цитата abidin ( ) сможешь эти действия делать не при загрузке? Как я уже говорил,Цитата SirNikolas ( ) Цитата SirNikolas ( ) Инит. триггеры на это не влияют (они запускаются в отдельных потоках) Если действия, которые выполняются триггерами инициализации, перенести куда-нибудь еще, ничего не изменится.
|
|
|
|
GoJustGo | Дата: Понедельник, 23 Июня 2014, 20:49:54 | Сообщение # 35 |
4 уровень
Группа: Пользователи
Сообщений: 87
Награды: 0
Репутация: 12
Блокировки:
| Цитата SirNikolas ( ) Скажи, зачем тебе 400 групп?
что значит 400 групп?
Цитата SirNikolas ( ) Судя по тому, что ты так просто согласился пожертвовать 27, подозреваю, что ты не используешь ни одну из них.
что значит пожертвовать? я их использую абсолютно все с Group[0] до Group [177].точно также с юнитами и точками. они используются все.
Цитата SirNikolas ( ) То есть ты при старте создаешь 150 объектов типа группа. Подумай, пользуешься ли ты именно этими, созданными при ините, или же все-таки потом создаешь новые на их месте? Если второе, то тебе не нужно создавать ни одну из них.
я создаю группу в самом триггере. например: событие - приводит скил. условие - катон. дейтсвие включить триггер 2. действие во 2 триггере - установить группу [177], выбрать ее и наносить урон. поэтому я не понял про что ты имеешь ввиду. прошу пояснить.
а так спс за помощь. и прошу сделать код безопасности правильно. я ввожу все как на картинке но принимает с раза 20. или у меня у одного так?
|
|
|
|
abidin | Дата: Понедельник, 23 Июня 2014, 21:44:30 | Сообщение # 36 |
7 уровень
Группа: Проверенные
Сообщений: 330
Награды: 0
Репутация: 305
Блокировки:
| Цитата GoJustGo ( ) я создаю группу в самом триггере. например: событие - приводит скил. условие - катон. дейтсвие включить триггер 2. действие во 2 триггере - установить группу [177], выбрать ее и наносить урон. поэтому я не понял про что ты имеешь ввиду. прошу пояснить. значит ты можешь заносить в переменную в этом триггере а не при инициализации
|
|
|
|
SirNikolas | Дата: Понедельник, 23 Июня 2014, 21:48:04 | Сообщение # 37 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Цитата GoJustGo ( ) я создаю группу в самом триггере. Вот! Значит, при старте ее создавать не нужно, и число, помеченное как "размер массива", можно смело ставить в единицу.Цитата SirNikolas ( ) Пояснение: "размер" массива, который указывается в Редакторе Переменных - это индекс последнего элемента, которому будет присвоено начальное значение. Ты в любом случае сможешь обращаться к элементам с 0 по 8191 в любом массиве.
|
|
|
|
GoJustGo | Дата: Вторник, 24 Июня 2014, 12:40:58 | Сообщение # 38 |
4 уровень
Группа: Пользователи
Сообщений: 87
Награды: 0
Репутация: 12
Блокировки:
| abidin, я так и делаю и личным сценарием удаляю в этом же триггере. я не устанавливаю группу 177 допустим в инициализации или в начале игры. у меня нету установки при старте никакой чтобы устанавливалось сразу 150 групп.
Цитата SirNikolas ( ) число, помеченное как "размер массива", можно смело ставить в единицу.
а где именно это число менять? в переменных? у меня там стоит 0 абсолютно на всех массивах.
|
|
|
|
SirNikolas | Дата: Вторник, 24 Июня 2014, 13:13:44 | Сообщение # 39 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Ноль невозможно поставить, минимум - единица.
|
|
|
|
GoJustGo | Дата: Четверг, 26 Июня 2014, 14:20:47 | Сообщение # 40 |
4 уровень
Группа: Пользователи
Сообщений: 87
Награды: 0
Репутация: 12
Блокировки:
| SirNikolas, у меня всего 1 переменная типа POINT(точка) с таким большим массивом. и нету у меня других такиж же переменных с названием POINT. если я тебя правильно понял ты думаешь что я создал 400 с лишним переменных. но я не создавал, у меня всего 1 переменная с названием POINT.Добавлено (24 Июня 2014, 14:22:49) --------------------------------------------- SirNikolas, ой да с 1 все. Добавлено (26 Июня 2014, 14:20:47) --------------------------------------------- http://pixs.ru/showimage/1bmp_1970739_12722283.jpg
здесь в инициализации что-то лишнее/мещающее загрузке есть?
|
|
|
|
laysik | Дата: Четверг, 26 Июня 2014, 14:33:16 | Сообщение # 41 |
7 уровень
Группа: Проверенные
Сообщений: 292
Награды: 0
Репутация: 20
Блокировки:
| А норм выложить скрин не? Да и что ты тут устроил лучше создай пару тем, выложи в них свой код и попроси чтобы помогли оптимизировать заодно и поучишся
А почему бы и нет?
|
|
|
|
SirNikolas | Дата: Четверг, 26 Июня 2014, 18:40:36 | Сообщение # 42 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Суть не в том, какие действия у тебя в триггерах, а в том, какие действия производит игра, чтобы создать твои триггеры во время запуска.Цитата SirNikolas ( ) P. P. S. Кроме того, количество триггеров косвенно влияет на проблему. Попытайся их уменьшить (объединить). Я знал людей, которые делали по триггеру на каждый уровень спелла или сборный предмет.
Добавлено (26 Июня 2014, 18:40:36) --------------------------------------------- Держу пари, у тебя есть сотни триггеров, реагирующих на одни и те же события.
|
|
|
|
GoJustGo | Дата: Пятница, 27 Июня 2014, 15:07:22 | Сообщение # 43 |
4 уровень
Группа: Пользователи
Сообщений: 87
Награды: 0
Репутация: 12
Блокировки:
| SirNikolas, спс, да есть такое. событие атакован есть почти на каждом герое. условием всегда является юнит[такой-то] = атакующий.
у меня изначально включенных триггеров штук 5.
значит не включенные триггеры и включенные для "старта игры" не имеют различий.
попробую уменьшить количество этих триггеров просто изначально не хотелось включать столько событий атакован или событие переодическое допустим таймеров у меня 12 в игре с разными велечинами все их никак не объединить.Добавлено (27 Июня 2014, 15:07:22) ---------------------------------------------
Цитата laysik ( ) А норм выложить скрин не?
а там больше нет ничего там просто герои устанавливаются до конца и колор имен игроков ,всё.
|
|
|
|
laysik | Дата: Пятница, 27 Июня 2014, 16:08:10 | Сообщение # 44 |
7 уровень
Группа: Проверенные
Сообщений: 292
Награды: 0
Репутация: 20
Блокировки:
| Цитата GoJustGo ( ) попробую уменьшить количество этих триггеров просто изначально не хотелось включать столько событий атакован или событие переодическое допустим таймеров у меня 12 в игре с разными велечинами все их никак не объединить.
Объеденить можно но будет геморойно и бессмысленно:)
А почему бы и нет?
|
|
|
|
SirNikolas | Дата: Пятница, 27 Июня 2014, 20:33:39 | Сообщение # 45 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Цитата GoJustGo ( ) значит не включенные триггеры и включенные для "старта игры" не имеют различий. Верно.
Таймеры с разными периодами действительно лучше не объединять, а вот событие "Атакован" вполне можно.
|
|
|
|
GoJustGo | Дата: Понедельник, 30 Июня 2014, 13:02:35 | Сообщение # 46 |
4 уровень
Группа: Пользователи
Сообщений: 87
Награды: 0
Репутация: 12
Блокировки:
| вроде бы заработало все. как бы не сглазить. а так очень радуюсь. Добавлено (30 Июня 2014, 13:02:35) --------------------------------------------- потратил конечно 2 недели на это. но теперь знаю что много событий переодических нельзя в карте держать и событий атакован.
|
|
|
|
molgreen | Дата: Понедельник, 30 Июня 2014, 14:04:08 | Сообщение # 47 |
5 уровень
Группа: Проверенные
Сообщений: 142
Награды: 0
Репутация: 37
Блокировки:
| GoJustGo, Хм, ну ты можешь ещё выключить больше половины (либо все) триггеры на скиллы, а при выборе героя включать триггеры на способности этого героя.
le
|
|
|
|
laysik | Дата: Понедельник, 30 Июня 2014, 15:02:04 | Сообщение # 48 |
7 уровень
Группа: Проверенные
Сообщений: 292
Награды: 0
Репутация: 20
Блокировки:
| Цитата GoJustGo ( ) потратил конечно 2 недели на это. но теперь знаю что много событий переодических нельзя в карте держать и событий атакован.
Почитай если не хочешь повторения
А почему бы и нет?
|
|
|
|
SirNikolas | Дата: Понедельник, 30 Июня 2014, 16:51:34 | Сообщение # 49 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Цитата GoJustGo ( ) но теперь знаю, что много событий переодических нельзя в карте держать, и событий атакован. Дело не конкретно в этих событиях.Цитата molgreen ( ) Хм, ну, ты можешь ещё выключить больше половины (либо все) триггеры на скиллы, а при выборе героя включать триггеры на способности этого героя. Цитата SirNikolas ( ) Цитата GoJustGo ( ) значит не включенные триггеры и включенные для "старта игры" не имеют различий. Верно.
|
|
|
|
GoJustGo | Дата: Воскресенье, 06 Июля 2014, 00:33:51 | Сообщение # 50 |
4 уровень
Группа: Пользователи
Сообщений: 87
Награды: 0
Репутация: 12
Блокировки:
| объединяю триггеры и действительно некоторые не рабочите триггеры начинают работать. но у меня нет столько триггеров которые бы можно было объединить. еще максимум 10 -15 триггеров а дальше что я пока не знаю но как сказал laysik, надо настраивать код, у меня он чутка не оптимизирован.
|
|
|
|