Перейти к содержимому

Настройка

Всё, что можно менять, находится в двух местах: config.lua для поведения и папка bridge/ для того, как верёвка взаимодействует с вашим фреймворком, таргетом и текстовым интерфейсом. Оба открыты (перечислены в escrow_ignore); client/client.lua и server.lua зашифрованы (escrow).


ФайлЗа что отвечает
config.luaФреймворк, название предмета, система взаимодействия, подписи, клавиши, расстояния, длина и физика верёвки, маркер, кулдаун, ограничение по времени
bridge/server_bridge.luaПолучение фреймворка, регистрация предмета rope как используемого, проверка наличия его у игрока
bridge/client_bridge.lua3D-текст и маркер в режиме drawtext, а также клиентское событие, достающее верёвку
bridge/target.luaОпции ox_target и qb-target и переключение на drawtext
bridge/README.mdКороткие заметки по bridge (на испанском)
inventory/Готовые определения предметов для ox_inventory, QBCore и ESX
stream/Модель и текстура пропа верёвки

Папки locales/ нет. Единственный текст, который видят игроки, — подписи в Config.Labels.


ПараметрЧто делаетПо умолчанию
Config.Frameworkesx или qbcore. На QBox используйте qbcore — QBox запускает ресурсы QBCore через слой совместимости. Любое другое значение останавливает ресурс при запускеesx
Config.ItemПредмет инвентаря, который является верёвкойrope
ПараметрЧто делаетПо умолчанию
Config.InteractionSystemox_target, qb-target или drawtext. Незапущенный таргет откатывается на drawtext, пока не запуститсяox_target
Config.LabelsТекст каждого действия: grab (Тащить на верёвке), release (Отпустить игрока), attach (Привязать к транспорту), detach (Отвязать от транспорта)Английский
Config.KeyLabelsНазвания клавиш, показываемые в режиме drawtext: Attach и VehicleE, Y
Config.ShowInteractionMarkersРисовать маркер над игроком или транспортом, с которым можно взаимодействовать. Только режим drawtexttrue

Что делает каждое действие:

ДействиеКто может выполнитьЧто происходит
Тащить на верёвкеВы, с верёвкой в руке, рядом с игроком, стоящим на ногахЭтот игрок привязывается к вашей руке
Отпустить игрокаТот, кто тащитВерёвка снимается, и игрок встаёт
Привязать к транспортуТот, кто тащит, рядом с транспортомВерёвка переходит из вашей руки к задней части транспорта
Отвязать от транспортаТот, кто привязалВерёвка возвращается в вашу руку, игрок остаётся привязанным
Отпустить игрока (на транспорте)Тот, кто привязалИгрок отпускается с транспорта

Клавиши — это номера контролов FiveM. Стрелки работают во всех режимах; E и Y важны только в режиме drawtext (при использовании таргета вы выбираете действие в меню).

ПараметрЧто делаетПо умолчанию
Config.AttachKeyСхватить или отпустить игрока38 (E)
Config.AttachToVehicleKeyПривязать к транспорту или отвязать246 (Y)
Config.AdjustLengthUpKeyУдерживайте, чтобы удлинить верёвку172 (стрелка вверх)
Config.AdjustLengthDownKeyУдерживайте, чтобы укоротить верёвку173 (стрелка вниз)

Если вы меняете AttachKey или AttachToVehicleKey, измените и Config.KeyLabels, иначе в подсказке останется старая клавиша.

ПараметрЧто делаетПо умолчанию
Config.MaxDetectionDistanceНасколько близко (м) должен быть игрок, чтобы его можно было схватить. Также дистанция таргета для игроков2.0
Config.MaxVehicleAttachDistanceНасколько близко (м) должен быть транспорт, чтобы привязать к нему верёвку. Также дистанция таргета для транспорта5.0
Config.MarkerVisibilityDistanceВсё ещё есть в config.lua, но текущая версия его не читает — подсказка показывается всем, кто находится в пределах двух расстояний выше20.0
ПараметрЧто делаетПо умолчанию
Config.InitialRopeLengthДлина (м) в начале буксировки3.0
Config.MinRopeLengthМинимальная длина, до которой можно укоротить стрелками1.0
Config.MaxRopeLengthМаксимальная длина, до которой можно удлинить стрелками100.0
Config.RopeTypeТип верёвки в игре1
Config.RopeSlackВсё ещё есть в config.lua, но текущая версия его не читает — провисание верёвки определяется её длиной0.5
Config.RopePropModelПроп в руке игрока. Стандартный стримится из stream/prop_stag_do_rope
ПараметрЧто делаетПо умолчанию
Config.MarkerTypeТип маркера в игре2
Config.MarkerHeightOffsetВысота (м) над игроком, на которой находятся подсказка и маркер1.0
Config.MarkerScaleРазмер маркера0.3
Config.MarkerColorЦвет маркера: красный, зелёный, синий и альфакрасный, альфа 150
ПараметрЧто делаетПо умолчанию
Config.DragCooldownМиллисекунды между двумя действиями с верёвкой1000
Config.DisableControlsБлокировать все контролы буксируемого игрока. Если выключено, он сможет пользоваться управлением, находясь в рэгдоллеtrue
Config.EnableMaxDragTimeРвать верёвку самостоятельно по истечении MaxDragTimefalse
Config.MaxDragTimeСекунды до разрыва верёвки, когда включён параметр выше100
Config.NeedItemToReleaseЧтобы отпустить игрока на земле, верёвка должна быть в руке. Владелец всегда может отпустить игрока, привязанного к транспортуtrue

Буксируемый игрок падает в рэгдолл, не может стрелять и неуязвим, пока верёвка не снята.


Файла локали нет. Переведите четыре строки в Config.Labels и Config.KeyLabels, если ваши игроки используют другие названия клавиш.


Папка bridge/ открыта, чтобы вы могли подогнать верёвку под неизвестную ей конфигурацию. Физика верёвки и сетевые события остаются в зашифрованных файлах, и менять их не нужно.

  • server_bridge.lua — фреймворк и инвентарь. Получает ESX или QBCore, регистрирует Config.Item как используемый предмет и отвечает на вопрос «есть ли у этого игрока верёвка?» при начале буксировки. Для собственного фреймворка или инвентаря со своим API перепишите Bridge.GetPlayer, Bridge.HasRope и Bridge.RegisterRopeItem. Регистрируйте предмет только в одном месте — если две интеграции регистрируют один предмет, он сработает дважды.
  • client_bridge.lua — текст и маркер. Bridge.DrawText и Bridge.DrawMarker рисуют подсказку drawtext в каждом кадре, пока она видна. Замените их, чтобы использовать свой 3D-текст или ресурс TextUI. Он также слушает клиентское событие mic_drag:useRope, которое достаёт или убирает верёвку — вызывайте его из колбэка использования вашего инвентаря, если вы не используете предметы фреймворка.
  • target.lua — меню таргета. Добавляет и удаляет глобальные опции игроков и транспорта для ox_target и qb-target и переключается на drawtext, когда таргет останавливается. Другой ресурс таргета нужно добавлять здесь.

Экспорт (клиент)Возвращает
GetInteractionStateТаблицу: mode (используемое взаимодействие), hasRope (верёвка в руке), targetServerId (кого вы тащите), vehicle (транспорт, к которому привязана верёвка), beingDragged, busy

Только для чтения: полезно для HUD или чтобы другой скрипт знал, что не нужно действовать на игрока, находящегося на верёвке.