要像上图一样同时监控多个账号的状态,参考以下方法:
使用本帖附带的 websocket 插件
在某一个角色都加载的脚本中,构建一个 overview 函数,并通过调用插件的 sendOverview 方法注册到插件中。示例如下:
from pymud import IConfig
class AExampleOfOverview(IConfig):
def __init__(self, session, *args, **kwargs):
ws = self.session.getGlobal("ws")
if ws and hasattr(ws, "sendOverview"):
ws.sendOverview(self.session, self.overview)
# 此函数为关键,返回一个dict,key会作为websocket显示状态的表头,内容在下面
def overview(self):
data = dict()
data["角色"] = (
f"{self.session.getVariable('name', 'none')}({self.session.getVariable('id', 'id')})"
)
# fullme time
fullme = int(self.session.getVariable("%fullme", 0))
delta = time.time() - fullme
data["FM"] = int(delta // 60)
data["发呆"] = int(self.session.idletime // 60)
data["位置"] = (
f"{self.session.getVariable('city', '未知地域')}{self.session.getVariable('room', '未知房间')}"
)
data["任务"] = self.session.cmds["jobmanager"].currentJob
data["状态"] = self.session.cmds["jobmanager"].currentStatus
data["忙闲"] = "忙" if self.session.getVariable("is_busy", False) else "闲"
data["战斗"] = self.session.getVariable("is_fighting", False)
return data
以下是插件最新版本
websocket.2.0.5.zip