Ich möchte wissen wie man abfragen kann wenn ein spieler im pinken gebiet steht.

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
  • Ich habe die koordinaten aber ich weiss nicht genau wie ich das mit IsPlayerInArea anstellen soll. In der Zone sollte man dann das befehl /startwar befehl abrufen können.

  • Das könnte dein isPlayerInArea sein:

    Code
    IsPlayerInArea(playerid, Float:MinX, Float:MinY, Float:MaxX, 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 dann brauchst du nur noch die jeweiligen Koordinaten in deinem Command über die Funktion abfragen... Theoretisch.

    Ob die Funktion funktioniert, kann ich dir nicht zu 100% garantieren

    graphics frontend web

    • Offizieller Beitrag

    nicht genau wie ich das mit IsPlayerInArea anstellen soll

    Da siehst du eine gute Information im Wiki zu (auch wenn es eine andere Funktion ist): https://sampwiki.blast.hk/wiki/GangZoneCreate

    Also brauchst du nur diese zwei diagonalen X und Y Koordinaten (Z ist Höhe und somit irrelevant)


    In der Zone sollte man dann das befehl /startwar befehl abrufen können.

    Dann kannst du die Funktion einfach im Befehl aufrufen, zurückkriegst du 1 oder 0, je nachdem ob der Spieler drin ist oder nicht.

    Dies einfach in eine if-Abfrage und fertig ist das Ganze wunderwerk :)

  • Beitrag von Kevo07 ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: as ().
  • Also, was ich jetzt rausgesehen habe bei deinem Script,

    1. Setze die gangzone1 auch einen Wert

    Code
    gangzone1 = GangZoneCreate(1053.1774,-1416.4441, 782.6472,-1638.3611);

    2. Für deine Abfrage brauchst du die min und max werte von einer Zone also diese


    GangZoneCreate(1053.1774,-1416.4441, 782.6472,-1638.3611);

    Vor erst sollte es eigentlich dann so aussehen

    (Laut Wiki //GangZoneCreate(minX, minY, maxX, maxY);)

    minX

    minY

    maxX

    maxY


    GangZoneCreate(782.6472,-1638.3611,1053.1774,-1416.4441);


    Diese werte setzt du nun in die Abfrage ein:

    Code
    if(IsPlayerInArea(playerid, 782.6472,-1638.3611,1053.1774,-1416.4441))
    {
        //Wenn in der Zone
    }
    else
    {
        //wenn nicht
    }

    Soweit hoffe ich, dass dir dies deine Frage beantwortet.

    (Ich würde dir aber gleich empfehlen auf Enum anzupassen, das wird dann eig. Übersichtlicher und einfacher.)

    Einmal editiert, zuletzt von Mogly1 ()