ยินดีต้อนรับสู่ทรัพยากรการดัดแปลงอย่างเป็นทางการสำหรับกัปตันของเกมอุตสาหกรรม
ปัจจุบัน COI มีให้บริการบน Steam และอยู่ในระยะเริ่มต้น ในขณะที่การดัดแปลงเป็นไปได้ แต่ก็ยังไม่ได้รับการสนับสนุนอย่างเป็นทางการ เรากำลังทำงานอย่างต่อเนื่องเพื่อปรับปรุงการสนับสนุนและเอกสารประกอบ
โปรดทราบว่าการสนับสนุน MOD เป็นการทดลองและ API อาจมีการเปลี่ยนแปลง หากคุณมีปัญหาให้ตรวจสอบบันทึกใน %APPDATA%/Captain of Industry/Logs พวกเขามีข้อมูลที่เป็นประโยชน์มากมาย หากคุณต้องการหารือเกี่ยวกับหัวข้อการดัดแปลงกับชุมชนและ devs โปรดไปที่ Discord Channel #Modding-Dev-General ของเรา (คุณจะต้องกำหนดบทบาท Mod creation ของตัวเองในช่องทาง #pick-your-roles-here ) นอกจากนี้คุณยังสามารถยื่นปัญหาได้ที่นี่ใน GitHub แต่เวลาตอบสนองจากทีมงานของเราอาจล่าช้า
ในการเริ่ม Modding COI คุณจะต้อง:
Properties... -> Local Files -> BrowseC:/Steam/steamapps/common/Captain of Industry )COI_ROOT และตั้งค่าให้กับเส้นทางรูทของเกมที่คัดลอกมาข้างต้น บน Windows ให้ใช้เครื่องมือ Edit environmental variables มีประโยชน์เพียงเปิดเมนูเริ่มและพิมพ์ Edit env และคุณควรดูExampleMod ในการกำหนดค่า Release ตัวที่ src/ExampleMod/ExampleMod.sln เราขอแนะนำให้ใช้ Visual Studio แต่อย่าลังเลที่จะใช้เครื่องมืออื่น ๆ เช่นคำสั่ง dotnet build Console ใน Visual Studio คุณควรเห็นแอสเซมบลีที่ขึ้นอยู่กับทั้งหมดที่เชื่อมโยงอย่างถูกต้อง ถ้าไม่และคุณเห็นข้อผิดพลาดมากมายให้ตรวจสอบตัวแปร COI_ROOT สิ่งแวดล้อมของคุณลองรีสตาร์ทExampleMod.dll ใน /bin/Release/net471%APPDATA%/Captain of IndustryMods ข้างในให้สร้างไดเรกทอรีใหม่ที่มีชื่อเดียวกับ mod dll ของคุณในกรณีของเรามันเป็น ExampleMod คัดลอก ExampleMod.dll ที่คอมไพล์ที่นั่นเพื่อให้เป็น %APPDATA%/Captain of Industry/Mods/ExampleMod/ExampleMod.dll โปรดทราบว่าชื่อไดเรกทอรีและชื่อ DLL ต้องตรงกันMiscellaneous เปิดใช้งานการสนับสนุน MOD และรีสตาร์ทเกมเพื่อให้การตั้งค่ามีผลExampleMod นั้นโหลดโดยการค้นหาโหนดใหม่ในแผนผังวิจัย (เปิดโดยใช้คีย์ G ) ในกรณีที่มีข้อผิดพลาดใด ๆ ให้ตรวจสอบบันทึกใน %APPDATA%/Captain of Industry/Logsสินทรัพย์เช่นไอคอนหรือโมเดล 3 มิติสามารถสร้างได้โดยใช้ตัวแก้ไข Unity ขณะนี้เราใช้ Unity 2022.3.5F1 และขอแนะนำให้ใช้เวอร์ชันเดียวกันเพื่อหลีกเลี่ยงความไม่ลงรอยกัน
การตั้งค่าความสามัคคีครั้งเดียวที่จำเป็นสำหรับเครื่องมือ MAFI ในการทำงานอย่างถูกต้อง
src/ExampleMod.Unity อย่าเปิดมันUnityRootSymlink ใน srcExampleMod.UnityLibrary ที่ชี้ไปที่โฟลเดอร์การติดตั้ง Unity (เช่น C:Program FilesUnityHubEditor2022.3.5f1 ) ซึ่งสามารถทำได้โดยการเรียกใช้คำสั่ง mklink /D <target> <srouce> ในหน้าต่างคอนโซลพร้อมกับผู้ดูแลระบบ ตัวอย่างเช่น: mklink /D "C:CaptainOfIndustryModdingsrcExampleMod.UnityLibraryUnityRootSymlink" "C:Program FilesUnity" เมื่อคุณนำทางไปยัง UnityRootSymlink คุณควรเห็นไดเรกทอรี Editor เดียวในนั้นsrc/ExampleMod.Unity/Assets/DLLs/create_dll_hardlinks.bat BATCH คุณจะต้องเรียกใช้ภายใต้สิทธิพิเศษของผู้ดูแลระบบ (คลิกขวาทำงานเป็นผู้ดูแลระบบ)src/ExampleMod.Unity/Assets/ExampleModScene.unity ใน ENITY Editor สามารถทำได้ผ่าน Unity Hub โดยเลือก Open project from disk ในแท็บ Projects ตรวจสอบให้แน่ใจว่าคุณเลือกเวอร์ชัน Unity ที่เหมาะสมหากคุณติดตั้งหลายรายการMaFi ในเมนูด้านบนบนตัวแก้ไข Unity หากไม่ได้มีการโหลด DLL ที่เชื่อมโยงอย่างถูกต้องและคุณจะไม่สามารถสร้างสินทรัพย์ได้ExampleModScene โดย double-clickin บนนั้นในบานหน้าต่าง Proejct (อยู่ภายใต้ไดเรกทอรี Assets )Edit -> Preferences )External tools -> External script editor -> Open by file extension สิ่งนี้จะหยุดการสร้างไฟล์โครงการใหม่และวางเส้นทางสัมบูรณ์แทนความสัมพันธ์General -> Disable Editor Analytics (ถ้าคุณสามารถและต้องการ)ขั้นตอนต่อไปนี้อธิบายถึงวิธีการบรรจุไอคอนตัวอย่างเช่นสำหรับผลิตภัณฑ์ใหม่
Assets สร้าง <mod name>/<icons categor> ไดเรกทอรี> ในกรณีของเรานั่นคือ ExampleMod/ProductIconsSprite (2D and UI) และใช้การเปลี่ยนแปลงasdf หรือเลือกชุดที่มีอยู่Copy Path เส้นทางนั้นสามารถใช้ในการโหลดสำเร็จรูปของคุณในเกม หมายเหตุ: แตกต่างจากรุ่น 3 มิติพื้นผิวไม่จำเป็นต้องสร้าง prefab
ขั้นตอนต่อไปนี้อธิบายถึงวิธีการสร้างเทมเพลตโมเดล 3 มิติที่เป็นประโยชน์อย่างมากในการสร้างแบบจำลอง 3 มิติของอาคาร
ExampleMachineData.cs )"TODO" เนื่องจากเรายังไม่มีสำเร็จรูปgenerate_layout_entity_mesh_template ตามด้วยรหัสเอนทิตีของคุณ สิ่งนี้จะสร้างไฟล์ OBJ ใน %APPDATA%/Captain of Industry/Misc/GeneratedMeshTemplates ซึ่งแสดงถึงกล่องขอบเขต 3 มิติของเลย์เอาต์ของเอนทิตีใหม่ของคุณด้วยตำแหน่งพอร์ตที่แน่นอนขั้นตอนต่อไปนี้อธิบายถึงวิธีการจัดทำโมเดล 3 มิติ
Assets สร้าง <mod name>/<model name> ไดเรกทอรีในกรณีของเราที่เป็น ExampleMod/ExampleModel.prefab ใหม่ ในตัวอย่างของเราเราสร้าง prefab ในไดเรกทอรี <mod name>asdf หรือเลือกชุดที่มีอยู่Copy Path เส้นทางนั้นสามารถใช้ในการโหลดสำเร็จรูปของคุณในเกม เมื่อสินทรัพย์ของคุณพร้อมให้ทำตามขั้นตอนเหล่านี้เพื่อจัดทำแพ็คเกจด้วย mod ของคุณ mods ถูกเผยแพร่ในไดเรกทอรีที่มีชื่อเดียวกับ mod dll ของคุณในกรณีของเราเรามี ExampleMod/ExampleMod.dll ตอนนี้เราสามารถเพิ่มการรวมกลุ่มสินทรัพย์ลงในไดเรกทอรีเดียวกัน
Ctrl+S )[MaFi] Build asset bundles หลังจากการประมวลผลความสามัคคีเสร็จสิ้นไฟล์ชุดสินทรัพย์สามารถพบได้ในไดเรกทอรี src/ExampleMod.Unity/AssetBundlessrc/ExampleMod.Unity/AssetBundles ไปยังโฟลเดอร์ AssetBundles ถัดจาก MOD DLL ตัวอย่างเช่น %APPDATA%/Captain of Industry/Mods/ExampleMod/AssetBundlesYourPrefabName_xxxx โดยไม่ต้องขยาย) และไฟล์ mafi_bundles.manifest ไฟล์ .manifest อื่น ๆ ทั้งหมดสามารถลบได้เช่นเดียวกับไฟล์ AssetBundles หากคุณทำการเปลี่ยนแปลงใด ๆ กับสำเร็จรูปของคุณเพียงสร้างกลุ่มสินทรัพย์ใหม่และคัดลอกใช้ไฟล์ใหม่จากไดเรกทอรี AssetBundles