Wrong?
#1

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?
Reply
#2

Код:
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.
Reply
#3

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);
Reply
#4

Lol so obvious, i don't realize that.... Thanks Jefff..
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)