ClientEXSoundPack

版本 v1.1.1·更新於 2025-03-14

Add Pilot OS sys.Dynamic music.Holiday wishes etc voice and music On Client

模組介紹 作者原文

歡迎您選擇鐵馭語音/動態音樂拓展包!接下來的內容請您務必仔細瞭解。

  • 本模組依據LavaLump.StyleMeter開發製作,內置了clientkillcallback和魔改過的Fdcallback,如果您安裝了ClientKillCallback可能會導致模組衝突。FDcallback經過魔改解決了這個問題

一.如何正確的安裝此模組:

  • 將下載好的zip解壓縮,解壓縮後的文件夾內的mods文件夾下有北極星版本和官服版本(vanilla)
  • 請務必安裝對應版本的模組,否則會出現函數未註冊的情況
  • 詳細的mod更新內容請查看CHANGELOG頁面

二.模組包含的內容:

  • 模組主要包含三個部分:鐵馭拓展語音 (鐵馭OS)、動態音樂、特殊語音
  • 鐵馭拓展語音包含了:玩家受傷,玩家恢復滿血、鐵馭駕駛泰坦時遭受大量指定武器傷害、鐵馭用指定武器擊殺敵人等等...
  • 動態音樂在 小規模戰鬥(tdm)、消耗戰(aitdm)、泰坦爭鬥(ttdm)、鐵馭對鐵馭(ps),運行根據當前比分執行對應音樂播放,並且有間樂過渡
  • 特殊語音主要包括了:電子日曆祝福(CN-only)、大廳閒置語音、戰鬥中閒置語音、玩家對電池相關操作。
  • 本模組對邊境(FD)使用道具、指定道具剩餘數量、剩餘多少迫擊炮泰坦等情況等多種內容進行語音播報。
  • 模組默認情況下使用的崩壞三的希兒(CN-voice)爲鐵馭拓展語音和特殊語音的使用者,默認動態音樂參考紅色警戒3的動態音樂體系。
  • 在modsetting中有對應相關關鍵參數的調整。您可以適當設置。如果您看不懂中文 (CN),可以觀看本說明的第三部分的最後常量介紹部分,都是modsetting的內容。

三.如何使用模組框架(如果你不是衝着modding來的,可以忽略這一部分)

模組包含了兩個部分:動態音樂和鐵馭語音拓展

  • 你可以在LavaLump.StyleMeter\mod\scripts\vscripts文件夾下的StyleMeterMain.nut文件頭中找到對應的音頻ID直接按照指定ID來進行正常的音頻modding

目前有些音頻的音源ID在演出效果上會出現問題,請等待更新調整

  • 先介紹動態音樂部分:
  • 動態音樂僅支持 小規模戰鬥(tdm)、消耗戰(aitdm)、泰坦爭鬥(ttdm)、鐵馭對鐵馭(ps)
  • 動態音樂的運行邏輯是這樣的:倒計時入場 -> 入場階段 -> 判斷階段 -> 動態音樂運行階段
  • 倒計時入場階段就是玩家在船上或者站在原地等待遊戲開始的倒計時階段。

玩家在入場倒計時的音樂會被強制替換成當前拓展包的音樂

  • 入場階段爲玩家結束倒計時入場之後到玩家擊殺敵人/被敵人擊殺/自殺之前,這個階段播放入場音樂。
  • 判斷階段是在玩家擊殺敵人/被敵人擊殺/自殺之後到抵達動態音樂運行階段設置的比分之前的階段
  • 動態音樂運行階段即爲達到設置的比分後開始執行的動態音樂判斷

當前動態音樂執行階段可能會和玩家撤離/勝利階段的音樂互相覆蓋,這個我還沒做修改,請耐心等待。

  • 動態音樂運行階段開始後,會根據玩家隊伍和敵方隊伍的比分差距百分比來播放對應 僵持音樂、優勢音樂、劣勢音樂、間樂 並且在此之間相互轉換,如果你要修改這個部分,請務必準備好完善的動態音樂結構體系。
  • 其次是鐵馭拓展語音部分
  • 鐵馭拓展語音主要是有四大部分組成:擊殺敵方、受到攻擊、鐵馭狀態反饋和特殊語音
  • 這一部分參考了大量的其它模組的插件回調(CallBacks),並且根據一些插件自己定義了內容來方便模組一體化。

當前運行效果發現還不如拆開,並且非常不利於代碼維護,在未來的更新中會將這些依賴從模組中移除,讓用戶單獨下載。

  • 擊殺敵方的原理是通過stylemeter原本的內容實現的。詳細參考void function KillEvent( ObituaryCallbackParams KillEventParams )函數怎麼實現的
  • 受到攻擊主要是通過void function OnPlayerTakeDamage()函數實現的,其中函數AddLocalPlayerTookDamageCallback()的第二個參數就是語音播放的條件函數。
  • 鐵馭狀態反饋主要是通過以下幾個函數實現:OnPlayerSheildChanged()、OnPlayerTitanChanged()和OnPlayerPilotChanged()三個函數實現的。

它們都是通過函數void function OnGameStartSet()實現的,這個函數全部用的都是for(;;)函數,這些死循環會嚴重的影響遊戲的性能,我在考慮使用更好的回調來替代他們。如果您有更好的提議和回調提供,可以通過 discord(你可以在 nsmoddingchat 頻道找到我,我的用戶名和雷霆商店用戶名一致),或者QQ聯繫我。

  • 特殊語音主要包括了:電子日曆祝福、閒置語音兩種。
  • 電子日曆祝福的內容實現比較特殊,這也是區分官服和北極星版本內容的主要原因,在北極星版本中我首次採用了safeio功能在函數void function LobbySpeiclVoice( string speicaldayname )來實現,並且通過函數void function SafeIOLoading( string data )來解碼。
  • 而官服則採用ConVar單獨存儲,因爲safeio是北極星專屬功能,在官服無法使用。如果您想要在您國家地區使用該功能,可以修改void function SafeIOLoading( string data ),void function LobbySpeiclVoice( string speicaldayname ),這兩個函數控制了電子日曆的語音播放。順便不要忘記文件頭命名的修改
  • 請注意!如果您想要修改成您國家的電子日曆語音,請注意時區問題!務必通過printt("now time is: " + timeTable["year"] +"/"+ timeTable["month"] +"/"+ timeTable["day"] +" "+ timeTable["hour"] +":"+ timeTable["minute"] +":"+ timeTable["second"] )來判斷與您時區相差奪少。再進行對table timeParts = GetUnixTimeParts( GetUnixTimestamp() + 8 * SECONDS_PER_HOUR )進行修改再計算。

北極星的safeio功能可以做到一天無論進多少次遊戲都只播放一次語音,而官服Convar存儲就只能做到進一次遊戲就放一次語音。官服無法體現出特殊語音的特殊性,做不到一天只放一次。

  • 接下來是對於一些使用的常量進行解釋:

接下來寫的常量內容都是在腳本中GetConVarInt("")或GetConVarFloat("")的內容,數值調整在modsetting中。

  • 常量audiowaitingtime:這個常量是語音觸發間隔時間,絕大部分語音冷卻共享這一個時間
  • 常量relaxaudioactive:這個常量是閒置語音觸發間隔時間,在大廳/戰鬥中的閒置語音冷卻共享這個時間。
  • 常量expectsocreAITDM:這個常量是判斷消耗戰的動態音樂動態音樂運行階段的基礎分,雙方比分 相加達到這個基礎分之後跳過入場階段進入動態音樂運行階段
  • 常量expectsocreTTDM:這個常量是判斷泰坦爭鬥的動態音樂動態音樂運行階段的基礎分,雙方比分 相加達到這個基礎分之後跳過入場階段進入動態音樂運行階段
  • 常量expectsocrePS:這個常量是判斷鐵馭對鐵馭的動態音樂動態音樂運行階段的基礎分,雙方比分 相加達到這個基礎分之後跳過入場階段進入動態音樂運行階段
  • 常量expectsocreTDM:這個常量是判斷小規模戰鬥的動態音樂動態音樂運行階段的基礎分,雙方比分 相加達到這個基礎分之後跳過入場階段進入動態音樂運行階段
  • 常量musicholdontime:此處設置間樂與即將播放的主要音樂的過渡時間,用於銜接間樂合即將播放的主要音樂。
  • 常量FDMoenyVoiceColdDownTime:關於商店資金使用的相關語音的冷卻時間,設置過短會嚴重影響遊戲體驗。

這邊建議您語音播報冷卻時間至少設置大於60s

  • 常量FDUseItemVoiceColdDown:邊境可用道具語音播報冷卻時間,所有道具語音共享這一冷卻時間

這邊建議您語音播報冷卻時間至少設置大於60s

  • 常量TookDamagecontinuousVoiceColdDown:受到高額武器連續次數傷害時的語音冷卻時間

劍核心、野牛狂暴拳共享使用這一冷卻時間

  • 常量SwordCoreDamgeNextVoiceTrueTime:在此有效時間內,判斷劍核心命中次數的語音播報。

不建議過長,你可以預計被劍核心砍死有多長時間就設置多長時間的有效期,每次被劍核心攻擊,都會刷新這個有效時間。多個劍核心命中你也算在總計受傷次數內。

  • 常量SalvocoreDamgeNextVoiceTrueTime:在此有效時間內,判斷遭受彈羣核心大量傷害的語音(即爲喫滿一個彈羣的傷害)。

不建議過長,你可以預計喫滿彈羣核心砍有多長時間就設置多長時間的有效期,多個彈羣命中你也算在總計傷害內

  • 常量LasercoreDamge

安裝與使用 安裝:Northstar 用戶端模組

  1. 先安裝 Northstar 用戶端(Titanfall 2 的開源社群用戶端,官方發布頁提供安裝器),模組由它載入。
  2. 把本站下載的壓縮包解壓,內容放入 Titanfall2 目錄下的 Northstar/mods/ 資料夾。
  3. 透過 NorthstarLauncher.exe 啟動遊戲,控制台會列出已載入的模組。

Northstar 用於私人伺服器與自訂內容,請勿用它連線官方伺服器。

前置依賴

下面這些內容需要先安裝,否則該模組不會生效:

northstar-Northstar

檔案與校驗

檔案名稱
ClientEXSoundPack-1.1.1.zip
檔案大小
622.6 MiB