if(IsPlayerInVehicle(i, vehicleid) && GetPlayerState(i) == 2 && TransportDuty[i] > 0)
{
if(GetPlayerCash(playerid) < TransportValue[i])
{
new string[28];
format(string, sizeof(string), "* You need $%d to enter.", TransportValue[i]);
SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string);
//RemovePlayerFromVehicle(playerid);
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
SetPlayerPos(playerid, X, Y, Z+2);
TogglePlayerControllable(playerid, 1);
}
else
{
new string[64];
if(TransportDuty[i] == 1)
{
format(string, sizeof(string), "* You paid $%d to the Taxi Driver.", TransportValue[i]);
SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* Passenger %s has entered your Taxi.", GetPlayerNameEx(playerid));
SendClientMessageEx(i, COLOR_LIGHTBLUE, string);
TransportTime[i] = 1;
TransportTime[playerid] = 1;
TransportCost[playerid] = TransportValue[i];
TransportCost[i] = TransportValue[i];
TransportDriver[playerid] = i;
}
else if(TransportDuty[i] == 2)
{
format(string, sizeof(string), "* You paid $%d to the Taxi Driver.", TransportValue[i]);
SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* Passenger %s has entered your Taxi.", GetPlayerNameEx(playerid));
SendClientMessageEx(i, COLOR_LIGHTBLUE, string);
}
GivePlayerCash(playerid, -TransportValue[i]);
TransportMoney[i] += TransportValue[i];
}
|
Can't you fix this bug in the lines which i give? Because its a lot of work to put a new system on the GM.
|
stock IsVehicleTaxi(vehicleid) {
switch (GetVehicleModel(vehicleid)) {
case 420,438 : return true;
}
return false;
}
forward OnPlayerEnteredTaxi(playerid, vehicleid);
public OnPlayerEnteredTaxi(playerid, vehicleid)
{
new
msg[256],
name[MAX_PLAYER_NAME]
;
GetPlayerName(playerid, name, sizeof(name));
format(msg, sizeof(msg), "Taxi: %s(%d) entered in taxi %d", name, playerid, vehicleid);
SendClientMessageToAll(-1, msg);
return true;
}
forward OnPlayerExitedTaxi(playerid, vehicleid);
public OnPlayerExitedTaxi(playerid, vehicleid)
{
new
msg[256],
name[MAX_PLAYER_NAME]
;
GetPlayerName(playerid, name, sizeof(name));
format(msg, sizeof(msg), "Taxi: %s(%d) exited in taxi %d", name, playerid, vehicleid);
SendClientMessageToAll(-1, msg);
return true;
}
public OnPlayerUpdate(playerid)
{
static
p_vehicleid[MAX_PLAYERS]
;
new vehicleid = GetPlayerVehicleID(playerid);
if (vehicleid && vehicleid != p_vehicleid[playerid]) {
if (IsVehicleTaxi(vehicleid)) {
OnPlayerEnteredTaxi(playerid, vehicleid);
}
p_vehicleid[playerid] = vehicleid;
} else {
if (IsVehicleTaxi(p_vehicleid[playerid])) {
OnPlayerExitedTaxi(playerid, p_vehicleid[playerid]);
}
p_vehicleid[playerid] = vehicleid;
}
return 1;
}