Skip to content

Configuration

Configuration

すべての設定は config.lua で行います。このページではすべてのオプションについて解説します。

General

config.lua
Config.Framework = 'qbox'    -- qbox / qbcore / esx / standalone
Config.Command   = 'animpos' -- チャットコマンド名
Config.Cooldown  = 15        -- 使用クールダウン(秒)
  • Framework — コアリソースと適用するメタデータ制限を選択します。
  • Command — ツールを開くチャットコマンド(キーマッピングの名前としても使用されます)。
  • Cooldown — 使用間隔の最小秒数。

Keybind

プレイヤーがキーでツールを開けるようにします。GTA V の設定から再割り当て可能です。

config.lua
Config.Keybind = {
    Enabled = true,
    Default = 'F6',  -- デフォルトキー(空欄の場合はなし。プレイヤーが再割り当て可能)
}

キーマッピングは、Enabled = true かつ Default が空でない場合のみ登録されます。プレイヤーは「設定」→「キーボード割り当て」→「FiveM」からいつでも再割り当てできます。

Permission (optional)

ツールの使用者を制限します。デフォルトではオフです。

config.lua
Config.Permission = {
    Enabled = false,
    Type    = 'ace',                     -- 'ace' / 'job'
    Ace     = 'animpos.use',             -- Type == 'ace' の場合に使用
    Jobs    = { 'police', 'ambulance' }, -- Type == 'job' の場合に使用
}
  • ace — ox_lib コールバックを介して IsPlayerAceAllowed でサーバー側からチェックされます(最も安全)。add_ace ... animpos.use allow で付与してください。
  • job — プレイヤーのフレームワークジョブ名が Jobs リストに含まれている必要があります(QBox / QB-Core / ESX)。

Restrictions

プレイヤーが特定の状態にある間、使用をブロックします。ネイティブチェックはすべてのフレームワークで機能し、メタデータチェックは QBox および QB-Core のみに適用されます。

config.lua
Config.Restrictions = {
    -- フレームワークベース(qbox / qbcore のみ)
    CheckDead        = true,   -- 死亡中のブロック
    CheckLastStand   = true,   -- ラストスタンド中のブロック
    CheckHandcuffed  = true,   -- 手錠中のブロック

    -- ネイティブベース(スタンドアロンを含むすべてのフレームワークで機能)
    CheckInVehicle   = true,   -- 車両搭乗中のブロック
    CheckFalling     = true,   -- 落下中 / パラシュート中のブロック
    CheckSwimming    = false,  -- 泳ぎ中のブロック

    -- プレイヤーデータから読み込まれるメタデータフィールド名
    MetaKeys = {
        Dead       = 'isdead',
        LastStand  = 'inlaststand',
        Handcuffed = 'ishandcuffed',
    },
}

MetaKeys は、お使いのフレームワークのプレイヤーデータ上のメタデータフィールド名にマッピングされます。コア(またはカスタムパッケージ)がこれらを異なるキーで保存している場合は、ここを変更して、死亡 / ラストスタンド / 手錠のチェックが正しい値を読み取るようにしてください。

Notifications

すべてのメッセージに使用するバックエンドを選択します。

config.lua
Config.Notify = 'ox_lib'  -- 'ox_lib' / 'qbcore' / 'esx' / 'custom'

-- Config.Notify == 'custom' の場合のみ使用されます。
-- ntype は次のいずれかです: 'success' / 'error' / 'primary' / 'inform'
Config.CustomNotify = function(message, ntype)
    -- exports['my-notify']:SendAlert(message, ntype)
end
  • ox_liblib.notify(デフォルト)。
  • qbcoreQBCore:Notify イベント。
  • esxesx:showNotification イベント。
  • customConfig.CustomNotify における独自のハンドラー。

無効な Config.Notify 値が指定された場合、サーバーコンソールに警告が記録され、安全に ox_lib にフォールバックします。

UI

config.lua
Config.UI = {
    Position = 'right',       -- left / right / center
    OffsetX  = 30,            -- 端からの距離 (px)
    OffsetY  = 0,             -- 垂直方向のオフセット (px)
    AccentColor = '#f4cb98',  -- キーのハイライト / グロー用のアクセントカラー
    ShowHeader = true,        -- タイトル / サブタイトルのヘッダーを表示
    ShowTip    = true,        -- 下部のヒント行を表示
    ShowAnimations = true,    -- キー押下アニメーション
    AnimationType = {
        Movement = 'pulse',   -- pulse / glow
        Action   = 'glow',    -- pulse / glow
    }
}

Movement

config.lua
Config.Movement = {
    Speed         = 0.01,  -- 移動速度
    RotationSpeed = 0.5,   -- 回転速度
    MaxDistance   = 5.0,   -- 開始地点からの最大距離 (m)
    MaxHeight     = 3.5,   -- 開始地点からの最大高度 (m)
    MinHeight     = -3.5,  -- 開始地点からの最低高度 (m)
    PrecisionMultiplier = 0.25, -- プレシジョンキー押下中の速度倍率
}

Performance

config.lua
Config.Performance = {
    NetworkUpdateDelay = 50,   -- ネットワーク同期待ち時間 (ms)
    LoopWait           = 0,    -- メインループ待機時間 (ms)
    AnimationDuration  = 300,  -- UIアニメーション時間 (ms)
    SyncCooldown       = 50,   -- サーバー側のアンチスパム同期クールダウン (ms)
}

AnimationDuration はパネルのトランジション時間として UI に渡されます。同期関連の値は、位置更新が送信および承認される頻度を制限します。

Sounds

オープン / 確認 / キャンセル / リセット用のオプションの GTA V フロントエンドサウンド。

config.lua
Config.Sounds = {
    Enabled = true,
    Open    = { name = 'SELECT',        set = 'HUD_FRONTEND_DEFAULT_SOUNDSET' },
    Confirm = { name = 'SELECT',        set = 'HUD_FRONTEND_DEFAULT_SOUNDSET' },
    Cancel  = { name = 'CANCEL',        set = 'HUD_FRONTEND_DEFAULT_SOUNDSET' },
    Reset   = { name = 'RESET_PROMPTS', set = 'HUD_FRONTEND_DEFAULT_SOUNDSET' },
}

すべてのサウンドをミュートするには Enabled = false に設定します。

CanUse hook

プレイヤーがツールを開こうとするたびに実行されるカスタムチェック。許可するには true を返し、ブロックするには false(オプションでメッセージ文字列を指定)を返します。

config.lua
Config.CanUse = function()
    -- 例: ダメージを受けている間のブロック
    -- local ped = PlayerPedId()
    -- if HasEntityBeenDamagedByAnyPed(ped) then
    --     return false, 'You cannot do this while taking damage!'
    -- end
    return true
end

Controls

コントロールキーのスキャンコードも Config.Controls で完全に設定可能です(前進、後退、上、下、左、右、回転、確認、キャンセルに加え、2つの代替キー、リセット、プレシジョン)。デフォルトのレイアウトについては Usage & Controls ページを参照してください。