Shoppy Stock – 这个 rust 插件为 RUST 服务器经济引入了大量以前不可用的创新功能。
该插件可以创建多个具有不同货币的商店、具有商品列表的股票市场、高度可定制的服务器销售中心以及许多其他功能。
特征
全球的
- 超过 12 个详细的 RUST 主题 GUI 窗口。
- 写的时候考虑到了性能。所有插件操作对于服务器来说都是轻量级的。
- 高度可扩展的插件。限制你的只是你的想象力!
- 通过 PopUp API 完全可定制的 PopUp 消息。
- 命令和 API 货币管理。
- 对任何显示的消息和项目的完整语言支持。
- 无处可逃支持。
- 完整的 UI 颜色更改支持。
- NPC互动商店和股市支持。
商店
- 创建多个具有不同货币的商店。
- 通过其他经济插件的支持,轻松将您的旧货币转移到插件。
- 使用自定义图标将您的商店商品分为几类,以便于导航。
- 使用一个搜索栏搜索所有类别。
- 购买您需要的确切数量的物品。
- 完整的自定义项目支持。
- 您可以配置可转账的货币。
- 将货币转移给在线/离线玩家。
- 当货币是一种物品时,您可以将其作为虚拟货币存入商店。
- 当您关闭商店时,该页面会被保存,因此您可以轻松返回原来的位置。
- 为每个操作配置完整的权限系统。
- 每日/擦拭巾购买限制。
- 设置购买的冷却时间。
- 折扣系统。
股市
- 使用不同的货币创建多个不同的市场。
- 标记您最喜欢的项目并将其放入“收藏夹”选项卡中。
- 自动添加所有普通 RUST 项目,并能够将不需要的项目列入黑名单。
- 对所有列表进行排序以实现更好的经济管理的选项很少。
- 创建商品的销售和购买请求。
- 可配置的服务器销售价格历史记录。
- 基于权限的系统,决定一个玩家可以创建多少列表。
- 列表可以取消、退款或放回市场,无需任何费用。
- 每个市场行为的可配置税收。
- 对耐久性和植物基因等方面的附加信息支持。
- 价格滚动可以配置为在特定时间运行。
- 需求系统将根据需求增加/降低市场上物品的价格。消息需要 DiscordCore。
- 销售中心配有价格计算器,包含超过 15 个基于销售量、在线玩家等的变量。
- 股票市场经纪人。您可以授予访问银行的权限,玩家可以在其中存储服务器销售列表中提供的物品,也可以选择退款。您还可以设置提醒价格和即时出售价格,即使您离线,这也会执行弹出窗口或即时出售您的银行资源。
- 自定义类别和完整的自定义项目支持。
- 可配置的 Web API 供您的服务器开发人员使用,或者在您离线时检查商品价格。需要网络服务器。
- 服务器技术人员的统计模块可以更轻松地进行经济设置。
依赖关系
必需的
- 图片库
- 弹出API
选修的
- 兑换存储 API – 如果您启用了市场,则需要
- Discord Core – 如果您启用了 Discord 消息,则需要
- 经济学 – 可选货币支持
- ServerRewards – 可选货币支持
- 无处可逃
- 人类NPC
权限
下面列出的权限是静态的,无法更改。配置文件提供了数百种可能的权限。
- shoppystock.admin – 允许访问货币管理命令。
命令
所有命令都可以完全自定义。这是默认命令的列表。
- /market /shop /s /m – 打开 Shoppy Stock UI。
- /list – 打开在 RP 股票市场中创建卖出请求的窗口。
- /sell – 打开在 RP 股票市场上出售物品的窗口。
- curr – 管理命令。运行此命令时将提供完整的用法说明。(聊天和控制台命令)
- updateprices <shopName> – 强制更新商店的股票价格。(聊天和控制台命令)
帮助页面
由于该插件提供了广泛的功能,对于某些用户来说,在没有指导的情况下配置某些方面可能会很困难。因此,我们在下面提供了一个简短的演练。
配置文件
该插件非常广泛,导致配置文件被分成三个不同的文件,其中两个文件因每个商店而异。
首先,在您的 Oxide/config 文件夹中,您将找到默认配置文件,其中包含添加或删除更多商店和股票市场的所有基本配置行。 最后,UserData 包含每个商店玩家的货币、用户名和每日/擦除购买的数据。
其次,在ox/data/ShoppyStock文件夹中,您会发现三个文件夹。
第一个是商店,其中包含主配置文件中创建的每个商店的所有配置。
第二个是 StockMarket,其中包含几个文件夹,其中包含所有与股票相关的内容。稍后将提供更多相关信息。
StockMarket 文件夹
在StockMarket 文件夹中,您最多可以找到六个文件夹,分别是AlertData、Config、FavouriteData、PlayerData、PriceCache 和Statistics。
AlertData 文件夹包含有关玩家设置的警报和即时销售价格的数据。
Config 文件夹包含每个可用股票市场的所有配置文件。
FavouriteData 文件夹保存玩家标记的收藏夹项目的数据。
PlayerData 文件夹包含所有买入/卖出请求及其银行的数据。
PriceCache 文件夹包含当前商品价格的所有必要数据及其图表运行的价格/销售历史记录的缓存。该文件的大小取决于您的时间线的长度。
最后,统计文件夹包含所有玩家在市场上收集的所有统计数据,分为全局/玩家值,并进一步分为所有时间/每日操作。这些值应帮助您了解服务器上正在出售的资源数量,并证明您的默认销售金额计算或价格计算器是合理的。
服务器销售物品 → 默认销售金额计算 (DSAC)
默认销售金额计算 (DSAC) 是确定给定期间内销售的物品数量的关键组件。
它反映了该时期所有玩家的平均物品销售量。
例如,在平均在线人数为20-30人的PvE x10服务器中,出售的木材数量可以设置为1800000。
但是,这个值只是一个示例,不建议您仅以此为基础进行配置。
一个好的股市需要时间和努力。
Web API
该插件提供了 Web API 功能,使您能够通过网站查看市场价格。
要激活此功能,您需要支持 PHP 的网站托管并下载提供的名为 apiupdate.php 的 PHP 文件。
它应该放置在与“Web Price API – 链接”指向的同一目录中。
虽然有经验的用户可以出于安全原因更改文件名,但他们也应该记住修改插件代码。
确保该文件具有足够的权限来创建输出 api.html 文件(可以在 PHP 文件中更改该文件的目录)。
如果配置正确,输出应可在 <Web Price API – Link>/api.html 中找到。
始终按小时分钟运行计时器
始终按小时分钟运行计时器”功能设置计时器开始滚动股票市场价格的时间。
例如,如果值设置为 0、30 和 60,计时器将开始按小时或半小时(x:00 或 x:30)滚动价格。
同样,如果值为 0、20、40 和 60,计时器将按小时或每隔 20 分钟(x:00、x:20 或 x:40)开始滚动价格。
股票市场 – 默认类别
股票市场包含 4 个默认类别。
有时您想在打开股市时首先显示它们。以下是它们的配置使用代号:
- 我的列表
- 银行管理
- 收藏夹
- 所有项目
股票市场 – 类别图标
这些选项的格式如下:“config/rust 默认类别名称”:“URL”。
股票市场 – 自定义项目信息语言键
对于自定义项目,可以在列表中创建自定义信息标签,类似于克隆的工具条件或遗传信息。
您可以为某些类型的物品添加自己的标签,例如“升级原料”。
股票市场 – 退款存储名称
需要在 RedeemStorageAPI 中创建具有此名称的存储。
否则,某些操作中的项目可能会消失,并且插件将生成错误。
自定义项目列表
在股票市场中配置的所有项目都必须具有精确的密钥格式。
正确的格式是:<短名称>-<skinId>。
例如,skinId 为 2497693972 的金属胸甲的密钥将为“metal.plate.torso-2497693972”。
使用所有原版项目生成商店配置
转到ox / config /文件夹中的主插件配置,并在要添加所有原版项目的商店部分中搜索 配置生成 – 使用所有默认项目生成并将其设置为true。
毕竟,转到Oxide/data/ShoppyStock/Shops/并删除所需的商店 JSON 文件并重新加载插件。
该插件应该生成一个包含所有普通 RUST 项目的新配置。
商店商品 – 命令
命令支持 2 种类型的变量。
- {userId} – 将替换为买家的 steamId。
- {userName} – 将替换为买家的昵称。
社区问答
面向开发者的 API
- int GetCurrencyAmount(string shopName, BasePlayer player) – 返回玩家的余额。如果没有找到返回0。
- int GetCurrencyAmount(string shopName, ulong userId) – 返回玩家的余额。如果没有找到返回0。
- bool TakeCurrency(string shopName, BasePlayer player, int amount) – 获取玩家货币。如果采用则返回 true,如果未采用则返回 false。
- bool TakeCurrency(string shopName, ulong userId, int amount) – 获取玩家货币。如果采用则返回 true,如果未采用则返回 false。
- void GiveCurrency(string shopName, ulong sellerId, int amount) – 给予玩家货币。
- string FormatCurrency(string shopName, BasePlayer player) – 返回玩家的格式化余额。