Gangzones werden nicht angezeigt Hilfe

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, also mir werden die gangzonen nicht angezigt bitte um hilfe, das mit der farbe geht alles es ist ein problem mit dem Gangzone[i];

    enum gangzoneposdata
    {
    Float:MinX,
    Float:MinY,
    Float:MaxX,
    Float:MaxY
    };
    new gangzonepos[][gangzoneposdata] =
    {
    {-2016.7609, 310.2623 , -2142.7012, 120.3885},
    {-2399.0430, 798.6481, -2516.6814, 718.4612},
    {-2596.0364, 337.6360, -2550.4565, 302.9267},
    {-2696.5034, 147.2669, -2614.1726, 50.5615},
    {-2430.8835, 29.8093, -2538.8086, -59.6302},
    {-1935.5980, -1124.2816, -2153.2012, -722.1906},
    {-1700.2842, -1608.2446, -1948.1310, -1795.6940},
    {-1412.8273, -1444.7299, -1467.5254, -1598.5176},
    {-75.2319, -208.9630, 17.4444, -395.5207}
    };
    new Gangzone[sizeof(gangzonepos)];



    public OnFilterScriptInit()
    {
    for(new i; i < sizeof(gangzonepos); i++)
    {
    Gangzone[i] = GangZoneCreate(gangzonepos[i][MinX], gangzonepos[i][MinY], gangzonepos[i][MaxX], gangzonepos[i][MaxY]);
    }
    return 1;
    }



    public OnPlayerSpawn(playerid)
    {
    for(new i; i < sizeof(gangzonepos);i++)
    {
    GangZoneHideForPlayer(playerid, Gangzone[i]);
    GangZoneShowForPlayer(playerid, Gangzone[i], Gangzoneinfo[i][gangzFarbe]);
    }
    return 1;
    }


    Bitte um hilfe

  • Ich hätte eigentlich drauf wetten können, dass die Farbe kein String ist und das es dir eigentlich Warnings hätte aufwerfen müssen.
    Ansonsten scheint alles richtig. Hast du mal die IDs der Gangzone geloggt, ob die auch ordnungsgemäß erstellt werden(d.h. eine ID zurück gegeben wird)?

  • also, wenn ich in der schleife printf("%i", Gangzone[i])


    schreibe macht er 0-8 ((naja habe 9 zonen)


    //edit


    Zitat

    Gib mal nach der for Schleife (bei OnFilterScriptInit) mal folgendes ein:

    PAWN Quelltext
    1
    printf("%d", sizeof(Gangzone));


    Und schau was er wiedergibt..


    steht vor der schleife 9 und nach der schleife 9

  • 0 = 1, 1 = 2.... Daher hast du 9 Zonen, stimmt schon^^ Pawn und viele andere Skriptsprachen fangen bei 0 an ;)
    Hm.... dann versteh ich nicht wieso es nicht geht....
    Mach mal:

    public OnPlayerDeath(playerid, killerid, reason) {
    if ( playerid >= 0 && playerid <= MAX_PLAYERS ) {
    for(new i; i < sizeof(gangzonepos);i++)
    {
    GangZoneHideForPlayer(playerid, Gangzone[i]);
    }
    }
    }
    return 1;
    }

    Und bei OnPlayerSpawn machst du mal das Hide raus und dann probierst du es nochmal



    // Edit: Das ist klar sobald du eine Variable mit einem bestimmten size Wert (z.b. Bla[255]) erstellst hat es automatisch den größen Wert den du gesetzt hast in deinem Fall 9 ;)

  • .... Ich habs ;)
    Definier die Farbe als Integer also mach einfach [512] weg....
    Ich habe die Farben doch als Integer generiert:

    new fraction[][fracs] = {
    {0, 0x05FF0099, "Grove Street"},
    {1, 0x90006C99, "Ballas"},
    {2, 0x78787899, "Russische Mafia"},
    {3, 0xFFDC0099, "Vagos"}
    };

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Ich hätte eigentlich drauf wetten können, dass die Farbe kein String ist und das es dir eigentlich Warnings hätte aufwerfen müssen.
    Ansonsten scheint alles richtig. Hast du mal die IDs der Gangzone geloggt, ob die auch ordnungsgemäß erstellt werden(d.h. eine ID zurück gegeben wird)?


    Die farbe sollte auch eig. kein String sein :whistling:

  • Nein ist kein Bug, du musst die Transparenz etwas Geringer machen... Das ist die Farbe hinten FF
    0x00FF00FF = Grün ohne Transparenz (kann auch passieren das die Map grün wird)
    0x00FF00BB = Etwas durchsichtig (sollte eigentlich dann nicht mehr passieren)
    Nutz den SAMP Colorpicker kann ich nur empfehlen. ;)