Ir al contenido

Personalización

Todo lo que puedes cambiar está en dos sitios: config.lua para el comportamiento, y la carpeta bridge/ para cómo la cuerda se comunica con tu framework, tu target y tu text UI. Ambos están abiertos (listados en escrow_ignore); client/client.lua y server.lua llevan escrow.


ArchivoQué decide
config.luaFramework, nombre del ítem, sistema de interacción, textos, teclas, distancias, longitud y física de la cuerda, marcador, cooldown, límite de tiempo
bridge/server_bridge.luaObtener el framework, registrar el ítem rope como usable, comprobar que el jugador lo lleva
bridge/client_bridge.luaEl texto 3D y el marcador que se dibujan en modo drawtext, y el evento de cliente que saca la cuerda
bridge/target.luaLas opciones de ox_target y qb-target, y el paso a drawtext como alternativa
bridge/README.mdNotas breves sobre el bridge (en español)
inventory/Definiciones de ítem listas para ox_inventory, QBCore y ESX
stream/El modelo y la textura del prop de la cuerda

No hay carpeta locales/. El único texto que ven los jugadores son los textos de Config.Labels.


OpciónQué hacePor defecto
Config.Frameworkesx o qbcore. En QBox, usa qbcore — QBox ejecuta los recursos de QBCore a través de su capa de compatibilidad. Cualquier otro valor detiene el recurso al arrancaresx
Config.ItemEl ítem de inventario que hace de cuerdarope
OpciónQué hacePor defecto
Config.InteractionSystemox_target, qb-target o drawtext. Un target que no está en marcha pasa a drawtext hasta que arrancaox_target
Config.LabelsEl texto de cada acción: grab (Drag with rope), release (Release player), attach (Tie to vehicle), detach (Untie from vehicle)Inglés
Config.KeyLabelsLos nombres de tecla que se muestran en modo drawtext: Attach y VehicleE, Y
Config.ShowInteractionMarkersDibuja un marcador sobre el jugador o vehículo con el que puedes interactuar. Solo en modo drawtexttrue

Qué hace cada acción:

AcciónQuién puede hacerlaQué ocurre
Drag with ropeTú, con la cuerda en la mano, cerca de un jugador a pieEse jugador queda atado a tu mano
Release playerQuien arrastraSe quita la cuerda y el jugador se levanta
Tie to vehicleQuien arrastra, cerca de un vehículoLa cuerda pasa de tu mano a la parte trasera del vehículo
Untie from vehicleQuien la atóLa cuerda vuelve a tu mano, con el jugador todavía atado
Release player (en el vehículo)Quien la atóEl jugador queda libre del vehículo

Las teclas son números de control de FiveM. Las flechas funcionan en todos los modos; E e Y solo importan en modo drawtext (con un target, eliges la acción en el menú).

OpciónQué hacePor defecto
Config.AttachKeyAgarrar o soltar a un jugador38 (E)
Config.AttachToVehicleKeyAtar a un vehículo o desatar de él246 (Y)
Config.AdjustLengthUpKeyMantener para alargar la cuerda172 (flecha arriba)
Config.AdjustLengthDownKeyMantener para acortar la cuerda173 (flecha abajo)

Si cambias AttachKey o AttachToVehicleKey, cambia también Config.KeyLabels, o el aviso mostrará la tecla antigua.

OpciónQué hacePor defecto
Config.MaxDetectionDistanceA qué distancia (m) debe estar un jugador para poder agarrarlo. También es la distancia del target para jugadores2.0
Config.MaxVehicleAttachDistanceA qué distancia (m) debe estar un vehículo para atarle la cuerda. También es la distancia del target para vehículos5.0
Config.MarkerVisibilityDistanceSigue en config.lua, pero la versión actual no la lee — el aviso aparece para quien esté dentro de las dos distancias anteriores20.0
OpciónQué hacePor defecto
Config.InitialRopeLengthLongitud (m) al empezar a arrastrar3.0
Config.MinRopeLengthLo más corta que pueden dejarla las flechas1.0
Config.MaxRopeLengthLo más larga que pueden dejarla las flechas100.0
Config.RopeTypeEl tipo de cuerda del juego1
Config.RopeSlackSigue en config.lua, pero la versión actual no la lee — la holgura de la cuerda viene de su longitud0.5
Config.RopePropModelEl prop en la mano del jugador. El de por defecto se carga desde stream/prop_stag_do_rope
OpciónQué hacePor defecto
Config.MarkerTypeEl tipo de marcador del juego2
Config.MarkerHeightOffsetAltura (m) sobre el jugador a la que se colocan el aviso y el marcador1.0
Config.MarkerScaleTamaño del marcador0.3
Config.MarkerColorColor del marcador, como rojo, verde, azul y alfarojo, alfa 150
OpciónQué hacePor defecto
Config.DragCooldownMilisegundos entre dos acciones de cuerda1000
Config.DisableControlsBloquea todos los controles del jugador arrastrado. Desactivado, puede seguir usando sus controles mientras está en ragdolltrue
Config.EnableMaxDragTimeRompe la cuerda sola tras MaxDragTimefalse
Config.MaxDragTimeSegundos antes de que se rompa la cuerda, cuando la opción anterior está activada100
Config.NeedItemToReleaseA pie, para soltar hace falta tener la cuerda en la mano. El dueño siempre puede soltar a alguien atado a un vehículotrue

El jugador arrastrado queda en ragdoll, no puede disparar y es invencible hasta que le quitan la cuerda.


No hay archivo de idioma. Traduce los cuatro textos de Config.Labels, y Config.KeyLabels si tus jugadores usan otros nombres para las teclas.


La carpeta bridge/ está abierta para que puedas adaptar la cuerda a un entorno que no conoce. La física de la cuerda y los eventos de red se quedan en los archivos con escrow y no hace falta tocarlos.

  • server_bridge.lua — framework e inventario. Obtiene ESX o QBCore, registra Config.Item como ítem usable y responde a “¿lleva este jugador una cuerda?” cuando empieza un arrastre. Para un framework personalizado o un inventario con su propia API, reescribe Bridge.GetPlayer, Bridge.HasRope y Bridge.RegisterRopeItem. Registra el ítem en un solo sitio — dos integraciones que registren el mismo ítem lo dispararán dos veces.
  • client_bridge.lua — texto y marcador. Bridge.DrawText y Bridge.DrawMarker dibujan el aviso de drawtext en cada frame en que es visible. Sustitúyelos para usar tu propio recurso de texto 3D o de TextUI. También escucha el evento de cliente mic_drag:useRope, que saca o guarda la cuerda — dispáralo desde el callback de uso de un inventario personalizado si no usas los ítems usables del framework.
  • target.lua — menús de target. Añade y quita las opciones globales de jugador y de vehículo para ox_target y qb-target, y pasa a drawtext cuando el target se detiene. Aquí es donde añadirías otro recurso de target.

Export (cliente)Devuelve
GetInteractionStateUna tabla: mode (la interacción en uso), hasRope (cuerda en la mano), targetServerId (a quién estás arrastrando), vehicle (el vehículo al que está atada la cuerda), beingDragged, busy

Es de solo lectura: útil para un HUD, o para que otro script sepa que no debe actuar sobre un jugador que está atado a una cuerda.