12.12.2013, 08:44
So, I'm doing some experimenting with vehicles. At the moment I need to gather information if the player attempts to join a vehicle as a passenger or driver. However, the variable "ispassenger" in the callback "OnPlayerEnterVehicle(playerid, vehicleid, is passenger)" returns "68". It's supposed to return 0 when the user is a driver, and 1 if the user is a passenger.
However
If I change my code to the following:
It seems to return the correct value.
In what way am I affecting it's value?
pawn Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
new string[128], pName[MAX_PLAYER_NAME], pPassenger[30];
GetPlayerName(playerid, pName, sizeof pName);
if(playerVehicleState[playerid] != 1)
{
if(ispassenger == 1) pPassenger = "Passenger";
else
if(ispassenger == 0) pPassenger = "Driver";
format(string, sizeof string, "%s is attempting to join vehicle: %i as a %s (value: %i)", pName, vehicleid, pPassenger, ispassenger);
playerVehicleState[playerid] = 1;
SendClientMessageToAll(-1, string);
}
return 1;
}
If I change my code to the following:
pawn Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
new string[128], pName[MAX_PLAYER_NAME], pPassenger[30];
GetPlayerName(playerid, pName, sizeof pName);
if(playerVehicleState[playerid] != 1)
{
if(ispassenger == 1) pPassenger = "Passenger";
else
if(ispassenger == 0) pPassenger = "Driver";
else
pPassenger = "Something else!";
format(string, sizeof string, "%s is attempting to join vehicle: %i as a %s (value: %i)", pName, vehicleid, pPassenger, ispassenger);
playerVehicleState[playerid] = 1;
SendClientMessageToAll(-1, string);
}
return 1;
}
In what way am I affecting it's value?