diff --git a/gamemode/sh_utils.lua b/gamemode/sh_utils.lua index 0ebbe1ed..abff5c6c 100644 --- a/gamemode/sh_utils.lua +++ b/gamemode/sh_utils.lua @@ -267,7 +267,17 @@ if SERVER then ["OnNewGame"] = true, ["OnGetValue"] = true, ["OnHitMax"] = true, - ["OnHitMin"] = true + ["OnHitMin"] = true, + ["PlayerOff"] = true, + ["PlayerOn"] = true, + ["OnCompanionEnteredVehicle"] = true, + ["OnCompanionExitedVehicle"] = true, + ["OnHostileEnteredVehicle"] = true, + ["OnHostileExitedVehicle"] = true, + ["PressedAttack"] = true, + ["PressedAttack2"] = true, + ["AttackAxis"] = true, + ["Attack2Axis"] = true, } function util.IsOutputValue(key) diff --git a/gamemode/sv_transition.lua b/gamemode/sv_transition.lua index a85e626f..347f24ba 100644 --- a/gamemode/sv_transition.lua +++ b/gamemode/sv_transition.lua @@ -960,7 +960,12 @@ function GM:CreateTransitionObjects() if data.Parent then local parent = self.CreatedTransitionObjects[data.Parent] if IsValid(parent) then - ent:SetParent(parent) + -- FIXME: This is way too generic to be safe. + if ent:IsNPC() and parent:IsVehicle() and parent:GetClass() == "prop_vehicle_jeeep" then + ent:Fire("EnterVehicleImmediately", parent:GetName(), 0) + else + ent:SetParent(parent) + end -- FIX: Make sure we assign the seat to the vehicle. if ent:GetNWBool("IsPassengerSeat", false) == true then parent:SetNWEntity("PassengerSeat", ent) end end