Большое спасибо GSTrainz он Подсказал как это делаеться, вот скрипт:
include "ScenarioBehavior.gs"
include "locomotive.gs"
class testsc isclass ScenarioBehavior
{
bool objectRunningDriver =false;
// Функция переключения стрелки
void ChangeJunc(string jName,int dir){
Navigate.LockJunction(jName,dir,true);
}
thread void SecondThread()
{
KUID[] sostav = new KUID[0];
Train Mytrain;
KUID SN = GetAsset().LookupKUIDTable("testsc");
Asset SCN_dir = World.FindAsset(SN);
World.SetGameTime (0.800);// время
Interface.ShowOnScreenHelp (false) ;// убираем светящиеся левера
World.SetWeather (2,1);// погода
sostav=new KUID[0];
sostav[0]=GetAsset().LookupKUIDTable("vl10a");
sostav[1]=GetAsset().LookupKUIDTable("vl10a");
Mytrain=World.CreateTrain(sostav,"msta2",true); //Ставим поезд на маркер с именем msta2
Mytrain.GetVehicles()[1].Reverse(); //переворачиваем 2-ю секцию локомотива
Mytrain.SetTrainPriorityNumber(3); // маневровый
World.SetCamera(Mytrain.GetFrontmostLocomotive(), World.CAMERA_INTERNAL);
Mytrain.SetAutopilotMode(Train.CONTROL_MANUAL);
Sleep(20);
}
public void RunInDriver(){
if(World.GetCurrentModule()!=World.DRIVER_MODULE){
return;
}
SecondThread();
}
public void RunInSurveyor(){
if(World.GetCurrentModule()!=World.SURVEYOR_MODULE ){
return;
}
}
void ModuleInitHandler(Message msg){
if (objectRunningDriver)
return;
if (World.GetCurrentModule() == World.DRIVER_MODULE)
{
objectRunningDriver =true;
RunInDriver();
}
}
public void Init(Asset self)
{
inherited(self);
AddHandler(me, "World", "ModuleInit", "ModuleInitHandler");
RunInSurveyor();
}
};
Этот скрипт получается как правило сессии
|