Einfügen neuer Gangfight-Gebiete funktioniert nicht richtig

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
  • Guten Tag,


    Da ich seid gester Abend das Gangfight-System vom VRL-Script vom netten hav0K erweitern wollte und weitere Gebiete hinzufügen wollte, bin ich auf ein Problem gestoßen, dass ich bis jetzt noch nicht behoben habe.
    Also Gebiete werden da so eingefügt:
    new GangFight[MAX_GWZONES][e_GangWar] =
    {
    // zone min x, zone min y, zone max x, zone max y, flagx1, flagy1, flagz1, flagx2, flagy3, flagz3, warbelohnungtype (0 = geld, 1 = drogen, 2 = mats)
    {"TROLOLO",-2989.536,-2942.825,-2989.536,-2942.825,2000.0,2000.0,2000.0,2000.0,2000.0,2000.0,0,0},//zone zum entbuggen der zone 1
    {"Playa Del Seville", 2711.0, -1893.5, 2813.0, -1984.5, 2793.3938,-1944.2179,17.3203, 2744.6069, -1944.5182, 17.3203, 0, 1000},
    {"Bauernhof", 1002.0, -416.5, 1214.0, -218.5,1058.8079,-343.7173,73.5514, 1019.4474,-291.0268,73.5506, 1, 1},
    {"The Panopticon", -639.0, -227.5, -334.0, 114.5, -509.1426,-175.2468,76.5291, -548.2228,-63.4848,63.3477, 2, 100},
    {"Doherty", -2203.0, -289.5, -2009.0, -76.5, -2151.7273,-234.5776,36.5156, -2143.7471,-257.5805,40.7195, 0, 1000},
    {"Las Colinas",2632.0, -1057.5, 2427.0, -929.5, 2503.6563, -1023.0398, 70.0859, 2457.9243, -953.5612, 80.0850, 2, 1000},
    {"Frachtschiff", -2523.0, 1523.5, -2299.0, 1563.5, -2474.4014,1548.6022,33.2273, -2307.5291,1545.2018,18.7734, 1, 1},
    {"El Quebrados", -1642.0, 2504.5, -1349.0, 2738.5, -1496.2655,2603.5151,55.6875, -1407.3016,2657.0781,55.6875, 2, 100},
    {"Flugzeug Friedhof", 45.0, 2385.5, 448.0, 2680.5, 365.3788,2536.9346,16.6647, 198.8640,2413.3540,16.4766, 0, 1000},
    {"Golfplatz", 1100.0, 2720.5, 1534.0, 2884.5,1437.6875,2773.8901,28.3750,1182.5750,2773.2573,10.8125, 2, 100},
    {"Las Barrancas", -937.0, 1400.5, -621.0, 1632.5,-794.1973,1547.7513,27.1172,-799.9917,1440.0303,13.7931, 0, 1000},
    {"Foster Valley", -2161.0, -1002.5, -1926.0, -708.5,-2038.3596,-858.4894,32.1719,-1894.4445,-858.5732,32.0312, 1, 1},
    {"Müllhalde", -1952.0, -1795.5, -1714.0, -1531.5,-1909.4561,-1670.1338,23.0156,-1853.7444,-1698.6061,40.8672, 2, 100},
    {"Angel Pine", -2365.0, -2654.5, -1889.0, -2181.5,-2145.5544,-2407.4946,30.4688,-2065.0906,-2443.3157,30.6250, 0, 1000},
    {"Montgomery", 1150.0, 121.5, 1440.0, 490.5,1325.8331,289.0239,20.0452,1238.4056,214.5491,19.5547, 1, 1},
    {"LS Ocean Docks", 2373.0, -2695.5, 2528.0, -2356.5,2446.3748,-2548.9614,17.9107, 2509.5803,-2624.6577,13.6452,1, 1}
    };


    Danach unter:
    #define MAX_GWZONES 16
    enum e_GangWar{
    warZoneName[30],
    Float:warZoneMinX,
    Float:warZoneMinY,
    Float:warZoneMaxX,
    Float:warZoneMaxY,
    Float:warFlagX1,
    Float:warFlagY1,
    Float:warFlagZ1,
    Float:warFlagX2,
    Float:warFlagY2,
    Float:warFlagZ2,
    warBelohnungType,
    warBelohnungVar,
    warOwner,
    warReady,
    warAttacker,
    warZoneID,
    Text:warDraw[14],
    warOwnerScore,
    warAttackerScore,
    warTime,
    warStarted,
    warPickup[2],
    warCaptureTime[2],
    warCapturedFlags[2],
    warCapturedBy[2]


    };


    Es wurde auch alles auf den Mysql-Server erweitert unter script_gangwar und bis jetzt funktioniert alles. Das Gebiet wird makiert sowie auch die Flaggen sind richtig gesetzt.
    Aber wenn ich jetzt ins Gebiet gehe und /gangfight eingebe steht im Chat, dass ich in keiner Gangfight Zone bin.
    Es handelt sich hier um die Zonen: Las Colinas und Playa Del Seville
    Hier nochmal der Aufbau vom /gangfight System, weil jedes alte Gangfight-Gebiet funktioniert, aber meine neuen eingefügten Gebiete nicht.
    CMD:gangfight(playerid)
    {
    new string[128], gwzone = GetPlayerGangzone(playerid), gangs = 0;
    if(!IsGang(Spieler[playerid][pFraktion]))return SendClientMessage(playerid, COLOR_GREY, "Du gehörst keiner Gang/Mafia an.");
    if(Spieler[playerid][pRank] < 5)return SendClientMessage(playerid, COLOR_GREY, "Gangfights können erst ab Rang 5 gestartet werden.");
    if(IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, COLOR_GREY, "Du darfst dich in keinem Fahrzeug befinden.");
    if(gwzone == -1)return SendClientMessage(playerid, COLOR_GREY, "Du befindest dich in keiner Gangfight Zone.");
    if(GangFight[gwzone][warOwner] == Spieler[playerid][pFraktion])return SendClientMessage(playerid, COLOR_GREY, "Dieses Gebiet gehört bereits deiner Fraktion.");
    if(GangFight[gwzone][warAttacker] == Spieler[playerid][pFraktion])return SendClientMessage(playerid, COLOR_GREY, "Deine Fraktion greift dieses Gebiet bereits an.");
    if(GangFight[gwzone][warTime] != 0 || GangFight[gwzone][warAttacker] != 0 ||GangFight[gwzone][warStarted] != 0)return SendClientMessage(playerid, COLOR_GREY, "Dieses Gebiet wird bereits umkämpft.");
    if(IsPlayerInRangeOfPoint(playerid, 5.0, GangFight[gwzone][warFlagX1], GangFight[gwzone][warFlagY1], GangFight[gwzone][warFlagZ1]) ||
    IsPlayerInRangeOfPoint(playerid, 5.0, GangFight[gwzone][warFlagX2], GangFight[gwzone][warFlagY2], GangFight[gwzone][warFlagZ2]))
    {
    if(GWisStarted4Fraktion[Spieler[playerid][pFraktion]] == 1)return SendClientMessage(playerid, COLOR_GREY, "Deine Fraktion bekämpft bereits ein Gebiet.");
    if(GWisStarted4Fraktion[GangFight[gwzone][warOwner]] == 1)return SendClientMessage(playerid, COLOR_GREY, "Der Besitzer ist bereits in einem Gangfight.");
    if(GangFight[gwzone][warOwner] == 0)
    {
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsLoggedIn(i))
    {
    if(Spieler[i][pFraktion] == Spieler[playerid][pFraktion])
    {
    TextDrawHideForPlayer(i,GangFight[gwzone][warDraw][0]);
    TextDrawHideForPlayer(i,GangFight[gwzone][warDraw][1]);
    TextDrawHideForPlayer(i,GangFight[gwzone][warDraw][2]);
    TextDrawHideForPlayer(i,GangFight[gwzone][warDraw][3]);
    TextDrawHideForPlayer(i,GangFight[gwzone][warDraw][4]);
    TextDrawHideForPlayer(i,GangFight[gwzone][warDraw][5]);
    TextDrawHideForPlayer(i,GangFight[gwzone][warDraw][6]);
    TextDrawHideForPlayer(i,GangFight[gwzone][warDraw][7]);
    TextDrawHideForPlayer(i,GangFight[gwzone][warDraw][8]);
    TextDrawHideForPlayer(i,GangFight[gwzone][warDraw][9]);
    TextDrawHideForPlayer(i,GangFight[gwzone][warDraw][10]);
    TextDrawHideForPlayer(i,GangFight[gwzone][warDraw][11]);
    TextDrawHideForPlayer(i,GangFight[gwzone][warDraw][12]);
    TextDrawHideForPlayer(i,GangFight[gwzone][warDraw][13]);
    GameTextForPlayer(i,"~g~GEBIET EINGENOMMEN",4000,5);
    }
    GangFight[gwzone][warOwner] = Spieler[playerid][pFraktion];
    GangFight[gwzone][warAttacker] = 0;
    GangFight[gwzone][warAttackerScore] = 0;
    GangFight[gwzone][warOwnerScore] = 0;
    GangFight[gwzone][warStarted] = 0;
    GangZoneShowForAll(GangFight[gwzone][warZoneID], GetZoneColor(Spieler[playerid][pFraktion]));
    return 1;
    }
    }
    }
    for(new a=0;a<GetMaxPlayers();a++)
    {
    if(IsLoggedIn(a))
    {
    if(Spieler[a][pFraktion] == GangFight[gwzone][warOwner])
    {
    gangs++;
    }
    }
    }
    if(gangs < 1)return SendClientMessage(playerid, COLOR_GREY, "Es müssen mindestens 1 Gegner online sein.");
    if(GangFight[gwzone][warReady] > 0)
    {
    format(string, sizeof(string), "Dieses Gebiet hat noch eine Sperre von %d Minuten.", (GangFight[gwzone][warReady]/60));
    SendClientMessage(playerid, COLOR_GREY, string);
    return 1;
    }
    format(string, sizeof(string), "*Gangfight* Ein Gangfight auf das Gebiet %s wurde von %s (%s) gestartet.", GangFight[gwzone][warZoneName], GetName(playerid), GetFraktionName(Spieler[playerid][pFraktion]));
    for(new a=0;a<GetMaxPlayers();a++)
    {
    if(IsLoggedIn(a))
    {
    if(Spieler[a][pFraktion] == 3 || Spieler[a][pFraktion] == 5 || Spieler[a][pFraktion] == 8 || Spieler[a][pFraktion] == 9)
    {
    SendClientMessage(a, COLOR_GANGFIGHTGREEN, string);
    }
    }
    }
    format(string, sizeof(string), "*Gangfight* Ein Gangfight auf das Gebiet %s wurde von %s (%s) gestartet.", GangFight[gwzone][warZoneName], GetName(playerid), GetFraktionName(Spieler[playerid][pFraktion]));
    SendFraktionMessage(GangFight[gwzone][warOwner], COLOR_GANGFIGHTGREEN, string);
    format(string, sizeof(string), "*Gangfight* Ein Gangfight auf das Gebiet %s wurde von %s (%s) gestartet.", GangFight[gwzone][warZoneName], GetName(playerid), GetFraktionName(Spieler[playerid][pFraktion]));
    SendFraktionMessage(Spieler[playerid][pFraktion], COLOR_GANGFIGHTGREEN, string);
    GangFight[gwzone][warAttacker] = Spieler[playerid][pFraktion];
    GWisStarted4Fraktion[GangFight[gwzone][warOwner]] = 1;
    GWisStarted4Fraktion[GangFight[gwzone][warAttacker]] = 1;
    GangFight[gwzone][warAttackerScore] = 0;
    GangFight[gwzone][warOwnerScore] = 20;
    GangFight[gwzone][warCapturedFlags][0] = 0;
    GangFight[gwzone][warCapturedFlags][1] = 0;
    GangFight[gwzone][warCapturedBy][0] = 0;
    GangFight[gwzone][warCapturedBy][1] = 0;
    GangFight[gwzone][warCaptureTime][0] = 0;
    GangFight[gwzone][warCaptureTime][1] = 0;
    GangFight[gwzone][warTime] = 60;
    GangFight[gwzone][warStarted] = 1;
    format(string, sizeof(string), "~b~%s:~w~ %d/%d Punkte", GetFrakName(GangFight[gwzone][warOwner]), 0, MAX_GANGFIGHTSCORE);
    TextDrawSetString(GangFight[gwzone][warDraw][3], string);
    format(string, sizeof(string), "~b~%s:~w~ %d/%d Punkte", GetFrakName(GangFight[gwzone][warAttacker]), 0, MAX_GANGFIGHTSCORE);
    TextDrawSetString(GangFight[gwzone][warDraw][4], string);
    format(string, sizeof(string), "~y~verbl. Zeit: %d Min", GangFight[gwzone][warTime]);
    TextDrawSetString(GangFight[gwzone][warDraw][5], string);
    GangZoneFlashForAll(GangFight[gwzone][warZoneID], GetZoneColor(Spieler[playerid][pFraktion]));
    if(IsPlayerInRangeOfPoint(playerid, 20.0, GangFight[gwzone][warFlagX1], GangFight[gwzone][warFlagY1], GangFight[gwzone][warFlagZ1]))
    {
    GangFight[gwzone][warCapturedFlags][0] = Spieler[playerid][pFraktion];
    format(string, sizeof(string), "*Gangfight* Flagge A wurde von %s eingenommen.", GetName(playerid));
    SendFraktionMessage(Spieler[playerid][pFraktion], COLOR_GANGFIGHTGREEN, string);
    }
    else if(IsPlayerInRangeOfPoint(playerid, 20.0, GangFight[gwzone][warFlagX2], GangFight[gwzone][warFlagY2], GangFight[gwzone][warFlagZ2]))
    {
    GangFight[gwzone][warCapturedFlags][1] = Spieler[playerid][pFraktion];
    format(string, sizeof(string), "*Gangfight* Flagge B wurde von %s eingenommen.", GetName(playerid));
    SendFraktionMessage(Spieler[playerid][pFraktion], COLOR_GANGFIGHTGREEN, string);
    }
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsLoggedIn(i))
    {
    if(Spieler[i][pFraktion] == GangFight[gwzone][warOwner])
    {
    TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][0]);
    TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][1]);
    TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][2]);
    TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][3]);
    TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][4]);
    TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][5]);
    TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][6]);
    TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][7]);
    TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][8]);
    TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][9]);
    TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][10]);
    TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][11]);
    TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][12]);
    TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][13]);
    }
    if(Spieler[i][pFraktion] == Spieler[playerid][pFraktion])
    {
    TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][0]);
    TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][1]);
    TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][2]);
    TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][3]);
    TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][4]);
    TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][5]);
    TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][6]);
    TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][7]);
    TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][8]);
    TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][9]);
    TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][10]);
    TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][11]);
    TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][12]);
    TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][13]);
    }
    }
    }
    }
    return 1;
    }
    Ich würde mich sehr drüber freuen, wenn mir jemand helfen könnte den Fehler zu beheben.


    Mit freundlichen Grüßen,
    Keno

  • Bei negativen Zahlen ist zu beachten, dass -1000 größer (>) ist, als -2000. Das wird vermutlich dein Fehler sein, weswegen dir gesagt wird, dass du in keiner Zone bist. Überprüfe einfach, ob du bei den Koordinaten min / max ein Fehler gemacht hast.

  • Bei negativen Zahlen ist zu beachten, dass -1000 größer (>) ist, als -2000. Das wird vermutlich dein Fehler sein, weswegen dir gesagt wird, dass du in keiner Zone bist. Überprüfe einfach, ob du bei den Koordinaten min / max ein Fehler gemacht hast.

    Danke für die schnelle Hilfe.
    Habe die Koordinaten jetzt nochmal überguckt und alle sind richtig. Habe die Testweise nochmal umgedreht und trotzdem funktioniert es nicht....


    Lg


    EDIT: Problem gefixxt. Ich habe an allen Koordinaten gespielt und jetzt funktioniert alles :love:
    Danke für die Hilfe Douq


    /close

    Einmal editiert, zuletzt von Kuno ()