Öffne den Addon-Ordner
Lege garrysmod/addons/welcome zuerst selbst an und wähle diesen Ordner dann als Arbeitsordner.
Ein Chatbefehl !hello auf deinem eigenen Server ist das kleinste nützliche Addon. Es ist reines GMod-Lua-Scripting in 1 serverseitigen Datei und zeigt, wie man ein GMod-Addon von einem leeren Ordner bis zu einem getesteten Ergebnis erstellt. Der Agent schreibt es. Du prüfst es.
Lege garrysmod/addons/welcome zuerst selbst an und wähle diesen Ordner dann als Arbeitsordner.
Schreibe in einfachen Worten, was das Addon tun soll, zum Beispiel auf den Chatbefehl !hello mit dem Namen des Spielers antworten.
Arbeite in Ask first. Lies die Dateikarte und den Diff für sv_welcome.lua und klicke dann auf Annehmen oder Ablehnen.
Starte ein Mehrspielerspiel auf einem lokalen Testserver, tritt bei, gib den Befehl im Chat ein und lies die Konsole auf Lua-Fehler, bevor du die Sache für erledigt hältst.
lua/autorun/servererstelltlua/autorun/server/sv_welcome.luagespeichertlua/autorun/server/sv_welcome.lua12 ZeilenPlayerSay1 Trefferyour server launch scriptexit 0-- sv_welcome.lua: answer the !hello chat command
-- Runs on the server only (lua/autorun/server/).
local command = "!hello"
hook.Add("PlayerSay", "Welcome_Hello", function(ply, text)
if string.lower(text) == command then
local name = ply:Nick()
ply:ChatPrint(string.format("Hello, %s!", name))
return ""
end
end)Nur serverseitig. hook.Add hängt eine Funktion an PlayerSay, string.lower sorgt dafür, dass der Vergleich Groß- und Kleinschreibung ignoriert, ChatPrint zeigt diesem Spieler die Begrüßung, und der leere String blendet den eingetippten Befehl im Chat aus.
Füge als Nächstes eine geskriptete Waffe hinzu. Waffen liegen in lua/weapons/, also bitte den Agenten, dort eine Datei anzulegen und jedes Feld zu erklären, das er setzt. Ein Mod mit manueller Artillerie und Mörsern könnte zum Beispiel eine geskriptete Waffe oder eine geskriptete Entity sein, und du beschreibst ihr Verhalten in einfachen Worten. Der Agent nutzt write_file für die neue Datei, grep, um zu zeigen, wo der Klassenname vorkommt, und Shell für deinen Testbefehl. Der Modus Plan only listet jede Datei auf, bevor etwas gespeichert wird. Spawne sie dann auf gm_flatgrass und lies die Konsole auf Fehler.
Spieler laden dein Addon vom Server herunter, nicht von deinem PC. Ein schneller Weg, ihnen die manuelle Installation aller deiner Mods zu ersparen, ist eine Workshop-Kollektion oder resource.AddWorkshop-Zeilen in einer Server-Lua-Datei. Dein eigenes Addon muss zuerst im Workshop veröffentlicht sein, denn resource.AddWorkshop nimmt die ID eines veröffentlichten Eintrags. Veröffentliche nur erlaubte Inhalte. Bitte den Agenten, die Zeilen mit edit_file hinzuzufügen, und prüfe den Diff. Wenn Workshop-Addons bei einem Spieler auf deinem GMod-Testserver nicht heruntergeladen werden, suche zuerst per grep nach resource.AddWorkshop. Starte den Server danach neu und tritt als Spieler bei, um den Download zu sehen.