角色创建器¶
由 InspectorCaracal 贡献,2022年
用于管理和启动游戏内角色创建菜单的命令。
安装¶
在游戏文件夹的 commands/default_cmdsets.py
中,导入并将 ContribChargenCmdSet
添加到 AccountCmdSet
中。
示例:
from evennia.contrib.rpg.character_creator.character_creator import ContribChargenCmdSet
class AccountCmdSet(default_cmds.AccountCmdSet):
def at_cmdset_creation(self):
super().at_cmdset_creation()
self.add(ContribChargenCmdSet)
在游戏文件夹的 typeclasses/accounts.py
中,导入并从 ContribChargenAccount
继承你的账户类。
(你也可以将 at_look
方法直接复制到自己的类中。)
示例:¶
from evennia.contrib.rpg.character_creator.character_creator import ContribChargenAccount
class Account(ContribChargenAccount):
# 你的账户类代码
在设置文件 server/conf/settings.py
中,添加以下设置:
AUTO_CREATE_CHARACTER_WITH_ACCOUNT = False
AUTO_PUPPET_ON_LOGIN = False
(如果你想允许玩家创建多个角色,可以使用设置 MAX_NR_CHARACTERS
自定义。)
默认情况下,新的 charcreate
命令将引用由此贡献提供的示例菜单,因此你可以在构建自己的菜单之前对其进行测试。
你可以在 此处参考示例菜单,以获取构建自己菜单的思路。
一旦你有了自己的菜单,只需将其添加到设置中以使用。例如,如果你的菜单在 mygame/word/chargen_menu.py
中,则在设置文件中添加以下内容:
CHARGEN_MENU = "world.chargen_menu"
使用¶
charcreate
命令¶
该贡献重载了角色创建命令 charcreate
,以使用角色创建菜单,并支持退出/恢复流程。此外,与核心命令不同,它设计为在菜单中稍后选择角色姓名,因此不会解析传递给它的任何参数。
对 Account
的更改¶
贡献版本的工作方式与核心 Evennia 大致相同,但修改了 ooc_appearance_template
以匹配贡献的命令语法,并修改了 at_look
方法以识别进行中的角色。
如果你已经修改了自己的 at_look
钩子,这是一项简单的更改:只需在可玩角色列表循环的开头添加此部分。
# 循环开始的地方
for char in characters:
# ...
# 贡献代码从这里开始
if char.db.chargen_step:
# 当前正在进行的角色;不显示占位符名称
result.append(" - |Y进行中|n (|wcharcreate|n 继续)")
continue
# 其余代码继续在这里
此文档页面并非由 evennia/contrib/rpg/character_creator/README.md
自动生成。如想阅读最新文档,请参阅原始README.md文件。