stock ForTaxiJob(vehicleid)
{
switch(GetVehicleModel(vehicleid))
{
case 420,438: return 1;
}
return 0;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { if(vehicleid==420 || vehicleid == 438) { RemovePlayerFromVehicle(playerid); // Or if he didn't enter already and is about to enter then it's an animation // then use ClearAnimations(playerid); return SendClientMessage(playerid, 0xFF0000FF, "You cant enter this vehicle"); } }
As Jelly23 said it would be better to use callback, in your stock you dont have playerid so you would have to loop through every player on server so it would take a while.
Insted you could use something like this in OnPlayerEnterVehicle callback Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { if(vehicleid==420 || vehicleid == 438) { RemovePlayerFromVehicle(playerid); // Or if he didn't enter already and is about to enter then it's an animation // then use ClearAnimations(playerid); return SendClientMessage(playerid, 0xFF0000FF, "You cant enter this vehicle"); } } |
As Jelly23 said it would be better to use callback, in your stock you dont have playerid so you would have to loop through every player on server so it would take a while.
Insted you could use something like this in OnPlayerEnterVehicle callback Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { if(vehicleid==420 || vehicleid == 438) { RemovePlayerFromVehicle(playerid); // Or if he didn't enter already and is about to enter then it's an animation // then use ClearAnimations(playerid); return SendClientMessage(playerid, 0xFF0000FF, "You cant enter this vehicle"); } } |
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) {
if(vehicleid==420 || vehicleid == 438) {
new Float:Pos[3];//Not Fast.
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
SetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
SendClientMessage(playerid, 0xFF0000FF, "You cant enter this vehicle");
return true;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
new modelid = GetVehicleModel(vehicleid);
if(modelid == 420 || modelid == 438)
{
RemovePlayerFromVehicle(playerid);
// Or if he didn't enter already and is about to enter then it's an animation
// then use ClearAnimations(playerid);
return SendClientMessage(playerid, 0xFF0000FF, "You cant enter this vehicle");
}
return 1;
}
public OnPlayerStateChange(playerid,newstate,oldstate)
{
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 416) // Ambulance vehicle ID
{
if(PlayerInfo[playerid][MDuty] == 0) // If the player isn't on medic duty
{
RemovePlayerFromVehicle(playerid); // If the player isn't on medic duty remove him from car
SendClientMessage(playerid, COLOR_RED, "You are not on medic duty!");
}
}
return 1;
}