Spieler durch Namen oder ID finden

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
  • Hi,
    Ich habe versucht eine Funktion zu schreiben bei der ich als Parameter entweder die ID oder den Namen eines Spielers angebe und dann der Spieler oder eben wenn keiner gefunden wurde undefined Returnt wird. Leider aber wird immer undefined Returnt egal was man als Parameter angibt.

    JavaScript
    getPlayerByNameOrID: (arg) =>
        {
            mp.players.forEach((player) => {
                if(player.id === arg) return player;
                if(player.name === arg) return player;
            });
            return undefined;
        }


    Edit:
    Gelöst.


  • Das liegt an der forEach Funktion.


    Diese ist quasi abgekapselt.


    Das return darin beendet weder die Funktion, noch gibt es irgendwas zurück.


    In diesem Fall solltest du eine normale For-Schleife nutzen.


    Zum Beispiel:


    JavaScript
    getPlayerByNameOrID: (arg) =>
        {
            for(var player of mp.players) {
                if(player.id === arg || player.name === arg) return player;
            }
            return undefined;
        }

    ast2ufdyxkb1.png


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

  • Geht nicht. "mp.players is not Iterable"

    Ich hab damit noch nie gearbeitet, ist das ein Objekt?


    Kannst du mal ein typeof mp.players dir printen lassen und am besten mal ein mp.players? :D


    Würde mich ja mal interessieren :)

    ast2ufdyxkb1.png


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