SERVER: UNKNOWN COMMAND (Help)
#1

Hey, I just created a /report command but why it doesnt work? When I type ingame /report I got: SERVER: UNKNOWN COMMAND!

This is the code:

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/report", cmdtext, true, 10) == 0)
    {
        new reported, tmp[256], tmp2[256], Index;
        tmp = strtok(params,Index), tmp2 = strtok(params,Index);
        if(!strlen(params)) return SendClientMessage(playerid,COLOR_RED, "USAGE: /report [playerid] [reason]");
        reported = strval(tmp);
        if(IsPlayerConnected(reported) && reported != INVALID_PLAYER_ID) {
                if(IsPlayerAdminLevel(reported,1)) return SendClientMessage(playerid,COLOR_RED,"You can't report an admin.");
                if(playerid == reported) return SendClientMessage(playerid,COLOR_RED,"Why Would You Report Yourself??");
                if(strlen(params) > 7)
                {
                        new reportedname[MAX_PLAYER_NAME], reporter[MAX_PLAYER_NAME], str[128];
                        GetPlayerName(reported, reportedname, sizeof(reportedname));    GetPlayerName(playerid, reporter, sizeof(reporter));
                        format(str, sizeof(str), "%s(%d) Reported %s(%d) : %s",reporter,playerid, reportedname, reported, params[strlen(tmp)+1]);
                        for(new i = 0; i < MAX_PLAYERS; i++)
                                {
                    if(IsPlayerAdminLevel(reported,1))
                    {
                    GameTextForPlayer(i,"New Report",400,6);
                    SendClientMessage(i,COLOR_GREEN,str);
                    PlayerPlaySound(i,1057,0,0,0);
                    }
                                }
                        return SendClientMessage(playerid,COLOR_YELLOW, "Report Sent. Admin's Will Review It And Get Back To You.");
            } else return SendClientMessage(playerid,COLOR_RED,"Not A Valid Reason.");
        } else return SendClientMessage(playerid,COLOR_RED, "That Player Is Not Connected.");
        return 1;
    }
    return 0;
}
Anyone that know it?

Ty
Reply
#2

do you use any other Command processor?
Reply
#3

No, I just only use strcmp
Reply
#4

and have you compiled this script ?
Reply
#5

Yes I have compiled it and I didnt have any errors or warnings
Reply
#6

Try it:
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/report", cmdtext, true, 10) == 0)
    {
        new reported, tmp[256], tmp2[256], Index;
        tmp = strtok(params,Index), tmp2 = strtok(params,Index);
        if(!strlen(params)) return SendClientMessage(playerid,COLOR_RED, "USAGE: /report [playerid] [reason]");
        reported = strval(tmp);
        if(IsPlayerConnected(reported) && reported != INVALID_PLAYER_ID) {
                if(IsPlayerAdminLevel(reported,1)) return SendClientMessage(playerid,COLOR_RED,"You can't report an admin.");
                if(playerid == reported) return SendClientMessage(playerid,COLOR_RED,"Why Would You Report Yourself??");
                if(strlen(params) > 7)
                {
                        new reportedname[MAX_PLAYER_NAME], reporter[MAX_PLAYER_NAME], str[128];
                        GetPlayerName(reported, reportedname, sizeof(reportedname));    GetPlayerName(playerid, reporter, sizeof(reporter));
                        format(str, sizeof(str), "%s(%d) Reported %s(%d) : %s",reporter,playerid, reportedname, reported, params[strlen(tmp)+1]);
                        for(new i = 0; i < MAX_PLAYERS; i++)
                                {
                    if(IsPlayerAdminLevel(reported,1))
                    {
                    GameTextForPlayer(i,"New Report",400,6);
                    SendClientMessage(i,COLOR_GREEN,str);
                    PlayerPlaySound(i,1057,0,0,0);
                    }
                                }
                        return SendClientMessage(playerid,COLOR_YELLOW, "Report Sent. Admin's Will Review It And Get Back To You.");
            } else return SendClientMessage(playerid,COLOR_RED,"Not A Valid Reason.");
        } else return SendClientMessage(playerid,COLOR_RED, "That Player Is Not Connected.");
        return 1;
    }
Reply
#7

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/report", cmdtext, true, 10) == 0)
    {
        new reported, tmp[256], tmp2[256], Index;
        tmp = strtok(params,Index), tmp2 = strtok(params,Index);
        if(!strlen(params)) return SendClientMessage(playerid,COLOR_RED, "USAGE: /report [playerid] [reason]");
        reported = strval(tmp);
        if(IsPlayerConnected(reported) && reported != INVALID_PLAYER_ID) {
                if(IsPlayerAdminLevel(reported,1)) return SendClientMessage(playerid,COLOR_RED,"You can't report an admin.");
                if(playerid == reported) return SendClientMessage(playerid,COLOR_RED,"Why Would You Report Yourself??");
                if(strlen(params) > 7)
                {
                        new reportedname[MAX_PLAYER_NAME], reporter[MAX_PLAYER_NAME], str[128];
                        GetPlayerName(reported, reportedname, sizeof(reportedname));    GetPlayerName(playerid, reporter, sizeof(reporter));
                        format(str, sizeof(str), "%s(%d) Reported %s(%d) : %s",reporter,playerid, reportedname, reported, params[strlen(tmp)+1]);
                        for(new i = 0; i < MAX_PLAYERS; i++)
                                {
                    if(IsPlayerAdminLevel(reported,1))
                    {
                    GameTextForPlayer(i,"New Report",400,6);
                    SendClientMessage(i,COLOR_GREEN,str);
                    PlayerPlaySound(i,1057,0,0,0);
                    }
                                }
                        return SendClientMessage(playerid,COLOR_YELLOW, "Report Sent. Admin's Will Review It And Get Back To You.");
            } else return SendClientMessage(playerid,COLOR_RED,"Not A Valid Reason.");
        } else return SendClientMessage(playerid,COLOR_RED, "That Player Is Not Connected.");
        return 1;
    }
    return 1;
}
If you got it still then use this:
pawn Код:
forward OnPlayerCommandPerformed(playerid, cmdtext[], success);
pawn Код:
public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
    if(!success) return 1;
    return 1;
}
Reply
#8

It didnt work =S
Reply
#9

If you use:

Код:
return 0;
The server will sent that kind of message!

So change it to:

PHP код:
return 1
Reply
#10

Well, i'm using my 2nd opinion and it's working like a charm. You need to have forward and public thingy.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)