new amount=random(GetPlayerMoney(target))+1; //+1 otherwise the ransom will be 0 GivePlayerMoney(target,-amount); GivePlayerMoney(playerid,amount);
new amount; while(amount<1000)amount=random(GetPlayerMoney(target))+1; GivePlayerMoney......
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, "You can now choose to release the player, or keep him kidnapped!");
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;
}
okay. this is what you gotta do. with thje kidnapper you made the id and playerid in "global variables" then you check if the person is being kidnapped and if he still has a kidnapper. then you release the kidnapped dont wait for a stupid person to release the kidnapped
|
if(GetPlayerMoney(playerid) < ransommoney) return SendClientMessage(playerid,urcolor,"Msg Here");
if he has it
GivePlayerMoney(kidnappervariable,ransommoney);
new randmoney = random(104785);
GivePlayerMoney(playerid,randmoney); |
if(GetPlayerMoney(giveplayerid) > 0)
{
new pcash = GetPlayerMoney(giveplayerid);
new robcash = random(pcash);
GivePlayerMoney(giveplayerid) -= robcash;
GivePlayerMoney(playerid) += robcash;
}
if(GetPlayerMoney(giveplayerid) > 0) // the victim is defined as giveplayerid
{
new pcash = GetPlayerMoney(giveplayerid); // gets the money of the one who's getting robbed
new robcash = random(pcash); // makes a random amount of the victim's money
GivePlayerMoney(giveplayerid, -robcash); // subtracts the money from the victim
GivePlayerMoney(playerid, robcash); // adds the money to the robber
}