undertalemodtool
(เห็นเครื่องมือที่น่าทึ่งเติมเต็มคุณด้วยความมุ่งมั่น)
เฮ้. ฉันได้ยินมาว่าคุณชอบขุดลึกลงไปในเกม GameMaker เช่น Undertale/Deltarune ดังนั้นนี่คือเครื่องมือสำหรับคุณ!

การดาวน์โหลด
ทั้งการเปิดตัวที่เสถียรล่าสุดและเวอร์ชันที่ทันสมัยที่สุดสามารถดาวน์โหลดได้จากตารางด้านล่าง! โปรดทราบว่าคุณสามารถอัปเดตไปยัง Edge ที่มีเลือดออกได้ตลอดเวลาจากภายในเมนูการตั้งค่าของ Undertalemodtool
| ปล่อย | สถานะ |
|---|
| มั่นคง | |
| ขอบเลือดออก | |
เป็นที่น่าสังเกตว่า undertalemodtool มีการสร้างที่แตกต่างกันต่อการเปิดตัว ความแตกต่างมีดังนี้:
-
.NET bundled - การรวมกลุ่ม. NET Runtime เวอร์ชันที่จำเป็นในการเรียกใช้เครื่องมือข้างๆ รีลีสที่เสถียรทั้งหมดเป็น. NET รวมกันดังนั้นคุณไม่ต้องกังวลเกี่ยวกับการติดตั้งรันไทม์ที่จำเป็น -
Single file - เครื่องมือเป็นเพียงหนึ่งเดียวที่เรียกใช้งานได้โดยมีการพึ่งพาทั้งหมดที่ฝังอยู่ภายใน สิ่งนี้ทำให้โฟลเดอร์ของคุณสะอาดขึ้น แต่มันก็ทำให้เกิดปัญหาเสถียรภาพที่ไม่คาดคิด -
Non-single File - การพึ่งพาทั้งหมดไม่ได้ฝังอยู่ในที่เรียกใช้งาน แต่ตอนนี้อยู่ติดกับมัน เลือกสิ่งนี้หากคุณไม่สนใจเกี่ยวกับการค้นหาสิ่งที่ถูกต้องในระหว่างนั้นของ ~ 300 DLL หรือหากปัญหาความมั่นคงจากการสร้าง Single file ส่งผลกระทบต่อคุณ
คุณสมบัติหลัก
- สามารถอ่านทุกไบต์เดียวจากไฟล์ข้อมูลสำหรับรุ่นล่าสุดของ Undertale, Deltarune และ GameMaker อื่น ๆ ส่วนใหญ่: สตูดิโอเกม (GM: S 1.4 และ GMS2 Bytecode รุ่นที่ 13 ถึง 17 ได้รับการสนับสนุน) สำหรับทุกแพลตฟอร์ม
- จัดการพอยน์เตอร์ทั้งหมดในไฟล์อย่างถูกต้องหากคุณเพิ่ม/ลบสิ่งของให้ทำสิ่งต่าง ๆ ให้ยาวขึ้น/สั้นลงให้ย้ายไปรอบ ๆ ฯลฯ รูปแบบไฟล์จะไม่แตก
- บรรณาธิการที่ให้คุณเปลี่ยน (เกือบ) ทุกค่ารวมถึงที่ไม่รู้จัก
- รวมถึงตัวแก้ไขห้อง/ระดับอย่างง่าย
- อนุญาตให้ถอดความและแก้ไขรหัส ซึ่งหมายความว่าคุณสามารถเพิ่มรหัสที่กำหนดเองลงในเกมได้ไม่ว่าจะใช้คอมไพเลอร์ GML ในตัวหรือชุดประกอบ GML ในตัว
- decompiler ระดับสูงทดลอง ผลลัพธ์ที่ถูกต้อง (ยกเว้นรุ่น GameMaker ล่าสุด) แต่สามารถใช้การทำความสะอาดโครงสร้างระดับสูงได้มากขึ้น
- รองรับการเรียกใช้สคริปต์ที่แก้ไขไฟล์ข้อมูลของคุณโดยอัตโนมัติ (หรือดำเนินงานอื่น ๆ ที่ไร้เดียงสา) - นี่คือวิธีการแจกจ่าย mods แต่การสร้างมันเป็นงานด้วยตนเองในตอนนี้ นอกจากนี้ยังทำหน้าที่แทนที่สำหรับการแบ่งปันการชดเชย Editor Hex-หากคุณทำให้เป็นสคริปต์ที่รู้รูปแบบไฟล์แทนจะมีการเปลี่ยนแปลงที่น้อยกว่ามากหลังจากการอัปเดต
- ฟังก์ชั่น Core IO ทั้งหมดที่แยกออกเป็นไลบรารีเพื่อใช้ในเครื่องมือภายนอก
- สามารถสร้างไฟล์. yydebug สำหรับดีบักเกอร์ GM: S เพื่อให้คุณสามารถแก้ไขตัวแปรสด! (ดูที่นี่)
- การเชื่อมโยงไฟล์อัตโนมัติสำหรับไฟล์ที่เกี่ยวข้องกับผู้เล่นเกมทั้งหมด สิ่งนี้สามารถปิดการใช้งานได้โดยมีไฟล์
dna.txt ถัดจากการเรียกใช้งาน
ภาพหน้าจอ
นี่คือภาพหน้าจอของสิ่งที่ UTMT สามารถทำได้:
Ribbit - Deltarune Mod

สคริปต์รวมอยู่ด้วย
รวมอยู่ในสคริปต์ทดสอบบางส่วน พวกเขา แต่ไม่ จำกัด เพียง:
- สากล:
- ค้นหา: ค้นหาข้อความง่ายๆในรายการรหัสที่ถอดรหัส
- สคริปต์ไปยังแบทช์นำเข้าและส่งออกไฟล์สินทรัพย์ประเภทต่างๆ
- Undertale เท่านั้น:
- enabledeBug: ทำเช่นนั้นทำให้ตัวแปร 'ดีบัก' ตัวแปรทั่วโลกเปิดใช้งานเมื่อเริ่มเกม หากคุณไม่ทราบเกี่ยวกับโหมดการดีบักของ Undertale ลองดูการเขียนของโหมดการดีบักของ Undertale นี้
- Debugtoggler: คล้ายกับด้านบน แต่แทนที่จะสลับโหมดการดีบักเปิดและปิดด้วย F1
- BorderEnabler: ให้คุณนำเข้าพรมแดนพิเศษของ PlayStation ลงในเวอร์ชัน PC และตรวจสอบเวอร์ชันทั้งหมดเพื่อให้สามารถแสดงได้อย่างถูกต้อง
- TTFFONTS: ทำให้ตัวอักษรโหลดเกมในรูปแบบ TTF จากไดเรกทอรีปัจจุบันแทนที่จะใช้แบบอักษร Spritesheet คุณจะต้องติดตามไฟล์ฟอนต์ทั้งหมดด้วยตัวเองฉันไม่สามารถโฮสต์ได้ที่นี่ด้วยเหตุผลการออกใบอนุญาต :(
- Roomofdetermination: เพิ่มห้องใหม่ให้กับ Undertale 1.08 ฉันต้องการเพิ่มบางสิ่งบางอย่างให้กับมัน แต่ไม่เคยมีมาก่อนดังนั้นฉันคิดว่าฉันจะปล่อยมันอย่างที่เป็นอยู่ เพิ่งเริ่มเกมแล้วคุณจะเห็น อาจเป็นตัวอย่างที่สมบูรณ์ที่สุดในการเพิ่มสิ่งที่คุณจะพบ
- Deltarune เท่านั้น:
- Deltahate: สคริปต์ที่ได้รับแรงบันดาลใจจากความเกลียดชังสำหรับการทำลาย Deltarune
- Deltamilk: แทนที่สไปรต์ที่ไม่ใช่พื้นดินทุกตัวด้วยนมรักษา K.Round อย่าถามว่าทำไม
- ThewhoLeWorldRevolving: โลกกำลังหมุนหมุนหมุน
- Undertale และ Deltarune เท่านั้น:
- GotoRoom: แทนที่ฟังก์ชั่นโหมดการดีบักของปุ่ม F3 ด้วยกล่องโต้ตอบที่ให้คุณข้ามไปยังห้องใดก็ได้โดย ID
- ShowroomName: แสดงชื่อห้องและรหัสปัจจุบันบนหน้าจอในโหมดดีบัก
นอกจากนี้ยังรวมถึงสคริปต์ที่ทำจากชุมชน สำหรับข้อมูลเพิ่มเติมปรึกษาไฟล์ Scripts.md
การบริจาค
ยินดีต้อนรับการมีส่วนร่วมทั้งหมด! หากคุณพบข้อผิดพลาดไฟล์ข้อมูลที่ไม่โหลด ฯลฯ โปรดรายงานในหน้าปัญหา ดึงคำขอและช่วยในการถอดรหัสรูปแบบก็ยินดีต้อนรับเช่นกัน! นี่คือรายการปัจจุบันของสิ่งที่ต้องดำเนินการ:
- ทำงานกับระบบโปรไฟล์
- การปรับปรุง decompiler
- เพิ่มการสนับสนุนสำหรับ GameMaker เวอร์ชันล่าสุด (โดยเฉพาะอย่างยิ่ง 2.3) - decompiler ไม่สามารถทำงานได้ในกรณีส่วนใหญ่ในปัจจุบัน
- ในที่สุดการทำ GUI ข้ามแพลตฟอร์มถ้าเป็นไปได้
คำแนะนำในการรวบรวม
เพื่อที่จะรวบรวม repo ด้วยตัวเองจำเป็นต้องใช้ .NET Core 6 SDK หรือใหม่กว่า
สามารถรวบรวมโครงการต่อไปนี้:
-
UndertaleModLib : ห้องสมุดหลักที่ใช้โดยโครงการอื่น ๆ ทั้งหมด -
UndertaleModCli : อินเทอร์เฟซบรรทัดคำสั่งสำหรับการโต้ตอบกับไฟล์ข้อมูล GameMaker และการใช้สคริปต์ ปัจจุบันเป็นแบบดั้งเดิมในสิ่งที่สามารถทำได้ -
UndertaleModTool : ส่วนต่อประสานผู้ใช้กราฟิกหลักสำหรับการโต้ตอบกับไฟล์ข้อมูล GameMaker ต้องใช้ Windows เพื่อรวบรวมสิ่งนี้
รวบรวมผ่าน IDE
- เปิด
UndertaleModTool.sln ใน IDE ที่คุณเลือก (Visual Studio, Jetbrains Rider, Visual Studio Code เป็นต้น) - เลือกโครงการที่คุณต้องการรวบรวม
- รวบรวม
รวบรวมผ่านบรรทัดคำสั่ง
- เปิดเทอร์มินัลและนำทางไปยังไดเรกทอรีของ
UndertaleModTool.sln - ดำเนินการ
dotnet publish <Project> โดยที่ <Project> เป็นหนึ่งในโครงการที่ระบุไว้ข้างต้น นอกจากนี้คุณยังสามารถให้ข้อโต้แย้งสำหรับการรวบรวมเช่น --no-self-contained หรือ -c release สำหรับรายการอาร์กิวเมนต์ทั้งหมดให้ปรึกษาเอกสาร Microsoft
รูปแบบไฟล์ข้อมูล GameMaker
สนใจในการวิจัยรูปแบบไฟล์และคำสั่งที่ฉันได้ทำในขณะที่ทำงานนี้หรือไม่? ตรวจสอบ Wiki สำหรับรายละเอียดและเอกสารทั้งหมด
ขอบคุณเป็นพิเศษ
ขอขอบคุณเป็นพิเศษสำหรับทุกคนที่ทำวิจัยก่อนหน้านี้เกี่ยวกับการแกะและถอดรหัส Undertale มันเป็นความช่วยเหลือที่ยิ่งใหญ่มาก:
- การวิจัยการสลายตัวของ Ulyssis '
- ข้อมูล GameMaker ของ Donkeybonks Win Bytecode Research
- porocyon's taltar.net
- GMDSAM ของ Warlockd
เช่นเดียวกับผู้มีส่วนร่วมอื่น ๆ ทั้งหมด:
และแน่นอนขอบคุณ Toby Fox และทีมงานทั้งหมดที่สร้างเกมให้กับเกม;);)