Skip to content

Konfigurasi

Konfigurasi

Semuanya dikonfigurasikan di dalam config.lua. Halaman ini menjelaskan setiap opsi yang tersedia.

Umum

config.lua
Config.Framework = 'qbox'    -- qbox / qbcore / esx / standalone
Config.Command   = 'animpos' -- nama perintah chat
Config.Cooldown  = 15        -- jeda waktu antar penggunaan (detik)
  • Framework — memilih resource inti dan pembatasan metadata mana yang berlaku.
  • Command — perintah chat untuk membuka alat (juga digunakan sebagai nama pemetaan tombol).
  • Cooldown — waktu minimum dalam detik antar penggunaan.

Tombol Pintas

Memungkinkan pemain membuka alat menggunakan tombol, yang dapat diatur ulang di pengaturan GTA V.

config.lua
Config.Keybind = {
    Enabled = true,
    Default = 'F6',  -- tombol bawaan (kosongkan jika tidak ada; pemain dapat mengaturnya sendiri)
}

Pemetaan tombol hanya akan aktif jika Enabled = true dan Default tidak kosong. Pemain selalu dapat mengubahnya melalui Pengaturan → Key Bindings → FiveM.

Izin (opsional)

Batasi siapa saja yang dapat menggunakan alat ini. Nonaktif secara default.

config.lua
Config.Permission = {
    Enabled = false,
    Type    = 'ace',                     -- 'ace' / 'job'
    Ace     = 'animpos.use',             -- digunakan saat Type == 'ace'
    Jobs    = { 'police', 'ambulance' }, -- digunakan saat Type == 'job'
}
  • ace — diperiksa di sisi server melalui IsPlayerAceAllowed menggunakan callback ox_lib (paling aman). Berikan akses dengan add_ace ... animpos.use allow.
  • job — pekerjaan framework pemain harus ada di dalam daftar Jobs (QBox / QB-Core / ESX).

Pembatasan

Blokir penggunaan saat pemain berada dalam status tertentu. Pemeriksaan native berfungsi di semua framework; pemeriksaan metadata hanya berlaku untuk QBox dan QB-Core.

config.lua
Config.Restrictions = {
    -- Berbasis Framework (khusus qbox / qbcore)
    CheckDead        = true,   -- blokir saat mati
    CheckLastStand   = true,   -- blokir saat dalam kondisi last stand
    CheckHandcuffed  = true,   -- blokir saat diborgol

    -- Berbasis Native (berfungsi di SEMUA framework termasuk standalone)
    CheckInVehicle   = true,   -- blokir saat berada di dalam kendaraan
    CheckFalling     = true,   -- blokir saat jatuh / menggunakan parasut
    CheckSwimming    = false,  -- blokir saat berenang

    -- Nama field metadata yang dibaca dari data pemain
    MetaKeys = {
        Dead       = 'isdead',
        LastStand  = 'inlaststand',
        Handcuffed = 'ishandcuffed',
    },
}

MetaKeys memetakan nama field metadata pada data pemain framework Anda. Jika core Anda (atau paket kustom) menyimpan data ini dengan kunci yang berbeda, ubah di sini agar pemeriksaan mati / last stand / borgol membaca nilai yang benar.

Notifikasi

Pilih sistem backend yang digunakan untuk setiap pesan.

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

-- Hanya digunakan ketika Config.Notify == 'custom'.
-- ntype bernilai salah satu dari: 'success' / 'error' / 'primary' / 'inform'
Config.CustomNotify = function(message, ntype)
    -- exports['my-notify']:SendAlert(message, ntype)
end
  • ox_liblib.notify (default).
  • qbcore — Event QBCore:Notify.
  • esx — Event esx:showNotification.
  • custom — handler milik Anda sendiri di Config.CustomNotify.

Nilai Config.Notify yang tidak valid akan mencatat peringatan di konsol server dan secara otomatis beralih kembali ke ox_lib secara aman.

UI

config.lua
Config.UI = {
    Position = 'right',       -- kiri / kanan / tengah (left / right / center)
    OffsetX  = 30,            -- jarak dari tepi layar (px)
    OffsetY  = 0,             -- pergeseran vertikal (px)
    AccentColor = '#f4cb98',  -- warna aksen untuk sorotan tombol / cahaya
    ShowHeader = true,        -- tampilkan tajuk judul/subjudul
    ShowTip    = true,        -- tampilkan baris tip di bagian bawah
    ShowAnimations = true,    -- animasi penekanan tombol
    AnimationType = {
        Movement = 'pulse',   -- denyut / cahaya (pulse / glow)
        Action   = 'glow',    -- denyut / cahaya (pulse / glow)
    }
}

Pergerakan

config.lua
Config.Movement = {
    Speed         = 0.01,  -- kecepatan pergerakan
    RotationSpeed = 0.5,   -- kecepatan rotasi
    MaxDistance   = 5.0,   -- jarak maksimum dari titik awal (m)
    MaxHeight     = 3.5,   -- ketinggian maksimum di atas titik awal (m)
    MinHeight     = -3.5,  -- ketinggian minimum di bawah titik awal (m)
    PrecisionMultiplier = 0.25, -- pengali kecepatan saat menahan tombol Precision
}

Performa

config.lua
Config.Performance = {
    NetworkUpdateDelay = 50,   -- jeda sinkronisasi jaringan (ms)
    LoopWait           = 0,    -- waktu tunggu loop utama (ms)
    AnimationDuration  = 300,  -- durasi animasi UI (ms)
    SyncCooldown       = 50,   -- jeda waktu anti-spam sinkronisasi sisi server (ms)
}

AnimationDuration dikirimkan ke UI sebagai panjang durasi transisi untuk panel. Nilai yang berkaitan dengan sinkronisasi berfungsi untuk membatasi seberapa sering pembaruan posisi dikirim dan diterima.

Suara

Suara antarmuka bawaan GTA V opsional untuk buka / konfirmasi / batal / reset.

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' },
}

Atur Enabled = false untuk menonaktifkan seluruh suara.

Hook CanUse

Pemeriksaan kustom yang berjalan setiap kali pemain mencoba membuka alat. Kembalikan nilai true untuk mengizinkan, atau false (opsional dengan menyertakan string pesan) untuk memblokir.

config.lua
Config.CanUse = function()
    -- Contoh: blokir saat menerima damage
    -- local ped = PlayerPedId()
    -- if HasEntityBeenDamagedByAnyPed(ped) then
    --     return false, 'Anda tidak dapat melakukan ini saat sedang menerima damage!'
    -- end
    return true
end

Kontrol

Kode pemindaian tombol kontrol juga dapat dikonfigurasi sepenuhnya di dalam Config.Controls (maju, mundur, atas, bawah, kiri, kanan, rotasi, konfirmasi, batal + dua tombol alternatif, reset, dan presisi). Lihat halaman Usage & Controls untuk tata letak default.