Скриптинг для OMSI

Различные вопросы и ответы на них.
Аватара пользователя
FRENZYMAX
Заяц
Сообщения: 439
Зарегистрирован: 25 ноя 2010, 21:54
Откуда: Teh Bearland

Скриптинг для OMSI

Сообщение FRENZYMAX » 21 дек 2011, 19:15

opel323, вы делаете абсолютно всё с точностью да наоборот.
Во-первых, на кнопки или нажатие мышкой реагируют как-раз триггеры. В них вписывают условия для срабатывания. А макросы уже просчитывают необходимые значения. И просчитывают ТОЛЬКО еслы вы пропишете макру в фрэйме(ищите в коде что-то типа {macro:XXX_frame}, где XXX-имя скрипта или что-то в этом роде).
Во-вторых код, который вы написали банально не будет работать из-за того, что вы его написали задом-наперёд. Правильнее будет написать его вот так:

Код: Выделить всё

{macro:engine_temper}
(L.L.engine_temperature) 20 >=
{if}
(T.L.ev_engineshutdown)
0 (S.L.engine_on)
{else}
(T.L.ev_loesezischen)
{endif}
{end}
"Найдите 10 отличий"

opel323
Заяц
Сообщения: 21
Зарегистрирован: 16 дек 2011, 16:06

Скриптинг для OMSI

Сообщение opel323 » 21 дек 2011, 19:30

и все равно не работает:

Код: Выделить всё

{macro:engine_temper}
(L.L.Velocity) 20 >=
{if}
(T.L.ev_engineshutdown)
(T.L.ev_loesezischen)
0 (S.L.engine_on)
{endif}
{end}
даже решил сменить температуру на локальную системную переменную скорости автобуса. подумал может эта другая температура. там полно их. но все равно ничего не происходит. может надо как-то запустить макрос? типа (M.L.engine_temper)

вопрос снят.
И просчитывают ТОЛЬКО еслы вы пропишете макру в фрэйме(ищите в коде что-то типа {macro:XXX_frame}, где XXX-имя скрипта или что-то в этом роде).

opel323
Заяц
Сообщения: 21
Зарегистрирован: 16 дек 2011, 16:06

Скриптинг для OMSI

Сообщение opel323 » 21 дек 2011, 21:20

появился еще вопросец. думаю будет полезно всем.
каким образом тут реалиованы циклы и есть ли они вообще?
к примеру как выполнять один и тот же макрос каждые 2 секунды?

Аватара пользователя
FRENZYMAX
Заяц
Сообщения: 439
Зарегистрирован: 25 ноя 2010, 21:54
Откуда: Teh Bearland

Скриптинг для OMSI

Сообщение FRENZYMAX » 21 дек 2011, 22:28

С этим чуть более туго, но насолько мне удалось понять - весь скрипт работает зацикленно по умолчанию. Т.е. идёт постоянное обновление и перепроверка состояния переменных и условий.

Аватара пользователя
Olgerd-F
Заяц
Сообщения: 100
Зарегистрирован: 11 мар 2011, 13:43
Откуда: Литва,ВИльнюс

Скриптинг для OMSI

Сообщение Olgerd-F » 21 дек 2011, 22:38

Мне очень сильно раздражает что если я остановлюсь и включу "аварийку" (стоя на обочине не мешая движению) машины всё равно начинают стоять тем самым собирая большую пробку.
Так вот есть ли скрипт что-бы никто так не тормозил когда у меня включена "аварийка" или же где что прописать.

Аватара пользователя
FRENZYMAX
Заяц
Сообщения: 439
Зарегистрирован: 25 ноя 2010, 21:54
Откуда: Teh Bearland

Скриптинг для OMSI

Сообщение FRENZYMAX » 21 дек 2011, 22:43

Основы поведения AI к сожалению скриптами не исправляются. Это уже зашито в движок. Так или иначе оно лучше, чем в 18СтальныхCковородкахETSGTSATS.

opel323
Заяц
Сообщения: 21
Зарегистрирован: 16 дек 2011, 16:06

Скриптинг для OMSI

Сообщение opel323 » 21 дек 2011, 22:52

FRENZYMAX,

предполагаю что собака умерла в (L.S.Timegap), но не могу разобраться
язык и так сам по себе наикрутейший, так и ртфм на немецком весь. а перевод оставляет желать лучшего. читал офф форум, там как раз упоминается эта переменная в роли задержки исполнения

Аватара пользователя
FRENZYMAX
Заяц
Сообщения: 439
Зарегистрирован: 25 ноя 2010, 21:54
Откуда: Teh Bearland

Скриптинг для OMSI

Сообщение FRENZYMAX » 21 дек 2011, 22:57

opel323 писал(а):собака умерла в (L.S.Timegap)
Близко, но не в точку. Эта функция лишь добавляет задержку на исполнение следующего за ней куска скрипта. По какому принципу она работает я не особо понял, ибо всё несколько запутанно.

opel323
Заяц
Сообщения: 21
Зарегистрирован: 16 дек 2011, 16:06

Скриптинг для OMSI

Сообщение opel323 » 21 дек 2011, 23:04

FRENZYMAX,
а скрипт форточки для лиаза ты писал или кто-то тебе помогал?
там как раз есть эта функция

по идее сам движок это и есть цикл и в engine.osc как раз полно Timegap, и нет ничего другого кроме переменных, констант и кривых (с последними тоже ничего не понятно).

Аватара пользователя
FRENZYMAX
Заяц
Сообщения: 439
Зарегистрирован: 25 ноя 2010, 21:54
Откуда: Teh Bearland

Скриптинг для OMSI

Сообщение FRENZYMAX » 21 дек 2011, 23:10

opel323 писал(а):а скрипт форточки для лиаза ты писал или кто-то тебе помогал?
там как раз есть эта функция
Открою маленькую истину - скрипт хоть и "написан" мной, но это банальный копипаст кода водительской форточки, с переименовыванием переменных. Так или иначе это было сделано в самом начале работы с омси, когда какие-либо знания отсутствовали и всё делалось методом научного тыка. К слову, у этого скрипта есть свои баги и недоделки.

virusus
Заяц
Сообщения: 14
Зарегистрирован: 12 дек 2011, 23:50

Скриптинг для OMSI

Сообщение virusus » 24 дек 2011, 11:12

ммм... я так понял, что добавить например лишнюю передачу в коробку не так то и просто....
есть где в форуме описание данного процесса?))

opel323
Заяц
Сообщения: 21
Зарегистрирован: 16 дек 2011, 16:06

Скриптинг для OMSI

Сообщение opel323 » 24 дек 2011, 14:28

если ты внимательно прочтешь предыдущие посты в этой теме, то увидишь, что в свет вышла программа с одной единственной кнопкой "добавить передачу".
если более серьезно, то копать в файле antrieb.osc
это очень сложный скриптовый язык, основанный на RPN (все задом наперед) и все это усложняется тем, что все переменные и константы названы по немецки.

я уже неделю наверное разбираюсь с поворотниками, чтобы понять как работает цикл. а ты говоришь добавить передачу.

Ответить