/pm Bug?
#1

Hello,So I Use DCMD And The Bug Is While Replying Or Send A Long Message,The Message Doesn't Appear Completely.

pawn Код:
dcmd_pm(playerid, params[])
{
    new pID, text[128], string[128];
    if(sscanf(params, "us", pID, text)) return SendClientMessage(playerid, 0xFF0000FF, "USAGE: /pm (nick/id) (message) - Enter a valid Nick / ID");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid, 0xFF0000FF, "Player is not connected.");
    if(pID == playerid) return SendClientMessage(playerid, 0xFF0000FF, "You cannot PM yourself.");
    format(string, sizeof(string), "%s (%d) is not accepting private messages at the moment.", PlayerName(pID), pID);
    if(pInfo[pID][NoPM] == 1) return SendClientMessage(playerid, 0xFF0000FF, string);
    format(string, sizeof(string), "PM to %s: %s", PlayerName(pID), text);
    SendClientMessage(playerid, 0xFFFF00AA, string);
    format(string, sizeof(string), "PM from %s: %s", PlayerName(playerid), text);
    SendClientMessage(pID, 0xFFFF00AA, string);
    pInfo[pID][Last] = playerid;
    return 1;
}

dcmd_reply(playerid, params[])
{
    new text[128], string[128];
    if(sscanf(params, "s", text)) return SendClientMessage(playerid, 0xFF0000FF, "USAGE: /reply (message) - Enter your message");
    new pID = pInfo[playerid][Last];
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid, 0xFF0000FF, "Player is not connected.");
    if(pID == playerid) return SendClientMessage(playerid, 0xFF0000FF, "You cannot PM yourself.");
    format(string, sizeof(string), "%s (%d) is not accepting private messages at the moment.", PlayerName(pID), pID);
    if(pInfo[pID][NoPM] == 1) return SendClientMessage(playerid, 0xFF0000FF, string);
    format(string, sizeof(string), "PM to %s: %s", PlayerName(pID), text);
    SendClientMessage(playerid, 0xFFFF00AA, string);
    format(string, sizeof(string), "PM from %s: %s", PlayerName(playerid), text);
    SendClientMessage(pID, 0xFFFF00AA, string);
    pInfo[pID][Last] = playerid;
    return 1;
}

dcmd_ms(playerid, params[]) return dcmd_pm(playerid, params);
dcmd_m(playerid, params[]) return dcmd_pm(playerid, params);
dcmd_r(playerid, params[]) return dcmd_reply(playerid, params);
Please Help.
Reply
#2

Add the string length on the sscanf lines too.

E.g:
pawn Код:
if(sscanf(params, "us[128]", pID, text))
Reply
#3

Thanks It Worked.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)