SSCANF HELP!
#1

PHP код:
COMMAND:kick(playeridparams[])
{
new 
reason[1024];
if(
Info[playerid][Admin] == 0) return NoAdmin(playerid);
if ( 
sscanfparams"uS"params], reason) )
return 
SendClientMessageplayerid, -1""COL_LIGHTBLUE"Usage:{FFFFFF} /kick [playerid] [reason]");
new 
asay[1024];
format(asaysizeof(asay), "AdmKick: %s has been kicked by Admin %s. Reason: %s"GetName(params[0]), GetName(playerid), reason);
SendClientMessageToAll(0xE10000FFasay);
Kick(params[0]);
return 
1;

sscanf warning: no default value found.

Help me please.
Reply
#2

pawn Код:
if ( sscanf( params, "uS(No reason given)", params[ 0 ], reason) )
Reply
#3

PHP код:
COMMAND:kick(playeridparams[])
{
new 
reason[1024];
if(
Info[playerid][Admin] == 0) return NoAdmin(playerid);
if ( 
sscanfparams"us[1024]"params], reason) )
return 
SendClientMessageplayerid, -1""COL_LIGHTBLUE"Usage:{FFFFFF} /kick [playerid] [reason]");
new 
asay[1024];
format(asaysizeof(asay), "AdmKick: %s has been kicked by Admin %s. Reason: %s"GetName(params[0]), GetName(playerid), reason);
SendClientMessageToAll(0xE10000FFasay);
Kick(params[0]);
return 
1;

Changed to it^, but it doesn't return any name and it doesn't kick the player..
Reply
#4

Forgot the size as well.
pawn Код:
if (sscanf(params, "uS(No reason given)[128]", params[0], reason))
Also no need for such a HUGE string, the max input and output for a chat line is 144 characters.
Reply
#5

By the way: Don't use strings above 128+ without any reasons.
Reply
#6

Still.. it doesn't kick the player and doesn't return his name :S
Reply
#7

Test this one:
pawn Код:
CMD:kick(playerid, params[])
{
    if(PlayerInfo[playerid][Adminlevel] < 0) return SendClientMessage(playerid, 0xFFFFFFFF, "You are not allowed to use this command.");
    new targetid,
        reason[64],
        string[128];

    if(sscanf(params, "uz", targetid, reason)) return SendClientMessage(playerid, 0xFFFFFFFF, "/kick [playerid]");
    if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, 0xFFFFFFFF, ".:: Error: Player not connected. ::.");

    new pTargetName[24], pName[24];
    GetPlayerName(playerid,pName,24);
    GetPlayerName(targetid,pTargetName,24);

    format(string, sizeof(string), "Admin %s has kicked %s: %s",pName, pTargetName, reason);
    SendClientMessageToAll(0xFFFFFFFF,string);
    Kick(targetid);

    return 1;
}
Reply
#8

Nevermind, it was 0.3d bugging my script.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)