《Palworld / 幻獸帕魯》自定義條件
這個模組是我們伺服器所需的,所以我創建了它,並希望與可能會發現它有用的所有人分享。
有三個版本可供選擇,它們將改變使用凝聚器所需的幻獸數量,選擇從原始成本的25%或50%,最後一個選項只需要每次升級一個幻獸。
請注意,伺服器不需要安裝此模組(可能在未來會更改),只有加入伺服器的玩家需要下載/安裝模組。
要求
1. 下載並安裝UE4SS(UE4SS_Xinput_v2.5.2.zip),並將文件複製到Pal\Binaries\Win64文件夾中。
https://github.com/UE4SS-RE/RE-UE4SS/releases
2. 下載您想要的模組版本,並將PalCustomCondenserReq.pak複製到Pal\Content\Paks\LogicMods\文件夾中。
3. 打開Pal\Binaries\Win64\文件夾中的UE4SS-settings.ini文件,將bUseUObjectArrayCache = true更改為false,使其看起來像這樣:bUseUObjectArrayCache = false
附加注意事項
這個模組不需要安裝在伺服器上,只要有人安裝了這個模組並加入伺服器就足夠了,到目前為止,這一點已經無問題運行。
加入伺服器時請注意,默認情況下UE4SS不會自動加載一些模組,可能需要用戶按鍵盤上的插入鍵強制重新加載它們,palworld模組開發的discord中有一個解決方法,但這可能仍然需要進一步測試,請自行承擔以下方法的風險!
在任何文本編輯器中打開Pal\Binaries\Win64\Mods\BPLoaderMod\scripts\main.lua文件,找到以下行:
-- RegisterInitGameStatePostHook(function(ContextParam)
-- LoadMods(ContextParam:get())
-- end)
並將其替換為以下內容:
-- 用於指示遊戲世界是否已加載的標誌
local hasLoadedWorld = false
-- 用於指示模組初始化是否已完成的標誌
local isInitialized = false
-- 註冊一個通知,用於在創建新的PalPlayerCharacter對象時
-- 這樣可以作為玩家角色已加載的標誌。
NotifyOnNewObject("/Script/Pal.PalPlayerCharacter", function(Character)
-- 以其完整名稱記錄玩家角色的加載
Log(string.format("已加載玩家角色:'%s'", Character:GetFullName()))
-- 一旦玩家角色已加載,將世界視為已加載
Log("[BPModLoader] 玩家初始化完成!")
hasLoadedWorld = true
end)
-- 註冊一個通知,用於當遊戲模式切換回標題時
-- 這表示返回到標題畫面。
NotifyOnNewObject("/Script/Pal.PalGameModeTitle", function(Self)
-- 如果尚未初始化,則不執行任何操作(避免在遊戲開始時執行不必要的操作)
if not isInitialized then return end
-- 隨著遊戲返回標題,重新設置初始化標誌,需要重新初始化
Log("[BPModLoader] 返回標題!")
isInitialized = false
end)
-- 在PlayerController的ClientRestart事件中註冊一個鉤子。
-- 當PlayerController重新啟動角色(玩家角色)時調用此函數。
RegisterHook("/Script/Engine.PlayerController:ClientRestart", function(self, NewPawn)
-- 如果已初始化或世界尚未加載,則防止加載模組
if isInitialized or not hasLoadedWorld then return end
-- 通過訪問當前世界上下文來加載模組
-- 然後將初始化標誌設置為true,以防止在同一會話中重新加載
Log("[BPModLoader] 正在加載模組!")
LoadMods(UEHelpers.GetWorld())
isInitialized = true
end)
保存文件,您的模組應該可以在加入伺服器時無問題加載。
所有站內附件皆會附上安全掃描報告 請會員查看純淨度百分比後判斷使用
相關檔案須知: 取得檔案前,請先詳細閱讀文章內容 避免不必要錯誤與誤會發生。 也可多參考文章討論樓層內容 了解附件檔案相關討論資訊。
|