[Ajuda] nгo aparece a mensagem pro cara D=
#1

pawn Код:
if(strcmp(cmd, "/kick", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USE: /kick [Id Do Jogador] [motivo]");
                return true;
            }
            giveplayerid = ReturnUser(tmp);
            if (PlayerInfo[playerid][pAdmin] >= 1)
            {
                if(IsPlayerConnected(giveplayerid))
                {
                    if(giveplayerid != INVALID_PLAYER_ID)
                    {
                        GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        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, "USE: /kick [Id Do Jogador] [motivo]");
                            return true;
                        }
                        getdate(year, month, day);
                        if(admtrampando[playerid] == 1 && admhide[playerid] == 1)
                        {
                            format(string, sizeof(string), "AdmCmd: %s foi kickado por %s, Motivo: %s (%d-%d-%d)", giveplayer, sendername, (result),day,month,year);
                            KickLog(string);
                            format(string, sizeof(string), "AdmCmd: %s foi kickado por %s, Motivo: %s", giveplayer, sendername, (result));
                            SendClientMessageToAll(COLOR_LIGHTRED, string);
                        }
                        else
                        {
                            format(string, sizeof(string), "AdmCmd: %s foi kickado por %s, Motivo: %s (%d-%d-%d)", giveplayer, sendername, (result),day,month,year);
                            KickLog(string);
                            format(string, sizeof(string), "AdmCmd: %s foi kickado por %s, Motivo: %s", giveplayer, sendername, (result));
                            SendClientMessageToAll(COLOR_LIGHTRED, string);
                        }
                        TextDrawShowForPlayer(giveplayerid, TextKick[giveplayerid]);
                        Kick(giveplayerid);
                        return true;
                    }
                }
            }
            else
            {
                QQIssoNovinha;
            }
        }
        return true;
    }
nгo consigo entender tipo a mensagem de tal pessoa foi kikada aparece pra quem ta on mais pro cara que й kikado nгo,sу da o Server Closed The Conection :S
Reply
#2

Quote:
Originally Posted by SonicFreeStyle
Посмотреть сообщение
pawn Код:
if(strcmp(cmd, "/kick", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USE: /kick [Id Do Jogador] [motivo]");
                return true;
            }
            giveplayerid = ReturnUser(tmp);
            if (PlayerInfo[playerid][pAdmin] >= 1)
            {
                if(IsPlayerConnected(giveplayerid))
                {
                    if(giveplayerid != INVALID_PLAYER_ID)
                    {
                        GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        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, "USE: /kick [Id Do Jogador] [motivo]");
                            return true;
                        }
                        getdate(year, month, day);
                        if(admtrampando[playerid] == 1 && admhide[playerid] == 1)
                        {
                            format(string, sizeof(string), "AdmCmd: %s foi kickado por %s, Motivo: %s (%d-%d-%d)", giveplayer, sendername, (result),day,month,year);
                            KickLog(string);
                            format(string, sizeof(string), "AdmCmd: %s foi kickado por %s, Motivo: %s", giveplayer, sendername, (result));
                            SendClientMessageToAll(COLOR_LIGHTRED, string);
                        }
                        else
                        {
                            format(string, sizeof(string), "AdmCmd: %s foi kickado por %s, Motivo: %s (%d-%d-%d)", giveplayer, sendername, (result),day,month,year);
                            KickLog(string);
                            format(string, sizeof(string), "AdmCmd: %s foi kickado por %s, Motivo: %s", giveplayer, sendername, (result));
                            SendClientMessageToAll(COLOR_LIGHTRED, string);
                        }
                        TextDrawShowForPlayer(giveplayerid, TextKick[giveplayerid]);
                        Kick(giveplayerid);
                        return true;
                    }
                }
            }
            else
            {
                QQIssoNovinha;
            }
        }
        return true;
    }
nгo consigo entender tipo a mensagem de tal pessoa foi kikada aparece pra quem ta on mais pro cara que й kikado nгo,sу da o Server Closed The Conection :S
Isso acontece porque no SA-MP 0.3x o player й kickado antes que a mensagem seja mostrada.
Basta colocar um tempo para ele ser kickado.

Coloque isto no topo do GM/FS:
pawn Код:
#define Kick(%0) SetTimerEx("Kicka", 100, false, "i", %0)
E isto no final.
pawn Код:
forward Kicka(p);
public Kicka(p)
{
    #undef Kick
    Kick(p);
    #define Kick(%0) SetTimerEx("Kicka", 100, false, "i", %0)
    return 1;
}
Isso resolverб seu problema.
Reply
#3

sim olha:


http://forum.sa-mp.com/showthread.ph...03#post2405503

https://sampwiki.blast.hk/wiki/Kick

ae tem a solucao.
Reply
#4

pawn Код:
#define Kick(%0) SetTimerEx("Kicka", 100, false, "i", %0)

forward Kicka(p); public Kicka(p) {
    #undef Kick
    Kick(p);
    #define Kick(%0) SetTimerEx("Kicka", 100, false, "i", %0)
    return 1;
}


by paulor '-'
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)