Aller au contenu

Fonctions et variables importantes

Cette section détaille les principales fonctions et variables utilisées ou exposées par le script.
Comprendre ces éléments vous aidera à personnaliser ou à intégrer le script à d’autres ressources.

Afin de mettre en place le système de munitions pour la carabine à fléchettes paralysantes, vous devez ajouter un nom d’event et implémenter la fonction ci-dessous qui vérifiera si le joueur possède des munitions avant de lui permettre de tirer.

Il faut encoder un nom comme l’exemple ci-dessous afin de mettre en place l’utilisation des munitions :

Config.EventHaveItem = "DETECT_IF_I_HAVE_AMMO"

La variable se situe dans le dossier : /shared/config.lua.

Vérification de la possession des munitions (côté server)

Section intitulée « Vérification de la possession des munitions (côté server) »

La fonction se situe dans le dossier : /server/opensource.lua.

AddEventHandler(Config.EventHaveItem, function(target, cb)
-- if true
-- cb(true)
-- if false
-- cb(false)
end)

Voici un exemple d’implémentation utilisant 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)

Dans le fichier weapons.lua, ajoutez la définition de l’arme et de la munition pour la carabine à fléchettes paralysantes :

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

Ajoutez les images stun_dart_rifle.png et stun_dart_rifle_ammo.png dans le dossier web/images de ox_inventory.

C’est tout ! Vous avez maintenant un système de munitions fonctionnel pour la carabine à fléchettes paralysantes.

  • Utilisez les variables locales (local) pour limiter la portée à la fonction ou au script concerné.