mirror of
https://github.com/metrostroi-repo/MetrostroiAddon.git
synced 2026-05-02 00:42:29 +00:00
Добавлены предохранители, исправления схем
Добавлены - Предохранители Обновление схем: - КРУ перенесено на 14-й провод - Контроль тормоза на 21-й провод - Запитка ВЗ-1 от АРС на 29-й провод - Небольшой фикс сопротивления резисторов Все схемы приведены к московской версии Еж3 от середины 80-ых до наших дней.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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 = Включение САММ
|
||||
|
||||
167
lua/metrostroi_data/languages/ru_710.lua
Normal file
167
lua/metrostroi_data/languages/ru_710.lua
Normal file
@@ -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]
|
||||
|
||||
|
||||
]]
|
||||
@@ -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
|
||||
}
|
||||
BIN
materials/models/metrostroi_train/81-710/electric/fusebox_base.vtf
LFS
Normal file
BIN
materials/models/metrostroi_train/81-710/electric/fusebox_base.vtf
LFS
Normal file
Binary file not shown.
@@ -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
|
||||
}
|
||||
BIN
materials/models/metrostroi_train/81-710/electric/fusebox_cover_base.vtf
LFS
Normal file
BIN
materials/models/metrostroi_train/81-710/electric/fusebox_cover_base.vtf
LFS
Normal file
Binary file not shown.
BIN
materials/models/metrostroi_train/81-710/electric/fusebox_cover_roughness.vtf
LFS
Normal file
BIN
materials/models/metrostroi_train/81-710/electric/fusebox_cover_roughness.vtf
LFS
Normal file
Binary file not shown.
BIN
materials/models/metrostroi_train/81-710/electric/fusebox_normal.vtf
LFS
Normal file
BIN
materials/models/metrostroi_train/81-710/electric/fusebox_normal.vtf
LFS
Normal file
Binary file not shown.
BIN
materials/models/metrostroi_train/81-710/electric/fusebox_roughness.vtf
LFS
Normal file
BIN
materials/models/metrostroi_train/81-710/electric/fusebox_roughness.vtf
LFS
Normal file
Binary file not shown.
13
materials/models/metrostroi_train/81-717/717_BP_15.vmt
Normal file
13
materials/models/metrostroi_train/81-717/717_BP_15.vmt
Normal file
@@ -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
|
||||
}
|
||||
BIN
materials/models/metrostroi_train/81-717/717_BP_15.vtf
LFS
Normal file
BIN
materials/models/metrostroi_train/81-717/717_BP_15.vtf
LFS
Normal file
Binary file not shown.
4
materials/models/metrostroi_train/81-717/717_BP_15_n.vmt
Normal file
4
materials/models/metrostroi_train/81-717/717_BP_15_n.vmt
Normal file
@@ -0,0 +1,4 @@
|
||||
"LightmappedGeneric"
|
||||
{
|
||||
"$basetexture" "models/metrostroi_train/81-717/717_BP_15_n"
|
||||
}
|
||||
BIN
materials/models/metrostroi_train/81-717/717_BP_15_n.vtf
LFS
Normal file
BIN
materials/models/metrostroi_train/81-717/717_BP_15_n.vtf
LFS
Normal file
Binary file not shown.
4
materials/models/metrostroi_train/81-717/717_BP_15_s.vmt
Normal file
4
materials/models/metrostroi_train/81-717/717_BP_15_s.vmt
Normal file
@@ -0,0 +1,4 @@
|
||||
"LightmappedGeneric"
|
||||
{
|
||||
"$basetexture" "models/metrostroi_train/81-717/717_BP_15_s"
|
||||
}
|
||||
BIN
materials/models/metrostroi_train/81-717/717_BP_15_s.vtf
LFS
Normal file
BIN
materials/models/metrostroi_train/81-717/717_BP_15_s.vtf
LFS
Normal file
Binary file not shown.
BIN
models/metrostroi_train/81-710/electric/fusebox.dx80.vtx
LFS
Normal file
BIN
models/metrostroi_train/81-710/electric/fusebox.dx80.vtx
LFS
Normal file
Binary file not shown.
BIN
models/metrostroi_train/81-710/electric/fusebox.dx90.vtx
LFS
Normal file
BIN
models/metrostroi_train/81-710/electric/fusebox.dx90.vtx
LFS
Normal file
Binary file not shown.
BIN
models/metrostroi_train/81-710/electric/fusebox.mdl
LFS
Normal file
BIN
models/metrostroi_train/81-710/electric/fusebox.mdl
LFS
Normal file
Binary file not shown.
BIN
models/metrostroi_train/81-710/electric/fusebox.sw.vtx
LFS
Normal file
BIN
models/metrostroi_train/81-710/electric/fusebox.sw.vtx
LFS
Normal file
Binary file not shown.
BIN
models/metrostroi_train/81-710/electric/fusebox.vvd
LFS
Normal file
BIN
models/metrostroi_train/81-710/electric/fusebox.vvd
LFS
Normal file
Binary file not shown.
BIN
models/metrostroi_train/81-710/electric/fusebox_cover.dx80.vtx
LFS
Normal file
BIN
models/metrostroi_train/81-710/electric/fusebox_cover.dx80.vtx
LFS
Normal file
Binary file not shown.
BIN
models/metrostroi_train/81-710/electric/fusebox_cover.dx90.vtx
LFS
Normal file
BIN
models/metrostroi_train/81-710/electric/fusebox_cover.dx90.vtx
LFS
Normal file
Binary file not shown.
BIN
models/metrostroi_train/81-710/electric/fusebox_cover.mdl
LFS
Normal file
BIN
models/metrostroi_train/81-710/electric/fusebox_cover.mdl
LFS
Normal file
Binary file not shown.
BIN
models/metrostroi_train/81-710/electric/fusebox_cover.phy
LFS
Normal file
BIN
models/metrostroi_train/81-710/electric/fusebox_cover.phy
LFS
Normal file
Binary file not shown.
BIN
models/metrostroi_train/81-710/electric/fusebox_cover.sw.vtx
LFS
Normal file
BIN
models/metrostroi_train/81-710/electric/fusebox_cover.sw.vtx
LFS
Normal file
Binary file not shown.
BIN
models/metrostroi_train/81-710/electric/fusebox_cover.vvd
LFS
Normal file
BIN
models/metrostroi_train/81-710/electric/fusebox_cover.vvd
LFS
Normal file
Binary file not shown.
BIN
models/metrostroi_train/81-717/BP15.dx80.vtx
LFS
Normal file
BIN
models/metrostroi_train/81-717/BP15.dx80.vtx
LFS
Normal file
Binary file not shown.
BIN
models/metrostroi_train/81-717/BP15.dx90.vtx
LFS
Normal file
BIN
models/metrostroi_train/81-717/BP15.dx90.vtx
LFS
Normal file
Binary file not shown.
BIN
models/metrostroi_train/81-717/BP15.mdl
LFS
Normal file
BIN
models/metrostroi_train/81-717/BP15.mdl
LFS
Normal file
Binary file not shown.
BIN
models/metrostroi_train/81-717/BP15.sw.vtx
LFS
Normal file
BIN
models/metrostroi_train/81-717/BP15.sw.vtx
LFS
Normal file
Binary file not shown.
BIN
models/metrostroi_train/81-717/BP15.vvd
LFS
Normal file
BIN
models/metrostroi_train/81-717/BP15.vvd
LFS
Normal file
Binary file not shown.
BIN
models/metrostroi_train/81-717/BP15_sg.dx80.vtx
LFS
Normal file
BIN
models/metrostroi_train/81-717/BP15_sg.dx80.vtx
LFS
Normal file
Binary file not shown.
BIN
models/metrostroi_train/81-717/BP15_sg.dx90.vtx
LFS
Normal file
BIN
models/metrostroi_train/81-717/BP15_sg.dx90.vtx
LFS
Normal file
Binary file not shown.
BIN
models/metrostroi_train/81-717/BP15_sg.mdl
LFS
Normal file
BIN
models/metrostroi_train/81-717/BP15_sg.mdl
LFS
Normal file
Binary file not shown.
BIN
models/metrostroi_train/81-717/BP15_sg.sw.vtx
LFS
Normal file
BIN
models/metrostroi_train/81-717/BP15_sg.sw.vtx
LFS
Normal file
Binary file not shown.
BIN
models/metrostroi_train/81-717/BP15_sg.vvd
LFS
Normal file
BIN
models/metrostroi_train/81-717/BP15_sg.vvd
LFS
Normal file
Binary file not shown.
BIN
models/metrostroi_train/81-717/BP15_sg_small.dx80.vtx
LFS
Normal file
BIN
models/metrostroi_train/81-717/BP15_sg_small.dx80.vtx
LFS
Normal file
Binary file not shown.
BIN
models/metrostroi_train/81-717/BP15_sg_small.dx90.vtx
LFS
Normal file
BIN
models/metrostroi_train/81-717/BP15_sg_small.dx90.vtx
LFS
Normal file
Binary file not shown.
BIN
models/metrostroi_train/81-717/BP15_sg_small.mdl
LFS
Normal file
BIN
models/metrostroi_train/81-717/BP15_sg_small.mdl
LFS
Normal file
Binary file not shown.
BIN
models/metrostroi_train/81-717/BP15_sg_small.sw.vtx
LFS
Normal file
BIN
models/metrostroi_train/81-717/BP15_sg_small.sw.vtx
LFS
Normal file
Binary file not shown.
BIN
models/metrostroi_train/81-717/BP15_sg_small.vvd
LFS
Normal file
BIN
models/metrostroi_train/81-717/BP15_sg_small.vvd
LFS
Normal file
Binary file not shown.
BIN
sound/subway_trains/710/fusebox_close_1.mp3
LFS
Normal file
BIN
sound/subway_trains/710/fusebox_close_1.mp3
LFS
Normal file
Binary file not shown.
BIN
sound/subway_trains/710/fusebox_close_2.mp3
LFS
Normal file
BIN
sound/subway_trains/710/fusebox_close_2.mp3
LFS
Normal file
Binary file not shown.
BIN
sound/subway_trains/710/fusebox_open_1.mp3
LFS
Normal file
BIN
sound/subway_trains/710/fusebox_open_1.mp3
LFS
Normal file
Binary file not shown.
BIN
sound/subway_trains/710/fusebox_open_2.mp3
LFS
Normal file
BIN
sound/subway_trains/710/fusebox_open_2.mp3
LFS
Normal file
Binary file not shown.
BIN
sound/subway_trains/710/fusecap_close_1.mp3
LFS
Normal file
BIN
sound/subway_trains/710/fusecap_close_1.mp3
LFS
Normal file
Binary file not shown.
BIN
sound/subway_trains/710/fusecap_close_2.mp3
LFS
Normal file
BIN
sound/subway_trains/710/fusecap_close_2.mp3
LFS
Normal file
Binary file not shown.
BIN
sound/subway_trains/710/fusecap_open_1.mp3
LFS
Normal file
BIN
sound/subway_trains/710/fusecap_open_1.mp3
LFS
Normal file
Binary file not shown.
BIN
sound/subway_trains/710/fusecap_open_2.mp3
LFS
Normal file
BIN
sound/subway_trains/710/fusecap_open_2.mp3
LFS
Normal file
Binary file not shown.
BIN
sound/subway_trains/710/fuseh_in_1.mp3
LFS
Normal file
BIN
sound/subway_trains/710/fuseh_in_1.mp3
LFS
Normal file
Binary file not shown.
BIN
sound/subway_trains/710/fuseh_in_2.mp3
LFS
Normal file
BIN
sound/subway_trains/710/fuseh_in_2.mp3
LFS
Normal file
Binary file not shown.
BIN
sound/subway_trains/710/fuseh_in_3.mp3
LFS
Normal file
BIN
sound/subway_trains/710/fuseh_in_3.mp3
LFS
Normal file
Binary file not shown.
BIN
sound/subway_trains/710/fuseh_out_1.mp3
LFS
Normal file
BIN
sound/subway_trains/710/fuseh_out_1.mp3
LFS
Normal file
Binary file not shown.
BIN
sound/subway_trains/710/fuseh_out_2.mp3
LFS
Normal file
BIN
sound/subway_trains/710/fuseh_out_2.mp3
LFS
Normal file
Binary file not shown.
BIN
sound/subway_trains/710/fuseh_out_3.mp3
LFS
Normal file
BIN
sound/subway_trains/710/fuseh_out_3.mp3
LFS
Normal file
Binary file not shown.
Reference in New Issue
Block a user