Aller au contenu principal

API d'Effet d'Utilisation d'Objet

Le script dream_vending utilise un système centralisé (DreamCore.Items) pour définir comment les objets affectent le joueur lorsqu'ils sont utilisés. Cet API vous permet d'assigner facilement des effets aux objets tels que la guérison, les animations, ou des effets visuels comme l'ivresse.

🔧 Utilisation

Pour rendre un objet utilisable avec des effets, définissez-le dans la table DreamCore.Items avec une fonction use :

DreamCore.Items = {
['mocha'] = { -- Il s'agit du nom de l'objet tel que défini dans votre système d'objets (par exemple, mocha, water, burger)
use = function(playerId)
TriggerClientEvent('dream_vending:client:ApplyItemEffects', playerId, {
-- Les effets sont transmis sous forme de liste (tableaux) de tables.
{ type = 'addArmor', amount = 2 }, -- Le joueur obtiendra d'abord 2 points d'armure
{ type = 'drinkAnim', prop = 'ng_proc_coffee_01a' } -- Après l'armure, il boit
})
end
},

-- Ajoutez plus d'objets ;)
}

💡 Remarque : Si un autre script gère l'objet, ne l'incluez tout simplement pas dans DreamCore.Items.

⚙️ Types d'Effets Supportés

Ci-dessous se trouve une liste des valeurs de type supportées pour l'événement dream_vending:client:ApplyItemEffects :


🩺 addHeal

Augmente la santé du joueur.

{ type = 'addHeal', amount = 10 }

💔 removeHeal

Réduit la santé du joueur.

{ type = 'removeHeal', amount = 10 }

🛡️ addArmor

Augmente l'armure du joueur.

{ type = 'addArmor', amount = 10 }

💥 removeArmor

Réduit l'armure du joueur.

{ type = 'removeArmor', amount = 10 }

🍔 eatAnim

Joue une animation de repas. Définissez éventuellement un accessoire.

{ type = 'eatAnim', prop = 'prop_cs_burger_01' }

🥤 drinkAnim

Joue une animation de boisson. Définissez éventuellement un accessoire.

{ type = 'drinkAnim', prop = 'prop_ecola_can' }

🍻 ivre

Applique un effet visuel et de mouvement d'ivresse.

Paramètres optionnels :

  • intensité (float): Force de secousse de la caméra
  • trèsIvre (boolean): Change le style de marche
{ type = 'drunk', intensité = 1.0, trèsIvre = true }

⏱️ Effets Différés

Vous pouvez retarder un effet avec le paramètre timeout (en millisecondes) :

{ type = 'addHeal', amount = 10, timeout = 3000 }

💡 Conseils

  • Vous pouvez empiler plusieurs effets dans un seul objet.
  • Essayez de rester réaliste : un whisky contient plus d'alcool qu'une piña colada.
  • Utilisez des accessoires qui existent dans GTA V (par exemple, prop_ecola_can, ng_proc_coffee_01a, etc.).
  • Vous voulez des effets personnalisés ? Ajoutez une nouvelle gestion de effectType à l'événement ApplyItemEffects (Vous devez acheter la version source).