Войти на сайт

Авторизация, ждите ...
×

ТЕМА: Цикл и случайные значения переменных

Цикл и случайные значения переменных 7 года 8 мес. назад #63117

  • DeadElf79
  • DeadElf79 аватар
  • Вне сайта
  • Звездный Страж
  • Сообщений: 3147
  • Спасибо получено: 2645
  • Проект месяца 2 местоПроект месяца 1 местоУчительПрограммист RubyВетеранПисатель 3 место3 место1 место в ГотвОрганизатор конкурсов
Недавно была просьба подробнее расписать, как сделать множество случайных событий и я сделал это.

Пошаговая инструкция:
  1. Подготовка:
    1. Создаем новое событие
    2. сразу создаем в нем новую страницу, переходим на нее
    3. задаем условие: локальный переключатель А ВКЛ
    4. задаем графику и расписываем все, что будет, когда игрок использует это событие
    5. создаем аналогично еще столько событий, сколько необходимо
  2. Построение цикла:
    1. Создаем новое событие
    2. задаем условие для выполнения: автоматически
    3. в событии вызываем команду "Цикл" с первой вкладки
    4. сразу после цикла вызываем команду "Удалить событие" со второй вкладки
    5. далее - вызываем команду "Переменные" с первой владки
    6. выбираем переменную и называем ее "рандом"
    7. ставим точку напротив =
    8. ставим точку напротив "Случайное"
    9. задаем интервал от 0(или 1, если вам так удобней) до необходимого количества (в демке - 3)
    10. далее мы будет делать счетчик циклов, чтобы потом игра не зависла
    11. вызываем команду "Переменные" еще раз и выбираем новую переменную, называем ее "счетчик"
    12. ставим точку напротив +
    13. ставим значение 1, таким образом, после каждого цикла счетчик будет увеличиваться на один
    14. определим заранее, сколько циклов нам необходимо. чтобы этой сделать,рассуждайте так:
      • каждый цикл переменная получает случайное значение и только одно
      • в ходе проверки может быть активировано только одно случайное событие
      • максимальное число циклов - это количество событий, которые появятся
    15. создадим сразу проверку условия для переменной "счетчик" - если счетчик равен посчитанному нами числу (в демке это число - 5), то мы вызываем команду "Прервать цикл".
      Таким образом, когда создание случайностей завершится, событие будет удалено из памяти и мы сможем посмотреть, что у нас получилось.
  3. Проверка случайных значений:
    1. создаем условие: если переменная "счетчик" равна 1
    2. внутри пишем условие: если переменная "рандом" равна 0 (или то число, которое вы указывали как менбшую границу интервала)
    3. внутри уже этого условия вызываем нужные нам команды: анимации, перемещения, появление ивентов и прочее, все, что будет угодно
    4. затем создаем новое условие под условием "счетчика": если переменная "рандом" равна 1, то... и тут тоже прописываем что-нибудь
    5. таким образом мы заполняем все проверки на все числа заданного интервала
    6. после этого создаем такие же условия для "счетчика", равного двум (2) и заполняем все события, которые выполняются по условию

В итоге условий получается очень много, но зато без использования скриптов и нужды в их настройке! :laugh:

Скачать демку можно здесь:
yadi.sk/d/l4Qn8prR7YW22
Кстати, один-единственный скрипт я применил в демке, он позволяет из события изменить локальный прееключатель другого события, всего лишь используя команду "Вызвать скрипт" с третьей вкладки.
key = [MAP_ID, EVENT_ID, "A"]
$game_self_switches[key] = true
где MAP_ID - номер карты,
EVENT_ID - номер события,
"А" - локальный переключатель, может быть от "A" до "D" (обратите внимание на то, что буквы латинские).

Номера карты и события вы можете посмотреть, перейдя на нужную карту и выделив нужное событие - вся информация будет написана в уголке внизу справа, например:
001:Стронгхолд (имя карты) 068:Король Ричард (выделенное событие)

За сим все, Светлая пополнилась еще одной интересной , надеюсь, полезной статьей. :whistle:
Последнее редактирование: 7 года 8 мес. назад от DeadElf79.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: AnnTenna, JackCL, Cerberus

Цикл и случайные значения переменных 7 года 8 мес. назад #63122

  • strelokhalfer
  • strelokhalfer аватар
  • Вне сайта
  • Архитектор Миров
  • Знатный грамотей
  • Сообщений: 1640
  • Спасибо получено: 1075
  • 2 место Сбитая кодировкаОрганизатор конкурсовПрограммист RubyПереводчикДаритель Стимкея2 место
Зачем менять скрипт? Ведь есть Khas SelfSwitches.
А статью забрал в копилку.
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Администратор запретил публиковать записи гостям.

Цикл и случайные значения переменных 7 года 8 мес. назад #63124

  • DeadElf79
  • DeadElf79 аватар
  • Вне сайта
  • Звездный Страж
  • Сообщений: 3147
  • Спасибо получено: 2645
  • Проект месяца 2 местоПроект месяца 1 местоУчительПрограммист RubyВетеранПисатель 3 место3 место1 место в ГотвОрганизатор конкурсов
стрелок, зачем? это не меняет скрипт нисколько! это чисто кусок из кода, который накопал мне амфил, его только вызывать и все)) ну можно и кхаса присобачить, да только он тут лишний будет, не? все-таки, факультет ивентостроя))
Администратор запретил публиковать записи гостям.
Время создания страницы: 0.185 секунд