Pulse Phone のドキュメント
Pulse Phone — クイックスタート
phone という名前のリソースをひとつインストールします。今お使いの framework と対応スクリプトはそのままで構いません。Pulse が起動時に検出します。
PhoneHub + Pulse は、専用のライセンスとこのスマホの専用コピーを持つ別のエディションです。そのエディションを購入した場合は、代わりにそちらの導入ガイドに従ってください。サーバーで動かすスマホのリソースはひとつです。
1. サーバーを確認する
| 項目 | 必要? |
|---|---|
| OneSync 有効、ゲームビルド 2699 以降 | 必須 |
| データベース:MariaDB 10.6+ または MySQL 8 上の oxmysql(または mysql-async、ghmattimysql) | 推奨。SQL リソースがない場合、スマホはデータをサーバーの key/value ストアに保存します |
| ボイスリソースをひとつ:pma-voice、mumble-voip、SaltyChat、TokoVOIP、YACA のいずれか | 推奨。ない場合、通話はつながりますが音声は出ません |
| screenshot-basic | カメラで写真を保存するために推奨。標準のリソースで動作します |
| framework とインベントリ | 任意。ない場合、スマホは standalone で動作します |
データベース、framework、インベントリ、ボイスリソース、screenshot-basic を Pulse より先に起動してください。正しい順序は動作要件とお使いの framework を参照してください。
初回起動の前にデータベースをバックアップしてください。Pulse は独自のテーブルを作成します。他のスマホが同じ名前のテーブルを残していた場合、それらは old_<name> に名前が変更されます(何も削除されません)。詳しくは動作要件にあります。
2. phone フォルダーをコピーする
購入したものを Cfx.re アカウントからダウンロードします。phone フォルダー(fxmanifest.lua が入っているもの)を、サーバーの resources にコピーしてください。名前は変えないでください。サーバーキーは、アセットを所有しているアカウントのものである必要があります。
FTP でアップロードする場合(ホスティングサーバー):Binary モードを使ってください(FileZilla:Transfer > Transfer Type > Binary)。または zip をアップロードしてサーバー上で展開してください。Auto モードではロックされたファイルが変わってしまい、スマホが起動しなくなります。症状と対処法はトラブルシューティングにあります。アップロードするフォルダーはこの表と一致している必要があり、欠けているファイルやサイズが違うファイルは起動時チェックが名前を表示します。
Pulse Phone 1.4.2 のダウンロード内容:
| フォルダーまたはファイル | ファイル数 | サイズ |
|---|---|---|
ui/ |
3,932 | 78.3 MB |
stream/ |
40 | 30.5 MB |
config/ |
138 | 23.2 MB |
d6c1e95a/(ロックされたコード。名前はリリースごとに異なります) |
7 | 5.5 MB |
data/ |
2 | 1.4 MB |
bridge/ |
55 | 0.5 MB |
guides/ |
13 | 0.2 MB |
phone.sql |
1 | 0.2 MB |
fxmanifest.lua |
1 | 6 KB |
phone フォルダー全体 |
4,204 | 139.7 MB |
既存のインストールをアップデートしますか?設定とプレイヤーのメディアを残すため、先にアップデートに従ってください。Pulse に切り替える前に、以前のスマホのリソースを停止してください。
3. インベントリにアイテムを追加する
インベントリを開き、お使いのインベントリ用の説明に従ってください。付属の定義と画像は config/items/ にあります。項目はインベントリにマージしてください。アイテムファイル全体を置き換えないでください。
ESX の標準インベントリと QBCore は、足りない定義を自動で登録できます。他のインベントリでは付属の項目が必要な場合があります。アイテム画像は、お使いのインベントリが読み込む場所にコピーしてください。インベントリなしの standalone ではアイテムは不要です。
4. Pulse を起動する
config/config.lua では自動検出のままにしておいてください。最初のセクションに framework、言語、インベントリの選択、スマホアイテム、キーがあります。任意の設定は設定にまとめています。
server.cfg の既存の依存リソースの後に、これを追加してください:
ensure phone
add_ace group.admin phone.admin allowサーバーを再起動してください。SQL 接続が使えると、Pulse はデータベースのテーブルを作成します。コンソールのチェックを読み、修正の指示があれば従ってください。phone:health を実行すると、もう一度チェックできます。
5. スマホを開く
管理者として参加し、F8 を開いて phone:setup と入力します。検出された framework とインベントリを確認し、ガイド付きセットアップを完了してください。F1 を押すか /phone を使うとスマホが開きます。設定でアイテムが必要になっている場合は、先にスマホを購入し、インベントリからその箱を使ってください。
Settings → Server で保存した設定は、対応するファイルの設定より優先されます。ファイルの値を再び適用したい場合は、そこで保存した上書きをリセットしてください。
6. 任意:軽量版の screenshot-basic
ダウンロードには screenshot-basic フォルダーも含まれています。これは CitizenFX の screenshot-basic(MIT ライセンス)に1点だけ変更を加えたものです。オリジナルは、誰も写真を撮っていないときでもキャプチャ用レイヤーのためにゲーム画像を毎フレーム描き直し続けますが、このコピーは写真を撮っている間だけ描画します。リソース名、exports(requestScreenshot、requestScreenshotUpload、requestClientScreenshot)、イベントは変わっておらず、ビルド済みなので初回起動時に自分でビルドする必要もありません。変更したファイルは screenshot-basic/ZERODEV-CHANGES.md に一覧があります。
Pulse はどちらのコピーでも動くので、この手順は任意です。サーバー上の他のスクリプトも screenshot-basic を使っているため、テストサーバーがあればまずそこで切り替えてください:
- 今の
screenshot-basicフォルダーの名前を変え(たとえばscreenshot-basic.bak)、resourcesの外に移して、元に戻せるようにしておきます。 - 当方のコピーを
resourcesに同じ名前screenshot-basicで入れ、ensure screenshot-basicの行はそのままにします。 - サーバーを再起動し、スクリーンショットを撮るすべてのスクリプトを試してください:スマホのカメラ、そしてお使いの通報、証拠、ボディカメラのツールなど。
- 動きが変わったものがあれば、当方のコピーを削除し、古いフォルダーを
screenshot-basicとして戻して再起動してください。
使う機能をセットアップする
- 通話、ビデオ、Live:対応するボイスリソース、通話の操作、本番用のビデオ接続の設定。
- 写真と動画:内蔵ストレージ、FiveManage、その他のアップロード方法。非公開のサービスキーはサーバーの設定内に置いたままにします。Web ポートに外部から接続できないホスティングサーバーでは、写真に FiveManage が必要です:
server.cfgに2行(set phone_media_provider "fivemanage"とset phone_fivemanage_token "<token>")。 - 設定:ショップ、アプリ、アクセサリー、言語、任意の機能。
- トラブルシューティング:症状を探して、その対処法に従います。
- 開発者向け連携:カスタムスクリプトと高度な接続設定。
通常のインストールでは bridge/、ui/、stream/ を編集する必要はありません。モデルやマップのアセットも含めて、リソース全体をまとめて置いておいてください。