SSCANF HELP! - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (
https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (
https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: SSCANF HELP! (
/showthread.php?tid=293240)
SSCANF HELP! -
yanir3 - 27.10.2011
PHP код:
COMMAND:kick(playerid, params[])
{
new reason[1024];
if(Info[playerid][Admin] == 0) return NoAdmin(playerid);
if ( sscanf( params, "uS", params[ 0 ], reason) )
return SendClientMessage( playerid, -1, ""COL_LIGHTBLUE"Usage:{FFFFFF} /kick [playerid] [reason]");
new asay[1024];
format(asay, sizeof(asay), "AdmKick: %s has been kicked by Admin %s. Reason: %s", GetName(params[0]), GetName(playerid), reason);
SendClientMessageToAll(0xE10000FF, asay);
Kick(params[0]);
return 1;
}
sscanf warning: no default value found.
Help me please.
Re: SSCANF HELP! -
[MWR]Blood - 27.10.2011
pawn Код:
if ( sscanf( params, "uS(No reason given)", params[ 0 ], reason) )
Re: SSCANF HELP! -
yanir3 - 27.10.2011
PHP код:
COMMAND:kick(playerid, params[])
{
new reason[1024];
if(Info[playerid][Admin] == 0) return NoAdmin(playerid);
if ( sscanf( params, "us[1024]", params[ 0 ], reason) )
return SendClientMessage( playerid, -1, ""COL_LIGHTBLUE"Usage:{FFFFFF} /kick [playerid] [reason]");
new asay[1024];
format(asay, sizeof(asay), "AdmKick: %s has been kicked by Admin %s. Reason: %s", GetName(params[0]), GetName(playerid), reason);
SendClientMessageToAll(0xE10000FF, asay);
Kick(params[0]);
return 1;
}
Changed to it^, but it doesn't return any name and it doesn't kick the player..
Re: SSCANF HELP! -
Vince - 27.10.2011
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.
Re: SSCANF HELP! -
Kingunit - 27.10.2011
By the way: Don't use strings above 128+ without any reasons.
Re: SSCANF HELP! -
yanir3 - 27.10.2011
Still.. it doesn't kick the player and doesn't return his name :S
Re: SSCANF HELP! -
Kingunit - 27.10.2011
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;
}
Re: SSCANF HELP! -
yanir3 - 27.10.2011
Nevermind, it was 0.3d bugging my script.