27.03.2010, 04:09
Can someone take a look at this code and see if it would work ( i am unable to test it alone...)
So this command should only work if a player is kidnapped. What this command does is, a player who is kidnapped could pay the kidnapper money for his release. Can someone look at the code and see if it works.
So this command should only work if a player is kidnapped. What this command does is, a player who is kidnapped could pay the kidnapper money for his release. Can someone look at the code and see if it works.
Код:
if(strcmp(cmd, "/ransom", true) == 0) { if(IsSpawned[playerid] == 0) { SendClientMessage(playerid, COLOR_ERROR, "You are dead. You cannot use this command"); return 1; } if(cuffed[playerid] == 1) { SendClientMessage(playerid,COLOR_ERROR,"You are handcuffed. You cannot use this command"); return 1; } if(isKidnapped[playerid] == 0) { SendClientMessage(playerid,COLOR_ERROR,"Only players who are kidnapped can use this command!"); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_ERROR, "USAGE: /ransom (id) (amount)"); return 1; } if(!IsNumeric(tmp)) { SendClientMessage(playerid, COLOR_ERROR, "USAGE: /ransom(id) (amount) ID Must be a number"); return 1; } if(strval(tmp) == playerid) { SendClientMessage(playerid, COLOR_ERROR, "You cannot send cash to yourself"); return 1; } giveplayerid = strval(tmp); if(!IsPlayerConnected(giveplayerid)) { format(szstring, sizeof(szstring), "ID (%d) is not an active player", giveplayerid); SendClientMessage(playerid, COLOR_ERROR, szstring); return 1; } new sendername[24]; new receivername[24]; GetPlayerName(playerid,sendername, 24); GetPlayerName(giveplayerid,receivername, 24); if(GetDistanceBetweenPlayers(playerid,giveplayerid) > 8) { format(szstring, sizeof(szstring), "%s(%d) Is not close enough. You cannot give cash to that player",receivername,giveplayerid); SendClientMessage(playerid, COLOR_ERROR, szstring); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_ERROR, "USAGE: /ransom (id) (amount)"); return 1; } if(!IsNumeric(tmp)) { SendClientMessage(playerid, COLOR_ERROR, "USAGE: /ransom(id) (amount) Amount must be a number"); return 1; } new cashsend = strval(tmp); if(cashsend <= 0 || cashsend >= 100001) { SendClientMessage(playerid, COLOR_ERROR, "USAGE: Minimum $1 / Maximum $100000"); return 1; } if(GetPlayerMoney(giveplayerid) + cashsend >= 2000001) { SendClientMessage(playerid, 0xA9A9A9AA, "|_Cash Send Failed_|"); format(szstring, sizeof(szstring), "%s(%d) Does not have enough pockets to carry that ammount of cash ",receivername,giveplayerid); SendClientMessage(playerid, 0x00C7FFAA, szstring); return 1; } if(GetPlayerMoney(playerid) >= cashsend) { GivePlayerMoney(playerid,-cashsend); GivePlayerMoney(giveplayerid,cashsend); SendClientMessage(playerid, 0xA9A9A9AA, "|_Cash Sent_|"); format(szstring, sizeof(szstring), "You have sent $%d to %s(%d)",cashsend,receivername,giveplayerid); SendClientMessage(playerid, 0x00C7FFAA, szstring); SendClientMessage(giveplayerid, 0xA9A9A9AA, "|_Cash Received_|"); SendClientMessage(giveplayerid, 0xA9A9A9AA, "If you think that this might be hacked cash then inform a Server Admin asap! /report (id) (reason)"); format(szstring, sizeof(szstring), "%s(%d) Has sent you $%d",sendername,playerid,cashsend); SendClientMessage(giveplayerid, 0x00C7FFAA, szstring); format(szstring, sizeof(szstring), "Sender %s(%d) Has sent $%d to receiver %s(%d)",sendername,playerid,cashsend,receivername,giveplayerid); printf("%s",szstring); } else if(GetPlayerMoney(playerid) < cashsend) { SendClientMessage(playerid, 0xA9A9A9AA, "|_Cash Send Failed_|"); format(szstring, sizeof(szstring), "You cannot afford to send $%d",cashsend); SendClientMessage(playerid, COLOR_ERROR, szstring); } return 1; }