/me command?
#1

Does anyone how to make a simple /me command?

Thank to everyone who helps me.
Reply
#2

Top of script...
pawn Код:
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
Inside OnPlayerCommandText...
pawn Код:
dcmd(me, 2, cmdtext);
Bottom of Script...
pawn Код:
dcmd_me(playerid,params[])
{

    new string[128];
    if(!strlen(params)) return SendClientMessage(playerid,0xF60000AA, "/me <action>.");
    format(string, sizeof(string), "* %s (%d) %s", pNick(playerid), playerid, params);
    SendClientMessageToAll(0x00FFFFFF, string);
    return 1;
}
pawn Код:
stock pNick(playerid)
{
    new nick[MAX_PLAYER_NAME];
    GetPlayerName(playerid, nick, MAX_PLAYER_NAME);
    return nick;
}
Reply
#3

I get 1 error:
Код:
error 036: empty statement
Which is this line:
Код:
dcmd(me, 2, cmdtext);
Reply
#4

Quote:
Originally Posted by stieben
I get 1 error:
Код:
error 036: empty statement
Which is this line:
Код:
dcmd(me, 2, cmdtext);
Show me where you placed it in the script.
Reply
#5

Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
  dcmd(me, 2, cmdtext);
  
	return 0;
}
Reply
#6

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    dcmd(me, 2, cmdtext);
    return 0;
}
Reply
#7

Does not work
Reply
#8

pawn Код:
#include <a_samp>
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    dcmd(me, 2, cmdtext);
    return 0;
}
pawn Код:
dcmd_me(playerid,params[])
{

    new string[128];
    if(!strlen(params)) return SendClientMessage(playerid,0xF60000AA, "/me <action>.");
    format(string, sizeof(string), "* %s (%d) %s", pNick(playerid), playerid, params);
    SendClientMessageToAll(0x00FFFFFF, string);
    return 1;
}

stock pNick(playerid)
{
    new nick[MAX_PLAYER_NAME];
    GetPlayerName(playerid, nick, MAX_PLAYER_NAME);
    return nick;
}
Works for me..
Reply
#9

yeah, that should work.
Reply
#10

or ZCMD

download ZCMD Include

on top of script
pawn Код:
#include <zcmd>
on end of script
pawn Код:
command(me,playerid,params[])
{
new string[128];
if(!strlen(params)) return SendClientMessage(playerid,0xF60000AA, "/me <action>.");
format(string, sizeof(string), "* %s (%d) %s", pNick(playerid), playerid, params);
SendClientMessageToAll(0x00FFFFFF, string);
return 1;
}

stock pNick(playerid)
{
new nick[MAX_PLAYER_NAME];
GetPlayerName(playerid, nick, MAX_PLAYER_NAME);
return nick;
}
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)