Сейчас 12:23:46 Пятница, 22 ноября, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Модератор форума: PUVer, SirNikolas, Ty3uK  
Почему не срабатывают включенные изначально триггеры
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, надо настраивать код, у меня он чутка не оптимизирован.
 

  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz