CCodelab Station
Продукт

Код для GMod gamemode, который вы пишете и проверяете на своём ПК

01

GMod gamemode — это папка с информационным файлом и подпапкой gamemode/, где лежат init.lua, cl_init.lua и shared.lua. Codelab Station читает эту папку и правит указанный вами Lua, показывая diff, прежде чем вы примете правку в режиме Ask first. Он остаётся вне игры. Каждое действие появляется в виде карточки с настоящим результатом.

01

Сначала читает, потом пишет

list_dir, glob, read_file и grep сначала обходят аддон, поэтому правки опираются на то, что на самом деле лежит в ваших папках.

02

Правки, которые можно проверить

edit_file показывает diff, а write_file создаёт новые файлы, при этом Ask first останавливается перед каждым изменением.

03

Наведите порядок в нескольких аддонах

Объединение нескольких аддонов в одну папку — работа для list_dir, grep, move_file и diff, который вы проверяете.

Что умеет агент

Один запуск — карточка за карточкой

Каждое действие появляется в чате в виде карточки с настоящим результатом, и этот запуск создаёт в вашем аддоне папку сущности «ящик», а потом проверяет её. Принимайте или отклоняйте каждую карточку.

Две задачи, которые можно ему поручить

Соберите аддон с сущностью для GMod по плану

Начните в режиме Plan only и опишите скриптовую сущность, например ящик, который игроки могут спавнить. Агент читает аддон через list_dir и перечисляет файлы, которые записал бы в lua/entities/. Plan only ничего не записывает. Переключитесь на Ask first, и write_file создаст shared.lua, init.lua и cl_init.lua карточка за карточкой. Если модель ящика не отображается, возможно, игра не нашла модели аддона: glob перечисляет папку с моделями, а вы сравниваете её пути с путём модели в вашем Lua. Та же схема «сначала план» подходит и для более крупной идеи, например для мода, который спавнит врагов по всей карте. Проверьте каждый diff, затем загрузите gm_construct и протестируйте.

Начните небольшой геймод GMod на основе Sandbox

Геймод — это папка в garrysmod/gamemodes с информационным текстовым файлом и подпапкой gamemode/, где лежат init.lua, cl_init.lua и shared.lua. Попросите агента создать такую структуру и добавить DeriveGamemode("sandbox"), чтобы ваши правила опирались на Sandbox. Для файлов он использует make_dir и write_file, а для вашего скрипта запуска — Shell, передавая геймод и карту параметрами запуска. Ошибки Lua появляются в игровой консоли, а ocr может прочитать одну из них со скриншота. Оставьте Ask first включённым. Читайте каждый diff и проверяйте на gm_flatgrass.

Чего Codelab Station не делает

Codelab Station — не плагин игры, и он никогда не трогает игровой клиент. Чужие серверы остаются вне его досягаемости. Игроки и аккаунты, которые вам не принадлежат, тоже вне рамок, и обещать, что код правильный, он не может, поэтому каждое изменение вы проверяете и каждый diff читаете сами.

Codelab Station для Windows

Попробуйте на копии одного аддона

Скачать Codelab Station ↗