[Tutorial] Criando GangZones Dominбveis | Versгo 3.0
#1

Introduзгo::

lб neste tutorial ensinarei a criar Gang Zones,nгo serб como os tutoriais anteriores,neste tutorial usaremos 1 public para todas gang,assim nгo necessitando criar centenas de publics para um simples domнnio, e sim um array onde armazenarб tudo,eficiente,rбpido,simples e fбcil.

Para iniciarmos necessita que criem 2 Arrays,uma contendo as coordenadas das Gang Zones e outra contendo os nomes.

Colocando elas::


Topo GM:

pawn Код:
#define GZS_CRIADAS 4
Nъmero de Gang Zones que serгo criadas

Logo Abaixo:
Nome das GangZones (Nicks de players da FeK)

pawn Код:
new GZCriadas[GZS_CRIADAS];
new NomesGZs[GZS_CRIADAS][] =
{
"[FeK]DraKiNs",//1
"[FeK]Higor",//2
"[FeK]Vitor",//3
"[FeK]RockManN"//4  OBS: Ъltimo sem vнrgula
};
[GZS_CRIADAS] = Nъmero de Gang Zones
new GZCriadas = Array que irб armazenar no loop para criar as Gang Zones,posteriormente.
Obs: O ъltimo nгo deve conter Virgula ,

Agora vamos criar a Array onde armazenarб coordenadas das Gang Zones

Logo Abaixo da Array acima
pawn Код:
new CordGZs[GZS_CRIADAS][4] = {  
{2217,1901,2333,2013}, // [FeK]DraKiNs
{1875,641,1978,764}, // [FeK]Higor
{-2201,-281,-2011,-80}, // [FeK]Vitor
{-2015,1375,-1799,1601} // [FeK]RockManN
};
[GZS_CRIADAS] = Nъmeros de Gang Zones
[4] = Nъmero de Coordendas (x,y,x,y) [DEIXE 4 SEMPRE]



Criando elas::

Agora em OnGameModeInit vamos executar a criaзгo da Gang Zones:

pawn Код:
for (new i = 0; i <GZS_CRIADAS; i++) // Loop
{
     GZCriadas[i] = GangZoneCreate(CordGZs[i][0], CordGZs[i][1], CordGZs[i][2], CordGZs[i][3]);
     printf("Gang Zone %s Criada com sucesso",NomesGZs[i]);    
}
printf = Irб imprimir no console os nomes das Gang Zones que serгo criadas,esta funзгo й importante para checar se a gang zone foi criada ou nгo.
GangZoneCreate = Irб criar as gang zones,com base nas coordenadas definidas anteriormente.

Mostrando elas :
Para mostrar usamos o mesmo que criar,com loop e tudo.

EM OnPlayerSpawn
pawn Код:
for (new i = 0; i <GZS_CRIADAS; i++) // Loop
{
     GangZoneShowForPlayer(GZCriadas[i],COR_INICIAL_AQUI);
     printf("Gang Zone %s Criada com sucesso",NomesGZs[i]);    
}
Checando Бrea do Player::

Para checar a Бrea do player nessessitaremos de uma simples Stock chamada IsPlayerInArea

Ou atй mesmo use esta minha,ela checa se o player esta em alguma Gang Zone

pawn Код:
stock IsAreaInGangCheck(playerid)
{        
     new Float:x, Float:y, Float:z;
     GetPlayerPos(playerid, x, y, z);
     for (new i=0; i < GZS_CRIADAS; i++)
      if (x > CordGZs[i][0] && y > CordGZs[i][1] && x < CordGZs[i][2] && y < CordGZs[i][3]&& z < 500) return true;
     return false;
}
Esta stock checa se X,Y estгo igual as coordenadas da Gang Zone atravйs da Amplitude e checa se a Altura for menor que 500 para poder iniciar domнnio.

Agora usando o comando em OnPlayerCommandText:

Dominando elas::
pawn Код:
if(!strcmp(cmdtext, "/dominar", true))
{
    if(!IsAreaInGangCheck(playerid)) SendClientMessage(playerid, 0xFFFFFFFF, "SERVER: Vocк nгo estб em nenhuma Gang Zone,FAIL");
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    new name[MAX_PLAYER_NAME], string[44];
    GetPlayerName(playerid, name, sizeof(name));
    for (new i=0; i < GZS_CRIADAS; i++)
    if (x > CordGZs[i][0] && y > CordGZs[i][1] && x < CordGZs[i][2] && y < CordGZs[i][3]&& z < 500) {
        format(string, sizeof(string), "%s comeзou a dominar a gang zone %s.",name,NomesGZs[i]);

    }
    SendClientMessageToAll(0xFFFF00AA, string);
    GangZoneFlashForAll(GZCriadas[i], GetPlayerColor(playerid))
        SetTimer("Terminar",60000,false);
    return 1;
}
Este comando detecta se o player estiver na бrea,caso estiver irб pegar o nome da gang zone que ele esta e comecarб a fazer ela piscar com sua cor,com isso iniciarб um timer que chamarб essa funзгo:

pawn Код:
forward Terminar(playerid);
public Terminar(playerid)
{
    if(!IsAreaInGangCheck(playerid)) {
        SendClientMessageToAll(0xFFFF00AA, "Nгo consiguiram dominar o territуrio");
    }
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    new name[MAX_PLAYER_NAME], string[44];
    GetPlayerName(playerid, name, sizeof(name));
    for (new i=0; i < GZS_CRIADAS; i++)
    if (x > CordGZs[i][0] && y > CordGZs[i][1] && x < CordGZs[i][2] && y < CordGZs[i][3]&& z < 500) {
        format(string, sizeof(string), "%s conseguiu dominar %s.",name,NomesGZs[i]);
        GangZoneStopFlashForAll(GZCriadas[i]);

    }
    SendClientMessageToAll(0xFFFF00AA, string);
    return true;
}
estб public checa se o player estб na бrea,caso nгo estiver = Perdeu se Estiver = Ganhou

Tutorial acabado,criado por [FeK]DraKiNs do Blog [FeK]Squad.
NAO PERMITO POSTAR EM OUTROS BLOGS
ERROS -> PM
Reply


Messages In This Thread
Criando GangZones Dominбveis | Versгo 3.0 - by ipsBruno - 03.10.2010, 18:22
Re: Criando GangZones Dominбveis | Versгo 3.0 - by ipsBruno - 03.10.2010, 18:56
Re: Criando GangZones Dominбveis | Versгo 3.0 - by Kasura - 03.10.2010, 19:53
Re: Criando GangZones Dominбveis | Versгo 3.0 - by HigorOliver - 03.10.2010, 20:02
Re: Criando GangZones Dominбveis | Versгo 3.0 - by Kasura - 03.10.2010, 20:03
Re: Criando GangZones Dominбveis | Versгo 3.0 - by Gabriel_Halls - 03.10.2010, 20:49
Re: Criando GangZones Dominбveis | Versгo 3.0 - by KevinsL - 03.10.2010, 21:17
Re: Criando GangZones Dominбveis | Versгo 3.0 - by k1t0 - 03.10.2010, 22:45
Re: Criando GangZones Dominбveis | Versгo 3.0 - by Kasura - 03.10.2010, 23:12
Re: Criando GangZones Dominбveis | Versгo 3.0 - by StreetGT - 04.10.2010, 00:00
Re: Criando GangZones Dominбveis | Versгo 3.0 - by ipsBruno - 04.10.2010, 03:24
Re: Criando GangZones Dominбveis | Versгo 3.0 - by Canabis - 04.10.2010, 05:19
Re: Criando GangZones Dominбveis | Versгo 3.0 - by CyNiC - 04.10.2010, 11:57
Re: Criando GangZones Dominбveis | Versгo 3.0 - by ipsBruno - 04.10.2010, 12:21
Re: Criando GangZones Dominбveis | Versгo 3.0 - by Kasura - 04.10.2010, 12:52
Re: Criando GangZones Dominбveis | Versгo 3.0 - by HigorOliver - 04.10.2010, 13:27
Re: Criando GangZones Dominбveis | Versгo 3.0 - by ipsBruno - 04.10.2010, 13:28
Re: Criando GangZones Dominбveis | Versгo 3.0 - by Kasura - 04.10.2010, 13:39
Re: Criando GangZones Dominбveis | Versгo 3.0 - by Canabis - 04.10.2010, 15:55
Re: Criando GangZones Dominбveis | Versгo 3.0 - by HigorOliver - 04.10.2010, 21:04
Re: Criando GangZones Dominбveis | Versгo 3.0 - by Kasura - 04.10.2010, 21:15
Re: Criando GangZones Dominбveis | Versгo 3.0 - by HigorOliver - 04.10.2010, 21:43
Re: Criando GangZones Dominбveis | Versгo 3.0 - by frenetico - 05.10.2010, 02:26
Re: Criando GangZones Dominбveis | Versгo 3.0 - by zSuYaNw - 05.10.2010, 03:37
Re: Criando GangZones Dominбveis | Versгo 3.0 - by ipsBruno - 05.10.2010, 04:04
Re: Criando GangZones Dominбveis | Versгo 3.0 - by zSuYaNw - 05.10.2010, 04:39
Re: Criando GangZones Dominбveis | Versгo 3.0 - by ipsBruno - 05.10.2010, 05:14
Re: Criando GangZones Dominбveis | Versгo 3.0 - by frenetico - 05.10.2010, 09:05
Re: Criando GangZones Dominбveis | Versгo 3.0 - by Link_ - 05.10.2010, 14:28
Re: Criando GangZones Dominбveis | Versгo 3.0 - by ipsBruno - 06.10.2010, 14:25
Respuesta: Criando GangZones Dominбveis | Versгo 3.0 - by ipsBruno - 07.02.2011, 02:59
Re: Criando GangZones Dominбveis | Versгo 3.0 - by Link_ - 07.02.2011, 13:31
Re: Criando GangZones Dominбveis | Versгo 3.0 - by lucas_mdr1235 - 09.02.2011, 17:32
Re: Criando GangZones Dominбveis | Versгo 3.0 - by apollo lima - 29.12.2011, 21:45
Re: Criando GangZones Dominбveis | Versгo 3.0 - by leonardoulhoa - 03.01.2012, 22:11
Re: Criando GangZones Dominбveis | Versгo 3.0 - by Gabriel10101 - 23.07.2012, 00:27
Re: Criando GangZones Dominбveis | Versгo 3.0 - by DouglasRodrigues - 23.07.2012, 00:56
Re: Criando GangZones Dominбveis | Versгo 3.0 - by Bruno Alves - 08.09.2012, 17:13

Forum Jump:


Users browsing this thread: 2 Guest(s)