[Ajuda] Gang Zone
#1

Ola a Todos, estou usando uma include que eu modifiquei de gang zones: https://sampforum.blast.hk/showthread.php?tid=292488

bom, ela esta apresentando o seguinte erro, quando estou dentro de uma gangzone e dou /dominar fala que nгo estou nela, segue os codigos:

TOPO DO GAMEMODE
pawn Код:
forward DominateGangZone(pid, gzid);

enum gangg
{
    Float:gangzoneY2,       Name[MAX_GZNAME],       Dono[MAX_PLAYER_NAME],
    Float:gangzoneX,        Float:gangzoneY,        Float:gangzoneX2,
    Ganha,                  Cor
};


new
    GangZone[MAX_GANGZONES][gangg],
    GangZoneID[MAX_GANGZONES]   = -1,
    MyTIME[32],
    gID = 0
;
Em um Local Qualquer:
pawn Код:
// ================================= INCLUDE CAROL'S GANG ZONE  ===================================
stock GetGangZoneIDFromName(gangname[])
{
    for(new i; i < MAX_GANGZONES; ++i)
    {
        if(!strcmp(gangname, GangZone[i][Name], true)) return i;
    }
    return -1;
}

stock CreateGangZone(gangzonename[], Float:x, Float:y,      Float:x2, Float:y2, color, lucro)
{
    if(gID == MAX_GANGZONES)
    {
        print("\n\n Limite de GangZones Estourados!\n\n");
        return 0;
    }
    format(GangZone[gID][Name], MAX_GZNAME, gangzonename);
    GangZone[gID][gangzoneX]                = x;
    GangZone[gID][gangzoneY]                = y;
    GangZone[gID][gangzoneX2]               = x2;
    GangZone[gID][gangzoneY2]               = y2;
    GangZone[gID][Cor]              = color;
    GangZone[gID][Ganha]            = lucro;
    GangZoneID[gID]                 = GangZoneCreate(GangZone[gID][gangzoneX], GangZone[gID][gangzoneY], GangZone[gID][gangzoneX2], GangZone[gID][gangzoneY2]);
    return gID++;
}

stock LoadGangZones()
{
    for(new i; i < gID; ++i)
    {
        ShowGangZone(i);
    }
}
stock PlayerGangZone(pid)
{
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(pid, X, Y, Z);
    for(new i; i < MAX_GANGZONES; ++i)
    {
        if (X > GangZone[i][gangzoneX] && X < GangZone[i][gangzoneX2] && Y > GangZone[i][gangzoneY] && Y < GangZone[i][gangzoneY2])
        {
            return i;
        }
    }
    return -1;
}


public DominateGangZone(pid, gzid)
{
    if(PlayerGangZone(pid) == -1)
        return GangZoneStopFlashForAll(gzid);

    if(MyTIME[pid] == MAX_TIMEDOMINATE)
    {
        GameTextForPlayer(pid, "~b~Dominado]", 3000, 1);
        MyTIME[pid] = 0;
        GangZoneStopFlashForAll(gzid);
        GangZone[gzid][Cor] = GetPlayerColor(pid)   + LIGHTER_COLOR;
        GangZoneShowForAll(gzid,GetPlayerColor(pid) + LIGHTER_COLOR);
        format(GangZone[gzid][Dono], strlen(GetNick(pid)), GetNick(pid));
       
        new string[204], orgg[104];
        if(PlayerInfo[pid][Boys] >= 1) { orgg = "os Da Nang Boys"; }
        if(PlayerInfo[pid][Triads] >= 1) { orgg = "os Triads"; }
        if(PlayerInfo[pid][FBI] >= 1) { orgg = "o FBI"; }
        if(PlayerInfo[pid][SWAT] >= 1) { orgg = "a SWAT"; }
        if(PlayerInfo[pid][Rifa] >= 1) { orgg = "os SF Rifa's"; }
        if(PlayerInfo[pid][Mafia] >= 1) { orgg = "a Mafia"; }
        format(string, sizeof(string),"[GZ.INFO]O %s e %s conseguiram dominar % | Local: /gps",GetNick(pid), orgg, GetGangZoneName(gzid));
        return false;
    }
    new _st[100];
    format(_st, sizeof(_st),"~b~Dominando a gangzone ~w~%s~n~(%d/%d)",GetGangZoneName(gzid), MyTIME[pid], MAX_TIMEDOMINATE);
    GameTextForPlayer(pid, _st, 1200, 1);
   
    new striing[204], org[104];
    if(PlayerInfo[pid][Boys] >= 1) { org = "os Da Nang Boys"; }
    if(PlayerInfo[pid][Triads] >= 1) { org = "os Triads"; }
    if(PlayerInfo[pid][FBI] >= 1) { org = "o FBI"; }
    if(PlayerInfo[pid][SWAT] >= 1) { org = "a SWAT"; }
    if(PlayerInfo[pid][Rifa] >= 1) { org = "os SF Rifa's"; }
    if(PlayerInfo[pid][Mafia] >= 1) { org = "a Mafia"; }
    format(striing, sizeof(striing),"[GZ.INFO]O %s e %s estгo tentando dominar % | Local: /gps",GetNick(pid), org, GetGangZoneName(gzid));
    SendClientMessageToAll(GetPlayerColor(pid), striing);
   
    GangZoneFlashForAll(gzid, GetPlayerColor(pid)   + LIGHTER_COLOR);
    SetTimerEx("DominateGangZone", 1000, false, "id", pid, gzid);
    return MyTIME[pid]++;
}

stock GetNick(playerid)
{
    new x[24]; GetPlayerName(playerid, x, 24);
    return x;
}
Comando para Dominar:
pawn Код:
CMD:dominar(playerid)
{
    if(PlayerGangZone(playerid) == -1) return SendClientMessage(playerid, VERMELHO,"* Vocк nгo estб em uma GangZone!");
    if(strcmp(GangZone[PlayerGangZone(playerid)][Dono], GetNick(playerid), true)) return SendClientMessage(playerid, VERMELHO,"* Esta GangZona jб й sua!");
    DominateGangZone(playerid, PlayerGangZone(playerid));
    return 1;
}
alguem pode por favor me ajudar? desde ja agradeзo
Reply
#2

Baixe Aqui
Uso e Recomendo, Mt Facil de Usar.
Reply
#3

Quote:
Originally Posted by DanDRT
Посмотреть сообщение
Baixe Aqui
Uso e Recomendo, Mt Facil de Usar.
'-', isso й criador de gangzone, qualquer um faz isso, nгo precisa de tool, to falando o sistema de dominar q ta dando fail
Reply
#4

Quote:
Originally Posted by LucasTotola
Посмотреть сообщение
'-', isso й criador de gangzone, qualquer um faz isso, nгo precisa de tool, to falando o sistema de dominar q ta dando fail
Estou Fazendo Um Momento...
Reply
#5

Quote:
Originally Posted by DanDRT
Посмотреть сообщение
Estou Fazendo Um Momento...
amiguinho kkkk, nгo quero que vc faзa, ja to com um, sу q ta dando erro, entende? kkk
Reply
#6

OnGameModeInit
OBS: Modifique X, Y e Z \/
PHP код:
CaP CPS_AddCheckpoint(XYZ,2.0,80);
PcA CPS_AddCheckpoint(XYZ,2.0,80);
AcP CPS_AddCheckpoint(XYZ,2.0,80);
Crie Mais Se Tiver Mais Gang's e Crie New's Para Elas /\. 
Final do GameMode
PHP код:
public OnPlayerEnterCheckpoint(playerid)
{
    if(
strcmp(GangZone[PlayerGangZone(playerid)][Dono], GetNick(playerid), true))
    {
        
SendClientMessage(playeridVERMELHO,"* Esta GangZona jб й sua!");
        return 
1;
    }
    else
    {
        
DominateGangZone(playeridPlayerGangZone(playerid));
    }
    return 
1;

Acho que assim da...
Reply
#7

Quote:
Originally Posted by DanDRT
Посмотреть сообщение
OnGameModeInit
OBS: Modifique X, Y e Z \/
PHP код:
CaP CPS_AddCheckpoint(XYZ,2.0,80);
PcA CPS_AddCheckpoint(XYZ,2.0,80);
AcP CPS_AddCheckpoint(XYZ,2.0,80);
Crie Mais Se Tiver Mais Gang's e Crie New's Para Elas /\. 
Final do GameMode
PHP код:
public OnPlayerEnterCheckpoint(playerid)
{
    if(
strcmp(GangZone[PlayerGangZone(playerid)][Dono], GetNick(playerid), true))
    {
        
SendClientMessage(playeridVERMELHO,"* Esta GangZona jб й sua!");
        return 
1;
    }
    else
    {
        
DominateGangZone(playeridPlayerGangZone(playerid));
    }
    return 
1;

Acho que assim da...
amiguinho, dnv, quero arrumar meu erro, n quero por checkpoint, acho mto ruim
Reply
#8

mals pelo double post, mas alguem pode me ajudar?
Reply
#9

tente mudar:

pawn Код:
CMD:dominar(playerid){    if(PlayerGangZone(playerid) == -1) return SendClientMessage(playerid, VERMELHO,"* Vocк nгo estб em uma GangZone!");    if(strcmp(GangZone[PlayerGangZone(playerid)][Dono], GetNick(playerid), true)) return SendClientMessage(playerid, VERMELHO,"* Esta GangZona jб й sua!");    DominateGangZone(playerid, PlayerGangZone(playerid));    return 1;} // por return true;
e me explique o porque do playerid == -1.
Reply
#10

Quote:
Originally Posted by Equipe
Посмотреть сообщение
tente mudar:

pawn Код:
CMD:dominar(playerid){    if(PlayerGangZone(playerid) == -1) return SendClientMessage(playerid, VERMELHO,"* Vocк nгo estб em uma GangZone!");    if(strcmp(GangZone[PlayerGangZone(playerid)][Dono], GetNick(playerid), true)) return SendClientMessage(playerid, VERMELHO,"* Esta GangZona jб й sua!");    DominateGangZone(playerid, PlayerGangZone(playerid));    return 1;} // por return true;
e me explique o porque do playerid == -1.
pawn Код:
stock PlayerGangZone(pid)
{
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(pid, X, Y, Z);
    for(new i; i < MAX_GANGZONES; ++i)
    {
        if (X > GangZone[i][gangzoneX] && X < GangZone[i][gangzoneX2] && Y > GangZone[i][gangzoneY] && Y < GangZone[i][gangzoneY2])
        {
            return i;
        }
    }
    return -1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)