Pulse Phone 文档

框架

适用于 Pulse Phone 1.4.2阅读约 8 分钟更新于

3. 按你的框架分步操作

手机会自己找到你的框架:es_extended、qb-core、qbx_core、ox_core、ND_Core、vrp 或 TMC 的 core。只有当同时运行多个框架,或使用自定义框架时,才需要设置 Config.Framework(位于 config/config.lua)。

框架一览

框架 识别依据 物品 银行和现金 注意事项
ESX Legacy es_extended Pulse 会自己把物品添加到 ESX 的 items 表中(默认背包)。在 ox_inventory 上,粘贴启动检查打印的配置块 ESX 账户 公司账户通过你的社团脚本
QBCore qb-core Pulse 会自己把物品添加到 QBCore 的共享物品中(qb-、ps-、lj-inventory) QBCore 金钱 isboss 等级管理公司
Qbox qbx_core(它的 qb-core 替身算作 Qbox,而不是第二个框架) 粘贴打印出的 ox_inventory 配置块 Qbox 金钱 使用 Qbox 适配器,绝不使用 QBCore 适配器
ox_core ox_core 粘贴打印出的 ox_inventory 配置块 角色的 ox_core 账户;现金是 ox_inventory 的 money 没有执勤标记:所有人都算在岗
ND Core ND_Core 粘贴打印出的 ox_inventory 配置块 ND 的 bank 和 cash 没有执勤标记;没有公司账户
TMC 它的 core 资源,通过 TMC 自身的 core 对象识别 每个物品都必须在 TMC 的物品列表中:启动检查会打印它们 TMC 金钱 通过自定义桥接运行,无需设置
vRP 2 vrp 见 vRP 部分 vRP 钱包和银行 不支持 vRP 1 及其分支
Standalone 以上都没有运行 不需要 手机自带的银行 用于测试服务器或没有框架的服务器
自定义 Config.Framework = 'custom' 通过你的桥接 通过你的桥接 见“自定义或自研框架”

强制指定框架

大多数服务器永远用不到这个。当启动信息显示的框架不对,或安装并启动了两个框架核心时,请强制指定框架。在 server.cfg 中加一行:

server.cfg
setr phone_framework qb
值 框架
esx ESX Legacy(es_extended)
qb QBCore(qb-core)
qbox Qbox(qbx_core)
ox ox_core
nd ND Core(ND_Core)
vrp vRP 2(vrp)
tmc TMC(core)
standalone 无框架:手机使用自己的身份和银行
custom 你自己的桥接(见下方“自定义或自研框架”)
auto 与不写这一行相同:由 Config.Framework 决定
  • 它优先于 Config.Framework。修改后请重启手机资源。
  • 资源名称也可以用:qbcore、qb-core、qbx_core、es_extended、ox_core。无法识别的词会被拒绝:启动检查会提示,金钱功能保持关闭。
  • qb 在运行 qbx_core 的服务器上会使用 Qbox 适配器。Qbox 也会以 QBCore 身份响应。
  • 如果强制指定的框架没有启动,手机会一直停留在“未就绪”界面,直到它启动。手机绝不会自行切换到其他框架。

多角色在所有框架上都可用。Config.IdentityScope = 'character'(默认)让每个角色拥有自己的手机。'player' 则每个账户一部手机。请一次选定:在正式服务器上修改会让所有现有手机失效。

公司管理(执勤、员工、招聘、Services 应用中的公司账户)使用 Config.Services 中的公司,位于 config/apps.lua。如果你的职业名称与默认值(police、ambulance、mechanic、taxi、fire ...)不同,请把你的职业加入该公司的 job 列表。要自己指定老板等级,请在该公司中添加 bossGrade = <n>。

ESX Legacy

server.cfg
ensure oxmysql
ensure es_extended
# ... your ESX scripts, inventory, banking ...
ensure pma-voice
ensure screenshot-basic
ensure phone
  • 物品:使用 ESX 默认背包时无需任何操作。手机会在启动时把物品添加到 ESX 的 items 表中,控制台会说明添加了哪些。如果你想自己添加,可以使用 config/items/esx.sql。使用其他背包时,见第 4 节。
  • 金钱:银行是 ESX 的 bank 账户,现金是 money 账户。
  • 角色:手机跟随 ESX 玩家的 identifier,因此 esx_multicharacter 可以正常使用。
  • 老板:名为 boss 的等级管理公司,除非你设置了 bossGrade。
  • 公司账户:esx_addonaccount / esx_society,或第 7 节中的银行脚本。

QBCore

server.cfg
ensure oxmysql
ensure qb-core
# ... qb-inventory and your other qb scripts ...
ensure pma-voice
ensure screenshot-basic
ensure phone
  • 物品:无需粘贴。手机会在启动时把需要的物品添加到 QBCore 的共享物品中,控制台会说明添加了哪些。把图片从 config/items/images/ 复制到 qb-inventory/html/images/;启动检查会指出缺少哪些。
  • 金钱:bank 和 cash。
  • 角色:citizenid,因此 qb-multicharacter 可以正常使用。
  • 老板:你的职业中带有 isboss = true 的等级,除非你设置了 bossGrade。
  • 公司账户:Renewed-Banking、qb-banking 或较旧的 qb-management。
  • 多职业:运行 ps-multijob 时,玩家的其他职业会显示在 Services 中,点一下即可切换为当前职业。

Qbox

server.cfg
ensure oxmysql
ensure qbx_core
ensure ox_inventory
# ... your other Qbox scripts, in Qbox's own order ...
ensure pma-voice
ensure screenshot-basic
ensure phone
  • 物品:Qbox 使用 ox_inventory,它不能接收来自其他脚本的物品。启动一次服务器:启动检查会打印缺失的条目,可直接粘贴到 ox_inventory/data/items.lua 中(第 4 节)。图片放到 ox_inventory/web/images/。
  • 金钱:bank 和 cash,通过 qbx_core。
  • 角色:citizenid。
  • 老板:带有 isboss = true 的等级,除非你设置了 bossGrade。
  • 多职业:内置。玩家的其他职业会显示在 Services 中。
  • qbx_core 也会以 qb-core 身份响应。这是正常的:手机把两者视为同一个框架。

ox_core

server.cfg
ensure oxmysql
ensure ox_core
ensure ox_inventory
# ... your other scripts ...
ensure pma-voice
ensure screenshot-basic
ensure phone
  • 物品:启动一次服务器:启动检查会打印缺失的条目,可直接粘贴到 ox_inventory/data/items.lua 中(第 4 节)。图片放到 ox_inventory/web/images/。
  • 金钱:银行是角色的 ox_core 账户。现金是 ox_inventory 中的 money 物品。
  • 角色:charId。
  • 职业:ox_core 的 group 没有执勤标记,所以手机自己记录执勤状态。公司管理(员工、招聘、等级)和代客泊车在 ox_core 上不可用。

ND Core

server.cfg
ensure oxmysql
ensure ox_lib
ensure ND_Core
ensure ox_inventory
# ... your other scripts ...
ensure pma-voice
ensure screenshot-basic
ensure phone
  • 自动识别,只要 ND_Core 已启动。要强制指定:setr phone_framework nd。
  • 物品:ND 使用 ox_inventory。启动一次服务器:启动检查会打印缺失的条目,可直接粘贴到 ox_inventory/data/items.lua 中(第 4 节)。
  • 金钱:角色的 ND bank 和 ND cash(ox_inventory 会同步 money 物品)。
  • 角色:ND 的角色 id。如果角色已有 ND 自带的电话号码,显示的就是该号码。
  • 职业:角色的 ND 职业和级别。ND 没有执勤标记,所以所有人都算在岗。公司管理、公司账户和代客泊车在 ND Core 上不可用。
  • 车库:拥有的车辆来自 ND 的 nd_vehicles 表。

vRP

只支持 vRP 2(不支持 vRP 1 或社区分支)。手机会从 bridge/frameworks/vrp/ 向 vRP 加载一个小扩展。无需复制任何东西。

server.cfg
ensure oxmysql
ensure vrp
# ... your other scripts ...
ensure pma-voice
ensure screenshot-basic
ensure phone
  • 物品:vRP 没有物品文件,vRP 2 也无法让物品可供手机使用。保持 Config.Item.required = false(默认),并设置 Config.Store.box = false,让商店直接交付手机。玩家用 /phonepack 和 /phonecable 使用充电物品;使用 vRP 背包时,玩家需要携带 pulse_magpack 和 pulse_cable,所以请把这两个物品加入你的 vRP 物品列表,或设置 Config.Charging.enabled = false。
  • 金钱:vRP 的银行和钱包。
  • 角色:vRP 的角色 id。
  • 职业:公司管理和代客泊车在 vRP 上不可用。除非你接入车库脚本,否则 Garage 应用保持为空。

TMC

TMC 已内置支持。手机能自己识别 TMC 的 core:无需额外资源,也无需修改 config/config.lua(auto、tmc 和 custom 都可以)。

server.cfg
ensure oxmysql
ensure core
# ... your other scripts ...
ensure pma-voice
ensure screenshot-basic
ensure phone

启动检查会显示 Framework: TMC。

  • 物品:像添加任何物品一样,把 Pulse 物品加入 TMC 的物品列表。名称为 phone、pulse_magpack、pulse_magpack_max、pulse_cable、pulse_router、pulse_burner、pulse_buds、pulse_ringlight、pulse_wallet(config/items/tmc.lua 中有这些条目),商店的盒子还需要 pulse_phone_box 以及每种外观一个(pulse_phone_box_black ...)。标签、重量和描述在 config/items/qb-core.lua 中,图片在 config/items/images/ 中。不在列表中的物品会被拒绝,玩家会看到“背包已满”:控制台随后会点名该物品。列表中缺少盒子物品不会阻止销售:商店会不带盒子直接交付手机,并在控制台中说明。如果你完全不想要盒子,请设置 Config.Store.box = false。
  • 金钱:角色的现金和银行:如果 TMC 的 banking 资源在运行,使用它(角色的个人账户),否则使用 core 的银行余额。如果你的账号格式不像 BNK123456,请在 config/config.lua 中指定存放账号的字段:Config.Providers.tmcBankAccount = 'charinfo.account'(换成你自己的字段)。无法读取银行时,Wallet 显示一个短横线,绝不会显示编造的数字。
  • 角色:TMC 的 citizen id。
  • 职业:当前执勤的职业(或第一个职业),以及其等级和执勤状态。
  • 用过临时的 pulse_tmc 连接器?删除 ensure pulse_tmc 并删除该文件夹。它仍在运行时,控制台会提醒你。

Standalone(无框架)

server.cfg
ensure oxmysql
ensure pma-voice
ensure screenshot-basic
ensure phone
  • 物品:不需要。每位玩家都有一部手机、一个 Reserve 和一根数据线。
  • 金钱:手机使用自己的银行。新玩家初始余额为 5000(startingBalance,位于 config/apps.lua)。
  • 角色:玩家的 Rockstar license。
  • 职业、车辆和住宅:由手机自己保存。可以用第 9 节中的测试命令填充。

自定义或自研框架

  1. 设置 Config.Framework = 'custom'(位于 config/config.lua)。
  2. 给手机提供一个结构与 optional-developer-kit/custom_framework_bridge.lua 相同的桥接表:可以作为 Config.Providers.custom 写在 config/config.lua 中,也可以在你自己的资源中用 exports.phone:RegisterFrameworkBridge(MyBridge) 注册。
  3. 只有 GetCharacterId 是必需的。如果你省略了姓名、职业、license 或车辆/住宅列表函数,手机会当作你的服务器没有这些数据。如果你省略了金钱或物品函数,相应操作会被拒绝:手机绝不会从自己的银行付款。只有当你的桥接提供 GetBankBalance 时,Bank 应用才会出现。
  4. 如果你的核心在手机运行期间重启,请在核心就绪后调用一次 exports.phone:FrameworkRestarted()。

bridge/frameworks/custom.lua 展示了手机如何使用你的桥接表。要接入其他自研脚本(银行或车库脚本),请参阅 optional-developer-kit/custom_provider_template.lua 和导出函数。这两个模板随可选的开发者工具包提供,zerodevscripts.com/downloads/PulsePhone-developer-kit.zip,不在 phone 文件夹中。

译自英文。如有任何内容与英文页面不一致,以英文页面为准。 English