SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese

Reply
 
Thread Tools Display Modes
Old 10/07/2011, 09:30 PM   #1
arakuta
High-roller
 
arakuta's Avatar
 
Join Date: Jan 2011
Location: Itajaí - Brazil
Posts: 2,182
Reputation: 184
Default [Ajuda] Dialog de login aparecendo varias vezes

É o seguinte, aparece a login box na tela de seleção de skin, aí quando vc loga, e clica na seta pro lado pra mudar a skin, troca a skin e aparece a login box novamente! vou postar o FS inteiro, ja que foi retirado daqui do forum.

pawn Code:
/*MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMM                                                                        MMMM
MMMM                          [FLB]Falcon's Login Box                       MMMM
MMMM                           & salvamento de dados                        MMMM
MMMM========================================================================MMMM
MMMM                                                                        MMMM
MMMM                     ...::: Desenvolvimento :::...                      MMMM
MMMM                                Falcon                                  MMMM
MMMM                                                                        MMMM
MMMM  Baixado em: [url]http://forum.sa-mp.com/showthread.php?t=192519[/url]            MMMM
MMMM                                                                        MMMM
MMMM  É livre a edição do mesmo desde que adicione os devidos créditos ao   MMMM
MMMM  local que será usado !!                                               MMMM
MMMM                                                                        MMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM*/

#include <a_samp>
#include <dini>
#define FILTERSCRIPT
#define DialogRegistro 696
#define DialogLogin    697
#define DialogSaidaA   698
#define DialogSaidaB   699
//MMMMMMMMMMMMM|| [FLB]Config ||MMMMMMMMMMMMMMM//
#define ContasPlayers "/ContasPlayers/%s.ini"//Caso altere lembre-se de contar os caracteres e alterar em ( new arquivo[]; )
#define VALOR_MAXIMO_VIDA 100//Caso o seu servidor contenha algum valor maximo de vida altere aqui para o determinado valor
#define VALOR_MAXIMO_COLETE 100//Caso o seu servidor contenha algum valor maximo de colete altere aqui para o determinado valor
#define ATIVAR_CASE_SENSITIVE false  //false = ATIVADO  ||  true = DESATIVADO
#define MAXIMO_TLOGAR 4//Quantidade de vezes que o player pode tentar logar ao errar a senha

new TentativasDeLogar[MAX_PLAYERS];
new TotalMorreu[MAX_PLAYERS];
new TotalMatou[MAX_PLAYERS];
new nome[MAX_PLAYER_NAME];
new arquivo[44];

stock SalvarDadosPlayer(playerid)
{
    GetPlayerName(playerid, nome, sizeof(nome));
    format(arquivo, sizeof(arquivo), ContasPlayers, nome);
    if(!dini_Exists(arquivo)) dini_Create(arquivo);
   
    new Float:Vida, Float:Colete;
    GetPlayerHealth(playerid, Vida);
    GetPlayerArmour(playerid, Colete);
    dini_IntSet(arquivo, "TotalMorreu", TotalMorreu[playerid]);
    dini_IntSet(arquivo, "TotalMatou", TotalMatou[playerid]);
    return 0x1;
}

stock CarregarDadosPlayer(playerid)
{
    GetPlayerName(playerid, nome, sizeof(nome));
    format(arquivo, sizeof(arquivo), ContasPlayers, nome);
    if(!dini_Exists(arquivo)) return 0x1;
    TotalMorreu[playerid] = dini_Int(arquivo, "TotalMorreu");
    TotalMatou[playerid] = dini_Int(arquivo, "TotalMatou");
    return 0x1;
}

public OnFilterScriptInit()
{
    print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
    print("MM");
    print("MM       [FLB]Falcon's Login Box");
    print("MM");
    print("MM       (FilterScript Carregado)");
    print("MM");
    print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
    return 1;
}

public OnFilterScriptExit()
{
    print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
    print("MM");
    print("MM       [FLB]Falcon's Login Box");
    print("MM");
    print("MM      (FilterScript Descarregado)");
    print("MM");
    print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
    return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
    new string[124];
    GetPlayerName(playerid, nome, sizeof(nome));
    format(arquivo, sizeof(arquivo), ContasPlayers, nome);
    if(!dini_Exists(arquivo))
    {
        format(string, sizeof(string), "Você ainda não possui registro em nosso servidor\n\nNome: %s\n\nInsira uma senha para registrar-se:", nome);
        ShowPlayerDialog(playerid, DialogRegistro, DIALOG_STYLE_INPUT, "- Registro", string, "Registrar", "Sair");
        return 0x1;
    }
    if(dini_Exists(arquivo))
    {
        TentativasDeLogar[playerid] = 0;
        format(string, sizeof(string), "Você já possui registro em nosso servidor\n\nNome: %s\n\nInsira sua senha para logar-se:", nome);
        ShowPlayerDialog(playerid, DialogLogin, DIALOG_STYLE_INPUT, "- Login", string, "Logar", "Sair");
        return 0x1;
    }
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    SalvarDadosPlayer(playerid);
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    TotalMorreu[playerid] ++;
    TotalMatou[killerid] ++;
    return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    if(!strcmp(cmdtext, "/salvardados", true))
    {
        SalvarDadosPlayer(playerid);
        SendClientMessage(playerid, 0xFFFFFFAA, "Dados Salvos com sucesso !!");
        return 0x1;
    }
    return 0;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    new string[124];
    if(dialogid == DialogRegistro)
    {
        if(!response) ShowPlayerDialog(playerid, DialogSaidaA, DIALOG_STYLE_MSGBOX, "Confirmar Saida", "Você ainda não está registrado. Tem certeza que deseja sair ?", "Sair", "Voltar");
        if(response)
        {
            if(strlen(inputtext) == 0)
            {
                SendClientMessage(playerid, 0xFF0000AA, "Senha inválida...Insira uma senha para que possa registrar !!");
                format(string, sizeof(string), "Você ainda não possui registro em nosso servidor\n\nNome: %s\n\nInsira uma senha para registrar-se:", nome);
                return ShowPlayerDialog(playerid, DialogRegistro, DIALOG_STYLE_INPUT, "- Registro", string, "Registrar", "Sair");
            }
            GetPlayerName(playerid, nome, sizeof(nome));
            format(arquivo, sizeof(arquivo), ContasPlayers, nome);
            dini_Create(arquivo);
            dini_Set(arquivo, "Senha", inputtext);
            dini_IntSet(arquivo, "TotalMorreu", 0);
            dini_IntSet(arquivo, "TotalMatou", 0);
            SendClientMessage(playerid, 0xFFFFFFAA, "Registro concluido com sucesso !!");
        }
    }
    if(dialogid == DialogLogin)
    {
        if(!response) ShowPlayerDialog(playerid, DialogSaidaB, DIALOG_STYLE_MSGBOX, "Confirmar Saida", "Você ainda não está logado. Tem certeza que deseja sair ?", "Sair", "Voltar");
        if(response)
        {
            if(strlen(inputtext) == 0)
            {
                SendClientMessage(playerid, 0xFF0000AA, "Senha inválida...Insira uma senha para que possa logar !!");
                format(string, sizeof(string), "Você já possui registro em nosso servidor\n\nNome: %s\n\nInsira sua senha para logar-se:", nome);
                return ShowPlayerDialog(playerid, DialogLogin, DIALOG_STYLE_INPUT, "- Login", string, "Logar", "Sair");
            }
            GetPlayerName(playerid, nome, sizeof(nome));
            format(arquivo, sizeof(arquivo), ContasPlayers, nome);
            if(!strcmp(inputtext, dini_Get(arquivo, "Senha"), ATIVAR_CASE_SENSITIVE))
            {
                SendClientMessage(playerid, 0xFFFFFFAA, "Login efetuado com sucesso!!");
                CarregarDadosPlayer(playerid);
            }
            else
            {
                TentativasDeLogar[playerid] ++;
                if(TentativasDeLogar[playerid] < MAXIMO_TLOGAR)
                {
                    SendClientMessage(playerid, 0xFF0000AA, "Senha INCORRETA !! Caso não acerte a senha você será kickado por motivos de segurança !!");
                    format(string, sizeof(string), "Você já possui registro em nosso servidor\n\nNome: %s\n\nInsira sua senha para logar-se:", nome);
                    ShowPlayerDialog(playerid, DialogLogin, DIALOG_STYLE_INPUT, "- Login", string, "Logar", "Sair");
                    return 0x1;
                }
                if(TentativasDeLogar[playerid] >= MAXIMO_TLOGAR)
                {
                    SendClientMessage(playerid, 0xFF0000AA, "Você não acertou a senha em um numero maximo de tentativas. Por isto foi kickado");
                    Kick(playerid);
                    return 0x1;
                }
            }
        }
    }
    if(dialogid == DialogSaidaA)
    {
        if(response)
        {
            SendClientMessage(playerid, 0xFF0000AA, "Você decidiu sair do servidor sem se registrar !! Volte Sempre...");
            Kick(playerid);
        }
        else
        {
            format(string, sizeof(string), "Você ainda não possui registro em nosso servidor\n\nNome: %s\n\nInsira uma senha para registrar-se:", nome);
            ShowPlayerDialog(playerid, DialogRegistro, DIALOG_STYLE_INPUT, "- Registro", string, "Registrar", "Sair");
        }
    }
    if(dialogid == DialogSaidaB)
    {
        if(response)
        {
            SendClientMessage(playerid, 0xFF0000AA, "Você decidiu sair do servidor sem se logar !! Volte Sempre...");
            Kick(playerid);
        }
        else
        {
            format(string, sizeof(string), "Você já possui registro em nosso servidor\n\nNome: %s\n\nInsira sua senha para logar-se:", nome);
            ShowPlayerDialog(playerid, DialogLogin, DIALOG_STYLE_INPUT, "- Login", string, "Logar", "Sair");
        }
    }
    return 1;
}

Falcon, seu nome ja esta no /creditos! SendClientMessage(playerid,COLOR_GREEN,"Login/Registro: Falcon");
arakuta is offline   Reply With Quote
Old 10/07/2011, 10:55 PM   #2
Dark.Angel
Huge Clucker
 
Join Date: Nov 2010
Posts: 255
Reputation: 8
Default Re: [Ajuda] Dialog de login aparecendo varias vezes

Troca o public OnPlayerRequestClass(playerid, classid)
por este aqui:
PHP Code:
public OnPlayerConnect(playerid)
{
    new 
string[124];
    
GetPlayerName(playeridnomesizeof(nome));
    
format(arquivosizeof(arquivo), ContasPlayersnome);
    if(!
dini_Exists(arquivo))
    {
        
format(stringsizeof(string), "Você ainda não possui registro em nosso servidor\n\nNome: %s\n\nInsira uma senha para registrar-se:"nome);
        
ShowPlayerDialog(playeridDialogRegistroDIALOG_STYLE_INPUT"- Registro"string"Registrar""Sair");
        return 
0x1;
    }
    if(
dini_Exists(arquivo))
    {
        
TentativasDeLogar[playerid] = 0;
        
format(stringsizeof(string), "Você já possui registro em nosso servidor\n\nNome: %s\n\nInsira sua senha para logar-se:"nome);
        
ShowPlayerDialog(playeridDialogLoginDIALOG_STYLE_INPUT"- Login"string"Logar""Sair");
        return 
0x1;
    }
    return 
1;

Dark.Angel is offline   Reply With Quote
Old 10/07/2011, 11:38 PM   #3
RockFire
Gangsta
 
RockFire's Avatar
 
Join Date: Nov 2010
Posts: 919
Reputation: 39
Default Re: [Ajuda] Dialog de login aparecendo varias vezes

http://pastebin.com/AW70A1XM
Arrumei pra você
__________________
RockFire is offline   Reply With Quote
Old 11/07/2011, 02:01 AM   #4
arakuta
High-roller
 
arakuta's Avatar
 
Join Date: Jan 2011
Location: Itajaí - Brazil
Posts: 2,182
Reputation: 184
Default Re: [Ajuda] Dialog de login aparecendo varias vezes

O seu da erros Feliperch, porém obrigado.
O do Dark.Angel foi tiro e queda! Obrigado!
arakuta is offline   Reply With Quote
Old 11/07/2011, 10:08 AM   #5
Sr.Pekeno
Huge Clucker
 
Sr.Pekeno's Avatar
 
Join Date: Jun 2011
Posts: 314
Reputation: 5
Default Re: [Ajuda] Dialog de login aparecendo varias vezes

O meu problema mesmo nesta questão é o level de procurado e algumas coisinhas não estão salvando como dinheiro e tals, estou com muitos problemas em questão disso, e não sei nem como arrumar..
Sr.Pekeno is offline   Reply With Quote
Old 11/07/2011, 11:37 AM   #6
wallon
Big Clucker
 
wallon's Avatar
 
Join Date: Jun 2008
Location: Brazil :D
Posts: 114
Reputation: 1
Default Re: [Ajuda] Dialog de login aparecendo varias vezes

Quote:
Originally Posted by Sr.Pekeno View Post
O meu problema mesmo nesta questão é o level de procurado e algumas coisinhas não estão salvando como dinheiro e tals, estou com muitos problemas em questão disso, e não sei nem como arrumar..
posta o codigo
wallon is offline   Reply With Quote
Old 11/07/2011, 11:59 AM   #7
Falcon.
High-roller
 
Falcon.'s Avatar
 
Join Date: Jul 2010
Location: Brasília - DF
Posts: 1,743
Reputation: 173
Default Re: [Ajuda] Dialog de login aparecendo varias vezes

Olá a todos,

Eu desenvolvi este FS já faz um tempinho, e acredito que atualizei somente uma vez(Culpa da falta de tempo).
Hoje estarei fazendo uma grande atualização nele e corrigindo alguns erros.

Obrigado pela utilização...


Atenciosamente,
Falcon.
__________________

Republic Adventure RPG
em breve...

Falcon. is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[Ajuda] Bug que da as vezes arakuta Português/Portuguese 5 10/07/2011 03:46 PM
[Ajuda] Login em dialog BreakDriFT Português/Portuguese 4 02/05/2011 09:10 PM
[AJUDA] Objetos/Somem e as Vezes aparece Rodolfo_Halls Português/Portuguese 3 23/10/2010 01:47 AM
[AJUDA]Login/Register em dialog! connectlife Português/Portuguese 14 08/09/2010 03:03 PM
[AJUDA] Aparecendo tudo que as pessoas escrevem PawninG Português/Portuguese 3 01/09/2010 12:55 AM


All times are GMT. The time now is 03:33 AM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.