Wrong? -
Banditul18 - 16.02.2016
What i'm doing wrong in this?
Код:
CMD:giveallcash(playerid, params[])
{
if(Player[playerid][pLogged] == 0) return 0;
if(Player[playerid][pAdmin] < 6) return 0;
new Money,string[90];
if(sscanf(params, "i", Money)) return SendClientMessage(playerid, COLOR_RED, "Use: /giveallcash [money]");
for(new i= 0; i <= GetPlayerPoolSize(); i++)
{
PlayerPlaySound(i, 1057, 0.0, 0.0, 0.0);
RewardPlayer(i, Money, 0);
}
format(string, sizeof(string), "Adminul %s(id:%d) a dat la toti $%d", pName(playerid), playerid, Money);
SendClientMessageToAll(0x4169E1FF, string);
return 1;
}
Код:
RewardPlayer(playerid, Money, Points)
{
new query[128];
Player[playerid][pMoney] = Player[playerid][pMoney] + Money;
Player[playerid][pScore] = Player[playerid][pScore] + Points;
GivePlayerMoney(playerid, Player[playerid][pMoney]);
SetPlayerScore(playerid, Player[playerid][pScore])
mysql_format(mysql, query, sizeof(query), "UPDATE `accounts` SET `Money` = '%d', `Score` = '%d' WHERE `ID` = '%d'", Player[playerid][pMoney],Player[playerid][pScore],Player[playerid][pID]);
mysql_tquery(mysql, query, "", "");
}
When ai use /giveallcash 1 , it give me like in around 1000-2000 $, what is wrong?
Re: Wrong? -
GloomY - 16.02.2016
Код:
RewardPlayer(playerid, Money, Points)
{
new query[128];
Player[playerid][pMoney] = Player[playerid][pMoney] + Money;
Player[playerid][pScore] = Player[playerid][pScore] + Points;
SetPlayerMoney(playerid, Player[playerid][pMoney]);
SetPlayerScore(playerid, Player[playerid][pScore]);
mysql_format(mysql, query, sizeof(query), "UPDATE `accounts` SET `Money` = '%d', `Score` = '%d' WHERE `ID` = '%d'", Player[playerid][pMoney],Player[playerid][pScore],Player[playerid][pID]);
mysql_tquery(mysql, query, "", "");
}
Try this.
Re: Wrong? -
Jefff - 16.02.2016
Example:
Player[playerid][pMoney] is 5000$
admin is using /giveallcash 1
pawn Код:
Player[playerid][pMoney] = Player[playerid][pMoney] + Money; // array = 5000 + 1;
GivePlayerMoney(playerid, Player[playerid][pMoney]); // player have 5000 in gta memory + you are adding another 5001
2 solutions
pawn Код:
GivePlayerMoney(playerid, Money);
or
pawn Код:
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, Player[playerid][pMoney]);
check also connected players
pawn Код:
for(new i = GetPlayerPoolSize(); i > -1; i--)
if(PlayerPlaySound(i, 1057, 0.0, 0.0, 0.0))
RewardPlayer(i, Money, 0);
Re: Wrong? -
Banditul18 - 16.02.2016
Lol so obvious, i don't realize that.... Thanks Jefff..