Ads 468x60px

Xat




Tutorial Criando GPS e Teleporte em Dialog

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.


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 "
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.

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
0

Postar um comentário