From 2c850a9bbc18fc633870fa08ceb8f5329a837bf4 Mon Sep 17 00:00:00 2001 From: Anton Shukin Date: Sun, 11 Feb 2024 05:08:15 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D0=BF=D1=80=D0=B5=D0=B4=D0=BE=D1=85=D1=80=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D1=82=D0=B5=D0=BB=D0=B8,=20=D0=B8=D1=81=D0=BF?= =?UTF-8?q?=D1=80=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20=D1=81=D1=85?= =?UTF-8?q?=D0=B5=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Добавлены - Предохранители Обновление схем: - КРУ перенесено на 14-й провод - Контроль тормоза на 21-й провод - Запитка ВЗ-1 от АРС на 29-й провод - Небольшой фикс сопротивления резисторов Все схемы приведены к московской версии Еж3 от середины 80-ых до наших дней. --- lua/entities/gmod_subway_em508t/cl_init.lua | 479 ++++++++++++++- lua/entities/gmod_subway_em508t/init.lua | 56 +- lua/entities/gmod_subway_em508t/shared.lua | 43 +- lua/entities/gmod_subway_ezh3/cl_init.lua | 552 +++++++++++++++++- lua/entities/gmod_subway_ezh3/init.lua | 50 +- lua/entities/gmod_subway_ezh3/shared.lua | 59 +- .../systems/sys_81_508t_electric.lua | 77 ++- lua/metrostroi/systems/sys_81_508t_panel.lua | 60 +- .../systems/sys_81_703_pneumatic.lua | 13 +- .../systems/sys_81_710_electric.lua | 138 +++-- lua/metrostroi/systems/sys_81_710_panel.lua | 57 +- lua/metrostroi/systems/sys_als_ars_ezh3.lua | 3 +- lua/metrostroi/systems/sys_kf_47a.lua | 8 +- lua/metrostroi/systems/sys_yar_15a.lua | 17 +- lua/metrostroi_data/languages/ru_702.lua | 2 +- lua/metrostroi_data/languages/ru_710.lua | 167 ++++++ .../81-710/electric/fusebox.vmt | 12 + .../81-710/electric/fusebox_base.vtf | 3 + .../81-710/electric/fusebox_cover.vmt | 12 + .../81-710/electric/fusebox_cover_base.vtf | 3 + .../electric/fusebox_cover_roughness.vtf | 3 + .../81-710/electric/fusebox_normal.vtf | 3 + .../81-710/electric/fusebox_roughness.vtf | 3 + .../metrostroi_train/81-717/717_BP_15.vmt | 13 + .../metrostroi_train/81-717/717_BP_15.vtf | 3 + .../metrostroi_train/81-717/717_BP_15_n.vmt | 4 + .../metrostroi_train/81-717/717_BP_15_n.vtf | 3 + .../metrostroi_train/81-717/717_BP_15_s.vmt | 4 + .../metrostroi_train/81-717/717_BP_15_s.vtf | 3 + .../81-710/electric/fusebox.dx80.vtx | 3 + .../81-710/electric/fusebox.dx90.vtx | 3 + .../81-710/electric/fusebox.mdl | 3 + .../81-710/electric/fusebox.sw.vtx | 3 + .../81-710/electric/fusebox.vvd | 3 + .../81-710/electric/fusebox_cover.dx80.vtx | 3 + .../81-710/electric/fusebox_cover.dx90.vtx | 3 + .../81-710/electric/fusebox_cover.mdl | 3 + .../81-710/electric/fusebox_cover.phy | 3 + .../81-710/electric/fusebox_cover.sw.vtx | 3 + .../81-710/electric/fusebox_cover.vvd | 3 + models/metrostroi_train/81-717/BP15.dx80.vtx | 3 + models/metrostroi_train/81-717/BP15.dx90.vtx | 3 + models/metrostroi_train/81-717/BP15.mdl | 3 + models/metrostroi_train/81-717/BP15.sw.vtx | 3 + models/metrostroi_train/81-717/BP15.vvd | 3 + .../metrostroi_train/81-717/BP15_sg.dx80.vtx | 3 + .../metrostroi_train/81-717/BP15_sg.dx90.vtx | 3 + models/metrostroi_train/81-717/BP15_sg.mdl | 3 + models/metrostroi_train/81-717/BP15_sg.sw.vtx | 3 + models/metrostroi_train/81-717/BP15_sg.vvd | 3 + .../81-717/BP15_sg_small.dx80.vtx | 3 + .../81-717/BP15_sg_small.dx90.vtx | 3 + .../metrostroi_train/81-717/BP15_sg_small.mdl | 3 + .../81-717/BP15_sg_small.sw.vtx | 3 + .../metrostroi_train/81-717/BP15_sg_small.vvd | 3 + sound/subway_trains/710/fusebox_close_1.mp3 | 3 + sound/subway_trains/710/fusebox_close_2.mp3 | 3 + sound/subway_trains/710/fusebox_open_1.mp3 | 3 + sound/subway_trains/710/fusebox_open_2.mp3 | 3 + sound/subway_trains/710/fusecap_close_1.mp3 | 3 + sound/subway_trains/710/fusecap_close_2.mp3 | 3 + sound/subway_trains/710/fusecap_open_1.mp3 | 3 + sound/subway_trains/710/fusecap_open_2.mp3 | 3 + sound/subway_trains/710/fuseh_in_1.mp3 | 3 + sound/subway_trains/710/fuseh_in_2.mp3 | 3 + sound/subway_trains/710/fuseh_in_3.mp3 | 3 + sound/subway_trains/710/fuseh_out_1.mp3 | 3 + sound/subway_trains/710/fuseh_out_2.mp3 | 3 + sound/subway_trains/710/fuseh_out_3.mp3 | 3 + 69 files changed, 1776 insertions(+), 194 deletions(-) create mode 100644 lua/metrostroi_data/languages/ru_710.lua create mode 100644 materials/models/metrostroi_train/81-710/electric/fusebox.vmt create mode 100644 materials/models/metrostroi_train/81-710/electric/fusebox_base.vtf create mode 100644 materials/models/metrostroi_train/81-710/electric/fusebox_cover.vmt create mode 100644 materials/models/metrostroi_train/81-710/electric/fusebox_cover_base.vtf create mode 100644 materials/models/metrostroi_train/81-710/electric/fusebox_cover_roughness.vtf create mode 100644 materials/models/metrostroi_train/81-710/electric/fusebox_normal.vtf create mode 100644 materials/models/metrostroi_train/81-710/electric/fusebox_roughness.vtf create mode 100644 materials/models/metrostroi_train/81-717/717_BP_15.vmt create mode 100644 materials/models/metrostroi_train/81-717/717_BP_15.vtf create mode 100644 materials/models/metrostroi_train/81-717/717_BP_15_n.vmt create mode 100644 materials/models/metrostroi_train/81-717/717_BP_15_n.vtf create mode 100644 materials/models/metrostroi_train/81-717/717_BP_15_s.vmt create mode 100644 materials/models/metrostroi_train/81-717/717_BP_15_s.vtf create mode 100644 models/metrostroi_train/81-710/electric/fusebox.dx80.vtx create mode 100644 models/metrostroi_train/81-710/electric/fusebox.dx90.vtx create mode 100644 models/metrostroi_train/81-710/electric/fusebox.mdl create mode 100644 models/metrostroi_train/81-710/electric/fusebox.sw.vtx create mode 100644 models/metrostroi_train/81-710/electric/fusebox.vvd create mode 100644 models/metrostroi_train/81-710/electric/fusebox_cover.dx80.vtx create mode 100644 models/metrostroi_train/81-710/electric/fusebox_cover.dx90.vtx create mode 100644 models/metrostroi_train/81-710/electric/fusebox_cover.mdl create mode 100644 models/metrostroi_train/81-710/electric/fusebox_cover.phy create mode 100644 models/metrostroi_train/81-710/electric/fusebox_cover.sw.vtx create mode 100644 models/metrostroi_train/81-710/electric/fusebox_cover.vvd create mode 100644 models/metrostroi_train/81-717/BP15.dx80.vtx create mode 100644 models/metrostroi_train/81-717/BP15.dx90.vtx create mode 100644 models/metrostroi_train/81-717/BP15.mdl create mode 100644 models/metrostroi_train/81-717/BP15.sw.vtx create mode 100644 models/metrostroi_train/81-717/BP15.vvd create mode 100644 models/metrostroi_train/81-717/BP15_sg.dx80.vtx create mode 100644 models/metrostroi_train/81-717/BP15_sg.dx90.vtx create mode 100644 models/metrostroi_train/81-717/BP15_sg.mdl create mode 100644 models/metrostroi_train/81-717/BP15_sg.sw.vtx create mode 100644 models/metrostroi_train/81-717/BP15_sg.vvd create mode 100644 models/metrostroi_train/81-717/BP15_sg_small.dx80.vtx create mode 100644 models/metrostroi_train/81-717/BP15_sg_small.dx90.vtx create mode 100644 models/metrostroi_train/81-717/BP15_sg_small.mdl create mode 100644 models/metrostroi_train/81-717/BP15_sg_small.sw.vtx create mode 100644 models/metrostroi_train/81-717/BP15_sg_small.vvd create mode 100644 sound/subway_trains/710/fusebox_close_1.mp3 create mode 100644 sound/subway_trains/710/fusebox_close_2.mp3 create mode 100644 sound/subway_trains/710/fusebox_open_1.mp3 create mode 100644 sound/subway_trains/710/fusebox_open_2.mp3 create mode 100644 sound/subway_trains/710/fusecap_close_1.mp3 create mode 100644 sound/subway_trains/710/fusecap_close_2.mp3 create mode 100644 sound/subway_trains/710/fusecap_open_1.mp3 create mode 100644 sound/subway_trains/710/fusecap_open_2.mp3 create mode 100644 sound/subway_trains/710/fuseh_in_1.mp3 create mode 100644 sound/subway_trains/710/fuseh_in_2.mp3 create mode 100644 sound/subway_trains/710/fuseh_in_3.mp3 create mode 100644 sound/subway_trains/710/fuseh_out_1.mp3 create mode 100644 sound/subway_trains/710/fuseh_out_2.mp3 create mode 100644 sound/subway_trains/710/fuseh_out_3.mp3 diff --git a/lua/entities/gmod_subway_em508t/cl_init.lua b/lua/entities/gmod_subway_em508t/cl_init.lua index 6637a14..91c26e4 100644 --- a/lua/entities/gmod_subway_em508t/cl_init.lua +++ b/lua/entities/gmod_subway_em508t/cl_init.lua @@ -573,6 +573,425 @@ ENT.ButtonMap["RearDoor"] = { }}, } } +--High voltage fuses +ENT.ClientProps["PR1Fuse"] = { + model = "models/metrostroi_train/81-717/BP15_sg.mdl", + pos = Vector(405.7,30.17,-2.1), + ang = Angle(0,0,0), + scale = 2.25, +} +ENT.ClientProps["PR2Fuse"] = { + model = "models/metrostroi_train/81-717/BP15_sg.mdl", + pos = Vector(405.7,30.17+(2.75*1),-2.1), + ang = Angle(0,0,0), + scale = 2.25, +} +ENT.ClientProps["PR5Fuse"] = { + model = "models/metrostroi_train/81-717/BP15_sg.mdl", + pos = Vector(405.7,30.17+(2.75*2),-2.1), + ang = Angle(0,0,0), + scale = 2.25, +} +ENT.ClientProps["PR11Fuse"] = { + model = "models/metrostroi_train/81-717/BP15_sg.mdl", + pos = Vector(405.7,30.17+(2.75*3),-2.1), + ang = Angle(0,0,0), + scale = 2.25, +} +ENT.ClientProps["PR4Fuse"] = { + model = "models/metrostroi_train/81-717/BP15_sg.mdl", + pos = Vector(405.7,30.17+(2.75*4),-2.1), + ang = Angle(0,0,0), + scale = 2.25, +} +ENT.ClientProps["PR9Fuse"] = { + model = "models/metrostroi_train/81-717/BP15_sg.mdl", + pos = Vector(405.7,30.17+(2.75*5),-2.1), + ang = Angle(0,0,0), + scale = 2.25, +} +ENT.ClientProps["PR6Fuse"] = { + model = "models/metrostroi_train/81-717/BP15_sg.mdl", + pos = Vector(405.7,30.17+(2.75*6),-2.1), + ang = Angle(0,0,0), + scale = 2.25, +} +ENT.ClientProps["PR8Fuse"] = { + model = "models/metrostroi_train/81-717/BP15_sg.mdl", + pos = Vector(405.7,30.17+(2.75*7),-2.1), + ang = Angle(0,0,0), + scale = 2.25, +} +ENT.ClientProps["PR12Fuse"] = { + model = "models/metrostroi_train/81-717/BP15_sg.mdl", + pos = Vector(405.7,30.17+(2.75*8),-2.1), + ang = Angle(0,0,0), + scale = 2.25, +} +ENT.ClientProps["PR1Cap"] = { + model = "models/metrostroi_train/81-717/BP15.mdl", + pos = Vector(403.9,30.17+(2.75*0),-2.45), + ang = Angle(-90,0,180), + scale = 0.94, +} +ENT.ClientProps["PR2Cap"] = { + model = "models/metrostroi_train/81-717/BP15.mdl", + pos = Vector(403.9,30.17+(2.75*1),-2.45), + ang = Angle(-90,0,180), + scale = 0.94, +} +ENT.ClientProps["PR5Cap"] = { + model = "models/metrostroi_train/81-717/BP15.mdl", + pos = Vector(403.9,30.17+(2.75*2),-2.45), + ang = Angle(-90,0,180), + scale = 0.94, +} +ENT.ClientProps["PR11Cap"] = { + model = "models/metrostroi_train/81-717/BP15.mdl", + pos = Vector(403.9,30.17+(2.75*3),-2.45), + ang = Angle(-90,0,180), + scale = 0.94, +} +ENT.ClientProps["PR4Cap"] = { + model = "models/metrostroi_train/81-717/BP15.mdl", + pos = Vector(403.9,30.17+(2.75*4),-2.45), + ang = Angle(-90,0,180), + scale = 0.94, +} +ENT.ClientProps["PR9Cap"] = { + model = "models/metrostroi_train/81-717/BP15.mdl", + pos = Vector(403.9,30.17+(2.75*5),-2.45), + ang = Angle(-90,0,180), + scale = 0.94, +} +ENT.ClientProps["PR6Cap"] = { + model = "models/metrostroi_train/81-717/BP15.mdl", + pos = Vector(403.9,30.17+(2.75*6),-2.45), + ang = Angle(-90,0,180), + scale = 0.94, +} +ENT.ClientProps["PR8Cap"] = { + model = "models/metrostroi_train/81-717/BP15.mdl", + pos = Vector(403.9,30.17+(2.75*7),-2.45), + ang = Angle(-90,0,180), + scale = 0.94, +} +ENT.ClientProps["PR12Cap"] = { + model = "models/metrostroi_train/81-717/BP15.mdl", + pos = Vector(403.9,30.17+(2.75*8),-2.45), + ang = Angle(-90,0,180), + scale = 0.94, +} + +ENT.ButtonMap["HighVoltFuse"] = { + pos = Vector(406,28.3,-4), + ang = Angle(-90,180,0), + width = 75, + height = 410, + scale = 0.0625, + hide=0.8, + buttons = { --высота, ширина между ними + {ID = "PR1Toggle", x=0+35*1,y=30+44.1*0,radius=25,tooltip=""}, + {ID = "PR2Toggle", x=0+35*1,y=30+44.1*1,radius=25,tooltip=""}, + {ID = "PR5Toggle", x=0+35*1,y=30+44.1*2,radius=25,tooltip=""}, + {ID = "PR11Toggle",x=0+35*1,y=30+44.1*3,radius=25,tooltip=""}, + {ID = "PR4Toggle", x=0+35*1,y=30+44.1*4,radius=25,tooltip=""}, + {ID = "PR9Toggle", x=0+35*1,y=30+44.1*5,radius=25,tooltip=""}, + {ID = "PR6Toggle", x=0+35*1,y=30+44.1*6,radius=25,tooltip=""}, + {ID = "PR8Toggle", x=0+35*1,y=30+44.1*7,radius=25,tooltip=""}, + {ID = "PR12Toggle",x=0+35*1,y=30+44.1*8,radius=25,tooltip=""}, + } +} +for i,button in pairs(ENT.ButtonMap.HighVoltFuse.buttons) do + button.model = { + var=button.ID:Replace("Toggle",""), + speed=3, + sndid=button.ID:Replace("Toggle","Fuse"), + sndvol = 0.3, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + noTooltip = true + } +end +ENT.ButtonMap["HighVoltFuseHolder"] = { + pos = Vector(407.35,28.3,-9), + ang = Angle(-90,180,0), + width = 75, + height = 410, + scale = 0.0625, + hide=0.8, + buttons = { --ширина между ними, высота + {ID = "PR1CapToggle", x=0+35*1,y=30+44.1*0,radius=25,tooltip=""}, + {ID = "PR2CapToggle", x=0+35*1,y=30+44.1*1,radius=25,tooltip=""}, + {ID = "PR5CapToggle", x=0+35*1,y=30+44.1*2,radius=25,tooltip=""}, + {ID = "PR11CapToggle",x=0+35*1,y=30+44.1*3,radius=25,tooltip=""}, + {ID = "PR4CapToggle", x=0+35*1,y=30+44.1*4,radius=25,tooltip=""}, + {ID = "PR9CapToggle", x=0+35*1,y=30+44.1*5,radius=25,tooltip=""}, + {ID = "PR6CapToggle", x=0+35*1,y=30+44.1*6,radius=25,tooltip=""}, + {ID = "PR8CapToggle", x=0+35*1,y=30+44.1*7,radius=25,tooltip=""}, + {ID = "PR12CapToggle",x=0+35*1,y=30+44.1*8,radius=25,tooltip=""}, + } +} +for i,button in pairs(ENT.ButtonMap.HighVoltFuseHolder.buttons) do + button.model = { + var=button.ID:Replace("Toggle",""), + sndid=button.ID:Replace("CapToggle","Cap"), + sndvol = 1, snd = function(val) return val and "fusecap_open" or "fusecap_close" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + noTooltip = true, + } +end +--Low voltage fuses +ENT.ClientProps["fusebox"] = { + model = "models/metrostroi_train/81-710/electric/fusebox.mdl", + pos = Vector(0,0,0), + ang = Angle(0,-90,0), + hideseat = 1.0, +} +ENT.ClientProps["fusebox_cover"] = { + model = "models/metrostroi_train/81-710/electric/fusebox_cover.mdl", + pos = Vector(405.1,-33.42,5), + ang = Angle(0,-90,0), + hideseat = 1.0, +} +ENT.ButtonMap["FuseboxCoverC"] = { + pos = Vector(405,-45.55,-4), + ang = Angle(-90,180,0), + width = 150, + height = 380, + scale = 0.0625, + hide=0.8, + buttons = { + {ID = "FBoxCover",x=0,y=0,w=150,h=380, tooltip ="", model = { + var="fusebox_cover", sndid="fusebox_cover", + sndvol = 1.2, snd = function(val) return val and "fusebox_open" or "fusebox_close" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + noTooltip = true, + }}, + } +} +ENT.ButtonMap["FuseboxCoverO"] = { + pos = Vector(405,-45.55,6), + ang = Angle(-90,180,0), + width = 150, + height = 380, + scale = 0.0625, + hide=0.8, + buttons = { + {ID = "FBoxCover",x=0,y=0,w=150,h=380, tooltip ="", model = { + noTooltip = true, + }}, + } +} + +ENT.ButtonMap["Fusebox"] = { + pos = Vector(404,-45.55,-3), + ang = Angle(-90,180,0), + width = 300, + height = 380, + scale = 0.0625, + hide=0.8, + buttons = { + {ID = "PRL13Toggle", x=128+56*2,y=21+27*0,w=40,h=15,tooltip="", model = { + var="PRL13", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", ang = Angle(0,90,0), var = "PRL13", anim = true + }} + }, + {ID = "PRL31Toggle", x=128+56*2,y=21+27*1,w=40,h=15,tooltip="", model = { + var="PRL31", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1, ang = Angle(0,90,0), var = "PRL31", anim = true + }} + }, + {ID = "PRL17Toggle", x=128+56*2,y=21+27*2,w=40,h=15,tooltip="", model = { + var="PRL17", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1, ang = Angle(0,90,0), var = "PRL17", anim = true + }} + }, + {ID = "PRL25Toggle",x=128+56*2,y=21+27*3,w=40,h=15,tooltip="", model = { + var="PRL25", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1, ang = Angle(0,90,0), scale = 1.2, var = "PRL25", anim = true + }} + }, + {ID = "PRL18Toggle", x=128+56*2,y=21+27*4,w=40,h=15,tooltip="", model = { + var="PRL18", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1, ang = Angle(0,90,0), var = "PRL18", anim = true + }} + }, + {ID = "PRL24Toggle", x=128+56*2,y=21+27*5,w=40,h=15,tooltip="", model = { + var="PRL24", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1, ang = Angle(0,90,0), scale = 1.2, var = "PRL24", anim = true + }} + }, + {ID = "PRL19Toggle", x=128+56*2,y=21+27*6,w=40,h=15,tooltip="", model = { + var="PRL19", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1.2, ang = Angle(0,90,0), var = "PRL19", anim = true + }} + }, + {ID = "PRL4AToggle",x=128+56*2,y=21+27*8,w=40,h=15,tooltip="", model = { + var="PRL4A", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1.2, ang = Angle(0,90,0), var = "PRL4A", anim = true + }} + }, + {ID = "PRL16Toggle", x=128+56*2,y=21+27*9,w=40,h=15,tooltip="", model = { + var="PRL16", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1.2, ang = Angle(0,90,0), var = "PRL16", anim = true + }} + }, + {ID = "PRL28Toggle", x=128+56*2,y=21+27*10,w=40,h=15,tooltip="", model = { + var="PRL28", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1.7, ang = Angle(0,90,0), var = "PRL28", anim = true + }} + }, + {ID = "PRL2AToggle", x=128+56*2,y=21+27*11,w=40,h=15,tooltip="", model = { + var="PRL2A", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1.2, ang = Angle(0,90,0), var = "PRL2A", anim = true + }} + }, + {ID = "PRL34Toggle",x=128+56*2,y=21+27*12,w=40,h=15,tooltip="", model = { + var="PRL34", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1.2, ang = Angle(0,90,0), var = "PRL34", anim = true + }} + }, + --Нижний ряд + {ID = "PRL23Toggle", x=110+56*1,y=21+27*0,w=40,h=15,tooltip="", model = { + var="PRL23", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 0.7, ang = Angle(0,90,0), var = "PRL23", anim = true + }} + }, + {ID = "PRL15Toggle", x=110+56*1,y=21+27*1,w=40,h=15,tooltip="", model = { + var="PRL15", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 0.7, ang = Angle(0,90,0), var = "PRL15", anim = true + }} + }, + {ID = "PRL22Toggle", x=110+56*1,y=21+27*2,w=40,h=15,tooltip="", model = { + var="PRL22", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1.2, ang = Angle(0,90,0), var = "PRL22", anim = true + }} + }, + {ID = "PRL20Toggle", x=110+56*1,y=21+27*3,w=40,h=15,tooltip="", model = { + var="PRL20", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1.2, x = -9, ang = Angle(0,90,0), var = "PRL20", anim = true + }} + }, + {ID = "PRL21Toggle",x=110+56*1,y=21+27*4,w=40,h=15,tooltip="", model = { + var="PRL21", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1.2, ang = Angle(0,90,0), var = "PRL21", anim = true + }} + }, + {ID = "PRL14Toggle",x=110+56*1,y=21+27*8,w=40,h=15,tooltip="", model = { + var="PRL14", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1.2, ang = Angle(0,90,0), var = "PRL14", anim = true + }} + }, + {ID = "PRL26Toggle", x=110+56*1,y=21+27*9,w=40,h=15,tooltip="", model = { + var="PRL26", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1.2, ang = Angle(0,90,0), var = "PRL26", anim = true + }} + }, + {ID = "PRL12Toggle",x=110+56*1,y=21+27*10,w=40,h=15,tooltip="", model = { + var="PRL12", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1.2, ang = Angle(0,90,0), var = "PRL12", anim = true + }} + }, + {ID = "PRL29Toggle", x=110+56*1,y=21+27*11,w=40,h=15,tooltip="", model = { + var="PRL29", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1.2, ang = Angle(0,90,0), var = "PRL29", anim = true + }} + }, + {ID = "PRL33Toggle",x=110+56*1,y=21+27*12,w=40,h=15,tooltip="", model = { + var="PRL33", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1.2, ang = Angle(0,90,0), var = "PRL33", anim = true + }} + }, + } +} -------------------------------------------------------------------------------- ENT.ClientPropsInitialized = false @@ -678,7 +1097,7 @@ ENT.ClientProps["voltmeter"] = { ENT.ClientProps["volt1"] = { model = "models/metrostroi_train/81-710/ezh3_voltages.mdl", - pos = Vector(463.263306,-19.963984,7.709407), + pos = Vector(463.263306,-19.963984,7.809407), ang = Angle(-90.000000,0.000000,0.000000), bscale = Vector(1,1,1.3), hideseat = 0.2, @@ -727,14 +1146,12 @@ ENT.ClientProps["Lamps_emer1"] = { model = "models/metrostroi_train/81-502/lights_emer2.mdl", pos = Vector(0,0,0), ang = Angle(0,0,0), - color=Color(255,150,150), hide = 2, } ENT.ClientProps["Lamps_emer2"] = { model = "models/metrostroi_train/81-502/lights_emer.mdl", pos = Vector(0,0,0), ang = Angle(0,0,0), - color=Color(255,150,150), hide = 2, } ENT.ClientProps["Lamps_half1"] = { @@ -863,7 +1280,18 @@ ENT.ClientProps["WhiteLights"] = { ang = Angle(0,0,0), nohide=true, } - +ENT.ClientProps["RedLight2"] = { + model = "models/metrostroi_train/81-710/81-710_red_light_l.mdl", + pos = Vector(0,0,0), + ang = Angle(0,0,0.000000), + nohide=true, +} +ENT.ClientProps["RedLight1"] = { + model = "models/metrostroi_train/81-710/81-710_red_light_r.mdl", + pos = Vector(0,0,0), --скорректировать и заменитть + ang = Angle(0,0,0.000000), + nohide=true, +} for i=0,3 do ENT.ClientProps["TrainNumberL"..i] = { model = "models/metrostroi_train/common/bort_numbers.mdl", @@ -888,6 +1316,9 @@ for i=0,3 do end ENT.Lights = { [1] = { "headlight", Vector(470,0,-35), Angle(0,0,0), Color(200,130,88), brightness = 4 , fov=100, texture = "models/metrostroi_train/equipment/headlight",shadows = 1,headlight=true}, + [2] = { "headlight", Vector(460,0,45), Angle(-20,0,0), Color(255,0,0), fov=164 ,brightness = 0.3, farz=250,texture = "models/metrostroi_train/equipment/headlight2",shadows = 0,backlight=true}, + [3] = { "headlight", Vector(460,0,45), Angle(-20,0,0), Color(255,0,0), fov=164 ,brightness = 0.3, farz=250,texture = "models/metrostroi_train/equipment/headlight2",shadows = 0,backlight=true}, + [22] = { "headlight", Vector(445,-55,41), Angle(75, 70,45), Color(190, 130, 88), fov=110, farz=65, brightness = 3, shadows = 1, texture = "models/metrostroi_train/equipment/headlight", hidden="Lamps_pult"}, [9] = { "dynamiclight", Vector(200, 0, -5), Angle(0,0,0), Color(255,220,180), brightness = 3, distance = 200}, @@ -895,6 +1326,8 @@ ENT.Lights = { [11] = { "dynamiclight", Vector( 200, 0, -5), Angle(0,0,0), Color(255,220,180), brightness = 4, distance = 260}, [12] = { "dynamiclight", Vector( 0, 0, -5), Angle(0,0,0), Color(255,220,180), brightness = 4, distance = 260}, [13] = { "dynamiclight", Vector(-260, 0, -5), Angle(0,0,0), Color(255,220,180), brightness = 4, distance = 260}, + [5] = { "light", Vector(465+5,-32, 48), Angle(0,0,0), Color(255,50,50), brightness = 0.2, scale = 1.5, texture = "sprites/light_glow02", size = 2 }, + [6] = { "light", Vector(465+5, 32, 48), Angle(0,0,0), Color(255,50,50), brightness = 0.2, scale = 1.5, texture = "sprites/light_glow02", size = 2 }, -- Cabin [23] = { "dynamiclight", Vector(432,-10.0,20), Angle(0,0,0), Color(252, 157, 77), brightness = 0.0005, distance = 600, hidden = "salon"}, @@ -955,10 +1388,30 @@ function ENT:Think() end self.BrakeAngleSND = BAsnd end - + + --Fuses animate + local fusepanelC = self:HidePanel("FuseboxCoverC", not self:GetPackedBool("FuseboxCover")) + local fusepanelC = self:HidePanel("FuseboxCoverO", self:GetPackedBool("FuseboxCover")) + for i=1,12 do + self:ShowHide("PR"..i.."Toggle", self:GetPackedBool("PR"..i.."Cover")) + if (self:Animate("PR"..i.."Cap", self:GetPackedBool("PR"..i.."Cover") and 0.99 or 0,0,1,4,false) >= 0.01) then + self:ShowHideSmooth("PR"..i.."Fuse", ((self:GetPackedBool("PR"..i.."FState") and 1 or 0) - (self:Animate("PR"..i.."Fuse",self:GetPackedBool("PR"..i.."FState") and 0 or 1,0,1,5,false)))) + else + self:ShowHide("PR"..i.."Fuse",1) + end + end + + local fusebox_cover = self:Animate("fusebox_cover", self:GetPackedBool("FuseboxCover") and 1 or 0,0,1,8,1) + if self.FboxCover ~= (fusebox_cover > 0) then + self.FboxCover = fusebox_cover > 0 + self:PlayOnce("fusebox_cover","bass",self.FboxCover and 1 or 0) + end + self:HidePanel("Fusebox", fusebox_cover == 0) + --- local HL1 = self:Animate("whitelights",self:GetPackedBool("HeadLights1") and 1 or 0,0,1,5,false) local HL2 = self:Animate("distantlights",self:GetPackedBool("HeadLights2") and 1 or 0,0,1,5,false) - + local RL1 = self:Animate("redlight1",self:GetPackedBool("RedLights1") and 1 or 0,0,1,5,false) + local RL2 = self:Animate("redlight2",self:GetPackedBool("RedLights2") and 1 or 0,0,1,5,false) self:SetLightPower(30,HL1 > 0, HL1) self:SetLightPower(31,HL1 > 0, HL1) self:SetLightPower(32,HL2 > 0, HL2) @@ -967,6 +1420,13 @@ function ENT:Think() self:SetLightPower("Lamps_pult",HL1>0,HL1) self:ShowHideSmooth("Lamps_pult",HL1) self:SetLightPower(22,HL1>0,HL1) + + self:ShowHideSmooth("RedLight1",RL1) + self:ShowHideSmooth("RedLight2",RL2) + self:SetLightPower(2,RL1 > 0, RL1) + self:SetLightPower(3,RL2 > 0, RL2) + self:SetLightPower(5,RL1 > 0, RL1) + self:SetLightPower(6,RL2 > 0, RL2) local bright = HL1*0.3+HL2*0.7 self:SetLightPower(1,bright>0,bright) @@ -982,13 +1442,11 @@ function ENT:Think() local Lamps = self:GetPackedRatio("LampsStrength") - local emer1 = self:Animate("lamps_emer1",self:GetPackedBool("Lamps_emer1") and 1 or 0,0,1,5,false) local cab = self:Animate("lamps_cab",self:GetPackedBool("Lamps_cab") and 1 or 0,0,1,5,false) local emer2 = self:Animate("lamps_emer2",self:GetPackedBool("Lamps_emer2") and 1 or 0,0,1,5,false) local half1 = self:Animate("lamps_half1",self:GetPackedBool("Lamps_half1") and 0.4+Lamps*0.6 or 0,0,1,5,false) local half2 = self:Animate("lamps_half2",self:GetPackedBool("Lamps_half2") and 0.4+Lamps*0.6 or 0,0,1,5,false) - self:ShowHideSmooth("Lamps_emer1",emer1) self:ShowHideSmooth("Lamps_cab1",cab) self:ShowHideSmooth("Lamps_emer2",emer2) @@ -1018,7 +1476,7 @@ function ENT:Think() self:Animate("controller",self:GetPackedRatio("ControllerPosition"),0, 0.31, 2,false) self:Animate("reverser",self:GetPackedRatio("ReverserPosition"),0.6, 0.4, 4,false) self:Animate("rcureverser",self:GetPackedBool("RCUPosition") and 1 or 0,0.77,0,3,false) - self:Animate("volt1", self:GetPackedRatio("BatteryVoltage"),0.62,0.385,45,3) + self:Animate("volt1", self:GetPackedRatio("BatteryVoltage"),0.6182,0.39,45,3) self:ShowHide("reverser",self:GetNW2Int("WrenchMode",0)==1) self:ShowHide("rcureverser",self:GetNW2Int("WrenchMode",0)==3) @@ -1188,7 +1646,8 @@ function ENT:Think() local compressorspeed = self:GetPackedBool("VB") and compressorb or 0 local state = self:GetPackedBool("Compressor") self:SetSoundState("compressor",state and 0.6 or 0,compressorspeed or 0) - + --ring + self:SetSoundState("ring",self:GetPackedBool("RingEnabled") and 1 or 0,1) -- RK rotation if self:GetPackedBool("RK") then self.RKTimer = CurTime() end state = (CurTime() - (self.RKTimer or 0)) < 0.2 diff --git a/lua/entities/gmod_subway_em508t/init.lua b/lua/entities/gmod_subway_em508t/init.lua index 9efa7a8..a7028c8 100644 --- a/lua/entities/gmod_subway_em508t/init.lua +++ b/lua/entities/gmod_subway_em508t/init.lua @@ -15,6 +15,11 @@ ENT.SyncTable = { "FrontBrakeLineIsolation","FrontTrainLineIsolation", "EmergencyBrakeValve", "GV", + "Ring", + "PR1","PR2","PR5","PR11","PR4","PR9","PR6","PR8","PR12",--9 + "PRL13","PRL31","PRL17","PRL25","PRL18","PRL24","PRL19","PRL6A","PRL4A","PRL16","PRL28","PRL2A","PRL34", + "PRL23","PRL15","PRL22","PRL20","PRL21","PRL32","PRL30","PRL1A","PRL14","PRL26","PRL12","PRL29","PRL33", + "FBoxCover" } function ENT:Initialize() @@ -176,8 +181,7 @@ function ENT:Initialize() -- Cross connections in train wires self.TrainWireInverts = { - --[18] = true, - [34] = true, + [21] = true, } self.TrainWireCrossConnections = { [5] = 4, -- Reverser F<->B @@ -192,7 +196,9 @@ function ENT:Initialize() self.RearDoor = false self.FrontDoor = false self.CabinDoor = false - self.PassengerDoor = false + self.PassengerDoor = false + self.FuseboxCover = false + self:TrainSpawnerUpdate() end @@ -209,17 +215,19 @@ function ENT:Think() self:SetPackedBool("Headlights1",Panel.Headlights1 > 0) self:SetPackedBool("Headlights2",Panel.Headlights2 > 0) - - local lightsActive2 = math.min(1,Panel.MainLights2) - local lightsActive1 = math.min(1,Panel.MainLights1)^2 + self:SetPackedBool("RedLights1",Panel.RedLight1 > 0) + self:SetPackedBool("RedLights2",Panel.RedLight2 > 0) + local lightsActive2 = math.min(1,self.Panel.MainLights2)^2 + local lightsActive1 = math.min(1,self.Panel.MainLights1)^2 + local LightPower = math.min(1,self.Panel.LightPower)^2 local emerActive1 = Panel.EmergencyLights1 local emerActive2 = Panel.EmergencyLights2 - self:SetPackedBool("Lamps_emer1",emerActive1 > 0 and lightsActive1 == 0) + self:SetPackedBool("Lamps_cab",emerActive1 > 0) self:SetPackedBool("Lamps_emer2",emerActive2 > 0) self:SetPackedBool("Lamps_half1",lightsActive1 > 0) self:SetPackedBool("Lamps_half2",lightsActive2 > 0) - self:SetPackedRatio("LampsStrength",lightsActive1) + self:SetPackedRatio("LampsStrength",LightPower) -- Switch and button states --self:SetPackedBool(0,self:IsWrenchPresent()) @@ -251,7 +259,8 @@ function ENT:Think() if self.TrueBrakeAngle > 0.999 and self.ManualBrake > self.TrueBrakeAngle then self.TrueBrakeAngle = self.ManualBrake end self.TrueBrakeAngle = self.TrueBrakeAngle + (self.ManualBrake - self.TrueBrakeAngle)*2.0*(self.DeltaTime or 0) self:SetPackedRatio("ManualBrake",self.TrueBrakeAngle) - + + self:SetPackedBool("RingEnabled",Panel.Ring > 0.5) self:SetPackedRatio("LampsCount",math.Clamp(1-self.Electric.Cosume,0.3,1)) self:SetNW2Int("WrenchMode",self.KVWrenchMode) self:SetPackedBool("Compressor",Pneumatic.Compressor == 1.0) @@ -262,7 +271,6 @@ function ENT:Think() self:SetPackedBool("CabinDoor",self.CabinDoor) self:SetPackedBool("AnnPlay",Panel.AnnouncerPlaying > 0) - self:SetPackedRatio("CranePosition", Pneumatic.DriverValvePosition/7) self:SetPackedRatio("ControllerPosition", (self.KV.ControllerPosition+3)/7) self:SetPackedRatio("ReverserPosition", 1-(self.KV.ReverserPosition+1)/2) @@ -272,7 +280,7 @@ function ENT:Think() self:SetPackedRatio("BCPressure", math.min(2.7,Pneumatic.BrakeCylinderPressure)/6.0) self:SetPackedRatio("EnginesVoltage", self.Engines.E24/2000.0) self:SetPackedRatio("EnginesCurrent", 0.5 + 0.5*(self.Electric.I24/500.0)) - self:SetPackedRatio("BatteryVoltage",Panel["V1"]*self.Battery.Voltage/150.0) + self:SetPackedRatio("BatteryVoltage",self.Panel["V1"]*self.Battery.Voltage/150) self:SetPackedRatio("Speed", self.Speed/100) @@ -308,6 +316,29 @@ function ENT:Think() end self:GenerateJerks() + + --Fuses + self:SetPackedBool("PR1FState",self.PR1.Value) + self:SetPackedBool("PR2FState",self.PR2.Value) + self:SetPackedBool("PR5FState",self.PR5.Value) + self:SetPackedBool("PR11FState",self.PR11.Value) + self:SetPackedBool("PR4FState",self.PR4.Value) + self:SetPackedBool("PR9FState",self.PR9.Value) + self:SetPackedBool("PR6FState",self.PR6.Value) + self:SetPackedBool("PR8FState",self.PR8.Value) + self:SetPackedBool("PR12FState",self.PR12.Value) + + self:SetPackedBool("PR1Cover", self.PR1Cap.Value) + self:SetPackedBool("PR2Cover", self.PR2Cap.Value) + self:SetPackedBool("PR5Cover", self.PR5Cap.Value) + self:SetPackedBool("PR11Cover", self.PR11Cap.Value) + self:SetPackedBool("PR4Cover", self.PR4Cap.Value) + self:SetPackedBool("PR9Cover", self.PR9Cap.Value) + self:SetPackedBool("PR6Cover", self.PR6Cap.Value) + self:SetPackedBool("PR8Cover", self.PR8Cap.Value) + self:SetPackedBool("PR12Cover", self.PR12Cap.Value) + + self:SetPackedBool("FuseboxCover", self.FuseboxCover) return RetVal end @@ -317,7 +348,7 @@ function ENT:OnButtonPress(button,ply) if string.find(button,"PneumaticBrakeSet") then self.Pneumatic:TriggerInput("BrakeSet",tonumber(button:sub(-1,-1))) return - end + end -- Parking brake if button == "ParkingBrakeLeft" then self.ManualBrake = math.max(0.0,(self.ManualBrake or 0) - 0.05) end if button == "ParkingBrakeRight" then self.ManualBrake = math.min(1.0,(self.ManualBrake or 0) + 0.05) end @@ -325,6 +356,7 @@ function ENT:OnButtonPress(button,ply) self.Pneumatic:TriggerInput("BrakeSet",tonumber(button:sub(-1,-1))) return end + if button == "FBoxCover" then self.FuseboxCover = not self.FuseboxCover end if button == "FrontDoor" then self.FrontDoor = not self.FrontDoor end if button == "RearDoor" then self.RearDoor = not self.RearDoor end if button == "PassengerDoor" then self.PassengerDoor = not self.PassengerDoor end diff --git a/lua/entities/gmod_subway_em508t/shared.lua b/lua/entities/gmod_subway_em508t/shared.lua index e112aca..aeed002 100644 --- a/lua/entities/gmod_subway_em508t/shared.lua +++ b/lua/entities/gmod_subway_em508t/shared.lua @@ -409,12 +409,49 @@ function ENT:InitializeSounds() self.SoundPositions["samm_revers_out"] = {60,1e9,Vector(442.2-6,-50,-10)} self.SoundPositions["samm_revers_in"] = {60,1e9,Vector(442.2-6,-50,-10)} - self.SoundNames["ring"] = {loop=0.15,"subway_trains/717/ring/ring_start.wav","subway_trains/717/ring/ring_loop.wav","subway_trains/717/ring/ring_end.wav"} - self.SoundPositions["ring"] = {100,1e9,Vector(445,-55,-15),0.2} + self.SoundNames["ring"] = {loop=0.15,"subway_trains/717/ring/ringo_start.wav","subway_trains/717/ring/ringo_loop.wav","subway_trains/717/ring/ringo_end.mp3"}--{loop=0.15,"subway_trains/717/ring/ring_start.wav","subway_trains/717/ring/ring_loop.wav","subway_trains/717/ring/ring_end.wav"} + self.SoundPositions["ring"] = {60,1e9,Vector(400,-30,55),0.5}--{100,1e9,Vector(445,-55,-15),0.2} self.SoundNames["cab_door_open"] = "subway_trains/common/door/cab/door_open.mp3" self.SoundNames["cab_door_close"] = "subway_trains/common/door/cab/door_close.mp3" + self.SoundNames["fuseh_in"] = { + "subway_trains/710/fuseh_in_1.mp3", + "subway_trains/710/fuseh_in_2.mp3", + "subway_trains/710/fuseh_in_3.mp3", + } + self.SoundPositions["fuseh_in"] = {80,1e2,Vector(449+7,56.0,-10.24349),0.6} + + self.SoundNames["fuseh_out"] = { + "subway_trains/710/fuseh_out_1.mp3", + "subway_trains/710/fuseh_out_2.mp3", + "subway_trains/710/fuseh_out_3.mp3", + } + self.SoundPositions["fuseh_in"] = {80,1e2,Vector(449+7.7,56.0,-10.24349),0.6} + + self.SoundNames["fusecap_open"] = { + "subway_trains/710/fusecap_open_1.mp3", + "subway_trains/710/fusecap_open_2.mp3", + } + self.SoundPositions["fusecap_open"] = {80,1e2,Vector(449+7,56.0,-10.24349),0.6} + + self.SoundNames["fusecap_close"] = { + "subway_trains/710/fusecap_close_1.mp3", + "subway_trains/710/fusecap_close_2.mp3", + } + self.SoundPositions["fusecap_close"] = {80,1e2,Vector(449+7.7,56.0,-10.24349),0.6} + + self.SoundNames["fusebox_open"] = { + "subway_trains/710/fusebox_open_1.mp3", + "subway_trains/710/fusebox_open_2.mp3", + } + self.SoundPositions["fusebox_open"] = {80,1e2,Vector(449+7,56.0,-10.24349),0.6} + + self.SoundNames["fusebox_close"] = { + "subway_trains/710/fusebox_close_1.mp3", + "subway_trains/710/fusebox_close_2.mp3", + } + self.SoundPositions["fusebox_close"] = {80,1e2,Vector(449+7.7,56.0,-10.24349),0.6} self.SoundNames["parking_brake_rolling"] = {"subway_trains/ezh3/parking_brake_rolling1.mp3","subway_trains/ezh3/parking_brake_rolling2.mp3","subway_trains/ezh3/parking_brake_rolling3.mp3","subway_trains/ezh3/parking_brake_rolling4.mp3"} self.SoundPositions["parking_brake_rolling"] = {65,1e9,Vector(449.118378+7.6,33.493385,-14.713276),0.1} @@ -603,6 +640,8 @@ function ENT:InitializeSystems() end function ENT:PostInitializeSystems() self.YAR_27:TriggerInput("NoRKTT",1) + self.YAR_15A:TriggerInput("WithFuse",1) + self.Pneumatic:TriggerInput("PowerWithFuse",1) end ENT.SubwayTrain = { diff --git a/lua/entities/gmod_subway_ezh3/cl_init.lua b/lua/entities/gmod_subway_ezh3/cl_init.lua index e88826a..7e3cde9 100644 --- a/lua/entities/gmod_subway_ezh3/cl_init.lua +++ b/lua/entities/gmod_subway_ezh3/cl_init.lua @@ -250,9 +250,9 @@ ENT.ButtonMap["Main"] = { }}, ---Блок Резервный - {ID = "KAHSet", x=610, y=61+4+48*2, radius=20, tooltip="", model = { + {ID = "Custom4Set", x=610, y=61+4+48*2, radius=20, tooltip="", model = { model = "models/metrostroi_train/81-710/ezh3_button_red.mdl",ang = 180,z=-2, - var="KAH",speed=16,vmin=1,vmax=0, + var="Custom4",speed=16,vmin=1,vmax=0, sndvol = 0.10, snd = function(val) return val and "button3_on" or "button3_off" end,sndmin = 60, sndmax = 1e3/3, sndang = Angle(-90,0,0), }}, {ID = "KU15Set", x=610+48*2, y=61+4+48*2, radius=20, tooltip="", model = { @@ -350,7 +350,7 @@ ENT.ButtonMap["Panel"] = { sprite = {bright=0.20,size=0.25,scale=0.05,vscale=0.04,color=Color(136, 159, 211),y=0,z=-3,lamp="light_SD",hidden="ezh3_lsd"} }}, - {ID = "!BatteryVoltage", x=120-80,y=25,tooltip="",w=60, h=50,tooltipFunc = function(ent) return Format(Metrostroi.GetPhrase("Train.Buttons.BatteryVoltage"),ent:GetPackedRatio("BatteryVoltage")*150) end}, + {ID = "!BatteryVoltage", x=120-80,y=25,tooltip="",w=60, h=50,tooltipFunc = function(ent) return Format(Metrostroi.GetPhrase("Train.Buttons.BatteryVoltage"),ent:GetPackedRatio("BatteryVoltage")*100) end}, {ID = "!EnginesCurrent", x=120-8,y=25,tooltip="",w=60, h=50,tooltipFunc = function(ent) return Format(Metrostroi.GetPhrase("Train.Buttons.EnginesCurrent"),ent:GetPackedRatio("EnginesCurrent")*1000-500) end}, {ID = "!HighVoltage", x=120+80-18,y=25,tooltip="",w=60, h=50,tooltipFunc = function(ent) return Format(Metrostroi.GetPhrase("Train.Buttons.HighVoltage"),ent:GetPackedRatio("EnginesVoltage")*1000) end}, {ID = "!Speedometer", x=352,y=25,tooltip="",w=85, h=70,tooltipFunc = function(ent) return Format(Metrostroi.GetPhrase("Train.Buttons.Speed"),ent:GetPackedRatio("Speed")*100) end}, @@ -442,7 +442,7 @@ ENT.ButtonMap["Stopkran"] = { height = 1300, scale = 0.1/2, buttons = { - {ID = "EmergencyBrakeValveToggle",x=0, y=0, w=200, h=1300, tooltip="", tooltip="",tooltip="",states={"Train.Buttons.Closed","Train.Buttons.Opened"},var="EmergencyBrakeValve"}, + {ID = "EmergencyBrakeValveToggle",x=0, y=0, w=200, h=1300, tooltip="",states={"Train.Buttons.Closed","Train.Buttons.Opened"},var="EmergencyBrakeValve"}, } } @@ -465,7 +465,7 @@ ENT.ButtonMap["AVMain"] = { ENT.ButtonMap["KRR"] = { - pos = Vector(403,-23.5-0.5,4), + pos = Vector(403,-20.5-0.5,3), ang = Angle(0,90,90), width = 20, height = 20, @@ -960,8 +960,6 @@ ENT.ClientProps["route2"] = { end, } - - ENT.ButtonMap["FrontDoor"] = { pos = Vector(468,16,43.4), ang = Angle(0,-90,90), @@ -1039,6 +1037,488 @@ ENT.ButtonMap["RearDoor"] = { }}, } } +--High voltage fuses +ENT.ClientProps["PR1Fuse"] = { + model = "models/metrostroi_train/81-717/BP15_sg.mdl", + pos = Vector(405.7,30.17,-2.1), + ang = Angle(0,0,0), + scale = 2.25, +} +ENT.ClientProps["PR2Fuse"] = { + model = "models/metrostroi_train/81-717/BP15_sg.mdl", + pos = Vector(405.7,30.17+(2.75*1),-2.1), + ang = Angle(0,0,0), + scale = 2.25, +} +ENT.ClientProps["PR5Fuse"] = { + model = "models/metrostroi_train/81-717/BP15_sg.mdl", + pos = Vector(405.7,30.17+(2.75*2),-2.1), + ang = Angle(0,0,0), + scale = 2.25, +} +ENT.ClientProps["PR11Fuse"] = { + model = "models/metrostroi_train/81-717/BP15_sg.mdl", + pos = Vector(405.7,30.17+(2.75*3),-2.1), + ang = Angle(0,0,0), + scale = 2.25, +} +ENT.ClientProps["PR4Fuse"] = { + model = "models/metrostroi_train/81-717/BP15_sg.mdl", + pos = Vector(405.7,30.17+(2.75*4),-2.1), + ang = Angle(0,0,0), + scale = 2.25, +} +ENT.ClientProps["PR9Fuse"] = { + model = "models/metrostroi_train/81-717/BP15_sg.mdl", + pos = Vector(405.7,30.17+(2.75*5),-2.1), + ang = Angle(0,0,0), + scale = 2.25, +} +ENT.ClientProps["PR6Fuse"] = { + model = "models/metrostroi_train/81-717/BP15_sg.mdl", + pos = Vector(405.7,30.17+(2.75*6),-2.1), + ang = Angle(0,0,0), + scale = 2.25, +} +ENT.ClientProps["PR8Fuse"] = { + model = "models/metrostroi_train/81-717/BP15_sg.mdl", + pos = Vector(405.7,30.17+(2.75*7),-2.1), + ang = Angle(0,0,0), + scale = 2.25, +} +ENT.ClientProps["PR12Fuse"] = { + model = "models/metrostroi_train/81-717/BP15_sg.mdl", + pos = Vector(405.7,30.17+(2.75*8),-2.1), + ang = Angle(0,0,0), + scale = 2.25, +} +ENT.ClientProps["PR1Cap"] = { + model = "models/metrostroi_train/81-717/BP15.mdl", + pos = Vector(403.9,30.17+(2.75*0),-2.45), + ang = Angle(-90,0,180), + scale = 0.94, +} +ENT.ClientProps["PR2Cap"] = { + model = "models/metrostroi_train/81-717/BP15.mdl", + pos = Vector(403.9,30.17+(2.75*1),-2.45), + ang = Angle(-90,0,180), + scale = 0.94, +} +ENT.ClientProps["PR5Cap"] = { + model = "models/metrostroi_train/81-717/BP15.mdl", + pos = Vector(403.9,30.17+(2.75*2),-2.45), + ang = Angle(-90,0,180), + scale = 0.94, +} +ENT.ClientProps["PR11Cap"] = { + model = "models/metrostroi_train/81-717/BP15.mdl", + pos = Vector(403.9,30.17+(2.75*3),-2.45), + ang = Angle(-90,0,180), + scale = 0.94, +} +ENT.ClientProps["PR4Cap"] = { + model = "models/metrostroi_train/81-717/BP15.mdl", + pos = Vector(403.9,30.17+(2.75*4),-2.45), + ang = Angle(-90,0,180), + scale = 0.94, +} +ENT.ClientProps["PR9Cap"] = { + model = "models/metrostroi_train/81-717/BP15.mdl", + pos = Vector(403.9,30.17+(2.75*5),-2.45), + ang = Angle(-90,0,180), + scale = 0.94, +} +ENT.ClientProps["PR6Cap"] = { + model = "models/metrostroi_train/81-717/BP15.mdl", + pos = Vector(403.9,30.17+(2.75*6),-2.45), + ang = Angle(-90,0,180), + scale = 0.94, +} +ENT.ClientProps["PR8Cap"] = { + model = "models/metrostroi_train/81-717/BP15.mdl", + pos = Vector(403.9,30.17+(2.75*7),-2.45), + ang = Angle(-90,0,180), + scale = 0.94, +} +ENT.ClientProps["PR12Cap"] = { + model = "models/metrostroi_train/81-717/BP15.mdl", + pos = Vector(403.9,30.17+(2.75*8),-2.45), + ang = Angle(-90,0,180), + scale = 0.94, +} + +ENT.ButtonMap["HighVoltFuse"] = { + pos = Vector(406,28.3,-4), + ang = Angle(-90,180,0), + width = 75, + height = 410, + scale = 0.0625, + hide=0.8, + buttons = { --высота, ширина между ними + {ID = "PR1Toggle", x=0+35*1,y=30+44.1*0,radius=25,tooltip=""}, + {ID = "PR2Toggle", x=0+35*1,y=30+44.1*1,radius=25,tooltip=""}, + {ID = "PR5Toggle", x=0+35*1,y=30+44.1*2,radius=25,tooltip=""}, + {ID = "PR11Toggle",x=0+35*1,y=30+44.1*3,radius=25,tooltip=""}, + {ID = "PR4Toggle", x=0+35*1,y=30+44.1*4,radius=25,tooltip=""}, + {ID = "PR9Toggle", x=0+35*1,y=30+44.1*5,radius=25,tooltip=""}, + {ID = "PR6Toggle", x=0+35*1,y=30+44.1*6,radius=25,tooltip=""}, + {ID = "PR8Toggle", x=0+35*1,y=30+44.1*7,radius=25,tooltip=""}, + {ID = "PR12Toggle",x=0+35*1,y=30+44.1*8,radius=25,tooltip=""}, + } +} +for i,button in pairs(ENT.ButtonMap.HighVoltFuse.buttons) do + button.model = { + var=button.ID:Replace("Toggle",""), + sndid=button.ID:Replace("Toggle","Fuse"), + sndvol = 0.2, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + noTooltip = true + } +end +ENT.ButtonMap["HighVoltFuseHolder"] = { + pos = Vector(407.35,28.3,-9), + ang = Angle(-90,180,0), + width = 75, + height = 410, + scale = 0.0625, + hide=0.8, + buttons = { --ширина между ними, высота + {ID = "PR1CapToggle", x=0+35*1,y=30+44.1*0,radius=25,tooltip=""}, + {ID = "PR2CapToggle", x=0+35*1,y=30+44.1*1,radius=25,tooltip=""}, + {ID = "PR5CapToggle", x=0+35*1,y=30+44.1*2,radius=25,tooltip=""}, + {ID = "PR11CapToggle",x=0+35*1,y=30+44.1*3,radius=25,tooltip=""}, + {ID = "PR4CapToggle", x=0+35*1,y=30+44.1*4,radius=25,tooltip=""}, + {ID = "PR9CapToggle", x=0+35*1,y=30+44.1*5,radius=25,tooltip=""}, + {ID = "PR6CapToggle", x=0+35*1,y=30+44.1*6,radius=25,tooltip=""}, + {ID = "PR8CapToggle", x=0+35*1,y=30+44.1*7,radius=25,tooltip=""}, + {ID = "PR12CapToggle",x=0+35*1,y=30+44.1*8,radius=25,tooltip=""}, + } +} +for i,button in pairs(ENT.ButtonMap.HighVoltFuseHolder.buttons) do + button.model = { + var=button.ID:Replace("Toggle",""), + sndid=button.ID:Replace("CapToggle","Cap"), + sndvol = 1, snd = function(val) return val and "fusecap_open" or "fusecap_close" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + noTooltip = true, + } +end +ENT.ClientProps["FuN0_Holder"] = { + model = "models/metrostroi_train/81-717/BP15.mdl", + pos = Vector(403.08,-33,29), + ang = Angle(-90,180,0), + hideseat = 0.2, + scale = 0.94, +} +ENT.ClientProps["FuN1_Holder"] = { + model = "models/metrostroi_train/81-717/BP15.mdl", + pos = Vector(403.08,-24.4,26.2), + ang = Angle(-90,180,0), + hideseat = 0.2, + scale = 0.94, +} +ENT.ClientProps["FuN2_Holder"] = { + model = "models/metrostroi_train/81-717/BP15.mdl", + pos = Vector(403.08,-21.6,26.0), + ang = Angle(-90,180,0), + hideseat = 0.2, + scale = 0.94, +} +ENT.ClientProps["FuN3_Holder"] = { + model = "models/metrostroi_train/81-717/BP15.mdl", + pos = Vector(403.08,-19,10.0), + ang = Angle(-90,180,0), + hideseat = 0.2, + scale = 0.94, +} +--Low voltage fuses +ENT.ClientProps["fusebox"] = { + model = "models/metrostroi_train/81-710/electric/fusebox.mdl", + pos = Vector(0,0,0), + ang = Angle(0,-90,0), + hideseat = 1.0, +} +ENT.ClientProps["fusebox_cover"] = { + model = "models/metrostroi_train/81-710/electric/fusebox_cover.mdl", + pos = Vector(405.1,-33.42,5), + ang = Angle(0,-90,0), + hideseat = 1.0, +} +ENT.ButtonMap["FuseboxCoverC"] = { + pos = Vector(405,-45.55,-4), + ang = Angle(-90,180,0), + width = 150, + height = 380, + scale = 0.0625, + hide=0.8, + buttons = { + {ID = "FBoxCover",x=0,y=0,w=150,h=380, tooltip ="", model = { + var="fusebox_cover", sndid="fusebox_cover", + sndvol = 1.2, snd = function(val) return val and "fusebox_open" or "fusebox_close" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + noTooltip = true, + }}, + } +} +ENT.ButtonMap["FuseboxCoverO"] = { + pos = Vector(405,-45.55,6), + ang = Angle(-90,180,0), + width = 150, + height = 380, + scale = 0.0625, + hide=0.8, + buttons = { + {ID = "FBoxCover",x=0,y=0,w=150,h=380, tooltip ="", model = { + noTooltip = true, + }}, + } +} +ENT.ButtonMap["Fusebox"] = { + pos = Vector(404,-45.55,-3), + ang = Angle(-90,180,0), + width = 300, + height = 380, + scale = 0.0625, + hide=0.8, + buttons = { + {ID = "PRL13Toggle", x=128+56*2,y=21+27*0,w=40,h=15,tooltip="", model = { + var="PRL13", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", ang = Angle(0,90,0), var = "PRL13", anim = true + }} + }, + {ID = "PRL31Toggle", x=128+56*2,y=21+27*1,w=40,h=15,tooltip="", model = { + var="PRL31", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1, ang = Angle(0,90,0), var = "PRL31", anim = true + }} + }, + {ID = "PRL17Toggle", x=128+56*2,y=21+27*2,w=40,h=15,tooltip="", model = { + var="PRL17", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1, ang = Angle(0,90,0), var = "PRL17", anim = true + }} + }, + {ID = "PRL25Toggle",x=128+56*2,y=21+27*3,w=40,h=15,tooltip="", model = { + var="PRL25", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1, ang = Angle(0,90,0), scale = 1.2, var = "PRL25", anim = true + }} + }, + {ID = "PRL18Toggle", x=128+56*2,y=21+27*4,w=40,h=15,tooltip="", model = { + var="PRL18", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1, ang = Angle(0,90,0), var = "PRL18", anim = true + }} + }, + {ID = "PRL24Toggle", x=128+56*2,y=21+27*5,w=40,h=15,tooltip="", model = { + var="PRL24", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1, ang = Angle(0,90,0), scale = 1.2, var = "PRL24", anim = true + }} + }, + {ID = "PRL19Toggle", x=128+56*2,y=21+27*6,w=40,h=15,tooltip="", model = { + var="PRL19", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1.2, ang = Angle(0,90,0), var = "PRL19", anim = true + }} + }, + {ID = "PRL6AToggle", x=128+56*2,y=21+27*7,w=40,h=15,tooltip="", model = { + var="PRL6A", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1.2, ang = Angle(0,90,0), scale = 1.2, var = "PRL6A", anim = true + }} + }, + {ID = "PRL4AToggle",x=128+56*2,y=21+27*8,w=40,h=15,tooltip="", model = { + var="PRL4A", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1.2, ang = Angle(0,90,0), var = "PRL4A", anim = true + }} + }, + {ID = "PRL16Toggle", x=128+56*2,y=21+27*9,w=40,h=15,tooltip="", model = { + var="PRL16", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1.2, ang = Angle(0,90,0), var = "PRL16", anim = true + }} + }, + {ID = "PRL28Toggle", x=128+56*2,y=21+27*10,w=40,h=15,tooltip="", model = { + var="PRL28", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1.7, ang = Angle(0,90,0), var = "PRL28", anim = true + }} + }, + {ID = "PRL2AToggle", x=128+56*2,y=21+27*11,w=40,h=15,tooltip="", model = { + var="PRL2A", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1.2, ang = Angle(0,90,0), var = "PRL2A", anim = true + }} + }, + {ID = "PRL34Toggle",x=128+56*2,y=21+27*12,w=40,h=15,tooltip="", model = { + var="PRL34", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1.2, ang = Angle(0,90,0), var = "PRL34", anim = true + }} + }, + --Нижний ряд + {ID = "PRL23Toggle", x=110+56*1,y=21+27*0,w=40,h=15,tooltip="", model = { + var="PRL23", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 0.7, ang = Angle(0,90,0), var = "PRL23", anim = true + }} + }, + {ID = "PRL15Toggle", x=110+56*1,y=21+27*1,w=40,h=15,tooltip="", model = { + var="PRL15", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 0.7, ang = Angle(0,90,0), var = "PRL15", anim = true + }} + }, + {ID = "PRL22Toggle", x=110+56*1,y=21+27*2,w=40,h=15,tooltip="", model = { + var="PRL22", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1.2, ang = Angle(0,90,0), var = "PRL22", anim = true + }} + }, + {ID = "PRL20Toggle", x=110+56*1,y=21+27*3,w=40,h=15,tooltip="", model = { + var="PRL20", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1.2, x = -9, ang = Angle(0,90,0), var = "PRL20", anim = true + }} + }, + {ID = "PRL21Toggle",x=110+56*1,y=21+27*4,w=40,h=15,tooltip="", model = { + var="PRL21", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1.2, ang = Angle(0,90,0), var = "PRL21", anim = true + }} + }, + {ID = "PRL32Toggle", x=110+56*1,y=21+27*5,w=40,h=15,tooltip="", model = { + var="PRL32", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1.2, x = -9, ang = Angle(0,90,0), var = "PRL32", anim = true + }} + }, + {ID = "PRL30Toggle",x=110+56*1,y=21+27*6,w=40,h=15,tooltip="", model = { + var="PRL30", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1.2, ang = Angle(0,90,0), var = "PRL30", anim = true + }} + }, + {ID = "PRL1AToggle", x=110+56*1,y=21+27*7,w=40,h=15,tooltip="", model = { + var="PRL1A", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1.2, x = -9, ang = Angle(0,90,0), var = "PRL1A", anim = true + }} + }, + {ID = "PRL14Toggle",x=110+56*1,y=21+27*8,w=40,h=15,tooltip="", model = { + var="PRL14", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1.2, ang = Angle(0,90,0), var = "PRL14", anim = true + }} + }, + {ID = "PRL26Toggle", x=110+56*1,y=21+27*9,w=40,h=15,tooltip="", model = { + var="PRL26", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1.2, ang = Angle(0,90,0), var = "PRL26", anim = true + }} + }, + {ID = "PRL12Toggle",x=110+56*1,y=21+27*10,w=40,h=15,tooltip="", model = { + var="PRL12", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1.2, ang = Angle(0,90,0), var = "PRL12", anim = true + }} + }, + {ID = "PRL3AToggle", x=110+56*1,y=21+27*11,w=40,h=15,tooltip="", model = { + var="PRL3A", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1.2, ang = Angle(0,90,0), var = "PRL3A", anim = true + }} + }, + {ID = "PRL33Toggle",x=110+56*1,y=21+27*12,w=40,h=15,tooltip="", model = { + var="PRL33", speed=3, sndid="fusebox_cover", + sndvol = 0.1, snd = function(val) return val and "fuseh_in" or "fuseh_out" end, + sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0), + --noTooltip = true, + lamp = { + model = "models/metrostroi_train/81-717/BP15_sg_small.mdl", y = 1.2, ang = Angle(0,90,0), var = "PRL33", anim = true + }} + }, + } +} + -------------------------------------------------------------------------------- ENT.ClientPropsInitialized = false if not ENT.ClientSounds["br_334"] then ENT.ClientSounds["br_334"] = {} end @@ -1158,7 +1638,7 @@ ENT.ClientProps["voltmeter"] = { ENT.ClientProps["ampermeter"] = { model = "models/metrostroi_train/81-710/ezh3_voltages.mdl", - pos = Vector(448.20+10.09,-24.69,-6.69), + pos = Vector(448.20+10.09,-24.66,-6.69), ang = Angle(-62,0,0), hideseat = 0.2, } @@ -1166,7 +1646,7 @@ ENT.ClientProps["ampermeter"] = { ENT.ClientProps["volt1"] = { model = "models/metrostroi_train/81-710/ezh3_voltages.mdl", pos = Vector(448.20+10.35,-20.57,-6.69), - ang = Angle(-62,-5,0), + ang = Angle(-62,0,0), hideseat = 0.2, } ENT.ClientProps["speed1"] = { @@ -1466,10 +1946,15 @@ ENT.ClientProps["UAVALever"] = { ang = Angle(0,-90+10,0), hideseat = 0.8, } - -ENT.ClientProps["RedLights"] = { - model = "models/metrostroi_train/81-703/81-703_red_light.mdl", - pos = Vector(-23+7.2,1,-191), +ENT.ClientProps["RedLight2"] = { + model = "models/metrostroi_train/81-710/81-710_red_light_l.mdl", + pos = Vector(0,0,0), + ang = Angle(0,0,0.000000), + nohide=true, +} +ENT.ClientProps["RedLight1"] = { + model = "models/metrostroi_train/81-710/81-710_red_light_r.mdl", + pos = Vector(0,0,0), --скорректировать и заменитть ang = Angle(0,0,0.000000), nohide=true, } @@ -1512,6 +1997,7 @@ end ENT.Lights = { [1] = { "headlight", Vector(470,0,-35), Angle(0,0,0), Color(200,130,88), brightness = 4 , fov=100, texture = "models/metrostroi_train/equipment/headlight",shadows = 1,headlight=true}, [2] = { "headlight", Vector(460,0,45), Angle(-20,0,0), Color(255,0,0), fov=164 ,brightness = 0.3, farz=250,texture = "models/metrostroi_train/equipment/headlight2",shadows = 0,backlight=true}, + [3] = { "headlight", Vector(460,0,45), Angle(-20,0,0), Color(255,0,0), fov=164 ,brightness = 0.3, farz=250,texture = "models/metrostroi_train/equipment/headlight2",shadows = 0,backlight=true}, [19] = { "headlight", Vector(458.467194,-39.912831,-5.513901), Angle(45,-0.000000,0.000000), Color(255,145,25), farz = 16.7, nearz = 1, shadows = 1, brightness = 2, fov = 155,panellight=true,hidden = "Gauges_lit"}, --manometers @@ -1610,20 +2096,38 @@ function ENT:Think() end self.BrakeAngleSND = BAsnd end + + --Fuses animate + local fusepanelC = self:HidePanel("FuseboxCoverC", not self:GetPackedBool("FuseboxCover")) + local fusepanelO = self:HidePanel("FuseboxCoverO", self:GetPackedBool("FuseboxCover")) + for i=1,12 do + self:ShowHide("PR"..i.."Toggle", self:GetPackedBool("PR"..i.."Cover")) + if (self:Animate("PR"..i.."Cap", self:GetPackedBool("PR"..i.."Cover") and 0.99 or 0,0,1,4,false) >= 0.01) then + self:ShowHideSmooth("PR"..i.."Fuse", ((self:GetPackedBool("PR"..i.."FState") and 1 or 0) - (self:Animate("PR"..i.."Fuse",self:GetPackedBool("PR"..i.."FState") and 0 or 1,0,1,5,false)))) + else + self:ShowHide("PR"..i.."Fuse",1) + end + end + + local fusebox_cover = self:Animate("fusebox_cover", self:GetPackedBool("FuseboxCover") and 1 or 0,0,1,8,1) + if self.FboxCover ~= (fusebox_cover > 0) then + self.FboxCover = fusebox_cover > 0 + self:PlayOnce("fusebox_cover","bass",self.FboxCover and 1 or 0) + end + self:HidePanel("Fusebox", fusebox_cover == 0) local Lamps = self:GetPackedRatio("LampsStrength") - local emer1 = self:Animate("lamps_emer1",self:GetPackedBool("Lamps_emer1") and 1 or 0,0,1,5,false) local cab = self:Animate("lamps_cab",self:GetPackedBool("Lamps_cab") and 1 or 0,0,1,5,false) local emer2 = self:Animate("lamps_emer2",self:GetPackedBool("Lamps_emer2") and 1 or 0,0,1,5,false) local half1 = self:Animate("lamps_half1",self:GetPackedBool("Lamps_half1") and 0.4+Lamps*0.6 or 0,0,1,5,false) - local half2 = self:Animate("lamps_half2",self:GetPackedBool("Lamps_half2") and 0.4+Lamps*0.6 or 0,0,1,5,false) - + local half2 = self:Animate("lamps_half2",self:GetPackedBool("Lamps_half2") and 0.4+Lamps*0.6 or 0,0,1,5,false) self:ShowHideSmooth("Lamps_emer1",emer1) self:ShowHideSmooth("ezh3_lamp2",cab) self:ShowHideSmooth("Lamps_emer2",emer2) self:ShowHideSmooth("Lamps_half1",half1,Color(255,105+half1*150,105+half1*150)) self:ShowHideSmooth("Lamps_half2",half2,Color(255,105+half2*150,105+half2*150)) + self:SetLightPower(23, cab > 0,cab) self:SetLightPower("ezh3_lamp2",cab > 0,cab) if not self:GetPackedBool("Lamps_half1") then @@ -1642,20 +2146,22 @@ function ENT:Think() local HL1 = self:Animate("whitelights",self:GetPackedBool("HeadLights1") and 1 or 0,0,1,5,false) local HL2 = self:Animate("distantlights",self:GetPackedBool("HeadLights2") and 1 or 0,0,1,5,false) - local RL = self:Animate("redlights",self:GetPackedBool("RedLight") and 1 or 0,0,1,5,false) - + local RL1 = self:Animate("redlight1",self:GetPackedBool("RedLights1") and 1 or 0,0,1,5,false) + local RL2 = self:Animate("redlight2",self:GetPackedBool("RedLights2") and 1 or 0,0,1,5,false) self:ShowHideSmooth("WhiteLights",HL1) self:ShowHideSmooth("DistantLights",HL2) - self:ShowHideSmooth("RedLights",RL) - self:SetLightPower(5,RL > 0,RL) - self:SetLightPower(6,RL > 0,RL) + self:ShowHideSmooth("RedLight1",RL1) + self:ShowHideSmooth("RedLight2",RL2) + self:SetLightPower(2,RL1 > 0, RL1) + self:SetLightPower(3,RL2 > 0, RL2) + self:SetLightPower(5,RL1 > 0, RL1) + self:SetLightPower(6,RL2 > 0, RL2) self:SetLightPower(30,HL1 > 0, HL1) self:SetLightPower(31,HL1 > 0, HL1) self:SetLightPower(32,HL2 > 0, HL2) local bright = HL1*0.3+HL2*0.7 self:SetLightPower(1,bright>0,bright) - self:SetLightPower(2,RL>0,RL) if IsValid(self.GlowingLights[1]) then if not self:GetPackedBool("HeadLights1") and self.GlowingLights[1]:GetFarZ() ~= 3144 then @@ -1719,7 +2225,7 @@ function ENT:Think() self:Animate("brake_cylinder",self:GetPackedRatio("BCPressure"), 0.052, 0.794,nil,2)--,,0.03) self:Animate("voltmeter",self:GetPackedRatio("EnginesVoltage"), 0.632,0.36,92,2) self:Animate("ampermeter",self:GetPackedRatio("EnginesCurrent"), 0.632,0.36,nil, nil,92,20,3) - self:Animate("volt1",self:GetPackedRatio("BatteryVoltage"),0.632,0.368,45,2) + self:Animate("volt1",self:GetPackedRatio("BatteryVoltage"),0.613,0.455,72,2) self:Animate("speed1",self:GetPackedRatio("Speed"),0.645, 0.363, nil, nil, 90,200,20) diff --git a/lua/entities/gmod_subway_ezh3/init.lua b/lua/entities/gmod_subway_ezh3/init.lua index 3c8342b..41c8fff 100644 --- a/lua/entities/gmod_subway_ezh3/init.lua +++ b/lua/entities/gmod_subway_ezh3/init.lua @@ -6,13 +6,17 @@ ENT.BogeyDistance = 650 -- Needed for gm trainspawner --"DURASelectMain","DURASelectAlternate","DURAToggleChannel","DURAPowerToggle", ENT.SyncTable = { - "VB","DoorSelect","V4","V5","KU9","KU15","V1","VU14","V2","V3","V6","KU12","KU7","V10","KU8","OtklAVU","KU10","KU11","KRR","R_UNch","R_ZS","R_G","R_Radio","R_Program1","R_Program2","Ring","PB","RC1","VAH","VAD","ARS","ALS","KVT","KB","KAH","VU1","VU2","VU3","AV","VU","PLights","GLights","RST","RUM","KRR", + "VB","DoorSelect","V4","V5","KU9","KU15","V1","VU14","V2","V3","V6","KU12","KU7","V10","KU8","OtklAVU","KU10","KU11","KRR","R_UNch","R_ZS","R_G","R_Radio","R_Program1","R_Program2","Ring","PB","RC1","VAH","VAD","ARS","ALS","KVT","KB","VU1","VU2","VU3","AV","VU","PLights","GLights","RST","RUM","KRR", "R_Program1H","R_Program2H", "SAMMSchemeOff","SAMMStart","SAMMReset","SAMMOn","SAMMBlok","SAMMX2","SAMMAhead","SAMMAccept","SAMMUnit", "RRIEnable","RRIAmplifier", "DriverValveBLDisconnect","DriverValveTLDisconnect","EPK","EmergencyBrakeValve","UAVA","UAVAC", "GV", "R_ASNPOn","R_ASNPDown","R_ASNPUp","R_ASNPPath","R_ASNPMenu","IGLA1","IGLA2", + "PR1","PR2","PR5","PR11","PR4","PR9","PR6","PR8","PR12",--9 + "PR1Cap","PR2Cap","PR5Cap","PR11Cap","PR4Cap","PR9Cap","PR6Cap","PR8Cap","PR12Cap", + "PRL13","PRL31","PRL17","PRL25","PRL18","PRL24","PRL19","PRL6A","PRL4A","PRL16","PRL28","PRL2A","PRL34", + "PRL23","PRL15","PRL22","PRL20","PRL21","PRL32","PRL30","PRL1A","PRL14","PRL26","PRL12","PRL3A","PRL33", } function ENT:Initialize() @@ -100,7 +104,6 @@ function ENT:Initialize() [KEY_PAD_4] = "PneumaticBrakeSet4", [KEY_PAD_5] = "PneumaticBrakeSet5", [KEY_PAD_DIVIDE] = "KU10Set", - [KEY_PAD_MULTIPLY] = "KAHSet", [KEY_SPACE] = { def="PBSet", @@ -195,12 +198,10 @@ function ENT:Initialize() -- Cross connections in train wires self.TrainWireInverts = { - --[18] = true, [21] = true, - [34] = true, } self.TrainWireCrossConnections = { - [5] = 4, -- Reverser F<->B + [5] = 4, --Reverser F<->B [31] = 32, -- Doors L<->R } @@ -213,6 +214,7 @@ function ENT:Initialize() self.FrontDoor = false self.CabinDoor = false self.PassengerDoor = false + self.FuseboxCover = false -- self.A5:TriggerInput("Set",0) self:TrainSpawnerUpdate() @@ -254,14 +256,16 @@ function ENT:Think() local Pneumatic = self.Pneumatic self:SetPackedBool("PanelLights",Panel.PanelLights> 0.5) self:SetPackedBool("GaugeLights",Panel.GaugeLights > 0.5) - self:SetPackedBool("RedLight",Panel.RedLights>0) + self:SetPackedBool("RedLights1",Panel.RedLight1 > 0) + self:SetPackedBool("RedLights2",Panel.RedLight2 > 0) self:SetPackedBool("Headlights1",Panel.Headlights1 > 0) self:SetPackedBool("Headlights2",Panel.Headlights2 > 0) local power = Panel.V1 > 0.5 self:SetPackedBool("V1p",power) - local lightsActive2 = math.min(1,Panel.MainLights2) - local lightsActive1 = math.min(1,Panel.MainLights1)^2 + local lightsActive2 = math.min(1,self.Panel.MainLights2)^2 + local lightsActive1 = math.min(1,self.Panel.MainLights1)^2 + local LightPower = math.min(1,self.Panel.LightPower)^2 local emerActive1 = Panel.EmergencyLights1 local emerActive2 = Panel.EmergencyLights2 @@ -269,7 +273,7 @@ function ENT:Think() self:SetPackedBool("Lamps_emer2",emerActive2 > 0) self:SetPackedBool("Lamps_half1",lightsActive1 > 0) self:SetPackedBool("Lamps_half2",lightsActive2 > 0) - self:SetPackedRatio("LampsStrength",lightsActive1) + self:SetPackedRatio("LampsStrength",LightPower) -- Signal if doors are open or no to platform simulation self.LeftDoorsOpen = @@ -333,8 +337,8 @@ function ENT:Think() self:SetPackedRatio("BLPressure", Pneumatic.ReservoirPressure/16.0) self:SetPackedRatio("TLPressure", Pneumatic.TrainLinePressure/16.0) self:SetPackedRatio("BCPressure", math.min(2.7,Pneumatic.BrakeCylinderPressure)/6.0) - self:SetPackedRatio("EnginesVoltage", self.Electric.Main750V/1000.0) - self:SetPackedRatio("BatteryVoltage",Panel["V1"]*self.Battery.Voltage/150.0) + self:SetPackedRatio("EnginesVoltage",self.Electric.Aux750V/1000.0) + self:SetPackedRatio("BatteryVoltage",self.Panel["V1"]*self.Battery.Voltage/100) self:SetPackedRatio("EnginesCurrent", 0.5 + 0.5*(self.Electric.I24/500.0)) self:SetPackedBool("RT300",self.Electric.ThyristorControllerPower*self.Electric.ThyristorControllerWork>0) @@ -347,6 +351,7 @@ function ENT:Think() self:SetPackedBool("AR80",Panel.AR80 > 0) self:SetPackedBool("KT",Panel.KT) self:SetPackedBool("KVD",Panel.KVD > 0) + self:SetPackedBool("LPU",Panel.LPU > 0) self:SetPackedRatio("Speed", self.Speed/100) -- Exchange some parameters between engines, pneumatic system, and real world @@ -382,6 +387,28 @@ function ENT:Think() end self:GenerateJerks() + --Fuses + self:SetPackedBool("PR1FState",self.PR1.Value) + self:SetPackedBool("PR2FState",self.PR2.Value) + self:SetPackedBool("PR5FState",self.PR5.Value) + self:SetPackedBool("PR11FState",self.PR11.Value) + self:SetPackedBool("PR4FState",self.PR4.Value) + self:SetPackedBool("PR9FState",self.PR9.Value) + self:SetPackedBool("PR6FState",self.PR6.Value) + self:SetPackedBool("PR8FState",self.PR8.Value) + self:SetPackedBool("PR12FState",self.PR12.Value) + + self:SetPackedBool("PR1Cover", self.PR1Cap.Value) + self:SetPackedBool("PR2Cover", self.PR2Cap.Value) + self:SetPackedBool("PR5Cover", self.PR5Cap.Value) + self:SetPackedBool("PR11Cover", self.PR11Cap.Value) + self:SetPackedBool("PR4Cover", self.PR4Cap.Value) + self:SetPackedBool("PR9Cover", self.PR9Cap.Value) + self:SetPackedBool("PR6Cover", self.PR6Cap.Value) + self:SetPackedBool("PR8Cover", self.PR8Cap.Value) + self:SetPackedBool("PR12Cover", self.PR12Cap.Value) + + self:SetPackedBool("FuseboxCover", self.FuseboxCover) return RetVal end @@ -400,6 +427,7 @@ function ENT:OnButtonPress(button,ply) return end if button == "FrontDoor" then self.FrontDoor = not self.FrontDoor end + if button == "FBoxCover" then self.FuseboxCover = not self.FuseboxCover end if button == "RearDoor" then self.RearDoor = not self.RearDoor end if button == "PassengerDoor" then self.PassengerDoor = not self.PassengerDoor end if button == "CabinDoor" then self.CabinDoor = not self.CabinDoor end diff --git a/lua/entities/gmod_subway_ezh3/shared.lua b/lua/entities/gmod_subway_ezh3/shared.lua index 53f6533..fb52665 100644 --- a/lua/entities/gmod_subway_ezh3/shared.lua +++ b/lua/entities/gmod_subway_ezh3/shared.lua @@ -318,11 +318,51 @@ function ENT:InitializeSounds() "subway_trains/common/uava/uava_reset2.mp3", "subway_trains/common/uava/uava_reset4.mp3", } + self.SoundPositions["uava_reset"] = {80,1e9,Vector(449+7.7,56.0,-10.24349),0.6} self.SoundNames["gv_f"] = self.SoundNames["ezh3_revers_0-b"] self.SoundNames["gv_b"] = self.SoundNames["ezh3_revers_b-0"] self.SoundPositions["gv_f"] = {80,1e2,Vector(120,62.0+0.0,-60),0.5} self.SoundPositions["gv_b"] = self.SoundPositions["gv_f"] + + self.SoundNames["fuseh_in"] = { + "subway_trains/710/fuseh_in_1.mp3", + "subway_trains/710/fuseh_in_2.mp3", + "subway_trains/710/fuseh_in_3.mp3", + } + self.SoundPositions["fuseh_in"] = {80,1e2,Vector(449+7,56.0,-10.24349),0.6} + + self.SoundNames["fuseh_out"] = { + "subway_trains/710/fuseh_out_1.mp3", + "subway_trains/710/fuseh_out_2.mp3", + "subway_trains/710/fuseh_out_3.mp3", + } + self.SoundPositions["fuseh_in"] = {80,1e2,Vector(449+7.7,56.0,-10.24349),0.6} + + self.SoundNames["fusecap_open"] = { + "subway_trains/710/fusecap_open_1.mp3", + "subway_trains/710/fusecap_open_2.mp3", + } + self.SoundPositions["fusecap_open"] = {80,1e2,Vector(449+7,56.0,-10.24349),0.6} + + self.SoundNames["fusecap_close"] = { + "subway_trains/710/fusecap_close_1.mp3", + "subway_trains/710/fusecap_close_2.mp3", + } + self.SoundPositions["fusecap_close"] = {80,1e2,Vector(449+7.7,56.0,-10.24349),0.6} + + self.SoundNames["fusebox_open"] = { + "subway_trains/710/fusebox_open_1.mp3", + "subway_trains/710/fusebox_open_2.mp3", + } + self.SoundPositions["fusebox_open"] = {80,1e2,Vector(449+7,56.0,-10.24349),0.6} + + self.SoundNames["fusebox_close"] = { + "subway_trains/710/fusebox_close_1.mp3", + "subway_trains/710/fusebox_close_2.mp3", + } + self.SoundPositions["fusebox_close"] = {80,1e2,Vector(449+7.7,56.0,-10.24349),0.6} + --Краны self.SoundNames["brake_f"] = {"subway_trains/common/pneumatic/vz_brake_on2.mp3","subway_trains/common/pneumatic/vz_brake_on3.mp3","subway_trains/common/pneumatic/vz_brake_on4.mp3"} @@ -619,6 +659,8 @@ end function ENT:PostInitializeSystems() self.Electric:TriggerInput("RRI",1) self.YAR_27:TriggerInput("NoRKTT",1) + self.YAR_15A:TriggerInput("WithFuse",1) + self.Pneumatic:TriggerInput("PowerWithFuse",1) end ENT.SubwayTrain = { @@ -654,6 +696,8 @@ ENT.Spawner = { ent.UAVA:TriggerInput("Set",1) ent.Plombs.VU = true ent.Plombs.UAVA = nil + ent.PRL26:TriggerInput("Set",0) + ent.PRL12:TriggerInput("Set",0) end end, Metrostroi.Skins.GetTable("Texture","Texture",false,"train"), @@ -683,14 +727,17 @@ ENT.Spawner = { if ent.RRI then local first = i==1 or _LastSpawner~=CurTime() ent.VU2:TriggerInput("Set",(val<=2 and first) and 1 or 0) - ent.ARS:TriggerInput("Set",(val==1 and first and ent.Plombs.RUM) and 1 or 0) - ent.ALS:TriggerInput("Set",val==1 and 1 or 0) + ent.ARS:TriggerInput("Set",(val<=2 and ent.Plombs.RUM) and 1 or 0) + ent.ALS:TriggerInput("Set",val<=2 and 1 or 0) ent.EPK:TriggerInput("Set",(val<=2 and ent.Plombs.RUM) and 1 or 0) - ent.RRIEnable:TriggerInput("Set",val<=2 and 1 or 0) - ent.RRIAmplifier:TriggerInput("Set",val<=2 and 1 or 0) + ent.RRIEnable:TriggerInput("Set",val<=1 and 1 or 0) + ent.RRIAmplifier:TriggerInput("Set",val<=1 and 1 or 0) ent.R_ASNPOn:TriggerInput("Set",val<=2 and 1 or 0) - ent.R_UNch:TriggerInput("Set",val<=2 and 1 or 0) - ent.R_Radio:TriggerInput("Set",val<=2 and 1 or 0) + ent.R_UNch:TriggerInput("Set",val<=1 and 1 or 0) + ent.R_Radio:TriggerInput("Set",val<=1 and 1 or 0) + ent.R_G:TriggerInput("Set",val<=1 and 1 or 0) + ent.R_ZS:TriggerInput("Set",val<=1 and 1 or 0) + ent.RST:TriggerInput("Set",val<=1 and 1 or 0) ent.V1:TriggerInput("Set",(val==1 and first) and 1 or 0) _LastSpawner=CurTime() ent.CabinDoor = val==4 and first diff --git a/lua/metrostroi/systems/sys_81_508t_electric.lua b/lua/metrostroi/systems/sys_81_508t_electric.lua index b132db9..27f7456 100644 --- a/lua/metrostroi/systems/sys_81_508t_electric.lua +++ b/lua/metrostroi/systems/sys_81_508t_electric.lua @@ -42,7 +42,7 @@ function TRAIN_SYSTEM:SolveAllInternalCircuits(Train,dT,firstIter) local RheostatController = Train.RheostatController local P = Train.PositionSwitch.SelectedPosition local RK = Train.RheostatController.SelectedPosition - local B = (Train.Battery.Voltage > 55) and 1 or 0 + local B = Train.PR1.Value*((Train.Battery.Voltage > 55) and 1 or 0) local T = Train.SolverTemporaryVariables if not T then T = {} @@ -54,12 +54,13 @@ function TRAIN_SYSTEM:SolveAllInternalCircuits(Train,dT,firstIter) local KV = Train.KV local KRU = Train.KRU local Panel = Train.Panel + local BC = (Panel.MainLights1+Panel.MainLights2) Panel.V1 = BO Train:WriteTrainWire(10,B*Train.VB.Value) - S["10AK"] = BO*Train.VU.Value + S["10AK"] = BO*Train.PRL24.Value*Train.VU.Value --10AK->AV --FIXME SAMM S["U2"] = S["10AK"]*KV["U2-10AK"] S["7G"] = BO*KV["7D-7G"] @@ -69,8 +70,9 @@ function TRAIN_SYSTEM:SolveAllInternalCircuits(Train,dT,firstIter) Train:WriteTrainWire(4,S["10AK"]*KV["U2-4"]) Train:WriteTrainWire(5,S["10AK"]*KV["U2-5"]) Train:WriteTrainWire(6,S["10AK"]*Train.RVT.Value) + Train:WriteTrainWire(7,BO*Train.Ring.Value) Train:WriteTrainWire(8,BO*KV["10-8"]) - Train:WriteTrainWire(14,BO*KV["10-14A"]*KV["14A-14B"]) + --Train:WriteTrainWire(14,BO*KV["10-14A"]*KV["14A-14B"]) Train:WriteTrainWire(17,S["10AK"]*KV["10AK-17"]*Train.KU9.Value) Train:WriteTrainWire(20,S["U2"]*KV["U2-20"]) Train:WriteTrainWire(24,S["U2"]*Train.KU8.Value) @@ -82,7 +84,7 @@ function TRAIN_SYSTEM:SolveAllInternalCircuits(Train,dT,firstIter) Train.R1_5:TriggerInput("Set",S["10AK"]*Train.RV2.Value) Panel.AnnouncerPlaying = T[13] - Train:WriteTrainWire(34,Train.RKTT.Value+Train.DKPT.Value) + Train:WriteTrainWire(21,Train.RKTT.Value+Train.DKPT.Value) Panel.RRP = S["U2"]*T[18] local RCU = KV.RCU @@ -99,15 +101,13 @@ function TRAIN_SYSTEM:SolveAllInternalCircuits(Train,dT,firstIter) Reverser:TriggerInput("VP",S["5A"]*Reverser.NZ) Train.LK4:TriggerInput("Set",(S["4A"]*Reverser.NZ+S["5A"]*Reverser.VP)*(1-Train.RPvozvrat.Value)*Train.LK3.Value*S["ZR"]) - Train.PneumaticNo1:TriggerInput("Set",T[8]*C(17 <= RK and RK <= 18)+T[9]) - --Train.PneumaticNo2:TriggerInput("Set",T[8]*(1-Train.RV3.Value)*(1-Train.RT2.Value)*((1-Train.LK4.Value)+C(RK==1))) - Train.PneumaticNo2:TriggerInput("Set",T[8]*(1-Train.RT2.Value)*((1-Train.LK4.Value)+C(RK==1))) - Train.RV3:TriggerInput("Set",T[14]) + Train.PneumaticNo1:TriggerInput("Set",T[8]*Train.PRL23.Value*C(17 <= RK and RK <= 18)+T[29]) + Train.PneumaticNo2:TriggerInput("Set",T[8]*Train.PRL23.Value*(1-Train.RT2.Value)*((1-Train.LK4.Value)+C(RK==1))) S["10A"] = BO*RCU self.ThyristorControllerPower = S["10A"] - S["10B"] = S["10A"]*(Train.RV1.Value+Train.TR1.Value) + S["10B"] = Train.PRL16.Value*S["10A"]*(Train.RV1.Value+Train.TR1.Value) --Train["RUTreg"] = T[9] S["10I"] = S["10A"]*RheostatController.RKM2 @@ -126,14 +126,14 @@ function TRAIN_SYSTEM:SolveAllInternalCircuits(Train,dT,firstIter) --СДПП S["10AV"] = S["10A"]*(1-Train.LK3.Value)*C(2<=RK and RK<=18)*(1-Train.LK4.Value) - S["10E"] = S["10A"]*((1-Train.LK3.Value)+Train.Rper.Value+Train.PositionSwitch.PMPos) + S["10E"] = S["10A"]*Train.PRL28.Value*((1-Train.LK3.Value)+Train.Rper.Value+Train.PositionSwitch.PMPos) Train.SR2:TriggerInput("Set",S["10E"]*((C(P==3 or P==4)+Train.LK2.Value))*(1-Train.LK4.Value)) S["10AD"] = (1-Train.LK1.Value)*Train.SR2.Value S["10AYu"] = S["10AD"]*(1-Train.RPP.Value) S["10AZh"] = S["10AD"]* Train.TR1.Value*C(P==1 or P==2 or P==4) S["10AR"] = S["10AYu"]*(1-Train.TR1.Value)*C(2<=P and P<=4) - S["10Ya"] = Train.LK3.Value*C(RK==18 and (P==1)) + S["10Ya"] = Train.PRL28.Value*Train.LK3.Value*C(RK==18 and (P==1)) S["10AG"] = S["10E"]*(S["10AR"]+S["10AZh"]+S["10Ya"]) Train.PositionSwitch:TriggerInput("MotorState",-1.0 + 2.0*math.max(0,S["10AG"])) @@ -151,13 +151,14 @@ function TRAIN_SYSTEM:SolveAllInternalCircuits(Train,dT,firstIter) Train.Rper:TriggerInput("Set",T[3]*RCU*C(17<=RK and RK<=18)*S["ZR"]) Train.RU:TriggerInput("Set",S["2A"]) - Train.RRU:TriggerInput("Set",T[29]) + Train.RRU:TriggerInput("Set",T[14]) S["6A"] = T[6]*RCU Train.TR1:TriggerInput("Set",S["6A"]) Train.RPP:TriggerInput("Set",S["6A"]) S["6G"] = S["6A"]*C(P==3 or P==4) S["6Yu"] = S["6G"]*C(1<=RK and RK<=2) + --print(S["6Yu"]) Train.KSB1:TriggerInput("Set",S["6Yu"]) Train.KSB2:TriggerInput("Set",S["6Yu"]) Train.RUP:TriggerInput("Set",S["6Yu"]) @@ -168,7 +169,7 @@ function TRAIN_SYSTEM:SolveAllInternalCircuits(Train,dT,firstIter) Train.KSH2:TriggerInput("Set",S["1R"]*S["ZR"]) --Идет обратная цепь от ЛК к 1 проводу, но мне лень Train.KSH1:TriggerInput("Set",S["1R"]*S["ZR"]) --Идет обратная цепь от ЛК к 1 проводу, но мне лень - S["1P"] = S["1A"]*C(P == 1 or P == 2)*Train.NR.Value+S["6A"]*C(P==3 or P==4) + S["1P"] = S["1A"]*C(P == 1 or P == 2)*(Train.NR.Value+Train.RPU.Value)+S["6A"]*C(P==3 or P==4) Train["RUTavt"] = S["1P"]*(Train.KSB1.Value+Train.KSH2.Value)*S["ZR"] --Идет обратная цепь от ЛК к 1 проводу, но мне лень S["1G"] = S["1P"]*Train.AVT.Value*(1-Train.RPvozvrat.Value) S["1Zh"] = S["1G"]*(Train.LK3.Value+C(RK==1)*(Train.KSH2.Value+Train.KSB1.Value*Train.KSB2.Value)*C(P==1 or P==3)*Train.LK5.Value) @@ -183,46 +184,44 @@ function TRAIN_SYSTEM:SolveAllInternalCircuits(Train,dT,firstIter) Train.RKTTsh = T[30] --Вспом цепи низкого напряжения - Train:WriteTrainWire(11,BO*Train.VU2.Value) - Train:WriteTrainWire(22,BO*Train.V1.Value*Train.AK.Value) + Train:WriteTrainWire(11,BO*Train.VU2.Value*Train.PRL25.Value) + Train:WriteTrainWire(22,BO*Train.PRL20.Value*Train.V1.Value*Train.AK.Value) Train:WriteTrainWire(23,BO*Train.KU15.Value) - Train:WriteTrainWire(27,BO*Train.V4.Value) - Train:WriteTrainWire(28,BO*Train.V5.Value) - Panel.GRP = BO*Train.RPvozvrat.Value - S["F7"] = BO*KV["F-F7"] + Train:WriteTrainWire(27,BO*Train.PRL21.Value*Train.V4.Value) + Train:WriteTrainWire(28,BO*Train.PRL21.Value*Train.V5.Value) + Panel.GRP = BO*Train.PRL21.Value*Train.RPvozvrat.Value + S["F7"] = BO*Train.PRL15.Value*KV["F-F7"] Panel.Headlights1 = S["F7"] Panel.Headlights2 = S["F7"]*Train.VU14.Value - S["D1"] = BO*KV["D-D1"] + Panel.RedLight1 = BO*Train.PRL26.Value*KV["B2-F1"] + Panel.RedLight2 = BO*Train.PRL12.Value*KV["B2-F1"] + S["D1"] = BO*Train.PRL22.Value*KV["D-D1"] Train:WriteTrainWire(31,S["D1"]*(Train.V6.Value+Train.KU12.Value)) Train:WriteTrainWire(32,S["D1"]*Train.KU7.Value) Train:WriteTrainWire(12,S["D1"]*Train.V10.Value) Train:WriteTrainWire(16,S["D1"]*Train.V2.Value*Train.V3.Value) - + Train.RPU:TriggerInput("Set",T[27]) S["11A"] = T[11]*(1-Train.NR.Value) - Panel.EmergencyLights1 = BO*Train.VU3.Value+S["11A"]*(1-Train.VU3.Value) - Panel.EmergencyLights2 = S["11A"] - Panel.MainLights1 = math.max(0,math.min(1, - ( - self.Aux750V-100 - -self.Itotal*0.25*C(Train.PositionSwitch.SelectedPosition >= 3) - -25*Train.KK.Value - )/750*(0.5+0.5*B*Train.VB.Value*Train.KZ1.Value) - )) - Panel.MainLights2 = Panel.MainLights1*Train.KO.Value - Train.Battery:TriggerInput("Charge", Train.VB.Value*Panel.MainLights1) - Train.KK:TriggerInput("Set",T[22]+T[23]) + Panel.EmergencyLights1 = (BO*Train.PRL21.Value*Train.VU3.Value)+(S["11A"]*(1-Train.VU3.Value)) + Panel.EmergencyLights2 = Train.PRL13.Value*S["11A"] + Panel.Ring = (S["11A"]+T[7])*Train.PRL34.Value + Panel.MainLights1 = math.max(0,math.min(1,(self.Aux750V*Train.PR4.Value*Train.PR9.Value-100-self.Itotal*0.25*C(Train.PositionSwitch.SelectedPosition >= 3)-25*Train.KK.Value)/750*(0.5+0.5*B*Train.VB.Value*Train.PR6.Value))) + Panel.MainLights2 = math.max(0,math.min(1,(self.Aux750V*Train.PR4.Value*Train.KO.Value*Train.PR8.Value-100-self.Itotal*0.25*C(Train.PositionSwitch.SelectedPosition >= 3)-25*Train.KK.Value)/750*(0.5+0.5*B*Train.VB.Value*Train.PR6.Value))) + Panel.LightPower = math.max(0,math.min(1,(self.Aux750V-100-self.Itotal*0.25*C(Train.PositionSwitch.SelectedPosition >= 3)-25*Train.KK.Value)/750*(0.5+0.5*B*Train.VB.Value*Train.PR6.Value))) + Train.Battery:TriggerInput("Charge", Train.PR1.Value*BC*Train.PR6.Value) + Train.KK:TriggerInput("Set",(T[22]*Train.PRL14.Value)+(T[23]*Train.PRL31.Value)) Train.KO:TriggerInput("Close",T[27]) Train.KO:TriggerInput("Open",T[28]) local BD = 1-Train.BD.Value Train:WriteTrainWire(15,BD*(1-Train.KU11.Value))--Заземление 15 провода - Train.Panel.SD = (S["D1"]+BO*Train.KU11.Value)*(T[15]*(1-Train.KU11.Value)+BD) + Train.Panel.SD = (S["D1"]+BO*Train.PRL22.Value*Train.KU11.Value)*(T[15]*(1-Train.KU11.Value)+BD) - Train.VDZ:TriggerInput("Set",T[16]*BD) - Train.VDOL:TriggerInput("Set",T[31]+T[12]) - Train.VDOP:TriggerInput("Set",T[32]+T[12]) + Train.VDZ:TriggerInput("Set",T[16]*Train.PRL17.Value*BD) + Train.VDOL:TriggerInput("Set",(T[31]*Train.PRL18.Value)+(T[12]*Train.PRL2A.Value)) + Train.VDOP:TriggerInput("Set",(T[32]*Train.PRL19.Value)+(T[12]*Train.PRL2A.Value)) - Panel.CBKIPower = T[10] + Panel.CBKIPower = T[10]*Train.PRL4A.Value end function TRAIN_SYSTEM:SolveRKInternalCircuits(Train,dT,firstIter) local RheostatController = Train.RheostatController @@ -282,7 +281,7 @@ function TRAIN_SYSTEM:SolveRKInternalCircuits(Train,dT,firstIter) return S end -local wires = {1,2,3,4,5,6,8,10,9,13,14,17,18,20,25,11,12,15,16,22,23,24,27,28,29,30,31,32} +local wires = {1,2,3,4,5,6,7,8,10,9,13,14,17,18,20,25,11,12,15,16,21,-21,22,23,24,27,28,29,30,31,32} function TRAIN_SYSTEM:SolveInternalCircuits(Train,dT,firstIter) local T = Train.SolverTemporaryVariables if not T then diff --git a/lua/metrostroi/systems/sys_81_508t_panel.lua b/lua/metrostroi/systems/sys_81_508t_panel.lua index c50615e..c13233e 100644 --- a/lua/metrostroi/systems/sys_81_508t_panel.lua +++ b/lua/metrostroi/systems/sys_81_508t_panel.lua @@ -28,11 +28,62 @@ function TRAIN_SYSTEM:Initialize() -- Автоматические выключатели (АВ) self.Train:LoadSystem("VU1","Relay","Switch", {bass = true}) - self.Train:LoadSystem("VU2","Relay","Switch", {bass = true, normally_closed = true}) + self.Train:LoadSystem("VU2","Relay","Switch", {bass = true, normally_closed = false}) self.Train:LoadSystem("VU3","Relay","Switch", {bass = true}) self.Train:LoadSystem("AV","Relay","Switch", {bass = true}) self.Train:LoadSystem("VU","Relay","Switch", {bass = true, normally_closed = false}) + + self.Train:LoadSystem("Ring","Relay","Switch", {bass = true}) + --Предохранители высоковольтные + self.Train:LoadSystem("PR1","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PR2","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PR5","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PR11","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PR4","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PR9","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PR6","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PR8","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PR12","Relay","Switch", {normally_closed = true,bass = true}) + + self.Train:LoadSystem("PR1Cap","Relay","Switch", {normally_closed = false,bass = true}) + self.Train:LoadSystem("PR2Cap","Relay","Switch", {normally_closed = false,bass = true}) + self.Train:LoadSystem("PR5Cap","Relay","Switch", {normally_closed = false,bass = true}) + self.Train:LoadSystem("PR11Cap","Relay","Switch", {normally_closed = false,bass = true}) + self.Train:LoadSystem("PR4Cap","Relay","Switch", {normally_closed = false,bass = true}) + self.Train:LoadSystem("PR9Cap","Relay","Switch", {normally_closed = false,bass = true}) + self.Train:LoadSystem("PR6Cap","Relay","Switch", {normally_closed = false,bass = true}) + self.Train:LoadSystem("PR8Cap","Relay","Switch", {normally_closed = false,bass = true}) + self.Train:LoadSystem("PR12Cap","Relay","Switch", {normally_closed = false,bass = true}) + --Предохранители низковольтные + + self.Train:LoadSystem("PRL13","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL31","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL17","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL25","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL18","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL24","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL19","Relay","Switch", {normally_closed = true,bass = true}) + --self.Train:LoadSystem("PRL6A","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL4A","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL16","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL28","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL2A","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL34","Relay","Switch", {normally_closed = true,bass = true}) + + self.Train:LoadSystem("PRL23","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL15","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL22","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL20","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL21","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL32","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL30","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL1A","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL14","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL26","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL12","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL29","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL33","Relay","Switch", {normally_closed = true,bass = true}) self.V1 = 0 self.GRP = 0 @@ -41,13 +92,16 @@ function TRAIN_SYSTEM:Initialize() self.SD = 0 self.Headlights1 = 0 self.Headlights2 = 0 - self.RedLights = 0 + self.RedLight1 = 0 + self.RedLight2 = 0 self.EmergencyLights2 = 0 self.EmergencyLights1 = 0 self.MainLights1 = 0 self.MainLights2 = 0 + self.LightPower = 0 self.PanelLights = 0 self.GaugeLights = 0 + self.Ring = 0 self.AnnouncerPlaying = 0 @@ -57,5 +111,5 @@ function TRAIN_SYSTEM:Initialize() end function TRAIN_SYSTEM:Outputs() - return {"V1","GRP","RRP","TW18","SD","Headlights1","Headlights2","RedLights","EmergencyLights2","EmergencyLights1","MainLights1","MainLights2","PanelLights","GaugeLights","AnnouncerPlaying","BatteryVoltmeter","PCBKPower"} + return {"V1","GRP","RRP","TW18","SD","Headlights1","Headlights2","RedLight1","RedLight2","EmergencyLights2","EmergencyLights1","MainLights1","MainLights2","PanelLights","GaugeLights","AnnouncerPlaying","BatteryVoltmeter","PCBKPower","LightPower","Ring"} end \ No newline at end of file diff --git a/lua/metrostroi/systems/sys_81_703_pneumatic.lua b/lua/metrostroi/systems/sys_81_703_pneumatic.lua index 91cb5ec..ac882cd 100644 --- a/lua/metrostroi/systems/sys_81_703_pneumatic.lua +++ b/lua/metrostroi/systems/sys_81_703_pneumatic.lua @@ -130,7 +130,7 @@ function TRAIN_SYSTEM:Initialize(parameters) end function TRAIN_SYSTEM:Inputs() - return { "BrakeUp", "BrakeDown", "BrakeSet", "ValveType", "Autostop" } + return { "BrakeUp", "BrakeDown", "BrakeSet", "ValveType", "Autostop" , "PowerWithFuse"} end function TRAIN_SYSTEM:Outputs() @@ -155,7 +155,9 @@ function TRAIN_SYSTEM:TriggerInput(name,value) self.Train.UAVAC:TriggerInput("Set",0) if value > 0 then RunConsoleCommand("say","Autostop braking",self.Train:GetDriverName()) end end - end + elseif name == "PowerWithFuse" then + self.Fuse = 1 + end end @@ -488,8 +490,11 @@ function TRAIN_SYSTEM:Think(dT) ---------------------------------------------------------------------------- -- Simulate compressor operation and train line depletion - self.Compressor = Train.KK.Value * (Train.Electric.Aux750V > 550 and 1 or 0) - + if self.Fuse then + self.Compressor = Train.PR2.Value * Train.KK.Value * (Train.Electric.Aux750V > 550 and 1 or 0) + else + self.Compressor = Train.KK.Value * (Train.Electric.Aux750V > 550 and 1 or 0) + end self.TrainLinePressure = self.TrainLinePressure - 0.07*trainLineConsumption_dPdT*dT -- 0.190 --0.170 if self.Compressor == 1 then self:equalizePressure(dT,"TrainLinePressure", 10.0, 0.02) end self:equalizePressure(dT,"TrainLinePressure", 0,0.001) diff --git a/lua/metrostroi/systems/sys_81_710_electric.lua b/lua/metrostroi/systems/sys_81_710_electric.lua index 7b3532e..b87cdd6 100644 --- a/lua/metrostroi/systems/sys_81_710_electric.lua +++ b/lua/metrostroi/systems/sys_81_710_electric.lua @@ -20,7 +20,7 @@ function TRAIN_SYSTEM:Initialize(typ1,typ2) end if CLIENT then return end -function TRAIN_SYSTEM:Inputs(...) +function TRAIN_SYSTEM:Inputs(...) return { "Type", "RRI" } end function TRAIN_SYSTEM:Outputs(...) @@ -42,7 +42,7 @@ function TRAIN_SYSTEM:SolveAllInternalCircuits(Train,dT,firstIter) local RheostatController = Train.RheostatController local P = Train.PositionSwitch.SelectedPosition local RK = Train.RheostatController.SelectedPosition - local B = (Train.Battery.Voltage > 55) and 1 or 0 + local B = Train.PR1.Value*((Train.Battery.Voltage > 55) and 1 or 0) local T = Train.SolverTemporaryVariables local BO = min(1,B * Train.VB.Value+T[10])--B * Train.VB.Value @@ -51,27 +51,27 @@ function TRAIN_SYSTEM:SolveAllInternalCircuits(Train,dT,firstIter) local Panel = Train.Panel local ARS = Train.ALS_ARS local RUM = Train.RUM.Value + local BC = (Panel.MainLights1+Panel.MainLights2) - - Panel.V1 = BO + Train:WriteTrainWire(10,B*Train.VB.Value) - - S["10AK"] = BO*Train.VU.Value + Panel.V1 = BO + S["10AK"] = BO*Train.PRL24.Value*Train.VU.Value --10AK->AV --FIXME SAMM S["U2"] = S["10AK"]*KV["U2-10AK"] - S["F7"] = BO*(KV["F-F7"]+KRU["11/3-FR1"]) - Train:WriteTrainWire(1,S["10AK"]*KV["10AK-1"]*Train.R1_5.Value+KRU["1/3-ZM31"]*-10) --FIXME KRU - Train:WriteTrainWire(2,S["U2"]*KV["U2-2"]+KRU["2/3-ZM31"]*-10+ARS["2"]*RUM) --FIXME ARS SAMM KRU - Train:WriteTrainWire(3,S["U2"]*KV["U2-3"]+KRU["3/3-ZM31"]*-10) --FIXME SAMM KRU + S["F7"] = BO*(KV["F-F7"]+(KRU["11/3-FR1"]*Train.PRL6A.Value)) + Train:WriteTrainWire(1,S["10AK"]*KV["10AK-1"]*Train.R1_5.Value+(KRU["1/3-ZM31"]*Train.PRL6A.Value)*-10) --FIXME KRU + Train:WriteTrainWire(2,S["U2"]*KV["U2-2"]+(KRU["2/3-ZM31"]*Train.PRL6A.Value)*-10+ARS["2"]*RUM) --FIXME ARS SAMM KRU + Train:WriteTrainWire(3,S["U2"]*KV["U2-3"]+(KRU["3/3-ZM31"]*Train.PRL6A.Value)*-10) --FIXME SAMM KRU Train:WriteTrainWire(4,S["10AK"]*KV["U2-4"]) - Train:WriteTrainWire(5,S["10AK"]*KV["U2-5"]+KRU["5/3-ZM31"]*-10*(1-Train.KRR.Value)+BO*KRU["14/1-B3"]*Train.KRR.Value) + Train:WriteTrainWire(5,S["10AK"]*KV["U2-5"]+(KRU["5/3-ZM31"]*Train.PRL6A.Value)*-10*(1-Train.KRR.Value)+BO*(KRU["14/1-B3"]*Train.PRL6A.Value)*Train.KRR.Value) Train:WriteTrainWire(6,S["10AK"]*Train.RVT.Value)--FIXME ARS SAMM - Train:WriteTrainWire(8,BO*KV["10-8"]+S["F7"]*(1-Train.RPB.Value)*(1-Train.VAH.Value)+ARS["8"]*RUM)--FIXME ARS - Train:WriteTrainWire(9,ARS["48"]*RUM) - Train:WriteTrainWire(14,BO*KV["10-14A"]*KV["14A-14B"]*(ARS["33D"]*RUM+(1-RUM)))--FIXME ARS SAMM + Train:WriteTrainWire(8,BO*KV["10-8"]+S["F7"]*(1-Train.RPB.Value)*(1-Train.VAH.Value)+(ARS["8"]*Train.PRL33.Value*RUM))--FIXME ARS + --Train:WriteTrainWire(9, BO) + Train:WriteTrainWire(14,(BO*(KRU["14/1-B3"]*Train.PRL6A.Value)+T[5]*Train.KRR.Value)*Train.KU10.Value)--BO*KV["10-14A"]*KV["14A-14B"]*(ARS["33D"]*RUM+(1-RUM)))--FIXME ARS SAMM Train:WriteTrainWire(17,S["10AK"]*KV["10AK-17"]*Train.KU9.Value)--FIXME SAMM - Train:WriteTrainWire(20,S["U2"]*KV["U2-20"]+KRU["20/3-ZM31"]*-10+ARS["20"]*RUM) --FIXME ARS SAMM KRU - Train:WriteTrainWire(29,(BO*KRU["14/1-B3"]+T[5]*Train.KRR.Value)*Train.KU10.Value) + Train:WriteTrainWire(20,S["U2"]*KV["U2-20"]+(KRU["20/3-ZM31"]*Train.PRL3A.Value)*-10+ARS["20"]*RUM) --FIXME ARS SAMM KRU + Train:WriteTrainWire(29,ARS["48"]*RUM)--(BO*(KRU["14/1-B3"]*Train.PRL6A.Value)+T[5]*Train.KRR.Value)*Train.KU10.Value) Train:WriteTrainWire(24,S["U2"]*Train.KU8.Value) Train:WriteTrainWire(25,S["U2"]*KV["U2-6"]*KV["6-25"]*Train.K25.Value) --FIXME ARS SAMM KRU Train:WriteTrainWire(30,BO*Train.BSM_RUT.Value) --FIXME ARS SAMM KRU @@ -82,32 +82,32 @@ function TRAIN_SYSTEM:SolveAllInternalCircuits(Train,dT,firstIter) Train.R1_5:TriggerInput("Set",S["10AK"]*Train.RV2.Value*Train.UAVAC.Value*(Train.RPB.Value+Train.VAH.Value)*((ARS["33D"]*Train.SOT.Value)*RUM+(1-RUM))) --FIXME SAMM if self.RRI> 0 then local RRI_VV = Train.RRI_VV - RRI_VV.Power = BO*Train.RRIEnable.Value - RRI_VV.AmplifierPower = BO*Train.RRIAmplifier.Value + RRI_VV.Power = BO*Train.R_Radio.Value*Train.RRIEnable.Value*Train.PRL4A.Value + RRI_VV.AmplifierPower = BO*Train.RRIAmplifier.Value*Train.PRL4A.Value RRI_VV.CabinSpeakerPower = RRI_VV.Power*Train.RRI.LineOut*Train.R_G.Value Train:WriteTrainWire(13,RRI_VV.AmplifierPower*Train.RRI.LineOut) --RRI_VV.CabinSpeakerPower = T[13] else local ASNP_VV = Train.ASNP_VV - ASNP_VV.Power = BO*Train.R_ASNPOn.Value + ASNP_VV.Power = BO*Train.R_ASNPOn.Value*Train.R_Radio.Value*Train.PRL4A.Value ASNP_VV.AmplifierPower = ASNP_VV.Power*Train.ASNP.LineOut*Train.R_UNch.Value ASNP_VV.CabinSpeakerPower = ASNP_VV.Power*Train.ASNP.LineOut*Train.R_G.Value Train:WriteTrainWire(13,ASNP_VV.AmplifierPower) --Train:WriteTrainWire(-13,ASNP_VV.AmplifierPower*Train.PowerSupply.X2_2) --ASNP_VV.CabinSpeakerPower = ASNP_VV.Power*Train.ASNP.LineOut*Train.R_G.Value - Panel.CBKIPower = T[10] + Panel.CBKIPower = T[10]*Train.PRL4A.Value end Panel.AnnouncerPlaying = T[13] - ARS.ALS = S["F7"]*Train.ALS.Value*RUM - ARS.GE = S["F7"]*Train.ARS.Value*RUM + ARS.ALS = S["F7"]*Train.ALS.Value*Train.PRL32.Value*RUM + ARS.GE = S["F7"]*Train.PRL32.Value*Train.ARS.Value*RUM ARS.DAR = S["10AK"]*Train.BUM_RET.Value*RUM ARS.DA = S["10AK"]*Train.BUM_RET.Value*RUM - Train.BLPM.Power = ARS.ALS - Train.BIS200.Power = ARS.ALS - Train:WriteTrainWire(-34,S["10AK"]*(1-Train.BSM_GE.Value)) - Train:WriteTrainWire(34,Train.RKTT.Value+Train.DKPT.Value) - ARS.KT = T[34]*T[-34]*Train.BSM_GE.Value + Train.BLPM.Power = ARS.ALS*Train.PRL30.Value + Train.BIS200.Power = ARS.ALS*Train.PRL30.Value + Train:WriteTrainWire(-21,S["10AK"]*(1-Train.BSM_GE.Value)) + Train:WriteTrainWire(21,Train.RKTT.Value+Train.DKPT.Value) + ARS.KT = T[21]*T[-21]*Train.BSM_GE.Value Train.BSM_KRT:TriggerInput("Set",max(0,T[6])*RUM) Train.BUM_KRD:TriggerInput("Set",(T[31]+T[32]+T[12])*RUM) @@ -135,15 +135,13 @@ function TRAIN_SYSTEM:SolveAllInternalCircuits(Train,dT,firstIter) Reverser:TriggerInput("VP",S["5A"]*Reverser.NZ) Train.LK4:TriggerInput("Set",(S["4A"]*Reverser.NZ+S["5A"]*Reverser.VP)*(1-Train.RPvozvrat.Value)*Train.LK3.Value*S["ZR"]) - Train.PneumaticNo1:TriggerInput("Set",T[8]*C(17 <= RK and RK <= 18)+T[9]) - --Train.PneumaticNo2:TriggerInput("Set",T[8]*(1-Train.RV3.Value)*(1-Train.RT2.Value)*((1-Train.LK4.Value)+C(RK==1))) - Train.PneumaticNo2:TriggerInput("Set",T[8]*(1-Train.RT2.Value)*((1-Train.LK4.Value)+C(RK==1))) - Train.RV3:TriggerInput("Set",T[14]) + Train.PneumaticNo1:TriggerInput("Set",T[8]*Train.PRL23.Value*C(17 <= RK and RK <= 18)+T[29]) + Train.PneumaticNo2:TriggerInput("Set",T[8]*Train.PRL23.Value*(1-Train.RT2.Value)*((1-Train.LK4.Value)+C(RK==1))) S["10A"] = BO*RCU self.ThyristorControllerPower = S["10A"] - S["10B"] = S["10A"]*(Train.RV1.Value+Train.TR1.Value) + S["10B"] = Train.PRL16.Value*S["10A"]*(Train.RV1.Value+Train.TR1.Value) --Train["RUTreg"] = T[9] S["10I"] = S["10A"]*RheostatController.RKM2 @@ -163,14 +161,14 @@ function TRAIN_SYSTEM:SolveAllInternalCircuits(Train,dT,firstIter) --СДПП S["10AV"] = S["10A"]*(1-Train.LK3.Value)*C(2<=RK and RK<=18)*(1-Train.LK4.Value) - S["10E"] = S["10A"]*((1-Train.LK3.Value)+Train.Rper.Value+Train.PositionSwitch.PMPos) + S["10E"] = S["10A"]*Train.PRL28.Value*((1-Train.LK3.Value)+Train.Rper.Value+Train.PositionSwitch.PMPos) Train.SR2:TriggerInput("Set",S["10E"]*((C(P==3 or P==4)+Train.LK2.Value))*(1-Train.LK4.Value)) S["10AD"] = (1-Train.LK1.Value)*Train.SR2.Value S["10AYu"] = S["10AD"]*(1-Train.RPP.Value) S["10AZh"] = S["10AD"]* Train.TR1.Value*C(P==1 or P==2 or P==4) S["10AR"] = S["10AYu"]*(1-Train.TR1.Value)*C(2<=P and P<=4) - S["10Ya"] = Train.LK3.Value*C(RK==18 and (P==1)) + S["10Ya"] = Train.PRL28.Value*Train.LK3.Value*C(RK==18 and (P==1)) S["10AG"] = S["10E"]*(S["10AR"]+S["10AZh"]+S["10Ya"]) Train.PositionSwitch:TriggerInput("MotorState",-1.0 + 2.0*math.max(0,S["10AG"])) @@ -188,7 +186,7 @@ function TRAIN_SYSTEM:SolveAllInternalCircuits(Train,dT,firstIter) Train.Rper:TriggerInput("Set",T[3]*RCU*C(17<=RK and RK<=18)*S["ZR"]) Train.RU:TriggerInput("Set",S["2A"]) - Train.RRU:TriggerInput("Set",T[29]) + Train.RRU:TriggerInput("Set",T[14]) S["6A"] = T[6]*RCU Train.TR1:TriggerInput("Set",S["6A"]) @@ -205,7 +203,7 @@ function TRAIN_SYSTEM:SolveAllInternalCircuits(Train,dT,firstIter) Train.KSH2:TriggerInput("Set",S["1R"]*S["ZR"]) --Идет обратная цепь от ЛК к 1 проводу, но мне лень Train.KSH1:TriggerInput("Set",S["1R"]*S["ZR"]) --Идет обратная цепь от ЛК к 1 проводу, но мне лень - S["1P"] = S["1A"]*C(P == 1 or P == 2)*Train.NR.Value+S["6A"]*C(P==3 or P==4) + S["1P"] = S["1A"]*C(P == 1 or P == 2)*(Train.NR.Value+Train.RPU.Value)+S["6A"]*C(P==3 or P==4) Train["RUTavt"] = S["1P"]*(Train.KSB1.Value+Train.KSH2.Value)*S["ZR"] --Идет обратная цепь от ЛК к 1 проводу, но мне лень S["1G"] = S["1P"]*Train.AVT.Value*(1-Train.RPvozvrat.Value) S["1Zh"] = S["1G"]*(Train.LK3.Value+C(RK==1)*(Train.KSH2.Value+Train.KSB1.Value*Train.KSB2.Value)*C(P==1 or P==3)*Train.LK5.Value) @@ -221,51 +219,48 @@ function TRAIN_SYSTEM:SolveAllInternalCircuits(Train,dT,firstIter) --Вспом цепи низкого напряжения Train:WriteTrainWire(7,BO*Train.Ring.Value) - Train:WriteTrainWire(11,BO*Train.VU2.Value) - Train:WriteTrainWire(22,BO*Train.V1.Value*Train.AK.Value) + Train:WriteTrainWire(11,BO*Train.VU2.Value*Train.PRL25.Value) + Train:WriteTrainWire(22,BO*Train.PRL20.Value*Train.V1.Value*Train.AK.Value) Train:WriteTrainWire(23,BO*Train.KU15.Value) - Train:WriteTrainWire(27,BO*Train.V4.Value) - Train:WriteTrainWire(28,BO*Train.V5.Value) - Panel.GRP = BO*Train.RPvozvrat.Value - Panel.Headlights1 = S["F7"] - Panel.Headlights2 = S["F7"]*Train.VU14.Value - Panel.RedLights = BO*KV["B2-F1"] - S["D1"] = BO*(KV["D-D1"]+KRU["11/3-D1/1"]) - Train:WriteTrainWire(31,S["D1"]*(Train.V6.Value+Train.KU12.Value)+T[12]) - Train:WriteTrainWire(32,S["D1"]*Train.KU7.Value+T[12]) + Train:WriteTrainWire(27,BO*Train.PRL21.Value*Train.V4.Value) + Train:WriteTrainWire(28,BO*Train.PRL21.Value*Train.V5.Value) + Panel.GRP = BO*Train.PRL21.Value*Train.RPvozvrat.Value + Panel.Headlights1 = S["F7"]*Train.PRL15.Value + Panel.Headlights2 = S["F7"]*Train.PRL15.Value*Train.VU14.Value + Panel.RedLight1 = BO*Train.PRL26.Value*KV["B2-F1"] + Panel.RedLight2 = BO*Train.PRL12.Value*KV["B2-F1"] + S["D1"] = BO*Train.PRL22.Value*(KV["D-D1"]+(KRU["11/3-D1/1"]*Train.PRL6A.Value)) + Train:WriteTrainWire(31,S["D1"]*(Train.V6.Value+Train.KU12.Value)) + Train:WriteTrainWire(32,S["D1"]*Train.KU7.Value) Train:WriteTrainWire(12,S["D1"]*Train.V10.Value) Train:WriteTrainWire(16,S["D1"]*Train.V2.Value*Train.V3.Value) + Train.RPU:TriggerInput("Set",T[27]) + Panel.LPU = Train.RPU.Value*T[1] Panel.PanelLights = BO*Train.PLights.Value Panel.GaugeLights = BO*Train.GLights.Value S["11A"] = T[11]*(1-Train.NR.Value) - Panel.Ring = ARS.Ring+S["11A"]+T[7] - Panel.EmergencyLights1 = BO*Train.VU3.Value+S["11A"]*(1-Train.VU3.Value) - Panel.EmergencyLights2 = S["11A"] - Panel.MainLights1 = math.max(0,math.min(1, - ( - self.Aux750V-100 - -self.Itotal*0.25*C(Train.PositionSwitch.SelectedPosition >= 3) - -25*Train.KK.Value - )/750*(0.5+0.5*B*Train.VB.Value*Train.KZ1.Value) - )) - Panel.MainLights2 = Panel.MainLights1*Train.KO.Value - Train.Battery:TriggerInput("Charge", Train.VB.Value*Panel.MainLights1) + Panel.Ring = (ARS.Ring+S["11A"]+T[7])*Train.PRL34.Value + Panel.EmergencyLights1 = (BO*Train.PRL21.Value*Train.VU3.Value)+(S["11A"]*(1-Train.VU3.Value)) + Panel.EmergencyLights2 = Train.PRL13.Value*S["11A"] + Panel.MainLights1 = math.max(0,math.min(1,(self.Aux750V*Train.PR4.Value*Train.PR9.Value-100-self.Itotal*0.25*C(Train.PositionSwitch.SelectedPosition >= 3)-25*Train.KK.Value)/750*(0.5+0.5*B*Train.VB.Value*Train.PR6.Value))) + Panel.MainLights2 = math.max(0,math.min(1,(self.Aux750V*Train.PR4.Value*Train.KO.Value*Train.PR8.Value-100-self.Itotal*0.25*C(Train.PositionSwitch.SelectedPosition >= 3)-25*Train.KK.Value)/750*(0.5+0.5*B*Train.VB.Value*Train.PR6.Value))) + Panel.LightPower = math.max(0,math.min(1,(self.Aux750V-100-self.Itotal*0.25*C(Train.PositionSwitch.SelectedPosition >= 3)-25*Train.KK.Value)/750*(0.5+0.5*B*Train.VB.Value*Train.PR6.Value))) + Train.Battery:TriggerInput("Charge", Train.PR1.Value*BC*Train.PR6.Value) + Panel.VPR = BO*Train.RST.Value*Train.PRL4A.Value - Panel.VPR = BO*Train.RST.Value - - Train.KK:TriggerInput("Set",T[22]+T[23]) + Train.KK:TriggerInput("Set",(T[22]*Train.PRL14.Value)+(T[23]*Train.PRL31.Value)) Train.KO:TriggerInput("Close",T[27]) Train.KO:TriggerInput("Open",T[28]) local BD = 1-Train.BD.Value Train:WriteTrainWire(15,BD*(1-Train.KU11.Value))--Заземление 15 провода - Train.Panel.SD = (S["D1"]+BO*Train.KU11.Value)*(T[15]*(1-Train.KU11.Value)+BD) + Train.Panel.SD = (S["D1"]+BO*Train.PRL22.Value*Train.KU11.Value)*(T[15]*(1-Train.KU11.Value)+BD) - Train.VDZ:TriggerInput("Set",T[16]*BD) - Train.VDOL:TriggerInput("Set",T[31]+T[12]) - Train.VDOP:TriggerInput("Set",T[32]+T[12]) - Panel.PCBKPower = T[10] + Train.VDZ:TriggerInput("Set",T[16]*Train.PRL17.Value*BD) + Train.VDOL:TriggerInput("Set",(T[31]*Train.PRL18.Value)+(T[12]*Train.PRL2A.Value)) + Train.VDOP:TriggerInput("Set",(T[32]*Train.PRL19.Value)+(T[12]*Train.PRL2A.Value)) + Panel.PCBKPower = T[10]*Train.PRL4A.Value end function TRAIN_SYSTEM:SolveRKInternalCircuits(Train,dT,firstIter) local RheostatController = Train.RheostatController @@ -281,7 +276,7 @@ function TRAIN_SYSTEM:SolveRKInternalCircuits(Train,dT,firstIter) local RCU = Train.KV.RCU S["ZR"] = (1-Train.RRU.Value)+(B*Train.RRU.Value)*-1 - S["10A"] = BO*RCU + S["10A"] = BO*RCU S["10I"] = S["10A"]*RheostatController.RKM2 Train["RUTpod"] = S["10I"]*Train.LK4.Value Train["RRTpod"] = S["10I"]*(1-Train.LK1.Value) @@ -294,7 +289,7 @@ function TRAIN_SYSTEM:SolveRKInternalCircuits(Train,dT,firstIter) S["10N"] = S["10A"]*(RheostatController.RKM1+Train.SR1.Value*(1-Train.RUT.Value)) S["10T"] = ((1-Train.SR1.Value)+Train.RUT.Value)*(RheostatController.RKP) - RheostatController:TriggerInput("MotorState",(S["10N"]+S["10T"]*(-10))) + RheostatController:TriggerInput("MotorState",S["10N"]+S["10T"]*(-10)) S["2A"] = T[2]*RCU S["2G"] = S["2A"]*((1-Train.TR1.Value)+(1-Train.KSB1.Value)+Train.ThyristorBU5_6.Value)*( @@ -324,7 +319,7 @@ function TRAIN_SYSTEM:SolveRKInternalCircuits(Train,dT,firstIter) return S end -local wires = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,22,23,24,25,27,28,29,30,31,32,34,-34} +local wires = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,-21,22,23,24,25,27,28,29,30,31,32} function TRAIN_SYSTEM:SolveInternalCircuits(Train,dT,firstIter) local T = Train.SolverTemporaryVariables @@ -571,8 +566,9 @@ function TRAIN_SYSTEM:Think(dT,iter) -- Voltages from the third rail ---------------------------------------------------------------------------- self.Main750V = Train.TR.Main750V - self.Aux750V = Train.TR.Main750V*Train.AV.Value + self.Aux750V = Train.TR.Main750V*Train.AV.Value*Train.PR5.Value self.Power750V = self.Main750V * Train.GV.Value + self.NR750V = self.Aux750V ---------------------------------------------------------------------------- diff --git a/lua/metrostroi/systems/sys_81_710_panel.lua b/lua/metrostroi/systems/sys_81_710_panel.lua index 39116ed..0b57f01 100644 --- a/lua/metrostroi/systems/sys_81_710_panel.lua +++ b/lua/metrostroi/systems/sys_81_710_panel.lua @@ -49,7 +49,6 @@ function TRAIN_SYSTEM:Initialize() self.Train:LoadSystem("ALS","Relay","Switch", {bass = true }) self.Train:LoadSystem("KVT","Relay","Switch", {bass = true}) self.Train:LoadSystem("KB","Relay","Switch", {bass = true}) - self.Train:LoadSystem("KAH","Relay","Switch", {bass = true}) --САММ self.Train:LoadSystem("SAMMSchemeOff","Relay","Switch", {bass = true}) @@ -70,6 +69,55 @@ function TRAIN_SYSTEM:Initialize() self.Train:LoadSystem("VU","Relay","Switch", {bass = true, normally_closed = true}) self.Train:LoadSystem("PLights","Relay","Switch",{bass = true}) self.Train:LoadSystem("GLights","Relay","Switch",{bass = true}) + + --Предохранители высоковольтные + self.Train:LoadSystem("PR1","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PR2","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PR5","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PR11","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PR4","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PR9","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PR6","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PR8","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PR12","Relay","Switch", {normally_closed = true,bass = true}) + + self.Train:LoadSystem("PR1Cap","Relay","Switch", {normally_closed = false,bass = true}) + self.Train:LoadSystem("PR2Cap","Relay","Switch", {normally_closed = false,bass = true}) + self.Train:LoadSystem("PR5Cap","Relay","Switch", {normally_closed = false,bass = true}) + self.Train:LoadSystem("PR11Cap","Relay","Switch", {normally_closed = false,bass = true}) + self.Train:LoadSystem("PR4Cap","Relay","Switch", {normally_closed = false,bass = true}) + self.Train:LoadSystem("PR9Cap","Relay","Switch", {normally_closed = false,bass = true}) + self.Train:LoadSystem("PR6Cap","Relay","Switch", {normally_closed = false,bass = true}) + self.Train:LoadSystem("PR8Cap","Relay","Switch", {normally_closed = false,bass = true}) + self.Train:LoadSystem("PR12Cap","Relay","Switch", {normally_closed = false,bass = true}) + --Предохранители низковольтные + self.Train:LoadSystem("PRL13","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL31","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL17","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL25","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL18","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL24","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL19","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL6A","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL4A","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL16","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL28","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL2A","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL34","Relay","Switch", {normally_closed = true,bass = true}) + + self.Train:LoadSystem("PRL23","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL15","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL22","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL20","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL21","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL32","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL30","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL1A","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL14","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL26","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL12","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL3A","Relay","Switch", {normally_closed = true,bass = true}) + self.Train:LoadSystem("PRL33","Relay","Switch", {normally_closed = true,bass = true}) self.Train:LoadSystem("RST","Relay","Switch", {bass = true, normally_closed = true}) @@ -81,13 +129,15 @@ function TRAIN_SYSTEM:Initialize() self.LKVT = 0 self.Headlights1 = 0 self.Headlights2 = 0 - self.RedLights = 0 + self.RedLight1 = 0 + self.RedLight2 = 0 self.EmergencyLights2 = 0 self.EmergencyLights1 = 0 self.MainLights1 = 0 self.MainLights2 = 0 self.PanelLights = 0 self.GaugeLights = 0 + self.LightPower = 0 self.Ring = 0 self.KT = 0 self.AVU = 0 @@ -102,6 +152,7 @@ function TRAIN_SYSTEM:Initialize() self.AR80 = 0 self.KT = 0 self.KVD = 0 + self.LPU = 0 self.AnnouncerPlaying = 0 @@ -110,5 +161,5 @@ function TRAIN_SYSTEM:Initialize() end function TRAIN_SYSTEM:Outputs() - return { "V1","GRP","RRP","TW18","SD","LKVT","Headlights1","Headlights2","RedLights","EmergencyLights2","EmergencyLights1","MainLights1","MainLights2","Ring","KT","AnnouncerPlaying","AVU","PanelLights","GaugeLights","VPR","AR04","AR0","AR40","AR60","AR70","AR80","KT","KVD","CBKIPower","PCBKPower"} + return { "V1","GRP","RRP","TW18","SD","LKVT","Headlights1","Headlights2","RedLight1","RedLight2","EmergencyLights2","EmergencyLights1","MainLights1","MainLights2","Ring","KT","AnnouncerPlaying","AVU","PanelLights","GaugeLights","VPR","AR04","AR0","AR40","AR60","AR70","AR80","KT","KVD","CBKIPower","PCBKPower","LightPower","LPU"} end \ No newline at end of file diff --git a/lua/metrostroi/systems/sys_als_ars_ezh3.lua b/lua/metrostroi/systems/sys_als_ars_ezh3.lua index f104ccc..0f2abfd 100644 --- a/lua/metrostroi/systems/sys_als_ars_ezh3.lua +++ b/lua/metrostroi/systems/sys_als_ars_ezh3.lua @@ -194,7 +194,7 @@ function TRAIN_SYSTEM:Think(dT) -- New RNT with confirmation only from KVT Train.BSM_RNT:TriggerInput("Set",self.ALS*(Train.KVT.Value+Train.BSM_RNT.Value*(Train.BSM_BR1.Value+Train.BSM_BR2.Value+Train.BSM_KSR1.Value*Train.BSM_KSR2.Value+Train.BSM_KRT.Value))) - + print() self.Ring = self.GE*(1-Train.BSM_RNT.Value)*(1-Train.BSM_RVV.Value) S["LUDS"] = S["SRPower"]*Train.BSM_SR1.Value*Train.BSM_SR2.Value @@ -280,4 +280,5 @@ function TRAIN_SYSTEM:Think(dT) Panel.KVD = self.GE*(1-Train.BUM_RUVD.Value) --Train:WriteTrainWire(90,self.EPK*(1-Train.ARS.Value)) Train.EPKC:TriggerInput("Set",self.EPK) + --print(Train.BSM_KSR1.Value.." KSR") end diff --git a/lua/metrostroi/systems/sys_kf_47a.lua b/lua/metrostroi/systems/sys_kf_47a.lua index 69c943d..a3ca3f6 100644 --- a/lua/metrostroi/systems/sys_kf_47a.lua +++ b/lua/metrostroi/systems/sys_kf_47a.lua @@ -9,7 +9,7 @@ Metrostroi.DefineSystem("KF_47A") function TRAIN_SYSTEM:Initialize() self.Resistors = { ["L12-L13"] = 1.730, - + ["P1-P3"] = 0.715, ["P3-P4"] = 0.144, ["P4-P5"] = 0.223, ["P5-P6"] = 0.190, @@ -20,7 +20,7 @@ function TRAIN_SYSTEM:Initialize() ["P10-P11"] = 0.144, ["P11-P12"] = 1.070, ["P12-P13"] = 0.485, - ["P1-P3"] = 0.715, + ["P3-P14"] = 1.622, ["P13-P42"] = 0.285, @@ -38,8 +38,8 @@ function TRAIN_SYSTEM:Initialize() ["P76-P27"] = 1.710, ["L2-L4"] = 1.140, - ["L24-L39"] = 1.000, - ["L40-L63"] = 1.000, + ["L24-L39"] = 0.970, + ["L40-L63"] = 0.970, } self.ResistorTemperatures = { ["P3-P4"] = 1, diff --git a/lua/metrostroi/systems/sys_yar_15a.lua b/lua/metrostroi/systems/sys_yar_15a.lua index 370b709..65f0e1e 100644 --- a/lua/metrostroi/systems/sys_yar_15a.lua +++ b/lua/metrostroi/systems/sys_yar_15a.lua @@ -70,20 +70,29 @@ function TRAIN_SYSTEM:Initialize() end function TRAIN_SYSTEM:Inputs() - return { } + return {"WithFuse"} end function TRAIN_SYSTEM:Outputs() return { } end function TRAIN_SYSTEM:TriggerInput(name,value) + if name == "WithFuse" then + self.Fuse = value > 0 + end end function TRAIN_SYSTEM:Think() local Train = self.Train - -- Zero relay operation - Train.NR:TriggerInput("Close",Train.Electric.Aux750V > 360) -- 360 - 380 V - Train.NR:TriggerInput("Open", Train.Electric.Aux750V < 150) -- 120 - 190 V + -- Zero relay operation + fix for Ezh3 fuses + if self.Fuse then + Train.NR:TriggerInput("Close",Train.Electric.NR750V > 360) -- 360 - 380 V + Fuse + Train.NR:TriggerInput("Open",Train.Electric.NR750V < 150) -- 120 - 190 V + Fuse + else + Train.NR:TriggerInput("Close",Train.Electric.Aux750V > 360) -- 360 - 380 V + Train.NR:TriggerInput("Open", Train.Electric.Aux750V < 150) -- 120 - 190 V + end + -- Overload relays operation Train.RP1_3:TriggerInput("Set",math.abs(Train.Electric.I13)) Train.RP2_4:TriggerInput("Set",math.abs(Train.Electric.I24)) diff --git a/lua/metrostroi_data/languages/ru_702.lua b/lua/metrostroi_data/languages/ru_702.lua index 653e416..37d1928 100644 --- a/lua/metrostroi_data/languages/ru_702.lua +++ b/lua/metrostroi_data/languages/ru_702.lua @@ -46,7 +46,7 @@ Common.710.LKVT = ЛКВТ: Лампа кнопки воспри Common.710.SAMMSchemeOff = Кнопка выключения тяги автоведения Common.710.SAMMStart = Кнопка пуска от автоведения Common.710.SAMMReset = Кнопка сброса -Common.710.SAMMXTLamp = Кнопка сбора схемы от автоведения в ход/тормоз +Common.710.SAMMXTLamp = Лампа сбора схемы от автоведения в ход/тормоз Common.710.SAMMSignal1 = @[Common.ALL.Unsused1] Common.710.SAMMSignal2 = @[Common.ALL.Unsused1] Common.710.SAMMOn = Включение САММ diff --git a/lua/metrostroi_data/languages/ru_710.lua b/lua/metrostroi_data/languages/ru_710.lua new file mode 100644 index 0000000..0b82153 --- /dev/null +++ b/lua/metrostroi_data/languages/ru_710.lua @@ -0,0 +1,167 @@ +return [[ +#81-710 + +[ru] + +#######Buttons########### + +Common.710.PR1 = П-1: Предохранитель батареи +Common.710.PR2 = П-2: Высоковольтный предохранитель питания мотор-компрессора +Common.710.PR5 = П-5: Высоковольтный предохранитель нулевого реле и печи +Common.710.PR11 = П: Высоковольтный предохранитель (не используется) +Common.710.PR4 = П-4: Высоковольтный предохранитель освещения (общий) +Common.710.PR9 = П-9: Высоковольтный предохранитель I-группы освещения +Common.710.PR6 = П-6: Высоковольтный предохранитель заряда батареи +Common.710.PR8 = П-8: Высоковольтный предохранитель II-группы освещения +Common.710.PR12 = П: Высоковольтный предохранитель (не используется) + +Common.710.PR1H = П-1: Крышка предохранителя батареи +Common.710.PR2H = П-2: Крышка высоковольтного предохранителя питания мотор-компрессора +Common.710.PR5H = П-5: Крышка высоковольтного предохранителя нулевого реле и печи +Common.710.PR11H = П: Крышка высоковольтного предохранителя (не используется) +Common.710.PR4H = П-4: Крышка высоковольтного предохранителя освещения (общий) +Common.710.PR9H = П-9: Крышка высоковольтного предохранителя I-группы освещения +Common.710.PR6H = П-6: Крышка высоковольтного предохранителя заряда батареи +Common.710.PR8H = П-8: Крышка высоковольтного предохранителя II-группы освещения +Common.710.PR12H = П: Крышка высоковольтного предохранителя (не используется) + +Common.710.FuseboxO = Открыть крышку ящика предохранителей +Common.710.FuseboxC = Закрыть крышку ящика предохранителей + +Common.710.PRL13 = П-13: Предохранитель аварийного освещения вагона +Common.710.PRL31 = П-31: Предохранитель цепи резервного мотор-компрессора вагона +Common.710.PRL17 = П-17: Предохранитель цепи закрытия дверей +Common.710.PRL25 = П-25: Предохранитель цепи аварийного освещения поезда +Common.710.PRL18 = П-18: Предохранитель цепи открытия левых дверей +Common.710.PRL24 = П-24: Предохранитель цепей основного управления +Common.710.PRL19 = П-19: Предохранитель цепи открытия правых дверей +Common.710.PRL6A = П-6А: Предохранитель цепей контроллера резервного управления +Common.710.PRL4A = П-4А: Предохранитель цепей питания радиостанции, АСНП, Иглы, РРИ +Common.710.PRL16 = П-16: Предохранитель цепи СДРК +Common.710.PRL28 = П-28: Предохранитель цепи СДПП +Common.710.PRL2A = П-2А: Предохранитель цепи резервного закрытия дверей +Common.710.PRL34 = П-34: Предохранитель цепи звонка + +Common.710.PRL23 = П-23: Предохранитель цепей питания ВЗ-1, ВЗ-2 +Common.710.PRL15 = П-15: Предохранитель цепи питания белых фар +Common.710.PRL22 = П-22: Предохранитель цепи управления дверями +Common.710.PRL20 = П-20: Предохранитель цепи управления мотор-компрессора по 22 поездному проводу +Common.710.PRL21 = П-21: Предохранитель цепей управления освещением, освещение кабины от ВУ +Common.710.PRL32 = П-32: Предохранитель цепи АРС +75 Вольт +Common.710.PRL30 = П-30: Предохранитель цепи АРС +12 Вольт +Common.710.PRL1A = П-35: Не задействован +Common.710.PRL14 = П-14: Предохранитель цепи управления мотор-компрессора на вагоне +Common.710.PRL26 = П-26: Предохранитель цепи левой красной фары +Common.710.PRL12 = П-12: Предохранитель цепи правой красной фары +Common.710.PRL3A = П-3А: Предохранитель цепи резервного пуска +Common.710.PRL33 = П-33: Предохранитель цепи вентиля №2 от АРС + +Common.710.PRL29 = П-29: Не используется + + +Entities.gmod_subway_ezh3.Buttons.FuseboxCoverO.FBoxCoverToggle = @[Common.710.FuseboxO] +Entities.gmod_subway_ezh3.Buttons.FuseboxCoverC.FBoxCoverToggle = @[Common.710.FuseboxC] + + +Entities.gmod_subway_ezh3.Buttons.HighVoltFuse.PR1Toggle = @[Common.710.PR1] +Entities.gmod_subway_ezh3.Buttons.HighVoltFuse.PR2Toggle = @[Common.710.PR2] +Entities.gmod_subway_ezh3.Buttons.HighVoltFuse.PR5Toggle = @[Common.710.PR5] +Entities.gmod_subway_ezh3.Buttons.HighVoltFuse.PR11Toggle = @[Common.710.PR11] +Entities.gmod_subway_ezh3.Buttons.HighVoltFuse.PR4Toggle = @[Common.710.PR4] +Entities.gmod_subway_ezh3.Buttons.HighVoltFuse.PR9Toggle = @[Common.710.PR9] +Entities.gmod_subway_ezh3.Buttons.HighVoltFuse.PR6Toggle = @[Common.710.PR6] +Entities.gmod_subway_ezh3.Buttons.HighVoltFuse.PR8Toggle = @[Common.710.PR8] +Entities.gmod_subway_ezh3.Buttons.HighVoltFuse.PR12Toggle = @[Common.710.PR12] + +Entities.gmod_subway_ezh3.Buttons.HighVoltFuseHolder.PR1CapToggle = @[Common.710.PR1H] +Entities.gmod_subway_ezh3.Buttons.HighVoltFuseHolder.PR2CapToggle = @[Common.710.PR2H] +Entities.gmod_subway_ezh3.Buttons.HighVoltFuseHolder.PR5CapToggle = @[Common.710.PR5H] +Entities.gmod_subway_ezh3.Buttons.HighVoltFuseHolder.PR11CapToggle = @[Common.710.PR11H] +Entities.gmod_subway_ezh3.Buttons.HighVoltFuseHolder.PR4CapToggle = @[Common.710.PR4H] +Entities.gmod_subway_ezh3.Buttons.HighVoltFuseHolder.PR9CapToggle = @[Common.710.PR9H] +Entities.gmod_subway_ezh3.Buttons.HighVoltFuseHolder.PR6CapToggle = @[Common.710.PR6H] +Entities.gmod_subway_ezh3.Buttons.HighVoltFuseHolder.PR8CapToggle = @[Common.710.PR8H] +Entities.gmod_subway_ezh3.Buttons.HighVoltFuseHolder.PR12CapToggle = @[Common.710.PR12H] + +Entities.gmod_subway_ezh3.Buttons.Fusebox.PRL13Toggle = @[Common.710.PRL13] +Entities.gmod_subway_ezh3.Buttons.Fusebox.PRL31Toggle = @[Common.710.PRL31] +Entities.gmod_subway_ezh3.Buttons.Fusebox.PRL17Toggle = @[Common.710.PRL17] +Entities.gmod_subway_ezh3.Buttons.Fusebox.PRL25Toggle = @[Common.710.PRL25] +Entities.gmod_subway_ezh3.Buttons.Fusebox.PRL18Toggle = @[Common.710.PRL18] +Entities.gmod_subway_ezh3.Buttons.Fusebox.PRL24Toggle = @[Common.710.PRL24] +Entities.gmod_subway_ezh3.Buttons.Fusebox.PRL19Toggle = @[Common.710.PRL19] +Entities.gmod_subway_ezh3.Buttons.Fusebox.PRL6AToggle = @[Common.710.PRL6A] +Entities.gmod_subway_ezh3.Buttons.Fusebox.PRL4AToggle = @[Common.710.PRL4A] +Entities.gmod_subway_ezh3.Buttons.Fusebox.PRL16Toggle = @[Common.710.PRL16] +Entities.gmod_subway_ezh3.Buttons.Fusebox.PRL28Toggle = @[Common.710.PRL28] +Entities.gmod_subway_ezh3.Buttons.Fusebox.PRL2AToggle = @[Common.710.PRL2A] +Entities.gmod_subway_ezh3.Buttons.Fusebox.PRL34Toggle = @[Common.710.PRL34] + +Entities.gmod_subway_ezh3.Buttons.Fusebox.PRL23Toggle = @[Common.710.PRL23] +Entities.gmod_subway_ezh3.Buttons.Fusebox.PRL15Toggle = @[Common.710.PRL15] +Entities.gmod_subway_ezh3.Buttons.Fusebox.PRL22Toggle = @[Common.710.PRL22] +Entities.gmod_subway_ezh3.Buttons.Fusebox.PRL20Toggle = @[Common.710.PRL20] +Entities.gmod_subway_ezh3.Buttons.Fusebox.PRL21Toggle = @[Common.710.PRL21] +Entities.gmod_subway_ezh3.Buttons.Fusebox.PRL32Toggle = @[Common.710.PRL32] +Entities.gmod_subway_ezh3.Buttons.Fusebox.PRL30Toggle = @[Common.710.PRL30] +Entities.gmod_subway_ezh3.Buttons.Fusebox.PRL1AToggle = @[Common.710.PRL1A] +Entities.gmod_subway_ezh3.Buttons.Fusebox.PRL14Toggle = @[Common.710.PRL14] +Entities.gmod_subway_ezh3.Buttons.Fusebox.PRL26Toggle = @[Common.710.PRL26] +Entities.gmod_subway_ezh3.Buttons.Fusebox.PRL12Toggle = @[Common.710.PRL12] +Entities.gmod_subway_ezh3.Buttons.Fusebox.PRL3AToggle = @[Common.710.PRL3A] +Entities.gmod_subway_ezh3.Buttons.Fusebox.PRL33Toggle = @[Common.710.PRL33] + +#gmod_subway_em508t +Entities.gmod_subway_em508t.Buttons.FuseboxCoverO.FBoxCoverToggle = @[Common.710.FuseboxO] +Entities.gmod_subway_em508t.Buttons.FuseboxCoverC.FBoxCoverToggle = @[Common.710.FuseboxC] + +Entities.gmod_subway_em508t.Buttons.HighVoltFuse.PR1Toggle = @[Common.710.PR1] +Entities.gmod_subway_em508t.Buttons.HighVoltFuse.PR2Toggle = @[Common.710.PR2] +Entities.gmod_subway_em508t.Buttons.HighVoltFuse.PR5Toggle = @[Common.710.PR5] +Entities.gmod_subway_em508t.Buttons.HighVoltFuse.PR11Toggle = @[Common.710.PR11] +Entities.gmod_subway_em508t.Buttons.HighVoltFuse.PR4Toggle = @[Common.710.PR4] +Entities.gmod_subway_em508t.Buttons.HighVoltFuse.PR9Toggle = @[Common.710.PR9] +Entities.gmod_subway_em508t.Buttons.HighVoltFuse.PR6Toggle = @[Common.710.PR6] +Entities.gmod_subway_em508t.Buttons.HighVoltFuse.PR8Toggle = @[Common.710.PR8] +Entities.gmod_subway_em508t.Buttons.HighVoltFuse.PR12Toggle = @[Common.710.PR12] + +Entities.gmod_subway_em508t.Buttons.HighVoltFuseHolder.PR1CapToggle = @[Common.710.PR1H] +Entities.gmod_subway_em508t.Buttons.HighVoltFuseHolder.PR2CapToggle = @[Common.710.PR2H] +Entities.gmod_subway_em508t.Buttons.HighVoltFuseHolder.PR5CapToggle = @[Common.710.PR5H] +Entities.gmod_subway_em508t.Buttons.HighVoltFuseHolder.PR11CapToggle = @[Common.710.PR11H] +Entities.gmod_subway_em508t.Buttons.HighVoltFuseHolder.PR4CapToggle = @[Common.710.PR4H] +Entities.gmod_subway_em508t.Buttons.HighVoltFuseHolder.PR9CapToggle = @[Common.710.PR9H] +Entities.gmod_subway_em508t.Buttons.HighVoltFuseHolder.PR6CapToggle = @[Common.710.PR6H] +Entities.gmod_subway_em508t.Buttons.HighVoltFuseHolder.PR8CapToggle = @[Common.710.PR8H] +Entities.gmod_subway_em508t.Buttons.HighVoltFuseHolder.PR12CapToggle = @[Common.710.PR12H] + +Entities.gmod_subway_em508t.Buttons.Fusebox.PRL13Toggle = @[Common.710.PRL13] +Entities.gmod_subway_em508t.Buttons.Fusebox.PRL31Toggle = @[Common.710.PRL31] +Entities.gmod_subway_em508t.Buttons.Fusebox.PRL17Toggle = @[Common.710.PRL17] +Entities.gmod_subway_em508t.Buttons.Fusebox.PRL25Toggle = @[Common.710.PRL25] +Entities.gmod_subway_em508t.Buttons.Fusebox.PRL18Toggle = @[Common.710.PRL18] +Entities.gmod_subway_em508t.Buttons.Fusebox.PRL24Toggle = @[Common.710.PRL24] +Entities.gmod_subway_em508t.Buttons.Fusebox.PRL19Toggle = @[Common.710.PRL19] +Entities.gmod_subway_em508t.Buttons.Fusebox.PRL6AToggle = @[Common.710.PRL6A] +Entities.gmod_subway_em508t.Buttons.Fusebox.PRL4AToggle = @[Common.710.PRL4A] +Entities.gmod_subway_em508t.Buttons.Fusebox.PRL16Toggle = @[Common.710.PRL16] +Entities.gmod_subway_em508t.Buttons.Fusebox.PRL28Toggle = @[Common.710.PRL28] +Entities.gmod_subway_em508t.Buttons.Fusebox.PRL2AToggle = @[Common.710.PRL2A] +Entities.gmod_subway_em508t.Buttons.Fusebox.PRL34Toggle = @[Common.710.PRL34] + +Entities.gmod_subway_em508t.Buttons.Fusebox.PRL23Toggle = @[Common.710.PRL23] +Entities.gmod_subway_em508t.Buttons.Fusebox.PRL15Toggle = @[Common.710.PRL15] +Entities.gmod_subway_em508t.Buttons.Fusebox.PRL22Toggle = @[Common.710.PRL22] +Entities.gmod_subway_em508t.Buttons.Fusebox.PRL20Toggle = @[Common.710.PRL20] +Entities.gmod_subway_em508t.Buttons.Fusebox.PRL21Toggle = @[Common.710.PRL21] +#Entities.gmod_subway_em508t.Buttons.Fusebox.PRL32Toggle = @[Common.710.PRL32] +#Entities.gmod_subway_em508t.Buttons.Fusebox.PRL30Toggle = @[Common.710.PRL30] +#Entities.gmod_subway_em508t.Buttons.Fusebox.PRL1AToggle = @[Common.710.PRL1A] +Entities.gmod_subway_em508t.Buttons.Fusebox.PRL14Toggle = @[Common.710.PRL14] +Entities.gmod_subway_em508t.Buttons.Fusebox.PRL26Toggle = @[Common.710.PRL26] +Entities.gmod_subway_em508t.Buttons.Fusebox.PRL12Toggle = @[Common.710.PRL12] +Entities.gmod_subway_em508t.Buttons.Fusebox.PRL29Toggle = @[Common.710.PRL29] +Entities.gmod_subway_em508t.Buttons.Fusebox.PRL33Toggle = @[Common.710.PRL33] + + +]] \ No newline at end of file diff --git a/materials/models/metrostroi_train/81-710/electric/fusebox.vmt b/materials/models/metrostroi_train/81-710/electric/fusebox.vmt new file mode 100644 index 0000000..9ef7225 --- /dev/null +++ b/materials/models/metrostroi_train/81-710/electric/fusebox.vmt @@ -0,0 +1,12 @@ +"VertexlitGeneric" +{ + "$basetexture" "models/metrostroi_train/81-710/electric/fusebox_base" + "$model" "1" + "$phong" "1" + + "$phongexponenttexture" "models/metrostroi_train/81-710/electric/fusebox_roughness" + "$phongboost" 1.1 + "$phongfresnelranges" "[1 1 1]" + + $normalmapalphaenvmapmask 1 +} diff --git a/materials/models/metrostroi_train/81-710/electric/fusebox_base.vtf b/materials/models/metrostroi_train/81-710/electric/fusebox_base.vtf new file mode 100644 index 0000000..0d82a36 --- /dev/null +++ b/materials/models/metrostroi_train/81-710/electric/fusebox_base.vtf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7506c07d2bbcccf5e54879b8351029dce75f4dc1b4224eac48cb5ac4b40f7267 +size 2796424 diff --git a/materials/models/metrostroi_train/81-710/electric/fusebox_cover.vmt b/materials/models/metrostroi_train/81-710/electric/fusebox_cover.vmt new file mode 100644 index 0000000..743e41d --- /dev/null +++ b/materials/models/metrostroi_train/81-710/electric/fusebox_cover.vmt @@ -0,0 +1,12 @@ +"VertexlitGeneric" +{ + "$basetexture" "models/metrostroi_train/81-710/electric/fusebox_cover_base" + "$model" "1" + "$phong" "1" + + "$phongexponenttexture" "models/metrostroi_train/81-710/electric/fusebox_cover_roughness" + "$phongboost" 1.1 + "$phongfresnelranges" "[1 1 1]" + + $normalmapalphaenvmapmask 1 +} diff --git a/materials/models/metrostroi_train/81-710/electric/fusebox_cover_base.vtf b/materials/models/metrostroi_train/81-710/electric/fusebox_cover_base.vtf new file mode 100644 index 0000000..53632b4 --- /dev/null +++ b/materials/models/metrostroi_train/81-710/electric/fusebox_cover_base.vtf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3e0c46db5856342378bedf1e6f648295773eb01981025207596b1c668fc8eef +size 2796424 diff --git a/materials/models/metrostroi_train/81-710/electric/fusebox_cover_roughness.vtf b/materials/models/metrostroi_train/81-710/electric/fusebox_cover_roughness.vtf new file mode 100644 index 0000000..0526791 --- /dev/null +++ b/materials/models/metrostroi_train/81-710/electric/fusebox_cover_roughness.vtf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1351b8d55acfcbdc225cd53fe5eead2961dc8463f08b3fae3ee2c0831fb8a54b +size 2796424 diff --git a/materials/models/metrostroi_train/81-710/electric/fusebox_normal.vtf b/materials/models/metrostroi_train/81-710/electric/fusebox_normal.vtf new file mode 100644 index 0000000..b27986c --- /dev/null +++ b/materials/models/metrostroi_train/81-710/electric/fusebox_normal.vtf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:231d3eee705910105acc9816ab2b7381cf52235055ab1f81ea1044292d322ef9 +size 2796424 diff --git a/materials/models/metrostroi_train/81-710/electric/fusebox_roughness.vtf b/materials/models/metrostroi_train/81-710/electric/fusebox_roughness.vtf new file mode 100644 index 0000000..d7f9c43 --- /dev/null +++ b/materials/models/metrostroi_train/81-710/electric/fusebox_roughness.vtf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d10f26f55922c7fc5a349c6d320dd9562437e12720bdc4933e5898b0ae14a3a3 +size 2796424 diff --git a/materials/models/metrostroi_train/81-717/717_BP_15.vmt b/materials/models/metrostroi_train/81-717/717_BP_15.vmt new file mode 100644 index 0000000..0754deb --- /dev/null +++ b/materials/models/metrostroi_train/81-717/717_BP_15.vmt @@ -0,0 +1,13 @@ +"VertexLitGeneric" +{ + "$basetexture" "models/metrostroi_train/81-717/717_BP_15" + "$model" "1" + "$phong" "1" + "$bumpmap" "models/metrostroi_train/81-717/717_BP_15_n" + "$phongexponenttexture" "models/metrostroi_train/81-717/717_BP_15_s" + "$phongboost" 1 + "$phongfresnelranges" "[0.25 0.25 0.25]" + $envmap env_cubemap + $normalmapalphaenvmapmask 1 + $envmapsaturation 0.001 +} \ No newline at end of file diff --git a/materials/models/metrostroi_train/81-717/717_BP_15.vtf b/materials/models/metrostroi_train/81-717/717_BP_15.vtf new file mode 100644 index 0000000..e399388 --- /dev/null +++ b/materials/models/metrostroi_train/81-717/717_BP_15.vtf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d57e6705edbfa8850b4697d8ad215ab3e7910f165e89d4e3ee55b7c60fc2d01d +size 2796424 diff --git a/materials/models/metrostroi_train/81-717/717_BP_15_n.vmt b/materials/models/metrostroi_train/81-717/717_BP_15_n.vmt new file mode 100644 index 0000000..952edf6 --- /dev/null +++ b/materials/models/metrostroi_train/81-717/717_BP_15_n.vmt @@ -0,0 +1,4 @@ +"LightmappedGeneric" +{ + "$basetexture" "models/metrostroi_train/81-717/717_BP_15_n" +} diff --git a/materials/models/metrostroi_train/81-717/717_BP_15_n.vtf b/materials/models/metrostroi_train/81-717/717_BP_15_n.vtf new file mode 100644 index 0000000..d6dea4b --- /dev/null +++ b/materials/models/metrostroi_train/81-717/717_BP_15_n.vtf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf975c32828b6e5ac1e7306c377bdf0b66c3fa87dacaa8b7833905488b718bdc +size 4194496 diff --git a/materials/models/metrostroi_train/81-717/717_BP_15_s.vmt b/materials/models/metrostroi_train/81-717/717_BP_15_s.vmt new file mode 100644 index 0000000..7ed9101 --- /dev/null +++ b/materials/models/metrostroi_train/81-717/717_BP_15_s.vmt @@ -0,0 +1,4 @@ +"LightmappedGeneric" +{ + "$basetexture" "models/metrostroi_train/81-717/717_BP_15_s" +} diff --git a/materials/models/metrostroi_train/81-717/717_BP_15_s.vtf b/materials/models/metrostroi_train/81-717/717_BP_15_s.vtf new file mode 100644 index 0000000..7f5c73e --- /dev/null +++ b/materials/models/metrostroi_train/81-717/717_BP_15_s.vtf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1b9a56585981a7948d672bdad0733d7a40747a2d6e907c6b6a0474bca96df77 +size 2796424 diff --git a/models/metrostroi_train/81-710/electric/fusebox.dx80.vtx b/models/metrostroi_train/81-710/electric/fusebox.dx80.vtx new file mode 100644 index 0000000..7bfe638 --- /dev/null +++ b/models/metrostroi_train/81-710/electric/fusebox.dx80.vtx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:637a402f59d61b334546da49e10bc03c6e5458fe9d5ad3fb6d2c1fc7a17c4914 +size 234514 diff --git a/models/metrostroi_train/81-710/electric/fusebox.dx90.vtx b/models/metrostroi_train/81-710/electric/fusebox.dx90.vtx new file mode 100644 index 0000000..14d3a36 --- /dev/null +++ b/models/metrostroi_train/81-710/electric/fusebox.dx90.vtx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ef8925b4abb0d4e403aa592d7811ffd8d0b2ad9da49b2e1df9f391e3d9a122b +size 234514 diff --git a/models/metrostroi_train/81-710/electric/fusebox.mdl b/models/metrostroi_train/81-710/electric/fusebox.mdl new file mode 100644 index 0000000..9189581 --- /dev/null +++ b/models/metrostroi_train/81-710/electric/fusebox.mdl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:836376a5d189d1584e2860daa58aac39d2fbe7f9c827e1ed00fcff9d2c347400 +size 2072 diff --git a/models/metrostroi_train/81-710/electric/fusebox.sw.vtx b/models/metrostroi_train/81-710/electric/fusebox.sw.vtx new file mode 100644 index 0000000..fc948f8 --- /dev/null +++ b/models/metrostroi_train/81-710/electric/fusebox.sw.vtx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c656fff52b765836f0664b2f43740fc37161c92a77e59d72460deeb444a76411 +size 234498 diff --git a/models/metrostroi_train/81-710/electric/fusebox.vvd b/models/metrostroi_train/81-710/electric/fusebox.vvd new file mode 100644 index 0000000..45e1ca3 --- /dev/null +++ b/models/metrostroi_train/81-710/electric/fusebox.vvd @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ea5c8005728befa57aca09d7a8f88136c63b71afd09a9374958821e0d83d6e7 +size 1123648 diff --git a/models/metrostroi_train/81-710/electric/fusebox_cover.dx80.vtx b/models/metrostroi_train/81-710/electric/fusebox_cover.dx80.vtx new file mode 100644 index 0000000..df98c1d --- /dev/null +++ b/models/metrostroi_train/81-710/electric/fusebox_cover.dx80.vtx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7de1d32a014e23edec736a757a367d91036aeeb0fef611d27484c49396f521fb +size 3063 diff --git a/models/metrostroi_train/81-710/electric/fusebox_cover.dx90.vtx b/models/metrostroi_train/81-710/electric/fusebox_cover.dx90.vtx new file mode 100644 index 0000000..844caff --- /dev/null +++ b/models/metrostroi_train/81-710/electric/fusebox_cover.dx90.vtx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:22862d3dc74252ec9a5494524ef69c3754b8edcb31485b3f2fb38f24c15e408a +size 3063 diff --git a/models/metrostroi_train/81-710/electric/fusebox_cover.mdl b/models/metrostroi_train/81-710/electric/fusebox_cover.mdl new file mode 100644 index 0000000..3201aea --- /dev/null +++ b/models/metrostroi_train/81-710/electric/fusebox_cover.mdl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5a96bbb8f44117055b1821a18231951974da8398baa9f05203b630da7bade39 +size 2272 diff --git a/models/metrostroi_train/81-710/electric/fusebox_cover.phy b/models/metrostroi_train/81-710/electric/fusebox_cover.phy new file mode 100644 index 0000000..655c942 --- /dev/null +++ b/models/metrostroi_train/81-710/electric/fusebox_cover.phy @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63faa117e5c28bc1c58c48b90c12009c6278a01e0f9b547106df67d86820b88a +size 591 diff --git a/models/metrostroi_train/81-710/electric/fusebox_cover.sw.vtx b/models/metrostroi_train/81-710/electric/fusebox_cover.sw.vtx new file mode 100644 index 0000000..744d0d7 --- /dev/null +++ b/models/metrostroi_train/81-710/electric/fusebox_cover.sw.vtx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2855a13e06d7259bef8c25b9573953bdb52e69c1277a2d4d5eb9264145f24762 +size 3055 diff --git a/models/metrostroi_train/81-710/electric/fusebox_cover.vvd b/models/metrostroi_train/81-710/electric/fusebox_cover.vvd new file mode 100644 index 0000000..f23fe95 --- /dev/null +++ b/models/metrostroi_train/81-710/electric/fusebox_cover.vvd @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0164f0bb8f8994f3f30bb8481bbc49b996253dee6d284a7cd36e632d20bf78db +size 12480 diff --git a/models/metrostroi_train/81-717/BP15.dx80.vtx b/models/metrostroi_train/81-717/BP15.dx80.vtx new file mode 100644 index 0000000..f7fa753 --- /dev/null +++ b/models/metrostroi_train/81-717/BP15.dx80.vtx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58ce4bfc9002bc01bd3eef6757cd7ac1696174185d6dec15df8f8feaf98356bb +size 45549 diff --git a/models/metrostroi_train/81-717/BP15.dx90.vtx b/models/metrostroi_train/81-717/BP15.dx90.vtx new file mode 100644 index 0000000..ad9f3f6 --- /dev/null +++ b/models/metrostroi_train/81-717/BP15.dx90.vtx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2afcbbf10dc8144d30cc5bf17961ba4097dc0d686fc5457837a7a38a3e9b4db0 +size 45549 diff --git a/models/metrostroi_train/81-717/BP15.mdl b/models/metrostroi_train/81-717/BP15.mdl new file mode 100644 index 0000000..43cea5e --- /dev/null +++ b/models/metrostroi_train/81-717/BP15.mdl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d10291a13c7b42f7df6086674b064a0be6321efdde7be19d8415f3bc02c24464 +size 3448 diff --git a/models/metrostroi_train/81-717/BP15.sw.vtx b/models/metrostroi_train/81-717/BP15.sw.vtx new file mode 100644 index 0000000..1e4376a --- /dev/null +++ b/models/metrostroi_train/81-717/BP15.sw.vtx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f3cce43fe18fa740bd6b0502e8abedd87afe40e79f04de479d64a8b599f3e165 +size 45525 diff --git a/models/metrostroi_train/81-717/BP15.vvd b/models/metrostroi_train/81-717/BP15.vvd new file mode 100644 index 0000000..5b4c6d0 --- /dev/null +++ b/models/metrostroi_train/81-717/BP15.vvd @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:74550921285495b8f0d908068571df555e554ab484a6bae3654bdd55c1fa9a6e +size 191488 diff --git a/models/metrostroi_train/81-717/BP15_sg.dx80.vtx b/models/metrostroi_train/81-717/BP15_sg.dx80.vtx new file mode 100644 index 0000000..8d3523c --- /dev/null +++ b/models/metrostroi_train/81-717/BP15_sg.dx80.vtx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4c535622282453eeaa3b4e1d697d17075ea0cf3dd5ce361450c116e22710594 +size 9873 diff --git a/models/metrostroi_train/81-717/BP15_sg.dx90.vtx b/models/metrostroi_train/81-717/BP15_sg.dx90.vtx new file mode 100644 index 0000000..1904017 --- /dev/null +++ b/models/metrostroi_train/81-717/BP15_sg.dx90.vtx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c08c13f5b343cfeeb12405c92eb3605a7801812753560ddec42c0ea2d0de28e7 +size 9873 diff --git a/models/metrostroi_train/81-717/BP15_sg.mdl b/models/metrostroi_train/81-717/BP15_sg.mdl new file mode 100644 index 0000000..3faa5c8 --- /dev/null +++ b/models/metrostroi_train/81-717/BP15_sg.mdl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:170573ee4bcb7de1dd7df117463f6388a5d2e01f0837059fefb4d2cc988a9609 +size 2300 diff --git a/models/metrostroi_train/81-717/BP15_sg.sw.vtx b/models/metrostroi_train/81-717/BP15_sg.sw.vtx new file mode 100644 index 0000000..aa9d660 --- /dev/null +++ b/models/metrostroi_train/81-717/BP15_sg.sw.vtx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a624c032afc86a996a6b70859ee52bf761299d7c63c4ac30e22476f94ed03942 +size 9865 diff --git a/models/metrostroi_train/81-717/BP15_sg.vvd b/models/metrostroi_train/81-717/BP15_sg.vvd new file mode 100644 index 0000000..0da65eb --- /dev/null +++ b/models/metrostroi_train/81-717/BP15_sg.vvd @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d527261874209deb4fd8664b04119b17ad54320cb9e4be5cd21467848a535c33 +size 39232 diff --git a/models/metrostroi_train/81-717/BP15_sg_small.dx80.vtx b/models/metrostroi_train/81-717/BP15_sg_small.dx80.vtx new file mode 100644 index 0000000..e11cfef --- /dev/null +++ b/models/metrostroi_train/81-717/BP15_sg_small.dx80.vtx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d74ed696ff989150f93c9e8a7e025925c5a6265add3766dc015930987fac8055 +size 9873 diff --git a/models/metrostroi_train/81-717/BP15_sg_small.dx90.vtx b/models/metrostroi_train/81-717/BP15_sg_small.dx90.vtx new file mode 100644 index 0000000..aa0c9c7 --- /dev/null +++ b/models/metrostroi_train/81-717/BP15_sg_small.dx90.vtx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cdcd279196f0fbe9c8137cfdd5583f4c2f658778722c4640e7bf2bfa42181f93 +size 9873 diff --git a/models/metrostroi_train/81-717/BP15_sg_small.mdl b/models/metrostroi_train/81-717/BP15_sg_small.mdl new file mode 100644 index 0000000..a084099 --- /dev/null +++ b/models/metrostroi_train/81-717/BP15_sg_small.mdl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1dbf8720ec6043c7933537f9ae5f08ce7086b30727a8153e84c086ac8d7b71a +size 2304 diff --git a/models/metrostroi_train/81-717/BP15_sg_small.sw.vtx b/models/metrostroi_train/81-717/BP15_sg_small.sw.vtx new file mode 100644 index 0000000..791c32f --- /dev/null +++ b/models/metrostroi_train/81-717/BP15_sg_small.sw.vtx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b33276f1434483f9adab040799a08b9fddd94db124b5fac13bfc293c8d9de23 +size 9865 diff --git a/models/metrostroi_train/81-717/BP15_sg_small.vvd b/models/metrostroi_train/81-717/BP15_sg_small.vvd new file mode 100644 index 0000000..1399f79 --- /dev/null +++ b/models/metrostroi_train/81-717/BP15_sg_small.vvd @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25d6e423c265b08fcd72a9c54b3275f764ee03ae87d7f043988eafa625317956 +size 39232 diff --git a/sound/subway_trains/710/fusebox_close_1.mp3 b/sound/subway_trains/710/fusebox_close_1.mp3 new file mode 100644 index 0000000..41a50cc --- /dev/null +++ b/sound/subway_trains/710/fusebox_close_1.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0b0d9b4af5385a3ba04317d8bc16d95fdab84e513c268661be65e3ca7e217d6 +size 21388 diff --git a/sound/subway_trains/710/fusebox_close_2.mp3 b/sound/subway_trains/710/fusebox_close_2.mp3 new file mode 100644 index 0000000..4447ad2 --- /dev/null +++ b/sound/subway_trains/710/fusebox_close_2.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32e96221a9e9bc9542ed4949c0ef168c4e477b98edb8bb05c6fb038748b4ba2f +size 17216 diff --git a/sound/subway_trains/710/fusebox_open_1.mp3 b/sound/subway_trains/710/fusebox_open_1.mp3 new file mode 100644 index 0000000..a71d9f8 --- /dev/null +++ b/sound/subway_trains/710/fusebox_open_1.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55c96f7b942716b7ae168cd2ee1aaa1eebb94697e84cd892fa94a376f44a61d5 +size 27709 diff --git a/sound/subway_trains/710/fusebox_open_2.mp3 b/sound/subway_trains/710/fusebox_open_2.mp3 new file mode 100644 index 0000000..88ddaf8 --- /dev/null +++ b/sound/subway_trains/710/fusebox_open_2.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3b9516ce039503cc5dc4e4b43e872434c03daf8987c18b2770a032fa5375753 +size 24006 diff --git a/sound/subway_trains/710/fusecap_close_1.mp3 b/sound/subway_trains/710/fusecap_close_1.mp3 new file mode 100644 index 0000000..dfbad0e --- /dev/null +++ b/sound/subway_trains/710/fusecap_close_1.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56893aa11e66316a7ee433ea694f720f4670690282cc667fb6e522a430dd109e +size 10230 diff --git a/sound/subway_trains/710/fusecap_close_2.mp3 b/sound/subway_trains/710/fusecap_close_2.mp3 new file mode 100644 index 0000000..c78ca6d --- /dev/null +++ b/sound/subway_trains/710/fusecap_close_2.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed78e60cb0f6e66603ddeb45e6bf50b2a0df14e622133c80cc8a58e3e53acb65 +size 10854 diff --git a/sound/subway_trains/710/fusecap_open_1.mp3 b/sound/subway_trains/710/fusecap_open_1.mp3 new file mode 100644 index 0000000..e4366dd --- /dev/null +++ b/sound/subway_trains/710/fusecap_open_1.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30136938a7d14f05b94c9a2738f33b40efb9dfbf5ec809ee8c0e5c5c2d186236 +size 16283 diff --git a/sound/subway_trains/710/fusecap_open_2.mp3 b/sound/subway_trains/710/fusecap_open_2.mp3 new file mode 100644 index 0000000..d6f8048 --- /dev/null +++ b/sound/subway_trains/710/fusecap_open_2.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:082b322686a28092d397bde3bfa8157c5399437bf4db3882dad8ec77c5ab5523 +size 15132 diff --git a/sound/subway_trains/710/fuseh_in_1.mp3 b/sound/subway_trains/710/fuseh_in_1.mp3 new file mode 100644 index 0000000..54ba088 --- /dev/null +++ b/sound/subway_trains/710/fuseh_in_1.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ff8ec12227dd8afb65918e09738b9d430458d5ed23669544b152cd0c64e60a8 +size 26121 diff --git a/sound/subway_trains/710/fuseh_in_2.mp3 b/sound/subway_trains/710/fuseh_in_2.mp3 new file mode 100644 index 0000000..4a86ca6 --- /dev/null +++ b/sound/subway_trains/710/fuseh_in_2.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:049468959785e4e250891159bd0fd6a62dd45b23867a24abffa09523ef76ad25 +size 14627 diff --git a/sound/subway_trains/710/fuseh_in_3.mp3 b/sound/subway_trains/710/fuseh_in_3.mp3 new file mode 100644 index 0000000..9585c4d --- /dev/null +++ b/sound/subway_trains/710/fuseh_in_3.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:594fd782fd7d787d1f95ee0f2af8460470a804dee9bf102e2973bd0499a5f562 +size 12263 diff --git a/sound/subway_trains/710/fuseh_out_1.mp3 b/sound/subway_trains/710/fuseh_out_1.mp3 new file mode 100644 index 0000000..919b951 --- /dev/null +++ b/sound/subway_trains/710/fuseh_out_1.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:398eadfc9faebff3a44b16cf3cc9cb88db74f8d70fb5f6f6e759935974d554e1 +size 10448 diff --git a/sound/subway_trains/710/fuseh_out_2.mp3 b/sound/subway_trains/710/fuseh_out_2.mp3 new file mode 100644 index 0000000..b4e6e0b --- /dev/null +++ b/sound/subway_trains/710/fuseh_out_2.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc6b7616a7664b3479a5503179435d90fe2bfda49fa76af82fe7413440a479b3 +size 24031 diff --git a/sound/subway_trains/710/fuseh_out_3.mp3 b/sound/subway_trains/710/fuseh_out_3.mp3 new file mode 100644 index 0000000..cae7e0c --- /dev/null +++ b/sound/subway_trains/710/fuseh_out_3.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7fd5ac104749a94991dd23b17d02a0dfaaf962c5d92da6ebe168eac0a313349b +size 16717