[Tutorial] Manual sobre Dialogs [Atualizado 0.3.7]
#1

Estou atualizando meus tutoriais de dialog para 0.3.7 por pedidos de amigos e editando todos meus antigos sobre o mesmo assunto para esse. ( 21/04/2015 e 22/04/2015 ).
#EmFinalizaзгoAinda

Antes de comeзarmos a desenvolver nossos dialogs, devemos aprender algumas coisas bбsicas:

Barra de Escape

Quote:

Em vбrias linguagens de programaзгo o caractere de aspas duplas (") й utilizado para delimitar uma cadeia de caracteres. Caso seja necessбrio utilizar o caractere de aspas duplas dentro da cadeia sem evocar seu significado de delimitar, utiliza-se o caractere de escape para que o compilador interprete as aspas duplas como um caractere da cadeia. Em geral, este caractere й a barra contrбria (\). - Wikipйdia

Ou seja, ele quer dizer que, se vocк por:
PHP код:
SendClientMessage(playerid, -1"Olб Mundo, meu nome й "Jonathan" "); 
O compilador irб reclamar e vai causar erro de Sintaxe. Entгo o certo de se fazer й adicionar a barra contrбria(escape) para que o compilador entenda como um simples caractere do seu texto. Veja:
PHP код:
SendClientMessage(playerid, -1"Olб Mundo, meu nome й \"Jonathan\" "); 
O que й \n e \r?

Ambos servem para pular linhas, mas diferem no quesito do Sistema O.
O \r й usado para pular linhas apenas no Windows, e \n Linux e Windows. Por isso a gente encontra apenas \n, e nгo \r. Fique espero em questхes sobre essas em concursos .

Exemplo:
PHP код:
print("Oi, eu sou o: \nJFS");
/* Saнda:
Oi, eu sou o:
JFS
*/ 
Usando o \t em dialog

Й como se fosse um TAB. Melhoraram bastante na 0.3.7!
Veja um exemplo em imagem de como era.
Veja um exemplo de como estб agora. Aliбs, usando DIALOG_LIST estб do mesmo jeito. Sу que agora temos mais duas opзхes de dialogs, uma delas й a da segunda imagem. Sobre isso vou falar ao decorrer do tutorial.

Entendo a funзгo format

Vamos primeiro entender o bбsico de todas as linguagens de programaзгo e o que mais usamos:

Quote:

%i - Para nъmeros Inteiros
%d - Para nъmero inteiros
%s - Para tipo String - Sequкncia de caracteres
%f - Para tipo Float, nъmeros decimais.

Quando devo usar format? Quando vocк quer incluir variбveis dentro de caracteres.
O que й variбvel? Assunto meio complexo, mas o que vocк deve saber aqui, й que elas comeзam com new na linguagem pawn, diferente das POO.
Qual diferenзa do %i e %d? Nenhuma, tanto faz um ou outro. Os dois sгo inteiros.

Exemplos:


PHP код:
new Strj[128];
// Exemplo nъmeros inteiros:
new numero 18;
format(Strjsizeof(Strj), "Esse Nъmero й %d"numero);
format(Strjsizeof(Strj), "Esse Nъmero й %i"numero);
// Exemplo nъmeros do tipo String(Caracteres)
new nome[] = "Jonathan";
format(Strjsizeof(Strj), "Meu Nome й: %s"nome);
// Exemplo nъmeros do tipo Float
new numero 18.5;
format(Strjsizeof(Strj), "Esse nъmero й: %f"numero); 
Observaзхes: Usei apenas uma variбvel Strj para nгo ficar criando toda hora e alocando mais memуria no servidor. Botei 128 pois й o nъmero de carбteres mбximo no chat. No caso do Dialog, vocк vai precisar muito mais, pois nгo й sу aquela linha pequena do Chat, vocк pode por muito mais informaзхes. Lembrando que o sizeof retorna o valor da variбvel, que no caso aн й 128(Strj).

Com isso, concluнmos que vamos usar format em alguns casos, pois й para vocк puxar uma variбvel. Exemplo em um dialog de entrada:

Quote:

Seu Nick: %s estб registrado!
Bem-Vindo ao servidor, digite sua senha para conectar-se!

O %s й um caracter do tipo String, ou seja, usamos para pegar o nome do Player.


Colocando Cores em Dialogs/Mensagens

Essas cores, para vocк estб vendo pela primeira vez, sгo em hexadecimais. Vocк pode ver aqui diversos jeitos diferentes de se fazer. Vou fazer aqui uma menos usual e menos trabalhosa:

PHP код:
#define COR_VERMELHO_HEX "{00FF00}" 
PHP код:
SendClientMessage(playerid, -1"Aqui estб branco por conta do ( -1 ), e "COR_VERMELHO_HEX" aqui estб vermelho por conta da sua cor definida em cima."); 
Podemos tambйm fazer direto:
PHP код:
SendClientMessage(playerid, -1"{FFFFFF}Aqui estб branco, {00FF00}Aqui verde, {FFFFFF}Aqui dnv estб branco, {FF0000} mas agora estб vermelho."); 
Porque eu recomendo fazer do primeiro jeito? Porque eu quero! Mentira, й porque imagine que vocк queira usar em vбrios dialogs, vocк vai querer copiar e colar sempre os hexadecimais? Pode ser que sim, mas aн fica a critйrio do programador.



Lembrando que tudo que eu mencionei atй agora, nгo й usado somente em dialogs e muito menos exclusivo da linguagem pawn.


O que й dialog?

No SAMP, simplesmente falando, й uma caixa de dialog onde vocк pode interagir com o Player, podendo ser com perguntas, listas, etc. Para vocк entender melhor, й aquela caixinha preta no qual vocк coloca a senha, informaзхes, entre outras coisas, ao logar no servidor.

Estilos de DIALOGS

Quote:

0 - DIALOG_STYLE_MSGBOX - Quando vocк quer transmitir uma mensagem
1 - DIALOG_STYLE_INPUT - Quando vocк quer que o Player interaja com algo. Ou seja, um campo de texto.
2 - DIALOG_STYLE_LIST - Quando vocк quer mostrar uma lista de opзхes ao player.
3 - DIALOG_STYLE_PASSWORD - Quando vocк quer que o Player bote uma senha.
4 - DIALOG_STYLE_TABLIST - Um Dialog List com tabelas.( apenas 0.3.7+ )
5 - DIALOG_STYLE_TABLIST_HEADERS - Um Dialog list com tabelas e subtнtulos.( apenas 0.3.7+ )

Estrutura do Dialog

PHP код:
ShowPlayerDialog(PAR1PAR2PAR3"PAR4""PAR5""PAR6""PAR7"); 
Quote:

ShowPlayerDialog: Funзгo de Mostrar a Dialog.
PAR1: Parвmetro onde botamos o ID(pronъncia: Aнdi e nгo idк) do player. Normalmente й playerid pois geralmente й para o player que estб fazendo a aзгo.
PAR2: ID do dialog. Daremos uma identificaзгo pra ele. No seu caso й seu CPF, aqui й nъmero natural. Nгo podem haver dois iguais pois causarб conflito.
PAR3: Estilo do dialog. Nome ou ID.
PAR4: Tнtulo do dialog
PAR5: Texto do dialog
PAR6: Texto do botгo um do dialog
PAR7: Texto do botгo dois do dialog

Vamos a um exemplo do tipo DIALOG_STYLE_MSGBOX simples:

PHP код:
ShowPlayerDialog(playerid123DIALOG_STYLE_MSGBOX"Aviso!""Aqui й apenas uma mensagem para vocк!""Fechar""Ok"); 
Entendendo a public OnPlayerDialogResponse

Esse mйtodo jб vem como nativo. Vocк nгo precisa cria-lу. Basta pesquisar no pawno ou caso nгo exista, adicione no final do GameMode.

PHP код:
public OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    
// bloco de cуdigos
    
return false// ou return 0

Ela й chamada toda vez que vocк aperta em um dos dois botхes do dialog. Seus parвmetros sгo: playerid, que no caso й o ID do Player, dialogid que й o "CPF" de seu Dialog, response que vai detectar se tu apertou no botгo da direita ou esquerda, listitem para detectar qual opзгo vocк colocou caso vocк utilize DIALOG_STYLE_LIST, DIALOG_STYLE_TABLIST ou DIALOG_STYLE_TABLIST_HEADERS, e inputtext para pegar o que vocк colocou no campo de texto, no caso o DIALOG_STYLE_INPUT ou DIALOG_STYLE_PASSWORD.



Estrutura do DIALOG_STYLE_MSGBOX



PHP код:
ShowPlayerDialog(playerid1281DIALOG_STYLE_MSGBOX"{F60000}Meu Tнtulo em Cor Diferente""Bem Vindo ao Servidor\nEsse й meu Primeiro DIALOG MSG""Abrir""Okay"); 
Como jб estudamos os parвmetros, sabemos o que estб ocorrendo ai. Vale ressaltar que o Dialog 1281 й apenas um exemplo, vocк pode por qual quiser, contanto que seja diferente dos outros.

Vamos agora para um segundo exemplo mais complexo:
PHP код:
new Exemplo[50];
new 
Nome[] = "Jonathan Feitosa";
format(Exemplosizeof(Exemplo), "Olб %s!\nBem Vindo ao servidor!"Nome);
ShowPlayerDialog(playerid1DIALOG_STYLE_MSGBOX"Welcome!"Exemplo"Fechar""Okay"); 
Nesse caso, utilizando o format, podemos adicionar variбveis em nossos dialogs. E isso servirб para todos os dialogs! Nгo vai mudar nada.


Agora, vamos por a resposta em nossos dialogs! Servirб para detectar quando o Player apertar no Botгo1 ou Botгo2.

PHP код:
// Adicione em algum comando, ou qualquer lugar para abrir nosso Dialog:
ShowPlayerDialog(playerid1DIALOG_STYLE_MSGBOX"Meu Primeiro Dialog""Aperte em Ganhar Grana para ganhar 1000 reais\nAperte em Perder Grana para perder 1000 reais""Ganhar Grana""Perder Grana");
// Na public do seu GameMode:
public OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    if(
dialogid == 1// o "CPF do dialog", Se eu botei 1 lб, devo botar 1 aqui !
    
{
        if(
response// Se apertou no Botгo 1 (Ganhar Grana)
        
{
            
GivePlayerMoney(playerid1000);
            
SendClientMessage(playerid, -1"Vocк ganhou 1000 reais!"); 
        }
        if(!
response// ou else = Se apertou no Botгo 2 (Perder Grana)
        
{
            
SendClientMessage(playerid, -1"Vocк perdeu 1000 reais!");
            
GivePlayerMoney(playerid1000);
        }
        return 
true
    }
    return 
false;

Estrutura do DIALOG_STYLE_INPUT e DIALOG_STYLE_PASSWORD

Input:


Password:


Exemplo:
PHP код:
ShowPlayerDialog(playerid4444DIALOG_STYLE_INPUT"Tнtulo do Servidor",
"Digite sua senha no campo Texto""Selecionar""Cancelar"); 
Nada muda aqui, sempre fica como padrгo. Apenas pulei uma linha ali para ficar mais fбcil de vocк enxergar.

O DIALOG_STYLEE_PASSWORD й igual ao DIALOG_STYLE_INPUT, sу que as caracteres ficam ocultas no PASSWORD.

PHP код:
ShowPlayerDialog(playerid4444DIALOG_STYLE_PASSWORD"Tнtulo do Servidor",
"Digite sua senha no campo Texto""Selecionar""Cancelar"); 
Na estrutura dos dois, utilizaremos meio diferente no DialogResponse:

PHP код:
// Adicione em algum comando, ou qualquer lugar para abrir nosso Dialog:
ShowPlayerDialog(playerid1DIALOG_STYLE_INPUT"Escreva seu primeiro texto!""Escreva seu nome!\n\nExemplo: Arlindo""Confirmar""Sair");
// Na public do seu GameMode:
public OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    if(
dialogid == 1// o "CPF do dialog", Se eu botei 1 lб, devo botar 1 aqui !
    
{
        if(
response// Se apertou no Botгo Confirmar
        
{
            new 
Strjf[50];
            
format(Strjfsizeof(Strjf), "Muito Bem, Seu nome de acordo com o texto que vocк botou й: %s"inputtext
            SendClientMessage
(playerid, -1Strjf); 
        }
        
// Se ele apertar no botгo sair, o dialog sumirб pois nгo botei nenhuma aзгo para ele :)
        
return true
    }
    return 
false;


Estrutura do DIALOG_STYLE_LIST, DIALOG_STYLE_TABLIST e DIALOG_STYLE_TABLIST_HEADERS


DIALOG_STYLE_LIST


PHP код:
ShowPlayerDialog(playerid123DIALOG_STYLE_LIST"{33CCFF}Teleportes do Meu Servidor""{FFFF00}Ir DM\n{33AA33}IR Derby""Selecionar""Sair"); 
Como aprendemos, o \n serve para pular linhas. No dialog list, ela serve para adicionarmos as opзхes de nossas Listas.
PHP код:
"{FFFF00}IR DM\n{33AA33}IR Derby"
/*
Saнda:
Opзгo 1: IR DM
Opзгo 2: IR Derby 
Quanto mais /n, mais opзхes teremos no nosso dialog.
*/ 
DIALOG_STYLE_TABLIST (0.3.7)


Й quase igual aqo Dialog List. Como vocк sabe, o \t era como se fosse um TAB. Nessa versгo do SAMP, ela passou a ter mais utilidade nos dialogs. Ela dar um 'tab' correto, tendo seu limite atй o fim da tela. Vou pegar o exemplo da imagem para ficar mais fбcil:

PHP код:
ShowPlayerDialog(playerid4112DIALOG_STYLE_TABLIST"Buy Weapon",
"Deagle\t$5000\t100\n\
Sawnoff\t$5000\t100\n\
Pistol\t$1000\t50"
// Etc.
"Select""Cancel"); 
Explicando melhor como й:
PHP код:
"Deagle\t$5000\t100\n\Sawnoff\t$5000\t100\n\Pistol\t$1000\t50"
// para melhor ver:
"Deagle\t$5000\t100\n
\Sawnoff\t$5000\t100\n
\Pistol\t$1000\t50"
/*
"Aqui й a Coluna 1\tAqui й a Coluna 2\tAqui й a Coluna 3 e agora vou pular de linha(opзгo)\n
Aqui й a Coluna 1\tAqui й a Coluna 2\tAqui й a Coluna 3 e agora vou pular de linha(opзгo)\n
Aqui й a Coluna 1\tAqui й a Coluna 2\tAqui й a Coluna 3 e agora vou parar"
[...] */ 
Se nгo entendeu, sugiro que releia o tutorial.

DIALOG_STYLE_TABLIST_HEADERS (0.3.7)


Й igual o DIALOG_STYLE_TABLIST, sу que vem com tнtulo nas colunas. Vou pegar o exemplo da imagem para ficar mais fбcil.

PHP код:
ShowPlayerDialog(playerid4444DIALOG_STYLE_TABLIST_HEADERS"Buy Weapon",
"Weapon\tPrice\tAmmo\n\
Deagle\t$5000\t100\n\
Sawnoff\t$5000\t100\n\
Pistol\t$1000\t50"
// Etc.
"Select""Cancel"); 
Explicando melhor como й:
PHP код:
"Weapon\tPrice\tAmmo\n\Deagle\t$5000\t100\n\Sawnoff\t$5000\t100\n\Pistol\t$1000\t50"
// para melhor ver:
"Weapon\tPrice\tAmmo\n
\Deagle\t$5000\t100\n
\Sawnoff\t$5000\t100\n
\Pistol\t$1000\t50"
/*
"Titulo da Coluna 1\tTitulo da Coluna \tTitulo da Coluna 3 e agora vou para as opзхes\n
Aqui й a Coluna 1\tAqui й a Coluna 2\tAqui й a Coluna 3 e agora vou pular de linha(opзгo)\n
Aqui й a Coluna 1\tAqui й a Coluna 2\tAqui й a Coluna 3 e agora vou pular de linha(opзгo)\n
Aqui й a Coluna 1\tAqui й a Coluna 2\tAqui й a Coluna 3 e agora vou parar"
[...] 
Veja um outro exemplo:



Exemplo da Imagem:

PHP код:
ShowPlayerDialog(playerid9999DIALOG_STYLE_TABLIST_HEADERS"Buy Weapon""Coluna 1\tColune 2\tColuna3\tColuna 4\n\Deagle\t$5000\t100\tteste\n\Sawnoff\t$5000\t100\tteste\n\Pistol\t$1000\t50\tteste""Selecionar""Cancel");
// Ou para melhor visualizar:
ShowPlayerDialog(playerid9999DIALOG_STYLE_TABLIST_HEADERS"Buy Weapon",
"Coluna 1\tColune 2\tColuna 3\tColuna 4\n\
Deagle\t$5000\t100\tteste\n\
Sawnoff\t$5000\t100\tteste\n\
Pistol\t$1000\t50\tteste"
// Etc.
"Selecionar""Cancel"); 
Se nгo entendeu, sugiro que releia o tutorial.


Entгo, A RESPOSTA DO DIALOG_STYLE_LIST, DIALOG_STYLE_TABLIST e DIALOG_STYLE_TABLIST_HEADERS й IGUAL na public OnDialogResponse, pois todos sгo uma lista de opзхes, a unica diferenзa entre eles й que trazem mais informaзхes em colunas e subtнtulos. Veja como eles funcionam:

PHP код:
ShowPlayerDialog(playerid234DIALOG_STYLE_LIST"Menu de Compras de armas""Eagle\nAK-47\nCombat Shotgun""Selecionar""Sair");
 
public 
OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    if(
dialogid == 234// 'CPF' do Meu Dialog criado
    
{
        if(
response// Se clicou no botгo 'Selecionar'
        
{
            if(
listitem == 0// Caso selecione o primeiro item - Eagle ( Comeзamos sempre do 0 )
            
{
                
GivePlayerWeapon(playeridWEAPON_DEAGLE1000);
                
SendClientMessage(playerid, -1"Vocк ganhou uma eagle com 1000 balas");
            }
            if(
listitem == 1// Caso selecione o segundo item - AK-47
            
{
                
GivePlayerWeapon(playeridWEAPON_AK47120);
                
SendClientMessage(playerid, -1"Vocк ganhou uma ak-47com 120balas");
            }
            if(
listitem == 2// Caso selecione o terceiro item - Combat Shotgun
            
{
                
GivePlayerWeapon(playeridWEAPON_SHOTGSPA28);
                
SendClientMessage(playerid, -1"Vocк ganhou uma shotgun com 28 balas");
            }
        }
        return 
true
    }
 
    return 
false;

Como adicionar apenas um botгo nos dialogs

PHP код:
ShowPlayerDialog(playerid123DIALOG_STYLE_LIST"Meu Botгo""Tutorial Meu Botгo !!""Selecionar""Cancelar"); 
Vamos destacar apenas nossos botхes no dialog acima:

PHP код:
"Selecionar""Cancelar"
Quote:
Botгo 1= Selecionar
Botгo 2 = Cancelar

Para ficar com um botгo apenas, vocк deve deixar apenas:

PHP код:
"Selecionar"""
Ou seja, o segundo botгo ficarб vazio

strcat,strlen ou format para concatenar dialogs?


Sem dъvidas format. Bem mais otimizado e rбpido.
Tire dъvidas de velocidades de loop's, o que mais influencia em LAG no servidor junto com timers.


Em Breve aqui:
Como Organizar meus IDS para nгo dar conflito.
Dialogs sobre Dialogs
Sistema Simples de GPS

Crйditos: Eu e editores da Wiki-SAMP.

Dъvidas, sugestхes, erros, avisar-me pois tambйm sou humano.
Reply
#2

Olhando pelo olhar de um novato, devo dizer que ficou atй legal seu trabalho.

Mas olhando pelo olhar de alguйm que sempre foi de olhar a documentaзгo, devo dizer que ficou um tanto confuso. A documentaзгo trata isso de forma clara. Eu atй lhe convido a contribuir com a Wiki, traduzindo o artigo ShowPlayerDialog para nossa lнngua, seria uma bela contribuiзгo, jб que nгo me disponho de tanto tempo como antes, para faze-lo.

Quote:

O que й variбvel? Assunto meio complexo, mas o que vocк deve saber aqui, й que elas comeзam com new na linguagem pawn, diferente das POO.

Nгo й bem nesse sentido... A versгo do compilador Pawn que usamos й typeless, ou seja, nгo hб tipo de dados. Tudo sгo meras cells. Programaзгo Orientada a Objetos й um paradigma, e nгo tem ligaзгo nenhuma com tipo de dados.


De qualquer forma, foi interessante ver vocк citar o novo tipo de dialog TABLIST. Apenas dк uma organizada no tуpico, retire algumas informaзхes redundantes, tenha mais foco. Talvez seja mais viбvel vocк inserir certos "prй-requisitos" antes de prosseguir. Abuse das da tag BBCode INDENT, ficarб mais fбcil de ser lido e compreendido a um olhar novato.

Parabйns pelo trabalho.
Reply
#3

Eu achei bastante interessante o tutorial e acho que estб bem estruturado e adequado para os novatos, mas como o dolby disse:

Quote:
Originally Posted by Dolby
Посмотреть сообщение
Mas olhando pelo olhar de alguйm que sempre foi de olhar a documentaзгo, devo dizer que ficou um tanto confuso. A documentaзгo trata isso de forma clara. Eu atй lhe convido a contribuir com a Wiki, traduzindo o artigo ShowPlayerDialog para nossa lнngua, seria uma bela contribuiзгo, jб que nгo me disponho de tanto tempo como antes, para faze-lo.
Eu acho que seria bastante bom valorizar a wiki, eu nгo sou muito ativo lб mas jб traduzi e inclusive adicionei algumas funзхes novas no 0.3.7RC4, sozinho pode ser chato e complicado, porйm, quando somos mais torna-se fбcil e rбpido, era um ponto de partida para os novatos.
Reply
#4

Ficou bom, sу que, algumas partes ficam confusas de entender no olhar de novatos.
Reply
#5

Eu entendi bem no comeзo, ja no meio pra frente me perdi um pouco, mas por falta de atenзгo mesmo. Inclusive estive olhando muitas dessas dialogs numa FS "padrгo" do SAMP (test_cmds), entгo atй que elas me foram bem familiares durante a explicaзгo.

Aliбs, engrosso o coro com a galera: se puder auxiliar na traduзгo do tema na Wiki seria excelente, eu mesmo quando pesquiso algo olho na Wiki primeiro pra sacar como funciona, e depois os topicos relacionados aqui no forum pra ir entendendo as formas de utilizaзгo.

PS: meu server jб estб atualizado pra versгo 0.3.7RC4, inclusive estou estudando as Tablists para implementar no GM que to editando, mudando a forma de criar Casa/Empresa, compra de armas e etc.

Parabйns pelo topico, ao menos а mim ajudou bastante
Reply
#6

E ai jonathan, parebйns pelo tutorial, aparentemente ele estб muito bom, esses exemplos que vocк colocou no tutorial й oque mais ajuda, muito bom !

Quote:
Originally Posted by JonathanFeitosa
Посмотреть сообщение
O que й \n e \r?

Ambos servem para pular linhas, mas diferem no quesito do Sistema O.
O \r й usado para pular linhas apenas no Windows, e \n Linux e Windows. Por isso a gente encontra apenas \n, e nгo \r. Fique espero em questхes sobre essas em concursos .



Dъvidas, sugestхes, erros, avisar-me pois tambйm sou humano.
Sobre a questгo do escape n, sу tenho uma coisa a acrescentar. Creio que seja uma explicaзгo mais plausнvel que "windows usa assim, linux usa assim.", visto que vocк tocou no assunto concursos...

o escape n, como todos sabem serve para quebrar linha em qualquer caso, para isso que o mesmo foi criado, com tudo, nos sistemas operacionais baseados/compatнveis MS-DOS, quando vocк vai trabalhar com escrita de arquivo, ele sу aceita quebra de linha, quando o cursor atual de ediзгo estб na margem mais a esquerda do arquivo, ou seja, o caracter 0 da linha.

Entгo o escape r, se vocкs pesquisarem no ****** aparece o significado "carriage return", ele faz o papel de retornar o cursor do ponto atual, para o caracter 0 da linha, e com isso o editor de arquivos permite que a linha seja pulada.

Lembrando que isso й um problema que ocorre normalmente com arquivos, logo com cуdigos que sгo utilizados em console e softwares para imprimir uma linha abaixo da outra, somente o escape n funciona perfeitamente.

Parabйns novamente pelo tutorial, abraзos.

+rep
Reply
#7

Eu acho que vocк deveria desenvolver algo maior, contando a capacidade que vocк tem junto com sua experiкncia, por que dialogs nгo algo tгo difнcil, porйm gostei da iniciativa. Ao meu ver poderiam tambйm ter acrescentado o uso de switch. Aceite como uma crнtica construtiva
Reply
#8

Parabйns pelo tutorial, quando a 0.3.7 sair oficialmenteas pessoas jб terгo uma base de conhecimento sobre os novos diбlogos. +4 Reps
Reply
#9

Parabйns pelo tutorial mano, achei interessante essas novas funзхes.
Reply
#10

Muito bom mesmo, Parabйns

@ON
Tem como explicar melhor como funciona a DIALOG_SYLE_PREVMODEL
Ou criar um tutorial falando como utilizar e suas variedades ?

Porem Уtimo tutoriais !
Reply
#11

Quote:
Originally Posted by gelton
Посмотреть сообщение
Muito bom mesmo, Parabйns

@ON
Tem como explicar melhor como funciona a DIALOG_SYLE_PREVMODEL
Ou criar um tutorial falando como utilizar e suas variedades ?

Porem Уtimo tutoriais !
Esse nгo existe foi um cara que criou uma include mas isso nгo й nativo do samp.-


-

Bom trabalho pelo tutorial
Reply
#12

Quote:
Originally Posted by PT
Посмотреть сообщение
Esse nгo existe foi um cara que criou uma include mas isso nгo й nativo do samp.-
Pensei que era nativa do samp, como as novas que lanзarгo , rsrsr
Mais criar um tutorial nгo deixa de ser ъtil Ja que e considerado uma dialog
Reply
#13

Boa, me ajudou muito
Reply
#14

Dar esc na dialog reconhece como !response ?

Estou sem GTA no pc, alguйm sabe ou pode testar pra mim ?
Reply
#15

Sim Cleyson
Reply
#16

Quote:
Originally Posted by NicK_
Посмотреть сообщение
Sim Cleyson
Vlw <3
Reply
#17

Jonathan, se quisesse usar %s em um Tablist, ficaria assim:

PHP код:
ShowPlayerDialog(playerid4444DIALOG_STYLE_TABLIST_HEADERS"Admins Online"
"Admin\tNivel\tModo\n%s\t%s\tTrabalhando\n\""Select", "Cancel", sendername, lolz); 
ou como ficaria?
Reply
#18

Teria que usar Format
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)