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

sim

Обсуждение других железнодорожных симуляторов

Re: sim

Сообщение break » 11.01.2010, 00:57

Это лишь один из возможных способов. Другое дело, что в АГС есть методы и поудобнее.

пример можно?
Аватара пользователя
break
 
Сообщения: 202
Зарегистрирован: 26.02.2007, 16:49
Откуда: Voronezh
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.

Re: sim

Сообщение AlexanderG » 11.01.2010, 01:27

Клуб из 10 строчек
КЛУБ из 1920 строк, внедряется в кабину десятью. Читай внимательнее.

Ну не верю я что Клуб из 10 строчек будет работать как реальный - К799/800 может?, К0? П, Л
Команды не делал пока, т.к. не решено, нужно ли оно. Но можно сделать.

отработка кривой
Да. Мог видеть на скриншоте из ЭР2т, там 31км\ч горел, все по кривой.

Никто с экспортированными ф-ями не работает - может поэтому все дико отреагировали на ДЛЛ?
Насколько я знаю, ДЛЛ только функции экспортирует. У тебя СОМ что ли?

давай
Даю:
Код: Выделить всё
Hierarchical listing of all Trainz API classes:


AITrainScope
BrowserInterface
CabinControlSetting
CabinData
DefaultSteamCabinData
Command
Constructors
ControlSettingsManager
CustomCommand
AiHornMsg
DriverScheduleCommand
Flags
GSObject
Asset
GameObject
Browser
CabinControl
DriverCommand
DriverCommands
OnlineAccess
OnlineGroup
Scenario
Track
Train
TrainzGameObject
Library
MeshObject
Bogey
Cabin
DefaultLocomotiveCabin
DefaultSteamCabin
MapObject
SceneryWithTrack
Buildable
Industry
BaseIndustry
GenericPassengerStation
BasePortal
GenericIndustry
Crossing
Turntable
Trackside
Junction
Signal
TrackMark
Trigger
Vehicle
Locomotive
ModuleScript
DriverCharacter
ScenarioBehavior
ConditionalScenarioBehavior
HTMLPropertyHandler
BaseIndustryInfo
ConfigAssetHandler
AssetCheckListHandler
CheckListPropertyHandler
RadioButtonListHandler
EnumeratedAssetHandler
EnumeratedGameObjectHandler
EnumeratedPropertyHandler
EnumeratedMultiPropertyHandler
GenericBoolHandler
CheckBoxHandler
GenericIntNumberHandler
GenericStringHandler
ConsistHelperInfo
HTMLPropertyGroup
ConsistListHelper
ConfigAssetGroupHandler
CheckListGroupHandler
RadioButtonGroupHandler
GenericListHandler
TrainHelperInfo
VehicleHelperInfo
LoadHelperInfo
PassengerStationInfo
SpecificVehiclesInfo
DriversInfo
VehicleTypesInfo
VHISpecificVehiclesInfo
VHIDriversInfo
VHIVehicleTypesInfo
IndustryTrainController
KUID
KUIDList
LoadingReport
Menu
Permit
ProductFilter
ProductQueue
Soup
StringTable
TrainTimetable
GSTrackSearch
HTMLWindow
IndustryProcessInfo
IndustryProductInfo
IndustryProductInfoCollection
IndustryProductInfoComplete
IndustryProductInfoProcess
IndustryProductInfoQueues
IndustryProductInfoTracks
Interface
InterfaceAlert
InterfaceObjective
IPICProcess
IPICQueue
IPICTrack
ITCTrainCommand
JunctionBase
Junction
JunctionBaseGameObject
JunctionPermitInfo
LinkedData
LinkedList
Log
LogScope
Math
Message
Navigate
NumberValueInt
PropertyBrowser
PropertyObject
MeshObject
ScenarioBehavior
PropertyValue
Requirement
ResourceRequirement
Router
ScenarioStringTable
ScenarioSupport
Schedule
ScheduleHistoryRec
ShuntTrack
SignalBehaviour
StationBehaviour
Str
Timetable
TimetableState
TrackLoadInfo
TrainTimetableItem
TrainUtil
Trainz
VehicleDescriptor
World
World1

К сожалению, форматирование не переносится, так что получился список.

И через 5 страниц выясняется что все спорили с тем же, чем сами пользуетесь.
Это гипотетический пример. Когда с этой необходимостью реально столкнемся, будем искать более элегантный способ.

Давай по пунктам - это интересно!
У тебя я пока увидел только зайчатки физики. Широты возможностей по настройке объектов на карте, такой, какую я вижу в ТРС, пока не заметил.

Согласен.. Но это возможно при обоих подходах.
Хорошо, такой пример. В АГС я запускаю поток, указав ключевое слово thread в объявлении функции, а в С++?
Join Dropbox and SHARE YOUR SHIT FOR FREE!
AlexanderG
 
Сообщения: 761
Зарегистрирован: 27.06.2009, 16:54
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Блог: Просмотр блога (2)
Имя: Александр

Re: sim

Сообщение TRam_ » 11.01.2010, 03:54

else if (delta < -0.001) // ликвидация сверхзарядки постоянным темпом
m_pResEQ_Vol->setPressure( getEQ_P() - 150*fSec );
нехорошо так... Скорость ликвидации регулируется редуктором...

И через 5 страниц выясняется что все спорили с тем же, чем сами пользуетесь.


раньше пользовались. Теперь нет. Пример:

а) cтарый подход (твой) (описания GetMyPosition и SetCoupler не даю)

Код: Выделить всё
class positiont1
{
public int a;
public Vehicle VF;
public Vehicle VB;
};

   positiont1 GetMyPosition(Train MyTrain)
      {
      //// Возвращет позицию вагона в составе в а
      //// 0   -   одиночный
      //// 1   -   Первый
      //// 2   -   В центре
      //// 3   -   Последний

      //// Возвращает номер вагона в составе в b

      //// обявляем переменные ////
      Vehicle[] TrainVehiclesArray;
      int ArraySize;

      positiont1 result=new positiont1();
      //// ------------------- ////


      TrainVehiclesArray = MyTrain.GetVehicles();      //// получаем массив вагонов в составе

      
      ArraySize = TrainVehiclesArray.size();         //// получаем количестово элементов массива(количество вагонгов в составе)

      
      if (ArraySize == 1)                        //// вагон одиночный
         {
         result.a = 0;
         }
      else if (me == TrainVehiclesArray[0])         //// вагонов больше одного, этот вагон находиться первым в составе
         {
         result.a = 1;
         result.VB=TrainVehiclesArray[1];
         }
      else if (me == TrainVehiclesArray[ArraySize-1])   //// вагонов больше одного, этот вагон находиться в конце состава
         {
         result.a = 3;
         result.VF=TrainVehiclesArray[ArraySize-2];
         }
      else                                 //// вагонов больше одного, этот вагон находиться в центре состава
         {
         result.a = 2;

         int i=2;
         while(i<(ArraySize-1) and me != TrainVehiclesArray[i])
            i++;

         result.VF=TrainVehiclesArray[i-1];
         result.VB=TrainVehiclesArray[i+1];
         }   

      return result;
      
      }



thread void CouplerMonitor(void)
   {
   int   pos;
   Train   MyTrain;
   bool   direction;
   positiont1 position;

   while (1)   // чисто твой подход - перепроверяем каждые 3 секунды, сцеплены ли мсы с соседними вагонами
         {
         MyTrain   = me.GetMyTrain();   
         if (MyTrain != null)      
            {
            direction = me.GetDirectionRelativeToTrain();
            position = GetMyPosition(MyTrain);         
   
            pos = position.a;               
            SetCoupler(pos, direction);            
            
            
            }
         Sleep(3);   //ожидание потоком своей очереди, 3 секунды   
         }

   }


public void Init(void)
      {
      CouplerMonitor();// создание потока
      }


б) новый подход


Код: Выделить всё
void MyPosition(void)
   {

   Train MyTrain=me.GetMyTrain();
   if(MyTrain!=null)
      {
      Vehicle[] TrainVehiclesArray = MyTrain.GetVehicles();
int a=me.GetMyNumber(TrainVehiclesArray);
       int size_of_train=TrainVehiclesArray.size();

      bool direction = (cast<Vehicle>me).GetDirectionRelativeToTrain();


      if(size_of_train==1)   //вагон одиночный
         {
         inFront=null;
         inBack=null;
         SetCoupler(0,direction);
         }
      
      else if(a==0)   //// вагонов больше одного, этот вагон находиться первым в составе
         {
         inFront=null;
         inBack=TrainVehiclesArray[1];
         SetCoupler(1,direction);
         }
      else if(a<(size_of_train-1)) //// вагонов больше одного, этот вагон находиться в центре состава
         {
         inFront=TrainVehiclesArray[a-1];
         inBack=TrainVehiclesArray[a+1];
         SetCoupler(2,direction);
         }
      else             //// вагонов больше одного, этот вагон находиться в конце состава
         {
         inFront=TrainVehiclesArray[size_of_train-2];
         inBack=null;
         SetCoupler(3,direction);
         }
      }
   }


void CoupleHandler(Message msg)   // обработчик сцепления
{
if(msg.src==me)      //мы сцепились
   {
   me.MyPosition();
   }
}


void DecoupleHandler(Message msg)  // обработчик расцепления
{

if(msg.src==me or msg.src==inFront or msg.src==inBack)      //мы, либо соседний вагон, расцепилсись
   {
   me.MyPosition();
   }
}


public void Init(void)
      {

      me.AddHandler(me,"Vehicle","Coupled","CoupleHandler");      //добавление обработчика на сообщение (событие) "Coupled","CoupleHandler"
      me.AddHandler(me,"Vehicle","Decoupled","DecoupleHandler");   //добавление обработчика на сообщение (событие) "Vehicle","Decoupled"

      }




В АГС я запускаю поток, указав ключевое слово thread в объявлении функции, а в С++?




под линуксом как-то так (год назад было, забыл уже...)

(некий поток)
{
fork();
if(ppId()!=0)
{
//инструкции наследнику
}
else
{
//инструкции родителю
}
free();
}


в трс:


объявление функции - "работа наследника"


thread void H(...)
{
//инструкции наследнику
}


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

Re: sim

Сообщение break » 11.01.2010, 04:11

нехорошо так... Скорость ликвидации регулируется редуктором...

иди уже читать книжки
Так как истечение воздуха из уравнительного объема в атмосферу происходит все время при постоянном давлении в камере У3, то стабилизатор обеспечивает постоянный темп ликвидации сверхзарядного давления из уравнительного объема.
Темп ликвидации сверхзарядного давления из тормозной магистрали не зависит от наличия и величины утечки из нее.

будет меня учить :-) - это ты говорят супер симулятор тормозов написал? и еще хвастался там какой-то линейностью?


дочитал в исходнике до этой строки
// чисто твой подход - перепроверяем каждые 3 секунды, сцеплены ли мсы с соседними вагонами

и понял - что ты полный ноль - уже доугие ребята поняли что такое Листенер провели аналогию с какими-то вашими полями в Trainz - которые никто по таймеру ни тут ни там не проверяет

Код: Выделить всё
под линуксом как-то так (год назад было, забыл уже...)

(некий поток)
{
fork();
if(ppId()!=0)
{
//инструкции наследнику
}
else
{
//инструкции родителю
}
free();
}


в трс:


объявление функции - "работа наследника"


thread void H(...)
{
//инструкции наследнику
}


(некая внешняя ф-ция либо поток-родитель)
{
H(...);
//инструкции родителю
}

---- и это тоже полный треш

TRam_ - ты выскочка - и меня могут забанить но ты точно ничего не пытаешься тут сделать хорошего или указать на недостатки так как даже не пытаешься понять в деталях о чем идет разговор.
Аватара пользователя
break
 
Сообщения: 202
Зарегистрирован: 26.02.2007, 16:49
Откуда: Voronezh
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.

Re: sim

Сообщение AlexanderG » 11.01.2010, 04:41

нехорошо так... Скорость ликвидации регулируется редуктором...

иди уже читать книжки
Да, Вов, иди. Стабилизатором она регулируется. Без обид.
Join Dropbox and SHARE YOUR SHIT FOR FREE!
AlexanderG
 
Сообщения: 761
Зарегистрирован: 27.06.2009, 16:54
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Блог: Просмотр блога (2)
Имя: Александр

Re: sim

Сообщение agmike » 11.01.2010, 12:06

http://codepaste.ru/2929/
http://codepaste.ru/2930/
http://codepaste.ru/2931/
http://codepaste.ru/2932/
http://codepaste.ru/2933/
http://codepaste.ru/2934/
http://codepaste.ru/2935/
http://codepaste.ru/2936/
http://codepaste.ru/2937/
http://codepaste.ru/2938/
http://codepaste.ru/2939/

Все основное здесь. Приложил АПИ, в нем есть иерархия, правда он 2006 года и немного устарел, но здесь большего не надо: http://narod.ru/disk/16779046000/API.chm.html

break писал(а):
Это лишь один из возможных способов. Другое дело, что в АГС есть методы и поудобнее.

пример можно?

Сообщения. Объект может подписаться на определенные сообщения. При его получении будет вызвана заданная функция. Также любой поток может остановить свое выполнение до получения определенного сообщения.
The Cake is a Lie.
agmike
 
Сообщения: 1025
Зарегистрирован: 26.08.2006, 12:43
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
Играю в: Пульт ДНЦ

Re: sim

Сообщение break » 11.01.2010, 17:19

Спасиибо за исходником - буду смотреть.

Сообщения. Объект может подписаться на определенные сообщения. При его получении будет вызвана заданная функция. Также любой поток может остановить свое выполнение до получения определенного сообщения.

Не находишь 100% аналогию с Лисненером?
Аватара пользователя
break
 
Сообщения: 202
Зарегистрирован: 26.02.2007, 16:49
Откуда: Voronezh
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.

Re: sim

Сообщение АЧ2-047 » 11.01.2010, 23:07

Если почитать форум и лицензионное соглашение к EU07, выяснится, что игра "полусвободная", т.е. на открытом движке, но из неё нельзя "воровать" модели, текстуры и т.п.
количество зубьев на валах

Вот этого нет, зато есть коэффициент отношения оборотов движков к оборотам КП.
TS2009 v.3.1 (Акелла)
MaSzyna EU07 v. 1.2.0.2, сборка 2009
MSTS bin v.1.8
Аватара пользователя
АЧ2-047
 
Сообщения: 374
Зарегистрирован: 12.11.2006, 18:30
Откуда: Москва
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Играю в: ZDSim
Имя: Алексей

Re: sim

Сообщение break » 12.01.2010, 01:59

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

Где ссылка на исходник? Раз ты читал форум на польском (или чешском - я не знаю какая национальность у них) то дай ссылку.
Кроме того что ты называешь движком - есть куча открытых игровых движков, графических движков и т.д. но им до движка "симулятора ПС" очень много работы.

Вот этого нет, зато есть коэффициент отношения оборотов движков к оборотам КП.

Этого недостаточно я сам пытался попробовать такой расчет - нет исходных данных на упомянутый выше коэффициент C(характеризующий некоторые особенности конкретного двигателя ). А вообще формула его расчета состоит из "количество витков", "обмоток" и других параметров двигателя... Даже если умудриться сделать так (а не ломанными линиями как ты их назвал) то надежда на то что кто-то сделает дополнение - свой ПС - будет равна 0! Да и зачем Тяговые характеристики уже в себе содержат всю информацию необходимую для получения силы и тока на якоре. А реостатные характеристики - тока возбуждения. Их придумали ученые для Тяговых Расчетов. Кроме того эти характеристики можно снять самому с Подвижного Состава с помощью например РПДА.
Аватара пользователя
break
 
Сообщения: 202
Зарегистрирован: 26.02.2007, 16:49
Откуда: Voronezh
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.

Re: sim

Сообщение AlexanderG » 12.01.2010, 10:39

Даже если умудриться сделать так (а не ломанными линиями как ты их назвал) то надежда на то что кто-то сделает дополнение - свой ПС - будет равна 0!
Я в последнее время нахожу полином, описывающий тяговую характеристику, и силу считаю через него, очень удобно.
Join Dropbox and SHARE YOUR SHIT FOR FREE!
AlexanderG
 
Сообщения: 761
Зарегистрирован: 27.06.2009, 16:54
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Блог: Просмотр блога (2)
Имя: Александр

Re: sim

Сообщение SergXcom_ » 31.01.2010, 18:43

Есть какиенибудь обновления?
SergXcom_
 
Сообщения: 48
Зарегистрирован: 29.05.2009, 11:54
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: sim

Сообщение BooYa » 06.02.2010, 06:26

Простите, я тут может не по адресу. Но вот я 6 страниц прочитал про какой-то неизвестный мне доселе "КЛУБ".....Если несложно, объясните мне пожалуйста, что это такое, жутко любопытно
Аватара пользователя
BooYa
 
Сообщения: 3750
Зарегистрирован: 24.01.2010, 16:30
Откуда: Екатеринбург
Благодарил (а): 1556 раз.
Поблагодарили: 2965 раз.
Играю в: Train Simulator Classic
Роль: Разработчик
Имя: Андрей

Re: sim

Сообщение break » 06.02.2010, 06:58

Комплексное Локомотивное Устройство Безопасности (в Google) - идея хорошая (GPS навигация, кривая скорости при приближении к сигналу и ограничениям скорости и т.д.), реализация как всегда далека от идеала по удобству надежности и т.д. Тем не менее этот прибор активно продвигается и ставится вместо 3CЛ2м и других "скоростемеров" на все виды подвижного состава.

А вообще вот отличная статья по локомотивным проборам безопасности http://depositfiles.com/files/77dsw2n4z
Аватара пользователя
break
 
Сообщения: 202
Зарегистрирован: 26.02.2007, 16:49
Откуда: Voronezh
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.

Re: sim

Сообщение break » 02.03.2010, 04:29

Изображение

Изображение

Изображение

Изображение
Аватара пользователя
break
 
Сообщения: 202
Зарегистрирован: 26.02.2007, 16:49
Откуда: Voronezh
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.

Re: sim

Сообщение АЧ2-047 » 02.03.2010, 17:53

Красиво, но расстояние между опорами КС просто огромное.
TS2009 v.3.1 (Акелла)
MaSzyna EU07 v. 1.2.0.2, сборка 2009
MSTS bin v.1.8
Аватара пользователя
АЧ2-047
 
Сообщения: 374
Зарегистрирован: 12.11.2006, 18:30
Откуда: Москва
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Играю в: ZDSim
Имя: Алексей

Пред.След.

Вернуться в Другие ЖД симуляторы

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

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