ملحوظة
تم الآن دمج أداة تحميل التعديل في اللعبة وبالتالي لم يعد هذا المشروع مطلوبًا. للحصول على الإصدار "الرسمي" الذي يحتوي على رمز للميزات الجديدة/المختلفة، راجع fowkr التالي https://github.com/jakobharder/anno1800-mod-loader
يدعم برنامج تحميل التعديل الوحيد لـ Anno 1800 تحميل ملفات RDA غير المعبأة ودمج XML التلقائي والتعديلات المستندة إلى DLL.
لا يوجد حد لحجم الملف. لا مزيد من إعادة التعبئة. أقل احتمالية للتوقف بعد التحديثات (بشكل عام، يجب أن يستمر التعديل في العمل بعد كل تحديث، YMMV).
يؤدي هذا إلى تغيير ملفات XML الخاصة بالألعاب باستخدام XPath، وهذا يجعل من السهل والممكن إجراء التغييرات فقط في التعديل الذي تحتاجه تمامًا بدلاً من التعامل مع ميغابايت من ملفات XML.
فيديو قصير يوضح مدى سهولة تركيب اللودر.
يجب تثبيت التعديلات بشكل منفصل.
انتقل إلى صفحة الإصدارات وقم بتنزيل ملفloader.zip من الإصدار الأحدث.
قم بفك ضغط المحتويات إلى الموقع حيث يوجد Anno1800.exe
المسار الافتراضي لـ Uplay هو
C:Program Files (x86)UbisoftUbisoft Game LaunchergamesAnno 1800BinWin64
سيُطلب منك الكتابة فوق python35.dll، فقط اقبل ذلك.
ربما تحتاج أيضًا إلى VS 2019 Redist https://aka.ms/vs/16/release/VC_redist.x64.exe
وهذا هو الأساس.
سيتم دائمًا تحميل التعديلات بالترتيب الأبجدي. يتم تحميل التعديلات إما من:
C:Program Files (x86)UbisoftUbisoft Game LaunchergamesAnno 1800mods
بافتراض مسار Uplay الافتراضي. يعتمد هذا على الموقع الذي اخترته عند تثبيت Anno 1800mods
. يمكنك الوصول إلى هذا باستخدام Win + R وإدخال shell:PersonalAnno 1800
mods
في المستندات لها الأسبقية على دليل تثبيت اللعبة، مما يعني أنه إذا كان لديك مجلدmods
في موقع المستندات، فلن يتم تحميل التعديلات من دليل اللعبة بعد الآن.
بالنسبة للمستخدمين الأكثر خبرة، سيتم اتباع الارتباطات الرمزية التي تم إنشاؤها باستخدام
mklink
(مما يؤدي إلى طريقة أسهل لإدارة مستودعات مختلفة من التعديلات).
فيما يلي مقدمة قصيرة حول إنشاء التعديل باستخدام أداة تحميل التعديل. للحصول على مثال على تعديل التكبير/التصغير، راجع دليل examples
.
في ألعاب anno السابقة، كانت هناك طريقة لإخبار اللعبة بتحميل الملفات المستخرجة من القرص بدلاً من تحميلها
من حاوية RDA. على الرغم من أن ذلك جعل الأمر أسهل، إلا أنها لا تزال ليست طريقة جيدة للتعامل مع تعديل ملفات XML الكبيرة.
يدعم برنامج التحميل Anno 1800 mod بعض "الأوامر" البسيطة لتصحيح XML بسهولة لتحقيق كل ما تريده تقريبًا.
الخطوة 1) قم بإعداد دليل للتعديل الخاص بك داخل Anno 1800/mods. في الخطوات التالية، من المفترض أنك قمت بتسمية دليلك "myMod"
الخطوة 2) داخل myMod، يمكنك إعادة إنشاء بنية الملف الدقيقة التي تستخدمها اللعبة الأساسية. يجب أن يكون ملف Assets.xml المصحح ضمن المسار التالي: Anno 1800/mods/myMod/data/config/export/main/asset/assets.xml
الخطوة 3) من المتوقع أن يكون لمستند XML الخاص بك البنية التالية:
< ModOps >
< ModOp >
<!-- Whatever Change you want to do -->
</ ModOp >
</ ModOps >
يمكنك تقديم أكبر عدد تريده من
<ModOp>
والحصول على ملفات تصحيح متعددة لملفات أصلية مختلفة في تعديل واحد.
الخطوة 1) ابحث عن عقدة XML التي تريد تحريرها باستخدام XPath وحددها باستخدام وسيطة المسار.
مثال:
< ModOp Path = " /Templates/Group[Name = 'Objects']/Template[Name = 'Residence7']/Properties " >
بالنسبة لملف الأصول، يمكنك أيضًا استخدام وسيطة GUID. يؤدي هذا إلى تحديد كافة العقد الفرعية للأصل باستخدام المعرف الفريد العمومي (GUID) المحدد كجذور جديدة لـ xPath الخاص بك للحصول على تعليمات برمجية أكثر وضوحًا كما أنه أسرع بكثير من حيث الأداء.
مثال:
Standard way: < ModOp Path = " //Asset[Values/Standard/GUID = '1137']/Values/Standard/Name " >
Better, with GUID arg: < ModOp GUID = ' 1337 ' Path = " /Values/Standard/Name " >
الخطوة 2) قم بإعطاء نوع ModOp لتغيير العقدة المحددة.
الأنواع المدعومة حاليًا:
- Merge Replaces all given child nodes or Arguments
- Remove Removes the selected Node
- Add Adds inside the selected Node
- Replace Replaces the selected Node
- AddNextSibling Adds a sibling directly after the selected node
- AddPrevSibling Adds a sibling directly in front of the selected node
كان هذا مجرد تنفيذ أولي سريع (حوالي 3 ساعات)، وكان مفتوحًا جدًا للمناقشات حول كيفية تحسين ذلك أو القيام بشيء مختلف تمامًا
الخطوة 3) أضف رمز XML الذي تريد إضافته أو دمجه أو استبداله داخل ModOp. مثال:
< ModOp Type = " replace " GUID = ' 1337 ' Path = " /Values/Standard/Name " >
< Name >ThisIsATestNameForGUID1337</ Name >
</ ModOp >
سيستبدل ModOp العقدة الموجودة ضمن /Values/Standard/Name للأصل بالمعرف الفريد العمومي 1337 بـ: "
<Name>ThisIsATestNameForGUID1337</Name>
"
يمكنك تقسيم تصحيحات XML الخاصة بك إلى ملفات متعددة باستخدام تعليمات Include
.
< ModOps >
<!-- ModOps applied before the include -->
< Include File = " even-more-modops.include.xml " />
<!-- ModOps applied after the include -->
</ ModOps >
يأخذ File
مسار ملف بالنسبة إلى ملف XML الذي يقوم بالتضمين.
عادةً ما تكون ملفات XML التي لا يوجد لها نظير في اللعبة أخطاء وتؤدي إلى أخطاء في السجل. استخدم الامتداد *.include.xml
لمنع ذلك.
بخلاف ذلك، يتم التعامل مع تصحيحات XML المضمنة بنفس طريقة التعامل مع تصحيحات XML العادية. يتم دعم التداخل.
ضع هذا في مجلد mod مع مسار اللعبة بحيث يكون في mods/new-zoom-level/data/config/game/camera.xml
يجب أن يكون مجلد mods في تثبيت uPlay الافتراضي موجودًا في
C:Program Files (x86)UbisoftUbisoft Game LaunchergamesAnno 1800mods
< ModOp Type = " add " Path = " /Normal/Presets " >
< Preset ID = " 15 " Height = " 140 " Pitch = " 0.875 " MinPitch = " -0.375 " MaxPitch = " 1.40 " Fov = " 0.56 " />
</ ModOp >
< ModOp Type = " merge " Path = " /Normal/Settings " >
< Settings MaxZoomPreset = " 15 " ></ Settings >
</ ModOp >
يمكنك العثور على المزيد من الأمثلة في دليل examples
.
لن يكون تصحيح الأخطاء ممكنًا، فاللعبة تستخدم Denuvo وVMProtect، ولدي أدواتي الخاصة التي تسمح لي بتصحيح الأخطاء، لكنني لن أشاركها علنًا.
يمكنك قراءة printf المعروف أيضًا باسم debug-log حول أي أخطاء ناتجة عن العقد المفقودة أو المسارات الخاطئة أو اختبارات العقد غير المعروفة في
Anno 1800/logs/mod-loader.log
لاختبار تأثير "التصحيح" الذي تكتبه على ملف اللعبة الأصلي، يمكنك أيضًا استخدام xml-test
، والذي سيحاكي ما ستحمله اللعبة.
xml-test game_camera.xml patch.xml
يقوم هذا بتصحيح game_camera.xml باستخدام patch.xml ويكتب النتيجة كملف patched.xml في الدليل الحالي
يجب أن تكون المسافة البيضاء الأصلية متماثلة إلى حد كبير، لذا يمكنك استخدام بعض أدوات الاختلاف لمعرفة ما تغير بالضبط.
من الواضح أنه لا يمكن "دمج" أنواع الملفات الأخرى، لذلك نقوم فقط بتحميل إصدار التعديل الأخير الذي يحتوي على هذا الملف. (يتم تحميل التعديلات أبجديًا). بالنسبة للموارد، يوصى بشدة باستخدام مجلد Anno 1800/data.
أنت بحاجة إلى Bazel وVisual Studio 2022 ويجب أن يكون هذا هو الحال.
يمكنك الخروج من azure-pipelines.yml
ومعرفة كيفية القيام بذلك هناك.
خطوات سهلة للنجاح:
set BAZEL_VC=C:Program Files (x86)Microsoft Visual Studio2022BuildToolsVC
bazel build //libs/python35:python35.dll
لإنشاء ملف .dllإذا كنت تريد العمل على ميزات جديدة لعمليات XML، فيمكنك استخدام xmltest للاختبار. لأن هذا يستخدم نفس الكود الذي يستخدمه محمل الملف الفعلي.