[Tutorial] Criando Uma Gang Com Escolha em Dialog/Comandos/Cores/Equipamentos v2.0
#1

Continuando a Versгo Anterior Irei Postar Essa Versгo Para Atualizar Algumas Coisas.

1.1 - Primeiramente, Vamos Definir Nossa gTeam, Que Sevirб Para Ajudar Nossas Gangs Que Vamos Definir


pawn Код:
// Bote no Topo Do Seu GameMode
new gTeam[MAX_PLAYERS];
1.2 - Agora Vamos Definir Nossas Gangs, Dando Nome a Elas e ID, Que Poderб Ser Usado Em IDS ou em Nomes Tanto Faz.. E as cores.

pawn Код:
// Poderб Ser Usado "  Aztecas  " Ou Poderб Ser Usado "  1  " Na Definiзгo Por Comandos.
#define Aztecas 1
// Poderб Ser Usado "  Grove  " Ou Poderб Ser Usado "  2  " Na Definiзгo Por Comandos.
#define Grove 2
// Poderб Ser Usado "  Ballas " Ou Poderб Ser Usado " 3  " Na Definiзгo Por Comandos.
#define Ballas 3
// Poderб Ser Usado "  CorAztecas " Ou Poderб Ser Usado "  0x2641FEC8 "
#define CorAztecas 0x2641FEC8
// Poderб Ser Usado "  CorGrove " Ou Poderб Ser Usado "  0x00D900C8 "
#define CorGrove 0x00D900C8
// Poderб Ser Usado "  Ballas " Ou Poderб Ser Usado "  0xD900D3F6 "
#define CorBallas 0xD900D3F6
Agora que Jб Definimos as Nossas Cores e Gangs, Vamos Para Prуxima Fase.

1.3 - Criando Skins Para Nossa Gang ( Mais Complicado de Todos )


Na Public OnPlayerRequestClass Bote Isso:

pawn Код:
SetPlayerCameraPos(playerid, 2159.8921,-1055.2019,80.4219); // Setarб Cвmera ( Posiзгo )
SetPlayerCameraLookAt(playerid, 2159.6272,-1061.3921,80.4219); // Setarб Para Onde Irб Olhar.
ShowPlayerDialog(playerid, 4322, DIALOG_STYLE_LIST, "Escolha o Seu Time","Aztecas\nGrove\nBallas","Jogar","Cancelar");
1.4 - Agora Vamos Criar a Outra Parte do Nosso DIALOG, na hora que escolherem.

Bote no OnDialogResponse Isso:

pawn Код:
if(dialogid == 4322)
{
    if(response == 0) // Se Ele Apertar Em Cancelar, Ou Seja, Aparecerб o Dialog Denovo, Obrigando ele a Escolher.
    {
       ShowPlayerDialog(playerid, Escolha, DIALOG_STYLE_LIST, "Escolha o Seu Time","Zumbis\nHumanos","Selecionar","Cancelar");
    }
    if(response == 1)
    {
       if(listitem == 0)
       {
            gTeam[playerid] = Aztecas; // ou gTeam[playerid] == 1;   ( Seta Ele Para Gang Aztecas )
            SetPlayerSkin(playerid, 116); // Setarб Ele Para Skin 116, Dos Aztecas.
            SendClientMessage(playerid, CorAztecas,"Vocк Escolheu Ser Aztecas.");
            SpawnPlayer(playerid); // Spawn o Player
            return true;
        }
        if(listitem == 1)
        {
            gTeam[playerid] = Grove; // ou gTeam[playerid] == 2;   ( Seta Ele Para Gang Grove )
            SetPlayerSkin(playerid, 107); // Setarб Ele Para Skin 107, Dos Grove.
            SendClientMessage(playerid, CorGrove,"Vocк Escolheu Ser Grove.");
            SpawnPlayer(playerid)// Spawn o Player
            return true;
        }
        if(listitem == 2)
        {
            gTeam[playerid] = Ballas; // ou gTeam[playerid] == 3;   ( Seta Ele Para Gang Ballas)
            SetPlayerSkin(playerid, 102); // Setarб Ele Para Skin 107, Dos Ballas.
            SendClientMessage(playerid, CorBallas,"Vocк Escolheu Ser Ballas.");
            SpawnPlayer(playerid); // Spawn o Player
            return true;
        }
        return true;
    }
    return true;
}
1.5 - Colocando o Local Para a Gang Der Spawn

Na Callback OnPlayerSpawn, Colocamos a Onde Ele Vai Nascer Ao Escolher Sua ORG.


pawn Код:
// Se Ele Escolher o Skin  dos Aztecas. Ele Darб Spawn No Local Abaixo :

if(gTeam[playerid] == Aztecas) // Se Ele For Aztecas Ele Setarб Pro Local Abaixo :
{
   SetPlayerColor(playerid, CorAztecas); // Setarб a Cor Do Nick Dele.
   SetPlayerPos(playerid, 2232.2813,-1158.4985,29.7969);  // Setarб Ele Para Estб Posiзгo Para Sua HQ.
   SetPlayerInterior(playerid, 0); // Setarб o Interior Dele Para 0 ( RUA ).
}

// Se Ele Escolher o Skin dos Grove. Ele Darб Spawn No Local Abaixo :

if(gTeam[playerid] == Grove) // Se Ele For Grove Ele Setarб Pro Local Abaixo :
{
   SetPlayerColor(playerid, CorGrove); // Setarб a Cor Do Nick Dele.
   SetPlayerPos(playerid, 2531.0586,-1666.2322,15.1678); // Setarб Ele Para Estб Posiзгo Para Sua HQ.
   SetPlayerInterior(playerid, 0); // Setarб o Interior Dele Para 0 ( RUA ).
}

// Se Ele Selecionar a Gang Ballas. Ele Darб Spawn No Local Abaixo :

if(gTeam[playerid] == Ballas) // Se Ele For Grove Ele Setarб Pro Local Abaixo :
{
   SetPlayerPos(playerid, 1150.3842,-1181.0187,32.0275); // Setarб Ele Para Estб Posiзгo Para Sua HQ.
   SetPlayerColor(playerid, CorBallas); // Setarб a Cor Do Nick Dele.
   SetPlayerInterior(playerid, 0); // Setarб o Interior Dele Para 0 ( RUA ).
}
1.6 - Como Criar um Comando Para a Gang Aztecas/Grove Definidas.

pawn Код:
if(strcmp(cmdtext, "/aztecas", true) == 0)
{
    if(gTeam[playerid] == Aztecas)  // (Ou if(gTeam[playerid] == 1). Ou Seja Sу aztecas Poderб Usar o Comando
    {
       SendClientMessage(playerid, CorAztecas, "Vocк й Aztecas, Parabйns.");
    }
    return true;
}
pawn Код:
if(strcmp(cmdtext, "/grove", true) == 0)
{
    if(gTeam[playerid] == Grove)  // (Ou if(gTeam[playerid] == 2). Ou Seja Sу Grove Poderб Usar o Comando
    {
       SendClientMessage(playerid, CorGrove, "Vocк й Grove, Parabйns.");
    }
    return true;
}
pawn Код:
if(strcmp(cmdtext, "/ballas", true) == 0)
{
    if(gTeam[playerid] == Ballas)  // (Ou if(gTeam[playerid] == 3 ). Ou Seja Sу Ballas Poderб Usar o Comando
    {
       SendClientMessage(playerid, CorBallas, "Vocк й Ballas, Parabйns.");
    }
    return true;
}
1.7 - Fazendo um Comando /ajuda Para Org Grove,Aztecas e Ballas.

pawn Код:
if(strcmp(cmdtext, "/ajuda", true) == 0)
{
    if(gTeam[playerid] == Aztecas)  // Ou Seja, Essa Mensagem Sу Aparecerб Pros Astecas.
    {
       SendClientMessage(playerid, CorAztecas, "Vocк Poderб Ter Ajuda Fazendo Algo O.O = Vocк й Aztecas.");
       // Mensagem Que Irб Aparecer se For Aztecas.
       return true;
    }
    if(gTeam[playerid] == Grove)  // Ou Seja, Essa Mensagem Sу Aparecerб Pros Grove.
    {
       SendClientMessage(playerid, CorGrove, " Vocк Poderб Ter Ajuda Fazendo Algo O.O = Vocк й Grove.");
       // Mensagem Que Irб Aparecer se For Grove.
       return true;
    }
   if(gTeam[playerid] == Ballas)  // Ou Seja, Essa Mensagem Sу Aparecerб Pros Grove.
    {
       SendClientMessage(playerid, CorBallas, " Vocк Poderб Ter Ajuda Fazendo Algo O.O = Vocк й Ballas.");
       // Mensagem Que Irб Aparecer se For Ballas.
       return true;
    }
    return true;
}
1.8 - Criando um /equipar Para Cada Org.

pawn Код:
if(strcmp(cmdtext, "/equipar", true) == 0)
{
    if(gTeam[playerid] == Aztecas)  // Se For Aztecas
    {
       SendClientMessage(playerid, CorAztecas, "Vocк й Aztecas, й Recebeu uma Eagle de 500 Ballas.");
       GivePlayerWeapon(playerid, 24, 500) // Eagle, 500 Ballas.
       return true;
    }
    if(gTeam[playerid] == Grove)  // Se For Grove.
    {
       SendClientMessage(playerid, CorGrove, "Vocк й Grove, й Recebeu uma Eagle de 500 Ballas.");
       GivePlayerWeapon(playerid, 24, 500) // Eagle, 500 Ballas.
       return true;
    }
    if(gTeam[playerid] == Ballas)  // Se For Ballas.
    {
       SendClientMessage(playerid, CorBallas, "Vocк й Ballas, й Recebeu uma Eagle de 500 Ballas.");
       GivePlayerWeapon(playerid, 24, 500) // Eagle, 500 Ballas.
       return true;
    }
    return true;
}
1.9 - Mais Quero Por Para Quando Apertar F, Como Faзo ?

pawn Код:
if(strcmp(cmdtext, "/equipar", true) == 0)
{
    if(IsPlayerInRangeOfPoint(playerid, 2.0, X, Y, Z)) // Se Estiver no Local X,Y,Z Funcionarб AbAIXO:
    {
        if(gTeam[playerid] == Aztecas)  // Se For Aztecas
        {
            SendClientMessage(playerid, CorAztecas, "Vocк й Aztecas, й Recebeu uma Eagle de 500 Ballas.");
            GivePlayerWeapon(playerid, 24, 500); // Eagle, 500 Ballas.
            return true;
        }
        return true;
    }
    if(IsPlayerInRangeOfPoint(playerid, 2.0, X, Y, Z)) // Se Estiver no Local X,Y,Z Funcionarб AbAIXO:
    {
        if(gTeam[playerid] == Grove)  // Se For Grove.
        {
            SendClientMessage(playerid, CorGrove, "Vocк й Grove, й Recebeu uma Eagle de 500 Ballas.");
            GivePlayerWeapon(playerid, 24, 500); // Eagle, 500 Ballas.
            return true;
        }
        return true;
    }
    if(IsPlayerInRangeOfPoint(playerid, 2.0, X, Y, Z)) // Se Estiver no Local X,Y,Z Funcionarб AbAIXO:
    {
        if(gTeam[playerid] == Ballas)  // Se For Ballas.
        {
            SendClientMessage(playerid, CorBallas, "Vocк й Ballas, й Recebeu uma Eagle de 500 Ballas.");
            GivePlayerWeapon(playerid, 24, 500); // Eagle, 500 Ballas.
            return true;
        }
        return true;
    }
    return true;
}
й na Public OnPlayerKeyStateChange Bote:

pawn Код:
if((newkeys & KEY_SECONDARY_ATTACK)) // Ao Apertar F
{
    OnPlayerCommandText(playerid,"/equipar"); // Forзar vocк apertar o Comando /equipar.
}
2.0 - Crйditos

Pronto Bem Simples, Melhor que a Outra e Bem Mais Explicado.

Crйditos : Jonathan Feitosa
Ajudei ? Reputation =)

PS: Lembrando que os Comandos й Pra Por na Public OnPlayerCommandText
Reply
#2

parbens , fuma mel qowiowiqowq
Reply
#3

MuitoBom
Reply
#4

muito bom
Reply
#5

Vocк sу cometeu um erro que passa despercebido:
pawn Код:
/// Poderб Ser Usado "  Grove  " Ou Poderб Ser Usado "  2  " Na Definiзгo Por Comandos.
#define Grove 2
// Poderб Ser Usado "  Ballas " Ou Poderб Ser Usado " 3  " Na Definiзгo Por Comandos.
#define Ballas 2
Mas fora isso estб muito bom.
Reply
#6

thanks arrumado xD
Reply
#7

Muito bom, muito bem organizado.
Parabйns!
Reply
#8

Poderoso o tutorial, ajudou-me bastante.
Reply
#9

й uma mini-base de GM jб , da pra comeзar a faser um com isso.
Fico bem legal, como o diretor 7 disse, ta bem organizado e vai ajudar os cara (:

e axei um errinho '-'

PHP код:
if(gTeam[playerid] == Grove)  // Ou Seja, Essa Mensagem Sу Aparecerб Pros Grove.
    
{
       
SendClientMessage(playeridCorGrove" Vocк Poderб Ter Ajuda Fazendo Algo O.O = Vocк й Grove.");
       
// Mensagem Que Irб Aparecer se For Grove.
       
return true;
    }
   if(
gTeam[playerid] == Ballas)  /* Ou Seja, Essa Mensagem Sу Aparecerб Pros Grove.*/<< Tem que ser pros Ballas
    
{
       
SendClientMessage(playeridCorBallas" Vocк Poderб Ter Ajuda Fazendo Algo O.O = Vocк й Ballas.");
       
// Mensagem Que Irб Aparecer se For Ballas.
       
return true;
    }
    
Aqui tambem \/, Neles ta gTeam[playerid] == , nгo seria gTeam[playerid] = , '-'
       
if(listitem == 0)
       {
            
gTeam[playerid] == Aztecas// ou gTeam[playerid] == 1;   ( Seta Ele Para Gang Aztecas )
            
SetPlayerSkin(playerid116); // Setarб Ele Para Skin 116, Dos Aztecas.
            
SendClientMessage(playeridCorAztecas,"Vocк Escolheu Ser Aztecas.");
            
SpawnPlayer(playerid); // Spawn o Player
            
return true;
        }
        if(
listitem == 1)
        {
            
gTeam[playerid] == Grove// ou gTeam[playerid] == 2;   ( Seta Ele Para Gang Grove )
            
SetPlayerSkin(playerid107); // Setarб Ele Para Skin 107, Dos Grove.
            
SendClientMessage(playeridCorGrove,"Vocк Escolheu Ser Grove.");
            
SpawnPlayer(playerid);  // Spawn o Player
            
return true;
        }
        if(
listitem == 2)
        {
            
gTeam[playerid] == Ballas// ou gTeam[playerid] == 3;   ( Seta Ele Para Gang Ballas)
            
SetPlayerSkin(playerid102); // Setarб Ele Para Skin 107, Dos Ballas.
            
SendClientMessage(playeridCorBallas,"Vocк Escolheu Ser Ballas.");
            
SpawnPlayer(playerid); // Spawn o Player
            
return true;
        } 
Reply
#10

Quote:
Originally Posted by dylan4021
Посмотреть сообщение
й uma mini-base de GM jб , da pra comeзar a faser um com isso.
Fico bem legal, como o diretor 7 disse, ta bem organizado e vai ajudar os cara (:

e axei um errinho '-'

PHP код:
if(gTeam[playerid] == Grove)  // Ou Seja, Essa Mensagem Sу Aparecerб Pros Grove.
    
{
       
SendClientMessage(playeridCorGrove" Vocк Poderб Ter Ajuda Fazendo Algo O.O = Vocк й Grove.");
       
// Mensagem Que Irб Aparecer se For Grove.
       
return true;
    }
   if(
gTeam[playerid] == Ballas)  /* Ou Seja, Essa Mensagem Sу Aparecerб Pros Grove.*/<< Tem que ser pros Ballas
    
{
       
SendClientMessage(playeridCorBallas" Vocк Poderб Ter Ajuda Fazendo Algo O.O = Vocк й Ballas.");
       
// Mensagem Que Irб Aparecer se For Ballas.
       
return true;
    }
    
Aqui tambem \/, Neles ta gTeam[playerid] == , nгo seria gTeam[playerid] = , '-'
       
if(listitem == 0)
       {
            
gTeam[playerid] == Aztecas// ou gTeam[playerid] == 1;   ( Seta Ele Para Gang Aztecas )
            
SetPlayerSkin(playerid116); // Setarб Ele Para Skin 116, Dos Aztecas.
            
SendClientMessage(playeridCorAztecas,"Vocк Escolheu Ser Aztecas.");
            
SpawnPlayer(playerid); // Spawn o Player
            
return true;
        }
        if(
listitem == 1)
        {
            
gTeam[playerid] == Grove// ou gTeam[playerid] == 2;   ( Seta Ele Para Gang Grove )
            
SetPlayerSkin(playerid107); // Setarб Ele Para Skin 107, Dos Grove.
            
SendClientMessage(playeridCorGrove,"Vocк Escolheu Ser Grove.");
            
SpawnPlayer(playerid);  // Spawn o Player
            
return true;
        }
        if(
listitem == 2)
        {
            
gTeam[playerid] == Ballas// ou gTeam[playerid] == 3;   ( Seta Ele Para Gang Ballas)
            
SetPlayerSkin(playerid102); // Setarб Ele Para Skin 107, Dos Ballas.
            
SendClientMessage(playeridCorBallas,"Vocк Escolheu Ser Ballas.");
            
SpawnPlayer(playerid); // Spawn o Player
            
return true;
        } 
thanks, jб vi, arrumei ^^ й que eu peguei a base do meu tutu v1.0 й fiz aqui, nem testei no .pwn xD
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)