Eerst lezen, dan schrijven
list_dir, glob, read_file en grep brengen eerst de addon in kaart, zodat wijzigingen uitgaan van wat je mappen echt bevatten.
Een GMod-gamemode is een map met een infobestand en een submap gamemode/ met init.lua, cl_init.lua en shared.lua, en Codelab Station leest die map en bewerkt de Lua die jij aanwijst, met een diff voordat je accepteert in de modus Ask first. Het blijft buiten het spel. Elke actie verschijnt als een kaart met het echte resultaat.
list_dir, glob, read_file en grep brengen eerst de addon in kaart, zodat wijzigingen uitgaan van wat je mappen echt bevatten.
edit_file toont een diff en write_file maakt nieuwe bestanden, terwijl Ask first vóór elke wijziging pauzeert.
Meerdere addons samenvoegen in één map is een klus voor list_dir, grep, move_file en een diff die jij controleert.
Elke actie verschijnt in de chat als een kaart met het echte resultaat, en deze run maakt in een eigen addon een entitymap voor een krat en controleert die daarna. Accepteer of wijs elke kaart af.
lua/entities/**0 trefferslua/entities/crate/shared.luaopgeslagenlua/entities/crate/init.luaopgeslagenlua/entities/crate/cl_init.luaopgeslagenENT.Spawnable1 trefferyour test commandexit 0Begin in de modus Plan only en beschrijf een gescripte entity, bijvoorbeeld een krat die spelers kunnen spawnen. De agent leest de addon met list_dir en somt de bestanden op die hij onder lua/entities/ zou schrijven. Plan only schrijft niets. Schakel over naar Ask first en write_file maakt shared.lua, init.lua en cl_init.lua kaart voor kaart. Als het model van de krat niet verschijnt, heeft het spel de modellen van de addon misschien niet gevonden, dus glob toont de modelmap en vergelijk je de paden daarvan met het modelpad in je Lua. Dezelfde eerst-plannen-routine past bij een groter idee, zoals een mod die overal op de map vijanden spawnt. Controleer elke diff en laad dan gm_construct om te testen.
Een gamemode is een map in garrysmod/gamemodes met een info-tekstbestand en een submap gamemode/ met init.lua, cl_init.lua en shared.lua. Vraag de agent die opzet aan te maken en DeriveGamemode("sandbox") toe te voegen, zodat je regels op Sandbox voortbouwen. Hij gebruikt make_dir en write_file voor de bestanden en Shell voor je startscript met de gamemode en de map als startparameters. Lua-fouten verschijnen in de spelconsole, en ocr kan er een uit een screenshot lezen. Laat Ask first aanstaan. Lees elke diff en test op gm_flatgrass.
Codelab Station is geen plugin van het spel en raakt de spelclient nooit aan. Andere servers blijven verboden terrein. Spelers en accounts die niet van jou zijn, vallen buiten bereik, en het kan niet beloven dat code correct is, dus je test elke wijziging en leest elke diff zelf.