How to kill player in single player without reloading map/game_ui-vehicles bug workarounds?

Alright, this is a really weird one, and I wouldn’t be surprised if it’s impossible. Despite this, I’d still really like to get this working…

So basically, I figured out how to use prop_vehicle_driveable in Portal 2, and now have functional HL2 Jeeps implemented in the game. However, they suffer from some really big limitations:
-The camera is not placed properly (you look into the side of the vehicle). I fixed this with a point_viewcontrol, pretty simple.
-The controls are disfunctional. However, the car can be manipulated by I/O, so I fixed that with some fancy logic circuits, sort of.
-It can’t be controlled by I/O until a player enters the vehicle. Therefore, the player MUST be inside the car before it can be driven.
-You can’t exit the vehicle; apparently, some bug in Portal 2 prevents vehicles and game_ui from exiting on pressing the jump key or use.

That last issue is my biggest problem; although game_ui can be disabled with the “Deactivate” input, the prop_vehicle_driveable doesn’t have an input to eject the driver. I tried Deactivate and ExitVehicle, and both failed. I can’t just kill the vehicle and respawn it, either, as killing it while a player is driving crashes the game. The only way to make the player exit the vehicle properly is by killing the player. While this works beautifully in Multiplayer, as the player can just respawn and do as they please from there, in Single Player the map resets, which sort of takes the fun out of everything.

Is there any way to forcefully eject a driver that works on all vehicles, and not just specific entities? Is there a way to kill the player without actually killing them? Could either potentially be done by Vscript, or by some obscure entity?

can you use a teleport ? bind a key to teleport the player to the side of the jeep when they press to exit

When the player wants to exit you could kill the activator

(game_ui)
PlayerOff > !activator > SetHealth(never use kill) > 0

That will definetly kill the player and force a respawn but not so nice for a method of exiting

I can already successfully kill the player with a trigger_hurt (I parented it to the car and disabled it until the player wants to leave the vehicle). I appreciate the thought, but that isn’t quite what I’m looking for.

That sounds promising. I’ll try it out.

[editline]10th November 2016[/editline]

Teleporting the player didn’t work, I’m still stuck inside the vehicle. I tried using trigger_teleport and point_teleport, both failed to do anything when triggered to teleport. I did some research on Vscript hooks too, but failed to find anything relevant to regular vehicles or respawning living players. It’d be a real shame if a simple engine bug on some old code broke these vehicles; they’d make great set pieces in a Single Player map.

I tried exploring some of my other options; prop_vehicle seems to be identical to prop_vehicle_driveable, except I can’t enter it, so it can’t be controlled by I/O. prop_vehicle_choreo_generic is the only one with I/O allowing the player to enter and exit the vehicle, but it has no physics and can’t be driven like a car, which makes all that rather useless.

The console command “respawn_entities” respawns the player exactly like I’d need, but respawns everything else as well, restarting the map. Is there a way to trigger the functionality of this command on a single entity, or is that just not possible?

You might just need to deal with having to reset the map, but figure out a way to hide it.

Player ends the section by crashing the car, this puts them in a new section of the map they haven’t seen before and with no way back out into the rest of the map
they black out
reset the map while they’re blacked out
they wake up
etc etc

I guess I could do something like that. It’s a good idea. It’s a shame I can’t just leave it available as a set piece, but it could be great as part of an action scene like you suggest. The only issue is if the car gets stuck, you have to restart the entire level to fix it :I