[Ajuda] Erro quando nгo loga no Servidor
#1

Gente estou com um probleminha, tipo, sй eu nгo logar no server ele nгo avisa que eu fui KICKADO por nгo logar,ele kickar e nгo avisa, Isso estб acontecendo quando eu nгo LOGO ou nгo REGISTRO tem como ajudar ??

pawn Код:
if(dialogid == DIALOG_REGISTRO)
    {
        if(USARDIALOGOS != 1) return 1;
        if(response)
        {
            if(!strlen(inputtext))
            {
                format(String, sizeof(String), "{98F5FF}>> {F5DEB3}Conta: {FFFFFF}%s\n{98F5FF}>> {F5DEB3}Status: {FF0000}Nгo Registrada{FFFFFF}\n\nColoque sua senha abaixo:", Nome(playerid));
                ShowPlayerDialog(playerid, DIALOG_REGISTRO, 3, "Faзa Seu - Registro:", String, "Registrar", "Sair");
                SendClientMessage(playerid, -1, "{FF0000}[ERRO]: {FFFFFF}Digite uma senha para se registrar");
                return 1;
            }
            format(StringContas, sizeof(StringContas), "Contas/%s.txt", Nome(playerid));
            DOF2_CreateFile(StringContas);
            DOF2_SetString(StringContas, "Senha", inputtext);
            DOF2_SetInt(StringContas, "Matou", 0);
            DOF2_SetInt(StringContas, "Morreu", 0);
            DOF2_SetInt(StringContas, "Grana", 0);
            DOF2_SetInt(StringContas, "Avisos", 0);
            DOF2_SetInt(StringContas, "Kickado", 0);
            DOF2_SetInt(StringContas, "Banido", 0);
            DOF2_SetInt(StringContas, "Preso", 0);
            PlayerDados[playerid][Logar] = 1;
            PlayerDados[playerid][Registrar] = 1;
            PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
            SendClientMessage(playerid, -1, "{00FF00}[REGISTRO]: {FFFFFF}Vocк estб registrado, e foi logado automaticamente");
            return 1;
        }
        else
        {
            SendClientMessage(playerid, -1, "{FF0000}[REGISTRO]: {FFFFFF}Vocк nгo quis sй registrar e por isso foi kickado!");
            Kick(playerid);
            return 1;
        }
    }
//|=============================================================================|
    if(dialogid == DIALOG_LOGIN)
    {
        if(USARDIALOGOS != 1) return 1;
        if(response)
        {
            if(!strlen(inputtext))
            {
                format(String, sizeof(String), "{98F5FF}>> {F5DEB3}Conta: {FFFFFF}%s\n{98F5FF}>> {F5DEB3}Status: {00FF00}Registrada{FFFFFF}\n\nColoque sua senha abaixo:", Nome(playerid));
                ShowPlayerDialog(playerid, DIALOG_LOGIN, 3, "Faзa Seu - Login:", String, "Logar", "Cancelar");
                SendClientMessage(playerid, 0xFF030FFF, "Digite sua senha para se logar!");
                return 1;
            }
            format(StringContas, sizeof(StringContas), "Contas/%s.txt", Nome(playerid));
            if(strcmp(inputtext, DOF2_GetString(StringContas, "Senha"), true))
            {
                format(String, sizeof(String), "{98F5FF}>> {F5DEB3}Conta: {FFFFFF}%s\n{98F5FF}>> {F5DEB3}Status: {00FF00}Registrada{FFFFFF}\n\nColoque sua senha abaixo:", Nome(playerid));
                ShowPlayerDialog(playerid, DIALOG_LOGIN, 3, "Faзa Seu - Login:", String, "Logar", "Cancelar");
                SendClientMessage(playerid, -1, "{FF0000}[ERRO]: {FFFFFF}Senha incorreta!");
                return 1;
            }
            else
            {
                SetPlayerScore(playerid, DOF2_GetInt(StringContas, "Matou"));
                PlayerDados[playerid][Morreu] = DOF2_GetInt(StringContas, "Morreu");
                new str[50];
                format(str, 50, "Admins/%s.sav", Nome(playerid));
                if(DOF2_FileExists(str))
                {
                    if(DOF2_IsSet(str, "Admin"))
                    {
                        PlayerDados[playerid][Admin] = DOF2_GetInt(str, "Admin");
                    }
                }
                PlayerDados[playerid][Avisos] = DOF2_GetInt(StringContas, "Avisos");
                PlayerDados[playerid][Kicks] = DOF2_GetInt(StringContas, "Kickado");
                PlayerDados[playerid][Bans] = DOF2_GetInt(StringContas, "Banido");
                GivePlayerMoney(playerid, DOF2_GetInt(StringContas, "Grana"));
                PlayerDados[playerid][Preso] = DOF2_GetInt(StringContas, "Preso");
                PlayerDados[playerid][Logar] = 1;
                PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
                if(PlayerDados[playerid][Admin] > 0)
                {
                    format(String, sizeof(String), "{00FF00}[LOGIN]: {FFFFFF}Logado com sucesso. ({00FF00}Nнvel %d{FFFFFF})", PlayerDados[playerid][Admin]);
                    if(PlayerDados[playerid][Admin] >= 6)
                    {
                        format(String, sizeof(String), "{00FF00}[LOGIN]: {FFFFFF}Logado com sucesso. ({00FF00}Nнvel %d - Dono do Servidor{FFFFFF})", PlayerDados[playerid][Admin]);
                    }
                    SendClientMessage(playerid, -1, String);
                }
                else return SendClientMessage(playerid, -1, "{00FF00}[LOGIN]: {FFFFFF}Logado com sucesso.");
            }
        }
        else
        {
            SendClientMessage(playerid, 0xFF030FFF, "{FF0000}[LOGIN] {FFFFFF}Vocк nгo quis Logar e por isso foi kickado!");
            Kick(playerid);
            return 1;
        }
    }
Reply
#2

O samp estб com este bug mesmo , crie um timer de 1 segundo apуs a mensagem.
PHP код:
//mensagem aki
//ai bota o timer :
SetTimerEx("Kickar",1000,false,#i,playerid);

stock Kickar(playerid)
{
Kick(playerid);

Reply
#3

Ou faзa o seguinte, crie uma funзгo:

Код:
stock KickP(ID)
{
	SetTimerEx("Kickar", 1000, false, "i", ID);
}

stock Kickar(ID)
{
	Kick(ID);
}
Agora ao invйs de Kick(playerid) use KickP(playerid)
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)