| 
	
		  
	 | 
		
			
  | 
	|||||||
| Сайт | ПРАВИЛА ФОРУМА | FAQ | Регистрация | Справка | Пользователи | Социальные группы | Календарь | Поиск | Сообщения за день | Все разделы прочитаны | 
![]()  | 
	
	
| 
		 | 
	Опции темы | Опции просмотра | 
| 
			
			 | 
		#1 | 
| 
			
			 Новичок 
			
			
			
			Регистрация: 11.06.2008 
				Адрес: г.Нефтеюганск 
				
				
					Сообщений: 4
				 
				 
Вы сказали Спасибо: 0 
	
		
			
				Поблагодарили 0 раз(а) в 0 сообщениях
			
		
	 
![]()  | 
	
	
	
		
		
			
			 
			
			Привет всем!!!. У меня TRS 2006 Вот очень сильно хочу разобраться как делать сценарии с помощью скриптов. Прочитал много информации, смотрел примеры ну что у меня не чего получается, уже неделю долблюсь сделать простой скрипт  просто поставить 
		
		
		
		
		
		
		
	поезд на маркер и управлять им потом. Для этого я создал маршрут простой две станции A и B, затем создал сессию Для него. Затем в Content Manager импортирую скрипт, жму Ctrl+M захожу В Trainz в редактор маршрутов выбираю свою сессию в созданном маршруте Потом в правилах сессии добавляю скрипт сохраняю. Перехожу в Driver Выбираю свой маршрут и ту сессию где скрипт все загружается но поезда нет Вот сам скрипт и конфиг: kind "behavior" username testsc script testsc class testsc kuid <kuid:200108:0005> region Russia category-region-0 RU category-era-0 1990s category-class YS kuid-table { Default <kuid:-2:1091> vl10a <kuid2:166294:260:1> } description "Script" Cкрипт: nclude "ScenarioBehavior.gs" include "browser.gs" include "locomotive.gs" game class testsc isclass ScenarioBehavior { Train mytrain; KUID[] mytrainSpec = new KUID[0]; thread void main(void) { Monitor(); mytrainSpec[0] = World.FindKUID("vl10a"); mytrainSpec[1] = mytrainSpec[0]; mytrain = World.CreateTrain(mytrainSpec,"msta2",true); mytrain.SetAutopilotMode(Train.CONTROL_MANUAL); } }; Помогите пожалуйста разобраться что я делаю не так, очень надо  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
|         
            
             | 
        |
| 
 
             Яndex
             
 
            Спонсор 
                Регистрация: 01.01.2007 
 
 
                
                    Сообщения: 500
                 
            Реклама показывается изредка по случайному принципу  | 
 
    
 
 
 
            
             | 
| 
			
			 | 
		#2 | |||
| 
			
			 Матёрый пользователь 
			
			
			
				
			
			Регистрация: 30.08.2007 
				Адрес: Московская область, 36км 
				
				
					Сообщений: 3,620
				 
				 
Вы сказали Спасибо: 263 
	
		
			
				Поблагодарили 304 раз(а) в 172 сообщениях
			
		
	 
![]()  | 
	
	
	
		
		
			
			 Цитата: 
	
 Цитата: 
	
 Цитата: 
	
  | 
|||
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#3 | 
| 
			
			 Матёрый пользователь 
			
			
			
			
	 | 
	
	
	
		
		
			
			 
			
			behavior - кайнд правила сессии, а не сценария
		 
		
		
		
		
		
		
		
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#4 | 
| 
			
			 Новичок 
			
			
			
			Регистрация: 11.06.2008 
				Адрес: г.Нефтеюганск 
				
				
					Сообщений: 4
				 
				 
Вы сказали Спасибо: 0 
	
		
			
				Поблагодарили 0 раз(а) в 0 сообщениях
			
		
	 
![]()  | 
	
	
	
		
		
			
			 
			
			А вот если сделать вот так: 
		
		
		
		
		
		
		
	kind "activity" username "testsc" scriptlibrary "testsc" scriptclass "testsc" kuid <kuid:200108:0011> region "Russia" category-region-0 "RU" category-era-0 "1990s" category-class "YS" description "Script" asset-filename "Mashinist" kuid-table { test-script-map <kuid:-2:1091> vl10a vl10a <kuid2:166294:260:1> } Скрипт include "trainz.gs" include "navigate.gs" include "train.gs" include "turntable.gs" include "junction.gs" game class testsc isclass Scenario { Train mytrain; bool JunctionHand = true; KUID[] mytrainSpec = new KUID[0]; bool Load(string data) { if(!World.LoadMap(World.FindKUID("test-script-map"))) { Interface.Log("Error loading scenario map"); return false; } Interface.AdjustScore(1000); return true; } thread void main(void) { sostav[0] = World.FindKUID("vl10a"); sostav[1] = sostav[0]; mytrain = World.CreateTrain(sostav,"msta2",true); World.SetCamera(mytrain.GetVehicles()[0],World.CAMERA_INTERNAL); Sleep(10); } }; То в TRS2006 в Driver в разделе Scenario появляется скрипт все работает нормально Появляется локомотив, ну так не совсем подходит так, как загружается карта без Сессии и соответственно сигналка z6 не работает так как она не настроена, теперь Вопрос а можно как не будь сделать так чтоб и сессия подгружалась.  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#5 | 
| 
			
			 Матёрый пользователь 
			
			
			
				
			
			Регистрация: 30.08.2007 
				Адрес: Московская область, 36км 
				
				
					Сообщений: 3,620
				 
				 
Вы сказали Спасибо: 263 
	
		
			
				Поблагодарили 304 раз(а) в 172 сообщениях
			
		
	 
![]()  | 
	
	
	
		
		
			
			 
			
			Думаю, да, есть правило Custom Script для сессий.
		 
		
		
		
		
		
		
		
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#6 | 
| 
			
			 Новичок 
			
			
			
			Регистрация: 11.06.2008 
				Адрес: г.Нефтеюганск 
				
				
					Сообщений: 4
				 
				 
Вы сказали Спасибо: 0 
	
		
			
				Поблагодарили 0 раз(а) в 0 сообщениях
			
		
	 
![]()  | 
	
	
	
		
		
			
			 
			
			Большое спасибо 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(); } }; Этот скрипт получается как правило сессии  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#7 | 
| 
			
			 Матёрый пользователь 
			
			
			
			
	 | 
	
	
	
		
		
			
			 
			
			так он и должен в этом случае быть правилом сессии
		 
		
		
		
		
		
		
		
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
![]()  | 
	
	
| Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
| Опции темы | |
| Опции просмотра | |
		
  | 
	
		
  | 
| 
 | 
![]() Что это?  |