Frage zu Zonen

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
  • Morgen


    ich habe mir gerade Zonen erstellt


    meine frage wie mache ich es, das wenn jemand in den Zonen das denjenige keine Waffe nutzen kann
    sprich eine nodm zone


    habe diese Zonen bereits erstellt


    /*=====[NoDM]=====*/
    enum zoneenum
    {
    Float:minX,
    Float:minY,
    Float:maxX,
    Float:maxY,
    zonecolor
    };
    #define ZNE 5 //Gesamt
    //minX,minY,maxX,maxY,color
    new Zone[ZNE];
    new StaticZone[ZNE][zoneenum]=
    {
    {-2738.462, 590.1168, -2510.563, 736.0805, NoDMColor}, //No Dm KH
    {-2093.393, -108.1419, -2008.414, -56.85734, NoDMColor}, //No DM Fahrschule
    {-2807.99, 313.9693, -2583.954, 479.6578, NoDMColor}, //No DM alter-Zivispawn
    {-2135.883, 408.6485, -2000.689, 534.8873, NoDMColor}, //No DM Arbeitsamt
    {-1701.8481, 828.7408, -1802.6124, 749.1353, NoDMColor} //No DM neuer-Zivispawn
    };
    /*================*/


    Ich hoffe, das jemand helfen kann

  • Hast du dafür mal ein Muster?


    bin zurzeit vollkommen überfordert mit PAWNO -.-

  • (E)


    Habe es hinbekommen allerdings schon ein Bug -.-


    in den stock liste ich die Zonen auf allerdings wird bei der einen Der Textdraw nicht angezeigt
    stock IsInNoDM(i)
    {
    if(IsPlayerInArea(i,-1701.8481, -1802.6124, 828.7408, 749.1353)) return 1;//Wird nicht angezeigt
    if(IsPlayerInArea(i,-2738.462, -2510.563, 590.1168, 736.0805)) return 1;
    if(IsPlayerInArea(i,-2093.393, -2008.414, -108.1419, -56.85734)) return 1;
    if(IsPlayerInArea(i,-2807.99, -2583.954, 313.9693, 479.6578)) return 1;
    return 0;
    }


    nach den stock wurde es definiert
    stock IsPlayerInArea(playerid, Float:minx, Float:maxx, Float:miny, Float:maxy)
    {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    if (x > minx && x < maxx && y > miny && y < maxy) return 1;
    return 0;
    }


    und zu guter letzt die coordinaten von der einen nichtangezeigten Zone


    Code
    AddPlayerClass(181,-1701.8481,828.7408,24.8828,176.5540,0,0,0,0,0,0); // nodmmin
    AddPlayerClass(181,-1802.6124,749.1353,24.8906,297.6467,0,0,0,0,0,0); // nodmmax


    (e2) Text

    2 Mal editiert, zuletzt von Angelo_Merte ()

  • Liegt daran,dass du wohl in Mathe nicht ganz aufgepasst hast oder nicht genau auf die Funktionsbeschreibung schaust:
    IsPlayerInArea(playerid, Float:minx, Float:maxx, Float:miny, Float:maxy)
    minx, maxx , miny, maxy


    -1701.8481, -1802.6124, 828.7408, 749.1353
    -2738.462, -2510.563, 590.1168, 736.0805
    -2093.393, -2008.414, -108.1419, -56.85734
    -2807.99, -2583.954, 313.9693, 479.6578


    Die Roten sind falsch.

  • @ Goldkiller ich bin verwirrt
    wo genau ist mein fehler?


    Was ist an den coordinaten denn Falsch? die Zonen werden angezeigt nur der Textdraw an der einen Nicht

  • Was ist an den coordinaten denn Falsch? die Zonen werden angezeigt nur der Textdraw an der einen Nicht


    Timer erstellen und unter OnGameModeInit alle 2 Sekunden ausführen lassen. Im Timer dann überprüfen, ob der Spieler sich in der NO-DM Zone befindet (IsPlayerInArea), und dann zeigst Du ihm den Textdraw:


    TextDrawShowForPlayer(i,text:text);


    Und du wolltest ja, dass er dann keine Waffe rausholen soll:
    SetPlayerArmedWeapon(i,0);


    Gruß

  • Schlau das hab ich doch schon nur in der einen Genannten ZONE geht es net -.-

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen