Taxi Fare -
FaZeRs - 07.03.2014
So when someone gets into taxi and taxi driver types /taxi start fare is going really fast, like in few seconds it's thousand
Code
PHP код:
stock ChargePerson(playerid)
{
new string[128];
if(GetPlayerMoney(playerid) < TaxiMoney[playerid])
{
format(string,sizeof(string),"%s doesn't have enough money to pay for the TAXI.",GetPlayerNameEx(playerid));
SendClientMessage(GetVehicleDriver(OldVehicle[playerid]), COLOR_WHITE, string);
TaxiMade[GetVehicleDriver(OldVehicle[playerid])] -= TaxiMoney[playerid];
TaxiMoney[playerid] = 0;
}
else
{
format(string, sizeof(string), "[TAXI]: The final taxi fare has got to, $%d.", TaxiMoney[playerid]);
SendClientMessage(playerid, COLOR_YELLOW, string);
GivePlayerCash(playerid, -TaxiMoney[playerid]);
GivePlayerCash(GetVehicleDriver(OldVehicle[playerid]), TaxiMoney[playerid]);
TaxiMade[GetVehicleDriver(OldVehicle[playerid])] -= TaxiMoney[playerid];
TaxiMoney[playerid] = 0;
}
}
PHP код:
for(new i = 0; i < MAX_VEHICLES; i++)
{
if(IsATaxi(i))
{
new driver = GetVehicleDriver(i);
if(driver != INVALID_PLAYER_ID)
{
if(TaxiDuty{driver} && TaxiStart{driver} && CountVehiclePlayers(i) > 0)
{
new string[128];
format(string, sizeof(string), "~y~TAXI FARE: $%d", TaxiMade[driver]);
GameTextForPlayer(driver, string, 1, 6);
for(new p = 0; p < MAX_PLAYERS; p++)
{
if(IsPlayerConnected(p) && PlayerInCar(p) && GetPlayerState(p) != PLAYER_STATE_DRIVER && GetPlayerVehicleID(p) == GetPlayerVehicleID(driver))
{
format(string, sizeof(string), "~y~TAXI FARE: $%d", TaxiMoney[p]);
GameTextForPlayer(p, string, 1, 6);
TaxiMoney[p] += TaxiFare{driver};
TaxiMade[driver] += TaxiFare{driver};
}
}
}
}
}
}
Re: Taxi Fare -
FaZeRs - 07.03.2014
UP UP UP
Re: Taxi Fare -
Anzipane - 07.03.2014
Where's your for cycle located? In a callback or a timer?
Re: Taxi Fare -
FaZeRs - 07.03.2014
I have this
PHP код:
//Taxi variables
#define TAXI 17
new bool:TaxiDuty[MAX_PLAYERS char],
TaxiFare[MAX_PLAYERS char],
bool:TaxiStart[MAX_PLAYERS char],
TaxiMoney[MAX_PLAYERS],
OldVehicle[MAX_PLAYERS],
TaxiMade[MAX_PLAYERS];
//Taxi variables
This under OnPlayerConnect
PHP код:
TaxiDuty[playerid] = false; TaxiFare[playerid] = 0; TaxiStart[playerid] = false; TaxiMoney[playerid] = 0; TaxiMade[playerid] = 0;
This under OnPlayerStateChange
PHP код:
if(TaxiMoney[playerid] > 0 && IsATaxi(oldvehicle))
{
ChargePerson(playerid);
}
Re: Taxi Fare -
FaZeRs - 08.03.2014
UP UP UP
Re: Taxi Fare -
FaZeRs - 09.03.2014
So no one can help me with this?
Re: Taxi Fare -
Abagail - 09.03.2014
Where is this located?
for(new i = 0; i < MAX_VEHICLES; i++)
{
if(IsATaxi(i))
{
new driver = GetVehicleDriver(i);
if(driver != INVALID_PLAYER_ID)
{
if(TaxiDuty{driver} && TaxiStart{driver} && CountVehiclePlayers(i) > 0)
{
new string[128];
format(string, sizeof(string), "~y~TAXI FARE: $%d", TaxiMade[driver]);
GameTextForPlayer(driver, string, 1, 6);
for(new p = 0; p < MAX_PLAYERS; p++)
{
if(IsPlayerConnected(p) && PlayerInCar(p) && GetPlayerState(p) != PLAYER_STATE_DRIVER && GetPlayerVehicleID(p) == GetPlayerVehicleID(driver))
{
format(string, sizeof(string), "~y~TAXI FARE: $%d", TaxiMoney[p]);
GameTextForPlayer(p, string, 1, 6);
TaxiMoney[p] += TaxiFare{driver};
TaxiMade[driver] += TaxiFare{driver};
}
}
}
}
}
}
If this is located on OnPlayerUpdate then it will go super-fast..
If I've helped you with something please feel free to REP me, or at-least say "Thanks!"
- Abagail
Re: Taxi Fare -
FaZeRs - 09.03.2014
Yeah it is located there
Can i make it in some different way?
EDIT: Maybe i found out, will check.