SA-MP Forums Archive
What am I doing wrong ? - 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)
+---- Forum: Help Archive (https://sampforum.blast.hk/forumdisplay.php?fid=89)
+---- Thread: What am I doing wrong ? (/showthread.php?tid=243066)



What am I doing wrong ? - bijoyekuza - 21.03.2011

hey scripters
i started witch sscanf/dcmd
what is wrong here
Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
	new cmd[256], idx;
    cmd = strtok(cmdtext, idx);
    dcmd(ban, 3, cmdtext);
	dcmd_ban(playerid, params[])
	{
	new pName[MAX_PLAYER_NAME];
	GetPlayerName(playerid, pName, sizeof(pName));
	if(!IsPlayerAdmin(playerid)) return 0;
	new targetid, reason[64], string[128];
	if(sscanf(params, "uz", targetid, reason)) return SendClientMessage(playerid, COLOR_RED, "Usage: /ban [playerid/partofname] [reason]");
	if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, COLOR_RED, "Player not connected or is yourself!");
	format(string, sizeof(string), "%s has been banned (Reason: %s)",pName, reason);
	SendClientMessageToAll(COLOR_RED, string); // Sending the string to all
	Ban(targetid);
	}
}
PHP код:
(1326) : error 017undefined symbol "dcmd_ban"
(1327) : error 017undefined symbol "dcmd_ban"
(1333) : error 017undefined symbol "params" 



Re: What am I doing wrong ? - Mike Garber - 21.03.2011

pawn Код:
if(sscanf(params, "uz", targetid, reason)) return SendClientMessage(playerid, COLOR_RED, "Usage: /ban [playerid/partofname] [reason]");
You must define the string size in the sscanf line aswell. Like this;
z[64]

pawn Код:
if(sscanf(params, "uz[64]", targetid, reason)) return SendClientMessage(playerid, COLOR_RED, "Usage: /ban [playerid/partofname] [reason]");
And i believe with DCMD you must define it under OnPlayerCommandText aswell.


Re: What am I doing wrong ? - airsoft - 21.03.2011

Quote:
Originally Posted by bijoyekuza
Посмотреть сообщение
Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
	new cmd[256], idx;
    cmd = strtok(cmdtext, idx);
    dcmd(ban, 3, cmdtext);
	dcmd_ban(playerid, params[])
	{
	new pName[MAX_PLAYER_NAME];
	GetPlayerName(playerid, pName, sizeof(pName));
	if(!IsPlayerAdmin(playerid)) return 0;
	new targetid, reason[64], string[128];
	if(sscanf(params, "uz", targetid, reason)) return SendClientMessage(playerid, COLOR_RED, "Usage: /ban [playerid/partofname] [reason]");
	if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, COLOR_RED, "Player not connected or is yourself!");
	format(string, sizeof(string), "%s has been banned (Reason: %s)",pName, reason);
	SendClientMessageToAll(COLOR_RED, string); // Sending the string to all
	Ban(targetid);
	}
}
dcmd_ban should not be it OnPlayerCommandText, but below it


Re: What am I doing wrong ? - ricardo178 - 21.03.2011

And by the way if your starting dcmd don't do it... Start zcmd + sscanf much better and easier..

Here a toturial if you want to learn it... Just the something, only change the format and dont need dcmd(ban, 3, cmdtext);

http://forum.sa-mp.com/showthread.ph...45#post1120045


AW: What am I doing wrong ? - Pablo Borsellino - 21.03.2011

Right code:
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    dcmd(ban, 3, cmdtext);
    return 1;
}
   
dcmd_ban(playerid, params[])
{
    new pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pName, sizeof(pName));
    if(!IsPlayerAdmin(playerid)) return 0;
    new targetid, reason[64], string[128];
    if(sscanf(params, "uz[64]", targetid, reason)) return SendClientMessage(playerid, COLOR_RED, "Usage: /ban [playerid/partofname] [reason]");
    if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, COLOR_RED, "Player not connected or is yourself!");
    format(string, sizeof(string), "%s has been banned (Reason: %s)",pName, reason);
    SendClientMessageToAll(COLOR_RED, string); // Sending the string to all
    Ban(targetid);
    return 1;
}