02.03.2010, 07:54
(
Последний раз редактировалось aircombat; 08.04.2011 в 10:04.
)
can anyone help me fixing my /ticket command?
here is the code :
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?
________
DIGITAL VAPORIZERS
here is the code :
Код:
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; }
________
DIGITAL VAPORIZERS