用户:
翎with珝查看:0 回复:8 评论:0 创建时间:2023-02-03T17:54:51
看代码就彳亍了(
看不懂看注释(
↓ ↓ ↓ 以下是代码 ↓ ↓ ↓
//管喵
var admin = [
'甲',
'乙',
'丙',
'丁'
]
//权限申请者名称
var pr_name = []
//权限申请原因
var pr_whys = []
//权限申请结果
var pr_oc = []
//权限申请审核员
var pr_admin = []
//玩家进入地图
world.onPlayerJoin(async ({ entity }) => {
//账号限制(opa:账号行为权)
if (entity.player.boxId == "") {//boxId为空值
entity.player.opa = false;//禁用行为
//弹出窗口
entity.player.dialog({
type: Box3DialogType.TEXT,
content: `检测到你的账号为游客账号\n已对你的行为禁用`,
});
} else if (entity.player.boxId.startsWith('code')) {//boxId前四位是code
entity.player.opa = false;//禁用行为
//弹出窗口
entity.player.dialog({
type: Box3DialogType.TEXT,
content: `检测到你的账号疑似体验号\n已对你的行为禁用\n你可以向管喵索要权限`,
});
} else {//以上条件都不符合的
entity.player.opa = true;//启用行为
};
});
//玩家按下安静
world.onPress(async ({ entity, button }) => {
if (button == Box3ButtonType.ACTION1) {//按下了右键(B)
if (entity.player.crouchButton) {//还蹲下了
//弹出菜单栏
let ops = admin.includes(entity.player.name) ? ["管喵权限"] : ["索要权限"];
let choice = await entity.player.dialog({
type: Box3DialogType.SELECT,
title: "控制面板",
content: "请进行你的操作",
options: ops,
});
if (!choice) return;
if (choice) {
if (choice.value == "索要权限") {//如果选择的是"索要权限"
let sq_name = entity.player.name;//将申请人名设为玩家名字
//给所有管喵声明
world.querySelectorAll("player").forEach((e) => {
if (admin.includes(e.player.name)) {
e.player.directMessage(`请暂时不要离开\n即将有无行为权限账号申请权限`);
};
});
//给申请权限的人弹出窗口
//让申请权限的人输入申请理由
let sqly = await entity.player.dialog({
type: Box3DialogType.INPUT,
title: "索要权限",
content: "请输入索要理由",
placeholder: "理由",
confirmText: "确认",
})
if (!sqly) return;
if (sqly) {
pr_name.push(sq_name);//将申请的玩家加入历史申请者名单
pr_whys.push(sqly);//将理由加入历史申请理由
//遍历所有玩家
world.querySelectorAll("player").forEach(async (e) => {
//玩家是管喵
if (admin.includes(e.player.name)) {
//给管喵弹出审核窗口
let sq = await e.player.dialog({
type: Box3DialogType.SELECT,
title: "申请页面",
content: `来自${sq_name}的申请:\n申请原因:\n${sqly}`,
options: ["通过", "劝返"]
});
if (!sq) return;
//管喵通过审核
if (sq.value == "通过") {
//将当前审核设为审核的管喵
let shy_name = e.player.name
//审核状态设为"通过"
pr_oc.push('通过')
//将审核的管喵加入历史审核管喵
pr_admin.push(shy_name)
//再次遍历所有玩家
world.querySelectorAll("player").forEach(async (e) => {
//如果玩家名为申请的玩家名
if (e.player.name == sq_name) {
//给申请的玩家弹出窗口
await e.player.dialog({
type: Box3DialogType.SELECT,
title: "审核详情",
content: `你已通过了审核\n审核员:${shy_name}`,
})
e.player.opa = true//将行为设为允许
} else if (admin.includes(e.player.name) && e.player.name !== shy_name) {//如果玩家名是某管喵的名字,且不是审核的管喵
e.player.cancelDialogs();//关闭管喵打开的所有窗口
//提示审核已被通过
await e.player.dialog({
type: Box3DialogType.SELECT,
title: "审核页面",
content: `@${sq_name} 的审核申请已被管喵 @${shy_name} 通过`,
});
};
});
} else if (sq.value == "劝返") {//管喵没有通过审核
//将当前审核设为审核的管喵
let shy_name = e.player.name
//审核状态设为"劝返"
pr_oc.push('劝返')
//将审核的管喵加入历史审核管喵
pr_admin.push(shy_name)
//再次遍历所有玩家
world.querySelectorAll("player").forEach(async (e) => {
//如果玩家名为申请的玩家名
if (e.player.name == sq_name) {
//给申请的玩家弹出窗口
await e.player.dialog({
type: Box3DialogType.SELECT,
title: "审核详情",
content: `你未通过审核\n审核员:@${shy_name}`,
});
} else if (admin.includes(e.player.name && e.player.name !== shy_name)) {//如果玩家名是某管喵的名字,且不是审核的管喵
e.player.cancelDialogs();//关闭管喵打开的所有窗口
//提示审核被劝返
await e.player.dialog({
type: Box3DialogType.SELECT,
title: "审核页面",
content: `@${sq_name} 的审核申请已被管喵 @${shy_name} 劝返`,
});
};
});
};
};
});
};
} else if (choice.value == "管喵权限") {//如果选择的是"管喵权限"
//弹出窗口
let pr_detail = await entity.player.dialog({
type: Box3DialogType.SELECT,
title: "权限管理",
content: "请进行你的操作",
options: ["权限申请详情"],
});
if (pr_detail) {
//如果玩家选择的是"权限申请详情"
if (pr_detail.value == "权限申请详情") {
//弹出窗口
let pr_det = await entity.player.dialog({
type: Box3DialogType.SELECT,
title: "权限申请详情",
content: "请选择你要查看的权限申请详情",
options: pr_name,
})
if (!pr_det) return;
if (pr_det) {
//根据玩家的选择项目
//查找对应的数据
entity.player.dialog({
type: Box3DialogType.TEXT,
title: "权限申请详情",
content: `${pr_name[pr_det.index]}的申请\n申请原因:\n${pr_whys[pr_det.index]}\n审核情况:${pr_oc[pr_det.index]}\n审核员:${pr_admin[pr_det.index]}`,
});
};
};
};
};
};
};
};
});
凑合看看(