Все модели Московского Метро

Разработка и эксплуатация подвижного состава

Re: Все модели Московского Метро

Сообщение kemal » 09.10.2010, 11:40

А что за сигналка?
<kuid:216981:******>
куид.ру не нужен
Аватара пользователя
kemal
 
Сообщения: 375
Зарегистрирован: 10.02.2006, 18:21
Откуда: Казань
Благодарил (а): 4 раз.
Поблагодарили: 7 раз.
Блог: Просмотр блога (4)
Играю в: Auran Trainz
Роль: Разработчик
Имя: Камиль

Re: Все модели Московского Метро

Сообщение alTerr » 09.10.2010, 11:43

Сигналка моя временная, она будет потом более грамотно расстановлена и доработана
alTerr
 
Сообщения: 60
Зарегистрирован: 29.05.2007, 06:43
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Все модели Московского Метро

Сообщение Mr. Angelo » 09.10.2010, 11:48

я бы сделал видео с каховки с информатором, но у меня fraps не пишет звук,

У тебя ноутбук со звуком на чипе IDT? :)

Текстуры по лучше стали, радует.
Аватара пользователя
Mr. Angelo
 
Сообщения: 3227
Зарегистрирован: 03.01.2004, 22:22
Откуда: Тюмень
Благодарил (а): 361 раз.
Поблагодарили: 526 раз.
Блог: Просмотр блога (9)
Играю в: Train Simulator Classic
Роль: Сотрудник РЖД
Имя: Андрей

Re: Все модели Московского Метро

Сообщение AlexanderG » 10.10.2010, 13:16

Сигналка моя временная, она будет потом более грамотно расстановлена и доработана
Не торопись, я вскорости выложу для вас M-Signals и напишу/откопаю инструкцию.

пока я и один хороший человек работаем над кабинами, как выяснилось, используется какая-то часть от некогда опубликованного скрипа Combine
это видно по скоростям на экране:

хотя тут еще имеются скрипты написанные нами, я не знаю точно, можно ли эту кабину будет публиковать, и надо обязательно узнать у авторов
не знаю к кому обращаться, то жду ответа по ЛС или здесь, надеюсь, что можно, ведь если нет - то разработка линии отбросится на пару месяцев назад
Можно.

Вот текущий вариант скрипта (с сюрпризом):
Код: Выделить всё
include "defaultlocomotivecabin.gs"
include "locomotive.gs"
include "trainz.gs"
include "gs.gs"
include "common.gs"
include "world.gs"
include "vehicle.gs"
include "train.gs"

class TPhyObject
{
   public float X = 0;
   public float Y = 0;
   
   public float Vx = 0;
   public float Vy = 0;
   
   public float m = 0;
   
   public void Reset(void)
   {
      X = 0;
      Y = 0;
      
      Vx = 0;
      Vy = 0;
      
      m = 0;
   }
};

class ALS_Cab isclass DefaultLocomotiveCabin
{
   public void Attach(GameObject obj);
   thread void ALSG(void);
   void ARS (int ALSCode);
   public void Init(void);
   int ARSState = 0;
   Asset myasset;
   
     TPhyObject Wag;
   TPhyObject Bog;
   TPhyObject Wh;

   float ov = 0.0;
   float z = 0;
   float dt = 10.0;
   int kv_pos = 0;
   int kv_pos_old = 0;
   
        int cpos = 0;
      int cposc = 0;
    bool cd = false;
   
   thread void KB(void)
   {
      float a = 0.0;
      bool vz1_locked = false;
      bool add = false;
      float tadd = 0.0;
      while(true)
      {
         Sleep(0.05);
       cd = !cd;
      z = z*0.7 + (loco.GetMyTrain().GetVelocity() - ov)*0.3/0.05;
         
      //Interface.Print(loco.GetMyTrain().GetVelocity() - ov + " " + ov);
      ov = loco.GetMyTrain().GetVelocity()*0.5 + ov*0.5;
         
         tadd = 0.0;
         float vel = loco.GetVelocity() * 3.6;
         kv_pos = GetNamedControl("throttle_lever2").GetValue();
      

   if ((kv_pos_old >= 0) and (kv_pos < 0))
      Sleep(0.5);

   kv_pos_old = kv_pos;

         if (GetNamedControl("throttle_lever2").GetValue() > 0)
            kv_pos = GetNamedControl("throttle_lever2").GetValue() + 0.3;
         if (GetNamedControl("throttle_lever2").GetValue() < 0)
            kv_pos = GetNamedControl("throttle_lever2").GetValue() - 0.3;
         if (kv_pos > 3)
            kv_pos = 3;
         if (kv_pos < -3)
            kv_pos = -3;

         if ((ARSState == 1) or (ARSState == 2))
            kv_pos = -3;

         if (vel > 0.1)
         {
         if (vz1_locked)
            loco.SetEngineSetting("loco-auto-brake",100);
         if ((kv_pos < -1) and (cposc > 16) and (a > -0.4))
            loco.SetEngineSetting("loco-auto-brake",100);
         }

         if (kv_pos == 0)
         {
            if (loco.GetEngineSetting("reverser") != 1)
               World.PlaySound(myasset,"sound/razbor.wav",1.0f,2,10,loco,"a.cabfront");

            cpos = 1;
            cposc = 1;
            loco.SetEngineSetting("throttle",0);

            loco.SetEngineSetting("dynamic-brake",0);
            loco.SetEngineSetting("reverser",1);
         }
         if (kv_pos == 1)
         {
            loco.SetEngineSetting("loco-auto-brake",0);
            loco.SetEngineSetting("dynamic-brake",0);
            loco.SetEngineSetting("reverser",2);
            if (cpos == 0)
               cposc = 1;
            if (cposc > 0)
               cpos = cposc;
         }
         if (kv_pos == 2 and cd)
         {
            cpos = (vel / 35.0) *24 + 6;
            if (cposc < 6)
               cposc = 6;
            if (cpos > 32)
               cpos = 32;
            if (cposc < cpos)
               ++cposc;
            if ((cposc  < 32) and (loco.GetEngineParam("applied-force") < 33000) and (vel < 25))
               tadd = 8.0;
         }
         if (kv_pos == 3 and cd)
         {
            if (cpos < 32)
            cpos = (vel / 35.0) *24 + 6;
            if (cpos >= 32)
               cpos = 32 + (vel - 32)*4 / 23.0;
            if (cpos > 36)
               cpos = 36;
            if (cposc < cpos)
               ++cposc;

            if ((cposc  < 36) and (loco.GetEngineParam("applied-force") < 33000) and (vel < 30))
               tadd = 8.0;
         }
         if (kv_pos > 0)
         {
            float ttl = 0;
            if (vel > 3.0)
               vz1_locked = false;
            loco.SetEngineSetting("loco-auto-brake",0);

            if (cposc == 1)
               ttl = 1;
            if (cposc <= 32)
               ttl = 1 + (cposc / 32.0)*3.0;
            if (cposc > 32)
               ttl = 4 + ((cposc - 32) / 4.0);

            if ((cpos - cposc  >  0) and (cpos - cposc  < 7) )
               ttl = 8;

            loco.SetEngineSetting("reverser",2);
            loco.SetEngineSetting("throttle",ttl + tadd);
            if (loco.GetEngineSetting("reverser") != 2)
            {
               loco.SetEngineSetting("throttle",0);
               loco.SetEngineSetting("reverser",2);           
            }
         }

      a = (-0.06 - cposc*0.17/18.0) * (vel - (37 - cposc*35/18.0));
      if (a > 0)
         a = 0;
         if (kv_pos == -1)
         {
            loco.SetEngineSetting("reverser",2);
            loco.SetEngineSetting("dynamic-brake",2);
            loco.SetEngineSetting("throttle",0.01);
            if (!vz1_locked)
               loco.SetEngineSetting("loco-auto-brake",0);
            if (cposc == 1)
            {
               //a = -0.03 * (vel - 30);
               if (a < -0.4)
                  a = -0.4;
            }
            add = false;
         }
         if (kv_pos == -2 and cd)
         {
            loco.SetEngineSetting("reverser",2);
            loco.SetEngineSetting("dynamic-brake",2);
            loco.SetEngineSetting("throttle",0.01);

            //if ((cposc >17) and (a > -0.8))
            //   loco.SetEngineSetting("loco-auto-brake",100);

         if ((a > -1.07) and (!add) and (cposc < 18))
            {
               add = true;
               cposc++;
            }

            if (cposc == 1)
            {
               //a = -0.03 * (vel - 30);
               if (a < -1.07)
                  a = -1.07;
            }
         
            add = true;
         }
         if (kv_pos == -3 and cd)
         {
            cpos =18;// 18 - (vel - 10)*18 / 55;
            if (cpos > 18)
               cpos = 18;
            if (cpos < 0)
               cpos = 0;

            if ( (a > -1.07) and (cposc < 18) )
            {
               ++cposc;
            }
            if ((cposc >17) and (a > -0.8))
               loco.SetEngineSetting("loco-auto-brake",100);

         }
         if (kv_pos < 0)
         {
            //float ttl = 0;
            //loco.SetEngineSetting("throttle",1);

            if ((vel < 1) and (kv_pos < -1) and (cposc > 17))
                vz1_locked = true;

            //if (cposc != 0)
            //   a = (-0.03 - cposc*0.18/18.0) * (vel - (30 - cposc*25/18.0));
            if (a < -1.2)
               a = -1.2;
            if (a > 0)
               a = 0;
         
         loco.SetEngineSetting("throttle",-a);
         
            loco.GetMyTrain().AddVelocity(a*0.05);
            //Interface.Print("KB=" + kv_pos + "  pos=" + cposc + "  ttl=" + loco.GetEngineSetting("throttle") + "  f=" + loco.GetEngineParam("applied-force") + "  a=" + a);
         }
      }
   }

   public void PhyTick(float dt)
   {
      int i = 0;
      float ft = dt / 40.0;
   
      for (i = 0; i < 10;++i)
      {
         if (!Wh or !Bog or !Wag)
            return;
      
         float XForce = (Wh.X - Bog.X)*1000.0*10000.0 + (Bog.X - Wag.X)*100.0*10000.0;
         float YForce = (Wh.Y - Bog.Y)*585.0*10000.0 - (Bog.Y - Wag.Y)*585.0*10000.0 - Bog.m*9.8;
         float XAccel = XForce/Bog.m;
         float YAccel = YForce/Bog.m;
         
         Wh.X = Wh.X*0.98 + Wh.Vx*ft;
         Wh.Y = Wh.Y*0.98 + Wh.Vy*ft;
         
         if (Math.Rand(0,1000) < Math.Fabs(loco.GetVelocity()))
         {
            Wh.Vx = Math.Rand(-1.0,1.0)*loco.GetVelocity()*0.03;
            Wh.Vy = Math.Rand(-1.0,1.0)*loco.GetVelocity()*0.06;
         }
         
         Bog.Vx = Bog.Vx*0.998 + ft*XAccel;
         Bog.Vy = Bog.Vy*0.997 + ft*YAccel;

         Bog.X = Bog.X + ft*Bog.Vx;
         Bog.Y = Bog.Y + ft*Bog.Vy;
         
         XForce = (Bog.X - Wag.X)*100.0*10000.0;
         YForce = (Bog.Y - Wag.Y)*585.0*10000.0 - Wag.m*9.8;

         YForce = YForce - Math.Fmin(240000*(Bog.Vy + Wag.Vy),150000);
         XForce = XForce - Math.Fmin(240000*(Bog.Vx + Wag.Vx),150000);

         XAccel = XForce/Wag.m;
         YAccel = YForce/Wag.m;

         Wag.Vx = Wag.Vx*0.999 + ft*XAccel;
         Wag.Vy = Wag.Vy*0.997 + ft*YAccel;

         Wag.X = Wag.X + ft*Wag.Vx;
         Wag.Y = Wag.Y + ft*Wag.Vy;
         
         if (Wag.Y > 0.2)
            Wag.Y = 0.2;
         if (Wag.Y < -0.2)
            Wag.Y = -0.2;
            
         if (Bog.Y > 0.2)
            Bog.Y = 0.2;
         if (Bog.Y < -0.2)
            Bog.Y = -0.2;
      }
   }
   
   float vz1st = 0.0;

   public void Update()
   {
      inherited();
      dt = World.GetSeconds() - dt;
      
      if (dt < 1.0)
         PhyTick(dt);
         
      dt = World.GetSeconds();

      loco.SetMeshTranslation("default",Wag.X,z*0.021,Wag.Y);
      
      if (loco.GetEngineSetting("loco-auto-brake")  < vz1st)
         World.PlaySound(myasset,"sound/vz1_o.wav",1.0f,2,10,loco,"a.cabfront");
      if (loco.GetEngineSetting("loco-auto-brake")  > vz1st)
         World.PlaySound(myasset,"sound/vz1_t.wav",1.0f,2,10,loco,"a.cabfront");

      vz1st = loco.GetEngineSetting("loco-auto-brake");
   }

   public void Attach(GameObject obj)
   {
      inherited(obj);
    
      SetTextureSelfIllumination("pult.texture.txt",1,0,0);
      SetTextureSelfIllumination("pult.jpg",1,0,0);

      Wag = new TPhyObject();
      Bog = new TPhyObject();
      Wh = new TPhyObject();
      
      Wag.Reset();
      Bog.Reset();
      Wh.Reset();
   
      Wag.m = 19200;
      Wag.Y = -0.07;
      Bog.Y = 00.0;
      Bog.m = 7550.0;
      Wh.m = 1000;
    
      SetFXNameText("als_lcd","99");
      ALSG();
      KB();

      int i = 0;
      for (i=0;i < loco.GetMyTrain().GetVehicles().size(); ++i)
         {loco.GetMyTrain().GetVehicles()[i].SetProductDisabled();}
      
      (cast<Vehicle>obj).SetHeadlightColor(0.1,0.1,0.05);
      (cast<Vehicle>obj).SetRollBasedOnTrack(-1.0);
      (cast<Vehicle>obj).SetCabinSwayAmount(50.0);
   }

   Browser vdb;
   public void Init(void)
   {
          inherited();
      myasset = GetAsset();
      SetFXNameText("als_lcd","00");

      vdb = Constructors.NewBrowser();
      vdb.SetWindowStyle(2);
      vdb.SetWindowWidth(400);
      vdb.SetWindowHeight(70);
      vdb.SetWindowPosition(Interface.GetDisplayWidth()/2.0 - 200,50);
      vdb.SetCloseEnabled(false);
   }

   int ALSCode2 = 0;
   thread void ALSG(void)
   {
      StringTable ST = GetAsset().GetStringTable();
      while(true)
      {
      Sleep(0.5);
      GSTrackSearch GSTS=loco.BeginTrackSearch(true);
       MapObject mo=GSTS.SearchNext();
      int ALSCode = 1;
         while(mo){
            if(mo.isclass(Signal) and GSTS.GetFacingRelativeToSearchDirection())
            {
               Soup props=mo.GetProperties();
               if (props.GetNamedTag("MSig-type") != "")
               {
                  ALSCode = props.GetNamedTagAsInt("MSig-als-fq");
               ALSCode2 = props.GetNamedTagAsInt("MSig-als-fq");
                  break;
               }
            }
            mo=GSTS.SearchNext();
            if (GSTS.GetDistance() > 1000)
               break;
         }
      string sALS = "";
      if ((ALSCode == 1) or (ALSCode == 2) or (ALSCode == -1))
         sALS = ST.GetString("als-och");
      if (ALSCode == 0)
         sALS = "0";
      if (ALSCode > 3)
         sALS = ALSCode * 10;
      int vel = loco.GetVelocity() * 3.6;
      SetFXNameText("als_lcd",sALS);
      ARS(ALSCode);
      }
   }

   void ARS (int ALSCode)
   {
      int MaxSpeed = ALSCode*10;
   int MaxSpeedNext = ALSCode2*10;
      if ((ALSCode == 1) or (ALSCode == 2) or (ALSCode == -1))
         MaxSpeed = 999;
      if (ALSCode == 0)
         MaxSpeed = 20;

      int Speed = Math.Abs(loco.GetVelocity()*3.6);
      if ((Speed == MaxSpeed) and (ARSState == 0) and (Speed != 0))
      {
         ARSState = 3;
         loco.SetEngineSetting("throttle",0);
      }
      if (Speed > MaxSpeed)
      {
         if (loco.GetEngineSetting("dynamic-brake") != 2)
         {
            loco.SetEngineSetting("throttle",0);
            loco.SetEngineSetting("dynamic-brake",2);
         }
      
       if (loco.GetEngineSetting("dynamic-brake") == 0)
       {
          loco.SetEngineSetting("loco-auto-brake",100);
          Sleep(1);
       }
       loco.SetEngineSetting("loco-auto-brake",0);
      
       Speed = Math.Abs(loco.GetVelocity()*3.6);
       if (Speed > MaxSpeed)
       {
          loco.SetEngineSetting("dynamic-brake",2);
          loco.SetEngineSetting("throttle",2);
          ARSState = 2;
      }
      }
      if ((Speed < MaxSpeed) and (ARSState == 2))
      {
         ARSState = 1;
      }
      if ((Speed < MaxSpeed) and (ARSState == 3) and (Speed != 0))
      {
         ARSState = 0;
         World.PlaySound(myasset,"sound/ARSend.wav",1.0f,2,10,loco,"a.cabfront");
      }
      if (ARSState != 0)
         World.PlaySound(myasset,"sound/ARSsig.wav",1.0f,2,10,loco,"a.cabfront");

      string s="<html><body bgcolor='#010101' leftmargin=50 rightmargin=50>";
      if (Speed < 10)
         s=s+"<b><font color='#00FF00' size=16 face='arial'>0" + Speed +  "       </font>";
      else
         s=s+"<b><font color='#00FF00' size=16 face='arial'>" + Speed +  "       </font>";

      if (MaxSpeed == 999)
         s=s+"<b><font color='#FF0000' size=16 face='arial'>"+  GetAsset().GetStringTable().GetString("als-och") + "   </font>";
      else
         s=s+"<b><font color='#300000' size=16 face='arial'>"+  GetAsset().GetStringTable().GetString("als-och") + "   </font>";

      if (ALSCode == 0 or (ALSCode2 == 0 and ALSCode2 < ALSCode))
         s=s+"<b><font color='#FF0000' size=16 face='arial'>0   </font>";
      else
         s=s+"<b><font color='#300000' size=16 face='arial'>0   </font>";

      if (ALSCode == 4 or (ALSCode2 == 4 and ALSCode2 < ALSCode))
         s=s+"<b><font color='#FFFF00' size=16 face='arial'>40   </font>";
      else
         s=s+"<b><font color='#303000' size=16 face='arial'>40   </font>";

      if (ALSCode == 6 or (ALSCode2 == 6 and ALSCode2 < ALSCode))
         s=s+"<b><font color='#00FF00' size=16 face='arial'>60   </font>";
      else
         s=s+"<b><font color='#003000' size=16 face='arial'>60   </font>";

      if (ALSCode == 7 or (ALSCode2 == 7 and ALSCode2 < ALSCode))
         s=s+"<b><font color='#00FF00' size=16 face='arial'>70   </font>";
      else
         s=s+"<b><font color='#003000' size=16 face='arial'>70   </font>";

      if (ALSCode == 8 or (ALSCode2 == 8 and ALSCode2 < ALSCode))
         s=s+"<b><font color='#00FF00' size=16 face='arial'>80   </font>";
      else
         s=s+"<b><font color='#003000' size=16 face='arial'>80   </font>";
      s=s+"</body></html>";
      vdb.LoadHTMLString(GetAsset(),s);

   }

   public void UserPressKey(string s)
   {
      if ((s == "shovel-coal") and (ARSState == 1))
      {
         //loco.SetEngineSetting("throttle",0);
         //loco.SetEngineSetting("dynamic-brake",0);
         ARSState = 0;
         World.PlaySound(myasset,"sound/ARSend.wav",1.0f,2,10,loco,"a.cabfront");
      }

      if (s == "steam-regulator-up")
      {
          GetNamedControl("throttle_lever2").SetValue(GetNamedControl("throttle_lever2").GetValue() + 1.2);
        World.PlaySound(myasset,"sound/kv.wav",1.0f,2,10,loco,"a.cabfront");
      }
      if (s == "steam-regulator-down")
      {
          GetNamedControl("throttle_lever2").SetValue(GetNamedControl("throttle_lever2").GetValue() - 1.2);
        World.PlaySound(myasset,"sound/kv.wav",1.0f,2,10,loco,"a.cabfront");
      }

      inherited(s);
   }

   thread void LockKB(void)
   {
      GetNamedControl("throttle_lever2").SetLocked(true);
      Sleep(0.8);
      GetNamedControl("throttle_lever2").SetLocked(false);
   }

   public void UserSetControl(CabinControl control, float value)
   {
      if ((control.GetName() == "throttle_lever2") and (kv_pos == -1))
         LockKB();

   if (control.GetName() == "throttle_lever2")
      World.PlaySound(myasset,"sound/kv.wav",1.0f,2,10,loco,"a.cabfront");
   
      inherited(control, value);
   }

};


Вот энжинспек от вагона:
Код: Выделить всё
kuid                                    <kuid:160177:52200>
kind                                    "engine"
rem                                     "81-717"
epbrakes                                1

flowsize
{
  trainbrakepipe                        170000
  epreservoirpipe                       0.1
  no3pipe                               0.1
  no4pipe                               0.1
  auxreservoirvent                      0.1
  auxreservoir_no3                      0.1
  auxreservoir_trainbrakepipe           0.1
  autobrakecylindervent                 1
  auxreservoir_autobrakecylinder        1
  equaliser_mainreservoir               0.06
  equaliservent                         0.06
  equaliserventhandleoff                0
  equaliserventemergency                0.1
  no3pipevent                           1.5
  no3pipe_mainreservoir                 0.1
  compressor                            2
  trainbrakepipe_reservoir              1
  trainbrakepipevent                    0.06
  no3pipe_autobrakecylinder             2
  epreservoirpipe_autobrakecylinder     0.1
  mainreservoir_ep                      0.1
  vacuumbrakepipe                       0.1
  vacuumbrakepipereleasevent            0.1
  vacuumbrakepipevent                   0.1
  vacuumbrakereservoir_vacuumbrakepipe  0.1
  vacuumbrakecylinder_vacuumbrakepipe   0.1
  highspeedexhauster_vacuumbrakepipe    0.1
}

volume
{
  scale                                 1
  trainbrakepipe                        0.029
  epreservoirpipe                       0.029
  no3pipe                               0.029
  no4pipe                               0.029
  auxreservoir                          0.1
  autobrakecylinder                     0.042
  vacuumbrakepipe                       0
  vacuumbrakereservoir                  0
  vacuumbrakecylinder                   0
  mainreservoir                         0.425
  equaliser                             0.0095
  independantbrakecylinder              0.014
}

pressure
{
  scale                                 1
  compressor                            0.00852036
  mainreservoir                         0.00852036
  highspeedexhauster                    0
  brakepipe                             0.00602471
  brakeinitial                          0.00532593
  brakefull                             0.00402819
  indbrakefull                          0.00203167
  trainbrakepipe_start                  0.00472697
  epreservoirpipe_start                 0
  no3pipe_start                         0
  no4pipe_start                         0
  auxreservoir_start                    0.00472697
  autobrakecylinder_start               0.00362889
  vacuumbrakepipe_start                 0
  vacuumbrakereservoir_start            0
  vacuumbrakecylinder_start             0
  mainreservoir_start                   0.00852036
  equaliser_start                       0.00472697
  independantbrakecylinder_start        0
}

mass
{
  scale                                 1
  fuel                                  "6.2156e+006"
}

motor
{
  resistance                            0.1
  adhesion                              0.1
  maxvoltage                            600
  maxspeed                              25
  brakeratio                            45000
  max-accel                             10000
  max-decel                             40000
  throttle-notches                      8
  axle-count                            4
  surface-area                          80
  moving-friction-coefficient           0.06
  air-drag-coefficient                  0.0002
}

throttle-power
{
  0
  {
    0                                   0
  }
 
  1
  {
    0                                   40
    0.05                                8
    0.2                                 7
    2.77                                3
    5.5                                 1
  }
 
  2
  {
    0                                   100
    0.3                                 42
    1.1                                 42
    1.4                                 33
    2.8                                 13
    6                                   8
  }
 
  3
  {
    0                                   100
    0.3                                 42
    4.17                                42
    5                                   18
    6                                   13
    10                                  6
    25                                  2
  }
 
  4
  {
    0                                   100
    2.0                                 42
    4.3                                 42
    4.4                                 42
    7.8                                 42
    8.3                                 42
    10                                  42
    13                                  14
    15                                  9
    17.7                                8
    22.2                                7
    25                                  5
  }
 
  5
  {
    0                                   100
    2.3                                 42
    4.4                                 42
    2.0                                 42
    7.8                                 42
    8.3                                 42
    13.8                                42
    15.7                                40
    19.5                                21
    22.2                                16
    25                                  12
  }
 
  6
  {
    0                                   40
    25                                  40
  }
}
description                             "81-717_engine_config"
trainz-build                            2.2
category-class                          "RC"
category-region-0                       "RU"
category-era-1                          "1990s"
category-era-0                          "1980s"
asset-filename                          "81-717_engine"
thumbnail                               
username                                "81-717_engine"
author                                  "Jam"
organisation                            "Trainz.ru"
contact-email                           "jamd@mail.ru"
contact-website                         "www.metro.trainz.ru"
license                                 "View License.txt"

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

Re: Все модели Московского Метро

Сообщение kemal » 10.10.2010, 14:00

Не торопись, я вскорости выложу для вас M-Signals и напишу/откопаю инструкцию.

Понял, значит нормальная метросигналка в ТРС всё же будет:) А то я уже собирался свою писать...
<kuid:216981:******>
куид.ру не нужен
Аватара пользователя
kemal
 
Сообщения: 375
Зарегистрирован: 10.02.2006, 18:21
Откуда: Казань
Благодарил (а): 4 раз.
Поблагодарили: 7 раз.
Блог: Просмотр блога (4)
Играю в: Auran Trainz
Роль: Разработчик
Имя: Камиль

Re: Все модели Московского Метро

Сообщение Vasi4 » 10.10.2010, 15:03

Огромное спасибо AlexanderG, а то я уже думал писать скрипт с нуля, а тут такой сюрприз. И еще я вижу что это версия скрипта в которой была внедрена твоя физическая модель качания кабины. Сейчас прикручу к кабине твой скрипт и начну писать скрипт открытия дверей.
Изображение
Аватара пользователя
Vasi4
 
Сообщения: 189
Зарегистрирован: 11.07.2010, 15:24
Откуда: Львов
Благодарил (а): 66 раз.
Поблагодарили: 209 раз.
Блог: Просмотр блога (1)
Играю в: Train Simulator Classic
Роль: Разработчик
Имя: Василий

Re: Все модели Московского Метро

Сообщение AlexanderG » 10.10.2010, 17:07

http://rghost.ru/2874261

ИНСТРУКЦИЯ.

ТИПЫ СВЕТОФОРОВ
-ЖКЗ автомат
-ЖЖ-КЗ автомат
-ЖЖЗ-КБ автомат с ПС
-ЖБЖ-ЗКБ полуавтомат. Имеет три режима работы: на прямой путь, отклонение и маневровый. Имеет ПС и МУ.
-ЖБ-КБ полуавтомат. Предназначен для ограждения оборотных тупиков. По умолчанию закрыт на КЖ, через 15 секунд после вступления поезда на РЦ перед светофором закрывается на К (АЛС "АО"), через 15 секунд открывается маневровым порядком. Оборудован ПС и МУ.
-КБ полуавтомат. Маневровый, оборудован ПС и МУ. Требует перед собой РЦ для работы ПС, если РЦ нет, то не инициализируется.
-РЦ. Просто рельсовая цепь.
-ОП. Сигнал опасности.

НАСТРОЙКА СВЕТОФОРОВ
Все светофоры и РЦ имеют настройку частот АЛС-АРС (графа "Настройка АЛС"). Настройка задается числовой последовательностью, где цифры соответствуют частотам:
"0" — 0
"1" — ОЧ
"2" — АО (чередование 0 и ОЧ)
"4" — 40
"6" — 60
"7" — 70
"8" — 80

Например, настройка 048 означает, что при занятой РЦ будет подаваться частота 0, при освобождении РЦ будет подаваться частота 40, после освобождения следующей за данной РЦ — 80.

Световые сигналы задаются буквенными или буквенно-числовыми кодами:
"00" — огни погашены
"0R" — К
"YR" — КЖ
"0Y" — Ж
"YG" — ЖЗ
"0G" — З
"0W" — Б
"WW" — ББ (не используется)
"YY" — ЖЖ
"YM" — ЖмЖ
"0B" — С (не используется)

Например, настройка 0RYR0Y0G означает розжиг светофора: К-КЖ-Ж-З.
Розжиг режима автомата, отклонения и маневрового задается отдельно.

Все светофоры имеют настройку названия сигнала, причем буквы, взятые в скобки, выводятся на одной строке.
Например, настройка (Вх)36(М) будет иметь вид:
Вх
3
6
М
Из-за бага отдельно стоящие кириллические символы также должны быть в скобках.
Имеется настройка имени РЦ, также некоторые светофоры имеют настройку времени открытия ПС.

Объект MSig marker имеет такой же смысл, как и в z-signals, за исключением того, что один маркер может сочетать несколько свойств сразу.
Объект MSig Autostop должен располагаться перед светофором на расстоянии не более 20м.

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

Re: Все модели Московского Метро

Сообщение Vasi4 » 10.10.2010, 18:06

Как же нам тебя благодарить :-O
Изображение
Аватара пользователя
Vasi4
 
Сообщения: 189
Зарегистрирован: 11.07.2010, 15:24
Откуда: Львов
Благодарил (а): 66 раз.
Поблагодарили: 209 раз.
Блог: Просмотр блога (1)
Играю в: Train Simulator Classic
Роль: Разработчик
Имя: Василий

Re: Все модели Московского Метро

Сообщение AlexanderG » 10.10.2010, 18:55

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

Re: Все модели Московского Метро

Сообщение Владислав » 10.10.2010, 19:00

AlexanderG, а планируешь ещё что-нить делать для метро? :)
Владислав
 
Сообщения: 11
Зарегистрирован: 21.06.2010, 22:20
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Имя: Влад

Re: Все модели Московского Метро

Сообщение AlexanderG » 10.10.2010, 19:02

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

Re: Все модели Московского Метро

Сообщение Владислав » 10.10.2010, 19:03

а что? сигналка супер! Молодец.
Владислав
 
Сообщения: 11
Зарегистрирован: 21.06.2010, 22:20
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Имя: Влад

Re: Все модели Московского Метро

Сообщение AlexanderG » 10.10.2010, 19:13

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

Re: Все модели Московского Метро

Сообщение Владислав » 10.10.2010, 19:15

AlexanderG, есть хорошие номерные.
станции.
тоннели.
В свободном доступе!
Владислав
 
Сообщения: 11
Зарегистрирован: 21.06.2010, 22:20
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Имя: Влад

Re: Все модели Московского Метро

Сообщение Vasi4 » 10.10.2010, 19:16

Я сейчас этим как раз и занялся, и как только сигналка будет расставлена ты получишь карту . И есть ли у тебя исправные вот эти куиды <kuid:293946:100201>,<kuid:293946:100212>,<kuid:293946:100296> а то у меня в них ошибки.
Последний раз редактировалось Vasi4 10.01.2011, 02:24, всего редактировалось 1 раз.
Изображение
Аватара пользователя
Vasi4
 
Сообщения: 189
Зарегистрирован: 11.07.2010, 15:24
Откуда: Львов
Благодарил (а): 66 раз.
Поблагодарили: 209 раз.
Блог: Просмотр блога (1)
Играю в: Train Simulator Classic
Роль: Разработчик
Имя: Василий

Пред.След.

Вернуться в [TZ] Подвижной состав

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

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