Guest User

Untitled

a guest
Aug 2nd, 2026
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.64 KB | None | 0 0
  1. -- ==================== DEBUG VERSION - Base Range Mod ====================
  2. -- Change this value if you want
  3. local BaseRange = 140 -- Default Size 70
  4.  
  5. print("[BaseRangeDebug] ===== Script loaded =====")
  6. print("[BaseRangeDebug] BaseRange set to: " .. tostring(BaseRange))
  7.  
  8. ----------------------------- DO NOT EDIT BELOW UNLESS YOU KNOW WHAT YOU'RE DOING -----------------------------
  9.  
  10. local function VisualAreaRange(PalObject)
  11. print("[BaseRangeDebug] VisualAreaRange called")
  12.  
  13. local paths = {
  14. "/Game/Pal/Blueprint/MapObject/BuildObject/BP_BuildObject_PalBoxV2.BP_BuildObject_PalBoxV2_C:AreaRange_GEN_VARIABLE",
  15. "/Game/Pal/Blueprint/MapObject/BuildObject/BP_BuildObject_PalBoxV2.BP_BuildObject_PalBoxV2_C:AreaRange1_GEN_VARIABLE"
  16. }
  17.  
  18. for _, objPath in ipairs(paths) do
  19. local obj = StaticFindObject(objPath)
  20. if obj and obj:IsValid() then
  21. print("[BaseRangeDebug] Found visual object: " .. objPath)
  22. obj.RelativeScale3D = { X = BaseRange, Y = BaseRange, Z = BaseRange }
  23. print("[BaseRangeDebug] Set RelativeScale3D on " .. objPath)
  24. else
  25. print("[BaseRangeDebug] FAILED to find visual object: " .. objPath)
  26. end
  27. end
  28.  
  29. if PalObject and PalObject:IsValid() then
  30. print("[BaseRangeDebug] PalObject is valid, scheduling AreaRange set in 10 seconds")
  31. ExecuteWithDelay(10000, function()
  32. if not PalObject or not PalObject:IsValid() then
  33. print("[BaseRangeDebug] PalObject became invalid before delay finished")
  34. return
  35. end
  36. if PalObject.AreaRange and type(PalObject.AreaRange) ~= "number" then
  37. print("[BaseRangeDebug] PalObject.AreaRange exists but is not a number. Type: " .. type(PalObject.AreaRange))
  38. return
  39. end
  40. local newValue = BaseRange * (3500 / 70)
  41. PalObject.AreaRange = newValue
  42. print("[BaseRangeDebug] Set PalObject.AreaRange = " .. tostring(newValue))
  43. end)
  44. else
  45. print("[BaseRangeDebug] PalObject is nil or invalid")
  46. end
  47. end
  48.  
  49. for _, objectPath in ipairs({
  50. "/Script/Pal.PalBaseCampModel",
  51. "/Script/Pal.PalBuildObjectBaseCampPoint"
  52. }) do
  53. print("[BaseRangeDebug] Registering NotifyOnNewObject for: " .. objectPath)
  54. NotifyOnNewObject(objectPath, VisualAreaRange)
  55. end
  56.  
  57. local function SpawnRange()
  58. print("[BaseRangeDebug] ===== SpawnRange() started =====")
  59.  
  60. local CalculatedDistance = BaseRange * (4000 / 70)
  61. local ExtraWorkAreaRange = BaseRange * (7000 / 70)
  62. local BaseCampAreaRange = BaseRange * (3500 / 70)
  63. local NeighborMinDistance = (BaseRange ^ 1.23) * (1500 / 70)
  64. local CombatRange = BaseRange * (2000 / 70)
  65. local NeighborMinDistance_PVP = (BaseRange ^ 1.23) * (1500 / 70)
  66. local FoliageWorkableRange = BaseRange * (200 / 70)
  67. local CombatRange_PVP = BaseRange * (2000 / 70)
  68.  
  69. print("[BaseRangeDebug] Calculated values:")
  70. print(" CalculatedDistance = " .. CalculatedDistance)
  71. print(" ExtraWorkAreaRange = " .. ExtraWorkAreaRange)
  72. print(" BaseCampAreaRange = " .. BaseCampAreaRange)
  73. print(" NeighborMinDistance = " .. NeighborMinDistance)
  74. print(" CombatRange = " .. CombatRange)
  75. print(" NeighborMinDistance_PVP = " .. NeighborMinDistance_PVP)
  76. print(" FoliageWorkableRange = " .. FoliageWorkableRange)
  77. print(" CombatRange_PVP = " .. CombatRange_PVP)
  78.  
  79. local settingsList = FindAllOf("PalGameSetting") or {}
  80. print("[BaseRangeDebug] Found " .. #settingsList .. " PalGameSetting object(s)")
  81.  
  82. for i, game_settings in ipairs(settingsList) do
  83. if game_settings:IsValid() then
  84. print("[BaseRangeDebug] --- Processing PalGameSetting #" .. i .. " ---")
  85.  
  86. local function TrySet(name, value)
  87. local success, result = pcall(function()
  88. local current = game_settings[name]
  89. if type(current) == "number" then
  90. game_settings[name] = value
  91. print("[BaseRangeDebug] SET " .. name .. " = " .. value .. " (was " .. current .. ")")
  92. return true
  93. else
  94. print("[BaseRangeDebug] SKIP " .. name .. " (type is " .. type(current) .. ", not number)")
  95. return false
  96. end
  97. end)
  98. if not success then
  99. print("[BaseRangeDebug] ERROR accessing " .. name .. ": " .. tostring(result))
  100. end
  101. end
  102.  
  103. TrySet("SpawnerDisableDistanceCM_FromBaseCamp", CalculatedDistance)
  104. TrySet("BaseCampExtraWorkAreaRange", ExtraWorkAreaRange)
  105. TrySet("BaseCampAreaRange", BaseCampAreaRange)
  106. TrySet("BaseCampNeighborMinimumDistance", NeighborMinDistance)
  107. TrySet("BaseCampPalCombatRange_AddCampRange", CombatRange)
  108. TrySet("BaseCampNeighborMinimumDistance_PVP", NeighborMinDistance_PVP)
  109. TrySet("BaseCampFoliageWorkableRange", FoliageWorkableRange)
  110. TrySet("BaseCampPalCombatRange_AddCampRange_PVP", CombatRange_PVP)
  111. else
  112. print("[BaseRangeDebug] PalGameSetting #" .. i .. " is invalid")
  113. end
  114. end
  115.  
  116. print("[BaseRangeDebug] ===== SpawnRange() finished =====")
  117. end
  118.  
  119. print("[BaseRangeDebug] Registering hook: ServerAcknowledgePossession")
  120. RegisterHook("/Script/Engine.PlayerController:ServerAcknowledgePossession", SpawnRange)
  121.  
  122. print("[BaseRangeDebug] ===== All registration done =====")
Advertisement
Add Comment
Please, Sign In to add comment