/donate command
#1

Hello guys i am trying to make a /donate command which will donate amount i enter to the charity but it not working because it dosent matter if i enter $100 or $100000 it will donate $65535 by default

here is my code:
PHP код:
CMD:donate(playeridparams[])
{
    new 
moneystring[128];
    if(
sscanf(params"u"money)) return SendClientMessage(playerid, -1"/Donate [Amount]");
    if(
money GetPlayerMoney(playerid)) return SendClientMessage(playerid, -1"You dont have that much money");
    
GivePlayerMoney(playeridmoney);
    
PlayerInfo[playerid][pCharity] = PlayerInfo[playerid][pCharity]+money;
    
format(stringsizeof(string), "%s(%d) {A9C4E4}has donated $%d for the charity."GetPlayerNameEx(playerid), playeridmoney);
    
SendMessageToAll(-1string);
    return 
1;

Reply
#2

Replace sscanf(params,"u",money) with sscanf(params,"i",money).

"u" is used for player IDs only, returning 65535 when invalid player ID is specified.

Quote:
Код:
Specifier(s)			Name				Example values
	i, d			Integer				1, 42, -10
	c			Character			a, o, *
	l			Logical				true, false
	b			Binary				01001, 0b1100
	h, x			Hex				1A, 0x23
	o			Octal				045 12
	n			Number				42, 0b010, 0xAC, 045
	f			Float				0.7, -99.5
	g			IEEE Float			0.7, -99.5, INFINITY, -INFINITY, NAN, NAN_E
	u			User name/id (bots and players)	******, 0
	q			Bot name/id			ShopBot, 27
	r			Player name/id			******, 42
Reply
#3

Код:
CMD:donate(playerid, params[]) 
{ 
    new money, string[128]; 
    if(sscanf(params, "i", money)) return SendClientMessage(playerid, -1, "/Donate [Amount]"); 
    if(money > GetPlayerMoney(playerid)) return SendClientMessage(playerid, -1, "You dont have that much money"); 
    GivePlayerMoney(playerid, -money);  
    PlayerInfo[playerid][pCharity]  += money;  
    format(string, sizeof(string), "%s(%d) {A9C4E4}has donated $%d for the charity.", GetPlayerNameEx(playerid), playerid, money); 
    SendMessageToAll(-1, string); 
    return 1; 
}
GivePlayerMoney(playerid, -money); // this line - money it cut that money from his amount.
PlayerInfo[playerid][pCharity] += money; //this will increase that money in charity
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)