Przejdź do głównej zawartości

Personalizacja

Wszystko, co możesz zmienić, jest w dwóch miejscach: config.lua dla zachowania oraz folder bridge/ dla tego, jak lina komunikuje się z twoim frameworkiem, targetem i tekstowym UI. Oba są otwarte (wymienione w escrow_ignore); client/client.lua i server.lua są objęte escrow.


PlikO czym decyduje
config.luaFramework, nazwa przedmiotu, system interakcji, etykiety, klawisze, odległości, długość i fizyka liny, znacznik, cooldown, limit czasu
bridge/server_bridge.luaPobieranie frameworka, rejestrowanie przedmiotu rope jako używalnego, sprawdzanie, czy gracz go ma przy sobie
bridge/client_bridge.luaTekst 3D i znacznik rysowane w trybie drawtext oraz zdarzenie klienta, które wyciąga linę
bridge/target.luaOpcje ox_target i qb-target oraz powrót do drawtext
bridge/README.mdKrótkie notatki o bridge (po hiszpańsku)
inventory/Gotowe definicje przedmiotów dla ox_inventory, QBCore i ESX
stream/Model i tekstura propa liny

Nie ma folderu locales/. Jedyny tekst, który widzą gracze, to etykiety w Config.Labels.


OpcjaCo robiDomyślnie
Config.Frameworkesx lub qbcore. Na QBox użyj qbcore — QBox uruchamia zasoby QBCore przez swoją warstwę kompatybilności. Każda inna wartość zatrzymuje zasób przy starcieesx
Config.ItemPrzedmiot w ekwipunku, który jest linąrope
OpcjaCo robiDomyślnie
Config.InteractionSystemox_target, qb-target lub drawtext. Target, który nie działa, wraca do drawtext, dopóki nie wystartujeox_target
Config.LabelsTekst każdej akcji: grab (Drag with rope), release (Release player), attach (Tie to vehicle), detach (Untie from vehicle)Angielski
Config.KeyLabelsNazwy klawiszy pokazywane w trybie drawtext: Attach i VehicleE, Y
Config.ShowInteractionMarkersRysuje znacznik nad graczem lub pojazdem, na którym możesz wykonać akcję. Tylko tryb drawtexttrue

Co robi każda akcja:

AkcjaKto może ją wykonaćCo się dzieje
Drag with ropeTy, z liną w ręku, przy graczu stojącym na nogachTen gracz zostaje przywiązany do twojej dłoni
Release playerTen, kto ciągnieLina zostaje zdjęta, a gracz wstaje
Tie to vehicleTen, kto ciągnie, przy pojeździeLina przechodzi z twojej dłoni na tył pojazdu
Untie from vehicleTen, kto ją przywiązałLina wraca do twojej dłoni, gracz nadal jest przywiązany
Release player (na pojeździe)Ten, kto ją przywiązałGracz zostaje uwolniony z pojazdu

Klawisze to numery kontrolek FiveM. Strzałki działają w każdym trybie; E i Y mają znaczenie tylko w trybie drawtext (z targetem wybierasz akcję z menu).

OpcjaCo robiDomyślnie
Config.AttachKeyChwyta lub uwalnia gracza38 (E)
Config.AttachToVehicleKeyPrzywiązuje do pojazdu lub odwiązuje246 (Y)
Config.AdjustLengthUpKeyPrzytrzymaj, aby wydłużyć linę172 (Strzałka w górę)
Config.AdjustLengthDownKeyPrzytrzymaj, aby skrócić linę173 (Strzałka w dół)

Jeśli zmienisz AttachKey lub AttachToVehicleKey, zmień też Config.KeyLabels, bo inaczej podpowiedź pokaże stary klawisz.

OpcjaCo robiDomyślnie
Config.MaxDetectionDistanceJak blisko (m) musi być gracz, by go chwycić. To także odległość targetu dla graczy2.0
Config.MaxVehicleAttachDistanceJak blisko (m) musi być pojazd, by przywiązać do niego linę. To także odległość targetu dla pojazdów5.0
Config.MarkerVisibilityDistanceNadal w config.lua, ale nieczytane przez obecną wersję — podpowiedź pokazuje się każdemu w obrębie dwóch powyższych odległości20.0
OpcjaCo robiDomyślnie
Config.InitialRopeLengthDługość (m) na początku ciągnięcia3.0
Config.MinRopeLengthNajkrótsza, jaką mogą ustawić strzałki1.0
Config.MaxRopeLengthNajdłuższa, jaką mogą ustawić strzałki100.0
Config.RopeTypeTyp liny w grze1
Config.RopeSlackNadal w config.lua, ale nieczytane przez obecną wersję — luz liny wynika z jej długości0.5
Config.RopePropModelProp w dłoni gracza. Domyślny jest streamowany z stream/prop_stag_do_rope
OpcjaCo robiDomyślnie
Config.MarkerTypeTyp znacznika w grze2
Config.MarkerHeightOffsetWysokość (m) nad graczem, na której leżą podpowiedź i znacznik1.0
Config.MarkerScaleRozmiar znacznika0.3
Config.MarkerColorKolor znacznika, jako czerwony, zielony, niebieski i alfaczerwony, alfa 150
OpcjaCo robiDomyślnie
Config.DragCooldownMilisekundy między dwiema akcjami liną1000
Config.DisableControlsBlokuje wszystkie kontrolki ciągniętego gracza. Po wyłączeniu może nadal używać swoich kontrolek, będąc w ragdollutrue
Config.EnableMaxDragTimeZrywa linę samoczynnie po MaxDragTimefalse
Config.MaxDragTimeSekundy do zerwania liny, gdy powyższa opcja jest włączona100
Config.NeedItemToReleasePieszo uwolnienie wymaga liny w ręku. Właściciel zawsze może uwolnić kogoś przywiązanego do pojazdutrue

Ciągnięty gracz jest w ragdollu, nie może strzelać i jest nieśmiertelny, dopóki lina nie zostanie zdjęta.


Nie ma pliku lokalizacji. Przetłumacz cztery teksty w Config.Labels oraz Config.KeyLabels, jeśli twoi gracze używają innych nazw klawiszy.


Folder bridge/ jest otwarty, abyś mógł dopasować linę do konfiguracji, której nie zna. Fizyka liny i zdarzenia sieciowe zostają w plikach objętych escrow i nie trzeba ich zmieniać.

  • server_bridge.lua — framework i ekwipunek. Pobiera ESX lub QBCore, rejestruje Config.Item jako używalny przedmiot i odpowiada na pytanie “czy ten gracz ma linę?”, gdy zaczyna się ciągnięcie. Dla własnego frameworka lub ekwipunku z własnym API przepisz Bridge.GetPlayer, Bridge.HasRope i Bridge.RegisterRopeItem. Rejestruj przedmiot tylko w jednym miejscu — dwie integracje rejestrujące ten sam przedmiot uruchomią go dwukrotnie.
  • client_bridge.lua — tekst i znacznik. Bridge.DrawText i Bridge.DrawMarker rysują podpowiedź drawtext w każdej klatce, w której jest widoczna. Zastąp je, aby użyć własnego zasobu tekstu 3D lub TextUI. Nasłuchuje też zdarzenia klienta mic_drag:useRope, które wyciąga linę lub ją chowa — wywołaj je z callbacku użycia własnego ekwipunku, jeśli nie używasz używalnych przedmiotów frameworka.
  • target.lua — menu targetu. Dodaje i usuwa globalne opcje gracza i pojazdu dla ox_target i qb-target oraz przełącza się na drawtext, gdy target przestaje działać. Inny zasób targetu należałoby dodać tutaj.

Export (klient)Zwraca
GetInteractionStateTabelę: mode (używana interakcja), hasRope (lina w ręku), targetServerId (kogo ciągniesz), vehicle (pojazd, do którego przywiązano linę), beingDragged, busy

Jest tylko do odczytu: przydatny dla HUD-a albo by inny skrypt wiedział, że nie należy działać na graczu, który jest na linie.