Problem mit Gangfightsystem

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
  • Ist das Grün zufällig die Farbe der Fraktion in der Liste die vor oder nach der Grove steht?


    Nein, das Grün gehört zur Grove... siehe Liste (unten)



    Hier :)



    Mit freundlichen Grüßen
    German_ScripterHD

    Einmal editiert, zuletzt von German_ScripterHD ()

  • Was wird dir so ausgegeben?
    public GangZonesLoad(id)
    {
    new rows, field;
    cache_get_data(rows, field);
    if(!rows)return 1;
    cache_get_row(0, 1, gwInfo[id][f_gebiet]);
    printf("Gangzoneid: %i = %s",id,gwInfo[id][f_gebiet]);
    gwInfo[id][besitzer] = cache_get_row_int(0, 2);
    gwInfo[id][minx] = cache_get_row_float(0, 3);
    gwInfo[id][miny] = cache_get_row_float(0, 4);
    gwInfo[id][maxx] = cache_get_row_float(0, 5);
    gwInfo[id][maxy] = cache_get_row_float(0, 6);
    gwInfo[id][running] = cache_get_row_int(0, 9);
    gwInfo[id][punkteAngreifer] = cache_get_row_int(0, 7);
    gwInfo[id][punkteVerteidiger] = cache_get_row_int(0, 8);
    gwInfo[id][angreifer] = cache_get_row_int(0, 13);
    gwInfo[id][RemainingHour] = cache_get_row_int(0, 10);
    gwInfo[id][RemainingMin] = cache_get_row_int(0, 11);
    gwInfo[id][RemainingSec] = cache_get_row_int(0, 12);
    printf("Besitzer des Gebiets %d ist: %d", id, gwInfo[id][besitzer]);
    CreateGangZones(id);
    return 1;
    }


    Welches Gebiet ist das Gebiet, mit der falschen Farbe?

  • Welches Gebiet ist das Gebiet, mit der falschen Farbe?

    Ist bei mehreren Gangzones so das die Farben falsch angzeigt werden. (Achja... mir ist vorhin aufgefallen das ich in der Datenbank 16 Gangzones habe und geladen werden aber bloß 15...)


    //Edit:


    Mysql Datenbank:


    Print: (Serverlog)



    Ich verstehe es nicht mehr ?( der print gibt alles wieder wie in der Datenbank also muss ja der fehler bei einem der stocks liegen:
    oder sehe ich das falsch?


    MfG ^^


    Mit freundlichen Grüßen
    German_ScripterHD

    2 Mal editiert, zuletzt von German_ScripterHD ()

  • (Achja... mir ist vorhin aufgefallen das ich in der Datenbank 16 Gangzones habe und geladen werden aber bloß 15...)

    Erhöhe die Anzahl der Gangzones im Array um eines, da du bei 1 anfängst, anstatt bei 0 (also 17 rein schreiben).



    Zur Farbe:
    Bei welcher Zonen-ID war die Farbe falsch? Welche Farbe hatte sie, und welche Farbe sollte sie haben?
    Wenn es bei zwei oder mehreren so ist, dann nenne bitte alle, vielleicht lässt sich da ein Muster erkennen.

  • Erhöhe die Anzahl der Gangzones im Array um eines, da du bei 1 anfängst, anstatt bei 0 (also 17 rein schreiben).

    Ich habe jetzt MAX_GANGZONES auf 17 gestellt, doch mir ist aufgefallen das die ersten Gangzone also Dillimore nie geladen wird bzw. ist sie auf der Map nicht sichtbar.



    Zur Farbe:
    Bei welcher Zonen-ID war die Farbe falsch? Welche Farbe hatte sie, und welche Farbe sollte sie haben?
    Wenn es bei zwei oder mehreren so ist, dann nenne bitte alle, vielleicht lässt sich da ein Muster erkennen.

    Gebietsname (Farbe eigentlich) = Farbe die sie gerade hat


    Dillimore ( grün ) = nicht sichtbar
    Blueberry ( rot ) = grün
    Redsands ( blau ) = rot
    Prickle Pine ( rot ) = blau
    Las Barrancas ( blau ) = rot
    Country City ( grün ) = blau
    Las Payasadas ( blau ) = grün
    Ocan Flats ( blau ) = blau
    Doherty ( rot ) = blau
    Glen Park ( grün ) = rot
    East Beach ( rot ) = grün
    Willowfield ( grün ) = rot
    Fortcarson ( orange ) =grün
    Las Colinas ( orange ) = orange
    Downtown ( orange ) = orange


    So wie ich das sehe verschiebt sich das ganze ja immer um eins... also wenn die Gangzone Dillimore geladen werden sollte müsste es ja der Fehler behoben sein oder? (Leider bekomme ich die Gangzones 1 nicht zum laden... bitte um Hilfe)


    Nochmal alle Fraktionen die bei den Ganggebieten eine Rolle spielen:



    Mit freundlichen Grüßen
    German_ScripterHD

    Einmal editiert, zuletzt von German_ScripterHD ()

  • Dann dürfte es passen.

    Erstmal ein Super großes Lob an dich Jeffry, das du mir hier hilfst :good: Aber leider funktioniert es immer noch nicht, ich kann zwar in Dillimore ein Gangwar starten aber die Farben sind immer noch falsch. Auch Dillimore ist noch nicht sichtbar... Ich verstehe es selbst nicht mehr. Ich bin echt am verzweifeln.


    Ich habe jetzt den Code dort eingefügt:


    @Jeffry ist das so richtig?


    Mit freundlichen Grüßen
    German_ScripterHD

    Einmal editiert, zuletzt von German_ScripterHD ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Sorry, das was ich dir zuvor gesagt habe hat nicht gestimmt, das ist mir kurz danach dann auch eingefallen, da war ich aber schon auf dem Weg ins Restaurant, daher erst jetzt die Antwort.
    Ich hatte das System von dir zuvor falsch interpretiert.


    So sollte es richtig sein:
    //passwort richtig
    for(new i; i<sizeof(gangZone);i++)
    {
    GangZoneShowForPlayer(playerid,gangZone[i],fInfo[gwInfo[i][besitzer]][f_color]);
    }


    Sowie:
    stock UpdateGangZones(id)
    {
    GangZoneHideForAll(gangZone[id]);
    GangZoneShowForAll(gangZone[id],fInfo[gwInfo[id][besitzer]][f_color]);
    if(gwInfo[id][running]==1)
    {
    GangZoneFlashForAll(gangZone[id],fInfo[gwInfo[id][angreifer]][f_color]);
    }
    return true;
    }

  • Wie kann ich dir nur danken? :rolleyes: Es klappt ENDLICH :thumbup:
    Jetzt habe ich aber noch eine Frage :)
    Undzwar...


    Angenommen ich bin in der Fraktion Grove Street und ich möchte das Gebiet der VLA angreifen und jetzt möchte ich abfragen ob die VLA schon ein Gangwar führt wenn ja dann soll returnt werden. Aber wie mache ich das?


    Upps habe mich falsch ausgedrückt... Ich meine angenommen ich bin in der Grove Street und ich führe bereits ein Gangwar und möchte ein zweites Gangwar starten, das soll natürlich nicht gehen, aber wie frage ich das ab?


    ocmd:gw --> Pastebin


    Mit freundlichen Grüßen
    German_ScripterHD

  • Super! :) Ein Klick auf den Daumen nach oben genügt voll aus als Wertschätzung.


    Zu deiner Frage:
    Das wird bereits abgefragt:
    return SendClientMessage(playerid,COLOR_RED,"Deine Fraktion führt bereits einen Gangkrieg!");


    Selbiges bei dem was du zuvor gefragt hast (paar Zeilen drunter).

  • //Edit: Problem 1 gelöst... sInfo[playerid][InWar] wurde nirgendwo gesetzt.
    Problem 2/3 besteht weiterhin.


    [Problem 2]: Die Zeit wird nicht richtig angzeigt (siehe Screen im Spoiler). Und sobald man das Ganggebiet verlässt bleibt die Zeit an der stelle stehen.


    [Problem 3]: Gangzone flasht nicht, wenn man /gw eintippt.


    Code ---> Pastebin


    Wäre echt super wenn ihr mir dabei nochmal helfen könntet, da ich seit ein paar Tagen daraun arbeite... bisher leider ohne Erfolg.


    MfG


    Mit freundlichen Grüßen
    German_ScripterHD

    3 Mal editiert, zuletzt von German_ScripterHD ()

  • Problem 2:
    Die Zeit bleibt so stehen da der Textdraw nur aktualisiert wird, sobald der Spieler im Gebiet ist.
    Schau dir den Code mal genauer an, dann siehst du das.


    Problem 3:
    Versuch mal meinen Code:



  • Problem 2:
    Die Zeit bleibt so stehen da der Textdraw nur aktualisiert wird, sobald der Spieler im Gebiet ist.
    Schau dir den Code mal genauer an, dann siehst du das.

    Ja, das habe ich gestern schon entfernt :) Hab nur das vergessen oben das ganze zu editieren.
    Aber die Uhr funktioniert immer noch nicht richtig.


    Und zu Problem 3:


    C
    GangZoneFlashForAll(i,fInfo[gwInfo[gangzone][sInfo[playerid][fraktion]]][f_color]);

    warning 213: tag mismatch


    Mit freundlichen Grüßen
    German_ScripterHD