
ผู้แต่ง:loaforcปรับปรุงล่าสุด :2025-07-07 03:23:377.1M79KB
ม็อดเปลี่ยนเสียงแบบพกพา สร้างขึ้นเพื่อให้ผู้สร้างแพ็คเสียงสามารถควบคุมได้มากขึ้นและฐานโค้ดที่บำรุงรักษาได้มากขึ้น
A กวดวิชาง่ายๆ เพื่อสร้างแพ็คเสียงมีอยู่ใน github wiki ตัวอย่าง, ตัวอย่าง มีให้บริการเช่นกัน
ในที่สุด SoundAPI จะมียูทิลิตี้หลายแห่งเพื่อช่วยโหลดเสียงที่กำหนดเอง วิธีการใช้งานทั่วไปทั้งหมดอยู่ภายใต้ SoundAPI ชั้นเรียน.
นี่คือเงื่อนไขตัวอย่าง
[SoundAPICondition("LethalCompany:apparatusstate")] // attribute for SoundAPI.RegisterAll function public class ApparatusStateCondition: Condition {public enum StateType {pull, PLUGGED_IN} internal static bool currentapparatuspull=false; public StateType?Value {get; internal set; } public override bool Evaluate (context context) {StateType state=currentapparatuspull?statetype.pull:StateType.PLUGGED_IN; return state==(Value??statetype.pull); }} // เพื่อลงทะเบียนทั้งหมดในแอสเซมบลีของคุณ (ซึ่งจะเคารพการพึ่งพาแบบอ่อนอื่นๆ ใน mod ของคุณ) SoundAPI.RegisterAll(Assembly.GetExecutingAssembly()); // หรือด้วยตนเอง (หากคุณต้องการตรรกะที่ซับซ้อนกว่า) SoundAPI.RegisterCondition("LethalLevelLoader:dungeon:has_tag", ()=> LLLTagCondition ใหม่<ExtendedDungeonFlow>(()=>{if(!RoundManager.Instance) return null;if(!RoundManager.Instance.dungeonGenerator) return null;if(!PatchedContent.TryGetExtendedContent(RoundManager.Instance.dungeonGenerator.Generator.DungeonFlow, out extendedungeonflow lldungeon)) return null; return lldungeon;}));
ผู้สร้างแพ็คเสียงจะใช้
{"เงื่อนไข":{"ประเภท":"LethalCompany:apparat_state"}}
เพราะว่า มูลค่า, ค่า เป็นโมฆะ ผู้สร้างแพ็คเสียงไม่จำเป็นต้องให้ค่า และค่าเริ่มต้นจะเป็น true มิฉะนั้นพวกเขาสามารถตั้งค่าเป็นด้วยตนเอง เสียบ _ อิน เพื่อตรวจสอบว่าอุปกรณ์เสียบปลั๊กหรือไม่ ขอแนะนำให้ใช้รายการแม้ว่าปัจจุบันจะมีเพียงสองตัวเลือกสำหรับความเข้ากันได้ไปข้างหน้าก็ตาม
การแมปมีไว้สำหรับนักพัฒนา mod เพื่อเขียนทางลัดไปยังการจับคู่เสียงอย่างน้อยหนึ่งรายการ แนะนำให้ผู้สร้างแพ็คเสียงใช้การแมปหากเป็นไปได้เพื่อความเข้ากันได้ไปข้างหน้า (เนื่องจากผู้พัฒนา mod สามารถอัปเดตไฟล์การแมปด้วยการอัปเดต mod โดยไม่ต้องอัปเดตแพ็คเสียง)
ในการใช้การแมป คุณต้องรวม a แพคเกจเสียง.json ในซิป mod ของคุณ (นี่คือ SoundAPI ที่โหลดโดยอัตโนมัติ ตัวเลือกในการโหลดผ่านทาง SoundAPI ชั้นเรียนอาจมาในภายหลัง) คุณไม่จำเป็นต้องรวม a ตัวแทนที่ หรือ เสียง เสียง โฟลเดอร์ ก ไฟล์จะไปในโฟลเดอร์เดียวกัน
ตัวอย่าง ตัวอย่าง ไฟล์:
{"FacilityMeltdown:music":["MeltdownHandler:MeltdownMusic:MeltdownMusic"],"FacilityMeltdown:warning_voice":["MeltdownHandler:WarningVoice:warning1","MeltdownHandler:WarningVoice:warning2","MeltdownHandler:WarningVoice:warning3","MeltdownHandler:WarningVoice:warning4"]}
หมายเหตุ: ที่ soundapi_mappings.json อาจเปลี่ยนชื่อไฟล์ในภายหลัง แต่ความเข้ากันได้จะยังคงรักษาไว้
ผู้สร้างชุดเสียงจะใช้การแมปของคุณในตัวแทนที่ การแมปในการจับคู่จะประกอบกับ a #.
{"ทดแทน": [{"แมตช์": "
ขอแนะนำให้ปฏิบัติตามกฎการตั้งชื่อสำหรับเงื่อนไขและการแมปของคุณ ไม่มี 1 'ส่วน' หรือมากกว่า 3 แต่ละส่วนควรแยกด้วยลำไส้ใหญ่
ชื่อของ MOD: ชื่อ หรือชื่อของ MOD: หมวดหมู่ย่อย: ชื่อ
ดาวน์โหลด Mods ทันที
ติดตั้ง LagoFast เริ่มต้น PEAK และเล่นกับ mod ที่คุณชื่นชอบ