Gangfight geht nur in 1er Zone

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo,
    Ich habe mir ein Gangfight system nach dem Tutorial erstellt: http://forum.sa-mp.de/san-andr…m/?highlight=gangfight...
    Alles funktioniert bei der 1. Zone die ich erstellt habe.
    Doch bei der 2. Funktioniert das nicht :(
    Da kommt nur, dass ich angeblich nicht im Gebiet bin.


    Kann einer mit bitte helfen?


    Hier die Gangzonen:
    new Gebiete[3][gebiet] = {
    //{gOwner,MinX,MinY,MaxX,MaxY,On,Stand1,Stand2,Angreifer}
    {13,1033.2401,-1582.6832,1221.9924,-1398.4604,0,0,0,0},
    {14,1837.2948,-1282.0463,2086.5544,-1103.2233,0,0,0,0},
    {6,1582.5809,-1168.2468,1835.7797,-1021.9578,0,0,0,0}
    };


    Hier der Befehl:
    if(strcmp(cmd, "/gw", true) == 0)
    {
    if(PlayerInfo[playerid][pChef] == 14||PlayerInfo[playerid][pChef] == 13||PlayerInfo[playerid][pChef] == 5||PlayerInfo[playerid][pChef]==6||PlayerInfo[playerid][pChef]==17||PlayerInfo[playerid][pChef]==18)
    {
    if(IsPlayerInGebiet(playerid) > -1)
    {
    new zone = IsPlayerInGebiet(playerid);
    if(Gebiete[zone][gOn] == 1) return SendClientMessage(playerid,COLOR_BLUE,"Es wird bereits um dieses Gebiet gekämpft!");
    if(Gebiete[zone][gOwner] == PlayerInfo[playerid][pChef]) return SendClientMessage(playerid,COLOR_BLUE,"Dieses Gebiet gehört bereits deiner Fraktion!");
    Gebiete[zone][gAngreifer] = PlayerInfo[playerid][pChef];
    Gebiete[zone][gOn] = 1;
    SetTimerEx("GangFight",100000,0,"i",zone);
    for(new i; i<MAX_PLAYERS; i++)
    {
    if(PlayerInfo[i][pChef] == Gebiete[zone][gOwner] ||PlayerInfo[i][pArbeiter] == Gebiete[zone][gOwner])
    {
    SendClientMessage(playerid,0xFFFF00FF,"=========||GangFight||==========");
    SendClientMessage(playerid,0xA0A0A0FF,"Achtung! Eure Gangzone wird angegriffen!");
    SendClientMessage(playerid,0xA0A0A0FF,"Verteidigt es oder es gehört bald dem Feind");
    SendClientMessage(playerid,0xFFFF00FF,"=========||GangFight||==========");
    }
    if(PlayerInfo[i][pChef] == Gebiete[zone][gAngreifer] ||PlayerInfo[i][pArbeiter] == Gebiete[zone][gAngreifer])
    {
    SendClientMessage(playerid,0x00AFFFFF,"=========||GangFight||==========");
    SendClientMessage(playerid,0x00FF3C9D,"Der Leader eurer Fraktion hat ein Gangfight gestartet!");
    SendClientMessage(playerid,0x00FF3C9D,"Tötet die Feinde um Punkte zu erhalten!");
    SendClientMessage(playerid,0x00AFFFFF,"=========||GangFight||==========");
    }
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist in keinem Gebiet, welches man einnehmen kann!");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED,"Du bist in keiner Gang/Mafia!");
    }
    return 1;
    }


    Und hier der "IsPlayerInGebiet" stock:
    stock IsPlayerInGebiet(playerid)
    {
    for(new i;i<sizeof(Gebiete);i++)
    {
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    if(Gebiete[i][gMinX] < X && Gebiete[i][gMaxX] > X && Gebiete[i][gMinY] < Y && Gebiete[i][gMaxY] > Y)
    {
    return i;
    }
    return -1;
    }
    return -1;
    }


    Würde mich um Hilfe sehr freuen.