CCodelab Station
Postupy

Jak vytvořit addon do GMod, krok za krokem

03
První addon

Addon s chatovým příkazem od začátku do konce

Chatový příkaz !hello na tvém vlastním serveru je nejmenší užitečný addon. Je to čisté skriptování Lua pro GMod v 1 souboru na straně serveru a ukazuje, jak vytvořit addon do GMod od prázdné složky až po otestovaný výsledek. Agent ho napíše. Ty ho zkontroluješ.

01

Otevři složku addonu

Nejdřív vlastnoručně vytvoř garrysmod/addons/welcome a pak tuto složku vyber jako pracovní složku.

02

Popiš úkol

Obyčejnými slovy napiš, co má addon dělat, například odpovědět na chatový příkaz !hello jménem hráče.

03

Zkontroluj diff

Pracuj v Ask first. Přečti si kartu souboru a diff pro sv_welcome.lua a klikni na Přijmout nebo Odmítnout.

04

Otestuj ve hře

Spusť hru pro více hráčů na lokálním testovacím serveru, připoj se, napiš příkaz do chatu a než to prohlásíš za hotové, přečti si konzoli kvůli chybám Lua.

Soubor, který agent napíše

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)

Jen na straně serveru. hook.Add připojí funkci k PlayerSay, string.lower způsobí, že porovnání ignoruje velká písmena, ChatPrint zobrazí pozdrav tomuto hráči a prázdný řetězec skryje napsaný příkaz v chatu.

Další kroky po prvním addonu

Přidej další skriptovanou zbraň

Dalším krokem přidej skriptovanou zbraň. Zbraně žijí v lua/weapons/, takže požádej agenta, aby tam vytvořil jeden soubor a vysvětlil každé pole, které nastavuje. Mod s ručním dělostřelectvem a minomety by například mohl být skriptovanou zbraní nebo skriptovanou entitou a ty jeho chování popíšeš obyčejnými slovy. Agent použije write_file na nový soubor, grep k ukázání, kde se objevuje název třídy, a Shell na tvůj testovací příkaz. Režim Plan only vypíše všechny soubory dřív, než se cokoli uloží. Potom ji spawnuj na gm_flatgrass a čti konzoli kvůli chybám.

Zveřejni addon a dodej ho hráčům

Hráči stahují tvůj addon ze serveru, ne z tvého počítače. Rychlý způsob, jak jim ušetřit ruční instalaci všech tvých modů, je kolekce Workshopu nebo řádky resource.AddWorkshop v serverovém souboru Lua. Tvůj vlastní addon musí být nejdřív zveřejněn ve Workshopu, protože resource.AddWorkshop přebírá ID zveřejněné položky. Zveřejňuj jen povolený obsah. Požádej agenta, aby řádky přidal pomocí edit_file, a zkontroluj diff. Pokud se hráči na tvém testovacím serveru GMod nestahují addony z Workshopu, nejdřív pomocí grep vyhledej resource.AddWorkshop. Potom server restartuj a připoj se jako hráč a sleduj stahování.

Codelab Station pro Windows

Vytvoř svůj první addon

Stáhnout Codelab Station ↗