يرجى إخبار أي مطوري وزارة الدفاع الذين لا يزالون يستخدمون هذا الإصدار القديم لتحديث تعديلهم.
Hookgen "وصفة" لـ Terraria ، مما يؤدي إلى تعديل TML الذي يمكن أن تعتمد عليه تعديل آخر.
بنيت مع مونومود.
هذا وزارة الدفاع هو مساعد للمعدلات الأخرى. ما عليك سوى تثبيته إذا احتجت وزارة الدفاع ، فلن يغير Terraria من تلقاء نفسها.
On . Terraria . Player . CheckMana += ( orig , player , amount , pay , blockQuickMana ) => {
// We can either make this act as a method replacement
// or just call our code around the original code.
// Let's double the mana cost of everything.
// We can pass on custom values.
bool spendable = orig ( player , amount * 2 , pay , blockQuickMana ) ;
// ... but give back half of it if it was spent.
if ( spendable && pay ) {
player . statMana += amount / 2 ;
}
// We can return custom values.
return spendable ;
}
للحصول على مثال موسع ، ألق نظرة على هذا الجوهر.
استخدم "السنانير" للكشف عند تشغيل الطريقة ، أو تغيير كيفية تشغيلها أو حتى استبدالها.
يتم التراجع تلقائيًا "السنانير" كلما تم تفريغ وزارة الدفاع. يتم التعامل مع هذا من قبل terrariahooks لك.
معالجة أي طريقة في وقت التشغيل عبر IL ... += (...) => {...} باستخدام CECIL والعديد من المساعدين.
شكر خاص لعظام الدجاج على الأفكار الرائعة والتعليقات على طول الطريق!
استخدم RunTimeDetour لتنفيذ رمز "تبديل الطريقة" الحالي بسرعة.
لاحظ أن هذا يتطلب منك التراجع عن حالاتك عند التفريغ.
إذا كنت بحاجة إلى مزيد من المعلومات ، فاقرأ Monomod RunTimeDetour ReadMe.
إذا كنت ترغب في استخدام terrariahooks في وزارة الدفاع الخاصة بك:
TerrariaHooks.dll
من أحدث إصدار.lib
الخاص بك.build.txt
، أضف modReferences = TerrariaHooks
Load
وزارة الدفاع.git clone --recursive https://github.com/0x0ade/TerrariaHookGen.git
_input
./TerrariaHookGen/bin/Debug/TerrariaHookGen.exe _input .
./tModLoaderServer.exe -build 'path/to/TerrariaHooks' -eac
هذا المستودع يتفوق على الإجراء بأكمله. يتلخص في:
./MonoMod.RuntimeDetour.HookGen.exe --private Terraria.exe TerrariaHooksPre.dll
./ILRepack.exe /out:TerrariaHooks.dll TerrariaHooksPre.dll MonoMod. * .dll MonoMod.exe
عند تشغيل الخطين أعلاه في دليل Terraria (مع وجود جميع التبعيات) ، فإنه يولد TerrariaHooks.dll
لـ Terraria.exe
.
الغرض الوحيد من هذا المستودع هو أتمتة العملية بالكامل ، والسماح للنشر TerrariaHooks.dll
باعتباره mod tml.