- 需要插件(必装)
-
- 需要插件(可选)
-
原创 - DWWeapon - 成长型武器
DWWeapon 是一个强大、高度可自定义、精美的武器强化系统,玩家可以通过击杀玩家、NPC来获得武器经验值,也可以使用强化石获得经验、等级和其它武器增益。可在配置文件中添加普通武器,也可以指定皮肤ID进行强化。rustsb.com
原创 - DWAttire - 成长型服饰
DWAttire 是一个强大、高度可自定义、精美的服饰强化系统,玩家可以通过击杀玩家、NPC或收集资源来获得服饰经验值,也可以使用强化石获得经验、等级和其它增益。可在配置文件中添加普通服饰,也可以指定皮肤ID进行强化。 插件功能 让游戏中的服饰成为成长型服饰: 成长型服饰除了具有基础增益外还支持设置每升一级增加X的增益数值。 成长型服饰可以通过击杀玩家/NPC/动物来获得经验并升级。 成长型服饰可以通过收集资源时的最后一次暴击获得经验并升级。...rustsb.com

支持限制玩家上架数量,收取交易手续费。可根据权限提供额外的上架数量和更低的交易手续费。
支持禁止玩家上架指定物品或指定皮肤的物品。
支持保存耐久、配件、子弹甚至农作物基因等重要的物品信息。
插件功能
- 带有精美UI的玩家交易市场系统,自适应布局+自适应滚动视图。基于RustSBDLL的UI圆角。
- 支持多种货币系统。
- 完善的权限系统。
- 支持设置不同权限玩家的上架数量限制。
- 支持设置不同权限玩家的交易税率。
- 灵活的价格控制系统。
- 支持设置全局最低上架价格。
- 支持为特定物品设置不同货币的最低价格。
- 支持为特定皮肤设置价格限制。
- 支持通配符"*"设置通用限价。
- 强大的市场管理功能。
- 支持禁止特定物品上架(按短名称)。
- 支持禁止特定皮肤上架(按皮肤ID)。
- 支持禁止成长型武器/服饰上架(DWWeapon/DWAttire)。
- 支持为特定物品设置显示标签和颜色。
- 完整的交易流程。
- 玩家可上架自己的物品到市场。
- 其他玩家可浏览和购买市场商品。
- 支持多种货币类型的交易。
- 自动处理税收扣除和货币转移。
- 详细的日志记录系统。
- 记录所有交易活动到文件。
- 便于管理员追踪和审计交易记录。
- 多处针对性优化,确保交易安全和稳定性。
默认配置文件
JSON:
{
"基础设置": {
"UI标题": "<b>RustSB - 玩家交易市场</b>",
"聊天指令": "sc",
"启用日志记录文件": true,
"日志输出到控制台": true
},
"权限设置": {
"玩家默认可上架商品数量": 10,
"可上架商品数量权限(权限名:数量)": {
"dwmarket.vip": 5,
"dwmarket.premium": 10,
"dwmarket.admin": 50
},
"玩家默认出售价格税(1=100%)": 0.05,
"玩家价格税权限(权限名:税率)": {
"dwmarket.vip": 3.0,
"dwmarket.premium": 1.0,
"dwmarket.admin": 0.0
}
},
"上架设置": {
"最低上架价格": 100,
"物品限价(物品短名称:货币ID:最低价格)": {
"rifle.ak": {
"*": 3000,
"Economics": 5000
},
"rifle.lr300": {
"*": 5000,
"scrap": 8000
},
"pistol.python": {
"*": 1500
},
"smg.thompson": {
"*": 2000
},
"metal.refined": {
"*": 2
},
"wood": {
"*": 1
},
"stones": {
"*": 1
}
},
"皮肤限价(皮肤ID:货币ID:最低价格)": {
"12345": {
"*": 3000,
"Economics": 5000
},
"233242": {
"*": 5000
},
"321311": {
"*": 1500
}
},
"禁止上架的物品(短名称)": [
"autoturret",
"flameturret",
"guntrap",
"landmine",
"bear.trap"
],
"禁止上架的物品(皮肤)": [
123,
234,
345,
456
],
"禁止在市场上架成长型武器": false,
"禁止在市场上架成长型服饰": false,
"物品标签设置": [
{
"物品短名称": "ducttape",
"物品皮肤ID": 2433594063,
"显示标签内容": "强化石",
"显示标签颜色": "#2175f3"
}
]
},
"货币设置": {
"启用Economics": true,
"Economics余额名称": "硬币",
"Economics图标URL": "https://img.rustsb.com/rustsb/plugins/Icons/Common_Coin.png",
"启用ServerRewards": true,
"ServerRewards余额名称": "钻石",
"ServerRewards图标URL": "https://img.rustsb.com/rustsb/plugins/Icons/Common_Diamond.png",
"物品货币设置": [
{
"启用该货币": true,
"货币ID": "blood",
"物品货币名称": "血袋",
"物品短名称": "blood",
"物品皮肤ID": 0
},
{
"启用该货币": true,
"货币ID": "scrap",
"物品货币名称": "废料",
"物品短名称": "scrap",
"物品皮肤ID": 0
}
],
"其它插件设置": [
{
"启用该方法": true,
"货币ID": "DWGachaFreeGem",
"插件名称": "DWGacha",
"查询余额Hook": "CheckFreeGem",
"添加余额Hook": "AddFreeGem",
"扣除余额Hook": "TakeFreeGem",
"货币名称": "抽卡水晶:免费",
"图标URL": "https://img.rustsb.com/rustsb/plugins/Icons/DWGacha_FreeGem.png"
},
{
"启用该方法": true,
"货币ID": "DWGachaPaidGem",
"插件名称": "DWGacha",
"查询余额Hook": "CheckPaidGem",
"添加余额Hook": "AddPaidGem",
"扣除余额Hook": "TakePaidGem",
"货币名称": "抽卡水晶:付费",
"图标URL": "https://img.rustsb.com/rustsb/plugins/Icons/DWGacha_PaidGem.png"
}
]
}
}
▸ 基础设置
- UI标题:市场界面显示的标题文字。
- 聊天指令:玩家在聊天中输入的指令来打开市场界面。
- 聊天提示前缀:插件发送聊天消息时的前缀。
- 启用日志记录文件:是否将交易日志记录到文件中。
- 启用后日志文件将记录至
oxide/logs/DWMarket/
文件夹内。
- 启用后日志文件将记录至
- 日志输出到控制台:是否将交易日志同时输出到服务器控制台。
▸ 权限设置
- 玩家默认可上架商品数量:没有特殊权限的玩家默认可上架的商品数量。
- 可上架商品数量权限(权限名:数量):不同权限对应的上架数量限制。
- 权限优先级:拥有多个权限时,取最高数量。
- 玩家默认出售价格税(1=100%):默认税率(0.05 = 5%)。
- 玩家价格税权限(权限名:税率):不同权限对应的税率。
- 权限优先级:拥有多个权限时,取最低税率。
▸ 上架设置
- 最低上架价格:所有商品的基础最低价格。
- 物品限价(物品短名称:货币ID:最低价格):特定物品的最低价格限制。
- 支持通配符*表示所有货币类型。
- 特定货币ID优先级高于通配符。
- 皮肤限价(皮肤ID:货币ID:最低价格):特定皮肤的最低价格限制。
- 禁止上架的物品(短名称):不允许在市场上架的物品短名称列表。
- 禁止上架的物品(皮肤):不允许在市场上架的皮肤ID列表。
- 禁止在市场上架成长型武器:是否禁止玩家上架DWWeapon成长型武器。
- 禁止在市场上架成长型服饰:是否禁止玩家上架DWAttire成长型服饰。
- 物品标签设置:为特定物品设置显示标签。
- 物品短名称:目标物品的游戏内短名称。
- 物品皮肤ID:目标物品的皮肤ID。
- 显示标签内容:在UI中显示的标签文字。
- 显示标签颜色:标签的颜色。
▸ 货币设置
- 启用Economics:是否启用Economics插件货币支持。
- 在配置中使用的ID为
Economics
。
- 在配置中使用的ID为
- Economics余额名称:Economics货币的显示名称。
- Economics图标URL:Economics货币在UI中的图标URL。
- 启用ServerRewards:是否启用ServerRewards插件货币支持。
- 在配置中使用的ID为
ServerRewards
。
- 在配置中使用的ID为
- ServerRewards余额名称:ServerRewards货币的显示名称。
- ServerRewards图标URL:ServerRewards货币在UI中的图标URL。
▾ 物品货币设置
使用游戏内物品作为货币的设置。
- 启用该货币:是否启用该货币。
- 货币ID:该货币的唯一ID,不可重复。
- 物品货币名称:货币的显示名称,在UI中显示。
- 物品短名称:作为货币的物品短名称。
- 物品皮肤ID:作为货币的物品皮肤ID(0表示无皮肤)。
▾ 其他插件设置
集成其他经济插件的设置。
- 启用该方法:是否启用该货币。
- 货币ID:该货币的唯一ID,不可重复。
- 插件名称:自定义经济插件的名称(不包含.cs)。
- 查询余额Hook:查询玩家余额的API方法名。
- 添加余额Hook:给玩家添加余额的API方法名。
- 扣除余额Hook:从玩家扣除余额的API方法名。
- 货币名称:货币的显示名称。
- 图标URL:货币在UI中的图标URL。
插件截图





Hook
C#:
//玩家上架物品前检查
string CanPlayerDWMarketSell(BasePlayer player, string shortname, ulong skinId, int amount, int price, string coinType)
{
//如果返回非null值,则阻止上架并显示返回的消息(string)
return "阻止上架";
}
//玩家成功上架物品
void OnPlayerDWMarketSell(BasePlayer player, string shortname, ulong skinId, int amount, int price, string coinType, string itemId)
//-----------------
//玩家购买物品前检查
string CanPlayerDWMarketBuy(BasePlayer player, string shortname, ulong skinId, int amount, int price, string coinType, string itemId, ulong sellerId)
{
//如果返回非null值,则阻止购买并显示返回的消息(string)
return "阻止购买";
}
//玩家成功购买物品
void OnPlayerDWMarketBuy(BasePlayer player, string shortname, ulong skinId, int amount, int price, string coinType, string itemId, ulong sellerId, int taxPrice)
//-----------------
//玩家下架物品前检查
string CanPlayerDWMarketRemove(BasePlayer player, string shortname, ulong skinId, int amount, int price, string coinType, string itemId)
{
//如果返回非null值,则阻止下架并显示返回的消息(string)
return "阻止下架";
}
//玩家成功下架物品
void OnPlayerDWMarketRemove(BasePlayer player, string shortname, ulong skinId, int amount, int price, string coinType, string itemId)
//-----------------
//玩家提取库存物品前检查
string CanPlayerDWMarketTake(BasePlayer player, string shortname, ulong skinId, int amount, string itemId, int itemState)
{
//如果返回非null值,则阻止提取物品并显示返回的消息(string)
return "阻止提取";
}
//玩家成功提取物品
void OnPlayerDWMarketTake(BasePlayer player, string shortname, ulong skinId, int amount, string itemId, int itemState, string actionType)
//-----------------
//玩家提取库存货币前检查
stringCanPlayerDWMarketTakeCoin(BasePlayer player, string coinId, int balance, string coinName)
{
//如果返回非null值,则阻止提取货币并显示返回的消息(string)
return "阻止提取";
}
//玩家成功提取物品
void OnPlayerDWMarketTakeCoin(BasePlayer player, string coinId, int balance, string coinName)