Một thư viện để vá, thay thế và trang trí. Các phương thức NET và Mono trong thời gian chạy. Để đảm bảo rằng tất cả các mod trong danh sách mods của người chơi đang sử dụng phiên bản mới nhất của Harmony để giảm thiểu xung đột. Chúng tôi cũng đã thêm một debug UI! Có sẵn
Ghi chúĐây là một bản phân phối không chính thức của
Hòa hợpthư viện được tạo ra để có cách dễ dàng hơn để quản lý các phụ thuộc thư viện bên ngoài.
Kho lưu trữ của bản mod -
Bannerlord.Harmony.
Thông báo về Bannerlord.Lib.Harmony dành cho các ModderNguyên bản
Hòa hợpthư viện hiện đã đầy đủ
hỗ trợnetstandard2.0, vì vậy chúng tôi đã quay lại với nó.
cái nĩacủa thư viện hiện đã không còn được sử dụng nữa.
Cài đặtModule này phải được tải ở vị trí cao nhất. Bất kỳ module nào khác cần được đặt ở đầu (Better Exception Window, ButterLib, MCM, v.v.) nên được tải sau mod này.
Dành cho người chơi
Bản mod này nhằm đảm bảo rằng tất cả các bản mod trong danh sách mod của người chơi đều sử dụng phiên bản Harmony mới nhất để giảm thiểu xung đột.
Dành cho người làm modChúng tôi đã thêm giao diện gỡ lỗi! Có thể sử dụng bằng phím CTRL+ALT+H.Bạn vẫn cần tham chiếu Harmony như một gói NuGet, không bắt buộc phải đưa 0Harmony.dll vào đầu ra /bin cuối cùng của mô-đun.
Bạn cần phải thêm điều này vào
SubModule.xml
Bằng cách này, trò chơi sẽ đảm bảo thư viện Harmony được tải trước bản mod của bạn.
Phiên bản
Mô-đun này kết hợp phiên bản Harmony đã sử dụng và Mã bản dựng đã xuất bản Mô-đun. Mã bản dựng chỉ cần được thêm vào cuối.
2.0.2.22 cho biết Harmony 2.0.2.0 đang được sử dụng và 22 là ID bản dựng.
2.0.0.1025 cho biết Harmony 2.0.0.10 đang được sử dụng và 25 là ID bản dựng.
Chúng tôi đã cân nhắc sử dụng phương pháp Rimworld với việc giới thiệu hệ thống phiên bản riêng, nhưng phương pháp này không cung cấp cách rõ ràng để xác định Module đang chứa phiên bản Harmony nào. Người dùng có thể dễ dàng báo cáo phiên bản Module đã sử dụng hơn là kiểm tra/gửi phiên bản lắp ráp.
Xử lý sự cố* Gặp sự cố khi giải nén tệp tin? Cài đặt qua Vortex hoặc tải xuống
7-zip.
KHÔNG SỬ DỤNG BẤT CỨ THỨ GÌ TỪ WINDOWS APP STORE.
Chúng tôi cũng đã thêm một bài viết vềcách cài đặt và sử dụng 7-zip!* Nếu trò chơi bị sập khi khởi động, rất có thể bạn đang sử dụng Fixed Launcher. Khi cài đặt, nó sẽ sao chép 0Harmony.dll, khiến Bannerlord.Harmony không hoạt động.
* Nếu Fixed Launcher đã bị gỡ cài đặt hoặc chưa bao giờ được cài đặt, hãy kiểm tra xem các tệp sau có nằm trong thư mục /bin chính của trò chơi hay không (Mount & Blade II
Bannerlord\bin\Win64_Shipping_Client)
- TaleWorlds.MountAndBlade.Launcher.exe.config
- 0Harmony.dll
- LauncherPatcher.dll
- LauncherPatcher.pdb
VềHarmony cung cấp cho bạn một cách tinh tế và cấp cao để thay đổi chức năng trong các ứng dụng được viết bằng C#. Nó hoạt động tốt trong các trò chơi và được thiết lập tốt trong các tựa game như
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, Unturnedvà nhiều hơn nữa.
Nó cũng được sử dụng trong thử nghiệm đơn vị kiểm soát WFP và nhiều lĩnh vực khác.
Nó hoạt động như thế nàoNếu bạn phát triển bằng C# và mã của bạn được tải dưới dạng module/plugin vào một ứng dụng lưu trữ, bạn có thể sử dụng Harmony để thay đổi chức năng của tất cả các assembly có sẵn của ứng dụng đó. Trong khi các thư viện vá lỗi khác chỉ cho phép bạn thay thế phương thức ban đầu, Harmony còn tiến xa hơn một bước và cung cấp cho bạn:
• Một cách để giữ nguyên phương pháp ban đầu
• Thực thi mã của bạn trước và/hoặc sau phương thức ban đầu
• Sửa đổi bản gốc bằng bộ xử lý mã IL
• Nhiều bản vá Harmony cùng tồn tại và không xung đột với nhau
• Hoạt động khi chạy và không chạm vào bất kỳ tệp nào
Tài liệuVui lòng kiểm tra
tài liệu.
Đóng góppardeikeđã dành hàng ngàn giờ cho dự án này và sự hỗ trợ của nó. Vì vậy, mỗi hành động nhỏ đều có ích:
• Bình chọn cho bài viết này
câu trả lời stackoverflow• Truyền bá thông tin trong cộng đồng nhà phát triển của bạn
• Trở thành một
Nhà tài trợ GitHubhoặc một
PatreonDự án này sử dụng tuyệt vời
MonoMod.Commonthư viện của
0x0ade.