ZCMD & sscanf2 problem
#1

Today i tried to learn zcmd & sscanf and my first cmd was /createcar (spawn a car), then i tried to made the /report cmd there is the don't send error.
The zcmd command
pawn Код:
CMD:report(playerid, params[]).
    {
    if(IsPlayerConnected(playerid))
    {
        if(JustReported[playerid] == 1)
        {
            SendClientMessage(playerid, COLOR_GREY, "   Wait 2 minutes after sending a next report ! ");
            return 1;
        }
        new sendername[MAX_PLAYER_NAME];
        new giveplayer[MAX_PLAYER_NAME];
        new giveplayerid, text;
        new string[256];
        if (!sscanf(params, "is", giveplayerid, text))
        {
            if(IsPlayerConnected(giveplayerid))
            {
                if(giveplayerid != INVALID_PLAYER_ID)
                {
                    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                    format(string, sizeof(string), "Report from: [ID:%d]%s, Reported player: [ID:%d]%s", playerid, sendername, giveplayerid, giveplayer);
                    ABroadCast(0xE19898AA,string,1);
                    format(string, sizeof(string), "Report text: %s", (text));
                    ABroadCast(0xE19898AA,string,1);
                    ABroadCast(0xA04C4CAA,"Type '/acceptreport [reporter id]' or '/trashreport [reporter id]'",1);
                    SendClientMessage(playerid, 0x96C184AA, "  Reportul tau a fost trimis adminilor AG:RP.");
                    JustReported[playerid] = 1;
                    PlayerNeedsHelp[playerid] = 1;
                    SetTimerEx("ReportReset", 120000, false, "i", playerid);
                }
            }
        }
        else SendClientMessage(playerid, 0xFFFFFFFF, "Usage: /report <playerid> <text>");
    }
    return 1;
}
The strcmp command
pawn Код:
if(strcmp(cmd, "/report", true) == 0 || strcmp(cmd, "/re", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(JustReported[playerid] == 1)
            {
                SendClientMessage(playerid, COLOR_GREY, "   Wait 2 minutes after sending a next report ! ");
                return 1;
            }
            GetPlayerName(playerid, sendername, sizeof(sendername));
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USAGE: (/re)port [playerid/PartOfName] [text]");
                return 1;
            }
            giveplayerid = strval(tmp);
            if(IsPlayerConnected(giveplayerid))
            {
                if(giveplayerid != INVALID_PLAYER_ID)
                {
                    new length = strlen(cmdtext);
                    while ((idx < length) && (cmdtext[idx] <= ' '))
                    {
                        idx++;
                    }
                    new offset = idx;
                    new result[64];
                    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
                    {
                        result[idx - offset] = cmdtext[idx];
                        idx++;
                    }
                    result[idx - offset] = EOS;
                    if(!strlen(result))
                    {
                        SendClientMessage(playerid, COLOR_GRAD2, "USAGE: (/re)port [playerid/PartOfName] [text]");
                        return 1;
                    }
                    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                    format(string, sizeof(string), "Report from: [ID:%d]%s, Reported player: [ID:%d]%s", playerid, sendername, giveplayerid, giveplayer);
                    ABroadCast(0xE19898AA,string,1);
                    format(string, sizeof(string), "Report text: %s", (result));
                    ABroadCast(0xE19898AA,string,1);
                    ABroadCast(0xA04C4CAA,"Type '/acceptreport [reporter id]' or '/trashreport [reporter id]'",1);
                    SendClientMessage(playerid, 0x96C184AA, "  Reportul tau a fost trimis adminilor AG:RP.");
                    JustReported[playerid] = 1;
                    PlayerNeedsHelp[playerid] = 1;
                    SetTimerEx("ReportReset", 120000, false, "i", playerid);
                }
            }
        }
        return 1;
    }
Reply
#2

pawn Код:
new giveplayerid, text[128];
new string[128];
if (!sscanf(params, "us[128]", giveplayerid, text))
Reply
#3

same problem.
Reply
#4

Quote:
Originally Posted by pantelimonfl
Посмотреть сообщение
same problem.
What problem?
Reply
#5

Don't send error.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)