關於此模組
瞄準你的路 — 如何釣魚
v0.1.0 — 早期版本。可乾淨載入與修補;輔助程式的 感受 尚未针对线上实战进行调校。
針對滑鼠與鍵盤玩家的輕度瞄準輔助,會依實際獲得的協助程度等比降低傷害——並附帶其他射擊遊戲的靈敏度轉換器。
目標是一個大廳能接受的真正輔助功能,而非隱藏優勢。
主持还是客户端?
完全在客户端运行。无需主机协作,其他人也无需安装任何东西。
- 辅助仅在旋转时生效 你的 摄影机。关于它没有任何联网的部分。
- 傷害減免是真實的,不是表面功夫。在這款遊戲中,傷害是 客户端权威: 你的客戶端計算傷害並告知伺服器套用(
玩家生命值.局部命中→Server.命中玩家, 及投射物管理器在射手机器的每個投射物上蓋上傷害印記)。因此,當此模組局部降低你的傷害時,它 是 已降低——没有服务器端数值覆盖它。
這是一把雙面刃,而且值得明白說清楚:由於遊戲在傷害計算上信任客戶端,這個模組的誠實性是模組自身的屬性,並非伺服器強制的行為。對於任何使用這個版本的人來說,懲罰都是真實存在的。
为什么这不是自动瞄准
游戏本身已内置瞄准辅助功能(PlayerAimAssist) — 用於控制器,在瞄準時。此模組保留了該設計並移除了控制器限制。具體而言:
- 它掛接了遊戲自身的擴展點。
PlayerCamera.ApplyAimAssist()已经询问过了PlayerAimAssist.GetRotationDelta(..)每幀進行一次旋轉微調。該方法是補丁目標,因此輔助功能會在遊戲設定的位置運行,並繼承其手感。 - 它永远不会瞄准玩家。 香草扫描正在进行
ItemManager.Items並取得每個物品的生物因此它只會追蹤魚類和動物。這個模組也一樣,而且刻意不提供針對玩家的選項。正是這項特性讓「不算作弊」的說法站得住腳,也正因如此,與其他玩家對戰完全不受影響。 - 无法咬合。 拉力是朝向目标的指数逼近,并以硬性限制为上限。
最大旋转速度(预设 90°/秒)。代码中没有任何即时修正。 - 你總是贏。 拉力的大小会随着你转向的速度而减小;超过
手动覆盖每秒度数(預設 140°/秒)它會完全停止。甩動永遠勝過輔助。 - 狹窄獲取。 預設12°半角,需視線直視,上限60米——這是遊戲自身的數值。
- 它拒絕在不受懲罰的情況下運行。 若傷害懲罰更新檔未能生效,輔助功能會自行停用,而非變成直接優勢。
傷害懲罰是比例制的,而非固定值。 模組會持續記錄衰減中的瞄準角度數值。 它 “做了什么”对比“数量多少” 你 已实现。該比例驅動了削減:
伤害 x= 1 - (MaxDamagePenalty * assistShare)
手動瞄準並命中目標:無懲罰。讓輔助系統為你追蹤目標再射擊:完整懲罰。此懲罰會在 附件.傷害,這是唯一一條所有射擊傷害都會流經的屬性,因此即時命中與飛行彈體皆涵蓋在內。商店的屬性面板讀取的是底層陣列而非此屬性,所以顯示的武器數值保持真實。
靈敏度轉換器
这部分是精确的,而非目测的。来自 玩家摄像机。鼠标输入:
LookInput = new Vector2(-raw.y, raw.x) * _sensitivity * SensMulti * 0.025f; _rot += LookInput;
_rot 以度数为单位,且 raw 輸入系統的滑鼠增量是以計數為單位,因此:
每个滑鼠計數的度數 =
靈敏度 × 0.025(在腰射时,即SensMulti == 1)
因此,使用cm/360作为通用单位(因其不受视野与分辨率影响)可得:
$$\text{遊戲靈敏度} = \frac{360 \times 2.54}{\text{公分/360} \times \text{DPI} \times 0.025} = \frac{36576}{\text{公分/360} \times \text{DPI}}$$
示范范例:CS2 @ 1.0 / 800 DPI 為 51.95 公分/360 → 此遊戲需要 0.880. 遊戲預設值0.5大約是 91 公分/360 800 DPI 下,以競技標準而言算是慢的。
按下 F10 用於面板。選擇一個遊戲,輸入你的靈敏度和DPI,它會顯示要使用的數值以及轉換前後的cm/360。 套用 通过它来写入 PlayerCamera.SetSensitivity.
请注意,游戏已根据缩放比例正确调整灵敏度—— SensMulti = _curFov / _origFov — 因此,你的瞄准灵敏度能在無需額外輔助下保持比例一致。這就是360度距離匹配縮放,通常在競技玩法中比較常見的選擇。
視野範圍
以游戏实测为准,而非凭空猜测:
| 滑桿範圍 | 40–140 垂直 = 66–157橫向 在16:9比例下 |
| 默认 | 74 垂直 = 106.5水平 16:9 比例下 |
那些是 游戏自身的限制,在執行時讀取其選項滑桿。此模組不會拓寬它們,且面板的視野框會將你輸入的數值限制在同一範圍內。
两件值得知道的事。
Unity的 視野 是垂直的但每个射击游戏都以水平视野为基准,因此两者无法直接比较。该面板会同时显示两者,并使用你实际分辨率的长宽比。巧的是,默认的74度垂直视野换算后约为106.5度水平视野——与CS2的106.26度相差不到四分之一度,所以默认视野已经与CS等效。
基礎視野會改變您的瞄準靈敏度。 因为 SensMulti = curFov / baseFov,瞄準時靈敏度乘以 AdsFov / baseFov提升你的基础视野後,你的瞄準視角會隨之增加。 較慢面板会显示你手持物品的精确倍率。
FOV 持續性錯誤
選項選單會儲存您的視野範圍(FOV)設定。 PlayerPrefs.SetInt("FOV", …) 但卻使其裝載了
PlayerPrefs.GetInt("Fov", 74). PlayerPrefs 鍵值區分大小寫,因此兩者永遠不會相遇,而你的視野範圍(FOV)會在每次啟動時重置為74——在滑桿的兩個極端值處,靜悄悄地將你的瞄準靈敏度改變最多達1.9倍。
修复视野持续化 (預設開啟)將已儲存的值鏡像到遊戲實際讀取的按鍵中,若選單已載入錯誤的值,則在目前工作階段強制覆寫。已在登錄檔中驗證:兩者皆然 FOV_h193442778 而且 Fov_h193443802 现在持有相同的价值。
注意:滑桿在啟用時似乎會觸發其變更回調,因此第一次修復可能會釘住滑桿的序列化預設值,而非您選擇的值。請透過面板設定一次您的視野範圍。 套用視野範圍 按鈕來刻意釘住它——這樣會同時寫入兩個按鍵。
兩種轉換方式
此面板让你直接做出选择:
- 保持相同的转向速度 (預設) — 滑鼠移動的距離與你另一款遊戲中旋轉一整圈所需的距離相同。忽略視野範圍,因此非常精確。
- 調整以適應視野差異 — 若兩款遊戲顯示的世界範圍不同,這會影響瞄準 感觉 畫面上的相同位置,而非以相同速率轉動。需要該遊戲的視野(FOV)設定。
多数人想要第一个。第二个之所以存在,是因为如果你从103°的游戏转到116°的游戏,即使数值一致,直接匹配原始转向速度也会感觉太快。
有個 视野调整强度 在第二模式的配置中,如果你已經知道自己想要將調整權重偏向螢幕邊緣而非中央。如果那句話對你來說毫無意義,你就不需要它。
預設集
Counter-Strike 2 / CS:GO · Valorant · Apex Legends · Overwatch 2 · Team Fortress 2 · Quake
靈敏度取決於自身視野範圍滑桿(《虹彩六號:圍攻行動》)或採用非線性百分比刻度(《要塞英雄》)的遊戲,是刻意為之。 缺席 而非近似值。请使用 cm/360 该字段适用于那些——从任何在线计算器中读取的数字,对所有游戏都是精确的。
警告
此轉換假設一個輸入系統的delta單位等於一個滑鼠計數——在Windows指針速度為預設的6/11且關閉「增強指針精確度」時為真。如果您啟用了指針加速,任何轉換器都無法給出穩定的答案。
設定
BepInEx/config/howtofish.aimurway.cfg. 快捷鍵: F9 辅助 开/关 F10 转换器面板。
協助
| 設定 | 默认 | |
|---|---|---|
力量 |
0.55 |
拉力应用的比率。1 表示与游戏控制器辅助一致 |
锐利度 |
8 |
它多么急切地拉近距离。越高越黏人 |
最大旋转速度 |
90 |
硬性上限(°/秒)。這是防止瞬間轉向的機制。 |
手動覆寫度/秒 |
140 |
快速轉動即可完全避開輔助推進 |
获取角度 |
12 |
半角以拾取目标。保持小 |
击破角度 |
35 |
锁定目标被丢弃时的角度 |
最大距離 |
60 |
公尺。這是遊戲本身的預設單位。 |
髋部辅助发力 |
false |
Vanilla僅限瞄準射擊;關閉此選項更貼近原始意圖 |
AlsoAssistController |
假 |
关闭,因此不会与内置控制器辅助叠加 |
公平
| 設定 | 默认 | |
|---|---|---|
傷害懲罰 |
真 |
以伤害换取瞄准辅助 |
最大傷害懲罰 |
0.3 |
最大降幅,于完全辅助份额时。 0.3 = −30% |
罚款窗口秒数 |
1.5 |
辅助使用次数会计入你多久 |
设定 ShowDebugText = true 下 [診斷] 觀看目標鎖定、即時輔助分享和當前傷害倍率——這是調整的最快方式 力量 看看惩罚是否生效。
状态与剩余内容
已验证:插件正常載入、綁定遊戲,並完成兩個Harmony修補套用。PlayerAimAssist.GetRotationDelta, 取得附件_傷害) 且无任何错误。
尚未完成:
- 感觉失调了。 預設值是經過合理推論,而非實際遊玩測試。
力量和鋒利度先調整這兩個,接著顯示除錯文字开启。 - 近战已解鎖。
近战有其自身的伤害路径,因此该惩罚不适用于它。今天没问题,因为辅助仅帮助远程瞄准。 - 大厅侧无揭露。 沒有聊天公告或主機端的限制。如果你和在意的人一起玩,直接告訴他們吧。
設計筆記
不像准星模组,这个模组 變更 行為,因此Harmony修補程式不可避免。它們被限制在兩個穩定的擴展點上,且仍然沒有對編譯期的引用。
Assembly-CSharp — 所有內容皆於執行時期以名稱解析,因此遊戲更新後只會記錄警告並停用功能,而不會導致崩潰。
