dcmd_cash(playerid, params[])
{
new id, string[256], pname[24], amount;
if (sscanf(params, "s", pname))
return SendClientMessage(playerid, 0xFF0000AA, "Usage: \"/cash <playername> <amount>\"");
if (!IsPlayerAdmin(playerid))
return SendClientMessage(playerid, 0xFF0000AA, "Not admin !");
else
{
id = GetPlayerID(pname);
if(!IsPlayerConnected(id))
return SendClientMessage(playerid, 0xFF0000AA, "Player not found");
else
{
GivePlayerMoney(id, amount);
format(string, sizeof(string), "You gave %s $ to %i.", amount, GetName(id));
SendClientMessage(playerid, 0xFFFF00AA, string);
SendClientMessage(id, 0xFFF00AA, "Admin %s gave you %i", playerid, amount);
}
}
return 1;
}
new id, string[256], pname[24], amount;
if (sscanf(params, "s", pname))
new id, string[256], pname[24], amount;
if (sscanf(params, "s[24]i", pname, amount))
c - A character. d, i - An integer. h, x - A hex number (e.g. a colour). f - A float. s - A string. z - An optional string. pX - An additional delimiter where X is another character. '' - Encloses a litteral string to locate. u - User, takes a name, part of a name or an id and returns the id if they're connected.
SendClientMessage(id, 0xFFF00AA, "Admin %s gave you %i", playerid, amount);
format( string, sizeof string, "Admin %s gave you %i.", GetName( playerid ), amount );
SendClientMessage( id, 0xFFFF00AA, string );
format(string, sizeof(string), "You gave %s $ to %i.", amount, GetName(id));
format( string, sizeof string, "You gave $%i to %s.", amount, GetName(id));
dcmd_givecash( playerid, params[ ] )
{
if ( !IsPlayerAdmin( playerid ) ) return SendClientMessage( playerid, 0xAA0000AA, "Error: Not an admin." );
new targetid, amount;
if ( sscanf( params, "ud", targetid, amount ) ) return SendClientMessage( playerid, 0xAA0000AA, "Error: /givecash < playerid / partofname > < amount >" );
if ( targetid == INVALID_PLAYER_ID ) return SendClientMessage( playerid, 0xAA0000AA, "Error: Invalid player." );
if ( amount < 0 ) return SendClientMessage( playerid, 0xAA0000AA, "Error: Invalid amount." );
new string[ 128 ];
format( string, sizeof string, "Admin %s gave you $%d.", GetName( playerid ), amount );
SendClientMessage( playerid, 0xAA0000AA, string );
format( string, sizeof string, "You gave $%d to %s.", amount, GetName( targetid ) );
SendClientMessage( targetid, 0xAA0000AA, string );
GivePlayerMoney( targetid, amount );
return 1;
Change this:
pawn Код:
pawn Код:
Код:
c - A character. d, i - An integer. h, x - A hex number (e.g. a colour). f - A float. s - A string. z - An optional string. pX - An additional delimiter where X is another character. '' - Encloses a litteral string to locate. u - User, takes a name, part of a name or an id and returns the id if they're connected. |
pawn Код:
pawn Код:
pawn Код:
integer = playername ? pawn Код:
Also? Why do you use 256 on string? :S String in sscanf for player name ? xD Rewritten /givecash pawn Код:
|
stock GetIdFromName(playername[]) //Use this stock to use names instead of ids.
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && !IsPlayerNPC(i))
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(i,pname,MAX_PLAYER_NAME);
if(strfind(pname,playername,true) != -1 && strlen(playername) != 0)
{
return i;
}
}
}
return -1;
}
dcmd_givecash( playerid, params[ ] )
{
if(IsPlayerAdmin(playerid))
{
new string[26], mny;
if(!sscanf(params,"s[26]i",string,mny))
{
if(IsPlayerConnected(rplayer))
{
new giveplayerid;
giveplayerid = GetIdFromName(string);
new pname[MAX_PLAYER_NAME], tomsg[60];
GetPlayerName(playerid, pname, sizeof(pname));
format(tomsg,sizeof(tomsg),"Admin %s gave you %i $!",pname,mny);
GivePlayerMoney(giveplayerid , mny);
SendClientMessage(giveplayerid, COLOR_GREEN, tomsg);
} else return SendClientMessage(playerid, COLOR_RED, "Player is not connected.");
} else return SendClientMessage(playerid, COLOR_RED, "Usage: /givecash [ part of name ] [ amount ]");
}
else SendClientMessage(playerid, COLOR_RED, "You are not an admin!");
return true;
}
Try this, i made it in few minutes. Not sure if it works:
pawn Код:
pawn Код:
|
dcmd_cash(playerid, params[])
{
new id, string[26], ammount;
if (sscanf(params, "s[26]i", string, ammount))
return SendClientMessage(playerid, 0xFF9900, "Utilisation: \"/Cash <player name> <ammount>\"");
if (!IsPlayerAdmin(playerid))
return SendClientMessage(playerid, 0xFF0000AA, "You are not admin");
id = GetPlayerID(string);
if (!IsPlayerConnected(id))
{
new pname[MAX_PLAYER_NAME], tomsg[100], adminmsg[100];
GetPlayerName(playerid, pname, sizeof(pname));
format(tomsg, sizeof(tomsg), "Admin %s gave you %i $ !", pname, ammount);
GivePlayerMoney(id , ammount);
SendClientMessage(id, 0xFFFF00AA, tomsg);
format(adminmsg, sizeof(adminmsg), "You gave %i $ to %s !", ammount, id);
SendClientMessage(playerid, 0xFFFF00AA, adminmsg);
}
else return SendClientMessage(playerid, 0xFF0000AA, "Player not found");
return true;
}
if (!IsPlayerConnected(id))
if (IsPlayerConnected(id))