Перейти к содержанию

Важные функции и переменные

В этом разделе подробно описаны основные функции и переменные, используемые или предоставляемые скриптом.
Понимание этих элементов поможет вам настроить или интегрировать скрипт с другими ресурсами.

Чтобы установить систему боеприпасов для оглушающего дротика, вы должны реализовать следующую функцию, которая будет проверять, есть ли у игрока боеприпасы перед тем, как позволить ему стрелять.

Проверка наличия боеприпасов (серверная сторона)

Раздел с заголовком «Проверка наличия боеприпасов (серверная сторона)»

Функция находится в папке: /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:

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)
end
end)

В файле 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), чтобы ограничить область действия целевой функцией или скриптом.