YuanYuan-ScoutTwoSeater icon

ScoutTwoSeater

【Host Only MOD】 Two-seater Scout. One drives, one rides on the back. Scout 雙人座,一人駕駛一人乘客,只主機裝即可。

Last updated 2 hours ago
Total downloads 49
Total rating 0 
Categories Server-side AI Generated Quality Of Life
Dependency string YuanYuan-ScoutTwoSeater-1.0.0
Dependants 0 other packages depend on this package

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2100 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2100

README

COMPATIBLE WITH COSMETICS UPDATE V0.4.0.

ScoutTwoSeater

This mod is a host-only mod that turns the in-game Scout vehicle into a two-seater. One player drives normally, another player can hop onto the back as a passenger.

The host runs all the logic. Passengers do not need to install this mod and need no setup. When a non-mod client grabs the rear of the Scout, the host detects it and attaches that player as a ragdoll passenger on the back of the vehicle.

Main features

  • Adds a passenger seat to the Scout vehicle without modifying its prefab
  • Host-only install — passengers do not need to install this mod
  • Click the rear of the Scout with the normal grab key to ride
  • Click again (after release) to dismount
  • Front of the Scout works exactly like vanilla — driver mounts via the red button, body can still be dragged
  • The passenger does not fall off when hit by enemies (avoids seat-stealing chaos in multiplayer fights)
  • Auto-dismount when the vehicle is destroyed or the passenger is flung too far
  • Bilingual UI (English / Traditional Chinese) switchable via config
  • Configurable pull strength (Weak / Strong), seat offsets, debounce, and more
  • Auto-reloads config every 2 seconds — most options take effect without restart

Installation

  1. Install BepInEx for REPO.
  2. Place ScoutTwoSeater.dll into BepInEx/plugins.
  3. Start the game once to generate the config file.
  4. Edit the generated config if needed.
  5. Host the room with this mod installed.

Host-only behavior

Only the host needs this mod for the passenger feature to work. Passenger detection, ragdoll positioning, and physics are all handled by the host.

Players without the mod can still join and ride as passengers because this mod uses the existing Tumble + PhysGrabObject synchronization mechanisms instead of adding new networked objects.

How to use in-game

Think of the Scout as having a front end and a rear end:

  • Front end (red palm button / front half): Vanilla behavior. Grab the red palm button to drive. Grab the body itself to drag the vehicle around.
  • Rear end (back half): Grab it with the normal grab key to ride as a passenger. The player attaches to the rear of the Scout as a ragdoll.
  • Dismount: Release the grab key first, then press it again on the Scout to get off. A 1.5s debounce prevents accidental immediate dismount.

Config items

00_Setup

Setting Description Default
Language Interface language. Restart the game after switching. EN / CN EN

General

Setting Description Default Min Max
Enabled Enable the two-seater Scout. When false, Scout behaves like vanilla true - -
PassengerSeat Where the passenger sits. Back = rear of vehicle. Front = front of vehicle Back - -
ForceUnequipOnMount If true, forces the passenger to unequip their held item when they board false - -
MountDebounceSeconds Delay (seconds) after mounting before the passenger can press grab again to dismount 1.5 0.1 10
AutoDismountDistance If the passenger ragdoll drifts more than this distance (meters) from the seat, auto-dismount 8 2 30
VerboseLog Log mount/dismount details to BepInEx console. For debugging only false - -
DriverSideThresholdZ Threshold for front/back detection (Scout local Z). localZ > value = front (vanilla) / localZ <= value = rear (passenger) -0.2 -3 3
PullStrength Weak = smooth, vehicle is not pushed. Strong = passenger snaps to seat fast, but vehicle gets pushed Weak - -

Advanced

Setting Description Default Min Max
EnableHostHotkey Allow host to force themselves into the passenger seat via a hotkey. Useful for solo testing false - -
HostSelfMountKey The key the host presses to toggle being a passenger on the nearest Scout V - -
HostSelfMountRange Max distance (meters) the host needs to be within a Scout for the hotkey to take effect 6 1 30

BackOffset / FrontOffset

Local position offset (relative to Scout's local space) to which the passenger ragdoll is pulled.

Setting Description Default (Back) Default (Front)
OffsetX Local X offset (left/right) 0 0
OffsetY Local Y offset. Positive = up 1 1
OffsetZ Local Z offset. Negative usually = rear, positive = front -1 1

Known issues

  • Strong mode causes severe vehicle displacement. When PullStrength = Strong, the passenger ragdoll has a higher mass and the distance compensation factor is larger, so the Scout gets pushed around significantly when the passenger boards or when the vehicle turns sharply. If you want a calmer ride, use Weak (the default). Strong mode is kept as an option for players who prefer a tighter seat attachment.

Notes

  • The mod completely bypasses the ItemVehicle.seats[] array and manages passengers with its own dictionary. This avoids three vanilla edge cases (auto ClearSeat, distance-based TumbleVehicle, grabArea desync).
  • The mod uses OverrideDisableSpecialGrabPowers() (Hidden enemy method) instead of OverridePhysGrabForcesDisable() (driver method) — this is why passengers can still carry and use items while seated on the back.
  • Front/back detection uses grabber.physGrabPoint.position (the world point where the player grabs the Scout) transformed to local Z, not player position. This makes detection stable regardless of which side the player approaches from.

Stay tuned for updates

More features and improvements are planned for future versions.

Feedback, suggestions, and bug reports are welcome on this Thunderstore page.

※Mod created by AI


COSMETICS UPDATE V0.4.0 對應版本。

ScoutTwoSeater

這個 MOD 是主機端 MOD,把遊戲內的 Scout 載具改造成雙人座 — 一人正常駕駛、另一人可以上後座當乘客。

所有邏輯由主機處理。乘客(路人玩家)不需要安裝本 MOD,也不用任何設定。當未安裝 MOD 的客戶端抓住 Scout 後半部時,主機會偵測到並把該玩家以 ragdoll 狀態黏到 Scout 後座。

主要功能

  • 不改 Scout prefab,直接為其加上乘客座
  • 只主機裝即可 — 路人玩家不用裝本 MOD
  • 用一般抓取鍵點擊 Scout 後半即可變乘客
  • 放開後再次點擊即可下車
  • Scout 前半完全等同原版 — 駕駛從紅色按鈕上車、車身可拖動
  • 乘客被怪攻擊不會掉下車(避免多人混戰時座位被搶)
  • 車毀或乘客被甩太遠時自動下車
  • 介面雙語(英文 / 繁體中文)可在 config 切換
  • 吸力強度(Weak / Strong)、座位偏移、上下車間隔等多項可調
  • Config 每 2 秒自動 reload — 大部分選項改完不用重啟遊戲

安裝方法

  1. 為 REPO 安裝 BepInEx。
  2. ScoutTwoSeater.dll 放到 BepInEx/plugins
  3. 啟動遊戲一次,會自動產生設定檔。
  4. 視需要編輯產生的設定檔。
  5. 在已安裝本 MOD 的狀態下開房間。

主機端動作

乘客功能只需要主機安裝本 MOD。乘客偵測、ragdoll 定位、物理力套用全部由主機端處理。

未安裝 MOD 的玩家仍能加入並當乘客 — 因為本 MOD 使用既有的 Tumble + PhysGrabObject 同步機制,不引入新的網路物件。

遊戲內使用方式

把 Scout 想成有 前端後端 兩個部分:

  • 前端(紅色手掌按鈕 / 車身前半):與原版完全一樣 — 抓紅色按鈕變駕駛、抓車身可以拖動載具。
  • 後端(車身後半):用一般抓取鍵抓即可變乘客上車,玩家會以 ragdoll 狀態黏在 Scout 後方。
  • 下車:先放開抓取鍵,再按一次即可下車。有 1.5 秒緩衝避免上車當下立刻誤觸下車。

設定項目

00_Setup

設定項 說明 預設
Language 介面語言。切換後需重啟遊戲。EN / CN EN

一般

設定項 說明 預設 最小 最大
啟用雙人座 啟用雙人座 Scout。關閉後 Scout 行為與原版一致 true - -
乘客位置 乘客的位置。Back = 車尾後方 / Front = 車頭前方 Back - -
上車時強制收起手上道具 若開啟,乘客上車時把手上的道具收回物品欄 false - -
上下車按鍵間隔(秒) 乘客上車後,要等這麼久才能再次抓 Scout 觸發下車 1.5 0.1 10
自動下車距離 乘客 ragdoll 飄離 Scout 超過這個距離(米)就自動下車 8 2 30
詳細日誌 在 BepInEx 主控台輸出乘客上下車詳情。除錯用 false - -
車前後分界線Z 玩家抓住 Scout 哪個部位(Scout 本體 local Z)。localZ > 此值 = 車前部(走原版)/ localZ <= 此值 = 車後部(變乘客) -0.2 -3 3
吸力強度 Weak = 平順、車不被推。Strong = 乘客快速貼緊座位但車會被推 Weak - -

進階

設定項 說明 預設 最小 最大
啟用主機熱鍵 開啟後主機可用熱鍵強制把自己變乘客。給單人測試用 false - -
主機自我乘客切換鍵 主機按下此鍵 → 把附近最近的 Scout 當乘客車,自己上車/下車 V - -
主機自我乘客觸發距離 主機按熱鍵時,要在這距離內找到 Scout 才會生效(米) 6 1 30

車尾偏移 / 車頭偏移

乘客 ragdoll 被拉到的位置(相對 Scout 本體 local 座標)。

設定項 說明 預設(車尾) 預設(車頭)
X(左右) local X 偏移(左右) 0 0
Y(上下) local Y 偏移。正 = 上方 1 1
Z(前後) local Z 偏移。負通常 = 後方車尾、正 = 前方車頭 -1 1

已知問題

  • STRONG 模式車子會被乘客推開(位移過大)。PullStrength = Strong 時,乘客 ragdoll 的質量較大、距離補償係數也較大,所以乘客上車或車子急轉彎時 Scout 會被明顯推動位移。如果你希望平順的乘車體驗,使用預設的 Weak 模式。Strong 保留作為「希望乘客快速貼緊座位」的玩家選項。

注意事項

  • 本 MOD 完全旁路 ItemVehicle.seats[] 陣列,自己用獨立 dict 管理乘客。這避開了原版三個地雷(自動 ClearSeat、距離過遠 TumbleVehicle、grabArea 不同步)。
  • 本 MOD 使用 OverrideDisableSpecialGrabPowers()(Hidden 怪物用的方式)而非 OverridePhysGrabForcesDisable()(駕駛用的方式)— 這是乘客在後座仍能拿/用道具的關鍵。
  • 車前後判斷用 grabber.physGrabPoint.position(玩家抓 Scout 的物理世界座標)轉成 local Z,不是玩家位置。所以不論玩家從哪邊接近抓車,判斷都很穩定。

請期待後續更新

未來版本還會持續加入新功能與改進。

歡迎在本 Thunderstore 頁面留言給予建議、需求或 bug 回報。

※AI 生成 MOD