Код:
new TicketOffer[MAX_PLAYERS];
new giveplayer[MAX_PLAYER_NAME];
new giveplayerid, moneys;
new sendername[MAX_PLAYER_NAME];
new TicketMoney[MAX_PLAYERS];
if(strcmp(cmd, "/ticket", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /ticket [playerid/PartOfName] [price]");
return 1;
}
giveplayerid = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /ticket [playerid/PartOfName] [price]");
return 1;
}
moneys = strval(tmp);
if(moneys < 1 || moneys > 301) { SendClientMessage(playerid, COLOR_GREY, " Ticket Money can't be below 1 or higher then 300 !"); return 1; }
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if (ProxDetectorS(8.0, playerid, giveplayerid))
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
format(string, sizeof(string), "* You gave %s a Ticket costing $%d", giveplayer, moneys, (result));
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* Officer %s has given you a Ticket costing $%d", sendername, moneys);
SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, "* Type /accept ticket, to accept it.");
TicketOffer[giveplayerid] = playerid;
TicketMoney[giveplayerid] = moneys;
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, " That player is not near you !");
return 1;
}
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " That player is Offline ! Or Its Yourself");
return 1;
}
}
return 1;
}
if(strcmp(cmd,"/accept",true)==0)
{
if(IsPlayerConnected(playerid))
{
new x_job[256];
x_job = strtok(cmdtext, idx);
if(!strlen(x_job)) {
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /accept ticket");
return 1;
}
if(strcmp(x_job,"ticket",true) == 0)
{
if(TicketOffer[playerid] < 999)
{
if(IsPlayerConnected(TicketOffer[playerid]))
{
if (ProxDetectorS(5.0, playerid, TicketOffer[playerid]))
{
GetPlayerName(TicketOffer[playerid], giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* You have paid the Ticket of $%d to Officer %s.", TicketMoney[playerid], giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* %s has paid your Ticket of $%d.", sendername, TicketMoney[playerid]);
SendClientMessage(TicketOffer[playerid], COLOR_LIGHTBLUE, string);
GivePlayerMoney(playerid, - TicketMoney[playerid]);
GivePlayerMoney(TicketOffer[playerid], TicketMoney[playerid]);
TicketOffer[playerid] = 999;
TicketMoney[playerid] = 0;
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, " The Officer is not near you !");
return 1;
}
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " No-one offered you a Ticket !");
return 1;
}
}
}
return 1;
}
problem is /ticket is working fine but when i type /ticket 1 100 it says u ticked 1 costing 100 but when a player type /accept it says : u paid 0$ for ur ticket so can anyone help?
i know , i removed result cause it seems that i dont need it or use it but the problem is /ticket 1 123 the player which has id one only pay 0 whatever the amount of the /ticket