Форум Trainsim  

Вернуться   Форум Trainsim > Auran TrainZ > TrainZ - Маршруты и сценарии

 
 
Опции темы Опции просмотра
Старый 12.11.2007, 22:39   #2
GSTrainz
Опытный
 
Регистрация: 14.09.2007
Сообщений: 110
Вы сказали Спасибо: 6
Поблагодарили 1 раз в 1 сообщении
GSTrainz стоит на развилке (репутация по умолчанию)
По умолчанию

Я в сценарии резервирую переменные для каждого пути.Если путь занят-p4=1(например)-все-на этот путь маршрута не будет.Зациклив проверку по количеству путей,программа находит свободный и готовит на него маршрут.Если свободных путей несколько-маршрут готовится на ближайший к главному.Пример для станции с 8 путями.3 путь-главный.1-3 для пассажирских.4-8 для грузовых
int p1,p2,p3,p4,p5,p6,p7,p8;

// программа расставляет на станции составы и вагоны(сдесь надо оставить по одному свободному пути для грузового и пассажирского поезда.
// программа начинает работать при вхождении поезда в зону станции(наезда на триггер-на достаточном удалении от станции-чтобы хватило времени на нижеперечисленные действия)
//расставляем пассажирские
for (i = 1; i<3; ++i)
{
m=MathRand(1,10);
n=MathRand(1,21);

if (m<5){train[i]=World1.CreateTrain("sostav"+n,"S"+i, true);p[i]=1;tr[i]=1;Sleep(3);}
}
//расставляем грузовые
for (i = 3; i<8; ++i)
{
m=MathRand(1,10);
n=MathRand(20,60);
if (m<5){train[i]=World1.CreateTrain("sostav"+n,"S"+i, true);p[i]=1;tr[i]=1;Sleep(3);}
}
теперь перебираем пути для пассажирского и грузового парка-в зависимости от номера нашего поезда nn(<21-пассажирский >20-грузовой)
//для пассажирских
if (nn<21)
{
for (i = 1; i<3; ++i)
{
{if (p[i]==0){np=i;i=3;}
}

//для грузовых
if (nn>20)
{
for (i = 8; i>3; --i)
{
{if (p[i]==0){np=i;i=3;}
}
//свободный путь найден.теперь готовим на него маршрут
if (np==1)
{
// переключаем стрелки на путь 1
}
if (np==2)
{
// переключаем стрелки на путь 2
}
и так далее...
//выполнение программы управления движением
Это все позволяет работать станции в автоматическом режиме.Как вручную переключать стрелки в сценарии-я не знаю.
А теперь поправте меня в синтаксисе,уважаемые знатоки скриптов.Все вышеприведенное-теоритически.На практике- .
GSTrainz вне форума   Ответить с цитированием
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 03:41. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim
TopList Нажми для появления дома Trainsim на карте Intermap
Что это?