25.07.2014, 09:06
There Is 2 Problems I Face In The Moneybag System, 1st: Sometimes When 2 Players Drop Multiple Moneybags, The 2nd Player Who Dropped His Moneybag, When He Takes Other Moneybags, It Says That He Has Took His Money Bag Back, Codes Under OnPlayerPickUpPickup:
2nd Problem: Sometimes It Says That I Took 0 Money, /moneybag Command To Drop A Money Bag Codes:
Please Help For REP.
pawn Код:
if(pickupid == moneybagplayer)
{
new pName[MAX_PLAYER_NAME], Message[128];
if(moneybagowner[playerid] == 1)
{
GetPlayerName(playerid,pName,sizeof(pName));
format(Message, sizeof(Message), "%s (%d) Has Took His MoneyBag Back!", pName, playerid), SendClientMessageToAll(0xFFAE00FF, Message);
SendClientMessage(playerid,0xFFEE00FF,"You Have Took Your MoneyBag Back.");
GivePlayerMoney(playerid, moneyam);
moneybagowner[playerid] = 0;
DestroyPickup(moneybagplayer);
}
else if(moneybagowner[playerid] == 0)
{
GetPlayerName(playerid,pName,sizeof(pName));
format(Message, sizeof(Message), "%s (%d) Has Found The MoneyBag And $%d Dropped By Someone!", pName, playerid, moneyam), SendClientMessageToAll(0xFFAE00FF, Message);
SendClientMessage(playerid,0xFFEE00FF,"You Have Found The MoneyBag!");
SetPlayerScore(playerid,GetPlayerScore(playerid) +5);
GivePlayerMoney(playerid, moneyam);
DestroyPickup(moneybagplayer);
moneybagowner[playerid] = 0;
}
}
pawn Код:
dcmd_moneybag(playerid, params[])
{
if(sscanf(params, "d", moneyam)) return SendClientMessage(playerid, -1, "Syntax: {FF9900}/moneybag <Amount>"); // SSCANF, if you didn't type a prize the message /setlotto <prize> will show up as a syntax error
if(moneyam < 10000 || moneyam > 1000000) return SendClientMessage(playerid, -1, "You Can Drop A Moneybag Only From $10000 To $1000000."); // Surpassing the prize limit
if(GetPlayerMoney(playerid) < moneyam) return SendClientMessage(playerid, 0xFF0000FF, "ERROR: You Don't Have That Much!"); // Surpassing the prize limit
if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xFF0000FF, "ERROR: You Can't Drop A MoneyBag While In Vehicle!");
new Float:x,Float:y,Float:z,pName[MAX_PLAYER_NAME], Message[128];
GetPlayerPos(playerid, x,y,z);
moneybagplayer = CreatePickup(1210, 15,x+5, y, z, -1);
GetPlayerName(playerid,pName,sizeof(pName));
format(Message, sizeof(Message), "%s (%d) Has Dropped A MoneyBag Somewhere In Los Santos!", pName, playerid);
SendClientMessageToAll(0xFFAE00FF, Message);
GivePlayerMoney(playerid, -moneyam);
moneybagowner[playerid] = 1;
SendClientMessage(playerid,0xFFEE00FF,"You Have Dropped A MoneyBag,All Players Have Been Notified.");
return 1;
}