Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- ==================== DEBUG VERSION - Base Range Mod ====================
- -- Change this value if you want
- local BaseRange = 140 -- Default Size 70
- print("[BaseRangeDebug] ===== Script loaded =====")
- print("[BaseRangeDebug] BaseRange set to: " .. tostring(BaseRange))
- ----------------------------- DO NOT EDIT BELOW UNLESS YOU KNOW WHAT YOU'RE DOING -----------------------------
- local function VisualAreaRange(PalObject)
- print("[BaseRangeDebug] VisualAreaRange called")
- local paths = {
- "/Game/Pal/Blueprint/MapObject/BuildObject/BP_BuildObject_PalBoxV2.BP_BuildObject_PalBoxV2_C:AreaRange_GEN_VARIABLE",
- "/Game/Pal/Blueprint/MapObject/BuildObject/BP_BuildObject_PalBoxV2.BP_BuildObject_PalBoxV2_C:AreaRange1_GEN_VARIABLE"
- }
- for _, objPath in ipairs(paths) do
- local obj = StaticFindObject(objPath)
- if obj and obj:IsValid() then
- print("[BaseRangeDebug] Found visual object: " .. objPath)
- obj.RelativeScale3D = { X = BaseRange, Y = BaseRange, Z = BaseRange }
- print("[BaseRangeDebug] Set RelativeScale3D on " .. objPath)
- else
- print("[BaseRangeDebug] FAILED to find visual object: " .. objPath)
- end
- end
- if PalObject and PalObject:IsValid() then
- print("[BaseRangeDebug] PalObject is valid, scheduling AreaRange set in 10 seconds")
- ExecuteWithDelay(10000, function()
- if not PalObject or not PalObject:IsValid() then
- print("[BaseRangeDebug] PalObject became invalid before delay finished")
- return
- end
- if PalObject.AreaRange and type(PalObject.AreaRange) ~= "number" then
- print("[BaseRangeDebug] PalObject.AreaRange exists but is not a number. Type: " .. type(PalObject.AreaRange))
- return
- end
- local newValue = BaseRange * (3500 / 70)
- PalObject.AreaRange = newValue
- print("[BaseRangeDebug] Set PalObject.AreaRange = " .. tostring(newValue))
- end)
- else
- print("[BaseRangeDebug] PalObject is nil or invalid")
- end
- end
- for _, objectPath in ipairs({
- "/Script/Pal.PalBaseCampModel",
- "/Script/Pal.PalBuildObjectBaseCampPoint"
- }) do
- print("[BaseRangeDebug] Registering NotifyOnNewObject for: " .. objectPath)
- NotifyOnNewObject(objectPath, VisualAreaRange)
- end
- local function SpawnRange()
- print("[BaseRangeDebug] ===== SpawnRange() started =====")
- local CalculatedDistance = BaseRange * (4000 / 70)
- local ExtraWorkAreaRange = BaseRange * (7000 / 70)
- local BaseCampAreaRange = BaseRange * (3500 / 70)
- local NeighborMinDistance = (BaseRange ^ 1.23) * (1500 / 70)
- local CombatRange = BaseRange * (2000 / 70)
- local NeighborMinDistance_PVP = (BaseRange ^ 1.23) * (1500 / 70)
- local FoliageWorkableRange = BaseRange * (200 / 70)
- local CombatRange_PVP = BaseRange * (2000 / 70)
- print("[BaseRangeDebug] Calculated values:")
- print(" CalculatedDistance = " .. CalculatedDistance)
- print(" ExtraWorkAreaRange = " .. ExtraWorkAreaRange)
- print(" BaseCampAreaRange = " .. BaseCampAreaRange)
- print(" NeighborMinDistance = " .. NeighborMinDistance)
- print(" CombatRange = " .. CombatRange)
- print(" NeighborMinDistance_PVP = " .. NeighborMinDistance_PVP)
- print(" FoliageWorkableRange = " .. FoliageWorkableRange)
- print(" CombatRange_PVP = " .. CombatRange_PVP)
- local settingsList = FindAllOf("PalGameSetting") or {}
- print("[BaseRangeDebug] Found " .. #settingsList .. " PalGameSetting object(s)")
- for i, game_settings in ipairs(settingsList) do
- if game_settings:IsValid() then
- print("[BaseRangeDebug] --- Processing PalGameSetting #" .. i .. " ---")
- local function TrySet(name, value)
- local success, result = pcall(function()
- local current = game_settings[name]
- if type(current) == "number" then
- game_settings[name] = value
- print("[BaseRangeDebug] SET " .. name .. " = " .. value .. " (was " .. current .. ")")
- return true
- else
- print("[BaseRangeDebug] SKIP " .. name .. " (type is " .. type(current) .. ", not number)")
- return false
- end
- end)
- if not success then
- print("[BaseRangeDebug] ERROR accessing " .. name .. ": " .. tostring(result))
- end
- end
- TrySet("SpawnerDisableDistanceCM_FromBaseCamp", CalculatedDistance)
- TrySet("BaseCampExtraWorkAreaRange", ExtraWorkAreaRange)
- TrySet("BaseCampAreaRange", BaseCampAreaRange)
- TrySet("BaseCampNeighborMinimumDistance", NeighborMinDistance)
- TrySet("BaseCampPalCombatRange_AddCampRange", CombatRange)
- TrySet("BaseCampNeighborMinimumDistance_PVP", NeighborMinDistance_PVP)
- TrySet("BaseCampFoliageWorkableRange", FoliageWorkableRange)
- TrySet("BaseCampPalCombatRange_AddCampRange_PVP", CombatRange_PVP)
- else
- print("[BaseRangeDebug] PalGameSetting #" .. i .. " is invalid")
- end
- end
- print("[BaseRangeDebug] ===== SpawnRange() finished =====")
- end
- print("[BaseRangeDebug] Registering hook: ServerAcknowledgePossession")
- RegisterHook("/Script/Engine.PlayerController:ServerAcknowledgePossession", SpawnRange)
- print("[BaseRangeDebug] ===== All registration done =====")
Advertisement
Add Comment
Please, Sign In to add comment