Funciones y variables importantes
Esta sección detalla las funciones y variables principales utilizadas o expuestas por el script.
Comprender estos elementos te ayudará a personalizar o integrar el script con otros recursos.
Funciones principales
Sección titulada “Funciones principales”Para implementar el sistema de munición para el rifle de dardos paralizantes, debes añadir un nombre de evento e implementar la siguiente función, que comprobará si el jugador tiene munición antes de permitirle disparar.
En el archivo de configuración
Sección titulada “En el archivo de configuración”Debes codificar un nombre como el del ejemplo siguiente para configurar el uso de munición:
Config.EventHaveItem = "DETECT_IF_I_HAVE_AMMO"La variable se encuentra en la carpeta: /shared/config.lua.
Verificación de posesión de munición (lado del servidor)
Sección titulada “Verificación de posesión de munición (lado del servidor)”La función se encuentra en la carpeta: /server/opensource.lua.
AddEventHandler(Config.EventHaveItem, function(target, cb) -- if true -- cb(true)
-- if false -- cb(false)end)Ejemplo de implementación con ox_inventory
Sección titulada “Ejemplo de implementación con ox_inventory”Aquí hay un ejemplo de implementación usando 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)En el archivo weapons.lua, añade la definición del arma y la munición para el rifle de dardos paralizantes:
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', } }, }Agrega las imágenes stun_dart_rifle.png y stun_dart_rifle_ammo.png en la carpeta web/images de ox_inventory.
¡Eso es todo! Ahora tienes un sistema de municiones funcional para el rifle de dardos paralizantes.
Mejores prácticas
Sección titulada “Mejores prácticas”- Utiliza variables locales (
local) para limitar el alcance a la función o script concerniente.