[DUV] Sisteminha de gz meu
#1

saca sу galerinha do bem, o sisteminha meu de gz, ta funfando bemzinho atй na hora de identificar se o player estб na бrea ou nгo.

eu uso uma variavel global: new GZ[MAX_PLAYERS];

ai no mode init eu to usando:

GZ[0] = GangZoneCreate(coo);
GZ[1] = ...
GZ[2] = ...

ai na parte que vai checar:

pq no caso o melhor caso era a variavel global,com matrizes,tipo
new GZ[1][4]=
{
coo,
coo
...
};

assim ficaria fбcil mais na parte de criar mais dificil, entгo eu tento usar

for(new x = 0; x < GZ(sizeof); x++)
{
IsPlayerInArea(playerid,GZ[x]);
}

ai da pau, TAG MISTMATCH

IsPlayerInArea(playerid,GZ[x],GZ[x],GZ[x],GZ[x]);

nessa aqui funfa bem sem pau, mas na hora que eu entro na gz, nada de aparecer oque eu coloco mesmo que seja uma mensagem.

entгo vocкs me conseguem alguma funзгozinha que faz oque eu quero, que captura oque oque estaria no MOD INIT, GZ[0] = GangZoneCreate(..); | que foi definido na variavel global GZ[MAX_PLAYERS];


vlw.. | saъde e paz rapaziada!
Reply
#2

Code:
IsPlayerInArea(playerid, Float:Xmin, Float:Ymin, Float:Xmax, Float:Ymax); //Ou seja, vocк tem que colocar as coordenadas e nгo a id da gang zone.
Reply
#3

e qual seria a funзгo que pega o ID da gz?
Reply
#4

Quote:
Originally Posted by Braulio_BcO
e qual seria a funзгo que pega o ID da gz?
No IsPlayerInArea basta vocк pegar as coordenadas das Gangzones e colocar ali...se quiser com loop faзa assim:
pawn Code:
new GZ[200]; //MAX_PLAYERS iria ficar 500....vб mudando o numero de acordo com que vocк ultrapasse 200 gangzones o.o
new GangZonesCoord[4][4] = {
    {-2651.6501,634.1177,14.4531,180.0},//substitua pelas coordenadas das gangzones
    {1173.5842,-1324.5615,15.1953,15.19},
    {2031.9415,-1404.3578,17.2614,17.2614},
    {1582.5615,1768.7921,10.8203,93.7454}
};
//OnGamemodeInit
   for(new xt = 0; xt < 4; xt++)//mude o 4 de acordo com o numero de gz existentes no seu servidor(estando com as coordenadas na matriz GangZonesCoord(em ordem para este loop)
   {
       GZ[xt] = GangZoneCreate(GangZoneCoord[xt][0], GangZoneCoord[xt][1], GangZoneCoord[xt][2], GangZoneCoord[xt][3]);
    }
//OnPlayerConnect
for(new a = 0; a < 4; a++)
{
   GangZoneShowForPlayer(playerid, a, COR);
}
//
forward PlayerEmGZ(playerid, gangzoneid);
//final do gm
public PlayerEmGZ(playerid, gangzoneid)
{
   for(new xt = 0; xt < 4; xt ++)
   {
   if(IsPlayerInArea(playerid, GangZoneCoord[xt][0], GangZoneCoord[xt][1], GangZoneCoord[xt][2], GangZoneCoord[xt][3])
   {
      //funзгo
      return 1;
   }
   }
   return 1;
}
Acho que tem algo de errado ai nгo sei, depois dou uma revisada para ver se estб certo agora vou saindo ;**
Reply
#5

Quote:

Acho que tem algo de errado ai nгo sei, depois dou uma revisada para ver se estб certo agora vou saindo ;**

A princнpio estб certinho sim. Mas um sistema desses nгo й bem assim. Tenque fazer a funзгo de checar na бrea, de checar o dono da бrea, de checar quantos membros da gang na mesma бrea, etc. Se isso fosse fбcil qualquer gamemode por aн teria.
Reply
#6

Quote:
Originally Posted by Spawn*
Quote:

Acho que tem algo de errado ai nгo sei, depois dou uma revisada para ver se estб certo agora vou saindo ;**

A princнpio estб certinho sim. Mas um sistema desses nгo й bem assim. Tenque fazer a funзгo de checar na бrea, de checar o dono da бrea, de checar quantos membros da gang na mesma бrea, etc. Se isso fosse fбcil qualquer gamemode por aн teria.
Ai ja й outra coisa, eu fiz ali o que eu vi ele pedindo. Ele sу queria para ver se o player estava na area ai peguei a funзгo que ele havia postado IsPlayerInArea e coloquei para ele fazer o resto...entгo sу ele fazer o resto a partir dai
Reply
#7

justamente!
Reply


Forum Jump:


Users browsing this thread: