Pay! -
Thanks - 27.04.2018
I've creating a ticket command & PAY But there a problem!! After A Cop ticket someone and he will Pay Before
Example: he have " 45984 " After pay to the cop his money will be increased! More examples:
Ticket Price: 5000 after the player pay the ticket his money will be -5000 Why?
PHP код:
GivePlayerCash(playerid, -fine);
GivePlayerCash(TicketIssuer[playerid], fine);
Re: Pay! -
kovac - 27.04.2018
Why don't you you use GivePlayerMoney? Show us your GivePlayerCash function.
Re: Pay! -
Bingo - 27.04.2018
Show us both, The full command and the function where you defined GivePlayerMoney?
Re: Pay! -
Thanks - 27.04.2018
PHP код:
CMD:pay(playerid, params[])
{
if(HasBeenIssuedTicket{playerid} == true)
{
new fine = random(10000) + 1000;
if(fine > GetPlayerCash(playerid))
{
if( GetPlayerMoney(playerid) < fine) return SendClientMessage(playerid, COLOR_RED, "{ff0000}ERROR : {ffffff}You don't have enough money to pay the ticket! RUN RUN !");
KillTimer(TicketTimer{playerid});
HasBeenIssuedTicket{playerid} = false;
format(fstr, sizeof(fstr), "[DISPATCH]: Suspect %s [%d] has payed the ticket.", GetName(playerid), playerid);
CopRadio(BLUE, fstr);
format(fstr2, sizeof(fstr2), "Ticket paid {33FF33}$%d{FFFFFF}. Innocent civilian status achieved.", fine);
GameTextForPlayer(playerid, "~G~TICKET PAID", 5000, 5);
SetPlayerColor(playerid, COLOR_WHITE);
SendClientMessage(playerid, RED, fstr2);
format(fstr2, sizeof(fstr2), "The suspect has payed the ticket, you got paid $%d.", fine);
GameTextForPlayer(TicketIssuer[playerid], "~B~TICKET PAYED", 2500, 5);
SendClientMessage(TicketIssuer[playerid], YELLOW, fstr2);
GivePlayerCash(playerid, -fine);
GivePlayerCash(TicketIssuer[playerid], fine);
SetPlayerWantedLevel(playerid, 0);
SetPlayerScore(TicketIssuer[playerid], GetPlayerScore(TicketIssuer[playerid]) + 1);
SetPlayerScore(playerid, GetPlayerScore(playerid) - 1);
PlayerInfo[TicketIssuer[playerid]][aTickets] ++;
PlayerInfo[playerid][aFined] ++;
TicketIssuer[playerid] = -1;
}
else
{
SendClientMessage(playerid, RED, "{FF0000}[ERROR]: {ffffff}You dont have engouh money to pay.");
}
}
else
{
SendClientMessage(playerid, RED, "You have not been issued a ticket.");
}
return true;
}
Re: Pay! -
CodeStyle175 - 27.04.2018
//whole anticheat you need, you dont even have to change hud money amount, because that can be modified player side.
new Money[MAX_PLAYERS];
#define GivePlayerCash(%0,%1) Money[%0]+=%1;
Re: Pay! -
RedRex - 27.04.2018
PHP код:
CMD:pay(playerid, params[])
{
if(HasBeenIssuedTicket{playerid} == true)
{
new fine = random(10000) + 1000;
if(fine > GetPlayerCash(playerid))
{
if( GetPlayerMoney(playerid) < fine) return SendClientMessage(playerid, COLOR_RED, "{ff0000}ERROR : {ffffff}You don't have enough money to pay the ticket! RUN RUN !");
KillTimer(TicketTimer{playerid});
HasBeenIssuedTicket{playerid} = false;
format(fstr, sizeof(fstr), "[DISPATCH]: Suspect %s [%d] has payed the ticket.", GetName(playerid), playerid);
CopRadio(BLUE, fstr);
format(fstr2, sizeof(fstr2), "Ticket paid {33FF33}$%d{FFFFFF}. Innocent civilian status achieved.", fine);
GameTextForPlayer(playerid, "~G~TICKET PAID", 5000, 5);
SetPlayerColor(playerid, COLOR_WHITE);
SendClientMessage(playerid, RED, fstr2);
format(fstr2, sizeof(fstr2), "The suspect has payed the ticket, you got paid $%d.", fine);
GameTextForPlayer(TicketIssuer[playerid], "~B~TICKET PAYED", 2500, 5);
SendClientMessage(TicketIssuer[playerid], YELLOW, fstr2);
GivePlayerMoney(playerid, -fine);
GivePlayerMoney(TicketIssuer[playerid], fine);
SetPlayerWantedLevel(playerid, 0);
SetPlayerScore(TicketIssuer[playerid], GetPlayerScore(TicketIssuer[playerid]) + 1);
SetPlayerScore(playerid, GetPlayerScore(playerid) - 1);
PlayerInfo[TicketIssuer[playerid]][aTickets] ++;
PlayerInfo[playerid][aFined] ++;
TicketIssuer[playerid] = -1;
}
else
{
SendClientMessage(playerid, RED, "{FF0000}[ERROR]: {ffffff}You dont have engouh money to pay.");
}
}
else
{
SendClientMessage(playerid, RED, "You have not been issued a ticket.");
}
return true;
}
It will work I guess