[Tutorial] Criando GPS e Teleporte Em Dialog
#1

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 definir nosso dialog no topo do GM.

pawn Код:
#define Teleporte 1
// Cuidado para Nгo ter Algum Dialog Definido Como " 1 "
Agora Vamos Fazer o Comando para abrir nosso dialog. Esse serб nosso Dialog Principal.

pawn Код:
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 Код:
if(dialogid == Teleporte)// Dialog Definido no TOPO !
{
      if(response) // Ao apertar Selecionar
      {
           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 De novo.

Dialog +1 Ou Seja Corrida Que й o Primeiro
pawn Код:
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 Код:
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 Код:
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 Код:
#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 Код:
if(!strcmp("/gps", cmdtext, true))
{
       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 Код:
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 Код:
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


ATUALIZADO
Reply
#2

legal!
vai ajudar muito os noobs xD
Reply
#3

Bom tuto,
como disse no outro tуpico, Vocк estб ficando muito bom,
espero que continue assim.
Reply
#4

Bom trabalho, como sempre
Reply
#5

Muito Obrigado.

@garfield

Sim...
Reply
#6

O Jonathan quando viu o comentбrio do garfield, corou
Reply
#7

Eu Nгo Entendi :C

Fala Lнngua Normal Que Tu Aprende na Escola...
Reply
#8

Quote:
Originally Posted by Diogo_Bras
Посмотреть сообщение
O Jonathan quando viu o comentбrio do garfield, corou
Reply
#9

Poderia ter explicado cada funзгo e como usa-la, nгo vi explicaзгo necessбria para um novato ter uma noзгo.
Reply
#10

Por Isso que Mandei Ler meu Tutorial Para Saber Como Funciona No Topo.

Porque Explicar Denovo й Tenso
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)