Pulse Phone のドキュメント
framework
3. framework ごとの手順
スマホは framework を自動で見つけます:es_extended、qb-core、qbx_core、ox_core、ND_Core、vrp、または TMC の core。Config.Framework(config/config.lua 内)が必要になるのは、複数の framework が動いている場合か、カスタム framework の場合だけです。
framework の早見表
| framework | 検出方法 | アイテム | 銀行と現金 | 知っておくこと |
|---|---|---|---|---|
| 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 互換レイヤーは、2つ目の framework ではなく 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 | 上記のどれも動いていない | 不要 | スマホ独自の銀行 | テストサーバーや framework のないサーバー向け |
| カスタム | Config.Framework = 'custom' |
独自のブリッジ経由 | 独自のブリッジ経由 | 「カスタムまたは自作の framework」を参照 |
framework を強制指定する
ほとんどのサーバーでは必要ありません。起動時の行に違う framework が表示される場合や、2つの framework のコアがインストールされて起動している場合に、framework を強制指定してください。server.cfg に1行追加します:
setr phone_framework qb| 値 | framework |
|---|---|
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 |
framework なし:スマホが独自の ID と銀行を持ちます |
custom |
独自のブリッジ(下の「カスタムまたは自作の framework」を参照) |
auto |
行を書かないのと同じ:Config.Framework で決まります |
Config.Frameworkより優先されます。変更したらスマホを再起動してください。- リソース名も使えます:
qbcore、qb-core、qbx_core、es_extended、ox_core。認識できない語は拒否され、起動時チェックがその旨を表示し、お金に関する機能はオフのままになります。 qbを指定しても、qbx_coreが動いているサーバーでは Qbox のアダプターが使われます。Qbox は QBCore としても応答します。- 強制指定した framework が起動していない場合、スマホは起動するまで「not ready」画面のままです。スマホが勝手に別の framework に切り替わることはありません。
マルチキャラクターはすべての framework で動作します。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 phone- アイテム:ESX の標準インベントリなら何もする必要はありません。スマホは起動時に ESX の
itemsテーブルにアイテムを追加し、どれを追加したかをコンソールに表示します。config/items/esx.sqlは、自分で追加したい場合のために用意しています。他のインベントリの場合はセクション4を参照してください。 - お金:銀行は ESX の
bank口座、現金はmoney口座です。 - キャラクター:スマホは ESX のプレイヤーの
identifierに従うため、esx_multicharacter で動作します。 - ボス:
bossという名前の階級が会社を管理します(bossGradeを設定した場合を除く)。 - 会社の口座:esx_addonaccount / esx_society、またはセクション7の銀行スクリプト。
QBCore
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/に入れます。 - お金:qbx_core 経由の
bankとcash。 - キャラクター:
citizenid。 - ボス:
isboss = trueが付いた階級です(bossGradeを設定した場合を除く)。 - マルチジョブ:組み込み済み。プレイヤーの他のジョブが Services に表示されます。
- qbx_core は
qb-coreとしても応答します。これは正常で、スマホは両者をひとつの framework として扱います。
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 のグループには勤務フラグがないため、スマホが勤務状態を自分で管理します。会社管理(スタッフ、採用、階級)とバレーは 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/にあります。リストにないアイテムは拒否され、プレイヤーには「inventory full」と表示されます。そのときコンソールがアイテム名を表示します。リストに箱のアイテムがなくても販売は止まりません。ストアはそのスマホを箱なしで渡し、コンソールにその旨を表示します。箱がまったく不要ならConfig.Store.box = falseを設定してください。 - お金:キャラクターの現金と銀行。銀行は、TMC の
bankingリソースが動いていればそれ(本人の個人口座)、そうでなければコアの銀行のお金です。口座番号がBNK123456のような形でない場合は、口座番号が入っているフィールドをconfig/config.luaで指定してください:Config.Providers.tmcBankAccount = 'charinfo.account'(ご自身のフィールドを使ってください)。銀行を読めないとき、Wallet は作った数字ではなくダッシュを表示します。 - キャラクター:TMC の citizen id。
- ジョブ:勤務中のジョブ(または最初のジョブ)と、その階級と勤務状態。
- 一時的な
pulse_tmcコネクターを入れていましたか?ensure pulse_tmcを削除し、そのフォルダーも削除してください。まだ動いている間はコンソールが知らせます。
Standalone(framework なし)
ensure oxmysql
ensure pma-voice
ensure screenshot-basic
ensure phone- アイテム:不要です。すべてのプレイヤーがスマホ、Reserve、ケーブルを持っています。
- お金:スマホが独自の銀行を持ちます。新しいプレイヤーの初期残高は 5000 です(
startingBalance、config/apps.lua内)。 - キャラクター:プレイヤーの Rockstar ライセンス。
- ジョブ、車、家:スマホが独自に管理します。セクション9のテストコマンドで中身を入れられます。
カスタムまたは自作の framework
Config.Framework = 'custom'を設定してください(config/config.lua内)。optional-developer-kit/custom_framework_bridge.luaと同じ形のブリッジテーブルをスマホに渡します。Config.Providers.customとしてconfig/config.luaに書くか、ご自身のリソースからexports.phone:RegisterFrameworkBridge(MyBridge)で登録してください。- 必須なのは
GetCharacterIdだけです。名前、ジョブ、ライセンス、車両・家の一覧の関数を省略すると、スマホはサーバーにそのデータがないものとして動きます。お金やアイテムの関数を省略すると、その操作は拒否されます。スマホが独自の銀行から支払うことはありません。Bank アプリは、ブリッジにGetBankBalanceがある場合にだけ表示されます。 - スマホが動いたままコアが再起動する場合は、コアの準備ができた時点で
exports.phone:FrameworkRestarted()を一度呼んでください。
bridge/frameworks/custom.lua で、スマホがテーブルをどう使うかがわかります。他の自作スクリプト(銀行やガレージのスクリプト)を接続するには、optional-developer-kit/custom_provider_template.lua と Exports を参照してください。2つのテンプレートはスマホのフォルダーではなく、任意の開発者キット zerodevscripts.com/downloads/PulsePhone-developer-kit.zip に入っています。