+ Ответить в теме
Страница 1 из 7 1 2 3 ... ПоследняяПоследняя
Показано с 1 по 10 из 62

Тема: Переменные в правилах и командах

  1. #1
    Разработчик Trainz UP Степень участия Аватар для TRam_
    Регистрация
    22.09.2009
    Возраст
    26
    Сообщений
    12,454

    Rule Переменные в правилах и командах

    Пак недефолтных правил и команд с переменными - http://yadi.sk/d/9RMrYb1X9JfyS + http://yadi.sk/d/R7SJXyimA4WHb
    Команда получения рандомного значения переменной http://yadi.sk/d/5ZcdTftl9dBG5



    Правило "Variable Check Rev 1" отличается от дефолтного тем, что срабатывать будет сколько угодно раз . Также, если выставить "проверять условие каждые 5 секунд", правило будет дожидаться выполнения условия, после этого выполнит зависимые правила и завершится. Суть конструкции на скрине заключается в том, что первому подъехавшему поезду мы собираем только один маршрут, а всем остальным - два. Для этого:

    1) начальное значение переменной выставлено как 0 (см. предыдущий скрин)
    2) по проезду поезда происходит срабатывание правила AddVariable, оно прибавляет 1 к переменной
    3) когда проходит следующий поезд, он активирует правило сравнения (так как там стоит условие - переменная x1 >= 1 , которое выполнено, когда x1 =1), которое, в свою очередь активирует правило сборки второго маршрута

    Ограничение на переменную можно было не ставить - оно "для красоты". Триггеры Add AnyPath стоят последовательно один за другим.



    Правило Variable Random задаёт переменной случайное значение из выбранного диапазона.

    Команда VariableIfElse создана уже давно, нужна, чтобы пропускать либо следующую, либо послеследующую команды (в зависимости от выполнения условия переменной). Её обсуждение есть тут - https://forum.trainzup.net/showthrea...l=1#post217037 .

    Остальные две команды (ChangeSVariables и WaitUntilSVariable) используются соответственно для изменения переменных и для ожидания условия на переменную. Правда для этого нужно предварительно в правиле InputTable записать все операции со своими переменными:



    означают они:

    (приравнять) x1= 8
    y = y + 2
    z = z - 10

    (сравнить) a == 0
    c > 5
    temp < 12
    etr >= -1
    x1 <= 2


    Складывать и вычитать друг из друга переменные напрямую нельзя. Но, как правило, это и не нужно - посчитать поезда, свободные пути, количество заработанных игроком очков можно и так .
    Последний раз редактировалось TRam_; 28.09.2013 в 23:15.
    в z7 всё можно, а что нельзя - можно в sU


  2. #2
    Пользователь Степень участия Аватар для Ant.taranish
    Регистрация
    21.03.2011
    Страна
    Возраст
    26
    Сообщений
    546

    По умолчанию

    TRam_, в паке нет правила Variable Setup, команды ChangeSVariables и WaitUntilSVariable более старые, чем те что есть в дефолте и на DLS, при этом идут под другим куидом.
    Поясни, пожалуйста, пример на скриншоте: какое условие проверяется с помощью переменной, и какие маршруты собираются?

  3. #3
    Разработчик Trainz UP Степень участия Аватар для TRam_
    Регистрация
    22.09.2009
    Возраст
    26
    Сообщений
    12,454
    Автор

    По умолчанию

    Цитата Сообщение от Ant.taranish Посмотреть сообщение
    в паке нет правила Variable Setup
    удали AddVariable - правило установится вместо него.
    Цитата Сообщение от Ant.taranish Посмотреть сообщение
    команды ChangeSVariables и WaitUntilSVariable более старые
    удалил их, оставил только "новую" ChangeSVariables (WaitUntilSVariable и InputTable дефолтные).

    ---------- Сообщение добавлено в 17:47 ---------- Предыдущее сообщение размещено в 15:48 ----------

    ссылку обновил.

    ---------- Сообщение добавлено в 20:00 ---------- Предыдущее сообщение размещено в 17:47 ----------

    И добавил последнюю важную команду серии - "Задать случайное значение переменной".
    в z7 всё можно, а что нельзя - можно в sU

  4. Сказали спасибо: (3)


  5. #4
    Пользователь
    Спонсор ресурса
    Аватар для NickLon
    Регистрация
    23.09.2009
    Страна
    Адрес
    Москва
    Возраст
    43
    Сообщений
    2,072

    По умолчанию

    TRam_, а разве связка
    Variable Check
    -AddAnyPath
    работает? Хм, странно. У меня - ни в какую.
    Иногда мы принимаем такие решения, которым тараканы в голове аплодируют стоя.

  6. #5
    Разработчик Trainz UP Степень участия Аватар для TRam_
    Регистрация
    22.09.2009
    Возраст
    26
    Сообщений
    12,454
    Автор

    По умолчанию

    NickLon, это не "Variable Check" а "Variable Check Rev 1". Ты скачай из шапки, они все там. Естественно переделанные.
    в z7 всё можно, а что нельзя - можно в sU

  7. #6
    Пользователь Аватар для Sandrilyon
    Регистрация
    25.05.2010
    Страна
    Адрес
    Борисов
    Сообщений
    1,245

    По умолчанию

    TRam_, я как-то спрашивал у тебя насчет команды, в которой можно задать рэндомное значение для переменной. Раз уж тема заведена про переменные, можешь такую команду склепать? Например, задать значение от 0 до 10 (хотя бы) или до 100.

  8. #7
    Разработчик Trainz UP Степень участия Аватар для TRam_
    Регистрация
    22.09.2009
    Возраст
    26
    Сообщений
    12,454
    Автор

    По умолчанию

    Команды нет, а вот правило уже есть. В шапке ссылка.
    в z7 всё можно, а что нельзя - можно в sU

  9. #8
    Пользователь Аватар для Sandrilyon
    Регистрация
    25.05.2010
    Страна
    Адрес
    Борисов
    Сообщений
    1,245

    По умолчанию

    Лучше бы команду, конечно...

  10. #9
    Разработчик Trainz UP Степень участия Аватар для TRam_
    Регистрация
    22.09.2009
    Возраст
    26
    Сообщений
    12,454
    Автор

    По умолчанию

    Цитата Сообщение от Sandrilyon Посмотреть сообщение
    Лучше бы команду, конечно...
    ну если лучше, держи - http://yadi.sk/d/5ZcdTftl9dBG5

    ---------- Сообщение добавлено в 03:28 ---------- Предыдущее сообщение размещено в 03:26 ----------

    рандомизирует внутри диапазона от 0 до 10
    в z7 всё можно, а что нельзя - можно в sU

  11. Сказали спасибо: (2)


  12. #10
    Разработчик Trainz UP Степень участия Аватар для TRam_
    Регистрация
    22.09.2009
    Возраст
    26
    Сообщений
    12,454
    Автор

    По умолчанию

    Небольшой апдейт для Variable Setup

    http://yadi.sk/d/R7SJXyimA4WHb

    в z7 всё можно, а что нельзя - можно в sU

  13. Сказали спасибо: (2)


+ Ответить в теме
Страница 1 из 7 1 2 3 ... ПоследняяПоследняя

Ваши права

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