Важные функции и переменные
В этом разделе подробно описаны основные функции и переменные, используемые или предоставляемые скриптом.
Понимание этих элементов поможет вам настроить или интегрировать скрипт с другими ресурсами.
Основные функции
Раздел с заголовком «Основные функции»Чтобы настроить систему боеприпасов для винтовки с парализующими дротиками, необходимо добавить имя события и реализовать функцию ниже, которая будет проверять, есть ли у игрока боеприпасы, прежде чем разрешить ему стрелять.
В файле конфигурации
Раздел с заголовком «В файле конфигурации»Чтобы настроить использование боеприпасов, необходимо ввести имя, как в примере ниже:
Config.EventHaveItem = "DETECT_IF_I_HAVE_AMMO"Переменная находится в папке: /shared/config.lua.
Проверка наличия боеприпасов (серверная сторона)
Раздел с заголовком «Проверка наличия боеприпасов (серверная сторона)»Функция находится в папке: /server/opensource.lua.
AddEventHandler(Config.EventHaveItem, function(target, cb) -- if true -- cb(true)
-- if false -- cb(false)end)Пример реализации с ox_inventory
Раздел с заголовком «Пример реализации с ox_inventory»Вот пример реализации с использованием ox_inventory:
AddEventHandler(Config.EventHaveItem, function(src, cb) local count = exports.ox_inventory:Search(src, 'count', 'ammo-dartrifle')
if not count or count == 0 then if Config.Debug then print("[ERROR] Could not retrieve ammo count for player " .. src .. ".") end cb(false) return end
if Config.Debug then print("[INFO] Player " .. src .. " have 1 ammo or more.") end cb(true)end)В файле weapons.lua добавьте определение оружия и боеприпасов для винтовки с парализующими дротиками:
Weapons = { ['WEAPON_DARTRIFLE'] = { label = 'Stun dart rifle', weight = 2500, durability = 0.1, ammoname = 'ammo-dartrifle', client = { image = 'stun_dart_rifle.png', export = 'ox_inventory.giveWeaponComponent', component = 'COMPONENT_AT_SCOPE_LARGE' } }, },
Ammo = { ["ammo-dartrifle"] = { label = 'Stun dart rifle ammunition', weight = 20, client = { image = 'stun_dart_rifle_ammo.png', } }, }Добавьте изображения stun_dart_rifle.png и stun_dart_rifle_ammo.png в папку web/images ox_inventory.
Готово! Теперь у вас есть функциональная система боеприпасов для оглушающего дротика.
Лучшие практики
Раздел с заголовком «Лучшие практики»- Используйте локальные переменные (
local), чтобы ограничить область действия целевой функцией или скриптом.