- 需要插件(必装)
-
原创 - RustSB Extensions - RustSB扩展
RustSB Extensions是RustSB.COM提供的Oxide扩展DLL,提供本站插件所需的大量扩展。 部分插件必须按照本扩展才能够正常运行。 功能 UI构建扩展方法。 成长型武器判断方法。 内置物品中文名API。 内置RustSBAuth,不再需要安装RustSBAuth插件。 内置图像管理系统,不再需要安装ImageLibrary插件。 玩家库存扩展方法。 玩家权限扩展方法。 其他扩展方法。 使用本扩展构建的插件将节省插件代码的复杂性,方便开发者快速扩展和维护。...rustsb.com
- 需要插件(可选)
-
汉化 - Zone Manager - 区域管理
Zone Manager - 区域管理是用于创建和管理游戏内区域的插件。 权限 zonemanager.zone - 允许使用聊天/控制台指令。 zonemanager.ignoreflag. - 允许绕过指定标志。替换为要绕过的标志。 请确保不要盲目地授予玩家任何忽略标志的权限! 如果您不确定授予忽略标志将产生什么效果,只需查看标志的作用,并授予忽略标志权限的玩家,那么玩家就能够绕过标志的影响。 聊天指令...rustsb.com
插件介绍
一个高度自定义的确认提示UI插件,可以为各种游戏行为添加确认提示框。以便一些重要场景提示玩家,让玩家确认重要信息,在确认之前会阻止执行类型操作,保护玩家误操作和安全性。功能特点
- 支持6种不同类型的确认提示
- 可自定义UI样式和文本
- 支持每日不再提示和永久不再提示选项
- 支持点击确认按钮后的冷却时间,以便不再重复显示相同触发条件的UI
- 支持多种触发条件匹配方式
- 支持玩家设置自定义提醒内容和提醒时间
- 支持控制台指令为玩家弹出自定义UI消息


支持的确认类型
- 使用物品:物品中带有【打开】【食用】功能的,比如食物,礼盒,医疗箱
- 收集物品:捡起地上的掉落物(普通任意物品),拾取地上的实体(浆果矿石等)
- 击杀目标:写入npc短名或显示名
- 输入指令:比如当玩家输入/kit
- 获得权限:当玩家获得权限时可以提醒他权限的指令
- 进入区域:/zone_list查看区域ID
支持联动的插件
ZoneManager区域管理 | 类型6必装插件,当玩家进入指定ID的区域后弹出提示 |
XMTeleportUI·传送tpr确认UI | 当有玩家输入/tpr传送时,为目标玩家弹出UI,点击按钮即可tpa或取消 |
InGameShop·权限商店 | 设置购买金额超过XX,弹出UI提醒玩家避免误购买损失 |
VipLogo·服务器等级 | 当玩家等级达到活动页面中指定按钮等级弹出UI提醒 |
XMItemNotification·获得物品通知 | 玩家从指定容器获得指定数量指定物品时使用此UI弹窗通知全服玩家 |
配置说明
UI设置
JSON:
{
"UI设置": {
"确认按钮颜色": "0.2 0.7 0.2 1",
"取消按钮颜色": "0.7 0.2 0.2 1",
"提示框标题": "系统提示",
"文字大小": 14,
"提醒规则": [],
"标题栏颜色": {
"1.使用物品": "0.55 0.79 0.98 0.95",
"2.收集物品": "0.57 0.97 0.78 0.95",
"3.击杀目标": "0.98 0.33 0.33 0.95",
"4.输入指令": "0.21 0.33 0.99 0.95",
"5.获得权限": "0.60 0.22 0.98 0.95",
"6.进入区域": "0.94 0.75 0.26 0.95",
"7.指令提醒": "0.1 0.1 0.1 0.95" //这个是指/tixing玩家输入指令自己设置的UI提醒
}
}
}

提醒规则配置说明
每个规则包含以下属性:
JSON:
{
"类型": 1, // 提醒类型(1-6)
"触发条件": ["条件1", "条件2"], // 触发此规则的条件列表
"提示内容": "提示文本", // 显示的提示内容
"冷却时间(秒)": 300, // 点击确认按钮后多久不会再显示重复UI
"允许永久关闭": true, // 是否允许永久关闭此提示,如果允许点击复选框后永久不显示重复UI
"允许当日关闭": true // 是否允许当日关闭此提示,如果允许点击复选框后24小时内不显示重复UI
}
配置示例
JSON:
{
"UI设置": {
"确认按钮颜色": "0.2 0.7 0.2 1",
"取消按钮颜色": "0.7 0.2 0.2 1",
"提示框标题": "系统提示",
"文字大小": 14,
"提醒规则": [
{
"类型": 1,
"触发条件": [
"syringe.medical",
"bandage"
"123456789",
"987654321"
],
"提示内容": "%玩家名称%,您要使用的物品%物品名称%十分稀有,确认要使用吗?",
"冷却时间(秒)": 300,
"允许永久关闭": true,
"允许当日关闭": true,
"确认按钮文本": "我就用",
"取消按钮文本": "不用了"
},
{
"类型": 2,
"触发条件": [
"sulfur.ore",
"metal.ore",
"stone.ore",
"stone-ore",
"sulfur-ore",
"metal-ore",
"mushroom"
],
"提示内容": "%玩家名称%,您正在采集/拾取%物品名称%,请注意安全!",
"冷却时间(秒)": 300,
"允许永久关闭": true,
"允许当日关闭": true,
"确认按钮文本": "我就拿",
"取消按钮文本": "不拿了"
},
{
"类型": 3,
"触发条件": ["scientistnpc_oilrig"],
"提示内容": "%玩家名称%,您确定要攻击的目标%目标名称%血量高达1万,请确保您有足够的攻击伤害!",
"冷却时间(秒)": 600,
"允许永久关闭": true,
"允许当日关闭": true,
"确认按钮文本": "干死他!",
"取消按钮文本": "遛了遛了"
},
{
"类型": 4,
"触发条件": [
"tp",
"home",
"tpr"
],
"提示内容": "%玩家名称%,请确保不要使用此指令%指令%对玩家造成频繁骚扰,否则会有封禁风险!",
"冷却时间(秒)": 60,
"允许永久关闭": false,
"允许当日关闭": true,
"确认按钮文本": "那咋了",
"取消按钮文本": "算了"
},
{
"类型": 5,
"触发条件": ["vip.use"],
"提示内容": "%玩家名称%,恭喜您获得VIP权限!您可以使用聊天指令/kit啦!",
"冷却时间(秒)": 0,
"允许永久关闭": true,
"允许当日关闭": true,
"确认按钮文本": "好的",
"取消按钮文本": "OK"
},
{
"类型": 6,
"触发条件": ["12345678"],
"提示内容": "%玩家名称%,您正在进入突袭区域,请确保区域内没有其他玩家正在参与,否则您无法享受奖励!",
"冷却时间(秒)": 300,
"允许永久关闭": false,
"允许当日关闭": true,
"确认按钮文本": "好的",
"取消按钮文本": "OK"
}
],
"标题栏颜色": {
"1.使用物品": "0.55 0.79 0.98 0.95",
"2.收集物品": "0.57 0.97 0.78 0.95",
"3.击杀目标": "0.98 0.33 0.33 0.95",
"4.输入指令": "0.21 0.33 0.99 0.95",
"5.获得权限": "0.60 0.22 0.98 0.95",
"6.进入区域": "0.94 0.75 0.26 0.95",
"7.指令提醒": "0.1 0.1 0.1 0.95"
}
}
}
变量说明
提示内容中可以使用以下变量:- %玩家名称% - 显示玩家名称
- %物品名称% - 显示物品名称(使用物品和收集物品类型可用)
- %目标名称% - 显示NPC名称(击杀目标类型可用)
- %指令% - 显示指令名称(输入指令类型可用)
- %权限名% - 显示权限名称(获得权限类型可用)
- %区域% - 显示区域名称(进入区域类型可用)
触发条件说明
- 使用物品类型:
- 支持物品短名(shortname)
- 支持物品皮肤ID
- 支持物品ID
- 收集物品类型:
- 支持物品短名
- 支持实体短名
- 支持带点(.)和横线(-)的名称匹配
- 击杀目标类型:
- 支持NPC实体短名
- 自动获取并使用NPC显示名称
- 输入指令类型:
- 支持带斜杠(/)和不带斜杠的指令
- 支持完整指令匹配
- 获得权限类型:
- 支持权限名称匹配
- 进入区域类型:
- 支持区域ID匹配
- 需要配合ZoneManager插件使用
权限
无需特殊权限控制台命令
xmconfirmui.send {内容}
- 向所有在线玩家发送UI消息- 例:xmconfirmui.send 服务器将在5分钟后重启,请及时保存您的进度!
xmconfirmui.send {steamid} {内容}
- 向指定玩家发送UI消息- 例:xmconfirmui.send 76561198372925717 您的VIP权限已到账请查收!
- 通过控制台发送的消息UI只有确认按钮
confirmui.cleardata all
- 清空所有存档数据confirmui.cleardata permanent
- 清空永久不显示存档数据confirmui.cleardata daily
- 清空今日不显示存档数据confirmui.cleardata cooldown
- 清空默认冷却不显示存档数据confirmui.cleardata reminders
- 清空玩家设置的指令提醒数据
指令
/tixing {内容} {时间分钟}
- 例:/tixing 菜熟了快去收菜 1 - 设置一分钟后提醒自己收菜,时间到后会自动弹出UI
- 此指令没有权限,任何玩家均可使用
- 通过聊天指令发送的UI,玩家可以自己设置重复提醒

API 参数说明
XMConfirmUI插件提供了一个简单的API,允许其他插件调用确认对话框UI。以下是API的详细说明:
C#:
XMConfirmUI API 使用说明
1. 添加插件引用:
[PluginReference]
private Plugin XMConfirmUI;
2. API 方法:
ShowCustomConfirmUI(
BasePlayer player, // 要显示UI的玩家
string message, // 提示消息
Action onConfirm = null, // 确认按钮回调
Action onCancel = null, // 取消按钮回调
bool allowPermanent = true, // 是否允许永久关闭
bool allowDaily = true, // 是否允许当日关闭
int cooldown = 0, // 冷却时间(秒)
bool isReminder = false, // 是否为提醒类型
int reminderMinutes = 0, // 提醒时间(分钟)
int reminderType = 1, // 提示类型(影响UI样式)
string confirmText = null, // 确认按钮文本
string cancelText = null // 取消按钮文本
)
提示类型(reminderType)说明:
// 类型主要决定UI的标题背景颜色,取决于此插件的配置文件设置
1 = 使用物品
2 = 收集物品
3 = 击杀目标
4 = 输入指令
5 = 获得权限
6 = 进入区域
3. 使用示例:
// 基础用法
XMConfirmUI?.Call("ShowCustomConfirmUI",
player,
"确定要这样做吗?"
);
// 带回调的用法
XMConfirmUI?.Call("ShowCustomConfirmUI",
player,
"确定要删除物品吗?",
(Action)(() => {
// 点击确认时执行
player.ChatMessage("已确认");
}),
(Action)(() => {
// 点击取消时执行
player.ChatMessage("已取消");
})
);
// 完整用法
XMConfirmUI?.Call("ShowCustomConfirmUI",
player, // 玩家
"确定要进入该区域吗?", // 消息
(Action)(() => { // 确认回调
player.ChatMessage("正在进入");
}),
(Action)(() => { // 取消回调
player.ChatMessage("已取消");
}),
true, // 允许永久关闭
true, // 允许当日关闭
300, // 5分钟冷却
false, // 不是提醒
0, // 提醒时间
6, // 进入区域类型
"进入", // 确认按钮文本
"返回" // 取消按钮文本
);
4. 注意事项:
- 调用前检查插件引用是否为null
- Action回调需要显式转换类型
- 如果不需要自定义按钮文本,可以省略最后两个参数
- 冷却时间和提醒时间为0表示不启用
- allowPermanent和allowDaily控制是否显示"不再提示"选项