diff --git a/lua/entities/gmod_wire_egp_hud/init.lua b/lua/entities/gmod_wire_egp_hud/init.lua index c2eeeb893d..90ea840123 100644 --- a/lua/entities/gmod_wire_egp_hud/init.lua +++ b/lua/entities/gmod_wire_egp_hud/init.lua @@ -25,7 +25,8 @@ function ENT:Initialize() self:AddEFlags( EFL_FORCE_CHECK_TRANSMIT ) WireLib.CreateInputs(self, { - "0 to 512 (If enabled, changes the resolution of the egp hud to be between 0 and 512 instead of the user's monitor's resolution.\nWill cause objects to look stretched out on most screens, so your UI will need to be designed with this in mind.\nIt's recommended to use the egpScrW, egpScrH, and egpScrSize functions instead.)" + "0 to 512 (If enabled, changes the resolution of the egp hud to be between 0 and 512 instead of the user's monitor's resolution.\nWill cause objects to look stretched out on most screens, so your UI will need to be designed with this in mind.\nIt's recommended to use the egpScrW, egpScrH, and egpScrSize functions instead.)", + "Vehicles (Links all vehicles of passed array to this egp HUD) [ARRAY]", }) WireLib.CreateOutputs(self, { "wirelink [WIRELINK]" }) @@ -42,6 +43,12 @@ end function ENT:TriggerInput( name, value ) if (name == "0 to 512") then self:SetResolution(value ~= 0) + elseif name == "Vehicles" then + for k, v in ipairs( value ) do + if( TypeID(v) ~= TYPE_ENTITY ) then continue end + if( not IsValid(v) ) then continue end + self:LinkEnt( v ) + end end end diff --git a/lua/entities/gmod_wire_pod.lua b/lua/entities/gmod_wire_pod.lua index 26639b4ba8..0253717190 100644 --- a/lua/entities/gmod_wire_pod.lua +++ b/lua/entities/gmod_wire_pod.lua @@ -163,7 +163,8 @@ function ENT:Initialize() "Disable", "Crosshairs", "Brake", "Allow Buttons", "Relative (If this is non-zero, the 'Bearing' and 'Elevation' outputs will be relative to the vehicle.)", "Damage Health (Damages the driver's health.)", "Damage Armor (Damages the driver's armor.)", "Hide Player", "Hide HUD", "Show Cursor", - "Vehicle [ENTITY]" + "Vehicle [ENTITY]", + "Vehicles (Links all vehicles of passed array to this pod controller) [ARRAY]", } self.Inputs = WireLib.CreateInputs(self, inputs) @@ -466,11 +467,16 @@ function ENT:TriggerInput(name, value) elseif name == "Show Cursor" then self:SetShowCursor(value) elseif name == "Vehicle" then - if not IsValid(value) then return end -- Only link if the input is valid. That way, it won't be unlinked if the wire is disconnected - if value:IsPlayer() then return end - if value:IsNPC() then return end + if( TypeID(value) ~= TYPE_ENTITY ) then return end + if( not IsValid(value) ) then return end self:LinkEnt(value) + elseif name == "Vehicles" then + for k, v in ipairs( value ) do + if( TypeID(v) ~= TYPE_ENTITY ) then continue end + if( not IsValid(v) ) then continue end + self:LinkEnt( v ) + end end end