FiveMの基礎知識
1.FiveMとは?
FiveMは、GTA Vをベースにしたカスタムマルチプレイヤーモードを提供するプラットフォームです。公式のGTAオンラインとは異なり、独自のサーバーを立てて、自由にカスタマイズしたゲームモードを作成できます。FiveM公式サイト
FiveMの仕組み
FiveMは、クライアント(プレイヤー)とサーバー(ゲーム環境)で構成されています。サーバー側でスクリプトを動作させ、クライアントがそれに接続してプレイします。
2.FiveMのスクリプトとは?
FiveMでは、サーバーの動作を制御するためにスクリプトが使用されます。
スクリプトは「リソース(Resource)」という単位で管理され、各リソースは個別の機能を提供しています
3.フレームワークと選択肢
FiveM開発ではフレームワークを利用することで効率的にスクリプトを作成できます。
代表的なフレームワークは以下のものがあります
- 特徴: 軽量でモジュール化されており、QBUSの後継として人気がある。
- 利点:
- オープンソースで活発に開発されている
- ESXよりもパフォーマンスが良い
- スクリプトが整理されており、カスタマイズしやすい
- デメリット:
- ESXほどのアセットがまだ揃っていない(特に古いリソース)
- QBCore独自のシステムが多く、ESXとの互換性が低い
- 特徴: QBCoreのフォーク版で、デフォルトで多くの機能が統合されている。
- 利点:
- QBCoreをベースにしているため、基本的な互換性がある
- 標準で多くのスクリプトがバンドルされており、セットアップが簡単
- デメリット:
- 過剰な機能が含まれているため、サーバーの負荷が高くなる可能性がある
- QBCore本家とは異なるアップデート方針を取るため、QBCoreとの互換性が崩れることがある
- 特徴: FiveMの中で最も古く、長く使われているRPフレームワーク。
- 利点:
- 圧倒的に多くのリソース・スクリプトが存在
- コミュニティが大きく、情報が多い
- デメリット:
- 古い設計が多く、パフォーマンス面での課題がある
- 近年はESX 1.2, 1.8, Legacy, V2などバージョンが乱立している
- QBCoreよりカスタマイズが大変
今回の記事ではQBCoreを使用していきます
なぜQBCoreを使うのか?
QBCoreはFiveMで最もアクティブに開発されているフレームワークの1つです。
軽量でありながら、必要な機能が揃っているため、初心者でも扱いやすく、カスタマイズの自由度が高いのが特徴です。
4.FiveM開発に必要な知識
Luaの基本
FiveMでスクリプトを作成するには、以下の基礎知識が必要になります。
変数、関数、ループ
テーブル(配列・オブジェクト)
FiveM固有のAPIの使い方
SQL(データベース)の基本
QBCoreやESXはMySQLを利用するため、データベースの基本的な操作を知っておくと便利です。
– データの挿入(INSERT)
– データの取得(SELECT)
– データの更新(UPDATE)
– データの削除(DELETE)
MySQL公式サイト
ネットワークイベントの仕組み
FiveMでは、クライアントとサーバーが通信を行う仕組みがあります。
– `TriggerServerEvent`(クライアント → サーバー)
– `RegisterNetEvent`(イベント登録)
– `TriggerClientEvent`(サーバー → クライアント)
まとめ
FiveM開発の基礎を理解することで、今後のスクリプト作成がスムーズになります。次のステップでは、実際にFiveMの開発環境を構築し、スクリプトを書けるようにしていきましょう。