mirror of
https://github.com/metrostroi-repo/MetrostroiAddon.git
synced 2026-05-02 00:42:29 +00:00
Правильные положения КМ № 013 и 334, разобщительных кранов и дверей при спавне
This commit is contained in:
@@ -680,7 +680,7 @@ function ENT:Think()
|
|||||||
else
|
else
|
||||||
self:SetPackedRatio("BLPressure", self.Pneumatic.BrakeLinePressure/16.0)
|
self:SetPackedRatio("BLPressure", self.Pneumatic.BrakeLinePressure/16.0)
|
||||||
end
|
end
|
||||||
self:SetPackedRatio("TLPressure", self.Pneumatic.TrainLinePressure/16.0)
|
self:SetPackedRatio("TLPressure", self.Pneumatic.AuxiliaryLinePressure/16.0)
|
||||||
self:SetPackedRatio("BCPressure", self.Pneumatic.BrakeCylinderPressure/6.0)
|
self:SetPackedRatio("BCPressure", self.Pneumatic.BrakeCylinderPressure/6.0)
|
||||||
self:SetPackedRatio("EnginesVoltage", self.Electric.Aux750V/1000.0)
|
self:SetPackedRatio("EnginesVoltage", self.Electric.Aux750V/1000.0)
|
||||||
self:SetPackedRatio("EnginesCurrent2", 0.5 + 0.5*(self.Electric.I13/500.0))
|
self:SetPackedRatio("EnginesCurrent2", 0.5 + 0.5*(self.Electric.I13/500.0))
|
||||||
|
|||||||
@@ -992,7 +992,7 @@ ENT.Spawner = {
|
|||||||
if ent._SpawnerStarted~=val then
|
if ent._SpawnerStarted~=val then
|
||||||
ent.VB:TriggerInput("Set",val<=2 and 1 or 0)
|
ent.VB:TriggerInput("Set",val<=2 and 1 or 0)
|
||||||
ent.ParkingBrake:TriggerInput("Set",val==3 and 1 or 0)
|
ent.ParkingBrake:TriggerInput("Set",val==3 and 1 or 0)
|
||||||
if ent.AR63 then
|
if ent.AR63 then
|
||||||
local first = i==1 or _LastSpawner~=CurTime()
|
local first = i==1 or _LastSpawner~=CurTime()
|
||||||
ent.OhrSig:TriggerInput("Set",val<4 and 1 or 0)
|
ent.OhrSig:TriggerInput("Set",val<4 and 1 or 0)
|
||||||
ent.A53:TriggerInput("Set",val<=3 and 1 or 0)
|
ent.A53:TriggerInput("Set",val<=3 and 1 or 0)
|
||||||
@@ -1018,6 +1018,16 @@ ENT.Spawner = {
|
|||||||
ent.L_3:TriggerInput("Set",val==1 and 1 or 0)
|
ent.L_3:TriggerInput("Set",val==1 and 1 or 0)
|
||||||
ent.L_4:TriggerInput("Set",val==1 and 1 or 0)
|
ent.L_4:TriggerInput("Set",val==1 and 1 or 0)
|
||||||
ent.EPK:TriggerInput("Set",(ent.Plombs.RC1 and val==1) and 1 or 0)
|
ent.EPK:TriggerInput("Set",(ent.Plombs.RC1 and val==1) and 1 or 0)
|
||||||
|
timer.Simple(1,function()
|
||||||
|
if ent:GetNW2Int("Crane") == 1 then--ent.Pneumatic.ValveType == 2 then
|
||||||
|
ent.DriverValveDisconnect:TriggerInput("Set",(val==4 and first) and 1 or 0)
|
||||||
|
ent.Pneumatic:TriggerInput("BrakeSet",(val~=2) and (not first and 7 or 2) or 7)
|
||||||
|
else
|
||||||
|
ent.DriverValveBLDisconnect:TriggerInput("Set",(val==4 and first) and 1 or 0)
|
||||||
|
ent.DriverValveTLDisconnect:TriggerInput("Set",(val==4 and first) and 1 or 0)
|
||||||
|
ent.Pneumatic:TriggerInput("BrakeSet",(val==4 and first) and 2 or 1)
|
||||||
|
end
|
||||||
|
end)
|
||||||
_LastSpawner=CurTime()
|
_LastSpawner=CurTime()
|
||||||
ent.CabinDoor = val==4 and first
|
ent.CabinDoor = val==4 and first
|
||||||
ent.PassengerDoor = val==4
|
ent.PassengerDoor = val==4
|
||||||
|
|||||||
@@ -64,11 +64,12 @@ ENT.Spawner = {
|
|||||||
if ent._SpawnerStarted~=val then
|
if ent._SpawnerStarted~=val then
|
||||||
ent.VB:TriggerInput("Set",val<=2 and 1 or 0)
|
ent.VB:TriggerInput("Set",val<=2 and 1 or 0)
|
||||||
ent.ParkingBrake:TriggerInput("Set",val==3 and 1 or 0)
|
ent.ParkingBrake:TriggerInput("Set",val==3 and 1 or 0)
|
||||||
if ent.AR63 then
|
if ent.AR63 then
|
||||||
local first = i==1 or _LastSpawner~=CurTime()
|
local first = i==1 or _LastSpawner~=CurTime()
|
||||||
ent.OhrSig:TriggerInput("Set",val<4 and 1 or 0)
|
ent.OhrSig:TriggerInput("Set",val<4 and 1 or 0)
|
||||||
ent.A53:TriggerInput("Set",val<=3 and 1 or 0)
|
ent.A53:TriggerInput("Set",val<=3 and 1 or 0)
|
||||||
ent.AR63:TriggerInput("Set",val<=2 and 1 or 0)
|
ent.AR63:TriggerInput("Set",val<=2 and 1 or 0)
|
||||||
|
--ent.A75:TriggerInput("Set",0)
|
||||||
ent.R_UNch:TriggerInput("Set",val==1 and 1 or 0)
|
ent.R_UNch:TriggerInput("Set",val==1 and 1 or 0)
|
||||||
ent.R_UPO:TriggerInput("Set",val<=2 and 1 or 0)
|
ent.R_UPO:TriggerInput("Set",val<=2 and 1 or 0)
|
||||||
if ent.Plombs.RC1 and val<=2 then
|
if ent.Plombs.RC1 and val<=2 then
|
||||||
@@ -90,6 +91,16 @@ ENT.Spawner = {
|
|||||||
ent.L_3:TriggerInput("Set",val==1 and 1 or 0)
|
ent.L_3:TriggerInput("Set",val==1 and 1 or 0)
|
||||||
ent.L_4:TriggerInput("Set",val==1 and 1 or 0)
|
ent.L_4:TriggerInput("Set",val==1 and 1 or 0)
|
||||||
ent.EPK:TriggerInput("Set",(ent.Plombs.RC1 and val==1) and 1 or 0)
|
ent.EPK:TriggerInput("Set",(ent.Plombs.RC1 and val==1) and 1 or 0)
|
||||||
|
timer.Simple(1,function()
|
||||||
|
if ent:GetNW2Int("Crane") == 1 then--ent.Pneumatic.ValveType == 2 then
|
||||||
|
ent.DriverValveDisconnect:TriggerInput("Set",(val==4 and first) and 1 or 0)
|
||||||
|
ent.Pneumatic:TriggerInput("BrakeSet",(val~=2) and (not first and 7 or 2) or 7)
|
||||||
|
else
|
||||||
|
ent.DriverValveBLDisconnect:TriggerInput("Set",(val==4 and first) and 1 or 0)
|
||||||
|
ent.DriverValveTLDisconnect:TriggerInput("Set",(val==4 and first) and 1 or 0)
|
||||||
|
ent.Pneumatic:TriggerInput("BrakeSet",(val==4 and first) and 2 or 1)
|
||||||
|
end
|
||||||
|
end)
|
||||||
_LastSpawner=CurTime()
|
_LastSpawner=CurTime()
|
||||||
ent.CabinDoor = val==4 and first
|
ent.CabinDoor = val==4 and first
|
||||||
ent.PassengerDoor = val==4
|
ent.PassengerDoor = val==4
|
||||||
@@ -107,7 +118,10 @@ ENT.Spawner = {
|
|||||||
ent.GV:TriggerInput("Set",val<4 and 1 or 0)
|
ent.GV:TriggerInput("Set",val<4 and 1 or 0)
|
||||||
ent._SpawnerStarted = val
|
ent._SpawnerStarted = val
|
||||||
end
|
end
|
||||||
|
--ent.Pneumatic.TrainLinePressure = val==3 and math.random()*4 or val==2 and 4.5+math.random()*3 or 7.6+math.random()*0.6
|
||||||
|
--if val==4 then ent.Pneumatic.BrakeLinePressure = 5.2 end
|
||||||
ent.Pneumatic.TrainLinePressure = val==3 and math.random()*4 or val==2 and 4.5+math.random()*3 or 7.6+math.random()*0.6
|
ent.Pneumatic.TrainLinePressure = val==3 and math.random()*4 or val==2 and 4.5+math.random()*3 or 7.6+math.random()*0.6
|
||||||
if val==4 then ent.Pneumatic.BrakeLinePressure = 5.2 end
|
ent.Pneumatic.BrakeLinePressure = val == 4 and 5.2 or val == 1 and 2.3 or math.min(ent.Pneumatic.TrainLinePressure+0.25,math.random()*4)
|
||||||
|
ent.Pneumatic.WorkingChamberPressure = val==3 and math.random()*1.0 or val==2 and 4.0+math.random()*1.0 or 5.2
|
||||||
end},
|
end},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -965,9 +965,10 @@ ENT.Spawner = {
|
|||||||
ent.ParkingBrake:TriggerInput("Set",val==3 and 1 or 0)
|
ent.ParkingBrake:TriggerInput("Set",val==3 and 1 or 0)
|
||||||
if ent.AR63 then
|
if ent.AR63 then
|
||||||
local first = i==1 or _LastSpawner~=CurTime()
|
local first = i==1 or _LastSpawner~=CurTime()
|
||||||
ent.A53:TriggerInput("Set",val<=2 and 1 or 0)
|
ent.A53:TriggerInput("Set",val<=3 and 1 or 0)
|
||||||
ent.A49:TriggerInput("Set",val<=2 and 1 or 0)
|
ent.A49:TriggerInput("Set",val<=2 and 1 or 0)
|
||||||
ent.AR63:TriggerInput("Set",val<=2 and 1 or 0)
|
ent.AR63:TriggerInput("Set",val<=2 and 1 or 0)
|
||||||
|
ent.A75:TriggerInput("Set",0)
|
||||||
ent.R_UNch:TriggerInput("Set",val==1 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_Radio:TriggerInput("Set",val==1 and 1 or 0)
|
||||||
ent.BPSNon:TriggerInput("Set",(val==1 and first) and 1 or 0)
|
ent.BPSNon:TriggerInput("Set",(val==1 and first) and 1 or 0)
|
||||||
@@ -978,7 +979,16 @@ ENT.Spawner = {
|
|||||||
ent.L_3:TriggerInput("Set",val==1 and 1 or 0)
|
ent.L_3:TriggerInput("Set",val==1 and 1 or 0)
|
||||||
ent.L_4:TriggerInput("Set",val==1 and 1 or 0)
|
ent.L_4:TriggerInput("Set",val==1 and 1 or 0)
|
||||||
ent.EPK:TriggerInput("Set",(ent.Plombs.RC1 and val==1) and 1 or 0)
|
ent.EPK:TriggerInput("Set",(ent.Plombs.RC1 and val==1) and 1 or 0)
|
||||||
ent.DriverValveDisconnect:TriggerInput("Set",(val==4 and first) and 1 or 0)
|
timer.Simple(1,function()
|
||||||
|
if ent:GetNW2Int("Crane") == 2 then--ent.Pneumatic.ValveType == 2 then
|
||||||
|
ent.DriverValveDisconnect:TriggerInput("Set",(val==4 and first) and 1 or 0)
|
||||||
|
ent.Pneumatic:TriggerInput("BrakeSet",(val~=2) and (not first and 6 or 2) or 6)
|
||||||
|
else
|
||||||
|
ent.DriverValveBLDisconnect:TriggerInput("Set",(val==4 and first) and 1 or 0)
|
||||||
|
ent.DriverValveTLDisconnect:TriggerInput("Set",(val==4 and first) and 1 or 0)
|
||||||
|
ent.Pneumatic:TriggerInput("BrakeSet",(val==4 and first) and 2 or 1)
|
||||||
|
end
|
||||||
|
end)
|
||||||
_LastSpawner=CurTime()
|
_LastSpawner=CurTime()
|
||||||
ent.CabinDoor = val==4 and first
|
ent.CabinDoor = val==4 and first
|
||||||
ent.PassengerDoor = val==4
|
ent.PassengerDoor = val==4
|
||||||
@@ -993,6 +1003,17 @@ ENT.Spawner = {
|
|||||||
ent.BV:TriggerInput("Enable",1)
|
ent.BV:TriggerInput("Enable",1)
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
if val == 4 then
|
||||||
|
ent.Pneumatic.RightDoorState = {1,1,1,1}
|
||||||
|
ent.Pneumatic.LeftDoorState = {1,1,1,1}
|
||||||
|
ent.Pneumatic.DoorRight = true
|
||||||
|
ent.Pneumatic.DoorLeft = true
|
||||||
|
else
|
||||||
|
ent.Pneumatic.RightDoorState = {0,0,0,0}
|
||||||
|
ent.Pneumatic.LeftDoorState = {0,0,0,0}
|
||||||
|
ent.Pneumatic.DoorRight = false
|
||||||
|
ent.Pneumatic.DoorLeft = false
|
||||||
|
end
|
||||||
ent.GV:TriggerInput("Set",val<4 and 1 or 0)
|
ent.GV:TriggerInput("Set",val<4 and 1 or 0)
|
||||||
ent._SpawnerStarted = val
|
ent._SpawnerStarted = val
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -77,11 +77,12 @@ ENT.Spawner = {
|
|||||||
if ent._SpawnerStarted~=val then
|
if ent._SpawnerStarted~=val then
|
||||||
ent.VB:TriggerInput("Set",val<=2 and 1 or 0)
|
ent.VB:TriggerInput("Set",val<=2 and 1 or 0)
|
||||||
ent.ParkingBrake:TriggerInput("Set",val==3 and 1 or 0)
|
ent.ParkingBrake:TriggerInput("Set",val==3 and 1 or 0)
|
||||||
if ent.AR63 then
|
if ent.AR63 then
|
||||||
local first = i==1 or _LastSpawner~=CurTime()
|
local first = i==1 or _LastSpawner~=CurTime()
|
||||||
ent.A53:TriggerInput("Set",val<=2 and 1 or 0)
|
ent.A53:TriggerInput("Set",val<=3 and 1 or 0)
|
||||||
ent.A49:TriggerInput("Set",val<=2 and 1 or 0)
|
ent.A49:TriggerInput("Set",val<=2 and 1 or 0)
|
||||||
ent.AR63:TriggerInput("Set",val<=2 and 1 or 0)
|
ent.AR63:TriggerInput("Set",val<=2 and 1 or 0)
|
||||||
|
ent.A75:TriggerInput("Set",0)
|
||||||
ent.R_UNch:TriggerInput("Set",val==1 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_Radio:TriggerInput("Set",val==1 and 1 or 0)
|
||||||
ent.BPSNon:TriggerInput("Set",(val==1 and first) and 1 or 0)
|
ent.BPSNon:TriggerInput("Set",(val==1 and first) and 1 or 0)
|
||||||
@@ -92,7 +93,15 @@ ENT.Spawner = {
|
|||||||
ent.L_3:TriggerInput("Set",val==1 and 1 or 0)
|
ent.L_3:TriggerInput("Set",val==1 and 1 or 0)
|
||||||
ent.L_4:TriggerInput("Set",val==1 and 1 or 0)
|
ent.L_4:TriggerInput("Set",val==1 and 1 or 0)
|
||||||
ent.EPK:TriggerInput("Set",(ent.Plombs.RC1 and val==1) and 1 or 0)
|
ent.EPK:TriggerInput("Set",(ent.Plombs.RC1 and val==1) and 1 or 0)
|
||||||
ent.DriverValveDisconnect:TriggerInput("Set",(val==4 and first) and 1 or 0)
|
local kran = ent:GetNW2String("Cran")
|
||||||
|
if kran == "2" then--ent.Pneumatic.ValveType == 2 then
|
||||||
|
ent.DriverValveDisconnect:TriggerInput("Set",(val==4 and first) and 1 or 0)
|
||||||
|
ent.Pneumatic:TriggerInput("BrakeSet",(val~=2) and (not first and 6 or 2) or 6)
|
||||||
|
else
|
||||||
|
ent.DriverValveBLDisconnect:TriggerInput("Set",(val==4 and first) and 1 or 0)
|
||||||
|
ent.DriverValveTLDisconnect:TriggerInput("Set",(val==4 and first) and 1 or 0)
|
||||||
|
ent.Pneumatic:TriggerInput("BrakeSet",(val==4 and first) and 2 or 1)
|
||||||
|
end
|
||||||
_LastSpawner=CurTime()
|
_LastSpawner=CurTime()
|
||||||
ent.CabinDoor = val==4 and first
|
ent.CabinDoor = val==4 and first
|
||||||
ent.PassengerDoor = val==4
|
ent.PassengerDoor = val==4
|
||||||
@@ -107,6 +116,17 @@ ENT.Spawner = {
|
|||||||
ent.BV:TriggerInput("Enable",1)
|
ent.BV:TriggerInput("Enable",1)
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
if val == 4 then
|
||||||
|
ent.Pneumatic.RightDoorState = {1,1,1,1}
|
||||||
|
ent.Pneumatic.LeftDoorState = {1,1,1,1}
|
||||||
|
ent.Pneumatic.DoorRight = true
|
||||||
|
ent.Pneumatic.DoorLeft = true
|
||||||
|
else
|
||||||
|
ent.Pneumatic.RightDoorState = {0,0,0,0}
|
||||||
|
ent.Pneumatic.LeftDoorState = {0,0,0,0}
|
||||||
|
ent.Pneumatic.DoorRight = false
|
||||||
|
ent.Pneumatic.DoorLeft = false
|
||||||
|
end
|
||||||
ent.GV:TriggerInput("Set",val<4 and 1 or 0)
|
ent.GV:TriggerInput("Set",val<4 and 1 or 0)
|
||||||
ent._SpawnerStarted = val
|
ent._SpawnerStarted = val
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user