Важные функции и переменные
В этом разделе подробно описаны основные функции и переменные, используемые или предоставляемые скриптом.
Понимание этих элементов поможет вам настроить или интегрировать скрипт с другими ресурсами.
Основные функции
Раздел с заголовком «Основные функции»Чтобы установить систему боеприпасов для оглушающего дротика, вы должны реализовать следующую функцию, которая будет проверять, есть ли у игрока боеприпасы перед тем, как позволить ему стрелять.
Проверка наличия боеприпасов (серверная сторона)
Раздел с заголовком «Проверка наличия боеприпасов (серверная сторона)»Функция находится в папке: /server/opensource.lua.
AddEventHandler(Config.EventHasItem, function(target, cb) -- if true -- Remove one ammunition item from inventory -- cb(true)
-- if false -- cb(false)end)Пример реализации с ox_inventory
Раздел с заголовком «Пример реализации с ox_inventory»Вот пример реализации с использованием ox_inventory:
AddEventHandler(Config.EventHasItem, function(target, cb) local src = target or source
-- Check if the player has at least 1 ammunition local count = exports.ox_inventory:Search(src, 'count', 'ammo-dartrifle')
if count and count > 0 then -- Remove 1 piece of ammunition local removed = exports.ox_inventory:RemoveItem(src, 'ammo-dartrifle', 1) if removed then cb(true) else cb(false) end else cb(false) endend)В файле weapons.lua добавьте определения элементов для оглушающего дротика и его боеприпасов:
['WEAPON_DARTRIFLE'] = { label = 'Stun dart rifle', weight = 4200, durability = 0.5, ammoname = 'ammo-dartrifle', client = { image = 'dart_rifle.png', } },В файле items.lua добавьте определение элемента для боеприпасов оглушающего дротика:
["ammo-dartrifle"] = { label = 'Stun dart rifle ammunition', weight = 20, stack = true, description = 'Dart for stun dart rifle.', client = { image = 'dart_rifle_ammo.png', } },Добавьте изображения dart_rifle.png и dart_rifle_ammo.png в папку web/images ox_inventory.
Готово! Теперь у вас есть функциональная система боеприпасов для оглушающего дротика.
Лучшие практики
Раздел с заголовком «Лучшие практики»- Используйте локальные переменные (
local), чтобы ограничить область действия целевой функцией или скриптом.