

AimUrWay
เกี่ยวกับม็อดนี้
เล็งเป้าให้ดี — วิธีตกปลา
v0.1.0 — เวอร์ชันต้นแบบ โหลดและแพตช์ได้อย่างราบรื่น; ระบบช่วยเหลือ รู้สึก ยังไม่ได้ปรับแต่งสำหรับการเล่นจริง
โหมดช่วยเล็งแบบนุ่มนวลสำหรับผู้เล่นเมาส์และคีย์บอร์ด พร้อมโทษดาเมจที่ปรับตามความช่วยเหลือที่คุณใช้จริง — บวกกับตัวแปลงความไวจากเกมยิงอื่น ๆ
เป้าหมายคือเครื่องมือช่วยการเข้าถึงที่แท้จริงซึ่งล็อบบี้ยอมรับได้ ไม่ใช่ข้อได้เปรียบที่ซ่อนเร้น
โฮสต์หรือไคลเอนต์?
ฝั่งไคลเอนต์ล้วน ๆ ไม่ต้องพึ่งโฮสต์ และคนอื่นไม่ต้องติดตั้งอะไรเพิ่มเติม
- ผู้ช่วยจะหมุนเฉพาะเมื่อถูกสั่งเท่านั้น ของคุณ กล้อง ไม่มีอะไรเกี่ยวกับมันที่เชื่อมต่อกับเครือข่าย
- โทษความเสียหายเป็นเรื่องจริง ไม่ใช่แค่เครื่องสำอาง ความเสียหายในเกมนี้ client-authoritative: : ไคลเอนต์ของคุณคำนวณความเสียหายและแจ้งให้เซิร์ฟเวอร์นำไปใช้ (
PlayerVitals.LocalHit→เซิร์ฟเวอร์.โจมตีผู้เล่น, และProjectileManager(ประทับตราความเสียหายลงบนลูกกระสุนแต่ละนัดของเครื่องยิง) ดังนั้นเมื่อม็อดนี้ลดความเสียหายของคุณเฉพาะจุด มัน คือ lowered — ไม่มีค่าฝั่งเซิร์ฟเวอร์มาครอบค่าไว้นี้
นั่นเป็นดาบสองคม และควรพูดให้ชัดเจน: เนื่องจากเกมไว้ใจไคลเอนต์ในเรื่องความเสียหาย ความซื่อสัตย์ของม็อดนี้จึงเป็นคุณสมบัติของตัวม็อดเอง ไม่ใช่สิ่งที่เซิร์ฟเวอร์บังคับใช้ บทลงโทษมีผลจริงสำหรับใครก็ตามที่ใช้บิลด์นี้
ทำไมเจ้านี่ถึงไม่ใช่โปรแกรมเล็งอัตโนมัติ
เกมนี้มาพร้อมระบบช่วยเล็งในตัวอยู่แล้ว (PlayerAimAssist) — สำหรับคอนโทรลเลอร์ ขณะเล็งผ่านศูนย์เล็ง ม็อดนี้คงการออกแบบนั้นไว้และยกเลิกข้อจำกัดของคอนโทรลเลอร์ โดยเฉพาะ:
- มันเชื่อมต่อกับจุดขยายของเกมเอง
ผู้เล่นกล้อง.ใช้การช่วยเล็ง()ได้ถามแล้วPlayerAimAssist.GetRotationDelta(..)หมุนนิดหน่อยในแต่ละเฟรม เมธอดนั้นคือเป้าหมายของแพตช์ ดังนั้นระบบช่วยเหลือจะทำงานในจุดที่เกมตั้งใจไว้และสืบทอดความรู้สึกของเกมมา - มันไม่เคยเล็งเป้าไปที่ผู้เล่น การสแกนแบบวานิลลาเดินหน้าไปเรื่อย ๆ
ItemManager.Itemsและนำแต่ละไอเทมสิ่งมีชีวิตดังนั้นมันจึงติดตามเฉพาะปลาและสัตว์เท่านั้น ม็อดนี้ก็ทำแบบเดียวกัน และไม่มีตัวเลือกในการกำหนดเป้าหมายผู้เล่น — ตั้งใจทำเช่นนั้น คุณสมบัติเดียวนี้เองที่ทำให้การอ้างว่า "ไม่โกง" เป็นเรื่องที่สมเหตุสมผล และมันคือเหตุผลที่การต่อสู้กับผู้เล่นคนอื่นไม่ได้รับผลกระทบ - มันไม่สามารถหักได้ การดึงคือการเข้าหาเป้าหมายแบบเอกซ์โพเนนเชียล โดยถูกจำกัดแบบฮาร์ดคลAMP
MaxRotationSpeed(ค่าเริ่มต้น 90°/วินาที) ไม่มีการแก้ไขแบบทันทีทันใดในโค้ดเลย - คุณชนะเสมอ การดึงจะลดลงตามความเร็วที่คุณหมุนตัว; เกินกว่านั้น
ManualOverrideDegPerSec(ค่าเริ่มต้น 140°/วินาที) มันหยุดสนิท การดีดไม้มักชนะระบบช่วยเหลือเสมอ - การได้มาซึ่งทรัพยากรที่จำกัด 默认12°半角,需要视线,上限60米——游戏自身的数值。
- มันปฏิเสธที่จะวิ่งโดยไม่มีการลงโทษ หากแพตช์โทษความเสียหายใช้ไม่ได้ ระบบช่วยเหลือจะปิดตัวเองแทนที่จะกลายเป็นข้อได้เปรียบโดยตรง
การลงโทษความเสียหายเป็นแบบตามสัดส่วน ไม่ใช่แบบคงที่ ม็อดนี้จะบันทึกจำนวนองศาการเล็งที่ลดลงเรื่อย ๆ มัน จำนวนผู้เข้าร่วมเทียบกับจำนวนที่ต้องการ คุณ อัตราส่วนนั้นขับเคลื่อนการลดลง:
damage x= 1 - (MaxDamagePenalty * assistShare)
เล็งเองแล้วยิงเป้า: ไม่มีโทษ ปล่อยให้ระบบช่วยเล็งติดตามเป้าให้แล้วยิง: ได้รับโทษเต็มจำนวน ซึ่งจะนำไปใช้ที่ Attachments.Damage, คุณสมบัติเดียวที่ความเสียหายของทุกรอบการยิงไหลผ่าน ดังนั้นทั้งอาวุธแบบฮิตสแกนและกระสุนเดินทางจึงครอบคลุมทั้งหมด แผงสถิติในร้านค้าอ่านค่าจากอาร์เรย์พื้นฐานแทนที่จะเป็นคุณสมบัตินี้ ดังนั้นสถิติอาวุธที่แสดงจึงยังคงมีความถูกต้องตรงไปตรงมา
ตัวแปลงค่าความไว
ส่วนนี้ถูกต้องแม่นยำ ไม่ใช่การกะประมาณ PlayerCamera.MouseInput:
LookInput = new Vector2(-raw.y, raw.x) * _sensitivity * SensMulti * 0.025f; _rot += LookInput;
_rot เป็นหน่วยองศาและ raw คือค่า Input System เม้าส์เดลต้าเป็นจำนวนนับ ดังนั้น:
องศาต่อจำนวนนับของเมาส์ =
ความไว × 0.025(at hip fire, where)SensMulti == 1)
ซึ่งจะได้ โดยใช้ cm/360 เป็นหน่วยกลาง because มันไม่ขึ้นกับ FOV และความละเอียด:
$$\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 —เพื่อให้ค่าไวต่อการเล็ง (ADS) ของคุณยังคงเป็นสัดส่วนโดยไม่ต้องพึ่งพาตัวช่วยใด ๆ นั่นคือการจับคู่ซูมตามระยะ 360 องศา ซึ่งเป็นตัวเลือกทั่วไปสำหรับการเล่นเชิงแข่งขัน
มุมมองภาพ
วัดเป็นหน่วยในเกม ไม่ใช่การเดา:
| ช่วงเลื่อน | 40–140 แนวตั้ง = 66–157 แนวนอน 16:9 |
| ค่าเริ่มต้น | 74 แนวตั้ง = 106.5 แนวนอน ที่ 16:9 |
พวกนั้นก็คือ ขีดจำกัดของตัวเกมเอง, อ่านตัวเลื่อนตัวเลือกของมันที่รันไทม์ ม็อดนี้ไม่ได้ทำให้กว้างขึ้น และช่อง FOV ของแผงควบคุมจะบังคับค่าที่คุณพิมพ์ให้อยู่ในช่วงเดียวกันนั้น
สองสิ่งที่ควรรู้
Unity's มุมมองการมองเห็น คือแนวตั้ง, แต่เกมยิงปืนทุกเกมอ้างอิงมุมแนวนอน จึงไม่สามารถเทียบกันได้โดยตรง แผงควบคุมแสดงทั้งสองแบบ โดยใช้สัดส่วนหน้าจอตามความละเอียดจริงของคุณ อย่างลงตัว ค่าแนวตั้งเริ่มต้นที่ 74 คิดเป็นแนวนอน 106.5° ซึ่งห่างจากค่า 106.26° ของ CS2 ไม่ถึงหนึ่งในสี่องศา ดังนั้น FOV มาตรฐานจึงเทียบเท่ากับ CS อยู่แล้ว
ค่า FOV พื้นฐานจะเปลี่ยนความไวในการเล็งของคุณ เพราะว่า SensMulti = curFov / baseFov, การเล็งเป้าจะคูณความไวด้วย AdsFov / baseFov. เพิ่มมุมมองฐานของคุณ และการเล็งผ่านกล้องจะขยายตามไปด้วย ช้าลงแผงแสดงตัวคูณที่แน่นอนสำหรับสิ่งที่คุณถืออยู่
บั๊กการคงค่ามุมมอง (FOV)
เมนูตัวเลือกบันทึกค่า FOV ของคุณพร้อมกับ PlayerPrefs.SetInt("FOV", …) แต่โหลดมันด้วย
PlayerPrefs.GetInt("Fov", 74). คีย์ PlayerPrefs มีความไวต่อตัวพิมพ์เล็กใหญ่, ดังนั้นทั้งสองจึงไม่มีวันมาบรรจบกัน และ FOV ของคุณจะกลับไปเป็น 74 ทุกครั้งที่เปิดเกม — ซึ่งแอบเปลี่ยนความไวในการเล็งของคุณไปสูงสุดถึง 1.9 เท่าที่ปลายสุดของแถบเลื่อน
FixFovPersistence (เปิดโดยค่าเริ่มต้น) จะสะท้อนค่าที่บันทึกไว้ไปยังคีย์ที่เกมอ่านจริง และบังคับใช้สำหรับเซสชันปัจจุบันหากเมนูโหลดค่าผิดไปแล้ว ยืนยันในรีจิสทรี: ทั้งสอง FOV_h193442778 และ Fov_h193443802 ตอนนี้มีค่าเท่าเดิมแล้ว
หมายเหตุ: ตัวเลื่อนดูเหมือนจะเรียกใช้ callback การเปลี่ยนแปลงเมื่อเปิดใช้งาน ดังนั้นการซ่อมแซมครั้งแรกอาจยึดค่าที่ตั้งค่าเริ่มต้นไว้แบบอนุกรมของตัวเลื่อน แทนที่จะเป็นค่าที่คุณเลือก ตั้งค่า FOV ของคุณหนึ่งครั้งผ่านแผงควบคุมของ ปรับมุมมองภาพ (FOV) ปุ่มเพื่อปักหมุดโดยตั้งใจ — นั่นจะเขียนทั้งสองคีย์
สองวิธีในการแปลง
แผงควบคุมให้คุณเลือกได้โดยตรง:
- คงความเร็วในการหมุนเท่าเดิม (ค่าเริ่มต้น) — เมาส์จะเคลื่อนที่ระยะทางเท่ากันเพื่อหมุนครบรอบเหมือนกับในเกมอื่นของคุณ ไม่สนใจค่า FOV ดังนั้นจึงแม่นยำ
- ปรับตามความต่างของมุมมองภาพ (FOV) —หากเกมทั้งสองแสดงปริมาณของโลกที่แตกต่างกัน สิ่งนี้จะส่งผลต่อการเล็ง รู้สึก บนหน้าจอเหมือนกันแทนที่จะหมุนด้วยอัตราเดียวกัน ต้องใช้ FOV ของเกมนั้น
คนส่วนใหญ่เลือกแบบแรก แบบที่สองมีไว้เผื่อว่าถ้าคุณมาจากเกม 103° ไปเกม 116° การจับคู่ความเร็วเลี้ยวดิบอาจรู้สึกเร็วเกินไปทั้งที่ตัวเลขตรงกัน
มีอยู่ ปรับระดับความแรงของการปรับมุมมอง ในการตั้งค่าสำหรับโหมดที่สอง หากคุณรู้อยู่แล้วว่าต้องการให้การปรับค่าถ่วงน้ำหนักไปทางขอบจอมากกว่ากึ่งกลาง หากประโยคนั้นฟังดูไม่มีความหมายสำหรับคุณ คุณก็ไม่จำเป็นต้องใช้มัน
พรีเซ็ต
Counter-Strike 2 / CS:GO · Valorant · Apex Legends · Overwatch 2 · Team Fortress 2 · Quake
เกมที่ความไวต่อการเลื่อนเมาส์ขึ้นอยู่กับแถบเลื่อน FOV ของตัวเอง (Rainbow Six Siege) หรือใช้สเกลเปอร์เซ็นต์แบบไม่เชิงเส้น (Fortnite) นั้นถูกตั้งใจ หายไป แทนที่จะเป็นการประมาณค่า ใช้การคำนวณที่แม่นยำ ซม./360 ช่องสำหรับสิ่งเหล่านั้น — อ่านตัวเลขจากเครื่องคิดเลขออนไลน์ใดๆ ก็ได้ และมันแม่นยำสำหรับทุกเกมที่เคยสร้างมา
คำเตือน
การแปลงนี้ถือว่าหน่วยเดลต้าของระบบอินพุตหนึ่งหน่วยเท่ากับหนึ่งเคานต์ของเมาส์ ซึ่งเป็นจริงเมื่อความเร็วตัวชี้ของ Windows อยู่ที่ค่าเริ่มต้น 6/11 และปิด "ปรับปรุงความแม่นยำของตัวชี้" หากคุณเปิดการเร่งความเร็วตัวชี้ไว้ ไม่มีตัวแปลงใด能给คำตอบที่เสถียรได้
การตั้งค่า
BepInEx/config/howtofish.aimurway.cfg. ปุ่มลัด: F9 เปิด/ปิดการช่วยเหลือ F10 แผงตัวแปลง
ช่วยเหลือ
| การตั้งค่า | ค่าเริ่มต้น | |
|---|---|---|
พลัง |
0.55 |
เศษส่วนของแรงดึงที่จะใช้ 1 ตรงกับระบบช่วยเหลือผู้ควบคุมเกม |
ความคม |
8 |
มันไล่ตามช่องว่างอย่างกระตือรือร้นเพียงใด ยิ่งสูงยิ่งหนึบ |
MaxRotationSpeed |
90 |
เพดานแข็งในหน่วย °/วินาที นี่คือสิ่งที่ป้องกันการสแนป |
ManualOverrideDegPerSec |
140 |
หมุนอันนี้เร็วๆ แล้วความช่วยเหลือก็ถอยออกไปทั้งหมด |
AcquireAngle |
12 |
กดครึ่งแรงเพื่อหยิบเป้าหมาย กดเบาๆ |
BreakAngle |
35 |
มุมที่เป้าหมายที่ถูกล็อกถูกปล่อยทิ้ง |
MaxDistance |
60 |
เมตร ตามค่าเริ่มต้นของเกม |
ช่วยจากสะโพก |
เท็จ |
วานิลลาเป็นแบบ ADS เท่านั้น การปิดตัวเลือกนี้จะใกล้เคียงกับเจตนาดั้งเดิมมากกว่า |
AlsoAssistController |
เท็จ |
จึงไม่ซ้อนทับกับระบบช่วยเหลือของคอนโทรลเลอร์ในตัว |
ความเป็นธรรม
| การตั้งค่า | ค่าเริ่มต้น | |
|---|---|---|
โทษความเสียหาย |
true |
แลกความเสียหายเพื่อช่วยเล็ง |
ค่าปรับพลังโจมตีสูงสุด |
0.3 |
ลดสูงสุด เมื่อแบ่งปันการช่วยเหลือเต็มอัตรา 0.3 = −30% |
PenaltyWindowSeconds |
1.5 |
ระยะเวลาที่การใช้ผู้ช่วยยังคงนับติดตัวคุณ |
ตั้งค่า ShowDebugText = true ใต้ [การวินิจฉัย] เพื่อดูการล็อกเป้าหมาย การแชร์ความช่วยเหลือแบบสด และตัวคูณความเสียหายปัจจุบัน — วิธีที่เร็วที่สุดในการปรับแต่ง พลัง และเห็นการลงโทษที่ได้ผล
สถานะและสิ่งเหลืออยู่
ยืนยันแล้ว: ปลั๊กอินโหลดได้ เชื่อมต่อกับเกม และฮาร์โมนีแพตช์ทั้งสองมีผลใช้งาน (PlayerAimAssist.GetRotationDelta, Attachments.get_Damage) โดยไม่มีข้อผิดพลาดใดๆ
ยังไม่เสร็จ:
- ฟีลยังไม่ได้ปรับจูน ค่าเริ่มต้นได้มาจากการให้เหตุผล ยังไม่ผ่านการทดสอบจริงในเกม
พลังและความคมคือสองอย่างที่ต้องปรับก่อน โดยที่แสดงข้อความดีบักเปิดอยู่ - การต่อสู้ระยะประชิดถูกเปิดเผยแล้ว
近战มีเส้นทางความเสียหายของตัวเอง ดังนั้นบทลงโทษจึงไม่ส่งผลกับมัน วันนี้ไม่มีปัญหาเพราะตัวช่วยนั้นใช้กับการเล็งระยะไกลเท่านั้น - ไม่มีการเปิดเผยข้อมูลในฝั่งล็อบบี้ ไม่มีประกาศในแชทหรือการควบคุมจากฝั่งโฮสต์ ถ้าคุณเล่นกับคนที่ใส่ใจ บอกพวกเขาเถอะ
บันทึกการออกแบบ
ไม่เหมือนม็อดครอสแฮร์ อันนี้จะต่างออกไป การเปลี่ยนแปลง พฤติกรรม ดังนั้น Harmony patches จึงหลีกเลี่ยงไม่ได้ พวกมันถูกจำกัดไว้เพียงสองจุด ซึ่งทั้งสองจุดอยู่ในจุดขยายที่เสถียร และยังคงไม่มีการอ้างอิงตอนคอมไพล์ไปยัง
Assembly-CSharp — ทุกอย่างถูกแก้ไขโดยใช้ชื่อในขณะรันไทม์ ดังนั้นการอัปเดตเกมจึงลดระดับลงเป็นคำเตือนที่บันทึกไว้และฟีเจอร์ที่ถูกปิดใช้งาน แทนที่จะทำให้เกมครัช
ม็อดยอดนิยมสำหรับ How to Fish
ปลดล็อกศักยภาพเต็มของ How to Fish ด้วย XMODhub — สำรวจม็อดยอดนิยมเหล่านี้วันนี้!
ต้องการความช่วยเหลือเกี่ยวกับการดาวน์โหลดหรือติดตั้งหรือไม่? เข้าร่วม ชุมชน Discord ของเราเพื่อรับการสนับสนุน!