ห้องสมุดสำหรับการแพทช์ เปลี่ยนและตกแต่ง วิธีการ NET และ Mono ในระหว่างเวลาเรียกใช้งาน มีวัตถุประสงค์เพื่อให้แน่ใจว่า mods ทั้งหมดใน modlist ของผู้เล่น ใช้รุ่นล่าสุดของ Harmony เพื่อลดความขัดแย้ง เรายังเพิ่ม UI Debug! มีให้บริการ
หมายเหตุนี่คือการเผยแพร่อย่างไม่เป็นทางการของ
ความสามัคคีไลบรารีที่สร้างขึ้นเพื่อให้มีวิธีที่ง่ายกว่าในการจัดการการอ้างอิงไลบรารีภายนอก
ที่เก็บของ mod -
แบนเนอร์ลอร์ด.ฮาร์โมนี่.
ประกาศ Bannerlord.Lib.Harmony สำหรับ Moddersต้นฉบับ
ความสามัคคีห้องสมุดตอนนี้เต็มรูปแบบแล้ว
รองรับnetstandard2.0 ดังนั้นเราจึงกลับไปใช้มาตรฐานนั้น
ส้อมของห้องสมุดไม่ได้รับการสนับสนุนอีกต่อไป
การติดตั้งโมดูลนี้ควรอยู่ในลำดับการโหลดสูงสุด โมดูลอื่นๆ ที่ต้องตั้งค่าไว้ด้านบน (เช่น Better Exception Window, ButterLib, MCM เป็นต้น) ควรโหลดหลังจากม็อดนี้
สำหรับผู้เล่น
Mod นี้มีวัตถุประสงค์เพื่อให้แน่ใจว่า mod ทั้งหมดในรายการ mod ของผู้เล่นจะใช้ Harmony เวอร์ชันล่าสุดเพื่อลดความขัดแย้งให้น้อยที่สุด
สำหรับ Moddersเราได้เพิ่ม Debug UI แล้ว! ใช้งานได้ผ่าน CTRL+ALT+Hคุณยังต้องอ้างอิง Harmony เป็นแพ็คเกจ NuGet โดยไม่จำเป็นต้องรวม 0Harmony.dll ไว้ในเอาต์พุต /bin สุดท้ายของโมดูลของคุณ
คุณต้องเพิ่มสิ่งนี้ลงในของคุณ
โมดูลย่อย.xml
วิธีนี้จะช่วยให้เกมแน่ใจว่าไลบรารี Harmony ถูกโหลดก่อน mod ของคุณ
การกำหนดเวอร์ชัน
โมดูลนี้ประกอบด้วยเวอร์ชัน Harmony ที่ใช้และ Build Id ที่เผยแพร่โมดูล โดย Build Id จะถูกเพิ่มต่อท้าย
2.0.2.22 ระบุว่าใช้ Harmony 2.0.2.0 และ 22 คือ Build Id
2.0.0.1025 ระบุว่าใช้ Harmony 2.0.0.10 และ 25 คือ Build Id
เราได้พิจารณาใช้แนวทาง Rimworld กับการนำระบบเวอร์ชันของเราเองมาใช้ แต่วิธีนี้ไม่ได้ให้วิธีการที่ชัดเจนในการตรวจหาเวอร์ชัน Harmony ที่โมดูลมี ผู้ใช้สามารถรายงานเวอร์ชันของโมดูลที่ใช้ได้ง่ายกว่าการตรวจสอบเวอร์ชันแอสเซมบลีหรือส่งข้อมูลไป
การแก้ไขปัญหา* มีปัญหาในการแตกไฟล์ใช่ไหม? ติดตั้งผ่าน Vortex หรือดาวน์โหลด
7-ซิป.
อย่าใช้สิ่งใดๆ จาก WINDOWS APP STORE.
เรายังได้เพิ่มบทความเกี่ยวกับวิธีการติดตั้งและใช้งาน 7-zip!* หากเกมค้างตอนเริ่มเกม เป็นไปได้มากว่าคุณกำลังใช้ Fixed Launcher อยู่ หรือเคยใช้อยู่ เมื่อติดตั้งแล้ว ระบบจะคัดลอกไฟล์ 0Harmony.dll ซึ่งทำให้ Bannerlord.Harmony ไม่สามารถทำงานได้
* หากถอนการติดตั้ง Fixed Launcher หรือไม่เคยติดตั้งเลย ให้ตรวจสอบว่าไฟล์ต่อไปนี้ไม่อยู่ในโฟลเดอร์ /bin หลักของเกม (Mount & Blade II
แบนเนอร์ลอร์ด\bin\Win64_Shipping_Client)
- TaleWorlds.MountAndBlade.Launcher.exe.config
- 0Harmony.dll
- LauncherPatcher.dll
- LauncherPatcher.pdb
เกี่ยวกับHarmony มอบวิธีการอันชาญฉลาดและระดับสูงในการปรับเปลี่ยนฟังก์ชันการทำงานในแอปพลิเคชันที่เขียนด้วยภาษา C# ใช้งานได้ดีในเกมและเป็นที่ยอมรับในชื่อต่างๆ เช่น
7 Days To Die, BattleTech, Besiege, Cities: Skylines, Kerbal Space Program, Oxygen Not Included, Ravenfield, Rimworld, Sheltered, Stardew Valley, Staxel, Subnautica, The Ultimate Nerd Game, Total Miner, Unturnedและอื่น ๆ อีกมากมาย.
นอกจากนี้ยังใช้ในการทดสอบยูนิตการควบคุม WFP และในพื้นที่อื่นๆ อีกมากมาย
วิธีการทำงานหากคุณพัฒนาด้วย C# และโค้ดของคุณถูกโหลดเป็นโมดูล/ปลั๊กอินลงในแอปพลิเคชันโฮสต์ คุณสามารถใช้ Harmony เพื่อปรับเปลี่ยนฟังก์ชันการทำงานของแอสเซมบลีทั้งหมดที่มีอยู่ในแอปพลิเคชันนั้นได้ ในขณะที่ไลบรารีแพตช์อื่นๆ อนุญาตให้คุณแทนที่เมธอดเดิมได้ Harmony ก้าวไปอีกขั้นโดยมอบ:
• วิธีการรักษาวิธีการดั้งเดิมให้คงอยู่
• ดำเนินการโค้ดของคุณก่อนและ/หรือหลังวิธีการดั้งเดิม
• ปรับเปลี่ยนต้นฉบับด้วยโปรเซสเซอร์โค้ด IL
• แพตช์ Harmony หลายตัวอยู่ร่วมกันและไม่ขัดแย้งกัน
• ทำงานได้ในขณะรันไทม์และไม่กระทบไฟล์ใดๆ
เอกสารประกอบกรุณาตรวจสอบ
เอกสารประกอบ.
มีส่วนช่วยปาร์ไดค์ทุ่มเทเวลาหลายพันชั่วโมงให้กับโครงการนี้และการสนับสนุน ดังนั้นทุกการกระทำเล็กๆ น้อยๆ จะช่วย:
• โหวตสิ่งนี้
คำตอบของ StackOverflow• เผยแพร่ข่าวสารในชุมชนนักพัฒนาของคุณ
• กลายเป็น
สปอนเซอร์ GitHubหรือ
แพทรีออนโครงการนี้ใช้ความยิ่งใหญ่
โมโนม็อด.คอมมอนห้องสมุดโดย
0x0ade.