Tutto ciò che puoi modificare si trova in due posti: config.lua per il comportamento, e la cartella bridge/ per il modo in cui la corda comunica con il tuo framework, il tuo target e la tua interfaccia di testo. Entrambi sono aperti (elencati in escrow_ignore); client/client.lua e server.lua sono protetti da escrow.
| File | Cosa decide |
|---|
config.lua | Framework, nome oggetto, sistema di interazione, etichette, tasti, distanze, lunghezza e fisica della corda, marker, cooldown, limite di tempo |
bridge/server_bridge.lua | Recupero del framework, registrazione dell’oggetto rope come utilizzabile, controllo che il giocatore lo abbia con sé |
bridge/client_bridge.lua | Il testo 3D e il marker disegnati in modalità drawtext, e l’evento client che tira fuori la corda |
bridge/target.lua | Le opzioni per ox_target e qb-target, e il fallback automatico a drawtext |
bridge/README.md | Brevi note sul bridge (in spagnolo) |
inventory/ | Definizioni pronte degli oggetti per ox_inventory, QBCore ed ESX |
stream/ | Il modello 3D e la texture della corda |
Non c’è alcuna cartella locales/. L’unico testo che i giocatori vedono sono le etichette in Config.Labels.
| Opzione | Cosa fa | Predefinito |
|---|
Config.Framework | esx o qbcore. Su QBox, usa qbcore — QBox esegue le risorse QBCore tramite il suo livello di compatibilità. Qualsiasi altro valore ferma la risorsa all’avvio | esx |
Config.Item | L’oggetto dell’inventario che corrisponde alla corda | rope |
| Opzione | Cosa fa | Predefinito |
|---|
Config.InteractionSystem | ox_target, qb-target o drawtext. Un target che non è in esecuzione passa a drawtext finché non si avvia | ox_target |
Config.Labels | Il testo per ogni azione: grab (Drag with rope), release (Release player), attach (Tie to vehicle), detach (Untie from vehicle) | Inglese |
Config.KeyLabels | I nomi dei tasti mostrati in modalità drawtext: Attach e Vehicle | E, Y |
Config.ShowInteractionMarkers | Disegna un marker sopra il giocatore o il veicolo con cui puoi interagire. Solo in modalità drawtext | true |
Cosa fa ciascuna azione:
| Azione | Chi può farla | Cosa succede |
|---|
| Drag with rope | Tu, con la corda in mano, vicino a un giocatore a piedi | Quel giocatore viene legato alla tua mano |
| Release player | Chi sta trascinando | La corda viene rimossa e il giocatore si rialza |
| Tie to vehicle | Chi sta trascinando, vicino a un veicolo | La corda passa dalla tua mano al retro del veicolo |
| Untie from vehicle | Chi l’ha legata | La corda torna nella tua mano, con il giocatore ancora attaccato |
| Release player (sul veicolo) | Chi l’ha legata | Il giocatore viene liberato direttamente dal veicolo |
I tasti sono gli ID dei controlli di FiveM. Le frecce direzionali funzionano in ogni modalità; E e Y contano solo in modalità drawtext (con un target, scegli l’azione dal menu).
| Opzione | Cosa fa | Predefinito |
|---|
Config.AttachKey | Afferra o rilascia un giocatore | 38 (E) |
Config.AttachToVehicleKey | Lega o slega da un veicolo | 246 (Y) |
Config.AdjustLengthUpKey | Tieni premuto per allungare | 172 (Freccia Su) |
Config.AdjustLengthDownKey | Tieni premuto per accorciare | 173 (Freccia Giù) |
Se modifichi AttachKey o AttachToVehicleKey, modifica anche Config.KeyLabels, altrimenti il suggerimento mostrerà il vecchio tasto.
| Opzione | Cosa fa | Predefinito |
|---|
Config.MaxDetectionDistance | Quanto vicino (m) deve essere un giocatore per essere afferrato. È anche la distanza del target per i giocatori | 2.0 |
Config.MaxVehicleAttachDistance | Quanto vicino (m) deve essere un veicolo per legarvi la corda. È anche la distanza del target per i veicoli | 5.0 |
Config.MarkerVisibilityDistance | Ancora presente in config.lua, ma non letto dalla versione attuale — il suggerimento appare per chiunque sia entro le due distanze sopra | 20.0 |
| Opzione | Cosa fa | Predefinito |
|---|
Config.InitialRopeLength | Lunghezza (m) all’inizio del trascinamento | 3.0 |
Config.MinRopeLength | Lunghezza minima raggiungibile con le frecce | 1.0 |
Config.MaxRopeLength | Lunghezza massima raggiungibile con le frecce | 100.0 |
Config.RopeType | Il tipo di corda del gioco | 1 |
Config.RopeSlack | Ancora presente in config.lua, ma non letto dalla versione attuale — l’allentamento dipende dalla lunghezza | 0.5 |
Config.RopePropModel | Il modello nella mano del giocatore. Quello predefinito viene caricato da stream/ | prop_stag_do_rope |
| Opzione | Cosa fa | Predefinito |
|---|
Config.MarkerType | Il tipo di marker del gioco | 2 |
Config.MarkerHeightOffset | Altezza (m) sopra il giocatore dove si trovano suggerimento e marker | 1.0 |
Config.MarkerScale | Dimensione del marker | 0.3 |
Config.MarkerColor | Colore del marker, in rosso, verde, blu e alfa | rosso, alfa 150 |
| Opzione | Cosa fa | Predefinito |
|---|
Config.DragCooldown | Millisecondi tra due azioni con la corda | 1000 |
Config.DisableControls | Blocca ogni comando del giocatore trascinato. Se disattivato, può ancora usare i comandi mentre è in ragdoll | true |
Config.EnableMaxDragTime | Spezza la corda automaticamente dopo MaxDragTime | false |
Config.MaxDragTime | Secondi prima che la corda si spezzi, quando l’opzione sopra è attiva | 100 |
Config.NeedItemToRelease | A piedi, per rilasciare serve avere la corda in mano. Il proprietario può sempre liberare qualcuno legato a un veicolo | true |
Il giocatore trascinato è in ragdoll, non può sparare ed è invincibile finché la corda non viene rimossa.
Non c’è alcun file della lingua. Traduci le quattro stringhe in Config.Labels, e Config.KeyLabels se i tuoi giocatori usano nomi diversi per i tasti.
La cartella bridge/ è aperta per permetterti di adattare la corda a configurazioni personalizzate. La fisica della corda e gli eventi di rete restano nei file sotto escrow e non hanno bisogno di modifiche.
server_bridge.lua — framework e inventario. Recupera ESX o QBCore, registra Config.Item come oggetto utilizzabile e risponde alla domanda “questo giocatore ha una corda?” quando inizia un trascinamento. Per un framework personalizzato o un inventario con una propria API, riscrivi Bridge.GetPlayer, Bridge.HasRope e Bridge.RegisterRopeItem. Registra l’oggetto in un solo posto — due integrazioni che registrano lo stesso oggetto lo faranno attivare due volte.
client_bridge.lua — testo e marker. Bridge.DrawText e Bridge.DrawMarker disegnano il suggerimento drawtext a ogni frame in cui è visibile. Sostituiscili per usare il tuo testo 3D o una risorsa TextUI. Ascolta anche l’evento client mic_drag:useRope, che impugna o ripone la corda — attivalo dal callback di utilizzo di un inventario personalizzato se non usi gli oggetti utilizzabili del framework.
target.lua — menu target. Aggiunge e rimuove le opzioni globali su giocatori e veicoli per ox_target e qb-target, e passa a drawtext quando il target viene fermato. Un’eventuale altra risorsa di target andrebbe aggiunta qui.
| Export (client) | Restituisce |
|---|
GetInteractionState | Una tabella: mode (l’interazione in uso), hasRope (corda in mano), targetServerId (chi stai trascinando), vehicle (il veicolo a cui è legata la corda), beingDragged, busy |
È di sola lettura: utile per un HUD, o per far sapere a un altro script di non agire su un giocatore che è legato a una corda.