Portal SAMP
[Ajuda] dialog some dando esc - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] dialog some dando esc (/showthread.php?tid=4418)



dialog some dando esc - fear - 16/01/2024

boa tarde.

queria que a dialog poslogin quando desse esc ou clicasse em - ela não fechasse..

eu tentei fazer porém ta dando errado

Código PHP:
onPlayerLogin(playerid) {
    
loadPlayerAccount(playerid);

   
    if(
PlayerInfo[playerid][Admin] == 1PlayerInfo[playerid][modoon] = false;
    if(
verifyPlayerInPrisionState(playerid) || verifyPlayerInPrisionAdm(playerid)) return 1;

    
messageWelcome(playerid);
    if(!
response)
    {
    new 
StrCMD[3000];
    
strcat(StrCMD"{FFFFFF}O Servidor ZonePerfect Criado em 2013 com o foco no modo de jogo DRIFT hoje ja compoem outros modos de jogo como policial x bandido, mata-mata, drift e fuga.\n");
    
strcat(StrCMD"{FFFFFF}Nossa equipe sempre esta disposta em nosso discord: {FF8000}discord.gg/evgstW9hTz\n");
    
strcat(StrCMD"{FFFFFF}Alguem azaralhando o servidor? Denuncie: {FF8000}/Rt\n");
    
strcat(StrCMD"{FFFFFF}Conheca os modos de jogo do servidor: {FF8000}/Mundos\n");
    return 
ShowPlayerDialog(playerid,POSLOGIN,DIALOG_STYLE_MSGBOX,"{6495ED}# {FFFFFF}Apresentacao"StrCMD"Proximo""-");
    
TextDrawShowForPlayer(playeridTEXTZONE[0]);
    
TextDrawShowForPlayer(playeridTEXTZONE[1]);
    }
    return 
1;


erro:

Código PHP:
error 017undefined symbol "response"
warning 225unreachable code 



RE: dialog some dando esc - xbruno1000x - 16/01/2024

Response é uma variável da public OnDialogResponse. Não é possível utilizar fora dela.


RE: dialog some dando esc - fear - 16/01/2024

(16/01/2024 15:22)xbruno1000x Escreveu: Response é uma variável da public OnDialogResponse. Não é possível utilizar fora dela.

Como faço então pra aplicar oque eu quero?


RE: dialog some dando esc - xbruno1000x - 16/01/2024

(16/01/2024 15:23)fear Escreveu:
(16/01/2024 15:22)xbruno1000x Escreveu: response é uma variável da public OnDialogResponse. Não é possível utilizar fora dela.

Como faço então pra aplicar oque eu quero?

Vai na OnDialogResponse, localiza a resposta da dialogid == POSLOGIN e coloca if(!response) return -- Código da dialog aqui --


RE: dialog some dando esc - fear - 16/01/2024

(16/01/2024 15:26)xbruno1000x Escreveu:
(16/01/2024 15:23)fear Escreveu:
(16/01/2024 15:22)xbruno1000x Escreveu: response é uma variável da public OnDialogResponse. Não é possível utilizar fora dela.

Como faço então pra aplicar oque eu quero?

Vai na OnDialogResponse, localiza a resposta da dialogid == POSLOGIN e coloca if(!response) return -- Código da dialog aqui --

Eu fiz assim:

Código PHP:
    if(dialogid == POSLOGIN)
    {
        if(
response)
        {
            if(
PlayerInfo[playerid][PresoN] >= 1) {
                
PlayerInfo[playerid][TPreso] = SetTimerEx("LiberarPrisao",1000,false,"d",playerid);
            } else {
                 new 
stringg[500],Stringd[500];
                
strcat(Stringd,"{FFFFFF}Mundos\t{FFFFFF}Jogadores\n");
                
format(stringg,sizeof(stringg),"{FF8000}Mundo {FFFFFF}Policia x Bandido\t{4169E1}%d\n",fuga);
                
strcat(Stringd,stringg);
                
format(stringg,sizeof(stringg),"{FF8000}Mundo {FFFFFF}Mata-Mata\t{4169E1}%d\n",pvp);
                
strcat(Stringd,stringg);
                
format(stringg,sizeof(stringg),"{FF8000}Mundo {FFFFFF}Drift\t{4169E1}%d\n",drift);
                
strcat(Stringd,stringg);
                
format(stringg,sizeof(stringg),"{FF8000}Mundo {FFFFFF}Fuga - Com Mundos\t{4169E1}%d\n",livres);
                
strcat(Stringd,stringg);
                
ShowPlayerDialog(playerid,DIALOG_MODOS,DIALOG_STYLE_TABLIST_HEADERS,"{FF8000}ZonePerfect {FFFFFF}- Mundos",Stringd,"Selecionar","-");

            }
        }
    }
    if(
dialogid == POSLOGIN2)
    {
                if(!
response)
            {
            new 
StrCMD[3000];
            
strcat(StrCMD"{FFFFFF}O Servidor ZonePerfect Criado em 2013 com o foco no modo de jogo DRIFT hoje ja compoem outros modos de jogo como policial x bandido, mata-mata, drift e fuga.\n");
            
strcat(StrCMD"{FFFFFF}Nossa equipe sempre esta disposta em nosso discord: {FF8000}discord.gg/evgstW9hTz\n");
            
strcat(StrCMD"{FFFFFF}Alguem azaralhando o servidor? Denuncie: {FF8000}/Rt\n");
            
strcat(StrCMD"{FFFFFF}Conheca os modos de jogo do servidor: {FF8000}/Mundos\n");
            return 
ShowPlayerDialog(playerid,POSLOGIN2,DIALOG_STYLE_MSGBOX,"{6495ED}# {FFFFFF}Apresentacao"StrCMD"Proximo""-");
        }
    } 

mas quando do proximo no dialog de tutorial ele não avança pro dialog de mundos...


RE: dialog some dando esc - xbruno1000x - 16/01/2024

Você não fez o que eu disse... você criou uma nova dialog chamada POSLOGIN2, que nunca será chamada, pois estamos lidando com a dialog de id POSLOGIN.

Tudo deve ser inserido dentro da dialog que estamos lidando.

Tente assim:
Código:
    if(dialogid == POSLOGIN)
    {
        if(response)
        {
            if(PlayerInfo[playerid][PresoN] >= 1)
            {
                PlayerInfo[playerid][TPreso] = SetTimerEx("LiberarPrisao",1000,false,"d",playerid);
            }
            new stringg[500],Stringd[500];
            strcat(Stringd,"{FFFFFF}Mundos\t{FFFFFF}Jogadores\n");
            format(stringg,sizeof(stringg),"{FF8000}Mundo {FFFFFF}Policia x Bandido\t{4169E1}%d\n",fuga);
            strcat(Stringd,stringg);
            format(stringg,sizeof(stringg),"{FF8000}Mundo {FFFFFF}Mata-Mata\t{4169E1}%d\n",pvp);
            strcat(Stringd,stringg);
            format(stringg,sizeof(stringg),"{FF8000}Mundo {FFFFFF}Drift\t{4169E1}%d\n",drift);
            strcat(Stringd,stringg);
            format(stringg,sizeof(stringg),"{FF8000}Mundo {FFFFFF}Fuga - Com Mundos\t{4169E1}%d\n",livres);
            strcat(Stringd,stringg);
            ShowPlayerDialog(playerid,DIALOG_MODOS,DIALOG_STYLE_TABLIST_HEADERS,"{FF8000}ZonePerfect {FFFFFF}- Mundos",Stringd,"Selecionar","-");
        }    
        if(!response)
        {
            new StrCMD[3000];
            strcat(StrCMD, "{FFFFFF}O Servidor ZonePerfect Criado em 2013 com o foco no modo de jogo DRIFT hoje ja compoem outros modos de jogo como policial x bandido, mata-mata, drift e fuga.\n");
            strcat(StrCMD, "{FFFFFF}Nossa equipe sempre esta disposta em nosso discord: {FF8000}discord.gg/evgstW9hTz\n");
            strcat(StrCMD, "{FFFFFF}Alguem azaralhando o servidor? Denuncie: {FF8000}/Rt\n");
            strcat(StrCMD, "{FFFFFF}Conheca os modos de jogo do servidor: {FF8000}/Mundos\n");
            return ShowPlayerDialog(playerid,POSLOGIN,DIALOG_STYLE_MSGBOX,"{6495ED}# {FFFFFF}Apresentacao", StrCMD, "Proximo", "-");
            TextDrawShowForPlayer(playerid, TEXTZONE[0]);
            TextDrawShowForPlayer(playerid, TEXTZONE[1]);
        }
    }



RE: dialog some dando esc - fear - 16/01/2024

(16/01/2024 15:58)xbruno1000x Escreveu: Você não fez o que eu disse... você criou uma nova dialog chamada POSLOGIN2, que nunca será chamada, pois estamos lidando com a dialog de id POSLOGIN.

Tudo deve ser inserido dentro da dialog que estamos lidando.

Tente assim:
Código:
    if(dialogid == POSLOGIN)
    {
        if(response)
        {
            if(PlayerInfo[playerid][PresoN] >= 1)
            {
                PlayerInfo[playerid][TPreso] = SetTimerEx("LiberarPrisao",1000,false,"d",playerid);
            }
            new stringg[500],Stringd[500];
            strcat(Stringd,"{FFFFFF}Mundos\t{FFFFFF}Jogadores\n");
            format(stringg,sizeof(stringg),"{FF8000}Mundo {FFFFFF}Policia x Bandido\t{4169E1}%d\n",fuga);
            strcat(Stringd,stringg);
            format(stringg,sizeof(stringg),"{FF8000}Mundo {FFFFFF}Mata-Mata\t{4169E1}%d\n",pvp);
            strcat(Stringd,stringg);
            format(stringg,sizeof(stringg),"{FF8000}Mundo {FFFFFF}Drift\t{4169E1}%d\n",drift);
            strcat(Stringd,stringg);
            format(stringg,sizeof(stringg),"{FF8000}Mundo {FFFFFF}Fuga - Com Mundos\t{4169E1}%d\n",livres);
            strcat(Stringd,stringg);
            ShowPlayerDialog(playerid,DIALOG_MODOS,DIALOG_STYLE_TABLIST_HEADERS,"{FF8000}ZonePerfect {FFFFFF}- Mundos",Stringd,"Selecionar","-");
        }    
        if(!response)
        {
            new StrCMD[3000];
            strcat(StrCMD, "{FFFFFF}O Servidor ZonePerfect Criado em 2013 com o foco no modo de jogo DRIFT hoje ja compoem outros modos de jogo como policial x bandido, mata-mata, drift e fuga.\n");
            strcat(StrCMD, "{FFFFFF}Nossa equipe sempre esta disposta em nosso discord: {FF8000}discord.gg/evgstW9hTz\n");
            strcat(StrCMD, "{FFFFFF}Alguem azaralhando o servidor? Denuncie: {FF8000}/Rt\n");
            strcat(StrCMD, "{FFFFFF}Conheca os modos de jogo do servidor: {FF8000}/Mundos\n");
            return ShowPlayerDialog(playerid,POSLOGIN,DIALOG_STYLE_MSGBOX,"{6495ED}# {FFFFFF}Apresentacao", StrCMD, "Proximo", "-");
            TextDrawShowForPlayer(playerid, TEXTZONE[0]);
            TextDrawShowForPlayer(playerid, TEXTZONE[1]);
        }
    }
Agora foi.. realmente preciso estudar mais sobre dialog... eu tinha feito essa parte abaixo separada sendo que podia ser incluide num só dialog...