mirror of
https://github.com/metrostroi-repo/MetrostroiAddon.git
synced 2026-05-04 00:52:33 +00:00
release branch init
This commit is contained in:
@@ -42,7 +42,6 @@ include("shared.lua")
|
||||
ENT.ClientProps = {}
|
||||
ENT.ButtonMap = {}
|
||||
ENT.AutoAnims = {}
|
||||
ENT.AutoAnimNames = {}
|
||||
ENT.ClientSounds = {}
|
||||
|
||||
ENT.ButtonMap["PanelLamp"] = {
|
||||
@@ -53,7 +52,7 @@ ENT.ButtonMap["PanelLamp"] = {
|
||||
scale = 0.0588,
|
||||
|
||||
buttons = {
|
||||
{ID = "PanelLampToggle", x=0, y=0, w=100, h=200, tooltip="",var="PanelLights"},
|
||||
{ID = "PanelLampToggle", x=0, y=0, w=100, h=200, tooltip=""},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,29 +70,14 @@ ENT.ButtonMap["Main"] = {
|
||||
--{ID = "RK", x=41.0+41.7*2,y=58.4, radius=20, tooltip="", model = {
|
||||
-- lamp = {model = "models/metrostroi_train/81-703/cabin_lamp_red2.mdl",color = Color(255,160,160),z = 10, var="RK"}
|
||||
--}},
|
||||
{ID = "PP1", x=42.0+41.7*0,y=58.3, radius=20, tooltip="", model = {
|
||||
lamp = {model = "models/metrostroi_train/81-703/cabin_lamp_green.mdl",color = Color(98,178,178),z = 10, var="PP1"},
|
||||
sprite = {bright=0.25,size=0.25,scale=0.07,color=Color(40,255,100),z=12,}
|
||||
{ID = "GRP", x=41.0+41.7*3,y=58.4, radius=20, tooltip="", model = {
|
||||
lamp = {model = "models/metrostroi_train/81-703/cabin_lamp_green.mdl",color = Color(140,255,255),z = 10, var="GRP"}
|
||||
}},
|
||||
{ID = "PP6", x=42.5+41.7*1,y=58.3, radius=20, tooltip="", model = {
|
||||
lamp = {model = "models/metrostroi_train/81-703/cabin_lamp_white.mdl",color = Color(178,126,84),z = 10, var="PP6"},
|
||||
sprite = {bright=0.25,size=0.25,scale=0.07,color=Color(255,180,160),z=12,}
|
||||
{ID = "RRP", x=41.0+41.7*4,y=58.4, radius=20, tooltip="", model = {
|
||||
lamp = {model = "models/metrostroi_train/81-703/cabin_lamp_red3.mdl",color = Color(255,160,160),z = 10, var="RRP", getfunc = function(ent,min,max) return ent:GetPackedRatio("RRP") end}
|
||||
}},
|
||||
{ID = "RRP", x=42.0+41.7*2,y=58.3, radius=20, tooltip="", model = {
|
||||
lamp = {model = "models/metrostroi_train/81-703/cabin_lamp_red3.mdl",color = Color(178,112,112),z = 10, var="RRP", getfunc = function(ent,min,max) return ent:GetPackedRatio("RRP") end},
|
||||
sprite = {bright=0.25,size=0.25,scale=0.07,color=Color(255,60,60),z=12,}
|
||||
}},
|
||||
{ID = "GRP", x=41.0+41.7*3,y=58.3, radius=20, tooltip="", model = {
|
||||
lamp = {model = "models/metrostroi_train/81-703/cabin_lamp_green.mdl",color = Color(98,178,178),z = 10, var="GRP"},
|
||||
sprite = {bright=0.25,size=0.25,scale=0.07,color=Color(40,255,100),z=12,}
|
||||
}},
|
||||
{ID = "SD", x=41.3+41.7*4,y=58.3, radius=20, tooltip="", model = {
|
||||
lamp = {model = "models/metrostroi_train/81-703/cabin_lamp_white.mdl",color = Color(91,91,178),z = 10, var="SD",},
|
||||
sprite = {bright=0.25,size=0.25,scale=0.07,color=Color(100,120,255),z=12,}
|
||||
}},
|
||||
{ID = "SDW", x=40.9+41.7*5,y=58.3, radius=20, tooltip="", model = {
|
||||
lamp = {model = "models/metrostroi_train/81-703/cabin_lamp_white.mdl",color = Color(178,126,112),z = 10, var="SDW",},
|
||||
sprite = {bright=0.25,size=0.25,scale=0.07,color=Color(255,180,160),z=12,}
|
||||
{ID = "SD", x=41.0+41.7*5,y=58.4, radius=20, tooltip="", model = {
|
||||
lamp = {model = "models/metrostroi_train/81-703/cabin_lamp_white.mdl",color = Color(130,130,255),z = 10, var="SD",}
|
||||
}},
|
||||
----Кнопки
|
||||
{ ID = "KU4Set", x=35.8+44*0, y=127.3, radius=20, tooltip="", model = {
|
||||
@@ -135,7 +119,6 @@ ENT.ButtonMap["Main"] = {
|
||||
model = "models/metrostroi_train/81-703/cabin_doors_cover.mdl",ang = 110,z=11,vmin=0.21,vmax=0.0,
|
||||
var="KU7K",speed=1.5,disableinv="KU7Set",
|
||||
sndvol = 0.10, snd = function(val) return val and "kr_left" or "kr_right" end,sndmin = 60, sndmax = 1e3/3, sndang = Angle(-90,0,0),
|
||||
varTooltip = true,
|
||||
}},
|
||||
{ ID = "KU6Set", x=96.8, y=171.8, radius=20, tooltip="", model = {
|
||||
model = "models/metrostroi_train/81-703/cabin_button_black.mdl",ang = 180,z=2,
|
||||
@@ -146,7 +129,6 @@ ENT.ButtonMap["Main"] = {
|
||||
model = "models/metrostroi_train/81-703/cabin_doors_cover.mdl",ang = 180-10,z=11,vmin=0,vmax=0.21,
|
||||
var="KU6K",speed=1.5,disableinv="KU6Set",
|
||||
sndvol = 0.10, snd = function(val) return val and "kr_left" or "kr_right" end,sndmin = 60, sndmax = 1e3/3, sndang = Angle(-90,0,0),
|
||||
varTooltip = true,
|
||||
}},
|
||||
{ ID = "KU1Toggle", x=49,y=190,radius=20, tooltip="", model = {
|
||||
model = "models/metrostroi_train/switches/vudblack.mdl", z=-19,
|
||||
@@ -159,7 +141,6 @@ ENT.ButtonMap["Main"] = {
|
||||
var="KU2",speed=6, vmin=1,vmax=0,
|
||||
sndvol = 1, snd = function(val) return val and "vu224_on" or "vu224_off" end,
|
||||
sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0),
|
||||
states={"Train.Buttons.Unlocked","Train.Buttons.Locked"},
|
||||
}},
|
||||
{ ID = "KU12Toggle", x=145,y=190,radius=20, tooltip="", model = {
|
||||
model = "models/metrostroi_train/switches/vudblack.mdl", z=-19,
|
||||
@@ -237,7 +218,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=""},
|
||||
}
|
||||
}
|
||||
ENT.ClientProps["stopkran"] = {
|
||||
@@ -356,8 +337,8 @@ ENT.ButtonMap["ParkingBrake"] = {
|
||||
scale = 0.0625,
|
||||
|
||||
buttons = {
|
||||
{ID = "ParkingBrakeLeft",x=0, y=0, w=170, h=400, tooltip="",tooltipFunc = function(ent) return Format(Metrostroi.GetPhrase("Train.Buttons.ParkingBrake"),ent:GetPackedRatio("ManualBrake")*100) end},
|
||||
{ID = "ParkingBrakeRight",x=170, y=0, w=170, h=400, tooltip="",tooltipFunc = function(ent) return Format(Metrostroi.GetPhrase("Train.Buttons.ParkingBrake"),ent:GetPackedRatio("ManualBrake")*100) end},
|
||||
{ID = "ParkingBrakeLeft",x=0, y=0, w=170, h=400, tooltip=""},
|
||||
{ID = "ParkingBrakeRight",x=170, y=0, w=170, h=400, tooltip=""},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -384,7 +365,6 @@ ENT.ButtonMap["HelperPanel"] = {
|
||||
var="KU3",speed=6,
|
||||
sndvol = 1, snd = function(val) return val and "vu13a_on" or "vu13a_off" end,
|
||||
sndmin = 50, sndmax = 1e3, sndang = Angle(-90,0,0),
|
||||
states={"Train.Buttons.Unlocked","Train.Buttons.Locked"},
|
||||
}},
|
||||
{ID = "R_Program1Set", x=14, y=235, radius=15, tooltip="",model = {
|
||||
model = "models/metrostroi_train/81-710/ezh3_button_black.mdl",z = 0,
|
||||
@@ -411,8 +391,8 @@ ENT.ButtonMap["HVMeters"] = {
|
||||
scale = 0.0625,
|
||||
|
||||
buttons = {
|
||||
{ID = "!EnginesCurrent", x=0, y=0, w=64, h=60, tooltip="",tooltipFunc = function(ent) return Format(Metrostroi.GetPhrase("Train.Buttons.EnginesCurrent"),ent:GetPackedRatio("EnginesCurrent")*1000-500) end},
|
||||
{ID = "!EnginesVoltage", x=0, y=68, w=64, h=60, tooltip="",tooltipFunc = function(ent) return Format(Metrostroi.GetPhrase("Train.Buttons.EnginesVoltage"),ent:GetPackedRatio("EnginesVoltage")*1000) end},
|
||||
{ID = "!EnginesCurrent", x=0, y=0, w=64, h=60, tooltip=""},
|
||||
{ID = "!EnginesVoltage", x=0, y=68, w=64, h=60, tooltip=""},
|
||||
}
|
||||
}
|
||||
ENT.ButtonMap["Speedometer"] = {
|
||||
@@ -423,7 +403,7 @@ ENT.ButtonMap["Speedometer"] = {
|
||||
scale = 0.0625,
|
||||
|
||||
buttons = {
|
||||
{ID = "!Speedometer", x=0, y=0, w=150, h=150, tooltip="",tooltipFunc = function(ent) return Format(Metrostroi.GetPhrase("Train.Buttons.Speed"),ent:GetPackedRatio("Speed")*100) end},
|
||||
{ID = "!Speedometer", x=0, y=0, w=150, h=150, tooltip=""},
|
||||
}
|
||||
}
|
||||
ENT.ButtonMap["BLTLPressure"] = {
|
||||
@@ -434,7 +414,7 @@ ENT.ButtonMap["BLTLPressure"] = {
|
||||
scale = 0.0625,
|
||||
|
||||
buttons = {
|
||||
{ID = "!BLTLPressure", x=57,y=57,radius=57,tooltip="",tooltipFunc = function(ent) return Format(Metrostroi.GetPhrase("Train.Buttons.BLTLPressure"),ent:GetPackedRatio("TLPressure")*16,ent:GetPackedRatio("BLPressure")*16) end},
|
||||
{ID = "!BLTLPressure", x=57,y=57,radius=57,tooltip=""},
|
||||
}
|
||||
}
|
||||
ENT.ButtonMap["BCPressure"] = {
|
||||
@@ -446,7 +426,7 @@ ENT.ButtonMap["BCPressure"] = {
|
||||
scale = 0.0625,
|
||||
|
||||
buttons = {
|
||||
{ID = "!BCPressure", x=39,y=39,radius=39,tooltip="",tooltipFunc = function(ent) return Format(Metrostroi.GetPhrase("Train.Buttons.BCPressure"),ent:GetPackedRatio("BCPressure")*6) end},
|
||||
{ID = "!BCPressure", x=39,y=39,radius=39,tooltip=""},
|
||||
}
|
||||
}
|
||||
ENT.ButtonMap["BatteryVoltage"] = {
|
||||
@@ -457,7 +437,7 @@ ENT.ButtonMap["BatteryVoltage"] = {
|
||||
scale = 0.0625,
|
||||
|
||||
buttons = {
|
||||
{ID = "!BatteryVoltage", x=0,y=0,w=60,h=60,tooltip="",tooltipFunc = function(ent) return Format(Metrostroi.GetPhrase("Train.Buttons.BatteryVoltage"),ent:GetPackedRatio("BatteryVoltage")*100) end},
|
||||
{ID = "!BatteryVoltage", x=0,y=0,w=60,h=60,tooltip=""},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -474,7 +454,6 @@ ENT.ButtonMap["DriverValveBLDisconnect"] = {
|
||||
var="DriverValveBLDisconnect",sndid="brake_disconnect",
|
||||
sndvol = 1, snd = function(val) return "disconnect_valve" end,
|
||||
sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0),
|
||||
states={"Train.Buttons.Closed","Train.Buttons.Opened"},
|
||||
}},
|
||||
}
|
||||
}
|
||||
@@ -490,7 +469,6 @@ ENT.ButtonMap["DriverValveTLDisconnect"] = {
|
||||
var="DriverValveTLDisconnect",sndid="train_disconnect",
|
||||
sndvol = 1, snd = function(val) return val and "pneumo_TL_open" or "pneumo_TL_disconnect" end,
|
||||
sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0),
|
||||
states={"Train.Buttons.Closed","Train.Buttons.Opened"},
|
||||
}},
|
||||
}
|
||||
}
|
||||
@@ -501,10 +479,13 @@ ENT.ButtonMap["FrontPneumatic"] = {
|
||||
width = 900,
|
||||
height = 100,
|
||||
scale = 0.1,
|
||||
hideseat=0.2,
|
||||
hide=true,
|
||||
screenHide = true,
|
||||
|
||||
buttons = {
|
||||
{ID = "FrontBrakeLineIsolationToggle",x=000, y=0, w=400, h=100, tooltip="",var="FbI",states={"Train.Buttons.Opened","Train.Buttons.Closed"}},
|
||||
{ID = "FrontTrainLineIsolationToggle",x=500, y=0, w=400, h=100, tooltip="",var="FtI",states={"Train.Buttons.Opened","Train.Buttons.Closed"}},
|
||||
{ID = "FrontBrakeLineIsolationToggle",x=000, y=0, w=400, h=100, tooltip=""},
|
||||
{ID = "FrontTrainLineIsolationToggle",x=500, y=0, w=400, h=100, tooltip=""},
|
||||
}
|
||||
}
|
||||
ENT.ClientProps["FrontBrake"] = {--
|
||||
@@ -527,10 +508,13 @@ ENT.ButtonMap["RearPneumatic"] = {
|
||||
width = 900,
|
||||
height = 100,
|
||||
scale = 0.1,
|
||||
hideseat=0.2,
|
||||
hide=true,
|
||||
screenHide = true,
|
||||
|
||||
buttons = {
|
||||
{ID = "RearBrakeLineIsolationToggle",x=000, y=0, w=400, h=100, tooltip="",var="RbI",states={"Train.Buttons.Opened","Train.Buttons.Closed"}},
|
||||
{ID = "RearTrainLineIsolationToggle",x=500, y=0, w=400, h=100, tooltip="",var="RtI",states={"Train.Buttons.Opened","Train.Buttons.Closed"}},
|
||||
{ID = "RearBrakeLineIsolationToggle",x=000, y=0, w=400, h=100, tooltip=""},
|
||||
{ID = "RearTrainLineIsolationToggle",x=500, y=0, w=400, h=100, tooltip=""},
|
||||
}
|
||||
}
|
||||
ENT.ClientProps["RearTrain"] = {--
|
||||
@@ -560,7 +544,6 @@ ENT.ButtonMap["GV"] = {
|
||||
var="GV",sndid = "gv",
|
||||
sndvol = 0.8,sndmin = 80, sndmax = 1e3/3, sndang = Angle(-90,0,0),
|
||||
snd = function(val) return val and "gv_f" or "gv_b" end,
|
||||
states={"Train.Buttons.Disconnected","Train.Buttons.On"}
|
||||
}},
|
||||
}
|
||||
}
|
||||
@@ -589,7 +572,7 @@ ENT.ButtonMap["AirDistributor"] = {
|
||||
screenHide = true,
|
||||
|
||||
buttons = {
|
||||
{ID = "AirDistributorDisconnectToggle",x=0, y=0, w= 170,h = 260, tooltip="",var="AD",states={"Train.Buttons.On","Train.Buttons.Off"}},
|
||||
{ID = "AirDistributorDisconnectToggle",x=0, y=0, w= 170,h = 260, tooltip=""},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -609,7 +592,7 @@ ENT.ButtonMap["UAVAPanel"] = {
|
||||
sndid="UAVALever",sndvol = 1, snd = function(val) return val and "uava_on" or "uava_off" end,
|
||||
sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0),
|
||||
}},
|
||||
{ID = "UAVACToggle",x=60, y=0, w=120, h=200, tooltip="",var="UAVAC",states={"Train.Buttons.UAVAOff","Train.Buttons.UAVAOn"}},
|
||||
{ID = "UAVAContactSet",x=60, y=0, w=120, h=200, tooltip=""},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -648,7 +631,6 @@ ENT.ButtonMap["FrontDoor"] = {
|
||||
var="door1",sndid="door1",
|
||||
sndvol = 1, snd = function(val) return val and "cab_door_open" or "cab_door_close" end,
|
||||
sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0),
|
||||
noTooltip = true,
|
||||
}},
|
||||
}
|
||||
}
|
||||
@@ -664,7 +646,6 @@ ENT.ButtonMap["CabinDoor"] = {
|
||||
var="door4",sndid="door4",
|
||||
sndvol = 1, snd = function(val) return val and "cab_door_open" or "cab_door_close" end,
|
||||
sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0),
|
||||
noTooltip = true,
|
||||
}},
|
||||
}
|
||||
}
|
||||
@@ -680,7 +661,6 @@ ENT.ButtonMap["PassengerDoor"] = {
|
||||
var="door3",sndid="door3",
|
||||
sndvol = 1, snd = function(val) return val and "cab_door_open" or "cab_door_close" end,
|
||||
sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0),
|
||||
noTooltip = true,
|
||||
}},
|
||||
}
|
||||
}
|
||||
@@ -706,7 +686,6 @@ ENT.ButtonMap["RearDoor"] = {
|
||||
var="door2",sndid="door2",
|
||||
sndvol = 1, snd = function(val) return val and "cab_door_open" or "cab_door_close" end,
|
||||
sndmin = 90, sndmax = 1e3, sndang = Angle(-90,0,0),
|
||||
noTooltip = true,
|
||||
}},
|
||||
}
|
||||
}
|
||||
@@ -828,7 +807,7 @@ ENT.ClientProps["salon"] = {
|
||||
}
|
||||
ENT.ClientProps["E_informator"] = {
|
||||
model = "models/metrostroi_train/equipment/rri_informator_portable.mdl",
|
||||
pos = Vector(404.7-5.1,-51,1),
|
||||
pos = Vector(404.7-5.2,-51,1),
|
||||
ang = Angle(0,0,0),
|
||||
hideseat=0.2,
|
||||
}
|
||||
@@ -877,8 +856,8 @@ ENT.ButtonMap["RRI"] = {
|
||||
}},
|
||||
{ID = "!RRIOn",x=70,y=12.5,radius=10,tooltip="",model = {
|
||||
model = "models/metrostroi_train/81-710/ezh3_slc77.mdl",z = -13,
|
||||
lamp = { model = "models/metrostroi_train/81-717/buttons/slc_77_lamp.mdl",ang=62,x=-0.3,y=-0.3,z=20.6, var="RRIOn", color=Color(210,170,255), getfunc=function(ent,min,max,var) return ent:GetPackedBool(var) and (1-(ent.AnnLamp or 0)^1.5*0.6) or 0 end, },
|
||||
sprite = {bright=0.2,size=.5,scale=0.03,z=20,color=Color(210,170,255)},
|
||||
lamp = {model = "models/metrostroi_train/81-717/buttons/slc_77_lamp.mdl",ang=62,x=-0.3,y=-0.3,z=20.6, var="RRIOn", color=Color(210,170,255)},
|
||||
getfunc=function(ent,min,max,var) return ent:GetPackedBool(var) and (1-(ent.AnnLamp or 0)^1.5*0.6) or 0 end,
|
||||
}},
|
||||
}
|
||||
}
|
||||
@@ -1149,27 +1128,8 @@ ENT.ClientProps["route2"] = {
|
||||
ENT.Lights = {
|
||||
[1] = { "headlight", Vector(475,0,-20), Angle(0,0,0), Color(188,130,88), brightness = 5 ,fov = 90, texture = "models/metrostroi_train/equipment/headlight",shadows = 1,headlight=true},
|
||||
[2] = { "headlight", Vector(465,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},
|
||||
[21] = { "headlight", Vector(441,-40.0,40.2), Angle(75,-25,0), Color(255,130,88), fov=125, farz=80,brightness = 4,shadows = 1, texture = "models/metrostroi_train/equipment/headlight", hidden = "Lamps_pult"},
|
||||
[22] = { "headlight", Vector(441,-55.0,35.2), Angle(0,0,0), Color(255,130,88), fov=125, farz=65,brightness = 6,shadows = 0, texture = "models/metrostroi_train/equipment/headlight", hidden = "Lamps_pult"},
|
||||
|
||||
-- Emergency lit
|
||||
[9] = { "dynamiclight", Vector(200, 0, -5), Angle(0,0,0), Color(255, 176, 59), brightness = 2, distance = 200},
|
||||
[10] = { "dynamiclight", Vector(-150, 0, -5), Angle(0,0,0), Color(255, 176, 59), brightness = 2, distance = 200},
|
||||
[11] = { "dynamiclight", Vector( 200, 0, -5), Angle(0,0,0), Color(255, 176, 59), brightness = 3, distance = 260},
|
||||
[12] = { "dynamiclight", Vector( 0, 0, -5), Angle(0,0,0), Color(255, 176, 59), brightness = 3, distance = 260},
|
||||
[13] = { "dynamiclight", Vector(-260, 0, -5), Angle(0,0,0), Color(255, 176, 59), brightness = 3, distance = 260},
|
||||
-- Cabin
|
||||
[23] = { "dynamiclight", Vector(425,0,40), Angle(0,0,0), Color(252, 157, 77), brightness = 0.0007, distance = 600, hidden = "salon3"},
|
||||
|
||||
[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 },
|
||||
[30] = { "light", Vector(465+5,-45, -37), Angle(0,0,0), Color(255,220,180), brightness = 0.2, scale = 1.5, texture = "sprites/light_glow02", size = 2 },
|
||||
[31] = { "light", Vector(465+5, 45, -37), Angle(0,0,0), Color(255,220,180), brightness = 0.2, scale = 1.5, texture = "sprites/light_glow02", size = 2 },
|
||||
[32] = { "light", Vector(465+5, 0 , 48), Angle(0,0,0), Color(255,220,180), brightness = 0.2, scale = 2.5, texture = "sprites/light_glow02", size = 2 },
|
||||
|
||||
Lamps_pult = {"light", Vector(436.5,-55.5,42), Angle(0,0,0),Color(255,220,180),brightness = 0.35,scale = 0.4, texture = "sprites/light_glow02", hidden = "Lamps_pult"},
|
||||
Lamps_cab = {"light", Vector(399,1.2,57.5), Angle(0,0,0),Color(255,220,180),brightness = 0.25,scale = 0.3, texture = "sprites/light_glow02", hidden = "Lamps_cab1"},
|
||||
Lamp_RTM = {"light", Vector(407.801178,-58.29,19.73), Angle(0,0,0),Color(255,180,60),brightness = 0.4,scale = 0.03, texture = "sprites/light_glow02", hidden = "Lamp_RTM"},
|
||||
[22] = { "headlight", Vector(441,-40.0,40.2), Angle(75,-25,0), Color(255,130,88), fov=125, farz=80,brightness = 4,shadows = 1, texture = "models/metrostroi_train/equipment/headlight"},
|
||||
[23] = { "headlight", Vector(441,-55.0,35.2), Angle(0,0,0), Color(255,130,88), fov=125, farz=65,brightness = 6,shadows = 0, texture = "models/metrostroi_train/equipment/headlight"},
|
||||
}
|
||||
function ENT:Initialize()
|
||||
self.BaseClass.Initialize(self)
|
||||
@@ -1224,32 +1184,14 @@ function ENT:Think()
|
||||
end
|
||||
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",self:Animate("lamps_emer1",self:GetPackedBool("Lamps_emer1") and 1 or 0,0,1,5,false))
|
||||
self:ShowHideSmooth("Lamps_cab1",self:Animate("lamps_cab",self:GetPackedBool("Lamps_cab") and 1 or 0,0,1,5,false))
|
||||
self:ShowHideSmooth("Lamps_emer2",self:Animate("lamps_emer2",self:GetPackedBool("Lamps_emer2") and 1 or 0,0,1,5,false))
|
||||
|
||||
self:ShowHideSmooth("Lamps_emer1",emer1)
|
||||
self:ShowHideSmooth("Lamps_cab1",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("Lamps_cab", cab > 0,cab)
|
||||
if not self:GetPackedBool("Lamps_half1") then
|
||||
self:SetLightPower(9,emer1 > 0,emer1*0.2+emer2*0.8)
|
||||
self:SetLightPower(10,emer2 > 0,emer2)
|
||||
self:SetLightPower(11, false)
|
||||
self:SetLightPower(12, false)
|
||||
self:SetLightPower(13, false)
|
||||
else
|
||||
self:SetLightPower(9,false)
|
||||
self:SetLightPower(10,false)
|
||||
self:SetLightPower(11, half1 > 0, half1*0.1+half2*0.9)
|
||||
self:SetLightPower(12, half1 > 0, half1*0.4+half2*0.6)
|
||||
self:SetLightPower(13, half1 > 0, half1*0.9+half2*0.1)
|
||||
end
|
||||
local RedH1 = self.SmoothHide["Lamps_half1"] or 0
|
||||
local RedH2 = self.SmoothHide["Lamps_half2"] or 0
|
||||
self:ShowHideSmooth("Lamps_half1",self:Animate("lamps_half1",self:GetPackedBool("Lamps_half1") and 0.4+Lamps*0.6 or 0,0,1,5,false),Color(255,105+RedH1*150,105+RedH1*150))
|
||||
self:ShowHideSmooth("Lamps_half2",self:Animate("lamps_half2",self:GetPackedBool("Lamps_half2") and 0.4+Lamps*0.6 or 0,0,1,5,false),Color(255,105+RedH2*150,105+RedH2*150))
|
||||
|
||||
self:Animate("UAVALever", self:GetPackedBool("UAVA") and 1 or 0, 0,0.6, 128, 3,false)
|
||||
self:Animate("stopkran", self:GetPackedBool("EmergencyBrakeValve") and 1 or 0, 0,0.25, 256, 3,false)
|
||||
@@ -1264,11 +1206,6 @@ function ENT:Think()
|
||||
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: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)
|
||||
@@ -1276,9 +1213,8 @@ function ENT:Think()
|
||||
|
||||
local PL = HL1*self:Animate("lamps_pult",self:GetPackedBool("PanelLights") and 1 or 0,0,1,12,false)
|
||||
self:ShowHideSmooth("Lamps_pult",PL)
|
||||
self:SetLightPower("Lamps_pult",PL>0,PL)
|
||||
self:SetLightPower(21,PL>0,PL)
|
||||
self:SetLightPower(22,PL>0,PL)
|
||||
self:SetLightPower(22,IsValid(self.ClientEnts.Lamps_pult) and PL>0,PL)
|
||||
self:SetLightPower(23,IsValid(self.ClientEnts.Lamps_pult) and PL>0,PL)
|
||||
|
||||
if IsValid(self.GlowingLights[1]) then
|
||||
if not self:GetPackedBool("HeadLights1") and self.GlowingLights[1]:GetFarZ() ~= 3144 then
|
||||
@@ -1308,7 +1244,12 @@ function ENT:Think()
|
||||
self:Animate("voltmeter", voltage >= 0.7 and voltage-(voltage/12*(voltage-(voltage >= 0.85 and 0.3 or 0.5))) or voltage, 0.62875,0.367,92,2)
|
||||
self:Animate("ampermeter", current<0.49 and current-current/((1-current)*10+current*10) or current, 0.617,0.383, nil, nil, 92,20,3)
|
||||
|
||||
local wheel_radius = 0.5*44.1 -- units
|
||||
local speed = self:GetPackedRatio("Speed")*100
|
||||
local ang_vel = speed/(2*math.pi*wheel_radius+math.random(0,40))
|
||||
|
||||
self.Angle = ((self.Angle or math.random()) + ang_vel*self.DeltaTime*1) % 1.0
|
||||
|
||||
--Speedo swing
|
||||
local vec = -(self:LocalToWorld(Vector(445.7,-56.2,15.7))*self:GetUp()).z
|
||||
local posdelta = math.Clamp((vec-self.OldZPos)*(2+speed/90),-0.4,0.4)
|
||||
@@ -1405,6 +1346,7 @@ function ENT:Think()
|
||||
--self.StreetCoeff = 0
|
||||
local rollingi = math.min(1,self.TunnelCoeff+math.Clamp((self.StreetCoeff-0.82)/0.3,0,1))
|
||||
local rollings = math.max(self.TunnelCoeff*1,self.StreetCoeff)
|
||||
--if self:EntIndex() == 3239 then LocalPlayer():ChatPrint(Format("T: %.2f, S: %.2f",rollingi,rollings)) end
|
||||
-- Brake-related sounds
|
||||
local dT = self.DeltaTime
|
||||
local speed = self:GetPackedRatio("Speed")*100.0
|
||||
@@ -1492,16 +1434,14 @@ function ENT:Think()
|
||||
-- ARS/ringer alert
|
||||
self:SetSoundState("ring_old",self:GetPackedBool("Ring") and 0.4 or 0,0.98)
|
||||
|
||||
local lamps_rtm = self:Animate("lamps_rtm",self:GetPackedBool("VPR") and 1 or 0,0,1,8,false)
|
||||
self:SetLightPower("Lamp_RTM",lamps_rtm > 0,lamps_rtm)
|
||||
self:ShowHideSmooth("Lamp_RTM",lamps_rtm)
|
||||
self:ShowHideSmooth("Lamp_RTM",self:Animate("lamps_rtm",self:GetPackedBool("VPR") and 1 or 0,0,1,8,false))
|
||||
self:SetSoundState("vpr",self:GetPackedBool("VPR") and 1 or 0,1)
|
||||
|
||||
local work = self:GetPackedBool("AnnPlay")
|
||||
local noise = self:GetNW2Int("AnnouncerBuzz",-1) > 0
|
||||
local noise = self:GetNW2Bool("AnnouncerBuzz",false)
|
||||
self.NoiseVolume = self.NoiseVolume or 0
|
||||
self.AnnLamp = self.AnnLamp or 0
|
||||
local noisevolume = 1
|
||||
local noisevolume = 0
|
||||
if self.Sounds["announcer1"] and IsValid(self.Sounds["announcer1"]) then noisevolume = (1-(self.Sounds["announcer1"]:GetLevel())*math.Rand(0.9,3))*1 end
|
||||
if self.NoiseVolume > noisevolume then
|
||||
self.NoiseVolume = math.Clamp(self.NoiseVolume + 8*(noisevolume-self.NoiseVolume)*dT,0.1,1)
|
||||
@@ -1518,18 +1458,14 @@ function ENT:Think()
|
||||
for i=1,2 do
|
||||
self:SetSoundState(Format("announcer_noise%d_%d",i,k),noise and self.NoiseVolume*(v[3] or 1) or 0,1)
|
||||
end
|
||||
if IsValid(self.Sounds["announcer"..k]) then self.Sounds["announcer"..k]:SetVolume(work and (v[3] or 1) or 0) end
|
||||
if self.Sounds["announcer"..k] and IsValid(self.Sounds["announcer"..k]) then self.Sounds["announcer"..k]:SetVolume(work and (v[3] or 1) or 0) end
|
||||
end
|
||||
end
|
||||
|
||||
function ENT:OnAnnouncer(volume)
|
||||
return self:GetPackedBool("AnnPlay") and volume or 0
|
||||
end
|
||||
|
||||
function ENT:Draw()
|
||||
self.BaseClass.Draw(self)
|
||||
end
|
||||
function ENT:DrawPost()
|
||||
function ENT:DrawPost(special)
|
||||
self:DrawOnPanel("AirDistributor",function()
|
||||
draw.DrawText(self:GetNW2Bool("AD") and "Air Distributor ON" or "Air Distributor OFF","Trebuchet24",0,0,Color(0,0,0,255))
|
||||
end)
|
||||
@@ -1583,9 +1519,6 @@ function ENT:OnPlay(soundid,location,range,pitch)
|
||||
self:PlayOnce("brake_b",location,range,pitch)
|
||||
return
|
||||
end
|
||||
if soundid == "UAVAC" then
|
||||
return "uava_reset",location,range,pitch
|
||||
end
|
||||
end
|
||||
return soundid,location,range,pitch
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user