Selfmade Scoreboard :)

  • Hallo liebe Community.
    Bin dabei bissle Scripten zu lernen und brauche bisschen hilfe.
    Habe jetzt via Guieditor ein kleines Scoreboard gemacht.
    Hier habt ihr erstmal den code dazu:


    So jetzt möchte ich aber, dass jeder spieler der aud dem Server ist dort eingetragen wird. Habe nur keinen plan wie das funnzen soll :D
    ich denke mal mit for schleifen müsste das funktionieren nur habe ich keine ahnung wie die funktionieren deshalb bitte ich euch
    mir alles so zu erklären dass es ein 12 jähriger versteht(also das mit den for schleifen, ich bin 19 nur damit ihr bescheid wisst).


    Bedanke mich schonmal im vorraus :)

  • Es wird um eine Erklärung gebeten. Anstatt einer Erklärung um was lernen zu können, bekommt er ein fertiges Ergebnis. Mit Sicherheit steckt dahinter auch ein positiver Gedanke, wird jedoch nie den gewünschten Lerneffekt mit sich bringen.


    Solltest du beim Lesen und Verstehen des Codes Probleme haben, melde dich nochmal.

    Einmal editiert, zuletzt von Florian ()

  • Es wird um eine Erklärung gebeten. Anstatt einer Erklärung um was lernen zu können, bekommt er ein fertiges Ergebnis. Mit Sicherheit steckt dahinter auch ein positiver Gedanke, wird jedoch nie den gewünschten Lerneffekt mit sich bringen.

    Das "fertige" Ergebnis enthält leider auch nebenbei Fehler und schlechte Art & Weise Code zu schreiben.
    Teils unpassende und schlechte Benennung der Variablen, Verwechselung von getPlayerName & getElementData und keine Einrückungen.



    Ich versuch es mal:


    Zuerst müsstest du alle Spieler durchgehen, das machst du mit einer einfachen for-Schleife.
    Dafür kannst du erstmal zwischen numerischer for-Schleife und generischer for-Schleife wählen:
    https://www.lua.org/pil/4.3.4.html
    https://www.lua.org/pil/4.3.5.html
    Am einfachsten wäre eine generische for-Schleife mit "pairs".


    Nun kannst du in der for-Schleife mit "guiGridListAddRow" Zeilen pro Spieler erstellen, in diese Zeilen an den Spalten dann dazu die Werte eintragen.
    Ungefähr wie du es getan hast (Zeilen 16-20 bei dir), nur bei rowIndex dann statt 0 eben den return-Wert von guiGridListAddRow nutzen - also die neu erstelle Reihe nutzen - und bei getElementData und getPlayerName statt getLocalPlayer() den Spieler, den du in der for-Schleife bekommst.


    Wenn du das alles aber so machst, hast du das Problem, dass die Spielerliste nicht sortiert ist.
    Dafür kannst die Spielerdaten zuerst in eine Tabelle packen, diese sortieren (table.sort), danach die Tabelle von 1 bis Ende durchgehen (numerische for-Schleife) und die Werte einzeln in die Zeilen eintragen.
    https://www.lua.org/pil/19.3.html

  • Ich danke euch erstmal.
    Hier meine frage zu dem Script was @Nevo geschrieben hatte.
    Ich verstehe alles bis zur for schleife.
    Ich zeige euch mal wie ich die forschleife von ihm/ihr verstehe :D


    "for a, players in ipairs(getElementsByType("player")) do"
    for[um die forschleife anzufangen natürlich]
    a[das weiss ich nicht, warum a? ich denke das a ein datentyp ist wo was abgespeichert ist kann das sein? oder wo man etwas abspeichert?],
    players[oben definiert als getElementsByType("players") man bekommt dadurch also die anzahl der spieler die auf dem server sind
    in [versteht sich glaube ich von selbst]
    ipairs[keine ahnung, pairs bedeutet auf jeeden fall paare/paaren auf deutsch wie ich das in lua umsetzen könnte? Keine plan und dann wäre das "i" vor dem pairs auch noch zu verstehen]
    do versteht sich auch von selbst





    Parameter der For-Anweisung:

    • Startwert
    • Endwert
    • Inkrement


    wenn ich nach der anweisung gehen würde verdreht sich mein kopf
    normal wäre ja dann


    Lua
    for variable = 1, 10, 1 do
    print ( variable )
    end

    Startwert 1, endwert 10, der Inkrement(soweit ich weiss ist das dafür um zu definieren wie aufgezählt wird)
    normal müsste der ja jetzt das ausgeben
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Wäre der inkrement 2 wäre das ergebnis
    2
    4
    6
    8
    10



    das was ich hier geschrieben habe und das was Nevo geschrieben hatte sind 2 andere welten in meinen augen :D






    Wer mir das erklären kann sodass ich das auch verstehe ist auf jeden fall nicht wie ich KingOfNothing :D


  • Quelle: https://activevb.de/tutorials/tut_lua/tut_lua.html


    #Edit:


    wegen "a" oder "players" oder wie in bild "k", "v", "i" ... du kannst die egal benennen wie du möchtet. Da er die "a" nicht braucht, hat er einfach "a" gemacht, Er brauchte ja nur die Value, definiert als "Players", ist wie ein "local variables"

    [tabmenu]
    [tab='Rechtsschreibung:']
    Du hast ein Rechtsschreibung von mir gefunden?
    Danke, du darfst die behalten. Es gibt nur ein Grund.
    Ich bin Gehörlos Danke!
    [tab=Über mich:,'http://iconshow.me/media/images/xmas/christmas-flat-color/19/star-512.png']
    Falls du über mich besser Kennenlernen, klick den link. ^^:saint:
    Vorstellung von mir.
    [/tabmenu]

    2 Mal editiert, zuletzt von ChisleLP () aus folgendem Grund: Image zeigt nicht richtig an

  • Danke dir ChisleLp habe alles hinbekommen und es funktioniert soweit auch :)
    //EDIT wenn ich tab drücke kann ich nicht mehr laufen wieso? und wie kann ich das beheben?
    also wenn ich es wieder loslasse dann geht alles wieder :)


  • Alles geregelt. Ich habe es endlich verstanden und auch ordentlich gescriptet denke ich mal.
    Schreibe mein fertiges script hier rein, wenn es verbesserungsvorschläge gibt dann haut raus, lasse dafür das thema noch
    bis heute abend 22 uhr auf "unerledigt" markiert. DANKE EUCH ALLEN <3


  • Wie machste Cursor wieder weg? ^^(Oke, Tab loslassen...)


    hint:


    Lua
    showCursor( not isCursorShowing() )

    schmeiß das in 3. line. Dann kannste per rechtsklick immer aktivieren/Deaktivieren. :P


    Viel Erfolg mit dein Skript/Projekt.

    [tabmenu]
    [tab='Rechtsschreibung:']
    Du hast ein Rechtsschreibung von mir gefunden?
    Danke, du darfst die behalten. Es gibt nur ein Grund.
    Ich bin Gehörlos Danke!
    [tab=Über mich:,'http://iconshow.me/media/images/xmas/christmas-flat-color/19/star-512.png']
    Falls du über mich besser Kennenlernen, klick den link. ^^:saint:
    Vorstellung von mir.
    [/tabmenu]

  • Danke, Danke hab ich gemacht. Versuche was für die türkische Community da sind viele aktive spieler soweit ich weis :) (Bin selber Türke :D )

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!