SA-MP Forums Archive
[Ajuda] Como criar uma dialog especial ?? - 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] Como criar uma dialog especial ?? (/showthread.php?tid=540828)



Como criar uma dialog especial ?? - 4G4M3N0M - 07.10.2014

Bom eu consigo criar dialogs normais como msgbox e as outras porйm eu nгo consigo criar dialog's como por exemplo o cmd /admins nгo consigo por ele em dialog um outro exemplo й esse comando:

pawn Код:
if(strcmp(cmd,"/veritens",true) == 0)
    {
        tmp = strtok(cmdtext,idx);
        if(!strlen(tmp))
        {
            SendClientMessage(playerid, COLOR_AMARELO, "Digite: /veritens [id-do-jogador]");
            return 1;
        }
        giveplayerid = strval(tmp);
        if(!IsPlayerConnected(giveplayerid))
        {
            SendClientMessage(playerid,COLOR_VERMELHO,"Este jogador nгo estб conectado!");
            return 1;
        }
        format(string,256,"Itens especiais do jogador %s(id:%d):",PlayerName(giveplayerid),giveplayerid);
        SendClientMessage(playerid,COLOR_LARANJA,string);
        new myitens;
        for(new a=0; a < sizeof(TextPickupsItensCash); a++)
        {
            if(TimeMyItens[giveplayerid][a]!=0)
            {
                myitens++;
                format(string,256,"ID:%d - Item '%s' permanente por mais %d segundos!",a,TextPickupsItensCash[a][ITENNAME],TimeMyItens[giveplayerid][a]);
                SendClientMessage(playerid,COLOR_ROXO,string);
            }
        }
        if(!myitens) SendClientMessage(playerid,COLOR_VERMELHO,"Este jogador nгo tem nenhum item especial!");
        return 1;
    }
esse tipo de comando em que mostra as coisas como id e nome do player nгo do conta de passar pra dialog mais criar mensagens em dialog eu consigo poderiam me ajudar ? podem mandar um modelo ou dar dicas ?


Re: Como criar uma dialog especial ?? - MultiKill - 07.10.2014

Uns exemplos:
pawn Код:
new string[128];
format(string, sizeof string, "Exemplo %i, Exemplo %i, Exemplo %i", 1, 2, 3);
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Exemplo", string, "OK, "");

//Ou

new string[128], string2[128];
format(string2, sizeof string2, "
Meu nome й %s\n", "MultiKill");
strcat(string,  string2,sizeof string);
format(string2, sizeof string2, "
Meu id й %i\n", 666);
strcat(string,  string2,sizeof string);
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "
Exemplo", string, "OK, "");
Para mais informaзхes: ShowPlayerDialog.


Re: Como criar uma dialog especial ?? - 4G4M3N0M - 08.10.2014

Obrigado Multikill mais eu ainda nгo consegui entender como converte pra dialog
й sу eu pegar
pawn Код:
format(string2, sizeof string2, "Meu nome й %s\n", "MultiKill");
strcat(string,  string2,sizeof string);
e colocar os textos entre as apas ?


Re: Como criar uma dialog especial ?? - MultiKill - 08.10.2014

Nгo precisa usar strcat, й uma opзгo.
pawn Код:
new nome[35], string2[128];
GetPlayerName(playerid, nome, 24);
format(string2, sizeof string2, "Meu nome й %s, e meu id й %i\n", nome, playerid);
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Exemplo", string2, "OK", "");
/*
Depois de ser criada as variбveis do tipo string, a string nome ira ser armazenada o nome do jogador,
na funзгo GetPlayerName sera pego o nome do jogador e armazenado na variбvel nome,
depois ira ser formatada uma mensagem e serб armazenada na string string2.
E serб mostrada no diбlogo.
*/



/*
format(saнda[], comprimento mбximo da string, formato da string[], nъmero de argumentos que й infinito);


EX:

format(string,  16, "Teste %d", 0);*/
O \n serve para quebrar a linha.

Exemplo:

pawn Код:
"Exemplo 123. \nExemplo 456."

//Saнda

Exemplo 123.
Exemplo 456.
Para mais informaзхes sobre format