CCodelab Station
Fluxuri de lucru

Cum faci un addon GMod, pas cu pas

03
Un prim addon

Un addon cu o comandă de chat, de la început la sfârșit

O comandă de chat !hello pe propriul tău server este cel mai mic addon util. Este scripting Lua pentru GMod în 1 fișier pe partea de server și arată cum faci un addon GMod, de la un folder gol până la un rezultat testat. Agentul îl scrie. Tu îl verifici.

01

Deschide folderul addonului

Creează mai întâi tu garrysmod/addons/welcome, apoi alege acel folder ca folder de lucru.

02

Descrie sarcina

Scrie cu cuvinte simple ce trebuie să facă addonul, de exemplu să răspundă la comanda de chat !hello cu numele jucătorului.

03

Verifică diff-ul

Lucrează în Ask first. Citește cardul fișierului și diff-ul pentru sv_welcome.lua, apoi apasă Acceptă sau Respinge.

04

Testează în joc

Pornește un joc multiplayer pe un server de test local, intră pe el, scrie comanda în chat și citește consola pentru erori Lua înainte să-l consideri terminat.

Fișierul pe care îl scrie agentul

lua/autorun/server/sv_welcome.lua
-- 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)

Doar pe partea de server. hook.Add leagă o funcție de PlayerSay, string.lower face comparația să ignore literele mari, ChatPrint arată salutul acelui jucător, iar șirul gol ascunde din chat comanda tastată.

Pașii următori după primul addon

Adaugă în continuare o armă cu script

În continuare, adaugă o armă cu script. Armele stau în lua/weapons/, așa că cere-i agentului să creeze acolo un fișier și să explice fiecare câmp pe care îl setează. Un mod cu artilerie și mortiere manuale, de exemplu, ar putea fi o armă cu script sau o entitate cu script, iar tu îi descrii comportamentul cu cuvinte simple. Agentul folosește write_file pentru fișierul nou, grep ca să arate unde apare numele clasei și Shell pentru comanda ta de test. Modul Plan only listează fiecare fișier înainte să se salveze ceva. Apoi spawnează-o pe gm_flatgrass și citește consola pentru erori.

Publică-ți addonul și oferă-l jucătorilor

Jucătorii descarcă addonul tău de pe server, nu de pe PC-ul tău. O cale rapidă de a le scuti instalarea manuală a tuturor modurilor tale este o colecție din Workshop sau linii resource.AddWorkshop într-un fișier Lua al serverului. Addonul tău trebuie publicat mai întâi în Workshop, pentru că resource.AddWorkshop primește ID-ul unui element publicat. Publică doar conținut permis. Cere-i agentului să adauge liniile cu edit_file și verifică diff-ul. Dacă addonurile din Workshop nu se descarcă pentru un jucător pe serverul tău de test GMod, caută mai întâi cu grep resource.AddWorkshop. Apoi repornește serverul și intră ca jucător ca să vezi descărcarea.

Codelab Station pentru Windows

Fă-ți primul addon

Descarcă Codelab Station ↗