A few days ago I was playing a match where I had the only forward spawn, an apc. I was driving it forward, keeping under cover and trying to not get killed. I popped out for a second to fix my armor, and guess what happened. Some idiot jumps in and drives straight into a bunch of enemy turrets. Needless to say I was pissed, as our only other spawn was on the other side of the map. I think something simple like an auto lock would work great. Let the current driver re-enter the drivers seat one to two minutes after exiting, after which it would be free for anyone to take.
A vehicle lock is a good idea, it just needs some rules attached to it. Like 1033 said, the lock should expire after some time. After the driver dies for any reason, the lock should be removed. The driver should have the option of removing the lock himself.
How about if only the last used vehicle is tied to a player? Then you just add a bind in the control panel 'Remote vehicle Lock/Unlock' and it pops a message in your hud saying '%vehicle is now %lockstate'
that is not very noob friendly. The problem with looks is that it can damage your team. Example: 2 units are in the north west of duststorm, they have a afv and are building a refinery. Light tank is closing in and the driver cant get intime to his afv, but the other guy could. Now is it better to let both guys die because the stupid afv was locked? I mean it doesn't happen very often that a tank gets stolen, at least on a moderated server like emp4all.
That's an extremely convoluted scenario the likes of which will occur far less than a tank getting nabbed. People that leave their tank to take a leak or build refs should stay close to them or they're simply being careless. And planetside had a whole interface for vehicles, in empires a simple variable with minimal player interaction would have the best shot at being implemented. How about this, all vehicles are tied to the guy that built them until said guy: - dies - buys another vehicle - unlocks the vehicle at which point the vehicle ties to the next person to hop in. Unlocking could be as simple has holding crouch while pressing use on a vehicle, that's something you don't usually do I think.
Or, make it its own bind, so much easier. What if your crouching to avoid enemy fire, nearly dead, and inching towards your tank. That happens to me a fair bit. Then again, I'm not stupid enough to dumb run to it when there's something that will rape me on the way, unlike most players.
You're right that it would be easier, but I tried to stay away from any programming beyond a simple "if (crouching) then ToggleVehicleLock();" somewhere in the vehicle entering code, but obviously if it could get its own bind that would be less complicated for the players. Though I am running out of buttons around "wasd", maybe it's time to make the jump to "esdf"
Regardless of how it works, it would need to become its own command, like handbrake is (emp_(?))handbrake. Adding the bind to the menu would take all of 30 seconds, likely less.