28.09.2013, 17:59
OnPlayerEnterVehicle is called when a player starts to enter a vehicle. In that time (the player is not in the vehicle yet), you call CarLevel that it tries to get the player's vehicleid however it returns -1 because they are not in vehicle yet.
pawn Код:
public OnPlayerStateChange( playerid, newstate, oldstate )
{
if( newstate == PLAYER_STATE_DRIVER && oldstate == PLAYER_STATE_ONFOOT )
{
TextDrawShowForPlayer(playerid, carname);
new string[64];
format(string, sizeof(string), "Car Name:%s~n~Max Speed:240~n~Level:%d", VehicleName[GetVehicleModel(vehicleid) - 400],CarLevel(playerid));
TextDrawSetString(carname,string);
}
return 1;
}
stock CarLevel(playerid)
{
new vehicleid = GetPlayerVehicleID(playerid);
if(GetVehicleModel(vehicleid) == 411) return 10;
else if(GetVehicleModel(vehicleid) == 451) return 2;
return 0;
}