[AJUDA] Algumas coisas de Gang Zone
#1

Eu segui o tutorial do andmeida e deu tudo certo. Porйm, eu quero dar /dominar e se eu nгo estiver na GZ der um aviso. E tambйm quando eu jб dominei a GZ, eu nгo possa dominar ela de novo.

Acho que sу o /dominar seja possнvel arrumar, caso nгo, eu posto aqui o que vocкs pedirem...

pawn Код:
//Gang Zones Dominбveis
if (strcmp("/dominar", cmdtext, true, 10) == 0)
    {
        if(IsPlayerInPlace(playerid, 1094.37, -2159.539, 1364.372, -1946.361))
          {
          if(Gang[playerid] == BALLAS)
            {
            GangZoneFlashForAll(Casarao, 0x8117AE96);
            SetTimer("DominarBallasCasarao",120000,false);
            new string[256];
            GetPlayerName(playerid, playrname, sizeof(playrname));
            format(string, sizeof(string), "O Player {FFFFFF}%s {FFFF00} e os {FFFFFF}Ballas {FFFF00}dominaram o Casarгo!", playrname);
            SendClientMessageToAll(COLOR_RED, string);
            }
            else if(Gang[playerid] == GROVE)
              {
              GangZoneFlashForAll(Casarao, 0x33AA33FF);
              SetTimer("DominarGroveCasarao",120000,false);
              new string[256];
              GetPlayerName(playerid, playrname, sizeof(playrname));
              format(string, sizeof(string), "O Player {FFFFFF}%s {FFFF00} e a {FFFFFF}Grove Street {FFFF00}dominaram o Casarгo!", playrname);
              SendClientMessageToAll(COLOR_RED, string);
              }
          }
        else if(IsPlayerInPlace(playerid, 1854.937, -1271.297, 2071.699, -1137.074))
          {
          if(Gang[playerid] == BALLAS)
            {
              GangZoneFlashForAll(Park, 0x8117AE96);
              SetTimer("DominarBallasPark",120000,false);
              new string[256];
              GetPlayerName(playerid, playrname, sizeof(playrname));
              format(string, sizeof(string), "O Player {FFFFFF}%s {FFFF00} e os {FFFFFF}Ballas {FFFF00}dominaram o Park Gleen!", playrname);
              SendClientMessageToAll(COLOR_RED, string);
            }
            else if(Gang[playerid] == GROVE)
              {
              GangZoneFlashForAll(Park, 0x33AA33FF);
              SetTimer("DominarGrovePark",120000,false);
              new string[256];
              GetPlayerName(playerid, playrname, sizeof(playrname));
              format(string, sizeof(string), "O Player {FFFFFF}%s {FFFF00} e a {FFFFFF}Grove Street {FFFF00}dominaram o Park Gleen!", playrname);
              SendClientMessageToAll(COLOR_RED, string);
              }
          }

        return 1;
    }
//-------------------------------//
Por favor se puderem me ajudem. Obrigado!
Reply
#2

Aparecer a mensagem quando nгo estб na GZ!
pawn Код:
//Gang Zones Dominбveis
if (strcmp("/dominar", cmdtext, true, 10) == 0)
    {
        if(IsPlayerInPlace(playerid, 1094.37, -2159.539, 1364.372, -1946.361)) return SendClientMessage(playerid, COLOR_RED, "Vocк nгo pode dominar GZ fora do local!");
        if(Gang[playerid] == BALLAS)
        {
            GangZoneFlashForAll(Casarao, 0x8117AE96);
            SetTimer("DominarBallasCasarao",120000,false);
            new string[256];
            GetPlayerName(playerid, playrname, sizeof(playrname));
            format(string, sizeof(string), "O Player {FFFFFF}%s {FFFF00} e os {FFFFFF}Ballas {FFFF00}dominaram o Casarгo!", playrname);
            SendClientMessageToAll(COLOR_RED, string);
            }
            else if(Gang[playerid] == GROVE)
              {
              GangZoneFlashForAll(Casarao, 0x33AA33FF);
              SetTimer("DominarGroveCasarao",120000,false);
              new string[256];
              GetPlayerName(playerid, playrname, sizeof(playrname));
              format(string, sizeof(string), "O Player {FFFFFF}%s {FFFF00} e a {FFFFFF}Grove Street {FFFF00}dominaram o Casarгo!", playrname);
              SendClientMessageToAll(COLOR_RED, string);
              }
          }
        else if(IsPlayerInPlace(playerid, 1854.937, -1271.297, 2071.699, -1137.074))  return SendClientMessage(playerid, COLOR_RED, "Vocк nгo pode dominar GZ fora do local!");
         if(Gang[playerid] == BALLAS)
         {
              GangZoneFlashForAll(Park, 0x8117AE96);
              SetTimer("DominarBallasPark",120000,false);
              new string[256];
              GetPlayerName(playerid, playrname, sizeof(playrname));
              format(string, sizeof(string), "O Player {FFFFFF}%s {FFFF00} e os {FFFFFF}Ballas {FFFF00}dominaram o Park Gleen!", playrname);
              SendClientMessageToAll(COLOR_RED, string);
            }
            else if(Gang[playerid] == GROVE)
              {
              GangZoneFlashForAll(Park, 0x33AA33FF);
              SetTimer("DominarGrovePark",120000,false);
              new string[256];
              GetPlayerName(playerid, playrname, sizeof(playrname));
              format(string, sizeof(string), "O Player {FFFFFF}%s {FFFF00} e a {FFFFFF}Grove Street {FFFF00}dominaram o Park Gleen!", playrname);
              SendClientMessageToAll(COLOR_RED, string);
              }
          }

        return 1;
    }
//-------------------------------//
Reply
#3

Nгo me ajudou, nгo funciona. Up. Alguйm me ajuda -.-'
Reply
#4

usa aquele que te passei pelo msn, ele estб completo sem bugs e sem errors.
Reply
#5

Sem bug? EAUHuaehuaeuh. Nгo tem nem a metade do tutorial do andmeida. Drakins cagou naquele tuto, nгo ensinou bolhufas. E sem dizer que tб bugado pra baralho.
Reply
#6

bom, eu fiz aqui em meu PC e compilou sertinho,

pawn Код:
#include a_samp

#define GZS_CRIADAS 4


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
};

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
};

forward Terminar(playerid);

public OnGameModeInit()
{
    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]);
    }
    return 1;
}
public OnPlayerSpawn(playerid)
{
    for (new i = 0; i <GZS_CRIADAS; i++) // Loop
    {
         GangZoneShowForPlayer(playerid,GZCriadas[i],0xFFFFFFFF);
         printf("Gang Zone %s Criada com sucesso",NomesGZs[i]);
    }
    return  1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(!strcmp(cmdtext, "/dominar", true))
    {
        if(!IsAreaInGangCheck(playerid)) SendClientMessage(playerid, 0xFF00FF, "Vocк nгo estб em nenhuma Gang Zone!");
        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), "Informaзгo: %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;
    }

    return false;
}
public Terminar(playerid)
{
    if(!IsAreaInGangCheck(playerid)) return SendClientMessageToAll(0xFFFF00AA, "Nгo consiguiram dominar o territуrio"),0;
    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;
}
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;
}
Reply
#7

Compilou. Vocк pelo menos testou? Testa e serб triste. Quero ajuda nesse, ninguйm me ajuda.

Falta bastante coisa, o /dominar pode ser usado mesmo que vocк tenha dominado. Vocк ganha dinheiro mesmo que a gang zone foi dominada por outra gang. E quando dou /dominar em outra бrea nгo aparece nada, deveria aparecer pelo menos uma mensagem.
Reply
#8

[AF]Junior, fiz aqui um sistema mas nгo sei se funciona, como nгo sei a variбvel que vocк usa para detetar as "equipes" tive de usar playerid:

Topo do gamemode:
pawn Код:
new bool:GzDominada[MAX_PLAYERS];
Comando:
pawn Код:
if(!strcmp(cmdtext, "/dominar", true))
{
   if(!IsPlayerInPlace(playerid, 1094.37, -2159.539, 1364.372, -1946.361)) return SendClientMessage(playerid, COLOR_RED, "Vocк nгo pode dominar a Gz fora do local!");
   if(!GzDominada[playerid]) return SendClientMessage(playerid, Vermelho, "Vocк jб dominou esta gangzona!");
   if(Gang[playerid] == BALLAS)
   {
      GangZoneFlashForAll(Casarao, 0x8117AE96);
      SetTimer("DominarBallasCasarao",120000,false);
      new string[256];
      GetPlayerName(playerid, playrname, sizeof(playrname));
      format(string, sizeof(string), "O Player {FFFFFF}%s {FFFF00} e os {FFFFFF}Ballas {FFFF00}dominaram o Casarгo!", playrname);
      SendClientMessageToAll(COLOR_RED, string);
      GzDominada[playerid] = true;
   }
   else if(Gang[playerid] == GROVE)
   {
      GangZoneFlashForAll(Casarao, 0x33AA33FF);
      SetTimer("DominarGroveCasarao",120000,false);
      new string[256];
      GetPlayerName(playerid, playrname, sizeof(playrname));
      format(string, sizeof(string), "O Player {FFFFFF}%s {FFFF00} e a {FFFFFF}Grove Street {FFFF00}dominaram o Casarгo!", playrname);
      SendClientMessageToAll(COLOR_RED, string);
      GzDominada[playerid] = true;
      }
   }
   else
   {
   if(!IsPlayerInPlace(playerid, 1094.37, -2159.539, 1364.372, -1946.361)) return SendClientMessage(playerid, COLOR_RED, "Vocк nгo pode dominar a Gz fora do local!");
   if(!GzDominada[playerid]) return SendClientMessage(playerid, Vermelho, "Vocк jб dominou esta gangzona!");
   if(Gang[playerid] == BALLAS)
   {
      GangZoneFlashForAll(Park, 0x8117AE96);
      SetTimer("DominarBallasPark",120000,false);
      new string[256];
      GetPlayerName(playerid, playrname, sizeof(playrname));
      format(string, sizeof(string), "O Player {FFFFFF}%s {FFFF00} e os {FFFFFF}Ballas {FFFF00}dominaram o Park Gleen!", playrname);
      SendClientMessageToAll(COLOR_RED, string);
      GzDominada[playerid] = true;
   }
   else if(Gang[playerid] == GROVE)
   {
      GangZoneFlashForAll(Park, 0x33AA33FF);
      SetTimer("DominarGrovePark",120000,false);
      new string[256];
      GetPlayerName(playerid, playrname, sizeof(playrname));
      format(string, sizeof(string), "O Player {FFFFFF}%s {FFFF00} e a {FFFFFF}Grove Street {FFFF00}dominaram o Park Gleen!", playrname);
      SendClientMessageToAll(COLOR_RED, string);
      GzDominada[playerid] = true;
   }
   return true;
}

Se puder, poste a variбvel que usa para detetar as equipes, tipo:
pawn Код:
gTeam[...]
Ou algo do gйnero.
Reply
#9

A minha й Gang[playerid]
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)