twinded_collect
Un script de collecte et de farming polyvalent pour RedM. Supporte la collecte par position et par modele (objets natifs du monde) avec restrictions de job, animations personnalisees, props attaches et recompenses en argent.
Dependances
| Ressource | Requise | Notes |
|---|---|---|
| twinded_libs | Oui | Librairie partagee gratuite |
Compatibilite
Cross-framework — fonctionne avec VORP, RSG, QBCore RedM, QRCore, RedEM:RP, RPX, TPZ-CORE et FRP. Le framework est auto-detecte par twinded_libs.
Installation
bash
ensure twinded_libs
ensure twinded_collectFichiers de configuration
| Fichier | Description |
|---|---|
settings.lua | Parametres principaux, points de collecte, collecte par modele |
lang.lua | Chaines de traduction |
progressbar.lua | Handler de barre de progression personnalise (quand Config.ProgressBar = 'custom') |
webhook.lua | Handler de webhook personnalise (quand Config.Webhook.type = 'custom') |
Consultez le guide de configuration pour savoir comment surcharger ces fichiers.
Reference de configuration
settings.lua
| Option | Type | Defaut | Description |
|---|---|---|---|
Config.ProgressBar | string | "default" | Systeme de barre de progression. 'default' utilise la barre integree de twinded_libs, 'custom' utilise votre handler dans progressbar.lua |
Config.InteractionDistance | number | 2.0 | Distance maximale (metres) pour interagir avec un point de collecte |
Config.PropSpawnDistance | number | 30.0 | Distance (metres) a laquelle les props dynamiques apparaissent |
Config.PropDespawnDistance | number | 50.0 | Distance (metres) a laquelle les props dynamiques disparaissent |
Config.PropCheckInterval | number | 2000 | Intervalle (millisecondes) pour verifier la distance du joueur pour le streaming des props |
Config.ModeleDetectionRadius | number | 1.75 | Rayon (metres) pour detecter les objets de collecte par modele |
Config.ModeleCooldown | number | 5000 | Cooldown (millisecondes) entre les collectes par modele par objet |
Config.Webhook.type | string | "discord" | 'discord' pour les embeds Discord integres, 'custom' pour votre propre handler |
Config.Webhook.url | string | "" | URL du webhook Discord (utilise uniquement avec le type 'discord') |
Champs des points de collecte
Chaque entree dans Config.Collect :
| Champ | Type | Description |
|---|---|---|
name | string | Nom d'affichage (utilise pour le label du blip) |
blip | string ou nil | Identifiant du sprite de blip, ou nil pour masquer de la carte |
blipScale | number | Taille du blip sur la carte (defaut : 0.6) |
label | string | Texte affiche sur le prompt d'interaction |
items | table ou nil | Items a donner : { { item = "name", min = 1, max = 3 } } |
money | table ou nil | Recompense en argent au lieu d'items : { amount = 0.3, type = "cash" } ("cash" ou "gold") |
animation | table | Config d'animation : { dict = "...", anim = "...", time = 10000 } (time en ms) |
object | table ou nil | Prop attache au joueur pendant l'animation : { name, offset = { male = {x,y,z,rx,ry,rz}, female = {...} }, bone } |
jobs | table ou nil | Jobs autorises (nil ou vide = tout le monde) |
positions | table | Liste de coordonnees : { { x, y, z }, ... } |
prop | string ou nil | Modele de prop statique a faire apparaitre a chaque position |
Collecte par modele
Chaque entree dans Config.CollectModel :
| Champ | Type | Description |
|---|---|---|
label | string | Texte affiche sur le prompt d'interaction |
models | table | Liste de hashes de modeles a detecter (syntaxe backtick) |
items | table | Items a donner : { { item = "name", min = 1, max = 3 } } |
animation | table | Config d'animation : { dict = "...", anim = "...", time = 3100 } |
jobs | table ou nil | Jobs autorises (nil ou vide = tout le monde) |
progressbar.lua
Utilise uniquement quand Config.ProgressBar = 'custom'. Gerez l'evenement :
lua
RegisterNetEvent('twinded_collect:customProgressBar', function(anim_data, time, items, money, collect_index, collect_type)
-- Demarrez votre barre de progression ici
end)Fonctionnalites
- Collecte par position — Definissez des spots sur la carte avec des coordonnees
- Collecte par modele — Recoltez des objets natifs du monde (plantes, cactus, etc.) par proximite
- Restrictions de job — Restreignez les points de collecte a des jobs specifiques
- Animations personnalisees — Animation par point de collecte avec props tenus optionnels (hache, pioche, poele...)
- Recompenses en argent — Donnez du cash ou de l'or au lieu d'items
- Streaming dynamique de props — Les props apparaissent/disparaissent selon la distance du joueur
- Logging webhook — Logging Discord ou handler personnalise
- Rate limiting — Protection anti-exploit cote serveur
Depannage
| Probleme | Solution |
|---|---|
| Le script ne demarre pas | Assurez-vous que twinded_libs est demarre avant twinded_collect |
| Pas de blips sur la carte | Verifiez que blip est defini dans la config du point de collecte (pas nil) |
| Impossible d'interagir | Verifiez Config.InteractionDistance et que le job du joueur correspond a la liste jobs |
| Les props n'apparaissent pas | Verifiez Config.PropSpawnDistance et le champ prop dans la config de collecte |
| Les items ne sont pas donnes | Verifiez que les noms d'items correspondent exactement a votre base de donnees d'inventaire |

