[Tut]dxElement Spielerliste [New]

  • Hallo,
    Heute will ich euch zeigen wie man eine Spielerliste in dxDraw bzw in dxElementen umsetzt.

    Inhalt :
    1. Vorwort.
    2. Funktionen
    3. Script


    1. Vorwort :
    In diesem Tutorial versuche ich euch zu erklären, wie man eine spielerliste mit dxElementen scriptet, hierbei
    solltet ihr bitte Beachten das dies eine Neuere Version von meinem Alten Tutorial ist Tutorial zum Bauen einer Spielerliste mit dxElement
    Ich werde außerdem Versuchen das Tutorial so übersichtlich wie Möglich zu gestalten.


    2. Funktionen
    getElementsByType
    getPlayerName
    getPlayerPing
    dxDrawImage --Alternativ
    dxDrawRectangel
    dxDrawText
    dxDrawLine
    toggleControl
    bindKey
    guiGetScreenSize


    Lua
    function getPingColor(ping)
    if (ping > 100) then
    	return 150,150,150
    elseif (ping < 100) then
    	return 20,200,20
    else
    	return 200,20,20
    end
    end

    3. Script


    Als erstes definieren wir oben im Script ( im oberen teil ) , die Variablen die wir im Laufe brauchen, dazu gehöhren unter anderem die Funktion "getPingColor",guiGetScreenSize
    und "position_scoreboard = 0" .


    Dies Müsste dann am Ende so aussehen , Achtung, Hierbei nutze ich als Variablen für guiGetScreenSize x und y bitte beachtet dies.

    Lua
    local x,y = guiGetScreenSize()position_scoreboard = 0function getPingColor(ping)if (ping > 100) then	return 150,150,150elseif (ping < 100) then	return 20,200,20else	return 200,20,20endend

    Bitte achtet darauf das ihr Local vor dem Namen habt,
    da es sonst bei Variablen wie x und y zu Komplikationen kommen kann.


    Nun Kommen wir zum eigentlichen.
    Wir gehen ingame, öffnen den guiEditor und zaubern uns ein Schönes Scoreboard
    So mein Scoreboard sieht so aus

    Externer Inhalt pokit.org
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.

    Nun brauchen wir noch alle einträge, dafür machen wir in Jeder Spalte einmal ein dxDrawText "label" für einen Spieler.

    Die Labels müssten dann etwa So Positioniert sein.

    Externer Inhalt pokit.org
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.


    So sieht mein Code nun aus :



    Nun müssen wir ihn aber noch auf unsere Auflösung anpassen, dies geschiet via 3 Satz

    daher zahl * x oder y / Auflösung


    Nun mache ich dies schnell

    Lua
    dxDrawRectangle(388 * x / 1440, 225 * y / 900, 670* x / 1440, 366 * y / 900, tocolor(0, 0, 0, 169), true)        dxDrawRectangle(556* x / 1440, 225 * y / 900, 1* x / 1440, 366 * y / 900, tocolor(0, 0, 0, 255), true)        dxDrawRectangle(734 * x / 1440, 225 * y / 900, 1 * x / 1440, 366 * y / 900, tocolor(0, 0, 0, 255), true)        dxDrawRectangle(963 * x / 1440, 225 * y / 900, 1 * x / 1440, 366 * y / 900, tocolor(0, 0, 0, 255), true)        dxDrawRectangle(388 * x / 1440, 225 * y / 900, 670* x / 1440, 20 * y / 900, tocolor(25, 25, 25, 255), true)        dxDrawText("Name", 405* x / 1440, 224 * y / 900, 572* x / 1440, 245 * y / 900, tocolor(255, 255, 255, 255), 1.00, "clear", "left", "center", false, false, true, false, false)        dxDrawText("Playtime", 568* x / 1440, 225 * y / 900, 735* x / 1440, 246 * y / 900, tocolor(255, 255, 255, 255), 1.00, "clear", "left", "center", false, false, true, false, false)        dxDrawText("Social State", 739* x / 1440, 225 * y / 900, 906* x / 1440, 246, tocolor(255, 255, 255, 255), 1.00, "clear", "left", "center", false, false, true, false, false)        dxDrawText("Ping", 973* x / 1440, 225 * y / 900, 1068* x / 1440, 245 * y / 900, tocolor(255, 255, 255, 255), 1.00, "clear", "left", "center", false, false, true, false, false)        dxDrawText("name", 395* x / 1440, 249 * y / 900, 546* x / 1440, 265 * y / 900, tocolor(255, 255, 255, 255), 1.00, "clear", "left", "center", false, false, true, false, false)        dxDrawText("Playtime", 568* x / 1440, 250 * y / 900, 719* x / 1440, 266 * y / 900, tocolor(255, 255, 255, 255), 1.00, "clear", "left", "center", false, false, true, false, false)        dxDrawText("State", 739* x / 1440, 250 * y / 900, 952* x / 1440, 267 * y / 900, tocolor(255, 255, 255, 255), 1.00, "clear", "left", "center", false, false, true, false, false)        dxDrawText("Pong", 973* x / 1440, 250 * y / 900, 1048* x / 1440, 267 * y / 900, tocolor(255, 255, 255, 255), 1.00, "clear", "left", "center", false, false, true, false, false)

    Nun müssen wir aber noch dafür sorgen das es auch Angezeigt wird.
    dies geschieht via bindKey

    Wie man oben schon sieht, fehlen uns noch die Funktionen scrollDown / scrollUp und drawScoreboard
    diese werden wir nun erstellen

    ScrollUp und down sind dies hier :

    Lua
    function scrollDown()	if #getElementsByType("player") - position_scoreboard <= 2 then        position_scoreboard = #getElementsByType("player")	else        position_scoreboard = position_scoreboard + 2 -- Immer + 2 also immer + 2 Bei der Anzeige von mehreren spielern, für genaueres kann man auch + 1 machen	endendfunction scrollUp()	if position_scoreboard <= 2 then        position_scoreboard = 0	else        position_scoreboard = position_scoreboard - 2-- Immer + 2 also immer - 2 Bei der Anzeige von mehreren spielern, für genaueres kann man auch - 1 machen	endend




    Für drawScoreboard nehmen wir unseren Code von vorhin, und fügen ihn ein.


    Mit diesem Code sollte es etwa so aussehen

    Externer Inhalt pokit.org
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.




    Dies war mein Tutorial für eine Spielerliste mit dxElementen, bei Fragen einfach unter diesen Thread schreiben.


    Bitte Beachtet das wenn ihr mehr "Tabs" haben wollt, ihr auch mehr einsetzen müsst.

    ich Hoffe das euch dieses Tutorial geholfen hat, und ich nicht mehr Threads wie, " wie mache ich ein Scoreboard" Finde.

    MfG

  • Dieses Thema enthält 16 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind, bitte registrieren Sie sich oder melden Sie sich an um diese lesen zu können.

Jetzt mitmachen!

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