Agora Que Aprendemos a Mexer Com Dialog List,( Sem Ler Tem Perigo De Não Aprender ) Vamos Criar Abaixo Um Sistema Simples De GPS e Teleporte em Dialog.
Primeiramente Vamos No Topo Definir Nosso Dialog.
Agora Vamos Fazer o Comando Para Que Abra Nosso Dialog. Esse e o Dialog Principal.
Ao Digitar o Comando Acima Irá Aparecer o Dialog Abaixo.
Agora Vamos Definir Cada Dialog o +1 +2 +3, Porque Tem Isso No Final ? Para Não Definir Denovo.
Dialog +1 Ou Seja Corrida Que é o Primeiro
Dialog +2 Ou Seja DM
Dialog +3 Ou Seja Stunt =D
Antes de Começar Aprenda Sobre a Função: SetPlayerCheckpoint
Ela é Usado Para Setar Um Checkpoint, Ou Seja Ao Digitar Algum Comando Ela Cria, é Para Que o Player Pise Nela é Desative, Use o DisablePlayerCheckpoint. ( Isso é Tudo Muito Fácil By: Professor de Física. " Nem é " )
Vamos Definir Nosso Dialog No Topo
Por que Definir ? Para Não Ficar Bagunçado. Caso Queira Fazer Várias Que Nem o De Cima.
Agora Vamos Criar Nosso Comando Em Dialog.
Vamos Criar o Dialog Agora Abaixo :
Para Destruir CheckPoint ao Chegar.
PS : Se Não Entendeu Adicione Meu MSN Ou Mande Pelo MP Para Tirar Dúvidas.
PS2 : Para Aprender Você Tem que Saber o Básico Como Criar um Dialog.
PS3 : Erros Mandar Por MP Ou MSN.
PS4 :"Atualizado !
Criando Teleporte Em Dialog
Primeiramente Vamos No Topo Definir Nosso Dialog.
pawn Code:
#define Teleporte 1 // Cuidado para Não ter Algum Dialog Definido Como " 1 "
Agora Vamos Fazer o Comando Para Que Abra Nosso Dialog. Esse e o Dialog Principal.
pawn Code:
if(!strcmp("/teleportes", cmdtext, true)) { ShowPlayerDialog(playerid, Teleporte, DIALOG_STYLE_LIST, "Tutorial - Teleporte Avançado", "Corrida\nDM\nStunt", "Selecionar", "Sair"); // List 1(Corrida), List 2 (DM), List 3 (Stunt). Botão 1 ( Selecionar ) Botão 2 ( Sair ) return true; }
Ao Digitar o Comando Acima Irá Aparecer o Dialog Abaixo.
pawn Code:
if(dialogid == Teleporte)// Dialog Definido no TOPO ! { if(response) // Apenas um Botão Funciona =D { if(listitem == 0) // Esse é o "Corrida " Ou Seja " Lista 1 do Dialog Principal " { ShowPlayerDialog(playerid, Teleporte+1, DIALOG_STYLE_LIST, "Tutorial - Teleporte - Corrida", "Corrida 1\nCorrida 2", "Correr", "Sair"); // Preste Atenção nas ' Listas '. List 1 ( Corrida 1 ) List 2 ( Corrida 2 ) return true; } else if(listitem == 1) // Esse é o "DM " Ou Seja " Lista 2 do Dialog Principal " { ShowPlayerDialog(playerid, Teleporte+2, DIALOG_STYLE_LIST, "Tutorial - Teleporte - DM ", "DM 1\nDM 2", "Correr", "Sair"); // List 1 - ( DM 1 ) List 2 ( DM 2 ) return true; } else if(listitem == 2) // Esse é o "Stunt" Ou Seja " Lista 3 do Dialog Principal " { ShowPlayerDialog(playerid, Teleporte+3, DIALOG_STYLE_LIST, "Tutorial - Teleporte - Stunt", "Stunt 1\nStun 2", "Correr", "Sair"); // List 1 - ( Stunt 1 ) List 2 ( Stunt 2 ) return true; } } return true; }
Agora Vamos Definir Cada Dialog o +1 +2 +3, Porque Tem Isso No Final ? Para Não Definir Denovo.
Dialog +1 Ou Seja Corrida Que é o Primeiro
pawn Code:
if(dialogid == Teleporte+1) // Dialog +1! ( CORRIDA ) { if(response) // Botão { if(listitem == 0) // Esse é o "Corrida 1 " Ou Seja " Lista 1 " { // Ao Apertar na List 1 Da Corrida Aparecerá Abaixo : // Coloque a Função Do Teleporte Abaixo ! Uma Simples Abaixo : ResetPlayerWeapons(playerid); // Resetar Armas. SetPlayerPos(playerid,2077.7263,-2402.8582,13.5469); // Coodernadas Onde Ele Vai SetPlayerArmour(playerid, 100.0); // 100 de Colete SetPlayerHealth(playerid, 100.0); // 100 de Sangue return true; } else if(listitem == 1) // Esse é o "Corrida 2 " Ou Seja " Lista 2 " {// Ao Apertar na List 2 Da Corrida Aparecerá Abaixo : // Coloque a Função Do Teleporte Abaixo ! Uma Simples Abaixo : ResetPlayerWeapons(playerid); // Resetar Armas. SetPlayerPos(playerid,2077.7263,-2402.8582,13.5469); // Coodernadas Onde Ele Vai SetPlayerArmour(playerid, 100.0); // Colete SetPlayerHealth(playerid, 100.0); // Sangue return true; } } return true; }
Dialog +2 Ou Seja DM
pawn Code:
if(dialogid == Teleporte+2) // Dialog +2! DM =D { if(response) { if(listitem == 0) // Esse é o "DM 1" Ou Seja " Lista 1 " {// Ao Apertar na List 1 Do DM Aparecerá Abaixo : // Coloque a Função Do Teleporte Abaixo ! Uma Simples Abaixo : ResetPlayerWeapons(playerid); // Resetar Armas. SetPlayerPos(playerid,2077.7263,-2402.8582,13.5469); // Coodernadas Onde Ele Vai SetPlayerArmour(playerid, 100.0); // Colete SetPlayerHealth(playerid, 100.0); // Sangue return true; } else if(listitem == 1) // // Esse é o "DM 1" Ou Seja " Lista 2 " {// Ao Apertar na List 2 Do DM Aparecerá Abaixo : // Coloque a Função Do Teleporte Abaixo ! Uma Simples Abaixo : ResetPlayerWeapons(playerid); // Resetar Armas. SetPlayerPos(playerid,2077.7263,-2402.8582,13.5469); // Coodernadas Onde Ele Vai SetPlayerArmour(playerid, 100.0); // Colete SetPlayerHealth(playerid, 100.0); // Sangue return true; } } return true; }
Dialog +3 Ou Seja Stunt =D
pawn Code:
if(dialogid == Teleporte+3)// Dialog +3! STUNT :D { if(response) { if(listitem == 0) // Esse é o "Stunt 1" Ou Seja " Lista 1 " {// Ao Apertar na List 1 Do Stunt Aparecerá Abaixo : // Coloque a Função Do Teleporte Abaixo ! Uma Simples Abaixo : ResetPlayerWeapons(playerid); // Resetar Armas. SetPlayerPos(playerid,2077.7263,-2402.8582,13.5469); // Coodernadas Onde Ele Vai SetPlayerArmour(playerid, 100.0); // Colete SetPlayerHealth(playerid, 100.0); // Sangue return true; } else if(listitem == 1) // // Esse é o "Stunt 2" Ou Seja " Lista 2 " { // Ao Apertar na List 2 Do Stunt Aparecerá Abaixo : // Coloque a Função Do Teleporte Abaixo ! Uma Simples Abaixo : ResetPlayerWeapons(playerid); // Resetar Armas. SetPlayerPos(playerid,2077.7263,-2402.8582,13.5469); // Coodernadas Onde Ele Vai SetPlayerArmour(playerid, 100.0); // Colete SetPlayerHealth(playerid, 100.0); // Sangue return true; } } return true; }
Criando um GPS Avançado
Antes de Começar Aprenda Sobre a Função: SetPlayerCheckpoint
Ela é Usado Para Setar Um Checkpoint, Ou Seja Ao Digitar Algum Comando Ela Cria, é Para Que o Player Pise Nela é Desative, Use o DisablePlayerCheckpoint. ( Isso é Tudo Muito Fácil By: Professor de Física. " Nem é " )
Vamos Definir Nosso Dialog No Topo
pawn Code:
#define GPS 1212 // Cuidado para Não ter Algum Dialog Definido Como " 1212 "
Agora Vamos Criar Nosso Comando Em Dialog.
pawn Code:
if (strcmp(cmd, "/gps", true) == 0) { ShowPlayerDialog(playerid, GPS, DIALOG_STYLE_LIST, "CABECALHO DIALOG", "EXEMPLO:DP\nEXEMPLO:PREFEITURA\nEXEMPLO:JFS\nEXEMPLO:EUOWNA", "Selecionar", "Cancelar"); return true; }
Vamos Criar o Dialog Agora Abaixo :
pawn Code:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == GPS) // Definido la em cima { if(response) // Botão { // SELECIONANDO AS OPÇÕES IRÁ ABRIR : if(listitem == 0) // LISTA 1 OU SEJA - EXEMPLO DP { // TROQUE A COODERNADA PARA ONDE IRÁ APARECER O CHECKPOINT SetPlayerCheckpoint(playerid, 1477.1025,-1764.2405,18.7958,8.0);//Checkpoint Onde aparecerar SendClientMessage(playerid, 0xFFFFFFAA, "Va Até o Checkpoint Vermelho em Seu Mapa."); return true; } if(listitem == 1) // EXEMPLO PREFEITURA { // TROQUE A COODERNADA PARA ONDE IRÁ APARECER O CHECKPOINT SetPlayerCheckpoint(playerid, 1543.8772,-1676.4253,13.5573,8.0); SendClientMessage(playerid, 0xFFFFFFAA, "Va Até o Checkpoint Vermelho em Seu Mapa."); return true; } if(listitem == 2) // EXEMPLO : JFS { //Uma Simples Função Abaixo // TROQUE A COODERNADA PARA ONDE IRÁ APARECER O CHECKPOINT SetPlayerCheckpoint(playerid, 641.8575,-1356.3243,13.4008,8.0); SendClientMessage(playerid, 0xFFFFFFAA, "Va Até o Checkpoint Vermelho em Seu Mapa."); return true; } if(listitem == 3) // EXEMPLO EU OWNA { //Uma Simples Função Abaixo // TROQUE A COODERNADA PARA ONDE IRÁ APARECER O CHECKPOINT SetPlayerCheckpoint(playerid, 2478.9063,-1519.4604,23.9956,8.0); SendClientMessage(playerid, 0xFFFFFFAA, "Va Até o Checkpoint Vermelho em Seu Mapa."); return true; } } } return false; }
Para Destruir CheckPoint ao Chegar.
pawn Code:
public OnPlayerEnterCheckpoint(playerid) // Ao Chegar no Checkpoint { DisablePlayerCheckpoint(playerid); // Destruirá ao Ficar em Cima Dele. return true; }
PS : Se Não Entendeu Adicione Meu MSN Ou Mande Pelo MP Para Tirar Dúvidas.
PS2 : Para Aprender Você Tem que Saber o Básico Como Criar um Dialog.
PS3 : Erros Mandar Por MP Ou MSN.
PS4 :"Atualizado !
Créditos : Jonathan Feitosa
Postagem: Jorge_Braz
Contato: jorge-braz@live.com
Postar um comentário