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

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

Ответ
 
silumin

offline
Опыт: 11,153
Активность:
Саморегулирующийся триггер.
Вопрос такой:
для создание движка кое-чего интересного (идей-аналогов пока не встречал) в процессе разработки возникла идея самогерулирующегося триггера, конкрентнее с изменяющимся периудом срабатывания:
с: каждые Х секунд игры
у:...
д:...
......
set udg_X = a + b*c
......
Покрутив триггер пару минут в малых временных периудах ничего толком не заметил равно как и в больших временных периудах.
Идея вообщем правильная, или осущетвима ли она каким-нибудь иным способом?
Старый 04.12.2008, 19:02
Fakov
Viva la Fa
offline
Опыт: 102,058
Активность:
Ну вообще то период а не периуд. А во вторых-выложи триггер.
У тебя a b c х одного типа???
Старый 04.12.2008, 19:08
silumin

offline
Опыт: 11,153
Активность:
Fakovимхо, всётаки периуд, ну да ладно. всё - риал.
а не это я всётаки подтупел, всётаки правильно период.
Старый 04.12.2008, 19:12
Fakov
Viva la Fa
offline
Опыт: 102,058
Активность:
silumin, у тя в действии нет Turn Off this trigger??? если есть удали. И вообще, попробуй в концуе действий Поставить Run This trigger. По идее должно сработать...
Старый 04.12.2008, 19:20
and_y87
Тру Кодер
offline
Опыт: 21,030
Активность:
с: Map Initialization
у:...
д:...
......
......
set udg_X = a + b*c
Wait X sec.
Триггер - Go Trigger (This Trigger)
Старый 04.12.2008, 19:22
silumin

offline
Опыт: 11,153
Активность:
Fakov Нету. Нужный эффект, чтобы в процессе игры триггер сам менял свой период срабатывания.
MEXAHuK Wait на малых периодах теряет точность.
Старый 04.12.2008, 19:27
Garret
Недоброе творится
offline
Опыт: 3,893
Активность:
silumin
А твоё просто не работает
Старый 04.12.2008, 19:39
ExArt

offline
Опыт: 13,634
Активность:
silumin, Сделай как сказал механик только через таймер.
Старый 04.12.2008, 19:47
dave_wwid

offline
Опыт: 12,954
Активность:
Для рандомного события я просто выкидываю рандомное число и в зависимости от числа выполняю к-л действие или меняю значение "boolean" от которого зависят к-л другие триггеры. Может я конечно и не понял суть как должен работать твой триггер, но наверное можно привязать преиодичность к рандомному числу типа а (random integer 1-30) и b (random integer 30-100) Даже без с будут варианты от 31 до 130) и вообще можно 1 число выкидывать от 31 до130. Для теста отключи в опциях fixed random seed (вроде так пишется)
PS Для теста добавь вывод текста на экран чтоб он выводил строку с тем числом что выпало. И на коротких переиодах тестить бесполезно.

Отредактировано dave_wwid, 04.12.2008 в 20:01.
Старый 04.12.2008, 19:55
ExArt

offline
Опыт: 13,634
Активность:
dave_wwid Я ничё не понял

siluminвот пример
Прикрепленные файлы
Тип файла: w3m Timer.w3m (8.3 Кбайт, 9 просмотров )
Старый 04.12.2008, 19:59
Fakov
Viva la Fa
offline
Опыт: 102,058
Активность:
Цитата:
Fakov Нету. Нужный эффект, чтобы в процессе игры триггер сам менял свой период срабатывания.

ДАк поставь в Периоде рандомное определение числа, и сделай как говорил механик. Че там не работает то...
Старый 04.12.2008, 20:01
ExArt

offline
Опыт: 13,634
Активность:
Fakov Вэйт не точно работает на маленьких периодах и нужен не рандом а результат конкретной функции.
Старый 04.12.2008, 20:04
dave_wwid

offline
Опыт: 12,954
Активность:
Попробуй Periodic event "Every random number between 31-130 seconds of the game. (или какие тебе числа нужны) и никаких пременных.
Старый 04.12.2008, 20:14
JimALIEN
вдупляет sc2 editor
offline
Опыт: 7,176
Активность:
dave_wwid если б все было так просто...
Тут всеравно придется запускать однократный таймер, т.к. многократный юзает только то значение, которое ему дали при запуске и не меняет его по истечении.
Вобще есть вариант помуторней:
События: Время - Каждые 0.1 секунд игрового времени
Условия:---
Действия:
set a = a + 1
Если a = b то
совершаем нужные действия
set a = 0
set b = b+1 (ну или формула)
В этом случае получим периодический тригер (скорее его имитацию), с возрастающим периодом
Ну ятд понятно что вместо "каждые N с..." можно юзать таймер
Старый 04.12.2008, 20:28
ExArt

offline
Опыт: 13,634
Активность:
dave_wwid Вы неумеете читать чтоли? Надо что бы период триггера задавался НЕ рандомным числом, а КОНКРЕТНОЙ функцией.

ExArt добавил:
JimALIEN В моём примере всё работает без лишних итераций и переменных.
Старый 04.12.2008, 20:31
JimALIEN
вдупляет sc2 editor
offline
Опыт: 7,176
Активность:
ExArt
Да я уже посмотрел, нормально все пашет, вобще привык показывать людям что проблемы можно решать несколькими путями
Старый 04.12.2008, 20:39
dave_wwid

offline
Опыт: 12,954
Активность:
OK, я просто всегда смотрю на цель а не то как она достигается И если цель заставить функцию работать а не получить рандомный период срабатывания триггера то я не прав. А что Periodic event "Every random number between ... не будет работать?
Старый 04.12.2008, 20:40
RazArt

offline
Опыт: 11,197
Активность:
А как такой метод?
Ой и в правду, недочитал)
Миниатюры
Кликните на картинку для увеличения
Название:  Безымянный.JPG
Просмотров: 20
Размер:  120.3 Кбайт  
Старый 04.12.2008, 20:44
JimALIEN
вдупляет sc2 editor
offline
Опыт: 7,176
Активность:
dave_wwid
нетъ, триггер возьмет случайное значение при первом запуске и будет юзать его
JokArt
где то я что то похожее уже видел=) Но луше забейте, юзайте одноразовые таймеры. Меньше проверок - быстрее будет
Старый 04.12.2008, 20:48
RazArt

offline
Опыт: 11,197
Активность:
JimALIEN, а если действительно нужно?
Старый 04.12.2008, 20:50
Ответ

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

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

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

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



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