重要提示:通过管理密码进入服务器的都是高级管理员权限。设置了低、中级管理员权限以后,对应管理员直接进入服务器后自动获得对应的低等级管理员权限。
原版的管理员mod提供了设置不同等级管理员的权限的功能,但是无法通过游戏内设置更改,必须更改.py源码或者是.txt文件。中文站置顶的扩展包也含有这一功能,可通过修改txt设置权限,但是由于没有源码难以自定义权限。
使用module system修改管理员权限的方法是:module_scripts.py 54427行开始,有用占位符代替的UID,例如:
(this_or_next|eq,":player_uid",777777777777),
将要修改的管理员的权限替换777……,然后编译并替换开服包内文件即可。如果修改scripts.txt文件,则用搜索找到那一串7并予以替换。提示:7.8.9代替的UID分别是低、中、高级权限管理员。
注意,默认条件下,高级管理员才能使用管理员mod高级功能,例如加钱、回血等,中高级管理员才能使用管理员面板修改地图等。下面举例说明如何修改权限:
module_scripts.py 第10164行规定了哪些管理员可以打开管理面板。有如下代码:
(this_or_next|player_slot_eq,":player_no",adimi_tool_admin_level_mid,1),
(this_or_next|player_slot_eq,":player_no",adimi_tool_admin_level_high,1),
为使低级管理员可以打开面板,需添加:
(this_or_next|player_slot_eq,":player_no",adimi_tool_admin_level_low,1),
以上是在服务器端添加了权限。还需要修改客户端,使用户可以在菜单项中找到管理员面板。
module_presentation.py7732行,有如下代码
(neg|player_slot_eq,":my_player_no",adimi_tool_admin_level_low,1),
neg的意思就是不等于,不是低级管理员才能执行下面代码产生管理员面板那个按钮。将这一行用#注释掉即可。
这只是一个例子,因为经过上述修改之后低级管理员仍然只能查看面板,无法做出任何修改。为赋予这些权限,需要针对每一项权限改代码,非常麻烦。但是,可以就ban人、踢人等个别权限进行类似的设置,还是比较方便的。
例子2:取消低级管理员的ban人权限:
首先在scripts中修改服务器端程序,不再赘述。
然后module_presentation.py 7738行处有代码:
(create_button_overlay, "$g_presentation_obj_escape_menu_9", "str_ban_player", 0),
(overlay_set_color, "$g_presentation_obj_escape_menu_9", 0xFFFFFF),
修改为
(try_begin),
(neg|player_slot_eq,":my_player_no",adimi_tool_admin_level_low,1),
(create_button_overlay, "$g_presentation_obj_escape_menu_9", "str_ban_player", 0),
(overlay_set_color, "$g_presentation_obj_escape_menu_9", 0xFFFFFF),
(try_end),
即添加了一个条件判断,不允许低级管理员的客户端上显示这个按钮。
需要注意的是,修改客户端程序之后要把你修改之后编译的文件发给玩家,让他们覆盖自己文件夹里的文件才能生效。如果是取消权限后没覆盖本地文件,那么对应管理员将可以按下对应按钮而不会有任何反应。
总结:修改管理员权限要同时修改管理员自己的面板和服务器端判断程序。善用搜索功能搜索adimi_tool_admin_level可以发现更多可供编辑的权限。
如果觉得《骑砍自建服务器 骑砍服务器开服与维护完全教程》对你有帮助,请点赞、收藏,并留下你的观点哦!