You can change walk to left shift, you just have to change crouch to something else first.
I'm sure it would be simple to check whether you're controlling a vehicle or a player. I'll make something up quick.
package CarWalk
{
function crouch(%val)
{
if(%val)
{
if(ServerConnection.getControlOb ject().getClassName() $= "WheeledVehicle" || ServerConnection.getControlOb ject().getClassName() $= "FlyingVehicle")
{
$VehiWalk = 1;
walk(1); //This part may be wrong.
return %val;
}
else
Parent::crouch(%val);
}
else
{
if($VehiWalk == 1)
walk(0); //This part may be wrong.
Parent::crouch(%val);
}
}
function walk(%val) //This whole function may not exist.
{
if($VehiWalk == 1 && %val == 1)
%val = 0;
Parent::walk(%val);
}
};
activatePackage(CarWalk);
Oh, and I know I put it in quote instead of code, but that's just so FireFox users wont complain about page stretches.