if(PlayerInfo[playerid][pJobTaxi] == 1)
{
}
else {
if(modelid == 420 || modelid == 438)
{
RemovePlayerFromVehicle(playerid);
ClearAnimations(playerid);
return SendClientMessage(playerid, 0xFF0000FF, "You are not a Taxi Driver");
}
else if(modelid == 420 || modelid == 438){
PutPlayerInVehicle(playerid, vehicleid, 1);
}
}
|
Use a state check... You've obviously got this code in the callback, but you aren't checking if they are a driver or a passenger.
You should almost be using OnPlayerStateChange as it's more reliable, but it could be done OnPlayerEnterVehicle by checking "ispassenger". |
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
{
switch(GetVehicleModel(GetPlayerVehicleID(playerid)))
{
case 420, 438:
{
if(PlayerData[playerid][pJobTaxi])
{
//start a job
}
else
{
RemovePlayerFromVehicle(playerid); //player is not a taxi driver, then remove him from vehicle
SendClientMessage(playerid, 0xFF0000FF, "You are not a Taxi Driver");
}
}
}
}
return true;
}
|
Try this.
Код HTML:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
{
switch(GetVehicleModel(GetPlayerVehicleID(playerid)))
{
case 420, 438:
{
if(PlayerData[playerid][pJobTaxi])
{
//start a job
}
else
{
RemovePlayerFromVehicle(playerid); //player is not a taxi driver, then remove him from vehicle
SendClientMessage(playerid, 0xFF0000FF, "You are not a Taxi Driver");
}
}
}
}
return true;
}
|