SAMP IsPlayerInRangeOfPoint Z Ignorieren (Höhe ignorieren)

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 liebe Community :D


    Ich habe eine dringende Frage, und zwar schreibe ich grade an einem Beruf und muss folgendes wissen:


    Ist es möglich (vllt über Umwege) bei der Abfrage "IsPlayerInRangeOfPoint" die Höhe zu ignorieren (Ignorieren zu lassen) ? Das wäre sehr nützlich, da ich ein Objekt via Tastendruck ein paar Einheiten nach unten bewege, und dann beim nächsten Tastendruck abfrage, ob man noch in der Nähe ist. Wenn das Objekt nun zu weit unten ist (Z-Coord) dann gibt die Abfrage IsPlayerInRangeOfPoint eine Null zurück, da das Objekt zu niedrig ist, man also auf der Z-Achse zu weit entfernt ist.


    Vielen Dank für eure Hilfe schomal im Voraus :D


    MfG Madretsma


    IM AUFBAU!

  • Vielen Dank, H4rd_B4se für die schnelle Antwort. Ich habe allerdings noch eine Frage dazu. Dies ist ja quasi eine Abfrage, ob der Spieler in einer Area ist, bezogen auf mein Beispiel:


    Ich habe eine eNum:
    enum eBaum {
    ID, Float:BaumX, Float:BaumY, Float:BaumZ,BaumLohn
    };


    new Baum[MAX_BAUM][eBaum] =
    {
    {0, -619.97174, -1523.16907, 17.77344, 50},
    {1,-612.53644, -1540.50085, 17.77344, 50},
    {2,-630.12268, -1537.01489, 17.77344, 50},
    {3,-612.73645, -1562.44958, 17.77344, 50},
    {4,-603.66724, -1591.87195, 17.77344, 50},
    {5,-621.33295, -1584.13110, 17.77344, 50}


    };




    Nehmen wir als Beispiel die ID 1 : X = -619.97174 Y = -1523.16907 Z = 17.77344


    Wäre es dann nun richtig (sorry für die Frage ich teste es auch gleich einfach) (Das "i" ist aus einer "for" Schleife, die jeden Baum durchgeht) :


    if((X < Baum[i][BaumX] - 5 && X > Baum[i][BaumX] + 5) && (Y < Baum[i][BaumY] - 5 && Y > Baum[i][BaumY] + 5 ))


    Vielen vielen Dank nochmals für deinen guten Ansatz, mit dem werde ich es früher oder später mit Sicherheit schaffen :D


    mfg Madretsma



    EDIT: Danke auch an dich Jeffry, werde mir dies mal anschauen, wenn ich mit dem anderen Vorschlag nicht weiterkomme. Hatte deinen Beitrag eben gar nicht gesehen :D


    IM AUFBAU!

    Einmal editiert, zuletzt von Madretsma ()

  • Du kannst das auch einfach so machen:


    new Float:z;
    GetPlayerPos(playerid,z,z,z);


    //und das in der Schleife verwenden:
    if(IsPlayerInRangeOfPoint(playerid,5.0,Baum[i][BaumX],Baum[i][BaumY],z))
    {
    //Hier ist er in der Nähe
    }


    So ignorierst du auch die Z-Koordinate ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S



  • Genial, dies ist mit Sicherheit der einfachste Weg :D Ich danke dir vielmals für deine kompetente Hilfe. Den anderen natürlich EBENFALLS! Sehr schön, wie schnell einem hier geholfen wird. :D


    Danke, danke und nochmals danke, an alle von euch :D


    IM AUFBAU!