help-file-creation
Create new help files for Oxidus. Covers file location, plain text format, search paths, command-based help via query_help(), and the autodoc system.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Create new help files for Oxidus. Covers file location, plain text format, search paths, command-based help via query_help(), and the autodoc system.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Review standard for Oxidus changes — what qualifies as a finding, how scope is bounded, the evidence required before asserting a failure mode, and the LPC/FluffOS semantics most often mistaken for defects. Consult before reviewing, critiquing, or reporting findings on any LPC change, diff, or pull request.
LPC coding style and formatting conventions for this project. Consult when writing or modifying any LPC code — covers spacing, indentation, braces, naming, control flow, and idiomatic patterns.
LPCDoc comment block generation guide. Consult when writing or updating documentation headers for LPC functions, classes, and modules.
Create and modify daemons for Oxidus. Covers inheriting STD_DAEMON, the setup chain, persistence (setPersistent/saveData/restore_data), preloading, SWAP_D for reload-safe data, logging with EXT_LOG, and the teardown chain.
LPML (LPC Markup Language) specification reference. Consult when reading, writing, editing, or validating .lpml files. Covers syntax, data types, string concatenation, spacey keys, file includes, multiline folding, and all extensions over JSON5.
Create and modify NPCs and monsters for Oxidus. Covers code-based NPCs (STD_NPC), data-driven monsters (virtual_setup, LPML), set_level, race modules, body parts, heartbeat optimization, combat memory, loot/coin tables, utility-AI decisions, and the virtual compile flow.
| name | help-file-creation |
| description | Create new help files for Oxidus. Covers file location, plain text format, search paths, command-based help via query_help(), and the autodoc system. |
You are creating help files for Oxidus. The help system has two sources: static help files in the doc/ directory and dynamic help from command objects via query_help().
Help files are plain text files stored without extension in doc/ subdirectories:
| Directory | Audience | Searched When |
|---|---|---|
doc/general/ | All players | Always |
doc/game/ | All players | Always |
doc/help/developer/ | Developers | devp(tp) is true |
doc/driver/efun/ | Developers | devp(tp) is true |
doc/driver/apply/ | Developers | devp(tp) is true |
doc/admin/ | Admins | adminp(tp) is true |
help preferences reads doc/general/preferencesenvironmental variablesHelp files are plain text. No structured markup system — just write readable content.
The following preferences are available to be configured via the 'set' command:
auto_tune - what channels, if any, to auto-tune upon login
Default: all
colour - whether to use colour in the game.
Default: off
Options: on/off
Colour codes using the {{hex}} syntax can be used in help files (see the colour-coding skill).
The help command (cmds/std/help.lpc) searches in this order:
<verb>.c exists in the player's PATH and has query_help()HELP_PATH (doc/general/, doc/game/) for a matching filedoc/help/developer/, doc/driver/efun/, doc/driver/apply/doc/admin/If nothing is found, the failed search is logged to log/help.log.
Output is wrapped in a decorative border and paged to the player.
Commands provide help via two mechanisms:
string query_help(object tp) {
return
"SYNTAX: force <living> to <cmd>\n\n"
"Force a living object to execute a command.";
}
Or using @text heredoc syntax:
string query_help(object tp) {
return @text
Syntax: do cmd,cmd,cmd,...
Executes a list of commands separated by commas.
text;
}
Set in setup() — available on commands inheriting STD_CMD:
void setup() {
usage_text =
"drop <object>\n"
"drop all\n"
"drop all <object>\n";
help_text =
"This command will allow you to drop an object you are currently holding onto "
"the ground.\n\nSee also: get, put\n";
}
Command-based help takes priority over file-based help (the command path is searched first).
The autodoc daemon (adm/daemons/autodoc.lpc) parses JSDoc-style comments from LPC source files and generates documentation automatically.
Supported tags: @description, @def, @param, @returns, @example
Run via the autodoc scan developer command.
help <topic>File: doc/general/combat
Combat in the game is initiated by using the 'attack' command on a target.
Once in combat, your character will automatically attack each round. You can
use abilities and spells during combat for additional effects.
Useful commands:
attack <target> - Begin combat with a target
flee - Attempt to escape combat
consider <target> - Evaluate a target's strength
See also: commands
File: doc/help/developer/virtual_objects
Virtual objects are data-driven objects loaded from definition files rather
than compiled LPC source.
The virtual object system uses compile servers that intercept file loads
and generate objects from data files (e.g., .lpml files).
Key files:
std/virtual/server.lpc - Base virtual compile server
adm/daemons/virtual.lpc - Virtual object daemon
See also: getting_started