/pm bug
#1

hi all i have a bug when i /pm it alwas say "Usage: /pm (id) (message)" even if the id is corect ...
thi is the script
Quote:

#define ADMINFS_MESSAGE_COLOR 0xFFFF0000
#define PM_INCOMING_COLOR 0xFF00FF00
#define PM_OUTGOING_COLOR 0xFFFFFF00

Quote:

public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256];
new tmp[256];
new Message[256];
new gMessage[256];
new pName[MAX_PLAYER_NAME+1];
new iName[MAX_PLAYER_NAME+1];
new idx;
cmd = strtok(cmdtext, idx);
if(strcmp("/pm", cmd, true) == 0)
{
tmp = strtok(cmdtext,idx);

if(!strlen(tmp) || strlen(tmp) > 5) {
SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR," Usage: /pm (id) (message)");
return 1;
}

new id = strval(tmp);

if(!strlen(gMessage)) {
SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR," Usage: /pm (id) (message)");
return 1;
}

if(!IsPlayerConnected(id)) {
SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"/pm : Bad player ID");
}

if(playerid != id) {
GetPlayerName(id,iName,sizeof(iName));
GetPlayerName(playerid,pName,sizeof(pName));
format(Message,sizeof(Message),">> %s(%d): %s",iName,id,gMessage);
SendClientMessage(playerid,PM_OUTGOING_COLOR,Messa ge);
format(Message,sizeof(Message),"** %s(%d): %s",pName,playerid,gMessage);
SendClientMessage(id,PM_INCOMING_COLOR,Message);
PlayerPlaySound(id,1085,0.0,0.0,0.0);
printf("PM: %s",Message);

}
else {
SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR," You cannot PM yourself");
}
return 1;
}
return 0;
}

why it wont work ... i'v chйck evry think ! no errors ...
Reply
#2

OK, umm, i'm making a suggestion here since i am no good at this old style bs, but here is my suggestion, use ZCMD and SSCANF together it comes down to a command this small!

pawn Код:
COMMAND:pm(playerid, params[])
{
    new otherid, message[128];
    if(sscanf(params, "is", otherid, message)) return SendClientMessage(playerid, RED, "Command Syntax: /pm [ID] [Message]");
    GetPlayerName(otherid, pname, sizeof(pname));
    GetPlayerName(playerid, opname, sizeof(opname));
    format(string5, sizeof(string5), "[PM][%s][%d]: %s", opname, playerid, message);
    SendClientMessage(otherid, ORANGE, string5);
    format(string5, sizeof(string5), "[PM Sent][%s][%d]: %s", pname, otherid, message);
    SendClientMessage(playerid, ORANGE, string5);
    return 1;
}
search the forum for these 2 includes if you want simple, fast, small commands like this
Reply
#3

thanks for all man
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)