XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > StarCraft (только чтение)> StarCraft I
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

 
kvaDrug

offline
Опыт: 1,601
Активность: 0
Супертриггеры
Ничего особого, классика. Если кто-нибудь не знает, что такое супертриггеры, пусть качает карту и смотрит.
Я пытался отследит некоторые закономерности. Например заметил, что триггеры запускаются дольше, чем их действия. Еще рекомендую в карте делать несколько блоков супертриггеров, для из равномерной работы.
Выкладываю карту, экспериментируйте на здоровье.
Прикрепленные файлы
Тип файла: scx TrigBuster.scx (26.3 Кбайт, 56 просмотров )
________________
memento vivere
Старый 08.11.2008, 16:43
Зевс
Адская Зверюга
offline
Опыт: 150,654
Активность: 18204
Фишку с масс вейтами знаю... остальное не понял
________________
Кури Динамит!!!
Старый 08.11.2008, 18:54
kvaDrug

offline
Опыт: 1,601
Активность: 0
Остальное... Короч, я как-то заметил, что SetDeaths тормозит игру, особенно если там большое число, вот проверял на этой карте, ничё не уловил. Масс вейты это и есть супертриггеры, а я "изучал" их там. Выложил карту, чтобы ктонить другой поэкспериментировал.
________________
memento vivere
Старый 08.11.2008, 20:02
Worm
Просто Червь
offline
Опыт: 2,621
Активность: 2000
Ребят, масс вейты гипер триггерами (hyper triggers) называют обычно... Большинство действий в массовых количествах тормозят игру. Особенно это относится к MoveUnit, CreateUnit, RemoveUnit, KillUnit. SetDeaths по сравнению с этими действиями игру не тормозит. Недовно я экспериментально обнаружил одну интересную вещь, есть граница кол-ва триггеров, после которой игра в любом случае тормозит (всё зависит от мощности компьютера/коннекта, если играют в мультиплеер и некоторых других факторов), даже если триггеры все не выполняются а просто проверяются. Она может ОЧЕНЬ условно быть определена как 60000 проверок триггеров в 1/12 секунды, - т.е. приблизительно 15000 триггеров с четырмя игроками присутствующими в игре с использованием гипер триггеров...
kvaDrug утверждаешь ли ты, что SetDeaths тормозит игру в разной степени в зависимости от числа, которое в нём указано? Интересно каким образом ты это проверял?
Кстати, известен принципиально другой способ сделать гипер триггеры:
Trigger("Player 1"){
Conditions:
Switch("Switch1", not set);
Actions:
Preserve Trigger();
Wait(0);
Set Switch("Switch1", set);
}
Trigger("Player 2"){
Conditions:
Switch("Switch1", set);
Actions:
Preserve Trigger();
Set Switch("Switch1", clear);
Wait(0);
}
Вобщем это уже давно всё известно... Интересно, знает ли кто-нибудь В ТОЧНОСТИ КАК этот механизм работает? Вопрос в том, что на самом деле происходит, когда в триггере встречается wait действие? Немного покопавшись, можно уловить некоторые закономерности, но полностью досканально разобрать их работу, насколько мне известно, не удавалось ни кому. А что вы думаете по этому поводу? Может кто-нибудь здесь сможет объяснить мне их работу? Сколько я не спрашивал на SEN, мне так толком ни кто ни чего внятного сказать не смог. Да, у них есть туториалы по гипер триггерам, но они вопрос этот либо не затрагивают, либо не раскрывают до конца, либо предложенные решения оказываются неверными...
kvaDrug можешь рассказать, до чего ты дошёл в своих изучениях гипер триггеров?
________________
Staredit network (http://www.staredit.net/): профиль на SEN (http://www.staredit.net/?member=2539)
Maps on Nibbits (http://www.nibbits.com/): профиль на Nibbits (http://sc.nibbits.com/community/u/wormer/)
Старый 11.11.2008, 23:31
kvaDrug

offline
Опыт: 1,601
Активность: 0
ЯТД по умолчанию после каждого действия стоит вэйт 1-2 секунды, если ставишь свой вэйт, то тот, что по умолчанию удаляется. Давно забил на старэдит, ща поступать нада =)
________________
memento vivere
Старый 19.04.2009, 01:33
sagittarius

offline
Опыт: 9,981
Активность: 4
Все Тригеры СТРОГО линейны при выполнении !!!
Начинается выполнение для Тригеров 1 игрока, и так до 8, потом не помню в каком порядке (для Нейтралов, 4 команд, Всех, ....)
Wait вызывает прерывание, уступая очередь следующим тригерам
Wait(0) - означает выполнять другие тригеры, и как только пройдет полный круг, сразу выполнять этот тригер дальше!
Что вызывает ГиперТригер ?
Он ускоряет выполнение очереди Вызывая копии текущих потоков тригеров.
Старый 16.05.2009, 12:58

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 00:03.