Skip to content
Open

#486 #517

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions lua/entities/gmod_subway_81-703/cl_init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -264,6 +264,29 @@ ENT.ButtonMap["AVMain"] = {
}
}

ENT.ButtonMap["AVU"] = {
pos = Vector(455.35,-19.02,35.5),
ang = Angle(0,-95.5,90),
width = 95,
height = 85,
scale = 0.0625,
hideseat = 0.2,

buttons = {
{ ID = "OtklAVUToggle", x=48, y=51, radius=20, tooltip="", model = {
model = "models/metrostroi_train/81-710/ezh3_tumbler_t1.mdl",ang = 180,z=-2,
var="OtklAVU",speed=16,
plomb = {model = "models/metrostroi_train/81/plomb.mdl",ang=270,x=-1,y=24,z=-2,var="OtklAVUPl", ID="OtklAVUPl",},
sndvol = 1, snd = function(val) return val and "switchbl_on" or "switchbl_off" end,
sndmin=30, sndmax = 1e3, sndang = Angle(-90,0,0),
}},
{ID = "!AVULight", x=69, y=51, radius=10, tooltip="", model = {
model = "models/metrostroi_train/81-710/ezh3_slc77.mdl", skin = 3, z = -4,
lamp = {model = "models/metrostroi_train/81-717/buttons/slc_77_lamp.mdl",ang=62,x=-0.3,y=-0.3,z=20.6,var="AVU",color=Color(210,170,255),},
sprite = {bright=0.2,size=.5,scale=0.03,z=20,color=Color(210,170,255),},
}},
}
}

---AV1 Panel
ENT.ButtonMap["AV1"] = {
Expand Down Expand Up @@ -613,6 +636,23 @@ ENT.ButtonMap["UAVAPanel"] = {
}
}

ENT.ButtonMap["UKSPanel"] = {
pos = Vector(397.9,-25,4),
ang = Angle(90,0,0),
width = 100,
height = 100,
scale = 0.0625,

buttons = {
{ID = "UKSDisconnectToggle",x=0, y=0, w=100, h=100, tooltip="", model = {
model = "models/metrostroi_train/81-717/buttons/breaker_common001.mdl",z=15,ang=180,
var="UKSDisconnect",speed=0.5,vmin=1,vmax=0.87,
sndvol = 0.8,snd = function(val) return val and "pak_on" or "pak_off" end,sndmin = 80,sndmax = 1e3/3,sndang = Angle(-90,0,0),
plomb = {model = "models/metrostroi_train/81/plomb_b.mdl",ang=30,x=28,y=-18,var="UKSDisconnectPl",ID="UKSDisconnectPl",z=-15,},
}},
}
}

for i=0,3 do
ENT.ClientProps["TrainNumberL"..i] = {
model = "models/metrostroi_train/common/bort_numbers.mdl",
Expand Down
6 changes: 5 additions & 1 deletion lua/entities/gmod_subway_81-703/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ ENT.SyncTable = {
"DriverValveBLDisconnect","DriverValveTLDisconnect","EmergencyBrakeValve",
"GV",
"R_Program1","R_Program2","UAVA","UAVAC",
"OtklAVU",
"UKSDisconnect",
}
ENT.SyncFunctions = {
""
Expand All @@ -22,8 +24,9 @@ function ENT:Initialize()
self.Plombs = {
--RST = true,
Init = true,
--OtklAVU = true,
OtklAVU = true,
UAVA = true,
UKSDisconnect = true,
}
-- Set model and initialize
self:SetModel("models/metrostroi_train/81-703/81-703.mdl")
Expand Down Expand Up @@ -272,6 +275,7 @@ function ENT:Think()
self:SetPackedBool("VPR",Panel.VPR > 0)
self:SetPackedBool("Compressor",Pneumatic.Compressor == 1.0)
self:SetPackedBool("RK",(self.RheostatController.Velocity ~= 0.0))
self:SetPackedBool("AVU",Panel.AVU > 0.5)
self:SetPackedBool("Ring",Panel.Ring > 0.5)

self:SetPackedBool("RearDoor",self.RearDoor)
Expand Down
5 changes: 3 additions & 2 deletions lua/entities/gmod_subway_81-703/shared.lua
Original file line number Diff line number Diff line change
Expand Up @@ -90,8 +90,8 @@ function ENT:InitializeSounds()

self.SoundNames["avu_off"] = "subway_trains/717/relays/lsd_2.mp3"
self.SoundNames["avu_on"] = "subway_trains/717/relays/new/kd_on.mp3"
self.SoundPositions["avu_on"] = {60,1e9, Vector(400,-40,-45),0.5}
self.SoundPositions["avu_off"] = {60,1e9, Vector(400,-40,-45),0.5}
self.SoundPositions["avu_on"] = {60,1e9, Vector(453,-40,-45),0.5}
self.SoundPositions["avu_off"] = {60,1e9, Vector(453,-40,-45),0.5}
--Подвагонка
self.SoundNames["lk2_on"] = "subway_trains/717/pneumo/lk1_on.mp3"
self.SoundNames["lk2_off"] = "subway_trains/717/pneumo/lk2_off.mp3"
Expand Down Expand Up @@ -560,6 +560,7 @@ function ENT:InitializeSystems()
self:LoadSystem("LastStation","81_71_LastStation","710","door1")

self:LoadSystem("ALSCoil")
self:LoadSystem("UKS","UKS_20M")
end
function ENT:PostInitializeSystems()
self.Electric:TriggerInput("Type",self.Electric.E)
Expand Down
18 changes: 16 additions & 2 deletions lua/entities/gmod_subway_em509/cl_init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -918,8 +918,22 @@ ENT.ButtonMap["UAVAPanel"] = {
sndmin=30, sndmax = 1e3, sndang = Angle(-90,0,0),
}},
{ID = "UAVACToggle",x=60, y=0, w=120, h=150, tooltip="",var="UAVAC",states={"Train.Buttons.UAVAOff","Train.Buttons.UAVAOn"}},
{ID = "UKSDisconnectToggle",x=60, y=150, w=120, h=50, tooltip="",var="UKSDisconnect",states={"Train.Buttons.Closed","Train.Buttons.Opened"}, model = {
plomb = {var="UAVAPl", ID="UAVAPl",},
}
}

ENT.ButtonMap["UKSPanel"] = {
pos = Vector(403.1,-25,0),
ang = Angle(90,0,0),
width = 100,
height = 100,
scale = 0.0625,

buttons = {
{ID = "UKSDisconnectToggle",x=0, y=0, w=100, h=100, tooltip="", model = {
model = "models/metrostroi_train/81-717/buttons/breaker_common001.mdl",z=15,ang=180,
var="UKSDisconnect",speed=0.5,vmin=1,vmax=0.87,
sndvol = 0.8,snd = function(val) return val and "pak_on" or "pak_off" end,sndmin = 80,sndmax = 1e3/3,sndang = Angle(-90,0,0),
plomb = {model = "models/metrostroi_train/81/plomb_b.mdl",ang=30,x=28,y=-18,var="UKSDisconnectPl",ID="UKSDisconnectPl",z=-15,},
}},
}
}
Expand Down
2 changes: 1 addition & 1 deletion lua/entities/gmod_subway_em509/shared.lua
Original file line number Diff line number Diff line change
Expand Up @@ -587,7 +587,7 @@ function ENT:InitializeSystems()
self:LoadSystem("IGLA_PCBK")

self:LoadSystem("ALSCoil")
self:LoadSystem("UKS","81_509_UKS")
self:LoadSystem("UKS","UKS_20M")
end
function ENT:PostInitializeSystems()
self.Electric:TriggerInput("Type",self.Electric.Em)
Expand Down
41 changes: 0 additions & 41 deletions lua/metrostroi/systems/sys_81_509_uks.lua

This file was deleted.

12 changes: 6 additions & 6 deletions lua/metrostroi/systems/sys_81_703_electric.lua
Original file line number Diff line number Diff line change
Expand Up @@ -103,8 +103,8 @@ function TRAIN_SYSTEM:SolveAllInternalCircuits(Train)
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)
--Panel.Sequence = T[2]
Panel.UKS = BO*Train.UKS.UKSEngaged
Panel.UKSb = BO*Train.UKS.UKSTriggered
Panel.UKS = Train.UKS.UKSLamp
Panel.UKSb = Train.UKS.UKSTriggered
if self.RRI> 0 then
local RRI_VV = Train.RRI_VV
RRI_VV.Power = BO*Train["50V"].Value*Train.RRIEnable.Value
Expand Down Expand Up @@ -132,18 +132,18 @@ function TRAIN_SYSTEM:SolveAllInternalCircuits(Train)
Panel.AnnouncerPlaying = T[13]
Train:WriteTrainWire(24,S["U2"]*Train.KU8.Value)
if isE then
Train:WriteTrainWire(14,BO*KV["10-14B"]*KV["14-14B"])
Train:WriteTrainWire(14,BO*KV["10-14B"]*KV["14-14B"]*(1-Train.UKS.UKSEmerTriggered))
Train:WriteTrainWire(1,S["10AK"]*Train.R1_5.Value)
Train:WriteTrainWire(2,S["U2"]*KV["U2-2"])
Train:WriteTrainWire(3,S["U2"]*KV["U2-3"])
Train:WriteTrainWire(25,S["U2"]*KV["U2-25"])
Train:WriteTrainWire(20,S["U2"]*KV["U2-20"])
Train:WriteTrainWire(6,S["U2"]*KV["U2-6"])
Train.RV2:TriggerInput("Set",S["10AK"]*KV["10AK-7A"])
Train.RV2:TriggerInput("Set",S["10AK"]*KV["10AK-7A"]*(Train.AVU.Value+Train.OtklAVU.Value)*(1-Train.UKS.UKSTriggered))
Train.R1_5:TriggerInput("Set",S["10AK"]*Train.RV2.Value)
Train:WriteTrainWire(17,S["10AK"]*Train.KU9.Value)

Train:WriteTrainWire(8,BO*KV["10-8"])
Train:WriteTrainWire(8,BO*(KV["10-8"]+KV["10-14B"]*Train.UKS.UKSEmerTriggered))
elseif isEzh then
S["10a"] = BO*KV["10a-8"]
ARS.ALS = S["10a"]*Train.ALS.Value*RC
Expand Down Expand Up @@ -199,7 +199,7 @@ function TRAIN_SYSTEM:SolveAllInternalCircuits(Train)
Train.RV2:TriggerInput("Set",S["10AK"]*KV["33-10AK"]*(Train.AVU.Value+Train.OtklAVU.Value)*Train.UAVAC.Value*(1-Train.UKS.UKSTriggered))
Train.R1_5:TriggerInput("Set",S["10AK"]*Train.RV2.Value)
Train:WriteTrainWire(17,S["10AK"]*Train.KU9.Value)
Train:WriteTrainWire(8,BO*KV["10-8"])
Train:WriteTrainWire(8,BO*(KV["10-8"]+KV["10a-8"]*Train.UKS.UKSEmerTriggered))
Train:WriteTrainWire(44,S["10AK"]*Train.UV1.Value)
end

Expand Down
5 changes: 4 additions & 1 deletion lua/metrostroi/systems/sys_81_703_panel.lua
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ function TRAIN_SYSTEM:Initialize()

self.Train:LoadSystem("RCU","Relay","Switch", {bass = true})

self.Train:LoadSystem("OtklAVU","Relay","Switch", {bass = true})

self.Train:LoadSystem("R_UNch","Relay","Switch", {bass = true})
self.Train:LoadSystem("R_ZS","Relay","Switch", {bass = true})
self.Train:LoadSystem("R_G","Relay","Switch", {bass = true})
Expand Down Expand Up @@ -67,6 +69,7 @@ function TRAIN_SYSTEM:Initialize()
self.PanelLights = 0

self.Ring = 0
self.AVU = 0

self.VPR = 0

Expand All @@ -81,5 +84,5 @@ function TRAIN_SYSTEM:ClientInitialize()
end

function TRAIN_SYSTEM:Outputs()
return { "V1","GRP","RRP","TW18","SD","PP1","PP6","SDW","BrY","Headlights1","Headlights2","RedLights","EmergencyLights2","EmergencyLights1","MainLights1","MainLights2","PanelLights","AnnouncerPlaying","VPR","Ring","CBKIPower","PCBKPower"}
return { "V1","GRP","RRP","TW18","SD","PP1","PP6","SDW","BrY","Headlights1","Headlights2","RedLights","EmergencyLights2","EmergencyLights1","MainLights1","MainLights2","PanelLights","AnnouncerPlaying","VPR","Ring","AVU","CBKIPower","PCBKPower"}
end
3 changes: 0 additions & 3 deletions lua/metrostroi/systems/sys_81_703_pneumatic.lua
Original file line number Diff line number Diff line change
Expand Up @@ -383,9 +383,6 @@ function TRAIN_SYSTEM:Think(dT)
self.EmergencyValveDisable=false
self.EmergencyValve=false
end
if Train.UKS and Train.UKS.UKSEmerTriggered > 0 and Train.UKSDisconnect.Value > 0 then
self.EmergencyValve=true
end

self.OldBrakeLinePressure = self.BrakeLinePressure
if self.EmergencyValve then
Expand Down
88 changes: 88 additions & 0 deletions lua/metrostroi/systems/sys_uks_20m.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
--------------------------------------------------------------------------------
-- UKS system
--------------------------------------------------------------------------------
-- Copyright (C) 2013-2018 Metrostroi Team & FoxWorks Aerospace s.r.o.
-- Contains proprietary code. See license.txt for additional information.
--------------------------------------------------------------------------------
Metrostroi.DefineSystem("UKS_20M")

function TRAIN_SYSTEM:Initialize(parameters)
self.UKSLamp = 0
self.UKSTriggered = 0
self.UKSEmerTriggered = 0
self.UKSEmerTriggeredX = false
self.UKSEmerTriggeredT = false
self.UKSEmerTriggeredV = false
self.UKSEmerTriggeredReal = false
self.Train:LoadSystem("UKSDisconnect","Relay","Switch", {bass = true,normally_closed = true})
end

function TRAIN_SYSTEM:Outputs()
return { "UKSLamp", "UKSTriggered", "UKSEmerTriggered" }
end

function TRAIN_SYSTEM:Think(dT)
local Train = self.Train
local KV = Train.KV
if Train.Panel.V1*(KV["10a-8"] or KV["10-14B"])*Train.UAVA.Value*Train.UKSDisconnect.Value > 0 then
local speed = Train.ALSCoil.Speed*Train.ALSCoil.SpeedSign
local KVX = KV["33-10AK"] or KV["10AK-7A"]
local KVTr = KV["U2-6"]
if speed <= -1 or KV["U2-4"] == 1 then
self.UKSEmerTriggered = 1
self.UKSTriggered = 1
self.UKSLamp = 1
elseif speed > 18 then
self.UKSLamp = 1
self.UKSTriggered = 1
if speed > 20 and self.UKSEmerTriggered ~= 1 then
self.UKSEmerTriggered = 1
self.UKSEmerTriggeredReal = true
self.UKSEmerTriggeredX = KVX > 0
self.UKSEmerTriggeredT = KVTr > 0
self.UKSEmerTriggeredV = false
end
elseif speed <= 1 then
if self.UKSEmerTriggered > 0 and KVX > 0 then
if not self.Starting then self.Starting = CurTime() end
elseif KVX == 0 and self.UKSEmerTriggered == 0 then
self.Starting = nil
end
if self.Starting then
if CurTime()-self.Starting > 5 then self.UKSEmerTriggered = 1 self.UKSTriggered = 1 end
end
if self.UKSTriggered > 0 then
self.UKSTriggered = KVX
self.UKSEmerTriggered = KVX
else
self.UKSEmerTriggered = 1-KVX
self.UKSEmerTriggeredReal = false
end
self.UKSLamp = self.UKSEmerTriggered
elseif speed <= 18 and self.UKSEmerTriggered > 0 and self.UKSEmerTriggeredReal and not self.UKSEmerTriggeredX then
self.UKSLamp = 0
if KVTr+KVX == 0 then self.UKSEmerTriggeredV = true end
if self.UKSEmerTriggeredV then
if self.UKSEmerTriggeredT then
self.UKSEmerTriggered = 1-KVTr
else
self.UKSEmerTriggered = 1-KVX
end
self.UKSEmerTriggeredReal = self.UKSEmerTriggered > 0
self.UKSTriggered = self.UKSEmerTriggered
end
elseif speed <= 16 and self.UKSTriggered > 0 and self.UKSEmerTriggered == 0 then
self.UKSTriggered = KVX
self.UKSEmerTriggered = KVX
self.UKSLamp = KVX
else
if self.Starting then
if CurTime()-self.Starting > 5 then self.UKSEmerTriggered = 1 self.UKSTriggered = 1 self.Starting = nil elseif speed > 3 then self.Starting = nil end
end
end
else
self.UKSTriggered = 0
self.UKSEmerTriggered = 0
self.UKSLamp = 0
end
end
2 changes: 2 additions & 0 deletions lua/metrostroi_data/languages/cz_702.lua
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,8 @@ Entities.gmod_subway_81-703.Buttons.RRI.RRIRewindSet2 = @[Common.RRI.R
Entities.gmod_subway_81-703.Buttons.RRI.RRIRewindSet0 = @[Common.RRI.RRIRewindSet0]
Entities.gmod_subway_81-703.Buttons.RRI.RRIAmplifierToggle = @[Common.RRI.RRIAmplifierToggle]
Entities.gmod_subway_81-703.Buttons.RRI.!RRIOn = @[Common.RRI.RRIOn]
Entities.gmod_subway_81-703.Buttons.AVU.OtklAVUToggle = @[Common.ALL.OAVU]
Entities.gmod_subway_81-703.Buttons.AVU.!AVULight = @[Common.ALL.LAVU]

Entities.gmod_subway_81-703.Buttons.Stopkran.EmergencyBrakeValveToggle = @[Common.ALL.EmergencyBrakeValve]
Entities.gmod_subway_81-703.Buttons.ParkingBrake.ParkingBrakeLeft = @[Common.703.ParkingBrakeLeft]
Expand Down
2 changes: 2 additions & 0 deletions lua/metrostroi_data/languages/de_702.lua
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,8 @@ Entities.gmod_subway_81-703.Buttons.RRI.RRIRewindSet2 = @[Common.RRI.R
Entities.gmod_subway_81-703.Buttons.RRI.RRIRewindSet0 = @[Common.RRI.RRIRewindSet0]
Entities.gmod_subway_81-703.Buttons.RRI.RRIAmplifierToggle = @[Common.RRI.RRIAmplifierToggle]
Entities.gmod_subway_81-703.Buttons.RRI.!RRIOn = @[Common.RRI.RRIOn]
Entities.gmod_subway_81-703.Buttons.AVU.OtklAVUToggle = @[Common.ALL.OAVU]
Entities.gmod_subway_81-703.Buttons.AVU.!AVULight = @[Common.ALL.LAVU]
Entities.gmod_subway_81-703.Buttons.Stopkran.EmergencyBrakeValveToggle = @[Common.ALL.EmergencyBrakeValve]
Entities.gmod_subway_81-703.Buttons.ParkingBrake.ParkingBrakeLeft = @[Common.703.ParkingBrakeLeft]
Entities.gmod_subway_81-703.Buttons.ParkingBrake.ParkingBrakeRight = @[Common.703.ParkingBrakeRight]
Expand Down
6 changes: 3 additions & 3 deletions lua/metrostroi_data/languages/en_509.lua
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ return [[
#######Buttons###########
#Common
Common.509.50V = +50V: Additional consumers
Common.509.UKS = Speed limiter active
Common.509.UKSDisconnect = Speed limiter disable valve
Common.509.UKS = UKS work (Speed limiter active)
Common.509.UKSDisconnect = RC-UKS (Speed limiter disconnect)
Common.509.Heaters = Passenger compartment heater


Expand Down Expand Up @@ -99,7 +99,7 @@ Entities.gmod_subway_em509.Buttons.ParkingBrake.ParkingBrakeLeft
Entities.gmod_subway_em509.Buttons.ParkingBrake.ParkingBrakeRight = @[Common.703.ParkingBrakeRight]
Entities.gmod_subway_em509.Buttons.UAVAPanel.UAVAToggle = @[Common.ALL.UAVA]
Entities.gmod_subway_em509.Buttons.UAVAPanel.UAVACToggle = @[Common.ALL.UAVAContact]
Entities.gmod_subway_em509.Buttons.UAVAPanel.UKSDisconnectToggle = @[Common.509.UKSDisconnect]
Entities.gmod_subway_em509.Buttons.UKSPanel.UKSDisconnectToggle = @[Common.509.UKSDisconnect]
Entities.gmod_subway_em509.Buttons.DriverValveBLDisconnect.DriverValveBLDisconnectToggle = @[Common.ALL.DriverValveBLDisconnect]
Entities.gmod_subway_em509.Buttons.DriverValveTLDisconnect.DriverValveTLDisconnectToggle = @[Common.ALL.DriverValveTLDisconnect]
Entities.gmod_subway_em509.Buttons.EPKDisconnect.EPKToggle = @[Common.ALL.EPK]
Expand Down
3 changes: 3 additions & 0 deletions lua/metrostroi_data/languages/en_702.lua
Original file line number Diff line number Diff line change
Expand Up @@ -221,12 +221,15 @@ Entities.gmod_subway_81-703.Buttons.RRI.RRIRewindSet2 = @[Common.RRI.R
Entities.gmod_subway_81-703.Buttons.RRI.RRIRewindSet0 = @[Common.RRI.RRIRewindSet0]
Entities.gmod_subway_81-703.Buttons.RRI.RRIAmplifierToggle = @[Common.RRI.RRIAmplifierToggle]
Entities.gmod_subway_81-703.Buttons.RRI.!RRIOn = @[Common.RRI.RRIOn]
Entities.gmod_subway_81-703.Buttons.AVU.OtklAVUToggle = @[Common.ALL.OAVU]
Entities.gmod_subway_81-703.Buttons.AVU.!AVULight = @[Common.ALL.LAVU]

Entities.gmod_subway_81-703.Buttons.Stopkran.EmergencyBrakeValveToggle = @[Common.ALL.EmergencyBrakeValve]
Entities.gmod_subway_81-703.Buttons.ParkingBrake.ParkingBrakeLeft = @[Common.703.ParkingBrakeLeft]
Entities.gmod_subway_81-703.Buttons.ParkingBrake.ParkingBrakeRight = @[Common.703.ParkingBrakeRight]
Entities.gmod_subway_81-703.Buttons.UAVAPanel.UAVAToggle = @[Common.ALL.UAVA]
Entities.gmod_subway_81-703.Buttons.UAVAPanel.UAVACToggle = @[Common.ALL.UAVAContact]
Entities.gmod_subway_81-703.Buttons.UKSPanel.UKSDisconnectToggle = @[Common.509.UKSDisconnect]
Entities.gmod_subway_81-703.Buttons.DriverValveBLDisconnect.DriverValveBLDisconnectToggle = @[Common.ALL.DriverValveBLDisconnect]
Entities.gmod_subway_81-703.Buttons.DriverValveTLDisconnect.DriverValveTLDisconnectToggle = @[Common.ALL.DriverValveTLDisconnect]
Entities.gmod_subway_81-703.Buttons.FrontPneumatic.FrontBrakeLineIsolationToggle = @[Common.ALL.FrontBrakeLineIsolationToggle]
Expand Down
Loading