默认命令帮助
A - Z 索引
- @about —— 显示Evennia的信息
- @alias —— 给物体添加永久别名
- @ban —— 禁止玩家连接服务器
- @batchcode —— 用代码批处理文件建造
- @batchcommands —— 用命令批处理文件建造
- @boot —— 把玩家踢出服务器
- @cboot —— 把玩家踢出你管理的频道
- @ccreate —— 创建一个新频道
- @cdesc —— 给你管理的频道添加描述
- @cdestroy —— 删除你管理的频道
- @cemit —— 向你管理的频道发送一条管理员信息
- @channels —— 列出所有你可用的频道
- @charcreate —— 创建一个新角色
- @clock —— 改变你管理的频道的频道锁
- @cmdsets —— 列出定义在某个对象上的命令集
- @color —— 测试你的客户端支持哪些颜色
- @copy —— 复制对象及其属性
- @cpattr —— 在对象之间复制属性
- @create —— 创建新对象
- @cwho —— 显示正在收听频道的人
- @delplayer —— 从服务器删除一个玩家
- @desc —— 给一个对象添加描述
- @destroy —— 永久删除对象
- @dig —— 创建新的房间,并将其连接到当前位置
- @emit —— 管理员命令,用于向多个对象发送消息
- @encoding —— 设置要使用的文本编码
- @examine —— 获取某个物体的详细信息
- @find —— 在数据库中搜索物体
- @help —— 编辑帮助信息
- @home —— 设置对象的归属位置
- @ic —— 控制一个你有操纵权的对象
- @irc2chan —— 将一个evennia频道与一个外部IRC频道连接起来
- @link —— 将现有的房间通过出口连接起来
- @lock —— 给对象添加一个锁
- @mvattr —— 在对象之间转移属性
- @name —— 更改对象的名称或别名
- @objects —— 显示数据库中对象的统计信息
- @ooc —— 停止操纵,让它不再受控制
- @open —— 在当前房间中添加一个新出口
- @password —— 更改密码
- @perm —— 设置玩家或对象的权限
- @py —— 执行一段Python代码
- @quell —— 使用角色权限替代玩家权限
- @quit —— 退出游戏
- @reload —— 重新加载服务器
- @reset —— 重置并重新启动服务器
- @rss2chan —— 将一个evennia频道与一个外部RSS源连接起来
- @script —— 将脚本附加到对象上
- @scripts —— 列出并管理所有运行的脚本
- @server —— 显示服务器负载及内存信息
- @service —— 管理系统服务
- @sessions —— 检查你的连接会话(session)
- @set —— 设置某个对象或玩家的属性
- @shutdown —— 完全停止服务器
- @tag —— 处理物体的标签
- @tel —— 将物体传送到另一个位置
- @time —— 显示服务器时间的统计信息
- @tunnel —— 在基本方向上建立新的房间
- @typeclass —— 设置或改变物体的类型类
- @unban —— 解除对某个玩家的禁令
- @unlink —— 去除房间之间的出口连接
- @userpassword —— 修改某个玩家的密码
- @wall —— 向全体发布公告
- @wipe —— 清除某个对象的所有属性
- __unloggedin_look_command —— 处于未登录状态时的看
- access —— 显示你在当前游戏中的权限
- addcom —— 增加频道别名或订阅频道
- allcom —— 在所有频道上执行管理员操作
- command —— 这是定义某些操纵对象命令的父类
- connect —— 连接游戏
- create —— 创建一个新的玩家账户
- delcom —— 删除一个频道别名或退订频道
- drop —— 放下东西
- get —— 捡起东西
- give —— 将东西交给别人
- help —— 查看帮助或主题列表
- help —— 当处于未连接状态时获取帮助
- home —— 移动到你角色的归属位置
- inventory —— 查看拥有的物品
- look —— 当处于角色之外时的看
- look —— 看环境或对象
- nick —— 给某个人添加别名、昵称
- page —— 发送悄悄话给其他玩家
- pose —— 摆出姿势
- quit —— 当处于未登录状态时的退出
- say —— 以你角色的身份说话
- who —— 列出当前在线的人
命令详解
以下内容按源文件在 src/commands/default/ 中的位置排序。
admin.py
属于 DefaultCharacter(CharacterCmdSet)的命令集。
禁止玩家连接服务器
用法:
@ban [<名字或ip> [: 理由]]
不带任何参数,则列出带有编号的当前封禁情况的清单。
这个命令可以禁止某个用户访问游戏。你还可以加上理由,这样以后就能记起为什么要封他了。
它通常比使用 @delplayer 直接删除玩家要好。如果按名字禁止,该玩家帐号将无法再登录进来。
封IP地址可以阻止从某个特定地址或子网的所有访问。可以使用星号(*)做通配符。
示例:
@ban thomas —— 封帐户“thomas”
@ban/ip 134.233.2.111 —— 封特定的IP地址
@ban/ip 134.233.2.* —— 封子网中所有的连接
@ban/ip 134.233.*.* —— 更广泛的封禁
通过更换电脑可以很容易地绕开对单一IP地址的过滤(而且,一些网络服务供应商本来就只分配临时IP地址给用户。你可能会想用通配符来封禁更宽的IP地址块,但请记住,封禁过多的IP地址可能会误伤来自同一个国家或同一地区的无辜用户。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
把某个玩家踢出服务器。
用法:
@boot[/开关] <玩家对象> [: 理由]
开关:
quiet — 悄悄地踢人,不发送消息给他。
port — 通过端口号踢人,而不是通过名称或数据库号。
把某个玩家踢出服务器。如果给出理由,理由会回显给用户,除非设置了 /quiet 。
属于 DefaultPlayer(PlayerCmdSet)的命令集。
- 命令 = "@delplayer"
- 别名 = []
- 锁 = "cmd:perm(delplayer) or perm(Immortals)"
- 帮助类别 = "Admin"
- __doc__ 字符串(自动帮助):
从服务器删除一个玩家
用法:
@delplayer[/开关] <名字> [: 理由]
开关:
delobj — 同时删除该玩家在当前游戏中拥有的物体。
将用户从服务器数据库中彻底删除,他们的昵称和电子邮件可被再次用于注册。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
- 命令 = "@emit"
- 别名 = ['@remit', '@pemit']
- 锁 = "cmd:perm(emit) or perm(Builders)"
- 帮助类别 = "Admin"
- __doc__ 字符串(自动帮助):
管理员命令,可发送消息给多个物体
用法:
@emit[/开关] [<对象>, <对象>, ... =] <消息>
@remit [<对象>, <对象>, ... =] <消息>
@pemit [<对象>, <对象>, ... =] <消息>
开关:
room — 限制只发送给房间(默认)
players — 限制只发送给玩家
contents — 同时发送给目标对象中包含的对象
给你选择的对象或你的周围环境发出一条消息,如果选择的对象是一个房间,会发送给它所包含的物体。 @remit 和 @pemit 是 @emit 的限定形式,可限定发送给房间或玩家。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
- 命令 = "@perm"
- 别名 = ['@setperm']
- 锁 = "cmd:perm(perm) or perm(Immortals)"
- 帮助类别 = "Admin"
- __doc__ 字符串(自动帮助):
设置玩家或物体的权限
用法:
@perm[/开关] <物体> [= <权限>[,<权限>,...]]
@perm[/开关] *<玩家> [= <权限>[,<权限>,...]]
开关:
del —删除<物体>或<玩家>的指定权限。
player — 给玩家设置权限(和在名称前加*的效果一样)
这个命令可以设置、清除物体或玩家上的权限字符串。如果不给出权限名,则列出<物体>上的所有权限。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
解除对某个玩家的封禁。
用法:
@unban <封禁id>
这将解除之前通过 @ban 命令对玩家名称或ip所做的封禁。使用不带参数的命令可以查看带有编号的封禁清单,可以使用列表中的编号来指定解除哪个禁令。
属于 DefaultCharacter(PlayerCmdSet)的命令集。
- 命令 = "@userpassword"
- 别名 = []
- 锁 = "cmd:perm(newpassword) or perm(Wizards)"
- 帮助类别 = "Admin"
- __doc__ 字符串(自动帮助):
修改某个玩家的密码
用法:
@userpassword <用户对象> = <新密码>
设定玩家的密码。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
向全体发布公告。
用法:
@wall <消息>
向所有在线的玩家发布公告。
batchprocess.py
属于 DefaultCharacter(CharacterCmdSet)的命令集。
使用代码批处理文件建造
用法:
@batchcode[/开关] <文件的Python路径>
开关:
interactive — 该模式会在执行批处理文件时提供更多的控制,如单步、跳过、重新加载等。
debug — 该模式会(在批处理文件执行完毕时)自动删除脚本文件中所有带有删除标记的对象(参见示例文件了解相关语法)。这样就不会在测试完脚本之后留下很多的重复对象。
调用代码批处理文件(*.py)执行批处理命令。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
- 命令 = "@batchcommands"
- 别名 = ['@batchcmd', '@batchcommand']
- 锁 = "cmd:perm(batchcommands) or superuser()"
- 帮助类别 = "Building"
- __doc__ 字符串(自动帮助):
使用命令批处理文件建造
用法:
@batchcommands[/开关] <文件的Python路径>
开关:
interactive — 该模式会在执行批处理文件时提供更多的控制,如单步、跳过、重新加载等。
调用命令批处理文件(*.ev)执行批处理命令。
building.py
属于 DefaultCharacter(CharacterCmdSet)的命令集。
- 命令 = "@alias"
- 别名 = ['@setobjalias']
- 锁 = "cmd:perm(setobjalias) or perm(Builders)"
- 帮助类别 = "Building"
- __doc__ 字符串(自动帮助):
给物体添加永久别名
用法:
@alias <物体> [= [别名[,别名,别名,...]]]
@alias <物体> =
给物体添加别名,这样可以使用不止一个名字来指向它。分配空名字可以删除物体所有的别名。
注意,这是和使用“nick”(昵称)命令创建的个人别名是不一样的!使用 @alias 设置的别名会改变物体在对话中的名称,每个人都可以使用这些别名。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
- 命令 = "@cmdsets"
- 别名 = ['@listcmsets']
- 锁 = "cmd:perm(listcmdsets) or perm(Builders)"
- 帮助类别 = "Building"
- __doc__ 字符串(自动帮助):
列出定义在物体上的命令集
用法:
@cmdsets [物体]
这会显示分配给用户的所有命令集,默认为显示你自己。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
复制物体及其属性
用法:
@copy [/reset] <源物体> [= 新名字][;别名;别名..][:新位置] [,新名字2...]
开关:
reset — 建立“干净”的拷贝,去除原始物体创建之后可能做过的任何更改。
创建某个物体的一个或多个拷贝。如果没有提供新名字,则会以 *_copy 为名创建一个源物体的精确拷贝。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
- 命令 = "@cpattr"
- 别名 = []
- 锁 = "cmd:perm(cpattr) or perm(Builders)"
- __doc__ 字符串(自动帮助):
在物体之间复制属性
用法:
@cpattr[/开关] <物体>/<属性> = <物体1>/<属性1> [,<物体2>/<属性2>,<物体3>/<属性3>,...]
@cpattr[/开关] <物体>/<属性> = <物体1> [,<物体2>,<物体3>,...]
@cpattr[/开关] <属性> = <物体1>/<属性1> [,<物体2>/<属性2>,<物体3>/<属性3>,...]
@cpattr[/开关] <属性> = <物体1>[,<物体2>,<物体3>,...]
开关:
move — 复制后删除源物体的相应属性。.
示例:
@cpattr coolness = Anna/chillout, Anna/nicety, Tom/nicety
-> 将你自己的coolness属性复制给Anna和Tom的指定属性。
将某个物体的属性复制给其它物体的一个或多个属性。
如果不提供源物体,则将你自己作为源物体
属于 DefaultCharacter (CharacterCmdSet)的命令集。
- 命令 = "@create"
- 别名 = []
- 锁 = "cmd:perm(create) or perm(Builders)"
- 帮助类别 = "Building"
- __doc__ 字符串(自动帮助):
创建新物体
用法:
@create[/drop] 物体名[;别名;别名...][:类型类], 物体名...
开关:
drop — 自动将新建的物体放置在你当前位置(不回显)。这还会将新建物体的归属位置设为当前位置,而不是你。
创建一个或多个新物体。如果给出了类型类,物体将作为该类型类的子类创建。类型类的脚本应放在路径 game/gamesrc/types 中,进一步的目录结构以Python格式给出。所以,如果你的类型类定义在 game/gamesrc/types/examples/red_button.py 中,你可以用以下方式创建该类型的新物体:
@create button;red : examples.red_button.RedButton
属于 DefaultCharacter (CharacterCmdSet)的命令集。
- 命令 = "@desc"
- 别名 = ['@describe']
- 锁 = "cmd:perm(desc) or perm(Builders)"
- 帮助类别 = "Building"
- __doc__ 字符串(自动帮助):
描述一个物体
用法:
@desc [<物体> =] <描述>
设置物体的“desc”属性。如果没有指定物体,则设置当前的房间。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
- 命令 = "@destroy"
- 别名 = ['@del', '@delete']
- 锁 = "cmd:perm(destroy) or perm(Builders)"
- 帮助类别 = "Building"
- __doc__ 字符串(自动帮助):
永久删除物体
用法:
@destroy[/开关] [物体, 物体2, 物体3, [数据库号-数据库号], ...]
开关:
override — @destroy命令通常会避免意外删除玩家,该开关可以覆盖这项安全设定。
示例:
@destroy house, roof, door, 44-78
@destroy 5-10, flower, 45
删除一个或多个物体。如果使用数据库号还可以按范围删除,比如4-10,后面那个数字指定的物体也会被删除。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
创建新的房间,并将其连接到当前位置
用法:
@dig[/开关] 房间名[;别名;别名...][:类型类]
[=从这里通向那里的出口[;别名][:类型类]]
[, 从那里通向这里的出口[;别名][:类型类]]
开关:
tel 或 teleport — 把你自己移动到新房间
示例:
@dig kitchen = north;n, south;s
@dig house:myrooms.MyHouseTypeclass
@dig sheer cliff;cliff;sheer = climb up, climb down
该命令提供了快速创建房间的便捷方式,你可以在创建新房间的时候选择设置来往于当前房间和新建房间出口的名字。你可以给房间和相关出口添加任意数量的别名,如:“north;no;n”。
属于 DefaultPlayer(PlayerCmdSet)的命令集。
- 命令 = "@examine"
- 别名 = ['examine', '@ex', 'ex', 'exam']
- 锁 = "cmd:perm(examine) or perm(Builders)"
- 帮助类别 = "Building"
- __doc__ 字符串(自动帮助):
获取某个物体的详细信息
用法:
examine [<物体>[/属性名]]
examine [*<玩家>[/属性名]]
开关:
player — 检查玩家的属性(和加*一样)
examine命令可以显示物体的详细信息,并且可以选择显示指定属性。如果没有指定物体,则检查当前的位置。
在物体的名字前添加“*”可以检查玩家的信息。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
- 命令 = "@find"
- 别名 = ['locate', '@locate', 'search', '@search', 'find']
- 锁 = "cmd:perm(find) or perm(Builders)"
- 帮助类别 = "Building"
- __doc__ 字符串(自动帮助):
在数据库中搜索物体
用法:
@find[/开关] <名字或数据库号或*玩家> [= 数据库号下限[-数据库号上限]]
开关:
room — 只搜索房间 (location=None)
exit — 只搜索出口 (destination!=None)
char — 只搜索角色 (BASE_CHARACTER_TYPECLASS)
在数据库中搜索指定名称或数据库号的物体,使用*玩家名字可以搜索玩家。开关可以用来在特定的类别中匹配物体。数据库号上下限可以指定在该范围内搜索,如果只给出一个值,可以指定搜索高于或低于这个值的范围。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
- 命令 = "@home"
- 别名 = ['@sethome']
- 锁 = "cmd:perm(@home) or perm(Builders)"
- 帮助类别 = "Building"
- __doc__ 字符串(自动帮助):
设置物体的归属位置
用法:
@home <物体> [= 归属位置]
“home”位置是物体的“安全”位置,如果他们的当前位置不存在了就会被移动到那里。因此,所有物体都应该有一个归属位置。这就是“home”命令的目标。
如果没有给出位置,则查看物体的归属位置。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
将现有的房间用出口连在一起
用法:
@link[/开关] <物体> = <目标>
@link[/开关] <物体> =
@link[/开关] <物体>
开关:
twoway — 连接两个出口。对于该命令,<物体>和<目标>都必须是出口。
如果<物体>是出口,则将<目标>设为它的目的地。twoway操作可以将目的地设为给定参数的对应位置。
第二种形式(只有=,没有<目标>)会将目的地设置为空(和@unlink命令一样),第三种形式(不带=)可以显示当前设定的目的地。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
- 命令 = "@lock"
- 别名 = ['lock', '@locks', 'locks']
- 锁 = "cmd: perm(@locks) or perm(Builders)"
- 帮助类别 = "Building"
- __doc__ 字符串(自动帮助):
给物体定义一个锁
用法:
@lock <物体>[ = <锁字符串>]
或
@lock[/开关] 物体/<访问类型>
开关:
del — 删除给定的访问类型
view — 显示与指定接入类型关联的锁(默认)
如果没有给出锁字符串,则显示该物体上所有的锁。
锁字符串的格式如下:
'access_type:[NOT] 函数1(参数)[ AND|OR][ NOT] 函数2(参数) ...]'
函数1、函数2 ... 是带或不带参数的有效的锁函数。分隔符不必大写。
示例:
'get: id(25) or perm(Wizards)'
'get'访问类型由命令get检查,并且这个字符串锁住的对象只能被Wizards或id为25的物体拣起。
你可以添加多个访问类型,用“;”将它们分割开。例如:
'get:id(25);delete:perm(Builders)'
属于 DefaultCharacter(CharacterCmdSet)的命令集。
- 命令 = "@mvattr"
- 别名 = []
- 锁 = "cmd:perm(mvattr) or perm(Builders)"
- 帮助类别 = "Building"
- __doc__ 字符串(自动帮助):
在物体间移动属性
用法:
@mvattr[/开关] <物体>/<属性> = <物体1>/<属性1> [,<物体2>/<属性2>,<物体3>/<属性3>,...]
@mvattr[/开关] <物体>/<属性> = <物体1> [,<物体2>,<物体3>,...]
@mvattr[/开关] <属性> = <物体1>/<属性1> [,<物体2>/<属性2>,<物体3>/<属性3>,...]
@mvattr[/开关] <属性> = <物体1>[,<物体2>,<物体3>,...]
开关:
copy — 在移动后不删除原先的属性。
将一个物体的某个属性移动到另一个物体的一个或多个属性。如果你不提供源物体,则将自己作为源物体。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
- 命令 = "@name"
- 别名 = ['@rename']
- 锁 = "cmd:perm(rename) or perm(Builders)"
- 帮助类别 = "Building"
- __doc__ 字符串(自动帮助):
改变某个物体的名字或别名
用法:
@name 物体 = 名字;别名1;别名2
将物体重命名为新的名字。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
从当前房间打开新的出口
用法:
@open <新出口>[;别名;别名..][:类型类] [,<返回的出口>[;别名;..][:类型类]]] = <目的地>
负责创建出口。如果给出目的地,出口将指向那里。参数<返回的出口>用于设置从目的地到当前房间的出口。目的地的名字可以使用#数据库号,如果目的地的名字是全局唯一的,也可以直接使用名字。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
- 命令 = "@script"
- 别名 = ['@addscript']
- 锁 = "cmd:perm(script) or perm(Builders)"
- 帮助类别 = "Building"
- __doc__ 字符串(自动帮助):
将脚本附加到物体
用法:
@script[/开关] <物体> [= <脚本.路径 或 脚本关键字>]
开关:
start — 启动物体上所有不在运行的脚本或只启动指定的脚本
stop — 停止物体上所有的脚本或只停止指定的脚本
如果没有给出脚本路径或关键字,则列出物体上所有活动的脚本。
在settings文件中可以指定脚本路径的根路径。在添加新脚本时,它会自动启动(不需要使用 /start 开关)。在对象上使用 /start 或 /stop 开关且不指定脚本关键字或路径,可以启动或停止物体上所有的脚本。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
给物体或玩家设置属性
用法:
@set <物体>/<属性> = <值>
@set <物体>/<属性> =
@set <物体>/<属性>
@set *<玩家>/属性 = <值>
设置物体属性。第二种形式可以清除先前设置的属性,而第三种形式可以检查属性的当前值(如果有的话)。
该命令通常用于设置字符串和数字类型的属性,不过也可以设置Python的内置类型,如列表、字典和元组(对某些自定对象的功能来说,这可能是很重要的)。要做到这点,你的值需要以这些字符开始:{c'{n、{c"{n、{c({n、{c[{n 或 {c{ {n。
注意,你应该在开始字典('{')后留一个空格,以免将字典与诸如 \{g 之类的颜色代码混淆起来。
请记住,如果你像这样使用Python的内置类型,你还必须遵守正确的Python语法 —— 特别是你必须用引号将字符串包围起来,否则你会得到一个错误。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
处理的物体标签
用法:
@tag[/del] <物体> [= <标签>[:<类别>]]
@tag/search <标签>
开关:
search — 返回所有物体
del — 删除指定的标签。如果没有指定标签,则清除物体上的所有标签。
管理、列出物体上的标签。标签可用于快速分组和搜索物体。如果只给出<物体>,会列出物体的所有标签。如果使用 /search,会列出所有带指定标签的物体。
类别可用于对标签自身做分类,但应谨慎使用它 —— 对于大多数分组方案来说,只用标签通常就够了。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
- 命令 = "@tel"
- 别名 = ['@teleport']
- 锁 = "cmd:perm(teleport) or perm(Builders)"
- 帮助类别 = "Building"
- __doc__ 字符串(自动帮助):
将对象传送到另一个位置
用法:
@tel/开关 [<对象> =] <目标位置>
示例:
@tel Limbo
@tel/quiet box Limbo
@tel/tonone box
开关:
quiet — 在移动的源地点和目标地点不回显离开和到达的消息。
intoexit — 如果传送的目标位置是出口,则进入指定的出口,而不是直接将出口作为目标位置。
tonone — 如果设置,会将对象传送到虚无的地点。这样设置的话<目标位置>会被忽略。
注意,从虚无地点找回对象的唯一方法是直接使用#数据库号。
将某个对象传送到某处。如果没有给出对象,则将你自己传送到目标位置。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
- 命令 = "@tunnel"
- 别名 = ['@tun']
- 锁 = "cmd: perm(tunnel) or perm(Builders)"
- 帮助类别 = "Building"
- __doc__ 字符串(自动帮助):
只在基本方向上创建新房间
用法:
@tunnel[/开关] <方向> [= 房间名[;别名;别名;...][:类型类]]
开关:
oneway — 不创建返回到当前位置的出口
tel — 传送到新建的房间
示例:
@tunnel n
@tunnel n = house;mike's place;green building
这是使用预定义的基本方向创建房间的便捷方式:
n,ne,e,se,s,sw,w,nw (北、东北、东……等方向)
u,d (上、下)
i,o (进、出)
全称(如north、in、southwest等)应始终作为出口的主要名字,将缩写作为别名(比如这样一来,一个出口可以使用通过名字“north”或“n”来指定)。除非指定 /oneway 开关,在新建房间的相反方向会自动创建一个返回当前位置的出口。
想要更灵活、更强大的建造房间命令,请使用@dig。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
- 命令 = "@typeclass"
- 别名 = ['@type', '@parent']
- 锁 = "cmd:perm(typeclass) or perm(Builders)"
- 帮助类别 = "Building"
- __doc__ 字符串(自动帮助):
设置或更改对象的类型类
用法:
@typeclass[/开关] <对象> [= <类型类.路径>]
@type ……
@parent ……
开关:
reset — 清除对象的*所有*属性 —— 使它基本上变成新的清洁对象。
force — 更改类型类,即使对象已经有相同名称的类型类。
示例:
@type button = examples.red_button.RedButton
查看或设置对象的类型类。如果是设置,对象上的创建钩子函数会被运行。如果与老的对象有属性冲突,可以使用 /reset 开关。在默认情况下会避免将类型类的名字改成和旧名字一样的名字,使用 /force 选项可以强制执行更改。
给定的类型类必须用Python点标记格式标志出它的正确模块和类。如果没有给出类型类(或者指定了错误的类型类),路径或新类型类的错误会导致旧的类型类不被更换。类型类模块的位置是从服务器配置中指定的默认typeclass路径开始搜索的。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
- 命令 = "@unlink"
- 别名 = []
- 锁 = "cmd:perm(unlink) or perm(Builders)"
- 帮助类别 = "Building"
- __doc__ 字符串(自动帮助):
删除连接房间的出口
用法:
@unlink
删除对象的链接,例如删除一个出口,断开它所有的链接。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
删除一个对象的所有属性
用法:
@wipe <对象>[/属性[/属性...]]
示例:
@wipe box
@wipe box/colour
删除对象的所有属性,或者只删除与指定字符串相符的属性。
属于()。
这是定义对象命令类的基类,他们通常需要用更多的变量来定义新对象。
每个对象的定义可以有多个组成部分,首先是名字,后面跟着可选的别名列表,最后是一些可选的数据,如类型类或位置。通过逗号“,”将不同对象分开。像这样:
名字1;别名;别名;别名:选项, 名字2,别名;别名...
组件之间的所有空格都会被忽略。
另一种情况是属性操作。这样的命令更简单,而且提供组合
对象名/属性/属性/属性, 对象名/属性, ...
comms.py
属于 DefaultPlayer(PlayerCmdSet)的命令集。
从你管理的频道中踢出玩家
用法:
@cboot[/quiet] <频道> = <玩家> [:理由]
开关:
quiet — 不在频道中发送通知
从你管理的频道中踢出玩家或对象。
属于 DefaultPlayer(PlayerCmdSet)的命令集。
- 命令 = "@ccreate"
- 别名 = ['channelcreate']
- 锁 = "cmd:not pperm(channel_banned)"
- 帮助类别 = "Comms"
- __doc__ 字符串(自动帮助):
创建一个新的频道
用法:
@ccreate <频道>[;别名;别名...] = 描述
创建属于你的新频道。
属于 DefaultPlayer(PlayerCmdSet)的命令集。
给你管理的频道设置描述信息
用法:
@cdesc <频道> = <描述>
改变频道列表中频道的描述信息。
属于 DefaultPlayer(PlayerCmdSet)的命令集。
删除你创建的频道
用法:
@cdestroy <频道>
删除你管理的频道。
属于 DefaultPlayer(PlayerCmdSet)的命令集。
向你管理的频道发送一条管理员消息
用法:
@cemit[/开关] <频道> = <消息>
开关:
sendername — 在消息前面加上发送者的名字
quiet — 不将消息回显给发送者
允许用户向其管理的频道广播一条消息。除非使用 /sendername 开关,它不会显示用户的名字。
属于 DefaultPlayer(PlayerCmdSet)的命令集。
- 命令 = "@channels"
- 别名 = ['comlist', 'channellist', 'all channels', 'channels', '@clist', 'chanlist']
- 锁 = "cmd: not pperm(channel_banned)"
- 帮助类别 = "Comms"
- __doc__ 字符串(自动帮助):
列出所有你可用的频道
用法:
@channels
@clist
comlist
列出所有你可用的频道,不论你是否在收听它。
使用“comlist”可以只列出你当前收听的频道。
使用 addcom/delcom 加入或离开频道。
属于 DefaultPlayer(PlayerCmdSet)的命令集。
改变你管理的频道的锁
用法:
@clock <频道> [= <锁定字符串>]
改变频道的访问控制锁。如果没有给出锁定字符串,则查看当前定义的锁。
属于 DefaultPlayer(PlayerCmdSet)的命令集。
显示哪些人正在收听频道
用法:
@cwho <频道>
列出哪些人正连接到你管理的指定频道。
属于 DefaultPlayer(PlayerCmdSet)的命令集。
- 命令 = "@irc2chan"
- 别名 = []
- 锁 = "cmd:serversetting(IRC_ENABLED) and pperm(Immortals)"
- 帮助类别 = "Comms"
- __doc__ 字符串(自动帮助):
将evennia的频道连接到外部的IRC频道
用法:
@irc2chan[/开关] <evennia频道> = <irc网络> <端口> <#irc频道> <机器人名字>
@irc2chan/list
@irc2chan/delete 机器人名字|数据库id
开关:
disconnect — 这会删除机器人,删除频道与IRC的连接。
remove — 同上
list — 显示所有 IRC <-> evennia 的映射
示例:
@irc2chan myircchan = irc.dalnet.net 6667 myevennia-channel evennia-bot
这会创建连接指定IRC网络和频道的机器人。
它会将evennia频道的所有消息转发到IRC频道,反之亦然。机器人会在服务器启动时自动连接,所以这个命令只需要执行一次。/disconnect 开关会永久删除机器人。如果只想暂时停用它,可改用 @services 命令。
属于 DefaultPlayer(PlayerCmdSet)的命令集。
- 命令 = "@rss2chan"
- 别名 = []
- 锁 = "cmd:serversetting(RSS_ENABLED) and pperm(Immortals)"
- 帮助类别 = "Comms"
- __doc__ 字符串(自动帮助):
将evennia的频道链接到外部RSS源
用法:
@rss2chan[/开关] <evennia频道> = <RSS源的url>
开关:
disconnect — 这将停止订阅源并删除与频道的连接。
remove — 同上
list — 显示所有 RSS -> evennia 的映射
示例:
@rss2chan rsschan = http://code.google.com/feeds/p/evennia/updates/basic
这会创建与指定RSS源url相连的RSS阅读器。在频道中,更新的内容会显示为标题和新闻链接。更新的速率在 settings 的 RSS_UPDATE_INTERVAL 变量中设置(默认是10分钟)。
断开连接时,你需要同时提供频道名和URL以指定唯一的连接。
属于 DefaultPlayer(PlayerCmdSet)的命令集。
- 命令 = "addcom"
- 别名 = ['aliaschan', 'chanalias']
- 锁 = "cmd:not pperm(channel_banned)"
- 帮助类别 = "Comms"
- __doc__ 字符串(自动帮助):
添加频道别名或订阅频道
用法:
addcom [alias=] <频道>
加入指定频道。如果给出了别名,你还可以通过别名而不是完整的频道名来访问频道。多次使用这个命令可以给一个频道添加多个别名。
属于 DefaultPlayer(PlayerCmdSet)的命令集。
在所有频道上执行管理操作
用法:
allcom [on | off | who | destroy]
允许用户一次关闭或打开所有频道,"who"可以在所有开启的频道执行"who"。destroy会删除所有你控制的频道。
如果没有参数,效果则与 comlist 一样 。
属于 DefaultPlayer(PlayerCmdSet)的命令集。
- 命令 = "delcom"
- 别名 = ['delaliaschan, delchanalias']
- 锁 = "cmd:not perm(channel_banned)"
- 帮助类别 = "Comms"
- __doc__ 字符串(自动帮助):
删除频道别名或退订频道
用法:
delcom <别名或频道名>
如果给出频道全名,则退订频道;如果给出频道别名,则删除别名但不退订。
属于 DefaultPlayer(PlayerCmdSet)的命令集。
给其他玩家发送私信
用法:
page[/开关] [<玩家>,<玩家>,... = <消息>]
tell 同上
page <数字>
开关:
last — 显示你上次传递消息
list — 显示你最近的<数目>条私信(默认)
向在线的目标用户发送消息,如果没有给出参数,则会列出最新的消息列表。
general.py
属于 DefaultCharacter(CharacterCmdSet)的命令集。
显示你当前游戏的访问权限
用法:
access
此命令将显示你的权限层级和你所属的权限组。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
丢下东西
用法:
drop <物品>
把你行囊中的物品丢放在你当前所在的位置。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
捡起东西
用法:
get <物品>
从你当前位置拣起物品并放入你的行囊。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
把东西送给别人
用法:
give <行囊中的物品> = <对象>
把你行囊中的物品送给另一个角色,将物品放入他们的行囊。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
将你的角色移动到归属位置
用法:
home
将你传送回你的家。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
查看行囊
用法:
inventory
inv
显示你行囊中的物品。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
看位置或物体
用法:
look
look <物体>
look *<玩家>
观察你周围的情况或者查看物体。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
- 命令 = "nick"
- 别名 = ['@nick', 'nicks', 'nickname', 'alias']
- 锁 = "cmd:all()"
- 帮助类别 = "General"
- __doc__ 字符串(自动帮助):
给一个人加别名/昵称
用法:
nick[/开关] <昵称> = [<字符串>]
alias 同上
开关:
object — 给物体起别名
player — 给玩家起别名
clearall — 清除所有的别名
list — 显示定义的所有别名(效果和"nicks"一样)
示例:
nick hi = say Hello, I'm Sarah!
nick/object tom = the tall man
“昵称”是你给某人创建的、仅供自己使用的简短名字。当你输入昵称时,实际发送的是替代字符串。开关可以控制在哪些情况下会发生替换,默认情况的是当你输入命令时会替换。“对象”和“玩家”的昵称只在你所用的命令将物体或玩家作为目标时才起作用,你可以使用昵称来指代它们。
请注意,这条命令并没有真正重新命名对象或修改对象,昵称只供你自己使用。如果你想给对象添加永久性的关键字供大家使用,你需要拥有相应权限并使用@alias命令。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
摆姿势
用法:
pose <姿势的描述文字>
pose's <姿势的描述文字>
示例:
pose 站在墙边微笑。
-> 其他人会看到:
Tom 站在墙边微笑。
描述你现在正在做的动作。在姿势文字前面会自动加上你的名字。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
以你角色的身份说话
用法:
say <信息>
和你当前位置的其他人说话。
help.py
属于 DefaultCharacter(CharacterCmdSet)的命令集。
编写帮助数据库
用法:
@help[/开关] <主题>[,类别[,锁]] = <文字>
开关:
add — 添加或替换新的文本格式的主题。
append — 将文本添加到主题末尾,新旧内容之间会添加新行。
merge — 和append类似,但在新旧内容之间不会加新行。
delete — 删除帮助主题。
force — (和add一同使用)创建帮助主题,不管主题是否已经存在。
示例:
@sethelp/add throw = This throws something at ...
@sethelp/append pickpocketing,Thievery = This steals ...
@sethelp/append pickpocketing, ,attr(is_thief) = This steals ...
这个命令可以管理帮助数据库,可以创建、添加、合并和删除帮助条目。如果你不指定类别,默认将使用"General"类。如果没有指定锁,默认情况下任何人都可以阅读帮助文件。
属于 DefaultPlayer(PlayerCmdSet)的命令集。
查看帮助或主题列表
用法:
help <主题或命令>
help list
help all
这会搜索与游戏相关的命令或主题的帮助信息。
player.py
属于 DefaultPlayer(PlayerCmdSet)的命令集。
创建一个新角色
用法:
@charcreate <角色名> [= 描述]
创建新角色,还可以同时添加描述。你可以使用大写字母的名字,在游戏中你仍然可以随时使用小写字母的名字来访问你的角色。
属于 DefaultPlayer(PlayerCmdSet)的命令集。
测试客户端支持的颜色
用法:
@color ansi|xterm256
用游戏所用的彩色码打印一张色彩图来测试你的客户端支持什么颜色。可以选择测试16色的ansi标准(大多数mud都支持)或256色的xterm256标准。如果你的客户端不支持这些颜色的话,你会看到一堆乱七八糟的东西。
属于 DefaultPlayer(PlayerCmdSet)的命令集。
设置所用的文本编码
用法:
@encoding/开关 [<编码>]
开关:
clear — 清除你自定义的编码
这用来设置与Evennia通信的文本编码。当你想使用非ASCII字符(即英语中没有的字母/符号)时,编码可能会成为问题。如果你觉得你的字符看起来很奇怪(或者你碰到了编码错误),你可以用这个命令将服务器的文本编码设成和你客户端一样。
常见的编码有utf-8(默认)、latin-1、ISO-8859-1等。
如果你不指定<编码>,则会显示当前使用的编码。
属于 DefaultPlayer(PlayerCmdSet)的命令集。
控制一个你有权操纵的对象
用法:
@ic <角色>
进入你指定的角色。
如果你有权限的话,这会将你“变成”一个不同的人物或物体。请注意,只有玩家角色才能操纵人物或物体,而且需要有正确的权限!
如果一个物体已经被其他玩家操纵,你就不能再操纵它。原则上,只要你有正确的权限,<角色>可以是游戏中的任何物体。
属于 DefaultPlayer(PlayerCmdSet)的命令集。
停止操纵对象,脱离你操纵的角色。
用法:
@ooc
脱离操纵的角色。
这会让你脱离当前角色,将你置于无实体形态的脱离角色状态。
属于 DefaultPlayer(PlayerCmdSet)的命令集。
更改你的密码
用法:
@password <旧密码> = <新密码>
更改你的密码。一定要选择安全性高的密码。
属于 DefaultPlayer(PlayerCmdSet)的命令集。
使用角色的权限,而不是玩家的权限
用法:
quell
unquell
通常,在操纵角色或物体时会使用玩家的权限来判断是否符合权限。该命令会切换锁定系统,改用操纵对象的权限而不是玩家权限。这主要在测试时派用处。
quell命令只能让权限延层级向下移动,因此玩家不能通过控制拥有更高权限的角色来提升他们的权限级别。
使用unquell命令可以恢复到正常的状态。
属于 DefaultPlayer(PlayerCmdSet)的命令集。
退出游戏
用法:
@quit
开关:
all — 断开所有游戏连接
正常断开当前的游戏连接。使用开关 /all 可以断开所有游戏连接。
属于 DefaultSession (SessionCmdSet)的命令集。
检查你的会话连接
用法:
@sessions
列出你帐户当前的会话连接。
属于 DefaultPlayer(PlayerCmdSet)的命令集。
处于脱离角色状态时的看
用法:
look
处于脱离角色状态时的看。
属于 DefaultPlayer(PlayerCmdSet)的命令集。
列出当前在线的人
用法:
who
doing
显示当前在线上的人。doing可以限制具有所有权限的人的信息。
system.py
属于 DefaultCharacter(CharacterCmdSet)的命令集。
显示Evennia的信息
用法:
@about
显示关于游戏引擎的信息。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
- 命令 = "@objects"
- 别名 = ['@listobjects', '@stats', '@db', '@listobjs']
- 锁 = "cmd:perm(listobjects) or perm(Builders)"
- 帮助类别 = "System"
- __doc__ 字符串(自动帮助):
统计数据库中对象的信息
用法:
@objects [<数量>]
列出数据库中最新<数量>个对象的统计信息。如果没有给出<数量>,则<数量>默认为10。
属于 DefaultPlayer(PlayerCmdSet)的命令集。
执行一段python代码
用法:
@py <命令>
开关:
time — 输出执行<命令>的大致时间
使用“;”分割多行命令。为了便于访问系统,已经预设了一些变量(你可以在执行时导入更多变量)。
在@py环境中可用的变量有:
self, me : 调用者
here : 调用者的位置
ev : evennia API
inherits_from(obj, parent) : 检查对象的继承情况
在游戏中你还可以调用evennia API,如ev.help()、ev.managers.help()等。
注意:如果被不怀好意的人使用,这个命令会产生严重的安全隐患,应该只提供给值得信任的服务器管理员、超级用户使用。
属于 DefaultPlayer(PlayerCmdSet)的命令集。
重新加载服务器
用法:
@reload [理由]
这会重新启动游戏服务器,接入程序不会受影响,非持久性的脚本不会被 @reload 清除(它们要用 @reset 来清除),at_reload()钩子函数会被调用。
属于 DefaultPlayer(PlayerCmdSet)的命令集。
- 命令 = "@reset"
- 别名 = ['@reboot']
- 锁 = "cmd:perm(reload) or perm(Immortals)"
- 帮助类别 = "System"
- __doc__ 字符串(自动帮助):
复位并重新启动服务器
用法:
@reset
冷重启,这就像一并执行 @reload 和 @shutdown —— 所有的 shutdown 钩子函数会被调用,非持久性脚本会被清除,服务器会自动重启,但接入程序不会受影响。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
- 命令 = "@scripts"
- 别名 = ['@listscripts', '@globalscript']
- 锁 = "cmd:perm(listscripts) or perm(Wizards)"
- 帮助类别 = "System"
- __doc__ 字符串(自动帮助):
列出、管理所有运行中的脚本
用法:
@scripts[/开关] [#数据库号, 关键字, 脚本.路径 或 <对象>]
开关:
start — 启动脚本(必须提供脚本路径)
stop — 停止现有脚本
kill — 杀掉一个脚本,不会运行其cleanup钩子函数
validate — 验证脚本
如果没有给出开关,这个命令会列出所有活动的脚本。它的参数可以是对象(这时会列出定义在该对象上的所有脚本)、脚本名称、或#数据库号。在使用 /stop 开关时需要给出唯一的脚本#数据库号,因为在全部的类中往往有同名的脚本。
使用 @script 来管理对象上的命令。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
- 命令 = "@server"
- 别名 = ['@serverload', '@serverprocess']
- 锁 = "cmd:perm(list) or perm(Immortals)"
- 帮助类别 = "System"
- __doc__ 字符串(自动帮助):
显示服务器负载和内存统计数据
用法:
@serverload
该命令会显示服务器负载统计及动态内存使用状况。
在表中有一些重要的统计信息:
Server load 是处理器的平均使用率,它通常介于0(没有使用)和1(100%使用)之间,但如果你的计算机有多个CPU内核,显示的值会更高。
Resident/Virtual memory 显示服务端进程使用的内存总量。
caches 显示Evennia缓存的数据库实体,当使用idmapper功能加载数据库时,Evennia会缓存所有检索过的数据库实体,这让Evennia可以对相同数据库实体只保存一个实例,并允许非持久性的存储方案。缓存对象的总量会显示出来,还会显示数据库对象类型故障。属性会按需缓存以提高速度。这部分缓存所用的内存会显示在 Attributes 中。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
- 命令 = "@service"
- 别名 = ['@services']
- 锁 = "cmd:perm(service) or perm(Immortals)"
- 帮助类别 = "System"
- __doc__ 字符串(自动帮助):
管理系统服务
用法:
@service[/开关] <服务>
开关:
list — 显示所有可用的服务(默认)
start — 激活或重新激活服务
stop — 停止/终止服务(通常可以重新开始)
delete — 永久删除服务
服务管理系统。可以列出、启动和停止服务。如果没有给出开关,则会列出服务。注意,管理服务时你必须给出列表中的完整名字(绿或红)。
属于 DefaultPlayer(PlayerCmdSet)的命令集。
- 命令 = "@shutdown"
- 别名 = []
- 锁 = "cmd:perm(shutdown) or perm(Immortals)"
- 帮助类别 = "System"
- __doc__ 字符串(自动帮助):
完全停止服务器
用法:
@shutdown [公告]
正常关闭服务器和接入程序。
属于 DefaultCharacter(CharacterCmdSet)的命令集。
- 命令 = "@time"
- 别名 = ['@uptime']
- 锁 = "cmd:perm(time) or perm(Players)"
- 帮助类别 = "System"
- __doc__ 字符串(自动帮助):
显示与服务器时间相关的统计数据
用法:
@time
列出与服务器时间相关的统计数据,如运行时间、当前时间等。
unloggedin.py
属于 DefaultUnloggedin (UnloggedinCmdSet)的命令集。
已废弃:这是一个系统命令 —— 它属于专供服务器在某些特定情况下调用或回退时调用的命令。
- 命令 = "__unloggedin_look_command"
- 别名 = ['look', 'l']
- 锁 = "cmd:all()"
- 帮助类别 = "General"
- __doc__ 字符串(自动帮助):
在未登录状态下的看
用法:
look
简而言之,这是在未连接状态下的“看”命令。
这个命令由服务器调用,它会踢出服务器上的所有东西。
它所做的就是显示欢迎界面。
属于 DefaultUnloggedin (UnloggedinCmdSet)的命令集。
连接到游戏
用法(在欢迎界面):
connect 用户名 密码
connect "用 户 名" "密 码"
在登录之前,先要用 create 命令创建帐户。
如果你的用户名中有空格,用引号把它括起来。
属于 DefaultUnloggedin (UnloggedinCmdSet)的命令集。
创建新的玩家账户
用法(在欢迎界面):
create <用户名> <密码>
create "用 户 名" "密 码"
这会创建新的玩家账户。
如果你的用户名中有空格,用引号把它括起来。
属于 DefaultUnloggedin (UnloggedinCmdSet)的命令集。
在未连接状态下的帮助
用法:
help
简而言之,这是未连接状态下的“帮助”命令。它会显示一张信息表。
属于 DefaultUnloggedin (UnloggedinCmdSet)的命令集。
未登录状态下的退出
用法:
quit
我们有不同版本的退出命令,简而言之,这是给未连接的玩家用的。登录后的版本要更复杂些。