Информация: Уважаемые посетители! В течение нескольких месяцев на форуме существовала проблема с регистрацией новых пользователей, о которой администрации стало известно недавно. Если вы ранее пытались зарегистрироваться на форуме, но не получили на ваш e-mail письмо с ссылкой для подтверждения регистрации, просим вас зарегистрироваться повторно. Приносим извинения за доставленные неудобства. Если вы все еще испытываете проблемы с регистрацией на форуме, обратитесь за помощью на e-mail: mr.angelo@railroadsim.net

Создание скриптов сценария для TRS 2006

Обсуждение маршрутов, объектов, сценариев

Re: Создание скриптов сценария для TRS 2006

Сообщение mzoo » 30.12.2008, 14:44

Combine писал(а):По поводу погоды смотри в world.Gs, насчет времени, 0.0 это полдень, 0.5 -- полночь, или наоборот, точно не помню.[/quote]


Combine Спасибо дома вечером гляну.
mzoo
 
Сообщения: 19
Зарегистрирован: 24.12.2008, 14:45
Откуда: Нефтеюганск
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Играю в: Auran Trainz
Имя: Roman

Re: Создание скриптов сценария для TRS 2006

Сообщение mzoo » 30.12.2008, 15:17

Вот эта команда Mytrain.NavigateToTrackside(TM1);если я не ошибаюсь говорит о том, что надо ехать к маркеру с именем TM1, а какая
команда что бы проехать через маркер с именем TM1 ну или тригер.
Дайте, пожалуйста ссылку на АПИ и ССГ.
mzoo
 
Сообщения: 19
Зарегистрирован: 24.12.2008, 14:45
Откуда: Нефтеюганск
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Играю в: Auran Trainz
Имя: Roman

Re: Создание скриптов сценария для TRS 2006

Сообщение agmike » 30.12.2008, 15:31

The Cake is a Lie.
agmike
 
Сообщения: 1025
Зарегистрирован: 26.08.2006, 12:43
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
Играю в: Пульт ДНЦ

Re: Создание скриптов сценария для TRS 2006

Сообщение mzoo » 30.12.2008, 16:06

mzoo
 
Сообщения: 19
Зарегистрирован: 24.12.2008, 14:45
Откуда: Нефтеюганск
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Играю в: Auran Trainz
Имя: Roman

Re: Создание скриптов сценария для TRS 2006

Сообщение mzoo » 04.01.2009, 13:53

ПриветПодскажите пожалуйста!!! Какими командами делать:
Сцепку, Расцепку
Погрузка/Выгрузка
mzoo
 
Сообщения: 19
Зарегистрирован: 24.12.2008, 14:45
Откуда: Нефтеюганск
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Играю в: Auran Trainz
Имя: Roman

Re: Создание скриптов сценария для TRS 2006

Сообщение Combine » 04.01.2009, 20:31

Смотри АПИ, ссылки давали же.
Аватара пользователя
Combine
 
Сообщения: 537
Зарегистрирован: 23.10.2006, 09:47
Откуда: Московская область
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Играю в: Auran Trainz
Роль: Разработчик
Имя: Александр

Re: Создание скриптов сценария для TRS 2006

Сообщение GSTrainz » 04.01.2009, 21:53

Расцепка
one1=train2.GetVehicles()[1];//определяем в составе train2 вагон 1
two1=train2.GetVehicles()[2];//определяем в составе train2 вагон 2
one1.Uncouple(two1); // расцепляем вагон 1 и вагон 2
train2 = one1.GetMyTrain();// образовавшиеся половинки называем:одну train2
train10 = two1.GetMyTrain();// вторую train10
(предварительно должны быть обьявленны переменные для вагонов(как пример смотри рабочий сценарий)
Vehicle one1,two1; )


TrainUtil.DoCoupleUp(train1,train10);//сцепка train1 с train10 (получившийся состав будет train1)

Как делается Погрузка/Выгрузка не знаю...
Аватара пользователя
GSTrainz
 
Сообщения: 634
Зарегистрирован: 28.09.2006, 21:42
Откуда: Феодосия
Благодарил (а): 0 раз.
Поблагодарили: 19 раз.
Играю в: Auran Trainz
Роль: Пассажир :)
Имя: Гена

Re: Создание скриптов сценария для TRS 2006

Сообщение mzoo » 05.01.2009, 01:45

GSTrainz Большое Вам!!! Спасибо.
mzoo
 
Сообщения: 19
Зарегистрирован: 24.12.2008, 14:45
Откуда: Нефтеюганск
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Играю в: Auran Trainz
Имя: Roman

Создание скриптов сценария для TRS 2006

Сообщение mzoo » 07.01.2009, 17:21

Вот научился, как заставить машиниста ехать к маркеру это делается вот так:
/============Переменые===================
KUID[] sostav;
string DriverName, oknotext;
DriverCharacter[] dcl;
Vehicle one,two,one1,two1;
int i;
Trackside m3; //Объявляем переменную дальше для маркера
sostav=new KUID[0];
sostav[0]=GetAsset().LookupKUIDTable("tep70bs");
for (i=1; i<4; ++i) sostav[i]=GetAsset().LookupKUIDTable("pass"+Math.Rand(1,1));
train=World.CreateTrain(sostav,"m2",true); //=======Stavim na marker=====
DriverName = "Tom";
i=0;
dcl=World.GetDriverCharacterList();
while (dcl[i].GetLocalisedName()!=DriverName and i< dcl.size() ) i++; // ищем в списке машинистов Машиниста с именем Том
dcl[i].SetLocation(train.GetFrontmostLocomotive()); //===Садим его туда
World.SetCamera(mytrain.GetFrontmostLocomotive(), World.CAMERA_INTERNAL);
train.SetAutopilotMode(Train.CONTROL_AUTOPILOT);

m3= cast<Trackside>Router.GetGameObject("m3"); //===ищем маркер
dcl[i].NavigateToTrackside(m3); //===Это результат поиска машиниста и команда куда ехать

Вот у меня еще вопрос кто, объяснит следующие
World.PlaySound(SCN_dir, "prib.wav", 7000.0, 500.0, 2000.0, Router.GetGameObject("vokzal"), "a.passon06");
7000.0 -Что это за громкость ,для чего она?
500,0 и 2000,0 Что это за цифры, с каких соображений они ставится? Это какоето расстояние!!!!
a.passon06-Что это, по API это кокаято точка. Как привязовать звук? если постваить null то от куда идет звук
Как регулировать громкость, потому что иногда звук локомотива громче чем звук который указываешь????
Как правельно настроить????
И еще вопрос????
Slepp(?) Какая задержка, сколько времени?
И если сделать следующие
Sleep(8);
Sleep(World.Play2DSound(SCN_dir,"tone_k.mp3"));
Sleep(World.Play2DSound(SCN_dir,"m1472.mp3"));
Sleep(World.Play2DSound(SCN_dir,"1472-1.mp3"));
Sleep(2);

Что это?? Объясните пожалуйста Каким оброзом это работает:?????
mzoo
 
Сообщения: 19
Зарегистрирован: 24.12.2008, 14:45
Откуда: Нефтеюганск
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Играю в: Auran Trainz
Имя: Roman

Re: Создание скриптов сценария для TRS 2006

Сообщение TRam_ » 07.01.2009, 18:25

лучше писать World.PlaySound(SCN_dir, "prib.wav", 1.0, 500.0, 2000.0, Router.GetGameObject("vokzal"), "a.passon06");

означает следющие - "в ассете (т.е. в содержимом папки куида) SCN_dir найти звук "prib.wav" и воспроизводить его с громкостью, увеличенной в 7000 раз (на самом деле трейнз может усилить максимум в 3 раза, а по его мнению 7000=1, да при этом ещё и глючит), звук воспроизводится от 500.0 м от обьекта и полностью затухает на 2000.0м от обьекта. Воспроизводится из точки привязки a.passon06 , установленной на обьекте Router.GetGameObject("vokzal"), который установлен на карту и назван именем vokzal "

функция выводит время воспроизведения звука, поэтому

Sleep(World.PlaySound(SCN_dir, "prib.wav", 1.0, 500.0, 2000.0, Router.GetGameObject("vokzal"), "a.passon06")) - дождаться, пока этот звук закончится, а только затем продолжать скрипт...( Sleep(8); - подождать ещё 8 сек, Sleep(World.Play2DSound(SCN_dir,"tone_k.mp3")); - воспроизвести "на ухо" игроку tone_k.mp3, (т.е. игрок услышит этот звук где бы он не находился), и дождаться пока звук закончится а затем запустить Sleep(World.Play2DSound(SCN_dir,"m1472.mp3")); - то же самое)
в z7 всё можно, а что нельзя - можно в sU
Аватара пользователя
TRam_
 
Сообщения: 1925
Зарегистрирован: 30.11.2007, 20:14
Благодарил (а): 2 раз.
Поблагодарили: 66 раз.
Играю в: Auran Trainz
Роль: Разработчик
Имя: Владимир

Re: Создание скриптов сценария для TRS 2006

Сообщение mzoo » 07.01.2009, 18:40

TRam_ Спасибо!!!Все понятно. А что это a.passon06 , что это???
Вот в некоторых объектах в файле config.txt про a.passon не что не сказано, тогда надо ставит
Null тогда в этом случае от куда идет звук. Как лучше воспроизводить?
и как определить середину если есть a.passon, это половина всех a.passon
Последний раз редактировалось mzoo 07.01.2009, 18:51, всего редактировалось 1 раз.
mzoo
 
Сообщения: 19
Зарегистрирован: 24.12.2008, 14:45
Откуда: Нефтеюганск
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Играю в: Auran Trainz
Имя: Roman

Re: Создание скриптов сценария для TRS 2006

Сообщение TRam_ » 07.01.2009, 18:50

a.passon06 - одна из точек привязки. Ставится в 3д максе на модели, и с неё можно воспроизводить звук. В данном случае она используется вокзалом, чтоб людей к ней цеплять (люди на платформе), и ей воспользовался автор скрипта. Вообще можно производить звук из любых точек любой модели (допустим DLC воспроизводит звук из точек привязки тележки - они есть у каждого локомотива)

Вообще звук будет идти в любом случае, просто с глюками. Ведь эта функция предназначена ИМЕННО для воспроизведения звука, "возникающего в точке привязки и затухающего на расстоянии 2000.0 (или сколько там напишут...)", поэтому звуку надо знать, откуда воспроизводиться, поэтому и нужна точка привязки. Если тебе надо просто воспроизвести звук, громкость которого не зависела от того, насколько далеко пользователь от вокзала, то лучше использовать эту Sleep(World.Play2DSound(SCN_dir,"1472-1.mp3"));
в z7 всё можно, а что нельзя - можно в sU
Аватара пользователя
TRam_
 
Сообщения: 1925
Зарегистрирован: 30.11.2007, 20:14
Благодарил (а): 2 раз.
Поблагодарили: 66 раз.
Играю в: Auran Trainz
Роль: Разработчик
Имя: Владимир

Re: Создание скриптов сценария для TRS 2006

Сообщение mzoo » 28.09.2009, 01:00

Привет всем!
Помогите,пожалуйста,разобраться в том,как сцепить состав.Как я делаю
у меня не получается, пробовал разными вариантами.
Вот скрипт:
Создаю некоторое количество вагонов, без локомотива
sostav=new KUID[0];
sostav[0]=GetAsset().LookupKUIDTable("tov1");
for (i=1; i<7; ++i) sostav[i]=GetAsset().LookupKUIDTable("tov"+Math.Rand(1,1));
train01=World.CreateTrain(sostav,"mvagon",true);
train01.Turnaround();
Sleep(1);

Затем локомотив
sostav=new KUID[0];
sostav[0]=GetAsset().LookupKUIDTable("chme3"); а §¤Ґ«Ґ kuid-table
train02=World.CreateTrain(sostav,"mman",true);
train02.SetTrainPriorityNumber(3);
Sleep(5);
DriverName = "Ami";
dcl=World.GetDriverCharacterList();
i=0;
while (dcl[i].GetLocalisedName()!=DriverName and i< dcl.size() ) i++;
dcl[i].SetLocation(train02.GetFrontmostLocomotive());
Sleep(3);
World.SetCamera(train02.GetFrontmostLocomotive(), World.CAMERA_INTERNAL);
train02.SetAutopilotMode(Train.CONTROL_AUTOPILOT);

Собираю маршрут к вагонам
ChangeJunc("JST2", Junction.DIRECTION_RIGHT);
ChangeJunc("JST3", Junction.DIRECTION_LEFT);
ChangeJunc("JST4", Junction.DIRECTION_RIGHT);
PostMessage(Router.GetGameObject("Trigger 43"),"SignalOpen", "Shunt", 0.5);
PostMessage(Router.GetGameObject("Trigger 39"),"SignalOpen", "Shunt", 0.5);
Сцепка
one1=train01.GetVehicles()[1]; //определяю в составе train01 вагон 1 в
train001 = one1.GetMyTrain();
TrainUtil.DoCoupleUp(train02,train001);

Локомотив едет к составу, но не доезжая метров 100 судя по ALSN HUD
останавливается и не цепляет. Пробовал one1=train01.GetVehicles()[0]; ставить нуль
результат тот же, убирал со скрипта one1=train01.GetVehicles()[1]; и
train001 = one1.GetMyTrain(); оставляя только TrainUtil.DoCoupleUp(train02,train01);
Ну ни как, он не хочет цепляться.
Цепляется только если, в скрипте написать, что после покидания стрелки
Navigate.OnJunction(me,train02,"JST4",Navigate.JUNCTION_LEAVE);
предать управление локомотивом скрипту train02.SetAutopilotMode(Train.CONTROL_SCRIPT);
train02.SetDCCThrottle(0.3);
то в таком варианте сцепиться, а с train02.SetAutopilotMode(Train.CONTROL_AUTOPILOT); сцепка не работает.
Что я не так делаю?, заранее спасибо.
mzoo
 
Сообщения: 19
Зарегистрирован: 24.12.2008, 14:45
Откуда: Нефтеюганск
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Играю в: Auran Trainz
Имя: Roman

Re: Создание скриптов сценария для TRS 2006

Сообщение TRam_ » 28.09.2009, 11:44

train02.SetAutopilotMode(Train.CONTROL_AUTOPILOT); сцепка не работает.
всё вполне закономерно. CONTROL_AUTOPILOT - это задания, которые даются машинисту (ну которые ты даёшь), и тебе надо было бы давать их машинисту (DriverCharacter.SetDriverCommands())

ну а скрипт будет работкать, когда управление передано ему...
в z7 всё можно, а что нельзя - можно в sU
Аватара пользователя
TRam_
 
Сообщения: 1925
Зарегистрирован: 30.11.2007, 20:14
Благодарил (а): 2 раз.
Поблагодарили: 66 раз.
Играю в: Auran Trainz
Роль: Разработчик
Имя: Владимир

Re: Создание скриптов сценария для TRS 2006

Сообщение mzoo » 28.09.2009, 12:27

Спасибо TRam_ .
А вы не могли бы показать пример как с DriverCharacter.SetDriverCommands() сделать сцепку в с крипте?. В API очень сухо написано, а с программированием не очень.
mzoo
 
Сообщения: 19
Зарегистрирован: 24.12.2008, 14:45
Откуда: Нефтеюганск
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Играю в: Auran Trainz
Имя: Roman

Пред.След.

Вернуться в [TZ] Маршруты и сценарии

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2