Pulse Phone 文档
安装细节
1. 快速安装
复制任何东西之前
使用满足下列要求的服务器 artifact,开启 OneSync,游戏版本 2699 或更新。对于普通的角色扮演服务器,请先确保框架、背包、oxmysql、语音资源和 screenshot-basic 正常运行。Standalone 没有框架也能运行;那种情况下背包物品是可选的。
领取购买后,从你的 Cfx.re 账户下载资源。使用属于拥有该资源的账户的服务器密钥。如果 Cfx.re 报告授权(entitlement)错误,请修正账户与密钥的关联;修改手机设置无法授予授权。
第 1 步 — 把资源放进服务器
解压安装包,把 phone 资源文件夹(其中包含 fxmanifest.lua)复制到服务器的 resources 目录中。不要重命名,也不要用外层的 ZIP/安装包文件夹代替它。
在托管服务器上,请用 Binary 模式上传,或上传 zip 后在服务器上解压(原因)。快速入门(第 2 步)列出了此版本每个文件夹的文件数和大小,启动检查会指出任何缺失或大小不对的文件。
测试 Pulse 之前,先停止你之前的手机资源,避免两部手机争抢同一个按键和物品。如果打算之后导入数据,请先备份。
第 2 步 — 添加背包物品
选择你现有的背包;不需要替换它。
| 你的背包 | 需要的操作 |
|---|---|
| ox_inventory | 打开提供的 config/items/ox_inventory.lua。把其中的条目合并到 ox_inventory/data/items.lua 现有的表内。不要替换背包的整个文件。保留 ox_inventory 自带的 phone 条目:使用它会打开 Pulse Phone,启动检查的 Phone item 一行会确认这一点。只有当这一行显示它打开的是其他脚本时,才用打印的条目替换它。把图片从 config/items/images/ 复制到 ox_inventory/web/images/。编辑后重启服务器。 |
| qb-inventory 搭配 QBCore | 缺失的物品定义会在启动时自动注册。把 config/items/images/ 复制到 qb-inventory/html/images/。如果你的背包需要永久的共享条目,提供的 config/items/qb-core.lua 可直接合并到 qb-core/shared/items.lua 中。 |
| ESX 默认背包 | 缺失的物品会自动添加。如果控制台要求重启,请重启一次,让 ESX 读取它们。如果你的数据库账户无法添加,请使用 config/items/esx.sql。 |
| qs-inventory 或其他受支持的背包 | 按照物品和背包中你所用背包的那一行操作。使用它自己的物品列表和图片文件夹。 |
| 没有背包的 standalone | 不需要背包条目。保持物品要求关闭。 |
启动检查会识别缺失的条目,只打印你仍需要的定义。像 ox_inventory 这样在启动时加载物品定义的背包,需要上述条目;Pulse 不会覆盖其他资源的文件。
第 3 步 — 检查主配置
打开 config/config.lua。默认值会识别你现有的环境:
Config.Framework = 'auto'在现有的 inventory = 'auto' 保持不变,它位于 Config.Providers 表中。如果你运行了多个背包资源,请把这个值设为你打算使用的背包,例如 'ox_inventory'。不要在文件底部再添加第二个 Config.Providers 或 Config.Item 表。
在现有的 Config.Item 表中选择手机的工作方式:
| 设置 | 作用 |
|---|---|
required = false, unique = false |
每个角色无需携带物品就有一部手机。适合第一次测试。 |
required = true, unique = false |
角色需要一个 phone 物品才能打开自己的手机。把这个物品送人不会转移其数据。 |
unique = true |
每个手机物品都有自己的号码和数据。转交物品就会转交那部手机。需要 ox_inventory、qb-inventory、qs-inventory、core_inventory 或 codem-inventory。 |
name = 'phone' |
背包物品名称。除非你同时修改了提供的物品定义,否则保持不变。 |
唯一手机跟随所选的背包桥接。保持 Config.Item.inventory = 'auto';这个旧的覆盖项只用于现有的进阶安装。Config.Providers.inventory 在明确设置时优先。
不要在现有服务器上修改 Config.IdentityScope。默认值 'character' 会让不同角色的手机彼此分开。
可选:背包手机和付费服务
要让每部手机都需要单独的手机物品,请在添加背包条目后,设置 required = true 和 unique = true,写在 Config.Item 现有的表内,位于 config/config.lua。请使用上面列出的支持唯一手机的背包之一。
要出售手机服务,请在同一个文件中设置 Config.Carrier.enabled = true。这会启用 Carrier 应用,玩家在其中购买套餐。新手机需要先有套餐,才能使用普通通话、消息和移动数据类应用。App Hub 是玩家安装应用的地方,不是购买服务的商店。如果还想要信号覆盖区域,请设置 Config.Coverage.enabled = true。信号覆盖和付费套餐是两个独立的选项;不想要哪个功能,就保持它关闭。
请编辑现有设置,而不是添加重复的表。保存后重启服务器。如果之前在游戏内保存过某项设置,请在 Settings → Server 中重置该设置,让文件中的值生效。
第 4 步 — 在 Pulse 之前启动依赖
保留你现有的数据库连接和框架设置。只添加缺失的行;不要启动任何依赖的第二份副本。
对你服务器上已安装的资源使用以下顺序:
- 数据库资源及其现有的连接设置。
- 框架及其所需的库、身份和角色资源。
- 背包,使用该背包针对你框架的配置。
- 一个受支持的语音资源和
screenshot-basic。 ensure phone.
不要只为了 Pulse 去安装 ESX、QBCore 或另一个背包。在你的框架中选择你现有的环境,查看对应的启动顺序示例。即使有其他资源使用 Qbox 的 QBCore 兼容导出函数,Qbox 也会被识别为 Qbox。
要获得 Pulse 管理员权限,请添加 add_ace group.admin phone.admin allow。你的管理员账户必须已属于 group.admin,该权限才会生效。
第 5 步 — 阅读首次启动检查
重启服务器。SQL 连接可用时,Pulse 会打印启动报告,并自动创建数据表。
- FIX / FAIL:某个必需部分无法工作。在让玩家使用之前,请按修正说明操作。
- NOTE / WARN:看清受影响的是哪个功能;有些警告描述的是你尚未配置的可选功能。
- 在服务器控制台运行
phone:health可再次检查。 - 运行
phone:diag查看所选的框架/背包/提供方。 - 以管理员身份进入,打开 F8,运行
phone:setup进入现有的引导式设置。
在游戏内管理员设置中保存的设置会覆盖文件中对应的设置。如果文件修改似乎被忽略了,请先检查 Settings → Server 并重置已保存的覆盖值,再继续修改文件。
第 6 步 — 以玩家身份测试
- 载入角色,按 F1,完成手机设置。如果开启了物品要求,请先从商店购买手机,或给角色配置好的手机物品。
- 如果你购买的是密封盒,请从背包中使用盒子来开箱,然后完成设置。手机到手即为开机状态;如果设置了
Config.Device.arrivesOn = false,请先按住 End 或 O。 - 打开 Messages、Contacts 和 Phone。回到主屏幕,打开应用切换器,依次关闭每个应用。
- 拍一张照片和一段短视频。在 Photos 中打开它们,关闭并重新打开手机,确认它们还在。
- 重新连接,检查同一个角色是否还是同一部手机。用你安装的语音资源与第二名玩家测试通话。
在哪里修改
| 你想修改的内容 | 文件或位置 |
|---|---|
| 框架、背包提供方、手机物品、商店、模型、按键绑定 | config/config.lua |
| 语音提供方 | config/config.lua |
| 应用和服务/职业设置 | config/apps.lua |
| 背包条目和图片 | config/items/ |
| 数据库连接、资源启动顺序、媒体托管凭据 | server.cfg(私密凭据保留在服务端) |
| 开发者集成 | 进阶集成、可选的开发者工具包(zerodevscripts.com/downloads/PulsePhone-developer-kit.zip)以及现有的 bridge/ 文件;正常安装无需编辑这些 |
| 使用内置存储的玩家照片/视频 | media/;更新时请保留此文件夹 |
下面各节是详细的参考说明。完成首次安装不需要读完每项功能设置。