16.08.2009, 19:10 
	
	
	
		Wait
is it like zcmd
	
	
	
	
is it like zcmd


public OnPlayerCommandText(playerid, cmdtext[])
{
if(IsPlayerConnected(playerid) && gPlayerLogged[playerid] == 1)
{
...
dcmd(bla,3,cmdtext);
...
}
else
{
SendClientMessage(playerid,COLOR_RED,"[INFO:] Your not logged in, therefore you can not use any commands.");
SendClientMessage(playerid,COLOR_RED,"[INFO:] Type your password to register/login.");
return 1;
}
return 0;
}
zcmd(lol,playerid,params[])
{
#pragma unused params
SendClientMessage(playerid,COLOR_WHITE,"It works");
return 1;
}
#define ZCMD_NO_CALLBACK
#include <zcmd>
public OnPlayerCommandText(playerid, cmdtext[])
{
if (IsPlayerConnected(playerid) && gPlayerLogged[playerid] == 1)
{
return ZCMD_ProcessCommand(playerid, cmdtext);
}
SendClientMessage(playerid,COLOR_RED,"[INFO:] Your not logged in, therefore you can not use any commands.");
SendClientMessage(playerid,COLOR_RED,"[INFO:] Type your password to register/login.");
return 1;
}
#include <zcmd>
public OnPlayerCommandText(playerid, cmdtext[])
{
if (!IsPlayerConnected(playerid) || gPlayerLogged[playerid] != 1)
{
SendClientMessage(playerid,COLOR_RED,"[INFO:] Your not logged in, therefore you can not use any commands.");
SendClientMessage(playerid,COLOR_RED,"[INFO:] Type your password to register/login.");
return 1;
}
return 0;
}
... ZCMD_ProcessCommand(playerid, cmdtext); ...

dcmd_l(playerid, params[])
{
return dcmd_local(playerid, params);
}
| ...(5560) : error 029: invalid expression, assumed zero ...(5560) : error 029: invalid expression, assumed zero ...(5561) : warning 209: function "zcmd_local" should return a value | 
zcmd(l,playerid,params[])
{
return zcmd(local,playerid, params);
}
zcmd(local,playerid,cmdtext[])
{
....
return 1;
}
zcmd(l,playerid,params[])
{
return zcmd_local(playerid, params);
}
zcmd(local,playerid,cmdtext[])
{
....
return 1;
}
#include <zcmd>
zcmd(mycommand, playerid, params[])
{
// Do something
return 1;
}
 
	| 
					Originally Posted by [B2K Hustler ] pawn Code: 
 | 
| 
					Originally Posted by [B2K Hustler ] Right, now that I have that, how do i make a command with multiple parameters for instance, can someone give me an example of lets say, /givemoney <playerid> <amount> command. I haven't worked with dcmd either which may have helped, and also do i need Sscanf? | 
#include <zcmd>
#include <sscanf>
zcmd(givemoney, byplayerid, params[]) // btw, it doesn't matter how last 2 parameters are named
{
new
playerid,
money;
if (!sscanf(params, "ii", playerid, money)) // sscanf returns 0 on success
{
new
message[50];
GivePlayerMoney(playerid, money);
format(message, sizeof(message), "You got $%d from %s", money, ReturnPlayerName(byplayerid));
SendClientMessage(playerid, 0x00FF00FF, message);
format(message, sizeof(message), "You gave $%d to %s", money, ReturnPlayerName(playerid));
SendClientMessage(byplayerid, 0xFFFF00FF, message);
}
else SendClientMessage(byplayerid, 0xFFFFFFFF, "Usage: /givemoney <playerid> <amount>");
return 1;
}
zcmd(givemoney, byplayerid, params[]) // btw it doesn't matter how last 2 parameters are named
zcmd(commandname, what is this, params[]) // btw it doesn't matter how last 2 parameters are named
new byplayerid; //?

else SendClientMessage(byplayerid, 0xFFFFFFFF, "Usage: /givemoney <playerid> <amount>");
 
	| 
					Originally Posted by [B2K Hustler ] I know it is: pawn Код: 
 pawn Код: 
 | 
 )
 )| 
					Originally Posted by [B2K Hustler ] Also, does the else statement execute if either parameters are not completed, or just the first one, and does it show this message if the format is incoorect, for instance if i type /givemoney 21 hello? pawn Код: 
 | 
 
	| 
					Originally Posted by Dabombber  Quote: 
 pawn Код: 
 Quote: 
 Somewhat releated, what about using pawn Код: 
 | 
dcmd_callthiscommand(playerid, params);
zcmd(phone, playerid, params[])
zcmd(phone, playerid, params)
zcmd(shortcommand, playerid, params[])
{
return zcmd_longcommand(playerid, params);
}
dcmd_callthiscommand(playerid, params);
zcmd_callthiscommand(playerid, params);
zcmd(phone, playerid, params[])
| 
					Originally Posted by |№іі7  Can you explain how I can return my own Unknown command message? while having the commands in a separate function though. | 
public OnPlayerCommandText(playerid, cmdtext[])
{
if (!ZCMD_ProcessCommand(playerid, cmdtext))
{
SendClientMessage(playerid, 0xFF0000FF, "Unknown command");
}
return 1;
}
#define ZCMD:%1(%2) forward zcmd_%1(%2);public zcmd_%1(%2)
ZCMD:ban(playerid, cmdtext[])
{
// Code goes here
}