Skip to content

Commit abf14dd

Browse files
committed
Added OtklAVU 703, UKS Em509
1 parent f28a976 commit abf14dd

File tree

19 files changed

+135
-31
lines changed

19 files changed

+135
-31
lines changed

lua/entities/gmod_subway_81-703/cl_init.lua

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,29 @@ ENT.ButtonMap["AVMain"] = {
264264
}
265265
}
266266

267+
ENT.ButtonMap["AVU"] = {
268+
pos = Vector(456.9,-18,35.5),
269+
ang = Angle(0,-95.5,90),
270+
width = 95,
271+
height = 85,
272+
scale = 0.0625,
273+
hideseat = 0.2,
274+
275+
buttons = {
276+
{ ID = "OtklAVUToggle", x=48, y=51, radius=20, tooltip="", model = {
277+
model = "models/metrostroi_train/81-710/ezh3_tumbler_t1.mdl",ang = 180,z=-2,
278+
var="OtklAVU",speed=16,
279+
plomb = {model = "models/metrostroi_train/81/plomb.mdl",ang=270,x=-1,y=24,z=-2,var="OtklAVUPl", ID="OtklAVUPl",},
280+
sndvol = 1, snd = function(val) return val and "switchbl_on" or "switchbl_off" end,
281+
sndmin=30, sndmax = 1e3, sndang = Angle(-90,0,0),
282+
}},
283+
{ID = "!AVULight", x=69, y=51, radius=10, tooltip="", model = {
284+
model = "models/metrostroi_train/81-710/ezh3_slc77.mdl", skin = 3, z = -4,
285+
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),},
286+
sprite = {bright=0.2,size=.5,scale=0.03,z=20,color=Color(210,170,255),},
287+
}},
288+
}
289+
}
267290

268291
---AV1 Panel
269292
ENT.ButtonMap["AV1"] = {

lua/entities/gmod_subway_81-703/init.lua

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ ENT.SyncTable = {
1212
"DriverValveBLDisconnect","DriverValveTLDisconnect","EmergencyBrakeValve",
1313
"GV",
1414
"R_Program1","R_Program2","UAVA","UAVAC",
15+
"OtklAVU",
1516
}
1617
ENT.SyncFunctions = {
1718
""
@@ -22,7 +23,7 @@ function ENT:Initialize()
2223
self.Plombs = {
2324
--RST = true,
2425
Init = true,
25-
--OtklAVU = true,
26+
OtklAVU = true,
2627
UAVA = true,
2728
}
2829
-- Set model and initialize
@@ -272,6 +273,7 @@ function ENT:Think()
272273
self:SetPackedBool("VPR",Panel.VPR > 0)
273274
self:SetPackedBool("Compressor",Pneumatic.Compressor == 1.0)
274275
self:SetPackedBool("RK",(self.RheostatController.Velocity ~= 0.0))
276+
self:SetPackedBool("AVU",Panel.AVU > 0.5)
275277
self:SetPackedBool("Ring",Panel.Ring > 0.5)
276278

277279
self:SetPackedBool("RearDoor",self.RearDoor)

lua/entities/gmod_subway_81-703/shared.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,8 @@ function ENT:InitializeSounds()
9090

9191
self.SoundNames["avu_off"] = "subway_trains/717/relays/lsd_2.mp3"
9292
self.SoundNames["avu_on"] = "subway_trains/717/relays/new/kd_on.mp3"
93-
self.SoundPositions["avu_on"] = {60,1e9, Vector(400,-40,-45),0.5}
94-
self.SoundPositions["avu_off"] = {60,1e9, Vector(400,-40,-45),0.5}
93+
self.SoundPositions["avu_on"] = {60,1e9, Vector(453,-40,-45),0.5}
94+
self.SoundPositions["avu_off"] = {60,1e9, Vector(453,-40,-45),0.5}
9595
--Подвагонка
9696
self.SoundNames["lk2_on"] = "subway_trains/717/pneumo/lk1_on.mp3"
9797
self.SoundNames["lk2_off"] = "subway_trains/717/pneumo/lk2_off.mp3"

lua/entities/gmod_subway_em509/cl_init.lua

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -918,8 +918,22 @@ ENT.ButtonMap["UAVAPanel"] = {
918918
sndmin=30, sndmax = 1e3, sndang = Angle(-90,0,0),
919919
}},
920920
{ID = "UAVACToggle",x=60, y=0, w=120, h=150, tooltip="",var="UAVAC",states={"Train.Buttons.UAVAOff","Train.Buttons.UAVAOn"}},
921-
{ID = "UKSDisconnectToggle",x=60, y=150, w=120, h=50, tooltip="",var="UKSDisconnect",states={"Train.Buttons.Closed","Train.Buttons.Opened"}, model = {
922-
plomb = {var="UAVAPl", ID="UAVAPl",},
921+
}
922+
}
923+
924+
ENT.ButtonMap["UKSPanel"] = {
925+
pos = Vector(403.1,-25,0),
926+
ang = Angle(90,0,0),
927+
width = 100,
928+
height = 100,
929+
scale = 0.0625,
930+
931+
buttons = {
932+
{ID = "UKSDisconnectToggle",x=0, y=0, w=100, h=100, tooltip="", model = {
933+
model = "models/metrostroi_train/81-717/buttons/breaker_common001.mdl",z=15,ang=180,
934+
var="UKSDisconnect",speed=0.5,vmin=1,vmax=0.87,
935+
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),
936+
plomb = {model = "models/metrostroi_train/81/plomb_b.mdl",ang=30,x=28,y=-18,var="UKSDisconnectPl",ID="UKSDisconnectPl",z=-15,},
923937
}},
924938
}
925939
}

lua/metrostroi/systems/sys_81_509_uks.lua

Lines changed: 59 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,35 +7,82 @@
77
Metrostroi.DefineSystem("81_509_UKS")
88

99
function TRAIN_SYSTEM:Initialize(parameters)
10-
self.UKSEngaged = 0
10+
self.UKSLamp = 0
1111
self.UKSTriggered = 0
1212
self.UKSEmerTriggered = 0
13+
self.UKSEmerTriggeredX = false
14+
self.UKSEmerTriggeredT = false
15+
self.UKSEmerTriggeredV = false
16+
self.UKSEmerTriggeredReal = false
1317
self.Train:LoadSystem("UKSDisconnect","Relay","Switch", {bass = true,normally_closed = true})
1418
end
1519

1620
function TRAIN_SYSTEM:Outputs()
17-
return { "UKSEngaged", "UKSTriggered", "UKSEmerTriggered" }
21+
return { "UKSLamp", "UKSTriggered", "UKSEmerTriggered" }
1822
end
1923

2024
function TRAIN_SYSTEM:Think(dT)
2125
local Train = self.Train
22-
self.UKSEngaged = Train.UAVA.Value*Train.UKSDisconnect.Value
23-
if self.UKSEngaged > 0 then
26+
local KV = Train.KV
27+
if Train.Panel.V1*KV["10a-8"]*Train.UAVA.Value*Train.UKSDisconnect.Value > 0 then
2428
local speed = Train.ALSCoil.Speed*Train.ALSCoil.SpeedSign
25-
if speed > 34 then
29+
local KVX = KV["33-10AK"]
30+
local KVTr = KV["U2-6"]
31+
if speed <= -1 or KV["U2-4"] == 1 then
32+
self.UKSEmerTriggered = 1
2633
self.UKSTriggered = 1
27-
if speed > 40 then
34+
self.UKSLamp = 1
35+
elseif speed > 18 then
36+
self.UKSLamp = 1
37+
self.UKSTriggered = 1
38+
if speed > 20 and self.UKSEmerTriggered ~= 1 then
2839
self.UKSEmerTriggered = 1
40+
self.UKSEmerTriggeredReal = true
41+
self.UKSEmerTriggeredX = KVX > 0
42+
self.UKSEmerTriggeredT = KVTr > 0
43+
self.UKSEmerTriggeredV = false
44+
end
45+
elseif speed <= 1 then
46+
if self.UKSEmerTriggered > 0 and KVX > 0 then
47+
if not self.Starting then self.Starting = CurTime() end
48+
elseif KVX == 0 and self.UKSEmerTriggered == 0 then
49+
self.Starting = nil
50+
end
51+
if self.Starting then
52+
if CurTime()-self.Starting > 5 then self.UKSEmerTriggered = 1 self.UKSTriggered = 1 end
53+
end
54+
if self.UKSTriggered > 0 then
55+
self.UKSTriggered = KVX
56+
self.UKSEmerTriggered = KVX
57+
else
58+
self.UKSEmerTriggered = 1-KVX
59+
self.UKSEmerTriggeredReal = false
60+
end
61+
self.UKSLamp = self.UKSEmerTriggered
62+
elseif speed <= 18 and self.UKSEmerTriggered > 0 and self.UKSEmerTriggeredReal and not self.UKSEmerTriggeredX then
63+
self.UKSLamp = 0
64+
if KVTr+KVX == 0 then self.UKSEmerTriggeredV = true end
65+
if self.UKSEmerTriggeredV then
66+
if self.UKSEmerTriggeredT then
67+
self.UKSEmerTriggered = 1-KVTr
68+
else
69+
self.UKSEmerTriggered = 1-KVX
70+
end
71+
self.UKSEmerTriggeredReal = self.UKSEmerTriggered > 0
72+
self.UKSTriggered = self.UKSEmerTriggered
73+
end
74+
elseif speed <= 16 and self.UKSTriggered > 0 and self.UKSEmerTriggered == 0 then
75+
self.UKSTriggered = KVX
76+
self.UKSEmerTriggered = KVX
77+
self.UKSLamp = KVX
78+
else
79+
if self.Starting then
80+
if CurTime()-self.Starting > 5 then self.UKSEmerTriggered = 1 self.UKSTriggered = 1 self.Starting = nil elseif speed > 3 then self.Starting = nil end
2981
end
30-
elseif speed < 31 and self.UKSEmerTriggered == 0 then
31-
self.UKSTriggered = 0
32-
self.UKSEmerTriggered = 0
33-
elseif speed < 1 then
34-
self.UKSTriggered = 0
35-
self.UKSEmerTriggered = 0
3682
end
3783
else
3884
self.UKSTriggered = 0
3985
self.UKSEmerTriggered = 0
86+
self.UKSLamp = 0
4087
end
4188
end

lua/metrostroi/systems/sys_81_703_electric.lua

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,8 @@ function TRAIN_SYSTEM:SolveAllInternalCircuits(Train)
103103
Train:WriteTrainWire(4,S["10AK"]*KV["U2-4"])
104104
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)
105105
--Panel.Sequence = T[2]
106-
Panel.UKS = BO*Train.UKS.UKSEngaged
107-
Panel.UKSb = BO*Train.UKS.UKSTriggered
106+
Panel.UKS = Train.UKS.UKSLamp
107+
Panel.UKSb = Train.UKS.UKSTriggered
108108
if self.RRI> 0 then
109109
local RRI_VV = Train.RRI_VV
110110
RRI_VV.Power = BO*Train["50V"].Value*Train.RRIEnable.Value
@@ -139,7 +139,7 @@ function TRAIN_SYSTEM:SolveAllInternalCircuits(Train)
139139
Train:WriteTrainWire(25,S["U2"]*KV["U2-25"])
140140
Train:WriteTrainWire(20,S["U2"]*KV["U2-20"])
141141
Train:WriteTrainWire(6,S["U2"]*KV["U2-6"])
142-
Train.RV2:TriggerInput("Set",S["10AK"]*KV["10AK-7A"])
142+
Train.RV2:TriggerInput("Set",S["10AK"]*KV["10AK-7A"]*(Train.AVU.Value+Train.OtklAVU.Value))
143143
Train.R1_5:TriggerInput("Set",S["10AK"]*Train.RV2.Value)
144144
Train:WriteTrainWire(17,S["10AK"]*Train.KU9.Value)
145145

@@ -199,7 +199,7 @@ function TRAIN_SYSTEM:SolveAllInternalCircuits(Train)
199199
Train.RV2:TriggerInput("Set",S["10AK"]*KV["33-10AK"]*(Train.AVU.Value+Train.OtklAVU.Value)*Train.UAVAC.Value*(1-Train.UKS.UKSTriggered))
200200
Train.R1_5:TriggerInput("Set",S["10AK"]*Train.RV2.Value)
201201
Train:WriteTrainWire(17,S["10AK"]*Train.KU9.Value)
202-
Train:WriteTrainWire(8,BO*KV["10-8"])
202+
Train:WriteTrainWire(8,BO*(KV["10-8"]+KV["10a-8"]*Train.UKS.UKSEmerTriggered))
203203
Train:WriteTrainWire(44,S["10AK"]*Train.UV1.Value)
204204
end
205205

lua/metrostroi/systems/sys_81_703_panel.lua

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ function TRAIN_SYSTEM:Initialize()
3737

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

40+
self.Train:LoadSystem("OtklAVU","Relay","Switch", {bass = true})
41+
4042
self.Train:LoadSystem("R_UNch","Relay","Switch", {bass = true})
4143
self.Train:LoadSystem("R_ZS","Relay","Switch", {bass = true})
4244
self.Train:LoadSystem("R_G","Relay","Switch", {bass = true})
@@ -67,6 +69,7 @@ function TRAIN_SYSTEM:Initialize()
6769
self.PanelLights = 0
6870

6971
self.Ring = 0
72+
self.AVU = 0
7073

7174
self.VPR = 0
7275

@@ -81,5 +84,5 @@ function TRAIN_SYSTEM:ClientInitialize()
8184
end
8285

8386
function TRAIN_SYSTEM:Outputs()
84-
return { "V1","GRP","RRP","TW18","SD","PP1","PP6","SDW","BrY","Headlights1","Headlights2","RedLights","EmergencyLights2","EmergencyLights1","MainLights1","MainLights2","PanelLights","AnnouncerPlaying","VPR","Ring","CBKIPower","PCBKPower"}
87+
return { "V1","GRP","RRP","TW18","SD","PP1","PP6","SDW","BrY","Headlights1","Headlights2","RedLights","EmergencyLights2","EmergencyLights1","MainLights1","MainLights2","PanelLights","AnnouncerPlaying","VPR","Ring","AVU","CBKIPower","PCBKPower"}
8588
end

lua/metrostroi/systems/sys_81_703_pneumatic.lua

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -383,9 +383,6 @@ function TRAIN_SYSTEM:Think(dT)
383383
self.EmergencyValveDisable=false
384384
self.EmergencyValve=false
385385
end
386-
if Train.UKS and Train.UKS.UKSEmerTriggered > 0 and Train.UKSDisconnect.Value > 0 then
387-
self.EmergencyValve=true
388-
end
389386

390387
self.OldBrakeLinePressure = self.BrakeLinePressure
391388
if self.EmergencyValve then

lua/metrostroi_data/languages/cz_702.lua

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,8 @@ Entities.gmod_subway_81-703.Buttons.RRI.RRIRewindSet2 = @[Common.RRI.R
221221
Entities.gmod_subway_81-703.Buttons.RRI.RRIRewindSet0 = @[Common.RRI.RRIRewindSet0]
222222
Entities.gmod_subway_81-703.Buttons.RRI.RRIAmplifierToggle = @[Common.RRI.RRIAmplifierToggle]
223223
Entities.gmod_subway_81-703.Buttons.RRI.!RRIOn = @[Common.RRI.RRIOn]
224+
Entities.gmod_subway_81-703.Buttons.AVU.OtklAVUToggle = @[Common.ALL.OAVU]
225+
Entities.gmod_subway_81-703.Buttons.AVU.!AVULight = @[Common.ALL.LAVU]
224226
225227
Entities.gmod_subway_81-703.Buttons.Stopkran.EmergencyBrakeValveToggle = @[Common.ALL.EmergencyBrakeValve]
226228
Entities.gmod_subway_81-703.Buttons.ParkingBrake.ParkingBrakeLeft = @[Common.703.ParkingBrakeLeft]

lua/metrostroi_data/languages/de_702.lua

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,8 @@ Entities.gmod_subway_81-703.Buttons.RRI.RRIRewindSet2 = @[Common.RRI.R
190190
Entities.gmod_subway_81-703.Buttons.RRI.RRIRewindSet0 = @[Common.RRI.RRIRewindSet0]
191191
Entities.gmod_subway_81-703.Buttons.RRI.RRIAmplifierToggle = @[Common.RRI.RRIAmplifierToggle]
192192
Entities.gmod_subway_81-703.Buttons.RRI.!RRIOn = @[Common.RRI.RRIOn]
193+
Entities.gmod_subway_81-703.Buttons.AVU.OtklAVUToggle = @[Common.ALL.OAVU]
194+
Entities.gmod_subway_81-703.Buttons.AVU.!AVULight = @[Common.ALL.LAVU]
193195
Entities.gmod_subway_81-703.Buttons.Stopkran.EmergencyBrakeValveToggle = @[Common.ALL.EmergencyBrakeValve]
194196
Entities.gmod_subway_81-703.Buttons.ParkingBrake.ParkingBrakeLeft = @[Common.703.ParkingBrakeLeft]
195197
Entities.gmod_subway_81-703.Buttons.ParkingBrake.ParkingBrakeRight = @[Common.703.ParkingBrakeRight]

0 commit comments

Comments
 (0)