[LUA] Einstieg (Anfänger) Teil [2]

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

  • [Tutorial] [LUA] Einstieg (Anfänger)


    Hallo :)
    Heute präsentiere ich euch ebenfalls was wichtiges, die debug Konsole.
    Wir führen sie auch durch /debugscript 3 natürlich müssen wir den Rank eines Administratorens haben.
    Wir unterscheiden den unterschied zwischen INFO, WARNING, und ERROR.


    • INFO

    Abgerufen nur durch die Funktion im Script (outputDebugString. Wir können durch diese sehen wo der Code ausgeführt wurde.


    • WARNING

    Dies ist eine Warnung , dir nur von dem Server kommt, erscheint z. B. wenn der Parser die Funktion , die wir in addEventHandler definiert haben nicht finden könnte .


    • ERROR

    Aufgerufen durch Funktion Error oder durch parser. Erscheint zB wenn wir zu wenig ends haben.



    • Marker(Pickup) Spawn von Fahrzeug




    C
    local infernuS = createMarker(2488.8708496094, -1656.8953857422, 12.5, "cylinder" 2, 255, 000, 000)




    • Unsere Position können wir so prüfen.


    C
    function getPos ()
    x,y,z = getElementPosition(source)
    outputChatBox(""..x..","..y..","..z.."", soure)
    end
    addCommandHandler("pos", getPos)



    • Nun kommen wir zur unserer Funtkion


    Funktion set/getElementData, damit speichern für kurz alles für den Spieler bis er den Server verlässt, das gleiche können wir zB in der Paintball Arena abfragen wie viel male er getroffen wurden und mit setElementData speichern.


    2. Bedienungen IF

    • Erstes Beipspiel
    C
    if a == b then
    outputChatBox("A ist gleich wie B")
    end


    • Zweites Beispiel wie man sehen kann beenden wir den code mit end, doch es gibt auch else wenn es nicht richtig ausgeführt wird
    C
    if a == b then
    outputChatBox("A hat den gleichen Wert wie B")
    else
    outputChatBox("A hat ein anderen Wert als B")
    end




    • Drittes Beispiel elseif wenn es ist korrekt ausgeführt wird
    C
    if a == b then
    outputChatBox("A hat den gleichen Wert wie B")
    elseif c == d
    outputChatBox("A hat anderen Wert als B, aber C hat den gleichen Wert wie D")
    end


    • Viertes Beispiel return
    C
    if getElementData(source, "test") == 4 then
    outputChatBox("Darum ging es mir nicht")
    end
    outputChatBox("Datum ging es mir")


    • Fünftes Beispiel
    • IF getElementData(source, "test") ist gleich 4 es zeigen sich beide Nachrichten doch wenn ich es zB so mache,
    C
    if getElementData(source, "test") == 4 then
     outputChatBox("Darum ging es mir nicht")
      return end
      outputChatBox("Darum ging es mir")


    • dann nur die erste da wir reutrn genutzt haben. Diese Funktion hält die Code in diesem Punkt an.
    • < wenn eine Zahl kleiner ist von der andere
    • > wenn eine Zahl größer ist als die andere
    • ~= wenn einer der Inhalte anders ist als der Zweite zB. A ~= B
    • wenn die Inhalte gleich sind zB. A == A
    • <= wenn eine Zahl kleiner ist oder gleich wie die andere 1 <= 2
    • >= wenn eine Zahl größer ist oder gleich wie die andere 2 >= 1



    3. Anonyme Funktionen/ Funkionen ohne Namen



    • Beispiel


    CSS
    addEventHandler("onPlayerChat", resourceRoot, 
    function ( )
    
    
      if isPlayerMuted(source) then
     outputChatBox("Du bist gemutet und kannst nicht schreiben", source)
      return end
    
    
    end)


    CSS
    addEventHandler("onPlayerChat", resourceRoot, function ( ) outputChatBox("Du hast was geschrieben!", source) end)


    • Die Anonyme Funktionen können wir später nicht bei addEventHandler nutzen da sie keinen Namen haben, außer wir definieren sie sie unter addEventhandler.

    4. Port Marker


    • Wir erstellen diesmal ein Standart Blauen Marker.
    C
    local teleport2 = createMarker(2466.1545410156, -1662.1614990234, 12.5, "cylinder", 2)


    • Jetzt die Funktion



    • Sammlung der Links.


    https://wiki.multitheftauto.com
    https://wiki.multitheftauto.com/wiki/DE/Interior_IDs
    http://www.rapidtables.com/web/color/RGB_Color.htm


    Hoffe es hat euch gefallen.


    lg Alex