twinded_scope
Un systeme d'accessoire de lunette d'arme pour RedM. Les joueurs peuvent attacher et retirer des lunettes sur leurs armes en utilisant des items d'inventaire, avec des animations et un stockage persistant.
Dependances
| Ressource | Requise | Notes |
|---|---|---|
| vorp_core | Oui | Framework |
| vorp_inventory | Oui | Systeme d'inventaire |
| twinded_libs | Oui | Librairie partagee gratuite |
| oxmysql | Oui | Base de donnees |
Compatibilite
VORP Framework uniquement — ce script lit directement depuis la table loadout de VORP.
Installation
Importez le fichier SQL (
sql.sql) pour creer les items de lunette dans votre base de donnees d'inventaire.Ajoutez a votre config serveur :
ensure twinded_libs
ensure twinded_scopeFichiers de configuration
| Fichier | Description |
|---|---|
settings.lua | Mode debug, parametres d'animation, mapping des items de lunette, definitions d'armes |
lang.lua | Chaines de traduction |
sql.sql | Requetes SQL pour inserer les items de lunette dans votre inventaire |
Consultez le guide de configuration pour savoir comment surcharger ces fichiers.
Reference de configuration
settings.lua
| Option | Type | Defaut | Description |
|---|---|---|---|
Config.Debug | boolean | false | Activer le logging de debug |
Config.Animation | boolean | true | Activer/desactiver l'animation d'attachement |
Config.Anim.AnimDict | string | "mech_inspection@..." | Dictionnaire d'animation |
Config.Anim.AnimName | string | "aim_enter" | Nom de l'animation |
Config.Anim.AnimDuration | number | 1500 | Duree de l'animation (millisecondes) |
Config.UseScopeItems | boolean | true | Si les items de lunette sont consommes depuis l'inventaire |
Config.CloseInventory | boolean | true | Fermer automatiquement l'inventaire apres l'action |
Config.RemoveScopeWithCommand | boolean | true | Activer la commande de retrait de lunette |
Config.RemoveScopeCommand | string | "retirerlunette" | Commande pour retirer une lunette attachee |
Config.RemoveScopeCooldown | number | 5000 | Cooldown entre les retraits (millisecondes) |
Armes et lunettes supportees
13 types de lunettes pour 8 familles d'armes (+ Carcano disponible en decommentant) :
| Arme | Types de lunette |
|---|---|
| Winchester | Short |
| Henry | Short |
| Evans | Short |
| Carbine | Short |
| Varmint | Short, Medium |
| Bolt Action | Short, Medium |
| Springfield | Short, Medium |
| Rolling Block | Short, Medium, Long |
Support Carcano
Les lunettes Carcano sont incluses mais commentees par defaut. Decommentez-les dans Config.ScopeItems et Config.Scopes pour activer les lunettes Short, Medium et Long pour le Carcano.
Fonctionnalites
- Lunettes par inventaire — Attachez des lunettes en utilisant des items de votre inventaire
- Systeme d'animation — Animation configurable lors de l'attachement/retrait des lunettes
- 13+ types de lunettes — Lunettes courtes, moyennes et longues pour 8+ familles d'armes
- Stockage persistant — Les lunettes survivent aux reconnexions (stockees en base de donnees)
- Commande de retrait —
/retirerlunettepour retirer une lunette attachee et recuperer l'item - Detection de conflit tiers — Detecte les lunettes ajoutees par d'autres scripts et previent les conflits
- Fermeture auto de l'inventaire — Fermeture automatique configurable apres l'attachement
- Systeme de cooldown — Prevention du spam avec un cooldown configurable
- Validation cote serveur — Systeme de validation anti-exploit avec timeout
Depannage
| Probleme | Solution |
|---|---|
| Le script ne demarre pas | Assurez-vous que twinded_libs et oxmysql sont demarres avant |
| Impossible d'attacher une lunette | Verifiez que l'arme est dans la liste supportee et que vous avez le bon item de lunette |
| Erreur "Deja installe" | L'arme a deja une lunette — retirez-la d'abord avec la commande |
| Message de cooldown | Attendez que la periode de cooldown expire avant de reessayer |
| Lunette Evans ne fonctionne pas | Apres l'attachement, rangez et re-equipez l'arme pour que ca prenne effet |
| Items de lunette absents de l'inventaire | Importez le fichier sql.sql pour creer les items dans votre base de donnees |

