SA-MP Forums Archive
[Ajuda] OndialogResponse - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] OndialogResponse (/showthread.php?tid=580450)



OndialogResponse - LuisFerreira - 05.07.2015

Bom nгo sei oque esta dando no meu ondialog response.

PHP код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
     new 
Msg_format[128];
    switch(
dialogid)
    {
        case 
DIALOG_REGISTRO:
        {
            if(!
response) return SendClientMessage(playerid, -1, "{FF0000}Erro!"), Kick(playerid);
            if(
strlen(inputtext) < 4 || strlen(inputtext) > 16)
            {
                
SendClientMessage(playerid, -1, "{FF0000}Erro!");
                new 
String[400], IPJogador[25];
                
GetPlayerIp(playerid, IPJogador, 25);
                
format(String, sizeof(String), "%s{A9C4E4}Olб {FFFFFF}%s{A9C4E4}, vocк nгo possui conta {ff0000}registrada {A9C4E4}em nosso servidor.\n", String, Nome(playerid));
                
format(String, sizeof(String), "%s\n", String, Nome(playerid));
                
format(String, sizeof(String), "%s{A9C4E4}Para se registrar em nosso servidor basta digitar {FFFFFF}uma senha {A9C4E4}abaixo.\n", String, Nome(playerid));
                
format(String, sizeof(String), "%s{A9A9A9}Para maior seguranзa seu IP ({FFFFFF}%s{A9A9A9}) foi salvo em nosso banco de dados.\n", String, IPJogador);
                
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "{FF0000}# {FFFFFF}Registrando...", String, "Registrar", "Cancelar");
                return 
1;
            }
            if(
response)
            {
                
DigitouSenha[playerid] = 1;
                new 
Query[200];
                
mysql_format(Conexao, Query, sizeof(Query), "INSERT INTO `usuarios` (`Nome`, `Senha`) VALUES ('%e','%e')", Nome(playerid), inputtext);
                
mysql_tquery(Conexao, Query, "DadosRegistrados", "i", playerid);
                  
PlayerInfo[playerid][Level] = LEVEL_INICIAL;
                
PlayerInfo[playerid][Skin] = SKIN_INICIAL;
                
PlayerInfo[playerid][Dinheiro] = DINHEIRO_INICIAL;
                
PlayerInfo[playerid][Pos][0] = POSX_INICIAL;
                
PlayerInfo[playerid][Pos][1] = POSY_INICIAL;
                
PlayerInfo[playerid][Pos][2] = POSZ_INICIAL;
                
SendClientMessage(playerid, -1, "Sua conta foi registrada com sucesso!");
                
CarregarDados(playerid);
                return 
1;
            }
            return 
1;
        }
        if ( 
dialogid == DIALOG_ATIV_KEY && response)
        {
            
UseVipKey(playerid, inputtext);
            return 
1;
        }
        if ( 
dialogid == DIALOG_MAKE_KEY && response )
        {
            
format ( cKey[playerid], 128, inputtext);
            new 
Str[128];
            
format ( Str, sizeof Str, "{a9c4e4}Seu novo codigo VIP: {FFFFFF}%s, {a9c4e4}agora nos informe a quantidade de dias do vip:", cKey[playerid]);
            
ShowPlayerDialog(playerid, DIALOG_MAKE_DAYS, DIALOG_STYLE_INPUT, "{FF0000}# {FFFFFF}Key", Str, "Criar", "Cancelar");
            return 
true;
        }
        if ( 
dialogid == DIALOG_MAKE_DAYS && response )
        {
            if ( !
IsNumeric(inputtext)) return SendClientMessage(playerid, -1, "{FF0000}Dias sгo compostos de nъmeros.");
            
cDays[playerid] = strval(inputtext);
            new 
Str[500];
            
format ( Str, sizeof Str,  "{a9c4e4}Informaзхes de sua nova key, cуdigo: {FFFFFF}%s, {a9c4e4}Vencimento: {FFFFFF}%d dias, {a9c4e4}Deseja criar?", cKey[playerid], cDays[playerid]);
            
ShowPlayerDialog(playerid, DIALOG_CONFIRM, DIALOG_STYLE_MSGBOX, "{FF0000}# {FFFFFF}Key",Str, "Sim", "Nгo");
            return 
1;
        }
        if ( 
dialogid == DIALOG_CONFIRM && response)
        {
            
CreateVipKey(playerid, cKey[playerid], cDays[playerid]);
            return 
1;
        }
        case 
DIALOG_SEXO:
        {
            if(!
response)
            {
                
DigitouSexo[playerid] = 1;
                
SendClientMessage(playerid, -1, "Seu sexo й feminino.");
                
PlayerInfo[playerid][Sexo] = 1;
                } else {
                
DigitouSexo[playerid] = 1;
                
SendClientMessage(playerid, -1, "Seu sexo й masculino.");
                
PlayerInfo[playerid][Sexo] = 2;
            }
            return 
1;
        }
        case 
DIALOG_IDADE:
        {
            if(!
response) return SendClientMessage(playerid, -1, "Vocк nгo quis digitar a idade do seu personagem.");
            if(!
strlen(inputtext))
            {
                
SendClientMessage(playerid, -1, "Vocк nгo digitou nada, digite uma idade!");
                
ShowPlayerDialog(playerid, DIALOG_IDADE, DIALOG_STYLE_INPUT, "Digite sua idade", "Digite a idade do seu personagem abaixo.\n\nObs: Mнnimo 12 e mбximo 80 anos.", "Registrar", "Voltar");
                return 
1;
            }
            if(
strval(inputtext) < 10 || strval(inputtext) > 100)
            {
                
SendClientMessage(playerid, -1, "Sua idade deve ser entre 10 e 100 anos.");
                
ShowPlayerDialog(playerid, DIALOG_IDADE, DIALOG_STYLE_INPUT, "Digite sua idade", "Digite a idade do seu personagem abaixo.\n\nObs: Mнnimo 12 e mбximo 80 anos.", "Registrar", "Voltar");
                return 
1;
            }
            
DigitouIdade[playerid] = 1;
            
PlayerInfo[playerid][Idade] = strval(inputtext);
            return 
1;
        }
        case 
DIALOG_LOGIN:
        {
            new 
String[400], IPJogador[25];
            
GetPlayerIp(playerid, IPJogador, 25);
            if(
strlen(inputtext) < 4 || strlen(inputtext) > 16) return SendClientMessage(playerid, -1, "{FF0000}Erro !"), Kick(playerid);
            if(!
response) return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{FF0000}# {FFFFFF}Logando...", String, "Logar", "Cancelar");
            if(!
strcmp(PlayerInfo[playerid][pPassword], inputtext, true, 129))
            {
                
DigitouLogin[playerid] = 1;
                new 
Query[70];
                
mysql_format(Conexao, Query, sizeof(Query), "SELECT * FROM usuarios WHERE Nome='%s'", Nome(playerid));
                
mysql_tquery(Conexao, Query, "Mysql_Carregar", "d", playerid);
                } else {
                
SendClientMessage(playerid, -1, "{FF0000}Senha incorreta !");
                
format(String, sizeof(String), "%s{A9C4E4}Olб {FFFFFF}%s {A9C4E4}seja bem vindo ao servidor {00FF00}novamente.\n", String, Nome(playerid));
                
format(String, sizeof(String), "%s\n", String, Nome(playerid));
                
format(String, sizeof(String), "%s{A9C4E4}para fazer o login, basta digitar {FFFFFF}sua senha {A9C4E4}abaixo.\n", String, Nome(playerid));
                
format(String, sizeof(String), "%s{A9A9A9}Para maior seguranзa seu IP ({FFFFFF}%s{A9A9A9}) foi salvo em nosso banco de dados.\n", String, IPJogador);
                
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{FF0000}# {FFFFFF}Logando...", String, "Logar", "Cancelar");
            }
            return 
1;
        }
        case 
DIALOG_SENHA:
        {
            if(!
response) return SendClientMessage(playerid, -1, "{FF0000}Erro!");
            if(
strlen(inputtext) < 4 || strlen(inputtext) > 16)
            {
                
SendClientMessage(playerid, -1, "Sua senha deve conter entre 4 e 16 caracteres!!!");
                
ShowPlayerDialog(playerid, DIALOG_SENHA, DIALOG_STYLE_PASSWORD, "Digite uma senha:", "Digite sua nova senha abaixo\n\nObs: Ela deve conter no mнnimo 4 e no mбximo 16 caracteres.", "Trocar", "Voltar");
                return 
1;
            }
            if(
response)
            {
                new 
Query[120];
                
mysql_format(Conexao, Query, sizeof(Query), "UPDATE `usuarios` SET `Senha`='%e' WHERE `ID`='%d'",inputtext, PlayerInfo[playerid][ID]);
                
mysql_tquery(Conexao, Query,"","");
                
format(Msg_format, sizeof(Msg_format), "Sua senha foi alterada com sucesso, nova senha: %s!!!", inputtext);
                
SendClientMessage(playerid, -1, Msg_format);
                return 
1;
            }
            return 
1;
        }
        case 
DIALOG_NICK:
        {
            if(!
response) return SendClientMessage(playerid, -1, "Vocк nгo quis digitar uma senha");
            if(
strlen(inputtext) > 25)
            {
                
SendClientMessage(playerid, -1, "Seu novo nick name deve conter ate 25 caracteres!!!");
                
ShowPlayerDialog(playerid, DIALOG_NICK, DIALOG_STYLE_PASSWORD, "Digite um novo nick:", "Digite seu novo nick abaixo\n\nObs: Ele deve conter no mбximo 25 caracteres.", "Trocar", "Voltar");
                return 
1;
            }
            if(
response)
            {
                
SetPlayerName(playerid, inputtext);
                new 
Query[120];
                
mysql_format(Conexao, Query, sizeof(Query), "UPDATE `usuarios` SET `Nome`='%e' WHERE `ID`='%d'", inputtext, PlayerInfo[playerid][ID]);
                
mysql_tquery(Conexao, Query,"","");
                
format(Msg_format, sizeof(Msg_format), "Seu nick foi alterado com sucesso, novo nick: %s!!!", inputtext);
                
SendClientMessage(playerid, -1, Msg_format);
                return 
1;
            }
            return 
1;
        }
    }
    return 
1;
} 
Erros:

PHP код:
error 002: only a single statement (or expression) can follow each "case"
error 029: invalid expression, assumed zero
unreachable code
invalid statement
; not in switch
expression has no effect
expected token
: ";", but found ":"
too many error messages on one line 



Re: OndialogResponse - PT - 05.07.2015

PHP код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) 
{ 
     new 
Msg_format[128]; 
    switch(
dialogid) 
    { 
        case 
DIALOG_REGISTRO: 
        { 
            if(!
response) return SendClientMessage(playerid, -1, "{FF0000}Erro!"), Kick(playerid); 
            if(
strlen(inputtext) < 4 || strlen(inputtext) > 16) 
            { 
                
SendClientMessage(playerid, -1, "{FF0000}Erro!"); 
                new 
String[400], IPJogador[25]; 
                
GetPlayerIp(playerid, IPJogador, 25); 

                
format(String, sizeof(String), "%s{A9C4E4}Olб {FFFFFF}%s{A9C4E4}, vocк nгo possui conta {ff0000}registrada {A9C4E4}em nosso servidor.\n", String, Nome(playerid)); 
                
format(String, sizeof(String), "%s\n", String, Nome(playerid)); 
                
format(String, sizeof(String), "%s{A9C4E4}Para se registrar em nosso servidor basta digitar {FFFFFF}uma senha {A9C4E4}abaixo.\n", String, Nome(playerid)); 
                
format(String, sizeof(String), "%s{A9A9A9}Para maior seguranзa seu IP ({FFFFFF}%s{A9A9A9}) foi salvo em nosso banco de dados.\n", String, IPJogador); 
                
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "{FF0000}# {FFFFFF}Registrando...", String, "Registrar", "Cancelar"); 

                return 
1; 
            } 
            if(
response) 
            { 
                
DigitouSenha[playerid] = 1; 
                new 
Query[200]; 
                
mysql_format(Conexao, Query, sizeof(Query), "INSERT INTO `usuarios` (`Nome`, `Senha`) VALUES ('%e','%e')", Nome(playerid), inputtext); 
                
mysql_tquery(Conexao, Query, "DadosRegistrados", "i", playerid); 

                  
PlayerInfo[playerid][Level] = LEVEL_INICIAL; 
                
PlayerInfo[playerid][Skin] = SKIN_INICIAL; 
                
PlayerInfo[playerid][Dinheiro] = DINHEIRO_INICIAL; 
                
PlayerInfo[playerid][Pos][0] = POSX_INICIAL; 
                
PlayerInfo[playerid][Pos][1] = POSY_INICIAL; 
                
PlayerInfo[playerid][Pos][2] = POSZ_INICIAL; 
                
SendClientMessage(playerid, -1, "Sua conta foi registrada com sucesso!"); 
                
CarregarDados(playerid); 

                return 
1; 
            } 
            return 
1; 
        } 
        case 
DIALOG_ATIV_KEY:
        {
            if(
response)
            {
                
UseVipKey(playerid, inputtext); 
            }
        }
        case 
DIALOG_MAKE_KEY:
        {
            if(
response)
            {
                
format ( cKey[playerid], 128, inputtext); 
                new 
Str[128]; 
                
format ( Str, sizeof Str, "{a9c4e4}Seu novo codigo VIP: {FFFFFF}%s, {a9c4e4}agora nos informe a quantidade de dias do vip:", cKey[playerid]); 
                
ShowPlayerDialog(playerid, DIALOG_MAKE_DAYS, DIALOG_STYLE_INPUT, "{FF0000}# {FFFFFF}Key", Str, "Criar", "Cancelar"); 
                return 
true; 
            }
        }
        case 
DIALOG_MAKE_DAYS:
        {
            if(
response)
            {
                if ( !
IsNumeric(inputtext)) return SendClientMessage(playerid, -1, "{FF0000}Dias sгo compostos de nъmeros."); 
            
cDays[playerid] = strval(inputtext); 
            new 
Str[500]; 
            
format ( Str, sizeof Str,  "{a9c4e4}Informaзхes de sua nova key, cуdigo: {FFFFFF}%s, {a9c4e4}Vencimento: {FFFFFF}%d dias, {a9c4e4}Deseja criar?", cKey[playerid], cDays[playerid]); 
            
ShowPlayerDialog(playerid, DIALOG_CONFIRM, DIALOG_STYLE_MSGBOX, "{FF0000}# {FFFFFF}Key",Str, "Sim", "Nгo"); 
            return 
1; 
            }
        }
        case 
DIALOG_CONFIRM:
        {
            if(
response)
            {
                
CreateVipKey(playerid, cKey[playerid], cDays[playerid]); 
            }
        }
        case 
DIALOG_SEXO: 
        { 
            if(!
response) 
            { 
                
DigitouSexo[playerid] = 1; 
                
SendClientMessage(playerid, -1, "Seu sexo й feminino."); 
                
PlayerInfo[playerid][Sexo] = 1; 
                } else { 
                
DigitouSexo[playerid] = 1; 
                
SendClientMessage(playerid, -1, "Seu sexo й masculino."); 
                
PlayerInfo[playerid][Sexo] = 2; 
            } 
            return 
1; 
        } 
        case 
DIALOG_IDADE: 
        { 
            if(!
response) return SendClientMessage(playerid, -1, "Vocк nгo quis digitar a idade do seu personagem."); 
            if(!
strlen(inputtext)) 
            { 
                
SendClientMessage(playerid, -1, "Vocк nгo digitou nada, digite uma idade!"); 
                
ShowPlayerDialog(playerid, DIALOG_IDADE, DIALOG_STYLE_INPUT, "Digite sua idade", "Digite a idade do seu personagem abaixo.\n\nObs: Mнnimo 12 e mбximo 80 anos.", "Registrar", "Voltar"); 
                return 
1; 
            } 
            if(
strval(inputtext) < 10 || strval(inputtext) > 100) 
            { 
                
SendClientMessage(playerid, -1, "Sua idade deve ser entre 10 e 100 anos."); 
                
ShowPlayerDialog(playerid, DIALOG_IDADE, DIALOG_STYLE_INPUT, "Digite sua idade", "Digite a idade do seu personagem abaixo.\n\nObs: Mнnimo 12 e mбximo 80 anos.", "Registrar", "Voltar"); 
                return 
1; 
            } 
            
DigitouIdade[playerid] = 1; 
            
PlayerInfo[playerid][Idade] = strval(inputtext); 
            return 
1; 
        } 
        case 
DIALOG_LOGIN: 
        { 
            new 
String[400], IPJogador[25]; 
            
GetPlayerIp(playerid, IPJogador, 25); 
            if(
strlen(inputtext) < 4 || strlen(inputtext) > 16) return SendClientMessage(playerid, -1, "{FF0000}Erro !"), Kick(playerid); 
            if(!
response) return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{FF0000}# {FFFFFF}Logando...", String, "Logar", "Cancelar"); 
            if(!
strcmp(PlayerInfo[playerid][pPassword], inputtext, true, 129)) 
            { 
                
DigitouLogin[playerid] = 1; 
                new 
Query[70]; 
                
mysql_format(Conexao, Query, sizeof(Query), "SELECT * FROM usuarios WHERE Nome='%s'", Nome(playerid)); 
                
mysql_tquery(Conexao, Query, "Mysql_Carregar", "d", playerid); 

                } else { 
                
SendClientMessage(playerid, -1, "{FF0000}Senha incorreta !"); 

                
format(String, sizeof(String), "%s{A9C4E4}Olб {FFFFFF}%s {A9C4E4}seja bem vindo ao servidor {00FF00}novamente.\n", String, Nome(playerid)); 
                
format(String, sizeof(String), "%s\n", String, Nome(playerid)); 
                
format(String, sizeof(String), "%s{A9C4E4}para fazer o login, basta digitar {FFFFFF}sua senha {A9C4E4}abaixo.\n", String, Nome(playerid)); 
                
format(String, sizeof(String), "%s{A9A9A9}Para maior seguranзa seu IP ({FFFFFF}%s{A9A9A9}) foi salvo em nosso banco de dados.\n", String, IPJogador); 
                
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{FF0000}# {FFFFFF}Logando...", String, "Logar", "Cancelar"); 
            } 
            return 
1; 
        } 
        case 
DIALOG_SENHA: 
        { 
            if(!
response) return SendClientMessage(playerid, -1, "{FF0000}Erro!"); 
            if(
strlen(inputtext) < 4 || strlen(inputtext) > 16) 
            { 
                
SendClientMessage(playerid, -1, "Sua senha deve conter entre 4 e 16 caracteres!!!"); 
                
ShowPlayerDialog(playerid, DIALOG_SENHA, DIALOG_STYLE_PASSWORD, "Digite uma senha:", "Digite sua nova senha abaixo\n\nObs: Ela deve conter no mнnimo 4 e no mбximo 16 caracteres.", "Trocar", "Voltar"); 
                return 
1; 
            } 
            if(
response) 
            { 
                new 
Query[120]; 
                
mysql_format(Conexao, Query, sizeof(Query), "UPDATE `usuarios` SET `Senha`='%e' WHERE `ID`='%d'",inputtext, PlayerInfo[playerid][ID]); 
                
mysql_tquery(Conexao, Query,"",""); 
                
format(Msg_format, sizeof(Msg_format), "Sua senha foi alterada com sucesso, nova senha: %s!!!", inputtext); 
                
SendClientMessage(playerid, -1, Msg_format); 
                return 
1; 
            } 
            return 
1; 
        } 
        case 
DIALOG_NICK: 
        { 
            if(!
response) 
                return 
SendClientMessage(playerid, -1, "Vocк nгo quis digitar uma senha"); 
            
            if(
strlen(inputtext) > 25) 
            { 
                
SendClientMessage(playerid, -1, "Seu novo nick name deve conter ate 25 caracteres!!!"); 
                
ShowPlayerDialog(playerid, DIALOG_NICK, DIALOG_STYLE_PASSWORD, "Digite um novo nick:", "Digite seu novo nick abaixo\n\nObs: Ele deve conter no mбximo 25 caracteres.", "Trocar", "Voltar"); 
                return 
1; 
            } 
            
SetPlayerName(playerid, inputtext); 
            new 
Query[120]; 
            
mysql_format(Conexao, Query, sizeof(Query), "UPDATE `usuarios` SET `Nome`='%e' WHERE `ID`='%d'", inputtext, PlayerInfo[playerid][ID]); 
            
mysql_tquery(Conexao, Query,"",""); 
            
format(Msg_format, sizeof(Msg_format), "Seu nick foi alterado com sucesso, novo nick: %s!!!", inputtext); 
            
SendClientMessage(playerid, -1, Msg_format); 
        } 
    } 
    return 
1; 
} 



Re: OndialogResponse - LuisFerreira - 05.07.2015

Obrigado, PT!!