Pulse Phone 文档
框架
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 中加一行:
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
ensure oxmysql
ensure es_extended
# ... your ESX scripts, inventory, banking ...
ensure pma-voice
ensure screenshot-basic
ensure phoneQBCore
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
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
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
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和 NDcash(ox_inventory 会同步money物品)。 - 角色:ND 的角色 id。如果角色已有 ND 自带的电话号码,显示的就是该号码。
- 职业:角色的 ND 职业和级别。ND 没有执勤标记,所以所有人都算在岗。公司管理、公司账户和代客泊车在 ND Core 上不可用。
- 车库:拥有的车辆来自 ND 的
nd_vehicles表。
vRP
只支持 vRP 2(不支持 vRP 1 或社区分支)。手机会从 bridge/frameworks/vrp/ 向 vRP 加载一个小扩展。无需复制任何东西。
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 都可以)。
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(无框架)
ensure oxmysql
ensure pma-voice
ensure screenshot-basic
ensure phone- 物品:不需要。每位玩家都有一部手机、一个 Reserve 和一根数据线。
- 金钱:手机使用自己的银行。新玩家初始余额为 5000(
startingBalance,位于config/apps.lua)。 - 角色:玩家的 Rockstar license。
- 职业、车辆和住宅:由手机自己保存。可以用第 9 节中的测试命令填充。
自定义或自研框架
- 设置
Config.Framework = 'custom'(位于config/config.lua)。 - 给手机提供一个结构与
optional-developer-kit/custom_framework_bridge.lua相同的桥接表:可以作为Config.Providers.custom写在config/config.lua中,也可以在你自己的资源中用exports.phone:RegisterFrameworkBridge(MyBridge)注册。 - 只有
GetCharacterId是必需的。如果你省略了姓名、职业、license 或车辆/住宅列表函数,手机会当作你的服务器没有这些数据。如果你省略了金钱或物品函数,相应操作会被拒绝:手机绝不会从自己的银行付款。只有当你的桥接提供GetBankBalance时,Bank 应用才会出现。 - 如果你的核心在手机运行期间重启,请在核心就绪后调用一次
exports.phone:FrameworkRestarted()。
bridge/frameworks/custom.lua 展示了手机如何使用你的桥接表。要接入其他自研脚本(银行或车库脚本),请参阅 optional-developer-kit/custom_provider_template.lua 和导出函数。这两个模板随可选的开发者工具包提供,zerodevscripts.com/downloads/PulsePhone-developer-kit.zip,不在 phone 文件夹中。