[[[Ajuda]]] Sistema de /tutorial2
#1

pessoal no meu gm tem o TUTORIAL NORMAL e tals (ROLEPLAYER), mais eu queria que a qualquer hora se eu quizesse, olhar um tutorial, tipo eu digito /tutorial2 e aparece la um tutorial em DIALOG e tals sobre tudo.





Ou entгo quando eu digitar /tutorial2 ele vai perguntar o que eu desejo saber,

EX: /TUTORIAL2

O que vocк deseja saber?

Opзгo 01 ( O QUE Й DM/DB? )

Opзгo 02 ( Como ser um bom player? )

E assim vai, ai o cara escolhe a opгo e aparece o tutorial sobre o que ele escolher^^


VLW PRA QUEM QUIZER ME AJUDAR

Sу escolher qual deseja fazer 01 ou 02...
Reply
#2

Quote:
Originally Posted by Ichigo_Kurosaki
Посмотреть сообщение
....
Ou entгo quando eu digitar /tutorial2 ele vai perguntar o que eu desejo saber,

EX: /TUTORIAL2

O que vocк deseja saber?

Opзгo 01 ( O QUE Й DM/DB? )

Opзгo 02 ( Como ser um bom player? )

E assim vai, ai o cara escolhe a opгo e aparece o tutorial sobre o que ele escolher^^


VLW PRA QUEM QUIZER ME AJUDAR

Sу escolher qual deseja fazer 01 ou 02...
Primeiro criaremos o comando: OnPlayerCommandText
pawn Код:
if(!strcmp(cmdtext, "/tutorial2", true)) return ShowPlayerDialog(playerid, DIALOG_ID, DIALOG_STYLE_LIST,
"Tutoriais", // Tнtulo
"O que й DM/DB?\nComo ser um bom player", //Opзхes do Dialog: Separadas pela quebra de linha: "/n"
"Ok", "Cancelar"); //Botхes.
Ps: Defina um valor para "DIALOG_ID".

Ok, agora as funзхes: OnDialogResponse
pawn Код:
if(dialogid == DIALOG_ID)
{
    if(response) //Respota: Botгo 1 "Ok"
    {
        if(listitem == 0)//Opзгo 1
        {
            ShowPlayerDialog(playerid, DIALOG_ID+1, DIALOG_STYLE_MSGBOX, "O que й DM/DB?", "Tutorial Aqui", "Botгo1", "Botгo2");
        }
        if(listitem == 1)//Opзгo 2
        {
            ShowPlayerDialog(playerid, DIALOG_ID+2, DIALOG_STYLE_MSGBOX, "Como ser um bom player", "Tutorial Aqui", "Botгo1", "Botгo2");
        }
    }
return 1;
}
Agora, apenas uma continuaзгo
Caso vocк queria colocar algo apуs o jogador pressionar os botхes no "DIALOG_ID+1" - "O que й DM/DB?"
pawn Код:
// Opзгo1.
if(dialogid == DIALOG_ID+1)
{
if(response) //Repota "Botгo1"
{
//Funзгo
//Ex: SendClientMessage(playerid, COLOR_RED, "Vocк apertou o Botгo 1.");
}
else // Resposta: "Botгo2"
{
//Funзгo
//Ex:SendClientMessage(playerid, COLOR_RED, "Vocк apertou o Botгo 2.");
}
}
Ps: Existem maneiras mais "eficientes" de se montar um "Dialog", mais rбpidas e avanзadas. Entretanto, como vocк esta comeзando acredito que esta seja a melhor maneira. (Script nгo testado)
Reply
#3

Obrigado luxurion!
Agora posso montar o tutorial do meu servidor!
Obrigado!
Reply
#4

Luxurion explico certo!
Se vocк nгo entender, avisa que te ensino!
Reply
#5

ai tipo, eu coloco o BOTAO 01 para ser AVANЗAR e o BOTAO 02 para ser Sair do Tutorial, ai como faзo para que quando o cara click em AVANЗAR ele passe para a continuaзгo do O QUE Й DM/DB?
Reply
#6

Quote:
Originally Posted by Ichigo_Kurosaki
Посмотреть сообщение
ai tipo, eu coloco o BOTAO 01 para ser AVANЗAR e o BOTAO 02 para ser Sair do Tutorial, ai como faзo para que quando o cara click em AVANЗAR ele passe para a continuaзгo do O QUE Й DM/DB?
Eu tambem queria aprender isso.

Tipo fazer um tutorial em Completop!

Vou tentar aprender sozinho se conseguir te ensino!
Reply
#7

Quote:
Originally Posted by Ichigo_Kurosaki
Посмотреть сообщение
ai tipo, eu coloco o BOTAO 01 para ser AVANЗAR e o BOTAO 02 para ser Sair do Tutorial, ai como faзo para que quando o cara click em AVANЗAR ele passe para a continuaзгo do O QUE Й DM/DB?
Basta achar o id do dialog no OnDialogResponse e colocar no response equivalente ao botгo pressionado para quando este for apertado, a funзгo ShowPlayerDialog (de dialog de ID diferente dos de antes) ser ativada mostrando a continuaзгo do tutorial.

Acho que deu pra entender


Espero ter ajudado
Reply
#8

+ OU - Xd

vo mandar como ta POR ENQUANTO

public OnPlayerCommandText(playerid, cmdtext[])

Код:
 	if(!strcmp(cmdtext, "/tutorial2", true)) return ShowPlayerDialog(playerid, 5000, DIALOG_STYLE_LIST,
	"Tutoriais", // Tнtulo
	"O que й DM/DB?\nComo ser um bom player", //Opзхes do Dialog: Separadas pela quebra de linha: "/n"
	"Ok", "Cancelar"); //Botхes.
Код:
 	if(dialogid == 5000)
	{
	    if(response) //Respota: Botгo 1 "Ok"
	    {
	        if(listitem == 0)//Opзгo 1
	        {
	            ShowPlayerDialog(playerid, 5001, DIALOG_STYLE_MSGBOX, "O que й DM/DB?", "DM й matar sem motivos, vocк nгo deve matar alguem sem um bom motivo", "Avanзar", "Sair do Tuto");
	        }
	        if(listitem == 1)//Opзгo 2
	        {
	            ShowPlayerDialog(playerid, 5002, DIALOG_STYLE_MSGBOX, "Como ser um bom player", "Seja uma pessoa RP, nгo saia fazendo nada que vocк nгo faria na VIDA REAL", "Avanзar", "Sair do Tuto");
	        }
	    }
	return 1;
	}
AI VO TENTAR FAZER DO GEITO QUE VC DISSE, MAIS SE VC PUDER DA UMA AJUDINHA^^
Reply
#9

Sim, atй aн tudo certo, agora vб fazendo com os outros IDs de Dialogs que voce usou no ShowPlayerDialog do dialogid 5000, assim por exemplo:


Код:
 	if(dialogid == 5000)
	{
	    if(response) //Respota: Botгo 1 "Ok"
	    {
	        if(listitem == 0)//Opзгo 1
	        {
	            ShowPlayerDialog(playerid, 5001, DIALOG_STYLE_MSGBOX, "O que й DM/DB?", "DM й matar sem motivos, vocк nгo deve matar alguem sem um bom motivo", "Avanзar", "Sair do Tuto");
	        }
	        if(listitem == 1)//Opзгo 2
	        {
	            ShowPlayerDialog(playerid, 5002, DIALOG_STYLE_MSGBOX, "Como ser um bom player", "Seja uma pessoa RP, nгo saia fazendo nada que vocк nгo faria na VIDA REAL", "Avanзar", "Sair do Tuto");
	        }
	    }
	return 1;
	}
Agora vamos interpretar o cуdigo acima.

if(dialogid == 5000) vai checar se o dialog id que voce entrou й o 5000, e dentro das chaves { } desse if voce deverб colocar as funзхes do botгo etc.

Agora, voce concorda que o ShowPlayerDialog (fiz em azul no cуdigo acima) vai abrir outro dialogid (de ID 5001) ?


Acho que voce entendeu atй aн, tipo, й como se o dialogid 5001 fosse chamado (pela funзгo ShowPlayerDialog) dentro do dialogid 5000.


Se o dialogid 5001 foi chamado, a continuaзгo serб aqui:


Код:
 	if(dialogid == 5001)
	{
	    if(response) //Respota: Botгo 1 "Ok"
	    {
	        if(listitem == 0)//Opзгo 1
	        {
	            //Alguma coisa aqui
	        }
	        if(listitem == 1)//Opзгo 2
	        {
	            //Alguma coisa aqui
	        }
	    }
	return 1;
	}
Se nгo entendeu, leia de novo o que eu disse ou espere outro membro do fуrum para ajudб-lo


Espero ter ajudado
Reply
#10

Quote:
Originally Posted by rjjj
Посмотреть сообщение
Sim, atй aн tudo certo, agora vб fazendo com os outros IDs de Dialogs que voce usou no ShowPlayerDialog do dialogid 5000, assim por exemplo:


Код:
 	if(dialogid == 5000)
	{
	    if(response) //Respota: Botгo 1 "Ok"
	    {
	        if(listitem == 0)//Opзгo 1
	        {
	            ShowPlayerDialog(playerid, 5001, DIALOG_STYLE_MSGBOX, "O que й DM/DB?", "DM й matar sem motivos, vocк nгo deve matar alguem sem um bom motivo", "Avanзar", "Sair do Tuto");
	        }
	        if(listitem == 1)//Opзгo 2
	        {
	            ShowPlayerDialog(playerid, 5002, DIALOG_STYLE_MSGBOX, "Como ser um bom player", "Seja uma pessoa RP, nгo saia fazendo nada que vocк nгo faria na VIDA REAL", "Avanзar", "Sair do Tuto");
	        }
	    }
	return 1;
	}
Agora vamos interpretar o cуdigo acima.

if(dialogid == 5000) vai checar se o dialog id que voce entrou й o 5000, e dentro das chaves { } desse if voce deverб colocar as funзхes do botгo etc.

Agora, voce concorda que o ShowPlayerDialog (fiz em azul no cуdigo acima) vai abrir outro dialogid (de ID 5001) ?


Acho que voce entendeu atй aн, tipo, й como se o dialogid 5001 fosse chamado (pela funзгo ShowPlayerDialog) dentro do dialogid 5000.


Se o dialogid 5001 foi chamado, a continuaзгo serб aqui:


Код:
 	if(dialogid == 5001)
	{
	    if(response) //Respota: Botгo 1 "Ok"
	    {
	        if(listitem == 0)//Opзгo 1
	        {
	            //Alguma coisa aqui
	        }
	        if(listitem == 1)//Opзгo 2
	        {
	            //Alguma coisa aqui
	        }
	    }
	return 1;
	}
Se nгo entendeu, leia de novo o que eu disse ou espere outro membro do fуrum para ajudб-lo


Espero ter ajudado
o que eu nao entendi foi essa parte

Код:
 	if(dialogid == 5001)
	{
	    if(response) //Respota: Botгo 1 "Ok"
	    {
	        if(listitem == 0)//Opзгo 1
	        {
	            //Alguma coisa aqui
	        }
	        if(listitem == 1)//Opзгo 2
	        {
	            //Alguma coisa aqui
	        }
	    }
	return 1;
	}
ele vem antes/depois ou no lugar do que ja ta....?


POR ENQUANTO O MEU TA ASSIM:

Код:
 	if(dialogid == 5000)
	{
	    if(response) //Respota: Botгo 1 "Ok"
	    {
	        if(listitem == 0)//Opзгo 1
	        {
	            ShowPlayerDialog(playerid, 5001, DIALOG_STYLE_MSGBOX, "O que й DM/DB?", "DM й matar sem motivos, vocк nгo deve matar alguem sem um bom motivo", "Avanзar", "Sair");
	        }
	        if(listitem == 1)//Opзгo 2
	        {
	            ShowPlayerDialog(playerid, 5002, DIALOG_STYLE_MSGBOX, "Como ser um bom player", "Seja uma pessoa RP, nгo saia fazendo nada que vocк nгo faria na VIDA REAL", "Avanзar", "Sair");
	        }
	    }
	return 1;
	}
tipo o que eu colocaria la onde vc disse:

//alguma coisa aki

Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)