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

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)


    Guten Morgen, hiermit möchte ich euch ein kleines Tutorial vorstellen, womit Ihr in die große MTA Welt einsteigen könnt.


    1. Server Erstellung
    Es gibt zwei Möglichkeiten um einen Lokalen Server einzurichten.

    • Durch die Registerkarte im Menu
    • Durch starten der MTA Server.exe

    Wir nehmen die zweite Variante. Wir beheben uns zum Verzeichnis wo MTA Installiert wurde und Starten die MTA Server.exe.


    Nun können wir MTA Starten und Connecten auf den 127.0.0.0 IP, sollte es nicht gehen begeben wir uns zum mod/deathmatch Verzechnis, öffnen mtaserver.conf und finden folgende Zeile:

    Code
    <serverip>Meine Server IP</serverip>



    in diese Zeile führt Ihr nun eure IP ein.


    2. Wir erstellen den ersten Script Bestand.
    Wir kehren zurück zum MTA Verzeichnis und begeben uns zum mods/deathmach/resources. Dort erstellen wir ein neues Verzeichnis zB MeinErsterGM, in diesem Verzeichnis fügen wir die server.lua Datei ein, als nächstes die meta.xml Datei, und fügen folgendes ein:

    Code
    <meta>  
    <info author="Unserer Name" type="script" name="Script Name" />
    <script src="server.lua" type="server" />
    </meta>



    3. Funtkionen.
    Funtkionen, definieren wir Folgend:

    Code
    function Unsere erste Funktion ()
    -- Inhalt unserer Funktion
    end



    In LUA enden wir unsere Funktionen mit end, und nicht wie in anderen bekannten Sprachen Klammern.
    Nun haben wir unsere erste Funktion erstellt.


    4. Erster Script Teil
    Hier erstellen wir die Info wer auf den Server gejoint ist und wer gelavet.

    Code
    addEventHandler("onPlayerJoin", getRootElement(), 
    function ( )
    outputChatBox(""..getPlayerName(source).." ist dem Server beigetreten.", getRootElement(), 255, 000, 000)
    end)
    
    
    addEventHandler("onPlayerQuit", getRootElement(),
    function ( reason )
    outputChatBox(""..getPlayerName(source).." hat den Server verlassen("..reason..")", getRootElement(), 255, 000, 000)
    end)



    So getPlayerName?(source) Jede Funktion (bei uns gerade event) gibt den Inhalt source zurück. Beispiel onPlayerJoin und onPlayerQuit (source) ist das Teil vom Spieler der uns Informiert ob er gejoint oder gelavet ist.


    5. Code Kommentare.
    Unter SAMP bekannt als // Zeilen die das Script nicht liest um verschiedene Sachen zu beschreiben.

    • Ein Zeilig, definieren wir mit "--"

    1. Beispiel:



    Code
    local change = 242 -- die Änderung markiert die Zahl die wir multiplizieren




    • Mehr Zeilig, Definieren wir mit Hilfe von "--[[ und enden mit ]]-- .

    1. Beispiel:




    Code
    --[[
    
    
    Blablalblalalalal und so
    
    
    ]]--



    6: Infos zu Variabeleln Lokale/Globale

    • Lokale

    Tretet nur in dem bereich wo sie erstellt wurde.



    Code
    local change = 5242




    • Globale

    Besteht im ganzen Mode, ist egal in welcher Bedienung wir sie erstellen.



    Code
    change= 4141


    Nützlich:
    https://wiki.multitheftauto.com/wiki/Main_Page


    Das war erstmal alles.


    lg Alex

    2 Mal editiert, zuletzt von Exclusive FiveM Scripts ()

  • Muss echt sagen gut gemacht.
    Hätte mir Lua nicht so einfach vorgestellt. :)

  • Eher ein Reinfall, es fehlen minimal 70% weitere Erklärungen.


    Lua wird hier als serverseitig bezeichnet,
    Lua ist in MTA auch clientseitig anwendbar.
    Sollte man mindestens erwähnen, wenn man es unter Vergleich stellt. :S


    Und auch alle Funktionen erklären, oder gar keine.


    Nimm's nicht böse; aber wenn, dann richtig. ;)

  • Um hier noch etwas zu ergänzen könnte man auch den Vorteil der OOP mit Lua noch miteinbeziehen.
    Was ich ebenfalls hier an dem Tutorial vermisse ist der Link zu mta wiki

  • Das war der erste Teil, weiter werden folgen.
    Trotzdem Danke für die Anmerkung.