Pular para o conteúdo

Personalização

Tudo o que você pode alterar está em dois lugares: config.lua para o comportamento, e a pasta bridge/ para como a corda se comunica com o seu framework, seu target e sua interface de texto. Ambos são abertos (listados em escrow_ignore); client/client.lua e server.lua possuem escrow.


ArquivoO que ele decide
config.luaFramework, nome do item, sistema de interação, rótulos, teclas, distâncias, comprimento e física da corda, marcador, cooldown, limite de tempo
bridge/server_bridge.luaObter o framework, registrar o item rope como utilizável, verificar se o jogador o possui
bridge/client_bridge.luaO texto 3D e o marcador desenhados no modo drawtext, e o evento client que tira a corda
bridge/target.luaAs opções de ox_target e qb-target, e o fallback para drawtext
bridge/README.mdNotas curtas sobre a bridge (em espanhol)
inventory/Definições prontas de itens para ox_inventory, QBCore e ESX
stream/O modelo do prop da corda e sua textura

Não há pasta locales/. O único texto que os jogadores veem são os rótulos em Config.Labels.


OpçãoO que fazPadrão
Config.Frameworkesx ou qbcore. No QBox, use qbcore — o QBox executa resources QBCore através de sua camada de compatibilidade. Qualquer outro valor para o resource ao iniciaresx
Config.ItemO item de inventário que representa a cordarope
OpçãoO que fazPadrão
Config.InteractionSystemox_target, qb-target ou drawtext. Um target que não esteja rodando muda para drawtext até iniciarox_target
Config.LabelsO texto para cada ação: grab (Drag with rope), release (Release player), attach (Tie to vehicle), detach (Untie from vehicle)Inglês
Config.KeyLabelsOs nomes das teclas mostrados no modo drawtext: Attach e VehicleE, Y
Config.ShowInteractionMarkersDesenha um marcador sobre o jogador ou veículo com o qual você pode interagir. Apenas no modo drawtexttrue

O que cada ação faz:

AçãoQuem pode fazerO que acontece
Drag with ropeVocê, com a corda na mão, perto de um jogador a péEsse jogador fica amarrado à sua mão
Release playerQuem está arrastandoA corda é removida e o jogador se levanta
Tie to vehicleQuem está arrastando, perto de um veículoA corda passa da sua mão para a traseira do veículo
Untie from vehicleQuem amarrouA corda volta para a sua mão, com o jogador ainda preso
Release player (no veículo)Quem amarrouO jogador é solto diretamente do veículo

As teclas são números de controle do FiveM. As setas funcionam em todos os modos; E e Y só importam no modo drawtext (com um target, você escolhe a ação pelo menu).

OpçãoO que fazPadrão
Config.AttachKeyAgarrar ou soltar um jogador38 (E)
Config.AttachToVehicleKeyAmarrar ou desamarrar de um veículo246 (Y)
Config.AdjustLengthUpKeySegure para alongar a corda172 (Seta para Cima)
Config.AdjustLengthDownKeySegure para encurtar a corda173 (Seta para Baixo)

Se você alterar AttachKey ou AttachToVehicleKey, altere Config.KeyLabels também, ou o aviso mostrará a tecla antiga.

OpçãoO que fazPadrão
Config.MaxDetectionDistanceQuão perto (m) um jogador deve estar para ser agarrado. Também é a distância do target para jogadores2.0
Config.MaxVehicleAttachDistanceQuão perto (m) um veículo deve estar para amarrar a corda nele. Também é a distância do target para veículos5.0
Config.MarkerVisibilityDistanceAinda presente em config.lua, mas não é lido pela versão atual — o aviso aparece para quem estiver dentro das duas distâncias acima20.0
OpçãoO que fazPadrão
Config.InitialRopeLengthComprimento (m) quando o arrasto começa3.0
Config.MinRopeLengthO menor comprimento que as setas podem deixar1.0
Config.MaxRopeLengthO maior comprimento que as setas podem deixar100.0
Config.RopeTypeO tipo de corda do jogo1
Config.RopeSlackAinda presente em config.lua, mas não é lido pela versão atual — a folga da corda vem do seu comprimento0.5
Config.RopePropModelO prop na mão do jogador. O padrão é transmitido a partir de stream/prop_stag_do_rope
OpçãoO que fazPadrão
Config.MarkerTypeO tipo de marcador do jogo2
Config.MarkerHeightOffsetAltura (m) acima do jogador onde o aviso e o marcador ficam1.0
Config.MarkerScaleTamanho do marcador0.3
Config.MarkerColorCor do marcador, em vermelho, verde, azul e alfavermelho, alfa 150
OpçãoO que fazPadrão
Config.DragCooldownMilissegundos entre duas ações de corda1000
Config.DisableControlsBloqueia todos os controles do jogador sendo arrastado. Desativado, ele ainda pode usar controles em ragdolltrue
Config.EnableMaxDragTimeRompe a corda sozinha após MaxDragTimefalse
Config.MaxDragTimeSegundos antes da corda se romper, quando a opção acima está ativada100
Config.NeedItemToReleaseA pé, soltar exige a corda na mão. O dono sempre pode soltar alguém amarrado a um veículotrue

O jogador sendo arrastado fica em ragdoll, não pode atirar e fica invencível até que a corda seja removida.


Não há arquivo de idioma. Traduza as quatro strings em Config.Labels, e Config.KeyLabels se os seus jogadores usarem nomes de teclas diferentes.


A pasta bridge/ é aberta para que você possa adaptar a corda a uma estrutura que ela não conhece. A física da corda e os eventos de rede permanecem nos arquivos protegidos por escrow e não precisam ser alterados.

  • server_bridge.lua — framework e inventário. Obtém o ESX ou QBCore, registra Config.Item como um item utilizável e responde “este jogador tem uma corda?” quando um arrasto começa. Para um framework próprio ou um inventário com API própria, reescreva Bridge.GetPlayer, Bridge.HasRope e Bridge.RegisterRopeItem. Registre o item em apenas um lugar — duas integrações registrando o mesmo item farão com que ele dispare duas vezes.
  • client_bridge.lua — texto e marcador. Bridge.DrawText e Bridge.DrawMarker desenham o aviso drawtext a cada frame em que ele está visível. Substitua-os para usar seu próprio texto 3D ou resource de TextUI. Ele também escuta o evento client mic_drag:useRope, que pega ou guarda a corda — dispare isso a partir do callback de uso de um inventário próprio caso você não use os itens utilizáveis do framework.
  • target.lua — menus de target. Adiciona e remove as opções globais de jogador e veículo para ox_target e qb-target, e alterna para drawtext quando o target para. Outro resource de target seria adicionado aqui.

Export (client)Retorna
GetInteractionStateUma tabela: mode (a interação em uso), hasRope (corda na mão), targetServerId (quem você está arrastando), vehicle (o veículo ao qual a corda está amarrada), beingDragged, busy

É somente leitura: útil para um HUD, ou para que outro script saiba que não deve interagir com um jogador que está preso a uma corda.