{"id":91187,"date":"2024-09-25T11:10:49","date_gmt":"2024-09-25T09:10:49","guid":{"rendered":"https:\/\/five-rp.de\/?p=91187"},"modified":"2024-09-25T11:11:24","modified_gmt":"2024-09-25T09:11:24","slug":"fivem-scripting-lernen","status":"publish","type":"post","link":"https:\/\/five-rp.de\/pt\/fivem-scripting-lernen\/","title":{"rendered":"Aprenda FiveM Scripting (LUA): sua entrada no mundo do modding"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Hallo angehender Entwickler!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hast du jemals davon getr\u00e4umt, deine eigenen Spielmodifikationen in <strong>Grand Theft Auto V<\/strong> zu erstellen? M\u00f6chtest du einzigartige Spielerlebnisse schaffen und deine Ideen mit der Welt teilen? Dann bist du hier genau richtig! In dieser Anleitung zeige ich dir, wie du mit <strong>FiveM Scripting<\/strong> in <strong>Lua<\/strong> beginnst. Keine Sorge, ich f\u00fchre dich Schritt f\u00fcr Schritt durch alles, was du wissen musst.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Was ist FiveM?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>FiveM<\/strong> ist eine Modifikation f\u00fcr <strong>GTA V<\/strong>, die es Spielern erm\u00f6glicht, auf benutzerdefinierten Multiplayer-Servern zu spielen. Mit FiveM kannst du eigene Server erstellen, die ganz nach deinen Vorstellungen gestaltet sind. Das Beste daran? Du kannst mithilfe von <strong>Lua-Skripten<\/strong> das Gameplay anpassen, neue Features hinzuf\u00fcgen und das Spielerlebnis komplett ver\u00e4ndern.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link has-ast-global-color-0-background-color has-background wp-element-button\" href=\"https:\/\/fivemx.com\/fivem\/\" target=\"_blank\" rel=\"noopener\">Mehr zu FiveM<\/a><\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Warum Lua?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Lua ist eine leichte, einfach zu erlernende Skriptsprache. Sie ist perfekt f\u00fcr Einsteiger und wird oft in Spielen verwendet, um Modifikationen und Erweiterungen zu erstellen. Mit Lua kannst du schnell Ergebnisse sehen und musst dich nicht mit komplexer Syntax herumschlagen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Voraussetzungen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Bevor wir beginnen, solltest du sicherstellen, dass du Folgendes hast:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Grundlegende Programmierkenntnisse<\/strong>: Wenn du schon einmal programmiert hast, wird dir der Einstieg leichter fallen.<\/li>\n\n\n\n<li><strong>GTA V<\/strong> installiert auf deinem PC.<\/li>\n\n\n\n<li><strong>FiveM Client<\/strong> installiert.<\/li>\n\n\n\n<li>Einen einfachen <strong>Texteditor<\/strong> (z.B. Notepad++, Visual Studio Code).<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Dein erstes Skript: &#8222;Hello World&#8220;<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Beginnen wir mit etwas Einfachem. Wir erstellen ein Skript, das eine Nachricht im Spiel anzeigt.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Schritt 1: Verzeichnisstruktur erstellen<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Gehe in dein FiveM-Server-Verzeichnis.<\/li>\n\n\n\n<li>Erstelle einen neuen Ordner namens <code>hello-world<\/code>.<\/li>\n\n\n\n<li>In diesem Ordner erstellst du eine Datei namens <code>__resource.lua<\/code> oder <code>fxmanifest.lua<\/code> (je nach FiveM-Version).<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Schritt 2: fxmanifest.lua erstellen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr neuere Versionen von FiveM nutzen wir <code>fxmanifest.lua<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>-- fxmanifest.lua<br>fx_version 'cerulean'<br>game 'gta5'<br><br>client_scripts {<br>    'client.lua'<br>}<br><\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Schritt 3: client.lua erstellen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Erstelle eine Datei namens <code>client.lua<\/code> und f\u00fcge folgenden Code hinzu:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>-- client.lua<br>Citizen.CreateThread(function()<br>    while true do<br>        Citizen.Wait(0)<br>        DrawTextOnScreen(\"Hallo, FiveM-Welt!\", 0.5, 0.5)<br>    end<br>end)<br><br>function DrawTextOnScreen(text, x, y)<br>    SetTextFont(4)<br>    SetTextScale(0.0, 0.5)<br>    SetTextColour(255, 255, 255, 255)<br>    SetTextCentre(true)<br>    SetTextEntry(\"STRING\")<br>    AddTextComponentString(text)<br>    DrawText(x, y)<br>end<br><\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Schritt 4: Skript aktivieren<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u00d6ffne die <code>server.cfg<\/code> deines FiveM-Servers.<\/li>\n\n\n\n<li>F\u00fcge <code>start hello-world<\/code> hinzu.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Schritt 5: Server starten und testen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Starte deinen FiveM-Server und verbinde dich. Du solltest nun in der Mitte des Bildschirms die Nachricht &#8222;Hallo, FiveM-Welt!&#8220; sehen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Erkl\u00e4rung des Codes<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Der Code mag auf den ersten Blick etwas einsch\u00fcchternd wirken, aber keine Sorge, ich erkl\u00e4re ihn dir.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Citizen.CreateThread<\/strong>: Erstellt einen neuen Thread, der parallel l\u00e4uft.<\/li>\n\n\n\n<li><strong>while true do<\/strong>: Eine Endlosschleife, die st\u00e4ndig l\u00e4uft.<\/li>\n\n\n\n<li><strong>Citizen.Wait(0)<\/strong>: Wartet 0 Millisekunden, um die Schleife nicht zu blockieren.<\/li>\n\n\n\n<li><strong>DrawTextOnScreen<\/strong>: Eine Funktion, die wir definiert haben, um Text auf dem Bildschirm anzuzeigen.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Client vs. Server Skripte<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In FiveM gibt es zwei Arten von Skripten:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Client-Skripte<\/strong>: Laufen auf dem Computer des Spielers.<\/li>\n\n\n\n<li><strong>Server-Skripte<\/strong>: Laufen auf dem Server.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Je nachdem, was du erreichen m\u00f6chtest, musst du dein Skript entsprechend platzieren.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Beispiel: Eine Nachricht an alle Spieler senden (Server-Skript)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Erstelle eine Datei namens <code>server.lua<\/code> und f\u00fcge sie in deinem <code>fxmanifest.lua<\/code> hinzu:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>fx_version 'cerulean'<br>game 'gta5'<br><br>client_scripts {<br>    'client.lua'<br>}<br><br>server_scripts {<br>    'server.lua'<br>}<br><\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>-- server.lua<br>AddEventHandler('playerConnecting', function(name, setKickReason, deferrals)<br>    print(name .. \" verbindet sich mit dem Server.\")<br>    TriggerClientEvent('chat:addMessage', -1, {<br>        args = { \"SERVER\", name .. \" hat den Server betreten.\" }<br>    })<br>end)<br><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Jetzt wird jedes Mal, wenn ein Spieler dem Server beitritt, eine Nachricht an alle Spieler gesendet.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Events und Natives<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Was sind Events?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Events sind Aktionen oder Ereignisse, die im Spiel stattfinden, wie z.B. wenn ein Spieler beitritt, eine Taste dr\u00fcckt oder ein Fahrzeug betritt. Du kannst auf diese Events reagieren und dein Skript entsprechend handeln lassen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Was sind Natives?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Natives sind Funktionen, die von FiveM bereitgestellt werden, um mit dem Spiel zu interagieren. Sie erm\u00f6glichen dir, Dinge wie Spielerpositionen, Fahrzeugdaten und mehr zu manipulieren.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Beispiel: Spieler teleportieren<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>-- client.lua<br>RegisterCommand('teleport', function(source, args)<br>    local x = tonumber(args[1])<br>    local y = tonumber(args[2])<br>    local z = tonumber(args[3])<br>    if x and y and z then<br>        SetEntityCoords(PlayerPedId(), x, y, z)<br>    else<br>        print(\"Bitte geben Sie g\u00fcltige Koordinaten ein.\")<br>    end<br>end)<br><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Mit diesem Befehl <code>\/teleport x y z<\/code> kannst du deinen Spieler an beliebige Koordinaten teleportieren.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ressourcen erstellen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In FiveM werden <a class=\"wpil_keyword_link\" href=\"https:\/\/fivemx.com\/\" target=\"_blank\" rel=\"noopener\" title=\"Skripte\" data-wpil-keyword-link=\"linked\" data-wpil-monitor-id=\"202\">Skripte<\/a> als <strong>Ressourcen<\/strong> bezeichnet. Eine Ressource kann aus mehreren Skripten, Dateien und Assets bestehen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Beispiel: Fahrzeug-Spawner<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Erstellen wir ein einfaches Skript, um ein Fahrzeug zu spawnen.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>-- client.lua<br>RegisterCommand('spawncar', function(source, args)<br>    local vehicleName = args[1] or 'adder'<br><br>    RequestModel(vehicleName)<br><br>    while not HasModelLoaded(vehicleName) do<br>        Citizen.Wait(0)<br>    end<br><br>    local playerPed = PlayerPedId()<br>    local pos = GetEntityCoords(playerPed)<br><br>    local vehicle = CreateVehicle(vehicleName, pos.x, pos.y, pos.z, GetEntityHeading(playerPed), true, false)<br>    SetPedIntoVehicle(playerPed, vehicle, -1)<br>end)<br><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Jetzt kannst du mit <code>\/spawncar [Fahrzeugname]<\/code> ein Fahrzeug spawnen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Tipps zum Weitermachen<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Experimentiere<\/strong>: \u00c4ndere Werte, f\u00fcge Funktionen hinzu und sieh, was passiert.<\/li>\n\n\n\n<li><strong>Dokumentation nutzen<\/strong>: Die FiveM-Dokumentation und die Native Reference sind deine besten Freunde.<\/li>\n\n\n\n<li><strong>Community beitreten<\/strong>: Trete FiveM-Foren und Discord-Servern bei, um Hilfe und Inspiration zu erhalten.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Schlusswort<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Herzlichen Gl\u00fcckwunsch! Du hast deinen ersten Schritt in die Welt des FiveM-Scriptings gemacht. Denke daran, dass jeder Experte einmal ein Anf\u00e4nger war. Mit Geduld und \u00dcbung wirst du schon bald komplexe <a class=\"wpil_keyword_link\" href=\"https:\/\/fivemx.com\/\" target=\"_blank\" rel=\"noopener\" title=\"Skripte\" data-wpil-keyword-link=\"linked\" data-wpil-monitor-id=\"203\">Skripte<\/a> erstellen k\u00f6nnen, die das Spielerlebnis f\u00fcr dich und andere bereichern.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Also, worauf wartest du noch? Tauche ein, experimentiere und hab Spa\u00df beim Coden!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hallo angehender Entwickler! Hast du jemals davon getr\u00e4umt, deine eigenen Spielmodifikationen in Grand Theft Auto V zu erstellen? M\u00f6chtest du [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":24690,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ai_generated_summary":"","footnotes":""},"categories":[85],"tags":[],"class_list":["post-91187","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-fivem-scripting"],"_links":{"self":[{"href":"https:\/\/five-rp.de\/pt\/wp-json\/wp\/v2\/posts\/91187","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/five-rp.de\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/five-rp.de\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/five-rp.de\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/five-rp.de\/pt\/wp-json\/wp\/v2\/comments?post=91187"}],"version-history":[{"count":0,"href":"https:\/\/five-rp.de\/pt\/wp-json\/wp\/v2\/posts\/91187\/revisions"}],"wp:attachment":[{"href":"https:\/\/five-rp.de\/pt\/wp-json\/wp\/v2\/media?parent=91187"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/five-rp.de\/pt\/wp-json\/wp\/v2\/categories?post=91187"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/five-rp.de\/pt\/wp-json\/wp\/v2\/tags?post=91187"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}