11.08.2015, 18:11
This should kick people out of car ID 420 and 438 who don't have the taxi driver job, but it kicks everyone out, irrespective of their job.
Pastebin
Pastebin
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(IsPlayerNPC(playerid))return 1;
new vehicleid = GetPlayerVehicleID(playerid);
if(newstate == PLAYER_STATE_DRIVER)
{
if(GetVehicleModel(vehicleid) == 420 || GetVehicleModel(vehicleid) == 438 && PlayerData[playerid][pJob] != JOB_TAXI)
{
RemovePlayerFromVehicle(playerid);
return SendErrorMessage(playerid, "You must be a Taxi Driver to use this vehicle.");
}
}
return 1;
}
// [ DEVELOPMENT GAMEMODE ]
// INCLUDES:
#include <a_samp>
#include <zcmd>
// DEFINES:
// FUNCTIONS:
#define function%0(%1) forward%0(%1); public%0(%1)
// PER-PLAYER VARIABLES:
new bool:pTaxiDriver[MAX_PLAYERS] = false;
// MAIN:
main()
{
print("Development Mode: vehicle_types.amx");
}
// CALLBACKS:
public OnGameModeInit()
{
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
{
if(!IsPlayerTaxiDriver(playerid))
{
if(IsPlayerInsideTaxi(playerid))
{
RemovePlayerFromVehicle(playerid);
return SendClientMessage(playerid, -1, "This vehicle is reserved for taxi drivers.");
}
}
}
return 1;
}
// COMMANDS:
CMD:taxidriveron(playerid, params[])
{
pTaxiDriver[playerid] = true;
return 1;
}
CMD:taxidriveroff(playerid, params[])
{
pTaxiDriver[playerid] = false;
return 1;
}
// FUNCTIONS:
function bool:IsPlayerInsideTaxi(playerid)
{
new vehicleid = GetPlayerVehicleID(playerid);
if(GetVehicleModel(vehicleid) == 420 || GetVehicleModel(vehicleid) == 438) return true;
return false;
}
function bool:IsPlayerTaxiDriver(playerid) return pTaxiDriver[playerid];
PHP код:
|