Skip to Content
ドキュメントQb DocQb Core📊 プレイヤーデータ

📊 プレイヤーデータ

導入

そのプレイヤーデータオブジェクト内qb-coreplayerのキャラクターに関するすべての情報(個人情報、職業、ギャング所属、メタデータなど)を保存します。これらの値は、config.luaファイルのqb-core

このガイドでは、playerデータ構造、デフォルト値、およびアクセス方法や変更方法の概要を説明します。

QBCore ├── Players │ ├── [source] │ ├── PlayerData │ ├── citizenid: string (Unique identifier) │ ├── cid: number (Character ID) │ ├── money: table │ │ └── { cash: number, bank: number } │ ├── charinfo: table │ │ ├── firstname: string │ │ ├── lastname: string │ │ ├── ... │ ├── job: table │ │ ├── name: string │ │ ├── label: string │ │ ├── payment: number │ │ ├── onduty: boolean │ │ ├── isboss: boolean │ │ └── grade: table │ │ ├── name: string │ │ └── level: number │ ├── gang: table │ │ ├── name: string │ │ ├── label: string │ │ ├── isboss: boolean │ │ └── grade: table │ │ ├── name: string │ │ └── level: number │ ├── metadata: table │ │ ├── hunger: number │ │ ├── thirst: number │ │ ├── stress: number │ │ ├── isdead: boolean │ │ └── ... │ ├── position: vector3 │ └── items: table (inventory items)

構成

playerデータのデフォルト値は、config.luaファイルのqb-coreこれらのデフォルトはQBConfig.Player.PlayerDefaults新しいキャラクターを作成するときにplayerが何から始まるかを決定します

プレーヤーデータオブジェクトの構造

[!NOTE] 現在qb-coreバージョン1.3.0(fxmanifest.luaをご確認ください)では、playerデータにアクセスするためにコアをインポートする必要はありません。このように呼び出すことができます。

exports['qb-core']:GetPlayer(source)— サーバー

exports['qb-core']:GetPlayerData() - クライアント

[!NOTE] サーバー上のplayerオブジェクトにアクセスする場合QBCore.Functions.GetPlayerソース(player ネット ID)を渡す — 例に示す


クライアント上のplayerオブジェクトにアクセスするときは、何も渡す必要はなく、単に呼び出すだけで済みます。QBCore.Functions.GetPlayerData

関数を呼び出す代わりにplayerデータに直接アクセスしたい場合は、この形式で行うことができます。QBCore.Players[source].PlayerDataしかし、それはお勧めできません

以下は、playerデータ構造、そのプロパティ、デフォルト値、およびplayerオブジェクトを取得するときにそれらにアクセスする方法の内訳です。

識別表

プロパティタイプデフォルト値説明
citizenidstring生成元CreateCitizenIdplayer の一意の識別子。
cidnumber1文字 ID (複数文字のシステムに使用されます)。
local QBCore = exports['qb-core']:GetCoreObject() RegisterNetEvent('qb-docs:server:getPlayerInfo', function(source) local Player = QBCore.Functions.GetPlayer(source) if not Player then return end local citizenid = Player.PlayerData.citizenid print(citizenid) end)

マネーテーブル

プロパティタイプデフォルト値説明
moneytable{ cash = 0, bank = 0 }player の現金と銀行残高が含まれます。
local QBCore = exports['qb-core']:GetCoreObject() RegisterNetEvent('qb-docs:server:getPlayerInfo', function(source) local Player = QBCore.Functions.GetPlayer(source) if not Player then return end local money = Player.PlayerData.money local cash = money.cash local bank = money.bank print(cash, bank) end)

キャラクター情報テーブル

プロパティタイプデフォルト値説明
charinfotable{ firstname, lastname, ... }player に関する基本的な個人情報。

サブフィールド:

サブフィールドタイプデフォルト値説明
firstnamestring"Firstname"player の名前。
lastnamestring"Lastname"player の姓。
birthdatestring"00-00-0000"player の生年月日。
gendernumber0player の性別 (男性は 0、女性は 1)。
nationalitystring"USA"player の国籍。
phonestring生成元CreatePhoneNumberplayer の携帯電話 number。
accountstring生成元CreateAccountNumberplayer の銀行口座 number。
local QBCore = exports['qb-core']:GetCoreObject() RegisterNetEvent('qb-docs:server:getPlayerInfo', function(source) local Player = QBCore.Functions.GetPlayer(source) if not Player then return end local charinfo = Player.PlayerData.charinfo local firstname = Player.PlayerData.firstname local lastname = Player.PlayerData.lastname local birthdate = Player.PlayerData.birthdate local gender = Player.PlayerData.gender local nationality = Player.PlayerData.nationality local phone = Player.PlayerData.phone local account = Player.PlayerData.account print("Player's name:", firstname, lastname) end)

ジョブテーブル

プロパティタイプデフォルト値説明
jobtable{ name = 'unemployed', ... }playerの現在の仕事と関連情報。

サブフィールド

サブフィールドタイプデフォルト値説明
namestring"unemployed"ジョブ名。
labelstring"Civilian"ジョブの表示ラベル。
paymentnumber10playerの給料。
ondutybooleanfalseplayer が運用中かどうか。
isbossbooleanfalseplayer がジョブのボスであるかどうか。
gradetable{ name = 'Freelancer', ... }playerのジョブグレード。
local QBCore = exports['qb-core']:GetCoreObject() RegisterNetEvent('qb-docs:server:getPlayerInfo', function(source) local Player = QBCore.Functions.GetPlayer(source) if not Player then return end local jobInfo = Player.PlayerData.job local name = jobInfo.name local label = jobInfo.label local payment = jobInfo.payment local onduty = jobInfo.onduty local isboss = jobInfo.isboss print("Player's job:", name) print("Job label:", label) end)

ギャングテーブル

プロパティタイプデフォルト値説明
gangtable{ name = 'Unaffiliated', ... }player の現在のギャングと関連情報。

サブフィールド

サブフィールドタイプデフォルト値説明
namestring"Unaffiliated"ギャングの名前。
labelstring"No Gang"ギャングの表示ラベル。
isbossbooleanfalseplayer がジョブのボスであるかどうか。
gradetable{ name = 'Unaffiliated', ... }playerのジョブグレード。
local QBCore = exports['qb-core']:GetCoreObject() RegisterNetEvent('qb-docs:server:getPlayerInfo', function(source) local Player = QBCore.Functions.GetPlayer(source) if not Player then return end local gangInfo = Player.PlayerData.gang local name = gangInfo.name local label = gangInfo.label print("Player's gang:", name) print("Gang label:", label) end)

メタデータテーブル

プロパティタイプデフォルト値説明
hungernumber100player の空腹レベル (0~100)。
thirstnumber100player の渇きレベル (0~100)。
stressnumber0player のストレスレベル (0~100)。
isdeadbooleanfalseplayer が故障しているかどうか。
inhalebooleanfalseplayer が手錠をかけられているかどうか。
phonetable{}インストールされたアプリなどの電話固有のデータを保存します。
local QBCore = exports['qb-core']:GetCoreObject() RegisterNetEvent('qb-docs:server:getPlayerInfo', function(source) local Player = QBCore.Functions.GetPlayer(source) if not Player then return end local metadata = Player.PlayerData.metadata local hunger = metadata.hunger local thirst = metadata.thirst print('Hunger Level: ', hunger) print('Thirst Level: ', thirst) end)

プレイヤーオブジェクト関数

サーバー上で作成されるすべてのplayerには、特定の関数が付属しています。これらの関数は、playerから直接呼び出すことができます。

プレイヤーデータの更新

クライアントとサーバー上のプレイヤーデータを更新する

[!NOTE] この関数はイベントをトリガーしますQBCore:Player:SetPlayerData

local Player = QBCore.Functions.GetPlayer(source) if not Player then return end Player.Functions.UpdatePlayerData()

ジョブの設定

playerのジョブとグレードを設定する

  • 仕事: string
  • 学年: number
  • returns:boolean- 成功した場合は true、失敗した場合は false
local Player = QBCore.Functions.GetPlayer(source) if not Player then return end Player.Functions.SetJob('police', 1)

セットギャング

プレイヤーのギャングとグレードを設定する

  • 時間:string
  • 学年: number
  • returns:boolean- 成功した場合は true、失敗した場合は false
local Player = QBCore.Functions.GetPlayer(source) if not Player then return end Player.Functions.SetGang('lostmc', 1)

通知

playerに通知を表示します

  • 文章: string
  • タイプ: string— エラー、成功、プライマリ、警告
  • 長さ(オプション):number
local Player = QBCore.Functions.GetPlayer(source) if not Player then return end Player.Functions.Notify('Hello!', 'success', 5000)

アイテムあり

[!NOTE] アイテムの有無を確認するには、インベントリエクスポートを使用することをお勧めします。この関数は、そのアイテムにルーティングするだけです。

  • アイテム: string | table
  • 額: number
  • returns:boolean
local Player = QBCore.Functions.GetPlayer(source) if not Player then return end Player.Functions.HasItem('water_bottle', 1)

名前を取得

プレイヤーのフルキャラクター名を取得します

  • returns:string
local Player = QBCore.Functions.GetPlayer(source) if not Player then return end Player.Functions.GetName()

ジョブデューティの設定

playerのオン/オフデューティを設定します

[!NOTE] この関数はイベントをトリガーしますQBCore:Server:OnJobUpdate そして QBCore:Client:OnJobUpdateまた、機能を起動しますUpdatePlayerData

  • 義務: boolean
local Player = QBCore.Functions.GetPlayer(source) if not Player then return end Player.Functions.SetJobDuty(true)

プレイヤーデータの設定

playerのplayerデータ値をその名前で具体的に設定します

[!NOTE] この関数は、次の関数もトリガーしますUpdatePlayerData

  • 鍵: string
  • 価値: string | table
local Player = QBCore.Functions.GetPlayer(source) if not Player then return end Player.Functions.SetPlayerData('position', vector3(-425.3, 1123.6, 325.0))

メタデータの設定

player のメタデータ値をその名前で具体的に設定します

[!NOTE] この関数は、次の関数もトリガーしますUpdatePlayerData

  • 鍵: string
  • 価値: string | table | number
local Player = QBCore.Functions.GetPlayer(source) if not Player then return end Player.Functions.SetMetaData('hunger', 80)

メタデータの取得

playerメタデータの値をその名前で取得します

  • 価値: string
  • returns:string | table | number
local Player = QBCore.Functions.GetPlayer(source) if not Player then return end Player.Functions.GetMetaData('hunger')

追加担当者

名前を指定してレップにレップ値を追加します

[!NOTE] この関数は、次の関数もトリガーしますUpdatePlayerData

[!NOTE] さまざまな種類の担当者を追加しますqb-core/config.lua

  • 担当者:string
  • 額: number
local Player = QBCore.Functions.GetPlayer(source) if not Player then return end Player.Functions.AddRep('selling', 10)

削除担当者

名前によって担当者の価値が下がる

[!NOTE] この関数は、次の関数もトリガーしますUpdatePlayerData

[!NOTE] さまざまな種類の担当者を追加しますqb-core/config.lua

  • 担当者:string
  • 額: number
local Player = QBCore.Functions.GetPlayer(source) if not Player then return end Player.Functions.RemoveRep('selling', 10)

ゲットレップ

名前を指定して rep の現在の値を取得します

  • 担当者:string
  • returns:number
local Player = QBCore.Functions.GetPlayer(source) if not Player then return end Player.Functions.GetRep('selling')

追加マネー

特定の通貨の種類にその名前で価値を追加します

[!NOTE] この関数は、次の関数もトリガーしますUpdatePlayerData

  • お金: string
  • returns:boolean
local Player = QBCore.Functions.GetPlayer(source) if not Player then return end Player.Functions.AddMoney('cash', 1000)

お金を削除

特定の通貨の種類の価値をその名前で減らします

[!NOTE] この関数は、次の関数もトリガーしますUpdatePlayerData

  • お金: string
  • returns:boolean
local Player = QBCore.Functions.GetPlayer(source) if not Player then return end Player.Functions.RemoveMoney('cash', 1000)

お金を設定する

特定の通貨タイプの値をその名前で設定します

[!NOTE] この関数は、次の関数もトリガーしますUpdatePlayerData

  • お金: string
  • returns:boolean
local Player = QBCore.Functions.GetPlayer(source) if not Player then return end Player.Functions.SetMoney('cash', 1000)

ゲットマネー

指定された通貨型の値を返します

  • お金: string
  • returns:number
local Player = QBCore.Functions.GetPlayer(source) if not Player then return end Player.Functions.GetMoney('cash')

保存

playerのセーブをトリガーします

local Player = QBCore.Functions.GetPlayer(source) if not Player then return end Player.Functions.Save()

ログアウト

playerを強制的にログアウトしてマルチキャラクタ画面に戻る

local Player = QBCore.Functions.GetPlayer(source) if not Player then return end Player.Functions.Logout()

追加メソッド

そのAddMethod関数を使用すると、playerオブジェクトにカスタムメソッド(関数)を動的に追加できます。これは、playerの機能をモジュール化して再利用可能に拡張する場合に特に便利です。

[!WARNING] メソッドが既に存在するかどうかを確認することをお勧めします。このチェックを実行することで確認できます。

if Player.Functions.MyMethod then
print("Method already exists!")
end>

  • 方法: string
  • ハンドラー:function
local Player = QBCore.Functions.GetPlayer(source) if not Player then return end Player.Functions.AddMethod('Greet', function() print("Hello, " .. Player.Functions.GetName() .. "!") ) Player.Functions.Greet()

フィールドの追加

そのAddField関数を使用すると、playerオブジェクトにカスタムフィールド(変数またはデータ)を動的に追加できます。これは、デフォルトのフィールドではないplayer固有の追加データを格納するのに役立ちます。PlayerData 構造

[!WARNING] フィールドが既に存在するかどうかを確認することをお勧めします。このチェックを実行することで確認できます。

if Player.MyField then
print("Field already exists!")
end>

  • 分野: string
  • データ: any
local Player = QBCore.Functions.GetPlayer(source) if not Player then return end Player.Functions.AddField("Skills", { hacking = 1, driving = 3, shooting = 2 })
Last updated on