Script Dump Report
Click on a script to view source code.
-- [SERVER SCRIPT] Source hidden from client.
-- [SERVER SCRIPT] Source hidden from client.
-- [SERVER SCRIPT] Source hidden from client.
-- [SERVER SCRIPT] Source hidden from client.
-- [SERVER SCRIPT] Source hidden from client.
-- [SERVER SCRIPT] Source hidden from client.
-- [SERVER SCRIPT] Source hidden from client.
-- [SERVER SCRIPT] Source hidden from client.
-- [SERVER SCRIPT] Source hidden from client.
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:53:10
-- Luau version 6, Types version 3
-- Time taken: 0.054785 seconds
script:SetAttribute("Init", true)
local var13
local scriptChildModified
if game:GetService("AssetService"):FindFirstChild("engine") then
var13 = require(game:GetService("AssetService").engine)
else
var13 = require(game:GetService("ReplicatedStorage").engine)
end
local var15_upvw = false
local Parent_upvr = script.Parent
local Humanoid_upvr = Parent_upvr:WaitForChild("Humanoid")
local var18_upvw = "Standing"
local _, _ = pcall(function() -- Line 20
return UserSettings():IsUserFeatureEnabled("UserNoUpdateOnLoop")
end)
local pcall_result1, pcall_result2 = pcall(function() -- Line 24
return UserSettings():IsUserFeatureEnabled("UserEmoteToRunThresholdChange")
end)
local pcall_result1_2, pcall_result2_2 = pcall(function() -- Line 31
return UserSettings():IsUserFeatureEnabled("UserPlayEmoteByIdAnimTrackReturn2")
end)
local var28_upvw = 0
local var29_upvw = 0
local tbl_7_upvw = {
x = 0;
y = 0;
}
local var31_upvw = 0
local var32_upvw = ""
local var33_upvw
local var34_upvw
local var35_upvw
local var36_upvw = 1
local tbl_5_upvr = {}
local tbl_4_upvr = {
idle = {{
id = "http://www.roblox.com/asset/?id=507766666";
weight = 1;
}, {
id = "http://www.roblox.com/asset/?id=507766951";
weight = 1;
}, {
id = "http://www.roblox.com/asset/?id=507766388";
weight = 9;
}};
walk = {{
id = "http://www.roblox.com/asset/?id=507777826";
weight = 10;
}};
run = {{
id = "http://www.roblox.com/asset/?id=507767714";
weight = 10;
}};
swim = {{
id = "http://www.roblox.com/asset/?id=507784897";
weight = 10;
}};
swimidle = {{
id = "http://www.roblox.com/asset/?id=507785072";
weight = 10;
}};
jump = {{
id = "http://www.roblox.com/asset/?id=507765000";
weight = 10;
}};
fall = {{
id = "http://www.roblox.com/asset/?id=507767968";
weight = 10;
}};
climb = {{
id = "http://www.roblox.com/asset/?id=507765644";
weight = 10;
}};
sit = {{
id = "http://www.roblox.com/asset/?id=2506281703";
weight = 10;
}};
toolnone = {{
id = "http://www.roblox.com/asset/?id=507768375";
weight = 10;
}};
toolslash = {{
id = "http://www.roblox.com/asset/?id=522635514";
weight = 10;
}};
toollunge = {{
id = "http://www.roblox.com/asset/?id=522638767";
weight = 10;
}};
wave = {{
id = "http://www.roblox.com/asset/?id=507770239";
weight = 10;
}};
point = {{
id = "http://www.roblox.com/asset/?id=507770453";
weight = 10;
}};
dance = {{
id = "http://www.roblox.com/asset/?id=507771019";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507771955";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507772104";
weight = 10;
}};
dance2 = {{
id = "http://www.roblox.com/asset/?id=507776043";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507776720";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507776879";
weight = 10;
}};
dance3 = {{
id = "http://www.roblox.com/asset/?id=507777268";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507777451";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507777623";
weight = 10;
}};
laugh = {{
id = "http://www.roblox.com/asset/?id=507770818";
weight = 10;
}};
cheer = {{
id = "http://www.roblox.com/asset/?id=507770677";
weight = 10;
}};
}
local tbl_6_upvr = {}
local tbl_2_upvr = {}
local var87_upvw = tbl_6_upvr
local tbl_upvr = {
wave = false;
point = false;
dance = true;
dance2 = true;
dance3 = true;
laugh = false;
cheer = false;
}
math.randomseed(tick())
function findExistingAnimationInSet(arg1, arg2) -- Line 139
if arg1 == nil or arg2 == nil then
return 0
end
for i = 1, arg1.count do
if arg1[i].anim.AnimationId == arg2.AnimationId then
return i
end
end
return 0
end
local function destroyWalkAnimations_upvr() -- Line 153, Named "destroyWalkAnimations"
--[[ Upvalues[3]:
[1]: tbl_6_upvr (readonly)
[2]: tbl_2_upvr (readonly)
[3]: var29_upvw (read and write)
]]
for _, v in pairs(tbl_6_upvr) do
if v.track then
v.track:Stop()
v.track:Destroy()
v.track = nil
end
end
for _, v_2 in pairs(tbl_2_upvr) do
if v_2.track then
v_2.track:Stop()
v_2.track:Destroy()
v_2.track = nil
end
end
var29_upvw = 0
end
local var100_upvw
local var101_upvw
local var102_upvw
local var103_upvw
local function _(arg1) -- Line 174, Named "resetVelocityBounds"
--[[ Upvalues[4]:
[1]: var101_upvw (read and write)
[2]: var100_upvw (read and write)
[3]: var103_upvw (read and write)
[4]: var102_upvw (read and write)
]]
var101_upvw = 0
var100_upvw = 0
var103_upvw = 0
var102_upvw = 0
end
local function _(arg1) -- Line 181, Named "updateVelocityBounds"
--[[ Upvalues[4]:
[1]: var100_upvw (read and write)
[2]: var102_upvw (read and write)
[3]: var101_upvw (read and write)
[4]: var103_upvw (read and write)
]]
if arg1 then
if var100_upvw < arg1.x then
var100_upvw = arg1.x
end
if var102_upvw < arg1.y then
var102_upvw = arg1.y
end
if arg1.x < var101_upvw then
var101_upvw = arg1.x
end
if arg1.y < var103_upvw then
var103_upvw = arg1.y
end
end
end
local function checkStrafingEnabled_upvr(arg1) -- Line 190, Named "checkStrafingEnabled"
--[[ Upvalues[7]:
[1]: var100_upvw (read and write)
[2]: var101_upvw (read and write)
[3]: var102_upvw (read and write)
[4]: var103_upvw (read and write)
[5]: var87_upvw (read and write)
[6]: tbl_6_upvr (readonly)
[7]: tbl_2_upvr (readonly)
]]
if var100_upvw == 0 or var101_upvw == 0 or var102_upvw == 0 or var103_upvw == 0 then
if var87_upvw == tbl_6_upvr then
warn("Strafe blending disabled. Not all quadrants of motion represented.")
end
var87_upvw = tbl_2_upvr
else
if not tbl_6_upvr.run or not tbl_6_upvr.walk then
if var87_upvw == tbl_6_upvr then
warn("Strafe blending disabled. Run and walk must be strafing-friendly.")
end
var87_upvw = tbl_2_upvr
return
end
if var87_upvw ~= tbl_6_upvr then
var87_upvw = tbl_6_upvr
warn("Strafing reenabled")
end
end
end
local function setupWalkAnimations_upvr() -- Line 209, Named "setupWalkAnimations"
--[[ Upvalues[9]:
[1]: var101_upvw (read and write)
[2]: var100_upvw (read and write)
[3]: var103_upvw (read and write)
[4]: var102_upvw (read and write)
[5]: tbl_6_upvr (readonly)
[6]: checkStrafingEnabled_upvr (readonly)
[7]: var87_upvw (read and write)
[8]: Humanoid_upvr (readonly)
[9]: tbl_5_upvr (readonly)
]]
var101_upvw = 0
var100_upvw = 0
var103_upvw = 0
var102_upvw = 0
for _, v_3 in pairs(tbl_6_upvr) do
local lv = v_3.lv
if lv then
if var100_upvw < lv.x then
var100_upvw = lv.x
end
if var102_upvw < lv.y then
var102_upvw = lv.y
end
if lv.x < var101_upvw then
var101_upvw = lv.x
end
if lv.y < var103_upvw then
var103_upvw = lv.y
end
end
end
checkStrafingEnabled_upvr()
for i_5, v_4 in pairs(var87_upvw) do
v_4.track = Humanoid_upvr:LoadAnimation(tbl_5_upvr[i_5][1].anim)
v_4.track.Priority = Enum.AnimationPriority.Action
end
end
local function replaceLocomotionTrack_upvr(arg1, arg2) -- Line 222, Named "replaceLocomotionTrack"
--[[ Upvalues[7]:
[1]: var32_upvw (read and write)
[2]: var87_upvw (read and write)
[3]: destroyWalkAnimations_upvr (readonly)
[4]: tbl_6_upvr (readonly)
[5]: tbl_2_upvr (readonly)
[6]: setupWalkAnimations_upvr (readonly)
[7]: var31_upvw (read and write)
]]
local var115
if var32_upvw == "walk" and var87_upvw[arg1] then
destroyWalkAnimations_upvr()
var115 = true
end
if arg2 then
local tbl = {}
tbl.lv = arg2
tbl.speed = arg2.Magnitude
tbl_6_upvr[arg1] = tbl
else
tbl_6_upvr[arg1] = nil
end
local function INLINED() -- Internal function, doesn't exist in bytecode
local var117
return arg1 == "walk"
end
if arg1 == "run" or INLINED() then
if arg2 then
var117 = tbl_2_upvr
var117[arg1] = tbl_6_upvr[arg1]
else
if arg1 == "run" then
var117 = 12.8
else
var117 = 6.4
end
tbl_2_upvr[arg1] = {
lv = Vector2.new(0, var117);
speed = var117;
}
tbl_6_upvr[arg1] = nil
end
end
if var115 then
setupWalkAnimations_upvr()
var31_upvw = 0
end
end
local tbl_upvr_2 = {}
function scriptChildModified(arg1, arg2) -- Line 250, Named "configureAnimationSet"
--[[ Upvalues[4]:
[1]: tbl_5_upvr (readonly)
[2]: replaceLocomotionTrack_upvr (readonly)
[3]: tbl_upvr_2 (readonly)
[4]: Humanoid_upvr (readonly)
]]
if tbl_5_upvr[arg1] ~= nil then
for _, v_5 in pairs(tbl_5_upvr[arg1].connections) do
v_5:disconnect()
end
end
tbl_5_upvr[arg1] = {}
tbl_5_upvr[arg1].count = 0
tbl_5_upvr[arg1].totalWeight = 0
tbl_5_upvr[arg1].connections = {}
local SOME = script:FindFirstChild(arg1)
if SOME ~= nil then
table.insert(tbl_5_upvr[arg1].connections, SOME.ChildAdded:connect(function(arg1_2) -- Line 264
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
table.insert(tbl_5_upvr[arg1].connections, SOME.ChildRemoved:connect(function(arg1_3) -- Line 265
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
for _, v_6 in pairs(SOME:GetChildren()) do
if v_6:IsA("Animation") then
local var147 = 1
local Weight = v_6:FindFirstChild("Weight")
if Weight ~= nil then
var147 = Weight.Value
end
tbl_5_upvr[arg1].count = tbl_5_upvr[arg1].count + 1
local count = tbl_5_upvr[arg1].count
tbl_5_upvr[arg1][count] = {}
tbl_5_upvr[arg1][count].anim = v_6
tbl_5_upvr[arg1][count].weight = var147
tbl_5_upvr[arg1].totalWeight = tbl_5_upvr[arg1].totalWeight + tbl_5_upvr[arg1][count].weight
table.insert(tbl_5_upvr[arg1].connections, v_6.Changed:connect(function(arg1_4) -- Line 282
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
table.insert(tbl_5_upvr[arg1].connections, v_6.ChildAdded:connect(function(arg1_5) -- Line 283
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
table.insert(tbl_5_upvr[arg1].connections, v_6.ChildRemoved:connect(function(arg1_6) -- Line 284
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
replaceLocomotionTrack_upvr(arg1, v_6:GetAttribute("LinearVelocity"))
end
end
end
if tbl_5_upvr[arg1].count <= 0 then
for i_8, v_7 in pairs(arg2) do
v_6 = tbl_5_upvr[arg1]
v_6[i_8] = {}
v_6 = tbl_5_upvr[arg1][i_8]
v_6.anim = Instance.new("Animation")
v_6 = tbl_5_upvr[arg1][i_8].anim
v_6.Name = arg1
v_6 = tbl_5_upvr[arg1][i_8].anim
v_6.AnimationId = v_7.id
v_6 = tbl_5_upvr[arg1][i_8]
v_6.weight = v_7.weight
v_6 = tbl_5_upvr[arg1]
v_6.count = tbl_5_upvr[arg1].count + 1
v_6 = tbl_5_upvr[arg1]
v_6.totalWeight = tbl_5_upvr[arg1].totalWeight + v_7.weight
end
end
for _, v_8 in pairs(tbl_5_upvr) do
for i_10 = 1, v_8.count do
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if tbl_upvr_2[v_8[i_10].anim.AnimationId] == nil then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
Humanoid_upvr:LoadAnimation(v_8[i_10].anim)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
tbl_upvr_2[v_8[i_10].anim.AnimationId] = true
end
end
end
end
configureAnimationSet = scriptChildModified -- Setting global
function scriptChildModified(arg1) -- Line 317
--[[ Upvalues[1]:
[1]: tbl_4_upvr (readonly)
]]
local var159 = tbl_4_upvr[arg1.Name]
if var159 ~= nil then
configureAnimationSet(arg1.Name, var159)
elseif arg1:isA("StringValue") then
tbl_4_upvr[arg1.Name] = {}
configureAnimationSet(arg1.Name, tbl_4_upvr[arg1.Name])
end
end
scriptChildModified = scriptChildModified -- Setting global
scriptChildModified = script.ChildAdded:connect
scriptChildModified(scriptChildModified)
scriptChildModified = script.ChildRemoved:connect
scriptChildModified(scriptChildModified)
if Humanoid_upvr then
scriptChildModified = Humanoid_upvr:FindFirstChildOfClass("Animator")
else
scriptChildModified = nil
end
if scriptChildModified then
for _, v_9 in ipairs(scriptChildModified:GetPlayingAnimationTracks()) do
v_9:Stop(0)
v_9:Destroy()
end
end
for i_12, _ in pairs(tbl_4_upvr) do
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [552.44]
configureAnimationSet(i_12, nil)
end
for _, v_11 in script:GetChildren() do
if v_11:isA("StringValue") then
tbl_4_upvr[v_11.Name] = {}
configureAnimationSet(v_11.Name, tbl_4_upvr[v_11.Name])
end
end
local var169_upvw = "None"
local var170_upvw = 0
local var171_upvw = false
function stopAllAnimations() -- Line 369
--[[ Upvalues[7]:
[1]: var32_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: var171_upvw (read and write)
[4]: var33_upvw (read and write)
[5]: var35_upvw (read and write)
[6]: var34_upvw (read and write)
[7]: var87_upvw (read and write)
]]
local var176
if tbl_upvr[var32_upvw] ~= nil and tbl_upvr[var176] == false then
var176 = "idle"
end
if var171_upvw then
var176 = "idle"
var171_upvw = false
end
var32_upvw = ""
var33_upvw = nil
if var35_upvw ~= nil then
var35_upvw:disconnect()
end
if var34_upvw ~= nil then
var34_upvw:Stop()
var34_upvw:Destroy()
var34_upvw = nil
end
for _, v_12 in pairs(var87_upvw) do
if v_12.track then
v_12.track:Stop()
v_12.track:Destroy()
v_12.track = nil
end
end
return var176
end
local ScaleDampeningPercent_upvw = script:FindFirstChild("ScaleDampeningPercent")
function getHeightScale() -- Line 405
--[[ Upvalues[2]:
[1]: Humanoid_upvr (readonly)
[2]: ScaleDampeningPercent_upvw (read and write)
]]
local var181
if var181 then
var181 = Humanoid_upvr.AutomaticScalingEnabled
if not var181 then
var181 = 1
return var181
end
var181 = Humanoid_upvr.HipHeight / 2
if ScaleDampeningPercent_upvw == nil then
ScaleDampeningPercent_upvw = script:FindFirstChild("ScaleDampeningPercent")
end
if ScaleDampeningPercent_upvw ~= nil then
var181 = 1 + (Humanoid_upvr.HipHeight - 2) * ScaleDampeningPercent_upvw.Value / 2
end
return var181
end
return 1
end
local function _(arg1, arg2) -- Line 424, Named "signedAngle"
return -math.atan2(arg1.x * arg2.y - arg1.y * arg2.x, arg1.x * arg2.x + arg1.y * arg2.y)
end
local function get2DWeight_upvr(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 429, Named "get2DWeight"
local var182 = 0.5 * (arg5 + arg6)
local module_2 = {
x = (arg4 - arg5) / var182;
y = 2 * -math.atan2(arg2.x * arg1.y - arg2.y * arg1.x, arg2.x * arg1.x + arg2.y * arg1.y);
}
local module = {
x = (arg6 - arg5) / var182;
y = 2 * -math.atan2(arg2.x * arg3.y - arg2.y * arg3.x, arg2.x * arg3.x + arg2.y * arg3.y);
}
return math.clamp(1 - (module_2.x * module.x + module_2.y * module.y) / ((0.0001) + (module.x * module.x + module.y * module.y)), 0, 1)
end
local function blend2D_upvr(arg1, arg2) -- Line 440, Named "blend2D"
--[[ Upvalues[2]:
[1]: var87_upvw (read and write)
[2]: get2DWeight_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 95 start (CF ANALYSIS FAILED)
local tbl_3 = {}
local var213
for i_15, v_13 in pairs(var87_upvw) do
if arg1.x * v_13.lv.x < 0 or arg1.y * v_13.lv.y < 0 then
tbl_3[i_15] = 0
else
tbl_3[i_15] = math.huge
for _, v_14 in pairs(var87_upvw) do
if arg1.x * v_14.lv.x >= 0 and arg1.y * v_14.lv.y >= 0 then
tbl_3[i_15] = math.min(tbl_3[i_15], get2DWeight_upvr(arg1, v_13.lv, v_14.lv, arg2, v_13.speed, v_14.speed))
end
end
var213 += tbl_3[i_15]
end
end
local pairs_result1_4, pairs_result2_10, pairs_result3_10 = pairs(var87_upvw)
for i_17, v_15 in pairs_result1_4, pairs_result2_10, pairs_result3_10 do
if 0.1 < tbl_3[i_17] / var213 then
local var220 = 0 + tbl_3[i_17] * v_15.lv.x
local var222 = 0 + tbl_3[i_17] * v_15.lv.y
else
tbl_3[i_17] = 0
end
end
pairs_result1_4 = nil
local var223 = pairs_result1_4
local var224 = var220 * var220 + var222 * var222
if 0.0001 < var224 then
var223 = math.sqrt(arg2 * arg2 / var224)
else
var223 = 0
end
local pairs_result1_6, pairs_result2_7, pairs_result3_8 = pairs(var87_upvw)
-- KONSTANTERROR: [0] 1. Error Block 95 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [153] 112. Error Block 27 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [153] 112. Error Block 27 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [143] 106. Error Block 83 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if v_15.lv then
local _, _, _ = pairs(var87_upvw)
-- KONSTANTWARNING: GOTO [160] #117
end
-- KONSTANTERROR: [143] 106. Error Block 83 end (CF ANALYSIS FAILED)
end
local function getWalkDirection_upvr() -- Line 522, Named "getWalkDirection"
--[[ Upvalues[1]:
[1]: Humanoid_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local WalkToPoint_2 = Humanoid_upvr.WalkToPoint
local WalkToPart = Humanoid_upvr.WalkToPart
if Humanoid_upvr.MoveDirection ~= Vector3.new(0, 0, 0) then
do
return Humanoid_upvr.MoveDirection
end
local _
end
if WalkToPart or WalkToPoint_2 ~= Vector3.new(0, 0, 0) then
if WalkToPart then
else
end
if Humanoid_upvr.RootPart then
local var240 = WalkToPoint_2 - Humanoid_upvr.RootPart.CFrame.Position
local vector3 = Vector3.new(var240.x, 0, var240.z)
local Magnitude_2 = vector3.Magnitude
if 0.01 < Magnitude_2 then
end
end
return vector3 / Magnitude_2
end
return Humanoid_upvr.MoveDirection
end
local function updateVelocity_upvr(arg1) -- Line 549, Named "updateVelocity"
--[[ Upvalues[10]:
[1]: var87_upvw (read and write)
[2]: tbl_6_upvr (readonly)
[3]: getWalkDirection_upvr (readonly)
[4]: Humanoid_upvr (readonly)
[5]: var18_upvw (read and write)
[6]: var28_upvw (read and write)
[7]: tbl_7_upvw (read and write)
[8]: var29_upvw (read and write)
[9]: var31_upvw (read and write)
[10]: blend2D_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [130] 93. Error Block 29 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [130.7]
tbl_7_upvw = nil
var29_upvw = var28_upvw
var31_upvw = arg1
blend2D_upvr(tbl_7_upvw, var29_upvw)
do
return
end
-- KONSTANTERROR: [130] 93. Error Block 29 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [139] 102. Error Block 31 start (CF ANALYSIS FAILED)
if 0.01 < math.abs(var28_upvw - var29_upvw) or 1 < arg1 - var31_upvw then
var29_upvw = var28_upvw
var31_upvw = arg1
blend2D_upvr(Vector2.yAxis, var29_upvw)
end
-- KONSTANTERROR: [139] 102. Error Block 31 end (CF ANALYSIS FAILED)
end
function setAnimationSpeed(arg1) -- Line 597
--[[ Upvalues[3]:
[1]: var32_upvw (read and write)
[2]: var36_upvw (read and write)
[3]: var34_upvw (read and write)
]]
if var32_upvw ~= "walk" and arg1 ~= var36_upvw then
var36_upvw = arg1
var34_upvw:AdjustSpeed(var36_upvw)
end
end
function keyFrameReachedFunc(arg1) -- Line 606
--[[ Upvalues[6]:
[1]: var32_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: var171_upvw (read and write)
[4]: var34_upvw (read and write)
[5]: var36_upvw (read and write)
[6]: Humanoid_upvr (readonly)
]]
if arg1 == "End" then
local var243
if tbl_upvr[var32_upvw] ~= nil and tbl_upvr[var243] == false then
var243 = "idle"
end
if var171_upvw then
if var34_upvw.Looped then return end
var243 = "idle"
var171_upvw = false
end
playAnimation(var243, 0.15, Humanoid_upvr)
setAnimationSpeed(var36_upvw)
end
end
function rollAnimation(arg1) -- Line 630
--[[ Upvalues[1]:
[1]: tbl_5_upvr (readonly)
]]
local var245
while tbl_5_upvr[arg1][var245].weight < math.random(1, tbl_5_upvr[arg1].totalWeight) do
var245 += 1
end
return var245
end
local function switchToAnim_upvr(arg1, arg2, arg3, arg4) -- Line 641, Named "switchToAnim"
--[[ Upvalues[7]:
[1]: var33_upvw (read and write)
[2]: var34_upvw (read and write)
[3]: var35_upvw (read and write)
[4]: var36_upvw (read and write)
[5]: var32_upvw (read and write)
[6]: setupWalkAnimations_upvr (readonly)
[7]: destroyWalkAnimations_upvr (readonly)
]]
if arg1 ~= var33_upvw then
if var34_upvw ~= nil then
var34_upvw:Stop(arg3)
var34_upvw:Destroy()
end
if var35_upvw ~= nil then
var35_upvw:disconnect()
end
if arg2 == "idle" then
script:SetAttribute("WalkDirection", "Idle")
end
var36_upvw = 1
var32_upvw = arg2
var33_upvw = arg1
if arg2 == "walk" then
setupWalkAnimations_upvr()
return
end
destroyWalkAnimations_upvr()
var34_upvw = arg4:LoadAnimation(arg1)
var34_upvw.Priority = Enum.AnimationPriority.Core
var34_upvw:Play(arg3)
var35_upvw = var34_upvw.KeyframeReached:connect(keyFrameReachedFunc)
end
end
function playAnimation(arg1, arg2, arg3) -- Line 677
--[[ Upvalues[3]:
[1]: tbl_5_upvr (readonly)
[2]: switchToAnim_upvr (readonly)
[3]: var171_upvw (read and write)
]]
switchToAnim_upvr(tbl_5_upvr[arg1][rollAnimation(arg1)].anim, arg1, arg2, arg3)
var171_upvw = false
end
function playEmote(arg1, arg2, arg3) -- Line 685
--[[ Upvalues[2]:
[1]: switchToAnim_upvr (readonly)
[2]: var171_upvw (read and write)
]]
switchToAnim_upvr(arg1, arg1.Name, arg2, arg3)
var171_upvw = true
end
local var246_upvw = ""
local var247_upvw
local var248_upvw
local var249_upvw
function toolKeyFrameReachedFunc(arg1) -- Line 698
--[[ Upvalues[2]:
[1]: var246_upvw (read and write)
[2]: Humanoid_upvr (readonly)
]]
if arg1 == "End" then
playToolAnimation(var246_upvw, 0, Humanoid_upvr)
end
end
function playToolAnimation(arg1, arg2, arg3, arg4) -- Line 705
--[[ Upvalues[5]:
[1]: tbl_5_upvr (readonly)
[2]: var248_upvw (read and write)
[3]: var247_upvw (read and write)
[4]: var246_upvw (read and write)
[5]: var249_upvw (read and write)
]]
local anim = tbl_5_upvr[arg1][rollAnimation(arg1)].anim
local var251
if var248_upvw ~= anim then
if var247_upvw ~= nil then
var247_upvw:Stop()
var247_upvw:Destroy()
var251 = 0
end
var247_upvw = arg3:LoadAnimation(anim)
if arg4 then
var247_upvw.Priority = arg4
end
var247_upvw:Play(var251)
var246_upvw = arg1
var248_upvw = anim
var249_upvw = var247_upvw.KeyframeReached:connect(toolKeyFrameReachedFunc)
end
end
function stopToolAnimations() -- Line 732
--[[ Upvalues[4]:
[1]: var246_upvw (read and write)
[2]: var249_upvw (read and write)
[3]: var248_upvw (read and write)
[4]: var247_upvw (read and write)
]]
if var249_upvw ~= nil then
var249_upvw:disconnect()
end
var246_upvw = ""
var248_upvw = nil
if var247_upvw ~= nil then
var247_upvw:Stop()
var247_upvw:Destroy()
var247_upvw = nil
end
return var246_upvw
end
local var252_upvw = pcall_result1 and pcall_result2
function onRunning(arg1) -- Line 754
--[[ Upvalues[8]:
[1]: var252_upvw (read and write)
[2]: var171_upvw (read and write)
[3]: Humanoid_upvr (readonly)
[4]: var28_upvw (read and write)
[5]: var18_upvw (read and write)
[6]: updateVelocity_upvr (readonly)
[7]: tbl_upvr (readonly)
[8]: var32_upvw (read and write)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local var253
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [2] 3. Error Block 2 start (CF ANALYSIS FAILED)
var253 = var171_upvw
-- KONSTANTERROR: [2] 3. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [4] 5. Error Block 20 start (CF ANALYSIS FAILED)
if Humanoid_upvr.MoveDirection ~= Vector3.new(0, 0, 0) then
var253 = false
else
var253 = true
end
-- KONSTANTERROR: [4] 5. Error Block 20 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [12] 11. Error Block 19 start (CF ANALYSIS FAILED)
if not var253 or not Humanoid_upvr.WalkSpeed then
end
var28_upvw = arg1
-- KONSTANTERROR: [12] 11. Error Block 19 end (CF ANALYSIS FAILED)
end
function onDied() -- Line 776
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "Dead"
end
function onJumping() -- Line 780
--[[ Upvalues[3]:
[1]: Humanoid_upvr (readonly)
[2]: var170_upvw (read and write)
[3]: var18_upvw (read and write)
]]
playAnimation("jump", 0.1, Humanoid_upvr)
var170_upvw = 0.31
var18_upvw = "Jumping"
end
function onClimbing(arg1) -- Line 786
--[[ Upvalues[2]:
[1]: Humanoid_upvr (readonly)
[2]: var18_upvw (read and write)
]]
playAnimation("climb", 0.1, Humanoid_upvr)
setAnimationSpeed(arg1 / 5)
var18_upvw = "Climbing"
end
function onGettingUp() -- Line 793
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "GettingUp"
end
function onFallingDown() -- Line 797
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "FallingDown"
end
function onSeated() -- Line 801
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "Seated"
end
function onPlatformStanding() -- Line 805
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "PlatformStanding"
end
function onSwimming(arg1) -- Line 812
--[[ Upvalues[2]:
[1]: Humanoid_upvr (readonly)
[2]: var18_upvw (read and write)
]]
if 1 < arg1 then
playAnimation("swim", 0.4, Humanoid_upvr)
setAnimationSpeed(arg1 / 10)
var18_upvw = "Swimming"
else
playAnimation("swimidle", 0.4, Humanoid_upvr)
var18_upvw = "Standing"
end
end
function animateTool() -- Line 824
--[[ Upvalues[2]:
[1]: var169_upvw (read and write)
[2]: Humanoid_upvr (readonly)
]]
if var169_upvw == "None" then
playToolAnimation("toolnone", 0.1, Humanoid_upvr, Enum.AnimationPriority.Idle)
else
if var169_upvw == "Slash" then
playToolAnimation("toolslash", 0, Humanoid_upvr, Enum.AnimationPriority.Action)
return
end
if var169_upvw == "Lunge" then
playToolAnimation("toollunge", 0, Humanoid_upvr, Enum.AnimationPriority.Action)
return
end
end
end
function getToolAnim(arg1) -- Line 841
for _, v_16 in ipairs(arg1:GetChildren()) do
if v_16.Name == "toolanim" and v_16.className == "StringValue" then
return v_16
end
end
return nil
end
local var259_upvw = 0
local var260_upvw = 0
function stepAnimate(arg1) -- Line 852
--[[ Upvalues[9]:
[1]: var259_upvw (read and write)
[2]: var170_upvw (read and write)
[3]: var18_upvw (read and write)
[4]: Humanoid_upvr (readonly)
[5]: updateVelocity_upvr (readonly)
[6]: Parent_upvr (readonly)
[7]: var169_upvw (read and write)
[8]: var260_upvw (read and write)
[9]: var248_upvw (read and write)
]]
var259_upvw = arg1
if 0 < var170_upvw then
var170_upvw -= arg1 - var259_upvw
end
if var18_upvw == "FreeFall" and var170_upvw <= 0 then
playAnimation("fall", 0.2, Humanoid_upvr)
else
if var18_upvw == "Seated" then
playAnimation("sit", 0.5, Humanoid_upvr)
return
end
if var18_upvw == "Running" then
playAnimation("walk", 0.2, Humanoid_upvr)
updateVelocity_upvr(arg1)
elseif var18_upvw == "Dead" or var18_upvw == "GettingUp" or var18_upvw == "FallingDown" or var18_upvw == "Seated" or var18_upvw == "PlatformStanding" then
stopAllAnimations()
end
end
local class_Tool = Parent_upvr:FindFirstChildOfClass("Tool")
if class_Tool and class_Tool:FindFirstChild("Handle") then
local getToolAnim_result1 = getToolAnim(class_Tool)
if getToolAnim_result1 then
var169_upvw = getToolAnim_result1.Value
getToolAnim_result1.Parent = nil
var260_upvw = arg1 + 0.3
end
if var260_upvw < arg1 then
var260_upvw = 0
var169_upvw = "None"
end
animateTool()
else
stopToolAnimations()
var169_upvw = "None"
var248_upvw = nil
var260_upvw = 0
end
end
Humanoid_upvr.Died:connect(onDied)
Humanoid_upvr.Running:connect(onRunning)
Humanoid_upvr.Climbing:connect(onClimbing)
Humanoid_upvr.GettingUp:connect(onGettingUp)
Humanoid_upvr.FallingDown:connect(onFallingDown)
Humanoid_upvr.Seated:connect(onSeated)
Humanoid_upvr.PlatformStanding:connect(onPlatformStanding)
Humanoid_upvr.Swimming:connect(onSwimming)
Humanoid_upvr.Changed:Connect(function(arg1) -- Line 917
--[[ Upvalues[2]:
[1]: var15_upvw (read and write)
[2]: Humanoid_upvr (readonly)
]]
if arg1 == "Jump" and var15_upvw then
Humanoid_upvr.Jump = false
end
end)
local References_upvr = var13.References
Humanoid_upvr.StateChanged:Connect(function(arg1, arg2) -- Line 923
--[[ Upvalues[3]:
[1]: var15_upvw (read and write)
[2]: Humanoid_upvr (readonly)
[3]: References_upvr (readonly)
]]
if arg2 == Enum.HumanoidStateType.Jumping then
local var271
if not var15_upvw then
var271 = "Sprinting"
if script:GetAttribute(var271) then
var271 = References_upvr.Main.animations.Player.Jump.Sprint
local any_LoadAnimation_result1_upvr = Humanoid_upvr:LoadAnimation(var271)
any_LoadAnimation_result1_upvr.Priority = Enum.AnimationPriority.Action3
any_LoadAnimation_result1_upvr:Play(0.2)
var271 = 0.2
task.wait(var271)
var15_upvw = true
local function INLINED_3() -- Internal function, doesn't exist in bytecode
var271 = any_LoadAnimation_result1_upvr.Length - 0.2
return var271
end
if 0.1 > any_LoadAnimation_result1_upvr.Length or not INLINED_3() then
var271 = 0.3
end
task.delay(var271, function() -- Line 934
--[[ Upvalues[2]:
[1]: any_LoadAnimation_result1_upvr (readonly)
[2]: var15_upvw (copied, read and write)
]]
any_LoadAnimation_result1_upvr:Stop(0.2)
task.wait(1)
var15_upvw = false
end)
return
end
any_LoadAnimation_result1_upvr = Humanoid_upvr:LoadAnimation(References_upvr.Main.animations.Player.Jump.Low)
local var274_upvr = any_LoadAnimation_result1_upvr
var274_upvr.Priority = Enum.AnimationPriority.Action3
var274_upvr:Play(0.2)
task.wait(0.2)
var15_upvw = true
if 0.1 > var274_upvr.Length or not (var274_upvr.Length - 1) then
end
task.delay(0.2, function() -- Line 947
--[[ Upvalues[2]:
[1]: var274_upvr (readonly)
[2]: var15_upvw (copied, read and write)
]]
var274_upvr:Stop(0.2)
task.wait(1)
var15_upvw = false
end)
end
end
end)
game:GetService("Players").LocalPlayer.Chatted:connect(function(arg1) -- Line 958
--[[ Upvalues[3]:
[1]: var18_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: Humanoid_upvr (readonly)
]]
local var277
if string.sub(arg1, 1, 3) == "/e " then
var277 = string.sub(arg1, 4)
elseif string.sub(arg1, 1, 7) == "/emote " then
var277 = string.sub(arg1, 8)
end
if var18_upvw == "Standing" and tbl_upvr[var277] ~= nil then
playAnimation(var277, 0.1, Humanoid_upvr)
end
end)
local var279_upvw = pcall_result1_2 and pcall_result2_2
script:WaitForChild("PlayEmote").OnInvoke = function(arg1) -- Line 972
--[[ Upvalues[5]:
[1]: var18_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: Humanoid_upvr (readonly)
[4]: var279_upvw (read and write)
[5]: var34_upvw (read and write)
]]
if var18_upvw ~= "Standing" then return end
if tbl_upvr[arg1] ~= nil then
playAnimation(arg1, 0.1, Humanoid_upvr)
if var279_upvw then
return true, var34_upvw
end
return true
end
if typeof(arg1) == "Instance" and arg1:IsA("Animation") then
playEmote(arg1, 0.1, Humanoid_upvr)
if var279_upvw then
return true, var34_upvw
end
return true
end
return false
end
if Parent_upvr.Parent ~= nil then
playAnimation("idle", 0.1, Humanoid_upvr)
var18_upvw = "Standing"
end
while Parent_upvr.Parent ~= nil do
local _, wait_result2 = wait(0.1)
stepAnimate(wait_result2)
end
-- [SERVER SCRIPT] Source hidden from client.
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:53:12
-- Luau version 6, Types version 3
-- Time taken: 0.066913 seconds
script:SetAttribute("Init", true)
local var13
local scriptChildModified
if game:GetService("AssetService"):FindFirstChild("engine") then
var13 = require(game:GetService("AssetService").engine)
else
var13 = require(game:GetService("ReplicatedStorage").engine)
end
local var15_upvw = false
local Parent_upvr = script.Parent
local Humanoid_upvr = Parent_upvr:WaitForChild("Humanoid")
local var18_upvw = "Standing"
local _, _ = pcall(function() -- Line 20
return UserSettings():IsUserFeatureEnabled("UserNoUpdateOnLoop")
end)
local pcall_result1, pcall_result2 = pcall(function() -- Line 24
return UserSettings():IsUserFeatureEnabled("UserEmoteToRunThresholdChange")
end)
local pcall_result1_2, pcall_result2_2 = pcall(function() -- Line 31
return UserSettings():IsUserFeatureEnabled("UserPlayEmoteByIdAnimTrackReturn2")
end)
local var28_upvw = 0
local var29_upvw = 0
local tbl_7_upvw = {
x = 0;
y = 0;
}
local var31_upvw = 0
local var32_upvw = ""
local var33_upvw
local var34_upvw
local var35_upvw
local var36_upvw = 1
local tbl_5_upvr = {}
local tbl_4_upvr = {
idle = {{
id = "http://www.roblox.com/asset/?id=507766666";
weight = 1;
}, {
id = "http://www.roblox.com/asset/?id=507766951";
weight = 1;
}, {
id = "http://www.roblox.com/asset/?id=507766388";
weight = 9;
}};
walk = {{
id = "http://www.roblox.com/asset/?id=507777826";
weight = 10;
}};
run = {{
id = "http://www.roblox.com/asset/?id=507767714";
weight = 10;
}};
swim = {{
id = "http://www.roblox.com/asset/?id=507784897";
weight = 10;
}};
swimidle = {{
id = "http://www.roblox.com/asset/?id=507785072";
weight = 10;
}};
jump = {{
id = "http://www.roblox.com/asset/?id=507765000";
weight = 10;
}};
fall = {{
id = "http://www.roblox.com/asset/?id=507767968";
weight = 10;
}};
climb = {{
id = "http://www.roblox.com/asset/?id=507765644";
weight = 10;
}};
sit = {{
id = "http://www.roblox.com/asset/?id=2506281703";
weight = 10;
}};
toolnone = {{
id = "http://www.roblox.com/asset/?id=507768375";
weight = 10;
}};
toolslash = {{
id = "http://www.roblox.com/asset/?id=522635514";
weight = 10;
}};
toollunge = {{
id = "http://www.roblox.com/asset/?id=522638767";
weight = 10;
}};
wave = {{
id = "http://www.roblox.com/asset/?id=507770239";
weight = 10;
}};
point = {{
id = "http://www.roblox.com/asset/?id=507770453";
weight = 10;
}};
dance = {{
id = "http://www.roblox.com/asset/?id=507771019";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507771955";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507772104";
weight = 10;
}};
dance2 = {{
id = "http://www.roblox.com/asset/?id=507776043";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507776720";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507776879";
weight = 10;
}};
dance3 = {{
id = "http://www.roblox.com/asset/?id=507777268";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507777451";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507777623";
weight = 10;
}};
laugh = {{
id = "http://www.roblox.com/asset/?id=507770818";
weight = 10;
}};
cheer = {{
id = "http://www.roblox.com/asset/?id=507770677";
weight = 10;
}};
}
local tbl_6_upvr = {}
local tbl_2_upvr = {}
local var87_upvw = tbl_6_upvr
local tbl_upvr = {
wave = false;
point = false;
dance = true;
dance2 = true;
dance3 = true;
laugh = false;
cheer = false;
}
math.randomseed(tick())
function findExistingAnimationInSet(arg1, arg2) -- Line 139
if arg1 == nil or arg2 == nil then
return 0
end
for i = 1, arg1.count do
if arg1[i].anim.AnimationId == arg2.AnimationId then
return i
end
end
return 0
end
local function destroyWalkAnimations_upvr() -- Line 153, Named "destroyWalkAnimations"
--[[ Upvalues[3]:
[1]: tbl_6_upvr (readonly)
[2]: tbl_2_upvr (readonly)
[3]: var29_upvw (read and write)
]]
for _, v in pairs(tbl_6_upvr) do
if v.track then
v.track:Stop()
v.track:Destroy()
v.track = nil
end
end
for _, v_2 in pairs(tbl_2_upvr) do
if v_2.track then
v_2.track:Stop()
v_2.track:Destroy()
v_2.track = nil
end
end
var29_upvw = 0
end
local var100_upvw
local var101_upvw
local var102_upvw
local var103_upvw
local function _(arg1) -- Line 174, Named "resetVelocityBounds"
--[[ Upvalues[4]:
[1]: var101_upvw (read and write)
[2]: var100_upvw (read and write)
[3]: var103_upvw (read and write)
[4]: var102_upvw (read and write)
]]
var101_upvw = 0
var100_upvw = 0
var103_upvw = 0
var102_upvw = 0
end
local function _(arg1) -- Line 181, Named "updateVelocityBounds"
--[[ Upvalues[4]:
[1]: var100_upvw (read and write)
[2]: var102_upvw (read and write)
[3]: var101_upvw (read and write)
[4]: var103_upvw (read and write)
]]
if arg1 then
if var100_upvw < arg1.x then
var100_upvw = arg1.x
end
if var102_upvw < arg1.y then
var102_upvw = arg1.y
end
if arg1.x < var101_upvw then
var101_upvw = arg1.x
end
if arg1.y < var103_upvw then
var103_upvw = arg1.y
end
end
end
local function checkStrafingEnabled_upvr(arg1) -- Line 190, Named "checkStrafingEnabled"
--[[ Upvalues[7]:
[1]: var100_upvw (read and write)
[2]: var101_upvw (read and write)
[3]: var102_upvw (read and write)
[4]: var103_upvw (read and write)
[5]: var87_upvw (read and write)
[6]: tbl_6_upvr (readonly)
[7]: tbl_2_upvr (readonly)
]]
if var100_upvw == 0 or var101_upvw == 0 or var102_upvw == 0 or var103_upvw == 0 then
if var87_upvw == tbl_6_upvr then
warn("Strafe blending disabled. Not all quadrants of motion represented.")
end
var87_upvw = tbl_2_upvr
else
if not tbl_6_upvr.run or not tbl_6_upvr.walk then
if var87_upvw == tbl_6_upvr then
warn("Strafe blending disabled. Run and walk must be strafing-friendly.")
end
var87_upvw = tbl_2_upvr
return
end
if var87_upvw ~= tbl_6_upvr then
var87_upvw = tbl_6_upvr
warn("Strafing reenabled")
end
end
end
local function setupWalkAnimations_upvr() -- Line 209, Named "setupWalkAnimations"
--[[ Upvalues[9]:
[1]: var101_upvw (read and write)
[2]: var100_upvw (read and write)
[3]: var103_upvw (read and write)
[4]: var102_upvw (read and write)
[5]: tbl_6_upvr (readonly)
[6]: checkStrafingEnabled_upvr (readonly)
[7]: var87_upvw (read and write)
[8]: Humanoid_upvr (readonly)
[9]: tbl_5_upvr (readonly)
]]
var101_upvw = 0
var100_upvw = 0
var103_upvw = 0
var102_upvw = 0
for _, v_3 in pairs(tbl_6_upvr) do
local lv = v_3.lv
if lv then
if var100_upvw < lv.x then
var100_upvw = lv.x
end
if var102_upvw < lv.y then
var102_upvw = lv.y
end
if lv.x < var101_upvw then
var101_upvw = lv.x
end
if lv.y < var103_upvw then
var103_upvw = lv.y
end
end
end
checkStrafingEnabled_upvr()
for i_5, v_4 in pairs(var87_upvw) do
v_4.track = Humanoid_upvr:LoadAnimation(tbl_5_upvr[i_5][1].anim)
v_4.track.Priority = Enum.AnimationPriority.Action
end
end
local function replaceLocomotionTrack_upvr(arg1, arg2) -- Line 222, Named "replaceLocomotionTrack"
--[[ Upvalues[7]:
[1]: var32_upvw (read and write)
[2]: var87_upvw (read and write)
[3]: destroyWalkAnimations_upvr (readonly)
[4]: tbl_6_upvr (readonly)
[5]: tbl_2_upvr (readonly)
[6]: setupWalkAnimations_upvr (readonly)
[7]: var31_upvw (read and write)
]]
local var115
if var32_upvw == "walk" and var87_upvw[arg1] then
destroyWalkAnimations_upvr()
var115 = true
end
if arg2 then
local tbl = {}
tbl.lv = arg2
tbl.speed = arg2.Magnitude
tbl_6_upvr[arg1] = tbl
else
tbl_6_upvr[arg1] = nil
end
local function INLINED() -- Internal function, doesn't exist in bytecode
local var117
return arg1 == "walk"
end
if arg1 == "run" or INLINED() then
if arg2 then
var117 = tbl_2_upvr
var117[arg1] = tbl_6_upvr[arg1]
else
if arg1 == "run" then
var117 = 12.8
else
var117 = 6.4
end
tbl_2_upvr[arg1] = {
lv = Vector2.new(0, var117);
speed = var117;
}
tbl_6_upvr[arg1] = nil
end
end
if var115 then
setupWalkAnimations_upvr()
var31_upvw = 0
end
end
local tbl_upvr_2 = {}
function scriptChildModified(arg1, arg2) -- Line 250, Named "configureAnimationSet"
--[[ Upvalues[4]:
[1]: tbl_5_upvr (readonly)
[2]: replaceLocomotionTrack_upvr (readonly)
[3]: tbl_upvr_2 (readonly)
[4]: Humanoid_upvr (readonly)
]]
if tbl_5_upvr[arg1] ~= nil then
for _, v_5 in pairs(tbl_5_upvr[arg1].connections) do
v_5:disconnect()
end
end
tbl_5_upvr[arg1] = {}
tbl_5_upvr[arg1].count = 0
tbl_5_upvr[arg1].totalWeight = 0
tbl_5_upvr[arg1].connections = {}
local SOME = script:FindFirstChild(arg1)
if SOME ~= nil then
table.insert(tbl_5_upvr[arg1].connections, SOME.ChildAdded:connect(function(arg1_2) -- Line 264
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
table.insert(tbl_5_upvr[arg1].connections, SOME.ChildRemoved:connect(function(arg1_3) -- Line 265
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
for _, v_6 in pairs(SOME:GetChildren()) do
if v_6:IsA("Animation") then
local var147 = 1
local Weight = v_6:FindFirstChild("Weight")
if Weight ~= nil then
var147 = Weight.Value
end
tbl_5_upvr[arg1].count = tbl_5_upvr[arg1].count + 1
local count = tbl_5_upvr[arg1].count
tbl_5_upvr[arg1][count] = {}
tbl_5_upvr[arg1][count].anim = v_6
tbl_5_upvr[arg1][count].weight = var147
tbl_5_upvr[arg1].totalWeight = tbl_5_upvr[arg1].totalWeight + tbl_5_upvr[arg1][count].weight
table.insert(tbl_5_upvr[arg1].connections, v_6.Changed:connect(function(arg1_4) -- Line 282
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
table.insert(tbl_5_upvr[arg1].connections, v_6.ChildAdded:connect(function(arg1_5) -- Line 283
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
table.insert(tbl_5_upvr[arg1].connections, v_6.ChildRemoved:connect(function(arg1_6) -- Line 284
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
replaceLocomotionTrack_upvr(arg1, v_6:GetAttribute("LinearVelocity"))
end
end
end
if tbl_5_upvr[arg1].count <= 0 then
for i_8, v_7 in pairs(arg2) do
v_6 = tbl_5_upvr[arg1]
v_6[i_8] = {}
v_6 = tbl_5_upvr[arg1][i_8]
v_6.anim = Instance.new("Animation")
v_6 = tbl_5_upvr[arg1][i_8].anim
v_6.Name = arg1
v_6 = tbl_5_upvr[arg1][i_8].anim
v_6.AnimationId = v_7.id
v_6 = tbl_5_upvr[arg1][i_8]
v_6.weight = v_7.weight
v_6 = tbl_5_upvr[arg1]
v_6.count = tbl_5_upvr[arg1].count + 1
v_6 = tbl_5_upvr[arg1]
v_6.totalWeight = tbl_5_upvr[arg1].totalWeight + v_7.weight
end
end
for _, v_8 in pairs(tbl_5_upvr) do
for i_10 = 1, v_8.count do
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if tbl_upvr_2[v_8[i_10].anim.AnimationId] == nil then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
Humanoid_upvr:LoadAnimation(v_8[i_10].anim)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
tbl_upvr_2[v_8[i_10].anim.AnimationId] = true
end
end
end
end
configureAnimationSet = scriptChildModified -- Setting global
function scriptChildModified(arg1) -- Line 317
--[[ Upvalues[1]:
[1]: tbl_4_upvr (readonly)
]]
local var159 = tbl_4_upvr[arg1.Name]
if var159 ~= nil then
configureAnimationSet(arg1.Name, var159)
elseif arg1:isA("StringValue") then
tbl_4_upvr[arg1.Name] = {}
configureAnimationSet(arg1.Name, tbl_4_upvr[arg1.Name])
end
end
scriptChildModified = scriptChildModified -- Setting global
scriptChildModified = script.ChildAdded:connect
scriptChildModified(scriptChildModified)
scriptChildModified = script.ChildRemoved:connect
scriptChildModified(scriptChildModified)
if Humanoid_upvr then
scriptChildModified = Humanoid_upvr:FindFirstChildOfClass("Animator")
else
scriptChildModified = nil
end
if scriptChildModified then
for _, v_9 in ipairs(scriptChildModified:GetPlayingAnimationTracks()) do
v_9:Stop(0)
v_9:Destroy()
end
end
for i_12, _ in pairs(tbl_4_upvr) do
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [552.44]
configureAnimationSet(i_12, nil)
end
for _, v_11 in script:GetChildren() do
if v_11:isA("StringValue") then
tbl_4_upvr[v_11.Name] = {}
configureAnimationSet(v_11.Name, tbl_4_upvr[v_11.Name])
end
end
local var169_upvw = "None"
local var170_upvw = 0
local var171_upvw = false
function stopAllAnimations() -- Line 369
--[[ Upvalues[7]:
[1]: var32_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: var171_upvw (read and write)
[4]: var33_upvw (read and write)
[5]: var35_upvw (read and write)
[6]: var34_upvw (read and write)
[7]: var87_upvw (read and write)
]]
local var176
if tbl_upvr[var32_upvw] ~= nil and tbl_upvr[var176] == false then
var176 = "idle"
end
if var171_upvw then
var176 = "idle"
var171_upvw = false
end
var32_upvw = ""
var33_upvw = nil
if var35_upvw ~= nil then
var35_upvw:disconnect()
end
if var34_upvw ~= nil then
var34_upvw:Stop()
var34_upvw:Destroy()
var34_upvw = nil
end
for _, v_12 in pairs(var87_upvw) do
if v_12.track then
v_12.track:Stop()
v_12.track:Destroy()
v_12.track = nil
end
end
return var176
end
local ScaleDampeningPercent_upvw = script:FindFirstChild("ScaleDampeningPercent")
function getHeightScale() -- Line 405
--[[ Upvalues[2]:
[1]: Humanoid_upvr (readonly)
[2]: ScaleDampeningPercent_upvw (read and write)
]]
local var181
if var181 then
var181 = Humanoid_upvr.AutomaticScalingEnabled
if not var181 then
var181 = 1
return var181
end
var181 = Humanoid_upvr.HipHeight / 2
if ScaleDampeningPercent_upvw == nil then
ScaleDampeningPercent_upvw = script:FindFirstChild("ScaleDampeningPercent")
end
if ScaleDampeningPercent_upvw ~= nil then
var181 = 1 + (Humanoid_upvr.HipHeight - 2) * ScaleDampeningPercent_upvw.Value / 2
end
return var181
end
return 1
end
local function _(arg1, arg2) -- Line 424, Named "signedAngle"
return -math.atan2(arg1.x * arg2.y - arg1.y * arg2.x, arg1.x * arg2.x + arg1.y * arg2.y)
end
local function get2DWeight_upvr(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 429, Named "get2DWeight"
local var182 = 0.5 * (arg5 + arg6)
local module_2 = {
x = (arg4 - arg5) / var182;
y = 2 * -math.atan2(arg2.x * arg1.y - arg2.y * arg1.x, arg2.x * arg1.x + arg2.y * arg1.y);
}
local module = {
x = (arg6 - arg5) / var182;
y = 2 * -math.atan2(arg2.x * arg3.y - arg2.y * arg3.x, arg2.x * arg3.x + arg2.y * arg3.y);
}
return math.clamp(1 - (module_2.x * module.x + module_2.y * module.y) / ((0.0001) + (module.x * module.x + module.y * module.y)), 0, 1)
end
local function blend2D_upvr(arg1, arg2) -- Line 440, Named "blend2D"
--[[ Upvalues[2]:
[1]: var87_upvw (read and write)
[2]: get2DWeight_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 95 start (CF ANALYSIS FAILED)
local tbl_3 = {}
local var213
for i_15, v_13 in pairs(var87_upvw) do
if arg1.x * v_13.lv.x < 0 or arg1.y * v_13.lv.y < 0 then
tbl_3[i_15] = 0
else
tbl_3[i_15] = math.huge
for _, v_14 in pairs(var87_upvw) do
if arg1.x * v_14.lv.x >= 0 and arg1.y * v_14.lv.y >= 0 then
tbl_3[i_15] = math.min(tbl_3[i_15], get2DWeight_upvr(arg1, v_13.lv, v_14.lv, arg2, v_13.speed, v_14.speed))
end
end
var213 += tbl_3[i_15]
end
end
local pairs_result1_4, pairs_result2_10, pairs_result3_10 = pairs(var87_upvw)
for i_17, v_15 in pairs_result1_4, pairs_result2_10, pairs_result3_10 do
if 0.1 < tbl_3[i_17] / var213 then
local var220 = 0 + tbl_3[i_17] * v_15.lv.x
local var222 = 0 + tbl_3[i_17] * v_15.lv.y
else
tbl_3[i_17] = 0
end
end
pairs_result1_4 = nil
local var223 = pairs_result1_4
local var224 = var220 * var220 + var222 * var222
if 0.0001 < var224 then
var223 = math.sqrt(arg2 * arg2 / var224)
else
var223 = 0
end
local pairs_result1_6, pairs_result2_7, pairs_result3_8 = pairs(var87_upvw)
-- KONSTANTERROR: [0] 1. Error Block 95 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [153] 112. Error Block 27 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [153] 112. Error Block 27 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [143] 106. Error Block 83 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if v_15.lv then
local _, _, _ = pairs(var87_upvw)
-- KONSTANTWARNING: GOTO [160] #117
end
-- KONSTANTERROR: [143] 106. Error Block 83 end (CF ANALYSIS FAILED)
end
local function getWalkDirection_upvr() -- Line 522, Named "getWalkDirection"
--[[ Upvalues[1]:
[1]: Humanoid_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local WalkToPoint_2 = Humanoid_upvr.WalkToPoint
local WalkToPart = Humanoid_upvr.WalkToPart
if Humanoid_upvr.MoveDirection ~= Vector3.new(0, 0, 0) then
do
return Humanoid_upvr.MoveDirection
end
local _
end
if WalkToPart or WalkToPoint_2 ~= Vector3.new(0, 0, 0) then
if WalkToPart then
else
end
if Humanoid_upvr.RootPart then
local var240 = WalkToPoint_2 - Humanoid_upvr.RootPart.CFrame.Position
local vector3 = Vector3.new(var240.x, 0, var240.z)
local Magnitude_2 = vector3.Magnitude
if 0.01 < Magnitude_2 then
end
end
return vector3 / Magnitude_2
end
return Humanoid_upvr.MoveDirection
end
local function updateVelocity_upvr(arg1) -- Line 549, Named "updateVelocity"
--[[ Upvalues[10]:
[1]: var87_upvw (read and write)
[2]: tbl_6_upvr (readonly)
[3]: getWalkDirection_upvr (readonly)
[4]: Humanoid_upvr (readonly)
[5]: var18_upvw (read and write)
[6]: var28_upvw (read and write)
[7]: tbl_7_upvw (read and write)
[8]: var29_upvw (read and write)
[9]: var31_upvw (read and write)
[10]: blend2D_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [130] 93. Error Block 29 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [130.7]
tbl_7_upvw = nil
var29_upvw = var28_upvw
var31_upvw = arg1
blend2D_upvr(tbl_7_upvw, var29_upvw)
do
return
end
-- KONSTANTERROR: [130] 93. Error Block 29 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [139] 102. Error Block 31 start (CF ANALYSIS FAILED)
if 0.01 < math.abs(var28_upvw - var29_upvw) or 1 < arg1 - var31_upvw then
var29_upvw = var28_upvw
var31_upvw = arg1
blend2D_upvr(Vector2.yAxis, var29_upvw)
end
-- KONSTANTERROR: [139] 102. Error Block 31 end (CF ANALYSIS FAILED)
end
function setAnimationSpeed(arg1) -- Line 597
--[[ Upvalues[3]:
[1]: var32_upvw (read and write)
[2]: var36_upvw (read and write)
[3]: var34_upvw (read and write)
]]
if var32_upvw ~= "walk" and arg1 ~= var36_upvw then
var36_upvw = arg1
var34_upvw:AdjustSpeed(var36_upvw)
end
end
function keyFrameReachedFunc(arg1) -- Line 606
--[[ Upvalues[6]:
[1]: var32_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: var171_upvw (read and write)
[4]: var34_upvw (read and write)
[5]: var36_upvw (read and write)
[6]: Humanoid_upvr (readonly)
]]
if arg1 == "End" then
local var243
if tbl_upvr[var32_upvw] ~= nil and tbl_upvr[var243] == false then
var243 = "idle"
end
if var171_upvw then
if var34_upvw.Looped then return end
var243 = "idle"
var171_upvw = false
end
playAnimation(var243, 0.15, Humanoid_upvr)
setAnimationSpeed(var36_upvw)
end
end
function rollAnimation(arg1) -- Line 630
--[[ Upvalues[1]:
[1]: tbl_5_upvr (readonly)
]]
local var245
while tbl_5_upvr[arg1][var245].weight < math.random(1, tbl_5_upvr[arg1].totalWeight) do
var245 += 1
end
return var245
end
local function switchToAnim_upvr(arg1, arg2, arg3, arg4) -- Line 641, Named "switchToAnim"
--[[ Upvalues[7]:
[1]: var33_upvw (read and write)
[2]: var34_upvw (read and write)
[3]: var35_upvw (read and write)
[4]: var36_upvw (read and write)
[5]: var32_upvw (read and write)
[6]: setupWalkAnimations_upvr (readonly)
[7]: destroyWalkAnimations_upvr (readonly)
]]
if arg1 ~= var33_upvw then
if var34_upvw ~= nil then
var34_upvw:Stop(arg3)
var34_upvw:Destroy()
end
if var35_upvw ~= nil then
var35_upvw:disconnect()
end
if arg2 == "idle" then
script:SetAttribute("WalkDirection", "Idle")
end
var36_upvw = 1
var32_upvw = arg2
var33_upvw = arg1
if arg2 == "walk" then
setupWalkAnimations_upvr()
return
end
destroyWalkAnimations_upvr()
var34_upvw = arg4:LoadAnimation(arg1)
var34_upvw.Priority = Enum.AnimationPriority.Core
var34_upvw:Play(arg3)
var35_upvw = var34_upvw.KeyframeReached:connect(keyFrameReachedFunc)
end
end
function playAnimation(arg1, arg2, arg3) -- Line 677
--[[ Upvalues[3]:
[1]: tbl_5_upvr (readonly)
[2]: switchToAnim_upvr (readonly)
[3]: var171_upvw (read and write)
]]
switchToAnim_upvr(tbl_5_upvr[arg1][rollAnimation(arg1)].anim, arg1, arg2, arg3)
var171_upvw = false
end
function playEmote(arg1, arg2, arg3) -- Line 685
--[[ Upvalues[2]:
[1]: switchToAnim_upvr (readonly)
[2]: var171_upvw (read and write)
]]
switchToAnim_upvr(arg1, arg1.Name, arg2, arg3)
var171_upvw = true
end
local var246_upvw = ""
local var247_upvw
local var248_upvw
local var249_upvw
function toolKeyFrameReachedFunc(arg1) -- Line 698
--[[ Upvalues[2]:
[1]: var246_upvw (read and write)
[2]: Humanoid_upvr (readonly)
]]
if arg1 == "End" then
playToolAnimation(var246_upvw, 0, Humanoid_upvr)
end
end
function playToolAnimation(arg1, arg2, arg3, arg4) -- Line 705
--[[ Upvalues[5]:
[1]: tbl_5_upvr (readonly)
[2]: var248_upvw (read and write)
[3]: var247_upvw (read and write)
[4]: var246_upvw (read and write)
[5]: var249_upvw (read and write)
]]
local anim = tbl_5_upvr[arg1][rollAnimation(arg1)].anim
local var251
if var248_upvw ~= anim then
if var247_upvw ~= nil then
var247_upvw:Stop()
var247_upvw:Destroy()
var251 = 0
end
var247_upvw = arg3:LoadAnimation(anim)
if arg4 then
var247_upvw.Priority = arg4
end
var247_upvw:Play(var251)
var246_upvw = arg1
var248_upvw = anim
var249_upvw = var247_upvw.KeyframeReached:connect(toolKeyFrameReachedFunc)
end
end
function stopToolAnimations() -- Line 732
--[[ Upvalues[4]:
[1]: var246_upvw (read and write)
[2]: var249_upvw (read and write)
[3]: var248_upvw (read and write)
[4]: var247_upvw (read and write)
]]
if var249_upvw ~= nil then
var249_upvw:disconnect()
end
var246_upvw = ""
var248_upvw = nil
if var247_upvw ~= nil then
var247_upvw:Stop()
var247_upvw:Destroy()
var247_upvw = nil
end
return var246_upvw
end
local var252_upvw = pcall_result1 and pcall_result2
function onRunning(arg1) -- Line 754
--[[ Upvalues[8]:
[1]: var252_upvw (read and write)
[2]: var171_upvw (read and write)
[3]: Humanoid_upvr (readonly)
[4]: var28_upvw (read and write)
[5]: var18_upvw (read and write)
[6]: updateVelocity_upvr (readonly)
[7]: tbl_upvr (readonly)
[8]: var32_upvw (read and write)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local var253
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [2] 3. Error Block 2 start (CF ANALYSIS FAILED)
var253 = var171_upvw
-- KONSTANTERROR: [2] 3. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [4] 5. Error Block 20 start (CF ANALYSIS FAILED)
if Humanoid_upvr.MoveDirection ~= Vector3.new(0, 0, 0) then
var253 = false
else
var253 = true
end
-- KONSTANTERROR: [4] 5. Error Block 20 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [12] 11. Error Block 19 start (CF ANALYSIS FAILED)
if not var253 or not Humanoid_upvr.WalkSpeed then
end
var28_upvw = arg1
-- KONSTANTERROR: [12] 11. Error Block 19 end (CF ANALYSIS FAILED)
end
function onDied() -- Line 776
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "Dead"
end
function onJumping() -- Line 780
--[[ Upvalues[3]:
[1]: Humanoid_upvr (readonly)
[2]: var170_upvw (read and write)
[3]: var18_upvw (read and write)
]]
playAnimation("jump", 0.1, Humanoid_upvr)
var170_upvw = 0.31
var18_upvw = "Jumping"
end
function onClimbing(arg1) -- Line 786
--[[ Upvalues[2]:
[1]: Humanoid_upvr (readonly)
[2]: var18_upvw (read and write)
]]
playAnimation("climb", 0.1, Humanoid_upvr)
setAnimationSpeed(arg1 / 5)
var18_upvw = "Climbing"
end
function onGettingUp() -- Line 793
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "GettingUp"
end
function onFallingDown() -- Line 797
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "FallingDown"
end
function onSeated() -- Line 801
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "Seated"
end
function onPlatformStanding() -- Line 805
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "PlatformStanding"
end
function onSwimming(arg1) -- Line 812
--[[ Upvalues[2]:
[1]: Humanoid_upvr (readonly)
[2]: var18_upvw (read and write)
]]
if 1 < arg1 then
playAnimation("swim", 0.4, Humanoid_upvr)
setAnimationSpeed(arg1 / 10)
var18_upvw = "Swimming"
else
playAnimation("swimidle", 0.4, Humanoid_upvr)
var18_upvw = "Standing"
end
end
function animateTool() -- Line 824
--[[ Upvalues[2]:
[1]: var169_upvw (read and write)
[2]: Humanoid_upvr (readonly)
]]
if var169_upvw == "None" then
playToolAnimation("toolnone", 0.1, Humanoid_upvr, Enum.AnimationPriority.Idle)
else
if var169_upvw == "Slash" then
playToolAnimation("toolslash", 0, Humanoid_upvr, Enum.AnimationPriority.Action)
return
end
if var169_upvw == "Lunge" then
playToolAnimation("toollunge", 0, Humanoid_upvr, Enum.AnimationPriority.Action)
return
end
end
end
function getToolAnim(arg1) -- Line 841
for _, v_16 in ipairs(arg1:GetChildren()) do
if v_16.Name == "toolanim" and v_16.className == "StringValue" then
return v_16
end
end
return nil
end
local var259_upvw = 0
local var260_upvw = 0
function stepAnimate(arg1) -- Line 852
--[[ Upvalues[9]:
[1]: var259_upvw (read and write)
[2]: var170_upvw (read and write)
[3]: var18_upvw (read and write)
[4]: Humanoid_upvr (readonly)
[5]: updateVelocity_upvr (readonly)
[6]: Parent_upvr (readonly)
[7]: var169_upvw (read and write)
[8]: var260_upvw (read and write)
[9]: var248_upvw (read and write)
]]
var259_upvw = arg1
if 0 < var170_upvw then
var170_upvw -= arg1 - var259_upvw
end
if var18_upvw == "FreeFall" and var170_upvw <= 0 then
playAnimation("fall", 0.2, Humanoid_upvr)
else
if var18_upvw == "Seated" then
playAnimation("sit", 0.5, Humanoid_upvr)
return
end
if var18_upvw == "Running" then
playAnimation("walk", 0.2, Humanoid_upvr)
updateVelocity_upvr(arg1)
elseif var18_upvw == "Dead" or var18_upvw == "GettingUp" or var18_upvw == "FallingDown" or var18_upvw == "Seated" or var18_upvw == "PlatformStanding" then
stopAllAnimations()
end
end
local class_Tool = Parent_upvr:FindFirstChildOfClass("Tool")
if class_Tool and class_Tool:FindFirstChild("Handle") then
local getToolAnim_result1 = getToolAnim(class_Tool)
if getToolAnim_result1 then
var169_upvw = getToolAnim_result1.Value
getToolAnim_result1.Parent = nil
var260_upvw = arg1 + 0.3
end
if var260_upvw < arg1 then
var260_upvw = 0
var169_upvw = "None"
end
animateTool()
else
stopToolAnimations()
var169_upvw = "None"
var248_upvw = nil
var260_upvw = 0
end
end
Humanoid_upvr.Died:connect(onDied)
Humanoid_upvr.Running:connect(onRunning)
Humanoid_upvr.Climbing:connect(onClimbing)
Humanoid_upvr.GettingUp:connect(onGettingUp)
Humanoid_upvr.FallingDown:connect(onFallingDown)
Humanoid_upvr.Seated:connect(onSeated)
Humanoid_upvr.PlatformStanding:connect(onPlatformStanding)
Humanoid_upvr.Swimming:connect(onSwimming)
Humanoid_upvr.Changed:Connect(function(arg1) -- Line 917
--[[ Upvalues[2]:
[1]: var15_upvw (read and write)
[2]: Humanoid_upvr (readonly)
]]
if arg1 == "Jump" and var15_upvw then
Humanoid_upvr.Jump = false
end
end)
local References_upvr = var13.References
Humanoid_upvr.StateChanged:Connect(function(arg1, arg2) -- Line 923
--[[ Upvalues[3]:
[1]: var15_upvw (read and write)
[2]: Humanoid_upvr (readonly)
[3]: References_upvr (readonly)
]]
if arg2 == Enum.HumanoidStateType.Jumping then
local var271
if not var15_upvw then
var271 = "Sprinting"
if script:GetAttribute(var271) then
var271 = References_upvr.Main.animations.Player.Jump.Sprint
local any_LoadAnimation_result1_upvr = Humanoid_upvr:LoadAnimation(var271)
any_LoadAnimation_result1_upvr.Priority = Enum.AnimationPriority.Action3
any_LoadAnimation_result1_upvr:Play(0.2)
var271 = 0.2
task.wait(var271)
var15_upvw = true
local function INLINED_3() -- Internal function, doesn't exist in bytecode
var271 = any_LoadAnimation_result1_upvr.Length - 0.2
return var271
end
if 0.1 > any_LoadAnimation_result1_upvr.Length or not INLINED_3() then
var271 = 0.3
end
task.delay(var271, function() -- Line 934
--[[ Upvalues[2]:
[1]: any_LoadAnimation_result1_upvr (readonly)
[2]: var15_upvw (copied, read and write)
]]
any_LoadAnimation_result1_upvr:Stop(0.2)
task.wait(1)
var15_upvw = false
end)
return
end
any_LoadAnimation_result1_upvr = Humanoid_upvr:LoadAnimation(References_upvr.Main.animations.Player.Jump.Low)
local var274_upvr = any_LoadAnimation_result1_upvr
var274_upvr.Priority = Enum.AnimationPriority.Action3
var274_upvr:Play(0.2)
task.wait(0.2)
var15_upvw = true
if 0.1 > var274_upvr.Length or not (var274_upvr.Length - 1) then
end
task.delay(0.2, function() -- Line 947
--[[ Upvalues[2]:
[1]: var274_upvr (readonly)
[2]: var15_upvw (copied, read and write)
]]
var274_upvr:Stop(0.2)
task.wait(1)
var15_upvw = false
end)
end
end
end)
game:GetService("Players").LocalPlayer.Chatted:connect(function(arg1) -- Line 958
--[[ Upvalues[3]:
[1]: var18_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: Humanoid_upvr (readonly)
]]
local var277
if string.sub(arg1, 1, 3) == "/e " then
var277 = string.sub(arg1, 4)
elseif string.sub(arg1, 1, 7) == "/emote " then
var277 = string.sub(arg1, 8)
end
if var18_upvw == "Standing" and tbl_upvr[var277] ~= nil then
playAnimation(var277, 0.1, Humanoid_upvr)
end
end)
local var279_upvw = pcall_result1_2 and pcall_result2_2
script:WaitForChild("PlayEmote").OnInvoke = function(arg1) -- Line 972
--[[ Upvalues[5]:
[1]: var18_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: Humanoid_upvr (readonly)
[4]: var279_upvw (read and write)
[5]: var34_upvw (read and write)
]]
if var18_upvw ~= "Standing" then return end
if tbl_upvr[arg1] ~= nil then
playAnimation(arg1, 0.1, Humanoid_upvr)
if var279_upvw then
return true, var34_upvw
end
return true
end
if typeof(arg1) == "Instance" and arg1:IsA("Animation") then
playEmote(arg1, 0.1, Humanoid_upvr)
if var279_upvw then
return true, var34_upvw
end
return true
end
return false
end
if Parent_upvr.Parent ~= nil then
playAnimation("idle", 0.1, Humanoid_upvr)
var18_upvw = "Standing"
end
while Parent_upvr.Parent ~= nil do
local _, wait_result2 = wait(0.1)
stepAnimate(wait_result2)
end
-- [SERVER SCRIPT] Source hidden from client.
-- [SERVER SCRIPT] Source hidden from client.
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:53:14
-- Luau version 6, Types version 3
-- Time taken: 0.073823 seconds
script:SetAttribute("Init", true)
local var13
local scriptChildModified
if game:GetService("AssetService"):FindFirstChild("engine") then
var13 = require(game:GetService("AssetService").engine)
else
var13 = require(game:GetService("ReplicatedStorage").engine)
end
local var15_upvw = false
local Parent_upvr = script.Parent
local Humanoid_upvr = Parent_upvr:WaitForChild("Humanoid")
local var18_upvw = "Standing"
local _, _ = pcall(function() -- Line 20
return UserSettings():IsUserFeatureEnabled("UserNoUpdateOnLoop")
end)
local pcall_result1, pcall_result2 = pcall(function() -- Line 24
return UserSettings():IsUserFeatureEnabled("UserEmoteToRunThresholdChange")
end)
local pcall_result1_2, pcall_result2_2 = pcall(function() -- Line 31
return UserSettings():IsUserFeatureEnabled("UserPlayEmoteByIdAnimTrackReturn2")
end)
local var28_upvw = 0
local var29_upvw = 0
local tbl_7_upvw = {
x = 0;
y = 0;
}
local var31_upvw = 0
local var32_upvw = ""
local var33_upvw
local var34_upvw
local var35_upvw
local var36_upvw = 1
local tbl_5_upvr = {}
local tbl_4_upvr = {
idle = {{
id = "http://www.roblox.com/asset/?id=507766666";
weight = 1;
}, {
id = "http://www.roblox.com/asset/?id=507766951";
weight = 1;
}, {
id = "http://www.roblox.com/asset/?id=507766388";
weight = 9;
}};
walk = {{
id = "http://www.roblox.com/asset/?id=507777826";
weight = 10;
}};
run = {{
id = "http://www.roblox.com/asset/?id=507767714";
weight = 10;
}};
swim = {{
id = "http://www.roblox.com/asset/?id=507784897";
weight = 10;
}};
swimidle = {{
id = "http://www.roblox.com/asset/?id=507785072";
weight = 10;
}};
jump = {{
id = "http://www.roblox.com/asset/?id=507765000";
weight = 10;
}};
fall = {{
id = "http://www.roblox.com/asset/?id=507767968";
weight = 10;
}};
climb = {{
id = "http://www.roblox.com/asset/?id=507765644";
weight = 10;
}};
sit = {{
id = "http://www.roblox.com/asset/?id=2506281703";
weight = 10;
}};
toolnone = {{
id = "http://www.roblox.com/asset/?id=507768375";
weight = 10;
}};
toolslash = {{
id = "http://www.roblox.com/asset/?id=522635514";
weight = 10;
}};
toollunge = {{
id = "http://www.roblox.com/asset/?id=522638767";
weight = 10;
}};
wave = {{
id = "http://www.roblox.com/asset/?id=507770239";
weight = 10;
}};
point = {{
id = "http://www.roblox.com/asset/?id=507770453";
weight = 10;
}};
dance = {{
id = "http://www.roblox.com/asset/?id=507771019";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507771955";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507772104";
weight = 10;
}};
dance2 = {{
id = "http://www.roblox.com/asset/?id=507776043";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507776720";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507776879";
weight = 10;
}};
dance3 = {{
id = "http://www.roblox.com/asset/?id=507777268";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507777451";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507777623";
weight = 10;
}};
laugh = {{
id = "http://www.roblox.com/asset/?id=507770818";
weight = 10;
}};
cheer = {{
id = "http://www.roblox.com/asset/?id=507770677";
weight = 10;
}};
}
local tbl_6_upvr = {}
local tbl_2_upvr = {}
local var87_upvw = tbl_6_upvr
local tbl_upvr = {
wave = false;
point = false;
dance = true;
dance2 = true;
dance3 = true;
laugh = false;
cheer = false;
}
math.randomseed(tick())
function findExistingAnimationInSet(arg1, arg2) -- Line 139
if arg1 == nil or arg2 == nil then
return 0
end
for i = 1, arg1.count do
if arg1[i].anim.AnimationId == arg2.AnimationId then
return i
end
end
return 0
end
local function destroyWalkAnimations_upvr() -- Line 153, Named "destroyWalkAnimations"
--[[ Upvalues[3]:
[1]: tbl_6_upvr (readonly)
[2]: tbl_2_upvr (readonly)
[3]: var29_upvw (read and write)
]]
for _, v in pairs(tbl_6_upvr) do
if v.track then
v.track:Stop()
v.track:Destroy()
v.track = nil
end
end
for _, v_2 in pairs(tbl_2_upvr) do
if v_2.track then
v_2.track:Stop()
v_2.track:Destroy()
v_2.track = nil
end
end
var29_upvw = 0
end
local var100_upvw
local var101_upvw
local var102_upvw
local var103_upvw
local function _(arg1) -- Line 174, Named "resetVelocityBounds"
--[[ Upvalues[4]:
[1]: var101_upvw (read and write)
[2]: var100_upvw (read and write)
[3]: var103_upvw (read and write)
[4]: var102_upvw (read and write)
]]
var101_upvw = 0
var100_upvw = 0
var103_upvw = 0
var102_upvw = 0
end
local function _(arg1) -- Line 181, Named "updateVelocityBounds"
--[[ Upvalues[4]:
[1]: var100_upvw (read and write)
[2]: var102_upvw (read and write)
[3]: var101_upvw (read and write)
[4]: var103_upvw (read and write)
]]
if arg1 then
if var100_upvw < arg1.x then
var100_upvw = arg1.x
end
if var102_upvw < arg1.y then
var102_upvw = arg1.y
end
if arg1.x < var101_upvw then
var101_upvw = arg1.x
end
if arg1.y < var103_upvw then
var103_upvw = arg1.y
end
end
end
local function checkStrafingEnabled_upvr(arg1) -- Line 190, Named "checkStrafingEnabled"
--[[ Upvalues[7]:
[1]: var100_upvw (read and write)
[2]: var101_upvw (read and write)
[3]: var102_upvw (read and write)
[4]: var103_upvw (read and write)
[5]: var87_upvw (read and write)
[6]: tbl_6_upvr (readonly)
[7]: tbl_2_upvr (readonly)
]]
if var100_upvw == 0 or var101_upvw == 0 or var102_upvw == 0 or var103_upvw == 0 then
if var87_upvw == tbl_6_upvr then
warn("Strafe blending disabled. Not all quadrants of motion represented.")
end
var87_upvw = tbl_2_upvr
else
if not tbl_6_upvr.run or not tbl_6_upvr.walk then
if var87_upvw == tbl_6_upvr then
warn("Strafe blending disabled. Run and walk must be strafing-friendly.")
end
var87_upvw = tbl_2_upvr
return
end
if var87_upvw ~= tbl_6_upvr then
var87_upvw = tbl_6_upvr
warn("Strafing reenabled")
end
end
end
local function setupWalkAnimations_upvr() -- Line 209, Named "setupWalkAnimations"
--[[ Upvalues[9]:
[1]: var101_upvw (read and write)
[2]: var100_upvw (read and write)
[3]: var103_upvw (read and write)
[4]: var102_upvw (read and write)
[5]: tbl_6_upvr (readonly)
[6]: checkStrafingEnabled_upvr (readonly)
[7]: var87_upvw (read and write)
[8]: Humanoid_upvr (readonly)
[9]: tbl_5_upvr (readonly)
]]
var101_upvw = 0
var100_upvw = 0
var103_upvw = 0
var102_upvw = 0
for _, v_3 in pairs(tbl_6_upvr) do
local lv = v_3.lv
if lv then
if var100_upvw < lv.x then
var100_upvw = lv.x
end
if var102_upvw < lv.y then
var102_upvw = lv.y
end
if lv.x < var101_upvw then
var101_upvw = lv.x
end
if lv.y < var103_upvw then
var103_upvw = lv.y
end
end
end
checkStrafingEnabled_upvr()
for i_5, v_4 in pairs(var87_upvw) do
v_4.track = Humanoid_upvr:LoadAnimation(tbl_5_upvr[i_5][1].anim)
v_4.track.Priority = Enum.AnimationPriority.Action
end
end
local function replaceLocomotionTrack_upvr(arg1, arg2) -- Line 222, Named "replaceLocomotionTrack"
--[[ Upvalues[7]:
[1]: var32_upvw (read and write)
[2]: var87_upvw (read and write)
[3]: destroyWalkAnimations_upvr (readonly)
[4]: tbl_6_upvr (readonly)
[5]: tbl_2_upvr (readonly)
[6]: setupWalkAnimations_upvr (readonly)
[7]: var31_upvw (read and write)
]]
local var115
if var32_upvw == "walk" and var87_upvw[arg1] then
destroyWalkAnimations_upvr()
var115 = true
end
if arg2 then
local tbl = {}
tbl.lv = arg2
tbl.speed = arg2.Magnitude
tbl_6_upvr[arg1] = tbl
else
tbl_6_upvr[arg1] = nil
end
local function INLINED() -- Internal function, doesn't exist in bytecode
local var117
return arg1 == "walk"
end
if arg1 == "run" or INLINED() then
if arg2 then
var117 = tbl_2_upvr
var117[arg1] = tbl_6_upvr[arg1]
else
if arg1 == "run" then
var117 = 12.8
else
var117 = 6.4
end
tbl_2_upvr[arg1] = {
lv = Vector2.new(0, var117);
speed = var117;
}
tbl_6_upvr[arg1] = nil
end
end
if var115 then
setupWalkAnimations_upvr()
var31_upvw = 0
end
end
local tbl_upvr_2 = {}
function scriptChildModified(arg1, arg2) -- Line 250, Named "configureAnimationSet"
--[[ Upvalues[4]:
[1]: tbl_5_upvr (readonly)
[2]: replaceLocomotionTrack_upvr (readonly)
[3]: tbl_upvr_2 (readonly)
[4]: Humanoid_upvr (readonly)
]]
if tbl_5_upvr[arg1] ~= nil then
for _, v_5 in pairs(tbl_5_upvr[arg1].connections) do
v_5:disconnect()
end
end
tbl_5_upvr[arg1] = {}
tbl_5_upvr[arg1].count = 0
tbl_5_upvr[arg1].totalWeight = 0
tbl_5_upvr[arg1].connections = {}
local SOME = script:FindFirstChild(arg1)
if SOME ~= nil then
table.insert(tbl_5_upvr[arg1].connections, SOME.ChildAdded:connect(function(arg1_2) -- Line 264
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
table.insert(tbl_5_upvr[arg1].connections, SOME.ChildRemoved:connect(function(arg1_3) -- Line 265
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
for _, v_6 in pairs(SOME:GetChildren()) do
if v_6:IsA("Animation") then
local var147 = 1
local Weight = v_6:FindFirstChild("Weight")
if Weight ~= nil then
var147 = Weight.Value
end
tbl_5_upvr[arg1].count = tbl_5_upvr[arg1].count + 1
local count = tbl_5_upvr[arg1].count
tbl_5_upvr[arg1][count] = {}
tbl_5_upvr[arg1][count].anim = v_6
tbl_5_upvr[arg1][count].weight = var147
tbl_5_upvr[arg1].totalWeight = tbl_5_upvr[arg1].totalWeight + tbl_5_upvr[arg1][count].weight
table.insert(tbl_5_upvr[arg1].connections, v_6.Changed:connect(function(arg1_4) -- Line 282
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
table.insert(tbl_5_upvr[arg1].connections, v_6.ChildAdded:connect(function(arg1_5) -- Line 283
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
table.insert(tbl_5_upvr[arg1].connections, v_6.ChildRemoved:connect(function(arg1_6) -- Line 284
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
replaceLocomotionTrack_upvr(arg1, v_6:GetAttribute("LinearVelocity"))
end
end
end
if tbl_5_upvr[arg1].count <= 0 then
for i_8, v_7 in pairs(arg2) do
v_6 = tbl_5_upvr[arg1]
v_6[i_8] = {}
v_6 = tbl_5_upvr[arg1][i_8]
v_6.anim = Instance.new("Animation")
v_6 = tbl_5_upvr[arg1][i_8].anim
v_6.Name = arg1
v_6 = tbl_5_upvr[arg1][i_8].anim
v_6.AnimationId = v_7.id
v_6 = tbl_5_upvr[arg1][i_8]
v_6.weight = v_7.weight
v_6 = tbl_5_upvr[arg1]
v_6.count = tbl_5_upvr[arg1].count + 1
v_6 = tbl_5_upvr[arg1]
v_6.totalWeight = tbl_5_upvr[arg1].totalWeight + v_7.weight
end
end
for _, v_8 in pairs(tbl_5_upvr) do
for i_10 = 1, v_8.count do
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if tbl_upvr_2[v_8[i_10].anim.AnimationId] == nil then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
Humanoid_upvr:LoadAnimation(v_8[i_10].anim)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
tbl_upvr_2[v_8[i_10].anim.AnimationId] = true
end
end
end
end
configureAnimationSet = scriptChildModified -- Setting global
function scriptChildModified(arg1) -- Line 317
--[[ Upvalues[1]:
[1]: tbl_4_upvr (readonly)
]]
local var159 = tbl_4_upvr[arg1.Name]
if var159 ~= nil then
configureAnimationSet(arg1.Name, var159)
elseif arg1:isA("StringValue") then
tbl_4_upvr[arg1.Name] = {}
configureAnimationSet(arg1.Name, tbl_4_upvr[arg1.Name])
end
end
scriptChildModified = scriptChildModified -- Setting global
scriptChildModified = script.ChildAdded:connect
scriptChildModified(scriptChildModified)
scriptChildModified = script.ChildRemoved:connect
scriptChildModified(scriptChildModified)
if Humanoid_upvr then
scriptChildModified = Humanoid_upvr:FindFirstChildOfClass("Animator")
else
scriptChildModified = nil
end
if scriptChildModified then
for _, v_9 in ipairs(scriptChildModified:GetPlayingAnimationTracks()) do
v_9:Stop(0)
v_9:Destroy()
end
end
for i_12, _ in pairs(tbl_4_upvr) do
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [552.44]
configureAnimationSet(i_12, nil)
end
for _, v_11 in script:GetChildren() do
if v_11:isA("StringValue") then
tbl_4_upvr[v_11.Name] = {}
configureAnimationSet(v_11.Name, tbl_4_upvr[v_11.Name])
end
end
local var169_upvw = "None"
local var170_upvw = 0
local var171_upvw = false
function stopAllAnimations() -- Line 369
--[[ Upvalues[7]:
[1]: var32_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: var171_upvw (read and write)
[4]: var33_upvw (read and write)
[5]: var35_upvw (read and write)
[6]: var34_upvw (read and write)
[7]: var87_upvw (read and write)
]]
local var176
if tbl_upvr[var32_upvw] ~= nil and tbl_upvr[var176] == false then
var176 = "idle"
end
if var171_upvw then
var176 = "idle"
var171_upvw = false
end
var32_upvw = ""
var33_upvw = nil
if var35_upvw ~= nil then
var35_upvw:disconnect()
end
if var34_upvw ~= nil then
var34_upvw:Stop()
var34_upvw:Destroy()
var34_upvw = nil
end
for _, v_12 in pairs(var87_upvw) do
if v_12.track then
v_12.track:Stop()
v_12.track:Destroy()
v_12.track = nil
end
end
return var176
end
local ScaleDampeningPercent_upvw = script:FindFirstChild("ScaleDampeningPercent")
function getHeightScale() -- Line 405
--[[ Upvalues[2]:
[1]: Humanoid_upvr (readonly)
[2]: ScaleDampeningPercent_upvw (read and write)
]]
local var181
if var181 then
var181 = Humanoid_upvr.AutomaticScalingEnabled
if not var181 then
var181 = 1
return var181
end
var181 = Humanoid_upvr.HipHeight / 2
if ScaleDampeningPercent_upvw == nil then
ScaleDampeningPercent_upvw = script:FindFirstChild("ScaleDampeningPercent")
end
if ScaleDampeningPercent_upvw ~= nil then
var181 = 1 + (Humanoid_upvr.HipHeight - 2) * ScaleDampeningPercent_upvw.Value / 2
end
return var181
end
return 1
end
local function _(arg1, arg2) -- Line 424, Named "signedAngle"
return -math.atan2(arg1.x * arg2.y - arg1.y * arg2.x, arg1.x * arg2.x + arg1.y * arg2.y)
end
local function get2DWeight_upvr(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 429, Named "get2DWeight"
local var182 = 0.5 * (arg5 + arg6)
local module_2 = {
x = (arg4 - arg5) / var182;
y = 2 * -math.atan2(arg2.x * arg1.y - arg2.y * arg1.x, arg2.x * arg1.x + arg2.y * arg1.y);
}
local module = {
x = (arg6 - arg5) / var182;
y = 2 * -math.atan2(arg2.x * arg3.y - arg2.y * arg3.x, arg2.x * arg3.x + arg2.y * arg3.y);
}
return math.clamp(1 - (module_2.x * module.x + module_2.y * module.y) / ((0.0001) + (module.x * module.x + module.y * module.y)), 0, 1)
end
local function blend2D_upvr(arg1, arg2) -- Line 440, Named "blend2D"
--[[ Upvalues[2]:
[1]: var87_upvw (read and write)
[2]: get2DWeight_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 95 start (CF ANALYSIS FAILED)
local tbl_3 = {}
local var213
for i_15, v_13 in pairs(var87_upvw) do
if arg1.x * v_13.lv.x < 0 or arg1.y * v_13.lv.y < 0 then
tbl_3[i_15] = 0
else
tbl_3[i_15] = math.huge
for _, v_14 in pairs(var87_upvw) do
if arg1.x * v_14.lv.x >= 0 and arg1.y * v_14.lv.y >= 0 then
tbl_3[i_15] = math.min(tbl_3[i_15], get2DWeight_upvr(arg1, v_13.lv, v_14.lv, arg2, v_13.speed, v_14.speed))
end
end
var213 += tbl_3[i_15]
end
end
local pairs_result1_4, pairs_result2_10, pairs_result3_10 = pairs(var87_upvw)
for i_17, v_15 in pairs_result1_4, pairs_result2_10, pairs_result3_10 do
if 0.1 < tbl_3[i_17] / var213 then
local var220 = 0 + tbl_3[i_17] * v_15.lv.x
local var222 = 0 + tbl_3[i_17] * v_15.lv.y
else
tbl_3[i_17] = 0
end
end
pairs_result1_4 = nil
local var223 = pairs_result1_4
local var224 = var220 * var220 + var222 * var222
if 0.0001 < var224 then
var223 = math.sqrt(arg2 * arg2 / var224)
else
var223 = 0
end
local pairs_result1_6, pairs_result2_7, pairs_result3_8 = pairs(var87_upvw)
-- KONSTANTERROR: [0] 1. Error Block 95 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [153] 112. Error Block 27 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [153] 112. Error Block 27 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [143] 106. Error Block 83 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if v_15.lv then
local _, _, _ = pairs(var87_upvw)
-- KONSTANTWARNING: GOTO [160] #117
end
-- KONSTANTERROR: [143] 106. Error Block 83 end (CF ANALYSIS FAILED)
end
local function getWalkDirection_upvr() -- Line 522, Named "getWalkDirection"
--[[ Upvalues[1]:
[1]: Humanoid_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local WalkToPoint_2 = Humanoid_upvr.WalkToPoint
local WalkToPart = Humanoid_upvr.WalkToPart
if Humanoid_upvr.MoveDirection ~= Vector3.new(0, 0, 0) then
do
return Humanoid_upvr.MoveDirection
end
local _
end
if WalkToPart or WalkToPoint_2 ~= Vector3.new(0, 0, 0) then
if WalkToPart then
else
end
if Humanoid_upvr.RootPart then
local var240 = WalkToPoint_2 - Humanoid_upvr.RootPart.CFrame.Position
local vector3 = Vector3.new(var240.x, 0, var240.z)
local Magnitude_2 = vector3.Magnitude
if 0.01 < Magnitude_2 then
end
end
return vector3 / Magnitude_2
end
return Humanoid_upvr.MoveDirection
end
local function updateVelocity_upvr(arg1) -- Line 549, Named "updateVelocity"
--[[ Upvalues[10]:
[1]: var87_upvw (read and write)
[2]: tbl_6_upvr (readonly)
[3]: getWalkDirection_upvr (readonly)
[4]: Humanoid_upvr (readonly)
[5]: var18_upvw (read and write)
[6]: var28_upvw (read and write)
[7]: tbl_7_upvw (read and write)
[8]: var29_upvw (read and write)
[9]: var31_upvw (read and write)
[10]: blend2D_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [130] 93. Error Block 29 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [130.7]
tbl_7_upvw = nil
var29_upvw = var28_upvw
var31_upvw = arg1
blend2D_upvr(tbl_7_upvw, var29_upvw)
do
return
end
-- KONSTANTERROR: [130] 93. Error Block 29 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [139] 102. Error Block 31 start (CF ANALYSIS FAILED)
if 0.01 < math.abs(var28_upvw - var29_upvw) or 1 < arg1 - var31_upvw then
var29_upvw = var28_upvw
var31_upvw = arg1
blend2D_upvr(Vector2.yAxis, var29_upvw)
end
-- KONSTANTERROR: [139] 102. Error Block 31 end (CF ANALYSIS FAILED)
end
function setAnimationSpeed(arg1) -- Line 597
--[[ Upvalues[3]:
[1]: var32_upvw (read and write)
[2]: var36_upvw (read and write)
[3]: var34_upvw (read and write)
]]
if var32_upvw ~= "walk" and arg1 ~= var36_upvw then
var36_upvw = arg1
var34_upvw:AdjustSpeed(var36_upvw)
end
end
function keyFrameReachedFunc(arg1) -- Line 606
--[[ Upvalues[6]:
[1]: var32_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: var171_upvw (read and write)
[4]: var34_upvw (read and write)
[5]: var36_upvw (read and write)
[6]: Humanoid_upvr (readonly)
]]
if arg1 == "End" then
local var243
if tbl_upvr[var32_upvw] ~= nil and tbl_upvr[var243] == false then
var243 = "idle"
end
if var171_upvw then
if var34_upvw.Looped then return end
var243 = "idle"
var171_upvw = false
end
playAnimation(var243, 0.15, Humanoid_upvr)
setAnimationSpeed(var36_upvw)
end
end
function rollAnimation(arg1) -- Line 630
--[[ Upvalues[1]:
[1]: tbl_5_upvr (readonly)
]]
local var245
while tbl_5_upvr[arg1][var245].weight < math.random(1, tbl_5_upvr[arg1].totalWeight) do
var245 += 1
end
return var245
end
local function switchToAnim_upvr(arg1, arg2, arg3, arg4) -- Line 641, Named "switchToAnim"
--[[ Upvalues[7]:
[1]: var33_upvw (read and write)
[2]: var34_upvw (read and write)
[3]: var35_upvw (read and write)
[4]: var36_upvw (read and write)
[5]: var32_upvw (read and write)
[6]: setupWalkAnimations_upvr (readonly)
[7]: destroyWalkAnimations_upvr (readonly)
]]
if arg1 ~= var33_upvw then
if var34_upvw ~= nil then
var34_upvw:Stop(arg3)
var34_upvw:Destroy()
end
if var35_upvw ~= nil then
var35_upvw:disconnect()
end
if arg2 == "idle" then
script:SetAttribute("WalkDirection", "Idle")
end
var36_upvw = 1
var32_upvw = arg2
var33_upvw = arg1
if arg2 == "walk" then
setupWalkAnimations_upvr()
return
end
destroyWalkAnimations_upvr()
var34_upvw = arg4:LoadAnimation(arg1)
var34_upvw.Priority = Enum.AnimationPriority.Core
var34_upvw:Play(arg3)
var35_upvw = var34_upvw.KeyframeReached:connect(keyFrameReachedFunc)
end
end
function playAnimation(arg1, arg2, arg3) -- Line 677
--[[ Upvalues[3]:
[1]: tbl_5_upvr (readonly)
[2]: switchToAnim_upvr (readonly)
[3]: var171_upvw (read and write)
]]
switchToAnim_upvr(tbl_5_upvr[arg1][rollAnimation(arg1)].anim, arg1, arg2, arg3)
var171_upvw = false
end
function playEmote(arg1, arg2, arg3) -- Line 685
--[[ Upvalues[2]:
[1]: switchToAnim_upvr (readonly)
[2]: var171_upvw (read and write)
]]
switchToAnim_upvr(arg1, arg1.Name, arg2, arg3)
var171_upvw = true
end
local var246_upvw = ""
local var247_upvw
local var248_upvw
local var249_upvw
function toolKeyFrameReachedFunc(arg1) -- Line 698
--[[ Upvalues[2]:
[1]: var246_upvw (read and write)
[2]: Humanoid_upvr (readonly)
]]
if arg1 == "End" then
playToolAnimation(var246_upvw, 0, Humanoid_upvr)
end
end
function playToolAnimation(arg1, arg2, arg3, arg4) -- Line 705
--[[ Upvalues[5]:
[1]: tbl_5_upvr (readonly)
[2]: var248_upvw (read and write)
[3]: var247_upvw (read and write)
[4]: var246_upvw (read and write)
[5]: var249_upvw (read and write)
]]
local anim = tbl_5_upvr[arg1][rollAnimation(arg1)].anim
local var251
if var248_upvw ~= anim then
if var247_upvw ~= nil then
var247_upvw:Stop()
var247_upvw:Destroy()
var251 = 0
end
var247_upvw = arg3:LoadAnimation(anim)
if arg4 then
var247_upvw.Priority = arg4
end
var247_upvw:Play(var251)
var246_upvw = arg1
var248_upvw = anim
var249_upvw = var247_upvw.KeyframeReached:connect(toolKeyFrameReachedFunc)
end
end
function stopToolAnimations() -- Line 732
--[[ Upvalues[4]:
[1]: var246_upvw (read and write)
[2]: var249_upvw (read and write)
[3]: var248_upvw (read and write)
[4]: var247_upvw (read and write)
]]
if var249_upvw ~= nil then
var249_upvw:disconnect()
end
var246_upvw = ""
var248_upvw = nil
if var247_upvw ~= nil then
var247_upvw:Stop()
var247_upvw:Destroy()
var247_upvw = nil
end
return var246_upvw
end
local var252_upvw = pcall_result1 and pcall_result2
function onRunning(arg1) -- Line 754
--[[ Upvalues[8]:
[1]: var252_upvw (read and write)
[2]: var171_upvw (read and write)
[3]: Humanoid_upvr (readonly)
[4]: var28_upvw (read and write)
[5]: var18_upvw (read and write)
[6]: updateVelocity_upvr (readonly)
[7]: tbl_upvr (readonly)
[8]: var32_upvw (read and write)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local var253
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [2] 3. Error Block 2 start (CF ANALYSIS FAILED)
var253 = var171_upvw
-- KONSTANTERROR: [2] 3. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [4] 5. Error Block 20 start (CF ANALYSIS FAILED)
if Humanoid_upvr.MoveDirection ~= Vector3.new(0, 0, 0) then
var253 = false
else
var253 = true
end
-- KONSTANTERROR: [4] 5. Error Block 20 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [12] 11. Error Block 19 start (CF ANALYSIS FAILED)
if not var253 or not Humanoid_upvr.WalkSpeed then
end
var28_upvw = arg1
-- KONSTANTERROR: [12] 11. Error Block 19 end (CF ANALYSIS FAILED)
end
function onDied() -- Line 776
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "Dead"
end
function onJumping() -- Line 780
--[[ Upvalues[3]:
[1]: Humanoid_upvr (readonly)
[2]: var170_upvw (read and write)
[3]: var18_upvw (read and write)
]]
playAnimation("jump", 0.1, Humanoid_upvr)
var170_upvw = 0.31
var18_upvw = "Jumping"
end
function onClimbing(arg1) -- Line 786
--[[ Upvalues[2]:
[1]: Humanoid_upvr (readonly)
[2]: var18_upvw (read and write)
]]
playAnimation("climb", 0.1, Humanoid_upvr)
setAnimationSpeed(arg1 / 5)
var18_upvw = "Climbing"
end
function onGettingUp() -- Line 793
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "GettingUp"
end
function onFallingDown() -- Line 797
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "FallingDown"
end
function onSeated() -- Line 801
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "Seated"
end
function onPlatformStanding() -- Line 805
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "PlatformStanding"
end
function onSwimming(arg1) -- Line 812
--[[ Upvalues[2]:
[1]: Humanoid_upvr (readonly)
[2]: var18_upvw (read and write)
]]
if 1 < arg1 then
playAnimation("swim", 0.4, Humanoid_upvr)
setAnimationSpeed(arg1 / 10)
var18_upvw = "Swimming"
else
playAnimation("swimidle", 0.4, Humanoid_upvr)
var18_upvw = "Standing"
end
end
function animateTool() -- Line 824
--[[ Upvalues[2]:
[1]: var169_upvw (read and write)
[2]: Humanoid_upvr (readonly)
]]
if var169_upvw == "None" then
playToolAnimation("toolnone", 0.1, Humanoid_upvr, Enum.AnimationPriority.Idle)
else
if var169_upvw == "Slash" then
playToolAnimation("toolslash", 0, Humanoid_upvr, Enum.AnimationPriority.Action)
return
end
if var169_upvw == "Lunge" then
playToolAnimation("toollunge", 0, Humanoid_upvr, Enum.AnimationPriority.Action)
return
end
end
end
function getToolAnim(arg1) -- Line 841
for _, v_16 in ipairs(arg1:GetChildren()) do
if v_16.Name == "toolanim" and v_16.className == "StringValue" then
return v_16
end
end
return nil
end
local var259_upvw = 0
local var260_upvw = 0
function stepAnimate(arg1) -- Line 852
--[[ Upvalues[9]:
[1]: var259_upvw (read and write)
[2]: var170_upvw (read and write)
[3]: var18_upvw (read and write)
[4]: Humanoid_upvr (readonly)
[5]: updateVelocity_upvr (readonly)
[6]: Parent_upvr (readonly)
[7]: var169_upvw (read and write)
[8]: var260_upvw (read and write)
[9]: var248_upvw (read and write)
]]
var259_upvw = arg1
if 0 < var170_upvw then
var170_upvw -= arg1 - var259_upvw
end
if var18_upvw == "FreeFall" and var170_upvw <= 0 then
playAnimation("fall", 0.2, Humanoid_upvr)
else
if var18_upvw == "Seated" then
playAnimation("sit", 0.5, Humanoid_upvr)
return
end
if var18_upvw == "Running" then
playAnimation("walk", 0.2, Humanoid_upvr)
updateVelocity_upvr(arg1)
elseif var18_upvw == "Dead" or var18_upvw == "GettingUp" or var18_upvw == "FallingDown" or var18_upvw == "Seated" or var18_upvw == "PlatformStanding" then
stopAllAnimations()
end
end
local class_Tool = Parent_upvr:FindFirstChildOfClass("Tool")
if class_Tool and class_Tool:FindFirstChild("Handle") then
local getToolAnim_result1 = getToolAnim(class_Tool)
if getToolAnim_result1 then
var169_upvw = getToolAnim_result1.Value
getToolAnim_result1.Parent = nil
var260_upvw = arg1 + 0.3
end
if var260_upvw < arg1 then
var260_upvw = 0
var169_upvw = "None"
end
animateTool()
else
stopToolAnimations()
var169_upvw = "None"
var248_upvw = nil
var260_upvw = 0
end
end
Humanoid_upvr.Died:connect(onDied)
Humanoid_upvr.Running:connect(onRunning)
Humanoid_upvr.Climbing:connect(onClimbing)
Humanoid_upvr.GettingUp:connect(onGettingUp)
Humanoid_upvr.FallingDown:connect(onFallingDown)
Humanoid_upvr.Seated:connect(onSeated)
Humanoid_upvr.PlatformStanding:connect(onPlatformStanding)
Humanoid_upvr.Swimming:connect(onSwimming)
Humanoid_upvr.Changed:Connect(function(arg1) -- Line 917
--[[ Upvalues[2]:
[1]: var15_upvw (read and write)
[2]: Humanoid_upvr (readonly)
]]
if arg1 == "Jump" and var15_upvw then
Humanoid_upvr.Jump = false
end
end)
local References_upvr = var13.References
Humanoid_upvr.StateChanged:Connect(function(arg1, arg2) -- Line 923
--[[ Upvalues[3]:
[1]: var15_upvw (read and write)
[2]: Humanoid_upvr (readonly)
[3]: References_upvr (readonly)
]]
if arg2 == Enum.HumanoidStateType.Jumping then
local var271
if not var15_upvw then
var271 = "Sprinting"
if script:GetAttribute(var271) then
var271 = References_upvr.Main.animations.Player.Jump.Sprint
local any_LoadAnimation_result1_upvr = Humanoid_upvr:LoadAnimation(var271)
any_LoadAnimation_result1_upvr.Priority = Enum.AnimationPriority.Action3
any_LoadAnimation_result1_upvr:Play(0.2)
var271 = 0.2
task.wait(var271)
var15_upvw = true
local function INLINED_3() -- Internal function, doesn't exist in bytecode
var271 = any_LoadAnimation_result1_upvr.Length - 0.2
return var271
end
if 0.1 > any_LoadAnimation_result1_upvr.Length or not INLINED_3() then
var271 = 0.3
end
task.delay(var271, function() -- Line 934
--[[ Upvalues[2]:
[1]: any_LoadAnimation_result1_upvr (readonly)
[2]: var15_upvw (copied, read and write)
]]
any_LoadAnimation_result1_upvr:Stop(0.2)
task.wait(1)
var15_upvw = false
end)
return
end
any_LoadAnimation_result1_upvr = Humanoid_upvr:LoadAnimation(References_upvr.Main.animations.Player.Jump.Low)
local var274_upvr = any_LoadAnimation_result1_upvr
var274_upvr.Priority = Enum.AnimationPriority.Action3
var274_upvr:Play(0.2)
task.wait(0.2)
var15_upvw = true
if 0.1 > var274_upvr.Length or not (var274_upvr.Length - 1) then
end
task.delay(0.2, function() -- Line 947
--[[ Upvalues[2]:
[1]: var274_upvr (readonly)
[2]: var15_upvw (copied, read and write)
]]
var274_upvr:Stop(0.2)
task.wait(1)
var15_upvw = false
end)
end
end
end)
game:GetService("Players").LocalPlayer.Chatted:connect(function(arg1) -- Line 958
--[[ Upvalues[3]:
[1]: var18_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: Humanoid_upvr (readonly)
]]
local var277
if string.sub(arg1, 1, 3) == "/e " then
var277 = string.sub(arg1, 4)
elseif string.sub(arg1, 1, 7) == "/emote " then
var277 = string.sub(arg1, 8)
end
if var18_upvw == "Standing" and tbl_upvr[var277] ~= nil then
playAnimation(var277, 0.1, Humanoid_upvr)
end
end)
local var279_upvw = pcall_result1_2 and pcall_result2_2
script:WaitForChild("PlayEmote").OnInvoke = function(arg1) -- Line 972
--[[ Upvalues[5]:
[1]: var18_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: Humanoid_upvr (readonly)
[4]: var279_upvw (read and write)
[5]: var34_upvw (read and write)
]]
if var18_upvw ~= "Standing" then return end
if tbl_upvr[arg1] ~= nil then
playAnimation(arg1, 0.1, Humanoid_upvr)
if var279_upvw then
return true, var34_upvw
end
return true
end
if typeof(arg1) == "Instance" and arg1:IsA("Animation") then
playEmote(arg1, 0.1, Humanoid_upvr)
if var279_upvw then
return true, var34_upvw
end
return true
end
return false
end
if Parent_upvr.Parent ~= nil then
playAnimation("idle", 0.1, Humanoid_upvr)
var18_upvw = "Standing"
end
while Parent_upvr.Parent ~= nil do
local _, wait_result2 = wait(0.1)
stepAnimate(wait_result2)
end
-- [SERVER SCRIPT] Source hidden from client.
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:53:16
-- Luau version 6, Types version 3
-- Time taken: 0.056143 seconds
script:SetAttribute("Init", true)
local var13
local scriptChildModified
if game:GetService("AssetService"):FindFirstChild("engine") then
var13 = require(game:GetService("AssetService").engine)
else
var13 = require(game:GetService("ReplicatedStorage").engine)
end
local var15_upvw = false
local Parent_upvr = script.Parent
local Humanoid_upvr = Parent_upvr:WaitForChild("Humanoid")
local var18_upvw = "Standing"
local _, _ = pcall(function() -- Line 20
return UserSettings():IsUserFeatureEnabled("UserNoUpdateOnLoop")
end)
local pcall_result1, pcall_result2 = pcall(function() -- Line 24
return UserSettings():IsUserFeatureEnabled("UserEmoteToRunThresholdChange")
end)
local pcall_result1_2, pcall_result2_2 = pcall(function() -- Line 31
return UserSettings():IsUserFeatureEnabled("UserPlayEmoteByIdAnimTrackReturn2")
end)
local var28_upvw = 0
local var29_upvw = 0
local tbl_7_upvw = {
x = 0;
y = 0;
}
local var31_upvw = 0
local var32_upvw = ""
local var33_upvw
local var34_upvw
local var35_upvw
local var36_upvw = 1
local tbl_5_upvr = {}
local tbl_4_upvr = {
idle = {{
id = "http://www.roblox.com/asset/?id=507766666";
weight = 1;
}, {
id = "http://www.roblox.com/asset/?id=507766951";
weight = 1;
}, {
id = "http://www.roblox.com/asset/?id=507766388";
weight = 9;
}};
walk = {{
id = "http://www.roblox.com/asset/?id=507777826";
weight = 10;
}};
run = {{
id = "http://www.roblox.com/asset/?id=507767714";
weight = 10;
}};
swim = {{
id = "http://www.roblox.com/asset/?id=507784897";
weight = 10;
}};
swimidle = {{
id = "http://www.roblox.com/asset/?id=507785072";
weight = 10;
}};
jump = {{
id = "http://www.roblox.com/asset/?id=507765000";
weight = 10;
}};
fall = {{
id = "http://www.roblox.com/asset/?id=507767968";
weight = 10;
}};
climb = {{
id = "http://www.roblox.com/asset/?id=507765644";
weight = 10;
}};
sit = {{
id = "http://www.roblox.com/asset/?id=2506281703";
weight = 10;
}};
toolnone = {{
id = "http://www.roblox.com/asset/?id=507768375";
weight = 10;
}};
toolslash = {{
id = "http://www.roblox.com/asset/?id=522635514";
weight = 10;
}};
toollunge = {{
id = "http://www.roblox.com/asset/?id=522638767";
weight = 10;
}};
wave = {{
id = "http://www.roblox.com/asset/?id=507770239";
weight = 10;
}};
point = {{
id = "http://www.roblox.com/asset/?id=507770453";
weight = 10;
}};
dance = {{
id = "http://www.roblox.com/asset/?id=507771019";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507771955";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507772104";
weight = 10;
}};
dance2 = {{
id = "http://www.roblox.com/asset/?id=507776043";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507776720";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507776879";
weight = 10;
}};
dance3 = {{
id = "http://www.roblox.com/asset/?id=507777268";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507777451";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507777623";
weight = 10;
}};
laugh = {{
id = "http://www.roblox.com/asset/?id=507770818";
weight = 10;
}};
cheer = {{
id = "http://www.roblox.com/asset/?id=507770677";
weight = 10;
}};
}
local tbl_6_upvr = {}
local tbl_2_upvr = {}
local var87_upvw = tbl_6_upvr
local tbl_upvr = {
wave = false;
point = false;
dance = true;
dance2 = true;
dance3 = true;
laugh = false;
cheer = false;
}
math.randomseed(tick())
function findExistingAnimationInSet(arg1, arg2) -- Line 139
if arg1 == nil or arg2 == nil then
return 0
end
for i = 1, arg1.count do
if arg1[i].anim.AnimationId == arg2.AnimationId then
return i
end
end
return 0
end
local function destroyWalkAnimations_upvr() -- Line 153, Named "destroyWalkAnimations"
--[[ Upvalues[3]:
[1]: tbl_6_upvr (readonly)
[2]: tbl_2_upvr (readonly)
[3]: var29_upvw (read and write)
]]
for _, v in pairs(tbl_6_upvr) do
if v.track then
v.track:Stop()
v.track:Destroy()
v.track = nil
end
end
for _, v_2 in pairs(tbl_2_upvr) do
if v_2.track then
v_2.track:Stop()
v_2.track:Destroy()
v_2.track = nil
end
end
var29_upvw = 0
end
local var100_upvw
local var101_upvw
local var102_upvw
local var103_upvw
local function _(arg1) -- Line 174, Named "resetVelocityBounds"
--[[ Upvalues[4]:
[1]: var101_upvw (read and write)
[2]: var100_upvw (read and write)
[3]: var103_upvw (read and write)
[4]: var102_upvw (read and write)
]]
var101_upvw = 0
var100_upvw = 0
var103_upvw = 0
var102_upvw = 0
end
local function _(arg1) -- Line 181, Named "updateVelocityBounds"
--[[ Upvalues[4]:
[1]: var100_upvw (read and write)
[2]: var102_upvw (read and write)
[3]: var101_upvw (read and write)
[4]: var103_upvw (read and write)
]]
if arg1 then
if var100_upvw < arg1.x then
var100_upvw = arg1.x
end
if var102_upvw < arg1.y then
var102_upvw = arg1.y
end
if arg1.x < var101_upvw then
var101_upvw = arg1.x
end
if arg1.y < var103_upvw then
var103_upvw = arg1.y
end
end
end
local function checkStrafingEnabled_upvr(arg1) -- Line 190, Named "checkStrafingEnabled"
--[[ Upvalues[7]:
[1]: var100_upvw (read and write)
[2]: var101_upvw (read and write)
[3]: var102_upvw (read and write)
[4]: var103_upvw (read and write)
[5]: var87_upvw (read and write)
[6]: tbl_6_upvr (readonly)
[7]: tbl_2_upvr (readonly)
]]
if var100_upvw == 0 or var101_upvw == 0 or var102_upvw == 0 or var103_upvw == 0 then
if var87_upvw == tbl_6_upvr then
warn("Strafe blending disabled. Not all quadrants of motion represented.")
end
var87_upvw = tbl_2_upvr
else
if not tbl_6_upvr.run or not tbl_6_upvr.walk then
if var87_upvw == tbl_6_upvr then
warn("Strafe blending disabled. Run and walk must be strafing-friendly.")
end
var87_upvw = tbl_2_upvr
return
end
if var87_upvw ~= tbl_6_upvr then
var87_upvw = tbl_6_upvr
warn("Strafing reenabled")
end
end
end
local function setupWalkAnimations_upvr() -- Line 209, Named "setupWalkAnimations"
--[[ Upvalues[9]:
[1]: var101_upvw (read and write)
[2]: var100_upvw (read and write)
[3]: var103_upvw (read and write)
[4]: var102_upvw (read and write)
[5]: tbl_6_upvr (readonly)
[6]: checkStrafingEnabled_upvr (readonly)
[7]: var87_upvw (read and write)
[8]: Humanoid_upvr (readonly)
[9]: tbl_5_upvr (readonly)
]]
var101_upvw = 0
var100_upvw = 0
var103_upvw = 0
var102_upvw = 0
for _, v_3 in pairs(tbl_6_upvr) do
local lv = v_3.lv
if lv then
if var100_upvw < lv.x then
var100_upvw = lv.x
end
if var102_upvw < lv.y then
var102_upvw = lv.y
end
if lv.x < var101_upvw then
var101_upvw = lv.x
end
if lv.y < var103_upvw then
var103_upvw = lv.y
end
end
end
checkStrafingEnabled_upvr()
for i_5, v_4 in pairs(var87_upvw) do
v_4.track = Humanoid_upvr:LoadAnimation(tbl_5_upvr[i_5][1].anim)
v_4.track.Priority = Enum.AnimationPriority.Action
end
end
local function replaceLocomotionTrack_upvr(arg1, arg2) -- Line 222, Named "replaceLocomotionTrack"
--[[ Upvalues[7]:
[1]: var32_upvw (read and write)
[2]: var87_upvw (read and write)
[3]: destroyWalkAnimations_upvr (readonly)
[4]: tbl_6_upvr (readonly)
[5]: tbl_2_upvr (readonly)
[6]: setupWalkAnimations_upvr (readonly)
[7]: var31_upvw (read and write)
]]
local var115
if var32_upvw == "walk" and var87_upvw[arg1] then
destroyWalkAnimations_upvr()
var115 = true
end
if arg2 then
local tbl = {}
tbl.lv = arg2
tbl.speed = arg2.Magnitude
tbl_6_upvr[arg1] = tbl
else
tbl_6_upvr[arg1] = nil
end
local function INLINED() -- Internal function, doesn't exist in bytecode
local var117
return arg1 == "walk"
end
if arg1 == "run" or INLINED() then
if arg2 then
var117 = tbl_2_upvr
var117[arg1] = tbl_6_upvr[arg1]
else
if arg1 == "run" then
var117 = 12.8
else
var117 = 6.4
end
tbl_2_upvr[arg1] = {
lv = Vector2.new(0, var117);
speed = var117;
}
tbl_6_upvr[arg1] = nil
end
end
if var115 then
setupWalkAnimations_upvr()
var31_upvw = 0
end
end
local tbl_upvr_2 = {}
function scriptChildModified(arg1, arg2) -- Line 250, Named "configureAnimationSet"
--[[ Upvalues[4]:
[1]: tbl_5_upvr (readonly)
[2]: replaceLocomotionTrack_upvr (readonly)
[3]: tbl_upvr_2 (readonly)
[4]: Humanoid_upvr (readonly)
]]
if tbl_5_upvr[arg1] ~= nil then
for _, v_5 in pairs(tbl_5_upvr[arg1].connections) do
v_5:disconnect()
end
end
tbl_5_upvr[arg1] = {}
tbl_5_upvr[arg1].count = 0
tbl_5_upvr[arg1].totalWeight = 0
tbl_5_upvr[arg1].connections = {}
local SOME = script:FindFirstChild(arg1)
if SOME ~= nil then
table.insert(tbl_5_upvr[arg1].connections, SOME.ChildAdded:connect(function(arg1_2) -- Line 264
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
table.insert(tbl_5_upvr[arg1].connections, SOME.ChildRemoved:connect(function(arg1_3) -- Line 265
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
for _, v_6 in pairs(SOME:GetChildren()) do
if v_6:IsA("Animation") then
local var147 = 1
local Weight = v_6:FindFirstChild("Weight")
if Weight ~= nil then
var147 = Weight.Value
end
tbl_5_upvr[arg1].count = tbl_5_upvr[arg1].count + 1
local count = tbl_5_upvr[arg1].count
tbl_5_upvr[arg1][count] = {}
tbl_5_upvr[arg1][count].anim = v_6
tbl_5_upvr[arg1][count].weight = var147
tbl_5_upvr[arg1].totalWeight = tbl_5_upvr[arg1].totalWeight + tbl_5_upvr[arg1][count].weight
table.insert(tbl_5_upvr[arg1].connections, v_6.Changed:connect(function(arg1_4) -- Line 282
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
table.insert(tbl_5_upvr[arg1].connections, v_6.ChildAdded:connect(function(arg1_5) -- Line 283
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
table.insert(tbl_5_upvr[arg1].connections, v_6.ChildRemoved:connect(function(arg1_6) -- Line 284
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
replaceLocomotionTrack_upvr(arg1, v_6:GetAttribute("LinearVelocity"))
end
end
end
if tbl_5_upvr[arg1].count <= 0 then
for i_8, v_7 in pairs(arg2) do
v_6 = tbl_5_upvr[arg1]
v_6[i_8] = {}
v_6 = tbl_5_upvr[arg1][i_8]
v_6.anim = Instance.new("Animation")
v_6 = tbl_5_upvr[arg1][i_8].anim
v_6.Name = arg1
v_6 = tbl_5_upvr[arg1][i_8].anim
v_6.AnimationId = v_7.id
v_6 = tbl_5_upvr[arg1][i_8]
v_6.weight = v_7.weight
v_6 = tbl_5_upvr[arg1]
v_6.count = tbl_5_upvr[arg1].count + 1
v_6 = tbl_5_upvr[arg1]
v_6.totalWeight = tbl_5_upvr[arg1].totalWeight + v_7.weight
end
end
for _, v_8 in pairs(tbl_5_upvr) do
for i_10 = 1, v_8.count do
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if tbl_upvr_2[v_8[i_10].anim.AnimationId] == nil then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
Humanoid_upvr:LoadAnimation(v_8[i_10].anim)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
tbl_upvr_2[v_8[i_10].anim.AnimationId] = true
end
end
end
end
configureAnimationSet = scriptChildModified -- Setting global
function scriptChildModified(arg1) -- Line 317
--[[ Upvalues[1]:
[1]: tbl_4_upvr (readonly)
]]
local var159 = tbl_4_upvr[arg1.Name]
if var159 ~= nil then
configureAnimationSet(arg1.Name, var159)
elseif arg1:isA("StringValue") then
tbl_4_upvr[arg1.Name] = {}
configureAnimationSet(arg1.Name, tbl_4_upvr[arg1.Name])
end
end
scriptChildModified = scriptChildModified -- Setting global
scriptChildModified = script.ChildAdded:connect
scriptChildModified(scriptChildModified)
scriptChildModified = script.ChildRemoved:connect
scriptChildModified(scriptChildModified)
if Humanoid_upvr then
scriptChildModified = Humanoid_upvr:FindFirstChildOfClass("Animator")
else
scriptChildModified = nil
end
if scriptChildModified then
for _, v_9 in ipairs(scriptChildModified:GetPlayingAnimationTracks()) do
v_9:Stop(0)
v_9:Destroy()
end
end
for i_12, _ in pairs(tbl_4_upvr) do
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [552.44]
configureAnimationSet(i_12, nil)
end
for _, v_11 in script:GetChildren() do
if v_11:isA("StringValue") then
tbl_4_upvr[v_11.Name] = {}
configureAnimationSet(v_11.Name, tbl_4_upvr[v_11.Name])
end
end
local var169_upvw = "None"
local var170_upvw = 0
local var171_upvw = false
function stopAllAnimations() -- Line 369
--[[ Upvalues[7]:
[1]: var32_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: var171_upvw (read and write)
[4]: var33_upvw (read and write)
[5]: var35_upvw (read and write)
[6]: var34_upvw (read and write)
[7]: var87_upvw (read and write)
]]
local var176
if tbl_upvr[var32_upvw] ~= nil and tbl_upvr[var176] == false then
var176 = "idle"
end
if var171_upvw then
var176 = "idle"
var171_upvw = false
end
var32_upvw = ""
var33_upvw = nil
if var35_upvw ~= nil then
var35_upvw:disconnect()
end
if var34_upvw ~= nil then
var34_upvw:Stop()
var34_upvw:Destroy()
var34_upvw = nil
end
for _, v_12 in pairs(var87_upvw) do
if v_12.track then
v_12.track:Stop()
v_12.track:Destroy()
v_12.track = nil
end
end
return var176
end
local ScaleDampeningPercent_upvw = script:FindFirstChild("ScaleDampeningPercent")
function getHeightScale() -- Line 405
--[[ Upvalues[2]:
[1]: Humanoid_upvr (readonly)
[2]: ScaleDampeningPercent_upvw (read and write)
]]
local var181
if var181 then
var181 = Humanoid_upvr.AutomaticScalingEnabled
if not var181 then
var181 = 1
return var181
end
var181 = Humanoid_upvr.HipHeight / 2
if ScaleDampeningPercent_upvw == nil then
ScaleDampeningPercent_upvw = script:FindFirstChild("ScaleDampeningPercent")
end
if ScaleDampeningPercent_upvw ~= nil then
var181 = 1 + (Humanoid_upvr.HipHeight - 2) * ScaleDampeningPercent_upvw.Value / 2
end
return var181
end
return 1
end
local function _(arg1, arg2) -- Line 424, Named "signedAngle"
return -math.atan2(arg1.x * arg2.y - arg1.y * arg2.x, arg1.x * arg2.x + arg1.y * arg2.y)
end
local function get2DWeight_upvr(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 429, Named "get2DWeight"
local var182 = 0.5 * (arg5 + arg6)
local module_2 = {
x = (arg4 - arg5) / var182;
y = 2 * -math.atan2(arg2.x * arg1.y - arg2.y * arg1.x, arg2.x * arg1.x + arg2.y * arg1.y);
}
local module = {
x = (arg6 - arg5) / var182;
y = 2 * -math.atan2(arg2.x * arg3.y - arg2.y * arg3.x, arg2.x * arg3.x + arg2.y * arg3.y);
}
return math.clamp(1 - (module_2.x * module.x + module_2.y * module.y) / ((0.0001) + (module.x * module.x + module.y * module.y)), 0, 1)
end
local function blend2D_upvr(arg1, arg2) -- Line 440, Named "blend2D"
--[[ Upvalues[2]:
[1]: var87_upvw (read and write)
[2]: get2DWeight_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 95 start (CF ANALYSIS FAILED)
local tbl_3 = {}
local var213
for i_15, v_13 in pairs(var87_upvw) do
if arg1.x * v_13.lv.x < 0 or arg1.y * v_13.lv.y < 0 then
tbl_3[i_15] = 0
else
tbl_3[i_15] = math.huge
for _, v_14 in pairs(var87_upvw) do
if arg1.x * v_14.lv.x >= 0 and arg1.y * v_14.lv.y >= 0 then
tbl_3[i_15] = math.min(tbl_3[i_15], get2DWeight_upvr(arg1, v_13.lv, v_14.lv, arg2, v_13.speed, v_14.speed))
end
end
var213 += tbl_3[i_15]
end
end
local pairs_result1_4, pairs_result2_10, pairs_result3_10 = pairs(var87_upvw)
for i_17, v_15 in pairs_result1_4, pairs_result2_10, pairs_result3_10 do
if 0.1 < tbl_3[i_17] / var213 then
local var220 = 0 + tbl_3[i_17] * v_15.lv.x
local var222 = 0 + tbl_3[i_17] * v_15.lv.y
else
tbl_3[i_17] = 0
end
end
pairs_result1_4 = nil
local var223 = pairs_result1_4
local var224 = var220 * var220 + var222 * var222
if 0.0001 < var224 then
var223 = math.sqrt(arg2 * arg2 / var224)
else
var223 = 0
end
local pairs_result1_6, pairs_result2_7, pairs_result3_8 = pairs(var87_upvw)
-- KONSTANTERROR: [0] 1. Error Block 95 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [153] 112. Error Block 27 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [153] 112. Error Block 27 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [143] 106. Error Block 83 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if v_15.lv then
local _, _, _ = pairs(var87_upvw)
-- KONSTANTWARNING: GOTO [160] #117
end
-- KONSTANTERROR: [143] 106. Error Block 83 end (CF ANALYSIS FAILED)
end
local function getWalkDirection_upvr() -- Line 522, Named "getWalkDirection"
--[[ Upvalues[1]:
[1]: Humanoid_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local WalkToPoint_2 = Humanoid_upvr.WalkToPoint
local WalkToPart = Humanoid_upvr.WalkToPart
if Humanoid_upvr.MoveDirection ~= Vector3.new(0, 0, 0) then
do
return Humanoid_upvr.MoveDirection
end
local _
end
if WalkToPart or WalkToPoint_2 ~= Vector3.new(0, 0, 0) then
if WalkToPart then
else
end
if Humanoid_upvr.RootPart then
local var240 = WalkToPoint_2 - Humanoid_upvr.RootPart.CFrame.Position
local vector3 = Vector3.new(var240.x, 0, var240.z)
local Magnitude_2 = vector3.Magnitude
if 0.01 < Magnitude_2 then
end
end
return vector3 / Magnitude_2
end
return Humanoid_upvr.MoveDirection
end
local function updateVelocity_upvr(arg1) -- Line 549, Named "updateVelocity"
--[[ Upvalues[10]:
[1]: var87_upvw (read and write)
[2]: tbl_6_upvr (readonly)
[3]: getWalkDirection_upvr (readonly)
[4]: Humanoid_upvr (readonly)
[5]: var18_upvw (read and write)
[6]: var28_upvw (read and write)
[7]: tbl_7_upvw (read and write)
[8]: var29_upvw (read and write)
[9]: var31_upvw (read and write)
[10]: blend2D_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [130] 93. Error Block 29 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [130.7]
tbl_7_upvw = nil
var29_upvw = var28_upvw
var31_upvw = arg1
blend2D_upvr(tbl_7_upvw, var29_upvw)
do
return
end
-- KONSTANTERROR: [130] 93. Error Block 29 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [139] 102. Error Block 31 start (CF ANALYSIS FAILED)
if 0.01 < math.abs(var28_upvw - var29_upvw) or 1 < arg1 - var31_upvw then
var29_upvw = var28_upvw
var31_upvw = arg1
blend2D_upvr(Vector2.yAxis, var29_upvw)
end
-- KONSTANTERROR: [139] 102. Error Block 31 end (CF ANALYSIS FAILED)
end
function setAnimationSpeed(arg1) -- Line 597
--[[ Upvalues[3]:
[1]: var32_upvw (read and write)
[2]: var36_upvw (read and write)
[3]: var34_upvw (read and write)
]]
if var32_upvw ~= "walk" and arg1 ~= var36_upvw then
var36_upvw = arg1
var34_upvw:AdjustSpeed(var36_upvw)
end
end
function keyFrameReachedFunc(arg1) -- Line 606
--[[ Upvalues[6]:
[1]: var32_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: var171_upvw (read and write)
[4]: var34_upvw (read and write)
[5]: var36_upvw (read and write)
[6]: Humanoid_upvr (readonly)
]]
if arg1 == "End" then
local var243
if tbl_upvr[var32_upvw] ~= nil and tbl_upvr[var243] == false then
var243 = "idle"
end
if var171_upvw then
if var34_upvw.Looped then return end
var243 = "idle"
var171_upvw = false
end
playAnimation(var243, 0.15, Humanoid_upvr)
setAnimationSpeed(var36_upvw)
end
end
function rollAnimation(arg1) -- Line 630
--[[ Upvalues[1]:
[1]: tbl_5_upvr (readonly)
]]
local var245
while tbl_5_upvr[arg1][var245].weight < math.random(1, tbl_5_upvr[arg1].totalWeight) do
var245 += 1
end
return var245
end
local function switchToAnim_upvr(arg1, arg2, arg3, arg4) -- Line 641, Named "switchToAnim"
--[[ Upvalues[7]:
[1]: var33_upvw (read and write)
[2]: var34_upvw (read and write)
[3]: var35_upvw (read and write)
[4]: var36_upvw (read and write)
[5]: var32_upvw (read and write)
[6]: setupWalkAnimations_upvr (readonly)
[7]: destroyWalkAnimations_upvr (readonly)
]]
if arg1 ~= var33_upvw then
if var34_upvw ~= nil then
var34_upvw:Stop(arg3)
var34_upvw:Destroy()
end
if var35_upvw ~= nil then
var35_upvw:disconnect()
end
if arg2 == "idle" then
script:SetAttribute("WalkDirection", "Idle")
end
var36_upvw = 1
var32_upvw = arg2
var33_upvw = arg1
if arg2 == "walk" then
setupWalkAnimations_upvr()
return
end
destroyWalkAnimations_upvr()
var34_upvw = arg4:LoadAnimation(arg1)
var34_upvw.Priority = Enum.AnimationPriority.Core
var34_upvw:Play(arg3)
var35_upvw = var34_upvw.KeyframeReached:connect(keyFrameReachedFunc)
end
end
function playAnimation(arg1, arg2, arg3) -- Line 677
--[[ Upvalues[3]:
[1]: tbl_5_upvr (readonly)
[2]: switchToAnim_upvr (readonly)
[3]: var171_upvw (read and write)
]]
switchToAnim_upvr(tbl_5_upvr[arg1][rollAnimation(arg1)].anim, arg1, arg2, arg3)
var171_upvw = false
end
function playEmote(arg1, arg2, arg3) -- Line 685
--[[ Upvalues[2]:
[1]: switchToAnim_upvr (readonly)
[2]: var171_upvw (read and write)
]]
switchToAnim_upvr(arg1, arg1.Name, arg2, arg3)
var171_upvw = true
end
local var246_upvw = ""
local var247_upvw
local var248_upvw
local var249_upvw
function toolKeyFrameReachedFunc(arg1) -- Line 698
--[[ Upvalues[2]:
[1]: var246_upvw (read and write)
[2]: Humanoid_upvr (readonly)
]]
if arg1 == "End" then
playToolAnimation(var246_upvw, 0, Humanoid_upvr)
end
end
function playToolAnimation(arg1, arg2, arg3, arg4) -- Line 705
--[[ Upvalues[5]:
[1]: tbl_5_upvr (readonly)
[2]: var248_upvw (read and write)
[3]: var247_upvw (read and write)
[4]: var246_upvw (read and write)
[5]: var249_upvw (read and write)
]]
local anim = tbl_5_upvr[arg1][rollAnimation(arg1)].anim
local var251
if var248_upvw ~= anim then
if var247_upvw ~= nil then
var247_upvw:Stop()
var247_upvw:Destroy()
var251 = 0
end
var247_upvw = arg3:LoadAnimation(anim)
if arg4 then
var247_upvw.Priority = arg4
end
var247_upvw:Play(var251)
var246_upvw = arg1
var248_upvw = anim
var249_upvw = var247_upvw.KeyframeReached:connect(toolKeyFrameReachedFunc)
end
end
function stopToolAnimations() -- Line 732
--[[ Upvalues[4]:
[1]: var246_upvw (read and write)
[2]: var249_upvw (read and write)
[3]: var248_upvw (read and write)
[4]: var247_upvw (read and write)
]]
if var249_upvw ~= nil then
var249_upvw:disconnect()
end
var246_upvw = ""
var248_upvw = nil
if var247_upvw ~= nil then
var247_upvw:Stop()
var247_upvw:Destroy()
var247_upvw = nil
end
return var246_upvw
end
local var252_upvw = pcall_result1 and pcall_result2
function onRunning(arg1) -- Line 754
--[[ Upvalues[8]:
[1]: var252_upvw (read and write)
[2]: var171_upvw (read and write)
[3]: Humanoid_upvr (readonly)
[4]: var28_upvw (read and write)
[5]: var18_upvw (read and write)
[6]: updateVelocity_upvr (readonly)
[7]: tbl_upvr (readonly)
[8]: var32_upvw (read and write)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local var253
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [2] 3. Error Block 2 start (CF ANALYSIS FAILED)
var253 = var171_upvw
-- KONSTANTERROR: [2] 3. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [4] 5. Error Block 20 start (CF ANALYSIS FAILED)
if Humanoid_upvr.MoveDirection ~= Vector3.new(0, 0, 0) then
var253 = false
else
var253 = true
end
-- KONSTANTERROR: [4] 5. Error Block 20 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [12] 11. Error Block 19 start (CF ANALYSIS FAILED)
if not var253 or not Humanoid_upvr.WalkSpeed then
end
var28_upvw = arg1
-- KONSTANTERROR: [12] 11. Error Block 19 end (CF ANALYSIS FAILED)
end
function onDied() -- Line 776
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "Dead"
end
function onJumping() -- Line 780
--[[ Upvalues[3]:
[1]: Humanoid_upvr (readonly)
[2]: var170_upvw (read and write)
[3]: var18_upvw (read and write)
]]
playAnimation("jump", 0.1, Humanoid_upvr)
var170_upvw = 0.31
var18_upvw = "Jumping"
end
function onClimbing(arg1) -- Line 786
--[[ Upvalues[2]:
[1]: Humanoid_upvr (readonly)
[2]: var18_upvw (read and write)
]]
playAnimation("climb", 0.1, Humanoid_upvr)
setAnimationSpeed(arg1 / 5)
var18_upvw = "Climbing"
end
function onGettingUp() -- Line 793
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "GettingUp"
end
function onFallingDown() -- Line 797
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "FallingDown"
end
function onSeated() -- Line 801
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "Seated"
end
function onPlatformStanding() -- Line 805
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "PlatformStanding"
end
function onSwimming(arg1) -- Line 812
--[[ Upvalues[2]:
[1]: Humanoid_upvr (readonly)
[2]: var18_upvw (read and write)
]]
if 1 < arg1 then
playAnimation("swim", 0.4, Humanoid_upvr)
setAnimationSpeed(arg1 / 10)
var18_upvw = "Swimming"
else
playAnimation("swimidle", 0.4, Humanoid_upvr)
var18_upvw = "Standing"
end
end
function animateTool() -- Line 824
--[[ Upvalues[2]:
[1]: var169_upvw (read and write)
[2]: Humanoid_upvr (readonly)
]]
if var169_upvw == "None" then
playToolAnimation("toolnone", 0.1, Humanoid_upvr, Enum.AnimationPriority.Idle)
else
if var169_upvw == "Slash" then
playToolAnimation("toolslash", 0, Humanoid_upvr, Enum.AnimationPriority.Action)
return
end
if var169_upvw == "Lunge" then
playToolAnimation("toollunge", 0, Humanoid_upvr, Enum.AnimationPriority.Action)
return
end
end
end
function getToolAnim(arg1) -- Line 841
for _, v_16 in ipairs(arg1:GetChildren()) do
if v_16.Name == "toolanim" and v_16.className == "StringValue" then
return v_16
end
end
return nil
end
local var259_upvw = 0
local var260_upvw = 0
function stepAnimate(arg1) -- Line 852
--[[ Upvalues[9]:
[1]: var259_upvw (read and write)
[2]: var170_upvw (read and write)
[3]: var18_upvw (read and write)
[4]: Humanoid_upvr (readonly)
[5]: updateVelocity_upvr (readonly)
[6]: Parent_upvr (readonly)
[7]: var169_upvw (read and write)
[8]: var260_upvw (read and write)
[9]: var248_upvw (read and write)
]]
var259_upvw = arg1
if 0 < var170_upvw then
var170_upvw -= arg1 - var259_upvw
end
if var18_upvw == "FreeFall" and var170_upvw <= 0 then
playAnimation("fall", 0.2, Humanoid_upvr)
else
if var18_upvw == "Seated" then
playAnimation("sit", 0.5, Humanoid_upvr)
return
end
if var18_upvw == "Running" then
playAnimation("walk", 0.2, Humanoid_upvr)
updateVelocity_upvr(arg1)
elseif var18_upvw == "Dead" or var18_upvw == "GettingUp" or var18_upvw == "FallingDown" or var18_upvw == "Seated" or var18_upvw == "PlatformStanding" then
stopAllAnimations()
end
end
local class_Tool = Parent_upvr:FindFirstChildOfClass("Tool")
if class_Tool and class_Tool:FindFirstChild("Handle") then
local getToolAnim_result1 = getToolAnim(class_Tool)
if getToolAnim_result1 then
var169_upvw = getToolAnim_result1.Value
getToolAnim_result1.Parent = nil
var260_upvw = arg1 + 0.3
end
if var260_upvw < arg1 then
var260_upvw = 0
var169_upvw = "None"
end
animateTool()
else
stopToolAnimations()
var169_upvw = "None"
var248_upvw = nil
var260_upvw = 0
end
end
Humanoid_upvr.Died:connect(onDied)
Humanoid_upvr.Running:connect(onRunning)
Humanoid_upvr.Climbing:connect(onClimbing)
Humanoid_upvr.GettingUp:connect(onGettingUp)
Humanoid_upvr.FallingDown:connect(onFallingDown)
Humanoid_upvr.Seated:connect(onSeated)
Humanoid_upvr.PlatformStanding:connect(onPlatformStanding)
Humanoid_upvr.Swimming:connect(onSwimming)
Humanoid_upvr.Changed:Connect(function(arg1) -- Line 917
--[[ Upvalues[2]:
[1]: var15_upvw (read and write)
[2]: Humanoid_upvr (readonly)
]]
if arg1 == "Jump" and var15_upvw then
Humanoid_upvr.Jump = false
end
end)
local References_upvr = var13.References
Humanoid_upvr.StateChanged:Connect(function(arg1, arg2) -- Line 923
--[[ Upvalues[3]:
[1]: var15_upvw (read and write)
[2]: Humanoid_upvr (readonly)
[3]: References_upvr (readonly)
]]
if arg2 == Enum.HumanoidStateType.Jumping then
local var271
if not var15_upvw then
var271 = "Sprinting"
if script:GetAttribute(var271) then
var271 = References_upvr.Main.animations.Player.Jump.Sprint
local any_LoadAnimation_result1_upvr = Humanoid_upvr:LoadAnimation(var271)
any_LoadAnimation_result1_upvr.Priority = Enum.AnimationPriority.Action3
any_LoadAnimation_result1_upvr:Play(0.2)
var271 = 0.2
task.wait(var271)
var15_upvw = true
local function INLINED_3() -- Internal function, doesn't exist in bytecode
var271 = any_LoadAnimation_result1_upvr.Length - 0.2
return var271
end
if 0.1 > any_LoadAnimation_result1_upvr.Length or not INLINED_3() then
var271 = 0.3
end
task.delay(var271, function() -- Line 934
--[[ Upvalues[2]:
[1]: any_LoadAnimation_result1_upvr (readonly)
[2]: var15_upvw (copied, read and write)
]]
any_LoadAnimation_result1_upvr:Stop(0.2)
task.wait(1)
var15_upvw = false
end)
return
end
any_LoadAnimation_result1_upvr = Humanoid_upvr:LoadAnimation(References_upvr.Main.animations.Player.Jump.Low)
local var274_upvr = any_LoadAnimation_result1_upvr
var274_upvr.Priority = Enum.AnimationPriority.Action3
var274_upvr:Play(0.2)
task.wait(0.2)
var15_upvw = true
if 0.1 > var274_upvr.Length or not (var274_upvr.Length - 1) then
end
task.delay(0.2, function() -- Line 947
--[[ Upvalues[2]:
[1]: var274_upvr (readonly)
[2]: var15_upvw (copied, read and write)
]]
var274_upvr:Stop(0.2)
task.wait(1)
var15_upvw = false
end)
end
end
end)
game:GetService("Players").LocalPlayer.Chatted:connect(function(arg1) -- Line 958
--[[ Upvalues[3]:
[1]: var18_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: Humanoid_upvr (readonly)
]]
local var277
if string.sub(arg1, 1, 3) == "/e " then
var277 = string.sub(arg1, 4)
elseif string.sub(arg1, 1, 7) == "/emote " then
var277 = string.sub(arg1, 8)
end
if var18_upvw == "Standing" and tbl_upvr[var277] ~= nil then
playAnimation(var277, 0.1, Humanoid_upvr)
end
end)
local var279_upvw = pcall_result1_2 and pcall_result2_2
script:WaitForChild("PlayEmote").OnInvoke = function(arg1) -- Line 972
--[[ Upvalues[5]:
[1]: var18_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: Humanoid_upvr (readonly)
[4]: var279_upvw (read and write)
[5]: var34_upvw (read and write)
]]
if var18_upvw ~= "Standing" then return end
if tbl_upvr[arg1] ~= nil then
playAnimation(arg1, 0.1, Humanoid_upvr)
if var279_upvw then
return true, var34_upvw
end
return true
end
if typeof(arg1) == "Instance" and arg1:IsA("Animation") then
playEmote(arg1, 0.1, Humanoid_upvr)
if var279_upvw then
return true, var34_upvw
end
return true
end
return false
end
if Parent_upvr.Parent ~= nil then
playAnimation("idle", 0.1, Humanoid_upvr)
var18_upvw = "Standing"
end
while Parent_upvr.Parent ~= nil do
local _, wait_result2 = wait(0.1)
stepAnimate(wait_result2)
end
-- [SERVER SCRIPT] Source hidden from client.
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:53:19
-- Luau version 6, Types version 3
-- Time taken: 0.054478 seconds
script:SetAttribute("Init", true)
local var13
local scriptChildModified
if game:GetService("AssetService"):FindFirstChild("engine") then
var13 = require(game:GetService("AssetService").engine)
else
var13 = require(game:GetService("ReplicatedStorage").engine)
end
local var15_upvw = false
local Parent_upvr = script.Parent
local Humanoid_upvr = Parent_upvr:WaitForChild("Humanoid")
local var18_upvw = "Standing"
local _, _ = pcall(function() -- Line 20
return UserSettings():IsUserFeatureEnabled("UserNoUpdateOnLoop")
end)
local pcall_result1, pcall_result2 = pcall(function() -- Line 24
return UserSettings():IsUserFeatureEnabled("UserEmoteToRunThresholdChange")
end)
local pcall_result1_2, pcall_result2_2 = pcall(function() -- Line 31
return UserSettings():IsUserFeatureEnabled("UserPlayEmoteByIdAnimTrackReturn2")
end)
local var28_upvw = 0
local var29_upvw = 0
local tbl_7_upvw = {
x = 0;
y = 0;
}
local var31_upvw = 0
local var32_upvw = ""
local var33_upvw
local var34_upvw
local var35_upvw
local var36_upvw = 1
local tbl_5_upvr = {}
local tbl_4_upvr = {
idle = {{
id = "http://www.roblox.com/asset/?id=507766666";
weight = 1;
}, {
id = "http://www.roblox.com/asset/?id=507766951";
weight = 1;
}, {
id = "http://www.roblox.com/asset/?id=507766388";
weight = 9;
}};
walk = {{
id = "http://www.roblox.com/asset/?id=507777826";
weight = 10;
}};
run = {{
id = "http://www.roblox.com/asset/?id=507767714";
weight = 10;
}};
swim = {{
id = "http://www.roblox.com/asset/?id=507784897";
weight = 10;
}};
swimidle = {{
id = "http://www.roblox.com/asset/?id=507785072";
weight = 10;
}};
jump = {{
id = "http://www.roblox.com/asset/?id=507765000";
weight = 10;
}};
fall = {{
id = "http://www.roblox.com/asset/?id=507767968";
weight = 10;
}};
climb = {{
id = "http://www.roblox.com/asset/?id=507765644";
weight = 10;
}};
sit = {{
id = "http://www.roblox.com/asset/?id=2506281703";
weight = 10;
}};
toolnone = {{
id = "http://www.roblox.com/asset/?id=507768375";
weight = 10;
}};
toolslash = {{
id = "http://www.roblox.com/asset/?id=522635514";
weight = 10;
}};
toollunge = {{
id = "http://www.roblox.com/asset/?id=522638767";
weight = 10;
}};
wave = {{
id = "http://www.roblox.com/asset/?id=507770239";
weight = 10;
}};
point = {{
id = "http://www.roblox.com/asset/?id=507770453";
weight = 10;
}};
dance = {{
id = "http://www.roblox.com/asset/?id=507771019";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507771955";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507772104";
weight = 10;
}};
dance2 = {{
id = "http://www.roblox.com/asset/?id=507776043";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507776720";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507776879";
weight = 10;
}};
dance3 = {{
id = "http://www.roblox.com/asset/?id=507777268";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507777451";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507777623";
weight = 10;
}};
laugh = {{
id = "http://www.roblox.com/asset/?id=507770818";
weight = 10;
}};
cheer = {{
id = "http://www.roblox.com/asset/?id=507770677";
weight = 10;
}};
}
local tbl_6_upvr = {}
local tbl_2_upvr = {}
local var87_upvw = tbl_6_upvr
local tbl_upvr = {
wave = false;
point = false;
dance = true;
dance2 = true;
dance3 = true;
laugh = false;
cheer = false;
}
math.randomseed(tick())
function findExistingAnimationInSet(arg1, arg2) -- Line 139
if arg1 == nil or arg2 == nil then
return 0
end
for i = 1, arg1.count do
if arg1[i].anim.AnimationId == arg2.AnimationId then
return i
end
end
return 0
end
local function destroyWalkAnimations_upvr() -- Line 153, Named "destroyWalkAnimations"
--[[ Upvalues[3]:
[1]: tbl_6_upvr (readonly)
[2]: tbl_2_upvr (readonly)
[3]: var29_upvw (read and write)
]]
for _, v in pairs(tbl_6_upvr) do
if v.track then
v.track:Stop()
v.track:Destroy()
v.track = nil
end
end
for _, v_2 in pairs(tbl_2_upvr) do
if v_2.track then
v_2.track:Stop()
v_2.track:Destroy()
v_2.track = nil
end
end
var29_upvw = 0
end
local var100_upvw
local var101_upvw
local var102_upvw
local var103_upvw
local function _(arg1) -- Line 174, Named "resetVelocityBounds"
--[[ Upvalues[4]:
[1]: var101_upvw (read and write)
[2]: var100_upvw (read and write)
[3]: var103_upvw (read and write)
[4]: var102_upvw (read and write)
]]
var101_upvw = 0
var100_upvw = 0
var103_upvw = 0
var102_upvw = 0
end
local function _(arg1) -- Line 181, Named "updateVelocityBounds"
--[[ Upvalues[4]:
[1]: var100_upvw (read and write)
[2]: var102_upvw (read and write)
[3]: var101_upvw (read and write)
[4]: var103_upvw (read and write)
]]
if arg1 then
if var100_upvw < arg1.x then
var100_upvw = arg1.x
end
if var102_upvw < arg1.y then
var102_upvw = arg1.y
end
if arg1.x < var101_upvw then
var101_upvw = arg1.x
end
if arg1.y < var103_upvw then
var103_upvw = arg1.y
end
end
end
local function checkStrafingEnabled_upvr(arg1) -- Line 190, Named "checkStrafingEnabled"
--[[ Upvalues[7]:
[1]: var100_upvw (read and write)
[2]: var101_upvw (read and write)
[3]: var102_upvw (read and write)
[4]: var103_upvw (read and write)
[5]: var87_upvw (read and write)
[6]: tbl_6_upvr (readonly)
[7]: tbl_2_upvr (readonly)
]]
if var100_upvw == 0 or var101_upvw == 0 or var102_upvw == 0 or var103_upvw == 0 then
if var87_upvw == tbl_6_upvr then
warn("Strafe blending disabled. Not all quadrants of motion represented.")
end
var87_upvw = tbl_2_upvr
else
if not tbl_6_upvr.run or not tbl_6_upvr.walk then
if var87_upvw == tbl_6_upvr then
warn("Strafe blending disabled. Run and walk must be strafing-friendly.")
end
var87_upvw = tbl_2_upvr
return
end
if var87_upvw ~= tbl_6_upvr then
var87_upvw = tbl_6_upvr
warn("Strafing reenabled")
end
end
end
local function setupWalkAnimations_upvr() -- Line 209, Named "setupWalkAnimations"
--[[ Upvalues[9]:
[1]: var101_upvw (read and write)
[2]: var100_upvw (read and write)
[3]: var103_upvw (read and write)
[4]: var102_upvw (read and write)
[5]: tbl_6_upvr (readonly)
[6]: checkStrafingEnabled_upvr (readonly)
[7]: var87_upvw (read and write)
[8]: Humanoid_upvr (readonly)
[9]: tbl_5_upvr (readonly)
]]
var101_upvw = 0
var100_upvw = 0
var103_upvw = 0
var102_upvw = 0
for _, v_3 in pairs(tbl_6_upvr) do
local lv = v_3.lv
if lv then
if var100_upvw < lv.x then
var100_upvw = lv.x
end
if var102_upvw < lv.y then
var102_upvw = lv.y
end
if lv.x < var101_upvw then
var101_upvw = lv.x
end
if lv.y < var103_upvw then
var103_upvw = lv.y
end
end
end
checkStrafingEnabled_upvr()
for i_5, v_4 in pairs(var87_upvw) do
v_4.track = Humanoid_upvr:LoadAnimation(tbl_5_upvr[i_5][1].anim)
v_4.track.Priority = Enum.AnimationPriority.Action
end
end
local function replaceLocomotionTrack_upvr(arg1, arg2) -- Line 222, Named "replaceLocomotionTrack"
--[[ Upvalues[7]:
[1]: var32_upvw (read and write)
[2]: var87_upvw (read and write)
[3]: destroyWalkAnimations_upvr (readonly)
[4]: tbl_6_upvr (readonly)
[5]: tbl_2_upvr (readonly)
[6]: setupWalkAnimations_upvr (readonly)
[7]: var31_upvw (read and write)
]]
local var115
if var32_upvw == "walk" and var87_upvw[arg1] then
destroyWalkAnimations_upvr()
var115 = true
end
if arg2 then
local tbl = {}
tbl.lv = arg2
tbl.speed = arg2.Magnitude
tbl_6_upvr[arg1] = tbl
else
tbl_6_upvr[arg1] = nil
end
local function INLINED() -- Internal function, doesn't exist in bytecode
local var117
return arg1 == "walk"
end
if arg1 == "run" or INLINED() then
if arg2 then
var117 = tbl_2_upvr
var117[arg1] = tbl_6_upvr[arg1]
else
if arg1 == "run" then
var117 = 12.8
else
var117 = 6.4
end
tbl_2_upvr[arg1] = {
lv = Vector2.new(0, var117);
speed = var117;
}
tbl_6_upvr[arg1] = nil
end
end
if var115 then
setupWalkAnimations_upvr()
var31_upvw = 0
end
end
local tbl_upvr_2 = {}
function scriptChildModified(arg1, arg2) -- Line 250, Named "configureAnimationSet"
--[[ Upvalues[4]:
[1]: tbl_5_upvr (readonly)
[2]: replaceLocomotionTrack_upvr (readonly)
[3]: tbl_upvr_2 (readonly)
[4]: Humanoid_upvr (readonly)
]]
if tbl_5_upvr[arg1] ~= nil then
for _, v_5 in pairs(tbl_5_upvr[arg1].connections) do
v_5:disconnect()
end
end
tbl_5_upvr[arg1] = {}
tbl_5_upvr[arg1].count = 0
tbl_5_upvr[arg1].totalWeight = 0
tbl_5_upvr[arg1].connections = {}
local SOME = script:FindFirstChild(arg1)
if SOME ~= nil then
table.insert(tbl_5_upvr[arg1].connections, SOME.ChildAdded:connect(function(arg1_2) -- Line 264
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
table.insert(tbl_5_upvr[arg1].connections, SOME.ChildRemoved:connect(function(arg1_3) -- Line 265
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
for _, v_6 in pairs(SOME:GetChildren()) do
if v_6:IsA("Animation") then
local var147 = 1
local Weight = v_6:FindFirstChild("Weight")
if Weight ~= nil then
var147 = Weight.Value
end
tbl_5_upvr[arg1].count = tbl_5_upvr[arg1].count + 1
local count = tbl_5_upvr[arg1].count
tbl_5_upvr[arg1][count] = {}
tbl_5_upvr[arg1][count].anim = v_6
tbl_5_upvr[arg1][count].weight = var147
tbl_5_upvr[arg1].totalWeight = tbl_5_upvr[arg1].totalWeight + tbl_5_upvr[arg1][count].weight
table.insert(tbl_5_upvr[arg1].connections, v_6.Changed:connect(function(arg1_4) -- Line 282
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
table.insert(tbl_5_upvr[arg1].connections, v_6.ChildAdded:connect(function(arg1_5) -- Line 283
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
table.insert(tbl_5_upvr[arg1].connections, v_6.ChildRemoved:connect(function(arg1_6) -- Line 284
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
replaceLocomotionTrack_upvr(arg1, v_6:GetAttribute("LinearVelocity"))
end
end
end
if tbl_5_upvr[arg1].count <= 0 then
for i_8, v_7 in pairs(arg2) do
v_6 = tbl_5_upvr[arg1]
v_6[i_8] = {}
v_6 = tbl_5_upvr[arg1][i_8]
v_6.anim = Instance.new("Animation")
v_6 = tbl_5_upvr[arg1][i_8].anim
v_6.Name = arg1
v_6 = tbl_5_upvr[arg1][i_8].anim
v_6.AnimationId = v_7.id
v_6 = tbl_5_upvr[arg1][i_8]
v_6.weight = v_7.weight
v_6 = tbl_5_upvr[arg1]
v_6.count = tbl_5_upvr[arg1].count + 1
v_6 = tbl_5_upvr[arg1]
v_6.totalWeight = tbl_5_upvr[arg1].totalWeight + v_7.weight
end
end
for _, v_8 in pairs(tbl_5_upvr) do
for i_10 = 1, v_8.count do
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if tbl_upvr_2[v_8[i_10].anim.AnimationId] == nil then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
Humanoid_upvr:LoadAnimation(v_8[i_10].anim)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
tbl_upvr_2[v_8[i_10].anim.AnimationId] = true
end
end
end
end
configureAnimationSet = scriptChildModified -- Setting global
function scriptChildModified(arg1) -- Line 317
--[[ Upvalues[1]:
[1]: tbl_4_upvr (readonly)
]]
local var159 = tbl_4_upvr[arg1.Name]
if var159 ~= nil then
configureAnimationSet(arg1.Name, var159)
elseif arg1:isA("StringValue") then
tbl_4_upvr[arg1.Name] = {}
configureAnimationSet(arg1.Name, tbl_4_upvr[arg1.Name])
end
end
scriptChildModified = scriptChildModified -- Setting global
scriptChildModified = script.ChildAdded:connect
scriptChildModified(scriptChildModified)
scriptChildModified = script.ChildRemoved:connect
scriptChildModified(scriptChildModified)
if Humanoid_upvr then
scriptChildModified = Humanoid_upvr:FindFirstChildOfClass("Animator")
else
scriptChildModified = nil
end
if scriptChildModified then
for _, v_9 in ipairs(scriptChildModified:GetPlayingAnimationTracks()) do
v_9:Stop(0)
v_9:Destroy()
end
end
for i_12, _ in pairs(tbl_4_upvr) do
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [552.44]
configureAnimationSet(i_12, nil)
end
for _, v_11 in script:GetChildren() do
if v_11:isA("StringValue") then
tbl_4_upvr[v_11.Name] = {}
configureAnimationSet(v_11.Name, tbl_4_upvr[v_11.Name])
end
end
local var169_upvw = "None"
local var170_upvw = 0
local var171_upvw = false
function stopAllAnimations() -- Line 369
--[[ Upvalues[7]:
[1]: var32_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: var171_upvw (read and write)
[4]: var33_upvw (read and write)
[5]: var35_upvw (read and write)
[6]: var34_upvw (read and write)
[7]: var87_upvw (read and write)
]]
local var176
if tbl_upvr[var32_upvw] ~= nil and tbl_upvr[var176] == false then
var176 = "idle"
end
if var171_upvw then
var176 = "idle"
var171_upvw = false
end
var32_upvw = ""
var33_upvw = nil
if var35_upvw ~= nil then
var35_upvw:disconnect()
end
if var34_upvw ~= nil then
var34_upvw:Stop()
var34_upvw:Destroy()
var34_upvw = nil
end
for _, v_12 in pairs(var87_upvw) do
if v_12.track then
v_12.track:Stop()
v_12.track:Destroy()
v_12.track = nil
end
end
return var176
end
local ScaleDampeningPercent_upvw = script:FindFirstChild("ScaleDampeningPercent")
function getHeightScale() -- Line 405
--[[ Upvalues[2]:
[1]: Humanoid_upvr (readonly)
[2]: ScaleDampeningPercent_upvw (read and write)
]]
local var181
if var181 then
var181 = Humanoid_upvr.AutomaticScalingEnabled
if not var181 then
var181 = 1
return var181
end
var181 = Humanoid_upvr.HipHeight / 2
if ScaleDampeningPercent_upvw == nil then
ScaleDampeningPercent_upvw = script:FindFirstChild("ScaleDampeningPercent")
end
if ScaleDampeningPercent_upvw ~= nil then
var181 = 1 + (Humanoid_upvr.HipHeight - 2) * ScaleDampeningPercent_upvw.Value / 2
end
return var181
end
return 1
end
local function _(arg1, arg2) -- Line 424, Named "signedAngle"
return -math.atan2(arg1.x * arg2.y - arg1.y * arg2.x, arg1.x * arg2.x + arg1.y * arg2.y)
end
local function get2DWeight_upvr(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 429, Named "get2DWeight"
local var182 = 0.5 * (arg5 + arg6)
local module_2 = {
x = (arg4 - arg5) / var182;
y = 2 * -math.atan2(arg2.x * arg1.y - arg2.y * arg1.x, arg2.x * arg1.x + arg2.y * arg1.y);
}
local module = {
x = (arg6 - arg5) / var182;
y = 2 * -math.atan2(arg2.x * arg3.y - arg2.y * arg3.x, arg2.x * arg3.x + arg2.y * arg3.y);
}
return math.clamp(1 - (module_2.x * module.x + module_2.y * module.y) / ((0.0001) + (module.x * module.x + module.y * module.y)), 0, 1)
end
local function blend2D_upvr(arg1, arg2) -- Line 440, Named "blend2D"
--[[ Upvalues[2]:
[1]: var87_upvw (read and write)
[2]: get2DWeight_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 95 start (CF ANALYSIS FAILED)
local tbl_3 = {}
local var213
for i_15, v_13 in pairs(var87_upvw) do
if arg1.x * v_13.lv.x < 0 or arg1.y * v_13.lv.y < 0 then
tbl_3[i_15] = 0
else
tbl_3[i_15] = math.huge
for _, v_14 in pairs(var87_upvw) do
if arg1.x * v_14.lv.x >= 0 and arg1.y * v_14.lv.y >= 0 then
tbl_3[i_15] = math.min(tbl_3[i_15], get2DWeight_upvr(arg1, v_13.lv, v_14.lv, arg2, v_13.speed, v_14.speed))
end
end
var213 += tbl_3[i_15]
end
end
local pairs_result1_4, pairs_result2_10, pairs_result3_10 = pairs(var87_upvw)
for i_17, v_15 in pairs_result1_4, pairs_result2_10, pairs_result3_10 do
if 0.1 < tbl_3[i_17] / var213 then
local var220 = 0 + tbl_3[i_17] * v_15.lv.x
local var222 = 0 + tbl_3[i_17] * v_15.lv.y
else
tbl_3[i_17] = 0
end
end
pairs_result1_4 = nil
local var223 = pairs_result1_4
local var224 = var220 * var220 + var222 * var222
if 0.0001 < var224 then
var223 = math.sqrt(arg2 * arg2 / var224)
else
var223 = 0
end
local pairs_result1_6, pairs_result2_7, pairs_result3_8 = pairs(var87_upvw)
-- KONSTANTERROR: [0] 1. Error Block 95 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [153] 112. Error Block 27 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [153] 112. Error Block 27 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [143] 106. Error Block 83 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if v_15.lv then
local _, _, _ = pairs(var87_upvw)
-- KONSTANTWARNING: GOTO [160] #117
end
-- KONSTANTERROR: [143] 106. Error Block 83 end (CF ANALYSIS FAILED)
end
local function getWalkDirection_upvr() -- Line 522, Named "getWalkDirection"
--[[ Upvalues[1]:
[1]: Humanoid_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local WalkToPoint_2 = Humanoid_upvr.WalkToPoint
local WalkToPart = Humanoid_upvr.WalkToPart
if Humanoid_upvr.MoveDirection ~= Vector3.new(0, 0, 0) then
do
return Humanoid_upvr.MoveDirection
end
local _
end
if WalkToPart or WalkToPoint_2 ~= Vector3.new(0, 0, 0) then
if WalkToPart then
else
end
if Humanoid_upvr.RootPart then
local var240 = WalkToPoint_2 - Humanoid_upvr.RootPart.CFrame.Position
local vector3 = Vector3.new(var240.x, 0, var240.z)
local Magnitude_2 = vector3.Magnitude
if 0.01 < Magnitude_2 then
end
end
return vector3 / Magnitude_2
end
return Humanoid_upvr.MoveDirection
end
local function updateVelocity_upvr(arg1) -- Line 549, Named "updateVelocity"
--[[ Upvalues[10]:
[1]: var87_upvw (read and write)
[2]: tbl_6_upvr (readonly)
[3]: getWalkDirection_upvr (readonly)
[4]: Humanoid_upvr (readonly)
[5]: var18_upvw (read and write)
[6]: var28_upvw (read and write)
[7]: tbl_7_upvw (read and write)
[8]: var29_upvw (read and write)
[9]: var31_upvw (read and write)
[10]: blend2D_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [130] 93. Error Block 29 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [130.7]
tbl_7_upvw = nil
var29_upvw = var28_upvw
var31_upvw = arg1
blend2D_upvr(tbl_7_upvw, var29_upvw)
do
return
end
-- KONSTANTERROR: [130] 93. Error Block 29 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [139] 102. Error Block 31 start (CF ANALYSIS FAILED)
if 0.01 < math.abs(var28_upvw - var29_upvw) or 1 < arg1 - var31_upvw then
var29_upvw = var28_upvw
var31_upvw = arg1
blend2D_upvr(Vector2.yAxis, var29_upvw)
end
-- KONSTANTERROR: [139] 102. Error Block 31 end (CF ANALYSIS FAILED)
end
function setAnimationSpeed(arg1) -- Line 597
--[[ Upvalues[3]:
[1]: var32_upvw (read and write)
[2]: var36_upvw (read and write)
[3]: var34_upvw (read and write)
]]
if var32_upvw ~= "walk" and arg1 ~= var36_upvw then
var36_upvw = arg1
var34_upvw:AdjustSpeed(var36_upvw)
end
end
function keyFrameReachedFunc(arg1) -- Line 606
--[[ Upvalues[6]:
[1]: var32_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: var171_upvw (read and write)
[4]: var34_upvw (read and write)
[5]: var36_upvw (read and write)
[6]: Humanoid_upvr (readonly)
]]
if arg1 == "End" then
local var243
if tbl_upvr[var32_upvw] ~= nil and tbl_upvr[var243] == false then
var243 = "idle"
end
if var171_upvw then
if var34_upvw.Looped then return end
var243 = "idle"
var171_upvw = false
end
playAnimation(var243, 0.15, Humanoid_upvr)
setAnimationSpeed(var36_upvw)
end
end
function rollAnimation(arg1) -- Line 630
--[[ Upvalues[1]:
[1]: tbl_5_upvr (readonly)
]]
local var245
while tbl_5_upvr[arg1][var245].weight < math.random(1, tbl_5_upvr[arg1].totalWeight) do
var245 += 1
end
return var245
end
local function switchToAnim_upvr(arg1, arg2, arg3, arg4) -- Line 641, Named "switchToAnim"
--[[ Upvalues[7]:
[1]: var33_upvw (read and write)
[2]: var34_upvw (read and write)
[3]: var35_upvw (read and write)
[4]: var36_upvw (read and write)
[5]: var32_upvw (read and write)
[6]: setupWalkAnimations_upvr (readonly)
[7]: destroyWalkAnimations_upvr (readonly)
]]
if arg1 ~= var33_upvw then
if var34_upvw ~= nil then
var34_upvw:Stop(arg3)
var34_upvw:Destroy()
end
if var35_upvw ~= nil then
var35_upvw:disconnect()
end
if arg2 == "idle" then
script:SetAttribute("WalkDirection", "Idle")
end
var36_upvw = 1
var32_upvw = arg2
var33_upvw = arg1
if arg2 == "walk" then
setupWalkAnimations_upvr()
return
end
destroyWalkAnimations_upvr()
var34_upvw = arg4:LoadAnimation(arg1)
var34_upvw.Priority = Enum.AnimationPriority.Core
var34_upvw:Play(arg3)
var35_upvw = var34_upvw.KeyframeReached:connect(keyFrameReachedFunc)
end
end
function playAnimation(arg1, arg2, arg3) -- Line 677
--[[ Upvalues[3]:
[1]: tbl_5_upvr (readonly)
[2]: switchToAnim_upvr (readonly)
[3]: var171_upvw (read and write)
]]
switchToAnim_upvr(tbl_5_upvr[arg1][rollAnimation(arg1)].anim, arg1, arg2, arg3)
var171_upvw = false
end
function playEmote(arg1, arg2, arg3) -- Line 685
--[[ Upvalues[2]:
[1]: switchToAnim_upvr (readonly)
[2]: var171_upvw (read and write)
]]
switchToAnim_upvr(arg1, arg1.Name, arg2, arg3)
var171_upvw = true
end
local var246_upvw = ""
local var247_upvw
local var248_upvw
local var249_upvw
function toolKeyFrameReachedFunc(arg1) -- Line 698
--[[ Upvalues[2]:
[1]: var246_upvw (read and write)
[2]: Humanoid_upvr (readonly)
]]
if arg1 == "End" then
playToolAnimation(var246_upvw, 0, Humanoid_upvr)
end
end
function playToolAnimation(arg1, arg2, arg3, arg4) -- Line 705
--[[ Upvalues[5]:
[1]: tbl_5_upvr (readonly)
[2]: var248_upvw (read and write)
[3]: var247_upvw (read and write)
[4]: var246_upvw (read and write)
[5]: var249_upvw (read and write)
]]
local anim = tbl_5_upvr[arg1][rollAnimation(arg1)].anim
local var251
if var248_upvw ~= anim then
if var247_upvw ~= nil then
var247_upvw:Stop()
var247_upvw:Destroy()
var251 = 0
end
var247_upvw = arg3:LoadAnimation(anim)
if arg4 then
var247_upvw.Priority = arg4
end
var247_upvw:Play(var251)
var246_upvw = arg1
var248_upvw = anim
var249_upvw = var247_upvw.KeyframeReached:connect(toolKeyFrameReachedFunc)
end
end
function stopToolAnimations() -- Line 732
--[[ Upvalues[4]:
[1]: var246_upvw (read and write)
[2]: var249_upvw (read and write)
[3]: var248_upvw (read and write)
[4]: var247_upvw (read and write)
]]
if var249_upvw ~= nil then
var249_upvw:disconnect()
end
var246_upvw = ""
var248_upvw = nil
if var247_upvw ~= nil then
var247_upvw:Stop()
var247_upvw:Destroy()
var247_upvw = nil
end
return var246_upvw
end
local var252_upvw = pcall_result1 and pcall_result2
function onRunning(arg1) -- Line 754
--[[ Upvalues[8]:
[1]: var252_upvw (read and write)
[2]: var171_upvw (read and write)
[3]: Humanoid_upvr (readonly)
[4]: var28_upvw (read and write)
[5]: var18_upvw (read and write)
[6]: updateVelocity_upvr (readonly)
[7]: tbl_upvr (readonly)
[8]: var32_upvw (read and write)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local var253
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [2] 3. Error Block 2 start (CF ANALYSIS FAILED)
var253 = var171_upvw
-- KONSTANTERROR: [2] 3. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [4] 5. Error Block 20 start (CF ANALYSIS FAILED)
if Humanoid_upvr.MoveDirection ~= Vector3.new(0, 0, 0) then
var253 = false
else
var253 = true
end
-- KONSTANTERROR: [4] 5. Error Block 20 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [12] 11. Error Block 19 start (CF ANALYSIS FAILED)
if not var253 or not Humanoid_upvr.WalkSpeed then
end
var28_upvw = arg1
-- KONSTANTERROR: [12] 11. Error Block 19 end (CF ANALYSIS FAILED)
end
function onDied() -- Line 776
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "Dead"
end
function onJumping() -- Line 780
--[[ Upvalues[3]:
[1]: Humanoid_upvr (readonly)
[2]: var170_upvw (read and write)
[3]: var18_upvw (read and write)
]]
playAnimation("jump", 0.1, Humanoid_upvr)
var170_upvw = 0.31
var18_upvw = "Jumping"
end
function onClimbing(arg1) -- Line 786
--[[ Upvalues[2]:
[1]: Humanoid_upvr (readonly)
[2]: var18_upvw (read and write)
]]
playAnimation("climb", 0.1, Humanoid_upvr)
setAnimationSpeed(arg1 / 5)
var18_upvw = "Climbing"
end
function onGettingUp() -- Line 793
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "GettingUp"
end
function onFallingDown() -- Line 797
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "FallingDown"
end
function onSeated() -- Line 801
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "Seated"
end
function onPlatformStanding() -- Line 805
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "PlatformStanding"
end
function onSwimming(arg1) -- Line 812
--[[ Upvalues[2]:
[1]: Humanoid_upvr (readonly)
[2]: var18_upvw (read and write)
]]
if 1 < arg1 then
playAnimation("swim", 0.4, Humanoid_upvr)
setAnimationSpeed(arg1 / 10)
var18_upvw = "Swimming"
else
playAnimation("swimidle", 0.4, Humanoid_upvr)
var18_upvw = "Standing"
end
end
function animateTool() -- Line 824
--[[ Upvalues[2]:
[1]: var169_upvw (read and write)
[2]: Humanoid_upvr (readonly)
]]
if var169_upvw == "None" then
playToolAnimation("toolnone", 0.1, Humanoid_upvr, Enum.AnimationPriority.Idle)
else
if var169_upvw == "Slash" then
playToolAnimation("toolslash", 0, Humanoid_upvr, Enum.AnimationPriority.Action)
return
end
if var169_upvw == "Lunge" then
playToolAnimation("toollunge", 0, Humanoid_upvr, Enum.AnimationPriority.Action)
return
end
end
end
function getToolAnim(arg1) -- Line 841
for _, v_16 in ipairs(arg1:GetChildren()) do
if v_16.Name == "toolanim" and v_16.className == "StringValue" then
return v_16
end
end
return nil
end
local var259_upvw = 0
local var260_upvw = 0
function stepAnimate(arg1) -- Line 852
--[[ Upvalues[9]:
[1]: var259_upvw (read and write)
[2]: var170_upvw (read and write)
[3]: var18_upvw (read and write)
[4]: Humanoid_upvr (readonly)
[5]: updateVelocity_upvr (readonly)
[6]: Parent_upvr (readonly)
[7]: var169_upvw (read and write)
[8]: var260_upvw (read and write)
[9]: var248_upvw (read and write)
]]
var259_upvw = arg1
if 0 < var170_upvw then
var170_upvw -= arg1 - var259_upvw
end
if var18_upvw == "FreeFall" and var170_upvw <= 0 then
playAnimation("fall", 0.2, Humanoid_upvr)
else
if var18_upvw == "Seated" then
playAnimation("sit", 0.5, Humanoid_upvr)
return
end
if var18_upvw == "Running" then
playAnimation("walk", 0.2, Humanoid_upvr)
updateVelocity_upvr(arg1)
elseif var18_upvw == "Dead" or var18_upvw == "GettingUp" or var18_upvw == "FallingDown" or var18_upvw == "Seated" or var18_upvw == "PlatformStanding" then
stopAllAnimations()
end
end
local class_Tool = Parent_upvr:FindFirstChildOfClass("Tool")
if class_Tool and class_Tool:FindFirstChild("Handle") then
local getToolAnim_result1 = getToolAnim(class_Tool)
if getToolAnim_result1 then
var169_upvw = getToolAnim_result1.Value
getToolAnim_result1.Parent = nil
var260_upvw = arg1 + 0.3
end
if var260_upvw < arg1 then
var260_upvw = 0
var169_upvw = "None"
end
animateTool()
else
stopToolAnimations()
var169_upvw = "None"
var248_upvw = nil
var260_upvw = 0
end
end
Humanoid_upvr.Died:connect(onDied)
Humanoid_upvr.Running:connect(onRunning)
Humanoid_upvr.Climbing:connect(onClimbing)
Humanoid_upvr.GettingUp:connect(onGettingUp)
Humanoid_upvr.FallingDown:connect(onFallingDown)
Humanoid_upvr.Seated:connect(onSeated)
Humanoid_upvr.PlatformStanding:connect(onPlatformStanding)
Humanoid_upvr.Swimming:connect(onSwimming)
Humanoid_upvr.Changed:Connect(function(arg1) -- Line 917
--[[ Upvalues[2]:
[1]: var15_upvw (read and write)
[2]: Humanoid_upvr (readonly)
]]
if arg1 == "Jump" and var15_upvw then
Humanoid_upvr.Jump = false
end
end)
local References_upvr = var13.References
Humanoid_upvr.StateChanged:Connect(function(arg1, arg2) -- Line 923
--[[ Upvalues[3]:
[1]: var15_upvw (read and write)
[2]: Humanoid_upvr (readonly)
[3]: References_upvr (readonly)
]]
if arg2 == Enum.HumanoidStateType.Jumping then
local var271
if not var15_upvw then
var271 = "Sprinting"
if script:GetAttribute(var271) then
var271 = References_upvr.Main.animations.Player.Jump.Sprint
local any_LoadAnimation_result1_upvr = Humanoid_upvr:LoadAnimation(var271)
any_LoadAnimation_result1_upvr.Priority = Enum.AnimationPriority.Action3
any_LoadAnimation_result1_upvr:Play(0.2)
var271 = 0.2
task.wait(var271)
var15_upvw = true
local function INLINED_3() -- Internal function, doesn't exist in bytecode
var271 = any_LoadAnimation_result1_upvr.Length - 0.2
return var271
end
if 0.1 > any_LoadAnimation_result1_upvr.Length or not INLINED_3() then
var271 = 0.3
end
task.delay(var271, function() -- Line 934
--[[ Upvalues[2]:
[1]: any_LoadAnimation_result1_upvr (readonly)
[2]: var15_upvw (copied, read and write)
]]
any_LoadAnimation_result1_upvr:Stop(0.2)
task.wait(1)
var15_upvw = false
end)
return
end
any_LoadAnimation_result1_upvr = Humanoid_upvr:LoadAnimation(References_upvr.Main.animations.Player.Jump.Low)
local var274_upvr = any_LoadAnimation_result1_upvr
var274_upvr.Priority = Enum.AnimationPriority.Action3
var274_upvr:Play(0.2)
task.wait(0.2)
var15_upvw = true
if 0.1 > var274_upvr.Length or not (var274_upvr.Length - 1) then
end
task.delay(0.2, function() -- Line 947
--[[ Upvalues[2]:
[1]: var274_upvr (readonly)
[2]: var15_upvw (copied, read and write)
]]
var274_upvr:Stop(0.2)
task.wait(1)
var15_upvw = false
end)
end
end
end)
game:GetService("Players").LocalPlayer.Chatted:connect(function(arg1) -- Line 958
--[[ Upvalues[3]:
[1]: var18_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: Humanoid_upvr (readonly)
]]
local var277
if string.sub(arg1, 1, 3) == "/e " then
var277 = string.sub(arg1, 4)
elseif string.sub(arg1, 1, 7) == "/emote " then
var277 = string.sub(arg1, 8)
end
if var18_upvw == "Standing" and tbl_upvr[var277] ~= nil then
playAnimation(var277, 0.1, Humanoid_upvr)
end
end)
local var279_upvw = pcall_result1_2 and pcall_result2_2
script:WaitForChild("PlayEmote").OnInvoke = function(arg1) -- Line 972
--[[ Upvalues[5]:
[1]: var18_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: Humanoid_upvr (readonly)
[4]: var279_upvw (read and write)
[5]: var34_upvw (read and write)
]]
if var18_upvw ~= "Standing" then return end
if tbl_upvr[arg1] ~= nil then
playAnimation(arg1, 0.1, Humanoid_upvr)
if var279_upvw then
return true, var34_upvw
end
return true
end
if typeof(arg1) == "Instance" and arg1:IsA("Animation") then
playEmote(arg1, 0.1, Humanoid_upvr)
if var279_upvw then
return true, var34_upvw
end
return true
end
return false
end
if Parent_upvr.Parent ~= nil then
playAnimation("idle", 0.1, Humanoid_upvr)
var18_upvw = "Standing"
end
while Parent_upvr.Parent ~= nil do
local _, wait_result2 = wait(0.1)
stepAnimate(wait_result2)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:53:21
-- Luau version 6, Types version 3
-- Time taken: 0.053438 seconds
script:SetAttribute("Init", true)
local var13
local scriptChildModified
if game:GetService("AssetService"):FindFirstChild("engine") then
var13 = require(game:GetService("AssetService").engine)
else
var13 = require(game:GetService("ReplicatedStorage").engine)
end
local var15_upvw = false
local Parent_upvr = script.Parent
local Humanoid_upvr = Parent_upvr:WaitForChild("Humanoid")
local var18_upvw = "Standing"
local _, _ = pcall(function() -- Line 20
return UserSettings():IsUserFeatureEnabled("UserNoUpdateOnLoop")
end)
local pcall_result1, pcall_result2 = pcall(function() -- Line 24
return UserSettings():IsUserFeatureEnabled("UserEmoteToRunThresholdChange")
end)
local pcall_result1_2, pcall_result2_2 = pcall(function() -- Line 31
return UserSettings():IsUserFeatureEnabled("UserPlayEmoteByIdAnimTrackReturn2")
end)
local var28_upvw = 0
local var29_upvw = 0
local tbl_7_upvw = {
x = 0;
y = 0;
}
local var31_upvw = 0
local var32_upvw = ""
local var33_upvw
local var34_upvw
local var35_upvw
local var36_upvw = 1
local tbl_5_upvr = {}
local tbl_4_upvr = {
idle = {{
id = "http://www.roblox.com/asset/?id=507766666";
weight = 1;
}, {
id = "http://www.roblox.com/asset/?id=507766951";
weight = 1;
}, {
id = "http://www.roblox.com/asset/?id=507766388";
weight = 9;
}};
walk = {{
id = "http://www.roblox.com/asset/?id=507777826";
weight = 10;
}};
run = {{
id = "http://www.roblox.com/asset/?id=507767714";
weight = 10;
}};
swim = {{
id = "http://www.roblox.com/asset/?id=507784897";
weight = 10;
}};
swimidle = {{
id = "http://www.roblox.com/asset/?id=507785072";
weight = 10;
}};
jump = {{
id = "http://www.roblox.com/asset/?id=507765000";
weight = 10;
}};
fall = {{
id = "http://www.roblox.com/asset/?id=507767968";
weight = 10;
}};
climb = {{
id = "http://www.roblox.com/asset/?id=507765644";
weight = 10;
}};
sit = {{
id = "http://www.roblox.com/asset/?id=2506281703";
weight = 10;
}};
toolnone = {{
id = "http://www.roblox.com/asset/?id=507768375";
weight = 10;
}};
toolslash = {{
id = "http://www.roblox.com/asset/?id=522635514";
weight = 10;
}};
toollunge = {{
id = "http://www.roblox.com/asset/?id=522638767";
weight = 10;
}};
wave = {{
id = "http://www.roblox.com/asset/?id=507770239";
weight = 10;
}};
point = {{
id = "http://www.roblox.com/asset/?id=507770453";
weight = 10;
}};
dance = {{
id = "http://www.roblox.com/asset/?id=507771019";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507771955";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507772104";
weight = 10;
}};
dance2 = {{
id = "http://www.roblox.com/asset/?id=507776043";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507776720";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507776879";
weight = 10;
}};
dance3 = {{
id = "http://www.roblox.com/asset/?id=507777268";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507777451";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507777623";
weight = 10;
}};
laugh = {{
id = "http://www.roblox.com/asset/?id=507770818";
weight = 10;
}};
cheer = {{
id = "http://www.roblox.com/asset/?id=507770677";
weight = 10;
}};
}
local tbl_6_upvr = {}
local tbl_2_upvr = {}
local var87_upvw = tbl_6_upvr
local tbl_upvr = {
wave = false;
point = false;
dance = true;
dance2 = true;
dance3 = true;
laugh = false;
cheer = false;
}
math.randomseed(tick())
function findExistingAnimationInSet(arg1, arg2) -- Line 139
if arg1 == nil or arg2 == nil then
return 0
end
for i = 1, arg1.count do
if arg1[i].anim.AnimationId == arg2.AnimationId then
return i
end
end
return 0
end
local function destroyWalkAnimations_upvr() -- Line 153, Named "destroyWalkAnimations"
--[[ Upvalues[3]:
[1]: tbl_6_upvr (readonly)
[2]: tbl_2_upvr (readonly)
[3]: var29_upvw (read and write)
]]
for _, v in pairs(tbl_6_upvr) do
if v.track then
v.track:Stop()
v.track:Destroy()
v.track = nil
end
end
for _, v_2 in pairs(tbl_2_upvr) do
if v_2.track then
v_2.track:Stop()
v_2.track:Destroy()
v_2.track = nil
end
end
var29_upvw = 0
end
local var100_upvw
local var101_upvw
local var102_upvw
local var103_upvw
local function _(arg1) -- Line 174, Named "resetVelocityBounds"
--[[ Upvalues[4]:
[1]: var101_upvw (read and write)
[2]: var100_upvw (read and write)
[3]: var103_upvw (read and write)
[4]: var102_upvw (read and write)
]]
var101_upvw = 0
var100_upvw = 0
var103_upvw = 0
var102_upvw = 0
end
local function _(arg1) -- Line 181, Named "updateVelocityBounds"
--[[ Upvalues[4]:
[1]: var100_upvw (read and write)
[2]: var102_upvw (read and write)
[3]: var101_upvw (read and write)
[4]: var103_upvw (read and write)
]]
if arg1 then
if var100_upvw < arg1.x then
var100_upvw = arg1.x
end
if var102_upvw < arg1.y then
var102_upvw = arg1.y
end
if arg1.x < var101_upvw then
var101_upvw = arg1.x
end
if arg1.y < var103_upvw then
var103_upvw = arg1.y
end
end
end
local function checkStrafingEnabled_upvr(arg1) -- Line 190, Named "checkStrafingEnabled"
--[[ Upvalues[7]:
[1]: var100_upvw (read and write)
[2]: var101_upvw (read and write)
[3]: var102_upvw (read and write)
[4]: var103_upvw (read and write)
[5]: var87_upvw (read and write)
[6]: tbl_6_upvr (readonly)
[7]: tbl_2_upvr (readonly)
]]
if var100_upvw == 0 or var101_upvw == 0 or var102_upvw == 0 or var103_upvw == 0 then
if var87_upvw == tbl_6_upvr then
warn("Strafe blending disabled. Not all quadrants of motion represented.")
end
var87_upvw = tbl_2_upvr
else
if not tbl_6_upvr.run or not tbl_6_upvr.walk then
if var87_upvw == tbl_6_upvr then
warn("Strafe blending disabled. Run and walk must be strafing-friendly.")
end
var87_upvw = tbl_2_upvr
return
end
if var87_upvw ~= tbl_6_upvr then
var87_upvw = tbl_6_upvr
warn("Strafing reenabled")
end
end
end
local function setupWalkAnimations_upvr() -- Line 209, Named "setupWalkAnimations"
--[[ Upvalues[9]:
[1]: var101_upvw (read and write)
[2]: var100_upvw (read and write)
[3]: var103_upvw (read and write)
[4]: var102_upvw (read and write)
[5]: tbl_6_upvr (readonly)
[6]: checkStrafingEnabled_upvr (readonly)
[7]: var87_upvw (read and write)
[8]: Humanoid_upvr (readonly)
[9]: tbl_5_upvr (readonly)
]]
var101_upvw = 0
var100_upvw = 0
var103_upvw = 0
var102_upvw = 0
for _, v_3 in pairs(tbl_6_upvr) do
local lv = v_3.lv
if lv then
if var100_upvw < lv.x then
var100_upvw = lv.x
end
if var102_upvw < lv.y then
var102_upvw = lv.y
end
if lv.x < var101_upvw then
var101_upvw = lv.x
end
if lv.y < var103_upvw then
var103_upvw = lv.y
end
end
end
checkStrafingEnabled_upvr()
for i_5, v_4 in pairs(var87_upvw) do
v_4.track = Humanoid_upvr:LoadAnimation(tbl_5_upvr[i_5][1].anim)
v_4.track.Priority = Enum.AnimationPriority.Action
end
end
local function replaceLocomotionTrack_upvr(arg1, arg2) -- Line 222, Named "replaceLocomotionTrack"
--[[ Upvalues[7]:
[1]: var32_upvw (read and write)
[2]: var87_upvw (read and write)
[3]: destroyWalkAnimations_upvr (readonly)
[4]: tbl_6_upvr (readonly)
[5]: tbl_2_upvr (readonly)
[6]: setupWalkAnimations_upvr (readonly)
[7]: var31_upvw (read and write)
]]
local var115
if var32_upvw == "walk" and var87_upvw[arg1] then
destroyWalkAnimations_upvr()
var115 = true
end
if arg2 then
local tbl = {}
tbl.lv = arg2
tbl.speed = arg2.Magnitude
tbl_6_upvr[arg1] = tbl
else
tbl_6_upvr[arg1] = nil
end
local function INLINED() -- Internal function, doesn't exist in bytecode
local var117
return arg1 == "walk"
end
if arg1 == "run" or INLINED() then
if arg2 then
var117 = tbl_2_upvr
var117[arg1] = tbl_6_upvr[arg1]
else
if arg1 == "run" then
var117 = 12.8
else
var117 = 6.4
end
tbl_2_upvr[arg1] = {
lv = Vector2.new(0, var117);
speed = var117;
}
tbl_6_upvr[arg1] = nil
end
end
if var115 then
setupWalkAnimations_upvr()
var31_upvw = 0
end
end
local tbl_upvr_2 = {}
function scriptChildModified(arg1, arg2) -- Line 250, Named "configureAnimationSet"
--[[ Upvalues[4]:
[1]: tbl_5_upvr (readonly)
[2]: replaceLocomotionTrack_upvr (readonly)
[3]: tbl_upvr_2 (readonly)
[4]: Humanoid_upvr (readonly)
]]
if tbl_5_upvr[arg1] ~= nil then
for _, v_5 in pairs(tbl_5_upvr[arg1].connections) do
v_5:disconnect()
end
end
tbl_5_upvr[arg1] = {}
tbl_5_upvr[arg1].count = 0
tbl_5_upvr[arg1].totalWeight = 0
tbl_5_upvr[arg1].connections = {}
local SOME = script:FindFirstChild(arg1)
if SOME ~= nil then
table.insert(tbl_5_upvr[arg1].connections, SOME.ChildAdded:connect(function(arg1_2) -- Line 264
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
table.insert(tbl_5_upvr[arg1].connections, SOME.ChildRemoved:connect(function(arg1_3) -- Line 265
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
for _, v_6 in pairs(SOME:GetChildren()) do
if v_6:IsA("Animation") then
local var147 = 1
local Weight = v_6:FindFirstChild("Weight")
if Weight ~= nil then
var147 = Weight.Value
end
tbl_5_upvr[arg1].count = tbl_5_upvr[arg1].count + 1
local count = tbl_5_upvr[arg1].count
tbl_5_upvr[arg1][count] = {}
tbl_5_upvr[arg1][count].anim = v_6
tbl_5_upvr[arg1][count].weight = var147
tbl_5_upvr[arg1].totalWeight = tbl_5_upvr[arg1].totalWeight + tbl_5_upvr[arg1][count].weight
table.insert(tbl_5_upvr[arg1].connections, v_6.Changed:connect(function(arg1_4) -- Line 282
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
table.insert(tbl_5_upvr[arg1].connections, v_6.ChildAdded:connect(function(arg1_5) -- Line 283
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
table.insert(tbl_5_upvr[arg1].connections, v_6.ChildRemoved:connect(function(arg1_6) -- Line 284
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
replaceLocomotionTrack_upvr(arg1, v_6:GetAttribute("LinearVelocity"))
end
end
end
if tbl_5_upvr[arg1].count <= 0 then
for i_8, v_7 in pairs(arg2) do
v_6 = tbl_5_upvr[arg1]
v_6[i_8] = {}
v_6 = tbl_5_upvr[arg1][i_8]
v_6.anim = Instance.new("Animation")
v_6 = tbl_5_upvr[arg1][i_8].anim
v_6.Name = arg1
v_6 = tbl_5_upvr[arg1][i_8].anim
v_6.AnimationId = v_7.id
v_6 = tbl_5_upvr[arg1][i_8]
v_6.weight = v_7.weight
v_6 = tbl_5_upvr[arg1]
v_6.count = tbl_5_upvr[arg1].count + 1
v_6 = tbl_5_upvr[arg1]
v_6.totalWeight = tbl_5_upvr[arg1].totalWeight + v_7.weight
end
end
for _, v_8 in pairs(tbl_5_upvr) do
for i_10 = 1, v_8.count do
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if tbl_upvr_2[v_8[i_10].anim.AnimationId] == nil then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
Humanoid_upvr:LoadAnimation(v_8[i_10].anim)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
tbl_upvr_2[v_8[i_10].anim.AnimationId] = true
end
end
end
end
configureAnimationSet = scriptChildModified -- Setting global
function scriptChildModified(arg1) -- Line 317
--[[ Upvalues[1]:
[1]: tbl_4_upvr (readonly)
]]
local var159 = tbl_4_upvr[arg1.Name]
if var159 ~= nil then
configureAnimationSet(arg1.Name, var159)
elseif arg1:isA("StringValue") then
tbl_4_upvr[arg1.Name] = {}
configureAnimationSet(arg1.Name, tbl_4_upvr[arg1.Name])
end
end
scriptChildModified = scriptChildModified -- Setting global
scriptChildModified = script.ChildAdded:connect
scriptChildModified(scriptChildModified)
scriptChildModified = script.ChildRemoved:connect
scriptChildModified(scriptChildModified)
if Humanoid_upvr then
scriptChildModified = Humanoid_upvr:FindFirstChildOfClass("Animator")
else
scriptChildModified = nil
end
if scriptChildModified then
for _, v_9 in ipairs(scriptChildModified:GetPlayingAnimationTracks()) do
v_9:Stop(0)
v_9:Destroy()
end
end
for i_12, _ in pairs(tbl_4_upvr) do
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [552.44]
configureAnimationSet(i_12, nil)
end
for _, v_11 in script:GetChildren() do
if v_11:isA("StringValue") then
tbl_4_upvr[v_11.Name] = {}
configureAnimationSet(v_11.Name, tbl_4_upvr[v_11.Name])
end
end
local var169_upvw = "None"
local var170_upvw = 0
local var171_upvw = false
function stopAllAnimations() -- Line 369
--[[ Upvalues[7]:
[1]: var32_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: var171_upvw (read and write)
[4]: var33_upvw (read and write)
[5]: var35_upvw (read and write)
[6]: var34_upvw (read and write)
[7]: var87_upvw (read and write)
]]
local var176
if tbl_upvr[var32_upvw] ~= nil and tbl_upvr[var176] == false then
var176 = "idle"
end
if var171_upvw then
var176 = "idle"
var171_upvw = false
end
var32_upvw = ""
var33_upvw = nil
if var35_upvw ~= nil then
var35_upvw:disconnect()
end
if var34_upvw ~= nil then
var34_upvw:Stop()
var34_upvw:Destroy()
var34_upvw = nil
end
for _, v_12 in pairs(var87_upvw) do
if v_12.track then
v_12.track:Stop()
v_12.track:Destroy()
v_12.track = nil
end
end
return var176
end
local ScaleDampeningPercent_upvw = script:FindFirstChild("ScaleDampeningPercent")
function getHeightScale() -- Line 405
--[[ Upvalues[2]:
[1]: Humanoid_upvr (readonly)
[2]: ScaleDampeningPercent_upvw (read and write)
]]
local var181
if var181 then
var181 = Humanoid_upvr.AutomaticScalingEnabled
if not var181 then
var181 = 1
return var181
end
var181 = Humanoid_upvr.HipHeight / 2
if ScaleDampeningPercent_upvw == nil then
ScaleDampeningPercent_upvw = script:FindFirstChild("ScaleDampeningPercent")
end
if ScaleDampeningPercent_upvw ~= nil then
var181 = 1 + (Humanoid_upvr.HipHeight - 2) * ScaleDampeningPercent_upvw.Value / 2
end
return var181
end
return 1
end
local function _(arg1, arg2) -- Line 424, Named "signedAngle"
return -math.atan2(arg1.x * arg2.y - arg1.y * arg2.x, arg1.x * arg2.x + arg1.y * arg2.y)
end
local function get2DWeight_upvr(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 429, Named "get2DWeight"
local var182 = 0.5 * (arg5 + arg6)
local module_2 = {
x = (arg4 - arg5) / var182;
y = 2 * -math.atan2(arg2.x * arg1.y - arg2.y * arg1.x, arg2.x * arg1.x + arg2.y * arg1.y);
}
local module = {
x = (arg6 - arg5) / var182;
y = 2 * -math.atan2(arg2.x * arg3.y - arg2.y * arg3.x, arg2.x * arg3.x + arg2.y * arg3.y);
}
return math.clamp(1 - (module_2.x * module.x + module_2.y * module.y) / ((0.0001) + (module.x * module.x + module.y * module.y)), 0, 1)
end
local function blend2D_upvr(arg1, arg2) -- Line 440, Named "blend2D"
--[[ Upvalues[2]:
[1]: var87_upvw (read and write)
[2]: get2DWeight_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 95 start (CF ANALYSIS FAILED)
local tbl_3 = {}
local var213
for i_15, v_13 in pairs(var87_upvw) do
if arg1.x * v_13.lv.x < 0 or arg1.y * v_13.lv.y < 0 then
tbl_3[i_15] = 0
else
tbl_3[i_15] = math.huge
for _, v_14 in pairs(var87_upvw) do
if arg1.x * v_14.lv.x >= 0 and arg1.y * v_14.lv.y >= 0 then
tbl_3[i_15] = math.min(tbl_3[i_15], get2DWeight_upvr(arg1, v_13.lv, v_14.lv, arg2, v_13.speed, v_14.speed))
end
end
var213 += tbl_3[i_15]
end
end
local pairs_result1_4, pairs_result2_10, pairs_result3_10 = pairs(var87_upvw)
for i_17, v_15 in pairs_result1_4, pairs_result2_10, pairs_result3_10 do
if 0.1 < tbl_3[i_17] / var213 then
local var220 = 0 + tbl_3[i_17] * v_15.lv.x
local var222 = 0 + tbl_3[i_17] * v_15.lv.y
else
tbl_3[i_17] = 0
end
end
pairs_result1_4 = nil
local var223 = pairs_result1_4
local var224 = var220 * var220 + var222 * var222
if 0.0001 < var224 then
var223 = math.sqrt(arg2 * arg2 / var224)
else
var223 = 0
end
local pairs_result1_6, pairs_result2_7, pairs_result3_8 = pairs(var87_upvw)
-- KONSTANTERROR: [0] 1. Error Block 95 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [153] 112. Error Block 27 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [153] 112. Error Block 27 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [143] 106. Error Block 83 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if v_15.lv then
local _, _, _ = pairs(var87_upvw)
-- KONSTANTWARNING: GOTO [160] #117
end
-- KONSTANTERROR: [143] 106. Error Block 83 end (CF ANALYSIS FAILED)
end
local function getWalkDirection_upvr() -- Line 522, Named "getWalkDirection"
--[[ Upvalues[1]:
[1]: Humanoid_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local WalkToPoint_2 = Humanoid_upvr.WalkToPoint
local WalkToPart = Humanoid_upvr.WalkToPart
if Humanoid_upvr.MoveDirection ~= Vector3.new(0, 0, 0) then
do
return Humanoid_upvr.MoveDirection
end
local _
end
if WalkToPart or WalkToPoint_2 ~= Vector3.new(0, 0, 0) then
if WalkToPart then
else
end
if Humanoid_upvr.RootPart then
local var240 = WalkToPoint_2 - Humanoid_upvr.RootPart.CFrame.Position
local vector3 = Vector3.new(var240.x, 0, var240.z)
local Magnitude_2 = vector3.Magnitude
if 0.01 < Magnitude_2 then
end
end
return vector3 / Magnitude_2
end
return Humanoid_upvr.MoveDirection
end
local function updateVelocity_upvr(arg1) -- Line 549, Named "updateVelocity"
--[[ Upvalues[10]:
[1]: var87_upvw (read and write)
[2]: tbl_6_upvr (readonly)
[3]: getWalkDirection_upvr (readonly)
[4]: Humanoid_upvr (readonly)
[5]: var18_upvw (read and write)
[6]: var28_upvw (read and write)
[7]: tbl_7_upvw (read and write)
[8]: var29_upvw (read and write)
[9]: var31_upvw (read and write)
[10]: blend2D_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [130] 93. Error Block 29 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [130.7]
tbl_7_upvw = nil
var29_upvw = var28_upvw
var31_upvw = arg1
blend2D_upvr(tbl_7_upvw, var29_upvw)
do
return
end
-- KONSTANTERROR: [130] 93. Error Block 29 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [139] 102. Error Block 31 start (CF ANALYSIS FAILED)
if 0.01 < math.abs(var28_upvw - var29_upvw) or 1 < arg1 - var31_upvw then
var29_upvw = var28_upvw
var31_upvw = arg1
blend2D_upvr(Vector2.yAxis, var29_upvw)
end
-- KONSTANTERROR: [139] 102. Error Block 31 end (CF ANALYSIS FAILED)
end
function setAnimationSpeed(arg1) -- Line 597
--[[ Upvalues[3]:
[1]: var32_upvw (read and write)
[2]: var36_upvw (read and write)
[3]: var34_upvw (read and write)
]]
if var32_upvw ~= "walk" and arg1 ~= var36_upvw then
var36_upvw = arg1
var34_upvw:AdjustSpeed(var36_upvw)
end
end
function keyFrameReachedFunc(arg1) -- Line 606
--[[ Upvalues[6]:
[1]: var32_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: var171_upvw (read and write)
[4]: var34_upvw (read and write)
[5]: var36_upvw (read and write)
[6]: Humanoid_upvr (readonly)
]]
if arg1 == "End" then
local var243
if tbl_upvr[var32_upvw] ~= nil and tbl_upvr[var243] == false then
var243 = "idle"
end
if var171_upvw then
if var34_upvw.Looped then return end
var243 = "idle"
var171_upvw = false
end
playAnimation(var243, 0.15, Humanoid_upvr)
setAnimationSpeed(var36_upvw)
end
end
function rollAnimation(arg1) -- Line 630
--[[ Upvalues[1]:
[1]: tbl_5_upvr (readonly)
]]
local var245
while tbl_5_upvr[arg1][var245].weight < math.random(1, tbl_5_upvr[arg1].totalWeight) do
var245 += 1
end
return var245
end
local function switchToAnim_upvr(arg1, arg2, arg3, arg4) -- Line 641, Named "switchToAnim"
--[[ Upvalues[7]:
[1]: var33_upvw (read and write)
[2]: var34_upvw (read and write)
[3]: var35_upvw (read and write)
[4]: var36_upvw (read and write)
[5]: var32_upvw (read and write)
[6]: setupWalkAnimations_upvr (readonly)
[7]: destroyWalkAnimations_upvr (readonly)
]]
if arg1 ~= var33_upvw then
if var34_upvw ~= nil then
var34_upvw:Stop(arg3)
var34_upvw:Destroy()
end
if var35_upvw ~= nil then
var35_upvw:disconnect()
end
if arg2 == "idle" then
script:SetAttribute("WalkDirection", "Idle")
end
var36_upvw = 1
var32_upvw = arg2
var33_upvw = arg1
if arg2 == "walk" then
setupWalkAnimations_upvr()
return
end
destroyWalkAnimations_upvr()
var34_upvw = arg4:LoadAnimation(arg1)
var34_upvw.Priority = Enum.AnimationPriority.Core
var34_upvw:Play(arg3)
var35_upvw = var34_upvw.KeyframeReached:connect(keyFrameReachedFunc)
end
end
function playAnimation(arg1, arg2, arg3) -- Line 677
--[[ Upvalues[3]:
[1]: tbl_5_upvr (readonly)
[2]: switchToAnim_upvr (readonly)
[3]: var171_upvw (read and write)
]]
switchToAnim_upvr(tbl_5_upvr[arg1][rollAnimation(arg1)].anim, arg1, arg2, arg3)
var171_upvw = false
end
function playEmote(arg1, arg2, arg3) -- Line 685
--[[ Upvalues[2]:
[1]: switchToAnim_upvr (readonly)
[2]: var171_upvw (read and write)
]]
switchToAnim_upvr(arg1, arg1.Name, arg2, arg3)
var171_upvw = true
end
local var246_upvw = ""
local var247_upvw
local var248_upvw
local var249_upvw
function toolKeyFrameReachedFunc(arg1) -- Line 698
--[[ Upvalues[2]:
[1]: var246_upvw (read and write)
[2]: Humanoid_upvr (readonly)
]]
if arg1 == "End" then
playToolAnimation(var246_upvw, 0, Humanoid_upvr)
end
end
function playToolAnimation(arg1, arg2, arg3, arg4) -- Line 705
--[[ Upvalues[5]:
[1]: tbl_5_upvr (readonly)
[2]: var248_upvw (read and write)
[3]: var247_upvw (read and write)
[4]: var246_upvw (read and write)
[5]: var249_upvw (read and write)
]]
local anim = tbl_5_upvr[arg1][rollAnimation(arg1)].anim
local var251
if var248_upvw ~= anim then
if var247_upvw ~= nil then
var247_upvw:Stop()
var247_upvw:Destroy()
var251 = 0
end
var247_upvw = arg3:LoadAnimation(anim)
if arg4 then
var247_upvw.Priority = arg4
end
var247_upvw:Play(var251)
var246_upvw = arg1
var248_upvw = anim
var249_upvw = var247_upvw.KeyframeReached:connect(toolKeyFrameReachedFunc)
end
end
function stopToolAnimations() -- Line 732
--[[ Upvalues[4]:
[1]: var246_upvw (read and write)
[2]: var249_upvw (read and write)
[3]: var248_upvw (read and write)
[4]: var247_upvw (read and write)
]]
if var249_upvw ~= nil then
var249_upvw:disconnect()
end
var246_upvw = ""
var248_upvw = nil
if var247_upvw ~= nil then
var247_upvw:Stop()
var247_upvw:Destroy()
var247_upvw = nil
end
return var246_upvw
end
local var252_upvw = pcall_result1 and pcall_result2
function onRunning(arg1) -- Line 754
--[[ Upvalues[8]:
[1]: var252_upvw (read and write)
[2]: var171_upvw (read and write)
[3]: Humanoid_upvr (readonly)
[4]: var28_upvw (read and write)
[5]: var18_upvw (read and write)
[6]: updateVelocity_upvr (readonly)
[7]: tbl_upvr (readonly)
[8]: var32_upvw (read and write)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local var253
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [2] 3. Error Block 2 start (CF ANALYSIS FAILED)
var253 = var171_upvw
-- KONSTANTERROR: [2] 3. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [4] 5. Error Block 20 start (CF ANALYSIS FAILED)
if Humanoid_upvr.MoveDirection ~= Vector3.new(0, 0, 0) then
var253 = false
else
var253 = true
end
-- KONSTANTERROR: [4] 5. Error Block 20 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [12] 11. Error Block 19 start (CF ANALYSIS FAILED)
if not var253 or not Humanoid_upvr.WalkSpeed then
end
var28_upvw = arg1
-- KONSTANTERROR: [12] 11. Error Block 19 end (CF ANALYSIS FAILED)
end
function onDied() -- Line 776
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "Dead"
end
function onJumping() -- Line 780
--[[ Upvalues[3]:
[1]: Humanoid_upvr (readonly)
[2]: var170_upvw (read and write)
[3]: var18_upvw (read and write)
]]
playAnimation("jump", 0.1, Humanoid_upvr)
var170_upvw = 0.31
var18_upvw = "Jumping"
end
function onClimbing(arg1) -- Line 786
--[[ Upvalues[2]:
[1]: Humanoid_upvr (readonly)
[2]: var18_upvw (read and write)
]]
playAnimation("climb", 0.1, Humanoid_upvr)
setAnimationSpeed(arg1 / 5)
var18_upvw = "Climbing"
end
function onGettingUp() -- Line 793
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "GettingUp"
end
function onFallingDown() -- Line 797
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "FallingDown"
end
function onSeated() -- Line 801
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "Seated"
end
function onPlatformStanding() -- Line 805
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "PlatformStanding"
end
function onSwimming(arg1) -- Line 812
--[[ Upvalues[2]:
[1]: Humanoid_upvr (readonly)
[2]: var18_upvw (read and write)
]]
if 1 < arg1 then
playAnimation("swim", 0.4, Humanoid_upvr)
setAnimationSpeed(arg1 / 10)
var18_upvw = "Swimming"
else
playAnimation("swimidle", 0.4, Humanoid_upvr)
var18_upvw = "Standing"
end
end
function animateTool() -- Line 824
--[[ Upvalues[2]:
[1]: var169_upvw (read and write)
[2]: Humanoid_upvr (readonly)
]]
if var169_upvw == "None" then
playToolAnimation("toolnone", 0.1, Humanoid_upvr, Enum.AnimationPriority.Idle)
else
if var169_upvw == "Slash" then
playToolAnimation("toolslash", 0, Humanoid_upvr, Enum.AnimationPriority.Action)
return
end
if var169_upvw == "Lunge" then
playToolAnimation("toollunge", 0, Humanoid_upvr, Enum.AnimationPriority.Action)
return
end
end
end
function getToolAnim(arg1) -- Line 841
for _, v_16 in ipairs(arg1:GetChildren()) do
if v_16.Name == "toolanim" and v_16.className == "StringValue" then
return v_16
end
end
return nil
end
local var259_upvw = 0
local var260_upvw = 0
function stepAnimate(arg1) -- Line 852
--[[ Upvalues[9]:
[1]: var259_upvw (read and write)
[2]: var170_upvw (read and write)
[3]: var18_upvw (read and write)
[4]: Humanoid_upvr (readonly)
[5]: updateVelocity_upvr (readonly)
[6]: Parent_upvr (readonly)
[7]: var169_upvw (read and write)
[8]: var260_upvw (read and write)
[9]: var248_upvw (read and write)
]]
var259_upvw = arg1
if 0 < var170_upvw then
var170_upvw -= arg1 - var259_upvw
end
if var18_upvw == "FreeFall" and var170_upvw <= 0 then
playAnimation("fall", 0.2, Humanoid_upvr)
else
if var18_upvw == "Seated" then
playAnimation("sit", 0.5, Humanoid_upvr)
return
end
if var18_upvw == "Running" then
playAnimation("walk", 0.2, Humanoid_upvr)
updateVelocity_upvr(arg1)
elseif var18_upvw == "Dead" or var18_upvw == "GettingUp" or var18_upvw == "FallingDown" or var18_upvw == "Seated" or var18_upvw == "PlatformStanding" then
stopAllAnimations()
end
end
local class_Tool = Parent_upvr:FindFirstChildOfClass("Tool")
if class_Tool and class_Tool:FindFirstChild("Handle") then
local getToolAnim_result1 = getToolAnim(class_Tool)
if getToolAnim_result1 then
var169_upvw = getToolAnim_result1.Value
getToolAnim_result1.Parent = nil
var260_upvw = arg1 + 0.3
end
if var260_upvw < arg1 then
var260_upvw = 0
var169_upvw = "None"
end
animateTool()
else
stopToolAnimations()
var169_upvw = "None"
var248_upvw = nil
var260_upvw = 0
end
end
Humanoid_upvr.Died:connect(onDied)
Humanoid_upvr.Running:connect(onRunning)
Humanoid_upvr.Climbing:connect(onClimbing)
Humanoid_upvr.GettingUp:connect(onGettingUp)
Humanoid_upvr.FallingDown:connect(onFallingDown)
Humanoid_upvr.Seated:connect(onSeated)
Humanoid_upvr.PlatformStanding:connect(onPlatformStanding)
Humanoid_upvr.Swimming:connect(onSwimming)
Humanoid_upvr.Changed:Connect(function(arg1) -- Line 917
--[[ Upvalues[2]:
[1]: var15_upvw (read and write)
[2]: Humanoid_upvr (readonly)
]]
if arg1 == "Jump" and var15_upvw then
Humanoid_upvr.Jump = false
end
end)
local References_upvr = var13.References
Humanoid_upvr.StateChanged:Connect(function(arg1, arg2) -- Line 923
--[[ Upvalues[3]:
[1]: var15_upvw (read and write)
[2]: Humanoid_upvr (readonly)
[3]: References_upvr (readonly)
]]
if arg2 == Enum.HumanoidStateType.Jumping then
local var271
if not var15_upvw then
var271 = "Sprinting"
if script:GetAttribute(var271) then
var271 = References_upvr.Main.animations.Player.Jump.Sprint
local any_LoadAnimation_result1_upvr = Humanoid_upvr:LoadAnimation(var271)
any_LoadAnimation_result1_upvr.Priority = Enum.AnimationPriority.Action3
any_LoadAnimation_result1_upvr:Play(0.2)
var271 = 0.2
task.wait(var271)
var15_upvw = true
local function INLINED_3() -- Internal function, doesn't exist in bytecode
var271 = any_LoadAnimation_result1_upvr.Length - 0.2
return var271
end
if 0.1 > any_LoadAnimation_result1_upvr.Length or not INLINED_3() then
var271 = 0.3
end
task.delay(var271, function() -- Line 934
--[[ Upvalues[2]:
[1]: any_LoadAnimation_result1_upvr (readonly)
[2]: var15_upvw (copied, read and write)
]]
any_LoadAnimation_result1_upvr:Stop(0.2)
task.wait(1)
var15_upvw = false
end)
return
end
any_LoadAnimation_result1_upvr = Humanoid_upvr:LoadAnimation(References_upvr.Main.animations.Player.Jump.Low)
local var274_upvr = any_LoadAnimation_result1_upvr
var274_upvr.Priority = Enum.AnimationPriority.Action3
var274_upvr:Play(0.2)
task.wait(0.2)
var15_upvw = true
if 0.1 > var274_upvr.Length or not (var274_upvr.Length - 1) then
end
task.delay(0.2, function() -- Line 947
--[[ Upvalues[2]:
[1]: var274_upvr (readonly)
[2]: var15_upvw (copied, read and write)
]]
var274_upvr:Stop(0.2)
task.wait(1)
var15_upvw = false
end)
end
end
end)
game:GetService("Players").LocalPlayer.Chatted:connect(function(arg1) -- Line 958
--[[ Upvalues[3]:
[1]: var18_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: Humanoid_upvr (readonly)
]]
local var277
if string.sub(arg1, 1, 3) == "/e " then
var277 = string.sub(arg1, 4)
elseif string.sub(arg1, 1, 7) == "/emote " then
var277 = string.sub(arg1, 8)
end
if var18_upvw == "Standing" and tbl_upvr[var277] ~= nil then
playAnimation(var277, 0.1, Humanoid_upvr)
end
end)
local var279_upvw = pcall_result1_2 and pcall_result2_2
script:WaitForChild("PlayEmote").OnInvoke = function(arg1) -- Line 972
--[[ Upvalues[5]:
[1]: var18_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: Humanoid_upvr (readonly)
[4]: var279_upvw (read and write)
[5]: var34_upvw (read and write)
]]
if var18_upvw ~= "Standing" then return end
if tbl_upvr[arg1] ~= nil then
playAnimation(arg1, 0.1, Humanoid_upvr)
if var279_upvw then
return true, var34_upvw
end
return true
end
if typeof(arg1) == "Instance" and arg1:IsA("Animation") then
playEmote(arg1, 0.1, Humanoid_upvr)
if var279_upvw then
return true, var34_upvw
end
return true
end
return false
end
if Parent_upvr.Parent ~= nil then
playAnimation("idle", 0.1, Humanoid_upvr)
var18_upvw = "Standing"
end
while Parent_upvr.Parent ~= nil do
local _, wait_result2 = wait(0.1)
stepAnimate(wait_result2)
end
-- [SERVER SCRIPT] Source hidden from client.
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:53:24
-- Luau version 6, Types version 3
-- Time taken: 0.053708 seconds
script:SetAttribute("Init", true)
local var13
local scriptChildModified
if game:GetService("AssetService"):FindFirstChild("engine") then
var13 = require(game:GetService("AssetService").engine)
else
var13 = require(game:GetService("ReplicatedStorage").engine)
end
local var15_upvw = false
local Parent_upvr = script.Parent
local Humanoid_upvr = Parent_upvr:WaitForChild("Humanoid")
local var18_upvw = "Standing"
local _, _ = pcall(function() -- Line 20
return UserSettings():IsUserFeatureEnabled("UserNoUpdateOnLoop")
end)
local pcall_result1, pcall_result2 = pcall(function() -- Line 24
return UserSettings():IsUserFeatureEnabled("UserEmoteToRunThresholdChange")
end)
local pcall_result1_2, pcall_result2_2 = pcall(function() -- Line 31
return UserSettings():IsUserFeatureEnabled("UserPlayEmoteByIdAnimTrackReturn2")
end)
local var28_upvw = 0
local var29_upvw = 0
local tbl_7_upvw = {
x = 0;
y = 0;
}
local var31_upvw = 0
local var32_upvw = ""
local var33_upvw
local var34_upvw
local var35_upvw
local var36_upvw = 1
local tbl_5_upvr = {}
local tbl_4_upvr = {
idle = {{
id = "http://www.roblox.com/asset/?id=507766666";
weight = 1;
}, {
id = "http://www.roblox.com/asset/?id=507766951";
weight = 1;
}, {
id = "http://www.roblox.com/asset/?id=507766388";
weight = 9;
}};
walk = {{
id = "http://www.roblox.com/asset/?id=507777826";
weight = 10;
}};
run = {{
id = "http://www.roblox.com/asset/?id=507767714";
weight = 10;
}};
swim = {{
id = "http://www.roblox.com/asset/?id=507784897";
weight = 10;
}};
swimidle = {{
id = "http://www.roblox.com/asset/?id=507785072";
weight = 10;
}};
jump = {{
id = "http://www.roblox.com/asset/?id=507765000";
weight = 10;
}};
fall = {{
id = "http://www.roblox.com/asset/?id=507767968";
weight = 10;
}};
climb = {{
id = "http://www.roblox.com/asset/?id=507765644";
weight = 10;
}};
sit = {{
id = "http://www.roblox.com/asset/?id=2506281703";
weight = 10;
}};
toolnone = {{
id = "http://www.roblox.com/asset/?id=507768375";
weight = 10;
}};
toolslash = {{
id = "http://www.roblox.com/asset/?id=522635514";
weight = 10;
}};
toollunge = {{
id = "http://www.roblox.com/asset/?id=522638767";
weight = 10;
}};
wave = {{
id = "http://www.roblox.com/asset/?id=507770239";
weight = 10;
}};
point = {{
id = "http://www.roblox.com/asset/?id=507770453";
weight = 10;
}};
dance = {{
id = "http://www.roblox.com/asset/?id=507771019";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507771955";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507772104";
weight = 10;
}};
dance2 = {{
id = "http://www.roblox.com/asset/?id=507776043";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507776720";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507776879";
weight = 10;
}};
dance3 = {{
id = "http://www.roblox.com/asset/?id=507777268";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507777451";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507777623";
weight = 10;
}};
laugh = {{
id = "http://www.roblox.com/asset/?id=507770818";
weight = 10;
}};
cheer = {{
id = "http://www.roblox.com/asset/?id=507770677";
weight = 10;
}};
}
local tbl_6_upvr = {}
local tbl_2_upvr = {}
local var87_upvw = tbl_6_upvr
local tbl_upvr = {
wave = false;
point = false;
dance = true;
dance2 = true;
dance3 = true;
laugh = false;
cheer = false;
}
math.randomseed(tick())
function findExistingAnimationInSet(arg1, arg2) -- Line 139
if arg1 == nil or arg2 == nil then
return 0
end
for i = 1, arg1.count do
if arg1[i].anim.AnimationId == arg2.AnimationId then
return i
end
end
return 0
end
local function destroyWalkAnimations_upvr() -- Line 153, Named "destroyWalkAnimations"
--[[ Upvalues[3]:
[1]: tbl_6_upvr (readonly)
[2]: tbl_2_upvr (readonly)
[3]: var29_upvw (read and write)
]]
for _, v in pairs(tbl_6_upvr) do
if v.track then
v.track:Stop()
v.track:Destroy()
v.track = nil
end
end
for _, v_2 in pairs(tbl_2_upvr) do
if v_2.track then
v_2.track:Stop()
v_2.track:Destroy()
v_2.track = nil
end
end
var29_upvw = 0
end
local var100_upvw
local var101_upvw
local var102_upvw
local var103_upvw
local function _(arg1) -- Line 174, Named "resetVelocityBounds"
--[[ Upvalues[4]:
[1]: var101_upvw (read and write)
[2]: var100_upvw (read and write)
[3]: var103_upvw (read and write)
[4]: var102_upvw (read and write)
]]
var101_upvw = 0
var100_upvw = 0
var103_upvw = 0
var102_upvw = 0
end
local function _(arg1) -- Line 181, Named "updateVelocityBounds"
--[[ Upvalues[4]:
[1]: var100_upvw (read and write)
[2]: var102_upvw (read and write)
[3]: var101_upvw (read and write)
[4]: var103_upvw (read and write)
]]
if arg1 then
if var100_upvw < arg1.x then
var100_upvw = arg1.x
end
if var102_upvw < arg1.y then
var102_upvw = arg1.y
end
if arg1.x < var101_upvw then
var101_upvw = arg1.x
end
if arg1.y < var103_upvw then
var103_upvw = arg1.y
end
end
end
local function checkStrafingEnabled_upvr(arg1) -- Line 190, Named "checkStrafingEnabled"
--[[ Upvalues[7]:
[1]: var100_upvw (read and write)
[2]: var101_upvw (read and write)
[3]: var102_upvw (read and write)
[4]: var103_upvw (read and write)
[5]: var87_upvw (read and write)
[6]: tbl_6_upvr (readonly)
[7]: tbl_2_upvr (readonly)
]]
if var100_upvw == 0 or var101_upvw == 0 or var102_upvw == 0 or var103_upvw == 0 then
if var87_upvw == tbl_6_upvr then
warn("Strafe blending disabled. Not all quadrants of motion represented.")
end
var87_upvw = tbl_2_upvr
else
if not tbl_6_upvr.run or not tbl_6_upvr.walk then
if var87_upvw == tbl_6_upvr then
warn("Strafe blending disabled. Run and walk must be strafing-friendly.")
end
var87_upvw = tbl_2_upvr
return
end
if var87_upvw ~= tbl_6_upvr then
var87_upvw = tbl_6_upvr
warn("Strafing reenabled")
end
end
end
local function setupWalkAnimations_upvr() -- Line 209, Named "setupWalkAnimations"
--[[ Upvalues[9]:
[1]: var101_upvw (read and write)
[2]: var100_upvw (read and write)
[3]: var103_upvw (read and write)
[4]: var102_upvw (read and write)
[5]: tbl_6_upvr (readonly)
[6]: checkStrafingEnabled_upvr (readonly)
[7]: var87_upvw (read and write)
[8]: Humanoid_upvr (readonly)
[9]: tbl_5_upvr (readonly)
]]
var101_upvw = 0
var100_upvw = 0
var103_upvw = 0
var102_upvw = 0
for _, v_3 in pairs(tbl_6_upvr) do
local lv = v_3.lv
if lv then
if var100_upvw < lv.x then
var100_upvw = lv.x
end
if var102_upvw < lv.y then
var102_upvw = lv.y
end
if lv.x < var101_upvw then
var101_upvw = lv.x
end
if lv.y < var103_upvw then
var103_upvw = lv.y
end
end
end
checkStrafingEnabled_upvr()
for i_5, v_4 in pairs(var87_upvw) do
v_4.track = Humanoid_upvr:LoadAnimation(tbl_5_upvr[i_5][1].anim)
v_4.track.Priority = Enum.AnimationPriority.Action
end
end
local function replaceLocomotionTrack_upvr(arg1, arg2) -- Line 222, Named "replaceLocomotionTrack"
--[[ Upvalues[7]:
[1]: var32_upvw (read and write)
[2]: var87_upvw (read and write)
[3]: destroyWalkAnimations_upvr (readonly)
[4]: tbl_6_upvr (readonly)
[5]: tbl_2_upvr (readonly)
[6]: setupWalkAnimations_upvr (readonly)
[7]: var31_upvw (read and write)
]]
local var115
if var32_upvw == "walk" and var87_upvw[arg1] then
destroyWalkAnimations_upvr()
var115 = true
end
if arg2 then
local tbl = {}
tbl.lv = arg2
tbl.speed = arg2.Magnitude
tbl_6_upvr[arg1] = tbl
else
tbl_6_upvr[arg1] = nil
end
local function INLINED() -- Internal function, doesn't exist in bytecode
local var117
return arg1 == "walk"
end
if arg1 == "run" or INLINED() then
if arg2 then
var117 = tbl_2_upvr
var117[arg1] = tbl_6_upvr[arg1]
else
if arg1 == "run" then
var117 = 12.8
else
var117 = 6.4
end
tbl_2_upvr[arg1] = {
lv = Vector2.new(0, var117);
speed = var117;
}
tbl_6_upvr[arg1] = nil
end
end
if var115 then
setupWalkAnimations_upvr()
var31_upvw = 0
end
end
local tbl_upvr_2 = {}
function scriptChildModified(arg1, arg2) -- Line 250, Named "configureAnimationSet"
--[[ Upvalues[4]:
[1]: tbl_5_upvr (readonly)
[2]: replaceLocomotionTrack_upvr (readonly)
[3]: tbl_upvr_2 (readonly)
[4]: Humanoid_upvr (readonly)
]]
if tbl_5_upvr[arg1] ~= nil then
for _, v_5 in pairs(tbl_5_upvr[arg1].connections) do
v_5:disconnect()
end
end
tbl_5_upvr[arg1] = {}
tbl_5_upvr[arg1].count = 0
tbl_5_upvr[arg1].totalWeight = 0
tbl_5_upvr[arg1].connections = {}
local SOME = script:FindFirstChild(arg1)
if SOME ~= nil then
table.insert(tbl_5_upvr[arg1].connections, SOME.ChildAdded:connect(function(arg1_2) -- Line 264
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
table.insert(tbl_5_upvr[arg1].connections, SOME.ChildRemoved:connect(function(arg1_3) -- Line 265
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
for _, v_6 in pairs(SOME:GetChildren()) do
if v_6:IsA("Animation") then
local var147 = 1
local Weight = v_6:FindFirstChild("Weight")
if Weight ~= nil then
var147 = Weight.Value
end
tbl_5_upvr[arg1].count = tbl_5_upvr[arg1].count + 1
local count = tbl_5_upvr[arg1].count
tbl_5_upvr[arg1][count] = {}
tbl_5_upvr[arg1][count].anim = v_6
tbl_5_upvr[arg1][count].weight = var147
tbl_5_upvr[arg1].totalWeight = tbl_5_upvr[arg1].totalWeight + tbl_5_upvr[arg1][count].weight
table.insert(tbl_5_upvr[arg1].connections, v_6.Changed:connect(function(arg1_4) -- Line 282
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
table.insert(tbl_5_upvr[arg1].connections, v_6.ChildAdded:connect(function(arg1_5) -- Line 283
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
table.insert(tbl_5_upvr[arg1].connections, v_6.ChildRemoved:connect(function(arg1_6) -- Line 284
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
replaceLocomotionTrack_upvr(arg1, v_6:GetAttribute("LinearVelocity"))
end
end
end
if tbl_5_upvr[arg1].count <= 0 then
for i_8, v_7 in pairs(arg2) do
v_6 = tbl_5_upvr[arg1]
v_6[i_8] = {}
v_6 = tbl_5_upvr[arg1][i_8]
v_6.anim = Instance.new("Animation")
v_6 = tbl_5_upvr[arg1][i_8].anim
v_6.Name = arg1
v_6 = tbl_5_upvr[arg1][i_8].anim
v_6.AnimationId = v_7.id
v_6 = tbl_5_upvr[arg1][i_8]
v_6.weight = v_7.weight
v_6 = tbl_5_upvr[arg1]
v_6.count = tbl_5_upvr[arg1].count + 1
v_6 = tbl_5_upvr[arg1]
v_6.totalWeight = tbl_5_upvr[arg1].totalWeight + v_7.weight
end
end
for _, v_8 in pairs(tbl_5_upvr) do
for i_10 = 1, v_8.count do
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if tbl_upvr_2[v_8[i_10].anim.AnimationId] == nil then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
Humanoid_upvr:LoadAnimation(v_8[i_10].anim)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
tbl_upvr_2[v_8[i_10].anim.AnimationId] = true
end
end
end
end
configureAnimationSet = scriptChildModified -- Setting global
function scriptChildModified(arg1) -- Line 317
--[[ Upvalues[1]:
[1]: tbl_4_upvr (readonly)
]]
local var159 = tbl_4_upvr[arg1.Name]
if var159 ~= nil then
configureAnimationSet(arg1.Name, var159)
elseif arg1:isA("StringValue") then
tbl_4_upvr[arg1.Name] = {}
configureAnimationSet(arg1.Name, tbl_4_upvr[arg1.Name])
end
end
scriptChildModified = scriptChildModified -- Setting global
scriptChildModified = script.ChildAdded:connect
scriptChildModified(scriptChildModified)
scriptChildModified = script.ChildRemoved:connect
scriptChildModified(scriptChildModified)
if Humanoid_upvr then
scriptChildModified = Humanoid_upvr:FindFirstChildOfClass("Animator")
else
scriptChildModified = nil
end
if scriptChildModified then
for _, v_9 in ipairs(scriptChildModified:GetPlayingAnimationTracks()) do
v_9:Stop(0)
v_9:Destroy()
end
end
for i_12, _ in pairs(tbl_4_upvr) do
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [552.44]
configureAnimationSet(i_12, nil)
end
for _, v_11 in script:GetChildren() do
if v_11:isA("StringValue") then
tbl_4_upvr[v_11.Name] = {}
configureAnimationSet(v_11.Name, tbl_4_upvr[v_11.Name])
end
end
local var169_upvw = "None"
local var170_upvw = 0
local var171_upvw = false
function stopAllAnimations() -- Line 369
--[[ Upvalues[7]:
[1]: var32_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: var171_upvw (read and write)
[4]: var33_upvw (read and write)
[5]: var35_upvw (read and write)
[6]: var34_upvw (read and write)
[7]: var87_upvw (read and write)
]]
local var176
if tbl_upvr[var32_upvw] ~= nil and tbl_upvr[var176] == false then
var176 = "idle"
end
if var171_upvw then
var176 = "idle"
var171_upvw = false
end
var32_upvw = ""
var33_upvw = nil
if var35_upvw ~= nil then
var35_upvw:disconnect()
end
if var34_upvw ~= nil then
var34_upvw:Stop()
var34_upvw:Destroy()
var34_upvw = nil
end
for _, v_12 in pairs(var87_upvw) do
if v_12.track then
v_12.track:Stop()
v_12.track:Destroy()
v_12.track = nil
end
end
return var176
end
local ScaleDampeningPercent_upvw = script:FindFirstChild("ScaleDampeningPercent")
function getHeightScale() -- Line 405
--[[ Upvalues[2]:
[1]: Humanoid_upvr (readonly)
[2]: ScaleDampeningPercent_upvw (read and write)
]]
local var181
if var181 then
var181 = Humanoid_upvr.AutomaticScalingEnabled
if not var181 then
var181 = 1
return var181
end
var181 = Humanoid_upvr.HipHeight / 2
if ScaleDampeningPercent_upvw == nil then
ScaleDampeningPercent_upvw = script:FindFirstChild("ScaleDampeningPercent")
end
if ScaleDampeningPercent_upvw ~= nil then
var181 = 1 + (Humanoid_upvr.HipHeight - 2) * ScaleDampeningPercent_upvw.Value / 2
end
return var181
end
return 1
end
local function _(arg1, arg2) -- Line 424, Named "signedAngle"
return -math.atan2(arg1.x * arg2.y - arg1.y * arg2.x, arg1.x * arg2.x + arg1.y * arg2.y)
end
local function get2DWeight_upvr(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 429, Named "get2DWeight"
local var182 = 0.5 * (arg5 + arg6)
local module_2 = {
x = (arg4 - arg5) / var182;
y = 2 * -math.atan2(arg2.x * arg1.y - arg2.y * arg1.x, arg2.x * arg1.x + arg2.y * arg1.y);
}
local module = {
x = (arg6 - arg5) / var182;
y = 2 * -math.atan2(arg2.x * arg3.y - arg2.y * arg3.x, arg2.x * arg3.x + arg2.y * arg3.y);
}
return math.clamp(1 - (module_2.x * module.x + module_2.y * module.y) / ((0.0001) + (module.x * module.x + module.y * module.y)), 0, 1)
end
local function blend2D_upvr(arg1, arg2) -- Line 440, Named "blend2D"
--[[ Upvalues[2]:
[1]: var87_upvw (read and write)
[2]: get2DWeight_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 95 start (CF ANALYSIS FAILED)
local tbl_3 = {}
local var213
for i_15, v_13 in pairs(var87_upvw) do
if arg1.x * v_13.lv.x < 0 or arg1.y * v_13.lv.y < 0 then
tbl_3[i_15] = 0
else
tbl_3[i_15] = math.huge
for _, v_14 in pairs(var87_upvw) do
if arg1.x * v_14.lv.x >= 0 and arg1.y * v_14.lv.y >= 0 then
tbl_3[i_15] = math.min(tbl_3[i_15], get2DWeight_upvr(arg1, v_13.lv, v_14.lv, arg2, v_13.speed, v_14.speed))
end
end
var213 += tbl_3[i_15]
end
end
local pairs_result1_4, pairs_result2_10, pairs_result3_10 = pairs(var87_upvw)
for i_17, v_15 in pairs_result1_4, pairs_result2_10, pairs_result3_10 do
if 0.1 < tbl_3[i_17] / var213 then
local var220 = 0 + tbl_3[i_17] * v_15.lv.x
local var222 = 0 + tbl_3[i_17] * v_15.lv.y
else
tbl_3[i_17] = 0
end
end
pairs_result1_4 = nil
local var223 = pairs_result1_4
local var224 = var220 * var220 + var222 * var222
if 0.0001 < var224 then
var223 = math.sqrt(arg2 * arg2 / var224)
else
var223 = 0
end
local pairs_result1_6, pairs_result2_7, pairs_result3_8 = pairs(var87_upvw)
-- KONSTANTERROR: [0] 1. Error Block 95 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [153] 112. Error Block 27 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [153] 112. Error Block 27 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [143] 106. Error Block 83 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if v_15.lv then
local _, _, _ = pairs(var87_upvw)
-- KONSTANTWARNING: GOTO [160] #117
end
-- KONSTANTERROR: [143] 106. Error Block 83 end (CF ANALYSIS FAILED)
end
local function getWalkDirection_upvr() -- Line 522, Named "getWalkDirection"
--[[ Upvalues[1]:
[1]: Humanoid_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local WalkToPoint_2 = Humanoid_upvr.WalkToPoint
local WalkToPart = Humanoid_upvr.WalkToPart
if Humanoid_upvr.MoveDirection ~= Vector3.new(0, 0, 0) then
do
return Humanoid_upvr.MoveDirection
end
local _
end
if WalkToPart or WalkToPoint_2 ~= Vector3.new(0, 0, 0) then
if WalkToPart then
else
end
if Humanoid_upvr.RootPart then
local var240 = WalkToPoint_2 - Humanoid_upvr.RootPart.CFrame.Position
local vector3 = Vector3.new(var240.x, 0, var240.z)
local Magnitude_2 = vector3.Magnitude
if 0.01 < Magnitude_2 then
end
end
return vector3 / Magnitude_2
end
return Humanoid_upvr.MoveDirection
end
local function updateVelocity_upvr(arg1) -- Line 549, Named "updateVelocity"
--[[ Upvalues[10]:
[1]: var87_upvw (read and write)
[2]: tbl_6_upvr (readonly)
[3]: getWalkDirection_upvr (readonly)
[4]: Humanoid_upvr (readonly)
[5]: var18_upvw (read and write)
[6]: var28_upvw (read and write)
[7]: tbl_7_upvw (read and write)
[8]: var29_upvw (read and write)
[9]: var31_upvw (read and write)
[10]: blend2D_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [130] 93. Error Block 29 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [130.7]
tbl_7_upvw = nil
var29_upvw = var28_upvw
var31_upvw = arg1
blend2D_upvr(tbl_7_upvw, var29_upvw)
do
return
end
-- KONSTANTERROR: [130] 93. Error Block 29 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [139] 102. Error Block 31 start (CF ANALYSIS FAILED)
if 0.01 < math.abs(var28_upvw - var29_upvw) or 1 < arg1 - var31_upvw then
var29_upvw = var28_upvw
var31_upvw = arg1
blend2D_upvr(Vector2.yAxis, var29_upvw)
end
-- KONSTANTERROR: [139] 102. Error Block 31 end (CF ANALYSIS FAILED)
end
function setAnimationSpeed(arg1) -- Line 597
--[[ Upvalues[3]:
[1]: var32_upvw (read and write)
[2]: var36_upvw (read and write)
[3]: var34_upvw (read and write)
]]
if var32_upvw ~= "walk" and arg1 ~= var36_upvw then
var36_upvw = arg1
var34_upvw:AdjustSpeed(var36_upvw)
end
end
function keyFrameReachedFunc(arg1) -- Line 606
--[[ Upvalues[6]:
[1]: var32_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: var171_upvw (read and write)
[4]: var34_upvw (read and write)
[5]: var36_upvw (read and write)
[6]: Humanoid_upvr (readonly)
]]
if arg1 == "End" then
local var243
if tbl_upvr[var32_upvw] ~= nil and tbl_upvr[var243] == false then
var243 = "idle"
end
if var171_upvw then
if var34_upvw.Looped then return end
var243 = "idle"
var171_upvw = false
end
playAnimation(var243, 0.15, Humanoid_upvr)
setAnimationSpeed(var36_upvw)
end
end
function rollAnimation(arg1) -- Line 630
--[[ Upvalues[1]:
[1]: tbl_5_upvr (readonly)
]]
local var245
while tbl_5_upvr[arg1][var245].weight < math.random(1, tbl_5_upvr[arg1].totalWeight) do
var245 += 1
end
return var245
end
local function switchToAnim_upvr(arg1, arg2, arg3, arg4) -- Line 641, Named "switchToAnim"
--[[ Upvalues[7]:
[1]: var33_upvw (read and write)
[2]: var34_upvw (read and write)
[3]: var35_upvw (read and write)
[4]: var36_upvw (read and write)
[5]: var32_upvw (read and write)
[6]: setupWalkAnimations_upvr (readonly)
[7]: destroyWalkAnimations_upvr (readonly)
]]
if arg1 ~= var33_upvw then
if var34_upvw ~= nil then
var34_upvw:Stop(arg3)
var34_upvw:Destroy()
end
if var35_upvw ~= nil then
var35_upvw:disconnect()
end
if arg2 == "idle" then
script:SetAttribute("WalkDirection", "Idle")
end
var36_upvw = 1
var32_upvw = arg2
var33_upvw = arg1
if arg2 == "walk" then
setupWalkAnimations_upvr()
return
end
destroyWalkAnimations_upvr()
var34_upvw = arg4:LoadAnimation(arg1)
var34_upvw.Priority = Enum.AnimationPriority.Core
var34_upvw:Play(arg3)
var35_upvw = var34_upvw.KeyframeReached:connect(keyFrameReachedFunc)
end
end
function playAnimation(arg1, arg2, arg3) -- Line 677
--[[ Upvalues[3]:
[1]: tbl_5_upvr (readonly)
[2]: switchToAnim_upvr (readonly)
[3]: var171_upvw (read and write)
]]
switchToAnim_upvr(tbl_5_upvr[arg1][rollAnimation(arg1)].anim, arg1, arg2, arg3)
var171_upvw = false
end
function playEmote(arg1, arg2, arg3) -- Line 685
--[[ Upvalues[2]:
[1]: switchToAnim_upvr (readonly)
[2]: var171_upvw (read and write)
]]
switchToAnim_upvr(arg1, arg1.Name, arg2, arg3)
var171_upvw = true
end
local var246_upvw = ""
local var247_upvw
local var248_upvw
local var249_upvw
function toolKeyFrameReachedFunc(arg1) -- Line 698
--[[ Upvalues[2]:
[1]: var246_upvw (read and write)
[2]: Humanoid_upvr (readonly)
]]
if arg1 == "End" then
playToolAnimation(var246_upvw, 0, Humanoid_upvr)
end
end
function playToolAnimation(arg1, arg2, arg3, arg4) -- Line 705
--[[ Upvalues[5]:
[1]: tbl_5_upvr (readonly)
[2]: var248_upvw (read and write)
[3]: var247_upvw (read and write)
[4]: var246_upvw (read and write)
[5]: var249_upvw (read and write)
]]
local anim = tbl_5_upvr[arg1][rollAnimation(arg1)].anim
local var251
if var248_upvw ~= anim then
if var247_upvw ~= nil then
var247_upvw:Stop()
var247_upvw:Destroy()
var251 = 0
end
var247_upvw = arg3:LoadAnimation(anim)
if arg4 then
var247_upvw.Priority = arg4
end
var247_upvw:Play(var251)
var246_upvw = arg1
var248_upvw = anim
var249_upvw = var247_upvw.KeyframeReached:connect(toolKeyFrameReachedFunc)
end
end
function stopToolAnimations() -- Line 732
--[[ Upvalues[4]:
[1]: var246_upvw (read and write)
[2]: var249_upvw (read and write)
[3]: var248_upvw (read and write)
[4]: var247_upvw (read and write)
]]
if var249_upvw ~= nil then
var249_upvw:disconnect()
end
var246_upvw = ""
var248_upvw = nil
if var247_upvw ~= nil then
var247_upvw:Stop()
var247_upvw:Destroy()
var247_upvw = nil
end
return var246_upvw
end
local var252_upvw = pcall_result1 and pcall_result2
function onRunning(arg1) -- Line 754
--[[ Upvalues[8]:
[1]: var252_upvw (read and write)
[2]: var171_upvw (read and write)
[3]: Humanoid_upvr (readonly)
[4]: var28_upvw (read and write)
[5]: var18_upvw (read and write)
[6]: updateVelocity_upvr (readonly)
[7]: tbl_upvr (readonly)
[8]: var32_upvw (read and write)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local var253
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [2] 3. Error Block 2 start (CF ANALYSIS FAILED)
var253 = var171_upvw
-- KONSTANTERROR: [2] 3. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [4] 5. Error Block 20 start (CF ANALYSIS FAILED)
if Humanoid_upvr.MoveDirection ~= Vector3.new(0, 0, 0) then
var253 = false
else
var253 = true
end
-- KONSTANTERROR: [4] 5. Error Block 20 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [12] 11. Error Block 19 start (CF ANALYSIS FAILED)
if not var253 or not Humanoid_upvr.WalkSpeed then
end
var28_upvw = arg1
-- KONSTANTERROR: [12] 11. Error Block 19 end (CF ANALYSIS FAILED)
end
function onDied() -- Line 776
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "Dead"
end
function onJumping() -- Line 780
--[[ Upvalues[3]:
[1]: Humanoid_upvr (readonly)
[2]: var170_upvw (read and write)
[3]: var18_upvw (read and write)
]]
playAnimation("jump", 0.1, Humanoid_upvr)
var170_upvw = 0.31
var18_upvw = "Jumping"
end
function onClimbing(arg1) -- Line 786
--[[ Upvalues[2]:
[1]: Humanoid_upvr (readonly)
[2]: var18_upvw (read and write)
]]
playAnimation("climb", 0.1, Humanoid_upvr)
setAnimationSpeed(arg1 / 5)
var18_upvw = "Climbing"
end
function onGettingUp() -- Line 793
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "GettingUp"
end
function onFallingDown() -- Line 797
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "FallingDown"
end
function onSeated() -- Line 801
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "Seated"
end
function onPlatformStanding() -- Line 805
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "PlatformStanding"
end
function onSwimming(arg1) -- Line 812
--[[ Upvalues[2]:
[1]: Humanoid_upvr (readonly)
[2]: var18_upvw (read and write)
]]
if 1 < arg1 then
playAnimation("swim", 0.4, Humanoid_upvr)
setAnimationSpeed(arg1 / 10)
var18_upvw = "Swimming"
else
playAnimation("swimidle", 0.4, Humanoid_upvr)
var18_upvw = "Standing"
end
end
function animateTool() -- Line 824
--[[ Upvalues[2]:
[1]: var169_upvw (read and write)
[2]: Humanoid_upvr (readonly)
]]
if var169_upvw == "None" then
playToolAnimation("toolnone", 0.1, Humanoid_upvr, Enum.AnimationPriority.Idle)
else
if var169_upvw == "Slash" then
playToolAnimation("toolslash", 0, Humanoid_upvr, Enum.AnimationPriority.Action)
return
end
if var169_upvw == "Lunge" then
playToolAnimation("toollunge", 0, Humanoid_upvr, Enum.AnimationPriority.Action)
return
end
end
end
function getToolAnim(arg1) -- Line 841
for _, v_16 in ipairs(arg1:GetChildren()) do
if v_16.Name == "toolanim" and v_16.className == "StringValue" then
return v_16
end
end
return nil
end
local var259_upvw = 0
local var260_upvw = 0
function stepAnimate(arg1) -- Line 852
--[[ Upvalues[9]:
[1]: var259_upvw (read and write)
[2]: var170_upvw (read and write)
[3]: var18_upvw (read and write)
[4]: Humanoid_upvr (readonly)
[5]: updateVelocity_upvr (readonly)
[6]: Parent_upvr (readonly)
[7]: var169_upvw (read and write)
[8]: var260_upvw (read and write)
[9]: var248_upvw (read and write)
]]
var259_upvw = arg1
if 0 < var170_upvw then
var170_upvw -= arg1 - var259_upvw
end
if var18_upvw == "FreeFall" and var170_upvw <= 0 then
playAnimation("fall", 0.2, Humanoid_upvr)
else
if var18_upvw == "Seated" then
playAnimation("sit", 0.5, Humanoid_upvr)
return
end
if var18_upvw == "Running" then
playAnimation("walk", 0.2, Humanoid_upvr)
updateVelocity_upvr(arg1)
elseif var18_upvw == "Dead" or var18_upvw == "GettingUp" or var18_upvw == "FallingDown" or var18_upvw == "Seated" or var18_upvw == "PlatformStanding" then
stopAllAnimations()
end
end
local class_Tool = Parent_upvr:FindFirstChildOfClass("Tool")
if class_Tool and class_Tool:FindFirstChild("Handle") then
local getToolAnim_result1 = getToolAnim(class_Tool)
if getToolAnim_result1 then
var169_upvw = getToolAnim_result1.Value
getToolAnim_result1.Parent = nil
var260_upvw = arg1 + 0.3
end
if var260_upvw < arg1 then
var260_upvw = 0
var169_upvw = "None"
end
animateTool()
else
stopToolAnimations()
var169_upvw = "None"
var248_upvw = nil
var260_upvw = 0
end
end
Humanoid_upvr.Died:connect(onDied)
Humanoid_upvr.Running:connect(onRunning)
Humanoid_upvr.Climbing:connect(onClimbing)
Humanoid_upvr.GettingUp:connect(onGettingUp)
Humanoid_upvr.FallingDown:connect(onFallingDown)
Humanoid_upvr.Seated:connect(onSeated)
Humanoid_upvr.PlatformStanding:connect(onPlatformStanding)
Humanoid_upvr.Swimming:connect(onSwimming)
Humanoid_upvr.Changed:Connect(function(arg1) -- Line 917
--[[ Upvalues[2]:
[1]: var15_upvw (read and write)
[2]: Humanoid_upvr (readonly)
]]
if arg1 == "Jump" and var15_upvw then
Humanoid_upvr.Jump = false
end
end)
local References_upvr = var13.References
Humanoid_upvr.StateChanged:Connect(function(arg1, arg2) -- Line 923
--[[ Upvalues[3]:
[1]: var15_upvw (read and write)
[2]: Humanoid_upvr (readonly)
[3]: References_upvr (readonly)
]]
if arg2 == Enum.HumanoidStateType.Jumping then
local var271
if not var15_upvw then
var271 = "Sprinting"
if script:GetAttribute(var271) then
var271 = References_upvr.Main.animations.Player.Jump.Sprint
local any_LoadAnimation_result1_upvr = Humanoid_upvr:LoadAnimation(var271)
any_LoadAnimation_result1_upvr.Priority = Enum.AnimationPriority.Action3
any_LoadAnimation_result1_upvr:Play(0.2)
var271 = 0.2
task.wait(var271)
var15_upvw = true
local function INLINED_3() -- Internal function, doesn't exist in bytecode
var271 = any_LoadAnimation_result1_upvr.Length - 0.2
return var271
end
if 0.1 > any_LoadAnimation_result1_upvr.Length or not INLINED_3() then
var271 = 0.3
end
task.delay(var271, function() -- Line 934
--[[ Upvalues[2]:
[1]: any_LoadAnimation_result1_upvr (readonly)
[2]: var15_upvw (copied, read and write)
]]
any_LoadAnimation_result1_upvr:Stop(0.2)
task.wait(1)
var15_upvw = false
end)
return
end
any_LoadAnimation_result1_upvr = Humanoid_upvr:LoadAnimation(References_upvr.Main.animations.Player.Jump.Low)
local var274_upvr = any_LoadAnimation_result1_upvr
var274_upvr.Priority = Enum.AnimationPriority.Action3
var274_upvr:Play(0.2)
task.wait(0.2)
var15_upvw = true
if 0.1 > var274_upvr.Length or not (var274_upvr.Length - 1) then
end
task.delay(0.2, function() -- Line 947
--[[ Upvalues[2]:
[1]: var274_upvr (readonly)
[2]: var15_upvw (copied, read and write)
]]
var274_upvr:Stop(0.2)
task.wait(1)
var15_upvw = false
end)
end
end
end)
game:GetService("Players").LocalPlayer.Chatted:connect(function(arg1) -- Line 958
--[[ Upvalues[3]:
[1]: var18_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: Humanoid_upvr (readonly)
]]
local var277
if string.sub(arg1, 1, 3) == "/e " then
var277 = string.sub(arg1, 4)
elseif string.sub(arg1, 1, 7) == "/emote " then
var277 = string.sub(arg1, 8)
end
if var18_upvw == "Standing" and tbl_upvr[var277] ~= nil then
playAnimation(var277, 0.1, Humanoid_upvr)
end
end)
local var279_upvw = pcall_result1_2 and pcall_result2_2
script:WaitForChild("PlayEmote").OnInvoke = function(arg1) -- Line 972
--[[ Upvalues[5]:
[1]: var18_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: Humanoid_upvr (readonly)
[4]: var279_upvw (read and write)
[5]: var34_upvw (read and write)
]]
if var18_upvw ~= "Standing" then return end
if tbl_upvr[arg1] ~= nil then
playAnimation(arg1, 0.1, Humanoid_upvr)
if var279_upvw then
return true, var34_upvw
end
return true
end
if typeof(arg1) == "Instance" and arg1:IsA("Animation") then
playEmote(arg1, 0.1, Humanoid_upvr)
if var279_upvw then
return true, var34_upvw
end
return true
end
return false
end
if Parent_upvr.Parent ~= nil then
playAnimation("idle", 0.1, Humanoid_upvr)
var18_upvw = "Standing"
end
while Parent_upvr.Parent ~= nil do
local _, wait_result2 = wait(0.1)
stepAnimate(wait_result2)
end
-- [SERVER SCRIPT] Source hidden from client.
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:53:26
-- Luau version 6, Types version 3
-- Time taken: 0.063083 seconds
script:SetAttribute("Init", true)
local var13
local scriptChildModified
if game:GetService("AssetService"):FindFirstChild("engine") then
var13 = require(game:GetService("AssetService").engine)
else
var13 = require(game:GetService("ReplicatedStorage").engine)
end
local var15_upvw = false
local Parent_upvr = script.Parent
local Humanoid_upvr = Parent_upvr:WaitForChild("Humanoid")
local var18_upvw = "Standing"
local _, _ = pcall(function() -- Line 20
return UserSettings():IsUserFeatureEnabled("UserNoUpdateOnLoop")
end)
local pcall_result1, pcall_result2 = pcall(function() -- Line 24
return UserSettings():IsUserFeatureEnabled("UserEmoteToRunThresholdChange")
end)
local pcall_result1_2, pcall_result2_2 = pcall(function() -- Line 31
return UserSettings():IsUserFeatureEnabled("UserPlayEmoteByIdAnimTrackReturn2")
end)
local var28_upvw = 0
local var29_upvw = 0
local tbl_7_upvw = {
x = 0;
y = 0;
}
local var31_upvw = 0
local var32_upvw = ""
local var33_upvw
local var34_upvw
local var35_upvw
local var36_upvw = 1
local tbl_5_upvr = {}
local tbl_4_upvr = {
idle = {{
id = "http://www.roblox.com/asset/?id=507766666";
weight = 1;
}, {
id = "http://www.roblox.com/asset/?id=507766951";
weight = 1;
}, {
id = "http://www.roblox.com/asset/?id=507766388";
weight = 9;
}};
walk = {{
id = "http://www.roblox.com/asset/?id=507777826";
weight = 10;
}};
run = {{
id = "http://www.roblox.com/asset/?id=507767714";
weight = 10;
}};
swim = {{
id = "http://www.roblox.com/asset/?id=507784897";
weight = 10;
}};
swimidle = {{
id = "http://www.roblox.com/asset/?id=507785072";
weight = 10;
}};
jump = {{
id = "http://www.roblox.com/asset/?id=507765000";
weight = 10;
}};
fall = {{
id = "http://www.roblox.com/asset/?id=507767968";
weight = 10;
}};
climb = {{
id = "http://www.roblox.com/asset/?id=507765644";
weight = 10;
}};
sit = {{
id = "http://www.roblox.com/asset/?id=2506281703";
weight = 10;
}};
toolnone = {{
id = "http://www.roblox.com/asset/?id=507768375";
weight = 10;
}};
toolslash = {{
id = "http://www.roblox.com/asset/?id=522635514";
weight = 10;
}};
toollunge = {{
id = "http://www.roblox.com/asset/?id=522638767";
weight = 10;
}};
wave = {{
id = "http://www.roblox.com/asset/?id=507770239";
weight = 10;
}};
point = {{
id = "http://www.roblox.com/asset/?id=507770453";
weight = 10;
}};
dance = {{
id = "http://www.roblox.com/asset/?id=507771019";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507771955";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507772104";
weight = 10;
}};
dance2 = {{
id = "http://www.roblox.com/asset/?id=507776043";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507776720";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507776879";
weight = 10;
}};
dance3 = {{
id = "http://www.roblox.com/asset/?id=507777268";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507777451";
weight = 10;
}, {
id = "http://www.roblox.com/asset/?id=507777623";
weight = 10;
}};
laugh = {{
id = "http://www.roblox.com/asset/?id=507770818";
weight = 10;
}};
cheer = {{
id = "http://www.roblox.com/asset/?id=507770677";
weight = 10;
}};
}
local tbl_6_upvr = {}
local tbl_2_upvr = {}
local var87_upvw = tbl_6_upvr
local tbl_upvr = {
wave = false;
point = false;
dance = true;
dance2 = true;
dance3 = true;
laugh = false;
cheer = false;
}
math.randomseed(tick())
function findExistingAnimationInSet(arg1, arg2) -- Line 139
if arg1 == nil or arg2 == nil then
return 0
end
for i = 1, arg1.count do
if arg1[i].anim.AnimationId == arg2.AnimationId then
return i
end
end
return 0
end
local function destroyWalkAnimations_upvr() -- Line 153, Named "destroyWalkAnimations"
--[[ Upvalues[3]:
[1]: tbl_6_upvr (readonly)
[2]: tbl_2_upvr (readonly)
[3]: var29_upvw (read and write)
]]
for _, v in pairs(tbl_6_upvr) do
if v.track then
v.track:Stop()
v.track:Destroy()
v.track = nil
end
end
for _, v_2 in pairs(tbl_2_upvr) do
if v_2.track then
v_2.track:Stop()
v_2.track:Destroy()
v_2.track = nil
end
end
var29_upvw = 0
end
local var100_upvw
local var101_upvw
local var102_upvw
local var103_upvw
local function _(arg1) -- Line 174, Named "resetVelocityBounds"
--[[ Upvalues[4]:
[1]: var101_upvw (read and write)
[2]: var100_upvw (read and write)
[3]: var103_upvw (read and write)
[4]: var102_upvw (read and write)
]]
var101_upvw = 0
var100_upvw = 0
var103_upvw = 0
var102_upvw = 0
end
local function _(arg1) -- Line 181, Named "updateVelocityBounds"
--[[ Upvalues[4]:
[1]: var100_upvw (read and write)
[2]: var102_upvw (read and write)
[3]: var101_upvw (read and write)
[4]: var103_upvw (read and write)
]]
if arg1 then
if var100_upvw < arg1.x then
var100_upvw = arg1.x
end
if var102_upvw < arg1.y then
var102_upvw = arg1.y
end
if arg1.x < var101_upvw then
var101_upvw = arg1.x
end
if arg1.y < var103_upvw then
var103_upvw = arg1.y
end
end
end
local function checkStrafingEnabled_upvr(arg1) -- Line 190, Named "checkStrafingEnabled"
--[[ Upvalues[7]:
[1]: var100_upvw (read and write)
[2]: var101_upvw (read and write)
[3]: var102_upvw (read and write)
[4]: var103_upvw (read and write)
[5]: var87_upvw (read and write)
[6]: tbl_6_upvr (readonly)
[7]: tbl_2_upvr (readonly)
]]
if var100_upvw == 0 or var101_upvw == 0 or var102_upvw == 0 or var103_upvw == 0 then
if var87_upvw == tbl_6_upvr then
warn("Strafe blending disabled. Not all quadrants of motion represented.")
end
var87_upvw = tbl_2_upvr
else
if not tbl_6_upvr.run or not tbl_6_upvr.walk then
if var87_upvw == tbl_6_upvr then
warn("Strafe blending disabled. Run and walk must be strafing-friendly.")
end
var87_upvw = tbl_2_upvr
return
end
if var87_upvw ~= tbl_6_upvr then
var87_upvw = tbl_6_upvr
warn("Strafing reenabled")
end
end
end
local function setupWalkAnimations_upvr() -- Line 209, Named "setupWalkAnimations"
--[[ Upvalues[9]:
[1]: var101_upvw (read and write)
[2]: var100_upvw (read and write)
[3]: var103_upvw (read and write)
[4]: var102_upvw (read and write)
[5]: tbl_6_upvr (readonly)
[6]: checkStrafingEnabled_upvr (readonly)
[7]: var87_upvw (read and write)
[8]: Humanoid_upvr (readonly)
[9]: tbl_5_upvr (readonly)
]]
var101_upvw = 0
var100_upvw = 0
var103_upvw = 0
var102_upvw = 0
for _, v_3 in pairs(tbl_6_upvr) do
local lv = v_3.lv
if lv then
if var100_upvw < lv.x then
var100_upvw = lv.x
end
if var102_upvw < lv.y then
var102_upvw = lv.y
end
if lv.x < var101_upvw then
var101_upvw = lv.x
end
if lv.y < var103_upvw then
var103_upvw = lv.y
end
end
end
checkStrafingEnabled_upvr()
for i_5, v_4 in pairs(var87_upvw) do
v_4.track = Humanoid_upvr:LoadAnimation(tbl_5_upvr[i_5][1].anim)
v_4.track.Priority = Enum.AnimationPriority.Action
end
end
local function replaceLocomotionTrack_upvr(arg1, arg2) -- Line 222, Named "replaceLocomotionTrack"
--[[ Upvalues[7]:
[1]: var32_upvw (read and write)
[2]: var87_upvw (read and write)
[3]: destroyWalkAnimations_upvr (readonly)
[4]: tbl_6_upvr (readonly)
[5]: tbl_2_upvr (readonly)
[6]: setupWalkAnimations_upvr (readonly)
[7]: var31_upvw (read and write)
]]
local var115
if var32_upvw == "walk" and var87_upvw[arg1] then
destroyWalkAnimations_upvr()
var115 = true
end
if arg2 then
local tbl = {}
tbl.lv = arg2
tbl.speed = arg2.Magnitude
tbl_6_upvr[arg1] = tbl
else
tbl_6_upvr[arg1] = nil
end
local function INLINED() -- Internal function, doesn't exist in bytecode
local var117
return arg1 == "walk"
end
if arg1 == "run" or INLINED() then
if arg2 then
var117 = tbl_2_upvr
var117[arg1] = tbl_6_upvr[arg1]
else
if arg1 == "run" then
var117 = 12.8
else
var117 = 6.4
end
tbl_2_upvr[arg1] = {
lv = Vector2.new(0, var117);
speed = var117;
}
tbl_6_upvr[arg1] = nil
end
end
if var115 then
setupWalkAnimations_upvr()
var31_upvw = 0
end
end
local tbl_upvr_2 = {}
function scriptChildModified(arg1, arg2) -- Line 250, Named "configureAnimationSet"
--[[ Upvalues[4]:
[1]: tbl_5_upvr (readonly)
[2]: replaceLocomotionTrack_upvr (readonly)
[3]: tbl_upvr_2 (readonly)
[4]: Humanoid_upvr (readonly)
]]
if tbl_5_upvr[arg1] ~= nil then
for _, v_5 in pairs(tbl_5_upvr[arg1].connections) do
v_5:disconnect()
end
end
tbl_5_upvr[arg1] = {}
tbl_5_upvr[arg1].count = 0
tbl_5_upvr[arg1].totalWeight = 0
tbl_5_upvr[arg1].connections = {}
local SOME = script:FindFirstChild(arg1)
if SOME ~= nil then
table.insert(tbl_5_upvr[arg1].connections, SOME.ChildAdded:connect(function(arg1_2) -- Line 264
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
table.insert(tbl_5_upvr[arg1].connections, SOME.ChildRemoved:connect(function(arg1_3) -- Line 265
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
for _, v_6 in pairs(SOME:GetChildren()) do
if v_6:IsA("Animation") then
local var147 = 1
local Weight = v_6:FindFirstChild("Weight")
if Weight ~= nil then
var147 = Weight.Value
end
tbl_5_upvr[arg1].count = tbl_5_upvr[arg1].count + 1
local count = tbl_5_upvr[arg1].count
tbl_5_upvr[arg1][count] = {}
tbl_5_upvr[arg1][count].anim = v_6
tbl_5_upvr[arg1][count].weight = var147
tbl_5_upvr[arg1].totalWeight = tbl_5_upvr[arg1].totalWeight + tbl_5_upvr[arg1][count].weight
table.insert(tbl_5_upvr[arg1].connections, v_6.Changed:connect(function(arg1_4) -- Line 282
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
table.insert(tbl_5_upvr[arg1].connections, v_6.ChildAdded:connect(function(arg1_5) -- Line 283
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
table.insert(tbl_5_upvr[arg1].connections, v_6.ChildRemoved:connect(function(arg1_6) -- Line 284
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
configureAnimationSet(arg1, arg2)
end))
replaceLocomotionTrack_upvr(arg1, v_6:GetAttribute("LinearVelocity"))
end
end
end
if tbl_5_upvr[arg1].count <= 0 then
for i_8, v_7 in pairs(arg2) do
v_6 = tbl_5_upvr[arg1]
v_6[i_8] = {}
v_6 = tbl_5_upvr[arg1][i_8]
v_6.anim = Instance.new("Animation")
v_6 = tbl_5_upvr[arg1][i_8].anim
v_6.Name = arg1
v_6 = tbl_5_upvr[arg1][i_8].anim
v_6.AnimationId = v_7.id
v_6 = tbl_5_upvr[arg1][i_8]
v_6.weight = v_7.weight
v_6 = tbl_5_upvr[arg1]
v_6.count = tbl_5_upvr[arg1].count + 1
v_6 = tbl_5_upvr[arg1]
v_6.totalWeight = tbl_5_upvr[arg1].totalWeight + v_7.weight
end
end
for _, v_8 in pairs(tbl_5_upvr) do
for i_10 = 1, v_8.count do
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if tbl_upvr_2[v_8[i_10].anim.AnimationId] == nil then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
Humanoid_upvr:LoadAnimation(v_8[i_10].anim)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
tbl_upvr_2[v_8[i_10].anim.AnimationId] = true
end
end
end
end
configureAnimationSet = scriptChildModified -- Setting global
function scriptChildModified(arg1) -- Line 317
--[[ Upvalues[1]:
[1]: tbl_4_upvr (readonly)
]]
local var159 = tbl_4_upvr[arg1.Name]
if var159 ~= nil then
configureAnimationSet(arg1.Name, var159)
elseif arg1:isA("StringValue") then
tbl_4_upvr[arg1.Name] = {}
configureAnimationSet(arg1.Name, tbl_4_upvr[arg1.Name])
end
end
scriptChildModified = scriptChildModified -- Setting global
scriptChildModified = script.ChildAdded:connect
scriptChildModified(scriptChildModified)
scriptChildModified = script.ChildRemoved:connect
scriptChildModified(scriptChildModified)
if Humanoid_upvr then
scriptChildModified = Humanoid_upvr:FindFirstChildOfClass("Animator")
else
scriptChildModified = nil
end
if scriptChildModified then
for _, v_9 in ipairs(scriptChildModified:GetPlayingAnimationTracks()) do
v_9:Stop(0)
v_9:Destroy()
end
end
for i_12, _ in pairs(tbl_4_upvr) do
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [552.44]
configureAnimationSet(i_12, nil)
end
for _, v_11 in script:GetChildren() do
if v_11:isA("StringValue") then
tbl_4_upvr[v_11.Name] = {}
configureAnimationSet(v_11.Name, tbl_4_upvr[v_11.Name])
end
end
local var169_upvw = "None"
local var170_upvw = 0
local var171_upvw = false
function stopAllAnimations() -- Line 369
--[[ Upvalues[7]:
[1]: var32_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: var171_upvw (read and write)
[4]: var33_upvw (read and write)
[5]: var35_upvw (read and write)
[6]: var34_upvw (read and write)
[7]: var87_upvw (read and write)
]]
local var176
if tbl_upvr[var32_upvw] ~= nil and tbl_upvr[var176] == false then
var176 = "idle"
end
if var171_upvw then
var176 = "idle"
var171_upvw = false
end
var32_upvw = ""
var33_upvw = nil
if var35_upvw ~= nil then
var35_upvw:disconnect()
end
if var34_upvw ~= nil then
var34_upvw:Stop()
var34_upvw:Destroy()
var34_upvw = nil
end
for _, v_12 in pairs(var87_upvw) do
if v_12.track then
v_12.track:Stop()
v_12.track:Destroy()
v_12.track = nil
end
end
return var176
end
local ScaleDampeningPercent_upvw = script:FindFirstChild("ScaleDampeningPercent")
function getHeightScale() -- Line 405
--[[ Upvalues[2]:
[1]: Humanoid_upvr (readonly)
[2]: ScaleDampeningPercent_upvw (read and write)
]]
local var181
if var181 then
var181 = Humanoid_upvr.AutomaticScalingEnabled
if not var181 then
var181 = 1
return var181
end
var181 = Humanoid_upvr.HipHeight / 2
if ScaleDampeningPercent_upvw == nil then
ScaleDampeningPercent_upvw = script:FindFirstChild("ScaleDampeningPercent")
end
if ScaleDampeningPercent_upvw ~= nil then
var181 = 1 + (Humanoid_upvr.HipHeight - 2) * ScaleDampeningPercent_upvw.Value / 2
end
return var181
end
return 1
end
local function _(arg1, arg2) -- Line 424, Named "signedAngle"
return -math.atan2(arg1.x * arg2.y - arg1.y * arg2.x, arg1.x * arg2.x + arg1.y * arg2.y)
end
local function get2DWeight_upvr(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 429, Named "get2DWeight"
local var182 = 0.5 * (arg5 + arg6)
local module_2 = {
x = (arg4 - arg5) / var182;
y = 2 * -math.atan2(arg2.x * arg1.y - arg2.y * arg1.x, arg2.x * arg1.x + arg2.y * arg1.y);
}
local module = {
x = (arg6 - arg5) / var182;
y = 2 * -math.atan2(arg2.x * arg3.y - arg2.y * arg3.x, arg2.x * arg3.x + arg2.y * arg3.y);
}
return math.clamp(1 - (module_2.x * module.x + module_2.y * module.y) / ((0.0001) + (module.x * module.x + module.y * module.y)), 0, 1)
end
local function blend2D_upvr(arg1, arg2) -- Line 440, Named "blend2D"
--[[ Upvalues[2]:
[1]: var87_upvw (read and write)
[2]: get2DWeight_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 95 start (CF ANALYSIS FAILED)
local tbl_3 = {}
local var213
for i_15, v_13 in pairs(var87_upvw) do
if arg1.x * v_13.lv.x < 0 or arg1.y * v_13.lv.y < 0 then
tbl_3[i_15] = 0
else
tbl_3[i_15] = math.huge
for _, v_14 in pairs(var87_upvw) do
if arg1.x * v_14.lv.x >= 0 and arg1.y * v_14.lv.y >= 0 then
tbl_3[i_15] = math.min(tbl_3[i_15], get2DWeight_upvr(arg1, v_13.lv, v_14.lv, arg2, v_13.speed, v_14.speed))
end
end
var213 += tbl_3[i_15]
end
end
local pairs_result1_4, pairs_result2_10, pairs_result3_10 = pairs(var87_upvw)
for i_17, v_15 in pairs_result1_4, pairs_result2_10, pairs_result3_10 do
if 0.1 < tbl_3[i_17] / var213 then
local var220 = 0 + tbl_3[i_17] * v_15.lv.x
local var222 = 0 + tbl_3[i_17] * v_15.lv.y
else
tbl_3[i_17] = 0
end
end
pairs_result1_4 = nil
local var223 = pairs_result1_4
local var224 = var220 * var220 + var222 * var222
if 0.0001 < var224 then
var223 = math.sqrt(arg2 * arg2 / var224)
else
var223 = 0
end
local pairs_result1_6, pairs_result2_7, pairs_result3_8 = pairs(var87_upvw)
-- KONSTANTERROR: [0] 1. Error Block 95 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [153] 112. Error Block 27 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [153] 112. Error Block 27 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [143] 106. Error Block 83 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if v_15.lv then
local _, _, _ = pairs(var87_upvw)
-- KONSTANTWARNING: GOTO [160] #117
end
-- KONSTANTERROR: [143] 106. Error Block 83 end (CF ANALYSIS FAILED)
end
local function getWalkDirection_upvr() -- Line 522, Named "getWalkDirection"
--[[ Upvalues[1]:
[1]: Humanoid_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local WalkToPoint_2 = Humanoid_upvr.WalkToPoint
local WalkToPart = Humanoid_upvr.WalkToPart
if Humanoid_upvr.MoveDirection ~= Vector3.new(0, 0, 0) then
do
return Humanoid_upvr.MoveDirection
end
local _
end
if WalkToPart or WalkToPoint_2 ~= Vector3.new(0, 0, 0) then
if WalkToPart then
else
end
if Humanoid_upvr.RootPart then
local var240 = WalkToPoint_2 - Humanoid_upvr.RootPart.CFrame.Position
local vector3 = Vector3.new(var240.x, 0, var240.z)
local Magnitude_2 = vector3.Magnitude
if 0.01 < Magnitude_2 then
end
end
return vector3 / Magnitude_2
end
return Humanoid_upvr.MoveDirection
end
local function updateVelocity_upvr(arg1) -- Line 549, Named "updateVelocity"
--[[ Upvalues[10]:
[1]: var87_upvw (read and write)
[2]: tbl_6_upvr (readonly)
[3]: getWalkDirection_upvr (readonly)
[4]: Humanoid_upvr (readonly)
[5]: var18_upvw (read and write)
[6]: var28_upvw (read and write)
[7]: tbl_7_upvw (read and write)
[8]: var29_upvw (read and write)
[9]: var31_upvw (read and write)
[10]: blend2D_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [130] 93. Error Block 29 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [130.7]
tbl_7_upvw = nil
var29_upvw = var28_upvw
var31_upvw = arg1
blend2D_upvr(tbl_7_upvw, var29_upvw)
do
return
end
-- KONSTANTERROR: [130] 93. Error Block 29 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [139] 102. Error Block 31 start (CF ANALYSIS FAILED)
if 0.01 < math.abs(var28_upvw - var29_upvw) or 1 < arg1 - var31_upvw then
var29_upvw = var28_upvw
var31_upvw = arg1
blend2D_upvr(Vector2.yAxis, var29_upvw)
end
-- KONSTANTERROR: [139] 102. Error Block 31 end (CF ANALYSIS FAILED)
end
function setAnimationSpeed(arg1) -- Line 597
--[[ Upvalues[3]:
[1]: var32_upvw (read and write)
[2]: var36_upvw (read and write)
[3]: var34_upvw (read and write)
]]
if var32_upvw ~= "walk" and arg1 ~= var36_upvw then
var36_upvw = arg1
var34_upvw:AdjustSpeed(var36_upvw)
end
end
function keyFrameReachedFunc(arg1) -- Line 606
--[[ Upvalues[6]:
[1]: var32_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: var171_upvw (read and write)
[4]: var34_upvw (read and write)
[5]: var36_upvw (read and write)
[6]: Humanoid_upvr (readonly)
]]
if arg1 == "End" then
local var243
if tbl_upvr[var32_upvw] ~= nil and tbl_upvr[var243] == false then
var243 = "idle"
end
if var171_upvw then
if var34_upvw.Looped then return end
var243 = "idle"
var171_upvw = false
end
playAnimation(var243, 0.15, Humanoid_upvr)
setAnimationSpeed(var36_upvw)
end
end
function rollAnimation(arg1) -- Line 630
--[[ Upvalues[1]:
[1]: tbl_5_upvr (readonly)
]]
local var245
while tbl_5_upvr[arg1][var245].weight < math.random(1, tbl_5_upvr[arg1].totalWeight) do
var245 += 1
end
return var245
end
local function switchToAnim_upvr(arg1, arg2, arg3, arg4) -- Line 641, Named "switchToAnim"
--[[ Upvalues[7]:
[1]: var33_upvw (read and write)
[2]: var34_upvw (read and write)
[3]: var35_upvw (read and write)
[4]: var36_upvw (read and write)
[5]: var32_upvw (read and write)
[6]: setupWalkAnimations_upvr (readonly)
[7]: destroyWalkAnimations_upvr (readonly)
]]
if arg1 ~= var33_upvw then
if var34_upvw ~= nil then
var34_upvw:Stop(arg3)
var34_upvw:Destroy()
end
if var35_upvw ~= nil then
var35_upvw:disconnect()
end
if arg2 == "idle" then
script:SetAttribute("WalkDirection", "Idle")
end
var36_upvw = 1
var32_upvw = arg2
var33_upvw = arg1
if arg2 == "walk" then
setupWalkAnimations_upvr()
return
end
destroyWalkAnimations_upvr()
var34_upvw = arg4:LoadAnimation(arg1)
var34_upvw.Priority = Enum.AnimationPriority.Core
var34_upvw:Play(arg3)
var35_upvw = var34_upvw.KeyframeReached:connect(keyFrameReachedFunc)
end
end
function playAnimation(arg1, arg2, arg3) -- Line 677
--[[ Upvalues[3]:
[1]: tbl_5_upvr (readonly)
[2]: switchToAnim_upvr (readonly)
[3]: var171_upvw (read and write)
]]
switchToAnim_upvr(tbl_5_upvr[arg1][rollAnimation(arg1)].anim, arg1, arg2, arg3)
var171_upvw = false
end
function playEmote(arg1, arg2, arg3) -- Line 685
--[[ Upvalues[2]:
[1]: switchToAnim_upvr (readonly)
[2]: var171_upvw (read and write)
]]
switchToAnim_upvr(arg1, arg1.Name, arg2, arg3)
var171_upvw = true
end
local var246_upvw = ""
local var247_upvw
local var248_upvw
local var249_upvw
function toolKeyFrameReachedFunc(arg1) -- Line 698
--[[ Upvalues[2]:
[1]: var246_upvw (read and write)
[2]: Humanoid_upvr (readonly)
]]
if arg1 == "End" then
playToolAnimation(var246_upvw, 0, Humanoid_upvr)
end
end
function playToolAnimation(arg1, arg2, arg3, arg4) -- Line 705
--[[ Upvalues[5]:
[1]: tbl_5_upvr (readonly)
[2]: var248_upvw (read and write)
[3]: var247_upvw (read and write)
[4]: var246_upvw (read and write)
[5]: var249_upvw (read and write)
]]
local anim = tbl_5_upvr[arg1][rollAnimation(arg1)].anim
local var251
if var248_upvw ~= anim then
if var247_upvw ~= nil then
var247_upvw:Stop()
var247_upvw:Destroy()
var251 = 0
end
var247_upvw = arg3:LoadAnimation(anim)
if arg4 then
var247_upvw.Priority = arg4
end
var247_upvw:Play(var251)
var246_upvw = arg1
var248_upvw = anim
var249_upvw = var247_upvw.KeyframeReached:connect(toolKeyFrameReachedFunc)
end
end
function stopToolAnimations() -- Line 732
--[[ Upvalues[4]:
[1]: var246_upvw (read and write)
[2]: var249_upvw (read and write)
[3]: var248_upvw (read and write)
[4]: var247_upvw (read and write)
]]
if var249_upvw ~= nil then
var249_upvw:disconnect()
end
var246_upvw = ""
var248_upvw = nil
if var247_upvw ~= nil then
var247_upvw:Stop()
var247_upvw:Destroy()
var247_upvw = nil
end
return var246_upvw
end
local var252_upvw = pcall_result1 and pcall_result2
function onRunning(arg1) -- Line 754
--[[ Upvalues[8]:
[1]: var252_upvw (read and write)
[2]: var171_upvw (read and write)
[3]: Humanoid_upvr (readonly)
[4]: var28_upvw (read and write)
[5]: var18_upvw (read and write)
[6]: updateVelocity_upvr (readonly)
[7]: tbl_upvr (readonly)
[8]: var32_upvw (read and write)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local var253
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [2] 3. Error Block 2 start (CF ANALYSIS FAILED)
var253 = var171_upvw
-- KONSTANTERROR: [2] 3. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [4] 5. Error Block 20 start (CF ANALYSIS FAILED)
if Humanoid_upvr.MoveDirection ~= Vector3.new(0, 0, 0) then
var253 = false
else
var253 = true
end
-- KONSTANTERROR: [4] 5. Error Block 20 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [12] 11. Error Block 19 start (CF ANALYSIS FAILED)
if not var253 or not Humanoid_upvr.WalkSpeed then
end
var28_upvw = arg1
-- KONSTANTERROR: [12] 11. Error Block 19 end (CF ANALYSIS FAILED)
end
function onDied() -- Line 776
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "Dead"
end
function onJumping() -- Line 780
--[[ Upvalues[3]:
[1]: Humanoid_upvr (readonly)
[2]: var170_upvw (read and write)
[3]: var18_upvw (read and write)
]]
playAnimation("jump", 0.1, Humanoid_upvr)
var170_upvw = 0.31
var18_upvw = "Jumping"
end
function onClimbing(arg1) -- Line 786
--[[ Upvalues[2]:
[1]: Humanoid_upvr (readonly)
[2]: var18_upvw (read and write)
]]
playAnimation("climb", 0.1, Humanoid_upvr)
setAnimationSpeed(arg1 / 5)
var18_upvw = "Climbing"
end
function onGettingUp() -- Line 793
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "GettingUp"
end
function onFallingDown() -- Line 797
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "FallingDown"
end
function onSeated() -- Line 801
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "Seated"
end
function onPlatformStanding() -- Line 805
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
var18_upvw = "PlatformStanding"
end
function onSwimming(arg1) -- Line 812
--[[ Upvalues[2]:
[1]: Humanoid_upvr (readonly)
[2]: var18_upvw (read and write)
]]
if 1 < arg1 then
playAnimation("swim", 0.4, Humanoid_upvr)
setAnimationSpeed(arg1 / 10)
var18_upvw = "Swimming"
else
playAnimation("swimidle", 0.4, Humanoid_upvr)
var18_upvw = "Standing"
end
end
function animateTool() -- Line 824
--[[ Upvalues[2]:
[1]: var169_upvw (read and write)
[2]: Humanoid_upvr (readonly)
]]
if var169_upvw == "None" then
playToolAnimation("toolnone", 0.1, Humanoid_upvr, Enum.AnimationPriority.Idle)
else
if var169_upvw == "Slash" then
playToolAnimation("toolslash", 0, Humanoid_upvr, Enum.AnimationPriority.Action)
return
end
if var169_upvw == "Lunge" then
playToolAnimation("toollunge", 0, Humanoid_upvr, Enum.AnimationPriority.Action)
return
end
end
end
function getToolAnim(arg1) -- Line 841
for _, v_16 in ipairs(arg1:GetChildren()) do
if v_16.Name == "toolanim" and v_16.className == "StringValue" then
return v_16
end
end
return nil
end
local var259_upvw = 0
local var260_upvw = 0
function stepAnimate(arg1) -- Line 852
--[[ Upvalues[9]:
[1]: var259_upvw (read and write)
[2]: var170_upvw (read and write)
[3]: var18_upvw (read and write)
[4]: Humanoid_upvr (readonly)
[5]: updateVelocity_upvr (readonly)
[6]: Parent_upvr (readonly)
[7]: var169_upvw (read and write)
[8]: var260_upvw (read and write)
[9]: var248_upvw (read and write)
]]
var259_upvw = arg1
if 0 < var170_upvw then
var170_upvw -= arg1 - var259_upvw
end
if var18_upvw == "FreeFall" and var170_upvw <= 0 then
playAnimation("fall", 0.2, Humanoid_upvr)
else
if var18_upvw == "Seated" then
playAnimation("sit", 0.5, Humanoid_upvr)
return
end
if var18_upvw == "Running" then
playAnimation("walk", 0.2, Humanoid_upvr)
updateVelocity_upvr(arg1)
elseif var18_upvw == "Dead" or var18_upvw == "GettingUp" or var18_upvw == "FallingDown" or var18_upvw == "Seated" or var18_upvw == "PlatformStanding" then
stopAllAnimations()
end
end
local class_Tool = Parent_upvr:FindFirstChildOfClass("Tool")
if class_Tool and class_Tool:FindFirstChild("Handle") then
local getToolAnim_result1 = getToolAnim(class_Tool)
if getToolAnim_result1 then
var169_upvw = getToolAnim_result1.Value
getToolAnim_result1.Parent = nil
var260_upvw = arg1 + 0.3
end
if var260_upvw < arg1 then
var260_upvw = 0
var169_upvw = "None"
end
animateTool()
else
stopToolAnimations()
var169_upvw = "None"
var248_upvw = nil
var260_upvw = 0
end
end
Humanoid_upvr.Died:connect(onDied)
Humanoid_upvr.Running:connect(onRunning)
Humanoid_upvr.Climbing:connect(onClimbing)
Humanoid_upvr.GettingUp:connect(onGettingUp)
Humanoid_upvr.FallingDown:connect(onFallingDown)
Humanoid_upvr.Seated:connect(onSeated)
Humanoid_upvr.PlatformStanding:connect(onPlatformStanding)
Humanoid_upvr.Swimming:connect(onSwimming)
Humanoid_upvr.Changed:Connect(function(arg1) -- Line 917
--[[ Upvalues[2]:
[1]: var15_upvw (read and write)
[2]: Humanoid_upvr (readonly)
]]
if arg1 == "Jump" and var15_upvw then
Humanoid_upvr.Jump = false
end
end)
local References_upvr = var13.References
Humanoid_upvr.StateChanged:Connect(function(arg1, arg2) -- Line 923
--[[ Upvalues[3]:
[1]: var15_upvw (read and write)
[2]: Humanoid_upvr (readonly)
[3]: References_upvr (readonly)
]]
if arg2 == Enum.HumanoidStateType.Jumping then
local var271
if not var15_upvw then
var271 = "Sprinting"
if script:GetAttribute(var271) then
var271 = References_upvr.Main.animations.Player.Jump.Sprint
local any_LoadAnimation_result1_upvr = Humanoid_upvr:LoadAnimation(var271)
any_LoadAnimation_result1_upvr.Priority = Enum.AnimationPriority.Action3
any_LoadAnimation_result1_upvr:Play(0.2)
var271 = 0.2
task.wait(var271)
var15_upvw = true
local function INLINED_3() -- Internal function, doesn't exist in bytecode
var271 = any_LoadAnimation_result1_upvr.Length - 0.2
return var271
end
if 0.1 > any_LoadAnimation_result1_upvr.Length or not INLINED_3() then
var271 = 0.3
end
task.delay(var271, function() -- Line 934
--[[ Upvalues[2]:
[1]: any_LoadAnimation_result1_upvr (readonly)
[2]: var15_upvw (copied, read and write)
]]
any_LoadAnimation_result1_upvr:Stop(0.2)
task.wait(1)
var15_upvw = false
end)
return
end
any_LoadAnimation_result1_upvr = Humanoid_upvr:LoadAnimation(References_upvr.Main.animations.Player.Jump.Low)
local var274_upvr = any_LoadAnimation_result1_upvr
var274_upvr.Priority = Enum.AnimationPriority.Action3
var274_upvr:Play(0.2)
task.wait(0.2)
var15_upvw = true
if 0.1 > var274_upvr.Length or not (var274_upvr.Length - 1) then
end
task.delay(0.2, function() -- Line 947
--[[ Upvalues[2]:
[1]: var274_upvr (readonly)
[2]: var15_upvw (copied, read and write)
]]
var274_upvr:Stop(0.2)
task.wait(1)
var15_upvw = false
end)
end
end
end)
game:GetService("Players").LocalPlayer.Chatted:connect(function(arg1) -- Line 958
--[[ Upvalues[3]:
[1]: var18_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: Humanoid_upvr (readonly)
]]
local var277
if string.sub(arg1, 1, 3) == "/e " then
var277 = string.sub(arg1, 4)
elseif string.sub(arg1, 1, 7) == "/emote " then
var277 = string.sub(arg1, 8)
end
if var18_upvw == "Standing" and tbl_upvr[var277] ~= nil then
playAnimation(var277, 0.1, Humanoid_upvr)
end
end)
local var279_upvw = pcall_result1_2 and pcall_result2_2
script:WaitForChild("PlayEmote").OnInvoke = function(arg1) -- Line 972
--[[ Upvalues[5]:
[1]: var18_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: Humanoid_upvr (readonly)
[4]: var279_upvw (read and write)
[5]: var34_upvw (read and write)
]]
if var18_upvw ~= "Standing" then return end
if tbl_upvr[arg1] ~= nil then
playAnimation(arg1, 0.1, Humanoid_upvr)
if var279_upvw then
return true, var34_upvw
end
return true
end
if typeof(arg1) == "Instance" and arg1:IsA("Animation") then
playEmote(arg1, 0.1, Humanoid_upvr)
if var279_upvw then
return true, var34_upvw
end
return true
end
return false
end
if Parent_upvr.Parent ~= nil then
playAnimation("idle", 0.1, Humanoid_upvr)
var18_upvw = "Standing"
end
while Parent_upvr.Parent ~= nil do
local _, wait_result2 = wait(0.1)
stepAnimate(wait_result2)
end
-- [SERVER SCRIPT] Source hidden from client.
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:53:28
-- Luau version 6, Types version 3
-- Time taken: 0.005540 seconds
local module_upvr = {
Random = Random.new(tick());
Module = script;
Utils = script:WaitForChild("utils");
Classes = script:WaitForChild("classes");
Modules = script:WaitForChild("modules");
Services = require(script:WaitForChild("services"));
References = require(script:WaitForChild("references"));
}
function module_upvr._init(arg1) -- Line 11
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
local tick_result1 = tick()
for i, v_upvr in next, module_upvr.Services.ServerScriptService:WaitForChild("modules"):GetChildren() do
if v_upvr:IsA("ModuleScript") and require(v_upvr)._init then
local var8_upvw = false
task.delay(15, function() -- Line 18
--[[ Upvalues[2]:
[1]: var8_upvw (read and write)
[2]: v_upvr (readonly)
]]
if not var8_upvw then
warn(string.format("Engine:_init | Module '%s' is taking too long to load!", v_upvr.Name))
end
end)
if v_upvr.Name == "servers" then
task.spawn(function() -- Line 25
--[[ Upvalues[1]:
[1]: v_upvr (readonly)
]]
end)
else
end
var8_upvw = true
end
end
if module_upvr.Services.RunService:IsServer() then
v_upvr = tick() - tick_result1
i = tostring(v_upvr)
warn(string.format("Engine.Server | Modules intialized, time taken: %s", i))
elseif module_upvr.Services.RunService:IsClient() then
v_upvr = tick() - tick_result1
i = tostring(v_upvr)
warn(string.format("Engine.Client | Modules intialized, time taken: %s", i))
end
end
function module_upvr.load(arg1, arg2, arg3) -- Line 43
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 15 start (CF ANALYSIS FAILED)
assert(arg2, string.format("Engine.load | string expected, got %s", typeof(arg2)))
if not arg3 then
if module_upvr.Modules:FindFirstChild(arg2) then
return require(module_upvr.Modules[arg2])
end
if module_upvr.Classes:FindFirstChild(arg2) then
do
return require(module_upvr.Classes[arg2])
end
-- KONSTANTWARNING: GOTO [64] #50
end
elseif script[arg3]:FindFirstChild(arg2) then
return require(script[arg3][arg2])
end
-- KONSTANTERROR: [0] 1. Error Block 15 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [64] 50. Error Block 9 start (CF ANALYSIS FAILED)
warn(string.format("Engine.load | Module %s not found!", arg2))
do
return false
end
-- KONSTANTERROR: [64] 50. Error Block 9 end (CF ANALYSIS FAILED)
end
function module_upvr.get(arg1, arg2, arg3) -- Line 62
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 15 start (CF ANALYSIS FAILED)
assert(arg2, string.format("Engine.get | string expected, got %s", typeof(arg2)))
if not arg3 then
if module_upvr.Modules:FindFirstChild(arg2) then
return module_upvr.Modules[arg2]
end
if module_upvr.Classes:FindFirstChild(arg2) then
do
return module_upvr.Classes[arg2]
end
-- KONSTANTWARNING: GOTO [55] #44
end
elseif script[arg3]:FindFirstChild(arg2) then
return script[arg3][arg2]
end
-- KONSTANTERROR: [0] 1. Error Block 15 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [55] 44. Error Block 9 start (CF ANALYSIS FAILED)
warn(string.format("Engine.get | Module %s not found!", arg2))
do
return false
end
-- KONSTANTERROR: [55] 44. Error Block 9 end (CF ANALYSIS FAILED)
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:53:29
-- Luau version 6, Types version 3
-- Time taken: 0.004502 seconds
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local module_upvr = {
Main = ReplicatedStorage:WaitForChild("game");
Engine = ReplicatedStorage:WaitForChild("engine");
Classes = module_upvr.Engine:WaitForChild("classes");
Modules = module_upvr.Engine:WaitForChild("modules");
Utils = module_upvr.Engine:WaitForChild("utils");
Network = ReplicatedStorage:WaitForChild("network");
Profiles = module_upvr.Network:WaitForChild("Profiles");
RemoteEvent = module_upvr.Network.Shared.NetworkRemoteEvent;
RemoteFunction = module_upvr.Network.Shared.NetworkRemoteFunction;
BindableEvent = module_upvr.Network.NetworkBindableEvent;
BindableFunction = module_upvr.Network.NetworkBindableFunction;
}
if game:GetService("RunService"):IsClient() then
module_upvr.LocalPlayer = Players.LocalPlayer
module_upvr.PlayerScripts = module_upvr.LocalPlayer:WaitForChild("PlayerScripts")
module_upvr.PlayerGui = module_upvr.LocalPlayer:WaitForChild("PlayerGui")
module_upvr.Backpack = module_upvr.LocalPlayer:WaitForChild("Backpack")
module_upvr.LocalPlayer.CharacterRemoving:Connect(function() -- Line 30
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
module_upvr.Backpack = module_upvr.LocalPlayer:WaitForChild("Backpack")
end)
module_upvr.PlayerModule = require(module_upvr.PlayerScripts:WaitForChild("PlayerModule"))
module_upvr.Controls = module_upvr.PlayerModule:GetControls()
local Character = module_upvr.LocalPlayer.Character
if not Character then
Character = module_upvr.LocalPlayer.CharacterAdded:Wait()
end
module_upvr.Character = Character
module_upvr.Humanoid = module_upvr.Character:WaitForChild("Humanoid")
while not module_upvr.Profiles:FindFirstChild(tostring(Players.LocalPlayer.UserId)) do
task.wait()
end
while not module_upvr.Profiles[tostring(Players.LocalPlayer.UserId)]:GetAttribute("Loaded") do
task.wait()
end
module_upvr.Profile = module_upvr.Profiles:WaitForChild(tostring(Players.LocalPlayer.UserId), 100)
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:53:31
-- Luau version 6, Types version 3
-- Time taken: 0.002225 seconds
local module = {
Players = game:GetService("Players");
ReplicatedStorage = game:GetService("ReplicatedStorage");
CollectionService = game:GetService("CollectionService");
TweenService = game:GetService("TweenService");
ServerStorage = game:GetService("ServerStorage");
RunService = game:GetService("RunService");
HttpService = game:GetService("HttpService");
Debris = game:GetService("Debris");
UserInputService = game:GetService("UserInputService");
TextChatService = game:GetService("TextChatService");
Teams = game:GetService("Teams");
StarterGui = game:GetService("StarterGui");
MarketPlaceService = game:GetService("MarketplaceService");
InsertService = game:GetService("InsertService");
Lighting = game:GetService("Lighting");
}
setmetatable(module, {
__index = function(arg1, arg2) -- Line 20, Named "__index"
local service = game:GetService(arg2)
if not service then
service = game:FindService(arg2)
end
if service then
rawset(arg1, arg2, service)
end
return service
end;
})
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:53:32
-- Luau version 6, Types version 3
-- Time taken: 0.001425 seconds
local module = {}
_G._engine = require(script.Parent.Parent)
_G._services = require(script.Parent.Parent:WaitForChild("services"))
_G._references = require(script.Parent.Parent:WaitForChild("references"))
_G._classes = script.Parent.Parent:WaitForChild("classes")
_G._sounds = _G._services.SoundService
_G._maxPing = 500
_G._maxPlayers = 14
_G._levelCap = 9999
_G._autoOwnership = false
_G._replays = false
_G._useReplicators = false
_G._useSmoothTransition = false
_G._debug = false
_G._ranked = 0
_G._subscriptionId = "EXP-8462005104087400563"
module._debug = _G._debug
module._maxPing = _G._maxPing
module._replays = _G._replays
module._useReplicators = _G._useReplicators
module._useSmoothTransition = _G._useSmoothTransition
if _G._services.RunService:IsClient() then
_G._playerScripts = _G._references.LocalPlayer.PlayerScripts
_G._controllers = _G._playerScripts:WaitForChild("controllers", 100)
_G._mechanics = _G._playerScripts:WaitForChild("mechanics", 100)
_G._root = _G._mechanics:WaitForChild("root", 100)
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:53:34
-- Luau version 6, Types version 3
-- Time taken: 0.001115 seconds
return {
new = function() -- Line 3, Named "new"
if _G._services.RunService:IsClient() then
return require(script:WaitForChild("client"))
end
if _G._services.RunService:IsServer() then
return require(script:WaitForChild("server"))
end
return {}
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:53:36
-- Luau version 6, Types version 3
-- Time taken: 0.083574 seconds
return {
BR = function(arg1, arg2, arg3, arg4) -- Line 3, Named "BR"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local _ = 1
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [43] 40. Error Block 10 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [43] 40. Error Block 10 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [7] 8. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [7] 8. Error Block 2 end (CF ANALYSIS FAILED)
end;
Rk = function(arg1, arg2, arg3, arg4, arg5) -- Line 3, Named "Rk"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [45] 38. Error Block 15 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [45] 38. Error Block 15 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [5] 6. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [45.33686107]
-- KONSTANTERROR: [5] 6. Error Block 2 end (CF ANALYSIS FAILED)
end;
hk = function(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 3, Named "hk"
arg5[2][35][arg4 + 1] = arg2
arg5[2][35][arg4 + 2] = arg3
arg5[2][35][arg4 + 3] = arg6
end;
r = function(...) -- Line 3, Named "r"
...[...] = nil
end;
FR = function(arg1, arg2, arg3, arg4) -- Line 3, Named "FR"
return 93, nil, nil
end;
Bk = function(arg1, arg2, arg3) -- Line 3, Named "Bk"
arg3[1][21] = arg2
end;
LR = bit32.countlz;
ck = function(arg1, arg2, arg3, arg4) -- Line 3, Named "ck"
-- KONSTANTERROR: [0] 1. Error Block 23 start (CF ANALYSIS FAILED)
if arg4[2][39] ~= arg3 then
-- KONSTANTWARNING: GOTO [33] #31
end
-- KONSTANTERROR: [0] 1. Error Block 23 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [6] 6. Error Block 19 start (CF ANALYSIS FAILED)
if 46 == 46 then
if not -arg4[5] then
else
end
-- KONSTANTWARNING: GOTO [10] #10
end
-- KONSTANTERROR: [6] 6. Error Block 19 end (CF ANALYSIS FAILED)
end;
p = coroutine;
yR = bit32.bor;
Qk = function(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13) -- Line 3, Named "Qk"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [184] 165. Error Block 43 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [184] 165. Error Block 43 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [6] 7. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [184.6621580]
-- KONSTANTERROR: [6] 7. Error Block 2 end (CF ANALYSIS FAILED)
end;
K = pcall;
i = function(arg1, arg2, arg3) -- Line 3, Named "i"
arg3[22] = arg1.g
return arg1.P
end;
wR = function(arg1, arg2, arg3, arg4) -- Line 3, Named "wR"
arg4[12][6] = arg1.u.bor
local var6
if not arg3[17104] then
local function INLINED() -- Internal function, doesn't exist in bytecode
var6 = arg3[27060]
return var6
end
if arg1.S[2] > arg3[2435] or not INLINED() then
var6 = arg3[3172]
end
var6 = arg1.S[5]
var6 = 6539
local var7 = -2063731354 + arg1.sR(arg1.IR(var6, arg3[29601]) - var6, arg3[var6])
arg3[17104] = var7
return var7
end
return arg3[17104]
end;
t = function(arg1, arg2, arg3) -- Line 3, Named "t"
return arg3[18281]
end;
_ = bit32.lrotate;
b = string.gsub;
Ck = function(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) -- Line 3, Named "Ck"
return arg8 % 8, 79, arg3 % 8, arg4 % 8
end;
k = setmetatable;
H = bit32.rshift;
c = unpack;
VR = function(arg1) -- Line 3, Named "VR"
return {}
end;
rk = function(arg1, arg2, arg3, arg4) -- Line 3, Named "rk"
local var8
if var8 < 73 then
arg3[31] = arg1.n
if arg4[7720] then
var8 = arg4[7720]
else
var8 = arg1:Sk(var8, arg4)
end
return 201, var8
end
arg3[32] = arg1.u.bxor
return 5012, var8
end;
fR = function(arg1, arg2, arg3, arg4, arg5) -- Line 3, Named "fR"
local var9
if arg2 then
local any__R_result1, any__R_result2 = arg1:_R(arg3, var9, arg5)
local var12 = any__R_result1
var9 = any__R_result2
if var12 == nil then
else
return {arg1.c(var12)}, var9
end
end
return nil, var9
end;
z = string;
wk = function(arg1, arg2, arg3, arg4, arg5) -- Line 3, Named "wk"
return arg5[2][39](), nil, nil
end;
T = function(arg1, arg2, arg3, arg4, arg5) -- Line 3, Named "T"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
arg4[23] = arg1.U
arg4[24] = nil
arg4[25] = nil
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [60] 52. Error Block 13 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [60] 52. Error Block 13 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [8] 8. Error Block 40 start (CF ANALYSIS FAILED)
if 38 == 38 then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if not nil then
else
end
-- KONSTANTWARNING: GOTO [60] #52
end
-- KONSTANTERROR: [8] 8. Error Block 40 end (CF ANALYSIS FAILED)
end;
ak = function(arg1, arg2, arg3, arg4, arg5, arg6, arg7) -- Line 3, Named "ak"
if arg6 ~= arg2[3] then
arg1:hk(arg3, arg4, arg5, arg2, arg7)
end
end;
w = bit32.bnot;
fk = function(arg1, arg2) -- Line 3, Named "fk"
return 186
end;
UR = function(arg1, arg2, arg3, arg4) -- Line 3, Named "UR"
if not arg3 then
else
arg2[2][12][5] = arg2[2][6]
arg2[2][12][2] = arg4
end
end;
Pk = function(arg1, arg2, arg3, arg4) -- Line 3, Named "Pk"
if arg2 == 98 then
return {arg4[2][22](arg4[2][26], arg4[2][21] - arg3, arg4[2][21] - 1)}
end
arg1:gk(arg3, arg4)
return nil
end;
A = function(arg1, arg2, arg3) -- Line 3, Named "A"
return arg2[7090]
end;
R = string.match;
YR = function(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) -- Line 3, Named "YR"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var16
if arg6[1154] then
local any_GR_result1 = arg1:GR(arg6, arg5)
else
local function INLINED_2() -- Internal function, doesn't exist in bytecode
var16 = arg1.S[7]
return var16
end
if arg1.yR(arg6[8558]) ~= arg6[30860] or not INLINED_2() then
var16 = arg6[6245]
end
arg6[31225] = -4400 + arg1.xR(arg1.aR(var16, arg6[30860]))
var16 = arg6[30860]
var16 = arg1.S[3]
var16 = 29082
arg6[1154] = (4264193508) + (arg1.WR(var16, arg6[23163]) - var16 + arg6[var16] + any_GR_result1)
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return arg7[42](arg3, arg7[9])(arg4, arg1.r, arg9, arg2, arg7[37], arg7[33], arg7[34], arg1.S, arg8, arg7[42]), (4264193508) + (arg1.WR(var16, arg6[23163]) - var16 + arg6[var16] + any_GR_result1)
end;
pk = function(arg1, arg2, arg3, arg4, arg5) -- Line 3, Named "pk"
if arg3 ~= 9 then
arg2[1][21] = arg4
local module_2 = {}
module_2[1] = arg5
return arg5, module_2, arg4
end
local any_bk_result1, any_bk_result2 = arg1:bk(arg5, arg2, arg4)
return any_bk_result1, nil, any_bk_result2
end;
bR = function(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 3, Named "bR"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [16] 14. Error Block 6 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [16] 14. Error Block 6 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [1] 2. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [1] 2. Error Block 2 end (CF ANALYSIS FAILED)
end;
J = unpack;
V = table;
x = function(arg1, arg2, arg3, arg4) -- Line 3, Named "x"
arg4[8] = 9007199254740992
if not arg2[5405] then
return arg1:I(arg3, arg2)
end
return arg2[5405]
end;
uR = function(arg1, arg2, arg3, arg4, arg5, arg6, arg7) -- Line 3, Named "uR"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var21
if 69 < arg2 then
if arg2 == 91 then
local function var22() -- Line 3
--[[ Upvalues[2]:
[1]: arg5 (readonly)
[2]: arg1 (readonly)
]]
local tbl_2 = {arg5[38]}
tbl_2[2] = arg5
tbl_2[3] = arg5[33]
tbl_2[4] = arg5[44]
local any_RR_result1, any_RR_result2, any_RR_result3 = arg1:RR(tbl_2, nil, nil)
local var27 = any_RR_result2
if var27 ~= nil then
return arg1.c(var27)
end
local any_KR_result1 = arg1:KR(any_RR_result1, any_RR_result3, tbl_2)
if any_KR_result1 == nil then
else
return arg1.c(any_KR_result1)
end
end
local var29
if arg4[29082] then
local any_jR_result1 = arg1:jR(arg2, arg4)
else
local function INLINED_3() -- Internal function, doesn't exist in bytecode
var29 = arg1.S[4]
return var29
end
if arg1.yR(arg1.S[7], arg4[30937]) ~= arg1.S[4] or not INLINED_3() then
var29 = arg4[30937]
end
var29 = arg4[28288]
arg4[5169] = (182) + (arg1.XR(var29, arg4[30937]) - var29)
var29 = arg1.WR(arg4[4063], arg4[1367]) - arg4[1197]
arg4[32732] = -4294967224 + arg1.xR(var29 + arg4[18230])
var29 = arg1.S[9]
local function INLINED_4() -- Internal function, doesn't exist in bytecode
var29 = 27060
return arg4[var29]
end
if var29 > arg1.S[7] or not INLINED_4() then
var29 = 6245
end
var29 = arg4[18230]
var29 = arg1.S
if arg4[var29] + var29 ~= var29[9] or not arg4[7720] then
end
arg4[29082] = -4294967151 + arg1.hR(arg4[23163])
end
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
local any_nR_result1, any_nR_result2 = arg1:nR(arg7, -4294967151 + arg1.hR(arg4[23163]), arg4)
local var33 = any_nR_result1
return 59626, var21, var33, var22, any_nR_result2
end
else
var21 = var22()
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return 833, var21, var33, var22, any_nR_result2
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return nil, var21, var33, var22, any_nR_result2
end;
Z = function(arg1, arg2, arg3, arg4) -- Line 3, Named "Z"
arg3[29] = arg1.j
local var34
if not arg2[1197] then
local function INLINED_5() -- Internal function, doesn't exist in bytecode
var34 = arg2[18230]
return var34
end
if arg1.LR(arg2[30937] + arg2[4063] + arg1.S[3]) >= arg2[2435] or not INLINED_5() then
var34 = arg1.S[9]
end
local var35 = 63 + var34
arg2[1197] = var35
return var35
end
return arg2[1197]
end;
F = "<d";
Kk = function(arg1, arg2, arg3, arg4) -- Line 3, Named "Kk"
-- KONSTANTERROR: [0] 1. Error Block 21 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 21 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [8] 7. Error Block 25 start (CF ANALYSIS FAILED)
local var37
arg3[39] = function() -- Line 3
--[[ Upvalues[1]:
[1]: arg3 (readonly)
]]
local module = {arg3[38]}
module[2] = arg3
local any_1_result1 = module[1]()
if module[2][28] <= any_1_result1 then
return any_1_result1 - module[2][8]
end
do
return any_1_result1
end
end
if arg2[27495] then
else
local function INLINED_6() -- Internal function, doesn't exist in bytecode
var37 = arg2[27763]
return var37
end
if arg1.S[9] >= arg1.sR(arg2[7090]) or not INLINED_6() then
var37 = arg2[18281]
end
var37 = arg2[1367]
arg2[27495] = -558406876 + arg1.aR(var37 + arg1.S[5], var37)
end
-- KONSTANTERROR: [8] 7. Error Block 25 end (CF ANALYSIS FAILED)
end;
sk = function(arg1, arg2, arg3, arg4, arg5, arg6, arg7) -- Line 3, Named "sk"
if arg5 == 187 then
arg6[arg2 + 1] = arg3
return arg6, 19427, arg2
end
if arg5 ~= 102 then
else
local var40 = arg7[2][6][arg4]
end
return var40, nil, #var40
end;
Wk = function(arg1, arg2, arg3, arg4, arg5) -- Line 3, Named "Wk"
arg2[arg3] = arg5[2][6][arg4]
end;
l = function(arg1, arg2, arg3, arg4) -- Line 3, Named "l"
arg2[28] = 4503599627370496
arg2[29] = nil
arg2[30] = nil
return 39, nil
end;
Ik = function(arg1, arg2, arg3) -- Line 3, Named "Ik"
arg3[arg2 + 3] = 4
end;
sR = bit32.bxor;
WR = bit32.rshift;
Vk = function(arg1, arg2, arg3) -- Line 3, Named "Vk"
arg2[34] = function() -- Line 3
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: arg1 (readonly)
]]
local tbl_4 = {}
tbl_4[1] = arg2
local var44
while true do
if 71 < 122 then
local any_14_result1, any_14_result2_2 = tbl_4[1][14](arg1.o, tbl_4[1][26], tbl_4[1][21])
var44 = any_14_result1
elseif 71 < 122 then
arg1:Bk(any_14_result2_2, tbl_4)
return var44
end
end
return var44
end
arg2[35] = arg1.M
arg2[36] = function() -- Line 3
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: arg1 (readonly)
]]
local tbl_8 = {}
tbl_8[1] = arg2
local any_Mk_result1 = arg1:Mk(tbl_8)
if any_Mk_result1 ~= nil then
return arg1.c(any_Mk_result1)
end
end
arg2[37] = function() -- Line 3
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: arg1 (readonly)
]]
local tbl_5 = {}
tbl_5[1] = arg2
for i_2 = 26, 366, 111 do
if i_2 > 26 then
if 248 <= i_2 then
return nil
end
tbl_5[1][21] = nil
else
local _, _ = tbl_5[1][14](arg1.F, tbl_5[1][26], tbl_5[1][21])
end
end
end
arg2[38] = function() -- Line 3
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: arg1 (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
({arg2[23]})[2] = arg2
local _
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [53] 44. Error Block 20 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [53] 44. Error Block 20 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [10] 9. Error Block 37 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [53.65666]
if 89 < arg2[23] then
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x2)
if arg2[23] < 89 then
repeat
-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x2)
until arg2[23] < arg2
-- KONSTANTWARNING: GOTO [53] #44
end
-- KONSTANTERROR: [10] 9. Error Block 37 end (CF ANALYSIS FAILED)
end
arg2[39] = nil
arg2[40] = nil
return 71
end;
qR = function(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) -- Line 3, Named "qR"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var59
if var59 < 21 then
local any_YR_result1, any_YR_result2 = arg1:YR(arg9, arg8, arg7, var59, arg5, arg6, arg3, arg2)
local var62 = any_YR_result1
var59 = any_YR_result2
return var59, 6350, var62
end
if 14 >= var59 then
else
return var59, {arg6[42](var62, arg6[9])}, var62
end
return var59, nil, var62
end;
O = function(arg1, arg2, arg3, arg4) -- Line 3, Named "O"
if arg3 >= 150 then
arg2[1][21] = 1
return 34254
end
arg2[1][26] = arg4
return 55147
end;
v = function(arg1, arg2, arg3) -- Line 3, Named "v"
local var64 = -2945865754 + arg1.sR(arg1.WR(arg1.S[7], arg3[30860]) - arg3[27763] + arg2, arg1.S[2])
arg3[28288] = var64
return var64
end;
ik = function(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13) -- Line 3, Named "ik"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [4] 4. Error Block 52 start (CF ANALYSIS FAILED)
if arg6 == 5 then
if arg12[2][7] then
arg1:dk(arg11, arg13, arg10, arg12)
else
arg1:Wk(arg4, arg13, arg10, arg12)
end
elseif arg6 == 0 then
arg8[arg13] = arg10
elseif arg6 == 2 then
arg1:vk(arg13, arg8, arg10)
elseif arg6 == 1 then
arg8[arg13] = arg13 - arg10
elseif arg6 == 7 then
arg1:ek(arg10, arg4, arg12, arg13)
end
do
return 40672
end
-- KONSTANTERROR: [4] 4. Error Block 52 end (CF ANALYSIS FAILED)
end;
o = "<I4";
mk = function(arg1, arg2, arg3, arg4) -- Line 3, Named "mk"
arg4[arg2] = arg3
end;
ok = function(arg1) -- Line 3, Named "ok"
return {}
end;
y = function(arg1, arg2) -- Line 3, Named "y"
arg2[11] = arg1.J
end;
xk = function(arg1, arg2, arg3, arg4, arg5) -- Line 3, Named "xk"
arg5[arg2] = arg4[2][6][arg3]
end;
SR = function(arg1, arg2, arg3) -- Line 3, Named "SR"
return arg2 / 2
end;
HR = function(arg1, arg2) -- Line 3, Named "HR"
arg2[12][9] = arg1.u.bxor
end;
Lk = function(arg1, arg2, arg3, arg4) -- Line 3, Named "Lk"
arg4[arg2] = arg2 - arg3
end;
Q = function(arg1, arg2, arg3, arg4) -- Line 3, Named "Q"
arg2[2][arg4] = arg3(arg4)
end;
tk = function(arg1, arg2, arg3, arg4) -- Line 3, Named "tk"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [51] 47. Error Block 20 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [51] 47. Error Block 20 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [2] 3. Error Block 32 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [51.65666]
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [51.6]
if 4 < nil then
-- KONSTANTWARNING: GOTO [51] #47
end
-- KONSTANTERROR: [2] 3. Error Block 32 end (CF ANALYSIS FAILED)
end;
XR = bit32.lrotate;
kR = function(arg1, arg2, arg3, arg4) -- Line 3, Named "kR"
arg2[2][7] = arg3
return 17
end;
N = bit32.countrz;
s = function(arg1, arg2, arg3, arg4) -- Line 3, Named "s"
local var65
while true do
local any_a_result1, any_a_result2 = arg1:a(var65, arg4, arg2)
local var68 = any_a_result1
var65 = any_a_result2
if var68 == 13010 then
elseif var68 == 23423 then
break
end
end
arg2[8] = nil
arg2[9] = nil
arg2[10] = nil
arg2[11] = nil
return var65
end;
Fk = function(arg1, arg2) -- Line 3, Named "Fk"
arg2[2][10] = arg2[2][12]
arg2[2][37] = 253
end;
Jk = function(arg1, arg2, arg3, arg4) -- Line 3, Named "Jk"
local var69
local function INLINED_7() -- Internal function, doesn't exist in bytecode
var69 = arg3 - 128
return var69
end
if 127 >= arg3 or not INLINED_7() then
var69 = arg3
end
return arg4 + var69 * arg2
end;
_k = function(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) -- Line 3, Named "_k"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [26] 24. Error Block 8 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [26] 24. Error Block 8 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [3] 4. Error Block 15 start (CF ANALYSIS FAILED)
if 48 == 48 then
-- KONSTANTWARNING: GOTO [26] #24
end
-- KONSTANTERROR: [3] 4. Error Block 15 end (CF ANALYSIS FAILED)
end;
W = function(arg1, arg2, arg3, arg4) -- Line 3, Named "W"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [75] 61. Error Block 15 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [75] 61. Error Block 15 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [2] 3. Error Block 37 start (CF ANALYSIS FAILED)
if 117 == 117 then
-- KONSTANTWARNING: GOTO [75] #61
end
-- KONSTANTERROR: [2] 3. Error Block 37 end (CF ANALYSIS FAILED)
end;
h = function(arg1, arg2, arg3, arg4) -- Line 3, Named "h"
arg4[6] = arg1.M
if not arg2[18230] then
local var72 = (3867185737) + (arg1.hR(arg1.S[8] + arg3) - arg1.S[2] - arg1.S[4])
arg2[18230] = var72
return var72
end
return arg2[18230]
end;
dR = string.unpack;
S = {62339, 2945865867, 4264193627, 2069624964, 2233627915, 3336860550, 2534292420, 3146662056, 3738338732};
NR = function(arg1, arg2) -- Line 3, Named "NR"
arg2[12][11] = arg1.N
end;
xR = bit32.band;
n = table.move;
JR = function(arg1, arg2, arg3, arg4) -- Line 3, Named "JR"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [37] 30. Error Block 13 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [37] 30. Error Block 13 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [2] 3. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [2] 3. Error Block 2 end (CF ANALYSIS FAILED)
end;
e = function(arg1, arg2, arg3, arg4) -- Line 3, Named "e"
arg2[15] = arg1.k
arg2[16] = function(arg1_2, arg2_2, arg3_2, arg4_2) -- Line 3
--[[ Upvalues[1]:
[1]: arg2 (readonly)
]]
local tbl_6 = {}
tbl_6[1] = arg2
local var76 = tbl_6
if arg3_2 < arg2_2 then return end
local var77 = arg3_2 - arg2_2 + 1
if 8 <= var77 then
return arg1_2[arg2_2], arg1_2[arg2_2 + 1], arg1_2[arg2_2 + 2], arg1_2[arg2_2 + 3], arg1_2[arg2_2 + 4], arg1_2[arg2_2 + 5], arg1_2[arg2_2 + 6], arg1_2[arg2_2 + 7], var76[1][16](arg1_2, arg2_2 + 8, arg3_2)
end
if 7 <= var77 then
return arg1_2[arg2_2], arg1_2[arg2_2 + 1], arg1_2[arg2_2 + 2], arg1_2[arg2_2 + 3], arg1_2[arg2_2 + 4], arg1_2[arg2_2 + 5], arg1_2[arg2_2 + 6], var76[1][16](arg1_2, arg2_2 + 7, arg3_2)
end
if 6 <= var77 then
return arg1_2[arg2_2], arg1_2[arg2_2 + 1], arg1_2[arg2_2 + 2], arg1_2[arg2_2 + 3], arg1_2[arg2_2 + 4], arg1_2[arg2_2 + 5], var76[1][16](arg1_2, arg2_2 + 6, arg3_2)
end
if 5 <= var77 then
return arg1_2[arg2_2], arg1_2[arg2_2 + 1], arg1_2[arg2_2 + 2], arg1_2[arg2_2 + 3], arg1_2[arg2_2 + 4], var76[1][16](arg1_2, arg2_2 + 5, arg3_2)
end
if 4 <= var77 then
return arg1_2[arg2_2], arg1_2[arg2_2 + 1], arg1_2[arg2_2 + 2], arg1_2[arg2_2 + 3], var76[1][16](arg1_2, arg2_2 + 4, arg3_2)
end
if 3 <= var77 then
return arg1_2[arg2_2], arg1_2[arg2_2 + 1], arg1_2[arg2_2 + 2], var76[1][16](arg1_2, arg2_2 + 3, arg3_2)
end
if 2 <= var77 then
return arg1_2[arg2_2], arg1_2[arg2_2 + 1], var76[1][16](arg1_2, arg2_2 + 2, arg3_2)
end
return arg1_2[arg2_2], var76[1][16](arg1_2, arg2_2 + 1, arg3_2)
end
if arg3[6245] then
return arg3[6245]
end
local var78 = -3221225401 + arg1.XR(arg1.LR(arg1.XR(arg1.S[9], arg3[29601])) - arg3[23163], arg3[30860])
arg3[6245] = var78
return var78
end;
B = select;
j = getfenv;
uk = function(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) -- Line 3, Named "uk"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var83
for i_3 = 114, 328, 107 do
local any_nk_result1, any_nk_result2, any_nk_result3, any_nk_result4, any_nk_result5 = arg1:nk(nil, nil, arg9, var83, i_3, arg2, arg7)
var83 = any_nk_result5
if any_nk_result3 == 12192 then
end
end
return var83, any_nk_result1, nil, any_nk_result2, any_nk_result4, arg9[2][20](arg2), nil
end;
IR = bit32.lshift;
RR = function(arg1, arg2, arg3, arg4) -- Line 3, Named "RR"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 74 start (CF ANALYSIS FAILED)
local var93
for i_4 = 79, 153, 74 do
if 153 > i_4 then
arg2[2][43] = {}
else
arg2[2][6] = arg2[2][20](arg2[1]() - 24361)
end
end
if arg2[3]() == 0 then
var93 = false
else
var93 = true
end
local const_number = 122
-- KONSTANTERROR: [0] 1. Error Block 74 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [127] 112. Error Block 51 start (CF ANALYSIS FAILED)
if 17 < const_number then
end
-- KONSTANTERROR: [127] 112. Error Block 51 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [32] 30. Error Block 12 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [138.198482]
-- KONSTANTERROR: [32] 30. Error Block 12 end (CF ANALYSIS FAILED)
end;
X = function(arg1, arg2, arg3, arg4) -- Line 3, Named "X"
arg3[10] = type
if not arg2[1367] then
local var95 = -308950197 + arg1.xR(arg1.xR(arg1.S[4] + arg4) + arg1.S[7])
arg2[1367] = var95
return var95
end
return arg1:L(arg2, var95)
end;
rR = function(arg1, arg2, arg3, arg4, arg5, arg6, arg7) -- Line 3, Named "rR"
if arg7 == 39 then
local any_SR_result1 = arg1:SR(arg6, arg4)
else
end
return any_SR_result1, arg1:Ok(arg2, arg5, any_SR_result1, arg6, arg3)
end;
cR = function(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) -- Line 3, Named "cR"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [16] 15. Error Block 35 start (CF ANALYSIS FAILED)
if nil == 14972 then
end
-- KONSTANTERROR: [16] 15. Error Block 35 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [1] 2. Error Block 51 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if nil == 21419 then
-- KONSTANTWARNING: GOTO [20] #18
end
-- KONSTANTERROR: [1] 2. Error Block 51 end (CF ANALYSIS FAILED)
end;
I = function(arg1, arg2, arg3) -- Line 3, Named "I"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var97
local function INLINED_8() -- Internal function, doesn't exist in bytecode
var97 = arg3[30937]
return var97
end
if arg1.IR(arg1.S[8], arg3[30937]) == arg3[3172] or not INLINED_8() then
var97 = arg1.S[1]
end
local function INLINED_9() -- Internal function, doesn't exist in bytecode
var97 = arg1.S
return var97[8]
end
if var97 == arg3[3172] or not INLINED_9() then
var97 = 27763
end
var97 = arg3[18230]
local var98 = 48 + arg1.xR(arg3[var97], var97)
arg3[5405] = var98
return var98
end;
Yk = function(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14) -- Line 3, Named "Yk"
if arg2 == 100 then
local _ = 115
local var100
elseif var100 == 115 then
local any_ck_result1, any_ck_result2 = arg1:ck(var100, (arg14 - arg6) / 8, arg3)
var100 = any_ck_result2
local var103
elseif var103 == 54 then
var103 = arg1:Gk(arg11, arg4, arg13, arg7, var103, arg10)
else
if var103 == 29 then
var103 = 88
local var104 = var103
arg8[arg13] = arg5
return any_ck_result1, 15354, var104
end
if var104 ~= 88 then
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
arg9[arg13] = any_ck_result1
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return any_ck_result1, 39697, var104
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return any_ck_result1, nil, var104
end;
Gk = function(arg1, arg2, arg3, arg4, arg5, arg6, arg7) -- Line 3, Named "Gk"
arg2[arg4] = arg5
arg7[arg4] = arg3
return 29
end;
q = function(arg1, arg2, arg3) -- Line 3, Named "q"
return arg2[27763]
end;
Uk = function(arg1, arg2) -- Line 3, Named "Uk"
arg2[40] = function() -- Line 3
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: arg1 (readonly)
]]
local tbl_3 = {arg2[38]}
tbl_3[2] = arg2
for i_5 = 59, 191, 39 do
local any_Pk_result1 = arg1:Pk(i_5, tbl_3[1](), tbl_3)
if any_Pk_result1 == nil then
else
return arg1.c(any_Pk_result1)
end
end
end
end;
Y = function(arg1, arg2, arg3) -- Line 3, Named "Y"
arg3[4] = nil
arg3[5] = nil
arg3[6] = nil
arg3[7] = nil
return 101
end;
Xk = function(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 3, Named "Xk"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var109
if var109 < 115 then
local len = #arg6[2][35]
var109 = 115
else
arg6[2][35][len + 1] = arg2
var109 = 54
arg6[2][35][len + 2] = arg4
return 16848, var109, len
end
return nil, var109, len
end;
P = string.char;
mR = bit32.countrz;
U = string.byte;
Zk = function(arg1, arg2, arg3, arg4, arg5, arg6, arg7) -- Line 3, Named "Zk"
if arg3 == 48 then
local any_3_result1_2 = arg5[3]()
local any_3_result1 = arg5[3]()
return any_3_result1_2, 12130, any_3_result1
end
if arg3 ~= 58 then
else
arg1:lk(arg6, arg2, any_3_result1_2, any_3_result1)
end
return any_3_result1_2, nil, any_3_result1
end;
hR = bit32.bnot;
KR = function(arg1, arg2, arg3, arg4) -- Line 3, Named "KR"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [53] 45. Error Block 22 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [53] 45. Error Block 22 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [6] 7. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [6] 7. Error Block 2 end (CF ANALYSIS FAILED)
end;
gk = function(arg1, arg2, arg3) -- Line 3, Named "gk"
arg3[2][21] = arg3[2][21] + arg2
end;
vR = function(arg1) -- Line 3
local tbl = {}
local any_G_result1 = arg1:G(nil, tbl)
local any_D_result1, any_D_result2 = arg1:D(any_G_result1, nil, arg1:W(tbl, any_G_result1, arg1:s(tbl, arg1:Y(nil, tbl), any_G_result1)), tbl)
local any_l_result1, any_l_result2 = arg1:l(tbl, nil, arg1:T(any_D_result1, any_G_result1, tbl, any_D_result2))
local any_zk_result1, any_zk_result2 = arg1:zk(any_l_result2, any_l_result1, tbl, any_G_result1)
local any_oR_result1, any_oR_result2, any_oR_result3, any_oR_result4 = arg1:oR(nil, nil, arg1:Kk(any_G_result1, tbl, arg1:Vk(tbl, any_zk_result1)), tbl, nil, any_G_result1)
local var127 = any_oR_result3
local any_FR_result1, any_FR_result2, any_FR_result3 = arg1:FR(nil, nil, any_oR_result4)
local _, _, any_cR_result3, any_cR_result4, any_cR_result5 = arg1:cR(any_zk_result2, any_FR_result1, any_G_result1, var127, any_FR_result2, tbl, any_FR_result3)
local var136 = any_cR_result3
if var136 == nil then
else
return arg1.c(var136)
end
while true do
local _, any_qR_result2, _ = arg1:qR(any_cR_result5, any_cR_result4, 14, any_G_result1, tbl, any_oR_result1, any_oR_result2, var127)
local var140 = any_qR_result2
if var140 == 6350 then
elseif var140 == nil then
else
return arg1.c(var140)
end
end
end;
bk = function(arg1, arg2, arg3, arg4) -- Line 3, Named "bk"
local any_14_result1_2, any_14_result2 = arg3[1][14]("<i8", arg3[1][26], arg3[1][21])
return any_14_result1_2, any_14_result2
end;
PR = function(arg1, arg2, arg3, arg4) -- Line 3, Named "PR"
return arg4[arg3[1]()]
end;
E = bit32.rrotate;
jR = function(arg1, arg2, arg3) -- Line 3, Named "jR"
return arg3[29082]
end;
vk = function(arg1, arg2, arg3, arg4) -- Line 3, Named "vk"
arg3[arg2] = arg2 + arg4
end;
Nk = function(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12) -- Line 3, Named "Nk"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [183] 146. Error Block 54 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [183] 146. Error Block 54 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [4] 5. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [183.5245580]
-- KONSTANTERROR: [4] 5. Error Block 2 end (CF ANALYSIS FAILED)
end;
yk = function(arg1, arg2, arg3, arg4, arg5) -- Line 3, Named "yk"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local _ = 100
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [27] 25. Error Block 9 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [27] 25. Error Block 9 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [3] 4. Error Block 13 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [27.8]
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [27.65666]
if nil < _ then
if nil ~= 16848 then
-- KONSTANTWARNING: GOTO [27] #25
end
else
end
-- KONSTANTERROR: [3] 4. Error Block 13 end (CF ANALYSIS FAILED)
end;
Ek = function(arg1, arg2, arg3, arg4, arg5) -- Line 3, Named "Ek"
return arg5[2][39](), arg5[2][39](), arg5[2][39]()
end;
nk = function(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) -- Line 3, Named "nk"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var144
if 114 >= arg6 then
local any_20_result1 = arg4[2][20](arg7)
return var144, any_20_result1, 12192, arg2, arg5
end
if 221 < arg6 then
var144 = 1
else
end
return var144, any_20_result1, nil, arg4[2][20](arg7), arg4[2][20](arg7)
end;
u = bit32;
Ok = function(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 3, Named "Ok"
local var148
if arg5 % 2 == 0 then
arg3[var148] = arg4 - arg4 % 1
return var148
end
for i_6 = 48, 58, 10 do
local any_Zk_result1, any_Zk_result2, _ = arg1:Zk(arg3, i_6, nil, arg2, arg4, var148)
var148 = any_Zk_result1
if any_Zk_result2 == 12130 then
end
end
return var148
end;
MR = function(arg1) -- Line 3, Named "MR"
return {183}
end;
f = bit32.countlz;
C = bit32.lshift;
L = function(arg1, arg2, arg3) -- Line 3, Named "L"
return arg2[1367]
end;
D = function(arg1, arg2, arg3, arg4, arg5) -- Line 3, Named "D"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
arg5[18] = nil
arg5[19] = nil
arg5[20] = nil
arg5[21] = nil
arg5[22] = nil
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [138] 117. Error Block 26 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [138] 117. Error Block 26 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [12] 13. Error Block 45 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [138.197970]
if nil < 67 then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if 67 <= nil then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if nil then
else
end
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if 67 ~= 109 then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if nil then
else
end
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if nil then
else
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [138.7]
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [138.8]
local function INLINED_10() -- Internal function, doesn't exist in bytecode
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [138.6]
return nil
end
if nil ~= nil or not INLINED_10() then
end
end
end
end
-- KONSTANTWARNING: GOTO [138] #117
end
-- KONSTANTERROR: [12] 13. Error Block 45 end (CF ANALYSIS FAILED)
end;
_R = function(arg1, arg2, arg3, arg4) -- Line 3, Named "_R"
local var155
for i_7 = 21, 212, 101 do
local var156
if i_7 < var156 then
if arg4 > arg4 then
var156 = false
else
var156 = true
end
var155 = 122
arg2[28] = var156
else
var156 = 21
if var156 >= i_7 then
else
var156 = arg1:CR()
var156 = {}
var156[1] = arg1.c(var156)
return var156, var155
end
end
end
return nil, var155
end;
Sk = function(arg1, arg2, arg3) -- Line 3, Named "Sk"
local var157 = -2661285815 + arg1.IR(arg1.xR(arg3[18281] - arg1.S[2]) - arg3[30860], arg2)
arg3[7720] = var157
return var157
end;
d = function(arg1, arg2, arg3, arg4) -- Line 3, Named "d"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var158
if 18 < var158 and var158 < 96 then
arg4[13] = error
local var159
if not arg3[23163] then
var159 = arg1.LR(arg1.LR(arg3[25290]))
arg3[3486] = arg1.mR(var159 + arg3[5405])
local function INLINED_11() -- Internal function, doesn't exist in bytecode
var159 = arg3[25290]
return var159
end
if arg1.XR(var158, arg3[30937]) == arg3[3172] or not INLINED_11() then
var159 = arg1.S[3]
end
var159 = arg1.S[2]
var158 = (-2945865912) + (var159 - arg3[30937] + var159)
arg3[23163] = var158
else
var158 = arg3[23163]
end
else
if 63 < var158 then
arg4[12] = {}
local var160
if arg3[25290] then
else
var160 = -1628945888
var159 = arg1.XR(arg1.aR(arg1.sR(arg1.S[9], arg3[5080], arg1.S[4]) + arg1.S[8], arg3[30937]), arg3[30937])
arg3[29601] = var160 + var159
var160 = -2069624939
var159 = arg3[25290] + arg1.S[4] - arg1.S[3] + arg1.S[3] - arg3[27763]
arg3[30860] = var160 + var159
var159 = arg1.yR(arg1.mR(arg1.S[8]), arg3[5080])
local function INLINED_12() -- Internal function, doesn't exist in bytecode
var160 = arg3[var159]
var159 = 1367
return var160
end
if arg1.S[7] > var159 or not INLINED_12() then
var159 = arg1.S
var160 = var159[1]
end
var159 = arg1.S[4]
local function INLINED_13() -- Internal function, doesn't exist in bytecode
var160 = arg1.S
return var160[4]
end
if var160 ~= var159 or not INLINED_13() then
var160 = 30937
end
arg3[25290] = 63 + arg3[var160]
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return 64137, 63 + arg3[var160]
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if 63 + arg3[var160] < 63 then
arg4[14] = arg1.dR
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return 16980, 63 + arg3[var160]
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return nil, 63 + arg3[var160]
end;
ek = function(arg1, arg2, arg3, arg4, arg5) -- Line 3, Named "ek"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local const_number_2 = 27
while true do
if const_number_2 < 27 then
arg4[2][35][nil + 3] = arg2
return
end
local var162
if 27 < const_number_2 then
elseif arg1:Ak(var162, const_number_2, arg5, arg4) < 62 then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if 5 >= arg1:Ak(var162, const_number_2, arg5, arg4) then
else
var162 = #arg4[2][35]
arg4[2][35][var162 + 1] = arg3
end
end
end
end;
ER = function(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 3, Named "ER"
-- KONSTANTERROR: [0] 1. Error Block 41 start (CF ANALYSIS FAILED)
if arg4 == 93 then
local const_number_3 = 122
if arg3[8558] then
local _ = arg3[8558]
else
arg3[31221] = 94 + arg1.XR(arg1.mR(arg1.XR(arg3[4063] - arg3[28288], arg3[1367])), arg3[30937])
arg3[8558] = -4294967108 + arg1.hR(arg1.sR(arg3[5080] + arg3[6245] - arg3[23163]))
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return 14972, -4294967108 + arg1.hR(arg1.sR(arg3[5080] + arg3[6245] - arg3[23163])), arg2, const_number_3
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if -4294967108 + arg1.hR(arg1.sR(arg3[5080] + arg3[6245] - arg3[23163])) ~= 24 then
-- KONSTANTWARNING: GOTO [101] #85
end
-- KONSTANTERROR: [0] 1. Error Block 41 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [57] 51. Error Block 36 start (CF ANALYSIS FAILED)
if const_number_3 ~= 122 then
-- KONSTANTWARNING: GOTO [89] #75
end
-- KONSTANTERROR: [57] 51. Error Block 36 end (CF ANALYSIS FAILED)
end;
nR = function(arg1, arg2, arg3, arg4) -- Line 3, Named "nR"
local function var165(...) -- Line 3
return ...()
end
if not arg4[6539] then
local var166 = (-4264193558) + (arg1.yR(arg4[30937], arg4[7090], arg1.S[3]) + arg4[3486] - arg4[1197] + arg4[18281])
arg4[6539] = var166
return var165, var166
end
return var165, arg4[6539]
end;
CR = function(arg1) -- Line 3, Named "CR"
return {160}
end;
Hk = function(arg1, arg2) -- Line 3, Named "Hk"
return {arg2[5]}
end;
jk = function(arg1, arg2, arg3, arg4, arg5) -- Line 3, Named "jk"
return arg5[1]() - 42758, nil, {}
end;
G = function(arg1, arg2, arg3) -- Line 3, Named "G"
arg3[1] = arg1.z.pack
arg3[2] = {}
arg3[3] = nil
return {}
end;
zk = function(arg1, arg2, arg3, arg4, arg5) -- Line 3, Named "zk"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [75] 67. Error Block 17 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [75] 67. Error Block 17 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [1] 2. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [75.6]
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [75.1734]
-- KONSTANTERROR: [1] 2. Error Block 2 end (CF ANALYSIS FAILED)
end;
g = string.sub;
lk = function(arg1, arg2, arg3, arg4, arg5) -- Line 3, Named "lk"
for i_8 = arg2 - arg2 % 1, arg4 do
arg1:Tk(arg3, arg5, i_8)
end
end;
Dk = function(arg1, arg2, arg3, arg4) -- Line 3, Named "Dk"
return {arg4 - arg4 % 1, arg3 % 4}
end;
aR = bit32.rrotate;
zR = function(arg1, arg2, arg3) -- Line 3, Named "zR"
if arg3 ~= 264 then
return 58246, arg2
end
return nil, arg2 + 1
end;
dk = function(arg1, arg2, arg3, arg4, arg5) -- Line 3, Named "dk"
local var171 = arg5[2][6][arg4]
local len_2 = #var171
var171[len_2 + 1] = arg2
var171[len_2 + 2] = arg3
var171[len_2 + 3] = 5
end;
M = nil;
pR = function(arg1, arg2, arg3, arg4) -- Line 3, Named "pR"
if arg3 == 80 then
return arg2[2][37]()
end
return arg2[2][36]()
end;
Tk = function(arg1, arg2, arg3, arg4) -- Line 3, Named "Tk"
arg2[arg4] = arg3
end;
a = function(arg1, arg2, arg3, arg4) -- Line 3, Named "a"
local var175
if var175 < 50 then
arg4[4] = arg1.b
arg4[5] = arg1.p.yield
local var176
if not arg3[27763] then
local function INLINED_15() -- Internal function, doesn't exist in bytecode
var176 = var175
return var176
end
if arg1.sR(var175) == arg1.S[5] or not INLINED_15() then
var176 = arg3[30937]
end
var176 = var175
var175 = -1760674781 + arg1.aR(var176 - arg1.S[7], var176)
arg3[27763] = var175
else
var176 = var175
var175 = arg1:q(arg3, var176)
end
else
if var175 < 95 then
if 0 < var175 then
arg4[7] = nil
return 23423, var175
end
end
if 95 < var175 then
arg4[3] = arg1.B
if arg3[30937] then
var175 = arg3[30937]
else
var176 = arg1.sR(arg1.IR(var175 - arg1.S[7], 30) - arg1.S[9])
arg3[3172] = -1630370315 + var176
var176 = arg1.S[3] - arg1.S[9]
var176 = 31
var175 = arg1.aR(arg1.IR(var176 - arg1.S[1], var176), 23)
arg3[30937] = var175
end
elseif 50 < var175 and var175 < 101 then
var176 = var175
var175 = arg1:h(arg3, var176, arg4)
return 13010, var175
end
end
return nil, var175
end;
Ak = function(arg1, arg2, arg3, arg4, arg5) -- Line 3, Named "Ak"
arg5[2][35][arg2 + 2] = arg4
return 5
end;
qk = function(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 3, Named "qk"
if not arg2[2][7] then
arg6[arg4] = arg2[2][6][arg3]
else
local var177 = arg2[2][6][arg3]
local len_3 = #var177
var177[len_3 + 1] = arg5
var177[len_3 + 2] = arg4
var177[len_3 + 3] = 7
end
end;
m = function(arg1, arg2, arg3) -- Line 3, Named "m"
return arg3[5080]
end;
Mk = function(arg1, arg2) -- Line 3, Named "Mk"
for i_9 = 9, 201, 118 do
local _, any_pk_result2, _ = arg1:pk(arg2, i_9, nil, nil)
local var183 = any_pk_result2
if var183 == nil then
else
return {arg1.c(var183)}
end
end
return nil
end;
gR = function(arg1, arg2) -- Line 3, Named "gR"
local var185
if 249 > false then
var185 = false
else
var185 = true
end
arg2[2][40] = var185
end;
GR = function(arg1, arg2, arg3) -- Line 3, Named "GR"
return arg2[1154]
end;
kk = function(arg1) -- Line 3, Named "kk"
end;
oR = function(arg1, arg2, arg3, arg4, arg5, arg6, arg7) -- Line 3, Named "oR"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
arg5[44] = function() -- Line 3
--[[ Upvalues[2]:
[1]: arg5 (readonly)
[2]: arg1 (readonly)
]]
local tbl_7 = {arg5[38]}
tbl_7[2] = arg5
tbl_7[3] = arg5[34]
tbl_7[4] = arg5[41]
tbl_7[5] = arg5[33]
local any_jk_result1, any_jk_result2, any_jk_result3 = arg1:jk(nil, nil, nil, tbl_7)
local var191 = any_jk_result1
local any_uk_result1, any_uk_result2, any_uk_result3, any_uk_result4, any_uk_result5, any_uk_result6, any_uk_result7 = arg1:uk(var191, nil, nil, nil, nil, any_jk_result2, nil, tbl_7, nil)
local var199 = any_uk_result1
local var200 = any_uk_result4
local var201 = any_uk_result6
local any_Nk_result1, any_Nk_result2, any_Nk_result3, any_Nk_result4, any_Nk_result5, any_Nk_result6, any_Nk_result7 = arg1:Nk(any_uk_result7, nil, var191, nil, var199, var200, tbl_7, any_uk_result3, nil, nil, var201)
local var209 = any_Nk_result6
local var210 = any_Nk_result7
if var209 == nil then
else
return arg1.c(var209)
end
local any_Qk_result1, any_Qk_result2, _ = arg1:Qk(any_Nk_result4, any_uk_result5, any_Nk_result5, var199, var191, tbl_7, any_Nk_result3, var210, any_Nk_result1, var201, any_Nk_result2, var200)
local var214 = any_Qk_result2
if var214 == nil then
else
return arg1.c(var214)
end
local _, any_bR_result2, _ = arg1:bR(any_jk_result3, var210, any_Qk_result1, any_uk_result2, tbl_7)
return arg1.c(any_bR_result2)
end
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [26] 25. Error Block 10 start (CF ANALYSIS FAILED)
if nil == 59626 then
end
-- KONSTANTERROR: [26] 25. Error Block 10 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [9] 10. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
-- KONSTANTERROR: [9] 10. Error Block 2 end (CF ANALYSIS FAILED)
end;
}:vR()(...)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:53:39
-- Luau version 6, Types version 3
-- Time taken: 0.130235 seconds
return {
T = select;
Ci = function(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) -- Line 3, Named "Ci"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [20] 18. Error Block 7 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [20] 18. Error Block 7 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [1] 2. Error Block 35 start (CF ANALYSIS FAILED)
if nil == 31257 then
-- KONSTANTWARNING: GOTO [24] #22
end
-- KONSTANTERROR: [1] 2. Error Block 35 end (CF ANALYSIS FAILED)
end;
ti = function(arg1, arg2, arg3, arg4) -- Line 3, Named "ti"
arg2[arg4] = arg4 - arg3
end;
M = function(arg1, arg2, arg3, arg4) -- Line 3, Named "M"
arg3[28] = arg1.nQ
local var2
if not arg2[14301] then
local function INLINED() -- Internal function, doesn't exist in bytecode
var2 = arg2[15437]
return var2
end
if arg2[1270] > arg1.m[7] or not INLINED() then
var2 = arg1.m[4]
end
var2 = arg1.m[2]
arg2[22424] = (-4177975804) + (var2 + arg2[13348] + var2 - arg4)
var2 = 13564
var2 = arg2[3993]
var2 = arg1.m
local var3 = (-94868289) + (arg2[var2] + var2 + var2[9] - arg1.m[6] - arg2[15437])
arg2[14301] = var3
return var3
end
return arg1:e(var3, arg2)
end;
FQ = function(arg1, arg2, arg3, arg4) -- Line 3, Named "FQ"
local var4 = arg3[40]() - 73891
arg3[13] = arg3[3](var4)
return var4, 113
end;
Mi = function(arg1, arg2, arg3) -- Line 3, Named "Mi"
arg2[arg3 + 3] = 7
end;
f = "<i8";
oi = function(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 3, Named "oi"
if arg3 == 9 then
local const_number = 84
local const_number_9 = 1
return arg5, const_number, 20591, const_number_9
end
if const_number == 84 then
arg2[6] = arg4[40]()
local any_40_result1 = arg4[40]()
return any_40_result1, const_number, 17154, const_number_9
end
return any_40_result1, const_number, nil, const_number_9
end;
t = function(arg1, arg2, arg3) -- Line 3, Named "t"
return arg2[6220]
end;
xi = function(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12) -- Line 3, Named "xi"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [53] 49. Error Block 11 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [53] 49. Error Block 11 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [17] 18. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [53.6293388]
-- KONSTANTERROR: [17] 18. Error Block 2 end (CF ANALYSIS FAILED)
end;
zi = function(arg1, arg2, arg3, arg4, arg5) -- Line 3, Named "zi"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local const_number_6 = 69
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [14] 14. Error Block 17 start (CF ANALYSIS FAILED)
if const_number_6 ~= 69 then
end
-- KONSTANTERROR: [14] 14. Error Block 17 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [5] 6. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [5] 6. Error Block 2 end (CF ANALYSIS FAILED)
end;
Yi = function(arg1, arg2, arg3, arg4) -- Line 3, Named "Yi"
return 126, arg4[40]() - 47780
end;
vi = function(arg1, arg2, arg3, arg4, arg5) -- Line 3, Named "vi"
arg3[22][arg2 + 2] = arg4
return 33
end;
si = function(arg1, arg2, arg3, arg4, arg5, arg6, arg7) -- Line 3, Named "si"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var14
if var14 <= 21 then
if var14 ~= 21 then
var14 = 34
for i_2 = 1, arg3 do
arg1:Qi(arg6, i_2, arg2)
end
else
var14 = 112
i_2 = arg2[3](arg3)
return 40226, var14, i_2
end
elseif var14 == 112 then
var14 = 15
arg4[11] = arg2[3](arg3)
else
i_2 = arg4
arg1:yi(i_2, arg5)
i_2 = arg2[3](arg3)
return 31257, var14, i_2
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return nil, var14, arg2[3](arg3)
end;
mQ = function(arg1, arg2, arg3) -- Line 3, Named "mQ"
arg3[arg2 + 3] = 9
end;
A = setfenv;
bQ = table.move;
Bi = function(arg1, arg2, arg3, arg4) -- Line 3, Named "Bi"
arg3[5] = arg4
arg3[3] = arg2
end;
dQ = function(arg1, arg2, arg3, arg4, arg5) -- Line 3, Named "dQ"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var15
if var15 < 113 and 28 < var15 then
local any_FQ_result1, any_FQ_result2 = arg1:FQ(var15, arg2, arg5)
local var18 = any_FQ_result1
var15 = any_FQ_result2
return var15, 42191, arg4, var18
end
if var15 < 90 then
arg2[19] = arg4
return var15, 52194, arg4, var18
end
if 90 < var15 then
var15 = 28
if arg2[34]() == 0 then
else
end
end
return var15, nil, true, var18
end;
ei = function(arg1, arg2, arg3, arg4) -- Line 3, Named "ei"
return arg3[13][arg2]
end;
li = function(arg1, arg2, arg3, arg4) -- Line 3, Named "li"
return arg3 % 8, 24
end;
YQ = function(arg1, arg2, arg3, arg4) -- Line 3, Named "YQ"
local var19
if arg3 == 1.4965776766268446e+136 then
var19 = false
else
var19 = true
end
arg2[8] = var19
arg2[4] = 84
return 5
end;
Ii = function(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) -- Line 3, Named "Ii"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [17] 16. Error Block 10 start (CF ANALYSIS FAILED)
if nil == 20591 then
end
-- KONSTANTERROR: [17] 16. Error Block 10 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [2] 3. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
-- KONSTANTERROR: [2] 3. Error Block 2 end (CF ANALYSIS FAILED)
end;
ni = function(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) -- Line 3, Named "ni"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [19] 18. Error Block 9 start (CF ANALYSIS FAILED)
local any_Hi_result1, any_Hi_result2 = arg1:Hi(47, nil, arg8)
-- KONSTANTERROR: [19] 18. Error Block 9 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [7] 8. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [7] 8. Error Block 2 end (CF ANALYSIS FAILED)
end;
X = function(arg1, arg2, arg3) -- Line 3, Named "X"
return arg2[10275]
end;
hQ = bit32.countlz;
NQ = function(arg1, arg2, arg3) -- Line 3, Named "NQ"
arg2[6303] = (-4160749544) + (arg1.aQ(arg1.pQ(arg2[30161] - arg2[30161], arg2[862]), arg2[14301]) + arg2[30231])
arg2[3442] = (4100261148) + (arg1.nQ(arg1.MQ(arg2[13198], arg1.m[1], arg2[9223]) + arg2[7306], arg2[3993], arg2[862]) - arg1.m[8])
local var22
local function INLINED_2() -- Internal function, doesn't exist in bytecode
var22 = arg2[4538]
return var22
end
if arg1.pQ(arg1.m[3] - arg2[30231], arg2[4901]) - arg1.m[4] >= arg1.m[5] or not INLINED_2() then
var22 = arg1.m[1]
end
local var23 = -4 + var22
arg2[10816] = var23
return var23
end;
KQ = function(arg1, arg2, arg3, arg4) -- Line 3, Named "KQ"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [5] 6. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [5] 6. Error Block 2 end (CF ANALYSIS FAILED)
end;
I = bit32.bnot;
jQ = function(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 3, Named "jQ"
if not arg6[19] then
arg3[arg2] = arg6[13][arg5]
else
local var25 = arg6[13][arg5]
local any_Gi_result1 = arg1:Gi(var25, nil)
var25[any_Gi_result1 + 1] = arg4
for i_8 = 22, 77, 55 do
if i_8 == 22 then
arg1:Oi(var25, any_Gi_result1, arg2)
elseif i_8 == 77 then
arg1:mQ(any_Gi_result1, var25)
end
end
end
end;
UQ = string.char;
wQ = function(arg1, arg2, arg3, arg4) -- Line 3, Named "wQ"
arg2[22][arg3 + 3] = arg4
end;
Y = function(arg1, arg2, arg3, arg4) -- Line 3, Named "Y"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
arg3[3] = arg1.w.create
local var27
if arg2[10275] then
var27 = arg1:X(arg2, var27)
return var27
end
if arg1.m[8] ~= var27 or not arg1.m[6] then
end
arg2[28454] = (6737340557) + (arg2[31444] - arg1.m[9] - arg1.m[7] - arg1.m[4])
if arg1.m[8] == arg2[29961] or not arg1.m[5] then
end
if arg1.m[2] >= arg1.m[8] + arg2[31444] or not arg1.m[6] then
end
var27 = -4294967116 + arg1.lQ(arg2[29961])
arg2[10275] = var27
return var27
end;
Ni = function(arg1, arg2) -- Line 3, Named "Ni"
return arg2 * 128
end;
fQ = function(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 3, Named "fQ"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
arg2[27] = {}
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [21] 19. Error Block 24 start (CF ANALYSIS FAILED)
if nil == 42191 then
end
-- KONSTANTERROR: [21] 19. Error Block 24 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [7] 7. Error Block 32 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if nil == 52194 then
-- KONSTANTWARNING: GOTO [30] #27
end
-- KONSTANTERROR: [7] 7. Error Block 32 end (CF ANALYSIS FAILED)
end;
Fi = function(arg1, arg2) -- Line 3, Named "Fi"
for i_3 = 109, 355, 87 do
if 109 >= i_3 then
else
local any_Pi_result1, _, _, any_Pi_result4 = arg1:Pi(arg2, 1, i_3, 0)
local var33 = any_Pi_result1
if var33 == 19860 then
elseif var33 ~= -2 then
else
return -2, any_Pi_result4
end
end
end
return nil
end;
DQ = function(arg1, arg2) -- Line 3, Named "DQ"
arg2[25] = arg2[35]
arg2[36] = arg2[45]
end;
P = nil;
eQ = bit32.countrz;
PQ = function(arg1, arg2, arg3, arg4, arg5) -- Line 3, Named "PQ"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var34
if 16 >= var34 then
local function var35(...) -- Line 3
return ...()
end
local var36
if arg5[20166] then
var34 = arg5[20166]
else
local function INLINED_3() -- Internal function, doesn't exist in bytecode
var36 = arg5[862]
return var36
end
if arg1.m[4] >= arg5[9621] or not INLINED_3() then
var36 = arg1.m[7]
end
var34 = 15 + arg1.eQ(arg1.eQ(var36 + arg5[13564]))
arg5[20166] = var34
end
return 35888, var35, var34
end
if var34 == 28 then
var34 = arg1:zQ(arg5, var34, arg4)
else
arg4[46] = function() -- Line 3
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg4 (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local any_Di_result1, any_Di_result2, any_Di_result3 = arg1:Di(nil, arg4, nil, nil)
local var41 = any_Di_result3
local any_Ii_result1, any_Ii_result2, any_Ii_result3, any_Ii_result4, any_Ii_result5 = arg1:Ii(arg4, var41, nil, any_Di_result2, nil, nil, any_Di_result1)
local _, any_Ci_result2, any_Ci_result3, any_Ci_result4, any_Ci_result5, _, _ = arg1:Ci(var41, any_Ii_result3, nil, arg4, any_Ii_result2, nil, any_Ii_result4, nil, any_Ii_result5, any_Ii_result1)
local any_xi_result1, _, _, _, _, _, _ = arg1:xi(nil, nil, any_Ci_result4, nil, nil, nil, any_Ci_result2, any_Ci_result3, arg4, any_Ci_result5, nil)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [335] 301. Error Block 61 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [335] 301. Error Block 61 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [85] 82. Error Block 82 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [335.65666]
if any_xi_result1 < any_xi_result1 then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if any_xi_result1 >= any_xi_result1 then
else
end
-- KONSTANTWARNING: GOTO [335] #301
end
-- KONSTANTERROR: [85] 82. Error Block 82 end (CF ANALYSIS FAILED)
end
if arg5[372] then
var34 = arg5[372]
else
var34 = -286114975 + arg1.pQ(arg1.iQ(arg1.nQ(arg1.m[8] + arg1.m[7]), arg5[14832]))
arg5[372] = var34
end
end
return nil, var35, var34
end;
K = string.unpack;
e = function(arg1, arg2, arg3) -- Line 3, Named "e"
return arg3[14301]
end;
s = unpack;
Ui = function(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14) -- Line 3, Named "Ui"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
arg9 = 51
local var64
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [43] 36. Error Block 15 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [43] 36. Error Block 15 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [1] 2. Error Block 47 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [43.14]
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [43.966]
if nil < var64 then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if var64 < nil then
-- KONSTANTWARNING: GOTO [43] #36
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if var64 < nil then
var64 = 98
-- KONSTANTWARNING: GOTO [47] #40
end
-- KONSTANTERROR: [1] 2. Error Block 47 end (CF ANALYSIS FAILED)
end;
_ = function(arg1, arg2, arg3) -- Line 3, Named "_"
local var65
local function INLINED_4() -- Internal function, doesn't exist in bytecode
var65 = arg1.m[1]
return var65
end
if arg1.m[7] > arg1.m[5] or not INLINED_4() then
var65 = arg1.m[2]
end
var65 = arg1.m[4]
var65 = arg1.m
arg3[31444] = (-104850758) + (var65 - arg1.m[4] + var65 - var65[4])
var65 = arg1.m
var65 = arg1.m[5]
var65 = arg1.m
local var66 = -633077120 + arg1.nQ(var65[1] - var65 + var65[2] - arg1.m[1], arg1.m[4])
arg3[29961] = var66
return var66
end;
qi = function(arg1, arg2, arg3, arg4) -- Line 3, Named "qi"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var67
if var67 < 62 then
arg3[35] = function() -- Line 3
--[[ Upvalues[1]:
[1]: arg3 (readonly)
]]
local any_31_result1, any_31_result2 = arg3[31]("<I4", arg3[30], arg3[12])
arg3[12] = any_31_result2
return any_31_result1
end
local var71
if arg4[30523] then
var67 = arg4[30523]
else
local function INLINED_5() -- Internal function, doesn't exist in bytecode
var71 = arg1.m[2]
return var71
end
if arg4[15437] >= arg1.m[5] - arg4[13564] or not INLINED_5() then
var71 = arg4[25185]
end
var71 = arg4[30161]
arg4[862] = (-4177975613) + (arg1.nQ(var71, arg4[1270]) + var71)
var71 = arg4[25185]
var71 = arg4[14832]
if var71 >= var71 + arg4[30161] or not arg4[31444] then
end
var71 = 22424
var67 = (-26) + (arg4[12616] + arg4[var71] - arg4[30161])
arg4[30523] = var67
end
return 21906, var67
end
arg3[36] = function() -- Line 3
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg3 (readonly)
]]
local any_mi_result1, any_mi_result2 = arg1:mi(arg3)
if any_mi_result1 ~= -2 then
else
return any_mi_result2
end
end
if not arg4[4901] then
var67 = -1073741818 + arg1.iQ(arg1.tQ(var67 + arg4[14832], arg4[1167]) - arg4[9223], arg4[14832])
arg4[4901] = var67
else
var67 = arg1:ji(var67, arg4)
end
return 21906, var67
end;
Xi = function(arg1, arg2, arg3, arg4, arg5) -- Line 3, Named "Xi"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local any_35_result1 = arg4[35]()
local var76 = any_35_result1 / 2
local var77
if arg4[14] == arg5 then
arg4[39] = 238
arg4[25] = arg4[38]
elseif any_35_result1 % 2 ~= 0 then
var77 = arg1:_i(var76, arg3, var77, arg4)
else
arg3[var77] = var76 - var76 % 1
end
var77 += 1
return var77, -arg4[8]
end;
cQ = function(arg1, arg2, arg3, arg4) -- Line 3, Named "cQ"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
if arg3 > 86 then
if 120 > arg3 then
arg2[8][8] = arg1.Q.lshift
return 63792, arg3
end
arg2[8][11] = arg1.r
local var78
if arg4[3996] then
local _ = arg4[3996]
else
var78 = (109) + (arg4[12616] - arg4[13198] + arg4[15939] - arg4[30523] + arg4[13348])
arg4[26187] = var78
local function INLINED_6() -- Internal function, doesn't exist in bytecode
var78 = arg4[3115]
return var78
end
if arg4[20166] >= arg1.lQ(arg1.nQ(arg4[25185], arg4[6303], arg4[30231]) + arg4[3625]) or not INLINED_6() then
var78 = arg4[1167]
end
arg4[3996] = 22 + var78
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return 20949, 22 + var78
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if 22 + var78 >= 86 then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return 20949, arg1:xQ(arg4, arg2, 22 + var78)
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return nil, arg1:SQ(arg2, arg1:xQ(arg4, arg2, 22 + var78), arg4)
end;
MQ = bit32.band;
g = function(arg1, arg2, arg3, arg4) -- Line 3, Named "g"
arg2[6] = error
local var80
if arg4[12616] then
var80 = arg4[12616]
return var80
end
var80 = (-27136215) + (arg1.hQ(arg1.m[1] + var80) + arg1.m[8] - arg1.m[4])
arg4[12616] = var80
return var80
end;
fi = function(arg1, arg2) -- Line 3, Named "fi"
arg2[42] = {}
arg2[43] = function() -- Line 3
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
local any_Ki_result1 = arg1:Ki(arg2, nil)
arg2[12] += any_Ki_result1
return arg2[24](arg2[30], arg2[12] - any_Ki_result1, arg2[12] - 1)
end
arg2[44] = nil
arg2[45] = nil
end;
TQ = function(arg1, arg2, arg3, arg4) -- Line 3, Named "TQ"
if 75 <= arg2 then
return arg4[39]()
end
return arg4[36]()
end;
Gi = function(arg1, arg2, arg3) -- Line 3, Named "Gi"
return #arg2
end;
ii = function(arg1, arg2, arg3) -- Line 3, Named "ii"
return #arg2
end;
E = string;
Zi = function(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 3, Named "Zi"
if arg2 == 50 then
arg5[arg6 + 1] = arg3
arg5[arg6 + 2] = arg4
end
end;
Ri = function(arg1, arg2, arg3) -- Line 3, Named "Ri"
arg2[arg3 + 3] = 4
end;
mi = function(arg1, arg2) -- Line 3, Named "mi"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [20] 19. Error Block 15 start (CF ANALYSIS FAILED)
if nil ~= -2 then
else
return -2, nil
end
-- KONSTANTERROR: [20] 19. Error Block 15 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [5] 6. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
-- KONSTANTERROR: [5] 6. Error Block 2 end (CF ANALYSIS FAILED)
end;
h = function(arg1, arg2, arg3) -- Line 3, Named "h"
return arg2[9621]
end;
VQ = function(arg1) -- Line 3
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local tbl = {}
local any_C_result1, any_C_result2 = arg1:C(nil, tbl, nil)
local var87 = any_C_result2
local any_Ei_result1, any_Ei_result2 = arg1:Ei(nil, arg1:L(arg1:i(tbl, var87, arg1:n(tbl, arg1:H(arg1:S(var87, any_C_result1, tbl), var87, tbl))), tbl, var87), tbl, var87)
local var90 = any_Ei_result1
arg1:fi(tbl)
local _, any__Q_result2, _, any__Q_result4 = arg1:_Q(nil, nil, any_Ei_result2, tbl, nil, var87)
local var95 = any__Q_result4
local any_HQ_result1, _ = arg1:HQ(any__Q_result2, var90, var87, var95, tbl)
if any_HQ_result1 == -1 then
else
local const_number_3 = 92
while true do
if 11 < const_number_3 and const_number_3 < 110 then
tbl[8][15] = arg1.MQ
local var99
if var87[1838] then
else
local function INLINED_7() -- Internal function, doesn't exist in bytecode
var99 = var87[3996]
return var99
end
if var87[3625] > arg1.nQ(var87[862]) - var87[3996] - var87[1270] or not INLINED_7() then
var99 = var87[30231]
end
var87[1838] = -25 + var99
end
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x2)
if -25 + var99 < 117 and 92 < -25 + var99 then
var99 = _
var99 = _
var99 = 28847
if var87[var99] then
else
var99 = arg1.eQ(arg1.ZQ(var87[9397] + var87[20166], var87[28304]) - var87[9621])
var87[28847] = 117 + var99
end
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if 110 < 117 + var99 then
var99 = tbl[45](var99, tbl[42])(var99, arg1.j, var90, var95, tbl[39], tbl[34], tbl[35], arg1.m, tbl[33], tbl[45])
return tbl[45](var99, tbl[42])
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if 117 + var99 < 92 then
var99 = arg1.iQ
tbl[8][9] = var99
var99 = 9397
local var100
if not var87[var99] then
local function INLINED_8() -- Internal function, doesn't exist in bytecode
var100 = var87[7306]
return var100
end
if var87[31444] >= var87[13041] or not INLINED_8() then
var100 = var87[13041]
end
var100 = 15939
var99 = -4289855461 + arg1.iQ(arg1.lQ(arg1.ZQ(var100, var87[3993])), var87[var100])
var87[28304] = var99
var100 = 7002
var100 = var87[4901]
var100 = 4901
local function INLINED_9() -- Internal function, doesn't exist in bytecode
var99 = var87[29961]
return var99
end
if arg1.eQ(arg1.tQ(arg1.aQ(var87[var100], var100), var87[var100])) ~= arg1.m[9] or not INLINED_9() then
var99 = var87[1167]
end
var87[9397] = 80 + var99
else
end
end
end
end
end
end
end;
q = string.match;
bi = function(arg1, arg2, arg3, arg4, arg5) -- Line 3, Named "bi"
local len = #arg5[22]
arg5[22][len + 1] = arg2
arg5[22][len + 2] = arg3
arg5[22][len + 3] = arg4
end;
Ai = function(arg1, arg2) -- Line 3, Named "Ai"
local any_31_result1_4, any_31_result2_4 = arg2[31]("<d", arg2[30], arg2[12])
local const_number_2 = 105
while true do
if const_number_2 == 105 then
elseif arg1:wi(any_31_result2_4, arg2, const_number_2) ~= 52 then
else
return {arg1:ui(any_31_result1_4)}
end
end
return nil
end;
Hi = function(arg1, arg2, arg3, arg4) -- Line 3, Named "Hi"
return 66, arg4[41]()
end;
ji = function(arg1, arg2, arg3) -- Line 3, Named "ji"
return arg3[4901]
end;
Di = function(arg1, arg2, arg3, arg4, arg5) -- Line 3, Named "Di"
local var107 = {nil, arg1.P, nil, arg1.P, nil, arg1.P, arg1.P, arg1.P, arg1.P, nil, nil}
var107[2] = arg3[40]()
return nil, nil, var107
end;
u = setmetatable;
b = function(arg1, arg2) -- Line 3, Named "b"
arg2[12] = 1
end;
J = function(arg1, arg2, arg3, arg4, arg5) -- Line 3, Named "J"
local var108
if 69 < var108 then
return -2, var108, arg2
end
if var108 < 96 then
var108 = arg1:v(var108, arg4, arg3)
end
return nil, var108
end;
Pi = function(arg1, arg2, arg3, arg4, arg5) -- Line 3, Named "Pi"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var109
if 196 < arg4 then
return -2, var109, arg5, arg5
end
repeat
local any_zi_result1, any_zi_result2, any_zi_result3 = arg1:zi(var109, arg2, nil, arg5)
var109 = any_zi_result2
until any_zi_result1 < 128
return 19860, var109, any_zi_result3
end;
iQ = bit32.rrotate;
zQ = function(arg1, arg2, arg3, arg4) -- Line 3, Named "zQ"
arg4[44] = function(...) -- Line 3
--[[ Upvalues[1]:
[1]: arg4 (readonly)
]]
local any_29_result1 = arg4[29]('#', ...)
if any_29_result1 == 0 then
return any_29_result1, arg4[32]
end
return any_29_result1, {...}
end
if not arg2[10816] then
return arg1:NQ(arg2, arg3)
end
return arg2[10816]
end;
sQ = function(arg1, arg2, arg3, arg4, arg5, arg6, arg7) -- Line 3, Named "sQ"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var116
if arg7 > 46 then
local any_yQ_result1, any_yQ_result2, any_yQ_result3, any_yQ_result4 = arg1:yQ(arg5, arg6, arg7, arg2, arg4)
local var121 = any_yQ_result4
if any_yQ_result1 ~= 50968 then
else
return var116, 918, any_yQ_result3, any_yQ_result2, var121
end
else
local any_PQ_result1, any_PQ_result2, any_PQ_result3 = arg1:PQ(var116, var121, arg4, arg5)
var116 = any_PQ_result2
if any_PQ_result1 == 35888 then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x2)
return var116, 25171, any_yQ_result3, any_yQ_result2, any_PQ_result3
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x3)
return var116, nil, any_yQ_result3, any_yQ_result2, any_PQ_result3
end;
m = {3358, 4177975722, 2820483500, 4073124891, 562679757, 1243148546, 1326198783, 4100261125, 1338016872};
tQ = bit32.rshift;
U = function(arg1, arg2, arg3, arg4) -- Line 3, Named "U"
if arg3 == 12 then
arg2[18] = function(arg1_2, arg2_2, arg3_2) -- Line 3
--[[ Upvalues[1]:
[1]: arg2 (readonly)
]]
if arg1_2 < arg3_2 then return end
local var127 = arg1_2 - arg3_2 + 1
if 8 <= var127 then
return arg2_2[arg3_2], arg2_2[arg3_2 + 1], arg2_2[arg3_2 + 2], arg2_2[arg3_2 + 3], arg2_2[arg3_2 + 4], arg2_2[arg3_2 + 5], arg2_2[arg3_2 + 6], arg2_2[arg3_2 + 7], arg2[18](arg1_2, arg2_2, arg3_2 + 8)
end
if 7 <= var127 then
return arg2_2[arg3_2], arg2_2[arg3_2 + 1], arg2_2[arg3_2 + 2], arg2_2[arg3_2 + 3], arg2_2[arg3_2 + 4], arg2_2[arg3_2 + 5], arg2_2[arg3_2 + 6], arg2[18](arg1_2, arg2_2, arg3_2 + 7)
end
if 6 <= var127 then
return arg2_2[arg3_2], arg2_2[arg3_2 + 1], arg2_2[arg3_2 + 2], arg2_2[arg3_2 + 3], arg2_2[arg3_2 + 4], arg2_2[arg3_2 + 5], arg2[18](arg1_2, arg2_2, arg3_2 + 6)
end
if 5 <= var127 then
return arg2_2[arg3_2], arg2_2[arg3_2 + 1], arg2_2[arg3_2 + 2], arg2_2[arg3_2 + 3], arg2_2[arg3_2 + 4], arg2[18](arg1_2, arg2_2, arg3_2 + 5)
end
if 4 <= var127 then
return arg2_2[arg3_2], arg2_2[arg3_2 + 1], arg2_2[arg3_2 + 2], arg2_2[arg3_2 + 3], arg2[18](arg1_2, arg2_2, arg3_2 + 4)
end
if 3 <= var127 then
return arg2_2[arg3_2], arg2_2[arg3_2 + 1], arg2_2[arg3_2 + 2], arg2[18](arg1_2, arg2_2, arg3_2 + 3)
end
if 2 > var127 then
return arg2_2[arg3_2], arg2[18](arg1_2, arg2_2, arg3_2 + 1)
end
return arg2_2[arg3_2], arg2_2[arg3_2 + 1], arg2[18](arg1_2, arg2_2, arg3_2 + 2)
end
if arg4[9621] then
local _ = arg1:h(arg4, arg3)
else
local var129
end
else
if var129 == 123 then
arg2[19] = nil
local var130
if not arg4[1167] then
local function INLINED_10() -- Internal function, doesn't exist in bytecode
var130 = arg4[4538]
return var130
end
if arg4[29961] >= arg1.iQ(var129, arg4[14832]) or not INLINED_10() then
var130 = arg4[29961]
end
var130 = arg1.m[5]
var129 = (562679714) + (arg1.nQ(var130, arg4[14832]) - var130)
local var131 = var129
arg4[1167] = var131
else
var131 = arg4[1167]
end
return 34682, var131
end
if var131 == 30 then
arg2[20] = function(arg1_3, arg2_3, arg3_3) -- Line 3
--[[ Upvalues[1]:
[1]: arg2 (readonly)
]]
local var133 = arg1_3 or 1
local var134 = arg2_3
if not var134 then
var134 = #arg3_3
end
local var135 = var134
if 7997 >= var135 - var133 + 1 then
return arg2[11](arg3_3, var133, var135)
end
return arg2[18](var135, arg3_3, var133)
end
arg2[21] = arg1.W
if not arg4[10402] then
var130 = arg1.m[2] + arg4[3115] + var131
var130 = arg1.m[3]
var131 = (-6998459248) + (arg1.pQ(var130) + var130)
arg4[10402] = var131
else
var131 = arg4[10402]
end
elseif var131 == 101 then
arg2[22] = arg1.P
if not arg4[3993] then
var130 = arg1.nQ(arg1.nQ(arg1.m[6], arg4[30161]) - arg1.m[9] - arg1.m[9], arg4[10402])
arg4[13348] = -2862081978 + var130
var130 = arg1.eQ(arg1.tQ(arg4[3115], arg4[14832]))
var130 = arg1.m[2]
var131 = (-5504174505) + (var130 + arg1.m[7] + var130)
arg4[3993] = var131
else
var131 = arg4[3993]
end
elseif var131 == 0 then
arg2[23] = arg1.bQ
return 28817, var131
end
end
return nil, var131
end;
S = function(arg1, arg2, arg3, arg4) -- Line 3, Named "S"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
arg4[11] = nil
arg4[12] = nil
arg4[13] = nil
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [118] 98. Error Block 22 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [118] 98. Error Block 22 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [7] 8. Error Block 36 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [118.131714]
if nil < 26 then
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x3)
if 26 < nil and nil < 26 then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if not nil then
else
end
-- KONSTANTWARNING: GOTO [118] #98
end
-- KONSTANTERROR: [7] 8. Error Block 36 end (CF ANALYSIS FAILED)
end;
_i = function(arg1, arg2, arg3, arg4, arg5) -- Line 3, Named "_i"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var142
while true do
if 45 == 45 then
elseif 40 == 40 then
var142 = arg5[35]()
elseif 103 ~= 103 then
else
for i_9 = arg2 - arg2 % 1, arg5[35]() do
arg3[i_9] = var142
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return arg5[35]()
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return arg5[35]()
end;
Ei = function(arg1, arg2, arg3, arg4, arg5) -- Line 3, Named "Ei"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
arg4[36] = nil
arg4[37] = nil
arg4[38] = nil
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [30] 27. Error Block 9 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [30] 27. Error Block 9 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [8] 9. Error Block 16 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [30.1753]
if 27 > nil then
if nil ~= 21906 then
-- KONSTANTWARNING: GOTO [30] #27
end
-- KONSTANTWARNING: GOTO [30] #27
end
-- KONSTANTERROR: [8] 9. Error Block 16 end (CF ANALYSIS FAILED)
end;
ZQ = bit32.lshift;
Si = function(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) -- Line 3, Named "Si"
local var144
if 333 >= arg8 then
var144 = 50
arg4[7] = arg5
else
if arg8 ~= 553 then
arg1:Bi(arg6, arg4, arg3)
return 37057, var144
end
arg4[9] = arg7
return 13100, var144
end
return nil, var144
end;
Li = function(arg1, arg2, arg3, arg4) -- Line 3, Named "Li"
arg2[arg3] = arg3 - arg4
end;
nQ = bit32.bxor;
ui = function(arg1, arg2) -- Line 3, Named "ui"
return arg2
end;
Wi = function(arg1, arg2, arg3, arg4) -- Line 3, Named "Wi"
if arg4[37] <= arg3 then
return -2, arg2, arg3 - arg4[5]
end
return nil, 89
end;
W = getfenv;
HQ = function(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 3, Named "HQ"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [82] 72. Error Block 36 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [82] 72. Error Block 36 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [1] 2. Error Block 74 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [82.117770003]
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [82.7]
if arg2 < nil then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if arg3 == nil then
while true do
end
-- KONSTANTWARNING: GOTO [83] #73
end
-- KONSTANTWARNING: GOTO [83] #73
end
-- KONSTANTERROR: [1] 2. Error Block 74 end (CF ANALYSIS FAILED)
end;
xQ = function(arg1, arg2, arg3, arg4) -- Line 3, Named "xQ"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
arg3[8][14] = arg1.D
arg3[8][12] = arg1.o
local var145
if not arg2[20968] then
local function INLINED_11() -- Internal function, doesn't exist in bytecode
var145 = arg2[13198]
return var145
end
if arg2[3993] > arg2[9223] + arg1.m[7] or not INLINED_11() then
var145 = arg2[4538]
end
var145 = arg2[4901]
if var145 > var145 - arg2[28454] or not arg2[30523] then
end
arg2[3111] = 51 + arg2[3442]
var145 = arg1.nQ(arg1.nQ(arg1.m[6]), arg2[15939], arg2[29961])
var145 = arg2[3115]
arg2[7002] = (-5343409799) + (var145 + arg1.m[8] + var145)
var145 = arg2[372]
var145 = 14832
local var146 = (-2968768003) + (arg1.aQ(arg1.lQ(var145 - arg2[3625]), arg2[var145]) - arg1.m[7])
arg2[20968] = var146
return var146
end
return arg2[20968]
end;
L = function(arg1, arg2, arg3, arg4) -- Line 3, Named "L"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
arg3[29] = nil
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [70] 59. Error Block 17 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [70] 59. Error Block 17 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [3] 4. Error Block 58 start (CF ANALYSIS FAILED)
if 15 == 15 then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if nil then
else
end
-- KONSTANTWARNING: GOTO [70] #59
end
-- KONSTANTERROR: [3] 4. Error Block 58 end (CF ANALYSIS FAILED)
end;
H = function(arg1, arg2, arg3, arg4) -- Line 3, Named "H"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
arg4[14] = nil
arg4[15] = nil
arg4[16] = nil
arg4[17] = nil
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [25] 23. Error Block 7 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [25] 23. Error Block 7 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [10] 11. Error Block 12 start (CF ANALYSIS FAILED)
if nil == 40318 then
-- KONSTANTWARNING: GOTO [25] #23
end
-- KONSTANTERROR: [10] 11. Error Block 12 end (CF ANALYSIS FAILED)
end;
B = function(arg1, arg2, arg3) -- Line 3, Named "B"
local var148 = (5016891542) + (arg1.aQ(arg3[12616] - arg1.m[4], 17) - arg1.m[6] - arg1.m[2])
arg3[13564] = var148
return var148
end;
yQ = function(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 3, Named "yQ"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var182
if arg4 <= 47 then
local var182_result1 = var182()
return 50968, var182, var182_result1, arg4
end
if arg4 > 53 then
arg6[45] = function(arg1_4, arg2_4) -- Line 3
--[[ Upvalues[1]:
[1]: arg6 (readonly)
]]
local _2_upvr = arg1_4[2]
local _1_upvr = arg1_4[1]
local _10_upvr = arg1_4[10]
local _3_upvr = arg1_4[3]
local _5_upvr = arg1_4[5]
local _9_upvr = arg1_4[9]
local _4_upvr = arg1_4[4]
local _7_upvr = arg1_4[7]
local _8_upvr = arg1_4[8]
return function(...) -- Line 3
--[[ Upvalues[12]:
[1]: arg6 (copied, readonly)
[2]: _2_upvr (readonly)
[3]: _1_upvr (readonly)
[4]: _10_upvr (readonly)
[5]: _3_upvr (readonly)
[6]: _5_upvr (readonly)
[7]: _9_upvr (readonly)
[8]: _4_upvr (readonly)
[9]: _7_upvr (readonly)
[10]: arg2_4 (readonly)
[11]: arg1_4 (readonly)
[12]: _8_upvr (readonly)
]]
local any_3_result1_upvr = arg6[3](_2_upvr)
local var165_upvw = 1
local var166_upvw
local any_44_result1_upvr, any_44_result2_upvr = arg6[44](...)
local const_number_8_upvw = 1
local const_number_upvw = 1
local const_number_7_upvw = 0
local any_21_result1_upvr = arg6[21]()
local var174_upvw
local var175_upvw
local var176_upvw
local var177_upvw
local any_1_result1, any_1_result2, any_1_result3, any_1_result4 = arg6[1](function() -- Line 3
--[[ Upvalues[23]:
[1]: _1_upvr (copied, readonly)
[2]: var165_upvw (read and write)
[3]: _10_upvr (copied, readonly)
[4]: _3_upvr (copied, readonly)
[5]: any_3_result1_upvr (readonly)
[6]: any_44_result2_upvr (readonly)
[7]: const_number_upvw (read and write)
[8]: _5_upvr (copied, readonly)
[9]: const_number_8_upvw (read and write)
[10]: _9_upvr (copied, readonly)
[11]: arg6 (copied, readonly)
[12]: _4_upvr (copied, readonly)
[13]: _7_upvr (copied, readonly)
[14]: var166_upvw (read and write)
[15]: arg2_4 (copied, readonly)
[16]: const_number_7_upvw (read and write)
[17]: any_21_result1_upvr (readonly)
[18]: var174_upvw (read and write)
[19]: var175_upvw (read and write)
[20]: var176_upvw (read and write)
[21]: var177_upvw (read and write)
[22]: arg1_4 (copied, readonly)
[23]: any_44_result1_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [4734] 4381. Error Block 1171 start (CF ANALYSIS FAILED)
var165_upvw += 1
-- KONSTANTERROR: [4734] 4381. Error Block 1171 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [10] 11. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [4737.10]
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [4737.65666]
-- KONSTANTERROR: [10] 11. Error Block 2 end (CF ANALYSIS FAILED)
end)
if not any_1_result1 then
if var166_upvw then
for i_4, v_2 in var166_upvw do
if 1 > i_4 then
else
v_2[2] = v_2
v_2[3] = any_3_result1_upvr[i_4]
v_2[1] = 3
var166_upvw[i_4] = nil
end
end
end
if arg6[14](any_1_result2) == "string" then
if not arg6[2](any_1_result2, ":(%d+)[:\r\n]") then
arg6[6](any_1_result2, 0)
else
i_4 = _8_upvr[var165_upvw] or "(internal)"
v_2 = ": "
arg6[6]("Luraph Script:"..i_4..v_2..arg6[38](any_1_result2), 0)
end
else
arg6[6](any_1_result2, 0)
end
else
if any_1_result2 then
if any_1_result4 == 1 then
return any_3_result1_upvr[any_1_result3]()
end
i_4 = const_number_8_upvw
v_2 = any_3_result1_upvr
return any_3_result1_upvr[any_1_result3](arg6[20](any_1_result3 + 1, i_4, v_2))
end
if any_1_result3 then
i_4 = any_3_result1_upvr
return arg6[20](any_1_result3, any_1_result4, i_4)
end
end
end
end
if not arg2[3625] then
arg2[3625] = -594 + arg1.aQ(arg1.iQ(arg2[28979] - arg2[10816] + arg2[14832], arg2[14301]), arg2[3993])
else
end
else
function var182() -- Line 3
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg6 (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 28 start (CF ANALYSIS FAILED)
local _, any_fQ_result2, any_fQ_result3, _, _ = arg1:fQ(arg6, nil, nil, nil, nil)
if any_fQ_result3 == -1 then return end
if arg6[8] == arg6[20] then
arg1:DQ(arg6)
end
arg6[22] = arg6[3](any_fQ_result2 * 3)
-- KONSTANTERROR: [0] 1. Error Block 28 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [100] 87. Error Block 23 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [100] 87. Error Block 23 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [41] 38. Error Block 6 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [100.65666]
-- KONSTANTERROR: [41] 38. Error Block 6 end (CF ANALYSIS FAILED)
end
local var183
if arg2[15939] then
else
if arg1.iQ(arg2[31444] - arg2[9223], arg2[4901]) + arg2[14832] >= arg1.m[4] or not arg2[30231] then
end
arg2[15939] = -20 + arg2[14301]
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return nil, var182, var182_result1, -20 + arg2[14301]
end;
D = bit32.rshift;
kQ = string.pack;
gi = function(arg1, arg2, arg3, arg4) -- Line 3, Named "gi"
return arg3[3](arg4)
end;
uQ = function(arg1, arg2, arg3, arg4, arg5, arg6, arg7) -- Line 3, Named "uQ"
local var189
if arg7 <= 186 then
if 87 >= arg7 then
var189 = #arg2[22]
else
arg2[22][var189 + 1] = arg6
end
elseif arg7 ~= 285 then
arg1:wQ(arg2, var189, arg5)
else
arg2[22][var189 + 2] = arg4
return 12981, var189
end
return nil, var189
end;
z = unpack;
rQ = function(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 3, Named "rQ"
for i_5 = 1, arg2 do
arg1:oQ(i_5, arg6, arg4)
end
for i_6 = 1, #arg6[22], 3 do
arg6[22][i_6][arg6[22][i_6 + 1]] = arg4[arg6[22][i_6 + 2]]
end
if arg3 then
i_6 = arg4
arg1:IQ(i_6, arg6)
end
return 52
end;
ci = function(arg1, arg2, arg3, arg4, arg5) -- Line 3, Named "ci"
return arg4[41](), arg3 % 8
end;
_Q = function(arg1, arg2, arg3, arg4, arg5, arg6, arg7) -- Line 3, Named "_Q"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
arg5[46] = nil
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [24] 23. Error Block 14 start (CF ANALYSIS FAILED)
if nil == 25171 then
end
-- KONSTANTERROR: [24] 23. Error Block 14 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [7] 8. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
-- KONSTANTERROR: [7] 8. Error Block 2 end (CF ANALYSIS FAILED)
end;
AQ = function(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) -- Line 3, Named "AQ"
if arg5 == 0 then
arg1:jQ(arg7, arg6, arg4, arg2, arg8)
else
if arg5 == 7 then
arg3[arg7] = arg2
return
end
if arg5 == 1 then
arg3[arg7] = arg7 + arg2
return
end
if arg5 == 4 then
arg1:qQ(arg7, arg2, arg3)
return
end
if arg5 ~= 2 then return end
for i_10 = 87, 384, 99 do
local any_uQ_result1, _ = arg1:uQ(arg8, nil, arg7, arg2, arg6, i_10)
if any_uQ_result1 == 12981 then
end
end
end
end;
V = function(arg1, arg2) -- Line 3, Named "V"
while true do
local _, any_Z_result2, _, any_Z_result4 = arg1:Z(nil, 79, arg2)
local var199 = any_Z_result2
if var199 == 63892 then
elseif var199 == -2 then
return -2, any_Z_result4
end
end
return nil
end;
r = bit32.lrotate;
SQ = function(arg1, arg2, arg3, arg4) -- Line 3, Named "SQ"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
arg2[8][7] = arg1.I
local var200
if arg4[13041] then
return arg4[13041]
end
local function INLINED_12() -- Internal function, doesn't exist in bytecode
var200 = arg1.m[5]
return var200
end
if arg1.lQ(arg4[22424]) >= arg4[9621] or not INLINED_12() then
var200 = arg1.m[6]
end
var200 = arg4[30523]
if var200 - arg4[22424] > var200 or not arg4[9223] then
end
local var201 = 14 + arg4[22381]
arg4[13041] = var201
return var201
end;
n = function(arg1, arg2, arg3) -- Line 3, Named "n"
arg2[19] = nil
arg2[20] = nil
arg2[21] = nil
arg2[22] = nil
arg2[23] = nil
return 12
end;
y = bit32.bor;
CQ = function(arg1, arg2, arg3, arg4) -- Line 3, Named "CQ"
if arg2 == 62 then
local any_YQ_result1 = arg1:YQ(arg4, arg3, arg2)
elseif any_YQ_result1 == 5 then
arg1:gQ(arg4)
return 44638, any_YQ_result1
end
return nil, any_YQ_result1
end;
Qi = function(arg1, arg2, arg3, arg4) -- Line 3, Named "Qi"
while true do
if 44 == 44 then
elseif 27 ~= 27 then
else
arg1:ri(arg3, arg4, arg2, arg4[40]())
return
end
end
end;
ri = function(arg1, arg2, arg3, arg4, arg5) -- Line 3, Named "ri"
if arg3[27][arg5] then
arg4[arg2] = arg3[27][arg5]
else
local var205 = arg5 / 4
for i_11 = 102, 234, 10 do
if i_11 == 112 then
arg4[arg2] = nil
return
end
if i_11 == 102 then
arg3[27][arg5] = {var205 - var205 % 1, arg5 % 4}
end
end
end
end;
ki = function(arg1, arg2, arg3, arg4, arg5) -- Line 3, Named "ki"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local _ = 122
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [40] 34. Error Block 13 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [40] 34. Error Block 13 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [6] 7. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [40.10]
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [40.6554764]
-- KONSTANTERROR: [6] 7. Error Block 2 end (CF ANALYSIS FAILED)
end;
Vi = function(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 3, Named "Vi"
local var209 = arg4[13][arg6]
for i_7 = 15, 76, 61 do
if 76 > i_7 then
arg1:Zi(arg2, arg5, arg3, var209, #var209)
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
arg1:Ri(var209, #var209)
end
end
end;
aQ = bit32.lrotate;
wi = function(arg1, arg2, arg3, arg4) -- Line 3, Named "wi"
arg3[12] = arg2
return 52
end;
F = coroutine.wrap;
j = function(...) -- Line 3, Named "j"
...[...] = nil
end;
O = function(arg1, arg2, arg3, arg4, arg5) -- Line 3, Named "O"
if 114 > arg5 then
if arg2[32] ~= arg2[33] then
local any_G_result1, any_G_result2 = arg1:G(arg3, arg2, arg4)
if any_G_result1 == -2 then
return arg5, -2, arg4, arg3, any_G_result2
end
end
return arg5, 3242, arg4, arg3
end
local any_31_result1_2, any_31_result2_2 = arg2[31](arg1.f, arg2[30], arg2[12])
return 41, nil, any_31_result2_2, any_31_result1_2
end;
Ji = function(arg1, arg2, arg3, arg4) -- Line 3, Named "Ji"
return #arg2[22], 87
end;
EQ = function(arg1, arg2, arg3, arg4) -- Line 3, Named "EQ"
-- KONSTANTERROR: [0] 1. Error Block 16 start (CF ANALYSIS FAILED)
local var218
if arg4[34] == arg4[32] then
return -1, var218
end
if 156 >= arg2 then
var218 = arg4[43]()
-- KONSTANTWARNING: GOTO [20] #18
end
-- KONSTANTERROR: [0] 1. Error Block 16 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [14] 13. Error Block 17 start (CF ANALYSIS FAILED)
if arg4[34]() ~= 1 then
var218 = false
else
var218 = true
end
do
return nil, var218
end
-- KONSTANTERROR: [14] 13. Error Block 17 end (CF ANALYSIS FAILED)
end;
Oi = function(arg1, arg2, arg3, arg4) -- Line 3, Named "Oi"
arg2[arg3 + 2] = arg4
end;
N = coroutine.yield;
pi = function(arg1, arg2, arg3, arg4) -- Line 3, Named "pi"
arg2[arg3] = arg3 + arg4
end;
gQ = function(arg1, arg2) -- Line 3, Named "gQ"
arg2[34] = -arg2[4]
arg2[39] = -218 * true
end;
pQ = bit32.bor;
x = function(arg1, arg2, arg3, arg4) -- Line 3, Named "x"
arg2[15] = arg1.F
if not arg4[13198] then
local var219 = -2680194147 + arg1.MQ(arg1.iQ(arg4[28454], 6) + arg4[29961] + arg1.m[9])
arg4[13198] = var219
return var219
end
return arg4[13198]
end;
C = function(arg1, arg2, arg3, arg4) -- Line 3, Named "C"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
arg3[1] = pcall
arg3[2] = nil
arg3[3] = nil
arg3[4] = nil
arg3[5] = nil
arg3[6] = nil
arg3[7] = nil
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [102] 85. Error Block 22 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [102] 85. Error Block 22 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [18] 17. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [18] 17. Error Block 2 end (CF ANALYSIS FAILED)
end;
l = function(arg1, arg2, arg3) -- Line 3, Named "l"
local var220
local function INLINED_13() -- Internal function, doesn't exist in bytecode
var220 = arg1.m[6]
return var220
end
if arg1.aQ(arg1.m[6], arg3) >= arg1.m[2] or not INLINED_13() then
var220 = arg1.m[2]
end
var220 = arg1.m[1]
arg2[14832] = -14 + arg1.MQ(var220 - arg2[10275], var220)
var220 = arg1.m[2]
var220 = arg2[30161]
local var221 = 91 + arg1.pQ(arg1.eQ(arg1.MQ(var220 + arg3, var220, arg2[29961])))
arg2[9621] = var221
return var221
end;
Ki = function(arg1, arg2, arg3) -- Line 3, Named "Ki"
local var222
while true do
if 0 == 95 then
if arg2[42] ~= arg2[41] then
return var222
end
while true do
local any_Ti_result1, _ = arg1:Ti(arg2, 44)
local var225 = any_Ti_result1
if var225 == 28032 then
return var222
end
if var225 == 21349 then
end
end
return var222
end
var222 = arg2[40]()
end
return var222
end;
XQ = function(arg1, arg2, arg3) -- Line 3, Named "XQ"
if arg2 == 34 then
if arg3[43] ~= 81 then
else
end
arg3[41] = 30
arg3[5] = true
elseif arg2 ~= 108 then
else
return -1
end
return nil
end;
o = bit32.countlz;
di = function(arg1, ...) -- Line 3, Named "di"
return ...[...]
end;
i = function(arg1, arg2, arg3, arg4) -- Line 3, Named "i"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [16] 14. Error Block 7 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [16] 14. Error Block 7 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [1] 2. Error Block 29 start (CF ANALYSIS FAILED)
if nil == 28817 then
arg2[24] = nil
arg2[25] = nil
-- KONSTANTWARNING: GOTO [22] #20
end
-- KONSTANTERROR: [1] 2. Error Block 29 end (CF ANALYSIS FAILED)
end;
Z = function(arg1, arg2, arg3, arg4) -- Line 3, Named "Z"
if arg3 == 79 then
else
if 98 == 98 then
arg4[12] += 1
local const_number_5 = 89
return arg4[17](arg4[30], arg4[12], arg4[12]), 63892, const_number_5
end
if const_number_5 == 89 then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x2)
return arg4[17](arg4[30], arg4[12], arg4[12]), -2, const_number_5, arg4[17](arg4[30], arg4[12], arg4[12])
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return arg4[17](arg4[30], arg4[12], arg4[12]), nil, const_number_5
end;
IQ = function(arg1, arg2, arg3) -- Line 3, Named "IQ"
arg3[8][2] = arg3[13]
arg3[8][3] = arg2
end;
R = function(arg1, arg2, arg3) -- Line 3, Named "R"
arg3[30] = arg2
arg1:b(arg3)
end;
WQ = function(arg1, arg2, arg3) -- Line 3, Named "WQ"
return arg2[34]()
end;
c = function(arg1, arg2, arg3, arg4) -- Line 3, Named "c"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var228
if var228 < 76 then
arg3[14] = type
local var229
if not arg4[3115] then
local function INLINED_14() -- Internal function, doesn't exist in bytecode
var229 = arg1.m[1]
return var229
end
if arg1.m[2] >= arg1.m[7] or not INLINED_14() then
var229 = arg1.m[2]
end
var229 = arg4[28454]
if var229 + arg1.m[1] ~= var229 or not arg1.m[4] then
end
var229 = arg1.m
if var229[2] > arg4[29961] or not arg1.m[5] then
end
var228 = -562679660 + arg1.m[5]
arg4[3115] = var228
else
var228 = arg4[3115]
end
else
if 10 < var228 and var228 < 97 then
arg3[16] = arg1.kQ
arg3[17] = arg1.d
return 37339, var228
end
if 76 < var228 then
var229 = arg4
var228 = arg1:x(arg3, var228, var229)
return 40318, var228
end
end
return nil, var228
end;
d = string.byte;
hi = function(arg1, arg2, arg3, arg4) -- Line 3, Named "hi"
return (arg4 - arg2) / 8
end;
Q = bit32;
k = function(arg1, arg2, arg3, arg4) -- Line 3, Named "k"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
arg3[29] = arg1.T
local var230
if not arg2[30231] then
local function INLINED_15() -- Internal function, doesn't exist in bytecode
var230 = arg2[29961]
return var230
end
if arg2[3115] >= arg2[13564] or not INLINED_15() then
var230 = arg1.m[7]
end
var230 = arg2[10402]
var230 = 9223
if arg2[var230] >= var230 - arg2[1167] + var230 or not arg2[3993] then
end
local var231 = 36 + arg2[1167]
arg2[30231] = var231
return var231
end
return arg2[30231]
end;
G = function(arg1, arg2, arg3, arg4) -- Line 3, Named "G"
while true do
local any_J_result1, _, any_J_result3 = arg1:J(arg2, arg4, arg3, 69)
if any_J_result1 ~= -2 then
else
return -2, any_J_result3
end
end
return nil
end;
BQ = function(arg1, arg2, arg3) -- Line 3, Named "BQ"
repeat
local any_CQ_result1, _ = arg1:CQ(62, arg3, arg2)
until any_CQ_result1 == 44638
end;
a = function(arg1, arg2, arg3) -- Line 3, Named "a"
return arg2[1270]
end;
ai = function(arg1, arg2, arg3, arg4) -- Line 3, Named "ai"
arg2[arg4 + 1] = arg3
end;
RQ = string.gsub;
qQ = function(arg1, arg2, arg3, arg4) -- Line 3, Named "qQ"
arg4[arg2] = arg2 - arg3
end;
p = function(arg1, arg2, arg3) -- Line 3, Named "p"
local var237 = -4294967160 + arg1.lQ(arg1.aQ(arg1.nQ(arg1.eQ(arg2[13564]), arg2[25185], arg2[28454]), arg2[3993]))
arg2[6220] = var237
return var237
end;
lQ = bit32.bnot;
v = function(arg1, arg2, arg3, arg4) -- Line 3, Named "v"
arg3[12] = arg4
return 96
end;
QQ = function(arg1, arg2, arg3, arg4, arg5) -- Line 3, Named "QQ"
return arg4[arg5[40]()], 3
end;
oQ = function(arg1, arg2, arg3, arg4) -- Line 3, Named "oQ"
arg4[arg2] = arg3[46]()
end;
yi = function(arg1, arg2, arg3) -- Line 3, Named "yi"
arg2[8] = arg3
end;
w = table;
Ti = function(arg1, arg2, arg3) -- Line 3, Named "Ti"
if arg3 == 44 then
local const_number_4 = 27
arg2[8] = 206
arg2[20] = 199
do
return 21349, const_number_4
end
local var239
end
if const_number_4 == 27 then
if arg2[14] > 138 then
var239 = false
else
var239 = true
end
arg2[41] = var239
arg2[4] = arg2[35]
var239 = 28032
return var239, const_number_4
end
return nil, const_number_4
end;
}:VQ()(...)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:53:41
-- Luau version 6, Types version 3
-- Time taken: 0.015418 seconds
local module_upvr = {
_objectives = {
["Score a goal"] = {
_rewards = {
points = 15;
xp = 15;
};
};
["Score 10 goals"] = {
_repeat = 10;
_rewards = {
points = 50;
xp = 35;
};
};
["Score 5 goals"] = {
_repeat = 5;
_rewards = {
points = 35;
xp = 25;
};
};
["Score 3 goals"] = {
_repeat = 3;
_rewards = {
points = 15;
xp = 20;
};
};
["Make 3 assists"] = {
_repeat = 3;
_rewards = {
points = 15;
xp = 20;
};
};
["Assist a goal"] = {
_rewards = {
points = 10;
xp = 10;
};
};
["Make 3 saves"] = {
_repeat = 3;
_rewards = {
points = 15;
xp = 20;
};
};
["Make 5 saves"] = {
_repeat = 3;
_rewards = {
points = 25;
xp = 25;
};
};
["Win a match"] = {
_rewards = {
points = 35;
xp = 35;
};
};
["Score a free kick"] = {
_rewards = {
points = 50;
xp = 35;
};
};
["Score a penalty"] = {
_rewards = {
points = 25;
xp = 25;
};
};
};
}
module_upvr.__index = module_upvr
function module_upvr.new(arg1) -- Line 79
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
local module = {}
module._player = arg1
module._cache = _G._references.Main.objectives
module._maid = _G._engine:load("Maid").new()
module._dataStore = _G._services.DataStoreService:GetDataStore("Objectives")
return setmetatable(module, module_upvr)
end
function module_upvr.saveData(arg1, arg2) -- Line 88
local pcall_result1_3, pcall_result2 = pcall(function() -- Line 89
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
return arg1._dataStore:SetAsync(tostring(arg1._player.UserId), arg2)
end)
if pcall_result1_3 then
warn(string.format("Successfully saved daily objectives of user %s", tostring(arg1._player.UserId)))
else
warn(string.format("An unexpected error occured while saving daily objectives of user %s (%s), retrying", tostring(arg1._player.UserId), pcall_result2))
arg1:saveData(arg2)
end
end
function module_upvr.init(arg1) -- Line 101
local pcall_result1, pcall_result2_2 = pcall(function() -- Line 102
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
return arg1._dataStore:GetAsync(tostring(arg1._player.UserId))
end)
if pcall_result1 then
arg1._folder = Instance.new("Folder")
arg1._folder.Name = tostring(arg1._player.UserId)
arg1._folder.Parent = arg1._cache
arg1._maid:GiveTask(arg1._folder)
if pcall_result2_2 and os.date("!*t", os.time() - pcall_result2_2.lastReset).day <= 1 then
local IntValue_2 = Instance.new("IntValue")
IntValue_2.Name = "lastReset"
IntValue_2.Value = pcall_result2_2.lastReset
IntValue_2.Parent = arg1._folder
for i, v in next, pcall_result2_2.objectives do
if i and v then
local BoolValue_8 = Instance.new("BoolValue")
BoolValue_8.Name = i
BoolValue_8.Value = v.completed
BoolValue_8.Parent = arg1._folder
if v["repeat"] then
for i_2, _ in next, v["repeat"] do
local BoolValue_2 = Instance.new("BoolValue")
BoolValue_2.Name = tostring(i_2)
BoolValue_2.Value = true
BoolValue_2.Parent = BoolValue_8
local _
end
end
end
end
else
local function createRandomObjective() -- Line 136
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
local tbl = {}
for i_5, v_5 in next, arg1._objectives do
if i_5 and v_5 and not arg1._folder:FindFirstChild(i_5) then
table.insert(tbl, i_5)
end
end
if tbl[1] and tbl[2] then
i_5 = #tbl
local BoolValue = Instance.new("BoolValue")
BoolValue.Name = tbl[math.random(1, i_5)]
BoolValue.Value = false
i_5 = arg1
BoolValue.Parent = i_5._folder
elseif tbl[1] and not tbl[2] then
local BoolValue_6 = Instance.new("BoolValue")
BoolValue_6.Name = tbl[1]
BoolValue_6.Value = false
i_5 = arg1
BoolValue_6.Parent = i_5._folder
end
end
createRandomObjective()
createRandomObjective()
createRandomObjective()
local tbl_upvr = {
lastReset = os.time();
objectives = {};
}
local IntValue_3 = Instance.new("IntValue")
IntValue_3.Name = "lastReset"
IntValue_3.Value = tbl_upvr.lastReset
IntValue_3.Parent = arg1._folder
for _, v_6 in next, arg1._folder:GetChildren() do
if v_6 and v_6:IsA("BoolValue") then
tbl_upvr.objectives[v_6.Name] = {
completed = false;
}
if v_6:FindFirstChildWhichIsA("BoolValue") then
tbl_upvr.objectives[v_6.Name]["repeat"] = {}
end
end
end
task.spawn(function() -- Line 186
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: tbl_upvr (readonly)
]]
arg1:saveData(tbl_upvr)
end)
end
end
tbl_upvr = string.format("An unexpected error occured while loading daily objectives of user %s (%s)", tostring(arg1._player.UserId), pcall_result2_2)
warn(tbl_upvr)
end
function module_upvr.clear(arg1) -- Line 195
local tbl_2_upvr = {
lastReset = arg1._folder.lastReset.Value;
objectives = {};
}
for _, v_3 in next, arg1._folder:GetChildren() do
if v_3 and v_3:IsA("BoolValue") then
tbl_2_upvr.objectives[v_3.Name] = {
completed = v_3.Value;
}
if v_3:FindFirstChildWhichIsA("BoolValue") then
tbl_2_upvr.objectives[v_3.Name]["repeat"] = {}
for _, v_4 in next, v_3:GetChildren() do
if v_4 and v_4:IsA("BoolValue") then
tbl_2_upvr.objectives[v_3.Name]["repeat"][tostring(v_4.Name)] = true
end
end
end
end
end
arg1._maid:DoCleaning()
task.spawn(function() -- Line 221
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: tbl_2_upvr (readonly)
]]
arg1:saveData(tbl_2_upvr)
end)
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:53:42
-- Luau version 6, Types version 3
-- Time taken: 0.012894 seconds
local module_upvr = {
Tag = "Ball";
}
function module_upvr.IsBall(arg1) -- Line 5
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
return _G._services.CollectionService:HasTag(arg1, module_upvr.Tag)
end
function module_upvr.IsClientBall(arg1) -- Line 9
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
if arg1 and arg1:FindFirstChild("properties") then
local var58
if var58 then
var58 = nil
for _, v in next, arg1.Parent.Parent:GetChildren() do
if _G._services.CollectionService:HasTag(v, "SpawnersFolder") then
var58 = v
elseif _G._services.CollectionService:HasTag(v, "ServerBallsFolder") then
end
end
if var58 and v then
for _, v_2 in next, var58:GetChildren() do
if v_2 and arg1.properties.spawner.Value == v_2 then
for _, v_3 in next, v:GetChildren() do
if v_3 and v_3:FindFirstChild("properties") and v_3.properties:FindFirstChild("spawner") and v_3.properties.spawner.Value == v_2 then
return v_3
end
end
end
end
end
end
end
return false
end
function module_upvr.GetBalls(arg1) -- Line 37
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
for _, v_4 in next, _G._services.CollectionService:GetTagged(module_upvr.Tag) do
if v_4 then
if arg1 and not v_4:FindFirstAncestor("replay") or not arg1 then
table.insert({}, v_4)
end
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return {}
end
function module_upvr.GetBallFolder() -- Line 49
for _, v_5 in next, workspace.game:GetChildren() do
if v_5 and (v_5.Name == "balls" or v_5:HasTag("BallsFolder")) then
return v_5
end
end
end
function module_upvr.GetClientBallFolder() -- Line 57
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
for _, v_6 in next, module_upvr.GetBallFolder():GetChildren() do
if v_6 and (v_6.Name == "client" or v_6:HasTag("ClientBallsFolder")) then
return v_6
end
end
end
function module_upvr.GetServerBallFolder() -- Line 67
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
for _, v_7 in next, module_upvr.GetBallFolder():GetChildren() do
if v_7 and (v_7.Name == "server" or v_7:HasTag("ServerBallsFolder")) then
return v_7
end
end
end
local any_GetClientBallFolder_result1 = module_upvr.GetClientBallFolder()
local any_GetServerBallFolder_result1 = module_upvr.GetServerBallFolder()
module_upvr.ClientBallAdded = any_GetClientBallFolder_result1.ChildAdded
module_upvr.ClientBallRemoved = any_GetClientBallFolder_result1.ChildRemoved
module_upvr.BallAdded = any_GetServerBallFolder_result1.ChildAdded
module_upvr.BallRemoved = any_GetServerBallFolder_result1.ChildRemoved
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:53:44
-- Luau version 6, Types version 3
-- Time taken: 0.065113 seconds
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local RunService_upvr = game:GetService("RunService")
local var2
if RunService_upvr:IsClient() then
local LocalPlayer_upvr = game:GetService("Players").LocalPlayer
end
local enums_upvr = require(script.Enum).enums
local Janitor_upvr = require(script.Janitor)
local ZonePlusReference = require(script.ZonePlusReference)
local any_getObject_result1 = ZonePlusReference.getObject()
local ZoneController = script.ZoneController
local Tracker_upvr = ZoneController.Tracker
var2 = ZoneController
local var2_2_upvr = require(var2)
if game:GetService("RunService"):IsClient() then
var2 = "Client"
else
var2 = "Server"
end
if any_getObject_result1 then
local SOME = any_getObject_result1:FindFirstChild(var2)
end
if SOME then
return require(any_getObject_result1.Value)
end
local module_6_upvr = {}
module_6_upvr.__index = module_6_upvr
if not SOME then
ZonePlusReference.addToReplicatedStorage()
end
module_6_upvr.enum = enums_upvr
local HttpService_upvr = game:GetService("HttpService")
local Signal_upvr = require(script.Signal)
function module_6_upvr.new(arg1) -- Line 34
--[[ Upvalues[7]:
[1]: module_6_upvr (readonly)
[2]: enums_upvr (readonly)
[3]: Janitor_upvr (readonly)
[4]: HttpService_upvr (readonly)
[5]: var2_2_upvr (readonly)
[6]: Signal_upvr (readonly)
[7]: LocalPlayer_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local module_2_upvr = {}
setmetatable(module_2_upvr, module_6_upvr)
local typeof_result1_2 = typeof(arg1)
if typeof_result1_2 ~= "table" and typeof_result1_2 ~= "Instance" then
error("The zone container must be a model, folder, basepart or table!")
end
module_2_upvr.accuracy = enums_upvr.Accuracy.High
module_2_upvr.autoUpdate = true
module_2_upvr.respectUpdateQueue = true
local any_new_result1 = Janitor_upvr.new()
module_2_upvr.janitor = any_new_result1
module_2_upvr._updateConnections = any_new_result1:add(Janitor_upvr.new(), "destroy")
module_2_upvr.container = arg1
module_2_upvr.zoneParts = {}
module_2_upvr.overlapParams = {}
module_2_upvr.region = nil
module_2_upvr.volume = nil
module_2_upvr.boundMin = nil
module_2_upvr.boundMax = nil
module_2_upvr.recommendedMaxParts = nil
module_2_upvr.zoneId = HttpService_upvr:GenerateGUID()
module_2_upvr.activeTriggers = {}
module_2_upvr.occupants = {}
module_2_upvr.trackingTouchedTriggers = {}
module_2_upvr.enterDetection = enums_upvr.Detection.Centre
module_2_upvr.exitDetection = enums_upvr.Detection.Centre
module_2_upvr._currentEnterDetection = nil
module_2_upvr._currentExitDetection = nil
module_2_upvr.totalPartVolume = 0
module_2_upvr.allZonePartsAreBlocks = true
module_2_upvr.trackedItems = {}
module_2_upvr.settingsGroupName = nil
module_2_upvr.worldModel = workspace
module_2_upvr.onItemDetails = {}
module_2_upvr.itemsToUntrack = {}
var2_2_upvr.updateDetection(module_2_upvr)
module_2_upvr.updated = any_new_result1:add(Signal_upvr.new(), "destroy")
local tbl_4 = {"player", "part", "localPlayer", "item"}
for _, v_upvr in pairs(tbl_4) do
local var47_upvw = 0
local var48_upvw = 0
for _, v_2 in pairs({"entered", "exited"}) do
local any_add_result1 = any_new_result1:add(Signal_upvr.new(true), "destroy")
local var53_upvr = v_2:sub(1, 1):upper()..v_2:sub(2)
module_2_upvr[v_upvr..var53_upvr] = any_add_result1
any_add_result1.connectionsChanged:Connect(function(arg1_2) -- Line 105
--[[ Upvalues[7]:
[1]: v_upvr (readonly)
[2]: LocalPlayer_upvr (copied, readonly)
[3]: var53_upvr (readonly)
[4]: var48_upvw (read and write)
[5]: var47_upvw (read and write)
[6]: var2_2_upvr (copied, readonly)
[7]: module_2_upvr (readonly)
]]
if v_upvr == "localPlayer" and not LocalPlayer_upvr and arg1_2 == 1 then
error("Can only connect to 'localPlayer%s' on the client!":format(var53_upvr))
end
var48_upvw = var47_upvw
var47_upvw += arg1_2
if var48_upvw == 0 and 0 < var47_upvw then
var2_2_upvr._registerConnection(module_2_upvr, v_upvr, var53_upvr)
elseif 0 < var48_upvw and var47_upvw == 0 then
var2_2_upvr._deregisterConnection(module_2_upvr, v_upvr)
end
end)
local var55
end
end
module_6_upvr.touchedConnectionActions = {}
for _, v_3 in pairs(tbl_4) do
local var59_upvr = module_2_upvr["_%sTouchedZone":format(v_3)]
if var59_upvr then
module_2_upvr.trackingTouchedTriggers[v_3] = {}
module_6_upvr.touchedConnectionActions[v_3] = function(arg1_3) -- Line 129
--[[ Upvalues[2]:
[1]: var59_upvr (readonly)
[2]: module_2_upvr (readonly)
]]
var59_upvr(module_2_upvr, arg1_3)
end
end
end
module_2_upvr:_update()
var2_2_upvr._registerZone(module_2_upvr)
var55:add(function() -- Line 140
--[[ Upvalues[2]:
[1]: var2_2_upvr (copied, readonly)
[2]: module_2_upvr (readonly)
]]
var2_2_upvr._deregisterZone(module_2_upvr)
end, true)
return module_2_upvr
end
function module_6_upvr.fromRegion(arg1, arg2) -- Line 147
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
local Model_upvr = Instance.new("Model")
local function createCube_upvr(arg1_4, arg2_2) -- Line 150, Named "createCube"
--[[ Upvalues[2]:
[1]: createCube_upvr (readonly)
[2]: Model_upvr (readonly)
]]
if 2024 < arg2_2.X or 2024 < arg2_2.Y or 2024 < arg2_2.Z then
local var63 = arg2_2 * 0.25
local var64 = arg2_2 * 0.5
createCube_upvr(arg1_4 * CFrame.new(-var63.X, -var63.Y, -var63.Z), var64)
createCube_upvr(arg1_4 * CFrame.new(-var63.X, -var63.Y, var63.Z), var64)
createCube_upvr(arg1_4 * CFrame.new(-var63.X, var63.Y, -var63.Z), var64)
createCube_upvr(arg1_4 * CFrame.new(-var63.X, var63.Y, var63.Z), var64)
createCube_upvr(arg1_4 * CFrame.new(var63.X, -var63.Y, -var63.Z), var64)
createCube_upvr(arg1_4 * CFrame.new(var63.X, -var63.Y, var63.Z), var64)
createCube_upvr(arg1_4 * CFrame.new(var63.X, var63.Y, -var63.Z), var64)
createCube_upvr(arg1_4 * CFrame.new(var63.X, var63.Y, var63.Z), var64)
else
local Part_2 = Instance.new("Part")
Part_2.CFrame = arg1_4
Part_2.Size = arg2_2
Part_2.Anchored = true
Part_2.Parent = Model_upvr
end
end
createCube_upvr(arg1, arg2)
local any_new_result1_2 = module_6_upvr.new(Model_upvr)
any_new_result1_2:relocate()
return any_new_result1_2
end
function module_6_upvr._calculateRegion(arg1, arg2, arg3) -- Line 179
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local tbl_2 = {
Min = {};
Max = {};
}
for i_4_upvr, v_4 in pairs(tbl_2) do
v_4.Values = {}
function v_4.parseCheck(arg1_5, arg2_3) -- Line 183
--[[ Upvalues[1]:
[1]: i_4_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var111 = i_4_upvr
if var111 == "Min" then
if arg1_5 > arg2_3 then
var111 = false
else
var111 = true
end
return var111
end
var111 = i_4_upvr
if var111 == "Max" then
if arg2_3 > arg1_5 then
else
end
return true
end
end
function v_4.parse(arg1_6, arg2_4) -- Line 190
for i_5, v_5 in pairs(arg2_4) do
if arg1_6.parseCheck(v_5, arg1_6.Values[i_5] or v_5) then
arg1_6.Values[i_5] = v_5
end
end
end
end
for _, v_6 in pairs(arg2) do
local var120 = v_6.Size * 0.5
for _, v_7 in pairs({v_6.CFrame * CFrame.new(-var120.X, -var120.Y, -var120.Z), v_6.CFrame * CFrame.new(-var120.X, -var120.Y, var120.Z), v_6.CFrame * CFrame.new(-var120.X, var120.Y, -var120.Z), v_6.CFrame * CFrame.new(-var120.X, var120.Y, var120.Z), v_6.CFrame * CFrame.new(var120.X, -var120.Y, -var120.Z), v_6.CFrame * CFrame.new(var120.X, -var120.Y, var120.Z), v_6.CFrame * CFrame.new(var120.X, var120.Y, -var120.Z), v_6.CFrame * CFrame.new(var120.X, var120.Y, var120.Z)}) do
local any_GetComponents_result1, any_GetComponents_result2, any_GetComponents_result3 = v_7:GetComponents()
local tbl_6 = {any_GetComponents_result1, any_GetComponents_result2, any_GetComponents_result3}
tbl_2.Min:parse(tbl_6)
tbl_2.Max:parse(tbl_6)
end
end
local function _(arg1_7) -- Line 222, Named "roundToFour"
return math.floor((arg1_7 + 2) / 4) * 4
end
for i_8, v_8 in pairs(tbl_2) do
local var135
for _, v_9 in pairs(v_8.Values) do
if i_8 ~= "Min" or not {} then
end
if not arg3 then
if i_8 == "Min" then
var135 = -2
else
var135 = 2
end
end
table.insert({}, math.floor((v_9 + var135 + 2) / 4) * 4)
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
local vector3_2 = Vector3.new(unpack({}))
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
local vector3 = Vector3.new(unpack({}))
return Region3.new(vector3_2, vector3), vector3_2, vector3
end
function module_6_upvr._displayBounds(arg1) -- Line 245
if not arg1.displayBoundParts then
arg1.displayBoundParts = true
for i_10, v_10 in pairs({
BoundMin = arg1.boundMin;
BoundMax = arg1.boundMax;
}) do
local Part = Instance.new("Part")
Part.Anchored = true
Part.CanCollide = false
Part.Transparency = 0.5
Part.Size = Vector3.new(1, 1, 1)
Part.Color = Color3.fromRGB(255, 0, 0)
Part.CFrame = CFrame.new(v_10)
Part.Name = i_10
Part.Parent = workspace
arg1.janitor:add(Part, "Destroy")
end
end
end
function module_6_upvr._update(arg1) -- Line 264
--[[ Upvalues[1]:
[1]: RunService_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local container_2 = arg1.container
local tbl = {}
local var203_upvw = 0
arg1._updateConnections:clean()
local typeof_result1 = typeof(container_2)
local tbl_7 = {}
local var206
if typeof_result1 == "table" then
var206 = pairs(container_2)
local pairs_result1_11, pairs_result2_20, pairs_result3 = pairs(container_2)
for _, v_11 in pairs_result1_11, pairs_result2_20, pairs_result3 do
if v_11:IsA("BasePart") then
table.insert(tbl, v_11)
end
end
elseif typeof_result1 == "Instance" then
pairs_result1_11 = container_2:IsA("BasePart")
if pairs_result1_11 then
pairs_result1_11 = table.insert
pairs_result1_11(tbl, container_2)
else
pairs_result1_11 = table.insert
pairs_result1_11(tbl_7, container_2)
pairs_result1_11 = pairs(container_2:GetDescendants())
local pairs_result1_13, pairs_result2, pairs_result3_16 = pairs(container_2:GetDescendants())
for _, v_24 in pairs_result1_13, pairs_result2, pairs_result3_16 do
if v_24:IsA("BasePart") then
table.insert(tbl, v_24)
else
table.insert(tbl_7, v_24)
end
end
end
end
arg1.zoneParts = tbl
pairs_result1_13 = {}
arg1.overlapParams = pairs_result1_13
pairs_result1_13 = true
for _, v_12_upvr in pairs(tbl) do
local _, pcall_result2_3 = pcall(function() -- Line 298
--[[ Upvalues[1]:
[1]: v_12_upvr (readonly)
]]
return v_12_upvr.Shape.Name
end)
if pcall_result2_3 ~= "Block" then
pairs_result1_13 = false
end
end
arg1.allZonePartsAreBlocks = pairs_result1_13
local OverlapParams_new_result1_2 = OverlapParams.new()
OverlapParams_new_result1_2.FilterType = Enum.RaycastFilterType.Whitelist
OverlapParams_new_result1_2.MaxParts = #tbl
OverlapParams_new_result1_2.FilterDescendantsInstances = tbl
arg1.overlapParams.zonePartsWhitelist = OverlapParams_new_result1_2
local OverlapParams_new_result1 = OverlapParams.new()
OverlapParams_new_result1.FilterType = Enum.RaycastFilterType.Blacklist
OverlapParams_new_result1.FilterDescendantsInstances = tbl
arg1.overlapParams.zonePartsIgnorelist = OverlapParams_new_result1
local function _(arg1_8) -- Line 340, Named "verifyDefaultCollision"
end
for _, v_13_upvr in pairs(tbl) do
for _, v_14 in pairs({"Size", "Position"}) do
arg1._updateConnections:add(v_13_upvr:GetPropertyChangedSignal(v_14):Connect(function() -- Line 318, Named "update"
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: var203_upvw (read and write)
[3]: RunService_upvr (copied, readonly)
]]
if arg1.autoUpdate then
local os_clock_result1_2_upvw = os.clock()
if arg1.respectUpdateQueue then
var203_upvw += 1
os_clock_result1_2_upvw += 0.1
end
local var223_upvw
var223_upvw = RunService_upvr.Heartbeat:Connect(function() -- Line 326
--[[ Upvalues[4]:
[1]: os_clock_result1_2_upvw (read and write)
[2]: var223_upvw (read and write)
[3]: arg1 (copied, readonly)
[4]: var203_upvw (copied, read and write)
]]
if os_clock_result1_2_upvw <= os.clock() then
var223_upvw:Disconnect()
if arg1.respectUpdateQueue then
var203_upvw -= 1
end
if var203_upvw == 0 and arg1.zoneId then
arg1:_update()
end
end
end)
end
end), "Disconnect")
local _
end
arg1._updateConnections:add(v_13_upvr:GetPropertyChangedSignal("CollisionGroupId"):Connect(function() -- Line 350
--[[ Upvalues[1]:
[1]: v_13_upvr (readonly)
]]
end), "Disconnect")
end
for _, _ in pairs(tbl_7) do
for _, v_16 in pairs({"ChildAdded", "ChildRemoved"}) do
arg1._updateConnections:add(arg1.container[v_16]:Connect(function(arg1_9) -- Line 357
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: var203_upvw (read and write)
[3]: RunService_upvr (copied, readonly)
]]
if arg1_9:IsA("BasePart") and arg1.autoUpdate then
local os_clock_result1_upvw = os.clock()
if arg1.respectUpdateQueue then
var203_upvw += 1
os_clock_result1_upvw += 0.1
end
local var243_upvw
var243_upvw = RunService_upvr.Heartbeat:Connect(function() -- Line 326
--[[ Upvalues[4]:
[1]: os_clock_result1_upvw (read and write)
[2]: var243_upvw (read and write)
[3]: arg1 (copied, readonly)
[4]: var203_upvw (copied, read and write)
]]
if os_clock_result1_upvw <= os.clock() then
var243_upvw:Disconnect()
if arg1.respectUpdateQueue then
var203_upvw -= 1
end
if var203_upvw == 0 and arg1.zoneId then
arg1:_update()
end
end
end)
end
end), "Disconnect")
end
end
local any__calculateRegion_result1, any__calculateRegion_result2, any__calculateRegion_result3 = arg1:_calculateRegion(tbl)
local any__calculateRegion_result1_2, _, _ = arg1:_calculateRegion(tbl, true)
arg1.region = any__calculateRegion_result1
arg1.exactRegion = any__calculateRegion_result1_2
arg1.boundMin = any__calculateRegion_result2
arg1.boundMax = any__calculateRegion_result3
local Size = any__calculateRegion_result1.Size
arg1.volume = Size.X * Size.Y * Size.Z
arg1:_updateTouchedConnections()
arg1.updated:Fire()
end
function module_6_upvr._updateOccupants(arg1, arg2, arg3) -- Line 393
local var259 = arg1.occupants[arg2]
if not var259 then
var259 = {}
arg1.occupants[arg2] = var259
end
local module_5 = {}
for i_17, v_17 in pairs(var259) do
local var264 = arg3[i_17]
if var264 == nil or var264 ~= v_17 then
var259[i_17] = nil
if not module_5.exited then
module_5.exited = {}
end
table.insert(module_5.exited, i_17)
end
end
for i_18, _ in pairs(arg3) do
local var268
if var259[i_18] == nil then
local function INLINED() -- Internal function, doesn't exist in bytecode
var268 = i_18.Character
return var268
end
if not i_18:IsA("Player") or not INLINED() then
var268 = true
end
var259[i_18] = var268
var268 = module_5.entered
if not var268 then
var268 = {}
module_5.entered = var268
end
var268 = table.insert
var268(module_5.entered, i_18)
end
end
return module_5
end
function module_6_upvr._formTouchedConnection(arg1, arg2) -- Line 423
--[[ Upvalues[1]:
[1]: Janitor_upvr (readonly)
]]
local var269 = "_touchedJanitor"..arg2
if arg1[var269] then
arg1[var269]:clean()
else
arg1[var269] = arg1.janitor:add(Janitor_upvr.new(), "destroy")
end
arg1:_updateTouchedConnection(arg2)
end
function module_6_upvr._updateTouchedConnection(arg1, arg2) -- Line 435
local var274 = arg1["_touchedJanitor"..arg2]
if not var274 then
else
for _, v_25 in pairs(arg1.zoneParts) do
var274:add(v_25.Touched:Connect(arg1.touchedConnectionActions[arg2], arg1), "Disconnect")
end
end
end
function module_6_upvr._updateTouchedConnections(arg1) -- Line 444
for i_19, _ in pairs(arg1.touchedConnectionActions) do
local var283 = arg1["_touchedJanitor"..i_19]
if var283 then
var283:cleanup()
arg1:_updateTouchedConnection(i_19)
end
end
end
function module_6_upvr._disconnectTouchedConnection(arg1, arg2) -- Line 455
local var284 = "_touchedJanitor"..arg2
local var285 = arg1[var284]
if var285 then
var285:cleanup()
arg1[var284] = nil
end
end
local function _(arg1, arg2) -- Line 464, Named "round"
return math.round(arg1 * 10 ^ arg2) * 10 ^ (-arg2)
end
local Heartbeat_upvr = RunService_upvr.Heartbeat
function module_6_upvr._partTouchedZone(arg1, arg2) -- Line 467
--[[ Upvalues[3]:
[1]: Janitor_upvr (readonly)
[2]: Heartbeat_upvr (readonly)
[3]: enums_upvr (readonly)
]]
local part_upvr = arg1.trackingTouchedTriggers.part
if part_upvr[arg2] then
else
local any_add_result1_upvr = arg1.janitor:add(Janitor_upvr.new(), "destroy")
part_upvr[arg2] = any_add_result1_upvr
if not ({
Seat = true;
VehicleSeat = true;
})[arg2.ClassName] and ({
HumanoidRootPart = true;
})[arg2.Name] then
arg2.CanTouch = false
end
local var291_upvr = math.round(arg2.Size.X * arg2.Size.Y * arg2.Size.Z * 100000) * 0.00001
arg1.totalPartVolume += var291_upvr
local const_number_upvw = 0
local var294_upvw = false
local Position_upvw = arg2.Position
local os_clock_result1_upvw_2 = os.clock()
any_add_result1_upvr:add(Heartbeat_upvr:Connect(function() -- Line 485
--[[ Upvalues[8]:
[1]: const_number_upvw (read and write)
[2]: enums_upvr (copied, readonly)
[3]: arg1 (readonly)
[4]: arg2 (readonly)
[5]: var294_upvw (read and write)
[6]: Position_upvw (read and write)
[7]: os_clock_result1_upvw_2 (read and write)
[8]: any_add_result1_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local os_clock_result1 = os.clock()
local var298 = const_number_upvw
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [44] 35. Error Block 7 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [44] 35. Error Block 7 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [54] 42. Error Block 8 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [54] 42. Error Block 8 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [63] 49. Error Block 13 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [63.2]
if not nil then
var294_upvw = false
Position_upvw = arg2.Position
os_clock_result1_upvw_2 = os.clock()
arg1.partExited:Fire(arg2)
end
-- KONSTANTERROR: [63] 49. Error Block 13 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [81] 63. Error Block 12 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [81] 63. Error Block 12 end (CF ANALYSIS FAILED)
end), "Disconnect")
any_add_result1_upvr:add(function() -- Line 516
--[[ Upvalues[4]:
[1]: part_upvr (readonly)
[2]: arg2 (readonly)
[3]: arg1 (readonly)
[4]: var291_upvr (readonly)
]]
part_upvr[arg2] = nil
arg2.CanTouch = true
arg1.totalPartVolume = math.round((arg1.totalPartVolume - var291_upvr) * 100000) * 0.00001
end, true)
end
end
local tbl_upvr = {
Ball = function(arg1) -- Line 524
return "GetPartBoundsInRadius", {arg1.Position, arg1.Size.X}
end;
Block = function(arg1) -- Line 527
return "GetPartBoundsInBox", {arg1.CFrame, arg1.Size}
end;
Other = function(arg1) -- Line 530
local module_4 = {}
module_4[1] = arg1
return "GetPartsInPart", module_4
end;
}
function module_6_upvr._getRegionConstructor(arg1, arg2, arg3) -- Line 534
--[[ Upvalues[1]:
[1]: tbl_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local pcall_result1, pcall_result2 = pcall(function() -- Line 535
--[[ Upvalues[1]:
[1]: arg2 (readonly)
]]
return arg2.Shape.Name
end)
local var320
if pcall_result1 then
if arg1.allZonePartsAreBlocks then
local var321 = tbl_upvr[pcall_result2]
if var321 then
local var321_result1, var321_result2 = var321(arg2)
var320 = var321_result2
end
end
end
if not var321_result1 then
local any_Other_result1, any_Other_result2 = tbl_upvr.Other(arg2)
var320 = any_Other_result2
end
if arg3 then
table.insert(var320, arg3)
end
return any_Other_result1, var320
end
function module_6_upvr.findLocalPlayer(arg1) -- Line 555
--[[ Upvalues[1]:
[1]: LocalPlayer_upvr (readonly)
]]
if not LocalPlayer_upvr then
error("Can only call 'findLocalPlayer' on the client!")
end
return arg1:findPlayer(LocalPlayer_upvr)
end
function module_6_upvr._find(arg1, arg2, arg3) -- Line 562
--[[ Upvalues[1]:
[1]: var2_2_upvr (readonly)
]]
var2_2_upvr.updateDetection(arg1)
for _, v_20 in pairs(var2_2_upvr.getTouchingZones(arg3, false, arg1._currentEnterDetection, var2_2_upvr.trackers[arg2])) do
if v_20 == arg1 then
return true
end
end
return false
end
function module_6_upvr.findPlayer(arg1, arg2) -- Line 574
local var332 = arg2.Character
if var332 then
var332 = arg2.Character:FindFirstChildOfClass("Humanoid")
end
if not var332 then
return false
end
return arg1:_find("player", arg2.Character)
end
function module_6_upvr.findItem(arg1, arg2) -- Line 583
return arg1:_find("item", arg2)
end
function module_6_upvr.findPart(arg1, arg2) -- Line 587
local any__getRegionConstructor_result1_2, any__getRegionConstructor_result2_2 = arg1:_getRegionConstructor(arg2, arg1.overlapParams.zonePartsWhitelist)
local any_any_result1_2 = arg1.worldModel[any__getRegionConstructor_result1_2](arg1.worldModel, unpack(any__getRegionConstructor_result2_2))
if 0 < #any_any_result1_2 then
return true, any_any_result1_2
end
return false
end
function module_6_upvr.getCheckerPart(arg1) -- Line 597
--[[ Upvalues[1]:
[1]: var2_2_upvr (readonly)
]]
local var336
if not arg1.checkerPart then
var336 = arg1.janitor:add(Instance.new("Part"), "Destroy")
local var337 = var336
var336 = Vector3.new(0.10000, 0.10000, 0.10000)
var337.Size = var336
var336 = "ZonePlusCheckerPart"
var337.Name = var336
var336 = true
var337.Anchored = var336
var336 = 1
var337.Transparency = var336
var336 = false
var337.CanCollide = var336
arg1.checkerPart = var337
end
var336 = arg1.worldModel
if var336 == workspace then
var336 = var2_2_upvr.getWorkspaceContainer()
end
if var337.Parent ~= var336 then
var337.Parent = var336
end
return var337
end
function module_6_upvr.findPoint(arg1, arg2) -- Line 618
local var338 = arg2
if typeof(arg2) == "Vector3" then
var338 = CFrame.new(arg2)
end
local any_getCheckerPart_result1 = arg1:getCheckerPart()
any_getCheckerPart_result1.CFrame = var338
local any__getRegionConstructor_result1, any__getRegionConstructor_result2 = arg1:_getRegionConstructor(any_getCheckerPart_result1, arg1.overlapParams.zonePartsWhitelist)
local any_any_result1 = arg1.worldModel[any__getRegionConstructor_result1](arg1.worldModel, unpack(any__getRegionConstructor_result2))
if 0 < #any_any_result1 then
return true, any_any_result1
end
return false
end
function module_6_upvr._getAll(arg1, arg2) -- Line 635
--[[ Upvalues[1]:
[1]: var2_2_upvr (readonly)
]]
var2_2_upvr.updateDetection(arg1)
local module_3 = {}
local var349 = var2_2_upvr._getZonesAndItems(arg2, {
self = true;
}, arg1.volume, false, arg1._currentEnterDetection)[arg1]
if var349 then
for i_21, _ in pairs(var349) do
table.insert(module_3, i_21)
end
end
return module_3
end
function module_6_upvr.getPlayers(arg1) -- Line 648
return arg1:_getAll("player")
end
function module_6_upvr.getItems(arg1) -- Line 652
return arg1:_getAll("item")
end
function module_6_upvr.getParts(arg1) -- Line 656
local module = {}
if arg1.activeTriggers.part then
for i_22, _ in pairs(arg1.trackingTouchedTriggers.part) do
table.insert(module, i_22)
end
return module
end
for _, v_23 in pairs(arg1.worldModel:GetPartBoundsInBox(arg1.region.CFrame, arg1.region.Size, arg1.overlapParams.zonePartsIgnorelist)) do
if arg1:findPart(v_23) then
table.insert(module, v_23)
end
end
return module
end
function module_6_upvr.getRandomPoint(arg1) -- Line 677
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local Size_2 = arg1.exactRegion.Size
local random_state = Random.new()
local var371
if #arg1.overlapParams.zonePartsWhitelist.FilterDescendantsInstances <= 0 then
return nil
end
repeat
var371 = arg1.exactRegion.CFrame * CFrame.new(random_state:NextNumber(-Size_2.X / 2, Size_2.X / 2), random_state:NextNumber(-Size_2.Y / 2, Size_2.Y / 2), random_state:NextNumber(-Size_2.Z / 2, Size_2.Z / 2))
local any_findPoint_result1, any_findPoint_result2 = arg1:findPoint(var371)
local var374
if any_findPoint_result1 then
var374 = true
end
until var374
return var371.Position, any_findPoint_result2
end
function module_6_upvr.setAccuracy(arg1, arg2) -- Line 702
--[[ Upvalues[1]:
[1]: enums_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 11 start (CF ANALYSIS FAILED)
local tonumber_result1_2 = tonumber(arg2)
if not tonumber_result1_2 then
tonumber_result1_2 = enums_upvr.Accuracy[arg2]
if not tonumber_result1_2 then
error("'%s' is an invalid enumName!":format(arg2))
-- KONSTANTWARNING: GOTO [36] #29
end
elseif not enums_upvr.Accuracy.getName(tonumber_result1_2) then
error("%s is an invalid enumId!":format(tonumber_result1_2))
end
-- KONSTANTERROR: [0] 1. Error Block 11 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [36] 29. Error Block 7 start (CF ANALYSIS FAILED)
arg1.accuracy = tonumber_result1_2
-- KONSTANTERROR: [36] 29. Error Block 7 end (CF ANALYSIS FAILED)
end
function module_6_upvr.setDetection(arg1, arg2) -- Line 718
--[[ Upvalues[1]:
[1]: enums_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 11 start (CF ANALYSIS FAILED)
local tonumber_result1 = tonumber(arg2)
if not tonumber_result1 then
tonumber_result1 = enums_upvr.Detection[arg2]
if not tonumber_result1 then
error("'%s' is an invalid enumName!":format(arg2))
-- KONSTANTWARNING: GOTO [36] #29
end
elseif not enums_upvr.Detection.getName(tonumber_result1) then
error("%s is an invalid enumId!":format(tonumber_result1))
end
-- KONSTANTERROR: [0] 1. Error Block 11 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [36] 29. Error Block 7 start (CF ANALYSIS FAILED)
arg1.enterDetection = tonumber_result1
arg1.exitDetection = tonumber_result1
-- KONSTANTERROR: [36] 29. Error Block 7 end (CF ANALYSIS FAILED)
end
function module_6_upvr.trackItem(arg1, arg2) -- Line 735
--[[ Upvalues[2]:
[1]: Janitor_upvr (readonly)
[2]: Tracker_upvr (readonly)
]]
local children = arg2:IsA("BasePart")
local var378 = false
if not children then
local class_Humanoid = arg2:FindFirstChildOfClass("Humanoid")
if class_Humanoid then
class_Humanoid = arg2:FindFirstChild("HumanoidRootPart")
end
var378 = class_Humanoid
end
assert(children or var378, "Only BaseParts or Characters/NPCs can be tracked!")
if arg1.trackedItems[arg2] then
else
if arg1.itemsToUntrack[arg2] then
arg1.itemsToUntrack[arg2] = nil
end
local any_add_result1_2 = arg1.janitor:add(Janitor_upvr.new(), "destroy")
local tbl_3 = {
janitor = any_add_result1_2;
}
tbl_3.item = arg2
tbl_3.isBasePart = children
tbl_3.isCharacter = var378
arg1.trackedItems[arg2] = tbl_3
any_add_result1_2:add(arg2.AncestryChanged:Connect(function() -- Line 760
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: arg1 (readonly)
]]
if not arg2:IsDescendantOf(game) then
arg1:untrackItem(arg2)
end
end), "Disconnect")
require(Tracker_upvr).itemAdded:Fire(tbl_3)
end
end
function module_6_upvr.untrackItem(arg1, arg2) -- Line 770
--[[ Upvalues[1]:
[1]: Tracker_upvr (readonly)
]]
local var383 = arg1.trackedItems[arg2]
if var383 then
var383.janitor:destroy()
end
arg1.trackedItems[arg2] = nil
require(Tracker_upvr).itemRemoved:Fire(var383)
end
function module_6_upvr.bindToGroup(arg1, arg2) -- Line 781
--[[ Upvalues[1]:
[1]: var2_2_upvr (readonly)
]]
arg1:unbindFromGroup()
local any_getGroup_result1 = var2_2_upvr.getGroup(arg2)
if not any_getGroup_result1 then
any_getGroup_result1 = var2_2_upvr.setGroup(arg2)
end
any_getGroup_result1._memberZones[arg1.zoneId] = arg1
arg1.settingsGroupName = arg2
end
function module_6_upvr.unbindFromGroup(arg1) -- Line 788
--[[ Upvalues[1]:
[1]: var2_2_upvr (readonly)
]]
if arg1.settingsGroupName then
local any_getGroup_result1_2 = var2_2_upvr.getGroup(arg1.settingsGroupName)
if any_getGroup_result1_2 then
any_getGroup_result1_2._memberZones[arg1.zoneId] = nil
end
arg1.settingsGroupName = nil
end
end
local CollectiveWorldModel_upvr = ZoneController.CollectiveWorldModel
function module_6_upvr.relocate(arg1) -- Line 798
--[[ Upvalues[1]:
[1]: CollectiveWorldModel_upvr (readonly)
]]
if arg1.hasRelocated then
else
local any_setupWorldModel_result1 = require(CollectiveWorldModel_upvr).setupWorldModel(arg1)
arg1.worldModel = any_setupWorldModel_result1
arg1.hasRelocated = true
local container = arg1.container
if typeof(container) == "table" then
container = Instance.new("Folder")
for _, v_26 in pairs(arg1.zoneParts) do
v_26.Parent = container
end
end
arg1.relocationContainer = arg1.janitor:add(container, "Destroy", "RelocationContainer")
container.Parent = any_setupWorldModel_result1
end
end
function module_6_upvr._onItemCallback(arg1, arg2, arg3, arg4, arg5) -- Line 819
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [4] 4. Error Block 2 start (CF ANALYSIS FAILED)
local tbl_5 = {}
arg1.onItemDetails[arg4] = tbl_5
-- KONSTANTERROR: [4] 4. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [9] 7. Error Block 3 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [9] 7. Error Block 3 end (CF ANALYSIS FAILED)
end
function module_6_upvr.onItemEnter(arg1, ...) -- Line 865
arg1:_onItemCallback("itemEntered", true, ...)
end
function module_6_upvr.onItemExit(arg1, ...) -- Line 869
arg1:_onItemCallback("itemExited", false, ...)
end
function module_6_upvr.destroy(arg1) -- Line 873
arg1:unbindFromGroup()
arg1.janitor:destroy()
end
module_6_upvr.Destroy = module_6_upvr.destroy
return module_6_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:53:45
-- Luau version 6, Types version 3
-- Time taken: 0.007945 seconds
local module = {}
local module_upvr = {}
module.enums = module_upvr
function module.createEnum(arg1, arg2) -- Line 20
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var13_upvr
if typeof(arg1) ~= "string" then
var13_upvr = false
else
var13_upvr = true
end
assert(var13_upvr, "bad argument #1 - enums must be created using a string name!")
if typeof(arg2) ~= "table" then
var13_upvr = false
else
var13_upvr = true
end
assert(var13_upvr, "bad argument #2 - enums must be created using a table!")
var13_upvr = not module_upvr[arg1]
assert(var13_upvr, "enum '%s' already exists!":format(arg1))
local module_2 = {}
var13_upvr = {}
local tbl_upvr_2 = {}
local tbl_upvr = {}
local module_3_upvr = {
getName = function(arg1_2) -- Line 30, Named "getName"
--[[ Upvalues[3]:
[1]: tbl_upvr_2 (readonly)
[2]: tbl_upvr (readonly)
[3]: arg2 (readonly)
]]
local tostring_result1_3 = tostring(arg1_2)
local var19 = tbl_upvr_2[tostring_result1_3]
if not var19 then
var19 = tbl_upvr[tostring_result1_3]
end
if var19 then
return arg2[var19][1]
end
end;
getValue = function(arg1_3) -- Line 40, Named "getValue"
--[[ Upvalues[3]:
[1]: var13_upvr (readonly)
[2]: tbl_upvr (readonly)
[3]: arg2 (readonly)
]]
local tostring_result1_4 = tostring(arg1_3)
local var21 = var13_upvr[tostring_result1_4]
if not var21 then
var21 = tbl_upvr[tostring_result1_4]
end
if var21 then
return arg2[var21][2]
end
end;
getProperty = function(arg1_4) -- Line 50, Named "getProperty"
--[[ Upvalues[3]:
[1]: var13_upvr (readonly)
[2]: tbl_upvr_2 (readonly)
[3]: arg2 (readonly)
]]
local tostring_result1_2 = tostring(arg1_4)
local var23 = var13_upvr[tostring_result1_2]
if not var23 then
var23 = tbl_upvr_2[tostring_result1_2]
end
if var23 then
return arg2[var23][3]
end
end;
}
for i, v in pairs(arg2) do
local var27
if typeof(v) ~= "table" then
var27 = false
else
var27 = true
end
assert(var27, "bad argument #2.%s - details must only be comprised of tables!":format(i))
local _1 = v[1]
if typeof(_1) ~= "string" then
else
end
var27 = assert
var27(true, "bad argument #2.%s.1 - detail name must be a string!":format(i))
var27 = assert
var27(typeof(not var13_upvr[_1]), "bad argument #2.%s.1 - the detail name '%s' already exists!":format(i, _1))
var27 = assert
var27(typeof(not module_3_upvr[_1]), "bad argument #2.%s.1 - that name is reserved.":format(i, _1))
var27 = tostring(_1)
var13_upvr[var27] = i
var27 = v[2]
local tostring_result1 = tostring(var27)
assert(typeof(not tbl_upvr_2[tostring_result1]), "bad argument #2.%s.2 - the detail value '%s' already exists!":format(i, tostring_result1))
tbl_upvr_2[tostring_result1] = i
local _3 = v[3]
if _3 then
assert(typeof(not tbl_upvr[_3]), "bad argument #2.%s.3 - the detail property '%s' already exists!":format(i, tostring(_3)))
tbl_upvr[tostring(_3)] = i
end
module_2[_1] = var27
setmetatable(module_2, {
__index = function(arg1_5, arg2_2) -- Line 80, Named "__index"
--[[ Upvalues[1]:
[1]: module_3_upvr (readonly)
]]
return module_3_upvr[arg2_2]
end;
})
end
module_upvr[arg1] = module_2
return module_2
end
function module.getEnums() -- Line 90
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
return module_upvr
end
for _, v_2 in pairs(script:GetChildren()) do
if v_2:IsA("ModuleScript") then
module.createEnum(v_2.Name, require(v_2))
end
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:53:47
-- Luau version 6, Types version 3
-- Time taken: 0.000646 seconds
return {{"Low", 1, 1}, {"Medium", 2, 0.5}, {"High", 3, 0.1}, {"Precise", 4, 0}}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:53:48
-- Luau version 6, Types version 3
-- Time taken: 0.000524 seconds
return {{"WholeBody", 1}, {"Centre", 2}}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:53:50
-- Luau version 6, Types version 3
-- Time taken: 0.001952 seconds
local ReplicatedStorage_upvr = game:GetService("ReplicatedStorage")
return {
addToReplicatedStorage = function() -- Line 9, Named "addToReplicatedStorage"
--[[ Upvalues[1]:
[1]: ReplicatedStorage_upvr (readonly)
]]
if ReplicatedStorage_upvr:FindFirstChild(script.Name) then
return false
end
local ObjectValue = Instance.new("ObjectValue")
ObjectValue.Name = script.Name
ObjectValue.Value = script.Parent
ObjectValue.Parent = ReplicatedStorage_upvr
local var4 = "BoolValue"
local any = Instance.new(var4)
if game:GetService("RunService"):IsClient() then
var4 = "Client"
else
var4 = "Server"
end
any.Name = var4
any.Value = true
any.Parent = ObjectValue
return ObjectValue
end;
getObject = function() -- Line 25, Named "getObject"
--[[ Upvalues[1]:
[1]: ReplicatedStorage_upvr (readonly)
]]
local SOME = ReplicatedStorage_upvr:FindFirstChild(script.Name)
if SOME then
return SOME
end
return false
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:53:51
-- Luau version 6, Types version 3
-- Time taken: 0.000260 seconds
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:53:52
-- Luau version 6, Types version 3
-- Time taken: 0.006943 seconds
local var1_upvw
local function acquireRunnerThreadAndCallEventHandler_upvr(arg1, ...) -- Line 34, Named "acquireRunnerThreadAndCallEventHandler"
--[[ Upvalues[1]:
[1]: var1_upvw (read and write)
]]
var1_upvw = nil
arg1(...)
var1_upvw = var1_upvw
end
local function runEventHandlerInFreeThread_upvr(...) -- Line 45, Named "runEventHandlerInFreeThread"
--[[ Upvalues[1]:
[1]: acquireRunnerThreadAndCallEventHandler_upvr (readonly)
]]
acquireRunnerThreadAndCallEventHandler_upvr(...)
while true do
acquireRunnerThreadAndCallEventHandler_upvr(coroutine.yield())
end
end
local tbl_upvr = {}
tbl_upvr.__index = tbl_upvr
local function new(arg1, arg2) -- Line 56
--[[ Upvalues[1]:
[1]: tbl_upvr (readonly)
]]
local module = {
_connected = true;
}
module._signal = arg1
module._fn = arg2
module._next = false
return setmetatable(module, tbl_upvr)
end
tbl_upvr.new = new
function tbl_upvr.Disconnect(arg1) -- Line 65
-- KONSTANTERROR: [0] 1. Error Block 17 start (CF ANALYSIS FAILED)
assert(arg1._connected, "Can't disconnect a connection twice.", 2)
arg1._connected = false
local _signal = arg1._signal
local var5
if var5 == arg1 then
var5 = arg1._next
_signal._handlerListHead = var5
-- KONSTANTWARNING: GOTO [37] #24
end
-- KONSTANTERROR: [0] 1. Error Block 17 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [22] 15. Error Block 25 start (CF ANALYSIS FAILED)
var5 = _signal._handlerListHead
while var5 and var5._next ~= arg1 do
var5 = var5._next
end
if var5 then
var5._next = arg1._next
end
var5 = _signal.connectionsChanged
if var5 then
var5 = _signal.totalConnections
var5 -= 1
_signal.totalConnections = var5
var5 = _signal.connectionsChanged:Fire
var5(-1)
end
-- KONSTANTERROR: [22] 15. Error Block 25 end (CF ANALYSIS FAILED)
end
setmetatable(tbl_upvr, {
__index = function(arg1, arg2) -- Line 94, Named "__index"
error("Attempt to get Connection::%s (not a valid member)":format(tostring(arg2)), 2)
end;
__newindex = function(arg1, arg2, arg3) -- Line 97, Named "__newindex"
error("Attempt to set Connection::%s (not a valid member)":format(tostring(arg2)), 2)
end;
})
local module_2_upvr = {}
module_2_upvr.__index = module_2_upvr
function module_2_upvr.new(arg1) -- Line 106
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
local setmetatable_result1 = setmetatable({
_handlerListHead = false;
}, module_2_upvr)
if arg1 then
setmetatable_result1.totalConnections = 0
setmetatable_result1.connectionsChanged = module_2_upvr.new()
end
return setmetatable_result1
end
function module_2_upvr.Connect(arg1, arg2) -- Line 117
--[[ Upvalues[1]:
[1]: tbl_upvr (readonly)
]]
local any_new_result1 = tbl_upvr.new(arg1, arg2)
if arg1._handlerListHead then
any_new_result1._next = arg1._handlerListHead
arg1._handlerListHead = any_new_result1
else
arg1._handlerListHead = any_new_result1
end
if arg1.connectionsChanged then
arg1.totalConnections += 1
arg1.connectionsChanged:Fire(1)
end
return any_new_result1
end
function module_2_upvr.DisconnectAll(arg1) -- Line 135
arg1._handlerListHead = false
if arg1.connectionsChanged then
arg1.connectionsChanged:Fire(-arg1.totalConnections)
arg1.connectionsChanged:Destroy()
arg1.connectionsChanged = nil
arg1.totalConnections = 0
end
end
module_2_upvr.Destroy = module_2_upvr.DisconnectAll
module_2_upvr.destroy = module_2_upvr.DisconnectAll
function module_2_upvr.Fire(arg1, ...) -- Line 152
--[[ Upvalues[2]:
[1]: var1_upvw (read and write)
[2]: runEventHandlerInFreeThread_upvr (readonly)
]]
local _handlerListHead = arg1._handlerListHead
while _handlerListHead do
if _handlerListHead._connected then
if not var1_upvw then
var1_upvw = coroutine.create(runEventHandlerInFreeThread_upvr)
end
task.spawn(var1_upvw, _handlerListHead._fn, ...)
end
end
end
function module_2_upvr.Wait(arg1) -- Line 167
local var13_upvw
local current_thread_upvr = coroutine.running()
var13_upvw = arg1:Connect(function(...) -- Line 170
--[[ Upvalues[2]:
[1]: var13_upvw (read and write)
[2]: current_thread_upvr (readonly)
]]
var13_upvw:Disconnect()
task.spawn(current_thread_upvr, ...)
end)
return coroutine.yield()
end
return module_2_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:53:54
-- Luau version 6, Types version 3
-- Time taken: 0.014119 seconds
local newproxy_result1_3_upvr = newproxy(true)
getmetatable(newproxy_result1_3_upvr).__tostring = function() -- Line 11
return "IndicesReference"
end
local newproxy_result1_5_upvr = newproxy(true)
getmetatable(newproxy_result1_5_upvr).__tostring = function() -- Line 16
return "LinkToInstanceIndex"
end
local module_upvr = {
ClassName = "Janitor";
__index = {
CurrentlyCleaning = true;
[newproxy_result1_3_upvr] = nil;
};
}
local tbl_upvr = {
["function"] = true;
RBXScriptConnection = "Disconnect";
}
function module_upvr.new() -- Line 40
--[[ Upvalues[2]:
[1]: newproxy_result1_3_upvr (readonly)
[2]: module_upvr (readonly)
]]
return setmetatable({
CurrentlyCleaning = false;
[newproxy_result1_3_upvr] = nil;
}, module_upvr)
end
function module_upvr.Is(arg1) -- Line 52
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
local var13 = false
if type(arg1) == "table" then
if getmetatable(arg1) ~= module_upvr then
var13 = false
else
var13 = true
end
end
return var13
end
module_upvr.is = module_upvr.Is
module_upvr.__index.Add = function(arg1, arg2, arg3, arg4) -- Line 65, Named "Add"
--[[ Upvalues[2]:
[1]: newproxy_result1_3_upvr (readonly)
[2]: tbl_upvr (readonly)
]]
if arg4 == nil then
local newproxy_result1 = newproxy(false)
end
if newproxy_result1 then
arg1:Remove(newproxy_result1)
local var19 = arg1[newproxy_result1_3_upvr]
if not var19 then
var19 = {}
arg1[newproxy_result1_3_upvr] = var19
end
var19[newproxy_result1] = arg2
end
var19 = arg3
local var20 = var19
if not var20 then
var20 = tbl_upvr[typeof(arg2)]
if not var20 then
var20 = "Destroy"
end
end
local var21 = var20
if type(arg2) ~= "function" then
if not arg2[var21] then
warn(string.format("Object %s doesn't have method %s, are you sure you want to add it? Traceback: %s", tostring(arg2), tostring(var21), debug.traceback(nil, 2)))
end
end
arg1[arg2] = var21
return arg2, newproxy_result1
end
module_upvr.__index.Give = module_upvr.__index.Add
module_upvr.__index.AddObject = function(arg1, arg2) -- Line 131, Named "AddObject"
local newproxy_result1_2 = newproxy(false)
return arg1:Add(arg2, false, newproxy_result1_2), newproxy_result1_2
end
module_upvr.__index.GiveObject = module_upvr.__index.AddObject
module_upvr.__index.Remove = function(arg1, arg2) -- Line 155, Named "Remove"
--[[ Upvalues[1]:
[1]: newproxy_result1_3_upvr (readonly)
]]
local var27 = arg1[newproxy_result1_3_upvr]
if var27 then
local var28 = var27[arg2]
if var28 then
local var29 = arg1[var28]
if var29 then
if var29 == true then
var28()
else
local var30 = var28[var29]
if var30 then
var30(var28)
end
end
arg1[var28] = nil
end
var27[arg2] = nil
end
end
return arg1
end
module_upvr.__index.Get = function(arg1, arg2) -- Line 189, Named "Get"
--[[ Upvalues[1]:
[1]: newproxy_result1_3_upvr (readonly)
]]
local var31 = arg1[newproxy_result1_3_upvr]
if var31 then
return var31[arg2]
end
end
module_upvr.__index.Cleanup = function(arg1) -- Line 200, Named "Cleanup"
--[[ Upvalues[1]:
[1]: newproxy_result1_3_upvr (readonly)
]]
if not arg1.CurrentlyCleaning then
arg1.CurrentlyCleaning = nil
for i, v in next, arg1 do
if i ~= newproxy_result1_3_upvr then
local type_result1 = type(i)
if type_result1 == "string" or type_result1 == "number" then
arg1[i] = nil
else
if v == true then
i()
else
local var39 = i[v]
if var39 then
var39(i)
end
end
arg1[i] = nil
end
end
end
local var40 = arg1[newproxy_result1_3_upvr]
if var40 then
i = nil
for i_2 in next, var40, i do
var40[i_2] = nil
local _
end
arg1[newproxy_result1_3_upvr] = {}
end
arg1.CurrentlyCleaning = false
end
end
module_upvr.__index.Clean = module_upvr.__index.Cleanup
module_upvr.__index.Destroy = function(arg1) -- Line 246, Named "Destroy"
arg1:Cleanup()
end
module_upvr.__call = module_upvr.__index.Cleanup
local tbl_upvr_2 = {
Connected = true;
}
tbl_upvr_2.__index = tbl_upvr_2
function tbl_upvr_2.Disconnect(arg1) -- Line 260
if arg1.Connected then
arg1.Connected = false
arg1.Connection:Disconnect()
end
end
function tbl_upvr_2.__tostring(arg1) -- Line 267
return "Disconnect<"..tostring(arg1.Connected)..'>'
end
local Heartbeat_upvr = game:GetService("RunService").Heartbeat
module_upvr.__index.LinkToInstance = function(arg1, arg2, arg3) -- Line 277, Named "LinkToInstance"
--[[ Upvalues[3]:
[1]: newproxy_result1_5_upvr (readonly)
[2]: tbl_upvr_2 (readonly)
[3]: Heartbeat_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var44_upvw
local function INLINED() -- Internal function, doesn't exist in bytecode
var44_upvw = false
return newproxy(var44_upvw)
end
if not arg3 or not INLINED() then
end
if arg2.Parent ~= nil then
var44_upvw = false
else
var44_upvw = true
end
local setmetatable_result1_upvr = setmetatable({}, tbl_upvr_2)
local var46_upvw
var46_upvw = arg2.AncestryChanged:Connect(function(arg1_2, arg2_2) -- Line 283, Named "ChangedFunction"
--[[ Upvalues[5]:
[1]: setmetatable_result1_upvr (readonly)
[2]: var44_upvw (read and write)
[3]: Heartbeat_upvr (copied, readonly)
[4]: var46_upvw (read and write)
[5]: arg1 (readonly)
]]
local Connected = setmetatable_result1_upvr.Connected
if Connected then
if arg2_2 ~= nil then
Connected = false
else
Connected = true
end
var44_upvw = Connected
Connected = var44_upvw
if Connected then
Connected = coroutine.wrap
Connected = Connected(function() -- Line 289
--[[ Upvalues[5]:
[1]: Heartbeat_upvr (copied, readonly)
[2]: setmetatable_result1_upvr (copied, readonly)
[3]: var46_upvw (copied, read and write)
[4]: arg1 (copied, readonly)
[5]: var44_upvw (copied, read and write)
]]
Heartbeat_upvr:Wait()
if not setmetatable_result1_upvr.Connected then
else
if not var46_upvw.Connected then
arg1:Cleanup()
return
end
while var44_upvw and var46_upvw.Connected and setmetatable_result1_upvr.Connected do
Heartbeat_upvr:Wait()
end
if setmetatable_result1_upvr.Connected and var44_upvw then
arg1:Cleanup()
end
end
end)
Connected()
end
end
end)
local var49_upvw = var46_upvw
setmetatable_result1_upvr.Connection = var49_upvw
if var44_upvw and setmetatable_result1_upvr.Connected then
if arg2.Parent ~= nil then
var44_upvw = false
else
var44_upvw = true
end
if var44_upvw then
coroutine.wrap(function() -- Line 289
--[[ Upvalues[5]:
[1]: Heartbeat_upvr (copied, readonly)
[2]: setmetatable_result1_upvr (readonly)
[3]: var49_upvw (read and write)
[4]: arg1 (readonly)
[5]: var44_upvw (read and write)
]]
Heartbeat_upvr:Wait()
if not setmetatable_result1_upvr.Connected then
else
if not var49_upvw.Connected then
arg1:Cleanup()
return
end
while var44_upvw and var49_upvw.Connected and setmetatable_result1_upvr.Connected do
Heartbeat_upvr:Wait()
end
if setmetatable_result1_upvr.Connected and var44_upvw then
arg1:Cleanup()
end
end
end)()
end
end
return arg1:Add(setmetatable_result1_upvr, "Disconnect", newproxy_result1_5_upvr)
end
module_upvr.__index.LinkToInstances = function(arg1, ...) -- Line 325, Named "LinkToInstances"
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
local any_new_result1 = module_upvr.new()
for _, v_2 in ipairs({...}) do
any_new_result1:Add(arg1:LinkToInstance(v_2, true), "Disconnect")
end
return any_new_result1
end
for i_4, v_3 in next, module_upvr.__index do
module_upvr.__index[string.sub(string.lower(i_4), 1, 1)..string.sub(i_4, 2)] = v_3
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:53:55
-- Luau version 6, Types version 3
-- Time taken: 0.005073 seconds
local HttpService_upvr = game:GetService("HttpService")
local module_upvr = {}
module_upvr.__index = module_upvr
module_upvr.ClassName = "Signal"
module_upvr.totalConnections = 0
function module_upvr.new(arg1) -- Line 12
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
local setmetatable_result1 = setmetatable({}, module_upvr)
if arg1 then
setmetatable_result1.connectionsChanged = module_upvr.new()
end
setmetatable_result1.connections = {}
setmetatable_result1.totalConnections = 0
setmetatable_result1.waiting = {}
setmetatable_result1.totalWaiting = 0
return setmetatable_result1
end
function module_upvr.Fire(arg1, ...) -- Line 30
for _, v in pairs(arg1.connections) do
task.spawn(v.Handler, ...)
end
if 0 < arg1.totalWaiting then
for i_2, _ in pairs(arg1.waiting) do
arg1.waiting[i_2] = table.pack(...)
local _
end
end
end
module_upvr.fire = module_upvr.Fire
function module_upvr.Connect(arg1, arg2) -- Line 44
--[[ Upvalues[1]:
[1]: HttpService_upvr (readonly)
]]
if type(arg2) ~= "function" then
error("connect(%s)":format(typeof(arg2)), 2)
end
local any_GenerateGUID_result1_2_upvr = HttpService_upvr:GenerateGUID(false)
local module_upvr_2 = {
Connected = true;
ConnectionId = any_GenerateGUID_result1_2_upvr;
}
module_upvr_2.Handler = arg2
arg1.connections[any_GenerateGUID_result1_2_upvr] = module_upvr_2
function module_upvr_2.Disconnect(arg1_2) -- Line 57
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: any_GenerateGUID_result1_2_upvr (readonly)
[3]: module_upvr_2 (readonly)
]]
arg1.connections[any_GenerateGUID_result1_2_upvr] = nil
module_upvr_2.Connected = false
local var21 = arg1
var21.totalConnections -= 1
if arg1.connectionsChanged then
arg1.connectionsChanged:Fire(-1)
end
end
module_upvr_2.Destroy = module_upvr_2.Disconnect
module_upvr_2.destroy = module_upvr_2.Disconnect
module_upvr_2.disconnect = module_upvr_2.Disconnect
arg1.totalConnections += 1
if arg1.connectionsChanged then
arg1.connectionsChanged:Fire(1)
end
return module_upvr_2
end
module_upvr.connect = module_upvr.Connect
local Heartbeat_upvr = game:GetService("RunService").Heartbeat
function module_upvr.Wait(arg1) -- Line 77
--[[ Upvalues[2]:
[1]: HttpService_upvr (readonly)
[2]: Heartbeat_upvr (readonly)
]]
local any_GenerateGUID_result1 = HttpService_upvr:GenerateGUID(false)
arg1.waiting[any_GenerateGUID_result1] = true
arg1.totalWaiting += 1
repeat
Heartbeat_upvr:Wait()
until arg1.waiting[any_GenerateGUID_result1] ~= true
arg1.totalWaiting -= 1
arg1.waiting[any_GenerateGUID_result1] = nil
return unpack(arg1.waiting[any_GenerateGUID_result1])
end
module_upvr.wait = module_upvr.Wait
function module_upvr.Destroy(arg1) -- Line 89
if arg1.bindableEvent then
arg1.bindableEvent:Destroy()
arg1.bindableEvent = nil
end
if arg1.connectionsChanged then
arg1.connectionsChanged:Fire(-arg1.totalConnections)
arg1.connectionsChanged:Destroy()
arg1.connectionsChanged = nil
end
arg1.totalConnections = 0
for i_3, _ in pairs(arg1.connections) do
arg1.connections[i_3] = nil
end
end
module_upvr.destroy = module_upvr.Destroy
module_upvr.Disconnect = module_upvr.Destroy
module_upvr.disconnect = module_upvr.Destroy
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:53:56
-- Luau version 6, Types version 3
-- Time taken: 0.033818 seconds
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local Tracker_upvr = require(script.Tracker)
local CollectiveWorldModel_upvr = require(script.CollectiveWorldModel)
local enums_upvr = require(script.Parent.Enum).enums
local Players_upvr = game:GetService("Players")
local tbl_upvr = {}
local var6_upvw = 0
local tbl_upvr_5 = {}
local tbl_upvr_4 = {}
local tbl_upvw_2 = {}
local tbl_2_upvw = {}
local tbl_upvw = {}
local tbl_5_upvw = {}
local var13_upvw = 0
local RunService = game:GetService("RunService")
local tbl_upvr_2 = {}
local any_IsClient_result1_upvr = RunService:IsClient()
if any_IsClient_result1_upvr then
any_IsClient_result1_upvr = Players_upvr.LocalPlayer
end
local module_upvr = {}
local tbl_4_upvr = {
player = Tracker_upvr.new("player");
item = Tracker_upvr.new("item");
}
module_upvr.trackers = tbl_4_upvr
local function _(arg1) -- Line 40, Named "dictLength"
local var23 = 0
for _, _ in pairs(arg1) do
var23 += 1
end
return var23
end
local function _(arg1, arg2, arg3) -- Line 48, Named "fillOccupants"
local var27 = arg1[arg2]
if not var27 then
var27 = {}
arg1[arg2] = var27
end
local children_3 = arg3:IsA("Player")
if children_3 then
children_3 = arg3.Character
end
var27[arg3] = children_3 or true
end
local tbl_upvr_3 = {
player = function(arg1) -- Line 59
--[[ Upvalues[3]:
[1]: module_upvr (readonly)
[2]: tbl_upvr (readonly)
[3]: var6_upvw (read and write)
]]
return module_upvr._getZonesAndItems("player", tbl_upvr, var6_upvw, true, arg1)
end;
localPlayer = function(arg1) -- Line 62
--[[ Upvalues[3]:
[1]: any_IsClient_result1_upvr (readonly)
[2]: module_upvr (readonly)
[3]: tbl_4_upvr (readonly)
]]
local module = {}
local Character = any_IsClient_result1_upvr.Character
if not Character then
return module
end
for _, v_2 in pairs(module_upvr.getTouchingZones(Character, true, arg1, tbl_4_upvr.player)) do
if v_2.activeTriggers.localPlayer then
local var41 = any_IsClient_result1_upvr
local var42 = module[v_2]
if not var42 then
var42 = {}
module[v_2] = var42
end
local children = var41:IsA("Player")
if children then
children = var41.Character
end
var42[var41] = children or true
end
end
return module
end;
item = function(arg1) -- Line 76
--[[ Upvalues[3]:
[1]: module_upvr (readonly)
[2]: tbl_upvr (readonly)
[3]: var6_upvw (read and write)
]]
return module_upvr._getZonesAndItems("item", tbl_upvr, var6_upvw, true, arg1)
end;
}
local Janitor_upvr = require(script.Parent.Janitor)
function module_upvr._registerZone(arg1) -- Line 84
--[[ Upvalues[3]:
[1]: tbl_upvr_4 (readonly)
[2]: Janitor_upvr (readonly)
[3]: module_upvr (readonly)
]]
tbl_upvr_4[arg1] = true
local any_add_result1 = arg1.janitor:add(Janitor_upvr.new(), "destroy")
arg1._registeredJanitor = any_add_result1
any_add_result1:add(arg1.updated:Connect(function() -- Line 88
--[[ Upvalues[1]:
[1]: module_upvr (copied, readonly)
]]
module_upvr._updateZoneDetails()
end), "Disconnect")
module_upvr._updateZoneDetails()
end
function module_upvr._deregisterZone(arg1) -- Line 94
--[[ Upvalues[2]:
[1]: tbl_upvr_4 (readonly)
[2]: module_upvr (readonly)
]]
tbl_upvr_4[arg1] = nil
arg1._registeredJanitor:destroy()
arg1._registeredJanitor = nil
module_upvr._updateZoneDetails()
end
function module_upvr._registerConnection(arg1, arg2) -- Line 101
--[[ Upvalues[5]:
[1]: var13_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: module_upvr (readonly)
[4]: tbl_upvr_5 (readonly)
[5]: tbl_upvr_3 (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var56 = 0
for _, _ in pairs(arg1.activeTriggers) do
var56 += 1
end
var13_upvw += 1
if var56 == 0 then
var56 = true
tbl_upvr[arg1] = var56
var56 = module_upvr
var56._updateZoneDetails()
end
var56 = tbl_upvr_5
local var60 = var56[arg2]
var56 = tbl_upvr_5
if not var60 or not (var60 + 1) then
end
var56[arg2] = 1
var56 = arg1.activeTriggers
var56[arg2] = true
var56 = arg1.touchedConnectionActions[arg2]
if var56 then
var56 = arg1:_formTouchedConnection
var56(arg2)
end
var56 = tbl_upvr_3[arg2]
if var56 then
var56 = module_upvr._formHeartbeat
var56(arg2)
end
end
function module_upvr.updateDetection(arg1) -- Line 121
--[[ Upvalues[2]:
[1]: Tracker_upvr (readonly)
[2]: enums_upvr (readonly)
]]
for i_4, v_4 in pairs({
enterDetection = "_currentEnterDetection";
exitDetection = "_currentExitDetection";
}) do
local var69 = arg1[i_4]
if var69 == enums_upvr.Detection.Automatic then
if 729000 < Tracker_upvr.getCombinedTotalVolumes() then
var69 = enums_upvr.Detection.Centre
else
var69 = enums_upvr.Detection.WholeBody
end
end
arg1[v_4] = var69
end
end
local Heartbeat_upvr = RunService.Heartbeat
function module_upvr._formHeartbeat(arg1) -- Line 140
--[[ Upvalues[6]:
[1]: tbl_upvr_2 (readonly)
[2]: Heartbeat_upvr (readonly)
[3]: tbl_upvr (readonly)
[4]: module_upvr (readonly)
[5]: tbl_upvr_3 (readonly)
[6]: enums_upvr (readonly)
]]
if tbl_upvr_2[arg1] then
else
local const_number_upvw = 0
tbl_upvr_2[arg1] = Heartbeat_upvr:Connect(function() -- Line 150
--[[ Upvalues[6]:
[1]: const_number_upvw (read and write)
[2]: tbl_upvr (copied, readonly)
[3]: arg1 (readonly)
[4]: module_upvr (copied, readonly)
[5]: tbl_upvr_3 (copied, readonly)
[6]: enums_upvr (copied, readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local var113
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [6] 5. Error Block 85 start (CF ANALYSIS FAILED)
var113 = nil
local var114
for i_15, _ in pairs(tbl_upvr) do
if i_15.activeTriggers[arg1] then
local accuracy = i_15.accuracy
if var113 == nil or accuracy < var113 then
var113 = accuracy
end
module_upvr.updateDetection(i_15)
local _currentEnterDetection = i_15._currentEnterDetection
if var114 == nil or _currentEnterDetection < var114 then
end
end
end
local tbl_3 = {}
for i_16, v_16 in pairs(tbl_upvr_3[arg1](_currentEnterDetection)) do
local var124
if var124 then
var124 = module_upvr.getGroup(i_16.settingsGroupName)
end
if var124 and var124.onlyEnterOnceExitedAll == true then
for i_17, _ in pairs(v_16) do
local var128 = tbl_3[i_16.settingsGroupName]
if not var128 then
var128 = {}
tbl_3[i_16.settingsGroupName] = var128
end
var128[i_17] = i_16
end
;({})[i_16] = v_16
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
for i_18, v_18 in pairs({}) do
var124 = tbl_3[i_18.settingsGroupName]
if var124 then
for i_19, _ in pairs(v_18) do
local var135 = var124[i_19]
if var135 and var135 ~= i_18 then
v_18[i_19] = nil
end
end
end
end
local _ = {{}, {}}
local _, _, _ = pairs(tbl_upvr)
-- KONSTANTERROR: [6] 5. Error Block 85 end (CF ANALYSIS FAILED)
end)
end
end
function module_upvr._deregisterConnection(arg1, arg2) -- Line 249
--[[ Upvalues[5]:
[1]: var13_upvw (read and write)
[2]: tbl_upvr_5 (readonly)
[3]: tbl_upvr_2 (readonly)
[4]: tbl_upvr (readonly)
[5]: module_upvr (readonly)
]]
var13_upvw -= 1
local var144
if tbl_upvr_5[arg2] == 1 then
tbl_upvr_5[arg2] = nil
local var145 = tbl_upvr_2[arg2]
if var145 then
var144 = nil
tbl_upvr_2[arg2] = var144
var145:Disconnect()
-- KONSTANTWARNING: GOTO [24] #23
end
else
local var146 = tbl_upvr_5
var146[arg2] -= 1
end
arg1.activeTriggers[arg2] = nil
var144 = 0
for _, _ in pairs(arg1.activeTriggers) do
var144 += 1
end
if var144 == 0 then
tbl_upvr[arg1] = nil
module_upvr._updateZoneDetails()
end
if arg1.touchedConnectionActions[arg2] then
arg1:_disconnectTouchedConnection(arg2)
end
end
function module_upvr._updateZoneDetails() -- Line 271
--[[ Upvalues[7]:
[1]: tbl_upvw_2 (read and write)
[2]: tbl_2_upvw (read and write)
[3]: tbl_upvw (read and write)
[4]: tbl_5_upvw (read and write)
[5]: var6_upvw (read and write)
[6]: tbl_upvr_4 (readonly)
[7]: tbl_upvr (readonly)
]]
tbl_upvw_2 = {}
tbl_2_upvw = {}
tbl_upvw = {}
tbl_5_upvw = {}
var6_upvw = 0
for i_6, _ in pairs(tbl_upvr_4) do
local var157 = tbl_upvr[i_6]
if var157 then
var6_upvw += i_6.volume
end
for _, v_7 in pairs(i_6.zoneParts) do
if var157 then
table.insert(tbl_upvw_2, v_7)
tbl_2_upvw[v_7] = i_6
end
table.insert(tbl_upvw, v_7)
tbl_5_upvw[v_7] = i_6
end
end
end
function module_upvr._getZonesAndItems(arg1, arg2, arg3, arg4, arg5) -- Line 293
--[[ Upvalues[4]:
[1]: tbl_4_upvr (readonly)
[2]: module_upvr (readonly)
[3]: Players_upvr (readonly)
[4]: CollectiveWorldModel_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 81 start (CF ANALYSIS FAILED)
local var173 = arg3
if not var173 then
for i_8, _ in pairs(arg2) do
var173 += i_8.volume
end
end
local module_4 = {}
local var178 = tbl_4_upvr[arg1]
if var178.totalVolume < var173 then
for _, v_9 in pairs(var178.items) do
local _
for _, v_10 in pairs(module_upvr.getTouchingZones(v_9, arg4, arg5, var178)) do
if not arg4 or v_10.activeTriggers[arg1] then
local var186 = v_9
if arg1 == "player" then
var186 = Players_upvr:GetPlayerFromCharacter(v_9)
end
if var186 then
local var187 = var186
local var188 = module_4[v_10]
if not var188 then
var188 = {}
module_4[v_10] = var188
end
local children_2 = var187:IsA("Player")
if children_2 then
children_2 = var187.Character
end
var188[var187] = children_2 or true
end
end
end
end
return module_4
end
local pairs_result1_13, pairs_result2_2, pairs_result3_4 = pairs(arg2)
-- KONSTANTERROR: [0] 1. Error Block 81 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [167] 126. Error Block 46 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [167] 126. Error Block 46 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [79] 61. Error Block 23 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [79] 61. Error Block 23 end (CF ANALYSIS FAILED)
end
function module_upvr.getZones() -- Line 354
--[[ Upvalues[1]:
[1]: tbl_upvr_4 (readonly)
]]
local module_3 = {}
for i_11, _ in pairs(tbl_upvr_4) do
table.insert(module_3, i_11)
end
return module_3
end
function module_upvr.getTouchingZones(arg1, arg2, arg3, arg4) -- Line 374
--[[ Upvalues[7]:
[1]: enums_upvr (readonly)
[2]: Tracker_upvr (readonly)
[3]: tbl_upvw_2 (read and write)
[4]: tbl_upvw (read and write)
[5]: tbl_2_upvw (read and write)
[6]: tbl_5_upvw (read and write)
[7]: CollectiveWorldModel_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 83 start (CF ANALYSIS FAILED)
local var217
local var218
if arg4 then
var217 = arg4.exitDetections[arg1]
arg4.exitDetections[arg1] = nil
end
local var219
local var220
local tbl = {}
if arg1:IsA("BasePart") then
var219 = arg1.Size
var220 = arg1.CFrame
var218 = table.insert
var218(tbl, arg1)
else
var218 = enums_upvr.Detection.WholeBody
if (var217 or arg3) == var218 then
var218 = Tracker_upvr.getCharacterSize(arg1)
local any_getCharacterSize_result1, any_getCharacterSize_result2 = Tracker_upvr.getCharacterSize(arg1)
var219 = any_getCharacterSize_result1
var220 = any_getCharacterSize_result2
any_getCharacterSize_result1 = arg1:GetChildren()
tbl = any_getCharacterSize_result1
else
any_getCharacterSize_result1 = arg1:FindFirstChild("HumanoidRootPart")
if any_getCharacterSize_result1 then
var219 = any_getCharacterSize_result1.Size
var220 = any_getCharacterSize_result1.CFrame
table.insert(tbl, any_getCharacterSize_result1)
end
end
end
if not var219 or not var220 then
any_getCharacterSize_result1 = {}
return any_getCharacterSize_result1
end
local function INLINED() -- Internal function, doesn't exist in bytecode
any_getCharacterSize_result1 = tbl_upvw_2
return any_getCharacterSize_result1
end
if not arg2 or not INLINED() then
any_getCharacterSize_result1 = tbl_upvw
end
if not arg2 or not tbl_2_upvw then
end
local OverlapParams_new_result1 = OverlapParams.new()
OverlapParams_new_result1.FilterType = Enum.RaycastFilterType.Whitelist
OverlapParams_new_result1.MaxParts = #any_getCharacterSize_result1
OverlapParams_new_result1.FilterDescendantsInstances = any_getCharacterSize_result1
for _, v_12 in pairs(CollectiveWorldModel_upvr:GetPartBoundsInBox(var220, var219, OverlapParams_new_result1)) do
local var229 = tbl_5_upvw[v_12]
if var229 and var229.allZonePartsAreBlocks then
({})[var229] = true
;({})[v_12] = var229
else
table.insert({}, v_12)
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
-- KONSTANTERROR: [0] 1. Error Block 83 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [192] 145. Error Block 62 start (CF ANALYSIS FAILED)
local var230
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
for i_13, _ in pairs({}) do
if var230 == nil or i_13._currentExitDetection < var230 then
local _currentExitDetection = i_13._currentExitDetection
end
table.insert({}, i_13)
end
if _currentExitDetection and arg4 then
arg4.exitDetections[arg1] = _currentExitDetection
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x2)
do
return {}, {}
end
-- KONSTANTERROR: [192] 145. Error Block 62 end (CF ANALYSIS FAILED)
end
local module_2_upvr = {}
function module_upvr.setGroup(arg1, arg2) -- Line 491
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var244 = module_2_upvr[arg1]
if not var244 then
var244 = {}
module_2_upvr[arg1] = var244
end
var244.onlyEnterOnceExitedAll = true
var244._name = arg1
var244._memberZones = {}
if typeof(arg2) == "table" then
for i_14, v_14 in pairs(arg2) do
var244[i_14] = v_14
end
end
return var244
end
function module_upvr.getGroup(arg1) -- Line 515
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
return module_2_upvr[arg1]
end
if RunService:IsClient() then
else
end
local var248_upvw
local formatted_upvr = string.format("ZonePlus%sContainer", "Server")
function module_upvr.getWorkspaceContainer() -- Line 521
--[[ Upvalues[2]:
[1]: var248_upvw (read and write)
[2]: formatted_upvr (readonly)
]]
local var250 = var248_upvw
if not var250 then
var250 = workspace:FindFirstChild(formatted_upvr)
end
if not var250 then
local Folder = Instance.new("Folder")
Folder.Name = formatted_upvr
Folder.Parent = workspace
var248_upvw = Folder
end
return Folder
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:53:57
-- Luau version 6, Types version 3
-- Time taken: 0.014624 seconds
local Signal = require(script.Parent.Parent.Signal)
local Janitor_upvr = require(script.Parent.Parent.Janitor)
local module_upvr = {}
module_upvr.__index = module_upvr
local tbl_upvr = {}
module_upvr.trackers = tbl_upvr
module_upvr.itemAdded = Signal.new()
module_upvr.itemRemoved = Signal.new()
module_upvr.bodyPartsToIgnore = {
UpperTorso = true;
LowerTorso = true;
Torso = true;
LeftHand = true;
RightHand = true;
LeftFoot = true;
RightFoot = true;
}
function module_upvr.getCombinedTotalVolumes() -- Line 35
--[[ Upvalues[1]:
[1]: tbl_upvr (readonly)
]]
local var10 = 0
for i, _ in pairs(tbl_upvr) do
var10 += i.totalVolume
end
return var10
end
function module_upvr.getCharacterSize(arg1) -- Line 43
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var14
if arg1 then
local Head = arg1:FindFirstChild("Head")
end
var14 = arg1
if var14 then
var14 = arg1:FindFirstChild("HumanoidRootPart")
end
if not var14 or not Head then
return nil
end
if not Head:IsA("BasePart") then
end
local Y = var14.Size.Y
local Size_2 = var14.Size
return Size_2 * Vector3.new(2, 2, 1) + Vector3.new(0, Y, 0), var14.CFrame * CFrame.new(0, Y / 2 - Size_2.Y / 2, 0)
end
local Players_upvr = game:GetService("Players")
function module_upvr.new(arg1) -- Line 60
--[[ Upvalues[4]:
[1]: module_upvr (readonly)
[2]: Janitor_upvr (readonly)
[3]: Players_upvr (readonly)
[4]: tbl_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local module_upvr_2 = {}
setmetatable(module_upvr_2, module_upvr)
module_upvr_2.name = arg1
module_upvr_2.totalVolume = 0
module_upvr_2.parts = {}
module_upvr_2.partToItem = {}
module_upvr_2.items = {}
module_upvr_2.whitelistParams = nil
module_upvr_2.characters = {}
module_upvr_2.baseParts = {}
module_upvr_2.exitDetections = {}
module_upvr_2.janitor = Janitor_upvr.new()
if arg1 == "player" then
local function updateItem_upvr() -- Line 76, Named "updatePlayerCharacters"
--[[ Upvalues[2]:
[1]: Players_upvr (copied, readonly)
[2]: module_upvr_2 (readonly)
]]
for _, v_2 in pairs(Players_upvr:GetPlayers()) do
local Character = v_2.Character
if Character then
({})[Character] = true
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
module_upvr_2.characters = {}
end
local function playerAdded(arg1_2) -- Line 87
--[[ Upvalues[2]:
[1]: updateItem_upvr (readonly)
[2]: module_upvr_2 (readonly)
]]
local function charAdded_upvr(arg1_3) -- Line 88, Named "charAdded"
--[[ Upvalues[2]:
[1]: updateItem_upvr (copied, readonly)
[2]: module_upvr_2 (copied, readonly)
]]
local function trackChar_upvr() -- Line 89, Named "trackChar"
--[[ Upvalues[3]:
[1]: arg1_3 (readonly)
[2]: updateItem_upvr (copied, readonly)
[3]: module_upvr_2 (copied, readonly)
]]
local Humanoid = arg1_3:WaitForChild("Humanoid", 0.1)
if arg1_3:WaitForChild("HumanoidRootPart", 0.1) == nil or Humanoid == nil or arg1_3:WaitForChild("Head", 0.1) == nil then
else
updateItem_upvr()
module_upvr_2:update()
for _, v_4 in pairs(Humanoid:GetChildren()) do
if v_4:IsA("NumberValue") then
v_4.Changed:Connect(function() -- Line 100
--[[ Upvalues[1]:
[1]: module_upvr_2 (copied, readonly)
]]
module_upvr_2:update()
end)
end
end
end
end
if arg1_3:FindFirstChild("HumanoidRootPart") then
task.delay(0.1, trackChar_upvr)
else
arg1_3.ChildAdded:Connect(function(arg1_4) -- Line 110
--[[ Upvalues[1]:
[1]: trackChar_upvr (readonly)
]]
if arg1_4.Name == "HumanoidRootPart" and arg1_4:IsA("BasePart") then
task.delay(0.1, trackChar_upvr)
end
end)
end
end
if arg1_2.Character then
charAdded_upvr(arg1_2.Character)
end
arg1_2.CharacterAdded:Connect(function(arg1_5) -- Line 120
--[[ Upvalues[1]:
[1]: charAdded_upvr (readonly)
]]
charAdded_upvr(arg1_5)
end)
arg1_2.CharacterRemoving:Connect(function(arg1_6) -- Line 123
--[[ Upvalues[1]:
[1]: module_upvr_2 (copied, readonly)
]]
module_upvr_2.exitDetections[arg1_6] = nil
end)
end
Players_upvr.PlayerAdded:Connect(playerAdded)
for _, v_3 in pairs(Players_upvr:GetPlayers()) do
playerAdded(v_3)
local var47
end
Players_upvr.PlayerRemoving:Connect(function(arg1_7) -- Line 133
--[[ Upvalues[2]:
[1]: updateItem_upvr (readonly)
[2]: module_upvr_2 (readonly)
]]
updateItem_upvr()
module_upvr_2:update()
end)
elseif arg1 == "item" then
function updateItem_upvr(arg1_8, arg2) -- Line 140, Named "updateItem"
--[[ Upvalues[1]:
[1]: module_upvr_2 (readonly)
]]
if arg1_8.isCharacter then
module_upvr_2.characters[arg1_8.item] = arg2
elseif arg1_8.isBasePart then
module_upvr_2.baseParts[arg1_8.item] = arg2
end
module_upvr_2:update()
end
var47 = module_upvr.itemAdded
var47 = var47:Connect
var47(function(arg1_9) -- Line 148
--[[ Upvalues[1]:
[1]: module_upvr_2 (readonly)
]]
if arg1_9.isCharacter then
module_upvr_2.characters[arg1_9.item] = true
elseif arg1_9.isBasePart then
module_upvr_2.baseParts[arg1_9.item] = true
end
module_upvr_2:update()
end)
var47 = module_upvr.itemRemoved
var47 = var47:Connect
var47(function(arg1_10) -- Line 151
--[[ Upvalues[1]:
[1]: module_upvr_2 (readonly)
]]
module_upvr_2.exitDetections[arg1_10.item] = nil
if arg1_10.isCharacter then
module_upvr_2.characters[arg1_10.item] = nil
elseif arg1_10.isBasePart then
module_upvr_2.baseParts[arg1_10.item] = nil
end
module_upvr_2:update()
end)
end
updateItem_upvr = tbl_upvr
updateItem_upvr[module_upvr_2] = true
updateItem_upvr = task.defer
updateItem_upvr(module_upvr_2.update, module_upvr_2)
return module_upvr_2
end
function module_upvr._preventMultiFrameUpdates(arg1, arg2, ...) -- Line 165
local _preventMultiDetails = arg1._preventMultiDetails
if not _preventMultiDetails then
_preventMultiDetails = {}
end
arg1._preventMultiDetails = _preventMultiDetails
_preventMultiDetails = arg1._preventMultiDetails[arg2]
local var52_upvw = _preventMultiDetails
if not var52_upvw then
var52_upvw = {
calling = false;
callsThisFrame = 0;
updatedThisFrame = false;
}
arg1._preventMultiDetails[arg2] = var52_upvw
end
var52_upvw.callsThisFrame += 1
if var52_upvw.callsThisFrame == 1 then
local packed_upvr = table.pack(...)
task.defer(function() -- Line 182
--[[ Upvalues[4]:
[1]: var52_upvw (read and write)
[2]: arg1 (readonly)
[3]: arg2 (readonly)
[4]: packed_upvr (readonly)
]]
var52_upvw.callsThisFrame = 0
if 1 < var52_upvw.callsThisFrame then
arg1[arg2](arg1, unpack(packed_upvr))
end
end)
return false
end
return true
end
function module_upvr.update(arg1) -- Line 194
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: Janitor_upvr (readonly)
]]
if arg1:_preventMultiFrameUpdates("update") then
else
arg1.totalVolume = 0
arg1.parts = {}
arg1.partToItem = {}
arg1.items = {}
for i_5_upvr, _ in pairs(arg1.characters) do
local any_getCharacterSize_result1 = module_upvr.getCharacterSize(i_5_upvr)
if any_getCharacterSize_result1 then
arg1.totalVolume += any_getCharacterSize_result1.X * any_getCharacterSize_result1.Y * any_getCharacterSize_result1.Z
local any_add_result1_upvw = arg1.janitor:add(Janitor_upvr.new(), "destroy", "trackCharacterParts-"..arg1.name)
local function _(arg1_11) -- Line 215, Named "updateTrackerOnParentChanged"
--[[ Upvalues[2]:
[1]: any_add_result1_upvw (read and write)
[2]: arg1 (readonly)
]]
any_add_result1_upvw:add(arg1_11.AncestryChanged:Connect(function() -- Line 216
--[[ Upvalues[3]:
[1]: arg1_11 (readonly)
[2]: any_add_result1_upvw (copied, read and write)
[3]: arg1 (copied, readonly)
]]
if not arg1_11:IsDescendantOf(game) and arg1_11.Parent == nil and any_add_result1_upvw ~= nil then
any_add_result1_upvw:destroy()
any_add_result1_upvw = nil
arg1:update()
end
end), "Disconnect")
end
for _, v_6_upvr in pairs(i_5_upvr:GetChildren()) do
if v_6_upvr:IsA("BasePart") and not module_upvr.bodyPartsToIgnore[v_6_upvr.Name] then
arg1.partToItem[v_6_upvr] = i_5_upvr
table.insert(arg1.parts, v_6_upvr)
any_add_result1_upvw:add(v_6_upvr.AncestryChanged:Connect(function() -- Line 216
--[[ Upvalues[3]:
[1]: v_6_upvr (readonly)
[2]: any_add_result1_upvw (read and write)
[3]: arg1 (readonly)
]]
if not v_6_upvr:IsDescendantOf(game) and v_6_upvr.Parent == nil and any_add_result1_upvw ~= nil then
any_add_result1_upvw:destroy()
any_add_result1_upvw = nil
arg1:update()
end
end), "Disconnect")
end
end
any_add_result1_upvw:add(i_5_upvr.AncestryChanged:Connect(function() -- Line 216
--[[ Upvalues[3]:
[1]: i_5_upvr (readonly)
[2]: any_add_result1_upvw (read and write)
[3]: arg1 (readonly)
]]
if not i_5_upvr:IsDescendantOf(game) and i_5_upvr.Parent == nil and any_add_result1_upvw ~= nil then
any_add_result1_upvw:destroy()
any_add_result1_upvw = nil
arg1:update()
end
end), "Disconnect")
table.insert(arg1.items, i_5_upvr)
end
end
for i_7, _ in pairs(arg1.baseParts) do
local Size = i_7.Size
arg1.totalVolume += Size.X * Size.Y * Size.Z
arg1.partToItem[i_7] = i_7
table.insert(arg1.parts, i_7)
table.insert(arg1.items, i_7)
end
arg1.whitelistParams = OverlapParams.new()
arg1.whitelistParams.FilterType = Enum.RaycastFilterType.Whitelist
arg1.whitelistParams.MaxParts = #arg1.parts
arg1.whitelistParams.FilterDescendantsInstances = arg1.parts
end
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:53:59
-- Luau version 6, Types version 3
-- Time taken: 0.002978 seconds
local module = {}
local var2_upvw
local RunService_upvr = game:GetService("RunService")
function module.setupWorldModel(arg1) -- Line 8
--[[ Upvalues[2]:
[1]: var2_upvw (read and write)
[2]: RunService_upvr (readonly)
]]
local var4
if var4 then
var4 = var2_upvw
return var4
end
if RunService_upvr:IsClient() then
var4 = "ReplicatedStorage"
else
var4 = "ServerStorage"
end
var2_upvw = Instance.new("WorldModel")
var2_upvw.Name = "ZonePlusWorldModel"
var2_upvw.Parent = game:GetService(var4)
return var2_upvw
end
function module._getCombinedResults(arg1, arg2, ...) -- Line 22
--[[ Upvalues[1]:
[1]: var2_upvw (read and write)
]]
local workspace_any_result1 = workspace[arg2](workspace, ...)
if var2_upvw then
for _, v in pairs(var2_upvw[arg2](var2_upvw, ...)) do
table.insert(workspace_any_result1, v)
end
end
return workspace_any_result1
end
function module.GetPartBoundsInBox(arg1, arg2, arg3, arg4) -- Line 33
return arg1:_getCombinedResults("GetPartBoundsInBox", arg2, arg3, arg4)
end
function module.GetPartBoundsInRadius(arg1, arg2, arg3, arg4) -- Line 37
return arg1:_getCombinedResults("GetPartBoundsInRadius", arg2, arg3, arg4)
end
function module.GetPartsInPart(arg1, arg2, arg3) -- Line 41
return arg1:_getCombinedResults("GetPartsInPart", arg2, arg3)
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:00
-- Luau version 6, Types version 3
-- Time taken: 0.089498 seconds
local tbl_10_upvr = {
__mode = 'k';
}
local function makeEnum(arg1, arg2) -- Line 13
local module_9 = {}
for _, v in ipairs(arg2) do
module_9[v] = v
end
return setmetatable(module_9, {
__index = function(arg1_2, arg2_2) -- Line 21, Named "__index"
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
error(string.format("%s is not in %s!", arg2_2, arg1), 2)
end;
__newindex = function() -- Line 24, Named "__newindex"
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
error(string.format("Creating new members in %s is not allowed!", arg1), 2)
end;
})
end
local var13_upvw = {
Kind = makeEnum("Promise.Error.Kind", {"ExecutionError", "AlreadyCancelled", "NotResolvedInTime", "TimedOut"});
}
var13_upvw.__index = var13_upvw
local function new(arg1, arg2) -- Line 46
--[[ Upvalues[1]:
[1]: var13_upvw (read and write)
]]
local var14 = arg1
if not var14 then
var14 = {}
end
local var15 = var14
local module_8 = {
error = tostring(var15.error) or "[This error has no error text.]";
trace = var15.trace;
context = var15.context;
kind = var15.kind;
}
module_8.parent = arg2
module_8.createdTick = os.clock()
module_8.createdTrace = debug.traceback()
return setmetatable(module_8, var13_upvw)
end
var13_upvw.new = new
local function is(arg1) -- Line 59
if type(arg1) == "table" then
local getmetatable_result1 = getmetatable(arg1)
if type(getmetatable_result1) == "table" then
local var20 = false
if rawget(arg1, "error") ~= nil then
if type(rawget(getmetatable_result1, "extend")) ~= "function" then
var20 = false
else
var20 = true
end
end
return var20
end
end
return false
end
var13_upvw.is = is
function var13_upvw.isKind(arg1, arg2) -- Line 71
--[[ Upvalues[1]:
[1]: var13_upvw (read and write)
]]
if arg2 == nil then
else
end
assert(true, "Argument #2 to Promise.Error.isKind must not be nil")
if var13_upvw.is(arg1) then
if arg1.kind ~= arg2 then
else
end
end
return true
end
function var13_upvw.extend(arg1, arg2) -- Line 77
--[[ Upvalues[1]:
[1]: var13_upvw (read and write)
]]
local var21 = arg2
if not var21 then
var21 = {}
end
local var22 = var21
var21 = var22.kind
local var23 = var21
if not var23 then
var23 = arg1.kind
end
var22.kind = var23
return var13_upvw.new(var22, arg1)
end
function var13_upvw.getErrorChain(arg1) -- Line 85
local module = {}
module[1] = arg1
while module[#module].parent do
table.insert(module, module[#module].parent)
end
return module
end
local function __tostring(arg1) -- Line 95
local module_10 = {string.format("-- Promise.Error(%s) --", arg1.kind or '?')}
for _, v_2 in ipairs(arg1:getErrorChain()) do
local tbl = {}
local trace = v_2.trace
if not trace then
trace = v_2.error
end
tbl[1] = trace
tbl[2] = v_2.context
table.insert(module_10, table.concat(tbl, '\n'))
end
return table.concat(module_10, '\n')
end
var13_upvw.__tostring = __tostring
local function pack_upvr(...) -- Line 116, Named "pack"
return select('#', ...), {...}
end
local function packResult_upvr(arg1, ...) -- Line 123, Named "packResult"
return arg1, select('#', ...), {...}
end
local function _(arg1) -- Line 128, Named "makeErrorHandler"
--[[ Upvalues[1]:
[1]: var13_upvw (read and write)
]]
if arg1 == nil then
else
end
assert(true)
return function(arg1_3) -- Line 131
--[[ Upvalues[2]:
[1]: var13_upvw (copied, read and write)
[2]: arg1 (readonly)
]]
if type(arg1_3) == "table" then
return arg1_3
end
local module_3 = {}
module_3.error = arg1_3
module_3.kind = var13_upvw.Kind.ExecutionError
module_3.trace = debug.traceback(tostring(arg1_3), 2)
module_3.context = "Promise created at:\n\n"..arg1
return var13_upvw.new(module_3)
end
end
local function runExecutor_upvr(arg1, arg2, ...) -- Line 151, Named "runExecutor"
--[[ Upvalues[2]:
[1]: packResult_upvr (readonly)
[2]: var13_upvw (read and write)
]]
local var39
if arg1 == nil then
var39 = false
else
var39 = true
end
assert(var39)
return packResult_upvr(xpcall(arg2, function(arg1_4) -- Line 131
--[[ Upvalues[2]:
[1]: var13_upvw (copied, read and write)
[2]: arg1 (readonly)
]]
if type(arg1_4) == "table" then
return arg1_4
end
local module_5 = {}
module_5.error = arg1_4
module_5.kind = var13_upvw.Kind.ExecutionError
module_5.trace = debug.traceback(tostring(arg1_4), 2)
module_5.context = "Promise created at:\n\n"..arg1
return var13_upvw.new(module_5)
end, ...))
end
local function _(arg1, arg2, arg3, arg4) -- Line 159, Named "createAdvancer"
--[[ Upvalues[1]:
[1]: runExecutor_upvr (readonly)
]]
return function(...) -- Line 160
--[[ Upvalues[5]:
[1]: runExecutor_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: arg2 (readonly)
[4]: arg3 (readonly)
[5]: arg4 (readonly)
]]
local runExecutor_result1, runExecutor_result2_2, runExecutor_result3_2 = runExecutor_upvr(arg1, arg2, ...)
if runExecutor_result1 then
arg3(unpack(runExecutor_result3_2, 1, runExecutor_result2_2))
else
arg4(runExecutor_result3_2[1])
end
end
end
local function _(arg1) -- Line 171, Named "isEmpty"
local var46
if next(arg1) ~= nil then
var46 = false
else
var46 = true
end
return var46
end
local module_6_upvr = {
Error = var13_upvw;
Status = makeEnum("Promise.Status", {"Started", "Resolved", "Rejected", "Cancelled"});
_getTime = os.clock;
_timeEvent = game:GetService("RunService").Heartbeat;
prototype = {};
__index = module_6_upvr.prototype;
}
function module_6_upvr._new(arg1, arg2, arg3) -- Line 196
--[[ Upvalues[3]:
[1]: module_6_upvr (readonly)
[2]: tbl_10_upvr (readonly)
[3]: runExecutor_upvr (readonly)
]]
if arg3 ~= nil and not module_6_upvr.is(arg3) then
error("Argument #2 to Promise.new must be a promise or nil", 2)
end
local module_2_upvr = {}
module_2_upvr._source = arg1
module_2_upvr._status = module_6_upvr.Status.Started
module_2_upvr._values = nil
module_2_upvr._valuesLength = -1
module_2_upvr._unhandledRejection = true
module_2_upvr._queuedResolve = {}
module_2_upvr._queuedReject = {}
module_2_upvr._queuedFinally = {}
module_2_upvr._cancellationHook = nil
module_2_upvr._parent = arg3
module_2_upvr._consumers = setmetatable({}, tbl_10_upvr)
if arg3 and arg3._status == module_6_upvr.Status.Started then
arg3._consumers[module_2_upvr] = true
end
setmetatable(module_2_upvr, module_6_upvr)
local function resolve(...) -- Line 241
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
module_2_upvr:_resolve(...)
end
local function reject(...) -- Line 245
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
module_2_upvr:_reject(...)
end
local function onCancel_upvr(arg1_5) -- Line 249, Named "onCancel"
--[[ Upvalues[2]:
[1]: module_2_upvr (readonly)
[2]: module_6_upvr (copied, readonly)
]]
if arg1_5 then
if module_2_upvr._status == module_6_upvr.Status.Cancelled then
arg1_5()
else
module_2_upvr._cancellationHook = arg1_5
end
end
if module_2_upvr._status ~= module_6_upvr.Status.Cancelled then
else
end
return true
end
coroutine.wrap(function() -- Line 261
--[[ Upvalues[6]:
[1]: runExecutor_upvr (copied, readonly)
[2]: module_2_upvr (readonly)
[3]: arg2 (readonly)
[4]: resolve (readonly)
[5]: reject (readonly)
[6]: onCancel_upvr (readonly)
]]
local runExecutor_result1_2, _, runExecutor_result3_4 = runExecutor_upvr(module_2_upvr._source, arg2, resolve, reject, onCancel_upvr)
if not runExecutor_result1_2 then
reject(runExecutor_result3_4[1])
end
end)()
return module_2_upvr
end
function module_6_upvr.new(arg1) -- Line 278
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
return module_6_upvr._new(debug.traceback(nil, 2), arg1)
end
function module_6_upvr.__tostring(arg1) -- Line 282
return string.format("Promise(%s)", arg1:getStatus())
end
function module_6_upvr.defer(arg1) -- Line 289
--[[ Upvalues[2]:
[1]: module_6_upvr (readonly)
[2]: runExecutor_upvr (readonly)
]]
local call_stack_upvr = debug.traceback(nil, 2)
return module_6_upvr._new(call_stack_upvr, function(arg1_6, arg2, arg3) -- Line 292
--[[ Upvalues[4]:
[1]: module_6_upvr (copied, readonly)
[2]: runExecutor_upvr (copied, readonly)
[3]: call_stack_upvr (readonly)
[4]: arg1 (readonly)
]]
local var57_upvw
var57_upvw = module_6_upvr._timeEvent:Connect(function() -- Line 294
--[[ Upvalues[7]:
[1]: var57_upvw (read and write)
[2]: runExecutor_upvr (copied, readonly)
[3]: call_stack_upvr (copied, readonly)
[4]: arg1 (copied, readonly)
[5]: arg1_6 (readonly)
[6]: arg2 (readonly)
[7]: arg3 (readonly)
]]
var57_upvw:Disconnect()
local runExecutor_upvr_result1, _, runExecutor_result3_6 = runExecutor_upvr(call_stack_upvr, arg1, arg1_6, arg2, arg3)
if not runExecutor_upvr_result1 then
arg2(runExecutor_result3_6[1])
end
end)
end)
end
module_6_upvr.async = module_6_upvr.defer
function module_6_upvr.resolve(...) -- Line 313
--[[ Upvalues[2]:
[1]: pack_upvr (readonly)
[2]: module_6_upvr (readonly)
]]
local pack_result1_4_upvr, pack_result2_upvr = pack_upvr(...)
return module_6_upvr._new(debug.traceback(nil, 2), function(arg1) -- Line 315
--[[ Upvalues[2]:
[1]: pack_result2_upvr (readonly)
[2]: pack_result1_4_upvr (readonly)
]]
arg1(unpack(pack_result2_upvr, 1, pack_result1_4_upvr))
end)
end
function module_6_upvr.reject(...) -- Line 323
--[[ Upvalues[2]:
[1]: pack_upvr (readonly)
[2]: module_6_upvr (readonly)
]]
local pack_result1_upvr, pack_result2_2_upvr = pack_upvr(...)
return module_6_upvr._new(debug.traceback(nil, 2), function(arg1, arg2) -- Line 325
--[[ Upvalues[2]:
[1]: pack_result2_2_upvr (readonly)
[2]: pack_result1_upvr (readonly)
]]
arg2(unpack(pack_result2_2_upvr, 1, pack_result1_upvr))
end)
end
function module_6_upvr._try(arg1, arg2, ...) -- Line 334
--[[ Upvalues[2]:
[1]: pack_upvr (readonly)
[2]: module_6_upvr (readonly)
]]
local pack_result1_upvr_3, pack_upvr_result2_upvr = pack_upvr(...)
return module_6_upvr._new(arg1, function(arg1_7) -- Line 337
--[[ Upvalues[3]:
[1]: arg2 (readonly)
[2]: pack_upvr_result2_upvr (readonly)
[3]: pack_result1_upvr_3 (readonly)
]]
arg1_7(arg2(unpack(pack_upvr_result2_upvr, 1, pack_result1_upvr_3)))
end)
end
function module_6_upvr.try(...) -- Line 345
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
return module_6_upvr._try(debug.traceback(nil, 2), ...)
end
function module_6_upvr._all(arg1, arg2, arg3) -- Line 354
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
if type(arg2) ~= "table" then
error(string.format("Please pass a list of promises to %s", "Promise.all"), 3)
end
for i_3, v_3 in pairs(arg2) do
if not module_6_upvr.is(v_3) then
error(string.format("Non-promise value passed into %s at index %s", "Promise.all", tostring(i_3)), 3)
end
end
if #arg2 == 0 or arg3 == 0 then
return module_6_upvr.resolve({})
end
return module_6_upvr._new(arg1, function(arg1_8, arg2_3, arg3_2) -- Line 372
--[[ Upvalues[2]:
[1]: arg3 (readonly)
[2]: arg2 (readonly)
]]
local tbl_4_upvr = {}
local var85_upvw = 0
local var86_upvw = false
local function cancel() -- Line 383
--[[ Upvalues[1]:
[1]: tbl_4_upvr (readonly)
]]
for _, v_4 in ipairs(tbl_4_upvr) do
v_4:cancel()
end
end
local var92_upvw = 0
local tbl_13_upvr = {}
local function resolveOne(arg1_9, ...) -- Line 390
--[[ Upvalues[7]:
[1]: var86_upvw (read and write)
[2]: var92_upvw (read and write)
[3]: arg3 (copied, readonly)
[4]: tbl_13_upvr (readonly)
[5]: arg2 (copied, readonly)
[6]: arg1_8 (readonly)
[7]: tbl_4_upvr (readonly)
]]
if var86_upvw then
else
var92_upvw += 1
if arg3 == nil then
tbl_13_upvr[arg1_9] = ...
else
tbl_13_upvr[var92_upvw] = ...
end
local var98 = arg3
if not var98 then
var98 = #arg2
end
if var98 <= var92_upvw then
var86_upvw = true
arg1_8(tbl_13_upvr)
for _, v_24 in ipairs(tbl_4_upvr) do
v_24:cancel()
end
end
end
end
arg3_2(cancel)
for i_5_upvr, v_5 in ipairs(arg2) do
tbl_4_upvr[i_5_upvr] = v_5:andThen(function(...) -- Line 416
--[[ Upvalues[2]:
[1]: resolveOne (readonly)
[2]: i_5_upvr (readonly)
]]
resolveOne(i_5_upvr, ...)
end, function(...) -- Line 419
--[[ Upvalues[6]:
[1]: var85_upvw (read and write)
[2]: arg3 (copied, readonly)
[3]: arg2 (copied, readonly)
[4]: tbl_4_upvr (readonly)
[5]: var86_upvw (read and write)
[6]: arg2_3 (readonly)
]]
var85_upvw += 1
if arg3 == nil or #arg2 - var85_upvw < arg3 then
for _, v_6 in ipairs(tbl_4_upvr) do
v_6:cancel()
end
var86_upvw = true
arg2_3(...)
end
end)
end
if var86_upvw then
for _, v_7 in ipairs(tbl_4_upvr) do
v_7:cancel()
end
end
end)
end
function module_6_upvr.all(arg1) -- Line 438
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
return module_6_upvr._all(debug.traceback(nil, 2), arg1)
end
function module_6_upvr.fold(arg1, arg2, arg3) -- Line 442
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
local var115
if type(arg1) ~= "table" then
var115 = false
else
var115 = true
end
assert(var115, "Bad argument #1 to Promise.fold: must be a table")
if type(arg2) ~= "function" then
var115 = false
else
var115 = true
end
assert(var115, "Bad argument #2 to Promise.fold: must be a function")
var115 = module_6_upvr
var115 = arg3
local any_resolve_result1_2_upvw = var115.resolve(var115)
var115 = module_6_upvr.each
local function _(arg1_10, arg2_4) -- Line 447
--[[ Upvalues[2]:
[1]: any_resolve_result1_2_upvw (read and write)
[2]: arg2 (readonly)
]]
any_resolve_result1_2_upvw = any_resolve_result1_2_upvw:andThen(function(arg1_11) -- Line 448
--[[ Upvalues[3]:
[1]: arg2 (copied, readonly)
[2]: arg1_10 (readonly)
[3]: arg2_4 (readonly)
]]
return arg2(arg1_11, arg1_10, arg2_4)
end)
end
var115 = var115(arg1, _):andThenReturn(any_resolve_result1_2_upvw)
return var115
end
function module_6_upvr.some(arg1, arg2) -- Line 454
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
local var119
if type(arg2) ~= "number" then
var119 = false
else
var119 = true
end
assert(var119, "Bad argument #2 to Promise.some: must be a number")
var119 = module_6_upvr
var119 = debug.traceback(nil, 2)
return var119._all(var119, arg1, arg2)
end
function module_6_upvr.any(arg1) -- Line 460
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
return module_6_upvr._all(debug.traceback(nil, 2), arg1, 1):andThen(function(arg1_12) -- Line 461
return arg1_12[1]
end)
end
function module_6_upvr.allSettled(arg1) -- Line 466
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
if type(arg1) ~= "table" then
error(string.format("Please pass a list of promises to %s", "Promise.allSettled"), 2)
end
for i_8, v_8 in pairs(arg1) do
if not module_6_upvr.is(v_8) then
error(string.format("Non-promise value passed into %s at index %s", "Promise.allSettled", tostring(i_8)), 2)
end
end
if #arg1 == 0 then
return module_6_upvr.resolve({})
end
return module_6_upvr._new(debug.traceback(nil, 2), function(arg1_13, arg2, arg3) -- Line 484
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
local tbl_3_upvr = {}
local var132_upvw = 0
local tbl_12_upvr = {}
local function resolveOne_upvr(arg1_14, ...) -- Line 494, Named "resolveOne"
--[[ Upvalues[4]:
[1]: var132_upvw (read and write)
[2]: tbl_12_upvr (readonly)
[3]: arg1 (copied, readonly)
[4]: arg1_13 (readonly)
]]
var132_upvw += 1
tbl_12_upvr[arg1_14] = ...
if #arg1 <= var132_upvw then
arg1_13(tbl_12_upvr)
end
end
arg3(function() -- Line 504
--[[ Upvalues[1]:
[1]: tbl_3_upvr (readonly)
]]
for _, v_9 in ipairs(tbl_3_upvr) do
v_9:cancel()
end
end)
for i_10_upvr, v_10 in ipairs(arg1) do
tbl_3_upvr[i_10_upvr] = v_10:finally(function(...) -- Line 514
--[[ Upvalues[2]:
[1]: resolveOne_upvr (readonly)
[2]: i_10_upvr (readonly)
]]
resolveOne_upvr(i_10_upvr, ...)
end)
end
end)
end
function module_6_upvr.race(arg1) -- Line 526
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
local var148
if type(arg1) ~= "table" then
var148 = false
else
var148 = true
end
assert(var148, string.format("Please pass a list of promises to %s", "Promise.race"))
var148 = arg1
local pairs_result1, pairs_result2_3, pairs_result3 = pairs(var148)
for i_11, v_11 in pairs_result1, pairs_result2_3, pairs_result3 do
assert(module_6_upvr.is(v_11), string.format("Non-promise value passed into %s at index %s", "Promise.race", tostring(i_11)))
end
pairs_result2_3 = module_6_upvr
pairs_result2_3 = debug.traceback(nil, 2)
return pairs_result2_3._new(pairs_result2_3, function(arg1_15, arg2, arg3) -- Line 533
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
local tbl_2_upvr = {}
local var162_upvw = false
local function cancel() -- Line 537
--[[ Upvalues[1]:
[1]: tbl_2_upvr (readonly)
]]
for _, v_12 in ipairs(tbl_2_upvr) do
v_12:cancel()
end
end
local function _(arg1_16) -- Line 543, Named "finalize"
--[[ Upvalues[2]:
[1]: tbl_2_upvr (readonly)
[2]: var162_upvw (read and write)
]]
return function(...) -- Line 544
--[[ Upvalues[3]:
[1]: tbl_2_upvr (copied, readonly)
[2]: var162_upvw (copied, read and write)
[3]: arg1_16 (readonly)
]]
for _, v_13 in ipairs(tbl_2_upvr) do
v_13:cancel()
end
var162_upvw = true
return arg1_16(...)
end
end
if arg3(function(...) -- Line 544
--[[ Upvalues[3]:
[1]: tbl_2_upvr (readonly)
[2]: var162_upvw (read and write)
[3]: arg2 (readonly)
]]
for _, v_14 in ipairs(tbl_2_upvr) do
v_14:cancel()
end
var162_upvw = true
return arg2(...)
end) then
else
for i_25, v_25 in ipairs(arg1) do
tbl_2_upvr[i_25] = v_25:andThen(function(...) -- Line 544
--[[ Upvalues[3]:
[1]: tbl_2_upvr (readonly)
[2]: var162_upvw (read and write)
[3]: arg1_15 (readonly)
]]
for _, v_26 in ipairs(tbl_2_upvr) do
v_26:cancel()
end
var162_upvw = true
return arg1_15(...)
end, function(...) -- Line 544
--[[ Upvalues[3]:
[1]: tbl_2_upvr (readonly)
[2]: var162_upvw (read and write)
[3]: arg2 (readonly)
]]
for _, v_27 in ipairs(tbl_2_upvr) do
v_27:cancel()
end
var162_upvw = true
return arg2(...)
end)
end
if var162_upvw then
for _, v_28 in ipairs(tbl_2_upvr) do
v_28:cancel()
end
end
end
end)
end
function module_6_upvr.each(arg1, arg2) -- Line 573
--[[ Upvalues[2]:
[1]: module_6_upvr (readonly)
[2]: var13_upvw (read and write)
]]
local var198
if type(arg1) ~= "table" then
var198 = false
else
var198 = true
end
assert(var198, string.format("Please pass a list of promises to %s", "Promise.each"))
if type(arg2) ~= "function" then
var198 = false
else
var198 = true
end
assert(var198, string.format("Please pass a handler function to %s!", "Promise.each"))
var198 = module_6_upvr
var198 = debug.traceback(nil, 2)
return var198._new(var198, function(arg1_17, arg2_5, arg3) -- Line 577
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: module_6_upvr (copied, readonly)
[3]: var13_upvw (copied, read and write)
[4]: arg2 (readonly)
]]
local tbl_7 = {}
local tbl_6_upvr = {}
local var266_upvw = false
local function cancel() -- Line 583
--[[ Upvalues[1]:
[1]: tbl_6_upvr (readonly)
]]
for _, v_15 in ipairs(tbl_6_upvr) do
v_15:cancel()
end
end
arg3(function() -- Line 589
--[[ Upvalues[2]:
[1]: var266_upvw (read and write)
[2]: tbl_6_upvr (readonly)
]]
var266_upvw = true
for _, v_16 in ipairs(tbl_6_upvr) do
v_16:cancel()
end
end)
for i_17, v_17 in ipairs(arg1) do
if module_6_upvr.is(v_17) then
if v_17:getStatus() == module_6_upvr.Status.Cancelled then
for _, v_18 in ipairs(tbl_6_upvr) do
v_18:cancel()
end
return arg2_5(var13_upvw.new({
error = "Promise is cancelled";
kind = var13_upvw.Kind.AlreadyCancelled;
context = string.format("The Promise that was part of the array at index %d passed into Promise.each was already cancelled when Promise.each began.\n\nThat Promise was created at:\n\n%s", i_17, v_17._source);
}))
end
if v_17:getStatus() == module_6_upvr.Status.Rejected then
for _, v_19 in ipairs(tbl_6_upvr) do
v_19:cancel()
end
return arg2_5(select(2, v_17:await()))
end
local any_andThen_result1_2 = v_17:andThen(function(...) -- Line 622
return ...
end)
table.insert(tbl_6_upvr, any_andThen_result1_2)
;({})[i_17] = any_andThen_result1_2
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
;({})[i_17] = v_17
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
for i_20, v_20 in ipairs({}) do
if module_6_upvr.is(v_20) then
local any_await_result1_2, any_await_result2_2 = v_20:await()
v_20 = any_await_result2_2
if not any_await_result1_2 then
for _, v_21 in ipairs(tbl_6_upvr) do
v_21:cancel()
end
return arg2_5(v_20)
end
end
if var266_upvw then return end
local any_resolve_result1 = module_6_upvr.resolve(arg2(v_20, i_20))
table.insert(tbl_6_upvr, any_resolve_result1)
local any_await_result1_4, any_await_result2_4 = any_resolve_result1:await()
if not any_await_result1_4 then
for _, v_22 in ipairs(tbl_6_upvr) do
v_22:cancel()
end
return arg2_5(any_await_result2_4)
end
tbl_7[i_20] = any_await_result2_4
end
arg1_17(tbl_7)
end)
end
function module_6_upvr.is(arg1) -- Line 669
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
if type(arg1) ~= "table" then
return false
end
local getmetatable_result1_4 = getmetatable(arg1)
if getmetatable_result1_4 == module_6_upvr then
do
return true
end
local var307
end
if getmetatable_result1_4 == nil then
if type(arg1.andThen) ~= "function" then
var307 = false
else
var307 = true
end
return var307
end
if type(getmetatable_result1_4) == "table" then
if type(rawget(getmetatable_result1_4, "__index")) == "table" then
if type(rawget(rawget(getmetatable_result1_4, "__index"), "andThen")) == "function" then
return true
end
end
end
return false
end
function module_6_upvr.promisify(arg1) -- Line 697
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
return function(...) -- Line 698
--[[ Upvalues[2]:
[1]: module_6_upvr (copied, readonly)
[2]: arg1 (readonly)
]]
return module_6_upvr._try(debug.traceback(nil, 2), arg1, ...)
end
end
local var309_upvw
local var310_upvw
function module_6_upvr.delay(arg1) -- Line 713
--[[ Upvalues[3]:
[1]: module_6_upvr (readonly)
[2]: var309_upvw (read and write)
[3]: var310_upvw (read and write)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var311
if type(arg1) ~= "number" then
var311 = false
else
var311 = true
end
assert(var311, "Bad argument #1 to Promise.delay, must be a number.")
if (1/60) > arg1 or arg1 == math.huge then
end
var311 = module_6_upvr
var311 = debug.traceback(nil, 2)
local const_number_upvw = (1/60)
return var311._new(var311, function(arg1_18, arg2, arg3) -- Line 721
--[[ Upvalues[4]:
[1]: module_6_upvr (copied, readonly)
[2]: const_number_upvw (read and write)
[3]: var309_upvw (copied, read and write)
[4]: var310_upvw (copied, read and write)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 29 start (CF ANALYSIS FAILED)
local any__getTime_result1 = module_6_upvr._getTime()
local var315 = any__getTime_result1 + const_number_upvw
local tbl_5_upvr = {}
tbl_5_upvr.resolve = arg1_18
tbl_5_upvr.startTime = any__getTime_result1
tbl_5_upvr.endTime = var315
if var309_upvw == nil then
var310_upvw = tbl_5_upvr
var309_upvw = module_6_upvr._timeEvent:Connect(function() -- Line 733
--[[ Upvalues[3]:
[1]: module_6_upvr (copied, readonly)
[2]: var310_upvw (copied, read and write)
[3]: var309_upvw (copied, read and write)
]]
while var310_upvw ~= nil and var310_upvw.endTime < module_6_upvr._getTime() do
local var318 = var310_upvw
var310_upvw = var318.next
if var310_upvw == nil then
var309_upvw:Disconnect()
var309_upvw = nil
else
var310_upvw.previous = nil
end
var318.resolve(module_6_upvr._getTime() - var318.startTime)
end
end)
else
local var319
if var310_upvw.endTime < var315 then
local next_2 = var310_upvw.next
while next_2 ~= nil and next_2.endTime < var315 do
local var321 = next_2
local next = var321.next
end
var321.next = tbl_5_upvr
tbl_5_upvr.previous = var321
if next ~= nil then
tbl_5_upvr.next = next
next.previous = tbl_5_upvr
-- KONSTANTWARNING: GOTO [65] #45
end
else
tbl_5_upvr.next = var310_upvw
var310_upvw.previous = tbl_5_upvr
var310_upvw = tbl_5_upvr
end
end
-- KONSTANTERROR: [0] 1. Error Block 29 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [65] 45. Error Block 14 start (CF ANALYSIS FAILED)
arg3(function() -- Line 778
--[[ Upvalues[3]:
[1]: tbl_5_upvr (readonly)
[2]: var310_upvw (copied, read and write)
[3]: var309_upvw (copied, read and write)
]]
local next_3 = tbl_5_upvr.next
if var310_upvw == tbl_5_upvr then
if next_3 == nil then
var309_upvw:Disconnect()
var309_upvw = nil
else
next_3.previous = nil
end
var310_upvw = next_3
else
local previous = tbl_5_upvr.previous
previous.next = next_3
if next_3 ~= nil then
next_3.previous = previous
end
end
end)
-- KONSTANTERROR: [65] 45. Error Block 14 end (CF ANALYSIS FAILED)
end)
end
module_6_upvr.prototype.timeout = function(arg1, arg2, arg3) -- Line 807, Named "timeout"
--[[ Upvalues[2]:
[1]: module_6_upvr (readonly)
[2]: var13_upvw (read and write)
]]
local module_7 = {}
local call_stack_upvr_2 = debug.traceback(nil, 2)
module_7[1] = module_6_upvr.delay(arg2):andThen(function() -- Line 811
--[[ Upvalues[5]:
[1]: module_6_upvr (copied, readonly)
[2]: arg3 (readonly)
[3]: var13_upvw (copied, read and write)
[4]: arg2 (readonly)
[5]: call_stack_upvr_2 (readonly)
]]
local var329
local function INLINED() -- Internal function, doesn't exist in bytecode
var329 = var329(tbl_9)
tbl_9.context = string.format("Timeout of %d seconds exceeded.\n:timeout() called at:\n\n%s", arg2, call_stack_upvr_2)
tbl_9.error = "Timed out"
tbl_9.kind = var13_upvw.Kind.TimedOut
local tbl_9 = {}
var329 = var13_upvw.new
return var329
end
if arg3 ~= nil or not INLINED() then
var329 = arg3
end
return module_6_upvr.reject(var329)
end)
module_7[2] = arg1
return module_6_upvr.race(module_7)
end
module_6_upvr.prototype.getStatus = function(arg1) -- Line 826, Named "getStatus"
return arg1._status
end
module_6_upvr.prototype._andThen = function(arg1, arg2, arg3, arg4) -- Line 835, Named "_andThen"
--[[ Upvalues[3]:
[1]: module_6_upvr (readonly)
[2]: runExecutor_upvr (readonly)
[3]: var13_upvw (read and write)
]]
arg1._unhandledRejection = false
return module_6_upvr._new(arg2, function(arg1_19, arg2_6) -- Line 839
--[[ Upvalues[7]:
[1]: arg3 (readonly)
[2]: arg2 (readonly)
[3]: runExecutor_upvr (copied, readonly)
[4]: arg4 (readonly)
[5]: arg1 (readonly)
[6]: module_6_upvr (copied, readonly)
[7]: var13_upvw (copied, read and write)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var333
if arg3 then
function var333(...) -- Line 160
--[[ Upvalues[5]:
[1]: runExecutor_upvr (copied, readonly)
[2]: arg2 (readonly)
[3]: arg3 (readonly)
[4]: arg1_19 (readonly)
[5]: arg2_6 (readonly)
]]
local runExecutor_result1_4, runExecutor_upvr_result2_2, runExecutor_result3 = runExecutor_upvr(arg2, arg3, ...)
if runExecutor_result1_4 then
arg1_19(unpack(runExecutor_result3, 1, runExecutor_upvr_result2_2))
else
arg2_6(runExecutor_result3[1])
end
end
end
if arg4 then
local function var337(...) -- Line 160
--[[ Upvalues[5]:
[1]: runExecutor_upvr (copied, readonly)
[2]: arg2 (readonly)
[3]: arg4 (readonly)
[4]: arg1_19 (readonly)
[5]: arg2_6 (readonly)
]]
local runExecutor_result1_5, runExecutor_upvr_result2, runExecutor_result3_3 = runExecutor_upvr(arg2, arg4, ...)
if runExecutor_result1_5 then
arg1_19(unpack(runExecutor_result3_3, 1, runExecutor_upvr_result2))
else
arg2_6(runExecutor_result3_3[1])
end
end
end
if arg1._status == module_6_upvr.Status.Started then
table.insert(arg1._queuedResolve, var333)
table.insert(arg1._queuedReject, var337)
else
if arg1._status == module_6_upvr.Status.Resolved then
var333(unpack(arg1._values, 1, arg1._valuesLength))
return
end
if arg1._status == module_6_upvr.Status.Rejected then
var337(unpack(arg1._values, 1, arg1._valuesLength))
return
end
if arg1._status == module_6_upvr.Status.Cancelled then
arg2_6(var13_upvw.new({
error = "Promise is cancelled";
kind = var13_upvw.Kind.AlreadyCancelled;
context = "Promise created at\n\n"..arg2;
}))
end
end
end, arg1)
end
module_6_upvr.prototype.andThen = function(arg1, arg2, arg3) -- Line 885, Named "andThen"
local var342
if arg2 ~= nil then
if type(arg2) ~= "function" then
var342 = false
else
var342 = true
end
end
assert(var342, string.format("Please pass a handler function to %s!", "Promise:andThen"))
var342 = true
if arg3 ~= nil then
if type(arg3) ~= "function" then
var342 = false
else
var342 = true
end
end
assert(var342, string.format("Please pass a handler function to %s!", "Promise:andThen"))
return arg1:_andThen(debug.traceback(nil, 2), arg2, arg3)
end
module_6_upvr.prototype.catch = function(arg1, arg2) -- Line 901, Named "catch"
local var343 = true
if arg2 ~= nil then
if type(arg2) ~= "function" then
var343 = false
else
var343 = true
end
end
assert(var343, string.format("Please pass a handler function to %s!", "Promise:catch"))
return arg1:_andThen(debug.traceback(nil, 2), nil, arg2)
end
module_6_upvr.prototype.tap = function(arg1, arg2) -- Line 913, Named "tap"
--[[ Upvalues[2]:
[1]: module_6_upvr (readonly)
[2]: pack_upvr (readonly)
]]
local var344
if type(arg2) ~= "function" then
var344 = false
else
var344 = true
end
assert(var344, string.format("Please pass a handler function to %s!", "Promise:tap"))
return arg1:_andThen(debug.traceback(nil, 2), function(...) -- Line 915
--[[ Upvalues[3]:
[1]: arg2 (readonly)
[2]: module_6_upvr (copied, readonly)
[3]: pack_upvr (copied, readonly)
]]
local arg2_result1 = arg2(...)
if module_6_upvr.is(arg2_result1) then
local pack_upvr_result1_upvr_4, pack_result2_9_upvr = pack_upvr(...)
return arg2_result1:andThen(function() -- Line 920
--[[ Upvalues[2]:
[1]: pack_result2_9_upvr (readonly)
[2]: pack_upvr_result1_upvr_4 (readonly)
]]
return unpack(pack_result2_9_upvr, 1, pack_upvr_result1_upvr_4)
end)
end
pack_upvr_result1_upvr_4 = ...
return pack_upvr_result1_upvr_4
end)
end
module_6_upvr.prototype.andThenCall = function(arg1, arg2, ...) -- Line 932, Named "andThenCall"
--[[ Upvalues[1]:
[1]: pack_upvr (readonly)
]]
local var350
if type(arg2) ~= "function" then
var350 = false
else
var350 = true
end
assert(var350, string.format("Please pass a handler function to %s!", "Promise:andThenCall"))
var350 = ...
local pack_upvr_result1_upvr_3, pack_result2_5_upvr = pack_upvr(var350)
return arg1:_andThen(debug.traceback(nil, 2), function() -- Line 935
--[[ Upvalues[3]:
[1]: arg2 (readonly)
[2]: pack_result2_5_upvr (readonly)
[3]: pack_upvr_result1_upvr_3 (readonly)
]]
return arg2(unpack(pack_result2_5_upvr, 1, pack_upvr_result1_upvr_3))
end)
end
module_6_upvr.prototype.andThenReturn = function(arg1, ...) -- Line 943, Named "andThenReturn"
--[[ Upvalues[1]:
[1]: pack_upvr (readonly)
]]
local pack_upvr_result1_upvr_2, pack_result2_7_upvr = pack_upvr(...)
return arg1:_andThen(debug.traceback(nil, 2), function() -- Line 945
--[[ Upvalues[2]:
[1]: pack_result2_7_upvr (readonly)
[2]: pack_upvr_result1_upvr_2 (readonly)
]]
return unpack(pack_result2_7_upvr, 1, pack_upvr_result1_upvr_2)
end)
end
module_6_upvr.prototype.cancel = function(arg1) -- Line 954, Named "cancel"
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
if arg1._status ~= module_6_upvr.Status.Started then
else
arg1._status = module_6_upvr.Status.Cancelled
if arg1._cancellationHook then
arg1._cancellationHook()
end
if arg1._parent then
arg1._parent:_consumerCancelled(arg1)
end
for i_29 in pairs(arg1._consumers) do
i_29:cancel()
end
arg1:_finalize()
end
end
module_6_upvr.prototype._consumerCancelled = function(arg1, arg2) -- Line 980, Named "_consumerCancelled"
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
if arg1._status ~= module_6_upvr.Status.Started then
else
arg1._consumers[arg2] = nil
if next(arg1._consumers) == nil then
arg1:cancel()
end
end
end
module_6_upvr.prototype._finally = function(arg1, arg2, arg3, arg4) -- Line 996, Named "_finally"
--[[ Upvalues[2]:
[1]: module_6_upvr (readonly)
[2]: runExecutor_upvr (readonly)
]]
if not arg4 then
arg1._unhandledRejection = false
end
return module_6_upvr._new(arg2, function(arg1_20, arg2_7) -- Line 1002
--[[ Upvalues[6]:
[1]: arg3 (readonly)
[2]: arg2 (readonly)
[3]: runExecutor_upvr (copied, readonly)
[4]: arg4 (readonly)
[5]: arg1 (readonly)
[6]: module_6_upvr (copied, readonly)
]]
local var367_upvr
if arg3 then
function var367_upvr(...) -- Line 160
--[[ Upvalues[5]:
[1]: runExecutor_upvr (copied, readonly)
[2]: arg2 (readonly)
[3]: arg3 (readonly)
[4]: arg1_20 (readonly)
[5]: arg2_7 (readonly)
]]
local runExecutor_result1_3, runExecutor_result2, runExecutor_result3_5 = runExecutor_upvr(arg2, arg3, ...)
if runExecutor_result1_3 then
arg1_20(unpack(runExecutor_result3_5, 1, runExecutor_result2))
else
arg2_7(runExecutor_result3_5[1])
end
end
end
if arg4 then
function var367_upvr(...) -- Line 1015
--[[ Upvalues[4]:
[1]: arg1 (copied, readonly)
[2]: module_6_upvr (copied, readonly)
[3]: arg1_20 (readonly)
[4]: var367_upvr (readonly)
]]
if arg1._status == module_6_upvr.Status.Rejected then
return arg1_20(arg1)
end
return var367_upvr(...)
end
end
if arg1._status == module_6_upvr.Status.Started then
table.insert(arg1._queuedFinally, var367_upvr)
else
var367_upvr(arg1._status)
end
end, arg1)
end
module_6_upvr.prototype.finally = function(arg1, arg2) -- Line 1034, Named "finally"
local var368 = true
if arg2 ~= nil then
if type(arg2) ~= "function" then
var368 = false
else
var368 = true
end
end
assert(var368, string.format("Please pass a handler function to %s!", "Promise:finally"))
return arg1:_finally(debug.traceback(nil, 2), arg2)
end
module_6_upvr.prototype.finallyCall = function(arg1, arg2, ...) -- Line 1045, Named "finallyCall"
--[[ Upvalues[1]:
[1]: pack_upvr (readonly)
]]
local var369
if type(arg2) ~= "function" then
var369 = false
else
var369 = true
end
assert(var369, string.format("Please pass a handler function to %s!", "Promise:finallyCall"))
var369 = ...
local pack_result1_upvr_2, pack_result2_8_upvr = pack_upvr(var369)
return arg1:_finally(debug.traceback(nil, 2), function() -- Line 1048
--[[ Upvalues[3]:
[1]: arg2 (readonly)
[2]: pack_result2_8_upvr (readonly)
[3]: pack_result1_upvr_2 (readonly)
]]
return arg2(unpack(pack_result2_8_upvr, 1, pack_result1_upvr_2))
end)
end
module_6_upvr.prototype.finallyReturn = function(arg1, ...) -- Line 1056, Named "finallyReturn"
--[[ Upvalues[1]:
[1]: pack_upvr (readonly)
]]
local pack_result1_5_upvr, pack_result2_6_upvr = pack_upvr(...)
return arg1:_finally(debug.traceback(nil, 2), function() -- Line 1058
--[[ Upvalues[2]:
[1]: pack_result2_6_upvr (readonly)
[2]: pack_result1_5_upvr (readonly)
]]
return unpack(pack_result2_6_upvr, 1, pack_result1_5_upvr)
end)
end
module_6_upvr.prototype.done = function(arg1, arg2) -- Line 1066, Named "done"
local var376 = true
if arg2 ~= nil then
if type(arg2) ~= "function" then
var376 = false
else
var376 = true
end
end
assert(var376, string.format("Please pass a handler function to %s!", "Promise:done"))
return arg1:_finally(debug.traceback(nil, 2), arg2, true)
end
module_6_upvr.prototype.doneCall = function(arg1, arg2, ...) -- Line 1077, Named "doneCall"
--[[ Upvalues[1]:
[1]: pack_upvr (readonly)
]]
local var377
if type(arg2) ~= "function" then
var377 = false
else
var377 = true
end
assert(var377, string.format("Please pass a handler function to %s!", "Promise:doneCall"))
var377 = ...
local pack_result1_3_upvr, pack_result2_3_upvr = pack_upvr(var377)
return arg1:_finally(debug.traceback(nil, 2), function() -- Line 1080
--[[ Upvalues[3]:
[1]: arg2 (readonly)
[2]: pack_result2_3_upvr (readonly)
[3]: pack_result1_3_upvr (readonly)
]]
return arg2(unpack(pack_result2_3_upvr, 1, pack_result1_3_upvr))
end, true)
end
module_6_upvr.prototype.doneReturn = function(arg1, ...) -- Line 1088, Named "doneReturn"
--[[ Upvalues[1]:
[1]: pack_upvr (readonly)
]]
local pack_upvr_result1_upvr, pack_result2_10_upvr = pack_upvr(...)
return arg1:_finally(debug.traceback(nil, 2), function() -- Line 1090
--[[ Upvalues[2]:
[1]: pack_result2_10_upvr (readonly)
[2]: pack_upvr_result1_upvr (readonly)
]]
return unpack(pack_result2_10_upvr, 1, pack_upvr_result1_upvr)
end, true)
end
module_6_upvr.prototype.awaitStatus = function(arg1) -- Line 1100, Named "awaitStatus"
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
arg1._unhandledRejection = false
if arg1._status == module_6_upvr.Status.Started then
local BindableEvent_upvr = Instance.new("BindableEvent")
arg1:finally(function() -- Line 1106
--[[ Upvalues[1]:
[1]: BindableEvent_upvr (readonly)
]]
BindableEvent_upvr:Fire()
end)
BindableEvent_upvr.Event:Wait()
BindableEvent_upvr:Destroy()
end
BindableEvent_upvr = arg1._status
if BindableEvent_upvr == module_6_upvr.Status.Resolved then
BindableEvent_upvr = arg1._status
return BindableEvent_upvr, unpack(arg1._values, 1, arg1._valuesLength)
end
BindableEvent_upvr = arg1._status
if BindableEvent_upvr == module_6_upvr.Status.Rejected then
BindableEvent_upvr = arg1._status
return BindableEvent_upvr, unpack(arg1._values, 1, arg1._valuesLength)
end
BindableEvent_upvr = arg1._status
return BindableEvent_upvr
end
local function awaitHelper_upvr(arg1, ...) -- Line 1123, Named "awaitHelper"
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
local var386
if arg1 ~= module_6_upvr.Status.Resolved then
var386 = false
else
var386 = true
end
return var386, ...
end
module_6_upvr.prototype.await = function(arg1) -- Line 1130, Named "await"
--[[ Upvalues[1]:
[1]: awaitHelper_upvr (readonly)
]]
return awaitHelper_upvr(arg1:awaitStatus())
end
local function expectHelper_upvr(arg1, ...) -- Line 1134, Named "expectHelper"
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
local Status = module_6_upvr.Status
if arg1 ~= Status.Resolved then
if ... == nil then
Status = "Expected Promise rejected with no value."
else
Status = ...
end
error(Status, 3)
end
return ...
end
module_6_upvr.prototype.expect = function(arg1) -- Line 1146, Named "expect"
--[[ Upvalues[1]:
[1]: expectHelper_upvr (readonly)
]]
return expectHelper_upvr(arg1:awaitStatus())
end
module_6_upvr.prototype.awaitValue = module_6_upvr.prototype.expect
module_6_upvr.prototype._unwrap = function(arg1) -- Line 1160, Named "_unwrap"
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
local var388
if var388 == module_6_upvr.Status.Started then
var388 = error
var388("Promise has not resolved or rejected.", 2)
end
if arg1._status ~= module_6_upvr.Status.Resolved then
var388 = false
else
var388 = true
end
return var388, unpack(arg1._values, 1, arg1._valuesLength)
end
module_6_upvr.prototype._resolve = function(arg1, ...) -- Line 1170, Named "_resolve"
--[[ Upvalues[3]:
[1]: module_6_upvr (readonly)
[2]: var13_upvw (read and write)
[3]: pack_upvr (readonly)
]]
if arg1._status ~= module_6_upvr.Status.Started then
if module_6_upvr.is(...) then
...:_consumerCancelled(arg1)
end
else
if module_6_upvr.is(...) then
if 1 < select('#', ...) then
warn(string.format("When returning a Promise from andThen, extra arguments are discarded! See:\n\n%s", arg1._source))
end
local var391_upvr = ...
local any_andThen_result1 = var391_upvr:andThen(function(...) -- Line 1193
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:_resolve(...)
end, function(...) -- Line 1196
--[[ Upvalues[3]:
[1]: var391_upvr (readonly)
[2]: var13_upvw (copied, read and write)
[3]: arg1 (readonly)
]]
local _1 = var391_upvr._values[1]
if var391_upvr._error then
_1 = var13_upvw.new({
error = var391_upvr._error;
kind = var13_upvw.Kind.ExecutionError;
context = "[No stack trace available as this Promise originated from an older version of the Promise library (< v2)]";
})
end
if var13_upvw.isKind(_1, var13_upvw.Kind.ExecutionError) then
return arg1:_reject(_1:extend({
error = "This Promise was chained to a Promise that errored.";
trace = "";
context = string.format("The Promise at:\n\n%s\n...Rejected because it was chained to the following Promise, which encountered an error:\n", arg1._source);
}))
end
arg1:_reject(...)
end)
if any_andThen_result1._status == module_6_upvr.Status.Cancelled then
arg1:cancel()
elseif any_andThen_result1._status == module_6_upvr.Status.Started then
arg1._parent = any_andThen_result1
any_andThen_result1._consumers[arg1] = true
end
end
var391_upvr = module_6_upvr.Status.Resolved
arg1._status = var391_upvr
var391_upvr = pack_upvr(...)
local pack_result1_2, pack_result2_4 = pack_upvr(...)
arg1._valuesLength = pack_result1_2
arg1._values = pack_result2_4
pack_result1_2 = ipairs(arg1._queuedResolve)
local ipairs_result1, ipairs_result2_7, ipairs_result3 = ipairs(arg1._queuedResolve)
for _, v_29 in ipairs_result1, ipairs_result2_7, ipairs_result3 do
coroutine.wrap(v_29)(...)
end
ipairs_result1 = arg1:_finalize
ipairs_result1()
end
end
module_6_upvr.prototype._reject = function(arg1, ...) -- Line 1245, Named "_reject"
--[[ Upvalues[2]:
[1]: module_6_upvr (readonly)
[2]: pack_upvr (readonly)
]]
if arg1._status ~= module_6_upvr.Status.Started then
else
arg1._status = module_6_upvr.Status.Rejected
local pack_result1, pack_result2 = pack_upvr(...)
arg1._valuesLength = pack_result1
arg1._values = pack_result2
if next(arg1._queuedReject) ~= nil then
pack_result1 = false
else
pack_result1 = true
end
if not pack_result1 then
for _, v_30 in ipairs(arg1._queuedReject) do
coroutine.wrap(v_30)(...)
end
else
local tostring_result1_upvr = tostring(...)
coroutine.wrap(function() -- Line 1267
--[[ Upvalues[3]:
[1]: module_6_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: tostring_result1_upvr (readonly)
]]
module_6_upvr._timeEvent:Wait()
if not arg1._unhandledRejection then
else
if module_6_upvr.TEST then return end
warn(string.format("Unhandled Promise rejection:\n\n%s\n\n%s", tostring_result1_upvr, arg1._source))
end
end)()
end
tostring_result1_upvr = arg1:_finalize
tostring_result1_upvr()
end
end
module_6_upvr.prototype._finalize = function(arg1) -- Line 1299, Named "_finalize"
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
for _, v_23 in ipairs(arg1._queuedFinally) do
coroutine.wrap(v_23)(arg1._status)
end
arg1._queuedFinally = nil
arg1._queuedReject = nil
arg1._queuedResolve = nil
if not module_6_upvr.TEST then
arg1._parent = nil
arg1._consumers = nil
end
end
module_6_upvr.prototype.now = function(arg1, arg2) -- Line 1322, Named "now"
--[[ Upvalues[2]:
[1]: module_6_upvr (readonly)
[2]: var13_upvw (read and write)
]]
local call_stack = debug.traceback(nil, 2)
local var420
if arg1:getStatus() == var420 then
return arg1:_andThen(call_stack, function(...) -- Line 1325
return ...
end)
end
var420 = module_6_upvr
local function INLINED_2() -- Internal function, doesn't exist in bytecode
var420 = var420(tbl_11)
tbl_11.context = ":now() was called at:\n\n"..call_stack
tbl_11.error = "This Promise was not resolved in time for :now()"
tbl_11.kind = var13_upvw.Kind.NotResolvedInTime
local tbl_11 = {}
var420 = var13_upvw.new
return var420
end
if arg2 ~= nil or not INLINED_2() then
var420 = arg2
end
return var420.reject(var420)
end
function module_6_upvr.retry(arg1, arg2, ...) -- Line 1340
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
local var423_upvr
if type(arg1) ~= "function" then
var423_upvr = false
else
var423_upvr = true
end
assert(var423_upvr, "Parameter #1 to Promise.retry must be a function")
if type(arg2) ~= "number" then
var423_upvr = false
else
var423_upvr = true
end
assert(var423_upvr, "Parameter #2 to Promise.retry must be a number")
local args_list_upvr = {...}
var423_upvr = select('#', ...)
return module_6_upvr.resolve(arg1(...)):catch(function(...) -- Line 1346
--[[ Upvalues[5]:
[1]: arg2 (readonly)
[2]: module_6_upvr (copied, readonly)
[3]: arg1 (readonly)
[4]: args_list_upvr (readonly)
[5]: var423_upvr (readonly)
]]
if 0 < arg2 then
return module_6_upvr.retry(arg1, arg2 - 1, unpack(args_list_upvr, 1, var423_upvr))
end
return module_6_upvr.reject(...)
end)
end
function module_6_upvr.fromEvent(arg1, arg2) -- Line 1358
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
local var427_upvw = arg2
if not var427_upvw then
function var427_upvw() -- Line 1359
return true
end
end
return module_6_upvr._new(debug.traceback(nil, 2), function(arg1_21, arg2_8, arg3) -- Line 1363
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: var427_upvw (read and write)
]]
local var429_upvw
local var430_upvw = false
var429_upvw = arg1:Connect(function(...) -- Line 1376
--[[ Upvalues[4]:
[1]: var427_upvw (copied, read and write)
[2]: arg1_21 (readonly)
[3]: var429_upvw (read and write)
[4]: var430_upvw (read and write)
]]
local var427_upvw_result1 = var427_upvw(...)
if var427_upvw_result1 == true then
arg1_21(...)
if var429_upvw then
var429_upvw:Disconnect()
var429_upvw = nil
else
var430_upvw = true
end
end
if type(var427_upvw_result1) ~= "boolean" then
error("Promise.fromEvent predicate should always return a boolean")
end
end)
if var430_upvw and var429_upvw then
return (function() -- Line 1367, Named "disconnect"
--[[ Upvalues[1]:
[1]: var429_upvw (read and write)
]]
var429_upvw:Disconnect()
var429_upvw = nil
end)()
end
arg3(function() -- Line 1396
--[[ Upvalues[1]:
[1]: var429_upvw (read and write)
]]
var429_upvw:Disconnect()
var429_upvw = nil
end)
end)
end
return module_6_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:02
-- Luau version 6, Types version 3
-- Time taken: 0.004786 seconds
local Players_upvr = game:GetService("Players")
local Postie_upvr = require(script.Postie)
if game:GetService("RunService"):IsClient() then
Postie_upvr.SetCallback("Ping", function() -- Line 13
return true
end)
local Ping_upvr_2 = Players_upvr.LocalPlayer:WaitForChild("Ping", 100)
task.spawn(function() -- Line 14
--[[ Upvalues[1]:
[1]: Ping_upvr_2 (readonly)
]]
while true do
if Ping_upvr_2:GetAttribute("Turn") == Ping_upvr_2:GetAttribute("Turn") then
script.RemoteEvent:FireServer()
end
task.wait(1)
end
end)
return true
end
local HttpService_upvr = game:GetService("HttpService")
return function() -- Line 27
--[[ Upvalues[3]:
[1]: Players_upvr (readonly)
[2]: HttpService_upvr (readonly)
[3]: Postie_upvr (readonly)
]]
local tbl_upvr = {}
script.RemoteEvent.OnServerEvent:Connect(function(arg1) -- Line 31
--[[ Upvalues[4]:
[1]: Players_upvr (copied, readonly)
[2]: tbl_upvr (readonly)
[3]: HttpService_upvr (copied, readonly)
[4]: Postie_upvr (copied, readonly)
]]
if not Players_upvr:FindFirstChild(arg1.Name) or tbl_upvr[arg1] then
else
tbl_upvr[arg1] = true
local Ping_upvr = arg1:WaitForChild("Ping", 100)
local var15_upvw = false
task.delay(_G._maxPing / 1000, function() -- Line 44
--[[ Upvalues[3]:
[1]: Ping_upvr (readonly)
[2]: var15_upvw (read and write)
[3]: HttpService_upvr (copied, readonly)
]]
Ping_upvr:SetAttribute("IsLagging", not var15_upvw)
if not var15_upvw then
Ping_upvr:SetAttribute("LagSession", HttpService_upvr:GenerateGUID(false))
end
end)
var15_upvw = true
Ping_upvr:SetAttribute("Turn", not Ping_upvr:GetAttribute("Turn"))
local rounded = math.round((tick() - tick()) * 1000)
if not Postie_upvr.InvokeClient(arg1, "Ping", 1) then
arg1:WaitForChild("leaderstats", 100):WaitForChild("Ping", 100).Value = "1K+ ms"
for i, v in next, workspace.game.balls.server:GetChildren() do
if v and (v:GetAttribute("possessor") == arg1.UserId or v:GetAttribute("networkOwner") == arg1.UserId) then
v:SetAttribute("possessor", 0)
v:SetAttribute("networkOwner", 0)
v:SetAttribute("network", 0)
v:SetNetworkOwner(nil)
end
end
else
v = rounded
i = tostring(v)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
arg1:WaitForChild("leaderstats", 100):WaitForChild("Ping", 100).Value = i.." ms"
end
Ping_upvr.Value = rounded
tbl_upvr[arg1] = nil
end
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:03
-- Luau version 6, Types version 3
-- Time taken: 0.004382 seconds
local HttpService_upvr = game:GetService("HttpService")
local Sent_upvr = script.Sent
local Received_upvr = script.Received
local any_IsServer_result1_upvr = game:GetService("RunService"):IsServer()
local tbl_upvr = {}
local tbl_upvr_2 = {}
local module = {
InvokeClient = function(arg1, arg2, arg3, ...) -- Line 66, Named "InvokeClient"
--[[ Upvalues[4]:
[1]: any_IsServer_result1_upvr (readonly)
[2]: HttpService_upvr (readonly)
[3]: tbl_upvr_2 (readonly)
[4]: Sent_upvr (readonly)
]]
assert(any_IsServer_result1_upvr, "Postie.invokeClient can only be called from the server")
local current_thread_upvr_2 = coroutine.running()
local var9_upvw = false
local any_GenerateGUID_result1_upvr_2 = HttpService_upvr:GenerateGUID(false)
tbl_upvr_2[any_GenerateGUID_result1_upvr_2] = function(arg1_2, arg2_2, ...) -- Line 74
--[[ Upvalues[5]:
[1]: arg1 (readonly)
[2]: var9_upvw (read and write)
[3]: tbl_upvr_2 (copied, readonly)
[4]: any_GenerateGUID_result1_upvr_2 (readonly)
[5]: current_thread_upvr_2 (readonly)
]]
if arg1_2 ~= arg1 then
else
var9_upvw = true
tbl_upvr_2[any_GenerateGUID_result1_upvr_2] = nil
if arg2_2 then
task.spawn(current_thread_upvr_2, true, ...)
return
end
task.spawn(current_thread_upvr_2, false)
end
end
task.delay(arg3, function() -- Line 89
--[[ Upvalues[4]:
[1]: var9_upvw (read and write)
[2]: tbl_upvr_2 (copied, readonly)
[3]: any_GenerateGUID_result1_upvr_2 (readonly)
[4]: current_thread_upvr_2 (readonly)
]]
if var9_upvw then
else
tbl_upvr_2[any_GenerateGUID_result1_upvr_2] = nil
task.spawn(current_thread_upvr_2, false)
end
end)
Sent_upvr:FireClient(arg1, arg2, any_GenerateGUID_result1_upvr_2, ...)
return coroutine.yield()
end;
InvokeServer = function(arg1, arg2, ...) -- Line 103, Named "InvokeServer"
--[[ Upvalues[4]:
[1]: any_IsServer_result1_upvr (readonly)
[2]: HttpService_upvr (readonly)
[3]: tbl_upvr_2 (readonly)
[4]: Sent_upvr (readonly)
]]
assert(not any_IsServer_result1_upvr, "Postie.invokeServer can only be called from the client")
local current_thread_upvr = coroutine.running()
local var14_upvw = false
local any_GenerateGUID_result1_upvr = HttpService_upvr:GenerateGUID(false)
tbl_upvr_2[any_GenerateGUID_result1_upvr] = function(arg1_3, ...) -- Line 111
--[[ Upvalues[4]:
[1]: var14_upvw (read and write)
[2]: tbl_upvr_2 (copied, readonly)
[3]: any_GenerateGUID_result1_upvr (readonly)
[4]: current_thread_upvr (readonly)
]]
var14_upvw = true
tbl_upvr_2[any_GenerateGUID_result1_upvr] = nil
if arg1_3 then
task.spawn(current_thread_upvr, true, ...)
else
task.spawn(current_thread_upvr, false)
end
end
task.delay(arg2, function() -- Line 122
--[[ Upvalues[4]:
[1]: var14_upvw (read and write)
[2]: tbl_upvr_2 (copied, readonly)
[3]: any_GenerateGUID_result1_upvr (readonly)
[4]: current_thread_upvr (readonly)
]]
if var14_upvw then
else
tbl_upvr_2[any_GenerateGUID_result1_upvr] = nil
task.spawn(current_thread_upvr, false)
end
end)
Sent_upvr:FireServer(arg1, any_GenerateGUID_result1_upvr, ...)
return coroutine.yield()
end;
SetCallback = function(arg1, arg2) -- Line 136, Named "SetCallback"
--[[ Upvalues[1]:
[1]: tbl_upvr (readonly)
]]
tbl_upvr[arg1] = arg2
end;
GetCallback = function(arg1) -- Line 140, Named "GetCallback"
--[[ Upvalues[1]:
[1]: tbl_upvr (readonly)
]]
return tbl_upvr[arg1]
end;
}
if any_IsServer_result1_upvr then
Received_upvr.OnServerEvent:Connect(function(arg1, arg2, arg3, ...) -- Line 146
--[[ Upvalues[1]:
[1]: tbl_upvr_2 (readonly)
]]
local var19 = tbl_upvr_2[arg2]
if not var19 then
else
var19(arg1, arg3, ...)
end
end)
Sent_upvr.OnServerEvent:Connect(function(arg1, arg2, arg3, ...) -- Line 155
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: Received_upvr (readonly)
]]
local var21 = tbl_upvr[arg2]
if var21 then
Received_upvr:FireClient(arg1, arg3, true, var21(arg1, ...))
else
Received_upvr:FireClient(arg1, arg3, false)
end
end)
return module
end
Received_upvr.OnClientEvent:Connect(function(arg1, arg2, ...) -- Line 165
--[[ Upvalues[1]:
[1]: tbl_upvr_2 (readonly)
]]
local var23 = tbl_upvr_2[arg1]
if not var23 then
else
var23(arg2, ...)
end
end)
Sent_upvr.OnClientEvent:Connect(function(arg1, arg2, ...) -- Line 174
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: Received_upvr (readonly)
]]
local var25 = tbl_upvr[arg1]
if var25 then
Received_upvr:FireServer(arg2, true, var25(...))
else
Received_upvr:FireServer(arg2, false)
end
end)
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:05
-- Luau version 6, Types version 3
-- Time taken: 0.001153 seconds
local module_upvr = {
_npc = require(script:WaitForChild("npc", 100));
_client = require(script:WaitForChild("client", 100));
_server = require(script:WaitForChild("server", 100));
}
function module_upvr.new(...) -- Line 7
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if _G._services.RunService:IsClient() then
return module_upvr._client.new(...)
end
return module_upvr._server.new(...)
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:06
-- Luau version 6, Types version 3
-- Time taken: 0.003906 seconds
local module_3_upvr = {}
module_3_upvr.__index = module_3_upvr
function module_3_upvr.new(arg1) -- Line 7
--[[ Upvalues[1]:
[1]: module_3_upvr (readonly)
]]
assert(arg1, "ragdoll.server | dataModel 'player' expected, got "..typeof(arg1))
local module = {}
module._player = arg1
module._config = require(script.Parent:WaitForChild("config", 100))
module._maid = _G._engine:load("Maid").new()
return setmetatable(module, module_3_upvr)
end
function module_3_upvr.init(arg1, arg2) -- Line 17
assert(arg2, "ragdoll.server | dataModel 'character' expected, got "..typeof(arg2))
arg1._maid:DoCleaning()
arg1._character = arg2
arg1._humanoid = arg2:WaitForChild("Humanoid", 100)
arg1._humanoid.BreakJointsOnDeath = false
arg1._maid.attributeChangedSignal = arg1._character:GetAttributeChangedSignal("serverRagdollBinder"):Connect(function() -- Line 26
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:toggle(arg1._character:GetAttribute("serverRagdollBinder"))
end)
arg1._maid.died = arg1._humanoid.Died:Connect(function() -- Line 30
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1._config._ragdollOnDeath then
for _, v in next, arg1._character:GetChildren() do
if v:IsA("Accessory") then
for _, v_2 in next, v.Handle:GetChildren() do
if v_2:IsA("WrapLayer") then
local WrapTarget = Instance.new("WrapTarget")
WrapTarget.Parent = v_2.Parent
WrapTarget:Destroy()
end
end
end
end
arg1._character:SetAttribute("serverRagdollBinder", true)
end
end)
end
local module_2_upvr = require(script.Parent:WaitForChild("motors", 100))
function module_3_upvr.toggle(arg1, arg2) -- Line 49
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
local var15
if typeof(arg2) ~= "boolean" then
var15 = false
else
var15 = true
end
assert(var15, "ragdoll.server | boolean 't' expected, got "..typeof(arg2))
module_2_upvr:toggle(not arg2, arg1._character, arg1._character:GetAttribute("isHolding"))
end
return module_3_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:07
-- Luau version 6, Types version 3
-- Time taken: 0.011084 seconds
local module_upvr = {
_limbs = {
R6 = {"Head", "Torso", "Right Arm", "Left Arm", "Right Leg", "Left Leg"};
R15 = {"Head", "UpperTorso", "LowerTorso", "RightUpperArm", "RightLowerArm", "RightHand", "LeftUpperArm", "LeftLowerArm", "LeftHand", "RightUpperLeg", "RightLowerLeg", "RightFoot", "LeftUpperLeg", "LeftLowerLeg", "LeftFoot"};
};
}
module_upvr.__index = module_upvr
local module_upvr_2 = require(script.Parent:WaitForChild("spring", 100))
function module_upvr.new() -- Line 14
--[[ Upvalues[2]:
[1]: module_upvr_2 (readonly)
[2]: module_upvr (readonly)
]]
return setmetatable({
_toggle = false;
_config = require(script.Parent:WaitForChild("config", 100));
_impulseSpring = module_upvr_2:create();
_maid = _G._engine:load("Maid").new();
_localMaid = _G._engine:load("Maid").new();
}, module_upvr)
end
local LocalPlayer_upvr = _G._services.Players.LocalPlayer
function module_upvr.init(arg1) -- Line 24
--[[ Upvalues[1]:
[1]: LocalPlayer_upvr (readonly)
]]
arg1._maid:DoCleaning()
local Character_upvr = LocalPlayer_upvr.Character
if not Character_upvr then
Character_upvr = LocalPlayer_upvr.CharacterAdded:Wait()
end
arg1._rigType = Character_upvr:WaitForChild("Humanoid", 100).RigType
arg1._character = Character_upvr
arg1._maid.attributeChangedSignal = Character_upvr:GetAttributeChangedSignal("clientRagdollBinder"):Connect(function() -- Line 33
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: Character_upvr (readonly)
]]
arg1:toggle(Character_upvr:GetAttribute("clientRagdollBinder"))
end)
end
local module_upvr_3 = require(script.Parent:WaitForChild("motors", 100))
function module_upvr.toggle(arg1, arg2) -- Line 38
--[[ Upvalues[1]:
[1]: module_upvr_3 (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 39 start (CF ANALYSIS FAILED)
local var15
if typeof(arg2) ~= "boolean" then
var15 = false
else
var15 = true
end
assert(var15, "ragdoll.client | boolean 't' expected, got "..typeof(arg2))
-- KONSTANTERROR: [0] 1. Error Block 39 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [22] 18. Error Block 41 start (CF ANALYSIS FAILED)
module_upvr_3:toggle(false, arg1._character, arg1._character:GetAttribute("isHolding"))
var15 = arg1._character.Humanoid.Animator:GetPlayingAnimationTracks()
local any_GetPlayingAnimationTracks_result1, any_GetPlayingAnimationTracks_result2 = arg1._character.Humanoid.Animator:GetPlayingAnimationTracks()
for _, v in next, any_GetPlayingAnimationTracks_result1, any_GetPlayingAnimationTracks_result2 do
if v and not _G._references.Main.animations.GetUp:FindFirstChild(v.Name, true) and not _G._references.Main.animations.Ball:FindFirstChild(v.Name, true) then
v:Stop(0.5)
end
end
any_GetPlayingAnimationTracks_result1 = arg1._character
any_GetPlayingAnimationTracks_result1 = Vector3.new(0, 0, 0)
any_GetPlayingAnimationTracks_result1.LowerTorso.AssemblyAngularVelocity = any_GetPlayingAnimationTracks_result1
any_GetPlayingAnimationTracks_result1 = arg1._character
any_GetPlayingAnimationTracks_result1 = Vector3.new(0, 0, 0)
any_GetPlayingAnimationTracks_result1.UpperTorso.AssemblyAngularVelocity = any_GetPlayingAnimationTracks_result1
arg1._toggle = true
any_GetPlayingAnimationTracks_result1 = arg1._character
any_GetPlayingAnimationTracks_result1 = true
any_GetPlayingAnimationTracks_result1.Humanoid.PlatformStand = any_GetPlayingAnimationTracks_result1
any_GetPlayingAnimationTracks_result1 = _G
any_GetPlayingAnimationTracks_result1._root:SetAttribute("ignoreRoot", true)
any_GetPlayingAnimationTracks_result1 = _G._references.Profile.settings.Visual["Performance Mode"]
if any_GetPlayingAnimationTracks_result1.Value then
function any_GetPlayingAnimationTracks_result1() -- Line 57
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
while arg1._toggle do
for _, v_2 in next, arg1._character:GetChildren() do
if v_2:IsA("BasePart") then
if arg1._rigType == Enum.HumanoidRigType.R6 and table.find(arg1._limbs.R6, v_2.Name) or table.find(arg1._limbs.R15, v_2.Name) then
v_2.CanCollide = true
end
end
end
arg1._character.Humanoid.PlatformStand = true
task.wait(0.5)
end
end
task.spawn(any_GetPlayingAnimationTracks_result1)
else
any_GetPlayingAnimationTracks_result1 = _G._services.RunService.RenderStepped
any_GetPlayingAnimationTracks_result1 = any_GetPlayingAnimationTracks_result1:Connect(function() -- Line 75
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
for _, v_3 in next, arg1._character:GetChildren() do
if v_3:IsA("BasePart") then
if arg1._rigType == Enum.HumanoidRigType.R6 and table.find(arg1._limbs.R6, v_3.Name) or table.find(arg1._limbs.R15, v_3.Name) then
v_3.CanCollide = true
end
end
end
end)
arg1._localMaid.updateCollisions = any_GetPlayingAnimationTracks_result1
any_GetPlayingAnimationTracks_result1 = _G._services.RunService.Heartbeat
any_GetPlayingAnimationTracks_result1 = any_GetPlayingAnimationTracks_result1:Connect(function() -- Line 83
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1._character.Humanoid.PlatformStand = true
end)
arg1._localMaid.forcePlatformStand = any_GetPlayingAnimationTracks_result1
end
any_GetPlayingAnimationTracks_result1 = arg1._config
-- KONSTANTERROR: [22] 18. Error Block 41 end (CF ANALYSIS FAILED)
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:08
-- Luau version 6, Types version 3
-- Time taken: 0.013192 seconds
return {
transitionTime = 0.5;
maid = _G._engine:load("Maid").new();
recordings = _G._engine:load("Maid").new();
motors = {};
toggle = function(arg1, arg2, arg3, arg4) -- Line 8, Named "toggle"
task.spawn(function() -- Line 9
--[[ Upvalues[4]:
[1]: arg2 (readonly)
[2]: arg3 (readonly)
[3]: arg1 (readonly)
[4]: arg4 (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 158 start (CF ANALYSIS FAILED)
local var34
if typeof(arg2) ~= "boolean" then
var34 = false
else
var34 = true
end
assert(var34, "ragdoll.motors | boolean 't' expected, got "..typeof(arg2))
var34 = arg3
assert(var34, "ragdoll.motors | dataModel 'character' expected, got "..typeof(arg3))
local Humanoid = arg3:WaitForChild("Humanoid", 100)
var34 = arg3:WaitForChild("HumanoidRootPart", 100)
-- KONSTANTERROR: [0] 1. Error Block 158 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [455] 301. Error Block 130 start (CF ANALYSIS FAILED)
arg1.motors = {}
do
return
end
-- KONSTANTERROR: [455] 301. Error Block 130 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [461] 305. Error Block 49 start (CF ANALYSIS FAILED)
Humanoid.RequiresNeck = false
Humanoid.AutoRotate = false
var34.CanCollide = false
task.delay(0.15, function() -- Line 130
--[[ Upvalues[2]:
[1]: arg3 (copied, readonly)
[2]: arg1 (copied, readonly)
]]
if _G._services.RunService:IsServer() then
for _, v_upvr in next, arg3:GetChildren() do
if v_upvr:IsA("BasePart") and v_upvr.Name ~= "Ball" then
arg1.maid[v_upvr.Name.."_Touched"] = v_upvr.Touched:Connect(function(arg1_2) -- Line 134
--[[ Upvalues[2]:
[1]: v_upvr (readonly)
[2]: arg1 (copied, readonly)
]]
if arg1_2 and arg1_2.Parent and not arg1_2:FindFirstAncestor(v_upvr.Parent.Name) and arg1_2.Transparency == 0 and not arg1_2.Parent:FindFirstChildWhichIsA("Humanoid") and 10 <= v_upvr.AssemblyLinearVelocity.Magnitude then
local children = _G._references.Main.sounds.Fall:GetChildren()
local Sound = Instance.new("Sound", v_upvr)
Sound.SoundId = children[math.random(1, #children)].SoundId
Sound.Volume = 0.25
Sound.PlaybackSpeed = 1
Sound.RollOffMinDistance = 5
Sound.RollOffMaxDistance = 20
Sound:Play()
_G._services.Debris:AddItem(Sound, Sound.TimeLength / Sound.PlaybackSpeed)
arg1.maid:DoCleaning()
end
end)
end
end
end
end)
-- KONSTANTERROR: [461] 305. Error Block 49 end (CF ANALYSIS FAILED)
end)
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:10
-- Luau version 6, Types version 3
-- Time taken: 0.010462 seconds
return {
_lockCameraOnRagdoll = false;
_impulseCameraOnRagdoll = false;
_ragdollOnDeath = false;
_impulseRagdollOnToggle = false;
_impulseForce = 10;
R6 = {
Head = {
MaxFrictionTorque = 0.5;
Restitution = 0;
UpperAngle = 30;
TwistLowerAngle = -40;
TwistUpperAngle = 40;
CreateNewAttachment0 = false;
CreateNewAttachment1 = true;
Attachment0 = {
Parent = "Torso";
Name = "NeckAttachment";
};
Attachment1 = {
Parent = "Head";
Name = "NeckAttachment";
Position = Vector3.new(0, -0.5, 0);
Orientation = Vector3.new(0, 0, 0);
};
CreateNoCollisionConstraint = false;
};
["Right Arm"] = {
MaxFrictionTorque = 0.5;
Restitution = 0;
UpperAngle = 110;
TwistLowerAngle = -85;
TwistUpperAngle = 85;
CreateNewAttachment0 = true;
CreateNewAttachment1 = true;
Attachment0 = {
Parent = "Torso";
Name = "RightShoulderRagdollAttachment";
Position = Vector3.new(1, 0.5, 0);
Orientation = Vector3.new(0, 0, 0);
};
Attachment1 = {
Parent = "Right Arm";
Name = "RightShoulderRagdollAttachment";
Position = Vector3.new(-0.5, 0.5, 0);
Orientation = Vector3.new(0, 0, -90);
};
CreateNoCollisionConstraint = true;
Part0 = "Head";
Part1 = "Right Arm";
};
["Left Arm"] = {
MaxFrictionTorque = 0.5;
Restitution = 0;
UpperAngle = 110;
TwistLowerAngle = -85;
TwistUpperAngle = 85;
CreateNewAttachment0 = true;
CreateNewAttachment1 = true;
Attachment0 = {
Parent = "Torso";
Name = "LeftShoulderRagdollAttachment";
Position = Vector3.new(-1, 0.5, 0);
Orientation = Vector3.new(0, 180, 0);
};
Attachment1 = {
Parent = "Left Arm";
Name = "LeftShoulderRagdollAttachment";
Position = Vector3.new(0.5, 0.5, 0);
Orientation = Vector3.new(0, -180, -90);
};
CreateNoCollisionConstraint = true;
Part0 = "Head";
Part1 = "Left Arm";
};
["Right Leg"] = {
MaxFrictionTorque = 0.5;
Restitution = 0;
UpperAngle = 40;
TwistLowerAngle = -5;
TwistUpperAngle = 80;
CreateNewAttachment0 = true;
CreateNewAttachment1 = true;
Attachment0 = {
Parent = "Torso";
Name = "RightHipAttachment";
Position = Vector3.new(0.5, -1, 0);
Orientation = Vector3.new(0, 0, 0);
};
Attachment1 = {
Parent = "Right Leg";
Name = "RightHipAttachment";
Position = Vector3.new(0, 1, 0);
Orientation = Vector3.new(0, 0, 0);
};
CreateNoCollisionConstraint = true;
Part0 = "Left Leg";
Part1 = "Right Leg";
};
["Left Leg"] = {
MaxFrictionTorque = 0.5;
Restitution = 0;
UpperAngle = 40;
TwistLowerAngle = -5;
TwistUpperAngle = 80;
CreateNewAttachment0 = true;
CreateNewAttachment1 = true;
Attachment0 = {
Parent = "Torso";
Name = "LeftHipAttachment";
Position = Vector3.new(-0.5, -1, 0);
Orientation = Vector3.new(0, 0, 0);
};
Attachment1 = {
Parent = "Left Leg";
Name = "LeftHipAttachment";
Position = Vector3.new(0, 1, 0);
Orientation = Vector3.new(0, 0, 0);
};
CreateNoCollisionConstraint = false;
};
};
R15 = {
Head = {
MaxFrictionTorque = 471.341;
Restitution = 0;
UpperAngle = 30;
TwistLowerAngle = -40;
TwistUpperAngle = 40;
CreateNewAttachment0 = false;
CreateNewAttachment1 = false;
Attachment0 = {
Parent = "UpperTorso";
Name = "NeckRigAttachment";
};
Attachment1 = {
Parent = "Head";
Name = "NeckRigAttachment";
};
CreateNoCollisionConstraint = false;
};
UpperTorso = {
MaxFrictionTorque = 587.093;
Restitution = 0;
UpperAngle = 20;
TwistLowerAngle = -40;
TwistUpperAngle = 20;
CreateNewAttachment0 = false;
CreateNewAttachment1 = false;
Attachment0 = {
Parent = "LowerTorso";
Name = "WaistRigAttachment";
};
Attachment1 = {
Parent = "UpperTorso";
Name = "WaistRigAttachment";
};
CreateNoCollisionConstraint = false;
};
RightUpperArm = {
MaxFrictionTorque = 0;
Restitution = 0;
UpperAngle = 110;
TwistLowerAngle = -85;
TwistUpperAngle = 85;
CreateNewAttachment0 = true;
CreateNewAttachment1 = true;
Attachment0 = {
Parent = "UpperTorso";
Name = "RightShoulderRagdollAttachment";
Position = Vector3.new(1, 0.56300, 0);
Orientation = Vector3.new(0, 0, 0);
};
Attachment1 = {
Parent = "RightUpperArm";
Name = "RightShoulderRagdollAttachment";
Position = Vector3.new(-0.5, 0.39399, 0);
Orientation = Vector3.new(0, 0, -90);
};
CreateNoCollisionConstraint = true;
NoCollisionConstraints = {
['1'] = {
Part0 = "LowerTorso";
Part1 = "RightUpperArm";
};
['2'] = {
Part0 = "Head";
Part1 = "RightUpperArm";
};
};
};
RightLowerArm = {
MaxFrictionTorque = 0.5;
Restitution = 0;
UpperAngle = 20;
TwistLowerAngle = 5;
TwistUpperAngle = 120;
CreateNewAttachment0 = false;
CreateNewAttachment1 = false;
Attachment0 = {
Parent = "RightUpperArm";
Name = "RightElbowRigAttachment";
};
Attachment1 = {
Parent = "RightLowerArm";
Name = "RightElbowRigAttachment";
};
CreateNoCollisionConstraint = true;
NoCollisionConstraints = {
['1'] = {
Part0 = "UpperTorso";
Part1 = "RightLowerArm";
};
};
};
RightHand = {
MaxFrictionTorque = 0.15;
Restitution = 0;
UpperAngle = 30;
TwistLowerAngle = -10;
TwistUpperAngle = 10;
CreateNewAttachment0 = false;
CreateNewAttachment1 = false;
Attachment0 = {
Parent = "RightLowerArm";
Name = "RightWristRigAttachment";
};
Attachment1 = {
Parent = "RightHand";
Name = "RightWristRigAttachment";
};
CreateNoCollisionConstraint = true;
NoCollisionConstraints = {
['1'] = {
Part0 = "RightUpperArm";
Part1 = "RightHand";
};
};
};
LeftUpperArm = {
MaxFrictionTorque = 0;
Restitution = 0;
UpperAngle = 110;
TwistLowerAngle = -85;
TwistUpperAngle = 85;
CreateNewAttachment0 = true;
CreateNewAttachment1 = true;
Attachment0 = {
Parent = "UpperTorso";
Name = "LeftShoulderRagdollAttachment";
Position = Vector3.new(-1, 0.56300, 0);
Orientation = Vector3.new(0, 180, 0);
};
Attachment1 = {
Parent = "LeftUpperArm";
Name = "LeftShoulderRagdollAttachment";
Position = Vector3.new(0.5, 0.39399, 0);
Orientation = Vector3.new(0, -180, -90);
};
CreateNoCollisionConstraint = true;
NoCollisionConstraints = {
['1'] = {
Part0 = "LowerTorso";
Part1 = "LeftUpperArm";
};
['2'] = {
Part0 = "Head";
Part1 = "LeftUpperArm";
};
};
};
LeftLowerArm = {
MaxFrictionTorque = 0.5;
Restitution = 0;
UpperAngle = 20;
TwistLowerAngle = 5;
TwistUpperAngle = 120;
CreateNewAttachment0 = false;
CreateNewAttachment1 = false;
Attachment0 = {
Parent = "LeftUpperArm";
Name = "LeftElbowRigAttachment";
};
Attachment1 = {
Parent = "LeftLowerArm";
Name = "LeftElbowRigAttachment";
};
CreateNoCollisionConstraint = true;
NoCollisionConstraints = {
['1'] = {
Part0 = "UpperTorso";
Part1 = "LeftLowerArm";
};
};
};
LeftHand = {
MaxFrictionTorque = 0.15;
Restitution = 0;
UpperAngle = 30;
TwistLowerAngle = -10;
TwistUpperAngle = 10;
CreateNewAttachment0 = false;
CreateNewAttachment1 = false;
Attachment0 = {
Parent = "LeftLowerArm";
Name = "LeftWristRigAttachment";
};
Attachment1 = {
Parent = "LeftHand";
Name = "LeftWristRigAttachment";
};
CreateNoCollisionConstraint = true;
NoCollisionConstraints = {
['1'] = {
Part0 = "LeftUpperArm";
Part1 = "LeftHand";
};
};
};
RightUpperLeg = {
MaxFrictionTorque = 0;
Restitution = 0;
UpperAngle = 40;
TwistLowerAngle = -5;
TwistUpperAngle = 80;
CreateNewAttachment0 = false;
CreateNewAttachment1 = false;
Attachment0 = {
Parent = "LowerTorso";
Name = "RightHipRigAttachment";
};
Attachment1 = {
Parent = "RightUpperLeg";
Name = "RightHipRigAttachment";
};
CreateNoCollisionConstraint = true;
NoCollisionConstraints = {
['1'] = {
Part0 = "UpperTorso";
Part1 = "RightUpperLeg";
};
['2'] = {
Part0 = "LeftUpperLeg";
Part1 = "RightUpperLeg";
};
};
};
RightLowerLeg = {
MaxFrictionTorque = 0.5;
Restitution = 0;
UpperAngle = 5;
TwistLowerAngle = -120;
TwistUpperAngle = -5;
CreateNewAttachment0 = false;
CreateNewAttachment1 = false;
Attachment0 = {
Parent = "RightUpperLeg";
Name = "RightKneeRigAttachment";
};
Attachment1 = {
Parent = "RightLowerLeg";
Name = "RightKneeRigAttachment";
};
CreateNoCollisionConstraint = true;
NoCollisionConstraints = {
['1'] = {
Part0 = "LowerTorso";
Part1 = "RightLowerLeg";
};
['2'] = {
Part0 = "UpperTorso";
Part1 = "RightLowerLeg";
};
};
};
RightFoot = {
MaxFrictionTorque = 0.25;
Restitution = 0;
UpperAngle = 10;
TwistLowerAngle = -10;
TwistUpperAngle = 10;
CreateNewAttachment0 = false;
CreateNewAttachment1 = false;
Attachment0 = {
Parent = "RightLowerLeg";
Name = "RightAnkleRigAttachment";
};
Attachment1 = {
Parent = "RightFoot";
Name = "RightAnkleRigAttachment";
};
CreateNoCollisionConstraint = true;
NoCollisionConstraints = {
['1'] = {
Part0 = "RightUpperLeg";
Part1 = "RightFoot";
};
};
};
LeftUpperLeg = {
MaxFrictionTorque = 0;
Restitution = 0;
UpperAngle = 40;
TwistLowerAngle = -5;
TwistUpperAngle = 80;
CreateNewAttachment0 = false;
CreateNewAttachment1 = false;
Attachment0 = {
Parent = "LowerTorso";
Name = "LeftHipRigAttachment";
};
Attachment1 = {
Parent = "LeftUpperLeg";
Name = "LeftHipRigAttachment";
};
CreateNoCollisionConstraint = true;
NoCollisionConstraints = {
['1'] = {
Part0 = "UpperTorso";
Part1 = "LeftUpperLeg";
};
};
};
LeftLowerLeg = {
MaxFrictionTorque = 0.5;
Restitution = 0;
UpperAngle = 5;
TwistLowerAngle = -120;
TwistUpperAngle = -5;
CreateNewAttachment0 = false;
CreateNewAttachment1 = false;
Attachment0 = {
Parent = "LeftUpperLeg";
Name = "LeftKneeRigAttachment";
};
Attachment1 = {
Parent = "LeftLowerLeg";
Name = "LeftKneeRigAttachment";
};
CreateNoCollisionConstraint = true;
NoCollisionConstraints = {
['1'] = {
Part0 = "LowerTorso";
Part1 = "LeftLowerLeg";
};
['2'] = {
Part0 = "UpperTorso";
Part1 = "LeftLowerLeg";
};
};
};
LeftFoot = {
MaxFrictionTorque = 0.25;
Restitution = 0;
UpperAngle = 10;
TwistLowerAngle = -10;
TwistUpperAngle = 10;
CreateNewAttachment0 = false;
CreateNewAttachment1 = false;
Attachment0 = {
Parent = "LeftLowerLeg";
Name = "LeftAnkleRigAttachment";
};
Attachment1 = {
Parent = "LeftFoot";
Name = "LeftAnkleRigAttachment";
};
CreateNoCollisionConstraint = true;
NoCollisionConstraints = {
['1'] = {
Part0 = "LeftUpperLeg";
Part1 = "LeftFoot";
};
};
};
};
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:11
-- Luau version 6, Types version 3
-- Time taken: 0.005945 seconds
local module = {}
local module_upvr = require(script.Parent:WaitForChild("config", 100))
function module.build(arg1, arg2) -- Line 4
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
assert(arg2, "ragdoll.framework | dataModel 'character' expected, got "..typeof(arg2))
local var11 = "R6"
if arg2:WaitForChild("Humanoid", 100).RigType ~= Enum.HumanoidRigType.R6 then
var11 = "R15"
end
for i, v in next, module_upvr[var11] do
assert(v, "ragdoll.framework | no ragdoll data found for "..i)
assert(arg2:FindFirstChild(i), "ragdoll.framework | could not find part "..i.." in character "..arg2.Name)
local var12
local var13
if v.CreateNewAttachment0 then
assert(arg2:FindFirstChild(v.Attachment0.Parent), "ragdoll.framework | could not find attachment0 "..v.Attachment0.Name.." in part "..v.Attachment0.Parent)
var12 = Instance.new("Attachment")
var12.Parent = arg2[v.Attachment0.Parent]
var12.Name = v.Attachment0.Name
var12.Position = v.Attachment0.Position
var12.Orientation = v.Attachment0.Orientation
else
var12 = arg2[v.Attachment0.Parent][v.Attachment0.Name]
end
if v.CreateNewAttachment1 then
assert(arg2:FindFirstChild(v.Attachment0.Parent), "ragdoll.framework | could not find attachment1 "..v.Attachment0.Name.." in part "..v.Attachment0.Parent)
var13 = Instance.new("Attachment")
var13.Parent = arg2[v.Attachment1.Parent]
var13.Name = v.Attachment1.Name
var13.Position = v.Attachment1.Position
var13.Orientation = v.Attachment1.Orientation
else
var13 = arg2[v.Attachment1.Parent][v.Attachment1.Name]
end
local BallSocketConstraint = Instance.new("BallSocketConstraint", arg2[i])
BallSocketConstraint.Name = "RagdollBallSocket"
BallSocketConstraint.Attachment0 = var12
BallSocketConstraint.Attachment1 = var13
BallSocketConstraint.LimitsEnabled = true
BallSocketConstraint.TwistLimitsEnabled = true
BallSocketConstraint.MaxFrictionTorque = v.MaxFrictionTorque
BallSocketConstraint.Restitution = v.Restitution
BallSocketConstraint.UpperAngle = v.UpperAngle
BallSocketConstraint.TwistLowerAngle = v.TwistLowerAngle
BallSocketConstraint.TwistUpperAngle = v.TwistUpperAngle
if v.CreateNoCollisionConstraint then
if var11 == "R15" then
for _, v_2 in next, v.NoCollisionConstraints do
local NoCollisionConstraint_2 = Instance.new("NoCollisionConstraint", arg2[i])
NoCollisionConstraint_2.Name = "RagdollNoCollision"
NoCollisionConstraint_2.Part0 = arg2[v_2.Part0]
NoCollisionConstraint_2.Part1 = arg2[v_2.Part1]
end
else
local NoCollisionConstraint = Instance.new("NoCollisionConstraint", arg2[i])
NoCollisionConstraint.Name = "RagdollNoCollision"
NoCollisionConstraint.Part0 = arg2[v.Part0]
NoCollisionConstraint.Part1 = arg2[v.Part1]
end
end
end
arg2:SetAttribute("rigged", true)
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:13
-- Luau version 6, Types version 3
-- Time taken: 0.002580 seconds
return {
create = function(arg1, arg2, arg3, arg4, arg5) -- Line 11, Named "create"
return {
Target = Vector3.new();
Position = Vector3.new();
Velocity = Vector3.new();
Mass = arg2 or 5;
Force = arg3 or 50;
Damping = arg4 or 4;
Speed = arg5 or 4;
shove = function(arg1_2, arg2_2) -- Line 24, Named "shove"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local X = arg2_2.X
local Z = arg2_2.Z
local var5
if X ~= X or X == math.huge or X == (-math.huge) then
end
if var5 ~= var5 or var5 == math.huge or var5 == (-math.huge) then
var5 = 0
end
if Z ~= Z or Z == math.huge or Z == (-math.huge) then
end
arg1_2.Velocity += Vector3.new(0, var5, 0)
end;
update = function(arg1_3, arg2_3) -- Line 38, Named "update"
local var8 = math.min(arg2_3, 1) * arg1_3.Speed / 8
for _ = 1, 8 do
arg1_3.Velocity += ((arg1_3.Target - arg1_3.Position) * arg1_3.Force / arg1_3.Mass - arg1_3.Velocity * arg1_3.Damping) * var8
arg1_3.Position += arg1_3.Velocity * var8
end
return arg1_3.Position
end;
}
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:14
-- Luau version 6, Types version 3
-- Time taken: 0.021845 seconds
return {
maid = _G._engine:load("Maid").new();
getUp = require(script.Parent:WaitForChild("getUp", 100));
toggle = function(arg1, arg2, arg3) -- Line 6, Named "toggle"
task.spawn(function() -- Line 7
--[[ Upvalues[3]:
[1]: arg2 (readonly)
[2]: arg3 (readonly)
[3]: arg1 (readonly)
]]
local var82
if typeof(arg2) ~= "boolean" then
var82 = false
else
var82 = true
end
assert(var82, "ragdoll.npc | boolean 't' expected, got "..typeof(arg2))
var82 = arg3
assert(var82, "ragdoll.npc | dataModel 'character' expected, got "..typeof(arg3))
local Humanoid = arg3:WaitForChild("Humanoid", 100)
var82 = arg3:WaitForChild("HumanoidRootPart", 100)
if arg2 then
var82.CanCollide = true
arg3:WaitForChild("LowerTorso", 100).CanCollide = true
arg3:WaitForChild("UpperTorso", 100).CanCollide = true
if _G._services.RunService:IsServer() then
arg1.maid:DoCleaning()
end
for _, v in next, arg3:GetChildren() do
if v and v:IsA("BasePart") then
v.CollisionGroup = "18_npc"
v:SetNetworkOwner(nil)
if v.Name ~= "HumanoidRootPart" and v.Name ~= "LowerTorso" and v.Name ~= "UpperTorso" then
v.CanCollide = false
end
end
end
if Humanoid.RigType == Enum.HumanoidRigType.R6 then
for _, v_2 in next, arg3:GetDescendants() do
if v_2 and v_2:IsA("Motor6D") and v_2.Name ~= "RootJoint" and not v_2:GetAttribute("ignoreRagdoll") then
v_2.Enabled = true
end
end
elseif Humanoid.RigType == Enum.HumanoidRigType.R15 then
for _, v_3 in next, arg3:GetDescendants() do
if v_3 and v_3:IsA("Motor6D") and v_3.Name ~= "Root" and not v_3:GetAttribute("ignoreRagdoll") then
v_3.Enabled = true
end
end
end
Humanoid:SetStateEnabled(Enum.HumanoidStateType.Physics, false)
arg1.getUp:start(arg3)
else
Humanoid.RequiresNeck = false
Humanoid.AutoRotate = false
Humanoid:SetStateEnabled(Enum.HumanoidStateType.Physics, true)
Humanoid:ChangeState(Enum.HumanoidStateType.Physics)
if arg3.Name == "Home" then
local tbl_2 = {"UNS UNS UNS", "51-0 AGAIN?!", "CAMMEH BOSH", "ALL ON RED"}
_G._services.Chat:Chat(arg3.Head, tbl_2[math.random(1, #tbl_2)], Enum.ChatColor.White)
end
arg1.maid.ForcePlatformStand = _G._services.RunService.Heartbeat:Connect(function() -- Line 70
--[[ Upvalues[1]:
[1]: arg3 (copied, readonly)
]]
for _, v_4 in next, arg3:GetChildren() do
if v_4 and v_4:IsA("BasePart") and not string.find(v_4.Name, "Boot") then
v_4.CollisionGroup = "5_ragdoll"
v_4.CanCollide = true
end
end
end)
if Humanoid.RigType == Enum.HumanoidRigType.R6 then
for _, v_5 in next, arg3:GetDescendants() do
if v_5 and v_5:IsA("Motor6D") and v_5.Part1 and v_5.Name ~= "RootJoint" and not v_5:GetAttribute("ignoreRagdoll") then
v_5.Enabled = false
end
end
elseif Humanoid.RigType == Enum.HumanoidRigType.R15 then
for _, v_8 in next, arg3:GetDescendants() do
if v_8 and v_8:IsA("Motor6D") and v_8.Part1 and v_8.Name ~= "Root" and not v_8:GetAttribute("ignoreRagdoll") then
v_8.Enabled = false
elseif v_8 and v_8:IsA("AlignOrientation") then
v_8.Enabled = false
end
end
end
for _, v_6 in next, arg3:GetChildren() do
if v_6 and v_6:IsA("Accessory") and v_6:FindFirstChild("Handle") then
for _, v_7 in next, v_6.Handle:GetChildren() do
if v_7:IsA("WrapLayer") then
local WrapTarget_2 = Instance.new("WrapTarget")
WrapTarget_2.Parent = v_7.Parent
WrapTarget_2:Destroy()
WrapTarget_2.Parent = nil
end
end
end
end
end
end)
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:15
-- Luau version 6, Types version 3
-- Time taken: 0.031814 seconds
return {
gettingUp = false;
maid = _G._engine:load("Maid").new();
raycast = require(script:WaitForChild("raycast", 100));
start = function(arg1, arg2) -- Line 7, Named "start"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 101 start (CF ANALYSIS FAILED)
local var106_upvw
if arg1.gettingUp then
else
local any_raycast_result1_2 = arg1.raycast:raycast(arg2)
local Animator = arg2.Humanoid:WaitForChild("Animator", 100)
local CFrame_3 = arg2.HumanoidRootPart.CFrame
local _, _, _ = CFrame_3:ToOrientation()
var106_upvw = _
var106_upvw = (CFrame.new(CFrame_3.Position) * CFrame.Angles(0, var106_upvw, 0)).LookVector
local cframe = CFrame.new(Vector3.new(), var106_upvw * Vector3.new(1, 0, 1))
local RaycastParams_new_result1_3 = RaycastParams.new()
RaycastParams_new_result1_3.FilterType = Enum.RaycastFilterType.Exclude
local tbl_5 = {}
var106_upvw = arg2
tbl_5[1] = var106_upvw
tbl_5[2] = workspace.game
RaycastParams_new_result1_3.FilterDescendantsInstances = tbl_5
local workspace_Raycast_result1 = workspace:Raycast(CFrame_3.Position, Vector3.new(0, -5, 0), RaycastParams_new_result1_3)
var106_upvw = CFrame.new(Vector3.new(CFrame_3.Position.X, 2.65, CFrame_3.Position.Z)) * cframe
if workspace_Raycast_result1 and workspace_Raycast_result1.Position then
var106_upvw = CFrame.new(Vector3.new(CFrame_3.Position.X, workspace_Raycast_result1.Position.Y + 2.2, CFrame_3.Position.Z)) * cframe
end
local any_LoadAnimation_result1_2 = Animator:LoadAnimation(_G._references.Main.animations.GetUp.GetUp)
any_LoadAnimation_result1_2.Priority = Enum.AnimationPriority.Action4
for _, v in next, Animator:GetPlayingAnimationTracks() do
if v and _G._references.Main.animations.Tools:FindFirstChild(v.Name, true) then
v:Stop(0)
end
end
arg1.gettingUp = true
arg2.HumanoidRootPart.Anchored = true
arg2.LowerTorso.Anchored = true
local clone_upvr = _G._references.Main.rigs.FakeTorso:Clone()
clone_upvr.Parent = workspace.game.debug
clone_upvr:SetPrimaryPartCFrame(CFrame_3)
clone_upvr.Humanoid.PlatformStand = false
clone_upvr.Humanoid:ChangeState(Enum.HumanoidStateType.GettingUp)
if any_raycast_result1_2 == "Front" then
local FakeTorso_upvr_2 = _G._references.Main.animations.GetUp.FakeTorso
task.delay(0.05, function() -- Line 53
--[[ Upvalues[2]:
[1]: clone_upvr (readonly)
[2]: FakeTorso_upvr_2 (readonly)
]]
clone_upvr.Humanoid.Animator:LoadAnimation(FakeTorso_upvr_2):Play(0.1, nil, 1.1)
end)
else
task.delay(0.05, function() -- Line 57
--[[ Upvalues[2]:
[1]: clone_upvr (readonly)
[2]: FakeTorso_upvr_2 (readonly)
]]
clone_upvr.Humanoid.Animator:LoadAnimation(FakeTorso_upvr_2):Play(0.1)
end)
end
arg2.Humanoid.WalkSpeed = 0
arg2.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Jumping, false)
for _, v_2 in next, arg2:GetChildren() do
if v_2 and v_2:IsA("BasePart") then
v_2.CollisionGroup = "9_getUp"
end
end
for i_3, v_3 in next, {"UpperLeg", "LowerLeg", "Foot"} do
local var127 = "Right"..v_3
local var128 = "Left"..v_3
if arg2:FindFirstChild(var127) then
arg2[var127].CanCollide = false
end
if arg2:FindFirstChild(var128) then
arg2[var128].CanCollide = false
end
end
if any_raycast_result1_2 == "Front" then
i_3 = nil
v_3 = 1.1
any_LoadAnimation_result1_2:Play(0.1, i_3, v_3)
else
any_LoadAnimation_result1_2:Play(0.1)
end
local AlignOrientation_upvr = Instance.new("AlignOrientation")
AlignOrientation_upvr.Mode = Enum.OrientationAlignmentMode.OneAttachment
AlignOrientation_upvr.Attachment0 = arg2.LowerTorso:FindFirstChild("RootRigAttachment")
AlignOrientation_upvr.MaxTorque = 100000
AlignOrientation_upvr.Responsiveness = 200
AlignOrientation_upvr.Enabled = true
AlignOrientation_upvr.RigidityEnabled = true
AlignOrientation_upvr.ReactionTorqueEnabled = false
AlignOrientation_upvr.Parent = arg2.LowerTorso:FindFirstChild("RootRigAttachment")
AlignOrientation_upvr.CFrame = CFrame_3
local AlignPosition_upvr = Instance.new("AlignPosition")
AlignPosition_upvr.Mode = Enum.PositionAlignmentMode.OneAttachment
AlignPosition_upvr.Attachment0 = arg2.LowerTorso:FindFirstChild("RootRigAttachment")
AlignPosition_upvr.MaxForce = 100000
AlignPosition_upvr.Responsiveness = 200
AlignPosition_upvr.Enabled = true
AlignPosition_upvr.RigidityEnabled = true
AlignPosition_upvr.ReactionForceEnabled = false
AlignPosition_upvr.Parent = arg2.LowerTorso:FindFirstChild("RootRigAttachment")
AlignPosition_upvr.Position = CFrame_3.Position
arg1.maid:GiveTask(AlignOrientation_upvr)
arg1.maid:GiveTask(AlignPosition_upvr)
arg1.maid:GiveTask(clone_upvr)
if workspace.pitch.nets:FindFirstChildOfClass("Model") then
local CFrame_2_upvr = arg2.LowerTorso.CFrame
local tick_result1_upvr_2 = tick()
arg1.maid.stepped = _G._services.RunService.Stepped:Connect(function(arg1_3) -- Line 119
--[[ Upvalues[7]:
[1]: arg2 (readonly)
[2]: clone_upvr (readonly)
[3]: CFrame_2_upvr (readonly)
[4]: tick_result1_upvr_2 (readonly)
[5]: var106_upvw (read and write)
[6]: AlignPosition_upvr (readonly)
[7]: AlignOrientation_upvr (readonly)
]]
local RaycastParams_new_result1_2 = RaycastParams.new()
RaycastParams_new_result1_2.FilterType = Enum.RaycastFilterType.Exclude
RaycastParams_new_result1_2.RespectCanCollide = true
local tbl_3 = {}
tbl_3[1] = arg2
tbl_3[2] = clone_upvr
tbl_3[3] = workspace.pitch.main
tbl_3[4] = workspace.game.regions
tbl_3[5] = workspace.pitch.textures
RaycastParams_new_result1_2:AddToFilter(tbl_3)
local any_ToEulerAnglesYXZ_result1, any_ToEulerAnglesYXZ_result2_2, any_ToEulerAnglesYXZ_result3_2 = clone_upvr.FakeTorso.CFrame:ToEulerAnglesYXZ()
local var144
for i_4, v_4 in next, {workspace:Raycast(arg2.HumanoidRootPart.Position, arg2.HumanoidRootPart.CFrame.LookVector * 5, RaycastParams_new_result1_2), workspace:Raycast(arg2.HumanoidRootPart.Position, arg2.HumanoidRootPart.CFrame.UpVector * 5, RaycastParams_new_result1_2)} do
if v_4 and v_4.Instance and v_4.Instance.Parent.Name ~= "physics" then
end
end
if not nil then
i_4 = 0
v_4 = -0.1
var106_upvw *= CFrame.new(0, i_4, v_4)
end
local any_Lerp_result1_2 = CFrame_2_upvr:Lerp(CFrame.new(CFrame_2_upvr.Position) * CFrame.Angles(any_ToEulerAnglesYXZ_result1, any_ToEulerAnglesYXZ_result2_2, any_ToEulerAnglesYXZ_result3_2), math.clamp((tick() - tick_result1_upvr_2) * 1.7, 0, 1)):Lerp(var106_upvw, math.clamp((tick() - tick_result1_upvr_2) * 1.3, 0, 1))
arg2.HumanoidRootPart.Anchored = false
arg2.LowerTorso.Anchored = false
AlignPosition_upvr.Position = any_Lerp_result1_2.Position
AlignOrientation_upvr.CFrame = any_Lerp_result1_2
end)
end
if 0.1 > any_LoadAnimation_result1_2.Length or not (any_LoadAnimation_result1_2.Length - 0.2) then
end
task.wait(0.95)
arg1.maid:DoCleaning()
arg1.gettingUp = false
arg2.HumanoidRootPart.Anchored = false
arg2.HumanoidRootPart.CanCollide = true
arg2.LowerTorso.CanCollide = true
arg2.UpperTorso.CanCollide = true
arg2.Humanoid.PlatformStand = false
arg2.Humanoid:ChangeState(Enum.HumanoidStateType.GettingUp)
for _, v_5 in next, {"UpperLeg", "LowerLeg", "Foot"} do
local var147 = "Right"..v_5
local var148 = "Left"..v_5
if arg2:FindFirstChild(var147) then
arg2[var147].CanCollide = true
end
if arg2:FindFirstChild(var148) then
arg2[var148].CanCollide = true
end
end
for _, v_6 in next, arg2:GetChildren() do
if v_6 and v_6:IsA("BasePart") then
v_6.CollisionGroup = "18_npc"
if v_6.Name ~= "HumanoidRootPart" and v_6.Name ~= "LowerTorso" and v_6.Name ~= "UpperTorso" then
v_6.CanCollide = false
end
end
end
arg2.Humanoid.WalkSpeed = _G._services.StarterPlayer.CharacterWalkSpeed
arg2.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Jumping, true)
-- KONSTANTERROR: [0] 1. Error Block 101 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [614] 403. Error Block 100 start (CF ANALYSIS FAILED)
if not arg2:FindFirstAncestor("manager") then
arg2.Humanoid.AutoRotate = true
else
-- KONSTANTERROR: [625] 411. Error Block 97 start (CF ANALYSIS FAILED)
if arg2:FindFirstAncestor("referee") then
_G._services.ReplicatedStorage.engine.modules.AI.referee.signal:Fire("update", arg2)
elseif arg2:FindFirstAncestor("manager") then
_G._services.ReplicatedStorage.engine.modules.AI.manager.signal:Fire("update", arg2)
end
-- KONSTANTERROR: [625] 411. Error Block 97 end (CF ANALYSIS FAILED)
end
-- KONSTANTERROR: [614] 403. Error Block 100 end (CF ANALYSIS FAILED)
end
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:17
-- Luau version 6, Types version 3
-- Time taken: 0.001132 seconds
return {
raycast = function(arg1, arg2) -- Line 3, Named "raycast"
local Position = arg2.HumanoidRootPart.Position
local RaycastParams_new_result1 = RaycastParams.new()
local tbl = {}
tbl[1] = arg2
RaycastParams_new_result1.FilterDescendantsInstances = tbl
RaycastParams_new_result1.FilterType = Enum.RaycastFilterType.Exclude
RaycastParams_new_result1.IgnoreWater = true
if workspace:Raycast(Position, arg2.HumanoidRootPart.CFrame.LookVector * -3.5, RaycastParams_new_result1) then
return "Back"
end
if workspace:Raycast(Position, arg2.HumanoidRootPart.CFrame.LookVector * 3.5, RaycastParams_new_result1) then
return "Front"
end
return "Back"
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:18
-- Luau version 6, Types version 3
-- Time taken: 0.001377 seconds
return {
start = function(arg1, arg2, arg3, arg4) -- Line 3, Named "start"
assert(arg2, "TeleportService | dataModel 'player' expected, got "..typeof(arg2))
assert(arg3, "TeleportService | integer 'placeId' expected, got "..typeof(arg3))
local pcall_result1, pcall_result2 = pcall(function() -- Line 7
--[[ Upvalues[3]:
[1]: arg4 (readonly)
[2]: arg3 (readonly)
[3]: arg2 (readonly)
]]
if arg4 then
return _G._services.TeleportService:TeleportToPlaceInstance(arg3, arg4, arg2)
end
return _G._services.TeleportService:Teleport(arg3, arg2)
end)
if not pcall_result1 then
warn("TeleportService | failed to teleport player "..arg2.Name.." ("..pcall_result2..')')
arg2:Kick("Failed to teleport to place; rejoin.")
end
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:20
-- Luau version 6, Types version 3
-- Time taken: 0.002059 seconds
return {
emit = function(arg1, arg2, arg3, arg4) -- Line 3, Named "emit"
assert(arg2, "ParticleEmitter | vector3 'position' expected, got "..typeof(arg2))
assert(arg3, "ParticleEmitter | particleEmitter 'reference' expected, got "..typeof(arg3))
if not arg4 then
end
local var3 = {
enum = "emit";
emit = 5;
}
local clone_upvr = _G._references.Main.effects.particle:Clone()
clone_upvr.Parent = workspace.game.debug
clone_upvr.Position = arg2
local clone_upvr_2 = arg3:Clone()
clone_upvr_2.Parent = clone_upvr
if var3.enum == "emit" then
clone_upvr_2:Emit(var3.emit)
task.delay(5, function() -- Line 19
--[[ Upvalues[1]:
[1]: clone_upvr (readonly)
]]
clone_upvr:Destroy()
end)
else
clone_upvr_2.Enabled = true
task.delay(var3.lifeTime, function() -- Line 25
--[[ Upvalues[2]:
[1]: clone_upvr_2 (readonly)
[2]: clone_upvr (readonly)
]]
clone_upvr_2.Enabled = false
task.delay(5, function() -- Line 28
--[[ Upvalues[1]:
[1]: clone_upvr (copied, readonly)
]]
clone_upvr:Destroy()
end)
end)
end
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:21
-- Luau version 6, Types version 3
-- Time taken: 0.024954 seconds
local tbl_upvr_3 = {
Rate = 12;
Size = 0.04;
Tint = Color3.fromRGB(226, 244, 255);
Fade = 1.5;
UpdateFreq = (1/60);
}
local CurrentCamera_upvr = workspace.CurrentCamera
local UserSettings_result1_upvw = UserSettings()
local GameSettings_upvr = UserSettings_result1_upvw.GameSettings
local var6_upvw
if var6_upvw > GameSettings_upvr.SavedQualityLevel.Value then
UserSettings_result1_upvw = false
else
UserSettings_result1_upvw = true
end
GameSettings_upvr:GetPropertyChangedSignal("SavedQualityLevel"):Connect(function() -- Line 74
--[[ Upvalues[2]:
[1]: UserSettings_result1_upvw (read and write)
[2]: GameSettings_upvr (readonly)
]]
local var8 = true
if 8 > GameSettings_upvr.SavedQualityLevel.Value then
if GameSettings_upvr.SavedQualityLevel.Value ~= 0 then
var8 = false
else
var8 = true
end
end
UserSettings_result1_upvw = var8
end)
var6_upvw = tbl_upvr_3.Rate
tbl_upvr_3.Rate = var6_upvw or 5
var6_upvw = tbl_upvr_3.Size
tbl_upvr_3.Size = var6_upvw or 1.5
local Tint = tbl_upvr_3.Tint
if not Tint then
Tint = Color3.fromRGB
var6_upvw = 226
Tint = Tint(var6_upvw, 244, 255)
end
tbl_upvr_3.Tint = Tint
var6_upvw = tbl_upvr_3.Fade
tbl_upvr_3.Fade = var6_upvw or 1.5
var6_upvw = tbl_upvr_3.UpdateFreq
tbl_upvr_3.UpdateFreq = var6_upvw or 0.022222222222222223
local tbl_upvr = {}
var6_upvw = 0
local Character_upvr = game:GetService("Players").LocalPlayer.Character
if Character_upvr then
local var15_upvr = var6_upvw + 1
var6_upvw += 1
tbl_upvr[var15_upvr] = Character_upvr
local var17_upvw
var17_upvw = Character_upvr.AncestryChanged:Connect(function() -- Line 95
--[[ Upvalues[5]:
[1]: Character_upvr (readonly)
[2]: var17_upvw (read and write)
[3]: tbl_upvr (readonly)
[4]: var15_upvr (readonly)
[5]: var6_upvw (read and write)
]]
if Character_upvr:IsDescendantOf(game) then
else
var17_upvw:Disconnect()
tbl_upvr[var15_upvr] = tbl_upvr[var6_upvw]
tbl_upvr[var6_upvw] = nil
var6_upvw -= 1
end
end)
end
var15_upvr = workspace
Character_upvr = var15_upvr.game
local var18_upvr = Character_upvr
if var18_upvr then
var15_upvr = var6_upvw + 1
local var19_upvr = var15_upvr
var6_upvw += 1
tbl_upvr[var19_upvr] = var18_upvr
local var21_upvw
var21_upvw = var18_upvr.AncestryChanged:Connect(function() -- Line 95
--[[ Upvalues[5]:
[1]: var18_upvr (readonly)
[2]: var21_upvw (read and write)
[3]: tbl_upvr (readonly)
[4]: var19_upvr (readonly)
[5]: var6_upvw (read and write)
]]
if var18_upvr:IsDescendantOf(game) then
else
var21_upvw:Disconnect()
tbl_upvr[var19_upvr] = tbl_upvr[var6_upvw]
tbl_upvr[var6_upvw] = nil
var6_upvw -= 1
end
end)
end
var19_upvr = workspace
var18_upvr = var19_upvr.pitch
local var22_upvr = var18_upvr
if var22_upvr then
var19_upvr = var6_upvw + 1
local var23_upvr = var19_upvr
var6_upvw += 1
tbl_upvr[var23_upvr] = var22_upvr
local var25_upvw
var25_upvw = var22_upvr.AncestryChanged:Connect(function() -- Line 95
--[[ Upvalues[5]:
[1]: var22_upvr (readonly)
[2]: var25_upvw (read and write)
[3]: tbl_upvr (readonly)
[4]: var23_upvr (readonly)
[5]: var6_upvw (read and write)
]]
if var22_upvr:IsDescendantOf(game) then
else
var25_upvw:Disconnect()
tbl_upvr[var23_upvr] = tbl_upvr[var6_upvw]
tbl_upvr[var6_upvw] = nil
var6_upvw -= 1
end
end)
end
var22_upvr = game:GetService("Players").LocalPlayer.CharacterAdded:Connect
var22_upvr(function(arg1) -- Line 88, Named "addToIgnore"
--[[ Upvalues[2]:
[1]: var6_upvw (read and write)
[2]: tbl_upvr (readonly)
]]
if arg1 then
local var11_upvr = var6_upvw + 1
var6_upvw += 1
tbl_upvr[var11_upvr] = arg1
local var13_upvw
var13_upvw = arg1.AncestryChanged:Connect(function() -- Line 95
--[[ Upvalues[5]:
[1]: arg1 (readonly)
[2]: var13_upvw (read and write)
[3]: tbl_upvr (copied, readonly)
[4]: var11_upvr (readonly)
[5]: var6_upvw (copied, read and write)
]]
if arg1:IsDescendantOf(game) then
else
var13_upvw:Disconnect()
tbl_upvr[var11_upvr] = tbl_upvr[var6_upvw]
tbl_upvr[var6_upvw] = nil
var6_upvw -= 1
end
end)
end
end)
var22_upvr = Instance.new
var23_upvr = "Folder"
var22_upvr = var22_upvr(var23_upvr)
local var26_upvr = var22_upvr
var23_upvr = "ScreenDroplets"
var26_upvr.Name = var23_upvr
var26_upvr.Parent = CurrentCamera_upvr
if var26_upvr then
var23_upvr = var6_upvw + 1
local var27_upvr = var23_upvr
var6_upvw += 1
tbl_upvr[var27_upvr] = var26_upvr
local var29_upvw
var29_upvw = var26_upvr.AncestryChanged:Connect(function() -- Line 95
--[[ Upvalues[5]:
[1]: var26_upvr (readonly)
[2]: var29_upvw (read and write)
[3]: tbl_upvr (readonly)
[4]: var27_upvr (readonly)
[5]: var6_upvw (read and write)
]]
if var26_upvr:IsDescendantOf(game) then
else
var29_upvw:Disconnect()
tbl_upvr[var27_upvr] = tbl_upvr[var6_upvw]
tbl_upvr[var6_upvw] = nil
var6_upvw -= 1
end
end)
end
var27_upvr = {}
local var30_upvr = var27_upvr
local tbl_upvr_2 = {}
local CFrame_upvw = CurrentCamera_upvr.CFrame
local var34_upvw = tbl_upvr_3.Rate * tbl_upvr_3.Fade * 3
game:GetService("RunService"):BindToRenderStep("ScreenRainUpdate", Enum.RenderPriority.Camera.Value + 1, function() -- Line 127
--[[ Upvalues[4]:
[1]: CFrame_upvw (read and write)
[2]: CurrentCamera_upvr (readonly)
[3]: var34_upvw (read and write)
[4]: tbl_upvr_2 (readonly)
]]
CFrame_upvw = CurrentCamera_upvr.CFrame
local table_create_result1_2 = table.create(var34_upvw)
local table_create_result1 = table.create(var34_upvw)
local var41 = 0
for i, v in pairs(tbl_upvr_2) do
var41 += 1
table_create_result1[var41] = CFrame_upvw * v
table_create_result1_2[var41] = i
end
var34_upvw = var41
workspace:BulkMoveTo(table_create_result1_2, table_create_result1, Enum.BulkMoveMode.FireCFrameChanged)
end)
local Part = Instance.new("Part")
Part.Name = "Droplet"
Part.Material = Enum.Material.Glass
Part.CastShadow = false
Part.CanCollide = false
Part.CanQuery = false
Part.CanTouch = false
Part.Anchored = true
Part.Transparency = 0.5
Part.Color = tbl_upvr_3.Tint
Part.Size = Vector3.new(1, 1, 1)
local SpecialMesh = Instance.new("SpecialMesh")
SpecialMesh.Name = "Mesh"
SpecialMesh.MeshType = Enum.MeshType.Sphere
SpecialMesh.Parent = Part
local any_new_result1_upvw = require(script.ObjectPool).new(Part, tbl_upvr_3.Rate * tbl_upvr_3.Fade * 3)
local function _(arg1) -- Line 167, Named "Cleanup"
--[[ Upvalues[3]:
[1]: var30_upvr (readonly)
[2]: tbl_upvr_2 (readonly)
[3]: any_new_result1_upvw (read and write)
]]
var30_upvr[arg1] = nil
tbl_upvr_2[arg1] = nil
any_new_result1_upvw:Return(arg1)
end
local function UnderObject_upvr(arg1, arg2) -- Line 174, Named "UnderObject"
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: UnderObject_upvr (readonly)
]]
local var48 = arg2 or 120
local workspace_FindPartOnRayWithIgnoreList_result1, workspace_FindPartOnRayWithIgnoreList_result2_2 = workspace:FindPartOnRayWithIgnoreList(Ray.new(arg1, Vector3.new(0, 1, 0) * var48), tbl_upvr)
if workspace_FindPartOnRayWithIgnoreList_result1 then
if workspace_FindPartOnRayWithIgnoreList_result1.Transparency ~= 1 then
return true
end
return UnderObject_upvr(workspace_FindPartOnRayWithIgnoreList_result2_2 + Vector3.new(0, 1, 0), var48 - (arg1 - workspace_FindPartOnRayWithIgnoreList_result2_2).Magnitude)
end
return false
end
local function CreateDroplet_upvr() -- Line 186, Named "CreateDroplet"
--[[ Upvalues[5]:
[1]: tbl_upvr_3 (readonly)
[2]: any_new_result1_upvw (read and write)
[3]: tbl_upvr_2 (readonly)
[4]: var30_upvr (readonly)
[5]: var26_upvr (readonly)
]]
local var53 = tbl_upvr_3.Size + math.random(tbl_upvr_3.Size / 3 * -10, tbl_upvr_3.Size / 3 * 10) / 10
local any_Get_result1_2 = any_new_result1_upvw:Get()
any_Get_result1_2.Mesh.Scale = Vector3.new(var53, var53, var53)
any_Get_result1_2.Mesh.Offset = Vector3.new(0, 0, 0)
any_Get_result1_2.Color = tbl_upvr_3.Tint
any_Get_result1_2.Transparency = 0.7
local cframe = CFrame.new(math.random(-120, 120) / 100, math.random(-100, 100) / 100, -1)
tbl_upvr_2[any_Get_result1_2] = cframe
var30_upvr[any_Get_result1_2] = {
startClock = os.clock();
scale = var53;
stretch = math.random(5, 10) / 10 * var53;
mesh = any_Get_result1_2.Mesh;
}
any_Get_result1_2.Parent = var26_upvr
for _ = 1, math.random(4) do
local var57 = var53 / 1.5 + math.random(var53 / 3 * -100, var53 / 3 * 100) / 100
local any_Get_result1 = any_new_result1_upvw:Get()
any_Get_result1.Mesh.Scale = Vector3.new(var57, var57, var57)
any_Get_result1.Mesh.Offset = Vector3.new(0, 0, 0)
any_Get_result1.Color = tbl_upvr_3.Tint
any_Get_result1.Transparency = 0.7
local var59 = var57 * 60
tbl_upvr_2[any_Get_result1] = cframe * CFrame.new(math.random(-var59, var59) / 100, math.random(-var59, var59) / 100, 0)
var30_upvr[any_Get_result1] = {
startClock = os.clock();
scale = var57;
stretch = math.random(5, 10) / 10 * var57;
mesh = any_Get_result1.Mesh;
}
any_Get_result1.Parent = var26_upvr
end
end
return {
Enabled = false;
_activeUpdater = false;
Enable = function(arg1, arg2) -- Line 237, Named "Enable"
--[[ Upvalues[9]:
[1]: tbl_upvr_3 (readonly)
[2]: var30_upvr (readonly)
[3]: tbl_upvr_2 (readonly)
[4]: any_new_result1_upvw (read and write)
[5]: UserSettings_result1_upvw (read and write)
[6]: CFrame_upvw (read and write)
[7]: tbl_upvr (readonly)
[8]: UnderObject_upvr (readonly)
[9]: CreateDroplet_upvr (readonly)
]]
arg1.Enabled = true
arg1:Configure(arg2)
if arg1._activeUpdater then
else
arg1._activeUpdater = true
local var63_upvw = 0
task.defer(function() -- Line 248
--[[ Upvalues[11]:
[1]: tbl_upvr_3 (copied, readonly)
[2]: arg1 (readonly)
[3]: var30_upvr (copied, readonly)
[4]: tbl_upvr_2 (copied, readonly)
[5]: any_new_result1_upvw (copied, read and write)
[6]: UserSettings_result1_upvw (copied, read and write)
[7]: CFrame_upvw (copied, read and write)
[8]: tbl_upvr (copied, readonly)
[9]: UnderObject_upvr (copied, readonly)
[10]: var63_upvw (read and write)
[11]: CreateDroplet_upvr (copied, readonly)
]]
if not task.wait(tbl_upvr_3.UpdateFreq) then
-- KONSTANTWARNING: GOTO [195] #154
end
if not arg1.Enabled and not next(var30_upvr) then
arg1._activeUpdater = false
return
end
debug.profilebegin("ScreenRainUpdate")
debug.profilebegin("Animations")
for i_4, v_3 in pairs(var30_upvr) do
local var93 = os.clock() - v_3.startClock
if tbl_upvr_3.Fade <= var93 then
var30_upvr[i_4] = nil
tbl_upvr_2[i_4] = nil
any_new_result1_upvw:Return(i_4)
else
local mesh = v_3.mesh
local scale = v_3.scale
local var96 = var93 / tbl_upvr_3.Fade
local var97 = scale + (v_3.stretch) * (var96 * var96 * var96 * var96)
i_4.Transparency = 0.7 + (0.3) * (var96 * var96)
mesh.Scale = Vector3.new(scale, var97, scale)
mesh.Offset = Vector3.new(0, var97 / -2, 0)
end
end
debug.profileend()
debug.profilebegin("Droplet Creation")
if arg1.Enabled and UserSettings_result1_upvw then
local Y = CFrame_upvw.LookVector.Y
if -0.7 < Y then
local Position_2 = CFrame_upvw.Position
local var100 = nil or 120
i_4 = workspace:FindPartOnRayWithIgnoreList(Ray.new(Position_2, Vector3.new(0, 1, 0) * var100), tbl_upvr)
local workspace_FindPartOnRayWithIgnoreList_result1_2, workspace_FindPartOnRayWithIgnoreList_result2 = workspace:FindPartOnRayWithIgnoreList(Ray.new(Position_2, Vector3.new(0, 1, 0) * var100), tbl_upvr)
if workspace_FindPartOnRayWithIgnoreList_result1_2 then
if workspace_FindPartOnRayWithIgnoreList_result1_2.Transparency ~= 1 then
Y = true
else
Y = UnderObject_upvr(workspace_FindPartOnRayWithIgnoreList_result2 + Vector3.new(0, 1, 0), var100 - (Position_2 - workspace_FindPartOnRayWithIgnoreList_result2).Magnitude)
end
else
Y = false
end
if not Y then
Y = var63_upvw
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
workspace_FindPartOnRayWithIgnoreList_result2 = tbl_upvr_3
workspace_FindPartOnRayWithIgnoreList_result1_2 = workspace_FindPartOnRayWithIgnoreList_result2.Rate
Y += (os.clock() - os.clock()) * workspace_FindPartOnRayWithIgnoreList_result1_2
var63_upvw = Y
workspace_FindPartOnRayWithIgnoreList_result2 = var63_upvw
workspace_FindPartOnRayWithIgnoreList_result1_2 = math.floor(workspace_FindPartOnRayWithIgnoreList_result2)
Y = workspace_FindPartOnRayWithIgnoreList_result1_2
for _ = 1, Y do
workspace_FindPartOnRayWithIgnoreList_result1_2 = CreateDroplet_upvr
workspace_FindPartOnRayWithIgnoreList_result1_2()
end
Y = var63_upvw
Y %= 1
var63_upvw = Y
else
var63_upvw %= 1
end
debug.profileend()
debug.profileend()
-- KONSTANTWARNING: GOTO [3] #3
end
-- KONSTANTWARNING: GOTO [184] #145
end
end)
end
end;
Disable = function(arg1) -- Line 301, Named "Disable"
arg1.Enabled = false
end;
Configure = function(arg1, arg2) -- Line 305, Named "Configure"
--[[ Upvalues[1]:
[1]: tbl_upvr_3 (readonly)
]]
if type(arg2) == "table" then
for i_3, v_2 in pairs(arg2) do
tbl_upvr_3[i_3] = v_2
end
end
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:22
-- Luau version 6, Types version 3
-- Time taken: 0.002006 seconds
local module = {}
local cframe_upvr = CFrame.new(0, 0, 1000000)
function module.new(arg1, arg2) -- Line 9
--[[ Upvalues[1]:
[1]: cframe_upvr (readonly)
]]
local module_2_upvr = {
Object = arg1:Clone();
Available = {};
}
for i = 1, arg2 or 1 do
module_2_upvr.Available[i] = module_2_upvr.Object:Clone()
end
function module_2_upvr.Get(arg1_2) -- Line 19
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
local len = #module_2_upvr.Available
local var7 = module_2_upvr.Available[len]
if var7 then
table.remove(module_2_upvr.Available, len)
return var7
end
return module_2_upvr.Object:Clone()
end
function module_2_upvr.Return(arg1_3, arg2_2) -- Line 30
--[[ Upvalues[2]:
[1]: cframe_upvr (copied, readonly)
[2]: module_2_upvr (readonly)
]]
arg2_2.CFrame = cframe_upvr
table.insert(module_2_upvr.Available, arg2_2)
end
return module_2_upvr
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:24
-- Luau version 6, Types version 3
-- Time taken: 0.002813 seconds
local engine = require(game:GetService("ReplicatedStorage").engine)
local module_upvr = {
Maid = engine:load("Maid").new();
Enabled = false;
MaxLength = 900000;
Offset = {
Enabled = CFrame.new(1.7, 0, 0);
Disabled = CFrame.new(-1.7, 0, 0);
};
Icons = {
Enabled = "rbxasset://textures/ui/
[email protected]";
Disabled = "rbxasset://textures/ui/
[email protected]";
};
}
local Services_upvr = engine.Services
local References_upvr = engine.References
function module_upvr.Start(arg1, arg2) -- Line 21
--[[ Upvalues[3]:
[1]: module_upvr (readonly)
[2]: Services_upvr (readonly)
[3]: References_upvr (readonly)
]]
if arg2 then
module_upvr.Maid.RenderStepped = Services_upvr.RunService.RenderStepped:Connect(function() -- Line 23
--[[ Upvalues[2]:
[1]: References_upvr (copied, readonly)
[2]: module_upvr (copied, readonly)
]]
if References_upvr.LocalPlayer.Character.Humanoid.AutoRotate then
References_upvr.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(References_upvr.LocalPlayer.Character.HumanoidRootPart.Position, Vector3.new(workspace.CurrentCamera.CFrame.LookVector.X * module_upvr.MaxLength, References_upvr.LocalPlayer.Character.HumanoidRootPart.Position.Y, workspace.CurrentCamera.CFrame.LookVector.Z * module_upvr.MaxLength))
end
workspace.CurrentCamera.CFrame = workspace.CurrentCamera.CFrame * module_upvr.Offset.Enabled
end)
else
module_upvr.Maid:DoCleaning()
end
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:25
-- Luau version 6, Types version 3
-- Time taken: 0.006980 seconds
local Players = game:GetService("Players")
local module_upvr = {
OnAdded = {};
}
local tbl_upvr_2 = {}
local tbl_upvr = {}
local function remove_upvr(arg1) -- Line 14, Named "remove"
--[[ Upvalues[1]:
[1]: tbl_upvr (readonly)
]]
if not tbl_upvr[arg1] then
else
pcall(tbl_upvr[arg1]._BillboardGui.Destroy, tbl_upvr[arg1]._BillboardGui)
tbl_upvr[arg1] = nil
end
end
local OverheadGui_upvr = require(script.OverheadGui)
function module_upvr.Add(arg1, arg2, arg3) -- Line 20
--[[ Upvalues[3]:
[1]: OverheadGui_upvr (readonly)
[2]: tbl_upvr (readonly)
[3]: tbl_upvr_2 (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local SOME = _G._references.Profiles:WaitForChild(tostring(arg3), 100)
local any_new_result1 = OverheadGui_upvr.new(arg1, arg2)
local var20
if SOME then
local function INLINED() -- Internal function, doesn't exist in bytecode
var20 = string.format("[%s] %s", tostring(SOME.level.Level.Value), any_new_result1.Player.Name)
return var20
end
if not any_new_result1.Player or not INLINED() then
var20 = string.format("[%s] %s", tostring(SOME.level.Level.Value), arg1.Name)
end
any_new_result1:AddTag("Username", var20)
else
local function INLINED_2() -- Internal function, doesn't exist in bytecode
var20 = any_new_result1.Player.Name
return var20
end
if not any_new_result1.Player or not INLINED_2() then
var20 = arg1.Name
end
any_new_result1:AddTag("Username", var20)
end
any_new_result1._BillboardGui.Destroying:Connect(function() -- Line 30
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: tbl_upvr (copied, readonly)
]]
local var22 = arg1
if not tbl_upvr[var22] then
else
pcall(tbl_upvr[var22]._BillboardGui.Destroy, tbl_upvr[var22]._BillboardGui)
tbl_upvr[var22] = nil
end
end)
tbl_upvr[arg1] = any_new_result1
for _, v in tbl_upvr_2 do
task.spawn(v, any_new_result1)
end
return any_new_result1
end
function module_upvr.Get(arg1) -- Line 36
--[[ Upvalues[1]:
[1]: tbl_upvr (readonly)
]]
return tbl_upvr[arg1]
end
module_upvr.OnAdded.Connect = function(arg1, arg2, arg3) -- Line 40, Named "Connect"
--[[ Upvalues[2]:
[1]: tbl_upvr_2 (readonly)
[2]: tbl_upvr (readonly)
]]
local module = {
Disconnect = function(arg1_2) -- Line 41, Named "Disconnect"
--[[ Upvalues[1]:
[1]: tbl_upvr_2 (copied, readonly)
]]
tbl_upvr_2[arg1_2] = nil
end;
}
tbl_upvr_2[module] = arg2
if not arg3 then
for _, v_2 in tbl_upvr do
task.spawn(arg2, v_2)
end
end
return module
end
local function onCharacterAdded_upvr(arg1, arg2) -- Line 49, Named "onCharacterAdded"
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if arg1:FindFirstChild("Head") then
module_upvr.Add(arg1, arg1.Head, arg2)
else
local var27_upvw
var27_upvw = arg1.ChildAdded:Connect(function(arg1_3) -- Line 52
--[[ Upvalues[4]:
[1]: var27_upvw (read and write)
[2]: module_upvr (copied, readonly)
[3]: arg1 (readonly)
[4]: arg2 (readonly)
]]
if arg1_3.Name ~= "Head" then
else
var27_upvw:Disconnect()
module_upvr.Add(arg1, arg1_3, arg2)
end
end)
end
end
local function onPlayerAdded(arg1) -- Line 60
--[[ Upvalues[2]:
[1]: onCharacterAdded_upvr (readonly)
[2]: remove_upvr (readonly)
]]
if arg1:FindFirstChildWhichIsA("PlayerGui") then
script.DefaultOverheads:Clone().Parent = arg1.PlayerGui
else
local var29_upvw
var29_upvw = arg1.ChildAdded:Connect(function(arg1_4) -- Line 63
--[[ Upvalues[1]:
[1]: var29_upvw (read and write)
]]
if not arg1_4:IsA("PlayerGui") then
else
var29_upvw:Disconnect()
script.DefaultOverheads:Clone().Parent = arg1_4
end
end)
end
arg1.CharacterAdded:Connect(function(arg1_5) -- Line 69
--[[ Upvalues[2]:
[1]: onCharacterAdded_upvr (copied, readonly)
[2]: arg1 (readonly)
]]
onCharacterAdded_upvr(arg1.Character, arg1.UserId)
end)
arg1.CharacterRemoving:Connect(remove_upvr)
if arg1.Character then
onCharacterAdded_upvr(arg1.Character, arg1.UserId)
end
end
Players.PlayerAdded:Connect(onPlayerAdded)
for _, v_3 in Players:GetPlayers() do
task.spawn(onPlayerAdded, v_3)
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:26
-- Luau version 6, Types version 3
-- Time taken: 0.004920 seconds
local module_2_upvr = {}
module_2_upvr.__index = module_2_upvr
local Players_upvr = game:GetService("Players")
function module_2_upvr.new(arg1, arg2) -- Line 10
--[[ Upvalues[2]:
[1]: Players_upvr (readonly)
[2]: module_2_upvr (readonly)
]]
local clone = script.BillboardGui:Clone()
local any_GetPlayerFromCharacter_result1 = Players_upvr:GetPlayerFromCharacter(arg1)
clone.Adornee = arg2
clone.PlayerToHideFrom = any_GetPlayerFromCharacter_result1
clone.Parent = arg1
local module = {}
module.Character = arg1
module.Player = any_GetPlayerFromCharacter_result1
module._BillboardGui = clone
module._Container = clone.Container
module._tags = {}
return setmetatable(module, module_2_upvr)
end
function module_2_upvr._reorderTags(arg1) -- Line 23
for i, v in ipairs(arg1._tags) do
v.LayoutOrder = -i
end
end
function module_2_upvr._onTagDestroying(arg1, arg2) -- Line 27
local table_find_result1 = table.find(arg1._tags, arg2)
if table_find_result1 then
table.remove(arg1._tags, table_find_result1)
arg1:_reorderTags()
end
end
function module_2_upvr.AddTag(arg1, arg2, arg3, arg4) -- Line 32
local any_GetTag_result1, _ = arg1:GetTag(arg2)
if any_GetTag_result1 then
local table_find_result1_2 = table.find(arg1._tags, any_GetTag_result1)
table.remove(arg1._tags, table_find_result1_2)
any_GetTag_result1:Destroy()
end
local clone_2_upvw = script.TextLabel:Clone()
clone_2_upvw.Name = arg2
clone_2_upvw.Text = arg3
local function var22() -- Line 41
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: clone_2_upvw (read and write)
]]
arg1:_onTagDestroying(clone_2_upvw)
end
clone_2_upvw.Destroying:Connect(var22)
clone_2_upvw.Parent = arg1._Container
var22 = arg4
local var23 = var22
if not var23 then
var23 = table_find_result1_2
if not var23 then
var23 = #arg1._tags + 1
end
end
table.insert(arg1._tags, var23, clone_2_upvw)
arg1:_reorderTags()
return clone_2_upvw
end
function module_2_upvr.GetTag(arg1, arg2) -- Line 48
for _, v_2 in arg1._tags do
if v_2.Name == arg2 then
return v_2
end
end
end
return module_2_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:28
-- Luau version 6, Types version 3
-- Time taken: 0.002793 seconds
local module_upvr = require(script.Parent:WaitForChild("ModuleScript"))
local LocalPlayer_upvr = game:GetService("Players").LocalPlayer
local function getViewerPosition_upvr() -- Line 4, Named "getViewerPosition"
--[[ Upvalues[1]:
[1]: LocalPlayer_upvr (readonly)
]]
return LocalPlayer_upvr.Character.Head.Position
end
game:GetService("RunService").Heartbeat:Connect(function() -- Line 8
--[[ Upvalues[2]:
[1]: getViewerPosition_upvr (readonly)
[2]: module_upvr (readonly)
]]
local pcall_result1, pcall_result2 = pcall(getViewerPosition_upvr)
module_upvr.UpdateAll(pcall_result1 and pcall_result2)
end)
local function onCharacterAdded(arg1) -- Line 18
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if arg1:FindFirstChildWhichIsA("Humanoid") then
module_upvr.SetDisplayDistance(arg1.Humanoid.NameDisplayDistance)
arg1.Humanoid.NameDisplayDistance = 0
else
local var7_upvw
var7_upvw = arg1.ChildAdded:Connect(function(arg1_2) -- Line 23
--[[ Upvalues[3]:
[1]: var7_upvw (read and write)
[2]: module_upvr (copied, readonly)
[3]: arg1 (readonly)
]]
if not arg1_2:IsA("Humanoid") then
else
var7_upvw:Disconnect()
module_upvr.SetDisplayDistance(arg1.Humanoid.NameDisplayDistance)
arg1.Humanoid.NameDisplayDistance = 0
end
end)
end
end
LocalPlayer_upvr.CharacterAdded:Connect(onCharacterAdded)
if LocalPlayer_upvr.Character then
onCharacterAdded(LocalPlayer_upvr.Character)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:29
-- Luau version 6, Types version 3
-- Time taken: 0.009599 seconds
local CollectionService = game:GetService("CollectionService")
local module_upvr_2 = {
OnAdded = {};
}
local tbl_upvr_2 = {}
local tbl_upvr = {}
local NameDisplayDistance_upvw = game:GetService("StarterPlayer").NameDisplayDistance
local RaycastParams_new_result1_upvr = RaycastParams.new()
RaycastParams_new_result1_upvr.FilterType = Enum.RaycastFilterType.Exclude
local module_upvr = require(script:WaitForChild("OverheadGui"))
local function add_upvr(arg1, arg2, arg3, arg4) -- Line 20, Named "add"
--[[ Upvalues[4]:
[1]: module_upvr (readonly)
[2]: module_upvr_2 (readonly)
[3]: tbl_upvr_2 (readonly)
[4]: tbl_upvr (readonly)
]]
local any_new_result1 = module_upvr.new(arg1, arg2, arg3, arg4)
module_upvr_2.AddToFilter({any_new_result1.Character})
tbl_upvr_2[any_new_result1.Character] = any_new_result1
for _, v in tbl_upvr do
task.spawn(v, any_new_result1)
end
end
function module_upvr_2.AddToFilter(arg1) -- Line 27
--[[ Upvalues[1]:
[1]: RaycastParams_new_result1_upvr (readonly)
]]
local FilterDescendantsInstances_2 = RaycastParams_new_result1_upvr.FilterDescendantsInstances
for _, v_2 in arg1 do
if not table.find(FilterDescendantsInstances_2, v_2) then
table.insert(FilterDescendantsInstances_2, v_2)
end
end
RaycastParams_new_result1_upvr.FilterDescendantsInstances = FilterDescendantsInstances_2
end
function module_upvr_2.RemoveFromFilter(arg1) -- Line 33
--[[ Upvalues[1]:
[1]: RaycastParams_new_result1_upvr (readonly)
]]
local FilterDescendantsInstances = RaycastParams_new_result1_upvr.FilterDescendantsInstances
for _, v_3 in arg1 do
local table_find_result1 = table.find(FilterDescendantsInstances, v_3)
if table_find_result1 then
table.remove(FilterDescendantsInstances, table_find_result1)
end
end
RaycastParams_new_result1_upvr.FilterDescendantsInstances = FilterDescendantsInstances
end
function module_upvr_2.SetDisplayDistance(arg1) -- Line 39
--[[ Upvalues[1]:
[1]: NameDisplayDistance_upvw (read and write)
]]
NameDisplayDistance_upvw = math.max(0, arg1)
end
function module_upvr_2.Get(arg1) -- Line 43
--[[ Upvalues[1]:
[1]: tbl_upvr_2 (readonly)
]]
return tbl_upvr_2[arg1]
end
module_upvr_2.OnAdded.Connect = function(arg1, arg2, arg3) -- Line 47, Named "Connect"
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: tbl_upvr_2 (readonly)
]]
local module = {
Disconnect = function(arg1_2) -- Line 48, Named "Disconnect"
--[[ Upvalues[1]:
[1]: tbl_upvr (copied, readonly)
]]
tbl_upvr[arg1_2] = nil
end;
}
tbl_upvr[module] = arg2
if not arg3 then
for _, v_4 in tbl_upvr_2 do
task.spawn(arg2, v_4)
end
end
return module
end
local Camera_upvr = workspace:WaitForChild("Camera")
local function onBillboardGuiAdded(arg1) -- Line 54, Named "UpdateAll"
--[[ Upvalues[4]:
[1]: Camera_upvr (readonly)
[2]: tbl_upvr_2 (readonly)
[3]: NameDisplayDistance_upvw (read and write)
[4]: RaycastParams_new_result1_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 30 start (CF ANALYSIS FAILED)
if not arg1 or not arg1 then
end
-- KONSTANTERROR: [0] 1. Error Block 30 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [86] 66. Error Block 23 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [86] 66. Error Block 23 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [19] 16. Error Block 6 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [86.8]
-- KONSTANTERROR: [19] 16. Error Block 6 end (CF ANALYSIS FAILED)
end
module_upvr_2.UpdateAll = onBillboardGuiAdded
function onBillboardGuiAdded(arg1) -- Line 73
--[[ Upvalues[3]:
[1]: tbl_upvr_2 (readonly)
[2]: module_upvr_2 (readonly)
[3]: add_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local Container_upvw = arg1:FindFirstChild("Container")
local var31_upvw
if var31_upvw then
var31_upvw = Container_upvw:FindFirstChildWhichIsA("UIScale")
end
if Container_upvw then
end
arg1.Destroying:Connect(function() -- Line 76
--[[ Upvalues[3]:
[1]: tbl_upvr_2 (copied, readonly)
[2]: arg1 (readonly)
[3]: module_upvr_2 (copied, readonly)
]]
for _, v_5 in tbl_upvr_2 do
if v_5._BillboardGui == arg1 then
module_upvr_2.RemoveFromFilter({v_5.Character})
tbl_upvr_2[v_5.Character] = nil
return
end
end
end)
if Container_upvw and var31_upvw and Container_upvw:FindFirstChildWhichIsA("UIListLayout") then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
add_upvr(arg1, Container_upvw, var31_upvw, Container_upvw:FindFirstChildWhichIsA("UIListLayout"))
else
local class_UIListLayout_upvw = Container_upvw:FindFirstChildWhichIsA("UIListLayout")
local var38_upvw
var38_upvw = arg1.DescendantAdded:Connect(function(arg1_3) -- Line 85
--[[ Upvalues[6]:
[1]: arg1 (readonly)
[2]: Container_upvw (read and write)
[3]: var31_upvw (read and write)
[4]: class_UIListLayout_upvw (read and write)
[5]: var38_upvw (read and write)
[6]: add_upvr (copied, readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 22 start (CF ANALYSIS FAILED)
if arg1_3.Parent == arg1 and arg1_3.Name == "Container" then
Container_upvw = arg1_3
-- KONSTANTWARNING: GOTO [24] #19
end
-- KONSTANTERROR: [0] 1. Error Block 22 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [11] 8. Error Block 23 start (CF ANALYSIS FAILED)
if arg1_3:IsA("UIScale") then
var31_upvw = arg1_3
elseif arg1_3:IsA("UIListLayout") then
class_UIListLayout_upvw = arg1_3
end
if not Container_upvw or not var31_upvw or not class_UIListLayout_upvw then
else
var38_upvw:Disconnect()
add_upvr(arg1, Container_upvw, var31_upvw, class_UIListLayout_upvw)
-- KONSTANTERROR: [11] 8. Error Block 23 end (CF ANALYSIS FAILED)
end
end)
end
end
local var29 = onBillboardGuiAdded
CollectionService:GetInstanceAddedSignal("OverheadGui"):Connect(var29)
for _, v_6 in CollectionService:GetTagged("OverheadGui") do
task.spawn(var29, v_6)
end
return module_upvr_2
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:30
-- Luau version 6, Types version 3
-- Time taken: 0.004786 seconds
local module_upvr = {}
module_upvr.__index = module_upvr
local function _(arg1, arg2) -- Line 12, Named "setTagTransparency"
arg1.TextTransparency = arg2
arg1.TextStrokeTransparency = arg2 / 2 + 0.5
end
local Players_upvr = game:GetService("Players")
function module_upvr.new(arg1, arg2, arg3, arg4) -- Line 16
--[[ Upvalues[2]:
[1]: Players_upvr (readonly)
[2]: module_upvr (readonly)
]]
local Parent = arg1.Parent
local tbl_2_upvr = {}
local tbl = {
Character = Parent;
}
local PlayerToHideFrom = arg1.PlayerToHideFrom
if not PlayerToHideFrom then
PlayerToHideFrom = Players_upvr:GetPlayerFromCharacter(Parent)
end
tbl.Player = PlayerToHideFrom
tbl._BillboardGui = arg1
tbl._Container = arg2
tbl._UIScale = arg3
tbl._UIListLayout = arg4
tbl._tags = tbl_2_upvr
tbl._scale = 1
tbl._transparency = 0
tbl._maxDistance = arg1.MaxDistance
local setmetatable_result1_upvr = setmetatable(tbl, module_upvr)
arg2.ChildAdded:Connect(function(arg1_2) -- Line 24, Named "onTagAdded"
--[[ Upvalues[2]:
[1]: setmetatable_result1_upvr (readonly)
[2]: tbl_2_upvr (readonly)
]]
if not arg1_2:IsA("TextLabel") then
else
local _transparency_2 = setmetatable_result1_upvr._transparency
arg1_2.TextTransparency = _transparency_2
arg1_2.TextStrokeTransparency = _transparency_2 / 2 + 0.5
tbl_2_upvr[arg1_2] = true
end
end)
arg2.ChildRemoved:Connect(function(arg1_3) -- Line 30
--[[ Upvalues[1]:
[1]: tbl_2_upvr (readonly)
]]
tbl_2_upvr[arg1_3] = nil
end)
for _, v in arg2:GetChildren() do
if not v:IsA("TextLabel") then
else
local _transparency = setmetatable_result1_upvr._transparency
v.TextTransparency = _transparency
v.TextStrokeTransparency = _transparency / 2 + 0.5
tbl_2_upvr[v] = true
end
end
arg4:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function() -- Line 32
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg4 (readonly)
]]
arg1.Size = UDim2.fromOffset(2, 2 + arg4.AbsoluteContentSize.Y)
end)
arg1.Size = UDim2.fromOffset(2, 2 + arg4.AbsoluteContentSize.Y)
return setmetatable_result1_upvr
end
function module_upvr.Scale(arg1, arg2) -- Line 38
if arg1._scale == arg2 then
else
arg1._scale = arg2
arg1._UIScale.Scale = arg2
end
end
function module_upvr.SetTransparency(arg1, arg2) -- Line 44
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
arg2 = math.clamp(arg2, 0, 1)
local var23 = arg2
if arg1._transparency == var23 then
else
arg1._transparency = var23
for i_3 in arg1._tags do
local var24 = var23
i_3.TextTransparency = var24
i_3.TextStrokeTransparency = var24 / 2 + 0.5
end
end
end
function module_upvr.SetMaxDistance(arg1, arg2) -- Line 51
local maximum = math.max(0, arg2)
if arg1._maxDistance == maximum then
else
arg1._maxDistance = maximum
arg1._BillboardGui.MaxDistance = maximum
end
end
function module_upvr.GetTag(arg1, arg2) -- Line 58
for i_2 in arg1._tags do
if i_2.Name == arg2 then
return i_2
end
end
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:32
-- Luau version 6, Types version 3
-- Time taken: 0.038079 seconds
local module_upvr = {
_ai = _G._engine:load("AI");
_maid = _G._engine:load("Maid").new();
_systems = {
freeKick = _G._engine:load("Freekick");
penalty = _G._engine:load("Penalty");
};
isInBox = function(arg1, arg2, arg3) -- Line 10, Named "isInBox"
local var3 = workspace.game.regions[arg3]
if var3.Position.X - var3.Size.X / 2 <= arg2.X and arg2.X <= var3.Position.X + var3.Size.X / 2 and var3.Position.Y - var3.Size.Y / 2 <= arg2.Y and arg2.Y <= var3.Position.Y + var3.Size.Y / 2 and var3.Position.Z - var3.Size.Z / 2 <= arg2.Z and arg2.Z <= var3.Position.Z + var3.Size.Z / 2 then
return true
end
return false
end;
getClosestBall = function(arg1, arg2) -- Line 20, Named "getClosestBall"
local var10
for _, v in next, workspace.game.balls.server:GetChildren() do
if v and (v.Position - arg2).Magnitude <= math.huge then
end
end
return nil
end;
}
function module_upvr.confirmFoul(arg1, arg2, arg3, arg4, arg5, arg6, arg7) -- Line 34
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 312 start (CF ANALYSIS FAILED)
_G._references.Main.sounds.CammySounds.Atmosphere.Referee.Foul:Play()
local var15
if workspace.game.referee.rigs:FindFirstChild("main") then
task.spawn(function() -- Line 38
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1._ai.referee:animation(workspace.game.referee.rigs.main, "Whistle")
end)
end
local BoolValue_3 = Instance.new("BoolValue")
BoolValue_3.Name = "NoReact"
BoolValue_3.Value = true
BoolValue_3.Parent = _G._references.Main.config.Delay
local BoolValue = Instance.new("BoolValue")
BoolValue.Name = "Break"
BoolValue.Value = true
BoolValue.Parent = _G._references.Main.config.Override
local BoolValue_2 = Instance.new("BoolValue")
BoolValue_2.Name = "RTP"
BoolValue_2.Value = true
BoolValue_2.Parent = module_upvr.Override
var15 = _G
var15._references.Main.config.TimerSpeed.Value = 1
var15 = _G._references
if var15.Main.config.AutoRall.Value then
var15 = workspace
for _, v_2 in next, var15.game.balls.spawns:GetChildren() do
if v_2 then
v_2:Destroy()
end
end
end
_G._references.BindableEvent:Fire("clearSpace")
if arg6 == "home" then
local Fouls = _G._references.Main.config.Stats.Home.Fouls
Fouls.Value += 1
elseif arg6 == "away" then
local Fouls_2 = _G._references.Main.config.Stats.Away.Fouls
Fouls_2.Value += 1
end
local players, NONE_2 = _G._services.Players:GetPlayers()
-- KONSTANTERROR: [0] 1. Error Block 312 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [294] 178. Error Block 30 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [294] 178. Error Block 30 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [207] 121. Error Block 14 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
-- KONSTANTERROR: [207] 121. Error Block 14 end (CF ANALYSIS FAILED)
end
function module_upvr.onFoul(arg1, arg2, arg3, arg4) -- Line 485
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local any_getClosestBall_result1 = arg1:getClosestBall(arg4)
local var35_upvw = 0
local BoolValue_4_upvr = Instance.new("BoolValue")
BoolValue_4_upvr.Name = "DisableFouls"
BoolValue_4_upvr.Value = true
BoolValue_4_upvr.Parent = _G._references.Main.config.Override
local ObjectValue = Instance.new("ObjectValue")
ObjectValue.Name = "Offender"
ObjectValue.Parent = _G._references.Main.config.Override
ObjectValue.Value = arg2
local StringValue_2_upvr = Instance.new("StringValue")
StringValue_2_upvr.Name = "Foul"
StringValue_2_upvr.Parent = _G._references.Main.config.Override
if string.find(string.lower(arg2.Team.Name), "home") then
StringValue_2_upvr.Value = "home"
else
StringValue_2_upvr.Value = "away"
end
local any_isInBox_result1_upvr = arg1:isInBox(arg4, StringValue_2_upvr.Value)
local RemoteEvent = Instance.new("RemoteEvent", StringValue_2_upvr)
RemoteEvent.Name = "Event"
arg1._maid:GiveTask(ObjectValue)
arg1._maid:GiveTask(StringValue_2_upvr)
arg1._maid:GiveTask(RemoteEvent)
if StringValue_2_upvr.Value == "home" and workspace.game.referee.rigs:FindFirstChild("assistant1") and arg4.Z <= 0 then
task.spawn(function() -- Line 519
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1._ai.referee:animation(workspace.game.referee.rigs.assistant1, "FoulRight")
end)
elseif StringValue_2_upvr.Value == "home" and workspace.game.referee.rigs:FindFirstChild("assistant2") and 0 < arg4.Z then
task.spawn(function() -- Line 523
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1._ai.referee:animation(workspace.game.referee.rigs.assistant1, "FoulLeft")
end)
elseif StringValue_2_upvr.Value == "away" and workspace.game.referee.rigs:FindFirstChild("assistant2") and 0 <= arg4.Z then
task.spawn(function() -- Line 527
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1._ai.referee:animation(workspace.game.referee.rigs.assistant2, "FoulRight")
end)
elseif StringValue_2_upvr.Value == "away" and workspace.game.referee.rigs:FindFirstChild("assistant1") and arg4.Z < 0 then
task.spawn(function() -- Line 531
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1._ai.referee:animation(workspace.game.referee.rigs.assistant1, "FoulLeft")
end)
end
if any_isInBox_result1_upvr then
if _G._services.ServerScriptService.modules.system.goal:FindFirstChild("debounce") then
BoolValue_4_upvr:Destroy()
task.spawn(function() -- Line 539
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1._maid:DoCleaning()
end)
return
end
local StringValue = Instance.new("StringValue")
StringValue.Name = "Penalty"
StringValue.Parent = _G._references.Main.config.Override
if string.find(string.lower(arg2.Team.Name), "home") then
StringValue.Value = "home"
else
StringValue.Value = "away"
end
_G._references.Main.sounds.CammySounds.Atmosphere.Ambience.Foul["Foul 1"]:Play()
_G._references.RemoteEvent:FireAllClients("advantageStart")
task.wait(1)
_G._references.RemoteEvent:FireAllClients("advantageEnd")
if _G._services.ServerScriptService.modules.system.goal:FindFirstChild("debounce") or not arg2 or not arg3 or arg2 and not arg2.Parent or arg3 and not arg3.Parent then
BoolValue_4_upvr:Destroy()
StringValue:Destroy()
task.spawn(function() -- Line 563
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1._maid:DoCleaning()
end)
return
end
arg1:confirmFoul(arg2, arg3, arg4, any_isInBox_result1_upvr, StringValue_2_upvr.Value, StringValue)
arg1._maid:DoCleaning()
local var48
else
if any_getClosestBall_result1 and any_getClosestBall_result1:GetAttribute("lastTouch") then
for _, v_3 in next, _G._services.Players:GetPlayers() do
if v_3 and v_3.UserId == any_getClosestBall_result1:GetAttribute("lastTouch") then
if string.find(v_3.Team.Name, "Home") then
local var51_upvw = nil
elseif string.find(v_3.Team.Name, "Away") then
var51_upvw = "away"
end
end
end
end
if workspace.game.referee.rigs:FindFirstChild("main") then
task.spawn(function() -- Line 585
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1._ai.referee:animation(workspace.game.referee.rigs.main, "Advantage")
end)
end
_G._references.RemoteEvent:FireAllClients("advantageStart")
task.delay(1, function() -- Line 592
--[[ Upvalues[8]:
[1]: arg1 (readonly)
[2]: var51_upvw (read and write)
[3]: StringValue_2_upvr (readonly)
[4]: arg2 (readonly)
[5]: arg3 (readonly)
[6]: BoolValue_4_upvr (readonly)
[7]: arg4 (readonly)
[8]: any_isInBox_result1_upvr (readonly)
]]
if arg1._maid._onDestroying then
if var51_upvw == "home" and StringValue_2_upvr.Value == "home" or var51_upvw == "away" and StringValue_2_upvr.Value == "away" then
if not arg2 or not arg3 or arg2 and not arg2.Parent or arg3 and not arg3.Parent then
BoolValue_4_upvr:Destroy()
task.spawn(function() -- Line 597
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1._maid:DoCleaning()
end)
end
_G._references.RemoteEvent:FireAllClients("advantageEnd")
task.spawn(function() -- Line 603
--[[ Upvalues[6]:
[1]: arg1 (copied, readonly)
[2]: arg2 (copied, readonly)
[3]: arg3 (copied, readonly)
[4]: arg4 (copied, readonly)
[5]: any_isInBox_result1_upvr (copied, readonly)
[6]: StringValue_2_upvr (copied, readonly)
]]
arg1:confirmFoul(arg2, arg3, arg4, any_isInBox_result1_upvr, StringValue_2_upvr.Value)
end)
arg1._maid:DoCleaning()
end
end
end)
arg1._maid._onLeaving = _G._services.Players.PlayerRemoving:Connect(function(arg1_2) -- Line 611
--[[ Upvalues[4]:
[1]: arg2 (readonly)
[2]: arg3 (readonly)
[3]: BoolValue_4_upvr (readonly)
[4]: arg1 (readonly)
]]
if arg1_2 == arg2 or arg1_2 == arg3 then
BoolValue_4_upvr:Destroy()
task.spawn(function() -- Line 614
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1._maid:DoCleaning()
end)
_G._references.RemoteEvent:FireAllClients("advantageEnd")
end
end)
arg1._maid._onDestroying = StringValue_2_upvr.Destroying:Connect(function() -- Line 621
--[[ Upvalues[2]:
[1]: BoolValue_4_upvr (readonly)
[2]: arg1 (readonly)
]]
BoolValue_4_upvr:Destroy()
task.spawn(function() -- Line 623
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1._maid:DoCleaning()
end)
end)
arg1._maid._onServerEvent = RemoteEvent.OnServerEvent:Connect(function(arg1_3) -- Line 628
--[[ Upvalues[8]:
[1]: StringValue_2_upvr (readonly)
[2]: var35_upvw (read and write)
[3]: arg2 (readonly)
[4]: arg3 (readonly)
[5]: BoolValue_4_upvr (readonly)
[6]: arg1 (readonly)
[7]: arg4 (readonly)
[8]: any_isInBox_result1_upvr (readonly)
]]
if string.find(arg1_3.Team.Name, "Home") and StringValue_2_upvr.Value == "away" or string.find(arg1_3.Team.Name, "Away") and StringValue_2_upvr.Value == "home" then
var35_upvw += 1
end
if not arg2 or not arg3 or arg2 and not arg2.Parent or arg3 and not arg3.Parent then
BoolValue_4_upvr:Destroy()
task.spawn(function() -- Line 635
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1._maid:DoCleaning()
end)
end
if arg1_3 then
if string.find(arg1_3.Team.Name, "Home") and StringValue_2_upvr.Value == "home" or string.find(arg1_3.Team.Name, "Away") and StringValue_2_upvr.Value == "away" then
_G._references.RemoteEvent:FireAllClients("advantageEnd")
task.spawn(function() -- Line 642
--[[ Upvalues[6]:
[1]: arg1 (copied, readonly)
[2]: arg2 (copied, readonly)
[3]: arg3 (copied, readonly)
[4]: arg4 (copied, readonly)
[5]: any_isInBox_result1_upvr (copied, readonly)
[6]: StringValue_2_upvr (copied, readonly)
]]
arg1:confirmFoul(arg2, arg3, arg4, any_isInBox_result1_upvr, StringValue_2_upvr.Value)
end)
task.spawn(function() -- Line 645
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1._maid:DoCleaning()
end)
end
end
end)
task.delay(5, function() -- Line 651
--[[ Upvalues[9]:
[1]: arg1 (readonly)
[2]: var51_upvw (read and write)
[3]: StringValue_2_upvr (readonly)
[4]: var35_upvw (read and write)
[5]: BoolValue_4_upvr (readonly)
[6]: arg2 (readonly)
[7]: arg3 (readonly)
[8]: arg4 (readonly)
[9]: any_isInBox_result1_upvr (readonly)
]]
if arg1._maid._onDestroying then
if var51_upvw ~= "home" or StringValue_2_upvr.Value ~= "home" or var51_upvw == "away" and StringValue_2_upvr.Value == "away" or var35_upvw == 0 then
if _G._references.Main.config.Override:FindFirstChild("Goal") then
if _G._references.Main.config.Override.Goal.Value == "home" and StringValue_2_upvr.Value == "away" or _G._references.Main.config.Override.Goal.Value == "away" and StringValue_2_upvr.Value == "home" then
BoolValue_4_upvr:Destroy()
arg1._maid:DoCleaning()
return
end
end
if not arg2 or not arg3 or arg2 and not arg2.Parent or arg3 and not arg3.Parent then
BoolValue_4_upvr:Destroy()
task.spawn(function() -- Line 662
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1._maid:DoCleaning()
end)
end
task.spawn(function() -- Line 667
--[[ Upvalues[6]:
[1]: arg1 (copied, readonly)
[2]: arg2 (copied, readonly)
[3]: arg3 (copied, readonly)
[4]: arg4 (copied, readonly)
[5]: any_isInBox_result1_upvr (copied, readonly)
[6]: StringValue_2_upvr (copied, readonly)
]]
arg1:confirmFoul(arg2, arg3, arg4, any_isInBox_result1_upvr, StringValue_2_upvr.Value)
end)
task.spawn(function() -- Line 670
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1._maid:DoCleaning()
end)
return
end
BoolValue_4_upvr:Destroy()
task.spawn(function() -- Line 675
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1._maid:DoCleaning()
end)
end
end)
end
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:33
-- Luau version 6, Types version 3
-- Time taken: 0.104119 seconds
return {
_maid = _G._engine:load("Maid").new();
_ai = _G._engine:load("AI");
_take = _G._engine:load("Take");
_partToRegion3 = _G._engine:load("PartToRegion3", "utils");
createReplayModel = function(arg1, arg2, arg3, arg4) -- Line 8, Named "createReplayModel"
-- KONSTANTERROR: [0] 1. Error Block 73 start (CF ANALYSIS FAILED)
local clone = script.visual:Clone()
clone.Name = arg3.Name
if arg3.Character:FindFirstChildWhichIsA("Shirt") then
if clone.attacker:FindFirstChildWhichIsA("Shirt") then
clone.attacker:FindFirstChildWhichIsA("Shirt"):Destroy()
end
arg3.Character:FindFirstChildWhichIsA("Shirt"):Clone().Parent = clone.attacker
end
if arg3.Character:FindFirstChildWhichIsA("Pants") then
if clone.attacker:FindFirstChildWhichIsA("Pants") then
clone.attacker:FindFirstChildWhichIsA("Pants"):Destroy()
end
arg3.Character:FindFirstChildWhichIsA("Pants"):Clone().Parent = clone.attacker
end
for _, v in next, clone.attacker:GetChildren() do
if v and v:IsA("BasePart") and arg3.Character:FindFirstChild(v.Name) then
v.CFrame = arg3.Character[v.Name].CFrame
end
end
-- KONSTANTERROR: [0] 1. Error Block 73 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [264] 171. Error Block 79 start (CF ANALYSIS FAILED)
clone.ball.Transparency = 0
clone.ball.Position = arg2
if clone.attacker.HumanoidRootPart.Position.Z < 0 then
clone.line.Position = Vector3.new(clone.line.Position.X, clone.line.Position.Y, math.clamp(arg2.Z - clone.ball.Size.Z / 2, workspace.game.points.lines.home.Position.Z, 0))
else
clone.line.Position = Vector3.new(clone.line.Position.X, clone.line.Position.Y, math.clamp(arg2.Z + clone.ball.Size.Z / 2, 0, workspace.game.points.lines.away.Position.Z))
end
for _, v_2 in next, clone.defender:GetChildren() do
if v_2 and v_2:IsA("BasePart") then
v_2.Transparency = 1
end
end
clone.Parent = _G._references.Main.visuals
-- KONSTANTERROR: [264] 171. Error Block 79 end (CF ANALYSIS FAILED)
end;
check = function(arg1, arg2, arg3, arg4) -- Line 81, Named "check"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 122 start (CF ANALYSIS FAILED)
assert(arg2, string.format("Offside [check] | dataModel '_playerToExclude' expected, got %s", typeof(arg2)))
assert(arg3, string.format("Offside [check] | vector3 '_position' expected, got %s", typeof(arg3)))
assert(arg4, string.format("Offside [check] | table '_teams' expected, got %s", typeof(arg4)))
arg1._maid:DoCleaning()
_G._references.Main.visuals:ClearAllChildren()
local var109
if arg4._attacking == "home" then
var109 = "away"
end
for _, v_3 in next, _G._services.Players:GetPlayers() do
if v_3 and v_3.Character and v_3.Character:FindFirstChild("HumanoidRootPart") then
if v_3.Team.Name == "Home" and var109 == "home" or v_3.Team.Name == "Away" and var109 == "away" then
local any_GetBoundingBox_result1_4, any_GetBoundingBox_result2_5 = v_3.Character:GetBoundingBox()
local any__get_result1_3 = arg1._partToRegion3._get(any_GetBoundingBox_result1_4, any_GetBoundingBox_result2_5)
if var109 == "home" and any__get_result1_3.CFrame.Position.Z - any__get_result1_3.Size.Z / 2 < Vector3.new(arg3.X, arg3.Y, 0).Z and any__get_result1_3.CFrame.Position.Z - any__get_result1_3.Size.Z / 2 < arg3.Z then
local _ = v_3
elseif var109 == "away" and Vector3.new(v_3.Character.HumanoidRootPart.Position.X, v_3.Character.HumanoidRootPart.Position.Y, math.clamp(any__get_result1_3.CFrame.Position.Z - any__get_result1_3.Size.Z / 2, workspace.game.points.lines[var109].Position.Z, 0)).Z < any__get_result1_3.CFrame.Position.Z + any__get_result1_3.Size.Z / 2 and arg3.Z < any__get_result1_3.CFrame.Position.Z + any__get_result1_3.Size.Z / 2 then
end
end
end
end
for _, v_4 in next, _G._services.Players:GetPlayers() do
if v_4 and v_4.Character and v_4.Character:FindFirstChild("HumanoidRootPart") then
if string.find(v_4.Team.Name, "Home GK") and var109 == "home" or string.find(v_4.Team.Name, "Away GK") and var109 == "away" then
local any_GetBoundingBox_result1, any_GetBoundingBox_result2_7 = v_4.Character:GetBoundingBox()
local any__get_result1_5 = arg1._partToRegion3._get(any_GetBoundingBox_result1, any_GetBoundingBox_result2_7)
if var109 == "home" and v_3 and Vector3.new(v_3.Character.HumanoidRootPart.Position.X, v_3.Character.HumanoidRootPart.Position.Y, math.clamp(any__get_result1_3.CFrame.Position.Z + any__get_result1_3.Size.Z / 2, 0, workspace.game.points.lines[var109].Position.Z)).Z < any__get_result1_5.CFrame.Position.Z - any__get_result1_5.Size.Z / 2 and any__get_result1_5.CFrame.Position.Z - any__get_result1_5.Size.Z / 2 < arg3.Z then
elseif var109 == "away" then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x2)
if v_3 and any__get_result1_5.CFrame.Position.Z + any__get_result1_5.Size.Z / 2 < Vector3.new(v_3.Character.HumanoidRootPart.Position.X, v_3.Character.HumanoidRootPart.Position.Y, math.clamp(any__get_result1_3.CFrame.Position.Z + any__get_result1_3.Size.Z / 2, 0, workspace.game.points.lines[var109].Position.Z)).Z and arg3.Z < any__get_result1_5.CFrame.Position.Z + any__get_result1_5.Size.Z / 2 then
end
end
end
end
end
local players_8, NONE_14 = _G._services.Players:GetPlayers()
-- KONSTANTERROR: [0] 1. Error Block 122 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [810] 499. Error Block 73 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [810] 499. Error Block 73 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [560] 346. Error Block 148 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if v_4 and any_GetBoundingBox_result1 and any_GetBoundingBox_result1 then
if any_GetBoundingBox_result1 == "Home" and var109 == "home" or any_GetBoundingBox_result1 == "Away" and var109 == "away" then
if var109 == "home" and v_4 and Vector3.new(v_4.Character.HumanoidRootPart.Position.X, v_4.Character.HumanoidRootPart.Position.Y, math.clamp(any__get_result1_5.CFrame.Position.Z + any__get_result1_5.Size.Z / 2, 0, workspace.game.points.lines[var109].Position.Z)) then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x3)
if Vector3.new(v_4.Character.HumanoidRootPart.Position.X, v_4.Character.HumanoidRootPart.Position.Y, math.clamp(any__get_result1_5.CFrame.Position.Z + any__get_result1_5.Size.Z / 2, 0, workspace.game.points.lines[var109].Position.Z)) and Vector3.new(v_4.Character.HumanoidRootPart.Position.X, v_4.Character.HumanoidRootPart.Position.Y, math.clamp(any__get_result1_5.CFrame.Position.Z + any__get_result1_5.Size.Z / 2, 0, workspace.game.points.lines[var109].Position.Z)) and Vector3.new(v_4.Character.HumanoidRootPart.Position.X, v_4.Character.HumanoidRootPart.Position.Y, math.clamp(any__get_result1_5.CFrame.Position.Z + any__get_result1_5.Size.Z / 2, 0, workspace.game.points.lines[var109].Position.Z)) then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x3)
if Vector3.new(v_4.Character.HumanoidRootPart.Position.X, v_4.Character.HumanoidRootPart.Position.Y, math.clamp(any__get_result1_5.CFrame.Position.Z + any__get_result1_5.Size.Z / 2, 0, workspace.game.points.lines[var109].Position.Z)) < v_4.Character.HumanoidRootPart.Position.X and v_3 ~= v_4 and Vector3.new(v_4.Character.HumanoidRootPart.Position.X, v_4.Character.HumanoidRootPart.Position.Y, math.clamp(any__get_result1_5.CFrame.Position.Z + any__get_result1_5.Size.Z / 2, 0, workspace.game.points.lines[var109].Position.Z)) < v_4.Character.HumanoidRootPart.Position.X then
-- KONSTANTWARNING: GOTO [810] #499
end
end
end
if var109 == "away" then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x8)
if v_4 and Vector3.new(v_4.Character.HumanoidRootPart.Position.X, v_4.Character.HumanoidRootPart.Position.Y, math.clamp(any__get_result1_5.CFrame.Position.Z + any__get_result1_5.Size.Z / 2, 0, workspace.game.points.lines[var109].Position.Z)) and Vector3.new(v_4.Character.HumanoidRootPart.Position.X, v_4.Character.HumanoidRootPart.Position.Y, math.clamp(any__get_result1_5.CFrame.Position.Z + any__get_result1_5.Size.Z / 2, 0, workspace.game.points.lines[var109].Position.Z)) and Vector3.new(v_4.Character.HumanoidRootPart.Position.X, v_4.Character.HumanoidRootPart.Position.Y, math.clamp(any__get_result1_5.CFrame.Position.Z + any__get_result1_5.Size.Z / 2, 0, workspace.game.points.lines[var109].Position.Z)) and Vector3.new(v_4.Character.HumanoidRootPart.Position.X, v_4.Character.HumanoidRootPart.Position.Y, math.clamp(any__get_result1_5.CFrame.Position.Z + any__get_result1_5.Size.Z / 2, 0, workspace.game.points.lines[var109].Position.Z)) and v_4.Character.HumanoidRootPart.Position.X < Vector3.new(v_4.Character.HumanoidRootPart.Position.X, v_4.Character.HumanoidRootPart.Position.Y, math.clamp(any__get_result1_5.CFrame.Position.Z + any__get_result1_5.Size.Z / 2, 0, workspace.game.points.lines[var109].Position.Z)) and v_3 ~= v_4 and Vector3.new(v_4.Character.HumanoidRootPart.Position.X, v_4.Character.HumanoidRootPart.Position.Y, math.clamp(any__get_result1_5.CFrame.Position.Z + any__get_result1_5.Size.Z / 2, 0, workspace.game.points.lines[var109].Position.Z)) < v_4.Character.HumanoidRootPart.Position.X then
end
end
end
end
-- KONSTANTERROR: [560] 346. Error Block 148 end (CF ANALYSIS FAILED)
end;
run = function(arg1, arg2, arg3) -- Line 192, Named "run"
arg1._maid:DoCleaning()
local var231
if not _G._references.Main.visuals:FindFirstChild(arg3.Name) then
else
local SOME_2 = _G._references.Main.visuals:WaitForChild(arg3.Name, 100)
local BoolValue_5 = Instance.new("BoolValue")
BoolValue_5.Name = "NoReact"
BoolValue_5.Value = true
var231 = _G._references
BoolValue_5.Parent = var231.Main.config.Delay
local BoolValue_8_upvr = Instance.new("BoolValue")
BoolValue_8_upvr.Name = "DisableFouls"
BoolValue_8_upvr.Value = true
var231 = _G._references.Main
BoolValue_8_upvr.Parent = var231.config.Override
local BoolValue_2 = Instance.new("BoolValue")
BoolValue_2.Name = "Break"
BoolValue_2.Value = true
var231 = _G._references.Main.config
BoolValue_2.Parent = var231.Override
var231 = SOME_2.attacker:WaitForChild("HumanoidRootPart")
local Position = var231.Position
var231 = {}
var231[1] = BrickColor.new("Storm blue")
if arg2 == "home" then
var231 = {BrickColor.new("Crimson")}
end
if arg2 == "home" then
local Offsides_2 = _G._references.Main.config.Stats.Home.Offsides
Offsides_2.Value += 1
elseif arg2 == "away" then
local Offsides = _G._references.Main.config.Stats.Away.Offsides
Offsides.Value += 1
end
_G._references.Main.config.TimerSpeed.Value = 1
_G._references.Main.sounds.CammySounds.Atmosphere.Referee.Whistle:Play()
if workspace.game.referee.rigs:FindFirstChild("main") then
task.spawn(function() -- Line 233
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1._ai.referee:animation(workspace.game.referee.rigs.main, "Whistle")
end)
end
if arg2 == "home" and workspace.game.referee.rigs:FindFirstChild("assistant2") then
task.spawn(function() -- Line 239
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1._ai.referee:animation(workspace.game.referee.rigs.assistant2, "Offside")
end)
elseif arg2 == "away" and workspace.game.referee.rigs:FindFirstChild("assistant1") then
task.spawn(function() -- Line 243
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1._ai.referee:animation(workspace.game.referee.rigs.assistant1, "Offside")
end)
end
local any_new_result1_3 = arg1._take.new(var231, "Free Kick")
_G._references.RemoteEvent:FireAllClients("message", "OFFSIDE")
local BoolValue_6 = Instance.new("BoolValue")
BoolValue_6.Name = "Offside"
BoolValue_6.Value = true
BoolValue_6.Parent = _G._references.Main.config["Set Pieces"]
task.wait(3)
for _, v_5 in next, _G._services.Players:GetPlayers() do
if v_5 then
if v_5.TeamColor and table.find(var231, v_5.TeamColor) or _G._services.RunService:IsStudio() then
_G._references.RemoteEvent:FireClient(v_5, "shiftLock", false)
_G._references.RemoteEvent:FireClient(v_5, "forceDisable", true)
end
end
end
if _G._references.Main.config.AutoRall.Value then
for i_6, v_6 in next, workspace.game.balls.spawns:GetChildren() do
if v_6 then
v_6:Destroy()
end
end
end
_G._references.BindableEvent:Fire("clearSpace")
BoolValue_5:Destroy()
local function INLINED_3() -- Internal function, doesn't exist in bytecode
i_6 = v_6.Position
v_6 = SOME_2.defender.UpperTorso
i_6 = v_6.UpperTorso
v_6 = SOME_2.attacker
return -35 < i_6.Position.Z - i_6.Z
end
local function INLINED_4() -- Internal function, doesn't exist in bytecode
i_6 = v_6.Position
v_6 = SOME_2.defender.UpperTorso
i_6 = v_6.UpperTorso
v_6 = SOME_2.attacker
return i_6.Position.Z - i_6.Z < 35
end
if arg2 == "away" and SOME_2:FindFirstChild("attacker") and SOME_2:FindFirstChild("defender") and INLINED_3() or arg2 == "home" and SOME_2:FindFirstChild("attacker") and SOME_2:FindFirstChild("defender") and INLINED_4() then
_G._references.RemoteEvent:FireAllClients("offside", SOME_2)
task.wait(17)
_G._references.Main.replay:ClearAllChildren()
task.wait(0.5)
else
task.wait(3)
end
local any_getTaker_result1_upvr = any_new_result1_3:getTaker()
any_new_result1_3:clear()
for i_7, v_7_upvr in next, _G._services.Players:GetPlayers() do
if v_7_upvr and v_7_upvr.TeamColor and table.find(var231, v_7_upvr.TeamColor) and any_getTaker_result1_upvr and v_7_upvr ~= any_getTaker_result1_upvr then
_G._references.RemoteEvent:FireClient(v_7_upvr, "shiftLock", true)
_G._references.RemoteEvent:FireClient(v_7_upvr, "forceDisable", false)
_G._references.RemoteEvent:FireClient(v_7_upvr, "canSprint", true)
_G._references.RemoteEvent:FireClient(v_7_upvr, "globalOverride", false)
end
end
if any_getTaker_result1_upvr then
i_7 = _G
v_7_upvr = "Maid"
local any_new_result1_upvr = i_7._engine:load(v_7_upvr).new()
i_7 = Position.X
v_7_upvr = workspace.game.points.bounds.right.Position.X
v_7_upvr = Position.Z
i_7 = math.clamp(v_7_upvr, workspace.game.points.bounds.home.Position.Z, workspace.game.points.bounds.away.Position.Z)
v_7_upvr = _G._references.Main["set pieces"]["Quick Foul"]:Clone()
v_7_upvr.Parent = workspace.game.debug
v_7_upvr.Name = any_getTaker_result1_upvr.Name
v_7_upvr.Ball.Transparency = 1
if arg2 == "home" then
v_7_upvr:SetPrimaryPartCFrame(CFrame.lookAt(Vector3.new(math.clamp(i_7, v_7_upvr, workspace.game.points.bounds.left.Position.X), v_7_upvr.Primary.Position.Y, i_7), Vector3.new(workspace.game.points.bounds.home.Position.X, v_7_upvr.Primary.Position.Y, workspace.game.points.bounds.home.Position.Z)))
v_7_upvr.Team.Value = "away"
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
v_7_upvr:SetPrimaryPartCFrame(CFrame.lookAt(Vector3.new(math.clamp(i_7, v_7_upvr, workspace.game.points.bounds.left.Position.X), v_7_upvr.Primary.Position.Y, i_7), Vector3.new(workspace.game.points.bounds.away.Position.X, v_7_upvr.Primary.Position.Y, workspace.game.points.bounds.away.Position.Z)))
v_7_upvr.Team.Value = "home"
end
_G._references.RemoteEvent:FireClient(any_getTaker_result1_upvr, "shiftLock", true)
_G._references.RemoteEvent:FireClient(any_getTaker_result1_upvr, "forceDisable", false)
_G._references.RemoteEvent:FireClient(any_getTaker_result1_upvr, "canSprint", true)
_G._references.RemoteEvent:FireClient(any_getTaker_result1_upvr, "globalOverride", false)
_G._references.RemoteEvent:FireClient(any_getTaker_result1_upvr, "quickFoul", v_7_upvr)
if _G._references.Main.config.AutoRall.Value then
for _, v_8 in next, workspace.game.balls.spawns:GetChildren() do
if v_8 then
v_8:Destroy()
end
end
end
_G._references.BindableEvent:Fire("clearSpace")
local CFrameValue = Instance.new("CFrameValue")
CFrameValue.Name = "RF"
CFrameValue.Value = v_7_upvr.Ball.CFrame
CFrameValue.Parent = workspace.game.balls.spawns
local IntValue = Instance.new("IntValue")
IntValue.Name = "possessor"
IntValue.Value = any_getTaker_result1_upvr.UserId
IntValue.Parent = CFrameValue
for _, v_9 in next, _G._references.Main.config.Override:GetChildren() do
if v_9 and v_9.Name == "Break" then
v_9:Destroy()
end
end
local RemoteEvent = Instance.new("RemoteEvent", v_7_upvr)
RemoteEvent.Name = "Clear"
local function clear() -- Line 356
--[[ Upvalues[2]:
[1]: BoolValue_8_upvr (readonly)
[2]: any_new_result1_upvr (readonly)
]]
if _G._references.Main.config["Set Pieces"]:FindFirstChild("Offside") then
_G._references.Main.config["Set Pieces"].Offside:Destroy()
end
BoolValue_8_upvr:Destroy()
_G._references.Main.config.TimerSpeed.Value = 9
any_new_result1_upvr:DoCleaning()
end
any_new_result1_upvr._onRemoteEvent = RemoteEvent.OnServerEvent:Connect(function(arg1_5) -- Line 365
--[[ Upvalues[2]:
[1]: any_getTaker_result1_upvr (readonly)
[2]: clear (readonly)
]]
if any_getTaker_result1_upvr and arg1_5 == any_getTaker_result1_upvr then
clear()
end
end)
any_new_result1_upvr._onRespawn = any_getTaker_result1_upvr.CharacterAdded:Connect(function() -- Line 371
--[[ Upvalues[1]:
[1]: clear (readonly)
]]
clear()
end)
any_new_result1_upvr._onLeave = _G._services.Players.PlayerRemoving:Connect(function(arg1_6) -- Line 375
--[[ Upvalues[2]:
[1]: any_getTaker_result1_upvr (readonly)
[2]: clear (readonly)
]]
if arg1_6 == any_getTaker_result1_upvr then
clear()
end
end)
local tbl_2_upvr = {}
local function onTouch(arg1_7) -- Line 381
--[[ Upvalues[3]:
[1]: any_getTaker_result1_upvr (readonly)
[2]: tbl_2_upvr (readonly)
[3]: v_7_upvr (readonly)
]]
if arg1_7 and arg1_7.Parent and arg1_7.Parent:FindFirstChildWhichIsA("Humanoid") and not arg1_7:FindFirstAncestor("manager") and not arg1_7:FindFirstAncestor("referee") and any_getTaker_result1_upvr and any_getTaker_result1_upvr.Character and arg1_7.Parent ~= any_getTaker_result1_upvr.Character and not tbl_2_upvr[arg1_7.Parent.Name] then
tbl_2_upvr[arg1_7.Parent.Name] = true
if _G._services.Players:GetPlayerFromCharacter(arg1_7.Parent) then
local BoolValue_3 = Instance.new("BoolValue", _G._services.Players:GetPlayerFromCharacter(arg1_7.Parent))
BoolValue_3.Name = "Teleport"
BoolValue_3.Value = true
_G._services.Debris:AddItem(BoolValue_3, 3)
end
arg1_7.Parent:SetPrimaryPartCFrame(v_7_upvr.Teleport.CFrame)
task.delay(0.5, function() -- Line 394
--[[ Upvalues[2]:
[1]: tbl_2_upvr (copied, readonly)
[2]: arg1_7 (readonly)
]]
tbl_2_upvr[arg1_7.Parent.Name] = false
end)
end
end
for _, v_10 in next, v_7_upvr.Area:GetChildren() do
if v_10 and v_10:IsA("BasePart") then
local any_GenerateGUID_result1 = _G._services.HttpService:GenerateGUID(false)
any_new_result1_upvr[any_GenerateGUID_result1.."_onTouched"] = v_10.Touched:Connect(onTouch)
any_new_result1_upvr[any_GenerateGUID_result1.."_onTouchEnded"] = v_10.TouchEnded:Connect(onTouch)
end
end
any_new_result1_upvr:GiveTask(RemoteEvent)
any_new_result1_upvr:GiveTask(v_7_upvr)
task.delay(15, function() -- Line 411
--[[ Upvalues[2]:
[1]: any_new_result1_upvr (readonly)
[2]: clear (readonly)
]]
if any_new_result1_upvr._onRemoteEvent then
clear()
end
end)
return
end
any_new_result1_upvr = Position.X
clear = workspace
clear = workspace.game
tbl_2_upvr = math.clamp(any_new_result1_upvr, clear.game.points.bounds.right.Position.X, clear.points.bounds.left.Position.X)
clear = workspace.game
clear = workspace.game.points
any_new_result1_upvr = math.clamp(Position.Z, clear.points.bounds.home.Position.Z, clear.bounds.away.Position.Z)
if _G._references.Main.config.AutoRall.Value then
for _, v_11 in next, workspace.game.balls.spawns:GetChildren() do
if v_11 then
v_11:Destroy()
end
end
end
_G._references.BindableEvent:Fire("clearSpace")
local CFrameValue_2 = Instance.new("CFrameValue")
CFrameValue_2.Name = "RF"
clear = _G._references.Main.RF
CFrameValue_2.Value = CFrame.new(Vector3.new(tbl_2_upvr, clear.Position.Y, any_new_result1_upvr))
CFrameValue_2.Parent = workspace.game.balls.spawns
clear = _G
for _, v_12 in next, clear._references.Main.config.Override:GetChildren() do
if v_12 then
clear = v_12.Name
if clear == "Break" then
clear = v_12:Destroy
clear()
end
end
end
_G._references.Main.config.TimerSpeed.Value = 9
BoolValue_8_upvr:Destroy()
end
end;
clear = function(arg1) -- Line 446, Named "clear"
arg1._maid:DoCleaning()
_G._references.Main.visuals:ClearAllChildren()
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:35
-- Luau version 6, Types version 3
-- Time taken: 0.024830 seconds
local module = {}
local clamp_upvr = math.clamp
local exp_upvr = math.exp
local tan_upvr = math.tan
local ContextActionService_upvr = game:GetService("ContextActionService")
local Players = game:GetService("Players")
local RunService_upvr = game:GetService("RunService")
local StarterGui_upvr = game:GetService("StarterGui")
local UserInputService_upvr = game:GetService("UserInputService")
local Workspace_upvr = game:GetService("Workspace")
local LocalPlayer_upvw = Players.LocalPlayer
if not LocalPlayer_upvw then
Players:GetPropertyChangedSignal("LocalPlayer"):Wait()
LocalPlayer_upvw = Players.LocalPlayer
end
local CurrentCamera_2_upvw = Workspace_upvr.CurrentCamera
Workspace_upvr:GetPropertyChangedSignal("CurrentCamera"):Connect(function() -- Line 26
--[[ Upvalues[2]:
[1]: Workspace_upvr (readonly)
[2]: CurrentCamera_2_upvw (read and write)
]]
local CurrentCamera = Workspace_upvr.CurrentCamera
if CurrentCamera then
CurrentCamera_2_upvw = CurrentCamera
end
end)
local _ = {Enum.KeyCode.LeftShift, Enum.KeyCode.P}
local tbl_upvr_3 = {}
tbl_upvr_3.__index = tbl_upvr_3
function tbl_upvr_3.new(arg1, arg2) -- Line 50
--[[ Upvalues[1]:
[1]: tbl_upvr_3 (readonly)
]]
local setmetatable_result1 = setmetatable({}, tbl_upvr_3)
setmetatable_result1.f = arg1
setmetatable_result1.p = arg2
setmetatable_result1.v = arg2 * 0
return setmetatable_result1
end
function tbl_upvr_3.Update(arg1, arg2, arg3) -- Line 58
--[[ Upvalues[1]:
[1]: exp_upvr (readonly)
]]
local var18 = arg1.f * 2 * math.pi
local v_9 = arg1.v
local var20 = arg3 - arg1.p
local exp_upvr_result1 = exp_upvr(-var18 * arg2)
local var22 = arg3 + (v_9 * arg2 - var20 * (var18 * arg2 + 1)) * exp_upvr_result1
arg1.p = var22
arg1.v = (var18 * arg2 * (var20 * var18 - v_9) + v_9) * exp_upvr_result1
return var22
end
function tbl_upvr_3.Reset(arg1, arg2) -- Line 75
arg1.p = arg2
arg1.v = arg2 * 0
end
local zero_vector3_upvw = Vector3.new()
local zero_vector2_upvw = Vector2.new()
local var25_upvw = 0
local any_new_result1_upvr = tbl_upvr_3.new(1.5, Vector3.new())
local any_new_result1_upvr_3 = tbl_upvr_3.new(1, Vector2.new())
local any_new_result1_upvr_2 = tbl_upvr_3.new(4, 0)
local tbl_upvr_8 = {}
local function _(arg1) -- Line 94, Named "fCurve"
--[[ Upvalues[1]:
[1]: exp_upvr (readonly)
]]
return (exp_upvr(2 * arg1) - 1) / 6.38905609893065
end
local function _(arg1) -- Line 98, Named "fDeadzone"
--[[ Upvalues[1]:
[1]: exp_upvr (readonly)
]]
return (exp_upvr((2) * ((arg1 - 0.15) / 0.85)) - 1) / 6.38905609893065
end
local sign_upvr = math.sign
local abs_upvr = math.abs
local function thumbstickCurve_upvw(arg1) -- Line 102, Named "thumbstickCurve"
--[[ Upvalues[4]:
[1]: sign_upvr (readonly)
[2]: abs_upvr (readonly)
[3]: exp_upvr (readonly)
[4]: clamp_upvr (readonly)
]]
return sign_upvr(arg1) * clamp_upvr((exp_upvr((2) * ((abs_upvr(arg1) - 0.15) / 0.85)) - 1) / 6.38905609893065, 0, 1)
end
local tbl_upvr_9 = {
ButtonX = 0;
ButtonY = 0;
DPadDown = 0;
DPadUp = 0;
ButtonL2 = 0;
ButtonR2 = 0;
Thumbstick1 = Vector2.new();
Thumbstick2 = Vector2.new();
}
local tbl_upvr_2 = {
W = 0;
A = 0;
S = 0;
D = 0;
E = 0;
Q = 0;
U = 0;
H = 0;
J = 0;
K = 0;
I = 0;
Y = 0;
Up = 0;
Down = 0;
LeftShift = 0;
RightShift = 0;
}
local tbl_upvr_4 = {
Delta = Vector2.new();
MouseWheel = 0;
}
local var35_upvw = 1
function tbl_upvr_8.Vel(arg1) -- Line 153
--[[ Upvalues[6]:
[1]: var35_upvw (read and write)
[2]: tbl_upvr_2 (readonly)
[3]: clamp_upvr (readonly)
[4]: thumbstickCurve_upvw (read and write)
[5]: tbl_upvr_9 (readonly)
[6]: UserInputService_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
var35_upvw = clamp_upvr(var35_upvw + arg1 * (tbl_upvr_2.Up - tbl_upvr_2.Down) * 0.75, 0.01, 4)
local any_IsKeyDown_result1 = UserInputService_upvr:IsKeyDown(Enum.KeyCode.LeftShift)
if not any_IsKeyDown_result1 then
any_IsKeyDown_result1 = UserInputService_upvr:IsKeyDown(Enum.KeyCode.RightShift)
end
if any_IsKeyDown_result1 then
else
end
return (Vector3.new(thumbstickCurve_upvw(tbl_upvr_9.Thumbstick1.X), thumbstickCurve_upvw(tbl_upvr_9.ButtonR2) - thumbstickCurve_upvw(tbl_upvr_9.ButtonL2), thumbstickCurve_upvw(-tbl_upvr_9.Thumbstick1.Y)) * Vector3.new(1, 1, 1) + Vector3.new(tbl_upvr_2.D - tbl_upvr_2.A + tbl_upvr_2.K - tbl_upvr_2.H, tbl_upvr_2.E - tbl_upvr_2.Q + tbl_upvr_2.I - tbl_upvr_2.Y, tbl_upvr_2.S - tbl_upvr_2.W + tbl_upvr_2.J - tbl_upvr_2.U) * Vector3.new(1, 1, 1)) * (var35_upvw * 1)
end
local var37_upvr = Vector2.new(1, 1) * 0.39269908169872414
local var38_upvr = Vector2.new(1, 1) * 0.04908738521234052
function tbl_upvr_8.Pan(arg1) -- Line 173
--[[ Upvalues[5]:
[1]: thumbstickCurve_upvw (read and write)
[2]: tbl_upvr_9 (readonly)
[3]: var37_upvr (readonly)
[4]: tbl_upvr_4 (readonly)
[5]: var38_upvr (readonly)
]]
tbl_upvr_4.Delta = Vector2.new()
return Vector2.new(thumbstickCurve_upvw(tbl_upvr_9.Thumbstick2.Y), thumbstickCurve_upvw(-tbl_upvr_9.Thumbstick2.X)) * var37_upvr + tbl_upvr_4.Delta * var38_upvr
end
function tbl_upvr_8.Fov(arg1) -- Line 183
--[[ Upvalues[2]:
[1]: tbl_upvr_9 (readonly)
[2]: tbl_upvr_4 (readonly)
]]
tbl_upvr_4.MouseWheel = 0
return (tbl_upvr_9.ButtonX - tbl_upvr_9.ButtonY) * 0.25 + tbl_upvr_4.MouseWheel * 1
end
local function Keypress_upvr(arg1, arg2, arg3) -- Line 191, Named "Keypress"
--[[ Upvalues[1]:
[1]: tbl_upvr_2 (readonly)
]]
local KeyCode_2 = arg3.KeyCode
if arg2 == Enum.UserInputState.Begin then
KeyCode_2 = 1
else
KeyCode_2 = 0
end
tbl_upvr_2[KeyCode_2.Name] = KeyCode_2
return Enum.ContextActionResult.Sink
end
local function GpButton_upvr(arg1, arg2, arg3) -- Line 196, Named "GpButton"
--[[ Upvalues[1]:
[1]: tbl_upvr_9 (readonly)
]]
local KeyCode = arg3.KeyCode
if arg2 == Enum.UserInputState.Begin then
KeyCode = 1
else
KeyCode = 0
end
tbl_upvr_9[KeyCode.Name] = KeyCode
return Enum.ContextActionResult.Sink
end
local function MousePan_upvr(arg1, arg2, arg3) -- Line 201, Named "MousePan"
--[[ Upvalues[1]:
[1]: tbl_upvr_4 (readonly)
]]
local Delta = arg3.Delta
tbl_upvr_4.Delta = Vector2.new(-Delta.y, -Delta.x)
return Enum.ContextActionResult.Sink
end
local function Thumb_upvr(arg1, arg2, arg3) -- Line 207, Named "Thumb"
--[[ Upvalues[1]:
[1]: tbl_upvr_9 (readonly)
]]
tbl_upvr_9[arg3.KeyCode.Name] = arg3.Position
return Enum.ContextActionResult.Sink
end
local function Trigger_upvr(arg1, arg2, arg3) -- Line 212, Named "Trigger"
--[[ Upvalues[1]:
[1]: tbl_upvr_9 (readonly)
]]
tbl_upvr_9[arg3.KeyCode.Name] = arg3.Position.z
return Enum.ContextActionResult.Sink
end
local function MouseWheel_upvr(arg1, arg2, arg3) -- Line 217, Named "MouseWheel"
--[[ Upvalues[1]:
[1]: tbl_upvr_4 (readonly)
]]
tbl_upvr_4[arg3.UserInputType.Name] = -arg3.Position.z
return Enum.ContextActionResult.Sink
end
local function _(arg1) -- Line 222, Named "Zero"
for i, v in pairs(arg1) do
arg1[i] = v * 0
end
end
local Value_upvr = Enum.ContextActionPriority.High.Value
function tbl_upvr_8.StartCapture() -- Line 228
--[[ Upvalues[8]:
[1]: ContextActionService_upvr (readonly)
[2]: Keypress_upvr (readonly)
[3]: Value_upvr (readonly)
[4]: MousePan_upvr (readonly)
[5]: MouseWheel_upvr (readonly)
[6]: GpButton_upvr (readonly)
[7]: Trigger_upvr (readonly)
[8]: Thumb_upvr (readonly)
]]
ContextActionService_upvr:BindActionAtPriority("FreecamKeyboard", Keypress_upvr, false, Value_upvr, Enum.KeyCode.W, Enum.KeyCode.U, Enum.KeyCode.A, Enum.KeyCode.H, Enum.KeyCode.S, Enum.KeyCode.J, Enum.KeyCode.D, Enum.KeyCode.K, Enum.KeyCode.E, Enum.KeyCode.I, Enum.KeyCode.Q, Enum.KeyCode.Y, Enum.KeyCode.Up, Enum.KeyCode.Down)
ContextActionService_upvr:BindActionAtPriority("FreecamMousePan", MousePan_upvr, false, Value_upvr, Enum.UserInputType.MouseMovement)
ContextActionService_upvr:BindActionAtPriority("FreecamMouseWheel", MouseWheel_upvr, false, Value_upvr, Enum.UserInputType.MouseWheel)
ContextActionService_upvr:BindActionAtPriority("FreecamGamepadButton", GpButton_upvr, false, Value_upvr, Enum.KeyCode.ButtonX, Enum.KeyCode.ButtonY)
ContextActionService_upvr:BindActionAtPriority("FreecamGamepadTrigger", Trigger_upvr, false, Value_upvr, Enum.KeyCode.ButtonR2, Enum.KeyCode.ButtonL2)
ContextActionService_upvr:BindActionAtPriority("FreecamGamepadThumbstick", Thumb_upvr, false, Value_upvr, Enum.KeyCode.Thumbstick1, Enum.KeyCode.Thumbstick2)
end
function tbl_upvr_8.StopCapture() -- Line 245
--[[ Upvalues[5]:
[1]: var35_upvw (read and write)
[2]: tbl_upvr_9 (readonly)
[3]: tbl_upvr_2 (readonly)
[4]: tbl_upvr_4 (readonly)
[5]: ContextActionService_upvr (readonly)
]]
var35_upvw = 1
local var60 = tbl_upvr_9
for i_2, v_2 in pairs(var60) do
var60[i_2] = v_2 * 0
end
for i_3, v_3 in pairs(tbl_upvr_2) do
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
tbl_upvr_2[i_3] = v_3 * 0
local _
end
for i_4, v_4 in pairs(tbl_upvr_4) do
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
tbl_upvr_4[i_4] = v_4 * 0
local _
end
ContextActionService_upvr:UnbindAction("FreecamKeyboard")
ContextActionService_upvr:UnbindAction("FreecamMousePan")
ContextActionService_upvr:UnbindAction("FreecamMouseWheel")
ContextActionService_upvr:UnbindAction("FreecamGamepadButton")
ContextActionService_upvr:UnbindAction("FreecamGamepadTrigger")
ContextActionService_upvr:UnbindAction("FreecamGamepadThumbstick")
end
local function GetFocusDistance_upvr(arg1) -- Line 260, Named "GetFocusDistance"
--[[ Upvalues[4]:
[1]: CurrentCamera_2_upvw (read and write)
[2]: var25_upvw (read and write)
[3]: tan_upvr (readonly)
[4]: Workspace_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local ViewportSize = CurrentCamera_2_upvw.ViewportSize
local var81 = tan_upvr(var25_upvw / 2) * 2
local const_number = 512
local var83
for i_5 = 0, 1, 0.5 do
for i_6 = 0, 1, 0.5 do
local var84 = (arg1.rightVector) * ((i_5 - 0.5) * (ViewportSize.x / ViewportSize.y * var81)) - (arg1.upVector) * ((i_6 - 0.5) * var81) + arg1.lookVector
local var85 = arg1.p + var84 * 0.1
local _, any_FindPartOnRay_result2 = Workspace_upvr:FindPartOnRay(Ray.new(var85, var84.unit * const_number))
local magnitude = (any_FindPartOnRay_result2 - var85).magnitude
if magnitude < const_number then
end
end
end
return arg1.lookVector:Dot(nil) * magnitude
end
local rad_upvr = math.rad
local sqrt_upvr = math.sqrt
local var91_upvr = Vector2.new(0.75, 1) * 8
local function StepFreecam_upvr(arg1) -- Line 290, Named "StepFreecam"
--[[ Upvalues[14]:
[1]: any_new_result1_upvr (readonly)
[2]: tbl_upvr_8 (readonly)
[3]: any_new_result1_upvr_3 (readonly)
[4]: any_new_result1_upvr_2 (readonly)
[5]: var25_upvw (read and write)
[6]: rad_upvr (readonly)
[7]: tan_upvr (readonly)
[8]: sqrt_upvr (readonly)
[9]: clamp_upvr (readonly)
[10]: zero_vector2_upvw (read and write)
[11]: var91_upvr (readonly)
[12]: zero_vector3_upvw (read and write)
[13]: CurrentCamera_2_upvw (read and write)
[14]: GetFocusDistance_upvr (readonly)
]]
local var90_result1 = sqrt_upvr(0.7002075382097097 / tan_upvr(rad_upvr(var25_upvw / 2)))
var25_upvw = clamp_upvr(var25_upvw + (any_new_result1_upvr_2:Update(arg1, tbl_upvr_8.Fov(arg1)) * 300) * (arg1 / var90_result1), 1, 120)
zero_vector2_upvw += (any_new_result1_upvr_3:Update(arg1, tbl_upvr_8.Pan(arg1)) * var91_upvr) * (arg1 / var90_result1)
zero_vector2_upvw = Vector2.new(clamp_upvr(zero_vector2_upvw.x, (-math.pi/2), (math.pi/2)), zero_vector2_upvw.y % (-math.pi*2))
local var93 = CFrame.new(zero_vector3_upvw) * CFrame.fromOrientation(zero_vector2_upvw.x, zero_vector2_upvw.y, 0) * CFrame.new(any_new_result1_upvr:Update(arg1, tbl_upvr_8.Vel(arg1)) * Vector3.new(64, 64, 64) * arg1)
zero_vector3_upvw = var93.p
CurrentCamera_2_upvw.CFrame = var93
CurrentCamera_2_upvw.Focus = var93 * CFrame.new(0, 0, -GetFocusDistance_upvr(var93))
CurrentCamera_2_upvw.FieldOfView = var25_upvw
end
local tbl_upvr = {}
local var95_upvw
local var96_upvw
local var97_upvw
local var98_upvw
local var99_upvw
local var100_upvw
local tbl_upvr_7 = {}
local tbl_upvr_6 = {
Backpack = true;
Chat = true;
Health = true;
PlayerList = true;
}
local tbl_upvr_5 = {
BadgesNotificationsActive = true;
PointsNotificationsActive = true;
}
function tbl_upvr.Push() -- Line 328
--[[ Upvalues[13]:
[1]: tbl_upvr_6 (readonly)
[2]: StarterGui_upvr (readonly)
[3]: tbl_upvr_5 (readonly)
[4]: LocalPlayer_upvw (read and write)
[5]: tbl_upvr_7 (readonly)
[6]: var100_upvw (read and write)
[7]: CurrentCamera_2_upvw (read and write)
[8]: var97_upvw (read and write)
[9]: var99_upvw (read and write)
[10]: var98_upvw (read and write)
[11]: var96_upvw (read and write)
[12]: UserInputService_upvr (readonly)
[13]: var95_upvw (read and write)
]]
for i_7 in pairs(tbl_upvr_6) do
tbl_upvr_6[i_7] = StarterGui_upvr:GetCoreGuiEnabled(Enum.CoreGuiType[i_7])
StarterGui_upvr:SetCoreGuiEnabled(Enum.CoreGuiType[i_7], false)
end
for i_8 in pairs(tbl_upvr_5) do
tbl_upvr_5[i_8] = StarterGui_upvr:GetCore(i_8)
StarterGui_upvr:SetCore(i_8, false)
end
local class_PlayerGui = LocalPlayer_upvw:FindFirstChildOfClass("PlayerGui")
if class_PlayerGui then
for _, v_5 in pairs(class_PlayerGui:GetChildren()) do
if v_5:IsA("ScreenGui") and v_5.Enabled and v_5.Name ~= "notifications" then
tbl_upvr_7[#tbl_upvr_7 + 1] = v_5
v_5.Enabled = false
end
end
end
var100_upvw = CurrentCamera_2_upvw.FieldOfView
CurrentCamera_2_upvw.FieldOfView = 70
var97_upvw = CurrentCamera_2_upvw.CameraType
CurrentCamera_2_upvw.CameraType = Enum.CameraType.Custom
var99_upvw = CurrentCamera_2_upvw.CFrame
var98_upvw = CurrentCamera_2_upvw.Focus
var96_upvw = UserInputService_upvr.MouseIconEnabled
UserInputService_upvr.MouseIconEnabled = true
var95_upvw = UserInputService_upvr.MouseBehavior
UserInputService_upvr.MouseBehavior = Enum.MouseBehavior.Default
end
function tbl_upvr.Pop() -- Line 363
--[[ Upvalues[12]:
[1]: tbl_upvr_6 (readonly)
[2]: StarterGui_upvr (readonly)
[3]: tbl_upvr_5 (readonly)
[4]: tbl_upvr_7 (readonly)
[5]: CurrentCamera_2_upvw (read and write)
[6]: var100_upvw (read and write)
[7]: var97_upvw (read and write)
[8]: var99_upvw (read and write)
[9]: var98_upvw (read and write)
[10]: UserInputService_upvr (readonly)
[11]: var96_upvw (read and write)
[12]: var95_upvw (read and write)
]]
for i_10, v_6 in pairs(tbl_upvr_6) do
StarterGui_upvr:SetCoreGuiEnabled(Enum.CoreGuiType[i_10], v_6)
end
for i_11, v_7 in pairs(tbl_upvr_5) do
StarterGui_upvr:SetCore(i_11, v_7)
end
for _, v_8 in pairs(tbl_upvr_7) do
if v_8.Parent then
v_8.Enabled = true
end
end
CurrentCamera_2_upvw.FieldOfView = var100_upvw
var100_upvw = nil
CurrentCamera_2_upvw.CameraType = var97_upvw
var97_upvw = nil
CurrentCamera_2_upvw.CFrame = var99_upvw
var99_upvw = nil
CurrentCamera_2_upvw.Focus = var98_upvw
var98_upvw = nil
UserInputService_upvr.MouseIconEnabled = var96_upvw
var96_upvw = nil
UserInputService_upvr.MouseBehavior = var95_upvw
var95_upvw = nil
end
local function StartFreecam_upvr() -- Line 396, Named "StartFreecam"
--[[ Upvalues[11]:
[1]: CurrentCamera_2_upvw (read and write)
[2]: zero_vector2_upvw (read and write)
[3]: zero_vector3_upvw (read and write)
[4]: var25_upvw (read and write)
[5]: any_new_result1_upvr (readonly)
[6]: any_new_result1_upvr_3 (readonly)
[7]: any_new_result1_upvr_2 (readonly)
[8]: tbl_upvr (readonly)
[9]: RunService_upvr (readonly)
[10]: StepFreecam_upvr (readonly)
[11]: tbl_upvr_8 (readonly)
]]
local CFrame = CurrentCamera_2_upvw.CFrame
zero_vector2_upvw = Vector2.new(CFrame:toEulerAnglesYXZ())
zero_vector3_upvw = CFrame.p
var25_upvw = CurrentCamera_2_upvw.FieldOfView
any_new_result1_upvr:Reset(Vector3.new())
any_new_result1_upvr_3:Reset(Vector2.new())
any_new_result1_upvr_2:Reset(0)
tbl_upvr.Push()
RunService_upvr:BindToRenderStep("Freecam", Enum.RenderPriority.Camera.Value, StepFreecam_upvr)
tbl_upvr_8.StartCapture()
end
local function StopFreecam() -- Line 411
--[[ Upvalues[3]:
[1]: tbl_upvr_8 (readonly)
[2]: RunService_upvr (readonly)
[3]: tbl_upvr (readonly)
]]
tbl_upvr_8.StopCapture()
RunService_upvr:UnbindFromRenderStep("Freecam")
tbl_upvr.Pop()
end
function module.EnableFreecam(arg1) -- Line 417
--[[ Upvalues[1]:
[1]: StartFreecam_upvr (readonly)
]]
StartFreecam_upvr()
end
function module.StopFreecam(arg1) -- Line 421
--[[ Upvalues[3]:
[1]: tbl_upvr_8 (readonly)
[2]: RunService_upvr (readonly)
[3]: tbl_upvr (readonly)
]]
tbl_upvr_8.StopCapture()
RunService_upvr:UnbindFromRenderStep("Freecam")
tbl_upvr.Pop()
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:37
-- Luau version 6, Types version 3
-- Time taken: 0.000934 seconds
local module_upvr = {
referee = require(script:WaitForChild("referee", 100));
manager = require(script:WaitForChild("manager", 100));
}
function module_upvr.init(arg1) -- Line 6
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
module_upvr.referee:init()
module_upvr.manager:init()
end
function module_upvr.clear(arg1) -- Line 11
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
module_upvr.referee:clear()
module_upvr.manager:clear()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:38
-- Luau version 6, Types version 3
-- Time taken: 0.010689 seconds
return {
_rigs = {};
_maid = _G._engine:load("Maid").new();
_signal = script:WaitForChild("signal", 100);
init = function(arg1) -- Line 7, Named "init"
local tbl_upvr = {
accessories = _G._references.Main.referee.appearance.accessories:GetChildren();
bodyColors = _G._references.Main.referee.appearance["body colors"]:GetChildren();
}
local tbl_upvr_2 = {}
local function selectRandomAccessory_upvr(arg1_2) -- Line 15, Named "selectRandomAccessory"
--[[ Upvalues[3]:
[1]: tbl_upvr (readonly)
[2]: tbl_upvr_2 (readonly)
[3]: selectRandomAccessory_upvr (readonly)
]]
local var8 = tbl_upvr.accessories[math.random(1, #tbl_upvr.accessories)]
if not table.find(tbl_upvr_2, var8) then
table.insert(tbl_upvr_2, var8)
var8:Clone().Parent = arg1_2
else
selectRandomAccessory_upvr(arg1_2)
end
end
local tbl_upvr_3 = {}
local function selectRandomBodyColor_upvr(arg1_3) -- Line 26, Named "selectRandomBodyColor"
--[[ Upvalues[3]:
[1]: tbl_upvr (readonly)
[2]: tbl_upvr_3 (readonly)
[3]: selectRandomBodyColor_upvr (readonly)
]]
local var10 = tbl_upvr.bodyColors[math.random(1, #tbl_upvr.bodyColors)]
if not table.find(tbl_upvr_3, var10) then
table.insert(tbl_upvr_3, var10)
var10:Clone().Parent = arg1_3
else
selectRandomBodyColor_upvr(arg1_3)
end
end
for _, v in next, workspace.game.referee.positions:GetChildren() do
if v and v:IsA("BasePart") then
local clone = _G._references.Main.referee.rig:Clone()
clone.Parent = workspace.game.referee.rigs
clone.Name = v.Name
clone.HumanoidRootPart:SetNetworkOwner(nil)
clone:SetPrimaryPartCFrame(v.CFrame)
arg1._maid:GiveTask(clone)
if string.find(v.Name, "assistant") then
clone.Tools.Flag.Flag.Flag.Transparency = 0
clone.Tools.Flag.Pole.Transparency = 0
clone.Tools.Flag.Hooks.Transparency = 0
end
local AlignOrientation = Instance.new("AlignOrientation")
AlignOrientation.Mode = Enum.OrientationAlignmentMode.OneAttachment
AlignOrientation.Attachment0 = clone.PrimaryPart:FindFirstChild("RootRigAttachment")
AlignOrientation.MaxTorque = math.huge
AlignOrientation.Responsiveness = 200
AlignOrientation.Enabled = true
AlignOrientation.RigidityEnabled = true
AlignOrientation.ReactionTorqueEnabled = false
AlignOrientation.Parent = clone.PrimaryPart:FindFirstChild("RootRigAttachment")
AlignOrientation.CFrame = v.CFrame
clone.Humanoid.AutoRotate = false
for _, v_2 in next, clone:GetChildren() do
if v_2 and v_2:IsA("Body Colors") then
v_2:Destroy()
end
end
selectRandomAccessory_upvr(clone)
selectRandomBodyColor_upvr(clone)
arg1:create(v, clone)
end
end
end;
create = function(arg1, arg2, arg3) -- Line 80, Named "create"
local Position_upvw = arg2.Position
arg1._maid[arg3.Name.."_onEvent"] = arg1._signal.Event:Connect(function(arg1_4, arg2_2) -- Line 83
--[[ Upvalues[3]:
[1]: arg3 (readonly)
[2]: arg2 (readonly)
[3]: Position_upvw (read and write)
]]
if arg1_4 and arg1_4 == "update" and arg2_2 and arg2_2 == arg3 then
if arg3.PrimaryPart.RootRigAttachment:FindFirstChild("AlignOrientation") then
arg3.PrimaryPart.RootRigAttachment.AlignOrientation.Enabled = true
if arg3.Name == "main" and #workspace.game.balls.server:GetChildren() == 1 then
arg3.PrimaryPart.RootRigAttachment.AlignOrientation.CFrame = CFrame.new(arg3.PrimaryPart.Position, workspace.game.balls.server.RF.Position)
else
arg3.PrimaryPart.RootRigAttachment.AlignOrientation.CFrame = arg2.CFrame
end
end
if arg3.Name == "assistant1" and workspace.game.balls.server.RF.Position.Z < 0 then
Position_upvw = Vector3.new(arg2.Position.X, arg2.Position.Y, workspace.game.balls.server.RF.Position.Z)
arg3.Humanoid:MoveTo(Vector3.new(arg2.Position.X, arg2.Position.Y, math.clamp(workspace.game.balls.server.RF.Position.Z, workspace.game.referee.limits.assistant1.Position.Z, arg2.Position.Z)))
return
end
if arg3.Name == "assistant2" and 0 < workspace.game.balls.server.RF.Position.Z then
Position_upvw = Vector3.new(arg2.Position.X, arg2.Position.Y, workspace.game.balls.server.RF.Position.Z)
arg3.Humanoid:MoveTo(Vector3.new(arg2.Position.X, arg2.Position.Y, math.clamp(workspace.game.balls.server.RF.Position.Z, arg2.Position.Z, workspace.game.referee.limits.assistant2.Position.Z)))
end
end
end)
arg1._maid[arg3.Name.."_heartbeat"] = _G._services.RunService.Heartbeat:Connect(function() -- Line 105
--[[ Upvalues[3]:
[1]: arg3 (readonly)
[2]: arg2 (readonly)
[3]: Position_upvw (read and write)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [15] 10. Error Block 2 start (CF ANALYSIS FAILED)
do
return
end
-- KONSTANTERROR: [15] 10. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [16] 11. Error Block 3 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [16] 11. Error Block 3 end (CF ANALYSIS FAILED)
end)
end;
animation = function(arg1, arg2, arg3, arg4) -- Line 147, Named "animation"
local SOME = _G._references.Main.animations.Referee:FindFirstChild(arg3, true)
if SOME.Name ~= "Whistle" and SOME.Name ~= "Left" and SOME.Name ~= "Card" and SOME.Name ~= "FoulLeft" then
local any_LoadAnimation_result1_2 = arg2.Humanoid.Animator:LoadAnimation(SOME)
any_LoadAnimation_result1_2.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1_2:Play()
else
local var22
if SOME.Name == "Whistle" then
var22 = SOME
local any_LoadAnimation_result1 = arg2.Humanoid.Animator:LoadAnimation(var22)
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
var22 = arg2.Tools
var22 = 0
var22.Whistle.Transparency = var22
local function INLINED() -- Internal function, doesn't exist in bytecode
var22 = any_LoadAnimation_result1.Length - 0.05
return var22
end
if 0.1 > any_LoadAnimation_result1.Length or not INLINED() then
var22 = 0.5
end
task.wait(var22)
var22 = arg2.Tools
var22 = 1
var22.Whistle.Transparency = var22
return
end
if SOME.Name == "Left" then
var22 = SOME
local any_LoadAnimation_result1_3 = arg2.Humanoid.Animator:LoadAnimation(var22)
any_LoadAnimation_result1_3.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1_3:Play(nil, nil, 1.35)
var22 = 0.3
task.wait(var22)
var22 = arg2.Tools.Flag.Pole
var22 = arg2.LeftHand
var22.Flag.Part0 = var22
var22 = 1.85
task.wait(var22)
var22 = arg2.Tools.Flag.Pole
var22 = arg2.RightHand
var22.Flag.Part0 = var22
return
end
if SOME.Name == "FoulLeft" then
var22 = SOME
local any_LoadAnimation_result1_5 = arg2.Humanoid.Animator:LoadAnimation(var22)
any_LoadAnimation_result1_5.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1_5:Play(nil, nil, 1.35)
var22 = 0.3
task.wait(var22)
var22 = arg2.Tools.Flag.Pole
var22 = arg2.LeftHand
var22.Flag.Part0 = var22
var22 = 2
task.wait(var22)
var22 = arg2.Tools.Flag.Pole
var22 = arg2.RightHand
var22.Flag.Part0 = var22
return
end
if SOME.Name == "Card" then
var22 = SOME
local any_LoadAnimation_result1_4 = arg2.Humanoid.Animator:LoadAnimation(var22)
any_LoadAnimation_result1_4.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1_4:Play()
var22 = 0.35
task.wait(var22)
arg4.Transparency = 0
var22 = 2.75
task.wait(var22)
arg4.Transparency = 1
end
end
end;
clear = function(arg1) -- Line 189, Named "clear"
arg1._maid:DoCleaning()
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:39
-- Luau version 6, Types version 3
-- Time taken: 0.007359 seconds
return {
_rigs = {};
_special = "cameron ashwood";
_maid = _G._engine:load("Maid").new();
_signal = script:WaitForChild("signal", 100);
init = function(arg1) -- Line 8, Named "init"
-- KONSTANTERROR: [0] 1. Error Block 75 start (CF ANALYSIS FAILED)
local tbl_upvr = {
hair = _G._references.Main.manager.appearance.hair:GetChildren();
bodyColors = _G._references.Main.manager.appearance["body colors"]:GetChildren();
}
for _, v in next, _G._references.Main.manager.appearance.clothing:GetChildren() do
tbl_upvr[v.Name] = v:GetChildren()
end
for i_2, _ in next, tbl_upvr do
({})[i_2] = {}
local var14_upvr
end
local function selectRandomItem_upvr(arg1_2, arg2) -- Line 24, Named "selectRandomItem"
--[[ Upvalues[3]:
[1]: tbl_upvr (readonly)
[2]: var14_upvr (readonly)
[3]: selectRandomItem_upvr (readonly)
]]
if arg1_2 == "footwear" then
local var17 = tbl_upvr[arg1_2][math.random(1, #tbl_upvr[arg1_2])]
if not table.find(var14_upvr[arg1_2], var17) then
for _, v_3 in next, var17:GetChildren() do
arg2.Humanoid:AddAccessory(v_3:Clone())
end
table.insert(var14_upvr[arg1_2], var17)
else
selectRandomItem_upvr(arg1_2, arg2)
end
end
local var20 = tbl_upvr[arg1_2][math.random(1, #tbl_upvr[arg1_2])]
if not table.find(var14_upvr[arg1_2], var20) then
local clone = var20:Clone()
if clone:IsA("Accessory") then
arg2.Humanoid:AddAccessory(clone)
else
clone.Parent = arg2
end
table.insert(var14_upvr[arg1_2], var20)
else
selectRandomItem_upvr(arg1_2, arg2)
end
end
local workspace = workspace
local children, NONE_2 = workspace.game.manager.positions:GetChildren()
-- KONSTANTERROR: [0] 1. Error Block 75 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [490] 323. Error Block 55 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [490] 323. Error Block 55 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [91] 55. Error Block 6 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [91] 55. Error Block 6 end (CF ANALYSIS FAILED)
end;
create = function(arg1, arg2, arg3) -- Line 117, Named "create"
local var26_upvw = false
local Position_upvw = arg2.Position
arg1._maid[arg3.Name.."_onEvent"] = arg1._signal.Event:Connect(function(arg1_3, arg2_2) -- Line 121
--[[ Upvalues[4]:
[1]: arg3 (readonly)
[2]: var26_upvw (read and write)
[3]: arg2 (readonly)
[4]: Position_upvw (read and write)
]]
if arg1_3 and arg1_3 == "update" and arg2_2 and arg2_2 == arg3 then
var26_upvw += 1
if arg3.PrimaryPart.RootRigAttachment:FindFirstChild("AlignOrientation") then
arg3.PrimaryPart.RootRigAttachment.AlignOrientation.Enabled = true
arg3.PrimaryPart.RootRigAttachment.AlignOrientation.CFrame = arg2.CFrame
end
Position_upvw = arg2.Position
arg3.Humanoid:MoveTo(arg2.Position)
if var26_upvw ~= 3 then
end
end
end)
arg1._maid[arg3.Name.."_heartbeat"] = _G._services.RunService.Heartbeat:Connect(function() -- Line 139
--[[ Upvalues[1]:
[1]: arg3 (readonly)
]]
if arg3 and arg3:FindFirstChild("Humanoid") and arg3.Humanoid.Sit then
arg3.Humanoid.Sit = false
arg3.Humanoid.Jump = true
end
end)
end;
clear = function(arg1) -- Line 147, Named "clear"
arg1._maid:DoCleaning()
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:41
-- Luau version 6, Types version 3
-- Time taken: 0.003128 seconds
local module_upvr = {
_replay = _G._engine:load("Replay");
_class = module_upvr._replay.new({
FPS = 10;
MaxFrameCount = 120;
});
}
function module_upvr.register(arg1, arg2) -- Line 10
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
assert(arg2, string.format("Recorder.register | instance 'object' expected, got %s", typeof(arg2)))
module_upvr._class:Register(arg2)
end
function module_upvr.startRecording(arg1) -- Line 15
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if not module_upvr._class.Recorded and not module_upvr._class.Recording then
module_upvr._class:StartRecording()
end
end
function module_upvr.stopRecording(arg1) -- Line 21
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if not module_upvr._class.Recorded and module_upvr._class.Recording then
module_upvr._class:StopRecording()
end
end
function module_upvr.clearRecording(arg1) -- Line 27
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr._class.Recorded or module_upvr._class.Recording then
module_upvr._class:ClearRecording()
end
end
function module_upvr.resetRecording(arg1) -- Line 33
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr._class.Recorded or module_upvr._class.Recording then
module_upvr._class:ResetRecording()
end
end
function module_upvr.jumpTo(arg1, arg2) -- Line 39
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
module_upvr._class:GoToTime(arg2 or 1)
end
function module_upvr.play(arg1, arg2, arg3) -- Line 43
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
module_upvr._class:Play(arg2 or 1, arg3)
end
function module_upvr.stop(arg1) -- Line 47
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
module_upvr._class:Stop()
end
function module_upvr.destroy(arg1) -- Line 51
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
module_upvr._class:Destroy()
module_upvr._class = module_upvr._replay.new({
FPS = 10;
MaxFrameCount = 120;
})
end
return module_upvr
KONSTANTERROR: After: K:0: attempt to index nil with 'debug_name'
K
K
K
K
K
K
K
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:44
-- Luau version 6, Types version 3
-- Time taken: 0.001523 seconds
local module_2_upvr = {}
module_2_upvr.__index = module_2_upvr
function module_2_upvr.new(arg1, arg2, arg3, arg4) -- Line 4
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
local module = {}
module.Bone = arg1
module.RestLength = 0
module.Weight = 0.7
module.ParentIndex = 0
module.Transform = arg1.WorldCFrame:ToObjectSpace(arg2.WorldCFrame):Inverse()
module.LocalTransform = arg1.CFrame:ToObjectSpace(arg2.CFrame):Inverse()
module.RootTransform = arg2.WorldCFrame:ToObjectSpace(arg3.CFrame):Inverse()
module.Radius = arg4.Radius
module.IsColliding = false
module.TransformOffset = CFrame.identity
module.LastTransformOffset = CFrame.identity
module.LocalTransformOffset = CFrame.identity
module.RestPosition = Vector3.new(0, 0, 0)
module.BoneTransform = CFrame.identity
module.CalculatedWorldCFrame = arg1.WorldCFrame
module.CalculatedWorldPosition = arg1.WorldPosition
module.Position = arg1.WorldPosition
module.LastPosition = arg1.WorldPosition
module.Anchored = false
module.RecyclingBin = {}
return setmetatable(module, module_2_upvr)
end
return module_2_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:45
-- Luau version 6, Types version 3
-- Time taken: 0.001981 seconds
local module_2_upvr = {}
module_2_upvr.__index = module_2_upvr
local random_state_upvr = Random.new(1029410295159813)
function module_2_upvr.new(arg1, arg2, arg3) -- Line 7
--[[ Upvalues[2]:
[1]: random_state_upvr (readonly)
[2]: module_2_upvr (readonly)
]]
local module = {
WindOffset = random_state_upvr:NextNumber(0, 1000000);
}
local var4
local function INLINED() -- Internal function, doesn't exist in bytecode
var4 = arg1
return var4
end
if not arg1:IsA("Bone") or not INLINED() then
var4 = nil
end
module.Root = var4
module.RootPart = arg2
var4 = arg1.WorldCFrame:ToObjectSpace(arg1.CFrame)
module.RootWorldToLocal = var4
var4 = 0
module.BoneTotalLength = var4
var4 = 100
module.DistanceFromCamera = var4
var4 = {}
module.Particles = var4
var4 = arg1.WorldCFrame
module.LocalCFrame = var4
var4 = arg1.CFrame:PointToWorldSpace(arg3).Unit * arg3.Magnitude
module.LocalGravity = var4
var4 = Vector3.new(0, 0, 0)
module.Force = var4
var4 = Vector3.new(0, 0, 0)
module.RestGravity = var4
var4 = Vector3.new(0, 0, 0)
module.ObjectMove = var4
var4 = Vector3.new(0, 0, 0)
module.ObjectPreviousPosition = var4
var4 = module_2_upvr
return setmetatable(module, var4)
end
return module_2_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:46
-- Luau version 6, Types version 3
-- Time taken: 0.001672 seconds
-- KONSTANTERROR: [0] 1. Error Block 13 start (CF ANALYSIS FAILED)
if not script.Parent:IsA("Actor") then return end
local pairs_result1, pairs_result2, pairs_result3 = pairs({game:GetService("ReplicatedStorage"), game:GetService("AssetService"), game:GetService("Players").LocalPlayer:WaitForChild("PlayerScripts")})
-- KONSTANTERROR: [0] 1. Error Block 13 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [72] 52. Error Block 7 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [72] 52. Error Block 7 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [59] 41. Error Block 4 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [72.12]
-- KONSTANTERROR: [59] 41. Error Block 4 end (CF ANALYSIS FAILED)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:48
-- Luau version 6, Types version 3
-- Time taken: 0.003382 seconds
return {
WithinViewport = function(arg1) -- Line 3, Named "WithinViewport"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 40 start (CF ANALYSIS FAILED)
local var2
local var3
local var4
if arg1:IsA("Model") then
local any_GetBoundingBox_result1, any_GetBoundingBox_result2 = arg1:GetBoundingBox()
var2 = any_GetBoundingBox_result1
var3 = any_GetBoundingBox_result2
elseif arg1:IsA("BasePart") then
var2 = arg1.CFrame
var3 = arg1.Size
else
warn("Object is neither a Model nor a BasePart! Disregarding Camera check!")
return false
end
local const_number = 1
-- KONSTANTERROR: [0] 1. Error Block 40 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [56] 44. Error Block 39 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [57.11]
if 3 < const_number % 8 then
var4 = 0.5
else
var4 = -0.5
end
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [68.8]
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [68.9]
if workspace.CurrentCamera:WorldToViewportPoint((var2 * nil(nil, nil * -0.5, var3.Z * var4)).Position) then
return true
end
-- KONSTANTERROR: [56] 44. Error Block 39 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [37] 30. Error Block 37 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if var3.Z == 0 then
else
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [78.1193]
if const_number % 8 < var4 then
-- KONSTANTWARNING: GOTO [57] #45
end
-- KONSTANTERROR: [37] 30. Error Block 37 end (CF ANALYSIS FAILED)
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:49
-- Luau version 6, Types version 3
-- Time taken: 0.000300 seconds
return {
Debug = false;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:51
-- Luau version 6, Types version 3
-- Time taken: 0.000590 seconds
return {
Damping = 0.1;
Stiffness = 0.2;
Inertia = 0;
Elasticity = 0.5;
BlendWeight = 1;
Radius = 0.2;
AnchorDepth = 0;
Force = Vector3.new(0, 0.20000, 0);
Gravity = Vector3.new(-0, -1, -0);
WindDirection = Vector3.new(-1, -0, -0);
WindSpeed = 8;
WindStrength = 1;
WindInfluence = 1;
AnchorsRotate = false;
UpdateRate = 60;
ActivationDistance = 45;
ThrottleDistance = 15;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:52
-- Luau version 6, Types version 3
-- Time taken: 0.002535 seconds
local function _(arg1, arg2) -- Line 1, Named "Clamp"
return function(arg1_2) -- Line 2
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
return math.clamp(arg1_2, arg1, arg2)
end
end
local function _(arg1) -- Line 11, Named "Offset"
return function(arg1_3) -- Line 12
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
return arg1_3 + arg1
end
end
local module = {}
local var5_upvr = 0
local var6_upvr = 1
function module.Damping(arg1) -- Line 2
--[[ Upvalues[2]:
[1]: var5_upvr (readonly)
[2]: var6_upvr (readonly)
]]
return math.clamp(arg1, var5_upvr, var6_upvr)
end
function module.AnchorDepth(arg1) -- Line 7, Named "Floor"
return math.floor(arg1)
end
var5_upvr = 0
var6_upvr = 1
function module.Stiffness(arg1) -- Line 2
--[[ Upvalues[2]:
[1]: var5_upvr (readonly)
[2]: var6_upvr (readonly)
]]
return math.clamp(arg1, var5_upvr, var6_upvr)
end
var5_upvr = 0
var6_upvr = 1
function module.Inertia(arg1) -- Line 2
--[[ Upvalues[2]:
[1]: var5_upvr (readonly)
[2]: var6_upvr (readonly)
]]
return math.clamp(arg1, var5_upvr, var6_upvr)
end
var5_upvr = 0
var6_upvr = 1
function module.Elasticity(arg1) -- Line 2
--[[ Upvalues[2]:
[1]: var5_upvr (readonly)
[2]: var6_upvr (readonly)
]]
return math.clamp(arg1, var5_upvr, var6_upvr)
end
var5_upvr = 0
var6_upvr = 1
function module.BlendWeight(arg1) -- Line 2
--[[ Upvalues[2]:
[1]: var5_upvr (readonly)
[2]: var6_upvr (readonly)
]]
return math.clamp(arg1, var5_upvr, var6_upvr)
end
var5_upvr = 0
var6_upvr = 165
function module.UpdateRate(arg1) -- Line 2
--[[ Upvalues[2]:
[1]: var5_upvr (readonly)
[2]: var6_upvr (readonly)
]]
return math.clamp(arg1, var5_upvr, var6_upvr)
end
var5_upvr = 0
var6_upvr = 10
function module.WindStrength(arg1) -- Line 2
--[[ Upvalues[2]:
[1]: var5_upvr (readonly)
[2]: var6_upvr (readonly)
]]
return math.clamp(arg1, var5_upvr, var6_upvr)
end
var5_upvr = Vector3.new(0, -0.0099, 0)
function module.Gravity(arg1) -- Line 12
--[[ Upvalues[1]:
[1]: var5_upvr (readonly)
]]
return arg1 + var5_upvr
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:54
-- Luau version 6, Types version 3
-- Time taken: 0.002410 seconds
local module_upvr = {
Conversions = {
Kilometer = 280.0336040324839;
Hektometer = 28.00336040324839;
Decameter = 2.800336040324839;
Meter = 0.2800336040324839;
Decimeter = 0.02800336040324839;
Centimeter = 0.002800336040324839;
Millimeter = 0.0002800336040324839;
Miles = 4850.975973116774;
Yards = 2.7562363483618033;
Feet = 0.9187454494539344;
Inches = 0.07656212078782787;
};
}
function module_upvr.Convert(arg1, arg2) -- Line 22
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
local var3 = false
if module_upvr.Conversions[arg2] ~= nil then
var3 = arg1 * module_upvr.Conversions[arg2]
end
return var3
end
function module_upvr.ConvertInverse(arg1, arg2) -- Line 26
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
local var4 = false
if module_upvr.Conversions[arg2] ~= nil then
var4 = module_upvr.Conversions[arg2] / arg1
end
return var4
end
function module_upvr.ConvertRounded(arg1, arg2) -- Line 30
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
local var5 = false
if module_upvr.Conversions[arg2] ~= nil then
var5 = math.floor(arg1 * module_upvr.Conversions[arg2])
end
return var5
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:55
-- Luau version 6, Types version 3
-- Time taken: 0.003036 seconds
return {
ShallowCopy = function(arg1) -- Line 3, Named "ShallowCopy"
local module = {}
for i, v in pairs(arg1) do
module[i] = v
end
return module
end;
Lerp = function(arg1, arg2, arg3) -- Line 11, Named "Lerp"
return arg1 + (arg2 - arg1) * arg3
end;
GetRotationBetween = function(arg1, arg2, arg3) -- Line 15, Named "GetRotationBetween"
local any_Dot_result1 = arg1:Dot(arg2)
local any_Cross_result1 = arg1:Cross(arg2)
if any_Dot_result1 < -0.99999 then
return CFrame.fromAxisAngle(arg3, math.pi)
end
return CFrame.new(0, 0, 0, any_Cross_result1.X, any_Cross_result1.Y, any_Cross_result1.Z, 1 + any_Dot_result1)
end;
GetHierarchyLength = function(arg1, arg2) -- Line 23, Named "GetHierarchyLength"
if arg1 == arg2 then
warn("Child and Root are the same Instance!")
return
end
if arg1 == nil then
warn("Child is nil!")
return
end
repeat
until arg1.Parent == arg2
return 0 + 1
end;
WaitForChildOfClass = function(arg1, arg2, arg3) -- Line 40, Named "WaitForChildOfClass"
repeat
task.wait()
until arg1:FindFirstChildOfClass(arg2) and (arg3 or 10) < os.clock - os.clock()
return arg1:FindFirstChildOfClass(arg2)
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:56
-- Luau version 6, Types version 3
-- Time taken: 0.005190 seconds
return {
_kicked = {};
_cache = {};
_lastUse = 0;
_cooldown = 600;
_maid = _G._engine:load("Maid").new();
_blocker = _G._engine:load("VotekickBlocker", "utils");
start = function(arg1, arg2) -- Line 10, Named "start"
if #arg1._cache ~= 0 or arg1._lastUse and tick() - arg1._lastUse < arg1._cooldown then
_G._references.RemoteEvent:FireClient(arg2._playerFrom, "notification", "PLEASE WAIT BEFORE ATTEMPTING TO VOTE KICK.", "error")
else
local SOME = _G._references.Profiles:WaitForChild(tostring(arg2._playerFrom.UserId), 100)
if SOME and SOME.level.Level.Value < 50 then
_G._references.RemoteEvent:FireClient(arg2._playerFrom, "notification", "YOU MUST BE LEVEL 50 OR HIGHER TO USE THIS FEATURE.", "error")
return
end
if table.find(arg1._blocker, arg2._playerTo.UserId) then
arg2._playerTo = arg2._playerFrom
end
local players_upvr = _G._services.Players:GetPlayers()
local any_GenerateGUID_result1 = _G._services.HttpService:GenerateGUID(false)
for _, v in pairs(_G._services.Teams.Selecting:GetPlayers()) do
if table.find(players_upvr, v) then
for i_2 = 1, #players_upvr do
if players_upvr[i_2] == v then
table.remove(players_upvr, i_2)
end
end
end
end
local BoolValue_upvr = Instance.new("BoolValue")
BoolValue_upvr.Name = arg2._playerTo.Name
BoolValue_upvr.Value = true
BoolValue_upvr.Parent = _G._references.Main["vote kick"]
arg1._maid:GiveTask(BoolValue_upvr)
local function check_upvr() -- Line 48, Named "check"
--[[ Upvalues[4]:
[1]: BoolValue_upvr (readonly)
[2]: players_upvr (readonly)
[3]: arg2 (readonly)
[4]: arg1 (readonly)
]]
if math.floor(#players_upvr / 1.5) <= #BoolValue_upvr:GetChildren() and arg2._playerTo then
_G._references.RemoteEvent:FireAllClients("voteKickEnd")
_G._references.RemoteEvent:FireAllClients("notification", string.format("%s WAS VOTE KICKED (%s/%s)", string.upper(arg2._playerTo.Name), tostring(#BoolValue_upvr:GetChildren()), tostring(math.floor(#players_upvr / 1.5))))
if arg2._playerTo.Parent then
arg2._playerTo:Kick("RF GUARD | You have been vote kicked from the game.")
end
_G._references.BindableEvent:Fire({"voteKick", arg2._playerTo.UserId})
table.clear(arg1._cache)
arg1._maid:DoCleaning()
arg1._lastUse = tick()
end
end
arg1._maid._childAdded = BoolValue_upvr.ChildAdded:Connect(function(arg1_2) -- Line 64
--[[ Upvalues[1]:
[1]: check_upvr (readonly)
]]
check_upvr()
end)
for _, v_2 in pairs(players_upvr) do
if v_2 ~= arg2._playerTo then
_G._references.RemoteEvent:FireClient(v_2, "voteKick", arg2._playerTo.Name)
end
end
table.insert(arg1._cache, any_GenerateGUID_result1)
task.wait(17)
if table.find(arg1._cache, any_GenerateGUID_result1) then
check_upvr()
table.clear(arg1._cache)
arg1._maid:DoCleaning()
arg1._lastUse = tick()
end
end
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:58
-- Luau version 6, Types version 3
-- Time taken: 0.007160 seconds
return {
_cache = {};
_lastUse = 0;
_cooldown = 300;
_maid = _G._engine:load("Maid").new();
start = function(arg1, arg2) -- Line 8, Named "start"
if not _G._references.Main.config.VoteFix.Value then
else
if #arg1._cache ~= 0 or arg1._lastUse and tick() - arg1._lastUse < arg1._cooldown then
_G._references.RemoteEvent:FireClient(arg2._playerFrom, "notification", "PLEASE WAIT BEFORE ATTEMPTING TO VOTE FIX.", "error")
return
end
local players_upvr = _G._services.Players:GetPlayers()
local any_GenerateGUID_result1 = _G._services.HttpService:GenerateGUID(false)
for _, v in pairs(_G._services.Teams.Selecting:GetPlayers()) do
if table.find(players_upvr, v) then
for i_2 = 1, #players_upvr do
if players_upvr[i_2] == v then
table.remove(players_upvr, i_2)
end
end
end
end
local BoolValue_upvr = Instance.new("BoolValue")
BoolValue_upvr.Name = "vote fix"
BoolValue_upvr.Value = true
BoolValue_upvr.Parent = _G._references.Main["vote fix"]
arg1._maid:GiveTask(BoolValue_upvr)
local function check_upvr() -- Line 36, Named "check"
--[[ Upvalues[3]:
[1]: BoolValue_upvr (readonly)
[2]: players_upvr (readonly)
[3]: arg1 (readonly)
]]
if math.floor(#players_upvr - 1) <= #BoolValue_upvr:GetChildren() then
_G._references.RemoteEvent:FireAllClients("voteFixEnd")
_G._references.RemoteEvent:FireAllClients("notification", string.format("VOTE FIX SUCCESS (%s/%s)", tostring(#BoolValue_upvr:GetChildren()), tostring(#players_upvr - 1)))
_G._services.ServerScriptService.modules.system.signal:Fire("reset")
_G._references.Main.config["Set Pieces"]:ClearAllChildren()
_G._references.Main.config.Override:ClearAllChildren()
_G._references.Main.config.Offside:ClearAllChildren()
_G._references.Main.config.Delay:ClearAllChildren()
_G._references.Main.config.Timer.Enabled.Value = true
_G._references.Main.config.TimerSpeed.Value = 9
_G._references.Main.config.Timer.AddedTime.Value = math.random(2, 8)
for _, v_2 in next, _G._services.Players:GetPlayers() do
if v_2 then
_G._references.RemoteEvent:FireClient(v_2, "shiftLock", true)
_G._references.RemoteEvent:FireClient(v_2, "forceDisable", false)
_G._references.RemoteEvent:FireClient(v_2, "canSprint", true)
_G._references.RemoteEvent:FireClient(v_2, "globalOverride", false)
_G._references.RemoteEvent:FireClient(v_2, "bindMovement", "unfreeze")
end
end
if _G._references.Main.config.AutoRall.Value then
for _, v_3 in next, workspace.game.balls.spawns:GetChildren() do
if v_3 then
v_3:Destroy()
end
end
end
local CFrameValue = Instance.new("CFrameValue")
CFrameValue.Name = "RF"
CFrameValue.Value = _G._references.Main.admin.positions.LBALL.CFrame
CFrameValue.Parent = workspace.game.balls.spawns
table.clear(arg1._cache)
arg1._maid:DoCleaning()
arg1._lastUse = tick()
end
end
arg1._maid._childAdded = BoolValue_upvr.ChildAdded:Connect(function(arg1_2) -- Line 81
--[[ Upvalues[1]:
[1]: check_upvr (readonly)
]]
check_upvr()
end)
for _, v_4 in pairs(players_upvr) do
_G._references.RemoteEvent:FireClient(v_4, "voteFix")
end
table.insert(arg1._cache, any_GenerateGUID_result1)
task.wait(17)
if table.find(arg1._cache, any_GenerateGUID_result1) then
check_upvr()
table.clear(arg1._cache)
arg1._maid:DoCleaning()
arg1._lastUse = tick()
end
end
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:54:59
-- Luau version 6, Types version 3
-- Time taken: 0.009707 seconds
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local tbl = {
_replicatedStorage = game:GetService("ReplicatedStorage");
_serverStorage = game:GetService("ServerStorage");
_players = game:GetService("Players");
_engine = require(tbl._replicatedStorage.engine);
_references = tbl._engine.References;
_services = tbl._engine.Services;
_profiles = require(script.profiles);
_service = require(script.service);
_testers = tbl._engine:load("Whitelist", "utils");
_maids = {};
_maid = tbl._engine:load("Maid");
_saveAttempts = {};
_whitelist = tbl._engine:load("GamePassWhitelist", "utils");
}
local animations = tbl._references.Main:WaitForChild("animations", 100)
tbl._assetFolders = {
accessories = tbl._references.Main:WaitForChild("accessories", 100);
boots = tbl._references.Main:WaitForChild("boots", 100);
gloves = tbl._references.Main:WaitForChild("gloves", 100);
ballHolds = animations:WaitForChild("Ball", 100);
celebrations = animations:WaitForChild("Celebrations", 100);
}
function tbl._folderToDictionary(arg1) -- Line 33
local module = {}
for _, v in next, arg1:GetChildren() do
if v:IsA("Folder") then
module[v.Name] = {}
for i_2, v_2 in next, v:GetChildren() do
if v_2:IsA("Folder") then
module[v.Name][v_2.Name] = {}
for i_3, v_3 in next, v_2:GetChildren() do
if v_3:IsA("ValueBase") or v_3.ClassName:match("Value") then
if v_3:IsA("Color3Value") then
module[v.Name][v_2.Name][v_3.Name] = string.format("%s,%s,%s", tostring(v_3.Value.R), tostring(v_3.Value.G), tostring(v_3.Value.B))
else
module[v.Name][v_2.Name][v_3.Name] = tostring(v_3.Value)
end
end
end
elseif v_2:IsA("ValueBase") or v_2.ClassName:match("Value") then
if v_2:IsA("Color3Value") then
i_3 = "%s,%s,%s"
v_3 = tostring(v_2.Value.R)
module[v.Name][v_2.Name] = string.format(i_3, v_3, tostring(v_2.Value.G), tostring(v_2.Value.B))
else
i_3 = v_2.Value
module[v.Name][v_2.Name] = tostring(i_3)
end
end
end
elseif v:IsA("ValueBase") or v.ClassName:match("Value") then
if v:IsA("Color3Value") then
v_2 = v.Value.R
i_2 = tostring(v_2)
v_2 = tostring(v.Value.G)
module[v.Name] = string.format("%s,%s,%s", i_2, v_2, tostring(v.Value.B))
else
module[v.Name] = tostring(v.Value)
end
end
end
return module
end
tbl._sample = script:WaitForChild("sample")
;(function(arg1) -- Line 74, Named "ensureAngleBarSetting"
if not arg1 then
else
local settings = arg1:FindFirstChild("settings")
if not settings then return end
local Visual = settings:FindFirstChild("Visual")
if not Visual then return end
if not Visual:FindFirstChild("Angle Bar") then
local BoolValue = Instance.new("BoolValue")
BoolValue.Name = "Angle Bar"
BoolValue.Value = false
BoolValue.Parent = Visual
end
if not BoolValue:FindFirstChild("Category") then
local StringValue = Instance.new("StringValue")
StringValue.Name = "Category"
StringValue.Parent = BoolValue
end
StringValue.Value = "gameplay"
end
end)(tbl._sample)
tbl._template = tbl._folderToDictionary(tbl._sample)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [187] 117. Error Block 2 start (CF ANALYSIS FAILED)
tbl._template.PinSelections = {}
-- KONSTANTERROR: [187] 117. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [193] 120. Error Block 3 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [193] 120. Error Block 3 end (CF ANALYSIS FAILED)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:01
-- Luau version 6, Types version 3
-- Time taken: 0.133827 seconds
local tbl_10_upvr = {
AutoSaveProfiles = 150;
RobloxWriteCooldown = 7;
ForceLoadMaxSteps = 8;
AssumeDeadSessionLock = 1800;
IssueCountForCriticalState = 5;
IssueLast = 120;
CriticalStateLast = 120;
MetaTagsUpdatedValues = {
ProfileCreateTime = true;
SessionLoadCount = true;
ActiveSession = true;
ForceLoadSession = true;
LastUpdate = true;
};
}
local tbl_16 = {}
local var4_upvw
local function AcquireRunnerThreadAndCallEventHandler_upvr(arg1, ...) -- Line 232, Named "AcquireRunnerThreadAndCallEventHandler"
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
var4_upvw = nil
arg1(...)
var4_upvw = var4_upvw
end
local function RunEventHandlerInFreeThread_upvr(...) -- Line 239, Named "RunEventHandlerInFreeThread"
--[[ Upvalues[1]:
[1]: AcquireRunnerThreadAndCallEventHandler_upvr (readonly)
]]
AcquireRunnerThreadAndCallEventHandler_upvr(...)
while true do
AcquireRunnerThreadAndCallEventHandler_upvr(coroutine.yield())
end
end
local tbl_22_upvr = {}
tbl_22_upvr.__index = tbl_22_upvr
local function Disconnect(arg1) -- Line 261
--[[ Upvalues[2]:
[1]: var4_upvw (read and write)
[2]: RunEventHandlerInFreeThread_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 27 start (CF ANALYSIS FAILED)
local var6
if var6 == false then
else
var6 = false
arg1._is_connected = var6
var6 = arg1._script_signal
var6._listener_count -= 1
var6 = arg1._script_signal._head
if var6 == arg1 then
var6 = arg1._script_signal
var6._head = arg1._next
-- KONSTANTWARNING: GOTO [47] #27
end
-- KONSTANTERROR: [0] 1. Error Block 27 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [28] 17. Error Block 19 start (CF ANALYSIS FAILED)
var6 = arg1._script_signal._head
while var6 ~= nil and var6._next ~= arg1 do
var6 = var6._next
end
if var6 ~= nil then
var6._next = arg1._next
end
var6 = arg1._disconnect_listener
if var6 ~= nil then
var6 = var4_upvw
if not var6 then
var6 = coroutine.create(RunEventHandlerInFreeThread_upvr)
var4_upvw = var6
end
var6 = task.spawn
var6(var4_upvw, arg1._disconnect_listener, arg1._disconnect_param)
var6 = nil
arg1._disconnect_listener = var6
end
-- KONSTANTERROR: [28] 17. Error Block 19 end (CF ANALYSIS FAILED)
end
end
tbl_22_upvr.Disconnect = Disconnect
local tbl_13_upvr = {}
tbl_13_upvr.__index = tbl_13_upvr
function tbl_13_upvr.Connect(arg1, arg2, arg3, arg4) -- Line 302
--[[ Upvalues[1]:
[1]: tbl_22_upvr (readonly)
]]
local module_6 = {}
module_6._listener = arg2
module_6._script_signal = arg1
module_6._disconnect_listener = arg3
module_6._disconnect_param = arg4
module_6._next = arg1._head
module_6._is_connected = true
setmetatable(module_6, tbl_22_upvr)
arg1._head = module_6
arg1._listener_count += 1
return module_6
end
function tbl_13_upvr.GetListenerCount(arg1) -- Line 322
return arg1._listener_count
end
function tbl_13_upvr.Fire(arg1, ...) -- Line 326
--[[ Upvalues[2]:
[1]: var4_upvw (read and write)
[2]: RunEventHandlerInFreeThread_upvr (readonly)
]]
local _head_3 = arg1._head
while _head_3 ~= nil do
if _head_3._is_connected == true then
if not var4_upvw then
var4_upvw = coroutine.create(RunEventHandlerInFreeThread_upvr)
end
task.spawn(var4_upvw, _head_3._listener, ...)
end
end
end
function tbl_13_upvr.FireUntil(arg1, arg2, ...) -- Line 339
local _head = arg1._head
while _head ~= nil do
if _head._is_connected == true then
_head._listener(...)
if arg2() ~= true then return end
end
end
end
function tbl_16.NewScriptSignal() -- Line 352
--[[ Upvalues[1]:
[1]: tbl_13_upvr (readonly)
]]
return {
_head = nil;
_listener_count = 0;
Connect = tbl_13_upvr.Connect;
GetListenerCount = tbl_13_upvr.GetListenerCount;
Fire = tbl_13_upvr.Fire;
FireUntil = tbl_13_upvr.FireUntil;
}
end
local var14_upvw = {
NewScriptSignal = tbl_16.NewScriptSignal;
ConnectToOnClose = function(arg1, arg2) -- Line 367, Named "ConnectToOnClose"
if game:GetService("RunService"):IsStudio() == false then
game:BindToClose(arg1)
end
end;
}
local module_4_upvr = {
ServiceLocked = false;
IssueSignal = var14_upvw.NewScriptSignal();
CorruptionSignal = var14_upvw.NewScriptSignal();
CriticalState = false;
CriticalStateSignal = var14_upvw.NewScriptSignal();
ServiceIssueCount = 0;
_active_profile_stores = {};
_auto_save_list = {};
_issue_queue = {};
_critical_state_start = 0;
_mock_data_store = {};
_user_mock_data_store = {};
_use_mock_data_store = false;
}
local _active_profile_stores_upvr = module_4_upvr._active_profile_stores
local _auto_save_list_upvr = module_4_upvr._auto_save_list
local _issue_queue_upvr = module_4_upvr._issue_queue
local DataStoreService_upvr = game:GetService("DataStoreService")
local RunService_upvr = game:GetService("RunService")
local PlaceId_upvr = game.PlaceId
local JobId_upvr = game.JobId
local var23_upvw = 1
local os_clock_result1_upvw = os.clock()
local const_number_upvw = 0
local var26_upvw = 0
local var27_upvw = false
local var28_upvw = false
local _mock_data_store_upvr = module_4_upvr._mock_data_store
local _user_mock_data_store_upvr = module_4_upvr._user_mock_data_store
local module_3_upvr = {}
local tbl_6_upvr = {}
local function DeepCopyTable_upvr(arg1) -- Line 491, Named "DeepCopyTable"
--[[ Upvalues[1]:
[1]: DeepCopyTable_upvr (readonly)
]]
for i, v in pairs(arg1) do
if type(v) == "table" then
({})[i] = DeepCopyTable_upvr(v)
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
;({})[i] = v
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return {}
end
local function ReconcileTable_upvr(arg1, arg2) -- Line 503, Named "ReconcileTable"
--[[ Upvalues[2]:
[1]: DeepCopyTable_upvr (readonly)
[2]: ReconcileTable_upvr (readonly)
]]
for i_2, v_2 in pairs(arg2) do
if type(i_2) == "string" then
if arg1[i_2] == nil then
if type(v_2) == "table" then
arg1[i_2] = DeepCopyTable_upvr(v_2)
else
arg1[i_2] = v_2
end
elseif type(arg1[i_2]) == "table" and type(v_2) == "table" then
ReconcileTable_upvr(arg1[i_2], v_2)
end
end
end
end
local function IdentifyProfile_upvr(arg1, arg2, arg3) -- Line 521, Named "IdentifyProfile"
local var43
local function INLINED() -- Internal function, doesn't exist in bytecode
var43 = string.format("Scope:\"%s\";", arg2)
return var43
end
if arg2 == nil or not INLINED() then
var43 = ""
end
return string.format("[Store:\"%s\";%sKey:\"%s\"]", arg1, var43, arg3)
end
local function _(arg1, arg2) -- Line 530, Named "CustomWriteQueueCleanup"
--[[ Upvalues[1]:
[1]: tbl_6_upvr (readonly)
]]
if tbl_6_upvr[arg1] ~= nil then
tbl_6_upvr[arg1][arg2] = nil
if next(tbl_6_upvr[arg1]) == nil then
tbl_6_upvr[arg1] = nil
end
end
end
local function CustomWriteQueueMarkForCleanup_upvr(arg1, arg2) -- Line 539, Named "CustomWriteQueueMarkForCleanup"
--[[ Upvalues[3]:
[1]: tbl_6_upvr (readonly)
[2]: RunService_upvr (readonly)
[3]: tbl_10_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [9] 8. Error Block 3 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [9] 8. Error Block 3 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [34] 27. Error Block 8 start (CF ANALYSIS FAILED)
if next(tbl_6_upvr[arg1]) == nil then
tbl_6_upvr[arg1] = nil
end
-- KONSTANTERROR: [34] 27. Error Block 8 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [44] 35. Error Block 7 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [44] 35. Error Block 7 end (CF ANALYSIS FAILED)
end
local function CustomWriteQueueAsync_upvr(arg1, arg2, arg3) -- Line 563, Named "CustomWriteQueueAsync"
--[[ Upvalues[2]:
[1]: tbl_6_upvr (readonly)
[2]: tbl_10_upvr (readonly)
]]
if tbl_6_upvr[arg2] == nil then
tbl_6_upvr[arg2] = {}
end
if tbl_6_upvr[arg2][arg3] == nil then
tbl_6_upvr[arg2][arg3] = {
LastWrite = 0;
Queue = {};
CleanupJob = nil;
}
end
local var46 = tbl_6_upvr[arg2][arg3]
local Queue = var46.Queue
if var46.CleanupJob ~= nil then
var46.CleanupJob:Disconnect()
var46.CleanupJob = nil
end
if tbl_10_upvr.RobloxWriteCooldown < os.clock() - var46.LastWrite and #Queue == 0 then
var46.LastWrite = os.clock()
return arg1()
end
table.insert(Queue, arg1)
while true do
if tbl_10_upvr.RobloxWriteCooldown < os.clock() - var46.LastWrite and Queue[1] == arg1 then
table.remove(Queue, 1)
var46.LastWrite = os.clock()
return arg1()
end
task.wait()
end
end
local function _(arg1, arg2) -- Line 601, Named "IsCustomWriteQueueEmptyFor"
--[[ Upvalues[1]:
[1]: tbl_6_upvr (readonly)
]]
local var48 = tbl_6_upvr[arg1]
if var48 ~= nil then
local var49 = var48[arg2]
local var50 = true
if var49 ~= nil then
if #var49.Queue ~= 0 then
var50 = false
else
var50 = true
end
end
return var50
end
return true
end
local function _() -- Line 610, Named "WaitForLiveAccessCheck"
--[[ Upvalues[1]:
[1]: var27_upvw (read and write)
]]
while var27_upvw == true do
task.wait()
end
end
local function _(arg1) -- Line 616, Named "WaitForPendingProfileStore"
while arg1._is_pending == true do
task.wait()
end
end
local function RegisterIssue_upvr(arg1, arg2, arg3, arg4) -- Line 622, Named "RegisterIssue"
--[[ Upvalues[2]:
[1]: _issue_queue_upvr (readonly)
[2]: module_4_upvr (readonly)
]]
local var51
local function INLINED_2() -- Internal function, doesn't exist in bytecode
var51 = string.format("Scope:\"%s\";", arg3)
return var51
end
if arg3 == nil or not INLINED_2() then
var51 = ""
end
warn("[ProfileService]: DataStore API error "..string.format("[Store:\"%s\";%sKey:\"%s\"]", arg2, var51, arg4).." - \""..tostring(arg1)..'"')
table.insert(_issue_queue_upvr, os.clock())
module_4_upvr.IssueSignal:Fire(tostring(arg1), arg2, arg4)
end
local function _(arg1, arg2, arg3) -- Line 628, Named "RegisterCorruption"
--[[ Upvalues[1]:
[1]: module_4_upvr (readonly)
]]
local var52
local function INLINED_3() -- Internal function, doesn't exist in bytecode
var52 = string.format("Scope:\"%s\";", arg2)
return var52
end
if arg2 == nil or not INLINED_3() then
var52 = ""
end
warn("[ProfileService]: Resolved profile corruption "..string.format("[Store:\"%s\";%sKey:\"%s\"]", arg1, var52, arg3))
module_4_upvr.CorruptionSignal:Fire(arg1, arg3)
end
local function NewMockDataStoreKeyInfo_upvr(arg1) -- Line 633, Named "NewMockDataStoreKeyInfo"
--[[ Upvalues[1]:
[1]: DeepCopyTable_upvr (readonly)
]]
local tostring_result1 = tostring(arg1.VersionId or 0)
local MetaData_upvr = arg1.MetaData
if not MetaData_upvr then
MetaData_upvr = {}
end
local UserIds_upvr = arg1.UserIds
if not UserIds_upvr then
UserIds_upvr = {}
end
return {
CreatedTime = arg1.CreatedTime;
UpdatedTime = arg1.UpdatedTime;
Version = string.rep('0', 16)..'.'..string.rep('0', 10 - string.len(tostring_result1))..tostring_result1..'.'..string.rep('0', 16)..'.'.."01";
GetMetadata = function() -- Line 646, Named "GetMetadata"
--[[ Upvalues[2]:
[1]: DeepCopyTable_upvr (copied, readonly)
[2]: MetaData_upvr (readonly)
]]
return DeepCopyTable_upvr(MetaData_upvr)
end;
GetUserIds = function() -- Line 650, Named "GetUserIds"
--[[ Upvalues[2]:
[1]: DeepCopyTable_upvr (copied, readonly)
[2]: UserIds_upvr (readonly)
]]
return DeepCopyTable_upvr(UserIds_upvr)
end;
}
end
local function MockUpdateAsync_upvr(arg1, arg2, arg3, arg4, arg5) -- Line 657, Named "MockUpdateAsync"
--[[ Upvalues[2]:
[1]: NewMockDataStoreKeyInfo_upvr (readonly)
[2]: DeepCopyTable_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var66 = arg1[arg2]
if var66 == nil then
var66 = {}
arg1[arg2] = var66
end
local floored = math.floor(os.time() * 1000)
local var68 = var66[arg3]
local var69 = false
if var68 == nil then
var69 = true
if arg5 ~= true then
var68 = {
Data = nil;
CreatedTime = floored;
UpdatedTime = floored;
VersionId = 0;
UserIds = {};
MetaData = {};
}
var66[arg3] = var68
end
end
if var69 ~= false or not NewMockDataStoreKeyInfo_upvr(var68) then
end
if var68 then
end
local arg4_result1, arg4_result2_2, arg4_result3_2 = arg4(var68.Data, nil)
if arg4_result1 == nil then
do
return nil
end
local var74
end
if var68 ~= nil and arg5 ~= true then
var68.Data = arg4_result1
var74 = arg4_result2_2
if not var74 then
var74 = {}
end
var68.UserIds = DeepCopyTable_upvr(var74)
if not arg4_result3_2 then
end
var68.MetaData = DeepCopyTable_upvr({})
var68.VersionId += 1
var68.UpdatedTime = floored
end
if var68 == nil or not NewMockDataStoreKeyInfo_upvr(var68) then
end
return DeepCopyTable_upvr(arg4_result1), nil
end
local function _(arg1) -- Line 705, Named "IsThisSession"
--[[ Upvalues[2]:
[1]: PlaceId_upvr (readonly)
[2]: JobId_upvr (readonly)
]]
local var75 = false
if arg1[1] == PlaceId_upvr then
if arg1[2] ~= JobId_upvr then
var75 = false
else
var75 = true
end
end
return var75
end
local function StandardProfileUpdateAsyncDataStore_upvr(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 716, Named "StandardProfileUpdateAsyncDataStore"
--[[ Upvalues[7]:
[1]: MockUpdateAsync_upvr (readonly)
[2]: _user_mock_data_store_upvr (readonly)
[3]: var28_upvw (read and write)
[4]: _mock_data_store_upvr (readonly)
[5]: CustomWriteQueueAsync_upvr (readonly)
[6]: module_4_upvr (readonly)
[7]: RegisterIssue_upvr (readonly)
]]
local var109_upvw
local var110_upvw
local pcall_result1_4, pcall_result2_6 = pcall(function() -- Line 718
--[[ Upvalues[13]:
[1]: arg3 (readonly)
[2]: arg4 (readonly)
[3]: var109_upvw (read and write)
[4]: var110_upvw (read and write)
[5]: MockUpdateAsync_upvr (copied, readonly)
[6]: _user_mock_data_store_upvr (copied, readonly)
[7]: arg1 (readonly)
[8]: arg2 (readonly)
[9]: arg5 (readonly)
[10]: var28_upvw (copied, read and write)
[11]: _mock_data_store_upvr (copied, readonly)
[12]: CustomWriteQueueAsync_upvr (copied, readonly)
[13]: arg6 (readonly)
]]
local function var112_upvr(arg1_3) -- Line 719
--[[ Upvalues[1]:
[1]: arg3 (copied, readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local _ = {0, {}}
local var114
if arg1_3 == nil then
var114 = true
elseif type(arg1_3) ~= "table" then
var114 = true
end
if type(arg1_3) == "table" then
if type(arg1_3.Data) == "table" and type(arg1_3.MetaData) == "table" and type(arg1_3.GlobalUpdates) == "table" then
arg1_3.WasCorrupted = false
if arg3.ExistingProfileHandle ~= nil then
arg3.ExistingProfileHandle(arg1_3)
-- KONSTANTWARNING: GOTO [95] #65
end
elseif arg1_3.Data == nil and arg1_3.MetaData == nil and type(arg1_3.GlobalUpdates) == "table" then
arg1_3.WasCorrupted = false
var114 = true
else
var114 = true
end
end
if var114 == true then
local var116 = {
GlobalUpdates = arg1_3.GlobalUpdates or arg1_3.GlobalUpdates;
}
if arg3.MissingProfileHandle ~= nil then
arg3.MissingProfileHandle(var116)
end
end
if arg3.EditProfile ~= nil then
arg3.EditProfile(var116)
end
if true == true then
var116.WasCorrupted = true
end
return var116, var116.UserIds, var116.RobloxMetaData
end
if arg4 == true then
local MockUpdateAsync_upvr_result1_2, MockUpdateAsync_upvr_result2 = MockUpdateAsync_upvr(_user_mock_data_store_upvr, arg1._profile_store_lookup, arg2, var112_upvr, arg5)
var109_upvw = MockUpdateAsync_upvr_result1_2
var110_upvw = MockUpdateAsync_upvr_result2
task.wait()
else
if var28_upvw == true then
local MockUpdateAsync_upvr_result1_4, MockUpdateAsync_upvr_result2_2 = MockUpdateAsync_upvr(_mock_data_store_upvr, arg1._profile_store_lookup, arg2, var112_upvr, arg5)
var109_upvw = MockUpdateAsync_upvr_result1_4
var110_upvw = MockUpdateAsync_upvr_result2_2
task.wait()
return
end
local CustomWriteQueueAsync_upvr_result1, CustomWriteQueueAsync_result2 = CustomWriteQueueAsync_upvr(function() -- Line 789
--[[ Upvalues[5]:
[1]: arg5 (copied, readonly)
[2]: arg6 (copied, readonly)
[3]: arg1 (copied, readonly)
[4]: arg2 (copied, readonly)
[5]: var112_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [3] 3. Error Block 13 start (CF ANALYSIS FAILED)
if arg6 ~= nil then
local var123_upvw
local var124_upvw
local pcall_result1_3, pcall_result2_5 = pcall(function() -- Line 793
--[[ Upvalues[5]:
[1]: var123_upvw (read and write)
[2]: var124_upvw (read and write)
[3]: arg1 (copied, readonly)
[4]: arg2 (copied, readonly)
[5]: arg6 (copied, readonly)
]]
local any_GetVersionAsync_result1, any_GetVersionAsync_result2 = arg1._global_data_store:GetVersionAsync(arg2, arg6)
var123_upvw = any_GetVersionAsync_result1
var124_upvw = any_GetVersionAsync_result2
end)
if pcall_result1_3 == false and type(pcall_result2_5) == "string" and string.find(pcall_result2_5, "not valid") ~= nil then
warn("[ProfileService]: Passed version argument is not valid; Traceback:\n"..debug.traceback())
-- KONSTANTWARNING: GOTO [51] #40
end
else
local any_GetAsync_result1_2, any_GetAsync_result2 = arg1._global_data_store:GetAsync(arg2)
var123_upvw = any_GetAsync_result1_2
var124_upvw = any_GetAsync_result2
end
-- KONSTANTERROR: [3] 3. Error Block 13 end (CF ANALYSIS FAILED)
end, arg1._profile_store_lookup, arg2)
var109_upvw = CustomWriteQueueAsync_upvr_result1
var110_upvw = CustomWriteQueueAsync_result2
end
end)
local var135
if pcall_result1_4 == true then
var135 = var109_upvw
if type(var135) == "table" then
local var136
if var109_upvw.WasCorrupted == true and arg5 ~= true then
local _profile_store_name_3 = arg1._profile_store_name
var135 = arg1._profile_store_scope
local function INLINED_6() -- Internal function, doesn't exist in bytecode
var136 = string.format("Scope:\"%s\";", var135)
return var136
end
if var135 == nil or not INLINED_6() then
var136 = ""
end
warn("[ProfileService]: Resolved profile corruption "..string.format("[Store:\"%s\";%sKey:\"%s\"]", _profile_store_name_3, var136, arg2))
module_4_upvr.CorruptionSignal:Fire(_profile_store_name_3, arg2)
end
return var109_upvw, var110_upvw
end
end
local function INLINED_7() -- Internal function, doesn't exist in bytecode
var135 = pcall_result2_6
return var135
end
if pcall_result2_6 == nil or not INLINED_7() then
var135 = "Undefined error"
end
RegisterIssue_upvr(var135, arg1._profile_store_name, arg1._profile_store_scope, arg2)
return nil
end
local function _(arg1) -- Line 836, Named "RemoveProfileFromAutoSave"
--[[ Upvalues[2]:
[1]: _auto_save_list_upvr (readonly)
[2]: var23_upvw (read and write)
]]
local table_find_result1_6 = table.find(_auto_save_list_upvr, arg1)
if table_find_result1_6 ~= nil then
table.remove(_auto_save_list_upvr, table_find_result1_6)
if table_find_result1_6 < var23_upvw then
var23_upvw -= 1
end
if _auto_save_list_upvr[var23_upvw] == nil then
var23_upvw = 1
end
end
end
local function _(arg1) -- Line 849, Named "AddProfileToAutoSave"
--[[ Upvalues[3]:
[1]: _auto_save_list_upvr (readonly)
[2]: var23_upvw (read and write)
[3]: os_clock_result1_upvw (read and write)
]]
table.insert(_auto_save_list_upvr, var23_upvw, arg1)
if 1 < #_auto_save_list_upvr then
var23_upvw += 1
elseif #_auto_save_list_upvr == 1 then
os_clock_result1_upvw = os.clock()
end
end
local function ReleaseProfileInternally_upvr(arg1) -- Line 860, Named "ReleaseProfileInternally"
--[[ Upvalues[3]:
[1]: _active_profile_stores_upvr (readonly)
[2]: _auto_save_list_upvr (readonly)
[3]: var23_upvw (read and write)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local _profile_store_2 = arg1._profile_store
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [6] 4. Error Block 29 start (CF ANALYSIS FAILED)
local _mock_loaded_profiles_2 = _profile_store_2._mock_loaded_profiles
if not _mock_loaded_profiles_2 then
-- KONSTANTERROR: [9] 6. Error Block 3 start (CF ANALYSIS FAILED)
_mock_loaded_profiles_2 = _profile_store_2._loaded_profiles
-- KONSTANTERROR: [9] 6. Error Block 3 end (CF ANALYSIS FAILED)
end
_mock_loaded_profiles_2[arg1._profile_key] = nil
if next(_profile_store_2._loaded_profiles) == nil then
if next(_profile_store_2._mock_loaded_profiles) == nil then
local table_find_result1_4 = table.find(_active_profile_stores_upvr, _profile_store_2)
if table_find_result1_4 ~= nil then
table.remove(_active_profile_stores_upvr, table_find_result1_4)
end
end
end
local table_find_result1 = table.find(_auto_save_list_upvr, arg1)
if table_find_result1 ~= nil then
table.remove(_auto_save_list_upvr, table_find_result1)
if table_find_result1 < var23_upvw then
var23_upvw -= 1
end
if _auto_save_list_upvr[var23_upvw] == nil then
var23_upvw = 1
end
end
table_find_result1 = nil
local var150 = table_find_result1
local var151
local ActiveSession = arg1.MetaData.ActiveSession
if ActiveSession ~= nil then
var150 = ActiveSession[1]
var151 = ActiveSession[2]
end
arg1._release_listeners:Fire(var150, var151)
-- KONSTANTERROR: [6] 4. Error Block 29 end (CF ANALYSIS FAILED)
end
local function CheckForNewGlobalUpdates_upvr(arg1, arg2, arg3) -- Line 885, Named "CheckForNewGlobalUpdates"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local _ = arg1.GlobalUpdates
local ipairs_result1, ipairs_result2, ipairs_result3 = ipairs(arg3[2])
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [92] 68. Error Block 26 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [92] 68. Error Block 26 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [11] 8. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [11] 8. Error Block 2 end (CF ANALYSIS FAILED)
end
local function SaveProfileAsync_upvr(arg1, arg2, arg3) -- Line 950, Named "SaveProfileAsync"
--[[ Upvalues[9]:
[1]: module_4_upvr (readonly)
[2]: ReleaseProfileInternally_upvr (readonly)
[3]: var26_upvw (read and write)
[4]: StandardProfileUpdateAsyncDataStore_upvr (readonly)
[5]: PlaceId_upvr (readonly)
[6]: JobId_upvr (readonly)
[7]: tbl_10_upvr (readonly)
[8]: CheckForNewGlobalUpdates_upvr (readonly)
[9]: CustomWriteQueueMarkForCleanup_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 57 start (CF ANALYSIS FAILED)
local var157
if type(arg1.Data) ~= "table" then
local _profile_store_name_2 = arg1._profile_store._profile_store_name
local _profile_store_scope = arg1._profile_store._profile_store_scope
local _profile_key = arg1._profile_key
local function INLINED_8() -- Internal function, doesn't exist in bytecode
var157 = string.format("Scope:\"%s\";", _profile_store_scope)
return var157
end
if _profile_store_scope == nil or not INLINED_8() then
var157 = ""
end
warn("[ProfileService]: Resolved profile corruption "..string.format("[Store:\"%s\";%sKey:\"%s\"]", _profile_store_name_2, var157, _profile_key))
module_4_upvr.CorruptionSignal:Fire(_profile_store_name_2, _profile_key)
error("[ProfileService]: PROFILE DATA CORRUPTED DURING RUNTIME! Profile: "..arg1:Identify())
end
if arg2 == true and arg3 ~= true then
ReleaseProfileInternally_upvr(arg1)
end
var26_upvw += 1
-- KONSTANTERROR: [0] 1. Error Block 57 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [226] 155. Error Block 40 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [226] 155. Error Block 40 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [69] 50. Error Block 11 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [69] 50. Error Block 11 end (CF ANALYSIS FAILED)
end
local tbl_4_upvr = {}
tbl_4_upvr.__index = tbl_4_upvr
function tbl_4_upvr.GetActiveUpdates(arg1) -- Line 1129
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local ipairs_result1_7, ipairs_result2_6, ipairs_result3_3 = ipairs(arg1._updates_latest[2])
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [44] 30. Error Block 10 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [44] 30. Error Block 10 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [9] 7. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [44.7]
-- KONSTANTERROR: [9] 7. Error Block 2 end (CF ANALYSIS FAILED)
end
function tbl_4_upvr.GetLockedUpdates(arg1) -- Line 1150
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local ipairs_result1_5, ipairs_result2_5, ipairs_result3_2 = ipairs(arg1._updates_latest[2])
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [44] 30. Error Block 10 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [44] 30. Error Block 10 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [9] 7. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [44.7]
-- KONSTANTERROR: [9] 7. Error Block 2 end (CF ANALYSIS FAILED)
end
function tbl_4_upvr.ListenToNewActiveUpdate(arg1, arg2) -- Line 1172
if type(arg2) ~= "function" then
error("[ProfileService]: Only a function can be set as listener in GlobalUpdates:ListenToNewActiveUpdate()")
end
if arg1._update_handler_mode == true then
error("[ProfileService]: Can't listen to new global updates in ProfileStore:GlobalUpdateProfileAsync()")
elseif arg1._new_active_update_listeners == nil then
error("[ProfileService]: Can't listen to new global updates in view mode")
elseif arg1._profile:IsActive() == false then
local module_2 = {}
local function Disconnect() -- Line 1183
end
module_2.Disconnect = Disconnect
return module_2
end
return arg1._new_active_update_listeners:Connect(arg2)
end
function tbl_4_upvr.ListenToNewLockedUpdate(arg1, arg2) -- Line 1190
-- KONSTANTERROR: [0] 1. Error Block 18 start (CF ANALYSIS FAILED)
if type(arg2) ~= "function" then
error("[ProfileService]: Only a function can be set as listener in GlobalUpdates:ListenToNewLockedUpdate()")
end
if arg1._update_handler_mode == true then
error("[ProfileService]: Can't listen to new global updates in ProfileStore:GlobalUpdateProfileAsync()")
-- KONSTANTWARNING: GOTO [41] #29
end
-- KONSTANTERROR: [0] 1. Error Block 18 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [22] 16. Error Block 15 start (CF ANALYSIS FAILED)
if arg1._new_locked_update_listeners == nil then
error("[ProfileService]: Can't listen to new global updates in view mode")
elseif arg1._profile:IsActive() == false then
local module = {}
local function Disconnect() -- Line 1201
end
module.Disconnect = Disconnect
return module
end
-- KONSTANTERROR: [22] 16. Error Block 15 end (CF ANALYSIS FAILED)
end
function tbl_4_upvr.LockActiveUpdate(arg1, arg2) -- Line 1208
-- KONSTANTERROR: [0] 1. Error Block 33 start (CF ANALYSIS FAILED)
if type(arg2) ~= "number" then
error("[ProfileService]: Invalid update_id")
end
if arg1._update_handler_mode == true then
error("[ProfileService]: Can't lock active global updates in ProfileStore:GlobalUpdateProfileAsync()")
-- KONSTANTWARNING: GOTO [40] #28
end
-- KONSTANTERROR: [0] 1. Error Block 33 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [22] 16. Error Block 30 start (CF ANALYSIS FAILED)
if arg1._pending_update_lock == nil then
error("[ProfileService]: Can't lock active global updates in view mode")
elseif arg1._profile:IsActive() == false then
error("[ProfileService]: PROFILE EXPIRED - Can't lock active global updates")
end
-- KONSTANTERROR: [22] 16. Error Block 30 end (CF ANALYSIS FAILED)
end
function tbl_4_upvr.ClearLockedUpdate(arg1, arg2) -- Line 1244
-- KONSTANTERROR: [0] 1. Error Block 33 start (CF ANALYSIS FAILED)
if type(arg2) ~= "number" then
error("[ProfileService]: Invalid update_id")
end
if arg1._update_handler_mode == true then
error("[ProfileService]: Can't clear locked global updates in ProfileStore:GlobalUpdateProfileAsync()")
-- KONSTANTWARNING: GOTO [40] #28
end
-- KONSTANTERROR: [0] 1. Error Block 33 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [22] 16. Error Block 30 start (CF ANALYSIS FAILED)
if arg1._pending_update_clear == nil then
error("[ProfileService]: Can't clear locked global updates in view mode")
elseif arg1._profile:IsActive() == false then
error("[ProfileService]: PROFILE EXPIRED - Can't clear locked global updates")
end
-- KONSTANTERROR: [22] 16. Error Block 30 end (CF ANALYSIS FAILED)
end
function tbl_4_upvr.AddActiveUpdate(arg1, arg2) -- Line 1281
if type(arg2) ~= "table" then
error("[ProfileService]: Invalid update_data")
end
if arg1._new_active_update_listeners ~= nil then
error("[ProfileService]: Can't add active global updates in loaded Profile; Use ProfileStore:GlobalUpdateProfileAsync()")
elseif arg1._update_handler_mode ~= true then
error("[ProfileService]: Can't add active global updates in view mode; Use ProfileStore:GlobalUpdateProfileAsync()")
end
local _updates_latest = arg1._updates_latest
local var171 = _updates_latest[1] + 1
_updates_latest[1] = var171
local tbl_21 = {var171, 1, false}
tbl_21[4] = arg2
table.insert(_updates_latest[2], tbl_21)
end
function tbl_4_upvr.ChangeActiveUpdate(arg1, arg2, arg3) -- Line 1298
-- KONSTANTERROR: [0] 1. Error Block 29 start (CF ANALYSIS FAILED)
if type(arg2) ~= "number" then
error("[ProfileService]: Invalid update_id")
end
if type(arg3) ~= "table" then
error("[ProfileService]: Invalid update_data")
end
if arg1._new_active_update_listeners ~= nil then
error("[ProfileService]: Can't change active global updates in loaded Profile; Use ProfileStore:GlobalUpdateProfileAsync()")
elseif arg1._update_handler_mode ~= true then
error("[ProfileService]: Can't change active global updates in view mode; Use ProfileStore:GlobalUpdateProfileAsync()")
end
local ipairs_result1_2, ipairs_result2_4, ipairs_result3_7 = ipairs(arg1._updates_latest[2])
-- KONSTANTERROR: [0] 1. Error Block 29 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [52] 38. Error Block 13 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [52] 38. Error Block 13 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [47] 34. Error Block 11 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [52.2147483650]
-- KONSTANTERROR: [47] 34. Error Block 11 end (CF ANALYSIS FAILED)
end
function tbl_4_upvr.ClearActiveUpdate(arg1, arg2) -- Line 1330
-- KONSTANTERROR: [0] 1. Error Block 26 start (CF ANALYSIS FAILED)
if type(arg2) ~= "number" then
error("[ProfileService]: Invalid update_id argument")
end
if arg1._new_active_update_listeners ~= nil then
error("[ProfileService]: Can't clear active global updates in loaded Profile; Use ProfileStore:GlobalUpdateProfileAsync()")
elseif arg1._update_handler_mode ~= true then
error("[ProfileService]: Can't clear active global updates in view mode; Use ProfileStore:GlobalUpdateProfileAsync()")
end
local ipairs_result1_6, ipairs_result2_3, ipairs_result3_6 = ipairs(arg1._updates_latest[2])
-- KONSTANTERROR: [0] 1. Error Block 26 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [43] 32. Error Block 11 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [43] 32. Error Block 11 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [37] 27. Error Block 9 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [43.2147483650]
-- KONSTANTERROR: [37] 27. Error Block 9 end (CF ANALYSIS FAILED)
end
local tbl_18_upvr = {}
tbl_18_upvr.__index = tbl_18_upvr
function tbl_18_upvr.IsActive(arg1) -- Line 1385
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var180
local function INLINED_9() -- Internal function, doesn't exist in bytecode
var180 = arg1._profile_store._mock_loaded_profiles
return var180
end
if arg1._is_user_mock ~= true or not INLINED_9() then
var180 = arg1._profile_store._loaded_profiles
end
if var180[arg1._profile_key] ~= arg1 then
else
end
return true
end
function tbl_18_upvr.GetMetaTag(arg1, arg2) -- Line 1390
if arg1.MetaData == nil then
return nil
end
return arg1.MetaData.MetaTags[arg2]
end
function tbl_18_upvr.SetMetaTag(arg1, arg2, arg3) -- Line 1399
if type(arg2) ~= "string" then
error("[ProfileService]: tag_name must be a string")
elseif string.len(arg2) == 0 then
error("[ProfileService]: Invalid tag_name")
end
arg1.MetaData.MetaTags[arg2] = arg3
end
function tbl_18_upvr.Reconcile(arg1) -- Line 1408
--[[ Upvalues[1]:
[1]: ReconcileTable_upvr (readonly)
]]
ReconcileTable_upvr(arg1.Data, arg1._profile_store._profile_template)
end
function tbl_18_upvr.ListenToRelease(arg1, arg2) -- Line 1412
if type(arg2) ~= "function" then
error("[ProfileService]: Only a function can be set as listener in Profile:ListenToRelease()")
end
if arg1._view_mode == true then
local module_10 = {}
local function Disconnect() -- Line 1417
end
module_10.Disconnect = Disconnect
return module_10
end
if arg1:IsActive() == false then
local var182
Disconnect = nil
local var183 = Disconnect
local ActiveSession_3 = arg1.MetaData.ActiveSession
if ActiveSession_3 ~= nil then
var182 = ActiveSession_3[1]
var183 = ActiveSession_3[2]
end
arg2(var182, var183)
local module_9 = {}
local function Disconnect() -- Line 1429
end
module_9.Disconnect = Disconnect
return module_9
end
return arg1._release_listeners:Connect(arg2)
end
function tbl_18_upvr.Save(arg1) -- Line 1435
--[[ Upvalues[5]:
[1]: tbl_6_upvr (readonly)
[2]: _auto_save_list_upvr (readonly)
[3]: var23_upvw (read and write)
[4]: os_clock_result1_upvw (read and write)
[5]: SaveProfileAsync_upvr (readonly)
]]
local var186
if var186 == true then
var186 = error
var186("[ProfileService]: Can't save Profile in view mode - Should you be calling :OverwriteAsync() instead?")
end
var186 = arg1:IsActive()
if var186 == false then
var186 = warn
var186("[ProfileService]: Attempted saving an inactive profile "..arg1:Identify().."; Traceback:\n"..debug.traceback())
else
local var187 = tbl_6_upvr[arg1._profile_store._profile_store_lookup]
if var187 ~= nil then
local var188 = var187[arg1._profile_key]
var186 = true
if var188 ~= nil then
if #var188.Queue ~= 0 then
var186 = false
else
var186 = true
end
-- KONSTANTWARNING: GOTO [50] #36
end
else
var186 = true
end
if var186 == true then
var186 = table.find(_auto_save_list_upvr, arg1)
if var186 ~= nil then
table.remove(_auto_save_list_upvr, var186)
if var186 < var23_upvw then
var23_upvw -= 1
end
if _auto_save_list_upvr[var23_upvw] == nil then
var23_upvw = 1
end
end
var186 = table.insert
var186(_auto_save_list_upvr, var23_upvw, arg1)
var186 = #_auto_save_list_upvr
if 1 < var186 then
var186 = var23_upvw + 1
var23_upvw = var186
else
var186 = #_auto_save_list_upvr
if var186 == 1 then
var186 = os.clock()
os_clock_result1_upvw = var186
end
end
var186 = task.spawn
var186(SaveProfileAsync_upvr, arg1)
end
end
end
function tbl_18_upvr.Release(arg1) -- Line 1455
--[[ Upvalues[1]:
[1]: SaveProfileAsync_upvr (readonly)
]]
if arg1._view_mode == true then
elseif arg1:IsActive() == true then
task.spawn(SaveProfileAsync_upvr, arg1, true)
end
end
function tbl_18_upvr.ListenToHopReady(arg1, arg2) -- Line 1464
if type(arg2) ~= "function" then
error("[ProfileService]: Only a function can be set as listener in Profile:ListenToHopReady()")
end
if arg1._view_mode == true then
local module_8 = {}
local function Disconnect() -- Line 1469
end
module_8.Disconnect = Disconnect
return module_8
end
if arg1._hop_ready == true then
task.spawn(arg2)
return {
Disconnect = function() -- Line 1473, Named "Disconnect"
end;
}
end
return arg1._hop_ready_listeners:Connect(arg2)
end
function tbl_18_upvr.AddUserId(arg1, arg2) -- Line 1479
--[[ Upvalues[1]:
[1]: var28_upvw (read and write)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [7] 6. Error Block 17 start (CF ANALYSIS FAILED)
if arg2 % 1 ~= 0 then
-- KONSTANTERROR: [10] 8. Error Block 15 start (CF ANALYSIS FAILED)
warn("[ProfileService]: Invalid UserId argument for :AddUserId() ("..tostring(arg2).."); Traceback:\n"..debug.traceback())
do
return
end
-- KONSTANTERROR: [10] 8. Error Block 15 end (CF ANALYSIS FAILED)
end
if arg2 < 0 and arg1._is_user_mock ~= true and var28_upvw ~= true then
else
if table.find(arg1.UserIds, arg2) == nil then
table.insert(arg1.UserIds, arg2)
end
-- KONSTANTERROR: [7] 6. Error Block 17 end (CF ANALYSIS FAILED)
end
end
function tbl_18_upvr.RemoveUserId(arg1, arg2) -- Line 1497
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [7] 6. Error Block 12 start (CF ANALYSIS FAILED)
if arg2 % 1 ~= 0 then
-- KONSTANTERROR: [10] 8. Error Block 10 start (CF ANALYSIS FAILED)
warn("[ProfileService]: Invalid UserId argument for :RemoveUserId() ("..tostring(arg2).."); Traceback:\n"..debug.traceback())
do
return
end
-- KONSTANTERROR: [10] 8. Error Block 10 end (CF ANALYSIS FAILED)
end
local table_find_result1_2 = table.find(arg1.UserIds, arg2)
if table_find_result1_2 ~= nil then
table.remove(arg1.UserIds, table_find_result1_2)
end
-- KONSTANTERROR: [7] 6. Error Block 12 end (CF ANALYSIS FAILED)
end
function tbl_18_upvr.Identify(arg1) -- Line 1513
--[[ Upvalues[1]:
[1]: IdentifyProfile_upvr (readonly)
]]
return IdentifyProfile_upvr(arg1._profile_store._profile_store_name, arg1._profile_store._profile_store_scope, arg1._profile_key)
end
function tbl_18_upvr.ClearGlobalUpdates(arg1) -- Line 1521
--[[ Upvalues[1]:
[1]: tbl_4_upvr (readonly)
]]
if arg1._view_mode ~= true then
error("[ProfileService]: :ClearGlobalUpdates() can only be used in view mode")
end
local tbl_11 = {
_updates_latest = {0, {}};
}
tbl_11._profile = arg1
setmetatable(tbl_11, tbl_4_upvr)
arg1.GlobalUpdates = tbl_11
end
function tbl_18_upvr.OverwriteAsync(arg1) -- Line 1537
--[[ Upvalues[1]:
[1]: SaveProfileAsync_upvr (readonly)
]]
if arg1._view_mode ~= true then
error("[ProfileService]: :OverwriteAsync() can only be used in view mode")
end
SaveProfileAsync_upvr(arg1, nil, true)
end
local tbl_12_upvr = {}
tbl_12_upvr.__index = tbl_12_upvr
function tbl_12_upvr._MoveQueue(arg1) -- Line 1567
repeat
if 0 >= #arg1._query_queue then break end
task.spawn(table.remove(arg1._query_queue, 1))
until arg1._is_query_yielded == true
end
function tbl_12_upvr.NextAsync(arg1, arg2) -- Line 1577
-- KONSTANTERROR: [0] 1. Error Block 20 start (CF ANALYSIS FAILED)
if arg1._profile_store == nil then
return nil
end
local var195_upvw
local var196_upvw = false
local function query_job() -- Line 1586
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: var196_upvw (read and write)
[3]: var195_upvw (read and write)
]]
if arg1._query_failure == true then
var196_upvw = true
else
if arg1._query_pages == nil then
arg1._is_query_yielded = true
task.spawn(function() -- Line 1598
--[[ Upvalues[3]:
[1]: var195_upvw (copied, read and write)
[2]: arg1 (copied, readonly)
[3]: var196_upvw (copied, read and write)
]]
var195_upvw = arg1:NextAsync(true)
var196_upvw = true
end)
local pcall_result1_5, pcall_result2_2 = pcall(function() -- Line 1603
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1._query_pages = arg1._profile_store._global_data_store:ListVersionsAsync(arg1._profile_key, arg1._sort_direction, arg1._min_date, arg1._max_date)
arg1._query_index = 0
end)
if pcall_result1_5 == false or arg1._query_pages == nil then
warn("[ProfileService]: Version query fail - "..tostring(pcall_result2_2))
arg1._query_failure = true
end
arg1._is_query_yielded = false
arg1:_MoveQueue()
return
end
local var201 = arg1._query_pages:GetCurrentPage()[arg1._query_index + 1]
if arg1._query_pages.IsFinished == true and var201 == nil then
var196_upvw = true
return
end
if var201 == nil then
arg1._is_query_yielded = true
task.spawn(function() -- Line 1640
--[[ Upvalues[3]:
[1]: var195_upvw (copied, read and write)
[2]: arg1 (copied, readonly)
[3]: var196_upvw (copied, read and write)
]]
var195_upvw = arg1:NextAsync(true)
var196_upvw = true
end)
if pcall(function() -- Line 1645
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1._query_pages:AdvanceToNextPageAsync()
arg1._query_index = 0
end) == false or #arg1._query_pages:GetCurrentPage() == 0 then
arg1._query_failure = true
end
arg1._is_query_yielded = false
arg1:_MoveQueue()
return
end
local var204 = arg1
var204._query_index += 1
var195_upvw = arg1._profile_store:ViewProfileAsync(arg1._profile_key, var201.Version)
var196_upvw = true
end
end
if arg1._is_query_yielded == false then
query_job()
-- KONSTANTWARNING: GOTO [39] #29
end
-- KONSTANTERROR: [0] 1. Error Block 20 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [19] 16. Error Block 24 start (CF ANALYSIS FAILED)
if arg2 == true then
table.insert(arg1._query_queue, 1, query_job)
else
table.insert(arg1._query_queue, query_job)
end
while var196_upvw == false do
task.wait()
end
do
return var195_upvw
end
-- KONSTANTERROR: [19] 16. Error Block 24 end (CF ANALYSIS FAILED)
end
local tbl_15_upvr = {}
tbl_15_upvr.__index = tbl_15_upvr
local const_number_2_upvw = 0
local function LoadProfileAsync(arg1, arg2, arg3, arg4) -- Line 1709
--[[ Upvalues[17]:
[1]: module_4_upvr (readonly)
[2]: module_3_upvr (readonly)
[3]: _active_profile_stores_upvr (readonly)
[4]: const_number_upvw (read and write)
[5]: const_number_2_upvw (read and write)
[6]: StandardProfileUpdateAsyncDataStore_upvr (readonly)
[7]: PlaceId_upvr (readonly)
[8]: JobId_upvr (readonly)
[9]: tbl_10_upvr (readonly)
[10]: DeepCopyTable_upvr (readonly)
[11]: var14_upvw (read and write)
[12]: tbl_4_upvr (readonly)
[13]: tbl_18_upvr (readonly)
[14]: _auto_save_list_upvr (readonly)
[15]: var23_upvw (read and write)
[16]: os_clock_result1_upvw (read and write)
[17]: SaveProfileAsync_upvr (readonly)
]]
-- KONSTANTERROR: [593] 436. Error Block 123 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [593] 436. Error Block 123 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 209 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [593.4]
if nil == nil then
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if nil ~= "string" then
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if nil == 0 then
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if nil ~= "function" and arg3 ~= "ForceLoad" and arg3 ~= "Steal" then
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if nil == true then
end
repeat
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
until nil ~= true
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [593.199675]
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [593.5]
if arg4 ~= nil then
-- KONSTANTWARNING: GOTO [67] #48
end
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [593.6]
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [593.7]
for _, _ in nil do
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [593.10]
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [593.11]
if nil == nil then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x2)
if nil ~= true or not nil then
end
if nil ~= nil then
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [593.17]
local function INLINED_11() -- Internal function, doesn't exist in bytecode
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [593.21]
return nil
end
if nil == nil or not INLINED_11() then
end
end
end
end
if arg3 ~= "ForceLoad" then
-- KONSTANTWARNING: GOTO [123] #88
end
if arg3 ~= "Steal" then
else
end
-- KONSTANTERROR: [0] 1. Error Block 209 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [130] 94. Error Block 151 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
-- KONSTANTERROR: [130] 94. Error Block 151 end (CF ANALYSIS FAILED)
end
tbl_15_upvr.LoadProfileAsync = LoadProfileAsync
local function GlobalUpdateProfileAsync(arg1, arg2, arg3, arg4) -- Line 1968
--[[ Upvalues[5]:
[1]: module_4_upvr (readonly)
[2]: StandardProfileUpdateAsyncDataStore_upvr (readonly)
[3]: tbl_4_upvr (readonly)
[4]: module_3_upvr (readonly)
[5]: CustomWriteQueueMarkForCleanup_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [7] 6. Error Block 37 start (CF ANALYSIS FAILED)
if string.len(arg2) == 0 then
-- KONSTANTERROR: [14] 11. Error Block 27 start (CF ANALYSIS FAILED)
error("[ProfileService]: Invalid profile_key")
-- KONSTANTERROR: [14] 11. Error Block 27 end (CF ANALYSIS FAILED)
end
if type(arg3) ~= "function" then
error("[ProfileService]: Invalid update_handler")
end
if module_4_upvr.ServiceLocked == true then
return nil
end
while arg1._is_pending == true do
task.wait()
end
while module_4_upvr.ServiceLocked == false do
local tbl_8 = {
ExistingProfileHandle = nil;
MissingProfileHandle = nil;
}
local function EditProfile(arg1_4) -- Line 1990
--[[ Upvalues[2]:
[1]: tbl_4_upvr (copied, readonly)
[2]: arg3 (readonly)
]]
local tbl_5 = {
_updates_latest = arg1_4.GlobalUpdates;
_update_handler_mode = true;
}
setmetatable(tbl_5, tbl_4_upvr)
arg3(tbl_5)
end
tbl_8.EditProfile = EditProfile
if arg4 ~= module_3_upvr then
EditProfile = false
else
EditProfile = true
end
local StandardProfileUpdateAsyncDataStore_upvr_result1_2 = StandardProfileUpdateAsyncDataStore_upvr(arg1, arg2, tbl_8, EditProfile)
CustomWriteQueueMarkForCleanup_upvr(arg1._profile_store_lookup, arg2)
if StandardProfileUpdateAsyncDataStore_upvr_result1_2 ~= nil then
local module_7 = {
_updates_latest = StandardProfileUpdateAsyncDataStore_upvr_result1_2.GlobalUpdates;
}
setmetatable(module_7, tbl_4_upvr)
return module_7
end
task.wait()
end
do
return nil
end
-- KONSTANTERROR: [7] 6. Error Block 37 end (CF ANALYSIS FAILED)
end
tbl_15_upvr.GlobalUpdateProfileAsync = GlobalUpdateProfileAsync
local function ViewProfileAsync(arg1, arg2, arg3, arg4) -- Line 2018
--[[ Upvalues[9]:
[1]: module_4_upvr (readonly)
[2]: module_3_upvr (readonly)
[3]: var28_upvw (read and write)
[4]: StandardProfileUpdateAsyncDataStore_upvr (readonly)
[5]: DeepCopyTable_upvr (readonly)
[6]: CustomWriteQueueMarkForCleanup_upvr (readonly)
[7]: tbl_4_upvr (readonly)
[8]: var14_upvw (read and write)
[9]: tbl_18_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [7] 6. Error Block 50 start (CF ANALYSIS FAILED)
if string.len(arg2) == 0 then
-- KONSTANTERROR: [14] 11. Error Block 38 start (CF ANALYSIS FAILED)
error("[ProfileService]: Invalid profile_key")
-- KONSTANTERROR: [14] 11. Error Block 38 end (CF ANALYSIS FAILED)
end
if module_4_upvr.ServiceLocked == true then
return nil
end
while arg1._is_pending == true do
task.wait()
end
if arg3 ~= nil and (arg4 == module_3_upvr or var28_upvw == true) then
return nil
end
while module_4_upvr.ServiceLocked == false do
local tbl_9 = {
ExistingProfileHandle = nil;
}
local function MissingProfileHandle(arg1_5) -- Line 2040
--[[ Upvalues[2]:
[1]: DeepCopyTable_upvr (copied, readonly)
[2]: arg1 (readonly)
]]
arg1_5.Data = DeepCopyTable_upvr(arg1._profile_template)
arg1_5.MetaData = {
ProfileCreateTime = os.time();
SessionLoadCount = 0;
ActiveSession = nil;
ForceLoadSession = nil;
MetaTags = {};
}
end
tbl_9.MissingProfileHandle = MissingProfileHandle
MissingProfileHandle = nil
local var221 = MissingProfileHandle
tbl_9.EditProfile = var221
if arg4 ~= module_3_upvr then
var221 = false
else
var221 = true
end
local StandardProfileUpdateAsyncDataStore_upvr_result1, StandardProfileUpdateAsyncDataStore_upvr_result2 = StandardProfileUpdateAsyncDataStore_upvr(arg1, arg2, tbl_9, var221, true, arg3)
CustomWriteQueueMarkForCleanup_upvr(arg1._profile_store_lookup, arg2)
if StandardProfileUpdateAsyncDataStore_upvr_result1 ~= nil then
if StandardProfileUpdateAsyncDataStore_upvr_result2 == nil then
return nil
end
local tbl_2 = {
_updates_latest = StandardProfileUpdateAsyncDataStore_upvr_result1.GlobalUpdates;
_profile = nil;
}
setmetatable(tbl_2, tbl_4_upvr)
local module_5 = {
Data = StandardProfileUpdateAsyncDataStore_upvr_result1.Data;
MetaData = StandardProfileUpdateAsyncDataStore_upvr_result1.MetaData;
MetaTagsUpdated = var14_upvw.NewScriptSignal();
}
local RobloxMetaData = StandardProfileUpdateAsyncDataStore_upvr_result1.RobloxMetaData
if not RobloxMetaData then
RobloxMetaData = {}
end
module_5.RobloxMetaData = RobloxMetaData
RobloxMetaData = StandardProfileUpdateAsyncDataStore_upvr_result1.UserIds
local var227 = RobloxMetaData
if not var227 then
var227 = {}
end
module_5.UserIds = var227
module_5.KeyInfo = StandardProfileUpdateAsyncDataStore_upvr_result2
module_5.KeyInfoUpdated = var14_upvw.NewScriptSignal()
module_5.GlobalUpdates = tbl_2
module_5._profile_store = arg1
module_5._profile_key = arg2
module_5._view_mode = true
module_5._load_timestamp = os.clock()
setmetatable(module_5, tbl_18_upvr)
tbl_2._profile = module_5
return module_5
end
task.wait()
end
do
return nil
end
-- KONSTANTERROR: [7] 6. Error Block 50 end (CF ANALYSIS FAILED)
end
tbl_15_upvr.ViewProfileAsync = ViewProfileAsync
function tbl_15_upvr.ProfileVersionQuery(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 2098
--[[ Upvalues[4]:
[1]: module_4_upvr (readonly)
[2]: tbl_12_upvr (readonly)
[3]: module_3_upvr (readonly)
[4]: var28_upvw (read and write)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [7] 6. Error Block 58 start (CF ANALYSIS FAILED)
if string.len(arg2) == 0 then
-- KONSTANTERROR: [14] 11. Error Block 50 start (CF ANALYSIS FAILED)
error("[ProfileService]: Invalid profile_key")
-- KONSTANTERROR: [14] 11. Error Block 50 end (CF ANALYSIS FAILED)
end
if module_4_upvr.ServiceLocked == true then
return setmetatable({}, tbl_12_upvr)
end
while arg1._is_pending == true do
task.wait()
end
if arg6 == module_3_upvr or var28_upvw == true then
error("[ProfileService]: :ProfileVersionQuery() is not supported in mock mode")
local var232
end
local function INLINED_16() -- Internal function, doesn't exist in bytecode
var232 = typeof(arg3)
return var232 ~= "EnumItem"
end
local function INLINED_17() -- Internal function, doesn't exist in bytecode
var232 = arg3.EnumType
return var232 ~= Enum.SortDirection
end
if arg3 ~= nil and (INLINED_16() or INLINED_17()) then
var232 = error
var232("[ProfileService]: Invalid sort_direction ("..tostring(arg3)..')')
end
if arg4 ~= nil then
var232 = typeof(arg4)
if var232 ~= "DateTime" then
var232 = typeof(arg4)
if var232 ~= "number" then
var232 = error
var232("[ProfileService]: Invalid min_date ("..tostring(arg4)..')')
end
end
end
if arg5 ~= nil then
var232 = typeof(arg5)
if var232 ~= "DateTime" then
var232 = typeof(arg5)
if var232 ~= "number" then
var232 = error
var232("[ProfileService]: Invalid max_date ("..tostring(arg5)..')')
end
end
end
local function INLINED_18() -- Internal function, doesn't exist in bytecode
var232 = arg4.UnixTimestampMillis
return var232
end
if typeof(arg4) ~= "DateTime" or not INLINED_18() then
var232 = arg4
end
local function INLINED_19() -- Internal function, doesn't exist in bytecode
var232 = arg5.UnixTimestampMillis
return var232
end
if typeof(arg5) ~= "DateTime" or not INLINED_19() then
var232 = arg5
end
var232 = {}
var232._profile_store = arg1
var232._profile_key = arg2
var232._sort_direction = arg3
var232._min_date = var232
var232._max_date = var232
var232._query_pages = nil
var232._query_index = 0
var232._query_failure = false
var232._is_query_yielded = false
var232._query_queue = {}
setmetatable(var232, tbl_12_upvr)
do
return var232
end
-- KONSTANTERROR: [7] 6. Error Block 58 end (CF ANALYSIS FAILED)
end
local function WipeProfileAsync(arg1, arg2, arg3) -- Line 2150
--[[ Upvalues[6]:
[1]: module_4_upvr (readonly)
[2]: module_3_upvr (readonly)
[3]: _user_mock_data_store_upvr (readonly)
[4]: var28_upvw (read and write)
[5]: _mock_data_store_upvr (readonly)
[6]: CustomWriteQueueMarkForCleanup_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [7] 6. Error Block 36 start (CF ANALYSIS FAILED)
if string.len(arg2) == 0 then
-- KONSTANTERROR: [14] 11. Error Block 29 start (CF ANALYSIS FAILED)
error("[ProfileService]: Invalid profile_key")
-- KONSTANTERROR: [14] 11. Error Block 29 end (CF ANALYSIS FAILED)
end
if module_4_upvr.ServiceLocked == true then
return false
end
while arg1._is_pending == true do
task.wait()
end
local var233 = false
if arg3 == module_3_upvr then
local var234 = _user_mock_data_store_upvr[arg1._profile_store_lookup]
if var234 ~= nil then
var234[arg2] = nil
end
var233 = true
task.wait()
elseif var28_upvw == true then
local var235 = _mock_data_store_upvr[arg1._profile_store_lookup]
if var235 ~= nil then
var235[arg2] = nil
end
var233 = true
task.wait()
else
var233 = pcall(function() -- Line 2178
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
arg1._global_data_store:RemoveAsync(arg2)
end)
end
CustomWriteQueueMarkForCleanup_upvr(arg1._profile_store_lookup, arg2)
do
return var233
end
-- KONSTANTERROR: [7] 6. Error Block 36 end (CF ANALYSIS FAILED)
end
tbl_15_upvr.WipeProfileAsync = WipeProfileAsync
function module_4_upvr.GetProfileStore(arg1, arg2) -- Line 2190
--[[ Upvalues[5]:
[1]: module_3_upvr (readonly)
[2]: tbl_15_upvr (readonly)
[3]: var27_upvw (read and write)
[4]: var28_upvw (read and write)
[5]: DataStoreService_upvr (readonly)
]]
local var237_upvw
local var238_upvw
if type(arg1) == "string" then
var237_upvw = arg1
elseif type(arg1) == "table" then
var237_upvw = arg1.Name
var238_upvw = arg1.Scope
else
error("[ProfileService]: Invalid or missing profile_store_index")
end
if var237_upvw == nil or type(var237_upvw) ~= "string" then
error("[ProfileService]: Missing or invalid \"Name\" parameter")
elseif string.len(var237_upvw) == 0 then
error("[ProfileService]: ProfileStore name cannot be an empty string")
end
if var238_upvw ~= nil and (type(var238_upvw) ~= "string" or string.len(var238_upvw) == 0) then
error("[ProfileService]: Invalid \"Scope\" parameter")
end
if type(arg2) ~= "table" then
error("[ProfileService]: Invalid profile_template")
end
local var239_upvw
local tbl = {
Mock = {
LoadProfileAsync = function(arg1_6, arg2_2, arg3) -- Line 2225, Named "LoadProfileAsync"
--[[ Upvalues[2]:
[1]: var239_upvw (read and write)
[2]: module_3_upvr (copied, readonly)
]]
return var239_upvw:LoadProfileAsync(arg2_2, arg3, module_3_upvr)
end;
GlobalUpdateProfileAsync = function(arg1_7, arg2_3, arg3) -- Line 2228, Named "GlobalUpdateProfileAsync"
--[[ Upvalues[2]:
[1]: var239_upvw (read and write)
[2]: module_3_upvr (copied, readonly)
]]
return var239_upvw:GlobalUpdateProfileAsync(arg2_3, arg3, module_3_upvr)
end;
ViewProfileAsync = function(arg1_8, arg2_4, arg3) -- Line 2231, Named "ViewProfileAsync"
--[[ Upvalues[2]:
[1]: var239_upvw (read and write)
[2]: module_3_upvr (copied, readonly)
]]
return var239_upvw:ViewProfileAsync(arg2_4, arg3, module_3_upvr)
end;
FindProfileVersionAsync = function(arg1_9, arg2_5, arg3, arg4, arg5) -- Line 2234, Named "FindProfileVersionAsync"
--[[ Upvalues[2]:
[1]: var239_upvw (read and write)
[2]: module_3_upvr (copied, readonly)
]]
return var239_upvw:FindProfileVersionAsync(arg2_5, arg3, arg4, arg5, module_3_upvr)
end;
WipeProfileAsync = function(arg1_10, arg2_6) -- Line 2237, Named "WipeProfileAsync"
--[[ Upvalues[2]:
[1]: var239_upvw (read and write)
[2]: module_3_upvr (copied, readonly)
]]
return var239_upvw:WipeProfileAsync(arg2_6, module_3_upvr)
end;
};
_profile_store_name = var237_upvw;
_profile_store_scope = var238_upvw;
_profile_store_lookup = var237_upvw..'\x00'..(var238_upvw or "");
}
tbl._profile_template = arg2
tbl._global_data_store = nil
tbl._loaded_profiles = {}
tbl._profile_load_jobs = {}
tbl._mock_loaded_profiles = {}
tbl._mock_profile_load_jobs = {}
tbl._is_pending = false
var239_upvw = tbl
local var242_upvw = var239_upvw
setmetatable(var242_upvw, tbl_15_upvr)
local DataStoreOptions_upvr = Instance.new("DataStoreOptions")
DataStoreOptions_upvr:SetExperimentalFeatures({
v2 = true;
})
if var27_upvw == true then
var242_upvw._is_pending = true
task.spawn(function() -- Line 2261
--[[ Upvalues[7]:
[1]: var27_upvw (copied, read and write)
[2]: var28_upvw (copied, read and write)
[3]: var242_upvw (read and write)
[4]: DataStoreService_upvr (copied, readonly)
[5]: var237_upvw (read and write)
[6]: var238_upvw (read and write)
[7]: DataStoreOptions_upvr (readonly)
]]
while var27_upvw == true do
task.wait()
end
if var28_upvw == false then
var242_upvw._global_data_store = DataStoreService_upvr:GetDataStore(var237_upvw, var238_upvw, DataStoreOptions_upvr)
end
var242_upvw._is_pending = false
end)
elseif var28_upvw == false then
var242_upvw._global_data_store = DataStoreService_upvr:GetDataStore(var237_upvw, var238_upvw, DataStoreOptions_upvr)
end
return var242_upvw
end
function module_4_upvr.IsLive() -- Line 2277
--[[ Upvalues[2]:
[1]: var27_upvw (read and write)
[2]: var28_upvw (read and write)
]]
while true do
local var246
if var246 ~= true then break end
var246 = task.wait
var246()
end
if var28_upvw ~= false then
var246 = false
else
var246 = true
end
return var246
end
if RunService_upvr:IsStudio() == true then
var27_upvw = true
task.spawn(function() -- Line 2289
--[[ Upvalues[4]:
[1]: DataStoreService_upvr (readonly)
[2]: var28_upvw (read and write)
[3]: module_4_upvr (readonly)
[4]: var27_upvw (read and write)
]]
local pcall_result1, pcall_result2 = pcall(function() -- Line 2290
--[[ Upvalues[1]:
[1]: DataStoreService_upvr (copied, readonly)
]]
DataStoreService_upvr:GetDataStore("____PS"):SetAsync("____PS", os.time())
end)
local var251 = false
if pcall_result1 == false then
if string.find(pcall_result2, "ConnectFail", 1, true) == nil then
var251 = false
else
var251 = true
end
end
if var251 == true then
warn("[ProfileService]: No internet access - check your network connection")
end
if pcall_result1 == false and (string.find(pcall_result2, "403", 1, true) ~= nil or string.find(pcall_result2, "must publish", 1, true) ~= nil or var251 == true) then
var28_upvw = true
module_4_upvr._use_mock_data_store = true
print("[ProfileService]: Roblox API services unavailable - data will not be saved")
else
print("[ProfileService]: Roblox API services available - data will be saved")
end
var27_upvw = false
end)
end
local var253_upvw = 0
RunService_upvr.Heartbeat:Connect(function() -- Line 2316
--[[ Upvalues[8]:
[1]: _auto_save_list_upvr (readonly)
[2]: tbl_10_upvr (readonly)
[3]: os_clock_result1_upvw (read and write)
[4]: var23_upvw (read and write)
[5]: SaveProfileAsync_upvr (readonly)
[6]: module_4_upvr (readonly)
[7]: _issue_queue_upvr (readonly)
[8]: var253_upvw (read and write)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local const_number = 0
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [12] 10. Error Block 3 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [13.2]
-- KONSTANTERROR: [12] 10. Error Block 3 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [73] 60. Error Block 52 start (CF ANALYSIS FAILED)
if module_4_upvr.CriticalState == false then
if tbl_10_upvr.IssueCountForCriticalState <= #_issue_queue_upvr then
module_4_upvr.CriticalState = true
module_4_upvr.CriticalStateSignal:Fire(true)
var253_upvw = os.clock()
warn("[ProfileService]: Entered critical state")
-- KONSTANTWARNING: GOTO [142] #110
end
elseif tbl_10_upvr.IssueCountForCriticalState <= #_issue_queue_upvr then
var253_upvw = os.clock()
elseif tbl_10_upvr.CriticalStateLast < os.clock() - var253_upvw then
module_4_upvr.CriticalState = false
module_4_upvr.CriticalStateSignal:Fire(false)
warn("[ProfileService]: Critical state ended")
end
-- KONSTANTERROR: [73] 60. Error Block 52 end (CF ANALYSIS FAILED)
end)
task.spawn(function() -- Line 2385
--[[ Upvalues[8]:
[1]: var27_upvw (read and write)
[2]: var14_upvw (read and write)
[3]: module_4_upvr (readonly)
[4]: _auto_save_list_upvr (readonly)
[5]: SaveProfileAsync_upvr (readonly)
[6]: const_number_upvw (read and write)
[7]: var26_upvw (read and write)
[8]: var28_upvw (read and write)
]]
while true do
local var256
if var27_upvw ~= true then break end
task.wait()
end
if var28_upvw ~= false then
var256 = false
else
var256 = true
end
var14_upvw.ConnectToOnClose(function() -- Line 2388
--[[ Upvalues[5]:
[1]: module_4_upvr (copied, readonly)
[2]: _auto_save_list_upvr (copied, readonly)
[3]: SaveProfileAsync_upvr (copied, readonly)
[4]: const_number_upvw (copied, read and write)
[5]: var26_upvw (copied, read and write)
]]
module_4_upvr.ServiceLocked = true
local tbl_20 = {}
local var270_upvw
for i_4, v_4 in ipairs(_auto_save_list_upvr) do
tbl_20[i_4] = v_4
end
for _, v_5_upvr in ipairs(tbl_20) do
if v_5_upvr:IsActive() == true then
var270_upvw += 1
task.spawn(function() -- Line 2401
--[[ Upvalues[3]:
[1]: SaveProfileAsync_upvr (copied, readonly)
[2]: v_5_upvr (readonly)
[3]: var270_upvw (read and write)
]]
SaveProfileAsync_upvr(v_5_upvr, true)
var270_upvw -= 1
end)
end
end
while not (0 < var270_upvw or 0 < const_number_upvw or 0 >= var26_upvw) do
task.wait()
end
end, var256)
end)
return module_4_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:03
-- Luau version 6, Types version 3
-- Time taken: 0.000235 seconds
return {}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:05
-- Luau version 6, Types version 3
-- Time taken: 0.003679 seconds
local _engine = _G._engine
local module = {}
local References_upvr = _engine.References
local Services_upvr = _engine.Services
function module.init(arg1, arg2) -- Line 8
--[[ Upvalues[2]:
[1]: References_upvr (readonly)
[2]: Services_upvr (readonly)
]]
References_upvr.PlayerGui.kick.Enabled = true
References_upvr.PlayerGui.kick.main.description.Text = string.format("You have been kicked // %s", arg2 or "Unspecified reason")
Services_upvr.TweenService:Create(References_upvr.PlayerGui.kick.background, TweenInfo.new(0.25, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 0;
}):Play()
task.wait(0.25)
Services_upvr.TweenService:Create(References_upvr.PlayerGui.kick.main, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
GroupTransparency = 0;
Position = UDim2.new(0.5, 0, 0.5, 0);
}):Play()
Services_upvr.RunService.RenderStepped:Connect(function() -- Line 15
--[[ Upvalues[1]:
[1]: Services_upvr (copied, readonly)
]]
Services_upvr.StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.All, false)
end)
for _, v in next, Services_upvr.ReplicatedStorage:GetChildren() do
if v:IsA("Folder") then
v:Destroy()
end
end
for _, v_2 in next, Services_upvr.AssetService:GetChildren() do
if v_2 then
v_2:Destroy()
end
end
for _, v_3 in next, Services_upvr.MaterialService:GetChildren() do
if v_3 then
v_3:Destroy()
end
end
for _, v_4 in next, workspace:GetChildren() do
if v_4:IsA("Folder") then
v_4:Destroy()
end
end
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:06
-- Luau version 6, Types version 3
-- Time taken: 0.027296 seconds
return {
init = function(arg1, arg2) -- Line 3, Named "init"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local _subject_upvr = arg2._subject
local _side = arg2._side
local _celebration = arg2._celebration
local tbl_upvr = {}
local var66 = _G._references.Main.celebrations[_celebration]
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [30] 18. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [30] 18. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [33] 20. Error Block 3 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [33] 20. Error Block 3 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [44] 26. Error Block 4 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [44] 26. Error Block 4 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [46] 27. Error Block 139 start (CF ANALYSIS FAILED)
local var67
if 0 < _subject_upvr.Character.PrimaryPart.Position.X and _side == "away" then
-- KONSTANTERROR: [59] 34. Error Block 8 start (CF ANALYSIS FAILED)
var67 = "left"
-- KONSTANTERROR: [59] 34. Error Block 8 end (CF ANALYSIS FAILED)
end
local var68_upvr = workspace.game.cutscenes.celebrations[_side][var67]
local BoolValue_upvr_3 = Instance.new("BoolValue")
BoolValue_upvr_3.Name = "RTP"
BoolValue_upvr_3.Value = true
BoolValue_upvr_3.Parent = _G._references.Main.config.Override
local BoolValue_upvr = Instance.new("BoolValue")
BoolValue_upvr.Name = "Teleport"
BoolValue_upvr.Value = true
BoolValue_upvr.Parent = _subject_upvr
_G._references.Main.config.CelebrationInProgress.Value = true
for _, v in next, _G._services.Players:GetPlayers() do
if v then
_G._references.RemoteEvent:FireClient(v, "shiftLock", false)
_G._references.RemoteEvent:FireClient(v, "forceDisable", true)
for i_2, v_2 in next, {"serverRagdollBinder", "getUpBinder"} do
while v and v.Character and v.Character:GetAttribute(v_2) do
task.wait()
end
end
end
end
task.wait(0.15)
if (function() -- Line 51, Named "doCheck"
--[[ Upvalues[5]:
[1]: _subject_upvr (readonly)
[2]: tbl_upvr (readonly)
[3]: var68_upvr (readonly)
[4]: BoolValue_upvr_3 (readonly)
[5]: BoolValue_upvr (readonly)
]]
if not _subject_upvr or _subject_upvr and not _subject_upvr.Parent then
for _, v_3 in next, _G._services.Players:GetPlayers() do
if v_3 then
_G._references.RemoteEvent:FireClient(v_3, "shiftLock", true)
_G._references.RemoteEvent:FireClient(v_3, "forceDisable", false)
_G._references.RemoteEvent:FireClient(v_3, "canSprint", true)
_G._references.RemoteEvent:FireClient(v_3, "globalOverride", false)
end
end
for i_4, v_4 in next, tbl_upvr do
if i_4 and v_4 and v_4._extra and v_4._extra.Character and v_4._track then
v_4._track:AdjustSpeed(0)
v_4._extra.Character:SetPrimaryPartCFrame(_subject_upvr.Character.LowerTorso.CFrame * _G._services.StarterPlayer.StarterCharacter.LowerTorso.CFrame:ToObjectSpace(_G._services.StarterPlayer.StarterCharacter.HumanoidRootPart.CFrame))
v_4._track:Stop(0)
v_4._extra.Character.PrimaryPart.Anchored = false
end
end
var68_upvr.cutsceneSettings.CameraFieldOfView.Value = 15
_G._references.Main.config.CelebrationInProgress.Value = false
var68_upvr.cutsceneSettings.LockOnTarget.Value = nil
BoolValue_upvr_3:Destroy()
task.delay(3, function() -- Line 76
--[[ Upvalues[1]:
[1]: BoolValue_upvr (copied, readonly)
]]
BoolValue_upvr:Destroy()
end)
return true
end
return false
end)() then return end
local any_LoadAnimation_result1 = _subject_upvr.Character.Humanoid.Animator:LoadAnimation(_G._references.Main.animations.Celebrations[_celebration])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
if _celebration == "Tshabalala" then
local const_number_2 = 0
any_LoadAnimation_result1:Play(0)
var68_upvr.cutsceneSettings.CameraFieldOfView.Value = 75
_subject_upvr.Character:SetPrimaryPartCFrame(var68_upvr.player1.CFrame)
for _, v_5 in next, _G._services.Players:GetPlayers() do
if _subject_upvr and v_5 and v_5 ~= _subject_upvr then
i_2 = _subject_upvr.Team
if i_2 then
i_2 = v_5.Team
if i_2 then
i_2 = v_5.Character
if i_2 then
v_2 = v_5.Character
i_2 = v_2.PrimaryPart
if i_2 then
v_2 = var66.extras.Value
i_2 = tonumber(v_2)
if const_number_2 < i_2 then
i_2 = string.find
v_2 = _subject_upvr.Team.Name
i_2 = i_2(v_2, "Home")
local function INLINED_7() -- Internal function, doesn't exist in bytecode
i_2 = i_2(v_2, "Home")
v_2 = v_5.Team.Name
i_2 = string.find
return i_2
end
local function INLINED_8() -- Internal function, doesn't exist in bytecode
i_2 = i_2(v_2, "Away")
v_2 = _subject_upvr.Team.Name
i_2 = string.find
return i_2
end
local function INLINED_9() -- Internal function, doesn't exist in bytecode
i_2 = i_2(v_2, "Away")
v_2 = v_5.Team.Name
i_2 = string.find
return i_2
end
if i_2 and INLINED_7() or INLINED_8() and INLINED_9() then
local var85 = const_number_2 + 1
i_2 = Instance.new
v_2 = "BoolValue"
i_2 = i_2(v_2)
v_2 = "Teleport"
i_2.Name = v_2
v_2 = true
i_2.Value = v_2
i_2.Parent = v_5
v_2 = _G._services.Debris:AddItem
v_2(i_2, tonumber(var66.duration.Value) + 5)
v_2 = v_5.Character.Humanoid.Animator:LoadAnimation(_G._references.Main.animations.Extras[_celebration..' '..tostring(var85)])
v_2.Priority = Enum.AnimationPriority.Action4
v_5.Character:SetPrimaryPartCFrame(var68_upvr["player"..tostring(var85 + 1)].CFrame)
v_5.Character.PrimaryPart.Anchored = true
table.insert(tbl_upvr, {
_extra = v_5;
_track = v_2;
})
end
end
end
end
end
end
end
end
task.spawn(function() -- Line 126
--[[ Upvalues[1]:
[1]: tbl_upvr (readonly)
]]
if tbl_upvr[1] then
tbl_upvr[1]._track:Play(0)
end
if tbl_upvr[2] then
tbl_upvr[2]._track:Play(0)
end
end)
-- KONSTANTWARNING: GOTO [1057] #675
end
if _celebration == "Ice Cold" then
local const_number = 0
any_LoadAnimation_result1:Play(0)
var68_upvr.cutsceneSettings.CameraFieldOfView.Value = 50
_subject_upvr.Character:SetPrimaryPartCFrame(var68_upvr.positions[_celebration].CFrame)
for _, v_6 in next, _G._services.Players:GetPlayers() do
if _subject_upvr and v_6 and v_6 ~= _subject_upvr then
i_2 = _subject_upvr.Team
if i_2 then
i_2 = v_6.Team
if i_2 then
i_2 = v_6.Character
if i_2 then
v_2 = v_6.Character
i_2 = v_2.PrimaryPart
if i_2 then
v_2 = var66.extras.Value
i_2 = tonumber(v_2)
if const_number < i_2 then
i_2 = string.find
v_2 = _subject_upvr.Team.Name
i_2 = i_2(v_2, "Home")
local function INLINED_10() -- Internal function, doesn't exist in bytecode
i_2 = i_2(v_2, "Home")
v_2 = v_6.Team.Name
i_2 = string.find
return i_2
end
local function INLINED_11() -- Internal function, doesn't exist in bytecode
i_2 = i_2(v_2, "Away")
v_2 = _subject_upvr.Team.Name
i_2 = string.find
return i_2
end
local function INLINED_12() -- Internal function, doesn't exist in bytecode
i_2 = i_2(v_2, "Away")
v_2 = v_6.Team.Name
i_2 = string.find
return i_2
end
if i_2 and INLINED_10() or INLINED_11() and INLINED_12() then
i_2 = Instance.new
v_2 = "BoolValue"
i_2 = i_2(v_2)
v_2 = "Teleport"
i_2.Name = v_2
v_2 = true
i_2.Value = v_2
i_2.Parent = v_6
v_2 = _G._services.Debris:AddItem
v_2(i_2, tonumber(var66.duration.Value) + 5)
v_2 = v_6.Character.Humanoid.Animator:LoadAnimation(_G._references.Main.animations.Extras[_celebration..' '..tostring(const_number + 1)])
v_2.Priority = Enum.AnimationPriority.Action4
v_6.Character:SetPrimaryPartCFrame(var68_upvr.positions[_celebration].CFrame)
v_6.Character.PrimaryPart.Anchored = true
table.insert(tbl_upvr, {
_extra = v_6;
_track = v_2;
})
end
end
end
end
end
end
end
end
task.spawn(function() -- Line 163
--[[ Upvalues[1]:
[1]: tbl_upvr (readonly)
]]
if tbl_upvr[1] then
tbl_upvr[1]._track:Play(0)
end
if tbl_upvr[2] then
tbl_upvr[2]._track:Play(0)
end
if tbl_upvr[3] then
tbl_upvr[3]._track:Play(0)
end
end)
-- KONSTANTWARNING: GOTO [1057] #675
end
-- KONSTANTERROR: [46] 27. Error Block 139 end (CF ANALYSIS FAILED)
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:08
-- Luau version 6, Types version 3
-- Time taken: 0.002270 seconds
return {
create = function(arg1, arg2) -- Line 3, Named "create"
local var2
if typeof(arg2) ~= "CFrame" then
var2 = false
else
var2 = true
end
assert(var2, string.format("GLT.create | CFrame '_cframe' expected, got %s", typeof(arg2)))
var2 = _G._references.Main
var2.glt:ClearAllChildren()
var2 = _G._references.Main.storage
local clone = var2.glt:Clone()
var2 = _G._references.Main.glt
clone.Parent = var2
clone.CFrame = arg2
var2 = _G._services.Debris:AddItem
var2(clone, 5)
end;
isIn = function(arg1) -- Line 15, Named "isIn"
if _G._references.Main.glt:FindFirstChildWhichIsA("BasePart") and -351.053 <= _G._references.Main.glt:FindFirstChildWhichIsA("BasePart").Position.Z and _G._references.Main.glt:FindFirstChildWhichIsA("BasePart").Position.Z <= 351.053 then
return false
end
return true
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:09
-- Luau version 6, Types version 3
-- Time taken: 0.002525 seconds
local module_upvr = {}
function module_upvr.CloneTable(arg1, arg2) -- Line 3
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
assert(arg2, "invalid table passed to CloneTable")
for i, v in pairs(arg2) do
if type(v) == "table" then
({})[i] = module_upvr:CloneTable(v)
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
;({})[i] = v
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return {}
end
function module_upvr.Serialize(arg1, arg2) -- Line 16
if type(arg2) ~= "table" then
return arg2
end
local module = {}
for i_2, v_2 in pairs(arg2) do
if type(v_2) == "table" then
v_2 = arg1:Serialize(v_2)
end
module[tostring(i_2) or i_2] = v_2
end
return module
end
function module_upvr.Deserialize(arg1, arg2) -- Line 31
if type(arg2) ~= "table" then
return arg2
end
local module_2 = {}
for i_3, v_3 in pairs(arg2) do
if type(v_3) == "table" then
v_3 = arg1:Deserialize(v_3)
end
module_2[tonumber(i_3) or i_3] = v_3
end
return module_2
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:10
-- Luau version 6, Types version 3
-- Time taken: 0.003911 seconds
math.random()
local module_upvr = {
Round = function(arg1, arg2) -- Line 7, Named "Round"
local var2 = 10 ^ (arg2 or 0)
return math.floor(arg1 * var2 + 0.5) / var2
end;
format_thousand = function(arg1) -- Line 12, Named "format_thousand"
if type(arg1) == "number" then
local formatted = string.format("%d", math.floor(arg1))
local var4 = string.len(formatted) % 3
if var4 == 0 then
var4 = 3
end
return string.sub(formatted, 1, var4)..string.gsub(string.sub(formatted, var4 + 1), "(...)", ",%1")
end
return arg1
end;
remove_commas = function(arg1) -- Line 23, Named "remove_commas"
return string.gsub(arg1, ',', "")
end;
roundUpToNearestInt = function(arg1) -- Line 27, Named "roundUpToNearestInt"
return math.floor(arg1 + 0.5)
end;
roundDownToNearestInt = function(arg1) -- Line 31, Named "roundDownToNearestInt"
return math.floor(arg1 - 0.5)
end;
RoundToNearestInteger = function(arg1) -- Line 35, Named "RoundToNearestInteger"
return math.floor(arg1 + 0.5)
end;
roundUpToNearestDecimal = function(arg1, arg2) -- Line 39, Named "roundUpToNearestDecimal"
return math.floor(arg1 * math.pow(10, arg2) + 0.5) / math.pow(10, arg2)
end;
roundDownToNearestDecimal = function(arg1, arg2) -- Line 43, Named "roundDownToNearestDecimal"
return math.floor(arg1 * math.pow(10, arg2) - 0.5) / math.pow(10, arg2)
end;
}
local random_state_upvr = Random.new(tick())
function module_upvr.RandomIntegerOmit0(arg1, arg2) -- Line 47
--[[ Upvalues[2]:
[1]: random_state_upvr (readonly)
[2]: module_upvr (readonly)
]]
local any_NextInteger_result1 = random_state_upvr:NextInteger(arg1, arg2)
local var7
local function INLINED() -- Internal function, doesn't exist in bytecode
var7 = any_NextInteger_result1
return var7
end
if any_NextInteger_result1 == 0 or not INLINED() then
var7 = module_upvr.RandomIntegerOmit0(arg1, arg2)
end
return var7
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:11
-- Luau version 6, Types version 3
-- Time taken: 0.004262 seconds
local RunService_upvr = game:GetService("RunService")
local module_upvr = {
AUTO_UPDATE = true;
AUTOMATIC_UPDATE_INTERVAL = 1;
LastFPS = 30;
Grades = {
A = {
MinFPS = 51;
MaxFPS = math.huge;
};
B = {
MinFPS = 31;
MaxFPS = 50;
};
C = {
MinFPS = 16;
MaxFPS = 30;
};
D = {
MinFPS = 0;
MaxFPS = 15;
};
};
}
function module_upvr.GetGrade(arg1) -- Line 28
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local pairs_result1, pairs_result2, pairs_result3 = pairs(arg1.Grades)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [25] 16. Error Block 5 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [25] 16. Error Block 5 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [11] 8. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [25.9]
-- KONSTANTERROR: [11] 8. Error Block 2 end (CF ANALYSIS FAILED)
end
function module_upvr.GetFPS(arg1) -- Line 40
--[[ Upvalues[1]:
[1]: RunService_upvr (readonly)
]]
local var11
repeat
RunService_upvr.Heartbeat:Wait()
var11 += 1
until 1 <= tick() - tick()
arg1.LastFPS = var11
return var11
end
function module_upvr.Update(arg1) -- Line 48
arg1:GetFPS()
arg1:GetGrade()
end
function module_upvr.Get(arg1, arg2) -- Line 54
if arg2 then
arg1:Update()
end
return arg1.LastGrade, arg1.LastFPS
end
function module_upvr.IsBetter(arg1, arg2) -- Line 62
local var12 = arg2 or 'D'
local var13
if var12 == 'A' then
if arg1.LastGrade ~= 'A' then
var13 = false
else
var13 = true
end
return var13
end
if var12 == 'B' then
var13 = true
if arg1.LastGrade ~= 'A' then
if arg1.LastGrade ~= 'B' then
var13 = false
else
var13 = true
end
end
return var13
end
if var12 == 'C' then
if arg1.LastGrade ~= 'A' and arg1.LastGrade ~= 'B' then
if arg1.LastGrade ~= 'C' then
else
end
end
return true
end
if var12 == 'D' then
if arg1.LastGrade ~= 'A' and arg1.LastGrade ~= 'B' and arg1.LastGrade ~= 'C' then
if arg1.LastGrade ~= 'D' then
else
end
end
return true
end
return true
end
if module_upvr.AUTO_UPDATE and RunService_upvr:IsClient() then
spawn(function() -- Line 78
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
while wait(module_upvr.AUTOMATIC_UPDATE_INTERVAL) do
module_upvr:Update()
end
end)
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:13
-- Luau version 6, Types version 3
-- Time taken: 0.003208 seconds
local CollectionService_upvr = game:GetService("CollectionService")
local module_upvr = {
IsDescendantOfTag = function(arg1, arg2) -- Line 5, Named "IsDescendantOfTag"
--[[ Upvalues[1]:
[1]: CollectionService_upvr (readonly)
]]
local var3 = arg1
repeat
if CollectionService_upvr:HasTag(var3, arg2) then
return true, var3
end
local Parent = var3.Parent
until not Parent and not Parent.Parent
return false
end;
}
function module_upvr.GetTouching(arg1, arg2, arg3, arg4) -- Line 19
--[[ Upvalues[2]:
[1]: CollectionService_upvr (readonly)
[2]: module_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 30 start (CF ANALYSIS FAILED)
assert(arg1, "Part to check touching is required")
if not arg1.CanCollide then
local function _() -- Line 24
end
end
local const_number = 1
-- KONSTANTERROR: [0] 1. Error Block 30 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [77] 65. Error Block 24 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [77] 65. Error Block 24 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [26] 21. Error Block 4 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [26] 21. Error Block 4 end (CF ANALYSIS FAILED)
end
if game:GetService("RunService"):IsClient() then
local CurrentCamera_upvr = workspace.CurrentCamera
function module_upvr.IsOnScreen(arg1, arg2) -- Line 68
--[[ Upvalues[1]:
[1]: CurrentCamera_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
assert(arg1, "part or position required to check on screen")
local var9
local function INLINED() -- Internal function, doesn't exist in bytecode
var9 = arg1
return var9
end
if typeof(arg1) ~= "Vector3" or not INLINED() then
var9 = arg1.Position
end
local any_WorldToScreenPoint_result1, any_WorldToScreenPoint_result2 = CurrentCamera_upvr:WorldToScreenPoint(var9)
if arg2 then
if any_WorldToScreenPoint_result1.Z > arg2 then
else
end
return true
end
return any_WorldToScreenPoint_result2
end
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:14
-- Luau version 6, Types version 3
-- Time taken: 0.025761 seconds
local TweenService_upvr = game:GetService("TweenService")
local module_upvr = {
GetStyleFromString = function(arg1) -- Line 15, Named "GetStyleFromString"
if arg1 ~= nil then
if arg1 == "Linear" then
return Enum.EasingStyle.Linear
end
if arg1 == "Sine" then
return Enum.EasingStyle.Sine
end
if arg1 == "Back" then
return Enum.EasingStyle.Back
end
if arg1 == "Quad" then
return Enum.EasingStyle.Quad
end
if arg1 == "Quart" then
return Enum.EasingStyle.Quart
end
if arg1 == "Quint" then
return Enum.EasingStyle.Quint
end
if arg1 == "Bounce" then
return Enum.EasingStyle.Bounce
end
if arg1 == "Elastic" then
return Enum.EasingStyle.Elastic
end
end
return Enum.EasingStyle.Quad
end;
GetDirectionFromString = function(arg1) -- Line 30, Named "GetDirectionFromString"
if arg1 ~= nil then
if arg1 == "In" then
return Enum.EasingDirection.In
end
if arg1 == "Out" then
return Enum.EasingDirection.Out
end
end
return Enum.EasingDirection.InOut
end;
}
local module_upvr_2 = require(game:GetService("ReplicatedStorage"):WaitForChild("Util"):WaitForChild("Maths"))
function module_upvr.TweenTextLabelNumber(arg1, arg2, arg3, arg4) -- Line 38
--[[ Upvalues[3]:
[1]: module_upvr_2 (readonly)
[2]: module_upvr (readonly)
[3]: TweenService_upvr (readonly)
]]
local NumberValue_upvr_2 = Instance.new("NumberValue")
NumberValue_upvr_2.Value = tonumber(module_upvr_2.remove_commas(arg1.Text))
local tbl_11 = {}
tbl_11.Value = arg2
local any_Create_result1_14_upvr = TweenService_upvr:Create(NumberValue_upvr_2, TweenInfo.new(arg3, module_upvr.GetStyleFromString(arg4), Enum.EasingDirection.Out), tbl_11)
any_Create_result1_14_upvr:Play()
NumberValue_upvr_2.Changed:Connect(function() -- Line 46
--[[ Upvalues[5]:
[1]: NumberValue_upvr_2 (readonly)
[2]: module_upvr_2 (copied, readonly)
[3]: arg1 (readonly)
[4]: arg2 (readonly)
[5]: any_Create_result1_14_upvr (readonly)
]]
arg1.Text = module_upvr_2.format_thousand(NumberValue_upvr_2.Value)
if tostring(arg1.Text) == arg2 then
NumberValue_upvr_2:Destroy()
any_Create_result1_14_upvr:Cancel()
end
end)
end
function module_upvr.TweenCFrame(arg1, arg2, arg3, arg4, arg5, arg6, arg7) -- Line 58
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: TweenService_upvr (readonly)
]]
local var8_upvw = false
if arg1 and arg2 then
local tbl_6 = {}
tbl_6.CFrame = arg2
local any_Create_result1 = TweenService_upvr:Create(arg1, TweenInfo.new(arg3 or 1, module_upvr.GetStyleFromString(arg5), module_upvr.GetDirectionFromString(arg4)), tbl_6)
if arg7 ~= nil and arg7 == true then
arg1.CanCollide = false
end
any_Create_result1:Play()
any_Create_result1.Completed:Connect(function() -- Line 76
--[[ Upvalues[3]:
[1]: arg7 (readonly)
[2]: arg1 (readonly)
[3]: var8_upvw (read and write)
]]
if arg7 ~= nil and arg7 == true then
arg1.CanCollide = true
end
var8_upvw = true
end)
if arg6 ~= nil and arg6 == true then
repeat
wait()
until var8_upvw == true
end
end
return true
end
function module_upvr.TweenPrimaryPartCFrame(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 91
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: TweenService_upvr (readonly)
]]
if arg1 and arg2 then
if arg6 == nil or arg6 ~= true then
end
local tbl_17 = {}
tbl_17.Value = arg2
local CFrameValue_upvr = Instance.new("CFrameValue")
CFrameValue_upvr.Value = arg1.PrimaryPart.CFrame
CFrameValue_upvr.Changed:Connect(function() -- Line 103
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: CFrameValue_upvr (readonly)
]]
if arg1.PrimaryPart then
arg1:SetPrimaryPartCFrame(CFrameValue_upvr.Value)
end
end)
local any_Create_result1_18 = TweenService_upvr:Create(CFrameValue_upvr, TweenInfo.new(arg3 or 1, module_upvr.GetStyleFromString(arg4), module_upvr.GetDirectionFromString(arg5)), tbl_17)
any_Create_result1_18:Play()
if arg6 then
any_Create_result1_18.Completed:Wait()
CFrameValue_upvr:Destroy()
return true
end
any_Create_result1_18.Completed:Connect(function() -- Line 119
--[[ Upvalues[1]:
[1]: CFrameValue_upvr (readonly)
]]
CFrameValue_upvr:Destroy()
end)
end
end
function module_upvr.FadeTransparency(arg1, arg2, arg3, arg4) -- Line 126
--[[ Upvalues[1]:
[1]: TweenService_upvr (readonly)
]]
if arg1 and arg2 then
if arg4 == nil or arg4 ~= true then
end
local var17_upvw = true
local tbl_2 = {}
tbl_2.Transparency = arg2
local any_Create_result1_4 = TweenService_upvr:Create(arg1, TweenInfo.new(arg3 or 1, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut), tbl_2)
any_Create_result1_4:Play()
any_Create_result1_4.Completed:Connect(function() -- Line 139
--[[ Upvalues[1]:
[1]: var17_upvw (read and write)
]]
var17_upvw = true
end)
if arg4 ~= nil and arg4 == true then
repeat
wait()
until var17_upvw == true
return true
end
end
end
function module_upvr.TweenSize(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 150
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: TweenService_upvr (readonly)
]]
if arg1 and arg2 then
local var21_upvw = false
local tbl_3 = {}
tbl_3.Size = arg2
local any_Create_result1_3 = TweenService_upvr:Create(arg1, TweenInfo.new(arg3 or 1, module_upvr.GetStyleFromString(arg4), module_upvr.GetDirectionFromString(arg5)), tbl_3)
any_Create_result1_3:Play()
any_Create_result1_3.Completed:Connect(function() -- Line 164
--[[ Upvalues[1]:
[1]: var21_upvw (read and write)
]]
var21_upvw = true
end)
if arg6 ~= nil and arg6 == true then
repeat
wait()
until var21_upvw == true
return true
end
end
return true
end
function module_upvr.BounceSize(arg1, arg2, arg3, arg4, arg5) -- Line 178
--[[ Upvalues[1]:
[1]: TweenService_upvr (readonly)
]]
if arg1 then
local var32
if var32 then
var32 = arg3
if not var32 then
var32 = arg1.Size
end
local var33 = arg4 or 1
local var34 = arg2 or 1.1
var32 = {}
var32.Size = arg1.Size * Vector3.new(var34, var34, var34)
local any_Create_result1_8_upvr = TweenService_upvr:Create(arg1, TweenInfo.new(var33 * 0.666, Enum.EasingStyle.Elastic, Enum.EasingDirection.Out), var32)
local any_Create_result1_7_upvr = TweenService_upvr:Create(arg1, TweenInfo.new(var33 * 0.333, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut), {
Size = var32;
})
any_Create_result1_8_upvr:Play()
if arg5 ~= nil and arg5 == true then
any_Create_result1_8_upvr.Completed:Wait()
any_Create_result1_7_upvr:Play()
any_Create_result1_7_upvr.Completed:Wait()
return true
end
spawn(function() -- Line 200
--[[ Upvalues[2]:
[1]: any_Create_result1_8_upvr (readonly)
[2]: any_Create_result1_7_upvr (readonly)
]]
any_Create_result1_8_upvr.Completed:Wait()
any_Create_result1_7_upvr:Play()
any_Create_result1_7_upvr.Completed:Wait()
return true
end)
end
end
return true
end
function module_upvr.BounceSizeModel(arg1, arg2, arg3, arg4, arg5) -- Line 214
--[[ Upvalues[1]:
[1]: TweenService_upvr (readonly)
]]
if arg1:IsA("Model") == false then
return error("This function requires a model as the target instance")
end
if arg1 then
local var64_upvw
if arg1.Parent then
local var65_upvw = arg4 or 1
local var66 = arg2 or 1.1
var64_upvw = var65_upvw / 2
var64_upvw = nil
for _, v in pairs(arg1:GetChildren()) do
if v:IsA("BasePart") or v:IsA("UnionOperation") then
table.insert({}, v)
local any_Create_result1_19 = TweenService_upvr:Create(v, TweenInfo.new(var64_upvw, Enum.EasingStyle.Elastic, Enum.EasingDirection.Out), {
Size = v.Size * Vector3.new(var66, var66, var66);
})
if var64_upvw == nil then
var64_upvw = any_Create_result1_19
end
any_Create_result1_19:Play()
end
end
local tbl_5_upvr = {}
spawn(function() -- Line 241
--[[ Upvalues[5]:
[1]: var64_upvw (read and write)
[2]: var65_upvw (read and write)
[3]: tbl_5_upvr (readonly)
[4]: arg3 (readonly)
[5]: TweenService_upvr (copied, readonly)
]]
var64_upvw.Completed:Wait()
for _, v_2 in pairs(tbl_5_upvr) do
TweenService_upvr:Create(v_2, TweenInfo.new(var65_upvw / 2, Enum.EasingStyle.Elastic, Enum.EasingDirection.Out), {
Size = arg3[v_2] or Vector3.new(0, 0, 0);
}):Play()
if nil == nil then
end
end
end)
if arg5 ~= nil and arg5 == true then
var64_upvw.Completed:Wait()
end
end
end
return true
end
function module_upvr.TweenModelSize(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 267
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: TweenService_upvr (readonly)
]]
if arg1 and arg2 then
if arg6 == nil or arg6 ~= true then
end
local var81_upvw = true
local tbl_7 = {}
tbl_7.Size = arg2
local any_Create_result1_16 = TweenService_upvr:Create(arg1, TweenInfo.new(arg3 or 1, module_upvr.GetStyleFromString(arg4), module_upvr.GetDirectionFromString(arg5)), tbl_7)
any_Create_result1_16:Play()
any_Create_result1_16.Completed:Connect(function() -- Line 281
--[[ Upvalues[1]:
[1]: var81_upvw (read and write)
]]
var81_upvw = true
end)
if arg6 ~= nil and arg6 == true then
repeat
wait()
until var81_upvw == true
return true
end
end
return true
end
function module_upvr.TweenPartColour(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 293
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: TweenService_upvr (readonly)
]]
if arg1 and arg2 then
local var85_upvw = false
local tbl_9 = {}
tbl_9.Color = arg2
local any_Create_result1_9 = TweenService_upvr:Create(arg1, TweenInfo.new(arg3 or 1, module_upvr.GetStyleFromString(arg4), module_upvr.GetDirectionFromString(arg5)), tbl_9)
any_Create_result1_9:Play()
any_Create_result1_9.Completed:Connect(function() -- Line 307
--[[ Upvalues[1]:
[1]: var85_upvw (read and write)
]]
var85_upvw = true
end)
if arg6 ~= nil and arg6 == true then
repeat
wait()
until var85_upvw == true
return true
end
end
return true
end
function module_upvr.TweenVolume(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 319
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: TweenService_upvr (readonly)
]]
if arg1 and arg2 then
local var89_upvw = false
local tbl_8 = {}
tbl_8.Volume = arg2
local any_Create_result1_10 = TweenService_upvr:Create(arg1, TweenInfo.new(arg3 or 1, module_upvr.GetStyleFromString(arg4), module_upvr.GetDirectionFromString(arg5)), tbl_8)
any_Create_result1_10:Play()
any_Create_result1_10.Completed:Connect(function() -- Line 333
--[[ Upvalues[1]:
[1]: var89_upvw (read and write)
]]
var89_upvw = true
end)
if arg6 ~= nil and arg6 == true then
repeat
wait()
until var89_upvw == true
return true
end
end
return true
end
function module_upvr.TweenRotation(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 345
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: TweenService_upvr (readonly)
]]
if arg1 and arg2 then
local var93_upvw = false
local tbl_4 = {}
tbl_4.Rotation = arg2
local any_Create_result1_6 = TweenService_upvr:Create(arg1, TweenInfo.new(arg3 or 1, module_upvr.GetStyleFromString(arg4), module_upvr.GetDirectionFromString(arg5)), tbl_4)
any_Create_result1_6:Play()
any_Create_result1_6.Completed:Connect(function() -- Line 359
--[[ Upvalues[1]:
[1]: var93_upvw (read and write)
]]
var93_upvw = true
end)
if arg6 ~= nil and arg6 == true then
repeat
wait()
until var93_upvw == true
return true
end
end
return true
end
function module_upvr.TweenCameraRoll(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 373
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: TweenService_upvr (readonly)
]]
if arg1 and arg2 then
local tbl_15 = {}
tbl_15.Value = arg2
local NumberValue_upvr = Instance.new("NumberValue")
NumberValue_upvr.Value = arg1:GetRoll()
NumberValue_upvr.Changed:Connect(function() -- Line 384
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: NumberValue_upvr (readonly)
]]
if arg1 then
arg1:SetRoll(NumberValue_upvr.Value)
end
end)
local any_Create_result1_2_upvr = TweenService_upvr:Create(NumberValue_upvr, TweenInfo.new(arg3 or 1, module_upvr.GetStyleFromString(arg4), module_upvr.GetDirectionFromString(arg5)), tbl_15)
any_Create_result1_2_upvr:Play()
any_Create_result1_2_upvr.Completed:Connect(function() -- Line 393
--[[ Upvalues[2]:
[1]: NumberValue_upvr (readonly)
[2]: any_Create_result1_2_upvr (readonly)
]]
NumberValue_upvr:Destroy()
any_Create_result1_2_upvr:Destroy()
end)
if arg6 ~= nil and arg6 == true then
any_Create_result1_2_upvr.Completed:Wait()
any_Create_result1_2_upvr:Destroy()
return true
end
end
return true
end
function module_upvr.TweenColorSequence(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 406
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: TweenService_upvr (readonly)
]]
if arg1 and arg2 then
local tbl_14 = {}
tbl_14.Value = arg2
local Color3Value_upvr_2 = Instance.new("Color3Value")
Color3Value_upvr_2.Value = arg1.Color.Keypoints[1].Value
Color3Value_upvr_2.Changed:Connect(function() -- Line 418
--[[ Upvalues[2]:
[1]: Color3Value_upvr_2 (readonly)
[2]: arg1 (readonly)
]]
arg1.Color = ColorSequence.new(Color3Value_upvr_2.Value)
end)
local any_Create_result1_17_upvr = TweenService_upvr:Create(Color3Value_upvr_2, TweenInfo.new(arg3 or 1, module_upvr.GetStyleFromString(arg4), module_upvr.GetDirectionFromString(arg5)), tbl_14)
any_Create_result1_17_upvr:Play()
any_Create_result1_17_upvr.Completed:Connect(function() -- Line 426
--[[ Upvalues[2]:
[1]: Color3Value_upvr_2 (readonly)
[2]: any_Create_result1_17_upvr (readonly)
]]
Color3Value_upvr_2:Destroy()
any_Create_result1_17_upvr:Destroy()
end)
if arg6 ~= nil and arg6 == true then
any_Create_result1_17_upvr.Completed:Wait()
any_Create_result1_17_upvr:Destroy()
return true
end
end
end
function module_upvr.TweenProperties(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 439
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: TweenService_upvr (readonly)
]]
if arg1 and arg2 then
for i_3, v_3 in pairs(arg2) do
if arg1[i_3] ~= nil then
({})[i_3] = v_3
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
local any_Create_result1_15 = TweenService_upvr:Create(arg1, TweenInfo.new(arg3 or 1, module_upvr.GetStyleFromString(arg4), module_upvr.GetDirectionFromString(arg5)), {})
any_Create_result1_15:Play()
if arg6 then
any_Create_result1_15.Completed:Wait()
end
return any_Create_result1_15, any_Create_result1_15.Completed
end
end
function module_upvr.Make(arg1, arg2, arg3, arg4, arg5) -- Line 461
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: TweenService_upvr (readonly)
]]
return TweenService_upvr:Create(arg1, TweenInfo.new(arg3, module_upvr.GetStyleFromString(arg4), module_upvr.GetDirectionFromString(arg5)), arg2)
end
function module_upvr.TweenTerrainMaterials(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 470
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: TweenService_upvr (readonly)
]]
if arg1 and arg2 then
for i_4, v_4 in pairs(arg2) do
local var129_upvr = Enum.Material[i_4]
if var129_upvr then
local Color3Value_upvr_3 = Instance.new("Color3Value")
Color3Value_upvr_3.Value = arg1:GetMaterialColor(var129_upvr)
Color3Value_upvr_3.Changed:Connect(function() -- Line 482
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: var129_upvr (readonly)
[3]: Color3Value_upvr_3 (readonly)
]]
arg1:SetMaterialColor(var129_upvr, Color3Value_upvr_3.Value)
end)
local any_Create_result1_11_upvr = TweenService_upvr:Create(Color3Value_upvr_3, TweenInfo.new(arg3 or 1, module_upvr.GetStyleFromString(arg4), module_upvr.GetDirectionFromString(arg5)), {
Value = v_4;
})
any_Create_result1_11_upvr:Play()
spawn(function() -- Line 489
--[[ Upvalues[2]:
[1]: any_Create_result1_11_upvr (readonly)
[2]: Color3Value_upvr_3 (readonly)
]]
any_Create_result1_11_upvr.Completed:Wait()
Color3Value_upvr_3:Destroy()
end)
if not next(arg2, i_4) and arg6 then
any_Create_result1_11_upvr.Completed:Wait()
end
end
end
end
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:16
-- Luau version 6, Types version 3
-- Time taken: 0.018850 seconds
math.randomseed(os.time() ^ 5)
local tbl_3_upvr = {' ', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '!', '?', '#', '$', '%', '&', '+', '-', "'", '"', ',', '.', ';', ':', '(', ')', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'}
local module_upvr = {
GetAlphabetPosition = function(arg1) -- Line 18, Named "GetAlphabetPosition"
--[[ Upvalues[1]:
[1]: tbl_3_upvr (readonly)
]]
for i, v in ipairs(tbl_3_upvr) do
if v == arg1 then
return i
end
end
return 1
end;
IntegerToRank = function(arg1, arg2) -- Line 46, Named "IntegerToRank"
if arg2 % 10 == 1 and arg2 ~= 11 then
return arg2.."st"
end
if arg2 % 10 == 2 and arg2 ~= 12 then
return arg2.."nd"
end
if arg2 % 10 == 3 and arg2 ~= 13 then
return arg2.."rd"
end
return arg2.."th"
end;
IntToStringSuffix = function(arg1) -- Line 60, Named "IntToStringSuffix"
local tonumber_result1 = tonumber(arg1)
if 1000000000000000000 <= tonumber_result1 then
return string.format("%.2fQt", tonumber_result1 / 1000000000000000000)
end
if 1000000000000000 <= tonumber_result1 then
return string.format("%.2fQd", tonumber_result1 / 1000000000000000)
end
if 1000000000000 <= tonumber_result1 then
return string.format("%.2ft", tonumber_result1 / 1000000000000)
end
if 1000000000 <= tonumber_result1 then
return string.format("%.2fb", tonumber_result1 / 1000000000)
end
if 1000000 <= tonumber_result1 then
return string.format("%.2fm", tonumber_result1 / 1000000)
end
if 1000 <= tonumber_result1 then
return string.format("%.2fk", tonumber_result1 / 1000)
end
return tostring(tonumber_result1)
end;
}
function module_upvr.RollingTextLabel(arg1, arg2, arg3, arg4) -- Line 81
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: tbl_3_upvr (readonly)
]]
local tbl_2_upvr = {}
local tbl = {}
arg2:gsub('.', function(arg1_2) -- Line 85
--[[ Upvalues[1]:
[1]: tbl_2_upvr (readonly)
]]
table.insert(tbl_2_upvr, arg1_2)
end)
for i_2 = 1, #tbl_2_upvr do
local any_GetAlphabetPosition_result1 = module_upvr.GetAlphabetPosition(tbl_2_upvr[i_2])
for i_3 = any_GetAlphabetPosition_result1 - arg3, any_GetAlphabetPosition_result1 do
tbl_2_upvr[i_2] = tbl_3_upvr[i_3]
tbl[i_2] = tbl_3_upvr[i_3]
arg1.Text = table.concat(tbl, "")
if arg4 then
local clone_upvr = arg4:Clone()
clone_upvr.Parent = arg4.Parent
local var23_upvw
var23_upvw = clone_upvr.Stopped:Connect(function() -- Line 97
--[[ Upvalues[2]:
[1]: var23_upvw (read and write)
[2]: clone_upvr (readonly)
]]
var23_upvw:Disconnect()
var23_upvw = nil
clone_upvr:Destroy()
end)
clone_upvr:Play()
end
clone_upvr = wait
clone_upvr()
end
end
return true
end
function module_upvr.getday_posfix(arg1) -- Line 112
if arg1 == 1 and arg1 ~= 11 then
return "st"
end
if arg1 == 2 and arg1 ~= 12 then
return "nd"
end
if arg1 == 3 and arg1 ~= 13 then
return "rd"
end
return "th"
end
function module_upvr.getmonth(arg1) -- Line 116
return ({"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"})[tonumber(arg1)]
end
function module_upvr.MinutesToDaysHoursMinutes(arg1) -- Line 122
if arg1 == nil or not tonumber(arg1) then
local const_number_2 = 0
end
if const_number_2 <= 0 then
return "0 minutes"
end
local floored_2 = math.floor(const_number_2 / 1440)
local var27 = ""
if 0 < floored_2 then
var27 = floored_2.." days, "
end
local floored = math.floor(const_number_2 / 60 - floored_2 * 24)
local var29 = ""
if 0 < floored then
var29 = floored.." hours, "
end
local floored_6 = math.floor(const_number_2 - floored * 60 - floored_2 * 1440)
local var31 = ""
if 0 < floored_6 then
var31 = floored_6.." minutes"
end
return var27..var29..var31
end
function module_upvr.SecondsToClock(arg1) -- Line 147
local tonumber_result1_2 = tonumber(arg1)
if tonumber_result1_2 <= 0 then
return "00:00:00"
end
local formatted_2 = string.format("%02.f", math.floor(tonumber_result1_2 / 3600))
local formatted = string.format("%02.f", math.floor(tonumber_result1_2 / 60 - formatted_2 * 60))
return formatted_2..':'..formatted..':'..string.format("%02.f", math.floor(tonumber_result1_2 - formatted_2 * 3600 - formatted * 60))
end
function module_upvr.SecondsToHoursMinutesSeconds(arg1) -- Line 160
if arg1 == nil or not tonumber(math.floor(arg1)) then
local const_number = 0
end
if const_number <= 0 then
return "0 seconds"
end
local floored_5 = math.floor(const_number / 3600)
if 0 >= floored_5 or not floored_5.." hours, " then
end
local floored_4 = math.floor(const_number / 60 - floored_5 * 60)
if 0 >= floored_4 or not floored_4.." minutes, " then
end
local floored_3 = math.floor(const_number - floored_5 * 3600 - floored_4 * 60)
if 0 >= floored_3 or not floored_3.." seconds" then
end
return ""..""..""
end
function module_upvr.DateIntsToString(arg1, arg2, arg3) -- Line 178
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
return tostring(arg1)..module_upvr.getday_posfix(arg1).." of "..module_upvr.getmonth(arg2)..", "..tostring(arg3)
end
function module_upvr.DayToDate(arg1) -- Line 185
return nil
end
module_upvr.SizeFromCategory = {}
module_upvr.SizeFromCategory.Phone = 6
module_upvr.SizeFromCategory.Tablet = 10
module_upvr.SizeFromCategory.Average = 13
local function GetScreenCategory_upvr(arg1) -- Line 197, Named "GetScreenCategory"
-- KONSTANTERROR: [0] 1. Error Block 24 start (CF ANALYSIS FAILED)
if arg1.X <= 900 and arg1.Y <= 450 then
-- KONSTANTWARNING: GOTO [58] #39
end
-- KONSTANTERROR: [0] 1. Error Block 24 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [13] 10. Error Block 23 start (CF ANALYSIS FAILED)
if 900 < arg1.X and arg1.X <= 1100 and 450 < arg1.Y and arg1.Y <= 900 then
-- KONSTANTWARNING: GOTO [58] #39
end
-- KONSTANTERROR: [13] 10. Error Block 23 end (CF ANALYSIS FAILED)
end
local function GetMaxTextSize(arg1) -- Line 203
--[[ Upvalues[2]:
[1]: GetScreenCategory_upvr (readonly)
[2]: module_upvr (readonly)
]]
local var39 = 10
if arg1 then
var39 = module_upvr.SizeFromCategory[GetScreenCategory_upvr(arg1)] or 10
end
return var39
end
module_upvr.GetMaxTextSize = GetMaxTextSize
GetMaxTextSize = {}
local var40_upvr = GetMaxTextSize
for i_4 = 48, 57 do
table.insert(var40_upvr, string.char(i_4))
end
for i_5 = 65, 90 do
table.insert(var40_upvr, string.char(i_5))
end
for i_6 = 97, 122 do
table.insert(var40_upvr, string.char(i_6))
end
local random_state_upvr = Random.new(tick())
function module_upvr.RandomString(arg1) -- Line 218
--[[ Upvalues[3]:
[1]: module_upvr (readonly)
[2]: var40_upvr (readonly)
[3]: random_state_upvr (readonly)
]]
if not arg1 or arg1 <= 0 then
return ""
end
return module_upvr.RandomString(arg1 - 1)..var40_upvr[random_state_upvr:NextInteger(1, #var40_upvr)]
end
function module_upvr.HourFromString(arg1) -- Line 223
if arg1 and typeof(arg1) == "string" then
return tonumber(string.match(arg1, "%d+"))
end
return nil
end
function module_upvr.SecondsToHours(arg1) -- Line 230
return arg1 / 3600
end
function module_upvr.remove_commas(arg1) -- Line 235
return string.gsub(arg1, ',', "")
end
function module_upvr.IntToString(arg1) -- Line 241
end
function module_upvr.EnumFromString(arg1) -- Line 246
if arg1 then
local var49
if var49 < #arg1 then
var49 = string.match(arg1, "%.%w+%.")
local string_gsub_result1_upvr = string.gsub(var49, "%.", "")
var49 = string_gsub_result1_upvr
if var49 then
var49 = string.gsub(string.match(arg1, string_gsub_result1_upvr.."%.%w+"), string_gsub_result1_upvr, "")
end
local var51_upvw = var49
if var51_upvw then
var51_upvw = string.gsub(var49, "%.", "")
end
local var53_upvw
local _, _ = pcall(function() -- Line 252
--[[ Upvalues[3]:
[1]: string_gsub_result1_upvr (readonly)
[2]: var51_upvw (read and write)
[3]: var53_upvw (read and write)
]]
if Enum[string_gsub_result1_upvr] and Enum[string_gsub_result1_upvr][var51_upvw] then
var53_upvw = Enum[string_gsub_result1_upvr][var51_upvw]
end
end)
end
end
return var53_upvw
end
function module_upvr.EnumFromEnumValue(arg1, arg2) -- Line 261
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
local var63
for _, v_2 in pairs(arg2) do
var63 = module_upvr.EnumFromString("Enum."..v_2..'.'..arg1)
if var63 then
return var63
end
end
return var63
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:17
-- Luau version 6, Types version 3
-- Time taken: 0.002232 seconds
return {
generateRandomString = function(arg1) -- Line 2, Named "generateRandomString"
local tbl = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'}
local var7 = ""
if arg1 and 2 <= arg1 then
for i = 1, math.random(1, arg1) do
var7 = var7..tbl[math.random(1, #tbl)]
end
return var7
end
if arg1 and arg1 < 2 then
i = math.random(1, #tbl)
var7 = var7..tbl[i]
return var7
end
for _ = 1, math.random(50, 70) do
var7 = var7..tbl[math.random(1, #tbl)]
end
return var7
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:18
-- Luau version 6, Types version 3
-- Time taken: 0.000501 seconds
return {
Primary = Color3.fromRGB(247, 247, 247);
Secondary = Color3.fromRGB(181, 181, 181);
Accent = Color3.fromRGB(83, 215, 255);
Text = Color3.fromRGB(35, 39, 50);
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:20
-- Luau version 6, Types version 3
-- Time taken: 0.006591 seconds
local module_2_upvr = {}
module_2_upvr.__index = module_2_upvr
function module_2_upvr.new(arg1, arg2, arg3) -- Line 17
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
local module = {}
module.ObjectSelect = arg1
module.ObjectDrag = arg2 or arg1
module.DragStarted = nil
module.DragEnded = nil
module.Dragged = nil
module.Dragging = false
module.Process = arg3
setmetatable(module, module_2_upvr)
return module
end
local new_2_upvr = UDim2.new
local UserInputService_upvr = game:GetService("UserInputService")
function module_2_upvr.Enable(arg1) -- Line 33
--[[ Upvalues[2]:
[1]: new_2_upvr (readonly)
[2]: UserInputService_upvr (readonly)
]]
arg1:Disable()
local ObjectSelect = arg1.ObjectSelect
local ObjectDrag_upvr = arg1.ObjectDrag
local var7_upvw
local var8_upvw
local var9_upvw
local var10_upvw = false
local function _(arg1_2) -- Line 44, Named "update"
--[[ Upvalues[4]:
[1]: var8_upvw (read and write)
[2]: new_2_upvr (copied, readonly)
[3]: var9_upvw (read and write)
[4]: ObjectDrag_upvr (readonly)
]]
local var11 = arg1_2 - var8_upvw
local new_2_upvr_result1 = new_2_upvr(var9_upvw.X.Scale, var9_upvw.X.Offset + var11.X, var9_upvw.Y.Scale, var9_upvw.Y.Offset + var11.Y)
ObjectDrag_upvr.Position = new_2_upvr_result1
return new_2_upvr_result1
end
arg1.InputBegan = ObjectSelect.InputBegan:Connect(function(arg1_3) -- Line 52
--[[ Upvalues[2]:
[1]: var10_upvw (read and write)
[2]: arg1 (readonly)
]]
if arg1_3.UserInputType == Enum.UserInputType.MouseButton1 or arg1_3.UserInputType == Enum.UserInputType.Touch then
var10_upvw = true
local var15_upvw
var15_upvw = arg1_3.Changed:Connect(function() -- Line 67
--[[ Upvalues[4]:
[1]: arg1_3 (readonly)
[2]: arg1 (copied, readonly)
[3]: var10_upvw (copied, read and write)
[4]: var15_upvw (read and write)
]]
if arg1_3.UserInputState == Enum.UserInputState.End and (arg1.Dragging or var10_upvw) then
arg1.Dragging = false
var15_upvw:Disconnect()
if arg1.DragEnded and not var10_upvw then
arg1.DragEnded()
end
var10_upvw = false
end
end)
end
end)
arg1.InputChanged = ObjectSelect.InputChanged:Connect(function(arg1_4) -- Line 82
--[[ Upvalues[1]:
[1]: var7_upvw (read and write)
]]
if arg1_4.UserInputType == Enum.UserInputType.MouseMovement or arg1_4.UserInputType == Enum.UserInputType.dr then
var7_upvw = arg1_4
end
end)
arg1.InputChanged2 = UserInputService_upvr.InputChanged:Connect(function(arg1_5) -- Line 88
--[[ Upvalues[7]:
[1]: ObjectDrag_upvr (readonly)
[2]: arg1 (readonly)
[3]: var10_upvw (read and write)
[4]: var8_upvw (read and write)
[5]: var7_upvw (read and write)
[6]: var9_upvw (read and write)
[7]: new_2_upvr (copied, readonly)
]]
if ObjectDrag_upvr.Parent == nil then
arg1:Disable()
else
if var10_upvw then
var10_upvw = false
if arg1.DragStarted then
arg1.DragStarted()
end
arg1.Dragging = true
var8_upvw = var7_upvw.Position
var9_upvw = ObjectDrag_upvr.Position
end
if arg1_5 == var7_upvw then
local var21
if var21 then
var21 = nil
if arg1.Process then
var21 = arg1.Process(arg1_5.Position)
else
local var22 = arg1_5.Position - var8_upvw
local var3_result1 = new_2_upvr(var9_upvw.X.Scale, var9_upvw.X.Offset + var22.X, var9_upvw.Y.Scale, var9_upvw.Y.Offset + var22.Y)
ObjectDrag_upvr.Position = var3_result1
var21 = var3_result1
end
if arg1.Dragged then
arg1.Dragged(var21)
end
end
end
end
end)
end
function module_2_upvr.Disable(arg1) -- Line 122
if arg1.InputBegan then
arg1.InputBegan:Disconnect()
end
if arg1.InputChanged then
arg1.InputChanged:Disconnect()
end
if arg1.InputChanged2 then
arg1.InputChanged2:Disconnect()
end
if arg1.Dragging then
arg1.Dragging = false
if arg1.DragEnded then
arg1.DragEnded()
end
end
end
return module_2_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:21
-- Luau version 6, Types version 3
-- Time taken: 0.018456 seconds
return {
TJ = {
Emoji = "🇹🇯";
Name = "Tajikistan";
};
HR = {
Emoji = "🇭🇷";
Name = "Croatia";
};
KE = {
Emoji = "🇰🇪";
Name = "Kenya";
};
CR = {
Emoji = "🇨🇷";
Name = "CostaRica";
};
BR = {
Emoji = "🇧🇷";
Name = "Brazil";
};
SB = {
Emoji = "🇸🇧";
Name = "SolomonIslands";
};
BJ = {
Emoji = "🇧🇯";
Name = "Benin";
};
TR = {
Emoji = "🇹🇷";
Name = "Turkey";
};
PR = {
Emoji = "🇵🇷";
Name = "PuertoRico";
};
UZ = {
Emoji = "🇺🇿";
Name = "Uzbekistan";
};
MR = {
Emoji = "🇲🇷";
Name = "Mauritania";
};
MM = {
Emoji = "🇲🇲";
Name = "Myanmar(Burma)";
};
OM = {
Emoji = "🇴🇲";
Name = "Oman";
};
PM = {
Emoji = "🇵🇲";
Name = "St.Pierre & Miquelon";
};
HU = {
Emoji = "🇭🇺";
Name = "Hungary";
};
SM = {
Emoji = "🇸🇲";
Name = "SanMarino";
};
TM = {
Emoji = "🇹🇲";
Name = "Turkmenistan";
};
PE = {
Emoji = "🇵🇪";
Name = "Peru";
};
ZM = {
Emoji = "🇿🇲";
Name = "Zambia";
};
AU = {
Emoji = "🇦🇺";
Name = "Australia";
};
GE = {
Emoji = "🇬🇪";
Name = "Georgia";
};
IE = {
Emoji = "🇮🇪";
Name = "Ireland";
};
JE = {
Emoji = "🇯🇪";
Name = "Jersey";
};
AM = {
Emoji = "🇦🇲";
Name = "Armenia";
};
BM = {
Emoji = "🇧🇲";
Name = "Bermuda";
};
NE = {
Emoji = "🇳🇪";
Name = "Niger";
};
HM = {
Emoji = "🇭🇲";
Name = "Heard & McDonaldIslands";
};
IM = {
Emoji = "🇮🇲";
Name = "IsleofMan";
};
ER = {
Emoji = "🇪🇷";
Name = "Eritrea";
};
BZ = {
Emoji = "🇧🇿";
Name = "Belize";
};
RU = {
Emoji = "🇷🇺";
Name = "Russia";
};
NL = {
Emoji = "🇳🇱";
Name = "Netherlands";
};
ML = {
Emoji = "🇲🇱";
Name = "Mali";
};
MU = {
Emoji = "🇲🇺";
Name = "Mauritius";
};
TL = {
Emoji = "🇹🇱";
Name = "Timor-Leste";
};
IN = {
Emoji = "🇮🇳";
Name = "India";
};
UA = {
Emoji = "🇺🇦";
Name = "Ukraine";
};
TD = {
Emoji = "🇹🇩";
Name = "Chad";
};
SD = {
Emoji = "🇸🇩";
Name = "Sudan";
};
AT = {
Emoji = "🇦🇹";
Name = "Austria";
};
TT = {
Emoji = "🇹🇹";
Name = "Trinidad & Tobago";
};
ST = {
Emoji = "🇸🇹";
Name = "S\xE3oTom\xE9 & Pr\xEDncipe";
};
MD = {
Emoji = "🇲🇩";
Name = "Moldova";
};
AL = {
Emoji = "🇦🇱";
Name = "Albania";
};
CM = {
Emoji = "🇨🇲";
Name = "Cameroon";
};
BB = {
Emoji = "🇧🇧";
Name = "Barbados";
};
BD = {
Emoji = "🇧🇩";
Name = "Bangladesh";
};
MZ = {
Emoji = "🇲🇿";
Name = "Mozambique";
};
AD = {
Emoji = "🇦🇩";
Name = "Andorra";
};
PT = {
Emoji = "🇵🇹";
Name = "Portugal";
};
IL = {
Emoji = "🇮🇱";
Name = "Israel";
};
ME = {
Emoji = "🇲🇪";
Name = "Montenegro";
};
SZ = {
Emoji = "🇸🇿";
Name = "Swaziland";
};
VG = {
Emoji = "🇻🇬";
Name = "BritishVirginIslands";
};
KR = {
Emoji = "🇰🇷";
Name = "SouthKorea";
};
LU = {
Emoji = "🇱🇺";
Name = "Luxembourg";
};
MO = {
Emoji = "🇲🇴";
Name = "MacauSARChina";
};
NO = {
Emoji = "🇳🇴";
Name = "Norway";
};
SO = {
Emoji = "🇸🇴";
Name = "Somalia";
};
DM = {
Emoji = "🇩🇲";
Name = "Dominica";
};
DO = {
Emoji = "🇩🇴";
Name = "DominicanRepublic";
};
VE = {
Emoji = "🇻🇪";
Name = "Venezuela";
};
GL = {
Emoji = "🇬🇱";
Name = "Greenland";
};
BW = {
Emoji = "🇧🇼";
Name = "Botswana";
};
GG = {
Emoji = "🇬🇬";
Name = "Guernsey";
};
MG = {
Emoji = "🇲🇬";
Name = "Madagascar";
};
NG = {
Emoji = "🇳🇬";
Name = "Nigeria";
};
KG = {
Emoji = "🇰🇬";
Name = "Kyrgyzstan";
};
FO = {
Emoji = "🇫🇴";
Name = "FaroeIslands";
};
MK = {
Emoji = "🇲🇰";
Name = "Macedonia";
};
EG = {
Emoji = "🇪🇬";
Name = "Egypt";
};
CW = {
Emoji = "🇨🇼";
Name = "Cura\xE7ao";
};
CV = {
Emoji = "🇨🇻";
Name = "CapeVerde";
};
TN = {
Emoji = "🇹🇳";
Name = "Tunisia";
};
AX = {
Emoji = "🇦🇽";
Name = "\xC5landIslands";
};
TF = {
Emoji = "🇹🇫";
Name = "FrenchSouthernTerritories";
};
GR = {
Emoji = "🇬🇷";
Name = "Greece";
};
TH = {
Emoji = "🇹🇭";
Name = "Thailand";
};
RS = {
Emoji = "🇷🇸";
Name = "Serbia";
};
TV = {
Emoji = "🇹🇻";
Name = "Tuvalu";
};
SV = {
Emoji = "🇸🇻";
Name = "ElSalvador";
};
BO = {
Emoji = "🇧🇴";
Name = "Bolivia";
};
CN = {
Emoji = "🇨🇳";
Name = "China";
};
BN = {
Emoji = "🇧🇳";
Name = "Brunei";
};
UG = {
Emoji = "🇺🇬";
Name = "Uganda";
};
JO = {
Emoji = "🇯🇴";
Name = "Jordan";
};
GU = {
Emoji = "🇬🇺";
Name = "Guam";
};
LB = {
Emoji = "🇱🇧";
Name = "Lebanon";
};
AW = {
Emoji = "🇦🇼";
Name = "Aruba";
};
BF = {
Emoji = "🇧🇫";
Name = "BurkinaFaso";
};
RW = {
Emoji = "🇷🇼";
Name = "Rwanda";
};
KW = {
Emoji = "🇰🇼";
Name = "Kuwait";
};
SG = {
Emoji = "🇸🇬";
Name = "Singapore";
};
AF = {
Emoji = "🇦🇫";
Name = "Afghanistan";
};
YE = {
Emoji = "🇾🇪";
Name = "Yemen";
};
CG = {
Emoji = "🇨🇬";
Name = "Congo-Brazzaville";
};
CK = {
Emoji = "🇨🇰";
Name = "CookIslands";
};
IQ = {
Emoji = "🇮🇶";
Name = "Iraq";
};
FJ = {
Emoji = "🇫🇯";
Name = "Fiji";
};
PF = {
Emoji = "🇵🇫";
Name = "FrenchPolynesia";
};
SN = {
Emoji = "🇸🇳";
Name = "Senegal";
};
BV = {
Emoji = "🇧🇻";
Name = "BouvetIsland";
};
DE = {
Emoji = "🇩🇪";
Name = "Germany";
};
NI = {
Emoji = "🇳🇮";
Name = "Nicaragua";
};
QA = {
Emoji = "🇶🇦";
Name = "Qatar";
};
ZA = {
Emoji = "🇿🇦";
Name = "SouthAfrica";
};
CY = {
Emoji = "🇨🇾";
Name = "Cyprus";
};
MF = {
Emoji = "🇲🇫";
Name = "St.Martin";
};
CI = {
Emoji = "🇨🇮";
Name = "C\xF4ted’Ivoire";
};
NA = {
Emoji = "🇳🇦";
Name = "Namibia";
};
NU = {
Emoji = "🇳🇺";
Name = "Niue";
};
IO = {
Emoji = "🇮🇴";
Name = "BritishIndianOceanTerritory";
};
KZ = {
Emoji = "🇰🇿";
Name = "Kazakhstan";
};
LY = {
Emoji = "🇱🇾";
Name = "Libya";
};
MY = {
Emoji = "🇲🇾";
Name = "Malaysia";
};
BY = {
Emoji = "🇧🇾";
Name = "Belarus";
};
RO = {
Emoji = "🇷🇴";
Name = "Romania";
};
VC = {
Emoji = "🇻🇨";
Name = "St.Vincent & Grenadines";
};
BQ = {
Emoji = "🇧🇶";
Name = "CaribbeanNetherlands";
};
DJ = {
Emoji = "🇩🇯";
Name = "Djibouti";
};
TO = {
Emoji = "🇹🇴";
Name = "Tonga";
};
AI = {
Emoji = "🇦🇮";
Name = "Anguilla";
};
CZ = {
Emoji = "🇨🇿";
Name = "Czechia";
};
MT = {
Emoji = "🇲🇹";
Name = "Malta";
};
GA = {
Emoji = "🇬🇦";
Name = "Gabon";
};
FR = {
Emoji = "🇫🇷";
Name = "France";
};
TZ = {
Emoji = "🇹🇿";
Name = "Tanzania";
};
UM = {
Emoji = "🇺🇲";
Name = "U.S.OutlyingIslands";
};
FI = {
Emoji = "🇫🇮";
Name = "Finland";
};
LI = {
Emoji = "🇱🇮";
Name = "Liechtenstein";
};
JP = {
Emoji = "🇯🇵";
Name = "Japan";
};
PW = {
Emoji = "🇵🇼";
Name = "Palau";
};
PH = {
Emoji = "🇵🇭";
Name = "Philippines";
};
MQ = {
Emoji = "🇲🇶";
Name = "Martinique";
};
GW = {
Emoji = "🇬🇼";
Name = "Guinea-Bissau";
};
TG = {
Emoji = "🇹🇬";
Name = "Togo";
};
NF = {
Emoji = "🇳🇫";
Name = "NorfolkIsland";
};
JM = {
Emoji = "🇯🇲";
Name = "Jamaica";
};
HT = {
Emoji = "🇭🇹";
Name = "Haiti";
};
GT = {
Emoji = "🇬🇹";
Name = "Guatemala";
};
LV = {
Emoji = "🇱🇻";
Name = "Latvia";
};
ZW = {
Emoji = "🇿🇼";
Name = "Zimbabwe";
};
CU = {
Emoji = "🇨🇺";
Name = "Cuba";
};
LR = {
Emoji = "🇱🇷";
Name = "Liberia";
};
SH = {
Emoji = "🇸🇭";
Name = "St.Helena";
};
KI = {
Emoji = "🇰🇮";
Name = "Kiribati";
};
RE = {
Emoji = "🇷🇪";
Name = "R\xE9union";
};
CX = {
Emoji = "🇨🇽";
Name = "ChristmasIsland";
};
WF = {
Emoji = "🇼🇫";
Name = "Wallis & Futuna";
};
SA = {
Emoji = "🇸🇦";
Name = "SaudiArabia";
};
HN = {
Emoji = "🇭🇳";
Name = "Honduras";
};
VN = {
Emoji = "🇻🇳";
Name = "Vietnam";
};
CH = {
Emoji = "🇨🇭";
Name = "Switzerland";
};
BT = {
Emoji = "🇧🇹";
Name = "Bhutan";
};
EH = {
Emoji = "🇪🇭";
Name = "WesternSahara";
};
TW = {
Emoji = "🇹🇼";
Name = "Taiwan";
};
GD = {
Emoji = "🇬🇩";
Name = "Grenada";
};
KH = {
Emoji = "🇰🇭";
Name = "Cambodia";
};
BA = {
Emoji = "🇧🇦";
Name = "Bosnia & Herzegovina";
};
VA = {
Emoji = "🇻🇦";
Name = "VaticanCity";
};
MA = {
Emoji = "🇲🇦";
Name = "Morocco";
};
GP = {
Emoji = "🇬🇵";
Name = "Guadeloupe";
};
BL = {
Emoji = "🇧🇱";
Name = "St.Barth\xE9lemy";
};
GY = {
Emoji = "🇬🇾";
Name = "Guyana";
};
TK = {
Emoji = "🇹🇰";
Name = "Tokelau";
};
MH = {
Emoji = "🇲🇭";
Name = "MarshallIslands";
};
SR = {
Emoji = "🇸🇷";
Name = "Suriname";
};
AE = {
Emoji = "🇦🇪";
Name = "UnitedArabEmirates";
};
KP = {
Emoji = "🇰🇵";
Name = "NorthKorea";
};
GN = {
Emoji = "🇬🇳";
Name = "Guinea";
};
GB = {
Emoji = "🇬🇧";
Name = "UnitedKingdom";
};
GH = {
Emoji = "🇬🇭";
Name = "Ghana";
};
UY = {
Emoji = "🇺🇾";
Name = "Uruguay";
};
SL = {
Emoji = "🇸🇱";
Name = "SierraLeone";
};
SJ = {
Emoji = "🇸🇯";
Name = "Svalbard & JanMayen";
};
IS = {
Emoji = "🇮🇸";
Name = "Iceland";
};
PN = {
Emoji = "🇵🇳";
Name = "PitcairnIslands";
};
YT = {
Emoji = "🇾🇹";
Name = "Mayotte";
};
FM = {
Emoji = "🇫🇲";
Name = "Micronesia";
};
AZ = {
Emoji = "🇦🇿";
Name = "Azerbaijan";
};
GI = {
Emoji = "🇬🇮";
Name = "Gibraltar";
};
CF = {
Emoji = "🇨🇫";
Name = "CentralAfricanRepublic";
};
PK = {
Emoji = "🇵🇰";
Name = "Pakistan";
};
SE = {
Emoji = "🇸🇪";
Name = "Sweden";
};
CL = {
Emoji = "🇨🇱";
Name = "Chile";
};
FK = {
Emoji = "🇫🇰";
Name = "FalklandIslands";
};
MW = {
Emoji = "🇲🇼";
Name = "Malawi";
};
GM = {
Emoji = "🇬🇲";
Name = "Gambia";
};
SK = {
Emoji = "🇸🇰";
Name = "Slovakia";
};
GS = {
Emoji = "🇬🇸";
Name = "SouthGeorgia & SouthSandwichIslands";
};
MV = {
Emoji = "🇲🇻";
Name = "Maldives";
};
IT = {
Emoji = "🇮🇹";
Name = "Italy";
};
PY = {
Emoji = "🇵🇾";
Name = "Paraguay";
};
ES = {
Emoji = "🇪🇸";
Name = "Spain";
};
NR = {
Emoji = "🇳🇷";
Name = "Nauru";
};
GQ = {
Emoji = "🇬🇶";
Name = "EquatorialGuinea";
};
MN = {
Emoji = "🇲🇳";
Name = "Mongolia";
};
PL = {
Emoji = "🇵🇱";
Name = "Poland";
};
SC = {
Emoji = "🇸🇨";
Name = "Seychelles";
};
PG = {
Emoji = "🇵🇬";
Name = "PapuaNewGuinea";
};
AQ = {
Emoji = "🇦🇶";
Name = "Antarctica";
};
BG = {
Emoji = "🇧🇬";
Name = "Bulgaria";
};
TC = {
Emoji = "🇹🇨";
Name = "Turks & CaicosIslands";
};
VU = {
Emoji = "🇻🇺";
Name = "Vanuatu";
};
MP = {
Emoji = "🇲🇵";
Name = "NorthernMarianaIslands";
};
BI = {
Emoji = "🇧🇮";
Name = "Burundi";
};
AR = {
Emoji = "🇦🇷";
Name = "Argentina";
};
LT = {
Emoji = "🇱🇹";
Name = "Lithuania";
};
AO = {
Emoji = "🇦🇴";
Name = "Angola";
};
NP = {
Emoji = "🇳🇵";
Name = "Nepal";
};
DK = {
Emoji = "🇩🇰";
Name = "Denmark";
};
KY = {
Emoji = "🇰🇾";
Name = "CaymanIslands";
};
CD = {
Emoji = "🇨🇩";
Name = "Congo-Kinshasa";
};
EE = {
Emoji = "🇪🇪";
Name = "Estonia";
};
CA = {
Emoji = "🇨🇦";
Name = "Canada";
};
MC = {
Emoji = "🇲🇨";
Name = "Monaco";
};
NZ = {
Emoji = "🇳🇿";
Name = "NewZealand";
};
KN = {
Emoji = "🇰🇳";
Name = "St.Kitts & Nevis";
};
DZ = {
Emoji = "🇩🇿";
Name = "Algeria";
};
WS = {
Emoji = "🇼🇸";
Name = "Samoa";
};
NC = {
Emoji = "🇳🇨";
Name = "NewCaledonia";
};
GF = {
Emoji = "🇬🇫";
Name = "FrenchGuiana";
};
PA = {
Emoji = "🇵🇦";
Name = "Panama";
};
BH = {
Emoji = "🇧🇭";
Name = "Bahrain";
};
PS = {
Emoji = "🇵🇸";
Name = "PalestinianTerritories";
};
HK = {
Emoji = "🇭🇰";
Name = "HongKongSARChina";
};
SI = {
Emoji = "🇸🇮";
Name = "Slovenia";
};
LK = {
Emoji = "🇱🇰";
Name = "SriLanka";
};
SS = {
Emoji = "🇸🇸";
Name = "SouthSudan";
};
CC = {
Emoji = "🇨🇨";
Name = "Cocos(Keeling)Islands";
};
US = {
Emoji = "🇺🇸";
Name = "UnitedStates";
};
EC = {
Emoji = "🇪🇨";
Name = "Ecuador";
};
SY = {
Emoji = "🇸🇾";
Name = "Syria";
};
IR = {
Emoji = "🇮🇷";
Name = "Iran";
};
BE = {
Emoji = "🇧🇪";
Name = "Belgium";
};
AG = {
Emoji = "🇦🇬";
Name = "Antigua & Barbuda";
};
LS = {
Emoji = "🇱🇸";
Name = "Lesotho";
};
MS = {
Emoji = "🇲🇸";
Name = "Montserrat";
};
BS = {
Emoji = "🇧🇸";
Name = "Bahamas";
};
SX = {
Emoji = "🇸🇽";
Name = "SintMaarten";
};
KM = {
Emoji = "🇰🇲";
Name = "Comoros";
};
LA = {
Emoji = "🇱🇦";
Name = "Laos";
};
ID = {
Emoji = "🇮🇩";
Name = "Indonesia";
};
CO = {
Emoji = "🇨🇴";
Name = "Colombia";
};
MX = {
Emoji = "🇲🇽";
Name = "Mexico";
};
ET = {
Emoji = "🇪🇹";
Name = "Ethiopia";
};
LC = {
Emoji = "🇱🇨";
Name = "St.Lucia";
};
VI = {
Emoji = "🇻🇮";
Name = "U.S.VirginIslands";
};
AS = {
Emoji = "🇦🇸";
Name = "AmericanSamoa";
};
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:23
-- Luau version 6, Types version 3
-- Time taken: 0.001115 seconds
return {
SetCoreGui = function(arg1, arg2, ...) -- Line 4, Named "SetCoreGui"
local var4
for _ = 1, 8 do
var4 = {pcall(_G._services.StarterGui[arg2], _G._services.StarterGui, ...)}
if var4[1] then break end
_G._services.RunService.Stepped:Wait()
end
return unpack(var4)
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:24
-- Luau version 6, Types version 3
-- Time taken: 0.001207 seconds
return {
get = function(arg1, arg2, arg3) -- Line 3, Named "get"
if arg3 then
local any_GetUserThumbnailAsync_result1, any_GetUserThumbnailAsync_result2 = _G._services.Players:GetUserThumbnailAsync(arg2, Enum.ThumbnailType.HeadShot, Enum.ThumbnailSize.Size420x420)
return any_GetUserThumbnailAsync_result1
end
return string.format("rbxthumb://type=AvatarHeadShot&id=%s&w=420&h=420", tostring(arg2))
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:26
-- Luau version 6, Types version 3
-- Time taken: 0.026099 seconds
local module_7_upvr = {}
module_7_upvr.__index = module_7_upvr
local function intersects_upvr(arg1, arg2) -- Line 4, Named "intersects"
local x_2 = arg2.a.x
local y_4 = arg2.a.y
local x_3 = arg2.b.x
local y_5 = arg2.b.y
local x_4 = arg1.x
local y_3 = arg1.y
local var8 = arg1.x + 2147483647
local y_2 = arg1.y
local var10 = (x_2 - x_3) * (y_3 - y_2) - (y_4 - y_5) * (x_4 - var8)
if var10 == 0 then
return false
end
local var11 = ((x_2 - x_4) * (y_3 - y_2) - (y_4 - y_3) * (x_4 - var8)) / var10
local var12 = -((x_2 - x_3) * (y_4 - y_3) - (y_4 - y_5) * (x_2 - x_4)) / var10
if var11 and var12 and 0 < var11 and var11 < 1 and 0 < var12 then
return true
end
return false
end
local function solidCollision_upvr(arg1, arg2) -- Line 25, Named "solidCollision"
--[[ Upvalues[1]:
[1]: module_7_upvr (readonly)
]]
local AbsolutePosition_2 = arg1.AbsolutePosition
local AbsoluteSize_2 = arg1.AbsoluteSize
local AbsolutePosition_4 = arg2.AbsolutePosition
local AbsoluteSize = arg2.AbsoluteSize
local any_isColliding_result1, any_isColliding_result2 = module_7_upvr.isColliding(arg1, arg2)
if any_isColliding_result1 then
local tbl = {Vector2.new((AbsolutePosition_2.x) - (AbsolutePosition_4.x + AbsoluteSize.x), 0), Vector2.new(AbsolutePosition_2.x + AbsoluteSize_2.x - AbsolutePosition_4.x, 0), Vector2.new(0, (AbsolutePosition_2.y) - (AbsolutePosition_4.y + AbsoluteSize.y)), Vector2.new(0, AbsolutePosition_2.y + AbsoluteSize_2.y - AbsolutePosition_4.y)}
table.sort(tbl, function(arg1_2, arg2_2) -- Line 37
local var21
if arg1_2.magnitude >= arg2_2.magnitude then
var21 = false
else
var21 = true
end
return var21
end)
any_isColliding_result2 = tbl[1]
end
local var22 = any_isColliding_result2
if not var22 then
var22 = Vector2.new()
end
return any_isColliding_result1, var22
end
local function getCorners_upvr(arg1) -- Line 43, Named "getCorners"
local AbsolutePosition = arg1.AbsolutePosition
local AbsoluteSize_3 = arg1.AbsoluteSize
local Rotation = arg1.Rotation
return {
topleft = AbsolutePosition + AbsoluteSize_3 / 2 - math.sqrt((AbsoluteSize_3.X / 2) ^ 2 + (AbsoluteSize_3.Y / 2) ^ 2) * Vector2.new(math.cos(math.rad(Rotation) + math.atan2(AbsoluteSize_3.Y, AbsoluteSize_3.X)), math.sin(math.rad(Rotation) + math.atan2(AbsoluteSize_3.Y, AbsoluteSize_3.X)));
bottomleft = AbsolutePosition + AbsoluteSize_3 / 2 - math.sqrt((AbsoluteSize_3.X / 2) ^ 2 + (AbsoluteSize_3.Y / 2) ^ 2) * Vector2.new(math.cos(math.rad(Rotation) - math.atan2(AbsoluteSize_3.Y, AbsoluteSize_3.X)), math.sin(math.rad(Rotation) - math.atan2(AbsoluteSize_3.Y, AbsoluteSize_3.X)));
topright = AbsolutePosition + AbsoluteSize_3 / 2 + math.sqrt((AbsoluteSize_3.X / 2) ^ 2 + (AbsoluteSize_3.Y / 2) ^ 2) * Vector2.new(math.cos(math.rad(Rotation) - math.atan2(AbsoluteSize_3.Y, AbsoluteSize_3.X)), math.sin(math.rad(Rotation) - math.atan2(AbsoluteSize_3.Y, AbsoluteSize_3.X)));
bottomright = AbsolutePosition + AbsoluteSize_3 / 2 + math.sqrt((AbsoluteSize_3.X / 2) ^ 2 + (AbsoluteSize_3.Y / 2) ^ 2) * Vector2.new(math.cos(math.rad(Rotation) + math.atan2(AbsoluteSize_3.Y, AbsoluteSize_3.X)), math.sin(math.rad(Rotation) + math.atan2(AbsoluteSize_3.Y, AbsoluteSize_3.X)));
}
end
local function checkCollisions_upvr(arg1, arg2) -- Line 62, Named "checkCollisions"
--[[ Upvalues[2]:
[1]: solidCollision_upvr (readonly)
[2]: module_7_upvr (readonly)
]]
if arg1.solid then
local solidCollision_result1_2, solidCollision_result2 = solidCollision_upvr(arg2.i, arg1.i)
if solidCollision_result1_2 then
if arg2.t then
for i, v in ipairs(arg2.t) do
if v.PlaybackState == Enum.PlaybackState.Playing then
v:Pause()
table.remove(arg2.t, i)
end
end
end
arg2.i.Position = arg2.i.Position - UDim2.new(0, solidCollision_result2.x, 0, solidCollision_result2.y)
end
end
if module_7_upvr.isColliding(arg2.i, arg1.i) then
return true
end
return false
end
local function check_upvr(arg1, arg2, arg3) -- Line 85, Named "check"
--[[ Upvalues[1]:
[1]: checkCollisions_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local ipairs_result1_6, ipairs_result2_2, ipairs_result3 = ipairs(arg2)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [45] 33. Error Block 9 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [45] 33. Error Block 9 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [7] 6. Error Block 19 start (CF ANALYSIS FAILED)
if arg3 then
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [45.9]
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [45.2147483650]
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [45.10]
if nil == nil then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if nil then
-- KONSTANTWARNING: GOTO [45] #33
end
-- KONSTANTWARNING: GOTO [45] #33
end
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if nil then
end
end
-- KONSTANTERROR: [7] 6. Error Block 19 end (CF ANALYSIS FAILED)
end
local function _(arg1, arg2) -- Line 109, Named "inRange"
local var47 = false
if arg2.Min < arg1 then
if arg1 >= arg2.Max then
var47 = false
else
var47 = true
end
end
return var47
end
function module_7_upvr.isInCore(arg1, arg2) -- Line 113
--[[ Upvalues[1]:
[1]: getCorners_upvr (readonly)
]]
local var52 = false
local var53
if typeof(arg1) == "Instance" then
if typeof(arg2) ~= "Instance" then
var52 = false
else
var52 = true
end
end
assert(var52, "argument must be an instance")
if arg2.AbsoluteSize.x < arg1.AbsoluteSize.x or arg2.AbsoluteSize.y < arg1.AbsoluteSize.y then
return false
end
local getCorners_result1 = getCorners_upvr(arg2)
var53 = getCorners_result1[1]
var53 = getCorners_result1[4].x
local NumberRange_new_result1_2 = NumberRange.new(var53.x, var53)
var53 = getCorners_result1[1].y
local NumberRange_new_result1 = NumberRange.new(var53, getCorners_result1[2].y)
var53 = 0
for _, v_2 in ipairs(getCorners_upvr(arg1)) do
local x = v_2.x
local var61 = false
if NumberRange_new_result1_2.Min < x then
if x >= NumberRange_new_result1_2.Max then
var61 = false
else
var61 = true
end
end
if var61 then
local y = v_2.y
var61 = false
local var63 = var61
if NumberRange_new_result1.Min < y then
if y >= NumberRange_new_result1.Max then
var63 = false
else
var63 = true
end
end
if var63 then
var53 += 1
end
end
end
if var53 == 4 then
return true
end
return false
end
function module_7_upvr.isColliding(arg1, arg2) -- Line 137
--[[ Upvalues[2]:
[1]: getCorners_upvr (readonly)
[2]: intersects_upvr (readonly)
]]
local var72
if not typeof(arg1) == "Instance" or not typeof(arg2) == "Instance" then
error("argument must be an instance")
return
end
local AbsolutePosition_3 = arg1.AbsolutePosition
local var74 = AbsolutePosition_3 + arg1.AbsoluteSize
local AbsolutePosition_5 = arg2.AbsolutePosition
local var76 = AbsolutePosition_5 + arg2.AbsoluteSize
local getCorners_result1_2 = getCorners_upvr(arg2)
local tbl_6 = {}
var72 = {}
var72.a = getCorners_result1_2.topleft
var72.b = getCorners_result1_2.bottomleft
tbl_6[1] = var72
tbl_6[2] = {
a = getCorners_result1_2.topleft;
b = getCorners_result1_2.topright;
}
tbl_6[3] = {
a = getCorners_result1_2.bottomleft;
b = getCorners_result1_2.bottomright;
}
tbl_6[4] = {
a = getCorners_result1_2.topright;
b = getCorners_result1_2.bottomright;
}
var72 = 0
for _, v_3 in pairs(getCorners_upvr(arg1)) do
for _, v_4 in pairs(tbl_6) do
if intersects_upvr(v_3, v_4) then
var72 += 1
end
end
end
if var72 % 2 ~= 0 then
return true
end
if AbsolutePosition_3.x < var76.x and AbsolutePosition_5.x < var74.x and AbsolutePosition_3.y < var76.y and AbsolutePosition_5.y < var74.y then
return true
end
return false
end
function module_7_upvr.createCollisionGroup() -- Line 191
--[[ Upvalues[2]:
[1]: module_7_upvr (readonly)
[2]: check_upvr (readonly)
]]
local setmetatable_result1_upvr = setmetatable({
ColliderTouched = Instance.new("BindableEvent").Event;
}, module_7_upvr)
setmetatable_result1_upvr.colliders = {}
setmetatable_result1_upvr.hitters = {}
setmetatable_result1_upvr.hierarchy = false
game:GetService("RunService").RenderStepped:Connect(function(arg1) -- Line 202
--[[ Upvalues[2]:
[1]: setmetatable_result1_upvr (readonly)
[2]: check_upvr (copied, readonly)
]]
for _, v_5_upvr in ipairs(setmetatable_result1_upvr.hitters) do
local check_result1 = check_upvr(v_5_upvr, setmetatable_result1_upvr.colliders, setmetatable_result1_upvr.hierarchy)
if check_result1 then
local tbl_5 = {}
for i_6, v_6 in ipairs(check_result1) do
if table.find(tbl_5, v_6) then
table.remove(check_result1, i_6)
else
table.insert(tbl_5, v_6)
end
end
v_5_upvr.i.CollidersTouched:Fire(check_result1)
v_5_upvr.i.Colliding.Value = true
return
end
v_5_upvr.i.Colliding.Value = false
v_5_upvr.i.Colliding:GetPropertyChangedSignal("Value"):Connect(function() -- Line 224
--[[ Upvalues[1]:
[1]: v_5_upvr (readonly)
]]
if not v_5_upvr.i.Colliding.Value then
v_5_upvr.i.OnCollisionEnded:Fire()
return
end
end)
end
end)
return setmetatable_result1_upvr
end
function module_7_upvr.setZIndexHierarchy(arg1, arg2) -- Line 236
local var104
if typeof(arg2) ~= "boolean" then
var104 = false
else
var104 = true
end
assert(var104, "argument must be a boolean")
arg1.hierarchy = true
end
function module_7_upvr.addHitter(arg1, arg2, arg3) -- Line 242
local var105
if typeof(arg2) ~= "Instance" then
var105 = false
else
var105 = true
end
assert(var105, "argument must be an instance")
var105 = "BindableEvent"
local any = Instance.new(var105)
var105 = "CollidersTouched"
any.Name = var105
any.Parent = arg2
var105 = any:Clone()
var105.Name = "OnCollisionEnded"
var105.Parent = arg2
local BoolValue = Instance.new("BoolValue")
BoolValue.Name = "Colliding"
BoolValue.Value = false
BoolValue.Parent = arg2
local tbl_4 = {}
tbl_4.i = arg2
tbl_4.t = arg3
table.insert(arg1.hitters, tbl_4)
local module_5 = {
index = #arg1.hitters;
}
module_5.instance = arg2
return module_5
end
function module_7_upvr.updateHitter(arg1, arg2, arg3, arg4) -- Line 263
-- KONSTANTERROR: [0] 1. Error Block 24 start (CF ANALYSIS FAILED)
local var110
if typeof(arg2) ~= "number" then
var110 = false
else
var110 = true
end
assert(var110, "argument must be a table")
if typeof(arg3) ~= "Instance" then
var110 = false
-- KONSTANTWARNING: GOTO [24] #19
end
-- KONSTANTERROR: [0] 1. Error Block 24 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [23] 18. Error Block 26 start (CF ANALYSIS FAILED)
var110 = true
assert(var110, "argument must be an instance")
if typeof(arg4) ~= "table" then
var110 = false
else
var110 = true
end
assert(var110, "argument must be a table")
var110 = {}
var110.i = arg3
local var111 = arg4
if not var111 then
var111 = {}
end
var110.t = var111
arg1.hitters[arg2] = var110
local module_4 = {}
module_4.index = arg2
var110 = arg1.hitters[arg2].i
module_4.instance = var110
do
return module_4
end
-- KONSTANTERROR: [23] 18. Error Block 26 end (CF ANALYSIS FAILED)
end
function module_7_upvr.getHitter(arg1, arg2) -- Line 273
return arg1.hitters[arg2].i
end
function module_7_upvr.getHitterTweens(arg1, arg2) -- Line 277
return arg1.hitters[arg2].t
end
function module_7_upvr.getHitters(arg1) -- Line 281
local module_6 = {}
for _, v_7 in ipairs(arg1.hitters) do
table.insert(module_6, v_7.i)
end
return module_6
end
function module_7_upvr.removeHitter(arg1, arg2) -- Line 291
table.remove(arg1.hitters, arg2)
end
function module_7_upvr.addCollider(arg1, arg2, arg3) -- Line 295
local var121
if typeof(arg2) ~= "Instance" then
var121 = false
else
var121 = true
end
assert(var121, "argument must be an instance")
if not arg1.colliders then
arg1.colliders = {}
end
if arg3 then
var121 = arg1.colliders
local tbl_3 = {}
tbl_3.i = arg2
tbl_3.solid = true
table.insert(var121, tbl_3)
else
var121 = arg1.colliders
local tbl_2 = {}
tbl_2.i = arg2
table.insert(var121, tbl_2)
end
local module = {}
var121 = #arg1.colliders
module.index = var121
module.instance = arg2
module.solid = arg3
return module
end
function module_7_upvr.updateCollider(arg1, arg2, arg3, arg4) -- Line 311
-- KONSTANTERROR: [0] 1. Error Block 20 start (CF ANALYSIS FAILED)
local var125
if typeof(arg2) ~= "number" then
var125 = false
else
var125 = true
end
assert(var125, "argument must be a table")
if typeof(arg3) ~= "Instance" then
var125 = false
-- KONSTANTWARNING: GOTO [24] #19
end
-- KONSTANTERROR: [0] 1. Error Block 20 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [23] 18. Error Block 22 start (CF ANALYSIS FAILED)
var125 = true
assert(var125, "argument must be an instance")
if typeof(arg4) ~= "boolean" then
var125 = false
else
var125 = true
end
assert(var125, "argument must be a boolean")
var125 = {}
var125.i = arg3
var125.solid = arg4
arg1.colliders[arg2] = var125
local module_2 = {}
module_2.index = arg2
module_2.instance = arg1.colliders[arg2].i
var125 = arg1.colliders[arg2].solid
module_2[1] = var125
do
return module_2
end
-- KONSTANTERROR: [23] 18. Error Block 22 end (CF ANALYSIS FAILED)
end
function module_7_upvr.getColliders(arg1) -- Line 321
local module_3 = {}
for _, v_8 in ipairs(arg1.colliders) do
table.insert(module_3, v_8.i)
end
return module_3
end
function module_7_upvr.removeCollider(arg1, arg2) -- Line 331
table.remove(arg1.colliders, arg2)
end
return module_7_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:27
-- Luau version 6, Types version 3
-- Time taken: 0.013583 seconds
return {
getTeamColorFromTeam = function(arg1, arg2) -- Line 3, Named "getTeamColorFromTeam"
if arg2 == "Home" or arg2 == "Away" then
for _, v in next, _G._references.Main.kits:GetChildren() do
if v.Name ~= "Template" then
for _, v_2 in next, v:GetChildren() do
if v_2 then
local var27
if var27 == string.lower(_G._references.Main.config.Stats[arg2].Team.Value) then
var27 = v_2.Home
if v_2:FindFirstChild(_G._references.Main.config.Stats[arg2]["Kit Type"].Value) then
var27 = v_2[_G._references.Main.config.Stats[arg2]["Kit Type"].Value]
end
if var27:FindFirstChild("TeamColour") then
return var27.TeamColour.Value
end
end
end
end
end
end
end
end;
getTextColorFromTeam = function(arg1, arg2, arg3) -- Line 25, Named "getTextColorFromTeam"
if arg2 == "Home" or arg2 == "Away" then
for _, v_3 in next, _G._references.Main.kits:GetChildren() do
if v_3.Name ~= "Template" then
for _, v_4 in next, v_3:GetChildren() do
if v_4 then
local var40
if var40 == string.lower(_G._references.Main.config.Stats[arg2].Team.Value) then
var40 = v_4.Home
if v_4:FindFirstChild(_G._references.Main.config.Stats[arg2]["Kit Type"].Value) then
var40 = v_4[_G._references.Main.config.Stats[arg2]["Kit Type"].Value]
end
if arg3 and var40:FindFirstChild("GKTextColour") then
return var40.GKTextColour.Value
end
if var40:FindFirstChild("TextColour") then
return var40.TextColour.Value
end
return Color3.new(255, 255, 255)
end
end
end
end
end
end
end;
getKitFromTeam = function(arg1, arg2) -- Line 53, Named "getKitFromTeam"
if arg2 == "Home" or arg2 == "Away" then
for _, v_5 in next, _G._references.Main.kits:GetChildren() do
if v_5.Name ~= "Template" then
for _, v_6 in next, v_5:GetChildren() do
if v_6 then
if string.lower(v_6.Name) == string.lower(_G._references.Main.config.Stats[arg2].Team.Value) then
local Home = v_6.Home
if v_6:FindFirstChild(_G._references.Main.config.Stats[arg2]["Kit Type"].Value) then
Home = v_6[_G._references.Main.config.Stats[arg2]["Kit Type"].Value]
end
return Home
end
end
end
end
end
end
end;
getTeamFolderFromTeam = function(arg1, arg2) -- Line 73, Named "getTeamFolderFromTeam"
if arg2 == "Home" or arg2 == "Away" then
for _, v_7 in next, _G._references.Main.kits:GetChildren() do
if v_7.Name ~= "Template" then
for _, v_8 in next, v_7:GetChildren() do
if v_8 then
if string.lower(v_8.Name) == string.lower(_G._references.Main.config.Stats[arg2].Team.Value) then
return v_8
end
end
end
end
end
end
end;
getTeamNameFromTeam = function(arg1, arg2) -- Line 87, Named "getTeamNameFromTeam"
if arg2 == "Home" or arg2 == "Away" then
for _, v_9 in next, _G._references.Main.kits:GetChildren() do
if v_9.Name ~= "Template" then
for _, v_10 in next, v_9:GetChildren() do
if v_10 then
if string.lower(v_10.Name) == string.lower(_G._references.Main.config.Stats[arg2].Team.Value) then
return v_10.Name
end
end
end
end
end
end
end;
getAbbreviationFromTeam = function(arg1, arg2) -- Line 101, Named "getAbbreviationFromTeam"
if arg2 == "Home" or arg2 == "Away" then
for _, v_11 in next, _G._references.Main.kits:GetChildren() do
if v_11.Name ~= "Template" then
for _, v_12 in next, v_11:GetChildren() do
if v_12 then
if string.lower(v_12.Name) == string.lower(_G._references.Main.config.Stats[arg2].Team.Value) and v_12:FindFirstChild("Abbreviation") then
return v_12.Abbreviation.Value
end
end
end
end
end
end
end;
getKitTypesFromTeam = function(arg1, arg2) -- Line 115, Named "getKitTypesFromTeam"
if arg2 == "Home" or arg2 == "Away" then
for _, v_13 in next, _G._references.Main.kits:GetChildren() do
if v_13.Name ~= "Template" then
for _, v_14 in next, v_13:GetChildren() do
if v_14 then
if string.lower(v_14.Name) == string.lower(_G._references.Main.config.Stats[arg2].Team.Value) then
local module = {"Home"}
for _, v_15 in next, v_14:GetChildren() do
if v_15 and (v_15.Name == "Away" or v_15.Name == "Third") then
table.insert(module, v_15.Name)
end
end
return module
end
end
end
end
end
end
end;
getLeagueFromTeam = function(arg1, arg2) -- Line 137, Named "getLeagueFromTeam"
if arg2 == "Home" or arg2 == "Away" then
for _, v_16 in next, _G._references.Main.kits:GetChildren() do
if v_16.Name ~= "Template" then
for _, v_17 in next, v_16:GetChildren() do
if v_17 then
if string.lower(v_17.Name) == string.lower(_G._references.Main.config.Stats[arg2].Team.Value) then
return v_16.Name
end
end
end
end
end
end
end;
getRegionFromTeam = function(arg1, arg2) -- Line 151, Named "getRegionFromTeam"
if arg2 == "Home" or arg2 == "Away" then
for _, v_18 in next, _G._references.Main.kits:GetChildren() do
if v_18.Name ~= "Template" then
for _, v_19 in next, v_18:GetChildren() do
if v_19 then
if string.lower(v_19.Name) == string.lower(_G._references.Main.config.Stats[arg2].Team.Value) and v_18:GetAttribute("region") then
return v_18:GetAttribute("region")
end
end
end
end
end
end
return "Default"
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:28
-- Luau version 6, Types version 3
-- Time taken: 0.002621 seconds
return game:GetService("HttpService"):JSONDecode("{\n \"AF\": \"Afghanistan\",\n \"AX\": \"Aland Islands\",\n \"AL\": \"Albania\",\n \"DZ\": \"Algeria\",\n \"AS\": \"American Samoa\",\n \"AD\": \"Andorra\",\n \"AO\": \"Angola\",\n \"AI\": \"Anguilla\",\n \"AQ\": \"Antarctica\",\n \"AG\": \"Antigua And Barbuda\",\n \"AR\": \"Argentina\",\n \"AM\": \"Armenia\",\n \"AW\": \"Aruba\",\n \"AU\": \"Australia\",\n \"AT\": \"Austria\",\n \"AZ\": \"Azerbaijan\",\n \"BS\": \"Bahamas\",\n \"BH\": \"Bahrain\",\n \"BD\": \"Bangladesh\",\n \"BB\": \"Barbados\",\n \"BY\": \"Belarus\",\n \"BE\": \"Belgium\",\n \"BZ\": \"Belize\",\n \"BJ\": \"Benin\",\n \"BM\": \"Bermuda\",\n \"BT\": \"Bhutan\",\n \"BO\": \"Bolivia\",\n \"BA\": \"Bosnia And Herzegovina\",\n \"BW\": \"Botswana\",\n \"BV\": \"Bouvet Island\",\n \"BR\": \"Brazil\",\n \"IO\": \"British Indian Ocean Territory\",\n \"BN\": \"Brunei Darussalam\",\n \"BG\": \"Bulgaria\",\n \"BF\": \"Burkina Faso\",\n \"BI\": \"Burundi\",\n \"KH\": \"Cambodia\",\n \"CM\": \"Cameroon\",\n \"CA\": \"Canada\",\n \"CV\": \"Cape Verde\",\n \"KY\": \"Cayman Islands\",\n \"CF\": \"Central African Republic\",\n \"TD\": \"Chad\",\n \"CL\": \"Chile\",\n \"CN\": \"China\",\n \"CX\": \"Christmas Island\",\n \"CC\": \"Cocos (Keeling) Islands\",\n \"CO\": \"Colombia\",\n \"KM\": \"Comoros\",\n \"CG\": \"Congo\",\n \"CD\": \"Congo, Democratic Republic\",\n \"CK\": \"Cook Islands\",\n \"CR\": \"Costa Rica\",\n \"CI\": \"Cote D\\\"Ivoire\",\n \"HR\": \"Croatia\",\n \"CU\": \"Cuba\",\n \"CY\": \"Cyprus\",\n \"CZ\": \"Czech Republic\",\n \"DK\": \"Denmark\",\n \"DJ\": \"Djibouti\",\n \"DM\": \"Dominica\",\n \"DO\": \"Dominican Republic\",\n \"EC\": \"Ecuador\",\n \"EG\": \"Egypt\",\n \"SV\": \"El Salvador\",\n \"GQ\": \"Equatorial Guinea\",\n \"ER\": \"Eritrea\",\n \"EE\": \"Estonia\",\n \"ET\": \"Ethiopia\",\n \"FK\": \"Falkland Islands (Malvinas)\",\n \"FO\": \"Faroe Islands\",\n \"FJ\": \"Fiji\",\n \"FI\": \"Finland\",\n \"FR\": \"France\",\n \"GF\": \"French Guiana\",\n \"PF\": \"French Polynesia\",\n \"TF\": \"French Southern Territories\",\n \"GA\": \"Gabon\",\n \"GM\": \"Gambia\",\n \"GE\": \"Georgia\",\n \"DE\": \"Germany\",\n \"GH\": \"Ghana\",\n \"GI\": \"Gibraltar\",\n \"GR\": \"Greece\",\n \"GL\": \"Greenland\",\n \"GD\": \"Grenada\",\n \"GP\": \"Guadeloupe\",\n \"GU\": \"Guam\",\n \"GT\": \"Guatemala\",\n \"GG\": \"Guernsey\",\n \"GN\": \"Guinea\",\n \"GW\": \"Guinea-Bissau\",\n \"GY\": \"Guyana\",\n \"HT\": \"Haiti\",\n \"HM\": \"Heard Island & Mcdonald Islands\",\n \"VA\": \"Holy See (Vatican City State)\",\n \"HN\": \"Honduras\",\n \"HK\": \"Hong Kong\",\n \"HU\": \"Hungary\",\n \"IS\": \"Iceland\",\n \"IN\": \"India\",\n \"ID\": \"Indonesia\",\n \"IR\": \"Iran, Islamic Republic Of\",\n \"IQ\": \"Iraq\",\n \"IE\": \"Ireland\",\n \"IM\": \"Isle Of Man\",\n \"IL\": \"Israel\",\n \"IT\": \"Italy\",\n \"JM\": \"Jamaica\",\n \"JP\": \"Japan\",\n \"JE\": \"Jersey\",\n \"JO\": \"Jordan\",\n \"KZ\": \"Kazakhstan\",\n \"KE\": \"Kenya\",\n \"KI\": \"Kiribati\",\n \"KR\": \"Korea\",\n \"KP\": \"North Korea\",\n \"KW\": \"Kuwait\",\n \"KG\": \"Kyrgyzstan\",\n \"LA\": \"Lao People\\\"s Democratic Republic\",\n \"LV\": \"Latvia\",\n \"LB\": \"Lebanon\",\n \"LS\": \"Lesotho\",\n \"LR\": \"Liberia\",\n \"LY\": \"Libyan Arab Jamahiriya\",\n \"LI\": \"Liechtenstein\",\n \"LT\": \"Lithuania\",\n \"LU\": \"Luxembourg\",\n \"MO\": \"Macao\",\n \"MK\": \"Macedonia\",\n \"MG\": \"Madagascar\",\n \"MW\": \"Malawi\",\n \"MY\": \"Malaysia\",\n \"MV\": \"Maldives\",\n \"ML\": \"Mali\",\n \"MT\": \"Malta\",\n \"MH\": \"Marshall Islands\",\n \"MQ\": \"Martinique\",\n \"MR\": \"Mauritania\",\n \"MU\": \"Mauritius\",\n \"YT\": \"Mayotte\",\n \"MX\": \"Mexico\",\n \"FM\": \"Micronesia, Federated States Of\",\n \"MD\": \"Moldova\",\n \"MC\": \"Monaco\",\n \"MN\": \"Mongolia\",\n \"ME\": \"Montenegro\",\n \"MS\": \"Montserrat\",\n \"MA\": \"Morocco\",\n \"MZ\": \"Mozambique\",\n \"MM\": \"Myanmar\",\n \"NA\": \"Namibia\",\n \"NR\": \"Nauru\",\n \"NP\": \"Nepal\",\n \"NL\": \"Netherlands\",\n \"AN\": \"Netherlands Antilles\",\n \"NC\": \"New Caledonia\",\n \"NZ\": \"New Zealand\",\n \"NI\": \"Nicaragua\",\n \"NU\": \"Niue\",\n \"NF\": \"Norfolk Island\",\n \"MP\": \"Northern Mariana Islands\",\n \"NO\": \"Norway\",\n \"OM\": \"Oman\",\n \"PK\": \"Pakistan\",\n \"PW\": \"Palau\",\n \"PS\": \"Palestinian Territory, Occupied\",\n \"PA\": \"Panama\",\n \"PG\": \"Papua New Guinea\",\n \"PY\": \"Paraguay\",\n \"PE\": \"Peru\",\n \"PH\": \"Philippines\",\n \"PN\": \"Pitcairn\",\n \"PL\": \"Poland\",\n \"PT\": \"Portugal\",\n \"PR\": \"Puerto Rico\",\n \"QA\": \"Qatar\",\n \"RE\": \"Reunion\",\n \"RO\": \"Romania\",\n \"RU\": \"Russian Federation\",\n \"RW\": \"Rwanda\",\n \"BL\": \"Saint Barthelemy\",\n \"SH\": \"Saint Helena\",\n \"KN\": \"Saint Kitts And Nevis\",\n \"LC\": \"Saint Lucia\",\n \"MF\": \"Saint Martin\",\n \"PM\": \"Saint Pierre And Miquelon\",\n \"VC\": \"Saint Vincent And Grenadines\",\n \"WS\": \"Samoa\",\n \"SM\": \"San Marino\",\n \"ST\": \"Sao Tome And Principe\",\n \"SA\": \"Saudi Arabia\",\n \"SN\": \"Senegal\",\n \"RS\": \"Serbia\",\n \"SC\": \"Seychelles\",\n \"SL\": \"Sierra Leone\",\n \"SG\": \"Singapore\",\n \"SK\": \"Slovakia\",\n \"SI\": \"Slovenia\",\n \"SB\": \"Solomon Islands\",\n \"SO\": \"Somalia\",\n \"ZA\": \"South Africa\",\n \"GS\": \"South Georgia And Sandwich Isl.\",\n \"ES\": \"Spain\",\n \"LK\": \"Sri Lanka\",\n \"SD\": \"Sudan\",\n \"SR\": \"Suriname\",\n \"SJ\": \"Svalbard And Jan Mayen\",\n \"SZ\": \"Swaziland\",\n \"SE\": \"Sweden\",\n \"CH\": \"Switzerland\",\n \"SY\": \"Syrian Arab Republic\",\n \"TW\": \"Taiwan\",\n \"TJ\": \"Tajikistan\",\n \"TZ\": \"Tanzania\",\n \"TH\": \"Thailand\",\n \"TL\": \"Timor-Leste\",\n \"TG\": \"Togo\",\n \"TK\": \"Tokelau\",\n \"TO\": \"Tonga\",\n \"TT\": \"Trinidad And Tobago\",\n \"TN\": \"Tunisia\",\n \"TR\": \"Turkey\",\n \"TM\": \"Turkmenistan\",\n \"TC\": \"Turks And Caicos Islands\",\n \"TV\": \"Tuvalu\",\n \"UG\": \"Uganda\",\n \"UA\": \"Ukraine\",\n \"AE\": \"United Arab Emirates\",\n \"GB\": \"United Kingdom\",\n \"US\": \"United States\",\n \"UM\": \"United States Outlying Islands\",\n \"UY\": \"Uruguay\",\n \"UZ\": \"Uzbekistan\",\n \"VU\": \"Vanuatu\",\n \"VE\": \"Venezuela\",\n \"VN\": \"Vietnam\",\n \"VG\": \"Virgin Islands, British\",\n \"VI\": \"Virgin Islands, U.S.\",\n \"WF\": \"Wallis And Futuna\",\n \"EH\": \"Western Sahara\",\n \"YE\": \"Yemen\",\n \"ZM\": \"Zambia\",\n \"ZW\": \"Zimbabwe\"\n}")
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:29
-- Luau version 6, Types version 3
-- Time taken: 0.004441 seconds
local module_upvr = {}
local tbl_upvr = {'k', 'm', 'b', 't', "qa", "qi", "sx", "sp", 'o', 'n', 'd'}
function module_upvr.FormatShort(arg1) -- Line 4
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: module_upvr (readonly)
]]
local absolute = math.abs(arg1)
if absolute < 1000 then
return tostring(arg1)
end
for i, v in pairs(tbl_upvr) do
if 10 ^ (3 * i) <= absolute then
local var20 = 10
if absolute < var20 ^ (3 * (i + 1)) then
if arg1 < 0 then
var20 = '-'
else
var20 = ""
end
return var20..tostring(math.floor(absolute / 10 ^ (3 * i) * 10) / 10)..v
end
end
end
return module_upvr.FormatLong(arg1)
end
function module_upvr.FormatLong(arg1) -- Line 18
local var21
if math.abs(arg1) < var21 then
var21 = arg1
return tostring(var21)
end
if arg1 < 0 then
var21 = '-'
else
var21 = ""
end
local var22 = var21..tostring(math.abs(math.floor(arg1))):reverse():gsub("%d%d%d", "%1,"):gsub(",$", ""):reverse()
var21 = math.floor(arg1)
if arg1 ~= var21 then
var21 = var22
var22 = var21..'.'..tostring(arg1):match("%d+.$")
end
return var22
end
function module_upvr.FormatDecimal(arg1, arg2) -- Line 30
return string.format("%."..(arg2 or 0)..'f', arg1)
end
function module_upvr.FormatZero(arg1) -- Line 34
if arg1 < 10 then
return '0'..tostring(arg1)
end
return tostring(arg1)
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:31
-- Luau version 6, Types version 3
-- Time taken: 0.009653 seconds
local tbl_upvr = {
ImageButton = true;
ImageLabel = true;
ViewportFrame = true;
}
local tbl_2_upvr = {
TextLabel = true;
TextButton = true;
TextBox = true;
}
local tbl_upvr_2 = {
ScrollingFrame = true;
}
local function _(arg1, arg2) -- Line 43, Named "getAttributesAtValue"
local module_2 = {}
for i in pairs(arg1) do
module_2[i] = arg2
end
return module_2
end
local TweenService_upvr = game:GetService("TweenService")
local TweenInfo_new_result1_upvr = TweenInfo.new(1, Enum.EasingStyle.Cubic)
local function addElement_upvr(arg1, arg2, arg3) -- Line 51, Named "addElement"
--[[ Upvalues[5]:
[1]: TweenService_upvr (readonly)
[2]: TweenInfo_new_result1_upvr (readonly)
[3]: tbl_upvr (readonly)
[4]: tbl_2_upvr (readonly)
[5]: tbl_upvr_2 (readonly)
]]
local tbl = {}
if arg2:IsA("UIStroke") then
tbl.Transparency = arg2.Transparency
table.insert(arg1.UiElements, arg2)
local var15 = arg3
if not var15 then
var15 = TweenInfo_new_result1_upvr
end
arg1.AppearTweens[arg2] = TweenService_upvr:Create(arg2, var15, tbl)
var15 = arg3
local var16 = var15
if not var16 then
var16 = TweenInfo_new_result1_upvr
end
arg1.DisappearTweens[arg2] = TweenService_upvr:Create(arg2, var16, {
Transparency = 1;
})
else
if not arg2:IsA("GuiObject") then return end
tbl.BackgroundTransparency = arg2.BackgroundTransparency
if tbl_upvr[arg2.ClassName] then
tbl.ImageTransparency = arg2.ImageTransparency
end
if tbl_2_upvr[arg2.ClassName] then
tbl.TextTransparency = arg2.TextTransparency
tbl.TextStrokeTransparency = arg2.TextStrokeTransparency
end
if tbl_upvr_2[arg2.ClassName] then
tbl.ScrollBarImageTransparency = arg2.ScrollBarImageTransparency
end
table.insert(arg1.UiElements, arg2)
var16 = arg3
local var18 = var16
if not var18 then
var18 = TweenInfo_new_result1_upvr
end
arg1.AppearTweens[arg2] = TweenService_upvr:Create(arg2, var18, tbl)
var18 = arg3
local var19 = var18
if not var19 then
var19 = TweenInfo_new_result1_upvr
end
for i_5 in pairs(tbl) do
({})[i_5] = 1
local var24
end
arg1.DisappearTweens[arg2] = TweenService_upvr:Create(arg2, var19, var24)
end
end
local function _(arg1, arg2) -- Line 80, Named "removeElement"
table.remove(arg1.UiElements, arg2)
arg1.AppearTweens[arg2] = nil
arg1.DisappearTweens[arg2] = nil
end
local module_upvr = {}
module_upvr.__index = module_upvr
module_upvr.TweenIn = module_upvr.FadeIn
module_upvr.TweenOut = module_upvr.FadeOut
function module_upvr.CreateGroup(arg1, arg2) -- Line 97
--[[ Upvalues[2]:
[1]: addElement_upvr (readonly)
[2]: module_upvr (readonly)
]]
local module = {
Faded = false;
Tweening = false;
UiElements = {};
AppearTweens = {};
DisappearTweens = {};
}
module.TweenConfig = arg2
for _, v in ipairs(arg1) do
addElement_upvr(module, v, arg2)
end
return setmetatable(module, module_upvr)
end
function module_upvr.FadeIn(arg1) -- Line 114
arg1.Faded = true
arg1.Tweening = true
for _, v_2 in pairs(arg1.AppearTweens) do
v_2:Play()
end
task.delay(arg1.TweenConfig.Time, function() -- Line 120
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1.Tweening then
arg1.Tweening = false
end
end)
end
function module_upvr.FadeOut(arg1) -- Line 128
arg1.Faded = false
arg1.Tweening = true
for _, v_3 in pairs(arg1.DisappearTweens) do
v_3:Play()
end
task.delay(arg1.TweenConfig.Time, function() -- Line 134
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1.Tweening then
arg1.Tweening = false
end
end)
end
function module_upvr.Fade(arg1) -- Line 141
if arg1.Faded then
arg1:FadeOut()
else
arg1:FadeIn()
end
end
function module_upvr.UpdateGroup(arg1, arg2) -- Line 149
--[[ Upvalues[1]:
[1]: addElement_upvr (readonly)
]]
task.spawn(function() -- Line 150
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
[3]: addElement_upvr (copied, readonly)
]]
-- KONSTANTERROR: Failed to generate AST for unnamed function:
assertion failed!
Traceback:
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
end)
end
function module_upvr.GetElements(arg1) -- Line 172
return arg1.UiElements
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:32
-- Luau version 6, Types version 3
-- Time taken: 0.000775 seconds
return {
users = {1056227705, 4252321119, 101121556, 451659915, 1025293008, 37156558, 955441885, 350559676, 160641960, 74382858, 5394933147, 5395101065, 110172890, 25407884, 173590717, 1658569508, 83118802, 1251213823, 1804534728, 5668655972, 2981119554, 651315671, 4923907192, 1587641269, 1081630774, 5685695176};
groups = {2702435};
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:34
-- Luau version 6, Types version 3
-- Time taken: 0.001920 seconds
return {
_get = function(arg1, arg2) -- Line 2, Named "_get"
local abs = math.abs
local X = arg2.X
local Y = arg2.Y
local Z = arg2.Z
local any_components_result1, any_components_result2, any_components_result3, any_components_result4, any_components_result5, any_components_result6, any_components_result7, any_components_result8, any_components_result9, any_components_result10, any_components_result11, any_components_result12 = arg1:components()
local var18 = 0.5 * (abs(any_components_result4) * X + abs(any_components_result5) * Y + abs(any_components_result6) * Z)
local var19 = 0.5 * (abs(any_components_result7) * X + abs(any_components_result8) * Y + abs(any_components_result9) * Z)
local var20 = 0.5 * (abs(any_components_result10) * X + abs(any_components_result11) * Y + abs(any_components_result12) * Z)
return Region3.new(Vector3.new(any_components_result1 - var18, any_components_result2 - var19, any_components_result3 - var20), Vector3.new(any_components_result1 + var18, any_components_result2 + var19, any_components_result3 + var20))
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:35
-- Luau version 6, Types version 3
-- Time taken: 0.005541 seconds
return {2731804921, 1908891988, 423168665, 1362265087, 111767931, 509181624, 41607115, 446994904, 197311035, 1000847646, 299461593, 93227546, 3255856431, 1597933495, 307485369, 1303936950, 341741282, 452817166, 360605776, 3797779449, 1592540491, 4302294889, 2067807049, 23613849, 206130108, 3854019298, 4901, 74426352, 3251660127, 1332885367, 2034763232, 95352198, 157265504, 51309635, 30786537, 1299393111, 848861090, 3199110608, 44489748, 3318255627, 5097179173, 523485599, 533554286, 1666506809, 2679165528, 1511210740, 1835142545, 1118956711, 1068498060, 355821765, 594588203, 396571479, 1850098653, 254537817, 1864343129, 204038, 121466290, 347459096, 38734421, 159277206, 13872064, 1148127638, 620852347, 60598534, 484602048, 1996105554, 1448487633, 312059250, 605094285, 1421690239, 199585920, 215270712, 261427725, 6355255, 9318104, 342829100, 223514745, 932675094, 871711320, 30926698, 46117833, 560298806, 96811022, 3161029395, 2387528616, 469383574, 1328036053, 1441528758, 387032714, 4183461363, 632590172, 685617545, 73890916, 2285767528, 4352196409, 3170503957, 239553121, 1384958505, 4092743662, 1051307100, 697214652, 1332299377, 2235147450, 85464637, 1641263221, 1305895505, 1321549475, 5119152233, 1374983284, 839156243, 200344976, 117356367, 56595872, 301817096, 163782162, 3203649514, 2214947130, 96574021, 287881588, 148125725, 805583912, 920388542, 76564976, 24966933, 2689243664, 1133649687, 871711320, 491119602, 3203649514, 371351393, 3222988378, 4481039894, 40545405, 41840059, 1528529258, 3121954352, 112905203, 104231782, 2040808745, 2452552782, 126868490, 83118802, 1887690468, 382618590, 92333450, 255909487, 168097888, 464193287, 4522930297, 4647901787, 1596378562, 2033653631, 111646191, 322596360, 564939, 319130068, 1564738834, 70697358, 721304001, 1214420539, 445452972, 298378127, 1102624604, 3134634063, 1218224520, 1637989549, 72332418, 124287517, 1071554906, 4028649570, 1102683102, 369082358, 84376389, 113951638, 2844523026, 544094141, 2393820200, 2436090039, 742799848, 125823026, 2896112991, 5155695373, 707519272, 38739585333, 1072465942, 138376765, 1919335521, 686409871, 74050714, 39335975, 477532821, 1369717751, 134302790, 195590119, 323067848, 503492589, 2835668856, 4069241411, 5212700718, 275247228, 109529548, 2605325162, 72511014, 50535755, 924060721, 134302790, 73890916, 1643607977, 98508437, 16112202682, 529895862, 1014844209, 57573753, 654801009, 1611220682, 3133211845, 793830058, 808707092, 5162818523, 1415847630, 3079636767, 131550678, 37366891, 582315597, 337826278, 40935648, 5033162823, 2543173988, 1515956039, 1940686389, 1166419362, 123684844, 335976048, 375248897, 793830058, 680956234, 326461849, 123684844, 493454286, 73713764, 2526409996, 147031048, 65748957, 120821610, 1405551775, 1475491013, 147268257, 2565675100, 3979048577, 2562837003, 2526409996, 1379395005, 3540171937, 2750937554, 1211846519, 108921612, 4014411240, 2209152775, 202903251, 35558793, 1057065850, 1944072676, 445993098, 815879452, 20074076, 917360100, 136934, 4662433585, 449090600, 2345662729, 96484540, 2601025704, 5243280499, 829473259, 3469881367, 4565920404, 370524987, 5462780063, 4186834646, 3588035995, 1941356653, 1656813451, 2788219855, 345549765, 1640788941, 59060820, 2349936841, 1881322294, 366202351, 1615259940, 456812556, 200447898, 4327385379, 212515622, 1081319482, 1471824901, 1886145306, 104362044, 1899637865, 3326544875, 4246361892, 3326544875, 2409860688, 1825587458, 494428229, 336249263, 8248895, 4498206534, 2809508090, 1336907125, 5280186073, 1321418068, 104362044, 197739900, 1581970914, 4776340957, 1201733135, 1811040418, 1691446426, 1599015919, 156920011, 2312228701, 43162112, 786279176, 1340211370, 98261647, 1820123520, 1733215112, 4092743662, 36904066, 1346734999, 1949387659, 2308443304, 65900027, 13940463, 135546500, 2000142932, 13940463, 963781322, 183453669, 2301195972, 1918616933, 2016877537, 89754179, 43937559, 4979360607, 3559927451, 2039661022, 292135188, 950933122, 3125925479, 2462437726, 623714014, 327429305, 2670070741, 1195825496, 117947862, 333106059, 86038660, 393635564, 2646798297, 210718549, 246213069, 1425365274, 169530415, 2846920904, 3200306885, 220456332, 10210691, 15010699, 291820, 1899897680, 1637606062, 1296922653, 211153975, 1691864635, 134236959, 677939844, 114834624, 3182304490, 2300803129, 60642460, 63390475, 4379812811, 1963733388, 107923435, 184297807, 90792365, 34448274, 541932636, 837617, 1216759533, 111729984, 2822383268, 1820541405, 632590827, 3985958202, 29491076, 30331483, 71430859, 4309522839, 138608158, 1600924159, 2119303, 173193370, 125413287, 1214557337, 64786025, 29833156, 1133525348, 325015357, 72332210, 2017259636, 1133525348, 2056316143, 2237275251, 2467156757, 3452112090, 4955712808, 4441909897, 504904789, 1215311952, 1127173721, 2724471685, 3881807990, 3794176561, 856476337, 1278726239, 798201246, 15904777, 71319784, 1134878382, 2431853400, 1984998615, 1578329137, 983672956, 1993259360, 4527467077, 3139600040, 721467746, 4464333094, 4464333285, 71165145, 34209320, 61178069, 112946869, 119622240, 1150417329, 156035668, 104144813, 635292343, 543631910, 510689632, 845312395, 956639249, 355407455, 74085892, 373447102, 516195011, 51067999, 679815091, 651635911, 191254588, 138939855, 2252772773, 30280944, 1729111197, 1073148459, 1878419184, 1362762640, 1110896348, 178911095, 1098693605, 435597839, 47913023, 25348573, 88756147, 174197714, 1826091421, 2660886404, 2698009380, 3662710014, 1264112636, 4228376437, 6093662482, 4684817647, 4880539230, 3540328466, 6002803042, 604103186, 4907217754, 1432457397, 341206540, 6177337959, 925872199, 2428197269, 8818419, 3376787745, 4880539230, 1844454366, 256107542, 99576949, 4160744316, 3362796780, 1041608486, 199834259, 860836080, 596543819, 3273053617, 247269966, 290928547, 6048778329}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:36
-- Luau version 6, Types version 3
-- Time taken: 0.005395 seconds
local module = {
gamePasses = {
["2x Points"] = {
gamePassName = "Double Points";
gamePassDescription = "Earn double the amount of points!";
gamePassId = 688828432;
};
["2x XP"] = {
gamePassName = "Double XP";
gamePassDescription = "Earn double the amount of XP!";
gamePassId = 688893453;
};
["2x Stamina"] = {
gamePassName = "Endurance";
gamePassDescription = "Double the lung capacity means double the stamina!";
gamePassId = 689086094;
};
["Pitch Teleporter"] = {
gamePassName = "Pitch Teleporter";
gamePassDescription = "Instantly teleport to the pitch!";
gamePassId = 689034149;
};
["Infinite Stamina"] = {
gamePassName = "Infinite Stamina";
gamePassDescription = "Never run out of stamina!";
gamePassId = 689291787;
};
["Kit Creator"] = {
gamePassName = "Kit Creator";
gamePassDescription = "Create a custom team and kit to use in-game!";
gamePassId = 729947382;
};
["Private Training"] = {
gamePassName = "Private Training";
gamePassDescription = "Create your own training pitch server!";
gamePassId = 730467301;
};
Captain = {
gamePassName = "Captain";
gamePassDescription = "Double your chance of being a team captain in-game!";
gamePassId = 738547705;
};
};
}
local tbl_5 = {}
local tbl_3 = {
productName = "500 RF Points";
productDescription = "Adds 500 RF points to your account.";
productId = 1731951913;
}
local function onPurchaseGranted(arg1, arg2) -- Line 50
local Cash_4 = _G._references.Profiles[tostring(arg2.UserId)].stats.Cash
Cash_4.Value += 500
return true
end
tbl_3.onPurchaseGranted = onPurchaseGranted
tbl_5["500 RF Points"] = tbl_3
local tbl_2 = {
productName = "1,000 RF Points";
productDescription = "Adds 1,000 RF points to your account.";
productId = 1731952730;
}
local function onPurchaseGranted(arg1, arg2) -- Line 62
local Cash_2 = _G._references.Profiles[tostring(arg2.UserId)].stats.Cash
Cash_2.Value += 1000
return true
end
tbl_2.onPurchaseGranted = onPurchaseGranted
tbl_5["1,000 RF Points"] = tbl_2
local tbl = {
productName = "2,500 RF Points";
productDescription = "Adds 2,500 RF points to your account.";
productId = 1731953327;
}
local function onPurchaseGranted(arg1, arg2) -- Line 74
local Cash = _G._references.Profiles[tostring(arg2.UserId)].stats.Cash
Cash.Value += 2500
return true
end
tbl.onPurchaseGranted = onPurchaseGranted
tbl_5["2,500 RF Points"] = tbl
local tbl_6 = {
productName = "5,000 RF Points";
productDescription = "Adds 5,000 RF points to your account.";
productId = 1731953835;
}
local function onPurchaseGranted(arg1, arg2) -- Line 86
local Cash_5 = _G._references.Profiles[tostring(arg2.UserId)].stats.Cash
Cash_5.Value += 5000
return true
end
tbl_6.onPurchaseGranted = onPurchaseGranted
tbl_5["5,000 RF Points"] = tbl_6
local tbl_4 = {
productName = "7,500 RF Points";
productDescription = "Adds 7,500 RF points to your account.";
productId = 1731954048;
}
local function onPurchaseGranted(arg1, arg2) -- Line 98
local Cash_6 = _G._references.Profiles[tostring(arg2.UserId)].stats.Cash
Cash_6.Value += 7500
return true
end
tbl_4.onPurchaseGranted = onPurchaseGranted
tbl_5["7,500 RF Points"] = tbl_4
tbl_5["10,000 RF Points"] = {
productName = "10,000 RF Points";
productDescription = "Adds 10,000 RF points to your account.";
productId = 1731954391;
onPurchaseGranted = function(arg1, arg2) -- Line 110, Named "onPurchaseGranted"
local Cash_3 = _G._references.Profiles[tostring(arg2.UserId)].stats.Cash
Cash_3.Value += 10000
return true
end;
}
module.developerProducts = tbl_5
function module.userOwnsPass(arg1, arg2) -- Line 118
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local pcall_result1_2, pcall_result2_2 = pcall(function() -- Line 119
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
return _G._services.MarketPlaceService:UserOwnsGamePassAsync(arg1.UserId, arg2)
end)
if not pcall_result1_2 then
warn("Monetization.userOwnsPass | an unexpected error occured while running :UserOwnsGamePassAsync(), retrying")
local pcall_result1, pcall_result2 = pcall(function() -- Line 125
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
return _G._services.MarketPlaceService:UserOwnsGamePassAsync(arg1.UserId, arg2)
end)
pcall_result1_2 = pcall_result1
end
if not pcall_result1_2 then
warn(string.format("Monetization.userOwnsPass | an unexpected error occured while running :UserOwnsGamePassAsync() [%s]", pcall_result2))
return false
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return pcall_result2
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:37
-- Luau version 6, Types version 3
-- Time taken: 0.006059 seconds
return {
resizeRow = function(arg1, arg2, arg3) -- Line 3, Named "resizeRow"
assert(arg2, string.format("CanvasSize [resizeRow] | UIObject 'frame' expected, got %s", typeof(arg2)))
assert(arg3, string.format("CanvasSize [resizeRow] | integer 'scale' expected, got %s", typeof(arg3)))
assert(arg2:FindFirstChildWhichIsA("UIListLayout"), "CanvasSize [resizeRow] | unable to find UIListLayout object in frame!")
local var8
for _, v in next, arg2:GetChildren() do
if v:IsA("Frame") or v:IsA("ScrollingFrame") or v:IsA("ImageLabel") then
var8 = UDim2.new(0, var8.X.Offset + arg2:FindFirstChildWhichIsA("UIListLayout").Padding.Offset + v.AbsoluteSize.X / arg3, 0, 0)
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
var8 = UDim2.new(0, var8.X.Offset - arg2:FindFirstChildWhichIsA("UIListLayout").Padding.Offset + 8 * arg3, 0, 0)
return var8
end;
resizeList = function(arg1, arg2, arg3) -- Line 21, Named "resizeList"
assert(arg2, string.format("CanvasSize [resizeList] | UIObject 'frame' expected, got %s", typeof(arg2)))
assert(arg3, string.format("CanvasSize [resizeList] | integer 'scale' expected, got %s", typeof(arg3)))
assert(arg2:FindFirstChildWhichIsA("UIListLayout"), "CanvasSize [resizeList] | unable to find UIListLayout object in frame!")
local var15
for _, v_2 in next, arg2:GetChildren() do
if v_2:IsA("Frame") or v_2:IsA("ScrollingFrame") or v_2:IsA("ImageLabel") then
var15 = UDim2.new(0, 0, 0, var15.Y.Offset + arg2:FindFirstChildWhichIsA("UIListLayout").Padding.Offset + v_2.AbsoluteSize.Y / arg3)
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
var15 = UDim2.new(0, 0, 0, var15.Y.Offset - arg2:FindFirstChildWhichIsA("UIListLayout").Padding.Offset + 8 * arg3)
return var15
end;
resizeGrid = function(arg1, arg2, arg3) -- Line 39, Named "resizeGrid"
assert(arg2, string.format("CanvasSize [resizeGrid] | UIObject 'frame' expected, got %s", typeof(arg2)))
assert(arg3, string.format("CanvasSize [resizeGrid] | integer 'cellsPerRow' expected, got %s", typeof(arg3)))
assert(arg2:FindFirstChildWhichIsA("UIGridLayout"), "CanvasSize [resizeGrid] | unable to find UIGridLayout object in frame!")
local class_UIGridLayout = arg2:FindFirstChildWhichIsA("UIGridLayout")
local udim2 = UDim2.new(0, 0, 0, 0)
for _, v_3 in next, arg2:GetChildren() do
if v_3:IsA("Frame") or v_3:IsA("ScrollingFrame") or v_3:IsA("ImageLabel") then
table.insert({}, v_3)
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
for _ = 1, #{} / arg3 do
udim2 = UDim2.new(0, 0, 0, udim2.Y.Offset + class_UIGridLayout.CellSize.Y.Offset + class_UIGridLayout.CellPadding.Y.Offset)
end
udim2 = UDim2.new(0, 0, 0, udim2.Y.Offset - class_UIGridLayout.CellPadding.Y.Offset + 4)
return udim2
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:39
-- Luau version 6, Types version 3
-- Time taken: 0.000508 seconds
return {206130108, 423168665, 848861090, 360605776, 307485369, 1908891988, 299461593, 2731804921, 5752714906, 2237275251, 697214652, 5113313321, 7236171458, 594588203, 2685537824, 10321944}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:40
-- Luau version 6, Types version 3
-- Time taken: 0.002921 seconds
local var1_upvw
local module = {}
local LocalizationService_upvr = game:GetService("LocalizationService")
local Players_upvr = game:GetService("Players")
function module.loadTranslator() -- Line 9
--[[ Upvalues[3]:
[1]: var1_upvw (read and write)
[2]: LocalizationService_upvr (readonly)
[3]: Players_upvr (readonly)
]]
pcall(function() -- Line 10
--[[ Upvalues[3]:
[1]: var1_upvw (copied, read and write)
[2]: LocalizationService_upvr (copied, readonly)
[3]: Players_upvr (copied, readonly)
]]
var1_upvw = LocalizationService_upvr:GetTranslatorForPlayerAsync(Players_upvr.LocalPlayer)
end)
if not var1_upvw then
pcall(function() -- Line 14
--[[ Upvalues[2]:
[1]: var1_upvw (copied, read and write)
[2]: LocalizationService_upvr (copied, readonly)
]]
var1_upvw = LocalizationService_upvr:GetTranslatorForLocaleAsync("en")
end)
end
end
function module.typeWrite(arg1, arg2, arg3) -- Line 20
--[[ Upvalues[1]:
[1]: var1_upvw (read and write)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
arg1.Visible = true
arg1.AutoLocalize = false
local var15 = arg2
if var1_upvw then
var15 = var1_upvw:Translate(arg1, arg2)
end
local any_gsub_result1 = var15:gsub("<br%s*/>", '\n'):gsub("<[^<>]->", "")
arg1.Text = any_gsub_result1
for _, _ in utf8.graphemes(any_gsub_result1) do
arg1.MaxVisibleGraphemes = 0 + 1
task.wait(arg3)
local _
end
end
function module.typeWriteWithRichText(arg1, arg2, arg3) -- Line 46
arg1.Visible = true
arg1.AutoLocalize = true
arg1.Text = arg2
local var25 = 0
for _, _ in utf8.graphemes(arg2) do
var25 += 1
arg1.MaxVisibleGraphemes = var25
task.wait(arg3)
end
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:42
-- Luau version 6, Types version 3
-- Time taken: 0.000546 seconds
return {56283635, 24966933, 1589387047, 2007910441, 697214652, 135357913, 2685537824, 287881588, 1531180933, 2609496477, 6013557455, 212515622, 11076621}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:43
-- Luau version 6, Types version 3
-- Time taken: 0.002323 seconds
return {
getSubscriptionStatus = function(arg1, arg2, arg3) -- Line 3, Named "getSubscriptionStatus"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
assert(arg2, string.format("SubscriptionService.getSubscriptionStatus | player '_player' expected, got %s", typeof(arg2)))
assert(arg3, string.format("SubscriptionService.getSubscriptionStatus | string '_subscriptionId' expected, got %s", typeof(arg3)))
local pcall_result1, pcall_result2 = pcall(function() -- Line 7
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: arg3 (readonly)
]]
return _G._services.MarketplaceService:GetUserSubscriptionStatusAsync(arg2, arg3)
end)
if not pcall_result1 then
warn(string.format("SubscriptionService.getSubscriptionStatus | An unexpected error occured while fetching user subscription status, retrying (%s)", pcall_result2))
local pcall_result1_2, pcall_result2_2 = pcall(function() -- Line 14
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: arg3 (readonly)
]]
return _G._services.MarketplaceService:GetUserSubscriptionStatusAsync(arg2, arg3)
end)
pcall_result1 = pcall_result1_2
end
if pcall_result1 then
return pcall_result2_2
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
warn(string.format("SubscriptionService.getSubscriptionStatus | An unexpected error occured while fetching user subscription status (%s)", pcall_result2_2))
return false
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:45
-- Luau version 6, Types version 3
-- Time taken: 0.001591 seconds
return {
_badges = {
["Quest 1"] = 1596511727222884;
["Quest 2"] = 2288869350404942;
["Quest 3"] = 960938277355101;
["Item 1"] = 1433334287721884;
["Item 2"] = 1499380754475635;
["Item 3"] = 4269565885812124;
["Item 4"] = 1570902174358194;
["Item 5"] = 2909645730115893;
};
hasBadge = function(arg1, arg2, arg3) -- Line 15, Named "hasBadge"
local pcall_result1, pcall_result2 = pcall(_G._services.BadgeService.UserHasBadgeAsync, _G._services.BadgeService, arg2.UserId, arg3)
if not pcall_result1 then
warn("BadgeService | Error while checking if player has badge")
return false
end
return pcall_result2
end;
award = function(arg1, arg2, arg3) -- Line 26, Named "award"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local pcall_result1_2, pcall_result2_2 = pcall(_G._services.BadgeService.UserHasBadgeAsync, _G._services.BadgeService, arg2.UserId, arg3)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [21] 13. Error Block 2 start (CF ANALYSIS FAILED)
warn("BadgeService | Error while checking if player has badge")
do
return
end
-- KONSTANTERROR: [21] 13. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [26] 17. Error Block 3 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [26] 17. Error Block 3 end (CF ANALYSIS FAILED)
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:46
-- Luau version 6, Types version 3
-- Time taken: 0.000402 seconds
return {206130108, 423168665, 848861090, 360605776, 307485369, 1908891988, 299461593, 2731804921, 5752714906, 2237275251, 594588203, 10321944}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:47
-- Luau version 6, Types version 3
-- Time taken: 0.003574 seconds
local _references_upvr = _G._references
return {
load = function(arg1, arg2) -- Line 10, Named "load"
--[[ Upvalues[1]:
[1]: _references_upvr (readonly)
]]
return _references_upvr.Player.Character.Humanoid.Animator:LoadAnimation(arg2.animation)
end;
play = function(arg1, arg2) -- Line 14, Named "play"
--[[ Upvalues[1]:
[1]: _references_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [3] 3. Error Block 36 start (CF ANALYSIS FAILED)
for _, v in next, _references_upvr.Player.Character.Humanoid.Animator:GetPlayingAnimationTracks() do
if v.Name ~= "WalkAnim" and v.Name ~= "JumpAnim" and v.Name ~= "FallAnim" and v.Name ~= "RunAnim" and v.Name ~= "Animation1" and v.Name ~= "Animation2" and v.Name ~= "ClimbAnim" and v.Name ~= "Front" and v.Name ~= "Back" and v.Name ~= "Right" and v.Name ~= "Left" and not _references_upvr.Assets.Animations.Ball:FindFirstChild(v.Name) then
v:Stop(0)
end
end
-- KONSTANTERROR: [3] 3. Error Block 36 end (CF ANALYSIS FAILED)
end;
stop = function(arg1, arg2) -- Line 46, Named "stop"
--[[ Upvalues[1]:
[1]: _references_upvr (readonly)
]]
if arg2.animation then
for _, v_2 in next, _references_upvr.Player.Character.Humanoid.Animator:GetPlayingAnimationTracks() do
if v_2.Name == arg2.animation.Name then
v_2:Stop(arg2.fadeTime or 0)
end
end
elseif arg2.animationTrack then
arg2.animationTrack:Stop(arg2.fadeTime or 0)
end
end;
stopAll = function(arg1, arg2) -- Line 58, Named "stopAll"
--[[ Upvalues[1]:
[1]: _references_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [1] 2. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [1] 2. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [56] 33. Error Block 31 start (CF ANALYSIS FAILED)
local var17
for _, v_3 in next, _references_upvr.Player.Character.Humanoid.Animator:GetPlayingAnimationTracks() do
local function INLINED() -- Internal function, doesn't exist in bytecode
var17 = arg2.fadeTime
return var17
end
if not arg2 or not INLINED() then
var17 = 0
end
v_3:Stop(var17)
end
if arg2 and arg2.callback then
return true
end
-- KONSTANTERROR: [56] 33. Error Block 31 end (CF ANALYSIS FAILED)
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:49
-- Luau version 6, Types version 3
-- Time taken: 0.004793 seconds
local module_upvr = {
ClassName = "Maid";
}
function module_upvr.new() -- Line 12
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
return setmetatable({
_tasks = {};
}, module_upvr)
end
function module_upvr.isMaid(arg1) -- Line 18
local var3 = false
if type(arg1) == "table" then
if arg1.ClassName ~= "Maid" then
var3 = false
else
var3 = true
end
end
return var3
end
function module_upvr.__index(arg1, arg2) -- Line 24
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr[arg2] then
return module_upvr[arg2]
end
return arg1._tasks[arg2]
end
function module_upvr.__newindex(arg1, arg2, arg3) -- Line 41
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr[arg2] ~= nil then
error("'%s' is reserved":format(tostring(arg2)), 2)
end
local _tasks = arg1._tasks
local var5 = _tasks[arg2]
if var5 == arg3 then
else
_tasks[arg2] = arg3
if var5 then
if type(var5) == "function" then
var5()
return
end
if typeof(var5) == "RBXScriptConnection" then
var5:Disconnect()
return
end
if var5.Destroy and var5.Parent then
var5:Destroy()
end
end
end
end
function module_upvr.GiveTask(arg1, arg2) -- Line 69
if not arg2 then
error("Task cannot be false or nil", 2)
end
local var6 = #arg1._tasks + 1
arg1[var6] = arg2
if type(arg2) == "table" and not arg2.Destroy then
warn("[Maid.GiveTask] - Gave table task without .Destroy\n\n"..debug.traceback())
end
return var6
end
function module_upvr.GivePromise(arg1, arg2) -- Line 84
if not arg2:IsPending() then
return arg2
end
local any_resolved_result1 = arg2.resolved(arg2)
local any_GiveTask_result1_upvr = arg1:GiveTask(any_resolved_result1)
any_resolved_result1:Finally(function() -- Line 93
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: any_GiveTask_result1_upvr (readonly)
]]
arg1[any_GiveTask_result1_upvr] = nil
end)
return any_resolved_result1
end
function module_upvr.DoCleaning(arg1) -- Line 102
local _tasks_2 = arg1._tasks
for i, v in pairs(_tasks_2) do
if typeof(v) == "RBXScriptConnection" then
_tasks_2[i] = nil
v:Disconnect()
end
end
local next_result1, next_result2 = next(_tasks_2)
while next_result2 ~= nil do
_tasks_2[next_result1] = nil
i = next_result2
if type(i) == "function" then
next_result2()
else
i = next_result2
if typeof(i) == "RBXScriptConnection" then
next_result2:Disconnect()
elseif next_result2.Destroy and next_result2.Parent then
next_result2:Destroy()
end
end
i = _tasks_2
local _, _ = next(i)
end
end
module_upvr.Destroy = module_upvr.DoCleaning
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:50
-- Luau version 6, Types version 3
-- Time taken: 0.097777 seconds
local tbl_9_upvr = {
__mode = 'k';
}
local function makeEnum(arg1, arg2) -- Line 13
local module_10 = {}
for _, v in ipairs(arg2) do
module_10[v] = v
end
return setmetatable(module_10, {
__index = function(arg1_2, arg2_2) -- Line 21, Named "__index"
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
error(string.format("%s is not in %s!", arg2_2, arg1), 2)
end;
__newindex = function() -- Line 24, Named "__newindex"
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
error(string.format("Creating new members in %s is not allowed!", arg1), 2)
end;
})
end
local var13_upvw = {
Kind = makeEnum("Promise.Error.Kind", {"ExecutionError", "AlreadyCancelled", "NotResolvedInTime", "TimedOut"});
}
var13_upvw.__index = var13_upvw
local function new(arg1, arg2) -- Line 46
--[[ Upvalues[1]:
[1]: var13_upvw (read and write)
]]
local var14 = arg1
if not var14 then
var14 = {}
end
local var15 = var14
local module_8 = {
error = tostring(var15.error) or "[This error has no error text.]";
trace = var15.trace;
context = var15.context;
kind = var15.kind;
}
module_8.parent = arg2
module_8.createdTick = os.clock()
module_8.createdTrace = debug.traceback()
return setmetatable(module_8, var13_upvw)
end
var13_upvw.new = new
local function is(arg1) -- Line 59
if type(arg1) == "table" then
local getmetatable_result1 = getmetatable(arg1)
if type(getmetatable_result1) == "table" then
local var20 = false
if rawget(arg1, "error") ~= nil then
if type(rawget(getmetatable_result1, "extend")) ~= "function" then
var20 = false
else
var20 = true
end
end
return var20
end
end
return false
end
var13_upvw.is = is
function var13_upvw.isKind(arg1, arg2) -- Line 71
--[[ Upvalues[1]:
[1]: var13_upvw (read and write)
]]
if arg2 == nil then
else
end
assert(true, "Argument #2 to Promise.Error.isKind must not be nil")
if var13_upvw.is(arg1) then
if arg1.kind ~= arg2 then
else
end
end
return true
end
function var13_upvw.extend(arg1, arg2) -- Line 77
--[[ Upvalues[1]:
[1]: var13_upvw (read and write)
]]
local var21 = arg2
if not var21 then
var21 = {}
end
local var22 = var21
var21 = var22.kind
local var23 = var21
if not var23 then
var23 = arg1.kind
end
var22.kind = var23
return var13_upvw.new(var22, arg1)
end
function var13_upvw.getErrorChain(arg1) -- Line 85
local module = {}
module[1] = arg1
while module[#module].parent do
table.insert(module, module[#module].parent)
end
return module
end
local function __tostring(arg1) -- Line 95
local module_9 = {string.format("-- Promise.Error(%s) --", arg1.kind or '?')}
for _, v_2 in ipairs(arg1:getErrorChain()) do
local tbl = {}
local trace = v_2.trace
if not trace then
trace = v_2.error
end
tbl[1] = trace
tbl[2] = v_2.context
table.insert(module_9, table.concat(tbl, '\n'))
end
return table.concat(module_9, '\n')
end
var13_upvw.__tostring = __tostring
local function pack_upvr(...) -- Line 116, Named "pack"
return select('#', ...), {...}
end
local function packResult_upvr(arg1, ...) -- Line 123, Named "packResult"
return arg1, select('#', ...), {...}
end
local function _(arg1) -- Line 128, Named "makeErrorHandler"
--[[ Upvalues[1]:
[1]: var13_upvw (read and write)
]]
if arg1 == nil then
else
end
assert(true)
return function(arg1_3) -- Line 131
--[[ Upvalues[2]:
[1]: var13_upvw (copied, read and write)
[2]: arg1 (readonly)
]]
if type(arg1_3) == "table" then
return arg1_3
end
local module_3 = {}
module_3.error = arg1_3
module_3.kind = var13_upvw.Kind.ExecutionError
module_3.trace = debug.traceback(tostring(arg1_3), 2)
module_3.context = "Promise created at:\n\n"..arg1
return var13_upvw.new(module_3)
end
end
local function runExecutor_upvr(arg1, arg2, ...) -- Line 151, Named "runExecutor"
--[[ Upvalues[2]:
[1]: packResult_upvr (readonly)
[2]: var13_upvw (read and write)
]]
local var39
if arg1 == nil then
var39 = false
else
var39 = true
end
assert(var39)
return packResult_upvr(xpcall(arg2, function(arg1_4) -- Line 131
--[[ Upvalues[2]:
[1]: var13_upvw (copied, read and write)
[2]: arg1 (readonly)
]]
if type(arg1_4) == "table" then
return arg1_4
end
local module_5 = {}
module_5.error = arg1_4
module_5.kind = var13_upvw.Kind.ExecutionError
module_5.trace = debug.traceback(tostring(arg1_4), 2)
module_5.context = "Promise created at:\n\n"..arg1
return var13_upvw.new(module_5)
end, ...))
end
local function _(arg1, arg2, arg3, arg4) -- Line 159, Named "createAdvancer"
--[[ Upvalues[1]:
[1]: runExecutor_upvr (readonly)
]]
return function(...) -- Line 160
--[[ Upvalues[5]:
[1]: runExecutor_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: arg2 (readonly)
[4]: arg3 (readonly)
[5]: arg4 (readonly)
]]
local runExecutor_result1, runExecutor_result2_2, runExecutor_result3_2 = runExecutor_upvr(arg1, arg2, ...)
if runExecutor_result1 then
arg3(unpack(runExecutor_result3_2, 1, runExecutor_result2_2))
else
arg4(runExecutor_result3_2[1])
end
end
end
local function _(arg1) -- Line 171, Named "isEmpty"
local var46
if next(arg1) ~= nil then
var46 = false
else
var46 = true
end
return var46
end
local module_6_upvr = {
Error = var13_upvw;
Status = makeEnum("Promise.Status", {"Started", "Resolved", "Rejected", "Cancelled"});
_getTime = os.clock;
_timeEvent = game:GetService("RunService").Heartbeat;
prototype = {};
__index = module_6_upvr.prototype;
}
function module_6_upvr._new(arg1, arg2, arg3) -- Line 196
--[[ Upvalues[3]:
[1]: module_6_upvr (readonly)
[2]: tbl_9_upvr (readonly)
[3]: runExecutor_upvr (readonly)
]]
if arg3 ~= nil and not module_6_upvr.is(arg3) then
error("Argument #2 to Promise.new must be a promise or nil", 2)
end
local module_2_upvr = {}
module_2_upvr._source = arg1
module_2_upvr._status = module_6_upvr.Status.Started
module_2_upvr._values = nil
module_2_upvr._valuesLength = -1
module_2_upvr._unhandledRejection = true
module_2_upvr._queuedResolve = {}
module_2_upvr._queuedReject = {}
module_2_upvr._queuedFinally = {}
module_2_upvr._cancellationHook = nil
module_2_upvr._parent = arg3
module_2_upvr._consumers = setmetatable({}, tbl_9_upvr)
if arg3 and arg3._status == module_6_upvr.Status.Started then
arg3._consumers[module_2_upvr] = true
end
setmetatable(module_2_upvr, module_6_upvr)
local function resolve(...) -- Line 241
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
module_2_upvr:_resolve(...)
end
local function reject(...) -- Line 245
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
module_2_upvr:_reject(...)
end
local function onCancel_upvr(arg1_5) -- Line 249, Named "onCancel"
--[[ Upvalues[2]:
[1]: module_2_upvr (readonly)
[2]: module_6_upvr (copied, readonly)
]]
if arg1_5 then
if module_2_upvr._status == module_6_upvr.Status.Cancelled then
arg1_5()
else
module_2_upvr._cancellationHook = arg1_5
end
end
if module_2_upvr._status ~= module_6_upvr.Status.Cancelled then
else
end
return true
end
coroutine.wrap(function() -- Line 261
--[[ Upvalues[6]:
[1]: runExecutor_upvr (copied, readonly)
[2]: module_2_upvr (readonly)
[3]: arg2 (readonly)
[4]: resolve (readonly)
[5]: reject (readonly)
[6]: onCancel_upvr (readonly)
]]
local runExecutor_result1_2, _, runExecutor_result3_4 = runExecutor_upvr(module_2_upvr._source, arg2, resolve, reject, onCancel_upvr)
if not runExecutor_result1_2 then
reject(runExecutor_result3_4[1])
end
end)()
return module_2_upvr
end
function module_6_upvr.new(arg1) -- Line 278
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
return module_6_upvr._new(debug.traceback(nil, 2), arg1)
end
function module_6_upvr.__tostring(arg1) -- Line 282
return string.format("Promise(%s)", arg1:getStatus())
end
function module_6_upvr.defer(arg1) -- Line 289
--[[ Upvalues[2]:
[1]: module_6_upvr (readonly)
[2]: runExecutor_upvr (readonly)
]]
local call_stack_upvr = debug.traceback(nil, 2)
return module_6_upvr._new(call_stack_upvr, function(arg1_6, arg2, arg3) -- Line 292
--[[ Upvalues[4]:
[1]: module_6_upvr (copied, readonly)
[2]: runExecutor_upvr (copied, readonly)
[3]: call_stack_upvr (readonly)
[4]: arg1 (readonly)
]]
local var57_upvw
var57_upvw = module_6_upvr._timeEvent:Connect(function() -- Line 294
--[[ Upvalues[7]:
[1]: var57_upvw (read and write)
[2]: runExecutor_upvr (copied, readonly)
[3]: call_stack_upvr (copied, readonly)
[4]: arg1 (copied, readonly)
[5]: arg1_6 (readonly)
[6]: arg2 (readonly)
[7]: arg3 (readonly)
]]
var57_upvw:Disconnect()
local runExecutor_upvr_result1, _, runExecutor_result3_6 = runExecutor_upvr(call_stack_upvr, arg1, arg1_6, arg2, arg3)
if not runExecutor_upvr_result1 then
arg2(runExecutor_result3_6[1])
end
end)
end)
end
module_6_upvr.async = module_6_upvr.defer
function module_6_upvr.resolve(...) -- Line 313
--[[ Upvalues[2]:
[1]: pack_upvr (readonly)
[2]: module_6_upvr (readonly)
]]
local pack_result1_4_upvr, pack_result2_upvr = pack_upvr(...)
return module_6_upvr._new(debug.traceback(nil, 2), function(arg1) -- Line 315
--[[ Upvalues[2]:
[1]: pack_result2_upvr (readonly)
[2]: pack_result1_4_upvr (readonly)
]]
arg1(unpack(pack_result2_upvr, 1, pack_result1_4_upvr))
end)
end
function module_6_upvr.reject(...) -- Line 323
--[[ Upvalues[2]:
[1]: pack_upvr (readonly)
[2]: module_6_upvr (readonly)
]]
local pack_result1_upvr, pack_result2_2_upvr = pack_upvr(...)
return module_6_upvr._new(debug.traceback(nil, 2), function(arg1, arg2) -- Line 325
--[[ Upvalues[2]:
[1]: pack_result2_2_upvr (readonly)
[2]: pack_result1_upvr (readonly)
]]
arg2(unpack(pack_result2_2_upvr, 1, pack_result1_upvr))
end)
end
function module_6_upvr._try(arg1, arg2, ...) -- Line 334
--[[ Upvalues[2]:
[1]: pack_upvr (readonly)
[2]: module_6_upvr (readonly)
]]
local pack_result1_upvr_3, pack_upvr_result2_upvr = pack_upvr(...)
return module_6_upvr._new(arg1, function(arg1_7) -- Line 337
--[[ Upvalues[3]:
[1]: arg2 (readonly)
[2]: pack_upvr_result2_upvr (readonly)
[3]: pack_result1_upvr_3 (readonly)
]]
arg1_7(arg2(unpack(pack_upvr_result2_upvr, 1, pack_result1_upvr_3)))
end)
end
function module_6_upvr.try(...) -- Line 345
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
return module_6_upvr._try(debug.traceback(nil, 2), ...)
end
function module_6_upvr._all(arg1, arg2, arg3) -- Line 354
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
if type(arg2) ~= "table" then
error(string.format("Please pass a list of promises to %s", "Promise.all"), 3)
end
for i_3, v_3 in pairs(arg2) do
if not module_6_upvr.is(v_3) then
error(string.format("Non-promise value passed into %s at index %s", "Promise.all", tostring(i_3)), 3)
end
end
if #arg2 == 0 or arg3 == 0 then
return module_6_upvr.resolve({})
end
return module_6_upvr._new(arg1, function(arg1_8, arg2_3, arg3_2) -- Line 372
--[[ Upvalues[2]:
[1]: arg3 (readonly)
[2]: arg2 (readonly)
]]
local tbl_3_upvr = {}
local var85_upvw = 0
local var86_upvw = false
local function cancel() -- Line 383
--[[ Upvalues[1]:
[1]: tbl_3_upvr (readonly)
]]
for _, v_4 in ipairs(tbl_3_upvr) do
v_4:cancel()
end
end
local var92_upvw = 0
local tbl_12_upvr = {}
local function resolveOne(arg1_9, ...) -- Line 390
--[[ Upvalues[7]:
[1]: var86_upvw (read and write)
[2]: var92_upvw (read and write)
[3]: arg3 (copied, readonly)
[4]: tbl_12_upvr (readonly)
[5]: arg2 (copied, readonly)
[6]: arg1_8 (readonly)
[7]: tbl_3_upvr (readonly)
]]
if var86_upvw then
else
var92_upvw += 1
if arg3 == nil then
tbl_12_upvr[arg1_9] = ...
else
tbl_12_upvr[var92_upvw] = ...
end
local var98 = arg3
if not var98 then
var98 = #arg2
end
if var98 <= var92_upvw then
var86_upvw = true
arg1_8(tbl_12_upvr)
for _, v_24 in ipairs(tbl_3_upvr) do
v_24:cancel()
end
end
end
end
arg3_2(cancel)
for i_5_upvr, v_5 in ipairs(arg2) do
tbl_3_upvr[i_5_upvr] = v_5:andThen(function(...) -- Line 416
--[[ Upvalues[2]:
[1]: resolveOne (readonly)
[2]: i_5_upvr (readonly)
]]
resolveOne(i_5_upvr, ...)
end, function(...) -- Line 419
--[[ Upvalues[6]:
[1]: var85_upvw (read and write)
[2]: arg3 (copied, readonly)
[3]: arg2 (copied, readonly)
[4]: tbl_3_upvr (readonly)
[5]: var86_upvw (read and write)
[6]: arg2_3 (readonly)
]]
var85_upvw += 1
if arg3 == nil or #arg2 - var85_upvw < arg3 then
for _, v_6 in ipairs(tbl_3_upvr) do
v_6:cancel()
end
var86_upvw = true
arg2_3(...)
end
end)
end
if var86_upvw then
for _, v_7 in ipairs(tbl_3_upvr) do
v_7:cancel()
end
end
end)
end
function module_6_upvr.all(arg1) -- Line 438
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
return module_6_upvr._all(debug.traceback(nil, 2), arg1)
end
function module_6_upvr.fold(arg1, arg2, arg3) -- Line 442
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
local var115
if type(arg1) ~= "table" then
var115 = false
else
var115 = true
end
assert(var115, "Bad argument #1 to Promise.fold: must be a table")
if type(arg2) ~= "function" then
var115 = false
else
var115 = true
end
assert(var115, "Bad argument #2 to Promise.fold: must be a function")
var115 = module_6_upvr
var115 = arg3
local any_resolve_result1_2_upvw = var115.resolve(var115)
var115 = module_6_upvr.each
local function _(arg1_10, arg2_4) -- Line 447
--[[ Upvalues[2]:
[1]: any_resolve_result1_2_upvw (read and write)
[2]: arg2 (readonly)
]]
any_resolve_result1_2_upvw = any_resolve_result1_2_upvw:andThen(function(arg1_11) -- Line 448
--[[ Upvalues[3]:
[1]: arg2 (copied, readonly)
[2]: arg1_10 (readonly)
[3]: arg2_4 (readonly)
]]
return arg2(arg1_11, arg1_10, arg2_4)
end)
end
var115 = var115(arg1, _):andThenReturn(any_resolve_result1_2_upvw)
return var115
end
function module_6_upvr.some(arg1, arg2) -- Line 454
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
local var119
if type(arg2) ~= "number" then
var119 = false
else
var119 = true
end
assert(var119, "Bad argument #2 to Promise.some: must be a number")
var119 = module_6_upvr
var119 = debug.traceback(nil, 2)
return var119._all(var119, arg1, arg2)
end
function module_6_upvr.any(arg1) -- Line 460
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
return module_6_upvr._all(debug.traceback(nil, 2), arg1, 1):andThen(function(arg1_12) -- Line 461
return arg1_12[1]
end)
end
function module_6_upvr.allSettled(arg1) -- Line 466
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
if type(arg1) ~= "table" then
error(string.format("Please pass a list of promises to %s", "Promise.allSettled"), 2)
end
for i_8, v_8 in pairs(arg1) do
if not module_6_upvr.is(v_8) then
error(string.format("Non-promise value passed into %s at index %s", "Promise.allSettled", tostring(i_8)), 2)
end
end
if #arg1 == 0 then
return module_6_upvr.resolve({})
end
return module_6_upvr._new(debug.traceback(nil, 2), function(arg1_13, arg2, arg3) -- Line 484
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
local tbl_14_upvr = {}
local var132_upvw = 0
local tbl_11_upvr = {}
local function resolveOne_upvr(arg1_14, ...) -- Line 494, Named "resolveOne"
--[[ Upvalues[4]:
[1]: var132_upvw (read and write)
[2]: tbl_11_upvr (readonly)
[3]: arg1 (copied, readonly)
[4]: arg1_13 (readonly)
]]
var132_upvw += 1
tbl_11_upvr[arg1_14] = ...
if #arg1 <= var132_upvw then
arg1_13(tbl_11_upvr)
end
end
arg3(function() -- Line 504
--[[ Upvalues[1]:
[1]: tbl_14_upvr (readonly)
]]
for _, v_9 in ipairs(tbl_14_upvr) do
v_9:cancel()
end
end)
for i_10_upvr, v_10 in ipairs(arg1) do
tbl_14_upvr[i_10_upvr] = v_10:finally(function(...) -- Line 514
--[[ Upvalues[2]:
[1]: resolveOne_upvr (readonly)
[2]: i_10_upvr (readonly)
]]
resolveOne_upvr(i_10_upvr, ...)
end)
end
end)
end
function module_6_upvr.race(arg1) -- Line 526
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
local var148
if type(arg1) ~= "table" then
var148 = false
else
var148 = true
end
assert(var148, string.format("Please pass a list of promises to %s", "Promise.race"))
var148 = arg1
local pairs_result1, pairs_result2_3, pairs_result3 = pairs(var148)
for i_11, v_11 in pairs_result1, pairs_result2_3, pairs_result3 do
assert(module_6_upvr.is(v_11), string.format("Non-promise value passed into %s at index %s", "Promise.race", tostring(i_11)))
end
pairs_result2_3 = module_6_upvr
pairs_result2_3 = debug.traceback(nil, 2)
return pairs_result2_3._new(pairs_result2_3, function(arg1_15, arg2, arg3) -- Line 533
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
local tbl_2_upvr = {}
local var162_upvw = false
local function cancel() -- Line 537
--[[ Upvalues[1]:
[1]: tbl_2_upvr (readonly)
]]
for _, v_12 in ipairs(tbl_2_upvr) do
v_12:cancel()
end
end
local function _(arg1_16) -- Line 543, Named "finalize"
--[[ Upvalues[2]:
[1]: tbl_2_upvr (readonly)
[2]: var162_upvw (read and write)
]]
return function(...) -- Line 544
--[[ Upvalues[3]:
[1]: tbl_2_upvr (copied, readonly)
[2]: var162_upvw (copied, read and write)
[3]: arg1_16 (readonly)
]]
for _, v_13 in ipairs(tbl_2_upvr) do
v_13:cancel()
end
var162_upvw = true
return arg1_16(...)
end
end
if arg3(function(...) -- Line 544
--[[ Upvalues[3]:
[1]: tbl_2_upvr (readonly)
[2]: var162_upvw (read and write)
[3]: arg2 (readonly)
]]
for _, v_14 in ipairs(tbl_2_upvr) do
v_14:cancel()
end
var162_upvw = true
return arg2(...)
end) then
else
for i_25, v_25 in ipairs(arg1) do
tbl_2_upvr[i_25] = v_25:andThen(function(...) -- Line 544
--[[ Upvalues[3]:
[1]: tbl_2_upvr (readonly)
[2]: var162_upvw (read and write)
[3]: arg1_15 (readonly)
]]
for _, v_26 in ipairs(tbl_2_upvr) do
v_26:cancel()
end
var162_upvw = true
return arg1_15(...)
end, function(...) -- Line 544
--[[ Upvalues[3]:
[1]: tbl_2_upvr (readonly)
[2]: var162_upvw (read and write)
[3]: arg2 (readonly)
]]
for _, v_27 in ipairs(tbl_2_upvr) do
v_27:cancel()
end
var162_upvw = true
return arg2(...)
end)
end
if var162_upvw then
for _, v_28 in ipairs(tbl_2_upvr) do
v_28:cancel()
end
end
end
end)
end
function module_6_upvr.each(arg1, arg2) -- Line 573
--[[ Upvalues[2]:
[1]: module_6_upvr (readonly)
[2]: var13_upvw (read and write)
]]
local var198
if type(arg1) ~= "table" then
var198 = false
else
var198 = true
end
assert(var198, string.format("Please pass a list of promises to %s", "Promise.each"))
if type(arg2) ~= "function" then
var198 = false
else
var198 = true
end
assert(var198, string.format("Please pass a handler function to %s!", "Promise.each"))
var198 = module_6_upvr
var198 = debug.traceback(nil, 2)
return var198._new(var198, function(arg1_17, arg2_5, arg3) -- Line 577
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: module_6_upvr (copied, readonly)
[3]: var13_upvw (copied, read and write)
[4]: arg2 (readonly)
]]
local tbl_6 = {}
local tbl_5_upvr = {}
local var266_upvw = false
local function cancel() -- Line 583
--[[ Upvalues[1]:
[1]: tbl_5_upvr (readonly)
]]
for _, v_15 in ipairs(tbl_5_upvr) do
v_15:cancel()
end
end
arg3(function() -- Line 589
--[[ Upvalues[2]:
[1]: var266_upvw (read and write)
[2]: tbl_5_upvr (readonly)
]]
var266_upvw = true
for _, v_16 in ipairs(tbl_5_upvr) do
v_16:cancel()
end
end)
for i_17, v_17 in ipairs(arg1) do
if module_6_upvr.is(v_17) then
if v_17:getStatus() == module_6_upvr.Status.Cancelled then
for _, v_18 in ipairs(tbl_5_upvr) do
v_18:cancel()
end
return arg2_5(var13_upvw.new({
error = "Promise is cancelled";
kind = var13_upvw.Kind.AlreadyCancelled;
context = string.format("The Promise that was part of the array at index %d passed into Promise.each was already cancelled when Promise.each began.\n\nThat Promise was created at:\n\n%s", i_17, v_17._source);
}))
end
if v_17:getStatus() == module_6_upvr.Status.Rejected then
for _, v_19 in ipairs(tbl_5_upvr) do
v_19:cancel()
end
return arg2_5(select(2, v_17:await()))
end
local any_andThen_result1_2 = v_17:andThen(function(...) -- Line 622
return ...
end)
table.insert(tbl_5_upvr, any_andThen_result1_2)
;({})[i_17] = any_andThen_result1_2
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
;({})[i_17] = v_17
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
for i_20, v_20 in ipairs({}) do
if module_6_upvr.is(v_20) then
local any_await_result1_2, any_await_result2_2 = v_20:await()
v_20 = any_await_result2_2
if not any_await_result1_2 then
for _, v_21 in ipairs(tbl_5_upvr) do
v_21:cancel()
end
return arg2_5(v_20)
end
end
if var266_upvw then return end
local any_resolve_result1 = module_6_upvr.resolve(arg2(v_20, i_20))
table.insert(tbl_5_upvr, any_resolve_result1)
local any_await_result1_4, any_await_result2_4 = any_resolve_result1:await()
if not any_await_result1_4 then
for _, v_22 in ipairs(tbl_5_upvr) do
v_22:cancel()
end
return arg2_5(any_await_result2_4)
end
tbl_6[i_20] = any_await_result2_4
end
arg1_17(tbl_6)
end)
end
function module_6_upvr.is(arg1) -- Line 669
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
if type(arg1) ~= "table" then
return false
end
local getmetatable_result1_4 = getmetatable(arg1)
if getmetatable_result1_4 == module_6_upvr then
do
return true
end
local var307
end
if getmetatable_result1_4 == nil then
if type(arg1.andThen) ~= "function" then
var307 = false
else
var307 = true
end
return var307
end
if type(getmetatable_result1_4) == "table" then
if type(rawget(getmetatable_result1_4, "__index")) == "table" then
if type(rawget(rawget(getmetatable_result1_4, "__index"), "andThen")) == "function" then
return true
end
end
end
return false
end
function module_6_upvr.promisify(arg1) -- Line 697
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
return function(...) -- Line 698
--[[ Upvalues[2]:
[1]: module_6_upvr (copied, readonly)
[2]: arg1 (readonly)
]]
return module_6_upvr._try(debug.traceback(nil, 2), arg1, ...)
end
end
local var309_upvw
local var310_upvw
function module_6_upvr.delay(arg1) -- Line 713
--[[ Upvalues[3]:
[1]: module_6_upvr (readonly)
[2]: var309_upvw (read and write)
[3]: var310_upvw (read and write)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var311
if type(arg1) ~= "number" then
var311 = false
else
var311 = true
end
assert(var311, "Bad argument #1 to Promise.delay, must be a number.")
if (1/60) > arg1 or arg1 == math.huge then
end
var311 = module_6_upvr
var311 = debug.traceback(nil, 2)
local const_number_upvw = (1/60)
return var311._new(var311, function(arg1_18, arg2, arg3) -- Line 721
--[[ Upvalues[4]:
[1]: module_6_upvr (copied, readonly)
[2]: const_number_upvw (read and write)
[3]: var309_upvw (copied, read and write)
[4]: var310_upvw (copied, read and write)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 29 start (CF ANALYSIS FAILED)
local any__getTime_result1 = module_6_upvr._getTime()
local var315 = any__getTime_result1 + const_number_upvw
local tbl_4_upvr = {}
tbl_4_upvr.resolve = arg1_18
tbl_4_upvr.startTime = any__getTime_result1
tbl_4_upvr.endTime = var315
if var309_upvw == nil then
var310_upvw = tbl_4_upvr
var309_upvw = module_6_upvr._timeEvent:Connect(function() -- Line 733
--[[ Upvalues[3]:
[1]: module_6_upvr (copied, readonly)
[2]: var310_upvw (copied, read and write)
[3]: var309_upvw (copied, read and write)
]]
while var310_upvw ~= nil and var310_upvw.endTime < module_6_upvr._getTime() do
local var318 = var310_upvw
var310_upvw = var318.next
if var310_upvw == nil then
var309_upvw:Disconnect()
var309_upvw = nil
else
var310_upvw.previous = nil
end
var318.resolve(module_6_upvr._getTime() - var318.startTime)
end
end)
else
local var319
if var310_upvw.endTime < var315 then
local next_2 = var310_upvw.next
while next_2 ~= nil and next_2.endTime < var315 do
local var321 = next_2
local next = var321.next
end
var321.next = tbl_4_upvr
tbl_4_upvr.previous = var321
if next ~= nil then
tbl_4_upvr.next = next
next.previous = tbl_4_upvr
-- KONSTANTWARNING: GOTO [65] #45
end
else
tbl_4_upvr.next = var310_upvw
var310_upvw.previous = tbl_4_upvr
var310_upvw = tbl_4_upvr
end
end
-- KONSTANTERROR: [0] 1. Error Block 29 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [65] 45. Error Block 14 start (CF ANALYSIS FAILED)
arg3(function() -- Line 778
--[[ Upvalues[3]:
[1]: tbl_4_upvr (readonly)
[2]: var310_upvw (copied, read and write)
[3]: var309_upvw (copied, read and write)
]]
local next_3 = tbl_4_upvr.next
if var310_upvw == tbl_4_upvr then
if next_3 == nil then
var309_upvw:Disconnect()
var309_upvw = nil
else
next_3.previous = nil
end
var310_upvw = next_3
else
local previous = tbl_4_upvr.previous
previous.next = next_3
if next_3 ~= nil then
next_3.previous = previous
end
end
end)
-- KONSTANTERROR: [65] 45. Error Block 14 end (CF ANALYSIS FAILED)
end)
end
module_6_upvr.prototype.timeout = function(arg1, arg2, arg3) -- Line 807, Named "timeout"
--[[ Upvalues[2]:
[1]: module_6_upvr (readonly)
[2]: var13_upvw (read and write)
]]
local module_7 = {}
local call_stack_upvr_2 = debug.traceback(nil, 2)
module_7[1] = module_6_upvr.delay(arg2):andThen(function() -- Line 811
--[[ Upvalues[5]:
[1]: module_6_upvr (copied, readonly)
[2]: arg3 (readonly)
[3]: var13_upvw (copied, read and write)
[4]: arg2 (readonly)
[5]: call_stack_upvr_2 (readonly)
]]
local var329
local function INLINED() -- Internal function, doesn't exist in bytecode
var329 = var329(tbl_8)
tbl_8.context = string.format("Timeout of %d seconds exceeded.\n:timeout() called at:\n\n%s", arg2, call_stack_upvr_2)
tbl_8.error = "Timed out"
tbl_8.kind = var13_upvw.Kind.TimedOut
local tbl_8 = {}
var329 = var13_upvw.new
return var329
end
if arg3 ~= nil or not INLINED() then
var329 = arg3
end
return module_6_upvr.reject(var329)
end)
module_7[2] = arg1
return module_6_upvr.race(module_7)
end
module_6_upvr.prototype.getStatus = function(arg1) -- Line 826, Named "getStatus"
return arg1._status
end
module_6_upvr.prototype._andThen = function(arg1, arg2, arg3, arg4) -- Line 835, Named "_andThen"
--[[ Upvalues[3]:
[1]: module_6_upvr (readonly)
[2]: runExecutor_upvr (readonly)
[3]: var13_upvw (read and write)
]]
arg1._unhandledRejection = false
return module_6_upvr._new(arg2, function(arg1_19, arg2_6) -- Line 839
--[[ Upvalues[7]:
[1]: arg3 (readonly)
[2]: arg2 (readonly)
[3]: runExecutor_upvr (copied, readonly)
[4]: arg4 (readonly)
[5]: arg1 (readonly)
[6]: module_6_upvr (copied, readonly)
[7]: var13_upvw (copied, read and write)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var333
if arg3 then
function var333(...) -- Line 160
--[[ Upvalues[5]:
[1]: runExecutor_upvr (copied, readonly)
[2]: arg2 (readonly)
[3]: arg3 (readonly)
[4]: arg1_19 (readonly)
[5]: arg2_6 (readonly)
]]
local runExecutor_result1_4, runExecutor_upvr_result2_2, runExecutor_result3 = runExecutor_upvr(arg2, arg3, ...)
if runExecutor_result1_4 then
arg1_19(unpack(runExecutor_result3, 1, runExecutor_upvr_result2_2))
else
arg2_6(runExecutor_result3[1])
end
end
end
if arg4 then
local function var337(...) -- Line 160
--[[ Upvalues[5]:
[1]: runExecutor_upvr (copied, readonly)
[2]: arg2 (readonly)
[3]: arg4 (readonly)
[4]: arg1_19 (readonly)
[5]: arg2_6 (readonly)
]]
local runExecutor_result1_5, runExecutor_upvr_result2, runExecutor_result3_3 = runExecutor_upvr(arg2, arg4, ...)
if runExecutor_result1_5 then
arg1_19(unpack(runExecutor_result3_3, 1, runExecutor_upvr_result2))
else
arg2_6(runExecutor_result3_3[1])
end
end
end
if arg1._status == module_6_upvr.Status.Started then
table.insert(arg1._queuedResolve, var333)
table.insert(arg1._queuedReject, var337)
else
if arg1._status == module_6_upvr.Status.Resolved then
var333(unpack(arg1._values, 1, arg1._valuesLength))
return
end
if arg1._status == module_6_upvr.Status.Rejected then
var337(unpack(arg1._values, 1, arg1._valuesLength))
return
end
if arg1._status == module_6_upvr.Status.Cancelled then
arg2_6(var13_upvw.new({
error = "Promise is cancelled";
kind = var13_upvw.Kind.AlreadyCancelled;
context = "Promise created at\n\n"..arg2;
}))
end
end
end, arg1)
end
module_6_upvr.prototype.andThen = function(arg1, arg2, arg3) -- Line 885, Named "andThen"
local var342
if arg2 ~= nil then
if type(arg2) ~= "function" then
var342 = false
else
var342 = true
end
end
assert(var342, string.format("Please pass a handler function to %s!", "Promise:andThen"))
var342 = true
if arg3 ~= nil then
if type(arg3) ~= "function" then
var342 = false
else
var342 = true
end
end
assert(var342, string.format("Please pass a handler function to %s!", "Promise:andThen"))
return arg1:_andThen(debug.traceback(nil, 2), arg2, arg3)
end
module_6_upvr.prototype.catch = function(arg1, arg2) -- Line 901, Named "catch"
local var343 = true
if arg2 ~= nil then
if type(arg2) ~= "function" then
var343 = false
else
var343 = true
end
end
assert(var343, string.format("Please pass a handler function to %s!", "Promise:catch"))
return arg1:_andThen(debug.traceback(nil, 2), nil, arg2)
end
module_6_upvr.prototype.tap = function(arg1, arg2) -- Line 913, Named "tap"
--[[ Upvalues[2]:
[1]: module_6_upvr (readonly)
[2]: pack_upvr (readonly)
]]
local var344
if type(arg2) ~= "function" then
var344 = false
else
var344 = true
end
assert(var344, string.format("Please pass a handler function to %s!", "Promise:tap"))
return arg1:_andThen(debug.traceback(nil, 2), function(...) -- Line 915
--[[ Upvalues[3]:
[1]: arg2 (readonly)
[2]: module_6_upvr (copied, readonly)
[3]: pack_upvr (copied, readonly)
]]
local arg2_result1 = arg2(...)
if module_6_upvr.is(arg2_result1) then
local pack_upvr_result1_upvr_4, pack_result2_9_upvr = pack_upvr(...)
return arg2_result1:andThen(function() -- Line 920
--[[ Upvalues[2]:
[1]: pack_result2_9_upvr (readonly)
[2]: pack_upvr_result1_upvr_4 (readonly)
]]
return unpack(pack_result2_9_upvr, 1, pack_upvr_result1_upvr_4)
end)
end
pack_upvr_result1_upvr_4 = ...
return pack_upvr_result1_upvr_4
end)
end
module_6_upvr.prototype.andThenCall = function(arg1, arg2, ...) -- Line 932, Named "andThenCall"
--[[ Upvalues[1]:
[1]: pack_upvr (readonly)
]]
local var350
if type(arg2) ~= "function" then
var350 = false
else
var350 = true
end
assert(var350, string.format("Please pass a handler function to %s!", "Promise:andThenCall"))
var350 = ...
local pack_upvr_result1_upvr_3, pack_result2_5_upvr = pack_upvr(var350)
return arg1:_andThen(debug.traceback(nil, 2), function() -- Line 935
--[[ Upvalues[3]:
[1]: arg2 (readonly)
[2]: pack_result2_5_upvr (readonly)
[3]: pack_upvr_result1_upvr_3 (readonly)
]]
return arg2(unpack(pack_result2_5_upvr, 1, pack_upvr_result1_upvr_3))
end)
end
module_6_upvr.prototype.andThenReturn = function(arg1, ...) -- Line 943, Named "andThenReturn"
--[[ Upvalues[1]:
[1]: pack_upvr (readonly)
]]
local pack_upvr_result1_upvr_2, pack_result2_7_upvr = pack_upvr(...)
return arg1:_andThen(debug.traceback(nil, 2), function() -- Line 945
--[[ Upvalues[2]:
[1]: pack_result2_7_upvr (readonly)
[2]: pack_upvr_result1_upvr_2 (readonly)
]]
return unpack(pack_result2_7_upvr, 1, pack_upvr_result1_upvr_2)
end)
end
module_6_upvr.prototype.cancel = function(arg1) -- Line 954, Named "cancel"
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
if arg1._status ~= module_6_upvr.Status.Started then
else
arg1._status = module_6_upvr.Status.Cancelled
if arg1._cancellationHook then
arg1._cancellationHook()
end
if arg1._parent then
arg1._parent:_consumerCancelled(arg1)
end
for i_29 in pairs(arg1._consumers) do
i_29:cancel()
end
arg1:_finalize()
end
end
module_6_upvr.prototype._consumerCancelled = function(arg1, arg2) -- Line 980, Named "_consumerCancelled"
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
if arg1._status ~= module_6_upvr.Status.Started then
else
arg1._consumers[arg2] = nil
if next(arg1._consumers) == nil then
arg1:cancel()
end
end
end
module_6_upvr.prototype._finally = function(arg1, arg2, arg3, arg4) -- Line 996, Named "_finally"
--[[ Upvalues[2]:
[1]: module_6_upvr (readonly)
[2]: runExecutor_upvr (readonly)
]]
if not arg4 then
arg1._unhandledRejection = false
end
return module_6_upvr._new(arg2, function(arg1_20, arg2_7) -- Line 1002
--[[ Upvalues[6]:
[1]: arg3 (readonly)
[2]: arg2 (readonly)
[3]: runExecutor_upvr (copied, readonly)
[4]: arg4 (readonly)
[5]: arg1 (readonly)
[6]: module_6_upvr (copied, readonly)
]]
local var367_upvr
if arg3 then
function var367_upvr(...) -- Line 160
--[[ Upvalues[5]:
[1]: runExecutor_upvr (copied, readonly)
[2]: arg2 (readonly)
[3]: arg3 (readonly)
[4]: arg1_20 (readonly)
[5]: arg2_7 (readonly)
]]
local runExecutor_result1_3, runExecutor_result2, runExecutor_result3_5 = runExecutor_upvr(arg2, arg3, ...)
if runExecutor_result1_3 then
arg1_20(unpack(runExecutor_result3_5, 1, runExecutor_result2))
else
arg2_7(runExecutor_result3_5[1])
end
end
end
if arg4 then
function var367_upvr(...) -- Line 1015
--[[ Upvalues[4]:
[1]: arg1 (copied, readonly)
[2]: module_6_upvr (copied, readonly)
[3]: arg1_20 (readonly)
[4]: var367_upvr (readonly)
]]
if arg1._status == module_6_upvr.Status.Rejected then
return arg1_20(arg1)
end
return var367_upvr(...)
end
end
if arg1._status == module_6_upvr.Status.Started then
table.insert(arg1._queuedFinally, var367_upvr)
else
var367_upvr(arg1._status)
end
end, arg1)
end
module_6_upvr.prototype.finally = function(arg1, arg2) -- Line 1034, Named "finally"
local var368 = true
if arg2 ~= nil then
if type(arg2) ~= "function" then
var368 = false
else
var368 = true
end
end
assert(var368, string.format("Please pass a handler function to %s!", "Promise:finally"))
return arg1:_finally(debug.traceback(nil, 2), arg2)
end
module_6_upvr.prototype.finallyCall = function(arg1, arg2, ...) -- Line 1045, Named "finallyCall"
--[[ Upvalues[1]:
[1]: pack_upvr (readonly)
]]
local var369
if type(arg2) ~= "function" then
var369 = false
else
var369 = true
end
assert(var369, string.format("Please pass a handler function to %s!", "Promise:finallyCall"))
var369 = ...
local pack_result1_upvr_2, pack_result2_8_upvr = pack_upvr(var369)
return arg1:_finally(debug.traceback(nil, 2), function() -- Line 1048
--[[ Upvalues[3]:
[1]: arg2 (readonly)
[2]: pack_result2_8_upvr (readonly)
[3]: pack_result1_upvr_2 (readonly)
]]
return arg2(unpack(pack_result2_8_upvr, 1, pack_result1_upvr_2))
end)
end
module_6_upvr.prototype.finallyReturn = function(arg1, ...) -- Line 1056, Named "finallyReturn"
--[[ Upvalues[1]:
[1]: pack_upvr (readonly)
]]
local pack_result1_5_upvr, pack_result2_6_upvr = pack_upvr(...)
return arg1:_finally(debug.traceback(nil, 2), function() -- Line 1058
--[[ Upvalues[2]:
[1]: pack_result2_6_upvr (readonly)
[2]: pack_result1_5_upvr (readonly)
]]
return unpack(pack_result2_6_upvr, 1, pack_result1_5_upvr)
end)
end
module_6_upvr.prototype.done = function(arg1, arg2) -- Line 1066, Named "done"
local var376 = true
if arg2 ~= nil then
if type(arg2) ~= "function" then
var376 = false
else
var376 = true
end
end
assert(var376, string.format("Please pass a handler function to %s!", "Promise:done"))
return arg1:_finally(debug.traceback(nil, 2), arg2, true)
end
module_6_upvr.prototype.doneCall = function(arg1, arg2, ...) -- Line 1077, Named "doneCall"
--[[ Upvalues[1]:
[1]: pack_upvr (readonly)
]]
local var377
if type(arg2) ~= "function" then
var377 = false
else
var377 = true
end
assert(var377, string.format("Please pass a handler function to %s!", "Promise:doneCall"))
var377 = ...
local pack_result1_3_upvr, pack_result2_3_upvr = pack_upvr(var377)
return arg1:_finally(debug.traceback(nil, 2), function() -- Line 1080
--[[ Upvalues[3]:
[1]: arg2 (readonly)
[2]: pack_result2_3_upvr (readonly)
[3]: pack_result1_3_upvr (readonly)
]]
return arg2(unpack(pack_result2_3_upvr, 1, pack_result1_3_upvr))
end, true)
end
module_6_upvr.prototype.doneReturn = function(arg1, ...) -- Line 1088, Named "doneReturn"
--[[ Upvalues[1]:
[1]: pack_upvr (readonly)
]]
local pack_upvr_result1_upvr, pack_result2_10_upvr = pack_upvr(...)
return arg1:_finally(debug.traceback(nil, 2), function() -- Line 1090
--[[ Upvalues[2]:
[1]: pack_result2_10_upvr (readonly)
[2]: pack_upvr_result1_upvr (readonly)
]]
return unpack(pack_result2_10_upvr, 1, pack_upvr_result1_upvr)
end, true)
end
module_6_upvr.prototype.awaitStatus = function(arg1) -- Line 1100, Named "awaitStatus"
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
arg1._unhandledRejection = false
if arg1._status == module_6_upvr.Status.Started then
local BindableEvent_upvr = Instance.new("BindableEvent")
arg1:finally(function() -- Line 1106
--[[ Upvalues[1]:
[1]: BindableEvent_upvr (readonly)
]]
BindableEvent_upvr:Fire()
end)
BindableEvent_upvr.Event:Wait()
BindableEvent_upvr:Destroy()
end
BindableEvent_upvr = arg1._status
if BindableEvent_upvr == module_6_upvr.Status.Resolved then
BindableEvent_upvr = arg1._status
return BindableEvent_upvr, unpack(arg1._values, 1, arg1._valuesLength)
end
BindableEvent_upvr = arg1._status
if BindableEvent_upvr == module_6_upvr.Status.Rejected then
BindableEvent_upvr = arg1._status
return BindableEvent_upvr, unpack(arg1._values, 1, arg1._valuesLength)
end
BindableEvent_upvr = arg1._status
return BindableEvent_upvr
end
local function awaitHelper_upvr(arg1, ...) -- Line 1123, Named "awaitHelper"
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
local var386
if arg1 ~= module_6_upvr.Status.Resolved then
var386 = false
else
var386 = true
end
return var386, ...
end
module_6_upvr.prototype.await = function(arg1) -- Line 1130, Named "await"
--[[ Upvalues[1]:
[1]: awaitHelper_upvr (readonly)
]]
return awaitHelper_upvr(arg1:awaitStatus())
end
local function expectHelper_upvr(arg1, ...) -- Line 1134, Named "expectHelper"
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
local Status = module_6_upvr.Status
if arg1 ~= Status.Resolved then
if ... == nil then
Status = "Expected Promise rejected with no value."
else
Status = ...
end
error(Status, 3)
end
return ...
end
module_6_upvr.prototype.expect = function(arg1) -- Line 1146, Named "expect"
--[[ Upvalues[1]:
[1]: expectHelper_upvr (readonly)
]]
return expectHelper_upvr(arg1:awaitStatus())
end
module_6_upvr.prototype.awaitValue = module_6_upvr.prototype.expect
module_6_upvr.prototype._unwrap = function(arg1) -- Line 1160, Named "_unwrap"
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
local var388
if var388 == module_6_upvr.Status.Started then
var388 = error
var388("Promise has not resolved or rejected.", 2)
end
if arg1._status ~= module_6_upvr.Status.Resolved then
var388 = false
else
var388 = true
end
return var388, unpack(arg1._values, 1, arg1._valuesLength)
end
module_6_upvr.prototype._resolve = function(arg1, ...) -- Line 1170, Named "_resolve"
--[[ Upvalues[3]:
[1]: module_6_upvr (readonly)
[2]: var13_upvw (read and write)
[3]: pack_upvr (readonly)
]]
if arg1._status ~= module_6_upvr.Status.Started then
if module_6_upvr.is(...) then
...:_consumerCancelled(arg1)
end
else
if module_6_upvr.is(...) then
if 1 < select('#', ...) then
warn(string.format("When returning a Promise from andThen, extra arguments are discarded! See:\n\n%s", arg1._source))
end
local var391_upvr = ...
local any_andThen_result1 = var391_upvr:andThen(function(...) -- Line 1193
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:_resolve(...)
end, function(...) -- Line 1196
--[[ Upvalues[3]:
[1]: var391_upvr (readonly)
[2]: var13_upvw (copied, read and write)
[3]: arg1 (readonly)
]]
local _1 = var391_upvr._values[1]
if var391_upvr._error then
_1 = var13_upvw.new({
error = var391_upvr._error;
kind = var13_upvw.Kind.ExecutionError;
context = "[No stack trace available as this Promise originated from an older version of the Promise library (< v2)]";
})
end
if var13_upvw.isKind(_1, var13_upvw.Kind.ExecutionError) then
return arg1:_reject(_1:extend({
error = "This Promise was chained to a Promise that errored.";
trace = "";
context = string.format("The Promise at:\n\n%s\n...Rejected because it was chained to the following Promise, which encountered an error:\n", arg1._source);
}))
end
arg1:_reject(...)
end)
if any_andThen_result1._status == module_6_upvr.Status.Cancelled then
arg1:cancel()
elseif any_andThen_result1._status == module_6_upvr.Status.Started then
arg1._parent = any_andThen_result1
any_andThen_result1._consumers[arg1] = true
end
end
var391_upvr = module_6_upvr.Status.Resolved
arg1._status = var391_upvr
var391_upvr = pack_upvr(...)
local pack_result1_2, pack_result2_4 = pack_upvr(...)
arg1._valuesLength = pack_result1_2
arg1._values = pack_result2_4
pack_result1_2 = ipairs(arg1._queuedResolve)
local ipairs_result1, ipairs_result2_7, ipairs_result3 = ipairs(arg1._queuedResolve)
for _, v_29 in ipairs_result1, ipairs_result2_7, ipairs_result3 do
coroutine.wrap(v_29)(...)
end
ipairs_result1 = arg1:_finalize
ipairs_result1()
end
end
module_6_upvr.prototype._reject = function(arg1, ...) -- Line 1245, Named "_reject"
--[[ Upvalues[2]:
[1]: module_6_upvr (readonly)
[2]: pack_upvr (readonly)
]]
if arg1._status ~= module_6_upvr.Status.Started then
else
arg1._status = module_6_upvr.Status.Rejected
local pack_result1, pack_result2 = pack_upvr(...)
arg1._valuesLength = pack_result1
arg1._values = pack_result2
if next(arg1._queuedReject) ~= nil then
pack_result1 = false
else
pack_result1 = true
end
if not pack_result1 then
for _, v_30 in ipairs(arg1._queuedReject) do
coroutine.wrap(v_30)(...)
end
else
local tostring_result1_upvr = tostring(...)
coroutine.wrap(function() -- Line 1267
--[[ Upvalues[3]:
[1]: module_6_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: tostring_result1_upvr (readonly)
]]
module_6_upvr._timeEvent:Wait()
if not arg1._unhandledRejection then
else
if module_6_upvr.TEST then return end
warn(string.format("Unhandled Promise rejection:\n\n%s\n\n%s", tostring_result1_upvr, arg1._source))
end
end)()
end
tostring_result1_upvr = arg1:_finalize
tostring_result1_upvr()
end
end
module_6_upvr.prototype._finalize = function(arg1) -- Line 1299, Named "_finalize"
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
for _, v_23 in ipairs(arg1._queuedFinally) do
coroutine.wrap(v_23)(arg1._status)
end
arg1._queuedFinally = nil
arg1._queuedReject = nil
arg1._queuedResolve = nil
if not module_6_upvr.TEST then
arg1._parent = nil
arg1._consumers = nil
end
end
module_6_upvr.prototype.now = function(arg1, arg2) -- Line 1322, Named "now"
--[[ Upvalues[2]:
[1]: module_6_upvr (readonly)
[2]: var13_upvw (read and write)
]]
local call_stack = debug.traceback(nil, 2)
local var420
if arg1:getStatus() == var420 then
return arg1:_andThen(call_stack, function(...) -- Line 1325
return ...
end)
end
var420 = module_6_upvr
local function INLINED_2() -- Internal function, doesn't exist in bytecode
var420 = var420(tbl_10)
tbl_10.context = ":now() was called at:\n\n"..call_stack
tbl_10.error = "This Promise was not resolved in time for :now()"
tbl_10.kind = var13_upvw.Kind.NotResolvedInTime
local tbl_10 = {}
var420 = var13_upvw.new
return var420
end
if arg2 ~= nil or not INLINED_2() then
var420 = arg2
end
return var420.reject(var420)
end
function module_6_upvr.retry(arg1, arg2, ...) -- Line 1340
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
local var423_upvr
if type(arg1) ~= "function" then
var423_upvr = false
else
var423_upvr = true
end
assert(var423_upvr, "Parameter #1 to Promise.retry must be a function")
if type(arg2) ~= "number" then
var423_upvr = false
else
var423_upvr = true
end
assert(var423_upvr, "Parameter #2 to Promise.retry must be a number")
local args_list_upvr = {...}
var423_upvr = select('#', ...)
return module_6_upvr.resolve(arg1(...)):catch(function(...) -- Line 1346
--[[ Upvalues[5]:
[1]: arg2 (readonly)
[2]: module_6_upvr (copied, readonly)
[3]: arg1 (readonly)
[4]: args_list_upvr (readonly)
[5]: var423_upvr (readonly)
]]
if 0 < arg2 then
return module_6_upvr.retry(arg1, arg2 - 1, unpack(args_list_upvr, 1, var423_upvr))
end
return module_6_upvr.reject(...)
end)
end
function module_6_upvr.fromEvent(arg1, arg2) -- Line 1358
--[[ Upvalues[1]:
[1]: module_6_upvr (readonly)
]]
local var427_upvw = arg2
if not var427_upvw then
function var427_upvw() -- Line 1359
return true
end
end
return module_6_upvr._new(debug.traceback(nil, 2), function(arg1_21, arg2_8, arg3) -- Line 1363
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: var427_upvw (read and write)
]]
local var429_upvw
local var430_upvw = false
var429_upvw = arg1:Connect(function(...) -- Line 1376
--[[ Upvalues[4]:
[1]: var427_upvw (copied, read and write)
[2]: arg1_21 (readonly)
[3]: var429_upvw (read and write)
[4]: var430_upvw (read and write)
]]
local var427_upvw_result1 = var427_upvw(...)
if var427_upvw_result1 == true then
arg1_21(...)
if var429_upvw then
var429_upvw:Disconnect()
var429_upvw = nil
else
var430_upvw = true
end
end
if type(var427_upvw_result1) ~= "boolean" then
error("Promise.fromEvent predicate should always return a boolean")
end
end)
if var430_upvw and var429_upvw then
return (function() -- Line 1367, Named "disconnect"
--[[ Upvalues[1]:
[1]: var429_upvw (read and write)
]]
var429_upvw:Disconnect()
var429_upvw = nil
end)()
end
arg3(function() -- Line 1396
--[[ Upvalues[1]:
[1]: var429_upvw (read and write)
]]
var429_upvw:Disconnect()
var429_upvw = nil
end)
end)
end
return module_6_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:52
-- Luau version 6, Types version 3
-- Time taken: 0.003259 seconds
local module_upvr = {}
if _G._services.RunService:IsClient() then
module_upvr.network = _G._engine:load("Network").new()
end
module_upvr.__index = module_upvr
function module_upvr.load(arg1, arg2) -- Line 9
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
local var2
if typeof(arg2) ~= "table" then
var2 = false
else
var2 = true
end
assert(var2, string.format("SoundClass.load | table expected, got %s", typeof(arg2)))
if arg2.sound then
local clone = arg2.sound:Clone()
var2 = arg2.directory
clone.Parent = var2
arg2.sound = clone
else
var2 = "Sound"
local any = Instance.new(var2, arg2.directory)
var2 = arg2.soundId
any.SoundId = var2
var2 = arg2.playbackSpeed or 1
any.PlaybackSpeed = var2
var2 = arg2.rollOffMaxDistance or 10000
any.RollOffMaxDistance = var2
var2 = arg2.rollOffMinDistance or 10
any.RollOffMinDistance = var2
var2 = arg2.rollOffMode
if not var2 then
var2 = Enum.RollOffMode.Inverse
end
any.RollOffMode = var2
any.Looped = arg2.looped or false
any.Volume = arg2.volume or 0.5
any.SoundGroup = arg2.soundGroup
arg2.sound = any
end
local var5
if arg2.play then
arg2.sound:Play()
local function INLINED() -- Internal function, doesn't exist in bytecode
var5 = arg2.sound.TimeLength
return var5
end
if 0.05 > arg2.sound.TimeLength or not INLINED() then
var5 = 1
end
_G._services.Debris:AddItem(arg2.sound, var5)
end
if arg2.replicate then
var5 = arg2
module_upvr.network:send("sound", var5)
end
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:53
-- Luau version 6, Types version 3
-- Time taken: 0.003995 seconds
local Services_upvr = require(game:GetService("ReplicatedStorage").engine).Services
local module_upvr = {
new = function(arg1) -- Line 12, Named "new"
--[[ Upvalues[1]:
[1]: Services_upvr (readonly)
]]
assert(arg1, "Sessions.new() | string 'constructor' expected, got "..typeof(arg1))
assert(Services_upvr.RunService:IsServer(), "Sessions.new() | .new() can only be called server-side !")
script:SetAttribute("init", true)
script:SetAttribute(arg1, "idle")
end;
}
function module_upvr.create(arg1, arg2) -- Line 20
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: Services_upvr (readonly)
]]
assert(arg2, "Sessions:create() | string 'constructor' expected, got "..typeof(arg2))
assert(script:GetAttribute(arg2), "Sessions:create() | you must define a new constructor using .new() before running :create() !")
module_upvr[arg2] = Services_upvr.HttpService:GenerateGUID(false)
end
function module_upvr.isSession(arg1, arg2) -- Line 27
assert(arg2, "Sessions:isSession() | table 'args' expected, got "..typeof(arg2))
local assert = assert
assert(script:GetAttribute(arg2.constructor), "Sessions:isSession() | you must define a new constructor using .new() before running :isSession() !")
if script:GetAttribute(arg2.constructor) ~= arg2.session then
assert = false
else
assert = true
end
return assert
end
function module_upvr.getSession(arg1, arg2) -- Line 34
assert(arg2, "Sessions:getSession() | string 'constructor' expected, got "..typeof(arg2))
assert(script:GetAttribute(arg2), "Sessions:getSession() | you must define a new constructor using .new() before running :getSession() !")
return script:GetAttribute(arg2)
end
function module_upvr.clear(arg1, arg2) -- Line 41
assert(arg2, "Sessions:clear() | string 'constructor' expected, got "..typeof(arg2))
assert(script:GetAttribute(arg2), "Sessions:clear() | you must define a new constructor using .new() before running :clear() !")
script:SetAttribute(arg2, "idle")
end
function module_upvr.destroy(arg1, arg2) -- Line 48
assert(arg2, "Sessions:destroy() | string 'constructor' expected, got "..typeof(arg2))
assert(script:GetAttribute(arg2), "Sessions:destroy() | you must define a new constructor using .new() before running :destroy() !")
script:SetAttribute(arg2, nil)
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:54
-- Luau version 6, Types version 3
-- Time taken: 0.014379 seconds
local _engine = _G._engine
local _references_upvr = _G._references
local _services_upvr = _G._services
local menu_upvr = _references_upvr.PlayerGui:WaitForChild("menu", 100)
local module_2_upvr = {}
module_2_upvr.__index = module_2_upvr
local any_load_result1_upvr_2 = _engine:load("BulkFade", "utils")
local any_load_result1_upvr = _engine:load("Maid")
function module_2_upvr.new(arg1, arg2, arg3, arg4) -- Line 23
--[[ Upvalues[4]:
[1]: any_load_result1_upvr_2 (readonly)
[2]: menu_upvr (readonly)
[3]: any_load_result1_upvr (readonly)
[4]: module_2_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local tbl_upvr = {}
if typeof(arg2) == "table" then
local tbl_upvw = {}
for _, v in next, arg2 do
for _, v_2 in next, v:GetDescendants() do
if v_2 then
table.insert(tbl_upvw, v_2)
end
end
end
tbl_upvr.origin = any_load_result1_upvr_2.CreateGroup(tbl_upvw, TweenInfo.new(0.15, Enum.EasingStyle.Quint, Enum.EasingDirection.Out))
for i_3, v_3 in next, arg2 do
v_3.DescendantAdded:Connect(function() -- Line 40
--[[ Upvalues[3]:
[1]: tbl_upvw (read and write)
[2]: arg2 (readonly)
[3]: tbl_upvr (readonly)
]]
tbl_upvw = {}
for _, v_4 in next, arg2 do
for _, v_5 in next, v_4:GetDescendants() do
if v_5 then
table.insert(tbl_upvw, v_5)
end
end
end
tbl_upvr.origin:UpdateGroup(tbl_upvw)
end)
v_3.DescendantRemoving:Connect(function() -- Line 54
--[[ Upvalues[3]:
[1]: tbl_upvw (read and write)
[2]: arg2 (readonly)
[3]: tbl_upvr (readonly)
]]
tbl_upvw = {}
for _, v_6 in next, arg2 do
for _, v_7 in next, v_6:GetDescendants() do
if v_7 then
table.insert(tbl_upvw, v_7)
end
end
end
tbl_upvr.origin:UpdateGroup(tbl_upvw)
end)
local _
end
elseif typeof(arg2) ~= "table" and typeof(arg2) ~= "string" then
i_3 = Enum.EasingStyle.Quint
v_3 = Enum.EasingDirection.Out
tbl_upvr.origin = any_load_result1_upvr_2.CreateGroup(arg2:GetDescendants(), TweenInfo.new(0.15, i_3, v_3))
arg2.DescendantAdded:Connect(function() -- Line 71
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: arg2 (readonly)
]]
tbl_upvr.origin:UpdateGroup(arg2:GetDescendants())
end)
arg2.DescendantRemoving:Connect(function() -- Line 75
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: arg2 (readonly)
]]
tbl_upvr.origin:UpdateGroup(arg2:GetDescendants())
end)
end
tbl_upvr.page = any_load_result1_upvr_2.CreateGroup(menu_upvr.teleport:GetDescendants(), TweenInfo.new(0.2, Enum.EasingStyle.Quint, Enum.EasingDirection.Out))
tbl_upvr.yes = any_load_result1_upvr_2.CreateGroup(menu_upvr.teleport.main.buttons.yes:GetDescendants(), TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut))
tbl_upvr.no = any_load_result1_upvr_2.CreateGroup(menu_upvr.teleport.main.buttons.no:GetDescendants(), TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut))
tbl_upvr.page:FadeOut()
local module = {
event = Instance.new("BindableEvent");
bulkFadeGroups = tbl_upvr;
maid = any_load_result1_upvr.new();
}
module.placeId = arg3
module.core = arg1
module.info = arg4
return setmetatable(module, module_2_upvr)
end
local any_load_result1_upvr_3 = _engine:load("Theme", "utils")
local any_new_result1_upvr = _engine:load("Network").new()
function module_2_upvr.prompt(arg1, arg2, arg3, arg4) -- Line 95
--[[ Upvalues[5]:
[1]: menu_upvr (readonly)
[2]: _references_upvr (readonly)
[3]: _services_upvr (readonly)
[4]: any_load_result1_upvr_3 (readonly)
[5]: any_new_result1_upvr (readonly)
]]
assert(arg1.bulkFadeGroups, "Teleporter [prompt]: Run '.new()' before calling :prompt()!")
arg1.core:SetAttribute("freeze", true)
if arg4 then
arg1.bulkFadeGroups.origin = arg4
end
menu_upvr.teleport.Visible = true
menu_upvr.teleport.main.title.Text = string.upper(arg2 or "teleport")
if arg4 then
arg1.bulkFadeGroups.origin.buttons:FadeOut()
arg1.bulkFadeGroups.origin.profile:FadeOut()
arg1.bulkFadeGroups.origin.origin:FadeOut()
else
arg1.bulkFadeGroups.origin:FadeOut()
end
arg1.bulkFadeGroups.page:FadeIn()
if arg1.info and arg1.info == "server" then
menu_upvr.pages.servers.main:TweenPosition(UDim2.new(0.5, 0, 1.5, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
end
for _, v_8_upvr in next, {"yes", "no"} do
local var60_upvr = menu_upvr.teleport.main.buttons[v_8_upvr]
arg1.maid[v_8_upvr.."_mouseEnter"] = var60_upvr.button.MouseEnter:Connect(function() -- Line 124
--[[ Upvalues[4]:
[1]: _references_upvr (copied, readonly)
[2]: _services_upvr (copied, readonly)
[3]: var60_upvr (readonly)
[4]: any_load_result1_upvr_3 (copied, readonly)
]]
_references_upvr.Main.sounds.UI.Hover:Play()
_services_upvr.TweenService:Create(var60_upvr.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1.03;
}):Play()
_services_upvr.TweenService:Create(var60_upvr.background, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr_3.Accent;
}):Play()
_services_upvr.TweenService:Create(var60_upvr.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr_3.Text;
}):Play()
end)
arg1.maid[v_8_upvr.."_mouseLeave"] = var60_upvr.button.MouseLeave:Connect(function() -- Line 131
--[[ Upvalues[3]:
[1]: _services_upvr (copied, readonly)
[2]: var60_upvr (readonly)
[3]: any_load_result1_upvr_3 (copied, readonly)
]]
_services_upvr.TweenService:Create(var60_upvr.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1;
}):Play()
_services_upvr.TweenService:Create(var60_upvr.background, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr_3.Text;
}):Play()
_services_upvr.TweenService:Create(var60_upvr.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end)
arg1.maid[v_8_upvr.."_mouseButton1Down"] = var60_upvr.button.MouseButton1Down:Connect(function() -- Line 137
--[[ Upvalues[2]:
[1]: _services_upvr (copied, readonly)
[2]: var60_upvr (readonly)
]]
_services_upvr.TweenService:Create(var60_upvr.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Scale = 0.9;
}):Play()
end)
arg1.maid[v_8_upvr.."_inputEnded"] = _services_upvr.UserInputService.InputEnded:Connect(function(arg1_2, arg2_2) -- Line 141
if arg1_2.UserInputType ~= Enum.UserInputType.MouseButton1 then
if arg1_2.UserInputType ~= Enum.UserInputType.Touch then
else
end
end
end)
arg1.maid[v_8_upvr.."_mouseButton1Click"] = var60_upvr.button.MouseButton1Click:Connect(function() -- Line 147
--[[ Upvalues[10]:
[1]: _references_upvr (copied, readonly)
[2]: _services_upvr (copied, readonly)
[3]: var60_upvr (readonly)
[4]: any_load_result1_upvr_3 (copied, readonly)
[5]: arg1 (readonly)
[6]: v_8_upvr (readonly)
[7]: menu_upvr (copied, readonly)
[8]: any_new_result1_upvr (copied, readonly)
[9]: arg3 (readonly)
[10]: arg4 (readonly)
]]
_references_upvr.Main.sounds.UI.Click:Play()
_services_upvr.TweenService:Create(var60_upvr.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1;
}):Play()
_services_upvr.TweenService:Create(var60_upvr.background, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr_3.Text;
}):Play()
_services_upvr.TweenService:Create(var60_upvr.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
arg1.event:Fire(v_8_upvr)
if v_8_upvr == "yes" then
arg1.maid:DoCleaning()
arg1.bulkFadeGroups.yes:FadeOut()
arg1.bulkFadeGroups.no:FadeOut()
menu_upvr.teleport.main.label.Text = "Teleporting to server"
task.wait(0.2)
menu_upvr.teleport.main:TweenSize(UDim2.new(0, 450, 0, 110), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.2, true)
any_new_result1_upvr:send("teleport", arg1.placeId, arg3)
else
arg1.maid:DoCleaning()
arg1.core:SetAttribute("freeze", false)
if arg1.info and arg1.info == "server" then
menu_upvr.pages.servers.main:TweenPosition(UDim2.new(0.5, 0, 0.5, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
end
arg1.bulkFadeGroups.page:FadeOut()
if arg4 then
arg1.bulkFadeGroups.origin.buttons:FadeIn()
arg1.bulkFadeGroups.origin.profile:FadeIn()
arg1.bulkFadeGroups.origin.origin:FadeIn()
else
arg1.bulkFadeGroups.origin:FadeIn()
end
task.wait(0.2)
menu_upvr.teleport.Visible = false
end
end)
end
end
return module_2_upvr
KONSTANTERROR: After: K:0: attempt to index nil with 'debug_name'
K
K
K
K
K
K
K
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:57
-- Luau version 6, Types version 3
-- Time taken: 0.010454 seconds
local _engine = _G._engine
local any_load_result1_upvr = _engine:load("Balls")
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local OverlapParams_new_result1_upvr = OverlapParams.new()
OverlapParams_new_result1_upvr.MaxParts = 1
OverlapParams_new_result1_upvr.FilterType = Enum.RaycastFilterType.Include
OverlapParams_new_result1_upvr.FilterDescendantsInstances = any_load_result1_upvr.GetBalls()
any_load_result1_upvr.BallAdded:Connect(function() -- Line 19
--[[ Upvalues[2]:
[1]: OverlapParams_new_result1_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
]]
OverlapParams_new_result1_upvr.FilterDescendantsInstances = any_load_result1_upvr.GetBalls()
end)
local tbl_3_upvr = {}
local module_upvr_2 = {
useExpensives = false;
correspondingLimbs = {
body = {"Head", "Torso", "UpperTorso", "LowerTorso"};
arms = {"Torso", "RightUpperArm", "RightLowerArm", "RightHand", "LeftUpperArm", "LeftLowerArm", "LeftHand"};
legs = {"Collide", "RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot"};
};
}
module_upvr_2.__index = module_upvr_2
local any_load_result1_upvr_2 = _engine:load("Maid")
function module_upvr_2.new(arg1) -- Line 60
--[[ Upvalues[4]:
[1]: Services_upvr (readonly)
[2]: any_load_result1_upvr_2 (readonly)
[3]: module_upvr_2 (readonly)
[4]: tbl_3_upvr (readonly)
]]
assert(arg1, "HitboxClass.new() | table 'args' expected, got "..typeof(arg1))
assert(Services_upvr.RunService:IsClient(), "HitboxClass | module can only be ran via client-side!")
local tbl = {
hitboxes = {};
}
local limbs = arg1.limbs
if not limbs then
limbs = {}
limbs[1] = "UpperTorso"
end
tbl.limbs = limbs
tbl.limitTrip = arg1.limitTrip
tbl.hit = false
tbl.humanoid = arg1.humanoid or false
tbl.maid = any_load_result1_upvr_2.new()
local callback = arg1.callback
if not callback then
function callback() -- Line 71
end
end
tbl.callback = callback
local setmetatable_result1 = setmetatable(tbl, module_upvr_2)
table.insert(tbl_3_upvr, setmetatable_result1)
return setmetatable_result1
end
function module_upvr_2.onTouched(arg1, arg2, arg3) -- Line 78
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
]]
if arg1.hit then
else
if arg2 and arg2:FindFirstAncestor(LocalPlayer_upvr.Name) then return end
if arg2 and arg2.Parent and arg2.Parent:FindFirstChild("Humanoid") and arg2.Parent ~= LocalPlayer_upvr.Character and arg1.humanoid then
if arg1.limitTrip and table.find(arg1.correspondingLimbs[arg1.limitTrip], arg3.Name) or not arg1.limitTrip then
arg1.hit = true
arg1:clear()
arg1.callback(arg3, arg2, arg2.Parent)
return
end
end
if arg2 and any_load_result1_upvr.IsBall(arg2) then
arg1.hit = true
arg1:clear()
arg1.callback(arg3, arg2)
end
end
end
local module_upvr = require(script:WaitForChild("Raycast", 100))
function module_upvr_2.init(arg1) -- Line 97
--[[ Upvalues[4]:
[1]: LocalPlayer_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
[3]: Services_upvr (readonly)
[4]: module_upvr (readonly)
]]
assert(arg1.maid, "HitboxClass:init() | You must call .new() before running :init() !")
local tbl_2 = {}
for _, v in next, arg1.limbs do
if LocalPlayer_upvr.Character[v] then
table.insert(tbl_2, LocalPlayer_upvr.Character[v])
end
end
for _, v_2 in next, any_load_result1_upvr.GetBalls() do
if v_2 then
table.insert({}, v_2)
end
end
for _, v_3 in next, Services_upvr.Players:GetPlayers() do
if v_3 and v_3 ~= LocalPlayer_upvr and v_3.Character and v_3.Character.Parent then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
table.insert({}, v_3.Character)
end
end
local RaycastParams_new_result1 = RaycastParams.new()
RaycastParams_new_result1.FilterType = Enum.RaycastFilterType.Include
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
RaycastParams_new_result1.FilterDescendantsInstances = {}
local any_new_result1_upvr = module_upvr.new(tbl_2, RaycastParams_new_result1)
if arg1.useExpensives then
any_new_result1_upvr:init()
end
arg1.hitbox = any_new_result1_upvr
any_new_result1_upvr.onHit:Connect(function(arg1_2, arg2) -- Line 134
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:onTouched(arg1_2, arg2)
end)
if not arg1.useExpensives then
for _, v_4_upvr in next, tbl_2 do
if v_4_upvr and v_4_upvr.Parent then
for _, v_5 in next, v_4_upvr:GetTouchingParts() do
if v_5 then
any_new_result1_upvr.onHit:Fire(v_5, v_4_upvr)
end
end
arg1.maid[v_4_upvr.Name.."onTouched"] = v_4_upvr.Touched:Connect(function(arg1_3) -- Line 147
--[[ Upvalues[2]:
[1]: any_new_result1_upvr (readonly)
[2]: v_4_upvr (readonly)
]]
any_new_result1_upvr.onHit:Fire(arg1_3, v_4_upvr)
end)
arg1.maid[v_4_upvr.Name.."onTouchEnded"] = v_4_upvr.TouchEnded:Connect(function(arg1_4) -- Line 151
--[[ Upvalues[2]:
[1]: any_new_result1_upvr (readonly)
[2]: v_4_upvr (readonly)
]]
any_new_result1_upvr.onHit:Fire(arg1_4, v_4_upvr)
end)
end
end
end
end
function module_upvr_2.clear(arg1) -- Line 159
--[[ Upvalues[1]:
[1]: tbl_3_upvr (readonly)
]]
arg1.maid:DoCleaning()
arg1.hitbox:clear()
if table.find(tbl_3_upvr, arg1) then
table.remove(tbl_3_upvr, table.find(tbl_3_upvr, arg1))
end
end
function module_upvr_2.clearAll(arg1) -- Line 168
--[[ Upvalues[1]:
[1]: tbl_3_upvr (readonly)
]]
for _, v_6 in next, tbl_3_upvr do
if v_6 then
v_6:clear()
end
end
table.clear(tbl_3_upvr)
end
return module_upvr_2
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:58
-- Luau version 6, Types version 3
-- Time taken: 0.004521 seconds
local module_upvr = {}
module_upvr.__index = module_upvr
local any_load_result1_upvr = _G._engine:load("GoodSignal")
local any_load_result1_upvr_2 = _G._engine:load("Maid")
function module_upvr.new(arg1, arg2) -- Line 7
--[[ Upvalues[3]:
[1]: any_load_result1_upvr (readonly)
[2]: any_load_result1_upvr_2 (readonly)
[3]: module_upvr (readonly)
]]
local var4
if typeof(arg1) ~= "table" then
var4 = false
else
var4 = true
end
assert(var4, "RaycastHitbox.new() | table 'parts' expected, got "..typeof(arg1))
local var5 = arg2
if not var5 then
var5 = RaycastParams.new()
end
var4 = {}
var4.onHit = any_load_result1_upvr.new(1)
var4.maid = any_load_result1_upvr_2.new()
var4.parts = arg1
var4.raycastParams = var5
return setmetatable(var4, module_upvr)
end
function module_upvr.init(arg1) -- Line 19
arg1.maid.renderStepped = _G._services.RunService.RenderStepped:Connect(function() -- Line 20
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
for _, v in next, arg1.parts do
if v and v.Parent then
({})[v] = {workspace:Raycast(v.Position, (v.CFrame.LookVector) * (v.Size.Z / 2), arg1.raycastParams), workspace:Raycast(v.Position, v.CFrame.LookVector * -(v.Size.Z / 2), arg1.raycastParams), workspace:Raycast(v.Position, (v.CFrame.RightVector) * (v.Size.X / 2), arg1.raycastParams), workspace:Raycast(v.Position, v.CFrame.RightVector * -(v.Size.X / 2), arg1.raycastParams), workspace:Raycast(v.Position, (v.CFrame.UpVector) * (v.Size.Y / 2), arg1.raycastParams), workspace:Raycast(v.Position, v.CFrame.UpVector * -(v.Size.Y / 2), arg1.raycastParams)}
end
end
for i_2, v_2 in next, {} do
if i_2 and v_2 then
for _, v_3 in next, v_2 do
if v_3 and v_3.Instance then
arg1.onHit:Fire(v_3.Instance, i_2)
arg1:clear()
end
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
end
end)
end
function module_upvr.clear(arg1) -- Line 51
arg1.maid:DoCleaning()
if arg1.onHit then
arg1.onHit:Destroy()
end
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:55:59
-- Luau version 6, Types version 3
-- Time taken: 0.004894 seconds
local var1_upvw
local function acquireRunnerThreadAndCallEventHandler_upvr(arg1, ...) -- Line 35, Named "acquireRunnerThreadAndCallEventHandler"
--[[ Upvalues[1]:
[1]: var1_upvw (read and write)
]]
var1_upvw = nil
arg1(...)
var1_upvw = var1_upvw
end
local function runEventHandlerInFreeThread_upvr(...) -- Line 46, Named "runEventHandlerInFreeThread"
--[[ Upvalues[1]:
[1]: acquireRunnerThreadAndCallEventHandler_upvr (readonly)
]]
acquireRunnerThreadAndCallEventHandler_upvr(...)
while true do
acquireRunnerThreadAndCallEventHandler_upvr(coroutine.yield())
end
end
local tbl_upvr = {}
tbl_upvr.__index = tbl_upvr
local function new(arg1, arg2) -- Line 57
--[[ Upvalues[1]:
[1]: tbl_upvr (readonly)
]]
local module = {
_connected = true;
}
module._signal = arg1
module._fn = arg2
module._next = false
return setmetatable(module, tbl_upvr)
end
tbl_upvr.new = new
function tbl_upvr.Disconnect(arg1) -- Line 66
assert(arg1._connected, "Can't disconnect a connection twice.", 2)
arg1._connected = false
local var4
if var4 == arg1 then
var4 = arg1._signal
var4._handlerListHead = arg1._next
else
var4 = arg1._signal._handlerListHead
while var4 and var4._next ~= arg1 do
var4 = var4._next
end
if var4 then
var4._next = arg1._next
end
end
end
local tbl = {}
local function __index(arg1, arg2) -- Line 89
error("Attempt to get Connection::%s (not a valid member)":format(tostring(arg2)), 2)
end
tbl.__index = __index
local function __newindex(arg1, arg2, arg3) -- Line 92
error("Attempt to set Connection::%s (not a valid member)":format(tostring(arg2)), 2)
end
tbl.__newindex = __newindex
setmetatable(tbl_upvr, tbl)
local module_2_upvr = {}
module_2_upvr.__index = module_2_upvr
function module_2_upvr.new(arg1) -- Line 101
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
local module_3 = {
_handlerListHead = false;
}
module_3._signalType = arg1
return setmetatable(module_3, module_2_upvr)
end
function module_2_upvr.Connect(arg1, arg2) -- Line 108
--[[ Upvalues[1]:
[1]: tbl_upvr (readonly)
]]
local any_new_result1 = tbl_upvr.new(arg1, arg2)
if arg1._signalType == 1 and arg1._handlerListHead then
any_new_result1._next = arg1._handlerListHead
arg1._handlerListHead = any_new_result1
return any_new_result1
end
arg1._handlerListHead = any_new_result1
return any_new_result1
end
function module_2_upvr.Destroy(arg1) -- Line 123
arg1._handlerListHead = false
end
function module_2_upvr.Fire(arg1, ...) -- Line 131
--[[ Upvalues[2]:
[1]: var1_upvw (read and write)
[2]: runEventHandlerInFreeThread_upvr (readonly)
]]
local _handlerListHead = arg1._handlerListHead
while _handlerListHead do
if _handlerListHead._connected then
if not var1_upvw then
var1_upvw = coroutine.create(runEventHandlerInFreeThread_upvr)
end
task.spawn(var1_upvw, _handlerListHead._fn, ...)
end
end
end
function module_2_upvr.Wait(arg1) -- Line 146
local var11_upvw
local current_thread_upvr = coroutine.running()
var11_upvw = arg1:Connect(function(...) -- Line 149
--[[ Upvalues[2]:
[1]: var11_upvw (read and write)
[2]: current_thread_upvr (readonly)
]]
var11_upvw:Disconnect()
task.spawn(current_thread_upvr, ...)
end)
return coroutine.yield()
end
setmetatable(module_2_upvr, {
__index = function(arg1, arg2) -- Line 158, Named "__index"
error("Attempt to get Signal::%s (not a valid member)":format(tostring(arg2)), 2)
end;
__newindex = function(arg1, arg2, arg3) -- Line 161, Named "__newindex"
error("Attempt to set Signal::%s (not a valid member)":format(tostring(arg2)), 2)
end;
})
return module_2_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:56:02
-- Luau version 6, Types version 3
-- Time taken: 0.227938 seconds
local TweenService_upvr = game:GetService("TweenService")
local UserInputService_upvr = game:GetService("UserInputService")
local TextService_upvr = game:GetService("TextService")
local IconController_upvr = require(script.IconController)
local Signal_upvr = require(script.Signal)
local Maid_upvr = require(script.Maid)
local TopbarPlusGui_upvr = require(script.TopbarPlusGui)
local TopbarPlusReference = require(script.TopbarPlusReference)
local any_getObject_result1 = TopbarPlusReference.getObject()
local ActiveItems_upvr = TopbarPlusGui_upvr.ActiveItems
local TopbarContainer_upvr = TopbarPlusGui_upvr.TopbarContainer
local tbl_7_upvr = {}
local var13_upvr
local function INLINED() -- Internal function, doesn't exist in bytecode
var13_upvr = require(any_getObject_result1.Value)
return var13_upvr
end
if not any_getObject_result1 or not INLINED() then
var13_upvr = {}
end
var13_upvr.__index = var13_upvr
if not any_getObject_result1 then
TopbarPlusReference.addToReplicatedStorage()
end
local IconContainer_upvr = TopbarContainer_upvr.IconContainer
local StarterGui_upvr = game:GetService("StarterGui")
local Default_upvr = require(script.Themes).Default
local RunService_upvr = game:GetService("RunService")
function var13_upvr.new() -- Line 605
--[[ Upvalues[12]:
[1]: var13_upvr (readonly)
[2]: Maid_upvr (readonly)
[3]: IconContainer_upvr (readonly)
[4]: TopbarContainer_upvr (readonly)
[5]: tbl_7_upvr (readonly)
[6]: StarterGui_upvr (readonly)
[7]: IconController_upvr (readonly)
[8]: TweenService_upvr (readonly)
[9]: Signal_upvr (readonly)
[10]: Default_upvr (readonly)
[11]: UserInputService_upvr (readonly)
[12]: RunService_upvr (readonly)
]]
local module_upvr = {}
setmetatable(module_upvr, var13_upvr)
local any_new_result1 = Maid_upvr.new()
module_upvr._maid = any_new_result1
module_upvr._hoveringMaid = any_new_result1:give(Maid_upvr.new())
module_upvr._dropdownClippingMaid = any_new_result1:give(Maid_upvr.new())
module_upvr._menuClippingMaid = any_new_result1:give(Maid_upvr.new())
local tbl_12_upvr = {}
module_upvr.instances = tbl_12_upvr
local any_give_result1 = any_new_result1:give(IconContainer_upvr:Clone())
any_give_result1.Visible = true
any_give_result1.Parent = TopbarContainer_upvr
tbl_12_upvr.iconContainer = any_give_result1
tbl_12_upvr.iconButton = any_give_result1.IconButton
tbl_12_upvr.iconImage = tbl_12_upvr.iconButton.IconImage
tbl_12_upvr.iconLabel = tbl_12_upvr.iconButton.IconLabel
tbl_12_upvr.iconGradient = tbl_12_upvr.iconButton.IconGradient
tbl_12_upvr.iconCorner = tbl_12_upvr.iconButton.IconCorner
tbl_12_upvr.iconOverlay = any_give_result1.IconOverlay
tbl_12_upvr.iconOverlayCorner = tbl_12_upvr.iconOverlay.IconOverlayCorner
tbl_12_upvr.noticeFrame = tbl_12_upvr.iconButton.NoticeFrame
tbl_12_upvr.noticeLabel = tbl_12_upvr.noticeFrame.NoticeLabel
tbl_12_upvr.captionContainer = any_give_result1.CaptionContainer
tbl_12_upvr.captionFrame = tbl_12_upvr.captionContainer.CaptionFrame
tbl_12_upvr.captionLabel = tbl_12_upvr.captionContainer.CaptionLabel
tbl_12_upvr.captionCorner = tbl_12_upvr.captionFrame.CaptionCorner
tbl_12_upvr.captionOverlineContainer = tbl_12_upvr.captionContainer.CaptionOverlineContainer
tbl_12_upvr.captionOverline = tbl_12_upvr.captionOverlineContainer.CaptionOverline
tbl_12_upvr.captionOverlineCorner = tbl_12_upvr.captionOverline.CaptionOverlineCorner
tbl_12_upvr.captionVisibilityBlocker = tbl_12_upvr.captionFrame.CaptionVisibilityBlocker
tbl_12_upvr.captionVisibilityCorner = tbl_12_upvr.captionVisibilityBlocker.CaptionVisibilityCorner
tbl_12_upvr.tipFrame = any_give_result1.TipFrame
tbl_12_upvr.tipLabel = tbl_12_upvr.tipFrame.TipLabel
tbl_12_upvr.tipCorner = tbl_12_upvr.tipFrame.TipCorner
tbl_12_upvr.dropdownContainer = any_give_result1.DropdownContainer
tbl_12_upvr.dropdownFrame = tbl_12_upvr.dropdownContainer.DropdownFrame
tbl_12_upvr.dropdownList = tbl_12_upvr.dropdownFrame.DropdownList
tbl_12_upvr.menuContainer = any_give_result1.MenuContainer
tbl_12_upvr.menuFrame = tbl_12_upvr.menuContainer.MenuFrame
tbl_12_upvr.menuList = tbl_12_upvr.menuFrame.MenuList
tbl_12_upvr.clickSound = any_give_result1.ClickSound
module_upvr._settings = {
action = {
toggleTransitionInfo = {};
resizeInfo = {};
repositionInfo = {};
captionFadeInfo = {};
tipFadeInfo = {};
dropdownSlideInfo = {};
menuSlideInfo = {};
};
toggleable = {
iconBackgroundColor = {
instanceNames = {"iconButton"};
propertyName = "BackgroundColor3";
};
iconBackgroundTransparency = {
instanceNames = {"iconButton"};
propertyName = "BackgroundTransparency";
};
iconCornerRadius = {
instanceNames = {"iconCorner", "iconOverlayCorner"};
propertyName = "CornerRadius";
};
iconGradientColor = {
instanceNames = {"iconGradient"};
propertyName = "Color";
};
iconGradientRotation = {
instanceNames = {"iconGradient"};
propertyName = "Rotation";
};
iconImage = {
callMethods = {module_upvr._updateIconSize};
instanceNames = {"iconImage"};
propertyName = "Image";
};
iconImageColor = {
instanceNames = {"iconImage"};
propertyName = "ImageColor3";
};
iconImageTransparency = {
instanceNames = {"iconImage"};
propertyName = "ImageTransparency";
};
iconScale = {
instanceNames = {"iconButton"};
propertyName = "Size";
};
forcedIconSize = {};
iconSize = {
callSignals = {module_upvr.updated};
callMethods = {module_upvr._updateIconSize};
instanceNames = {"iconContainer"};
propertyName = "Size";
tweenAction = "resizeInfo";
};
iconOffset = {
instanceNames = {"iconButton"};
propertyName = "Position";
};
iconText = {
callMethods = {module_upvr._updateIconSize};
instanceNames = {"iconLabel"};
propertyName = "Text";
};
iconTextColor = {
instanceNames = {"iconLabel"};
propertyName = "TextColor3";
};
iconFont = {
instanceNames = {"iconLabel"};
propertyName = "Font";
};
iconImageYScale = {
callMethods = {module_upvr._updateIconSize};
};
iconImageRatio = {
callMethods = {module_upvr._updateIconSize};
};
iconLabelYScale = {
callMethods = {module_upvr._updateIconSize};
};
noticeCircleColor = {
instanceNames = {"noticeFrame"};
propertyName = "ImageColor3";
};
noticeCircleImage = {
instanceNames = {"noticeFrame"};
propertyName = "Image";
};
noticeTextColor = {
instanceNames = {"noticeLabel"};
propertyName = "TextColor3";
};
noticeImageTransparency = {
instanceNames = {"noticeFrame"};
propertyName = "ImageTransparency";
};
noticeTextTransparency = {
instanceNames = {"noticeLabel"};
propertyName = "TextTransparency";
};
baseZIndex = {
callMethods = {module_upvr._updateBaseZIndex};
};
order = {
callSignals = {module_upvr.updated};
instanceNames = {"iconContainer"};
propertyName = "LayoutOrder";
};
alignment = {
callSignals = {module_upvr.updated};
callMethods = {module_upvr._updateDropdown};
};
iconImageVisible = {
instanceNames = {"iconImage"};
propertyName = "Visible";
};
iconImageAnchorPoint = {
instanceNames = {"iconImage"};
propertyName = "AnchorPoint";
};
iconImagePosition = {
instanceNames = {"iconImage"};
propertyName = "Position";
tweenAction = "resizeInfo";
};
iconImageSize = {
instanceNames = {"iconImage"};
propertyName = "Size";
tweenAction = "resizeInfo";
};
iconImageTextXAlignment = {
instanceNames = {"iconImage"};
propertyName = "TextXAlignment";
};
iconLabelVisible = {
instanceNames = {"iconLabel"};
propertyName = "Visible";
};
iconLabelAnchorPoint = {
instanceNames = {"iconLabel"};
propertyName = "AnchorPoint";
};
iconLabelPosition = {
instanceNames = {"iconLabel"};
propertyName = "Position";
tweenAction = "resizeInfo";
};
iconLabelSize = {
instanceNames = {"iconLabel"};
propertyName = "Size";
tweenAction = "resizeInfo";
};
iconLabelTextXAlignment = {
instanceNames = {"iconLabel"};
propertyName = "TextXAlignment";
};
iconLabelTextSize = {
instanceNames = {"iconLabel"};
propertyName = "TextSize";
};
noticeFramePosition = {
instanceNames = {"noticeFrame"};
propertyName = "Position";
};
clickSoundId = {
instanceNames = {"clickSound"};
propertyName = "SoundId";
};
clickVolume = {
instanceNames = {"clickSound"};
propertyName = "Volume";
};
clickPlaybackSpeed = {
instanceNames = {"clickSound"};
propertyName = "PlaybackSpeed";
};
clickTimePosition = {
instanceNames = {"clickSound"};
propertyName = "TimePosition";
};
};
other = {
captionBackgroundColor = {
instanceNames = {"captionFrame"};
propertyName = "BackgroundColor3";
};
captionBackgroundTransparency = {
instanceNames = {"captionFrame"};
propertyName = "BackgroundTransparency";
group = "caption";
};
captionBlockerTransparency = {
instanceNames = {"captionVisibilityBlocker"};
propertyName = "BackgroundTransparency";
group = "caption";
};
captionOverlineColor = {
instanceNames = {"captionOverline"};
propertyName = "BackgroundColor3";
};
captionOverlineTransparency = {
instanceNames = {"captionOverline"};
propertyName = "BackgroundTransparency";
group = "caption";
};
captionTextColor = {
instanceNames = {"captionLabel"};
propertyName = "TextColor3";
};
captionTextTransparency = {
instanceNames = {"captionLabel"};
propertyName = "TextTransparency";
group = "caption";
};
captionFont = {
instanceNames = {"captionLabel"};
propertyName = "Font";
};
captionCornerRadius = {
instanceNames = {"captionCorner", "captionOverlineCorner", "captionVisibilityCorner"};
propertyName = "CornerRadius";
};
tipBackgroundColor = {
instanceNames = {"tipFrame"};
propertyName = "BackgroundColor3";
};
tipBackgroundTransparency = {
instanceNames = {"tipFrame"};
propertyName = "BackgroundTransparency";
group = "tip";
};
tipTextColor = {
instanceNames = {"tipLabel"};
propertyName = "TextColor3";
};
tipTextTransparency = {
instanceNames = {"tipLabel"};
propertyName = "TextTransparency";
group = "tip";
};
tipFont = {
instanceNames = {"tipLabel"};
propertyName = "Font";
};
tipCornerRadius = {
instanceNames = {"tipCorner"};
propertyName = "CornerRadius";
};
dropdownSize = {
instanceNames = {"dropdownContainer"};
propertyName = "Size";
unique = "dropdown";
};
dropdownCanvasSize = {
instanceNames = {"dropdownFrame"};
propertyName = "CanvasSize";
};
dropdownMaxIconsBeforeScroll = {
callMethods = {module_upvr._updateDropdown};
};
dropdownMinWidth = {
callMethods = {module_upvr._updateDropdown};
};
dropdownSquareCorners = {
callMethods = {module_upvr._updateDropdown};
};
dropdownBindToggleToIcon = {};
dropdownToggleOnLongPress = {};
dropdownToggleOnRightClick = {};
dropdownCloseOnTapAway = {};
dropdownHidePlayerlistOnOverlap = {};
dropdownListPadding = {
callMethods = {module_upvr._updateDropdown};
instanceNames = {"dropdownList"};
propertyName = "Padding";
};
dropdownAlignment = {
callMethods = {module_upvr._updateDropdown};
};
dropdownScrollBarColor = {
instanceNames = {"dropdownFrame"};
propertyName = "ScrollBarImageColor3";
};
dropdownScrollBarTransparency = {
instanceNames = {"dropdownFrame"};
propertyName = "ScrollBarImageTransparency";
};
dropdownScrollBarThickness = {
instanceNames = {"dropdownFrame"};
propertyName = "ScrollBarThickness";
};
dropdownIgnoreClipping = {
callMethods = {module_upvr._dropdownIgnoreClipping};
};
menuSize = {
instanceNames = {"menuContainer"};
propertyName = "Size";
unique = "menu";
};
menuCanvasSize = {
instanceNames = {"menuFrame"};
propertyName = "CanvasSize";
};
menuMaxIconsBeforeScroll = {
callMethods = {module_upvr._updateMenu};
};
menuBindToggleToIcon = {};
menuToggleOnLongPress = {};
menuToggleOnRightClick = {};
menuCloseOnTapAway = {};
menuListPadding = {
callMethods = {module_upvr._updateMenu};
instanceNames = {"menuList"};
propertyName = "Padding";
};
menuDirection = {
callMethods = {module_upvr._updateMenu};
};
menuScrollBarColor = {
instanceNames = {"menuFrame"};
propertyName = "ScrollBarImageColor3";
};
menuScrollBarTransparency = {
instanceNames = {"menuFrame"};
propertyName = "ScrollBarImageTransparency";
};
menuScrollBarThickness = {
instanceNames = {"menuFrame"};
propertyName = "ScrollBarThickness";
};
menuIgnoreClipping = {
callMethods = {module_upvr._menuIgnoreClipping};
};
};
}
module_upvr._groupSettings = {}
for _, v in pairs(module_upvr._settings) do
for i_2, v_2 in pairs(v) do
local group = v_2.group
if group then
local var209 = module_upvr._groupSettings[group]
if not var209 then
var209 = {}
module_upvr._groupSettings[group] = var209
end
table.insert(var209, i_2)
v_2.forcedGroupValue = tbl_7_upvr[group]
v_2.useForcedGroupValue = true
end
end
end
module_upvr._settingsDictionary = {}
module_upvr._uniqueSettings = {}
module_upvr._uniqueSettingsDictionary = {}
module_upvr.uniqueValues = {}
for i_3, v_3 in pairs(module_upvr._settings) do
for i_4, v_4 in pairs(v_3) do
if i_3 == "toggleable" then
if not v_4.values then
end
v_4.values = {
deselected = nil;
selected = nil;
}
else
v_4.value = nil
end
v_4.additionalValues = {}
v_4.type = i_3
module_upvr._settingsDictionary[i_4] = v_4
local unique = v_4.unique
if unique then
local var261 = module_upvr._uniqueSettings[unique]
if not var261 then
var261 = {}
end
table.insert(var261, i_4)
module_upvr._uniqueSettings[unique] = var261
module_upvr._uniqueSettingsDictionary[i_4] = ({
dropdown = function(arg1, arg2, arg3, arg4) -- Line 783
--[[ Upvalues[4]:
[1]: module_upvr (readonly)
[2]: StarterGui_upvr (copied, readonly)
[3]: IconController_upvr (copied, readonly)
[4]: TweenService_upvr (copied, readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var223
if module_upvr:get("dropdownHidePlayerlistOnOverlap") == true then
if module_upvr:get("alignment") ~= "right" then
else
end
end
var223 = not module_upvr.isSelected
if module_upvr:get("dropdownBindToggleToIcon") == false then
var223 = not module_upvr.dropdownOpen
end
if not module_upvr._longPressing then
local _rightClicking = module_upvr._rightClicking
end
local var225
local function INLINED_5() -- Internal function, doesn't exist in bytecode
var225 = module_upvr
return var225.dropdownOpen
end
if module_upvr._tappingAway or var223 and not _rightClicking or _rightClicking and INLINED_5() then
local any_get_result1_6 = module_upvr:get("dropdownSize")
local function INLINED_6() -- Internal function, doesn't exist in bytecode
var225 = any_get_result1_6.X.Offset / 1
return var225
end
if not any_get_result1_6 or not INLINED_6() then
var225 = 0
end
local var227 = false
end
var225 = module_upvr.dropdownIcons
var225 = 0
if var225 < #var225 then
local var228
if var227 and true then
if StarterGui_upvr:GetCoreGuiEnabled(Enum.CoreGuiType.PlayerList) then
StarterGui_upvr:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, false)
end
local function INLINED_7() -- Internal function, doesn't exist in bytecode
var228 = IconController_upvr._bringBackPlayerlist + 1
return var228
end
if not IconController_upvr._bringBackPlayerlist or not INLINED_7() then
var228 = 1
end
IconController_upvr._bringBackPlayerlist = var228
var228 = true
module_upvr._bringBackPlayerlist = var228
-- KONSTANTWARNING: GOTO [166] #126
end
end
if module_upvr._bringBackPlayerlist and not var227 then
if IconController_upvr._bringBackPlayerlist then
local var229 = IconController_upvr
var229._bringBackPlayerlist -= 1
if IconController_upvr._bringBackPlayerlist <= 0 then
IconController_upvr._bringBackPlayerlist = nil
StarterGui_upvr:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, true)
end
module_upvr._bringBackPlayerlist = nil
end
end
local any_Create_result1_3 = TweenService_upvr:Create(arg2, module_upvr:get("dropdownSlideInfo"), {
[arg3] = UDim2.new(0, var225, 0, 0);
})
local var233_upvw
var233_upvw = any_Create_result1_3.Completed:Connect(function() -- Line 818
--[[ Upvalues[1]:
[1]: var233_upvw (read and write)
]]
var233_upvw:Disconnect()
end)
any_Create_result1_3:Play()
if var227 then
module_upvr.instances.dropdownFrame.CanvasPosition = module_upvr._dropdownCanvasPos
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
module_upvr._dropdownCanvasPos = module_upvr.instances.dropdownFrame.CanvasPosition
end
module_upvr.dropdownOpen = var227
module_upvr:_decideToCallSignal("dropdown")
end;
menu = function(arg1, arg2, arg3, arg4) -- Line 831
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: TweenService_upvr (copied, readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 39 start (CF ANALYSIS FAILED)
local any_get_result1_7 = module_upvr:get("menuSlideInfo")
local var245
if module_upvr:get("menuBindToggleToIcon") == false then
var245 = not module_upvr.menuOpen
end
if not module_upvr._longPressing then
local _rightClicking_4 = module_upvr._rightClicking
end
local var247_upvw
local function INLINED_10() -- Internal function, doesn't exist in bytecode
var247_upvw = module_upvr
return var247_upvw.menuOpen
end
if module_upvr._tappingAway or var245 and not _rightClicking_4 or _rightClicking_4 and INLINED_10() then
local any_get_result1_11 = module_upvr:get("menuSize")
local function INLINED_11() -- Internal function, doesn't exist in bytecode
var247_upvw = any_get_result1_11.Y.Offset / 1
return var247_upvw
end
if not any_get_result1_11 or not INLINED_11() then
var247_upvw = 0
end
local var249 = false
end
var247_upvw = module_upvr
if var249 ~= var247_upvw.menuOpen then
var247_upvw = module_upvr
var247_upvw.updated:Fire()
end
if var249 then
var247_upvw = Enum.EasingDirection.Out
if any_get_result1_7.EasingDirection == var247_upvw then
var247_upvw = any_get_result1_7.Time
end
end
local any_Create_result1 = TweenService_upvr:Create(arg2, TweenInfo.new(var247_upvw, any_get_result1_7.EasingStyle, Enum.EasingDirection.In), {
[arg3] = UDim2.new(0, 0, 0, var247_upvw);
})
var247_upvw = nil
var247_upvw = any_Create_result1.Completed:Connect(function() -- Line 857
--[[ Upvalues[1]:
[1]: var247_upvw (read and write)
]]
var247_upvw:Disconnect()
end)
any_Create_result1:Play()
if var249 then
if module_upvr._menuCanvasPos then
module_upvr.instances.menuFrame.CanvasPosition = module_upvr._menuCanvasPos
-- KONSTANTWARNING: GOTO [137] #100
end
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
module_upvr._menuCanvasPos = module_upvr.instances.menuFrame.CanvasPosition
end
-- KONSTANTERROR: [0] 1. Error Block 39 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [137] 100. Error Block 26 start (CF ANALYSIS FAILED)
module_upvr.menuOpen = var249
module_upvr:_decideToCallSignal("menu")
-- KONSTANTERROR: [137] 100. Error Block 26 end (CF ANALYSIS FAILED)
end;
})[unique]
end
end
end
module_upvr.updated = any_new_result1:give(Signal_upvr.new())
module_upvr.selected = any_new_result1:give(Signal_upvr.new())
module_upvr.deselected = any_new_result1:give(Signal_upvr.new())
module_upvr.toggled = any_new_result1:give(Signal_upvr.new())
module_upvr.hoverStarted = any_new_result1:give(Signal_upvr.new())
module_upvr.hoverEnded = any_new_result1:give(Signal_upvr.new())
module_upvr.dropdownOpened = any_new_result1:give(Signal_upvr.new())
module_upvr.dropdownClosed = any_new_result1:give(Signal_upvr.new())
module_upvr.menuOpened = any_new_result1:give(Signal_upvr.new())
module_upvr.menuClosed = any_new_result1:give(Signal_upvr.new())
module_upvr.notified = any_new_result1:give(Signal_upvr.new())
module_upvr._endNotices = any_new_result1:give(Signal_upvr.new())
module_upvr._ignoreClippingChanged = any_new_result1:give(Signal_upvr.new())
local function setFeatureChange_upvr(arg1, arg2) -- Line 915, Named "setFeatureChange"
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
local _parentIcon_3 = module_upvr._parentIcon
module_upvr:set(arg1.."IgnoreClipping", arg2)
if arg2 == true and _parentIcon_3 then
local var265_upvw
local any_Connect_result1_upvr = _parentIcon_3._ignoreClippingChanged:Connect(function(arg1_2, arg2_2) -- Line 919
--[[ Upvalues[2]:
[1]: module_upvr (copied, readonly)
[2]: arg1 (readonly)
]]
module_upvr:set(arg1.."IgnoreClipping", arg2_2)
end)
var265_upvw = module_upvr[arg1.."Closed"]:Connect(function() -- Line 923
--[[ Upvalues[2]:
[1]: var265_upvw (read and write)
[2]: any_Connect_result1_upvr (readonly)
]]
var265_upvw:Disconnect()
any_Connect_result1_upvr:Disconnect()
end)
end
end
module_upvr.dropdownOpened:Connect(function() -- Line 929
--[[ Upvalues[1]:
[1]: setFeatureChange_upvr (readonly)
]]
setFeatureChange_upvr("dropdown", true)
end)
module_upvr.dropdownClosed:Connect(function() -- Line 932
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
module_upvr:set("dropdownIgnoreClipping", false)
end)
module_upvr.menuOpened:Connect(function() -- Line 935
--[[ Upvalues[1]:
[1]: setFeatureChange_upvr (readonly)
]]
setFeatureChange_upvr("menu", true)
end)
module_upvr.menuClosed:Connect(function() -- Line 938
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
module_upvr:set("menuIgnoreClipping", false)
end)
module_upvr.deselectWhenOtherIconSelected = true
module_upvr.name = ""
module_upvr.isSelected = false
module_upvr.presentOnTopbar = true
module_upvr.accountForWhenDisabled = false
module_upvr.enabled = true
module_upvr.hovering = false
module_upvr.tipText = nil
module_upvr.captionText = nil
module_upvr.totalNotices = 0
module_upvr.notices = {}
module_upvr.dropdownIcons = {}
module_upvr.menuIcons = {}
module_upvr.dropdownOpen = false
module_upvr.menuOpen = false
module_upvr.locked = false
module_upvr.topPadding = UDim.new(0, 4)
module_upvr.targetPosition = nil
module_upvr.toggleItems = {}
module_upvr.lockedSettings = {}
module_upvr._draggingFinger = false
module_upvr._updatingIconSize = true
module_upvr._previousDropdownOpen = false
module_upvr._previousMenuOpen = false
module_upvr._bindedToggleKeys = {}
module_upvr._bindedEvents = {}
module_upvr:setName("UnnamedIcon")
module_upvr:setTheme(Default_upvr, true)
tbl_12_upvr.iconButton.MouseButton1Click:Connect(function() -- Line 988
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.isSelected then
module_upvr:deselect()
return true
end
module_upvr:select()
end)
tbl_12_upvr.iconButton.MouseButton2Click:Connect(function() -- Line 995
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
module_upvr._rightClicking = true
if module_upvr:get("dropdownToggleOnRightClick") == true then
module_upvr:_update("dropdownSize")
end
if module_upvr:get("menuToggleOnRightClick") == true then
module_upvr:_update("menuSize")
end
module_upvr._rightClicking = false
end)
tbl_12_upvr.iconButton.MouseButton1Down:Connect(function() -- Line 1007
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.locked then
else
module_upvr:_updateStateOverlay(0.7, Color3.new(0, 0, 0))
end
end)
tbl_12_upvr.iconButton.MouseButton1Up:Connect(function() -- Line 1011
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.locked then
else
module_upvr:_updateStateOverlay(0.9, Color3.new(1, 1, 1))
end
end)
UserInputService_upvr.InputBegan:Connect(function(arg1, arg2) -- Line 1017
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if not arg2 and ({
[Enum.UserInputType.MouseButton1] = true;
[Enum.UserInputType.MouseButton2] = true;
[Enum.UserInputType.MouseButton3] = true;
[Enum.UserInputType.Touch] = true;
})[arg1.UserInputType] then
module_upvr._tappingAway = true
if module_upvr.dropdownOpen and module_upvr:get("dropdownCloseOnTapAway") == true then
module_upvr:_update("dropdownSize")
end
if module_upvr.menuOpen and module_upvr:get("menuCloseOnTapAway") == true then
module_upvr:_update("menuSize")
end
module_upvr._tappingAway = false
end
if module_upvr._bindedToggleKeys[arg1.KeyCode] and not arg2 then
if module_upvr.isSelected then
module_upvr:deselect()
return
end
module_upvr:select()
end
end)
module_upvr.hoverStarted:Connect(function(arg1, arg2) -- Line 1048
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
module_upvr.hovering = true
if not module_upvr.locked then
module_upvr:_updateStateOverlay(0.9, Color3.fromRGB(255, 255, 255))
end
module_upvr:_updateHovering()
end)
module_upvr.hoverEnded:Connect(function() -- Line 1055
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
module_upvr.hovering = false
module_upvr:_updateStateOverlay(1)
module_upvr._hoveringMaid:clean()
module_upvr:_updateHovering()
end)
tbl_12_upvr.iconButton.MouseEnter:Connect(function(arg1, arg2) -- Line 1061
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
module_upvr.hoverStarted:Fire(arg1, arg2)
end)
tbl_12_upvr.iconButton.MouseLeave:Connect(function() -- Line 1064
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
module_upvr.hoverEnded:Fire()
end)
tbl_12_upvr.iconButton.SelectionGained:Connect(function() -- Line 1067
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
module_upvr.hoverStarted:Fire()
end)
tbl_12_upvr.iconButton.SelectionLost:Connect(function() -- Line 1070
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
module_upvr.hoverEnded:Fire()
end)
tbl_12_upvr.iconButton.MouseButton1Down:Connect(function() -- Line 1073
--[[ Upvalues[3]:
[1]: module_upvr (readonly)
[2]: RunService_upvr (copied, readonly)
[3]: tbl_12_upvr (readonly)
]]
if module_upvr._draggingFinger then
module_upvr.hoverStarted:Fire()
end
local var284_upvw
local var286_upvr = tick() + 0.7
local var287_upvw
var287_upvw = RunService_upvr.Heartbeat:Connect(function() -- Line 1082
--[[ Upvalues[4]:
[1]: var286_upvr (readonly)
[2]: var284_upvw (read and write)
[3]: var287_upvw (read and write)
[4]: module_upvr (copied, readonly)
]]
if var286_upvr <= tick() then
var284_upvw:Disconnect()
var287_upvw:Disconnect()
module_upvr._longPressing = true
if module_upvr:get("dropdownToggleOnLongPress") == true then
module_upvr:_update("dropdownSize")
end
if module_upvr:get("menuToggleOnLongPress") == true then
module_upvr:_update("menuSize")
end
module_upvr._longPressing = false
end
end)
var284_upvw = tbl_12_upvr.iconButton.MouseButton1Up:Connect(function() -- Line 1096
--[[ Upvalues[2]:
[1]: var284_upvw (read and write)
[2]: var287_upvw (read and write)
]]
var284_upvw:Disconnect()
var287_upvw:Disconnect()
end)
end)
if UserInputService_upvr.TouchEnabled then
tbl_12_upvr.iconButton.MouseButton1Up:Connect(function() -- Line 1102
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.hovering then
module_upvr.hoverEnded:Fire()
end
end)
UserInputService_upvr.TouchMoved:Connect(function(arg1, arg2) -- Line 1110
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if arg2 then
else
module_upvr._draggingFinger = true
end
end)
UserInputService_upvr.TouchEnded:Connect(function() -- Line 1116
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
module_upvr._draggingFinger = false
end)
end
module_upvr._updatingIconSize = false
module_upvr:_updateIconSize()
IconController_upvr.iconAdded:Fire(module_upvr)
return module_upvr
end
function var13_upvr.mimic(arg1) -- Line 1130
--[[ Upvalues[2]:
[1]: IconController_upvr (readonly)
[2]: var13_upvr (readonly)
]]
local var292 = arg1.."Mimic"
local any_getIcon_result1 = IconController_upvr.getIcon(var292)
if any_getIcon_result1 then
return any_getIcon_result1
end
local any_new_result1_4 = var13_upvr.new()
any_new_result1_4:setName(var292)
if arg1 == "Chat" then
any_new_result1_4:setOrder(-1)
any_new_result1_4:setImage("rbxasset://textures/ui/TopBar/chatOff.png", "deselected")
any_new_result1_4:setImage("rbxasset://textures/ui/TopBar/chatOn.png", "selected")
any_new_result1_4:setImageYScale(0.625)
end
return any_new_result1_4
end
function var13_upvr.set(arg1, arg2, arg3, arg4, arg5) -- Line 1241
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 105 start (CF ANALYSIS FAILED)
local var359 = arg1._settingsDictionary[arg2]
local var360
if var359 == nil then
var360 = false
else
var360 = true
end
assert(var360, "setting '%s' does not exist":format(arg2))
var360 = arg4
if type(var360) == "string" then
local any_lower_result1 = arg4:lower()
end
local any_get_result1_8 = arg1:get(arg2, any_lower_result1)
if any_lower_result1 == "hovering" then
var359.hoveringValue = arg3
if arg5 ~= "_ignorePrevious" then
var360 = var359.additionalValues
var360["previous_"..any_lower_result1] = any_get_result1_8
end
var360 = type(arg5)
if var360 == "string" then
var360 = var359.additionalValues
var360[arg5..'_'..any_lower_result1] = any_get_result1_8
end
var360 = arg1:_update
var360(arg2)
-- KONSTANTWARNING: GOTO [199] #143
end
-- KONSTANTERROR: [0] 1. Error Block 105 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [63] 48. Error Block 103 start (CF ANALYSIS FAILED)
var360 = any_lower_result1
if var359.type == "toggleable" then
local tbl_14 = {}
if var360 == "deselected" or var360 == "selected" then
table.insert(tbl_14, var360)
else
table.insert(tbl_14, "deselected")
table.insert(tbl_14, "selected")
var360 = nil
end
for i_5, v_5 in pairs(tbl_14) do
var359.values[v_5] = arg3
if arg5 ~= "_ignorePrevious" then
var359.additionalValues["previous_"..v_5] = any_get_result1_8
end
if type(arg5) == "string" then
var359.additionalValues[arg5..'_'..v_5] = any_get_result1_8
end
end
else
var359.value = arg3
if type(arg5) == "string" then
if arg5 ~= "_ignorePrevious" then
var359.additionalValues.previous = any_get_result1_8
end
var359.additionalValues[arg5] = any_get_result1_8
end
end
if any_get_result1_8 == arg3 then
return arg1, "Value was already set"
end
local function INLINED_13() -- Internal function, doesn't exist in bytecode
local var367
return var359.instanceNames
end
if not arg1._updateAfterSettingAll and INLINED_13() and (arg1:getToggleState() == var360 or var360 == nil) then
local var368 = false
if arg2 == "iconSize" then
var368 = any_get_result1_8
if var368 then
var367 = any_get_result1_8.X.Scale
if var367 ~= 1 then
var368 = false
else
var368 = true
end
end
end
local function INLINED_14() -- Internal function, doesn't exist in bytecode
var367 = arg1:get(i_5)
i_5 = var359.tweenAction
return var367
end
if not var359.tweenAction or var368 or not INLINED_14() then
var367 = TweenInfo.new(0)
end
v_5 = arg2
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
arg1:_update(v_5, arg1:getToggleState(), var367)
end
var360 = var359.callMethods
if var360 then
var360 = pairs(var359.callMethods)
local pairs_result1_14, pairs_result2, pairs_result3_21 = pairs(var359.callMethods)
for _, v_6 in pairs_result1_14, pairs_result2, pairs_result3_21 do
i_5 = arg1
v_5 = arg3
v_6(i_5, v_5, any_lower_result1)
end
end
pairs_result1_14 = var359.callSignals
if pairs_result1_14 then
pairs_result1_14 = pairs(var359.callSignals)
for _, v_7 in pairs(var359.callSignals) do
v_7:Fire()
end
end
do
return arg1
end
-- KONSTANTERROR: [63] 48. Error Block 103 end (CF ANALYSIS FAILED)
end
function var13_upvr.setAdditionalValue(arg1, arg2, arg3, arg4, arg5) -- Line 1322
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var383 = arg1._settingsDictionary[arg2]
local var384
if var383 == nil then
var384 = false
else
var384 = true
end
assert(var384, "setting '%s' does not exist":format(arg2))
var384 = arg3
if arg5 then
var384 = var384..'_'
end
var384 = pairs(var383.additionalValues)
for i_8, _ in pairs(var383.additionalValues) do
if string.match(i_8, var384..arg5) then
var383.additionalValues[i_8] = arg4
end
end
end
function var13_upvr.get(arg1, arg2, arg3, arg4) -- Line 1336
-- KONSTANTERROR: [0] 1. Error Block 45 start (CF ANALYSIS FAILED)
local var388
if arg1._settingsDictionary[arg2] == nil then
var388 = false
else
var388 = true
end
assert(var388, "setting '%s' does not exist":format(arg2))
var388 = nil
-- KONSTANTERROR: [0] 1. Error Block 45 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [25] 20. Error Block 6 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [25] 20. Error Block 6 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [29] 23. Error Block 7 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [29] 23. Error Block 7 end (CF ANALYSIS FAILED)
end
function var13_upvr.getHovering(arg1, arg2) -- Line 1372
local var389 = arg1._settingsDictionary[arg2]
local var390
if var389 == nil then
var390 = false
else
var390 = true
end
assert(var390, "setting '%s' does not exist":format(arg2))
return var389.hoveringValue
end
function var13_upvr.getToggleState(arg1, arg2) -- Line 1378
local var391 = arg2
if not var391 then
var391 = arg1.isSelected
end
if var391 then
return "selected"
end
return "deselected"
end
function var13_upvr.getIconState(arg1) -- Line 1383
if arg1.hovering then
return "hovering"
end
return arg1:getToggleState()
end
function var13_upvr._update(arg1, arg2, arg3, arg4) -- Line 1391
--[[ Upvalues[1]:
[1]: TweenService_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 50 start (CF ANALYSIS FAILED)
local var392 = arg1._settingsDictionary[arg2]
local var393
if var392 == nil then
var393 = false
else
var393 = true
end
assert(var393, "setting '%s' does not exist":format(arg2))
-- KONSTANTERROR: [0] 1. Error Block 50 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [18] 15. Error Block 6 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [18] 15. Error Block 6 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [21] 17. Error Block 7 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [21] 17. Error Block 7 end (CF ANALYSIS FAILED)
end
function var13_upvr._updateAll(arg1, arg2, arg3) -- Line 1435
for i_9, v_9 in pairs(arg1._settingsDictionary) do
if v_9.instanceNames then
arg1:_update(i_9, arg2, arg3)
end
end
end
function var13_upvr._updateHovering(arg1, arg2) -- Line 1443
for i_10, v_10 in pairs(arg1._settingsDictionary) do
if v_10.instanceNames and v_10.hoveringValue ~= nil then
arg1:_update(i_10, nil, arg2)
end
end
end
function var13_upvr._updateStateOverlay(arg1, arg2, arg3) -- Line 1451
local iconOverlay = arg1.instances.iconOverlay
iconOverlay.BackgroundTransparency = arg2 or 1
local var405 = arg3
if not var405 then
var405 = Color3.new(1, 1, 1)
end
iconOverlay.BackgroundColor3 = var405
end
function var13_upvr.setTheme(arg1, arg2, arg3) -- Line 1457
-- KONSTANTERROR: [0] 1. Error Block 44 start (CF ANALYSIS FAILED)
arg1._updateAfterSettingAll = arg3
local pairs_result1_25, pairs_result2_16, pairs_result3_12 = pairs(arg2)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [7.6]
if nil == "toggleable" then
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [11.7]
for i_11, v_11 in pairs(nil.deselected) do
if not arg1.lockedSettings[i_11] then
arg1:set(i_11, v_11, "both")
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
local pairs_result1_32, pairs_result2_23, pairs_result3_3 = pairs(nil.selected)
for i_12, v_12 in pairs_result1_32, pairs_result2_23, pairs_result3_3 do
if not arg1.lockedSettings[i_12] then
arg1:set(i_12, v_12, "selected")
end
end
-- KONSTANTWARNING: GOTO [7] #6
end
-- KONSTANTERROR: [0] 1. Error Block 44 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [46] 34. Error Block 32 start (CF ANALYSIS FAILED)
for _, _ in pairs_result1_32, pairs_result2_23, pairs_result3_3 do
if not arg1:set(i_12, v_12, "selected") then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x2)
if nil == "action" and arg1:set(i_12, v_12, "selected") == nil then
end
end
end
-- KONSTANTERROR: [46] 34. Error Block 32 end (CF ANALYSIS FAILED)
end
function var13_upvr.getInstance(arg1, arg2) -- Line 1491
return arg1.instances[arg2]
end
function var13_upvr.setInstance(arg1, arg2, arg3) -- Line 1495
local var421 = arg1.instances[arg2]
arg1.instances[arg2] = arg3
if var421 then
var421:Destroy()
end
return arg1
end
function var13_upvr.getSettingDetail(arg1, arg2) -- Line 1504
for _, v_14 in pairs(arg1._settings) do
for i_15, v_15 in pairs(v_14) do
if i_15 == arg2 then
return v_15
end
end
end
return false
end
function var13_upvr.modifySetting(arg1, arg2, arg3) -- Line 1515
local any_getSettingDetail_result1 = arg1:getSettingDetail(arg2)
for i_16, v_16 in pairs(arg3) do
any_getSettingDetail_result1[i_16] = v_16
end
return arg1
end
function var13_upvr.convertLabelToNumberSpinner(arg1, arg2) -- Line 1523
arg1:set("iconLabelSize", UDim2.new(1, 0, 1, 0))
arg2.Parent = arg1:getInstance("iconButton")
local tbl_2 = {}
setmetatable(tbl_2, {
__newindex = function(arg1_3, arg2_3, arg3) -- Line 1530, Named "__newindex"
--[[ Upvalues[1]:
[1]: arg2 (readonly)
]]
for _, v_17 in pairs(arg2.Frame:GetDescendants()) do
if v_17:IsA("TextLabel") then
v_17[arg2_3] = arg3
end
end
end;
})
arg1:getInstance("iconButton").ZIndex = 0
arg1:setInstance("iconLabel", tbl_2)
arg1:modifySetting("iconText", {
instanceNames = {};
})
arg1:setInstance("iconLabelSpinner", arg2.Frame)
for _, v_18 in pairs({"iconLabelVisible", "iconLabelAnchorPoint", "iconLabelPosition", "iconLabelSize"}) do
arg1:modifySetting(v_18, {
instanceNames = {"iconLabelSpinner"};
})
end
arg1:_updateAll()
return arg1
end
function var13_upvr.setEnabled(arg1, arg2) -- Line 1554
arg1.enabled = arg2
arg1.instances.iconContainer.Visible = arg2
arg1.updated:Fire()
return arg1
end
function var13_upvr.setName(arg1, arg2) -- Line 1561
arg1.name = arg2
arg1.instances.iconContainer.Name = arg2
return arg1
end
function var13_upvr.setProperty(arg1, arg2, arg3) -- Line 1567
arg1[arg2] = arg3
return arg1
end
local Debris_upvr = game:GetService("Debris")
function var13_upvr._playClickSound(arg1) -- Line 1572
--[[ Upvalues[1]:
[1]: Debris_upvr (readonly)
]]
local clickSound = arg1.instances.clickSound
if clickSound.SoundId ~= nil and 0 < #clickSound.SoundId and 0 < clickSound.Volume then
local clone = clickSound:Clone()
clone.Parent = clickSound.Parent
clone:Play()
Debris_upvr:AddItem(clone, clickSound.TimeLength)
end
end
function var13_upvr.select(arg1, arg2) -- Line 1582
--[[ Upvalues[1]:
[1]: IconController_upvr (readonly)
]]
if arg1.locked then
return arg1
end
arg1.isSelected = true
arg1:_setToggleItemsVisible(true, arg2)
arg1:_updateNotice()
arg1:_updateAll()
arg1:_playClickSound()
if 0 < #arg1.dropdownIcons or 0 < #arg1.menuIcons then
IconController_upvr:_updateSelectionGroup()
end
arg1.selected:Fire()
arg1.toggled:Fire(arg1.isSelected)
return arg1
end
function var13_upvr.deselect(arg1, arg2) -- Line 1597
--[[ Upvalues[1]:
[1]: IconController_upvr (readonly)
]]
if arg1.locked then
return arg1
end
arg1.isSelected = false
arg1:_setToggleItemsVisible(false, arg2)
arg1:_updateNotice()
arg1:_updateAll()
arg1:_playClickSound()
if 0 < #arg1.dropdownIcons or 0 < #arg1.menuIcons then
IconController_upvr:_updateSelectionGroup()
end
arg1.deselected:Fire()
arg1.toggled:Fire(arg1.isSelected)
return arg1
end
local HttpService_upvr = game:GetService("HttpService")
function var13_upvr.notify(arg1, arg2, arg3) -- Line 1612
--[[ Upvalues[2]:
[1]: Signal_upvr (readonly)
[2]: HttpService_upvr (readonly)
]]
coroutine.wrap(function() -- Line 1613
--[[ Upvalues[5]:
[1]: arg2 (read and write)
[2]: arg1 (readonly)
[3]: Signal_upvr (copied, readonly)
[4]: arg3 (read and write)
[5]: HttpService_upvr (copied, readonly)
]]
if not arg2 then
arg2 = arg1.deselected
end
if arg1._parentIcon then
arg1._parentIcon:notify(arg2)
end
local any_new_result1_upvr = Signal_upvr.new()
local function var462() -- Line 1622
--[[ Upvalues[1]:
[1]: any_new_result1_upvr (readonly)
]]
any_new_result1_upvr:Fire()
end
var462 = arg3
local var464 = var462
if not var464 then
var464 = HttpService_upvr:GenerateGUID(true)
end
arg3 = var464
local tbl_9 = {
completeSignal = any_new_result1_upvr;
}
tbl_9.clearNoticeEvent = arg2
arg1.notices[arg3] = tbl_9
local var466 = arg1
var466.totalNotices += 1
arg1:_updateNotice()
arg1.notified:Fire(arg3)
any_new_result1_upvr:Wait()
arg1._endNotices:Connect(var462):Disconnect()
arg2:Connect(function() -- Line 1625
--[[ Upvalues[1]:
[1]: any_new_result1_upvr (readonly)
]]
any_new_result1_upvr:Fire()
end):Disconnect()
any_new_result1_upvr:Disconnect()
local var467 = arg1
var467.totalNotices -= 1
arg1.notices[arg3] = nil
arg1:_updateNotice()
end)()
return arg1
end
function var13_upvr._updateNotice(arg1) -- Line 1651
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
if arg1.totalNotices < 1 then
end
if not arg1.isSelected and (0 < #arg1.dropdownIcons or 0 < #arg1.menuIcons) or 0 < arg1.totalNotices then
end
local var468
if arg1.isSelected and (0 < #arg1.dropdownIcons or 0 < #arg1.menuIcons) then
var468 = false
end
if var468 then
local _ = 0
else
end
arg1:set("noticeImageTransparency", 1)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
arg1:set("noticeTextTransparency", 1)
if arg1.totalNotices >= 100 or not arg1.totalNotices then
end
arg1.instances.noticeLabel.Text = "99+"
end
function var13_upvr.clearNotices(arg1) -- Line 1674
arg1._endNotices:Fire()
return arg1
end
function var13_upvr.disableStateOverlay(arg1, arg2) -- Line 1679
if arg2 == nil then
end
arg1.instances.iconOverlay.Visible = not true
return arg1
end
function var13_upvr.setLabel(arg1, arg2, arg3) -- Line 1691
arg1:set("iconText", arg2 or "", arg3)
return arg1
end
function var13_upvr.setCornerRadius(arg1, arg2, arg3, arg4) -- Line 1697
local CornerRadius = arg1.instances.iconCorner.CornerRadius
local var471 = arg2
if not var471 then
var471 = CornerRadius.Scale
end
local var472 = arg3
if not var472 then
var472 = CornerRadius.Offset
end
arg1:set("iconCornerRadius", UDim.new(var471, var472), arg4)
return arg1
end
function var13_upvr.setImage(arg1, arg2, arg3) -- Line 1704
local var473
local function INLINED_15() -- Internal function, doesn't exist in bytecode
var473 = "http://www.roblox.com/asset/?id="..arg2
return var473
end
if not tonumber(arg2) or not INLINED_15() then
var473 = arg2
if not var473 then
var473 = ""
end
end
return arg1:set("iconImage", var473, arg3)
end
function var13_upvr.setOrder(arg1, arg2, arg3) -- Line 1709
return arg1:set("order", tonumber(arg2) or 1, arg3)
end
function var13_upvr.setLeft(arg1, arg2) -- Line 1714
return arg1:set("alignment", "left", arg2)
end
function var13_upvr.setMid(arg1, arg2) -- Line 1718
return arg1:set("alignment", "mid", arg2)
end
function var13_upvr.setRight(arg1, arg2) -- Line 1722
--[[ Upvalues[1]:
[1]: IconController_upvr (readonly)
]]
if not arg1.internalIcon then
IconController_upvr.setupHealthbar()
end
return arg1:set("alignment", "right", arg2)
end
function var13_upvr.setImageYScale(arg1, arg2, arg3) -- Line 1729
return arg1:set("iconImageYScale", tonumber(arg2) or 0.63, arg3)
end
function var13_upvr.setImageRatio(arg1, arg2, arg3) -- Line 1734
return arg1:set("iconImageRatio", tonumber(arg2) or 1, arg3)
end
function var13_upvr.setLabelYScale(arg1, arg2, arg3) -- Line 1739
return arg1:set("iconLabelYScale", tonumber(arg2) or 0.45, arg3)
end
function var13_upvr.setBaseZIndex(arg1, arg2, arg3) -- Line 1744
return arg1:set("baseZIndex", tonumber(arg2) or 1, arg3)
end
function var13_upvr._updateBaseZIndex(arg1, arg2) -- Line 1749
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local iconContainer_3 = arg1.instances.iconContainer
local tonumber_result1 = tonumber(arg2)
if not tonumber_result1 then
tonumber_result1 = iconContainer_3.ZIndex
end
local var484 = tonumber_result1 - iconContainer_3.ZIndex
if var484 == 0 then
return "The baseValue is the same"
end
for _, v_19 in pairs(arg1.instances) do
v_19.ZIndex += var484
local _
end
return true
end
function var13_upvr.setSize(arg1, arg2, arg3, arg4) -- Line 1760
local var489 = tonumber(arg2) or 32
local var490 = tonumber(arg3) or var489
arg1:set("forcedIconSize", UDim2.new(0, var489, 0, var490), arg4)
arg1:set("iconSize", UDim2.new(0, var489, 0, var490), arg4)
return arg1
end
function var13_upvr._updateIconSize(arg1, arg2, arg3) -- Line 1768
--[[ Upvalues[1]:
[1]: TextService_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 79 start (CF ANALYSIS FAILED)
local var524
if arg1._destroyed then
else
local tbl_15 = {
iconImage = arg1:get("iconImage", arg3) or "_NIL";
iconText = arg1:get("iconText", arg3) or "_NIL";
iconFont = arg1:get("iconFont", arg3) or "_NIL";
iconSize = arg1:get("iconSize", arg3) or "_NIL";
forcedIconSize = arg1:get("forcedIconSize", arg3) or "_NIL";
iconImageYScale = arg1:get("iconImageYScale", arg3) or "_NIL";
iconImageRatio = arg1:get("iconImageRatio", arg3) or "_NIL";
iconLabelYScale = arg1:get("iconLabelYScale", arg3) or "_NIL";
}
for _, v_33 in pairs(tbl_15) do
if v_33 == "_NIL" then return end
end
local iconContainer_5 = arg1.instances.iconContainer
if not iconContainer_5.Parent then return end
local Scale = tbl_15.iconSize.X.Scale
if 0 >= Scale or not (tbl_15.iconSize.X.Offset + Scale * iconContainer_5.Parent.AbsoluteSize.X) then
end
var524 = iconContainer_5.Parent
local var531 = tbl_15.iconSize.Y.Offset + tbl_15.iconSize.Y.Scale * var524.AbsoluteSize.Y
local var532 = var531 * tbl_15.iconLabelYScale
var524 = var531 * tbl_15.iconImageYScale
local var533 = var524 * tbl_15.iconImageRatio
if tbl_15.iconImage == "" then
var524 = false
else
var524 = true
end
if tbl_15.iconText == "" then
local _ = false
-- KONSTANTWARNING: Skipped task `defvar` above
else
end
if var524 and not true then
arg1:set("iconImageVisible", true, arg3)
arg1:set("iconImageAnchorPoint", Vector2.new(0.5, 0.5), arg3)
arg1:set("iconImagePosition", UDim2.new(0.5, 0, 0.5, 0), arg3)
arg1:set("iconImageSize", UDim2.new(tbl_15.iconImageYScale * tbl_15.iconImageRatio, 0, tbl_15.iconImageYScale, 0), arg3)
arg1:set("iconLabelVisible", false, arg3)
-- KONSTANTWARNING: GOTO [389] #293
end
-- KONSTANTERROR: [0] 1. Error Block 79 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [234] 167. Error Block 80 start (CF ANALYSIS FAILED)
if not var524 then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if true then
arg1:set("iconLabelVisible", true, arg3)
arg1:set("iconLabelAnchorPoint", Vector2.new(0, 0.5), arg3)
arg1:set("iconLabelPosition", UDim2.new(0, 12, 0.5, 0), arg3)
arg1:set("iconLabelSize", UDim2.new(1, -24, tbl_15.iconLabelYScale, var532 / 2), arg3)
arg1:set("iconLabelTextXAlignment", Enum.TextXAlignment.Center, arg3)
arg1:set("iconImageVisible", false, arg3)
-- KONSTANTWARNING: GOTO [389] #293
end
end
if var524 then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if true then
local var535 = 12 + var533 + 8
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
local var536 = var535 + TextService_upvr:GetTextSize(tbl_15.iconText, var532, tbl_15.iconFont, Vector2.new(10000, var532)).X + 12
arg1:set("iconImageVisible", true, arg3)
arg1:set("iconImageAnchorPoint", Vector2.new(0, 0.5), arg3)
arg1:set("iconImagePosition", UDim2.new(0, 12, 0.5, 0), arg3)
arg1:set("iconImageSize", UDim2.new(0, var533, tbl_15.iconImageYScale, 0), arg3)
arg1:set("iconLabelVisible", true, arg3)
arg1:set("iconLabelAnchorPoint", Vector2.new(0, 0.5), arg3)
arg1:set("iconLabelPosition", UDim2.new(0, var535, 0.5, 0), arg3)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
arg1:set("iconLabelSize", UDim2.new(1, -var535 - 12, tbl_15.iconLabelYScale, var532 / 2), arg3)
arg1:set("iconLabelTextXAlignment", Enum.TextXAlignment.Left, arg3)
end
end
if var536 then
var535 = arg1._updatingIconSize
local var537
if not var537 then
var537 = true
arg1._updatingIconSize = var537
local var538 = 0
local function INLINED_17() -- Internal function, doesn't exist in bytecode
var537 = Scale
return var537
end
if var538 >= Scale or not INLINED_17() then
var537 = 0
end
if 0 < Scale then
var538 = 0
else
var538 = math.clamp(var536, tbl_15.forcedIconSize.X.Offset, 9999)
end
arg1:set("iconSize", UDim2.new(var537, var538, tbl_15.iconSize.Y.Scale, tbl_15.iconSize.Y.Offset), arg3, "_ignorePrevious")
local _parentIcon_4 = arg1._parentIcon
if _parentIcon_4 then
local udim2_2 = UDim2.new(0, var536, 0, tbl_15.iconSize.Y.Offset)
if 0 < #_parentIcon_4.dropdownIcons then
arg1:setAdditionalValue("iconSize", "beforeDropdown", udim2_2, arg3)
_parentIcon_4:_updateDropdown()
end
if 0 < #_parentIcon_4.menuIcons then
arg1:setAdditionalValue("iconSize", "beforeMenu", udim2_2, arg3)
_parentIcon_4:_updateMenu()
end
end
arg1._updatingIconSize = false
end
end
arg1:set("iconLabelTextSize", var532, arg3)
arg1:set("noticeFramePosition", UDim2.new(0.45, 0, 0, -2), arg3)
arg1._updatingIconSize = false
-- KONSTANTERROR: [234] 167. Error Block 80 end (CF ANALYSIS FAILED)
end
end
function var13_upvr.bindEvent(arg1, arg2, arg3) -- Line 1877
local var544 = arg1[arg2]
local var545
if var545 then
var545 = false
if typeof(var544) == "table" then
var545 = var544.Connect
end
end
assert(var545, "argument[1] must be a valid topbarplus icon event name!")
if typeof(arg3) ~= "function" then
var545 = false
else
var545 = true
end
assert(var545, "argument[2] must be a function!")
var545 = var544:Connect(function(...) -- Line 1881
--[[ Upvalues[2]:
[1]: arg3 (readonly)
[2]: arg1 (readonly)
]]
arg3(arg1, ...)
end)
arg1._bindedEvents[arg2] = var545
return arg1
end
function var13_upvr.unbindEvent(arg1, arg2) -- Line 1887
local var547 = arg1._bindedEvents[arg2]
if var547 then
var547:Disconnect()
arg1._bindedEvents[arg2] = nil
end
return arg1
end
function var13_upvr.bindToggleKey(arg1, arg2) -- Line 1896
local var548
if typeof(arg2) ~= "EnumItem" then
var548 = false
else
var548 = true
end
assert(var548, "argument[1] must be a KeyCode EnumItem!")
var548 = true
arg1._bindedToggleKeys[arg2] = var548
return arg1
end
function var13_upvr.unbindToggleKey(arg1, arg2) -- Line 1902
local var549
if typeof(arg2) ~= "EnumItem" then
var549 = false
else
var549 = true
end
assert(var549, "argument[1] must be a KeyCode EnumItem!")
var549 = nil
arg1._bindedToggleKeys[arg2] = var549
return arg1
end
function var13_upvr.lock(arg1) -- Line 1908
arg1.locked = true
return arg1
end
function var13_upvr.unlock(arg1) -- Line 1913
arg1.locked = false
return arg1
end
function var13_upvr.setTopPadding(arg1, arg2, arg3) -- Line 1918
arg1.topPadding = UDim.new(arg3 or 0, arg2 or 4)
arg1.updated:Fire()
return arg1
end
function var13_upvr.bindToggleItem(arg1, arg2) -- Line 1926
if not arg2:IsA("GuiObject") and not arg2:IsA("LayerCollector") then
error("Toggle item must be a GuiObject or LayerCollector!")
end
arg1.toggleItems[arg2] = true
return arg1
end
function var13_upvr.unbindToggleItem(arg1, arg2) -- Line 1934
arg1.toggleItems[arg2] = nil
return arg1
end
function var13_upvr._setToggleItemsVisible(arg1, arg2, arg3) -- Line 1939
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local _
for i_20, _ in pairs(arg1.toggleItems) do
if not arg3 or arg3.toggleItems[i_20] == nil then
if i_20:IsA("LayerCollector") then
end
i_20.Enabled = arg2
end
end
end
function var13_upvr.give(arg1, arg2) -- Line 1951
local var562 = arg2
if typeof(arg2) == "function" then
if typeof(arg2) ~= "function" then
var562 = arg2(arg1)
else
var562 = nil
end
end
if var562 ~= nil then
arg1._maid:give(var562)
end
return arg1
end
tbl_7_upvr.tip = 1
function var13_upvr.setTip(arg1, arg2) -- Line 1970
--[[ Upvalues[3]:
[1]: TextService_upvr (readonly)
[2]: ActiveItems_upvr (readonly)
[3]: Maid_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var563 = true
if typeof(arg2) ~= "string" then
if arg2 ~= nil then
var563 = false
else
var563 = true
end
end
assert(var563, "Expected string, got "..typeof(arg2))
local var564 = arg2 or ""
if var564 == "" then
var563 = false
else
var563 = true
end
arg1.instances.tipLabel.Text = var564
if not var563 or not UDim2.new(0, TextService_upvr:GetTextSize(var564, 12, Enum.Font.GothamSemibold, Vector2.new(1000, 14)).X + 6, 0, 20) then
end
arg1.instances.tipFrame.Size = UDim2.new(0, 0, 0, 0)
if not var563 or not ActiveItems_upvr then
end
arg1.instances.tipFrame.Parent = arg1.instances.iconContainer
arg1._maid.tipFrame = arg1.instances.tipFrame
arg1.tipText = arg2
local any_new_result1_3 = Maid_upvr.new()
arg1._maid.tipMaid = any_new_result1_3
if var563 then
any_new_result1_3:give(arg1.hoverStarted:Connect(function() -- Line 1984
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if not arg1.isSelected then
arg1:displayTip(true)
end
end))
any_new_result1_3:give(arg1.hoverEnded:Connect(function() -- Line 1989
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:displayTip(false)
end))
any_new_result1_3:give(arg1.selected:Connect(function() -- Line 1992
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1.hovering then
arg1:displayTip(false)
end
end))
end
arg1:displayTip(arg1.hovering and var563)
return arg1
end
function var13_upvr.displayTip(arg1, arg2) -- Line 2002
--[[ Upvalues[3]:
[1]: UserInputService_upvr (readonly)
[2]: IconController_upvr (readonly)
[3]: TopbarPlusGui_upvr (readonly)
]]
local var573
if var573 then
var573 = arg1._draggingFinger
if not var573 then return end
end
var573 = arg1.tipVisible or false
if typeof(arg2) == "boolean" then
var573 = arg2
end
arg1.tipVisible = var573
if var573 then
local tipFrame_upvr = arg1.instances.tipFrame
local function updateTipPositon(arg1_4, arg2_4) -- Line 2016
--[[ Upvalues[4]:
[1]: UserInputService_upvr (copied, readonly)
[2]: tipFrame_upvr (readonly)
[3]: IconController_upvr (copied, readonly)
[4]: TopbarPlusGui_upvr (copied, readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var576
if var576 then
var576 = workspace.CurrentCamera.ViewportSize
end
local var577
if UserInputService_upvr.TouchEnabled then
var577 = math.clamp(var577 - tipFrame_upvr.Size.X.Offset / 2, 0, var576.X - tipFrame_upvr.Size.X.Offset)
elseif IconController_upvr.controllerModeEnabled then
local Indicator = TopbarPlusGui_upvr.Indicator
local AbsolutePosition = Indicator.AbsolutePosition
var577 = AbsolutePosition.X - tipFrame_upvr.Size.X.Offset / 2 + Indicator.AbsoluteSize.X / 2
else
var577 = math.clamp(var577, 0, var576.X - tipFrame_upvr.Size.X.Offset - 48)
end
tipFrame_upvr.Position = UDim2.new(0, var577, 0, math.clamp(AbsolutePosition.Y + 90, tipFrame_upvr.Size.Y.Offset + 3, var576.Y) - 20)
end
local any_GetMouseLocation_result1 = UserInputService_upvr:GetMouseLocation()
if any_GetMouseLocation_result1 then
updateTipPositon(any_GetMouseLocation_result1.X, any_GetMouseLocation_result1.Y)
end
arg1._hoveringMaid:give(arg1.instances.iconButton.MouseMoved:Connect(updateTipPositon))
end
for _, v_21 in pairs(arg1._groupSettings.tip) do
arg1._settingsDictionary[v_21].useForcedGroupValue = not var573
arg1:_update(v_21)
end
end
tbl_7_upvr.caption = 1
function var13_upvr.setCaption(arg1, arg2) -- Line 2071
--[[ Upvalues[3]:
[1]: ActiveItems_upvr (readonly)
[2]: Maid_upvr (readonly)
[3]: TextService_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var584 = true
if typeof(arg2) ~= "string" then
if arg2 ~= nil then
var584 = false
else
var584 = true
end
end
assert(var584, "Expected string, got "..typeof(arg2))
local var585 = arg2 or ""
if var585 == "" then
var584 = false
else
var584 = true
end
arg1.captionText = arg2
arg1.instances.captionLabel.Text = var585
if not var584 or not ActiveItems_upvr then
end
arg1.instances.captionContainer.Parent = arg1.instances.iconContainer
arg1._maid.captionContainer = arg1.instances.captionContainer
arg1:_updateIconSize(nil, arg1:getIconState())
local any_new_result1_2 = Maid_upvr.new()
arg1._maid.captionMaid = any_new_result1_2
if var584 then
any_new_result1_2:give(arg1.hoverStarted:Connect(function() -- Line 2083
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if not arg1.isSelected then
arg1:displayCaption(true)
end
end))
any_new_result1_2:give(arg1.hoverEnded:Connect(function() -- Line 2088
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:displayCaption(false)
end))
any_new_result1_2:give(arg1.selected:Connect(function() -- Line 2091
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1.hovering then
arg1:displayCaption(false)
end
end))
local iconContainer_4 = arg1.instances.iconContainer
any_new_result1_2:give(iconContainer_4:GetPropertyChangedSignal("AbsoluteSize"):Connect(function() -- Line 2097
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1.hovering then
arg1:displayCaption()
end
end))
any_new_result1_2:give(iconContainer_4:GetPropertyChangedSignal("AbsolutePosition"):Connect(function() -- Line 2102
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1.hovering then
arg1:displayCaption()
end
end))
end
local any_get_result1_10 = arg1:get("iconSize")
local any_get_result1_2 = arg1:get("captionFont")
if any_get_result1_10 and any_get_result1_2 then
if var584 then
local var595 = any_get_result1_10.Y.Offset + any_get_result1_10.Y.Scale * arg1.instances.iconContainer.Parent.AbsoluteSize.Y
local captionLabel = arg1.instances.captionLabel
local var597 = var595 * 0.8 * 0.58
local X = TextService_upvr:GetTextSize(arg1.captionText, var597, any_get_result1_2, Vector2.new(10000, var597)).X
captionLabel.TextSize = var597
captionLabel.Size = UDim2.new(0, X, 0.58, 0)
arg1.instances.captionContainer.Size = UDim2.new(0, X + 12, 0, var595 * 0.8)
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
arg1.instances.captionContainer.Size = UDim2.new(0, 0, 0, 0)
end
end
arg1:displayCaption(arg1.hovering and var584)
return arg1
end
function var13_upvr.displayCaption(arg1, arg2) -- Line 2138
--[[ Upvalues[1]:
[1]: UserInputService_upvr (readonly)
]]
local var603
if UserInputService_upvr.TouchEnabled then
if not arg1._draggingFinger then return end
end
local var604 = 8
if arg1._draggingFinger then
var604 += 55
end
local iconContainer = arg1.instances.iconContainer
local captionContainer = arg1.instances.captionContainer
var603 = 0
captionContainer.Position = UDim2.new(var603, iconContainer.AbsolutePosition.X + iconContainer.AbsoluteSize.X / 2 - captionContainer.AbsoluteSize.X / 2, 0, iconContainer.AbsolutePosition.Y + iconContainer.AbsoluteSize.Y * 2 + var604)
var603 = arg1.captionVisible or false
if typeof(arg2) == "boolean" then
var603 = arg2
end
arg1.captionVisible = var603
for _, v_22 in pairs(arg1._groupSettings.caption) do
arg1._settingsDictionary[v_22].useForcedGroupValue = not var603
arg1:_update(v_22)
end
end
function var13_upvr.join(arg1, arg2, arg3, arg4) -- Line 2168
--[[ Upvalues[1]:
[1]: IconController_upvr (readonly)
]]
local var614
if var614 then
var614 = arg1:leave
var614()
end
local function INLINED_18() -- Internal function, doesn't exist in bytecode
var614 = arg3:lower()
return var614
end
if not arg3 or not INLINED_18() then
var614 = "dropdown"
end
local var615 = "before"..arg3:sub(1, 1):upper()..arg3:sub(2)
arg1.presentOnTopbar = false
arg1.joinedFeatureName = arg3
arg1._parentIcon = arg2
arg1.instances.iconContainer.Parent = arg2.instances[arg3.."Frame"]
for i_23, v_23 in pairs(arg1.notices) do
arg2:notify(v_23.clearNoticeEvent, i_23)
end
if arg3 == "dropdown" then
i_23 = "iconSize"
v_23 = UDim2.new(1, 0, 0, arg1:get("iconSize", "deselected").Y.Offset)
arg1:set(i_23, v_23, "deselected", var615)
i_23 = "iconSize"
v_23 = UDim2.new(1, 0, 0, arg1:get("iconSize", "selected").Y.Offset)
arg1:set(i_23, v_23, "selected", var615)
if arg2:get("dropdownSquareCorners") then
i_23 = "iconCornerRadius"
v_23 = UDim.new(0, 0)
arg1:set(i_23, v_23, "deselected", var615)
i_23 = "iconCornerRadius"
v_23 = UDim.new(0, 0)
arg1:set(i_23, v_23, "selected", var615)
end
i_23 = "captionBlockerTransparency"
v_23 = 0.4
arg1:set(i_23, v_23, nil, var615)
end
table.insert(arg2[var614.."Icons"], arg1)
if not arg4 then
arg2:_updateDropdown()
end
arg2.deselectWhenOtherIconSelected = false
IconController_upvr:_updateSelectionGroup()
arg1:_decideToCallSignal("dropdown")
arg1:_decideToCallSignal("menu")
return arg1
end
function var13_upvr.leave(arg1) -- Line 2208
--[[ Upvalues[2]:
[1]: TopbarContainer_upvr (readonly)
[2]: IconController_upvr (readonly)
]]
if arg1._destroyed or arg1.instances.iconContainer.Parent == nil then return end
local tbl_13_upvr = {"iconSize", "captionBlockerTransparency", "iconCornerRadius"}
local _parentIcon_2_upvr = arg1._parentIcon
arg1.instances.iconContainer.Parent = TopbarContainer_upvr
arg1.presentOnTopbar = true
arg1.joinedFeatureName = nil
local function scanFeature(arg1_5, arg2, arg3) -- Line 2217
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: tbl_13_upvr (readonly)
[3]: _parentIcon_2_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local pairs_result1_7, pairs_result2_6, pairs_result3_4 = pairs(arg1_5)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [61] 48. Error Block 11 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [61] 48. Error Block 11 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [5] 5. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [61.7]
-- KONSTANTERROR: [5] 5. Error Block 2 end (CF ANALYSIS FAILED)
end
scanFeature(_parentIcon_2_upvr.dropdownIcons, "beforeDropdown", _parentIcon_2_upvr._updateDropdown)
scanFeature(_parentIcon_2_upvr.menuIcons, "beforeMenu", _parentIcon_2_upvr._updateMenu)
for i_24, _ in pairs(arg1.notices) do
local var629 = _parentIcon_2_upvr.notices[i_24]
if var629 then
var629.completeSignal:Fire()
end
end
arg1._parentIcon = nil
IconController_upvr:_updateSelectionGroup()
arg1:_decideToCallSignal("dropdown")
arg1:_decideToCallSignal("menu")
return arg1
end
function var13_upvr._decideToCallSignal(arg1, arg2) -- Line 2257
local var630 = arg1[arg2.."Open"]
local var631 = "_previous"..string.sub(arg2, 1, 1):upper()..arg2:sub(2).."Open"
if var630 and 0 < #arg1[arg2.."Icons"] and arg1[var631] == false then
arg1[var631] = true
arg1[arg2.."Opened"]:Fire()
else
local function INLINED_19() -- Internal function, doesn't exist in bytecode
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return #arg1[arg2.."Icons"] == 0
end
local function INLINED_20() -- Internal function, doesn't exist in bytecode
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return arg1[var631] == true
end
if not var630 or INLINED_19() or INLINED_20() then
arg1[var631] = false
arg1[arg2.."Closed"]:Fire()
end
end
end
function var13_upvr._ignoreClipping(arg1, arg2) -- Line 2271
--[[ Upvalues[1]:
[1]: ActiveItems_upvr (readonly)
]]
local any_get_result1_3 = arg1:get(arg2.."IgnoreClipping")
if arg1._parentIcon then
local var662 = arg1['_'..arg2.."ClippingMaid"]
local var663_upvr = arg1.instances[arg2.."Container"]
var662:clean()
if any_get_result1_3 then
local Frame = Instance.new("Frame")
Frame.Name = var663_upvr.Name.."FakeFrame"
Frame.ClipsDescendants = true
Frame.BackgroundTransparency = 1
Frame.Size = var663_upvr.Size
Frame.Position = var663_upvr.Position
Frame.Parent = ActiveItems_upvr
for _, v_25 in pairs(var663_upvr:GetChildren()) do
v_25.Parent = Frame
local var668_upvr
end
local function _() -- Line 2290, Named "updateSize"
--[[ Upvalues[2]:
[1]: var663_upvr (readonly)
[2]: var668_upvr (readonly)
]]
local AbsoluteSize_6 = var663_upvr.AbsoluteSize
var668_upvr.Size = UDim2.new(0, AbsoluteSize_6.X, 0, AbsoluteSize_6.Y)
end
var662:give(var663_upvr:GetPropertyChangedSignal("AbsoluteSize"):Connect(function() -- Line 2294
--[[ Upvalues[2]:
[1]: var663_upvr (readonly)
[2]: var668_upvr (readonly)
]]
local AbsoluteSize_2 = var663_upvr.AbsoluteSize
var668_upvr.Size = UDim2.new(0, AbsoluteSize_2.X, 0, AbsoluteSize_2.Y)
end))
local AbsoluteSize = var663_upvr.AbsoluteSize
var668_upvr.Size = UDim2.new(0, AbsoluteSize.X, 0, AbsoluteSize.Y)
local function _() -- Line 2298, Named "updatePos"
--[[ Upvalues[2]:
[1]: var663_upvr (readonly)
[2]: var668_upvr (readonly)
]]
local absolutePosition_4 = var663_upvr.absolutePosition
var668_upvr.Position = UDim2.new(0, absolutePosition_4.X, 0, absolutePosition_4.Y + 36)
end
var662:give(var663_upvr:GetPropertyChangedSignal("AbsolutePosition"):Connect(function() -- Line 2302
--[[ Upvalues[2]:
[1]: var663_upvr (readonly)
[2]: var668_upvr (readonly)
]]
local absolutePosition_3 = var663_upvr.absolutePosition
var668_upvr.Position = UDim2.new(0, absolutePosition_3.X, 0, absolutePosition_3.Y + 36)
end))
local absolutePosition_2 = var663_upvr.absolutePosition
var668_upvr.Position = UDim2.new(0, absolutePosition_2.X, 0, absolutePosition_2.Y + 36)
var662:give(function() -- Line 2306
--[[ Upvalues[2]:
[1]: var668_upvr (readonly)
[2]: var663_upvr (readonly)
]]
for _, v_26 in pairs(var668_upvr:GetChildren()) do
v_26.Parent = var663_upvr
end
var668_upvr.Name = "Destroying..."
var668_upvr:Destroy()
end)
end
end
var668_upvr = arg2
arg1._ignoreClippingChanged:Fire(var668_upvr, any_get_result1_3)
end
function var13_upvr.setDropdown(arg1, arg2) -- Line 2319
for _, v_27 in pairs(arg1.dropdownIcons) do
v_27:leave()
end
if type(arg2) == "table" then
for _, v_28 in pairs(arg2) do
v_28:join(arg1, "dropdown", true)
end
end
arg1:_updateDropdown()
return arg1
end
function var13_upvr._updateDropdown(arg1) -- Line 2335
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local tbl_8 = {
maxIconsBeforeScroll = arg1:get("dropdownMaxIconsBeforeScroll") or "_NIL";
minWidth = arg1:get("dropdownMinWidth") or "_NIL";
padding = arg1:get("dropdownListPadding") or "_NIL";
dropdownAlignment = arg1:get("dropdownAlignment") or "_NIL";
iconAlignment = arg1:get("alignment") or "_NIL";
scrollBarThickness = arg1:get("dropdownScrollBarThickness") or "_NIL";
}
local var709
for _, v_29 in pairs(tbl_8) do
if v_29 == "_NIL" then return end
end
local Offset_3 = tbl_8.padding.Offset
local dropdownContainer = arg1.instances.dropdownContainer
local dropdownFrame = arg1.instances.dropdownFrame
var709 = arg1.dropdownIcons
local len_2 = #var709
local function INLINED_21() -- Internal function, doesn't exist in bytecode
var709 = tbl_8.maxIconsBeforeScroll
return var709
end
if tbl_8.maxIconsBeforeScroll >= len_2 or not INLINED_21() then
var709 = len_2
end
table.sort(arg1.dropdownIcons, function(arg1_6, arg2) -- Line 2356
local var715
if arg1_6:get("order") >= arg2:get("order") then
var715 = false
else
var715 = true
end
return var715
end)
for i_30 = 1, len_2 do
local _, any_get_result2 = arg1.dropdownIcons[i_30]:get("iconSize", nil, "beforeDropdown")
local var718 = any_get_result2.Y.Offset + Offset_3
local var719
if i_30 <= var709 then
var719 += var718
end
if i_30 == len_2 then
var719 += var718 / 4
end
local Offset_2 = any_get_result2.X.Offset
if tbl_8.minWidth < Offset_2 then
end
end
if var709 == len_2 then
else
end
arg1:set("dropdownCanvasSize", UDim2.new(0, 0, 0, -Offset_3 + var718))
arg1:set("dropdownSize", UDim2.new(0, (Offset_2 + 4) * 2, 0, var719))
local tbl_6 = {
left = {
AnchorPoint = Vector2.new(0, 0);
PositionXScale = 0;
ThicknessMultiplier = 0;
};
mid = {
AnchorPoint = Vector2.new(0.5, 0);
PositionXScale = 0.5;
ThicknessMultiplier = 0.5;
};
}
local tbl_5 = {
AnchorPoint = Vector2.new(0.5, 0);
PositionXScale = 1;
FrameAnchorPoint = Vector2.new(0, 0);
FramePositionXScale = 0;
ThicknessMultiplier = 1;
}
tbl_6.right = tbl_5
tbl_5 = tbl_6[tbl_8.dropdownAlignment:lower()]
local var725 = tbl_5
if not var725 then
var725 = tbl_6[tbl_8.iconAlignment:lower()]
end
dropdownContainer.AnchorPoint = var725.AnchorPoint
dropdownContainer.Position = UDim2.new(var725.PositionXScale, 0, 1, Offset_3 + 0)
local var726 = tbl_8.scrollBarThickness * var725.ThicknessMultiplier
if dropdownFrame.VerticalScrollBarPosition ~= Enum.VerticalScrollBarPosition.Right or not var726 then
end
if not var725.FrameAnchorPoint then
end
dropdownFrame.AnchorPoint = var725.AnchorPoint
local FramePositionXScale = var725.FramePositionXScale
if not FramePositionXScale then
FramePositionXScale = var725.PositionXScale
end
dropdownFrame.Position = UDim2.new(FramePositionXScale, -var726, 0, 0)
arg1._dropdownCanvasPos = Vector2.new(0, 0)
end
function var13_upvr._dropdownIgnoreClipping(arg1) -- Line 2413
arg1:_ignoreClipping("dropdown")
end
function var13_upvr.setMenu(arg1, arg2) -- Line 2419
for _, v_30 in pairs(arg1.menuIcons) do
v_30:leave()
end
if type(arg2) == "table" then
for _, v_31 in pairs(arg2) do
v_31:join(arg1, "menu", true)
end
end
arg1:_updateMenu()
return arg1
end
function var13_upvr._getMenuDirection(arg1) -- Line 2435
local var738
local var739
if var738 ~= "left" and var738 ~= "right" then
if arg1:get("alignment") or "_NIL":lower() == "left" then
var739 = "right"
else
var739 = "left"
end
var738 = var739
end
return var738
end
function var13_upvr._updateMenu(arg1) -- Line 2444
--[[ Upvalues[1]:
[1]: IconController_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local tbl_17 = {
maxIconsBeforeScroll = arg1:get("menuMaxIconsBeforeScroll") or "_NIL";
direction = arg1:get("menuDirection") or "_NIL";
iconAlignment = arg1:get("alignment") or "_NIL";
scrollBarThickness = arg1:get("menuScrollBarThickness") or "_NIL";
}
local var764
for _, v_32 in pairs(tbl_17) do
if v_32 == "_NIL" then return end
end
local var757 = IconController_upvr[tbl_17.iconAlignment.."Gap"]
local menuContainer = arg1.instances.menuContainer
local len = #arg1.menuIcons
local any__getMenuDirection_result1 = arg1:_getMenuDirection()
if tbl_17.maxIconsBeforeScroll >= len or not tbl_17.maxIconsBeforeScroll then
local var761 = len
end
local function INLINED_22() -- Internal function, doesn't exist in bytecode
function var764(arg1_7, arg2) -- Line 2464
local var763
if arg1_7:get("order") >= arg2:get("order") then
var763 = false
else
var763 = true
end
return var763
end
return var764
end
if any__getMenuDirection_result1 ~= "right" or not INLINED_22() then
function var764(arg1_8, arg2) -- Line 2464
local var765
if arg2:get("order") >= arg1_8:get("order") then
var765 = false
else
var765 = true
end
return var765
end
end
table.sort(arg1.menuIcons, var764)
for i_34 = 1, len do
local any_get_result1_5 = arg1.menuIcons[i_34]:get("iconSize")
local var767
if i_34 <= var761 then
var767 += any_get_result1_5.X.Offset + var757
end
if i_34 == var761 then
if i_34 ~= len then
var767 -= 2
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
local Offset = any_get_result1_5.Y.Offset
if 0 < Offset then
end
end
if var761 == len then
local _ = 0
else
end
arg1:set("menuCanvasSize", UDim2.new(0, (-var757) + (any_get_result1_5.X.Offset + var757) + var757, 0, 0))
arg1:set("menuSize", UDim2.new(0, var767, 0, Offset + tbl_17.scrollBarThickness + 3))
local tbl_3 = {}
local tbl_10 = {
containerAnchorPoint = Vector2.new(1, 0);
containerPosition = UDim2.new(0, -4, 0, 0);
}
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
tbl_10.canvasPosition = Vector2.new((-var757) + (any_get_result1_5.X.Offset + var757) + var757, 0)
tbl_3.left = tbl_10
tbl_3.right = {
containerAnchorPoint = Vector2.new(0, 0);
containerPosition = UDim2.new(1, var757 - 2, 0, 0);
canvasPosition = Vector2.new(0, 0);
}
local var773 = tbl_3[any__getMenuDirection_result1]
menuContainer.AnchorPoint = var773.containerAnchorPoint
menuContainer.Position = var773.containerPosition
arg1.instances.menuFrame.CanvasPosition = var773.canvasPosition
arg1._menuCanvasPos = var773.canvasPosition
arg1.instances.menuList.Padding = UDim.new(0, var757)
end
function var13_upvr._menuIgnoreClipping(arg1) -- Line 2509
arg1:_ignoreClipping("menu")
end
function var13_upvr.destroy(arg1) -- Line 2516
--[[ Upvalues[1]:
[1]: IconController_upvr (readonly)
]]
if arg1._destroyed then
else
IconController_upvr.iconRemoved:Fire(arg1)
arg1:clearNotices()
if arg1._parentIcon then
arg1:leave()
end
arg1:setDropdown()
arg1:setMenu()
arg1._destroyed = true
arg1._maid:clean()
end
end
var13_upvr.Destroy = var13_upvr.destroy
return var13_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:56:04
-- Luau version 6, Types version 3
-- Time taken: 0.075854 seconds
local StarterGui_upvr = game:GetService("StarterGui")
local GuiService_upvr = game:GetService("GuiService")
local RunService_upvr = game:GetService("RunService")
local Players_upvr = game:GetService("Players")
local module_upvr = {}
local Signal = require(script.Parent.Signal)
local TopbarPlusGui_upvr = require(script.Parent.TopbarPlusGui)
local tbl_3_upvr = {}
local var9_upvw
local function _() -- Line 166, Named "checkTopbarEnabled"
--[[ Upvalues[1]:
[1]: StarterGui_upvr (readonly)
]]
local xpcall_result1_11, xpcall_result2_4 = xpcall(function() -- Line 167
--[[ Upvalues[1]:
[1]: StarterGui_upvr (copied, readonly)
]]
return StarterGui_upvr:GetCore("TopbarEnabled")
end, function(arg1) -- Line 169
return true
end)
return xpcall_result1_11 and xpcall_result2_4
end
local function _() -- Line 176, Named "checkTopbarEnabledAccountingForMimic"
--[[ Upvalues[2]:
[1]: StarterGui_upvr (readonly)
[2]: module_upvr (readonly)
]]
local xpcall_result1_3, xpcall_result2_2 = xpcall(function() -- Line 167
--[[ Upvalues[1]:
[1]: StarterGui_upvr (copied, readonly)
]]
return StarterGui_upvr:GetCore("TopbarEnabled")
end, function(arg1) -- Line 169
return true
end)
local var18 = xpcall_result1_3 and xpcall_result2_2
if not var18 then
var18 = not module_upvr.mimicCoreGui
end
return var18
end
local tbl_2_upvr = {}
local tbl_4 = {
startScale = 0;
}
local function getOffset() -- Line 187
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: StarterGui_upvr (readonly)
]]
local xpcall_result1_2, xpcall_result2_7 = xpcall(function() -- Line 167
--[[ Upvalues[1]:
[1]: StarterGui_upvr (copied, readonly)
]]
return StarterGui_upvr:GetCore("TopbarEnabled")
end, function(arg1) -- Line 169
return true
end)
local var25
if xpcall_result1_2 and xpcall_result2_7 and StarterGui_upvr:GetCoreGuiEnabled("Chat") then
var25 += 44
end
return var25
end
tbl_4.getOffset = getOffset
local function getStartOffset() -- Line 194
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: tbl_2_upvr (readonly)
]]
return tbl_2_upvr.left.getOffset() + module_upvr.leftGap
end
tbl_4.getStartOffset = getStartOffset
tbl_4.records = {}
tbl_2_upvr.left = tbl_4
local tbl = {
startScale = 0.5;
}
local function getOffset() -- Line 203
return 0
end
tbl.getOffset = getOffset
local function getStartOffset(arg1) -- Line 206
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
return -arg1 / 2 + module_upvr.midGap / 2
end
tbl.getStartOffset = getStartOffset
tbl.records = {}
tbl_2_upvr.mid = tbl
tbl_2_upvr.right = {
startScale = 1;
getOffset = function() -- Line 214, Named "getOffset"
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: StarterGui_upvr (readonly)
]]
local rightOffset = module_upvr.rightOffset
local xpcall_result1_6, xpcall_result2_8 = xpcall(function() -- Line 167
--[[ Upvalues[1]:
[1]: StarterGui_upvr (copied, readonly)
]]
return StarterGui_upvr:GetCore("TopbarEnabled")
end, function(arg1) -- Line 169
return true
end)
if xpcall_result1_6 and xpcall_result2_8 and (StarterGui_upvr:GetCoreGuiEnabled(Enum.CoreGuiType.PlayerList) or StarterGui_upvr:GetCoreGuiEnabled(Enum.CoreGuiType.Backpack) or StarterGui_upvr:GetCoreGuiEnabled(Enum.CoreGuiType.EmotesMenu)) then
rightOffset += 48
end
return rightOffset
end;
getStartOffset = function(arg1) -- Line 221, Named "getStartOffset"
--[[ Upvalues[1]:
[1]: tbl_2_upvr (readonly)
]]
return -arg1 - tbl_2_upvr.right.getOffset()
end;
records = {};
}
module_upvr.topbarEnabled = true
module_upvr.controllerModeEnabled = false
local xpcall_result1_5, xpcall_result2_3 = xpcall(function() -- Line 167
--[[ Upvalues[1]:
[1]: StarterGui_upvr (readonly)
]]
return StarterGui_upvr:GetCore("TopbarEnabled")
end, function(arg1) -- Line 169
return true
end)
module_upvr.previousTopbarEnabled = xpcall_result1_5 and xpcall_result2_3
module_upvr.leftGap = 12
module_upvr.midGap = 12
module_upvr.rightGap = 12
module_upvr.leftOffset = 0
module_upvr.rightOffset = 0
module_upvr.mimicCoreGui = true
module_upvr.healthbarDisabled = false
module_upvr.iconAdded = Signal.new()
module_upvr.iconRemoved = Signal.new()
module_upvr.controllerModeStarted = Signal.new()
module_upvr.controllerModeEnded = Signal.new()
module_upvr.healthbarDisabledSignal = Signal.new()
local var38_upvw = 0
module_upvr.iconAdded:Connect(function(arg1) -- Line 256
--[[ Upvalues[3]:
[1]: tbl_3_upvr (readonly)
[2]: module_upvr (readonly)
[3]: var38_upvw (read and write)
]]
tbl_3_upvr[arg1] = true
if module_upvr.gameTheme then
arg1:setTheme(module_upvr.gameTheme)
end
arg1.updated:Connect(function() -- Line 261
--[[ Upvalues[1]:
[1]: module_upvr (copied, readonly)
]]
module_upvr.updateTopbar()
end)
arg1.selected:Connect(function() -- Line 265
--[[ Upvalues[2]:
[1]: module_upvr (copied, readonly)
[2]: arg1 (readonly)
]]
for _, v in pairs(module_upvr.getIcons()) do
if arg1.deselectWhenOtherIconSelected and v ~= arg1 and v.deselectWhenOtherIconSelected and v:getToggleState() == "selected" then
v:deselect(arg1)
end
end
end)
var38_upvw += 1
arg1:setOrder(var38_upvw)
if module_upvr.controllerModeEnabled then
module_upvr._enableControllerModeForIcon(arg1, true)
end
module_upvr:_updateSelectionGroup()
module_upvr.updateTopbar()
end)
module_upvr.iconRemoved:Connect(function(arg1) -- Line 284
--[[ Upvalues[2]:
[1]: tbl_3_upvr (readonly)
[2]: module_upvr (readonly)
]]
tbl_3_upvr[arg1] = nil
arg1:setEnabled(false)
arg1:deselect()
arg1.updated:Fire()
module_upvr:_updateSelectionGroup()
end)
function module_upvr.setGameTheme(arg1) -- Line 295
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
module_upvr.gameTheme = arg1
for _, v_2 in pairs(module_upvr.getIcons()) do
v_2:setTheme(arg1)
end
end
function module_upvr.setDisplayOrder(arg1) -- Line 303
--[[ Upvalues[1]:
[1]: TopbarPlusGui_upvr (readonly)
]]
local tonumber_result1 = tonumber(arg1)
if not tonumber_result1 then
tonumber_result1 = TopbarPlusGui_upvr.DisplayOrder
end
TopbarPlusGui_upvr.DisplayOrder = tonumber_result1
end
module_upvr.setDisplayOrder(10)
function module_upvr.getIcons() -- Line 309
--[[ Upvalues[1]:
[1]: tbl_3_upvr (readonly)
]]
local module = {}
for i_3, _ in pairs(tbl_3_upvr) do
table.insert(module, i_3)
end
return module
end
function module_upvr.getIcon(arg1) -- Line 317
--[[ Upvalues[1]:
[1]: tbl_3_upvr (readonly)
]]
for i_4, _ in pairs(tbl_3_upvr) do
if i_4.name == arg1 then
return i_4
end
end
return false
end
function module_upvr.disableHealthbar(arg1) -- Line 326
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
local var66 = true
if arg1 ~= nil then
var66 = arg1
end
module_upvr.healthbarDisabled = var66
module_upvr.healthbarDisabledSignal:Fire(var66)
end
function module_upvr.canShowIconOnTopbar(arg1) -- Line 332
if arg1.enabled == true or arg1.accountForWhenDisabled then
if arg1.presentOnTopbar then
return true
end
end
return false
end
function module_upvr.getMenuOffset(arg1) -- Line 339
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
local var67 = module_upvr[arg1:get("alignment").."Gap"]
local any_get_result1_7 = arg1:get("iconSize")
if not any_get_result1_7 then
any_get_result1_7 = UDim2.new(0, 32, 0, 32)
end
local var69 = 0
local var70 = 0
local var71 = 0
if arg1.menuOpen then
local Offset = arg1:get("menuSize").X.Offset
local any__getMenuDirection_result1 = arg1:_getMenuDirection()
if any__getMenuDirection_result1 == "right" then
var70 += Offset + var67 / 6
return var69, var70, var71
end
if any__getMenuDirection_result1 == "left" then
var69 = Offset + 4
var70 += var67 / 3
var71 = Offset
end
end
return var69, var70, var71
end
local var74_upvw = false
local var75_upvw = false
local TweenService_upvr = game:GetService("TweenService")
function module_upvr.updateTopbar() -- Line 365
--[[ Upvalues[8]:
[1]: module_upvr (readonly)
[2]: var74_upvw (read and write)
[3]: var75_upvw (read and write)
[4]: RunService_upvr (readonly)
[5]: tbl_2_upvr (readonly)
[6]: tbl_3_upvr (readonly)
[7]: TopbarPlusGui_upvr (readonly)
[8]: TweenService_upvr (readonly)
]]
local function getIncrement_upvr(arg1, arg2) -- Line 366, Named "getIncrement"
--[[ Upvalues[1]:
[1]: module_upvr (copied, readonly)
]]
local any_get_result1_2 = arg1:get("iconSize", arg1:getIconState())
if not any_get_result1_2 then
any_get_result1_2 = UDim2.new(0, 32, 0, 32)
end
local var78 = any_get_result1_2.X.Offset + module_upvr[arg2.."Gap"]
local var79 = 0
if arg1._parentIcon == nil then
local any_getMenuOffset_result1_2, any_getMenuOffset_result2_2, any_getMenuOffset_result3 = module_upvr.getMenuOffset(arg1)
var79 += any_getMenuOffset_result1_2
var78 += any_getMenuOffset_result2_2 + any_getMenuOffset_result3
end
return var78, var79
end
if var74_upvw then
var75_upvw = true
return false
end
coroutine.wrap(function() -- Line 386
--[[ Upvalues[9]:
[1]: var74_upvw (copied, read and write)
[2]: RunService_upvr (copied, readonly)
[3]: tbl_2_upvr (copied, readonly)
[4]: tbl_3_upvr (copied, readonly)
[5]: module_upvr (copied, readonly)
[6]: getIncrement_upvr (readonly)
[7]: TopbarPlusGui_upvr (copied, readonly)
[8]: TweenService_upvr (copied, readonly)
[9]: var75_upvw (copied, read and write)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 168 start (CF ANALYSIS FAILED)
var74_upvw = true
RunService_upvr.Heartbeat:Wait()
var74_upvw = false
local var135
for _, v_5 in pairs(tbl_2_upvr) do
v_5.records = {}
end
for i_6, _ in pairs(tbl_3_upvr) do
if module_upvr.canShowIconOnTopbar(i_6) then
var135 = "alignment"
var135 = tbl_2_upvr[i_6:get(var135)].records
table.insert(var135, i_6)
end
end
local ViewportSize = workspace.CurrentCamera.ViewportSize
for i_7, v_7 in pairs(tbl_2_upvr) do
local records = v_7.records
var135 = #records
if 1 < var135 then
var135 = v_7.reverseSort
if var135 then
var135 = table.sort
var135(records, function(arg1, arg2) -- Line 406
local var145
if arg2:get("order") >= arg1:get("order") then
var145 = false
else
var145 = true
end
return var145
end)
else
var135 = table.sort
var135(records, function(arg1, arg2) -- Line 408
local var147
if arg1:get("order") >= arg2:get("order") then
var147 = false
else
var147 = true
end
return var147
end)
end
end
var135 = 0
for _, v_8 in pairs(records) do
var135 += getIncrement_upvr(v_8, i_7)
end
local any_getStartOffset_result1 = v_7.getStartOffset(var135, i_7)
local _ = any_getStartOffset_result1
for _, v_9 in pairs(records) do
local _, _ = getIncrement_upvr(v_9, i_7)
local var158
end
for _, v_10 in pairs(records) do
local getIncrement_upvr_result1, getIncrement_upvr_result2 = getIncrement_upvr(v_10, i_7)
local topPadding = v_10.topPadding
local udim2 = UDim2.new(v_7.startScale, any_getStartOffset_result1 + getIncrement_upvr_result2, topPadding.Scale, topPadding.Offset)
local any_get_result1_6 = v_10:get("repositionInfo")
if any_get_result1_6 then
TweenService_upvr:Create(v_10.instances.iconContainer, any_get_result1_6, {
Position = udim2;
}):Play()
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
v_10.instances.iconContainer.Position = udim2
end
v_10.targetPosition = UDim2.new(0, udim2.X.Scale * ViewportSize.X + udim2.X.Offset, 0, udim2.Y.Scale * ViewportSize.Y + udim2.Y.Offset)
end
end
local function _(arg1, arg2, arg3) -- Line 444, Named "getBoundaryX"
--[[ Upvalues[1]:
[1]: module_upvr (copied, readonly)
]]
local var168 = arg3 or 0
local any_getMenuOffset_result1_4, any_getMenuOffset_result2 = module_upvr.getMenuOffset(arg1)
local var171
local function INLINED() -- Internal function, doesn't exist in bytecode
var171 = -var168 - any_getMenuOffset_result1_4
return var171
end
if arg2 ~= "left" or not INLINED() then
var171 = false
if arg2 == "right" then
var171 = arg1:get("iconSize", arg1:getIconState()).X.Offset + var168 + any_getMenuOffset_result2
end
end
return arg1.targetPosition.X.Offset + var171
end
local function _(arg1, arg2) -- Line 453, Named "getSizeX"
--[[ Upvalues[1]:
[1]: module_upvr (copied, readonly)
]]
local any_get_result1_4, any_get_result2_2 = arg1:get("iconSize", arg1:getIconState(), "beforeDropdown")
local any_get_result1_5 = arg1:get("iconSize", "hovering")
local var181
if var181 and any_get_result2_2 and any_get_result1_5 then
var181 = any_get_result1_5.X.Offset
if any_get_result2_2.X.Offset < var181 then
any_get_result2_2 = any_get_result1_5
end
end
local function INLINED_3() -- Internal function, doesn't exist in bytecode
var181 = any_get_result2_2
return var181
end
if not arg2 or not INLINED_3() then
var181 = any_get_result1_4
end
local any_getMenuOffset_result1_3, any_getMenuOffset_result2_4 = module_upvr.getMenuOffset(arg1)
return var181.X.Offset + any_getMenuOffset_result1_3 + any_getMenuOffset_result2_4
end
local pairs_result1_8, pairs_result2_7, pairs_result3_2 = pairs(tbl_2_upvr)
-- KONSTANTERROR: [0] 1. Error Block 168 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [700] 505. Error Block 128 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [700] 505. Error Block 128 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [218] 158. Error Block 25 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [218] 158. Error Block 25 end (CF ANALYSIS FAILED)
end)()
end
local var187_upvw = false
local HapticService_upvr = game:GetService("HapticService")
function module_upvr.setTopbarEnabled(arg1, arg2) -- Line 631
--[[ Upvalues[9]:
[1]: TopbarPlusGui_upvr (readonly)
[2]: var187_upvw (read and write)
[3]: StarterGui_upvr (readonly)
[4]: module_upvr (readonly)
[5]: var9_upvw (read and write)
[6]: HapticService_upvr (readonly)
[7]: RunService_upvr (readonly)
[8]: tbl_3_upvr (readonly)
[9]: GuiService_upvr (readonly)
]]
if arg2 == nil then
local var215 = true
end
local Indicator = TopbarPlusGui_upvr.Indicator
if var215 and not arg1 then
var187_upvw = true
elseif var215 and arg1 then
var187_upvw = false
end
local xpcall_result1_10, xpcall_result2_5 = xpcall(function() -- Line 167
--[[ Upvalues[1]:
[1]: StarterGui_upvr (copied, readonly)
]]
return StarterGui_upvr:GetCore("TopbarEnabled")
end, function(arg1_3) -- Line 169
return true
end)
local var221 = xpcall_result1_10 and xpcall_result2_5
if not var221 then
var221 = not module_upvr.mimicCoreGui
end
local var222 = var221
local var223
if var223 then
if arg1 then
var223 = TopbarPlusGui_upvr.TopbarContainer.Visible
local function INLINED_4() -- Internal function, doesn't exist in bytecode
var223 = var187_upvw
return var223
end
local function INLINED_5() -- Internal function, doesn't exist in bytecode
var223 = var9_upvw
return var223
end
if var223 or INLINED_4() or INLINED_5() or not var222 then
else
if var215 then
Indicator.Visible = var222
return
end
var223 = HapticService_upvr:IsVibrationSupported(Enum.UserInputType.Gamepad1)
if var223 then
var223 = HapticService_upvr:IsMotorSupported(Enum.UserInputType.Gamepad1, Enum.VibrationMotor.Small)
if var223 then
var223 = HapticService_upvr:SetMotor
var223(Enum.UserInputType.Gamepad1, Enum.VibrationMotor.Small, 1)
var223 = delay
var223(0.2, function() -- Line 650
--[[ Upvalues[1]:
[1]: HapticService_upvr (copied, readonly)
]]
pcall(function() -- Line 651
--[[ Upvalues[1]:
[1]: HapticService_upvr (copied, readonly)
]]
HapticService_upvr:SetMotor(Enum.UserInputType.Gamepad1, Enum.VibrationMotor.Small, 0)
end)
end)
end
end
var223 = TopbarPlusGui_upvr.TopbarContainer
var223.Visible = true
var223 = TopbarPlusGui_upvr.TopbarContainer:TweenPosition
var223(UDim2.new(0, 0, 0, 37), Enum.EasingDirection.Out, Enum.EasingStyle.Quad, 0.1, true)
var223 = nil
local var226 = var223
module_upvr:_updateSelectionGroup()
RunService_upvr.Heartbeat:Wait()
for i_13, _ in pairs(tbl_3_upvr) do
if module_upvr.canShowIconOnTopbar(i_13) and (var226 == nil or var226:get("order") < i_13:get("order")) then
var226 = i_13
end
local var230 = -27 + i_13.instances.iconContainer.AbsoluteSize.Y + 50
if 0 < var230 then
end
end
if GuiService_upvr:GetEmotesMenuOpen() then
GuiService_upvr:SetEmotesMenuOpen(false)
end
if GuiService_upvr:GetInspectMenuEnabled() then
GuiService_upvr:CloseInspectMenu()
end
local _previousSelectedObject = module_upvr._previousSelectedObject
if not _previousSelectedObject then
_previousSelectedObject = var226.instances.iconButton
end
module_upvr._setControllerSelectedObject(_previousSelectedObject)
Indicator.Image = "rbxassetid://5278151071"
Indicator:TweenPosition(UDim2.new(0.5, 0, 0, var230 + 32), Enum.EasingDirection.Out, Enum.EasingStyle.Quad, 0.1, true)
end
end
if var215 then
var226 = false
Indicator.Visible = var226
else
Indicator.Visible = var222
end
var226 = TopbarPlusGui_upvr.TopbarContainer.Visible
if not var226 then
else
var226 = GuiService_upvr
var226.AutoSelectGuiEnabled = true
var226 = module_upvr:_updateSelectionGroup
var226(true)
var226 = TopbarPlusGui_upvr.TopbarContainer
var226 = var226:TweenPosition
var226(UDim2.new(0, 0, 0, -TopbarPlusGui_upvr.TopbarContainer.Size.Y.Offset + 32), Enum.EasingDirection.Out, Enum.EasingStyle.Quad, 0.1, true, function() -- Line 713
--[[ Upvalues[1]:
[1]: TopbarPlusGui_upvr (copied, readonly)
]]
TopbarPlusGui_upvr.TopbarContainer.Visible = false
end)
var226 = "rbxassetid://5278151556"
Indicator.Image = var226
var226 = Indicator:TweenPosition
var226(UDim2.new(0.5, 0, 0, 5), Enum.EasingDirection.Out, Enum.EasingStyle.Quad, 0.1, true)
end
end
var226 = TopbarPlusGui_upvr.TopbarContainer
local var233 = var226
if var222 then
var233.Visible = arg1
else
var233.Visible = false
end
end
function module_upvr.setGap(arg1, arg2) -- Line 736
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
local var234 = tonumber(arg1) or 12
local any_lower_result1 = tostring(arg2):lower()
if any_lower_result1 == "left" or any_lower_result1 == "mid" or any_lower_result1 == "right" then
module_upvr[any_lower_result1.."Gap"] = var234
module_upvr.updateTopbar()
else
module_upvr.leftGap = var234
module_upvr.midGap = var234
module_upvr.rightGap = var234
module_upvr.updateTopbar()
end
end
function module_upvr.setLeftOffset(arg1) -- Line 750
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
module_upvr.leftOffset = tonumber(arg1) or 0
module_upvr.updateTopbar()
end
function module_upvr.setRightOffset(arg1) -- Line 755
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
module_upvr.rightOffset = tonumber(arg1) or 0
module_upvr.updateTopbar()
end
local LocalPlayer_upvr = Players_upvr.LocalPlayer
local tbl_5_upvw = {}
LocalPlayer_upvr.CharacterAdded:Connect(function() -- Line 762
--[[ Upvalues[1]:
[1]: tbl_5_upvw (read and write)
]]
for _, v_11 in pairs(tbl_5_upvw) do
v_11:destroy()
end
tbl_5_upvw = {}
end)
function module_upvr.clearIconOnSpawn(arg1) -- Line 768
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: tbl_5_upvw (read and write)
]]
coroutine.wrap(function() -- Line 769
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: tbl_5_upvw (copied, read and write)
[3]: arg1 (readonly)
]]
if not LocalPlayer_upvr.Character then
end
table.insert(tbl_5_upvw, arg1)
end)()
end
function module_upvr._updateSelectionGroup(arg1, arg2) -- Line 778
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: GuiService_upvr (readonly)
]]
if module_upvr._navigationEnabled then
GuiService_upvr:RemoveSelectionGroup("TopbarPlusIcons")
end
if arg2 then
GuiService_upvr.CoreGuiNavigationEnabled = module_upvr._originalCoreGuiNavigationEnabled
GuiService_upvr.GuiNavigationEnabled = module_upvr._originalGuiNavigationEnabled
module_upvr._navigationEnabled = nil
elseif module_upvr.controllerModeEnabled then
for _, v_15 in pairs(module_upvr.getIcons()) do
if not v_15.joinedFeatureName or v_15._parentIcon[v_15.joinedFeatureName.."Open"] == true then
table.insert({}, v_15.instances.iconButton)
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
GuiService_upvr:AddSelectionTuple("TopbarPlusIcons", table.unpack({}))
if not module_upvr._navigationEnabled then
module_upvr._originalCoreGuiNavigationEnabled = GuiService_upvr.CoreGuiNavigationEnabled
module_upvr._originalGuiNavigationEnabled = GuiService_upvr.GuiNavigationEnabled
GuiService_upvr.CoreGuiNavigationEnabled = false
GuiService_upvr.GuiNavigationEnabled = true
module_upvr._navigationEnabled = true
end
end
end
local function _() -- Line 806, Named "getScaleMultiplier"
--[[ Upvalues[1]:
[1]: GuiService_upvr (readonly)
]]
if GuiService_upvr:IsTenFootInterface() then
return 3
end
return 1.3
end
function module_upvr._setControllerSelectedObject(arg1) -- Line 814
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: GuiService_upvr (readonly)
]]
local var250_upvr
local function INLINED_6() -- Internal function, doesn't exist in bytecode
var250_upvr = module_upvr._controllerSetCount + 1
return var250_upvr
end
if not module_upvr._controllerSetCount or not INLINED_6() then
var250_upvr = 0
end
module_upvr._controllerSetCount = var250_upvr
GuiService_upvr.SelectedObject = arg1
delay(0.1, function() -- Line 818
--[[ Upvalues[4]:
[1]: module_upvr (copied, readonly)
[2]: var250_upvr (readonly)
[3]: GuiService_upvr (copied, readonly)
[4]: arg1 (readonly)
]]
if var250_upvr == module_upvr._controllerSetCount then
GuiService_upvr.SelectedObject = arg1
end
end)
end
function module_upvr._enableControllerMode(arg1) -- Line 826
--[[ Upvalues[5]:
[1]: TopbarPlusGui_upvr (readonly)
[2]: module_upvr (readonly)
[3]: GuiService_upvr (readonly)
[4]: StarterGui_upvr (readonly)
[5]: tbl_3_upvr (readonly)
]]
local Indicator_3 = TopbarPlusGui_upvr.Indicator
if module_upvr.controllerModeEnabled == arg1 then
else
module_upvr.controllerModeEnabled = arg1
if arg1 then
TopbarPlusGui_upvr.TopbarContainer.Position = UDim2.new(0, 0, 0, 5)
local TopbarContainer = TopbarPlusGui_upvr.TopbarContainer
TopbarContainer.Visible = false
if GuiService_upvr:IsTenFootInterface() then
TopbarContainer = 3
else
TopbarContainer = 1.3
end
Indicator_3.Position = UDim2.new(0.5, 0, 0, 5)
Indicator_3.Size = UDim2.new(0, 18 * TopbarContainer, 0, 18 * TopbarContainer)
Indicator_3.Image = "rbxassetid://5278151556"
local xpcall_result1_9, xpcall_result2 = xpcall(function() -- Line 167
--[[ Upvalues[1]:
[1]: StarterGui_upvr (copied, readonly)
]]
return StarterGui_upvr:GetCore("TopbarEnabled")
end, function(arg1_4) -- Line 169
return true
end)
local var262 = xpcall_result1_9 and xpcall_result2
if not var262 then
var262 = not module_upvr.mimicCoreGui
end
Indicator_3.Visible = var262
Indicator_3.Position = UDim2.new(0.5, 0, 0, 5)
else
TopbarPlusGui_upvr.TopbarContainer.Position = UDim2.new(0, 0, 0, 0)
local xpcall_result1_4, xpcall_result2_11 = xpcall(function() -- Line 167
--[[ Upvalues[1]:
[1]: StarterGui_upvr (copied, readonly)
]]
return StarterGui_upvr:GetCore("TopbarEnabled")
end, function(arg1_5) -- Line 169
return true
end)
local var267 = xpcall_result1_4 and xpcall_result2_11
if not var267 then
var267 = not module_upvr.mimicCoreGui
end
TopbarPlusGui_upvr.TopbarContainer.Visible = var267
Indicator_3.Visible = false
module_upvr._setControllerSelectedObject(nil)
end
for i_14, _ in pairs(tbl_3_upvr) do
module_upvr._enableControllerModeForIcon(i_14, arg1)
end
end
end
function module_upvr._enableControllerModeForIcon(arg1, arg2) -- Line 853
--[[ Upvalues[1]:
[1]: GuiService_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [5] 4. Error Block 2 start (CF ANALYSIS FAILED)
arg1:leave()
-- KONSTANTERROR: [5] 4. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [8] 6. Error Block 3 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [8] 6. Error Block 3 end (CF ANALYSIS FAILED)
end
local var271_upvw = false
function module_upvr.setupHealthbar() -- Line 890
--[[ Upvalues[5]:
[1]: var271_upvw (read and write)
[2]: RunService_upvr (readonly)
[3]: StarterGui_upvr (readonly)
[4]: module_upvr (readonly)
[5]: LocalPlayer_upvr (readonly)
]]
if var271_upvw then
else
var271_upvw = true
task.defer(function() -- Line 898
--[[ Upvalues[4]:
[1]: RunService_upvr (copied, readonly)
[2]: StarterGui_upvr (copied, readonly)
[3]: module_upvr (copied, readonly)
[4]: LocalPlayer_upvr (copied, readonly)
]]
RunService_upvr.Heartbeat:Wait()
require(script.Parent).new():setProperty("internalIcon", true):setName("_FakeHealthbar"):setRight():setOrder(-420):setSize(80, 32):lock():set("iconBackgroundTransparency", 1):give(function(arg1) -- Line 910
--[[ Upvalues[3]:
[1]: StarterGui_upvr (copied, readonly)
[2]: module_upvr (copied, readonly)
[3]: LocalPlayer_upvr (copied, readonly)
]]
local Frame = Instance.new("Frame")
Frame.Name = "HealthContainer"
Frame.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
Frame.BorderSizePixel = 0
Frame.AnchorPoint = Vector2.new(0, 0.5)
Frame.Position = UDim2.new(0, 0, 0.5, 0)
Frame.Size = UDim2.new(1, 0, 0.2, 0)
Frame.Visible = true
Frame.ZIndex = 11
print("icon = ", arg1)
print("icon.instances = ", arg1.instances)
print("icon.instances.iconButton = ", arg1.instances.iconButton)
Frame.Parent = arg1.instances.iconButton
local UICorner = Instance.new("UICorner")
UICorner.CornerRadius = UDim.new(1, 0)
UICorner.Parent = Frame
local clone = Frame:Clone()
clone.Name = "HealthFrame"
clone.BackgroundColor3 = Color3.fromRGB(167, 167, 167)
clone.BorderSizePixel = 0
clone.AnchorPoint = Vector2.new(0.5, 0.5)
clone.Position = UDim2.new(0.5, 0, 0.5, 0)
clone.Size = UDim2.new(1, -2, 1, -2)
clone.Visible = true
clone.ZIndex = 12
clone.Parent = Frame
local clone_2_upvr = clone:Clone()
clone_2_upvr.Name = "HealthBar"
clone_2_upvr.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
clone_2_upvr.BorderSizePixel = 0
clone_2_upvr.AnchorPoint = Vector2.new(0, 0.5)
clone_2_upvr.Position = UDim2.new(0, 0, 0.5, 0)
clone_2_upvr.Size = UDim2.new(0.5, 0, 1, 0)
clone_2_upvr.Visible = true
clone_2_upvr.ZIndex = 13
clone_2_upvr.Parent = clone
local function powColor3_upvr(arg1_6, arg2) -- Line 956, Named "powColor3"
return Color3.new(math.pow(arg1_6.R, arg2), math.pow(arg1_6.G, arg2), math.pow(arg1_6.B, arg2))
end
local function _(arg1_7, arg2, arg3, arg4) -- Line 964, Named "lerpColor"
--[[ Upvalues[1]:
[1]: powColor3_upvr (readonly)
]]
local var278 = arg4 or 2
local var279 = var278
local var280 = var278
return powColor3_upvr(Color3.new(math.pow(arg1_7.R, var279), math.pow(arg1_7.G, var279), math.pow(arg1_7.B, var279)):Lerp(Color3.new(math.pow(arg2.R, var280), math.pow(arg2.G, var280), math.pow(arg2.B, var280)), arg3), 1 / var278)
end
local var281_upvw = true
local Color3_fromRGB_result1_upvr_2 = Color3.fromRGB(27, 252, 107)
local Color3_fromRGB_result1_upvr = Color3.fromRGB(250, 235, 0)
local Color3_fromRGB_result1_upvr_3 = Color3.fromRGB(255, 28, 0)
local function listenToHealth_upvr(arg1_8) -- Line 972, Named "listenToHealth"
--[[ Upvalues[8]:
[1]: StarterGui_upvr (copied, readonly)
[2]: module_upvr (copied, readonly)
[3]: var281_upvw (read and write)
[4]: arg1 (readonly)
[5]: Color3_fromRGB_result1_upvr_2 (readonly)
[6]: Color3_fromRGB_result1_upvr (readonly)
[7]: Color3_fromRGB_result1_upvr_3 (readonly)
[8]: clone_2_upvr (readonly)
]]
if not arg1_8 then
else
local Humanoid_upvr = arg1_8:WaitForChild("Humanoid", 10)
if not Humanoid_upvr then return end
local function updateHealthBar() -- Line 981
--[[ Upvalues[9]:
[1]: StarterGui_upvr (copied, readonly)
[2]: Humanoid_upvr (readonly)
[3]: module_upvr (copied, readonly)
[4]: var281_upvw (copied, read and write)
[5]: arg1 (copied, readonly)
[6]: Color3_fromRGB_result1_upvr_2 (copied, readonly)
[7]: Color3_fromRGB_result1_upvr (copied, readonly)
[8]: Color3_fromRGB_result1_upvr_3 (copied, readonly)
[9]: clone_2_upvr (copied, readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var286 = Humanoid_upvr.Health / Humanoid_upvr.MaxHealth
local var287
if var286 == 1 or module_upvr.healthbarDisabled or var281_upvw and StarterGui_upvr:GetCoreGuiEnabled(Enum.CoreGuiType.Health) == false then
if arg1.enabled then
arg1:setEnabled(false)
end
else
if var286 < 1 then
if not arg1.enabled then
arg1:setEnabled(true)
end
var281_upvw = false
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if StarterGui_upvr:GetCoreGuiEnabled(Enum.CoreGuiType.Health) then
var287 = false
StarterGui_upvr:SetCoreGuiEnabled(Enum.CoreGuiType.Health, var287)
end
end
local var288 = 1.25 * var286
local var289 = var288 + -0.125
if 1 < var289 then
var288 = 1
elseif var289 < 0 then
var288 = 0
else
var288 = var289
end
var287 = 0.5
if var287 >= var286 or not Color3_fromRGB_result1_upvr_2 then
local var290 = Color3_fromRGB_result1_upvr
end
local function INLINED_7() -- Internal function, doesn't exist in bytecode
var287 = Color3_fromRGB_result1_upvr
return var287
end
if 0.5 >= var286 or not INLINED_7() then
var287 = Color3_fromRGB_result1_upvr_3
end
local var291 = (1 - var288) * 2
if 0.5 >= var286 or not (1 - var291) then
end
local var292 = nil or 2
local var293 = var292
local var294 = var292
local any_Lerp_result1 = Color3.new(math.pow(var287.R, var293), math.pow(var287.G, var293), math.pow(var287.B, var293)):Lerp(Color3.new(math.pow(var290.R, var294), math.pow(var290.G, var294), math.pow(var290.B, var294)), 2 - var291)
local var296 = 1 / var292
clone_2_upvr.BackgroundColor3 = Color3.new(math.pow(any_Lerp_result1.R, var296), math.pow(any_Lerp_result1.G, var296), math.pow(any_Lerp_result1.B, var296))
clone_2_upvr.Size = UDim2.new(var286, 0, 1, 0)
end
end
Humanoid_upvr.HealthChanged:Connect(updateHealthBar)
module_upvr.healthbarDisabledSignal:Connect(updateHealthBar)
updateHealthBar()
end
end
LocalPlayer_upvr.CharacterAdded:Connect(function(arg1_9) -- Line 1018
--[[ Upvalues[1]:
[1]: listenToHealth_upvr (readonly)
]]
listenToHealth_upvr(arg1_9)
end)
task.spawn(listenToHealth_upvr, LocalPlayer_upvr.Character)
end)
end)
end
end
local UserInputService_upvr = game:GetService("UserInputService")
coroutine.wrap(function() -- Line 1030
--[[ Upvalues[6]:
[1]: RunService_upvr (readonly)
[2]: UserInputService_upvr (readonly)
[3]: module_upvr (readonly)
[4]: GuiService_upvr (readonly)
[5]: StarterGui_upvr (readonly)
[6]: tbl_2_upvr (readonly)
]]
RunService_upvr.Heartbeat:Wait()
local Parent = require(script.Parent)
local any_setProperty_result1_upvr = Parent.new():setProperty("internalIcon", true):setName("_TopbarControllerOption"):setOrder(100):setImage("rbxassetid://5278150942"):setRight():setEnabled(false):setTip("Controller mode"):setProperty("deselectWhenOtherIconSelected", false)
local function determineDisplay() -- Line 1048
--[[ Upvalues[3]:
[1]: UserInputService_upvr (copied, readonly)
[2]: any_setProperty_result1_upvr (readonly)
[3]: module_upvr (copied, readonly)
]]
local MouseEnabled = UserInputService_upvr.MouseEnabled
local GamepadEnabled = UserInputService_upvr.GamepadEnabled
if MouseEnabled and GamepadEnabled then
any_setProperty_result1_upvr:setEnabled(true)
else
if MouseEnabled then
if not GamepadEnabled then
any_setProperty_result1_upvr:setEnabled(false)
module_upvr._enableControllerMode(false)
any_setProperty_result1_upvr:deselect()
return
end
end
if not MouseEnabled and GamepadEnabled then
any_setProperty_result1_upvr:setEnabled(false)
module_upvr._enableControllerMode(true)
end
end
end
UserInputService_upvr:GetPropertyChangedSignal("MouseEnabled"):Connect(determineDisplay)
UserInputService_upvr.GamepadConnected:Connect(determineDisplay)
UserInputService_upvr.GamepadDisconnected:Connect(determineDisplay)
determineDisplay()
local function iconClicked() -- Line 1072
--[[ Upvalues[2]:
[1]: any_setProperty_result1_upvr (readonly)
[2]: module_upvr (copied, readonly)
]]
local var306 = any_setProperty_result1_upvr
local isSelected = var306.isSelected
if isSelected then
var306 = "Normal mode"
else
var306 = "Controller mode"
end
any_setProperty_result1_upvr:setTip(var306)
module_upvr._enableControllerMode(isSelected)
end
any_setProperty_result1_upvr.selected:Connect(iconClicked)
any_setProperty_result1_upvr.deselected:Connect(iconClicked)
UserInputService_upvr.InputBegan:Connect(function(arg1, arg2) -- Line 1082
--[[ Upvalues[3]:
[1]: module_upvr (copied, readonly)
[2]: GuiService_upvr (copied, readonly)
[3]: StarterGui_upvr (copied, readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 21 start (CF ANALYSIS FAILED)
if not module_upvr.controllerModeEnabled then
else
if arg1.KeyCode == Enum.KeyCode.DPadDown then
if not GuiService_upvr.SelectedObject then
local xpcall_result1_8, xpcall_result2_10 = xpcall(function() -- Line 167
--[[ Upvalues[1]:
[1]: StarterGui_upvr (copied, readonly)
]]
return StarterGui_upvr:GetCore("TopbarEnabled")
end, function(arg1_10) -- Line 169
return true
end)
local var313 = xpcall_result1_8 and xpcall_result2_10
if not var313 then
var313 = not module_upvr.mimicCoreGui
end
if var313 then
module_upvr.setTopbarEnabled(true, false)
-- KONSTANTWARNING: GOTO [59] #45
end
-- KONSTANTWARNING: GOTO [59] #45
end
elseif arg1.KeyCode == Enum.KeyCode.ButtonB then
module_upvr._previousSelectedObject = GuiService_upvr.SelectedObject
module_upvr._setControllerSelectedObject(nil)
module_upvr.setTopbarEnabled(false, false)
end
-- KONSTANTERROR: [0] 1. Error Block 21 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [59] 45. Error Block 12 start (CF ANALYSIS FAILED)
arg1:Destroy()
-- KONSTANTERROR: [59] 45. Error Block 12 end (CF ANALYSIS FAILED)
end
end)
for i_12, v_12 in pairs(tbl_2_upvr) do
if i_12 ~= "mid" then
local any_setEnabled_result1 = Parent.new():setProperty("internalIcon", true):setImage(6069276526):setName("_overflowIcon-"..i_12):setEnabled(false)
v_12.overflowIcon = any_setEnabled_result1
any_setEnabled_result1.accountForWhenDisabled = true
if i_12 == "left" then
any_setEnabled_result1:setOrder(math.huge)
any_setEnabled_result1:setLeft()
any_setEnabled_result1:set("dropdownAlignment", "right")
elseif i_12 == "right" then
any_setEnabled_result1:setOrder((-math.huge))
any_setEnabled_result1:setRight()
any_setEnabled_result1:set("dropdownAlignment", "left")
end
any_setEnabled_result1.lockedSettings = {
iconImage = true;
order = true;
alignment = true;
}
end
end
end)()
coroutine.wrap(function() -- Line 1126
--[[ Upvalues[3]:
[1]: Players_upvr (readonly)
[2]: StarterGui_upvr (readonly)
[3]: module_upvr (readonly)
]]
local ChatScript = Players_upvr.LocalPlayer.PlayerScripts:WaitForChild("ChatScript", 4)
if not ChatScript then
ChatScript = game:GetService("Chat"):WaitForChild("ChatScript", 4)
end
if not ChatScript then
else
local ChatMain = ChatScript:FindFirstChild("ChatMain")
if not ChatMain then return end
require(ChatMain).CoreGuiEnabled:connect(function() -- Line 1132
--[[ Upvalues[2]:
[1]: StarterGui_upvr (copied, readonly)
[2]: module_upvr (copied, readonly)
]]
local xpcall_result1, xpcall_result2_9 = xpcall(function() -- Line 167
--[[ Upvalues[1]:
[1]: StarterGui_upvr (copied, readonly)
]]
return StarterGui_upvr:GetCore("TopbarEnabled")
end, function(arg1) -- Line 169
return true
end)
local var327 = xpcall_result1 and xpcall_result2_9
if var327 == module_upvr.previousTopbarEnabled then
module_upvr.updateTopbar()
return "SetCoreGuiEnabled was called instead of SetCore"
end
if module_upvr.mimicCoreGui then
module_upvr.previousTopbarEnabled = var327
if module_upvr.controllerModeEnabled then
module_upvr.setTopbarEnabled(false, false)
else
module_upvr.setTopbarEnabled(var327, false)
end
end
module_upvr.updateTopbar()
end)
local _, _ = xpcall(function() -- Line 167
--[[ Upvalues[1]:
[1]: StarterGui_upvr (copied, readonly)
]]
return StarterGui_upvr:GetCore("TopbarEnabled")
end, function(arg1) -- Line 169
return true
end)
local var332
if not var332 and not module_upvr.mimicCoreGui then
var332 = true
end
module_upvr.setTopbarEnabled(var332, false)
end
end)()
GuiService_upvr.MenuClosed:Connect(function() -- Line 1156
--[[ Upvalues[2]:
[1]: var9_upvw (read and write)
[2]: module_upvr (readonly)
]]
var9_upvw = false
if not module_upvr.controllerModeEnabled then
module_upvr.setTopbarEnabled(module_upvr.topbarEnabled, false)
end
end)
GuiService_upvr.MenuOpened:Connect(function() -- Line 1162
--[[ Upvalues[2]:
[1]: var9_upvw (read and write)
[2]: module_upvr (readonly)
]]
var9_upvw = true
module_upvr.setTopbarEnabled(false, false)
end)
workspace.CurrentCamera:GetPropertyChangedSignal("ViewportSize"):Connect(function() -- Line 1168
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
module_upvr.updateTopbar()
end)
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:56:05
-- Luau version 6, Types version 3
-- Time taken: 0.004660 seconds
local module_upvr = {
ClassName = "Maid";
}
function module_upvr.new() -- Line 18
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
return setmetatable({
_tasks = {};
}, module_upvr)
end
function module_upvr.isMaid(arg1) -- Line 24
local var3 = false
if type(arg1) == "table" then
if arg1.ClassName ~= "Maid" then
var3 = false
else
var3 = true
end
end
return var3
end
function module_upvr.__index(arg1, arg2) -- Line 30
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr[arg2] then
return module_upvr[arg2]
end
return arg1._tasks[arg2]
end
function module_upvr.__newindex(arg1, arg2, arg3) -- Line 47
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr[arg2] ~= nil then
error("'%s' is reserved":format(tostring(arg2)), 2)
end
local _tasks_2 = arg1._tasks
local var5 = _tasks_2[arg2]
if var5 == arg3 then
else
_tasks_2[arg2] = arg3
if var5 then
if type(var5) == "function" then
var5()
return
end
if typeof(var5) == "RBXScriptConnection" then
var5:Disconnect()
return
end
if var5.Destroy then
var5:Destroy()
return
end
if var5.destroy then
var5:destroy()
end
end
end
end
function module_upvr.giveTask(arg1, arg2) -- Line 77
if not arg2 then
error("Task cannot be false or nil", 2)
end
local var6 = #arg1._tasks + 1
arg1[var6] = arg2
if type(arg2) == "table" and not arg2.Destroy and not arg2.destroy then
warn("[Maid.GiveTask] - Gave table task without .Destroy\n\n"..debug.traceback())
end
return var6
end
function module_upvr.give(arg1, arg2) -- Line 109
if type(arg2) == "table" and arg2.isAPromise then
local any_givePromise_result1, any_givePromise_result2 = arg1:givePromise(arg2)
_ = any_givePromise_result1 -- Setting global
return arg2, any_givePromise_result2
end
return arg2, arg1:giveTask(arg2)
end
function module_upvr.doCleaning(arg1) -- Line 121
local _tasks = arg1._tasks
for i, v in pairs(_tasks) do
if typeof(v) == "RBXScriptConnection" then
_tasks[i] = nil
v:Disconnect()
end
end
local next_result1, next_result2 = next(_tasks)
while next_result2 ~= nil do
_tasks[next_result1] = nil
i = next_result2
if type(i) == "function" then
next_result2()
else
i = next_result2
if typeof(i) == "RBXScriptConnection" then
next_result2:Disconnect()
elseif next_result2.Destroy then
next_result2:Destroy()
elseif next_result2.destroy then
next_result2:destroy()
end
end
i = _tasks
local _, _ = next(i)
end
end
module_upvr.destroy = module_upvr.doCleaning
module_upvr.clean = module_upvr.doCleaning
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:56:07
-- Luau version 6, Types version 3
-- Time taken: 0.004444 seconds
local HttpService_upvr = game:GetService("HttpService")
local module_upvr = {}
module_upvr.__index = module_upvr
module_upvr.ClassName = "Signal"
module_upvr.totalConnections = 0
function module_upvr.new(arg1) -- Line 12
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
local setmetatable_result1 = setmetatable({}, module_upvr)
if arg1 then
setmetatable_result1.connectionsChanged = module_upvr.new()
end
setmetatable_result1.connections = {}
setmetatable_result1.totalConnections = 0
setmetatable_result1.waiting = {}
setmetatable_result1.totalWaiting = 0
return setmetatable_result1
end
function module_upvr.Fire(arg1, ...) -- Line 30
for _, v in pairs(arg1.connections) do
v.Handler(...)
end
if 0 < arg1.totalWaiting then
for i_2, _ in pairs(arg1.waiting) do
arg1.waiting[i_2] = table.pack(...)
local _
end
end
end
module_upvr.fire = module_upvr.Fire
function module_upvr.Connect(arg1, arg2) -- Line 43
--[[ Upvalues[1]:
[1]: HttpService_upvr (readonly)
]]
if type(arg2) ~= "function" then
error("connect(%s)":format(typeof(arg2)), 2)
end
local any_GenerateGUID_result1_2_upvr = HttpService_upvr:GenerateGUID(false)
local module_upvr_2 = {
Connected = true;
ConnectionId = any_GenerateGUID_result1_2_upvr;
}
module_upvr_2.Handler = arg2
arg1.connections[any_GenerateGUID_result1_2_upvr] = module_upvr_2
function module_upvr_2.Disconnect(arg1_2) -- Line 56
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: any_GenerateGUID_result1_2_upvr (readonly)
[3]: module_upvr_2 (readonly)
]]
arg1.connections[any_GenerateGUID_result1_2_upvr] = nil
module_upvr_2.Connected = false
local var21 = arg1
var21.totalConnections -= 1
if arg1.connectionsChanged then
arg1.connectionsChanged:Fire(-1)
end
end
module_upvr_2.Destroy = module_upvr_2.Disconnect
module_upvr_2.destroy = module_upvr_2.Disconnect
module_upvr_2.disconnect = module_upvr_2.Disconnect
arg1.totalConnections += 1
if arg1.connectionsChanged then
arg1.connectionsChanged:Fire(1)
end
return module_upvr_2
end
module_upvr.connect = module_upvr.Connect
local Heartbeat_upvr = game:GetService("RunService").Heartbeat
function module_upvr.Wait(arg1) -- Line 76
--[[ Upvalues[2]:
[1]: HttpService_upvr (readonly)
[2]: Heartbeat_upvr (readonly)
]]
local any_GenerateGUID_result1 = HttpService_upvr:GenerateGUID(false)
arg1.waiting[any_GenerateGUID_result1] = true
arg1.totalWaiting += 1
repeat
Heartbeat_upvr:Wait()
until arg1.waiting[any_GenerateGUID_result1] ~= true
arg1.totalWaiting -= 1
arg1.waiting[any_GenerateGUID_result1] = nil
return unpack(arg1.waiting[any_GenerateGUID_result1])
end
module_upvr.wait = module_upvr.Wait
function module_upvr.Destroy(arg1) -- Line 88
if arg1.bindableEvent then
arg1.bindableEvent:Destroy()
arg1.bindableEvent = nil
end
if arg1.connectionsChanged then
arg1.connectionsChanged:Fire(-arg1.totalConnections)
arg1.connectionsChanged:Destroy()
arg1.connectionsChanged = nil
end
arg1.totalConnections = 0
for i_3, _ in pairs(arg1.connections) do
arg1.connections[i_3] = nil
end
end
module_upvr.destroy = module_upvr.Destroy
module_upvr.Disconnect = module_upvr.Destroy
module_upvr.disconnect = module_upvr.Destroy
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:56:08
-- Luau version 6, Types version 3
-- Time taken: 0.000719 seconds
for _, v in pairs(script:GetChildren()) do
if v:IsA("ModuleScript") then
({})[v.Name] = require(v)
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return {}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:56:10
-- Luau version 6, Types version 3
-- Time taken: 0.001751 seconds
local Color3_fromRGB_result1 = Color3.fromRGB(0, 170, 255)
local Color3_fromRGB_result1_3 = Color3.fromRGB(0, 120, 180)
local Color3_fromRGB_result1_2 = Color3.fromRGB(255, 255, 255)
return {
action = {
resizeInfo = TweenInfo.new(0.2, Enum.EasingStyle.Back);
repositionInfo = TweenInfo.new(0.2, Enum.EasingStyle.Back);
};
toggleable = {
deselected = {
iconGradientColor = ColorSequence.new(Color3_fromRGB_result1, Color3_fromRGB_result1_3);
iconGradientRotation = 90;
noticeCircleColor = Color3_fromRGB_result1;
noticeCircleImage = "http://www.roblox.com/asset/?id=4882430005";
noticeTextColor = Color3_fromRGB_result1_2;
captionOverlineColor = Color3_fromRGB_result1;
};
selected = {
iconBackgroundColor = Color3.fromRGB(255, 255, 255);
iconBackgroundTransparency = 0.1;
iconGradientColor = ColorSequence.new(Color3_fromRGB_result1, Color3_fromRGB_result1_3);
iconGradientRotation = 90;
iconImageColor = Color3.fromRGB(255, 255, 255);
iconTextColor = Color3.fromRGB(255, 255, 255);
noticeCircleColor = Color3_fromRGB_result1_2;
noticeTextColor = Color3_fromRGB_result1;
};
};
other = {};
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:56:11
-- Luau version 6, Types version 3
-- Time taken: 0.004255 seconds
return {
action = {
toggleTransitionInfo = TweenInfo.new(0.15, Enum.EasingStyle.Quad, Enum.EasingDirection.Out);
resizeInfo = TweenInfo.new(0.15, Enum.EasingStyle.Quad, Enum.EasingDirection.Out);
repositionInfo = TweenInfo.new(0.15, Enum.EasingStyle.Quad, Enum.EasingDirection.Out);
captionFadeInfo = TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out);
tipFadeInfo = TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out);
dropdownSlideInfo = TweenInfo.new(0.15, Enum.EasingStyle.Quad, Enum.EasingDirection.Out);
menuSlideInfo = TweenInfo.new(0.15, Enum.EasingStyle.Quad, Enum.EasingDirection.Out);
};
toggleable = {
deselected = {
iconBackgroundColor = Color3.fromRGB(0, 0, 0);
iconBackgroundTransparency = 0.5;
iconCornerRadius = UDim.new(0.25, 0);
iconGradientColor = ColorSequence.new(Color3.fromRGB(255, 255, 255));
iconGradientRotation = 0;
iconImage = "";
iconImageColor = Color3.fromRGB(255, 255, 255);
iconImageTransparency = 0;
iconImageYScale = 0.63;
iconImageRatio = 1;
iconLabelYScale = 0.45;
iconScale = UDim2.new(1, 0, 1, 0);
forcedIconSize = UDim2.new(0, 32, 0, 32);
iconSize = UDim2.new(0, 32, 0, 32);
iconOffset = UDim2.new(0, 0, 0, 0);
iconText = "";
iconTextColor = Color3.fromRGB(255, 255, 255);
iconFont = Enum.Font.GothamSemibold;
noticeCircleColor = Color3.fromRGB(255, 255, 255);
noticeCircleImage = "http://www.roblox.com/asset/?id=4871790969";
noticeTextColor = Color3.fromRGB(31, 33, 35);
baseZIndex = 1;
order = 1;
alignment = "left";
clickSoundId = "rbxassetid://5273899897";
clickVolume = 0;
clickPlaybackSpeed = 1;
clickTimePosition = 0.12;
};
selected = {
iconBackgroundColor = Color3.fromRGB(245, 245, 245);
iconBackgroundTransparency = 0.1;
iconImageColor = Color3.fromRGB(57, 60, 65);
iconTextColor = Color3.fromRGB(57, 60, 65);
clickPlaybackSpeed = 1.5;
};
};
other = {
captionBackgroundColor = Color3.fromRGB(0, 0, 0);
captionBackgroundTransparency = 0.5;
captionTextColor = Color3.fromRGB(255, 255, 255);
captionTextTransparency = 0;
captionFont = Enum.Font.GothamSemibold;
captionOverlineColor = Color3.fromRGB(0, 170, 255);
captionOverlineTransparency = 0;
captionCornerRadius = UDim.new(0.25, 0);
tipBackgroundColor = Color3.fromRGB(255, 255, 255);
tipBackgroundTransparency = 0.1;
tipTextColor = Color3.fromRGB(27, 42, 53);
tipTextTransparency = 0;
tipFont = Enum.Font.GothamSemibold;
tipCornerRadius = UDim.new(0.175, 0);
dropdownAlignment = "auto";
dropdownMaxIconsBeforeScroll = 3;
dropdownMinWidth = 32;
dropdownSquareCorners = false;
dropdownBindToggleToIcon = true;
dropdownToggleOnLongPress = false;
dropdownToggleOnRightClick = false;
dropdownCloseOnTapAway = false;
dropdownHidePlayerlistOnOverlap = true;
dropdownListPadding = UDim.new(0, 2);
dropdownScrollBarColor = Color3.fromRGB(25, 25, 25);
dropdownScrollBarTransparency = 0.2;
dropdownScrollBarThickness = 4;
menuDirection = "auto";
menuMaxIconsBeforeScroll = 4;
menuBindToggleToIcon = true;
menuToggleOnLongPress = false;
menuToggleOnRightClick = false;
menuCloseOnTapAway = false;
menuScrollBarColor = Color3.fromRGB(25, 25, 25);
menuScrollBarTransparency = 0.2;
menuScrollBarThickness = 4;
};
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:56:12
-- Luau version 6, Types version 3
-- Time taken: 0.001547 seconds
local Color3_fromRGB_result1 = Color3.fromRGB(206, 233, 102)
local Color3_fromRGB_result1_3 = Color3.fromRGB(169, 185, 65)
local Color3_fromRGB_result1_2 = Color3.fromRGB(255, 255, 255)
return {
action = {
resizeInfo = TweenInfo.new(0.2, Enum.EasingStyle.Back);
repositionInfo = TweenInfo.new(0.2, Enum.EasingStyle.Back);
};
toggleable = {
deselected = {
iconGradientColor = ColorSequence.new(Color3_fromRGB_result1, Color3_fromRGB_result1_3);
iconGradientRotation = 90;
noticeCircleColor = Color3_fromRGB_result1;
noticeCircleImage = "http://www.roblox.com/asset/?id=4882430005";
noticeTextColor = Color3_fromRGB_result1_2;
captionOverlineColor = Color3_fromRGB_result1;
};
selected = {
iconBackgroundColor = Color3.fromRGB(255, 255, 255);
iconBackgroundTransparency = 0.1;
iconGradientColor = ColorSequence.new(Color3_fromRGB_result1, Color3_fromRGB_result1_3);
iconGradientRotation = 90;
iconImageColor = Color3.fromRGB(255, 255, 255);
iconTextColor = Color3.fromRGB(255, 255, 255);
noticeCircleColor = Color3_fromRGB_result1_2;
noticeTextColor = Color3_fromRGB_result1;
};
};
other = {};
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:56:14
-- Luau version 6, Types version 3
-- Time taken: 0.001360 seconds
local Color3_fromRGB_result1 = Color3.fromRGB(255, 255, 255)
local Color3_fromRGB_result1_3 = Color3.fromRGB(202, 202, 202)
local Color3_fromRGB_result1_2 = Color3.fromRGB(35, 39, 50)
return {
action = {
resizeInfo = TweenInfo.new(0.2, Enum.EasingStyle.Back);
repositionInfo = TweenInfo.new(0.2, Enum.EasingStyle.Back);
};
toggleable = {
deselected = {
iconGradientColor = ColorSequence.new(Color3_fromRGB_result1, Color3_fromRGB_result1_3);
iconGradientRotation = 90;
noticeCircleColor = Color3_fromRGB_result1;
noticeCircleImage = "http://www.roblox.com/asset/?id=4882430005";
noticeTextColor = Color3_fromRGB_result1_2;
captionOverlineColor = Color3_fromRGB_result1;
};
selected = {
iconBackgroundColor = Color3.fromRGB(255, 255, 255);
iconBackgroundTransparency = 0.1;
iconGradientColor = ColorSequence.new(Color3_fromRGB_result1, Color3_fromRGB_result1_3);
iconGradientRotation = 90;
iconImageColor = Color3.fromRGB(255, 255, 255);
iconTextColor = Color3.fromRGB(255, 255, 255);
noticeCircleColor = Color3_fromRGB_result1_2;
noticeTextColor = Color3_fromRGB_result1;
};
};
other = {};
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:56:15
-- Luau version 6, Types version 3
-- Time taken: 0.007183 seconds
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Enabled = true
ScreenGui.DisplayOrder = 0
ScreenGui.IgnoreGuiInset = true
ScreenGui.ResetOnSpawn = false
ScreenGui.Name = "TopbarPlus"
local Folder = Instance.new("Folder")
Folder.Name = "ActiveItems"
Folder.Parent = ScreenGui
local Frame_3 = Instance.new("Frame")
Frame_3.BackgroundTransparency = 1
Frame_3.Name = "TopbarContainer"
Frame_3.Position = UDim2.new(0, 0, 0, 0)
Frame_3.Size = UDim2.new(1, 0, 0, 36)
Frame_3.Visible = true
Frame_3.ZIndex = 1
Frame_3.Parent = ScreenGui
Frame_3.Active = false
local Frame_9 = Instance.new("Frame")
Frame_9.BackgroundTransparency = 1
Frame_9.Name = "IconContainer"
Frame_9.Position = UDim2.new(0, 104, 0, 4)
Frame_9.Visible = false
Frame_9.ZIndex = 1
Frame_9.Parent = Frame_3
Frame_9.Active = false
local TextButton = Instance.new("TextButton")
TextButton.Name = "IconButton"
TextButton.Visible = true
TextButton.Text = ""
TextButton.ZIndex = 10
TextButton.BorderSizePixel = 0
TextButton.AutoButtonColor = false
TextButton.Parent = Frame_9
TextButton.Active = true
local ImageLabel_2 = Instance.new("ImageLabel")
ImageLabel_2.BackgroundTransparency = 1
ImageLabel_2.Name = "IconImage"
ImageLabel_2.AnchorPoint = Vector2.new(0, 0.5)
ImageLabel_2.Visible = true
ImageLabel_2.ZIndex = 11
ImageLabel_2.ScaleType = Enum.ScaleType.Fit
ImageLabel_2.Parent = TextButton
ImageLabel_2.Active = false
local TextLabel_4 = Instance.new("TextLabel")
TextLabel_4.BackgroundTransparency = 1
TextLabel_4.Name = "IconLabel"
TextLabel_4.AnchorPoint = Vector2.new(0, 0.5)
TextLabel_4.Position = UDim2.new(0.5, 0, 0.5, 0)
TextLabel_4.Text = ""
TextLabel_4.RichText = true
TextLabel_4.TextScaled = false
TextLabel_4.ClipsDescendants = true
TextLabel_4.ZIndex = 11
TextLabel_4.Parent = TextButton
TextLabel_4.Active = false
local UIGradient = Instance.new("UIGradient")
UIGradient.Name = "IconGradient"
UIGradient.Enabled = true
UIGradient.Parent = TextButton
local UICorner_3 = Instance.new("UICorner")
UICorner_3.Name = "IconCorner"
UICorner_3.Parent = TextButton
local Frame_2 = Instance.new("Frame")
Frame_2.Name = "IconOverlay"
Frame_2.BackgroundTransparency = 1
Frame_2.Position = TextButton.Position
Frame_2.Size = UDim2.new(1, 0, 1, 0)
Frame_2.Visible = true
Frame_2.ZIndex = TextButton.ZIndex + 1
Frame_2.BorderSizePixel = 0
Frame_2.Parent = Frame_9
Frame_2.Active = false
local clone = UICorner_3:Clone()
clone.Name = "IconOverlayCorner"
clone.Parent = Frame_2
local ImageLabel_3 = Instance.new("ImageLabel")
ImageLabel_3.BackgroundTransparency = 1
ImageLabel_3.Name = "NoticeFrame"
ImageLabel_3.Position = UDim2.new(0.45, 0, 0, -2)
ImageLabel_3.Size = UDim2.new(1, 0, 0.7, 0)
ImageLabel_3.Visible = true
ImageLabel_3.ZIndex = 12
ImageLabel_3.ImageTransparency = 1
ImageLabel_3.ScaleType = Enum.ScaleType.Fit
ImageLabel_3.Parent = TextButton
ImageLabel_3.Active = false
local TextLabel_2 = Instance.new("TextLabel")
TextLabel_2.Name = "NoticeLabel"
TextLabel_2.BackgroundTransparency = 1
TextLabel_2.Position = UDim2.new(0.25, 0, 0.15, 0)
TextLabel_2.Size = UDim2.new(0.5, 0, 0.7, 0)
TextLabel_2.Visible = true
TextLabel_2.ZIndex = 13
TextLabel_2.Font = Enum.Font.Arial
TextLabel_2.Text = '0'
TextLabel_2.TextTransparency = 1
TextLabel_2.TextScaled = true
TextLabel_2.Parent = ImageLabel_3
TextLabel_2.Active = false
local Frame_5 = Instance.new("Frame")
Frame_5.Name = "CaptionContainer"
Frame_5.BackgroundTransparency = 1
Frame_5.AnchorPoint = Vector2.new(0, 0)
Frame_5.ClipsDescendants = true
Frame_5.ZIndex = 30
Frame_5.Visible = true
Frame_5.Parent = Frame_9
Frame_5.Active = false
local Frame_6 = Instance.new("Frame")
Frame_6.Name = "CaptionFrame"
Frame_6.BorderSizePixel = 0
Frame_6.AnchorPoint = Vector2.new(0.5, 0.5)
Frame_6.Position = UDim2.new(0.5, 0, 0.5, 0)
Frame_6.Size = UDim2.new(1, 0, 1, 0)
Frame_6.ZIndex = 31
Frame_6.Parent = Frame_5
Frame_6.Active = false
local TextLabel = Instance.new("TextLabel")
TextLabel.Name = "CaptionLabel"
TextLabel.BackgroundTransparency = 1
TextLabel.AnchorPoint = Vector2.new(0.5, 0.5)
TextLabel.Position = UDim2.new(0.5, 0, 0.56, 0)
TextLabel.TextXAlignment = Enum.TextXAlignment.Center
TextLabel.RichText = true
TextLabel.ZIndex = 32
TextLabel.Parent = Frame_5
TextLabel.Active = false
local UICorner = Instance.new("UICorner")
UICorner.Name = "CaptionCorner"
UICorner.Parent = Frame_6
local Frame_4 = Instance.new("Frame")
Frame_4.Name = "CaptionOverlineContainer"
Frame_4.BackgroundTransparency = 1
Frame_4.AnchorPoint = Vector2.new(0.5, 0.5)
Frame_4.Position = UDim2.new(0.5, 0, -0.5, 3)
Frame_4.Size = UDim2.new(1, 0, 1, 0)
Frame_4.ZIndex = 33
Frame_4.ClipsDescendants = true
Frame_4.Parent = Frame_5
Frame_4.Active = false
local Frame_8 = Instance.new("Frame")
Frame_8.Name = "CaptionOverline"
Frame_8.AnchorPoint = Vector2.new(0.5, 0.5)
Frame_8.Position = UDim2.new(0.5, 0, 1.5, -3)
Frame_8.Size = UDim2.new(1, 0, 1, 0)
Frame_8.ZIndex = 34
Frame_8.Parent = Frame_4
Frame_8.Active = false
local clone_3 = UICorner:Clone()
clone_3.Name = "CaptionOverlineCorner"
clone_3.Parent = Frame_8
local clone_2 = Frame_6:Clone()
clone_2.Name = "CaptionVisibilityBlocker"
clone_2.BackgroundTransparency = 1
clone_2.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
clone_2.ZIndex -= 1
clone_2.Parent = Frame_6
clone_2.Active = false
clone_2.CaptionCorner.Name = "CaptionVisibilityCorner"
local Frame_7 = Instance.new("Frame")
Frame_7.Name = "TipFrame"
Frame_7.BorderSizePixel = 0
Frame_7.AnchorPoint = Vector2.new(0, 0)
Frame_7.Position = UDim2.new(0, 50, 0, 50)
Frame_7.Size = UDim2.new(1, 0, 1, -8)
Frame_7.ZIndex = 40
Frame_7.Parent = Frame_9
Frame_7.Active = false
local UICorner_2 = Instance.new("UICorner")
UICorner_2.Name = "TipCorner"
UICorner_2.CornerRadius = UDim.new(0.25, 0)
UICorner_2.Parent = Frame_7
local TextLabel_3 = Instance.new("TextLabel")
TextLabel_3.Name = "TipLabel"
TextLabel_3.BackgroundTransparency = 1
TextLabel_3.TextScaled = false
TextLabel_3.TextSize = 12
TextLabel_3.Position = UDim2.new(0, 3, 0, 3)
TextLabel_3.Size = UDim2.new(1, -6, 1, -6)
TextLabel_3.ZIndex = 41
TextLabel_3.Parent = Frame_7
TextLabel_3.Active = false
local Frame_10 = Instance.new("Frame")
Frame_10.Name = "DropdownContainer"
Frame_10.BackgroundTransparency = 1
Frame_10.BorderSizePixel = 0
Frame_10.AnchorPoint = Vector2.new(0.5, 0)
Frame_10.ZIndex = -2
Frame_10.ClipsDescendants = true
Frame_10.Visible = true
Frame_10.Parent = Frame_9
Frame_10.Active = false
local ScrollingFrame = Instance.new("ScrollingFrame")
ScrollingFrame.Name = "DropdownFrame"
ScrollingFrame.BackgroundTransparency = 1
ScrollingFrame.BorderSizePixel = 0
ScrollingFrame.AnchorPoint = Vector2.new(0.5, 0)
ScrollingFrame.Position = UDim2.new(0.5, 0, 0, 0)
ScrollingFrame.Size = UDim2.new(0.5, 2, 1, 0)
ScrollingFrame.ZIndex = -1
ScrollingFrame.ClipsDescendants = false
ScrollingFrame.Visible = true
ScrollingFrame.TopImage = ScrollingFrame.MidImage
ScrollingFrame.BottomImage = ScrollingFrame.MidImage
ScrollingFrame.VerticalScrollBarInset = Enum.ScrollBarInset.Always
ScrollingFrame.VerticalScrollBarPosition = Enum.VerticalScrollBarPosition.Right
ScrollingFrame.Parent = Frame_10
ScrollingFrame.Active = false
local UIListLayout = Instance.new("UIListLayout")
UIListLayout.Name = "DropdownList"
UIListLayout.FillDirection = Enum.FillDirection.Vertical
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
UIListLayout.Parent = ScrollingFrame
local UIPadding = Instance.new("UIPadding")
UIPadding.Name = "DropdownPadding"
UIPadding.PaddingRight = UDim.new(0, 2)
UIPadding.Parent = ScrollingFrame
local Frame = Instance.new("Frame")
Frame.Active = true
Frame.Selectable = false
Frame.Name = "MenuContainer"
Frame.BackgroundTransparency = 1
Frame.BorderSizePixel = 0
Frame.AnchorPoint = Vector2.new(1, 0)
Frame.Size = UDim2.new(0, 500, 0, 50)
Frame.ZIndex = -2
Frame.ClipsDescendants = true
Frame.Visible = true
Frame.Parent = Frame_9
Frame.Active = false
local ScrollingFrame_2 = Instance.new("ScrollingFrame")
ScrollingFrame_2.Active = true
ScrollingFrame_2.Selectable = true
ScrollingFrame_2.Name = "MenuFrame"
ScrollingFrame_2.BackgroundTransparency = 1
ScrollingFrame_2.BorderSizePixel = 0
ScrollingFrame_2.AnchorPoint = Vector2.new(0, 0)
ScrollingFrame_2.Position = UDim2.new(0, 0, 0, 0)
ScrollingFrame_2.Size = UDim2.new(1, 0, 1, 0)
ScrollingFrame_2.ZIndex = 9
ScrollingFrame_2.ClipsDescendants = false
ScrollingFrame_2.Visible = true
ScrollingFrame_2.TopImage = ""
ScrollingFrame_2.BottomImage = ""
ScrollingFrame_2.HorizontalScrollBarInset = Enum.ScrollBarInset.Always
ScrollingFrame_2.CanvasSize = UDim2.new(0, 0, 0, 0)
ScrollingFrame_2.Parent = Frame
ScrollingFrame_2.Active = false
local UIListLayout_2 = Instance.new("UIListLayout")
UIListLayout_2.Name = "MenuList"
UIListLayout_2.FillDirection = Enum.FillDirection.Horizontal
UIListLayout_2.HorizontalAlignment = Enum.HorizontalAlignment.Right
UIListLayout_2.SortOrder = Enum.SortOrder.LayoutOrder
UIListLayout_2.Parent = ScrollingFrame_2
local Frame_11 = Instance.new("Frame")
Frame_11.Name = "MenuInvisBlocker"
Frame_11.BackgroundTransparency = 1
Frame_11.Size = UDim2.new(0, -2, 1, 0)
Frame_11.Visible = true
Frame_11.LayoutOrder = 999999999
Frame_11.Parent = ScrollingFrame_2
Frame_11.Active = false
local Sound = Instance.new("Sound")
Sound.Name = "ClickSound"
Sound.Volume = 0
Sound.Parent = Frame_9
local ImageLabel = Instance.new("ImageLabel")
ImageLabel.Name = "Indicator"
ImageLabel.BackgroundTransparency = 1
ImageLabel.Image = "rbxassetid://5278151556"
ImageLabel.Size = UDim2.new(0, 32, 0, 32)
ImageLabel.AnchorPoint = Vector2.new(0.5, 0)
ImageLabel.Position = UDim2.new(0.5, 0, 0, 5)
ImageLabel.ScaleType = Enum.ScaleType.Fit
ImageLabel.Visible = false
ImageLabel.Active = true
ImageLabel.Parent = ScreenGui
ImageLabel.Active = false
ScreenGui.Parent = game:GetService("Players").LocalPlayer.PlayerGui
return ScreenGui
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:56:17
-- Luau version 6, Types version 3
-- Time taken: 0.001409 seconds
local ReplicatedStorage_upvr = game:GetService("ReplicatedStorage")
return {
addToReplicatedStorage = function() -- Line 9, Named "addToReplicatedStorage"
--[[ Upvalues[1]:
[1]: ReplicatedStorage_upvr (readonly)
]]
if ReplicatedStorage_upvr:FindFirstChild(script.Name) then
return false
end
local ObjectValue = Instance.new("ObjectValue")
ObjectValue.Name = script.Name
ObjectValue.Value = script.Parent
ObjectValue.Parent = ReplicatedStorage_upvr
return ObjectValue
end;
getObject = function() -- Line 21, Named "getObject"
--[[ Upvalues[1]:
[1]: ReplicatedStorage_upvr (readonly)
]]
local SOME = ReplicatedStorage_upvr:FindFirstChild(script.Name)
if SOME then
return SOME
end
return false
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:56:19
-- Luau version 6, Types version 3
-- Time taken: 0.000265 seconds
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:56:21
-- Luau version 6, Types version 3
-- Time taken: 0.006224 seconds
local clock_upvr = os.clock
local var2_upvw
function DiscretePulse(arg1, arg2, arg3, arg4, arg5, arg6, arg7) -- Line 14
return math.clamp((arg3) / (2 * arg4) - math.abs((arg1 - arg5 * arg2 + 0.5 * arg3) / arg4), arg6, arg7)
end
function NoiseBetween(arg1, arg2, arg3, arg4, arg5) -- Line 18
return arg4 + (arg5 - arg4) * (math.noise(arg1, arg2, arg3) + 0.5)
end
function CubicBezier(arg1, arg2, arg3, arg4, arg5) -- Line 22
return arg1 * (1 - arg5) ^ 3 + arg2 * 3 * arg5 * (1 - arg5) ^ 2 + arg3 * 3 * (1 - arg5) * arg5 ^ 2 + arg4 * arg5 ^ 3
end
local ImageHandleAdornment_upvr = Instance.new("ImageHandleAdornment")
ImageHandleAdornment_upvr.Name = "BoltAdorn"
ImageHandleAdornment_upvr.Image = "http://www.roblox.com/asset/?id=4955566540"
ImageHandleAdornment_upvr.Transparency = 1
ImageHandleAdornment_upvr.Color3 = Color3.new(1, 1, 1)
ImageHandleAdornment_upvr.ZIndex = 0
ImageHandleAdornment_upvr.Size = Vector2.new(0, 0)
local tbl_upvr = {}
local module_upvr = {}
module_upvr.__index = module_upvr
local LocalPlayer_upvr = game:GetService("Players").LocalPlayer
local var7_upvw
local var8_upvw
function module_upvr.new(arg1, arg2, arg3) -- Line 49
--[[ Upvalues[8]:
[1]: module_upvr (readonly)
[2]: var2_upvw (read and write)
[3]: LocalPlayer_upvr (readonly)
[4]: var7_upvw (read and write)
[5]: var8_upvw (read and write)
[6]: ImageHandleAdornment_upvr (readonly)
[7]: clock_upvr (readonly)
[8]: tbl_upvr (readonly)
]]
local setmetatable_result1 = setmetatable({}, module_upvr)
setmetatable_result1.Enabled = true
setmetatable_result1.Attachment0 = arg1
setmetatable_result1.Attachment1 = arg2
setmetatable_result1.CurveSize0 = 0
setmetatable_result1.CurveSize1 = 0
setmetatable_result1.MinRadius = 0
setmetatable_result1.MaxRadius = 2.4
setmetatable_result1.Frequency = 1
setmetatable_result1.AnimationSpeed = 7
setmetatable_result1.Thickness = 2
setmetatable_result1.MinThicknessMultiplier = 0.2
setmetatable_result1.MaxThicknessMultiplier = 1
setmetatable_result1.MinTransparency = 0
setmetatable_result1.MaxTransparency = 1
setmetatable_result1.PulseSpeed = 2
setmetatable_result1.PulseLength = 1000000
setmetatable_result1.FadeLength = 0.2
setmetatable_result1.ContractFrom = 0.5
setmetatable_result1.Color = Color3.new(1, 1, 1)
setmetatable_result1.ColorOffsetSpeed = 3
setmetatable_result1.Parts = {}
var2_upvw = workspace.CurrentCamera
if LocalPlayer_upvr.PlayerGui:FindFirstChild("LightningBeams") == nil then
var7_upvw = Instance.new("ScreenGui")
var7_upvw.Name = "LightningBeams"
var7_upvw.ResetOnSpawn = false
var7_upvw.Parent = LocalPlayer_upvr.PlayerGui
var8_upvw = Instance.new("Part")
var8_upvw.Anchored = true
var8_upvw.Locked = true
var8_upvw.CanCollide = false
var8_upvw.CFrame = CFrame.new()
var8_upvw.Size = Vector3.new(0, 0, 0)
var8_upvw.Transparency = 1
var8_upvw.Parent = var7_upvw
var8_upvw.Name = "AdorneePart"
end
local var12 = arg1
local var13 = arg2
local WorldPosition = var12.WorldPosition
local var15 = arg3 or 30
for i = 1, var15 do
local CubicBezier_result1 = CubicBezier(WorldPosition, var12.WorldPosition + var12.WorldAxis * setmetatable_result1.CurveSize0, var13.WorldPosition - var13.WorldAxis * setmetatable_result1.CurveSize1, var13.WorldPosition, i / var15)
local var17
local function INLINED() -- Internal function, doesn't exist in bytecode
var17 = CFrame.lookAt(WorldPosition, CubicBezier_result1).Position
return var17
end
if i == var15 or not INLINED() then
var17 = CubicBezier_result1
end
local clone = ImageHandleAdornment_upvr:Clone()
clone.Parent = var7_upvw
clone.Adornee = var8_upvw
setmetatable_result1.Parts[i] = clone
end
setmetatable_result1.PartsHidden = false
setmetatable_result1.DisabledTransparency = 1
setmetatable_result1.StartT = clock_upvr()
setmetatable_result1.RanNum = math.random() * 100
setmetatable_result1.RefIndex = #tbl_upvr + 1
tbl_upvr[setmetatable_result1.RefIndex] = setmetatable_result1
return setmetatable_result1
end
function module_upvr.Destroy(arg1) -- Line 127
--[[ Upvalues[1]:
[1]: tbl_upvr (readonly)
]]
tbl_upvr[arg1.RefIndex] = nil
for i_2 = 1, #arg1.Parts do
arg1.Parts[i_2]:Destroy()
if i_2 % 100 == 0 then
wait()
end
end
end
local Cross_upvr = Vector3.new().Cross
game:GetService("RunService").Heartbeat:Connect(function() -- Line 142
--[[ Upvalues[4]:
[1]: tbl_upvr (readonly)
[2]: clock_upvr (readonly)
[3]: Cross_upvr (readonly)
[4]: var2_upvw (read and write)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local pairs_result1, pairs_result2, pairs_result3 = pairs(tbl_upvr)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [441] 342. Error Block 37 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [441] 342. Error Block 37 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [5] 5. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [441.5]
-- KONSTANTERROR: [5] 5. Error Block 2 end (CF ANALYSIS FAILED)
end)
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:56:22
-- Luau version 6, Types version 3
-- Time taken: 0.018356 seconds
local tbl_6_upvr = {}
local random_state_upvr = Random.new()
local module_upvr = {}
module_upvr.__index = module_upvr
function module_upvr.new(arg1, arg2) -- Line 11
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: tbl_6_upvr (readonly)
]]
local setmetatable_result1 = setmetatable({}, module_upvr)
setmetatable_result1.Enabled = true
setmetatable_result1.LightningBolt = arg1
setmetatable_result1.MaxSparkCount = arg2 or 10
setmetatable_result1.MinSpeed = 4
setmetatable_result1.MaxSpeed = 6
setmetatable_result1.MinDistance = 3
setmetatable_result1.MaxDistance = 6
setmetatable_result1.MinPartsPerSpark = 8
setmetatable_result1.MaxPartsPerSpark = 10
setmetatable_result1.SparksN = 0
setmetatable_result1.SlotTable = {}
setmetatable_result1.RefIndex = #tbl_6_upvr + 1
tbl_6_upvr[setmetatable_result1.RefIndex] = setmetatable_result1
return setmetatable_result1
end
function module_upvr.Destroy(arg1) -- Line 34
--[[ Upvalues[1]:
[1]: tbl_6_upvr (readonly)
]]
tbl_6_upvr[arg1.RefIndex] = nil
for i, v in pairs(arg1.SlotTable) do
if v.Parts[1].Parent == nil then
arg1.SlotTable[i] = nil
end
end
end
function RandomVectorOffset(arg1, arg2) -- Line 46
--[[ Upvalues[1]:
[1]: random_state_upvr (readonly)
]]
return (CFrame.lookAt(Vector3.new(), arg1) * CFrame.Angles(0, 0, random_state_upvr:NextNumber(0, (-math.pi*2))) * CFrame.Angles(math.acos(random_state_upvr:NextNumber(math.cos(arg2), 1)), 0, 0)).LookVector
end
local Parent_upvr = require(script.Parent)
game:GetService("RunService").Heartbeat:Connect(function() -- Line 50
--[[ Upvalues[3]:
[1]: tbl_6_upvr (readonly)
[2]: random_state_upvr (readonly)
[3]: Parent_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
for _, v_2 in pairs(tbl_6_upvr) do
local var101
if var101 == true then
var101 = v_2.SparksN
local var102
if var101 < v_2.MaxSparkCount then
var101 = v_2.LightningBolt
if var101.Parts[1] == nil or var101.Parts[1].Parent == nil then
v_2:Destroy()
return
end
local Parts_2 = var101.Parts
local tbl_5 = {}
var102 = #Parts_2
for i_3 = 1, var102 do
if Parts_2[i_3].Transparency < 0.3 then
tbl_5[#tbl_5 + 1] = (i_3 - 0.5) / #Parts_2
end
end
var102 = nil
if #tbl_5 ~= 0 then
var102 = math.ceil(tbl_5[1] * v_2.MaxSparkCount)
end
for _ = 1, random_state_upvr:NextInteger(1, v_2.MaxSparkCount - v_2.SparksN) do
if #tbl_5 == 0 then break end
local tbl_3 = {}
local var106
for i_5 = var102, math.ceil(tbl_5[#tbl_5] * v_2.MaxSparkCount) do
var106 = v_2.SlotTable
if var106[i_5] == nil then
var106 = #tbl_3
tbl_3[var106 + 1] = i_5
end
end
if #tbl_3 ~= 0 then
var106 = #tbl_3
var106 = 0.5
local any_NextNumber_result1 = random_state_upvr:NextNumber(-0.5, var106)
var106 = tbl_3[random_state_upvr:NextInteger(1, var106)] - 0.5
var106 = v_2.MaxSparkCount
i_5 = (var106 + any_NextNumber_result1) / var106
var106 = 1
for i_6 = 1, #tbl_5 do
if math.abs(tbl_5[i_6] - i_5) < 10 then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
var106 = math.floor(tbl_5[i_6] * #Parts_2 + 0.5 + 0.5)
end
end
local var110 = Parts_2[var106]
local tbl_9 = {}
local tbl_4 = {}
tbl_9.WorldPosition = var110.CFrame.Position + any_NextNumber_result1 * var110.CFrame.UpVector * var110.Size.Y
tbl_4.WorldPosition = tbl_9.WorldPosition + RandomVectorOffset(var110.CFrame.UpVector, 0.7853981633974483) * random_state_upvr:NextNumber(v_2.MinDistance, v_2.MaxDistance)
tbl_9.WorldAxis = (tbl_4.WorldPosition - tbl_9.WorldPosition).Unit
tbl_4.WorldAxis = tbl_9.WorldAxis
local any_new_result1_2 = Parent_upvr.new(tbl_9, tbl_4, random_state_upvr:NextInteger(v_2.MinPartsPerSpark, v_2.MaxPartsPerSpark))
any_new_result1_2.MinRadius = 0
any_new_result1_2.MaxRadius = 0.8
any_new_result1_2.AnimationSpeed = 0
any_new_result1_2.Thickness = var110.Size.X / 1.2
any_new_result1_2.MinThicknessMultiplier = 1
any_new_result1_2.MaxThicknessMultiplier = 1
any_new_result1_2.PulseLength = 0.5
any_new_result1_2.PulseSpeed = random_state_upvr:NextNumber(v_2.MinSpeed, v_2.MaxSpeed)
any_new_result1_2.FadeLength = 0.25
local Color3_toHSV_result1_2, _, Color3_toHSV_result3_2 = Color3.toHSV(var110.Color3)
any_new_result1_2.Color = Color3.fromHSV(Color3_toHSV_result1_2, 0.5, Color3_toHSV_result3_2)
v_2.SlotTable[tbl_3[random_state_upvr:NextInteger(1, var106)]] = any_new_result1_2
end
end
end
end
var101 = 0
for i_7, v_3 in pairs(v_2.SlotTable) do
if v_3.Parts[1].Parent ~= nil then
var101 += 1
else
v_2.SlotTable[i_7] = nil
end
end
v_2.SparksN = var101
end
end)
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:56:24
-- Luau version 6, Types version 3
-- Time taken: 0.011127 seconds
local random_state_upvr = Random.new()
local clock_upvr = os.clock
function RandomVectorOffsetBetween(arg1, arg2, arg3) -- Line 9
--[[ Upvalues[1]:
[1]: random_state_upvr (readonly)
]]
return (CFrame.lookAt(Vector3.new(), arg1) * CFrame.Angles(0, 0, random_state_upvr:NextNumber(0, (-math.pi*2))) * CFrame.Angles(math.acos(random_state_upvr:NextNumber(math.cos(arg3), math.cos(arg2))), 0, 0)).LookVector
end
local tbl_upvr = {}
local module_upvr = {}
module_upvr.__index = module_upvr
local Parent_upvr = require(script.Parent)
local LightningSparks_upvr = require(script.Parent.LightningSparks)
function module_upvr.new(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 20
--[[ Upvalues[6]:
[1]: module_upvr (readonly)
[2]: random_state_upvr (readonly)
[3]: Parent_upvr (readonly)
[4]: LightningSparks_upvr (readonly)
[5]: clock_upvr (readonly)
[6]: tbl_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local setmetatable_result1 = setmetatable({}, module_upvr)
setmetatable_result1.Size = arg2 or 1
setmetatable_result1.NumBolts = arg3 or 14
local var16 = arg4
if not var16 then
var16 = ColorSequence.new(Color3.new(1, 0, 0), Color3.new(0, 0, 1))
end
setmetatable_result1.Color = var16
var16 = arg5
local var17 = var16
if not var17 then
var17 = Color3.new(0.3, 0.3, 1)
end
setmetatable_result1.BoltColor = var17
setmetatable_result1.UpVector = arg6 or Vector3.new(0, 1, 0)
local Part = Instance.new("Part")
Part.Name = "LightningExplosion"
Part.Anchored = true
Part.CanCollide = false
Part.Locked = true
Part.CastShadow = false
Part.Transparency = 1
Part.Size = Vector3.new(0.05000, 0.05000, 0.05000)
Part.CFrame = CFrame.lookAt(arg1 + Vector3.new(0, 0.5, 0), arg1 + Vector3.new(0, 0.5, 0) + setmetatable_result1.UpVector) * CFrame.lookAt(Vector3.new(), Vector3.new(0, 1, 0)):inverse()
Part.Parent = workspace.CurrentCamera
local Attachment = Instance.new("Attachment")
Attachment.Parent = Part
Attachment.CFrame = CFrame.new()
local clone_3 = script.ExplosionBrightspot:Clone()
local clone_2 = script.GlareEmitter:Clone()
local clone = script.PlasmaEmitter:Clone()
local clamped = math.clamp(setmetatable_result1.Size, 0, 1)
clone_2.Size = NumberSequence.new(clamped * 30)
clone.Size = NumberSequence.new(clamped * 18)
clone.Speed = NumberRange.new(clamped * 100)
clone_3.Parent = Attachment
clone_2.Parent = Attachment
clone.Parent = Attachment
local Color = setmetatable_result1.Color
if typeof(Color) == "Color3" then
clone_2.Color = ColorSequence.new(Color)
clone.Color = ColorSequence.new(Color)
local Color3_toHSV_result1, _, Color3_toHSV_result3 = Color3.toHSV(Color)
clone_3.Color = ColorSequence.new(Color3.fromHSV(Color3_toHSV_result1, 0.5, Color3_toHSV_result3))
else
clone_2.Color = Color
clone.Color = Color
local Keypoints = Color.Keypoints
for i = 1, #Keypoints do
local Color3_toHSV_result1_2, _, Color3_toHSV_result3_2 = Color3.toHSV(Keypoints[i].Value)
Keypoints[i] = ColorSequenceKeypoint.new(Keypoints[i].Time, Color3.fromHSV(Color3_toHSV_result1_2, 0.5, Color3_toHSV_result3_2))
local var32
end
clone_3.Color = ColorSequence.new(var32)
end
clone_3.Enabled = true
clone_2.Enabled = true
clone.Enabled = true
local tbl = {}
i = 1
for _ = i, setmetatable_result1.NumBolts do
local tbl_3 = {}
local tbl_2 = {}
tbl_3.WorldPosition = Attachment.WorldPosition
tbl_3.WorldAxis = RandomVectorOffsetBetween(setmetatable_result1.UpVector, 1.1344640137963142, 1.3962634015954636)
tbl_2.WorldPosition = Attachment.WorldPosition + tbl_3.WorldAxis * random_state_upvr:NextNumber(20, 40) * 1.4 * clamped
tbl_2.WorldAxis = RandomVectorOffsetBetween(-setmetatable_result1.UpVector, 1.2217304763960306, 1.9198621771937625)
local any_new_result1_2 = Parent_upvr.new(tbl_3, tbl_2, 10)
any_new_result1_2.AnimationSpeed = 0
any_new_result1_2.Color = setmetatable_result1.BoltColor
any_new_result1_2.PulseLength = 0.8
any_new_result1_2.ColorOffsetSpeed = 20
any_new_result1_2.Frequency = 3
any_new_result1_2.MinRadius = 0
any_new_result1_2.MaxRadius = clamped * 4
any_new_result1_2.FadeLength = 0.4
any_new_result1_2.PulseSpeed = 5
any_new_result1_2.MinThicknessMultiplier = 0.7
any_new_result1_2.MaxThicknessMultiplier = 1
local any_new_result1 = LightningSparks_upvr.new(any_new_result1_2)
any_new_result1.MinDistance = 7.5
any_new_result1.MaxDistance = 10
any_new_result1_2.Velocity = (tbl_2.WorldPosition - tbl_3.WorldPosition).Unit * 0.1 * clamped
tbl[#tbl + 1] = any_new_result1_2
local var38
end
setmetatable_result1.Bolts = tbl
setmetatable_result1.Attachment = var38
setmetatable_result1.Part = Part
setmetatable_result1.StartT = clock_upvr()
setmetatable_result1.RefIndex = #tbl_upvr + 1
tbl_upvr[setmetatable_result1.RefIndex] = setmetatable_result1
return setmetatable_result1
end
function module_upvr.Destroy(arg1) -- Line 122
--[[ Upvalues[1]:
[1]: tbl_upvr (readonly)
]]
tbl_upvr[arg1.RefIndex] = nil
arg1.Part:Destroy()
for i_3 = 1, #arg1.Bolts do
arg1.Bolts[i_3] = nil
end
end
game:GetService("RunService").Heartbeat:Connect(function() -- Line 133
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: clock_upvr (readonly)
]]
for _, v in pairs(tbl_upvr) do
local var47 = clock_upvr() - v.StartT
local Attachment_2 = v.Attachment
if var47 < 0.7 then
if 0.2 < var47 then
Attachment_2.ExplosionBrightspot.Enabled = false
Attachment_2.GlareEmitter.Enabled = false
Attachment_2.PlasmaEmitter.Enabled = false
end
for i_5 = 1, #v.Bolts do
local var49 = v.Bolts[i_5]
var49.Attachment1.WorldPosition = var49.Attachment1.WorldPosition + var49.Velocity
end
else
v:Destroy()
end
end
end)
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:56:25
-- Luau version 6, Types version 3
-- Time taken: 0.013310 seconds
local Beam_upvr = Instance.new("Beam")
Beam_upvr.Color = ColorSequence.new(Color3.new(1, 0, 0))
Beam_upvr.Transparency = NumberSequence.new(0)
Beam_upvr.FaceCamera = true
Beam_upvr.Segments = 20
Beam_upvr.Width0 = 0.1
Beam_upvr.Width1 = 0.1
local module_upvr_2 = {}
module_upvr_2.__index = module_upvr_2
local function _(arg1, arg2) -- Line 20, Named "reflect"
return -2 * arg1:Dot(arg2) * arg2 + arg1
end
local Terrain_upvr = game.Workspace.Terrain
local function drawBeamProjectile_upvr(arg1, arg2, arg3, arg4) -- Line 24, Named "drawBeamProjectile"
--[[ Upvalues[2]:
[1]: Beam_upvr (readonly)
[2]: Terrain_upvr (readonly)
]]
local var4 = 0.5 * arg1 * arg4 * arg4 + arg2 * arg4 + arg3
local var5 = var4 - (arg1 * arg4 * arg4 + arg2 * arg4) / 3
local var6 = (0.125 * arg1 * arg4 * arg4 + 0.5 * arg2 * arg4 + arg3 - 0.125 * (arg3 + var4)) / 0.375 - var5
local unit_8 = (arg3 - var4).unit
local unit_6 = (var6 - arg3).unit
local unit_5 = unit_6:Cross(unit_8).unit
local unit = (var5 - var4).unit
local unit_7 = unit_5:Cross(unit_6).unit
local Attachment_2 = Instance.new("Attachment")
local Attachment = Instance.new("Attachment")
local clone = Beam_upvr:Clone()
Attachment_2.CFrame = CFrame.fromMatrix(arg3, unit_6, unit_5, unit_7)
Attachment_2.Parent = Terrain_upvr
Attachment.CFrame = CFrame.fromMatrix(var4, unit, unit:Cross(unit_8).unit, unit_7)
Attachment.Parent = Terrain_upvr
clone.Attachment0 = Attachment_2
clone.Attachment1 = Attachment
clone.CurveSize0 = (var6 - arg3).Magnitude
clone.CurveSize1 = -(var5 - var4).Magnitude
clone.Parent = Terrain_upvr
end
local function getEndingPosition_upvr(arg1, arg2, arg3, arg4) -- Line 59, Named "getEndingPosition"
local var15 = 0.5 * arg1 * arg4 * arg4 + arg2 * arg4 + arg3
local var16 = var15 - (arg1 * arg4 * arg4 + arg2 * arg4) / 3
local unit_2 = (arg3 - var15).unit
local unit_3 = ((0.125 * arg1 * arg4 * arg4 + 0.5 * arg2 * arg4 + arg3 - 0.125 * (arg3 + var15)) / 0.375 - var16 - arg3).unit
local unit_4 = (var16 - var15).unit
return CFrame.fromMatrix(var15, unit_4, unit_4:Cross(unit_2).unit, unit_3:Cross(unit_2).unit:Cross(unit_3).unit)
end
function module_upvr_2.new(arg1) -- Line 83
--[[ Upvalues[1]:
[1]: module_upvr_2 (readonly)
]]
local setmetatable_result1 = setmetatable({}, module_upvr_2)
setmetatable_result1.Gravity = arg1
setmetatable_result1.TimeStep = 0.1
setmetatable_result1.MaxTime = 5
setmetatable_result1.MinSpeed = 15
setmetatable_result1.MaxBounce = 5
return setmetatable_result1
end
function module_upvr_2.Velocity(arg1, arg2, arg3) -- Line 97
return arg1.Gravity * arg3 + arg2
end
function module_upvr_2.Position(arg1, arg2, arg3, arg4) -- Line 102
return 0.5 * arg1.Gravity * arg4 * arg4 + arg3 * arg4 + arg2
end
function module_upvr_2.PlaneQuadraticIntersection(arg1, arg2, arg3, arg4, arg5) -- Line 107
local any_Dot_result1_3 = 0.5 * arg1.Gravity:Dot(arg5)
local any_Dot_result1_2 = arg3:Dot(arg5)
local any_Dot_result1 = arg2 - arg4:Dot(arg5)
if any_Dot_result1_3 ~= 0 then
return (-any_Dot_result1_2 - math.sqrt(any_Dot_result1_2 * any_Dot_result1_2 - 4 * any_Dot_result1_3 * any_Dot_result1)) / (2 * any_Dot_result1_3)
end
return -any_Dot_result1 / any_Dot_result1_2
end
function module_upvr_2.CalculateSingle(arg1, arg2, arg3, arg4) -- Line 120
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local const_number = 0
local var28
repeat
local any_Position_result1 = arg1:Position(arg2, arg3, const_number)
local any_FindPartOnRayWithIgnoreList_result1, any_FindPartOnRayWithIgnoreList_result2, any_FindPartOnRayWithIgnoreList_result3, any_FindPartOnRayWithIgnoreList_result4 = game.Workspace:FindPartOnRayWithIgnoreList(Ray.new(any_Position_result1, arg1:Position(arg2, arg3, const_number + arg1.TimeStep) - any_Position_result1), arg4, false, true)
var28 = any_FindPartOnRayWithIgnoreList_result1
local var34 = any_FindPartOnRayWithIgnoreList_result3
until var28 and arg1.MaxTime <= const_number + arg1.TimeStep
if var28 then
return arg1:PlaneQuadraticIntersection(arg2, arg3, any_FindPartOnRayWithIgnoreList_result2, var34), var34, PhysicalProperties.new(any_FindPartOnRayWithIgnoreList_result4)
end
end
function module_upvr_2.Cast(arg1, arg2, arg3, arg4, arg5) -- Line 140
local _ = PhysicalProperties.new(arg4)
while arg1.MinSpeed * arg1.MinSpeed <= arg3:Dot(arg3) and 0 <= arg1.MaxBounce do
local any_CalculateSingle_result1, any_CalculateSingle_result2, any_CalculateSingle_result3 = arg1:CalculateSingle(arg2, arg3, arg5)
local var40 = any_CalculateSingle_result1
local _ = any_CalculateSingle_result3
if var40 then
local tbl = {}
tbl[1] = arg2
tbl[2] = arg3
tbl[3] = var40
table.insert({}, tbl)
local any_Velocity_result1 = arg1:Velocity(arg3, var40)
local _ = any_CalculateSingle_result2
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
else
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return {}
end
local module_upvr = require(script:WaitForChild("Timer"))
function module_upvr_2.Travel(arg1, arg2, arg3) -- Line 167
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
local var49 = 0
local any_new_result1_upvr = module_upvr.new(0)
local unpack_result1_3, unpack_result2_2, _ = unpack(arg3[1])
arg2.CFrame = CFrame.new(unpack_result1_3, unpack_result1_3 + unpack_result2_2)
for i = 1, #arg3 do
local _, unpack_result2_4_upvr, unpack_result3_3 = unpack(arg3[i])
any_new_result1_upvr:FireOnTimeReached(var49, function(arg1_2) -- Line 176
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: unpack_result2_4_upvr (readonly)
]]
arg2.Velocity = unpack_result2_4_upvr
end)
var49 += unpack_result3_3
end
any_new_result1_upvr:FireOnTimeReached(var49, function(arg1_3) -- Line 182
--[[ Upvalues[1]:
[1]: any_new_result1_upvr (readonly)
]]
any_new_result1_upvr:Destroy()
end)
any_new_result1_upvr:SetActive(true)
end
function module_upvr_2.Draw(arg1, arg2) -- Line 189
--[[ Upvalues[1]:
[1]: drawBeamProjectile_upvr (readonly)
]]
for i_2 = 1, #arg2 do
local unpack_result1_2, unpack_result2_3, unpack_result3 = unpack(arg2[i_2])
drawBeamProjectile_upvr(arg1.Gravity, unpack_result2_3, unpack_result1_2, unpack_result3)
end
end
function module_upvr_2.Predict(arg1, arg2) -- Line 196
--[[ Upvalues[1]:
[1]: getEndingPosition_upvr (readonly)
]]
if arg2[1] then
local unpack_result1, unpack_result2, unpack_result3_2 = unpack(arg2[1])
return getEndingPosition_upvr(arg1.Gravity, unpack_result2, unpack_result1, unpack_result3_2)
end
return nil
end
return module_upvr_2
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:56:27
-- Luau version 6, Types version 3
-- Time taken: 0.002704 seconds
local module_upvr = {}
module_upvr.__index = module_upvr
local RunService_upvr = game:GetService("RunService")
function module_upvr.new(arg1) -- Line 10
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: RunService_upvr (readonly)
]]
local setmetatable_result1_upvr = setmetatable({}, module_upvr)
setmetatable_result1_upvr.Active = false
setmetatable_result1_upvr.StartTime = arg1
setmetatable_result1_upvr.Time = arg1
setmetatable_result1_upvr.Events = {}
setmetatable_result1_upvr.TimerEvent = RunService_upvr.RenderStepped:Connect(function(arg1_2) -- Line 18
--[[ Upvalues[1]:
[1]: setmetatable_result1_upvr (readonly)
]]
if setmetatable_result1_upvr.Active then
setmetatable_result1_upvr.Time += arg1_2
local Events = setmetatable_result1_upvr.Events
for i = #Events, 1, -1 do
if Events[i][1] <= setmetatable_result1_upvr.Time then
Events[i][2](setmetatable_result1_upvr.Time)
table.remove(Events, i)
end
end
end
end)
return setmetatable_result1_upvr
end
function module_upvr.SetActive(arg1, arg2) -- Line 37
arg1.Active = arg2
end
function module_upvr.FireOnTimeReached(arg1, arg2, arg3) -- Line 41
local tbl = {}
tbl[1] = arg2
tbl[2] = arg3
table.insert(arg1.Events, tbl)
end
function module_upvr.Destroy(arg1) -- Line 45
arg1.TimerEvent:Disconnect()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:56:30
-- Luau version 6, Types version 3
-- Time taken: 0.001132 seconds
local module_upvr = {
_client = require(script:WaitForChild("client", 100));
_server = require(script:WaitForChild("server", 100));
}
function module_upvr.new(...) -- Line 5
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if _G._services.RunService:IsClient() then
module_upvr._client.new(...):init()
else
module_upvr._server.new(...):init()
end
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:56:31
-- Luau version 6, Types version 3
-- Time taken: 0.023270 seconds
local module_upvr = {}
module_upvr.__index = module_upvr
function module_upvr.new(arg1, arg2) -- Line 4
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 30 start (CF ANALYSIS FAILED)
assert(arg1, "Freekick.server | dataModel 'player' expected, got "..typeof(arg1))
local Character = arg1.Character
if not Character then
Character = arg1.CharacterAdded:Wait()
end
if arg2 then
local clamped_2 = math.clamp(arg2.X, workspace.game.points.bounds.right.Position.X, workspace.game.points.bounds.left.Position.X)
local clamped = math.clamp(arg2.Z, workspace.game.points.bounds.home.Position.Z, workspace.game.points.bounds.away.Position.Z)
end
local clone = _G._references.Main["set pieces"]["Free Kick"]:Clone()
clone.Parent = workspace.game.debug
clone.Name = arg1.Name
clone.Ball.Transparency = 1
if arg1.TeamColor == BrickColor.new("Storm blue") or arg1.TeamColor == BrickColor.new("Navy blue") then
clone:SetPrimaryPartCFrame(CFrame.lookAt(Vector3.new(clamped_2, clone.Primary.Position.Y, clamped), Vector3.new(workspace.game.points.bounds.away.Position.X, clone.Primary.Position.Y, workspace.game.points.bounds.away.Position.Z)))
clone.Team.Value = "away"
-- KONSTANTWARNING: GOTO [500] #286
end
-- KONSTANTERROR: [0] 1. Error Block 30 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [293] 167. Error Block 26 start (CF ANALYSIS FAILED)
if arg1.TeamColor == BrickColor.new("Crimson") or arg1.TeamColor == BrickColor.new("Maroon") then
clone:SetPrimaryPartCFrame(CFrame.lookAt(Vector3.new(clamped_2, clone.Primary.Position.Y, clamped), Vector3.new(workspace.game.points.bounds.home.Position.X, clone.Primary.Position.Y, workspace.game.points.bounds.home.Position.Z)))
clone.Team.Value = "home"
elseif clamped <= 0 then
clone:SetPrimaryPartCFrame(CFrame.lookAt(Vector3.new(clamped_2, clone.Primary.Position.Y, clamped), Vector3.new(workspace.game.points.bounds.home.Position.X, clone.Primary.Position.Y, workspace.game.points.bounds.home.Position.Z)))
clone.Team.Value = "home"
else
clone:SetPrimaryPartCFrame(CFrame.lookAt(Vector3.new(clamped_2, clone.Primary.Position.Y, clamped), Vector3.new(workspace.game.points.bounds.away.Position.X, clone.Primary.Position.Y, workspace.game.points.bounds.away.Position.Z)))
clone.Team.Value = "away"
end
-- KONSTANTERROR: [293] 167. Error Block 26 end (CF ANALYSIS FAILED)
end
function module_upvr.init(arg1) -- Line 48
assert(arg1._model, "Freekick.server [init] | call .new() before running :init()!")
assert(arg1._character.PrimaryPart, string.format("Freekick.server [init] | could not find PrimaryPart [%s]", tostring(arg1._player.UserId)))
local var18
if arg1._player.TeamColor == BrickColor.new("Storm blue") or arg1._player.TeamColor == BrickColor.new("Navy blue") then
var18 = (arg1._model.Primary.Position * Vector3.new(1, 0, 1) - workspace.game.points.bounds.away.Position * Vector3.new(1, 0, 1)).Magnitude
elseif arg1._player.TeamColor == BrickColor.new("Crimson") or arg1._player.TeamColor == BrickColor.new("Maroon") then
var18 = (arg1._model.Primary.Position * Vector3.new(1, 0, 1) - workspace.game.points.bounds.home.Position * Vector3.new(1, 0, 1)).Magnitude
end
var18 /= 6.8
if not _G._services.RunService:IsStudio() and arg1._model:FindFirstChild("Wall") then
arg1._model.Wall:Destroy()
end
local function INLINED() -- Internal function, doesn't exist in bytecode
for _, v in next, arg1._model.VanishingSpray.Wall:GetChildren() do
if v and v:IsA("BasePart") then
v.Transparency = 1
end
end
return 35 <= var18
end
if 35 <= var18 or _G._services.RunService:IsStudio() or INLINED() and arg1._model:FindFirstChild("Wall") then
arg1._model.Wall:Destroy()
end
arg1:initConnections()
arg1._character.Archivable = false
local BoolValue_3 = Instance.new("BoolValue", arg1._player)
BoolValue_3.Name = "Teleport"
BoolValue_3.Value = true
_G._services.Debris:AddItem(BoolValue_3, 3)
if arg1._profile.settings.Visual["Strong Foot"].Value == "Right" then
arg1._character:SetPrimaryPartCFrame(arg1._model.Right.CFrame)
arg1._character.PrimaryPart.Anchored = true
else
arg1._character:SetPrimaryPartCFrame(arg1._model.Left.CFrame)
arg1._character.PrimaryPart.Anchored = true
end
if _G._references.Main.config.AutoRall.Value then
for _, v_2 in next, workspace.game.balls.spawns:GetChildren() do
if v_2 then
v_2:Destroy()
end
end
end
_G._references.BindableEvent:Fire("clearSpace")
local CFrameValue = Instance.new("CFrameValue")
CFrameValue.Name = "RF"
CFrameValue.Value = arg1._model.Ball.CFrame
CFrameValue.Parent = workspace.game.balls.spawns
local IntValue = Instance.new("IntValue")
IntValue.Name = "possessor"
IntValue.Value = arg1._player.UserId
IntValue.Parent = CFrameValue
local BoolValue = Instance.new("BoolValue")
BoolValue.Name = script.Parent.Parent.Name
BoolValue.Value = true
BoolValue.Parent = _G._references.Main.config["Set Pieces"]
for _, v_3 in next, _G._references.Main.config.Override:GetChildren() do
if v_3 and v_3.Name == "Break" then
v_3:Destroy()
end
end
arg1._maid:GiveTask(BoolValue)
arg1._character.Humanoid.AutoRotate = false
_G._references.RemoteEvent:FireClient(arg1._player, "shiftLock", false)
_G._references.RemoteEvent:FireClient(arg1._player, "forceDisable", true)
_G._references.RemoteEvent:FireClient(arg1._player, "freeKick", arg1._model, CFrameValue)
end
function module_upvr.initConnections(arg1) -- Line 148
local BindableEvent_upvr = Instance.new("BindableEvent", arg1._model)
BindableEvent_upvr.Name = "Cancel"
local RemoteEvent_2 = Instance.new("RemoteEvent", arg1._model)
RemoteEvent_2.Name = "Clear"
local RemoteEvent = Instance.new("RemoteEvent", arg1._model)
RemoteEvent.Name = "Animation"
_G._references.RemoteEvent:FireAllClients("registerTeleporter", arg1._player, arg1._model, "default")
arg1._maid._onBindableEvent = BindableEvent_upvr.Event:Connect(function() -- Line 160
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:clear()
end)
arg1._maid._onClearRemoteEvent = RemoteEvent_2.OnServerEvent:Connect(function(arg1_2) -- Line 164
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_2 == arg1._player then
if arg1._animation then
while arg1._animation do
task.wait()
end
end
arg1:clear()
end
end)
arg1._maid._onAnimationRemoteEvent = RemoteEvent.OnServerEvent:Connect(function(arg1_3, arg2) -- Line 176
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
local var40
if arg1_3 == arg1._player then
var40 = arg1_3.Character
var40 = arg2
local any_LoadAnimation_result1_2 = var40.Humanoid.Animator:LoadAnimation(var40)
any_LoadAnimation_result1_2.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1_2:Play()
var40 = true
arg1._animation = var40
local function INLINED_3() -- Internal function, doesn't exist in bytecode
var40 = any_LoadAnimation_result1_2.Length - 0.6
return var40
end
if 0.1 > any_LoadAnimation_result1_2.Length or not INLINED_3() then
var40 = 3.85
end
task.wait(var40)
if arg1_3 and arg1_3.Character then
var40 = arg1._maid
if var40._onAnimationRemoteEvent then
var40 = "BoolValue"
local any = Instance.new(var40, arg1._player)
var40 = "Teleport"
any.Name = var40
var40 = true
any.Value = var40
var40 = _G._services.Debris:AddItem
var40(any, 3)
var40 = any_LoadAnimation_result1_2:AdjustSpeed
var40(0)
var40 = arg1_3.Character:SetPrimaryPartCFrame
var40(arg1_3.Character.LowerTorso.CFrame * _G._services.StarterPlayer.StarterCharacter.LowerTorso.CFrame:ToObjectSpace(_G._services.StarterPlayer.StarterCharacter.HumanoidRootPart.CFrame))
var40 = any_LoadAnimation_result1_2:Stop
var40(0)
var40 = arg1
var40._animation = nil
end
end
end
end)
arg1._maid._onRespawn = arg1._player.CharacterAdded:Connect(function() -- Line 199
--[[ Upvalues[1]:
[1]: BindableEvent_upvr (readonly)
]]
BindableEvent_upvr:Fire()
end)
arg1._maid._onLeave = _G._services.Players.PlayerRemoving:Connect(function(arg1_4) -- Line 203
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: BindableEvent_upvr (readonly)
]]
if arg1_4 == arg1._player then
BindableEvent_upvr:Fire()
end
end)
local function onTouch(arg1_5) -- Line 209
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_5 and arg1_5.Parent and arg1_5.Parent:FindFirstChildWhichIsA("Humanoid") and not arg1_5:FindFirstAncestor("manager") and not arg1_5:FindFirstAncestor("referee") and arg1_5.Parent ~= arg1._character and not arg1._touch[arg1_5.Parent.Name] then
arg1._touch[arg1_5.Parent.Name] = true
if _G._services.Players:GetPlayerFromCharacter(arg1_5.Parent) then
local BoolValue_2 = Instance.new("BoolValue", _G._services.Players:GetPlayerFromCharacter(arg1_5.Parent))
BoolValue_2.Name = "Teleport"
BoolValue_2.Value = true
_G._services.Debris:AddItem(BoolValue_2, 3)
end
arg1_5.Parent:SetPrimaryPartCFrame(arg1._model.Teleport.CFrame)
task.delay(0.5, function() -- Line 222
--[[ Upvalues[2]:
[1]: arg1 (copied, readonly)
[2]: arg1_5 (readonly)
]]
arg1._touch[arg1_5.Parent.Name] = false
end)
end
end
for _, v_4 in next, arg1._model.Area:GetChildren() do
if v_4 and v_4:IsA("BasePart") then
local any_GenerateGUID_result1 = _G._services.HttpService:GenerateGUID(false)
arg1._maid[any_GenerateGUID_result1.."_onTouched"] = v_4.Touched:Connect(onTouch)
arg1._maid[any_GenerateGUID_result1.."_onTouchEnded"] = v_4.TouchEnded:Connect(onTouch)
end
end
arg1._maid._areaTouched = workspace.game.regions.under.Touched:Connect(onTouch)
arg1._maid._areaTouchEnded = workspace.game.regions.under.TouchEnded:Connect(onTouch)
arg1._maid:GiveTask(arg1._model)
arg1._maid:GiveTask(BindableEvent_upvr)
arg1._maid:GiveTask(RemoteEvent_2)
arg1._maid:GiveTask(RemoteEvent)
end
function module_upvr.clear(arg1) -- Line 245
if arg1._character and arg1._character:FindFirstChild("HumanoidRootPart") then
arg1._character.HumanoidRootPart.Anchored = false
end
_G._references.RemoteEvent:FireAllClients("clearTeleporter")
if arg1._player then
_G._references.RemoteEvent:FireClient(arg1._player, "shiftLock", true)
_G._references.RemoteEvent:FireClient(arg1._player, "forceDisable", false)
_G._references.RemoteEvent:FireClient(arg1._player, "canSprint", true)
_G._references.RemoteEvent:FireClient(arg1._player, "globalOverride", false)
end
for _, v_5 in next, _G._references.Main.config.Override:GetChildren() do
if v_5 and (v_5.Name == "DisableFouls" or v_5.Name == "RTP") then
v_5:Destroy()
end
end
_G._references.Main.config.TimerSpeed.Value = 5
arg1._maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:56:33
-- Luau version 6, Types version 3
-- Time taken: 0.077860 seconds
local any_load_result1_upvr = _G._engine:load("Maid")
local module_upvr = {}
module_upvr.__index = module_upvr
function module_upvr.new(arg1, arg2) -- Line 7
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: module_upvr (readonly)
]]
assert(arg1, "Freekick.client | Model 'model' expected, got "..typeof(arg1))
assert(arg2, "Freekick.client | BasePart 'ball' expected, got "..typeof(arg2))
local LocalPlayer = _G._references.LocalPlayer
local Character = LocalPlayer.Character
if not Character then
Character = LocalPlayer.CharacterAdded:Wait()
end
local module = {}
module._ball = arg2
module._player = LocalPlayer
module._model = arg1
module._character = Character
module._root = _G._root
module._mouse = LocalPlayer:GetMouse()
module._formatNumber = _G._engine:load("FormatNumber", "utils")
module._maid = any_load_result1_upvr.new()
module._states = {
charging = false;
released = false;
}
return setmetatable(module, module_upvr)
end
function module_upvr.init(arg1) -- Line 30
--[[ Upvalues[1]:
[1]: any_load_result1_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 126 start (CF ANALYSIS FAILED)
local Magnitude = (arg1._model.Primary.Position * Vector3.new(1, 0, 1) - workspace.game.points.bounds[arg1._model.Team.Value].Position * Vector3.new(1, 0, 1)).Magnitude
if arg1._player.TeamColor == BrickColor.new("Storm blue") or arg1._player.TeamColor == BrickColor.new("Navy blue") then
Magnitude = (arg1._model.Primary.Position * Vector3.new(1, 0, 1) - workspace.game.points.bounds.away.Position * Vector3.new(1, 0, 1)).Magnitude
elseif arg1._player.TeamColor == BrickColor.new("Crimson") or arg1._player.TeamColor == BrickColor.new("Maroon") then
Magnitude = (arg1._model.Primary.Position * Vector3.new(1, 0, 1) - workspace.game.points.bounds.home.Position * Vector3.new(1, 0, 1)).Magnitude
end
local var56_upvw = Magnitude / 6.8
local NumberValue_upvr_3 = Instance.new("NumberValue")
NumberValue_upvr_3.Parent = arg1._model
NumberValue_upvr_3.Value = 0
arg1._maid:GiveTask(NumberValue_upvr_3)
local tbl_upvr = {}
for _, v in next, arg1._model.Overlay:GetChildren() do
if v and v:FindFirstChildWhichIsA("BillboardGui") then
local class_BillboardGui = v:FindFirstChildWhichIsA("BillboardGui")
class_BillboardGui.Parent = arg1._player.PlayerGui:WaitForChild("billboardUI", 100)
class_BillboardGui.Adornee = v
tbl_upvr['_'..string.lower(v.Name)] = class_BillboardGui
end
end
tbl_upvr._ball.Enabled = true
tbl_upvr._power.Enabled = true
tbl_upvr._take.Enabled = true
tbl_upvr._controls.Enabled = true
if _G._services.UserInputService.TouchEnabled then
tbl_upvr._take.Main.Container.Bind.Bind.Text = "[TAP]"
for i_2, v_2 in next, tbl_upvr._controls.Main.Container.Container:GetChildren() do
if v_2 and v_2:IsA("Frame") then
v_2.Bind.Text = "[TAP]"
end
end
else
i_2 = _G
if i_2._services.UserInputService.GamepadEnabled then
v_2 = tbl_upvr._take
i_2 = v_2.Main
i_2.Container.Bind.Bind.Text = "[B]"
v_2 = tbl_upvr._controls.Main
i_2 = v_2.Container
i_2.Container["Inside Foot Curled"].Bind.Text = "[LT]"
v_2 = tbl_upvr._controls.Main
i_2 = v_2.Container
i_2.Container["Outside Foot Curled"].Bind.Text = "[RT]"
v_2 = tbl_upvr._controls.Main
i_2 = v_2.Container
i_2.Container["No Curl"].Bind.Text = "[LB]"
v_2 = tbl_upvr._controls.Main
i_2 = v_2.Container
i_2.Container.Knuckle.Bind.Text = "[RB]"
end
end
if arg1._model.Team.Value == "home" and arg1._model.Primary.Position.Z <= 0 then
tbl_upvr._distance.Enabled = true
elseif arg1._model.Team.Value == "away" and 0 <= arg1._model.Primary.Position.Z then
tbl_upvr._distance.Enabled = true
end
if arg1._player.PlayerGui:FindFirstChild("UI") then
arg1._player.PlayerGui.UI.Enabled = false
end
arg1._maid._tweenChanged = NumberValue_upvr_3.Changed:Connect(function() -- Line 94
--[[ Upvalues[3]:
[1]: tbl_upvr (readonly)
[2]: arg1 (readonly)
[3]: NumberValue_upvr_3 (readonly)
]]
tbl_upvr._distance.Main.Container.Distance.Text = tostring(arg1._formatNumber.FormatDecimal(NumberValue_upvr_3.Value, 0))
end)
for _, v_3 in next, {"_distance", "_take", "_power", "_controls"} do
tbl_upvr[v_3].Size = UDim2.new(0, 0, 0, tbl_upvr[v_3].Size.Y.Offset)
_G._services.TweenService:Create(tbl_upvr[v_3], TweenInfo.new(1.15, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
Size = UDim2.new(0, tbl_upvr[v_3].Size.X.Offset, 0, tbl_upvr[v_3].Size.Y.Offset);
}):Play()
local var67_upvr
end
task.delay(1, function() -- Line 104
--[[ Upvalues[2]:
[1]: NumberValue_upvr_3 (readonly)
[2]: var56_upvw (read and write)
]]
_G._services.TweenService:Create(NumberValue_upvr_3, TweenInfo.new(2.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Value = var56_upvw;
}):Play()
end)
task.delay(7, function() -- Line 108
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: var67_upvr (readonly)
]]
if arg1._model and arg1._model.Parent then
_G._references.Main.sounds.UI.Glitch:Play()
task.spawn(function() -- Line 112
--[[ Upvalues[2]:
[1]: var67_upvr (copied, readonly)
[2]: arg1 (copied, readonly)
]]
var67_upvr._distance.Main.Container.Background.Visible = false
task.wait(0.12)
if not arg1._model or not arg1._model.Parent then
else
var67_upvr._distance.Main.Container.Background.Visible = true
task.wait(0.15)
if not arg1._model or not arg1._model.Parent then return end
var67_upvr._distance.Main.Container.Background.Visible = false
end
end)
task.spawn(function() -- Line 130
--[[ Upvalues[2]:
[1]: arg1 (copied, readonly)
[2]: var67_upvr (copied, readonly)
]]
task.wait(0.05)
if not arg1._model or not arg1._model.Parent then
else
var67_upvr._distance.Main.Container.Label.Visible = false
task.wait(0.08)
if not arg1._model or not arg1._model.Parent then return end
var67_upvr._distance.Main.Container.Label.Visible = true
task.wait(0.06)
if not arg1._model or not arg1._model.Parent then return end
var67_upvr._distance.Main.Container.Label.Visible = false
end
end)
task.spawn(function() -- Line 153
--[[ Upvalues[2]:
[1]: arg1 (copied, readonly)
[2]: var67_upvr (copied, readonly)
]]
task.wait(0.04)
if not arg1._model or not arg1._model.Parent then
else
var67_upvr._distance.Main.Container.Distance.Visible = false
var67_upvr._distance.Main.Container.Unit.Visible = false
task.wait(0.09)
if not arg1._model or not arg1._model.Parent then return end
var67_upvr._distance.Main.Container.Distance.Visible = true
var67_upvr._distance.Main.Container.Unit.Visible = true
task.wait(0.07)
if not arg1._model or not arg1._model.Parent then return end
var67_upvr._distance.Main.Container.Distance.Visible = false
var67_upvr._distance.Main.Container.Unit.Visible = false
end
end)
end
end)
arg1._model.Arrow.Beam.Enabled = true
arg1._player.PlayerGui.main.mobile.Visible = false
arg1._player.PlayerGui.main.backpack.Visible = false
arg1._player.PlayerGui.main.gamepad.Visible = false
for _, v_4 in next, arg1._player.PlayerGui.main.mobile.contextTabContainer:GetChildren() do
if v_4 and v_4:IsA("Frame") then
v_4.Visible = false
end
end
if _G._references.Profile.settings.Visual["Strong Foot"].Value == "Right" then
-- KONSTANTWARNING: GOTO [592] #361
end
local var76_upvr = 'L'
local tbl_upvr_2 = {
_idle = arg1._character.Humanoid.Animator:LoadAnimation(_G._references.Main.animations["Set Piece"]["Free Kick"][var76_upvr].Idle);
_kick = arg1._character.Humanoid.Animator:LoadAnimation(_G._references.Main.animations["Set Piece"]["Free Kick"][var76_upvr].Kick);
}
tbl_upvr_2._idle.Priority = Enum.AnimationPriority.Action3
tbl_upvr_2._idle.Looped = true
tbl_upvr_2._idle:Play()
tbl_upvr_2._kick.Priority = Enum.AnimationPriority.Action4
arg1._model.Detector.CanCollide = false
arg1._maid._attributeChanged = arg1._root:GetAttributeChangedSignal("globalOverride"):Connect(function() -- Line 210
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if not arg1._root:GetAttribute("globalOverride") then
arg1._root:SetAttribute("globalOverride", true)
end
end)
arg1._maid._onDied = arg1._character.Humanoid.Died:Connect(function() -- Line 216
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:clear()
end)
local var80_upvw = false
local CFrame_upvw = arg1._model.Camera.CFrame
if 30 <= var56_upvw and _G._services.UserInputService.TouchEnabled then
workspace.CurrentCamera.FieldOfView = 60
local Take = arg1._model.Overlay.Take
Take.CFrame *= CFrame.new(0, -3, 0)
local Power_3 = arg1._model.Overlay.Power
Power_3.CFrame *= CFrame.new(0, -3, 0)
local Camera = arg1._model.Camera
Camera.CFrame *= CFrame.new(0, 5, 0) * CFrame.fromEulerAnglesXYZ(-0.14835298641951802, 0, 0)
-- KONSTANTWARNING: GOTO [937] #575
end
if 30 <= var56_upvw and not _G._services.UserInputService.TouchEnabled then
workspace.CurrentCamera.FieldOfView = 60
local Take_2 = arg1._model.Overlay.Take
Take_2.CFrame *= CFrame.new(0, -3, 0)
local Power = arg1._model.Overlay.Power
Power.CFrame *= CFrame.new(0, -3, 0)
local Camera_2 = arg1._model.Camera
Camera_2.CFrame *= CFrame.new(0, 5, 0) * CFrame.fromEulerAnglesXYZ(-0.14835298641951802, 0, 0)
-- KONSTANTWARNING: GOTO [937] #575
end
-- KONSTANTERROR: [0] 1. Error Block 126 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [864] 530. Error Block 122 start (CF ANALYSIS FAILED)
if var56_upvw < 30 and _G._services.UserInputService.TouchEnabled then
local Take_3 = arg1._model.Overlay.Take
Take_3.CFrame *= CFrame.new(0, -2, 0)
local Power_2 = arg1._model.Overlay.Power
Power_2.CFrame *= CFrame.new(0, -3, 0)
workspace.CurrentCamera.FieldOfView = 45
elseif var56_upvw < 30 and not _G._services.UserInputService.TouchEnabled then
workspace.CurrentCamera.FieldOfView = 45
end
workspace.CurrentCamera.CameraType = Enum.CameraType.Scriptable
workspace.CurrentCamera.CFrame = arg1._model.Camera.CFrame
arg1._maid._propertyChanged = workspace.CurrentCamera:GetPropertyChangedSignal("FieldOfView"):Connect(function() -- Line 247
--[[ Upvalues[2]:
[1]: var80_upvw (read and write)
[2]: var56_upvw (read and write)
]]
if not var80_upvw and 30 <= var56_upvw then
workspace.CurrentCamera.FieldOfView = 60
elseif not var80_upvw and var56_upvw < 30 then
workspace.CurrentCamera.FieldOfView = 45
end
end)
local tbl_upvr_3 = {
minDistance = 1.25;
power = 60;
minPower = 60;
maxPower = 120;
increaseRate = 0.3;
chargeTime = 1;
x = 0;
y = 0;
composure = {
pressed = false;
composed = false;
};
mode = "Inside Foot Curled";
lastMousePosition = workspace.CurrentCamera:WorldToViewportPoint(arg1._mouse.Hit.Position);
limits = {
x = {
right = 30;
left = -30;
};
y = {
up = 3;
down = -4;
};
};
directions = {
up = false;
down = false;
right = false;
left = false;
};
}
local any_new_result1_upvr = any_load_result1_upvr.new()
local any_Create_result1_upvr = _G._services.TweenService:Create(var67_upvr._power.Main.Container.Power, TweenInfo.new(tbl_upvr_3.chargeTime, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut), {
Size = UDim2.new(1, 0, 1, 0);
})
for _, v_5 in next, arg1._model.Overlay:GetChildren() do
if v_5 and v_5:IsA("BasePart") then
({})['_'..string.lower(v_5.Name)] = arg1._model.Camera.CFrame:ToObjectSpace(v_5.CFrame)
end
end
local NumberValue_upvr_2 = Instance.new("NumberValue")
NumberValue_upvr_2.Name = 'Y'
NumberValue_upvr_2.Value = 0
arg1._maid:GiveTask(NumberValue_upvr_2)
arg1._character.Humanoid:UnequipTools()
local function release_upvr() -- Line 319, Named "release"
--[[ Upvalues[9]:
[1]: var80_upvw (read and write)
[2]: arg1 (readonly)
[3]: any_new_result1_upvr (readonly)
[4]: any_Create_result1_upvr (readonly)
[5]: tbl_upvr_3 (readonly)
[6]: var67_upvr (readonly)
[7]: var76_upvr (readonly)
[8]: CFrame_upvw (read and write)
[9]: tbl_upvr_2 (readonly)
]]
var80_upvw = true
arg1._states._charging = false
arg1._states._released = true
any_new_result1_upvr:DoCleaning()
any_Create_result1_upvr:Pause()
tbl_upvr_3.power = tbl_upvr_3.minPower + (tbl_upvr_3.maxPower - tbl_upvr_3.minPower) * var67_upvr._power.Main.Container.Power.Size.X.Scale
arg1._model.Animation:FireServer(_G._references.Main.animations["Set Piece"]["Free Kick"][var76_upvr].Kick)
task.wait(arg1._player:GetNetworkPing())
var67_upvr._composure.Enabled = true
var67_upvr._composure.Size = UDim2.new(0, var67_upvr._composure.Size.X.Offset, 0, 0)
_G._services.TweenService:Create(var67_upvr._composure, TweenInfo.new(0.1, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
Size = UDim2.new(0, var67_upvr._composure.Size.X.Offset, 0, var67_upvr._composure.Size.Y.Offset);
}):Play()
_G._services.TweenService:Create(var67_upvr._ball, TweenInfo.new(0.15, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
Size = UDim2.new(var67_upvr._ball.Size.X.Scale, 0, 0, 0);
}):Play()
task.spawn(function() -- Line 340
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
local NumberValue_upvr = Instance.new("NumberValue", arg1._model)
NumberValue_upvr.Value = 0
local any_Connect_result1 = _G._services.RunService.RenderStepped:Connect(function() -- Line 344
--[[ Upvalues[2]:
[1]: arg1 (copied, readonly)
[2]: NumberValue_upvr (readonly)
]]
arg1._model.Arrow.Beam.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0, NumberValue_upvr.Value), NumberSequenceKeypoint.new(1, 1)})
end)
_G._services.TweenService:Create(NumberValue_upvr, TweenInfo.new(0.5, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
Value = 1;
}):Play()
task.wait(0.5)
if any_Connect_result1 then
any_Connect_result1:Disconnect()
end
if NumberValue_upvr and NumberValue_upvr.Parent and NumberValue_upvr.Parent.Parent then
NumberValue_upvr:Destroy()
end
end)
local any_Create_result1_upvw = _G._services.TweenService:Create(var67_upvr._composure.Main.Container.Composure, TweenInfo.new(0.2, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut), {
Size = UDim2.new(1, 4, 0.1, 0);
})
any_Create_result1_upvw:Play()
local var121
if workspace.CurrentCamera.FieldOfView == 60 then
var121 = _G._services
var121.TweenService:Create(workspace.CurrentCamera, TweenInfo.new(2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
FieldOfView = 50;
}):Play()
else
var121 = _G._services
var121.TweenService:Create(workspace.CurrentCamera, TweenInfo.new(2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
FieldOfView = 35;
}):Play()
end
var121 = {}
var121[1] = "_controls"
var121[2] = "_take"
for _, v_6 in next, var121 do
_G._services.TweenService:Create(var67_upvr[v_6], TweenInfo.new(0.7, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
Size = UDim2.new(0, 0, 0, var67_upvr[v_6].Size.Y.Offset);
}):Play()
end
function var121() -- Line 376
--[[ Upvalues[4]:
[1]: tbl_upvr_3 (copied, readonly)
[2]: arg1 (copied, readonly)
[3]: any_Create_result1_upvw (read and write)
[4]: var67_upvr (copied, readonly)
]]
while true do
task.wait(0.2)
if tbl_upvr_3.composure.pressed then break end
if not arg1._model then break end
if not arg1._model.Parent then break end
any_Create_result1_upvw = _G._services.TweenService:Create(var67_upvr._composure.Main.Container.Composure, TweenInfo.new(0.2, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut), {
Size = UDim2.new(1, 4, 1, 0);
})
any_Create_result1_upvw:Play()
task.wait(0.2)
if tbl_upvr_3.composure.pressed then break end
if not arg1._model then break end
if not arg1._model.Parent then break end
any_Create_result1_upvw = _G._services.TweenService:Create(var67_upvr._composure.Main.Container.Composure, TweenInfo.new(0.2, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut), {
Size = UDim2.new(1, 4, 0.1, 0);
})
any_Create_result1_upvw:Play()
end
end
task.spawn(var121)
var121 = _G._services.UserInputService.InputBegan
var121 = var121:Connect(function(arg1_2, arg2) -- Line 396
--[[ Upvalues[3]:
[1]: tbl_upvr_3 (copied, readonly)
[2]: any_Create_result1_upvw (read and write)
[3]: var67_upvr (copied, readonly)
]]
if arg1_2.KeyCode == Enum.KeyCode.Space or arg1_2.UserInputType == Enum.UserInputType.Touch or arg1_2.KeyCode == Enum.KeyCode.ButtonA or not tbl_upvr_3.composure.pressed then
any_Create_result1_upvw:Pause()
tbl_upvr_3.composure.pressed = true
if var67_upvr._composure.Main.Container.Composure.Size.Y.Scale <= 0.3 then
tbl_upvr_3.composure.composed = true
return
end
tbl_upvr_3.composure.composed = false
end
end)
any_new_result1_upvr._inputBegan = var121
var121 = _G._services.RunService.RenderStepped
var121 = var121:Connect(function() -- Line 409
--[[ Upvalues[6]:
[1]: var67_upvr (copied, readonly)
[2]: arg1 (copied, readonly)
[3]: var76_upvr (copied, readonly)
[4]: tbl_upvr_3 (copied, readonly)
[5]: any_new_result1_upvr (copied, readonly)
[6]: CFrame_upvw (copied, read and write)
]]
if var67_upvr._composure.Main.Container.Composure.Size.Y.Scale <= 0.2 then
var67_upvr._composure.Main.Container.Composure.Top.BackgroundColor3 = Color3.fromRGB(0, 255, 0)
var67_upvr._composure.Main.Container.Composure.Bottom.BackgroundColor3 = Color3.fromRGB(0, 255, 0)
else
var67_upvr._composure.Main.Container.Composure.Top.BackgroundColor3 = Color3.fromRGB(255, 0, 0)
var67_upvr._composure.Main.Container.Composure.Bottom.BackgroundColor3 = Color3.fromRGB(255, 0, 0)
end
if arg1._model and arg1._model:FindFirstChild("Ball") then
local var126
local function INLINED() -- Internal function, doesn't exist in bytecode
var126 = tbl_upvr_3.minDistance
var126 = arg1._model.Ball.Position - arg1._character.RightLowerLeg.Position
return var126.Magnitude <= var126
end
local function INLINED_2() -- Internal function, doesn't exist in bytecode
var126 = tbl_upvr_3.minDistance
var126 = arg1._model.Ball.Position - arg1._character.LeftLowerLeg.Position
return var126.Magnitude <= var126
end
if var76_upvr == 'R' and INLINED() or INLINED_2() then
any_new_result1_upvr:DoCleaning()
var126 = tbl_upvr_3
var126 = true
var126.composure.pressed = var126
var126 = workspace.CurrentCamera
var126 = Vector3.new(0, 0, 0)
if tbl_upvr_3.mode == "Knuckle" then
local var127 = tbl_upvr_3
var127.power *= 1
end
if not tbl_upvr_3.composure.composed then
local randint = math.random(-30, 30)
if randint <= 0 then
randint = math.clamp(randint, -30, -10)
else
randint = math.clamp(randint, 10, 30)
end
var126 = workspace.CurrentCamera.CFrame.RightVector * randint + (workspace.CurrentCamera.CFrame.UpVector) * (randint / 3)
end
local Folder = Instance.new("Folder")
Folder.Name = "react"
local ObjectValue = Instance.new("ObjectValue", Folder)
ObjectValue.Name = "ball"
ObjectValue.Value = arg1._ball
local Vector3Value_2 = Instance.new("Vector3Value", Folder)
Vector3Value_2.Name = "vector"
Vector3Value_2.Value = CFrame_upvw.LookVector * tbl_upvr_3.power + Vector3.new(0, 35, 0) + Vector3.new(0, tbl_upvr_3.y * 7, 0) + var126
local Vector3Value = Instance.new("Vector3Value", Folder)
Vector3Value.Name = "maxForce"
Vector3Value.Value = Vector3.new(10000, 10000, 10000)
local BoolValue_2 = Instance.new("BoolValue", Folder)
BoolValue_2.Name = "ignoreReactDecline"
BoolValue_2.Value = true
local BoolValue = Instance.new("BoolValue", Folder)
BoolValue.Name = "checkOffside"
BoolValue.Value = true
local BoolValue_3 = Instance.new("BoolValue", Folder)
BoolValue_3.Name = "freeKick"
BoolValue_3.Value = true
local BoolValue_5 = Instance.new("BoolValue", Folder)
BoolValue_5.Name = "curve"
BoolValue_5.Value = true
local StringValue_2 = Instance.new("StringValue", Folder)
StringValue_2.Name = "curveType"
if tbl_upvr_3.mode == "Inside Foot Curled" then
if var76_upvr == 'R' then
StringValue_2.Value = "left"
else
StringValue_2.Value = "right"
end
elseif tbl_upvr_3.mode == "Outside Foot Curled" then
if var76_upvr == 'R' then
StringValue_2.Value = "right"
else
StringValue_2.Value = "left"
end
elseif tbl_upvr_3.mode == "Knuckle" then
if var76_upvr == 'R' then
StringValue_2.Value = "right"
else
StringValue_2.Value = "left"
end
elseif tbl_upvr_3.mode == "No Curl" then
StringValue_2.Value = "none"
end
local StringValue = Instance.new("StringValue", Folder)
StringValue.Name = "spinType"
if tbl_upvr_3.mode == "Knuckle" then
StringValue.Value = "knuckle"
else
StringValue.Value = "topspin"
end
local BoolValue_4 = Instance.new("BoolValue", Folder)
BoolValue_4.Name = "grassEffect"
BoolValue_4.Value = true
Folder.Parent = arg1._player
Folder:SetAttribute("loaded", true)
end
end
end)
any_new_result1_upvr._renderStepped = var121
var121 = 0.3
task.delay(var121, function() -- Line 517
--[[ Upvalues[1]:
[1]: tbl_upvr_2 (copied, readonly)
]]
tbl_upvr_2._idle:Stop(0.1)
end)
local function INLINED_3() -- Internal function, doesn't exist in bytecode
var121 = tbl_upvr_2._kick.Length - 0.6
return var121
end
if 0.1 > tbl_upvr_2._kick.Length or not INLINED_3() then
var121 = 3.85
end
task.wait(var121)
var121 = arg1._character
var121 = true
var121.Humanoid.AutoRotate = var121
var121 = arg1
if var121._model:FindFirstChild("Clear") then
var121 = arg1._model
var121.Clear:FireServer()
end
arg1:clear()
end
for _, v_7_upvr in next, var67_upvr._controls.Main.Container.Container:GetChildren() do
if v_7_upvr and v_7_upvr:IsA("Frame") then
any_new_result1_upvr[v_7_upvr.Name.."_mouseButton1Click"] = v_7_upvr.Button.MouseButton1Click:Connect(function() -- Line 532
--[[ Upvalues[3]:
[1]: tbl_upvr_3 (readonly)
[2]: v_7_upvr (readonly)
[3]: var67_upvr (readonly)
]]
_G._references.Main.sounds.UI.Click:Play()
tbl_upvr_3.mode = v_7_upvr.Name
var67_upvr._take.Main.Container.Label.Text = string.upper(tbl_upvr_3.mode)
end)
end
end
task.delay(30, function() -- Line 540
--[[ Upvalues[5]:
[1]: arg1 (readonly)
[2]: any_Create_result1_upvr (readonly)
[3]: any_new_result1_upvr (readonly)
[4]: tbl_upvr_3 (readonly)
[5]: release_upvr (readonly)
]]
if not arg1._states._charging and not arg1._states._released and arg1._model and arg1._model.Parent then
arg1._states._charging = true
any_Create_result1_upvr:Play()
any_new_result1_upvr:DoCleaning()
task.wait(tbl_upvr_3.chargeTime)
release_upvr()
end
end)
any_new_result1_upvr._inputBegan = _G._services.UserInputService.InputBegan:Connect(function(arg1_3, arg2) -- Line 551
--[[ Upvalues[4]:
[1]: tbl_upvr_3 (readonly)
[2]: var67_upvr (readonly)
[3]: arg1 (readonly)
[4]: any_Create_result1_upvr (readonly)
]]
if arg1_3.KeyCode == Enum.KeyCode.W then
tbl_upvr_3.directions.up = true
else
if arg1_3.KeyCode == Enum.KeyCode.A then
tbl_upvr_3.directions.left = true
return
end
if arg1_3.KeyCode == Enum.KeyCode.S then
tbl_upvr_3.directions.down = true
return
end
if arg1_3.KeyCode == Enum.KeyCode.D then
tbl_upvr_3.directions.right = true
return
end
if arg1_3.KeyCode == Enum.KeyCode.One or arg1_3.KeyCode == Enum.KeyCode.ButtonL2 then
_G._references.Main.sounds.UI.Click:Play()
tbl_upvr_3.mode = "Inside Foot Curled"
var67_upvr._take.Main.Container.Label.Text = string.upper(tbl_upvr_3.mode)
return
end
if arg1_3.KeyCode == Enum.KeyCode.Two or arg1_3.KeyCode == Enum.KeyCode.ButtonR2 then
_G._references.Main.sounds.UI.Click:Play()
tbl_upvr_3.mode = "Outside Foot Curled"
var67_upvr._take.Main.Container.Label.Text = string.upper(tbl_upvr_3.mode)
return
end
if arg1_3.KeyCode == Enum.KeyCode.Three or arg1_3.KeyCode == Enum.KeyCode.ButtonL1 then
_G._references.Main.sounds.UI.Click:Play()
tbl_upvr_3.mode = "No Curl"
var67_upvr._take.Main.Container.Label.Text = string.upper(tbl_upvr_3.mode)
return
end
if arg1_3.KeyCode == Enum.KeyCode.Four or arg1_3.KeyCode == Enum.KeyCode.ButtonR1 then
_G._references.Main.sounds.UI.Click:Play()
tbl_upvr_3.mode = "Knuckle"
var67_upvr._take.Main.Container.Label.Text = string.upper(tbl_upvr_3.mode)
return
end
if arg1_3.KeyCode == Enum.KeyCode.Space or arg1_3.KeyCode == Enum.KeyCode.ButtonB or not arg2 then
arg1._states._charging = true
any_Create_result1_upvr:Play()
end
end
end)
any_new_result1_upvr._inputEnded = _G._services.UserInputService.InputEnded:Connect(function(arg1_4, arg2) -- Line 582
--[[ Upvalues[2]:
[1]: tbl_upvr_3 (readonly)
[2]: release_upvr (readonly)
]]
if arg1_4.KeyCode == Enum.KeyCode.W then
tbl_upvr_3.directions.up = false
else
if arg1_4.KeyCode == Enum.KeyCode.A then
tbl_upvr_3.directions.left = false
return
end
if arg1_4.KeyCode == Enum.KeyCode.S then
tbl_upvr_3.directions.down = false
return
end
if arg1_4.KeyCode == Enum.KeyCode.D then
tbl_upvr_3.directions.right = false
return
end
if arg1_4.KeyCode == Enum.KeyCode.Space or arg1_4.KeyCode == Enum.KeyCode.ButtonB or not arg2 then
release_upvr()
end
end
end)
any_new_result1_upvr._inputChanged = _G._services.UserInputService.InputChanged:Connect(function(arg1_5, arg2) -- Line 596
--[[ Upvalues[1]:
[1]: tbl_upvr_3 (readonly)
]]
if arg1_5.KeyCode == Enum.KeyCode.Thumbstick1 then
if 0.7 <= arg1_5.Position.X then
tbl_upvr_3.directions.right = true
tbl_upvr_3.directions.left = false
elseif arg1_5.Position.X <= -0.7 then
tbl_upvr_3.directions.right = false
tbl_upvr_3.directions.left = true
end
if 0.7 <= arg1_5.Position.Y then
tbl_upvr_3.directions.up = true
tbl_upvr_3.directions.down = false
elseif arg1_5.Position.Y <= -0.7 then
tbl_upvr_3.directions.up = false
tbl_upvr_3.directions.down = true
end
if arg1_5.Position.X < 0.35 and -0.35 < arg1_5.Position.X and arg1_5.Position.Y < 0.35 and -0.35 < arg1_5.Position.Y then
tbl_upvr_3.directions.up = false
tbl_upvr_3.directions.down = false
tbl_upvr_3.directions.right = false
tbl_upvr_3.directions.left = false
end
end
end)
if _G._services.UserInputService.TouchEnabled then
any_new_result1_upvr._mouseMove = arg1._mouse.Move:Connect(function() -- Line 624
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: tbl_upvr_3 (readonly)
]]
if not arg1._states.charging and not arg1._states._released then
local any_WorldToViewportPoint_result1 = workspace.CurrentCamera:WorldToViewportPoint(arg1._mouse.Hit.Position)
local var150 = any_WorldToViewportPoint_result1.X - tbl_upvr_3.lastMousePosition.X
local var151 = any_WorldToViewportPoint_result1.Y - tbl_upvr_3.lastMousePosition.Y
tbl_upvr_3.lastMousePosition = any_WorldToViewportPoint_result1
if 1 <= var151 then
tbl_upvr_3.directions.down = true
tbl_upvr_3.directions.up = false
return
end
if var151 <= -1 then
tbl_upvr_3.directions.down = false
tbl_upvr_3.directions.up = true
return
end
if 1 <= var150 then
tbl_upvr_3.directions.right = true
tbl_upvr_3.directions.left = false
return
end
if var150 <= -1 then
tbl_upvr_3.directions.right = false
tbl_upvr_3.directions.left = true
return
end
if var150 < 1 and -1 < var150 and var151 < 1 and -1 < var151 then
tbl_upvr_3.directions.up = false
tbl_upvr_3.directions.down = false
tbl_upvr_3.directions.right = false
tbl_upvr_3.directions.left = false
end
end
end)
any_new_result1_upvr._touchEnded = _G._services.UserInputService.TouchEnded:Connect(function(arg1_6, arg2) -- Line 653
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: tbl_upvr_3 (readonly)
]]
if not arg1._states.charging and not arg1._states._released then
tbl_upvr_3.directions.up = false
tbl_upvr_3.directions.down = false
tbl_upvr_3.directions.right = false
tbl_upvr_3.directions.left = false
end
end)
any_new_result1_upvr._mouseButton1Down = var67_upvr._take.Main.Container.Bind.Button.MouseButton1Down:Connect(function() -- Line 662
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: any_Create_result1_upvr (readonly)
]]
arg1._states.charging = true
any_Create_result1_upvr:Play()
end)
any_new_result1_upvr._mouseButton1Up = var67_upvr._take.Main.Container.Bind.Button.MouseButton1Up:Connect(function() -- Line 667
--[[ Upvalues[1]:
[1]: release_upvr (readonly)
]]
release_upvr()
end)
end
local tbl_upvr_4 = {}
local any_ToObjectSpace_result1_upvr_2 = arg1._model.Camera.CFrame:ToObjectSpace(arg1._model.Arrow.End.CFrame)
any_new_result1_upvr._updateCFrame = _G._services.RunService.RenderStepped:Connect(function() -- Line 672
--[[ Upvalues[6]:
[1]: arg1 (readonly)
[2]: tbl_upvr_4 (readonly)
[3]: var76_upvr (readonly)
[4]: tbl_upvr_3 (readonly)
[5]: any_ToObjectSpace_result1_upvr_2 (readonly)
[6]: NumberValue_upvr_2 (readonly)
]]
arg1._model.Overlay.Ball.CFrame = workspace.CurrentCamera.CFrame * tbl_upvr_4._ball
arg1._model.Overlay.Take.CFrame = workspace.CurrentCamera.CFrame * tbl_upvr_4._take
arg1._model.Overlay.Distance.CFrame = workspace.CurrentCamera.CFrame * tbl_upvr_4._distance
arg1._model.Overlay.Composure.CFrame = workspace.CurrentCamera.CFrame * tbl_upvr_4._composure
arg1._model.Overlay.Controls.CFrame = workspace.CurrentCamera.CFrame * tbl_upvr_4._controls
arg1._model.Overlay.Power.CFrame = workspace.CurrentCamera.CFrame * tbl_upvr_4._power
arg1._character.Humanoid.AutoRotate = false
if var76_upvr == 'R' then
arg1._character:SetPrimaryPartCFrame(arg1._model.Right.CFrame)
else
arg1._character:SetPrimaryPartCFrame(arg1._model.Left.CFrame)
end
if tbl_upvr_3.mode == "Inside Foot Curled" then
arg1._model.Arrow.Beam.CurveSize0 = 8
arg1._model.Arrow.Beam.CurveSize1 = 0
if var76_upvr == 'R' then
arg1._model.Arrow.End.CFrame = workspace.CurrentCamera.CFrame * any_ToObjectSpace_result1_upvr_2 * CFrame.new(0, NumberValue_upvr_2.Value, 0) * CFrame.new(-2, 0, 0)
else
arg1._model.Arrow.End.CFrame = workspace.CurrentCamera.CFrame * any_ToObjectSpace_result1_upvr_2 * CFrame.new(0, NumberValue_upvr_2.Value, 0) * CFrame.new(2, 0, 0)
end
end
if tbl_upvr_3.mode == "Outside Foot Curled" then
arg1._model.Arrow.Beam.CurveSize0 = 8
arg1._model.Arrow.Beam.CurveSize1 = 0
if var76_upvr == 'R' then
arg1._model.Arrow.End.CFrame = workspace.CurrentCamera.CFrame * any_ToObjectSpace_result1_upvr_2 * CFrame.new(0, NumberValue_upvr_2.Value, 0) * CFrame.new(2, 0, 0)
else
arg1._model.Arrow.End.CFrame = workspace.CurrentCamera.CFrame * any_ToObjectSpace_result1_upvr_2 * CFrame.new(0, NumberValue_upvr_2.Value, 0) * CFrame.new(-2, 0, 0)
end
end
if tbl_upvr_3.mode == "No Curl" then
arg1._model.Arrow.Beam.CurveSize0 = 0
arg1._model.Arrow.Beam.CurveSize1 = 0
arg1._model.Arrow.End.CFrame = workspace.CurrentCamera.CFrame * any_ToObjectSpace_result1_upvr_2 * CFrame.new(0, NumberValue_upvr_2.Value, 0)
elseif tbl_upvr_3.mode == "Knuckle" then
arg1._model.Arrow.Beam.CurveSize0 = 5
arg1._model.Arrow.Beam.CurveSize1 = 0
if var76_upvr == 'R' then
arg1._model.Arrow.End.CFrame = workspace.CurrentCamera.CFrame * any_ToObjectSpace_result1_upvr_2 * CFrame.new(0, NumberValue_upvr_2.Value, 0) * CFrame.new(1, 0, 0)
return
end
arg1._model.Arrow.End.CFrame = workspace.CurrentCamera.CFrame * any_ToObjectSpace_result1_upvr_2 * CFrame.new(0, NumberValue_upvr_2.Value, 0) * CFrame.new(-1, 0, 0)
end
end)
local any_ToObjectSpace_result1_upvr = arg1._model.Origin.CFrame:ToObjectSpace(arg1._model.Camera.CFrame)
local any_ToObjectSpace_result1_upvr_3 = arg1._model.Origin.CFrame:ToObjectSpace(CFrame_upvw)
task.spawn(function() -- Line 718
--[[ Upvalues[6]:
[1]: arg1 (readonly)
[2]: tbl_upvr_3 (readonly)
[3]: any_ToObjectSpace_result1_upvr (readonly)
[4]: NumberValue_upvr_2 (readonly)
[5]: CFrame_upvw (read and write)
[6]: any_ToObjectSpace_result1_upvr_3 (readonly)
]]
while not arg1._states._charging and not arg1._states._released do
if tbl_upvr_3.directions.up and tbl_upvr_3.y + tbl_upvr_3.increaseRate <= tbl_upvr_3.limits.y.up then
local var161 = tbl_upvr_3
var161.y += tbl_upvr_3.increaseRate
end
if tbl_upvr_3.directions.down and tbl_upvr_3.limits.y.down <= tbl_upvr_3.y - tbl_upvr_3.increaseRate then
local var162 = tbl_upvr_3
var162.y -= tbl_upvr_3.increaseRate
end
if tbl_upvr_3.directions.right and tbl_upvr_3.x + tbl_upvr_3.increaseRate <= tbl_upvr_3.limits.x.right then
local var163 = tbl_upvr_3
var163.x += tbl_upvr_3.increaseRate
end
if tbl_upvr_3.directions.left and tbl_upvr_3.limits.x.left <= tbl_upvr_3.x - tbl_upvr_3.increaseRate then
local var164 = tbl_upvr_3
var164.x -= tbl_upvr_3.increaseRate
end
_G._services.TweenService:Create(workspace.CurrentCamera, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
CFrame = arg1._model.Origin.CFrame * CFrame.fromEulerAnglesXYZ(0, -math.rad(tbl_upvr_3.x * 5), 0) * any_ToObjectSpace_result1_upvr;
}):Play()
_G._services.TweenService:Create(NumberValue_upvr_2, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Value = tbl_upvr_3.y;
}):Play()
CFrame_upvw = arg1._model.Origin.CFrame * CFrame.fromEulerAnglesXYZ(0, -math.rad(tbl_upvr_3.x * 5), 0) * any_ToObjectSpace_result1_upvr_3
task.wait(0.05)
end
end)
-- KONSTANTERROR: [864] 530. Error Block 122 end (CF ANALYSIS FAILED)
end
function module_upvr.clear(arg1) -- Line 754
-- KONSTANTERROR: [0] 1. Error Block 19 start (CF ANALYSIS FAILED)
workspace.CurrentCamera.CameraType = Enum.CameraType.Custom
workspace.CurrentCamera.FieldOfView = tonumber(_G._references.Profile.settings.Visual["Field of View"].Value)
if arg1._player.PlayerGui:FindFirstChild("UI") then
arg1._player.PlayerGui.UI.Enabled = true
end
if _G._services.UserInputService.TouchEnabled then
arg1._player.PlayerGui.main.mobile.Visible = true
-- KONSTANTWARNING: GOTO [121] #69
end
-- KONSTANTERROR: [0] 1. Error Block 19 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [71] 41. Error Block 16 start (CF ANALYSIS FAILED)
if _G._services.UserInputService.GamepadEnabled then
arg1._player.PlayerGui.main.gamepad.Visible = true
elseif not _G._services.UserInputService.TouchEnabled and not _G._services.UserInputService.GamepadEnabled then
arg1._player.PlayerGui.main.backpack.Visible = true
end
-- KONSTANTERROR: [71] 41. Error Block 16 end (CF ANALYSIS FAILED)
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:56:35
-- Luau version 6, Types version 3
-- Time taken: 0.001067 seconds
local module_upvr = {}
module_upvr.__index = module_upvr
function module_upvr.new() -- Line 20
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
return setmetatable({
_connections = {};
_instances = {};
}, module_upvr)
end
function module_upvr.clean(arg1, arg2, arg3) -- Line 27
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
assert(arg2, "Janitor [1]: table '_table' doesn't exist!")
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [68] 53. Error Block 16 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [68] 53. Error Block 16 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [12] 10. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [68.8]
-- KONSTANTERROR: [12] 10. Error Block 2 end (CF ANALYSIS FAILED)
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:56:37
-- Luau version 6, Types version 3
-- Time taken: 0.014984 seconds
local function _(arg1) -- Line 23
local module = {}
for i in arg1:gmatch('.') do
table.insert(module, i)
end
return module
end
local tbl_upvw = {'-', '+', '*', '/', '|', '}', '{', '[', ']', '~', '\\', '"', ':', ';', '?', '.', '>', '<', '=', '+', '-', '_', ')', '(', '*', '&', '%', '$', '#', '@', '!'}
local function var9_upvw(arg1, arg2) -- Line 39
local var12
if arg1 <= var12 then
var12 = ""
return var12
end
var12 = ""
for _ = 1, arg1 do
var12 = var12..arg2[math.random(1, #arg2)]
end
return var12
end
math.randomseed(tick() ^ 6)
local tbl_upvr = {
EasingStyle = function(arg1, arg2) -- Line 70
--[[ Upvalues[1]:
[1]: var9_upvw (read and write)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 37 start (CF ANALYSIS FAILED)
local FullString = arg1.FullString
local var16
if not var16 then
var16 = var9_upvw(#FullString, arg1.GlitchCharacters)
end
if arg1.Completed then
-- KONSTANTWARNING: GOTO [91] #66
end
local var17
if arg1.SingleGlitch then
if arg1.Reversed then
var17 = 1
else
var17 = arg2.Value
end
if not arg1.Reversed or not (#FullString - arg2.Value) then
end
if not var16:sub(var17, #FullString) then
-- KONSTANTERROR: [36] 27. Error Block 25 start (CF ANALYSIS FAILED)
local var18_result1 = var9_upvw(#FullString - arg2.Value, arg1.GlitchCharacters)
-- KONSTANTERROR: [36] 27. Error Block 25 end (CF ANALYSIS FAILED)
end
if not arg1.Reversed or not var18_result1..FullString:sub(#FullString - arg2.Value + 1, #FullString) then
end
arg1.TextDisplay.Text = FullString:sub(1, arg2.Value)..var18_result1
arg1.UnglitchedEvent:Fire(FullString:sub(arg2.Value, arg2.Value))
task.wait(arg1.UpdateRate)
-- KONSTANTWARNING: GOTO [10] #8
end
-- KONSTANTERROR: [0] 1. Error Block 37 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [36] 27. Error Block 25 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [36] 27. Error Block 25 end (CF ANALYSIS FAILED)
end;
Suffix = function(arg1, arg2) -- Line 86
local FullString_2 = arg1.FullString
local var25 = arg1.Suffix or ""
if arg1.Completed then
-- KONSTANTWARNING: GOTO [53] #37
end
local var26
if arg1.MaintainEndTextAfterGlitch then
if arg2.Value == #FullString_2 then
var26 = ""
else
var26 = var25
if not var26 then
end
end
arg1.TextDisplay.Text = FullString_2:sub(1, arg2.Value)..var25
arg1.UnglitchedEvent:Fire(FullString_2:sub(arg2.Value, arg2.Value))
task.wait(arg1.UpdateRate)
-- KONSTANTWARNING: GOTO [5] #4
end
end;
IndexUpdate = function(arg1, arg2) -- Line 100
--[[ Upvalues[1]:
[1]: var9_upvw (read and write)
]]
local FullString_4 = arg1.FullString
local var33
local var34
while not arg1.Completed do
var34 = 1
var34 = arg1.SingleGlitch
local var35
if var34 and var33 then
var34 = arg2.Value
if var34 == 1 then
var35 = var33
end
end
var34 = arg1.TextDisplay
var34.Text = FullString_4:sub(1, math.abs(arg2.Value - 1))..var35..FullString_4:sub(arg2.Value + 1)
var34 = FullString_4:sub(arg2.Value, arg2.Value)
arg1.UnglitchedEvent:Fire(var34)
task.wait(arg1.UpdateRate)
end
local function INLINED_2() -- Internal function, doesn't exist in bytecode
var34 = arg1.TextDisplay.Text
return var34
end
if not arg1.MaintainEndTextAfterGlitch or not INLINED_2() then
var34 = FullString_4
end
arg1.TextDisplay.Text = var34
end;
}
local module_upvr = {}
module_upvr.__index = module_upvr
function module_upvr.new(arg1, arg2, arg3) -- Line 128
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: tbl_upvw (read and write)
]]
if type(arg1) ~= "string" then
warn("Miss used type for first argument; Use a string instead.")
end
local setmetatable_result1 = setmetatable({}, module_upvr)
setmetatable_result1.FullString = arg1
setmetatable_result1.TextDisplay = arg2
setmetatable_result1.Reversed = arg3.Reversed or false
setmetatable_result1.SingleGlitch = arg3.SingleGlitch or false
setmetatable_result1.MaintainEndTextAfterGlitch = arg3.MaintainEndTextAfterGlitch
setmetatable_result1.UpdateRate = arg3.UpdateRate
setmetatable_result1.UnglitchedEvent = Instance.new("BindableEvent")
setmetatable_result1.Suffix = arg3.Suffix or ""
local TweenInfo = arg3.TweenInfo
if not TweenInfo then
TweenInfo = TweenInfo.new(1)
end
setmetatable_result1.TweenInfo = TweenInfo
TweenInfo = arg3.GlitchCharacters
local var39 = TweenInfo
if not var39 then
var39 = tbl_upvw
end
setmetatable_result1.GlitchCharacters = var39
return setmetatable_result1
end
local TweenService_upvr = game:GetService("TweenService")
function module_upvr.GlitchText(arg1, arg2) -- Line 151
--[[ Upvalues[2]:
[1]: TweenService_upvr (readonly)
[2]: tbl_upvr (readonly)
]]
if arg1.tween and arg1:GetState() == Enum.PlaybackState.Playing then
return warn("Can not glitch text while it is already being glitched")
end
arg1.Completed = false
local IntValue_upvr = Instance.new("IntValue")
IntValue_upvr.Value = 0
local any_Create_result1 = TweenService_upvr:Create(IntValue_upvr, arg1.TweenInfo, {
Value = #arg1.FullString;
})
arg1.tween = any_Create_result1
any_Create_result1.Completed:Connect(function() -- Line 160
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: IntValue_upvr (readonly)
]]
arg1.Completed = true
IntValue_upvr:Destroy()
end)
any_Create_result1:Play()
if tbl_upvr[arg2] then
tbl_upvr[arg2](arg1, IntValue_upvr)
else
tbl_upvr.EasingStyle(arg1, IntValue_upvr)
end
end
function module_upvr.IsCompleted(arg1) -- Line 171
return arg1.Completed or false
end
function module_upvr.GlitchOnce(arg1, arg2) -- Line 175
--[[ Upvalues[1]:
[1]: var9_upvw (read and write)
]]
local var45 = arg2
if not var45 then
var45 = arg1.GlitchCharacters
end
arg1.Glitched = var9_upvw(#arg1.FullString, var45)
arg1.TextDisplay.Text = arg1.Glitched
end
function module_upvr.Cancel(arg1) -- Line 180
if not arg1.tween then
return warn("There is no tween connected")
end
arg1.Completed = true
arg1.tween:Cancel()
end
function module_upvr.Pause(arg1) -- Line 186
if not arg1.tween then
return warn("There is no tween connected")
end
arg1.tween:Pause()
end
function module_upvr.Resume(arg1) -- Line 191
if not arg1.tween then
return warn("There is no tween connected")
end
arg1.tween:Play()
end
function module_upvr.GetState(arg1) -- Line 196
if not arg1.tween then
return warn("There is no tween connected")
end
return arg1.tween.PlaybackState
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:56:39
-- Luau version 6, Types version 3
-- Time taken: 0.000871 seconds
local module_upvr = {
_client = require(script:WaitForChild("client", 100));
_server = require(script:WaitForChild("server", 100));
}
function module_upvr.new(...) -- Line 5
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if _G._services.RunService:IsClient() then
module_upvr._client.new(...):init()
else
module_upvr._server.new(...):init()
end
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:56:41
-- Luau version 6, Types version 3
-- Time taken: 0.021978 seconds
local module_2_upvr = {}
module_2_upvr.__index = module_2_upvr
function module_2_upvr.new(arg1, arg2) -- Line 4
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 37 start (CF ANALYSIS FAILED)
assert(arg1, "Corner.server | dataModel 'player' expected, got "..typeof(arg1))
local var2
if not arg2 then return end
var2 = _G._references.Main.admin
if not var2.positions:FindFirstChild(string.upper(arg2)) then return end
var2 = _G._references
var2 = arg1.Character
if not var2 then
var2 = arg1.CharacterAdded:Wait()
end
local var3
if arg2 and _G._references.Main.admin.positions:FindFirstChild(string.upper(arg2)) then
var3 = _G._references.Main.admin.positions[string.upper(arg2)].Position.X
local Z = _G._references.Main.admin.positions[string.upper(arg2)].Position.Z
end
local clone = _G._references.Main["set pieces"].Corner:Clone()
clone.Parent = workspace.game.debug
clone.Name = arg1.Name
clone.Ball.Transparency = 1
if arg1.TeamColor == BrickColor.new("Storm blue") or arg1.TeamColor == BrickColor.new("Navy blue") then
clone:SetPrimaryPartCFrame(CFrame.lookAt(Vector3.new(var3, clone.Primary.Position.Y, Z), Vector3.new(workspace.game.points.bounds.away.Position.X, clone.Primary.Position.Y, workspace.game.points.bounds.away.Position.Z)))
clone.Team.Value = "away"
-- KONSTANTWARNING: GOTO [507] #295
end
if arg1.TeamColor == BrickColor.new("Crimson") or arg1.TeamColor == BrickColor.new("Maroon") then
clone:SetPrimaryPartCFrame(CFrame.lookAt(Vector3.new(var3, clone.Primary.Position.Y, Z), Vector3.new(workspace.game.points.bounds.home.Position.X, clone.Primary.Position.Y, workspace.game.points.bounds.home.Position.Z)))
clone.Team.Value = "home"
elseif Z <= 0 then
clone:SetPrimaryPartCFrame(CFrame.lookAt(Vector3.new(var3, clone.Primary.Position.Y, Z), Vector3.new(workspace.game.points.bounds.home.Position.X, clone.Primary.Position.Y, workspace.game.points.bounds.home.Position.Z)))
clone.Team.Value = "home"
else
clone:SetPrimaryPartCFrame(CFrame.lookAt(Vector3.new(var3, clone.Primary.Position.Y, Z), Vector3.new(workspace.game.points.bounds.away.Position.X, clone.Primary.Position.Y, workspace.game.points.bounds.away.Position.Z)))
clone.Team.Value = "away"
end
-- KONSTANTERROR: [0] 1. Error Block 37 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [507] 295. Error Block 24 start (CF ANALYSIS FAILED)
local module = {}
module._player = arg1
module._character = var2
module._profile = var2.Profiles:WaitForChild(tostring(arg1.UserId), 100)
module._model = clone
module._maid = _G._engine:load("Maid").new()
module._touch = {}
do
return setmetatable(module, module_2_upvr)
end
-- KONSTANTERROR: [507] 295. Error Block 24 end (CF ANALYSIS FAILED)
end
function module_2_upvr.init(arg1) -- Line 55
assert(arg1._model, "Corner.server [init] | call .new() before running :init()!")
assert(arg1._character.PrimaryPart, string.format("Corner.server [init] | could not find PrimaryPart [%s]", tostring(arg1._player.UserId)))
local BoolValue = Instance.new("BoolValue")
BoolValue.Name = script.Parent.Parent.Name
BoolValue.Value = true
BoolValue.Parent = _G._references.Main.config["Set Pieces"]
arg1._maid:GiveTask(BoolValue)
arg1:initConnections()
arg1._character.Archivable = false
local BoolValue_3 = Instance.new("BoolValue", arg1._player)
BoolValue_3.Name = "Teleport"
BoolValue_3.Value = true
_G._services.Debris:AddItem(BoolValue_3, 3)
if arg1._profile.settings.Visual["Strong Foot"].Value == "Right" then
arg1._character:SetPrimaryPartCFrame(arg1._model.Right.CFrame)
arg1._character.PrimaryPart.Anchored = true
else
arg1._character:SetPrimaryPartCFrame(arg1._model.Left.CFrame)
arg1._character.PrimaryPart.Anchored = true
end
if _G._references.Main.config.AutoRall.Value then
for _, v in next, workspace.game.balls.spawns:GetChildren() do
if v then
v:Destroy()
end
end
end
_G._references.BindableEvent:Fire("clearSpace")
local CFrameValue = Instance.new("CFrameValue")
CFrameValue.Name = "RF"
CFrameValue.Value = arg1._model.Ball.CFrame
CFrameValue.Parent = workspace.game.balls.spawns
local IntValue = Instance.new("IntValue")
IntValue.Name = "possessor"
IntValue.Value = arg1._player.UserId
IntValue.Parent = CFrameValue
for _, v_2 in next, _G._references.Main.config.Override:GetChildren() do
if v_2 and v_2.Name == "Break" then
v_2:Destroy()
end
end
arg1._character.Humanoid.AutoRotate = false
_G._references.RemoteEvent:FireClient(arg1._player, "shiftLock", false)
_G._references.RemoteEvent:FireClient(arg1._player, "forceDisable", true)
_G._references.RemoteEvent:FireClient(arg1._player, "corner", arg1._model, CFrameValue)
end
function module_2_upvr.initConnections(arg1) -- Line 123
local BindableEvent_upvr = Instance.new("BindableEvent", arg1._model)
BindableEvent_upvr.Name = "Cancel"
local RemoteEvent = Instance.new("RemoteEvent", arg1._model)
RemoteEvent.Name = "Clear"
local RemoteEvent_2 = Instance.new("RemoteEvent", arg1._model)
RemoteEvent_2.Name = "Animation"
_G._references.RemoteEvent:FireAllClients("registerTeleporter", arg1._player, arg1._model, "default")
arg1._maid._onBindableEvent = BindableEvent_upvr.Event:Connect(function() -- Line 135
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:clear()
end)
arg1._maid._onClearRemoteEvent = RemoteEvent.OnServerEvent:Connect(function(arg1_2) -- Line 139
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_2 == arg1._player then
if arg1._animation then
while arg1._animation do
task.wait()
end
end
arg1:clear()
end
end)
arg1._maid._onAnimationRemoteEvent = RemoteEvent_2.OnServerEvent:Connect(function(arg1_3, arg2) -- Line 151
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
local var30
if arg1_3 == arg1._player then
var30 = arg1_3.Character
var30 = arg2
local any_LoadAnimation_result1 = var30.Humanoid.Animator:LoadAnimation(var30)
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
var30 = true
arg1._animation = var30
local function INLINED_2() -- Internal function, doesn't exist in bytecode
var30 = any_LoadAnimation_result1.Length - 0.6
return var30
end
if 0.1 > any_LoadAnimation_result1.Length or not INLINED_2() then
var30 = 3
end
task.wait(var30)
if arg1_3 and arg1_3.Character then
var30 = arg1._maid
if var30._onAnimationRemoteEvent then
var30 = "BoolValue"
local any_2 = Instance.new(var30, arg1._player)
var30 = "Teleport"
any_2.Name = var30
var30 = true
any_2.Value = var30
var30 = _G._services.Debris:AddItem
var30(any_2, 3)
var30 = any_LoadAnimation_result1:AdjustSpeed
var30(0)
var30 = arg1_3.Character:SetPrimaryPartCFrame
var30(arg1_3.Character.LowerTorso.CFrame * _G._services.StarterPlayer.StarterCharacter.LowerTorso.CFrame:ToObjectSpace(_G._services.StarterPlayer.StarterCharacter.HumanoidRootPart.CFrame))
var30 = any_LoadAnimation_result1:Stop
var30(0)
var30 = arg1
var30._animation = nil
end
end
end
end)
arg1._maid._onRespawn = arg1._player.CharacterAdded:Connect(function() -- Line 174
--[[ Upvalues[1]:
[1]: BindableEvent_upvr (readonly)
]]
BindableEvent_upvr:Fire()
end)
arg1._maid._onLeave = _G._services.Players.PlayerRemoving:Connect(function(arg1_4) -- Line 178
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: BindableEvent_upvr (readonly)
]]
if arg1_4 == arg1._player then
BindableEvent_upvr:Fire()
end
end)
local function onTouch(arg1_5) -- Line 184
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_5 and arg1_5.Parent and arg1_5.Parent:FindFirstChildWhichIsA("Humanoid") and not arg1_5:FindFirstAncestor("manager") and not arg1_5:FindFirstAncestor("referee") and arg1_5.Parent ~= arg1._character and not arg1._touch[arg1_5.Parent.Name] then
arg1._touch[arg1_5.Parent.Name] = true
if _G._services.Players:GetPlayerFromCharacter(arg1_5.Parent) then
local BoolValue_2 = Instance.new("BoolValue", _G._services.Players:GetPlayerFromCharacter(arg1_5.Parent))
BoolValue_2.Name = "Teleport"
BoolValue_2.Value = true
_G._services.Debris:AddItem(BoolValue_2, 3)
end
arg1_5.Parent:SetPrimaryPartCFrame(arg1._model.Teleport.CFrame)
task.delay(0.5, function() -- Line 197
--[[ Upvalues[2]:
[1]: arg1 (copied, readonly)
[2]: arg1_5 (readonly)
]]
arg1._touch[arg1_5.Parent.Name] = false
end)
end
end
for _, v_3 in next, arg1._model.Area:GetChildren() do
if v_3 and v_3:IsA("BasePart") then
local any_GenerateGUID_result1 = _G._services.HttpService:GenerateGUID(false)
arg1._maid[any_GenerateGUID_result1.."_onTouched"] = v_3.Touched:Connect(onTouch)
arg1._maid[any_GenerateGUID_result1.."_onTouchEnded"] = v_3.TouchEnded:Connect(onTouch)
end
end
arg1._maid._areaTouched = workspace.game.regions.under.Touched:Connect(onTouch)
arg1._maid._areaTouchEnded = workspace.game.regions.under.TouchEnded:Connect(onTouch)
arg1._maid:GiveTask(arg1._model)
arg1._maid:GiveTask(BindableEvent_upvr)
arg1._maid:GiveTask(RemoteEvent)
arg1._maid:GiveTask(RemoteEvent_2)
end
function module_2_upvr.clear(arg1) -- Line 220
if arg1._character and arg1._character:FindFirstChild("HumanoidRootPart") then
arg1._character.HumanoidRootPart.Anchored = false
end
_G._references.RemoteEvent:FireAllClients("clearTeleporter")
if arg1._player then
_G._references.RemoteEvent:FireClient(arg1._player, "shiftLock", true)
_G._references.RemoteEvent:FireClient(arg1._player, "forceDisable", false)
_G._references.RemoteEvent:FireClient(arg1._player, "canSprint", true)
_G._references.RemoteEvent:FireClient(arg1._player, "globalOverride", false)
end
for _, v_4 in next, _G._references.Main.config.Override:GetChildren() do
if v_4 and (v_4.Name == "DisableFouls" or v_4.Name == "RTP") then
v_4:Destroy()
end
end
_G._references.Main.config.TimerSpeed.Value = 5
arg1._maid:DoCleaning()
end
return module_2_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:56:43
-- Luau version 6, Types version 3
-- Time taken: 0.042024 seconds
local any_load_result1_upvr = _G._engine:load("Maid")
local module_upvr = {}
module_upvr.__index = module_upvr
function module_upvr.new(arg1, arg2) -- Line 7
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: module_upvr (readonly)
]]
assert(arg1, "Corner.client | Model 'model' expected, got "..typeof(arg1))
assert(arg2, "Corner.client | BasePart 'ball' expected, got "..typeof(arg2))
local LocalPlayer = _G._references.LocalPlayer
local Character = LocalPlayer.Character
if not Character then
Character = LocalPlayer.CharacterAdded:Wait()
end
local module = {}
module._ball = arg2
module._player = LocalPlayer
module._model = arg1
module._character = Character
module._root = _G._root
module._mouse = LocalPlayer:GetMouse()
module._formatNumber = _G._engine:load("FormatNumber", "utils")
module._maid = any_load_result1_upvr.new()
module._states = {
charging = false;
released = false;
}
return setmetatable(module, module_upvr)
end
function module_upvr.init(arg1) -- Line 30
--[[ Upvalues[1]:
[1]: any_load_result1_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 79 start (CF ANALYSIS FAILED)
local tbl_upvr_2 = {}
local var58_upvr
for _, v in var58_upvr, arg1._model.Overlay:GetChildren() do
if v and v:FindFirstChildWhichIsA("BillboardGui") then
local class_BillboardGui = v:FindFirstChildWhichIsA("BillboardGui")
class_BillboardGui.Parent = arg1._player.PlayerGui:WaitForChild("billboardUI", 100)
class_BillboardGui.Adornee = v
tbl_upvr_2['_'..string.lower(v.Name)] = class_BillboardGui
end
end
var58_upvr = tbl_upvr_2._ball
var58_upvr.Enabled = true
var58_upvr = tbl_upvr_2._power
var58_upvr.Enabled = true
var58_upvr = tbl_upvr_2._take
var58_upvr.Enabled = true
var58_upvr = tbl_upvr_2._controls
var58_upvr.Enabled = true
var58_upvr = _G._services.UserInputService.TouchEnabled
if var58_upvr then
var58_upvr = tbl_upvr_2._take.Main.Container.Bind.Bind
var58_upvr.Text = "[TAP]"
var58_upvr = next
for _, v_2 in var58_upvr, tbl_upvr_2._controls.Main.Container.Container:GetChildren() do
if v_2 and v_2:IsA("Frame") then
v_2.Bind.Text = "[TAP]"
end
end
-- KONSTANTWARNING: GOTO [167] #101
end
-- KONSTANTERROR: [0] 1. Error Block 79 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [115] 73. Error Block 65 start (CF ANALYSIS FAILED)
var58_upvr = _G._services.UserInputService.GamepadEnabled
if var58_upvr then
var58_upvr = tbl_upvr_2._take.Main.Container.Bind.Bind
var58_upvr.Text = "[X]"
var58_upvr = tbl_upvr_2._controls.Main.Container.Container["Inside Foot Curled"].Bind
var58_upvr.Text = "[LT]"
var58_upvr = tbl_upvr_2._controls.Main.Container.Container["No Curl"].Bind
var58_upvr.Text = "[RT]"
end
var58_upvr = arg1._player.PlayerGui:FindFirstChild("UI")
if var58_upvr then
var58_upvr = arg1._player.PlayerGui.UI
var58_upvr.Enabled = false
end
var58_upvr = next
for _, v_3 in var58_upvr, {"_take", "_power", "_controls"} do
tbl_upvr_2[v_3].Size = UDim2.new(0, 0, 0, tbl_upvr_2[v_3].Size.Y.Offset)
_G._services.TweenService:Create(tbl_upvr_2[v_3], TweenInfo.new(1.15, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
Size = UDim2.new(0, tbl_upvr_2[v_3].Size.X.Offset, 0, tbl_upvr_2[v_3].Size.Y.Offset);
}):Play()
end
var58_upvr = arg1._model.Arrow.Beam
var58_upvr.Enabled = true
var58_upvr = arg1._player.PlayerGui.main.mobile
var58_upvr.Visible = false
var58_upvr = arg1._player.PlayerGui.main.backpack
var58_upvr.Visible = false
var58_upvr = arg1._player.PlayerGui.main.gamepad
var58_upvr.Visible = false
var58_upvr = next
for _, v_4 in var58_upvr, arg1._player.PlayerGui.main.mobile.contextTabContainer:GetChildren() do
if v_4 and v_4:IsA("Frame") then
v_4.Visible = false
end
end
if _G._references.Profile.settings.Visual["Strong Foot"].Value == "Right" then
var58_upvr = 'R'
else
var58_upvr = 'L'
end
local tbl_upvr_3 = {
_idle = arg1._character.Humanoid.Animator:LoadAnimation(_G._references.Main.animations["Set Piece"].Corner[var58_upvr].Idle);
_kick = arg1._character.Humanoid.Animator:LoadAnimation(_G._references.Main.animations["Set Piece"].Corner[var58_upvr].Kick);
}
tbl_upvr_3._idle.Priority = Enum.AnimationPriority.Action3
tbl_upvr_3._idle.Looped = true
tbl_upvr_3._idle:Play(0)
tbl_upvr_3._kick.Priority = Enum.AnimationPriority.Action4
arg1._model.Detector.CanCollide = false
arg1._maid._attributeChanged = arg1._root:GetAttributeChangedSignal("globalOverride"):Connect(function() -- Line 103
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if not arg1._root:GetAttribute("globalOverride") then
arg1._root:SetAttribute("globalOverride", true)
end
end)
arg1._maid._onDied = arg1._character.Humanoid.Died:Connect(function() -- Line 109
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:clear()
end)
local var69_upvw = false
workspace.CurrentCamera.FieldOfView = 60
local Take = arg1._model.Overlay.Take
Take.CFrame *= CFrame.new(0, -3, 0)
local Camera = arg1._model.Camera
Camera.CFrame *= CFrame.new(0, 5, 0) * CFrame.fromEulerAnglesXYZ(-0.14835298641951802, 0, 0)
if _G._services.UserInputService.TouchEnabled then
local Power_2 = arg1._model.Overlay.Power
Power_2.CFrame *= CFrame.new(0, -4.7, 0)
else
local Power = arg1._model.Overlay.Power
Power.CFrame *= CFrame.new(0, -3.25, 0)
end
workspace.CurrentCamera.CameraType = Enum.CameraType.Scriptable
workspace.CurrentCamera.CFrame = arg1._model.Camera.CFrame
arg1._maid._propertyChanged = workspace.CurrentCamera:GetPropertyChangedSignal("FieldOfView"):Connect(function() -- Line 130
--[[ Upvalues[1]:
[1]: var69_upvw (read and write)
]]
if not var69_upvw then
workspace.CurrentCamera.FieldOfView = 60
end
end)
local tbl_upvr_4 = {
minDistance = 1.25;
power = 60;
minPower = 60;
maxPower = 150;
increaseRate = 0.3;
chargeTime = 1;
x = 0;
y = 0;
mode = "Inside Foot Curled";
lastMousePosition = workspace.CurrentCamera:WorldToViewportPoint(arg1._mouse.Hit.Position);
limits = {
x = {
right = 6;
left = -6;
};
y = {
up = 5;
down = -4;
};
};
directions = {
up = false;
down = false;
right = false;
left = false;
};
}
local any_new_result1_upvr = any_load_result1_upvr.new()
local any_Create_result1_upvr = _G._services.TweenService:Create(tbl_upvr_2._power.Main.Container.Power, TweenInfo.new(tbl_upvr_4.chargeTime, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut), {
Size = UDim2.new(1, 0, 1, 0);
})
for _, v_5 in next, arg1._model.Overlay:GetChildren() do
if v_5 and v_5:IsA("BasePart") then
({})['_'..string.lower(v_5.Name)] = arg1._model.Camera.CFrame:ToObjectSpace(v_5.CFrame)
end
end
local NumberValue_upvr_2 = Instance.new("NumberValue")
NumberValue_upvr_2.Name = 'Y'
NumberValue_upvr_2.Value = 0
arg1._maid:GiveTask(NumberValue_upvr_2)
arg1._character.Humanoid:UnequipTools()
local function release_upvr() -- Line 194, Named "release"
--[[ Upvalues[8]:
[1]: var69_upvw (read and write)
[2]: arg1 (readonly)
[3]: any_new_result1_upvr (readonly)
[4]: any_Create_result1_upvr (readonly)
[5]: tbl_upvr_4 (readonly)
[6]: tbl_upvr_2 (readonly)
[7]: var58_upvr (readonly)
[8]: tbl_upvr_3 (readonly)
]]
var69_upvw = true
arg1._states._charging = false
arg1._states._released = true
any_new_result1_upvr:DoCleaning()
any_Create_result1_upvr:Pause()
tbl_upvr_4.power = tbl_upvr_4.minPower + (tbl_upvr_4.maxPower - tbl_upvr_4.minPower) * tbl_upvr_2._power.Main.Container.Power.Size.X.Scale
arg1._model.Animation:FireServer(_G._references.Main.animations["Set Piece"].Corner[var58_upvr].Kick)
task.wait(arg1._player:GetNetworkPing())
_G._services.TweenService:Create(tbl_upvr_2._ball, TweenInfo.new(0.15, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
Size = UDim2.new(tbl_upvr_2._ball.Size.X.Scale, 0, 0, 0);
}):Play()
task.spawn(function() -- Line 209
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
local NumberValue_upvr = Instance.new("NumberValue", arg1._model)
NumberValue_upvr.Value = 0
local any_Connect_result1 = _G._services.RunService.RenderStepped:Connect(function() -- Line 213
--[[ Upvalues[2]:
[1]: arg1 (copied, readonly)
[2]: NumberValue_upvr (readonly)
]]
arg1._model.Arrow.Beam.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0, NumberValue_upvr.Value), NumberSequenceKeypoint.new(1, 1)})
end)
_G._services.TweenService:Create(NumberValue_upvr, TweenInfo.new(0.5, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
Value = 1;
}):Play()
task.wait(0.5)
if any_Connect_result1 then
any_Connect_result1:Disconnect()
end
if NumberValue_upvr and NumberValue_upvr.Parent and NumberValue_upvr.Parent.Parent then
NumberValue_upvr:Destroy()
end
end)
_G._services.TweenService:Create(workspace.CurrentCamera, TweenInfo.new(2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
FieldOfView = 50;
}):Play()
local _ = {"_controls", "_take"}
local var99
for _, v_6 in next, var99 do
_G._services.TweenService:Create(tbl_upvr_2[v_6], TweenInfo.new(0.7, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
Size = UDim2.new(0, 0, 0, tbl_upvr_2[v_6].Size.Y.Offset);
}):Play()
end
var99 = _G._services.RunService.RenderStepped
var99 = var99:Connect(function() -- Line 238
--[[ Upvalues[4]:
[1]: arg1 (copied, readonly)
[2]: var58_upvr (copied, readonly)
[3]: tbl_upvr_4 (copied, readonly)
[4]: any_new_result1_upvr (copied, readonly)
]]
if arg1._model and arg1._model:FindFirstChild("Ball") then
if var58_upvr == 'R' and (arg1._model.Ball.Position - arg1._character.RightLowerLeg.Position).Magnitude <= tbl_upvr_4.minDistance or (arg1._model.Ball.Position - arg1._character.LeftLowerLeg.Position).Magnitude <= tbl_upvr_4.minDistance then
any_new_result1_upvr:DoCleaning()
local Folder = Instance.new("Folder")
Folder.Name = "react"
local ObjectValue = Instance.new("ObjectValue", Folder)
ObjectValue.Name = "ball"
ObjectValue.Value = arg1._ball
local Vector3Value = Instance.new("Vector3Value", Folder)
Vector3Value.Name = "vector"
Vector3Value.Value = workspace.CurrentCamera.CFrame.LookVector * tbl_upvr_4.power + Vector3.new(0, 35, 0) + Vector3.new(0, tbl_upvr_4.y * 7, 0) + Vector3.new(0, 0, 0)
local Vector3Value_2 = Instance.new("Vector3Value", Folder)
Vector3Value_2.Name = "maxForce"
Vector3Value_2.Value = Vector3.new(10000, 10000, 10000)
local BoolValue_3 = Instance.new("BoolValue", Folder)
BoolValue_3.Name = "ignoreReactDecline"
BoolValue_3.Value = true
local BoolValue_2 = Instance.new("BoolValue", Folder)
BoolValue_2.Name = "corner"
BoolValue_2.Value = true
local BoolValue = Instance.new("BoolValue", Folder)
BoolValue.Name = "checkOffside"
BoolValue.Value = true
local BoolValue_4 = Instance.new("BoolValue", Folder)
BoolValue_4.Name = "curve"
BoolValue_4.Value = true
local StringValue = Instance.new("StringValue", Folder)
StringValue.Name = "curveType"
if tbl_upvr_4.mode == "Inside Foot Curled" then
if var58_upvr == 'R' then
StringValue.Value = "left"
else
StringValue.Value = "right"
end
elseif tbl_upvr_4.mode == "No Curl" then
StringValue.Value = "none"
end
local StringValue_2 = Instance.new("StringValue", Folder)
StringValue_2.Name = "spinType"
StringValue_2.Value = "topspin"
local BoolValue_5 = Instance.new("BoolValue", Folder)
BoolValue_5.Name = "grassEffect"
BoolValue_5.Value = true
Folder.Parent = arg1._player
Folder:SetAttribute("loaded", true)
end
end
end)
any_new_result1_upvr._renderStepped = var99
var99 = 0.3
task.delay(var99, function() -- Line 304
--[[ Upvalues[1]:
[1]: tbl_upvr_3 (copied, readonly)
]]
tbl_upvr_3._idle:Stop(0.1)
end)
local function INLINED() -- Internal function, doesn't exist in bytecode
var99 = tbl_upvr_3._kick.Length - 0.6
return var99
end
if 0.1 > tbl_upvr_3._kick.Length or not INLINED() then
var99 = 3
end
task.wait(var99)
var99 = arg1._character
var99 = true
var99.Humanoid.AutoRotate = var99
var99 = arg1
if var99._model:FindFirstChild("Clear") then
var99 = arg1._model
var99.Clear:FireServer()
end
arg1:clear()
end
for _, v_7_upvr in next, tbl_upvr_2._controls.Main.Container.Container:GetChildren() do
if v_7_upvr and v_7_upvr:IsA("Frame") then
any_new_result1_upvr[v_7_upvr.Name.."_mouseButton1Click"] = v_7_upvr.Button.MouseButton1Click:Connect(function() -- Line 319
--[[ Upvalues[3]:
[1]: tbl_upvr_4 (readonly)
[2]: v_7_upvr (readonly)
[3]: tbl_upvr_2 (readonly)
]]
_G._references.Main.sounds.UI.Click:Play()
tbl_upvr_4.mode = v_7_upvr.Name
tbl_upvr_2._take.Main.Container.Label.Text = string.upper(tbl_upvr_4.mode)
end)
end
end
task.delay(30, function() -- Line 327
--[[ Upvalues[5]:
[1]: arg1 (readonly)
[2]: any_Create_result1_upvr (readonly)
[3]: any_new_result1_upvr (readonly)
[4]: tbl_upvr_4 (readonly)
[5]: release_upvr (readonly)
]]
if not arg1._states._charging and not arg1._states._released and arg1._model and arg1._model.Parent then
arg1._states._charging = true
any_Create_result1_upvr:Play()
any_new_result1_upvr:DoCleaning()
task.wait(tbl_upvr_4.chargeTime)
release_upvr()
end
end)
any_new_result1_upvr._inputBegan = _G._services.UserInputService.InputBegan:Connect(function(arg1_2, arg2) -- Line 338
--[[ Upvalues[4]:
[1]: tbl_upvr_4 (readonly)
[2]: tbl_upvr_2 (readonly)
[3]: arg1 (readonly)
[4]: any_Create_result1_upvr (readonly)
]]
if arg1_2.KeyCode == Enum.KeyCode.W then
tbl_upvr_4.directions.up = true
else
if arg1_2.KeyCode == Enum.KeyCode.A then
tbl_upvr_4.directions.left = true
return
end
if arg1_2.KeyCode == Enum.KeyCode.S then
tbl_upvr_4.directions.down = true
return
end
if arg1_2.KeyCode == Enum.KeyCode.D then
tbl_upvr_4.directions.right = true
return
end
if arg1_2.KeyCode == Enum.KeyCode.One or arg1_2.KeyCode == Enum.KeyCode.ButtonL2 then
_G._references.Main.sounds.UI.Click:Play()
tbl_upvr_4.mode = "Inside Foot Curled"
tbl_upvr_2._take.Main.Container.Label.Text = string.upper(tbl_upvr_4.mode)
return
end
if arg1_2.KeyCode == Enum.KeyCode.Two or arg1_2.KeyCode == Enum.KeyCode.ButtonR2 then
_G._references.Main.sounds.UI.Click:Play()
tbl_upvr_4.mode = "No Curl"
tbl_upvr_2._take.Main.Container.Label.Text = string.upper(tbl_upvr_4.mode)
return
end
if arg1_2.KeyCode == Enum.KeyCode.Space or arg1_2.KeyCode == Enum.KeyCode.ButtonX or not arg2 then
arg1._states._charging = true
any_Create_result1_upvr:Play()
end
end
end)
any_new_result1_upvr._inputEnded = _G._services.UserInputService.InputEnded:Connect(function(arg1_3, arg2) -- Line 361
--[[ Upvalues[2]:
[1]: tbl_upvr_4 (readonly)
[2]: release_upvr (readonly)
]]
if arg1_3.KeyCode == Enum.KeyCode.W then
tbl_upvr_4.directions.up = false
else
if arg1_3.KeyCode == Enum.KeyCode.A then
tbl_upvr_4.directions.left = false
return
end
if arg1_3.KeyCode == Enum.KeyCode.S then
tbl_upvr_4.directions.down = false
return
end
if arg1_3.KeyCode == Enum.KeyCode.D then
tbl_upvr_4.directions.right = false
return
end
if arg1_3.KeyCode == Enum.KeyCode.Space or arg1_3.KeyCode == Enum.KeyCode.ButtonX or not arg2 then
release_upvr()
end
end
end)
any_new_result1_upvr._inputChanged = _G._services.UserInputService.InputChanged:Connect(function(arg1_4, arg2) -- Line 375
--[[ Upvalues[1]:
[1]: tbl_upvr_4 (readonly)
]]
if arg1_4.KeyCode == Enum.KeyCode.Thumbstick1 then
if 0.7 <= arg1_4.Position.X then
tbl_upvr_4.directions.right = true
tbl_upvr_4.directions.left = false
elseif arg1_4.Position.X <= -0.7 then
tbl_upvr_4.directions.right = false
tbl_upvr_4.directions.left = true
end
if 0.7 <= arg1_4.Position.Y then
tbl_upvr_4.directions.up = true
tbl_upvr_4.directions.down = false
elseif arg1_4.Position.Y <= -0.7 then
tbl_upvr_4.directions.up = false
tbl_upvr_4.directions.down = true
end
if arg1_4.Position.X < 0.35 and -0.35 < arg1_4.Position.X and arg1_4.Position.Y < 0.35 and -0.35 < arg1_4.Position.Y then
tbl_upvr_4.directions.up = false
tbl_upvr_4.directions.down = false
tbl_upvr_4.directions.right = false
tbl_upvr_4.directions.left = false
end
end
end)
if _G._services.UserInputService.TouchEnabled then
any_new_result1_upvr._mouseMove = arg1._mouse.Move:Connect(function() -- Line 403
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: tbl_upvr_4 (readonly)
]]
if not arg1._states.charging and not arg1._states._released then
local any_WorldToViewportPoint_result1 = workspace.CurrentCamera:WorldToViewportPoint(arg1._mouse.Hit.Position)
local var123 = any_WorldToViewportPoint_result1.X - tbl_upvr_4.lastMousePosition.X
local var124 = any_WorldToViewportPoint_result1.Y - tbl_upvr_4.lastMousePosition.Y
tbl_upvr_4.lastMousePosition = any_WorldToViewportPoint_result1
if 1 <= var124 then
tbl_upvr_4.directions.down = true
tbl_upvr_4.directions.up = false
return
end
if var124 <= -1 then
tbl_upvr_4.directions.down = false
tbl_upvr_4.directions.up = true
return
end
if 1 <= var123 then
tbl_upvr_4.directions.right = true
tbl_upvr_4.directions.left = false
return
end
if var123 <= -1 then
tbl_upvr_4.directions.right = false
tbl_upvr_4.directions.left = true
return
end
if var123 < 1 and -1 < var123 and var124 < 1 and -1 < var124 then
tbl_upvr_4.directions.up = false
tbl_upvr_4.directions.down = false
tbl_upvr_4.directions.right = false
tbl_upvr_4.directions.left = false
end
end
end)
any_new_result1_upvr._touchEnded = _G._services.UserInputService.TouchEnded:Connect(function(arg1_5, arg2) -- Line 432
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: tbl_upvr_4 (readonly)
]]
if not arg1._states.charging and not arg1._states._released then
tbl_upvr_4.directions.up = false
tbl_upvr_4.directions.down = false
tbl_upvr_4.directions.right = false
tbl_upvr_4.directions.left = false
end
end)
any_new_result1_upvr._mouseButton1Down = tbl_upvr_2._take.Main.Container.Bind.Button.MouseButton1Down:Connect(function() -- Line 441
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: any_Create_result1_upvr (readonly)
]]
arg1._states.charging = true
any_Create_result1_upvr:Play()
end)
any_new_result1_upvr._mouseButton1Up = tbl_upvr_2._take.Main.Container.Bind.Button.MouseButton1Up:Connect(function() -- Line 446
--[[ Upvalues[1]:
[1]: release_upvr (readonly)
]]
release_upvr()
end)
end
local tbl_upvr = {}
local any_ToObjectSpace_result1_upvr_2 = arg1._model.Camera.CFrame:ToObjectSpace(arg1._model.Arrow.End.CFrame)
any_new_result1_upvr._updateCFrame = _G._services.RunService.RenderStepped:Connect(function() -- Line 451
--[[ Upvalues[6]:
[1]: arg1 (readonly)
[2]: tbl_upvr (readonly)
[3]: var58_upvr (readonly)
[4]: tbl_upvr_4 (readonly)
[5]: any_ToObjectSpace_result1_upvr_2 (readonly)
[6]: NumberValue_upvr_2 (readonly)
]]
arg1._model.Overlay.Ball.CFrame = workspace.CurrentCamera.CFrame * tbl_upvr._ball
arg1._model.Overlay.Take.CFrame = workspace.CurrentCamera.CFrame * tbl_upvr._take
arg1._model.Overlay.Controls.CFrame = workspace.CurrentCamera.CFrame * tbl_upvr._controls
arg1._model.Overlay.Power.CFrame = workspace.CurrentCamera.CFrame * tbl_upvr._power
arg1._character.Humanoid.AutoRotate = false
if var58_upvr == 'R' then
arg1._character:SetPrimaryPartCFrame(arg1._model.Right.CFrame)
else
arg1._character:SetPrimaryPartCFrame(arg1._model.Left.CFrame)
end
if tbl_upvr_4.mode == "Inside Foot Curled" then
arg1._model.Arrow.Beam.CurveSize0 = 8
arg1._model.Arrow.Beam.CurveSize1 = 0
if var58_upvr == 'R' then
arg1._model.Arrow.End.CFrame = workspace.CurrentCamera.CFrame * any_ToObjectSpace_result1_upvr_2 * CFrame.new(0, NumberValue_upvr_2.Value, 0) * CFrame.new(-2, 0, 0)
else
arg1._model.Arrow.End.CFrame = workspace.CurrentCamera.CFrame * any_ToObjectSpace_result1_upvr_2 * CFrame.new(0, NumberValue_upvr_2.Value, 0) * CFrame.new(2, 0, 0)
end
end
if tbl_upvr_4.mode == "No Curl" then
arg1._model.Arrow.Beam.CurveSize0 = 0
arg1._model.Arrow.Beam.CurveSize1 = 0
arg1._model.Arrow.End.CFrame = workspace.CurrentCamera.CFrame * any_ToObjectSpace_result1_upvr_2 * CFrame.new(0, NumberValue_upvr_2.Value, 0)
end
end)
local any_ToObjectSpace_result1_upvr = arg1._model.Origin.CFrame:ToObjectSpace(arg1._model.Camera.CFrame)
task.spawn(function() -- Line 479
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: tbl_upvr_4 (readonly)
[3]: any_ToObjectSpace_result1_upvr (readonly)
[4]: NumberValue_upvr_2 (readonly)
]]
while not arg1._states._charging and not arg1._states._released do
if tbl_upvr_4.directions.up and tbl_upvr_4.y + tbl_upvr_4.increaseRate <= tbl_upvr_4.limits.y.up then
local var133 = tbl_upvr_4
var133.y += tbl_upvr_4.increaseRate
end
if tbl_upvr_4.directions.down and tbl_upvr_4.limits.y.down <= tbl_upvr_4.y - tbl_upvr_4.increaseRate then
local var134 = tbl_upvr_4
var134.y -= tbl_upvr_4.increaseRate
end
if tbl_upvr_4.directions.right and tbl_upvr_4.x + tbl_upvr_4.increaseRate <= tbl_upvr_4.limits.x.right then
local var135 = tbl_upvr_4
var135.x += tbl_upvr_4.increaseRate
end
if tbl_upvr_4.directions.left and tbl_upvr_4.limits.x.left <= tbl_upvr_4.x - tbl_upvr_4.increaseRate then
local var136 = tbl_upvr_4
var136.x -= tbl_upvr_4.increaseRate
end
_G._services.TweenService:Create(workspace.CurrentCamera, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
CFrame = arg1._model.Origin.CFrame * CFrame.fromEulerAnglesXYZ(0, -math.rad(tbl_upvr_4.x * 5), 0) * any_ToObjectSpace_result1_upvr;
}):Play()
_G._services.TweenService:Create(NumberValue_upvr_2, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Value = tbl_upvr_4.y;
}):Play()
task.wait(0.05)
end
end)
-- KONSTANTERROR: [115] 73. Error Block 65 end (CF ANALYSIS FAILED)
end
function module_upvr.clear(arg1) -- Line 514
workspace.CurrentCamera.CameraType = Enum.CameraType.Custom
workspace.CurrentCamera.FieldOfView = tonumber(_G._references.Profile.settings.Visual["Field of View"].Value)
if arg1._player.PlayerGui:FindFirstChild("UI") then
arg1._player.PlayerGui.UI.Enabled = true
end
if _G._services.UserInputService.TouchEnabled then
arg1._player.PlayerGui.main.mobile.Visible = true
elseif _G._services.UserInputService.GamepadEnabled then
arg1._player.PlayerGui.main.gamepad.Visible = true
elseif not _G._services.UserInputService.TouchEnabled and not _G._services.UserInputService.GamepadEnabled then
arg1._player.PlayerGui.main.backpack.Visible = true
end
arg1._maid:DoCleaning()
arg1._root:SetAttribute("globalOverride", false)
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:56:45
-- Luau version 6, Types version 3
-- Time taken: 0.001038 seconds
local module_upvr = {
_client = require(script:WaitForChild("client", 100));
_server = require(script:WaitForChild("server", 100));
}
function module_upvr.new(...) -- Line 5
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if _G._services.RunService:IsClient() then
module_upvr._client.new(...):init()
else
module_upvr._server.new(...):init()
end
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:56:46
-- Luau version 6, Types version 3
-- Time taken: 0.017220 seconds
local module_upvr = {}
module_upvr.__index = module_upvr
function module_upvr.new(arg1, arg2) -- Line 4
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
assert(arg1, "Goalkick.server | dataModel 'player' expected, got "..typeof(arg1))
local var2
if not arg2 then return end
var2 = _G._references.Main.admin
if not var2.positions:FindFirstChild(string.upper(arg2)) then return end
var2 = _G._references
var2 = arg1.Character
if not var2 then
var2 = arg1.CharacterAdded:Wait()
end
local var3
if arg2 and _G._references.Main.admin.positions:FindFirstChild(string.upper(arg2)) then
var3 = _G._references.Main.admin.positions[string.upper(arg2)].Position.X
local var4 = _G._references.Main.admin.positions[string.upper(arg2)]
end
local clone = _G._references.Main["set pieces"]["Goal Kick"]:Clone()
clone.Parent = workspace.game.debug
clone.Name = arg1.Name
clone.Ball.Transparency = 1
clone:SetPrimaryPartCFrame(CFrame.new(Vector3.new(var3, clone.Primary.Position.Y, _G._references.Main.admin.positions[string.upper(arg2)].Position.Z)) * CFrame.Angles(var4.CFrame:ToOrientation()))
if string.find(var4.Name, 'H') then
clone.Team.Value = "home"
elseif string.find(var4.Name, 'A') then
clone.Team.Value = "away"
end
local module = {}
module._player = arg1
module._character = var2
module._profile = var2.Profiles:WaitForChild(tostring(arg1.UserId), 100)
module._model = clone
module._maid = _G._engine:load("Maid").new()
module._touch = {}
return setmetatable(module, module_upvr)
end
function module_upvr.init(arg1) -- Line 49
assert(arg1._model, "Goalkick.server [init] | call .new() before running :init()!")
assert(arg1._character.PrimaryPart, string.format("Goalkick.server [init] | could not find PrimaryPart [%s]", tostring(arg1._player.UserId)))
local BoolValue = Instance.new("BoolValue")
BoolValue.Name = script.Parent.Parent.Name
BoolValue.Value = true
BoolValue.Parent = _G._references.Main.config["Set Pieces"]
arg1._maid:GiveTask(BoolValue)
arg1:initConnections()
arg1._character.Archivable = false
local BoolValue_7 = Instance.new("BoolValue", arg1._player)
BoolValue_7.Name = "Teleport"
BoolValue_7.Value = true
_G._services.Debris:AddItem(BoolValue_7, 3)
if arg1._profile.settings.Visual["Strong Foot"].Value == "Right" then
arg1._character:SetPrimaryPartCFrame(arg1._model.Right.CFrame)
arg1._character.PrimaryPart.Anchored = true
else
arg1._character:SetPrimaryPartCFrame(arg1._model.Left.CFrame)
arg1._character.PrimaryPart.Anchored = true
end
if _G._references.Main.config.AutoRall.Value then
for _, v in next, workspace.game.balls.spawns:GetChildren() do
if v then
v:Destroy()
end
end
end
_G._references.BindableEvent:Fire("clearSpace")
local CFrameValue = Instance.new("CFrameValue")
CFrameValue.Name = "RF"
CFrameValue.Value = arg1._model.Ball.CFrame
CFrameValue.Parent = workspace.game.balls.spawns
local IntValue = Instance.new("IntValue")
IntValue.Name = "possessor"
IntValue.Value = arg1._player.UserId
IntValue.Parent = CFrameValue
for _, v_2 in next, _G._references.Main.config.Override:GetChildren() do
if v_2 and v_2.Name == "Break" then
v_2:Destroy()
end
end
arg1._character.Humanoid.AutoRotate = false
_G._references.RemoteEvent:FireClient(arg1._player, "shiftLock", false)
_G._references.RemoteEvent:FireClient(arg1._player, "forceDisable", true)
_G._references.RemoteEvent:FireClient(arg1._player, "goalKick", arg1._model, CFrameValue)
end
function module_upvr.initConnections(arg1) -- Line 117
local BindableEvent_upvr = Instance.new("BindableEvent", arg1._model)
BindableEvent_upvr.Name = "Cancel"
local RemoteEvent = Instance.new("RemoteEvent", arg1._model)
RemoteEvent.Name = "Clear"
local RemoteEvent_2 = Instance.new("RemoteEvent", arg1._model)
RemoteEvent_2.Name = "Animation"
_G._references.RemoteEvent:FireAllClients("registerTeleporter", arg1._player, arg1._model, "default")
arg1._maid._onBindableEvent = BindableEvent_upvr.Event:Connect(function() -- Line 129
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:clear()
end)
arg1._maid._onClearRemoteEvent = RemoteEvent.OnServerEvent:Connect(function(arg1_2) -- Line 133
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_2 == arg1._player then
if arg1._animation then
while arg1._animation do
task.wait()
end
end
arg1:clear()
end
end)
arg1._maid._onAnimationRemoteEvent = RemoteEvent_2.OnServerEvent:Connect(function(arg1_3, arg2) -- Line 145
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_3 == arg1._player then
local any_LoadAnimation_result1 = arg1_3.Character.Humanoid.Animator:LoadAnimation(arg2)
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
arg1._animation = true
task.wait(3.8)
if arg1_3 and arg1_3.Character and arg1._maid._onAnimationRemoteEvent then
local BoolValue_5 = Instance.new("BoolValue", arg1._player)
BoolValue_5.Name = "Teleport"
BoolValue_5.Value = true
_G._services.Debris:AddItem(BoolValue_5, 3)
any_LoadAnimation_result1:AdjustSpeed(0)
arg1_3.Character:SetPrimaryPartCFrame(arg1_3.Character.LowerTorso.CFrame * _G._services.StarterPlayer.StarterCharacter.LowerTorso.CFrame:ToObjectSpace(_G._services.StarterPlayer.StarterCharacter.HumanoidRootPart.CFrame))
any_LoadAnimation_result1:Stop(0)
arg1._animation = nil
end
end
end)
arg1._maid._onRespawn = arg1._player.CharacterAdded:Connect(function() -- Line 168
--[[ Upvalues[1]:
[1]: BindableEvent_upvr (readonly)
]]
BindableEvent_upvr:Fire()
end)
arg1._maid._onLeave = _G._services.Players.PlayerRemoving:Connect(function(arg1_4) -- Line 172
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: BindableEvent_upvr (readonly)
]]
if arg1_4 == arg1._player then
BindableEvent_upvr:Fire()
end
end)
local function onTouch(arg1_5) -- Line 178
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_5 and arg1_5.Parent then
if arg1_5.Parent:FindFirstChildWhichIsA("Humanoid") and arg1_5.Parent ~= arg1._character and not arg1._touch[arg1_5.Parent.Name] then
arg1._touch[arg1_5.Parent.Name] = true
if _G._services.Players:GetPlayerFromCharacter(arg1_5.Parent) then
local BoolValue_2 = Instance.new("BoolValue", _G._services.Players:GetPlayerFromCharacter(arg1_5.Parent))
BoolValue_2.Name = "Teleport"
BoolValue_2.Value = true
_G._services.Debris:AddItem(BoolValue_2, 3)
end
arg1_5.Parent:SetPrimaryPartCFrame(arg1._model.Teleport.CFrame)
task.delay(0.5, function() -- Line 191
--[[ Upvalues[2]:
[1]: arg1 (copied, readonly)
[2]: arg1_5 (readonly)
]]
arg1._touch[arg1_5.Parent.Name] = false
end)
end
end
end
local function onTouchRegion(arg1_6) -- Line 197
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_6 and arg1_6.Parent then
if arg1_6.Parent:FindFirstChildWhichIsA("Humanoid") and not arg1_6:FindFirstAncestor("manager") and not arg1_6:FindFirstAncestor("referee") and arg1_6.Parent ~= arg1._character and not arg1._touch[arg1_6.Parent.Name] then
local any_GetPlayerFromCharacter_result1 = _G._services.Players:GetPlayerFromCharacter(arg1_6.Parent)
if any_GetPlayerFromCharacter_result1 and any_GetPlayerFromCharacter_result1.Team then
arg1._touch[arg1_6.Parent.Name] = true
local BoolValue_6 = Instance.new("BoolValue", any_GetPlayerFromCharacter_result1)
BoolValue_6.Name = "Teleport"
BoolValue_6.Value = true
_G._services.Debris:AddItem(BoolValue_6, 3)
arg1_6.Parent:SetPrimaryPartCFrame(arg1._model.Teleport.CFrame)
task.delay(0.5, function() -- Line 209
--[[ Upvalues[2]:
[1]: arg1 (copied, readonly)
[2]: arg1_6 (readonly)
]]
arg1._touch[arg1_6.Parent.Name] = false
end)
end
end
end
end
for _, v_3 in next, arg1._model.Area:GetChildren() do
if v_3 and v_3:IsA("BasePart") then
local any_GenerateGUID_result1 = _G._services.HttpService:GenerateGUID(false)
arg1._maid[any_GenerateGUID_result1.."_onTouched"] = v_3.Touched:Connect(onTouch)
arg1._maid[any_GenerateGUID_result1.."_onTouchEnded"] = v_3.TouchEnded:Connect(onTouch)
end
end
arg1._maid._onTouchedRegion = workspace.game.regions[arg1._model.Team.Value].Touched:Connect(onTouchRegion)
arg1._maid._onTouchEndedRegion = workspace.game.regions[arg1._model.Team.Value].TouchEnded:Connect(onTouchRegion)
arg1._maid._areaTouched = workspace.game.regions.under.Touched:Connect(onTouch)
arg1._maid._areaTouchEnded = workspace.game.regions.under.TouchEnded:Connect(onTouch)
arg1._maid:GiveTask(arg1._model)
arg1._maid:GiveTask(BindableEvent_upvr)
arg1._maid:GiveTask(RemoteEvent)
arg1._maid:GiveTask(RemoteEvent_2)
end
function module_upvr.clear(arg1) -- Line 236
if arg1._character and arg1._character:FindFirstChild("HumanoidRootPart") then
arg1._character.HumanoidRootPart.Anchored = false
end
_G._references.RemoteEvent:FireAllClients("clearTeleporter")
if arg1._player then
_G._references.RemoteEvent:FireClient(arg1._player, "shiftLock", true)
_G._references.RemoteEvent:FireClient(arg1._player, "forceDisable", false)
_G._references.RemoteEvent:FireClient(arg1._player, "canSprint", true)
_G._references.RemoteEvent:FireClient(arg1._player, "globalOverride", false)
end
for _, v_4 in next, _G._references.Main.config.Override:GetChildren() do
if v_4 and (v_4.Name == "DisableFouls" or v_4.Name == "RTP") then
v_4:Destroy()
end
end
_G._references.Main.config.TimerSpeed.Value = 5
arg1._maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:56:48
-- Luau version 6, Types version 3
-- Time taken: 0.054023 seconds
local any_load_result1_upvr = _G._engine:load("Maid")
local module_upvr = {}
module_upvr.__index = module_upvr
function module_upvr.new(arg1, arg2) -- Line 7
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: module_upvr (readonly)
]]
assert(arg1, "Goalkick.client | Model 'model' expected, got "..typeof(arg1))
assert(arg2, "Goalkick.client | BasePart 'ball' expected, got "..typeof(arg2))
local LocalPlayer = _G._references.LocalPlayer
local Character = LocalPlayer.Character
if not Character then
Character = LocalPlayer.CharacterAdded:Wait()
end
local module = {}
module._ball = arg2
module._player = LocalPlayer
module._model = arg1
module._character = Character
module._root = _G._root
module._mouse = LocalPlayer:GetMouse()
module._formatNumber = _G._engine:load("FormatNumber", "utils")
module._maid = any_load_result1_upvr.new()
module._states = {
charging = false;
released = false;
}
return setmetatable(module, module_upvr)
end
function module_upvr.init(arg1) -- Line 30
--[[ Upvalues[1]:
[1]: any_load_result1_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 86 start (CF ANALYSIS FAILED)
local _, NONE = workspace.pitch.nets:GetChildren()
local var65_upvr
for _, v in next, var65_upvr, NONE do
if v and string.lower(v.Name) == arg1._model.Team.Value then
arg1._net = v
_G._services.TweenService:Create(v.Net.Net, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Transparency = 0.95;
}):Play()
_G._services.TweenService:Create(v.Frame, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Transparency = 0.9;
}):Play()
_G._services.TweenService:Create(v.Support["Support Main"], TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Transparency = 0.9;
}):Play()
_G._services.TweenService:Create(v.Support["Support Top"], TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Transparency = 0.9;
}):Play()
end
end
local tbl = {}
var65_upvr = next
for _, v_2 in var65_upvr, arg1._model.Overlay:GetChildren() do
if v_2 and v_2:FindFirstChildWhichIsA("BillboardGui") then
local class_BillboardGui = v_2:FindFirstChildWhichIsA("BillboardGui")
class_BillboardGui.Parent = arg1._player.PlayerGui:WaitForChild("billboardUI", 100)
class_BillboardGui.Adornee = v_2
tbl['_'..string.lower(v_2.Name)] = class_BillboardGui
end
end
var65_upvr = tbl._power
var65_upvr.Enabled = true
var65_upvr = tbl._take
var65_upvr.Enabled = true
var65_upvr = tbl._controls
var65_upvr.Enabled = true
var65_upvr = _G._services.UserInputService.TouchEnabled
if var65_upvr then
var65_upvr = tbl._take.Main.Container.Bind.Bind
var65_upvr.Text = "[TAP]"
var65_upvr = next
for _, v_3 in var65_upvr, tbl._controls.Main.Container.Container:GetChildren() do
if v_3 and v_3:IsA("Frame") then
v_3.Bind.Text = "[TAP]"
end
end
-- KONSTANTWARNING: GOTO [332] #198
end
-- KONSTANTERROR: [0] 1. Error Block 86 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [250] 154. Error Block 71 start (CF ANALYSIS FAILED)
var65_upvr = _G._services.UserInputService.GamepadEnabled
if var65_upvr then
var65_upvr = tbl._take.Main.Container.Bind.Bind
var65_upvr.Text = "[X]"
var65_upvr = tbl._controls.Main.Container.Container["Inside Foot Curled"].Bind
var65_upvr.Text = "[LT]"
var65_upvr = tbl._controls.Main.Container.Container["Outside Foot Curled"].Bind
var65_upvr.Text = "[RT]"
var65_upvr = tbl._controls.Main.Container.Container["No Curl"].Bind
var65_upvr.Text = "[LB]"
var65_upvr = tbl._controls.Main.Container.Container["Low Pass"].Bind
var65_upvr.Text = "[RB]"
end
var65_upvr = arg1._player.PlayerGui:FindFirstChild("UI")
if var65_upvr then
var65_upvr = arg1._player.PlayerGui.UI
var65_upvr.Enabled = false
end
var65_upvr = next
for _, v_4 in var65_upvr, {"_take", "_power", "_controls"} do
tbl[v_4].Size = UDim2.new(0, 0, 0, tbl[v_4].Size.Y.Offset)
_G._services.TweenService:Create(tbl[v_4], TweenInfo.new(1.15, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
Size = UDim2.new(0, tbl[v_4].Size.X.Offset, 0, tbl[v_4].Size.Y.Offset);
}):Play()
local var78_upvr
end
var65_upvr = arg1._player.PlayerGui.main.mobile
var65_upvr.Visible = false
var65_upvr = arg1._player.PlayerGui.main.backpack
var65_upvr.Visible = false
var65_upvr = arg1._player.PlayerGui.main.gamepad
var65_upvr.Visible = false
var65_upvr = next
for _, v_5 in var65_upvr, arg1._player.PlayerGui.main.mobile.contextTabContainer:GetChildren() do
if v_5 and v_5:IsA("Frame") then
v_5.Visible = false
end
end
if _G._references.Profile.settings.Visual["Strong Foot"].Value == "Right" then
var65_upvr = 'R'
else
var65_upvr = 'L'
end
local tbl_3_upvr = {
_idle = arg1._character.Humanoid.Animator:LoadAnimation(_G._references.Main.animations["Set Piece"]["Goal Kick"][var65_upvr].Idle);
_kick = arg1._character.Humanoid.Animator:LoadAnimation(_G._references.Main.animations["Set Piece"]["Goal Kick"][var65_upvr].Kick);
}
tbl_3_upvr._idle.Priority = Enum.AnimationPriority.Action3
tbl_3_upvr._idle.Looped = true
tbl_3_upvr._idle:Play(0)
tbl_3_upvr._kick.Priority = Enum.AnimationPriority.Action4
arg1._model.Detector.CanCollide = false
arg1._maid._attributeChanged = arg1._root:GetAttributeChangedSignal("globalOverride"):Connect(function() -- Line 115
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if not arg1._root:GetAttribute("globalOverride") then
arg1._root:SetAttribute("globalOverride", true)
end
end)
arg1._maid._onDied = arg1._character.Humanoid.Died:Connect(function() -- Line 121
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:clear()
end)
local var84_upvw = false
workspace.CurrentCamera.FieldOfView = 80
workspace.CurrentCamera.CameraType = Enum.CameraType.Scriptable
workspace.CurrentCamera.CFrame = arg1._model.Camera.CFrame
if _G._services.UserInputService.TouchEnabled then
local Power = arg1._model.Overlay.Power
Power.CFrame *= CFrame.new(0, -3.3, 0)
end
arg1._maid._propertyChanged = workspace.CurrentCamera:GetPropertyChangedSignal("FieldOfView"):Connect(function() -- Line 137
--[[ Upvalues[1]:
[1]: var84_upvw (read and write)
]]
if not var84_upvw then
workspace.CurrentCamera.FieldOfView = 80
end
end)
local tbl_2_upvr = {
minDistance = 1.25;
power = 65;
minPower = 35;
maxPower = 110;
increaseRate = 0.3;
chargeTime = 1;
x = 0;
y = 0;
mode = "No Curl";
lastMousePosition = workspace.CurrentCamera:WorldToViewportPoint(arg1._mouse.Hit.Position);
limits = {
x = {
right = 16;
left = -16;
};
y = {
up = 8;
down = -4;
};
};
directions = {
right = false;
left = false;
};
}
local any_new_result1_upvr = any_load_result1_upvr.new()
local any_Create_result1_upvr = _G._services.TweenService:Create(var78_upvr._power.Main.Container.Power, TweenInfo.new(tbl_2_upvr.chargeTime, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut), {
Size = UDim2.new(1, 0, 1, 0);
})
for _, v_6 in next, arg1._model.Overlay:GetChildren() do
if v_6 and v_6:IsA("BasePart") then
({})['_'..string.lower(v_6.Name)] = arg1._model.Camera.CFrame:ToObjectSpace(v_6.CFrame)
end
end
local NumberValue_upvr = Instance.new("NumberValue")
NumberValue_upvr.Name = 'Y'
NumberValue_upvr.Value = 0
arg1._maid:GiveTask(NumberValue_upvr)
arg1._character.Humanoid:UnequipTools()
local function release_upvr() -- Line 198, Named "release"
--[[ Upvalues[8]:
[1]: var84_upvw (read and write)
[2]: arg1 (readonly)
[3]: any_new_result1_upvr (readonly)
[4]: any_Create_result1_upvr (readonly)
[5]: tbl_2_upvr (readonly)
[6]: var78_upvr (readonly)
[7]: var65_upvr (readonly)
[8]: tbl_3_upvr (readonly)
]]
var84_upvw = true
arg1._states._charging = false
arg1._states._released = true
any_new_result1_upvr:DoCleaning()
any_Create_result1_upvr:Pause()
tbl_2_upvr.power = tbl_2_upvr.minPower + (tbl_2_upvr.maxPower - tbl_2_upvr.minPower) * var78_upvr._power.Main.Container.Power.Size.X.Scale
arg1._model.Animation:FireServer(_G._references.Main.animations["Set Piece"]["Goal Kick"][var65_upvr].Kick)
task.wait(arg1._player:GetNetworkPing())
_G._services.TweenService:Create(workspace.CurrentCamera, TweenInfo.new(2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
FieldOfView = 60;
}):Play()
for _, v_7 in next, {"_controls", "_take"} do
_G._services.TweenService:Create(var78_upvr[v_7], TweenInfo.new(0.7, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
Size = UDim2.new(0, 0, 0, var78_upvr[v_7].Size.Y.Offset);
}):Play()
end
any_new_result1_upvr._renderStepped = _G._services.RunService.RenderStepped:Connect(function() -- Line 216
--[[ Upvalues[4]:
[1]: arg1 (copied, readonly)
[2]: var65_upvr (copied, readonly)
[3]: tbl_2_upvr (copied, readonly)
[4]: any_new_result1_upvr (copied, readonly)
]]
if arg1._model and arg1._model:FindFirstChild("Ball") then
if var65_upvr == 'R' and (arg1._model.Ball.Position - arg1._character.RightLowerLeg.Position).Magnitude <= tbl_2_upvr.minDistance or (arg1._model.Ball.Position - arg1._character.LeftLowerLeg.Position).Magnitude <= tbl_2_upvr.minDistance then
any_new_result1_upvr:DoCleaning()
local Folder = Instance.new("Folder")
Folder.Name = "react"
local ObjectValue = Instance.new("ObjectValue", Folder)
ObjectValue.Name = "ball"
ObjectValue.Value = arg1._ball
local Vector3Value_2 = Instance.new("Vector3Value", Folder)
Vector3Value_2.Name = "vector"
if tbl_2_upvr.mode == "Low Pass" then
local var107 = tbl_2_upvr
var107.power *= 1.2
Vector3Value_2.Value = workspace.CurrentCamera.CFrame.LookVector * tbl_2_upvr.power + Vector3.new(0, (2) * ((tbl_2_upvr.power - tbl_2_upvr.minPower) / (tbl_2_upvr.maxPower - tbl_2_upvr.minPower)), 0) + Vector3.new(0, tbl_2_upvr.y * 7, 0) + Vector3.new(0, 0, 0)
else
Vector3Value_2.Value = workspace.CurrentCamera.CFrame.LookVector * tbl_2_upvr.power + Vector3.new(0, 45 + (45) * ((tbl_2_upvr.power - tbl_2_upvr.minPower) / (tbl_2_upvr.maxPower - tbl_2_upvr.minPower)), 0) + Vector3.new(0, tbl_2_upvr.y * 7, 0) + Vector3.new(0, 0, 0)
end
local Vector3Value = Instance.new("Vector3Value", Folder)
Vector3Value.Name = "maxForce"
Vector3Value.Value = Vector3.new(10000, 10000, 10000)
local BoolValue_3 = Instance.new("BoolValue", Folder)
BoolValue_3.Name = "curve"
BoolValue_3.Value = true
local BoolValue_2 = Instance.new("BoolValue", Folder)
BoolValue_2.Name = "ignoreReactDecline"
BoolValue_2.Value = true
local StringValue_2 = Instance.new("StringValue", Folder)
StringValue_2.Name = "curveType"
if tbl_2_upvr.mode == "Inside Foot Curled" then
if var65_upvr == 'R' then
StringValue_2.Value = "left"
else
StringValue_2.Value = "right"
end
elseif tbl_2_upvr.mode == "Outside Foot Curled" then
if var65_upvr == 'R' then
StringValue_2.Value = "right"
else
StringValue_2.Value = "left"
end
elseif tbl_2_upvr.mode == "No Curl" then
StringValue_2.Value = "none"
end
local StringValue = Instance.new("StringValue", Folder)
StringValue.Name = "spinType"
StringValue.Value = "topspin"
local BoolValue = Instance.new("BoolValue", Folder)
BoolValue.Name = "grassEffect"
BoolValue.Value = true
Folder.Parent = arg1._player
Folder:SetAttribute("loaded", true)
end
end
end)
task.delay(0.3, function() -- Line 286
--[[ Upvalues[1]:
[1]: tbl_3_upvr (copied, readonly)
]]
tbl_3_upvr._idle:Stop(0.1)
end)
task.wait(3.8)
arg1._character.Humanoid.AutoRotate = true
if arg1._model:FindFirstChild("Clear") then
arg1._model.Clear:FireServer()
end
arg1:clear()
end
for _, v_8_upvr in next, var78_upvr._controls.Main.Container.Container:GetChildren() do
if v_8_upvr and v_8_upvr:IsA("Frame") then
any_new_result1_upvr[v_8_upvr.Name.."_mouseButton1Click"] = v_8_upvr.Button.MouseButton1Click:Connect(function() -- Line 301
--[[ Upvalues[3]:
[1]: tbl_2_upvr (readonly)
[2]: v_8_upvr (readonly)
[3]: var78_upvr (readonly)
]]
_G._references.Main.sounds.UI.Click:Play()
tbl_2_upvr.mode = v_8_upvr.Name
var78_upvr._take.Main.Container.Label.Text = string.upper(tbl_2_upvr.mode)
end)
end
end
task.delay(30, function() -- Line 309
--[[ Upvalues[5]:
[1]: arg1 (readonly)
[2]: any_Create_result1_upvr (readonly)
[3]: any_new_result1_upvr (readonly)
[4]: tbl_2_upvr (readonly)
[5]: release_upvr (readonly)
]]
if not arg1._states._charging and not arg1._states._released and arg1._model and arg1._model.Parent then
arg1._states._charging = true
any_Create_result1_upvr:Play()
any_new_result1_upvr:DoCleaning()
task.wait(tbl_2_upvr.chargeTime)
release_upvr()
end
end)
any_new_result1_upvr._inputBegan = _G._services.UserInputService.InputBegan:Connect(function(arg1_2, arg2) -- Line 320
--[[ Upvalues[4]:
[1]: tbl_2_upvr (readonly)
[2]: var78_upvr (readonly)
[3]: arg1 (readonly)
[4]: any_Create_result1_upvr (readonly)
]]
if arg1_2.KeyCode == Enum.KeyCode.A then
tbl_2_upvr.directions.left = true
else
if arg1_2.KeyCode == Enum.KeyCode.D then
tbl_2_upvr.directions.right = true
return
end
if arg1_2.KeyCode == Enum.KeyCode.Two or arg1_2.KeyCode == Enum.KeyCode.ButtonL2 then
_G._references.Main.sounds.UI.Click:Play()
tbl_2_upvr.mode = "Inside Foot Curled"
var78_upvr._take.Main.Container.Label.Text = string.upper(tbl_2_upvr.mode)
return
end
if arg1_2.KeyCode == Enum.KeyCode.Three or arg1_2.KeyCode == Enum.KeyCode.ButtonR2 then
_G._references.Main.sounds.UI.Click:Play()
tbl_2_upvr.mode = "Outside Foot Curled"
var78_upvr._take.Main.Container.Label.Text = string.upper(tbl_2_upvr.mode)
return
end
if arg1_2.KeyCode == Enum.KeyCode.One or arg1_2.KeyCode == Enum.KeyCode.ButtonL1 then
_G._references.Main.sounds.UI.Click:Play()
tbl_2_upvr.mode = "No Curl"
var78_upvr._take.Main.Container.Label.Text = string.upper(tbl_2_upvr.mode)
return
end
if arg1_2.KeyCode == Enum.KeyCode.Four or arg1_2.KeyCode == Enum.KeyCode.ButtonR1 then
_G._references.Main.sounds.UI.Click:Play()
tbl_2_upvr.mode = "Low Pass"
var78_upvr._take.Main.Container.Label.Text = string.upper(tbl_2_upvr.mode)
return
end
if arg1_2.KeyCode == Enum.KeyCode.Space or arg1_2.KeyCode == Enum.KeyCode.ButtonX or not arg2 then
arg1._states._charging = true
any_Create_result1_upvr:Play()
end
end
end)
any_new_result1_upvr._inputEnded = _G._services.UserInputService.InputEnded:Connect(function(arg1_3, arg2) -- Line 347
--[[ Upvalues[2]:
[1]: tbl_2_upvr (readonly)
[2]: release_upvr (readonly)
]]
if arg1_3.KeyCode == Enum.KeyCode.A then
tbl_2_upvr.directions.left = false
else
if arg1_3.KeyCode == Enum.KeyCode.D then
tbl_2_upvr.directions.right = false
return
end
if arg1_3.KeyCode == Enum.KeyCode.Space or arg1_3.KeyCode == Enum.KeyCode.ButtonX or not arg2 then
release_upvr()
end
end
end)
any_new_result1_upvr._inputChanged = _G._services.UserInputService.InputChanged:Connect(function(arg1_4, arg2) -- Line 357
--[[ Upvalues[1]:
[1]: tbl_2_upvr (readonly)
]]
if arg1_4.KeyCode == Enum.KeyCode.Thumbstick1 then
if 0.7 <= arg1_4.Position.X then
tbl_2_upvr.directions.right = true
tbl_2_upvr.directions.left = false
elseif arg1_4.Position.X <= -0.7 then
tbl_2_upvr.directions.right = false
tbl_2_upvr.directions.left = true
end
if arg1_4.Position.X < 0.35 and -0.35 < arg1_4.Position.X and arg1_4.Position.Y < 0.35 and -0.35 < arg1_4.Position.Y then
tbl_2_upvr.directions.right = false
tbl_2_upvr.directions.left = false
end
end
end)
if _G._services.UserInputService.TouchEnabled then
any_new_result1_upvr._mouseMove = arg1._mouse.Move:Connect(function() -- Line 375
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: tbl_2_upvr (readonly)
]]
if not arg1._states.charging and not arg1._states._released then
local any_WorldToViewportPoint_result1 = workspace.CurrentCamera:WorldToViewportPoint(arg1._mouse.Hit.Position)
local var124 = any_WorldToViewportPoint_result1.X - tbl_2_upvr.lastMousePosition.X
tbl_2_upvr.lastMousePosition = any_WorldToViewportPoint_result1
if 1 <= var124 then
tbl_2_upvr.directions.right = true
tbl_2_upvr.directions.left = false
return
end
if var124 <= -1 then
tbl_2_upvr.directions.right = false
tbl_2_upvr.directions.left = true
return
end
if var124 < 1 and -1 < var124 then
tbl_2_upvr.directions.right = false
tbl_2_upvr.directions.left = false
end
end
end)
any_new_result1_upvr._touchEnded = _G._services.UserInputService.TouchEnded:Connect(function(arg1_5, arg2) -- Line 395
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: tbl_2_upvr (readonly)
]]
if not arg1._states.charging and not arg1._states._released then
tbl_2_upvr.directions.right = false
tbl_2_upvr.directions.left = false
end
end)
any_new_result1_upvr._mouseButton1Down = var78_upvr._take.Main.Container.Bind.Button.MouseButton1Down:Connect(function() -- Line 402
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: any_Create_result1_upvr (readonly)
]]
arg1._states.charging = true
any_Create_result1_upvr:Play()
end)
any_new_result1_upvr._mouseButton1Up = var78_upvr._take.Main.Container.Bind.Button.MouseButton1Up:Connect(function() -- Line 407
--[[ Upvalues[1]:
[1]: release_upvr (readonly)
]]
release_upvr()
end)
end
local tbl_upvr = {}
any_new_result1_upvr._updateCFrame = _G._services.RunService.RenderStepped:Connect(function() -- Line 412
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: tbl_upvr (readonly)
[3]: var65_upvr (readonly)
]]
arg1._model.Overlay.Take.CFrame = workspace.CurrentCamera.CFrame * tbl_upvr._take
arg1._model.Overlay.Controls.CFrame = workspace.CurrentCamera.CFrame * tbl_upvr._controls
arg1._model.Overlay.Power.CFrame = workspace.CurrentCamera.CFrame * tbl_upvr._power
arg1._character.Humanoid.AutoRotate = false
if var65_upvr == 'R' then
arg1._character:SetPrimaryPartCFrame(arg1._model.Right.CFrame)
else
arg1._character:SetPrimaryPartCFrame(arg1._model.Left.CFrame)
end
end)
local any_ToObjectSpace_result1_upvr = arg1._model.Origin.CFrame:ToObjectSpace(arg1._model.Camera.CFrame)
task.spawn(function() -- Line 425
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: tbl_2_upvr (readonly)
[3]: any_ToObjectSpace_result1_upvr (readonly)
[4]: NumberValue_upvr (readonly)
]]
while not arg1._states._charging and not arg1._states._released do
if tbl_2_upvr.directions.right and tbl_2_upvr.x + tbl_2_upvr.increaseRate <= tbl_2_upvr.limits.x.right then
local var132 = tbl_2_upvr
var132.x += tbl_2_upvr.increaseRate
end
if tbl_2_upvr.directions.left and tbl_2_upvr.limits.x.left <= tbl_2_upvr.x - tbl_2_upvr.increaseRate then
local var133 = tbl_2_upvr
var133.x -= tbl_2_upvr.increaseRate
end
if not arg1._player.PlayerScripts.replay:FindFirstChildWhichIsA("ValueBase") then
_G._services.TweenService:Create(workspace.CurrentCamera, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
CFrame = arg1._model.Origin.CFrame * CFrame.fromEulerAnglesXYZ(0, -math.rad(tbl_2_upvr.x * 5), 0) * any_ToObjectSpace_result1_upvr;
}):Play()
end
_G._services.TweenService:Create(NumberValue_upvr, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Value = tbl_2_upvr.y;
}):Play()
task.wait(0.05)
end
end)
-- KONSTANTERROR: [250] 154. Error Block 71 end (CF ANALYSIS FAILED)
end
function module_upvr.clear(arg1) -- Line 453
workspace.CurrentCamera.CameraType = Enum.CameraType.Custom
workspace.CurrentCamera.FieldOfView = tonumber(_G._references.Profile.settings.Visual["Field of View"].Value)
if arg1._net then
local _net = arg1._net
_G._services.TweenService:Create(_net.Net.Net, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Transparency = 0.01;
}):Play()
_G._services.TweenService:Create(_net.Frame, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Transparency = 0;
}):Play()
_G._services.TweenService:Create(_net.Support["Support Main"], TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Transparency = 0;
}):Play()
_G._services.TweenService:Create(_net.Support["Support Top"], TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Transparency = 0;
}):Play()
end
if arg1._player.PlayerGui:FindFirstChild("UI") then
arg1._player.PlayerGui.UI.Enabled = true
end
if _G._services.UserInputService.TouchEnabled then
arg1._player.PlayerGui.main.mobile.Visible = true
elseif _G._services.UserInputService.GamepadEnabled then
arg1._player.PlayerGui.main.gamepad.Visible = true
elseif not _G._services.UserInputService.TouchEnabled and not _G._services.UserInputService.GamepadEnabled then
arg1._player.PlayerGui.main.backpack.Visible = true
end
arg1._maid:DoCleaning()
arg1._root:SetAttribute("globalOverride", false)
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:56:50
-- Luau version 6, Types version 3
-- Time taken: 0.000867 seconds
local module_upvr = {
_client = require(script:WaitForChild("client", 100));
_server = require(script:WaitForChild("server", 100));
}
function module_upvr.new(...) -- Line 5
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if _G._services.RunService:IsClient() then
module_upvr._client.new(...):init()
else
module_upvr._server.new(...):init()
end
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:56:52
-- Luau version 6, Types version 3
-- Time taken: 0.024015 seconds
local module_upvr = {}
module_upvr.__index = module_upvr
function module_upvr.new(arg1, arg2) -- Line 4
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
assert(arg1, "Penalty.server | dataModel 'player' expected, got "..typeof(arg1))
local var2
if not arg2 then return end
var2 = _G._references.Main.admin
if not var2.positions:FindFirstChild(string.upper(arg2)) then return end
var2 = _G._references
var2 = arg1.Character
if not var2 then
var2 = arg1.CharacterAdded:Wait()
end
local var3
if arg2 and _G._references.Main.admin.positions:FindFirstChild(string.upper(arg2)) then
var3 = _G._references.Main.admin.positions[string.upper(arg2)].Position.X
local var4 = _G._references.Main.admin.positions[string.upper(arg2)]
end
local clone = _G._references.Main["set pieces"].Penalty:Clone()
clone.Parent = workspace.game.debug
clone.Name = arg1.Name
clone.Ball.Transparency = 1
clone:SetPrimaryPartCFrame(CFrame.new(Vector3.new(var3, clone.Primary.Position.Y, _G._references.Main.admin.positions[string.upper(arg2)].Position.Z)) * CFrame.Angles(var4.CFrame:ToOrientation()))
if string.find(var4.Name, 'H') then
clone.Team.Value = "home"
elseif string.find(var4.Name, 'A') then
clone.Team.Value = "away"
end
local module = {}
module._player = arg1
module._character = var2
module._profile = var2.Profiles:WaitForChild(tostring(arg1.UserId), 100)
module._model = clone
module._maid = _G._engine:load("Maid").new()
module._touch = {}
return setmetatable(module, module_upvr)
end
function module_upvr.init(arg1) -- Line 49
assert(arg1._model, "Penalty.server [init] | call .new() before running :init()!")
assert(arg1._character.PrimaryPart, string.format("Penalty.server [init] | could not find PrimaryPart [%s]", tostring(arg1._player.UserId)))
local BoolValue = Instance.new("BoolValue")
BoolValue.Name = script.Parent.Parent.Name
BoolValue.Value = true
BoolValue.Parent = _G._references.Main.config["Set Pieces"]
arg1._maid:GiveTask(BoolValue)
arg1:initConnections()
arg1._character.Archivable = false
local BoolValue_4 = Instance.new("BoolValue", arg1._player)
BoolValue_4.Name = "Teleport"
BoolValue_4.Value = true
_G._services.Debris:AddItem(BoolValue_4, 3)
if arg1._profile.settings.Visual["Strong Foot"].Value == "Right" then
arg1._character:SetPrimaryPartCFrame(arg1._model.Right.CFrame)
arg1._character.PrimaryPart.Anchored = true
else
arg1._character:SetPrimaryPartCFrame(arg1._model.Left.CFrame)
arg1._character.PrimaryPart.Anchored = true
end
if workspace.game.referee.rigs:FindFirstChild("main") then
local BoolValue_5 = Instance.new("BoolValue")
BoolValue_5.Name = "Referee"
BoolValue_5.Value = true
BoolValue_5.Parent = _G._references.Main.config.Override
arg1._maid:GiveTask(BoolValue_5)
workspace.game.referee.rigs.main.PrimaryPart.RootRigAttachment.AlignOrientation.CFrame = workspace.game.referee.teleport.penalty[arg1._model.Team.Value].CFrame
workspace.game.referee.rigs.main:SetPrimaryPartCFrame(workspace.game.referee.teleport.penalty[arg1._model.Team.Value].CFrame)
end
if _G._references.Main.config.AutoRall.Value then
for _, v in next, workspace.game.balls.spawns:GetChildren() do
if v then
v:Destroy()
end
end
end
_G._references.BindableEvent:Fire("clearSpace")
local CFrameValue = Instance.new("CFrameValue")
CFrameValue.Name = "RF"
CFrameValue.Value = arg1._model.Ball.CFrame
CFrameValue.Parent = workspace.game.balls.spawns
local IntValue = Instance.new("IntValue")
IntValue.Name = "possessor"
IntValue.Value = arg1._player.UserId
IntValue.Parent = CFrameValue
for _, v_2 in next, _G._references.Main.config.Override:GetChildren() do
if v_2 and v_2.Name == "Break" then
v_2:Destroy()
end
end
arg1._character.Humanoid.AutoRotate = false
_G._references.RemoteEvent:FireClient(arg1._player, "shiftLock", false)
_G._references.RemoteEvent:FireClient(arg1._player, "forceDisable", true)
_G._references.RemoteEvent:FireClient(arg1._player, "penalty", arg1._model, CFrameValue)
end
function module_upvr.initConnections(arg1) -- Line 130
local BindableEvent_upvr = Instance.new("BindableEvent", arg1._model)
BindableEvent_upvr.Name = "Cancel"
local RemoteEvent = Instance.new("RemoteEvent", arg1._model)
RemoteEvent.Name = "Clear"
local RemoteEvent_2 = Instance.new("RemoteEvent", arg1._model)
RemoteEvent_2.Name = "Animation"
Instance.new("RemoteEvent", arg1._model).Name = "Collide"
_G._references.RemoteEvent:FireAllClients("registerTeleporter", arg1._player, arg1._model, "penalty")
arg1._maid._onBindableEvent = BindableEvent_upvr.Event:Connect(function() -- Line 145
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:clear()
end)
arg1._maid._onClearRemoteEvent = RemoteEvent.OnServerEvent:Connect(function(arg1_2) -- Line 149
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_2 == arg1._player then
if arg1._animation then
while arg1._animation do
task.wait()
end
end
arg1:clear()
end
end)
arg1._maid._onAnimationRemoteEvent = RemoteEvent_2.OnServerEvent:Connect(function(arg1_3, arg2) -- Line 161
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
local var31
if arg1_3 == arg1._player then
var31 = arg1_3.Character
var31 = arg2
local any_LoadAnimation_result1_2 = var31.Humanoid.Animator:LoadAnimation(var31)
any_LoadAnimation_result1_2.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1_2:Play()
var31 = true
arg1._animation = var31
local function INLINED_2() -- Internal function, doesn't exist in bytecode
var31 = any_LoadAnimation_result1_2.Length - 0.6
return var31
end
if 0.1 > any_LoadAnimation_result1_2.Length or not INLINED_2() then
var31 = 3.85
end
task.wait(var31)
if arg1_3 and arg1_3.Character then
var31 = arg1._maid
if var31._onAnimationRemoteEvent then
var31 = "BoolValue"
local any = Instance.new(var31, arg1._player)
var31 = "Teleport"
any.Name = var31
var31 = true
any.Value = var31
var31 = _G._services.Debris:AddItem
var31(any, 3)
var31 = any_LoadAnimation_result1_2:AdjustSpeed
var31(0)
var31 = arg1_3.Character:SetPrimaryPartCFrame
var31(arg1_3.Character.LowerTorso.CFrame * _G._services.StarterPlayer.StarterCharacter.LowerTorso.CFrame:ToObjectSpace(_G._services.StarterPlayer.StarterCharacter.HumanoidRootPart.CFrame))
var31 = any_LoadAnimation_result1_2:Stop
var31(0)
var31 = arg1
var31._animation = nil
end
end
end
end)
arg1._maid._onCollideRemoteEvent = RemoteEvent.OnServerEvent:Connect(function(arg1_4) -- Line 184
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_4 == arg1._player then
arg1._model.Detector.CanCollide = false
end
end)
arg1._maid._onRespawn = arg1._player.CharacterAdded:Connect(function() -- Line 190
--[[ Upvalues[1]:
[1]: BindableEvent_upvr (readonly)
]]
BindableEvent_upvr:Fire()
end)
arg1._maid._onLeave = _G._services.Players.PlayerRemoving:Connect(function(arg1_5) -- Line 194
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: BindableEvent_upvr (readonly)
]]
if arg1_5 == arg1._player then
BindableEvent_upvr:Fire()
end
end)
local function onTouch(arg1_6) -- Line 200
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_6 and arg1_6.Parent and arg1_6.Parent:FindFirstChildWhichIsA("Humanoid") and not arg1_6:FindFirstAncestor("manager") and not arg1_6:FindFirstAncestor("referee") and arg1_6.Parent ~= arg1._character and not arg1._touch[arg1_6.Parent.Name] and arg1._model.Detector.CanCollide then
local any_GetPlayerFromCharacter_result1 = _G._services.Players:GetPlayerFromCharacter(arg1_6.Parent)
if any_GetPlayerFromCharacter_result1 and any_GetPlayerFromCharacter_result1.Team then
arg1._touch[arg1_6.Parent.Name] = true
local BoolValue_6 = Instance.new("BoolValue", any_GetPlayerFromCharacter_result1)
BoolValue_6.Name = "Teleport"
BoolValue_6.Value = true
_G._services.Debris:AddItem(BoolValue_6, 3)
if arg1._model.Team.Value == "home" and any_GetPlayerFromCharacter_result1.TeamColor == BrickColor.new("Navy blue") or arg1._model.Team.Value == "away" and any_GetPlayerFromCharacter_result1.TeamColor == BrickColor.new("Maroon") then
arg1_6.Parent:SetPrimaryPartCFrame(arg1._model.GK.CFrame)
else
arg1_6.Parent:SetPrimaryPartCFrame(arg1._model.Teleport.CFrame)
end
task.delay(0.5, function() -- Line 217
--[[ Upvalues[2]:
[1]: arg1 (copied, readonly)
[2]: arg1_6 (readonly)
]]
arg1._touch[arg1_6.Parent.Name] = false
end)
end
end
end
local function onTouchGK(arg1_7) -- Line 224
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_7 and arg1_7.Parent and arg1_7.Parent:FindFirstChildWhichIsA("Humanoid") and not arg1_7:FindFirstAncestor("manager") and not arg1_7:FindFirstAncestor("referee") and arg1_7.Parent ~= arg1._character and not arg1._touch[arg1_7.Parent.Name] and arg1._model.Detector.CanCollide then
local any_GetPlayerFromCharacter_result1_3 = _G._services.Players:GetPlayerFromCharacter(arg1_7.Parent)
if any_GetPlayerFromCharacter_result1_3 and any_GetPlayerFromCharacter_result1_3.Team and (any_GetPlayerFromCharacter_result1_3.TeamColor == BrickColor.new("Storm blue") or any_GetPlayerFromCharacter_result1_3.TeamColor == BrickColor.new("Crimson")) then
arg1._touch[arg1_7.Parent.Name] = true
local BoolValue_2 = Instance.new("BoolValue", any_GetPlayerFromCharacter_result1_3)
BoolValue_2.Name = "Teleport"
BoolValue_2.Value = true
_G._services.Debris:AddItem(BoolValue_2, 3)
arg1_7.Parent:SetPrimaryPartCFrame(arg1._model.Teleport.CFrame)
task.delay(0.5, function() -- Line 237
--[[ Upvalues[2]:
[1]: arg1 (copied, readonly)
[2]: arg1_7 (readonly)
]]
arg1._touch[arg1_7.Parent.Name] = false
end)
end
end
end
for _, v_3 in next, arg1._model.Area:GetChildren() do
if v_3 and v_3:IsA("BasePart") then
local any_GenerateGUID_result1 = _G._services.HttpService:GenerateGUID(false)
arg1._maid[any_GenerateGUID_result1.."_onTouched"] = v_3.Touched:Connect(onTouch)
arg1._maid[any_GenerateGUID_result1.."_onTouchEnded"] = v_3.TouchEnded:Connect(onTouch)
end
end
arg1._maid._areaTouched = workspace.game.regions.under.Touched:Connect(onTouch)
arg1._maid._areaTouchEnded = workspace.game.regions.under.TouchEnded:Connect(onTouch)
arg1._maid._gkTouched = arg1._model.Box.Touched:Connect(onTouchGK)
arg1._maid._gkTouchEnded = arg1._model.Box.TouchEnded:Connect(onTouchGK)
arg1._maid:GiveTask(arg1._model)
arg1._maid:GiveTask(BindableEvent_upvr)
arg1._maid:GiveTask(RemoteEvent)
arg1._maid:GiveTask(RemoteEvent_2)
end
function module_upvr.clear(arg1, arg2) -- Line 264
if arg1._character and arg1._character:FindFirstChild("HumanoidRootPart") then
arg1._character.HumanoidRootPart.Anchored = false
end
_G._references.RemoteEvent:FireAllClients("clearTeleporter")
if arg1._player then
_G._references.RemoteEvent:FireClient(arg1._player, "shiftLock", true)
_G._references.RemoteEvent:FireClient(arg1._player, "forceDisable", false)
_G._references.RemoteEvent:FireClient(arg1._player, "canSprint", true)
_G._references.RemoteEvent:FireClient(arg1._player, "globalOverride", false)
end
for _, v_4 in next, _G._references.Main.config.Override:GetChildren() do
if v_4 and (v_4.Name == "DisableFouls" or v_4.Name == "RTP") then
v_4:Destroy()
end
end
_G._references.Main.config.TimerSpeed.Value = 5
arg1._maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:56:54
-- Luau version 6, Types version 3
-- Time taken: 0.050271 seconds
local any_load_result1_upvr = _G._engine:load("Maid")
local module_2_upvr = {}
module_2_upvr.__index = module_2_upvr
function module_2_upvr.new(arg1, arg2) -- Line 7
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: module_2_upvr (readonly)
]]
assert(arg1, "Penalty.client | Model 'model' expected, got "..typeof(arg1))
assert(arg2, "Penalty.client | BasePart 'ball' expected, got "..typeof(arg2))
local LocalPlayer = _G._references.LocalPlayer
local Character = LocalPlayer.Character
if not Character then
Character = LocalPlayer.CharacterAdded:Wait()
end
local module = {}
module._ball = arg2
module._player = LocalPlayer
module._model = arg1
module._character = Character
module._root = _G._root
module._mouse = LocalPlayer:GetMouse()
module._formatNumber = _G._engine:load("FormatNumber", "utils")
module._maid = any_load_result1_upvr.new()
module._states = {
charging = false;
released = false;
}
return setmetatable(module, module_2_upvr)
end
function module_2_upvr.init(arg1) -- Line 30
--[[ Upvalues[1]:
[1]: any_load_result1_upvr (readonly)
]]
local tbl_upvr_3 = {}
local var18_upvr
for _, v in var18_upvr, arg1._model.Overlay:GetChildren() do
if v and (v:FindFirstChildWhichIsA("BillboardGui") or v:FindFirstChildWhichIsA("SurfaceGui")) then
local class_BillboardGui = v:FindFirstChildWhichIsA("BillboardGui")
if not class_BillboardGui then
class_BillboardGui = v:FindFirstChildWhichIsA("SurfaceGui")
end
class_BillboardGui.Parent = arg1._player.PlayerGui:WaitForChild("billboardUI", 100)
class_BillboardGui.Adornee = v
tbl_upvr_3['_'..string.lower(v.Name)] = class_BillboardGui
end
end
var18_upvr = tbl_upvr_3._aim
var18_upvr.Enabled = true
var18_upvr = tbl_upvr_3._composure
var18_upvr.Enabled = true
var18_upvr = _G._services.UserInputService.TouchEnabled
if var18_upvr then
var18_upvr = tbl_upvr_3._mobile.Size.X.Offset
tbl_upvr_3._mobile.Enabled = true
tbl_upvr_3._mobile.Size = UDim2.new(0, 0, 0, tbl_upvr_3._mobile.Size.Y.Offset)
_G._services.TweenService:Create(tbl_upvr_3._mobile, TweenInfo.new(1.15, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
Size = UDim2.new(0, var18_upvr, 0, tbl_upvr_3._mobile.Size.Y.Offset);
}):Play()
end
var18_upvr = arg1._player.PlayerGui:FindFirstChild("UI")
if var18_upvr then
var18_upvr = arg1._player.PlayerGui.UI
var18_upvr.Enabled = false
end
var18_upvr = arg1._player.PlayerGui.main.mobile
var18_upvr.Visible = false
var18_upvr = arg1._player.PlayerGui.main.backpack
var18_upvr.Visible = false
var18_upvr = arg1._player.PlayerGui.main.gamepad
var18_upvr.Visible = false
var18_upvr = next
for _, v_2 in var18_upvr, arg1._player.PlayerGui.main.mobile.contextTabContainer:GetChildren() do
if v_2 and v_2:IsA("Frame") then
v_2.Visible = false
end
end
if _G._references.Profile.settings.Visual["Strong Foot"].Value == "Right" then
var18_upvr = 'R'
else
var18_upvr = 'L'
end
local tbl_upvr = {
_idle = arg1._character.Humanoid.Animator:LoadAnimation(_G._references.Main.animations["Set Piece"].Penalty[var18_upvr].Idle);
_kick = arg1._character.Humanoid.Animator:LoadAnimation(_G._references.Main.animations["Set Piece"].Penalty[var18_upvr].Kick);
}
tbl_upvr._idle.Priority = Enum.AnimationPriority.Action3
tbl_upvr._idle.Looped = true
tbl_upvr._idle:Play()
tbl_upvr._kick.Priority = Enum.AnimationPriority.Action4
arg1._model.Detector.CanCollide = false
arg1._maid._attributeChanged = arg1._root:GetAttributeChangedSignal("globalOverride"):Connect(function() -- Line 87
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if not arg1._root:GetAttribute("globalOverride") then
arg1._root:SetAttribute("globalOverride", true)
end
end)
arg1._maid._onDied = arg1._character.Humanoid.Died:Connect(function() -- Line 93
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:clear()
end)
local var26_upvw = false
workspace.CurrentCamera.FieldOfView = 45
workspace.CurrentCamera.CameraType = Enum.CameraType.Scriptable
workspace.CurrentCamera.CFrame = arg1._model.Camera.CFrame
arg1._maid._propertyChanged = workspace.CurrentCamera:GetPropertyChangedSignal("FieldOfView"):Connect(function() -- Line 105
--[[ Upvalues[1]:
[1]: var26_upvw (read and write)
]]
if not var26_upvw then
workspace.CurrentCamera.FieldOfView = 45
end
end)
local tbl_upvr_2 = {
minDistance = 1.5;
increaseRate = 0.3;
x = 0;
y = 0;
composure = {
pressed = false;
composed = false;
};
lastMousePosition = workspace.CurrentCamera:WorldToViewportPoint(arg1._mouse.Hit.Position);
limits = {
x = {
right = 3;
left = -3;
};
y = {
up = 1;
down = -0.7;
};
};
directions = {
up = false;
down = false;
right = false;
left = false;
};
}
local any_new_result1_upvr = any_load_result1_upvr.new()
local any_Create_result1_upvr = _G._services.TweenService:Create(arg1._model.Overlay.Composure, TweenInfo.new(0.8, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut), {
Size = Vector3.new(3, arg1._model.Overlay.Composure.Size.Y, 3);
})
arg1._character.Humanoid:UnequipTools()
task.spawn(function() -- Line 153
--[[ Upvalues[3]:
[1]: tbl_upvr_2 (readonly)
[2]: arg1 (readonly)
[3]: any_Create_result1_upvr (readonly)
]]
while not tbl_upvr_2.composure.pressed and arg1._model and arg1._model.Parent do
arg1._model.Overlay.Composure.Size = Vector3.new(29, arg1._model.Overlay.Composure.Size.Y, 29)
any_Create_result1_upvr:Play()
task.wait(0.815)
end
end)
local function release_upvr() -- Line 166, Named "release"
--[[ Upvalues[8]:
[1]: var26_upvw (read and write)
[2]: tbl_upvr_2 (readonly)
[3]: any_Create_result1_upvr (readonly)
[4]: arg1 (readonly)
[5]: tbl_upvr_3 (readonly)
[6]: var18_upvr (readonly)
[7]: any_new_result1_upvr (readonly)
[8]: tbl_upvr (readonly)
]]
var26_upvw = true
tbl_upvr_2.composure.pressed = true
any_Create_result1_upvr:Pause()
local var38
if arg1._model.Overlay.Composure.Size.X <= var38 then
var38 = tbl_upvr_2
var38 = true
var38.composure.composed = var38
else
var38 = tbl_upvr_2
var38 = false
var38.composure.composed = var38
end
var38 = _G._services
var38.TweenService:Create(tbl_upvr_3._composure.Main, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 1;
}):Play()
var38 = _G._services
var38.TweenService:Create(tbl_upvr_3._composure.Main.UIStroke, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Transparency = 1;
}):Play()
var38 = tbl_upvr_2.composure
if var38.composed then
var38 = _G._services
var38.TweenService:Create(tbl_upvr_3._aim.Main, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = Color3.fromRGB(0, 255, 0);
}):Play()
var38 = _G._services
var38.TweenService:Create(tbl_upvr_3._aim.Main.UIStroke, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Color = Color3.fromRGB(0, 255, 0);
}):Play()
else
var38 = _G._services
var38.TweenService:Create(tbl_upvr_3._aim.Main, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = Color3.fromRGB(255, 0, 0);
}):Play()
var38 = _G._services
var38.TweenService:Create(tbl_upvr_3._aim.Main.UIStroke, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Color = Color3.fromRGB(255, 0, 0);
}):Play()
var38 = _G._services
var38.TweenService:Create(arg1._model.Overlay.Aim, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Size = Vector3.new(20, 20, arg1._model.Overlay.Aim.Size.Z);
}):Play()
end
var38 = arg1._model
var38.Animation:FireServer(_G._references.Main.animations["Set Piece"].Penalty[var18_upvr].Kick)
var38 = arg1._player:GetNetworkPing()
task.wait(var38)
var38 = arg1._model.Overlay.Composure.Size
var38 = 10
if var38.X <= var38 then
var38 = tbl_upvr_3._composure
var38 = Color3.new(0, 255, 0)
var38.Main.BackgroundColor3 = var38
var38 = tbl_upvr_3._composure.Main
var38 = Color3.new(0, 255, 0)
var38.UIStroke.Color = var38
else
var38 = tbl_upvr_3._composure
var38 = Color3.new(255, 0, 0)
var38.Main.BackgroundColor3 = var38
var38 = tbl_upvr_3._composure.Main
var38 = Color3.new(255, 0, 0)
var38.UIStroke.Color = var38
end
var38 = _G._services
var38.TweenService:Create(tbl_upvr_3._mobile, TweenInfo.new(1.15, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
Size = UDim2.new(0, 0, 0, tbl_upvr_3._mobile.Size.Y.Offset);
}):Play()
var38 = _G._services
var38.TweenService:Create(workspace.CurrentCamera, TweenInfo.new(2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
FieldOfView = 35;
}):Play()
var38 = _G._services.RunService.RenderStepped
var38 = var38:Connect(function() -- Line 205
--[[ Upvalues[4]:
[1]: arg1 (copied, readonly)
[2]: var18_upvr (copied, readonly)
[3]: tbl_upvr_2 (copied, readonly)
[4]: any_new_result1_upvr (copied, readonly)
]]
if arg1._model and arg1._model:FindFirstChild("Ball") then
local var49
local function INLINED() -- Internal function, doesn't exist in bytecode
var49 = tbl_upvr_2.minDistance
var49 = arg1._model.Ball.Position - arg1._character.RightLowerLeg.Position
return var49.Magnitude <= var49
end
local function INLINED_2() -- Internal function, doesn't exist in bytecode
var49 = tbl_upvr_2.minDistance
var49 = arg1._model.Ball.Position - arg1._character.LeftLowerLeg.Position
return var49.Magnitude <= var49
end
if var18_upvr == 'R' and INLINED() or INLINED_2() then
any_new_result1_upvr:DoCleaning()
var49 = workspace.CurrentCamera
var49 = Vector3.new(0, 0, 0)
if not tbl_upvr_2.composure.composed then
local randint = math.random(-30, 30)
if randint <= 0 then
randint = math.clamp(randint, -30, -10)
else
randint = math.clamp(randint, 10, 30)
end
var49 = workspace.CurrentCamera.CFrame.RightVector * randint + workspace.CurrentCamera.CFrame.UpVector * math.clamp(randint, 10, 1000)
end
arg1._model.Collide:FireServer()
local Folder = Instance.new("Folder")
Folder.Name = "react"
local ObjectValue = Instance.new("ObjectValue", Folder)
ObjectValue.Name = "ball"
ObjectValue.Value = arg1._ball
local Vector3Value_2 = Instance.new("Vector3Value", Folder)
Vector3Value_2.Name = "vector"
Vector3Value_2.Value = (arg1._model.Overlay.Aim.Position + Vector3.new(0, 1.75, 0) - arg1._model.Ball.Position).Unit * Vector3.new(80, 100, 80) + var49
local Vector3Value = Instance.new("Vector3Value", Folder)
Vector3Value.Name = "maxForce"
Vector3Value.Value = Vector3.new(10000, 10000, 10000)
local BoolValue_4 = Instance.new("BoolValue", Folder)
BoolValue_4.Name = "ignoreReactDecline"
BoolValue_4.Value = true
local BoolValue_3 = Instance.new("BoolValue", Folder)
BoolValue_3.Name = "penalty"
BoolValue_3.Value = true
local BoolValue_2 = Instance.new("BoolValue", Folder)
BoolValue_2.Name = "curve"
BoolValue_2.Value = true
local StringValue = Instance.new("StringValue", Folder)
StringValue.Name = "curveType"
StringValue.Value = "none"
local StringValue_2 = Instance.new("StringValue", Folder)
StringValue_2.Name = "spinType"
StringValue_2.Value = "topspin"
local BoolValue = Instance.new("BoolValue", Folder)
BoolValue.Name = "grassEffect"
BoolValue.Value = true
Folder.Parent = arg1._player
Folder:SetAttribute("loaded", true)
end
end
end)
any_new_result1_upvr._renderStepped = var38
var38 = 0.3
task.delay(var38, function() -- Line 272
--[[ Upvalues[1]:
[1]: tbl_upvr (copied, readonly)
]]
tbl_upvr._idle:Stop(0.1)
end)
local function INLINED_3() -- Internal function, doesn't exist in bytecode
var38 = tbl_upvr._kick.Length - 0.6
return var38
end
if 0.1 > tbl_upvr._kick.Length or not INLINED_3() then
var38 = 3.85
end
task.wait(var38)
var38 = arg1._character
var38 = true
var38.Humanoid.AutoRotate = var38
var38 = arg1
if var38._model:FindFirstChild("Clear") then
var38 = arg1._model
var38.Clear:FireServer()
end
arg1:clear()
end
task.delay(30, function() -- Line 285
--[[ Upvalues[3]:
[1]: tbl_upvr_2 (readonly)
[2]: arg1 (readonly)
[3]: release_upvr (readonly)
]]
if not tbl_upvr_2.composure.pressed and arg1._model and arg1._model.Parent then
release_upvr()
end
end)
any_new_result1_upvr._inputBegan = _G._services.UserInputService.InputBegan:Connect(function(arg1_2, arg2) -- Line 291
--[[ Upvalues[4]:
[1]: tbl_upvr_2 (readonly)
[2]: any_Create_result1_upvr (readonly)
[3]: arg1 (readonly)
[4]: release_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [6] 4. Error Block 2 start (CF ANALYSIS FAILED)
tbl_upvr_2.directions.up = true
do
return
end
-- KONSTANTERROR: [6] 4. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [13] 9. Error Block 3 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [13] 9. Error Block 3 end (CF ANALYSIS FAILED)
end)
any_new_result1_upvr._inputEnded = _G._services.UserInputService.InputEnded:Connect(function(arg1_3, arg2) -- Line 334
--[[ Upvalues[1]:
[1]: tbl_upvr_2 (readonly)
]]
if arg1_3.KeyCode == Enum.KeyCode.W then
tbl_upvr_2.directions.up = false
else
if arg1_3.KeyCode == Enum.KeyCode.A then
tbl_upvr_2.directions.left = false
return
end
if arg1_3.KeyCode == Enum.KeyCode.S then
tbl_upvr_2.directions.down = false
return
end
if arg1_3.KeyCode == Enum.KeyCode.D then
tbl_upvr_2.directions.right = false
end
end
end)
any_new_result1_upvr._inputChanged = _G._services.UserInputService.InputChanged:Connect(function(arg1_4, arg2) -- Line 346
--[[ Upvalues[1]:
[1]: tbl_upvr_2 (readonly)
]]
if arg1_4.KeyCode == Enum.KeyCode.Thumbstick1 then
if 0.7 <= arg1_4.Position.X then
tbl_upvr_2.directions.right = true
tbl_upvr_2.directions.left = false
elseif arg1_4.Position.X <= -0.7 then
tbl_upvr_2.directions.right = false
tbl_upvr_2.directions.left = true
end
if 0.7 <= arg1_4.Position.Y then
tbl_upvr_2.directions.up = true
tbl_upvr_2.directions.down = false
elseif arg1_4.Position.Y <= -0.7 then
tbl_upvr_2.directions.up = false
tbl_upvr_2.directions.down = true
end
if arg1_4.Position.X < 0.35 and -0.35 < arg1_4.Position.X and arg1_4.Position.Y < 0.35 and -0.35 < arg1_4.Position.Y then
tbl_upvr_2.directions.up = false
tbl_upvr_2.directions.down = false
tbl_upvr_2.directions.right = false
tbl_upvr_2.directions.left = false
end
end
end)
if _G._services.UserInputService.TouchEnabled then
any_new_result1_upvr._mouseMove = arg1._mouse.Move:Connect(function() -- Line 374
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: tbl_upvr_2 (readonly)
]]
if not arg1._states.charging and not arg1._states._released then
local any_WorldToViewportPoint_result1 = workspace.CurrentCamera:WorldToViewportPoint(arg1._mouse.Hit.Position)
local var68 = any_WorldToViewportPoint_result1.X - tbl_upvr_2.lastMousePosition.X
local var69 = any_WorldToViewportPoint_result1.Y - tbl_upvr_2.lastMousePosition.Y
tbl_upvr_2.lastMousePosition = any_WorldToViewportPoint_result1
if 1 <= var69 then
tbl_upvr_2.directions.down = true
tbl_upvr_2.directions.up = false
return
end
if var69 <= -1 then
tbl_upvr_2.directions.down = false
tbl_upvr_2.directions.up = true
return
end
if 1 <= var68 then
tbl_upvr_2.directions.right = true
tbl_upvr_2.directions.left = false
return
end
if var68 <= -1 then
tbl_upvr_2.directions.right = false
tbl_upvr_2.directions.left = true
return
end
if var68 < 1 and -1 < var68 and var69 < 1 and -1 < var69 then
tbl_upvr_2.directions.up = false
tbl_upvr_2.directions.down = false
tbl_upvr_2.directions.right = false
tbl_upvr_2.directions.left = false
end
end
end)
any_new_result1_upvr._touchEnded = _G._services.UserInputService.TouchEnded:Connect(function(arg1_5, arg2) -- Line 403
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: tbl_upvr_2 (readonly)
]]
if not arg1._states.charging and not arg1._states._released then
tbl_upvr_2.directions.up = false
tbl_upvr_2.directions.down = false
tbl_upvr_2.directions.right = false
tbl_upvr_2.directions.left = false
end
end)
any_new_result1_upvr._mouseButton1Click = tbl_upvr_3._mobile.Main.Container.Bind.Button.MouseButton1Click:Connect(function() -- Line 412
--[[ Upvalues[4]:
[1]: any_Create_result1_upvr (readonly)
[2]: tbl_upvr_2 (readonly)
[3]: arg1 (readonly)
[4]: release_upvr (readonly)
]]
any_Create_result1_upvr:Pause()
tbl_upvr_2.composure.pressed = true
if arg1._model.Overlay.Composure.Size.X <= 10 then
tbl_upvr_2.composure.composed = true
else
tbl_upvr_2.composure.composed = false
end
release_upvr()
end)
end
any_new_result1_upvr._renderStepped = _G._services.RunService.RenderStepped:Connect(function() -- Line 426
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: tbl_upvr_3 (readonly)
[3]: var18_upvr (readonly)
]]
if arg1._model.Overlay.Composure.Size.X <= 10 then
tbl_upvr_3._composure.Main.BackgroundColor3 = Color3.new(0, 255, 0)
tbl_upvr_3._composure.Main.UIStroke.Color = Color3.new(0, 255, 0)
else
tbl_upvr_3._composure.Main.BackgroundColor3 = Color3.new(255, 0, 0)
tbl_upvr_3._composure.Main.UIStroke.Color = Color3.new(255, 0, 0)
end
arg1._character.Humanoid.AutoRotate = false
if var18_upvr == 'R' then
arg1._character:SetPrimaryPartCFrame(arg1._model.Right.CFrame)
else
arg1._character:SetPrimaryPartCFrame(arg1._model.Left.CFrame)
end
end)
local CFrame_upvr = arg1._model.Overlay.Aim.CFrame
task.spawn(function() -- Line 443
--[[ Upvalues[3]:
[1]: tbl_upvr_2 (readonly)
[2]: arg1 (readonly)
[3]: CFrame_upvr (readonly)
]]
while true do
if tbl_upvr_2.directions.up and tbl_upvr_2.y + tbl_upvr_2.increaseRate <= tbl_upvr_2.limits.y.up then
local var75 = tbl_upvr_2
var75.y += tbl_upvr_2.increaseRate
end
if tbl_upvr_2.directions.down and tbl_upvr_2.limits.y.down <= tbl_upvr_2.y - tbl_upvr_2.increaseRate then
local var76 = tbl_upvr_2
var76.y -= tbl_upvr_2.increaseRate
end
if tbl_upvr_2.directions.right and tbl_upvr_2.x + tbl_upvr_2.increaseRate <= tbl_upvr_2.limits.x.right then
local var77 = tbl_upvr_2
var77.x += tbl_upvr_2.increaseRate
end
if tbl_upvr_2.directions.left and tbl_upvr_2.limits.x.left <= tbl_upvr_2.x - tbl_upvr_2.increaseRate then
local var78 = tbl_upvr_2
var78.x -= tbl_upvr_2.increaseRate
end
_G._services.TweenService:Create(arg1._model.Overlay.Aim, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
CFrame = CFrame_upvr * CFrame.new(-tbl_upvr_2.x * 5, tbl_upvr_2.y * 5, 0);
}):Play()
task.wait(0.05)
end
end)
end
function module_2_upvr.clear(arg1) -- Line 476
workspace.CurrentCamera.CameraType = Enum.CameraType.Custom
workspace.CurrentCamera.FieldOfView = tonumber(_G._references.Profile.settings.Visual["Field of View"].Value)
if arg1._player.PlayerGui:FindFirstChild("UI") then
arg1._player.PlayerGui.UI.Enabled = true
end
if _G._services.UserInputService.TouchEnabled then
arg1._player.PlayerGui.main.mobile.Visible = true
elseif _G._services.UserInputService.GamepadEnabled then
arg1._player.PlayerGui.main.gamepad.Visible = true
elseif not _G._services.UserInputService.TouchEnabled and not _G._services.UserInputService.GamepadEnabled then
arg1._player.PlayerGui.main.backpack.Visible = true
end
arg1._maid:DoCleaning()
arg1._root:SetAttribute("globalOverride", false)
end
return module_2_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:56:55
-- Luau version 6, Types version 3
-- Time taken: 0.001005 seconds
local module_upvr = {
_client = require(script:WaitForChild("client", 100));
_server = require(script:WaitForChild("server", 100));
}
function module_upvr.new(...) -- Line 5
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if _G._services.RunService:IsClient() then
module_upvr._client.new(...):init()
else
module_upvr._server.new(...):init()
end
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:56:57
-- Luau version 6, Types version 3
-- Time taken: 0.010765 seconds
local module_2_upvr = {}
module_2_upvr.__index = module_2_upvr
function module_2_upvr.new(arg1, arg2, arg3) -- Line 4
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
assert(arg1, "ThrowIn.server | dataModel 'player' expected, got "..typeof(arg1))
if not arg3 then return end
local Character = arg1.Character
if not Character then
Character = arg1.CharacterAdded:Wait()
end
local clone = _G._references.Main["set pieces"]["Throw In"]:Clone()
clone.Parent = workspace.game.debug
clone.Name = arg1.Name
clone:SetPrimaryPartCFrame(CFrame.new(arg3) * CFrame.Angles(arg2.CFrame:ToOrientation()))
local module = {}
module._player = arg1
module._character = Character
module._model = clone
module._maid = _G._engine:load("Maid").new()
module._touch = {}
return setmetatable(module, module_2_upvr)
end
function module_2_upvr.init(arg1) -- Line 26
assert(arg1._model, "ThrowIn.server [init] | call .new() before running :init()!")
assert(arg1._character.PrimaryPart, string.format("ThrowIn.server [init] | could not find PrimaryPart [%s]", tostring(arg1._player.UserId)))
local BoolValue_2 = Instance.new("BoolValue")
BoolValue_2.Name = script.Parent.Parent.Name
BoolValue_2.Value = true
BoolValue_2.Parent = _G._references.Main.config["Set Pieces"]
arg1._maid:GiveTask(BoolValue_2)
arg1:initConnections()
local BoolValue_4 = Instance.new("BoolValue", arg1._player)
BoolValue_4.Name = "Teleport"
BoolValue_4.Value = true
_G._services.Debris:AddItem(BoolValue_4, 3)
arg1._character.Archivable = false
arg1._character:SetPrimaryPartCFrame(arg1._model.Primary.CFrame)
if _G._references.Main.config.AutoRall.Value then
for _, v in next, workspace.game.balls.spawns:GetChildren() do
if v then
v:Destroy()
end
end
end
_G._references.BindableEvent:Fire("clearSpace")
local CFrameValue = Instance.new("CFrameValue")
CFrameValue.Name = "RF"
CFrameValue.Value = arg1._model.Primary.CFrame * CFrame.new(0, 0, -2.5)
CFrameValue.Parent = workspace.game.balls.spawns
local IntValue = Instance.new("IntValue")
IntValue.Name = "possessor"
IntValue.Value = arg1._player.UserId
IntValue.Parent = CFrameValue
for _, v_2 in next, _G._references.Main.config.Override:GetChildren() do
if v_2 and v_2.Name == "Break" then
v_2:Destroy()
end
end
arg1._character.Humanoid.AutoRotate = false
_G._references.RemoteEvent:FireClient(arg1._player, "shiftLock", false)
_G._references.RemoteEvent:FireClient(arg1._player, "forceDisable", true)
_G._references.RemoteEvent:FireClient(arg1._player, "throwIn", arg1._model, CFrameValue)
end
function module_2_upvr.initConnections(arg1) -- Line 87
local BindableEvent_upvr = Instance.new("BindableEvent", arg1._model)
BindableEvent_upvr.Name = "Cancel"
local RemoteEvent = Instance.new("RemoteEvent", arg1._model)
RemoteEvent.Name = "Clear"
local BoolValue_3 = Instance.new("BoolValue")
BoolValue_3.Name = "Throw In"
BoolValue_3.Value = true
BoolValue_3.Parent = _G._references.Main.config.Delay
_G._references.RemoteEvent:FireAllClients("registerTeleporter", arg1._player, arg1._model, "default")
arg1._maid:GiveTask(BoolValue_3)
arg1._maid._onBindableEvent = BindableEvent_upvr.Event:Connect(function() -- Line 102
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:clear()
end)
arg1._maid._onClearRemoteEvent = RemoteEvent.OnServerEvent:Connect(function(arg1_2) -- Line 106
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_2 == arg1._player then
if arg1._animation then
while arg1._animation do
task.wait()
end
end
arg1:clear()
end
end)
arg1._maid._onRespawn = arg1._player.CharacterAdded:Connect(function() -- Line 118
--[[ Upvalues[1]:
[1]: BindableEvent_upvr (readonly)
]]
BindableEvent_upvr:Fire()
end)
arg1._maid._onLeave = _G._services.Players.PlayerRemoving:Connect(function(arg1_3) -- Line 122
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: BindableEvent_upvr (readonly)
]]
if arg1_3 == arg1._player then
BindableEvent_upvr:Fire()
end
end)
local function onTouch(arg1_4) -- Line 128
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_4 and arg1_4.Parent and arg1_4.Parent:FindFirstChildWhichIsA("Humanoid") and not arg1_4:FindFirstAncestor("manager") and not arg1_4:FindFirstAncestor("referee") and arg1_4.Parent ~= arg1._character and not arg1._touch[arg1_4.Parent.Name] then
arg1._touch[arg1_4.Parent.Name] = true
if _G._services.Players:GetPlayerFromCharacter(arg1_4.Parent) then
local BoolValue = Instance.new("BoolValue", _G._services.Players:GetPlayerFromCharacter(arg1_4.Parent))
BoolValue.Name = "Teleport"
BoolValue.Value = true
_G._services.Debris:AddItem(BoolValue, 3)
end
arg1_4.Parent:SetPrimaryPartCFrame(arg1._model.Teleport.CFrame)
task.delay(0.5, function() -- Line 141
--[[ Upvalues[2]:
[1]: arg1 (copied, readonly)
[2]: arg1_4 (readonly)
]]
arg1._touch[arg1_4.Parent.Name] = false
end)
end
end
for _, v_3 in next, arg1._model.Area:GetChildren() do
if v_3 and v_3:IsA("BasePart") then
local any_GenerateGUID_result1 = _G._services.HttpService:GenerateGUID(false)
arg1._maid[any_GenerateGUID_result1.."_onTouched"] = v_3.Touched:Connect(onTouch)
arg1._maid[any_GenerateGUID_result1.."_onTouchEnded"] = v_3.TouchEnded:Connect(onTouch)
end
end
arg1._maid._areaTouched = workspace.game.regions.under.Touched:Connect(onTouch)
arg1._maid._areaTouchEnded = workspace.game.regions.under.TouchEnded:Connect(onTouch)
arg1._maid:GiveTask(arg1._model)
arg1._maid:GiveTask(BindableEvent_upvr)
arg1._maid:GiveTask(RemoteEvent)
end
function module_2_upvr.clear(arg1) -- Line 163
if arg1._player then
_G._references.RemoteEvent:FireClient(arg1._player, "bindMovement", "unfreeze")
_G._references.RemoteEvent:FireClient(arg1._player, "forceDisable", false)
_G._references.RemoteEvent:FireClient(arg1._player, "shiftLock", true)
_G._references.RemoteEvent:FireClient(arg1._player, "canSprint", true)
_G._references.RemoteEvent:FireClient(arg1._player, "globalOverride", false)
if arg1._player.Character then
arg1._player.Character:SetAttribute("moveTo", nil)
arg1._player.Character:SetAttribute("freezeMovement", nil)
end
end
_G._references.RemoteEvent:FireAllClients("clearTeleporter")
for _, v_4 in next, _G._references.Main.config.Override:GetChildren() do
if v_4 and v_4.Name == "DisableFouls" then
v_4:Destroy()
end
end
for _, v_5 in next, _G._references.Main.config.Override:GetChildren() do
if v_5 and v_5.Name == "RTP" then
v_5:Destroy()
end
end
_G._references.Main.config.TimerSpeed.Value = 5
arg1._maid:DoCleaning()
end
return module_2_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:56:58
-- Luau version 6, Types version 3
-- Time taken: 0.026243 seconds
local any_load_result1_upvr = _G._engine:load("Maid")
local module_2_upvr = {}
module_2_upvr.__index = module_2_upvr
function module_2_upvr.new(arg1, arg2) -- Line 7
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: module_2_upvr (readonly)
]]
assert(arg1, "ThrowIn.client | Model 'model' expected, got "..typeof(arg1))
assert(arg2, "ThrowIn.client | BasePart 'ball' expected, got "..typeof(arg2))
local LocalPlayer = _G._references.LocalPlayer
local Character = LocalPlayer.Character
if not Character then
Character = LocalPlayer.CharacterAdded:Wait()
end
local module = {}
module._ball = arg2
module._player = LocalPlayer
module._model = arg1
module._character = Character
module._root = _G._root
module._mouse = LocalPlayer:GetMouse()
module._maid = any_load_result1_upvr.new()
module._states = {
charging = false;
released = false;
}
return setmetatable(module, module_2_upvr)
end
function module_2_upvr.init(arg1) -- Line 29
--[[ Upvalues[1]:
[1]: any_load_result1_upvr (readonly)
]]
local tbl_4_upvr = {}
for _, v in next, arg1._model.Overlay:GetChildren() do
if v and v:FindFirstChildWhichIsA("BillboardGui") then
local class_BillboardGui = v:FindFirstChildWhichIsA("BillboardGui")
class_BillboardGui.Parent = arg1._player.PlayerGui:WaitForChild("billboardUI", 100)
class_BillboardGui.Adornee = v
tbl_4_upvr['_'..string.lower(v.Name)] = class_BillboardGui
end
end
if _G._services.UserInputService.TouchEnabled then
tbl_4_upvr._take.Enabled = true
_G._services.UserInputService.ModalEnabled = false
end
if arg1._player.PlayerGui:FindFirstChild("UI") then
arg1._player.PlayerGui.UI.Enabled = false
end
arg1._player.PlayerGui.main.mobile.Visible = false
arg1._player.PlayerGui.main.backpack.Visible = false
arg1._player.PlayerGui.main.gamepad.Visible = false
for _, v_2 in next, arg1._player.PlayerGui.main.mobile.contextTabContainer:GetChildren() do
if v_2 and v_2:IsA("Frame") then
v_2.Visible = false
end
end
local tbl_5_upvr = {
_throw = arg1._character.Humanoid.Animator:LoadAnimation(_G._references.Main.animations["Set Piece"]["Throw In"].Throw);
}
tbl_5_upvr._throw.Priority = Enum.AnimationPriority.Action4
arg1._model.Detector.CanCollide = false
arg1._character:SetPrimaryPartCFrame(arg1._model.Primary.CFrame)
arg1._maid._attributeChanged = arg1._root:GetAttributeChangedSignal("globalOverride"):Connect(function() -- Line 76
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if not arg1._root:GetAttribute("globalOverride") then
arg1._root:SetAttribute("globalOverride", true)
end
end)
arg1._maid._onDied = arg1._character.Humanoid.Died:Connect(function() -- Line 82
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:clear()
end)
local var22_upvw = false
if _G._services.UserInputService.TouchEnabled then
local Power = arg1._model.Overlay.Power
Power.CFrame *= CFrame.new(0, -2, 0)
end
workspace.CurrentCamera.FieldOfView = 70
workspace.CurrentCamera.CameraType = Enum.CameraType.Scriptable
workspace.CurrentCamera.CFrame = arg1._model.Camera.CFrame
arg1._maid._propertyChanged = workspace.CurrentCamera:GetPropertyChangedSignal("FieldOfView"):Connect(function() -- Line 98
--[[ Upvalues[1]:
[1]: var22_upvw (read and write)
]]
if not var22_upvw then
workspace.CurrentCamera.FieldOfView = 70
end
end)
local tbl_6_upvr = {
power = 30;
angle = 0;
minPower = 20;
maxPower = 65;
increaseRate = 1;
chargeTime = 1;
lastMousePosition = workspace.CurrentCamera:WorldToViewportPoint(arg1._mouse.Hit.Position);
limits = {
right = 9;
left = -9;
angle = 20;
};
angles = {
right = false;
left = false;
};
}
local any_new_result1_upvr = any_load_result1_upvr.new()
local any_Create_result1_upvr = _G._services.TweenService:Create(tbl_4_upvr._power.Main.Container.Power, TweenInfo.new(tbl_6_upvr.chargeTime, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut), {
Size = UDim2.new(1, 0, 1, 0);
})
local any_GetControls_result1 = require(arg1._player.PlayerScripts:WaitForChild("PlayerModule")):GetControls()
any_GetControls_result1:Disable()
arg1._controls = any_GetControls_result1
for _, v_3 in next, arg1._model.Overlay:GetChildren() do
if v_3 and v_3:IsA("BasePart") then
({})['_'..string.lower(v_3.Name)] = arg1._model.Camera.CFrame:ToObjectSpace(v_3.CFrame)
end
end
local ObjectValue = Instance.new("ObjectValue")
ObjectValue.Name = "catch"
ObjectValue.Value = arg1._ball
ObjectValue.Parent = arg1._player
local AlignOrientation_upvr = Instance.new("AlignOrientation")
AlignOrientation_upvr.Mode = Enum.OrientationAlignmentMode.OneAttachment
AlignOrientation_upvr.Attachment0 = arg1._character.PrimaryPart:FindFirstChild("RootRigAttachment")
AlignOrientation_upvr.MaxTorque = math.huge
AlignOrientation_upvr.Responsiveness = 200
AlignOrientation_upvr.Enabled = true
AlignOrientation_upvr.RigidityEnabled = true
AlignOrientation_upvr.ReactionTorqueEnabled = false
AlignOrientation_upvr.Parent = arg1._character.PrimaryPart:FindFirstChild("RootRigAttachment")
AlignOrientation_upvr.CFrame = arg1._model.Primary.CFrame
local NumberValue_upvr = Instance.new("NumberValue")
NumberValue_upvr.Name = "Angle"
NumberValue_upvr.Parent = arg1._model
any_new_result1_upvr:GiveTask(NumberValue_upvr)
any_new_result1_upvr:GiveTask(AlignOrientation_upvr)
arg1._character.Humanoid:SetAttribute("moveTo", true)
arg1._character.Humanoid:UnequipTools()
local function release_upvr() -- Line 173, Named "release"
--[[ Upvalues[7]:
[1]: var22_upvw (read and write)
[2]: arg1 (readonly)
[3]: any_new_result1_upvr (readonly)
[4]: any_Create_result1_upvr (readonly)
[5]: tbl_6_upvr (readonly)
[6]: tbl_4_upvr (readonly)
[7]: tbl_5_upvr (readonly)
]]
var22_upvw = true
arg1._states._charging = false
arg1._states._released = true
any_new_result1_upvr:DoCleaning()
any_Create_result1_upvr:Pause()
tbl_6_upvr.power = tbl_6_upvr.minPower + (tbl_6_upvr.maxPower - tbl_6_upvr.minPower) * tbl_4_upvr._power.Main.Container.Power.Size.X.Scale
tbl_5_upvr._throw:Play()
local BoolValue_2 = Instance.new("BoolValue")
BoolValue_2.Name = "stopAnimation"
BoolValue_2.Value = true
BoolValue_2.Parent = arg1._player
local _
for _, v_4 in next, {"_take"} do
_G._services.TweenService:Create(tbl_4_upvr[v_4], TweenInfo.new(0.7, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
Size = UDim2.new(0, 0, 0, tbl_4_upvr[v_4].Size.Y.Offset);
}):Play()
end
task.wait(0.4)
tbl_4_upvr._power.Enabled = false
local BoolValue = Instance.new("BoolValue")
BoolValue.Name = "dropBall"
BoolValue.Value = true
BoolValue.Parent = arg1._player
any_new_result1_upvr:DoCleaning()
for _, v_5 in next, arg1._ball:GetChildren() do
if v_5 and (v_5:IsA("BodyVelocity") or v_5:IsA("BodyAngularVelocity")) then
v_5:Destroy()
end
end
local BodyVelocity = Instance.new("BodyVelocity", arg1._ball)
BodyVelocity.Velocity = arg1._character.PrimaryPart.CFrame.LookVector * tbl_6_upvr.power + Vector3.new(0, (tbl_6_upvr.power - tbl_6_upvr.minPower) / (tbl_6_upvr.maxPower - tbl_6_upvr.minPower) * 25, 0)
BodyVelocity.MaxForce = Vector3.new(1, 1, 1) * math.huge
_G._services.Debris:AddItem(BodyVelocity, 0.3)
if 0.1 > tbl_5_upvr._throw.Length or not (tbl_5_upvr._throw.Length - 0.4) then
end
task.wait(0.4)
arg1._character.Humanoid.AutoRotate = true
arg1._model.Clear:FireServer()
arg1:clear()
end
task.delay(15, function() -- Line 224
--[[ Upvalues[6]:
[1]: arg1 (readonly)
[2]: tbl_4_upvr (readonly)
[3]: any_Create_result1_upvr (readonly)
[4]: any_new_result1_upvr (readonly)
[5]: tbl_6_upvr (readonly)
[6]: release_upvr (readonly)
]]
if not arg1._states._charging and not arg1._states._released and arg1._model and arg1._model.Parent then
arg1._states._charging = true
tbl_4_upvr._power.Enabled = true
any_Create_result1_upvr:Play()
any_new_result1_upvr:DoCleaning()
task.wait(tbl_6_upvr.chargeTime)
release_upvr()
end
end)
any_new_result1_upvr._inputBegan = _G._services.UserInputService.InputBegan:Connect(function(arg1_2, arg2) -- Line 236
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: tbl_6_upvr (readonly)
[3]: tbl_4_upvr (readonly)
[4]: any_Create_result1_upvr (readonly)
]]
if arg1_2.KeyCode == Enum.KeyCode.A then
arg1._character.Humanoid:MoveTo((arg1._model.Primary.CFrame * CFrame.new(tbl_6_upvr.limits.left, 0, 0)).Position)
else
if arg1_2.KeyCode == Enum.KeyCode.D then
arg1._character.Humanoid:MoveTo((arg1._model.Primary.CFrame * CFrame.new(tbl_6_upvr.limits.right, 0, 0)).Position)
return
end
if arg1_2.KeyCode == Enum.KeyCode.Space or arg1_2.KeyCode == Enum.KeyCode.ButtonA then
arg1._states._charging = true
tbl_4_upvr._power.Enabled = true
any_Create_result1_upvr:Play()
end
end
end)
any_new_result1_upvr._inputEnded = _G._services.UserInputService.InputEnded:Connect(function(arg1_3, arg2) -- Line 248
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: release_upvr (readonly)
]]
if arg1_3.KeyCode == Enum.KeyCode.A then
arg1._character.Humanoid:MoveTo(arg1._character.PrimaryPart.Position)
else
if arg1_3.KeyCode == Enum.KeyCode.D then
arg1._character.Humanoid:MoveTo(arg1._character.PrimaryPart.Position)
return
end
if arg1_3.KeyCode == Enum.KeyCode.Space or arg1_3.KeyCode == Enum.KeyCode.ButtonA then
release_upvr()
end
end
end)
local var57_upvw
any_new_result1_upvr._inputChanged = _G._services.UserInputService.InputChanged:Connect(function(arg1_4, arg2) -- Line 258
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: tbl_6_upvr (readonly)
[3]: var57_upvw (read and write)
[4]: NumberValue_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [91] 57. Error Block 9 start (CF ANALYSIS FAILED)
arg1._character.Humanoid:MoveTo(arg1._character.PrimaryPart.Position)
do
return
end
-- KONSTANTERROR: [91] 57. Error Block 9 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [107] 67. Error Block 30 start (CF ANALYSIS FAILED)
if arg1_4.KeyCode == Enum.KeyCode.Thumbstick2 then
if 0.7 <= arg1_4.Position.X and not tbl_6_upvr.angles.right then
var57_upvw = _G._services.TweenService:Create(NumberValue_upvr, TweenInfo.new(0.5, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut), {
Value = -(tbl_6_upvr.limits.angle * 3);
})
var57_upvw:Play()
tbl_6_upvr.angles.right = true
tbl_6_upvr.angles.left = false
elseif arg1_4.Position.X <= -0.7 and not tbl_6_upvr.angles.left then
var57_upvw = _G._services.TweenService:Create(NumberValue_upvr, TweenInfo.new(0.5, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut), {
Value = tbl_6_upvr.limits.angle * 3;
})
var57_upvw:Play()
tbl_6_upvr.angles.right = false
tbl_6_upvr.angles.left = true
end
if arg1_4.Position.X < 0.35 and -0.35 < arg1_4.Position.X then
tbl_6_upvr.angles.right = false
tbl_6_upvr.angles.left = false
if var57_upvw then
var57_upvw:Pause()
end
end
end
-- KONSTANTERROR: [107] 67. Error Block 30 end (CF ANALYSIS FAILED)
end)
if _G._services.UserInputService.TouchEnabled then
any_new_result1_upvr._mouseButton1Down = tbl_4_upvr._take.Main.Container.Bind.Button.MouseButton1Down:Connect(function() -- Line 293
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: tbl_4_upvr (readonly)
[3]: any_Create_result1_upvr (readonly)
]]
arg1._states.charging = true
tbl_4_upvr._power.Enabled = true
any_Create_result1_upvr:Play()
end)
any_new_result1_upvr._mouseButton1Up = tbl_4_upvr._take.Main.Container.Bind.Button.MouseButton1Up:Connect(function() -- Line 299
--[[ Upvalues[1]:
[1]: release_upvr (readonly)
]]
release_upvr()
end)
end
local tbl_2_upvr = {}
any_new_result1_upvr._updateCFrame = _G._services.RunService.RenderStepped:Connect(function(arg1_5) -- Line 304
--[[ Upvalues[6]:
[1]: arg1 (readonly)
[2]: tbl_2_upvr (readonly)
[3]: tbl_6_upvr (readonly)
[4]: tbl_4_upvr (readonly)
[5]: AlignOrientation_upvr (readonly)
[6]: NumberValue_upvr (readonly)
]]
arg1._model.Overlay.Take.CFrame = workspace.CurrentCamera.CFrame * tbl_2_upvr._take
arg1._model.Overlay.Power.CFrame = workspace.CurrentCamera.CFrame * tbl_2_upvr._power
arg1._character.Humanoid.AutoRotate = false
if not _G._services.UserInputService.GamepadEnabled and not arg1._states._charging then
local vector2_2 = Vector2.new(arg1._mouse.X, arg1._mouse.Y)
local vector2 = Vector2.new(workspace.CurrentCamera.ViewportSize.X / 2, workspace.CurrentCamera.ViewportSize.Y / 2)
local var68 = vector2_2 - vector2
local function INLINED() -- Internal function, doesn't exist in bytecode
local any_GetGuiObjectsAtPosition_result1 = _G._references.PlayerGui:GetGuiObjectsAtPosition(vector2_2.X, vector2_2.Y)
return table.find(any_GetGuiObjectsAtPosition_result1, tbl_4_upvr._take.Main)
end
if _G._services.UserInputService.TouchEnabled and (INLINED() or table.find(any_GetGuiObjectsAtPosition_result1, tbl_4_upvr._take.Main.Container.Bind)) then
else
AlignOrientation_upvr.CFrame = CFrame.lookAt(arg1._model.Primary.Position, Vector3.new((CFrame.new(arg1._character.PrimaryPart.Position) * CFrame.Angles(arg1._model.Primary.CFrame:ToOrientation()) * CFrame.new(0, 0, -2.5)).Position.X, arg1._character.PrimaryPart.Position.Y, math.clamp(arg1._mouse.Hit.Position.Z, arg1._model.Primary.Position.Z - tbl_6_upvr.limits.angle, arg1._model.Primary.Position.Z + tbl_6_upvr.limits.angle)))
_G._services.TweenService:Create(workspace.CurrentCamera, TweenInfo.new(arg1_5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
CFrame = arg1._model.Camera.CFrame * CFrame.Angles(0, -Vector2.new(var68.Y / vector2.Y * 0.5235987755982988, var68.X / vector2.X * 0.5235987755982988).Y / 5, 0):Lerp(CFrame.lookAt(arg1._model.Camera.Position, arg1._character.PrimaryPart.Position), 0.3);
}):Play()
end
end
if _G._services.UserInputService.GamepadEnabled and not arg1._states._charging then
AlignOrientation_upvr.CFrame = arg1._model.Primary.CFrame * CFrame.Angles(0, math.rad(NumberValue_upvr.Value), 0)
_G._services.TweenService:Create(workspace.CurrentCamera, TweenInfo.new(arg1_5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
CFrame = arg1._model.Camera.CFrame:Lerp(CFrame.lookAt(arg1._model.Camera.Position, arg1._character.PrimaryPart.Position), 0.3);
}):Play()
end
end)
end
function module_2_upvr.clear(arg1) -- Line 334
-- KONSTANTERROR: [0] 1. Error Block 22 start (CF ANALYSIS FAILED)
workspace.CurrentCamera.CameraType = Enum.CameraType.Custom
workspace.CurrentCamera.FieldOfView = tonumber(_G._references.Profile.settings.Visual["Field of View"].Value)
if arg1._player.PlayerGui:FindFirstChild("UI") then
arg1._player.PlayerGui.UI.Enabled = true
end
if arg1._controls then
arg1._controls:Enable()
end
if _G._services.UserInputService.TouchEnabled then
_G._services.UserInputService.ModalEnabled = true
arg1._player.PlayerGui.main.mobile.Visible = true
-- KONSTANTWARNING: GOTO [138] #79
end
-- KONSTANTERROR: [0] 1. Error Block 22 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [88] 51. Error Block 18 start (CF ANALYSIS FAILED)
if _G._services.UserInputService.GamepadEnabled then
arg1._player.PlayerGui.main.gamepad.Visible = true
elseif not _G._services.UserInputService.TouchEnabled and not _G._services.UserInputService.GamepadEnabled then
arg1._player.PlayerGui.main.backpack.Visible = true
end
-- KONSTANTERROR: [88] 51. Error Block 18 end (CF ANALYSIS FAILED)
end
return module_2_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:57:00
-- Luau version 6, Types version 3
-- Time taken: 0.001229 seconds
local module = {}
module.__index = module
function module.new(...) -- Line 4
if _G._services.RunService:IsClient() then
local any_new_result1_2 = require(script.client).new(...)
any_new_result1_2:init()
return any_new_result1_2
end
local any_new_result1 = require(script.server).new(...)
any_new_result1:init()
return any_new_result1
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:57:01
-- Luau version 6, Types version 3
-- Time taken: 0.004264 seconds
local take_2_upvr = _G._references.PlayerGui.main.framework:WaitForChild("take", 100)
local any_CreateGroup_result1_upvr = _G._engine:load("BulkFade", "utils").CreateGroup(take_2_upvr:GetDescendants(), TweenInfo.new(0.4, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut))
any_CreateGroup_result1_upvr:FadeOut()
local module_2_upvr = {}
module_2_upvr.__index = module_2_upvr
function module_2_upvr.new(arg1) -- Line 13
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
assert(arg1, string.format("Take.client [new] | instance 'folder' expected, got %s", typeof(arg1)))
local module = {
_key = arg1.Name;
}
module._folder = arg1
module._maid = _G._engine:load("Maid").new()
return setmetatable(module, module_2_upvr)
end
local Profile_upvr = _G._references.Profile
function module_2_upvr.init(arg1) -- Line 23
--[[ Upvalues[3]:
[1]: take_2_upvr (readonly)
[2]: Profile_upvr (readonly)
[3]: any_CreateGroup_result1_upvr (readonly)
]]
assert(arg1._folder, "Take.client [init] | call .new() before running :init()!")
take_2_upvr.Position = UDim2.new(0.5, 0, 0.7, 30)
take_2_upvr.Visible = true
take_2_upvr.main.bind.Visible = true
take_2_upvr.main.label.Text = string.format("TAKE %s", string.upper(arg1._folder:GetAttribute("setPiece")))
take_2_upvr.main.bind.label.Text = string.upper(Profile_upvr.binds.Misc["Take Set Piece"].Value)
take_2_upvr:TweenPosition(UDim2.new(0.5, 0, 0.7, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.25, true)
if _G._services.UserInputService.TouchEnabled then
take_2_upvr.main.bind.Visible = false
elseif _G._services.UserInputService.GamepadEnabled then
take_2_upvr.main.bind.label.Text = 'A'
end
any_CreateGroup_result1_upvr:FadeIn()
arg1._maid._inputBegan = _G._services.UserInputService.InputBegan:Connect(function(arg1_2, arg2) -- Line 41
--[[ Upvalues[2]:
[1]: Profile_upvr (copied, readonly)
[2]: arg1 (readonly)
]]
local var7
if var7 == "unknown" then
var7 = string.lower(arg1_2.UserInputType.Name)
end
if not arg2 and var7 == string.lower(Profile_upvr.binds.Misc["Take Set Piece"].Value) then
arg1:take()
elseif var7 == "buttona" then
arg1:take()
end
end)
arg1._maid._mouseButton1Click = take_2_upvr.button.MouseButton1Click:Connect(function() -- Line 55
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:take()
end)
end
function module_2_upvr.take(arg1) -- Line 60
assert(arg1._folder, "Take.client [take] | call .new() before running :take()!")
_G._references.Main.sounds.UI.Click:Play()
arg1._folder.take:FireServer()
arg1:clear()
end
function module_2_upvr.clear(arg1) -- Line 68
--[[ Upvalues[2]:
[1]: any_CreateGroup_result1_upvr (readonly)
[2]: take_2_upvr (readonly)
]]
assert(arg1._maid, "Take.client [clear] | call .new() before running :clear()!")
any_CreateGroup_result1_upvr:FadeOut()
take_2_upvr:TweenPosition(UDim2.new(0.5, 0, 0.7, 30), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.25, true)
arg1._maid:DoCleaning()
task.delay(0.25, function() -- Line 75
--[[ Upvalues[1]:
[1]: take_2_upvr (copied, readonly)
]]
take_2_upvr.Visible = false
end)
end
return module_2_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:57:03
-- Luau version 6, Types version 3
-- Time taken: 0.005595 seconds
local module_upvr = {}
module_upvr.__index = module_upvr
function module_upvr.new(arg1, arg2) -- Line 4
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
local var6
if typeof(arg1) ~= "table" then
var6 = false
else
var6 = true
end
assert(var6, string.format("Take.server [new] | table 'teams' expected, got %s", typeof(arg1)))
var6 = _G._services
local any_GenerateGUID_result1 = var6.HttpService:GenerateGUID(false)
var6 = _G._engine:load("Maid").new()
local Folder = Instance.new("Folder", script)
Folder.Name = any_GenerateGUID_result1
Folder:SetAttribute("setPiece", arg2 or "Set Piece")
local RemoteEvent = Instance.new("RemoteEvent", Folder)
RemoteEvent.Name = "take"
var6:GiveTask(Folder)
for _, v in next, _G._services.Players:GetPlayers() do
if v and v.TeamColor and table.find(arg1, v.TeamColor) then
_G._references.RemoteEvent:FireClient(v, "takePrompt", Folder)
end
end
local module = {}
module._teams = arg1
module._folder = Folder
module._event = RemoteEvent
module._maid = var6
module._key = any_GenerateGUID_result1
return setmetatable(module, module_upvr)
end
function module_upvr.init(arg1) -- Line 34
assert(arg1._folder, "Take.server [init] | call .new() before running :init()!")
arg1._maid.onServerEvent = arg1._event.OnServerEvent:Connect(function(arg1_2) -- Line 37
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_2 and arg1_2.TeamColor and table.find(arg1._teams, arg1_2.TeamColor) and not script:GetAttribute("taker") then
arg1._folder:SetAttribute("taker", arg1_2.UserId)
_G._references.RemoteEvent:FireAllClients("takeClear", arg1._key)
end
end)
end
function module_upvr.getTaker(arg1) -- Line 45
assert(arg1._folder, "Take.server [getTaker] | call .new() before running :getTaker()!")
if arg1._folder:GetAttribute("taker") then
for _, v_2 in next, _G._services.Players:GetPlayers() do
if v_2 and v_2.UserId == arg1._folder:GetAttribute("taker") then
return v_2
end
end
end
end
function module_upvr.clear(arg1) -- Line 59
assert(arg1._maid, "Take.server [clear] | call .new() before running :clear()!")
for _, v_3 in next, _G._services.Players:GetPlayers() do
if v_3 and v_3.TeamColor and table.find(arg1._teams, v_3.TeamColor) then
_G._references.RemoteEvent:FireClient(v_3, "takeClear", arg1._key)
end
end
arg1._maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:57:05
-- Luau version 6, Types version 3
-- Time taken: 0.002059 seconds
local module = {}
module.__index = module
local _services_upvr = _G._services
local _references_upvr = _G._references
function module.new(arg1) -- Line 8
--[[ Upvalues[2]:
[1]: _services_upvr (readonly)
[2]: _references_upvr (readonly)
]]
local BindableEvent_upvr = Instance.new("BindableEvent")
local BindableEvent_upvr_2 = Instance.new("BindableEvent")
local var7_upvw = false
_services_upvr.UserInputService.InputChanged:Connect(function(arg1_2, arg2) -- Line 13
--[[ Upvalues[6]:
[1]: _services_upvr (copied, readonly)
[2]: _references_upvr (copied, readonly)
[3]: arg1 (readonly)
[4]: var7_upvw (read and write)
[5]: BindableEvent_upvr (readonly)
[6]: BindableEvent_upvr_2 (readonly)
]]
if arg1_2.UserInputType == Enum.UserInputType.MouseMovement then
local any_GetMouseLocation_result1 = _services_upvr.UserInputService:GetMouseLocation()
local any_GetGuiObjectsAtPosition_result1 = _references_upvr.PlayerGui:GetGuiObjectsAtPosition(any_GetMouseLocation_result1.X, any_GetMouseLocation_result1.Y)
if any_GetGuiObjectsAtPosition_result1 and table.find(any_GetGuiObjectsAtPosition_result1, arg1) and not var7_upvw then
var7_upvw = true
BindableEvent_upvr:Fire()
return
end
if not any_GetGuiObjectsAtPosition_result1 or any_GetGuiObjectsAtPosition_result1 and not table.find(any_GetGuiObjectsAtPosition_result1, arg1) and var7_upvw then
var7_upvw = false
BindableEvent_upvr_2:Fire()
end
end
end)
return BindableEvent_upvr.Event, BindableEvent_upvr_2.Event
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:57:06
-- Luau version 6, Types version 3
-- Time taken: 0.024597 seconds
local ipairs_upvr = ipairs
local module = {}
local tbl_upvr = {
Decal = true;
Texture = true;
SpecialMesh = true;
BlockMesh = true;
SurfaceAppearance = true;
}
local any_load_result1_upvr = _G._engine:load("Balls")
local function CleanClone_upvr(arg1) -- Line 152, Named "CleanClone"
--[[ Upvalues[3]:
[1]: ipairs_upvr (readonly)
[2]: tbl_upvr (readonly)
[3]: any_load_result1_upvr (readonly)
]]
local clone = arg1:Clone()
for i, v in ipairs_upvr(clone:GetChildren()) do
if not tbl_upvr[v.ClassName] then
v:Destroy()
end
end
if any_load_result1_upvr.IsBall(arg1) then
i = _G
v = _G._references.Main.config
i = v.Ball
if i._references.Main.balls:FindFirstChild(i.Value) then
clone.Transparency = 1
local ObjectValue = Instance.new("ObjectValue", clone)
ObjectValue.Name = "Reference"
ObjectValue.Value = arg1
end
end
clone.Anchored = true
clone.CanCollide = false
clone.CanQuery = false
clone.CanTouch = false
return clone
end
local RenderStepped_upvr = game:GetService("RunService").RenderStepped
local pairs_upvr = pairs
function module.new(arg1) -- Line 176
--[[ Upvalues[4]:
[1]: ipairs_upvr (readonly)
[2]: CleanClone_upvr (readonly)
[3]: RenderStepped_upvr (readonly)
[4]: pairs_upvr (readonly)
]]
local var21 = arg1
if not var21 then
var21 = {}
end
local var22 = var21
local BindableEvent_upvr = Instance.new("BindableEvent")
local BindableEvent_upvr_3 = Instance.new("BindableEvent")
local BindableEvent_upvr_2 = Instance.new("BindableEvent")
local module_upvw = {
Playing = false;
Recording = false;
Recorded = false;
Registers = {};
StaticRegisters = {};
CloneIndex = {};
RegisteredObjects = {};
Frames = {};
FrameTimes = {};
FrameCount = 0;
MaxFrameCount = var22.MaxFrameCount or 20000;
PlaybackSpeed = 1;
RecordingTime = 0;
LastSnapshotTick = 0;
FPSDelay = 1 / (var22.FPS or 20);
VPF = Instance.new("Folder");
RecordConnection = nil;
PlayConnection = nil;
RecordingStarted = BindableEvent_upvr_3.Event;
RecordingStopped = BindableEvent_upvr.Event;
FrameChanged = BindableEvent_upvr_2.Event;
}
module_upvw.VPF.Name = "replay"
module_upvw.VPF.Parent = workspace
function module_upvw.Register(arg1_2, arg2, arg3) -- Line 228
--[[ Upvalues[3]:
[1]: module_upvw (read and write)
[2]: ipairs_upvr (copied, readonly)
[3]: CleanClone_upvr (copied, readonly)
]]
task.spawn(function() -- Line 229
--[[ Upvalues[5]:
[1]: module_upvw (copied, read and write)
[2]: arg2 (readonly)
[3]: ipairs_upvr (copied, readonly)
[4]: CleanClone_upvr (copied, readonly)
[5]: arg3 (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [4] 4. Error Block 2 start (CF ANALYSIS FAILED)
warn(string.format("Cannot register new objects while recording is in progress [%s]", arg2.Name))
do
return
end
-- KONSTANTERROR: [4] 4. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [15] 12. Error Block 3 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [15] 12. Error Block 3 end (CF ANALYSIS FAILED)
end)
end
function module_upvw.StartRecording(arg1_3, arg2) -- Line 435
--[[ Upvalues[4]:
[1]: module_upvw (read and write)
[2]: BindableEvent_upvr_3 (readonly)
[3]: RenderStepped_upvr (copied, readonly)
[4]: ipairs_upvr (copied, readonly)
]]
if module_upvw.Recorded then
warn("Cannot start recording until previous recording is cleared")
else
if module_upvw.Recording then
warn("Cannot start recording since recording is already in progress")
return
end
BindableEvent_upvr_3:Fire()
module_upvw.Recording = true
local var29_upvw = arg2 or 30
local var30_upvw = false
module_upvw.RecordConnection = RenderStepped_upvr:Connect(function(arg1_4) -- Line 457
--[[ Upvalues[4]:
[1]: module_upvw (copied, read and write)
[2]: var29_upvw (read and write)
[3]: var30_upvw (read and write)
[4]: ipairs_upvr (copied, readonly)
]]
if var29_upvw < module_upvw.RecordingTime + arg1_4 then
module_upvw:StopRecording()
else
local var43 = tick() - module_upvw.LastSnapshotTick
module_upvw.RecordingTime += arg1_4
if module_upvw.FPSDelay <= var43 then
if module_upvw.MaxFrameCount <= module_upvw.FrameCount then
if not var30_upvw then
module_upvw.FrameTimes[module_upvw.FrameCount] = module_upvw.RecordingTime
var30_upvw = true
else
module_upvw.RecordingTime = module_upvw.FrameTimes[module_upvw.FrameCount]
end
module_upvw.FrameCount = module_upvw.MaxFrameCount
for i_5, v_5 in next, module_upvw.Frames do
if i_5 and module_upvw.Frames[i_5 - 1] then
local Time = module_upvw.Frames[i_5 - 1].Time
for i_6, v_6 in next, v_5 do
({})[i_6] = v_6
local var46
end
var46.Time = Time
var46.ID = i_5 - 1
var46.FrameLength = module_upvw.Frames[i_5 - 1].FrameLength
module_upvw.Frames[i_5 - 1] = var46
module_upvw.FrameTimes[i_5 - 1] = Time
end
end
else
i_5 = module_upvw
module_upvw.FrameCount = i_5.FrameCount + 1
i_5 = module_upvw
module_upvw.FrameTimes[module_upvw.FrameCount] = i_5.RecordingTime
end
module_upvw.LastSnapshotTick = tick()
local tbl = {}
for _, v_7 in ipairs_upvr(module_upvw.Registers) do
local Mirror = v_7.Mirror
local Original = v_7.Original
if Original and Original:IsDescendantOf(game) and Mirror and Mirror:IsDescendantOf(game) then
tbl[v_7.Mirror] = {
CFrame = Original.CFrame;
Color = Original.Color;
Transparency = Original.Transparency;
}
else
tbl[v_7.Mirror] = {
Destroyed = true;
}
end
end
if module_upvw.Frames[module_upvw.FrameCount - 1] then
module_upvw.Frames[module_upvw.FrameCount - 1].FrameLength = var43
end
if not var30_upvw then
module_upvw.Frames[module_upvw.FrameCount] = {
ID = module_upvw.FrameCount;
Time = module_upvw.RecordingTime;
CameraCF = workspace.CurrentCamera.CFrame;
ObjectData = tbl;
}
return
end
module_upvw.Frames[module_upvw.FrameCount] = {
ID = module_upvw.FrameCount;
Time = module_upvw.FrameTimes[module_upvw.FrameCount];
CameraCF = workspace.CurrentCamera.CFrame;
ObjectData = tbl;
}
end
end
end)
end
end
function module_upvw.StopRecording(arg1_5) -- Line 549
--[[ Upvalues[2]:
[1]: module_upvw (read and write)
[2]: BindableEvent_upvr (readonly)
]]
if module_upvw.Recorded then
warn("Cannot stop recording since it has already stopped")
else
if not module_upvw.Recording then
warn("Cannot stop recording since no recording is in progress")
return
end
module_upvw.RecordConnection:Disconnect()
module_upvw.Recording = false
module_upvw.Recorded = true
BindableEvent_upvr:Fire()
end
end
function module_upvw.ClearRecording(arg1_6) -- Line 572
--[[ Upvalues[1]:
[1]: module_upvw (read and write)
]]
if not module_upvw.Recorded then
warn("Cannot clear nonexistent recording")
else
if module_upvw.RecordConnection then
module_upvw.RecordConnection:Disconnect()
end
if module_upvw.PlayConnection then
module_upvw.PlayConnection:Disconnect()
end
module_upvw.FrameCount = 0
module_upvw.Frames = {}
module_upvw.FrameTimes = {}
module_upvw.RecordingTime = 0
module_upvw.Recorded = false
module_upvw.Recording = false
module_upvw.Playing = false
end
end
function module_upvw.ResetRecording(arg1_7) -- Line 597
--[[ Upvalues[1]:
[1]: module_upvw (read and write)
]]
if not module_upvw.Recorded then
warn("Cannot clear nonexistent recording")
else
if module_upvw.RecordConnection then
module_upvw.RecordConnection:Disconnect()
end
if module_upvw.PlayConnection then
module_upvw.PlayConnection:Disconnect()
end
module_upvw.FrameCount = 0
module_upvw.Frames = {}
module_upvw.FrameTimes = {}
module_upvw.RecordingTime = 0
module_upvw.Recorded = false
module_upvw.Recording = false
module_upvw.Playing = false
for _, v_3 in next, module_upvw.Registers do
if v_3 and v_3.Mirror and v_3.Mirror:IsA("BasePart") and v_3.Mirror:IsDescendantOf(game) then
local Mirror_2 = v_3.Mirror
Mirror_2.CFrame += Vector3.new(150, -200, 0)
elseif v_3 and v_3.Mirror and v_3.Mirror:IsA("Model") and v_3.Mirror:IsDescendantOf(game) and v_3.Mirror.PrimaryPart then
v_3.Mirror:SetPrimaryPartCFrame(v_3.Mirror.PrimaryPart.CFrame + Vector3.new(150, -200, 0))
end
end
end
end
function module_upvw.Destroy(arg1_8) -- Line 629
--[[ Upvalues[5]:
[1]: BindableEvent_upvr (readonly)
[2]: BindableEvent_upvr_3 (readonly)
[3]: BindableEvent_upvr_2 (readonly)
[4]: module_upvw (read and write)
[5]: pairs_upvr (copied, readonly)
]]
BindableEvent_upvr:Destroy()
BindableEvent_upvr_3:Destroy()
BindableEvent_upvr_2:Destroy()
module_upvw.VPF:Destroy()
if module_upvw.RecordConnection then
module_upvw.RecordConnection:Disconnect()
end
if module_upvw.PlayConnection then
module_upvw.PlayConnection:Disconnect()
end
for _, v_2 in pairs_upvr(module_upvw.CloneIndex) do
v_2:Destroy()
end
module_upvw = nil
end
local function FindFrame_upvr(arg1_9, arg2) -- Line 650, Named "FindFrame"
--[[ Upvalues[2]:
[1]: module_upvw (read and write)
[2]: FindFrame_upvr (readonly)
]]
if not arg1_9 then return end
local var65 = arg2 or 0
local var66 = var65 - (arg1_9.Time or 0)
if (var66 or 0) <= (arg1_9.FrameLength or 0) then
return module_upvw:GoToFrame(arg1_9.ID + var66 / (arg1_9.FrameLength or 0))
end
return FindFrame_upvr(module_upvw.Frames[arg1_9.ID + 1], var65)
end
function module_upvw.Play(arg1_10, arg2, arg3, arg4) -- Line 664
--[[ Upvalues[3]:
[1]: module_upvw (read and write)
[2]: RenderStepped_upvr (copied, readonly)
[3]: FindFrame_upvr (readonly)
]]
if not module_upvw.Recorded then
warn("Cannot play nonexistent recording")
else
if module_upvw.Playing and not arg4 then
warn("Cannot play recording since playback is already in progress")
return
end
if module_upvw.PlayConnection then
module_upvw.PlayConnection:Disconnect()
end
module_upvw.PlaybackSpeed = math.clamp(arg2 or 1, 0.02, 999)
module_upvw.Playing = true
local clamped_upvw = math.clamp(arg3 or 0, 0, module_upvw.RecordingTime)
local any_GoToTime_result1_upvw = module_upvw:GoToTime(clamped_upvw)
module_upvw.PlayConnection = RenderStepped_upvr:Connect(function(arg1_11) -- Line 686
--[[ Upvalues[4]:
[1]: clamped_upvw (read and write)
[2]: module_upvw (copied, read and write)
[3]: any_GoToTime_result1_upvw (read and write)
[4]: FindFrame_upvr (copied, readonly)
]]
clamped_upvw += arg1_11 * module_upvw.PlaybackSpeed
any_GoToTime_result1_upvw = FindFrame_upvr(any_GoToTime_result1_upvw, clamped_upvw)
if module_upvw.RecordingTime < clamped_upvw or not any_GoToTime_result1_upvw then
module_upvw:Stop()
return
end
end)
end
end
function module_upvw.Stop(arg1_12) -- Line 697
--[[ Upvalues[1]:
[1]: module_upvw (read and write)
]]
if not module_upvw.Playing then
warn("Cannot stop playback since playback isn't in progress")
else
module_upvw.Playing = false
module_upvw.PlayConnection:Disconnect()
end
end
function module_upvw.GoToPercent(arg1_13, arg2) -- Line 707
--[[ Upvalues[1]:
[1]: module_upvw (read and write)
]]
if not module_upvw.Recorded then
warn("Cannot go to percent since there is no recording")
return
end
return module_upvw:GoToTime(module_upvw.RecordingTime * math.clamp(arg2, 0, 1))
end
function module_upvw.GoToTime(arg1_14, arg2) -- Line 720
--[[ Upvalues[2]:
[1]: module_upvw (read and write)
[2]: ipairs_upvr (copied, readonly)
]]
if not module_upvw.Recorded then
warn("Cannot go to time since there is no recording")
else
for i_4, v_4 in ipairs_upvr(module_upvw.FrameTimes) do
if v_4 == arg2 then
return module_upvw:GoToFrame(i_4)
end
local var75 = module_upvw.Frames[i_4].FrameLength or 0
if arg2 <= v_4 + var75 then
return module_upvw:GoToFrame(i_4 + (arg2 - v_4) / var75)
end
end
end
end
function module_upvw.GoToFrame(arg1_15, arg2) -- Line 745
--[[ Upvalues[3]:
[1]: module_upvw (read and write)
[2]: BindableEvent_upvr_2 (readonly)
[3]: pairs_upvr (copied, readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 18 start (CF ANALYSIS FAILED)
if not module_upvw.Recorded then
warn("Cannot go to frame since there is no recording")
return
end
local clamped = math.clamp(arg2, 1, module_upvw.FrameCount)
local var77 = module_upvw.Frames[math.floor(clamped)]
local var78 = var77.Time + (clamped - math.floor(clamped)) * (var77.FrameLength or 0)
BindableEvent_upvr_2:Fire(clamped, var78, var78 / module_upvw.RecordingTime)
local var20_result1, pairs_upvr_result2, var20_result3 = pairs_upvr(var77.ObjectData)
-- KONSTANTERROR: [0] 1. Error Block 18 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [132] 93. Error Block 14 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [132] 93. Error Block 14 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [66] 52. Error Block 4 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
-- KONSTANTERROR: [66] 52. Error Block 4 end (CF ANALYSIS FAILED)
end
return module_upvw
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:57:07
-- Luau version 6, Types version 3
-- Time taken: 0.009532 seconds
local module_upvr = {}
module_upvr.__index = module_upvr
local zero_vector3_upvr = Vector3.new()
local CameraShakeInstance_upvr = require(script.CameraShakeInstance)
module_upvr.CameraShakeInstance = CameraShakeInstance_upvr
module_upvr.Presets = require(script.CameraShakePresets)
function module_upvr.new(arg1, arg2) -- Line 87
--[[ Upvalues[2]:
[1]: zero_vector3_upvr (readonly)
[2]: module_upvr (readonly)
]]
local var4
if type(arg1) ~= "number" then
var4 = false
else
var4 = true
end
assert(var4, "RenderPriority must be a number (e.g.: Enum.RenderPriority.Camera.Value)")
if type(arg2) ~= "function" then
var4 = false
else
var4 = true
end
assert(var4, "Callback must be a function")
var4 = {}
var4._running = false
var4._renderName = "CameraShaker"
var4._renderPriority = arg1
var4._posAddShake = zero_vector3_upvr
var4._rotAddShake = zero_vector3_upvr
var4._camShakeInstances = {}
var4._removeInstances = {}
var4._callback = arg2
return setmetatable(var4, module_upvr)
end
local profilebegin_upvr = debug.profilebegin
local profileend_upvr = debug.profileend
function module_upvr.Start(arg1) -- Line 108
--[[ Upvalues[2]:
[1]: profilebegin_upvr (readonly)
[2]: profileend_upvr (readonly)
]]
if arg1._running then
else
arg1._running = true
local _callback_upvr = arg1._callback
game:GetService("RunService"):BindToRenderStep(arg1._renderName, arg1._renderPriority, function(arg1_2) -- Line 112
--[[ Upvalues[4]:
[1]: profilebegin_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: profileend_upvr (copied, readonly)
[4]: _callback_upvr (readonly)
]]
profilebegin_upvr("CameraShakerUpdate")
profileend_upvr()
_callback_upvr(arg1:Update(arg1_2))
end)
end
end
function module_upvr.Stop(arg1) -- Line 121
if not arg1._running then
else
game:GetService("RunService"):UnbindFromRenderStep(arg1._renderName)
arg1._running = false
end
end
function module_upvr.StopSustained(arg1, arg2) -- Line 128
for _, v in pairs(arg1._camShakeInstances) do
if v.fadeOutDuration == 0 then
local var16 = arg2
if not var16 then
var16 = v.fadeInDuration
end
v:StartFadeOut(var16)
end
end
end
local CameraShakeState_upvr = CameraShakeInstance_upvr.CameraShakeState
local new_2_upvr = CFrame.new
local Angles_upvr = CFrame.Angles
local rad_upvr = math.rad
function module_upvr.Update(arg1, arg2) -- Line 137
--[[ Upvalues[5]:
[1]: zero_vector3_upvr (readonly)
[2]: CameraShakeState_upvr (readonly)
[3]: new_2_upvr (readonly)
[4]: Angles_upvr (readonly)
[5]: rad_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local _camShakeInstances = arg1._camShakeInstances
local var30
for i_2 = 1, #_camShakeInstances do
local var31 = _camShakeInstances[i_2]
local any_GetState_result1 = var31:GetState()
if any_GetState_result1 == CameraShakeState_upvr.Inactive and var31.DeleteOnInactive then
arg1._removeInstances[#arg1._removeInstances + 1] = i_2
elseif any_GetState_result1 ~= CameraShakeState_upvr.Inactive then
local any_UpdateShake_result1 = var31:UpdateShake(arg2)
var30 += any_UpdateShake_result1 * var31.PositionInfluence
local var34 = zero_vector3_upvr + any_UpdateShake_result1 * var31.RotationInfluence
end
end
for i_3 = #arg1._removeInstances, 1, -1 do
table.remove(_camShakeInstances, arg1._removeInstances[i_3])
arg1._removeInstances[i_3] = nil
end
return new_2_upvr(var30) * Angles_upvr(0, rad_upvr(var34.Y), 0) * Angles_upvr(rad_upvr(var34.X), 0, rad_upvr(var34.Z))
end
function module_upvr.Shake(arg1, arg2) -- Line 174
local var35 = false
if type(arg2) == "table" then
var35 = arg2._camShakeInstance
end
assert(var35, "ShakeInstance must be of type CameraShakeInstance")
arg1._camShakeInstances[#arg1._camShakeInstances + 1] = arg2
return arg2
end
function module_upvr.ShakeSustain(arg1, arg2) -- Line 181
local var36 = false
if type(arg2) == "table" then
var36 = arg2._camShakeInstance
end
assert(var36, "ShakeInstance must be of type CameraShakeInstance")
arg1._camShakeInstances[#arg1._camShakeInstances + 1] = arg2
arg2:StartFadeIn(arg2.fadeInDuration)
return arg2
end
function module_upvr.ShakeOnce(arg1, arg2, arg3, arg4, arg5, arg6, arg7) -- Line 189
--[[ Upvalues[1]:
[1]: CameraShakeInstance_upvr (readonly)
]]
local any_new_result1_2 = CameraShakeInstance_upvr.new(arg2, arg3, arg4, arg5)
local var38
local function INLINED() -- Internal function, doesn't exist in bytecode
var38 = arg6
return var38
end
if typeof(arg6) ~= "Vector3" or not INLINED() then
var38 = Vector3.new(0.15000, 0.15000, 0.15000)
end
any_new_result1_2.PositionInfluence = var38
local function INLINED_2() -- Internal function, doesn't exist in bytecode
var38 = arg7
return var38
end
if typeof(arg7) ~= "Vector3" or not INLINED_2() then
var38 = Vector3.new(1, 1, 1)
end
any_new_result1_2.RotationInfluence = var38
var38 = arg1._camShakeInstances
var38[#arg1._camShakeInstances + 1] = any_new_result1_2
return any_new_result1_2
end
function module_upvr.StartShake(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 198
--[[ Upvalues[1]:
[1]: CameraShakeInstance_upvr (readonly)
]]
local any_new_result1 = CameraShakeInstance_upvr.new(arg2, arg3, arg4)
local var40
local function INLINED_3() -- Internal function, doesn't exist in bytecode
var40 = arg5
return var40
end
if typeof(arg5) ~= "Vector3" or not INLINED_3() then
var40 = Vector3.new(0.15000, 0.15000, 0.15000)
end
any_new_result1.PositionInfluence = var40
local function INLINED_4() -- Internal function, doesn't exist in bytecode
var40 = arg6
return var40
end
if typeof(arg6) ~= "Vector3" or not INLINED_4() then
var40 = Vector3.new(1, 1, 1)
end
any_new_result1.RotationInfluence = var40
var40 = any_new_result1:StartFadeIn
var40(arg4)
var40 = arg1._camShakeInstances
var40[#arg1._camShakeInstances + 1] = any_new_result1
return any_new_result1
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:57:09
-- Luau version 6, Types version 3
-- Time taken: 0.009061 seconds
local module_2_upvr = {}
module_2_upvr.__index = module_2_upvr
local new_2_upvr = Vector3.new
module_2_upvr.CameraShakeState = {
FadingIn = 0;
FadingOut = 1;
Sustained = 2;
Inactive = 3;
}
function module_2_upvr.new(arg1, arg2, arg3, arg4) -- Line 28
--[[ Upvalues[2]:
[1]: new_2_upvr (readonly)
[2]: module_2_upvr (readonly)
]]
if arg3 == nil then
local var4 = 0
end
if arg4 == nil then
local var5 = 0
end
if type(arg1) ~= "number" then
else
end
assert(true, "Magnitude must be a number")
if type(arg2) ~= "number" then
-- KONSTANTWARNING: GOTO [30] #23
end
assert(true, "Roughness must be a number")
if type(var4) ~= "number" then
-- KONSTANTWARNING: GOTO [45] #34
end
assert(true, "FadeInTime must be a number")
if type(var5) ~= "number" then
-- KONSTANTWARNING: GOTO [60] #45
end
assert(true, "FadeOutTime must be a number")
local module = {}
module.Magnitude = arg1
module.Roughness = arg2
module.PositionInfluence = new_2_upvr()
module.RotationInfluence = new_2_upvr()
module.DeleteOnInactive = true
module.roughMod = 1
module.magnMod = 1
module.fadeOutDuration = var5
module.fadeInDuration = var4
if 0 >= var4 then
-- KONSTANTWARNING: GOTO [99] #72
end
module.sustain = true
if 0 < var4 then
else
end
module.currentFadeTime = 1
module.tick = Random.new():NextNumber(-100, 100)
module._camShakeInstance = true
return setmetatable(module, module_2_upvr)
end
local noise_upvr = math.noise
function module_2_upvr.UpdateShake(arg1, arg2) -- Line 59
--[[ Upvalues[2]:
[1]: noise_upvr (readonly)
[2]: new_2_upvr (readonly)
]]
local tick = arg1.tick
local var9
if 0 < arg1.fadeInDuration and arg1.sustain then
if var9 < 1 then
var9 += arg2 / arg1.fadeInDuration
elseif 0 < arg1.fadeOutDuration then
arg1.sustain = false
end
end
if not arg1.sustain then
var9 -= arg2 / arg1.fadeOutDuration
end
if arg1.sustain then
arg1.tick = tick + arg2 * arg1.Roughness * arg1.roughMod
else
arg1.tick = tick + arg2 * arg1.Roughness * arg1.roughMod * var9
end
arg1.currentFadeTime = var9
return new_2_upvr(noise_upvr(tick, 0) * 0.5, noise_upvr(0, tick) * 0.5, noise_upvr(tick, tick) * 0.5) * arg1.Magnitude * arg1.magnMod * var9
end
function module_2_upvr.StartFadeOut(arg1, arg2) -- Line 95
if arg2 == 0 then
arg1.currentFadeTime = 0
end
arg1.fadeOutDuration = arg2
arg1.fadeInDuration = 0
arg1.sustain = false
end
function module_2_upvr.StartFadeIn(arg1, arg2) -- Line 105
if arg2 == 0 then
arg1.currentFadeTime = 1
end
local var10 = arg2
if not var10 then
var10 = arg1.fadeInDuration
end
arg1.fadeInDuration = var10
arg1.fadeOutDuration = 0
arg1.sustain = true
end
function module_2_upvr.GetScaleRoughness(arg1) -- Line 115
return arg1.roughMod
end
function module_2_upvr.SetScaleRoughness(arg1, arg2) -- Line 120
arg1.roughMod = arg2
end
function module_2_upvr.GetScaleMagnitude(arg1) -- Line 125
return arg1.magnMod
end
function module_2_upvr.SetScaleMagnitude(arg1, arg2) -- Line 130
arg1.magnMod = arg2
end
function module_2_upvr.GetNormalizedFadeTime(arg1) -- Line 135
return arg1.currentFadeTime
end
function module_2_upvr.IsShaking(arg1) -- Line 140
local var11 = true
if 0 >= arg1.currentFadeTime then
var11 = arg1.sustain
end
return var11
end
function module_2_upvr.IsFadingOut(arg1) -- Line 145
local var12 = not arg1.sustain
if var12 then
if 0 >= arg1.currentFadeTime then
var12 = false
else
var12 = true
end
end
return var12
end
function module_2_upvr.IsFadingIn(arg1) -- Line 150
local var14 = false
if arg1.currentFadeTime < 1 then
var14 = arg1.sustain
if var14 then
if 0 >= arg1.fadeInDuration then
var14 = false
else
var14 = true
end
end
end
return var14
end
function module_2_upvr.GetState(arg1) -- Line 155
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
if arg1:IsFadingIn() then
return module_2_upvr.CameraShakeState.FadingIn
end
if arg1:IsFadingOut() then
return module_2_upvr.CameraShakeState.FadingOut
end
if arg1:IsShaking() then
return module_2_upvr.CameraShakeState.Sustained
end
return module_2_upvr.CameraShakeState.Inactive
end
return module_2_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:57:10
-- Luau version 6, Types version 3
-- Time taken: 0.003683 seconds
local CameraShakeInstance_upvr = require(script.Parent.CameraShakeInstance)
local tbl_upvr = {
Light = function() -- Line 23, Named "Light"
--[[ Upvalues[1]:
[1]: CameraShakeInstance_upvr (readonly)
]]
local any_new_result1_8 = CameraShakeInstance_upvr.new(0.6, 1, 0.1, 0.4)
any_new_result1_8.PositionInfluence = Vector3.new(0.10000, 0.10000, 0.10000)
any_new_result1_8.RotationInfluence = Vector3.new(0.60000, 0.20000, 0.60000)
return any_new_result1_8
end;
Medium = function() -- Line 30, Named "Medium"
--[[ Upvalues[1]:
[1]: CameraShakeInstance_upvr (readonly)
]]
local any_new_result1_2 = CameraShakeInstance_upvr.new(2, 2, 0.1, 0.5)
any_new_result1_2.PositionInfluence = Vector3.new(0.11999, 0.11999, 0.11999)
any_new_result1_2.RotationInfluence = Vector3.new(1.29999, 0.40000, 0.75)
return any_new_result1_2
end;
Heavy = function() -- Line 37, Named "Heavy"
--[[ Upvalues[1]:
[1]: CameraShakeInstance_upvr (readonly)
]]
local any_new_result1_4 = CameraShakeInstance_upvr.new(3, 4, 0.1, 0.6)
any_new_result1_4.PositionInfluence = Vector3.new(0.17000, 0.17000, 0.17000)
any_new_result1_4.RotationInfluence = Vector3.new(2, 0.5, 2)
return any_new_result1_4
end;
Net = function() -- Line 44, Named "Net"
--[[ Upvalues[1]:
[1]: CameraShakeInstance_upvr (readonly)
]]
local any_new_result1_9 = CameraShakeInstance_upvr.new(5, 6, 0.1, 0.6)
any_new_result1_9.PositionInfluence = Vector3.new(0.23499, 0.23499, 0.25)
any_new_result1_9.RotationInfluence = Vector3.new(3.5, 1, 3.5)
return any_new_result1_9
end;
Bump = function() -- Line 54, Named "Bump"
--[[ Upvalues[1]:
[1]: CameraShakeInstance_upvr (readonly)
]]
local any_new_result1_11 = CameraShakeInstance_upvr.new(2.5, 4, 0.1, 0.75)
any_new_result1_11.PositionInfluence = Vector3.new(0.15000, 0.15000, 0.15000)
any_new_result1_11.RotationInfluence = Vector3.new(1, 1, 1)
return any_new_result1_11
end;
Explosion = function() -- Line 64, Named "Explosion"
--[[ Upvalues[1]:
[1]: CameraShakeInstance_upvr (readonly)
]]
local any_new_result1_7 = CameraShakeInstance_upvr.new(5, 10, 0, 1.5)
any_new_result1_7.PositionInfluence = Vector3.new(0.25, 0.25, 0.25)
any_new_result1_7.RotationInfluence = Vector3.new(4, 1, 1)
return any_new_result1_7
end;
Earthquake = function() -- Line 74, Named "Earthquake"
--[[ Upvalues[1]:
[1]: CameraShakeInstance_upvr (readonly)
]]
local any_new_result1_10 = CameraShakeInstance_upvr.new(0.6, 3.5, 2, 10)
any_new_result1_10.PositionInfluence = Vector3.new(0.25, 0.25, 0.25)
any_new_result1_10.RotationInfluence = Vector3.new(1, 1, 4)
return any_new_result1_10
end;
BadTrip = function() -- Line 84, Named "BadTrip"
--[[ Upvalues[1]:
[1]: CameraShakeInstance_upvr (readonly)
]]
local any_new_result1_5 = CameraShakeInstance_upvr.new(10, 0.15, 5, 10)
any_new_result1_5.PositionInfluence = Vector3.new(0, 0, 0.15000)
any_new_result1_5.RotationInfluence = Vector3.new(2, 1, 4)
return any_new_result1_5
end;
HandheldCamera = function() -- Line 94, Named "HandheldCamera"
--[[ Upvalues[1]:
[1]: CameraShakeInstance_upvr (readonly)
]]
local any_new_result1 = CameraShakeInstance_upvr.new(1, 0.25, 5, 10)
any_new_result1.PositionInfluence = Vector3.new(0, 0, 0)
any_new_result1.RotationInfluence = Vector3.new(1, 0.5, 0.5)
return any_new_result1
end;
Vibration = function() -- Line 104, Named "Vibration"
--[[ Upvalues[1]:
[1]: CameraShakeInstance_upvr (readonly)
]]
local any_new_result1_6 = CameraShakeInstance_upvr.new(0.4, 20, 2, 2)
any_new_result1_6.PositionInfluence = Vector3.new(0, 0.15000, 0)
any_new_result1_6.RotationInfluence = Vector3.new(1.25, 0, 4)
return any_new_result1_6
end;
RoughDriving = function() -- Line 114, Named "RoughDriving"
--[[ Upvalues[1]:
[1]: CameraShakeInstance_upvr (readonly)
]]
local any_new_result1_3 = CameraShakeInstance_upvr.new(1, 2, 1, 1)
any_new_result1_3.PositionInfluence = Vector3.new(0, 0, 0)
any_new_result1_3.RotationInfluence = Vector3.new(1, 1, 1)
return any_new_result1_3
end;
}
return setmetatable({}, {
__index = function(arg1, arg2) -- Line 126, Named "__index"
--[[ Upvalues[1]:
[1]: tbl_upvr (readonly)
]]
local var15 = tbl_upvr[arg2]
if type(var15) == "function" then
return var15()
end
error("No preset found with index \""..arg2..'"')
end;
})
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:57:11
-- Luau version 6, Types version 3
-- Time taken: 0.000964 seconds
local module_upvr = {
_client = require(script:WaitForChild("client", 100));
_server = require(script:WaitForChild("server", 100));
}
function module_upvr.new(...) -- Line 5
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if _G._services.RunService:IsClient() then
module_upvr._client.new(...):init()
else
module_upvr._server.new(...):init()
end
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:57:13
-- Luau version 6, Types version 3
-- Time taken: 0.001668 seconds
local module_upvr = {}
module_upvr.__index = module_upvr
local any_load_result1_upvr = _G._engine:load("Maid")
function module_upvr.new(arg1, arg2) -- Line 7
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: module_upvr (readonly)
]]
assert(arg1, "Kickoff.client | Model 'model' expected, got "..typeof(arg1))
assert(arg2, "Kickoff.client | BasePart 'ball' expected, got "..typeof(arg2))
local LocalPlayer = _G._references.LocalPlayer
local Character = LocalPlayer.Character
if not Character then
Character = LocalPlayer.CharacterAdded:Wait()
end
local module = {}
module._ball = arg2
module._player = LocalPlayer
module._model = arg1
module._character = Character
module._root = _G._root
module._mouse = LocalPlayer:GetMouse()
module._maid = any_load_result1_upvr.new()
return setmetatable(module, module_upvr)
end
function module_upvr.init(arg1) -- Line 25
arg1._model.Detector.CanCollide = false
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:57:15
-- Luau version 6, Types version 3
-- Time taken: 0.026030 seconds
local module_2_upvr = {}
module_2_upvr.__index = module_2_upvr
function module_2_upvr.new(arg1, arg2) -- Line 4
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
assert(arg1, "Kickoff.server | dataModel 'player' expected, got "..typeof(arg1))
if not arg2 then return end
local Character = arg1.Character
if not Character then
Character = arg1.CharacterAdded:Wait()
end
local clone = _G._references.Main["set pieces"]["Kick Off"]:Clone()
clone.Parent = workspace.game.debug
clone.Name = arg1.Name
clone.Team.Value = arg2
clone.Ball.Transparency = 1
local module = {}
module._player = arg1
module._character = Character
module._profile = _G._references.Profiles:WaitForChild(tostring(arg1.UserId), 100)
module._model = clone
module._maid = _G._engine:load("Maid").new()
module._touch = {}
return setmetatable(module, module_2_upvr)
end
function module_2_upvr.init(arg1) -- Line 30
assert(arg1._model, "Kickoff.server [init] | call .new() before running :init()!")
assert(arg1._character.PrimaryPart, string.format("Kickoff.server [init] | could not find PrimaryPart [%s]", tostring(arg1._player.UserId)))
for _, v in next, workspace.game.referee.rigs:GetChildren() do
if v and workspace.game.referee.positions:FindFirstChild(v.Name) then
v:SetPrimaryPartCFrame(workspace.game.referee.positions[v.Name].CFrame)
end
end
local BoolValue_10 = Instance.new("BoolValue")
BoolValue_10.Name = "DisableFouls"
BoolValue_10.Value = true
BoolValue_10.Parent = _G._references.Main.config.Override
_G._references.Main.config.TimerSpeed.Value = 1
local BoolValue_6 = Instance.new("BoolValue")
BoolValue_6.Name = script.Parent.Parent.Name
BoolValue_6.Value = true
BoolValue_6.Parent = _G._references.Main.config["Set Pieces"]
arg1._maid:GiveTask(BoolValue_6)
arg1:initConnections()
if _G._references.Main.config.AutoRall.Value then
for _, v_2 in next, workspace.game.balls.spawns:GetChildren() do
if v_2 then
v_2:Destroy()
end
end
end
_G._references.BindableEvent:Fire("clearSpace")
task.delay(1.5, function() -- Line 72
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1._maid._onClearRemoteEvent then
local CFrameValue = Instance.new("CFrameValue")
CFrameValue.Name = "RF"
CFrameValue.Value = arg1._model.Ball.CFrame
CFrameValue.Parent = workspace.game.balls.spawns
local IntValue_2 = Instance.new("IntValue")
IntValue_2.Name = "possessor"
IntValue_2.Value = arg1._player.UserId
IntValue_2.Parent = CFrameValue
for _, v_3 in next, _G._references.Main.config.Override:GetChildren() do
if v_3 and v_3.Name == "Break" then
v_3:Destroy()
end
end
end
end)
_G._references.RemoteEvent:FireClient(arg1._player, "quickFoul", arg1._model)
end
function module_2_upvr.initConnections(arg1) -- Line 97
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local BindableEvent_upvr = Instance.new("BindableEvent", arg1._model)
BindableEvent_upvr.Name = "Cancel"
local RemoteEvent = Instance.new("RemoteEvent", arg1._model)
RemoteEvent.Name = "Clear"
_G._references.RemoteEvent:FireAllClients("registerTeleporter", arg1._player, arg1._model, "kickoff")
arg1._maid._onBindableEvent = BindableEvent_upvr.Event:Connect(function(arg1_2) -- Line 106
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:clear(arg1_2)
end)
arg1._maid._onClearRemoteEvent = RemoteEvent.OnServerEvent:Connect(function(arg1_3) -- Line 110
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_3 == arg1._player then
arg1:clear()
end
end)
arg1._maid._onRespawn = arg1._player.CharacterAdded:Connect(function() -- Line 116
--[[ Upvalues[1]:
[1]: BindableEvent_upvr (readonly)
]]
BindableEvent_upvr:Fire(true)
end)
arg1._maid._onLeave = _G._services.Players.PlayerRemoving:Connect(function(arg1_4) -- Line 120
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: BindableEvent_upvr (readonly)
]]
if arg1_4 == arg1._player then
BindableEvent_upvr:Fire(true)
end
end)
local function onTouch(arg1_5) -- Line 126
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_5 and arg1_5.Parent and arg1_5.Parent:FindFirstChildWhichIsA("Humanoid") and arg1_5.Parent ~= arg1._character and not arg1._touch[arg1_5.Parent.Name] then
arg1._touch[arg1_5.Parent.Name] = true
if _G._services.Players:GetPlayerFromCharacter(arg1_5.Parent) then
local any_GetPlayerFromCharacter_result1_2 = _G._services.Players:GetPlayerFromCharacter(arg1_5.Parent)
local BoolValue_5 = Instance.new("BoolValue", any_GetPlayerFromCharacter_result1_2)
BoolValue_5.Name = "Teleport"
BoolValue_5.Value = true
_G._services.Debris:AddItem(BoolValue_5, 3)
if string.find(any_GetPlayerFromCharacter_result1_2.Team.Name, "Home") and not string.find(any_GetPlayerFromCharacter_result1_2.Team.Name, "GK") then
arg1_5.Parent:SetPrimaryPartCFrame(workspace.game.positions.home.CFrame)
elseif string.find(any_GetPlayerFromCharacter_result1_2.Team.Name, "Home") and string.find(any_GetPlayerFromCharacter_result1_2.Team.Name, "GK") then
arg1_5.Parent:SetPrimaryPartCFrame(workspace.game.positions.homeGK.CFrame)
elseif string.find(any_GetPlayerFromCharacter_result1_2.Team.Name, "Away") and not string.find(any_GetPlayerFromCharacter_result1_2.Team.Name, "GK") then
arg1_5.Parent:SetPrimaryPartCFrame(workspace.game.positions.away.CFrame)
elseif string.find(any_GetPlayerFromCharacter_result1_2.Team.Name, "Away") and string.find(any_GetPlayerFromCharacter_result1_2.Team.Name, "GK") then
arg1_5.Parent:SetPrimaryPartCFrame(workspace.game.positions.awayGK.CFrame)
end
end
task.delay(0.05, function() -- Line 149
--[[ Upvalues[2]:
[1]: arg1 (copied, readonly)
[2]: arg1_5 (readonly)
]]
arg1._touch[arg1_5.Parent.Name] = false
end)
end
end
local function onTouchRegion_upvr(arg1_6, arg2) -- Line 155, Named "onTouchRegion"
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_6 and arg1_6.Parent and arg1_6.Parent:FindFirstChildWhichIsA("Humanoid") and not arg1_6:FindFirstAncestor("manager") and not arg1_6:FindFirstAncestor("referee") and arg1_6.Parent ~= arg1._character then
local any_GetPlayerFromCharacter_result1 = _G._services.Players:GetPlayerFromCharacter(arg1_6.Parent)
if any_GetPlayerFromCharacter_result1 and any_GetPlayerFromCharacter_result1.Team then
if string.find(any_GetPlayerFromCharacter_result1.Team.Name, "Home") and not string.find(any_GetPlayerFromCharacter_result1.Team.Name, "GK") and arg2.Name == "Away" then
local BoolValue_8 = Instance.new("BoolValue", any_GetPlayerFromCharacter_result1)
BoolValue_8.Name = "Teleport"
BoolValue_8.Value = true
_G._services.Debris:AddItem(BoolValue_8, 3)
arg1_6.Parent:SetPrimaryPartCFrame(workspace.game.positions.home.CFrame)
return
end
if string.find(any_GetPlayerFromCharacter_result1.Team.Name, "Home") and string.find(any_GetPlayerFromCharacter_result1.Team.Name, "GK") and arg2.Name == "Away" then
local BoolValue = Instance.new("BoolValue", any_GetPlayerFromCharacter_result1)
BoolValue.Name = "Teleport"
BoolValue.Value = true
_G._services.Debris:AddItem(BoolValue, 3)
arg1_6.Parent:SetPrimaryPartCFrame(workspace.game.positions.homeGK.CFrame)
return
end
if string.find(any_GetPlayerFromCharacter_result1.Team.Name, "Away") and not string.find(any_GetPlayerFromCharacter_result1.Team.Name, "GK") and arg2.Name == "Home" then
local BoolValue_3 = Instance.new("BoolValue", any_GetPlayerFromCharacter_result1)
BoolValue_3.Name = "Teleport"
BoolValue_3.Value = true
_G._services.Debris:AddItem(BoolValue_3, 3)
arg1_6.Parent:SetPrimaryPartCFrame(workspace.game.positions.away.CFrame)
return
end
if string.find(any_GetPlayerFromCharacter_result1.Team.Name, "Away") and string.find(any_GetPlayerFromCharacter_result1.Team.Name, "GK") and arg2.Name == "Home" then
local BoolValue_7 = Instance.new("BoolValue", any_GetPlayerFromCharacter_result1)
BoolValue_7.Name = "Teleport"
BoolValue_7.Value = true
_G._services.Debris:AddItem(BoolValue_7, 3)
arg1_6.Parent:SetPrimaryPartCFrame(workspace.game.positions.awayGK.CFrame)
end
end
end
end
for _, v_4 in next, arg1._model.Area:GetChildren() do
if v_4 and v_4:IsA("BasePart") then
local any_GenerateGUID_result1 = _G._services.HttpService:GenerateGUID(false)
arg1._maid[any_GenerateGUID_result1.."_onTouched"] = v_4.Touched:Connect(onTouch)
arg1._maid[any_GenerateGUID_result1.."_onTouchEnded"] = v_4.TouchEnded:Connect(onTouch)
end
end
arg1._maid._onTouchedRegionHome = arg1._model.Home.Touched:Connect(function(arg1_7) -- Line 197
--[[ Upvalues[2]:
[1]: onTouchRegion_upvr (readonly)
[2]: arg1 (readonly)
]]
onTouchRegion_upvr(arg1_7, arg1._model.Home)
end)
arg1._maid._onTouchedRegionHome = arg1._model.Home.TouchEnded:Connect(function(arg1_8) -- Line 200
--[[ Upvalues[2]:
[1]: onTouchRegion_upvr (readonly)
[2]: arg1 (readonly)
]]
onTouchRegion_upvr(arg1_8, arg1._model.Home)
end)
for _, v_5 in next, arg1._model.Home:GetTouchingParts() do
onTouchRegion_upvr(v_5, arg1._model.Home)
end
arg1._maid._onTouchedRegionAway = arg1._model.Away.Touched:Connect(function(arg1_9) -- Line 207
--[[ Upvalues[2]:
[1]: onTouchRegion_upvr (readonly)
[2]: arg1 (readonly)
]]
onTouchRegion_upvr(arg1_9, arg1._model.Away)
end)
arg1._maid._onTouchedRegionAway = arg1._model.Away.TouchEnded:Connect(function(arg1_10) -- Line 210
--[[ Upvalues[2]:
[1]: onTouchRegion_upvr (readonly)
[2]: arg1 (readonly)
]]
onTouchRegion_upvr(arg1_10, arg1._model.Away)
end)
for _, v_6 in next, arg1._model.Away:GetTouchingParts() do
onTouchRegion_upvr(v_6, arg1._model.Away)
end
arg1._maid._areaTouched = workspace.game.regions.under.Touched:Connect(onTouch)
arg1._maid._areaTouchEnded = workspace.game.regions.under.TouchEnded:Connect(onTouch)
arg1._maid:GiveTask(arg1._model)
arg1._maid:GiveTask(BindableEvent_upvr)
arg1._maid:GiveTask(RemoteEvent)
task.delay(15, function() -- Line 224
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1._maid._onBindableEvent then
arg1:clear()
end
end)
end
function module_2_upvr.clear(arg1, arg2) -- Line 231
for i_7, v_7 in next, _G._references.Main.config.Override:GetChildren() do
if v_7 and v_7.Name == "DisableFouls" then
v_7:Destroy()
end
end
_G._references.RemoteEvent:FireAllClients("clearTeleporter")
if arg2 then
v_7 = _G._references
i_7 = v_7.Main
if i_7.config.AutoRall.Value then
v_7 = workspace
i_7 = v_7.game
for _, v_8 in next, i_7.balls.spawns:GetChildren() do
if v_8 then
v_8:Destroy()
end
end
end
local CFrameValue_2 = Instance.new("CFrameValue")
CFrameValue_2.Name = "RF"
CFrameValue_2.Value = arg1._model.Ball.CFrame
CFrameValue_2.Parent = workspace.game.balls.spawns
if arg1._player and arg1._player.Parent then
local IntValue = Instance.new("IntValue")
IntValue.Name = "possessor"
IntValue.Value = arg1._player.UserId
IntValue.Parent = CFrameValue_2
end
end
_G._references.Main.config.TimerSpeed.Value = 5
arg1._maid:DoCleaning()
end
return module_2_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:57:17
-- Luau version 6, Types version 3
-- Time taken: 0.038304 seconds
local _engine = _G._engine
local _references_upvr = _G._references
local _services_upvr = _G._services
local any_load_result1_upvr = _engine:load("BulkFade", "utils")
local menu_upvr = _references_upvr.PlayerGui:WaitForChild("menu", 100)
local module_2_upvr = {}
module_2_upvr.__index = module_2_upvr
local any_load_result1_upvr_4 = _engine:load("Maid")
function module_2_upvr.new(arg1) -- Line 25
--[[ Upvalues[4]:
[1]: any_load_result1_upvr (readonly)
[2]: menu_upvr (readonly)
[3]: any_load_result1_upvr_4 (readonly)
[4]: module_2_upvr (readonly)
]]
local tbl_3 = {
page = any_load_result1_upvr.CreateGroup(menu_upvr.color:GetDescendants(), TweenInfo.new(0.2, Enum.EasingStyle.Quint, Enum.EasingDirection.Out));
}
tbl_3.page:FadeOut()
local module = {
event = Instance.new("BindableEvent");
bulkFadeGroups = tbl_3;
maid = any_load_result1_upvr_4.new();
}
module.core = arg1
return setmetatable(module, module_2_upvr)
end
local any_load_result1_upvr_2 = _engine:load("FormatNumber", "utils")
local mouse_upvr = _services_upvr.Players.LocalPlayer:GetMouse()
local any_load_result1_upvr_3 = _engine:load("Theme", "utils")
local any_new_result1_upvr = _engine:load("Network").new()
function module_2_upvr.prompt(arg1, arg2) -- Line 39
--[[ Upvalues[8]:
[1]: menu_upvr (readonly)
[2]: any_load_result1_upvr_2 (readonly)
[3]: any_load_result1_upvr (readonly)
[4]: _services_upvr (readonly)
[5]: mouse_upvr (readonly)
[6]: _references_upvr (readonly)
[7]: any_load_result1_upvr_3 (readonly)
[8]: any_new_result1_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
assert(arg1.bulkFadeGroups, "ColorPicker [prompt]: Run '.new()' before calling :prompt()!")
arg1.core:SetAttribute("freeze", true)
arg1.value = arg2.Value
local any_ToHSV_result1_4_upvw, any_ToHSV_result2_3_upvw, any_ToHSV_result3_4_upvw = arg1.value:ToHSV()
local tbl_upvr = {}
local tbl = {
point = 0;
color = Color3.new(1, 0, 0);
}
tbl_upvr[1] = tbl
tbl_upvr[2] = {
point = 60;
color = Color3.new(1, 1, 0);
}
tbl_upvr[3] = {
point = 120;
color = Color3.new(0, 1, 0);
}
tbl_upvr[4] = {
point = 180;
color = Color3.new(0, 1, 1);
}
tbl_upvr[5] = {
point = 240;
color = Color3.new(0, 0, 1);
}
tbl_upvr[6] = {
point = 300;
color = Color3.new(1, 0, 1);
}
tbl_upvr[7] = {
point = 360;
color = Color3.new(1, 0, 0);
}
tbl = {}
local var66_upvw = tbl
var66_upvw.r = arg1.value.R * 255
var66_upvw.g = arg1.value.G * 255
var66_upvw.b = arg1.value.B * 255
var66_upvw.h = any_ToHSV_result1_4_upvw * 360
var66_upvw.s = any_ToHSV_result2_3_upvw * 100
var66_upvw.v = any_ToHSV_result3_4_upvw * 100
local tbl_2_upvr = {
r = 255;
g = 255;
b = 255;
h = 360;
s = 100;
v = 100;
}
local tbl_4_upvr = {
rgb = false;
value = false;
}
local function update_upvr() -- Line 99, Named "update"
--[[ Upvalues[4]:
[1]: tbl_upvr (readonly)
[2]: var66_upvw (read and write)
[3]: menu_upvr (copied, readonly)
[4]: any_load_result1_upvr_2 (copied, readonly)
]]
for i, v in next, tbl_upvr do
if i < #tbl_upvr and v.point < var66_upvw.h and var66_upvw.h <= tbl_upvr[i + 1].point or v.point == 0 and var66_upvw.h == 0 then
local any_Lerp_result1 = v.color:Lerp(tbl_upvr[i + 1].color, (var66_upvw.h - v.point) / (tbl_upvr[i + 1].point - v.point))
local any_Lerp_result1_3 = any_Lerp_result1:Lerp(Color3.new(1, 1, 1), (100 - var66_upvw.s) / 100)
local any_Lerp_result1_2 = any_Lerp_result1_3:Lerp(Color3.new(0, 0, 0), (100 - var66_upvw.v) / 100)
menu_upvr.color.main.main.hsv.r.value.Text = any_load_result1_upvr_2.FormatDecimal(var66_upvw.r, 0)
menu_upvr.color.main.main.hsv.g.value.Text = any_load_result1_upvr_2.FormatDecimal(var66_upvw.g, 0)
menu_upvr.color.main.main.hsv.b.value.Text = any_load_result1_upvr_2.FormatDecimal(var66_upvw.b, 0)
menu_upvr.color.main.main.hsv.h.value.Text = any_load_result1_upvr_2.FormatDecimal(var66_upvw.h, 0)
menu_upvr.color.main.main.hsv.h.value.PlaceholderColor3 = any_Lerp_result1:Lerp(Color3.new(1, 1, 1), 0.5)
menu_upvr.color.main.main.hsv.h.value.TextColor3 = any_Lerp_result1
menu_upvr.color.main.main.hsv.s.value.Text = any_load_result1_upvr_2.FormatDecimal(var66_upvw.s, 0)
menu_upvr.color.main.main.hsv.s.value.PlaceholderColor3 = any_Lerp_result1_3:Lerp(Color3.new(1, 1, 1), 0.5)
menu_upvr.color.main.main.hsv.s.value.TextColor3 = any_Lerp_result1_3
menu_upvr.color.main.main.value.BackgroundColor3 = any_Lerp_result1_3
menu_upvr.color.main.main.hsv.v.value.Text = any_load_result1_upvr_2.FormatDecimal(var66_upvw.v, 0)
menu_upvr.color.main.main.hsv.v.value.PlaceholderColor3 = any_Lerp_result1_2:Lerp(Color3.new(1, 1, 1), 0.5)
menu_upvr.color.main.main.hsv.v.value.TextColor3 = any_Lerp_result1_2
menu_upvr.color.main.main.value.selector.Position = UDim2.new(var66_upvw.v / 100, 0, 0.5, 0)
menu_upvr.color.main.main.value.selector.BackgroundColor3 = Color3.new(1, 1, 1):Lerp(Color3.new(0, 0, 0), var66_upvw.v / 100)
menu_upvr.color.main.main.rgb.selector.Position = UDim2.new(var66_upvw.h / 360, 0, (100 - var66_upvw.s) / 100, 0)
menu_upvr.color.main.main.rgb.selector.UIStroke.Color = Color3.new(1, 1, 1):Lerp(Color3.new(0, 0, 0), (100 - var66_upvw.s) / 100)
end
end
end
menu_upvr.color.Visible = true
task.wait()
for _, v_2 in next, menu_upvr.color:GetDescendants() do
if v_2:IsA("GuiObject") then
if v_2:IsA("TextLabel") or v_2:IsA("TextButton") or v_2:IsA("TextBox") then
v_2.TextTransparency = 0
elseif v_2:IsA("ImageLabel") or v_2:IsA("ImageButton") then
v_2.ImageTransparency = 0
end
if v_2:IsA("Frame") or v_2:IsA("TextButton") or v_2:IsA("ImageButton") then
if v_2.BackgroundTransparency ~= nil then
v_2.BackgroundTransparency = 0
end
end
end
end
if menu_upvr.color.main.buttons then
menu_upvr.color.main.buttons.BackgroundTransparency = 1
end
for _, v_3 in next, {"confirm", "cancel", "revert"} do
if menu_upvr.color.main.buttons[v_3] and menu_upvr.color.main.buttons[v_3].button then
menu_upvr.color.main.buttons[v_3].button.BackgroundTransparency = 1
end
end
if menu_upvr.color.main then
menu_upvr.color.main.BackgroundTransparency = 1
end
if menu_upvr.color.main.main.rgb then
menu_upvr.color.main.main.rgb.rgb.ZIndex = 101
end
if menu_upvr.color.main.main.rgb and menu_upvr.color.main.main.rgb.selector then
menu_upvr.color.main.main.rgb.selector.ZIndex = 102
end
if menu_upvr.color.main.main.value then
menu_upvr.color.main.main.value.ZIndex = 100
end
if menu_upvr.color.main.main.value and menu_upvr.color.main.main.value.selector then
menu_upvr.color.main.main.value.selector.ZIndex = 101
end
if menu_upvr.color.overlay then
menu_upvr.color.overlay.BackgroundTransparency = 0.5
end
arg1.bulkFadeGroups.page = any_load_result1_upvr.CreateGroup(menu_upvr.color:GetDescendants(), TweenInfo.new(0.2, Enum.EasingStyle.Quint, Enum.EasingDirection.Out))
arg1.bulkFadeGroups.page:FadeOut()
for _, v_4_upvr in next, menu_upvr.color.main.main.hsv:GetChildren() do
if v_4_upvr and v_4_upvr:IsA("Frame") and var66_upvw[v_4_upvr.Name] then
v_4_upvr.value.Text = any_load_result1_upvr_2.FormatDecimal(var66_upvw[v_4_upvr.Name], 0)
v_4_upvr.value.PlaceholderText = any_load_result1_upvr_2.FormatDecimal(var66_upvw[v_4_upvr.Name], 0)
v_4_upvr.value.PlaceholderColor3 = v_4_upvr.value.TextColor3:Lerp(Color3.new(1, 1, 1), 0.5)
arg1.maid[v_4_upvr.Name.."_focusLost"] = v_4_upvr.value.FocusLost:Connect(function() -- Line 194
--[[ Upvalues[9]:
[1]: v_4_upvr (readonly)
[2]: tbl_2_upvr (readonly)
[3]: arg1 (readonly)
[4]: menu_upvr (copied, readonly)
[5]: any_ToHSV_result1_4_upvw (read and write)
[6]: any_ToHSV_result2_3_upvw (read and write)
[7]: any_ToHSV_result3_4_upvw (read and write)
[8]: var66_upvw (read and write)
[9]: update_upvr (readonly)
]]
if tonumber(v_4_upvr.value.Text) and 0 <= tonumber(v_4_upvr.value.Text) and tonumber(v_4_upvr.value.Text) <= tbl_2_upvr[v_4_upvr.Name] then
if v_4_upvr.Name == 'r' or v_4_upvr.Name == 'g' or v_4_upvr.Name == 'b' then
arg1.value = Color3.fromRGB(tonumber(menu_upvr.color.main.main.hsv.r.value.Text), tonumber(menu_upvr.color.main.main.hsv.g.value.Text), tonumber(menu_upvr.color.main.main.hsv.b.value.Text))
elseif v_4_upvr.Name == 'h' or v_4_upvr.Name == 's' or v_4_upvr.Name == 'v' then
arg1.value = Color3.fromHSV(tonumber(menu_upvr.color.main.main.hsv.h.value.Text) / 360, tonumber(menu_upvr.color.main.main.hsv.s.value.Text) / 100, tonumber(menu_upvr.color.main.main.hsv.v.value.Text) / 100)
end
local any_ToHSV_result1_3, any_ToHSV_result2_2, any_ToHSV_result3_3 = arg1.value:ToHSV()
any_ToHSV_result1_4_upvw = any_ToHSV_result1_3
any_ToHSV_result2_3_upvw = any_ToHSV_result2_2
any_ToHSV_result3_4_upvw = any_ToHSV_result3_3
var66_upvw = {
r = arg1.value.R * 255;
g = arg1.value.G * 255;
b = arg1.value.B * 255;
h = any_ToHSV_result1_4_upvw * 360;
s = any_ToHSV_result2_3_upvw * 100;
v = any_ToHSV_result3_4_upvw * 100;
}
update_upvr()
else
v_4_upvr.value.Text = v_4_upvr.value.PlaceholderText
end
end)
end
end
update_upvr()
arg1.bulkFadeGroups.page:FadeIn()
for _, v_5_upvr in next, {"rgb", "value"} do
arg1.maid[v_5_upvr.."_mouseButton1Down"] = menu_upvr.color.main.main[v_5_upvr].button.MouseButton1Down:Connect(function() -- Line 225
--[[ Upvalues[2]:
[1]: tbl_4_upvr (readonly)
[2]: v_5_upvr (readonly)
]]
tbl_4_upvr[v_5_upvr] = true
end)
arg1.maid[v_5_upvr.."_inputEnded"] = _services_upvr.UserInputService.InputEnded:Connect(function(arg1_2, arg2_2) -- Line 229
--[[ Upvalues[2]:
[1]: tbl_4_upvr (readonly)
[2]: v_5_upvr (readonly)
]]
if tbl_4_upvr[v_5_upvr] and (arg1_2.UserInputType == Enum.UserInputType.MouseButton1 or arg1_2.UserInputType == Enum.UserInputType.Touch) then
tbl_4_upvr[v_5_upvr] = false
end
end)
end
arg1.maid.mouseMove = mouse_upvr.Move:Connect(function() -- Line 236
--[[ Upvalues[10]:
[1]: tbl_4_upvr (readonly)
[2]: mouse_upvr (copied, readonly)
[3]: menu_upvr (copied, readonly)
[4]: _services_upvr (copied, readonly)
[5]: arg1 (readonly)
[6]: any_ToHSV_result1_4_upvw (read and write)
[7]: any_ToHSV_result2_3_upvw (read and write)
[8]: any_ToHSV_result3_4_upvw (read and write)
[9]: var66_upvw (read and write)
[10]: update_upvr (readonly)
]]
if tbl_4_upvr.rgb or tbl_4_upvr.value then
local any_WorldToViewportPoint_result1 = workspace.CurrentCamera:WorldToViewportPoint(mouse_upvr.Hit.Position)
if tbl_4_upvr.rgb then
arg1.value = Color3.fromHSV(math.clamp((any_WorldToViewportPoint_result1.X - menu_upvr.color.main.main.rgb.AbsolutePosition.X) / menu_upvr.color.main.main.rgb.AbsoluteSize.X, 0.0001, 1), 1 - math.clamp((any_WorldToViewportPoint_result1.Y - _services_upvr.GuiService:GetGuiInset().Y - menu_upvr.color.main.main.rgb.AbsolutePosition.Y) / menu_upvr.color.main.main.rgb.AbsoluteSize.Y, 0, 0.9999), menu_upvr.color.main.main.value.selector.Position.X.Scale)
else
arg1.value = Color3.fromHSV(menu_upvr.color.main.main.rgb.selector.Position.X.Scale, 1 - menu_upvr.color.main.main.rgb.selector.Position.Y.Scale, math.clamp((any_WorldToViewportPoint_result1.X - menu_upvr.color.main.main.value.AbsolutePosition.X) / menu_upvr.color.main.main.value.AbsoluteSize.X, 0.0001, 1))
end
local any_ToHSV_result1, any_ToHSV_result2, any_ToHSV_result3 = arg1.value:ToHSV()
any_ToHSV_result1_4_upvw = any_ToHSV_result1
any_ToHSV_result2_3_upvw = any_ToHSV_result2
any_ToHSV_result3_4_upvw = any_ToHSV_result3
var66_upvw = {
r = arg1.value.R * 255;
g = arg1.value.G * 255;
b = arg1.value.B * 255;
h = any_ToHSV_result1_4_upvw * 360;
s = any_ToHSV_result2_3_upvw * 100;
v = any_ToHSV_result3_4_upvw * 100;
}
update_upvr()
end
end)
for _, v_6_upvr in next, {"confirm", "cancel", "revert"} do
local var94_upvr = menu_upvr.color.main.buttons[v_6_upvr]
arg1.maid[v_6_upvr.."_mouseEnter"] = var94_upvr.button.MouseEnter:Connect(function() -- Line 268
--[[ Upvalues[5]:
[1]: arg1 (readonly)
[2]: _references_upvr (copied, readonly)
[3]: _services_upvr (copied, readonly)
[4]: var94_upvr (readonly)
[5]: any_load_result1_upvr_3 (copied, readonly)
]]
arg1.mouseOver = true
_references_upvr.Main.sounds.UI.Hover:Play()
_services_upvr.TweenService:Create(var94_upvr.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1.03;
}):Play()
_services_upvr.TweenService:Create(var94_upvr.background, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr_3.Accent;
}):Play()
_services_upvr.TweenService:Create(var94_upvr.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr_3.Text;
}):Play()
end)
arg1.maid[v_6_upvr.."_mouseLeave"] = var94_upvr.button.MouseLeave:Connect(function() -- Line 276
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: _services_upvr (copied, readonly)
[3]: var94_upvr (readonly)
[4]: any_load_result1_upvr_3 (copied, readonly)
]]
arg1.mouseOver = false
_services_upvr.TweenService:Create(var94_upvr.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1;
}):Play()
_services_upvr.TweenService:Create(var94_upvr.background, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr_3.Text;
}):Play()
_services_upvr.TweenService:Create(var94_upvr.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end)
arg1.maid[v_6_upvr.."_mouseButton1Down"] = var94_upvr.button.MouseButton1Down:Connect(function() -- Line 283
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: _services_upvr (copied, readonly)
[3]: var94_upvr (readonly)
]]
arg1.mouseOver = true
_services_upvr.TweenService:Create(var94_upvr.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Scale = 0.9;
}):Play()
end)
arg1.maid[v_6_upvr.."_inputEnded"] = _services_upvr.UserInputService.InputEnded:Connect(function(arg1_3, arg2_3) -- Line 288
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1.mouseOver = false
if arg1_3.UserInputType ~= Enum.UserInputType.MouseButton1 then
if arg1_3.UserInputType ~= Enum.UserInputType.Touch then
else
end
end
end)
arg1.maid[v_6_upvr.."_mouseButton1Click"] = var94_upvr.button.MouseButton1Click:Connect(function() -- Line 295
--[[ Upvalues[14]:
[1]: _references_upvr (copied, readonly)
[2]: _services_upvr (copied, readonly)
[3]: var94_upvr (readonly)
[4]: any_load_result1_upvr_3 (copied, readonly)
[5]: v_6_upvr (readonly)
[6]: arg1 (readonly)
[7]: arg2 (readonly)
[8]: any_new_result1_upvr (copied, readonly)
[9]: menu_upvr (copied, readonly)
[10]: any_ToHSV_result1_4_upvw (read and write)
[11]: any_ToHSV_result2_3_upvw (read and write)
[12]: any_ToHSV_result3_4_upvw (read and write)
[13]: var66_upvw (read and write)
[14]: update_upvr (readonly)
]]
_references_upvr.Main.sounds.UI.Click:Play()
_services_upvr.TweenService:Create(var94_upvr.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1;
}):Play()
_services_upvr.TweenService:Create(var94_upvr.background, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr_3.Text;
}):Play()
_services_upvr.TweenService:Create(var94_upvr.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
if v_6_upvr == "confirm" then
arg1.maid:DoCleaning()
arg1.core:SetAttribute("freeze", false)
arg1.bulkFadeGroups.page:FadeOut()
if arg1.value then
arg2.Value = arg1.value
arg1.event:Fire(arg2)
any_new_result1_upvr:send("replicateValue", arg2, arg2.Value)
end
task.wait(0.2)
menu_upvr.color.Visible = false
else
if v_6_upvr == "revert" then
arg1.value = arg2.DefaultValue.Value
local any_ToHSV_result1_2, any_ToHSV_result2_4, any_ToHSV_result3_2 = arg1.value:ToHSV()
any_ToHSV_result1_4_upvw = any_ToHSV_result1_2
any_ToHSV_result2_3_upvw = any_ToHSV_result2_4
any_ToHSV_result3_4_upvw = any_ToHSV_result3_2
var66_upvw = {
r = arg1.value.R * 255;
g = arg1.value.G * 255;
b = arg1.value.B * 255;
h = any_ToHSV_result1_4_upvw * 360;
s = any_ToHSV_result2_3_upvw * 100;
v = any_ToHSV_result3_4_upvw * 100;
}
update_upvr()
return
end
arg1.maid:DoCleaning()
arg1.core:SetAttribute("freeze", false)
arg1.bulkFadeGroups.page:FadeOut()
task.wait(0.2)
menu_upvr.color.Visible = false
end
end)
end
end
return module_2_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:57:19
-- Luau version 6, Types version 3
-- Time taken: 0.025716 seconds
local _engine = _G._engine
local _references_upvr = _G._references
local _services_upvr = _G._services
local PlayerGui_upvr = _references_upvr.PlayerGui
local menu_upvr = PlayerGui_upvr:WaitForChild("menu", 100)
local function isSpinTool_upvr(arg1) -- Line 23, Named "isSpinTool"
for _, v in pairs({"Backspin", "Topspin", "Knuckle", "GKtopspin"}) do
if arg1:gsub(" %(Gamepad%)$", "") == v then
return true
end
end
return false
end
local module_2_upvr = {}
module_2_upvr.__index = module_2_upvr
local any_load_result1_upvr_2 = _engine:load("BulkFade", "utils")
local BindableEvent_upvr = Instance.new("BindableEvent")
local any_load_result1_upvr_3 = _engine:load("Maid")
function module_2_upvr.new(arg1) -- Line 39
--[[ Upvalues[5]:
[1]: any_load_result1_upvr_2 (readonly)
[2]: menu_upvr (readonly)
[3]: BindableEvent_upvr (readonly)
[4]: any_load_result1_upvr_3 (readonly)
[5]: module_2_upvr (readonly)
]]
local tbl_3 = {
page = any_load_result1_upvr_2.CreateGroup(menu_upvr.bind:GetDescendants(), TweenInfo.new(0.2, Enum.EasingStyle.Quint, Enum.EasingDirection.Out));
}
tbl_3.page:FadeOut()
local module = {
event = BindableEvent_upvr;
bulkFadeGroups = tbl_3;
maid = any_load_result1_upvr_3.new();
}
module.core = arg1
return setmetatable(module, module_2_upvr)
end
local any_load_result1_upvr = _engine:load("Theme", "utils")
local any_new_result1_upvr = _engine:load("Network").new()
function module_2_upvr.prompt(arg1, arg2, arg3, arg4) -- Line 53
--[[ Upvalues[7]:
[1]: PlayerGui_upvr (readonly)
[2]: menu_upvr (readonly)
[3]: _services_upvr (readonly)
[4]: _references_upvr (readonly)
[5]: any_load_result1_upvr (readonly)
[6]: isSpinTool_upvr (readonly)
[7]: any_new_result1_upvr (readonly)
]]
if arg3 == nil then
assert(arg1.bulkFadeGroups, "Binder [prompt]: Run '.new()' before calling :prompt()!")
arg1.core:SetAttribute("freeze", true)
if arg1.core.Parent then
arg1.core.Parent:SetAttribute("freeze", true)
end
PlayerGui_upvr.menu.menu:SetAttribute("freeze", true)
menu_upvr.bind.Visible = true
menu_upvr.bind.main.title.Text = string.upper(arg2.Name or "EDIT BIND")
if typeof(arg2.Value) ~= "string" or not arg2.Value then
end
menu_upvr.bind.main.bind.value.Text = string.format("[%s]", string.upper(tostring(arg2.Value)))
arg1.bulkFadeGroups.page:FadeIn()
arg1.maid.inputBegan = _services_upvr.UserInputService.InputBegan:Connect(function(arg1_2, arg2_2) -- Line 72
--[[ Upvalues[6]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
[3]: _references_upvr (copied, readonly)
[4]: menu_upvr (copied, readonly)
[5]: _services_upvr (copied, readonly)
[6]: any_load_result1_upvr (copied, readonly)
]]
if not arg1.debounce then
local var47
if not var47 then
var47 = arg1_2.KeyCode.Name
if var47 == "Unknown" then
var47 = arg1_2.UserInputType.Name
if var47 == "MouseMovement" then return end
end
if var47 == "Touch" then return end
local var48 = false
if not arg2.Name:find("%(Gamepad%)$") then
for _, v_2 in next, arg2.Parent:GetChildren() do
if v_2 and v_2.Name ~= arg2.Name and typeof(v_2.Value) == "string" and string.lower(v_2.Value) == string.lower(var47) then
var48 = true
end
end
end
if var48 then
_references_upvr.Main.sounds.UI.Error:Play()
menu_upvr.bind.main.bind.value.TextColor3 = Color3.fromRGB(255, 0, 0)
_services_upvr.TweenService:Create(menu_upvr.bind.main.bind.value, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr.Accent;
}):Play()
arg1.debounce = true
menu_upvr.bind.main.bind.value:TweenPosition(UDim2.new(0.5, -15, 0.5, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Quad, 0.05, true)
task.wait(0.05)
menu_upvr.bind.main.bind.value:TweenPosition(UDim2.new(0.5, 0, 0.5, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Elastic, 0.25, true)
arg1.debounce = false
return
end
arg1.value = var47
_references_upvr.Main.sounds.UI.Click:Play()
menu_upvr.bind.main.bind.value.Text = string.format("[%s]", string.upper(var47))
end
end
end)
for _, v_3_upvr in next, {"confirm", "cancel"} do
local var53_upvr = menu_upvr.bind.main.buttons[v_3_upvr]
arg1.maid[v_3_upvr.."_mouseEnter"] = var53_upvr.button.MouseEnter:Connect(function() -- Line 125
--[[ Upvalues[5]:
[1]: arg1 (readonly)
[2]: _references_upvr (copied, readonly)
[3]: _services_upvr (copied, readonly)
[4]: var53_upvr (readonly)
[5]: any_load_result1_upvr (copied, readonly)
]]
arg1.mouseOver = true
_references_upvr.Main.sounds.UI.Hover:Play()
_services_upvr.TweenService:Create(var53_upvr.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1.03;
}):Play()
_services_upvr.TweenService:Create(var53_upvr.background, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Accent;
}):Play()
_services_upvr.TweenService:Create(var53_upvr.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr.Text;
}):Play()
end)
arg1.maid[v_3_upvr.."_mouseLeave"] = var53_upvr.button.MouseLeave:Connect(function() -- Line 133
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: _services_upvr (copied, readonly)
[3]: var53_upvr (readonly)
[4]: any_load_result1_upvr (copied, readonly)
]]
arg1.mouseOver = false
_services_upvr.TweenService:Create(var53_upvr.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1;
}):Play()
_services_upvr.TweenService:Create(var53_upvr.background, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Text;
}):Play()
_services_upvr.TweenService:Create(var53_upvr.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end)
arg1.maid[v_3_upvr.."_mouseButton1Down"] = var53_upvr.button.MouseButton1Down:Connect(function() -- Line 140
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: _services_upvr (copied, readonly)
[3]: var53_upvr (readonly)
]]
arg1.mouseOver = true
_services_upvr.TweenService:Create(var53_upvr.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Scale = 0.9;
}):Play()
end)
arg1.maid[v_3_upvr.."_inputEnded"] = _services_upvr.UserInputService.InputEnded:Connect(function(arg1_3, arg2_3) -- Line 145
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1.mouseOver = false
if arg1_3.UserInputType ~= Enum.UserInputType.MouseButton1 then
if arg1_3.UserInputType ~= Enum.UserInputType.Touch then
else
end
end
end)
arg1.maid[v_3_upvr.."_mouseButton1Click"] = var53_upvr.button.MouseButton1Click:Connect(function() -- Line 152
--[[ Upvalues[11]:
[1]: _references_upvr (copied, readonly)
[2]: _services_upvr (copied, readonly)
[3]: var53_upvr (readonly)
[4]: any_load_result1_upvr (copied, readonly)
[5]: v_3_upvr (readonly)
[6]: arg1 (readonly)
[7]: PlayerGui_upvr (copied, readonly)
[8]: arg2 (readonly)
[9]: isSpinTool_upvr (copied, readonly)
[10]: any_new_result1_upvr (copied, readonly)
[11]: menu_upvr (copied, readonly)
]]
_references_upvr.Main.sounds.UI.Click:Play()
_services_upvr.TweenService:Create(var53_upvr.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1;
}):Play()
_services_upvr.TweenService:Create(var53_upvr.background, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Text;
}):Play()
_services_upvr.TweenService:Create(var53_upvr.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
if v_3_upvr == "confirm" then
arg1.maid:DoCleaning()
arg1.core:SetAttribute("freeze", false)
if arg1.core.Parent then
arg1.core.Parent:SetAttribute("freeze", false)
end
PlayerGui_upvr.menu.menu:SetAttribute("freeze", false)
arg1.bulkFadeGroups.page:FadeOut()
if arg1.value then
if arg2.Name:find("%(Gamepad%)$") then
local isSpinTool_upvr_result1 = isSpinTool_upvr(arg2.Name)
for _, v_4 in pairs(_references_upvr.Profile.binds:GetChildren()) do
if v_4:IsA("Folder") then
for _, v_5 in pairs(v_4:GetChildren()) do
if v_5 and v_5.Name ~= arg2.Name and v_5.Name:find("%(Gamepad%)$") and typeof(v_5.Value) == "string" and string.lower(v_5.Value) == string.lower(arg1.value) then
local isSpinTool_upvr_result1_2 = isSpinTool_upvr(v_5.Name)
if isSpinTool_upvr_result1 and isSpinTool_upvr_result1_2 or not isSpinTool_upvr_result1 and not isSpinTool_upvr_result1_2 then
v_5.Value = ""
any_new_result1_upvr:send("replicateValue", v_5, "")
arg1.event:Fire(v_5)
end
end
end
end
end
end
arg2.Value = arg1.value
arg1.event:Fire(arg2)
any_new_result1_upvr:send("replicateValue", arg2, arg2.Value)
end
task.wait(0.2)
menu_upvr.bind.Visible = false
else
arg1.maid:DoCleaning()
arg1.core:SetAttribute("freeze", false)
if arg1.core.Parent then
arg1.core.Parent:SetAttribute("freeze", false)
end
PlayerGui_upvr.menu.menu:SetAttribute("freeze", false)
arg1.bulkFadeGroups.page:FadeOut()
task.wait(0.2)
menu_upvr.bind.Visible = false
end
end)
end
else
menu_upvr.bind.main.bind.value.Text = string.format("[%s]", string.upper(arg4))
arg1.value = arg4
arg2.Value = arg1.value
any_new_result1_upvr:send("replicateValue", arg2, arg2.Value)
arg1.event:Fire(arg2)
end
end
return module_2_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:57:22
-- Luau version 6, Types version 3
-- Time taken: 0.039314 seconds
local _engine = _G._engine
local _references_upvr = _G._references
local _services_upvr = _G._services
local menu_upvr = _references_upvr.PlayerGui:WaitForChild("menu", 100)
local module_2_upvr = {}
module_2_upvr.__index = module_2_upvr
local any_load_result1_upvr_2 = _engine:load("BulkFade", "utils")
local any_load_result1_upvr = _engine:load("Maid")
function module_2_upvr.new(arg1) -- Line 26
--[[ Upvalues[4]:
[1]: any_load_result1_upvr_2 (readonly)
[2]: menu_upvr (readonly)
[3]: any_load_result1_upvr (readonly)
[4]: module_2_upvr (readonly)
]]
local tbl = {
page = any_load_result1_upvr_2.CreateGroup(menu_upvr.purchase:GetDescendants(), TweenInfo.new(0.2, Enum.EasingStyle.Quint, Enum.EasingDirection.Out));
}
tbl.page:FadeOut()
local module = {
event = Instance.new("BindableEvent");
bulkFadeGroups = tbl;
maid = any_load_result1_upvr.new();
}
module.core = arg1
return setmetatable(module, module_2_upvr)
end
local any_load_result1_upvr_3 = _engine:load("FormatNumber", "utils")
local Profile_upvr = _references_upvr.Profile
local LocalPlayer_upvr = _services_upvr.Players.LocalPlayer
local any_load_result1_upvr_4 = _engine:load("Theme", "utils")
local any_new_result1_upvr_2 = _engine:load("Network").new()
local any_new_result1_upvr = _engine:load("Notification").new()
function module_2_upvr.prompt(arg1, arg2, arg3) -- Line 40
--[[ Upvalues[9]:
[1]: menu_upvr (readonly)
[2]: _services_upvr (readonly)
[3]: any_load_result1_upvr_3 (readonly)
[4]: Profile_upvr (readonly)
[5]: LocalPlayer_upvr (readonly)
[6]: _references_upvr (readonly)
[7]: any_load_result1_upvr_4 (readonly)
[8]: any_new_result1_upvr_2 (readonly)
[9]: any_new_result1_upvr (readonly)
]]
assert(arg1.bulkFadeGroups, "Purchase [prompt]: Run '.new()' before calling :prompt()!")
local any_GenerateGUID_result1_upvr = _services_upvr.HttpService:GenerateGUID(false)
local purchase_upvr = menu_upvr.purchase.main.purchase.purchase
menu_upvr.purchase.Visible = true
menu_upvr.purchase.main.info.title.Text = string.upper(arg2.Name)
menu_upvr.purchase.main.info.category.Text = string.upper(arg3)
arg1.session = any_GenerateGUID_result1_upvr
if arg2:FindFirstChild("Price") and 0 < arg2.Price.Value then
menu_upvr.purchase.main.purchase.price.price.Text = any_load_result1_upvr_3.FormatLong(arg2.Price.Value)
else
menu_upvr.purchase.main.purchase.price.price.Text = "FREE"
end
menu_upvr.purchase.main.purchase.owned.Visible = false
menu_upvr.purchase.main.purchase.purchase.Visible = true
menu_upvr.purchase.main.purchase.purchase.background.BackgroundTransparency = 0
menu_upvr.purchase.main.purchase.purchase.UIStroke.Transparency = 0
menu_upvr.purchase.main.purchase.purchase.label.TextTransparency = 0
if Profile_upvr.inventory[arg3]:FindFirstChild(arg2.Name) then
menu_upvr.purchase.main.purchase.owned.Visible = true
menu_upvr.purchase.main.purchase.purchase.Visible = false
end
task.spawn(function() -- Line 72
--[[ Upvalues[8]:
[1]: menu_upvr (copied, readonly)
[2]: LocalPlayer_upvr (copied, readonly)
[3]: _references_upvr (copied, readonly)
[4]: Profile_upvr (copied, readonly)
[5]: arg3 (readonly)
[6]: arg2 (readonly)
[7]: arg1 (readonly)
[8]: _services_upvr (copied, readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 190 start (CF ANALYSIS FAILED)
local var160
if menu_upvr.purchase.main.viewport.viewport.WorldModel:FindFirstChild("previewer") then
var160 = menu_upvr.purchase.main.viewport.viewport.WorldModel.previewer
else
var160 = workspace.game.rigs.previewer:Clone()
local pcall_result1_2, pcall_result2_2 = pcall(function() -- Line 80
--[[ Upvalues[1]:
[1]: LocalPlayer_upvr (copied, readonly)
]]
return _G._services.Players:GetCharacterAppearanceAsync(LocalPlayer_upvr.UserId)
end)
if pcall_result1_2 and pcall_result2_2 then
for _, v in next, pcall_result2_2:GetChildren() do
if v:IsA("Accessory") and not v:FindFirstChildWhichIsA("WrapLayer", true) then
v.Parent = var160
elseif v:IsA("BodyColors") then
v.Parent = var160
elseif v:IsA("Decal") and v.Name == "face" then
var160.Head.face.Texture = v.Texture
end
end
end
var160.Parent = workspace
end
var160.Accessories:ClearAllChildren()
var160.Ball.design:ClearAllChildren()
var160.RightHand.Transparency = 0
var160.LeftHand.Transparency = 0
for _, v_2 in next, var160.Gloves:GetChildren() do
_ = next
for _, v_3 in next, v_2:GetChildren() do
v_3.Transparency = 1
end
end
-- KONSTANTERROR: [0] 1. Error Block 190 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [162] 104. Error Block 171 start (CF ANALYSIS FAILED)
for _, v_4 in next, var160.RightBoot:GetChildren() do
if v_4 and v_4:IsA("SurfaceAppearance") then
v_4:Destroy()
end
end
for _, v_5 in next, var160.LeftBoot:GetChildren() do
if v_5 and v_5:IsA("SurfaceAppearance") then
v_5:Destroy()
end
end
var160.RightBoot.TextureID = _references_upvr.Main.boots[Profile_upvr.inventory.Current.Boots.Value].TextureID
var160.LeftBoot.TextureID = _references_upvr.Main.boots[Profile_upvr.inventory.Current.Boots.Value].TextureID
if _references_upvr.Main.boots[Profile_upvr.inventory.Current.Boots.Value]:FindFirstChild("SurfaceAppearance") then
_references_upvr.Main.boots[Profile_upvr.inventory.Current.Boots.Value].SurfaceAppearance:Clone().Parent = var160.RightBoot
_references_upvr.Main.boots[Profile_upvr.inventory.Current.Boots.Value].SurfaceAppearance:Clone().Parent = var160.LeftBoot
end
-- KONSTANTERROR: [162] 104. Error Block 171 end (CF ANALYSIS FAILED)
end)
arg1.core:SetAttribute("freeze", true)
arg1.bulkFadeGroups.page:FadeIn()
arg1.maid.mouseEnter = purchase_upvr.button.MouseEnter:Connect(function() -- Line 270
--[[ Upvalues[4]:
[1]: _references_upvr (copied, readonly)
[2]: _services_upvr (copied, readonly)
[3]: purchase_upvr (readonly)
[4]: any_load_result1_upvr_4 (copied, readonly)
]]
_references_upvr.Main.sounds.UI.Hover:Play()
_services_upvr.TweenService:Create(purchase_upvr.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1.03;
}):Play()
_services_upvr.TweenService:Create(purchase_upvr.background, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr_4.Accent;
}):Play()
_services_upvr.TweenService:Create(purchase_upvr.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr_4.Text;
}):Play()
end)
arg1.maid.mouseLeave = purchase_upvr.button.MouseLeave:Connect(function() -- Line 277
--[[ Upvalues[3]:
[1]: _services_upvr (copied, readonly)
[2]: purchase_upvr (readonly)
[3]: any_load_result1_upvr_4 (copied, readonly)
]]
_services_upvr.TweenService:Create(purchase_upvr.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1;
}):Play()
_services_upvr.TweenService:Create(purchase_upvr.background, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr_4.Text;
}):Play()
_services_upvr.TweenService:Create(purchase_upvr.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end)
arg1.maid.mouseButton1Down = purchase_upvr.button.MouseButton1Down:Connect(function() -- Line 283
--[[ Upvalues[2]:
[1]: _services_upvr (copied, readonly)
[2]: purchase_upvr (readonly)
]]
_services_upvr.TweenService:Create(purchase_upvr.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Scale = 0.9;
}):Play()
end)
arg1.maid.inputEnded = _services_upvr.UserInputService.InputEnded:Connect(function(arg1_3, arg2_2) -- Line 287
if arg1_3.UserInputType ~= Enum.UserInputType.MouseButton1 then
if arg1_3.UserInputType ~= Enum.UserInputType.Touch then
else
end
end
end)
local var186_upvw = false
arg1.maid.mouseButton1Click = purchase_upvr.button.MouseButton1Click:Connect(function() -- Line 293
--[[ Upvalues[11]:
[1]: _references_upvr (copied, readonly)
[2]: _services_upvr (copied, readonly)
[3]: purchase_upvr (readonly)
[4]: any_load_result1_upvr_4 (copied, readonly)
[5]: var186_upvw (read and write)
[6]: any_new_result1_upvr_2 (copied, readonly)
[7]: arg2 (readonly)
[8]: arg3 (readonly)
[9]: arg1 (readonly)
[10]: any_new_result1_upvr (copied, readonly)
[11]: menu_upvr (copied, readonly)
]]
_references_upvr.Main.sounds.UI.Click:Play()
_services_upvr.TweenService:Create(purchase_upvr.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1;
}):Play()
_services_upvr.TweenService:Create(purchase_upvr.background, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr_4.Text;
}):Play()
_services_upvr.TweenService:Create(purchase_upvr.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
if not var186_upvw then
var186_upvw = true
_services_upvr.TweenService:Create(purchase_upvr.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 1;
}):Play()
task.wait(0.15)
_services_upvr.TweenService:Create(purchase_upvr.loading, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 0;
}):Play()
task.wait(0.3)
local any_fetch_result1, any_fetch_result2_upvr = any_new_result1_upvr_2:fetch("purchase", arg2, arg3)
_services_upvr.TweenService:Create(purchase_upvr.loading, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 1;
}):Play()
task.wait(0.15)
if any_fetch_result1 == "success" then
_services_upvr.TweenService:Create(purchase_upvr.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 1;
}):Play()
_services_upvr.TweenService:Create(purchase_upvr.UIStroke, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Transparency = 1;
}):Play()
arg1.event:Fire(arg2)
_references_upvr.Main.sounds.UI.Purchase:Play()
task.spawn(function() -- Line 319
--[[ Upvalues[2]:
[1]: any_new_result1_upvr (copied, readonly)
[2]: any_fetch_result2_upvr (readonly)
]]
any_new_result1_upvr:create(string.upper(any_fetch_result2_upvr), Color3.fromRGB(69, 255, 162))
end)
task.wait(0.15)
purchase_upvr.Visible = false
menu_upvr.purchase.main.purchase.owned.Visible = true
menu_upvr.purchase.main.purchase.owned.UIStroke.Transparency = 1
menu_upvr.purchase.main.purchase.owned.label.icon.ImageTransparency = 1
menu_upvr.purchase.main.purchase.owned.label.label.TextTransparency = 1
_services_upvr.TweenService:Create(menu_upvr.purchase.main.purchase.owned.label.icon, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 0;
}):Play()
_services_upvr.TweenService:Create(menu_upvr.purchase.main.purchase.owned.label.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 0;
}):Play()
_services_upvr.TweenService:Create(menu_upvr.purchase.main.purchase.owned.UIStroke, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Transparency = 0;
}):Play()
task.wait(0.15)
var186_upvw = false
return
end
_references_upvr.Main.sounds.UI.Error:Play()
task.spawn(function() -- Line 339
--[[ Upvalues[2]:
[1]: any_new_result1_upvr (copied, readonly)
[2]: any_fetch_result2_upvr (readonly)
]]
any_new_result1_upvr:create(string.upper(any_fetch_result2_upvr), Color3.fromRGB(255, 61, 61))
end)
purchase_upvr.label.TextColor3 = Color3.fromRGB(255, 0, 0)
_services_upvr.TweenService:Create(purchase_upvr.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 0;
}):Play()
_services_upvr.TweenService:Create(purchase_upvr.label, TweenInfo.new(0.3, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
purchase_upvr.label:TweenPosition(UDim2.new(0.5, -15, 0.5, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Quad, 0.05, true)
task.wait(0.05)
purchase_upvr.label:TweenPosition(UDim2.new(0.5, 0, 0.5, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Elastic, 0.25, true)
task.wait(0.1)
var186_upvw = false
end
end)
local CFrame_upvr = menu_upvr.purchase.main.viewport.viewport.CurrentCamera.CFrame
arg1.maid.back = menu_upvr.purchase.main.info.back.MouseButton1Click:Connect(function() -- Line 356
--[[ Upvalues[4]:
[1]: _references_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: menu_upvr (copied, readonly)
[4]: CFrame_upvr (readonly)
]]
_references_upvr.Main.sounds.UI.Click:Play()
arg1.session = nil
arg1.maid:DoCleaning()
arg1.core:SetAttribute("freeze", false)
arg1.bulkFadeGroups.page:FadeOut()
task.wait(0.2)
menu_upvr.purchase.main.viewport.viewport.CurrentCamera.CFrame = CFrame_upvr
menu_upvr.purchase.main.viewport.viewport.CurrentCamera.FieldOfView = 30
menu_upvr.purchase.Visible = false
end)
task.spawn(function() -- Line 371
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: any_GenerateGUID_result1_upvr (readonly)
[3]: purchase_upvr (readonly)
[4]: _services_upvr (copied, readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 8 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 8 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [4] 4. Error Block 9 start (CF ANALYSIS FAILED)
if arg1.session == any_GenerateGUID_result1_upvr then
purchase_upvr.loading.Rotation = 0
_services_upvr.TweenService:Create(purchase_upvr.loading, TweenInfo.new(0.35, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut), {
Rotation = 360;
}):Play()
task.wait(0.35)
-- KONSTANTWARNING: GOTO [46] #33
end
-- KONSTANTERROR: [4] 4. Error Block 9 end (CF ANALYSIS FAILED)
end)
end
return module_2_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:57:23
-- Luau version 6, Types version 3
-- Time taken: 0.018449 seconds
local engine = require(game:GetService("ReplicatedStorage").engine)
local module_upvr = {
_appearance = require(script._appearance);
_ball = require(script._ball);
_rotate = require(script._rotate);
_maid = engine:load("Maid").new();
_array = script._array;
_objectsToRotate = {};
}
function module_upvr.create(arg1, arg2) -- Line 51
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
assert(arg2, "Viewport [create]: table 'Args' not found, will return nil.")
assert(arg2._viewport, "Viewport [create]: viewportFrame '_viewport' not found, will return nil.")
assert(arg2._model, "Viewport [create]: basePart '_model' not found, will return nil.")
local clone = arg2._model:Clone()
clone.Parent = workspace.game.debug
local var12
if arg2._loadAppearance then
var12 = arg2._player
module_upvr._appearance:load(var12, clone)
end
if arg2._shirt then
for _, v in next, clone:GetChildren() do
if v:IsA("Shirt") then
v:Destroy()
end
end
arg2._shirt:Clone().Parent = clone
end
if arg2._pants then
local children, NONE = clone:GetChildren()
for _, v_2 in next, children, NONE do
if v_2:IsA("Pants") then
v_2:Destroy()
end
end
arg2._pants:Clone().Parent = clone
end
if arg2._ball then
NONE = clone
module_upvr._ball:create(NONE, arg2._ballOffset, arg2._hideBall)
end
NONE = "WorldModel"
local SOME = arg2._viewport:FindFirstChild(NONE)
if not SOME then
NONE = "WorldModel"
SOME = Instance.new(NONE, arg2._viewport)
end
local clone_upvr = clone:Clone()
clone_upvr.Parent = SOME
NONE = clone_upvr:FindFirstChild("HumanoidRootPart")
if NONE then
NONE = clone_upvr.HumanoidRootPart
clone_upvr.PrimaryPart = NONE
end
NONE = nil
if arg2._animationData then
local Animation = Instance.new("Animation", clone)
Animation.AnimationId = arg2._animationData._id
NONE = clone_upvr.Humanoid.Animator:LoadAnimation(Animation)
if arg2._animationData._looped then
NONE.Looped = true
NONE:Play(0)
else
NONE:Play()
end
end
local Camera_upvr = Instance.new("Camera", arg2._viewport)
Camera_upvr.FieldOfView = arg2._cameraFOV or 70
if clone_upvr:FindFirstChild("HumanoidRootPart") then
if arg2._cameraOffset then
Camera_upvr.CFrame = clone_upvr.HumanoidRootPart.CFrame * arg2._cameraOffset
else
Camera_upvr.CFrame = clone_upvr.HumanoidRootPart.CFrame * CFrame.new(-2, 0, -5.6) * CFrame.Angles(math.pi, -0.4, (-math.pi))
end
-- KONSTANTWARNING: GOTO [397] #276
end
if clone_upvr:IsA("Model") and not arg2._usePrimaryPart then
local any_GetBoundingBox_result1_2, _ = clone_upvr:GetBoundingBox()
if arg2._cameraOffset then
Camera_upvr.CFrame = any_GetBoundingBox_result1_2 * arg2._cameraOffset
else
Camera_upvr.CFrame = any_GetBoundingBox_result1_2 * CFrame.new(-0.4, 0, -2) * CFrame.Angles(math.pi, -0.2, (-math.pi))
end
elseif clone_upvr:IsA("Model") and clone_upvr.PrimaryPart or clone_upvr:IsA("Folder") and clone_upvr:FindFirstChild("PrimaryPart") or arg2._usePrimaryPart then
if arg2._cameraOffset then
Camera_upvr.CFrame = clone_upvr.PrimaryPart.CFrame * arg2._cameraOffset
else
Camera_upvr.CFrame = clone_upvr.PrimaryPart.CFrame * CFrame.new(-0.4, 0, -2) * CFrame.Angles(math.pi, -0.2, (-math.pi))
end
elseif clone_upvr:IsA("Accessory") then
if arg2._cameraOffset then
Camera_upvr.CFrame = clone_upvr.Handle.CFrame * arg2._cameraOffset
else
Camera_upvr.CFrame = clone_upvr.Handle.CFrame * CFrame.new(-0.4, 0, -2) * CFrame.Angles(math.pi, -0.2, (-math.pi))
end
elseif clone_upvr:IsA("BasePart") then
if arg2._cameraOffset then
Camera_upvr.CFrame = clone_upvr.CFrame * arg2._cameraOffset
else
Camera_upvr.CFrame = clone_upvr.CFrame * CFrame.new(1.75, 0, -1.3) * CFrame.Angles(math.pi, 1, (-math.pi))
end
end
arg2._viewport.CurrentCamera = Camera_upvr
clone:Destroy()
if arg2._rotate then
if arg2._rotate == "Array" then
local var23
local var24
if clone_upvr:IsA("Model") then
local any_GetBoundingBox_result1, any_GetBoundingBox_result2 = clone_upvr:GetBoundingBox()
var23 = any_GetBoundingBox_result1
var24 = any_GetBoundingBox_result2
else
var23 = clone_upvr.CFrame
var24 = clone_upvr.Size
end
local ObjectValue = Instance.new("ObjectValue")
ObjectValue.Name = clone_upvr.Name
ObjectValue.Value = clone_upvr
local CFrameValue = Instance.new("CFrameValue")
CFrameValue.Name = "viewportCFrame"
CFrameValue.Value = var23
CFrameValue.Parent = ObjectValue
local Vector3Value = Instance.new("Vector3Value")
Vector3Value.Name = "viewportSize"
Vector3Value.Value = var24
Vector3Value.Parent = ObjectValue
local ObjectValue_2 = Instance.new("ObjectValue")
ObjectValue_2.Name = "viewportCamera"
ObjectValue_2.Value = Camera_upvr
ObjectValue_2.Parent = ObjectValue
local NumberValue = Instance.new("NumberValue")
NumberValue.Name = "viewportDistance"
NumberValue.Value = arg2._viewportDistance or 0.8
NumberValue.Parent = ObjectValue
ObjectValue.Parent = module_upvr._array
module_upvr._maid:GiveTask(ObjectValue)
else
task.spawn(function() -- Line 231
--[[ Upvalues[4]:
[1]: module_upvr (copied, readonly)
[2]: clone_upvr (readonly)
[3]: Camera_upvr (readonly)
[4]: arg2 (readonly)
]]
module_upvr._rotate:start(clone_upvr, Camera_upvr, arg2._rotate or "Dynamic", arg2._viewportDistance or 0.8)
end)
end
end
if arg2._return then
if arg2._return == "Camera" then
return {Camera_upvr, clone_upvr}
end
if arg2._return == "Animation" then
return {clone_upvr, NONE}
end
return clone_upvr
end
end
local Services_upvr = engine.Services
function module_upvr.rotateArray(arg1) -- Line 252
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: Services_upvr (readonly)
]]
local function addObject_upvr(arg1_2) -- Line 253, Named "addObject"
--[[ Upvalues[1]:
[1]: module_upvr (copied, readonly)
]]
module_upvr._objectsToRotate[arg1_2.Value] = {arg1_2:WaitForChild("viewportCFrame", 100).Value, arg1_2:WaitForChild("viewportSize", 100).Value, arg1_2:WaitForChild("viewportCamera", 100).Value, arg1_2:WaitForChild("viewportDistance", 100).Value}
end
for _, v_3 in next, module_upvr._array:GetChildren() do
if v_3 then
addObject_upvr(v_3)
end
end
module_upvr._maid.ChildAdded = module_upvr._array.ChildAdded:Connect(function(arg1_3) -- Line 269
--[[ Upvalues[1]:
[1]: addObject_upvr (readonly)
]]
addObject_upvr(arg1_3)
end)
module_upvr._maid.Heartbeat = Services_upvr.RunService.Heartbeat:Connect(function(arg1_4) -- Line 273
--[[ Upvalues[2]:
[1]: module_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
]]
for i_4, v_4 in next, module_upvr._objectsToRotate do
if i_4 and v_4 then
local var45 = os.clock() / 2
Services_upvr.TweenService:Create(v_4[3], TweenInfo.new(arg1_4, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut), {
CFrame = v_4[1] * CFrame.Angles(0, var45 % (-math.pi*2), 0) * CFrame.Angles(math.sin(var45 * 0.5) * 0.25 - 0.3, 0, 0) * CFrame.new(0, 0, v_4[2].Magnitude * (v_4[4] or 0.8));
}):Play()
end
end
end)
end
function module_upvr.stopRotation(arg1) -- Line 286
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
module_upvr._maid:DoCleaning()
end
function module_upvr.new(arg1) -- Line 290
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
assert(arg1, "Viewport [new]: table 'Args' not found, will return nil.")
if arg1._type and arg1._type == "Item" then
module_upvr:create({
_viewport = arg1._viewport;
_model = arg1._model;
})
else
if arg1._return then
return module_upvr:create(arg1)
end
module_upvr:create(arg1)
end
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:57:25
-- Luau version 6, Types version 3
-- Time taken: 0.001274 seconds
local module = {}
local References_upvr = require(game:GetService("ReplicatedStorage").engine).References
function module.create(arg1, arg2) -- Line 18
--[[ Upvalues[1]:
[1]: References_upvr (readonly)
]]
local clone = References_upvr.Main.balls["Adidas RF Pro 23/24"]:Clone()
clone.Parent = arg2.Ball.design
clone.Size = arg2.Ball.Size
clone.CFrame = arg2.Ball.CFrame
arg2.Ball.Transparency = 1
local WeldConstraint = Instance.new("WeldConstraint", clone)
WeldConstraint.Part0 = clone
WeldConstraint.Part1 = arg2.Ball
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:57:26
-- Luau version 6, Types version 3
-- Time taken: 0.000967 seconds
local module = {}
local Players_upvr = require(game:GetService("ReplicatedStorage").engine).Services.Players
function module.load(arg1, arg2, arg3) -- Line 18
--[[ Upvalues[1]:
[1]: Players_upvr (readonly)
]]
arg3.Humanoid:ApplyDescription(Players_upvr:GetHumanoidDescriptionFromUserId(arg2.UserId))
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:57:28
-- Luau version 6, Types version 3
-- Time taken: 0.003953 seconds
local engine_upvr = require(game:GetService("ReplicatedStorage").engine)
local Services_upvr = engine_upvr.Services
local module = {}
local RunService_upvr = Services_upvr.RunService
function module.start(arg1, arg2, arg3, arg4, arg5) -- Line 17
--[[ Upvalues[3]:
[1]: Services_upvr (readonly)
[2]: engine_upvr (readonly)
[3]: RunService_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [1] 2. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [1] 2. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [166] 117. Error Block 18 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [166.12]
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [167.13]
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [168.11]
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [172.5]
local var6_upvw
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [172.6]
local var7_upvw
local var8_upvr = nil / 2 / nil + nil
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [180.9]
nil.Heartbeat = RunService_upvr.Heartbeat:Connect(function(arg1_2) -- Line 51
--[[ Upvalues[4]:
[1]: var6_upvw (read and write)
[2]: arg3 (readonly)
[3]: var7_upvw (read and write)
[4]: var8_upvr (readonly)
]]
var6_upvw += 1 * arg1_2 * 60
arg3.CFrame = var7_upvw * CFrame.fromEulerAnglesYXZ(0, -math.rad(var6_upvw), 0) * CFrame.new(0, 0, var8_upvr)
end)
local var10_upvr
var10_upvr.AncestryChanged = arg2.AncestryChanged:Connect(function() -- Line 56
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: var10_upvr (readonly)
]]
if not arg2.Parent or arg2.Parent and not arg2.Parent.Parent then
var10_upvr:DoCleaning()
end
end)
do
return
end
-- KONSTANTERROR: [166] 117. Error Block 18 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [194] 139. Error Block 35 start (CF ANALYSIS FAILED)
var6_upvw = nil
local var11_upvw = var6_upvw
var7_upvw = nil
local var12_upvw = var7_upvw
local any_new_result1_upvr = engine_upvr:load("Maid").new()
if arg2:IsA("Model") then
local any_GetBoundingBox_result1, any_GetBoundingBox_result2 = arg2:GetBoundingBox()
var11_upvw = any_GetBoundingBox_result1
var12_upvw = any_GetBoundingBox_result2
else
var11_upvw = arg2.CFrame
var12_upvw = arg2.Size
end
any_new_result1_upvr.Heartbeat = RunService_upvr.Heartbeat:Connect(function(arg1_3) -- Line 72
--[[ Upvalues[5]:
[1]: var11_upvw (read and write)
[2]: var12_upvw (read and write)
[3]: arg5 (readonly)
[4]: Services_upvr (copied, readonly)
[5]: arg3 (readonly)
]]
local var17 = os.clock() / 2
Services_upvr.TweenService:Create(arg3, TweenInfo.new(arg1_3, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut), {
CFrame = var11_upvw * CFrame.Angles(0, var17 % (-math.pi*2), 0) * CFrame.Angles(math.sin(var17 * 0.5) * 0.25 - 0.3, 0, 0) * CFrame.new(0, 0, var12_upvw.Magnitude * (arg5 or 0.8));
}):Play()
end)
any_new_result1_upvr.AncestryChanged = arg2.AncestryChanged:Connect(function() -- Line 79
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: any_new_result1_upvr (readonly)
]]
if not arg2.Parent or arg2.Parent and not arg2.Parent.Parent then
any_new_result1_upvr:DoCleaning()
end
end)
-- KONSTANTERROR: [194] 139. Error Block 35 end (CF ANALYSIS FAILED)
end
function module.clear(arg1) -- Line 87
maid:DoCleaning()
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:57:29
-- Luau version 6, Types version 3
-- Time taken: 0.002418 seconds
local module_2_upvr = {}
module_2_upvr.__index = module_2_upvr
module_2_upvr.Topic = script.Topic
module_2_upvr.TopicThread = script.TopicThread
local Topic_upvr = require(script.Topic)
function module_2_upvr.getData(arg1) -- Line 17
return {arg1.placeId, arg1.jobId}
end
function module_2_upvr.getTopic(arg1, arg2) -- Line 24
--[[ Upvalues[1]:
[1]: Topic_upvr (readonly)
]]
return Topic_upvr.new(arg1, arg2)
end
function module_2_upvr.subscribe(arg1, arg2, arg3) -- Line 34
--[[ Upvalues[1]:
[1]: Topic_upvr (readonly)
]]
local any_new_result1 = Topic_upvr.new(arg1, arg2)
return any_new_result1:subscribe(arg3), any_new_result1
end
function module_2_upvr.publish(arg1, arg2, arg3) -- Line 47
--[[ Upvalues[1]:
[1]: Topic_upvr (readonly)
]]
local any_new_result1_2 = Topic_upvr.new(arg1, arg2)
return any_new_result1_2:send(arg3), any_new_result1_2
end
function module_2_upvr.new() -- Line 58
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
local module = {}
setmetatable(module, module_2_upvr)
module.topics = {}
module.placeId = game.PlaceId
module.jobId = game.JobId
return module
end
return module_2_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:57:31
-- Luau version 6, Types version 3
-- Time taken: 0.004145 seconds
local MessagingService_upvr = game:GetService("MessagingService")
local module_upvr = {}
module_upvr.__index = module_upvr
function module_upvr.publish(arg1, arg2) -- Line 16
--[[ Upvalues[1]:
[1]: MessagingService_upvr (readonly)
]]
return MessagingService_upvr:PublishAsync(arg1.name, arg2)
end
function module_upvr.generateThreadId(arg1) -- Line 22
return arg1.server.jobId..'-'..tostring(#arg1.threads + 1)
end
function module_upvr.send(arg1, arg2, arg3) -- Line 30
local var3 = arg3
if not var3 then
var3 = arg1:generateThreadId()
end
local var4 = var3
if var4 then
local tbl_2 = {arg1.server:getData(), var4}
tbl_2[3] = arg2
arg1:publish(tbl_2)
return var4
end
end
local TopicThread_upvr = require(script.Parent.TopicThread)
function module_upvr.createThread(arg1, arg2) -- Line 44
--[[ Upvalues[1]:
[1]: TopicThread_upvr (readonly)
]]
return TopicThread_upvr.new(arg1, arg2)
end
function module_upvr.handleMessage(arg1, arg2) -- Line 53
local unpacked_value_1, unpacked_value_2, unpacked_value_3 = table.unpack(arg2)
local unpacked_value_1_2, unpacked_value_2_2 = table.unpack(unpacked_value_1)
local tbl = {
server = {
placeId = unpacked_value_1_2;
jobId = unpacked_value_2_2;
};
threadId = unpacked_value_2;
}
tbl.data = arg2
local var14 = arg1.threads[unpacked_value_2]
if var14 then
var14:handleMessage(tbl)
end
arg1._onMessage:Fire(tbl)
end
function module_upvr.subscribe(arg1, arg2) -- Line 84
return arg1.onMessage:Connect(arg2)
end
function module_upvr.new(arg1, arg2) -- Line 93
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: MessagingService_upvr (readonly)
]]
local module_upvr_2 = {}
setmetatable(module_upvr_2, module_upvr)
if arg1 and arg1.topics[arg2] then
return arg1.topics[arg2]
end
module_upvr_2.name = arg2
module_upvr_2.server = arg1
module_upvr_2.threads = {}
module_upvr_2._onMessage = Instance.new("BindableEvent")
module_upvr_2.onMessage = module_upvr_2._onMessage.Event
module_upvr_2.connection = MessagingService_upvr:SubscribeAsync(module_upvr_2.name, function(arg1_2) -- Line 112
--[[ Upvalues[1]:
[1]: module_upvr_2 (readonly)
]]
return module_upvr_2:handleMessage(arg1_2.Data)
end)
if arg1 then
arg1.topics[arg2] = module_upvr_2
end
return module_upvr_2
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:57:32
-- Luau version 6, Types version 3
-- Time taken: 0.002279 seconds
local module_upvr = {}
module_upvr.__index = module_upvr
function module_upvr.send(arg1, arg2) -- Line 14
return arg1.topic:send(arg2, arg1.threadId)
end
function module_upvr.handleMessage(arg1, arg2) -- Line 22
arg1._onMessage:Fire(arg2)
end
function module_upvr.subscribe(arg1, arg2) -- Line 30
return arg1.onMessage:Connect(arg2)
end
function module_upvr.new(arg1, arg2) -- Line 39
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
local module = {}
setmetatable(module, module_upvr)
if arg1 and arg1.threads[arg2] then
return arg1.threads[arg2]
end
module.topic = arg1
module.threadId = arg2
module._onMessage = Instance.new("BindableEvent")
module.onMessage = module._onMessage.Event
if arg1 then
arg1.threads[arg2] = module
end
return module
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:57:34
-- Luau version 6, Types version 3
-- Time taken: 0.001323 seconds
local module_upvr = {
_client = require(script:WaitForChild("client", 100));
_server = require(script:WaitForChild("server", 100));
}
function module_upvr.new(...) -- Line 5
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if _G._services.RunService:IsClient() then
module_upvr._client.new(...):init()
else
module_upvr._server.new(...):init()
end
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:57:36
-- Luau version 6, Types version 3
-- Time taken: 0.019892 seconds
local module_upvr = {}
module_upvr.__index = module_upvr
function module_upvr.new() -- Line 4
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
return setmetatable({
_maid = _G._engine:load("Maid").new();
}, module_upvr)
end
function module_upvr.init(arg1) -- Line 10
local tbl_4 = {
home = {};
away = {};
}
_G._references.RemoteEvent:FireAllClients("cutscene", "walkout")
task.wait(1)
for _, v in next, _G._services.Players:GetPlayers() do
if v and v.Team and string.find(v.Team.Name, "Home") and string.find(v.Team.Name, "GK") and v.Character and v.Character.PrimaryPart and v.Character.PrimaryPart.Parent then
table.insert(tbl_4.home, v)
elseif v and v.Team and string.find(v.Team.Name, "Away") and string.find(v.Team.Name, "GK") and v.Character and v.Character.PrimaryPart and v.Character.PrimaryPart.Parent then
table.insert(tbl_4.away, v)
end
end
for _, v_2 in next, _G._services.Players:GetPlayers() do
if v_2 and v_2.Team and string.find(v_2.Team.Name, "Home") and not string.find(v_2.Team.Name, "GK") and v_2.Character and v_2.Character.PrimaryPart and v_2.Character.PrimaryPart.Parent then
table.insert(tbl_4.home, v_2)
elseif v_2 and v_2.Team and string.find(v_2.Team.Name, "Away") and not string.find(v_2.Team.Name, "GK") and v_2.Character and v_2.Character.PrimaryPart and v_2.Character.PrimaryPart.Parent then
table.insert(tbl_4.away, v_2)
end
end
for _, v_3 in next, workspace.game.referee.rigs:GetChildren() do
if v_3 and v_3:IsA("Model") and v_3.PrimaryPart and v_3.PrimaryPart.Parent and workspace.game.cutscenes.walkout.referee:FindFirstChild(v_3.Name) then
v_3:SetPrimaryPartCFrame(workspace.game.cutscenes.walkout.referee[v_3.Name].CFrame)
end
end
local BoolValue_4 = Instance.new("BoolValue")
BoolValue_4.Name = "RTP"
BoolValue_4.Value = true
BoolValue_4.Parent = _G._references.Main.config.Override
local BoolValue_2 = Instance.new("BoolValue")
BoolValue_2.Name = "Referee"
BoolValue_2.Parent = _G._references.Main.config.Override
BoolValue_2.Value = true
arg1._maid:GiveTask(BoolValue_4)
arg1._maid:GiveTask(BoolValue_2)
for _, v_4 in next, {"home", "away"} do
for i_5, v_5 in next, tbl_4[v_4] do
if v_5 and v_5.Character and v_5.Character.PrimaryPart and v_5.Character.PrimaryPart.Parent and workspace.game.cutscenes.walkout.positions['1'][v_4]:FindFirstChild(tostring(i_5)) then
for i_6, v_6 in next, {"serverRagdollBinder", "getUpBinder"} do
while v_5 and v_5.Character:GetAttribute(v_6) do
task.wait()
end
end
if v_5 and v_5.Parent then
local BoolValue_6 = Instance.new("BoolValue", v_5)
BoolValue_6.Name = "Teleport"
BoolValue_6.Value = true
i_6 = _G
i_6 = BoolValue_6
v_6 = 3
i_6._services.Debris:AddItem(i_6, v_6)
i_6 = _G
i_6 = v_5
v_6 = "shiftLock"
i_6._references.RemoteEvent:FireClient(i_6, v_6, false)
i_6 = _G
i_6 = v_5
v_6 = "bindMovement"
i_6._references.RemoteEvent:FireClient(i_6, v_6, "freeze")
i_6 = _G
i_6 = v_5
v_6 = "forceDisable"
i_6._references.RemoteEvent:FireClient(i_6, v_6, true)
v_6 = workspace.game.cutscenes.walkout.positions['1'][v_4][tostring(i_5)]
i_6 = v_6.CFrame
v_5.Character:SetPrimaryPartCFrame(i_6)
end
end
end
end
task.wait(5)
for _, v_7_upvr in next, {"home", "away"} do
for i_8_upvr, v_8_upvr in next, tbl_4[v_7_upvr] do
if v_8_upvr and v_8_upvr.Character and v_8_upvr.Character.PrimaryPart and v_8_upvr.Character.PrimaryPart.Parent and workspace.game.cutscenes.walkout.positions['2'][v_7_upvr]:FindFirstChild(tostring(i_8_upvr)) then
task.spawn(function() -- Line 84
--[[ Upvalues[3]:
[1]: v_7_upvr (readonly)
[2]: i_8_upvr (readonly)
[3]: v_8_upvr (readonly)
]]
local Position_4 = workspace.game.cutscenes.walkout.positions['2'][v_7_upvr][tostring(i_8_upvr)].Position
v_8_upvr.Character:SetAttribute("moveTo", true)
v_8_upvr.Character.Humanoid:MoveTo(Position_4)
_G._references.RemoteFunction:InvokeClient(v_8_upvr, "moveTo", Position_4)
end)
end
end
end
task.wait(0.7)
for _, v_9_upvr in next, {"home", "away"} do
for i_10_upvr, v_10_upvr in next, tbl_4[v_9_upvr] do
if v_10_upvr and v_10_upvr.Character and v_10_upvr.Character.PrimaryPart and v_10_upvr.Character.PrimaryPart.Parent and workspace.game.cutscenes.walkout.positions['3'][v_9_upvr]:FindFirstChild(tostring(i_10_upvr)) then
task.spawn(function() -- Line 99
--[[ Upvalues[3]:
[1]: v_9_upvr (readonly)
[2]: i_10_upvr (readonly)
[3]: v_10_upvr (readonly)
]]
local Position = workspace.game.cutscenes.walkout.positions['3'][v_9_upvr][tostring(i_10_upvr)].Position
v_10_upvr.Character:SetAttribute("moveTo", true)
v_10_upvr.Character.Humanoid:MoveTo(Position)
_G._references.RemoteFunction:InvokeClient(v_10_upvr, "moveTo", Position)
end)
end
end
end
task.wait(7)
for _, v_11 in next, workspace.game.referee.rigs:GetChildren() do
if v_11 and v_11:IsA("Model") and v_11.PrimaryPart and v_11.PrimaryPart.Parent then
i_10_upvr = workspace
if i_10_upvr.game.referee.positions:FindFirstChild(v_11.Name) then
v_10_upvr = workspace.game.referee.positions
i_10_upvr = v_10_upvr[v_11.Name]
v_11:SetPrimaryPartCFrame(i_10_upvr.CFrame)
end
end
end
for _, v_12 in next, {"home", "away"} do
for _, v_13 in next, tbl_4[v_12] do
if v_13 and v_13.Character then
v_13.Character:SetAttribute("moveTo", nil)
_G._references.RemoteEvent:FireClient(v_13, "shiftLock", true)
_G._references.RemoteEvent:FireClient(v_13, "forceDisable", false)
_G._references.RemoteEvent:FireClient(v_13, "canSprint", true)
_G._references.RemoteEvent:FireClient(v_13, "globalOverride", false)
_G._references.RemoteEvent:FireClient(v_13, "bindMovement", "unfreeze")
end
end
end
arg1._maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:57:37
-- Luau version 6, Types version 3
-- Time taken: 0.004603 seconds
local module_upvr = {}
module_upvr.__index = module_upvr
function module_upvr.new() -- Line 4
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
return setmetatable({
_player = _G._services.Players.LocalPlayer;
_maid = _G._engine:load("Maid").new();
}, module_upvr)
end
function module_upvr.init(arg1) -- Line 11
local cutsceneSettings_upvr = workspace.game.cutscenes.walkout.camera.cutsceneSettings
local BoolValue = Instance.new("BoolValue", workspace.game.debug)
BoolValue.Name = arg1._player.Name
BoolValue.Value = true
arg1._player.PlayerGui.main.backpack.Visible = false
arg1._maid:GiveTask(BoolValue)
arg1._maid._renderStepped = _G._services.RunService.RenderStepped:Connect(function() -- Line 20
--[[ Upvalues[1]:
[1]: cutsceneSettings_upvr (readonly)
]]
workspace.CurrentCamera.FieldOfView = tonumber(cutsceneSettings_upvr.CameraFieldOfView.Value)
workspace.CurrentCamera.CFrame = cutsceneSettings_upvr.CameraTargets.CameraTarget1.Value.CFrame:Lerp(cutsceneSettings_upvr.CameraTargets.CameraTarget2.Value.CFrame, cutsceneSettings_upvr.CameraTargets.CameraTarget2.Lerp.Value):Lerp(cutsceneSettings_upvr.CameraTargets.CameraTarget3.Value.CFrame, cutsceneSettings_upvr.CameraTargets.CameraTarget3.Lerp.Value):Lerp(cutsceneSettings_upvr.CameraTargets.CameraTarget4.Value.CFrame, cutsceneSettings_upvr.CameraTargets.CameraTarget4.Lerp.Value)
end)
task.wait(5)
_G._services.TweenService:Create(cutsceneSettings_upvr.CameraTargets.CameraTarget2.Lerp, TweenInfo.new(2.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Value = 1;
}):Play()
task.wait(1)
_G._services.TweenService:Create(cutsceneSettings_upvr.CameraTargets.CameraTarget3.Lerp, TweenInfo.new(2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Value = 1;
}):Play()
task.wait(1.5)
_G._services.TweenService:Create(cutsceneSettings_upvr.CameraTargets.CameraTarget4.Lerp, TweenInfo.new(5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Value = 1;
}):Play()
task.wait(4)
arg1._player.PlayerGui.main.overlay.color.Visible = true
_G._services.TweenService:Create(arg1._player.PlayerGui.main.overlay.color, TweenInfo.new(0.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 0;
}):Play()
task.wait(0.5)
arg1._maid:DoCleaning()
arg1._player.PlayerGui.main.backpack.Visible = true
workspace.CurrentCamera.CameraType = Enum.CameraType.Custom
workspace.CurrentCamera.FieldOfView = tonumber(_G._references.Profile.settings.Visual["Field of View"].Value)
_G._services.TweenService:Create(arg1._player.PlayerGui.main.overlay.color, TweenInfo.new(0.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 1;
}):Play()
task.wait(0.5)
arg1._player.PlayerGui.main.overlay.color.Visible = false
task.wait(0.35)
cutsceneSettings_upvr.CameraTargets.CameraTarget2.Lerp.Value = 0
cutsceneSettings_upvr.CameraTargets.CameraTarget3.Lerp.Value = 0
cutsceneSettings_upvr.CameraTargets.CameraTarget4.Lerp.Value = 0
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:57:39
-- Luau version 6, Types version 3
-- Time taken: 0.000890 seconds
local module_upvr = {
_client = require(script:WaitForChild("client", 100));
_server = require(script:WaitForChild("server", 100));
}
function module_upvr.new(...) -- Line 5
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if _G._services.RunService:IsClient() then
module_upvr._client.new(...):init()
else
module_upvr._server.new(...):init()
end
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:57:41
-- Luau version 6, Types version 3
-- Time taken: 0.020141 seconds
local module_2_upvr = {}
module_2_upvr.__index = module_2_upvr
function module_2_upvr.new(arg1, arg2) -- Line 4
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
assert(arg1, "Penalty.server | dataModel 'player' expected, got "..typeof(arg1))
local Character = arg1.Character
if not Character then
Character = arg1.CharacterAdded:Wait()
end
local HPK = _G._references.Main.admin.positions.HPK
local clone = _G._references.Main["set pieces"].Shootout:Clone()
clone.Parent = workspace.game.debug
clone.Name = arg1.Name
clone.Ball.Transparency = 1
clone:SetPrimaryPartCFrame(CFrame.new(Vector3.new(HPK.Position.X, clone.Primary.Position.Y, HPK.Position.Z)) * CFrame.Angles(HPK.CFrame:ToOrientation()))
clone.Team.Value = arg2
local module = {}
module._player = arg1
module._character = Character
module._profile = _G._references.Profiles:WaitForChild(tostring(arg1.UserId), 100)
module._model = clone
module._maid = _G._engine:load("Maid").new()
module._touch = {}
return setmetatable(module, module_2_upvr)
end
function module_2_upvr.init(arg1) -- Line 31
assert(arg1._model, "Penalty.server [init] | call .new() before running :init()!")
assert(arg1._character.PrimaryPart, string.format("Penalty.server [init] | could not find PrimaryPart [%s]", tostring(arg1._player.UserId)))
local BoolValue = Instance.new("BoolValue")
BoolValue.Name = script.Parent.Parent.Name
BoolValue.Value = true
BoolValue.Parent = _G._references.Main.config["Set Pieces"]
arg1._maid:GiveTask(BoolValue)
arg1:initConnections()
arg1._character.Archivable = false
local BoolValue_6 = Instance.new("BoolValue", arg1._player)
BoolValue_6.Name = "Teleport"
BoolValue_6.Value = true
_G._services.Debris:AddItem(BoolValue_6, 3)
if arg1._profile.settings.Visual["Strong Foot"].Value == "Right" then
arg1._character:SetPrimaryPartCFrame(arg1._model.Right.CFrame)
arg1._character.PrimaryPart.Anchored = true
else
arg1._character:SetPrimaryPartCFrame(arg1._model.Left.CFrame)
arg1._character.PrimaryPart.Anchored = true
end
if workspace.game.referee.rigs:FindFirstChild("main") then
local BoolValue_5 = Instance.new("BoolValue")
BoolValue_5.Name = "Referee"
BoolValue_5.Value = true
BoolValue_5.Parent = _G._references.Main.config.Override
arg1._maid:GiveTask(BoolValue_5)
workspace.game.referee.rigs.main.PrimaryPart.RootRigAttachment.AlignOrientation.CFrame = workspace.game.referee.teleport.penalty.home.CFrame
workspace.game.referee.rigs.main:SetPrimaryPartCFrame(workspace.game.referee.teleport.penalty.home.CFrame)
end
if _G._references.Main.config.AutoRall.Value then
for _, v in next, workspace.game.balls.spawns:GetChildren() do
if v then
v:Destroy()
end
end
end
_G._references.BindableEvent:Fire("clearSpace")
local CFrameValue = Instance.new("CFrameValue")
CFrameValue.Name = "RF"
CFrameValue.Value = arg1._model.Ball.CFrame
CFrameValue.Parent = workspace.game.balls.spawns
local IntValue = Instance.new("IntValue")
IntValue.Name = "possessor"
IntValue.Value = arg1._player.UserId
IntValue.Parent = CFrameValue
for _, v_2 in next, _G._references.Main.config.Override:GetChildren() do
if v_2 and v_2.Name == "Break" then
v_2:Destroy()
end
end
arg1._character.Humanoid.AutoRotate = false
_G._references.RemoteEvent:FireClient(arg1._player, "shiftLock", false)
_G._references.RemoteEvent:FireClient(arg1._player, "forceDisable", true)
_G._references.RemoteEvent:FireClient(arg1._player, "shootout", arg1._model, CFrameValue)
end
function module_2_upvr.initConnections(arg1) -- Line 111
local BindableEvent_upvr = Instance.new("BindableEvent", arg1._model)
BindableEvent_upvr.Name = "Cancel"
local RemoteEvent = Instance.new("RemoteEvent", arg1._model)
RemoteEvent.Name = "Clear"
local RemoteEvent_2 = Instance.new("RemoteEvent", arg1._model)
RemoteEvent_2.Name = "Animation"
Instance.new("RemoteEvent", arg1._model).Name = "Collide"
arg1._maid._onBindableEvent = BindableEvent_upvr.Event:Connect(function() -- Line 126
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:clear()
end)
arg1._maid._onClearRemoteEvent = RemoteEvent.OnServerEvent:Connect(function(arg1_2) -- Line 130
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_2 == arg1._player then
if arg1._animation then
while arg1._animation do
task.wait()
end
end
arg1:clear()
end
end)
arg1._maid._onAnimationRemoteEvent = RemoteEvent_2.OnServerEvent:Connect(function(arg1_3, arg2) -- Line 142
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
local var30
if arg1_3 == arg1._player then
var30 = arg1_3.Character
var30 = arg2
local any_LoadAnimation_result1 = var30.Humanoid.Animator:LoadAnimation(var30)
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
var30 = true
arg1._animation = var30
local function INLINED_2() -- Internal function, doesn't exist in bytecode
var30 = any_LoadAnimation_result1.Length - 0.6
return var30
end
if 0.1 > any_LoadAnimation_result1.Length or not INLINED_2() then
var30 = 3.85
end
task.wait(var30)
if arg1_3 and arg1_3.Character then
var30 = arg1._maid
if var30._onAnimationRemoteEvent then
var30 = "BoolValue"
local any_2 = Instance.new(var30, arg1._player)
var30 = "Teleport"
any_2.Name = var30
var30 = true
any_2.Value = var30
var30 = _G._services.Debris:AddItem
var30(any_2, 3)
var30 = any_LoadAnimation_result1:AdjustSpeed
var30(0)
var30 = arg1_3.Character:SetPrimaryPartCFrame
var30(arg1_3.Character.LowerTorso.CFrame * _G._services.StarterPlayer.StarterCharacter.LowerTorso.CFrame:ToObjectSpace(_G._services.StarterPlayer.StarterCharacter.HumanoidRootPart.CFrame))
var30 = any_LoadAnimation_result1:Stop
var30(0)
var30 = arg1
var30._animation = nil
end
end
end
end)
arg1._maid._onCollideRemoteEvent = RemoteEvent.OnServerEvent:Connect(function(arg1_4) -- Line 165
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_4 == arg1._player then
arg1._model.Detector.CanCollide = false
end
end)
arg1._maid._onRespawn = arg1._player.CharacterAdded:Connect(function() -- Line 171
--[[ Upvalues[1]:
[1]: BindableEvent_upvr (readonly)
]]
BindableEvent_upvr:Fire()
end)
arg1._maid._onLeave = _G._services.Players.PlayerRemoving:Connect(function(arg1_5) -- Line 175
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: BindableEvent_upvr (readonly)
]]
if arg1_5 == arg1._player then
BindableEvent_upvr:Fire()
end
end)
local function onTouch(arg1_6) -- Line 181
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_6 and arg1_6.Parent and arg1_6.Parent:FindFirstChildWhichIsA("Humanoid") and not arg1_6:FindFirstAncestor("manager") and not arg1_6:FindFirstAncestor("referee") and arg1_6.Parent ~= arg1._character and not arg1._touch[arg1_6.Parent.Name] and arg1._model.Detector.CanCollide then
local any_GetPlayerFromCharacter_result1_4 = _G._services.Players:GetPlayerFromCharacter(arg1_6.Parent)
if any_GetPlayerFromCharacter_result1_4 and any_GetPlayerFromCharacter_result1_4.Team then
arg1._touch[arg1_6.Parent.Name] = true
local BoolValue_3 = Instance.new("BoolValue", any_GetPlayerFromCharacter_result1_4)
BoolValue_3.Name = "Teleport"
BoolValue_3.Value = true
_G._services.Debris:AddItem(BoolValue_3, 3)
if arg1._model.Team.Value == "home" and any_GetPlayerFromCharacter_result1_4.TeamColor == BrickColor.new("Navy blue") or arg1._model.Team.Value == "away" and any_GetPlayerFromCharacter_result1_4.TeamColor == BrickColor.new("Maroon") then
arg1_6.Parent:SetPrimaryPartCFrame(arg1._model.GK.CFrame)
else
arg1_6.Parent:SetPrimaryPartCFrame(arg1._model.Teleport.CFrame)
end
task.delay(0.5, function() -- Line 198
--[[ Upvalues[2]:
[1]: arg1 (copied, readonly)
[2]: arg1_6 (readonly)
]]
arg1._touch[arg1_6.Parent.Name] = false
end)
end
end
end
local function onTouchGK(arg1_7) -- Line 205
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_7 and arg1_7.Parent and arg1_7.Parent:FindFirstChildWhichIsA("Humanoid") and not arg1_7:FindFirstAncestor("manager") and not arg1_7:FindFirstAncestor("referee") and arg1_7.Parent ~= arg1._character and not arg1._touch[arg1_7.Parent.Name] and arg1._model.Detector.CanCollide then
local any_GetPlayerFromCharacter_result1_2 = _G._services.Players:GetPlayerFromCharacter(arg1_7.Parent)
if any_GetPlayerFromCharacter_result1_2 and any_GetPlayerFromCharacter_result1_2.Team and (any_GetPlayerFromCharacter_result1_2.TeamColor == BrickColor.new("Storm blue") or any_GetPlayerFromCharacter_result1_2.TeamColor == BrickColor.new("Crimson")) then
arg1._touch[arg1_7.Parent.Name] = true
local BoolValue_7 = Instance.new("BoolValue", any_GetPlayerFromCharacter_result1_2)
BoolValue_7.Name = "Teleport"
BoolValue_7.Value = true
_G._services.Debris:AddItem(BoolValue_7, 3)
arg1_7.Parent:SetPrimaryPartCFrame(arg1._model.Teleport.CFrame)
task.delay(0.5, function() -- Line 218
--[[ Upvalues[2]:
[1]: arg1 (copied, readonly)
[2]: arg1_7 (readonly)
]]
arg1._touch[arg1_7.Parent.Name] = false
end)
end
end
end
local function onTouchDetector(arg1_8) -- Line 225
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_8 and arg1_8.Parent and arg1_8.Parent:FindFirstChildWhichIsA("Humanoid") and not arg1_8:FindFirstAncestor("manager") and not arg1_8:FindFirstAncestor("referee") and arg1_8.Parent ~= arg1._character and not arg1._touch[arg1_8.Parent.Name] and arg1._model.Detector.CanCollide then
local any_GetPlayerFromCharacter_result1 = _G._services.Players:GetPlayerFromCharacter(arg1_8.Parent)
if any_GetPlayerFromCharacter_result1 and any_GetPlayerFromCharacter_result1.Team then
arg1._touch[arg1_8.Parent.Name] = true
if arg1._model.Team.Value ~= "away" or any_GetPlayerFromCharacter_result1.TeamColor ~= BrickColor.new("Navy blue") or arg1._model.Team.Value ~= "home" or any_GetPlayerFromCharacter_result1.TeamColor ~= BrickColor.new("Maroon") then
local BoolValue_2 = Instance.new("BoolValue", any_GetPlayerFromCharacter_result1)
BoolValue_2.Name = "Teleport"
BoolValue_2.Value = true
_G._services.Debris:AddItem(BoolValue_2, 3)
arg1_8.Parent:SetPrimaryPartCFrame(arg1._model.Teleport.CFrame)
end
task.delay(0.5, function() -- Line 239
--[[ Upvalues[2]:
[1]: arg1 (copied, readonly)
[2]: arg1_8 (readonly)
]]
arg1._touch[arg1_8.Parent.Name] = false
end)
end
end
end
for _, v_3 in next, arg1._model.Area:GetChildren() do
if v_3 and v_3:IsA("BasePart") then
local any_GenerateGUID_result1 = _G._services.HttpService:GenerateGUID(false)
arg1._maid[any_GenerateGUID_result1.."_onTouched"] = v_3.Touched:Connect(onTouch)
arg1._maid[any_GenerateGUID_result1.."_onTouchEnded"] = v_3.TouchEnded:Connect(onTouch)
end
end
arg1._maid._areaTouched = workspace.game.regions.under.Touched:Connect(onTouch)
arg1._maid._areaTouchEnded = workspace.game.regions.under.TouchEnded:Connect(onTouch)
arg1._maid._gkTouched = arg1._model.Box.Touched:Connect(onTouchGK)
arg1._maid._gkTouchEnded = arg1._model.Box.TouchEnded:Connect(onTouchGK)
arg1._maid._detectorTouched = workspace.game.shootout.Detector.Touched:Connect(onTouchDetector)
arg1._maid._detectorTouchEnded = workspace.game.shootout.Detector.TouchEnded:Connect(onTouchDetector)
arg1._maid:GiveTask(arg1._model)
arg1._maid:GiveTask(BindableEvent_upvr)
arg1._maid:GiveTask(RemoteEvent)
arg1._maid:GiveTask(RemoteEvent_2)
end
function module_2_upvr.clear(arg1, arg2) -- Line 269
if arg1._character and arg1._character:FindFirstChild("HumanoidRootPart") then
arg1._character.HumanoidRootPart.Anchored = false
end
_G._references.RemoteEvent:FireAllClients("clearTeleporter")
if arg1._player then
_G._references.RemoteEvent:FireClient(arg1._player, "shiftLock", true)
_G._references.RemoteEvent:FireClient(arg1._player, "forceDisable", false)
_G._references.RemoteEvent:FireClient(arg1._player, "canSprint", true)
_G._references.RemoteEvent:FireClient(arg1._player, "globalOverride", false)
end
for _, v_4 in next, _G._references.Main.config.Override:GetChildren() do
if v_4 and (v_4.Name == "DisableFouls" or v_4.Name == "RTP") then
v_4:Destroy()
end
end
_G._references.Main.config.TimerSpeed.Value = 5
_G._references.Main.config.Penalties.Taken.Value = true
arg1._maid:DoCleaning()
end
return module_2_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:57:43
-- Luau version 6, Types version 3
-- Time taken: 0.040906 seconds
local any_load_result1_upvr = _G._engine:load("Maid")
local module_2_upvr = {}
module_2_upvr.__index = module_2_upvr
function module_2_upvr.new(arg1, arg2) -- Line 7
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: module_2_upvr (readonly)
]]
assert(arg1, "Penalty.client | Model 'model' expected, got "..typeof(arg1))
assert(arg2, "Penalty.client | BasePart 'ball' expected, got "..typeof(arg2))
local LocalPlayer = _G._references.LocalPlayer
local Character = LocalPlayer.Character
if not Character then
Character = LocalPlayer.CharacterAdded:Wait()
end
local module = {}
module._ball = arg2
module._player = LocalPlayer
module._model = arg1
module._character = Character
module._root = _G._root
module._mouse = LocalPlayer:GetMouse()
module._formatNumber = _G._engine:load("FormatNumber", "utils")
module._maid = any_load_result1_upvr.new()
module._states = {
charging = false;
released = false;
}
return setmetatable(module, module_2_upvr)
end
function module_2_upvr.init(arg1) -- Line 30
--[[ Upvalues[1]:
[1]: any_load_result1_upvr (readonly)
]]
local tbl_upvr_3 = {}
local var18_upvr
for _, v in var18_upvr, arg1._model.Overlay:GetChildren() do
if v and (v:FindFirstChildWhichIsA("BillboardGui") or v:FindFirstChildWhichIsA("SurfaceGui")) then
local class_BillboardGui = v:FindFirstChildWhichIsA("BillboardGui")
if not class_BillboardGui then
class_BillboardGui = v:FindFirstChildWhichIsA("SurfaceGui")
end
class_BillboardGui.Parent = arg1._player.PlayerGui:WaitForChild("billboardUI", 100)
class_BillboardGui.Adornee = v
tbl_upvr_3['_'..string.lower(v.Name)] = class_BillboardGui
end
end
var18_upvr = tbl_upvr_3._aim
var18_upvr.Enabled = true
var18_upvr = tbl_upvr_3._composure
var18_upvr.Enabled = true
var18_upvr = _G._services.UserInputService.TouchEnabled
if var18_upvr then
var18_upvr = tbl_upvr_3._mobile.Size.X.Offset
tbl_upvr_3._mobile.Enabled = true
tbl_upvr_3._mobile.Size = UDim2.new(0, 0, 0, tbl_upvr_3._mobile.Size.Y.Offset)
_G._services.TweenService:Create(tbl_upvr_3._mobile, TweenInfo.new(1.15, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
Size = UDim2.new(0, var18_upvr, 0, tbl_upvr_3._mobile.Size.Y.Offset);
}):Play()
end
var18_upvr = arg1._player.PlayerGui:FindFirstChild("UI")
if var18_upvr then
var18_upvr = arg1._player.PlayerGui.UI
var18_upvr.Enabled = false
end
var18_upvr = arg1._player.PlayerGui.main.mobile
var18_upvr.Visible = false
var18_upvr = arg1._player.PlayerGui.main.backpack
var18_upvr.Visible = false
var18_upvr = arg1._player.PlayerGui.main.gamepad
var18_upvr.Visible = false
var18_upvr = next
for _, v_2 in var18_upvr, arg1._player.PlayerGui.main.mobile.contextTabContainer:GetChildren() do
if v_2 and v_2:IsA("Frame") then
v_2.Visible = false
end
end
if _G._references.Profile.settings.Visual["Strong Foot"].Value == "Right" then
var18_upvr = 'R'
else
var18_upvr = 'L'
end
local tbl_upvr = {
_idle = arg1._character.Humanoid.Animator:LoadAnimation(_G._references.Main.animations["Set Piece"].Penalty[var18_upvr].Idle);
_kick = arg1._character.Humanoid.Animator:LoadAnimation(_G._references.Main.animations["Set Piece"].Penalty[var18_upvr].Kick);
}
tbl_upvr._idle.Priority = Enum.AnimationPriority.Action3
tbl_upvr._idle.Looped = true
tbl_upvr._idle:Play()
tbl_upvr._kick.Priority = Enum.AnimationPriority.Action4
arg1._model.Detector.CanCollide = false
arg1._maid._attributeChanged = arg1._root:GetAttributeChangedSignal("globalOverride"):Connect(function() -- Line 87
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if not arg1._root:GetAttribute("globalOverride") then
arg1._root:SetAttribute("globalOverride", true)
end
end)
arg1._maid._onDied = arg1._character.Humanoid.Died:Connect(function() -- Line 93
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:clear()
end)
local var26_upvw = false
workspace.CurrentCamera.FieldOfView = 45
workspace.CurrentCamera.CameraType = Enum.CameraType.Scriptable
workspace.CurrentCamera.CFrame = arg1._model.Camera.CFrame
arg1._maid._propertyChanged = workspace.CurrentCamera:GetPropertyChangedSignal("FieldOfView"):Connect(function() -- Line 105
--[[ Upvalues[1]:
[1]: var26_upvw (read and write)
]]
if not var26_upvw then
workspace.CurrentCamera.FieldOfView = 45
end
end)
local tbl_upvr_2 = {
minDistance = 1.5;
increaseRate = 0.3;
x = 0;
y = 0;
composure = {
pressed = false;
composed = false;
};
lastMousePosition = workspace.CurrentCamera:WorldToViewportPoint(arg1._mouse.Hit.Position);
limits = {
x = {
right = 3;
left = -3;
};
y = {
up = 1;
down = -0.7;
};
};
directions = {
up = false;
down = false;
right = false;
left = false;
};
}
local any_new_result1_upvr = any_load_result1_upvr.new()
local any_Create_result1_upvr = _G._services.TweenService:Create(arg1._model.Overlay.Composure, TweenInfo.new(0.8, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut), {
Size = Vector3.new(3, arg1._model.Overlay.Composure.Size.Y, 3);
})
arg1._character.Humanoid:UnequipTools()
task.spawn(function() -- Line 153
--[[ Upvalues[3]:
[1]: tbl_upvr_2 (readonly)
[2]: arg1 (readonly)
[3]: any_Create_result1_upvr (readonly)
]]
while not tbl_upvr_2.composure.pressed and arg1._model and arg1._model.Parent do
arg1._model.Overlay.Composure.Size = Vector3.new(29, arg1._model.Overlay.Composure.Size.Y, 29)
any_Create_result1_upvr:Play()
task.wait(0.815)
end
end)
local function release_upvr() -- Line 166, Named "release"
--[[ Upvalues[8]:
[1]: var26_upvw (read and write)
[2]: tbl_upvr_2 (readonly)
[3]: any_Create_result1_upvr (readonly)
[4]: arg1 (readonly)
[5]: tbl_upvr_3 (readonly)
[6]: var18_upvr (readonly)
[7]: any_new_result1_upvr (readonly)
[8]: tbl_upvr (readonly)
]]
var26_upvw = true
tbl_upvr_2.composure.pressed = true
any_Create_result1_upvr:Pause()
local var38
if arg1._model.Overlay.Composure.Size.X <= var38 then
var38 = tbl_upvr_2
var38 = true
var38.composure.composed = var38
else
var38 = tbl_upvr_2
var38 = false
var38.composure.composed = var38
end
var38 = _G._services
var38.TweenService:Create(tbl_upvr_3._composure.Main, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 1;
}):Play()
var38 = _G._services
var38.TweenService:Create(tbl_upvr_3._composure.Main.UIStroke, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Transparency = 1;
}):Play()
var38 = tbl_upvr_2.composure
if var38.composed then
var38 = _G._services
var38.TweenService:Create(tbl_upvr_3._aim.Main, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = Color3.fromRGB(0, 255, 0);
}):Play()
var38 = _G._services
var38.TweenService:Create(tbl_upvr_3._aim.Main.UIStroke, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Color = Color3.fromRGB(0, 255, 0);
}):Play()
else
var38 = _G._services
var38.TweenService:Create(tbl_upvr_3._aim.Main, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = Color3.fromRGB(255, 0, 0);
}):Play()
var38 = _G._services
var38.TweenService:Create(tbl_upvr_3._aim.Main.UIStroke, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Color = Color3.fromRGB(255, 0, 0);
}):Play()
var38 = _G._services
var38.TweenService:Create(arg1._model.Overlay.Aim, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Size = Vector3.new(20, 20, arg1._model.Overlay.Aim.Size.Z);
}):Play()
end
var38 = arg1._model
var38.Animation:FireServer(_G._references.Main.animations["Set Piece"].Penalty[var18_upvr].Kick)
var38 = arg1._player:GetNetworkPing()
task.wait(var38)
var38 = arg1._model.Overlay.Composure.Size
var38 = 10
if var38.X <= var38 then
var38 = tbl_upvr_3._composure
var38 = Color3.new(0, 255, 0)
var38.Main.BackgroundColor3 = var38
var38 = tbl_upvr_3._composure.Main
var38 = Color3.new(0, 255, 0)
var38.UIStroke.Color = var38
else
var38 = tbl_upvr_3._composure
var38 = Color3.new(255, 0, 0)
var38.Main.BackgroundColor3 = var38
var38 = tbl_upvr_3._composure.Main
var38 = Color3.new(255, 0, 0)
var38.UIStroke.Color = var38
end
var38 = _G._services
var38.TweenService:Create(tbl_upvr_3._mobile, TweenInfo.new(1.15, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
Size = UDim2.new(0, 0, 0, tbl_upvr_3._mobile.Size.Y.Offset);
}):Play()
var38 = _G._services
var38.TweenService:Create(workspace.CurrentCamera, TweenInfo.new(2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
FieldOfView = 35;
}):Play()
var38 = _G._services.RunService.RenderStepped
var38 = var38:Connect(function() -- Line 205
--[[ Upvalues[4]:
[1]: arg1 (copied, readonly)
[2]: var18_upvr (copied, readonly)
[3]: tbl_upvr_2 (copied, readonly)
[4]: any_new_result1_upvr (copied, readonly)
]]
if arg1._model and arg1._model:FindFirstChild("Ball") then
local var49
local function INLINED() -- Internal function, doesn't exist in bytecode
var49 = tbl_upvr_2.minDistance
var49 = arg1._model.Ball.Position - arg1._character.RightLowerLeg.Position
return var49.Magnitude <= var49
end
local function INLINED_2() -- Internal function, doesn't exist in bytecode
var49 = tbl_upvr_2.minDistance
var49 = arg1._model.Ball.Position - arg1._character.LeftLowerLeg.Position
return var49.Magnitude <= var49
end
if var18_upvr == 'R' and INLINED() or INLINED_2() then
any_new_result1_upvr:DoCleaning()
var49 = workspace.CurrentCamera
var49 = Vector3.new(0, 0, 0)
if not tbl_upvr_2.composure.composed then
local randint = math.random(-30, 30)
if randint <= 0 then
randint = math.clamp(randint, -30, -10)
else
randint = math.clamp(randint, 10, 30)
end
var49 = workspace.CurrentCamera.CFrame.RightVector * randint + workspace.CurrentCamera.CFrame.UpVector * math.clamp(randint, 10, 1000)
end
arg1._model.Collide:FireServer()
local Folder = Instance.new("Folder")
Folder.Name = "react"
local ObjectValue = Instance.new("ObjectValue", Folder)
ObjectValue.Name = "ball"
ObjectValue.Value = arg1._ball
local Vector3Value_2 = Instance.new("Vector3Value", Folder)
Vector3Value_2.Name = "vector"
Vector3Value_2.Value = (arg1._model.Overlay.Aim.Position + Vector3.new(0, 1.75, 0) - arg1._model.Ball.Position).Unit * Vector3.new(80, 100, 80) + var49
local Vector3Value = Instance.new("Vector3Value", Folder)
Vector3Value.Name = "maxForce"
Vector3Value.Value = Vector3.new(10000, 10000, 10000)
local BoolValue_4 = Instance.new("BoolValue", Folder)
BoolValue_4.Name = "ignoreReactDecline"
BoolValue_4.Value = true
local BoolValue_3 = Instance.new("BoolValue", Folder)
BoolValue_3.Name = "penalty"
BoolValue_3.Value = true
local BoolValue_2 = Instance.new("BoolValue", Folder)
BoolValue_2.Name = "curve"
BoolValue_2.Value = true
local StringValue = Instance.new("StringValue", Folder)
StringValue.Name = "curveType"
StringValue.Value = "none"
local StringValue_2 = Instance.new("StringValue", Folder)
StringValue_2.Name = "spinType"
StringValue_2.Value = "topspin"
local BoolValue = Instance.new("BoolValue", Folder)
BoolValue.Name = "grassEffect"
BoolValue.Value = true
Folder.Parent = arg1._player
Folder:SetAttribute("loaded", true)
end
end
end)
any_new_result1_upvr._renderStepped = var38
var38 = 0.3
task.delay(var38, function() -- Line 272
--[[ Upvalues[1]:
[1]: tbl_upvr (copied, readonly)
]]
tbl_upvr._idle:Stop(0.1)
end)
local function INLINED_3() -- Internal function, doesn't exist in bytecode
var38 = tbl_upvr._kick.Length - 0.6
return var38
end
if 0.1 > tbl_upvr._kick.Length or not INLINED_3() then
var38 = 3.85
end
task.wait(var38)
var38 = arg1._character
var38 = true
var38.Humanoid.AutoRotate = var38
var38 = arg1
if var38._model:FindFirstChild("Clear") then
var38 = arg1._model
var38.Clear:FireServer()
end
arg1:clear()
end
task.delay(15, function() -- Line 285
--[[ Upvalues[3]:
[1]: tbl_upvr_2 (readonly)
[2]: arg1 (readonly)
[3]: release_upvr (readonly)
]]
if not tbl_upvr_2.composure.pressed and arg1._model and arg1._model.Parent then
release_upvr()
end
end)
any_new_result1_upvr._inputBegan = _G._services.UserInputService.InputBegan:Connect(function(arg1_2, arg2) -- Line 291
--[[ Upvalues[4]:
[1]: tbl_upvr_2 (readonly)
[2]: any_Create_result1_upvr (readonly)
[3]: arg1 (readonly)
[4]: release_upvr (readonly)
]]
if arg1_2.KeyCode == Enum.KeyCode.W then
tbl_upvr_2.directions.up = true
else
if arg1_2.KeyCode == Enum.KeyCode.A then
tbl_upvr_2.directions.left = true
return
end
if arg1_2.KeyCode == Enum.KeyCode.S then
tbl_upvr_2.directions.down = true
return
end
if arg1_2.KeyCode == Enum.KeyCode.D then
tbl_upvr_2.directions.right = true
return
end
if not arg2 and (arg1_2.KeyCode == Enum.KeyCode.Space or arg1_2.KeyCode == Enum.KeyCode.ButtonA) or not tbl_upvr_2.composure.pressed then
any_Create_result1_upvr:Pause()
tbl_upvr_2.composure.pressed = true
if arg1._model.Overlay.Composure.Size.X <= 10 then
tbl_upvr_2.composure.composed = true
else
tbl_upvr_2.composure.composed = false
end
release_upvr()
end
end
end)
any_new_result1_upvr._inputEnded = _G._services.UserInputService.InputEnded:Connect(function(arg1_3, arg2) -- Line 314
--[[ Upvalues[1]:
[1]: tbl_upvr_2 (readonly)
]]
if arg1_3.KeyCode == Enum.KeyCode.W then
tbl_upvr_2.directions.up = false
else
if arg1_3.KeyCode == Enum.KeyCode.A then
tbl_upvr_2.directions.left = false
return
end
if arg1_3.KeyCode == Enum.KeyCode.S then
tbl_upvr_2.directions.down = false
return
end
if arg1_3.KeyCode == Enum.KeyCode.D then
tbl_upvr_2.directions.right = false
end
end
end)
any_new_result1_upvr._inputChanged = _G._services.UserInputService.InputChanged:Connect(function(arg1_4, arg2) -- Line 326
--[[ Upvalues[1]:
[1]: tbl_upvr_2 (readonly)
]]
if arg1_4.KeyCode == Enum.KeyCode.Thumbstick1 then
if 0.7 <= arg1_4.Position.X then
tbl_upvr_2.directions.right = true
tbl_upvr_2.directions.left = false
elseif arg1_4.Position.X <= -0.7 then
tbl_upvr_2.directions.right = false
tbl_upvr_2.directions.left = true
end
if 0.7 <= arg1_4.Position.Y then
tbl_upvr_2.directions.up = true
tbl_upvr_2.directions.down = false
elseif arg1_4.Position.Y <= -0.7 then
tbl_upvr_2.directions.up = false
tbl_upvr_2.directions.down = true
end
if arg1_4.Position.X < 0.35 and -0.35 < arg1_4.Position.X and arg1_4.Position.Y < 0.35 and -0.35 < arg1_4.Position.Y then
tbl_upvr_2.directions.up = false
tbl_upvr_2.directions.down = false
tbl_upvr_2.directions.right = false
tbl_upvr_2.directions.left = false
end
end
end)
if _G._services.UserInputService.TouchEnabled then
any_new_result1_upvr._mouseMove = arg1._mouse.Move:Connect(function() -- Line 354
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: tbl_upvr_2 (readonly)
]]
if not arg1._states.charging and not arg1._states._released then
local any_WorldToViewportPoint_result1 = workspace.CurrentCamera:WorldToViewportPoint(arg1._mouse.Hit.Position)
local var68 = any_WorldToViewportPoint_result1.X - tbl_upvr_2.lastMousePosition.X
local var69 = any_WorldToViewportPoint_result1.Y - tbl_upvr_2.lastMousePosition.Y
tbl_upvr_2.lastMousePosition = any_WorldToViewportPoint_result1
if 1 <= var69 then
tbl_upvr_2.directions.down = true
tbl_upvr_2.directions.up = false
return
end
if var69 <= -1 then
tbl_upvr_2.directions.down = false
tbl_upvr_2.directions.up = true
return
end
if 1 <= var68 then
tbl_upvr_2.directions.right = true
tbl_upvr_2.directions.left = false
return
end
if var68 <= -1 then
tbl_upvr_2.directions.right = false
tbl_upvr_2.directions.left = true
return
end
if var68 < 1 and -1 < var68 and var69 < 1 and -1 < var69 then
tbl_upvr_2.directions.up = false
tbl_upvr_2.directions.down = false
tbl_upvr_2.directions.right = false
tbl_upvr_2.directions.left = false
end
end
end)
any_new_result1_upvr._touchEnded = _G._services.UserInputService.TouchEnded:Connect(function(arg1_5, arg2) -- Line 383
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: tbl_upvr_2 (readonly)
]]
if not arg1._states.charging and not arg1._states._released then
tbl_upvr_2.directions.up = false
tbl_upvr_2.directions.down = false
tbl_upvr_2.directions.right = false
tbl_upvr_2.directions.left = false
end
end)
any_new_result1_upvr._mouseButton1Click = tbl_upvr_3._mobile.Main.Container.Bind.Button.MouseButton1Click:Connect(function() -- Line 392
--[[ Upvalues[4]:
[1]: any_Create_result1_upvr (readonly)
[2]: tbl_upvr_2 (readonly)
[3]: arg1 (readonly)
[4]: release_upvr (readonly)
]]
any_Create_result1_upvr:Pause()
tbl_upvr_2.composure.pressed = true
if arg1._model.Overlay.Composure.Size.X <= 10 then
tbl_upvr_2.composure.composed = true
else
tbl_upvr_2.composure.composed = false
end
release_upvr()
end)
end
any_new_result1_upvr._renderStepped = _G._services.RunService.RenderStepped:Connect(function() -- Line 406
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: tbl_upvr_3 (readonly)
[3]: var18_upvr (readonly)
]]
if arg1._model.Overlay.Composure.Size.X <= 10 then
tbl_upvr_3._composure.Main.BackgroundColor3 = Color3.new(0, 255, 0)
tbl_upvr_3._composure.Main.UIStroke.Color = Color3.new(0, 255, 0)
else
tbl_upvr_3._composure.Main.BackgroundColor3 = Color3.new(255, 0, 0)
tbl_upvr_3._composure.Main.UIStroke.Color = Color3.new(255, 0, 0)
end
arg1._character.Humanoid.AutoRotate = false
if var18_upvr == 'R' then
arg1._character:SetPrimaryPartCFrame(arg1._model.Right.CFrame)
else
arg1._character:SetPrimaryPartCFrame(arg1._model.Left.CFrame)
end
end)
local CFrame_upvr = arg1._model.Overlay.Aim.CFrame
task.spawn(function() -- Line 423
--[[ Upvalues[3]:
[1]: tbl_upvr_2 (readonly)
[2]: arg1 (readonly)
[3]: CFrame_upvr (readonly)
]]
while true do
if tbl_upvr_2.directions.up and tbl_upvr_2.y + tbl_upvr_2.increaseRate <= tbl_upvr_2.limits.y.up then
local var75 = tbl_upvr_2
var75.y += tbl_upvr_2.increaseRate
end
if tbl_upvr_2.directions.down and tbl_upvr_2.limits.y.down <= tbl_upvr_2.y - tbl_upvr_2.increaseRate then
local var76 = tbl_upvr_2
var76.y -= tbl_upvr_2.increaseRate
end
if tbl_upvr_2.directions.right and tbl_upvr_2.x + tbl_upvr_2.increaseRate <= tbl_upvr_2.limits.x.right then
local var77 = tbl_upvr_2
var77.x += tbl_upvr_2.increaseRate
end
if tbl_upvr_2.directions.left and tbl_upvr_2.limits.x.left <= tbl_upvr_2.x - tbl_upvr_2.increaseRate then
local var78 = tbl_upvr_2
var78.x -= tbl_upvr_2.increaseRate
end
_G._services.TweenService:Create(arg1._model.Overlay.Aim, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
CFrame = CFrame_upvr * CFrame.new(-tbl_upvr_2.x * 5, tbl_upvr_2.y * 5, 0);
}):Play()
task.wait(0.05)
end
end)
end
function module_2_upvr.clear(arg1) -- Line 456
-- KONSTANTERROR: [0] 1. Error Block 19 start (CF ANALYSIS FAILED)
workspace.CurrentCamera.CameraType = Enum.CameraType.Custom
workspace.CurrentCamera.FieldOfView = tonumber(_G._references.Profile.settings.Visual["Field of View"].Value)
if arg1._player.PlayerGui:FindFirstChild("UI") then
arg1._player.PlayerGui.UI.Enabled = true
end
if _G._services.UserInputService.TouchEnabled then
arg1._player.PlayerGui.main.mobile.Visible = true
-- KONSTANTWARNING: GOTO [121] #69
end
-- KONSTANTERROR: [0] 1. Error Block 19 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [71] 41. Error Block 16 start (CF ANALYSIS FAILED)
if _G._services.UserInputService.GamepadEnabled then
arg1._player.PlayerGui.main.gamepad.Visible = true
elseif not _G._services.UserInputService.TouchEnabled and not _G._services.UserInputService.GamepadEnabled then
arg1._player.PlayerGui.main.backpack.Visible = true
end
-- KONSTANTERROR: [71] 41. Error Block 16 end (CF ANALYSIS FAILED)
end
return module_2_upvr
KONSTANTERROR: After: buffer access out of bounds
K
K
K
K
K
K
K
KONSTANTERROR: After: buffer access out of bounds
K
K
K
K
K
K
K
KONSTANTERROR: After: buffer access out of bounds
K
K
K
K
K
K
K
KONSTANTERROR: After: buffer access out of bounds
K
K
K
K
K
K
K
KONSTANTERROR: After: buffer access out of bounds
K
K
K
K
K
K
K
KONSTANTERROR: After: buffer access out of bounds
K
K
K
K
K
K
K
KONSTANTERROR: After: buffer access out of bounds
K
K
K
K
K
K
K
KONSTANTERROR: After: buffer access out of bounds
K
K
K
K
K
K
K
KONSTANTERROR: After: buffer access out of bounds
K
K
K
K
K
K
K
KONSTANTERROR: After: buffer access out of bounds
K
K
K
K
K
K
K
KONSTANTERROR: After: buffer access out of bounds
K
K
K
K
K
K
K
KONSTANTERROR: After: buffer access out of bounds
K
K
K
K
K
K
K
KONSTANTERROR: After: buffer access out of bounds
K
K
K
K
K
K
K
KONSTANTERROR: After: buffer access out of bounds
K
K
K
K
K
K
K
KONSTANTERROR: After: buffer access out of bounds
K
K
K
K
K
K
K
KONSTANTERROR: After: buffer access out of bounds
K
K
K
K
K
K
K
KONSTANTERROR: After: buffer access out of bounds
K
K
K
K
K
K
K
KONSTANTERROR: After: buffer access out of bounds
K
K
K
K
K
K
K
KONSTANTERROR: After: buffer access out of bounds
K
K
K
K
K
K
K
KONSTANTERROR: After: buffer access out of bounds
K
K
K
K
K
K
K
KONSTANTERROR: After: buffer access out of bounds
K
K
K
K
K
K
K
KONSTANTERROR: After: buffer access out of bounds
K
K
K
K
K
K
K
KONSTANTERROR: After: buffer access out of bounds
K
K
K
K
K
K
K
KONSTANTERROR: After: buffer access out of bounds
K
K
K
K
K
K
K
KONSTANTERROR: After: buffer access out of bounds
K
K
K
K
K
K
K
KONSTANTERROR: After: buffer access out of bounds
K
K
K
K
K
K
K
KONSTANTERROR: After: buffer access out of bounds
K
K
K
K
K
K
K
KONSTANTERROR: After: buffer access out of bounds
K
K
K
K
K
K
K
KONSTANTERROR: After: buffer access out of bounds
K
K
K
K
K
K
K
KONSTANTERROR: After: buffer access out of bounds
K
K
K
K
K
K
K
KONSTANTERROR: After: buffer access out of bounds
K
K
K
K
K
K
K
KONSTANTERROR: After: buffer access out of bounds
K
K
K
K
K
K
K
KONSTANTERROR: After: buffer access out of bounds
K
K
K
K
K
K
K
KONSTANTERROR: After: buffer access out of bounds
K
K
K
K
K
K
K
-- [SERVER SCRIPT] Source hidden from client.
-- [SERVER SCRIPT] Source hidden from client.
-- [SERVER SCRIPT] Source hidden from client.
-- [SERVER SCRIPT] Source hidden from client.
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:58:27
-- Luau version 6, Types version 3
-- Time taken: 0.001338 seconds
return {
ToCommaFormat = function(arg1, arg2) -- Line 8, Named "ToCommaFormat"
return tostring(arg2):reverse():gsub("%d%d%d", "%1,"):reverse():gsub("^,", "")
end;
ToMultiplierFormat = function(arg1, arg2) -- Line 22, Named "ToMultiplierFormat"
return string.format("%0.1fx", arg2)
end;
ToOrdinal = function(arg1, arg2) -- Line 36, Named "ToOrdinal"
local var2 = arg2 % 10
if var2 == 1 and arg2 ~= 11 then
return "st"
end
if var2 == 2 and arg2 ~= 12 then
return "nd"
end
if var2 == 3 and arg2 ~= 13 then
return "rd"
end
return "th"
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:58:28
-- Luau version 6, Types version 3
-- Time taken: 0.003642 seconds
local table_freeze_result1_upvr = table.freeze({"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"})
local Number_upvr = require(script.Parent.Number)
local DubitUtils_upvr = require(game:GetService("ReplicatedStorage").PopupShop.Packages.DubitUtils)
return function(arg1, arg2, arg3) -- Line 23, Named "makeCountdownText"
--[[ Upvalues[3]:
[1]: table_freeze_result1_upvr (readonly)
[2]: Number_upvr (readonly)
[3]: DubitUtils_upvr (readonly)
]]
local var5
if typeof(arg1) == "number" then
var5 = DateTime.fromUnixTimestampMillis(var5)
elseif typeof(var5) ~= "DateTime" then
return
end
local var6 = arg2 or ""
local maximum = math.max(0, var5.UnixTimestamp - os.time(os.date("!*t")))
local any_ToLocalTime_result1 = var5:ToLocalTime()
if 604800 < maximum then
return `{var6} {table_freeze_result1_upvr[any_ToLocalTime_result1.Month]} {any_ToLocalTime_result1.Day}{Number_upvr:ToOrdinal(any_ToLocalTime_result1.Day)}`
end
if 86400 < maximum then
local floored = math.floor(maximum / 86400)
if floored == 1 then
return `{var6} {floored} DAY`
end
return `{var6} {floored} DAYS`
end
return `{arg3 or ""} {DubitUtils_upvr.Time.formatToCountdownTimer(maximum)}`
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:58:30
-- Luau version 6, Types version 3
-- Time taken: 0.003638 seconds
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local module_upvr = require(ReplicatedStorage:WaitForChild("MetaverseRewardsClient"))
local function _(arg1, arg2) -- Line 15, Named "createRoduxAction"
local var3 = arg2
if not var3 then
var3 = {}
end
var3.type = arg1
return var3
end
local Store_upvr = require(script.Store)
local Rewards_upvr = module_upvr.Rewards
local StarterPlayer_upvr = game:GetService("StarterPlayer")
local Roact_upvr = require(ReplicatedStorage.PopupShop.Packages.Roact)
local RoactRodux_upvr = require(ReplicatedStorage.PopupShop.Packages.RoactRodux)
local Main_upvr = require(script.Main)
local View_upvr = module_upvr.View
return function() -- Line 22
--[[ Upvalues[8]:
[1]: Store_upvr (readonly)
[2]: Rewards_upvr (readonly)
[3]: module_upvr (readonly)
[4]: StarterPlayer_upvr (readonly)
[5]: Roact_upvr (readonly)
[6]: RoactRodux_upvr (readonly)
[7]: Main_upvr (readonly)
[8]: View_upvr (readonly)
]]
local var13 = {
LoyaltyPoints = Rewards_upvr:GetPoints();
}
if not var13 then
var13 = {}
end
var13.type = "setLoyaltyPoints"
Store_upvr:dispatch(var13)
Rewards_upvr.OnPointsChanged:Connect(function(arg1) -- Line 27
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local tbl = {}
tbl.LoyaltyPoints = arg1
local var16 = tbl
if not var16 then
var16 = {}
end
var16.type = "setLoyaltyPoints"
Store_upvr:dispatch(var16)
end)
module_upvr.View.Overwrite("RetailNavbar", function(arg1) -- Line 33
--[[ Upvalues[6]:
[1]: StarterPlayer_upvr (copied, readonly)
[2]: Roact_upvr (copied, readonly)
[3]: RoactRodux_upvr (copied, readonly)
[4]: Store_upvr (copied, readonly)
[5]: Main_upvr (copied, readonly)
[6]: View_upvr (copied, readonly)
]]
if not StarterPlayer_upvr.StarterPlayerScripts:GetAttribute("ShowAdidasNavbar") then
return function() -- Line 37
end
end
local any_mount_result1_upvr = Roact_upvr.mount(Roact_upvr.createElement(RoactRodux_upvr.StoreProvider, {
store = Store_upvr;
}, {
NavbarScreen = Roact_upvr.createElement(Main_upvr, {
OnCatalogButtonPressed = function() -- Line 45, Named "OnCatalogButtonPressed"
--[[ Upvalues[1]:
[1]: View_upvr (copied, readonly)
]]
View_upvr.Open("Retail", '/', "CatalogButton")
end;
});
}), arg1)
return function() -- Line 53
--[[ Upvalues[2]:
[1]: Roact_upvr (copied, readonly)
[2]: any_mount_result1_upvr (readonly)
]]
Roact_upvr.unmount(any_mount_result1_upvr)
end
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:58:32
-- Luau version 6, Types version 3
-- Time taken: 0.000894 seconds
local Roact_upvr = require(game:GetService("ReplicatedStorage").PopupShop.Packages.Roact)
local Navbar_upvr = require(script.Parent.Parent.Components.Navbar)
return function(arg1) -- Line 9
--[[ Upvalues[2]:
[1]: Roact_upvr (readonly)
[2]: Navbar_upvr (readonly)
]]
return Roact_upvr.createElement(Navbar_upvr, {
OnCatalogButtonPressed = arg1.OnCatalogButtonPressed;
AllowCustomization = true;
})
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:58:33
-- Luau version 6, Types version 3
-- Time taken: 0.000737 seconds
local Rodux = require(game:GetService("ReplicatedStorage").MetaverseRewardsShared.Packages.Rodux)
return Rodux.Store.new(Rodux.createReducer({
LoyaltyPoints = nil;
}, {
setLoyaltyPoints = function(arg1, arg2) -- Line 10, Named "setLoyaltyPoints"
arg1.LoyaltyPoints = arg2.LoyaltyPoints
return arg1
end;
}))
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:58:35
-- Luau version 6, Types version 3
-- Time taken: 0.029436 seconds
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local LocalPlayer_upvr = game:GetService("Players").LocalPlayer
local module_upvr = require(ReplicatedStorage:WaitForChild("MetaverseRewardsClient"))
local Store_upvr = require(script.Store)
local function _(arg1, arg2) -- Line 29, Named "createRoduxAction"
local var5 = arg2
if not var5 then
var5 = {}
end
var5.type = arg1
return var5
end
local function updateHumanoidDescription_upvr() -- Line 36, Named "updateHumanoidDescription"
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: Store_upvr (readonly)
]]
if not LocalPlayer_upvr.Character then
else
local Humanoid_2 = LocalPlayer_upvr.Character:FindFirstChild("Humanoid")
if not Humanoid_2 then return end
Store_upvr:dispatch({
type = "updateAvatarHumanoidDescription";
AvatarHumanoidDescription = Humanoid_2:GetAppliedDescription();
})
end
end
local Trove_upvr = require(ReplicatedStorage.PopupShop.Packages.Trove)
local function observeLocalHumanoidDescription_upvr() -- Line 53, Named "observeLocalHumanoidDescription"
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (readonly)
[2]: Trove_upvr (readonly)
[3]: updateHumanoidDescription_upvr (readonly)
]]
local function observeHumanoidDescription() -- Line 54
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: Trove_upvr (copied, readonly)
[3]: updateHumanoidDescription_upvr (copied, readonly)
]]
if not LocalPlayer_upvr.Character then
else
local Humanoid = LocalPlayer_upvr.Character:WaitForChild("Humanoid", 10)
if not Humanoid then return end
local any_new_result1_upvr = Trove_upvr.new()
any_new_result1_upvr:Connect(Humanoid.DescendantAdded, function() -- Line 67
--[[ Upvalues[1]:
[1]: updateHumanoidDescription_upvr (copied, readonly)
]]
updateHumanoidDescription_upvr()
end)
any_new_result1_upvr:Connect(LocalPlayer_upvr.CharacterRemoving, function() -- Line 71
--[[ Upvalues[1]:
[1]: any_new_result1_upvr (readonly)
]]
any_new_result1_upvr:Destroy()
end)
updateHumanoidDescription_upvr()
end
end
observeHumanoidDescription()
LocalPlayer_upvr.CharacterAdded:Connect(observeHumanoidDescription)
LocalPlayer_upvr.CharacterAppearanceLoaded:Connect(function() -- Line 82
--[[ Upvalues[1]:
[1]: updateHumanoidDescription_upvr (copied, readonly)
]]
updateHumanoidDescription_upvr()
end)
end
local function _(arg1) -- Line 87, Named "addProductDisplayData"
--[[ Upvalues[1]:
[1]: Store_upvr (readonly)
]]
local var15 = {
Id = arg1.Id;
Products = arg1.Listings;
DisplaySlot = arg1.VerseId;
}
if not var15 then
var15 = {}
end
var15.type = "addProductDisplay"
Store_upvr:dispatch(var15)
end
local Wishlist_upvr = module_upvr.Wishlist
local Retail_upvr = module_upvr.Retail
local ClothingDisplay_upvr = module_upvr.ClothingDisplay
local Analytics_upvr = module_upvr.Analytics
local Analytic_upvr = module_upvr.Analytic
local var22_upvw
local var23_upvw
local tbl_12_upvr = {}
local Rewards_upvr = module_upvr.Rewards
local tbl_3_upvw = {}
local Roact_upvr = require(ReplicatedStorage.PopupShop.Packages.Roact)
local RoactRodux_upvr = require(ReplicatedStorage.PopupShop.Packages.RoactRodux)
local Main_upvr = require(script.Main)
local View_upvr = module_upvr.View
return function() -- Line 98
--[[ Upvalues[17]:
[1]: Wishlist_upvr (readonly)
[2]: Store_upvr (readonly)
[3]: Retail_upvr (readonly)
[4]: ClothingDisplay_upvr (readonly)
[5]: Analytics_upvr (readonly)
[6]: Analytic_upvr (readonly)
[7]: var22_upvw (read and write)
[8]: var23_upvw (read and write)
[9]: tbl_12_upvr (readonly)
[10]: Rewards_upvr (readonly)
[11]: module_upvr (readonly)
[12]: tbl_3_upvw (read and write)
[13]: Roact_upvr (readonly)
[14]: RoactRodux_upvr (readonly)
[15]: Main_upvr (readonly)
[16]: View_upvr (readonly)
[17]: observeLocalHumanoidDescription_upvr (readonly)
]]
Wishlist_upvr.OnChanged:Connect(function() -- Line 99
--[[ Upvalues[2]:
[1]: Store_upvr (copied, readonly)
[2]: Wishlist_upvr (copied, readonly)
]]
local var45 = {
WishlistedProducts = Wishlist_upvr:GetWishlisted();
}
if not var45 then
var45 = {}
end
var45.type = "setWishlistedProducts"
Store_upvr:dispatch(var45)
end)
local var47 = {
WishlistedProducts = Wishlist_upvr:GetWishlisted();
}
if not var47 then
var47 = {}
end
var47.type = "setWishlistedProducts"
Store_upvr:dispatch(var47)
Retail_upvr.OnProductPurchaseSucceed:Connect(function() -- Line 109
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local var50 = {
PotentialLoyaltyPoints = nil;
}
if not var50 then
var50 = {}
end
var50.type = "setPotentialLoyaltyPoints"
Store_upvr:dispatch(var50)
end)
Retail_upvr.OnProductPurchaseFailed:Connect(function(arg1, arg2) -- Line 115
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local var53 = {
PotentialLoyaltyPoints = nil;
}
if not var53 then
var53 = {}
end
var53.type = "setPotentialLoyaltyPoints"
Store_upvr:dispatch(var53)
if arg2 == "ROBLOX_FAIL" then
else
local var54 = arg2
if arg2 == "Player cannot purchase product" then
var54 = "It looks like you don't have enough points. Keep earning them in order to claim this item!"
end
local var56 = {
Text = var54;
}
if not var56 then
var56 = {}
end
var56.type = "setNotificationMessage"
Store_upvr:dispatch(var56)
end
end)
local var58 = {
EquippedProducts = Retail_upvr.GetEquippedProducts();
}
if not var58 then
var58 = {}
end
var58.type = "setEquippedIds"
Store_upvr:dispatch(var58)
Retail_upvr.OnEquippedProductsChanged:Connect(function(arg1) -- Line 140
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local tbl_9 = {}
tbl_9.EquippedProducts = arg1
local var61 = tbl_9
if not var61 then
var61 = {}
end
var61.type = "setEquippedIds"
Store_upvr:dispatch(var61)
end)
Retail_upvr.OnProductPurchaseRequested:Connect(function(arg1) -- Line 146
--[[ Upvalues[2]:
[1]: Retail_upvr (copied, readonly)
[2]: Store_upvr (copied, readonly)
]]
local any_GetProductData_result1_2 = Retail_upvr.RemoteData:GetProductData(arg1)
if not any_GetProductData_result1_2 or any_GetProductData_result1_2.Reservable then
else
local rounded = math.round(any_GetProductData_result1_2.Price * (any_GetProductData_result1_2.CashbackPercentage or 0) / 100)
if rounded <= 0 then return end
local var66 = {
PotentialLoyaltyPoints = rounded;
}
if not var66 then
var66 = {}
end
var66.type = "setPotentialLoyaltyPoints"
Store_upvr:dispatch(var66)
end
end)
local tbl_2 = {}
local tbl_13 = {
OnSearch = function(arg1) -- Line 164, Named "OnSearch"
--[[ Upvalues[2]:
[1]: Retail_upvr (copied, readonly)
[2]: Store_upvr (copied, readonly)
]]
local any_SearchProducts_result1, any_SearchProducts_result2 = Retail_upvr:SearchProducts(arg1)
if not any_SearchProducts_result1 and typeof(any_SearchProducts_result2) == "string" then
local var72 = {
SearchError = any_SearchProducts_result2;
}
if not var72 then
var72 = {}
end
var72.type = "setSearchError"
Store_upvr:dispatch(var72)
else
var72 = {
SearchResults = any_SearchProducts_result2;
}
local var74 = var72
if not var74 then
var74 = {}
end
var74.type = "setSearchResults"
Store_upvr:dispatch(var74)
end
end;
ClearSearchError = function() -- Line 182, Named "ClearSearchError"
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local var76 = {
SearchError = nil;
}
if not var76 then
var76 = {}
end
var76.type = "setSearchError"
Store_upvr:dispatch(var76)
end;
OnRequestAssetDetails = function(arg1) -- Line 188, Named "OnRequestAssetDetails"
--[[ Upvalues[2]:
[1]: ClothingDisplay_upvr (copied, readonly)
[2]: Store_upvr (copied, readonly)
]]
if typeof(arg1) == "number" then
ClothingDisplay_upvr.ItemDetails.GetAssetDetailsAsync(arg1, function(arg1_2) -- Line 191
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
if not arg1_2 then
else
local tbl_14 = {}
local tbl_7 = {
Name = arg1_2.Name;
VerseId = arg1_2.Id;
ThumbnailId = `rbxthumb://type=Asset&id={arg1_2.Id}&w=150&h=150`;
Robux = arg1_2.Price;
IsOffSale = arg1_2.IsOffSale;
Limited = arg1_2.Limited;
}
tbl_14.AssetData = tbl_7
tbl_7 = tbl_14
local var80 = tbl_7
if not var80 then
var80 = {}
end
var80.type = "addRobloxAssetDetails"
Store_upvr:dispatch(var80)
end
end)
end
end;
OnRequestAssetWishlist = function(arg1) -- Line 214, Named "OnRequestAssetWishlist"
--[[ Upvalues[5]:
[1]: Store_upvr (copied, readonly)
[2]: Retail_upvr (copied, readonly)
[3]: Wishlist_upvr (copied, readonly)
[4]: Analytics_upvr (copied, readonly)
[5]: Analytic_upvr (copied, readonly)
]]
local any_getState_result1_5 = Store_upvr:getState()
local any_GetProductData_result1 = Retail_upvr.RemoteData:GetProductData(tostring(arg1))
local selected = select(2, next(Retail_upvr.RemoteData:GetCatalogs()))
if Wishlist_upvr:IsWishlisted(arg1) then
Wishlist_upvr:RemoveFromWishlist(arg1)
Analytics_upvr.InvokeAnalyticAsync(Analytic_upvr.ProductRemovedWishlisted, {
verseId = any_GetProductData_result1.VerseId;
uuid = selected.Id or "unknown";
steps = #any_getState_result1_5.FullHistory;
location = any_getState_result1_5.RawPath;
})
else
Wishlist_upvr:AddToWishlist(arg1)
Analytics_upvr.InvokeAnalyticAsync(Analytic_upvr.ProductAddedWishlisted, {
verseId = any_GetProductData_result1.VerseId;
uuid = selected.Id or "unknown";
steps = #any_getState_result1_5.FullHistory;
location = any_getState_result1_5.RawPath;
})
end
end;
GoToPath = function(arg1) -- Line 241, Named "GoToPath"
--[[ Upvalues[5]:
[1]: Store_upvr (copied, readonly)
[2]: var22_upvw (copied, read and write)
[3]: Analytics_upvr (copied, readonly)
[4]: Analytic_upvr (copied, readonly)
[5]: var23_upvw (copied, read and write)
]]
-- KONSTANTERROR: [0] 1. Error Block 23 start (CF ANALYSIS FAILED)
local any_getState_result1_3 = Store_upvr:getState()
local var87 = arg1 or '/'
if any_getState_result1_3.PathParameters and any_getState_result1_3.PathParameters.category then
-- KONSTANTWARNING: GOTO [37] #26
end
-- KONSTANTERROR: [0] 1. Error Block 23 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [19] 14. Error Block 24 start (CF ANALYSIS FAILED)
local var88
if any_getState_result1_3.PathParameters and any_getState_result1_3.PathParameters.section then
var88 = any_getState_result1_3.PathParameters.section
elseif var22_upvw then
var88 = var22_upvw.Id
end
if var87 == '/' then
Store_upvr:dispatch({
type = "clearHistory";
})
end
local var91 = {
path = var87;
}
if not var91 then
var91 = {}
end
var91.type = "navigateTo"
Store_upvr:dispatch(var91)
Analytics_upvr.InvokeAnalyticAsync(Analytic_upvr.CatalogView, {
steps = #any_getState_result1_3.FullHistory;
location = any_getState_result1_3.RawPath;
verseId = var23_upvw;
uuid = var88;
})
-- KONSTANTERROR: [19] 14. Error Block 24 end (CF ANALYSIS FAILED)
end;
OnRequestAssetEquip = function(arg1) -- Line 271, Named "OnRequestAssetEquip"
--[[ Upvalues[3]:
[1]: Retail_upvr (copied, readonly)
[2]: Store_upvr (copied, readonly)
[3]: tbl_12_upvr (copied, readonly)
]]
Retail_upvr:EquipProduct(arg1)
local any_GetProductData_result1_4 = Retail_upvr.RemoteData:GetProductData(arg1)
if not any_GetProductData_result1_4 then
else
local var102
if var102 == "Bundle" then
var102 = 0
for i_6, v_6 in any_GetProductData_result1_4.Items do
if v_6.Type == "Asset" then
local tbl_11 = {
AssetId = v_6.Id;
}
tbl_11.ProductId = arg1
local var104 = tbl_11
if not var104 then
var104 = {}
end
var104.type = "addBundledItem"
Store_upvr:dispatch(var104)
elseif v_6.Type == "Animation" then
var102 += 1
end
end
if var102 == #any_GetProductData_result1_4.Items then
i_6 = nil
for _, v_7 in any_GetProductData_result1_4.Items, nil, i_6 do
if v_7.Type == "Animation" then
table.insert({}, v_7.AnimationId)
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
;({}).AnimationIds = {}
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if not {} then
end
;({}).type = "queueAnimationsSequence"
i_6 = {}
Store_upvr:dispatch(i_6)
end
end
tbl_12_upvr[any_GetProductData_result1_4.VerseId] = os.clock()
end
end;
OnRequestAssetUnequip = function(arg1) -- Line 313, Named "OnRequestAssetUnequip"
--[[ Upvalues[5]:
[1]: Retail_upvr (copied, readonly)
[2]: Store_upvr (copied, readonly)
[3]: Analytics_upvr (copied, readonly)
[4]: Analytic_upvr (copied, readonly)
[5]: tbl_12_upvr (copied, readonly)
]]
local any_GetProductData_result1_3 = Retail_upvr.RemoteData:GetProductData(tostring(arg1))
Retail_upvr:UnequipProduct(arg1)
if not any_GetProductData_result1_3 then
else
local any_getState_result1_6 = Store_upvr:getState()
Analytics_upvr.InvokeAnalyticAsync(Analytic_upvr.ProductTriedOn, {
verseId = any_GetProductData_result1_3.VerseId;
uuid = any_GetProductData_result1_3.Id;
steps = #any_getState_result1_6.FullHistory;
location = any_getState_result1_6.RawPath;
})
tbl_12_upvr[any_GetProductData_result1_3.VerseId] = nil
end
end;
OnRequestAssetPurchase = function(arg1) -- Line 334, Named "OnRequestAssetPurchase"
--[[ Upvalues[1]:
[1]: Retail_upvr (copied, readonly)
]]
Retail_upvr:PurchaseProduct(arg1)
end;
OnRequestCharacterReset = function() -- Line 338, Named "OnRequestCharacterReset"
--[[ Upvalues[1]:
[1]: Retail_upvr (copied, readonly)
]]
Retail_upvr:ResetAppearance()
end;
}
tbl_2.Callbacks = tbl_13
tbl_13 = tbl_2
local var108 = tbl_13
if not var108 then
var108 = {}
end
var108.type = "setCallback"
Store_upvr:dispatch(var108)
Rewards_upvr.OnPointsChanged:Connect(function(arg1) -- Line 344
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local tbl_4 = {}
tbl_4.LoyaltyPoints = arg1
local var111 = tbl_4
if not var111 then
var111 = {}
end
var111.type = "setLoyaltyPoints"
Store_upvr:dispatch(var111)
end)
Rewards_upvr.OnReservedProductsChanged:Connect(function(arg1) -- Line 350
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local tbl_10 = {}
for _, v in arg1 do
table.insert(tbl_10, v.Id)
end
if not {
ReservedProducts = tbl_10;
} then
end
;({}).type = "updateReserved"
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
Store_upvr:dispatch({})
end)
for _, v_2 in Retail_upvr.RemoteData:GetProducts() do
local var123 = {
ProductData = v_2;
}
if not var123 then
var123 = {}
end
var123.type = "addProductData"
Store_upvr:dispatch(var123)
end
Retail_upvr.RemoteData.OnProductDataReceived:Connect(function(arg1) -- Line 367
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local tbl_6 = {}
tbl_6.ProductData = arg1
local var126 = tbl_6
if not var126 then
var126 = {}
end
var126.type = "addProductData"
Store_upvr:dispatch(var126)
end)
for i_3, v_3 in Retail_upvr.RemoteData:GetCatalogs() do
Retail_upvr.RemoteData:SubscribeToCatalogData("Adidas_Retail", i_3, function(arg1) -- Line 376
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local var133 = {
Sections = arg1.Sections;
}
if not var133 then
var133 = {}
end
var133.type = "syncSections"
Store_upvr:dispatch(var133)
end)
for _, v_4 in v_3.Sections do
({})[v_4.Id] = Retail_upvr.RemoteData:SubscribeToSectionData("Adidas_Retail", v_4.Id, function(arg1) -- Line 386
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local tbl_8 = {}
tbl_8.SectionData = arg1
local var136 = tbl_8
if not var136 then
var136 = {}
end
var136.type = "setSectionContent"
Store_upvr:dispatch(var136)
end)
local var137_upvr
end
end
Retail_upvr.RemoteData.OnSectionAdded:Connect(function(arg1) -- Line 395
--[[ Upvalues[3]:
[1]: var137_upvr (readonly)
[2]: Retail_upvr (copied, readonly)
[3]: Store_upvr (copied, readonly)
]]
var137_upvr[arg1] = Retail_upvr.RemoteData:SubscribeToSectionData("Adidas_Retail", arg1, function(arg1_3) -- Line 399
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local tbl = {}
tbl.SectionData = arg1_3
local var141 = tbl
if not var141 then
var141 = {}
end
var141.type = "setSectionContent"
Store_upvr:dispatch(var141)
end)
end)
Retail_upvr.RemoteData.OnSectionRemoved:Connect(function(arg1) -- Line 407
--[[ Upvalues[1]:
[1]: var137_upvr (readonly)
]]
if not var137_upvr[arg1] then
else
var137_upvr[arg1]()
var137_upvr[arg1] = nil
end
end)
module_upvr.View.Overwrite("Retail", function(arg1, arg2, arg3, arg4) -- Line 418
--[[ Upvalues[11]:
[1]: var22_upvw (copied, read and write)
[2]: var23_upvw (copied, read and write)
[3]: tbl_3_upvw (copied, read and write)
[4]: Retail_upvr (copied, readonly)
[5]: Store_upvr (copied, readonly)
[6]: Analytics_upvr (copied, readonly)
[7]: Analytic_upvr (copied, readonly)
[8]: Roact_upvr (copied, readonly)
[9]: RoactRodux_upvr (copied, readonly)
[10]: Main_upvr (copied, readonly)
[11]: View_upvr (copied, readonly)
]]
var22_upvw = arg4
var23_upvw = arg3
if arg4 and arg4.Id then
table.insert(tbl_3_upvw, Retail_upvr.RemoteData:SubscribeToProductDisplayData("Adidas_Retail", arg4.Id, function(arg1_4) -- Line 428
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local var146 = {
Id = arg1_4.Id;
Products = arg1_4.Listings;
DisplaySlot = arg1_4.VerseId;
}
if not var146 then
var146 = {}
end
var146.type = "addProductDisplay"
Store_upvr:dispatch(var146)
end))
end
local var148 = {
path = arg2 or '/';
}
if not var148 then
var148 = {}
end
var148.type = "navigateTo"
Store_upvr:dispatch(var148)
local tbl_5 = {
steps = 1;
location = arg2 or '/';
}
local var150 = var22_upvw
if var150 then
var150 = var22_upvw.Id
end
tbl_5.uuid = var150
tbl_5.verseId = var23_upvw
Analytics_upvr.InvokeAnalyticAsync(Analytic_upvr.CatalogView, tbl_5)
local any_mount_result1_upvr = Roact_upvr.mount(Roact_upvr.createElement(RoactRodux_upvr.StoreProvider, {
store = Store_upvr;
}, {
RetailScreen = Roact_upvr.createElement(Main_upvr, {
CloseInterfaceRequested = function() -- Line 451, Named "CloseInterfaceRequested"
--[[ Upvalues[1]:
[1]: View_upvr (copied, readonly)
]]
View_upvr.Close("Retail")
end;
OnCatalogButtonPressed = function() -- Line 455, Named "OnCatalogButtonPressed"
--[[ Upvalues[5]:
[1]: Store_upvr (copied, readonly)
[2]: var22_upvw (copied, read and write)
[3]: Analytics_upvr (copied, readonly)
[4]: Analytic_upvr (copied, readonly)
[5]: var23_upvw (copied, read and write)
]]
local any_getState_result1_4 = Store_upvr:getState()
local var155
if any_getState_result1_4.PathParameters and any_getState_result1_4.PathParameters.category then
var155 = any_getState_result1_4.PathParameters.category
elseif any_getState_result1_4.PathParameters and any_getState_result1_4.PathParameters.section then
var155 = any_getState_result1_4.PathParameters.section
elseif var22_upvw then
var155 = var22_upvw.Id
end
Store_upvr:dispatch({
type = "clearHistory";
})
Analytics_upvr.InvokeAnalyticAsync(Analytic_upvr.CatalogView, {
steps = #any_getState_result1_4.FullHistory;
location = any_getState_result1_4.RawPath;
uuid = var155;
verseId = var23_upvw;
})
end;
NavigateToProductDisplayRequested = function() -- Line 478, Named "NavigateToProductDisplayRequested"
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
Store_upvr:dispatch({
type = "navigateToPreviousProductDisplay";
})
end;
OnCollectionsFilterOptionActivated = function(arg1_5) -- Line 482, Named "OnCollectionsFilterOptionActivated"
--[[ Upvalues[5]:
[1]: Store_upvr (copied, readonly)
[2]: var22_upvw (copied, read and write)
[3]: Analytics_upvr (copied, readonly)
[4]: Analytic_upvr (copied, readonly)
[5]: var23_upvw (copied, read and write)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [17] 14. Error Block 6 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [17] 14. Error Block 6 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [5] 6. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [17.7]
-- KONSTANTERROR: [5] 6. Error Block 2 end (CF ANALYSIS FAILED)
end;
OnProductTypeFilterOptionActivated = function(arg1_6) -- Line 534, Named "OnProductTypeFilterOptionActivated"
end;
OnPlayerInteractedWithViewport = function() -- Line 538, Named "OnPlayerInteractedWithViewport"
--[[ Upvalues[5]:
[1]: Store_upvr (copied, readonly)
[2]: var22_upvw (copied, read and write)
[3]: Analytics_upvr (copied, readonly)
[4]: Analytic_upvr (copied, readonly)
[5]: var23_upvw (copied, read and write)
]]
local any_getState_result1_2 = Store_upvr:getState()
local var160
if any_getState_result1_2.PathParameters and any_getState_result1_2.PathParameters.category then
var160 = any_getState_result1_2.PathParameters.category
elseif any_getState_result1_2.PathParameters and any_getState_result1_2.PathParameters.section then
var160 = any_getState_result1_2.PathParameters.section
elseif var22_upvw then
var160 = var22_upvw.Id
end
Analytics_upvr.InvokeAnalyticAsync(Analytic_upvr.CatalogView, {
steps = #any_getState_result1_2.FullHistory;
location = any_getState_result1_2.RawPath;
verseId = var23_upvw;
uuid = var160;
})
end;
OnBackgroundPressedWhenLoyaltyPointsPromptWasOpen = function() -- Line 559, Named "OnBackgroundPressedWhenLoyaltyPointsPromptWasOpen"
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local var163 = {
PotentialLoyaltyPoints = nil;
}
if not var163 then
var163 = {}
end
var163.type = "setPotentialLoyaltyPoints"
Store_upvr:dispatch(var163)
end;
});
}), arg1)
return function() -- Line 568
--[[ Upvalues[8]:
[1]: tbl_3_upvw (copied, read and write)
[2]: Store_upvr (copied, readonly)
[3]: var22_upvw (copied, read and write)
[4]: Analytics_upvr (copied, readonly)
[5]: Analytic_upvr (copied, readonly)
[6]: var23_upvw (copied, read and write)
[7]: Roact_upvr (copied, readonly)
[8]: any_mount_result1_upvr (readonly)
]]
local var170
for _, v_5 in tbl_3_upvw, var170 do
v_5()
end
local any_getState_result1 = Store_upvr:getState()
var170 = nil
tbl_3_upvw = {}
if any_getState_result1.PathParameters and any_getState_result1.PathParameters.category then
var170 = any_getState_result1.PathParameters.category
elseif any_getState_result1.PathParameters and any_getState_result1.PathParameters.section then
var170 = any_getState_result1.PathParameters.section
elseif var22_upvw then
var170 = var22_upvw.Id
end
Analytics_upvr.InvokeAnalyticAsync(Analytic_upvr.CatalogView, {
steps = #any_getState_result1.FullHistory;
location = any_getState_result1.RawPath;
verseId = var23_upvw;
eventEndTime = workspace:GetServerTimeNow();
uuid = var170;
})
Store_upvr:dispatch({
type = "clearHistory";
})
Roact_upvr.unmount(any_mount_result1_upvr)
end
end)
observeLocalHumanoidDescription_upvr()
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:58:36
-- Luau version 6, Types version 3
-- Time taken: 0.027856 seconds
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Roact_upvr = require(ReplicatedStorage.PopupShop.Packages.Roact)
local any_extend_result1 = Roact_upvr.Component:extend("RetailScreen")
any_extend_result1.defaultProps = {
Path = '/';
OnCatalogButtonPressed = function() -- Line 23, Named "OnCatalogButtonPressed"
end;
NavigateToProductDisplayRequested = function() -- Line 24, Named "NavigateToProductDisplayRequested"
end;
CloseInterfaceRequested = function() -- Line 25, Named "CloseInterfaceRequested"
end;
}
local tbl_7_upvr = {}
;(function() -- Line 30, Named "collectPossibleRoutes"
--[[ Upvalues[1]:
[1]: tbl_7_upvr (readonly)
]]
for _, v in script.Parent.Routes:GetChildren() do
if v:IsA("ModuleScript") then
local string_lower_result1 = string.lower(v.Name)
if string_lower_result1 == "main" then
tbl_7_upvr['/'] = require(v)
else
tbl_7_upvr[`/{string_lower_result1}`] = require(v)
end
end
end
end)()
function any_extend_result1.init(arg1) -- Line 48
arg1:setState({
introCompleted = false;
enabled = true;
notificationShowing = false;
})
end
local GuiService_upvr = game:GetService("GuiService")
local Sift_upvr = require(ReplicatedStorage.PopupShop.Packages.Sift)
local Intro_upvr = require(script.Parent.Components.Intro)
local Navbar_upvr = require(script.Parent.Parent.Components.Navbar)
local LoyaltyPointsPrompt_upvr = require(script.Parent.Components.LoyaltyPointsPrompt)
local Notification_upvr = require(script.Parent.Components.Notification)
function any_extend_result1.render(arg1) -- Line 56
--[[ Upvalues[8]:
[1]: GuiService_upvr (readonly)
[2]: tbl_7_upvr (readonly)
[3]: Roact_upvr (readonly)
[4]: Sift_upvr (readonly)
[5]: Intro_upvr (readonly)
[6]: Navbar_upvr (readonly)
[7]: LoyaltyPointsPrompt_upvr (readonly)
[8]: Notification_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var52 = GuiService_upvr:GetGuiInset() + Vector2.new(0, 4)
local string_gsub_result1 = string.gsub(arg1.props.Path, "/wishlist", "/catalog")
local var54
if tbl_7_upvr[string_gsub_result1] then
end
if Sift_upvr.Array.findWhereLast(arg1.props.FullHistory, function(arg1_3) -- Line 76
local var57
if string.find(arg1_3, "^/productdisplay") == nil then
var57 = false
else
var57 = true
end
return var57
end) == nil then
else
end
local module = {}
var54 = 1
module.Size = UDim2.fromScale(var54, 1)
module.BackgroundTransparency = 1
module.ImageTransparency = 1
var54 = arg1.state
module.Visible = var54.enabled
module.AutoButtonColor = false
local module_2 = {}
var54 = not arg1.state.introCompleted
if var54 then
var54 = Roact_upvr.createElement
var54 = var54(Intro_upvr, {
Finished = function() -- Line 90, Named "Finished"
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:setState({
introCompleted = true;
})
end;
})
end
module_2.Intro = var54
var54 = arg1.state.introCompleted
if var54 then
var54 = Roact_upvr.createElement
local tbl = {}
local introCompleted_4 = arg1.state.introCompleted
if introCompleted_4 then
introCompleted_4 = Roact_upvr.createElement
introCompleted_4 = introCompleted_4("UIListLayout", {
SortOrder = Enum.SortOrder.LayoutOrder;
})
end
tbl.UIListLayout = introCompleted_4
local var66
if arg1.state.introCompleted then
local tbl_9 = {}
if string_gsub_result1 ~= '/' then
var66 = false
else
var66 = true
end
tbl_9.CatalogButtonHidden = var66
var66 = arg1.props.OnCatalogButtonPressed
tbl_9.OnCatalogButtonPressed = var66
var66 = false
tbl_9.AllowCustomization = var66
if string_gsub_result1 == '/' then
var66 = false
else
var66 = true
end
tbl_9.ShowSearchBar = var66
var66 = {}
var66.CloseButton = Roact_upvr.createElement("ImageButton", {
AnchorPoint = Vector2.new(1, 0);
Position = UDim2.fromScale(1, 0);
Size = UDim2.fromScale(1, 1);
BackgroundColor3 = Color3.fromRGB(0, 0, 0);
BorderColor3 = Color3.fromRGB(255, 255, 255);
Image = "rbxassetid://15511528148";
[Roact_upvr.Event.Activated] = arg1.props.CloseInterfaceRequested;
}, {
UIAspectRatioConstraint = Roact_upvr.createElement("UIAspectRatioConstraint");
})
local var70 = true
if var70 then
var70 = false
if string_gsub_result1 == '/' then
var70 = Roact_upvr.createElement
var70 = var70("ImageButton", {
AnchorPoint = Vector2.new(0.5, 0);
Position = UDim2.fromScale(0.5, 0);
Size = UDim2.fromScale(1, 1);
BackgroundColor3 = Color3.fromRGB(0, 0, 0);
BorderColor3 = Color3.fromRGB(255, 255, 255);
Image = "rbxassetid://16543364017";
[Roact_upvr.Event.Activated] = arg1.props.NavigateToProductDisplayRequested;
}, {
UIAspectRatioConstraint = Roact_upvr.createElement("UIAspectRatioConstraint");
})
end
end
var66.BackButton = var70
end
tbl.Navbar = Roact_upvr.createElement(Navbar_upvr, tbl_9, var66)
local introCompleted_2 = arg1.state.introCompleted
if introCompleted_2 then
introCompleted_2 = Roact_upvr.createElement
local tbl_18 = {}
var66 = UDim2.new(1, 0, 1, -var52.Y)
tbl_18.Size = var66
var66 = 1
tbl_18.BackgroundTransparency = var66
var66 = 2
tbl_18.LayoutOrder = var66
var66 = {}
var66.UIPadding = Roact_upvr.createElement("UIPadding", {
PaddingBottom = UDim.new(0, 10);
PaddingLeft = UDim.new(0, 10);
PaddingRight = UDim.new(0, 10);
PaddingTop = UDim.new(0, 10);
})
var66[string_gsub_result1] = Roact_upvr.createElement(tbl_7_upvr[string_gsub_result1], {
Parameters = arg1.props.PathParameters;
OnCollectionsFilterOptionActivated = arg1.props.OnCollectionsFilterOptionActivated;
OnProductTypeFilterOptionActivated = arg1.props.OnProductTypeFilterOptionActivated;
})
introCompleted_2 = introCompleted_2("Frame", tbl_18, var66)
end
tbl.Content = introCompleted_2
var54 = var54("Frame", {
Size = UDim2.fromScale(1, 1);
BackgroundTransparency = 1;
}, tbl)
end
module_2.RetailContent = var54
if arg1.state.introCompleted then
local tbl_3 = {}
local tbl_28 = {}
var66 = Vector2.new(0.5, 0)
tbl_28.AnchorPoint = var66
var66 = UDim2.fromScale(0.5, 0)
tbl_28.Position = var66
var66 = UDim2.new(2, 0, 0, var52.Y)
tbl_28.Size = var66
var66 = Color3.fromRGB(0, 0, 0)
tbl_28.BackgroundColor3 = var66
if arg1.state.introCompleted then
var66 = 0.2
else
var66 = 1
end
tbl_28.BackgroundTransparency = var66
tbl_28.BorderSizePixel = 0
tbl_3.Header = Roact_upvr.createElement("Frame", tbl_28)
local tbl_8 = {
Position = UDim2.fromOffset(0, var52.Y);
Size = UDim2.new(1.1, 0, 1, -var52.Y);
BackgroundColor3 = Color3.fromRGB(0, 0, 0);
}
if arg1.state.introCompleted then
else
end
tbl_8.BackgroundTransparency = 1
tbl_8.BorderSizePixel = 0
;({}).UIGradient = Roact_upvr.createElement("UIGradient", {
Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0, 1), NumberSequenceKeypoint.new(0.2, 1), NumberSequenceKeypoint.new(0.3, 0), NumberSequenceKeypoint.new(1, 0)});
})
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
tbl_3.Content = Roact_upvr.createElement("Frame", tbl_8, {})
end
module_2.RetailBackground = Roact_upvr.createElement("Frame", {
Size = UDim2.fromScale(1, 1);
BackgroundTransparency = 1;
ZIndex = -1;
}, tbl_3)
if arg1.state.introCompleted then
end
module_2.ModalFix = Roact_upvr.createElement("TextButton", {
Size = UDim2.fromScale(0, 0);
BackgroundTransparency = 1;
Text = "";
Modal = true;
})
if arg1.state.introCompleted then
end
module_2.LoyaltyPointsPrompt = Roact_upvr.createElement(LoyaltyPointsPrompt_upvr, {
PotentialLoyaltyPoints = arg1.props.PotentialLoyaltyPoints;
OnBackgroundPressed = arg1.props.OnBackgroundPressedWhenLoyaltyPointsPromptWasOpen;
})
if arg1.state.introCompleted then
end
module_2.Notification = Roact_upvr.createElement(Notification_upvr, {
NotificationMessage = arg1.props.NotificationMessage;
})
return Roact_upvr.createElement("ImageButton", module, module_2)
end
return require(ReplicatedStorage.PopupShop.Packages.RoactRodux).connect(function(arg1) -- Line 218
return {
Path = arg1.Path;
PageStack = arg1.PageStack;
PathParameters = arg1.PathParameters;
FullHistory = arg1.FullHistory;
PotentialLoyaltyPoints = arg1.PotentialLoyaltyPoints;
NotificationMessage = arg1.NotificationMessage;
}
end)(any_extend_result1)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:58:38
-- Luau version 6, Types version 3
-- Time taken: 0.010086 seconds
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Sift_upvr = require(ReplicatedStorage.PopupShop.Packages.Sift)
local Rodux = require(ReplicatedStorage.PopupShop.Packages.Rodux)
local function processPath_upvr(arg1, arg2) -- Line 134, Named "processPath"
--[[ Upvalues[1]:
[1]: Sift_upvr (readonly)
]]
local string_match_result1_2, string_match_result2_2 = string.match(arg1, "([^?]+)%??(.*)")
for _, v in string.split(string_match_result2_2, '&') do
if v ~= "" then
local string_match_result1, string_match_result2 = string.match(v, "(.*)=(.*)")
if tonumber(string_match_result2) then
({})[string_match_result1] = tonumber(string_match_result2)
elseif string_match_result2 == "true" then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
;({})[string_match_result1] = true
elseif string_match_result2 == "false" then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
;({})[string_match_result1] = false
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
;({})[string_match_result1] = string_match_result2
end
end
end
arg2.Path = string_match_result1_2
arg2.LastRawPath = arg2.RawPath
arg2.RawPath = arg1
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
arg2.PathParameters = {}
arg2.FullHistory = Sift_upvr.Array.push(arg2.FullHistory, arg1)
end
local module = {
addRobloxAssetDetails = function(arg1, arg2) -- Line 165, Named "addRobloxAssetDetails"
arg1.RobloxAssetData[arg2.AssetData.VerseId] = arg2.AssetData
return arg1
end;
updateReserved = function(arg1, arg2) -- Line 171, Named "updateReserved"
arg1.ReservedProducts = arg2.ReservedProducts
return arg1
end;
clearHistory = function(arg1) -- Line 177, Named "clearHistory"
--[[ Upvalues[1]:
[1]: processPath_upvr (readonly)
]]
arg1.PageStack = {}
arg1.FullHistory = {}
processPath_upvr('/', arg1)
return arg1
end;
navigateTo = function(arg1, arg2) -- Line 185, Named "navigateTo"
--[[ Upvalues[2]:
[1]: Sift_upvr (readonly)
[2]: processPath_upvr (readonly)
]]
arg1.PageStack = Sift_upvr.Array.push(arg1.PageStack, arg1.RawPath)
processPath_upvr(arg2.path, arg1)
return arg1
end;
navigateBack = function(arg1) -- Line 192, Named "navigateBack"
--[[ Upvalues[2]:
[1]: processPath_upvr (readonly)
[2]: Sift_upvr (readonly)
]]
if #arg1.PageStack == 0 then return end
processPath_upvr(arg1.PageStack[1], arg1)
arg1.PageStack = Sift_upvr.Array.pop(arg1.PageStack, 1)
return arg1
end;
navigateToPreviousProductDisplay = function(arg1) -- Line 206, Named "navigateToPreviousProductDisplay"
--[[ Upvalues[2]:
[1]: Sift_upvr (readonly)
[2]: processPath_upvr (readonly)
]]
if #arg1.FullHistory == 0 then return end
local any_findWhereLast_result1 = Sift_upvr.Array.findWhereLast(arg1.FullHistory, function(arg1_2) -- Line 211
local var16
if arg1_2:sub(1, 15) ~= "/productdisplay" then
var16 = false
else
var16 = true
end
return var16
end)
if not any_findWhereLast_result1 then return end
processPath_upvr(arg1.FullHistory[any_findWhereLast_result1], arg1)
arg1.PageStack = Sift_upvr.Array.push(arg1.PageStack, '/')
return arg1
end;
syncSections = function(arg1, arg2) -- Line 229, Named "syncSections"
arg1.Sections = arg2.Sections
return arg1
end;
addProductDisplay = function(arg1, arg2) -- Line 235, Named "addProductDisplay"
arg1.ProductDisplays[arg2.Id] = {
Products = arg2.Products;
DisplaySlot = arg2.DisplaySlot;
}
return arg1
end;
addBundledItem = function(arg1, arg2) -- Line 244, Named "addBundledItem"
arg1.BundledItems[arg2.AssetId] = arg2.ProductId
return arg1
end;
setEquippedIds = function(arg1, arg2) -- Line 250, Named "setEquippedIds"
arg1.EquippedProducts = table.clone(arg2.EquippedProducts)
return arg1
end;
setPotentialLoyaltyPoints = function(arg1, arg2) -- Line 256, Named "setPotentialLoyaltyPoints"
arg1.PotentialLoyaltyPoints = arg2.PotentialLoyaltyPoints
return arg1
end;
setWishlistedProducts = function(arg1, arg2) -- Line 262, Named "setWishlistedProducts"
arg1.WishlistedProducts = table.clone(arg2.WishlistedProducts)
return arg1
end;
updateAvatarHumanoidDescription = function(arg1, arg2) -- Line 268, Named "updateAvatarHumanoidDescription"
arg1.AvatarHumanoidDescription = arg2.AvatarHumanoidDescription
return arg1
end;
setCallback = function(arg1, arg2) -- Line 274, Named "setCallback"
for i_2, v_2 in arg2.Callbacks do
if arg1[i_2] then
arg1[i_2] = v_2
end
end
return arg1
end;
setLoyaltyPoints = function(arg1, arg2) -- Line 284, Named "setLoyaltyPoints"
arg1.LoyaltyPoints = arg2.LoyaltyPoints
return arg1
end;
}
local HttpService_upvr = game:GetService("HttpService")
function module.setNotificationMessage(arg1, arg2) -- Line 290
--[[ Upvalues[1]:
[1]: HttpService_upvr (readonly)
]]
local var22
if arg2.Text == nil then
var22 = nil
else
var22 = {
Text = arg2.Text;
MessageId = HttpService_upvr:GenerateGUID(false);
}
end
arg1.NotificationMessage = var22
return arg1
end
function module.setSectionContent(arg1, arg2) -- Line 307
arg1.SectionContent[arg2.SectionData.Id] = arg2.SectionData
arg1.SectionContent = table.clone(arg1.SectionContent)
return arg1
end
function module.addProductData(arg1, arg2) -- Line 314
arg2.ProductData.IsNewFormat = true
arg1.ProductData[arg2.ProductData.Id] = arg2.ProductData
arg1.ProductDataAssetLookup[arg2.ProductData.VerseId] = arg2.ProductData
return arg1
end
function module.setSearchResults(arg1, arg2) -- Line 322
arg1.SearchResults = table.clone(arg2.SearchResults)
if not arg2.ShouldRetainSearchError then
arg1.SearchError = nil
end
return arg1
end
function module.setSearchError(arg1, arg2) -- Line 332
arg1.SearchError = arg2.SearchError
return arg1
end
function module.queueAnimationsSequence(arg1, arg2) -- Line 338
arg1.AnimationsSequence = table.clone(arg2.AnimationIds)
return arg1
end
function module.dequeueFromAnimationsSequence(arg1, arg2) -- Line 344
table.remove(arg1.AnimationsSequence, table.find(arg1.AnimationsSequence, arg2.AnimationId))
arg1.AnimationsSequence = table.clone(arg1.AnimationsSequence)
return arg1
end
return Rodux.Store.new(Rodux.createReducer({
LastRawPath = '/';
RawPath = '/';
Path = '/';
PathParameters = {};
PageStack = {};
FullHistory = {};
EquippedProducts = {};
WishlistedProducts = {};
ReservedProducts = {};
SearchResults = {};
SearchError = nil;
BundledItems = {};
Sections = {};
Categories = {};
ProductDisplays = {};
SectionContent = {};
AvatarHumanoidDescription = Instance.new("HumanoidDescription");
LoyaltyPoints = nil;
PotentialLoyaltyPoints = nil;
NotificationMessage = nil;
ProductData = {};
ProductDataAssetLookup = {};
RobloxAssetData = {};
AnimationsSequence = {};
OnRequestAssetDetails = function() -- Line 93, Named "OnRequestAssetDetails"
warn("OnRequestAssetDetails isn't overwritten.")
end;
OnRequestAssetPurchase = function() -- Line 97, Named "OnRequestAssetPurchase"
warn("OnRequestAssetPurchase isn't overwritten.")
end;
OnRequestAssetEquip = function() -- Line 101, Named "OnRequestAssetEquip"
warn("OnRequestAssetEquip isn't overwritten.")
end;
OnRequestAssetUnequip = function() -- Line 105, Named "OnRequestAssetUnequip"
warn("OnRequestAssetUnequip isn't overwritten.")
end;
OnRequestAssetWishlist = function() -- Line 109, Named "OnRequestAssetWishlist"
warn("OnRequestAssetWishlist isn't overwritten.")
end;
GoToPath = function() -- Line 113, Named "GoToPath"
warn("GoToPath isn't overwritten.")
end;
OnRequestCharacterReset = function() -- Line 117, Named "OnRequestCharacterReset"
warn("OnRequestCharacterReset isn't overwritten.")
end;
OnRemoveAssetFromQueue = function() -- Line 121, Named "OnRemoveAssetFromQueue"
warn("OnRemoveAssetFromQueue isn't overwritten.")
end;
OnSearch = function() -- Line 125, Named "OnSearch"
warn("OnSearch isn't overwritten.")
end;
ClearSearchError = function() -- Line 129, Named "ClearSearchError"
warn("ClearSearchError isn't overwritten.")
end;
}, module))
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:58:39
-- Luau version 6, Types version 3
-- Time taken: 0.014504 seconds
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Roact_upvr = require(ReplicatedStorage.PopupShop.Packages.Roact)
local Flipper_upvr = require(ReplicatedStorage.PopupShop.Packages.Flipper)
local any_extend_result1 = Roact_upvr.PureComponent:extend("FilterBar")
local tbl_3 = {
AnchorPoint = Vector2.zero;
Position = UDim2.new();
Size = UDim2.new(1, 0, 0, 40);
Options = {{
Name = "Test";
Value = false;
}};
}
function tbl_3.OnOptionActivated() -- Line 26
warn("OnOptionActivated not overwritten.")
end
any_extend_result1.defaultProps = tbl_3
function any_extend_result1.RefreshCanScroll(arg1) -- Line 31
local any_getValue_result1_2 = arg1.ScrolligFrameRef:getValue()
local var10
if not any_getValue_result1_2 then
else
if any_getValue_result1_2.AbsoluteWindowSize.X >= any_getValue_result1_2.AbsoluteCanvasSize.X then
var10 = false
else
var10 = true
end
if any_getValue_result1_2.AbsoluteCanvasSize.X - any_getValue_result1_2.AbsoluteWindowSize.X <= any_getValue_result1_2.CanvasPosition.X + 10 and var10 then
arg1:setState({
CanScrollLeft = true;
CanScrollRight = false;
UIGradientTransparency = NumberSequence.new({NumberSequenceKeypoint.new(0, 1), NumberSequenceKeypoint.new(0.1, 0), NumberSequenceKeypoint.new(0.9, 0), NumberSequenceKeypoint.new(1, 0)});
})
return
end
if any_getValue_result1_2.CanvasPosition.X <= 10 and var10 then
arg1:setState({
CanScrollLeft = false;
CanScrollRight = true;
UIGradientTransparency = NumberSequence.new({NumberSequenceKeypoint.new(0, 0), NumberSequenceKeypoint.new(0.1, 0), NumberSequenceKeypoint.new(0.9, 0), NumberSequenceKeypoint.new(1, 1)});
})
return
end
if 0 < any_getValue_result1_2.CanvasPosition.X then
arg1:setState({
CanScrollLeft = true;
CanScrollRight = true;
UIGradientTransparency = NumberSequence.new({NumberSequenceKeypoint.new(0, 1), NumberSequenceKeypoint.new(0.1, 0), NumberSequenceKeypoint.new(0.9, 0), NumberSequenceKeypoint.new(1, 1)});
})
return
end
arg1:setState({
CanScrollLeft = false;
CanScrollRight = false;
UIGradientTransparency = NumberSequence.new({NumberSequenceKeypoint.new(0, 0), NumberSequenceKeypoint.new(0.1, 0), NumberSequenceKeypoint.new(0.9, 0), NumberSequenceKeypoint.new(1, 0)});
})
end
end
function any_extend_result1.CreateFilter(arg1, arg2, arg3, arg4) -- Line 90
--[[ Upvalues[1]:
[1]: Roact_upvr (readonly)
]]
local module = {
Size = UDim2.fromScale(0, 1);
AutomaticSize = Enum.AutomaticSize.X;
}
local var20
local function INLINED() -- Internal function, doesn't exist in bytecode
var20 = Color3.fromRGB(25, 127, 182)
return var20
end
if not arg3 or not INLINED() then
var20 = Color3.fromRGB(0, 0, 0)
end
module.BackgroundColor3 = var20
var20 = Color3.fromRGB(255, 255, 255)
module.BorderColor3 = var20
var20 = Enum.BorderMode.Inset
module.BorderMode = var20
var20 = Font.new("rbxasset://fonts/families/RobotoCondensed.json", Enum.FontWeight.Bold, Enum.FontStyle.Normal)
module.FontFace = var20
var20 = string.upper(arg2)
module.Text = var20
var20 = Color3.fromRGB(255, 255, 255)
module.TextColor3 = var20
var20 = 20
module.TextSize = var20
var20 = Roact_upvr.Event.Activated
module[var20] = arg4
var20 = {}
var20.UIPadding = Roact_upvr.createElement("UIPadding", {
PaddingBottom = UDim.new(0, 6);
PaddingLeft = UDim.new(0, 10);
PaddingRight = UDim.new(0, 10);
PaddingTop = UDim.new(0, 6);
})
return Roact_upvr.createElement("TextButton", module, var20)
end
function any_extend_result1.didUpdate(arg1, arg2) -- Line 121
if arg1.props.Options ~= arg2.Options then
arg1:RefreshCanScroll()
end
end
function any_extend_result1.init(arg1) -- Line 127
--[[ Upvalues[2]:
[1]: Roact_upvr (readonly)
[2]: Flipper_upvr (readonly)
]]
arg1.ScrolligFrameRef = Roact_upvr.createRef()
arg1.ScrollMotor = Flipper_upvr.SingleMotor.new(0)
arg1.ScrollMotor:onStep(function(arg1_2) -- Line 131
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
local any_getValue_result1 = arg1.ScrolligFrameRef:getValue()
if not any_getValue_result1 then
else
any_getValue_result1.CanvasPosition = Vector2.new(arg1_2, 0)
end
end)
arg1:setState({
CanScrollLeft = false;
CanScrollRight = false;
UIGradientTransparency = NumberSequence.new({NumberSequenceKeypoint.new(0, 0), NumberSequenceKeypoint.new(0.1, 0), NumberSequenceKeypoint.new(0.9, 0), NumberSequenceKeypoint.new(1, 1)});
})
end
function any_extend_result1.didMount(arg1) -- Line 153
task.defer(arg1.RefreshCanScroll, arg1)
end
function any_extend_result1.willUnmount(arg1) -- Line 158
arg1.ScrollMotor:stop()
end
local table_freeze_result1_upvr = table.freeze({
frequency = 1.7;
dampingRatio = 0.9;
})
function any_extend_result1.render(arg1) -- Line 162
--[[ Upvalues[3]:
[1]: Roact_upvr (readonly)
[2]: Flipper_upvr (readonly)
[3]: table_freeze_result1_upvr (readonly)
]]
for _, v_upvr in arg1.props.Options do
if not v_upvr.Hidden then
table.insert({}, arg1:CreateFilter(v_upvr.Name, v_upvr.Value, function() -- Line 171
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: v_upvr (readonly)
]]
arg1.props.OnOptionActivated(v_upvr.Name)
end))
end
end
local module_2 = {}
local CanScrollLeft = arg1.state.CanScrollLeft
if CanScrollLeft then
CanScrollLeft = Roact_upvr.createElement
CanScrollLeft = CanScrollLeft("ImageButton", {
Size = UDim2.fromScale(1, 1);
BackgroundColor3 = Color3.fromRGB(0, 0, 0);
BorderSizePixel = 0;
Image = "rbxassetid://16568014588";
ScaleType = Enum.ScaleType.Fit;
Rotation = -90;
ZIndex = 2;
[Roact_upvr.Event.Activated] = function() -- Line 199
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: Flipper_upvr (copied, readonly)
[3]: table_freeze_result1_upvr (copied, readonly)
]]
local any_getValue_result1_3 = arg1.ScrolligFrameRef:getValue()
if not any_getValue_result1_3 then
else
arg1.ScrollMotor:setGoal(Flipper_upvr.Spring.new(math.max(0, any_getValue_result1_3.CanvasPosition.X - any_getValue_result1_3.AbsoluteSize.X * 0.5), table_freeze_result1_upvr))
end
end;
}, {
UIAspectRatioConstraint = Roact_upvr.createElement("UIAspectRatioConstraint");
UIGradient = Roact_upvr.createElement("UIGradient", {
Rotation = 90;
Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0, 0), NumberSequenceKeypoint.new(0.6, 0), NumberSequenceKeypoint.new(1, 1)});
});
})
end
module_2.LeftArrow = CanScrollLeft
CanScrollLeft = arg1.state.CanScrollRight
local var41 = CanScrollLeft
if var41 then
var41 = Roact_upvr.createElement
var41 = var41("ImageButton", {
AnchorPoint = Vector2.new(1, 0);
Position = UDim2.fromScale(1, 0);
Size = UDim2.fromScale(1, 1);
BackgroundColor3 = Color3.fromRGB(0, 0, 0);
BorderSizePixel = 0;
Image = "rbxassetid://16568014588";
ScaleType = Enum.ScaleType.Fit;
Rotation = 90;
ZIndex = 2;
[Roact_upvr.Event.Activated] = function() -- Line 238
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: Flipper_upvr (copied, readonly)
[3]: table_freeze_result1_upvr (copied, readonly)
]]
local any_getValue_result1_4 = arg1.ScrolligFrameRef:getValue()
if not any_getValue_result1_4 then
else
arg1.ScrollMotor:setGoal(Flipper_upvr.Spring.new(math.min(any_getValue_result1_4.AbsoluteCanvasSize.X - any_getValue_result1_4.AbsoluteWindowSize.X, any_getValue_result1_4.CanvasPosition.X + any_getValue_result1_4.AbsoluteSize.X * 0.5), table_freeze_result1_upvr))
end
end;
}, {
UIAspectRatioConstraint = Roact_upvr.createElement("UIAspectRatioConstraint");
UIGradient = Roact_upvr.createElement("UIGradient", {
Rotation = 90;
Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0, 0), NumberSequenceKeypoint.new(0.6, 0), NumberSequenceKeypoint.new(1, 1)});
});
})
end
module_2.RightArrow = var41
local tbl_2 = {
UIGradient = Roact_upvr.createElement("UIGradient", {
Transparency = arg1.state.UIGradientTransparency;
});
}
local tbl = {
UIListLayout = Roact_upvr.createElement("UIListLayout", {
Padding = UDim.new(0, 12);
FillDirection = Enum.FillDirection.Horizontal;
SortOrder = Enum.SortOrder.LayoutOrder;
});
}
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
tbl.Children = Roact_upvr.createFragment({})
tbl_2.ScrollingFrame = Roact_upvr.createElement("ScrollingFrame", {
Size = UDim2.fromScale(1, 1);
BackgroundTransparency = 1;
BorderSizePixel = 0;
AutomaticCanvasSize = Enum.AutomaticSize.X;
CanvasSize = UDim2.new();
ScrollBarThickness = 0;
ScrollingDirection = Enum.ScrollingDirection.X;
ClipsDescendants = true;
[Roact_upvr.Ref] = arg1.ScrolligFrameRef;
[Roact_upvr.Change.CanvasPosition] = function(arg1_3) -- Line 292
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: Flipper_upvr (copied, readonly)
]]
arg1:RefreshCanScroll()
if not arg1.ScrollMotor._state.complete then
else
arg1.ScrollMotor:setGoal(Flipper_upvr.Instant.new(arg1_3.CanvasPosition.X))
end
end;
}, tbl)
module_2.CanvasGroup = Roact_upvr.createElement("CanvasGroup", {
Size = UDim2.fromScale(1, 1);
BackgroundTransparency = 1;
BorderSizePixel = 0;
[Roact_upvr.Change.AbsoluteSize] = function() -- Line 269
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:RefreshCanScroll()
end;
}, tbl_2)
return Roact_upvr.createElement("Frame", {
AnchorPoint = arg1.props.AnchorPoint;
Position = arg1.props.Position;
Size = arg1.props.Size;
BackgroundTransparency = 1;
BorderSizePixel = 0;
}, module_2)
end
return any_extend_result1
KONSTANTERROR: After: K:0: attempt to index nil with 'debug_name'
K
K
K
K
K
K
K
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:58:41
-- Luau version 6, Types version 3
-- Time taken: 0.010388 seconds
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Roact_upvr = require(ReplicatedStorage.PopupShop.Packages.Roact)
local Flipper_upvr = require(ReplicatedStorage.PopupShop.Packages.Flipper)
local any_extend_result1 = Roact_upvr.PureComponent:extend("GridTile")
any_extend_result1.defaultProps = {
Position = UDim2.new();
Size = UDim2.fromScale(1, 1);
ColorSequence = ColorSequence.new({ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 255, 255)), ColorSequenceKeypoint.new(1, Color3.fromRGB(255, 255, 255))});
Text = "";
Thumbnail = "";
CenterContent = false;
}
local RoactFlipper_upvr = require(ReplicatedStorage.PopupShop.Packages.RoactFlipper)
function any_extend_result1.init(arg1) -- Line 29
--[[ Upvalues[2]:
[1]: Flipper_upvr (readonly)
[2]: RoactFlipper_upvr (readonly)
]]
arg1.hoverMotor = Flipper_upvr.SingleMotor.new(0)
arg1.hoverBinding = RoactFlipper_upvr.getBinding(arg1.hoverMotor)
arg1.viewportSizeObserver = workspace.CurrentCamera:GetPropertyChangedSignal("ViewportSize"):Connect(function() -- Line 33
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:setState({
titleFontSize = workspace.CurrentCamera.ViewportSize.Y * 0.09;
})
end)
arg1:setState({
titleFontSize = workspace.CurrentCamera.ViewportSize.Y * 0.09;
})
end
function any_extend_result1.willUnmount(arg1) -- Line 44
arg1.viewportSizeObserver:Disconnect()
end
local table_freeze_result1_upvr = table.freeze({
velocity = 7;
})
function any_extend_result1.render(arg1) -- Line 48
--[[ Upvalues[3]:
[1]: Roact_upvr (readonly)
[2]: Flipper_upvr (readonly)
[3]: table_freeze_result1_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local module = {
UIGradient = Roact_upvr.createElement("UIGradient", {
Color = arg1.props.ColorSequence;
Rotation = 33;
});
}
local tbl_2 = {}
local var19
local function INLINED() -- Internal function, doesn't exist in bytecode
var19 = Vector2.new(0, 0.5)
return var19
end
if not arg1.props.CenterContent or not INLINED() then
var19 = Vector2.new(0.5, 0.5)
end
tbl_2.AnchorPoint = var19
local function INLINED_2() -- Internal function, doesn't exist in bytecode
var19 = UDim2.fromScale(0.075, 0.5)
return var19
end
if not arg1.props.CenterContent or not INLINED_2() then
var19 = UDim2.fromScale(0.5, 0.5)
end
tbl_2.Position = var19
var19 = arg1.hoverBinding
var19 = var19:map(function(arg1_2) -- Line 81
return UDim2.fromScale(1, 1):Lerp(UDim2.fromScale(1.08, 1.08), arg1_2)
end)
tbl_2.Size = var19
var19 = 1
tbl_2.BackgroundTransparency = var19
var19 = arg1.props.Thumbnail
tbl_2.Image = var19
var19 = Enum.ScaleType.Crop
tbl_2.ScaleType = var19
var19 = -1
tbl_2.ZIndex = var19
var19 = {}
local CenterContent = arg1.props.CenterContent
if CenterContent then
CenterContent = Roact_upvr.createElement("UIAspectRatioConstraint")
end
var19.UIAspectRatioConstraint = CenterContent
module.Thumbnail = Roact_upvr.createElement("ImageLabel", tbl_2, var19)
local tbl = {}
var19 = UDim2.fromScale(1, 1)
tbl.Size = var19
var19 = Color3.fromRGB(0, 0, 0)
tbl.BackgroundColor3 = var19
var19 = 0
tbl.BorderSizePixel = var19
var19 = 0
tbl.ZIndex = var19
var19 = {}
var19.UIGradient = Roact_upvr.createElement("UIGradient", {
Rotation = -90;
Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.3), NumberSequenceKeypoint.new(0.3, 1), NumberSequenceKeypoint.new(1, 1)});
})
module.Backdrop = Roact_upvr.createElement("Frame", tbl, var19)
local tbl_4 = {}
var19 = Vector2.new(0, 1)
tbl_4.AnchorPoint = var19
var19 = UDim2.fromScale(0, 1)
tbl_4.Position = var19
var19 = UDim2.new(1, 0, 0, arg1.state.titleFontSize)
tbl_4.Size = var19
var19 = 1
tbl_4.BackgroundTransparency = var19
var19 = 1
tbl_4.ZIndex = var19
var19 = {}
local tbl_3 = {
Size = UDim2.fromScale(1, 1);
BackgroundTransparency = 1;
FontFace = Font.new("rbxasset://fonts/families/RobotoCondensed.json", Enum.FontWeight.Bold, Enum.FontStyle.Normal);
Text = string.upper(arg1.props.Text);
TextColor3 = arg1.hoverBinding:map(function(arg1_3) -- Line 134
if 0 < arg1_3 then
return Color3.fromRGB(0, 0, 0)
end
return Color3.fromRGB(255, 255, 255)
end);
TextSize = arg1.state.titleFontSize * 0.65;
}
if not arg1.props.CenterContent or not Enum.TextXAlignment.Right then
end
tbl_3.TextXAlignment = Enum.TextXAlignment.Center
tbl_3.AutoLocalize = false
var19.NameLabel = Roact_upvr.createElement("TextLabel", tbl_3, {
UIPadding = Roact_upvr.createElement("UIPadding", {
PaddingLeft = UDim.new(0.075, 0);
PaddingRight = UDim.new(0.075, 0);
});
})
var19.Background = Roact_upvr.createElement("Frame", {
Position = arg1.hoverBinding:map(function(arg1_4) -- Line 153
return UDim2.fromScale(0, 1):Lerp(UDim2.fromScale(0, 0), arg1_4)
end);
Size = UDim2.fromScale(1, 1);
BackgroundColor3 = Color3.fromRGB(255, 255, 255);
BackgroundTransparency = arg1.hoverBinding:map(function(arg1_5) -- Line 159
return 1 - arg1_5
end);
BorderSizePixel = 0;
ZIndex = 0;
})
module.Title = Roact_upvr.createElement("Frame", tbl_4, var19)
return Roact_upvr.createElement("ImageButton", {
Size = arg1.props.Size;
Position = arg1.props.Position;
BackgroundColor3 = Color3.fromRGB(255, 255, 255);
BorderSizePixel = 0;
ImageTransparency = 1;
ClipsDescendants = true;
AutoLocalize = false;
AutoButtonColor = false;
[Roact_upvr.Event.Activated] = arg1.props[Roact_upvr.Event.Activated];
[Roact_upvr.Event.MouseEnter] = function() -- Line 65
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: Flipper_upvr (copied, readonly)
[3]: table_freeze_result1_upvr (copied, readonly)
]]
arg1.hoverMotor:setGoal(Flipper_upvr.Linear.new(1, table_freeze_result1_upvr))
end;
[Roact_upvr.Event.MouseLeave] = function() -- Line 69
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: Flipper_upvr (copied, readonly)
[3]: table_freeze_result1_upvr (copied, readonly)
]]
arg1.hoverMotor:setGoal(Flipper_upvr.Linear.new(0, table_freeze_result1_upvr))
end;
}, module)
end
return any_extend_result1
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:58:43
-- Luau version 6, Types version 3
-- Time taken: 0.007730 seconds
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Roact_upvr = require(ReplicatedStorage.PopupShop.Packages.Roact)
local any_extend_result1 = Roact_upvr.PureComponent:extend("Intro")
any_extend_result1.defaultProps = {
Finished = function() -- Line 23, Named "Finished"
warn("Finished not overwritten")
end;
}
local Flipper_upvr = require(ReplicatedStorage.PopupShop.Packages.Flipper)
local RoactFlipper_upvr = require(ReplicatedStorage.PopupShop.Packages.RoactFlipper)
function any_extend_result1.init(arg1) -- Line 28
--[[ Upvalues[2]:
[1]: Flipper_upvr (readonly)
[2]: RoactFlipper_upvr (readonly)
]]
arg1.animationStage = 0
arg1.animationMotor = Flipper_upvr.SingleMotor.new(0)
arg1.animationBinding = RoactFlipper_upvr.getBinding(arg1.animationMotor)
arg1.isReseting = false
function arg1.resetMotor() -- Line 36
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: Flipper_upvr (copied, readonly)
]]
arg1.isReseting = true
arg1.animationMotor:setGoal(Flipper_upvr.Instant.new(0))
arg1.animationMotor:step()
end
function arg1.playAnimation() -- Line 42
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: Flipper_upvr (copied, readonly)
]]
if arg1.animationStage == 0 then
arg1.animationStage = 1
arg1.resetMotor()
arg1.animationMotor:setGoal(Flipper_upvr.Linear.new(1, {
velocity = 3;
}))
else
if arg1.animationStage == 1 then
task.wait(0.25)
arg1.animationStage = 2
arg1.resetMotor()
arg1.animationMotor:setGoal(Flipper_upvr.Linear.new(1, {
velocity = 3;
}))
return
end
if arg1.animationStage == 2 then
arg1.animationStage = 3
arg1.resetMotor()
arg1.animationMotor:setGoal(Flipper_upvr.Linear.new(1, {
velocity = 5;
}))
arg1.props.Finished()
end
end
end
arg1.animationMotor:onComplete(function() -- Line 70
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1.isReseting then
arg1.isReseting = false
else
arg1.playAnimation()
end
end)
end
function any_extend_result1.didMount(arg1) -- Line 79
arg1.playAnimation()
end
function any_extend_result1.willUnmount(arg1) -- Line 83
arg1.animationMotor:stop()
end
local udim2_upvr_5 = UDim2.fromScale(0.25, 0.2)
local udim2_upvr_2 = UDim2.fromScale(2, 2.5)
local udim2_upvr_4 = UDim2.fromScale(0, 0)
local udim2_upvr = UDim2.fromScale(1, 1)
local udim2_upvr_3 = UDim2.fromScale(0.25, 0.25)
function any_extend_result1.render(arg1) -- Line 87
--[[ Upvalues[6]:
[1]: Roact_upvr (readonly)
[2]: udim2_upvr_5 (readonly)
[3]: udim2_upvr_2 (readonly)
[4]: udim2_upvr_4 (readonly)
[5]: udim2_upvr (readonly)
[6]: udim2_upvr_3 (readonly)
]]
local logoAspectRatio = arg1.props.logoAspectRatio
local module = {}
local tbl = {
UIAspectRatioConstraint = Roact_upvr.createElement("UIAspectRatioConstraint");
Circle = Roact_upvr.createElement("Frame", {
Size = UDim2.fromScale(1, 1);
BackgroundColor3 = Color3.fromRGB(0, 0, 0);
BackgroundTransparency = arg1.animationBinding:map(function(arg1_3) -- Line 115
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1.animationStage == 2 then
return 0
end
if arg1.animationStage == 3 then
return arg1_3
end
return 1 - arg1_3
end);
}, {
UICorner = Roact_upvr.createElement("UICorner", {
CornerRadius = UDim.new(0.5, 0);
});
});
}
local tbl_2 = {}
local var32 = logoAspectRatio
if var32 then
var32 = Roact_upvr.createElement
var32 = var32("UIAspectRatioConstraint", {
AspectRatio = logoAspectRatio;
})
end
tbl_2.UIAspectRatioConstraint = var32
tbl.Logo = Roact_upvr.createElement("ImageLabel", {
AnchorPoint = Vector2.new(0.5, 0.5);
Position = UDim2.fromScale(0.5, 0.5);
Size = arg1.animationBinding:map(function(arg1_4) -- Line 132
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: udim2_upvr (copied, readonly)
[3]: udim2_upvr_3 (copied, readonly)
]]
if arg1.animationStage == 1 then
return udim2_upvr
end
if arg1.animationStage == 2 then
return udim2_upvr:Lerp(udim2_upvr_3, arg1_4)
end
return udim2_upvr_3
end);
BackgroundTransparency = 1;
Image = "rbxassetid://15243427241";
ImageTransparency = arg1.animationBinding:map(function(arg1_5) -- Line 145
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1.animationStage == 2 then
return arg1_5
end
if arg1.animationStage == 3 then
return 1
end
return 1 - arg1_5
end);
}, tbl_2)
module.Container = Roact_upvr.createElement("Frame", {
AnchorPoint = Vector2.new(0.5, 0.5);
Position = UDim2.fromScale(0.5, 0.5);
Size = arg1.animationBinding:map(function(arg1_2) -- Line 98
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: udim2_upvr_5 (copied, readonly)
[3]: udim2_upvr_2 (copied, readonly)
[4]: udim2_upvr_4 (copied, readonly)
]]
if arg1.animationStage == 2 then
return udim2_upvr_5:Lerp(udim2_upvr_2, arg1_2)
end
if arg1.animationStage == 3 then
return udim2_upvr_2
end
return udim2_upvr_4:Lerp(udim2_upvr_5, arg1_2)
end);
BackgroundTransparency = 1;
}, tbl)
return Roact_upvr.createElement("Frame", {
Size = UDim2.fromScale(1, 1);
BackgroundTransparency = 1;
}, module)
end
return any_extend_result1
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:58:44
-- Luau version 6, Types version 3
-- Time taken: 0.003975 seconds
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Roact_upvr = require(ReplicatedStorage.PopupShop.Packages.Roact)
local Flipper_upvr = require(ReplicatedStorage.PopupShop.Packages.Flipper)
local any_extend_result1 = Roact_upvr.PureComponent:extend("LabeledImageButton")
any_extend_result1.defaultProps = {
AnchorPoint = Vector2.zero;
Position = UDim2.new();
Size = UDim2.fromScale(1, 1);
Image = "";
Text = "";
}
local RoactFlipper_upvr = require(ReplicatedStorage.PopupShop.Packages.RoactFlipper)
function any_extend_result1.init(arg1) -- Line 22
--[[ Upvalues[2]:
[1]: Flipper_upvr (readonly)
[2]: RoactFlipper_upvr (readonly)
]]
arg1.hoverMotor = Flipper_upvr.SingleMotor.new(0)
arg1.hoverBinding = RoactFlipper_upvr.getBinding(arg1.hoverMotor)
end
local table_freeze_result1_upvr = table.freeze({
velocity = 7;
})
function any_extend_result1.render(arg1) -- Line 27
--[[ Upvalues[3]:
[1]: Roact_upvr (readonly)
[2]: Flipper_upvr (readonly)
[3]: table_freeze_result1_upvr (readonly)
]]
return Roact_upvr.createElement("ImageButton", {
AnchorPoint = arg1.props.AnchorPoint;
Position = arg1.props.Position;
Size = arg1.props.Size;
ImageTransparency = 1;
BackgroundColor3 = Color3.fromRGB(255, 255, 255);
BackgroundTransparency = arg1.hoverBinding:map(function(arg1_2) -- Line 36
return 1 - arg1_2 - 0.6
end);
BorderSizePixel = 0;
AutoButtonColor = false;
[Roact_upvr.Event.Activated] = arg1.props[Roact_upvr.Event.Activated];
[Roact_upvr.Event.MouseEnter] = function() -- Line 45
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: Flipper_upvr (copied, readonly)
[3]: table_freeze_result1_upvr (copied, readonly)
]]
arg1.hoverMotor:setGoal(Flipper_upvr.Linear.new(1, table_freeze_result1_upvr))
end;
[Roact_upvr.Event.MouseLeave] = function() -- Line 49
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: Flipper_upvr (copied, readonly)
[3]: table_freeze_result1_upvr (copied, readonly)
]]
arg1.hoverMotor:setGoal(Flipper_upvr.Linear.new(0, table_freeze_result1_upvr))
end;
}, {
UIAspectRatioConstraint = Roact_upvr.createElement("UIAspectRatioConstraint", {
AspectRatio = 0.75;
});
Icon = Roact_upvr.createElement("ImageLabel", {
Size = UDim2.fromScale(1, 1);
BackgroundTransparency = 1;
Image = arg1.props.Image;
}, {
UIAspectRatioConstraint = Roact_upvr.createElement("UIAspectRatioConstraint");
});
TextLabel = Roact_upvr.createElement("TextLabel", {
AnchorPoint = Vector2.new(0, 1);
Position = UDim2.fromScale(0, 1);
Size = UDim2.fromScale(1, 0.25);
BackgroundColor3 = Color3.fromRGB(0, 0, 0);
BackgroundTransparency = 0.2;
BorderSizePixel = 0;
FontFace = Font.new("rbxasset://fonts/families/RobotoCondensed.json", Enum.FontWeight.Bold, Enum.FontStyle.Normal);
Text = string.upper(arg1.props.Text);
TextColor3 = Color3.fromRGB(255, 255, 255);
TextScaled = true;
});
})
end
return any_extend_result1
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:58:45
-- Luau version 6, Types version 3
-- Time taken: 0.015089 seconds
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Roact_upvr = require(ReplicatedStorage.PopupShop.Packages.Roact)
local Flipper_upvr = require(ReplicatedStorage.PopupShop.Packages.Flipper)
local any_extend_result1 = Roact_upvr.Component:extend("LoyaltyPointsPrompt")
local RoactFlipper_upvr = require(ReplicatedStorage.PopupShop.Packages.RoactFlipper)
local Trove_upvr = require(ReplicatedStorage.PopupShop.Packages.Trove)
function any_extend_result1.init(arg1) -- Line 12
--[[ Upvalues[3]:
[1]: Flipper_upvr (readonly)
[2]: RoactFlipper_upvr (readonly)
[3]: Trove_upvr (readonly)
]]
arg1.state = {
shouldDisplayAtTheBottom = arg1:_shouldDisplayAtTheBottom();
}
arg1.promptToggleMotor = Flipper_upvr.SingleMotor.new(1)
arg1.promptToggleBinding = RoactFlipper_upvr.getBinding(arg1.promptToggleMotor)
arg1._trove = Trove_upvr.new()
end
function any_extend_result1.didMount(arg1) -- Line 23
arg1._trove:Add(workspace.CurrentCamera:GetPropertyChangedSignal("ViewportSize"):Connect(function() -- Line 24
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:setState(function(arg1_2) -- Line 25
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
local any__shouldDisplayAtTheBottom_result1 = arg1:_shouldDisplayAtTheBottom()
if arg1_2.shouldDisplayAtTheBottom == any__shouldDisplayAtTheBottom_result1 then
return nil
end
return {
shouldDisplayAtTheBottom = any__shouldDisplayAtTheBottom_result1;
}
end)
end))
end
function any_extend_result1.didUpdate(arg1, arg2) -- Line 36
--[[ Upvalues[1]:
[1]: Flipper_upvr (readonly)
]]
if arg2.PotentialLoyaltyPoints == nil and arg1.props.PotentialLoyaltyPoints ~= nil then
arg1.promptToggleMotor:setGoal(Flipper_upvr.Instant.new(1))
arg1.promptToggleMotor:step()
arg1.promptToggleMotor:setGoal(Flipper_upvr.Spring.new(0, {
frequency = 3;
dampingRatio = 1;
}))
arg1.mostRecentPotentialLoyaltyPoints = arg1.props.PotentialLoyaltyPoints
elseif arg2.PotentialLoyaltyPoints ~= nil and arg1.props.PotentialLoyaltyPoints == nil then
arg1.promptToggleMotor:setGoal(Flipper_upvr.Instant.new(0))
arg1.promptToggleMotor:step()
arg1.promptToggleMotor:setGoal(Flipper_upvr.Spring.new(1, {
frequency = 3;
dampingRatio = 1;
}))
end
end
function any_extend_result1.willUnmount(arg1) -- Line 60
arg1._trove:Destroy()
end
function any_extend_result1.render(arg1) -- Line 64
--[[ Upvalues[1]:
[1]: Roact_upvr (readonly)
]]
local shouldDisplayAtTheBottom_upvr_2 = arg1.state.shouldDisplayAtTheBottom
local module_3 = {}
local tbl_12 = {
AnchorPoint = arg1.promptToggleBinding:map(function(arg1_7) -- Line 79
--[[ Upvalues[1]:
[1]: shouldDisplayAtTheBottom_upvr_2 (readonly)
]]
if shouldDisplayAtTheBottom_upvr_2 then
return Vector2.new(0.5, 1 - arg1_7)
end
return Vector2.new(1 - arg1_7, 0.5)
end);
Position = arg1.promptToggleBinding:map(function(arg1_8) -- Line 87
--[[ Upvalues[1]:
[1]: shouldDisplayAtTheBottom_upvr_2 (readonly)
]]
if shouldDisplayAtTheBottom_upvr_2 then
return UDim2.fromScale(0.5, 0.9 + arg1_8 * 0.1)
end
return UDim2.fromScale(0.95 + arg1_8 * 0.05, 0.5)
end);
}
local var42
local function INLINED_2() -- Internal function, doesn't exist in bytecode
var42 = UDim2.fromScale(0.4, 0.15)
return var42
end
if not shouldDisplayAtTheBottom_upvr_2 or not INLINED_2() then
var42 = UDim2.fromScale(0.1, 0.5)
end
tbl_12.Size = var42
var42 = Color3.new(0, 0, 0)
tbl_12.BackgroundColor3 = var42
var42 = 0
tbl_12.BorderSizePixel = var42
var42 = 0.2
tbl_12.BackgroundTransparency = var42
var42 = {}
var42.UISizeConstraint = Roact_upvr.createElement("UISizeConstraint", {
MaxSize = Vector2.new(700, math.huge);
})
local tbl_2 = {
AnchorPoint = Vector2.new(0.5, 0.5);
}
local var45 = 0.25
tbl_2.Position = UDim2.fromScale(0.5, var45)
if shouldDisplayAtTheBottom_upvr_2 then
var45 = 0.15
else
var45 = 0.5
end
tbl_2.Size = UDim2.fromScale(0.8, var45)
tbl_2.BackgroundTransparency = 1
tbl_2.FontFace = Font.new("rbxasset://fonts/families/RobotoCondensed.json", Enum.FontWeight.Bold, Enum.FontStyle.Normal)
tbl_2.Text = "THIS PURCHASE EARNS YOU"
tbl_2.TextColor3 = Color3.new(1, 1, 1)
tbl_2.TextScaled = true
var42.Header = Roact_upvr.createElement("TextLabel", tbl_2)
local tbl = {
UIListLayout = Roact_upvr.createElement("UIListLayout", {
Padding = UDim.new(0.01, 0);
FillDirection = Enum.FillDirection.Horizontal;
HorizontalAlignment = Enum.HorizontalAlignment.Center;
VerticalAlignment = Enum.VerticalAlignment.Center;
SortOrder = Enum.SortOrder.LayoutOrder;
});
}
local var49 = not shouldDisplayAtTheBottom_upvr_2
if var49 then
var49 = Roact_upvr.createElement
var49 = var49("UIAspectRatioConstraint", {
AspectRatio = 2;
})
end
tbl.UIAspectRatioConstraint = var49
tbl.Icon = Roact_upvr.createElement("ImageLabel", {
Size = UDim2.fromScale(1, 1);
BackgroundTransparency = 1;
Image = "http://www.roblox.com/asset/?id=16173596317";
LayoutOrder = 1;
}, {
UIAspectRatioConstraint = Roact_upvr.createElement("UIAspectRatioConstraint");
})
local tbl_13 = {
AutomaticSize = Enum.AutomaticSize.X;
Size = UDim2.fromScale(0, 0.7);
BackgroundTransparency = 1;
FontFace = Font.new("rbxasset://fonts/families/RobotoCondensed.json", Enum.FontWeight.Bold, Enum.FontStyle.Normal);
}
local PotentialLoyaltyPoints = arg1.props.PotentialLoyaltyPoints
if not PotentialLoyaltyPoints then
PotentialLoyaltyPoints = arg1.mostRecentPotentialLoyaltyPoints
if not PotentialLoyaltyPoints then
PotentialLoyaltyPoints = ""
end
end
tbl_13.Text = PotentialLoyaltyPoints
tbl_13.TextColor3 = Color3.fromRGB(237, 231, 52)
tbl_13.TextScaled = true
tbl_13.LayoutOrder = 2
tbl_13.AutoLocalize = false
tbl.Amount = Roact_upvr.createElement("TextLabel", tbl_13)
var42.LoyaltyPointsContainer = Roact_upvr.createElement("Frame", {
AnchorPoint = Vector2.new(0.5, 0.5);
Position = UDim2.fromScale(0.5, 0.6);
Size = UDim2.fromScale(0.7, 0.3);
BackgroundTransparency = 1;
}, tbl)
module_3.Prompt = Roact_upvr.createElement("Frame", tbl_12, var42)
return Roact_upvr.createElement("ImageButton", {
Size = UDim2.fromScale(1, 1);
BackgroundTransparency = 1;
Visible = arg1.promptToggleBinding:map(function(arg1_6) -- Line 72
local var37
if arg1_6 >= 1 then
var37 = false
else
var37 = true
end
return var37
end);
[Roact_upvr.Event.Activated] = arg1.props.OnBackgroundPressed;
}, module_3)
end
function any_extend_result1._shouldDisplayAtTheBottom(arg1) -- Line 188
local var55
if 650 > workspace.CurrentCamera.viewportSize.Y then
var55 = false
else
var55 = true
end
return var55
end
return any_extend_result1
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:58:46
-- Luau version 6, Types version 3
-- Time taken: 0.003722 seconds
local Roact_upvr = require(game:GetService("ReplicatedStorage").PopupShop.Packages.Roact)
local any_extend_result1 = Roact_upvr.Component:extend("Notification")
function any_extend_result1.init(arg1) -- Line 9
arg1.state = {
notificationShowing = false;
}
end
function any_extend_result1.didUpdate(arg1, arg2, arg3) -- Line 15
if arg2.NotificationMessage ~= arg1.props.NotificationMessage and arg1.props.NotificationMessage ~= nil then
arg1:setState({
notificationShowing = true;
})
elseif arg3.notificationShowing == false and arg1.state.notificationShowing == true then
local MessageId_upvr = arg1.props.NotificationMessage.MessageId
task.delay(5, function() -- Line 27
--[[ Upvalues[2]:
[1]: MessageId_upvr (readonly)
[2]: arg1 (readonly)
]]
if MessageId_upvr ~= arg1.props.NotificationMessage.MessageId then
else
arg1:setState(function(arg1_2) -- Line 32
if not arg1_2.notificationShowing then return end
return {
notificationShowing = false;
}
end)
end
end)
end
end
function any_extend_result1.render(arg1) -- Line 43
--[[ Upvalues[1]:
[1]: Roact_upvr (readonly)
]]
local module = {
AutomaticSize = Enum.AutomaticSize.XY;
AnchorPoint = Vector2.new(0.5, 0.5);
Position = UDim2.fromScale(0.5, 0.5);
BackgroundColor3 = Color3.new(0, 0, 0);
BorderSizePixel = 0;
BackgroundTransparency = 0.2;
FontFace = Font.new("rbxasset://fonts/families/RobotoCondensed.json", Enum.FontWeight.Bold, Enum.FontStyle.Normal);
}
local NotificationMessage = arg1.props.NotificationMessage
if NotificationMessage then
NotificationMessage = string.upper(arg1.props.NotificationMessage.Text)
end
module.Text = NotificationMessage
module.TextColor3 = Color3.new(1, 1, 1)
module.TextScaled = true
module.TextWrapped = true
module.Visible = arg1.state.notificationShowing
return Roact_upvr.createElement("TextLabel", module, {
UITextSizeConstraint = Roact_upvr.createElement("UITextSizeConstraint", {
MinTextSize = 14;
MaxTextSize = 48;
});
UIPadding = Roact_upvr.createElement("UIPadding", {
PaddingTop = UDim.new(0, 10);
PaddingBottom = UDim.new(0, 10);
PaddingLeft = UDim.new(0, 10);
PaddingRight = UDim.new(0, 10);
});
UISizeConstraint = Roact_upvr.createElement("UISizeConstraint", {
MaxSize = Vector2.new(600, 400);
});
})
end
return any_extend_result1
KONSTANTERROR: After: K:0: attempt to index nil with 'debug_name'
K
K
K
K
K
K
K
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:58:49
-- Luau version 6, Types version 3
-- Time taken: 0.003073 seconds
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Roact_upvr = require(ReplicatedStorage.PopupShop.Packages.Roact)
local any_extend_result1 = Roact_upvr.PureComponent:extend("PreviewCartCombo")
any_extend_result1.defaultProps = {
Size = UDim2.fromScale(1, 1);
LayoutOrder = 0;
}
local PlayerPreview_upvr = require(script.Parent.PlayerPreview)
local LabeledImageButton_upvr = require(script.Parent.LabeledImageButton)
local ShoppingCart_upvr = require(script.Parent.ShoppingCart)
function any_extend_result1.render(arg1) -- Line 22
--[[ Upvalues[4]:
[1]: Roact_upvr (readonly)
[2]: PlayerPreview_upvr (readonly)
[3]: LabeledImageButton_upvr (readonly)
[4]: ShoppingCart_upvr (readonly)
]]
return Roact_upvr.createElement("Frame", {
Size = arg1.props.Size;
BackgroundTransparency = 1;
LayoutOrder = arg1.props.LayoutOrder;
}, {
UIListLayout = Roact_upvr.createElement("UIListLayout", {
HorizontalAlignment = Enum.HorizontalAlignment.Center;
VerticalAlignment = Enum.VerticalAlignment.Top;
FillDirection = Enum.FillDirection.Vertical;
SortOrder = Enum.SortOrder.LayoutOrder;
Padding = UDim.new(0, 0);
});
PlayerPreview = Roact_upvr.createElement("Frame", {
Size = UDim2.new(1, 0, 0.7, 0);
BackgroundTransparency = 1;
LayoutOrder = -1;
}, {
UIPadding = Roact_upvr.createElement("UIPadding", {
PaddingBottom = UDim.new(0, 10);
});
Viewport = Roact_upvr.createElement(PlayerPreview_upvr, {
Size = UDim2.fromScale(1, 1);
HumanoidDescription = arg1.props.HumanoidDescription;
AnimationId = arg1.props.AnimationId;
EquippedIDs = arg1.props.EquippedProducts;
OnPlayerInteractedWithViewport = arg1.props.OnPlayerInteractedWithViewport;
});
ResetButton = Roact_upvr.createElement(LabeledImageButton_upvr, {
AnchorPoint = Vector2.new(0, 1);
Position = UDim2.fromScale(0, 1);
Size = UDim2.fromScale(0.175, 1);
Text = "RESET";
Image = "rbxassetid://16196314999";
[Roact_upvr.Event.Activated] = arg1.props.OnRequestCharacterReset;
});
});
ShoppingCart = Roact_upvr.createElement(ShoppingCart_upvr, {
Size = UDim2.new(1, 0, 0.3, 0);
});
})
end
return require(ReplicatedStorage.PopupShop.Packages.RoactRodux).connect(function(arg1) -- Line 78
return {
OnRequestCharacterReset = arg1.OnRequestCharacterReset;
}
end)(any_extend_result1)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:58:50
-- Luau version 6, Types version 3
-- Time taken: 0.023672 seconds
local Players_upvr = game:GetService("Players")
local UserInputService_upvr = game:GetService("UserInputService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local ItemDetails_upvr = require(ReplicatedStorage:WaitForChild("MetaverseRewardsClient")).ClothingDisplay.ItemDetails
local Roact_upvr = require(ReplicatedStorage.PopupShop.Packages.Roact)
local Flipper_upvr = require(ReplicatedStorage.PopupShop.Packages.Flipper)
local any_extend_result1 = Roact_upvr.PureComponent:extend("ProductFrame")
local tbl_4_upvr = {
velocity = 7;
}
any_extend_result1.defaultProps = {
Position = UDim2.new();
Size = UDim2.fromScale(1, 1);
ProductId = 0;
IsDefaultItem = false;
}
local any_createBinding_result1_upvr, any_createBinding_result2_upvr = Roact_upvr.createBinding(-2)
local var14_upvw = 0
game:GetService("RunService").Heartbeat:Connect(function(arg1) -- Line 44
--[[ Upvalues[2]:
[1]: var14_upvw (read and write)
[2]: any_createBinding_result2_upvr (readonly)
]]
var14_upvw += arg1 * 2
var14_upvw %= 4
any_createBinding_result2_upvr(var14_upvw - 2)
end)
local function _(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 51, Named "pointIsInRectangle"
local var17 = false
if arg1 <= arg5 then
var17 = false
if arg5 <= arg1 + arg3 then
var17 = false
if arg2 <= arg6 then
if arg6 > arg2 + arg4 then
var17 = false
else
var17 = true
end
end
end
end
return var17
end
function any_extend_result1.FetchItemOwnership(arg1) -- Line 55
--[[ Upvalues[2]:
[1]: ItemDetails_upvr (readonly)
[2]: Players_upvr (readonly)
]]
task.spawn(function() -- Line 56
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: ItemDetails_upvr (copied, readonly)
[3]: Players_upvr (copied, readonly)
]]
local var19
local var20 = "Asset"
local tonumber_result1 = tonumber(arg1.props.ProductId)
if tonumber_result1 then
var19 = tonumber_result1
else
local var22 = arg1.props.ProductData[arg1.props.ProductId]
if var22 then
local var23 = var22
if var23 then
var23 = var22.VerseId
end
var19 = var23
if var22.ProductType == "Bundle" then
var20 = "Bundle"
end
end
end
if not var19 then
else
arg1.CurrentAsset = {
Id = var19;
Type = var20;
}
local var25
if arg1.CurrentAsset.Type == "Asset" then
var25 = ItemDetails_upvr.IsAssetOwned(Players_upvr.LocalPlayer, arg1.CurrentAsset.Id)
elseif arg1.CurrentAsset.Type == "Bundle" then
var25 = ItemDetails_upvr.IsBundleOwned(Players_upvr.LocalPlayer, arg1.CurrentAsset.Id)
end
if arg1.CurrentAsset.Id ~= arg1.CurrentAsset.Id then return end
arg1:setState({
Owned = var25;
})
end
end)
end
local RoactFlipper_upvr = require(ReplicatedStorage.PopupShop.Packages.RoactFlipper)
function any_extend_result1.init(arg1) -- Line 103
--[[ Upvalues[5]:
[1]: Roact_upvr (readonly)
[2]: Flipper_upvr (readonly)
[3]: RoactFlipper_upvr (readonly)
[4]: ItemDetails_upvr (readonly)
[5]: Players_upvr (readonly)
]]
arg1.state = {
productData = nil;
timeUntilStart = nil;
}
arg1.productFrameRef = Roact_upvr.createRef()
arg1.hoverMotor = Flipper_upvr.SingleMotor.new(0)
arg1.hoverBinding = RoactFlipper_upvr.getBinding(arg1.hoverMotor)
arg1.EquipClickDebounce = 0
local any_createBinding_result1, any_createBinding_result2 = Roact_upvr.createBinding(0)
arg1.PriceLabelFontSize = any_createBinding_result1
arg1.UpdatePriceLabelFontSize = any_createBinding_result2
arg1.AssetOwnershipChangedConnection = ItemDetails_upvr.OnAssetOwnershipRetrieved:Connect(function(arg1_2, arg2, arg3) -- Line 119
--[[ Upvalues[2]:
[1]: Players_upvr (copied, readonly)
[2]: arg1 (readonly)
]]
if arg1_2 ~= Players_upvr.LocalPlayer then
else
if not arg1.CurrentAsset or arg1.CurrentAsset.Id ~= arg2 or arg1.CurrentAsset.Type ~= "Asset" then return end
local tbl_8 = {}
tbl_8.Owned = arg3
arg1:setState(tbl_8)
end
end)
arg1.BundleOwnershipChangedConnection = ItemDetails_upvr.OnBundleOwnershipRetrieved:Connect(function(arg1_3, arg2, arg3) -- Line 136
--[[ Upvalues[2]:
[1]: Players_upvr (copied, readonly)
[2]: arg1 (readonly)
]]
if arg1_3 ~= Players_upvr.LocalPlayer then
else
if not arg1.CurrentAsset or arg1.CurrentAsset.Id ~= arg2 or arg1.CurrentAsset.Type ~= "Bundle" then return end
local tbl_2 = {}
tbl_2.Owned = arg3
arg1:setState(tbl_2)
end
end)
arg1:FetchItemOwnership()
local var35 = not arg1.state.timeUntilStart
if not var35 then
if arg1.state.timeUntilStart > 0 then
var35 = false
else
var35 = true
end
end
arg1.productUnlocked = var35
end
function any_extend_result1.didMount(arg1) -- Line 157
local var36 = arg1.props.ProductData[arg1.props.ProductId]
if var36 and var36.StartDate and DateTime.now().UnixTimestampMillis < var36.StartDate then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
arg1:setState({
timeUntilStart = var36.StartDate - DateTime.now().UnixTimestampMillis;
})
end
end
local GuiService_upvr = game:GetService("GuiService")
function any_extend_result1.isMouseOver(arg1) -- Line 168
--[[ Upvalues[2]:
[1]: UserInputService_upvr (readonly)
[2]: GuiService_upvr (readonly)
]]
local any_getValue_result1_3 = arg1.productFrameRef:getValue()
if not any_getValue_result1_3 then
return false
end
local AbsolutePosition_3 = any_getValue_result1_3.AbsolutePosition
local AbsoluteSize_3 = any_getValue_result1_3.AbsoluteSize
local var58 = UserInputService_upvr:GetMouseLocation() - GuiService_upvr:GetGuiInset()
local X = AbsolutePosition_3.X
local Y_2 = AbsolutePosition_3.Y
local X_4 = var58.X
local Y = var58.Y
local var63 = false
if X <= X_4 then
var63 = false
if X_4 <= X + AbsoluteSize_3.X then
var63 = false
if Y_2 <= Y then
if Y > Y_2 + AbsoluteSize_3.Y then
var63 = false
else
var63 = true
end
end
end
end
return var63
end
function any_extend_result1.didUpdate(arg1, arg2, arg3) -- Line 192
--[[ Upvalues[3]:
[1]: UserInputService_upvr (readonly)
[2]: Flipper_upvr (readonly)
[3]: Roact_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 51 start (CF ANALYSIS FAILED)
local var74
if UserInputService_upvr.MouseEnabled then
var74 = arg1:isMouseOver()
end
if arg1.state.timeUntilStart ~= arg3.timeUntilStart then
local var75 = not arg1.state.timeUntilStart
if not var75 then
if arg1.state.timeUntilStart > 0 then
var75 = false
else
var75 = true
end
end
arg1.productUnlocked = var75
end
local var76
if arg2.ProductId ~= arg1.props.ProductId and not var74 then
arg1.hoverMotor:setGoal(Flipper_upvr.Instant.new(0))
arg1.hoverMotor:step()
-- KONSTANTWARNING: GOTO [112] #76
end
-- KONSTANTERROR: [0] 1. Error Block 51 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [61] 40. Error Block 52 start (CF ANALYSIS FAILED)
if var74 then
if arg1.productUnlocked then
local tbl = {}
if arg1.state.Owned then
var76 = 14
else
var76 = 7
end
tbl.velocity = var76
arg1.hoverMotor:setGoal(Flipper_upvr.Linear.new(1, tbl))
-- KONSTANTWARNING: GOTO [112] #76
end
end
local tbl_7 = {}
if arg1.state.Owned then
var76 = 14
else
end
tbl_7.velocity = 7
arg1.hoverMotor:setGoal(Flipper_upvr.Linear.new(0, tbl_7))
if arg2.ProductId ~= arg1.props.ProductId then
arg1.EquipClickDebounce = 0
arg1:setState({
Owned = Roact_upvr.None;
})
task.defer(arg1.FetchItemOwnership, arg1)
else
if arg3.timeUntilStart ~= arg1.state.timeUntilStart and arg1.state.timeUntilStart then
task.delay(1, function() -- Line 227
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: Roact_upvr (copied, readonly)
]]
arg1:setState(function(arg1_5) -- Line 228
--[[ Upvalues[1]:
[1]: Roact_upvr (copied, readonly)
]]
if arg1_5.timeUntilStart <= 0 then
return {
timeUntilStart = Roact_upvr.None;
}
end
return {
timeUntilStart = arg1_5.timeUntilStart - 1000;
}
end)
end)
end
-- KONSTANTERROR: [61] 40. Error Block 52 end (CF ANALYSIS FAILED)
end
end
function any_extend_result1.willUnmount(arg1) -- Line 239
arg1.AssetOwnershipChangedConnection:Disconnect()
arg1.AssetOwnershipChangedConnection = nil
arg1.BundleOwnershipChangedConnection:Disconnect()
arg1.BundleOwnershipChangedConnection = nil
end
local makeCountdownText_upvr = require(script.Parent.Parent.Parent.Parent.Utils.makeCountdownText)
function any_extend_result1.render(arg1) -- Line 247
--[[ Upvalues[6]:
[1]: Roact_upvr (readonly)
[2]: UserInputService_upvr (readonly)
[3]: Flipper_upvr (readonly)
[4]: tbl_4_upvr (readonly)
[5]: makeCountdownText_upvr (readonly)
[6]: any_createBinding_result1_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local ProductId = arg1.props.ProductId
local _ = {
IsReservable = false;
IsEquipped = false;
IsWishlisted = false;
IsLoaded = false;
CanTryOn = true;
CanBuy = true;
CanWishlist = not arg1.props.IsDefaultItem;
PendingReservation = table.find(arg1.props.ReservedProducts, ProductId);
}
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [68] 46. Error Block 152 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [68] 46. Error Block 152 end (CF ANALYSIS FAILED)
end
return require(ReplicatedStorage.PopupShop.Packages.RoactRodux).connect(function(arg1) -- Line 960
return {
BundledItems = arg1.BundledItems;
ProductData = arg1.ProductData;
RobloxAssetData = arg1.RobloxAssetData;
ProductDataAssetLookup = arg1.ProductDataAssetLookup;
EquippedProducts = arg1.EquippedProducts;
WishlistedProducts = arg1.WishlistedProducts;
ReservedProducts = arg1.ReservedProducts;
OnRequestAssetEquip = arg1.OnRequestAssetEquip;
OnRequestAssetUnequip = arg1.OnRequestAssetUnequip;
OnRequestAssetPurchase = arg1.OnRequestAssetPurchase;
OnRequestAssetWishlist = arg1.OnRequestAssetWishlist;
OnRequestAssetDetails = arg1.OnRequestAssetDetails;
}
end)(any_extend_result1)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:58:52
-- Luau version 6, Types version 3
-- Time taken: 0.035794 seconds
local GuiService_upvr = game:GetService("GuiService")
local UserInputService_upvr = game:GetService("UserInputService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Roact_upvr = require(ReplicatedStorage.PopupShop.Packages.Roact)
local Flipper_upvr = require(ReplicatedStorage.PopupShop.Packages.Flipper)
local any_extend_result1 = Roact_upvr.Component:extend("ProductGrid")
any_extend_result1.defaultProps = {
AnchorPoint = Vector2.zero;
Position = UDim2.new();
Size = UDim2.fromScale(1, 1);
Scroll = 0;
ScrollIntensity = 150;
CellMinSize = 170;
CellAspectRatio = 1.25;
CellMargin = 10;
ScrollBarWidth = 12;
ScrollBarStroke = 2;
ScrollBarStrokeTransparency = 0.75;
MinRowSize = 5;
LayoutOrder = 0;
Products = {};
}
local function _(arg1, arg2, arg3, arg4, arg5, arg6) -- Line 41, Named "pointIsInRectangle"
local var10 = false
if arg1 <= arg5 then
var10 = false
if arg5 <= arg1 + arg3 then
var10 = false
if arg2 <= arg6 then
if arg6 > arg2 + arg4 then
var10 = false
else
var10 = true
end
end
end
end
return var10
end
function any_extend_result1.GetCellSizeAt(arg1, arg2, arg3) -- Line 45
local maximum = math.max(math.ceil(arg2 / arg1.props.CellMinSize), arg1.props.MinRowSize)
local var12 = (arg2 - arg1.props.CellMargin * math.max(maximum - 1, 0)) / maximum
local var13 = var12 * arg1.props.CellAspectRatio
return UDim2.fromOffset(var12, var13), Vector2.new(maximum, math.ceil(arg3 / var13) + 1)
end
function any_extend_result1.CreateGridTiles(arg1) -- Line 59
--[[ Upvalues[1]:
[1]: Roact_upvr (readonly)
]]
local GridCellUnits = arg1.state.GridCellUnits
local var17 = GridCellUnits.X * GridCellUnits.Y
local tbl = {}
for i = 1, var17 do
local any_createBinding_result1, any_createBinding_result2_2 = Roact_upvr.createBinding(UDim2.new())
tbl[i] = {
Position = any_createBinding_result1;
UpdatePosition = any_createBinding_result2_2;
}
end
arg1:setState({
GridCellCount = var17;
GridTileBindings = tbl;
})
end
function any_extend_result1.RecalculateVisibleElements(arg1) -- Line 80
local GridCellSize = arg1.state.GridCellSize
local GridCellUnits_2 = arg1.state.GridCellUnits
local var26 = 1 + math.floor(arg1.scrollAmount:getValue() / GridCellSize.Y.Offset) * GridCellUnits_2.X
for i_2 = var26, var26 + GridCellUnits_2.Y * GridCellUnits_2.X - 1 do
local var27 = i_2 - var26 + 1
if not arg1.props.Products[i_2] then break end
local var28 = (var27 - 1) % GridCellUnits_2.X
local floored = math.floor((var27 - 1) / GridCellUnits_2.X)
if arg1.state.GridTileBindings[var27] then
arg1.state.GridTileBindings[var27].UpdatePosition(UDim2.fromOffset(GridCellSize.X.Offset * var28 + arg1.props.CellMargin * var28, GridCellSize.Y.Offset * floored - arg1.scrollAmount:getValue() % GridCellSize.Y.Offset + arg1.props.CellMargin * floored))
;({})[var27] = arg1.props.Products[i_2]
end
end
local tbl_2 = {
ChildrenFrames = table.create(GridCellUnits_2.X * GridCellUnits_2.Y, true);
}
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
tbl_2.ChildrenProductIds = {}
arg1:setState(tbl_2)
end
function any_extend_result1.RecalculateGridCellSize(arg1) -- Line 121
local any_getValue_result1 = arg1.productGridFrameRef:getValue()
local var32 = any_getValue_result1.AbsoluteSize.X - arg1.props.ScrollBarWidth - arg1.props.ScrollBarStroke - arg1.props.CellMargin
local any_GetCellSizeAt_result1, any_GetCellSizeAt_result2_2 = arg1:GetCellSizeAt(var32, any_getValue_result1.AbsoluteSize.Y)
local any_GetCellSizeAt_result1_2, any_GetCellSizeAt_result2 = arg1:GetCellSizeAt(any_getValue_result1.AbsoluteSize.X - arg1.props.CellMargin, any_getValue_result1.AbsoluteSize.Y)
local var37 = math.ceil(#arg1.props.Products / any_GetCellSizeAt_result2_2.X) * any_GetCellSizeAt_result1.Y.Offset + arg1.props.CellMargin * math.max(any_GetCellSizeAt_result2_2.Y - 2, 0)
local var38
local var39
local var40
local var41 = false
if var37 < any_getValue_result1.AbsoluteSize.Y then
var40 = math.ceil(#arg1.props.Products / any_GetCellSizeAt_result2.X) * any_GetCellSizeAt_result1_2.Y.Offset + arg1.props.CellMargin * math.max(any_GetCellSizeAt_result2.Y - 2, 0)
var38 = any_GetCellSizeAt_result1_2
var39 = any_GetCellSizeAt_result2
else
var40 = var37
var38 = any_GetCellSizeAt_result1
var39 = any_GetCellSizeAt_result2_2
var41 = true
end
arg1:setState({
GridCellSize = var38;
GridCellUnits = var39;
ScrollHandleHeight = any_getValue_result1.AbsoluteSize.Y / var40;
ScrollBarVisible = var41;
CanvasSize = Vector2.new(var32, var40);
})
arg1:CreateGridTiles()
arg1:RecalculateVisibleElements()
end
function any_extend_result1.SetScroll(arg1, arg2, arg3) -- Line 172
--[[ Upvalues[1]:
[1]: Flipper_upvr (readonly)
]]
local any_getValue_result1_3 = arg1.productGridFrameRef:getValue()
if not any_getValue_result1_3 then
else
local clamped = math.clamp(arg2, 0, math.max(arg1.state.CanvasSize.Y - any_getValue_result1_3.AbsoluteSize.Y, 0))
if arg3 then
arg1.scrollMotor:setGoal(Flipper_upvr.Instant.new(clamped))
return
end
arg1.scrollMotor:setGoal(Flipper_upvr.Linear.new(clamped, {
velocity = arg1.props.ScrollIntensity * 15;
}))
end
end
local Players_upvr = game:GetService("Players")
function any_extend_result1.ListenToTouchInput(arg1) -- Line 192
--[[ Upvalues[3]:
[1]: UserInputService_upvr (readonly)
[2]: Players_upvr (readonly)
[3]: GuiService_upvr (readonly)
]]
arg1.inputBeganConnection = UserInputService_upvr.InputBegan:Connect(function(arg1_2) -- Line 193
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: UserInputService_upvr (copied, readonly)
[3]: Players_upvr (copied, readonly)
[4]: GuiService_upvr (copied, readonly)
]]
if arg1_2.UserInputType ~= Enum.UserInputType.Touch then
else
local any_getValue_result1_2_upvr = arg1.productGridFrameRef:getValue()
if not any_getValue_result1_2_upvr then return end
local AbsolutePosition_3 = any_getValue_result1_2_upvr.AbsolutePosition
local Position_upvr_2 = arg1_2.Position
local X_3 = AbsolutePosition_3.X
local Y_2 = AbsolutePosition_3.Y
local X = Position_upvr_2.X
local Y_4 = Position_upvr_2.Y
local var87 = false
if X_3 <= X then
var87 = false
if X <= X_3 + arg1.state.CanvasSize.X then
var87 = false
if Y_2 <= Y_4 then
if Y_4 > Y_2 + any_getValue_result1_2_upvr.AbsoluteSize.Y then
var87 = false
else
var87 = true
end
end
end
end
if not var87 then return end
local var88_upvw
local any_getValue_result1_upvr_4 = arg1.scrollAmount:getValue()
local var95_upvw
local any_Connect_result1_upvr_4 = UserInputService_upvr.InputChanged:Connect(function(arg1_7) -- Line 224
--[[ Upvalues[7]:
[1]: var88_upvw (read and write)
[2]: Players_upvr (copied, readonly)
[3]: any_getValue_result1_2_upvr (readonly)
[4]: GuiService_upvr (copied, readonly)
[5]: arg1 (copied, readonly)
[6]: Position_upvr_2 (readonly)
[7]: any_getValue_result1_upvr_4 (readonly)
]]
if arg1_7.UserInputType ~= Enum.UserInputType.Touch then
else
if not var88_upvw then
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "[ProductGrid] Input Catcher"
ScreenGui.Parent = Players_upvr.LocalPlayer.PlayerGui
ScreenGui.DisplayOrder = math.huge
ScreenGui.IgnoreGuiInset = true
local var92 = any_getValue_result1_2_upvr.AbsolutePosition + GuiService_upvr:GetGuiInset()
local TextButton_3 = Instance.new("TextButton")
TextButton_3.BackgroundTransparency = 1
TextButton_3.Text = ""
TextButton_3.Position = UDim2.fromOffset(var92.X, var92.Y)
TextButton_3.Size = UDim2.fromOffset(arg1.state.CanvasSize.X, any_getValue_result1_2_upvr.AbsoluteSize.Y)
TextButton_3.Parent = ScreenGui
var88_upvw = ScreenGui
end
arg1:SetScroll((any_getValue_result1_upvr_4) + (Position_upvr_2.Y - arg1_7.Position.Y))
end
end)
var95_upvw = UserInputService_upvr.InputEnded:Connect(function(arg1_8) -- Line 254
--[[ Upvalues[3]:
[1]: var95_upvw (read and write)
[2]: any_Connect_result1_upvr_4 (readonly)
[3]: var88_upvw (read and write)
]]
if arg1_8.UserInputType ~= Enum.UserInputType.Touch then
else
var95_upvw:Disconnect()
any_Connect_result1_upvr_4:Disconnect()
if var88_upvw then
var88_upvw:Destroy()
end
end
end)
end
end)
end
function any_extend_result1.init(arg1) -- Line 269
--[[ Upvalues[2]:
[1]: Roact_upvr (readonly)
[2]: Flipper_upvr (readonly)
]]
arg1.productGridFrameRef = Roact_upvr.createRef()
arg1.scrollBarImageButtonRef = Roact_upvr.createRef()
local any_createBinding_result1_2, any_createBinding_result2 = Roact_upvr.createBinding(arg1.props.Scroll)
arg1.scrollAmount = any_createBinding_result1_2
arg1.updateScrollAmount = any_createBinding_result2
arg1.scrollMotor = Flipper_upvr.SingleMotor.new(arg1.props.Scroll)
arg1.scrollMotor:onStep(function(arg1_9) -- Line 276
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1.updateScrollAmount(arg1_9)
arg1:RecalculateVisibleElements()
end)
arg1:setState({
ScrollHandleHeight = 0;
ScrollBarVisible = false;
GridCellCount = 0;
GridCellUnits = Vector2.new(0, 0);
GridCellSize = UDim2.fromOffset(120, 150);
ChildrenFrames = {};
ChildrenProductIds = {};
GridTileBindings = {};
CanvasSize = Vector2.new(1, 1);
})
arg1:ListenToTouchInput()
end
local Sift_upvr = require(ReplicatedStorage.PopupShop.Packages.Sift)
function any_extend_result1.shouldUpdate(arg1, arg2, arg3) -- Line 300
--[[ Upvalues[1]:
[1]: Sift_upvr (readonly)
]]
if arg1.props.Products ~= arg2.Products then
return true
end
if arg1.state.GridCellCount ~= arg3.GridCellCount then
return true
end
if arg1.state.CanvasSize ~= arg3.CanvasSize then
return true
end
if arg1.state.ScrollHandleHeight ~= arg3.ScrollHandleHeight then
return true
end
if arg1.state.ScrollBarVisible ~= arg3.ScrollBarVisible then
return true
end
if arg1.state.GridTileBindings ~= arg3.GridTileBindings then
return true
end
if not Sift_upvr.Array.equals(arg1.state.ChildrenProductIds, arg3.ChildrenProductIds) then
return true
end
return false
end
function any_extend_result1.didUpdate(arg1, arg2) -- Line 332
if arg1.props.Products ~= arg2.Products then
task.defer(arg1.RecalculateGridCellSize, arg1)
arg1:SetScroll(0, true)
end
end
function any_extend_result1.didMount(arg1) -- Line 339
arg1:RecalculateGridCellSize()
end
function any_extend_result1.willUnmount(arg1) -- Line 343
arg1.scrollMotor:stop()
arg1.inputBeganConnection:Disconnect()
end
local ProductFrame_upvr = require(script.Parent.Parent.Components.ProductFrame)
function any_extend_result1.render(arg1) -- Line 349
--[[ Upvalues[4]:
[1]: Roact_upvr (readonly)
[2]: ProductFrame_upvr (readonly)
[3]: GuiService_upvr (readonly)
[4]: UserInputService_upvr (readonly)
]]
for i_3 = 1, arg1.state.GridCellCount do
if arg1.state.ChildrenProductIds[i_3] then
({})[i_3] = Roact_upvr.createElement(ProductFrame_upvr, {
Size = arg1.state.GridCellSize;
Position = arg1.state.GridTileBindings[i_3].Position;
ProductId = arg1.state.ChildrenProductIds[i_3];
})
end
end
local module = {}
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
module.Products = Roact_upvr.createFragment({})
local ScrollBarVisible = arg1.state.ScrollBarVisible
if ScrollBarVisible then
ScrollBarVisible = Roact_upvr.createElement
ScrollBarVisible = ScrollBarVisible("ImageButton", {
AnchorPoint = Vector2.new(1, 0);
Position = UDim2.new(1, -arg1.props.ScrollBarStroke, 0, arg1.props.ScrollBarStroke);
Size = UDim2.new(0, arg1.props.ScrollBarWidth, 1, -arg1.props.ScrollBarStroke * 2);
BackgroundTransparency = 1;
ImageTransparency = 1;
ZIndex = 2;
[Roact_upvr.Ref] = arg1.scrollBarImageButtonRef;
[Roact_upvr.Event.InputBegan] = function(arg1_11, arg2) -- Line 402
--[[ Upvalues[3]:
[1]: GuiService_upvr (copied, readonly)
[2]: UserInputService_upvr (copied, readonly)
[3]: arg1 (readonly)
]]
if arg2.UserInputType ~= Enum.UserInputType.MouseButton1 and arg2.UserInputType ~= Enum.UserInputType.Touch then
else
local var113_upvw = arg1_11.AbsolutePosition + GuiService_upvr:GetGuiInset()
local function _() -- Line 413, Named "getMouseNormalizedPosition"
--[[ Upvalues[3]:
[1]: UserInputService_upvr (copied, readonly)
[2]: var113_upvw (read and write)
[3]: arg1_11 (readonly)
]]
return ((UserInputService_upvr:GetMouseLocation() - var113_upvw) / arg1_11.AbsoluteSize).Y
end
local var114 = arg1.scrollAmount:getValue() / arg1.state.CanvasSize.Y
local Y_5_upvw = ((UserInputService_upvr:GetMouseLocation() - var113_upvw) / arg1_11.AbsoluteSize).Y
if Y_5_upvw < var114 or var114 + arg1.state.ScrollHandleHeight < Y_5_upvw then return end
local var117_upvr = Y_5_upvw - var114
local var119_upvw
local any_Connect_result1_upvr_3 = UserInputService_upvr.InputChanged:Connect(function(arg1_12) -- Line 434
--[[ Upvalues[7]:
[1]: arg2 (readonly)
[2]: Y_5_upvw (read and write)
[3]: UserInputService_upvr (copied, readonly)
[4]: var113_upvw (read and write)
[5]: arg1_11 (readonly)
[6]: var117_upvr (readonly)
[7]: arg1 (copied, readonly)
]]
if arg1_12.UserInputType ~= Enum.UserInputType.MouseMovement and arg2.UserInputType ~= Enum.UserInputType.Touch then
else
Y_5_upvw = ((UserInputService_upvr:GetMouseLocation() - var113_upvw) / arg1_11.AbsoluteSize).Y
arg1:SetScroll(math.clamp(Y_5_upvw - var117_upvr, 0, 1) * arg1.state.CanvasSize.Y, true)
end
end)
var119_upvw = UserInputService_upvr.InputEnded:Connect(function(arg1_13) -- Line 449
--[[ Upvalues[3]:
[1]: arg2 (readonly)
[2]: var119_upvw (read and write)
[3]: any_Connect_result1_upvr_3 (readonly)
]]
if arg1_13.UserInputType ~= Enum.UserInputType.MouseButton1 and arg2.UserInputType ~= Enum.UserInputType.Touch then
else
var119_upvw:Disconnect()
any_Connect_result1_upvr_3:Disconnect()
end
end)
end
end;
}, {
UIStroke = Roact_upvr.createElement("UIStroke", {
Color = Color3.fromRGB(255, 255, 255);
Thickness = arg1.props.ScrollBarStroke;
LineJoinMode = Enum.LineJoinMode.Miter;
Transparency = arg1.props.ScrollBarStrokeTransparency;
});
Handle = Roact_upvr.createElement("Frame", {
Position = arg1.scrollAmount:map(function(arg1_14) -- Line 470
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
return UDim2.fromScale(0, arg1_14 / arg1.state.CanvasSize.Y)
end);
Size = UDim2.fromScale(1, arg1.state.ScrollHandleHeight);
BackgroundColor3 = Color3.fromRGB(255, 255, 255);
BorderSizePixel = 0;
});
})
end
module.ScrollBar = ScrollBarVisible
ScrollBarVisible = false
local var125 = ScrollBarVisible
if #arg1.state.ChildrenFrames == 0 then
var125 = Roact_upvr.createElement
var125 = var125("TextLabel", {
AnchorPoint = Vector2.new(0.5, 0.5);
Position = UDim2.fromScale(0.5, 0.5);
Size = UDim2.fromScale(1, 0.1);
BackgroundTransparency = 1;
FontFace = Font.new("rbxasset://fonts/families/RobotoCondensed.json", Enum.FontWeight.Bold, Enum.FontStyle.Normal);
Text = "NO RESULTS";
TextColor3 = Color3.fromRGB(255, 255, 255);
TextScaled = true;
})
end
module.TextLabel = var125
return Roact_upvr.createElement("Frame", {
AnchorPoint = arg1.props.AnchorPoint;
Position = arg1.props.Position;
Size = arg1.props.Size;
BackgroundTransparency = 1;
LayoutOrder = arg1.props.LayoutOrder;
ClipsDescendants = true;
[Roact_upvr.Ref] = arg1.productGridFrameRef;
[Roact_upvr.Event.InputChanged] = function(arg1_10, arg2) -- Line 376
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg2.UserInputType ~= Enum.UserInputType.MouseWheel then
else
arg1:SetScroll(arg1.scrollAmount:getValue() + -arg2.Position.Z * arg1.props.ScrollIntensity)
end
end;
[Roact_upvr.Change.AbsoluteSize] = function() -- Line 384
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:RecalculateGridCellSize()
end;
}, module)
end
return any_extend_result1
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:58:53
-- Luau version 6, Types version 3
-- Time taken: 0.006508 seconds
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Roact_upvr = require(ReplicatedStorage.PopupShop.Packages.Roact)
local Flipper_upvr = require(ReplicatedStorage.PopupShop.Packages.Flipper)
local tbl_upvr = {
velocity = 7;
}
local any_extend_result1 = Roact_upvr.Component:extend("SearchBar")
local RoactFlipper_upvr = require(ReplicatedStorage.PopupShop.Packages.RoactFlipper)
function any_extend_result1.init(arg1) -- Line 14
--[[ Upvalues[3]:
[1]: Roact_upvr (readonly)
[2]: Flipper_upvr (readonly)
[3]: RoactFlipper_upvr (readonly)
]]
local any_createBinding_result1, any_createBinding_result2 = Roact_upvr.createBinding(0)
arg1.searchBarHeight = any_createBinding_result1
arg1.updateSearchBarHeight = any_createBinding_result2
arg1.searchQuery = ""
arg1.focusMotor = Flipper_upvr.SingleMotor.new(0)
arg1.focusBinding = RoactFlipper_upvr.getBinding(arg1.focusMotor)
function arg1.onSearchRequested() -- Line 22
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
local string_gsub_result1 = string.gsub(arg1.searchQuery, "^%s*(.-)%s*$", "%1")
if string_gsub_result1 == "" then
else
arg1.props.OnSearch(string_gsub_result1)
end
end
end
function any_extend_result1.render(arg1) -- Line 34
--[[ Upvalues[3]:
[1]: Roact_upvr (readonly)
[2]: Flipper_upvr (readonly)
[3]: tbl_upvr (readonly)
]]
return Roact_upvr.createElement("Frame", {
AnchorPoint = arg1.props.AnchorPoint;
Position = arg1.props.Position;
Size = arg1.focusBinding:map(function(arg1_2) -- Line 38
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if 750 < workspace.CurrentCamera.ViewportSize.X then
return arg1.props.Size
end
return arg1.props.Size:Lerp(arg1.props.ExpandedSize, arg1_2)
end);
BackgroundTransparency = arg1.focusBinding:map(function(arg1_3) -- Line 45
return (1 - arg1_3) * 0.2
end);
BackgroundColor3 = Color3.new(1, 1, 1);
[Roact_upvr.Change.AbsoluteSize] = function(arg1_4) -- Line 49
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1.updateSearchBarHeight(arg1_4.AbsoluteSize.Y)
end;
}, {
SearchBox = Roact_upvr.createElement("TextBox", {
Size = arg1.searchBarHeight:map(function(arg1_5) -- Line 54
return UDim2.new(0.9, -arg1_5, 0.6, 0)
end);
Position = UDim2.fromScale(0.425, 0.5);
AnchorPoint = Vector2.new(0.5, 0.5);
BackgroundTransparency = 1;
TextColor3 = Color3.new(0, 0, 0);
PlaceholderColor3 = Color3.new(0, 0, 0);
FontFace = Font.new("rbxasset://fonts/families/RobotoCondensed.json", Enum.FontWeight.Bold, Enum.FontStyle.Normal);
PlaceholderText = "SEARCH...";
Text = "";
TextScaled = true;
TextXAlignment = Enum.TextXAlignment.Left;
[Roact_upvr.Change.Text] = function(arg1_6) -- Line 71
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1.searchQuery = arg1_6.Text
end;
[Roact_upvr.Event.Focused] = function() -- Line 74
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: Flipper_upvr (copied, readonly)
[3]: tbl_upvr (copied, readonly)
]]
arg1.focusMotor:setGoal(Flipper_upvr.Linear.new(1, tbl_upvr))
end;
[Roact_upvr.Event.FocusLost] = function(arg1_7, arg2) -- Line 77
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: Flipper_upvr (copied, readonly)
[3]: tbl_upvr (copied, readonly)
]]
arg1.focusMotor:setGoal(Flipper_upvr.Linear.new(0, tbl_upvr))
if not arg2 then
else
arg1.onSearchRequested()
end
end;
});
SearchIcon = Roact_upvr.createElement("ImageLabel", {
AnchorPoint = Vector2.new(1, 0);
Size = UDim2.fromScale(1, 1);
Position = UDim2.fromScale(1, 0);
BackgroundTransparency = 1;
Image = "rbxassetid://17577071500";
ImageColor3 = Color3.new(0, 0, 0);
ImageTransparency = arg1.focusBinding;
}, {
UIAspectRatioConstraint = Roact_upvr.createElement("UIAspectRatioConstraint");
});
EraseTextButton = Roact_upvr.createElement("ImageButton", {
AnchorPoint = Vector2.new(1, 0);
Size = UDim2.fromScale(1, 1);
Position = UDim2.fromScale(1, 0);
BackgroundTransparency = 1;
Image = "rbxassetid://17577069904";
ImageTransparency = arg1.focusBinding:map(function(arg1_8) -- Line 104
return 1 - arg1_8
end);
Visible = arg1.focusBinding:map(function(arg1_9) -- Line 107
local var26
if 0.1 >= arg1_9 then
var26 = false
else
var26 = true
end
return var26
end);
ZIndex = 2;
[Roact_upvr.Event.Activated] = function() -- Line 112
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1.searchQuery = ""
end;
}, {
UIAspectRatioConstraint = Roact_upvr.createElement("UIAspectRatioConstraint");
});
})
end
return require(ReplicatedStorage.PopupShop.Packages.RoactRodux).connect(function(arg1) -- Line 121
return {
OnSearch = arg1.OnSearch;
}
end)(any_extend_result1)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:58:54
-- Luau version 6, Types version 3
-- Time taken: 0.011269 seconds
local Players_upvr = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Roact_upvr = require(ReplicatedStorage.PopupShop.Packages.Roact)
local any_extend_result1 = Roact_upvr.Component:extend("ShoppingCart")
local LocalPlayer_upvr = Players_upvr.LocalPlayer
function any_extend_result1.GetLocalPlayerHumanoidDescription(arg1) -- Line 18
--[[ Upvalues[2]:
[1]: Players_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
local pcall_result1, pcall_result2 = pcall(function() -- Line 19
--[[ Upvalues[2]:
[1]: Players_upvr (copied, readonly)
[2]: LocalPlayer_upvr (copied, readonly)
]]
return Players_upvr:GetHumanoidDescriptionFromUserId(LocalPlayer_upvr.UserId)
end)
if pcall_result1 and pcall_result2 then
arg1:setState({
HumanoidDescription = pcall_result2;
})
end
end
function any_extend_result1.init(arg1) -- Line 30
task.defer(arg1.GetLocalPlayerHumanoidDescription, arg1)
end
local UserInputService_upvr = game:GetService("UserInputService")
local ProductFrame_upvr = require(script.Parent.Parent.Components.ProductFrame)
function any_extend_result1.render(arg1) -- Line 34
--[[ Upvalues[3]:
[1]: UserInputService_upvr (readonly)
[2]: Roact_upvr (readonly)
[3]: ProductFrame_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local tbl_2 = {}
local tbl_3 = {}
local var31
if arg1.state.HumanoidDescription then
tbl_3 = arg1.state.HumanoidDescription:GetAccessories(true)
end
for _, v in tbl_3 do
local AssetId = v.AssetId
;({})[AssetId] = true
table.insert(tbl_2, Roact_upvr.createElement(ProductFrame_upvr, {
ProductId = AssetId;
IsDefaultItem = true;
}))
local var35
end
for _, v_2 in arg1.props.EquippedProducts do
if not var35[v_2] then
local var36 = arg1.props.ProductDataAssetLookup[v_2]
if var36 then
var31 += var36.Price or 0
end
table.insert(tbl_2, Roact_upvr.createElement(ProductFrame_upvr, {
ProductId = v_2;
}))
end
end
local module = {
UIPadding = Roact_upvr.createElement("UIPadding", {
PaddingBottom = UDim.new(0, 10);
PaddingLeft = UDim.new(0, 10);
PaddingRight = UDim.new(0, 10);
PaddingTop = UDim.new(0, 10);
});
Header = Roact_upvr.createElement("Frame", {
Size = UDim2.fromScale(1, 0.15);
BackgroundTransparency = 1;
}, {
UIListLayout = Roact_upvr.createElement("UIListLayout", {
Padding = UDim.new(0.025, 0);
FillDirection = Enum.FillDirection.Horizontal;
SortOrder = Enum.SortOrder.LayoutOrder;
});
HeaderLabel = Roact_upvr.createElement("TextLabel", {
Size = UDim2.fromScale(0, 1);
BackgroundTransparency = 1;
FontFace = Font.new("rbxasset://fonts/families/RobotoCondensed.json", Enum.FontWeight.Bold, Enum.FontStyle.Normal);
Text = "PREVIEW";
TextColor3 = Color3.fromRGB(0, 0, 0);
TextScaled = true;
TextXAlignment = Enum.TextXAlignment.Left;
AutomaticSize = Enum.AutomaticSize.X;
});
Count = Roact_upvr.createElement("TextLabel", {
Size = UDim2.fromScale(0, 1);
BackgroundColor3 = Color3.fromRGB(25, 127, 182);
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.X;
FontFace = Font.new("rbxasset://fonts/families/RobotoCondensed.json", Enum.FontWeight.Bold, Enum.FontStyle.Normal);
Text = ` {#arg1.props.EquippedProducts} `;
TextColor3 = Color3.fromRGB(255, 255, 255);
TextScaled = true;
AutoLocalize = false;
});
});
Price = Roact_upvr.createElement("TextLabel", {
Size = UDim2.fromScale(1, 0.15);
AutomaticSize = Enum.AutomaticSize.X;
BackgroundTransparency = 1;
FontFace = Font.new("rbxasset://fonts/families/RobotoCondensed.json", Enum.FontWeight.Bold, Enum.FontStyle.Normal);
Text = ` {var31}`;
TextColor3 = Color3.fromRGB(0, 0, 0);
TextScaled = true;
TextXAlignment = Enum.TextXAlignment.Right;
AutoLocalize = false;
});
}
local tbl = {
AnchorPoint = Vector2.new(0, 1);
Position = UDim2.fromScale(0, 1);
Size = UDim2.fromScale(1, 0.8);
BackgroundColor3 = Color3.fromRGB(255, 255, 255);
BorderColor3 = Color3.fromRGB(0, 0, 0);
BorderSizePixel = 0;
CanvasSize = UDim2.new();
AutomaticCanvasSize = Enum.AutomaticSize.X;
ScrollingDirection = Enum.ScrollingDirection.X;
ScrollBarImageColor3 = Color3.fromRGB(0, 0, 0);
}
if UserInputService_upvr.KeyboardEnabled then
else
end
tbl.ScrollBarThickness = 0
tbl.HorizontalScrollBarInset = Enum.ScrollBarInset.ScrollBar
tbl.TopImage = "rbxassetid://5975715012"
tbl.MidImage = "rbxassetid://5975715012"
tbl.BottomImage = "rbxassetid://5975715012"
module.List = Roact_upvr.createElement("ScrollingFrame", tbl, {
UIListLayout = Roact_upvr.createElement("UIListLayout", {
Padding = UDim.new(0, 6);
FillDirection = Enum.FillDirection.Horizontal;
SortOrder = Enum.SortOrder.LayoutOrder;
});
Products = Roact_upvr.createFragment(tbl_2);
})
return Roact_upvr.createElement("Frame", {
Size = UDim2.fromScale(1, 0.3);
BackgroundColor3 = Color3.fromRGB(255, 255, 255);
BorderColor3 = Color3.fromRGB(0, 0, 0);
BorderSizePixel = 1;
ClipsDescendants = true;
}, module)
end
return require(ReplicatedStorage.PopupShop.Packages.RoactRodux).connect(function(arg1) -- Line 198
return {
ProductDataAssetLookup = arg1.ProductDataAssetLookup;
EquippedProducts = arg1.EquippedProducts;
}
end)(any_extend_result1)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:58:56
-- Luau version 6, Types version 3
-- Time taken: 0.021208 seconds
local GuiService_upvr = game:GetService("GuiService")
local Roact_upvr = require(game:GetService("ReplicatedStorage").PopupShop.Packages.Roact)
local any_extend_result1 = Roact_upvr.PureComponent:extend("TouchFilters")
any_extend_result1.defaultProps = {
AnchorPoint = Vector2.zero;
Position = UDim2.new();
Size = UDim2.fromScale(1, 1);
Options = {};
OnOptionActivated = function(arg1, arg2) -- Line 15, Named "OnOptionActivated"
warn("OnOptionActivated not overwritten.")
end;
}
function any_extend_result1.CreateHeader(arg1, arg2, arg3, arg4) -- Line 20
--[[ Upvalues[2]:
[1]: GuiService_upvr (readonly)
[2]: Roact_upvr (readonly)
]]
local module = {
Size = UDim2.new(1, 0, 0, GuiService_upvr:GetGuiInset().Y);
BackgroundColor3 = Color3.fromRGB(0, 0, 0);
BorderColor3 = Color3.fromRGB(255, 255, 255);
BorderSizePixel = 1;
ImageTransparency = 1;
}
module.LayoutOrder = arg4
module[Roact_upvr.Event.Activated] = arg3
local module_5 = {
UIPadding = Roact_upvr.createElement("UIPadding", {
PaddingBottom = UDim.new(0, 8);
PaddingTop = UDim.new(0, 8);
PaddingLeft = UDim.new(0, 8);
PaddingRight = UDim.new(0, 8);
});
TextLabel = Roact_upvr.createElement("TextLabel", {
Size = UDim2.fromScale(0, 1);
AutomaticSize = Enum.AutomaticSize.X;
BackgroundTransparency = 1;
FontFace = Font.new("rbxasset://fonts/families/RobotoCondensed.json", Enum.FontWeight.Bold, Enum.FontStyle.Normal);
Text = string.upper(arg2);
TextColor3 = Color3.fromRGB(255, 255, 255);
TextScaled = true;
});
}
local tbl_11 = {
AnchorPoint = Vector2.new(1, 0.5);
Position = UDim2.fromScale(1, 0.5);
Size = UDim2.fromScale(1, 1.3);
BackgroundTransparency = 1;
BorderSizePixel = 0;
}
local var10 = "rbxassetid://16568014588"
tbl_11.Image = var10
if arg1.state.FoldedSections[arg2] then
var10 = 0
else
var10 = 180
end
tbl_11.Rotation = var10
module_5.FoldArrow = Roact_upvr.createElement("ImageLabel", tbl_11, {
UIAspectRatioConstraint = Roact_upvr.createElement("UIAspectRatioConstraint");
})
return Roact_upvr.createElement("ImageButton", module, module_5)
end
function any_extend_result1.CreateRadioButton(arg1, arg2, arg3, arg4, arg5) -- Line 77
--[[ Upvalues[2]:
[1]: GuiService_upvr (readonly)
[2]: Roact_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local module_3 = {
Size = UDim2.new(1, 0, 0, GuiService_upvr:GetGuiInset().Y);
}
local Color3_fromRGB_result1 = Color3.fromRGB(25, 127, 182)
module_3.BackgroundColor3 = Color3_fromRGB_result1
local var14
if arg3 then
Color3_fromRGB_result1 = 0
else
Color3_fromRGB_result1 = 1
end
module_3.BackgroundTransparency = Color3_fromRGB_result1
module_3.BorderSizePixel = 0
module_3.ImageTransparency = 1
module_3.LayoutOrder = arg5
module_3[Roact_upvr.Event.Activated] = arg4
local module_4 = {}
local tbl_10 = {}
var14 = 0
tbl_10.PaddingLeft = UDim.new(0.05, var14)
module_4.UIPadding = Roact_upvr.createElement("UIPadding", tbl_10)
local tbl_12 = {}
var14 = 0
tbl_12.Padding = UDim.new(0.05, var14)
tbl_12.FillDirection = Enum.FillDirection.Horizontal
tbl_12.SortOrder = Enum.SortOrder.LayoutOrder
tbl_12.VerticalAlignment = Enum.VerticalAlignment.Center
module_4.UIListLayout = Roact_upvr.createElement("UIListLayout", tbl_12)
local tbl_2 = {}
var14 = 0.55
tbl_2.Size = UDim2.fromScale(0, var14)
tbl_2.AutomaticSize = Enum.AutomaticSize.X
tbl_2.BackgroundTransparency = 1
local function INLINED() -- Internal function, doesn't exist in bytecode
var14 = Enum.FontWeight.Bold
return var14
end
if not arg3 or not INLINED() then
var14 = Enum.FontWeight.Regular
end
tbl_2.FontFace = Font.new("rbxasset://fonts/families/Roboto.json", var14, Enum.FontStyle.Normal)
tbl_2.Text = arg2
local function INLINED_2() -- Internal function, doesn't exist in bytecode
var14 = 255
return Color3.fromRGB(255, var14, 255)
end
if not arg3 or not INLINED_2() then
var14 = 0
end
tbl_2.TextColor3 = Color3.fromRGB(0, var14, 0)
tbl_2.TextScaled = true
tbl_2.LayoutOrder = 1
module_4.OptionLabel = Roact_upvr.createElement("TextLabel", tbl_2)
local tbl_4 = {}
var14 = 0.3
tbl_4.Size = UDim2.fromScale(0.3, var14)
tbl_4.BackgroundTransparency = 1
tbl_4.Image = "http://www.roblox.com/asset/?id=16209506182"
var14 = 0
tbl_4.ImageColor3 = Color3.fromRGB(0, var14, 0)
local tbl_16 = {}
var14 = Roact_upvr
var14 = "UIAspectRatioConstraint"
tbl_16.UIAspectRatioConstraint = var14.createElement(var14)
local var21 = arg3
if var21 then
var14 = Roact_upvr
var21 = var14.createElement
var14 = "ImageLabel"
var21 = var21(var14, {
AnchorPoint = Vector2.new(0.5, 0.5);
Position = UDim2.fromScale(0.5, 0.5);
Size = UDim2.fromScale(0.5, 0.5);
BackgroundTransparency = 1;
Image = "http://www.roblox.com/asset/?id=16209506182";
})
end
tbl_16.Checked = var21
module_4.ImageLabel = Roact_upvr.createElement("ImageLabel", tbl_4, tbl_16)
return Roact_upvr.createElement("ImageButton", module_3, module_4)
end
function any_extend_result1.init(arg1) -- Line 148
arg1:setState({
IsUnfolded = false;
FoldedSections = {};
})
end
function any_extend_result1.render(arg1) -- Line 156
--[[ Upvalues[2]:
[1]: GuiService_upvr (readonly)
[2]: Roact_upvr (readonly)
]]
local any_GetGuiInset_result1 = GuiService_upvr:GetGuiInset()
local tbl_14 = {}
local const_number = 0
local var65
for _, v in arg1.props.Options do
if #v.Options > 1 then
if not v.Hidden then
local Name_upvr = v.Name
function var65() -- Line 170
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: Name_upvr (readonly)
]]
local clone = table.clone(arg1.state.FoldedSections)
clone[Name_upvr] = not clone[Name_upvr]
arg1:setState({
FoldedSections = clone;
})
end
table.insert(tbl_14, arg1:CreateHeader(Name_upvr, var65, const_number))
if not arg1.state.FoldedSections[Name_upvr] then
for _, v_2_upvr in v.Options do
var65 = v_2_upvr.Hidden
if not var65 then
var65 = table.insert
var65(tbl_14, arg1:CreateRadioButton(v_2_upvr.Name, v_2_upvr.Value, function() -- Line 192
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: Name_upvr (readonly)
[3]: v_2_upvr (readonly)
]]
arg1.props.OnOptionActivated(Name_upvr, v_2_upvr.Name)
end, const_number + 1))
end
end
end
end
end
end
local module_6 = {}
Name_upvr = Roact_upvr
Name_upvr = "ImageButton"
local tbl_20 = {
UIAspectRatioConstraint = Roact_upvr.createElement("UIAspectRatioConstraint");
}
local tbl_5 = {}
var65 = Vector2.new(0.5, 0.5)
tbl_5.AnchorPoint = var65
var65 = UDim2.fromScale(0.5, 0.5)
tbl_5.Position = var65
var65 = UDim2.fromScale(0.85, 0.85)
tbl_5.Size = var65
var65 = 1
tbl_5.BackgroundTransparency = var65
if arg1.state.IsUnfolded then
var65 = "rbxassetid://16210586303"
else
var65 = "rbxassetid://16210587037"
end
tbl_5.Image = var65
tbl_20.Icon = Roact_upvr.createElement("ImageLabel", tbl_5)
module_6.FilterButton = Name_upvr.createElement(Name_upvr, {
AnchorPoint = Vector2.new(1, 0);
Position = UDim2.fromScale(1, 0);
Size = UDim2.fromOffset(any_GetGuiInset_result1.Y, any_GetGuiInset_result1.Y);
ImageTransparency = 1;
BackgroundColor3 = Color3.fromRGB(0, 0, 0);
BorderColor3 = Color3.fromRGB(255, 255, 255);
BorderMode = Enum.BorderMode.Inset;
[Roact_upvr.Event.Activated] = function() -- Line 218
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:setState({
IsUnfolded = not arg1.state.IsUnfolded;
})
end;
}, tbl_20)
Name_upvr = arg1.state
local IsUnfolded = Name_upvr.IsUnfolded
if IsUnfolded then
Name_upvr = Roact_upvr
IsUnfolded = Name_upvr.createElement
Name_upvr = "ScrollingFrame"
local tbl_19 = {}
var65 = 0
tbl_19.Size = UDim2.new(1, -any_GetGuiInset_result1.Y, 1, var65)
tbl_19.BackgroundTransparency = 0.1
tbl_19.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
tbl_19.BorderSizePixel = 0
tbl_19.CanvasSize = UDim2.new()
tbl_19.AutomaticCanvasSize = Enum.AutomaticSize.Y
tbl_19.ScrollingDirection = Enum.ScrollingDirection.Y
tbl_19.ScrollBarThickness = 0
local tbl_3 = {}
local tbl_13 = {}
var65 = Enum.SortOrder.LayoutOrder
tbl_13.SortOrder = var65
tbl_3.UIListLayout = Roact_upvr.createElement("UIListLayout", tbl_13)
tbl_3.Children = Roact_upvr.createFragment(tbl_14)
IsUnfolded = IsUnfolded(Name_upvr, tbl_19, tbl_3)
end
module_6.Content = IsUnfolded
return Roact_upvr.createElement("Frame", {
AnchorPoint = arg1.props.AnchorPoint;
Size = arg1.props.Size;
Position = arg1.props.Position;
BackgroundTransparency = 1;
}, module_6)
end
return any_extend_result1
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:58:57
-- Luau version 6, Types version 3
-- Time taken: 0.027622 seconds
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Parent = script.Parent.Parent
local Roact_upvr = require(ReplicatedStorage.PopupShop.Packages.Roact)
local any_extend_result1 = Roact_upvr.PureComponent:extend("Catalog")
function any_extend_result1.IsCategoryActive(arg1, arg2) -- Line 18
for _, v in arg1.state.ProductTypeFilter do
if v.Name == arg2 then
return v.Value
end
end
return true
end
function any_extend_result1.GetCurrentSectionId(arg1) -- Line 28
for _, v_2 in arg1.state.CollectionFilter do
if v_2.Value then
return v_2.Id
end
end
end
function any_extend_result1.GatherAvailableSections(arg1) -- Line 38
local section = arg1.props.Parameters.section
local tbl_21 = {}
local tbl_22 = {
Id = "Wishlist";
}
local var16 = "Wishlist"
tbl_22.Name = var16
if section ~= "Wishlist" then
var16 = false
else
var16 = true
end
tbl_22.Value = var16
table.insert(tbl_21, tbl_22)
local tbl_8 = {}
var16 = "SearchResults"
tbl_8.Id = var16
var16 = "Search Results"
tbl_8.Name = var16
if section ~= "SearchResults" then
var16 = false
else
var16 = true
end
tbl_8.Value = var16
var16 = true
tbl_8.Hidden = var16
table.insert(tbl_21, tbl_8)
var16 = arg1.props
for _, v_3 in var16.Sections do
local tbl_2 = {
Id = v_3.Id;
}
local Name = v_3.Name
tbl_2.Name = Name
if v_3.Id ~= section then
Name = false
else
Name = true
end
tbl_2.Value = Name
table.insert(tbl_21, tbl_2)
end
arg1:setState({
CollectionFilter = tbl_21;
})
end
function any_extend_result1.GatherAvailableCategories(arg1) -- Line 69
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var29 = arg1.props.SectionContent[arg1:GetCurrentSectionId()]
local tbl_27 = {{
Name = "All";
Value = true;
}}
if var29 then
for _, v_4 in var29.Categories do
({
All = true;
})[v_4.Name] = false
table.insert(tbl_27, {
Name = v_4.Name;
Value = false;
})
local _
end
end
arg1:setState({
ProductTypeFilter = tbl_27;
})
end
function any_extend_result1.SelectCollection(arg1, arg2) -- Line 99
for _, v_5 in arg1.state.CollectionFilter do
local var40
if v_5.Name ~= arg2 then
var40 = false
else
var40 = true
end
v_5.Value = var40
end
arg1:setState({
CollectionFilter = table.clone(arg1.state.CollectionFilter);
})
arg1:GatherAvailableCategories()
if arg2 == "Wishlist" then
arg1.props.GoToPath("/wishlist")
end
end
function any_extend_result1.SelectProductType(arg1, arg2) -- Line 118
for _, v_6 in arg1.state.ProductTypeFilter do
local var46
if v_6.Name ~= arg2 then
var46 = false
else
var46 = true
end
v_6.Value = var46
end
arg1:setState({
ProductTypeFilter = table.clone(arg1.state.ProductTypeFilter);
})
end
function any_extend_result1.init(arg1) -- Line 130
arg1:setState({
CollectionFilter = {};
ProductTypeFilter = {};
})
arg1:GatherAvailableSections()
arg1:GatherAvailableCategories()
end
function any_extend_result1.shouldUpdate(arg1, arg2) -- Line 140
if arg1.props.WishlistedProducts ~= arg2.WishlistedProducts and arg1:GetCurrentSectionId() ~= "Wishlist" then
arg1.props.WishlistedProducts = arg2.WishlistedProducts
return false
end
if arg1.props.Sections ~= arg2.Sections then
task.defer(function() -- Line 150
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:GatherAvailableSections()
arg1:GatherAvailableCategories()
end)
return true
end
if arg1.props.SectionContent ~= arg2.SectionContent then
task.defer(function() -- Line 158
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:GatherAvailableSections()
arg1:GatherAvailableCategories()
end)
return true
end
return true
end
function any_extend_result1.didUpdate(arg1, arg2, arg3) -- Line 168
if arg2.SearchResults ~= arg1.props.SearchResults or arg2.SearchError ~= arg1.props.SearchError and arg1.props.SearchError then
arg1:SelectCollection("Search Results")
end
if arg3.CollectionFilter ~= arg1.state.CollectionFilter and arg1:GetCurrentSectionId() ~= "SearchResults" then
arg1.props.ClearSearchError()
end
end
local UserInputService_upvr = game:GetService("UserInputService")
local TouchFilters_upvr = require(Parent.Components.TouchFilters)
local PreviewCartCombo_upvr = require(Parent.Components.PreviewCartCombo)
local ProductGrid_upvr = require(Parent.Components.ProductGrid)
local FilterBar_upvr = require(Parent.Components.FilterBar)
function any_extend_result1.render(arg1) -- Line 181
--[[ Upvalues[6]:
[1]: UserInputService_upvr (readonly)
[2]: Roact_upvr (readonly)
[3]: TouchFilters_upvr (readonly)
[4]: PreviewCartCombo_upvr (readonly)
[5]: ProductGrid_upvr (readonly)
[6]: FilterBar_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 77 start (CF ANALYSIS FAILED)
local any_GetCurrentSectionId_result1 = arg1:GetCurrentSectionId()
local var139
if not UserInputService_upvr.KeyboardEnabled then
if not UserInputService_upvr.GamepadEnabled then
if any_GetCurrentSectionId_result1 == "SearchResults" then
else
end
end
end
local var140 = arg1.props.SectionContent[any_GetCurrentSectionId_result1]
if var140 then
for _, v_7 in var140.Categories do
if arg1:IsCategoryActive("All") or arg1:IsCategoryActive(v_7.Name) then
for _, v_8 in v_7.Listings do
var139 = table.insert
var139({}, v_8)
end
end
end
elseif any_GetCurrentSectionId_result1 == "SearchResults" then
for i_9, v_9 in arg1.props.SearchResults do
v_7 = table.insert
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
v_7({}, v_9)
local var141
end
elseif any_GetCurrentSectionId_result1 == "Wishlist" then
i_9 = arg1.props
for i_10 in i_9.WishlistedProducts do
v_7 = table.insert
v_7(var141, i_10)
local var142
end
end
i_10 = arg1.state
if #i_10.ProductTypeFilter > 1 then
-- KONSTANTWARNING: GOTO [103] #73
end
-- KONSTANTERROR: [0] 1. Error Block 77 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [102] 72. Error Block 73 start (CF ANALYSIS FAILED)
local var143 = true
if var143 then
local _ = 46
else
end
local function INLINED_2() -- Internal function, doesn't exist in bytecode
i_10 = arg1.props
return i_10.SearchError
end
if any_GetCurrentSectionId_result1 ~= "SearchResults" or not INLINED_2() then
end
local module_3 = {}
local tbl_10 = {}
var139 = 0
tbl_10.Padding = UDim.new(var139, 10)
tbl_10.FillDirection = Enum.FillDirection.Horizontal
tbl_10.SortOrder = Enum.SortOrder.LayoutOrder
module_3.UIListLayout = Roact_upvr.createElement("UIListLayout", tbl_10)
local tbl_14 = {}
var139 = 0.3
tbl_14.Size = UDim2.fromScale(var139, 1)
tbl_14.BackgroundTransparency = 1
tbl_14.LayoutOrder = 1
local tbl_9 = {}
var139 = UserInputService_upvr.TouchEnabled
if var139 then
var139 = Roact_upvr.createElement
local tbl_17 = {
Size = UDim2.fromScale(1, 1);
Options = {{
Name = "Collection";
Options = arg1.state.CollectionFilter;
}, {
Name = "Product Type";
Options = arg1.state.ProductTypeFilter;
}};
}
local function OnOptionActivated(arg1_5, arg2) -- Line 251
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_5 == "Product Type" then
arg1:SelectProductType(arg2)
arg1.props.OnProductTypeFilterOptionActivated(arg1.state.ProductTypeFilter)
elseif arg1_5 == "Collection" then
arg1:SelectCollection(arg2)
arg1.props.OnCollectionsFilterOptionActivated(arg1.state.CollectionFilter)
end
end
tbl_17.OnOptionActivated = OnOptionActivated
var139 = var139(TouchFilters_upvr, tbl_17)
end
tbl_9.TouchFilters = var139
var139 = Roact_upvr.createElement
var139 = var139(PreviewCartCombo_upvr, {
Size = UDim2.fromScale(1, 1);
LayoutOrder = 1;
})
tbl_9.PreviewCartCombo = var139
module_3.LeftPanel = Roact_upvr.createElement("Frame", tbl_14, tbl_9)
local TouchEnabled = UserInputService_upvr.TouchEnabled
if TouchEnabled then
TouchEnabled = Roact_upvr.createElement
local tbl_16 = {}
var139 = 0.7
tbl_16.Size = UDim2.new(var139, -10, 1, 0)
tbl_16.LayoutOrder = 2
tbl_16.Products = var142
TouchEnabled = TouchEnabled(ProductGrid_upvr, tbl_16)
end
module_3.TouchProductGrid = TouchEnabled
TouchEnabled = true
local var157 = TouchEnabled
if var157 then
var157 = Roact_upvr.createElement
local tbl_15 = {}
var139 = 0.7
tbl_15.Size = UDim2.new(var139, -10, 1, 0)
tbl_15.BackgroundTransparency = 1
tbl_15.LayoutOrder = 2
local tbl_11 = {}
var139 = Roact_upvr.createElement
local tbl_28 = {
Size = UDim2.new(1, 0, 0, 36);
Options = arg1.state.CollectionFilter;
}
local function OnOptionActivated(arg1_6) -- Line 291
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:SelectCollection(arg1_6)
arg1.props.OnCollectionsFilterOptionActivated(arg1.state.CollectionFilter)
end
tbl_28.OnOptionActivated = OnOptionActivated
var139 = var139(FilterBar_upvr, tbl_28)
tbl_11.CollectionsFilter = var139
var139 = not var143
if var139 then
var139 = Roact_upvr.createElement
var139 = var139(FilterBar_upvr, {
Position = UDim2.fromOffset(0, 46);
Size = UDim2.new(1, 0, 0, 36);
Options = arg1.state.ProductTypeFilter;
OnOptionActivated = function(arg1_7) -- Line 304, Named "OnOptionActivated"
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:SelectProductType(arg1_7)
arg1.props.OnProductTypeFilterOptionActivated(arg1.state.ProductTypeFilter)
end;
})
end
tbl_11.ProductTypeFilter = var139
local tbl_13 = {
Position = UDim2.fromOffset(0, 92);
}
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
tbl_13.Size = UDim2.new(1, 0, 1, -92)
tbl_13.LayoutOrder = 2
tbl_13.Products = var142
tbl_13.CustomErrorMessage = nil
tbl_11.ProductGrid = Roact_upvr.createElement(ProductGrid_upvr, tbl_13)
var157 = var157("Frame", tbl_15, tbl_11)
end
module_3.ProductGridFilterCombo = var157
do
return Roact_upvr.createElement("Frame", {
Size = UDim2.fromScale(1, 1);
BackgroundTransparency = 1;
}, module_3)
end
-- KONSTANTERROR: [102] 72. Error Block 73 end (CF ANALYSIS FAILED)
end
return require(ReplicatedStorage.PopupShop.Packages.RoactRodux).connect(function(arg1) -- Line 324
return {
Sections = arg1.Sections;
SectionContent = arg1.SectionContent;
WishlistedProducts = arg1.WishlistedProducts;
GoToPath = arg1.GoToPath;
RawPath = arg1.RawPath;
SearchResults = arg1.SearchResults;
SearchError = arg1.SearchError;
ClearSearchError = arg1.ClearSearchError;
}
end)(any_extend_result1)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:58:58
-- Luau version 6, Types version 3
-- Time taken: 0.006521 seconds
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Parent = script.Parent.Parent
local Roact_upvr = require(ReplicatedStorage.PopupShop.Packages.Roact)
local any_extend_result1 = Roact_upvr.PureComponent:extend("MainPage")
local tbl_upvr = {{
Position = Vector2.new(1, 1);
Size = Vector2.new(2, 2);
Thumbnail = "rbxassetid://16369940007";
ColorSequence = ColorSequence.new({ColorSequenceKeypoint.new(0, Color3.fromRGB(246, 197, 251)), ColorSequenceKeypoint.new(0.5, Color3.fromRGB(163, 115, 199)), ColorSequenceKeypoint.new(1, Color3.fromRGB(112, 81, 205))});
}, {
Position = Vector2.new(3, 1);
Size = Vector2.new(2, 1);
Thumbnail = "rbxassetid://16635814528";
}, {
Position = Vector2.new(3, 2);
Size = Vector2.new(2, 1);
Thumbnail = "rbxassetid://16370237746";
}, {
Position = Vector2.new(5, 1);
Size = Vector2.new(2, 2);
Thumbnail = "rbxassetid://16370235814";
ColorSequence = ColorSequence.new({ColorSequenceKeypoint.new(0, Color3.fromRGB(248, 208, 57)), ColorSequenceKeypoint.new(0.5, Color3.fromRGB(255, 180, 57)), ColorSequenceKeypoint.new(1, Color3.fromRGB(241, 85, 53))});
}, {
Position = Vector2.new(1, 3);
Size = Vector2.new(3, 1);
Thumbnail = "rbxassetid://16370236835";
ColorSequence = ColorSequence.new({ColorSequenceKeypoint.new(0, Color3.fromRGB(226, 255, 149)), ColorSequenceKeypoint.new(0.5, Color3.fromRGB(185, 217, 102)), ColorSequenceKeypoint.new(1, Color3.fromRGB(243, 171, 215))});
CenterContent = true;
}, {
Position = Vector2.new(4, 3);
Size = Vector2.new(3, 1);
Thumbnail = "rbxassetid://16370233616";
ColorSequence = ColorSequence.new({ColorSequenceKeypoint.new(0, Color3.fromRGB(179, 223, 241)), ColorSequenceKeypoint.new(0.5, Color3.fromRGB(88, 176, 209)), ColorSequenceKeypoint.new(1, Color3.fromRGB(67, 168, 203))});
CenterContent = true;
}}
local GridTile_upvr = require(Parent.Components.GridTile)
local PreviewCartCombo_upvr = require(Parent.Components.PreviewCartCombo)
local FlexibleGrid_upvr = require(Parent.Components.FlexibleGrid)
function any_extend_result1.render(arg1) -- Line 71
--[[ Upvalues[5]:
[1]: tbl_upvr (readonly)
[2]: Roact_upvr (readonly)
[3]: GridTile_upvr (readonly)
[4]: PreviewCartCombo_upvr (readonly)
[5]: FlexibleGrid_upvr (readonly)
]]
local tbl = {}
for i, v_upvr in arg1.props.Sections do
if #tbl_upvr < i then break end
local var22 = tbl_upvr[i]
tbl[i] = {
Position = var22.Position;
Size = var22.Size;
Component = Roact_upvr.createElement(GridTile_upvr, {
Text = v_upvr.Name;
Thumbnail = var22.Thumbnail;
ColorSequence = var22.ColorSequence;
CenterContent = var22.CenterContent;
[Roact_upvr.Event.Activated] = function() -- Line 91
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: v_upvr (readonly)
]]
arg1.props.GoToPath(`/catalog?section={v_upvr.Id}`)
end;
});
}
end
return Roact_upvr.createElement("Frame", {
Size = UDim2.fromScale(1, 1);
BackgroundTransparency = 1;
}, {
UIListLayout = Roact_upvr.createElement("UIListLayout", {
Padding = UDim.new(0, 10);
FillDirection = Enum.FillDirection.Horizontal;
SortOrder = Enum.SortOrder.LayoutOrder;
});
PreviewCartCombo = Roact_upvr.createElement(PreviewCartCombo_upvr, {
Size = UDim2.fromScale(0.3, 1);
LayoutOrder = 1;
});
FlexibleGrid = Roact_upvr.createElement(FlexibleGrid_upvr, {
Size = UDim2.new(0.7, -10, 1, 0);
LayoutOrder = 2;
Tiles = tbl;
GridSize = Vector2.new(6, 3);
});
})
end
return require(ReplicatedStorage.PopupShop.Packages.RoactRodux).connect(function(arg1) -- Line 126
return {
Sections = arg1.Sections;
GoToPath = arg1.GoToPath;
}
end)(any_extend_result1)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:00
-- Luau version 6, Types version 3
-- Time taken: 0.001540 seconds
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Parent = script.Parent.Parent
local Roact_upvr = require(ReplicatedStorage.PopupShop.Packages.Roact)
local any_extend_result1 = Roact_upvr.PureComponent:extend("ProductDisplayPage")
local PreviewCartCombo_upvr = require(Parent.Components.PreviewCartCombo)
local ProductGrid_upvr = require(Parent.Components.ProductGrid)
function any_extend_result1.render(arg1) -- Line 15
--[[ Upvalues[3]:
[1]: Roact_upvr (readonly)
[2]: PreviewCartCombo_upvr (readonly)
[3]: ProductGrid_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [20] 14. Error Block 4 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [20] 14. Error Block 4 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [14] 10. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [20.8]
-- KONSTANTERROR: [14] 10. Error Block 2 end (CF ANALYSIS FAILED)
end
return require(ReplicatedStorage.PopupShop.Packages.RoactRodux).connect(function(arg1) -- Line 62
return {
ProductDisplays = arg1.ProductDisplays;
OnRequestAssetDetails = arg1.OnRequestAssetDetails;
}
end)(any_extend_result1)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:01
-- Luau version 6, Types version 3
-- Time taken: 0.008068 seconds
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Roact_upvr = require(ReplicatedStorage.PopupShop.Packages.Roact)
local Flipper_upvr = require(ReplicatedStorage.PopupShop.Packages.Flipper)
local any_extend_result1 = Roact_upvr.Component:extend("LoyaltyPoints")
local RoactFlipper_upvr = require(ReplicatedStorage.PopupShop.Packages.RoactFlipper)
function any_extend_result1.init(arg1) -- Line 9
--[[ Upvalues[3]:
[1]: Flipper_upvr (readonly)
[2]: RoactFlipper_upvr (readonly)
[3]: Roact_upvr (readonly)
]]
arg1.TextAnimationMotor = Flipper_upvr.SingleMotor.new(1)
arg1.TextAnimationBinding = RoactFlipper_upvr.getBinding(arg1.TextAnimationMotor)
local any_createBinding_result1, any_createBinding_result2 = Roact_upvr.createBinding(0)
arg1.CounterDifferenceBinding = any_createBinding_result1
arg1.SetCounterDifferenceBinding = any_createBinding_result2
end
function any_extend_result1.didUpdate(arg1, arg2) -- Line 16
--[[ Upvalues[1]:
[1]: Flipper_upvr (readonly)
]]
if arg2.Counter ~= arg1.props.Counter then
local var11
if arg2.Counter ~= nil then
local var12 = arg1.props.Counter - arg2.Counter
if 0 < var12 then
var11 = '+'
else
var11 = ""
end
arg1.SetCounterDifferenceBinding(var11..tostring(var12))
var11 = Flipper_upvr.Instant.new(0)
arg1.TextAnimationMotor:setGoal(var11)
arg1.TextAnimationMotor:step()
var11 = Flipper_upvr.Linear.new
var11 = var11(1, {
velocity = 1;
})
arg1.TextAnimationMotor:setGoal(var11)
end
end
end
function any_extend_result1.render(arg1) -- Line 32
--[[ Upvalues[1]:
[1]: Roact_upvr (readonly)
]]
return Roact_upvr.createElement("Frame", {
Size = UDim2.fromScale(0, 1);
AutomaticSize = Enum.AutomaticSize.X;
BackgroundColor3 = Color3.fromRGB(0, 0, 0);
BackgroundTransparency = 0.2;
BorderSizePixel = 0;
}, {
UIListLayout = Roact_upvr.createElement("UIListLayout", {
FillDirection = Enum.FillDirection.Horizontal;
SortOrder = Enum.SortOrder.LayoutOrder;
});
UIGradient = Roact_upvr.createElement("UIGradient", {
Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0, 0), NumberSequenceKeypoint.new(1, 1)});
});
UICorner = Roact_upvr.createElement("UICorner", {
CornerRadius = UDim.new(1, 0);
});
Icon = Roact_upvr.createElement("ImageLabel", {
Size = UDim2.fromScale(1, 1);
BackgroundTransparency = 1;
Image = "http://www.roblox.com/asset/?id=16173596317";
LayoutOrder = 1;
}, {
UIAspectRatioConstraint = Roact_upvr.createElement("UIAspectRatioConstraint");
});
Amount = Roact_upvr.createElement("TextLabel", {
Size = UDim2.fromScale(0, 1);
AutomaticSize = Enum.AutomaticSize.X;
BackgroundTransparency = 1;
FontFace = Font.new("rbxasset://fonts/families/RobotoCondensed.json", Enum.FontWeight.Bold, Enum.FontStyle.Normal);
Text = arg1.props.Counter or "Loading...";
TextColor3 = Color3.fromRGB(237, 231, 52);
TextSize = arg1.props.FontSize;
AutoLocalize = false;
LayoutOrder = 2;
}, {
UIPadding = Roact_upvr.createElement("UIPadding", {
PaddingLeft = UDim.new(0, 4);
PaddingRight = UDim.new(0, 10);
});
TextAnimation = Roact_upvr.createElement("TextLabel", {
AnchorPoint = Vector2.new(0, 0.5);
Position = arg1.TextAnimationBinding:map(function(arg1_2) -- Line 103
return UDim2.fromScale(0, 0.5 + arg1_2)
end);
Size = UDim2.fromScale(1, 0.5);
BackgroundTransparency = 1;
FontFace = Font.new("rbxasset://fonts/families/RobotoCondensed.json", Enum.FontWeight.Bold, Enum.FontStyle.Normal);
Text = arg1.CounterDifferenceBinding;
TextColor3 = Color3.fromRGB(237, 231, 52);
TextScaled = true;
TextTransparency = arg1.TextAnimationBinding;
AutoLocalize = false;
});
});
})
end
return any_extend_result1
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:02
-- Luau version 6, Types version 3
-- Time taken: 0.013068 seconds
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Roact_upvr = require(ReplicatedStorage.PopupShop.Packages.Roact)
local any_extend_result1 = Roact_upvr.Component:extend("Navbar")
any_extend_result1.defaultProps = {
CatalogButtonHidden = false;
ShowSearchBar = false;
OnCatalogButtonPressed = function() -- Line 20, Named "OnCatalogButtonPressed"
end;
}
local GuiService_upvr = game:GetService("GuiService")
local SearchBar_upvr = require(script.Parent.Parent.Retail.Components.SearchBar)
local LoyaltyPoints_upvr = require(script.Parent.LoyaltyPoints)
function any_extend_result1.render(arg1) -- Line 23
--[[ Upvalues[4]:
[1]: GuiService_upvr (readonly)
[2]: Roact_upvr (readonly)
[3]: SearchBar_upvr (readonly)
[4]: LoyaltyPoints_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 59 start (CF ANALYSIS FAILED)
local var8
if GuiService_upvr:GetGuiInset().Y ~= 36 then
var8 = false
else
var8 = true
end
local var9 = GuiService_upvr:GetGuiInset() + Vector2.new(0, 4)
if var8 then
-- KONSTANTWARNING: GOTO [26] #21
end
-- KONSTANTERROR: [0] 1. Error Block 59 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [23] 19. Error Block 46 start (CF ANALYSIS FAILED)
local module = {}
local tbl_6 = {}
if not var8 or not UDim2.new(0, 104, 0, 0) then
end
tbl_6.Position = UDim2.fromOffset(170, 0)
if not var8 or not UDim2.new(1, -166, 1, 0) then
end
tbl_6.Size = UDim2.new(1, -170, 1, 0)
tbl_6.BackgroundTransparency = 1
local tbl_2 = {}
local tbl_5 = {}
if var8 then
else
end
tbl_5.PaddingBottom = UDim.new(0, 7)
if var8 then
-- KONSTANTWARNING: GOTO [110] #88
end
tbl_5.PaddingRight = UDim.new(0, 13)
if var8 then
else
end
local var15
tbl_5.PaddingTop = var15
tbl_2.UIPadding = Roact_upvr.createElement("UIPadding", tbl_5)
if not arg1.props.CatalogButtonHidden then
local tbl_4 = {}
var15 = Vector2.new(0.5, 0)
tbl_4.AnchorPoint = var15
local function INLINED() -- Internal function, doesn't exist in bytecode
var15 = UDim2.fromScale(0.5, 0)
return var15
end
if not var8 or not INLINED() then
var15 = UDim2.new(0.5, -85, 0, 0)
end
tbl_4.Position = var15
var15 = UDim2.fromScale(0, 1)
tbl_4.Size = var15
var15 = Enum.AutomaticSize.X
tbl_4.AutomaticSize = var15
var15 = Color3.fromRGB(0, 0, 0)
tbl_4.BackgroundColor3 = var15
var15 = Color3.fromRGB(255, 255, 255)
tbl_4.BorderColor3 = var15
var15 = 1
tbl_4.ImageTransparency = var15
var15 = Roact_upvr.Event.Activated
tbl_4[var15] = arg1.props.OnCatalogButtonPressed
var15 = {}
local var17 = var15
var17.UIListLayout = Roact_upvr.createElement("UIListLayout", {
Padding = UDim.new(0, 8);
FillDirection = Enum.FillDirection.Horizontal;
SortOrder = Enum.SortOrder.LayoutOrder;
})
var17.UIPadding = Roact_upvr.createElement("UIPadding", {
PaddingBottom = UDim.new(0, 6);
PaddingLeft = UDim.new(0, 10);
PaddingRight = UDim.new(0, 10);
PaddingTop = UDim.new(0, 6);
})
var17.ShopIcon = Roact_upvr.createElement("ImageLabel", {
Size = UDim2.fromScale(1, 1);
BackgroundTransparency = 1;
Image = "http://www.roblox.com/asset/?id=16174037961";
ScaleType = Enum.ScaleType.Fit;
}, {
UIAspectRatioConstraint = Roact_upvr.createElement("UIAspectRatioConstraint", {
AspectRatio = 1.62;
});
})
var17.CatalogLabel = Roact_upvr.createElement("TextLabel", {
Size = UDim2.fromScale(0, 1);
AutomaticSize = Enum.AutomaticSize.X;
BackgroundTransparency = 1;
FontFace = Font.new("rbxasset://fonts/families/RobotoCondensed.json", Enum.FontWeight.Bold, Enum.FontStyle.Normal);
Text = "CATALOG";
TextColor3 = Color3.fromRGB(255, 255, 255);
TextSize = var9.Y - 36;
LayoutOrder = 1;
})
end
tbl_2.CatalogButton = Roact_upvr.createElement("ImageButton", tbl_4, var17)
local ShowSearchBar = arg1.props.ShowSearchBar
if ShowSearchBar then
ShowSearchBar = Roact_upvr.createElement
local tbl_3 = {}
var17 = Vector2.new(1, 0)
tbl_3.AnchorPoint = var17
var17 = UDim2.fromScale(0.3, 1)
tbl_3.Size = var17
var17 = UDim2.new(1, -var9.Y, 1, 0)
tbl_3.ExpandedSize = var17
var17 = UDim2.new(1, -var9.Y, 0, 0)
tbl_3.Position = var17
ShowSearchBar = ShowSearchBar(SearchBar_upvr, tbl_3)
end
tbl_2.SearchBar = ShowSearchBar
local tbl = {}
var17 = arg1.props.LoyaltyPoints
tbl.Counter = var17
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
tbl.FontSize = var9.Y - 36
tbl_2.LoyaltyPoints = Roact_upvr.createElement(LoyaltyPoints_upvr, tbl)
var17 = Roact_upvr.Children
tbl_2.Children = Roact_upvr.createFragment(arg1.props[var17])
module.SafeArea = Roact_upvr.createElement("Frame", tbl_6, tbl_2)
do
return Roact_upvr.createElement("Frame", {
Size = UDim2.new(1, 0, 0, var9.Y);
BackgroundTransparency = 1;
}, module)
end
-- KONSTANTERROR: [23] 19. Error Block 46 end (CF ANALYSIS FAILED)
end
return require(ReplicatedStorage.PopupShop.Packages.RoactRodux).connect(function(arg1) -- Line 124
return {
LoyaltyPoints = arg1.LoyaltyPoints;
}
end)(any_extend_result1)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:04
-- Luau version 6, Types version 3
-- Time taken: 0.000412 seconds
return require(script.Parent._Index["
[email protected]"].comm)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:05
-- Luau version 6, Types version 3
-- Time taken: 0.000313 seconds
return require(script.Parent._Index["
[email protected]"]["dubit-utils"])
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:07
-- Luau version 6, Types version 3
-- Time taken: 0.000304 seconds
return require(script.Parent._Index["
[email protected]"].flipper)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:08
-- Luau version 6, Types version 3
-- Time taken: 0.000315 seconds
return require(script.Parent._Index["
[email protected]"].roact)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:10
-- Luau version 6, Types version 3
-- Time taken: 0.000324 seconds
return require(script.Parent._Index["
[email protected]"]["roact-flipper"])
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:11
-- Luau version 6, Types version 3
-- Time taken: 0.000422 seconds
return require(script.Parent._Index["
[email protected]"]["roact-rodux"])
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:13
-- Luau version 6, Types version 3
-- Time taken: 0.000429 seconds
return require(script.Parent._Index["
[email protected]"].rodux)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:14
-- Luau version 6, Types version 3
-- Time taken: 0.000391 seconds
return require(script.Parent._Index["
[email protected]"].sift)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:16
-- Luau version 6, Types version 3
-- Time taken: 0.000386 seconds
return require(script.Parent._Index["
[email protected]"].signal)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:17
-- Luau version 6, Types version 3
-- Time taken: 0.000372 seconds
return require(script.Parent._Index["
[email protected]"].trove)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:19
-- Luau version 6, Types version 3
-- Time taken: 0.000639 seconds
local module = {
Array = require(script.Array);
Dictionary = require(script.Dictionary);
Set = require(script.Set);
None = require(script.None);
Types = require(script.Types);
equalObjects = require(script.Util.equalObjects);
isEmpty = require(script.Util.isEmpty);
List = module.Array;
}
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:20
-- Luau version 6, Types version 3
-- Time taken: 0.002156 seconds
local module = {
at = require(script.at);
concat = require(script.concat);
concatDeep = require(script.concatDeep);
copy = require(script.copy);
copyDeep = require(script.copyDeep);
count = require(script.count);
create = require(script.create);
difference = require(script.difference);
differenceSymmetric = require(script.differenceSymmetric);
equals = require(script.equals);
equalsDeep = require(script.equalsDeep);
every = require(script.every);
filter = require(script.filter);
find = require(script.find);
findLast = require(script.findLast);
findWhere = require(script.findWhere);
findWhereLast = require(script.findWhereLast);
first = require(script.first);
flatten = require(script.flatten);
freeze = require(script.freeze);
freezeDeep = require(script.freezeDeep);
includes = require(script.includes);
insert = require(script.insert);
is = require(script.is);
last = require(script.last);
map = require(script.map);
pop = require(script.pop);
push = require(script.push);
reduce = require(script.reduce);
reduceRight = require(script.reduceRight);
removeIndex = require(script.removeIndex);
removeIndices = require(script.removeIndices);
removeValue = require(script.removeValue);
removeValues = require(script.removeValues);
reverse = require(script.reverse);
set = require(script.set);
shift = require(script.shift);
shuffle = require(script.shuffle);
slice = require(script.slice);
some = require(script.some);
sort = require(script.sort);
splice = require(script.splice);
toSet = require(script.toSet);
unshift = require(script.unshift);
update = require(script.update);
zip = require(script.zip);
zipAll = require(script.zipAll);
join = module.concat;
merge = module.concat;
joinDeep = module.concatDeep;
mergeDeep = module.concatDeep;
append = module.push;
prepend = module.unshift;
indexOf = module.find;
has = module.includes;
contains = module.includes;
isArray = module.is;
}
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:21
-- Luau version 6, Types version 3
-- Time taken: 0.000552 seconds
return function(arg1, arg2) -- Line 19, Named "at"
local var1
if var1 < 1 then
var1 += #arg1
end
return arg1[var1]
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:23
-- Luau version 6, Types version 3
-- Time taken: 0.001056 seconds
local None_upvr = require(script.Parent.Parent.None)
return function(...) -- Line 26, Named "concat"
--[[ Upvalues[1]:
[1]: None_upvr (readonly)
]]
for i = 1, select('#', ...) do
local selected_arg = select(i, ...)
if type(selected_arg) == "table" then
for _, v in ipairs(selected_arg) do
if v ~= None_upvr then
table.insert({}, v)
end
end
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return {}
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:24
-- Luau version 6, Types version 3
-- Time taken: 0.001325 seconds
local None_upvr = require(script.Parent.Parent.None)
local copyDeep_upvr = require(script.Parent.copyDeep)
return function(...) -- Line 28, Named "concatDeep"
--[[ Upvalues[2]:
[1]: None_upvr (readonly)
[2]: copyDeep_upvr (readonly)
]]
for i = 1, select('#', ...) do
local selected_arg = select(i, ...)
if type(selected_arg) == "table" then
for _, v in ipairs(selected_arg) do
if v ~= None_upvr then
if type(v) == "table" then
table.insert({}, copyDeep_upvr(v))
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
table.insert({}, v)
end
end
end
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return {}
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:26
-- Luau version 6, Types version 3
-- Time taken: 0.000274 seconds
return table.clone
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:27
-- Luau version 6, Types version 3
-- Time taken: 0.000682 seconds
local function copyDeep_upvr(arg1) -- Line 20, Named "copyDeep"
--[[ Upvalues[1]:
[1]: copyDeep_upvr (readonly)
]]
for i, v in arg1 do
if type(v) == "table" then
table.clone(arg1)[i] = copyDeep_upvr(v)
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return table.clone(arg1)
end
return copyDeep_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:29
-- Luau version 6, Types version 3
-- Time taken: 0.001430 seconds
local Util_upvr = require(script.Parent.Parent.Util)
return function(arg1, arg2) -- Line 25, Named "count"
--[[ Upvalues[1]:
[1]: Util_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var10
if type(arg2) == "function" then
else
var10 = Util_upvr.func.truthy
end
for i, v in ipairs(arg1) do
if var10(v, i, arg1) then
end
end
return 0 + 1
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:31
-- Luau version 6, Types version 3
-- Time taken: 0.000289 seconds
return table.create
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:32
-- Luau version 6, Types version 3
-- Time taken: 0.001161 seconds
local toSet_upvr = require(script.Parent.toSet)
local difference_upvr = require(script.Parent.Parent.Set.difference)
local toArray_upvr = require(script.Parent.Parent.Set.toArray)
return function(arg1, ...) -- Line 25, Named "difference"
--[[ Upvalues[3]:
[1]: toSet_upvr (readonly)
[2]: difference_upvr (readonly)
[3]: toArray_upvr (readonly)
]]
for _, v in {...} do
if typeof(v) == "table" then
table.insert({}, toSet_upvr(v))
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return toArray_upvr(difference_upvr(toSet_upvr(arg1), unpack({})))
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:34
-- Luau version 6, Types version 3
-- Time taken: 0.001215 seconds
local toSet_upvr = require(script.Parent.toSet)
local differenceSymmetric_upvr = require(script.Parent.Parent.Set.differenceSymmetric)
local toArray_upvr = require(script.Parent.Parent.Set.toArray)
return function(arg1, ...) -- Line 25, Named "differenceSymmetric"
--[[ Upvalues[3]:
[1]: toSet_upvr (readonly)
[2]: differenceSymmetric_upvr (readonly)
[3]: toArray_upvr (readonly)
]]
for _, v in {...} do
if typeof(v) == "table" then
table.insert({}, toSet_upvr(v))
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return toArray_upvr(differenceSymmetric_upvr(toSet_upvr(arg1), unpack({})))
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:35
-- Luau version 6, Types version 3
-- Time taken: 0.002340 seconds
local function compare_upvr(arg1, arg2) -- Line 6, Named "compare"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var5
local function INLINED() -- Internal function, doesn't exist in bytecode
var5 = type(arg2)
return var5 ~= "table"
end
if var5 ~= "table" or INLINED() then
if arg1 ~= arg2 then
var5 = false
else
var5 = true
end
return var5
end
var5 = #arg1
local var6 = var5
if #arg2 ~= var6 then
return false
end
for i = 1, var6 do
if arg1[i] ~= arg2[i] then
return false
end
end
return true
end
local Util_upvr = require(script.Parent.Parent.Util)
return function(...) -- Line 44, Named "equals"
--[[ Upvalues[2]:
[1]: Util_upvr (readonly)
[2]: compare_upvr (readonly)
]]
if Util_upvr.equalObjects(...) then
return true
end
for i_2 = 2, select('#', ...) do
if not compare_upvr(select(1, ...), select(i_2, ...)) then
return false
end
end
return true
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:37
-- Luau version 6, Types version 3
-- Time taken: 0.002454 seconds
local function compareDeep_upvr(arg1, arg2) -- Line 6, Named "compareDeep"
--[[ Upvalues[1]:
[1]: compareDeep_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var5
local function INLINED() -- Internal function, doesn't exist in bytecode
var5 = type(arg2)
return var5 ~= "table"
end
if var5 ~= "table" or INLINED() then
if arg1 ~= arg2 then
var5 = false
else
var5 = true
end
return var5
end
var5 = #arg1
local var6 = var5
if #arg2 ~= var6 then
return false
end
for i = 1, var6 do
if not compareDeep_upvr(arg1[i], arg2[i]) then
return false
end
end
return true
end
local Util_upvr = require(script.Parent.Parent.Util)
return function(...) -- Line 44, Named "equalsDeep"
--[[ Upvalues[2]:
[1]: Util_upvr (readonly)
[2]: compareDeep_upvr (readonly)
]]
if Util_upvr.equalObjects(...) then
return true
end
for i_2 = 2, select('#', ...) do
if not compareDeep_upvr(select(1, ...), select(i_2, ...)) then
return false
end
end
return true
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:39
-- Luau version 6, Types version 3
-- Time taken: 0.000676 seconds
return function(arg1, arg2) -- Line 24, Named "every"
for i, v in ipairs(arg1) do
if not arg2(v, i, arg1) then
return false
end
end
return true
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:40
-- Luau version 6, Types version 3
-- Time taken: 0.001190 seconds
local Util_upvr = require(script.Parent.Parent.Util)
return function(arg1, arg2) -- Line 26, Named "filter"
--[[ Upvalues[1]:
[1]: Util_upvr (readonly)
]]
local var6
if type(arg2) == "function" then
else
var6 = Util_upvr.func.truthy
end
for i, v in ipairs(arg1) do
if var6(v, i, arg1) then
table.insert({}, v)
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return {}
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:42
-- Luau version 6, Types version 3
-- Time taken: 0.001140 seconds
return function(arg1, arg2, arg3) -- Line 25, Named "find"
-- KONSTANTERROR: [13] 11. Error Block 4 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [13] 11. Error Block 4 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 10 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [13.4]
if nil == "number" then
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [13.66188]
if arg3 < nil then
-- KONSTANTWARNING: GOTO [15] #13
end
else
end
-- KONSTANTERROR: [0] 1. Error Block 10 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [15] 13. Error Block 8 start (CF ANALYSIS FAILED)
do
return table.find(arg1, arg2, 1)
end
-- KONSTANTERROR: [15] 13. Error Block 8 end (CF ANALYSIS FAILED)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:44
-- Luau version 6, Types version 3
-- Time taken: 0.001358 seconds
return function(arg1, arg2, arg3) -- Line 20, Named "findLast"
-- KONSTANTERROR: [13] 11. Error Block 4 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [13] 11. Error Block 4 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 18 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [13.4]
if nil == "number" then
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [13.197202]
if arg3 < nil then
-- KONSTANTWARNING: GOTO [15] #13
end
else
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [14.3]
end
-- KONSTANTERROR: [0] 1. Error Block 18 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [15] 13. Error Block 14 start (CF ANALYSIS FAILED)
for i = nil, 1, -1 do
if arg1[i] == arg2 then
return i
end
end
-- KONSTANTERROR: [15] 13. Error Block 14 end (CF ANALYSIS FAILED)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:45
-- Luau version 6, Types version 3
-- Time taken: 0.001037 seconds
return function(arg1, arg2, arg3) -- Line 21, Named "findWhere"
-- KONSTANTERROR: [13] 11. Error Block 4 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [13] 11. Error Block 4 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 18 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [13.4]
if nil == "number" then
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [13.66188]
if arg3 < nil then
-- KONSTANTWARNING: GOTO [15] #13
end
else
end
-- KONSTANTERROR: [0] 1. Error Block 18 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [15] 13. Error Block 14 start (CF ANALYSIS FAILED)
for i = 1, #arg1 do
if arg2(arg1[i], i, arg1) then
return i
end
end
-- KONSTANTERROR: [15] 13. Error Block 14 end (CF ANALYSIS FAILED)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:47
-- Luau version 6, Types version 3
-- Time taken: 0.001402 seconds
return function(arg1, arg2, arg3) -- Line 25, Named "findWhereLast"
-- KONSTANTERROR: [13] 11. Error Block 4 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [13] 11. Error Block 4 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 18 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [13.4]
if nil == "number" then
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [13.197202]
if arg3 < nil then
-- KONSTANTWARNING: GOTO [15] #13
end
else
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [14.3]
end
-- KONSTANTERROR: [0] 1. Error Block 18 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [15] 13. Error Block 14 start (CF ANALYSIS FAILED)
for i = nil, 1, -1 do
if arg2(arg1[i], i, arg1) then
return i
end
end
-- KONSTANTERROR: [15] 13. Error Block 14 end (CF ANALYSIS FAILED)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:48
-- Luau version 6, Types version 3
-- Time taken: 0.000704 seconds
local at_upvr = require(script.Parent.at)
return function(arg1) -- Line 19, Named "first"
--[[ Upvalues[1]:
[1]: at_upvr (readonly)
]]
return at_upvr(arg1, 1)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:50
-- Luau version 6, Types version 3
-- Time taken: 0.002605 seconds
local function flatten_upvr(arg1, arg2) -- Line 24, Named "flatten"
--[[ Upvalues[1]:
[1]: flatten_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var17
if type(arg2) == "number" then
else
var17 = math.huge
end
for _, v in ipairs(arg1) do
if type(v) == "table" and 0 < var17 then
for _, v_2 in ipairs(flatten_upvr(v, var17 - 1)) do
table.insert({}, v_2)
local var24
end
else
table.insert(var24, v)
end
end
return var24
end
return flatten_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:52
-- Luau version 6, Types version 3
-- Time taken: 0.000518 seconds
local copy_upvr = require(script.Parent.copy)
return function(arg1) -- Line 22, Named "freeze"
--[[ Upvalues[1]:
[1]: copy_upvr (readonly)
]]
local copy_upvr_result1 = copy_upvr(arg1)
table.freeze(copy_upvr_result1)
return copy_upvr_result1
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:53
-- Luau version 6, Types version 3
-- Time taken: 0.000912 seconds
local function freezeDeep_upvr(arg1) -- Line 21, Named "freezeDeep"
--[[ Upvalues[1]:
[1]: freezeDeep_upvr (readonly)
]]
local module = {}
for i = 1, #arg1 do
local var3 = arg1[i]
if type(var3) == "table" then
table.insert(module, freezeDeep_upvr(var3))
else
table.insert(module, var3)
end
end
table.freeze(module)
return module
end
return freezeDeep_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:55
-- Luau version 6, Types version 3
-- Time taken: 0.000770 seconds
local find_upvr = require(script.Parent.find)
return function(arg1, arg2, arg3) -- Line 28, Named "includes"
--[[ Upvalues[1]:
[1]: find_upvr (readonly)
]]
local var2
if find_upvr(arg1, arg2, arg3) == nil then
var2 = false
else
var2 = true
end
return var2
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:57
-- Luau version 6, Types version 3
-- Time taken: 0.002085 seconds
return function(arg1, arg2, ...) -- Line 21, Named "insert"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local len = #arg1
local var14
if var14 < 1 then
var14 += len + 1
end
if len < var14 then
if len + 1 < var14 then
return arg1
end
var14 = len + 1
end
for i = 1, len + 1 do
if i == var14 then
for _, v in ipairs({...}) do
table.insert({}, v)
local var20
end
end
table.insert(var20, arg1[i])
end
return var20
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 08:59:59
-- Luau version 6, Types version 3
-- Time taken: 0.001597 seconds
return function(arg1) -- Line 21, Named "is"
local var2 = false
if typeof(arg1) == "table" then
var2 = false
if 0 < #arg1 then
if next(arg1, #arg1) ~= nil then
var2 = false
else
var2 = true
end
end
end
return var2
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:00:00
-- Luau version 6, Types version 3
-- Time taken: 0.000588 seconds
local at_upvr = require(script.Parent.at)
return function(arg1) -- Line 19, Named "last"
--[[ Upvalues[1]:
[1]: at_upvr (readonly)
]]
return at_upvr(arg1, 0)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:00:02
-- Luau version 6, Types version 3
-- Time taken: 0.001116 seconds
return function(arg1, arg2) -- Line 20, Named "map"
for i, v in ipairs(arg1) do
local arg2_result1 = arg2(v, i, arg1)
if arg2_result1 ~= nil then
table.insert({}, arg2_result1)
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return {}
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:00:04
-- Luau version 6, Types version 3
-- Time taken: 0.000880 seconds
return function(arg1, arg2) -- Line 20, Named "pop"
local module = {}
local var4
if type(arg2) == "number" then
else
var4 = 1
end
for i = 1, #arg1 - var4 do
table.insert(module, arg1[i])
end
return module
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:00:05
-- Luau version 6, Types version 3
-- Time taken: 0.001007 seconds
return function(arg1, ...) -- Line 22, Named "push"
local module = {}
for _, v in ipairs(arg1) do
table.insert(module, v)
end
for _, v_2 in ipairs({...}) do
table.insert(module, v_2)
end
return module
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:00:07
-- Luau version 6, Types version 3
-- Time taken: 0.001070 seconds
return function(arg1, arg2, arg3) -- Line 27, Named "reduce"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var5 = 1
if arg3 == nil then
var5 = 2
end
for i = var5, #arg1 do
end
return arg2(arg1[1], arg1[i], i, arg1)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:00:09
-- Luau version 6, Types version 3
-- Time taken: 0.001183 seconds
return function(arg1, arg2, arg3) -- Line 28, Named "reduceRight"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local len = #arg1
if arg3 == nil then
len -= 1
end
for i = len, 1, -1 do
end
return arg2(arg1[len], arg1[i], i, arg1)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:00:11
-- Luau version 6, Types version 3
-- Time taken: 0.001231 seconds
return function(arg1, arg2) -- Line 19, Named "removeIndex"
local var5
if var5 < 1 then
var5 += #arg1
end
for i, v in ipairs(arg1) do
if i ~= var5 then
table.insert({}, v)
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return {}
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:00:12
-- Luau version 6, Types version 3
-- Time taken: 0.001304 seconds
return function(arg1, ...) -- Line 19, Named "removeIndices"
local tbl = {}
for _, v in ipairs({...}) do
if v < 1 then
v += #arg1
end
tbl[v] = true
end
for i_2, v_2 in ipairs(arg1) do
if not tbl[i_2] then
table.insert({}, v_2)
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return {}
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:00:14
-- Luau version 6, Types version 3
-- Time taken: 0.000876 seconds
return function(arg1, arg2) -- Line 18, Named "removeValue"
for _, v in ipairs(arg1) do
if v ~= arg2 then
table.insert({}, v)
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return {}
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:00:16
-- Luau version 6, Types version 3
-- Time taken: 0.001161 seconds
local toSet_upvr = require(script.Parent.toSet)
return function(arg1, ...) -- Line 20, Named "removeValues"
--[[ Upvalues[1]:
[1]: toSet_upvr (readonly)
]]
for _, v in ipairs(arg1) do
if not toSet_upvr({...})[v] then
table.insert({}, v)
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return {}
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:00:18
-- Luau version 6, Types version 3
-- Time taken: 0.000869 seconds
return function(arg1) -- Line 17, Named "reverse"
local module = {}
for i = #arg1, 1, -1 do
table.insert(module, arg1[i])
end
return module
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:00:20
-- Luau version 6, Types version 3
-- Time taken: 0.001043 seconds
return function(arg1, arg2, arg3) -- Line 20, Named "set"
local var5
if var5 < 1 then
var5 += #arg1
end
for i, v in ipairs(arg1) do
if i == var5 then
table.insert({}, arg3)
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
table.insert({}, v)
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return {}
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:00:22
-- Luau version 6, Types version 3
-- Time taken: 0.001162 seconds
return function(arg1, arg2) -- Line 20, Named "shift"
local module = {}
local var4
if type(arg2) == "number" then
var4 += 1
else
var4 = 2
end
for i = var4, #arg1 do
table.insert(module, arg1[i])
end
return module
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:00:23
-- Luau version 6, Types version 3
-- Time taken: 0.001007 seconds
local copy_upvr = require(script.Parent.copy)
return function(arg1) -- Line 19, Named "shuffle"
--[[ Upvalues[1]:
[1]: copy_upvr (readonly)
]]
local random_state = Random.new(os.time() * #arg1)
local copy_upvr_result1 = copy_upvr(arg1)
for i = #copy_upvr_result1, 1, -1 do
local any_NextInteger_result1 = random_state:NextInteger(1, i)
copy_upvr_result1[i] = copy_upvr_result1[any_NextInteger_result1]
copy_upvr_result1[any_NextInteger_result1] = copy_upvr_result1[i]
end
return copy_upvr_result1
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:00:25
-- Luau version 6, Types version 3
-- Time taken: 0.002451 seconds
return function(arg1, arg2, arg3) -- Line 21, Named "slice"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local len = #arg1
local module = {}
local var7
if type(arg2) == "number" then
else
var7 = 1
end
if type(arg3) == "number" then
else
local var8 = len
end
if var7 < 1 then
var7 += len
end
if var8 < 1 then
end
for i = var7, var8 + len do
table.insert(module, arg1[i])
end
return module
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:00:27
-- Luau version 6, Types version 3
-- Time taken: 0.000706 seconds
return function(arg1, arg2) -- Line 24, Named "some"
for i, v in ipairs(arg1) do
if arg2(v, i, arg1) then
return true
end
end
return false
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:00:29
-- Luau version 6, Types version 3
-- Time taken: 0.000779 seconds
local copy_upvr = require(script.Parent.copy)
return function(arg1, arg2) -- Line 22, Named "sort"
--[[ Upvalues[1]:
[1]: copy_upvr (readonly)
]]
local copy_upvr_result1 = copy_upvr(arg1)
table.sort(copy_upvr_result1, arg2)
return copy_upvr_result1
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:00:31
-- Luau version 6, Types version 3
-- Time taken: 0.003706 seconds
return function(arg1, arg2, arg3, ...) -- Line 22, Named "splice"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local len = #arg1
local module = {}
local var19
if type(arg2) == "number" then
else
var19 = 1
end
if type(arg3) == "number" then
else
local var20 = len
end
if var19 < 1 then
var19 += len
end
if var20 < 1 then
end
for i = 1, var19 - 1 do
table.insert(module, arg1[i])
end
for i_2, v in ipairs({...}) do
table.insert(module, v)
end
for i_3 = var20 + len + 1, len do
v = module
i_2 = table.insert
i_2(v, arg1[i_3])
end
return module
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:00:33
-- Luau version 6, Types version 3
-- Time taken: 0.000730 seconds
return function(arg1) -- Line 20, Named "toSet"
local module = {}
for _, v in ipairs(arg1) do
module[v] = true
end
return module
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:00:35
-- Luau version 6, Types version 3
-- Time taken: 0.000919 seconds
return function(arg1, ...) -- Line 22, Named "unshift"
local args_list = {...}
for _, v in ipairs(arg1) do
table.insert(args_list, v)
end
return args_list
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:00:36
-- Luau version 6, Types version 3
-- Time taken: 0.002260 seconds
local function _(arg1, arg2) -- Line 10, Named "call"
if type(arg1) == "function" then
return arg1(arg2)
end
end
local copy_upvr = require(script.Parent.copy)
local Util_upvr = require(script.Parent.Parent.Util)
return function(arg1, arg2, arg3, arg4) -- Line 44, Named "update"
--[[ Upvalues[2]:
[1]: copy_upvr (readonly)
[2]: Util_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var1_result1 = copy_upvr(arg1)
local var4
if var4 < 1 then
var4 += #arg1
end
if type(arg3) == "function" then
else
end
if var1_result1[var4] ~= nil then
var1_result1[var4] = Util_upvr.func.returned(var1_result1[var4], var4)
return var1_result1
end
if type(arg4) == "function" then
else
end
var1_result1[var4] = nil
return var1_result1
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:00:38
-- Luau version 6, Types version 3
-- Time taken: 0.001935 seconds
local reduce_upvr = require(script.Parent.reduce)
return function(...) -- Line 20, Named "zip"
--[[ Upvalues[1]:
[1]: reduce_upvr (readonly)
]]
local args_list = {...}
local module = {}
if select('#', ...) == 0 then
return module
end
local function var10(arg1, arg2) -- Line 30
return math.min(arg1, #arg2)
end
for i = 1, reduce_upvr(args_list, var10, #args_list[1]) do
local tbl = {}
for _, v in ipairs(args_list) do
table.insert(tbl, v[i])
end
table.insert(module, tbl)
end
return module
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:00:40
-- Luau version 6, Types version 3
-- Time taken: 0.001827 seconds
local reduce_upvr = require(script.Parent.reduce)
local None_upvr = require(script.Parent.Parent.None)
return function(...) -- Line 24, Named "zipAll"
--[[ Upvalues[2]:
[1]: reduce_upvr (readonly)
[2]: None_upvr (readonly)
]]
local args_list = {...}
local module = {}
if select('#', ...) == 0 then
return module
end
local function var11(arg1, arg2) -- Line 33
return math.max(arg1, #arg2)
end
for i = 1, reduce_upvr(args_list, var11, #args_list[1]) do
local tbl = {}
for _, v in ipairs(args_list) do
local var16 = v[i]
local var17
if var16 == nil then
var17 = None_upvr
else
var17 = var16
end
table.insert(tbl, var17)
end
table.insert(module, tbl)
end
return module
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:00:41
-- Luau version 6, Types version 3
-- Time taken: 0.002171 seconds
local module = {
copy = require(script.copy);
copyDeep = require(script.copyDeep);
count = require(script.count);
entries = require(script.entries);
equals = require(script.equals);
equalsDeep = require(script.equalsDeep);
every = require(script.every);
filter = require(script.filter);
flatten = require(script.flatten);
flip = require(script.flip);
freeze = require(script.freeze);
freezeDeep = require(script.freezeDeep);
fromArrays = require(script.fromArrays);
fromEntries = require(script.fromEntries);
has = require(script.has);
includes = require(script.includes);
keys = require(script.keys);
map = require(script.map);
merge = require(script.merge);
mergeDeep = require(script.mergeDeep);
removeKey = require(script.removeKey);
removeKeys = require(script.removeKeys);
removeValue = require(script.removeValue);
removeValues = require(script.removeValues);
set = require(script.set);
some = require(script.some);
update = require(script.update);
values = require(script.values);
withKeys = require(script.withKeys);
join = module.merge;
joinDeep = module.mergeDeep;
}
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:00:43
-- Luau version 6, Types version 3
-- Time taken: 0.000307 seconds
return table.clone
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:00:45
-- Luau version 6, Types version 3
-- Time taken: 0.000933 seconds
local function copyDeep_upvr(arg1) -- Line 20, Named "copyDeep"
--[[ Upvalues[1]:
[1]: copyDeep_upvr (readonly)
]]
for i, v in pairs(arg1) do
if type(v) == "table" then
table.clone(arg1)[i] = copyDeep_upvr(v)
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return table.clone(arg1)
end
return copyDeep_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:00:46
-- Luau version 6, Types version 3
-- Time taken: 0.001473 seconds
local Util_upvr = require(script.Parent.Parent.Util)
return function(arg1, arg2) -- Line 25, Named "count"
--[[ Upvalues[1]:
[1]: Util_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var10
if type(arg2) == "function" then
else
var10 = Util_upvr.func.truthy
end
for i, v in pairs(arg1) do
if var10(v, i, arg1) then
end
end
return 0 + 1
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:00:48
-- Luau version 6, Types version 3
-- Time taken: 0.001168 seconds
return function(arg1) -- Line 17, Named "entries"
local module = {}
for i, v in pairs(arg1) do
table.insert(module, {i, v})
end
return module
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:00:50
-- Luau version 6, Types version 3
-- Time taken: 0.003227 seconds
local function compare_upvr(arg1, arg2) -- Line 7, Named "compare"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var18
local function INLINED() -- Internal function, doesn't exist in bytecode
var18 = type(arg2)
return var18 ~= "table"
end
if var18 ~= "table" or INLINED() then
if arg1 ~= arg2 then
var18 = false
else
var18 = true
end
return var18
end
var18 = pairs(arg1)
local pairs_result1_2, pairs_result2_2, pairs_result3 = pairs(arg1)
for i, v in pairs_result1_2, pairs_result2_2, pairs_result3 do
if arg2[i] ~= v then
return false
end
end
pairs_result1_2 = pairs(arg2)
local pairs_result1, pairs_result2, pairs_result3_2 = pairs(arg2)
for i_2, v_2 in pairs_result1, pairs_result2, pairs_result3_2 do
if arg1[i_2] ~= v_2 then
return false
end
end
pairs_result1 = true
return pairs_result1
end
local Util_upvr = require(script.Parent.Parent.Util)
return function(...) -- Line 45, Named "equals"
--[[ Upvalues[2]:
[1]: Util_upvr (readonly)
[2]: compare_upvr (readonly)
]]
if Util_upvr.equalObjects(...) then
return true
end
for i_3 = 2, select('#', ...) do
if not compare_upvr(select(1, ...), select(i_3, ...)) then
return false
end
end
return true
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:00:52
-- Luau version 6, Types version 3
-- Time taken: 0.003501 seconds
local function compareDeep_upvr(arg1, arg2) -- Line 7, Named "compareDeep"
--[[ Upvalues[1]:
[1]: compareDeep_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var18
local function INLINED() -- Internal function, doesn't exist in bytecode
var18 = type(arg2)
return var18 ~= "table"
end
if var18 ~= "table" or INLINED() then
if arg1 ~= arg2 then
var18 = false
else
var18 = true
end
return var18
end
var18 = pairs(arg1)
local pairs_result1_2, pairs_result2_2, pairs_result3 = pairs(arg1)
for i, v in pairs_result1_2, pairs_result2_2, pairs_result3 do
if not compareDeep_upvr(v, arg2[i]) then
return false
end
end
pairs_result1_2 = pairs(arg2)
local pairs_result1, pairs_result2, pairs_result3_2 = pairs(arg2)
for i_2, v_2 in pairs_result1, pairs_result2, pairs_result3_2 do
if not compareDeep_upvr(v_2, arg1[i_2]) then
return false
end
end
pairs_result1 = true
return pairs_result1
end
local Util_upvr = require(script.Parent.Parent.Util)
return function(...) -- Line 45, Named "equalsDeep"
--[[ Upvalues[2]:
[1]: Util_upvr (readonly)
[2]: compareDeep_upvr (readonly)
]]
if Util_upvr.equalObjects(...) then
return true
end
for i_3 = 2, select('#', ...) do
if not compareDeep_upvr(select(1, ...), select(i_3, ...)) then
return false
end
end
return true
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:00:53
-- Luau version 6, Types version 3
-- Time taken: 0.000684 seconds
return function(arg1, arg2) -- Line 24, Named "every"
for i, v in pairs(arg1) do
if not arg2(v, i, arg1) then
return false
end
end
return true
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:00:55
-- Luau version 6, Types version 3
-- Time taken: 0.001128 seconds
local Util_upvr = require(script.Parent.Parent.Util)
return function(arg1, arg2) -- Line 24, Named "filter"
--[[ Upvalues[1]:
[1]: Util_upvr (readonly)
]]
local var6
if type(arg2) == "function" then
else
var6 = Util_upvr.func.truthy
end
for i, v in pairs(arg1) do
if var6(v, i, arg1) then
({})[i] = v
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return {}
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:00:57
-- Luau version 6, Types version 3
-- Time taken: 0.002265 seconds
local function flatten_upvr(arg1, arg2) -- Line 30, Named "flatten"
--[[ Upvalues[1]:
[1]: flatten_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var17
if type(arg2) == "number" then
else
var17 = math.huge
end
for i, v in pairs(arg1) do
if type(v) == "table" and 0 < var17 then
for i_2, v_2 in pairs({}) do
flatten_upvr(v, var17 - 1)[i_2] = v_2
local var25
end
else
var25[i] = v
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return var25
end
return flatten_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:00:58
-- Luau version 6, Types version 3
-- Time taken: 0.000611 seconds
return function(arg1) -- Line 17, Named "flip"
local module = {}
for i, v in pairs(arg1) do
module[v] = i
end
return module
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:01:00
-- Luau version 6, Types version 3
-- Time taken: 0.000544 seconds
local copy_upvr = require(script.Parent.copy)
return function(arg1) -- Line 23, Named "freeze"
--[[ Upvalues[1]:
[1]: copy_upvr (readonly)
]]
local copy_upvr_result1 = copy_upvr(arg1)
table.freeze(copy_upvr_result1)
return copy_upvr_result1
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:01:02
-- Luau version 6, Types version 3
-- Time taken: 0.000936 seconds
local function freezeDeep_upvr(arg1) -- Line 22, Named "freezeDeep"
--[[ Upvalues[1]:
[1]: freezeDeep_upvr (readonly)
]]
local module = {}
for i, v in pairs(arg1) do
if type(v) == "table" then
module[i] = freezeDeep_upvr(v)
else
module[i] = v
end
end
table.freeze(module)
return module
end
return freezeDeep_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:01:04
-- Luau version 6, Types version 3
-- Time taken: 0.001035 seconds
return function(arg1, arg2) -- Line 20, Named "fromArrays"
local module = {}
for i = 1, #arg1 do
module[arg1[i]] = arg2[i]
end
return module
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:01:05
-- Luau version 6, Types version 3
-- Time taken: 0.000960 seconds
return function(arg1) -- Line 17, Named "fromEntries"
local module = {}
for _, v in ipairs(arg1) do
module[v[1]] = v[2]
end
return module
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:01:07
-- Luau version 6, Types version 3
-- Time taken: 0.000608 seconds
return function(arg1, arg2) -- Line 21, Named "has"
local var1
if arg1[arg2] == nil then
var1 = false
else
var1 = true
end
return var1
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:01:08
-- Luau version 6, Types version 3
-- Time taken: 0.000831 seconds
return function(arg1, arg2) -- Line 19, Named "includes"
for _, v in pairs(arg1) do
if v == arg2 then
return true
end
end
return false
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:01:10
-- Luau version 6, Types version 3
-- Time taken: 0.000721 seconds
return function(arg1) -- Line 17, Named "keys"
local module = {}
for i in pairs(arg1) do
table.insert(module, i)
end
return module
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:01:12
-- Luau version 6, Types version 3
-- Time taken: 0.001056 seconds
return function(arg1, arg2) -- Line 26, Named "map"
local module = {}
for i, v in pairs(arg1) do
local arg2_result1, arg2_result2 = arg2(v, i, arg1)
module[arg2_result2 or i] = arg2_result1
end
return module
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:01:14
-- Luau version 6, Types version 3
-- Time taken: 0.001808 seconds
local None_upvr = require(script.Parent.Parent.None)
return function(...) -- Line 27, Named "merge"
--[[ Upvalues[1]:
[1]: None_upvr (readonly)
]]
for i = 1, select('#', ...) do
local selected_arg = select(i, ...)
if type(selected_arg) == "table" then
for i_2, v in pairs(selected_arg) do
local var12
if v == None_upvr then
var12 = nil
else
var12 = v
end
;({})[i_2] = var12
end
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return {}
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:01:15
-- Luau version 6, Types version 3
-- Time taken: 0.002295 seconds
local None_upvr = require(script.Parent.Parent.None)
local copyDeep_upvr = require(script.Parent.copyDeep)
local function mergeDeep_upvr(...) -- Line 28, Named "mergeDeep"
--[[ Upvalues[3]:
[1]: None_upvr (readonly)
[2]: copyDeep_upvr (readonly)
[3]: mergeDeep_upvr (readonly)
]]
local module = {}
for i = 1, select('#', ...) do
local selected_arg = select(i, ...)
if type(selected_arg) == "table" then
for i_2, v in pairs(selected_arg) do
if v == None_upvr then
module[i_2] = nil
elseif type(v) == "table" then
if module[i_2] == nil or type(module[i_2]) ~= "table" then
module[i_2] = copyDeep_upvr(v)
else
module[i_2] = mergeDeep_upvr(module[i_2], v)
end
else
module[i_2] = v
end
end
end
end
return module
end
return mergeDeep_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:01:17
-- Luau version 6, Types version 3
-- Time taken: 0.000851 seconds
local copy_upvr = require(script.Parent.copy)
return function(arg1, arg2) -- Line 21, Named "removeKey"
--[[ Upvalues[1]:
[1]: copy_upvr (readonly)
]]
local copy_upvr_result1 = copy_upvr(arg1)
copy_upvr_result1[arg2] = nil
return copy_upvr_result1
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:01:18
-- Luau version 6, Types version 3
-- Time taken: 0.000863 seconds
local copy_upvr = require(script.Parent.copy)
return function(arg1, ...) -- Line 20, Named "removeKeys"
--[[ Upvalues[1]:
[1]: copy_upvr (readonly)
]]
local var1_result1 = copy_upvr(arg1)
for _, v in ipairs({...}) do
var1_result1[v] = nil
end
return var1_result1
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:01:20
-- Luau version 6, Types version 3
-- Time taken: 0.000892 seconds
return function(arg1, arg2) -- Line 19, Named "removeValue"
for i, v in pairs(arg1) do
if v ~= arg2 then
({})[i] = v
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return {}
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:01:21
-- Luau version 6, Types version 3
-- Time taken: 0.000894 seconds
local toSet_upvr = require(script.Parent.Parent.Array.toSet)
return function(arg1, ...) -- Line 23, Named "removeValues"
--[[ Upvalues[1]:
[1]: toSet_upvr (readonly)
]]
for i, v in pairs(arg1) do
if not toSet_upvr({...})[v] then
({})[i] = v
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return {}
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:01:23
-- Luau version 6, Types version 3
-- Time taken: 0.000514 seconds
local copy_upvr = require(script.Parent.copy)
return function(arg1, arg2, arg3) -- Line 21, Named "set"
--[[ Upvalues[1]:
[1]: copy_upvr (readonly)
]]
local copy_upvr_result1 = copy_upvr(arg1)
copy_upvr_result1[arg2] = arg3
return copy_upvr_result1
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:01:24
-- Luau version 6, Types version 3
-- Time taken: 0.000722 seconds
return function(arg1, arg2) -- Line 24, Named "some"
for i, v in pairs(arg1) do
if arg2(v, i, arg1) then
return true
end
end
return false
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:01:26
-- Luau version 6, Types version 3
-- Time taken: 0.001541 seconds
local function _(arg1, arg2) -- Line 7, Named "call"
if type(arg1) == "function" then
return arg1(arg2)
end
end
local copy_upvr = require(script.Parent.copy)
return function(arg1, arg2, arg3, arg4) -- Line 39, Named "update"
--[[ Upvalues[1]:
[1]: copy_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local var1_result1 = copy_upvr(arg1)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [7] 7. Error Block 3 start (CF ANALYSIS FAILED)
var1_result1[arg2] = arg3(var1_result1[arg2], arg2)
do
return var1_result1
end
local var3
-- KONSTANTERROR: [7] 7. Error Block 3 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [13] 13. Error Block 12 start (CF ANALYSIS FAILED)
if arg4 then
if type(arg4) == "function" then
var3 = arg4(arg2)
else
var3 = nil
end
var1_result1[arg2] = var3
end
-- KONSTANTERROR: [13] 13. Error Block 12 end (CF ANALYSIS FAILED)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:01:27
-- Luau version 6, Types version 3
-- Time taken: 0.000702 seconds
return function(arg1) -- Line 17, Named "values"
local module = {}
for _, v in pairs(arg1) do
table.insert(module, v)
end
return module
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:01:29
-- Luau version 6, Types version 3
-- Time taken: 0.001005 seconds
return function(arg1, ...) -- Line 19, Named "withKeys"
local module = {}
for _, v in ipairs({...}) do
module[v] = arg1[v]
end
return module
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:01:31
-- Luau version 6, Types version 3
-- Time taken: 0.000564 seconds
local newproxy_result1 = newproxy(true)
getmetatable(newproxy_result1).__tostring = function() -- Line 12
return "Sift.None"
end
return newproxy_result1
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:01:33
-- Luau version 6, Types version 3
-- Time taken: 0.001200 seconds
local module = {
add = require(script.add);
copy = require(script.copy);
count = require(script.count);
delete = require(script.delete);
difference = require(script.difference);
differenceSymmetric = require(script.differenceSymmetric);
filter = require(script.filter);
fromArray = require(script.fromArray);
has = require(script.has);
intersection = require(script.intersection);
isSubset = require(script.isSubset);
isSuperset = require(script.isSuperset);
map = require(script.map);
merge = require(script.merge);
toArray = require(script.toArray);
fromList = module.fromArray;
join = module.merge;
subtract = module.delete;
union = module.merge;
}
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:01:34
-- Luau version 6, Types version 3
-- Time taken: 0.001369 seconds
return function(arg1, ...) -- Line 18, Named "add"
local module = {}
for i, _ in pairs(arg1) do
module[i] = true
end
for _, v_2 in ipairs({...}) do
module[v_2] = true
end
return module
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:01:36
-- Luau version 6, Types version 3
-- Time taken: 0.000487 seconds
return require(script.Parent.Parent.Dictionary.copy)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:01:38
-- Luau version 6, Types version 3
-- Time taken: 0.001426 seconds
local Util_upvr = require(script.Parent.Parent.Util)
return function(arg1, arg2) -- Line 25, Named "count"
--[[ Upvalues[1]:
[1]: Util_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var10
if type(arg2) == "function" then
else
var10 = Util_upvr.func.truthy
end
for i, _ in pairs(arg1) do
if var10(i, arg1) then
end
end
return 0 + 1
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:01:40
-- Luau version 6, Types version 3
-- Time taken: 0.000935 seconds
return function(arg1, ...) -- Line 20, Named "delete"
local module = {}
for i, _ in pairs(arg1) do
module[i] = true
end
for _, v_2 in ipairs({...}) do
module[v_2] = nil
end
return module
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:01:41
-- Luau version 6, Types version 3
-- Time taken: 0.001300 seconds
return function(arg1, ...) -- Line 21, Named "difference"
local clone = table.clone(arg1)
for _, v in {...} do
if typeof(v) == "table" then
for i_2 in v do
clone[i_2] = nil
end
end
end
return clone
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:01:43
-- Luau version 6, Types version 3
-- Time taken: 0.001553 seconds
return function(arg1, ...) -- Line 21, Named "differenceSymmetric"
local clone = table.clone(arg1)
for _, v in {...} do
if typeof(v) == "table" then
for i_2 in v do
local var13
if clone[i_2] == nil then
var13 = true
else
var13 = false
end
clone[i_2] = var13
end
end
end
local var14
for i_3, v_2 in clone do
if v_2 then
var14 = true
else
var14 = nil
end
clone[i_3] = var14
end
return clone
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:01:45
-- Luau version 6, Types version 3
-- Time taken: 0.001581 seconds
local Util_upvr = require(script.Parent.Parent.Util)
return function(arg1, arg2) -- Line 24, Named "filter"
--[[ Upvalues[1]:
[1]: Util_upvr (readonly)
]]
local var6
if type(arg2) == "function" then
else
var6 = Util_upvr.func.truthy
end
for i, _ in pairs(arg1) do
if var6(i, arg1) then
({})[i] = true
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return {}
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:01:47
-- Luau version 6, Types version 3
-- Time taken: 0.000706 seconds
return function(arg1) -- Line 20, Named "fromArray"
local table_create_result1 = table.create(#arg1)
for _, v in ipairs(arg1) do
table_create_result1[v] = true
end
return table_create_result1
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:01:49
-- Luau version 6, Types version 3
-- Time taken: 0.000703 seconds
return function(arg1, arg2) -- Line 18, Named "has"
local var1
if arg1[arg2] ~= true then
var1 = false
else
var1 = true
end
return var1
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:01:51
-- Luau version 6, Types version 3
-- Time taken: 0.000750 seconds
return function(...) -- Line 20, Named "intersection"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local _, pairs_result2, _ = pairs(select(1, ...))
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [20] 17. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [20] 17. Error Block 2 end (CF ANALYSIS FAILED)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:01:53
-- Luau version 6, Types version 3
-- Time taken: 0.000636 seconds
return function(arg1, arg2) -- Line 19, Named "isSubset"
for i, v in pairs(arg1) do
if arg2[i] ~= v then
return false
end
end
return true
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:01:56
-- Luau version 6, Types version 3
-- Time taken: 0.000600 seconds
local isSubset_upvr = require(script.Parent.isSubset)
return function(arg1, arg2) -- Line 21, Named "isSuperset"
--[[ Upvalues[1]:
[1]: isSubset_upvr (readonly)
]]
return isSubset_upvr(arg2, arg1)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:01:58
-- Luau version 6, Types version 3
-- Time taken: 0.000920 seconds
return function(arg1, arg2) -- Line 20, Named "map"
for i, _ in pairs(arg1) do
local arg2_result1 = arg2(i, arg1)
if arg2_result1 ~= nil then
({})[arg2_result1] = true
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return {}
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:02:01
-- Luau version 6, Types version 3
-- Time taken: 0.001039 seconds
return function(...) -- Line 20, Named "merge"
local module = {}
for i = 1, select('#', ...) do
local selected_arg = select(i, ...)
if type(selected_arg) == "table" then
for i_2, _ in pairs(selected_arg) do
module[i_2] = true
end
end
end
return module
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:02:03
-- Luau version 6, Types version 3
-- Time taken: 0.000689 seconds
return function(arg1) -- Line 17, Named "toArray"
local module = {}
for i, _ in pairs(arg1) do
table.insert(module, i)
end
return module
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:02:05
-- Luau version 6, Types version 3
-- Time taken: 0.000259 seconds
return nil
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:02:07
-- Luau version 6, Types version 3
-- Time taken: 0.000397 seconds
return {
equalObjects = require(script.equalObjects);
func = require(script.func);
isEmpty = require(script.isEmpty);
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:02:09
-- Luau version 6, Types version 3
-- Time taken: 0.000743 seconds
return function(...) -- Line 20, Named "equalObjects"
for i = 2, select('#', ...) do
if select(1, ...) ~= select(i, ...) then
return false
end
end
return true
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:02:11
-- Luau version 6, Types version 3
-- Time taken: 0.000875 seconds
return {
truthy = function() -- Line 1, Named "truthy"
return true
end;
noop = function() -- Line 5, Named "noop"
end;
returned = function(...) -- Line 7, Named "returned"
return ...
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:02:13
-- Luau version 6, Types version 3
-- Time taken: 0.000815 seconds
return function(arg1) -- Line 22, Named "isEmpty"
local var1
if next(arg1) ~= nil then
var1 = false
else
var1 = true
end
return var1
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:02:15
-- Luau version 6, Types version 3
-- Time taken: 0.000919 seconds
return {
Time = require(script.Time);
Vector = require(script.Vector);
Instance = require(script.InstanceUtility);
Table = require(script.Table);
Number = require(script.Number);
Camera = require(script.Camera);
Character = require(script.Character);
RobloxGroup = require(script.RobloxGroup);
Accessory = require(script.Accessory);
BufferReader = require(script.BufferReader);
BufferWriter = require(script.BufferWriter);
MD5 = require(script.MD5);
Stack = require(script.Stack);
fzy = require(script.fzy);
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:02:17
-- Luau version 6, Types version 3
-- Time taken: 0.001670 seconds
return {
isAssetTypeAccessory = function(arg1) -- Line 25, Named "isAssetTypeAccessory"
local var2
if var2 ~= "EnumItem" then
var2 = false
return var2
end
if string.find(arg1.Name, "Accessory") then
var2 = true
return var2
end
if arg1 ~= Enum.AssetType.Hat then
var2 = false
else
var2 = true
end
return var2
end;
matchAssetTypeToAccessoryType = function(arg1) -- Line 48, Named "matchAssetTypeToAccessoryType"
if typeof(arg1) ~= "EnumItem" or not arg1.Name then
return Enum.AccessoryType.Unknown
end
for _, v in Enum.AccessoryType:GetEnumItems() do
if string.gsub(arg1.Name, "Accessory", "") == v.Name then
return v
end
end
return Enum.AccessoryType.Unknown
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:02:19
-- Luau version 6, Types version 3
-- Time taken: 0.005153 seconds
local module_2_upvr = {
prototype = {};
interface = {};
}
module_2_upvr.prototype.Readb8 = function(arg1) -- Line 33, Named "Readb8"
local table_create_result1 = table.create(8, false)
for i = 0, 7 do
local var5
if bit32.band(buffer.readu8(arg1.Buffer, arg1.Offset), bit32.lshift(1, i)) == 0 then
var5 = false
else
var5 = true
end
table_create_result1[i + 1] = var5
end
arg1.Offset += 1
return table_create_result1
end
module_2_upvr.prototype.Readu8 = function(arg1) -- Line 46, Named "Readu8"
arg1.Offset += 1
return buffer.readu8(arg1.Buffer, arg1.Offset)
end
module_2_upvr.prototype.Readu16 = function(arg1) -- Line 52, Named "Readu16"
arg1.Offset += 2
return buffer.readu16(arg1.Buffer, arg1.Offset)
end
module_2_upvr.prototype.Readu24 = function(arg1) -- Line 58, Named "Readu24"
arg1.Offset += 3
return bit32.bor(bit32.lshift(buffer.readu8(arg1.Buffer, arg1.Offset + 2), 16), bit32.lshift(buffer.readu8(arg1.Buffer, arg1.Offset + 1), 8), buffer.readu8(arg1.Buffer, arg1.Offset))
end
module_2_upvr.prototype.Readu32 = function(arg1) -- Line 69, Named "Readu32"
arg1.Offset += 4
return buffer.readu32(arg1.Buffer, arg1.Offset)
end
module_2_upvr.prototype.Readu40 = function(arg1) -- Line 75, Named "Readu40"
arg1.Offset += 5
return buffer.readu8(arg1.Buffer, arg1.Offset + 4) * 4294967296 + bit32.lshift(buffer.readu8(arg1.Buffer, arg1.Offset + 3), 24) + bit32.lshift(buffer.readu8(arg1.Buffer, arg1.Offset + 2), 16) + bit32.lshift(buffer.readu8(arg1.Buffer, arg1.Offset + 1), 8) + buffer.readu8(arg1.Buffer, arg1.Offset)
end
module_2_upvr.prototype.Readi8 = function(arg1) -- Line 92, Named "Readi8"
arg1.Offset += 1
return buffer.readi8(arg1.Buffer, arg1.Offset)
end
module_2_upvr.prototype.Readi16 = function(arg1) -- Line 98, Named "Readi16"
arg1.Offset += 2
return buffer.readi16(arg1.Buffer, arg1.Offset)
end
module_2_upvr.prototype.Readi32 = function(arg1) -- Line 104, Named "Readi32"
arg1.Offset += 4
return buffer.readi32(arg1.Buffer, arg1.Offset)
end
module_2_upvr.prototype.Readf32 = function(arg1) -- Line 110, Named "Readf32"
arg1.Offset += 4
return buffer.readf32(arg1.Buffer, arg1.Offset)
end
module_2_upvr.prototype.Readf64 = function(arg1) -- Line 116, Named "Readf64"
arg1.Offset += 8
return buffer.readf64(arg1.Buffer, arg1.Offset)
end
module_2_upvr.prototype.ReadString = function(arg1, arg2) -- Line 122, Named "ReadString"
arg1.Offset += arg2
return buffer.readstring(arg1.Buffer, arg1.Offset, arg2)
end
module_2_upvr.prototype.ReadVarLenString = function(arg1) -- Line 130, Named "ReadVarLenString"
local buffer_readu8_result1 = buffer.readu8(arg1.Buffer, arg1.Offset)
arg1.Offset += buffer_readu8_result1 + 1
return buffer.readstring(arg1.Buffer, arg1.Offset + 1, buffer_readu8_result1)
end
module_2_upvr.interface.new = function(arg1) -- Line 137, Named "new"
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
local module = {}
module.Buffer = arg1
module.Offset = 0
return setmetatable(module, {
__index = module_2_upvr.prototype;
})
end
module_2_upvr.interface.fromString = function(arg1) -- Line 149, Named "fromString"
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
return setmetatable({
Buffer = buffer.fromstring(arg1);
Offset = 0;
}, {
__index = module_2_upvr.prototype;
})
end
return module_2_upvr.interface
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:02:21
-- Luau version 6, Types version 3
-- Time taken: 0.010374 seconds
local module_upvr = {
prototype = {};
interface = {};
}
module_upvr.prototype.Fit = function(arg1) -- Line 35, Named "Fit"
local buffer_create_result1 = buffer.create(arg1.Offset)
buffer.copy(buffer_create_result1, 0, arg1.Buffer, 0, arg1.Offset)
arg1.Buffer = buffer_create_result1
end
module_upvr.prototype.Writeb8 = function(arg1, ...) -- Line 41, Named "Writeb8"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local args_list = {...}
local var8
if #args_list > 8 then
var8 = false
else
var8 = true
end
assert(var8, "writeb8 allows only up to 8 booleans to be written")
var8 = #args_list - 1
for i = 0, var8 do
local var9
if type(args_list[i + 1]) ~= "boolean" then
var9 = false
else
var9 = true
end
assert(var9, "writeb8 only allows booleans to be written")
if args_list[i + 1] then
else
end
var9 = 0
end
var8 = buffer.writeu8
var8(arg1.Buffer, arg1.Offset, bit32.bor(var9, bit32.lshift(0, i)))
var8 = arg1.Offset
var8 += 1
arg1.Offset = var8
end
module_upvr.prototype.Writeu8 = function(arg1, arg2) -- Line 54, Named "Writeu8"
local var10 = false
if 0 <= arg2 then
if arg2 > 255 then
var10 = false
else
var10 = true
end
end
assert(var10, "number is out of range [0..255]")
buffer.writeu8(arg1.Buffer, arg1.Offset, arg2)
arg1.Offset += 1
end
module_upvr.prototype.Writeu16 = function(arg1, arg2) -- Line 61, Named "Writeu16"
local var11 = false
if 0 <= arg2 then
if arg2 >= 65536 then
var11 = false
else
var11 = true
end
end
assert(var11, "number is out of range [0..65,536]")
buffer.writeu16(arg1.Buffer, arg1.Offset, arg2)
arg1.Offset += 2
end
module_upvr.prototype.Writeu24 = function(arg1, arg2) -- Line 68, Named "Writeu24"
local var12 = false
if 0 <= arg2 then
if arg2 > 16777215 then
var12 = false
else
var12 = true
end
end
assert(var12, "number is out of range [0..16,777,215]")
buffer.writeu8(arg1.Buffer, arg1.Offset, bit32.band(arg2, 255))
buffer.writeu8(arg1.Buffer, arg1.Offset + 1, bit32.band(bit32.rshift(arg2, 8), 255))
buffer.writeu8(arg1.Buffer, arg1.Offset + 2, bit32.band(bit32.rshift(arg2, 16), 255))
arg1.Offset += 3
end
module_upvr.prototype.Writeu32 = function(arg1, arg2) -- Line 78, Named "Writeu32"
local var13 = false
if 0 <= arg2 then
if arg2 > 4294967296 then
var13 = false
else
var13 = true
end
end
assert(var13, "number is out of range [0..4,294,967,296]")
buffer.writeu32(arg1.Buffer, arg1.Offset, arg2)
arg1.Offset += 4
end
module_upvr.prototype.Writeu40 = function(arg1, arg2) -- Line 85, Named "Writeu40"
local var16 = false
if 0 <= arg2 then
if arg2 > 1099511627775 then
var16 = false
else
var16 = true
end
end
assert(var16, "number is out of range [0..1,099,511,627,775]")
for i_2 = 0, 4 do
buffer.writeu8(arg1.Buffer, arg1.Offset + i_2, bit32.band(arg2, 255))
end
arg1.Offset += 5
end
module_upvr.prototype.Writei8 = function(arg1, arg2) -- Line 96, Named "Writei8"
local var17 = false
if -128 <= arg2 then
if arg2 > 127 then
var17 = false
else
var17 = true
end
end
assert(var17, "number is out of range [-128..127]")
buffer.writei8(arg1.Buffer, arg1.Offset, arg2)
arg1.Offset += 1
end
module_upvr.prototype.Writei16 = function(arg1, arg2) -- Line 103, Named "Writei16"
local var18 = false
if -32768 <= arg2 then
if arg2 > 32767 then
var18 = false
else
var18 = true
end
end
assert(var18, "number is out of range [-32,768..32,767]")
buffer.writei16(arg1.Buffer, arg1.Offset, arg2)
arg1.Offset += 2
end
module_upvr.prototype.Writei32 = function(arg1, arg2) -- Line 110, Named "Writei32"
local var19 = false
if -2147483648 <= arg2 then
if arg2 > 2147483647 then
var19 = false
else
var19 = true
end
end
assert(var19, "number is out of range [-2,147,483,648..2,147,483,647]")
buffer.writei8(arg1.Buffer, arg1.Offset, arg2)
arg1.Offset += 4
end
module_upvr.prototype.Writef32 = function(arg1, arg2) -- Line 117, Named "Writef32"
buffer.writef32(arg1.Buffer, arg1.Offset, arg2)
arg1.Offset += 4
end
module_upvr.prototype.Writef64 = function(arg1, arg2) -- Line 122, Named "Writef64"
buffer.writef64(arg1.Buffer, arg1.Offset, arg2)
arg1.Offset += 8
end
module_upvr.prototype.WriteString = function(arg1, arg2, arg3) -- Line 127, Named "WriteString"
buffer.writestring(arg1.Buffer, arg1.Offset, arg2, arg3)
arg1.Offset += arg3
end
module_upvr.prototype.WriteVarLenString = function(arg1, arg2) -- Line 134, Named "WriteVarLenString"
local string_len_result1 = string.len(arg2)
buffer.writeu8(arg1.Buffer, arg1.Offset, string_len_result1)
buffer.writestring(arg1.Buffer, arg1.Offset + 1, arg2, string_len_result1)
arg1.Offset += string_len_result1 + 1
end
module_upvr.interface.new = function(arg1) -- Line 141, Named "new"
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
return setmetatable({
Buffer = buffer.create(arg1);
Offset = 0;
}, {
__index = module_upvr.prototype;
})
end
module_upvr.interface.fromString = function(arg1) -- Line 153, Named "fromString"
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
return setmetatable({
Buffer = buffer.fromstring(arg1);
Offset = 0;
}, {
__index = module_upvr.prototype;
})
end
return module_upvr.interface
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:02:23
-- Luau version 6, Types version 3
-- Time taken: 0.001863 seconds
return {
zoomToExtents = function(arg1, arg2) -- Line 21, Named "zoomToExtents"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var2
if not var2 or not arg2:GetPivot() then
end
local function INLINED() -- Internal function, doesn't exist in bytecode
var2 = arg2:GetExtentsSize()
return var2
end
if not arg2:IsA("Model") or not INLINED() then
var2 = arg2.Size
end
local var3 = arg1.CFrame - arg1.CFrame.Position
local Position = arg2.CFrame.Position
arg1.CFrame = var3 + Position + (-var3.LookVector) * (var2.Magnitude / 2 / math.tan(math.rad(arg1.FieldOfView / 2)))
arg1.Focus = var3 + Position
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:02:24
-- Luau version 6, Types version 3
-- Time taken: 0.007791 seconds
local TweenService_upvr = game:GetService("TweenService")
local tbl_5_upvr = {}
local tbl_3_upvr = {}
local module_upvr = {
cloneCharacter = function(arg1, arg2) -- Line 29, Named "cloneCharacter"
if typeof(arg1) ~= "Instance" or not arg1:IsA("Model") then return end
arg1.Archivable = true
local clone = arg1:Clone()
arg1.Archivable = false
local HumanoidRootPart_2 = clone:FindFirstChild("HumanoidRootPart")
local class_Humanoid = clone:FindFirstChildOfClass("Humanoid")
if not class_Humanoid or not HumanoidRootPart_2 then return end
HumanoidRootPart_2.Anchored = arg2 or false
class_Humanoid.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None
return clone
end;
}
local Players_upvr = game:GetService("Players")
function module_upvr.setCharacterTransparency(arg1, arg2, arg3) -- Line 72
--[[ Upvalues[5]:
[1]: module_upvr (readonly)
[2]: tbl_5_upvr (readonly)
[3]: tbl_3_upvr (readonly)
[4]: TweenService_upvr (readonly)
[5]: Players_upvr (readonly)
]]
if typeof(arg2) ~= "number" then
else
if arg2 == 0 then
module_upvr.resetCharacterTransparency(arg1, arg3)
return
end
if not tbl_5_upvr[arg1] then
tbl_5_upvr[arg1] = {}
elseif tbl_5_upvr[arg1] and not tbl_5_upvr[arg1]:IsDescendantOf(workspace) then
tbl_5_upvr[arg1] = nil
if tbl_3_upvr[arg1.Name] then
tbl_3_upvr[arg1.Name]:Disconnect()
tbl_3_upvr[arg1.Name] = nil
end
end
if #arg1:GetDescendants() == 0 and not arg1:WaitForChild("HumanoidRootPart", 5) then return end
for _, v in arg1:GetDescendants() do
if v:IsA("BasePart") or v:IsA("Decal") then
if not tbl_5_upvr[arg1][v] then
tbl_5_upvr[arg1][v] = v.Transparency
end
if arg3 then
local tbl_6 = {}
tbl_6.Transparency = arg2
TweenService_upvr:Create(v, arg3, tbl_6):Play()
else
v.Transparency = arg2
end
end
end
tbl_3_upvr[arg1.Name] = arg1.DescendantAdded:Connect(function(arg1_4) -- Line 116
--[[ Upvalues[5]:
[1]: tbl_5_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: arg3 (readonly)
[4]: TweenService_upvr (copied, readonly)
[5]: arg2 (readonly)
]]
if arg1_4:IsA("BasePart") or arg1_4:IsA("Decal") then
if not tbl_5_upvr[arg1][arg1_4] then
tbl_5_upvr[arg1][arg1_4] = arg1_4.Transparency
end
if arg3 then
local tbl = {}
tbl.Transparency = arg2
TweenService_upvr:Create(arg1_4, arg3, tbl):Play()
return
end
arg1_4.Transparency = arg2
end
end)
local any_GetPlayerFromCharacter_result1 = Players_upvr:GetPlayerFromCharacter(arg1)
if any_GetPlayerFromCharacter_result1 then
any_GetPlayerFromCharacter_result1.CharacterRemoving:Once(function(arg1_5) -- Line 133
--[[ Upvalues[2]:
[1]: tbl_3_upvr (copied, readonly)
[2]: tbl_5_upvr (copied, readonly)
]]
if tbl_3_upvr[arg1_5.Name] then
tbl_3_upvr[arg1_5.Name]:Disconnect()
tbl_3_upvr[arg1_5.Name] = nil
end
if tbl_5_upvr[arg1_5] then
tbl_5_upvr[arg1_5] = nil
end
end)
end
end
end
function module_upvr.resetCharacterTransparency(arg1, arg2) -- Line 166
--[[ Upvalues[3]:
[1]: tbl_5_upvr (readonly)
[2]: TweenService_upvr (readonly)
[3]: tbl_3_upvr (readonly)
]]
if not next(tbl_5_upvr) or not tbl_5_upvr[arg1] then
else
for i_2, v_2 in tbl_5_upvr[arg1] do
if arg2 then
TweenService_upvr:Create(i_2, arg2, {
Transparency = v_2;
}):Play()
else
i_2.Transparency = v_2
end
end
tbl_3_upvr[arg1.Name]:Disconnect()
tbl_3_upvr[arg1.Name] = nil
tbl_5_upvr[arg1] = nil
end
end
function module_upvr.setCharacterFrozen(arg1, arg2) -- Line 198
local var32
if typeof(arg2) == "boolean" then
else
var32 = true
end
local HumanoidRootPart = arg1:FindFirstChild("HumanoidRootPart")
if HumanoidRootPart then
HumanoidRootPart.Anchored = var32
end
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:02:26
-- Luau version 6, Types version 3
-- Time taken: 0.007106 seconds
local CollectionService_upvr = game:GetService("CollectionService")
local module = {
verifyInstance = function(arg1, arg2, arg3, arg4) -- Line 43, Named "verifyInstance"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 31 start (CF ANALYSIS FAILED)
local var3
if var3 ~= "string" then
var3 = warn
var3(`Expected instanceType to be of type string, got {typeof(arg2)}`)
var3 = nil
return var3
end
if typeof(arg3) == "Instance" then
var3 = arg3
else
var3 = workspace
end
if typeof(arg4) == "number" then
-- KONSTANTWARNING: GOTO [42] #33
end
-- KONSTANTERROR: [0] 1. Error Block 31 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [41] 32. Error Block 33 start (CF ANALYSIS FAILED)
local const_number = 0
if 0 < const_number then
local _ = var3:WaitForChild(arg1, const_number)
else
end
if var3:FindFirstChild(arg1) and var3:FindFirstChild(arg1):IsA(arg2) then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return var3:FindFirstChild(arg1)
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if var3:FindFirstChild(arg1) then
warn(`Found instance '{arg1}' is not of type '{arg2}', creating new instance of given type`)
end
local any = Instance.new(arg2)
any.Name = arg1
any.Parent = arg3
do
return any
end
-- KONSTANTERROR: [41] 32. Error Block 33 end (CF ANALYSIS FAILED)
end;
waitForChildren = function(arg1, arg2, arg3) -- Line 100, Named "waitForChildren"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var15
if typeof(arg3) == "number" then
else
var15 = 5
end
for _, v in arg2:split('.'), nil do
local SOME = arg1:WaitForChild(v, var15)
if not SOME then
return nil
end
end
return SOME
end;
findInstance = function(arg1, arg2) -- Line 140, Named "findInstance"
local var21
for _, v_2 in arg2:split('.'), nil do
if v_2 == "" then
error(`Invalid path: {arg2}`, 2)
end
var21 = var21:FindFirstChild(v_2)
if var21 == nil then
error(`Failed to find {arg2} in {var21:GetFullName():gsub("%.", '.')}`, 2)
end
end
return var21
end;
}
local RunService_upvr = game:GetService("RunService")
function module.setDescendantTransparency(arg1, arg2) -- Line 180
--[[ Upvalues[1]:
[1]: RunService_upvr (readonly)
]]
if arg1:IsA("BasePart") then
if RunService_upvr:IsClient() then
arg1.LocalTransparencyModifier = arg2
elseif RunService_upvr:IsServer() then
arg1.Transparency = arg2
end
end
for _, v_3 in arg1:GetDescendants() do
if v_3:IsA("BasePart") then
if RunService_upvr:IsClient() then
v_3.LocalTransparencyModifier = arg2
elseif RunService_upvr:IsServer() then
v_3.Transparency = arg2
end
end
end
end
function module.findAncestorWithTag(arg1, arg2) -- Line 220
--[[ Upvalues[1]:
[1]: CollectionService_upvr (readonly)
]]
local Parent = arg1.Parent
while Parent do
if CollectionService_upvr:HasTag(Parent, arg2) then
return Parent
end
end
return nil
end
function module.findDescendantsWithTag(arg1, arg2) -- Line 253
--[[ Upvalues[1]:
[1]: CollectionService_upvr (readonly)
]]
for _, v_4 in arg1:GetDescendants(), nil do
if CollectionService_upvr:HasTag(v_4, arg2) then
table.insert({}, v_4)
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return {}
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:02:28
-- Luau version 6, Types version 3
-- Time taken: 0.014676 seconds
local tbl_upvr_2 = {}
local tbl_upvr = {1732584193, 4023233417, 2562383102, 271733878, 3285377520}
local tbl_upvr_3 = {0, 0, 0, 0, 0, 0, 0, 0, 28, 25, 26, 27, 0, 0, 10, 9, 11, 12, 0, 15, 16, 17, 18, 0, 20, 22, 23, 21}
for i = 1, 64 do
local math_modf_result1, math_modf_result2 = math.modf(math.abs(math.sin(i)) * 65536)
tbl_upvr_2[i] = math_modf_result1 * 65536 + math.floor(math_modf_result2 * 65536)
end
local tbl_upvr_4 = {}
local function md5_feed_64_upvr(arg1, arg2, arg3, arg4) -- Line 72, Named "md5_feed_64"
--[[ Upvalues[3]:
[1]: tbl_upvr_4 (readonly)
[2]: tbl_upvr_2 (readonly)
[3]: tbl_upvr_3 (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var33 = tbl_upvr_4
local var34 = tbl_upvr_2
local _2 = arg1[2]
local _3 = arg1[3]
local _4 = arg1[4]
local var38
for i_2 = arg3, arg3 + arg4 - 1, 64 do
local var39 = i_2
local var40
for i_3 = 1, 16 do
var39 += 4
var40 = string.byte(arg2, var39 - 3, var39)
local string_byte_result1, string_byte_result2, string_byte_result3, string_byte_result4 = string.byte(arg2, var39 - 3, var39)
var33[i_3] = ((string_byte_result4 * 256 + string_byte_result3) * 256 + string_byte_result2) * 256 + string_byte_result1
end
local var45 = _2
local var46 = _3
string_byte_result1 = _4
for i_4 = 1, 16 do
string_byte_result1 = var46
local var48 = var45
var45 = bit32.rrotate(bit32.band(var45, var46) + bit32.band(-1 - var45, string_byte_result1) + var38 + var34[i_4] + var33[i_4], 25) + var45
local var49
end
for i_5 = 17, 32 do
string_byte_result1 = var48
local var51 = var49
var49 = bit32.rrotate(bit32.band(string_byte_result1, var49) + bit32.band(-1 - string_byte_result1, var48) + string_byte_result1 + var34[i_5] + var33[(5 * i_5 - 4) % 16 + 1], 27) + var49
local var52
end
for i_6 = 33, 48 do
string_byte_result1 = var51
local var54 = var52
var52 = bit32.rrotate(bit32.bxor(bit32.bxor(var52, var51), string_byte_result1) + string_byte_result1 + var34[i_6] + var33[(3 * i_6 + 2) % 16 + 1], 28) + var52
local var55
end
for i_7 = 49, 64 do
string_byte_result1 = var54
local var57
end
var38 = (string_byte_result1 + var38) % 4294967296
end
arg1[1] = var38
arg1[2] = (bit32.rrotate(bit32.bxor(var54, bit32.bor(var55, -1 - string_byte_result1)) + string_byte_result1 + var34[i_7] + var33[(i_7 * 7 - 7) % 16 + 1], 26) + var55 + _2) % 4294967296
arg1[3] = (var55 + _3) % 4294967296
arg1[4] = (string_byte_result1 + _4) % 4294967296
end
return function(arg1) -- Line 134
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: md5_feed_64_upvr (readonly)
]]
local table_create_result1_upvw = table.create(4)
table_create_result1_upvw[1] = tbl_upvr[1]
table_create_result1_upvw[2] = tbl_upvr[2]
table_create_result1_upvw[3] = tbl_upvr[3]
table_create_result1_upvw[4] = tbl_upvr[4]
local var60_upvw = ""
local var61_upvw = 0
local function partial_upvr(arg1_2) -- Line 139, Named "partial"
--[[ Upvalues[5]:
[1]: var60_upvw (read and write)
[2]: var61_upvw (read and write)
[3]: md5_feed_64_upvr (copied, readonly)
[4]: table_create_result1_upvw (read and write)
[5]: partial_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
if arg1_2 then
local len = #arg1_2
if var60_upvw then
var61_upvw += len
local var71
if var60_upvw ~= "" and 64 <= #var60_upvw + len then
var71 = 64 - #var60_upvw
md5_feed_64_upvr(table_create_result1_upvw, var60_upvw..string.sub(arg1_2, 1, var71), 0, 64)
var60_upvw = ""
end
local var72 = len - var71
local var73 = var72 % 64
md5_feed_64_upvr(table_create_result1_upvw, arg1_2, var71, var72 - var73)
var60_upvw = var60_upvw..string.sub(arg1_2, len + 1 - var73)
return partial_upvr
end
error("Adding more chunks is not allowed after receiving the result", 2)
else
if var60_upvw then
local table_create_result1 = table.create(3)
table_create_result1[1] = var60_upvw
table_create_result1[2] = '\x80'
table_create_result1[3] = string.rep('\x00', (-9 - var61_upvw) % 64)
var60_upvw = nil
var61_upvw *= 8
for i_8 = 4, 11 do
local var75 = var61_upvw % 256
table_create_result1[i_8] = string.char(var75)
var61_upvw = (var61_upvw - var75) / 256
local var76
end
local NEVER = table.concat(var76)
md5_feed_64_upvr(table_create_result1_upvw, NEVER, 0, #NEVER)
for i_9 = 1, 4 do
table_create_result1_upvw[i_9] = string.format("%08x", table_create_result1_upvw[i_9] % 4294967296)
end
table_create_result1_upvw = string.gsub(table.concat(table_create_result1_upvw), "(..)(..)(..)(..)", "%4%3%2%1")
end
return table_create_result1_upvw
end
end
return partial_upvr(arg1)()
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:02:30
-- Luau version 6, Types version 3
-- Time taken: 0.006590 seconds
local module = {
lerp = function(arg1, arg2, arg3) -- Line 46, Named "lerp"
return arg1 + (arg2 - arg1) * arg3
end;
formatDigitLength = function(arg1, arg2) -- Line 70, Named "formatDigitLength"
local var3
while #var3 < arg2 do
var3 = '0'..var3
end
return var3
end;
roundToNearest = function(arg1, arg2) -- Line 97, Named "roundToNearest"
local var4 = arg1 + arg2 / 2
return var4 - var4 % arg2
end;
}
local table_freeze_result1_upvr = table.freeze({
N = 1e+30;
O = 1e+27;
Sp = 1e+24;
Sx = 1e+21;
Qn = 1000000000000000000;
Qd = 1000000000000000;
T = 1000000000000;
B = 1000000000;
M = 1000000;
K = 1000;
})
function module.abbreviate(arg1, arg2, arg3) -- Line 131
--[[ Upvalues[1]:
[1]: table_freeze_result1_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var14
if var14 == "boolean" then
else
end
if typeof(arg3) == "number" then
var14 = arg3
else
var14 = 0
end
for i, v in table_freeze_result1_upvr do
local var15
if v <= arg1 and 0 < v then
var15 = math.floor(arg1 / v * 10 ^ var14)
local var16 = 10
local function INLINED() -- Internal function, doesn't exist in bytecode
var15 = true
return v >= arg1
end
if not true or INLINED() then
var15 = false
end
var15 = string.format("%."..var14..'f', var15 / var16 ^ var14)
if var15 then
var16 = '+'
else
var16 = ""
end
end
end
return var15..i..var16
end
function module.commaSeparate(arg1) -- Line 177
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local tostring_result1 = tostring(arg1)
local var22
if tostring_result1:sub(1, 1) ~= '-' then
var22 = false
else
var22 = true
local var23
end
local function INLINED_2() -- Internal function, doesn't exist in bytecode
var23 = tostring_result1:sub(2)
return var23
end
if not var22 or not INLINED_2() then
var23 = tostring_result1
end
var23 = var23:match("([^%.]*)(%.?.*)")
local any_match_result1, any_match_result2 = var23:match("([^%.]*)(%.?.*)")
local len = #any_match_result1
for i_2 = 1, len do
if (len - i_2) % 3 == 0 and i_2 < len then
end
end
if any_match_result2 and 0 < #any_match_result2 then
end
if var22 then
else
end
return ""..""..string.sub(any_match_result1, i_2, i_2)..','..any_match_result2
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:02:31
-- Luau version 6, Types version 3
-- Time taken: 0.006826 seconds
local module_upvr = {}
local RunService_upvr = game:GetService("RunService")
function module_upvr.isPlayerAboveGroupRank(arg1, arg2, arg3, arg4, arg5) -- Line 37
--[[ Upvalues[2]:
[1]: RunService_upvr (readonly)
[2]: module_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 45 start (CF ANALYSIS FAILED)
local var3 = false
if typeof(arg1) == "Instance" then
var3 = arg1:IsA("Player")
end
assert(var3, `Player must be a Player instance, received '{typeof(arg1)}'.`)
if typeof(arg2) ~= "number" then
var3 = false
else
var3 = true
end
assert(var3, `minimumGroupRank must be a number, received '{typeof(arg2)}'.`)
var3 = typeof(arg5)
if var3 == "number" then
-- KONSTANTWARNING: GOTO [64] #48
end
-- KONSTANTERROR: [0] 1. Error Block 45 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [60] 46. Error Block 52 start (CF ANALYSIS FAILED)
var3 = game
local CreatorId = var3.CreatorId
var3 = typeof(arg2)
if var3 == "number" then
else
end
var3 = RunService_upvr:IsStudio()
local function INLINED() -- Internal function, doesn't exist in bytecode
var3 = typeof(arg3)
return var3 == "table"
end
local function INLINED_2() -- Internal function, doesn't exist in bytecode
var3 = arg3[arg1.UserId]
return var3
end
if var3 or INLINED() and INLINED_2() then
var3 = true
return var3
end
var3 = game.CreatorType
if var3 == Enum.CreatorType.User then
if arg1.UserId ~= CreatorId then
var3 = false
else
var3 = true
end
return var3
end
local var5
if game.CreatorType == Enum.CreatorType.Group then
if 254 > (module_upvr.getMemberRank(arg1, CreatorId, arg4) or 0) then
else
end
return true
end
do
return false
end
-- KONSTANTERROR: [60] 46. Error Block 52 end (CF ANALYSIS FAILED)
end
function module_upvr.getMemberRank(arg1, arg2, arg3) -- Line 97
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var6_upvw
if typeof(arg2) == "number" then
var6_upvw = arg2
else
if game.CreatorType ~= Enum.CreatorType.Group then
warn("Cannot get group rank if experience's creator ID is not that of a group.")
return nil
end
var6_upvw = game.CreatorId
end
if typeof(arg3) == "number" then
else
end
repeat
local xpcall_result1, xpcall_result2 = xpcall(function() -- Line 115
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: var6_upvw (read and write)
]]
return arg1:GetRankInGroup(var6_upvw)
end, function(arg1_2) -- Line 117
return arg1_2
end)
local var11 = xpcall_result1
local var12 = xpcall_result2
if not var11 then
task.wait(1)
end
until var11 and 0 + 1 == 4
if not var11 then
warn(`Failed to get group rank for player '{arg1.Name}': {var12}`)
return nil
end
return var12
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:02:33
-- Luau version 6, Types version 3
-- Time taken: 0.002940 seconds
local module_upvr = {}
function module_upvr.new() -- Line 21
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
return setmetatable({
first = 1;
last = 0;
size = 0;
}, {
__index = module_upvr;
})
end
function module_upvr.pushFirst(arg1, arg2) -- Line 34
arg1.size += 1
arg1.first -= 1
arg1[arg1.first] = arg2
end
function module_upvr.pushLast(arg1, arg2) -- Line 40
arg1.size += 1
arg1.last += 1
arg1[arg1.last] = arg2
end
function module_upvr.popFirst(arg1) -- Line 46
local first = arg1.first
if arg1.last < first then return end
arg1.size -= 1
arg1[first] = nil
arg1.first += 1
return arg1[first]
end
function module_upvr.popLast(arg1) -- Line 60
local last = arg1.last
if last < arg1.first then return end
arg1.size -= 1
arg1[last] = nil
arg1.last -= 1
return arg1[last]
end
function module_upvr.peekFirst(arg1) -- Line 74
return arg1[arg1.first]
end
function module_upvr.peekLast(arg1) -- Line 78
return arg1[arg1.last]
end
module_upvr.peek = module_upvr.peekFirst
module_upvr.push = module_upvr.pushFirst
module_upvr.pop = module_upvr.popFirst
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:02:35
-- Luau version 6, Types version 3
-- Time taken: 0.004723 seconds
local module_upvr = {
construct = function(arg1) -- Line 28, Named "construct"
return arg1()
end;
}
function module_upvr.deepFreeze(arg1) -- Line 49
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
local var6
if type(arg1) ~= "table" then
var6 = false
else
var6 = true
end
assert(var6, "First argument expected to be type of table")
var6 = arg1
table.freeze(var6)
var6 = nil
for _, v in arg1, var6 do
if typeof(v) == "table" then
module_upvr.deepFreeze(v)
end
end
end
function module_upvr.deepClone(arg1) -- Line 80
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
local var11
if type(arg1) ~= "table" then
var11 = false
else
var11 = true
end
assert(var11, "First argument expected to be type of table")
var11 = arg1
var11 = arg1
for i_2, v_2 in var11 do
if typeof(v_2) == "table" then
table.clone(var11)[i_2] = module_upvr.deepClone(v_2)
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return table.clone(var11)
end
function module_upvr.merge(arg1, arg2) -- Line 114
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
local var16
if type(arg1) ~= "table" then
var16 = false
else
var16 = true
end
assert(var16, "First argument expected to be type of table")
if type(arg2) ~= "table" then
var16 = false
else
var16 = true
end
assert(var16, "Second argument expected to be type of table")
var16 = module_upvr
var16 = arg1
var16 = arg2
for i_3, v_3 in var16 do
if typeof(v_3) == "table" then
var16.deepClone(var16)[i_3] = module_upvr.deepClone(v_3)
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
var16.deepClone(var16)[i_3] = v_3
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return var16.deepClone(var16)
end
function module_upvr.getRandomDictionaryEntry(arg1) -- Line 145
local tbl = {}
for i_4 in arg1 do
table.insert(tbl, i_4)
end
local var20 = tbl[math.random(#tbl)]
return {
Key = var20;
Value = arg1[var20];
}
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:02:36
-- Luau version 6, Types version 3
-- Time taken: 0.002324 seconds
return {
formatToRaceTimer = function(arg1) -- Line 25, Named "formatToRaceTimer"
local var2 = (arg1 - arg1 % 60) / 60
return string.format("%02i:%02i.%02i", var2 - (var2 - var2 % 60) / 60 * 60, arg1 - var2 * 60, arg1 * 100 % 100)
end;
formatToRaceTimerDetailed = function(arg1) -- Line 52, Named "formatToRaceTimerDetailed"
local var3 = (arg1 - arg1 % 60) / 60
return string.format("%02i:%02i.%03i", var3 - (var3 - var3 % 60) / 60 * 60, arg1 - var3 * 60, arg1 * 1000 % 1000)
end;
formatToCountdownTimer = function(arg1) -- Line 77, Named "formatToCountdownTimer"
local rounded = math.round(arg1)
local var5 = (arg1 - rounded % 60) / 60
local var6 = (var5 - var5 % 60) / 60
return string.format("%02i:%02i:%02i", var6, var5 - var6 * 60, rounded - var5 * 60)
end;
getFormattedTimeOfDay = function(arg1) -- Line 102, Named "getFormattedTimeOfDay"
local var7 = arg1
if not var7 then
var7 = DateTime.now().UnixTimestamp
end
return os.date("%X", var7)
end;
formatSecondsToMinutesAndSeconds = function(arg1) -- Line 124, Named "formatSecondsToMinutesAndSeconds"
return string.format("%02d:%02d", math.floor(arg1 % 3600 / 60), math.floor(arg1 % 60))
end;
}
KONSTANTERROR: After: K:0: attempt to index nil with 'debug_name'
K
K
K
K
K
K
K
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:02:41
-- Luau version 6, Types version 3
-- Time taken: 0.009562 seconds
local module_upvr = {
hasMatch = function(arg1, arg2, arg3) -- Line 36, Named "hasMatch"
if not arg3 then
local string_lower_result1 = string.lower(arg1)
end
for i = 1, string.len(string_lower_result1) do
if not string.find(string.lower(arg2), string_lower_result1:sub(i, i), 1, true) then
return false
end
end
return true
end;
}
local function _(arg1) -- Line 55, Named "isLower"
return arg1:match("%l")
end
local function _(arg1) -- Line 59, Named "isUpper"
return arg1:match("%u")
end
local function precomputeBonus_upvr(arg1) -- Line 63, Named "precomputeBonus"
local const_string = '/'
for i_2 = 1, string.len(arg1) do
if const_string == '/' or const_string == '\\' then
({})[i_2] = 0.9
elseif const_string == '-' or const_string == '_' or const_string == ' ' then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
;({})[i_2] = 0.8
elseif const_string == '.' then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
;({})[i_2] = 0.6
elseif const_string:match("%l") and arg1:sub(i_2, i_2):match("%u") then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
;({})[i_2] = 0.7
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
;({})[i_2] = 0
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return {}
end
local function compute_upvr(arg1, arg2, arg3, arg4, arg5) -- Line 87, Named "compute"
--[[ Upvalues[1]:
[1]: precomputeBonus_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local string_len_result1_4 = string.len(arg1)
local string_len_result1_3 = string.len(arg2)
local var22
if not arg5 then
var22 = string.lower(var22)
end
for i_3 = 1, string_len_result1_3 do
({})[i_3] = var22:sub(i_3, i_3)
local var23
end
for i_4 = 1, string_len_result1_4 do
arg3[i_4] = {}
arg4[i_4] = {}
local var24
if i_4 == string_len_result1_4 then
var24 = -0.005
else
var24 = -0.01
end
for i_5 = 1, string_len_result1_3 do
if string.lower(arg1):sub(i_4, i_4) == var23[i_5] then
local var25 = (-math.huge)
if i_4 == 1 then
var25 = (i_5 - 1) * -0.005 + precomputeBonus_upvr(arg2)[i_5]
elseif 1 < i_5 then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
var25 = math.max(arg4[i_4 - 1][i_5 - 1] + precomputeBonus_upvr(arg2)[i_5], arg3[i_4 - 1][i_5 - 1] + 1)
end
arg3[i_4][i_5] = var25
arg4[i_4][i_5] = math.max(var25, (-math.huge) + var24)
else
arg3[i_4][i_5] = (-math.huge)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
arg4[i_4][i_5] = math.max(var25, (-math.huge) + var24) + var24
end
end
end
end
function module_upvr.score(arg1, arg2, arg3) -- Line 148
--[[ Upvalues[1]:
[1]: compute_upvr (readonly)
]]
local string_len_result1 = string.len(arg1)
local string_len_result1_2 = string.len(arg2)
if string_len_result1 == 0 or string_len_result1_2 == 0 or 1024 < string_len_result1_2 or string_len_result1_2 < string_len_result1 then
return (-math.huge)
end
if string_len_result1 == string_len_result1_2 then
return math.huge
end
local module = {}
compute_upvr(arg1, arg2, {}, module, arg3)
return module[string_len_result1][string_len_result1_2]
end
function module_upvr.positions(arg1, arg2, arg3) -- Line 179
--[[ Upvalues[1]:
[1]: compute_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 37 start (CF ANALYSIS FAILED)
local string_len_result1_5 = string.len(arg1)
local string_len_result1_6 = string.len(arg2)
if string_len_result1_5 == 0 or string_len_result1_6 == 0 or 1024 < string_len_result1_6 or string_len_result1_6 < string_len_result1_5 then
return {}, (-math.huge)
end
if string_len_result1_5 == string_len_result1_6 then
for i_6 = 1, string_len_result1_5 do
({})[i_6] = i_6
local var34
end
return var34, math.huge
end
compute_upvr(arg1, arg2, {}, {}, arg3)
-- KONSTANTERROR: [0] 1. Error Block 37 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [90] 73. Error Block 30 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [90] 73. Error Block 30 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [92] 75. Error Block 26 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [92] 75. Error Block 26 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [55] 44. Error Block 12 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [92.13]
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [92.461394]
-- KONSTANTERROR: [55] 44. Error Block 12 end (CF ANALYSIS FAILED)
end
function module_upvr.filter(arg1, arg2, arg3) -- Line 227
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
for i_7, v in ipairs(arg2) do
if module_upvr.hasMatch(arg1, v, arg3) then
local any_positions_result1, any_positions_result2 = module_upvr.positions(arg1, v, arg3)
table.insert({}, {i_7, any_positions_result1, any_positions_result2})
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return {}
end
function module_upvr.getScoreMin() -- Line 247
return (-math.huge)
end
function module_upvr.getScoreMax() -- Line 252
return math.huge
end
function module_upvr.getMaxLength() -- Line 257
return 1024
end
function module_upvr.getScoreFloor() -- Line 265
return -10.24
end
function module_upvr.getScoreCeiling() -- Line 273
return 1024
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:02:43
-- Luau version 6, Types version 3
-- Time taken: 0.084184 seconds
local tbl_6_upvr = {
__mode = 'k';
}
local function _(arg1) -- Line 10, Named "isCallable"
if type(arg1) == "function" then
return true
end
if type(arg1) == "table" then
local getmetatable_result1_11 = getmetatable(arg1)
if getmetatable_result1_11 and type(rawget(getmetatable_result1_11, "__call")) == "function" then
return true
end
end
return false
end
local function makeEnum(arg1, arg2) -- Line 28
local module_7 = {}
for _, v in ipairs(arg2) do
module_7[v] = v
end
return setmetatable(module_7, {
__index = function(arg1_2, arg2_2) -- Line 36, Named "__index"
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
error(string.format("%s is not in %s!", arg2_2, arg1), 2)
end;
__newindex = function() -- Line 39, Named "__newindex"
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
error(string.format("Creating new members in %s is not allowed!", arg1), 2)
end;
})
end
local var15_upvw = {
Kind = makeEnum("Promise.Error.Kind", {"ExecutionError", "AlreadyCancelled", "NotResolvedInTime", "TimedOut"});
}
var15_upvw.__index = var15_upvw
local function new(arg1, arg2) -- Line 64
--[[ Upvalues[1]:
[1]: var15_upvw (read and write)
]]
local var16 = arg1
if not var16 then
var16 = {}
end
local var17 = var16
local module_8 = {
error = tostring(var17.error) or "[This error has no error text.]";
trace = var17.trace;
context = var17.context;
kind = var17.kind;
}
module_8.parent = arg2
module_8.createdTick = os.clock()
module_8.createdTrace = debug.traceback()
return setmetatable(module_8, var15_upvw)
end
var15_upvw.new = new
local function is(arg1) -- Line 77
if type(arg1) == "table" then
local getmetatable_result1_3 = getmetatable(arg1)
if type(getmetatable_result1_3) == "table" then
local var22 = false
if rawget(arg1, "error") ~= nil then
if type(rawget(getmetatable_result1_3, "extend")) ~= "function" then
var22 = false
else
var22 = true
end
end
return var22
end
end
return false
end
var15_upvw.is = is
function var15_upvw.isKind(arg1, arg2) -- Line 89
--[[ Upvalues[1]:
[1]: var15_upvw (read and write)
]]
if arg2 == nil then
else
end
assert(true, "Argument #2 to Promise.Error.isKind must not be nil")
if var15_upvw.is(arg1) then
if arg1.kind ~= arg2 then
else
end
end
return true
end
function var15_upvw.extend(arg1, arg2) -- Line 95
--[[ Upvalues[1]:
[1]: var15_upvw (read and write)
]]
local var23 = arg2
if not var23 then
var23 = {}
end
local var24 = var23
var23 = var24.kind
local var25 = var23
if not var25 then
var25 = arg1.kind
end
var24.kind = var25
return var15_upvw.new(var24, arg1)
end
function var15_upvw.getErrorChain(arg1) -- Line 103
local module_2 = {}
module_2[1] = arg1
while module_2[#module_2].parent do
table.insert(module_2, module_2[#module_2].parent)
end
return module_2
end
local function __tostring(arg1) -- Line 113
local module_10 = {string.format("-- Promise.Error(%s) --", arg1.kind or '?')}
for _, v_2 in ipairs(arg1:getErrorChain()) do
local tbl = {}
local trace = v_2.trace
if not trace then
trace = v_2.error
end
tbl[1] = trace
tbl[2] = v_2.context
table.insert(module_10, table.concat(tbl, '\n'))
end
return table.concat(module_10, '\n')
end
var15_upvw.__tostring = __tostring
local function pack_upvr(...) -- Line 137, Named "pack"
return select('#', ...), {...}
end
local function packResult_upvr(arg1, ...) -- Line 144, Named "packResult"
return arg1, select('#', ...), {...}
end
local function _(arg1) -- Line 148, Named "makeErrorHandler"
--[[ Upvalues[1]:
[1]: var15_upvw (read and write)
]]
if arg1 == nil then
else
end
assert(true, "traceback is nil")
return function(arg1_3) -- Line 151
--[[ Upvalues[2]:
[1]: var15_upvw (copied, read and write)
[2]: arg1 (readonly)
]]
if type(arg1_3) == "table" then
return arg1_3
end
local module_11 = {}
module_11.error = arg1_3
module_11.kind = var15_upvw.Kind.ExecutionError
module_11.trace = debug.traceback(tostring(arg1_3), 2)
module_11.context = "Promise created at:\n\n"..arg1
return var15_upvw.new(module_11)
end
end
local function runExecutor_upvr(arg1, arg2, ...) -- Line 171, Named "runExecutor"
--[[ Upvalues[2]:
[1]: packResult_upvr (readonly)
[2]: var15_upvw (read and write)
]]
local var41
if arg1 == nil then
var41 = false
else
var41 = true
end
assert(var41, "traceback is nil")
return packResult_upvr(xpcall(arg2, function(arg1_4) -- Line 151
--[[ Upvalues[2]:
[1]: var15_upvw (copied, read and write)
[2]: arg1 (readonly)
]]
if type(arg1_4) == "table" then
return arg1_4
end
local module_3 = {}
module_3.error = arg1_4
module_3.kind = var15_upvw.Kind.ExecutionError
module_3.trace = debug.traceback(tostring(arg1_4), 2)
module_3.context = "Promise created at:\n\n"..arg1
return var15_upvw.new(module_3)
end, ...))
end
local function _(arg1, arg2, arg3, arg4) -- Line 179, Named "createAdvancer"
--[[ Upvalues[1]:
[1]: runExecutor_upvr (readonly)
]]
return function(...) -- Line 180
--[[ Upvalues[5]:
[1]: runExecutor_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: arg2 (readonly)
[4]: arg3 (readonly)
[5]: arg4 (readonly)
]]
local runExecutor_upvr_result1_4, runExecutor_upvr_result2, runExecutor_upvr_result3 = runExecutor_upvr(arg1, arg2, ...)
if runExecutor_upvr_result1_4 then
arg3(unpack(runExecutor_upvr_result3, 1, runExecutor_upvr_result2))
else
arg4(runExecutor_upvr_result3[1])
end
end
end
local function _(arg1) -- Line 191, Named "isEmpty"
local var48
if next(arg1) ~= nil then
var48 = false
else
var48 = true
end
return var48
end
local module_4_upvr = {
Error = var15_upvw;
Status = makeEnum("Promise.Status", {"Started", "Resolved", "Rejected", "Cancelled"});
_getTime = os.clock;
_timeEvent = game:GetService("RunService").Heartbeat;
_unhandledRejectionCallbacks = {};
prototype = {};
__index = module_4_upvr.prototype;
}
function module_4_upvr._new(arg1, arg2, arg3) -- Line 230
--[[ Upvalues[3]:
[1]: module_4_upvr (readonly)
[2]: tbl_6_upvr (readonly)
[3]: runExecutor_upvr (readonly)
]]
if arg3 ~= nil and not module_4_upvr.is(arg3) then
error("Argument #2 to Promise.new must be a promise or nil", 2)
end
local module_5_upvr = {
_thread = nil;
}
module_5_upvr._source = arg1
module_5_upvr._status = module_4_upvr.Status.Started
module_5_upvr._values = nil
module_5_upvr._valuesLength = -1
module_5_upvr._unhandledRejection = true
module_5_upvr._queuedResolve = {}
module_5_upvr._queuedReject = {}
module_5_upvr._queuedFinally = {}
module_5_upvr._cancellationHook = nil
module_5_upvr._parent = arg3
module_5_upvr._consumers = setmetatable({}, tbl_6_upvr)
if arg3 and arg3._status == module_4_upvr.Status.Started then
arg3._consumers[module_5_upvr] = true
end
setmetatable(module_5_upvr, module_4_upvr)
local function resolve(...) -- Line 278
--[[ Upvalues[1]:
[1]: module_5_upvr (readonly)
]]
module_5_upvr:_resolve(...)
end
local function reject(...) -- Line 282
--[[ Upvalues[1]:
[1]: module_5_upvr (readonly)
]]
module_5_upvr:_reject(...)
end
local function onCancel_upvr(arg1_5) -- Line 286, Named "onCancel"
--[[ Upvalues[2]:
[1]: module_5_upvr (readonly)
[2]: module_4_upvr (copied, readonly)
]]
if arg1_5 then
if module_5_upvr._status == module_4_upvr.Status.Cancelled then
arg1_5()
else
module_5_upvr._cancellationHook = arg1_5
end
end
if module_5_upvr._status ~= module_4_upvr.Status.Cancelled then
else
end
return true
end
module_5_upvr._thread = coroutine.create(function() -- Line 298
--[[ Upvalues[6]:
[1]: runExecutor_upvr (copied, readonly)
[2]: module_5_upvr (readonly)
[3]: arg2 (readonly)
[4]: resolve (readonly)
[5]: reject (readonly)
[6]: onCancel_upvr (readonly)
]]
local runExecutor_result1, _, runExecutor_upvr_result3_5 = runExecutor_upvr(module_5_upvr._source, arg2, resolve, reject, onCancel_upvr)
if not runExecutor_result1 then
reject(runExecutor_upvr_result3_5[1])
end
end)
task.spawn(module_5_upvr._thread)
return module_5_upvr
end
function module_4_upvr.new(arg1) -- Line 349
--[[ Upvalues[1]:
[1]: module_4_upvr (readonly)
]]
return module_4_upvr._new(debug.traceback(nil, 2), arg1)
end
function module_4_upvr.__tostring(arg1) -- Line 353
return string.format("Promise(%s)", arg1._status)
end
function module_4_upvr.defer(arg1) -- Line 375
--[[ Upvalues[2]:
[1]: module_4_upvr (readonly)
[2]: runExecutor_upvr (readonly)
]]
local call_stack_3_upvr = debug.traceback(nil, 2)
return module_4_upvr._new(call_stack_3_upvr, function(arg1_6, arg2, arg3) -- Line 378
--[[ Upvalues[4]:
[1]: module_4_upvr (copied, readonly)
[2]: runExecutor_upvr (copied, readonly)
[3]: call_stack_3_upvr (readonly)
[4]: arg1 (readonly)
]]
local var59_upvw
var59_upvw = module_4_upvr._timeEvent:Connect(function() -- Line 380
--[[ Upvalues[7]:
[1]: var59_upvw (read and write)
[2]: runExecutor_upvr (copied, readonly)
[3]: call_stack_3_upvr (copied, readonly)
[4]: arg1 (copied, readonly)
[5]: arg1_6 (readonly)
[6]: arg2 (readonly)
[7]: arg3 (readonly)
]]
var59_upvw:Disconnect()
local runExecutor_upvr_result1, _, runExecutor_upvr_result3_2 = runExecutor_upvr(call_stack_3_upvr, arg1, arg1_6, arg2, arg3)
if not runExecutor_upvr_result1 then
arg2(runExecutor_upvr_result3_2[1])
end
end)
end)
end
module_4_upvr.async = module_4_upvr.defer
function module_4_upvr.resolve(...) -- Line 418
--[[ Upvalues[2]:
[1]: pack_upvr (readonly)
[2]: module_4_upvr (readonly)
]]
local pack_result1_upvr_3, pack_result2_upvr = pack_upvr(...)
return module_4_upvr._new(debug.traceback(nil, 2), function(arg1) -- Line 420
--[[ Upvalues[2]:
[1]: pack_result2_upvr (readonly)
[2]: pack_result1_upvr_3 (readonly)
]]
arg1(unpack(pack_result2_upvr, 1, pack_result1_upvr_3))
end)
end
function module_4_upvr.reject(...) -- Line 435
--[[ Upvalues[2]:
[1]: pack_upvr (readonly)
[2]: module_4_upvr (readonly)
]]
local pack_result1_3_upvr, pack_result2_3_upvr = pack_upvr(...)
return module_4_upvr._new(debug.traceback(nil, 2), function(arg1, arg2) -- Line 437
--[[ Upvalues[2]:
[1]: pack_result2_3_upvr (readonly)
[2]: pack_result1_3_upvr (readonly)
]]
arg2(unpack(pack_result2_3_upvr, 1, pack_result1_3_upvr))
end)
end
function module_4_upvr._try(arg1, arg2, ...) -- Line 446
--[[ Upvalues[2]:
[1]: pack_upvr (readonly)
[2]: module_4_upvr (readonly)
]]
local pack_result1_2_upvr, pack_result2_4_upvr = pack_upvr(...)
return module_4_upvr._new(arg1, function(arg1_7) -- Line 449
--[[ Upvalues[3]:
[1]: arg2 (readonly)
[2]: pack_result2_4_upvr (readonly)
[3]: pack_result1_2_upvr (readonly)
]]
arg1_7(arg2(unpack(pack_result2_4_upvr, 1, pack_result1_2_upvr)))
end)
end
function module_4_upvr.try(arg1, ...) -- Line 477
--[[ Upvalues[1]:
[1]: module_4_upvr (readonly)
]]
return module_4_upvr._try(debug.traceback(nil, 2), arg1, ...)
end
function module_4_upvr._all(arg1, arg2, arg3) -- Line 486
--[[ Upvalues[1]:
[1]: module_4_upvr (readonly)
]]
if type(arg2) ~= "table" then
error(string.format("Please pass a list of promises to %s", "Promise.all"), 3)
end
for i_3, v_3 in pairs(arg2) do
if not module_4_upvr.is(v_3) then
error(string.format("Non-promise value passed into %s at index %s", "Promise.all", tostring(i_3)), 3)
end
end
if #arg2 == 0 or arg3 == 0 then
return module_4_upvr.resolve({})
end
return module_4_upvr._new(arg1, function(arg1_8, arg2_3, arg3_2) -- Line 504
--[[ Upvalues[2]:
[1]: arg3 (readonly)
[2]: arg2 (readonly)
]]
local tbl_7_upvr = {}
local var87_upvw = 0
local var88_upvw = false
local function cancel() -- Line 515
--[[ Upvalues[1]:
[1]: tbl_7_upvr (readonly)
]]
for _, v_4 in ipairs(tbl_7_upvr) do
v_4:cancel()
end
end
local var94_upvw = 0
local tbl_5_upvr = {}
local function resolveOne(arg1_9, ...) -- Line 522
--[[ Upvalues[7]:
[1]: var88_upvw (read and write)
[2]: var94_upvw (read and write)
[3]: arg3 (copied, readonly)
[4]: tbl_5_upvr (readonly)
[5]: arg2 (copied, readonly)
[6]: arg1_8 (readonly)
[7]: tbl_7_upvr (readonly)
]]
if var88_upvw then
else
var94_upvw += 1
if arg3 == nil then
tbl_5_upvr[arg1_9] = ...
else
tbl_5_upvr[var94_upvw] = ...
end
local var100 = arg3
if not var100 then
var100 = #arg2
end
if var100 <= var94_upvw then
var88_upvw = true
arg1_8(tbl_5_upvr)
for _, v_16 in ipairs(tbl_7_upvr) do
v_16:cancel()
end
end
end
end
arg3_2(cancel)
for i_5_upvr, v_5 in ipairs(arg2) do
tbl_7_upvr[i_5_upvr] = v_5:andThen(function(...) -- Line 547
--[[ Upvalues[2]:
[1]: resolveOne (readonly)
[2]: i_5_upvr (readonly)
]]
resolveOne(i_5_upvr, ...)
end, function(...) -- Line 549
--[[ Upvalues[6]:
[1]: var87_upvw (read and write)
[2]: arg3 (copied, readonly)
[3]: arg2 (copied, readonly)
[4]: tbl_7_upvr (readonly)
[5]: var88_upvw (read and write)
[6]: arg2_3 (readonly)
]]
var87_upvw += 1
if arg3 == nil or #arg2 - var87_upvw < arg3 then
for _, v_6 in ipairs(tbl_7_upvr) do
v_6:cancel()
end
var88_upvw = true
arg2_3(...)
end
end)
end
if var88_upvw then
for _, v_7 in ipairs(tbl_7_upvr) do
v_7:cancel()
end
end
end)
end
function module_4_upvr.all(arg1) -- Line 591
--[[ Upvalues[1]:
[1]: module_4_upvr (readonly)
]]
return module_4_upvr._all(debug.traceback(nil, 2), arg1)
end
function module_4_upvr.fold(arg1, arg2, arg3) -- Line 620
--[[ Upvalues[1]:
[1]: module_4_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 20 start (CF ANALYSIS FAILED)
local var123
if type(arg1) ~= "table" then
var123 = false
else
var123 = true
end
assert(var123, "Bad argument #1 to Promise.fold: must be a table")
-- KONSTANTERROR: [0] 1. Error Block 20 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [24] 19. Error Block 16 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [24] 19. Error Block 16 end (CF ANALYSIS FAILED)
end
function module_4_upvr.some(arg1, arg2) -- Line 653
--[[ Upvalues[1]:
[1]: module_4_upvr (readonly)
]]
local var124
if type(arg2) ~= "number" then
var124 = false
else
var124 = true
end
assert(var124, "Bad argument #2 to Promise.some: must be a number")
var124 = module_4_upvr
var124 = debug.traceback(nil, 2)
return var124._all(var124, arg1, arg2)
end
function module_4_upvr.any(arg1) -- Line 677
--[[ Upvalues[1]:
[1]: module_4_upvr (readonly)
]]
return module_4_upvr._all(debug.traceback(nil, 2), arg1, 1):andThen(function(arg1_12) -- Line 678
return arg1_12[1]
end)
end
function module_4_upvr.allSettled(arg1) -- Line 699
--[[ Upvalues[1]:
[1]: module_4_upvr (readonly)
]]
if type(arg1) ~= "table" then
error(string.format("Please pass a list of promises to %s", "Promise.allSettled"), 2)
end
for i_8, v_8 in pairs(arg1) do
if not module_4_upvr.is(v_8) then
error(string.format("Non-promise value passed into %s at index %s", "Promise.allSettled", tostring(i_8)), 2)
end
end
if #arg1 == 0 then
return module_4_upvr.resolve({})
end
return module_4_upvr._new(debug.traceback(nil, 2), function(arg1_13, arg2, arg3) -- Line 717
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
local tbl_upvr_2 = {}
local var137_upvw = 0
local tbl_upvr = {}
local function resolveOne_upvr(arg1_14, ...) -- Line 727, Named "resolveOne"
--[[ Upvalues[4]:
[1]: var137_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: arg1 (copied, readonly)
[4]: arg1_13 (readonly)
]]
var137_upvw += 1
tbl_upvr[arg1_14] = ...
if #arg1 <= var137_upvw then
arg1_13(tbl_upvr)
end
end
arg3(function() -- Line 737
--[[ Upvalues[1]:
[1]: tbl_upvr_2 (readonly)
]]
for _, v_9 in ipairs(tbl_upvr_2) do
v_9:cancel()
end
end)
for i_10_upvr, v_10 in ipairs(arg1) do
tbl_upvr_2[i_10_upvr] = v_10:finally(function(...) -- Line 746
--[[ Upvalues[2]:
[1]: resolveOne_upvr (readonly)
[2]: i_10_upvr (readonly)
]]
resolveOne_upvr(i_10_upvr, ...)
end)
end
end)
end
function module_4_upvr.race(arg1) -- Line 777
--[[ Upvalues[1]:
[1]: module_4_upvr (readonly)
]]
local var153
if type(arg1) ~= "table" then
var153 = false
else
var153 = true
end
assert(var153, string.format("Please pass a list of promises to %s", "Promise.race"))
var153 = arg1
local pairs_result1, pairs_result2, pairs_result3_3 = pairs(var153)
for i_11, v_11 in pairs_result1, pairs_result2, pairs_result3_3 do
assert(module_4_upvr.is(v_11), string.format("Non-promise value passed into %s at index %s", "Promise.race", tostring(i_11)))
end
pairs_result2 = module_4_upvr
pairs_result2 = debug.traceback(nil, 2)
return pairs_result2._new(pairs_result2, function(arg1_15, arg2, arg3) -- Line 784
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
local tbl_8_upvr = {}
local var167_upvw = false
local function cancel() -- Line 788
--[[ Upvalues[1]:
[1]: tbl_8_upvr (readonly)
]]
for _, v_12 in ipairs(tbl_8_upvr) do
v_12:cancel()
end
end
local function _(arg1_16) -- Line 794, Named "finalize"
--[[ Upvalues[2]:
[1]: tbl_8_upvr (readonly)
[2]: var167_upvw (read and write)
]]
return function(...) -- Line 795
--[[ Upvalues[3]:
[1]: tbl_8_upvr (copied, readonly)
[2]: var167_upvw (copied, read and write)
[3]: arg1_16 (readonly)
]]
for _, v_13 in ipairs(tbl_8_upvr) do
v_13:cancel()
end
var167_upvw = true
return arg1_16(...)
end
end
if arg3(function(...) -- Line 795
--[[ Upvalues[3]:
[1]: tbl_8_upvr (readonly)
[2]: var167_upvw (read and write)
[3]: arg2 (readonly)
]]
for _, v_14 in ipairs(tbl_8_upvr) do
v_14:cancel()
end
var167_upvw = true
return arg2(...)
end) then
else
for i_17, v_17 in ipairs(arg1) do
tbl_8_upvr[i_17] = v_17:andThen(function(...) -- Line 795
--[[ Upvalues[3]:
[1]: tbl_8_upvr (readonly)
[2]: var167_upvw (read and write)
[3]: arg1_15 (readonly)
]]
for _, v_18 in ipairs(tbl_8_upvr) do
v_18:cancel()
end
var167_upvw = true
return arg1_15(...)
end, function(...) -- Line 795
--[[ Upvalues[3]:
[1]: tbl_8_upvr (readonly)
[2]: var167_upvw (read and write)
[3]: arg2 (readonly)
]]
for _, v_19 in ipairs(tbl_8_upvr) do
v_19:cancel()
end
var167_upvw = true
return arg2(...)
end)
end
if var167_upvw then
for _, v_20 in ipairs(tbl_8_upvr) do
v_20:cancel()
end
end
end
end)
end
function module_4_upvr.each(arg1, arg2) -- Line 872
--[[ Upvalues[2]:
[1]: module_4_upvr (readonly)
[2]: var15_upvw (read and write)
]]
-- KONSTANTERROR: [0] 1. Error Block 20 start (CF ANALYSIS FAILED)
local var310
if type(arg1) ~= "table" then
var310 = false
else
var310 = true
end
assert(var310, string.format("Please pass a list of promises to %s", "Promise.each"))
-- KONSTANTERROR: [0] 1. Error Block 20 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [27] 22. Error Block 16 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [27] 22. Error Block 16 end (CF ANALYSIS FAILED)
end
function module_4_upvr.is(arg1) -- Line 971
--[[ Upvalues[1]:
[1]: module_4_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [7] 6. Error Block 2 start (CF ANALYSIS FAILED)
do
return false
end
-- KONSTANTERROR: [7] 6. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [9] 8. Error Block 3 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [9] 8. Error Block 3 end (CF ANALYSIS FAILED)
end
function module_4_upvr.promisify(arg1) -- Line 1020
--[[ Upvalues[1]:
[1]: module_4_upvr (readonly)
]]
return function(...) -- Line 1021
--[[ Upvalues[2]:
[1]: module_4_upvr (copied, readonly)
[2]: arg1 (readonly)
]]
return module_4_upvr._try(debug.traceback(nil, 2), arg1, ...)
end
end
local var312_upvw
local var313_upvw
function module_4_upvr.delay(arg1) -- Line 1051
--[[ Upvalues[3]:
[1]: module_4_upvr (readonly)
[2]: var312_upvw (read and write)
[3]: var313_upvw (read and write)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var314
if type(arg1) ~= "number" then
var314 = false
else
var314 = true
end
assert(var314, "Bad argument #1 to Promise.delay, must be a number.")
if (1/60) > arg1 or arg1 == math.huge then
end
var314 = module_4_upvr
var314 = debug.traceback(nil, 2)
local const_number_upvw = (1/60)
return var314._new(var314, function(arg1_18, arg2, arg3) -- Line 1059
--[[ Upvalues[4]:
[1]: module_4_upvr (copied, readonly)
[2]: const_number_upvw (read and write)
[3]: var312_upvw (copied, read and write)
[4]: var313_upvw (copied, read and write)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 29 start (CF ANALYSIS FAILED)
local any__getTime_result1 = module_4_upvr._getTime()
local var318 = any__getTime_result1 + const_number_upvw
local tbl_11_upvr = {}
tbl_11_upvr.resolve = arg1_18
tbl_11_upvr.startTime = any__getTime_result1
tbl_11_upvr.endTime = var318
if var312_upvw == nil then
var313_upvw = tbl_11_upvr
var312_upvw = module_4_upvr._timeEvent:Connect(function() -- Line 1071
--[[ Upvalues[3]:
[1]: module_4_upvr (copied, readonly)
[2]: var313_upvw (copied, read and write)
[3]: var312_upvw (copied, read and write)
]]
while var313_upvw ~= nil and var313_upvw.endTime < module_4_upvr._getTime() do
local var321 = var313_upvw
var313_upvw = var321.next
if var313_upvw == nil then
var312_upvw:Disconnect()
var312_upvw = nil
else
var313_upvw.previous = nil
end
var321.resolve(module_4_upvr._getTime() - var321.startTime)
end
end)
else
local var322
if var313_upvw.endTime < var318 then
local next_3 = var313_upvw.next
while next_3 ~= nil and next_3.endTime < var318 do
local var324 = next_3
local next = var324.next
end
var324.next = tbl_11_upvr
tbl_11_upvr.previous = var324
if next ~= nil then
tbl_11_upvr.next = next
next.previous = tbl_11_upvr
-- KONSTANTWARNING: GOTO [65] #45
end
else
tbl_11_upvr.next = var313_upvw
var313_upvw.previous = tbl_11_upvr
var313_upvw = tbl_11_upvr
end
end
-- KONSTANTERROR: [0] 1. Error Block 29 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [65] 45. Error Block 14 start (CF ANALYSIS FAILED)
arg3(function() -- Line 1116
--[[ Upvalues[3]:
[1]: tbl_11_upvr (readonly)
[2]: var313_upvw (copied, read and write)
[3]: var312_upvw (copied, read and write)
]]
local next_2 = tbl_11_upvr.next
if var313_upvw == tbl_11_upvr then
if next_2 == nil then
var312_upvw:Disconnect()
var312_upvw = nil
else
next_2.previous = nil
end
var313_upvw = next_2
else
local previous = tbl_11_upvr.previous
previous.next = next_2
if next_2 ~= nil then
next_2.previous = previous
end
end
end)
-- KONSTANTERROR: [65] 45. Error Block 14 end (CF ANALYSIS FAILED)
end)
end
module_4_upvr.prototype.timeout = function(arg1, arg2, arg3) -- Line 1180, Named "timeout"
--[[ Upvalues[2]:
[1]: module_4_upvr (readonly)
[2]: var15_upvw (read and write)
]]
local module_6 = {}
local call_stack_2_upvr = debug.traceback(nil, 2)
module_6[1] = module_4_upvr.delay(arg2):andThen(function() -- Line 1184
--[[ Upvalues[5]:
[1]: module_4_upvr (copied, readonly)
[2]: arg3 (readonly)
[3]: var15_upvw (copied, read and write)
[4]: arg2 (readonly)
[5]: call_stack_2_upvr (readonly)
]]
local var332
local function INLINED() -- Internal function, doesn't exist in bytecode
var332 = var332(tbl_3)
tbl_3.context = string.format("Timeout of %d seconds exceeded.\n:timeout() called at:\n\n%s", arg2, call_stack_2_upvr)
tbl_3.error = "Timed out"
tbl_3.kind = var15_upvw.Kind.TimedOut
local tbl_3 = {}
var332 = var15_upvw.new
return var332
end
if arg3 ~= nil or not INLINED() then
var332 = arg3
end
return module_4_upvr.reject(var332)
end)
module_6[2] = arg1
return module_4_upvr.race(module_6)
end
module_4_upvr.prototype.getStatus = function(arg1) -- Line 1204, Named "getStatus"
return arg1._status
end
module_4_upvr.prototype._andThen = function(arg1, arg2, arg3, arg4) -- Line 1213, Named "_andThen"
--[[ Upvalues[2]:
[1]: module_4_upvr (readonly)
[2]: runExecutor_upvr (readonly)
]]
arg1._unhandledRejection = false
if arg1._status == module_4_upvr.Status.Cancelled then
local any_new_result1 = module_4_upvr.new(function() -- Line 1218
end)
any_new_result1:cancel()
return any_new_result1
end
return module_4_upvr._new(arg2, function(arg1_19, arg2_6, arg3_3) -- Line 1225
--[[ Upvalues[6]:
[1]: arg3 (readonly)
[2]: arg2 (readonly)
[3]: runExecutor_upvr (copied, readonly)
[4]: arg4 (readonly)
[5]: arg1 (readonly)
[6]: module_4_upvr (copied, readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var342_upvw
if var342_upvw then
var342_upvw = arg2
local function var338_upvw(...) -- Line 180
--[[ Upvalues[5]:
[1]: runExecutor_upvr (copied, readonly)
[2]: var342_upvw (readonly)
[3]: arg3 (readonly)
[4]: arg1_19 (readonly)
[5]: arg2_6 (readonly)
]]
local runExecutor_upvr_result1_2, runExecutor_result2, runExecutor_upvr_result3_4 = runExecutor_upvr(var342_upvw, arg3, ...)
if runExecutor_upvr_result1_2 then
arg1_19(unpack(runExecutor_upvr_result3_4, 1, runExecutor_result2))
else
arg2_6(runExecutor_upvr_result3_4[1])
end
end
end
var342_upvw = arg2_6
if arg4 then
function var342_upvw(...) -- Line 180
--[[ Upvalues[5]:
[1]: runExecutor_upvr (copied, readonly)
[2]: arg2 (readonly)
[3]: arg4 (readonly)
[4]: arg1_19 (readonly)
[5]: arg2_6 (readonly)
]]
local runExecutor_upvr_result1_3, runExecutor_upvr_result2_2, runExecutor_upvr_result3_3 = runExecutor_upvr(arg2, arg4, ...)
if runExecutor_upvr_result1_3 then
arg1_19(unpack(runExecutor_upvr_result3_3, 1, runExecutor_upvr_result2_2))
else
arg2_6(runExecutor_upvr_result3_3[1])
end
end
end
if arg1._status == module_4_upvr.Status.Started then
table.insert(arg1._queuedResolve, var338_upvw)
table.insert(arg1._queuedReject, var342_upvw)
local function var346() -- Line 1244
--[[ Upvalues[4]:
[1]: arg1 (copied, readonly)
[2]: module_4_upvr (copied, readonly)
[3]: var338_upvw (read and write)
[4]: var342_upvw (read and write)
]]
if arg1._status == module_4_upvr.Status.Started then
table.remove(arg1._queuedResolve, table.find(arg1._queuedResolve, var338_upvw))
table.remove(arg1._queuedReject, table.find(arg1._queuedReject, var342_upvw))
end
end
arg3_3(var346)
else
var346 = arg1
var346 = module_4_upvr.Status.Resolved
if var346._status == var346 then
var346 = unpack(arg1._values, 1, arg1._valuesLength)
var338_upvw(var346)
else
var346 = arg1
var346 = module_4_upvr.Status.Rejected
if var346._status == var346 then
var346 = unpack(arg1._values, 1, arg1._valuesLength)
var342_upvw(var346)
end
end
end
end, arg1)
end
module_4_upvr.prototype.andThen = function(arg1, arg2, arg3) -- Line 1283, Named "andThen"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [10] 8. Error Block 3 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [10] 8. Error Block 3 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [19] 15. Error Block 27 start (CF ANALYSIS FAILED)
local getmetatable_result1_5 = getmetatable(arg2)
local var351
if getmetatable_result1_5 and type(rawget(getmetatable_result1_5, "__call")) == "function" then
var351 = true
else
-- KONSTANTERROR: [40] 31. Error Block 9 start (CF ANALYSIS FAILED)
var351 = false
-- KONSTANTERROR: [40] 31. Error Block 9 end (CF ANALYSIS FAILED)
end
-- KONSTANTERROR: [19] 15. Error Block 27 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [41] 32. Error Block 24 start (CF ANALYSIS FAILED)
assert(var351, string.format("Please pass a handler function to %s!", "Promise:andThen"))
var351 = true
-- KONSTANTERROR: [41] 32. Error Block 24 end (CF ANALYSIS FAILED)
end
module_4_upvr.prototype.catch = function(arg1, arg2) -- Line 1310, Named "catch"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [10] 8. Error Block 3 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [10] 8. Error Block 3 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [19] 15. Error Block 14 start (CF ANALYSIS FAILED)
local getmetatable_result1_8 = getmetatable(arg2)
local var353
if getmetatable_result1_8 and type(rawget(getmetatable_result1_8, "__call")) == "function" then
var353 = true
else
-- KONSTANTERROR: [40] 31. Error Block 9 start (CF ANALYSIS FAILED)
var353 = false
-- KONSTANTERROR: [40] 31. Error Block 9 end (CF ANALYSIS FAILED)
end
-- KONSTANTERROR: [19] 15. Error Block 14 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [41] 32. Error Block 12 start (CF ANALYSIS FAILED)
assert(var353, string.format("Please pass a handler function to %s!", "Promise:catch"))
do
return arg1:_andThen(debug.traceback(nil, 2), nil, arg2)
end
-- KONSTANTERROR: [41] 32. Error Block 12 end (CF ANALYSIS FAILED)
end
module_4_upvr.prototype.tap = function(arg1, arg2) -- Line 1331, Named "tap"
--[[ Upvalues[2]:
[1]: module_4_upvr (readonly)
[2]: pack_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [9] 8. Error Block 12 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [9] 8. Error Block 12 end (CF ANALYSIS FAILED)
end
module_4_upvr.prototype.andThenCall = function(arg1, arg2, ...) -- Line 1366, Named "andThenCall"
--[[ Upvalues[1]:
[1]: pack_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [10] 9. Error Block 12 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [10] 9. Error Block 12 end (CF ANALYSIS FAILED)
end
module_4_upvr.prototype.andThenReturn = function(arg1, ...) -- Line 1396, Named "andThenReturn"
--[[ Upvalues[1]:
[1]: pack_upvr (readonly)
]]
local pack_result1_4_upvr, pack_result2_5_upvr = pack_upvr(...)
return arg1:_andThen(debug.traceback(nil, 2), function() -- Line 1398
--[[ Upvalues[2]:
[1]: pack_result2_5_upvr (readonly)
[2]: pack_result1_4_upvr (readonly)
]]
return unpack(pack_result2_5_upvr, 1, pack_result1_4_upvr)
end)
end
module_4_upvr.prototype.cancel = function(arg1) -- Line 1414, Named "cancel"
--[[ Upvalues[1]:
[1]: module_4_upvr (readonly)
]]
if arg1._status ~= module_4_upvr.Status.Started then
else
arg1._status = module_4_upvr.Status.Cancelled
if arg1._cancellationHook then
arg1._cancellationHook()
end
coroutine.close(arg1._thread)
if arg1._parent then
arg1._parent:_consumerCancelled(arg1)
end
for i_21 in pairs(arg1._consumers) do
i_21:cancel()
end
arg1:_finalize()
end
end
module_4_upvr.prototype._consumerCancelled = function(arg1, arg2) -- Line 1442, Named "_consumerCancelled"
--[[ Upvalues[1]:
[1]: module_4_upvr (readonly)
]]
if arg1._status ~= module_4_upvr.Status.Started then
else
arg1._consumers[arg2] = nil
if next(arg1._consumers) == nil then
arg1:cancel()
end
end
end
module_4_upvr.prototype._finally = function(arg1, arg2, arg3) -- Line 1458, Named "_finally"
--[[ Upvalues[1]:
[1]: module_4_upvr (readonly)
]]
arg1._unhandledRejection = false
return module_4_upvr._new(arg2, function(arg1_20, arg2_7, arg3_4) -- Line 1461
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: arg3 (readonly)
[3]: module_4_upvr (copied, readonly)
]]
local var367_upvw
arg3_4(function() -- Line 1464
--[[ Upvalues[2]:
[1]: arg1 (copied, readonly)
[2]: var367_upvw (read and write)
]]
arg1:_consumerCancelled(arg1)
if var367_upvw then
var367_upvw:cancel()
end
end)
local var370
if arg3 then
function var370(...) -- Line 1477
--[[ Upvalues[6]:
[1]: arg3 (copied, readonly)
[2]: module_4_upvr (copied, readonly)
[3]: var367_upvw (read and write)
[4]: arg1_20 (readonly)
[5]: arg1 (copied, readonly)
[6]: arg2_7 (readonly)
]]
local arg3_result1 = arg3(...)
if module_4_upvr.is(arg3_result1) then
var367_upvw = arg3_result1
arg3_result1:finally(function(arg1_21) -- Line 1484
--[[ Upvalues[3]:
[1]: module_4_upvr (copied, readonly)
[2]: arg1_20 (copied, readonly)
[3]: arg1 (copied, readonly)
]]
if arg1_21 ~= module_4_upvr.Status.Rejected then
arg1_20(arg1)
end
end):catch(function(...) -- Line 1489
--[[ Upvalues[1]:
[1]: arg2_7 (copied, readonly)
]]
arg2_7(...)
end)
else
arg1_20(arg1)
end
end
end
if arg1._status == module_4_upvr.Status.Started then
table.insert(arg1._queuedFinally, var370)
else
var370(arg1._status)
end
end)
end
module_4_upvr.prototype.finally = function(arg1, arg2) -- Line 1559, Named "finally"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [10] 8. Error Block 3 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [10] 8. Error Block 3 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [19] 15. Error Block 14 start (CF ANALYSIS FAILED)
local getmetatable_result1_12 = getmetatable(arg2)
local var375
if getmetatable_result1_12 and type(rawget(getmetatable_result1_12, "__call")) == "function" then
var375 = true
else
-- KONSTANTERROR: [40] 31. Error Block 9 start (CF ANALYSIS FAILED)
var375 = false
-- KONSTANTERROR: [40] 31. Error Block 9 end (CF ANALYSIS FAILED)
end
-- KONSTANTERROR: [19] 15. Error Block 14 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [41] 32. Error Block 12 start (CF ANALYSIS FAILED)
assert(var375, string.format("Please pass a handler function to %s!", "Promise:finally"))
do
return arg1:_finally(debug.traceback(nil, 2), arg2)
end
-- KONSTANTERROR: [41] 32. Error Block 12 end (CF ANALYSIS FAILED)
end
module_4_upvr.prototype.finallyCall = function(arg1, arg2, ...) -- Line 1573, Named "finallyCall"
--[[ Upvalues[1]:
[1]: pack_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [10] 9. Error Block 12 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [10] 9. Error Block 12 end (CF ANALYSIS FAILED)
end
module_4_upvr.prototype.finallyReturn = function(arg1, ...) -- Line 1599, Named "finallyReturn"
--[[ Upvalues[1]:
[1]: pack_upvr (readonly)
]]
local pack_result1_upvr, pack_result2_6_upvr = pack_upvr(...)
return arg1:_finally(debug.traceback(nil, 2), function() -- Line 1601
--[[ Upvalues[2]:
[1]: pack_result2_6_upvr (readonly)
[2]: pack_result1_upvr (readonly)
]]
return unpack(pack_result2_6_upvr, 1, pack_result1_upvr)
end)
end
module_4_upvr.prototype.awaitStatus = function(arg1) -- Line 1613, Named "awaitStatus"
--[[ Upvalues[1]:
[1]: module_4_upvr (readonly)
]]
arg1._unhandledRejection = false
if arg1._status == module_4_upvr.Status.Started then
local current_thread_upvr = coroutine.running()
arg1:finally(function() -- Line 1620
--[[ Upvalues[1]:
[1]: current_thread_upvr (readonly)
]]
task.spawn(current_thread_upvr)
end):catch(function() -- Line 1626
end)
coroutine.yield()
end
current_thread_upvr = arg1._status
if current_thread_upvr == module_4_upvr.Status.Resolved then
current_thread_upvr = arg1._status
return current_thread_upvr, unpack(arg1._values, 1, arg1._valuesLength)
end
current_thread_upvr = arg1._status
if current_thread_upvr == module_4_upvr.Status.Rejected then
current_thread_upvr = arg1._status
return current_thread_upvr, unpack(arg1._values, 1, arg1._valuesLength)
end
current_thread_upvr = arg1._status
return current_thread_upvr
end
local function awaitHelper_upvr(arg1, ...) -- Line 1641, Named "awaitHelper"
--[[ Upvalues[1]:
[1]: module_4_upvr (readonly)
]]
local var382
if arg1 ~= module_4_upvr.Status.Resolved then
var382 = false
else
var382 = true
end
return var382, ...
end
module_4_upvr.prototype.await = function(arg1) -- Line 1666, Named "await"
--[[ Upvalues[1]:
[1]: awaitHelper_upvr (readonly)
]]
return awaitHelper_upvr(arg1:awaitStatus())
end
local function expectHelper_upvr(arg1, ...) -- Line 1670, Named "expectHelper"
--[[ Upvalues[1]:
[1]: module_4_upvr (readonly)
]]
local Status = module_4_upvr.Status
if arg1 ~= Status.Resolved then
if ... == nil then
Status = "Expected Promise rejected with no value."
else
Status = ...
end
error(Status, 3)
end
return ...
end
module_4_upvr.prototype.expect = function(arg1) -- Line 1703, Named "expect"
--[[ Upvalues[1]:
[1]: expectHelper_upvr (readonly)
]]
return expectHelper_upvr(arg1:awaitStatus())
end
module_4_upvr.prototype.awaitValue = module_4_upvr.prototype.expect
module_4_upvr.prototype._unwrap = function(arg1) -- Line 1717, Named "_unwrap"
--[[ Upvalues[1]:
[1]: module_4_upvr (readonly)
]]
local var384
if var384 == module_4_upvr.Status.Started then
var384 = error
var384("Promise has not resolved or rejected.", 2)
end
if arg1._status ~= module_4_upvr.Status.Resolved then
var384 = false
else
var384 = true
end
return var384, unpack(arg1._values, 1, arg1._valuesLength)
end
module_4_upvr.prototype._resolve = function(arg1, ...) -- Line 1727, Named "_resolve"
--[[ Upvalues[3]:
[1]: module_4_upvr (readonly)
[2]: var15_upvw (read and write)
[3]: pack_upvr (readonly)
]]
if arg1._status ~= module_4_upvr.Status.Started then
if module_4_upvr.is(...) then
...:_consumerCancelled(arg1)
end
else
if module_4_upvr.is(...) then
if 1 < select('#', ...) then
warn(string.format("When returning a Promise from andThen, extra arguments are discarded! See:\n\n%s", arg1._source))
end
local var387_upvr = ...
local any_andThen_result1_2 = var387_upvr:andThen(function(...) -- Line 1748
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:_resolve(...)
end, function(...) -- Line 1750
--[[ Upvalues[3]:
[1]: var387_upvr (readonly)
[2]: var15_upvw (copied, read and write)
[3]: arg1 (readonly)
]]
local _1 = var387_upvr._values[1]
if var387_upvr._error then
_1 = var15_upvw.new({
error = var387_upvr._error;
kind = var15_upvw.Kind.ExecutionError;
context = "[No stack trace available as this Promise originated from an older version of the Promise library (< v2)]";
})
end
if var15_upvw.isKind(_1, var15_upvw.Kind.ExecutionError) then
return arg1:_reject(_1:extend({
error = "This Promise was chained to a Promise that errored.";
trace = "";
context = string.format("The Promise at:\n\n%s\n...Rejected because it was chained to the following Promise, which encountered an error:\n", arg1._source);
}))
end
arg1:_reject(...)
end)
if any_andThen_result1_2._status == module_4_upvr.Status.Cancelled then
arg1:cancel()
elseif any_andThen_result1_2._status == module_4_upvr.Status.Started then
arg1._parent = any_andThen_result1_2
any_andThen_result1_2._consumers[arg1] = true
end
end
var387_upvr = module_4_upvr.Status.Resolved
arg1._status = var387_upvr
var387_upvr = pack_upvr(...)
local pack_result1_5, pack_result2 = pack_upvr(...)
arg1._valuesLength = pack_result1_5
arg1._values = pack_result2
pack_result1_5 = ipairs(arg1._queuedResolve)
local ipairs_result1_10, ipairs_result2_3, ipairs_result3_7 = ipairs(arg1._queuedResolve)
for _, v_21 in ipairs_result1_10, ipairs_result2_3, ipairs_result3_7 do
coroutine.wrap(v_21)(...)
end
ipairs_result1_10 = arg1:_finalize
ipairs_result1_10()
end
end
module_4_upvr.prototype._reject = function(arg1, ...) -- Line 1798, Named "_reject"
--[[ Upvalues[2]:
[1]: module_4_upvr (readonly)
[2]: pack_upvr (readonly)
]]
if arg1._status ~= module_4_upvr.Status.Started then
else
arg1._status = module_4_upvr.Status.Rejected
local pack_result1, pack_upvr_result2 = pack_upvr(...)
arg1._valuesLength = pack_result1
arg1._values = pack_upvr_result2
if next(arg1._queuedReject) ~= nil then
pack_result1 = false
else
pack_result1 = true
end
if not pack_result1 then
for _, v_22 in ipairs(arg1._queuedReject) do
coroutine.wrap(v_22)(...)
end
else
local tostring_result1_upvr = tostring(...)
coroutine.wrap(function() -- Line 1820
--[[ Upvalues[3]:
[1]: module_4_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: tostring_result1_upvr (readonly)
]]
module_4_upvr._timeEvent:Wait()
if not arg1._unhandledRejection then
else
for _, v_23 in ipairs(module_4_upvr._unhandledRejectionCallbacks) do
task.spawn(v_23, arg1, unpack(arg1._values, 1, arg1._valuesLength))
end
if module_4_upvr.TEST then return end
warn(string.format("Unhandled Promise rejection:\n\n%s\n\n%s", tostring_result1_upvr, arg1._source))
end
end)()
end
tostring_result1_upvr = arg1:_finalize
tostring_result1_upvr()
end
end
module_4_upvr.prototype._finalize = function(arg1) -- Line 1852, Named "_finalize"
--[[ Upvalues[1]:
[1]: module_4_upvr (readonly)
]]
for _, v_15 in ipairs(arg1._queuedFinally) do
coroutine.wrap(v_15)(arg1._status)
end
arg1._queuedFinally = nil
arg1._queuedReject = nil
arg1._queuedResolve = nil
if not module_4_upvr.TEST then
arg1._parent = nil
arg1._consumers = nil
end
task.defer(coroutine.close, arg1._thread)
end
module_4_upvr.prototype.now = function(arg1, arg2) -- Line 1889, Named "now"
--[[ Upvalues[2]:
[1]: module_4_upvr (readonly)
[2]: var15_upvw (read and write)
]]
local call_stack = debug.traceback(nil, 2)
local var421
if arg1._status == var421 then
return arg1:_andThen(call_stack, function(...) -- Line 1892
return ...
end)
end
var421 = module_4_upvr
local function INLINED_2() -- Internal function, doesn't exist in bytecode
var421 = var421(tbl_4)
tbl_4.context = ":now() was called at:\n\n"..call_stack
tbl_4.error = "This Promise was not resolved in time for :now()"
tbl_4.kind = var15_upvw.Kind.NotResolvedInTime
local tbl_4 = {}
var421 = var15_upvw.new
return var421
end
if arg2 ~= nil or not INLINED_2() then
var421 = arg2
end
return var421.reject(var421)
end
function module_4_upvr.retry(arg1, arg2, ...) -- Line 1934
--[[ Upvalues[1]:
[1]: module_4_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [10] 9. Error Block 17 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [10] 9. Error Block 17 end (CF ANALYSIS FAILED)
end
function module_4_upvr.retryWithDelay(arg1, arg2, arg3, ...) -- Line 1962
--[[ Upvalues[1]:
[1]: module_4_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [10] 9. Error Block 22 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [10] 9. Error Block 22 end (CF ANALYSIS FAILED)
end
function module_4_upvr.fromEvent(arg1, arg2) -- Line 2004
--[[ Upvalues[1]:
[1]: module_4_upvr (readonly)
]]
local var425_upvw = arg2
if not var425_upvw then
function var425_upvw() -- Line 2005
return true
end
end
return module_4_upvr._new(debug.traceback(nil, 2), function(arg1_22, arg2_8, arg3) -- Line 2009
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: var425_upvw (read and write)
]]
local var427_upvw
local var428_upvw = false
local function disconnect() -- Line 2013
--[[ Upvalues[1]:
[1]: var427_upvw (read and write)
]]
var427_upvw:Disconnect()
var427_upvw = nil
end
var427_upvw = arg1:Connect(function(...) -- Line 2022
--[[ Upvalues[4]:
[1]: var425_upvw (copied, read and write)
[2]: arg1_22 (readonly)
[3]: var427_upvw (read and write)
[4]: var428_upvw (read and write)
]]
local var425_result1 = var425_upvw(...)
if var425_result1 == true then
arg1_22(...)
if var427_upvw then
var427_upvw:Disconnect()
var427_upvw = nil
else
var428_upvw = true
end
end
if type(var425_result1) ~= "boolean" then
error("Promise.fromEvent predicate should always return a boolean")
end
end)
if var428_upvw then
if var427_upvw then
return disconnect()
end
end
arg3(disconnect)
end)
end
function module_4_upvr.onUnhandledRejection(arg1) -- Line 2056
--[[ Upvalues[1]:
[1]: module_4_upvr (readonly)
]]
table.insert(module_4_upvr._unhandledRejectionCallbacks, arg1)
return function() -- Line 2059
--[[ Upvalues[2]:
[1]: module_4_upvr (copied, readonly)
[2]: arg1 (readonly)
]]
local table_find_result1 = table.find(module_4_upvr._unhandledRejectionCallbacks, arg1)
if table_find_result1 then
table.remove(module_4_upvr._unhandledRejectionCallbacks, table_find_result1)
end
end
end
return module_4_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:02:47
-- Luau version 6, Types version 3
-- Time taken: 0.108263 seconds
return function() -- Line 1
local Parent_upvr = require(script.Parent)
Parent_upvr.TEST = true
local BindableEvent_upvr_5 = Instance.new("BindableEvent")
Parent_upvr._timeEvent = BindableEvent_upvr_5.Event
local var4_upvw = 0
function Parent_upvr._getTime() -- Line 12
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
return var4_upvw
end
local function advanceTime_upvw(arg1) -- Line 16, Named "advanceTime"
--[[ Upvalues[2]:
[1]: var4_upvw (read and write)
[2]: BindableEvent_upvr_5 (readonly)
]]
local var6 = arg1 or (1/60)
var4_upvw += var6
BindableEvent_upvr_5:Fire(var6)
end
local function pack_upvr(...) -- Line 24, Named "pack"
return select('#', ...), {...}
end
describe("Promise.Status", function() -- Line 30
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should error if indexing nil value", function() -- Line 31
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(function() -- Line 32
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
end).to.throw()
end)
end)
describe("Unhandled rejection signal", function() -- Line 38
--[[ Upvalues[2]:
[1]: Parent_upvr (readonly)
[2]: advanceTime_upvw (read and write)
]]
it("should call unhandled rejection callbacks", function() -- Line 39
--[[ Upvalues[2]:
[1]: Parent_upvr (copied, readonly)
[2]: advanceTime_upvw (copied, read and write)
]]
local var14_upvw = 0
local any_new_result1_31_upvr = Parent_upvr.new(function(arg1, arg2) -- Line 40
arg2(1, 2)
end)
advanceTime_upvw()
expect(var14_upvw).to.equal(1)
Parent_upvr.onUnhandledRejection(function(arg1, arg2, arg3) -- Line 46, Named "callback"
--[[ Upvalues[2]:
[1]: var14_upvw (read and write)
[2]: any_new_result1_31_upvr (readonly)
]]
var14_upvw += 1
expect(arg1).to.equal(any_new_result1_31_upvr)
expect(arg2).to.equal(1)
expect(arg3).to.equal(2)
end)()
Parent_upvr.new(function(arg1, arg2) -- Line 62
arg2(3, 4)
end)
advanceTime_upvw()
expect(var14_upvw).to.equal(1)
end)
end)
describe("Promise.new", function() -- Line 72
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should instantiate with a callback", function() -- Line 73
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(Parent_upvr.new(function() -- Line 74
end)).to.be.ok()
end)
it("should invoke the given callback with resolve and reject", function() -- Line 79
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local var21_upvw = 0
local var22_upvw
local var23_upvw
local any_new_result1_7 = Parent_upvr.new(function(arg1, arg2) -- Line 84
--[[ Upvalues[3]:
[1]: var21_upvw (read and write)
[2]: var22_upvw (read and write)
[3]: var23_upvw (read and write)
]]
var21_upvw += 1
var22_upvw = arg1
var23_upvw = arg2
end)
expect(any_new_result1_7).to.be.ok()
expect(var21_upvw).to.equal(1)
expect(var22_upvw).to.be.a("function")
expect(var23_upvw).to.be.a("function")
expect(any_new_result1_7:getStatus()).to.equal(Parent_upvr.Status.Started)
end)
it("should resolve promises on resolve()", function() -- Line 98
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local var27_upvw = 0
local any_new_result1_28 = Parent_upvr.new(function(arg1) -- Line 101
--[[ Upvalues[1]:
[1]: var27_upvw (read and write)
]]
var27_upvw += 1
arg1()
end)
expect(any_new_result1_28).to.be.ok()
expect(var27_upvw).to.equal(1)
expect(any_new_result1_28:getStatus()).to.equal(Parent_upvr.Status.Resolved)
end)
it("should reject promises on reject()", function() -- Line 111
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local var31_upvw = 0
local any_new_result1_5 = Parent_upvr.new(function(arg1, arg2) -- Line 114
--[[ Upvalues[1]:
[1]: var31_upvw (read and write)
]]
var31_upvw += 1
arg2()
end)
expect(any_new_result1_5).to.be.ok()
expect(var31_upvw).to.equal(1)
expect(any_new_result1_5:getStatus()).to.equal(Parent_upvr.Status.Rejected)
end)
it("should reject on error in callback", function() -- Line 124
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local var35_upvw = 0
local any_new_result1_11 = Parent_upvr.new(function() -- Line 127
--[[ Upvalues[1]:
[1]: var35_upvw (read and write)
]]
var35_upvw += 1
error("hahah")
end)
expect(any_new_result1_11).to.be.ok()
expect(var35_upvw).to.equal(1)
expect(any_new_result1_11:getStatus()).to.equal(Parent_upvr.Status.Rejected)
expect(tostring(any_new_result1_11._values[1]):find("hahah")).to.be.ok()
expect(tostring(any_new_result1_11._values[1]):find("init.spec")).to.be.ok()
expect(tostring(any_new_result1_11._values[1]):find("runExecutor")).to.be.ok()
end)
it("should work with C functions", function() -- Line 142
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(function() -- Line 143
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
Parent_upvr.new(tick):andThen(tick)
end).to.never.throw()
end)
it("should have a nice tostring", function() -- Line 148
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(tostring(Parent_upvr.resolve()):gmatch("Promise(Resolved)")).to.be.ok()
end)
it("should allow yielding", function() -- Line 152
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local BindableEvent_upvr = Instance.new("BindableEvent")
local any_new_result1_26 = Parent_upvr.new(function(arg1) -- Line 154
--[[ Upvalues[1]:
[1]: BindableEvent_upvr (readonly)
]]
BindableEvent_upvr.Event:Wait()
arg1(5)
end)
expect(any_new_result1_26:getStatus()).to.equal(Parent_upvr.Status.Started)
BindableEvent_upvr:Fire()
expect(any_new_result1_26:getStatus()).to.equal(Parent_upvr.Status.Resolved)
expect(any_new_result1_26._values[1]).to.equal(5)
end)
it("should preserve stack traces of resolve-chained promises", function() -- Line 165
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local function _(arg1) -- Line 166, Named "nestedCall"
error(arg1)
end
local any_new_result1_10 = Parent_upvr.new(function(arg1) -- Line 170
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
arg1(Parent_upvr.new(function() -- Line 171
error("sample text")
end))
end)
expect(any_new_result1_10:getStatus()).to.equal(Parent_upvr.Status.Rejected)
local tostring_result1 = tostring(any_new_result1_10._values[1])
expect(tostring_result1:find("sample text")).to.be.ok()
expect(tostring_result1:find("nestedCall")).to.be.ok()
expect(tostring_result1:find("runExecutor")).to.be.ok()
expect(tostring_result1:find("runPlanNode")).to.be.ok()
expect(tostring_result1:find("...Rejected because it was chained to the following Promise, which encountered an error:")).to.be.ok()
end)
it("should report errors from Promises with _error (< v2)", function() -- Line 188
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_reject_result1_2 = Parent_upvr.reject()
any_reject_result1_2._error = "Sample error"
local any_andThenReturn_result1 = Parent_upvr.resolve():andThenReturn(any_reject_result1_2)
expect(any_andThenReturn_result1:getStatus()).to.equal(Parent_upvr.Status.Rejected)
local tostring_result1_2 = tostring(any_andThenReturn_result1._values[1])
expect(tostring_result1_2:find("Sample error")).to.be.ok()
expect(tostring_result1_2:find("...Rejected because it was chained to the following Promise, which encountered an error:")).to.be.ok()
expect(tostring_result1_2:find("%[No stack trace available")).to.be.ok()
end)
it("should allow callable tables", function() -- Line 204
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local tbl_16 = {}
local function __call(arg1, arg2) -- Line 206
arg2(1)
end
tbl_16.__call = __call
local var56_upvw = false
Parent_upvr.new(setmetatable({}, tbl_16)):andThen(setmetatable({}, {
__call = function(arg1, arg2) -- Line 213, Named "__call"
--[[ Upvalues[1]:
[1]: var56_upvw (read and write)
]]
expect(arg2).to.equal(1)
var56_upvw = true
end;
}))
expect(var56_upvw).to.equal(true)
end)
itSKIP("should close the thread after resolve", function() -- Line 222
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local var59_upvw = 0
Parent_upvr.new(function(arg1) -- Line 224
--[[ Upvalues[2]:
[1]: var59_upvw (read and write)
[2]: Parent_upvr (copied, readonly)
]]
var59_upvw += 1
arg1()
Parent_upvr.delay(1):await()
var59_upvw += 1
end)
task.wait(1)
expect(var59_upvw).to.equal(1)
end)
end)
describe("Promise.defer", function() -- Line 237
--[[ Upvalues[2]:
[1]: Parent_upvr (readonly)
[2]: advanceTime_upvw (read and write)
]]
it("should execute after the time event", function() -- Line 238
--[[ Upvalues[2]:
[1]: Parent_upvr (copied, readonly)
[2]: advanceTime_upvw (copied, read and write)
]]
local var63_upvw = 0
local any_defer_result1 = Parent_upvr.defer(function(arg1, arg2, arg3, arg4) -- Line 240
--[[ Upvalues[1]:
[1]: var63_upvw (read and write)
]]
expect(type(arg1)).to.equal("function")
expect(type(arg2)).to.equal("function")
expect(type(arg3)).to.equal("function")
expect(type(arg4)).to.equal("nil")
var63_upvw += 1
arg1("foo")
end)
expect(var63_upvw).to.equal(0)
expect(any_defer_result1:getStatus()).to.equal(Parent_upvr.Status.Started)
advanceTime_upvw()
expect(var63_upvw).to.equal(1)
expect(any_defer_result1:getStatus()).to.equal(Parent_upvr.Status.Resolved)
advanceTime_upvw()
expect(var63_upvw).to.equal(1)
end)
end)
describe("Promise.delay", function() -- Line 263
--[[ Upvalues[2]:
[1]: Parent_upvr (readonly)
[2]: advanceTime_upvw (read and write)
]]
it("should schedule promise resolution", function() -- Line 264
--[[ Upvalues[2]:
[1]: Parent_upvr (copied, readonly)
[2]: advanceTime_upvw (copied, read and write)
]]
local any_delay_result1 = Parent_upvr.delay(1)
expect(any_delay_result1:getStatus()).to.equal(Parent_upvr.Status.Started)
advanceTime_upvw()
expect(any_delay_result1:getStatus()).to.equal(Parent_upvr.Status.Started)
advanceTime_upvw(1)
expect(any_delay_result1:getStatus()).to.equal(Parent_upvr.Status.Resolved)
end)
it("should allow for delays to be cancelled", function() -- Line 276
--[[ Upvalues[2]:
[1]: Parent_upvr (copied, readonly)
[2]: advanceTime_upvw (copied, read and write)
]]
local any_delay_result1_upvr = Parent_upvr.delay(2)
Parent_upvr.delay(1):andThen(function() -- Line 279
--[[ Upvalues[1]:
[1]: any_delay_result1_upvr (readonly)
]]
any_delay_result1_upvr:cancel()
end)
expect(any_delay_result1_upvr:getStatus()).to.equal(Parent_upvr.Status.Started)
advanceTime_upvw()
expect(any_delay_result1_upvr:getStatus()).to.equal(Parent_upvr.Status.Started)
advanceTime_upvw(1)
expect(any_delay_result1_upvr:getStatus()).to.equal(Parent_upvr.Status.Cancelled)
advanceTime_upvw(1)
end)
end)
describe("Promise.resolve", function() -- Line 292
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should immediately resolve with a value", function() -- Line 293
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_resolve_result1_2 = Parent_upvr.resolve(5, 6)
expect(any_resolve_result1_2).to.be.ok()
expect(any_resolve_result1_2:getStatus()).to.equal(Parent_upvr.Status.Resolved)
expect(any_resolve_result1_2._values[1]).to.equal(5)
expect(any_resolve_result1_2._values[2]).to.equal(6)
end)
it("should chain onto passed promises", function() -- Line 302
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_resolve_result1 = Parent_upvr.resolve(Parent_upvr.new(function(arg1, arg2) -- Line 303
arg2(7)
end))
expect(any_resolve_result1).to.be.ok()
expect(any_resolve_result1:getStatus()).to.equal(Parent_upvr.Status.Rejected)
expect(any_resolve_result1._values[1]).to.equal(7)
end)
end)
describe("Promise.reject", function() -- Line 313
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should immediately reject with a value", function() -- Line 314
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_reject_result1_5 = Parent_upvr.reject(6, 7)
expect(any_reject_result1_5).to.be.ok()
expect(any_reject_result1_5:getStatus()).to.equal(Parent_upvr.Status.Rejected)
expect(any_reject_result1_5._values[1]).to.equal(6)
expect(any_reject_result1_5._values[2]).to.equal(7)
end)
it("should pass a promise as-is as an error", function() -- Line 323
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_new_result1_14 = Parent_upvr.new(function(arg1) -- Line 324
arg1(6)
end)
local any_reject_result1_3 = Parent_upvr.reject(any_new_result1_14)
expect(any_reject_result1_3).to.be.ok()
expect(any_reject_result1_3:getStatus()).to.equal(Parent_upvr.Status.Rejected)
expect(any_reject_result1_3._values[1]).to.equal(any_new_result1_14)
end)
end)
describe("Promise:andThen", function() -- Line 336
--[[ Upvalues[2]:
[1]: Parent_upvr (readonly)
[2]: pack_upvr (readonly)
]]
it("should allow yielding", function() -- Line 337
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local BindableEvent_upvr_4 = Instance.new("BindableEvent")
local any_andThen_result1_4 = Parent_upvr.resolve():andThen(function() -- Line 339
--[[ Upvalues[1]:
[1]: BindableEvent_upvr_4 (readonly)
]]
BindableEvent_upvr_4.Event:Wait()
return 5
end)
expect(any_andThen_result1_4:getStatus()).to.equal(Parent_upvr.Status.Started)
BindableEvent_upvr_4:Fire()
expect(any_andThen_result1_4:getStatus()).to.equal(Parent_upvr.Status.Resolved)
expect(any_andThen_result1_4._values[1]).to.equal(5)
end)
it("should run andThens on a new thread", function() -- Line 350
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local var91_upvw
local any_new_result1_30 = Parent_upvr.new(function(arg1) -- Line 354
--[[ Upvalues[1]:
[1]: var91_upvw (read and write)
]]
var91_upvw = arg1
end)
local BindableEvent_upvr_3 = Instance.new("BindableEvent")
local any_andThen_result1 = any_new_result1_30:andThen(function() -- Line 363
return "foo"
end)
expect(any_new_result1_30:getStatus()).to.equal(Parent_upvr.Status.Started)
var91_upvw()
expect(any_andThen_result1:getStatus()).to.equal(Parent_upvr.Status.Resolved)
expect(any_andThen_result1._values[1]).to.equal("foo")
expect(any_new_result1_30:andThen(function() -- Line 358
--[[ Upvalues[1]:
[1]: BindableEvent_upvr_3 (readonly)
]]
BindableEvent_upvr_3.Event:Wait()
return 5
end):getStatus()).to.equal(Parent_upvr.Status.Started)
end)
it("should chain onto resolved promises", function() -- Line 374
--[[ Upvalues[2]:
[1]: Parent_upvr (copied, readonly)
[2]: pack_upvr (copied, readonly)
]]
local var99_upvw
local var100_upvw
local var101_upvw = 0
local var102_upvw = 0
local any_resolve_result1_3 = Parent_upvr.resolve(5)
local any_andThen_result1_5 = any_resolve_result1_3:andThen(function(...) -- Line 382
--[[ Upvalues[4]:
[1]: var100_upvw (read and write)
[2]: var99_upvw (read and write)
[3]: pack_upvr (copied, readonly)
[4]: var101_upvw (read and write)
]]
local pack_result1_4, pack_result2_3 = pack_upvr(...)
var100_upvw = pack_result1_4
var99_upvw = pack_result2_3
var101_upvw += 1
end, function() -- Line 385
--[[ Upvalues[1]:
[1]: var102_upvw (read and write)
]]
var102_upvw += 1
end)
expect(var102_upvw).to.equal(0)
expect(var101_upvw).to.equal(1)
expect(var100_upvw).to.equal(1)
expect(var99_upvw[1]).to.equal(5)
expect(any_resolve_result1_3).to.be.ok()
expect(any_resolve_result1_3:getStatus()).to.equal(Parent_upvr.Status.Resolved)
expect(any_resolve_result1_3._values[1]).to.equal(5)
expect(any_andThen_result1_5).to.be.ok()
expect(any_andThen_result1_5).never.to.equal(any_resolve_result1_3)
expect(any_andThen_result1_5:getStatus()).to.equal(Parent_upvr.Status.Resolved)
expect(#any_andThen_result1_5._values).to.equal(0)
end)
it("should chain onto rejected promises", function() -- Line 405
--[[ Upvalues[2]:
[1]: Parent_upvr (copied, readonly)
[2]: pack_upvr (copied, readonly)
]]
local var110_upvw
local var111_upvw
local var112_upvw = 0
local var113_upvw = 0
local any_reject_result1 = Parent_upvr.reject(5)
local any_andThen_result1_12 = any_reject_result1:andThen(function(...) -- Line 413
--[[ Upvalues[1]:
[1]: var113_upvw (read and write)
]]
var113_upvw += 1
end, function(...) -- Line 415
--[[ Upvalues[4]:
[1]: var111_upvw (read and write)
[2]: var110_upvw (read and write)
[3]: pack_upvr (copied, readonly)
[4]: var112_upvw (read and write)
]]
local pack_result1_3, pack_result2_5 = pack_upvr(...)
var111_upvw = pack_result1_3
var110_upvw = pack_result2_5
var112_upvw += 1
end)
expect(var113_upvw).to.equal(0)
expect(var112_upvw).to.equal(1)
expect(var111_upvw).to.equal(1)
expect(var110_upvw[1]).to.equal(5)
expect(any_reject_result1).to.be.ok()
expect(any_reject_result1:getStatus()).to.equal(Parent_upvr.Status.Rejected)
expect(any_reject_result1._values[1]).to.equal(5)
expect(any_andThen_result1_12).to.be.ok()
expect(any_andThen_result1_12).never.to.equal(any_reject_result1)
expect(any_andThen_result1_12:getStatus()).to.equal(Parent_upvr.Status.Resolved)
expect(#any_andThen_result1_12._values).to.equal(0)
end)
it("should reject on error in callback", function() -- Line 436
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local var121_upvw = 0
local any_andThen_result1_8 = Parent_upvr.resolve(1):andThen(function() -- Line 439
--[[ Upvalues[1]:
[1]: var121_upvw (read and write)
]]
var121_upvw += 1
error("hahah")
end)
expect(any_andThen_result1_8).to.be.ok()
expect(var121_upvw).to.equal(1)
expect(any_andThen_result1_8:getStatus()).to.equal(Parent_upvr.Status.Rejected)
expect(tostring(any_andThen_result1_8._values[1]):find("hahah")).to.be.ok()
expect(tostring(any_andThen_result1_8._values[1]):find("init.spec")).to.be.ok()
expect(tostring(any_andThen_result1_8._values[1]):find("runExecutor")).to.be.ok()
end)
it("should chain onto asynchronously resolved promises", function() -- Line 454
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local var125_upvw
local var126_upvw
local var127_upvw = 0
local var128_upvw = 0
local var129_upvw
local any_new_result1_27 = Parent_upvr.new(function(arg1) -- Line 461
--[[ Upvalues[1]:
[1]: var129_upvw (read and write)
]]
var129_upvw = arg1
end)
local any_andThen_result1_7 = any_new_result1_27:andThen(function(...) -- Line 465
--[[ Upvalues[3]:
[1]: var125_upvw (read and write)
[2]: var126_upvw (read and write)
[3]: var127_upvw (read and write)
]]
var125_upvw = {...}
var126_upvw = select('#', ...)
var127_upvw += 1
end, function() -- Line 469
--[[ Upvalues[1]:
[1]: var128_upvw (read and write)
]]
var128_upvw += 1
end)
expect(var127_upvw).to.equal(0)
expect(var128_upvw).to.equal(0)
var129_upvw(6)
expect(var128_upvw).to.equal(0)
expect(var127_upvw).to.equal(1)
expect(var126_upvw).to.equal(1)
expect(var125_upvw[1]).to.equal(6)
expect(any_new_result1_27).to.be.ok()
expect(any_new_result1_27:getStatus()).to.equal(Parent_upvr.Status.Resolved)
expect(any_new_result1_27._values[1]).to.equal(6)
expect(any_andThen_result1_7).to.be.ok()
expect(any_andThen_result1_7).never.to.equal(any_new_result1_27)
expect(any_andThen_result1_7:getStatus()).to.equal(Parent_upvr.Status.Resolved)
expect(#any_andThen_result1_7._values).to.equal(0)
end)
it("should chain onto asynchronously rejected promises", function() -- Line 494
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local var137_upvw
local var138_upvw
local var139_upvw = 0
local var140_upvw = 0
local var141_upvw
local any_new_result1_12 = Parent_upvr.new(function(arg1, arg2) -- Line 501
--[[ Upvalues[1]:
[1]: var141_upvw (read and write)
]]
var141_upvw = arg2
end)
local any_andThen_result1_2 = any_new_result1_12:andThen(function() -- Line 505
--[[ Upvalues[1]:
[1]: var140_upvw (read and write)
]]
var140_upvw += 1
end, function(...) -- Line 507
--[[ Upvalues[3]:
[1]: var137_upvw (read and write)
[2]: var138_upvw (read and write)
[3]: var139_upvw (read and write)
]]
var137_upvw = {...}
var138_upvw = select('#', ...)
var139_upvw += 1
end)
expect(var139_upvw).to.equal(0)
expect(var140_upvw).to.equal(0)
var141_upvw(6)
expect(var140_upvw).to.equal(0)
expect(var139_upvw).to.equal(1)
expect(var138_upvw).to.equal(1)
expect(var137_upvw[1]).to.equal(6)
expect(any_new_result1_12).to.be.ok()
expect(any_new_result1_12:getStatus()).to.equal(Parent_upvr.Status.Rejected)
expect(any_new_result1_12._values[1]).to.equal(6)
expect(any_andThen_result1_2).to.be.ok()
expect(any_andThen_result1_2).never.to.equal(any_new_result1_12)
expect(any_andThen_result1_2:getStatus()).to.equal(Parent_upvr.Status.Resolved)
expect(#any_andThen_result1_2._values).to.equal(0)
end)
it("should propagate errors through multiple levels", function() -- Line 534
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local var149_upvw
local var150_upvw
local var151_upvw
Parent_upvr.new(function(arg1, arg2) -- Line 536
arg2(1, 2, 3)
end):andThen(function() -- Line 538
end):catch(function(arg1, arg2, arg3) -- Line 538
--[[ Upvalues[3]:
[1]: var149_upvw (read and write)
[2]: var150_upvw (read and write)
[3]: var151_upvw (read and write)
]]
var149_upvw = arg1
var150_upvw = arg2
var151_upvw = arg3
end)
expect(var149_upvw).to.equal(1)
expect(var150_upvw).to.equal(2)
expect(var151_upvw).to.equal(3)
end)
it("should not call queued callbacks from a cancelled sub-promise", function() -- Line 547
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local var156_upvw
local var157_upvw = 0
local any_new_result1_25 = Parent_upvr.new(function(arg1) -- Line 551
--[[ Upvalues[1]:
[1]: var156_upvw (read and write)
]]
var156_upvw = arg1
end)
any_new_result1_25:andThen(function() -- Line 555
--[[ Upvalues[1]:
[1]: var157_upvw (read and write)
]]
var157_upvw += 1
end)
any_new_result1_25:andThen(function() -- Line 560
--[[ Upvalues[1]:
[1]: var157_upvw (read and write)
]]
var157_upvw += 1
end):cancel()
var156_upvw("foo")
expect(var157_upvw).to.equal(1)
end)
end)
describe("Promise:cancel", function() -- Line 571
--[[ Upvalues[2]:
[1]: Parent_upvr (readonly)
[2]: advanceTime_upvw (read and write)
]]
it("should mark promises as cancelled and not resolve or reject them", function() -- Line 572
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local var164_upvw = 0
local var165_upvw = 0
local any_finally_result1_3 = Parent_upvr.new(function() -- Line 575
end):andThen(function() -- Line 576
--[[ Upvalues[1]:
[1]: var164_upvw (read and write)
]]
var164_upvw += 1
end):finally(function() -- Line 579
--[[ Upvalues[1]:
[1]: var165_upvw (read and write)
]]
var165_upvw += 1
end)
any_finally_result1_3:cancel()
any_finally_result1_3:cancel()
expect(var164_upvw).to.equal(0)
expect(var165_upvw).to.equal(1)
expect(any_finally_result1_3:getStatus()).to.equal(Parent_upvr.Status.Cancelled)
end)
it("should call the cancellation hook once", function() -- Line 591
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local var171_upvw = 0
local any_new_result1_29 = Parent_upvr.new(function(arg1, arg2, arg3) -- Line 594
--[[ Upvalues[1]:
[1]: var171_upvw (read and write)
]]
arg3(function() -- Line 595
--[[ Upvalues[1]:
[1]: var171_upvw (copied, read and write)
]]
var171_upvw += 1
end)
end)
any_new_result1_29:cancel()
any_new_result1_29:cancel()
expect(var171_upvw).to.equal(1)
end)
it("should propagate cancellations", function() -- Line 606
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_new_result1_19 = Parent_upvr.new(function() -- Line 607
end)
local any_andThen_result1_10 = any_new_result1_19:andThen()
local any_andThen_result1_6 = any_new_result1_19:andThen()
expect(any_new_result1_19:getStatus()).to.equal(Parent_upvr.Status.Started)
expect(any_andThen_result1_10:getStatus()).to.equal(Parent_upvr.Status.Started)
expect(any_andThen_result1_6:getStatus()).to.equal(Parent_upvr.Status.Started)
any_andThen_result1_10:cancel()
expect(any_new_result1_19:getStatus()).to.equal(Parent_upvr.Status.Started)
expect(any_andThen_result1_10:getStatus()).to.equal(Parent_upvr.Status.Cancelled)
expect(any_andThen_result1_6:getStatus()).to.equal(Parent_upvr.Status.Started)
any_andThen_result1_6:cancel()
expect(any_new_result1_19:getStatus()).to.equal(Parent_upvr.Status.Cancelled)
expect(any_andThen_result1_10:getStatus()).to.equal(Parent_upvr.Status.Cancelled)
expect(any_andThen_result1_6:getStatus()).to.equal(Parent_upvr.Status.Cancelled)
end)
it("should affect downstream promises", function() -- Line 629
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_new_result1_15 = Parent_upvr.new(function() -- Line 630
end)
any_new_result1_15:cancel()
expect(any_new_result1_15:andThen():getStatus()).to.equal(Parent_upvr.Status.Cancelled)
end)
it("should track consumers", function() -- Line 638
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_resolve_result1_4 = Parent_upvr.resolve()
local any_new_result1_2_upvr = Parent_upvr.new(function() -- Line 639
end)
local any_andThen_result1_11_upvr = any_resolve_result1_4:andThen(function() -- Line 641
--[[ Upvalues[1]:
[1]: any_new_result1_2_upvr (readonly)
]]
return any_new_result1_2_upvr
end)
local any_new_result1_9 = Parent_upvr.new(function(arg1) -- Line 644
--[[ Upvalues[1]:
[1]: any_andThen_result1_11_upvr (readonly)
]]
arg1(any_andThen_result1_11_upvr)
end)
local any_andThen_result1_9 = any_new_result1_9:andThen(function() -- Line 647
end)
expect(any_andThen_result1_11_upvr._parent).to.never.equal(any_resolve_result1_4)
expect(any_new_result1_9._parent).to.never.equal(any_andThen_result1_11_upvr)
expect(any_new_result1_9._consumers[any_andThen_result1_9]).to.be.ok()
expect(any_andThen_result1_9._parent).to.equal(any_new_result1_9)
end)
it("should cancel resolved pending promises", function() -- Line 655
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_new_result1_22_upvr = Parent_upvr.new(function() -- Line 656
end)
local any_finally_result1_4 = Parent_upvr.new(function(arg1) -- Line 658
--[[ Upvalues[1]:
[1]: any_new_result1_22_upvr (readonly)
]]
arg1(any_new_result1_22_upvr)
end):finally(function() -- Line 660
end)
any_finally_result1_4:cancel()
expect(any_new_result1_22_upvr._status).to.equal(Parent_upvr.Status.Cancelled)
expect(any_finally_result1_4._status).to.equal(Parent_upvr.Status.Cancelled)
end)
it("should close the promise thread", function() -- Line 668
--[[ Upvalues[2]:
[1]: Parent_upvr (copied, readonly)
[2]: advanceTime_upvw (copied, read and write)
]]
local var200_upvw = 0
Parent_upvr.new(function() -- Line 670
--[[ Upvalues[2]:
[1]: var200_upvw (read and write)
[2]: Parent_upvr (copied, readonly)
]]
var200_upvw += 1
Parent_upvr.delay(1):await()
var200_upvw += 1
end):cancel()
advanceTime_upvw(2)
expect(var200_upvw).to.equal(1)
end)
end)
describe("Promise:finally", function() -- Line 683
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should be called upon resolve, reject, or cancel", function() -- Line 684
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local var204_upvw = 0
local function finally() -- Line 687
--[[ Upvalues[1]:
[1]: var204_upvw (read and write)
]]
var204_upvw += 1
end
Parent_upvr.new(function(arg1, arg2) -- Line 692
arg1()
end):finally(finally)
Parent_upvr.resolve():andThen(function() -- Line 697
end):finally(finally):finally(finally)
Parent_upvr.reject():finally(finally)
Parent_upvr.new(function() -- Line 702
end):finally(finally):cancel()
expect(var204_upvw).to.equal(5)
end)
it("should not forward return values", function() -- Line 708
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local var209_upvw
Parent_upvr.resolve(2):finally(function() -- Line 712
return 1
end):andThen(function(arg1) -- Line 715
--[[ Upvalues[1]:
[1]: var209_upvw (read and write)
]]
var209_upvw = arg1
end)
expect(var209_upvw).to.equal(2)
end)
it("should not consume rejections", function() -- Line 722
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local var213_upvw = false
local var214_upvw = false
Parent_upvr.reject(5):finally(function() -- Line 726
return 42
end):andThen(function() -- Line 729
--[[ Upvalues[1]:
[1]: var214_upvw (read and write)
]]
var214_upvw = true
end):catch(function(arg1) -- Line 732
--[[ Upvalues[1]:
[1]: var213_upvw (read and write)
]]
var213_upvw = true
expect(arg1).to.equal(5)
end)
expect(var213_upvw).to.equal(true)
expect(var214_upvw).to.equal(false)
end)
it("should wait for returned promises", function() -- Line 741
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local var219_upvw
local any_finally_result1_2 = Parent_upvr.reject("foo"):finally(function() -- Line 743
--[[ Upvalues[2]:
[1]: Parent_upvr (copied, readonly)
[2]: var219_upvw (read and write)
]]
return Parent_upvr.new(function(arg1) -- Line 744
--[[ Upvalues[1]:
[1]: var219_upvw (copied, read and write)
]]
var219_upvw = arg1
end)
end)
expect(any_finally_result1_2:getStatus()).to.equal(Parent_upvr.Status.Started)
var219_upvw()
expect(any_finally_result1_2:getStatus()).to.equal(Parent_upvr.Status.Rejected)
local _, any__unwrap_result2_2 = any_finally_result1_2:_unwrap()
expect(any__unwrap_result2_2).to.equal("foo")
end)
it("should reject with a returned rejected promise's value", function() -- Line 758
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local var226_upvw
local any_finally_result1 = Parent_upvr.reject("foo"):finally(function() -- Line 760
--[[ Upvalues[2]:
[1]: Parent_upvr (copied, readonly)
[2]: var226_upvw (read and write)
]]
return Parent_upvr.new(function(arg1, arg2) -- Line 761
--[[ Upvalues[1]:
[1]: var226_upvw (copied, read and write)
]]
var226_upvw = arg2
end)
end)
expect(any_finally_result1:getStatus()).to.equal(Parent_upvr.Status.Started)
var226_upvw("bar")
expect(any_finally_result1:getStatus()).to.equal(Parent_upvr.Status.Rejected)
local _, any__unwrap_result2_5 = any_finally_result1:_unwrap()
expect(any__unwrap_result2_5).to.equal("bar")
end)
it("should reject when handler errors", function() -- Line 775
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local tbl_6_upvr = {}
local any__unwrap_result1_3, any__unwrap_result2_8 = Parent_upvr.reject("bar"):finally(function() -- Line 777
--[[ Upvalues[1]:
[1]: tbl_6_upvr (readonly)
]]
error(tbl_6_upvr)
end):_unwrap()
expect(any__unwrap_result1_3).to.equal(false)
expect(any__unwrap_result2_8).to.equal(tbl_6_upvr)
end)
it("should not prevent cancellation", function() -- Line 787
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_new_result1_8 = Parent_upvr.new(function() -- Line 788
end)
local var240_upvw = false
any_new_result1_8:finally(function() -- Line 791
--[[ Upvalues[1]:
[1]: var240_upvw (read and write)
]]
var240_upvw = true
end)
any_new_result1_8:andThen(function() -- Line 795
end):cancel()
expect(any_new_result1_8:getStatus()).to.equal(Parent_upvr.Status.Cancelled)
expect(var240_upvw).to.equal(true)
end)
it("should propagate cancellation downwards", function() -- Line 803
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local var244_upvw = false
local any_new_result1_32 = Parent_upvr.new(function() -- Line 806
end)
any_new_result1_32:cancel()
expect(any_new_result1_32:getStatus()).to.equal(Parent_upvr.Status.Cancelled)
expect(any_new_result1_32:finally(function() -- Line 808
--[[ Upvalues[1]:
[1]: var244_upvw (read and write)
]]
var244_upvw = true
end):getStatus()).to.equal(Parent_upvr.Status.Cancelled)
expect(var244_upvw).to.equal(true)
expect(false).to.equal(false)
end)
it("should propagate cancellation upwards", function() -- Line 821
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local var249_upvw = false
local any_new_result1_4 = Parent_upvr.new(function() -- Line 824
end)
local any_finally_result1_5 = any_new_result1_4:finally(function() -- Line 826
--[[ Upvalues[1]:
[1]: var249_upvw (read and write)
]]
var249_upvw = true
end)
any_finally_result1_5:cancel()
expect(any_new_result1_4:getStatus()).to.equal(Parent_upvr.Status.Cancelled)
expect(any_finally_result1_5:getStatus()).to.equal(Parent_upvr.Status.Cancelled)
expect(var249_upvw).to.equal(true)
expect(false).to.equal(false)
end)
it("should cancel returned promise if cancelled", function() -- Line 839
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_new_result1_6_upvr = Parent_upvr.new(function() -- Line 840
end)
Parent_upvr.resolve():finally(function() -- Line 842
--[[ Upvalues[1]:
[1]: any_new_result1_6_upvr (readonly)
]]
return any_new_result1_6_upvr
end):cancel()
expect(any_new_result1_6_upvr:getStatus()).to.equal(Parent_upvr.Status.Cancelled)
end)
end)
describe("Promise.all", function() -- Line 852
--[[ Upvalues[2]:
[1]: Parent_upvr (readonly)
[2]: pack_upvr (readonly)
]]
it("should error if given something other than a table", function() -- Line 853
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(function() -- Line 854
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
Parent_upvr.all(1)
end).to.throw()
end)
it("should resolve instantly with an empty table if given no promises", function() -- Line 859
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_all_result1 = Parent_upvr.all({})
local any__unwrap_result1_4, any__unwrap_result2_6 = any_all_result1:_unwrap()
expect(any__unwrap_result1_4).to.equal(true)
expect(any_all_result1:getStatus()).to.equal(Parent_upvr.Status.Resolved)
expect(any__unwrap_result2_6).to.be.a("table")
expect(next(any__unwrap_result2_6)).to.equal(nil)
end)
it("should error if given non-promise values", function() -- Line 869
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(function() -- Line 870
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
Parent_upvr.all({{}, {}, {}})
end).to.throw()
end)
it("should wait for all promises to be resolved and return their values", function() -- Line 875
--[[ Upvalues[2]:
[1]: pack_upvr (copied, readonly)
[2]: Parent_upvr (copied, readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local tbl_3_upvr = {}
local pack_result1_6, pack_result2_2_upvr = pack_upvr(1, "A string", nil, false)
local tbl_18 = {}
for i_upvr = 1, pack_result1_6 do
tbl_18[i_upvr] = Parent_upvr.new(function(arg1) -- Line 883
--[[ Upvalues[3]:
[1]: tbl_3_upvr (readonly)
[2]: i_upvr (readonly)
[3]: pack_result2_2_upvr (readonly)
]]
local tbl = {}
tbl[1] = arg1
tbl[2] = pack_result2_2_upvr[i_upvr]
tbl_3_upvr[i_upvr] = tbl
end)
end
for _, v in ipairs(tbl_3_upvr) do
expect(Parent_upvr.all(tbl_18):getStatus()).to.equal(Parent_upvr.Status.Started)
v[1](v[2])
local var295
end
local pack_result1_2, pack_result2_4 = pack_upvr(var295:_unwrap())
local unpack_result1_3, unpack_result2_2 = unpack(pack_result2_4, 1, pack_result1_2)
expect(pack_result1_2).to.equal(2)
expect(unpack_result1_3).to.equal(true)
expect(unpack_result2_2).to.be.a("table")
expect(#unpack_result2_2).to.equal(#tbl_18)
for i_3 = 1, pack_result1_6 do
expect(unpack_result2_2[i_3]).to.equal(pack_result2_2_upvr[i_3])
local _
end
end)
it("should reject if any individual promise rejected", function() -- Line 908
--[[ Upvalues[2]:
[1]: Parent_upvr (copied, readonly)
[2]: pack_upvr (copied, readonly)
]]
local var302_upvw
local var303_upvw
local any_new_result1_20 = Parent_upvr.new(function(arg1) -- Line 916
--[[ Upvalues[1]:
[1]: var303_upvw (read and write)
]]
var303_upvw = arg1
end)
local any_all_result1_4 = Parent_upvr.all({Parent_upvr.new(function(arg1, arg2) -- Line 912
--[[ Upvalues[1]:
[1]: var302_upvw (read and write)
]]
var302_upvw = arg2
end), any_new_result1_20})
expect(any_all_result1_4:getStatus()).to.equal(Parent_upvr.Status.Started)
var302_upvw("baz", "qux")
var303_upvw("foo", "bar")
local pack_result1_5, pack_result2_7 = pack_upvr(any_all_result1_4:_unwrap())
local unpack_result1, unpack_result2_4, unpack_result3_2 = unpack(pack_result2_7, 1, pack_result1_5)
expect(pack_result1_5).to.equal(3)
expect(unpack_result1).to.equal(false)
expect(unpack_result2_4).to.equal("baz")
expect(unpack_result3_2).to.equal("qux")
expect(any_new_result1_20:getStatus()).to.equal(Parent_upvr.Status.Cancelled)
end)
it("should not resolve if resolved after rejecting", function() -- Line 937
--[[ Upvalues[2]:
[1]: Parent_upvr (copied, readonly)
[2]: pack_upvr (copied, readonly)
]]
local var315_upvw
local var316_upvw
local any_all_result1_2 = Parent_upvr.all({Parent_upvr.new(function(arg1, arg2) -- Line 941
--[[ Upvalues[1]:
[1]: var315_upvw (read and write)
]]
var315_upvw = arg2
end), Parent_upvr.new(function(arg1) -- Line 945
--[[ Upvalues[1]:
[1]: var316_upvw (read and write)
]]
var316_upvw = arg1
end)})
expect(any_all_result1_2:getStatus()).to.equal(Parent_upvr.Status.Started)
var315_upvw("baz", "qux")
var316_upvw("foo", "bar")
local pack_result1_7, pack_result2 = pack_upvr(any_all_result1_2:_unwrap())
local unpack_result1_2, unpack_result2_3, unpack_result3 = unpack(pack_result2, 1, pack_result1_7)
expect(pack_result1_7).to.equal(3)
expect(unpack_result1_2).to.equal(false)
expect(unpack_result2_3).to.equal("baz")
expect(unpack_result3).to.equal("qux")
end)
it("should only reject once", function() -- Line 965
--[[ Upvalues[2]:
[1]: Parent_upvr (copied, readonly)
[2]: pack_upvr (copied, readonly)
]]
local var327_upvw
local var328_upvw
local any_all_result1_3 = Parent_upvr.all({Parent_upvr.new(function(arg1, arg2) -- Line 969
--[[ Upvalues[1]:
[1]: var327_upvw (read and write)
]]
var327_upvw = arg2
end), Parent_upvr.new(function(arg1, arg2) -- Line 973
--[[ Upvalues[1]:
[1]: var328_upvw (read and write)
]]
var328_upvw = arg2
end)})
expect(any_all_result1_3:getStatus()).to.equal(Parent_upvr.Status.Started)
var327_upvw("foo", "bar")
expect(any_all_result1_3:getStatus()).to.equal(Parent_upvr.Status.Rejected)
var328_upvw("baz", "qux")
local pack_result1, pack_result2_6 = pack_upvr(any_all_result1_3:_unwrap())
local unpack_result1_4, unpack_result2, unpack_result3_3 = unpack(pack_result2_6, 1, pack_result1)
expect(pack_result1).to.equal(3)
expect(unpack_result1_4).to.equal(false)
expect(unpack_result2).to.equal("foo")
expect(unpack_result3_3).to.equal("bar")
end)
it("should error if a non-array table is passed in", function() -- Line 996
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local pcall_result1, pcall_result2_3 = pcall(function() -- Line 997
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
Parent_upvr.all(Parent_upvr.new(function() -- Line 998
end))
end)
expect(pcall_result1).to.be.ok()
expect(pcall_result2_3:find("Non%-promise")).to.be.ok()
end)
it("should cancel pending promises if one rejects", function() -- Line 1005
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_new_result1_13 = Parent_upvr.new(function() -- Line 1006
end)
expect(Parent_upvr.all({Parent_upvr.resolve(), Parent_upvr.reject(), any_new_result1_13}):getStatus()).to.equal(Parent_upvr.Status.Rejected)
expect(any_new_result1_13:getStatus()).to.equal(Parent_upvr.Status.Cancelled)
end)
it("should cancel promises if it is cancelled", function() -- Line 1015
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_new_result1_17 = Parent_upvr.new(function() -- Line 1016
end)
any_new_result1_17:andThen(function() -- Line 1017
end)
local tbl_17 = {Parent_upvr.new(function() -- Line 1020
end), Parent_upvr.new(function() -- Line 1021
end), any_new_result1_17}
Parent_upvr.all(tbl_17):cancel()
expect(tbl_17[1]:getStatus()).to.equal(Parent_upvr.Status.Cancelled)
expect(tbl_17[2]:getStatus()).to.equal(Parent_upvr.Status.Cancelled)
expect(tbl_17[3]:getStatus()).to.equal(Parent_upvr.Status.Started)
end)
end)
describe("Promise.fold", function() -- Line 1033
--[[ Upvalues[2]:
[1]: Parent_upvr (readonly)
[2]: advanceTime_upvw (read and write)
]]
it("should return the initial value in a promise when the list is empty", function() -- Line 1034
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local tbl_2 = {}
local any_fold_result1 = Parent_upvr.fold({}, function() -- Line 1036
error("should not be called")
end, tbl_2)
expect(Parent_upvr.is(any_fold_result1)).to.equal(true)
expect(any_fold_result1:getStatus()).to.equal(Parent_upvr.Status.Resolved)
expect(any_fold_result1:expect()).to.equal(tbl_2)
end)
it("should accept promises in the list", function() -- Line 1045
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local var360_upvw
local any_fold_result1_5 = Parent_upvr.fold({Parent_upvr.new(function(arg1) -- Line 1048
--[[ Upvalues[1]:
[1]: var360_upvw (read and write)
]]
var360_upvw = arg1
end), 2, 3}, function(arg1, arg2) -- Line 1050
return arg1 + arg2
end, 0)
var360_upvw(1)
expect(Parent_upvr.is(any_fold_result1_5)).to.equal(true)
expect(any_fold_result1_5:getStatus()).to.equal(Parent_upvr.Status.Resolved)
expect(any_fold_result1_5:expect()).to.equal(6)
end)
it("should always return a promise even if the list or reducer don't use them", function() -- Line 1061
--[[ Upvalues[2]:
[1]: Parent_upvr (copied, readonly)
[2]: advanceTime_upvw (copied, read and write)
]]
local any_fold_result1_3 = Parent_upvr.fold({1, 2, 3}, function(arg1, arg2, arg3) -- Line 1062
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
if arg3 == 2 then
return Parent_upvr.delay(1):andThenReturn(arg1 + arg2)
end
return arg1 + arg2
end, 0)
expect(Parent_upvr.is(any_fold_result1_3)).to.equal(true)
expect(any_fold_result1_3:getStatus()).to.equal(Parent_upvr.Status.Started)
advanceTime_upvw(2)
expect(any_fold_result1_3:getStatus()).to.equal(Parent_upvr.Status.Resolved)
expect(any_fold_result1_3:expect()).to.equal(6)
end)
it("should return the first rejected promise", function() -- Line 1076
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_fold_result1_4 = Parent_upvr.fold({1, 2, 3}, function(arg1, arg2, arg3) -- Line 1078
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
if arg3 == 2 then
return Parent_upvr.reject("foo")
end
return arg1 + arg2
end, 0)
expect(Parent_upvr.is(any_fold_result1_4)).to.equal(true)
local any_awaitStatus_result1, any_awaitStatus_result2 = any_fold_result1_4:awaitStatus()
expect(any_awaitStatus_result1).to.equal(Parent_upvr.Status.Rejected)
expect(any_awaitStatus_result2).to.equal("foo")
end)
it("should return the first canceled promise", function() -- Line 1091
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local var376_upvw
local any_fold_result1_2 = Parent_upvr.fold({1, 2, 3}, function(arg1, arg2, arg3) -- Line 1093
--[[ Upvalues[2]:
[1]: var376_upvw (read and write)
[2]: Parent_upvr (copied, readonly)
]]
if arg3 == 1 then
return arg1 + arg2
end
if arg3 == 2 then
var376_upvw = Parent_upvr.delay(1):andThenReturn(arg1 + arg2)
return var376_upvw
end
error("this should not run if the promise is cancelled")
end, 0)
expect(Parent_upvr.is(any_fold_result1_2)).to.equal(true)
expect(any_fold_result1_2:getStatus()).to.equal(Parent_upvr.Status.Started)
var376_upvw:cancel()
expect(any_fold_result1_2:getStatus()).to.equal(Parent_upvr.Status.Cancelled)
end)
end)
describe("Promise.race", function() -- Line 1110
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should resolve with the first settled value", function() -- Line 1111
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(Parent_upvr.race({Parent_upvr.resolve(1), Parent_upvr.resolve(2)}):andThen(function(arg1) -- Line 1115
expect(arg1).to.equal(1)
end):getStatus()).to.equal(Parent_upvr.Status.Resolved)
end)
it("should cancel other promises", function() -- Line 1122
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_new_result1_33 = Parent_upvr.new(function() -- Line 1123
end)
any_new_result1_33:andThen(function() -- Line 1124
end)
local tbl_14 = {any_new_result1_33, Parent_upvr.new(function() -- Line 1127
end), Parent_upvr.new(function(arg1) -- Line 1128
arg1(2)
end)}
local any_race_result1 = Parent_upvr.race(tbl_14)
expect(any_race_result1:getStatus()).to.equal(Parent_upvr.Status.Resolved)
expect(any_race_result1._values[1]).to.equal(2)
expect(tbl_14[1]:getStatus()).to.equal(Parent_upvr.Status.Started)
expect(tbl_14[2]:getStatus()).to.equal(Parent_upvr.Status.Cancelled)
expect(tbl_14[3]:getStatus()).to.equal(Parent_upvr.Status.Resolved)
local any_new_result1_18 = Parent_upvr.new(function() -- Line 1141
end)
expect(Parent_upvr.race({Parent_upvr.reject(), Parent_upvr.resolve(), any_new_result1_18}):getStatus()).to.equal(Parent_upvr.Status.Rejected)
expect(any_new_result1_18:getStatus()).to.equal(Parent_upvr.Status.Cancelled)
end)
it("should error if a non-array table is passed in", function() -- Line 1150
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local pcall_result1_3, pcall_result2 = pcall(function() -- Line 1151
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
Parent_upvr.race(Parent_upvr.new(function() -- Line 1152
end))
end)
expect(pcall_result1_3).to.be.ok()
expect(pcall_result2:find("Non%-promise")).to.be.ok()
end)
it("should cancel promises if it is cancelled", function() -- Line 1159
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_new_result1_3 = Parent_upvr.new(function() -- Line 1160
end)
any_new_result1_3:andThen(function() -- Line 1161
end)
local tbl_15 = {Parent_upvr.new(function() -- Line 1164
end), Parent_upvr.new(function() -- Line 1165
end), any_new_result1_3}
Parent_upvr.race(tbl_15):cancel()
expect(tbl_15[1]:getStatus()).to.equal(Parent_upvr.Status.Cancelled)
expect(tbl_15[2]:getStatus()).to.equal(Parent_upvr.Status.Cancelled)
expect(tbl_15[3]:getStatus()).to.equal(Parent_upvr.Status.Started)
end)
end)
describe("Promise.promisify", function() -- Line 1177
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should wrap functions", function() -- Line 1178
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local var409 = Parent_upvr.promisify(function(arg1) -- Line 1179, Named "test"
return arg1 + 1
end)(1)
local any__unwrap_result1, any__unwrap_result2_3 = var409:_unwrap()
expect(any__unwrap_result1).to.equal(true)
expect(var409:getStatus()).to.equal(Parent_upvr.Status.Resolved)
expect(any__unwrap_result2_3).to.equal(2)
end)
it("should catch errors after a yield", function() -- Line 1192
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local BindableEvent_2_upvr = Instance.new("BindableEvent")
local var415 = Parent_upvr.promisify(function() -- Line 1194
--[[ Upvalues[1]:
[1]: BindableEvent_2_upvr (readonly)
]]
BindableEvent_2_upvr.Event:Wait()
error("errortext")
end)()
expect(var415:getStatus()).to.equal(Parent_upvr.Status.Started)
BindableEvent_2_upvr:Fire()
expect(var415:getStatus()).to.equal(Parent_upvr.Status.Rejected)
expect(tostring(var415._values[1]):find("errortext")).to.be.ok()
end)
end)
describe("Promise.tap", function() -- Line 1208
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should thread through values", function() -- Line 1209
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local var418_upvw
local var419_upvw
Parent_upvr.resolve(1):andThen(function(arg1) -- Line 1213
return arg1 + 1
end):tap(function(arg1) -- Line 1216
--[[ Upvalues[1]:
[1]: var418_upvw (read and write)
]]
var418_upvw = arg1
return arg1 + 1
end):andThen(function(arg1) -- Line 1220
--[[ Upvalues[1]:
[1]: var419_upvw (read and write)
]]
var419_upvw = arg1
end)
expect(var418_upvw).to.equal(2)
expect(var419_upvw).to.equal(2)
end)
it("should chain onto promises", function() -- Line 1228
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local var424_upvw
local var425_upvw
local any_andThen_result1_3 = Parent_upvr.resolve(1):tap(function() -- Line 1232
--[[ Upvalues[2]:
[1]: Parent_upvr (copied, readonly)
[2]: var424_upvw (read and write)
]]
return Parent_upvr.new(function(arg1) -- Line 1233
--[[ Upvalues[1]:
[1]: var424_upvw (copied, read and write)
]]
var424_upvw = arg1
end)
end):andThen(function(arg1) -- Line 1237
--[[ Upvalues[1]:
[1]: var425_upvw (read and write)
]]
var425_upvw = arg1
end)
expect(any_andThen_result1_3:getStatus()).to.equal(Parent_upvr.Status.Started)
expect(var425_upvw).to.never.be.ok()
var424_upvw(1)
expect(any_andThen_result1_3:getStatus()).to.equal(Parent_upvr.Status.Resolved)
expect(var425_upvw).to.equal(1)
end)
end)
describe("Promise.try", function() -- Line 1251
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should catch synchronous errors", function() -- Line 1252
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local var432_upvw
Parent_upvr.try(function() -- Line 1254
error("errortext")
end):catch(function(arg1) -- Line 1256
--[[ Upvalues[1]:
[1]: var432_upvw (read and write)
]]
var432_upvw = tostring(arg1)
end)
expect(var432_upvw:find("errortext")).to.be.ok()
end)
it("should reject with error objects", function() -- Line 1263
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local tbl_13_upvr = {}
local any__unwrap_result1_8, any__unwrap_result2_10 = Parent_upvr.try(function() -- Line 1265
--[[ Upvalues[1]:
[1]: tbl_13_upvr (readonly)
]]
error(tbl_13_upvr)
end):_unwrap()
expect(any__unwrap_result1_8).to.equal(false)
expect(any__unwrap_result2_10).to.equal(tbl_13_upvr)
end)
it("should catch asynchronous errors", function() -- Line 1273
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local BindableEvent_upvr_2 = Instance.new("BindableEvent")
local any_try_result1 = Parent_upvr.try(function() -- Line 1275
--[[ Upvalues[1]:
[1]: BindableEvent_upvr_2 (readonly)
]]
BindableEvent_upvr_2.Event:Wait()
error("errortext")
end)
expect(any_try_result1:getStatus()).to.equal(Parent_upvr.Status.Started)
BindableEvent_upvr_2:Fire()
expect(any_try_result1:getStatus()).to.equal(Parent_upvr.Status.Rejected)
expect(tostring(any_try_result1._values[1]):find("errortext")).to.be.ok()
end)
end)
describe("Promise:andThenReturn", function() -- Line 1287
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should return the given values", function() -- Line 1288
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local var446_upvw
local var447_upvw
Parent_upvr.resolve():andThenReturn(1, 2):andThen(function(arg1, arg2) -- Line 1291
--[[ Upvalues[2]:
[1]: var446_upvw (read and write)
[2]: var447_upvw (read and write)
]]
var446_upvw = arg1
var447_upvw = arg2
end)
expect(var446_upvw).to.equal(1)
expect(var447_upvw).to.equal(2)
end)
end)
describe("Promise:andThenCall", function() -- Line 1301
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should call the given function with arguments", function() -- Line 1302
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local var451_upvw
local var452_upvw
Parent_upvr.resolve():andThenCall(function(arg1, arg2) -- Line 1304
--[[ Upvalues[2]:
[1]: var451_upvw (read and write)
[2]: var452_upvw (read and write)
]]
var451_upvw = arg1
var452_upvw = arg2
end, 3, 4)
expect(var451_upvw).to.equal(3)
expect(var452_upvw).to.equal(4)
end)
end)
describe("Promise.some", function() -- Line 1314
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should resolve once the goal is reached", function() -- Line 1315
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_some_result1_2 = Parent_upvr.some({Parent_upvr.resolve(1), Parent_upvr.reject(), Parent_upvr.resolve(2)}, 2)
expect(any_some_result1_2:getStatus()).to.equal(Parent_upvr.Status.Resolved)
expect(any_some_result1_2._values[1][1]).to.equal(1)
expect(any_some_result1_2._values[1][2]).to.equal(2)
end)
it("should error if the goal can't be reached", function() -- Line 1326
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(Parent_upvr.some({Parent_upvr.resolve(), Parent_upvr.reject()}, 2):getStatus()).to.equal(Parent_upvr.Status.Rejected)
local var460_upvw
local any_some_result1_3 = Parent_upvr.some({Parent_upvr.resolve(), Parent_upvr.new(function(arg1, arg2) -- Line 1335
--[[ Upvalues[1]:
[1]: var460_upvw (read and write)
]]
var460_upvw = arg2
end)}, 2)
expect(any_some_result1_3:getStatus()).to.equal(Parent_upvr.Status.Started)
var460_upvw("foo")
expect(any_some_result1_3:getStatus()).to.equal(Parent_upvr.Status.Rejected)
expect(any_some_result1_3._values[1]).to.equal("foo")
end)
it("should cancel pending Promises once the goal is reached", function() -- Line 1346
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local var465_upvw
local any_new_result1_23 = Parent_upvr.new(function() -- Line 1348
end)
local any_new_result1_34 = Parent_upvr.new(function(arg1) -- Line 1349
--[[ Upvalues[1]:
[1]: var465_upvw (read and write)
]]
var465_upvw = arg1
end)
local any_some_result1_5 = Parent_upvr.some({any_new_result1_23, any_new_result1_34, Parent_upvr.resolve()}, 2)
expect(any_some_result1_5:getStatus()).to.equal(Parent_upvr.Status.Started)
expect(any_new_result1_23:getStatus()).to.equal(Parent_upvr.Status.Started)
expect(any_new_result1_34:getStatus()).to.equal(Parent_upvr.Status.Started)
var465_upvw()
expect(any_some_result1_5:getStatus()).to.equal(Parent_upvr.Status.Resolved)
expect(any_new_result1_23:getStatus()).to.equal(Parent_upvr.Status.Cancelled)
expect(any_new_result1_34:getStatus()).to.equal(Parent_upvr.Status.Resolved)
end)
it("should error if passed a non-number", function() -- Line 1370
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(function() -- Line 1371
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
Parent_upvr.some({}, "non-number")
end).to.throw()
end)
it("should return an empty array if amount is 0", function() -- Line 1376
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_some_result1 = Parent_upvr.some({Parent_upvr.resolve(2)}, 0)
expect(any_some_result1:getStatus()).to.equal(Parent_upvr.Status.Resolved)
expect(#any_some_result1._values[1]).to.equal(0)
end)
it("should not return extra values", function() -- Line 1385
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_some_result1_4 = Parent_upvr.some({Parent_upvr.resolve(1), Parent_upvr.resolve(2), Parent_upvr.resolve(3), Parent_upvr.resolve(4)}, 2)
expect(any_some_result1_4:getStatus()).to.equal(Parent_upvr.Status.Resolved)
expect(#any_some_result1_4._values[1]).to.equal(2)
expect(any_some_result1_4._values[1][1]).to.equal(1)
expect(any_some_result1_4._values[1][2]).to.equal(2)
end)
it("should cancel promises if it is cancelled", function() -- Line 1399
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_new_result1_24 = Parent_upvr.new(function() -- Line 1400
end)
any_new_result1_24:andThen(function() -- Line 1401
end)
local tbl_4 = {Parent_upvr.new(function() -- Line 1404
end), Parent_upvr.new(function() -- Line 1405
end), any_new_result1_24}
Parent_upvr.some(tbl_4, 3):cancel()
expect(tbl_4[1]:getStatus()).to.equal(Parent_upvr.Status.Cancelled)
expect(tbl_4[2]:getStatus()).to.equal(Parent_upvr.Status.Cancelled)
expect(tbl_4[3]:getStatus()).to.equal(Parent_upvr.Status.Started)
end)
describe("Promise.any", function() -- Line 1416
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
it("should return the value directly", function() -- Line 1417
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_any_result1 = Parent_upvr.any({Parent_upvr.reject(), Parent_upvr.reject(), Parent_upvr.resolve(1)})
expect(any_any_result1:getStatus()).to.equal(Parent_upvr.Status.Resolved)
expect(any_any_result1._values[1]).to.equal(1)
end)
it("should error if all are rejected", function() -- Line 1428
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(Parent_upvr.any({Parent_upvr.reject(), Parent_upvr.reject(), Parent_upvr.reject()}):getStatus()).to.equal(Parent_upvr.Status.Rejected)
end)
end)
end)
describe("Promise.allSettled", function() -- Line 1438
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should resolve with an array of PromiseStatuses", function() -- Line 1439
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local var495_upvw
local any_allSettled_result1 = Parent_upvr.allSettled({Parent_upvr.resolve(), Parent_upvr.reject(), Parent_upvr.resolve(), Parent_upvr.new(function(arg1, arg2) -- Line 1445
--[[ Upvalues[1]:
[1]: var495_upvw (read and write)
]]
var495_upvw = arg2
end)})
expect(any_allSettled_result1:getStatus()).to.equal(Parent_upvr.Status.Started)
var495_upvw()
expect(any_allSettled_result1:getStatus()).to.equal(Parent_upvr.Status.Resolved)
expect(any_allSettled_result1._values[1][1]).to.equal(Parent_upvr.Status.Resolved)
expect(any_allSettled_result1._values[1][2]).to.equal(Parent_upvr.Status.Rejected)
expect(any_allSettled_result1._values[1][3]).to.equal(Parent_upvr.Status.Resolved)
expect(any_allSettled_result1._values[1][4]).to.equal(Parent_upvr.Status.Rejected)
end)
it("should cancel promises if it is cancelled", function() -- Line 1459
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_new_result1_21 = Parent_upvr.new(function() -- Line 1460
end)
any_new_result1_21:andThen(function() -- Line 1461
end)
local tbl_10 = {Parent_upvr.new(function() -- Line 1464
end), Parent_upvr.new(function() -- Line 1465
end), any_new_result1_21}
Parent_upvr.allSettled(tbl_10):cancel()
expect(tbl_10[1]:getStatus()).to.equal(Parent_upvr.Status.Cancelled)
expect(tbl_10[2]:getStatus()).to.equal(Parent_upvr.Status.Cancelled)
expect(tbl_10[3]:getStatus()).to.equal(Parent_upvr.Status.Started)
end)
end)
describe("Promise:await", function() -- Line 1477
--[[ Upvalues[2]:
[1]: Parent_upvr (readonly)
[2]: advanceTime_upvw (read and write)
]]
it("should return the correct values", function() -- Line 1478
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_await_result1, any_await_result2_2, any_await_result3, any_await_result4, any_await_result5 = Parent_upvr.resolve(5, 6, nil, 7):await()
expect(any_await_result1).to.equal(true)
expect(any_await_result2_2).to.equal(5)
expect(any_await_result3).to.equal(6)
expect(any_await_result4).to.equal(nil)
expect(any_await_result5).to.equal(7)
end)
it("should work if yielding is needed", function() -- Line 1490
--[[ Upvalues[2]:
[1]: Parent_upvr (copied, readonly)
[2]: advanceTime_upvw (copied, read and write)
]]
local var514_upvw = false
task.spawn(function() -- Line 1492
--[[ Upvalues[2]:
[1]: Parent_upvr (copied, readonly)
[2]: var514_upvw (read and write)
]]
local _, any_await_result2 = Parent_upvr.delay(1):await()
expect(type(any_await_result2)).to.equal("number")
var514_upvw = true
end)
advanceTime_upvw(2)
expect(var514_upvw).to.equal(true)
end)
end)
describe("Promise:expect", function() -- Line 1503
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should throw the correct values", function() -- Line 1504
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local tbl_11 = {}
local any_reject_result1_4_upvr = Parent_upvr.reject(tbl_11)
local pcall_result1_2, pcall_result2_2 = pcall(function() -- Line 1508
--[[ Upvalues[1]:
[1]: any_reject_result1_4_upvr (readonly)
]]
any_reject_result1_4_upvr:expect()
end)
expect(pcall_result1_2).to.equal(false)
expect(pcall_result2_2).to.equal(tbl_11)
end)
end)
describe("Promise:now", function() -- Line 1517
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should resolve if the Promise is resolved", function() -- Line 1518
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any__unwrap_result1_7, any__unwrap_result2_9 = Parent_upvr.resolve("foo"):now():_unwrap()
expect(any__unwrap_result1_7).to.equal(true)
expect(any__unwrap_result2_9).to.equal("foo")
end)
it("should reject if the Promise is not resolved", function() -- Line 1525
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any__unwrap_result1_6, any__unwrap_result2_7 = Parent_upvr.new(function() -- Line 1526
end):now():_unwrap()
expect(any__unwrap_result1_6).to.equal(false)
expect(Parent_upvr.Error.isKind(any__unwrap_result2_7, "NotResolvedInTime")).to.equal(true)
end)
it("should reject with a custom rejection value", function() -- Line 1532
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any__unwrap_result1_5, any__unwrap_result2_4 = Parent_upvr.new(function() -- Line 1533
end):now("foo"):_unwrap()
expect(any__unwrap_result1_5).to.equal(false)
expect(any__unwrap_result2_4).to.equal("foo")
end)
end)
describe("Promise.each", function() -- Line 1540
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should iterate", function() -- Line 1541
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any__unwrap_result1_2, any__unwrap_result2 = Parent_upvr.each({"foo", "bar", "baz", "qux"}, function(...) -- Line 1547
return {...}
end):_unwrap()
expect(any__unwrap_result1_2).to.equal(true)
expect(any__unwrap_result2[1][1]).to.equal("foo")
expect(any__unwrap_result2[1][2]).to.equal(1)
expect(any__unwrap_result2[2][1]).to.equal("bar")
expect(any__unwrap_result2[2][2]).to.equal(2)
expect(any__unwrap_result2[3][1]).to.equal("baz")
expect(any__unwrap_result2[3][2]).to.equal(3)
expect(any__unwrap_result2[4][1]).to.equal("qux")
expect(any__unwrap_result2[4][2]).to.equal(4)
end)
it("should iterate serially", function() -- Line 1562
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local tbl_12_upvr = {}
local tbl_5_upvr = {}
local any_each_result1_5 = Parent_upvr.each({"foo", "bar", "baz"}, function(arg1, arg2) -- Line 1570
--[[ Upvalues[3]:
[1]: tbl_5_upvr (readonly)
[2]: Parent_upvr (copied, readonly)
[3]: tbl_12_upvr (readonly)
]]
tbl_5_upvr[arg2] = (tbl_5_upvr[arg2] or 0) + 1
return Parent_upvr.new(function(arg1_2) -- Line 1573
--[[ Upvalues[2]:
[1]: tbl_12_upvr (copied, readonly)
[2]: arg1 (readonly)
]]
table.insert(tbl_12_upvr, function() -- Line 1574
--[[ Upvalues[2]:
[1]: arg1_2 (readonly)
[2]: arg1 (copied, readonly)
]]
arg1_2(arg1:upper())
end)
end)
end)
expect(any_each_result1_5:getStatus()).to.equal(Parent_upvr.Status.Started)
expect(#tbl_12_upvr).to.equal(1)
expect(tbl_5_upvr[1]).to.equal(1)
expect(tbl_5_upvr[2]).to.never.be.ok()
table.remove(tbl_12_upvr, 1)()
expect(any_each_result1_5:getStatus()).to.equal(Parent_upvr.Status.Started)
expect(#tbl_12_upvr).to.equal(1)
expect(tbl_5_upvr[1]).to.equal(1)
expect(tbl_5_upvr[2]).to.equal(1)
expect(tbl_5_upvr[3]).to.never.be.ok()
table.remove(tbl_12_upvr, 1)()
expect(any_each_result1_5:getStatus()).to.equal(Parent_upvr.Status.Started)
expect(tbl_5_upvr[1]).to.equal(1)
expect(tbl_5_upvr[2]).to.equal(1)
expect(tbl_5_upvr[3]).to.equal(1)
table.remove(tbl_12_upvr, 1)()
expect(any_each_result1_5:getStatus()).to.equal(Parent_upvr.Status.Resolved)
expect(type(any_each_result1_5._values[1])).to.equal("table")
expect(type(any_each_result1_5._values[2])).to.equal("nil")
local _1 = any_each_result1_5._values[1]
expect(_1[1]).to.equal("FOO")
expect(_1[2]).to.equal("BAR")
expect(_1[3]).to.equal("BAZ")
end)
it("should reject with the value if the predicate promise rejects", function() -- Line 1613
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_each_result1_2 = Parent_upvr.each({1, 2, 3}, function() -- Line 1614
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
return Parent_upvr.reject("foobar")
end)
expect(any_each_result1_2:getStatus()).to.equal(Parent_upvr.Status.Rejected)
expect(any_each_result1_2._values[1]).to.equal("foobar")
end)
it("should allow Promises to be in the list and wait when it gets to them", function() -- Line 1622
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local var558_upvw
local any_each_result1_4 = Parent_upvr.each({Parent_upvr.new(function(arg1) -- Line 1624
--[[ Upvalues[1]:
[1]: var558_upvw (read and write)
]]
var558_upvw = arg1
end)}, function(arg1) -- Line 1630
return arg1 * 2
end)
expect(any_each_result1_4:getStatus()).to.equal(Parent_upvr.Status.Started)
var558_upvw(2)
expect(any_each_result1_4:getStatus()).to.equal(Parent_upvr.Status.Resolved)
expect(any_each_result1_4._values[1][1]).to.equal(4)
end)
it("should reject with the value if a Promise from the list rejects", function() -- Line 1642
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local var564_upvw = false
local any_each_result1_6 = Parent_upvr.each({1, 2, Parent_upvr.reject("foobar")}, function(arg1) -- Line 1644
--[[ Upvalues[1]:
[1]: var564_upvw (read and write)
]]
var564_upvw = true
return "never"
end)
expect(any_each_result1_6:getStatus()).to.equal(Parent_upvr.Status.Rejected)
expect(any_each_result1_6._values[1]).to.equal("foobar")
expect(var564_upvw).to.equal(false)
end)
it("should reject immediately if there's a cancelled Promise in the list initially", function() -- Line 1654
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_new_result1 = Parent_upvr.new(function() -- Line 1655
end)
any_new_result1:cancel()
local var571_upvw = false
local any_each_result1_3 = Parent_upvr.each({1, 2, any_new_result1}, function() -- Line 1659
--[[ Upvalues[1]:
[1]: var571_upvw (read and write)
]]
var571_upvw = true
end)
expect(any_each_result1_3:getStatus()).to.equal(Parent_upvr.Status.Rejected)
expect(var571_upvw).to.equal(false)
expect(any_each_result1_3._values[1].kind).to.equal(Parent_upvr.Error.Kind.AlreadyCancelled)
end)
it("should stop iteration if Promise.each is cancelled", function() -- Line 1668
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local tbl_8_upvr = {}
local any_each_result1 = Parent_upvr.each({"foo", "bar", "baz"}, function(arg1, arg2) -- Line 1675
--[[ Upvalues[2]:
[1]: tbl_8_upvr (readonly)
[2]: Parent_upvr (copied, readonly)
]]
tbl_8_upvr[arg2] = (tbl_8_upvr[arg2] or 0) + 1
return Parent_upvr.new(function() -- Line 1678
end)
end)
expect(any_each_result1:getStatus()).to.equal(Parent_upvr.Status.Started)
expect(tbl_8_upvr[1]).to.equal(1)
expect(tbl_8_upvr[2]).to.never.be.ok()
any_each_result1:cancel()
expect(any_each_result1:getStatus()).to.equal(Parent_upvr.Status.Cancelled)
expect(tbl_8_upvr[1]).to.equal(1)
expect(tbl_8_upvr[2]).to.never.be.ok()
end)
it("should cancel the Promise returned from the predicate if Promise.each is cancelled", function() -- Line 1692
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local var582_upvw
Parent_upvr.each({"foo", "bar", "baz"}, function(arg1, arg2) -- Line 1699
--[[ Upvalues[2]:
[1]: var582_upvw (read and write)
[2]: Parent_upvr (copied, readonly)
]]
var582_upvw = Parent_upvr.new(function() -- Line 1700
end)
return var582_upvw
end):cancel()
expect(var582_upvw:getStatus()).to.equal(Parent_upvr.Status.Cancelled)
end)
it("should cancel Promises in the list if Promise.each is cancelled", function() -- Line 1709
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_new_result1_16 = Parent_upvr.new(function() -- Line 1710
end)
Parent_upvr.each({any_new_result1_16}, function() -- Line 1712
end):cancel()
expect(any_new_result1_16:getStatus()).to.equal(Parent_upvr.Status.Cancelled)
end)
end)
describe("Promise.retry", function() -- Line 1720
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should retry N times", function() -- Line 1721
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local var594_upvw = 0
local any_retry_result1 = Parent_upvr.retry(function(arg1) -- Line 1724
--[[ Upvalues[2]:
[1]: var594_upvw (read and write)
[2]: Parent_upvr (copied, readonly)
]]
expect(arg1).to.equal("foo")
var594_upvw += 1
if var594_upvw == 5 then
return Parent_upvr.resolve("ok")
end
return Parent_upvr.reject("fail")
end, 5, "foo")
expect(any_retry_result1:getStatus()).to.equal(Parent_upvr.Status.Resolved)
expect(any_retry_result1._values[1]).to.equal("ok")
end)
it("should reject if threshold is exceeded", function() -- Line 1740
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_retry_result1_2 = Parent_upvr.retry(function() -- Line 1741
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
return Parent_upvr.reject("fail")
end, 5)
expect(any_retry_result1_2:getStatus()).to.equal(Parent_upvr.Status.Rejected)
expect(any_retry_result1_2._values[1]).to.equal("fail")
end)
end)
describe("Promise.retryWithDelay", function() -- Line 1750
--[[ Upvalues[2]:
[1]: Parent_upvr (readonly)
[2]: advanceTime_upvw (read and write)
]]
it("should retry after a delay", function() -- Line 1751
--[[ Upvalues[2]:
[1]: Parent_upvr (copied, readonly)
[2]: advanceTime_upvw (copied, read and write)
]]
local var601_upvw = 0
local any_retryWithDelay_result1 = Parent_upvr.retryWithDelay(function(arg1) -- Line 1754
--[[ Upvalues[2]:
[1]: var601_upvw (read and write)
[2]: Parent_upvr (copied, readonly)
]]
expect(arg1).to.equal("foo")
var601_upvw += 1
if var601_upvw == 3 then
return Parent_upvr.resolve("ok")
end
return Parent_upvr.reject("fail")
end, 3, 10, "foo")
expect(var601_upvw).to.equal(1)
advanceTime_upvw(11)
expect(var601_upvw).to.equal(2)
advanceTime_upvw(11)
expect(var601_upvw).to.equal(3)
expect(any_retryWithDelay_result1:getStatus()).to.equal(Parent_upvr.Status.Resolved)
expect(any_retryWithDelay_result1._values[1]).to.equal("ok")
end)
end)
describe("Promise.fromEvent", function() -- Line 1781
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should convert a Promise into an event", function() -- Line 1782
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local BindableEvent = Instance.new("BindableEvent")
local any_fromEvent_result1 = Parent_upvr.fromEvent(BindableEvent.Event)
expect(any_fromEvent_result1:getStatus()).to.equal(Parent_upvr.Status.Started)
BindableEvent:Fire("foo")
expect(any_fromEvent_result1:getStatus()).to.equal(Parent_upvr.Status.Resolved)
expect(any_fromEvent_result1._values[1]).to.equal("foo")
end)
it("should convert a Promise into an event with the predicate", function() -- Line 1795
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local BindableEvent_3 = Instance.new("BindableEvent")
local any_fromEvent_result1_2 = Parent_upvr.fromEvent(BindableEvent_3.Event, function(arg1) -- Line 1798
if arg1 ~= "foo" then
else
end
return true
end)
expect(any_fromEvent_result1_2:getStatus()).to.equal(Parent_upvr.Status.Started)
BindableEvent_3:Fire("bar")
expect(any_fromEvent_result1_2:getStatus()).to.equal(Parent_upvr.Status.Started)
BindableEvent_3:Fire("foo")
expect(any_fromEvent_result1_2:getStatus()).to.equal(Parent_upvr.Status.Resolved)
expect(any_fromEvent_result1_2._values[1]).to.equal("foo")
end)
end)
describe("Promise.is", function() -- Line 1815
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should work with current version", function() -- Line 1816
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(Parent_upvr.is(Parent_upvr.resolve(1))).to.equal(true)
end)
it("should work with any object with an andThen", function() -- Line 1822
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local tbl_7 = {}
local function andThen() -- Line 1824
return 1
end
tbl_7.andThen = andThen
expect(Parent_upvr.is(tbl_7)).to.equal(true)
end)
it("should work with older promises", function() -- Line 1832
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local tbl_9 = {
prototype = {};
__index = tbl_9.prototype;
}
tbl_9.prototype.andThen = function(arg1) -- Line 1837, Named "andThen"
end
expect(Parent_upvr.is(setmetatable({}, tbl_9))).to.equal(true)
end)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:02:49
-- Luau version 6, Types version 3
-- Time taken: 0.000689 seconds
return {
SingleMotor = require(script.SingleMotor);
GroupMotor = require(script.GroupMotor);
Instant = require(script.Instant);
Linear = require(script.Linear);
Spring = require(script.Spring);
isMotor = require(script.isMotor);
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:02:51
-- Luau version 6, Types version 3
-- Time taken: 0.002297 seconds
local function var1() -- Line 5
end
local module_upvr = {}
module_upvr.__index = module_upvr
local Signal_upvr = require(script.Parent.Signal)
function module_upvr.new() -- Line 10
--[[ Upvalues[2]:
[1]: Signal_upvr (readonly)
[2]: module_upvr (readonly)
]]
return setmetatable({
_onStep = Signal_upvr.new();
_onStart = Signal_upvr.new();
_onComplete = Signal_upvr.new();
}, module_upvr)
end
function module_upvr.onStep(arg1, arg2) -- Line 18
return arg1._onStep:connect(arg2)
end
function module_upvr.onStart(arg1, arg2) -- Line 22
return arg1._onStart:connect(arg2)
end
function module_upvr.onComplete(arg1, arg2) -- Line 26
return arg1._onComplete:connect(arg2)
end
local RunService_upvr = game:GetService("RunService")
function module_upvr.start(arg1) -- Line 30
--[[ Upvalues[1]:
[1]: RunService_upvr (readonly)
]]
if not arg1._connection then
arg1._connection = RunService_upvr.RenderStepped:Connect(function(arg1_2) -- Line 32
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:step(arg1_2)
end)
end
end
function module_upvr.stop(arg1) -- Line 38
if arg1._connection then
arg1._connection:Disconnect()
arg1._connection = nil
end
end
module_upvr.destroy = module_upvr.stop
module_upvr.step = var1
module_upvr.getValue = var1
module_upvr.setGoal = var1
function module_upvr.__tostring(arg1) -- Line 51
return "Motor"
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:02:53
-- Luau version 6, Types version 3
-- Time taken: 0.002760 seconds
return function() -- Line 1
local BaseMotor_upvr = require(script.Parent.BaseMotor)
describe("connection management", function() -- Line 6
--[[ Upvalues[1]:
[1]: BaseMotor_upvr (readonly)
]]
local any_new_result1_upvr = BaseMotor_upvr.new()
it("should hook up connections on :start()", function() -- Line 9
--[[ Upvalues[1]:
[1]: any_new_result1_upvr (readonly)
]]
any_new_result1_upvr:start()
expect(typeof(any_new_result1_upvr._connection)).to.equal("RBXScriptConnection")
end)
it("should remove connections on :stop() or :destroy()", function() -- Line 14
--[[ Upvalues[1]:
[1]: any_new_result1_upvr (readonly)
]]
any_new_result1_upvr:stop()
expect(any_new_result1_upvr._connection).to.equal(nil)
end)
end)
local RunService_upvr = game:GetService("RunService")
it("should call :step() with deltaTime", function() -- Line 20
--[[ Upvalues[2]:
[1]: BaseMotor_upvr (readonly)
[2]: RunService_upvr (readonly)
]]
local any_new_result1_upvr_2 = BaseMotor_upvr.new()
local var10_upvw
function any_new_result1_upvr_2.step(arg1, ...) -- Line 24
--[[ Upvalues[2]:
[1]: var10_upvw (read and write)
[2]: any_new_result1_upvr_2 (readonly)
]]
var10_upvw = {...}
any_new_result1_upvr_2:stop()
end
any_new_result1_upvr_2:start()
RunService_upvr.RenderStepped:Wait()
expect(var10_upvw).to.be.ok()
expect(var10_upvw[1]).to.equal(RunService_upvr.RenderStepped:Wait())
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:02:54
-- Luau version 6, Types version 3
-- Time taken: 0.007207 seconds
local BaseMotor_upvr = require(script.Parent.BaseMotor)
local setmetatable_result1_2_upvr = setmetatable({}, BaseMotor_upvr)
setmetatable_result1_2_upvr.__index = setmetatable_result1_2_upvr
local isMotor_upvr = require(script.Parent.isMotor)
local SingleMotor_upvr = require(script.Parent.SingleMotor)
local function toMotor_upvr(arg1) -- Line 9, Named "toMotor"
--[[ Upvalues[3]:
[1]: isMotor_upvr (readonly)
[2]: SingleMotor_upvr (readonly)
[3]: setmetatable_result1_2_upvr (readonly)
]]
if isMotor_upvr(arg1) then
return arg1
end
local typeof_result1 = typeof(arg1)
if typeof_result1 == "number" then
return SingleMotor_upvr.new(arg1, false)
end
if typeof_result1 == "table" then
return setmetatable_result1_2_upvr.new(arg1, false)
end
error("Unable to convert %q to motor; type %s is unsupported":format(arg1, typeof_result1), 2)
end
function setmetatable_result1_2_upvr.new(arg1, arg2) -- Line 25
--[[ Upvalues[3]:
[1]: BaseMotor_upvr (readonly)
[2]: setmetatable_result1_2_upvr (readonly)
[3]: toMotor_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var14 = arg1
assert(var14, "Missing argument #1: initialValues")
if typeof(arg1) ~= "table" then
var14 = false
else
var14 = true
end
assert(var14, "initialValues must be a table!")
assert(not arg1.step, "initialValues contains disallowed property \"step\". Did you mean to put a table of values here?")
local setmetatable_result1 = setmetatable(BaseMotor_upvr.new(), setmetatable_result1_2_upvr)
if arg2 ~= nil then
setmetatable_result1._useImplicitConnections = arg2
else
setmetatable_result1._useImplicitConnections = true
end
setmetatable_result1._complete = true
setmetatable_result1._motors = {}
for i, v in pairs(arg1) do
setmetatable_result1._motors[i] = toMotor_upvr(v)
local var19
end
return var19
end
function setmetatable_result1_2_upvr.step(arg1, arg2) -- Line 48
local var24
if var24 then
var24 = true
return var24
end
var24 = true
for _, v_2 in pairs(arg1._motors) do
if not v_2:step(arg2) then
var24 = false
end
end
arg1._onStep:fire(arg1:getValue())
if var24 then
if arg1._useImplicitConnections then
arg1:stop()
end
arg1._complete = true
arg1._onComplete:fire()
end
return var24
end
function setmetatable_result1_2_upvr.setGoal(arg1, arg2) -- Line 77
assert(not arg2.step, "goals contains disallowed property \"step\". Did you mean to put a table of goals here?")
arg1._complete = false
arg1._onStart:fire()
for i_3, v_3 in pairs(arg2) do
assert(arg1._motors[i_3], "Unknown motor for key %s":format(i_3)):setGoal(v_3)
end
if arg1._useImplicitConnections then
arg1:start()
end
end
function setmetatable_result1_2_upvr.getValue(arg1) -- Line 93
local module = {}
for i_4, v_4 in pairs(arg1._motors) do
module[i_4] = v_4:getValue()
end
return module
end
function setmetatable_result1_2_upvr.__tostring(arg1) -- Line 103
return "Motor(Group)"
end
return setmetatable_result1_2_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:02:55
-- Luau version 6, Types version 3
-- Time taken: 0.006002 seconds
return function() -- Line 1
local GroupMotor_upvr = require(script.Parent.GroupMotor)
local Instant_upvr = require(script.Parent.Instant)
local Spring_upvr = require(script.Parent.Spring)
it("should complete when all child motors are complete", function() -- Line 7
--[[ Upvalues[3]:
[1]: GroupMotor_upvr (readonly)
[2]: Instant_upvr (readonly)
[3]: Spring_upvr (readonly)
]]
local any_new_result1 = GroupMotor_upvr.new({
A = 1;
B = 2;
}, false)
expect(any_new_result1._complete).to.equal(true)
any_new_result1:setGoal({
A = Instant_upvr.new(3);
B = Spring_upvr.new(4, {
frequency = 7.5;
dampingRatio = 1;
});
})
expect(any_new_result1._complete).to.equal(false)
any_new_result1:step((1/60))
expect(any_new_result1._complete).to.equal(false)
for _ = 1, 30 do
any_new_result1:step((1/60))
end
expect(any_new_result1._complete).to.equal(true)
end)
it("should start when the goal is set", function() -- Line 33
--[[ Upvalues[2]:
[1]: GroupMotor_upvr (readonly)
[2]: Instant_upvr (readonly)
]]
local any_new_result1_2 = GroupMotor_upvr.new({
A = 0;
}, false)
local var15_upvw = false
any_new_result1_2:onStart(function() -- Line 39
--[[ Upvalues[1]:
[1]: var15_upvw (read and write)
]]
var15_upvw = not var15_upvw
end)
any_new_result1_2:setGoal({
A = Instant_upvr.new(1);
})
expect(var15_upvw).to.equal(true)
any_new_result1_2:setGoal({
A = Instant_upvr.new(1);
})
expect(var15_upvw).to.equal(false)
end)
it("should properly return all values", function() -- Line 56
--[[ Upvalues[1]:
[1]: GroupMotor_upvr (readonly)
]]
local any_getValue_result1 = GroupMotor_upvr.new({
A = 1;
B = 2;
}, false):getValue()
expect(any_getValue_result1.A).to.equal(1)
expect(any_getValue_result1.B).to.equal(2)
end)
it("should error when a goal is given to GroupMotor.new", function() -- Line 68
--[[ Upvalues[2]:
[1]: GroupMotor_upvr (readonly)
[2]: Instant_upvr (readonly)
]]
expect(pcall(function() -- Line 69
--[[ Upvalues[2]:
[1]: GroupMotor_upvr (copied, readonly)
[2]: Instant_upvr (copied, readonly)
]]
GroupMotor_upvr.new(Instant_upvr.new(0))
end)).to.equal(false)
end)
it("should error when a single goal is provided to GroupMotor:step", function() -- Line 76
--[[ Upvalues[2]:
[1]: GroupMotor_upvr (readonly)
[2]: Instant_upvr (readonly)
]]
expect(pcall(function() -- Line 77
--[[ Upvalues[2]:
[1]: GroupMotor_upvr (copied, readonly)
[2]: Instant_upvr (copied, readonly)
]]
GroupMotor_upvr.new({
a = 1;
}):setGoal(Instant_upvr.new(0))
end)).to.equal(false)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:02:57
-- Luau version 6, Types version 3
-- Time taken: 0.001107 seconds
local module_upvr = {}
module_upvr.__index = module_upvr
function module_upvr.new(arg1) -- Line 4
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
local module = {}
module._targetValue = arg1
return setmetatable(module, module_upvr)
end
function module_upvr.step(arg1) -- Line 10
return {
complete = true;
value = arg1._targetValue;
}
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:02:58
-- Luau version 6, Types version 3
-- Time taken: 0.001088 seconds
return function() -- Line 1
local Instant_upvr = require(script.Parent.Instant)
it("should return a completed state with the provided value", function() -- Line 4
--[[ Upvalues[1]:
[1]: Instant_upvr (readonly)
]]
local any_step_result1 = Instant_upvr.new(1.23):step(0.1, {
value = 0;
complete = false;
})
expect(any_step_result1.complete).to.equal(true)
expect(any_step_result1.value).to.equal(1.23)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:00
-- Luau version 6, Types version 3
-- Time taken: 0.003417 seconds
local module_2_upvr = {}
module_2_upvr.__index = module_2_upvr
function module_2_upvr.new(arg1, arg2) -- Line 4
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
assert(arg1, "Missing argument #1: targetValue")
local var2 = arg2
if not var2 then
var2 = {}
end
local module = {}
module._targetValue = arg1
module._velocity = var2.velocity or 1
return setmetatable(module, module_2_upvr)
end
function module_2_upvr.step(arg1, arg2, arg3) -- Line 15
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local value = arg2.value
local _targetValue = arg1._targetValue
local var6 = arg3 * arg1._velocity
local var7
if math.abs(_targetValue - value) > var6 then
local _ = false
-- KONSTANTWARNING: Skipped task `defvar` above
else
end
if value < _targetValue then
var7 = 1
else
var7 = -1
end
value += var6 * var7
local var9 = value
if true then
var9 = arg1._targetValue
end
local module_3 = {}
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
module_3.complete = true
module_3.value = var9
module_3.velocity = 0
return module_3
end
return module_2_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:01
-- Luau version 6, Types version 3
-- Time taken: 0.004445 seconds
return function() -- Line 1
local SingleMotor_upvr = require(script.Parent.SingleMotor)
local Linear_upvr = require(script.Parent.Linear)
describe("completed state", function() -- Line 5
--[[ Upvalues[2]:
[1]: SingleMotor_upvr (readonly)
[2]: Linear_upvr (readonly)
]]
local any_new_result1_upvr_2 = SingleMotor_upvr.new(0, false)
any_new_result1_upvr_2:setGoal(Linear_upvr.new(1, {
velocity = 1;
}))
for _ = 1, 60 do
any_new_result1_upvr_2:step((1/60))
end
it("should complete", function() -- Line 15
--[[ Upvalues[1]:
[1]: any_new_result1_upvr_2 (readonly)
]]
expect(any_new_result1_upvr_2._state.complete).to.equal(true)
end)
it("should be exactly the goal value when completed", function() -- Line 19
--[[ Upvalues[1]:
[1]: any_new_result1_upvr_2 (readonly)
]]
expect(any_new_result1_upvr_2._state.value).to.equal(1)
end)
end)
describe("uncompleted state", function() -- Line 24
--[[ Upvalues[2]:
[1]: SingleMotor_upvr (readonly)
[2]: Linear_upvr (readonly)
]]
local any_new_result1_upvr_3 = SingleMotor_upvr.new(0, false)
any_new_result1_upvr_3:setGoal(Linear_upvr.new(1, {
velocity = 1;
}))
for _ = 1, 59 do
any_new_result1_upvr_3:step((1/60))
end
it("should be uncomplete", function() -- Line 34
--[[ Upvalues[1]:
[1]: any_new_result1_upvr_3 (readonly)
]]
expect(any_new_result1_upvr_3._state.complete).to.equal(false)
end)
end)
describe("negative velocity", function() -- Line 39
--[[ Upvalues[2]:
[1]: SingleMotor_upvr (readonly)
[2]: Linear_upvr (readonly)
]]
local any_new_result1_upvr = SingleMotor_upvr.new(1, false)
any_new_result1_upvr:setGoal(Linear_upvr.new(0, {
velocity = 1;
}))
for _ = 1, 60 do
any_new_result1_upvr:step((1/60))
end
it("should complete", function() -- Line 49
--[[ Upvalues[1]:
[1]: any_new_result1_upvr (readonly)
]]
expect(any_new_result1_upvr._state.complete).to.equal(true)
end)
it("should be exactly the goal value when completed", function() -- Line 53
--[[ Upvalues[1]:
[1]: any_new_result1_upvr (readonly)
]]
expect(any_new_result1_upvr._state.value).to.equal(0)
end)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:02
-- Luau version 6, Types version 3
-- Time taken: 0.002602 seconds
local tbl_upvr = {}
tbl_upvr.__index = tbl_upvr
local function new(arg1, arg2) -- Line 4
--[[ Upvalues[1]:
[1]: tbl_upvr (readonly)
]]
local module = {}
module.signal = arg1
module.connected = true
module._handler = arg2
return setmetatable(module, tbl_upvr)
end
tbl_upvr.new = new
function tbl_upvr.disconnect(arg1) -- Line 12
if arg1.connected then
arg1.connected = false
for i, v in pairs(arg1.signal._connections) do
if v == arg1 then
table.remove(arg1.signal._connections, i)
return
end
end
end
end
local module_upvr = {}
module_upvr.__index = module_upvr
function module_upvr.new() -- Line 28
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
return setmetatable({
_connections = {};
_threads = {};
}, module_upvr)
end
function module_upvr.fire(arg1, ...) -- Line 35
for _, v_2 in pairs(arg1._connections) do
v_2._handler(...)
end
for _, v_3 in pairs(arg1._threads) do
coroutine.resume(v_3, ...)
end
arg1._threads = {}
end
function module_upvr.connect(arg1, arg2) -- Line 47
--[[ Upvalues[1]:
[1]: tbl_upvr (readonly)
]]
local any_new_result1 = tbl_upvr.new(arg1, arg2)
table.insert(arg1._connections, any_new_result1)
return any_new_result1
end
function module_upvr.wait(arg1) -- Line 53
table.insert(arg1._threads, coroutine.running())
return coroutine.yield()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:04
-- Luau version 6, Types version 3
-- Time taken: 0.002190 seconds
return function() -- Line 1
local Signal_upvr = require(script.Parent.Signal)
it("should invoke all connections, instantly", function() -- Line 4
--[[ Upvalues[1]:
[1]: Signal_upvr (readonly)
]]
local any_new_result1 = Signal_upvr.new()
local var5_upvw
local var6_upvw
any_new_result1:connect(function(arg1) -- Line 9
--[[ Upvalues[1]:
[1]: var5_upvw (read and write)
]]
var5_upvw = arg1
end)
any_new_result1:connect(function(arg1) -- Line 13
--[[ Upvalues[1]:
[1]: var6_upvw (read and write)
]]
var6_upvw = arg1
end)
any_new_result1:fire("hello")
expect(var5_upvw).to.equal("hello")
expect(var6_upvw).to.equal("hello")
end)
it("should return values when :wait() is called", function() -- Line 23
--[[ Upvalues[1]:
[1]: Signal_upvr (readonly)
]]
local any_new_result1_2_upvr = Signal_upvr.new()
spawn(function() -- Line 26
--[[ Upvalues[1]:
[1]: any_new_result1_2_upvr (readonly)
]]
any_new_result1_2_upvr:fire(123, "hello")
end)
local any_wait_result1, any_wait_result2 = any_new_result1_2_upvr:wait()
expect(any_wait_result1).to.equal(123)
expect(any_wait_result2).to.equal("hello")
end)
it("should properly handle disconnections", function() -- Line 36
--[[ Upvalues[1]:
[1]: Signal_upvr (readonly)
]]
local any_new_result1_3 = Signal_upvr.new()
local var16_upvw = false
any_new_result1_3:connect(function() -- Line 41
--[[ Upvalues[1]:
[1]: var16_upvw (read and write)
]]
var16_upvw = true
end):disconnect()
any_new_result1_3:fire()
expect(var16_upvw).to.equal(false)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:05
-- Luau version 6, Types version 3
-- Time taken: 0.003523 seconds
local BaseMotor_upvr = require(script.Parent.BaseMotor)
local setmetatable_result1_2_upvr = setmetatable({}, BaseMotor_upvr)
setmetatable_result1_2_upvr.__index = setmetatable_result1_2_upvr
function setmetatable_result1_2_upvr.new(arg1, arg2) -- Line 6
--[[ Upvalues[2]:
[1]: BaseMotor_upvr (readonly)
[2]: setmetatable_result1_2_upvr (readonly)
]]
local var3 = arg1
assert(var3, "Missing argument #1: initialValue")
if typeof(arg1) ~= "number" then
var3 = false
else
var3 = true
end
assert(var3, "initialValue must be a number!")
local setmetatable_result1 = setmetatable(BaseMotor_upvr.new(), setmetatable_result1_2_upvr)
if arg2 ~= nil then
setmetatable_result1._useImplicitConnections = arg2
else
setmetatable_result1._useImplicitConnections = true
end
setmetatable_result1._goal = nil
local tbl = {
complete = true;
}
tbl.value = arg1
setmetatable_result1._state = tbl
return setmetatable_result1
end
function setmetatable_result1_2_upvr.step(arg1, arg2) -- Line 27
if arg1._state.complete then
return true
end
local any_step_result1 = arg1._goal:step(arg1._state, arg2)
arg1._state = any_step_result1
arg1._onStep:fire(any_step_result1.value)
if any_step_result1.complete then
if arg1._useImplicitConnections then
arg1:stop()
end
arg1._onComplete:fire()
end
return any_step_result1.complete
end
function setmetatable_result1_2_upvr.getValue(arg1) -- Line 48
return arg1._state.value
end
function setmetatable_result1_2_upvr.setGoal(arg1, arg2) -- Line 52
arg1._state.complete = false
arg1._goal = arg2
arg1._onStart:fire()
if arg1._useImplicitConnections then
arg1:start()
end
end
function setmetatable_result1_2_upvr.__tostring(arg1) -- Line 63
return "Motor(Single)"
end
return setmetatable_result1_2_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:07
-- Luau version 6, Types version 3
-- Time taken: 0.002136 seconds
return function() -- Line 1
local SingleMotor_upvr = require(script.Parent.SingleMotor)
local Instant_upvr = require(script.Parent.Instant)
it("should assign new state on step", function() -- Line 5
--[[ Upvalues[2]:
[1]: SingleMotor_upvr (readonly)
[2]: Instant_upvr (readonly)
]]
local any_new_result1_3 = SingleMotor_upvr.new(0, false)
any_new_result1_3:setGoal(Instant_upvr.new(5))
any_new_result1_3:step((1/60))
expect(any_new_result1_3._state.complete).to.equal(true)
expect(any_new_result1_3._state.value).to.equal(5)
end)
it("should invoke onComplete listeners when the goal is completed", function() -- Line 15
--[[ Upvalues[2]:
[1]: SingleMotor_upvr (readonly)
[2]: Instant_upvr (readonly)
]]
local any_new_result1_2 = SingleMotor_upvr.new(0, false)
local var8_upvw = false
any_new_result1_2:onComplete(function() -- Line 19
--[[ Upvalues[1]:
[1]: var8_upvw (read and write)
]]
var8_upvw = true
end)
any_new_result1_2:setGoal(Instant_upvr.new(5))
any_new_result1_2:step((1/60))
expect(var8_upvw).to.equal(true)
end)
it("should start when the goal is set", function() -- Line 29
--[[ Upvalues[2]:
[1]: SingleMotor_upvr (readonly)
[2]: Instant_upvr (readonly)
]]
local any_new_result1 = SingleMotor_upvr.new(0, false)
local var12_upvw = false
any_new_result1:onStart(function() -- Line 33
--[[ Upvalues[1]:
[1]: var12_upvw (read and write)
]]
var12_upvw = not var12_upvw
end)
any_new_result1:setGoal(Instant_upvr.new(5))
expect(var12_upvw).to.equal(true)
any_new_result1:setGoal(Instant_upvr.new(5))
expect(var12_upvw).to.equal(false)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:08
-- Luau version 6, Types version 3
-- Time taken: 0.006153 seconds
local module_3_upvr = {}
module_3_upvr.__index = module_3_upvr
function module_3_upvr.new(arg1, arg2) -- Line 9
--[[ Upvalues[1]:
[1]: module_3_upvr (readonly)
]]
assert(arg1, "Missing argument #1: targetValue")
local var2 = arg2
if not var2 then
var2 = {}
end
local var3 = var2
local module = {}
module._targetValue = arg1
module._frequency = var3.frequency or 4
module._dampingRatio = var3.dampingRatio or 1
return setmetatable(module, module_3_upvr)
end
function module_3_upvr.step(arg1, arg2, arg3) -- Line 20
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local _dampingRatio = arg1._dampingRatio
local var6 = arg1._frequency * 2 * math.pi
local _targetValue = arg1._targetValue
local var8 = arg2.velocity or 0
local var9 = arg2.value - _targetValue
local exponentiated = math.exp(-_dampingRatio * var6 * arg3)
local var11
if _dampingRatio == 1 then
local _ = (var9 * (1 + var6 * arg3) + var8 * arg3) * exponentiated + _targetValue
var11 = (var8 * (1 - var6 * arg3) - (var9) * (var6 * var6 * arg3)) * exponentiated
elseif _dampingRatio < 1 then
local squareroot = math.sqrt(1 - _dampingRatio * _dampingRatio)
local var15
if 0.0001 < squareroot then
var15 = math.sin(var6 * squareroot * arg3) / squareroot
else
local var16 = arg3 * var6
var15 = var16 + (((var16 * var16) * (squareroot * squareroot)) * (squareroot * squareroot) / 20 - squareroot * squareroot) * (var16 * var16 * var16) / 6
end
var16 = nil
local var17 = var16
if 0.0001 < var6 * squareroot then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
var17 = (math.sin(var6 * squareroot * arg3)) / (var6 * squareroot)
else
local var18 = var6 * squareroot
var17 = arg3 + (((arg3 * arg3) * (var18 * var18)) * (var18 * var18) / 20 - var18 * var18) * (arg3 * arg3 * arg3) / 6
end
var11 = (var8 * (math.cos(var6 * squareroot * arg3) - var15 * _dampingRatio) - (var9) * (var15 * var6)) * exponentiated
else
local squareroot_2 = math.sqrt(_dampingRatio * _dampingRatio - 1)
local var20 = -var6 * (_dampingRatio - squareroot_2)
local var21 = -var6 * (_dampingRatio + squareroot_2)
local var22 = (var8 - var9 * var20) / (2 * var6 * squareroot_2)
local var23 = (var9 - var22) * math.exp(var20 * arg3)
local var24 = var22 * math.exp(var21 * arg3)
var11 = var23 * var20 + var24 * var21
end
squareroot_2 = false
local var25 = squareroot_2
if math.abs(var11) < 0.001 then
if math.abs(var23 + var24 + _targetValue - _targetValue) >= 0.001 then
var25 = false
else
var25 = true
end
end
local module_2 = {
complete = var25;
}
if not var25 or not _targetValue then
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
module_2.value = var23 + var24 + _targetValue
module_2.velocity = var11
return module_2
end
return module_3_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:09
-- Luau version 6, Types version 3
-- Time taken: 0.002456 seconds
return function() -- Line 1
local SingleMotor_upvr = require(script.Parent.SingleMotor)
local Spring_upvr = require(script.Parent.Spring)
describe("completed state", function() -- Line 5
--[[ Upvalues[2]:
[1]: SingleMotor_upvr (readonly)
[2]: Spring_upvr (readonly)
]]
local any_new_result1_upvr = SingleMotor_upvr.new(0, false)
any_new_result1_upvr:setGoal(Spring_upvr.new(1, {
frequency = 2;
dampingRatio = 0.75;
}))
for _ = 1, 100 do
any_new_result1_upvr:step((1/60))
end
it("should complete", function() -- Line 15
--[[ Upvalues[1]:
[1]: any_new_result1_upvr (readonly)
]]
expect(any_new_result1_upvr._state.complete).to.equal(true)
end)
it("should be exactly the goal value when completed", function() -- Line 19
--[[ Upvalues[1]:
[1]: any_new_result1_upvr (readonly)
]]
expect(any_new_result1_upvr._state.value).to.equal(1)
end)
end)
it("should inherit velocity", function() -- Line 24
--[[ Upvalues[2]:
[1]: SingleMotor_upvr (readonly)
[2]: Spring_upvr (readonly)
]]
local any_new_result1 = SingleMotor_upvr.new(0, false)
any_new_result1._state = {
complete = false;
value = 0;
velocity = -5;
}
any_new_result1:setGoal(Spring_upvr.new(1, {
frequency = 2;
dampingRatio = 1;
}))
any_new_result1:step((1/60))
local var15
if any_new_result1._state.velocity >= 0 then
var15 = false
else
var15 = true
end
expect(var15).to.equal(true)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:11
-- Luau version 6, Types version 3
-- Time taken: 0.000746 seconds
return function(arg1) -- Line 1, Named "isMotor"
local any_match_result1 = tostring(arg1):match("^Motor%((.+)%)$")
if any_match_result1 then
return true, any_match_result1
end
return false
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:12
-- Luau version 6, Types version 3
-- Time taken: 0.001567 seconds
return function() -- Line 1
local isMotor_upvr = require(script.Parent.isMotor)
local any_new_result1_upvr_2 = require(script.Parent.SingleMotor).new(0)
local any_new_result1_upvr = require(script.Parent.GroupMotor).new({})
it("should properly detect motors", function() -- Line 10
--[[ Upvalues[3]:
[1]: isMotor_upvr (readonly)
[2]: any_new_result1_upvr_2 (readonly)
[3]: any_new_result1_upvr (readonly)
]]
expect(isMotor_upvr(any_new_result1_upvr_2)).to.equal(true)
expect(isMotor_upvr(any_new_result1_upvr)).to.equal(true)
end)
it("shouldn't detect things that aren't motors", function() -- Line 15
--[[ Upvalues[1]:
[1]: isMotor_upvr (readonly)
]]
expect(isMotor_upvr({})).to.equal(false)
end)
it("should return the proper motor type", function() -- Line 19
--[[ Upvalues[3]:
[1]: isMotor_upvr (readonly)
[2]: any_new_result1_upvr_2 (readonly)
[3]: any_new_result1_upvr (readonly)
]]
local _, isMotor_upvr_result2 = isMotor_upvr(any_new_result1_upvr_2)
local isMotor_upvr_result1, var2_result2 = isMotor_upvr(any_new_result1_upvr)
expect(isMotor_upvr_result2).to.equal("Single")
expect(var2_result2).to.equal("Group")
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:14
-- Luau version 6, Types version 3
-- Time taken: 0.000310 seconds
return require(script.Parent.Parent["
[email protected]"].flipper)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:15
-- Luau version 6, Types version 3
-- Time taken: 0.000424 seconds
return require(script.Parent.Parent["
[email protected]"].roact)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:17
-- Luau version 6, Types version 3
-- Time taken: 0.000659 seconds
return {
getBinding = require(script.getBinding);
useMotor = require(script.useMotor);
useGoal = require(script.useGoal);
useInstant = require(script.useInstant);
useSpring = require(script.useSpring);
useLinear = require(script.useLinear);
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:18
-- Luau version 6, Types version 3
-- Time taken: 0.000395 seconds
return require(script.Parent.Symbol).named("AssignedBinding")
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:20
-- Luau version 6, Types version 3
-- Time taken: 0.001218 seconds
return {
named = function(arg1) -- Line 16, Named "named"
local var2_upvr
if type(arg1) ~= "string" then
var2_upvr = false
else
var2_upvr = true
end
assert(var2_upvr, "Symbols must be created using a string name!")
var2_upvr = true
local newproxy_result1 = newproxy(var2_upvr)
var2_upvr = "Symbol(%s)":format(arg1)
getmetatable(newproxy_result1).__tostring = function() -- Line 23
--[[ Upvalues[1]:
[1]: var2_upvr (readonly)
]]
return var2_upvr
end
return newproxy_result1
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:21
-- Luau version 6, Types version 3
-- Time taken: 0.001141 seconds
local Flipper_upvr = require(script.Parent.Parent.Flipper)
local AssignedBinding_upvr = require(script.Parent.AssignedBinding)
local Roact_upvr = require(script.Parent.Parent.Roact)
return function(arg1) -- Line 6, Named "getBinding"
--[[ Upvalues[3]:
[1]: Flipper_upvr (readonly)
[2]: AssignedBinding_upvr (readonly)
[3]: Roact_upvr (readonly)
]]
assert(arg1, "Missing argument #1: motor")
if not Flipper_upvr.isMotor(arg1) then
error("Provided value is not a motor!", 2)
end
if arg1[AssignedBinding_upvr] then
return arg1[AssignedBinding_upvr]
end
local any_createBinding_result1, any_createBinding_result2 = Roact_upvr.createBinding(arg1:getValue())
arg1:onStep(any_createBinding_result2)
arg1[AssignedBinding_upvr] = any_createBinding_result1
return any_createBinding_result1
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:23
-- Luau version 6, Types version 3
-- Time taken: 0.001817 seconds
local function getInitialValue_upvr(arg1) -- Line 4, Named "getInitialValue"
--[[ Upvalues[1]:
[1]: getInitialValue_upvr (readonly)
]]
if arg1.step then
return arg1._targetValue
end
for i, v in pairs(arg1) do
({})[i] = getInitialValue_upvr(v)
local var9
end
return var9
end
local useMotor_upvr = require(script.Parent.useMotor)
local getBinding_upvr = require(script.Parent.getBinding)
return function(arg1, arg2) -- Line 16, Named "useGoal"
--[[ Upvalues[3]:
[1]: useMotor_upvr (readonly)
[2]: getInitialValue_upvr (readonly)
[3]: getBinding_upvr (readonly)
]]
local var10_result1 = useMotor_upvr(arg1, getInitialValue_upvr(arg2))
var10_result1:setGoal(arg2)
return getBinding_upvr(var10_result1), var10_result1
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:25
-- Luau version 6, Types version 3
-- Time taken: 0.000867 seconds
local useGoal_upvr = require(script.Parent.useGoal)
local Flipper_upvr = require(script.Parent.Parent.Flipper)
return function(arg1, arg2) -- Line 5, Named "useInstant"
--[[ Upvalues[2]:
[1]: useGoal_upvr (readonly)
[2]: Flipper_upvr (readonly)
]]
return useGoal_upvr(arg1, Flipper_upvr.Instant.new(arg2))
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:26
-- Luau version 6, Types version 3
-- Time taken: 0.000721 seconds
local useGoal_upvr = require(script.Parent.useGoal)
local Flipper_upvr = require(script.Parent.Parent.Flipper)
return function(arg1, arg2, arg3) -- Line 5, Named "useLinear"
--[[ Upvalues[2]:
[1]: useGoal_upvr (readonly)
[2]: Flipper_upvr (readonly)
]]
return useGoal_upvr(arg1, Flipper_upvr.Linear.new(arg2, arg3))
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:28
-- Luau version 6, Types version 3
-- Time taken: 0.001439 seconds
local Flipper_upvr = require(script.Parent.Parent.Flipper)
local function createMotor_upvr(arg1) -- Line 3, Named "createMotor"
--[[ Upvalues[1]:
[1]: Flipper_upvr (readonly)
]]
local type_result1 = type(arg1)
if type_result1 == "number" then
return Flipper_upvr.SingleMotor.new(arg1)
end
if type_result1 == "table" then
return Flipper_upvr.GroupMotor.new(arg1)
end
error("Invalid type for initialValue. Expected \"number\" or \"table\", got \"%s\"":format(type_result1))
end
return function(arg1, arg2) -- Line 14, Named "useMotor"
--[[ Upvalues[1]:
[1]: createMotor_upvr (readonly)
]]
local value_upvr = arg1.useValue(createMotor_upvr(arg2)).value
arg1.useEffect(function() -- Line 17
--[[ Upvalues[1]:
[1]: value_upvr (readonly)
]]
return function() -- Line 18
--[[ Upvalues[1]:
[1]: value_upvr (copied, readonly)
]]
value_upvr:destroy()
end
end, {})
return value_upvr
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:29
-- Luau version 6, Types version 3
-- Time taken: 0.000616 seconds
local useGoal_upvr = require(script.Parent.useGoal)
local Flipper_upvr = require(script.Parent.Parent.Flipper)
return function(arg1, arg2, arg3) -- Line 5, Named "useSpring"
--[[ Upvalues[2]:
[1]: useGoal_upvr (readonly)
[2]: Flipper_upvr (readonly)
]]
return useGoal_upvr(arg1, Flipper_upvr.Spring.new(arg2, arg3))
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:31
-- Luau version 6, Types version 3
-- Time taken: 0.000298 seconds
return require(script.Parent.Parent["
[email protected]"].roact)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:33
-- Luau version 6, Types version 3
-- Time taken: 0.000417 seconds
return require(script.Parent.Parent["
[email protected]"].rodux)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:35
-- Luau version 6, Types version 3
-- Time taken: 0.000613 seconds
local connect = require(script.connect)
return {
StoreProvider = require(script.StoreProvider);
StoreContext = require(script.StoreContext);
connect = connect;
UNSTABLE_connect2 = connect;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:36
-- Luau version 6, Types version 3
-- Time taken: 0.000401 seconds
return require(script.Parent.Parent.Roact).createContext()
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:38
-- Luau version 6, Types version 3
-- Time taken: 0.001520 seconds
local Roact_upvr = require(script.Parent.Parent.Roact)
local any_extend_result1 = Roact_upvr.Component:extend("StoreProvider")
function any_extend_result1.validateProps(arg1) -- Line 7
if arg1.store == nil then
return false, "Error initializing StoreProvider. Expected a `store` prop to be a Rodux store."
end
return true
end
function any_extend_result1.init(arg1, arg2) -- Line 15
arg1.store = arg2.store
end
local StoreContext_upvr = require(script.Parent.StoreContext)
function any_extend_result1.render(arg1) -- Line 19
--[[ Upvalues[2]:
[1]: Roact_upvr (readonly)
[2]: StoreContext_upvr (readonly)
]]
return Roact_upvr.createElement(StoreContext_upvr.Provider, {
value = arg1.store;
}, Roact_upvr.oneChild(arg1.props[Roact_upvr.Children]))
end
return any_extend_result1
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:39
-- Luau version 6, Types version 3
-- Time taken: 0.002930 seconds
return function() -- Line 1
local StoreProvider_upvr = require(script.Parent.StoreProvider)
local Roact_upvr = require(script.Parent.Parent.Roact)
local Rodux_upvr = require(script.Parent.Parent.Rodux)
it("should be instantiable as a component", function() -- Line 7
--[[ Upvalues[3]:
[1]: Rodux_upvr (readonly)
[2]: Roact_upvr (readonly)
[3]: StoreProvider_upvr (readonly)
]]
local any_new_result1_2 = Rodux_upvr.Store.new(function() -- Line 8
return 0
end)
local any_createElement_result1_2 = Roact_upvr.createElement(StoreProvider_upvr, {
store = any_new_result1_2;
})
expect(any_createElement_result1_2).to.be.ok()
Roact_upvr.unmount(Roact_upvr.mount(any_createElement_result1_2, nil, "StoreProvider-test"))
any_new_result1_2:destruct()
end)
it("should expect a 'store' prop", function() -- Line 23
--[[ Upvalues[2]:
[1]: Roact_upvr (readonly)
[2]: StoreProvider_upvr (readonly)
]]
local any_createElement_result1_3_upvr = Roact_upvr.createElement(StoreProvider_upvr)
expect(function() -- Line 26
--[[ Upvalues[2]:
[1]: Roact_upvr (copied, readonly)
[2]: any_createElement_result1_3_upvr (readonly)
]]
Roact_upvr.mount(any_createElement_result1_3_upvr)
end).to.throw()
end)
it("should accept a single child", function() -- Line 31
--[[ Upvalues[3]:
[1]: Rodux_upvr (readonly)
[2]: Roact_upvr (readonly)
[3]: StoreProvider_upvr (readonly)
]]
local any_new_result1 = Rodux_upvr.Store.new(function() -- Line 32
return 0
end)
local Folder = Instance.new("Folder")
local any_createElement_result1 = Roact_upvr.createElement(StoreProvider_upvr, {
store = any_new_result1;
}, {
test1 = Roact_upvr.createElement("Frame");
})
expect(any_createElement_result1).to.be.ok()
local StoreProvider_test = Folder:FindFirstChild("StoreProvider-test", true)
expect(StoreProvider_test).to.be.ok()
expect(StoreProvider_test:IsA("Frame")).to.equal(true)
Roact_upvr.unmount(Roact_upvr.mount(any_createElement_result1, Folder, "StoreProvider-test"))
any_new_result1:destruct()
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:40
-- Luau version 6, Types version 3
-- Time taken: 0.001415 seconds
return {
named = function(arg1) -- Line 15, Named "named"
local var2_upvr
if type(arg1) ~= "string" then
var2_upvr = false
else
var2_upvr = true
end
assert(var2_upvr, "Symbols must be created using a string name!")
var2_upvr = true
local newproxy_result1_2 = newproxy(var2_upvr)
var2_upvr = "Symbol(%s)":format(arg1)
getmetatable(newproxy_result1_2).__tostring = function() -- Line 22
--[[ Upvalues[1]:
[1]: var2_upvr (readonly)
]]
return var2_upvr
end
return newproxy_result1_2
end;
unnamed = function() -- Line 33, Named "unnamed"
local newproxy_result1 = newproxy(true)
getmetatable(newproxy_result1).__tostring = function() -- Line 36
return "Unnamed Symbol"
end
return newproxy_result1
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:42
-- Luau version 6, Types version 3
-- Time taken: 0.002352 seconds
return function() -- Line 1
local Symbol_upvr = require(script.Parent.Symbol)
describe("named", function() -- Line 4
--[[ Upvalues[1]:
[1]: Symbol_upvr (readonly)
]]
it("should give an opaque object", function() -- Line 5
--[[ Upvalues[1]:
[1]: Symbol_upvr (copied, readonly)
]]
expect(Symbol_upvr.named("foo")).to.be.a("userdata")
end)
it("should coerce to the given name", function() -- Line 11
--[[ Upvalues[1]:
[1]: Symbol_upvr (copied, readonly)
]]
expect(tostring(Symbol_upvr.named("foo")):find("foo")).to.be.ok()
end)
it("should be unique when constructed", function() -- Line 17
--[[ Upvalues[1]:
[1]: Symbol_upvr (copied, readonly)
]]
expect(Symbol_upvr.named("abc")).never.to.equal(Symbol_upvr.named("abc"))
end)
end)
describe("unnamed", function() -- Line 25
--[[ Upvalues[1]:
[1]: Symbol_upvr (readonly)
]]
it("should give an opaque object", function() -- Line 26
--[[ Upvalues[1]:
[1]: Symbol_upvr (copied, readonly)
]]
expect(Symbol_upvr.unnamed()).to.be.a("userdata")
end)
it("should coerce to some string", function() -- Line 32
--[[ Upvalues[1]:
[1]: Symbol_upvr (copied, readonly)
]]
expect(tostring(Symbol_upvr.unnamed())).to.be.a("string")
end)
it("should be unique when constructed", function() -- Line 38
--[[ Upvalues[1]:
[1]: Symbol_upvr (copied, readonly)
]]
expect(Symbol_upvr.unnamed()).never.to.equal(Symbol_upvr.unnamed())
end)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:43
-- Luau version 6, Types version 3
-- Time taken: 0.012896 seconds
local join_upvr = require(script.Parent.join)
local function _(arg1, arg2) -- Line 27, Named "formatMessage"
local var2 = arg2
if not var2 then
var2 = {}
end
return table.concat(arg1, '\n'):format(unpack(var2))
end
local function noop_upvw() -- Line 31, Named "noop"
return nil
end
local function _(arg1) -- Line 44, Named "makeStateUpdater"
--[[ Upvalues[1]:
[1]: join_upvr (readonly)
]]
return function(arg1_2, arg2, arg3) -- Line 45
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: join_upvr (copied, readonly)
]]
if arg3 == nil then
local any_mapStateToProps_result1 = arg2.mapStateToProps(arg1:getState(), arg1_2)
end
return {
mappedStoreState = any_mapStateToProps_result1;
propsForChild = join_upvr(arg1_2, any_mapStateToProps_result1, arg2.mappedStoreDispatch);
}
end
end
local Roact_upvr = require(script.Parent.Parent.Roact)
local shallowEqual_upvr = require(script.Parent.shallowEqual)
local StoreContext_upvr = require(script.Parent.StoreContext)
return function(arg1, arg2) -- Line 68, Named "connect"
--[[ Upvalues[5]:
[1]: noop_upvw (readonly)
[2]: Roact_upvr (readonly)
[3]: join_upvr (readonly)
[4]: shallowEqual_upvr (readonly)
[5]: StoreContext_upvr (readonly)
]]
if arg1 ~= nil then
if typeof(arg1) ~= "function" then
else
end
assert(true, "mapStateToProps must be a function or nil!")
else
end
local typeof_result1_upvr = typeof(arg2)
if arg2 ~= nil then
local var10 = true
if typeof_result1_upvr ~= "function" then
if typeof_result1_upvr ~= "table" then
var10 = false
else
var10 = true
end
end
assert(var10, "mapDispatchToProps must be a function, table, or nil!")
else
end
return function(arg1_3) -- Line 95
--[[ Upvalues[7]:
[1]: Roact_upvr (copied, readonly)
[2]: noop_upvw (read and write)
[3]: typeof_result1_upvr (readonly)
[4]: noop_upvw (read and write)
[5]: join_upvr (copied, readonly)
[6]: shallowEqual_upvr (copied, readonly)
[7]: StoreContext_upvr (copied, readonly)
]]
if arg1_3 == nil then
local var14 = {debug.traceback()}
if not var14 then
var14 = {}
end
error(table.concat({"connect returns a function that must be passed a component.", "Check the connection at:", "%s"}, '\n'):format(unpack(var14)), 2)
end
local formatted = "RoduxConnection(%s)":format(tostring(arg1_3))
local any_extend_result1_2_upvr = Roact_upvr.Component:extend(formatted)
function any_extend_result1_2_upvr.getDerivedStateFromProps(arg1_4, arg2_2) -- Line 113
if arg2_2.stateUpdater ~= nil then
return arg2_2.stateUpdater(arg1_4.innerProps, arg2_2)
end
return nil
end
function any_extend_result1_2_upvr.init(arg1_5, arg2_3) -- Line 120
--[[ Upvalues[5]:
[1]: arg1_3 (readonly)
[2]: noop_upvw (copied, read and write)
[3]: typeof_result1_upvr (copied, readonly)
[4]: noop_upvw (copied, read and write)
[5]: join_upvr (copied, readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
arg1_5.store = arg2_3.store
local var33
if arg1_5.store == nil then
local tbl = {}
var33 = "Cannot initialize Roact-Rodux connection without being a descendent of StoreProvider!"
tbl[1] = var33
tbl[2] = "Tried to wrap component %q"
tbl[3] = "Make sure there is a StoreProvider above this component in the tree."
var33 = {}
var33[1] = tostring(arg1_3)
local var35 = var33
if not var35 then
var35 = {}
end
var33 = table.concat(tbl, '\n'):format(unpack(var35))
error(var33)
end
local any_getState_result1 = arg1_5.store:getState()
var33 = noop_upvw(any_getState_result1, arg1_5.props.innerProps)
if typeof(var33) == "function" then
var33 = var33(any_getState_result1, arg1_5.props.innerProps)
end
if var33 ~= nil and typeof(var33) ~= "table" then
local var39 = {tostring(var33), typeof(var33)}
if not var39 then
var39 = {}
end
error(table.concat({"mapStateToProps must either return a table, or return another function that returns a table.", "Instead, it returned %q, which is of type %s."}, '\n'):format(unpack(var39)))
end
local function dispatch_upvr(...) -- Line 162, Named "dispatch"
--[[ Upvalues[1]:
[1]: arg1_5 (readonly)
]]
return arg1_5.store:dispatch(...)
end
local var40
if typeof_result1_upvr == "table" then
var40 = {}
for i, v_upvr in pairs(noop_upvw) do
local var44
if typeof(v_upvr) ~= "function" then
var44 = false
else
var44 = true
end
assert(var44, "mapDispatchToProps must contain function values")
var40[i] = function(...) -- Line 173
--[[ Upvalues[2]:
[1]: dispatch_upvr (readonly)
[2]: v_upvr (readonly)
]]
dispatch_upvr(v_upvr(...))
end
end
elseif typeof_result1_upvr == "function" then
var40 = noop_upvw(dispatch_upvr)
end
local store_upvr = arg1_5.store
store_upvr = {}
local var50 = store_upvr
function var50.stateUpdater(arg1_6, arg2_4, arg3) -- Line 45
--[[ Upvalues[2]:
[1]: store_upvr (readonly)
[2]: join_upvr (copied, readonly)
]]
if arg3 == nil then
local any_mapStateToProps_result1_3 = arg2_4.mapStateToProps(store_upvr:getState(), arg1_6)
end
return {
mappedStoreState = any_mapStateToProps_result1_3;
propsForChild = join_upvr(arg1_6, any_mapStateToProps_result1_3, arg2_4.mappedStoreDispatch);
}
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
var50.mapStateToProps = var33
var50.mappedStoreDispatch = var40
var50.propsForChild = nil
arg1_5.state = var50
var50 = (function(arg1_6, arg2_4, arg3) -- Line 45
--[[ Upvalues[2]:
[1]: store_upvr (readonly)
[2]: join_upvr (copied, readonly)
]]
if arg3 == nil then
local any_mapStateToProps_result1_3 = arg2_4.mapStateToProps(store_upvr:getState(), arg1_6)
end
return {
mappedStoreState = any_mapStateToProps_result1_3;
propsForChild = join_upvr(arg1_6, any_mapStateToProps_result1_3, arg2_4.mappedStoreDispatch);
}
end)(arg1_5.props.innerProps, arg1_5.state, var33)
for i_2, v_2 in pairs(var50) do
arg1_5.state[i_2] = v_2
end
end
function any_extend_result1_2_upvr.didMount(arg1_7) -- Line 210
--[[ Upvalues[1]:
[1]: shallowEqual_upvr (copied, readonly)
]]
local any_getState_result1_upvr = arg1_7.store:getState()
arg1_7:setState(function(arg1_10, arg2_6) -- Line 212
--[[ Upvalues[2]:
[1]: any_getState_result1_upvr (readonly)
[2]: shallowEqual_upvr (copied, readonly)
]]
local any_mapStateToProps_result1_2 = arg1_10.mapStateToProps(any_getState_result1_upvr, arg2_6.innerProps)
if shallowEqual_upvr(any_mapStateToProps_result1_2, arg1_10.mappedStoreState) then
return nil
end
return arg1_10.stateUpdater(arg2_6.innerProps, arg1_10, any_mapStateToProps_result1_2)
end)
any_getState_result1_upvr = arg1_7.store.changed:connect(function(arg1_8) -- Line 211
--[[ Upvalues[2]:
[1]: arg1_7 (readonly)
[2]: shallowEqual_upvr (copied, readonly)
]]
arg1_7:setState(function(arg1_9, arg2_5) -- Line 212
--[[ Upvalues[2]:
[1]: arg1_8 (readonly)
[2]: shallowEqual_upvr (copied, readonly)
]]
local any_mapStateToProps_result1_4 = arg1_9.mapStateToProps(arg1_8, arg2_5.innerProps)
if shallowEqual_upvr(any_mapStateToProps_result1_4, arg1_9.mappedStoreState) then
return nil
end
return arg1_9.stateUpdater(arg2_5.innerProps, arg1_9, any_mapStateToProps_result1_4)
end)
end)
arg1_7.storeChangedConnection = any_getState_result1_upvr
end
function any_extend_result1_2_upvr.willUnmount(arg1_11) -- Line 234
if arg1_11.storeChangedConnection then
arg1_11.storeChangedConnection:disconnect()
arg1_11.storeChangedConnection = nil
end
end
local function render(arg1_12) -- Line 241
--[[ Upvalues[2]:
[1]: Roact_upvr (copied, readonly)
[2]: arg1_3 (readonly)
]]
return Roact_upvr.createElement(arg1_3, arg1_12.state.propsForChild)
end
any_extend_result1_2_upvr.render = render
local any_extend_result1 = Roact_upvr.Component:extend(formatted)
local function render(arg1_13) -- Line 247
--[[ Upvalues[3]:
[1]: Roact_upvr (copied, readonly)
[2]: StoreContext_upvr (copied, readonly)
[3]: any_extend_result1_2_upvr (readonly)
]]
return Roact_upvr.createElement(StoreContext_upvr.Consumer, {
render = function(arg1_14) -- Line 249, Named "render"
--[[ Upvalues[3]:
[1]: Roact_upvr (copied, readonly)
[2]: any_extend_result1_2_upvr (copied, readonly)
[3]: arg1_13 (readonly)
]]
local module = {
innerProps = arg1_13.props;
}
module.store = arg1_14
return Roact_upvr.createElement(any_extend_result1_2_upvr, module)
end;
})
end
any_extend_result1.render = render
return any_extend_result1
end
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:44
-- Luau version 6, Types version 3
-- Time taken: 0.012914 seconds
return function() -- Line 1
local connect_upvr = require(script.Parent.connect)
local StoreProvider_upvr = require(script.Parent.StoreProvider)
local Roact_upvr = require(script.Parent.Parent.Roact)
local Rodux_upvr = require(script.Parent.Parent.Rodux)
local function noop_upvr() -- Line 11, Named "noop"
return nil
end
local function NoopComponent_upvr() -- Line 15, Named "NoopComponent"
return nil
end
local any_combineReducers_result1_upvr = Rodux_upvr.combineReducers({
count = function(arg1, arg2) -- Line 19, Named "countReducer"
local var6 = arg1 or 0
if arg2.type == "increment" then
return var6 + 1
end
return var6
end;
})
describe("Argument validation", function() -- Line 33
--[[ Upvalues[2]:
[1]: connect_upvr (readonly)
[2]: noop_upvr (readonly)
]]
it("should accept no arguments", function() -- Line 34
--[[ Upvalues[1]:
[1]: connect_upvr (copied, readonly)
]]
connect_upvr()
end)
it("should accept one function", function() -- Line 38
--[[ Upvalues[2]:
[1]: connect_upvr (copied, readonly)
[2]: noop_upvr (copied, readonly)
]]
connect_upvr(noop_upvr)
end)
it("should accept two functions", function() -- Line 42
--[[ Upvalues[2]:
[1]: connect_upvr (copied, readonly)
[2]: noop_upvr (copied, readonly)
]]
connect_upvr(noop_upvr, noop_upvr)
end)
it("should accept only the second function", function() -- Line 46
--[[ Upvalues[1]:
[1]: connect_upvr (copied, readonly)
]]
connect_upvr(nil, function() -- Line 47
end)
end)
it("should accept one table of action creators", function() -- Line 50
--[[ Upvalues[1]:
[1]: connect_upvr (copied, readonly)
]]
connect_upvr(nil, {
foo = function() -- Line 52
end;
})
end)
it("should throw if not passed a component", function() -- Line 56
--[[ Upvalues[1]:
[1]: connect_upvr (copied, readonly)
]]
local function var19_upvr(arg1) -- Line 57
return {}
end
expect(function() -- Line 61
--[[ Upvalues[2]:
[1]: connect_upvr (copied, readonly)
[2]: var19_upvr (readonly)
]]
connect_upvr(var19_upvr)(nil)
end).to.throw()
end)
end)
it("should throw if not mounted under a StoreProvider", function() -- Line 67
--[[ Upvalues[3]:
[1]: connect_upvr (readonly)
[2]: NoopComponent_upvr (readonly)
[3]: Roact_upvr (readonly)
]]
local var23_upvr = connect_upvr()(NoopComponent_upvr)
expect(function() -- Line 70
--[[ Upvalues[2]:
[1]: Roact_upvr (copied, readonly)
[2]: var23_upvr (readonly)
]]
Roact_upvr.mount(Roact_upvr.createElement(var23_upvr))
end).to.throw()
end)
it("should accept a higher-order function mapStateToProps", function() -- Line 75
--[[ Upvalues[6]:
[1]: connect_upvr (readonly)
[2]: NoopComponent_upvr (readonly)
[3]: Rodux_upvr (readonly)
[4]: any_combineReducers_result1_upvr (readonly)
[5]: Roact_upvr (readonly)
[6]: StoreProvider_upvr (readonly)
]]
local function mapStateToProps() -- Line 76
return function(arg1) -- Line 77
return {
count = arg1.count;
}
end
end
Roact_upvr.unmount(Roact_upvr.mount(Roact_upvr.createElement(StoreProvider_upvr, {
store = Rodux_upvr.Store.new(any_combineReducers_result1_upvr);
}, {
someComponent = Roact_upvr.createElement(connect_upvr(mapStateToProps)(NoopComponent_upvr));
})))
end)
it("should not accept a higher-order mapStateToProps that returns a non-table value", function() -- Line 98
--[[ Upvalues[6]:
[1]: connect_upvr (readonly)
[2]: NoopComponent_upvr (readonly)
[3]: Rodux_upvr (readonly)
[4]: any_combineReducers_result1_upvr (readonly)
[5]: Roact_upvr (readonly)
[6]: StoreProvider_upvr (readonly)
]]
local function mapStateToProps() -- Line 99
return function(arg1) -- Line 100
return "nope"
end
end
local any_createElement_result1_upvr = Roact_upvr.createElement(StoreProvider_upvr, {
store = Rodux_upvr.Store.new(any_combineReducers_result1_upvr);
}, {
someComponent = Roact_upvr.createElement(connect_upvr(mapStateToProps)(NoopComponent_upvr));
})
expect(function() -- Line 114
--[[ Upvalues[2]:
[1]: Roact_upvr (copied, readonly)
[2]: any_createElement_result1_upvr (readonly)
]]
Roact_upvr.mount(any_createElement_result1_upvr)
end).to.throw()
end)
it("should not accept a mapStateToProps that returns a non-table value", function() -- Line 119
--[[ Upvalues[6]:
[1]: connect_upvr (readonly)
[2]: NoopComponent_upvr (readonly)
[3]: Rodux_upvr (readonly)
[4]: any_combineReducers_result1_upvr (readonly)
[5]: Roact_upvr (readonly)
[6]: StoreProvider_upvr (readonly)
]]
local function mapStateToProps() -- Line 120
return "nah"
end
local any_createElement_result1_upvr_2 = Roact_upvr.createElement(StoreProvider_upvr, {
store = Rodux_upvr.Store.new(any_combineReducers_result1_upvr);
}, {
someComponent = Roact_upvr.createElement(connect_upvr(mapStateToProps)(NoopComponent_upvr));
})
expect(function() -- Line 133
--[[ Upvalues[2]:
[1]: Roact_upvr (copied, readonly)
[2]: any_createElement_result1_upvr_2 (readonly)
]]
Roact_upvr.mount(any_createElement_result1_upvr_2)
end).to.throw()
end)
it("should abort renders when mapStateToProps returns the same data", function() -- Line 138
--[[ Upvalues[5]:
[1]: connect_upvr (readonly)
[2]: Rodux_upvr (readonly)
[3]: any_combineReducers_result1_upvr (readonly)
[4]: Roact_upvr (readonly)
[5]: StoreProvider_upvr (readonly)
]]
local function mapStateToProps(arg1) -- Line 139
return {
count = arg1.count;
}
end
local var42_upvw = 0
local function SomeComponent(arg1) -- Line 146
--[[ Upvalues[1]:
[1]: var42_upvw (read and write)
]]
var42_upvw += 1
end
local any_new_result1_3 = Rodux_upvr.Store.new(any_combineReducers_result1_upvr)
expect(var42_upvw).to.equal(1)
any_new_result1_3:dispatch({
type = "an unknown action";
})
any_new_result1_3:flush()
expect(var42_upvw).to.equal(1)
any_new_result1_3:dispatch({
type = "increment";
})
any_new_result1_3:flush()
expect(var42_upvw).to.equal(2)
Roact_upvr.unmount(Roact_upvr.mount(Roact_upvr.createElement(StoreProvider_upvr, {
store = any_new_result1_3;
}, {
someComponent = Roact_upvr.createElement(connect_upvr(mapStateToProps)(SomeComponent));
})))
end)
it("should only call mapDispatchToProps once and never re-render if no mapStateToProps was passed", function() -- Line 176
--[[ Upvalues[5]:
[1]: connect_upvr (readonly)
[2]: Rodux_upvr (readonly)
[3]: any_combineReducers_result1_upvr (readonly)
[4]: Roact_upvr (readonly)
[5]: StoreProvider_upvr (readonly)
]]
local var49_upvw = 0
local var53_upvw = 0
local function SomeComponent(arg1) -- Line 189
--[[ Upvalues[1]:
[1]: var53_upvw (read and write)
]]
var53_upvw += 1
end
local any_new_result1 = Rodux_upvr.Store.new(any_combineReducers_result1_upvr)
expect(var49_upvw).to.equal(1)
expect(var53_upvw).to.equal(1)
any_new_result1:dispatch({
type = "an unknown action";
})
any_new_result1:flush()
expect(var49_upvw).to.equal(1)
expect(var53_upvw).to.equal(1)
any_new_result1:dispatch({
type = "increment";
})
any_new_result1:flush()
expect(var49_upvw).to.equal(1)
expect(var53_upvw).to.equal(1)
Roact_upvr.unmount(Roact_upvr.mount(Roact_upvr.createElement(StoreProvider_upvr, {
store = any_new_result1;
}, {
someComponent = Roact_upvr.createElement(connect_upvr(nil, function(arg1) -- Line 178
--[[ Upvalues[1]:
[1]: var49_upvw (read and write)
]]
var49_upvw += 1
return {
increment = function() -- Line 182, Named "increment"
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
return arg1({
type = "increment";
})
end;
}
end)(SomeComponent));
})))
end)
it("should dispatch the action using a table of action creators", function() -- Line 222
--[[ Upvalues[5]:
[1]: connect_upvr (readonly)
[2]: Rodux_upvr (readonly)
[3]: any_combineReducers_result1_upvr (readonly)
[4]: Roact_upvr (readonly)
[5]: StoreProvider_upvr (readonly)
]]
local function SomeComponent(arg1) -- Line 231
arg1.increment()
end
local any_new_result1_2 = Rodux_upvr.Store.new(any_combineReducers_result1_upvr)
any_new_result1_2.changed:connect(function(arg1) -- Line 246
expect(arg1.count).to.equal(1)
end)
Roact_upvr.unmount(Roact_upvr.mount(Roact_upvr.createElement(StoreProvider_upvr, {
store = any_new_result1_2;
}, {
someComponent = Roact_upvr.createElement(connect_upvr(nil, {
increment = function() -- Line 224
return {
type = "increment";
}
end;
})(SomeComponent));
})))
end)
it("should return result values from the dispatch passed to mapDispatchToProps", function() -- Line 253
--[[ Upvalues[4]:
[1]: connect_upvr (readonly)
[2]: Rodux_upvr (readonly)
[3]: Roact_upvr (readonly)
[4]: StoreProvider_upvr (readonly)
]]
local var68_upvw
expect(var68_upvw).to.be.a("function")
expect(var68_upvw(function() -- Line 258, Named "fiveThunk"
return 5
end)).to.equal(5)
Roact_upvr.unmount(Roact_upvr.mount(Roact_upvr.createElement(StoreProvider_upvr, {
store = Rodux_upvr.Store.new(function() -- Line 254, Named "reducer"
return 0
end, nil, {Rodux_upvr.thunkMiddleware});
}, {
someComponent = Roact_upvr.createElement(connect_upvr(nil, function(arg1) -- Line 267, Named "mapDispatchToProps"
local module = {}
module.dispatch = arg1
return module
end)(function(arg1) -- Line 263, Named "SomeComponent"
--[[ Upvalues[1]:
[1]: var68_upvw (read and write)
]]
var68_upvw = arg1.dispatch
end));
})))
end)
it("should allow fields to be assigned on connected components", function() -- Line 291
--[[ Upvalues[2]:
[1]: connect_upvr (readonly)
[2]: NoopComponent_upvr (readonly)
]]
local function mapStateToProps(arg1) -- Line 292
return {
count = arg1.count;
}
end
local var75_upvr = connect_upvr(mapStateToProps)(NoopComponent_upvr)
expect(function() -- Line 300
--[[ Upvalues[1]:
[1]: var75_upvr (readonly)
]]
var75_upvr.SomeEnum = {
Value = 1;
}
end).never.to.throw()
expect(var75_upvr.SomeEnum).to.be.ok()
expect(var75_upvr.SomeEnum.Value).to.equal(1)
end)
it("should never pass the store and innerProps to `mapStateToProps`", function() -- Line 311
--[[ Upvalues[6]:
[1]: connect_upvr (readonly)
[2]: NoopComponent_upvr (readonly)
[3]: Rodux_upvr (readonly)
[4]: any_combineReducers_result1_upvr (readonly)
[5]: Roact_upvr (readonly)
[6]: StoreProvider_upvr (readonly)
]]
local tbl_upvr = {}
local var80_upvw
local any_new_result1_4 = Rodux_upvr.Store.new(any_combineReducers_result1_upvr)
any_new_result1_4:dispatch({
type = "increment";
})
any_new_result1_4:flush()
expect(var80_upvw.store).to.equal(nil)
expect(var80_upvw.innerProps).to.equal(nil)
expect(var80_upvw.somePropName).to.equal(tbl_upvr)
Roact_upvr.unmount(Roact_upvr.mount(Roact_upvr.createElement(StoreProvider_upvr, {
store = any_new_result1_4;
}, {
parent = Roact_upvr.createElement(connect_upvr(function(arg1, arg2) -- Line 314, Named "mapStateToProps"
--[[ Upvalues[2]:
[1]: var80_upvw (read and write)
[2]: tbl_upvr (readonly)
]]
var80_upvw = arg2
expect(arg2.store).to.equal(nil)
expect(arg2.innerProps).to.equal(nil)
expect(arg2.somePropName).to.equal(tbl_upvr)
return {
count = arg1.count;
}
end)(NoopComponent_upvr), {
somePropName = tbl_upvr;
});
})))
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:46
-- Luau version 6, Types version 3
-- Time taken: 0.001031 seconds
return function(...) -- Line 1, Named "join"
local module = {}
for i = 1, select('#', ...) do
local selected_arg = select(i, ...)
if selected_arg ~= nil then
for i_2, v in pairs(selected_arg) do
module[i_2] = v
end
end
end
return module
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:47
-- Luau version 6, Types version 3
-- Time taken: 0.001999 seconds
return function(arg1, arg2) -- Line 1, Named "shallowEqual"
if arg1 == nil then
if arg2 ~= nil then
else
end
do
return true
end
local var9
end
if arg2 == nil then
if arg1 ~= nil then
var9 = false
else
var9 = true
end
return var9
end
for i, v in pairs(arg1) do
if v ~= arg2[i] then
return false
end
end
for i_2, v_2 in pairs(arg2) do
if v_2 ~= arg1[i_2] then
return false
end
end
return true
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:49
-- Luau version 6, Types version 3
-- Time taken: 0.001997 seconds
return function() -- Line 1
local shallowEqual_upvr = require(script.Parent.shallowEqual)
it("should compare dictionaries", function() -- Line 4
--[[ Upvalues[1]:
[1]: shallowEqual_upvr (readonly)
]]
local tbl = {
a = 'a';
b = {};
c = 6;
}
local tbl_4 = {
b = tbl.b;
c = tbl.c;
a = tbl.a;
}
local tbl_2 = {
b = {};
a = tbl.a;
c = tbl.c;
}
local tbl_3 = {
a = tbl.a;
b = tbl.b;
c = tbl.c;
d = "hello";
}
expect(shallowEqual_upvr(tbl, tbl)).to.equal(true)
expect(shallowEqual_upvr(tbl, tbl_4)).to.equal(true)
expect(shallowEqual_upvr(tbl, tbl_2)).to.equal(false)
expect(shallowEqual_upvr(tbl_4, tbl_2)).to.equal(false)
expect(shallowEqual_upvr(tbl, tbl_3)).to.equal(false)
expect(shallowEqual_upvr(tbl_4, tbl_3)).to.equal(false)
end)
it("should handle nil for either argument", function() -- Line 38
--[[ Upvalues[1]:
[1]: shallowEqual_upvr (readonly)
]]
local tbl_5 = {}
expect(shallowEqual_upvr(nil, nil)).to.equal(true)
expect(shallowEqual_upvr(tbl_5, nil)).to.equal(false)
expect(shallowEqual_upvr(nil, tbl_5)).to.equal(false)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:50
-- Luau version 6, Types version 3
-- Time taken: 0.000279 seconds
return nil
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:52
-- Luau version 6, Types version 3
-- Time taken: 0.002090 seconds
local Binding = require(script.Binding)
local var2 = require(script.createReconciler)(require(script.RobloxRenderer))
local var3 = require(script.createReconcilerCompat)(var2)
return require(script.strict)({
Component = require(script.Component);
createElement = require(script.createElement);
createFragment = require(script.createFragment);
oneChild = require(script.oneChild);
PureComponent = require(script.PureComponent);
None = require(script.None);
Portal = require(script.Portal);
createRef = require(script.createRef);
forwardRef = require(script.forwardRef);
createBinding = Binding.create;
joinBindings = Binding.join;
createContext = require(script.createContext);
Change = require(script.PropMarkers.Change);
Children = require(script.PropMarkers.Children);
Event = require(script.PropMarkers.Event);
Ref = require(script.PropMarkers.Ref);
mount = var2.mountVirtualTree;
unmount = var2.unmountVirtualTree;
update = var2.updateVirtualTree;
reify = var3.reify;
teardown = var3.teardown;
reconcile = var3.reconcile;
setGlobalConfig = require(script.GlobalConfig).set;
UNSTABLE = {};
})
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:53
-- Luau version 6, Types version 3
-- Time taken: 0.010148 seconds
local Type_upvr = require(script.Parent.Type)
local any_get_result1_upvr = require(script.Parent.GlobalConfig).get()
local any_named_result1_upvr = require(script.Parent.Symbol).named("BindingImpl")
local module_upvr = {}
local tbl = {}
local function getValue(arg1) -- Line 13
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
return module_upvr.getValue(arg1)
end
tbl.getValue = getValue
local function map(arg1, arg2) -- Line 17
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
return module_upvr.map(arg1, arg2)
end
tbl.map = map
local module_3_upvr = {
__index = tbl;
__tostring = function(arg1) -- Line 23, Named "__tostring"
return string.format("RoactBinding(%s)", tostring(arg1:getValue()))
end;
}
local function update(arg1, arg2) -- Line 28
--[[ Upvalues[1]:
[1]: any_named_result1_upvr (readonly)
]]
return arg1[any_named_result1_upvr].update(arg2)
end
module_upvr.update = update
local function subscribe(arg1, arg2) -- Line 32
--[[ Upvalues[1]:
[1]: any_named_result1_upvr (readonly)
]]
return arg1[any_named_result1_upvr].subscribe(arg2)
end
module_upvr.subscribe = subscribe
local function getValue(arg1) -- Line 36
--[[ Upvalues[1]:
[1]: any_named_result1_upvr (readonly)
]]
return arg1[any_named_result1_upvr].getValue()
end
module_upvr.getValue = getValue
local createSignal_upvr = require(script.Parent.createSignal)
function module_upvr.create(arg1) -- Line 40
--[[ Upvalues[4]:
[1]: createSignal_upvr (readonly)
[2]: Type_upvr (readonly)
[3]: any_named_result1_upvr (readonly)
[4]: module_3_upvr (readonly)
]]
local module_2_upvr = {}
module_2_upvr.value = arg1
module_2_upvr.changeSignal = createSignal_upvr()
local function subscribe(arg1_2) -- Line 46
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
return module_2_upvr.changeSignal:subscribe(arg1_2)
end
module_2_upvr.subscribe = subscribe
local function update(arg1_3) -- Line 50
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
module_2_upvr.value = arg1_3
module_2_upvr.changeSignal:fire(arg1_3)
end
module_2_upvr.update = update
local function getValue() -- Line 55
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
return module_2_upvr.value
end
module_2_upvr.getValue = getValue
return setmetatable({
[Type_upvr] = Type_upvr.Binding;
[any_named_result1_upvr] = module_2_upvr;
}, module_3_upvr), module_2_upvr.update
end
function module_upvr.map(arg1, arg2) -- Line 65
--[[ Upvalues[5]:
[1]: any_get_result1_upvr (readonly)
[2]: Type_upvr (readonly)
[3]: module_upvr (readonly)
[4]: any_named_result1_upvr (readonly)
[5]: module_3_upvr (readonly)
]]
local var10 = any_get_result1_upvr
if var10.typeChecks then
if Type_upvr.of(arg1) ~= Type_upvr.Binding then
var10 = false
else
var10 = true
end
assert(var10, "Expected arg #1 to be a binding")
if typeof(arg2) ~= "function" then
var10 = false
else
var10 = true
end
assert(var10, "Expected arg #1 to be a function")
end
local tbl_2 = {}
local function subscribe(arg1_4) -- Line 73
--[[ Upvalues[3]:
[1]: module_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: arg2 (readonly)
]]
return module_upvr.subscribe(arg1, function(arg1_5) -- Line 74
--[[ Upvalues[2]:
[1]: arg1_4 (readonly)
[2]: arg2 (copied, readonly)
]]
arg1_4(arg2(arg1_5))
end)
end
tbl_2.subscribe = subscribe
local function update(arg1_6) -- Line 79
error("Bindings created by Binding:map(fn) cannot be updated directly", 2)
end
tbl_2.update = update
local function getValue() -- Line 83
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: arg1 (readonly)
]]
return arg2(arg1:getValue())
end
tbl_2.getValue = getValue
return setmetatable({
[Type_upvr] = Type_upvr.Binding;
[any_named_result1_upvr] = tbl_2;
}, module_3_upvr)
end
function module_upvr.join(arg1) -- Line 93
--[[ Upvalues[5]:
[1]: any_get_result1_upvr (readonly)
[2]: Type_upvr (readonly)
[3]: module_upvr (readonly)
[4]: any_named_result1_upvr (readonly)
[5]: module_3_upvr (readonly)
]]
local var18 = any_get_result1_upvr
if var18.typeChecks then
if typeof(arg1) ~= "table" then
var18 = false
else
var18 = true
end
assert(var18, "Expected arg #1 to be of type table")
var18 = arg1
for i, v in pairs(var18) do
if Type_upvr.of(v) ~= Type_upvr.Binding then
error("Expected arg #1 to contain only bindings, but key %q had a non-binding value":format(tostring(i)), 2)
end
end
end
local tbl_3 = {}
local function getValue() -- Line 109
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
local module = {}
for i_2, v_2 in pairs(arg1) do
module[i_2] = v_2:getValue()
end
return module
end
function tbl_3.subscribe(arg1_7) -- Line 119
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: module_upvr (copied, readonly)
[3]: getValue (readonly)
]]
local tbl_upvw = {}
for i_3, v_3 in pairs(arg1) do
tbl_upvw[i_3] = module_upvr.subscribe(v_3, function(arg1_8) -- Line 123
--[[ Upvalues[2]:
[1]: arg1_7 (readonly)
[2]: getValue (copied, readonly)
]]
arg1_7(getValue())
end)
end
return function() -- Line 128
--[[ Upvalues[1]:
[1]: tbl_upvw (read and write)
]]
if tbl_upvw == nil then
else
for _, v_4 in pairs(tbl_upvw) do
v_4()
end
tbl_upvw = nil
end
end
end
function tbl_3.update(arg1_9) -- Line 141
error("Bindings created by joinBindings(...) cannot be updated directly", 2)
end
function tbl_3.getValue() -- Line 145
--[[ Upvalues[1]:
[1]: getValue (readonly)
]]
return getValue()
end
return setmetatable({
[Type_upvr] = Type_upvr.Binding;
[any_named_result1_upvr] = tbl_3;
}, module_3_upvr)
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:54
-- Luau version 6, Types version 3
-- Time taken: 0.011428 seconds
return function() -- Line 1
local createSpy_upvr = require(script.Parent.createSpy)
local Binding_upvr = require(script.Parent.Binding)
local Type_upvr = require(script.Parent.Type)
describe("Binding.create", function() -- Line 8
--[[ Upvalues[2]:
[1]: Binding_upvr (readonly)
[2]: Type_upvr (readonly)
]]
it("should return a Binding object and an update function", function() -- Line 9
--[[ Upvalues[2]:
[1]: Binding_upvr (copied, readonly)
[2]: Type_upvr (copied, readonly)
]]
local any_create_result1_10, any_create_result2_10 = Binding_upvr.create(1)
expect(Type_upvr.of(any_create_result1_10)).to.equal(Type_upvr.Binding)
expect(typeof(any_create_result2_10)).to.equal("function")
end)
it("should support tostring on bindings", function() -- Line 16
--[[ Upvalues[1]:
[1]: Binding_upvr (copied, readonly)
]]
local any_create_result1, any_create_result2_6 = Binding_upvr.create(1)
expect(tostring(any_create_result1)).to.equal("RoactBinding(1)")
any_create_result2_6("foo")
expect(tostring(any_create_result1)).to.equal("RoactBinding(foo)")
end)
end)
describe("Binding object", function() -- Line 25
--[[ Upvalues[2]:
[1]: Binding_upvr (readonly)
[2]: createSpy_upvr (readonly)
]]
it("should provide a getter and setter", function() -- Line 26
--[[ Upvalues[1]:
[1]: Binding_upvr (copied, readonly)
]]
local any_create_result1_6, any_create_result2_8 = Binding_upvr.create(1)
expect(any_create_result1_6:getValue()).to.equal(1)
any_create_result2_8(3)
expect(any_create_result1_6:getValue()).to.equal(3)
end)
it("should let users subscribe and unsubscribe to its updates", function() -- Line 36
--[[ Upvalues[2]:
[1]: Binding_upvr (copied, readonly)
[2]: createSpy_upvr (copied, readonly)
]]
local any_create_result1_7, any_create_result2_3 = Binding_upvr.create(1)
local var2_result1_4 = createSpy_upvr()
expect(var2_result1_4.callCount).to.equal(0)
any_create_result2_3(2)
expect(var2_result1_4.callCount).to.equal(1)
var2_result1_4:assertCalledWith(2)
Binding_upvr.subscribe(any_create_result1_7, var2_result1_4.value)()
any_create_result2_3(3)
expect(var2_result1_4.callCount).to.equal(1)
end)
end)
describe("Mapped bindings", function() -- Line 56
--[[ Upvalues[2]:
[1]: Binding_upvr (readonly)
[2]: createSpy_upvr (readonly)
]]
it("should be composable", function() -- Line 57
--[[ Upvalues[1]:
[1]: Binding_upvr (copied, readonly)
]]
local any_create_result1_5, any_create_result2_4 = Binding_upvr.create("hi")
local any_map_result1_2 = any_create_result1_5:map(string.len)
local any_map_result1 = any_map_result1_2:map(function(arg1) -- Line 61
local var26
if arg1 % 2 ~= 0 then
var26 = false
else
var26 = true
end
return var26
end)
expect(any_create_result1_5:getValue()).to.equal("hi")
expect(any_map_result1_2:getValue()).to.equal(2)
expect(any_map_result1:getValue()).to.equal(true)
any_create_result2_4("sup")
expect(any_create_result1_5:getValue()).to.equal("sup")
expect(any_map_result1_2:getValue()).to.equal(3)
expect(any_map_result1:getValue()).to.equal(false)
end)
it("should cascade updates when subscribed", function() -- Line 76
--[[ Upvalues[2]:
[1]: Binding_upvr (copied, readonly)
[2]: createSpy_upvr (copied, readonly)
]]
local any_create_result1_9, any_create_result2_11 = Binding_upvr.create("hi")
local var2_result1_3 = createSpy_upvr()
local any_map_result1_3 = any_create_result1_9:map(string.len)
local var2_result1_5 = createSpy_upvr()
local var2_result1_6 = createSpy_upvr()
expect(var2_result1_3.callCount).to.equal(0)
expect(var2_result1_5.callCount).to.equal(0)
expect(var2_result1_6.callCount).to.equal(0)
any_create_result2_11("nice")
expect(var2_result1_3.callCount).to.equal(1)
var2_result1_3:assertCalledWith("nice")
expect(var2_result1_5.callCount).to.equal(1)
var2_result1_5:assertCalledWith(4)
expect(var2_result1_6.callCount).to.equal(1)
var2_result1_6:assertCalledWith(true)
Binding_upvr.subscribe(any_create_result1_9, var2_result1_3.value)()
Binding_upvr.subscribe(any_map_result1_3, var2_result1_5.value)()
Binding_upvr.subscribe(any_map_result1_3:map(function(arg1) -- Line 90
local var35
if arg1 % 2 ~= 0 then
var35 = false
else
var35 = true
end
return var35
end), var2_result1_6.value)()
any_create_result2_11("goodbye")
expect(var2_result1_3.callCount).to.equal(1)
expect(var2_result1_6.callCount).to.equal(1)
expect(var2_result1_5.callCount).to.equal(1)
end)
it("should throw when updated directly", function() -- Line 123
--[[ Upvalues[1]:
[1]: Binding_upvr (copied, readonly)
]]
local any_map_result1_upvr = Binding_upvr.create(1):map(function(arg1) -- Line 125
return arg1
end)
expect(function() -- Line 129
--[[ Upvalues[2]:
[1]: Binding_upvr (copied, readonly)
[2]: any_map_result1_upvr (readonly)
]]
Binding_upvr.update(any_map_result1_upvr, 5)
end).to.throw()
end)
end)
local GlobalConfig_upvr = require(script.Parent.GlobalConfig)
describe("Binding.join", function() -- Line 135
--[[ Upvalues[3]:
[1]: Binding_upvr (readonly)
[2]: createSpy_upvr (readonly)
[3]: GlobalConfig_upvr (readonly)
]]
it("should have getValue", function() -- Line 136
--[[ Upvalues[1]:
[1]: Binding_upvr (copied, readonly)
]]
local any_getValue_result1_2 = Binding_upvr.join({
foo = Binding_upvr.create(3);
Binding_upvr.create(1), Binding_upvr.create(2)
}):getValue()
expect(any_getValue_result1_2).to.be.a("table")
expect(any_getValue_result1_2[1]).to.equal(1)
expect(any_getValue_result1_2[2]).to.equal(2)
expect(any_getValue_result1_2.foo).to.equal(3)
end)
it("should update when any one of the subscribed bindings updates", function() -- Line 154
--[[ Upvalues[2]:
[1]: Binding_upvr (copied, readonly)
[2]: createSpy_upvr (copied, readonly)
]]
local any_create_result1_8, any_create_result2_5 = Binding_upvr.create(1)
local any_create_result1_2, any_create_result2_7 = Binding_upvr.create(2)
local any_create_result1_3, any_create_result2_9 = Binding_upvr.create(3)
local var2_result1 = createSpy_upvr()
Binding_upvr.subscribe(Binding_upvr.join({
foo = any_create_result1_3;
any_create_result1_8, any_create_result1_2
}), var2_result1.value)
expect(var2_result1.callCount).to.equal(0)
any_create_result2_5(3)
expect(var2_result1.callCount).to.equal(1)
local any_captureValues_result1_3 = var2_result1:captureValues("value")
expect(any_captureValues_result1_3.value).to.be.a("table")
expect(any_captureValues_result1_3.value[1]).to.equal(3)
expect(any_captureValues_result1_3.value[2]).to.equal(2)
expect(any_captureValues_result1_3.value.foo).to.equal(3)
any_create_result2_7(4)
expect(var2_result1.callCount).to.equal(2)
local any_captureValues_result1 = var2_result1:captureValues("value")
expect(any_captureValues_result1.value).to.be.a("table")
expect(any_captureValues_result1.value[1]).to.equal(3)
expect(any_captureValues_result1.value[2]).to.equal(4)
expect(any_captureValues_result1.value.foo).to.equal(3)
any_create_result2_9(8)
expect(var2_result1.callCount).to.equal(3)
local any_captureValues_result1_2 = var2_result1:captureValues("value")
expect(any_captureValues_result1_2.value).to.be.a("table")
expect(any_captureValues_result1_2.value[1]).to.equal(3)
expect(any_captureValues_result1_2.value[2]).to.equal(4)
expect(any_captureValues_result1_2.value.foo).to.equal(8)
end)
it("should disconnect from all upstream bindings", function() -- Line 198
--[[ Upvalues[2]:
[1]: Binding_upvr (copied, readonly)
[2]: createSpy_upvr (copied, readonly)
]]
local any_create_result1_4, any_create_result2_2 = Binding_upvr.create(1)
local any_create_result1_11, any_create_result2 = Binding_upvr.create(2)
local any_join_result1 = Binding_upvr.join({any_create_result1_4, any_create_result1_11})
local var2_result1_2 = createSpy_upvr()
expect(var2_result1_2.callCount).to.equal(0)
any_create_result2_2(3)
expect(var2_result1_2.callCount).to.equal(1)
any_create_result2(3)
expect(var2_result1_2.callCount).to.equal(2)
Binding_upvr.subscribe(any_join_result1, var2_result1_2.value)()
any_create_result2_2(4)
expect(var2_result1_2.callCount).to.equal(2)
any_create_result2(2)
expect(var2_result1_2.callCount).to.equal(2)
local any_getValue_result1 = any_join_result1:getValue()
expect(any_getValue_result1[1]).to.equal(4)
expect(any_getValue_result1[2]).to.equal(2)
end)
it("should be okay with calling disconnect multiple times", function() -- Line 227
--[[ Upvalues[1]:
[1]: Binding_upvr (copied, readonly)
]]
local any_subscribe_result1 = Binding_upvr.subscribe(Binding_upvr.join({}), function() -- Line 230
end)
any_subscribe_result1()
any_subscribe_result1()
end)
it("should throw if updated directly", function() -- Line 236
--[[ Upvalues[1]:
[1]: Binding_upvr (copied, readonly)
]]
local any_join_result1_upvr = Binding_upvr.join({})
expect(function() -- Line 239
--[[ Upvalues[2]:
[1]: Binding_upvr (copied, readonly)
[2]: any_join_result1_upvr (readonly)
]]
Binding_upvr.update(any_join_result1_upvr, 0)
end)
end)
it("should throw when a non-table value is passed", function() -- Line 244
--[[ Upvalues[2]:
[1]: GlobalConfig_upvr (copied, readonly)
[2]: Binding_upvr (copied, readonly)
]]
GlobalConfig_upvr.scoped({
typeChecks = true;
}, function() -- Line 247
--[[ Upvalues[1]:
[1]: Binding_upvr (copied, readonly)
]]
expect(function() -- Line 248
--[[ Upvalues[1]:
[1]: Binding_upvr (copied, readonly)
]]
Binding_upvr.join("hi")
end).to.throw()
end)
end)
it("should throw when a non-binding value is passed via table", function() -- Line 254
--[[ Upvalues[2]:
[1]: GlobalConfig_upvr (copied, readonly)
[2]: Binding_upvr (copied, readonly)
]]
GlobalConfig_upvr.scoped({
typeChecks = true;
}, function() -- Line 257
--[[ Upvalues[1]:
[1]: Binding_upvr (copied, readonly)
]]
expect(function() -- Line 258
--[[ Upvalues[1]:
[1]: Binding_upvr (copied, readonly)
]]
Binding_upvr.join({Binding_upvr.create(123), "abcde"})
end).to.throw()
end)
end)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:55
-- Luau version 6, Types version 3
-- Time taken: 0.026083 seconds
local assign_upvr = require(script.Parent.assign)
local ComponentLifecyclePhase_upvr = require(script.Parent.ComponentLifecyclePhase)
local Type_upvr = require(script.Parent.Type)
local internalAssert_upvr = require(script.Parent.internalAssert)
local any_get_result1_upvr = require(script.Parent.GlobalConfig).get()
local any_named_result1_upvr = require(script.Parent.Symbol).named("InternalData")
local tbl_4_upvr = {
__tostring = function(arg1) -- Line 29, Named "__tostring"
return arg1.__componentName
end;
}
local module_2 = {}
setmetatable(module_2, tbl_4_upvr)
module_2[Type_upvr] = Type_upvr.StatefulComponentClass
module_2.__index = module_2
module_2.__componentName = "Component"
function module_2.extend(arg1, arg2) -- Line 45
--[[ Upvalues[3]:
[1]: any_get_result1_upvr (readonly)
[2]: Type_upvr (readonly)
[3]: tbl_4_upvr (readonly)
]]
local var13 = any_get_result1_upvr
if var13.typeChecks then
if Type_upvr.of(arg1) ~= Type_upvr.StatefulComponentClass then
var13 = false
else
var13 = true
end
assert(var13, "Invalid `self` argument to `extend`.")
if typeof(arg2) ~= "string" then
var13 = false
else
var13 = true
end
assert(var13, "Component class name must be a string")
end
local module = {}
for i, v in pairs(arg1) do
if i ~= "extend" then
module[i] = v
end
end
module[Type_upvr] = Type_upvr.StatefulComponentClass
module.__index = module
module.__componentName = arg2
setmetatable(module, tbl_4_upvr)
return module
end
function module_2.__getDerivedState(arg1, arg2, arg3) -- Line 71
--[[ Upvalues[4]:
[1]: any_get_result1_upvr (readonly)
[2]: internalAssert_upvr (readonly)
[3]: Type_upvr (readonly)
[4]: any_named_result1_upvr (readonly)
]]
local var21 = any_get_result1_upvr
if var21.internalTypeChecks then
if Type_upvr.of(arg1) ~= Type_upvr.StatefulComponentInstance then
var21 = false
else
var21 = true
end
internalAssert_upvr(var21, "Invalid use of `__getDerivedState`")
end
local componentClass = arg1[any_named_result1_upvr].componentClass
if componentClass.getDerivedStateFromProps ~= nil then
local any_getDerivedStateFromProps_result1 = componentClass.getDerivedStateFromProps(arg2, arg3)
if any_getDerivedStateFromProps_result1 ~= nil then
local var24 = any_get_result1_upvr
if var24.typeChecks then
if typeof(any_getDerivedStateFromProps_result1) ~= "table" then
var24 = false
else
var24 = true
end
assert(var24, "getDerivedStateFromProps must return a table!")
end
return any_getDerivedStateFromProps_result1
end
end
return nil
end
local invalidSetStateMessages_upvr = require(script.Parent.invalidSetStateMessages)
function module_2.setState(arg1, arg2) -- Line 94
--[[ Upvalues[6]:
[1]: any_get_result1_upvr (readonly)
[2]: Type_upvr (readonly)
[3]: any_named_result1_upvr (readonly)
[4]: ComponentLifecyclePhase_upvr (readonly)
[5]: invalidSetStateMessages_upvr (readonly)
[6]: assign_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 63 start (CF ANALYSIS FAILED)
local var26 = any_get_result1_upvr
if var26.typeChecks then
if Type_upvr.of(arg1) ~= Type_upvr.StatefulComponentInstance then
var26 = false
else
var26 = true
end
assert(var26, "Invalid `self` argument to `extend`.")
end
local var27 = arg1[any_named_result1_upvr]
local lifecyclePhase = var27.lifecyclePhase
if lifecyclePhase == ComponentLifecyclePhase_upvr.ShouldUpdate or lifecyclePhase == ComponentLifecyclePhase_upvr.WillUpdate or lifecyclePhase == ComponentLifecyclePhase_upvr.Render then
error(invalidSetStateMessages_upvr[var27.lifecyclePhase]:format(tostring(var27.componentClass)), 2)
elseif lifecyclePhase == ComponentLifecyclePhase_upvr.WillUnmount then
return
end
if typeof(arg2) == "function" then
local pendingState = var27.pendingState
if not pendingState then
pendingState = arg1.state
end
if arg2(pendingState, arg1.props) == nil then
do
return
end
-- KONSTANTWARNING: GOTO [103] #75
end
-- KONSTANTWARNING: GOTO [103] #75
end
-- KONSTANTERROR: [0] 1. Error Block 63 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [89] 64. Error Block 51 start (CF ANALYSIS FAILED)
if typeof(arg2) == "table" then
-- KONSTANTWARNING: GOTO [103] #75
end
-- KONSTANTERROR: [89] 64. Error Block 51 end (CF ANALYSIS FAILED)
end
function module_2.getElementTraceback(arg1) -- Line 178
--[[ Upvalues[1]:
[1]: any_named_result1_upvr (readonly)
]]
return arg1[any_named_result1_upvr].virtualNode.currentElement.source
end
function module_2.render(arg1) -- Line 189
--[[ Upvalues[1]:
[1]: any_named_result1_upvr (readonly)
]]
error("The component %q is missing the `render` method.\n`render` must be defined when creating a Roact component!":format(tostring(arg1[any_named_result1_upvr].componentClass)), 0)
end
function module_2.__getContext(arg1, arg2) -- Line 201
--[[ Upvalues[4]:
[1]: any_get_result1_upvr (readonly)
[2]: internalAssert_upvr (readonly)
[3]: Type_upvr (readonly)
[4]: any_named_result1_upvr (readonly)
]]
local var30 = any_get_result1_upvr
if var30.internalTypeChecks then
if Type_upvr.of(arg1) ~= Type_upvr.StatefulComponentInstance then
var30 = false
else
var30 = true
end
internalAssert_upvr(var30, "Invalid use of `__getContext`")
if arg2 == nil then
var30 = false
else
var30 = true
end
internalAssert_upvr(var30, "Context key cannot be nil")
end
return arg1[any_named_result1_upvr].virtualNode.context[arg2]
end
function module_2.__addContext(arg1, arg2, arg3) -- Line 217
--[[ Upvalues[5]:
[1]: any_get_result1_upvr (readonly)
[2]: internalAssert_upvr (readonly)
[3]: Type_upvr (readonly)
[4]: any_named_result1_upvr (readonly)
[5]: assign_upvr (readonly)
]]
local var31 = any_get_result1_upvr
if var31.internalTypeChecks then
if Type_upvr.of(arg1) ~= Type_upvr.StatefulComponentInstance then
var31 = false
else
var31 = true
end
internalAssert_upvr(var31, "Invalid use of `__addContext`")
end
local virtualNode_3 = arg1[any_named_result1_upvr].virtualNode
if virtualNode_3.originalContext == nil then
virtualNode_3.originalContext = virtualNode_3.context
end
local tbl = {}
tbl[arg2] = arg3
virtualNode_3.context = assign_upvr({}, virtualNode_3.context, tbl)
end
function module_2.__validateProps(arg1, arg2) -- Line 244
--[[ Upvalues[2]:
[1]: any_get_result1_upvr (readonly)
[2]: any_named_result1_upvr (readonly)
]]
if not any_get_result1_upvr.propValidation then
else
local validateProps = arg1[any_named_result1_upvr].componentClass.validateProps
if validateProps == nil then return end
if typeof(validateProps) ~= "function" then
error("validateProps must be a function, but it is a %s.\nCheck the definition of the component %q.":format(typeof(validateProps), arg1.__componentName))
end
local var34_result1, validateProps_result2 = validateProps(arg2)
if not var34_result1 then
error("Property validation failed in %s: %s\n\n%s":format(arg1.__componentName, tostring(validateProps_result2 or "<Validator function did not supply a message>"), arg1:getElementTraceback() or "<enable element tracebacks>"), 0)
end
end
end
function module_2.__mount(arg1, arg2, arg3) -- Line 283
--[[ Upvalues[6]:
[1]: any_get_result1_upvr (readonly)
[2]: internalAssert_upvr (readonly)
[3]: Type_upvr (readonly)
[4]: ComponentLifecyclePhase_upvr (readonly)
[5]: any_named_result1_upvr (readonly)
[6]: assign_upvr (readonly)
]]
local var37 = any_get_result1_upvr
if var37.internalTypeChecks then
if Type_upvr.of(arg1) ~= Type_upvr.StatefulComponentClass then
var37 = false
else
var37 = true
end
internalAssert_upvr(var37, "Invalid use of `__mount`")
if Type_upvr.of(arg3) ~= Type_upvr.VirtualNode then
var37 = false
else
var37 = true
end
internalAssert_upvr(var37, "Expected arg #2 to be of type VirtualNode")
end
local tbl_2 = {}
tbl_2.reconciler = arg2
tbl_2.virtualNode = arg3
tbl_2.componentClass = arg1
tbl_2.lifecyclePhase = ComponentLifecyclePhase_upvr.Init
tbl_2.pendingState = nil
local tbl_3 = {
[Type_upvr] = Type_upvr.StatefulComponentInstance;
[any_named_result1_upvr] = tbl_2;
}
setmetatable(tbl_3, arg1)
arg3.instance = tbl_3
local props_2 = arg3.currentElement.props
if arg1.defaultProps ~= nil then
props_2 = assign_upvr({}, arg1.defaultProps, props_2)
end
tbl_3:__validateProps(props_2)
tbl_3.props = props_2
tbl_3._context = assign_upvr({}, arg3.legacyContext)
tbl_3.state = assign_upvr({}, tbl_3:__getDerivedState(tbl_3.props, {}))
if tbl_3.init ~= nil then
tbl_3:init(tbl_3.props)
assign_upvr(tbl_3.state, tbl_3:__getDerivedState(tbl_3.props, tbl_3.state))
end
arg3.legacyContext = tbl_3._context
tbl_2.lifecyclePhase = ComponentLifecyclePhase_upvr.Render
tbl_2.lifecyclePhase = ComponentLifecyclePhase_upvr.ReconcileChildren
arg2.updateVirtualNodeWithRenderResult(arg3, arg3.hostParent, tbl_3:render())
if tbl_3.didMount ~= nil then
tbl_2.lifecyclePhase = ComponentLifecyclePhase_upvr.DidMount
tbl_3:didMount()
end
if tbl_2.pendingState ~= nil then
tbl_3:__update(nil, nil)
end
tbl_2.lifecyclePhase = ComponentLifecyclePhase_upvr.Idle
end
function module_2.__unmount(arg1) -- Line 357
--[[ Upvalues[5]:
[1]: any_get_result1_upvr (readonly)
[2]: internalAssert_upvr (readonly)
[3]: Type_upvr (readonly)
[4]: any_named_result1_upvr (readonly)
[5]: ComponentLifecyclePhase_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var49 = any_get_result1_upvr
if var49.internalTypeChecks then
if Type_upvr.of(arg1) ~= Type_upvr.StatefulComponentInstance then
var49 = false
else
var49 = true
end
internalAssert_upvr(var49, "Invalid use of `__unmount`")
end
local var50 = arg1[any_named_result1_upvr]
if arg1.willUnmount ~= nil then
var50.lifecyclePhase = ComponentLifecyclePhase_upvr.WillUnmount
arg1:willUnmount()
end
for _, v_2 in pairs(var50.virtualNode.children) do
var50.reconciler.unmountVirtualNode(v_2)
local _
end
end
function module_2.__update(arg1, arg2, arg3) -- Line 382
--[[ Upvalues[5]:
[1]: any_get_result1_upvr (readonly)
[2]: internalAssert_upvr (readonly)
[3]: Type_upvr (readonly)
[4]: any_named_result1_upvr (readonly)
[5]: assign_upvr (readonly)
]]
local var55 = any_get_result1_upvr
if var55.internalTypeChecks then
if Type_upvr.of(arg1) ~= Type_upvr.StatefulComponentInstance then
var55 = false
else
var55 = true
end
internalAssert_upvr(var55, "Invalid use of `__update`")
var55 = true
if Type_upvr.of(arg2) ~= Type_upvr.Element then
if arg2 ~= nil then
var55 = false
else
var55 = true
end
end
internalAssert_upvr(var55, "Expected arg #1 to be of type Element or nil")
var55 = true
if typeof(arg3) ~= "table" then
if arg3 ~= nil then
var55 = false
else
var55 = true
end
end
internalAssert_upvr(var55, "Expected arg #2 to be of type table or nil")
end
local var56 = arg1[any_named_result1_upvr]
local componentClass_2 = var56.componentClass
if arg2 ~= nil then
local props = arg2.props
if componentClass_2.defaultProps ~= nil then
props = assign_upvr({}, componentClass_2.defaultProps, props)
local var59 = props
end
arg1:__validateProps(var59)
end
repeat
local var60
if var56.pendingState ~= nil then
var60 = var56.pendingState
var56.pendingState = nil
local var61
end
if arg3 ~= nil or var59 ~= arg1.props then
if var60 == nil then
local var62 = arg3
if not var62 then
var62 = arg1.state
end
var61 = var62
else
var61 = assign_upvr(var60, arg3)
end
local any___getDerivedState_result1 = arg1:__getDerivedState(var59, var61)
if any___getDerivedState_result1 ~= nil then
var61 = assign_upvr({}, var61, any___getDerivedState_result1)
end
else
var61 = var60
end
if not arg1:__resolveUpdate(var59, var61) then
return false
end
if 100 < 0 + 1 then
error("The component %q has reached the setState update recursion limit.\nWhen using `setState` in `didUpdate`, make sure that it won't repeat infinitely!":format(tostring(var56.componentClass)), 3)
end
until var56.pendingState == nil
return true
end
function module_2.__resolveUpdate(arg1, arg2, arg3) -- Line 459
--[[ Upvalues[5]:
[1]: any_get_result1_upvr (readonly)
[2]: internalAssert_upvr (readonly)
[3]: Type_upvr (readonly)
[4]: any_named_result1_upvr (readonly)
[5]: ComponentLifecyclePhase_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var71 = any_get_result1_upvr
local var72
if var71.internalTypeChecks then
if Type_upvr.of(arg1) ~= Type_upvr.StatefulComponentInstance then
var71 = false
else
var71 = true
end
internalAssert_upvr(var71, "Invalid use of `__resolveUpdate`")
end
local var73 = arg1[any_named_result1_upvr]
local virtualNode_2 = var73.virtualNode
local props_4 = arg1.props
local state = arg1.state
if var72 == nil then
var72 = props_4
end
if arg3 == nil then
local var77 = state
end
if arg1.shouldUpdate ~= nil then
var73.lifecyclePhase = ComponentLifecyclePhase_upvr.ShouldUpdate
if not arg1:shouldUpdate(var72, var77) then
var73.lifecyclePhase = ComponentLifecyclePhase_upvr.Idle
return false
end
end
if arg1.willUpdate ~= nil then
var73.lifecyclePhase = ComponentLifecyclePhase_upvr.WillUpdate
arg1:willUpdate(var72, var77)
end
var73.lifecyclePhase = ComponentLifecyclePhase_upvr.Render
arg1.props = var72
arg1.state = var77
var73.lifecyclePhase = ComponentLifecyclePhase_upvr.ReconcileChildren
var73.reconciler.updateVirtualNodeWithRenderResult(virtualNode_2, virtualNode_2.hostParent, virtualNode_2.instance:render())
if arg1.didUpdate ~= nil then
var73.lifecyclePhase = ComponentLifecyclePhase_upvr.DidUpdate
arg1:didUpdate(props_4, state)
end
var73.lifecyclePhase = ComponentLifecyclePhase_upvr.Idle
return true
end
return module_2
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:57
-- Luau version 6, Types version 3
-- Time taken: 0.001102 seconds
local Symbol = require(script.Parent.Symbol)
return require(script.Parent.strict)({
Init = Symbol.named("init");
Render = Symbol.named("render");
ShouldUpdate = Symbol.named("shouldUpdate");
WillUpdate = Symbol.named("willUpdate");
DidMount = Symbol.named("didMount");
DidUpdate = Symbol.named("didUpdate");
WillUnmount = Symbol.named("willUnmount");
ReconcileChildren = Symbol.named("reconcileChildren");
Idle = Symbol.named("idle");
}, "ComponentLifecyclePhase")
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:03:59
-- Luau version 6, Types version 3
-- Time taken: 0.003976 seconds
local tbl_upvr_2 = {
internalTypeChecks = false;
typeChecks = false;
elementTracing = false;
propValidation = false;
}
local tbl_upvr = {}
for i in pairs(tbl_upvr_2) do
table.insert(tbl_upvr, i)
end
local module_upvr_2 = {}
function module_upvr_2.new() -- Line 35
--[[ Upvalues[3]:
[1]: tbl_upvr (readonly)
[2]: module_upvr_2 (readonly)
[3]: tbl_upvr_2 (readonly)
]]
local module_upvr = {
_currentConfig = setmetatable({}, {
__index = function(arg1, arg2) -- Line 39, Named "__index"
--[[ Upvalues[1]:
[1]: tbl_upvr (copied, readonly)
]]
error("Invalid global configuration key %q. Valid configuration keys are: %s":format(tostring(arg2), table.concat(tbl_upvr, ", ")), 3)
end;
});
}
function module_upvr.set(...) -- Line 52
--[[ Upvalues[2]:
[1]: module_upvr_2 (copied, readonly)
[2]: module_upvr (readonly)
]]
return module_upvr_2.set(module_upvr, ...)
end
function module_upvr.get(...) -- Line 56
--[[ Upvalues[2]:
[1]: module_upvr_2 (copied, readonly)
[2]: module_upvr (readonly)
]]
return module_upvr_2.get(module_upvr, ...)
end
function module_upvr.scoped(...) -- Line 60
--[[ Upvalues[2]:
[1]: module_upvr_2 (copied, readonly)
[2]: module_upvr (readonly)
]]
return module_upvr_2.scoped(module_upvr, ...)
end
module_upvr.set(tbl_upvr_2)
return module_upvr
end
function module_upvr_2.set(arg1, arg2) -- Line 69
--[[ Upvalues[2]:
[1]: tbl_upvr_2 (readonly)
[2]: tbl_upvr (readonly)
]]
for i_2, v in pairs(arg2) do
if tbl_upvr_2[i_2] == nil then
error("Invalid global configuration key %q (type %s). Valid configuration keys are: %s":format(tostring(i_2), typeof(i_2), table.concat(tbl_upvr, ", ")), 3)
end
if typeof(v) ~= "boolean" then
error("Invalid value %q (type %s) for global configuration key %q. Valid values are: true, false":format(tostring(v), typeof(v), tostring(i_2)), 3)
end
arg1._currentConfig[i_2] = v
end
end
function module_upvr_2.get(arg1) -- Line 96
return arg1._currentConfig
end
function module_upvr_2.scoped(arg1, arg2, arg3) -- Line 100
local tbl = {}
for i_3, v_2 in pairs(arg1._currentConfig) do
tbl[i_3] = v_2
end
arg1.set(arg2)
local pcall_result1, pcall_result2 = pcall(arg3)
arg1.set(tbl)
assert(pcall_result1, pcall_result2)
end
return module_upvr_2
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:04:01
-- Luau version 6, Types version 3
-- Time taken: 0.003096 seconds
return function() -- Line 1
local Config_upvr = require(script.Parent.Config)
it("should accept valid configuration", function() -- Line 4
--[[ Upvalues[1]:
[1]: Config_upvr (readonly)
]]
local any_new_result1 = Config_upvr.new()
local any_get_result1 = any_new_result1.get()
expect(any_get_result1.elementTracing).to.equal(false)
any_new_result1.set({
elementTracing = true;
})
expect(any_get_result1.elementTracing).to.equal(true)
end)
it("should reject invalid configuration keys", function() -- Line 17
--[[ Upvalues[1]:
[1]: Config_upvr (readonly)
]]
local any_new_result1_2_upvr = Config_upvr.new()
local pcall_result1_2, pcall_result2_2 = pcall(function() -- Line 22
--[[ Upvalues[1]:
[1]: any_new_result1_2_upvr (readonly)
]]
any_new_result1_2_upvr.set({
garblegoop = true;
})
end)
expect(pcall_result1_2).to.equal(false)
expect(pcall_result2_2:find("garblegoop")).to.be.ok()
end)
it("should reject invalid configuration values", function() -- Line 34
--[[ Upvalues[1]:
[1]: Config_upvr (readonly)
]]
local any_new_result1_upvr = Config_upvr.new()
local pcall_result1, pcall_result2 = pcall(function() -- Line 40
--[[ Upvalues[1]:
[1]: any_new_result1_upvr (readonly)
]]
any_new_result1_upvr.set({
elementTracing = "Hello there!";
})
end)
expect(pcall_result1).to.equal(false)
expect(pcall_result2:find("elementTracing")).to.be.ok()
expect(pcall_result2:find("Hello there!")).to.be.ok()
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:04:03
-- Luau version 6, Types version 3
-- Time taken: 0.002004 seconds
local Symbol = require(script.Parent.Symbol)
local newproxy_result1_upvr = newproxy(true)
local tbl = {
Portal = Symbol.named("Portal");
Host = Symbol.named("Host");
Function = Symbol.named("Function");
Stateful = Symbol.named("Stateful");
Fragment = Symbol.named("Fragment");
of = function(arg1) -- Line 25, Named "of"
--[[ Upvalues[1]:
[1]: newproxy_result1_upvr (readonly)
]]
if typeof(arg1) ~= "table" then
return nil
end
return arg1[newproxy_result1_upvr]
end;
}
local module_upvr = {
string = tbl.Host;
["function"] = tbl.Function;
table = tbl.Stateful;
}
local Portal_upvr = require(script.Parent.Portal)
function tbl.fromComponent(arg1) -- Line 39
--[[ Upvalues[3]:
[1]: Portal_upvr (readonly)
[2]: newproxy_result1_upvr (readonly)
[3]: module_upvr (readonly)
]]
if arg1 == Portal_upvr then
return newproxy_result1_upvr.Portal
end
return module_upvr[typeof(arg1)]
end
getmetatable(newproxy_result1_upvr).__index = tbl
require(script.Parent.strict)(tbl, "ElementKind")
return newproxy_result1_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:04:04
-- Luau version 6, Types version 3
-- Time taken: 0.003503 seconds
return function() -- Line 1
local ElementKind_upvr = require(script.Parent.ElementKind)
describe("of", function() -- Line 7
--[[ Upvalues[1]:
[1]: ElementKind_upvr (readonly)
]]
it("should return nil for non-table values", function() -- Line 8
--[[ Upvalues[1]:
[1]: ElementKind_upvr (copied, readonly)
]]
expect(ElementKind_upvr.of(nil)).to.equal(nil)
expect(ElementKind_upvr.of(5)).to.equal(nil)
expect(ElementKind_upvr.of(newproxy(true))).to.equal(nil)
end)
it("should return nil for table values without an ElementKind key", function() -- Line 14
--[[ Upvalues[1]:
[1]: ElementKind_upvr (copied, readonly)
]]
expect(ElementKind_upvr.of({})).to.equal(nil)
end)
it("should return the ElementKind from a table", function() -- Line 18
--[[ Upvalues[1]:
[1]: ElementKind_upvr (copied, readonly)
]]
expect(ElementKind_upvr.of({
[ElementKind_upvr] = ElementKind_upvr.Stateful;
})).to.equal(ElementKind_upvr.Stateful)
end)
end)
local Component_upvr = require(script.Parent.Component)
local Portal_upvr = require(script.Parent.Portal)
describe("fromComponent", function() -- Line 27
--[[ Upvalues[3]:
[1]: ElementKind_upvr (readonly)
[2]: Component_upvr (readonly)
[3]: Portal_upvr (readonly)
]]
it("should handle host components", function() -- Line 28
--[[ Upvalues[1]:
[1]: ElementKind_upvr (copied, readonly)
]]
expect(ElementKind_upvr.fromComponent("foo")).to.equal(ElementKind_upvr.Host)
end)
it("should handle function components", function() -- Line 32
--[[ Upvalues[1]:
[1]: ElementKind_upvr (copied, readonly)
]]
expect(ElementKind_upvr.fromComponent(function() -- Line 33, Named "foo"
end)).to.equal(ElementKind_upvr.Function)
end)
it("should handle stateful components", function() -- Line 38
--[[ Upvalues[2]:
[1]: Component_upvr (copied, readonly)
[2]: ElementKind_upvr (copied, readonly)
]]
expect(ElementKind_upvr.fromComponent(Component_upvr:extend("Foo"))).to.equal(ElementKind_upvr.Stateful)
end)
it("should handle portals", function() -- Line 44
--[[ Upvalues[2]:
[1]: ElementKind_upvr (copied, readonly)
[2]: Portal_upvr (copied, readonly)
]]
expect(ElementKind_upvr.fromComponent(Portal_upvr)).to.equal(ElementKind_upvr.Portal)
end)
it("should return nil for invalid inputs", function() -- Line 48
--[[ Upvalues[1]:
[1]: ElementKind_upvr (copied, readonly)
]]
expect(ElementKind_upvr.fromComponent(5)).to.equal(nil)
expect(ElementKind_upvr.fromComponent(newproxy(true))).to.equal(nil)
end)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:04:06
-- Luau version 6, Types version 3
-- Time taken: 0.003139 seconds
local Type_upvr = require(script.Parent.Type)
local function noop_upvr() -- Line 5, Named "noop"
return nil
end
local module_upvr = {
UseParentKey = require(script.Parent.Symbol).named("UseParentKey");
}
function module_upvr.iterateElements(arg1) -- Line 43
--[[ Upvalues[3]:
[1]: Type_upvr (readonly)
[2]: module_upvr (readonly)
[3]: noop_upvr (readonly)
]]
if Type_upvr.of(arg1) == Type_upvr.Element then
local var4_upvw = false
return function(arg1_2, arg2) -- Line 50
--[[ Upvalues[3]:
[1]: var4_upvw (read and write)
[2]: module_upvr (copied, readonly)
[3]: arg1 (readonly)
]]
if var4_upvw then
return nil
end
var4_upvw = true
return module_upvr.UseParentKey, arg1
end
end
local typeof_result1 = typeof(arg1)
if arg1 == nil or typeof_result1 == "boolean" then
return noop_upvr
end
if typeof_result1 == "table" then
return pairs(arg1)
end
error("Invalid elements")
end
function module_upvr.getElementByKey(arg1, arg2) -- Line 82
--[[ Upvalues[2]:
[1]: Type_upvr (readonly)
[2]: module_upvr (readonly)
]]
if arg1 == nil or typeof(arg1) == "boolean" then
return nil
end
if Type_upvr.of(arg1) == Type_upvr.Element then
if arg2 == module_upvr.UseParentKey then
return arg1
end
return nil
end
if typeof(arg1) == "table" then
return arg1[arg2]
end
error("Invalid elements")
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:04:07
-- Luau version 6, Types version 3
-- Time taken: 0.005482 seconds
return function() -- Line 1
local ElementUtils_upvr = require(script.Parent.ElementUtils)
local createElement_upvr = require(script.Parent.createElement)
local Type_upvr = require(script.Parent.Type)
describe("iterateElements", function() -- Line 7
--[[ Upvalues[3]:
[1]: createElement_upvr (readonly)
[2]: ElementUtils_upvr (readonly)
[3]: Type_upvr (readonly)
]]
it("should iterate once for a single child", function() -- Line 8
--[[ Upvalues[2]:
[1]: createElement_upvr (copied, readonly)
[2]: ElementUtils_upvr (copied, readonly)
]]
local createElement_upvr_result1 = createElement_upvr("TextLabel")
local any_iterateElements_result1 = ElementUtils_upvr.iterateElements(createElement_upvr_result1)
local any_iterateElements_result1_result1, var8_result2 = any_iterateElements_result1()
expect(any_iterateElements_result1_result1).to.equal(ElementUtils_upvr.UseParentKey)
expect(var8_result2).to.equal(createElement_upvr_result1)
expect(any_iterateElements_result1()).to.equal(nil)
end)
it("should iterate over tables", function() -- Line 20
--[[ Upvalues[3]:
[1]: createElement_upvr (copied, readonly)
[2]: ElementUtils_upvr (copied, readonly)
[3]: Type_upvr (copied, readonly)
]]
local tbl_2 = {
a = createElement_upvr("TextLabel");
b = createElement_upvr("TextLabel");
}
local tbl_3 = {}
local var18 = 0
for i, v in ElementUtils_upvr.iterateElements(tbl_2) do
expect(typeof(i)).to.equal("string")
expect(Type_upvr.of(v)).to.equal(Type_upvr.Element)
tbl_3[v] = i
var18 += 1
end
expect(var18).to.equal(2)
expect(tbl_3[tbl_2.a]).to.equal('a')
expect(tbl_3[tbl_2.b]).to.equal('b')
end)
it("should return a zero-element iterator for booleans", function() -- Line 41
--[[ Upvalues[1]:
[1]: ElementUtils_upvr (copied, readonly)
]]
expect(ElementUtils_upvr.iterateElements(false)()).to.equal(nil)
end)
it("should return a zero-element iterator for nil", function() -- Line 46
--[[ Upvalues[1]:
[1]: ElementUtils_upvr (copied, readonly)
]]
expect(ElementUtils_upvr.iterateElements(nil)()).to.equal(nil)
end)
it("should throw if given an illegal value", function() -- Line 51
--[[ Upvalues[1]:
[1]: ElementUtils_upvr (copied, readonly)
]]
expect(function() -- Line 52
--[[ Upvalues[1]:
[1]: ElementUtils_upvr (copied, readonly)
]]
ElementUtils_upvr.iterateElements(1)
end).to.throw()
end)
end)
local createFragment_upvr = require(script.Parent.createFragment)
describe("getElementByKey", function() -- Line 58
--[[ Upvalues[3]:
[1]: ElementUtils_upvr (readonly)
[2]: createElement_upvr (readonly)
[3]: createFragment_upvr (readonly)
]]
it("should return nil for booleans", function() -- Line 59
--[[ Upvalues[1]:
[1]: ElementUtils_upvr (copied, readonly)
]]
expect(ElementUtils_upvr.getElementByKey(true, "test")).to.equal(nil)
end)
it("should return nil for nil", function() -- Line 63
--[[ Upvalues[1]:
[1]: ElementUtils_upvr (copied, readonly)
]]
expect(ElementUtils_upvr.getElementByKey(nil, "test")).to.equal(nil)
end)
describe("single elements", function() -- Line 67
--[[ Upvalues[2]:
[1]: createElement_upvr (copied, readonly)
[2]: ElementUtils_upvr (copied, readonly)
]]
local createElement_upvr_result1_2_upvr = createElement_upvr("TextLabel")
it("should return the element if the key is UseParentKey", function() -- Line 70
--[[ Upvalues[2]:
[1]: ElementUtils_upvr (copied, readonly)
[2]: createElement_upvr_result1_2_upvr (readonly)
]]
expect(ElementUtils_upvr.getElementByKey(createElement_upvr_result1_2_upvr, ElementUtils_upvr.UseParentKey)).to.equal(createElement_upvr_result1_2_upvr)
end)
it("should return nil if the key is not UseParentKey", function() -- Line 74
--[[ Upvalues[2]:
[1]: ElementUtils_upvr (copied, readonly)
[2]: createElement_upvr_result1_2_upvr (readonly)
]]
expect(ElementUtils_upvr.getElementByKey(createElement_upvr_result1_2_upvr, "test")).to.equal(nil)
end)
end)
it("should return the corresponding element from a table", function() -- Line 79
--[[ Upvalues[2]:
[1]: createElement_upvr (copied, readonly)
[2]: ElementUtils_upvr (copied, readonly)
]]
local tbl = {
a = createElement_upvr("TextLabel");
b = createElement_upvr("TextLabel");
}
expect(ElementUtils_upvr.getElementByKey(tbl, 'a')).to.equal(tbl.a)
expect(ElementUtils_upvr.getElementByKey(tbl, 'b')).to.equal(tbl.b)
end)
it("should return nil if the key does not exist", function() -- Line 89
--[[ Upvalues[2]:
[1]: createFragment_upvr (copied, readonly)
[2]: ElementUtils_upvr (copied, readonly)
]]
expect(ElementUtils_upvr.getElementByKey(createFragment_upvr({}), 'a')).to.equal(nil)
end)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:04:08
-- Luau version 6, Types version 3
-- Time taken: 0.000287 seconds
return require(script.Parent.Config).new()
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:04:10
-- Luau version 6, Types version 3
-- Time taken: 0.001042 seconds
return function() -- Line 1
local GlobalConfig_upvr = require(script.Parent.GlobalConfig)
it("should have the correct methods", function() -- Line 4
--[[ Upvalues[1]:
[1]: GlobalConfig_upvr (readonly)
]]
expect(GlobalConfig_upvr).to.be.ok()
expect(GlobalConfig_upvr.set).to.be.ok()
expect(GlobalConfig_upvr.get).to.be.ok()
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:04:11
-- Luau version 6, Types version 3
-- Time taken: 0.006403 seconds
local var1_upvw = true
local tbl_upvr = {}
local function _(arg1, arg2) -- Line 24, Named "indent"
local any_rep_result1_2 = '\t':rep(arg2)
return any_rep_result1_2..arg1:gsub('\n', '\n'..any_rep_result1_2)
end
local function indentLines_upvr(arg1, arg2) -- Line 34, Named "indentLines"
local module_3 = {}
for _, v in ipairs(arg1) do
local any_rep_result1_3 = '\t':rep(arg2)
table.insert(module_3, any_rep_result1_3..v:gsub('\n', '\n'..any_rep_result1_3))
end
return table.concat(module_3, '\n')
end
local tbl_upvr_2 = {
__tostring = function(arg1) -- Line 50, Named "__tostring"
--[[ Upvalues[1]:
[1]: indentLines_upvr (readonly)
]]
local module = {"LogInfo {"}
local len_3 = #arg1.errors
local len = #arg1.warnings
local len_2 = #arg1.infos
if len_3 + len + len_2 == 0 then
table.insert(module, "\t(no messages)")
end
if 0 < len_3 then
table.insert(module, "\tErrors (%d) {":format(len_3))
table.insert(module, indentLines_upvr(arg1.errors, 2))
table.insert(module, "\t}")
end
if 0 < len then
table.insert(module, "\tWarnings (%d) {":format(len))
table.insert(module, indentLines_upvr(arg1.warnings, 2))
table.insert(module, "\t}")
end
if 0 < len_2 then
table.insert(module, "\tInfos (%d) {":format(len_2))
table.insert(module, indentLines_upvr(arg1.infos, 2))
table.insert(module, "\t}")
end
table.insert(module, '}')
return table.concat(module, '\n')
end;
}
local function createLogInfo_upvr() -- Line 84, Named "createLogInfo"
--[[ Upvalues[1]:
[1]: tbl_upvr_2 (readonly)
]]
local module_4 = {
errors = {};
warnings = {};
infos = {};
}
setmetatable(module_4, tbl_upvr_2)
return module_4
end
local module_2_upvr = {
capture = function(arg1) -- Line 105, Named "capture"
--[[ Upvalues[3]:
[1]: createLogInfo_upvr (readonly)
[2]: var1_upvw (read and write)
[3]: tbl_upvr (readonly)
]]
local createLogInfo_upvr_result1 = createLogInfo_upvr()
var1_upvw = false
tbl_upvr[createLogInfo_upvr_result1] = true
local pcall_result1, pcall_result2 = pcall(arg1)
tbl_upvr[createLogInfo_upvr_result1] = nil
var1_upvw = var1_upvw
assert(pcall_result1, pcall_result2)
return createLogInfo_upvr_result1
end;
warn = function(arg1, ...) -- Line 125, Named "warn"
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: var1_upvw (read and write)
]]
local formatted = arg1:format(...)
for i_2 in pairs(tbl_upvr) do
table.insert(i_2.warnings, formatted)
end
local any_rep_result1 = '\t':rep(1)
if var1_upvw then
warn("%s\n%s":format(formatted, any_rep_result1..debug.traceback("", 2):sub(2):gsub('\n', '\n'..any_rep_result1)))
end
end;
}
local tbl_upvr_3 = {}
function module_2_upvr.warnOnce(arg1, ...) -- Line 148
--[[ Upvalues[2]:
[1]: tbl_upvr_3 (readonly)
[2]: module_2_upvr (readonly)
]]
local call_stack = debug.traceback()
if tbl_upvr_3[call_stack] then
else
tbl_upvr_3[call_stack] = true
module_2_upvr.warn(arg1, ...)
end
end
return module_2_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:04:12
-- Luau version 6, Types version 3
-- Time taken: 0.000416 seconds
return require(script.Parent.Symbol).named("None")
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:04:14
-- Luau version 6, Types version 3
-- Time taken: 0.001103 seconds
return {
isHostObject = function(arg1) -- Line 8, Named "isHostObject"
if arg1 ~= nil then
else
end
return true
end;
mountHostNode = function(arg1, arg2) -- Line 14, Named "mountHostNode"
end;
unmountHostNode = function(arg1, arg2) -- Line 16, Named "unmountHostNode"
end;
updateHostNode = function(arg1, arg2, arg3) -- Line 18, Named "updateHostNode"
return arg2
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:04:15
-- Luau version 6, Types version 3
-- Time taken: 0.000414 seconds
return require(script.Parent.Symbol).named("Portal")
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:04:17
-- Luau version 6, Types version 3
-- Time taken: 0.001658 seconds
local Component = require(script.Parent.Component)
local any_extend_result1 = Component:extend("PureComponent")
any_extend_result1.extend = Component.extend
function any_extend_result1.shouldUpdate(arg1, arg2, arg3) -- Line 15
if arg3 ~= arg1.state then
return true
end
if arg2 == arg1.props then
return false
end
for i, v in pairs(arg2) do
if arg1.props[i] ~= v then
return true
end
end
for i_2, v_2 in pairs(arg1.props) do
if arg2[i_2] ~= v_2 then
return true
end
end
return false
end
return any_extend_result1
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:04:19
-- Luau version 6, Types version 3
-- Time taken: 0.003240 seconds
return function() -- Line 1
local PureComponent_upvr = require(script.Parent.PureComponent)
it("should be extendable", function() -- Line 10
--[[ Upvalues[1]:
[1]: PureComponent_upvr (readonly)
]]
expect(PureComponent_upvr:extend("MyComponent")).to.be.ok()
end)
local createElement_upvr = require(script.Parent.createElement)
local var6_upvr = require(script.Parent.createReconciler)(require(script.Parent.NoopRenderer))
it("should skip updates for shallow-equal props", function() -- Line 16
--[[ Upvalues[3]:
[1]: PureComponent_upvr (readonly)
[2]: createElement_upvr (readonly)
[3]: var6_upvr (readonly)
]]
local var7_upvw = 0
local var12_upvw
local any_extend_result1_2_upvr = PureComponent_upvr:extend("PureChild")
function any_extend_result1_2_upvr.willUpdate(arg1) -- Line 22
--[[ Upvalues[1]:
[1]: var7_upvw (read and write)
]]
var7_upvw += 1
end
local function render(arg1) -- Line 26
return nil
end
any_extend_result1_2_upvr.render = render
local any_extend_result1 = PureComponent_upvr:extend("PureContainer")
function any_extend_result1.init(arg1) -- Line 32
arg1.state = {
value = 0;
}
end
function any_extend_result1.didMount(arg1) -- Line 38
--[[ Upvalues[1]:
[1]: var12_upvw (read and write)
]]
function var12_upvw(arg1_2) -- Line 39
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
local tbl = {}
tbl.value = arg1_2
arg1:setState(tbl)
end
end
function any_extend_result1.render(arg1) -- Line 46
--[[ Upvalues[2]:
[1]: createElement_upvr (copied, readonly)
[2]: any_extend_result1_2_upvr (readonly)
]]
return createElement_upvr(any_extend_result1_2_upvr, {
value = arg1.state.value;
})
end
expect(var7_upvw).to.equal(0)
var12_upvw(1)
expect(var7_upvw).to.equal(1)
var12_upvw(1)
expect(var7_upvw).to.equal(1)
var12_upvw(2)
expect(var7_upvw).to.equal(2)
var12_upvw(1)
expect(var7_upvw).to.equal(3)
var6_upvr.unmountVirtualTree(var6_upvr.mountVirtualTree(createElement_upvr(any_extend_result1), nil, "PureComponent Tree"))
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:04:20
-- Luau version 6, Types version 3
-- Time taken: 0.014910 seconds
local Binding_upvr = require(script.Parent.Binding)
local Children_upvr = require(script.Parent.PropMarkers.Children)
local getDefaultInstanceProperty_upvr = require(script.Parent.getDefaultInstanceProperty)
local Ref_upvr = require(script.Parent.PropMarkers.Ref)
local Type_upvr = require(script.Parent.Type)
local function identity_upvr(...) -- Line 32, Named "identity"
return ...
end
local function applyRef_upvr(arg1, arg2) -- Line 36, Named "applyRef"
--[[ Upvalues[2]:
[1]: Type_upvr (readonly)
[2]: Binding_upvr (readonly)
]]
if arg1 == nil then
else
if typeof(arg1) == "function" then
arg1(arg2)
return
end
if Type_upvr.of(arg1) == Type_upvr.Binding then
Binding_upvr.update(arg1, arg2)
return
end
error("Invalid ref: Expected type Binding but got %s":format(typeof(arg1)))
end
end
local function _(arg1, arg2, arg3) -- Line 51, Named "setRobloxInstanceProperty"
--[[ Upvalues[1]:
[1]: getDefaultInstanceProperty_upvr (readonly)
]]
if arg3 == nil then
local _, getDefaultInstanceProperty_upvr_result2_3 = getDefaultInstanceProperty_upvr(arg1.ClassName, arg2)
end
arg1[arg2] = getDefaultInstanceProperty_upvr_result2_3
end
local function _(arg1, arg2) -- Line 64, Named "removeBinding"
arg1.bindings[arg2]()
arg1.bindings[arg2] = nil
end
local function attachBinding_upvr(arg1, arg2, arg3) -- Line 70, Named "attachBinding"
--[[ Upvalues[3]:
[1]: getDefaultInstanceProperty_upvr (readonly)
[2]: identity_upvr (readonly)
[3]: Binding_upvr (readonly)
]]
local function updateBoundProperty(arg1_2) -- Line 71
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
[3]: getDefaultInstanceProperty_upvr (copied, readonly)
[4]: identity_upvr (copied, readonly)
]]
local xpcall_result1_3, xpcall_result2_2 = xpcall(function() -- Line 72
--[[ Upvalues[4]:
[1]: arg1 (copied, readonly)
[2]: arg2 (copied, readonly)
[3]: arg1_2 (readonly)
[4]: getDefaultInstanceProperty_upvr (copied, readonly)
]]
local hostObject = arg1.hostObject
local var10 = arg2
local var11 = arg1_2
if var11 == nil then
local _, getDefaultInstanceProperty_upvr_result2 = getDefaultInstanceProperty_upvr(hostObject.ClassName, var10)
var11 = getDefaultInstanceProperty_upvr_result2
end
hostObject[var10] = var11
end, identity_upvr)
if not xpcall_result1_3 then
local source_2 = arg1.currentElement.source
if source_2 == nil then
source_2 = "<enable element tracebacks>"
end
error("Error updating props:\n\t%s\nIn element:\n%s\n":format(xpcall_result2_2, source_2), 0)
end
end
if arg1.bindings == nil then
arg1.bindings = {}
end
arg1.bindings[arg2] = Binding_upvr.subscribe(arg3, updateBoundProperty)
updateBoundProperty(arg3:getValue())
end
local function _(arg1) -- Line 97, Named "detachAllBindings"
if arg1.bindings ~= nil then
for _, v in pairs(arg1.bindings) do
v()
end
arg1.bindings = nil
end
end
local SingleEventManager_upvr = require(script.Parent.SingleEventManager)
local function applyProp_upvr(arg1, arg2, arg3, arg4) -- Line 106, Named "applyProp"
--[[ Upvalues[6]:
[1]: Ref_upvr (readonly)
[2]: Children_upvr (readonly)
[3]: Type_upvr (readonly)
[4]: SingleEventManager_upvr (readonly)
[5]: attachBinding_upvr (readonly)
[6]: getDefaultInstanceProperty_upvr (readonly)
]]
if arg3 == arg4 then
else
if arg2 == Ref_upvr or arg2 == Children_upvr then return end
local any_of_result1 = Type_upvr.of(arg2)
if any_of_result1 == Type_upvr.HostEvent or any_of_result1 == Type_upvr.HostChangeEvent then
if arg1.eventManager == nil then
arg1.eventManager = SingleEventManager_upvr.new(arg1.hostObject)
end
local name = arg2.name
if any_of_result1 == Type_upvr.HostChangeEvent then
arg1.eventManager:connectPropertyChange(name, arg3)
else
arg1.eventManager:connectEvent(name, arg3)
end
end
if Type_upvr.of(arg3) ~= Type_upvr.Binding then
else
end
if Type_upvr.of(arg4) ~= Type_upvr.Binding then
else
end
if true then
arg1.bindings[arg2]()
arg1.bindings[arg2] = nil
end
if true then
attachBinding_upvr(arg1, arg2, arg3)
return
end
local hostObject_2 = arg1.hostObject
local var26 = arg3
if var26 == nil then
local _, getDefaultInstanceProperty_upvr_result2_2 = getDefaultInstanceProperty_upvr(hostObject_2.ClassName, arg2)
var26 = getDefaultInstanceProperty_upvr_result2_2
end
hostObject_2[arg2] = var26
end
end
local function applyProps_upvr(arg1, arg2) -- Line 148, Named "applyProps"
--[[ Upvalues[1]:
[1]: applyProp_upvr (readonly)
]]
for i_2, v_2 in pairs(arg2) do
applyProp_upvr(arg1, i_2, v_2, nil)
end
end
local function updateProps_upvr(arg1, arg2, arg3) -- Line 154, Named "updateProps"
--[[ Upvalues[1]:
[1]: applyProp_upvr (readonly)
]]
for i_3, v_3 in pairs(arg3) do
applyProp_upvr(arg1, i_3, v_3, arg2[i_3])
end
for i_4, v_4 in pairs(arg2) do
if arg3[i_4] == nil then
applyProp_upvr(arg1, i_4, nil, v_4)
end
end
end
local module = {
isHostObject = function(arg1) -- Line 174, Named "isHostObject"
local var45
if typeof(arg1) ~= "Instance" then
var45 = false
else
var45 = true
end
return var45
end;
}
local any_get_result1_upvr = require(script.Parent.GlobalConfig).get()
local internalAssert_upvr = require(script.Parent.internalAssert)
local ElementKind_upvr = require(script.Parent.ElementKind)
function module.mountHostNode(arg1, arg2) -- Line 178
--[[ Upvalues[8]:
[1]: any_get_result1_upvr (readonly)
[2]: internalAssert_upvr (readonly)
[3]: ElementKind_upvr (readonly)
[4]: applyProps_upvr (readonly)
[5]: identity_upvr (readonly)
[6]: Children_upvr (readonly)
[7]: applyRef_upvr (readonly)
[8]: Ref_upvr (readonly)
]]
local currentElement_upvr = arg2.currentElement
local var50 = any_get_result1_upvr
if var50.internalTypeChecks then
if ElementKind_upvr.of(currentElement_upvr) ~= ElementKind_upvr.Host then
var50 = false
else
var50 = true
end
internalAssert_upvr(var50, "Element at given node is not a host Element")
end
var50 = any_get_result1_upvr
if var50.typeChecks then
if currentElement_upvr.props.Name ~= nil then
var50 = false
else
var50 = true
end
assert(var50, "Name can not be specified as a prop to a host component in Roact.")
if currentElement_upvr.props.Parent ~= nil then
var50 = false
else
var50 = true
end
assert(var50, "Parent can not be specified as a prop to a host component in Roact.")
end
local any = Instance.new(currentElement_upvr.component)
arg2.hostObject = any
local xpcall_result1, xpcall_result2_3 = xpcall(function() -- Line 194
--[[ Upvalues[3]:
[1]: applyProps_upvr (copied, readonly)
[2]: arg2 (readonly)
[3]: currentElement_upvr (readonly)
]]
applyProps_upvr(arg2, currentElement_upvr.props)
end, identity_upvr)
if not xpcall_result1 then
local source_3 = currentElement_upvr.source
if source_3 == nil then
source_3 = "<enable element tracebacks>"
end
error("Error applying props:\n\t%s\nIn element:\n%s\n":format(xpcall_result2_3, source_3), 0)
end
any.Name = tostring(arg2.hostKey)
local var56 = currentElement_upvr.props[Children_upvr]
if var56 ~= nil then
arg1.updateVirtualNodeWithChildren(arg2, arg2.hostObject, var56)
end
any.Parent = arg2.hostParent
arg2.hostObject = any
applyRef_upvr(currentElement_upvr.props[Ref_upvr], any)
if arg2.eventManager ~= nil then
arg2.eventManager:resume()
end
end
function module.unmountHostNode(arg1, arg2) -- Line 227
--[[ Upvalues[2]:
[1]: applyRef_upvr (readonly)
[2]: Ref_upvr (readonly)
]]
applyRef_upvr(arg2.currentElement.props[Ref_upvr], nil)
for _, v_5 in pairs(arg2.children) do
arg1.unmountVirtualNode(v_5)
end
if arg2.bindings ~= nil then
for _, v_6 in pairs(arg2.bindings) do
v_6()
end
arg2.bindings = nil
end
arg2.hostObject:Destroy()
end
function module.updateHostNode(arg1, arg2, arg3) -- Line 241
--[[ Upvalues[5]:
[1]: Ref_upvr (readonly)
[2]: applyRef_upvr (readonly)
[3]: updateProps_upvr (readonly)
[4]: identity_upvr (readonly)
[5]: Children_upvr (readonly)
]]
local props_upvr = arg2.currentElement.props
local props_upvr_2 = arg3.props
if arg2.eventManager ~= nil then
arg2.eventManager:suspend()
end
if props_upvr[Ref_upvr] ~= props_upvr_2[Ref_upvr] then
applyRef_upvr(props_upvr[Ref_upvr], nil)
applyRef_upvr(props_upvr_2[Ref_upvr], arg2.hostObject)
end
local xpcall_result1_2, xpcall_result2 = xpcall(function() -- Line 255
--[[ Upvalues[4]:
[1]: updateProps_upvr (copied, readonly)
[2]: arg2 (readonly)
[3]: props_upvr (readonly)
[4]: props_upvr_2 (readonly)
]]
updateProps_upvr(arg2, props_upvr, props_upvr_2)
end, identity_upvr)
if not xpcall_result1_2 then
local source = arg3.source
if source == nil then
source = "<enable element tracebacks>"
end
error("Error updating props:\n\t%s\nIn element:\n%s\n":format(xpcall_result2, source), 0)
end
local var73 = arg3.props[Children_upvr]
if var73 ~= nil or props_upvr[Children_upvr] ~= nil then
arg1.updateVirtualNodeWithChildren(arg2, arg2.hostObject, var73)
end
if arg2.eventManager ~= nil then
arg2.eventManager:resume()
end
return arg2
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:04:23
-- Luau version 6, Types version 3
-- Time taken: 0.067120 seconds
return function() -- Line 1
local assertDeepEqual_upvr = require(script.Parent.assertDeepEqual)
local Binding_upvr = require(script.Parent.Binding)
local Children_upvr = require(script.Parent.PropMarkers.Children)
local Component_upvr = require(script.Parent.Component)
local createElement_upvr = require(script.Parent.createElement)
local createRef_upvr = require(script.Parent.createRef)
local createSpy_upvr = require(script.Parent.createSpy)
local GlobalConfig_upvr = require(script.Parent.GlobalConfig)
local Portal_upvr = require(script.Parent.Portal)
local Ref_upvr = require(script.Parent.PropMarkers.Ref)
local RobloxRenderer_upvr = require(script.Parent.RobloxRenderer)
local var13_upvr = require(script.Parent.createReconciler)(RobloxRenderer_upvr)
describe("mountHostNode", function() -- Line 22
--[[ Upvalues[8]:
[1]: createElement_upvr (readonly)
[2]: var13_upvr (readonly)
[3]: RobloxRenderer_upvr (readonly)
[4]: Binding_upvr (readonly)
[5]: createRef_upvr (readonly)
[6]: Ref_upvr (readonly)
[7]: createSpy_upvr (readonly)
[8]: GlobalConfig_upvr (readonly)
]]
it("should create instances with correct props", function() -- Line 23
--[[ Upvalues[3]:
[1]: createElement_upvr (copied, readonly)
[2]: var13_upvr (copied, readonly)
[3]: RobloxRenderer_upvr (copied, readonly)
]]
local Folder_16 = Instance.new("Folder")
RobloxRenderer_upvr.mountHostNode(var13_upvr, var13_upvr.createVirtualNode(createElement_upvr("StringValue", {
Value = "Hello!";
}), Folder_16, "Some Key"))
expect(#Folder_16:GetChildren()).to.equal(1)
local _1 = Folder_16:GetChildren()[1]
expect(_1.ClassName).to.equal("StringValue")
expect(_1.Value).to.equal("Hello!")
expect(_1.Name).to.equal("Some Key")
end)
it("should create children with correct names and props", function() -- Line 45
--[[ Upvalues[3]:
[1]: createElement_upvr (copied, readonly)
[2]: var13_upvr (copied, readonly)
[3]: RobloxRenderer_upvr (copied, readonly)
]]
local Folder_10 = Instance.new("Folder")
RobloxRenderer_upvr.mountHostNode(var13_upvr, var13_upvr.createVirtualNode(createElement_upvr("StringValue", {
Value = "Hey there!";
}, {
ChildA = createElement_upvr("IntValue", {
Value = 173;
});
ChildB = createElement_upvr("Folder");
}), Folder_10, "Some Key"))
expect(#Folder_10:GetChildren()).to.equal(1)
local _1_7 = Folder_10:GetChildren()[1]
expect(_1_7.ClassName).to.equal("StringValue")
expect(_1_7.Value).to.equal("Hey there!")
expect(_1_7.Name).to.equal("Some Key")
expect(#_1_7:GetChildren()).to.equal(2)
local ChildA = _1_7.ChildA
local ChildB = _1_7.ChildB
expect(ChildA).to.be.ok()
expect(ChildB).to.be.ok()
expect(ChildA.ClassName).to.equal("IntValue")
expect(ChildA.Value).to.equal(173)
expect(ChildB.ClassName).to.equal("Folder")
end)
it("should attach Bindings to Roblox properties", function() -- Line 87
--[[ Upvalues[4]:
[1]: Binding_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var13_upvr (copied, readonly)
[4]: RobloxRenderer_upvr (copied, readonly)
]]
local Folder_14 = Instance.new("Folder")
local any_create_result1_4, any_create_result2_4 = Binding_upvr.create(10)
local any_createVirtualNode_result1_5 = var13_upvr.createVirtualNode(createElement_upvr("IntValue", {
Value = any_create_result1_4;
}), Folder_14, "Some Key")
RobloxRenderer_upvr.mountHostNode(var13_upvr, any_createVirtualNode_result1_5)
expect(#Folder_14:GetChildren()).to.equal(1)
local _1_2 = Folder_14:GetChildren()[1]
expect(_1_2.ClassName).to.equal("IntValue")
expect(_1_2.Value).to.equal(10)
any_create_result2_4(20)
expect(_1_2.Value).to.equal(20)
RobloxRenderer_upvr.unmountHostNode(var13_upvr, any_createVirtualNode_result1_5)
end)
it("should connect Binding refs", function() -- Line 114
--[[ Upvalues[5]:
[1]: createRef_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: Ref_upvr (copied, readonly)
[4]: var13_upvr (copied, readonly)
[5]: RobloxRenderer_upvr (copied, readonly)
]]
local Folder_2 = Instance.new("Folder")
local var7_result1_2 = createRef_upvr()
local any_createVirtualNode_result1_11 = var13_upvr.createVirtualNode(createElement_upvr("Frame", {
[Ref_upvr] = var7_result1_2;
}), Folder_2, "Some Key")
RobloxRenderer_upvr.mountHostNode(var13_upvr, any_createVirtualNode_result1_11)
expect(#Folder_2:GetChildren()).to.equal(1)
expect(var7_result1_2.current).to.be.ok()
expect(var7_result1_2.current).to.equal(Folder_2:GetChildren()[1])
RobloxRenderer_upvr.unmountHostNode(var13_upvr, any_createVirtualNode_result1_11)
end)
it("should call function refs", function() -- Line 137
--[[ Upvalues[5]:
[1]: createSpy_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: Ref_upvr (copied, readonly)
[4]: var13_upvr (copied, readonly)
[5]: RobloxRenderer_upvr (copied, readonly)
]]
local Folder_18 = Instance.new("Folder")
local createSpy_upvr_result1_2 = createSpy_upvr()
local any_createVirtualNode_result1_4 = var13_upvr.createVirtualNode(createElement_upvr("Frame", {
[Ref_upvr] = createSpy_upvr_result1_2.value;
}), Folder_18, "Some Key")
RobloxRenderer_upvr.mountHostNode(var13_upvr, any_createVirtualNode_result1_4)
expect(#Folder_18:GetChildren()).to.equal(1)
expect(createSpy_upvr_result1_2.callCount).to.equal(1)
createSpy_upvr_result1_2:assertCalledWith(Folder_18:GetChildren()[1])
RobloxRenderer_upvr.unmountHostNode(var13_upvr, any_createVirtualNode_result1_4)
end)
it("should throw if setting invalid instance properties", function() -- Line 160
--[[ Upvalues[4]:
[1]: GlobalConfig_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var13_upvr (copied, readonly)
[4]: RobloxRenderer_upvr (copied, readonly)
]]
GlobalConfig_upvr.scoped({
elementTracing = true;
}, function() -- Line 165
--[[ Upvalues[3]:
[1]: createElement_upvr (copied, readonly)
[2]: var13_upvr (copied, readonly)
[3]: RobloxRenderer_upvr (copied, readonly)
]]
local pcall_result1_2, pcall_result2 = pcall(RobloxRenderer_upvr.mountHostNode, var13_upvr, var13_upvr.createVirtualNode(createElement_upvr("Frame", {
Frob = 6;
}), Instance.new("Folder"), "Some Key"))
assert(not pcall_result1_2, "Expected call to fail")
expect(pcall_result2:find("Frob")).to.be.ok()
expect(pcall_result2:find("Frame")).to.be.ok()
expect(pcall_result2:find("RobloxRenderer%.spec")).to.be.ok()
end)
end)
end)
describe("updateHostNode", function() -- Line 185
--[[ Upvalues[8]:
[1]: createElement_upvr (readonly)
[2]: var13_upvr (readonly)
[3]: RobloxRenderer_upvr (readonly)
[4]: Binding_upvr (readonly)
[5]: createRef_upvr (readonly)
[6]: Ref_upvr (readonly)
[7]: createSpy_upvr (readonly)
[8]: GlobalConfig_upvr (readonly)
]]
it("should update node props and children", function() -- Line 186
--[[ Upvalues[3]:
[1]: createElement_upvr (copied, readonly)
[2]: var13_upvr (copied, readonly)
[3]: RobloxRenderer_upvr (copied, readonly)
]]
local Folder_5 = Instance.new("Folder")
local any_createVirtualNode_result1 = var13_upvr.createVirtualNode(createElement_upvr("StringValue", {
Value = "foo";
}, {
ChildA = createElement_upvr("IntValue", {
Value = 1;
});
ChildB = createElement_upvr("BoolValue", {
Value = true;
});
ChildC = createElement_upvr("StringValue", {
Value = "test";
});
ChildD = createElement_upvr("StringValue", {
Value = "test";
});
}), Folder_5, "updateHostNodeTest")
RobloxRenderer_upvr.mountHostNode(var13_upvr, any_createVirtualNode_result1)
RobloxRenderer_upvr.updateHostNode(var13_upvr, any_createVirtualNode_result1, createElement_upvr("StringValue", {
Value = "bar";
}, {
ChildA = createElement_upvr("StringValue", {
Value = "test";
});
ChildB = createElement_upvr("BoolValue", {
Value = false;
});
ChildC = createElement_upvr("StringValue", {});
ChildE = createElement_upvr("Folder", {});
}))
local updateHostNodeTest = Folder_5.updateHostNodeTest
expect(updateHostNodeTest.ClassName).to.equal("StringValue")
expect(updateHostNodeTest.Value).to.equal("bar")
expect(#updateHostNodeTest:GetChildren()).to.equal(4)
local ChildA_2 = updateHostNodeTest.ChildA
expect(ChildA_2.ClassName).to.equal("StringValue")
expect(ChildA_2.Value).to.equal("test")
local ChildB_2 = updateHostNodeTest.ChildB
expect(ChildB_2.ClassName).to.equal("BoolValue")
expect(ChildB_2.Value).to.equal(false)
local ChildC = updateHostNodeTest.ChildC
expect(ChildC.ClassName).to.equal("StringValue")
expect(ChildC.Value).to.equal(Instance.new("StringValue").Value)
expect(updateHostNodeTest.ChildE.ClassName).to.equal("Folder")
end)
it("should update Bindings", function() -- Line 260
--[[ Upvalues[4]:
[1]: Binding_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var13_upvr (copied, readonly)
[4]: RobloxRenderer_upvr (copied, readonly)
]]
local Folder_19 = Instance.new("Folder")
local any_create_result1_2, any_create_result2_2 = Binding_upvr.create(10)
local any_createVirtualNode_result1_2 = var13_upvr.createVirtualNode(createElement_upvr("IntValue", {
Value = any_create_result1_2;
}), Folder_19, "Some Key")
RobloxRenderer_upvr.mountHostNode(var13_upvr, any_createVirtualNode_result1_2)
local _1_5 = Folder_19:GetChildren()[1]
expect(_1_5.Value).to.equal(10)
local any_create_result1, any_create_result2_3 = Binding_upvr.create(99)
RobloxRenderer_upvr.updateHostNode(var13_upvr, any_createVirtualNode_result1_2, createElement_upvr("IntValue", {
Value = any_create_result1;
}))
expect(_1_5.Value).to.equal(99)
any_create_result2_2(123)
expect(_1_5.Value).to.equal(99)
any_create_result2_3(123)
expect(_1_5.Value).to.equal(123)
RobloxRenderer_upvr.unmountHostNode(var13_upvr, any_createVirtualNode_result1_2)
end)
it("should update Binding refs", function() -- Line 297
--[[ Upvalues[5]:
[1]: createRef_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: Ref_upvr (copied, readonly)
[4]: var13_upvr (copied, readonly)
[5]: RobloxRenderer_upvr (copied, readonly)
]]
local Folder_4 = Instance.new("Folder")
local createRef_upvr_result1 = createRef_upvr()
local var7_result1_3 = createRef_upvr()
local any_createVirtualNode_result1_12 = var13_upvr.createVirtualNode(createElement_upvr("Frame", {
[Ref_upvr] = createRef_upvr_result1;
}), Folder_4, "Some Key")
RobloxRenderer_upvr.mountHostNode(var13_upvr, any_createVirtualNode_result1_12)
expect(#Folder_4:GetChildren()).to.equal(1)
local _1_3 = Folder_4:GetChildren()[1]
expect(createRef_upvr_result1.current).to.equal(_1_3)
expect(var7_result1_3.current).never.to.be.ok()
RobloxRenderer_upvr.updateHostNode(var13_upvr, any_createVirtualNode_result1_12, createElement_upvr("Frame", {
[Ref_upvr] = var7_result1_3;
}))
expect(createRef_upvr_result1.current).never.to.be.ok()
expect(var7_result1_3.current).to.equal(_1_3)
RobloxRenderer_upvr.unmountHostNode(var13_upvr, any_createVirtualNode_result1_12)
end)
it("should call old function refs with nil and new function refs with a valid rbx", function() -- Line 331
--[[ Upvalues[5]:
[1]: createSpy_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: Ref_upvr (copied, readonly)
[4]: var13_upvr (copied, readonly)
[5]: RobloxRenderer_upvr (copied, readonly)
]]
local Folder_11 = Instance.new("Folder")
local var8_result1 = createSpy_upvr()
local createSpy_upvr_result1_4 = createSpy_upvr()
local any_createVirtualNode_result1_9 = var13_upvr.createVirtualNode(createElement_upvr("Frame", {
[Ref_upvr] = var8_result1.value;
}), Folder_11, "Some Key")
RobloxRenderer_upvr.mountHostNode(var13_upvr, any_createVirtualNode_result1_9)
expect(#Folder_11:GetChildren()).to.equal(1)
local _1_4 = Folder_11:GetChildren()[1]
expect(var8_result1.callCount).to.equal(1)
var8_result1:assertCalledWith(_1_4)
expect(createSpy_upvr_result1_4.callCount).to.equal(0)
RobloxRenderer_upvr.updateHostNode(var13_upvr, any_createVirtualNode_result1_9, createElement_upvr("Frame", {
[Ref_upvr] = createSpy_upvr_result1_4.value;
}))
expect(var8_result1.callCount).to.equal(2)
var8_result1:assertCalledWith(nil)
expect(createSpy_upvr_result1_4.callCount).to.equal(1)
createSpy_upvr_result1_4:assertCalledWith(_1_4)
RobloxRenderer_upvr.unmountHostNode(var13_upvr, any_createVirtualNode_result1_9)
end)
it("should not call function refs again if they didn't change", function() -- Line 368
--[[ Upvalues[5]:
[1]: createSpy_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: Ref_upvr (copied, readonly)
[4]: var13_upvr (copied, readonly)
[5]: RobloxRenderer_upvr (copied, readonly)
]]
local Folder_7 = Instance.new("Folder")
local createSpy_upvr_result1_3 = createSpy_upvr()
local any_createVirtualNode_result1_6 = var13_upvr.createVirtualNode(createElement_upvr("Frame", {
Size = UDim2.new(1, 0, 1, 0);
[Ref_upvr] = createSpy_upvr_result1_3.value;
}), Folder_7, "Some Key")
RobloxRenderer_upvr.mountHostNode(var13_upvr, any_createVirtualNode_result1_6)
expect(#Folder_7:GetChildren()).to.equal(1)
expect(createSpy_upvr_result1_3.callCount).to.equal(1)
createSpy_upvr_result1_3:assertCalledWith(Folder_7:GetChildren()[1])
RobloxRenderer_upvr.updateHostNode(var13_upvr, any_createVirtualNode_result1_6, createElement_upvr("Frame", {
Size = UDim2.new(0.5, 0, 0.5, 0);
[Ref_upvr] = createSpy_upvr_result1_3.value;
}))
expect(createSpy_upvr_result1_3.callCount).to.equal(1)
end)
it("should throw if setting invalid instance properties", function() -- Line 401
--[[ Upvalues[4]:
[1]: GlobalConfig_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var13_upvr (copied, readonly)
[4]: RobloxRenderer_upvr (copied, readonly)
]]
GlobalConfig_upvr.scoped({
elementTracing = true;
}, function() -- Line 406
--[[ Upvalues[3]:
[1]: createElement_upvr (copied, readonly)
[2]: var13_upvr (copied, readonly)
[3]: RobloxRenderer_upvr (copied, readonly)
]]
local any_createVirtualNode_result1_13 = var13_upvr.createVirtualNode(createElement_upvr("Frame"), Instance.new("Folder"), "Some Key")
RobloxRenderer_upvr.mountHostNode(var13_upvr, any_createVirtualNode_result1_13)
local pcall_result1, pcall_result2_2 = pcall(RobloxRenderer_upvr.updateHostNode, var13_upvr, any_createVirtualNode_result1_13, createElement_upvr("Frame", {
Frob = 6;
}))
assert(not pcall_result1, "Expected call to fail")
expect(pcall_result2_2:find("Frob")).to.be.ok()
expect(pcall_result2_2:find("Frame")).to.be.ok()
expect(pcall_result2_2:find("RobloxRenderer%.spec")).to.be.ok()
end)
end)
it("should delete instances when reconciling to nil children", function() -- Line 427
--[[ Upvalues[3]:
[1]: createElement_upvr (copied, readonly)
[2]: var13_upvr (copied, readonly)
[3]: RobloxRenderer_upvr (copied, readonly)
]]
local Folder = Instance.new("Folder")
local any_createVirtualNode_result1_8 = var13_upvr.createVirtualNode(createElement_upvr("Frame", {
Size = UDim2.new(1, 0, 1, 0);
}, {
child = createElement_upvr("Frame");
}), Folder, "Some Key")
RobloxRenderer_upvr.mountHostNode(var13_upvr, any_createVirtualNode_result1_8)
expect(#Folder:GetChildren()).to.equal(1)
local _1_6 = Folder:GetChildren()[1]
expect(#_1_6:GetChildren()).to.equal(1)
RobloxRenderer_upvr.updateHostNode(var13_upvr, any_createVirtualNode_result1_8, createElement_upvr("Frame", {
Size = UDim2.new(0.5, 0, 0.5, 0);
}))
expect(#_1_6:GetChildren()).to.equal(0)
end)
end)
describe("unmountHostNode", function() -- Line 455
--[[ Upvalues[7]:
[1]: createElement_upvr (readonly)
[2]: var13_upvr (readonly)
[3]: RobloxRenderer_upvr (readonly)
[4]: Binding_upvr (readonly)
[5]: createRef_upvr (readonly)
[6]: Ref_upvr (readonly)
[7]: createSpy_upvr (readonly)
]]
it("should delete instances from the inside-out", function() -- Line 456
--[[ Upvalues[3]:
[1]: createElement_upvr (copied, readonly)
[2]: var13_upvr (copied, readonly)
[3]: RobloxRenderer_upvr (copied, readonly)
]]
local Folder_6 = Instance.new("Folder")
expect(#Folder_6:GetChildren()).to.equal(1)
local _1_10 = Folder_6:GetChildren()[1]
expect(#_1_10:GetChildren()).to.equal(1)
local _1_8 = _1_10:GetChildren()[1]
expect(#_1_8:GetChildren()).to.equal(1)
RobloxRenderer_upvr.unmountHostNode(var13_upvr, var13_upvr.mountVirtualNode(createElement_upvr("Folder", nil, {
Child = createElement_upvr("Folder", nil, {
Grandchild = createElement_upvr("Folder");
});
}), Folder_6, "Root"))
expect(_1_8:GetChildren()[1].Parent).to.equal(nil)
expect(_1_8.Parent).to.equal(nil)
expect(_1_10.Parent).to.equal(nil)
end)
it("should unsubscribe from any Bindings", function() -- Line 484
--[[ Upvalues[4]:
[1]: Binding_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var13_upvr (copied, readonly)
[4]: RobloxRenderer_upvr (copied, readonly)
]]
local Folder_12 = Instance.new("Folder")
local any_create_result1_3, any_create_result2 = Binding_upvr.create(10)
local any_createVirtualNode_result1_3 = var13_upvr.createVirtualNode(createElement_upvr("IntValue", {
Value = any_create_result1_3;
}), Folder_12, "Some Key")
RobloxRenderer_upvr.mountHostNode(var13_upvr, any_createVirtualNode_result1_3)
local _1_9 = Folder_12:GetChildren()[1]
expect(_1_9.Value).to.equal(10)
RobloxRenderer_upvr.unmountHostNode(var13_upvr, any_createVirtualNode_result1_3)
any_create_result2(56)
expect(_1_9.Value).to.equal(10)
end)
it("should clear Binding refs", function() -- Line 507
--[[ Upvalues[5]:
[1]: createRef_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: Ref_upvr (copied, readonly)
[4]: var13_upvr (copied, readonly)
[5]: RobloxRenderer_upvr (copied, readonly)
]]
local var7_result1 = createRef_upvr()
local any_createVirtualNode_result1_10 = var13_upvr.createVirtualNode(createElement_upvr("Frame", {
[Ref_upvr] = var7_result1;
}), Instance.new("Folder"), "Some Key")
RobloxRenderer_upvr.mountHostNode(var13_upvr, any_createVirtualNode_result1_10)
expect(var7_result1.current).to.be.ok()
RobloxRenderer_upvr.unmountHostNode(var13_upvr, any_createVirtualNode_result1_10)
expect(var7_result1.current).never.to.be.ok()
end)
it("should call function refs with nil", function() -- Line 527
--[[ Upvalues[5]:
[1]: createSpy_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: Ref_upvr (copied, readonly)
[4]: var13_upvr (copied, readonly)
[5]: RobloxRenderer_upvr (copied, readonly)
]]
local createSpy_upvr_result1 = createSpy_upvr()
local any_createVirtualNode_result1_7 = var13_upvr.createVirtualNode(createElement_upvr("Frame", {
[Ref_upvr] = createSpy_upvr_result1.value;
}), Instance.new("Folder"), "Some Key")
RobloxRenderer_upvr.mountHostNode(var13_upvr, any_createVirtualNode_result1_7)
expect(createSpy_upvr_result1.callCount).to.equal(1)
RobloxRenderer_upvr.unmountHostNode(var13_upvr, any_createVirtualNode_result1_7)
expect(createSpy_upvr_result1.callCount).to.equal(2)
createSpy_upvr_result1:assertCalledWith(nil)
end)
end)
describe("Portals", function() -- Line 549
--[[ Upvalues[3]:
[1]: createElement_upvr (readonly)
[2]: Portal_upvr (readonly)
[3]: var13_upvr (readonly)
]]
it("should create and destroy instances as children of `target`", function() -- Line 550
--[[ Upvalues[3]:
[1]: createElement_upvr (copied, readonly)
[2]: Portal_upvr (copied, readonly)
[3]: var13_upvr (copied, readonly)
]]
local Folder_8 = Instance.new("Folder")
expect(#Folder_8:GetChildren()).to.equal(3)
expect(Folder_8:FindFirstChild("folderOne")).to.be.ok()
expect(Folder_8:FindFirstChild("folderTwo")).to.be.ok()
expect(Folder_8:FindFirstChild("intValueOne")).to.be.ok()
expect(Folder_8:FindFirstChild("intValueOne").Value).to.equal(42)
var13_upvr.unmountVirtualNode(var13_upvr.mountVirtualNode(createElement_upvr(Portal_upvr, {
target = Folder_8;
}, {
folderOne = createElement_upvr("Folder");
folderTwo = createElement_upvr("Folder");
intValueOne = createElement_upvr(function(arg1) -- Line 553, Named "FunctionComponent"
--[[ Upvalues[1]:
[1]: createElement_upvr (copied, readonly)
]]
return createElement_upvr("IntValue", {
Value = arg1.value;
})
end, {
value = 42;
});
}), nil, "Some Key"))
expect(#Folder_8:GetChildren()).to.equal(0)
end)
it("should pass prop updates through to children", function() -- Line 584
--[[ Upvalues[3]:
[1]: createElement_upvr (copied, readonly)
[2]: Portal_upvr (copied, readonly)
[3]: var13_upvr (copied, readonly)
]]
local Folder_13 = Instance.new("Folder")
expect(#Folder_13:GetChildren()).to.equal(1)
local ChildValue_2 = Folder_13.ChildValue
expect(ChildValue_2.Value).to.equal(1)
expect(#Folder_13:GetChildren()).to.equal(1)
local ChildValue = Folder_13.ChildValue
expect(ChildValue_2).to.equal(ChildValue)
expect(ChildValue.Value).to.equal(2)
var13_upvr.unmountVirtualNode(var13_upvr.updateVirtualNode(var13_upvr.mountVirtualNode(createElement_upvr(Portal_upvr, {
target = Folder_13;
}, {
ChildValue = createElement_upvr("IntValue", {
Value = 1;
});
}), nil, "A Host Key"), createElement_upvr(Portal_upvr, {
target = Folder_13;
}, {
ChildValue = createElement_upvr("IntValue", {
Value = 2;
});
})))
expect(#Folder_13:GetChildren()).to.equal(0)
end)
it("should throw if `target` is nil", function() -- Line 625
--[[ Upvalues[3]:
[1]: createElement_upvr (copied, readonly)
[2]: Portal_upvr (copied, readonly)
[3]: var13_upvr (copied, readonly)
]]
local var6_result1_upvr = createElement_upvr(Portal_upvr)
expect(function() -- Line 631
--[[ Upvalues[2]:
[1]: var13_upvr (copied, readonly)
[2]: var6_result1_upvr (readonly)
]]
var13_upvr.mountVirtualNode(var6_result1_upvr, nil, "Keys for Everyone")
end).to.throw()
end)
it("should throw if `target` is not a Roblox instance", function() -- Line 636
--[[ Upvalues[3]:
[1]: createElement_upvr (copied, readonly)
[2]: Portal_upvr (copied, readonly)
[3]: var13_upvr (copied, readonly)
]]
local var6_result1_upvr_2 = createElement_upvr(Portal_upvr, {
target = {};
})
expect(function() -- Line 643
--[[ Upvalues[2]:
[1]: var13_upvr (copied, readonly)
[2]: var6_result1_upvr_2 (readonly)
]]
var13_upvr.mountVirtualNode(var6_result1_upvr_2, nil, "Unleash the keys!")
end).to.throw()
end)
it("should recreate instances if `target` changes in an update", function() -- Line 648
--[[ Upvalues[3]:
[1]: createElement_upvr (copied, readonly)
[2]: Portal_upvr (copied, readonly)
[3]: var13_upvr (copied, readonly)
]]
local Folder_17 = Instance.new("Folder")
local Folder_21 = Instance.new("Folder")
expect(#Folder_17:GetChildren()).to.equal(1)
expect(#Folder_21:GetChildren()).to.equal(0)
expect(Folder_17.ChildValue.Value).to.equal(1)
expect(#Folder_17:GetChildren()).to.equal(0)
expect(#Folder_21:GetChildren()).to.equal(1)
expect(Folder_21.ChildValue.Value).to.equal(2)
var13_upvr.unmountVirtualNode(var13_upvr.updateVirtualNode(var13_upvr.mountVirtualNode(createElement_upvr(Portal_upvr, {
target = Folder_17;
}, {
ChildValue = createElement_upvr("IntValue", {
Value = 1;
});
}), nil, "Some Key"), createElement_upvr(Portal_upvr, {
target = Folder_21;
}, {
ChildValue = createElement_upvr("IntValue", {
Value = 2;
});
})))
expect(#Folder_17:GetChildren()).to.equal(0)
expect(#Folder_21:GetChildren()).to.equal(0)
end)
end)
local createFragment_upvr = require(script.Parent.createFragment)
describe("Fragments", function() -- Line 693
--[[ Upvalues[3]:
[1]: createFragment_upvr (readonly)
[2]: createElement_upvr (readonly)
[3]: var13_upvr (readonly)
]]
it("should parent the fragment's elements into the fragment's parent", function() -- Line 694
--[[ Upvalues[3]:
[1]: createFragment_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var13_upvr (copied, readonly)
]]
local Folder_3 = Instance.new("Folder")
expect(Folder_3:FindFirstChild("key")).to.be.ok()
expect(Folder_3.key.ClassName).to.equal("IntValue")
expect(Folder_3.key.Value).to.equal(1)
expect(Folder_3:FindFirstChild("key2")).to.be.ok()
expect(Folder_3.key2.ClassName).to.equal("IntValue")
expect(Folder_3.key2.Value).to.equal(2)
var13_upvr.unmountVirtualNode(var13_upvr.mountVirtualNode(createFragment_upvr({
key = createElement_upvr("IntValue", {
Value = 1;
});
key2 = createElement_upvr("IntValue", {
Value = 2;
});
}), Folder_3, "test"))
expect(#Folder_3:GetChildren()).to.equal(0)
end)
it("should allow sibling fragment to have common keys", function() -- Line 721
--[[ Upvalues[3]:
[1]: createElement_upvr (copied, readonly)
[2]: createFragment_upvr (copied, readonly)
[3]: var13_upvr (copied, readonly)
]]
local Folder_20 = Instance.new("Folder")
local children = Folder_20.Test:GetChildren()
expect(#children).to.equal(4)
local tbl_3 = {}
for _, v in pairs(children) do
expect(v.ClassName).to.equal("StringValue")
tbl_3[v.Value] = 1 + (tbl_3[v.Value] or 0)
end
expect(tbl_3.A).to.equal(1)
expect(tbl_3.B).to.equal(1)
expect(tbl_3.C).to.equal(1)
expect(tbl_3.D).to.equal(1)
var13_upvr.unmountVirtualNode(var13_upvr.mountVirtualNode(createElement_upvr(function(arg1) -- Line 725, Named "parent"
--[[ Upvalues[2]:
[1]: createElement_upvr (copied, readonly)
[2]: createFragment_upvr (copied, readonly)
]]
return createElement_upvr("IntValue", {}, {
fragmentA = createFragment_upvr({
key = createElement_upvr("StringValue", {
Value = 'A';
});
key2 = createElement_upvr("StringValue", {
Value = 'B';
});
});
fragmentB = createFragment_upvr({
key = createElement_upvr("StringValue", {
Value = 'C';
});
key2 = createElement_upvr("StringValue", {
Value = 'D';
});
});
})
end), Folder_20, "Test"))
expect(#Folder_20:GetChildren()).to.equal(0)
end)
it("should render nested fragments", function() -- Line 769
--[[ Upvalues[3]:
[1]: createFragment_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var13_upvr (copied, readonly)
]]
local Folder_9 = Instance.new("Folder")
expect(Folder_9:FindFirstChild("TheValue")).to.be.ok()
expect(Folder_9.TheValue.ClassName).to.equal("IntValue")
expect(Folder_9.TheValue.Value).to.equal(1)
expect(Folder_9:FindFirstChild("TheOtherValue")).to.be.ok()
expect(Folder_9.TheOtherValue.ClassName).to.equal("IntValue")
expect(Folder_9.TheOtherValue.Value).to.equal(2)
var13_upvr.unmountVirtualNode(var13_upvr.mountVirtualNode(createFragment_upvr({
key = createFragment_upvr({
TheValue = createElement_upvr("IntValue", {
Value = 1;
});
TheOtherValue = createElement_upvr("IntValue", {
Value = 2;
});
});
}), Folder_9, "Test"))
expect(#Folder_9:GetChildren()).to.equal(0)
end)
it("should not add any instances if the fragment is empty", function() -- Line 798
--[[ Upvalues[2]:
[1]: var13_upvr (copied, readonly)
[2]: createFragment_upvr (copied, readonly)
]]
local Folder_15 = Instance.new("Folder")
expect(#Folder_15:GetChildren()).to.equal(0)
var13_upvr.unmountVirtualNode(var13_upvr.mountVirtualNode(createFragment_upvr({}), Folder_15, "test"))
expect(#Folder_15:GetChildren()).to.equal(0)
end)
end)
describe("Context", function() -- Line 811
--[[ Upvalues[6]:
[1]: Component_upvr (readonly)
[2]: createElement_upvr (readonly)
[3]: var13_upvr (readonly)
[4]: assertDeepEqual_upvr (readonly)
[5]: Children_upvr (readonly)
[6]: Portal_upvr (readonly)
]]
it("should pass context values through Roblox host nodes", function() -- Line 812
--[[ Upvalues[4]:
[1]: Component_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var13_upvr (copied, readonly)
[4]: assertDeepEqual_upvr (copied, readonly)
]]
local any_extend_result1 = Component_upvr:extend("Consumer")
local var205_upvw
local function init(arg1) -- Line 816
--[[ Upvalues[1]:
[1]: var205_upvw (read and write)
]]
var205_upvw = {
hello = arg1:__getContext("hello");
}
end
any_extend_result1.init = init
local function render(arg1) -- Line 822
end
any_extend_result1.render = render
local tbl_2 = {
hello = "world";
}
expect(var205_upvw).never.to.equal(tbl_2)
assertDeepEqual_upvr(var205_upvw, tbl_2)
var13_upvr.unmountVirtualNode(var13_upvr.mountVirtualNode(createElement_upvr("Folder", nil, {
Consumer = createElement_upvr(any_extend_result1);
}), nil, "Context Test", tbl_2))
end)
it("should pass context values through portal nodes", function() -- Line 840
--[[ Upvalues[6]:
[1]: Component_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: Children_upvr (copied, readonly)
[4]: Portal_upvr (copied, readonly)
[5]: var13_upvr (copied, readonly)
[6]: assertDeepEqual_upvr (copied, readonly)
]]
local any_extend_result1_16 = Component_upvr:extend("Provider")
local function init(arg1) -- Line 845
arg1:__addContext("foo", "bar")
end
any_extend_result1_16.init = init
local function render(arg1) -- Line 849
--[[ Upvalues[2]:
[1]: createElement_upvr (copied, readonly)
[2]: Children_upvr (copied, readonly)
]]
return createElement_upvr("Folder", nil, arg1.props[Children_upvr])
end
any_extend_result1_16.render = render
local any_extend_result1_2 = Component_upvr:extend("Consumer")
local var212_upvw
local function init(arg1) -- Line 856
--[[ Upvalues[1]:
[1]: var212_upvw (read and write)
]]
var212_upvw = {
foo = arg1:__getContext("foo");
}
end
any_extend_result1_2.init = init
local function render(arg1) -- Line 862
return nil
end
any_extend_result1_2.render = render
var13_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_16, nil, {
Portal = createElement_upvr(Portal_upvr, {
target = Instance.new("Folder");
}, {
Consumer = createElement_upvr(any_extend_result1_2);
});
}), nil, "Some Key")
assertDeepEqual_upvr(var212_upvw, {
foo = "bar";
})
end)
end)
describe("Legacy context", function() -- Line 883
--[[ Upvalues[6]:
[1]: Component_upvr (readonly)
[2]: createElement_upvr (readonly)
[3]: var13_upvr (readonly)
[4]: assertDeepEqual_upvr (readonly)
[5]: Children_upvr (readonly)
[6]: Portal_upvr (readonly)
]]
it("should pass context values through Roblox host nodes", function() -- Line 884
--[[ Upvalues[4]:
[1]: Component_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var13_upvr (copied, readonly)
[4]: assertDeepEqual_upvr (copied, readonly)
]]
local any_extend_result1_4 = Component_upvr:extend("Consumer")
local var221_upvw
local function init(arg1) -- Line 888
--[[ Upvalues[1]:
[1]: var221_upvw (read and write)
]]
var221_upvw = arg1._context
end
any_extend_result1_4.init = init
local function render(arg1) -- Line 892
end
any_extend_result1_4.render = render
local tbl = {
hello = "world";
}
expect(var221_upvw).never.to.equal(tbl)
assertDeepEqual_upvr(var221_upvw, tbl)
var13_upvr.unmountVirtualNode(var13_upvr.mountVirtualNode(createElement_upvr("Folder", nil, {
Consumer = createElement_upvr(any_extend_result1_4);
}), nil, "Context Test", nil, tbl))
end)
it("should pass context values through portal nodes", function() -- Line 910
--[[ Upvalues[6]:
[1]: Component_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: Children_upvr (copied, readonly)
[4]: Portal_upvr (copied, readonly)
[5]: var13_upvr (copied, readonly)
[6]: assertDeepEqual_upvr (copied, readonly)
]]
local any_extend_result1_18 = Component_upvr:extend("Provider")
local function init(arg1) -- Line 915
arg1._context.foo = "bar"
end
any_extend_result1_18.init = init
local function render(arg1) -- Line 919
--[[ Upvalues[2]:
[1]: createElement_upvr (copied, readonly)
[2]: Children_upvr (copied, readonly)
]]
return createElement_upvr("Folder", nil, arg1.props[Children_upvr])
end
any_extend_result1_18.render = render
local any_extend_result1_11 = Component_upvr:extend("Consumer")
local var227_upvw
local function init(arg1) -- Line 926
--[[ Upvalues[1]:
[1]: var227_upvw (read and write)
]]
var227_upvw = arg1._context
end
any_extend_result1_11.init = init
local function render(arg1) -- Line 930
return nil
end
any_extend_result1_11.render = render
var13_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_18, nil, {
Portal = createElement_upvr(Portal_upvr, {
target = Instance.new("Folder");
}, {
Consumer = createElement_upvr(any_extend_result1_11);
});
}), nil, "Some Key")
assertDeepEqual_upvr(var227_upvw, {
foo = "bar";
})
end)
end)
local ReplicatedStorage_upvr = game:GetService("ReplicatedStorage")
local Event_upvr = require(script.Parent.PropMarkers.Event)
describe("Integration Tests", function() -- Line 951
--[[ Upvalues[5]:
[1]: ReplicatedStorage_upvr (readonly)
[2]: Component_upvr (readonly)
[3]: createElement_upvr (readonly)
[4]: Event_upvr (readonly)
[5]: var13_upvr (readonly)
]]
local var235_upvw
beforeEach(function() -- Line 953
--[[ Upvalues[2]:
[1]: var235_upvw (read and write)
[2]: ReplicatedStorage_upvr (copied, readonly)
]]
var235_upvw = Instance.new("Folder")
var235_upvw.Parent = ReplicatedStorage_upvr
end)
afterEach(function() -- Line 958
--[[ Upvalues[1]:
[1]: var235_upvw (read and write)
]]
var235_upvw:Destroy()
var235_upvw = nil
end)
it("should not allow re-entrancy in updateChildren", function() -- Line 963
--[[ Upvalues[5]:
[1]: Component_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: Event_upvr (copied, readonly)
[4]: var235_upvw (read and write)
[5]: var13_upvr (copied, readonly)
]]
local any_extend_result1_15_upvr = Component_upvr:extend("ChildComponent")
local function init(arg1) -- Line 966
arg1:setState({
firstTime = true;
})
end
any_extend_result1_15_upvr.init = init
local var241_upvw
local function render(arg1) -- Line 974
--[[ Upvalues[1]:
[1]: createElement_upvr (copied, readonly)
]]
if arg1.state.firstTime then
return createElement_upvr("Frame")
end
return createElement_upvr("TextLabel")
end
any_extend_result1_15_upvr.render = render
local function didMount(arg1) -- Line 982
--[[ Upvalues[1]:
[1]: var241_upvw (read and write)
]]
var241_upvw = coroutine.create(function() -- Line 983
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:setState({
firstTime = false;
})
end)
end
any_extend_result1_15_upvr.didMount = didMount
local any_extend_result1_12 = Component_upvr:extend("ParentComponent")
local function init(arg1) -- Line 992
arg1:setState({
count = 1;
})
function arg1.childAdded() -- Line 997
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:setState({
count = arg1.state.count + 1;
})
end
end
any_extend_result1_12.init = init
local function render(arg1) -- Line 1004
--[[ Upvalues[3]:
[1]: createElement_upvr (copied, readonly)
[2]: Event_upvr (copied, readonly)
[3]: any_extend_result1_15_upvr (readonly)
]]
return createElement_upvr("Frame", {
[Event_upvr.ChildAdded] = arg1.childAdded;
}, {
ChildComponent = createElement_upvr(any_extend_result1_15_upvr, {
count = arg1.state.count;
});
})
end
any_extend_result1_12.render = render
local ScreenGui_4 = Instance.new("ScreenGui")
ScreenGui_4.Parent = var235_upvw
coroutine.resume(var241_upvw)
expect(#ScreenGui_4:GetChildren()).to.equal(1)
expect(#ScreenGui_4:GetChildren()[1]:GetChildren()).to.equal(1)
var13_upvr.unmountVirtualNode(var13_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_12), ScreenGui_4, "Some Key"))
end)
it("should not allow re-entrancy in updateChildren even with callbacks", function() -- Line 1033
--[[ Upvalues[4]:
[1]: Component_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var235_upvw (read and write)
[4]: var13_upvr (copied, readonly)
]]
local any_extend_result1_6_upvr = Component_upvr:extend("LowestComponent")
local function render(arg1) -- Line 1036
--[[ Upvalues[1]:
[1]: createElement_upvr (copied, readonly)
]]
return createElement_upvr("Frame")
end
any_extend_result1_6_upvr.render = render
local function didMount(arg1) -- Line 1040
arg1.props.onDidMountCallback()
end
any_extend_result1_6_upvr.didMount = didMount
local any_extend_result1_14_upvr = Component_upvr:extend("ChildComponent")
local function init(arg1) -- Line 1046
arg1:setState({
firstTime = true;
})
end
any_extend_result1_14_upvr.init = init
local var256_upvw
local function render(arg1) -- Line 1054
--[[ Upvalues[2]:
[1]: createElement_upvr (copied, readonly)
[2]: any_extend_result1_6_upvr (readonly)
]]
if arg1.state.firstTime then
return createElement_upvr("Frame")
end
return createElement_upvr(any_extend_result1_6_upvr, {
onDidMountCallback = arg1.props.onDidMountCallback;
})
end
any_extend_result1_14_upvr.render = render
local function didMount(arg1) -- Line 1064
--[[ Upvalues[1]:
[1]: var256_upvw (read and write)
]]
var256_upvw = coroutine.create(function() -- Line 1065
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:setState({
firstTime = false;
})
end)
end
any_extend_result1_14_upvr.didMount = didMount
local any_extend_result1_13 = Component_upvr:extend("ParentComponent")
local var261_upvw = 0
local function init(arg1) -- Line 1076
--[[ Upvalues[1]:
[1]: var261_upvw (read and write)
]]
arg1:setState({
count = 1;
})
function arg1.onDidMountCallback() -- Line 1081
--[[ Upvalues[2]:
[1]: var261_upvw (copied, read and write)
[2]: arg1 (readonly)
]]
var261_upvw += 1
if arg1.state.count < 5 then
arg1:setState({
count = arg1.state.count + 1;
})
end
end
end
any_extend_result1_13.init = init
local function render(arg1) -- Line 1091
--[[ Upvalues[2]:
[1]: createElement_upvr (copied, readonly)
[2]: any_extend_result1_14_upvr (readonly)
]]
return createElement_upvr("Frame", {}, {
ChildComponent = createElement_upvr(any_extend_result1_14_upvr, {
count = arg1.state.count;
onDidMountCallback = arg1.onDidMountCallback;
});
})
end
any_extend_result1_13.render = render
local ScreenGui_3 = Instance.new("ScreenGui")
ScreenGui_3.Parent = var235_upvw
coroutine.resume(var256_upvw)
expect(#ScreenGui_3:GetChildren()).to.equal(1)
local len = #ScreenGui_3:GetChildren()[1]:GetChildren()
expect(len).to.equal(1)
if var261_upvw > 2 then
len = false
else
len = true
end
expect(len).to.equal(true)
var13_upvr.unmountVirtualNode(var13_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_13), ScreenGui_3, "Some Key"))
end)
it("should never call unmount twice in the case of update children re-rentrancy", function() -- Line 1123
--[[ Upvalues[4]:
[1]: Component_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var235_upvw (read and write)
[4]: var13_upvr (copied, readonly)
]]
local tbl_upvr = {}
local function _(arg1) -- Line 1126, Named "addUnmount"
--[[ Upvalues[1]:
[1]: tbl_upvr (readonly)
]]
tbl_upvr[arg1] += 1
end
local function _(arg1) -- Line 1130, Named "addInit"
--[[ Upvalues[1]:
[1]: tbl_upvr (readonly)
]]
tbl_upvr[arg1] = 0
end
local any_extend_result1_17_upvr = Component_upvr:extend("LowestComponent")
local function init(arg1) -- Line 1135
--[[ Upvalues[1]:
[1]: tbl_upvr (readonly)
]]
tbl_upvr[tostring(arg1)] = 0
end
any_extend_result1_17_upvr.init = init
local function render(arg1) -- Line 1139
--[[ Upvalues[1]:
[1]: createElement_upvr (copied, readonly)
]]
return createElement_upvr("Frame")
end
any_extend_result1_17_upvr.render = render
local function didMount(arg1) -- Line 1143
arg1.props.onDidMountCallback()
end
any_extend_result1_17_upvr.didMount = didMount
local function willUnmount(arg1) -- Line 1147
--[[ Upvalues[1]:
[1]: tbl_upvr (readonly)
]]
local tostring_result1_3 = tostring(arg1)
tbl_upvr[tostring_result1_3] += 1
end
any_extend_result1_17_upvr.willUnmount = willUnmount
local any_extend_result1_10_upvr = Component_upvr:extend("FirstComponent")
local function init(arg1) -- Line 1152
--[[ Upvalues[1]:
[1]: tbl_upvr (readonly)
]]
tbl_upvr[tostring(arg1)] = 0
end
any_extend_result1_10_upvr.init = init
local function render(arg1) -- Line 1156
--[[ Upvalues[1]:
[1]: createElement_upvr (copied, readonly)
]]
return createElement_upvr("TextLabel")
end
any_extend_result1_10_upvr.render = render
local function willUnmount(arg1) -- Line 1160
--[[ Upvalues[1]:
[1]: tbl_upvr (readonly)
]]
local tostring_result1 = tostring(arg1)
tbl_upvr[tostring_result1] += 1
end
any_extend_result1_10_upvr.willUnmount = willUnmount
local any_extend_result1_3_upvr = Component_upvr:extend("ChildComponent")
local function init(arg1) -- Line 1166
--[[ Upvalues[1]:
[1]: tbl_upvr (readonly)
]]
tbl_upvr[tostring(arg1)] = 0
arg1:setState({
firstTime = true;
})
end
any_extend_result1_3_upvr.init = init
local var281_upvw
local function render(arg1) -- Line 1176
--[[ Upvalues[3]:
[1]: createElement_upvr (copied, readonly)
[2]: any_extend_result1_10_upvr (readonly)
[3]: any_extend_result1_17_upvr (readonly)
]]
if arg1.state.firstTime then
return createElement_upvr(any_extend_result1_10_upvr)
end
return createElement_upvr(any_extend_result1_17_upvr, {
onDidMountCallback = arg1.props.onDidMountCallback;
})
end
any_extend_result1_3_upvr.render = render
local function didMount(arg1) -- Line 1186
--[[ Upvalues[1]:
[1]: var281_upvw (read and write)
]]
var281_upvw = coroutine.create(function() -- Line 1187
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:setState({
firstTime = false;
})
end)
end
any_extend_result1_3_upvr.didMount = didMount
function any_extend_result1_3_upvr.willUnmount(arg1) -- Line 1194
--[[ Upvalues[1]:
[1]: tbl_upvr (readonly)
]]
local tostring_result1_2 = tostring(arg1)
tbl_upvr[tostring_result1_2] += 1
end
local any_extend_result1_9 = Component_upvr:extend("ParentComponent")
local var287_upvw = 0
local function init(arg1) -- Line 1202
--[[ Upvalues[1]:
[1]: var287_upvw (read and write)
]]
arg1:setState({
count = 1;
})
function arg1.onDidMountCallback() -- Line 1207
--[[ Upvalues[2]:
[1]: var287_upvw (copied, read and write)
[2]: arg1 (readonly)
]]
var287_upvw += 1
if arg1.state.count < 5 then
arg1:setState({
count = arg1.state.count + 1;
})
end
end
end
any_extend_result1_9.init = init
local function render(arg1) -- Line 1217
--[[ Upvalues[2]:
[1]: createElement_upvr (copied, readonly)
[2]: any_extend_result1_3_upvr (readonly)
]]
return createElement_upvr("Frame", {}, {
ChildComponent = createElement_upvr(any_extend_result1_3_upvr, {
count = arg1.state.count;
onDidMountCallback = arg1.onDidMountCallback;
});
})
end
any_extend_result1_9.render = render
local ScreenGui_2 = Instance.new("ScreenGui")
ScreenGui_2.Parent = var235_upvw
coroutine.resume(var281_upvw)
expect(#ScreenGui_2:GetChildren()).to.equal(1)
local len_2 = #ScreenGui_2:GetChildren()[1]:GetChildren()
expect(len_2).to.equal(1)
if var287_upvw > 2 then
len_2 = false
else
len_2 = true
end
expect(len_2).to.equal(true)
var13_upvr.unmountVirtualNode(var13_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_9), ScreenGui_2, "Some Key"))
for _, v_2 in pairs(tbl_upvr) do
expect(v_2).to.equal(1)
end
end)
it("should never unmount a node unnecesarily in the case of re-rentry", function() -- Line 1253
--[[ Upvalues[4]:
[1]: Component_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var235_upvw (read and write)
[4]: var13_upvr (copied, readonly)
]]
local any_extend_result1_8_upvr = Component_upvr:extend("LowestComponent")
local function render(arg1) -- Line 1255
--[[ Upvalues[1]:
[1]: createElement_upvr (copied, readonly)
]]
return createElement_upvr("Frame")
end
any_extend_result1_8_upvr.render = render
function any_extend_result1_8_upvr.didUpdate(arg1, arg2, arg3) -- Line 1259
if arg2.firstTime and not arg1.props.firstTime then
arg1.props.onChangedCallback()
end
end
local any_extend_result1_7_upvr = Component_upvr:extend("ChildComponent")
local function init(arg1) -- Line 1267
arg1:setState({
firstTime = true;
})
end
any_extend_result1_7_upvr.init = init
local var302_upvw
local function render(arg1) -- Line 1275
--[[ Upvalues[2]:
[1]: createElement_upvr (copied, readonly)
[2]: any_extend_result1_8_upvr (readonly)
]]
return createElement_upvr(any_extend_result1_8_upvr, {
firstTime = arg1.state.firstTime;
onChangedCallback = arg1.props.onChangedCallback;
})
end
any_extend_result1_7_upvr.render = render
function any_extend_result1_7_upvr.didMount(arg1) -- Line 1282
--[[ Upvalues[1]:
[1]: var302_upvw (read and write)
]]
var302_upvw = coroutine.create(function() -- Line 1283
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:setState({
firstTime = false;
})
end)
end
local any_extend_result1_5 = Component_upvr:extend("ParentComponent")
local var307_upvw = 0
function any_extend_result1_5.init(arg1) -- Line 1294
--[[ Upvalues[1]:
[1]: var307_upvw (read and write)
]]
arg1:setState({
count = 1;
})
function arg1.onChangedCallback() -- Line 1299
--[[ Upvalues[2]:
[1]: var307_upvw (copied, read and write)
[2]: arg1 (readonly)
]]
var307_upvw += 1
if arg1.state.count < 5 then
arg1:setState({
count = arg1.state.count + 1;
})
end
end
end
function any_extend_result1_5.render(arg1) -- Line 1309
--[[ Upvalues[2]:
[1]: createElement_upvr (copied, readonly)
[2]: any_extend_result1_7_upvr (readonly)
]]
return createElement_upvr("Frame", {}, {
ChildComponent = createElement_upvr(any_extend_result1_7_upvr, {
count = arg1.state.count;
onChangedCallback = arg1.onChangedCallback;
});
})
end
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Parent = var235_upvw
coroutine.resume(var302_upvw)
expect(#ScreenGui:GetChildren()).to.equal(1)
expect(#ScreenGui:GetChildren()[1]:GetChildren()).to.equal(1)
expect(var307_upvw).to.equal(1)
var13_upvr.unmountVirtualNode(var13_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_5), ScreenGui, "Some Key"))
end)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:04:26
-- Luau version 6, Types version 3
-- Time taken: 0.004721 seconds
local tbl_upvr = {
Disabled = "Disabled";
Suspended = "Suspended";
Enabled = "Enabled";
}
local module_upvr = {}
module_upvr.__index = module_upvr
function module_upvr.new(arg1) -- Line 23
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: module_upvr (readonly)
]]
local module = {
_suspendedEventQueue = {};
_connections = {};
_listeners = {};
_status = tbl_upvr.Disabled;
_isResuming = false;
}
module._instance = arg1
return setmetatable(module, module_upvr)
end
function module_upvr.connectEvent(arg1, arg2, arg3) -- Line 51
arg1:_connect(arg2, arg1._instance[arg2], arg3)
end
function module_upvr.connectPropertyChange(arg1, arg2, arg3) -- Line 55
local pcall_result1, pcall_result2 = pcall(function() -- Line 56
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
return arg1._instance:GetPropertyChangedSignal(arg2)
end)
if not pcall_result1 then
error("Cannot get changed signal on property %q: %s":format(tostring(arg2), pcall_result2), 0)
end
arg1:_connect("Change."..arg2, pcall_result2, arg3)
end
function module_upvr._connect(arg1, arg2, arg3, arg4) -- Line 67
--[[ Upvalues[1]:
[1]: tbl_upvr (readonly)
]]
if arg4 == nil then
if arg1._connections[arg2] ~= nil then
arg1._connections[arg2]:Disconnect()
arg1._connections[arg2] = nil
end
arg1._listeners[arg2] = nil
else
if arg1._connections[arg2] == nil then
arg1._connections[arg2] = arg3:Connect(function(...) -- Line 78
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: tbl_upvr (copied, readonly)
[3]: arg2 (readonly)
]]
if arg1._status == tbl_upvr.Enabled then
arg1._listeners[arg2](arg1._instance, ...)
elseif arg1._status == tbl_upvr.Suspended then
local tbl = {}
tbl[1] = arg2
tbl[2] = select('#', ...)
tbl[3] = ...
table.insert(arg1._suspendedEventQueue, tbl)
end
end)
end
arg1._listeners[arg2] = arg4
end
end
function module_upvr.suspend(arg1) -- Line 95
--[[ Upvalues[1]:
[1]: tbl_upvr (readonly)
]]
arg1._status = tbl_upvr.Suspended
end
local Logging_upvr = require(script.Parent.Logging)
function module_upvr.resume(arg1) -- Line 99
--[[ Upvalues[2]:
[1]: Logging_upvr (readonly)
[2]: tbl_upvr (readonly)
]]
if arg1._isResuming then
else
arg1._isResuming = true
local const_number = 1
while const_number <= #arg1._suspendedEventQueue do
local var16 = arg1._suspendedEventQueue[const_number]
local var17 = arg1._listeners[var16[1]]
if var17 ~= nil then
local coroutine_resume_result1_2, coroutine_resume_result2 = coroutine.resume(coroutine.create(var17), arg1._instance, unpack(var16, 3, 2 + var16[2]))
if not coroutine_resume_result1_2 then
Logging_upvr.warn("%s", coroutine_resume_result2)
end
end
end
arg1._isResuming = false
arg1._status = tbl_upvr.Enabled
arg1._suspendedEventQueue = {}
end
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:04:28
-- Luau version 6, Types version 3
-- Time taken: 0.009415 seconds
return function() -- Line 1
local createSpy_upvr = require(script.Parent.createSpy)
local SingleEventManager_upvr = require(script.Parent.SingleEventManager)
describe("new", function() -- Line 8
--[[ Upvalues[1]:
[1]: SingleEventManager_upvr (readonly)
]]
it("should create a SingleEventManager", function() -- Line 9
--[[ Upvalues[1]:
[1]: SingleEventManager_upvr (copied, readonly)
]]
expect(SingleEventManager_upvr.new()).to.be.ok()
end)
end)
local assertDeepEqual_upvr = require(script.Parent.assertDeepEqual)
local Logging_upvr = require(script.Parent.Logging)
describe("connectEvent", function() -- Line 16
--[[ Upvalues[4]:
[1]: SingleEventManager_upvr (readonly)
[2]: createSpy_upvr (readonly)
[3]: assertDeepEqual_upvr (readonly)
[4]: Logging_upvr (readonly)
]]
it("should connect to events", function() -- Line 17
--[[ Upvalues[2]:
[1]: SingleEventManager_upvr (copied, readonly)
[2]: createSpy_upvr (copied, readonly)
]]
local BindableEvent_3 = Instance.new("BindableEvent")
local any_new_result1 = SingleEventManager_upvr.new(BindableEvent_3)
local var2_result1_4 = createSpy_upvr()
any_new_result1:connectEvent("Event", var2_result1_4.value)
any_new_result1:resume()
BindableEvent_3:Fire("foo")
expect(var2_result1_4.callCount).to.equal(1)
var2_result1_4:assertCalledWith(BindableEvent_3, "foo")
BindableEvent_3:Fire("bar")
expect(var2_result1_4.callCount).to.equal(2)
var2_result1_4:assertCalledWith(BindableEvent_3, "bar")
any_new_result1:connectEvent("Event", nil)
BindableEvent_3:Fire("baz")
expect(var2_result1_4.callCount).to.equal(2)
end)
it("should drop events until resumed initially", function() -- Line 39
--[[ Upvalues[2]:
[1]: SingleEventManager_upvr (copied, readonly)
[2]: createSpy_upvr (copied, readonly)
]]
local BindableEvent_5 = Instance.new("BindableEvent")
local any_new_result1_6 = SingleEventManager_upvr.new(BindableEvent_5)
local var2_result1_2 = createSpy_upvr()
any_new_result1_6:connectEvent("Event", var2_result1_2.value)
BindableEvent_5:Fire("foo")
expect(var2_result1_2.callCount).to.equal(0)
any_new_result1_6:resume()
BindableEvent_5:Fire("bar")
expect(var2_result1_2.callCount).to.equal(1)
var2_result1_2:assertCalledWith(BindableEvent_5, "bar")
end)
it("should invoke suspended events when resumed", function() -- Line 56
--[[ Upvalues[2]:
[1]: SingleEventManager_upvr (copied, readonly)
[2]: createSpy_upvr (copied, readonly)
]]
local BindableEvent_4 = Instance.new("BindableEvent")
local any_new_result1_8 = SingleEventManager_upvr.new(BindableEvent_4)
local createSpy_upvr_result1 = createSpy_upvr()
any_new_result1_8:connectEvent("Event", createSpy_upvr_result1.value)
any_new_result1_8:resume()
BindableEvent_4:Fire("foo")
expect(createSpy_upvr_result1.callCount).to.equal(1)
createSpy_upvr_result1:assertCalledWith(BindableEvent_4, "foo")
any_new_result1_8:suspend()
BindableEvent_4:Fire("bar")
expect(createSpy_upvr_result1.callCount).to.equal(1)
any_new_result1_8:resume()
expect(createSpy_upvr_result1.callCount).to.equal(2)
createSpy_upvr_result1:assertCalledWith(BindableEvent_4, "bar")
end)
it("should invoke events triggered during resumption in the correct order", function() -- Line 78
--[[ Upvalues[3]:
[1]: SingleEventManager_upvr (copied, readonly)
[2]: createSpy_upvr (copied, readonly)
[3]: assertDeepEqual_upvr (copied, readonly)
]]
local BindableEvent_6_upvr = Instance.new("BindableEvent")
local any_new_result1_7 = SingleEventManager_upvr.new(BindableEvent_6_upvr)
local tbl_upvr = {}
local createSpy_upvr_result1_2 = createSpy_upvr(function(arg1, arg2) -- Line 83
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: BindableEvent_6_upvr (readonly)
]]
table.insert(tbl_upvr, arg2)
if arg2 == 2 then
BindableEvent_6_upvr:Fire(3)
elseif arg2 == 3 then
BindableEvent_6_upvr:Fire(4)
end
end)
any_new_result1_7:connectEvent("Event", createSpy_upvr_result1_2.value)
any_new_result1_7:suspend()
BindableEvent_6_upvr:Fire(1)
BindableEvent_6_upvr:Fire(2)
any_new_result1_7:resume()
expect(createSpy_upvr_result1_2.callCount).to.equal(4)
assertDeepEqual_upvr(tbl_upvr, {1, 2, 3, 4})
end)
it("should not invoke events fired during suspension but disconnected before resumption", function() -- Line 104
--[[ Upvalues[2]:
[1]: SingleEventManager_upvr (copied, readonly)
[2]: createSpy_upvr (copied, readonly)
]]
local BindableEvent = Instance.new("BindableEvent")
local any_new_result1_9 = SingleEventManager_upvr.new(BindableEvent)
local var2_result1_5 = createSpy_upvr()
any_new_result1_9:connectEvent("Event", var2_result1_5.value)
any_new_result1_9:suspend()
BindableEvent:Fire(1)
any_new_result1_9:connectEvent("Event", nil)
any_new_result1_9:resume()
expect(var2_result1_5.callCount).to.equal(0)
end)
it("should not yield events through the SingleEventManager when resuming", function() -- Line 120
--[[ Upvalues[1]:
[1]: SingleEventManager_upvr (copied, readonly)
]]
local BindableEvent_2_upvr = Instance.new("BindableEvent")
local any_new_result1_4_upvr = SingleEventManager_upvr.new(BindableEvent_2_upvr)
any_new_result1_4_upvr:connectEvent("Event", function() -- Line 124
coroutine.yield()
end)
any_new_result1_4_upvr:resume()
local coroutine_create_result1 = coroutine.create(function() -- Line 130
--[[ Upvalues[1]:
[1]: BindableEvent_2_upvr (readonly)
]]
BindableEvent_2_upvr:Fire(5)
end)
assert(coroutine.resume(coroutine_create_result1))
expect(coroutine.status(coroutine_create_result1)).to.equal("dead")
any_new_result1_4_upvr:suspend()
BindableEvent_2_upvr:Fire(5)
local coroutine_create_result1_2 = coroutine.create(function() -- Line 140
--[[ Upvalues[1]:
[1]: any_new_result1_4_upvr (readonly)
]]
any_new_result1_4_upvr:resume()
end)
assert(coroutine.resume(coroutine_create_result1_2))
expect(coroutine.status(coroutine_create_result1_2)).to.equal("dead")
end)
it("should not throw errors through SingleEventManager when resuming", function() -- Line 148
--[[ Upvalues[2]:
[1]: SingleEventManager_upvr (copied, readonly)
[2]: Logging_upvr (copied, readonly)
]]
local BindableEvent_7 = Instance.new("BindableEvent")
local any_new_result1_2_upvr = SingleEventManager_upvr.new(BindableEvent_7)
any_new_result1_2_upvr:connectEvent("Event", function() -- Line 154
error("Error from SingleEventManager test")
end)
any_new_result1_2_upvr:resume()
any_new_result1_2_upvr:suspend()
BindableEvent_7:Fire(5)
local any_capture_result1 = Logging_upvr.capture(function() -- Line 167
--[[ Upvalues[1]:
[1]: any_new_result1_2_upvr (readonly)
]]
any_new_result1_2_upvr:resume()
end)
expect(#any_capture_result1.errors).to.equal(0)
expect(#any_capture_result1.warnings).to.equal(1)
expect(#any_capture_result1.infos).to.equal(0)
expect(any_capture_result1.warnings[1]:find("Error from SingleEventManager test")).to.be.ok()
end)
it("should not overflow with events if manager:resume() is invoked when resuming a suspended event", function() -- Line 178
--[[ Upvalues[2]:
[1]: SingleEventManager_upvr (copied, readonly)
[2]: createSpy_upvr (copied, readonly)
]]
local BindableEvent_upvr = Instance.new("BindableEvent")
local any_new_result1_10_upvr = SingleEventManager_upvr.new(BindableEvent_upvr)
local var2_result1 = createSpy_upvr(function(arg1, arg2) -- Line 186
--[[ Upvalues[2]:
[1]: any_new_result1_10_upvr (readonly)
[2]: BindableEvent_upvr (readonly)
]]
if arg2 == 1 then
any_new_result1_10_upvr:suspend()
BindableEvent_upvr:Fire(2)
any_new_result1_10_upvr:resume()
end
end)
any_new_result1_10_upvr:connectEvent("Event", var2_result1.value)
any_new_result1_10_upvr:suspend()
BindableEvent_upvr:Fire(1)
any_new_result1_10_upvr:resume()
expect(var2_result1.callCount).to.equal(2)
end)
end)
describe("connectPropertyChange", function() -- Line 204
--[[ Upvalues[2]:
[1]: SingleEventManager_upvr (readonly)
[2]: createSpy_upvr (readonly)
]]
it("should connect to property changes", function() -- Line 208
--[[ Upvalues[2]:
[1]: SingleEventManager_upvr (copied, readonly)
[2]: createSpy_upvr (copied, readonly)
]]
local Folder = Instance.new("Folder")
local any_new_result1_5 = SingleEventManager_upvr.new(Folder)
local var2_result1_3 = createSpy_upvr()
any_new_result1_5:connectPropertyChange("Name", var2_result1_3.value)
any_new_result1_5:resume()
Folder.Name = "foo"
expect(var2_result1_3.callCount).to.equal(1)
var2_result1_3:assertCalledWith(Folder)
Folder.Name = "bar"
expect(var2_result1_3.callCount).to.equal(2)
var2_result1_3:assertCalledWith(Folder)
any_new_result1_5:connectPropertyChange("Name")
Folder.Name = "baz"
expect(var2_result1_3.callCount).to.equal(2)
end)
it("should throw an error if the property is invalid", function() -- Line 230
--[[ Upvalues[1]:
[1]: SingleEventManager_upvr (copied, readonly)
]]
local any_new_result1_3_upvr = SingleEventManager_upvr.new(Instance.new("Folder"))
expect(function() -- Line 234
--[[ Upvalues[1]:
[1]: any_new_result1_3_upvr (readonly)
]]
any_new_result1_3_upvr:connectPropertyChange("foo", function() -- Line 235
end)
end).to.throw()
end)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:04:30
-- Luau version 6, Types version 3
-- Time taken: 0.001462 seconds
return {
named = function(arg1) -- Line 17, Named "named"
local var2_upvr
if type(arg1) ~= "string" then
var2_upvr = false
else
var2_upvr = true
end
assert(var2_upvr, "Symbols must be created using a string name!")
var2_upvr = true
local newproxy_result1 = newproxy(var2_upvr)
var2_upvr = "Symbol(%s)":format(arg1)
getmetatable(newproxy_result1).__tostring = function() -- Line 24
--[[ Upvalues[1]:
[1]: var2_upvr (readonly)
]]
return var2_upvr
end
return newproxy_result1
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:04:32
-- Luau version 6, Types version 3
-- Time taken: 0.002207 seconds
return function() -- Line 1
local Symbol_upvr = require(script.Parent.Symbol)
describe("named", function() -- Line 4
--[[ Upvalues[1]:
[1]: Symbol_upvr (readonly)
]]
it("should give an opaque object", function() -- Line 5
--[[ Upvalues[1]:
[1]: Symbol_upvr (copied, readonly)
]]
expect(Symbol_upvr.named("foo")).to.be.a("userdata")
end)
it("should coerce to the given name", function() -- Line 11
--[[ Upvalues[1]:
[1]: Symbol_upvr (copied, readonly)
]]
expect(tostring(Symbol_upvr.named("foo")):find("foo")).to.be.ok()
end)
it("should be unique when constructed", function() -- Line 18
--[[ Upvalues[1]:
[1]: Symbol_upvr (copied, readonly)
]]
expect(Symbol_upvr.named("abc")).never.to.equal(Symbol_upvr.named("abc"))
end)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:04:33
-- Luau version 6, Types version 3
-- Time taken: 0.001690 seconds
local Symbol_upvr = require(script.Parent.Symbol)
local newproxy_result1_upvr = newproxy(true)
local tbl_upvr = {}
local function _(arg1) -- Line 19, Named "addType"
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: Symbol_upvr (readonly)
]]
tbl_upvr[arg1] = Symbol_upvr.named("Roact"..arg1)
end
tbl_upvr.Binding = Symbol_upvr.named("RoactBinding")
tbl_upvr.Element = Symbol_upvr.named("RoactElement")
tbl_upvr.HostChangeEvent = Symbol_upvr.named("RoactHostChangeEvent")
tbl_upvr.HostEvent = Symbol_upvr.named("RoactHostEvent")
tbl_upvr.StatefulComponentClass = Symbol_upvr.named("RoactStatefulComponentClass")
tbl_upvr.StatefulComponentInstance = Symbol_upvr.named("RoactStatefulComponentInstance")
tbl_upvr.VirtualNode = Symbol_upvr.named("RoactVirtualNode")
tbl_upvr.VirtualTree = Symbol_upvr.named("RoactVirtualTree")
function tbl_upvr.of(arg1) -- Line 32
--[[ Upvalues[1]:
[1]: newproxy_result1_upvr (readonly)
]]
if typeof(arg1) ~= "table" then
return nil
end
return arg1[newproxy_result1_upvr]
end
getmetatable(newproxy_result1_upvr).__index = tbl_upvr
getmetatable(newproxy_result1_upvr).__tostring = function() -- Line 42
return "RoactType"
end
require(script.Parent.strict)(tbl_upvr, "Type")
return newproxy_result1_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:04:35
-- Luau version 6, Types version 3
-- Time taken: 0.002231 seconds
return function() -- Line 1
local Type_upvr = require(script.Parent.Type)
describe("of", function() -- Line 4
--[[ Upvalues[1]:
[1]: Type_upvr (readonly)
]]
it("should return nil if the value is not a table", function() -- Line 5
--[[ Upvalues[1]:
[1]: Type_upvr (copied, readonly)
]]
expect(Type_upvr.of(1)).to.equal(nil)
expect(Type_upvr.of(true)).to.equal(nil)
expect(Type_upvr.of("test")).to.equal(nil)
expect(Type_upvr.of(print)).to.equal(nil)
end)
it("should return nil if the table has no type", function() -- Line 12
--[[ Upvalues[1]:
[1]: Type_upvr (copied, readonly)
]]
expect(Type_upvr.of({})).to.equal(nil)
end)
it("should return the assigned type", function() -- Line 16
--[[ Upvalues[1]:
[1]: Type_upvr (copied, readonly)
]]
expect(Type_upvr.of({
[Type_upvr] = Type_upvr.Element;
})).to.equal(Type_upvr.Element)
end)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:04:37
-- Luau version 6, Types version 3
-- Time taken: 0.003781 seconds
local function deepEqual_upvr(arg1, arg2) -- Line 10, Named "deepEqual"
--[[ Upvalues[1]:
[1]: deepEqual_upvr (readonly)
]]
if typeof(arg1) ~= typeof(arg2) then
return false, "{1} is of type %s, but {2} is of type %s":format(typeof(arg1), typeof(arg2))
end
if typeof(arg1) == "table" then
local tbl_2 = {}
for i, v in pairs(arg1) do
tbl_2[i] = true
local deepEqual_upvr_result1, deepEqual_upvr_result2_2 = deepEqual_upvr(v, arg2[i])
if not deepEqual_upvr_result1 and deepEqual_upvr_result2_2 then
return false, deepEqual_upvr_result2_2:gsub("{1}", "{1}[%s]":format(tostring(i))):gsub("{2}", "{2}[%s]":format(tostring(i)))
end
end
for i_2, v_2 in pairs(arg2) do
if not tbl_2[i_2] then
local deepEqual_result1, deepEqual_upvr_result2_3 = deepEqual_upvr(v_2, arg1[i_2])
if not deepEqual_result1 and deepEqual_upvr_result2_3 then
return false, deepEqual_upvr_result2_3:gsub("{1}", "{1}[%s]":format(tostring(i_2))):gsub("{2}", "{2}[%s]":format(tostring(i_2)))
end
end
end
return true, nil
end
if arg1 == arg2 then
return true, nil
end
return false, "{1} ~= {2}"
end
return function(arg1, arg2) -- Line 57, Named "assertDeepEqual"
--[[ Upvalues[1]:
[1]: deepEqual_upvr (readonly)
]]
local deepEqual_upvr_result1_2, deepEqual_upvr_result2_4 = deepEqual_upvr(arg1, arg2)
if not deepEqual_upvr_result1_2 and deepEqual_upvr_result2_4 then
error("Values were not deep-equal.\n%s":format(deepEqual_upvr_result2_4:gsub("{1}", "first"):gsub("{2}", "second")), 2)
end
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:04:40
-- Luau version 6, Types version 3
-- Time taken: 0.003839 seconds
return function() -- Line 1
local assertDeepEqual_upvr = require(script.Parent.assertDeepEqual)
it("should fail with a message when args are not equal", function() -- Line 4
--[[ Upvalues[1]:
[1]: assertDeepEqual_upvr (readonly)
]]
local pcall_result1_2, pcall_result2 = pcall(assertDeepEqual_upvr, 1, 2)
expect(pcall_result1_2).to.equal(false)
expect(pcall_result2:find("first ~= second")).to.be.ok()
local pcall_result1_4, pcall_result2_4 = pcall(assertDeepEqual_upvr, {
foo = 1;
}, {
foo = 2;
})
expect(pcall_result1_4).to.equal(false)
expect(pcall_result2_4:find("first%[foo%] ~= second%[foo%]")).to.be.ok()
end)
it("should compare non-table values using standard '==' equality", function() -- Line 20
--[[ Upvalues[1]:
[1]: assertDeepEqual_upvr (readonly)
]]
assertDeepEqual_upvr(1, 1)
assertDeepEqual_upvr("hello", "hello")
assertDeepEqual_upvr(nil, nil)
local function var11() -- Line 25
end
assertDeepEqual_upvr(var11, var11)
assertDeepEqual_upvr({
foo = var11;
}, {
foo = var11;
})
end)
it("should fail when types differ", function() -- Line 40
--[[ Upvalues[1]:
[1]: assertDeepEqual_upvr (readonly)
]]
local pcall_result1, pcall_result2_3 = pcall(assertDeepEqual_upvr, 1, '1')
expect(pcall_result1).to.equal(false)
expect(pcall_result2_3:find("first is of type number, but second is of type string")).to.be.ok()
end)
it("should compare (and report about) nested tables", function() -- Line 47
--[[ Upvalues[1]:
[1]: assertDeepEqual_upvr (readonly)
]]
local tbl_3 = {
foo = "bar";
nested = {
foo = 1;
bar = 2;
};
}
assertDeepEqual_upvr(tbl_3, {
foo = "bar";
nested = {
foo = 1;
bar = 2;
};
})
local pcall_result1_3, pcall_result2_2 = pcall(assertDeepEqual_upvr, tbl_3, {
foo = "bar";
nested = {
foo = 1;
bar = 3;
};
})
expect(pcall_result1_3).to.equal(false)
expect(pcall_result2_2:find("first%[nested%]%[bar%] ~= second%[nested%]%[bar%]")).to.be.ok()
end)
it("should be commutative", function() -- Line 79
--[[ Upvalues[1]:
[1]: assertDeepEqual_upvr (readonly)
]]
local tbl_2_upvr = {
foo = "bar";
hello = "world";
}
local tbl = {
foo = "bar";
hello = "world";
}
assertDeepEqual_upvr(tbl_2_upvr, tbl)
assertDeepEqual_upvr(tbl, tbl_2_upvr)
local tbl_upvr = {
foo = "bar";
}
expect(function() -- Line 96
--[[ Upvalues[3]:
[1]: assertDeepEqual_upvr (copied, readonly)
[2]: tbl_2_upvr (readonly)
[3]: tbl_upvr (readonly)
]]
assertDeepEqual_upvr(tbl_2_upvr, tbl_upvr)
end).to.throw()
expect(function() -- Line 99
--[[ Upvalues[3]:
[1]: assertDeepEqual_upvr (copied, readonly)
[2]: tbl_upvr (readonly)
[3]: tbl_2_upvr (readonly)
]]
assertDeepEqual_upvr(tbl_upvr, tbl_2_upvr)
end).to.throw()
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:04:43
-- Luau version 6, Types version 3
-- Time taken: 0.001046 seconds
local None_upvr = require(script.Parent.None)
return function(arg1, ...) -- Line 9, Named "assign"
--[[ Upvalues[1]:
[1]: None_upvr (readonly)
]]
for i = 1, select('#', ...) do
local selected_arg = select(i, ...)
if selected_arg ~= nil then
for i_2, v in pairs(selected_arg) do
if v == None_upvr then
arg1[i_2] = nil
else
arg1[i_2] = v
end
end
end
end
return arg1
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:04:44
-- Luau version 6, Types version 3
-- Time taken: 0.003141 seconds
return function() -- Line 1
local None_upvr = require(script.Parent.None)
local assign_upvr = require(script.Parent.assign)
it("should accept zero additional tables", function() -- Line 6
--[[ Upvalues[1]:
[1]: assign_upvr (readonly)
]]
local tbl_5 = {}
expect(tbl_5).to.equal(assign_upvr(tbl_5))
end)
it("should merge multiple tables onto the given target table", function() -- Line 13
--[[ Upvalues[1]:
[1]: assign_upvr (readonly)
]]
local tbl_4 = {
a = 5;
b = 6;
}
local tbl_2 = {
b = 7;
c = 8;
}
local tbl_7 = {
b = 8;
}
assign_upvr(tbl_4, tbl_2, tbl_7)
expect(tbl_4.a).to.equal(5)
expect(tbl_4.b).to.equal(tbl_7.b)
expect(tbl_4.c).to.equal(tbl_2.c)
end)
it("should remove keys if specified as None", function() -- Line 35
--[[ Upvalues[2]:
[1]: None_upvr (readonly)
[2]: assign_upvr (readonly)
]]
local tbl = {
foo = 2;
bar = 3;
}
assign_upvr(tbl, {
foo = None_upvr;
})
expect(tbl.foo).to.equal(nil)
expect(tbl.bar).to.equal(3)
end)
it("should re-add keys if specified after None", function() -- Line 51
--[[ Upvalues[2]:
[1]: None_upvr (readonly)
[2]: assign_upvr (readonly)
]]
local tbl_6 = {
foo = 2;
}
local tbl_3 = {
foo = 3;
}
assign_upvr(tbl_6, {
foo = None_upvr;
}, tbl_3)
expect(tbl_6.foo).to.equal(tbl_3.foo)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:04:46
-- Luau version 6, Types version 3
-- Time taken: 0.004842 seconds
local createSignal_upvr = require(script.Parent.createSignal)
local Component_upvr = require(script.Parent.Component)
local function _(arg1) -- Line 10, Named "createContextEntry"
--[[ Upvalues[1]:
[1]: createSignal_upvr (readonly)
]]
local module_2 = {}
module_2.value = arg1
module_2.onUpdate = createSignal_upvr()
return module_2
end
local createFragment_upvr = require(script.Parent.createFragment)
local Children_upvr = require(script.Parent.PropMarkers.Children)
local function createProvider_upvr(arg1) -- Line 17, Named "createProvider"
--[[ Upvalues[4]:
[1]: Component_upvr (readonly)
[2]: createSignal_upvr (readonly)
[3]: createFragment_upvr (readonly)
[4]: Children_upvr (readonly)
]]
local any_extend_result1_2 = Component_upvr:extend("Provider")
local function init(arg1_2, arg2) -- Line 20
--[[ Upvalues[2]:
[1]: createSignal_upvr (copied, readonly)
[2]: arg1 (readonly)
]]
arg1_2.contextEntry = {
value = arg2.value;
onUpdate = createSignal_upvr();
}
arg1_2:__addContext(arg1.key, arg1_2.contextEntry)
end
any_extend_result1_2.init = init
function any_extend_result1_2.willUpdate(arg1_3, arg2) -- Line 25
if arg2.value ~= arg1_3.props.value then
arg1_3.contextEntry.value = arg2.value
end
end
local function didUpdate(arg1_4, arg2) -- Line 36
if arg2.value ~= arg1_4.props.value then
arg1_4.contextEntry.onUpdate:fire(arg1_4.props.value)
end
end
any_extend_result1_2.didUpdate = didUpdate
local function render(arg1_5) -- Line 51
--[[ Upvalues[2]:
[1]: createFragment_upvr (copied, readonly)
[2]: Children_upvr (copied, readonly)
]]
return createFragment_upvr(arg1_5.props[Children_upvr])
end
any_extend_result1_2.render = render
return any_extend_result1_2
end
local function createConsumer_upvr(arg1) -- Line 58, Named "createConsumer"
--[[ Upvalues[1]:
[1]: Component_upvr (readonly)
]]
local any_extend_result1 = Component_upvr:extend("Consumer")
function any_extend_result1.validateProps(arg1_6) -- Line 61
if type(arg1_6.render) ~= "function" then
return false, "Consumer expects a `render` function"
end
return true
end
function any_extend_result1.init(arg1_7, arg2) -- Line 69
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1_7.contextEntry = arg1_7:__getContext(arg1.key)
end
function any_extend_result1.render(arg1_8) -- Line 75
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
local var9
if arg1_8.contextEntry ~= nil then
var9 = arg1_8.contextEntry.value
else
var9 = arg1.defaultValue
end
return arg1_8.props.render(var9)
end
function any_extend_result1.didUpdate(arg1_9) -- Line 90
if arg1_9.contextEntry ~= nil then
arg1_9.lastValue = arg1_9.contextEntry.value
end
end
function any_extend_result1.didMount(arg1_10) -- Line 99
if arg1_10.contextEntry ~= nil then
arg1_10.disconnect = arg1_10.contextEntry.onUpdate:subscribe(function(arg1_11) -- Line 110
--[[ Upvalues[1]:
[1]: arg1_10 (readonly)
]]
if arg1_11 ~= arg1_10.lastValue then
arg1_10:setState({})
end
end)
end
end
function any_extend_result1.willUnmount(arg1_12) -- Line 119
if arg1_12.disconnect ~= nil then
arg1_12.disconnect()
arg1_12.disconnect = nil
end
end
return any_extend_result1
end
local tbl_upvr = {}
tbl_upvr.__index = tbl_upvr
local Symbol_upvr = require(script.Parent.Symbol)
function tbl_upvr.new(arg1) -- Line 132
--[[ Upvalues[2]:
[1]: Symbol_upvr (readonly)
[2]: tbl_upvr (readonly)
]]
local module = {}
module.defaultValue = arg1
module.key = Symbol_upvr.named("ContextKey")
return setmetatable(module, tbl_upvr)
end
function tbl_upvr.__tostring(arg1) -- Line 139
return "RoactContext"
end
return function(arg1) -- Line 143, Named "createContext"
--[[ Upvalues[3]:
[1]: tbl_upvr (readonly)
[2]: createProvider_upvr (readonly)
[3]: createConsumer_upvr (readonly)
]]
local any_new_result1 = tbl_upvr.new(arg1)
return {
Provider = createProvider_upvr(any_new_result1);
Consumer = createConsumer_upvr(any_new_result1);
}
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:04:50
-- Luau version 6, Types version 3
-- Time taken: 0.016565 seconds
return function() -- Line 1
local Component_upvr = require(script.Parent.Component)
local createContext_upvr = require(script.Parent.createContext)
local createElement_upvr = require(script.Parent.createElement)
local createReconciler = require(script.Parent.createReconciler)
local createSpy_upvr = require(script.Parent.createSpy)
local createReconciler_result1_upvr_2 = createReconciler(require(script.Parent.NoopRenderer))
it("should return a table", function() -- Line 18
--[[ Upvalues[1]:
[1]: createContext_upvr (readonly)
]]
local createContext_upvr_result1_3 = createContext_upvr("Test")
expect(createContext_upvr_result1_3).to.be.ok()
expect(type(createContext_upvr_result1_3)).to.equal("table")
end)
it("should contain a Provider and a Consumer", function() -- Line 24
--[[ Upvalues[1]:
[1]: createContext_upvr (readonly)
]]
local createContext_upvr_result1 = createContext_upvr("Test")
expect(createContext_upvr_result1.Provider).to.be.ok()
expect(createContext_upvr_result1.Consumer).to.be.ok()
end)
describe("Provider", function() -- Line 30
--[[ Upvalues[4]:
[1]: createContext_upvr (readonly)
[2]: createSpy_upvr (readonly)
[3]: createElement_upvr (readonly)
[4]: createReconciler_result1_upvr_2 (readonly)
]]
it("should render its children", function() -- Line 31
--[[ Upvalues[4]:
[1]: createContext_upvr (copied, readonly)
[2]: createSpy_upvr (copied, readonly)
[3]: createElement_upvr (copied, readonly)
[4]: createReconciler_result1_upvr_2 (copied, readonly)
]]
local var6_result1_2 = createSpy_upvr(function() -- Line 34
return nil
end)
createReconciler_result1_upvr_2.unmountVirtualTree(createReconciler_result1_upvr_2.mountVirtualTree(createElement_upvr(createContext_upvr("Test").Provider, {
value = "Test";
}, {
Listener = createElement_upvr(var6_result1_2.value);
}), nil, "Provide Tree"))
expect(var6_result1_2.callCount).to.equal(1)
end)
end)
local createFragment_upvr = require(script.Parent.createFragment)
local Children_upvr = require(script.Parent.PropMarkers.Children)
describe("Consumer", function() -- Line 51
--[[ Upvalues[7]:
[1]: createContext_upvr (readonly)
[2]: createElement_upvr (readonly)
[3]: createReconciler_result1_upvr_2 (readonly)
[4]: createSpy_upvr (readonly)
[5]: Component_upvr (readonly)
[6]: createFragment_upvr (readonly)
[7]: Children_upvr (readonly)
]]
it("should expect a render function", function() -- Line 52
--[[ Upvalues[3]:
[1]: createContext_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: createReconciler_result1_upvr_2 (copied, readonly)
]]
local createElement_upvr_result1_upvr = createElement_upvr(createContext_upvr("Test").Consumer)
expect(function() -- Line 56
--[[ Upvalues[2]:
[1]: createReconciler_result1_upvr_2 (copied, readonly)
[2]: createElement_upvr_result1_upvr (readonly)
]]
createReconciler_result1_upvr_2.mountVirtualTree(createElement_upvr_result1_upvr, nil, "Provide Tree")
end).to.throw()
end)
it("should return the default value if there is no Provider", function() -- Line 61
--[[ Upvalues[4]:
[1]: createSpy_upvr (copied, readonly)
[2]: createContext_upvr (copied, readonly)
[3]: createElement_upvr (copied, readonly)
[4]: createReconciler_result1_upvr_2 (copied, readonly)
]]
local var6_result1 = createSpy_upvr()
createReconciler_result1_upvr_2.unmountVirtualTree(createReconciler_result1_upvr_2.mountVirtualTree(createElement_upvr(createContext_upvr("Test").Consumer, {
render = var6_result1.value;
}), nil, "Provide Tree"))
var6_result1:assertCalledWith("Test")
end)
it("should pass the value to the render function", function() -- Line 75
--[[ Upvalues[4]:
[1]: createSpy_upvr (copied, readonly)
[2]: createContext_upvr (copied, readonly)
[3]: createElement_upvr (copied, readonly)
[4]: createReconciler_result1_upvr_2 (copied, readonly)
]]
local var6_result1_upvr_2 = createSpy_upvr()
local createContext_upvr_result1_4_upvr = createContext_upvr("Test")
local function Listener() -- Line 79
--[[ Upvalues[3]:
[1]: createElement_upvr (copied, readonly)
[2]: createContext_upvr_result1_4_upvr (readonly)
[3]: var6_result1_upvr_2 (readonly)
]]
return createElement_upvr(createContext_upvr_result1_4_upvr.Consumer, {
render = var6_result1_upvr_2.value;
})
end
createReconciler_result1_upvr_2.unmountVirtualTree(createReconciler_result1_upvr_2.mountVirtualTree(createElement_upvr(createContext_upvr_result1_4_upvr.Provider, {
value = "NewTest";
}, {
Listener = createElement_upvr(Listener);
}), nil, "Provide Tree"))
var6_result1_upvr_2:assertCalledWith("NewTest")
end)
it("should update when the value updates", function() -- Line 97
--[[ Upvalues[4]:
[1]: createSpy_upvr (copied, readonly)
[2]: createContext_upvr (copied, readonly)
[3]: createElement_upvr (copied, readonly)
[4]: createReconciler_result1_upvr_2 (copied, readonly)
]]
local var6_result1_upvr = createSpy_upvr()
local var3_result1_upvr_2 = createContext_upvr("Test")
local function Listener() -- Line 101
--[[ Upvalues[3]:
[1]: createElement_upvr (copied, readonly)
[2]: var3_result1_upvr_2 (readonly)
[3]: var6_result1_upvr (readonly)
]]
return createElement_upvr(var3_result1_upvr_2.Consumer, {
render = var6_result1_upvr.value;
})
end
local any_mountVirtualTree_result1_2 = createReconciler_result1_upvr_2.mountVirtualTree(createElement_upvr(var3_result1_upvr_2.Provider, {
value = "NewTest";
}, {
Listener = createElement_upvr(Listener);
}), nil, "Provide Tree")
expect(var6_result1_upvr.callCount).to.equal(1)
var6_result1_upvr:assertCalledWith("NewTest")
createReconciler_result1_upvr_2.updateVirtualTree(any_mountVirtualTree_result1_2, createElement_upvr(var3_result1_upvr_2.Provider, {
value = "ThirdTest";
}, {
Listener = createElement_upvr(Listener);
}))
expect(var6_result1_upvr.callCount).to.equal(2)
var6_result1_upvr:assertCalledWith("ThirdTest")
createReconciler_result1_upvr_2.unmountVirtualTree(any_mountVirtualTree_result1_2)
end)
it("should update when the value updates through an update blocking component", function() -- Line 138
--[[ Upvalues[7]:
[1]: createSpy_upvr (copied, readonly)
[2]: createContext_upvr (copied, readonly)
[3]: Component_upvr (copied, readonly)
[4]: createFragment_upvr (copied, readonly)
[5]: Children_upvr (copied, readonly)
[6]: createElement_upvr (copied, readonly)
[7]: createReconciler_result1_upvr_2 (copied, readonly)
]]
local var6_result1_3_upvr = createSpy_upvr()
local createContext_upvr_result1_2_upvr = createContext_upvr("Test")
local any_extend_result1_3 = Component_upvr:extend("UpdateBlocker")
local function render(arg1) -- Line 144
--[[ Upvalues[2]:
[1]: createFragment_upvr (copied, readonly)
[2]: Children_upvr (copied, readonly)
]]
return createFragment_upvr(arg1.props[Children_upvr])
end
any_extend_result1_3.render = render
function any_extend_result1_3.shouldUpdate(arg1) -- Line 148
return false
end
local function Listener() -- Line 152
--[[ Upvalues[3]:
[1]: createElement_upvr (copied, readonly)
[2]: createContext_upvr_result1_2_upvr (readonly)
[3]: var6_result1_3_upvr (readonly)
]]
return createElement_upvr(createContext_upvr_result1_2_upvr.Consumer, {
render = var6_result1_3_upvr.value;
})
end
local any_mountVirtualTree_result1 = createReconciler_result1_upvr_2.mountVirtualTree(createElement_upvr(createContext_upvr_result1_2_upvr.Provider, {
value = "NewTest";
}, {
Blocker = createElement_upvr(any_extend_result1_3, nil, {
Listener = createElement_upvr(Listener);
});
}), nil, "Provide Tree")
expect(var6_result1_3_upvr.callCount).to.equal(1)
var6_result1_3_upvr:assertCalledWith("NewTest")
createReconciler_result1_upvr_2.updateVirtualTree(any_mountVirtualTree_result1, createElement_upvr(createContext_upvr_result1_2_upvr.Provider, {
value = "ThirdTest";
}, {
Blocker = createElement_upvr(any_extend_result1_3, nil, {
Listener = createElement_upvr(Listener);
});
}))
expect(var6_result1_3_upvr.callCount).to.equal(2)
var6_result1_3_upvr:assertCalledWith("ThirdTest")
createReconciler_result1_upvr_2.unmountVirtualTree(any_mountVirtualTree_result1)
end)
it("should behave correctly when the default value is nil", function() -- Line 188
--[[ Upvalues[4]:
[1]: createContext_upvr (copied, readonly)
[2]: createSpy_upvr (copied, readonly)
[3]: createElement_upvr (copied, readonly)
[4]: createReconciler_result1_upvr_2 (copied, readonly)
]]
local var6_result1_upvr_3 = createSpy_upvr()
local createContext_upvr_result1_5_upvr = createContext_upvr(nil)
local function Listener() -- Line 192
--[[ Upvalues[3]:
[1]: createElement_upvr (copied, readonly)
[2]: createContext_upvr_result1_5_upvr (readonly)
[3]: var6_result1_upvr_3 (readonly)
]]
return createElement_upvr(createContext_upvr_result1_5_upvr.Consumer, {
render = var6_result1_upvr_3.value;
})
end
expect(var6_result1_upvr_3.callCount).to.equal(1)
var6_result1_upvr_3:assertCalledWith(nil)
createReconciler_result1_upvr_2.unmountVirtualTree(createReconciler_result1_upvr_2.updateVirtualTree(createReconciler_result1_upvr_2.mountVirtualTree(createElement_upvr(Listener), nil, "Provide Tree"), createElement_upvr(Listener)))
expect(var6_result1_upvr_3.callCount).to.equal(2)
var6_result1_upvr_3:assertCalledWith(nil)
end)
end)
describe("Update order", function() -- Line 210
--[[ Upvalues[3]:
[1]: createContext_upvr (readonly)
[2]: createElement_upvr (readonly)
[3]: createReconciler_result1_upvr_2 (readonly)
]]
it("should update context at the same time as props", function() -- Line 264
--[[ Upvalues[3]:
[1]: createContext_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: createReconciler_result1_upvr_2 (copied, readonly)
]]
local var60_upvw = false
local var61_upvw = false
local var62_upvw = 0
local var3_result1_upvr = createContext_upvr("default")
local function Listener(arg1) -- Line 273
--[[ Upvalues[5]:
[1]: createElement_upvr (copied, readonly)
[2]: var3_result1_upvr (readonly)
[3]: var62_upvw (read and write)
[4]: var60_upvw (read and write)
[5]: var61_upvw (read and write)
]]
local module_2 = {}
local function render(arg1_2) -- Line 275
--[[ Upvalues[4]:
[1]: var62_upvw (copied, read and write)
[2]: arg1 (readonly)
[3]: var60_upvw (copied, read and write)
[4]: var61_upvw (copied, read and write)
]]
var62_upvw += 1
if arg1_2 == "context_1" then
expect(arg1.someProp).to.equal("prop_1")
var60_upvw = true
else
if arg1_2 == "context_2" then
expect(arg1.someProp).to.equal("prop_2")
var61_upvw = true
return
end
error("Unexpected context value")
end
end
module_2.render = render
return createElement_upvr(var3_result1_upvr.Consumer, module_2)
end
createReconciler_result1_upvr_2.updateVirtualTree(createReconciler_result1_upvr_2.mountVirtualTree(createElement_upvr(var3_result1_upvr.Provider, {
value = "context_1";
}, {
Child = createElement_upvr(Listener, {
someProp = "prop_1";
});
}), nil, "UpdateObservationIsFun"), createElement_upvr(var3_result1_upvr.Provider, {
value = "context_2";
}, {
Child = createElement_upvr(Listener, {
someProp = "prop_2";
});
}))
expect(var62_upvw).to.equal(2)
expect(var60_upvw).to.equal(true)
expect(var61_upvw).to.equal(true)
end)
end)
local ReplicatedStorage_upvr = game:GetService("ReplicatedStorage")
local createReconciler_result1_upvr = createReconciler(require(script.Parent.RobloxRenderer))
it("does not throw if willUnmount is called twice on a context consumer", function() -- Line 317
--[[ Upvalues[5]:
[1]: createContext_upvr (readonly)
[2]: Component_upvr (readonly)
[3]: createElement_upvr (readonly)
[4]: ReplicatedStorage_upvr (readonly)
[5]: createReconciler_result1_upvr (readonly)
]]
local createContext_upvr_result1_upvr = createContext_upvr({})
local any_extend_result1_4_upvr = Component_upvr:extend("LowestComponent")
local function init(arg1) -- Line 321
end
any_extend_result1_4_upvr.init = init
local function render(arg1) -- Line 323
--[[ Upvalues[1]:
[1]: createElement_upvr (copied, readonly)
]]
return createElement_upvr("Frame")
end
any_extend_result1_4_upvr.render = render
local function didMount(arg1) -- Line 327
arg1.props.onDidMountCallback()
end
any_extend_result1_4_upvr.didMount = didMount
local any_extend_result1_upvr = Component_upvr:extend("FirstComponent")
local function init(arg1) -- Line 332
end
any_extend_result1_upvr.init = init
local function render(arg1) -- Line 334
--[[ Upvalues[2]:
[1]: createElement_upvr (copied, readonly)
[2]: createContext_upvr_result1_upvr (readonly)
]]
local module = {}
local function render() -- Line 336
--[[ Upvalues[1]:
[1]: createElement_upvr (copied, readonly)
]]
return createElement_upvr("TextLabel")
end
module.render = render
return createElement_upvr(createContext_upvr_result1_upvr.Consumer, module)
end
any_extend_result1_upvr.render = render
local any_extend_result1_2_upvr = Component_upvr:extend("ChildComponent")
local function init(arg1) -- Line 344
arg1:setState({
firstTime = true;
})
end
any_extend_result1_2_upvr.init = init
local var82_upvw
local function render(arg1) -- Line 350
--[[ Upvalues[3]:
[1]: createElement_upvr (copied, readonly)
[2]: any_extend_result1_upvr (readonly)
[3]: any_extend_result1_4_upvr (readonly)
]]
if arg1.state.firstTime then
return createElement_upvr(any_extend_result1_upvr)
end
return createElement_upvr(any_extend_result1_4_upvr, {
onDidMountCallback = arg1.props.onDidMountCallback;
})
end
any_extend_result1_2_upvr.render = render
function any_extend_result1_2_upvr.didMount(arg1) -- Line 360
--[[ Upvalues[1]:
[1]: var82_upvw (read and write)
]]
function var82_upvw() -- Line 361
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:setState({
firstTime = false;
})
end
end
local any_extend_result1 = Component_upvr:extend("ParentComponent")
local var85_upvw = 0
function any_extend_result1.init(arg1) -- Line 370
--[[ Upvalues[1]:
[1]: var85_upvw (read and write)
]]
arg1:setState({
count = 1;
})
function arg1.onDidMountCallback() -- Line 373
--[[ Upvalues[2]:
[1]: var85_upvw (copied, read and write)
[2]: arg1 (readonly)
]]
var85_upvw += 1
if arg1.state.count < 5 then
arg1:setState({
count = arg1.state.count + 1;
})
end
end
end
function any_extend_result1.render(arg1) -- Line 381
--[[ Upvalues[3]:
[1]: createElement_upvr (copied, readonly)
[2]: createContext_upvr_result1_upvr (readonly)
[3]: any_extend_result1_2_upvr (readonly)
]]
return createElement_upvr("Frame", {}, {
Provider = createElement_upvr(createContext_upvr_result1_upvr.Provider, {
value = {};
}, {
ChildComponent = createElement_upvr(any_extend_result1_2_upvr, {
count = arg1.state.count;
onDidMountCallback = arg1.onDidMountCallback;
});
});
})
end
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Parent = ReplicatedStorage_upvr
createReconciler_result1_upvr.mountVirtualNode(createElement_upvr(any_extend_result1), ScreenGui, "Some Key")
expect(function() -- Line 400
--[[ Upvalues[1]:
[1]: var82_upvw (read and write)
]]
var82_upvw()
end).never.to.throw()
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:04:52
-- Luau version 6, Types version 3
-- Time taken: 0.004306 seconds
local any_get_result1_upvr = require(script.Parent.GlobalConfig).get()
local Children_upvr = require(script.Parent.PropMarkers.Children)
local Logging_upvr = require(script.Parent.Logging)
local ElementKind_upvr = require(script.Parent.ElementKind)
local Type_upvr = require(script.Parent.Type)
return function(arg1, arg2, arg3) -- Line 37, Named "createElement"
--[[ Upvalues[5]:
[1]: any_get_result1_upvr (readonly)
[2]: Children_upvr (readonly)
[3]: Logging_upvr (readonly)
[4]: ElementKind_upvr (readonly)
[5]: Type_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var6 = any_get_result1_upvr
if var6.typeChecks then
if arg1 == nil then
var6 = false
else
var6 = true
end
assert(var6, "`component` is required")
var6 = true
if typeof(arg2) ~= "table" then
if arg2 ~= nil then
var6 = false
else
var6 = true
end
end
assert(var6, "`props` must be a table or nil")
var6 = true
if typeof(arg3) ~= "table" then
if arg3 ~= nil then
var6 = false
else
var6 = true
end
end
assert(var6, "`children` must be a table or nil")
end
if arg2 == nil then
local tbl = {}
end
if arg3 ~= nil then
var6 = Children_upvr
if tbl[var6] ~= nil then
var6 = Logging_upvr
var6 = "The prop `Roact.Children` was defined but was overridden by the third parameter to createElement!\nThis can happen when a component passes props through to a child element but also uses the `children` argument:\n\n\tRoact.createElement(\"Frame\", passedProps, {\n\t\tchild = ...\n\t})\n\nInstead, consider using a utility function to merge tables of children together:\n\n\tlocal children = mergeTables(passedProps[Roact.Children], {\n\t\tchild = ...\n\t})\n\n\tlocal fullProps = mergeTables(passedProps, {\n\t\t[Roact.Children] = children\n\t})\n\n\tRoact.createElement(\"Frame\", fullProps)"
var6.warnOnce(var6)
end
tbl[Children_upvr] = arg3
end
local module = {
[Type_upvr] = Type_upvr.Element;
[ElementKind_upvr] = ElementKind_upvr.fromComponent(arg1);
}
module.component = arg1
module.props = tbl
if any_get_result1_upvr.elementTracing then
module.source = debug.traceback("", 2):sub(2)
end
return module
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:04:53
-- Luau version 6, Types version 3
-- Time taken: 0.006684 seconds
return function() -- Line 1
local ElementKind_upvr = require(script.Parent.ElementKind)
local Type_upvr = require(script.Parent.Type)
local Children_upvr = require(script.Parent.PropMarkers.Children)
local createElement_upvr = require(script.Parent.createElement)
it("should create new primitive elements", function() -- Line 12
--[[ Upvalues[3]:
[1]: createElement_upvr (readonly)
[2]: Type_upvr (readonly)
[3]: ElementKind_upvr (readonly)
]]
local createElement_upvr_result1_4 = createElement_upvr("Frame")
expect(createElement_upvr_result1_4).to.be.ok()
expect(Type_upvr.of(createElement_upvr_result1_4)).to.equal(Type_upvr.Element)
expect(ElementKind_upvr.of(createElement_upvr_result1_4)).to.equal(ElementKind_upvr.Host)
end)
it("should create new functional elements", function() -- Line 20
--[[ Upvalues[3]:
[1]: createElement_upvr (readonly)
[2]: Type_upvr (readonly)
[3]: ElementKind_upvr (readonly)
]]
local var5_result1_2 = createElement_upvr(function() -- Line 21
end)
expect(var5_result1_2).to.be.ok()
expect(Type_upvr.of(var5_result1_2)).to.equal(Type_upvr.Element)
expect(ElementKind_upvr.of(var5_result1_2)).to.equal(ElementKind_upvr.Function)
end)
local Component_upvr = require(script.Parent.Component)
it("should create new stateful components", function() -- Line 28
--[[ Upvalues[4]:
[1]: Component_upvr (readonly)
[2]: createElement_upvr (readonly)
[3]: Type_upvr (readonly)
[4]: ElementKind_upvr (readonly)
]]
local var5_result1_4 = createElement_upvr(Component_upvr:extend("Foo"))
expect(var5_result1_4).to.be.ok()
expect(Type_upvr.of(var5_result1_4)).to.equal(Type_upvr.Element)
expect(ElementKind_upvr.of(var5_result1_4)).to.equal(ElementKind_upvr.Stateful)
end)
local Portal_upvr = require(script.Parent.Portal)
it("should create new portal elements", function() -- Line 38
--[[ Upvalues[4]:
[1]: createElement_upvr (readonly)
[2]: Portal_upvr (readonly)
[3]: Type_upvr (readonly)
[4]: ElementKind_upvr (readonly)
]]
local var5_result1_3 = createElement_upvr(Portal_upvr)
expect(var5_result1_3).to.be.ok()
expect(Type_upvr.of(var5_result1_3)).to.equal(Type_upvr.Element)
expect(ElementKind_upvr.of(var5_result1_3)).to.equal(ElementKind_upvr.Portal)
end)
it("should accept props", function() -- Line 46
--[[ Upvalues[1]:
[1]: createElement_upvr (readonly)
]]
local createElement_upvr_result1 = createElement_upvr("StringValue", {
Value = "Foo";
})
expect(createElement_upvr_result1).to.be.ok()
expect(createElement_upvr_result1.props.Value).to.equal("Foo")
end)
it("should accept props and children", function() -- Line 55
--[[ Upvalues[2]:
[1]: createElement_upvr (readonly)
[2]: Children_upvr (readonly)
]]
local createElement_upvr_result1_2 = createElement_upvr("IntValue")
local createElement_upvr_result1_3 = createElement_upvr("StringValue", {
Value = "Foo";
}, {
Child = createElement_upvr_result1_2;
})
expect(createElement_upvr_result1_3).to.be.ok()
expect(createElement_upvr_result1_3.props.Value).to.equal("Foo")
expect(createElement_upvr_result1_3.props[Children_upvr]).to.be.ok()
expect(createElement_upvr_result1_3.props[Children_upvr].Child).to.equal(createElement_upvr_result1_2)
end)
it("should accept children with without props", function() -- Line 70
--[[ Upvalues[2]:
[1]: createElement_upvr (readonly)
[2]: Children_upvr (readonly)
]]
local var5_result1 = createElement_upvr("IntValue")
local createElement_upvr_result1_5 = createElement_upvr("StringValue", nil, {
Child = var5_result1;
})
expect(createElement_upvr_result1_5).to.be.ok()
expect(createElement_upvr_result1_5.props[Children_upvr]).to.be.ok()
expect(createElement_upvr_result1_5.props[Children_upvr].Child).to.equal(var5_result1)
end)
local Logging_upvr = require(script.Parent.Logging)
it("should warn once if children is specified in two different ways", function() -- Line 82
--[[ Upvalues[3]:
[1]: Logging_upvr (readonly)
[2]: createElement_upvr (readonly)
[3]: Children_upvr (readonly)
]]
local any_capture_result1 = Logging_upvr.capture(function() -- Line 83
--[[ Upvalues[2]:
[1]: createElement_upvr (copied, readonly)
[2]: Children_upvr (copied, readonly)
]]
for _ = 1, 2 do
createElement_upvr("Frame", {
[Children_upvr] = {};
}, {})
end
end)
expect(#any_capture_result1.warnings).to.equal(1)
expect(any_capture_result1.warnings[1]:find("createElement")).to.be.ok()
expect(any_capture_result1.warnings[1]:find("Children")).to.be.ok()
end)
local GlobalConfig_upvr = require(script.Parent.GlobalConfig)
it("should have a `source` member if elementTracing is set", function() -- Line 98
--[[ Upvalues[2]:
[1]: GlobalConfig_upvr (readonly)
[2]: createElement_upvr (readonly)
]]
GlobalConfig_upvr.scoped({
elementTracing = true;
}, function() -- Line 103
--[[ Upvalues[1]:
[1]: createElement_upvr (copied, readonly)
]]
expect(createElement_upvr("StringValue").source).to.be.a("string")
end)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:04:55
-- Luau version 6, Types version 3
-- Time taken: 0.000691 seconds
local Type_upvr = require(script.Parent.Type)
local ElementKind_upvr = require(script.Parent.ElementKind)
return function(arg1) -- Line 4, Named "createFragment"
--[[ Upvalues[2]:
[1]: Type_upvr (readonly)
[2]: ElementKind_upvr (readonly)
]]
local module = {
[Type_upvr] = Type_upvr.Element;
[ElementKind_upvr] = ElementKind_upvr.Fragment;
}
module.elements = arg1
return module
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:04:57
-- Luau version 6, Types version 3
-- Time taken: 0.001403 seconds
return function() -- Line 1
local createFragment_upvr = require(script.Parent.createFragment)
local Type_upvr = require(script.Parent.Type)
local ElementKind_upvr = require(script.Parent.ElementKind)
it("should create new primitive elements", function() -- Line 7
--[[ Upvalues[3]:
[1]: createFragment_upvr (readonly)
[2]: Type_upvr (readonly)
[3]: ElementKind_upvr (readonly)
]]
local var2_result1_2 = createFragment_upvr({})
expect(var2_result1_2).to.be.ok()
expect(Type_upvr.of(var2_result1_2)).to.equal(Type_upvr.Element)
expect(ElementKind_upvr.of(var2_result1_2)).to.equal(ElementKind_upvr.Fragment)
end)
it("should accept children", function() -- Line 15
--[[ Upvalues[1]:
[1]: createFragment_upvr (readonly)
]]
local var2_result1 = createFragment_upvr({})
expect(createFragment_upvr({
key = var2_result1;
}).elements.key).to.equal(var2_result1)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:04:59
-- Luau version 6, Types version 3
-- Time taken: 0.032105 seconds
local any_get_result1_upvr = require(script.Parent.GlobalConfig).get()
local internalAssert_upvr = require(script.Parent.internalAssert)
local Type_upvr = require(script.Parent.Type)
local ElementUtils_upvr = require(script.Parent.ElementUtils)
local ElementKind_upvr = require(script.Parent.ElementKind)
local Children_upvr = require(script.Parent.PropMarkers.Children)
local any_named_result1_upvr = require(script.Parent.Symbol).named("InternalData")
return function(arg1) -- Line 25, Named "createReconciler"
--[[ Upvalues[7]:
[1]: any_get_result1_upvr (readonly)
[2]: internalAssert_upvr (readonly)
[3]: Type_upvr (readonly)
[4]: ElementUtils_upvr (readonly)
[5]: ElementKind_upvr (readonly)
[6]: Children_upvr (readonly)
[7]: any_named_result1_upvr (readonly)
]]
local var8_upvw
local mountVirtualNode_upvw
local unmountVirtualNode_upvw
local function _(arg1_2, arg2) -- Line 37, Named "replaceVirtualNode"
--[[ Upvalues[2]:
[1]: unmountVirtualNode_upvw (read and write)
[2]: mountVirtualNode_upvw (read and write)
]]
local originalContext_5 = arg1_2.originalContext
if not originalContext_5 then
originalContext_5 = arg1_2.context
end
if not arg1_2.wasUnmounted then
unmountVirtualNode_upvw(arg1_2)
end
local mountVirtualNode_upvw_result1 = mountVirtualNode_upvw(arg2, arg1_2.hostParent, arg1_2.hostKey, originalContext_5, arg1_2.parentLegacyContext)
if mountVirtualNode_upvw_result1 ~= nil then
mountVirtualNode_upvw_result1.depth = arg1_2.depth
mountVirtualNode_upvw_result1.parent = arg1_2.parent
end
return mountVirtualNode_upvw_result1
end
local updateVirtualNode_upvw
local function updateChildren_upvr(arg1_3, arg2, arg3) -- Line 70, Named "updateChildren"
--[[ Upvalues[7]:
[1]: any_get_result1_upvr (copied, readonly)
[2]: internalAssert_upvr (copied, readonly)
[3]: Type_upvr (copied, readonly)
[4]: ElementUtils_upvr (copied, readonly)
[5]: updateVirtualNode_upvw (read and write)
[6]: unmountVirtualNode_upvw (read and write)
[7]: mountVirtualNode_upvw (read and write)
]]
local var24 = any_get_result1_upvr
if var24.internalTypeChecks then
if Type_upvr.of(arg1_3) ~= Type_upvr.VirtualNode then
var24 = false
else
var24 = true
end
internalAssert_upvr(var24, "Expected arg #1 to be of type VirtualNode")
end
arg1_3.updateChildrenCount += 1
for i, v in pairs(arg1_3.children) do
local updateVirtualNode_result1 = updateVirtualNode_upvw(v, ElementUtils_upvr.getElementByKey(arg3, i))
if arg1_3.updateChildrenCount ~= arg1_3.updateChildrenCount then
if updateVirtualNode_result1 and updateVirtualNode_result1 ~= arg1_3.children[i] then
unmountVirtualNode_upvw(updateVirtualNode_result1)
end
return
end
if updateVirtualNode_result1 ~= nil then
arg1_3.children[i] = updateVirtualNode_result1
else
({})[i] = true
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
for i_2 in pairs({}) do
arg1_3.children[i_2] = nil
end
for i_3, v_2 in ElementUtils_upvr.iterateElements(arg3) do
local var35
if i_3 == ElementUtils_upvr.UseParentKey then
var35 = arg1_3.hostKey
end
if arg1_3.children[i_3] == nil then
local mountVirtualNode_result1_3 = mountVirtualNode_upvw(v_2, arg2, var35, arg1_3.context, arg1_3.legacyContext)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if arg1_3.updateChildrenCount ~= arg1_3.updateChildrenCount then
if mountVirtualNode_result1_3 then
unmountVirtualNode_upvw(mountVirtualNode_result1_3)
end
return
end
if mountVirtualNode_result1_3 ~= nil then
mountVirtualNode_result1_3.depth = arg1_3.depth + 1
mountVirtualNode_result1_3.parent = arg1_3
arg1_3.children[i_3] = mountVirtualNode_result1_3
end
end
end
end
local function updateVirtualNodeWithRenderResult_upvr(arg1_5, arg2, arg3) -- Line 147, Named "updateVirtualNodeWithRenderResult"
--[[ Upvalues[2]:
[1]: Type_upvr (copied, readonly)
[2]: updateChildren_upvr (readonly)
]]
if Type_upvr.of(arg3) == Type_upvr.Element or arg3 == nil or typeof(arg3) == "boolean" then
updateChildren_upvr(arg1_5, arg2, arg3)
else
error("%s\n%s":format("Component returned invalid children:", arg1_5.currentElement.source or "<enable element tracebacks>"), 0)
end
end
function unmountVirtualNode_upvw(arg1_6) -- Line 164, Named "unmountVirtualNode"
--[[ Upvalues[7]:
[1]: any_get_result1_upvr (copied, readonly)
[2]: internalAssert_upvr (copied, readonly)
[3]: Type_upvr (copied, readonly)
[4]: ElementKind_upvr (copied, readonly)
[5]: arg1 (readonly)
[6]: var8_upvw (read and write)
[7]: var37_upvw (read and write)
]]
local var50 = any_get_result1_upvr
if var50.internalTypeChecks then
if Type_upvr.of(arg1_6) ~= Type_upvr.VirtualNode then
var50 = false
else
var50 = true
end
internalAssert_upvr(var50, "Expected arg #1 to be of type VirtualNode")
end
arg1_6.wasUnmounted = true
local any_of_result1 = ElementKind_upvr.of(arg1_6.currentElement)
if any_of_result1 == ElementKind_upvr.Host then
arg1.unmountHostNode(var8_upvw, arg1_6)
else
if any_of_result1 == ElementKind_upvr.Function then
for _, v_3 in pairs(arg1_6.children) do
var37_upvw(v_3)
end
return
end
if any_of_result1 == ElementKind_upvr.Stateful then
arg1_6.instance:__unmount()
return
end
if any_of_result1 == ElementKind_upvr.Portal then
for _, v_4 in pairs(arg1_6.children) do
var37_upvw(v_4)
end
return
end
if any_of_result1 == ElementKind_upvr.Fragment then
for _, v_5 in pairs(arg1_6.children) do
var37_upvw(v_5)
end
return
end
error("Unknown ElementKind %q":format(tostring(any_of_result1)), 2)
end
end
local var37_upvw = unmountVirtualNode_upvw
local function _(arg1_7, arg2) -- Line 195, Named "updateFunctionVirtualNode"
--[[ Upvalues[1]:
[1]: updateVirtualNodeWithRenderResult_upvr (readonly)
]]
updateVirtualNodeWithRenderResult_upvr(arg1_7, arg1_7.hostParent, arg2.component(arg2.props))
return arg1_7
end
local function _(arg1_8, arg2) -- Line 203, Named "updatePortalVirtualNode"
--[[ Upvalues[5]:
[1]: arg1 (readonly)
[2]: var37_upvw (read and write)
[3]: mountVirtualNode_upvw (read and write)
[4]: Children_upvr (copied, readonly)
[5]: updateChildren_upvr (readonly)
]]
local target = arg2.props.target
assert(arg1.isHostObject(target), "Expected target to be host object")
if target ~= arg1_8.currentElement.props.target then
local originalContext = arg1_8.originalContext
if not originalContext then
originalContext = arg1_8.context
end
if not arg1_8.wasUnmounted then
var37_upvw(arg1_8)
end
local mountVirtualNode_result1_5 = mountVirtualNode_upvw(arg2, arg1_8.hostParent, arg1_8.hostKey, originalContext, arg1_8.parentLegacyContext)
if mountVirtualNode_result1_5 ~= nil then
mountVirtualNode_result1_5.depth = arg1_8.depth
mountVirtualNode_result1_5.parent = arg1_8.parent
end
return mountVirtualNode_result1_5
end
updateChildren_upvr(arg1_8, target, arg2.props[Children_upvr])
return arg1_8
end
local function _(arg1_9, arg2) -- Line 222, Named "updateFragmentVirtualNode"
--[[ Upvalues[1]:
[1]: updateChildren_upvr (readonly)
]]
updateChildren_upvr(arg1_9, arg1_9.hostParent, arg2.elements)
return arg1_9
end
function updateVirtualNode_upvw(arg1_10, arg2, arg3) -- Line 240, Named "updateVirtualNode"
--[[ Upvalues[11]:
[1]: any_get_result1_upvr (copied, readonly)
[2]: internalAssert_upvr (copied, readonly)
[3]: Type_upvr (copied, readonly)
[4]: var37_upvw (read and write)
[5]: mountVirtualNode_upvw (read and write)
[6]: ElementKind_upvr (copied, readonly)
[7]: arg1 (readonly)
[8]: var8_upvw (read and write)
[9]: updateVirtualNodeWithRenderResult_upvr (readonly)
[10]: Children_upvr (copied, readonly)
[11]: updateChildren_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var79 = any_get_result1_upvr
if var79.internalTypeChecks then
if Type_upvr.of(arg1_10) ~= Type_upvr.VirtualNode then
var79 = false
else
var79 = true
end
internalAssert_upvr(var79, "Expected arg #1 to be of type VirtualNode")
end
if any_get_result1_upvr.typeChecks then
local var80 = true
if Type_upvr.of(arg2) ~= Type_upvr.Element then
var80 = true
if typeof(arg2) ~= "boolean" then
if arg2 ~= nil then
var80 = false
else
var80 = true
end
end
end
assert(var80, "Expected arg #2 to be of type Element, boolean, or nil")
end
local var81
if arg1_10.currentElement == arg2 and arg3 == nil then
return var81
end
if typeof(arg2) == "boolean" or arg2 == nil then
var37_upvw(var81)
return nil
end
if var81.currentElement.component ~= arg2.component then
local var82 = var81
local originalContext_6 = var82.originalContext
if not originalContext_6 then
originalContext_6 = var82.context
end
if not var82.wasUnmounted then
var37_upvw(var82)
end
local mountVirtualNode_result1_2 = mountVirtualNode_upvw(arg2, var82.hostParent, var82.hostKey, originalContext_6, var82.parentLegacyContext)
if mountVirtualNode_result1_2 ~= nil then
mountVirtualNode_result1_2.depth = var82.depth
mountVirtualNode_result1_2.parent = var82.parent
end
return mountVirtualNode_result1_2
end
local any_of_result1_3 = ElementKind_upvr.of(arg2)
if any_of_result1_3 == ElementKind_upvr.Host then
var81 = arg1.updateHostNode(var8_upvw, var81, arg2)
-- KONSTANTWARNING: GOTO [277] #201
end
if any_of_result1_3 == ElementKind_upvr.Function then
local var86 = var81
updateVirtualNodeWithRenderResult_upvr(var86, var86.hostParent, arg2.component(arg2.props))
elseif any_of_result1_3 == ElementKind_upvr.Stateful then
elseif any_of_result1_3 == ElementKind_upvr.Portal then
local var87 = var86
local target_4 = arg2.props.target
assert(arg1.isHostObject(target_4), "Expected target to be host object")
if target_4 ~= var87.currentElement.props.target then
local originalContext_4 = var87.originalContext
if not originalContext_4 then
originalContext_4 = var87.context
end
if not var87.wasUnmounted then
var37_upvw(var87)
end
local mountVirtualNode_result1_4 = mountVirtualNode_upvw(arg2, var87.hostParent, var87.hostKey, originalContext_4, var87.parentLegacyContext)
if mountVirtualNode_result1_4 ~= nil then
mountVirtualNode_result1_4.depth = var87.depth
mountVirtualNode_result1_4.parent = var87.parent
end
else
updateChildren_upvr(var87, target_4, arg2.props[Children_upvr])
end
elseif any_of_result1_3 == ElementKind_upvr.Fragment then
local var91 = var87
updateChildren_upvr(var91, var91.hostParent, arg2.elements)
else
error("Unknown ElementKind %q":format(tostring(any_of_result1_3)), 2)
end
if not var86.instance:__update(arg2, arg3) then
return var91
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
var91.currentElement = arg2
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return var91
end
local var64_upvw = updateVirtualNode_upvw
local function createVirtualNode_upvr(arg1_11, arg2, arg3, arg4, arg5) -- Line 297, Named "createVirtualNode"
--[[ Upvalues[4]:
[1]: any_get_result1_upvr (copied, readonly)
[2]: internalAssert_upvr (copied, readonly)
[3]: arg1 (readonly)
[4]: Type_upvr (copied, readonly)
]]
local var92
if any_get_result1_upvr.internalTypeChecks then
var92 = arg1.isHostObject(arg2)
if not var92 then
if arg2 ~= nil then
var92 = false
else
var92 = true
end
end
internalAssert_upvr(var92, "Expected arg #2 to be a host object")
if typeof(arg4) ~= "table" then
if arg4 ~= nil then
else
end
end
internalAssert_upvr(true, "Expected arg #4 to be of type table or nil")
if typeof(arg5) ~= "table" then
if arg5 ~= nil then
else
end
end
internalAssert_upvr(true, "Expected arg #5 to be of type table or nil")
end
if any_get_result1_upvr.typeChecks then
if arg3 == nil then
else
end
assert(true, "Expected arg #3 to be non-nil")
if Type_upvr.of(arg1_11) ~= Type_upvr.Element then
if typeof(arg1_11) ~= "boolean" then
else
end
end
assert(true, "Expected arg #1 to be of type Element or boolean")
end
local module = {
[Type_upvr] = Type_upvr.VirtualNode;
}
module.currentElement = arg1_11
module.depth = 1
module.parent = nil
module.children = {}
module.hostParent = arg2
module.hostKey = arg3
module.updateChildrenCount = 0
module.wasUnmounted = false
module.legacyContext = arg5
module.parentLegacyContext = arg5
local var94 = arg4
if not var94 then
var94 = {}
end
module.context = var94
module.originalContext = nil
return module
end
local function _(arg1_12) -- Line 345, Named "mountFunctionVirtualNode"
--[[ Upvalues[1]:
[1]: updateVirtualNodeWithRenderResult_upvr (readonly)
]]
local currentElement_2 = arg1_12.currentElement
updateVirtualNodeWithRenderResult_upvr(arg1_12, arg1_12.hostParent, currentElement_2.component(currentElement_2.props))
end
local function _(arg1_13) -- Line 353, Named "mountPortalVirtualNode"
--[[ Upvalues[3]:
[1]: Children_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: updateChildren_upvr (readonly)
]]
local currentElement_3 = arg1_13.currentElement
local target_2 = currentElement_3.props.target
assert(arg1.isHostObject(target_2), "Expected target to be host object")
updateChildren_upvr(arg1_13, target_2, currentElement_3.props[Children_upvr])
end
local function _(arg1_14) -- Line 364, Named "mountFragmentVirtualNode"
--[[ Upvalues[1]:
[1]: updateChildren_upvr (readonly)
]]
updateChildren_upvr(arg1_14, arg1_14.hostParent, arg1_14.currentElement.elements)
end
function mountVirtualNode_upvw(arg1_15, arg2, arg3, arg4, arg5) -- Line 375, Named "mountVirtualNode"
--[[ Upvalues[10]:
[1]: any_get_result1_upvr (copied, readonly)
[2]: internalAssert_upvr (copied, readonly)
[3]: arg1 (readonly)
[4]: Type_upvr (copied, readonly)
[5]: ElementKind_upvr (copied, readonly)
[6]: createVirtualNode_upvr (readonly)
[7]: var8_upvw (read and write)
[8]: updateVirtualNodeWithRenderResult_upvr (readonly)
[9]: Children_upvr (copied, readonly)
[10]: updateChildren_upvr (readonly)
]]
local var99
if any_get_result1_upvr.internalTypeChecks then
var99 = arg1.isHostObject(arg2)
if not var99 then
if arg2 ~= nil then
var99 = false
else
var99 = true
end
end
internalAssert_upvr(var99, "Expected arg #2 to be a host object")
if typeof(arg5) ~= "table" then
if arg5 ~= nil then
else
end
end
internalAssert_upvr(true, "Expected arg #5 to be of type table or nil")
end
if any_get_result1_upvr.typeChecks then
if arg3 == nil then
else
end
assert(true, "Expected arg #3 to be non-nil")
if Type_upvr.of(arg1_15) ~= Type_upvr.Element then
if typeof(arg1_15) ~= "boolean" then
else
end
end
assert(true, "Expected arg #1 to be of type Element or boolean")
end
if typeof(arg1_15) == "boolean" then
return nil
end
local any_of_result1_2 = ElementKind_upvr.of(arg1_15)
local createVirtualNode_upvr_result1 = createVirtualNode_upvr(arg1_15, arg2, arg3, arg4, arg5)
if any_of_result1_2 == ElementKind_upvr.Host then
arg1.mountHostNode(var8_upvw, createVirtualNode_upvr_result1)
return createVirtualNode_upvr_result1
end
if any_of_result1_2 == ElementKind_upvr.Function then
local currentElement_4 = createVirtualNode_upvr_result1.currentElement
updateVirtualNodeWithRenderResult_upvr(createVirtualNode_upvr_result1, createVirtualNode_upvr_result1.hostParent, currentElement_4.component(currentElement_4.props))
return createVirtualNode_upvr_result1
end
if any_of_result1_2 == ElementKind_upvr.Stateful then
arg1_15.component:__mount(var8_upvw, createVirtualNode_upvr_result1)
return createVirtualNode_upvr_result1
end
if any_of_result1_2 == ElementKind_upvr.Portal then
local currentElement = createVirtualNode_upvr_result1.currentElement
local target_3 = currentElement.props.target
assert(arg1.isHostObject(target_3), "Expected target to be host object")
updateChildren_upvr(createVirtualNode_upvr_result1, target_3, currentElement.props[Children_upvr])
return createVirtualNode_upvr_result1
end
if any_of_result1_2 == ElementKind_upvr.Fragment then
updateChildren_upvr(createVirtualNode_upvr_result1, createVirtualNode_upvr_result1.hostParent, createVirtualNode_upvr_result1.currentElement.elements)
return createVirtualNode_upvr_result1
end
error("Unknown ElementKind %q":format(tostring(any_of_result1_2)), 2)
return createVirtualNode_upvr_result1
end
local var98_upvw = mountVirtualNode_upvw
var8_upvw = {
mountVirtualTree = function(arg1_16, arg2, arg3) -- Line 424, Named "mountVirtualTree"
--[[ Upvalues[5]:
[1]: any_get_result1_upvr (copied, readonly)
[2]: Type_upvr (copied, readonly)
[3]: arg1 (readonly)
[4]: any_named_result1_upvr (copied, readonly)
[5]: var98_upvw (read and write)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var105 = any_get_result1_upvr
if var105.typeChecks then
if Type_upvr.of(arg1_16) ~= Type_upvr.Element then
var105 = false
else
var105 = true
end
assert(var105, "Expected arg #1 to be of type Element")
var105 = arg1.isHostObject(arg2)
if not var105 then
if arg2 ~= nil then
var105 = false
else
var105 = true
end
end
assert(var105, "Expected arg #2 to be a host object")
end
if arg3 == nil then
end
local module_2 = {
[Type_upvr] = Type_upvr.VirtualTree;
[any_named_result1_upvr] = {
rootNode = nil;
mounted = true;
};
}
module_2[any_named_result1_upvr].rootNode = var98_upvw(arg1_16, arg2, "RoactTree")
return module_2
end;
unmountVirtualTree = function(arg1_17) -- Line 455, Named "unmountVirtualTree"
--[[ Upvalues[4]:
[1]: any_named_result1_upvr (copied, readonly)
[2]: any_get_result1_upvr (copied, readonly)
[3]: Type_upvr (copied, readonly)
[4]: var37_upvw (read and write)
]]
local var108 = arg1_17[any_named_result1_upvr]
local var109 = any_get_result1_upvr
if var109.typeChecks then
if Type_upvr.of(arg1_17) ~= Type_upvr.VirtualTree then
var109 = false
else
var109 = true
end
assert(var109, "Expected arg #1 to be a Roact handle")
var109 = var108.mounted
assert(var109, "Cannot unmounted a Roact tree that has already been unmounted")
end
var108.mounted = false
if var108.rootNode ~= nil then
var109 = var108.rootNode
var37_upvw(var109)
end
end;
updateVirtualTree = function(arg1_18, arg2) -- Line 473, Named "updateVirtualTree"
--[[ Upvalues[4]:
[1]: any_named_result1_upvr (copied, readonly)
[2]: any_get_result1_upvr (copied, readonly)
[3]: Type_upvr (copied, readonly)
[4]: var64_upvw (read and write)
]]
local var110 = arg1_18[any_named_result1_upvr]
local var111 = any_get_result1_upvr
if var111.typeChecks then
if Type_upvr.of(arg1_18) ~= Type_upvr.VirtualTree then
var111 = false
else
var111 = true
end
assert(var111, "Expected arg #1 to be a Roact handle")
if Type_upvr.of(arg2) ~= Type_upvr.Element then
var111 = false
else
var111 = true
end
assert(var111, "Expected arg #2 to be a Roact Element")
end
var110.rootNode = var64_upvw(var110.rootNode, arg2)
return arg1_18
end;
createVirtualNode = createVirtualNode_upvr;
mountVirtualNode = var98_upvw;
unmountVirtualNode = var37_upvw;
updateVirtualNode = var64_upvw;
updateVirtualNodeWithChildren = function(arg1_4, arg2, arg3) -- Line 143, Named "updateVirtualNodeWithChildren"
--[[ Upvalues[1]:
[1]: updateChildren_upvr (readonly)
]]
updateChildren_upvr(arg1_4, arg2, arg3)
end;
updateVirtualNodeWithRenderResult = updateVirtualNodeWithRenderResult_upvr;
}
return var8_upvw
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:01
-- Luau version 6, Types version 3
-- Time taken: 0.019387 seconds
return function() -- Line 1
local createElement_upvr = require(script.Parent.createElement)
local createFragment_upvr = require(script.Parent.createFragment)
local createSpy_upvr = require(script.Parent.createSpy)
local NoopRenderer_upvr = require(script.Parent.NoopRenderer)
local Type_upvr = require(script.Parent.Type)
local createReconciler_upvr = require(script.Parent.createReconciler)
local var7_result1_4_upvr = createReconciler_upvr(NoopRenderer_upvr)
describe("tree operations", function() -- Line 14
--[[ Upvalues[2]:
[1]: var7_result1_4_upvr (readonly)
[2]: createElement_upvr (readonly)
]]
it("should mount and unmount", function() -- Line 15
--[[ Upvalues[2]:
[1]: var7_result1_4_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
]]
local any_mountVirtualTree_result1_2 = var7_result1_4_upvr.mountVirtualTree(createElement_upvr("StringValue"))
expect(any_mountVirtualTree_result1_2).to.be.ok()
var7_result1_4_upvr.unmountVirtualTree(any_mountVirtualTree_result1_2)
end)
it("should mount, update, and unmount", function() -- Line 23
--[[ Upvalues[2]:
[1]: var7_result1_4_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
]]
local any_mountVirtualTree_result1 = var7_result1_4_upvr.mountVirtualTree(createElement_upvr("StringValue"))
expect(any_mountVirtualTree_result1).to.be.ok()
var7_result1_4_upvr.updateVirtualTree(any_mountVirtualTree_result1, createElement_upvr("StringValue"))
var7_result1_4_upvr.unmountVirtualTree(any_mountVirtualTree_result1)
end)
end)
describe("booleans", function() -- Line 34
--[[ Upvalues[2]:
[1]: var7_result1_4_upvr (readonly)
[2]: createElement_upvr (readonly)
]]
it("should mount booleans as nil", function() -- Line 35
--[[ Upvalues[1]:
[1]: var7_result1_4_upvr (copied, readonly)
]]
expect(var7_result1_4_upvr.mountVirtualNode(false, nil, "test")).to.equal(nil)
end)
it("should unmount nodes if they are updated to a boolean value", function() -- Line 40
--[[ Upvalues[2]:
[1]: var7_result1_4_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
]]
local any_mountVirtualNode_result1_4 = var7_result1_4_upvr.mountVirtualNode(createElement_upvr("StringValue"), nil, "test")
expect(any_mountVirtualNode_result1_4).to.be.ok()
expect(var7_result1_4_upvr.updateVirtualNode(any_mountVirtualNode_result1_4, true)).to.equal(nil)
end)
end)
describe("invalid elements", function() -- Line 51
--[[ Upvalues[2]:
[1]: var7_result1_4_upvr (readonly)
[2]: createElement_upvr (readonly)
]]
it("should throw errors when attempting to mount invalid elements", function() -- Line 52
--[[ Upvalues[2]:
[1]: var7_result1_4_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
]]
local function var20_upvr() -- Line 54
return "Hello"
end
local function var21_upvr() -- Line 57
return 1
end
local function var22_upvr() -- Line 60
return function() -- Line 61
end
end
local function var24_upvr() -- Line 63
return {}
end
expect(function() -- Line 70
--[[ Upvalues[3]:
[1]: var7_result1_4_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var20_upvr (readonly)
]]
var7_result1_4_upvr.mountVirtualNode(createElement_upvr(var20_upvr), nil, "Some Key")
end).to.throw()
expect(function() -- Line 74
--[[ Upvalues[3]:
[1]: var7_result1_4_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var21_upvr (readonly)
]]
var7_result1_4_upvr.mountVirtualNode(createElement_upvr(var21_upvr), nil, "Some Key")
end).to.throw()
expect(function() -- Line 78
--[[ Upvalues[3]:
[1]: var7_result1_4_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var22_upvr (readonly)
]]
var7_result1_4_upvr.mountVirtualNode(createElement_upvr(var22_upvr), nil, "Some Key")
end).to.throw()
expect(function() -- Line 82
--[[ Upvalues[3]:
[1]: var7_result1_4_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var24_upvr (readonly)
]]
var7_result1_4_upvr.mountVirtualNode(createElement_upvr(var24_upvr), nil, "Some Key")
end).to.throw()
end)
end)
local assign_upvr = require(script.Parent.assign)
describe("Host components", function() -- Line 88
--[[ Upvalues[6]:
[1]: createSpy_upvr (readonly)
[2]: NoopRenderer_upvr (readonly)
[3]: assign_upvr (readonly)
[4]: createReconciler_upvr (readonly)
[5]: createElement_upvr (readonly)
[6]: Type_upvr (readonly)
]]
it("should invoke the renderer to mount host nodes", function() -- Line 89
--[[ Upvalues[6]:
[1]: createSpy_upvr (copied, readonly)
[2]: NoopRenderer_upvr (copied, readonly)
[3]: assign_upvr (copied, readonly)
[4]: createReconciler_upvr (copied, readonly)
[5]: createElement_upvr (copied, readonly)
[6]: Type_upvr (copied, readonly)
]]
local createSpy_upvr_result1_8 = createSpy_upvr(NoopRenderer_upvr.mountHostNode)
local var7_result1_2 = createReconciler_upvr(assign_upvr({}, NoopRenderer_upvr, {
mountHostNode = createSpy_upvr_result1_8.value;
}))
local any_mountVirtualNode_result1 = var7_result1_2.mountVirtualNode(createElement_upvr("StringValue"), nil, "Some Key")
expect(Type_upvr.of(any_mountVirtualNode_result1)).to.equal(Type_upvr.VirtualNode)
expect(createSpy_upvr_result1_8.callCount).to.equal(1)
local any_captureValues_result1_7 = createSpy_upvr_result1_8:captureValues("reconciler", "node")
expect(any_captureValues_result1_7.reconciler).to.equal(var7_result1_2)
expect(any_captureValues_result1_7.node).to.equal(any_mountVirtualNode_result1)
end)
it("should invoke the renderer to update host nodes", function() -- Line 113
--[[ Upvalues[6]:
[1]: createSpy_upvr (copied, readonly)
[2]: NoopRenderer_upvr (copied, readonly)
[3]: assign_upvr (copied, readonly)
[4]: createReconciler_upvr (copied, readonly)
[5]: createElement_upvr (copied, readonly)
[6]: Type_upvr (copied, readonly)
]]
local createSpy_upvr_result1_4 = createSpy_upvr(NoopRenderer_upvr.updateHostNode)
local var7_result1_3 = createReconciler_upvr(assign_upvr({}, NoopRenderer_upvr, {
mountHostNode = NoopRenderer_upvr.mountHostNode;
updateHostNode = createSpy_upvr_result1_4.value;
}))
local any_mountVirtualNode_result1_6 = var7_result1_3.mountVirtualNode(createElement_upvr("StringValue"), nil, "Key")
expect(Type_upvr.of(any_mountVirtualNode_result1_6)).to.equal(Type_upvr.VirtualNode)
local var2_result1 = createElement_upvr("StringValue")
expect(var7_result1_3.updateVirtualNode(any_mountVirtualNode_result1_6, var2_result1)).to.equal(any_mountVirtualNode_result1_6)
expect(createSpy_upvr_result1_4.callCount).to.equal(1)
local any_captureValues_result1_8 = createSpy_upvr_result1_4:captureValues("reconciler", "node", "newElement")
expect(any_captureValues_result1_8.reconciler).to.equal(var7_result1_3)
expect(any_captureValues_result1_8.node).to.equal(any_mountVirtualNode_result1_6)
expect(any_captureValues_result1_8.newElement).to.equal(var2_result1)
end)
it("should invoke the renderer to unmount host nodes", function() -- Line 144
--[[ Upvalues[6]:
[1]: createSpy_upvr (copied, readonly)
[2]: NoopRenderer_upvr (copied, readonly)
[3]: assign_upvr (copied, readonly)
[4]: createReconciler_upvr (copied, readonly)
[5]: createElement_upvr (copied, readonly)
[6]: Type_upvr (copied, readonly)
]]
local createSpy_upvr_result1_3 = createSpy_upvr(NoopRenderer_upvr.unmountHostNode)
local var7_result1 = createReconciler_upvr(assign_upvr({}, NoopRenderer_upvr, {
mountHostNode = NoopRenderer_upvr.mountHostNode;
unmountHostNode = createSpy_upvr_result1_3.value;
}))
local any_mountVirtualNode_result1_2 = var7_result1.mountVirtualNode(createElement_upvr("StringValue"), nil, "Key")
expect(Type_upvr.of(any_mountVirtualNode_result1_2)).to.equal(Type_upvr.VirtualNode)
var7_result1.unmountVirtualNode(any_mountVirtualNode_result1_2)
expect(createSpy_upvr_result1_3.callCount).to.equal(1)
local any_captureValues_result1 = createSpy_upvr_result1_3:captureValues("reconciler", "node")
expect(any_captureValues_result1.reconciler).to.equal(var7_result1)
expect(any_captureValues_result1.node).to.equal(any_mountVirtualNode_result1_2)
end)
end)
describe("Function components", function() -- Line 172
--[[ Upvalues[5]:
[1]: createSpy_upvr (readonly)
[2]: createElement_upvr (readonly)
[3]: var7_result1_4_upvr (readonly)
[4]: Type_upvr (readonly)
[5]: createFragment_upvr (readonly)
]]
it("should mount and unmount function components", function() -- Line 173
--[[ Upvalues[4]:
[1]: createSpy_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var7_result1_4_upvr (copied, readonly)
[4]: Type_upvr (copied, readonly)
]]
local createSpy_upvr_result1_2 = createSpy_upvr(function(arg1) -- Line 174
return nil
end)
local any_mountVirtualNode_result1_9 = var7_result1_4_upvr.mountVirtualNode(createElement_upvr(createSpy_upvr_result1_2.value, {
someValue = 5;
}), nil, "A Key")
expect(Type_upvr.of(any_mountVirtualNode_result1_9)).to.equal(Type_upvr.VirtualNode)
expect(createSpy_upvr_result1_2.callCount).to.equal(1)
local any_captureValues_result1_9 = createSpy_upvr_result1_2:captureValues("props")
expect(any_captureValues_result1_9.props).to.be.a("table")
expect(any_captureValues_result1_9.props.someValue).to.equal(5)
var7_result1_4_upvr.unmountVirtualNode(any_mountVirtualNode_result1_9)
expect(createSpy_upvr_result1_2.callCount).to.equal(1)
end)
it("should mount single children of function components", function() -- Line 199
--[[ Upvalues[4]:
[1]: createSpy_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var7_result1_4_upvr (copied, readonly)
[4]: Type_upvr (copied, readonly)
]]
local createSpy_upvr_result1_upvr = createSpy_upvr(function(arg1) -- Line 200
return nil
end)
local var4_result1 = createSpy_upvr(function(arg1) -- Line 204
--[[ Upvalues[2]:
[1]: createElement_upvr (copied, readonly)
[2]: createSpy_upvr_result1_upvr (readonly)
]]
return createElement_upvr(createSpy_upvr_result1_upvr.value, {
value = arg1.value + 1;
})
end)
local any_mountVirtualNode_result1_7 = var7_result1_4_upvr.mountVirtualNode(createElement_upvr(var4_result1.value, {
value = 13;
}), nil, "A Key")
expect(Type_upvr.of(any_mountVirtualNode_result1_7)).to.equal(Type_upvr.VirtualNode)
expect(var4_result1.callCount).to.equal(1)
expect(createSpy_upvr_result1_upvr.callCount).to.equal(1)
local any_captureValues_result1_2 = var4_result1:captureValues("props")
local any_captureValues_result1_4 = createSpy_upvr_result1_upvr:captureValues("props")
expect(any_captureValues_result1_2.props).to.be.a("table")
expect(any_captureValues_result1_2.props.value).to.equal(13)
expect(any_captureValues_result1_4.props).to.be.a("table")
expect(any_captureValues_result1_4.props.value).to.equal(14)
var7_result1_4_upvr.unmountVirtualNode(any_mountVirtualNode_result1_7)
expect(var4_result1.callCount).to.equal(1)
expect(createSpy_upvr_result1_upvr.callCount).to.equal(1)
end)
it("should mount fragments returned by function components", function() -- Line 237
--[[ Upvalues[5]:
[1]: createSpy_upvr (copied, readonly)
[2]: createFragment_upvr (copied, readonly)
[3]: createElement_upvr (copied, readonly)
[4]: var7_result1_4_upvr (copied, readonly)
[5]: Type_upvr (copied, readonly)
]]
local createSpy_upvr_result1_6_upvr = createSpy_upvr(function(arg1) -- Line 238
return nil
end)
local createSpy_upvr_result1_7_upvr = createSpy_upvr(function(arg1) -- Line 242
return nil
end)
local createSpy_upvr_result1 = createSpy_upvr(function(arg1) -- Line 246
--[[ Upvalues[4]:
[1]: createFragment_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: createSpy_upvr_result1_6_upvr (readonly)
[4]: createSpy_upvr_result1_7_upvr (readonly)
]]
return createFragment_upvr({
A = createElement_upvr(createSpy_upvr_result1_6_upvr.value, {
value = arg1.value + 1;
});
B = createElement_upvr(createSpy_upvr_result1_7_upvr.value, {
value = arg1.value + 5;
});
})
end)
local any_mountVirtualNode_result1_8 = var7_result1_4_upvr.mountVirtualNode(createElement_upvr(createSpy_upvr_result1.value, {
value = 17;
}), nil, "A Key")
expect(Type_upvr.of(any_mountVirtualNode_result1_8)).to.equal(Type_upvr.VirtualNode)
expect(createSpy_upvr_result1.callCount).to.equal(1)
expect(createSpy_upvr_result1_6_upvr.callCount).to.equal(1)
expect(createSpy_upvr_result1_7_upvr.callCount).to.equal(1)
local any_captureValues_result1_3 = createSpy_upvr_result1:captureValues("props")
local any_captureValues_result1_6 = createSpy_upvr_result1_6_upvr:captureValues("props")
local any_captureValues_result1_5 = createSpy_upvr_result1_7_upvr:captureValues("props")
expect(any_captureValues_result1_3.props).to.be.a("table")
expect(any_captureValues_result1_3.props.value).to.equal(17)
expect(any_captureValues_result1_6.props).to.be.a("table")
expect(any_captureValues_result1_6.props.value).to.equal(18)
expect(any_captureValues_result1_5.props).to.be.a("table")
expect(any_captureValues_result1_5.props.value).to.equal(22)
var7_result1_4_upvr.unmountVirtualNode(any_mountVirtualNode_result1_8)
expect(createSpy_upvr_result1.callCount).to.equal(1)
expect(createSpy_upvr_result1_6_upvr.callCount).to.equal(1)
expect(createSpy_upvr_result1_7_upvr.callCount).to.equal(1)
end)
end)
local ElementKind_upvr = require(script.Parent.ElementKind)
describe("Fragments", function() -- Line 291
--[[ Upvalues[5]:
[1]: createFragment_upvr (readonly)
[2]: var7_result1_4_upvr (readonly)
[3]: ElementKind_upvr (readonly)
[4]: createSpy_upvr (readonly)
[5]: createElement_upvr (readonly)
]]
it("should mount fragments", function() -- Line 292
--[[ Upvalues[3]:
[1]: createFragment_upvr (copied, readonly)
[2]: var7_result1_4_upvr (copied, readonly)
[3]: ElementKind_upvr (copied, readonly)
]]
local any_mountVirtualNode_result1_3 = var7_result1_4_upvr.mountVirtualNode(createFragment_upvr({}), nil, "test")
expect(any_mountVirtualNode_result1_3).to.be.ok()
expect(ElementKind_upvr.of(any_mountVirtualNode_result1_3.currentElement)).to.equal(ElementKind_upvr.Fragment)
end)
it("should mount an empty fragment", function() -- Line 300
--[[ Upvalues[2]:
[1]: createFragment_upvr (copied, readonly)
[2]: var7_result1_4_upvr (copied, readonly)
]]
local any_mountVirtualNode_result1_5 = var7_result1_4_upvr.mountVirtualNode(createFragment_upvr({}), nil, "test")
expect(any_mountVirtualNode_result1_5).to.be.ok()
expect(next(any_mountVirtualNode_result1_5.children)).to.never.be.ok()
end)
it("should mount all fragment's children", function() -- Line 310
--[[ Upvalues[4]:
[1]: createSpy_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: createFragment_upvr (copied, readonly)
[4]: var7_result1_4_upvr (copied, readonly)
]]
local function var91(arg1) -- Line 311
return nil
end
local createSpy_upvr_result1_5 = createSpy_upvr(var91)
var91 = {}
local var93 = var91
for i = 1, 5 do
var93["key"..tostring(i)] = createElement_upvr(createSpy_upvr_result1_5.value, {})
end
expect(var7_result1_4_upvr.mountVirtualNode(createFragment_upvr(var93), nil, "test")).to.be.ok()
expect(createSpy_upvr_result1_5.callCount).to.equal(5)
end)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:04
-- Luau version 6, Types version 3
-- Time taken: 0.001381 seconds
local Logging_upvr = require(script.Parent.Logging)
return function(arg1) -- Line 23, Named "createReconcilerCompat"
--[[ Upvalues[1]:
[1]: Logging_upvr (readonly)
]]
return {
reify = function(...) -- Line 26, Named "reify"
--[[ Upvalues[2]:
[1]: Logging_upvr (copied, readonly)
[2]: arg1 (readonly)
]]
Logging_upvr.warnOnce("Roact.reify has been renamed to Roact.mount and will be removed in a future release.\nCheck the call to Roact.reify at:\n")
return arg1.mountVirtualTree(...)
end;
teardown = function(...) -- Line 32, Named "teardown"
--[[ Upvalues[2]:
[1]: Logging_upvr (copied, readonly)
[2]: arg1 (readonly)
]]
Logging_upvr.warnOnce("Roact.teardown has been renamed to Roact.unmount and will be removed in a future release.\nCheck the call to Roact.teardown at:\n")
return arg1.unmountVirtualTree(...)
end;
reconcile = function(...) -- Line 38, Named "reconcile"
--[[ Upvalues[2]:
[1]: Logging_upvr (copied, readonly)
[2]: arg1 (readonly)
]]
Logging_upvr.warnOnce("Roact.reconcile has been renamed to Roact.update and will be removed in a future release.\nCheck the call to Roact.reconcile at:\n")
return arg1.updateVirtualTree(...)
end;
}
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:05
-- Luau version 6, Types version 3
-- Time taken: 0.005003 seconds
return function() -- Line 1
local createElement_upvr = require(script.Parent.createElement)
local Logging_upvr = require(script.Parent.Logging)
local var4_upvr = require(script.Parent.createReconciler)(require(script.Parent.NoopRenderer))
local var5_upvr = require(script.Parent.createReconcilerCompat)(var4_upvr)
it("reify should only warn once per call site", function() -- Line 12
--[[ Upvalues[4]:
[1]: Logging_upvr (readonly)
[2]: var5_upvr (readonly)
[3]: createElement_upvr (readonly)
[4]: var4_upvr (readonly)
]]
local any_capture_result1_4 = Logging_upvr.capture(function() -- Line 13
--[[ Upvalues[3]:
[1]: var5_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var4_upvr (copied, readonly)
]]
var4_upvr.unmountVirtualTree(var5_upvr.reify(createElement_upvr("StringValue")))
var4_upvr.unmountVirtualTree(var5_upvr.reify(createElement_upvr("StringValue")))
end)
expect(#any_capture_result1_4.warnings).to.equal(1)
expect(any_capture_result1_4.warnings[1]:find("reify")).to.be.ok()
local any_capture_result1_2 = Logging_upvr.capture(function() -- Line 25
--[[ Upvalues[3]:
[1]: var5_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var4_upvr (copied, readonly)
]]
var4_upvr.unmountVirtualTree(var5_upvr.reify(createElement_upvr("StringValue")))
end)
expect(#any_capture_result1_2.warnings).to.equal(1)
expect(any_capture_result1_2.warnings[1]:find("reify")).to.be.ok()
end)
it("teardown should only warn once per call site", function() -- Line 35
--[[ Upvalues[4]:
[1]: Logging_upvr (readonly)
[2]: var4_upvr (readonly)
[3]: createElement_upvr (readonly)
[4]: var5_upvr (readonly)
]]
local any_capture_result1_3 = Logging_upvr.capture(function() -- Line 36
--[[ Upvalues[3]:
[1]: var4_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var5_upvr (copied, readonly)
]]
var5_upvr.teardown(var4_upvr.mountVirtualTree(createElement_upvr("StringValue")))
var5_upvr.teardown(var4_upvr.mountVirtualTree(createElement_upvr("StringValue")))
end)
expect(#any_capture_result1_3.warnings).to.equal(1)
expect(any_capture_result1_3.warnings[1]:find("teardown")).to.be.ok()
local any_capture_result1 = Logging_upvr.capture(function() -- Line 48
--[[ Upvalues[3]:
[1]: var4_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var5_upvr (copied, readonly)
]]
var5_upvr.teardown(var4_upvr.mountVirtualTree(createElement_upvr("StringValue")))
end)
expect(#any_capture_result1.warnings).to.equal(1)
expect(any_capture_result1.warnings[1]:find("teardown")).to.be.ok()
end)
it("update should only warn once per call site", function() -- Line 58
--[[ Upvalues[4]:
[1]: Logging_upvr (readonly)
[2]: var4_upvr (readonly)
[3]: createElement_upvr (readonly)
[4]: var5_upvr (readonly)
]]
local any_capture_result1_5 = Logging_upvr.capture(function() -- Line 59
--[[ Upvalues[3]:
[1]: var4_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var5_upvr (copied, readonly)
]]
for _ = 1, 2 do
local any_mountVirtualTree_result1_2 = var4_upvr.mountVirtualTree(createElement_upvr("StringValue"))
var5_upvr.reconcile(any_mountVirtualTree_result1_2, createElement_upvr("StringValue"))
var4_upvr.unmountVirtualTree(any_mountVirtualTree_result1_2)
end
end)
expect(#any_capture_result1_5.warnings).to.equal(1)
expect(any_capture_result1_5.warnings[1]:find("reconcile")).to.be.ok()
local any_capture_result1_6 = Logging_upvr.capture(function() -- Line 72
--[[ Upvalues[3]:
[1]: var4_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var5_upvr (copied, readonly)
]]
local any_mountVirtualTree_result1 = var4_upvr.mountVirtualTree(createElement_upvr("StringValue"))
var5_upvr.reconcile(any_mountVirtualTree_result1, createElement_upvr("StringValue"))
var4_upvr.unmountVirtualTree(any_mountVirtualTree_result1)
end)
expect(#any_capture_result1_6.warnings).to.equal(1)
expect(any_capture_result1_6.warnings[1]:find("reconcile")).to.be.ok()
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:07
-- Luau version 6, Types version 3
-- Time taken: 0.001563 seconds
local Binding_upvr = require(script.Parent.Binding)
return function() -- Line 7, Named "createRef"
--[[ Upvalues[1]:
[1]: Binding_upvr (readonly)
]]
local any_create_result1_upvr, any_create_result2 = Binding_upvr.create(nil)
local module = {}
setmetatable(module, {
__index = function(arg1, arg2) -- Line 16, Named "__index"
--[[ Upvalues[1]:
[1]: any_create_result1_upvr (readonly)
]]
if arg2 == "current" then
return any_create_result1_upvr:getValue()
end
return any_create_result1_upvr[arg2]
end;
__newindex = function(arg1, arg2, arg3) -- Line 23, Named "__newindex"
--[[ Upvalues[1]:
[1]: any_create_result1_upvr (readonly)
]]
if arg2 == "current" then
error("Cannot assign to the 'current' property of refs", 2)
end
any_create_result1_upvr[arg2] = arg3
end;
__tostring = function(arg1) -- Line 30, Named "__tostring"
--[[ Upvalues[1]:
[1]: any_create_result1_upvr (readonly)
]]
return "RoactRef(%s)":format(tostring(any_create_result1_upvr:getValue()))
end;
})
return module
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:08
-- Luau version 6, Types version 3
-- Time taken: 0.003901 seconds
return function() -- Line 1
local Binding_upvr = require(script.Parent.Binding)
local createRef_upvr = require(script.Parent.createRef)
local Type_upvr = require(script.Parent.Type)
it("should create refs, which are specialized bindings", function() -- Line 7
--[[ Upvalues[2]:
[1]: createRef_upvr (readonly)
[2]: Type_upvr (readonly)
]]
local createRef_upvr_result1 = createRef_upvr()
expect(Type_upvr.of(createRef_upvr_result1)).to.equal(Type_upvr.Binding)
expect(createRef_upvr_result1.current).to.equal(nil)
end)
it("should have a 'current' field that is the same as the internal binding's value", function() -- Line 14
--[[ Upvalues[2]:
[1]: createRef_upvr (readonly)
[2]: Binding_upvr (readonly)
]]
local var3_result1 = createRef_upvr()
expect(var3_result1.current).to.equal(nil)
Binding_upvr.update(var3_result1, 10)
expect(var3_result1.current).to.equal(10)
end)
it("should support tostring on refs", function() -- Line 23
--[[ Upvalues[2]:
[1]: createRef_upvr (readonly)
[2]: Binding_upvr (readonly)
]]
local createRef_upvr_result1_4 = createRef_upvr()
expect(createRef_upvr_result1_4.current).to.equal(nil)
expect(tostring(createRef_upvr_result1_4)).to.equal("RoactRef(nil)")
Binding_upvr.update(createRef_upvr_result1_4, 10)
expect(tostring(createRef_upvr_result1_4)).to.equal("RoactRef(10)")
end)
it("should not allow assignments to the 'current' field", function() -- Line 33
--[[ Upvalues[2]:
[1]: createRef_upvr (readonly)
[2]: Binding_upvr (readonly)
]]
local createRef_upvr_result1_3_upvr = createRef_upvr()
expect(createRef_upvr_result1_3_upvr.current).to.equal(nil)
Binding_upvr.update(createRef_upvr_result1_3_upvr, 99)
expect(createRef_upvr_result1_3_upvr.current).to.equal(99)
expect(function() -- Line 41
--[[ Upvalues[1]:
[1]: createRef_upvr_result1_3_upvr (readonly)
]]
createRef_upvr_result1_3_upvr.current = 77
end).to.throw()
expect(createRef_upvr_result1_3_upvr.current).to.equal(99)
end)
it("should return the same thing from getValue as its current field", function() -- Line 48
--[[ Upvalues[2]:
[1]: createRef_upvr (readonly)
[2]: Binding_upvr (readonly)
]]
local createRef_upvr_result1_2 = createRef_upvr()
Binding_upvr.update(createRef_upvr_result1_2, 10)
expect(createRef_upvr_result1_2:getValue()).to.equal(10)
expect(createRef_upvr_result1_2:getValue()).to.equal(createRef_upvr_result1_2.current)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:10
-- Luau version 6, Types version 3
-- Time taken: 0.003782 seconds
return function() -- Line 15, Named "createSignal"
local tbl_upvr_2 = {}
local tbl_upvr = {}
local var3_upvw = false
return {
subscribe = function(arg1, arg2) -- Line 20, Named "subscribe"
--[[ Upvalues[3]:
[1]: var3_upvw (read and write)
[2]: tbl_upvr_2 (readonly)
[3]: tbl_upvr (readonly)
]]
local disconnect
if typeof(arg2) ~= "function" then
disconnect = false
else
disconnect = true
end
assert(disconnect, "Can only subscribe to signals with a function.")
local tbl_upvr_4 = {}
tbl_upvr_4.callback = arg2
disconnect = false
tbl_upvr_4.disconnected = disconnect
disconnect = var3_upvw
if disconnect then
disconnect = tbl_upvr_2[arg2]
if not disconnect then
disconnect = tbl_upvr
disconnect[arg2] = tbl_upvr_4
end
end
disconnect = tbl_upvr_2
disconnect[arg2] = tbl_upvr_4
function disconnect() -- Line 36
--[[ Upvalues[4]:
[1]: tbl_upvr_4 (readonly)
[2]: tbl_upvr_2 (copied, readonly)
[3]: arg2 (readonly)
[4]: tbl_upvr (copied, readonly)
]]
assert(not tbl_upvr_4.disconnected, "Listeners can only be disconnected once.")
tbl_upvr_4.disconnected = true
tbl_upvr_2[arg2] = nil
tbl_upvr[arg2] = nil
end
return disconnect
end;
fire = function(arg1, ...) -- Line 47, Named "fire"
--[[ Upvalues[3]:
[1]: var3_upvw (read and write)
[2]: tbl_upvr_2 (readonly)
[3]: tbl_upvr (readonly)
]]
var3_upvw = true
for i, v in pairs(tbl_upvr_2) do
if not v.disconnected and not tbl_upvr[i] then
i(...)
end
end
var3_upvw = false
for i_2, _ in pairs(tbl_upvr) do
tbl_upvr[i_2] = nil
end
end;
}
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:12
-- Luau version 6, Types version 3
-- Time taken: 0.006499 seconds
return function() -- Line 1
local createSignal_upvr = require(script.Parent.createSignal)
local createSpy_upvr = require(script.Parent.createSpy)
it("should fire subscribers and disconnect them", function() -- Line 6
--[[ Upvalues[2]:
[1]: createSignal_upvr (readonly)
[2]: createSpy_upvr (readonly)
]]
local createSignal_upvr_result1 = createSignal_upvr()
local createSpy_upvr_result1 = createSpy_upvr()
expect(createSpy_upvr_result1.callCount).to.equal(0)
local tbl_3 = {}
createSignal_upvr_result1:fire(1, tbl_3, "hello")
expect(createSpy_upvr_result1.callCount).to.equal(1)
createSpy_upvr_result1:assertCalledWith(1, tbl_3, "hello")
createSignal_upvr_result1:subscribe(createSpy_upvr_result1.value)()
createSignal_upvr_result1:fire()
expect(createSpy_upvr_result1.callCount).to.equal(1)
end)
it("should handle multiple subscribers", function() -- Line 29
--[[ Upvalues[2]:
[1]: createSignal_upvr (readonly)
[2]: createSpy_upvr (readonly)
]]
local createSignal_upvr_result1_2 = createSignal_upvr()
local var3_result1_2 = createSpy_upvr()
local createSpy_upvr_result1_3 = createSpy_upvr()
expect(var3_result1_2.callCount).to.equal(0)
expect(createSpy_upvr_result1_3.callCount).to.equal(0)
local tbl_4 = {}
createSignal_upvr_result1_2:fire(tbl_4, 67)
expect(var3_result1_2.callCount).to.equal(1)
var3_result1_2:assertCalledWith(tbl_4, 67)
expect(createSpy_upvr_result1_3.callCount).to.equal(1)
createSpy_upvr_result1_3:assertCalledWith(tbl_4, 67)
createSignal_upvr_result1_2:subscribe(var3_result1_2.value)()
createSignal_upvr_result1_2:fire(67, tbl_4)
expect(var3_result1_2.callCount).to.equal(1)
expect(createSpy_upvr_result1_3.callCount).to.equal(2)
createSpy_upvr_result1_3:assertCalledWith(67, tbl_4)
createSignal_upvr_result1_2:subscribe(createSpy_upvr_result1_3.value)()
end)
it("should stop firing a connection if disconnected mid-fire", function() -- Line 63
--[[ Upvalues[2]:
[1]: createSignal_upvr (readonly)
[2]: createSpy_upvr (readonly)
]]
local createSignal_upvr_result1_3 = createSignal_upvr()
local var16_upvw
local createSpy_upvr_result1_2 = createSpy_upvr(function() -- Line 73
--[[ Upvalues[1]:
[1]: var16_upvw (read and write)
]]
var16_upvw()
end)
local var19_upvw
local var3_result1_4 = createSpy_upvr(function() -- Line 77
--[[ Upvalues[1]:
[1]: var19_upvw (read and write)
]]
var19_upvw()
end)
var19_upvw = createSignal_upvr_result1_3:subscribe(createSpy_upvr_result1_2.value)
var16_upvw = createSignal_upvr_result1_3:subscribe(var3_result1_4.value)
createSignal_upvr_result1_3:fire()
expect(createSpy_upvr_result1_2.callCount + var3_result1_4.callCount).to.equal(1)
end)
it("should allow adding listener in the middle of firing", function() -- Line 90
--[[ Upvalues[2]:
[1]: createSignal_upvr (readonly)
[2]: createSpy_upvr (readonly)
]]
local var2_result1_upvr = createSignal_upvr()
local var23_upvw
local var3_result1_3_upvr = createSpy_upvr()
expect(var3_result1_3_upvr.callCount).to.equal(0)
local tbl_2 = {}
var2_result1_upvr:fire(tbl_2, 67)
expect(var3_result1_3_upvr.callCount).to.equal(0)
var2_result1_upvr:fire(67, tbl_2)
expect(var3_result1_3_upvr.callCount).to.equal(1)
var3_result1_3_upvr:assertCalledWith(67, tbl_2)
var23_upvw()
var2_result1_upvr:subscribe(function(arg1, arg2) -- Line 95
--[[ Upvalues[3]:
[1]: var23_upvw (read and write)
[2]: var2_result1_upvr (readonly)
[3]: var3_result1_3_upvr (readonly)
]]
var23_upvw = var2_result1_upvr:subscribe(var3_result1_3_upvr.value)
end)()
var2_result1_upvr:fire(tbl_2)
expect(var3_result1_3_upvr.callCount).to.equal(1)
end)
it("should have one connection instance when add the same listener multiple times", function() -- Line 122
--[[ Upvalues[2]:
[1]: createSignal_upvr (readonly)
[2]: createSpy_upvr (readonly)
]]
local var2_result1 = createSignal_upvr()
local var3_result1 = createSpy_upvr()
expect(var3_result1.callCount).to.equal(0)
local tbl = {}
var2_result1:fire(tbl, 67)
expect(var3_result1.callCount).to.equal(1)
var3_result1:assertCalledWith(tbl, 67)
var2_result1:fire(67, tbl)
expect(var3_result1.callCount).to.equal(2)
var3_result1:assertCalledWith(67, tbl)
var2_result1:subscribe(var3_result1.value)()
var2_result1:fire(tbl)
expect(var3_result1.callCount).to.equal(2)
var2_result1:subscribe(var3_result1.value)()
var2_result1:fire(tbl)
expect(var3_result1.callCount).to.equal(2)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:13
-- Luau version 6, Types version 3
-- Time taken: 0.003703 seconds
local assertDeepEqual_upvr = require(script.Parent.assertDeepEqual)
return function(arg1) -- Line 11, Named "createSpy"
--[[ Upvalues[1]:
[1]: assertDeepEqual_upvr (readonly)
]]
local module_upvr = {
callCount = 0;
values = {};
valuesLength = 0;
}
function module_upvr.value(...) -- Line 16
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: arg1 (readonly)
]]
module_upvr.callCount += 1
module_upvr.values = {...}
module_upvr.valuesLength = select('#', ...)
if arg1 ~= nil then
return arg1(...)
end
return nil
end
function module_upvr.assertCalledWith(arg1_2, ...) -- Line 27
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
local arg_count = select('#', ...)
if module_upvr.valuesLength ~= arg_count then
error("Expected %d arguments, but was called with %d arguments":format(module_upvr.valuesLength, arg_count), 2)
end
for i = 1, arg_count do
local var9 = ...
if module_upvr.values[i] ~= select(i, var9) then
var9 = false
else
var9 = true
end
assert(var9, "value differs")
end
end
function module_upvr.assertCalledWithDeepEqual(arg1_3, ...) -- Line 41
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: assertDeepEqual_upvr (copied, readonly)
]]
local arg_count_3 = select('#', ...)
if module_upvr.valuesLength ~= arg_count_3 then
error("Expected %d arguments, but was called with %d arguments":format(module_upvr.valuesLength, arg_count_3), 2)
end
for i_2 = 1, arg_count_3 do
assertDeepEqual_upvr(module_upvr.values[i_2], select(i_2, ...))
end
end
function module_upvr.captureValues(arg1_4, ...) -- Line 55
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
local arg_count_2 = select('#', ...)
local module = {}
local var18
if module_upvr.valuesLength ~= arg_count_2 then
var18 = false
else
var18 = true
end
assert(var18, "length of expected values differs from stored values")
var18 = 1
for i_3 = 1, arg_count_2, var18 do
module[select(i_3, ...)] = module_upvr.values[i_3]
end
return module
end
setmetatable(module_upvr, {
__index = function(arg1_5, arg2) -- Line 70, Named "__index"
error("%q is not a valid member of spy":format(arg2))
end;
})
return module_upvr
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:15
-- Luau version 6, Types version 3
-- Time taken: 0.007536 seconds
return function() -- Line 1
local createSpy_upvr = require(script.Parent.createSpy)
describe("createSpy", function() -- Line 4
--[[ Upvalues[1]:
[1]: createSpy_upvr (readonly)
]]
it("should create spies", function() -- Line 5
--[[ Upvalues[1]:
[1]: createSpy_upvr (copied, readonly)
]]
expect(createSpy_upvr(function() -- Line 6
end)).to.be.ok()
end)
it("should throw if spies are indexed by an invalid key", function() -- Line 11
--[[ Upvalues[1]:
[1]: createSpy_upvr (copied, readonly)
]]
local createSpy_upvr_result1_2_upvr = createSpy_upvr(function() -- Line 12
end)
expect(function() -- Line 14
--[[ Upvalues[1]:
[1]: createSpy_upvr_result1_2_upvr (readonly)
]]
return createSpy_upvr_result1_2_upvr.test
end).to.throw()
end)
end)
describe("value", function() -- Line 20
--[[ Upvalues[1]:
[1]: createSpy_upvr (readonly)
]]
it("should increment callCount when called", function() -- Line 21
--[[ Upvalues[1]:
[1]: createSpy_upvr (copied, readonly)
]]
local createSpy_upvr_result1 = createSpy_upvr(function() -- Line 22
end)
createSpy_upvr_result1.value()
expect(createSpy_upvr_result1.callCount).to.equal(1)
end)
it("should store all values passed", function() -- Line 28
--[[ Upvalues[1]:
[1]: createSpy_upvr (copied, readonly)
]]
local var2_result1 = createSpy_upvr(function() -- Line 29
end)
var2_result1.value(1, true, '3')
expect(var2_result1.valuesLength).to.equal(3)
expect(var2_result1.values[1]).to.equal(1)
expect(var2_result1.values[2]).to.equal(true)
expect(var2_result1.values[3]).to.equal('3')
end)
it("should return the value of the inner function", function() -- Line 38
--[[ Upvalues[1]:
[1]: createSpy_upvr (copied, readonly)
]]
expect(createSpy_upvr(function() -- Line 39
return true
end).value()).to.equal(true)
end)
end)
describe("assertCalledWith", function() -- Line 47
--[[ Upvalues[1]:
[1]: createSpy_upvr (readonly)
]]
it("should throw if the number of values differs", function() -- Line 48
--[[ Upvalues[1]:
[1]: createSpy_upvr (copied, readonly)
]]
local var2_result1_2_upvr = createSpy_upvr(function() -- Line 49
end)
var2_result1_2_upvr.value(1, 2)
expect(function() -- Line 52
--[[ Upvalues[1]:
[1]: var2_result1_2_upvr (readonly)
]]
var2_result1_2_upvr:assertCalledWith(1)
end).to.throw()
end)
it("should throw if any value differs", function() -- Line 57
--[[ Upvalues[1]:
[1]: createSpy_upvr (copied, readonly)
]]
local var2_result1_upvr = createSpy_upvr(function() -- Line 58
end)
var2_result1_upvr.value(1, 2)
expect(function() -- Line 61
--[[ Upvalues[1]:
[1]: var2_result1_upvr (readonly)
]]
var2_result1_upvr:assertCalledWith(1, 3)
end).to.throw()
expect(function() -- Line 65
--[[ Upvalues[1]:
[1]: var2_result1_upvr (readonly)
]]
var2_result1_upvr:assertCalledWith(2, 3)
end).to.throw()
end)
end)
describe("captureValues", function() -- Line 71
--[[ Upvalues[1]:
[1]: createSpy_upvr (readonly)
]]
it("should throw if the number of values differs", function() -- Line 72
--[[ Upvalues[1]:
[1]: createSpy_upvr (copied, readonly)
]]
local createSpy_upvr_result1_3_upvr = createSpy_upvr(function() -- Line 73
end)
createSpy_upvr_result1_3_upvr.value(1, 2)
expect(function() -- Line 76
--[[ Upvalues[1]:
[1]: createSpy_upvr_result1_3_upvr (readonly)
]]
createSpy_upvr_result1_3_upvr:captureValues('a')
end).to.throw()
end)
it("should capture all values in a table", function() -- Line 81
--[[ Upvalues[1]:
[1]: createSpy_upvr (copied, readonly)
]]
local var2_result1_3 = createSpy_upvr(function() -- Line 82
end)
var2_result1_3.value(1, 2)
local any_captureValues_result1 = var2_result1_3:captureValues('a', 'b')
expect(any_captureValues_result1.a).to.equal(1)
expect(any_captureValues_result1.b).to.equal(2)
end)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:16
-- Luau version 6, Types version 3
-- Time taken: 0.001393 seconds
local Ref_upvr = require(script.Parent.PropMarkers.Ref)
local module_upvr = {
[Ref_upvr] = require(script.Parent.None);
}
local any_get_result1_upvr = require(script.Parent.GlobalConfig).get()
local assign_upvr = require(script.Parent.assign)
return function(arg1) -- Line 15, Named "forwardRef"
--[[ Upvalues[4]:
[1]: any_get_result1_upvr (readonly)
[2]: Ref_upvr (readonly)
[3]: assign_upvr (readonly)
[4]: module_upvr (readonly)
]]
local var5 = any_get_result1_upvr
if var5.typeChecks then
if typeof(arg1) ~= "function" then
var5 = false
else
var5 = true
end
assert(var5, "Expected arg #1 to be a function")
end
return function(arg1_2) -- Line 20
--[[ Upvalues[4]:
[1]: Ref_upvr (copied, readonly)
[2]: assign_upvr (copied, readonly)
[3]: module_upvr (copied, readonly)
[4]: arg1 (readonly)
]]
return arg1(assign_upvr({}, arg1_2, module_upvr), arg1_2[Ref_upvr])
end
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:18
-- Luau version 6, Types version 3
-- Time taken: 0.021714 seconds
return function() -- Line 4
local assign_upvr = require(script.Parent.assign)
local createElement_upvr = require(script.Parent.createElement)
local createRef_upvr = require(script.Parent.createRef)
local forwardRef_upvr = require(script.Parent.forwardRef)
local Ref_upvr = require(script.Parent.PropMarkers.Ref)
local var7_upvr = require(script.Parent.createReconciler)(require(script.Parent.RobloxRenderer))
it("should update refs when switching between children", function() -- Line 18
--[[ Upvalues[6]:
[1]: createElement_upvr (readonly)
[2]: Ref_upvr (readonly)
[3]: forwardRef_upvr (readonly)
[4]: assign_upvr (readonly)
[5]: createRef_upvr (readonly)
[6]: var7_upvr (readonly)
]]
local function FunctionComponent(arg1) -- Line 19
--[[ Upvalues[2]:
[1]: createElement_upvr (copied, readonly)
[2]: Ref_upvr (copied, readonly)
]]
local var9
local var10
if arg1.setRefOnDiv then
var9 = arg1.forwardedRef
else
var10 = arg1.forwardedRef
end
return createElement_upvr("Frame", nil, {
First = createElement_upvr("Frame", {
[Ref_upvr] = var9;
}, {
Child = createElement_upvr("TextLabel", {
Text = "First";
});
});
Second = createElement_upvr("ScrollingFrame", {
[Ref_upvr] = var10;
}, {
Child = createElement_upvr("TextLabel", {
Text = "Second";
});
});
})
end
local forwardRef_upvr_result1_3 = forwardRef_upvr(function(arg1, arg2) -- Line 48
--[[ Upvalues[3]:
[1]: createElement_upvr (copied, readonly)
[2]: FunctionComponent (readonly)
[3]: assign_upvr (copied, readonly)
]]
local module_5 = {}
module_5.forwardedRef = arg2
return createElement_upvr(FunctionComponent, assign_upvr({}, arg1, module_5))
end)
local createRef_upvr_result1_2 = createRef_upvr()
expect(createRef_upvr_result1_2.current.ClassName).to.equal("Frame")
var7_upvr.unmountVirtualTree(var7_upvr.mountVirtualTree(createElement_upvr(forwardRef_upvr_result1_3, {
[Ref_upvr] = createRef_upvr_result1_2;
setRefOnDiv = true;
}), nil, "switch refs"))
expect(createRef_upvr_result1_2.current.ClassName).to.equal("ScrollingFrame")
var7_upvr.unmountVirtualTree(var7_upvr.mountVirtualTree(createElement_upvr(forwardRef_upvr_result1_3, {
[Ref_upvr] = createRef_upvr_result1_2;
setRefOnDiv = false;
}), nil, "switch refs"))
end)
it("should support rendering nil", function() -- Line 71
--[[ Upvalues[5]:
[1]: forwardRef_upvr (readonly)
[2]: createRef_upvr (readonly)
[3]: createElement_upvr (readonly)
[4]: Ref_upvr (readonly)
[5]: var7_upvr (readonly)
]]
local createRef_upvr_result1_3 = createRef_upvr()
expect(createRef_upvr_result1_3.current).to.equal(nil)
var7_upvr.unmountVirtualTree(var7_upvr.mountVirtualTree(createElement_upvr(forwardRef_upvr(function(arg1, arg2) -- Line 72
return nil
end), {
[Ref_upvr] = createRef_upvr_result1_3;
}), nil, "nil ref"))
end)
it("should support rendering nil for multiple children", function() -- Line 84
--[[ Upvalues[5]:
[1]: forwardRef_upvr (readonly)
[2]: createRef_upvr (readonly)
[3]: createElement_upvr (readonly)
[4]: Ref_upvr (readonly)
[5]: var7_upvr (readonly)
]]
local createRef_upvr_result1_6 = createRef_upvr()
expect(createRef_upvr_result1_6.current).to.equal(nil)
var7_upvr.unmountVirtualTree(var7_upvr.mountVirtualTree(createElement_upvr("Frame", nil, {
NoRef1 = createElement_upvr("Frame");
WithRef = createElement_upvr(forwardRef_upvr(function(arg1, arg2) -- Line 85
return nil
end), {
[Ref_upvr] = createRef_upvr_result1_6;
});
NoRef2 = createElement_upvr("Frame");
}), nil, "multiple children nil ref"))
end)
itSKIP("should support defaultProps", function() -- Line 103
--[[ Upvalues[6]:
[1]: createElement_upvr (readonly)
[2]: Ref_upvr (readonly)
[3]: forwardRef_upvr (readonly)
[4]: assign_upvr (readonly)
[5]: createRef_upvr (readonly)
[6]: var7_upvr (readonly)
]]
local function FunctionComponent_upvr(arg1) -- Line 104, Named "FunctionComponent"
--[[ Upvalues[2]:
[1]: createElement_upvr (copied, readonly)
[2]: Ref_upvr (copied, readonly)
]]
return createElement_upvr("Frame", {
[Ref_upvr] = arg1.forwardedRef;
}, {
OptionalChild = arg1.optional;
RequiredChild = arg1.required;
})
end
local forwardRef_upvr_result1 = forwardRef_upvr(function(arg1, arg2) -- Line 116
--[[ Upvalues[3]:
[1]: createElement_upvr (copied, readonly)
[2]: FunctionComponent_upvr (readonly)
[3]: assign_upvr (copied, readonly)
]]
local module_6 = {}
module_6.forwardedRef = arg2
return createElement_upvr(FunctionComponent_upvr, assign_upvr({}, arg1, module_6))
end)
forwardRef_upvr_result1.defaultProps = {
optional = createElement_upvr("TextLabel");
}
local createRef_upvr_result1_5 = createRef_upvr()
expect(createRef_upvr_result1_5.current:FindFirstChild("OptionalChild").ClassName).to.equal("Frame")
expect(createRef_upvr_result1_5.current:FindFirstChild("RequiredChild").ClassName).to.equal("ScrollingFrame")
var7_upvr.unmountVirtualTree(var7_upvr.mountVirtualTree(createElement_upvr(forwardRef_upvr_result1, {
[Ref_upvr] = createRef_upvr_result1_5;
optional = createElement_upvr("Frame");
required = createElement_upvr("ScrollingFrame");
}), nil, "with optional"))
expect(createRef_upvr_result1_5.current:FindFirstChild("OptionalChild").ClassName).to.equal("TextLabel")
expect(createRef_upvr_result1_5.current:FindFirstChild("RequiredChild").ClassName).to.equal("ScrollingFrame")
var7_upvr.unmountVirtualTree(var7_upvr.mountVirtualTree(createElement_upvr(forwardRef_upvr_result1, {
[Ref_upvr] = createRef_upvr_result1_5;
required = createElement_upvr("ScrollingFrame");
}), nil, "with default"))
end)
local GlobalConfig_upvr = require(script.Parent.GlobalConfig)
it("should error if not provided a callback when type checking is enabled", function() -- Line 153
--[[ Upvalues[2]:
[1]: GlobalConfig_upvr (readonly)
[2]: forwardRef_upvr (readonly)
]]
GlobalConfig_upvr.scoped({
typeChecks = true;
}, function() -- Line 156
--[[ Upvalues[1]:
[1]: forwardRef_upvr (copied, readonly)
]]
expect(function() -- Line 157
--[[ Upvalues[1]:
[1]: forwardRef_upvr (copied, readonly)
]]
forwardRef_upvr(nil)
end).to.throw()
end)
GlobalConfig_upvr.scoped({
typeChecks = true;
}, function() -- Line 164
--[[ Upvalues[1]:
[1]: forwardRef_upvr (copied, readonly)
]]
expect(function() -- Line 165
--[[ Upvalues[1]:
[1]: forwardRef_upvr (copied, readonly)
]]
forwardRef_upvr("foo")
end).to.throw()
end)
end)
it("should work without a ref to be forwarded", function() -- Line 171
--[[ Upvalues[5]:
[1]: createElement_upvr (readonly)
[2]: assign_upvr (readonly)
[3]: Ref_upvr (readonly)
[4]: forwardRef_upvr (readonly)
[5]: var7_upvr (readonly)
]]
local function Child() -- Line 172
return nil
end
local function Wrapper(arg1) -- Line 176
--[[ Upvalues[4]:
[1]: createElement_upvr (copied, readonly)
[2]: Child (readonly)
[3]: assign_upvr (copied, readonly)
[4]: Ref_upvr (copied, readonly)
]]
return createElement_upvr(Child, assign_upvr({}, arg1, {
[Ref_upvr] = arg1.forwardedRef;
}))
end
var7_upvr.unmountVirtualTree(var7_upvr.mountVirtualTree(createElement_upvr(forwardRef_upvr(function(arg1, arg2) -- Line 180
--[[ Upvalues[3]:
[1]: createElement_upvr (copied, readonly)
[2]: Wrapper (readonly)
[3]: assign_upvr (copied, readonly)
]]
local module = {}
module.forwardedRef = arg2
return createElement_upvr(Wrapper, assign_upvr({}, arg1, module))
end), {
value = 123;
}), nil, "nil ref"))
end)
it("should forward a ref for a single child", function() -- Line 189
--[[ Upvalues[6]:
[1]: createElement_upvr (readonly)
[2]: Ref_upvr (readonly)
[3]: assign_upvr (readonly)
[4]: forwardRef_upvr (readonly)
[5]: createRef_upvr (readonly)
[6]: var7_upvr (readonly)
]]
local var57_upvw
local function Child(arg1) -- Line 191
--[[ Upvalues[3]:
[1]: var57_upvw (read and write)
[2]: createElement_upvr (copied, readonly)
[3]: Ref_upvr (copied, readonly)
]]
var57_upvw = arg1.value
return createElement_upvr("Frame", {
[Ref_upvr] = arg1[Ref_upvr];
})
end
local function Wrapper(arg1) -- Line 198
--[[ Upvalues[4]:
[1]: createElement_upvr (copied, readonly)
[2]: Child (readonly)
[3]: assign_upvr (copied, readonly)
[4]: Ref_upvr (copied, readonly)
]]
return createElement_upvr(Child, assign_upvr({}, arg1, {
[Ref_upvr] = arg1.forwardedRef;
}))
end
local var4_result1 = createRef_upvr()
expect(var57_upvw).to.equal(123)
expect(var4_result1.current.ClassName).to.equal("Frame")
var7_upvr.unmountVirtualTree(var7_upvr.mountVirtualTree(createElement_upvr(forwardRef_upvr(function(arg1, arg2) -- Line 202
--[[ Upvalues[3]:
[1]: createElement_upvr (copied, readonly)
[2]: Wrapper (readonly)
[3]: assign_upvr (copied, readonly)
]]
local module_8 = {}
module_8.forwardedRef = arg2
return createElement_upvr(Wrapper, assign_upvr({}, arg1, module_8))
end), {
[Ref_upvr] = var4_result1;
value = 123;
}), nil, "single child ref"))
end)
it("should forward a ref for multiple children", function() -- Line 215
--[[ Upvalues[6]:
[1]: createElement_upvr (readonly)
[2]: Ref_upvr (readonly)
[3]: assign_upvr (readonly)
[4]: forwardRef_upvr (readonly)
[5]: createRef_upvr (readonly)
[6]: var7_upvr (readonly)
]]
local function Child(arg1) -- Line 216
--[[ Upvalues[2]:
[1]: createElement_upvr (copied, readonly)
[2]: Ref_upvr (copied, readonly)
]]
return createElement_upvr("Frame", {
[Ref_upvr] = arg1[Ref_upvr];
})
end
local function Wrapper(arg1) -- Line 222
--[[ Upvalues[4]:
[1]: createElement_upvr (copied, readonly)
[2]: Child (readonly)
[3]: assign_upvr (copied, readonly)
[4]: Ref_upvr (copied, readonly)
]]
return createElement_upvr(Child, assign_upvr({}, arg1, {
[Ref_upvr] = arg1.forwardedRef;
}))
end
local createRef_upvr_result1_4 = createRef_upvr()
expect(createRef_upvr_result1_4.current.ClassName).to.equal("Frame")
var7_upvr.unmountVirtualTree(var7_upvr.mountVirtualTree(createElement_upvr("Frame", nil, {
NoRef1 = createElement_upvr("Frame");
WithRef = createElement_upvr(forwardRef_upvr(function(arg1, arg2) -- Line 226
--[[ Upvalues[3]:
[1]: createElement_upvr (copied, readonly)
[2]: Wrapper (readonly)
[3]: assign_upvr (copied, readonly)
]]
local module_7 = {}
module_7.forwardedRef = arg2
return createElement_upvr(Wrapper, assign_upvr({}, arg1, module_7))
end), {
[Ref_upvr] = createRef_upvr_result1_4;
});
NoRef2 = createElement_upvr("Frame");
}), nil, "multi child ref"))
end)
it("should maintain child instance and ref through updates", function() -- Line 242
--[[ Upvalues[5]:
[1]: createElement_upvr (readonly)
[2]: Ref_upvr (readonly)
[3]: assign_upvr (readonly)
[4]: forwardRef_upvr (readonly)
[5]: var7_upvr (readonly)
]]
local var73_upvw
local function Child_upvr(arg1) -- Line 244, Named "Child"
--[[ Upvalues[3]:
[1]: var73_upvw (read and write)
[2]: createElement_upvr (copied, readonly)
[3]: Ref_upvr (copied, readonly)
]]
var73_upvw = arg1.value
return createElement_upvr("Frame", {
[Ref_upvr] = arg1[Ref_upvr];
})
end
local function Wrapper_upvr(arg1) -- Line 251, Named "Wrapper"
--[[ Upvalues[4]:
[1]: createElement_upvr (copied, readonly)
[2]: Child_upvr (readonly)
[3]: assign_upvr (copied, readonly)
[4]: Ref_upvr (copied, readonly)
]]
return createElement_upvr(Child_upvr, assign_upvr({}, arg1, {
[Ref_upvr] = arg1.forwardedRef;
}))
end
local forwardRef_upvr_result1_4 = forwardRef_upvr(function(arg1, arg2) -- Line 255
--[[ Upvalues[3]:
[1]: createElement_upvr (copied, readonly)
[2]: Wrapper_upvr (readonly)
[3]: assign_upvr (copied, readonly)
]]
local module_3 = {}
module_3.forwardedRef = arg2
return createElement_upvr(Wrapper_upvr, assign_upvr({}, arg1, module_3))
end)
local var79_upvw = 0
local var80_upvw
local function var81(arg1) -- Line 262
--[[ Upvalues[2]:
[1]: var79_upvw (read and write)
[2]: var80_upvw (read and write)
]]
var79_upvw += 1
var80_upvw = arg1
end
expect(var73_upvw).to.equal(123)
expect(var80_upvw.ClassName).to.equal("Frame")
expect(var79_upvw).to.equal(1)
expect(var73_upvw).to.equal(456)
expect(var79_upvw).to.equal(1)
var7_upvr.unmountVirtualTree(var7_upvr.updateVirtualTree(var7_upvr.mountVirtualTree(createElement_upvr(forwardRef_upvr_result1_4, {
[Ref_upvr] = var81;
value = 123;
}), nil, "maintains instance"), createElement_upvr(forwardRef_upvr_result1_4, {
[Ref_upvr] = var81;
value = 456;
})))
end)
local Component_upvr = require(script.Parent.Component)
it("should not re-run the render callback on a deep setState", function() -- Line 282
--[[ Upvalues[6]:
[1]: Component_upvr (readonly)
[2]: createElement_upvr (readonly)
[3]: Ref_upvr (readonly)
[4]: forwardRef_upvr (readonly)
[5]: assign_upvr (readonly)
[6]: var7_upvr (readonly)
]]
local var86_upvw
local tbl_upvw = {}
local any_extend_result1_upvr = Component_upvr:extend("Inner")
function any_extend_result1_upvr.render(arg1) -- Line 287
--[[ Upvalues[4]:
[1]: tbl_upvw (read and write)
[2]: var86_upvw (read and write)
[3]: createElement_upvr (copied, readonly)
[4]: Ref_upvr (copied, readonly)
]]
table.insert(tbl_upvw, "Inner")
var86_upvw = arg1
return createElement_upvr("Frame", {
[Ref_upvr] = arg1.props.forwardedRef;
})
end
local function Middle_upvr(arg1) -- Line 293, Named "Middle"
--[[ Upvalues[3]:
[1]: tbl_upvw (read and write)
[2]: createElement_upvr (copied, readonly)
[3]: any_extend_result1_upvr (readonly)
]]
table.insert(tbl_upvw, "Middle")
return createElement_upvr(any_extend_result1_upvr, arg1)
end
local forwardRef_upvr_result1_2_upvr = forwardRef_upvr(function(arg1, arg2) -- Line 298
--[[ Upvalues[4]:
[1]: tbl_upvw (read and write)
[2]: createElement_upvr (copied, readonly)
[3]: Middle_upvr (readonly)
[4]: assign_upvr (copied, readonly)
]]
table.insert(tbl_upvw, "Forward")
local module_4 = {}
module_4.forwardedRef = arg2
return createElement_upvr(Middle_upvr, assign_upvr({}, arg1, module_4))
end)
expect(#tbl_upvw).to.equal(4)
expect(tbl_upvw[1]).to.equal("App")
expect(tbl_upvw[2]).to.equal("Forward")
expect(tbl_upvw[3]).to.equal("Middle")
expect(tbl_upvw[4]).to.equal("Inner")
tbl_upvw = {}
local var93 = tbl_upvw
var86_upvw:setState({})
expect(#var93).to.equal(1)
expect(var93[1]).to.equal("Inner")
var7_upvr.unmountVirtualTree(var7_upvr.mountVirtualTree(createElement_upvr(function() -- Line 303, Named "App"
--[[ Upvalues[3]:
[1]: tbl_upvw (read and write)
[2]: createElement_upvr (copied, readonly)
[3]: forwardRef_upvr_result1_2_upvr (readonly)
]]
table.insert(tbl_upvw, "App")
return createElement_upvr(forwardRef_upvr_result1_2_upvr)
end), nil, "deep setState"))
end)
it("should not include the ref in the forwarded props", function() -- Line 322
--[[ Upvalues[6]:
[1]: createElement_upvr (readonly)
[2]: Ref_upvr (readonly)
[3]: forwardRef_upvr (readonly)
[4]: assign_upvr (readonly)
[5]: createRef_upvr (readonly)
[6]: var7_upvr (readonly)
]]
local var95_upvw
local function CaptureProps_upvr(arg1) -- Line 324, Named "CaptureProps"
--[[ Upvalues[3]:
[1]: var95_upvw (read and write)
[2]: createElement_upvr (copied, readonly)
[3]: Ref_upvr (copied, readonly)
]]
var95_upvw = arg1
return createElement_upvr("Frame", {
[Ref_upvr] = arg1.forwardedRef;
})
end
local createRef_upvr_result1 = createRef_upvr()
expect(var95_upvw).to.be.ok()
expect(var95_upvw.forwardedRef).to.equal(createRef_upvr_result1)
expect(var95_upvw[Ref_upvr]).to.equal(nil)
var7_upvr.unmountVirtualTree(var7_upvr.mountVirtualTree(createElement_upvr(forwardRef_upvr(function(arg1, arg2) -- Line 329
--[[ Upvalues[3]:
[1]: createElement_upvr (copied, readonly)
[2]: CaptureProps_upvr (readonly)
[3]: assign_upvr (copied, readonly)
]]
local module_2 = {}
module_2.forwardedRef = arg2
return createElement_upvr(CaptureProps_upvr, assign_upvr({}, arg1, module_2))
end), {
[Ref_upvr] = createRef_upvr_result1;
}), nil, "no ref in props"))
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:20
-- Luau version 6, Types version 3
-- Time taken: 0.001787 seconds
local tbl_upvr = {}
local any_named_result1_upvr = require(script.Parent.Symbol).named("Nil")
return function(arg1, arg2) -- Line 16, Named "getDefaultInstanceProperty"
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_named_result1_upvr (readonly)
]]
local var3
if var3 then
local var4 = var3[arg2]
if var4 == any_named_result1_upvr then
return true, nil
end
if var4 ~= nil then
do
return true, var4
end
-- KONSTANTWARNING: GOTO [20] #18
end
else
var3 = {}
tbl_upvr[arg1] = var3
end
local any_upvr = Instance.new(arg1)
local pcall_result1, pcall_result2 = pcall(function() -- Line 37
--[[ Upvalues[2]:
[1]: any_upvr (readonly)
[2]: arg2 (readonly)
]]
return any_upvr[arg2]
end)
any_upvr:Destroy()
if pcall_result1 then
if pcall_result2 == nil then
var3[arg2] = any_named_result1_upvr
return pcall_result1, pcall_result2
end
var3[arg2] = pcall_result2
end
return pcall_result1, pcall_result2
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:22
-- Luau version 6, Types version 3
-- Time taken: 0.002458 seconds
return function() -- Line 1
local getDefaultInstanceProperty_upvr = require(script.Parent.getDefaultInstanceProperty)
it("should get default name string values", function() -- Line 4
--[[ Upvalues[1]:
[1]: getDefaultInstanceProperty_upvr (readonly)
]]
local _, getDefaultInstanceProperty_upvr_result2 = getDefaultInstanceProperty_upvr("StringValue", "Name")
expect(getDefaultInstanceProperty_upvr_result2).to.equal("Value")
end)
it("should get default empty string values", function() -- Line 10
--[[ Upvalues[1]:
[1]: getDefaultInstanceProperty_upvr (readonly)
]]
local getDefaultInstanceProperty_upvr_result1, getDefaultInstanceProperty_upvr_result2_2 = getDefaultInstanceProperty_upvr("StringValue", "Value")
expect(getDefaultInstanceProperty_upvr_result2_2).to.equal("")
end)
it("should get default number values", function() -- Line 16
--[[ Upvalues[1]:
[1]: getDefaultInstanceProperty_upvr (readonly)
]]
local _, getDefaultInstanceProperty_upvr_result2_4 = getDefaultInstanceProperty_upvr("IntValue", "Value")
expect(getDefaultInstanceProperty_upvr_result2_4).to.equal(0)
end)
it("should get nil default values", function() -- Line 22
--[[ Upvalues[1]:
[1]: getDefaultInstanceProperty_upvr (readonly)
]]
local _, getDefaultInstanceProperty_upvr_result2_3 = getDefaultInstanceProperty_upvr("ObjectValue", "Value")
expect(getDefaultInstanceProperty_upvr_result2_3).to.equal(nil)
end)
it("should get bool default values", function() -- Line 28
--[[ Upvalues[1]:
[1]: getDefaultInstanceProperty_upvr (readonly)
]]
local _, getDefaultInstanceProperty_upvr_result2_5 = getDefaultInstanceProperty_upvr("BoolValue", "Value")
expect(getDefaultInstanceProperty_upvr_result2_5).to.equal(false)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:23
-- Luau version 6, Types version 3
-- Time taken: 0.003269 seconds
return function() -- Line 1
local Parent_upvr = require(script.Parent)
it("should load with all public APIs", function() -- Line 4
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
local tbl = {
createElement = "function";
createFragment = "function";
createRef = "function";
forwardRef = "function";
createBinding = "function";
joinBindings = "function";
mount = "function";
unmount = "function";
update = "function";
oneChild = "function";
setGlobalConfig = "function";
createContext = "function";
reify = "function";
teardown = "function";
reconcile = "function";
Component = true;
PureComponent = true;
Portal = true;
Children = true;
Event = true;
Change = true;
Ref = true;
None = true;
UNSTABLE = true;
}
expect(Parent_upvr).to.be.ok()
for i, v in pairs(tbl) do
local var14
if typeof(v) == "string" then
if typeof(Parent_upvr[i]) ~= v then
var14 = false
else
var14 = true
end
elseif Parent_upvr[i] == nil then
var14 = false
else
var14 = true
local var15
end
if not var14 then
if typeof(v) == "boolean" then
var15 = "present"
else
var15 = "of type "..tostring(v)
end
error("Expected public API member %q to be %s, but instead it was of type %s":format(tostring(i), var15, typeof(Parent_upvr[i])))
end
end
for i_2 in pairs(Parent_upvr) do
if tbl[i_2] == nil then
var15 = error
var15("Found unknown public API key %q!":format(tostring(i_2)))
end
end
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:25
-- Luau version 6, Types version 3
-- Time taken: 0.000488 seconds
return function(arg1, arg2) -- Line 1, Named "internalAssert"
if not arg1 then
error(arg2.." (This is probably a bug in Roact!)", 3)
end
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:26
-- Luau version 6, Types version 3
-- Time taken: 0.001107 seconds
local ComponentLifecyclePhase = require(script.Parent.ComponentLifecyclePhase)
return {
[ComponentLifecyclePhase.WillUpdate] = "setState cannot be used in the willUpdate lifecycle method.\nConsider using the didUpdate method instead, or using getDerivedStateFromProps.\n\nCheck the definition of willUpdate in the component %q.";
[ComponentLifecyclePhase.ShouldUpdate] = "setState cannot be used in the shouldUpdate lifecycle method.\nshouldUpdate must be a pure function that only depends on props and state.\n\nCheck the definition of shouldUpdate in the component %q.";
[ComponentLifecyclePhase.Render] = "setState cannot be used in the render method.\nrender must be a pure function that only depends on props and state.\n\nCheck the definition of render in the component %q.";
default = "setState can not be used in the current situation, because Roact doesn't know\nwhich part of the lifecycle this component is in.\n\nThis is a bug in Roact.\nIt was triggered by the component %q.\n";
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:28
-- Luau version 6, Types version 3
-- Time taken: 0.000727 seconds
return function(arg1) -- Line 8, Named "oneChild"
if not arg1 then
return nil
end
local next_result1, next_result2 = next(arg1)
if not next_result2 then
return nil
end
if next(arg1, next_result1) then
error("Expected at most child, had more than one child.", 2)
end
return next_result2
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:29
-- Luau version 6, Types version 3
-- Time taken: 0.001944 seconds
return function() -- Line 1
local createElement_upvr = require(script.Parent.createElement)
local oneChild_upvr = require(script.Parent.oneChild)
it("should get zero children from a table", function() -- Line 6
--[[ Upvalues[1]:
[1]: oneChild_upvr (readonly)
]]
expect(oneChild_upvr({})).to.equal(nil)
end)
it("should get exactly one child", function() -- Line 12
--[[ Upvalues[2]:
[1]: createElement_upvr (readonly)
[2]: oneChild_upvr (readonly)
]]
local var2_result1 = createElement_upvr("Frame")
expect(oneChild_upvr({
foo = var2_result1;
})).to.equal(var2_result1)
end)
it("should error with more than one child", function() -- Line 21
--[[ Upvalues[2]:
[1]: createElement_upvr (readonly)
[2]: oneChild_upvr (readonly)
]]
local tbl_upvr = {
a = createElement_upvr("Frame");
b = createElement_upvr("Frame");
}
expect(function() -- Line 27
--[[ Upvalues[2]:
[1]: oneChild_upvr (copied, readonly)
[2]: tbl_upvr (readonly)
]]
oneChild_upvr(tbl_upvr)
end).to.throw()
end)
it("should handle being passed nil", function() -- Line 32
--[[ Upvalues[1]:
[1]: oneChild_upvr (readonly)
]]
expect(oneChild_upvr(nil)).to.equal(nil)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:31
-- Luau version 6, Types version 3
-- Time taken: 0.001609 seconds
return function(arg1, arg2) -- Line 2, Named "strict"
local var1_upvr = arg2
if not var1_upvr then
var1_upvr = tostring(arg1)
end
return setmetatable(arg1, {
__index = function(arg1_2, arg2_2) -- Line 8, Named "__index"
--[[ Upvalues[1]:
[1]: var1_upvr (readonly)
]]
error("%q (%s) is not a valid member of %s":format(tostring(arg2_2), typeof(arg2_2), var1_upvr), 2)
end;
__newindex = function(arg1_3, arg2_3, arg3) -- Line 14, Named "__newindex"
--[[ Upvalues[1]:
[1]: var1_upvr (readonly)
]]
error("%q (%s) is not a valid member of %s":format(tostring(arg2_3), typeof(arg2_3), var1_upvr), 2)
end;
})
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:32
-- Luau version 6, Types version 3
-- Time taken: 0.001448 seconds
return function() -- Line 1
local strict_upvr = require(script.Parent.strict)
it("should error when getting a nonexistent key", function() -- Line 4
--[[ Upvalues[1]:
[1]: strict_upvr (readonly)
]]
local var2_result1_upvr = strict_upvr({
a = 1;
b = 2;
})
expect(function() -- Line 10
--[[ Upvalues[1]:
[1]: var2_result1_upvr (readonly)
]]
return var2_result1_upvr.c
end).to.throw()
end)
it("should error when setting a nonexistent key", function() -- Line 15
--[[ Upvalues[1]:
[1]: strict_upvr (readonly)
]]
local strict_upvr_result1_upvr = strict_upvr({
a = 1;
b = 2;
})
expect(function() -- Line 21
--[[ Upvalues[1]:
[1]: strict_upvr_result1_upvr (readonly)
]]
strict_upvr_result1_upvr.c = 3
end).to.throw()
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:33
-- Luau version 6, Types version 3
-- Time taken: 0.011958 seconds
return function() -- Line 1
local assertDeepEqual_upvr = require(script.Parent.Parent.assertDeepEqual)
local createElement_upvr = require(script.Parent.Parent.createElement)
local oneChild_upvr = require(script.Parent.Parent.oneChild)
local Component_upvr = require(script.Parent.Parent.Component)
local var6_upvr = require(script.Parent.Parent.createReconciler)(require(script.Parent.Parent.NoopRenderer))
it("should be provided as an internal api on Component", function() -- Line 12
--[[ Upvalues[4]:
[1]: Component_upvr (readonly)
[2]: createElement_upvr (readonly)
[3]: var6_upvr (readonly)
[4]: assertDeepEqual_upvr (readonly)
]]
local any_extend_result1_9 = Component_upvr:extend("Provider")
local function init(arg1) -- Line 15
arg1:__addContext("foo", "bar")
end
any_extend_result1_9.init = init
local function render(arg1) -- Line 19
end
any_extend_result1_9.render = render
assertDeepEqual_upvr(var6_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_9), nil, "Provider").context, {
foo = "bar";
})
end)
it("should be inherited from parent stateful nodes", function() -- Line 33
--[[ Upvalues[4]:
[1]: Component_upvr (readonly)
[2]: createElement_upvr (readonly)
[3]: var6_upvr (readonly)
[4]: assertDeepEqual_upvr (readonly)
]]
local any_extend_result1_4_upvr = Component_upvr:extend("Consumer")
local var12_upvw
local function init(arg1) -- Line 37
--[[ Upvalues[1]:
[1]: var12_upvw (read and write)
]]
var12_upvw = {
hello = arg1:__getContext("hello");
value = arg1:__getContext("value");
}
end
any_extend_result1_4_upvr.init = init
local function render(arg1) -- Line 44
end
any_extend_result1_4_upvr.render = render
local any_extend_result1_7 = Component_upvr:extend("Parent")
local function render(arg1) -- Line 48
--[[ Upvalues[2]:
[1]: createElement_upvr (copied, readonly)
[2]: any_extend_result1_4_upvr (readonly)
]]
return createElement_upvr(any_extend_result1_4_upvr)
end
any_extend_result1_7.render = render
local tbl_3 = {
hello = "world";
value = 6;
}
local any_mountVirtualNode_result1_5 = var6_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_7), nil, "Parent", tbl_3)
expect(var12_upvw).never.to.equal(tbl_3)
expect(var12_upvw).never.to.equal(any_mountVirtualNode_result1_5.context)
assertDeepEqual_upvr(any_mountVirtualNode_result1_5.context, tbl_3)
assertDeepEqual_upvr(var12_upvw, tbl_3)
end)
it("should be inherited from parent function nodes", function() -- Line 67
--[[ Upvalues[4]:
[1]: Component_upvr (readonly)
[2]: createElement_upvr (readonly)
[3]: var6_upvr (readonly)
[4]: assertDeepEqual_upvr (readonly)
]]
local any_extend_result1_3_upvr = Component_upvr:extend("Consumer")
local var19_upvw
local function init(arg1) -- Line 71
--[[ Upvalues[1]:
[1]: var19_upvw (read and write)
]]
var19_upvw = {
hello = arg1:__getContext("hello");
value = arg1:__getContext("value");
}
end
any_extend_result1_3_upvr.init = init
local function render(arg1) -- Line 78
end
any_extend_result1_3_upvr.render = render
local tbl = {
hello = "world";
value = 6;
}
local any_mountVirtualNode_result1_2 = var6_upvr.mountVirtualNode(createElement_upvr(function() -- Line 80, Named "Parent"
--[[ Upvalues[2]:
[1]: createElement_upvr (copied, readonly)
[2]: any_extend_result1_3_upvr (readonly)
]]
return createElement_upvr(any_extend_result1_3_upvr)
end), nil, "Parent", tbl)
expect(var19_upvw).never.to.equal(tbl)
expect(var19_upvw).never.to.equal(any_mountVirtualNode_result1_2.context)
assertDeepEqual_upvr(any_mountVirtualNode_result1_2.context, tbl)
assertDeepEqual_upvr(var19_upvw, tbl)
end)
it("should not copy the context table if it doesn't need to", function() -- Line 99
--[[ Upvalues[5]:
[1]: Component_upvr (readonly)
[2]: createElement_upvr (readonly)
[3]: var6_upvr (readonly)
[4]: assertDeepEqual_upvr (readonly)
[5]: oneChild_upvr (readonly)
]]
local any_extend_result1_8 = Component_upvr:extend("Parent")
local function init(arg1) -- Line 102
arg1:__addContext("parent", "I'm here!")
end
any_extend_result1_8.init = init
local function render(arg1) -- Line 106
--[[ Upvalues[1]:
[1]: createElement_upvr (copied, readonly)
]]
return createElement_upvr(function() -- Line 108
end)
end
any_extend_result1_8.render = render
local any_mountVirtualNode_result1_3 = var6_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_8), nil, "Parent")
assertDeepEqual_upvr(any_mountVirtualNode_result1_3.context, {
parent = "I'm here!";
})
expect(any_mountVirtualNode_result1_3.context).to.equal(oneChild_upvr(any_mountVirtualNode_result1_3.children).context)
end)
it("should not allow context to move up the tree", function() -- Line 128
--[[ Upvalues[5]:
[1]: Component_upvr (readonly)
[2]: createElement_upvr (readonly)
[3]: var6_upvr (readonly)
[4]: oneChild_upvr (readonly)
[5]: assertDeepEqual_upvr (readonly)
]]
local any_extend_result1_11_upvr = Component_upvr:extend("ChildProvider")
local function init(arg1) -- Line 131
arg1:__addContext("child", "I'm here too!")
end
any_extend_result1_11_upvr.init = init
local function render(arg1) -- Line 135
end
any_extend_result1_11_upvr.render = render
local any_extend_result1_10 = Component_upvr:extend("ParentProvider")
local function init(arg1) -- Line 139
arg1:__addContext("parent", "I'm here!")
end
any_extend_result1_10.init = init
local function render(arg1) -- Line 143
--[[ Upvalues[2]:
[1]: createElement_upvr (copied, readonly)
[2]: any_extend_result1_11_upvr (readonly)
]]
return createElement_upvr(any_extend_result1_11_upvr)
end
any_extend_result1_10.render = render
local any_mountVirtualNode_result1 = var6_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_10), nil, "Parent")
assertDeepEqual_upvr(any_mountVirtualNode_result1.context, {
parent = "I'm here!";
})
assertDeepEqual_upvr(oneChild_upvr(any_mountVirtualNode_result1.children).context, {
parent = "I'm here!";
child = "I'm here too!";
})
end)
it("should contain values put into the tree by parent nodes", function() -- Line 168
--[[ Upvalues[4]:
[1]: Component_upvr (readonly)
[2]: createElement_upvr (readonly)
[3]: var6_upvr (readonly)
[4]: assertDeepEqual_upvr (readonly)
]]
local any_extend_result1_2_upvr = Component_upvr:extend("Consumer")
local var36_upvw
local function init(arg1) -- Line 172
--[[ Upvalues[1]:
[1]: var36_upvw (read and write)
]]
var36_upvw = {
dont = arg1:__getContext("dont");
frob = arg1:__getContext("frob");
}
end
any_extend_result1_2_upvr.init = init
local function render(arg1) -- Line 179
end
any_extend_result1_2_upvr.render = render
local any_extend_result1_6 = Component_upvr:extend("Provider")
local function init(arg1) -- Line 183
arg1:__addContext("frob", "ulator")
end
any_extend_result1_6.init = init
local function render(arg1) -- Line 187
--[[ Upvalues[2]:
[1]: createElement_upvr (copied, readonly)
[2]: any_extend_result1_2_upvr (readonly)
]]
return createElement_upvr(any_extend_result1_2_upvr)
end
any_extend_result1_6.render = render
local tbl_4 = {
dont = "try it";
}
local any_mountVirtualNode_result1_4 = var6_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_6), nil, "Consumer", tbl_4)
local tbl_2 = {
dont = "try it";
frob = "ulator";
}
expect(any_mountVirtualNode_result1_4.context).never.to.equal(tbl_4)
expect(var36_upvw).never.to.equal(tbl_4)
expect(var36_upvw).never.to.equal(any_mountVirtualNode_result1_4.context)
assertDeepEqual_upvr(tbl_4, {
dont = "try it";
})
assertDeepEqual_upvr(any_mountVirtualNode_result1_4.context, tbl_2)
assertDeepEqual_upvr(var36_upvw, tbl_2)
end)
it("should transfer context to children that are replaced", function() -- Line 218
--[[ Upvalues[4]:
[1]: Component_upvr (readonly)
[2]: createElement_upvr (readonly)
[3]: var6_upvr (readonly)
[4]: assertDeepEqual_upvr (readonly)
]]
local any_extend_result1_5_upvr = Component_upvr:extend("ConsumerA")
local function captureAllContext_upvr(arg1) -- Line 221, Named "captureAllContext"
return {
A = arg1:__getContext('A');
B = arg1:__getContext('B');
frob = arg1:__getContext("frob");
}
end
local var46_upvw
local function init(arg1) -- Line 230
--[[ Upvalues[2]:
[1]: var46_upvw (read and write)
[2]: captureAllContext_upvr (readonly)
]]
arg1:__addContext('A', "hello")
var46_upvw = captureAllContext_upvr(arg1)
end
any_extend_result1_5_upvr.init = init
local function render(arg1) -- Line 236
end
any_extend_result1_5_upvr.render = render
local any_extend_result1_upvr = Component_upvr:extend("ConsumerB")
local var48_upvw
local function init(arg1) -- Line 241
--[[ Upvalues[2]:
[1]: var48_upvw (read and write)
[2]: captureAllContext_upvr (readonly)
]]
arg1:__addContext('B', "hello")
var48_upvw = captureAllContext_upvr(arg1)
end
any_extend_result1_upvr.init = init
local function render(arg1) -- Line 247
end
any_extend_result1_upvr.render = render
local any_extend_result1 = Component_upvr:extend("Provider")
function any_extend_result1.init(arg1) -- Line 251
arg1:__addContext("frob", "ulator")
end
function any_extend_result1.render(arg1) -- Line 255
--[[ Upvalues[3]:
[1]: createElement_upvr (copied, readonly)
[2]: any_extend_result1_upvr (readonly)
[3]: any_extend_result1_5_upvr (readonly)
]]
if arg1.props.useConsumerB then
return createElement_upvr(any_extend_result1_upvr)
end
return createElement_upvr(any_extend_result1_5_upvr)
end
assertDeepEqual_upvr(var46_upvw, {
frob = "ulator";
A = "hello";
})
var6_upvr.updateVirtualNode(var6_upvr.mountVirtualNode(createElement_upvr(any_extend_result1), nil, "Consumer"), createElement_upvr(any_extend_result1, {
useConsumerB = true;
}))
assertDeepEqual_upvr(var48_upvw, {
frob = "ulator";
B = "hello";
})
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:35
-- Luau version 6, Types version 3
-- Time taken: 0.004066 seconds
return function() -- Line 1
local assertDeepEqual_upvr = require(script.Parent.Parent.assertDeepEqual)
local createElement_upvr = require(script.Parent.Parent.createElement)
local Component_upvr = require(script.Parent.Parent.Component)
local var5_upvr = require(script.Parent.Parent.createReconciler)(require(script.Parent.Parent.NoopRenderer))
it("should fill in when mounting before init", function() -- Line 12
--[[ Upvalues[4]:
[1]: Component_upvr (readonly)
[2]: createElement_upvr (readonly)
[3]: var5_upvr (readonly)
[4]: assertDeepEqual_upvr (readonly)
]]
local tbl_4 = {
a = 3;
b = 2;
}
local any_extend_result1_2 = Component_upvr:extend("Foo")
any_extend_result1_2.defaultProps = tbl_4
local var9_upvw
function any_extend_result1_2.init(arg1) -- Line 23
--[[ Upvalues[1]:
[1]: var9_upvw (read and write)
]]
var9_upvw = arg1.props
end
local function render(arg1) -- Line 27
end
any_extend_result1_2.render = render
local tbl_6 = {
b = 4;
c = 6;
}
var5_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_2, tbl_6), nil, "Some Foo")
assertDeepEqual_upvr(var9_upvw, {
a = tbl_4.a;
b = tbl_6.b;
c = tbl_6.c;
})
end)
it("should fill in when updating via props", function() -- Line 49
--[[ Upvalues[4]:
[1]: Component_upvr (readonly)
[2]: createElement_upvr (readonly)
[3]: var5_upvr (readonly)
[4]: assertDeepEqual_upvr (readonly)
]]
local tbl = {
a = 3;
b = 2;
}
local any_extend_result1_3 = Component_upvr:extend("Foo")
any_extend_result1_3.defaultProps = tbl
local var15_upvw
local function render(arg1) -- Line 60
--[[ Upvalues[1]:
[1]: var15_upvw (read and write)
]]
var15_upvw = arg1.props
end
any_extend_result1_3.render = render
local tbl_5 = {
c = 5;
}
var5_upvr.updateVirtualNode(var5_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_3, {
b = 4;
c = 6;
}), nil, "Some Foo"), createElement_upvr(any_extend_result1_3, tbl_5))
assertDeepEqual_upvr(var15_upvw, {
a = tbl.a;
b = tbl.b;
c = tbl_5.c;
})
end)
local None_upvr = require(script.Parent.Parent.None)
it("should respect None to override a default prop with nil", function() -- Line 91
--[[ Upvalues[5]:
[1]: Component_upvr (readonly)
[2]: None_upvr (readonly)
[3]: createElement_upvr (readonly)
[4]: var5_upvr (readonly)
[5]: assertDeepEqual_upvr (readonly)
]]
local tbl_2 = {
a = 3;
b = 2;
}
local any_extend_result1 = Component_upvr:extend("Foo")
any_extend_result1.defaultProps = tbl_2
local var23_upvw
function any_extend_result1.render(arg1) -- Line 102
--[[ Upvalues[1]:
[1]: var23_upvw (read and write)
]]
var23_upvw = arg1.props
end
local tbl_3 = {
b = None_upvr;
c = 4;
}
var5_upvr.mountVirtualNode(createElement_upvr(any_extend_result1, tbl_3), nil, "Some Foo")
assertDeepEqual_upvr(var23_upvw, {
a = tbl_2.a;
b = nil;
c = tbl_3.c;
})
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:37
-- Luau version 6, Types version 3
-- Time taken: 0.001651 seconds
return function() -- Line 1
local Component_upvr = require(script.Parent.Parent.Component)
local createSpy_upvr = require(script.Parent.Parent.createSpy)
local createElement_upvr = require(script.Parent.Parent.createElement)
local var6_upvr = require(script.Parent.Parent.createReconciler)(require(script.Parent.Parent.NoopRenderer))
local Type_upvr = require(script.Parent.Parent.Type)
it("should be invoked when mounted", function() -- Line 12
--[[ Upvalues[5]:
[1]: Component_upvr (readonly)
[2]: createSpy_upvr (readonly)
[3]: createElement_upvr (readonly)
[4]: var6_upvr (readonly)
[5]: Type_upvr (readonly)
]]
local any_extend_result1 = Component_upvr:extend("MyComponent")
local createSpy_upvr_result1 = createSpy_upvr()
any_extend_result1.didMount = createSpy_upvr_result1.value
function any_extend_result1.render(arg1) -- Line 19
return nil
end
var6_upvr.mountVirtualNode(createElement_upvr(any_extend_result1), nil, "Test")
expect(createSpy_upvr_result1.callCount).to.equal(1)
expect(Type_upvr.of(createSpy_upvr_result1:captureValues("self").self)).to.equal(Type_upvr.StatefulComponentInstance)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:38
-- Luau version 6, Types version 3
-- Time taken: 0.004544 seconds
return function() -- Line 1
local assertDeepEqual_upvr = require(script.Parent.Parent.assertDeepEqual)
local createElement_upvr = require(script.Parent.Parent.createElement)
local createSpy_upvr = require(script.Parent.Parent.createSpy)
local Type_upvr = require(script.Parent.Parent.Type)
local Component_upvr = require(script.Parent.Parent.Component)
local var7_upvr = require(script.Parent.Parent.createReconciler)(require(script.Parent.Parent.NoopRenderer))
it("should be invoked when updated via updateVirtualNode", function() -- Line 13
--[[ Upvalues[6]:
[1]: Component_upvr (readonly)
[2]: createSpy_upvr (readonly)
[3]: createElement_upvr (readonly)
[4]: var7_upvr (readonly)
[5]: Type_upvr (readonly)
[6]: assertDeepEqual_upvr (readonly)
]]
local any_extend_result1 = Component_upvr:extend("MyComponent")
local createSpy_upvr_result1 = createSpy_upvr()
any_extend_result1.didUpdate = createSpy_upvr_result1.value
local function render(arg1) -- Line 19
return nil
end
any_extend_result1.render = render
local tbl = {
a = 5;
}
expect(createSpy_upvr_result1.callCount).to.equal(0)
var7_upvr.updateVirtualNode(var7_upvr.mountVirtualNode(createElement_upvr(any_extend_result1, tbl), nil, "Test"), createElement_upvr(any_extend_result1, {
a = 6;
b = 2;
}))
expect(createSpy_upvr_result1.callCount).to.equal(1)
local any_captureValues_result1 = createSpy_upvr_result1:captureValues("self", "oldProps", "oldState")
expect(Type_upvr.of(any_captureValues_result1.self)).to.equal(Type_upvr.StatefulComponentInstance)
assertDeepEqual_upvr(any_captureValues_result1.oldProps, tbl)
assertDeepEqual_upvr(any_captureValues_result1.oldState, {})
end)
it("should be invoked when updated via setState", function() -- Line 50
--[[ Upvalues[6]:
[1]: Component_upvr (readonly)
[2]: createSpy_upvr (readonly)
[3]: createElement_upvr (readonly)
[4]: var7_upvr (readonly)
[5]: Type_upvr (readonly)
[6]: assertDeepEqual_upvr (readonly)
]]
local any_extend_result1_2 = Component_upvr:extend("MyComponent")
local createSpy_upvr_result1_2 = createSpy_upvr()
any_extend_result1_2.didUpdate = createSpy_upvr_result1_2.value
local tbl_2_upvr = {
a = 4;
}
local var19_upvw
function any_extend_result1_2.init(arg1) -- Line 61
--[[ Upvalues[2]:
[1]: var19_upvw (read and write)
[2]: tbl_2_upvr (readonly)
]]
function var19_upvw(...) -- Line 62
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
return arg1:setState(...)
end
arg1:setState(tbl_2_upvr)
end
function any_extend_result1_2.render(arg1) -- Line 69
end
var7_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_2), nil, "Test")
expect(createSpy_upvr_result1_2.callCount).to.equal(0)
var19_upvw({
a = 5;
})
expect(createSpy_upvr_result1_2.callCount).to.equal(1)
local any_captureValues_result1_2 = createSpy_upvr_result1_2:captureValues("self", "oldProps", "oldState")
expect(Type_upvr.of(any_captureValues_result1_2.self)).to.equal(Type_upvr.StatefulComponentInstance)
assertDeepEqual_upvr(any_captureValues_result1_2.oldProps, {})
assertDeepEqual_upvr(any_captureValues_result1_2.oldState, tbl_2_upvr)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:40
-- Luau version 6, Types version 3
-- Time taken: 0.002136 seconds
return function() -- Line 1
local Component_upvr = require(script.Parent.Parent.Component)
local Type_upvr = require(script.Parent.Parent.Type)
it("should be extendable", function() -- Line 6
--[[ Upvalues[2]:
[1]: Component_upvr (readonly)
[2]: Type_upvr (readonly)
]]
local any_extend_result1 = Component_upvr:extend("The Senate")
expect(any_extend_result1).to.be.ok()
expect(Type_upvr.of(any_extend_result1)).to.equal(Type_upvr.StatefulComponentClass)
end)
it("should prevent extending a user component", function() -- Line 13
--[[ Upvalues[1]:
[1]: Component_upvr (readonly)
]]
local any_extend_result1_upvr = Component_upvr:extend("Sheev")
expect(function() -- Line 16
--[[ Upvalues[1]:
[1]: any_extend_result1_upvr (readonly)
]]
any_extend_result1_upvr:extend("Frank")
end).to.throw()
end)
it("should use a given name", function() -- Line 21
--[[ Upvalues[1]:
[1]: Component_upvr (readonly)
]]
local tostring_result1 = tostring(Component_upvr:extend("FooBar"))
expect(tostring_result1).to.be.a("string")
expect(tostring_result1:find("FooBar")).to.be.ok()
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:42
-- Luau version 6, Types version 3
-- Time taken: 0.011235 seconds
return function() -- Line 1
local assertDeepEqual_upvr = require(script.Parent.Parent.assertDeepEqual)
local createSpy_upvr = require(script.Parent.Parent.createSpy)
local createElement_upvr = require(script.Parent.Parent.createElement)
local Component_upvr = require(script.Parent.Parent.Component)
local var6_upvr = require(script.Parent.Parent.createReconciler)(require(script.Parent.Parent.NoopRenderer))
it("should be invoked on initial mount", function() -- Line 13
--[[ Upvalues[5]:
[1]: createSpy_upvr (readonly)
[2]: Component_upvr (readonly)
[3]: createElement_upvr (readonly)
[4]: var6_upvr (readonly)
[5]: assertDeepEqual_upvr (readonly)
]]
local createSpy_upvr_result1_7 = createSpy_upvr()
local any_extend_result1_6 = Component_upvr:extend("WithDerivedState")
any_extend_result1_6.getDerivedStateFromProps = createSpy_upvr_result1_7.value
local function render(arg1) -- Line 19
return nil
end
any_extend_result1_6.render = render
var6_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_6, {
someProp = 1;
}), nil, "WithDerivedState")
expect(createSpy_upvr_result1_7.callCount).to.equal(1)
local any_captureValues_result1_2 = createSpy_upvr_result1_7:captureValues("props", "state")
assertDeepEqual_upvr(any_captureValues_result1_2.props, {
someProp = 1;
})
assertDeepEqual_upvr(any_captureValues_result1_2.state, {})
end)
it("should be invoked when updated via props", function() -- Line 39
--[[ Upvalues[5]:
[1]: createSpy_upvr (readonly)
[2]: Component_upvr (readonly)
[3]: var6_upvr (readonly)
[4]: createElement_upvr (readonly)
[5]: assertDeepEqual_upvr (readonly)
]]
local createSpy_upvr_result1_4 = createSpy_upvr()
local any_extend_result1_7 = Component_upvr:extend("WithDerivedState")
any_extend_result1_7.getDerivedStateFromProps = createSpy_upvr_result1_4.value
local function render(arg1) -- Line 45
return nil
end
any_extend_result1_7.render = render
var6_upvr.updateVirtualNode(var6_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_7, {
someProp = 1;
}), nil, "WithDerivedState"), createElement_upvr(any_extend_result1_7, {
someProp = 2;
}))
expect(createSpy_upvr_result1_4.callCount).to.equal(2)
local any_captureValues_result1 = createSpy_upvr_result1_4:captureValues("props", "state")
assertDeepEqual_upvr(any_captureValues_result1.props, {
someProp = 2;
})
assertDeepEqual_upvr(any_captureValues_result1.state, {})
end)
it("should be invoked when updated via state", function() -- Line 75
--[[ Upvalues[5]:
[1]: createSpy_upvr (readonly)
[2]: Component_upvr (readonly)
[3]: createElement_upvr (readonly)
[4]: var6_upvr (readonly)
[5]: assertDeepEqual_upvr (readonly)
]]
local createSpy_upvr_result1_2 = createSpy_upvr()
local any_extend_result1_2 = Component_upvr:extend("WithDerivedState")
any_extend_result1_2.getDerivedStateFromProps = createSpy_upvr_result1_2.value
local function init(arg1) -- Line 81
arg1:setState({
someState = 1;
})
end
any_extend_result1_2.init = init
local function render(arg1) -- Line 87
return nil
end
any_extend_result1_2.render = render
local createElement_upvr_result1 = createElement_upvr(any_extend_result1_2)
var6_upvr.updateVirtualNode(var6_upvr.mountVirtualNode(createElement_upvr_result1, nil, "WithDerivedState"), createElement_upvr_result1, {
someState = 2;
})
expect(createSpy_upvr_result1_2.callCount).to.equal(4)
local any_captureValues_result1_3 = createSpy_upvr_result1_2:captureValues("props", "state")
assertDeepEqual_upvr(any_captureValues_result1_3.props, {})
assertDeepEqual_upvr(any_captureValues_result1_3.state, {
someState = 2;
})
end)
it("should be invoked when updating via state in init (which skips reconciliation)", function() -- Line 114
--[[ Upvalues[5]:
[1]: createSpy_upvr (readonly)
[2]: Component_upvr (readonly)
[3]: createElement_upvr (readonly)
[4]: var6_upvr (readonly)
[5]: assertDeepEqual_upvr (readonly)
]]
local createSpy_upvr_result1_6 = createSpy_upvr()
local any_extend_result1_8 = Component_upvr:extend("WithDerivedState")
any_extend_result1_8.getDerivedStateFromProps = createSpy_upvr_result1_6.value
local function init(arg1) -- Line 120
arg1:setState({
stateFromInit = 1;
})
end
any_extend_result1_8.init = init
local function render(arg1) -- Line 126
return nil
end
any_extend_result1_8.render = render
var6_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_8, {
someProp = 1;
}), nil, "WithDerivedState")
expect(createSpy_upvr_result1_6.callCount).to.equal(3)
local any_captureValues_result1_4 = createSpy_upvr_result1_6:captureValues("props", "state")
assertDeepEqual_upvr(any_captureValues_result1_4.props, {
someProp = 1;
})
assertDeepEqual_upvr(any_captureValues_result1_4.state, {
stateFromInit = 1;
})
end)
it("should receive defaultProps", function() -- Line 154
--[[ Upvalues[5]:
[1]: createSpy_upvr (readonly)
[2]: Component_upvr (readonly)
[3]: createElement_upvr (readonly)
[4]: var6_upvr (readonly)
[5]: assertDeepEqual_upvr (readonly)
]]
local createSpy_upvr_result1_5 = createSpy_upvr()
local any_extend_result1_5 = Component_upvr:extend("WithDerivedState")
any_extend_result1_5.defaultProps = {
someDefaultProp = "foo";
}
any_extend_result1_5.getDerivedStateFromProps = createSpy_upvr_result1_5.value
local function render(arg1) -- Line 164
return nil
end
any_extend_result1_5.render = render
expect(createSpy_upvr_result1_5.callCount).to.equal(1)
assertDeepEqual_upvr(createSpy_upvr_result1_5:captureValues("props", "state").props, {
someDefaultProp = "foo";
someProp = 1;
})
var6_upvr.updateVirtualNode(var6_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_5, {
someProp = 1;
}), nil, "WithDerivedState"), createElement_upvr(any_extend_result1_5, {
someProp = 2;
}))
expect(createSpy_upvr_result1_5.callCount).to.equal(2)
assertDeepEqual_upvr(createSpy_upvr_result1_5:captureValues("props", "state").props, {
someDefaultProp = "foo";
someProp = 2;
})
end)
local createFragment_upvr = require(script.Parent.Parent.createFragment)
it("should derive state for all setState updates, even when deferred", function() -- Line 202
--[[ Upvalues[5]:
[1]: Component_upvr (readonly)
[2]: createSpy_upvr (readonly)
[3]: createFragment_upvr (readonly)
[4]: createElement_upvr (readonly)
[5]: var6_upvr (readonly)
]]
local any_extend_result1_3_upvr = Component_upvr:extend("Child")
local createSpy_upvr_result1_3_upvr = createSpy_upvr(function() -- Line 204
return {}
end)
local var3_result1 = createSpy_upvr()
local function render(arg1) -- Line 209
return nil
end
any_extend_result1_3_upvr.render = render
function any_extend_result1_3_upvr.didMount(arg1) -- Line 213
arg1.props.callback()
end
local any_extend_result1_4 = Component_upvr:extend("Parent")
any_extend_result1_4.getDerivedStateFromProps = var3_result1.value
local function render(arg1) -- Line 221
--[[ Upvalues[4]:
[1]: createSpy_upvr_result1_3_upvr (readonly)
[2]: createFragment_upvr (copied, readonly)
[3]: createElement_upvr (copied, readonly)
[4]: any_extend_result1_3_upvr (readonly)
]]
local function var51() -- Line 222
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: createSpy_upvr_result1_3_upvr (copied, readonly)
]]
arg1:setState(createSpy_upvr_result1_3_upvr.value)
end
return createFragment_upvr({
ChildA = createElement_upvr(any_extend_result1_3_upvr, {
callback = var51;
});
ChildB = createElement_upvr(any_extend_result1_3_upvr, {
callback = var51;
});
})
end
any_extend_result1_4.render = render
var6_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_4), nil, "Test")
expect(createSpy_upvr_result1_3_upvr.callCount).to.equal(2)
expect(var3_result1.callCount).to.equal(3)
end)
it("should have derived state after assigning to state in init", function() -- Line 248
--[[ Upvalues[5]:
[1]: createSpy_upvr (readonly)
[2]: Component_upvr (readonly)
[3]: createElement_upvr (readonly)
[4]: var6_upvr (readonly)
[5]: assertDeepEqual_upvr (readonly)
]]
local var62_upvw
local createSpy_upvr_result1 = createSpy_upvr(function() -- Line 250
return {
derived = true;
}
end)
local any_extend_result1 = Component_upvr:extend("WithDerivedState")
any_extend_result1.getDerivedStateFromProps = createSpy_upvr_result1.value
function any_extend_result1.init(arg1) -- Line 259
--[[ Upvalues[1]:
[1]: var62_upvw (read and write)
]]
arg1.state = {
init = true;
}
function var62_upvw() -- Line 264
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
return arg1.state
end
end
function any_extend_result1.render(arg1) -- Line 269
return nil
end
var6_upvr.mountVirtualNode(createElement_upvr(any_extend_result1), nil, "WithDerivedState")
expect(createSpy_upvr_result1.callCount).to.equal(2)
assertDeepEqual_upvr(var62_upvw(), {
init = true;
derived = true;
})
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:43
-- Luau version 6, Types version 3
-- Time taken: 0.002832 seconds
return function() -- Line 1
local createElement_upvr = require(script.Parent.Parent.createElement)
local GlobalConfig_upvr = require(script.Parent.Parent.GlobalConfig)
local Component_upvr = require(script.Parent.Parent.Component)
local var5_upvr = require(script.Parent.Parent.createReconciler)(require(script.Parent.Parent.NoopRenderer))
it("should return stack traces in initial renders", function() -- Line 11
--[[ Upvalues[4]:
[1]: Component_upvr (readonly)
[2]: GlobalConfig_upvr (readonly)
[3]: createElement_upvr (readonly)
[4]: var5_upvr (readonly)
]]
local any_extend_result1_upvr = Component_upvr:extend("TestComponent")
local var8_upvw
local function init(arg1) -- Line 15
--[[ Upvalues[1]:
[1]: var8_upvw (read and write)
]]
var8_upvw = arg1:getElementTraceback()
end
any_extend_result1_upvr.init = init
local function render(arg1) -- Line 19
return nil
end
any_extend_result1_upvr.render = render
GlobalConfig_upvr.scoped({
elementTracing = true;
}, function() -- Line 27
--[[ Upvalues[3]:
[1]: createElement_upvr (copied, readonly)
[2]: any_extend_result1_upvr (readonly)
[3]: var5_upvr (copied, readonly)
]]
var5_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_upvr), nil, "Some key")
end)
expect(var8_upvw).to.be.a("string")
end)
itSKIP("it should return an updated stack trace after an update", function() -- Line 38
end)
it("should return nil when elementTracing is off", function() -- Line 40
--[[ Upvalues[4]:
[1]: Component_upvr (readonly)
[2]: GlobalConfig_upvr (readonly)
[3]: createElement_upvr (readonly)
[4]: var5_upvr (readonly)
]]
local var13_upvw
local any_extend_result1_upvr_2 = Component_upvr:extend("TestComponent")
function any_extend_result1_upvr_2.init(arg1) -- Line 49
--[[ Upvalues[1]:
[1]: var13_upvw (read and write)
]]
var13_upvw = arg1:getElementTraceback()
end
function any_extend_result1_upvr_2.render(arg1) -- Line 53
return nil
end
GlobalConfig_upvr.scoped({
elementTracing = false;
}, function() -- Line 57
--[[ Upvalues[3]:
[1]: createElement_upvr (copied, readonly)
[2]: any_extend_result1_upvr_2 (readonly)
[3]: var5_upvr (copied, readonly)
]]
var5_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_upvr_2), nil, "Some key")
end)
expect(var13_upvw).to.equal(nil)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:45
-- Luau version 6, Types version 3
-- Time taken: 0.002345 seconds
return function() -- Line 1
local Component_upvr = require(script.Parent.Parent.Component)
local createSpy_upvr = require(script.Parent.Parent.createSpy)
local createElement_upvr = require(script.Parent.Parent.createElement)
local var6_upvr = require(script.Parent.Parent.createReconciler)(require(script.Parent.Parent.NoopRenderer))
local Type_upvr = require(script.Parent.Parent.Type)
local assertDeepEqual_upvr = require(script.Parent.Parent.assertDeepEqual)
it("should be invoked with props when mounted", function() -- Line 13
--[[ Upvalues[6]:
[1]: Component_upvr (readonly)
[2]: createSpy_upvr (readonly)
[3]: createElement_upvr (readonly)
[4]: var6_upvr (readonly)
[5]: Type_upvr (readonly)
[6]: assertDeepEqual_upvr (readonly)
]]
local any_extend_result1 = Component_upvr:extend("MyComponent")
local createSpy_upvr_result1 = createSpy_upvr()
any_extend_result1.init = createSpy_upvr_result1.value
function any_extend_result1.render(arg1) -- Line 20
return nil
end
local tbl = {
a = 5;
}
var6_upvr.mountVirtualNode(createElement_upvr(any_extend_result1, tbl), nil, "Some Component Key")
expect(createSpy_upvr_result1.callCount).to.equal(1)
local any_captureValues_result1 = createSpy_upvr_result1:captureValues("self", "props")
expect(Type_upvr.of(any_captureValues_result1.self)).to.equal(Type_upvr.StatefulComponentInstance)
expect(typeof(any_captureValues_result1.props)).to.equal("table")
assertDeepEqual_upvr(any_captureValues_result1.props, tbl)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:47
-- Luau version 6, Types version 3
-- Time taken: 0.009208 seconds
return function() -- Line 1
local assertDeepEqual_upvr = require(script.Parent.Parent.assertDeepEqual)
local createElement_upvr = require(script.Parent.Parent.createElement)
local Component_upvr = require(script.Parent.Parent.Component)
local var5_upvr = require(script.Parent.Parent.createReconciler)(require(script.Parent.Parent.NoopRenderer))
it("should be provided as a mutable self._context in Component:init", function() -- Line 11
--[[ Upvalues[4]:
[1]: Component_upvr (readonly)
[2]: createElement_upvr (readonly)
[3]: var5_upvr (readonly)
[4]: assertDeepEqual_upvr (readonly)
]]
local any_extend_result1_8 = Component_upvr:extend("Provider")
local function init(arg1) -- Line 14
arg1._context.foo = "bar"
end
any_extend_result1_8.init = init
local function render(arg1) -- Line 18
end
any_extend_result1_8.render = render
assertDeepEqual_upvr(var5_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_8), nil, "Provider").legacyContext, {
foo = "bar";
})
end)
it("should be inherited from parent stateful nodes", function() -- Line 32
--[[ Upvalues[4]:
[1]: Component_upvr (readonly)
[2]: createElement_upvr (readonly)
[3]: var5_upvr (readonly)
[4]: assertDeepEqual_upvr (readonly)
]]
local any_extend_result1_2_upvr = Component_upvr:extend("Consumer")
local var11_upvw
local function init(arg1) -- Line 36
--[[ Upvalues[1]:
[1]: var11_upvw (read and write)
]]
var11_upvw = arg1._context
end
any_extend_result1_2_upvr.init = init
local function render(arg1) -- Line 40
end
any_extend_result1_2_upvr.render = render
local any_extend_result1_4 = Component_upvr:extend("Parent")
local function render(arg1) -- Line 44
--[[ Upvalues[2]:
[1]: createElement_upvr (copied, readonly)
[2]: any_extend_result1_2_upvr (readonly)
]]
return createElement_upvr(any_extend_result1_2_upvr)
end
any_extend_result1_4.render = render
local tbl_3 = {
hello = "world";
value = 6;
}
local any_mountVirtualNode_result1 = var5_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_4), nil, "Parent", nil, tbl_3)
expect(var11_upvw).never.to.equal(tbl_3)
expect(var11_upvw).never.to.equal(any_mountVirtualNode_result1.legacyContext)
assertDeepEqual_upvr(any_mountVirtualNode_result1.legacyContext, tbl_3)
assertDeepEqual_upvr(var11_upvw, tbl_3)
end)
it("should be inherited from parent function nodes", function() -- Line 63
--[[ Upvalues[4]:
[1]: Component_upvr (readonly)
[2]: createElement_upvr (readonly)
[3]: var5_upvr (readonly)
[4]: assertDeepEqual_upvr (readonly)
]]
local any_extend_result1_3_upvr = Component_upvr:extend("Consumer")
local var17_upvw
local function init(arg1) -- Line 67
--[[ Upvalues[1]:
[1]: var17_upvw (read and write)
]]
var17_upvw = arg1._context
end
any_extend_result1_3_upvr.init = init
local function render(arg1) -- Line 71
end
any_extend_result1_3_upvr.render = render
local tbl_2 = {
hello = "world";
value = 6;
}
local any_mountVirtualNode_result1_2 = var5_upvr.mountVirtualNode(createElement_upvr(function() -- Line 73, Named "Parent"
--[[ Upvalues[2]:
[1]: createElement_upvr (copied, readonly)
[2]: any_extend_result1_3_upvr (readonly)
]]
return createElement_upvr(any_extend_result1_3_upvr)
end), nil, "Parent", nil, tbl_2)
expect(var17_upvw).never.to.equal(tbl_2)
expect(var17_upvw).never.to.equal(any_mountVirtualNode_result1_2.legacyContext)
assertDeepEqual_upvr(any_mountVirtualNode_result1_2.legacyContext, tbl_2)
assertDeepEqual_upvr(var17_upvw, tbl_2)
end)
it("should contain values put into the tree by parent nodes", function() -- Line 92
--[[ Upvalues[4]:
[1]: Component_upvr (readonly)
[2]: createElement_upvr (readonly)
[3]: var5_upvr (readonly)
[4]: assertDeepEqual_upvr (readonly)
]]
local any_extend_result1_7_upvr = Component_upvr:extend("Consumer")
local var22_upvw
local function init(arg1) -- Line 96
--[[ Upvalues[1]:
[1]: var22_upvw (read and write)
]]
var22_upvw = arg1._context
end
any_extend_result1_7_upvr.init = init
local function render(arg1) -- Line 100
end
any_extend_result1_7_upvr.render = render
local any_extend_result1_6 = Component_upvr:extend("Provider")
local function init(arg1) -- Line 104
arg1._context.frob = "ulator"
end
any_extend_result1_6.init = init
local function render(arg1) -- Line 108
--[[ Upvalues[2]:
[1]: createElement_upvr (copied, readonly)
[2]: any_extend_result1_7_upvr (readonly)
]]
return createElement_upvr(any_extend_result1_7_upvr)
end
any_extend_result1_6.render = render
local tbl_4 = {
dont = "try it";
}
local any_mountVirtualNode_result1_3 = var5_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_6), nil, "Consumer", nil, tbl_4)
local tbl = {
dont = "try it";
frob = "ulator";
}
expect(any_mountVirtualNode_result1_3.legacyContext).never.to.equal(tbl_4)
expect(var22_upvw).never.to.equal(tbl_4)
expect(var22_upvw).never.to.equal(any_mountVirtualNode_result1_3.legacyContext)
assertDeepEqual_upvr(tbl_4, {
dont = "try it";
})
assertDeepEqual_upvr(any_mountVirtualNode_result1_3.legacyContext, tbl)
assertDeepEqual_upvr(var22_upvw, tbl)
end)
it("should transfer context to children that are replaced", function() -- Line 139
--[[ Upvalues[4]:
[1]: Component_upvr (readonly)
[2]: createElement_upvr (readonly)
[3]: var5_upvr (readonly)
[4]: assertDeepEqual_upvr (readonly)
]]
local any_extend_result1_upvr = Component_upvr:extend("ConsumerA")
local var30_upvw
local function init(arg1) -- Line 143
--[[ Upvalues[1]:
[1]: var30_upvw (read and write)
]]
arg1._context.A = "hello"
var30_upvw = arg1._context
end
any_extend_result1_upvr.init = init
local function render(arg1) -- Line 149
end
any_extend_result1_upvr.render = render
local any_extend_result1_5_upvr = Component_upvr:extend("ConsumerB")
local var32_upvw
local function init(arg1) -- Line 154
--[[ Upvalues[1]:
[1]: var32_upvw (read and write)
]]
arg1._context.B = "hello"
var32_upvw = arg1._context
end
any_extend_result1_5_upvr.init = init
local function render(arg1) -- Line 160
end
any_extend_result1_5_upvr.render = render
local any_extend_result1 = Component_upvr:extend("Provider")
function any_extend_result1.init(arg1) -- Line 164
arg1._context.frob = "ulator"
end
function any_extend_result1.render(arg1) -- Line 168
--[[ Upvalues[3]:
[1]: createElement_upvr (copied, readonly)
[2]: any_extend_result1_5_upvr (readonly)
[3]: any_extend_result1_upvr (readonly)
]]
if arg1.props.useConsumerB then
return createElement_upvr(any_extend_result1_5_upvr)
end
return createElement_upvr(any_extend_result1_upvr)
end
assertDeepEqual_upvr(var30_upvw, {
frob = "ulator";
A = "hello";
})
var5_upvr.updateVirtualNode(var5_upvr.mountVirtualNode(createElement_upvr(any_extend_result1), nil, "Consumer"), createElement_upvr(any_extend_result1, {
useConsumerB = true;
}))
assertDeepEqual_upvr(var32_upvw, {
frob = "ulator";
B = "hello";
})
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:48
-- Luau version 6, Types version 3
-- Time taken: 0.007898 seconds
return function() -- Line 1
local assertDeepEqual_upvr = require(script.Parent.Parent.assertDeepEqual)
local createElement_upvr = require(script.Parent.Parent.createElement)
local createSpy_upvr = require(script.Parent.Parent.createSpy)
local Type_upvr = require(script.Parent.Parent.Type)
local Component_upvr = require(script.Parent.Parent.Component)
local var7_upvr = require(script.Parent.Parent.createReconciler)(require(script.Parent.Parent.NoopRenderer))
it("should throw on mount if not overridden", function() -- Line 13
--[[ Upvalues[3]:
[1]: Component_upvr (readonly)
[2]: createElement_upvr (readonly)
[3]: var7_upvr (readonly)
]]
local var3_result1_upvr = createElement_upvr(Component_upvr:extend("MyComponent"))
local pcall_result1, pcall_result2 = pcall(function() -- Line 20
--[[ Upvalues[2]:
[1]: var7_upvr (copied, readonly)
[2]: var3_result1_upvr (readonly)
]]
var7_upvr.mountVirtualNode(var3_result1_upvr, nil, "Test")
end)
expect(pcall_result1).to.equal(false)
expect(pcall_result2:match("MyComponent")).to.be.ok()
expect(pcall_result2:match("render")).to.be.ok()
end)
it("should be invoked when a component is mounted", function() -- Line 29
--[[ Upvalues[6]:
[1]: Component_upvr (readonly)
[2]: createSpy_upvr (readonly)
[3]: createElement_upvr (readonly)
[4]: var7_upvr (readonly)
[5]: Type_upvr (readonly)
[6]: assertDeepEqual_upvr (readonly)
]]
local any_extend_result1 = Component_upvr:extend("Foo")
local var15_upvw
local var16_upvw
local createSpy_upvr_result1 = createSpy_upvr(function(arg1) -- Line 34
--[[ Upvalues[2]:
[1]: var15_upvw (read and write)
[2]: var16_upvw (read and write)
]]
var15_upvw = arg1.props
var16_upvw = arg1.state
end)
any_extend_result1.render = createSpy_upvr_result1.value
var7_upvr.mountVirtualNode(createElement_upvr(any_extend_result1), nil, "Foo Test")
expect(createSpy_upvr_result1.callCount).to.equal(1)
expect(Type_upvr.of(createSpy_upvr_result1:captureValues("self").self)).to.equal(Type_upvr.StatefulComponentInstance)
assertDeepEqual_upvr(var15_upvw, {})
assertDeepEqual_upvr(var16_upvw, {})
end)
it("should be invoked when a component is updated via props", function() -- Line 55
--[[ Upvalues[6]:
[1]: Component_upvr (readonly)
[2]: createSpy_upvr (readonly)
[3]: createElement_upvr (readonly)
[4]: var7_upvr (readonly)
[5]: Type_upvr (readonly)
[6]: assertDeepEqual_upvr (readonly)
]]
local any_extend_result1_2 = Component_upvr:extend("Foo")
local var21_upvw
local var22_upvw
local createSpy_upvr_result1_3 = createSpy_upvr(function(arg1) -- Line 60
--[[ Upvalues[2]:
[1]: var21_upvw (read and write)
[2]: var22_upvw (read and write)
]]
var21_upvw = arg1.props
var22_upvw = arg1.state
end)
any_extend_result1_2.render = createSpy_upvr_result1_3.value
local tbl = {
a = 2;
}
expect(createSpy_upvr_result1_3.callCount).to.equal(1)
local var26 = var21_upvw
local var27 = var22_upvw
expect(Type_upvr.of(createSpy_upvr_result1_3:captureValues("self").self)).to.equal(Type_upvr.StatefulComponentInstance)
assertDeepEqual_upvr(var26, tbl)
assertDeepEqual_upvr(var27, {})
local tbl_2 = {
a = 3;
}
var7_upvr.updateVirtualNode(var7_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_2, tbl), nil, "Foo Test"), createElement_upvr(any_extend_result1_2, tbl_2))
expect(createSpy_upvr_result1_3.callCount).to.equal(2)
local var29 = var21_upvw
expect(Type_upvr.of(createSpy_upvr_result1_3:captureValues("self").self)).to.equal(Type_upvr.StatefulComponentInstance)
expect(var29).never.to.equal(var26)
assertDeepEqual_upvr(var29, tbl_2)
expect(var22_upvw).to.equal(var27)
end)
it("should be invoked when a component is updated via state", function() -- Line 104
--[[ Upvalues[5]:
[1]: Component_upvr (readonly)
[2]: createSpy_upvr (readonly)
[3]: createElement_upvr (readonly)
[4]: var7_upvr (readonly)
[5]: Type_upvr (readonly)
]]
local any_extend_result1_3 = Component_upvr:extend("Foo")
local var33_upvw
function any_extend_result1_3.init(arg1) -- Line 108
--[[ Upvalues[1]:
[1]: var33_upvw (read and write)
]]
function var33_upvw(...) -- Line 109
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
return arg1:setState(...)
end
end
local var34_upvw
local var35_upvw
local createSpy_upvr_result1_2 = createSpy_upvr(function(arg1) -- Line 116
--[[ Upvalues[2]:
[1]: var34_upvw (read and write)
[2]: var35_upvw (read and write)
]]
var34_upvw = arg1.props
var35_upvw = arg1.state
end)
any_extend_result1_3.render = createSpy_upvr_result1_2.value
var7_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_3), nil, "Foo Test")
expect(createSpy_upvr_result1_2.callCount).to.equal(1)
expect(Type_upvr.of(createSpy_upvr_result1_2:captureValues("self").self)).to.equal(Type_upvr.StatefulComponentInstance)
var33_upvw({})
expect(createSpy_upvr_result1_2.callCount).to.equal(2)
expect(Type_upvr.of(createSpy_upvr_result1_2:captureValues("self").self)).to.equal(Type_upvr.StatefulComponentInstance)
expect(var34_upvw).to.equal(var34_upvw)
expect(var35_upvw).never.to.equal(var35_upvw)
end)
itSKIP("Test defaultProps on initial render", function() -- Line 147
end)
itSKIP("Test defaultProps on prop update", function() -- Line 148
end)
itSKIP("Test defaultProps on state update", function() -- Line 149
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:50
-- Luau version 6, Types version 3
-- Time taken: 0.023446 seconds
return function() -- Line 1
local createElement_upvr = require(script.Parent.Parent.createElement)
local Component_upvr = require(script.Parent.Parent.Component)
local var4_upvr = require(script.Parent.Parent.createReconciler)(require(script.Parent.Parent.NoopRenderer))
local None_upvr = require(script.Parent.Parent.None)
describe("setState", function() -- Line 12
--[[ Upvalues[4]:
[1]: Component_upvr (readonly)
[2]: createElement_upvr (readonly)
[3]: var4_upvr (readonly)
[4]: None_upvr (readonly)
]]
it("should not trigger an extra update when called in init", function() -- Line 13
--[[ Upvalues[3]:
[1]: Component_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var4_upvr (copied, readonly)
]]
local var8_upvw = 0
local var9_upvw = 0
local var10_upvw
local any_extend_result1_13 = Component_upvr:extend("InitComponent")
local function init(arg1) -- Line 20
arg1:setState({
a = 1;
})
end
any_extend_result1_13.init = init
local function willUpdate(arg1) -- Line 26
--[[ Upvalues[1]:
[1]: var9_upvw (read and write)
]]
var9_upvw += 1
end
any_extend_result1_13.willUpdate = willUpdate
local function render(arg1) -- Line 30
--[[ Upvalues[2]:
[1]: var8_upvw (read and write)
[2]: var10_upvw (read and write)
]]
var8_upvw += 1
var10_upvw = arg1.state
return nil
end
any_extend_result1_13.render = render
var4_upvr.mountVirtualTree(createElement_upvr(any_extend_result1_13))
expect(var8_upvw).to.equal(1)
expect(var9_upvw).to.equal(0)
expect(var10_upvw.a).to.equal(1)
end)
it("should throw when called in render", function() -- Line 45
--[[ Upvalues[3]:
[1]: Component_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var4_upvr (copied, readonly)
]]
local any_extend_result1_16 = Component_upvr:extend("TestComponent")
local function render(arg1) -- Line 48
arg1:setState({
a = 1;
})
end
any_extend_result1_16.render = render
local pcall_result1_2, pcall_result2_3 = pcall(var4_upvr.mountVirtualTree, createElement_upvr(any_extend_result1_16))
expect(pcall_result1_2).to.equal(false)
expect(pcall_result2_3:match("render")).to.be.ok()
expect(pcall_result2_3:match("TestComponent")).to.be.ok()
end)
it("should throw when called in shouldUpdate", function() -- Line 63
--[[ Upvalues[3]:
[1]: Component_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var4_upvr (copied, readonly)
]]
local any_extend_result1_3 = Component_upvr:extend("TestComponent")
local function render(arg1) -- Line 66
return nil
end
any_extend_result1_3.render = render
function any_extend_result1_3.shouldUpdate(arg1) -- Line 70
arg1:setState({
a = 1;
})
end
local pcall_result1_4, pcall_result2 = pcall(var4_upvr.updateVirtualTree, var4_upvr.mountVirtualTree(createElement_upvr(any_extend_result1_3)), createElement_upvr(any_extend_result1_3))
expect(pcall_result1_4).to.equal(false)
expect(pcall_result2:match("shouldUpdate")).to.be.ok()
expect(pcall_result2:match("TestComponent")).to.be.ok()
end)
it("should throw when called in willUpdate", function() -- Line 88
--[[ Upvalues[3]:
[1]: Component_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var4_upvr (copied, readonly)
]]
local any_extend_result1_20 = Component_upvr:extend("TestComponent")
local function render(arg1) -- Line 91
return nil
end
any_extend_result1_20.render = render
function any_extend_result1_20.willUpdate(arg1) -- Line 95
arg1:setState({
a = 1;
})
end
local pcall_result1, pcall_result2_5 = pcall(var4_upvr.updateVirtualTree, var4_upvr.mountVirtualTree(createElement_upvr(any_extend_result1_20)), createElement_upvr(any_extend_result1_20))
expect(pcall_result1).to.equal(false)
expect(pcall_result2_5:match("willUpdate")).to.be.ok()
expect(pcall_result2_5:match("TestComponent")).to.be.ok()
end)
it("should not throw when called in willUnmount", function() -- Line 112
--[[ Upvalues[3]:
[1]: Component_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var4_upvr (copied, readonly)
]]
local any_extend_result1_5 = Component_upvr:extend("TestComponent")
local function render(arg1) -- Line 115
return nil
end
any_extend_result1_5.render = render
function any_extend_result1_5.willUnmount(arg1) -- Line 119
arg1:setState({
a = 1;
})
end
local pcall_result1_3, pcall_result2_4 = pcall(var4_upvr.unmountVirtualTree, var4_upvr.mountVirtualTree(createElement_upvr(any_extend_result1_5)))
expect(pcall_result1_3).to.equal(true)
end)
it("should remove values from state when the value is None", function() -- Line 133
--[[ Upvalues[4]:
[1]: Component_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var4_upvr (copied, readonly)
[4]: None_upvr (copied, readonly)
]]
local any_extend_result1_10 = Component_upvr:extend("TestComponent")
local var37_upvw
local var38_upvw
local function init(arg1) -- Line 137
--[[ Upvalues[2]:
[1]: var37_upvw (read and write)
[2]: var38_upvw (read and write)
]]
function var37_upvw(arg1_2) -- Line 138
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:setState(arg1_2)
end
function var38_upvw() -- Line 142
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
return arg1.state
end
arg1:setState({
value = 0;
})
end
any_extend_result1_10.init = init
local function render(arg1) -- Line 151
return nil
end
any_extend_result1_10.render = render
expect(var38_upvw().value).to.equal(0)
var37_upvw({
value = None_upvr;
})
expect(var38_upvw().value).to.equal(nil)
var4_upvr.unmountVirtualNode(var4_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_10), nil, "Test"))
end)
it("should invoke functions to compute a partial state", function() -- Line 169
--[[ Upvalues[3]:
[1]: Component_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var4_upvr (copied, readonly)
]]
local any_extend_result1_18 = Component_upvr:extend("TestComponent")
local var46_upvw
local var47_upvw
local var48_upvw
local function init(arg1) -- Line 173
--[[ Upvalues[3]:
[1]: var46_upvw (read and write)
[2]: var47_upvw (read and write)
[3]: var48_upvw (read and write)
]]
function var46_upvw(arg1_3) -- Line 174
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:setState(arg1_3)
end
function var47_upvw() -- Line 178
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
return arg1.state
end
function var48_upvw() -- Line 182
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
return arg1.props
end
arg1:setState({
value = 0;
})
end
any_extend_result1_18.init = init
local function render(arg1) -- Line 191
return nil
end
any_extend_result1_18.render = render
expect(var47_upvw().value).to.equal(0)
var46_upvw(function(arg1, arg2) -- Line 200
--[[ Upvalues[2]:
[1]: var47_upvw (read and write)
[2]: var48_upvw (read and write)
]]
expect(arg1).to.equal(var47_upvw())
expect(arg2).to.equal(var48_upvw())
return {
value = arg1.value + 1;
}
end)
expect(var47_upvw().value).to.equal(1)
var4_upvr.unmountVirtualNode(var4_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_18), nil, "Test"))
end)
it("should cancel rendering if the function returns nil", function() -- Line 214
--[[ Upvalues[3]:
[1]: Component_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var4_upvr (copied, readonly)
]]
local any_extend_result1_4 = Component_upvr:extend("TestComponent")
local var56_upvw
local var55_upvw = 0
local function init(arg1) -- Line 219
--[[ Upvalues[1]:
[1]: var56_upvw (read and write)
]]
function var56_upvw(arg1_4) -- Line 220
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:setState(arg1_4)
end
arg1:setState({
value = 0;
})
end
any_extend_result1_4.init = init
local function render(arg1) -- Line 229
--[[ Upvalues[1]:
[1]: var55_upvw (read and write)
]]
var55_upvw += 1
return nil
end
any_extend_result1_4.render = render
expect(var55_upvw).to.equal(1)
var56_upvw(function(arg1, arg2) -- Line 238
return nil
end)
expect(var55_upvw).to.equal(1)
var4_upvr.unmountVirtualNode(var4_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_4), nil, "Test"))
end)
end)
local createSpy_upvr = require(script.Parent.Parent.createSpy)
describe("setState suspension", function() -- Line 248
--[[ Upvalues[4]:
[1]: Component_upvr (readonly)
[2]: createElement_upvr (readonly)
[3]: var4_upvr (readonly)
[4]: createSpy_upvr (readonly)
]]
it("should defer setState triggered while reconciling", function() -- Line 249
--[[ Upvalues[3]:
[1]: Component_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var4_upvr (copied, readonly)
]]
local any_extend_result1_upvr = Component_upvr:extend("Child")
local var65_upvw
local function render(arg1) -- Line 253
return nil
end
any_extend_result1_upvr.render = render
local function didMount(arg1) -- Line 257
arg1.props.callback()
end
any_extend_result1_upvr.didMount = didMount
local any_extend_result1 = Component_upvr:extend("Parent")
local function init(arg1) -- Line 263
--[[ Upvalues[1]:
[1]: var65_upvw (read and write)
]]
function var65_upvw() -- Line 264
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
return arg1.state
end
end
any_extend_result1.init = init
local function render(arg1) -- Line 269
--[[ Upvalues[2]:
[1]: createElement_upvr (copied, readonly)
[2]: any_extend_result1_upvr (readonly)
]]
local module_4 = {}
local function callback() -- Line 271
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:setState({
foo = "bar";
})
end
module_4.callback = callback
return createElement_upvr(any_extend_result1_upvr, module_4)
end
any_extend_result1.render = render
expect(var4_upvr.mountVirtualNode(createElement_upvr(any_extend_result1), nil, "Test")).to.be.ok()
expect(var65_upvw().foo).to.equal("bar")
end)
it("should defer setState triggered while reconciling during an update", function() -- Line 289
--[[ Upvalues[3]:
[1]: Component_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var4_upvr (copied, readonly)
]]
local any_extend_result1_6_upvr = Component_upvr:extend("Child")
local var72_upvw
local function render(arg1) -- Line 293
return nil
end
any_extend_result1_6_upvr.render = render
local function didUpdate(arg1) -- Line 297
arg1.props.callback()
end
any_extend_result1_6_upvr.didUpdate = didUpdate
local any_extend_result1_17 = Component_upvr:extend("Parent")
local function init(arg1) -- Line 303
--[[ Upvalues[1]:
[1]: var72_upvw (read and write)
]]
function var72_upvw() -- Line 304
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
return arg1.state
end
end
any_extend_result1_17.init = init
local function render(arg1) -- Line 309
--[[ Upvalues[2]:
[1]: createElement_upvr (copied, readonly)
[2]: any_extend_result1_6_upvr (readonly)
]]
local module = {}
local function callback() -- Line 311
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if not arg1.state.foo then
arg1:setState({
foo = "bar";
})
end
end
module.callback = callback
return createElement_upvr(any_extend_result1_6_upvr, module)
end
any_extend_result1_17.render = render
local any_mountVirtualNode_result1_4 = var4_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_17), nil, "Test")
expect(any_mountVirtualNode_result1_4).to.be.ok()
expect(var72_upvw().foo).to.equal(nil)
local any_updateVirtualNode_result1 = var4_upvr.updateVirtualNode(any_mountVirtualNode_result1_4, createElement_upvr(any_extend_result1_17))
expect(any_updateVirtualNode_result1).to.be.ok()
expect(var72_upvw().foo).to.equal("bar")
var4_upvr.unmountVirtualNode(any_updateVirtualNode_result1)
end)
it("should combine pending state changes properly", function() -- Line 339
--[[ Upvalues[3]:
[1]: Component_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var4_upvr (copied, readonly)
]]
local any_extend_result1_19_upvr = Component_upvr:extend("Child")
local var81_upvw
local function render(arg1) -- Line 343
return nil
end
any_extend_result1_19_upvr.render = render
local function didMount(arg1) -- Line 347
arg1.props.callback("foo", 1)
arg1.props.callback("bar", 3)
end
any_extend_result1_19_upvr.didMount = didMount
local any_extend_result1_14 = Component_upvr:extend("Parent")
local function init(arg1) -- Line 354
--[[ Upvalues[1]:
[1]: var81_upvw (read and write)
]]
function var81_upvw() -- Line 355
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
return arg1.state
end
end
any_extend_result1_14.init = init
local function render(arg1) -- Line 360
--[[ Upvalues[2]:
[1]: createElement_upvr (copied, readonly)
[2]: any_extend_result1_19_upvr (readonly)
]]
local module_2 = {}
local function callback(arg1_5, arg2) -- Line 362
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
local tbl = {}
tbl[arg1_5] = arg2
arg1:setState(tbl)
end
module_2.callback = callback
return createElement_upvr(any_extend_result1_19_upvr, module_2)
end
any_extend_result1_14.render = render
local any_mountVirtualNode_result1 = var4_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_14), nil, "Test")
expect(any_mountVirtualNode_result1).to.be.ok()
expect(var81_upvw().foo).to.equal(1)
expect(var81_upvw().bar).to.equal(3)
var4_upvr.unmountVirtualNode(any_mountVirtualNode_result1)
end)
it("should abort properly when functional setState returns nil while deferred", function() -- Line 383
--[[ Upvalues[4]:
[1]: Component_upvr (copied, readonly)
[2]: createSpy_upvr (copied, readonly)
[3]: createElement_upvr (copied, readonly)
[4]: var4_upvr (copied, readonly)
]]
local any_extend_result1_9_upvr = Component_upvr:extend("Child")
local function render(arg1) -- Line 386
return nil
end
any_extend_result1_9_upvr.render = render
local function didMount(arg1) -- Line 390
arg1.props.callback()
end
any_extend_result1_9_upvr.didMount = didMount
local any_extend_result1_7 = Component_upvr:extend("Parent")
local createSpy_upvr_result1 = createSpy_upvr(function(arg1) -- Line 396
--[[ Upvalues[2]:
[1]: createElement_upvr (copied, readonly)
[2]: any_extend_result1_9_upvr (readonly)
]]
local module_3 = {}
local function callback() -- Line 398
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:setState(function() -- Line 399
return nil
end)
end
module_3.callback = callback
return createElement_upvr(any_extend_result1_9_upvr, module_3)
end)
any_extend_result1_7.render = createSpy_upvr_result1.value
local any_mountVirtualNode_result1_2 = var4_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_7), nil, "Test")
expect(any_mountVirtualNode_result1_2).to.be.ok()
expect(createSpy_upvr_result1.callCount).to.equal(1)
var4_upvr.unmountVirtualNode(any_mountVirtualNode_result1_2)
end)
it("should still apply pending state if a subsequent state update was aborted", function() -- Line 421
--[[ Upvalues[3]:
[1]: Component_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var4_upvr (copied, readonly)
]]
local any_extend_result1_2_upvr = Component_upvr:extend("Child")
local var100_upvw
local function render(arg1) -- Line 425
return nil
end
any_extend_result1_2_upvr.render = render
local function didMount(arg1) -- Line 429
arg1.props.callback(function() -- Line 430
return {
foo = 1;
}
end)
arg1.props.callback(function() -- Line 435
return nil
end)
end
any_extend_result1_2_upvr.didMount = didMount
local any_extend_result1_15 = Component_upvr:extend("Parent")
local function init(arg1) -- Line 442
--[[ Upvalues[1]:
[1]: var100_upvw (read and write)
]]
function var100_upvw() -- Line 443
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
return arg1.state
end
end
any_extend_result1_15.init = init
local function render(arg1) -- Line 448
--[[ Upvalues[2]:
[1]: createElement_upvr (copied, readonly)
[2]: any_extend_result1_2_upvr (readonly)
]]
return createElement_upvr(any_extend_result1_2_upvr, {
callback = function(arg1_6) -- Line 450, Named "callback"
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:setState(arg1_6)
end;
})
end
any_extend_result1_15.render = render
local any_mountVirtualNode_result1_3 = var4_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_15), nil, "Test")
expect(any_mountVirtualNode_result1_3).to.be.ok()
expect(var100_upvw().foo).to.equal(1)
var4_upvr.unmountVirtualNode(any_mountVirtualNode_result1_3)
end)
it("should not re-process new state when pending state is present after update", function() -- Line 468
--[[ Upvalues[3]:
[1]: Component_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var4_upvr (copied, readonly)
]]
local var108_upvw
local var109_upvw
local any_extend_result1_12 = Component_upvr:extend("MyComponent")
local function init(arg1) -- Line 474
--[[ Upvalues[2]:
[1]: var108_upvw (read and write)
[2]: var109_upvw (read and write)
]]
arg1:setState({
hasUpdatedOnce = false;
counter = 0;
})
function var108_upvw(arg1_7) -- Line 480
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:setState(arg1_7)
end
function var109_upvw() -- Line 484
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
return arg1.state
end
end
any_extend_result1_12.init = init
local function render(arg1) -- Line 489
return nil
end
any_extend_result1_12.render = render
local function didUpdate(arg1) -- Line 493
if arg1.state.hasUpdatedOnce == false then
arg1:setState({
hasUpdatedOnce = true;
})
end
end
any_extend_result1_12.didUpdate = didUpdate
var4_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_12), nil, "Test")
expect(var109_upvw().hasUpdatedOnce).to.equal(false)
expect(var109_upvw().counter).to.equal(0)
var108_upvw(function(arg1) -- Line 510
return {
counter = arg1.counter + 1;
}
end)
expect(var109_upvw().hasUpdatedOnce).to.equal(true)
expect(var109_upvw().counter).to.equal(1)
end)
it("should throw when an infinite update is triggered", function() -- Line 520
--[[ Upvalues[3]:
[1]: Component_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var4_upvr (copied, readonly)
]]
local any_extend_result1_8 = Component_upvr:extend("InfiniteUpdater")
local function render(arg1) -- Line 523
return nil
end
any_extend_result1_8.render = render
local function didMount(arg1) -- Line 527
arg1:setState({})
end
any_extend_result1_8.didMount = didMount
local function didUpdate(arg1) -- Line 531
arg1:setState({})
end
any_extend_result1_8.didUpdate = didUpdate
local pcall_result1_5, pcall_result2_2 = pcall(var4_upvr.mountVirtualNode, createElement_upvr(any_extend_result1_8), nil, "Test")
expect(pcall_result1_5).to.equal(false)
expect(pcall_result2_2:find("InfiniteUpdater")).to.be.ok()
expect(pcall_result2_2:find("reached the setState update recursion limit")).to.be.ok()
end)
itSKIP("should process single updates with both new and pending state", function() -- Line 546
end)
it("should call trigger update after didMount when setting state in didMount", function() -- Line 553
--[[ Upvalues[3]:
[1]: Component_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var4_upvr (copied, readonly)
]]
local any_extend_result1_11 = Component_upvr:extend("MyComponent")
function any_extend_result1_11.init(arg1) -- Line 564
arg1:setState({
status = "initial mount";
})
arg1.isMounted = false
end
function any_extend_result1_11.render(arg1) -- Line 572
return nil
end
function any_extend_result1_11.didMount(arg1) -- Line 576
arg1:setState({
status = "mounted";
})
arg1.isMounted = true
end
function any_extend_result1_11.didUpdate(arg1, arg2, arg3) -- Line 584
expect(arg3.status).to.equal("initial mount")
expect(arg1.state.status).to.equal("mounted")
expect(arg1.isMounted).to.equal(true)
end
expect(var4_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_11), nil, "Test")).to.be.ok()
end)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:52
-- Luau version 6, Types version 3
-- Time taken: 0.005356 seconds
return function() -- Line 1
local assertDeepEqual_upvr = require(script.Parent.Parent.assertDeepEqual)
local createElement_upvr = require(script.Parent.Parent.createElement)
local createSpy_upvr = require(script.Parent.Parent.createSpy)
local Type_upvr = require(script.Parent.Parent.Type)
local Component_upvr = require(script.Parent.Parent.Component)
local var7_upvr = require(script.Parent.Parent.createReconciler)(require(script.Parent.Parent.NoopRenderer))
it("should be invoked when props update", function() -- Line 13
--[[ Upvalues[6]:
[1]: Component_upvr (readonly)
[2]: createSpy_upvr (readonly)
[3]: createElement_upvr (readonly)
[4]: var7_upvr (readonly)
[5]: Type_upvr (readonly)
[6]: assertDeepEqual_upvr (readonly)
]]
local any_extend_result1_2 = Component_upvr:extend("MyComponent")
local var10_upvw
local var11_upvw
local createSpy_upvr_result1_2 = createSpy_upvr(function(arg1) -- Line 18
--[[ Upvalues[2]:
[1]: var10_upvw (read and write)
[2]: var11_upvw (read and write)
]]
var10_upvw = arg1.props
var11_upvw = arg1.state
return true
end)
any_extend_result1_2.shouldUpdate = createSpy_upvr_result1_2.value
local function render(arg1) -- Line 27
return nil
end
any_extend_result1_2.render = render
local tbl_2 = {
a = 5;
}
expect(createSpy_upvr_result1_2.callCount).to.equal(0)
local tbl_3 = {
a = 6;
b = 2;
}
var7_upvr.updateVirtualNode(var7_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_2, tbl_2), nil, "Test"), createElement_upvr(any_extend_result1_2, tbl_3))
expect(createSpy_upvr_result1_2.callCount).to.equal(1)
local any_captureValues_result1 = createSpy_upvr_result1_2:captureValues("self", "newProps", "newState")
expect(Type_upvr.of(any_captureValues_result1.self)).to.equal(Type_upvr.StatefulComponentInstance)
assertDeepEqual_upvr(any_captureValues_result1.newProps, tbl_3)
assertDeepEqual_upvr(var10_upvw, tbl_2)
expect(any_captureValues_result1.newState).to.equal(var11_upvw)
assertDeepEqual_upvr(var11_upvw, {})
end)
it("should be invoked when state is updated", function() -- Line 63
--[[ Upvalues[6]:
[1]: Component_upvr (readonly)
[2]: createSpy_upvr (readonly)
[3]: createElement_upvr (readonly)
[4]: var7_upvr (readonly)
[5]: Type_upvr (readonly)
[6]: assertDeepEqual_upvr (readonly)
]]
local any_extend_result1_4 = Component_upvr:extend("MyComponent")
local tbl_4_upvr = {
a = 1;
}
local var22_upvw
local var21_upvw
function any_extend_result1_4.init(arg1) -- Line 72
--[[ Upvalues[3]:
[1]: var22_upvw (read and write)
[2]: tbl_4_upvr (readonly)
[3]: var21_upvw (read and write)
]]
function var22_upvw(...) -- Line 73
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
return arg1:setState(...)
end
arg1:setState(tbl_4_upvr)
var21_upvw = arg1.state
end
local var23_upvw
local var24_upvw
local createSpy_upvr_result1_4 = createSpy_upvr(function(arg1) -- Line 84
--[[ Upvalues[2]:
[1]: var23_upvw (read and write)
[2]: var24_upvw (read and write)
]]
var23_upvw = arg1.props
var24_upvw = arg1.state
return true
end)
any_extend_result1_4.shouldUpdate = createSpy_upvr_result1_4.value
function any_extend_result1_4.render(arg1) -- Line 93
return nil
end
var7_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_4), nil, "Test")
expect(createSpy_upvr_result1_4.callCount).to.equal(0)
local tbl = {
a = 2;
b = 3;
}
var22_upvw(tbl)
expect(createSpy_upvr_result1_4.callCount).to.equal(1)
local any_captureValues_result1_2 = createSpy_upvr_result1_4:captureValues("self", "newProps", "newState")
expect(Type_upvr.of(any_captureValues_result1_2.self)).to.equal(Type_upvr.StatefulComponentInstance)
expect(any_captureValues_result1_2.newProps).to.equal(var23_upvw)
assertDeepEqual_upvr(var23_upvw, {})
assertDeepEqual_upvr(var24_upvw, tbl_4_upvr)
expect(var24_upvw).to.equal(var21_upvw)
assertDeepEqual_upvr(any_captureValues_result1_2.newState, tbl)
end)
it("should not abort an update when returning true", function() -- Line 126
--[[ Upvalues[4]:
[1]: Component_upvr (readonly)
[2]: createSpy_upvr (readonly)
[3]: createElement_upvr (readonly)
[4]: var7_upvr (readonly)
]]
local any_extend_result1_3 = Component_upvr:extend("MyComponent")
local function shouldUpdate(arg1) -- Line 129
return true
end
any_extend_result1_3.shouldUpdate = shouldUpdate
local createSpy_upvr_result1_3 = createSpy_upvr()
any_extend_result1_3.render = createSpy_upvr_result1_3.value
expect(createSpy_upvr_result1_3.callCount).to.equal(1)
var7_upvr.updateVirtualNode(var7_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_3), nil, "Test"), createElement_upvr(any_extend_result1_3))
expect(createSpy_upvr_result1_3.callCount).to.equal(2)
end)
it("should abort an update when retuning false", function() -- Line 151
--[[ Upvalues[4]:
[1]: Component_upvr (readonly)
[2]: createSpy_upvr (readonly)
[3]: createElement_upvr (readonly)
[4]: var7_upvr (readonly)
]]
local any_extend_result1 = Component_upvr:extend("MyComponent")
function any_extend_result1.shouldUpdate(arg1) -- Line 154
return false
end
local createSpy_upvr_result1 = createSpy_upvr()
any_extend_result1.render = createSpy_upvr_result1.value
expect(createSpy_upvr_result1.callCount).to.equal(1)
var7_upvr.updateVirtualNode(var7_upvr.mountVirtualNode(createElement_upvr(any_extend_result1), nil, "Test"), createElement_upvr(any_extend_result1))
expect(createSpy_upvr_result1.callCount).to.equal(1)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:53
-- Luau version 6, Types version 3
-- Time taken: 0.012063 seconds
return function() -- Line 1
local createElement_upvr = require(script.Parent.Parent.createElement)
local createSpy_upvr = require(script.Parent.Parent.createSpy)
local GlobalConfig_upvr = require(script.Parent.Parent.GlobalConfig)
local Component_upvr = require(script.Parent.Parent.Component)
local var6_upvr = require(script.Parent.Parent.createReconciler)(require(script.Parent.Parent.NoopRenderer))
it("should be invoked when mounted", function() -- Line 12
--[[ Upvalues[5]:
[1]: GlobalConfig_upvr (readonly)
[2]: Component_upvr (readonly)
[3]: createSpy_upvr (readonly)
[4]: createElement_upvr (readonly)
[5]: var6_upvr (readonly)
]]
GlobalConfig_upvr.scoped({
propValidation = true;
}, function() -- Line 17
--[[ Upvalues[4]:
[1]: Component_upvr (copied, readonly)
[2]: createSpy_upvr (copied, readonly)
[3]: createElement_upvr (copied, readonly)
[4]: var6_upvr (copied, readonly)
]]
local any_extend_result1 = Component_upvr:extend("MyComponent")
local createSpy_upvr_result1_4 = createSpy_upvr(function() -- Line 20
return true
end)
any_extend_result1.validateProps = createSpy_upvr_result1_4.value
local function render(arg1) -- Line 26
return nil
end
any_extend_result1.render = render
var6_upvr.mountVirtualNode(createElement_upvr(any_extend_result1), nil, "Test")
expect(createSpy_upvr_result1_4.callCount).to.equal(1)
end)
end)
it("should be invoked when props change", function() -- Line 39
--[[ Upvalues[5]:
[1]: GlobalConfig_upvr (readonly)
[2]: Component_upvr (readonly)
[3]: createSpy_upvr (readonly)
[4]: createElement_upvr (readonly)
[5]: var6_upvr (readonly)
]]
GlobalConfig_upvr.scoped({
propValidation = true;
}, function() -- Line 44
--[[ Upvalues[4]:
[1]: Component_upvr (copied, readonly)
[2]: createSpy_upvr (copied, readonly)
[3]: createElement_upvr (copied, readonly)
[4]: var6_upvr (copied, readonly)
]]
local any_extend_result1_6 = Component_upvr:extend("MyComponent")
local createSpy_upvr_result1 = createSpy_upvr(function() -- Line 47
return true
end)
any_extend_result1_6.validateProps = createSpy_upvr_result1.value
local function render(arg1) -- Line 53
return nil
end
any_extend_result1_6.render = render
expect(createSpy_upvr_result1.callCount).to.equal(1)
createSpy_upvr_result1:assertCalledWithDeepEqual({
a = 1;
})
var6_upvr.updateVirtualNode(var6_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_6, {
a = 1;
}), nil, "Test"), createElement_upvr(any_extend_result1_6, {
a = 2;
}))
expect(createSpy_upvr_result1.callCount).to.equal(2)
createSpy_upvr_result1:assertCalledWithDeepEqual({
a = 2;
})
end)
end)
it("should not be invoked when state changes", function() -- Line 76
--[[ Upvalues[5]:
[1]: GlobalConfig_upvr (readonly)
[2]: Component_upvr (readonly)
[3]: createSpy_upvr (readonly)
[4]: createElement_upvr (readonly)
[5]: var6_upvr (readonly)
]]
GlobalConfig_upvr.scoped({
propValidation = true;
}, function() -- Line 81
--[[ Upvalues[4]:
[1]: Component_upvr (copied, readonly)
[2]: createSpy_upvr (copied, readonly)
[3]: createElement_upvr (copied, readonly)
[4]: var6_upvr (copied, readonly)
]]
local any_extend_result1_4 = Component_upvr:extend("MyComponent")
local var30_upvw
local createSpy_upvr_result1_3 = createSpy_upvr(function() -- Line 85
return true
end)
any_extend_result1_4.validateProps = createSpy_upvr_result1_3.value
function any_extend_result1_4.init(arg1) -- Line 91
--[[ Upvalues[1]:
[1]: var30_upvw (read and write)
]]
function var30_upvw(arg1_2) -- Line 92
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:setState(arg1_2)
end
end
local function render(arg1) -- Line 97
return nil
end
any_extend_result1_4.render = render
var6_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_4, {
a = 1;
}), nil, "Test")
expect(createSpy_upvr_result1_3.callCount).to.equal(1)
createSpy_upvr_result1_3:assertCalledWithDeepEqual({
a = 1;
})
var30_upvw({
b = 1;
})
expect(createSpy_upvr_result1_3.callCount).to.equal(1)
end)
end)
it("should throw if validateProps is not a function", function() -- Line 119
--[[ Upvalues[4]:
[1]: GlobalConfig_upvr (readonly)
[2]: Component_upvr (readonly)
[3]: createElement_upvr (readonly)
[4]: var6_upvr (readonly)
]]
GlobalConfig_upvr.scoped({
propValidation = true;
}, function() -- Line 124
--[[ Upvalues[3]:
[1]: Component_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var6_upvr (copied, readonly)
]]
local any_extend_result1_7 = Component_upvr:extend("MyComponent")
any_extend_result1_7.validateProps = 1
local function render(arg1) -- Line 128
return nil
end
any_extend_result1_7.render = render
local createElement_upvr_result1_upvr = createElement_upvr(any_extend_result1_7)
expect(function() -- Line 136
--[[ Upvalues[2]:
[1]: var6_upvr (copied, readonly)
[2]: createElement_upvr_result1_upvr (readonly)
]]
var6_upvr.mountVirtualNode(createElement_upvr_result1_upvr, nil, "Test")
end).to.throw()
end)
end)
it("should throw if validateProps returns false", function() -- Line 142
--[[ Upvalues[4]:
[1]: GlobalConfig_upvr (readonly)
[2]: Component_upvr (readonly)
[3]: createElement_upvr (readonly)
[4]: var6_upvr (readonly)
]]
GlobalConfig_upvr.scoped({
propValidation = true;
}, function() -- Line 147
--[[ Upvalues[3]:
[1]: Component_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var6_upvr (copied, readonly)
]]
local any_extend_result1_8 = Component_upvr:extend("MyComponent")
function any_extend_result1_8.validateProps() -- Line 149
return false
end
local function render(arg1) -- Line 153
return nil
end
any_extend_result1_8.render = render
local var2_result1_upvr = createElement_upvr(any_extend_result1_8)
expect(function() -- Line 161
--[[ Upvalues[2]:
[1]: var6_upvr (copied, readonly)
[2]: var2_result1_upvr (readonly)
]]
var6_upvr.mountVirtualNode(var2_result1_upvr, nil, "Test")
end).to.throw()
end)
end)
it("should include the component name in the error message", function() -- Line 167
--[[ Upvalues[4]:
[1]: GlobalConfig_upvr (readonly)
[2]: Component_upvr (readonly)
[3]: createElement_upvr (readonly)
[4]: var6_upvr (readonly)
]]
GlobalConfig_upvr.scoped({
propValidation = true;
}, function() -- Line 172
--[[ Upvalues[3]:
[1]: Component_upvr (copied, readonly)
[2]: createElement_upvr (copied, readonly)
[3]: var6_upvr (copied, readonly)
]]
local any_extend_result1_5 = Component_upvr:extend("MyComponent")
function any_extend_result1_5.validateProps() -- Line 174
return false
end
local function render(arg1) -- Line 178
return nil
end
any_extend_result1_5.render = render
local var2_result1_upvr_2 = createElement_upvr(any_extend_result1_5)
local pcall_result1, pcall_result2 = pcall(function() -- Line 186
--[[ Upvalues[2]:
[1]: var6_upvr (copied, readonly)
[2]: var2_result1_upvr_2 (readonly)
]]
var6_upvr.mountVirtualNode(var2_result1_upvr_2, nil, "Test")
end)
expect(pcall_result1).to.equal(false)
expect(pcall_result2:find("MyComponent")).to.be.ok()
end)
end)
it("should be invoked after defaultProps are applied", function() -- Line 196
--[[ Upvalues[5]:
[1]: GlobalConfig_upvr (readonly)
[2]: Component_upvr (readonly)
[3]: createSpy_upvr (readonly)
[4]: createElement_upvr (readonly)
[5]: var6_upvr (readonly)
]]
GlobalConfig_upvr.scoped({
propValidation = true;
}, function() -- Line 201
--[[ Upvalues[4]:
[1]: Component_upvr (copied, readonly)
[2]: createSpy_upvr (copied, readonly)
[3]: createElement_upvr (copied, readonly)
[4]: var6_upvr (copied, readonly)
]]
local any_extend_result1_2 = Component_upvr:extend("MyComponent")
local createSpy_upvr_result1_5 = createSpy_upvr(function() -- Line 204
return true
end)
any_extend_result1_2.validateProps = createSpy_upvr_result1_5.value
local function render(arg1) -- Line 210
return nil
end
any_extend_result1_2.render = render
any_extend_result1_2.defaultProps = {
b = 2;
}
expect(createSpy_upvr_result1_5.callCount).to.equal(1)
createSpy_upvr_result1_5:assertCalledWithDeepEqual({
a = 1;
b = 2;
})
var6_upvr.updateVirtualNode(var6_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_2, {
a = 1;
}), nil, "Test"), createElement_upvr(any_extend_result1_2, {
a = 2;
}))
expect(createSpy_upvr_result1_5.callCount).to.equal(2)
createSpy_upvr_result1_5:assertCalledWithDeepEqual({
a = 2;
b = 2;
})
end)
end)
it("should not be invoked if the flag is off", function() -- Line 239
--[[ Upvalues[5]:
[1]: GlobalConfig_upvr (readonly)
[2]: Component_upvr (readonly)
[3]: createSpy_upvr (readonly)
[4]: createElement_upvr (readonly)
[5]: var6_upvr (readonly)
]]
GlobalConfig_upvr.scoped({
propValidation = false;
}, function() -- Line 244
--[[ Upvalues[4]:
[1]: Component_upvr (copied, readonly)
[2]: createSpy_upvr (copied, readonly)
[3]: createElement_upvr (copied, readonly)
[4]: var6_upvr (copied, readonly)
]]
local any_extend_result1_3 = Component_upvr:extend("MyComponent")
local createSpy_upvr_result1_2 = createSpy_upvr(function() -- Line 247
return true
end)
any_extend_result1_3.validateProps = createSpy_upvr_result1_2.value
function any_extend_result1_3.render(arg1) -- Line 253
return nil
end
expect(createSpy_upvr_result1_2.callCount).to.equal(0)
var6_upvr.updateVirtualNode(var6_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_3, {
a = 1;
}), nil, "Test"), createElement_upvr(any_extend_result1_3, {
a = 2;
}))
expect(createSpy_upvr_result1_2.callCount).to.equal(0)
end)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:55
-- Luau version 6, Types version 3
-- Time taken: 0.002056 seconds
return function() -- Line 1
local Component_upvr = require(script.Parent.Parent.Component)
local createSpy_upvr = require(script.Parent.Parent.createSpy)
local createElement_upvr = require(script.Parent.Parent.createElement)
local var6_upvr = require(script.Parent.Parent.createReconciler)(require(script.Parent.Parent.NoopRenderer))
local Type_upvr = require(script.Parent.Parent.Type)
it("should be invoked when unmounted", function() -- Line 12
--[[ Upvalues[5]:
[1]: Component_upvr (readonly)
[2]: createSpy_upvr (readonly)
[3]: createElement_upvr (readonly)
[4]: var6_upvr (readonly)
[5]: Type_upvr (readonly)
]]
local any_extend_result1 = Component_upvr:extend("MyComponent")
local createSpy_upvr_result1 = createSpy_upvr()
any_extend_result1.willUnmount = createSpy_upvr_result1.value
function any_extend_result1.render(arg1) -- Line 19
return nil
end
var6_upvr.unmountVirtualNode(var6_upvr.mountVirtualNode(createElement_upvr(any_extend_result1), nil, "Test"))
expect(createSpy_upvr_result1.callCount).to.equal(1)
expect(Type_upvr.of(createSpy_upvr_result1:captureValues("self").self)).to.equal(Type_upvr.StatefulComponentInstance)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:56
-- Luau version 6, Types version 3
-- Time taken: 0.004401 seconds
return function() -- Line 1
local assertDeepEqual_upvr = require(script.Parent.Parent.assertDeepEqual)
local createElement_upvr = require(script.Parent.Parent.createElement)
local createSpy_upvr = require(script.Parent.Parent.createSpy)
local Type_upvr = require(script.Parent.Parent.Type)
local Component_upvr = require(script.Parent.Parent.Component)
local var7_upvr = require(script.Parent.Parent.createReconciler)(require(script.Parent.Parent.NoopRenderer))
it("should be invoked when updated via updateVirtualNode", function() -- Line 13
--[[ Upvalues[6]:
[1]: Component_upvr (readonly)
[2]: createSpy_upvr (readonly)
[3]: createElement_upvr (readonly)
[4]: var7_upvr (readonly)
[5]: Type_upvr (readonly)
[6]: assertDeepEqual_upvr (readonly)
]]
local any_extend_result1 = Component_upvr:extend("MyComponent")
local createSpy_upvr_result1 = createSpy_upvr()
any_extend_result1.willUpdate = createSpy_upvr_result1.value
local function render(arg1) -- Line 20
return nil
end
any_extend_result1.render = render
local tbl = {
a = 6;
b = 2;
}
var7_upvr.updateVirtualNode(var7_upvr.mountVirtualNode(createElement_upvr(any_extend_result1, {
a = 5;
}), nil, "Test"), createElement_upvr(any_extend_result1, tbl))
expect(createSpy_upvr_result1.callCount).to.equal(1)
local any_captureValues_result1 = createSpy_upvr_result1:captureValues("self", "newProps", "newState")
expect(Type_upvr.of(any_captureValues_result1.self)).to.equal(Type_upvr.StatefulComponentInstance)
assertDeepEqual_upvr(any_captureValues_result1.newProps, tbl)
assertDeepEqual_upvr(any_captureValues_result1.newState, {})
end)
it("it should be invoked when updated via setState", function() -- Line 49
--[[ Upvalues[6]:
[1]: Component_upvr (readonly)
[2]: createSpy_upvr (readonly)
[3]: createElement_upvr (readonly)
[4]: var7_upvr (readonly)
[5]: Type_upvr (readonly)
[6]: assertDeepEqual_upvr (readonly)
]]
local any_extend_result1_2 = Component_upvr:extend("MyComponent")
local var18_upvw
local createSpy_upvr_result1_2 = createSpy_upvr()
any_extend_result1_2.willUpdate = createSpy_upvr_result1_2.value
function any_extend_result1_2.init(arg1) -- Line 57
--[[ Upvalues[1]:
[1]: var18_upvw (read and write)
]]
function var18_upvw(arg1_2) -- Line 58
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:setState(arg1_2)
end
arg1:setState({
foo = 1;
})
end
function any_extend_result1_2.render(arg1) -- Line 67
return nil
end
var7_upvr.mountVirtualNode(createElement_upvr(any_extend_result1_2), nil, "Test")
expect(createSpy_upvr_result1_2.callCount).to.equal(0)
var18_upvw({
foo = 2;
})
expect(createSpy_upvr_result1_2.callCount).to.equal(1)
local any_captureValues_result1_2 = createSpy_upvr_result1_2:captureValues("self", "newProps", "newState")
expect(Type_upvr.of(any_captureValues_result1_2.self)).to.equal(Type_upvr.StatefulComponentInstance)
assertDeepEqual_upvr(any_captureValues_result1_2.newProps, {})
assertDeepEqual_upvr(any_captureValues_result1_2.newState, {
foo = 2;
})
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:58
-- Luau version 6, Types version 3
-- Time taken: 0.001020 seconds
local module_upvr = {}
local tbl_2_upvr = {
__tostring = function(arg1) -- Line 19, Named "__tostring"
return "RoactHostChangeEvent(%s)":format(arg1.name)
end;
}
local tbl = {}
local Type_upvr = require(script.Parent.Parent.Type)
function tbl.__index(arg1, arg2) -- Line 25
--[[ Upvalues[3]:
[1]: Type_upvr (readonly)
[2]: tbl_2_upvr (readonly)
[3]: module_upvr (readonly)
]]
local module = {
[Type_upvr] = Type_upvr.HostChangeEvent;
}
module.name = arg2
setmetatable(module, tbl_2_upvr)
module_upvr[arg2] = module
return module
end
setmetatable(module_upvr, tbl)
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:05:59
-- Luau version 6, Types version 3
-- Time taken: 0.001659 seconds
return function() -- Line 1
local Change_upvr = require(script.Parent.Change)
local Type_upvr = require(script.Parent.Parent.Type)
it("should yield change listener objects when indexed", function() -- Line 6
--[[ Upvalues[2]:
[1]: Type_upvr (readonly)
[2]: Change_upvr (readonly)
]]
expect(Type_upvr.of(Change_upvr.Text)).to.equal(Type_upvr.HostChangeEvent)
expect(Type_upvr.of(Change_upvr.Selected)).to.equal(Type_upvr.HostChangeEvent)
end)
it("should yield the same object when indexed again", function() -- Line 11
--[[ Upvalues[1]:
[1]: Change_upvr (readonly)
]]
local Text = Change_upvr.Text
expect(Text).to.equal(Change_upvr.Text)
expect(Text).never.to.equal(Change_upvr.Selected)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:06:01
-- Luau version 6, Types version 3
-- Time taken: 0.000389 seconds
return require(script.Parent.Parent.Symbol).named("Children")
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:06:02
-- Luau version 6, Types version 3
-- Time taken: 0.000998 seconds
local module_upvr = {}
local tbl_2_upvr = {
__tostring = function(arg1) -- Line 21, Named "__tostring"
return "RoactHostEvent(%s)":format(arg1.name)
end;
}
local tbl = {}
local Type_upvr = require(script.Parent.Parent.Type)
function tbl.__index(arg1, arg2) -- Line 27
--[[ Upvalues[3]:
[1]: Type_upvr (readonly)
[2]: tbl_2_upvr (readonly)
[3]: module_upvr (readonly)
]]
local module = {
[Type_upvr] = Type_upvr.HostEvent;
}
module.name = arg2
setmetatable(module, tbl_2_upvr)
module_upvr[arg2] = module
return module
end
setmetatable(module_upvr, tbl)
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:06:04
-- Luau version 6, Types version 3
-- Time taken: 0.001694 seconds
return function() -- Line 1
local Event_upvr = require(script.Parent.Event)
local Type_upvr = require(script.Parent.Parent.Type)
it("should yield event objects when indexed", function() -- Line 6
--[[ Upvalues[2]:
[1]: Type_upvr (readonly)
[2]: Event_upvr (readonly)
]]
expect(Type_upvr.of(Event_upvr.MouseButton1Click)).to.equal(Type_upvr.HostEvent)
expect(Type_upvr.of(Event_upvr.Touched)).to.equal(Type_upvr.HostEvent)
end)
it("should yield the same object when indexed again", function() -- Line 11
--[[ Upvalues[1]:
[1]: Event_upvr (readonly)
]]
local MouseButton1Click = Event_upvr.MouseButton1Click
expect(MouseButton1Click).to.equal(Event_upvr.MouseButton1Click)
expect(MouseButton1Click).never.to.equal(Event_upvr.Touched)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:06:06
-- Luau version 6, Types version 3
-- Time taken: 0.000320 seconds
return require(script.Parent.Parent.Symbol).named("Ref")
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:06:08
-- Luau version 6, Types version 3
-- Time taken: 0.000756 seconds
return {
Store = require(script.Store);
createReducer = require(script.createReducer);
combineReducers = require(script.combineReducers);
makeActionCreator = require(script.makeActionCreator);
loggerMiddleware = require(script.loggerMiddleware).middleware;
thunkMiddleware = require(script.thunkMiddleware);
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:06:10
-- Luau version 6, Types version 3
-- Time taken: 0.000958 seconds
local function resultHandler_upvr(arg1, arg2, ...) -- Line 12, Named "resultHandler"
if not arg2 then
error(debug.traceback(arg1, ...), 2)
end
if coroutine.status(arg1) ~= "dead" then
error(debug.traceback(arg1, "Attempted to yield inside changed event!"), 2)
end
return ...
end
return function(arg1, ...) -- Line 25, Named "NoYield"
--[[ Upvalues[1]:
[1]: resultHandler_upvr (readonly)
]]
local coroutine_create_result1 = coroutine.create(arg1)
return resultHandler_upvr(coroutine_create_result1, coroutine.resume(coroutine_create_result1, ...))
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:06:11
-- Luau version 6, Types version 3
-- Time taken: 0.003168 seconds
return function() -- Line 1
local NoYield_upvr = require(script.Parent.NoYield)
it("should call functions normally", function() -- Line 4
--[[ Upvalues[1]:
[1]: NoYield_upvr (readonly)
]]
local var4_upvw = 0
local function test(arg1, arg2) -- Line 7
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
expect(arg1).to.equal(5)
expect(arg2).to.equal(6)
var4_upvw += 1
return 11, "hello"
end
local NoYield_upvr_result1, NoYield_upvr_result2 = NoYield_upvr(test, 5, 6)
expect(NoYield_upvr_result1).to.equal(11)
expect(NoYield_upvr_result2).to.equal("hello")
end)
it("should throw on yield", function() -- Line 22
--[[ Upvalues[1]:
[1]: NoYield_upvr (readonly)
]]
local var8_upvw = 0
local var9_upvw = 0
local pcall_result1, pcall_result2 = pcall(NoYield_upvr, function() -- Line 26, Named "testMethod"
--[[ Upvalues[2]:
[1]: var8_upvw (read and write)
[2]: var9_upvw (read and write)
]]
var8_upvw += 1
wait()
var9_upvw += 1
end)
expect(var8_upvw).to.equal(1)
expect(var9_upvw).to.equal(0)
expect(pcall_result1).to.equal(false)
expect(pcall_result2:find("Attempted to yield inside changed event!")).to.be.ok()
expect(pcall_result2:find("NoYield.spec")).to.be.ok()
end)
it("should propagate error messages", function() -- Line 42
--[[ Upvalues[1]:
[1]: NoYield_upvr (readonly)
]]
local var13_upvw = 0
local pcall_result1_2, pcall_result2_2 = pcall(NoYield_upvr, function() -- Line 45, Named "test"
--[[ Upvalues[1]:
[1]: var13_upvw (read and write)
]]
var13_upvw += 1
error("foo")
end)
expect(pcall_result1_2).to.equal(false)
expect(pcall_result2_2:find("foo")).to.be.ok()
expect(pcall_result2_2:find("NoYield.spec")).to.be.ok()
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:06:13
-- Luau version 6, Types version 3
-- Time taken: 0.003367 seconds
local function immutableAppend_upvr(arg1, ...) -- Line 7, Named "immutableAppend"
local module = {}
local len = #arg1
for i = 1, len do
module[i] = arg1[i]
end
for i_2 = 1, select('#', ...) do
module[len + i_2] = select(i_2, ...)
end
return module
end
local function immutableRemoveValue_upvr(arg1, arg2) -- Line 22, Named "immutableRemoveValue"
for i_3 = 1, #arg1 do
if arg1[i_3] ~= arg2 then
table.insert({}, arg1[i_3])
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return {}
end
local module_2_upvr = {}
module_2_upvr.__index = module_2_upvr
function module_2_upvr.new(arg1) -- Line 38
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
local module_3 = {
_listeners = {};
}
module_3._store = arg1
setmetatable(module_3, module_2_upvr)
return module_3
end
function module_2_upvr.connect(arg1, arg2) -- Line 49
--[[ Upvalues[2]:
[1]: immutableAppend_upvr (readonly)
[2]: immutableRemoveValue_upvr (readonly)
]]
if typeof(arg2) ~= "function" then
error("Expected the listener to be a function.")
end
if arg1._store and arg1._store._isDispatching then
error("You may not call store.changed:connect() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store:getState() in the callback to access the latest state. ")
end
local tbl_upvr = {}
tbl_upvr.callback = arg2
tbl_upvr.disconnected = false
tbl_upvr.connectTraceback = debug.traceback()
tbl_upvr.disconnectTraceback = nil
arg1._listeners = immutableAppend_upvr(arg1._listeners, tbl_upvr)
return {
disconnect = function() -- Line 71, Named "disconnect"
--[[ Upvalues[3]:
[1]: tbl_upvr (readonly)
[2]: arg1 (readonly)
[3]: immutableRemoveValue_upvr (copied, readonly)
]]
if tbl_upvr.disconnected then
error("Listener connected at: \n%s\nwas already disconnected at: \n%s\n":format(tostring(tbl_upvr.connectTraceback), tostring(tbl_upvr.disconnectTraceback)))
end
if arg1._store and arg1._store._isDispatching then
error("You may not unsubscribe from a store listener while the reducer is executing.")
end
tbl_upvr.disconnected = true
tbl_upvr.disconnectTraceback = debug.traceback()
arg1._listeners = immutableRemoveValue_upvr(arg1._listeners, tbl_upvr)
end;
}
end
function module_2_upvr.fire(arg1, ...) -- Line 96
for _, v in ipairs(arg1._listeners) do
if not v.disconnected then
v.callback(...)
end
end
end
return module_2_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:06:14
-- Luau version 6, Types version 3
-- Time taken: 0.006564 seconds
return function() -- Line 1
local Signal_upvr = require(script.Parent.Signal)
it("should construct from nothing", function() -- Line 4
--[[ Upvalues[1]:
[1]: Signal_upvr (readonly)
]]
expect(Signal_upvr.new()).to.be.ok()
end)
it("should fire connected callbacks", function() -- Line 10
--[[ Upvalues[1]:
[1]: Signal_upvr (readonly)
]]
local var5_upvw = 0
local any_new_result1_5 = Signal_upvr.new()
any_new_result1_5:fire("Hello World", 7)
expect(var5_upvw).to.equal(1)
any_new_result1_5:connect(function(arg1, arg2) -- Line 15
--[[ Upvalues[1]:
[1]: var5_upvw (read and write)
]]
expect(arg1).to.equal("Hello World")
expect(arg2).to.equal(7)
var5_upvw += 1
end):disconnect()
any_new_result1_5:fire("Hello World", 7)
expect(var5_upvw).to.equal(1)
end)
it("should disconnect handlers", function() -- Line 34
--[[ Upvalues[1]:
[1]: Signal_upvr (readonly)
]]
local any_new_result1 = Signal_upvr.new()
any_new_result1:connect(function() -- Line 35
error("Callback was called after disconnect!")
end):disconnect()
any_new_result1:fire()
end)
it("should fire handlers in order", function() -- Line 47
--[[ Upvalues[1]:
[1]: Signal_upvr (readonly)
]]
local any_new_result1_3 = Signal_upvr.new()
local var13_upvw = 0
local var14_upvw = 0
any_new_result1_3:connect(function() -- Line 52
--[[ Upvalues[2]:
[1]: var13_upvw (read and write)
[2]: var14_upvw (read and write)
]]
expect(var13_upvw).to.equal(0)
expect(var14_upvw).to.equal(0)
var13_upvw += 1
end)
any_new_result1_3:connect(function() -- Line 58
--[[ Upvalues[2]:
[1]: var13_upvw (read and write)
[2]: var14_upvw (read and write)
]]
expect(var13_upvw).to.equal(1)
expect(var14_upvw).to.equal(0)
var14_upvw += 1
end)
any_new_result1_3:fire()
expect(var13_upvw).to.equal(1)
expect(var14_upvw).to.equal(1)
end)
it("should continue firing despite mid-event disconnection", function() -- Line 72
--[[ Upvalues[1]:
[1]: Signal_upvr (readonly)
]]
local any_new_result1_2 = Signal_upvr.new()
local var19_upvw = 0
local var20_upvw = 0
local var22_upvw
var22_upvw = any_new_result1_2:connect(function() -- Line 78
--[[ Upvalues[2]:
[1]: var22_upvw (read and write)
[2]: var19_upvw (read and write)
]]
var22_upvw:disconnect()
var19_upvw += 1
end)
any_new_result1_2:connect(function() -- Line 83
--[[ Upvalues[1]:
[1]: var20_upvw (read and write)
]]
var20_upvw += 1
end)
any_new_result1_2:fire()
expect(var19_upvw).to.equal(1)
expect(var20_upvw).to.equal(1)
end)
it("should skip listeners that were disconnected during event evaluation", function() -- Line 93
--[[ Upvalues[1]:
[1]: Signal_upvr (readonly)
]]
local any_new_result1_7 = Signal_upvr.new()
local var26_upvw = 0
local var27_upvw = 0
local var29_upvw
any_new_result1_7:connect(function() -- Line 100
--[[ Upvalues[2]:
[1]: var26_upvw (read and write)
[2]: var29_upvw (read and write)
]]
var26_upvw += 1
var29_upvw:disconnect()
end)
var29_upvw = any_new_result1_7:connect(function() -- Line 105
--[[ Upvalues[1]:
[1]: var27_upvw (read and write)
]]
var27_upvw += 1
end)
any_new_result1_7:fire()
expect(var26_upvw).to.equal(1)
expect(var27_upvw).to.equal(0)
end)
it("should throw an error if the argument to `connect` is not a function", function() -- Line 115
--[[ Upvalues[1]:
[1]: Signal_upvr (readonly)
]]
local any_new_result1_upvr = Signal_upvr.new()
expect(function() -- Line 117
--[[ Upvalues[1]:
[1]: any_new_result1_upvr (readonly)
]]
any_new_result1_upvr:connect("not a function")
end).to.throw()
end)
it("should throw an error when disconnecting more than once", function() -- Line 122
--[[ Upvalues[1]:
[1]: Signal_upvr (readonly)
]]
local any_connect_result1 = Signal_upvr.new():connect(function() -- Line 125
end)
expect(any_connect_result1.disconnect).never.to.throw()
expect(any_connect_result1.disconnect).to.throw()
end)
it("should throw an error when subscribing during dispatch", function() -- Line 133
--[[ Upvalues[1]:
[1]: Signal_upvr (readonly)
]]
local tbl_2 = {
_isDispatching = false;
}
local any_new_result1_6_upvr = Signal_upvr.new(tbl_2)
any_new_result1_6_upvr:connect(function() -- Line 139
--[[ Upvalues[1]:
[1]: any_new_result1_6_upvr (readonly)
]]
any_new_result1_6_upvr:connect(function() -- Line 141
end)
end)
tbl_2._isDispatching = true
expect(function() -- Line 145
--[[ Upvalues[1]:
[1]: any_new_result1_6_upvr (readonly)
]]
any_new_result1_6_upvr:fire()
end).to.throw()
end)
it("should throw an error when unsubscribing during dispatch", function() -- Line 150
--[[ Upvalues[1]:
[1]: Signal_upvr (readonly)
]]
local tbl = {
_isDispatching = false;
}
local any_new_result1_4_upvr = Signal_upvr.new(tbl)
local var47_upvw
var47_upvw = any_new_result1_4_upvr:connect(function() -- Line 157
--[[ Upvalues[1]:
[1]: var47_upvw (read and write)
]]
var47_upvw.disconnect()
end)
tbl._isDispatching = true
expect(function() -- Line 162
--[[ Upvalues[1]:
[1]: any_new_result1_4_upvr (readonly)
]]
any_new_result1_4_upvr:fire()
end).to.throw()
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:06:15
-- Luau version 6, Types version 3
-- Time taken: 0.011146 seconds
local tbl_upvr = {
reportReducerError = function(arg1, arg2, arg3) -- Line 9, Named "reportReducerError"
error(string.format("Received error: %s\n\n%s", arg3.message, arg3.thrownValue))
end;
reportUpdateError = function(arg1, arg2, arg3, arg4) -- Line 12, Named "reportUpdateError"
error(string.format("Received error: %s\n\n%s", arg4.message, arg4.thrownValue))
end;
}
local function tracebackReporter_upvr(arg1) -- Line 17, Named "tracebackReporter"
return debug.traceback(tostring(arg1))
end
local module_upvr_2 = {
_flushEvent = game:GetService("RunService").Heartbeat;
}
module_upvr_2.__index = module_upvr_2
local Signal_upvr = require(script.Parent.Signal)
function module_upvr_2.new(arg1, arg2, arg3, arg4) -- Line 41
--[[ Upvalues[4]:
[1]: tbl_upvr (readonly)
[2]: tracebackReporter_upvr (readonly)
[3]: Signal_upvr (readonly)
[4]: module_upvr_2 (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var12_upvr
if typeof(arg1) ~= "function" then
var12_upvr = false
else
var12_upvr = true
end
assert(var12_upvr, "Bad argument #1 to Store.new, expected function.")
var12_upvr = true
if arg3 ~= nil then
if typeof(arg3) ~= "table" then
var12_upvr = false
else
var12_upvr = true
end
end
assert(var12_upvr, "Bad argument #3 to Store.new, expected nil or table.")
if arg3 ~= nil then
var12_upvr = 1
for i = 1, #arg3, var12_upvr do
local var13
if typeof(arg3[i]) ~= "function" then
var13 = false
else
var13 = true
end
assert(var13, "Expected the middleware ('%s') at index %d to be a function.":format(tostring(arg3[i]), i))
end
end
local module_upvr = {}
var12_upvr = arg4
if not var12_upvr then
var12_upvr = tbl_upvr
end
module_upvr._errorReporter = var12_upvr
var12_upvr = false
module_upvr._isDispatching = var12_upvr
module_upvr._reducer = arg1
var12_upvr = {}
var12_upvr.type = "@@INIT"
module_upvr._actionLog = {var12_upvr}
local xpcall_result1, xpcall_result2_2 = xpcall(function() -- Line 62
--[[ Upvalues[4]:
[1]: module_upvr (readonly)
[2]: arg1 (readonly)
[3]: arg2 (readonly)
[4]: var12_upvr (readonly)
]]
module_upvr._state = arg1(arg2, var12_upvr)
end, tracebackReporter_upvr)
if not xpcall_result1 then
module_upvr._errorReporter.reportReducerError(arg2, var12_upvr, {
message = "Caught error in reducer with init";
thrownValue = xpcall_result2_2;
})
module_upvr._state = arg2
end
module_upvr._lastState = module_upvr._state
module_upvr._mutatedSinceFlush = false
module_upvr._connections = {}
module_upvr.changed = Signal_upvr.new(module_upvr)
setmetatable(module_upvr, module_upvr_2)
table.insert(module_upvr._connections, module_upvr._flushEvent:Connect(function() -- Line 81
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
module_upvr:flush()
end))
local var22_upvw
if arg3 then
local dispatch_2_upvr = module_upvr.dispatch
function var22_upvw(...) -- Line 88
--[[ Upvalues[2]:
[1]: dispatch_2_upvr (readonly)
[2]: module_upvr (readonly)
]]
return dispatch_2_upvr(module_upvr, ...)
end
for i_2 = #arg3, 1, -1 do
var22_upvw = arg3[i_2](var22_upvw, module_upvr)
end
function module_upvr.dispatch(arg1_2, ...) -- Line 97
--[[ Upvalues[1]:
[1]: var22_upvw (read and write)
]]
return var22_upvw(...)
end
end
return module_upvr
end
function module_upvr_2.getState(arg1) -- Line 108
if arg1._isDispatching then
error("You may not call store:getState() while the reducer is executing. The reducer (%s) has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.":format(tostring(arg1._reducer)))
end
return arg1._state
end
function module_upvr_2.dispatch(arg1, arg2) -- Line 125
if typeof(arg2) ~= "table" then
error("Actions must be tables. Use custom middleware for %q actions.":format(typeof(arg2)), 2)
end
if arg2.type == nil then
error("Actions may not have an undefined 'type' property. ".."Have you misspelled a constant? \n"..tostring(arg2), 2)
end
if arg1._isDispatching then
error("Reducers may not dispatch actions.")
end
local pcall_result1, pcall_result2 = pcall(function() -- Line 143
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
arg1._isDispatching = true
arg1._state = arg1._reducer(arg1._state, arg2)
arg1._mutatedSinceFlush = true
end)
arg1._isDispatching = false
if not pcall_result1 then
arg1._errorReporter.reportReducerError(arg1._state, arg2, {
message = "Caught error in reducer";
thrownValue = pcall_result2;
})
end
if #arg1._actionLog == 3 then
table.remove(arg1._actionLog, 1)
end
table.insert(arg1._actionLog, arg2)
end
function module_upvr_2.destruct(arg1) -- Line 171
for _, v in ipairs(arg1._connections) do
v:Disconnect()
end
arg1._connections = nil
end
local NoYield_upvr = require(script.Parent.NoYield)
function module_upvr_2.flush(arg1) -- Line 182
--[[ Upvalues[2]:
[1]: NoYield_upvr (readonly)
[2]: tracebackReporter_upvr (readonly)
]]
if not arg1._mutatedSinceFlush then
else
arg1._mutatedSinceFlush = false
local _state_upvr = arg1._state
local xpcall_result1_2, xpcall_result2 = xpcall(function() -- Line 194
--[[ Upvalues[3]:
[1]: NoYield_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: _state_upvr (readonly)
]]
NoYield_upvr(function() -- Line 197
--[[ Upvalues[2]:
[1]: arg1 (copied, readonly)
[2]: _state_upvr (copied, readonly)
]]
arg1.changed:fire(_state_upvr, arg1._lastState)
end)
end, tracebackReporter_upvr)
if not xpcall_result1_2 then
arg1._errorReporter.reportUpdateError(arg1._lastState, _state_upvr, arg1._actionLog, {
message = "Caught error flushing store updates";
thrownValue = xpcall_result2;
})
end
arg1._lastState = _state_upvr
end
end
return module_upvr_2
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:06:17
-- Luau version 6, Types version 3
-- Time taken: 0.026041 seconds
return function() -- Line 1
local Store_upvr = require(script.Parent.Store)
describe("new", function() -- Line 4
--[[ Upvalues[1]:
[1]: Store_upvr (readonly)
]]
it("should instantiate with a reducer", function() -- Line 5
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local any_new_result1_13 = Store_upvr.new(function(arg1, arg2) -- Line 6
return "hello, world"
end)
expect(any_new_result1_13).to.be.ok()
expect(any_new_result1_13:getState()).to.equal("hello, world")
any_new_result1_13:destruct()
end)
it("should instantiate with a reducer and an initial state", function() -- Line 16
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local any_new_result1_6 = Store_upvr.new(function(arg1, arg2) -- Line 17
return arg1
end, "initial state")
expect(any_new_result1_6).to.be.ok()
expect(any_new_result1_6:getState()).to.equal("initial state")
any_new_result1_6:destruct()
end)
it("should instantiate with a reducer, initial state, and middlewares", function() -- Line 27
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local any_new_result1_14 = Store_upvr.new(function(arg1, arg2) -- Line 28
return arg1
end, "initial state", {})
expect(any_new_result1_14).to.be.ok()
expect(any_new_result1_14:getState()).to.equal("initial state")
any_new_result1_14:destruct()
end)
it("should modify the dispatch method when middlewares are passed", function() -- Line 38
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local var14_upvw = 0
local var15_upvw = 0
local var16_upvw
local var17_upvw
local var18_upvw
local function reducer(arg1, arg2) -- Line 45
if arg2.type == "test" then
return "test state"
end
return arg1
end
local any_new_result1_9 = Store_upvr.new(reducer, "initial state", {function(arg1, arg2) -- Line 53, Named "testMiddleware"
--[[ Upvalues[5]:
[1]: var14_upvw (read and write)
[2]: var16_upvw (read and write)
[3]: var17_upvw (read and write)
[4]: var15_upvw (read and write)
[5]: var18_upvw (read and write)
]]
var14_upvw += 1
var16_upvw = arg1
var17_upvw = arg2
return function(arg1_2) -- Line 58
--[[ Upvalues[3]:
[1]: var15_upvw (copied, read and write)
[2]: var18_upvw (copied, read and write)
[3]: arg1 (readonly)
]]
var15_upvw += 1
var18_upvw = arg1_2
arg1(arg1_2)
end
end})
expect(var14_upvw).to.equal(1)
expect(var15_upvw).to.equal(0)
expect(var16_upvw).to.be.a("function")
expect(var17_upvw).to.equal(any_new_result1_9)
any_new_result1_9:dispatch({
type = "test";
})
expect(var14_upvw).to.equal(1)
expect(var15_upvw).to.equal(1)
expect(var18_upvw.type).to.equal("test")
any_new_result1_9:flush()
expect(any_new_result1_9:getState()).to.equal("test state")
any_new_result1_9:destruct()
end)
it("should execute middleware left-to-right", function() -- Line 88
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local tbl_5_upvr = {}
local any_new_result1_10 = Store_upvr.new(function(arg1) -- Line 91, Named "reducer"
return arg1
end, 5, {function(arg1, arg2) -- Line 95, Named "middlewareA"
--[[ Upvalues[1]:
[1]: tbl_5_upvr (readonly)
]]
table.insert(tbl_5_upvr, "instantiate a")
return function(arg1_3) -- Line 97
--[[ Upvalues[2]:
[1]: tbl_5_upvr (copied, readonly)
[2]: arg1 (readonly)
]]
table.insert(tbl_5_upvr, "execute a")
return arg1(arg1_3)
end
end, function(arg1, arg2) -- Line 103, Named "middlewareB"
--[[ Upvalues[1]:
[1]: tbl_5_upvr (readonly)
]]
table.insert(tbl_5_upvr, "instantiate b")
return function(arg1_4) -- Line 105
--[[ Upvalues[2]:
[1]: tbl_5_upvr (copied, readonly)
[2]: arg1 (readonly)
]]
table.insert(tbl_5_upvr, "execute b")
return arg1(arg1_4)
end
end})
expect(#tbl_5_upvr).to.equal(2)
expect(tbl_5_upvr[1]).to.equal("instantiate b")
expect(tbl_5_upvr[2]).to.equal("instantiate a")
any_new_result1_10:dispatch({
type = "test";
})
expect(#tbl_5_upvr).to.equal(4)
expect(tbl_5_upvr[3]).to.equal("execute a")
expect(tbl_5_upvr[4]).to.equal("execute b")
any_new_result1_10:destruct()
end)
it("should send an initial action with a 'type' field", function() -- Line 128
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local var31_upvw
local var32_upvw = 0
expect(var32_upvw).to.equal(1)
expect(var31_upvw).to.be.a("table")
expect(var31_upvw.type).to.be.ok()
Store_upvr.new(function(arg1, arg2) -- Line 132
--[[ Upvalues[2]:
[1]: var31_upvw (read and write)
[2]: var32_upvw (read and write)
]]
var31_upvw = arg2
var32_upvw += 1
return arg1
end):destruct()
end)
it("should report a reducer error thrown when handling the INIT action", function() -- Line 146
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local var35_upvw
local var36_upvw
local var37_upvw
local tbl_3 = {}
local function reportReducerError(arg1, arg2, arg3) -- Line 149
--[[ Upvalues[3]:
[1]: var35_upvw (read and write)
[2]: var36_upvw (read and write)
[3]: var37_upvw (read and write)
]]
var35_upvw = arg1
var36_upvw = arg2
var37_upvw = arg3
end
tbl_3.reportReducerError = reportReducerError
local function reportUpdateError() -- Line 154
end
tbl_3.reportUpdateError = reportUpdateError
expect(var35_upvw.Value).to.equal(1)
expect(var36_upvw.type).to.equal("@@INIT")
expect(var37_upvw.message).to.equal("Caught error in reducer with init")
expect(string.find(var37_upvw.thrownValue, "Z4PH0D")).to.be.ok()
expect(string.find(var37_upvw.thrownValue, script.Name)).to.be.ok()
Store_upvr.new(function(arg1, arg2) -- Line 160
error("Z4PH0D")
end, {
Value = 1;
}, nil, tbl_3):destruct()
end)
it("should report a reducer error thrown when handling a subsequent action", function() -- Line 187
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local var42_upvw
local var43_upvw
local var44_upvw
local tbl = {}
local function reportReducerError(arg1, arg2, arg3) -- Line 190
--[[ Upvalues[3]:
[1]: var42_upvw (read and write)
[2]: var43_upvw (read and write)
[3]: var44_upvw (read and write)
]]
var42_upvw = arg1
var43_upvw = arg2
var44_upvw = arg3
end
tbl.reportReducerError = reportReducerError
local function reportUpdateError() -- Line 195
end
tbl.reportUpdateError = reportUpdateError
local any_new_result1 = Store_upvr.new(function(arg1, arg2) -- Line 201
if arg2.type == "ThrowError" then
error("Z4PH0D")
return arg1
end
if arg2.type == "Increment" then
return {
Value = arg1.Value + 1;
}
end
return arg1
end, {
Value = 1;
}, nil, tbl)
expect(var42_upvw).to.equal(nil)
expect(var43_upvw).to.equal(nil)
expect(var44_upvw).to.equal(nil)
any_new_result1:dispatch({
type = "Increment";
})
any_new_result1:dispatch({
type = "ThrowError";
})
expect(var42_upvw.Value).to.equal(2)
expect(var43_upvw.type).to.equal("ThrowError")
expect(var44_upvw.message).to.equal("Caught error in reducer")
expect(string.find(var44_upvw.thrownValue, "Z4PH0D")).to.be.ok()
expect(string.find(var44_upvw.thrownValue, script.Name)).to.be.ok()
any_new_result1:destruct()
end)
end)
describe("getState", function() -- Line 244
--[[ Upvalues[1]:
[1]: Store_upvr (readonly)
]]
it("should get the current state", function() -- Line 245
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local any_new_result1_8 = Store_upvr.new(function(arg1, arg2) -- Line 246
return "foo"
end)
expect(any_new_result1_8:getState()).to.equal("foo")
any_new_result1_8:destruct()
end)
it("should throw errors if triggered during dispatches", function() -- Line 257
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local var58_upvw
var58_upvw = Store_upvr.new(function(arg1, arg2) -- Line 259
--[[ Upvalues[1]:
[1]: var58_upvw (read and write)
]]
if arg2.type ~= "@@INIT" then
var58_upvw:getState()
end
end)
local var59_upvw = var58_upvw
expect(function() -- Line 265
--[[ Upvalues[1]:
[1]: var59_upvw (read and write)
]]
var59_upvw:dispatch({
type = "SomeAction";
})
end).to.throw()
var59_upvw:destruct()
end)
end)
describe("dispatch", function() -- Line 273
--[[ Upvalues[1]:
[1]: Store_upvr (readonly)
]]
it("should be sent through the reducer", function() -- Line 274
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local any_new_result1_2 = Store_upvr.new(function(arg1, arg2) -- Line 275
if arg2.type == "act" then
return "bar"
end
return arg1 or "foo"
end)
expect(any_new_result1_2).to.be.ok()
expect(any_new_result1_2:getState()).to.equal("foo")
any_new_result1_2:dispatch({
type = "act";
})
any_new_result1_2:flush()
expect(any_new_result1_2:getState()).to.equal("bar")
any_new_result1_2:destruct()
end)
it("should trigger the changed event after a flush", function() -- Line 299
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local any_new_result1_4 = Store_upvr.new(function(arg1, arg2) -- Line 300
local var69 = arg1 or 0
if arg2.type == "increment" then
return var69 + 1
end
return var69
end)
local var71_upvw = 0
any_new_result1_4.changed:connect(function(arg1, arg2) -- Line 312
--[[ Upvalues[1]:
[1]: var71_upvw (read and write)
]]
expect(arg2).to.equal(0)
expect(arg1).to.equal(1)
var71_upvw += 1
end)
any_new_result1_4:dispatch({
type = "increment";
})
any_new_result1_4:flush()
expect(var71_upvw).to.equal(1)
any_new_result1_4:destruct()
end)
it("should handle actions dispatched within the changed event", function() -- Line 330
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local any_new_result1_12_upvr = Store_upvr.new(function(arg1, arg2) -- Line 331
local var76 = arg1
if not var76 then
var76 = {}
var76.value = 0
end
local var77 = var76
if arg2.type == "increment" then
return {
value = var77.value + 1;
}
end
if arg2.type == "decrement" then
return {
value = var77.value - 1;
}
end
return var77
end)
local var81_upvw = 0
any_new_result1_12_upvr.changed:connect(function(arg1, arg2) -- Line 351
--[[ Upvalues[2]:
[1]: any_new_result1_12_upvr (readonly)
[2]: var81_upvw (read and write)
]]
expect(arg1).never.to.equal(arg2)
if 0 < arg1.value then
any_new_result1_12_upvr:dispatch({
type = "decrement";
})
end
var81_upvw += 1
end)
any_new_result1_12_upvr:dispatch({
type = "increment";
})
any_new_result1_12_upvr:flush()
any_new_result1_12_upvr:flush()
expect(var81_upvw).to.equal(2)
any_new_result1_12_upvr:destruct()
end)
it("should prevent yielding from changed handler", function() -- Line 374
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local var86_upvw
local var87_upvw
local tbl_4 = {}
local function reportUpdateError(arg1, arg2, arg3, arg4) -- Line 377
--[[ Upvalues[2]:
[1]: var86_upvw (read and write)
[2]: var87_upvw (read and write)
]]
var86_upvw = arg4.message
var87_upvw = arg4.thrownValue
end
tbl_4.reportUpdateError = reportUpdateError
local function reportReducerError() -- Line 381
end
tbl_4.reportReducerError = reportReducerError
local var89_upvw = 0
local var90_upvw = 0
local any_new_result1_7 = Store_upvr.new(function(arg1, arg2) -- Line 388
return (arg1 or 0) + 1
end, nil, nil, tbl_4)
any_new_result1_7.changed:connect(function(arg1, arg2) -- Line 393
--[[ Upvalues[2]:
[1]: var89_upvw (read and write)
[2]: var90_upvw (read and write)
]]
var89_upvw += 1
wait()
var90_upvw += 1
end)
any_new_result1_7:dispatch({
type = "increment";
})
any_new_result1_7:flush()
expect(var89_upvw).to.equal(1)
expect(var90_upvw).to.equal(0)
expect(var86_upvw).to.equal("Caught error flushing store updates")
expect(string.find(var87_upvw, script.Name)).to.be.ok()
expect(string.find(var87_upvw, "to yield")).to.be.ok()
any_new_result1_7:destruct()
end)
it("should throw if an action is dispatched without a type field", function() -- Line 424
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local any_new_result1_15_upvr = Store_upvr.new(function(arg1, arg2) -- Line 425
return arg1
end)
expect(function() -- Line 429
--[[ Upvalues[1]:
[1]: any_new_result1_15_upvr (readonly)
]]
any_new_result1_15_upvr:dispatch({})
end).to.throw()
any_new_result1_15_upvr:destruct()
end)
it("should throw if the action is not a function or table", function() -- Line 436
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local any_new_result1_3_upvr = Store_upvr.new(function(arg1, arg2) -- Line 437
return arg1
end)
expect(function() -- Line 441
--[[ Upvalues[1]:
[1]: any_new_result1_3_upvr (readonly)
]]
any_new_result1_3_upvr:dispatch(1)
end).to.throw()
any_new_result1_3_upvr:destruct()
end)
it("should report an error if the listeners error when flushing", function() -- Line 448
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local var108_upvw
local var109_upvw
local var110_upvw
local var111_upvw
local any_new_result1_5 = Store_upvr.new(function(arg1, arg2) -- Line 462
if arg2.type == "Increment" then
return {
Value = arg1.Value + arg2.amount;
}
end
return arg1
end, {
Value = 1;
}, nil, {
reportReducerError = function() -- Line 451, Named "reportReducerError"
end;
reportUpdateError = function(arg1, arg2, arg3, arg4) -- Line 454, Named "reportUpdateError"
--[[ Upvalues[4]:
[1]: var108_upvw (read and write)
[2]: var109_upvw (read and write)
[3]: var110_upvw (read and write)
[4]: var111_upvw (read and write)
]]
var108_upvw = arg1
var109_upvw = arg2
var110_upvw = arg3
var111_upvw = arg4
end;
})
any_new_result1_5.changed:connect(function(arg1, arg2) -- Line 475
if arg1.Value == 15 then
error("Z4PH0D")
end
end)
local tbl_2 = {{
type = "Increment";
amount = 1;
}, {
type = "Increment";
amount = 3;
}, {
type = "Increment";
amount = 10;
}}
for _, v in ipairs(tbl_2) do
any_new_result1_5:dispatch(v)
end
any_new_result1_5:flush()
expect(var111_upvw.message).to.equal("Caught error flushing store updates")
expect(string.find(var111_upvw.thrownValue, script.Name)).to.be.ok()
expect(var110_upvw[1]).to.equal(tbl_2[1])
expect(var110_upvw[2]).to.equal(tbl_2[2])
expect(var110_upvw[3]).to.equal(tbl_2[3])
expect(var108_upvw.Value).to.equal(1)
expect(var109_upvw.Value).to.equal(15)
any_new_result1_5:destruct()
end)
it("should throw errors if dispatching while a dispatch is already happening", function() -- Line 509
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local var127_upvw
var127_upvw = Store_upvr.new(function(arg1, arg2) -- Line 511
--[[ Upvalues[1]:
[1]: var127_upvw (read and write)
]]
if arg2.type == "SomeAction" then
var127_upvw:dispatch({
type = "MidDispatchAction";
})
end
end)
local var129_upvw = var127_upvw
expect(function() -- Line 517
--[[ Upvalues[1]:
[1]: var129_upvw (read and write)
]]
var129_upvw:dispatch({
type = "SomeAction";
})
end).to.throw()
var129_upvw:destruct()
end)
end)
describe("flush", function() -- Line 525
--[[ Upvalues[1]:
[1]: Store_upvr (readonly)
]]
it("should not fire a changed event if there were no dispatches", function() -- Line 526
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local any_new_result1_11 = Store_upvr.new(function() -- Line 527
end)
local var136_upvw = 0
any_new_result1_11.changed:connect(function() -- Line 531
--[[ Upvalues[1]:
[1]: var136_upvw (read and write)
]]
var136_upvw += 1
end)
any_new_result1_11:flush()
expect(var136_upvw).to.equal(0)
any_new_result1_11:dispatch({
type = "increment";
})
any_new_result1_11:flush()
expect(var136_upvw).to.equal(1)
any_new_result1_11:flush()
expect(var136_upvw).to.equal(1)
any_new_result1_11:destruct()
end)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:06:19
-- Luau version 6, Types version 3
-- Time taken: 0.001005 seconds
return function(arg1) -- Line 4, Named "combineReducers"
return function(arg1_2, arg2) -- Line 5
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_2 == nil then
end
for i, v in pairs(arg1) do
({})[i] = v(({})[i], arg2)
local var10
end
return var10
end
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:06:20
-- Luau version 6, Types version 3
-- Time taken: 0.002883 seconds
return function() -- Line 1
local combineReducers_upvr = require(script.Parent.combineReducers)
it("should invoke each sub-reducer for every action", function() -- Line 4
--[[ Upvalues[1]:
[1]: combineReducers_upvr (readonly)
]]
local var4_upvw = 0
local var5_upvw = 0
local tbl_2 = {}
local function a(arg1, arg2) -- Line 9
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
var4_upvw += 1
end
tbl_2.a = a
local function b(arg1, arg2) -- Line 12
--[[ Upvalues[1]:
[1]: var5_upvw (read and write)
]]
var5_upvw += 1
end
tbl_2.b = b
combineReducers_upvr(tbl_2)({}, {})
expect(var4_upvw).to.equal(1)
expect(var5_upvw).to.equal(1)
end)
it("should assign each sub-reducer's value to the new state", function() -- Line 23
--[[ Upvalues[1]:
[1]: combineReducers_upvr (readonly)
]]
local tbl = {}
local function a(arg1, arg2) -- Line 25
return (arg1 or 0) + 1
end
tbl.a = a
local function b(arg1, arg2) -- Line 28
return (arg1 or 0) + 3
end
tbl.b = b
local var9 = combineReducers_upvr(tbl)({}, {})
expect(var9.a).to.equal(1)
expect(var9.b).to.equal(3)
end)
it("should not throw when state is nil", function() -- Line 38
--[[ Upvalues[1]:
[1]: combineReducers_upvr (readonly)
]]
local combineReducers_upvr_result1_upvr = combineReducers_upvr({
a = function(arg1, arg2) -- Line 40, Named "a"
return (arg1 or 0) + 1
end;
b = function(arg1, arg2) -- Line 43, Named "b"
return (arg1 or 0) + 3
end;
})
expect(function() -- Line 48
--[[ Upvalues[1]:
[1]: combineReducers_upvr_result1_upvr (readonly)
]]
combineReducers_upvr_result1_upvr(nil, {})
end).to.never.throw()
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:06:22
-- Luau version 6, Types version 3
-- Time taken: 0.001117 seconds
return function(arg1, arg2) -- Line 1
return function(arg1_2, arg2_2) -- Line 2
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
if arg1_2 == nil then
local var3 = arg1
end
local var4 = arg2[arg2_2.type]
if var4 then
return var4(var3, arg2_2)
end
return var3
end
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:06:23
-- Luau version 6, Types version 3
-- Time taken: 0.003696 seconds
return function() -- Line 1
local createReducer_upvr = require(script.Parent.createReducer)
it("should handle actions", function() -- Line 4
--[[ Upvalues[1]:
[1]: createReducer_upvr (readonly)
]]
local tbl = {}
local function a(arg1, arg2) -- Line 9
return {
a = arg1.a + 1;
b = arg1.b;
}
end
tbl.a = a
local function b(arg1, arg2) -- Line 15
return {
a = arg1.a;
b = arg1.b + 2;
}
end
tbl.b = b
local createReducer_upvr_result1_2 = createReducer_upvr({
a = 0;
b = 0;
}, tbl)
local createReducer_upvr_result1_2_result1 = createReducer_upvr_result1_2({
a = 0;
b = 0;
}, {
type = 'a';
})
expect(createReducer_upvr_result1_2_result1.a).to.equal(1)
expect(createReducer_upvr_result1_2(createReducer_upvr_result1_2_result1, {
type = 'b';
}).b).to.equal(2)
end)
it("should return the initial state if the state is nil", function() -- Line 39
--[[ Upvalues[1]:
[1]: createReducer_upvr (readonly)
]]
local var15 = createReducer_upvr({
a = 0;
b = 0;
}, {})(nil, {})
expect(var15).to.be.ok()
expect(var15.a).to.equal(0)
expect(var15.b).to.equal(0)
end)
it("should still run action handlers if the state is nil", function() -- Line 52
--[[ Upvalues[1]:
[1]: createReducer_upvr (readonly)
]]
local var17_upvw = 0
local createReducer_upvr_result1 = createReducer_upvr(0, {
foo = function(arg1, arg2) -- Line 56, Named "foo"
--[[ Upvalues[1]:
[1]: var17_upvw (read and write)
]]
var17_upvw += 1
return nil
end;
})
expect(var17_upvw).to.equal(0)
local createReducer_upvr_result1_result1 = createReducer_upvr_result1(nil, {
type = "foo";
})
expect(var17_upvw).to.equal(1)
expect(createReducer_upvr_result1_result1).to.equal(nil)
expect(var17_upvw).to.equal(2)
expect(createReducer_upvr_result1(createReducer_upvr_result1_result1, {
type = "foo";
})).to.equal(nil)
end)
it("should return the same state if the action is not handled", function() -- Line 79
--[[ Upvalues[1]:
[1]: createReducer_upvr (readonly)
]]
local tbl_2 = {
a = 0;
b = 0;
}
expect(createReducer_upvr(tbl_2, {
a = function(arg1, arg2) -- Line 86, Named "a"
return {
a = arg1.a + 1;
b = arg1.b;
}
end;
b = function(arg1, arg2) -- Line 92, Named "b"
return {
a = arg1.a;
b = arg1.b + 2;
}
end;
})(tbl_2, {
type = 'c';
})).to.equal(tbl_2)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:06:26
-- Luau version 6, Types version 3
-- Time taken: 0.000793 seconds
return function() -- Line 1
describe("Rodux", function() -- Line 2
it("should load", function() -- Line 3
expect(require(script.Parent).Store).to.be.ok()
end)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:06:28
-- Luau version 6, Types version 3
-- Time taken: 0.001237 seconds
local module_upvr = {
outputFunction = print;
}
local prettyPrint_upvr = require(script.Parent.prettyPrint)
function module_upvr.middleware(arg1, arg2) -- Line 10
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: prettyPrint_upvr (readonly)
]]
return function(arg1_2) -- Line 11
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: module_upvr (copied, readonly)
[3]: prettyPrint_upvr (copied, readonly)
[4]: arg2 (readonly)
]]
module_upvr.outputFunction("Action dispatched: %s\nState changed to: %s":format(prettyPrint_upvr(arg1_2), prettyPrint_upvr(arg2:getState())))
return arg1(arg1_2)
end
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:06:29
-- Luau version 6, Types version 3
-- Time taken: 0.002764 seconds
return function() -- Line 1
local Store_upvr = require(script.Parent.Store)
local loggerMiddleware_upvr = require(script.Parent.loggerMiddleware)
it("should print whenever an action is dispatched", function() -- Line 5
--[[ Upvalues[2]:
[1]: Store_upvr (readonly)
[2]: loggerMiddleware_upvr (readonly)
]]
local var5_upvw = 0
local var6_upvw
function loggerMiddleware_upvr.outputFunction(arg1) -- Line 20
--[[ Upvalues[2]:
[1]: var5_upvw (read and write)
[2]: var6_upvw (read and write)
]]
var5_upvw += 1
var6_upvw = arg1
end
Store_upvr.new(function(arg1, arg2) -- Line 9, Named "reducer"
return arg1
end, {
fooValue = 12345;
barValue = {
bazValue = "hiBaz";
};
}, {loggerMiddleware_upvr.middleware}):dispatch({
type = "testActionType";
})
expect(var5_upvw).to.equal(1)
expect(var6_upvw:find("testActionType")).to.be.ok()
expect(var6_upvw:find("fooValue")).to.be.ok()
expect(var6_upvw:find("12345")).to.be.ok()
expect(var6_upvw:find("barValue")).to.be.ok()
expect(var6_upvw:find("bazValue")).to.be.ok()
expect(var6_upvw:find("hiBaz")).to.be.ok()
loggerMiddleware_upvr.outputFunction = print
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:06:31
-- Luau version 6, Types version 3
-- Time taken: 0.002451 seconds
return function(arg1, arg2) -- Line 4, Named "makeActionCreator"
local var1
if type(arg1) ~= "string" then
var1 = false
else
var1 = true
end
assert(var1, "Bad argument #1: Expected a string name for the action creator")
if type(arg2) ~= "function" then
var1 = false
else
var1 = true
end
assert(var1, "Bad argument #2: Expected a function that creates action objects")
var1 = {}
var1.name = arg1
return setmetatable(var1, {
__call = function(arg1_2, ...) -- Line 12, Named "__call"
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: arg1 (readonly)
]]
local arg2_result1 = arg2(...)
local var4
if type(arg2_result1) ~= "table" then
var4 = false
else
var4 = true
end
assert(var4, "Invalid action: An action creator must return a table")
arg2_result1.type = arg1
return arg2_result1
end;
})
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:06:32
-- Luau version 6, Types version 3
-- Time taken: 0.003697 seconds
return function() -- Line 1
local makeActionCreator_upvr = require(script.Parent.makeActionCreator)
it("should set the name of the actionCreator creator", function() -- Line 4
--[[ Upvalues[1]:
[1]: makeActionCreator_upvr (readonly)
]]
expect(makeActionCreator_upvr("foo", function() -- Line 5
return {}
end).name).to.equal("foo")
end)
it("should return a table when called as a function", function() -- Line 12
--[[ Upvalues[1]:
[1]: makeActionCreator_upvr (readonly)
]]
expect(makeActionCreator_upvr("foo", function() -- Line 13
return {}
end)()).to.be.a("table")
end)
it("should set the type of the action creator", function() -- Line 20
--[[ Upvalues[1]:
[1]: makeActionCreator_upvr (readonly)
]]
expect(makeActionCreator_upvr("foo", function() -- Line 21
return {}
end)().type).to.equal("foo")
end)
it("should set values", function() -- Line 28
--[[ Upvalues[1]:
[1]: makeActionCreator_upvr (readonly)
]]
expect(makeActionCreator_upvr("foo", function(arg1) -- Line 29
local module = {}
module.value = arg1
return module
end)(100).value).to.equal(100)
end)
it("should throw when its result does not return a table", function() -- Line 38
--[[ Upvalues[1]:
[1]: makeActionCreator_upvr (readonly)
]]
expect(makeActionCreator_upvr("foo", function() -- Line 39
return function() -- Line 40
end
end)).to.throw()
end)
it("should throw if the first argument is not a string", function() -- Line 46
--[[ Upvalues[1]:
[1]: makeActionCreator_upvr (readonly)
]]
expect(function() -- Line 47
--[[ Upvalues[1]:
[1]: makeActionCreator_upvr (copied, readonly)
]]
makeActionCreator_upvr(nil, function() -- Line 48
return {}
end)
end).to.throw()
expect(function() -- Line 53
--[[ Upvalues[1]:
[1]: makeActionCreator_upvr (copied, readonly)
]]
makeActionCreator_upvr(100, function() -- Line 54
return {}
end)
end).to.throw()
end)
it("should throw if the second argument is not a function", function() -- Line 60
--[[ Upvalues[1]:
[1]: makeActionCreator_upvr (readonly)
]]
expect(function() -- Line 61
--[[ Upvalues[1]:
[1]: makeActionCreator_upvr (copied, readonly)
]]
makeActionCreator_upvr("foo", nil)
end).to.throw()
expect(function() -- Line 65
--[[ Upvalues[1]:
[1]: makeActionCreator_upvr (copied, readonly)
]]
makeActionCreator_upvr("foo", {})
end).to.throw()
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:06:34
-- Luau version 6, Types version 3
-- Time taken: 0.002243 seconds
local function prettyPrint_upvr(arg1, arg2) -- Line 3, Named "prettyPrint"
--[[ Upvalues[1]:
[1]: prettyPrint_upvr (readonly)
]]
arg2 = arg2 or 0
local var5 = arg2
local module = {}
if typeof(arg1) == "table" then
table.insert(module, "{\n")
for i, v in pairs(arg1) do
table.insert(module, " ":rep(var5 + 1))
table.insert(module, tostring(i))
table.insert(module, " = ")
table.insert(module, prettyPrint_upvr(v, var5 + 1))
table.insert(module, '\n')
end
table.insert(module, " ":rep(var5))
table.insert(module, '}')
elseif typeof(arg1) == "string" then
table.insert(module, string.format("%q", arg1))
table.insert(module, " (string)")
else
table.insert(module, tostring(arg1))
table.insert(module, " (")
table.insert(module, typeof(arg1))
table.insert(module, ')')
end
return table.concat(module, "")
end
return prettyPrint_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:06:36
-- Luau version 6, Types version 3
-- Time taken: 0.001616 seconds
local function tracebackReporter_upvr(arg1) -- Line 7, Named "tracebackReporter"
return debug.traceback(arg1)
end
return function(arg1, arg2) -- Line 11, Named "thunkMiddleware"
--[[ Upvalues[1]:
[1]: tracebackReporter_upvr (readonly)
]]
return function(arg1_2) -- Line 12
--[[ Upvalues[3]:
[1]: arg2 (readonly)
[2]: tracebackReporter_upvr (copied, readonly)
[3]: arg1 (readonly)
]]
if typeof(arg1_2) == "function" then
local xpcall_result1, xpcall_result2 = xpcall(function() -- Line 14
--[[ Upvalues[2]:
[1]: arg1_2 (readonly)
[2]: arg2 (copied, readonly)
]]
return arg1_2(arg2)
end, tracebackReporter_upvr)
if not xpcall_result1 then
arg2._errorReporter.reportReducerError(arg2:getState(), arg1_2, {
message = "Caught error in thunk";
thrownValue = xpcall_result2;
})
return nil
end
return xpcall_result2
end
return arg1(arg1_2)
end
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:06:37
-- Luau version 6, Types version 3
-- Time taken: 0.004889 seconds
return function() -- Line 1
local Store_upvr = require(script.Parent.Store)
local thunkMiddleware_upvr = require(script.Parent.thunkMiddleware)
it("should dispatch thunks", function() -- Line 5
--[[ Upvalues[2]:
[1]: Store_upvr (readonly)
[2]: thunkMiddleware_upvr (readonly)
]]
local function reducer(arg1, arg2) -- Line 6
return arg1
end
local var6_upvw = 0
local function thunk(arg1) -- Line 13
--[[ Upvalues[1]:
[1]: var6_upvw (read and write)
]]
var6_upvw += 1
end
Store_upvr.new(reducer, {}, {thunkMiddleware_upvr}):dispatch(thunk)
expect(var6_upvw).to.equal(1)
end)
it("should allow normal actions to pass through", function() -- Line 22
--[[ Upvalues[2]:
[1]: Store_upvr (readonly)
[2]: thunkMiddleware_upvr (readonly)
]]
local var8_upvw = 0
local function reducer(arg1, arg2) -- Line 25
--[[ Upvalues[1]:
[1]: var8_upvw (read and write)
]]
var8_upvw += 1
return arg1
end
Store_upvr.new(reducer, {}, {thunkMiddleware_upvr}):dispatch({
type = "test";
})
expect(var8_upvw).to.equal(2)
end)
it("should return the value from the thunk", function() -- Line 42
--[[ Upvalues[2]:
[1]: Store_upvr (readonly)
[2]: thunkMiddleware_upvr (readonly)
]]
local function reducer(arg1, arg2) -- Line 43
return arg1
end
local function thunk(arg1) -- Line 50
return "test"
end
expect(Store_upvr.new(reducer, {}, {thunkMiddleware_upvr}):dispatch(thunk)).to.equal("test")
end)
it("should report errors captured in thunks via the provided error reporter", function() -- Line 59
--[[ Upvalues[2]:
[1]: Store_upvr (readonly)
[2]: thunkMiddleware_upvr (readonly)
]]
local var14_upvw
local var15_upvw
local var16_upvw
local tbl = {}
local function reportReducerError(arg1, arg2, arg3) -- Line 62
--[[ Upvalues[3]:
[1]: var14_upvw (read and write)
[2]: var15_upvw (read and write)
[3]: var16_upvw (read and write)
]]
var14_upvw = arg1
var15_upvw = arg2
var16_upvw = arg3
end
tbl.reportReducerError = reportReducerError
local function reducer(arg1, arg2) -- Line 69
return arg1
end
local function thunk(arg1) -- Line 78
error("thunk failed")
end
Store_upvr.new(reducer, {
Value = 1;
}, {thunkMiddleware_upvr}, tbl):dispatch(thunk)
expect(var14_upvw.Value).to.equal(1)
expect(var15_upvw).to.equal(thunk)
expect(var16_upvw.message).to.equal("Caught error in thunk")
end)
it("should recover and continue to update after a thunk errors", function() -- Line 89
--[[ Upvalues[2]:
[1]: Store_upvr (readonly)
[2]: thunkMiddleware_upvr (readonly)
]]
local var21_upvw
local any_new_result1 = Store_upvr.new(function(arg1, arg2) -- Line 97, Named "reducer"
return arg1
end, {
Value = 1;
}, {thunkMiddleware_upvr}, {
reportReducerError = function(arg1, arg2, arg3) -- Line 92, Named "reportReducerError"
--[[ Upvalues[1]:
[1]: var21_upvw (read and write)
]]
var21_upvw = arg3
end;
})
local var26_upvw = false
any_new_result1:dispatch(function(arg1) -- Line 106, Named "errorThunk"
error("thunk failed")
end)
expect(var21_upvw.message).to.equal("Caught error in thunk")
any_new_result1:dispatch(function(arg1) -- Line 110, Named "safeThunk"
--[[ Upvalues[1]:
[1]: var26_upvw (read and write)
]]
var26_upvw = true
end)
expect(var26_upvw).to.equal(true)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:06:39
-- Luau version 6, Types version 3
-- Time taken: 0.000716 seconds
return {
Store = require(script.Store);
createReducer = require(script.createReducer);
combineReducers = require(script.combineReducers);
makeActionCreator = require(script.makeActionCreator);
loggerMiddleware = require(script.loggerMiddleware).middleware;
thunkMiddleware = require(script.thunkMiddleware);
makeThunkMiddleware = require(script.makeThunkMiddleware);
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:06:41
-- Luau version 6, Types version 3
-- Time taken: 0.000947 seconds
local function resultHandler_upvr(arg1, arg2, ...) -- Line 11, Named "resultHandler"
if not arg2 then
error(debug.traceback(arg1, ...), 2)
end
if coroutine.status(arg1) ~= "dead" then
error(debug.traceback(arg1, "Attempted to yield inside changed event!"), 2)
end
return ...
end
return function(arg1, ...) -- Line 24, Named "NoYield"
--[[ Upvalues[1]:
[1]: resultHandler_upvr (readonly)
]]
local coroutine_create_result1 = coroutine.create(arg1)
return resultHandler_upvr(coroutine_create_result1, coroutine.resume(coroutine_create_result1, ...))
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:06:42
-- Luau version 6, Types version 3
-- Time taken: 0.002857 seconds
return function() -- Line 1
local NoYield_upvr = require(script.Parent.NoYield)
it("should call functions normally", function() -- Line 4
--[[ Upvalues[1]:
[1]: NoYield_upvr (readonly)
]]
local var4_upvw = 0
local function test(arg1, arg2) -- Line 7
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
expect(arg1).to.equal(5)
expect(arg2).to.equal(6)
var4_upvw += 1
return 11, "hello"
end
local NoYield_upvr_result1, NoYield_upvr_result2 = NoYield_upvr(test, 5, 6)
expect(NoYield_upvr_result1).to.equal(11)
expect(NoYield_upvr_result2).to.equal("hello")
end)
it("should throw on yield", function() -- Line 22
--[[ Upvalues[1]:
[1]: NoYield_upvr (readonly)
]]
local var8_upvw = 0
local var9_upvw = 0
local pcall_result1, pcall_result2 = pcall(NoYield_upvr, function() -- Line 26, Named "testMethod"
--[[ Upvalues[2]:
[1]: var8_upvw (read and write)
[2]: var9_upvw (read and write)
]]
var8_upvw += 1
wait()
var9_upvw += 1
end)
expect(var8_upvw).to.equal(1)
expect(var9_upvw).to.equal(0)
expect(pcall_result1).to.equal(false)
expect(pcall_result2:find("Attempted to yield inside changed event!")).to.be.ok()
expect(pcall_result2:find("NoYield.spec")).to.be.ok()
end)
it("should propagate error messages", function() -- Line 42
--[[ Upvalues[1]:
[1]: NoYield_upvr (readonly)
]]
local var13_upvw = 0
local pcall_result1_2, pcall_result2_2 = pcall(NoYield_upvr, function() -- Line 45, Named "test"
--[[ Upvalues[1]:
[1]: var13_upvw (read and write)
]]
var13_upvw += 1
error("foo")
end)
expect(pcall_result1_2).to.equal(false)
expect(pcall_result2_2:find("foo")).to.be.ok()
expect(pcall_result2_2:find("NoYield.spec")).to.be.ok()
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:06:43
-- Luau version 6, Types version 3
-- Time taken: 0.003323 seconds
local function immutableAppend_upvr(arg1, ...) -- Line 8, Named "immutableAppend"
local module = {}
local len = #arg1
for i = 1, len do
module[i] = arg1[i]
end
for i_2 = 1, select('#', ...) do
module[len + i_2] = select(i_2, ...)
end
return module
end
local function immutableRemoveValue_upvr(arg1, arg2) -- Line 23, Named "immutableRemoveValue"
for i_3 = 1, #arg1 do
if arg1[i_3] ~= arg2 then
table.insert({}, arg1[i_3])
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return {}
end
local module_2_upvr = {}
module_2_upvr.__index = module_2_upvr
function module_2_upvr.new(arg1) -- Line 50
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
local module_3 = {
_listeners = {};
}
module_3._store = arg1
setmetatable(module_3, module_2_upvr)
return module_3
end
function module_2_upvr.connect(arg1, arg2) -- Line 61
--[[ Upvalues[2]:
[1]: immutableAppend_upvr (readonly)
[2]: immutableRemoveValue_upvr (readonly)
]]
if typeof(arg2) ~= "function" then
error("Expected the listener to be a function.")
end
if arg1._store and arg1._store._isDispatching then
error("You may not call store.changed:connect() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store:getState() in the callback to access the latest state. ")
end
local tbl_upvr = {}
tbl_upvr.callback = arg2
tbl_upvr.disconnected = false
tbl_upvr.connectTraceback = debug.traceback()
tbl_upvr.disconnectTraceback = nil
arg1._listeners = immutableAppend_upvr(arg1._listeners, tbl_upvr)
return {
disconnect = function() -- Line 83, Named "disconnect"
--[[ Upvalues[3]:
[1]: tbl_upvr (readonly)
[2]: arg1 (readonly)
[3]: immutableRemoveValue_upvr (copied, readonly)
]]
if tbl_upvr.disconnected then
error("Listener connected at: \n%s\nwas already disconnected at: \n%s\n":format(tostring(tbl_upvr.connectTraceback), tostring(tbl_upvr.disconnectTraceback)))
end
if arg1._store and arg1._store._isDispatching then
error("You may not unsubscribe from a store listener while the reducer is executing.")
end
tbl_upvr.disconnected = true
tbl_upvr.disconnectTraceback = debug.traceback()
arg1._listeners = immutableRemoveValue_upvr(arg1._listeners, tbl_upvr)
end;
}
end
function module_2_upvr.fire(arg1, ...) -- Line 107
for _, v in ipairs(arg1._listeners) do
if not v.disconnected then
v.callback(...)
end
end
end
return module_2_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:06:45
-- Luau version 6, Types version 3
-- Time taken: 0.008571 seconds
return function() -- Line 1
local Signal_upvr = require(script.Parent.Signal)
it("should construct from nothing", function() -- Line 4
--[[ Upvalues[1]:
[1]: Signal_upvr (readonly)
]]
expect(Signal_upvr.new()).to.be.ok()
end)
it("should fire connected callbacks", function() -- Line 10
--[[ Upvalues[1]:
[1]: Signal_upvr (readonly)
]]
local var5_upvw = 0
local any_new_result1_5 = Signal_upvr.new()
any_new_result1_5:fire("Hello World", 7)
expect(var5_upvw).to.equal(1)
any_new_result1_5:connect(function(arg1, arg2) -- Line 15
--[[ Upvalues[1]:
[1]: var5_upvw (read and write)
]]
expect(arg1).to.equal("Hello World")
expect(arg2).to.equal(7)
var5_upvw += 1
end):disconnect()
any_new_result1_5:fire("Hello World", 7)
expect(var5_upvw).to.equal(1)
end)
it("should disconnect handlers", function() -- Line 34
--[[ Upvalues[1]:
[1]: Signal_upvr (readonly)
]]
local any_new_result1 = Signal_upvr.new()
any_new_result1:connect(function() -- Line 35
error("Callback was called after disconnect!")
end):disconnect()
any_new_result1:fire()
end)
it("should fire handlers in order", function() -- Line 47
--[[ Upvalues[1]:
[1]: Signal_upvr (readonly)
]]
local any_new_result1_3 = Signal_upvr.new()
local var13_upvw = 0
local var14_upvw = 0
any_new_result1_3:connect(function() -- Line 52
--[[ Upvalues[2]:
[1]: var13_upvw (read and write)
[2]: var14_upvw (read and write)
]]
expect(var13_upvw).to.equal(0)
expect(var14_upvw).to.equal(0)
var13_upvw += 1
end)
any_new_result1_3:connect(function() -- Line 58
--[[ Upvalues[2]:
[1]: var13_upvw (read and write)
[2]: var14_upvw (read and write)
]]
expect(var13_upvw).to.equal(1)
expect(var14_upvw).to.equal(0)
var14_upvw += 1
end)
any_new_result1_3:fire()
expect(var13_upvw).to.equal(1)
expect(var14_upvw).to.equal(1)
end)
it("should continue firing despite mid-event disconnection", function() -- Line 72
--[[ Upvalues[1]:
[1]: Signal_upvr (readonly)
]]
local any_new_result1_2 = Signal_upvr.new()
local var19_upvw = 0
local var20_upvw = 0
local var22_upvw
var22_upvw = any_new_result1_2:connect(function() -- Line 78
--[[ Upvalues[2]:
[1]: var22_upvw (read and write)
[2]: var19_upvw (read and write)
]]
var22_upvw:disconnect()
var19_upvw += 1
end)
any_new_result1_2:connect(function() -- Line 83
--[[ Upvalues[1]:
[1]: var20_upvw (read and write)
]]
var20_upvw += 1
end)
any_new_result1_2:fire()
expect(var19_upvw).to.equal(1)
expect(var20_upvw).to.equal(1)
end)
it("should skip listeners that were disconnected during event evaluation", function() -- Line 93
--[[ Upvalues[1]:
[1]: Signal_upvr (readonly)
]]
local any_new_result1_7 = Signal_upvr.new()
local var26_upvw = 0
local var27_upvw = 0
local var29_upvw
any_new_result1_7:connect(function() -- Line 100
--[[ Upvalues[2]:
[1]: var26_upvw (read and write)
[2]: var29_upvw (read and write)
]]
var26_upvw += 1
var29_upvw:disconnect()
end)
var29_upvw = any_new_result1_7:connect(function() -- Line 105
--[[ Upvalues[1]:
[1]: var27_upvw (read and write)
]]
var27_upvw += 1
end)
any_new_result1_7:fire()
expect(var26_upvw).to.equal(1)
expect(var27_upvw).to.equal(0)
end)
it("should throw an error if the argument to `connect` is not a function", function() -- Line 115
--[[ Upvalues[1]:
[1]: Signal_upvr (readonly)
]]
local any_new_result1_upvr = Signal_upvr.new()
expect(function() -- Line 117
--[[ Upvalues[1]:
[1]: any_new_result1_upvr (readonly)
]]
any_new_result1_upvr:connect("not a function")
end).to.throw()
end)
it("should throw an error when disconnecting more than once", function() -- Line 122
--[[ Upvalues[1]:
[1]: Signal_upvr (readonly)
]]
local any_connect_result1 = Signal_upvr.new():connect(function() -- Line 125
end)
expect(any_connect_result1.disconnect).never.to.throw()
expect(any_connect_result1.disconnect).to.throw()
end)
it("should throw an error when subscribing during dispatch", function() -- Line 133
--[[ Upvalues[1]:
[1]: Signal_upvr (readonly)
]]
local tbl_2 = {
_isDispatching = false;
}
local any_new_result1_6_upvr = Signal_upvr.new(tbl_2)
any_new_result1_6_upvr:connect(function() -- Line 139
--[[ Upvalues[1]:
[1]: any_new_result1_6_upvr (readonly)
]]
any_new_result1_6_upvr:connect(function() -- Line 141
end)
end)
tbl_2._isDispatching = true
expect(function() -- Line 145
--[[ Upvalues[1]:
[1]: any_new_result1_6_upvr (readonly)
]]
any_new_result1_6_upvr:fire()
end).to.throw()
end)
it("should throw an error when unsubscribing during dispatch", function() -- Line 150
--[[ Upvalues[1]:
[1]: Signal_upvr (readonly)
]]
local tbl = {
_isDispatching = false;
}
local any_new_result1_4_upvr = Signal_upvr.new(tbl)
local var47_upvw
var47_upvw = any_new_result1_4_upvr:connect(function() -- Line 157
--[[ Upvalues[1]:
[1]: var47_upvw (read and write)
]]
var47_upvw.disconnect()
end)
tbl._isDispatching = true
expect(function() -- Line 162
--[[ Upvalues[1]:
[1]: any_new_result1_4_upvr (readonly)
]]
any_new_result1_4_upvr:fire()
end).to.throw()
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:06:47
-- Luau version 6, Types version 3
-- Time taken: 0.010480 seconds
local tbl_upvr = {
reportReducerError = function(arg1, arg2, arg3) -- Line 9, Named "reportReducerError"
error(string.format("Received error: %s\n\n%s", arg3.message, arg3.thrownValue))
end;
reportUpdateError = function(arg1, arg2, arg3, arg4) -- Line 12, Named "reportUpdateError"
error(string.format("Received error: %s\n\n%s", arg4.message, arg4.thrownValue))
end;
}
local function tracebackReporter_upvr(arg1) -- Line 17, Named "tracebackReporter"
return debug.traceback(tostring(arg1))
end
local module_upvr_2 = {
_flushEvent = game:GetService("RunService").Heartbeat;
}
module_upvr_2.__index = module_upvr_2
local Signal_upvr = require(script.Parent.Signal)
function module_upvr_2.new(arg1, arg2, arg3, arg4) -- Line 41
--[[ Upvalues[4]:
[1]: tbl_upvr (readonly)
[2]: tracebackReporter_upvr (readonly)
[3]: Signal_upvr (readonly)
[4]: module_upvr_2 (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var12_upvr
if typeof(arg1) ~= "function" then
var12_upvr = false
else
var12_upvr = true
end
assert(var12_upvr, "Bad argument #1 to Store.new, expected function.")
var12_upvr = true
if arg3 ~= nil then
if typeof(arg3) ~= "table" then
var12_upvr = false
else
var12_upvr = true
end
end
assert(var12_upvr, "Bad argument #3 to Store.new, expected nil or table.")
if arg3 ~= nil then
var12_upvr = 1
for i = 1, #arg3, var12_upvr do
local var13
if typeof(arg3[i]) ~= "function" then
var13 = false
else
var13 = true
end
assert(var13, "Expected the middleware ('%s') at index %d to be a function.":format(tostring(arg3[i]), i))
end
end
local module_upvr = {}
var12_upvr = arg4
if not var12_upvr then
var12_upvr = tbl_upvr
end
module_upvr._errorReporter = var12_upvr
var12_upvr = false
module_upvr._isDispatching = var12_upvr
module_upvr._reducer = arg1
var12_upvr = {}
var12_upvr.type = "@@INIT"
module_upvr._actionLog = {var12_upvr}
local xpcall_result1, xpcall_result2_2 = xpcall(function() -- Line 62
--[[ Upvalues[4]:
[1]: module_upvr (readonly)
[2]: arg1 (readonly)
[3]: arg2 (readonly)
[4]: var12_upvr (readonly)
]]
module_upvr._state = arg1(arg2, var12_upvr)
end, tracebackReporter_upvr)
if not xpcall_result1 then
module_upvr._errorReporter.reportReducerError(arg2, var12_upvr, {
message = "Caught error in reducer with init";
thrownValue = xpcall_result2_2;
})
module_upvr._state = arg2
end
module_upvr._lastState = module_upvr._state
module_upvr._mutatedSinceFlush = false
module_upvr._connections = {}
module_upvr.changed = Signal_upvr.new(module_upvr)
setmetatable(module_upvr, module_upvr_2)
table.insert(module_upvr._connections, module_upvr._flushEvent:Connect(function() -- Line 81
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
module_upvr:flush()
end))
local var22_upvw
if arg3 then
local dispatch_2_upvr = module_upvr.dispatch
function var22_upvw(...) -- Line 88
--[[ Upvalues[2]:
[1]: dispatch_2_upvr (readonly)
[2]: module_upvr (readonly)
]]
return dispatch_2_upvr(module_upvr, ...)
end
for i_2 = #arg3, 1, -1 do
var22_upvw = arg3[i_2](var22_upvw, module_upvr)
end
function module_upvr.dispatch(arg1_2, ...) -- Line 97
--[[ Upvalues[1]:
[1]: var22_upvw (read and write)
]]
return var22_upvw(...)
end
end
return module_upvr
end
function module_upvr_2.getState(arg1) -- Line 108
if arg1._isDispatching then
error("You may not call store:getState() while the reducer is executing. The reducer (%s) has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.":format(tostring(arg1._reducer)))
end
return arg1._state
end
function module_upvr_2.dispatch(arg1, arg2) -- Line 129
if typeof(arg2) ~= "table" then
error("Actions must be tables. Use custom middleware for %q actions.":format(typeof(arg2)), 2)
end
if arg2.type == nil then
error("Actions may not have an undefined 'type' property. ".."Have you misspelled a constant? \n"..tostring(arg2), 2)
end
if arg1._isDispatching then
error("Reducers may not dispatch actions.")
end
local pcall_result1, pcall_result2 = pcall(function() -- Line 147
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
arg1._isDispatching = true
arg1._state = arg1._reducer(arg1._state, arg2)
arg1._mutatedSinceFlush = true
end)
arg1._isDispatching = false
if not pcall_result1 then
arg1._errorReporter.reportReducerError(arg1._state, arg2, {
message = "Caught error in reducer";
thrownValue = pcall_result2;
})
end
if #arg1._actionLog == 3 then
table.remove(arg1._actionLog, 1)
end
table.insert(arg1._actionLog, arg2)
end
function module_upvr_2.destruct(arg1) -- Line 171
for _, v in ipairs(arg1._connections) do
v:Disconnect()
end
arg1._connections = nil
end
local NoYield_upvr = require(script.Parent.NoYield)
function module_upvr_2.flush(arg1) -- Line 182
--[[ Upvalues[2]:
[1]: NoYield_upvr (readonly)
[2]: tracebackReporter_upvr (readonly)
]]
if not arg1._mutatedSinceFlush then
else
arg1._mutatedSinceFlush = false
local _state_upvr = arg1._state
local xpcall_result1_2, xpcall_result2 = xpcall(function() -- Line 194
--[[ Upvalues[3]:
[1]: NoYield_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: _state_upvr (readonly)
]]
NoYield_upvr(function() -- Line 197
--[[ Upvalues[2]:
[1]: arg1 (copied, readonly)
[2]: _state_upvr (copied, readonly)
]]
arg1.changed:fire(_state_upvr, arg1._lastState)
end)
end, tracebackReporter_upvr)
if not xpcall_result1_2 then
arg1._errorReporter.reportUpdateError(arg1._lastState, _state_upvr, arg1._actionLog, {
message = "Caught error flushing store updates";
thrownValue = xpcall_result2;
})
end
arg1._lastState = _state_upvr
end
end
return module_upvr_2
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:06:50
-- Luau version 6, Types version 3
-- Time taken: 0.026720 seconds
return function() -- Line 1
local Store_upvr = require(script.Parent.Store)
describe("new", function() -- Line 4
--[[ Upvalues[1]:
[1]: Store_upvr (readonly)
]]
it("should instantiate with a reducer", function() -- Line 5
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local any_new_result1_11 = Store_upvr.new(function(arg1, arg2) -- Line 6
return "hello, world"
end)
expect(any_new_result1_11).to.be.ok()
expect(any_new_result1_11:getState()).to.equal("hello, world")
any_new_result1_11:destruct()
end)
it("should instantiate with a reducer and an initial state", function() -- Line 16
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local any_new_result1_5 = Store_upvr.new(function(arg1, arg2) -- Line 17
return arg1
end, "initial state")
expect(any_new_result1_5).to.be.ok()
expect(any_new_result1_5:getState()).to.equal("initial state")
any_new_result1_5:destruct()
end)
it("should instantiate with a reducer, initial state, and middlewares", function() -- Line 27
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local any_new_result1_12 = Store_upvr.new(function(arg1, arg2) -- Line 28
return arg1
end, "initial state", {})
expect(any_new_result1_12).to.be.ok()
expect(any_new_result1_12:getState()).to.equal("initial state")
any_new_result1_12:destruct()
end)
it("should modify the dispatch method when middlewares are passed", function() -- Line 38
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local var14_upvw = 0
local var15_upvw = 0
local var16_upvw
local var17_upvw
local var18_upvw
local function reducer(arg1, arg2) -- Line 45
if arg2.type == "test" then
return "test state"
end
return arg1
end
local any_new_result1_7 = Store_upvr.new(reducer, "initial state", {function(arg1, arg2) -- Line 53, Named "testMiddleware"
--[[ Upvalues[5]:
[1]: var14_upvw (read and write)
[2]: var16_upvw (read and write)
[3]: var17_upvw (read and write)
[4]: var15_upvw (read and write)
[5]: var18_upvw (read and write)
]]
var14_upvw += 1
var16_upvw = arg1
var17_upvw = arg2
return function(arg1_2) -- Line 58
--[[ Upvalues[3]:
[1]: var15_upvw (copied, read and write)
[2]: var18_upvw (copied, read and write)
[3]: arg1 (readonly)
]]
var15_upvw += 1
var18_upvw = arg1_2
arg1(arg1_2)
end
end})
expect(var14_upvw).to.equal(1)
expect(var15_upvw).to.equal(0)
expect(var16_upvw).to.be.a("function")
expect(var17_upvw).to.equal(any_new_result1_7)
any_new_result1_7:dispatch({
type = "test";
})
expect(var14_upvw).to.equal(1)
expect(var15_upvw).to.equal(1)
expect(var18_upvw.type).to.equal("test")
any_new_result1_7:flush()
expect(any_new_result1_7:getState()).to.equal("test state")
any_new_result1_7:destruct()
end)
it("should execute middleware left-to-right", function() -- Line 88
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local tbl_4_upvr = {}
local any_new_result1_8 = Store_upvr.new(function(arg1) -- Line 91, Named "reducer"
return arg1
end, 5, {function(arg1, arg2) -- Line 95, Named "middlewareA"
--[[ Upvalues[1]:
[1]: tbl_4_upvr (readonly)
]]
table.insert(tbl_4_upvr, "instantiate a")
return function(arg1_3) -- Line 97
--[[ Upvalues[2]:
[1]: tbl_4_upvr (copied, readonly)
[2]: arg1 (readonly)
]]
table.insert(tbl_4_upvr, "execute a")
return arg1(arg1_3)
end
end, function(arg1, arg2) -- Line 103, Named "middlewareB"
--[[ Upvalues[1]:
[1]: tbl_4_upvr (readonly)
]]
table.insert(tbl_4_upvr, "instantiate b")
return function(arg1_4) -- Line 105
--[[ Upvalues[2]:
[1]: tbl_4_upvr (copied, readonly)
[2]: arg1 (readonly)
]]
table.insert(tbl_4_upvr, "execute b")
return arg1(arg1_4)
end
end})
expect(#tbl_4_upvr).to.equal(2)
expect(tbl_4_upvr[1]).to.equal("instantiate b")
expect(tbl_4_upvr[2]).to.equal("instantiate a")
any_new_result1_8:dispatch({
type = "test";
})
expect(#tbl_4_upvr).to.equal(4)
expect(tbl_4_upvr[3]).to.equal("execute a")
expect(tbl_4_upvr[4]).to.equal("execute b")
any_new_result1_8:destruct()
end)
it("should send an initial action with a 'type' field", function() -- Line 128
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local var31_upvw
local var32_upvw = 0
expect(var32_upvw).to.equal(1)
expect(var31_upvw).to.be.a("table")
expect(var31_upvw.type).to.be.ok()
Store_upvr.new(function(arg1, arg2) -- Line 132
--[[ Upvalues[2]:
[1]: var31_upvw (read and write)
[2]: var32_upvw (read and write)
]]
var31_upvw = arg2
var32_upvw += 1
return arg1
end):destruct()
end)
it("should report a reducer error thrown when handling the INIT action", function() -- Line 146
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local var35_upvw
local var36_upvw
local var37_upvw
local tbl_3 = {}
local function reportReducerError(arg1, arg2, arg3) -- Line 149
--[[ Upvalues[3]:
[1]: var35_upvw (read and write)
[2]: var36_upvw (read and write)
[3]: var37_upvw (read and write)
]]
var35_upvw = arg1
var36_upvw = arg2
var37_upvw = arg3
end
tbl_3.reportReducerError = reportReducerError
local function reportUpdateError() -- Line 154
end
tbl_3.reportUpdateError = reportUpdateError
expect(var35_upvw.Value).to.equal(1)
expect(var36_upvw.type).to.equal("@@INIT")
expect(var37_upvw.message).to.equal("Caught error in reducer with init")
expect(string.find(var37_upvw.thrownValue, "Z4PH0D")).to.be.ok()
expect(string.find(var37_upvw.thrownValue, script.Name)).to.be.ok()
Store_upvr.new(function(arg1, arg2) -- Line 160
error("Z4PH0D")
end, {
Value = 1;
}, nil, tbl_3):destruct()
end)
it("should report a reducer error thrown when handling a subsequent action", function() -- Line 183
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local var42_upvw
local var43_upvw
local var44_upvw
local tbl_5 = {}
local function reportReducerError(arg1, arg2, arg3) -- Line 186
--[[ Upvalues[3]:
[1]: var42_upvw (read and write)
[2]: var43_upvw (read and write)
[3]: var44_upvw (read and write)
]]
var42_upvw = arg1
var43_upvw = arg2
var44_upvw = arg3
end
tbl_5.reportReducerError = reportReducerError
local function reportUpdateError() -- Line 191
end
tbl_5.reportUpdateError = reportUpdateError
local any_new_result1 = Store_upvr.new(function(arg1, arg2) -- Line 197
if arg2.type == "ThrowError" then
error("Z4PH0D")
return arg1
end
if arg2.type == "Increment" then
return {
Value = arg1.Value + 1;
}
end
return arg1
end, {
Value = 1;
}, nil, tbl_5)
expect(var42_upvw).to.equal(nil)
expect(var43_upvw).to.equal(nil)
expect(var44_upvw).to.equal(nil)
any_new_result1:dispatch({
type = "Increment";
})
any_new_result1:dispatch({
type = "ThrowError";
})
expect(var42_upvw.Value).to.equal(2)
expect(var43_upvw.type).to.equal("ThrowError")
expect(var44_upvw.message).to.equal("Caught error in reducer")
expect(string.find(var44_upvw.thrownValue, "Z4PH0D")).to.be.ok()
expect(string.find(var44_upvw.thrownValue, script.Name)).to.be.ok()
any_new_result1:destruct()
end)
end)
describe("getState", function() -- Line 235
--[[ Upvalues[1]:
[1]: Store_upvr (readonly)
]]
it("should get the current state", function() -- Line 236
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local any_new_result1_15 = Store_upvr.new(function(arg1, arg2) -- Line 237
return "foo"
end)
expect(any_new_result1_15:getState()).to.equal("foo")
any_new_result1_15:destruct()
end)
it("should throw errors if triggered during dispatches", function() -- Line 248
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local var58_upvw
var58_upvw = Store_upvr.new(function(arg1, arg2) -- Line 250
--[[ Upvalues[1]:
[1]: var58_upvw (read and write)
]]
if arg2.type ~= "@@INIT" then
var58_upvw:getState()
end
end)
local var59_upvw = var58_upvw
expect(function() -- Line 256
--[[ Upvalues[1]:
[1]: var59_upvw (read and write)
]]
var59_upvw:dispatch({
type = "SomeAction";
})
end).to.throw()
var59_upvw:destruct()
end)
end)
describe("dispatch", function() -- Line 264
--[[ Upvalues[1]:
[1]: Store_upvr (readonly)
]]
it("should be sent through the reducer", function() -- Line 265
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local any_new_result1_2 = Store_upvr.new(function(arg1, arg2) -- Line 266
if arg2.type == "act" then
return "bar"
end
return arg1 or "foo"
end)
expect(any_new_result1_2).to.be.ok()
expect(any_new_result1_2:getState()).to.equal("foo")
any_new_result1_2:dispatch({
type = "act";
})
any_new_result1_2:flush()
expect(any_new_result1_2:getState()).to.equal("bar")
any_new_result1_2:destruct()
end)
it("should trigger the changed event after a flush", function() -- Line 290
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local any_new_result1_3 = Store_upvr.new(function(arg1, arg2) -- Line 291
local var69 = arg1 or 0
if arg2.type == "increment" then
return var69 + 1
end
return var69
end)
local var71_upvw = 0
any_new_result1_3.changed:connect(function(arg1, arg2) -- Line 303
--[[ Upvalues[1]:
[1]: var71_upvw (read and write)
]]
expect(arg2).to.equal(0)
expect(arg1).to.equal(1)
var71_upvw += 1
end)
any_new_result1_3:dispatch({
type = "increment";
})
any_new_result1_3:flush()
expect(var71_upvw).to.equal(1)
any_new_result1_3:destruct()
end)
it("should handle actions dispatched within the changed event", function() -- Line 321
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local any_new_result1_10_upvr = Store_upvr.new(function(arg1, arg2) -- Line 322
local var76 = arg1
if not var76 then
var76 = {}
var76.value = 0
end
local var77 = var76
if arg2.type == "increment" then
return {
value = var77.value + 1;
}
end
if arg2.type == "decrement" then
return {
value = var77.value - 1;
}
end
return var77
end)
local var81_upvw = 0
any_new_result1_10_upvr.changed:connect(function(arg1, arg2) -- Line 342
--[[ Upvalues[2]:
[1]: any_new_result1_10_upvr (readonly)
[2]: var81_upvw (read and write)
]]
expect(arg1).never.to.equal(arg2)
if 0 < arg1.value then
any_new_result1_10_upvr:dispatch({
type = "decrement";
})
end
var81_upvw += 1
end)
any_new_result1_10_upvr:dispatch({
type = "increment";
})
any_new_result1_10_upvr:flush()
any_new_result1_10_upvr:flush()
expect(var81_upvw).to.equal(2)
any_new_result1_10_upvr:destruct()
end)
it("should prevent yielding from changed handler", function() -- Line 365
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local var86_upvw
local var87_upvw
local tbl = {}
local function reportUpdateError(arg1, arg2, arg3, arg4) -- Line 368
--[[ Upvalues[2]:
[1]: var86_upvw (read and write)
[2]: var87_upvw (read and write)
]]
var86_upvw = arg4.message
var87_upvw = arg4.thrownValue
end
tbl.reportUpdateError = reportUpdateError
local function reportReducerError() -- Line 372
end
tbl.reportReducerError = reportReducerError
local var89_upvw = 0
local var90_upvw = 0
local any_new_result1_6 = Store_upvr.new(function(arg1, arg2) -- Line 379
return (arg1 or 0) + 1
end, nil, nil, tbl)
any_new_result1_6.changed:connect(function(arg1, arg2) -- Line 384
--[[ Upvalues[2]:
[1]: var89_upvw (read and write)
[2]: var90_upvw (read and write)
]]
var89_upvw += 1
wait()
var90_upvw += 1
end)
any_new_result1_6:dispatch({
type = "increment";
})
any_new_result1_6:flush()
expect(var89_upvw).to.equal(1)
expect(var90_upvw).to.equal(0)
expect(var86_upvw).to.equal("Caught error flushing store updates")
expect(string.find(var87_upvw, script.Name)).to.be.ok()
expect(string.find(var87_upvw, "to yield")).to.be.ok()
any_new_result1_6:destruct()
end)
it("should throw if an action is dispatched without a type field", function() -- Line 417
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local any_new_result1_14_upvr = Store_upvr.new(function(arg1, arg2) -- Line 418
return arg1
end)
expect(function() -- Line 422
--[[ Upvalues[1]:
[1]: any_new_result1_14_upvr (readonly)
]]
any_new_result1_14_upvr:dispatch({})
end).to.throw()
any_new_result1_14_upvr:destruct()
end)
it("should throw if the action is not a function or table", function() -- Line 429
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local any_new_result1_13_upvr = Store_upvr.new(function(arg1, arg2) -- Line 430
return arg1
end)
expect(function() -- Line 434
--[[ Upvalues[1]:
[1]: any_new_result1_13_upvr (readonly)
]]
any_new_result1_13_upvr:dispatch(1)
end).to.throw()
any_new_result1_13_upvr:destruct()
end)
it("should report an error if the listeners error when flushing", function() -- Line 441
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local var108_upvw
local var109_upvw
local var110_upvw
local var111_upvw
local any_new_result1_4 = Store_upvr.new(function(arg1, arg2) -- Line 455
if arg2.type == "Increment" then
return {
Value = arg1.Value + arg2.amount;
}
end
return arg1
end, {
Value = 1;
}, nil, {
reportReducerError = function() -- Line 444, Named "reportReducerError"
end;
reportUpdateError = function(arg1, arg2, arg3, arg4) -- Line 447, Named "reportUpdateError"
--[[ Upvalues[4]:
[1]: var108_upvw (read and write)
[2]: var109_upvw (read and write)
[3]: var110_upvw (read and write)
[4]: var111_upvw (read and write)
]]
var108_upvw = arg1
var109_upvw = arg2
var110_upvw = arg3
var111_upvw = arg4
end;
})
any_new_result1_4.changed:connect(function(arg1, arg2) -- Line 468
if arg1.Value == 15 then
error("Z4PH0D")
end
end)
local tbl_2 = {{
type = "Increment";
amount = 1;
}, {
type = "Increment";
amount = 3;
}, {
type = "Increment";
amount = 10;
}}
for _, v in ipairs(tbl_2) do
any_new_result1_4:dispatch(v)
end
any_new_result1_4:flush()
expect(var111_upvw.message).to.equal("Caught error flushing store updates")
expect(string.find(var111_upvw.thrownValue, script.Name)).to.be.ok()
expect(var110_upvw[1]).to.equal(tbl_2[1])
expect(var110_upvw[2]).to.equal(tbl_2[2])
expect(var110_upvw[3]).to.equal(tbl_2[3])
expect(var108_upvw.Value).to.equal(1)
expect(var109_upvw.Value).to.equal(15)
any_new_result1_4:destruct()
end)
it("should throw errors if dispatching while a dispatch is already happening", function() -- Line 503
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local var127_upvw
var127_upvw = Store_upvr.new(function(arg1, arg2) -- Line 505
--[[ Upvalues[1]:
[1]: var127_upvw (read and write)
]]
if arg2.type == "SomeAction" then
var127_upvw:dispatch({
type = "MidDispatchAction";
})
end
end)
local var129_upvw = var127_upvw
expect(function() -- Line 511
--[[ Upvalues[1]:
[1]: var129_upvw (read and write)
]]
var129_upvw:dispatch({
type = "SomeAction";
})
end).to.throw()
var129_upvw:destruct()
end)
end)
describe("flush", function() -- Line 519
--[[ Upvalues[1]:
[1]: Store_upvr (readonly)
]]
it("should not fire a changed event if there were no dispatches", function() -- Line 520
--[[ Upvalues[1]:
[1]: Store_upvr (copied, readonly)
]]
local any_new_result1_9 = Store_upvr.new(function() -- Line 521
end)
local var136_upvw = 0
any_new_result1_9.changed:connect(function() -- Line 524
--[[ Upvalues[1]:
[1]: var136_upvw (read and write)
]]
var136_upvw += 1
end)
any_new_result1_9:flush()
expect(var136_upvw).to.equal(0)
any_new_result1_9:dispatch({
type = "increment";
})
any_new_result1_9:flush()
expect(var136_upvw).to.equal(1)
any_new_result1_9:flush()
expect(var136_upvw).to.equal(1)
any_new_result1_9:destruct()
end)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:06:52
-- Luau version 6, Types version 3
-- Time taken: 0.001073 seconds
return function(arg1) -- Line 17, Named "combineReducers"
return function(arg1_2, arg2) -- Line 19
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_2 == nil then
end
for i, v in pairs(arg1) do
({})[i] = v(({})[i], arg2)
local var10
end
return var10
end
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:06:54
-- Luau version 6, Types version 3
-- Time taken: 0.003307 seconds
return function() -- Line 1
local combineReducers_upvr = require(script.Parent.combineReducers)
it("should invoke each sub-reducer for every action", function() -- Line 4
--[[ Upvalues[1]:
[1]: combineReducers_upvr (readonly)
]]
local var4_upvw = 0
local var5_upvw = 0
local tbl_2 = {}
local function a(arg1, arg2) -- Line 9
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
var4_upvw += 1
end
tbl_2.a = a
local function b(arg1, arg2) -- Line 12
--[[ Upvalues[1]:
[1]: var5_upvw (read and write)
]]
var5_upvw += 1
end
tbl_2.b = b
combineReducers_upvr(tbl_2)({}, {})
expect(var4_upvw).to.equal(1)
expect(var5_upvw).to.equal(1)
end)
it("should assign each sub-reducer's value to the new state", function() -- Line 23
--[[ Upvalues[1]:
[1]: combineReducers_upvr (readonly)
]]
local tbl = {}
local function a(arg1, arg2) -- Line 25
return (arg1 or 0) + 1
end
tbl.a = a
local function b(arg1, arg2) -- Line 28
return (arg1 or 0) + 3
end
tbl.b = b
local var9 = combineReducers_upvr(tbl)({}, {})
expect(var9.a).to.equal(1)
expect(var9.b).to.equal(3)
end)
it("should not throw when state is nil", function() -- Line 38
--[[ Upvalues[1]:
[1]: combineReducers_upvr (readonly)
]]
local combineReducers_upvr_result1_upvr = combineReducers_upvr({
a = function(arg1, arg2) -- Line 40, Named "a"
return (arg1 or 0) + 1
end;
b = function(arg1, arg2) -- Line 43, Named "b"
return (arg1 or 0) + 3
end;
})
expect(function() -- Line 48
--[[ Upvalues[1]:
[1]: combineReducers_upvr_result1_upvr (readonly)
]]
combineReducers_upvr_result1_upvr(nil, {})
end).to.never.throw()
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:06:56
-- Luau version 6, Types version 3
-- Time taken: 0.000955 seconds
return function(arg1, arg2) -- Line 9
return function(arg1_2, arg2_2) -- Line 11
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
if arg1_2 == nil then
local var3 = arg1
end
local var4 = arg2[arg2_2.type]
if var4 then
return var4(var3, arg2_2)
end
return var3
end
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:06:57
-- Luau version 6, Types version 3
-- Time taken: 0.005402 seconds
return function() -- Line 1
local createReducer_upvr = require(script.Parent.createReducer)
it("should handle actions", function() -- Line 4
--[[ Upvalues[1]:
[1]: createReducer_upvr (readonly)
]]
local tbl = {}
local function a(arg1, arg2) -- Line 9
return {
a = arg1.a + 1;
b = arg1.b;
}
end
tbl.a = a
local function b(arg1, arg2) -- Line 15
return {
a = arg1.a;
b = arg1.b + 2;
}
end
tbl.b = b
local createReducer_upvr_result1_2 = createReducer_upvr({
a = 0;
b = 0;
}, tbl)
local createReducer_upvr_result1_2_result1 = createReducer_upvr_result1_2({
a = 0;
b = 0;
}, {
type = 'a';
})
expect(createReducer_upvr_result1_2_result1.a).to.equal(1)
expect(createReducer_upvr_result1_2(createReducer_upvr_result1_2_result1, {
type = 'b';
}).b).to.equal(2)
end)
it("should return the initial state if the state is nil", function() -- Line 39
--[[ Upvalues[1]:
[1]: createReducer_upvr (readonly)
]]
local var15 = createReducer_upvr({
a = 0;
b = 0;
}, {})(nil, {})
expect(var15).to.be.ok()
expect(var15.a).to.equal(0)
expect(var15.b).to.equal(0)
end)
it("should still run action handlers if the state is nil", function() -- Line 52
--[[ Upvalues[1]:
[1]: createReducer_upvr (readonly)
]]
local var17_upvw = 0
local createReducer_upvr_result1 = createReducer_upvr(0, {
foo = function(arg1, arg2) -- Line 56, Named "foo"
--[[ Upvalues[1]:
[1]: var17_upvw (read and write)
]]
var17_upvw += 1
return nil
end;
})
expect(var17_upvw).to.equal(0)
local createReducer_upvr_result1_result1 = createReducer_upvr_result1(nil, {
type = "foo";
})
expect(var17_upvw).to.equal(1)
expect(createReducer_upvr_result1_result1).to.equal(nil)
expect(var17_upvw).to.equal(2)
expect(createReducer_upvr_result1(createReducer_upvr_result1_result1, {
type = "foo";
})).to.equal(nil)
end)
it("should return the same state if the action is not handled", function() -- Line 79
--[[ Upvalues[1]:
[1]: createReducer_upvr (readonly)
]]
local tbl_2 = {
a = 0;
b = 0;
}
expect(createReducer_upvr(tbl_2, {
a = function(arg1, arg2) -- Line 86, Named "a"
return {
a = arg1.a + 1;
b = arg1.b;
}
end;
b = function(arg1, arg2) -- Line 92, Named "b"
return {
a = arg1.a;
b = arg1.b + 2;
}
end;
})(tbl_2, {
type = 'c';
})).to.equal(tbl_2)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:06:59
-- Luau version 6, Types version 3
-- Time taken: 0.001009 seconds
return function() -- Line 1
describe("Rodux", function() -- Line 2
it("should load", function() -- Line 3
expect(require(script.Parent).Store).to.be.ok()
end)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:01
-- Luau version 6, Types version 3
-- Time taken: 0.000914 seconds
local module_upvr = {
outputFunction = print;
}
local prettyPrint_upvr = require(script.Parent.prettyPrint)
function module_upvr.middleware(arg1, arg2) -- Line 13
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: prettyPrint_upvr (readonly)
]]
return function(arg1_2) -- Line 14
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: module_upvr (copied, readonly)
[3]: prettyPrint_upvr (copied, readonly)
[4]: arg2 (readonly)
]]
module_upvr.outputFunction("Action dispatched: %s\nState changed to: %s":format(prettyPrint_upvr(arg1_2), prettyPrint_upvr(arg2:getState())))
return arg1(arg1_2)
end
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:03
-- Luau version 6, Types version 3
-- Time taken: 0.002080 seconds
return function() -- Line 1
local Store_upvr = require(script.Parent.Store)
local loggerMiddleware_upvr = require(script.Parent.loggerMiddleware)
it("should print whenever an action is dispatched", function() -- Line 5
--[[ Upvalues[2]:
[1]: Store_upvr (readonly)
[2]: loggerMiddleware_upvr (readonly)
]]
local var5_upvw = 0
local var6_upvw
function loggerMiddleware_upvr.outputFunction(arg1) -- Line 22
--[[ Upvalues[2]:
[1]: var5_upvw (read and write)
[2]: var6_upvw (read and write)
]]
var5_upvw += 1
var6_upvw = arg1
end
Store_upvr.new(function(arg1, arg2) -- Line 9, Named "reducer"
return arg1
end, {
fooValue = 12345;
barValue = {
bazValue = "hiBaz";
};
}, {loggerMiddleware_upvr.middleware}):dispatch({
type = "testActionType";
})
expect(var5_upvw).to.equal(1)
expect(var6_upvw:find("testActionType")).to.be.ok()
expect(var6_upvw:find("fooValue")).to.be.ok()
expect(var6_upvw:find("12345")).to.be.ok()
expect(var6_upvw:find("barValue")).to.be.ok()
expect(var6_upvw:find("bazValue")).to.be.ok()
expect(var6_upvw:find("hiBaz")).to.be.ok()
loggerMiddleware_upvr.outputFunction = print
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:05
-- Luau version 6, Types version 3
-- Time taken: 0.001837 seconds
return function(arg1, arg2) -- Line 10, Named "makeActionCreator"
local var1
if type(arg1) ~= "string" then
var1 = false
else
var1 = true
end
assert(var1, "Bad argument #1: Expected a string name for the action creator")
if type(arg2) ~= "function" then
var1 = false
else
var1 = true
end
assert(var1, "Bad argument #2: Expected a function that creates action objects")
var1 = {}
var1.name = arg1
return setmetatable(var1, {
__call = function(arg1_2, ...) -- Line 21, Named "__call"
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: arg1 (readonly)
]]
local arg2_result1 = arg2(...)
local var4
if type(arg2_result1) ~= "table" then
var4 = false
else
var4 = true
end
assert(var4, "Invalid action: An action creator must return a table")
arg2_result1.type = arg1
return arg2_result1
end;
})
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:07
-- Luau version 6, Types version 3
-- Time taken: 0.003478 seconds
return function() -- Line 1
local makeActionCreator_upvr = require(script.Parent.makeActionCreator)
it("should set the name of the actionCreator creator", function() -- Line 4
--[[ Upvalues[1]:
[1]: makeActionCreator_upvr (readonly)
]]
expect(makeActionCreator_upvr("foo", function() -- Line 5
return {}
end).name).to.equal("foo")
end)
it("should return a table when called as a function", function() -- Line 12
--[[ Upvalues[1]:
[1]: makeActionCreator_upvr (readonly)
]]
expect(makeActionCreator_upvr("foo", function() -- Line 13
return {}
end)()).to.be.a("table")
end)
it("should set the type of the action creator", function() -- Line 20
--[[ Upvalues[1]:
[1]: makeActionCreator_upvr (readonly)
]]
expect(makeActionCreator_upvr("foo", function() -- Line 21
return {}
end)().type).to.equal("foo")
end)
it("should set values", function() -- Line 28
--[[ Upvalues[1]:
[1]: makeActionCreator_upvr (readonly)
]]
expect(makeActionCreator_upvr("foo", function(arg1) -- Line 29
local module = {}
module.value = arg1
return module
end)(100).value).to.equal(100)
end)
it("should throw when its result does not return a table", function() -- Line 38
--[[ Upvalues[1]:
[1]: makeActionCreator_upvr (readonly)
]]
expect(makeActionCreator_upvr("foo", function() -- Line 39
return function() -- Line 40
end
end)).to.throw()
end)
it("should throw if the first argument is not a string", function() -- Line 46
--[[ Upvalues[1]:
[1]: makeActionCreator_upvr (readonly)
]]
expect(function() -- Line 47
--[[ Upvalues[1]:
[1]: makeActionCreator_upvr (copied, readonly)
]]
makeActionCreator_upvr(nil, function() -- Line 48
return {}
end)
end).to.throw()
expect(function() -- Line 53
--[[ Upvalues[1]:
[1]: makeActionCreator_upvr (copied, readonly)
]]
makeActionCreator_upvr(100, function() -- Line 54
return {}
end)
end).to.throw()
end)
it("should throw if the second argument is not a function", function() -- Line 60
--[[ Upvalues[1]:
[1]: makeActionCreator_upvr (readonly)
]]
expect(function() -- Line 61
--[[ Upvalues[1]:
[1]: makeActionCreator_upvr (copied, readonly)
]]
makeActionCreator_upvr("foo", nil)
end).to.throw()
expect(function() -- Line 65
--[[ Upvalues[1]:
[1]: makeActionCreator_upvr (copied, readonly)
]]
makeActionCreator_upvr("foo", {})
end).to.throw()
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:09
-- Luau version 6, Types version 3
-- Time taken: 0.002332 seconds
local function tracebackReporter_upvr(arg1) -- Line 10, Named "tracebackReporter"
return debug.traceback(arg1)
end
return function(arg1) -- Line 14, Named "makeThunkMiddleware"
--[[ Upvalues[1]:
[1]: tracebackReporter_upvr (readonly)
]]
return function(arg1_2, arg2) -- Line 15, Named "thunkMiddleware"
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: tracebackReporter_upvr (copied, readonly)
]]
return function(arg1_3) -- Line 16
--[[ Upvalues[4]:
[1]: arg2 (readonly)
[2]: arg1 (copied, readonly)
[3]: tracebackReporter_upvr (copied, readonly)
[4]: arg1_2 (readonly)
]]
if typeof(arg1_3) == "function" then
local xpcall_result1, xpcall_result2 = xpcall(function() -- Line 18
--[[ Upvalues[3]:
[1]: arg1_3 (readonly)
[2]: arg2 (copied, readonly)
[3]: arg1 (copied, readonly)
]]
return arg1_3(arg2, arg1)
end, tracebackReporter_upvr)
if not xpcall_result1 then
arg2._errorReporter.reportReducerError(arg2:getState(), arg1_3, {
message = "Caught error in thunk";
thrownValue = xpcall_result2;
})
return nil
end
return xpcall_result2
end
return arg1_2(arg1_3)
end
end
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:10
-- Luau version 6, Types version 3
-- Time taken: 0.002886 seconds
local function prettyPrint_upvr(arg1, arg2) -- Line 4, Named "prettyPrint"
--[[ Upvalues[1]:
[1]: prettyPrint_upvr (readonly)
]]
local var5 = arg2 or 0
local module = {}
if typeof(arg1) == "table" then
table.insert(module, "{\n")
for i, v in pairs(arg1) do
table.insert(module, " ":rep(var5 + 1))
table.insert(module, tostring(i))
table.insert(module, " = ")
table.insert(module, prettyPrint_upvr(v, var5 + 1))
table.insert(module, '\n')
end
table.insert(module, " ":rep(var5))
table.insert(module, '}')
elseif typeof(arg1) == "string" then
table.insert(module, string.format("%q", arg1))
table.insert(module, " (string)")
else
table.insert(module, tostring(arg1))
table.insert(module, " (")
table.insert(module, typeof(arg1))
table.insert(module, ')')
end
return table.concat(module, "")
end
return prettyPrint_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:11
-- Luau version 6, Types version 3
-- Time taken: 0.000309 seconds
return require(script.Parent.makeThunkMiddleware)(nil)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:13
-- Luau version 6, Types version 3
-- Time taken: 0.005776 seconds
return function() -- Line 1
local Store_upvr = require(script.Parent.Store)
local thunkMiddleware_upvr = require(script.Parent.thunkMiddleware)
it("should dispatch thunks", function() -- Line 6
--[[ Upvalues[2]:
[1]: Store_upvr (readonly)
[2]: thunkMiddleware_upvr (readonly)
]]
local function reducer(arg1, arg2) -- Line 7
return arg1
end
local var6_upvw = 0
local function thunk(arg1) -- Line 14
--[[ Upvalues[1]:
[1]: var6_upvw (read and write)
]]
var6_upvw += 1
end
Store_upvr.new(reducer, {}, {thunkMiddleware_upvr}):dispatch(thunk)
expect(var6_upvw).to.equal(1)
end)
it("should allow normal actions to pass through", function() -- Line 23
--[[ Upvalues[2]:
[1]: Store_upvr (readonly)
[2]: thunkMiddleware_upvr (readonly)
]]
local var8_upvw = 0
local function reducer(arg1, arg2) -- Line 26
--[[ Upvalues[1]:
[1]: var8_upvw (read and write)
]]
var8_upvw += 1
return arg1
end
Store_upvr.new(reducer, {}, {thunkMiddleware_upvr}):dispatch({
type = "test";
})
expect(var8_upvw).to.equal(2)
end)
it("should return the value from the thunk", function() -- Line 43
--[[ Upvalues[2]:
[1]: Store_upvr (readonly)
[2]: thunkMiddleware_upvr (readonly)
]]
local function reducer(arg1, arg2) -- Line 44
return arg1
end
local function thunk(arg1) -- Line 51
return "test"
end
expect(Store_upvr.new(reducer, {}, {thunkMiddleware_upvr}):dispatch(thunk)).to.equal("test")
end)
it("should report errors captured in thunks via the provided error reporter", function() -- Line 60
--[[ Upvalues[2]:
[1]: Store_upvr (readonly)
[2]: thunkMiddleware_upvr (readonly)
]]
local var14_upvw
local var15_upvw
local var16_upvw
local tbl_2 = {}
local function reportReducerError(arg1, arg2, arg3) -- Line 63
--[[ Upvalues[3]:
[1]: var14_upvw (read and write)
[2]: var15_upvw (read and write)
[3]: var16_upvw (read and write)
]]
var14_upvw = arg1
var15_upvw = arg2
var16_upvw = arg3
end
tbl_2.reportReducerError = reportReducerError
local function reducer(arg1, arg2) -- Line 70
return arg1
end
local function thunk(arg1) -- Line 79
error("thunk failed")
end
Store_upvr.new(reducer, {
Value = 1;
}, {thunkMiddleware_upvr}, tbl_2):dispatch(thunk)
expect(var14_upvw.Value).to.equal(1)
expect(var15_upvw).to.equal(thunk)
expect(var16_upvw.message).to.equal("Caught error in thunk")
end)
it("should recover and continue to update after a thunk errors", function() -- Line 90
--[[ Upvalues[2]:
[1]: Store_upvr (readonly)
[2]: thunkMiddleware_upvr (readonly)
]]
local var21_upvw
local function reducer(arg1, arg2) -- Line 98
return arg1
end
local any_new_result1 = Store_upvr.new(reducer, {
Value = 1;
}, {thunkMiddleware_upvr}, {
reportReducerError = function(arg1, arg2, arg3) -- Line 93, Named "reportReducerError"
--[[ Upvalues[1]:
[1]: var21_upvw (read and write)
]]
var21_upvw = arg3
end;
})
local var26_upvw = false
any_new_result1:dispatch(function(arg1) -- Line 107, Named "errorThunk"
error("thunk failed")
end)
expect(var21_upvw.message).to.equal("Caught error in thunk")
any_new_result1:dispatch(function(arg1) -- Line 111, Named "safeThunk"
--[[ Upvalues[1]:
[1]: var26_upvw (read and write)
]]
var26_upvw = true
end)
expect(var26_upvw).to.equal(true)
end)
local makeThunkMiddleware_upvr = require(script.Parent.makeThunkMiddleware)
it("should send extra argument to thunks when provided", function() -- Line 122
--[[ Upvalues[2]:
[1]: Store_upvr (readonly)
[2]: makeThunkMiddleware_upvr (readonly)
]]
local tbl = {
What = "MyExtraArg";
}
local var31_upvw = 0
local var32_upvw
Store_upvr.new(function(arg1, arg2) -- Line 123, Named "reducer"
return arg1
end, {}, {makeThunkMiddleware_upvr(tbl)}):dispatch(function(arg1, arg2) -- Line 132, Named "thunk"
--[[ Upvalues[2]:
[1]: var31_upvw (read and write)
[2]: var32_upvw (read and write)
]]
var31_upvw += 1
var32_upvw = arg2
end)
expect(var31_upvw).to.equal(1)
expect(var32_upvw).to.equal(tbl)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:14
-- Luau version 6, Types version 3
-- Time taken: 0.000307 seconds
return nil
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:16
-- Luau version 6, Types version 3
-- Time taken: 0.000484 seconds
return nil
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:17
-- Luau version 6, Types version 3
-- Time taken: 0.000485 seconds
return nil
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:19
-- Luau version 6, Types version 3
-- Time taken: 0.000258 seconds
return nil
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:21
-- Luau version 6, Types version 3
-- Time taken: 0.000381 seconds
return require(script.Parent.Parent["
[email protected]"].option)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:22
-- Luau version 6, Types version 3
-- Time taken: 0.000302 seconds
return require(script.Parent.Parent["
[email protected]"].promise)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:24
-- Luau version 6, Types version 3
-- Time taken: 0.000409 seconds
return require(script.Parent.Parent["
[email protected]"].signal)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:26
-- Luau version 6, Types version 3
-- Time taken: 0.000640 seconds
return {
Server = require(script.Server);
Client = require(script.Client);
ServerComm = require(script.Server.ServerComm);
ClientComm = require(script.Client.ClientComm);
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:27
-- Luau version 6, Types version 3
-- Time taken: 0.013451 seconds
local Util_upvr = require(script.Parent.Util)
local module = {}
local Promise_upvr = require(script.Parent.Parent.Promise)
function module.GetFunction(arg1, arg2, arg3, arg4, arg5) -- Line 9
--[[ Upvalues[2]:
[1]: Util_upvr (readonly)
[2]: Promise_upvr (readonly)
]]
assert(not Util_upvr.IsServer, "GetFunction must be called from the client")
local var4 = arg2
local SOME_upvr = Util_upvr.GetCommSubFolder(arg1, "RF"):Expect("Failed to get Comm RF folder"):WaitForChild(var4, Util_upvr.WaitForChildTimeout)
local var6
if SOME_upvr == nil then
var4 = false
else
var4 = true
end
var6 = assert
var6(var4, "Failed to find RemoteFunction: "..arg2)
var6 = false
if type(arg4) == "table" then
if 0 >= #arg4 then
var6 = false
else
var6 = true
end
end
local var7_upvr = false
if type(arg5) == "table" then
if 0 >= #arg5 then
var7_upvr = false
else
var7_upvr = true
end
end
local function ProcessOutbound_upvr(arg1_2) -- Line 22, Named "ProcessOutbound"
--[[ Upvalues[1]:
[1]: arg5 (readonly)
]]
for _, v in ipairs(arg5) do
local packed = table.pack(v(arg1_2))
if not packed[1] then
return table.unpack(packed, 2, packed.n)
end
arg1_2.n = #arg1_2
end
return table.unpack(arg1_2, 1, arg1_2.n)
end
if var6 then
if arg3 then
return function(...) -- Line 34
--[[ Upvalues[5]:
[1]: Promise_upvr (copied, readonly)
[2]: var7_upvr (readonly)
[3]: SOME_upvr (readonly)
[4]: ProcessOutbound_upvr (readonly)
[5]: arg4 (readonly)
]]
local packed_upvr_2 = table.pack(...)
return Promise_upvr.new(function(arg1_3, arg2_2) -- Line 36
--[[ Upvalues[5]:
[1]: var7_upvr (copied, readonly)
[2]: SOME_upvr (copied, readonly)
[3]: ProcessOutbound_upvr (copied, readonly)
[4]: packed_upvr_2 (readonly)
[5]: arg4 (copied, readonly)
]]
local pcall_result1_2, pcall_result2 = pcall(function() -- Line 37
--[[ Upvalues[4]:
[1]: var7_upvr (copied, readonly)
[2]: SOME_upvr (copied, readonly)
[3]: ProcessOutbound_upvr (copied, readonly)
[4]: packed_upvr_2 (copied, readonly)
]]
if var7_upvr then
return table.pack(SOME_upvr:InvokeServer(ProcessOutbound_upvr(packed_upvr_2)))
end
return table.pack(SOME_upvr:InvokeServer(table.unpack(packed_upvr_2, 1, packed_upvr_2.n)))
end)
if pcall_result1_2 then
for _, v_2 in ipairs(arg4) do
local packed_3 = table.pack(v_2(pcall_result2))
if not packed_3[1] then
return table.unpack(packed_3, 2, packed_3.n)
end
pcall_result2.n = #pcall_result2
end
arg1_3(table.unpack(pcall_result2, 1, pcall_result2.n))
else
arg2_2(pcall_result2)
end
end)
end
end
return function(...) -- Line 59
--[[ Upvalues[4]:
[1]: var7_upvr (readonly)
[2]: SOME_upvr (readonly)
[3]: ProcessOutbound_upvr (readonly)
[4]: arg4 (readonly)
]]
local var31
if var7_upvr then
var31 = table.pack(SOME_upvr:InvokeServer(ProcessOutbound_upvr(table.pack(...))))
else
var31 = table.pack(SOME_upvr:InvokeServer(...))
end
for _, v_3 in ipairs(arg4) do
local packed_2 = table.pack(v_3(var31))
if not packed_2[1] then
return table.unpack(packed_2, 2, packed_2.n)
end
var31.n = #var31
end
return table.unpack(var31, 1, var31.n)
end
end
if arg3 then
return function(...) -- Line 78
--[[ Upvalues[4]:
[1]: Promise_upvr (copied, readonly)
[2]: var7_upvr (readonly)
[3]: SOME_upvr (readonly)
[4]: ProcessOutbound_upvr (readonly)
]]
local packed_upvr = table.pack(...)
return Promise_upvr.new(function(arg1_4, arg2_3) -- Line 80
--[[ Upvalues[4]:
[1]: var7_upvr (copied, readonly)
[2]: SOME_upvr (copied, readonly)
[3]: ProcessOutbound_upvr (copied, readonly)
[4]: packed_upvr (readonly)
]]
local pcall_result1, pcall_result2_2 = pcall(function() -- Line 81
--[[ Upvalues[4]:
[1]: var7_upvr (copied, readonly)
[2]: SOME_upvr (copied, readonly)
[3]: ProcessOutbound_upvr (copied, readonly)
[4]: packed_upvr (copied, readonly)
]]
if var7_upvr then
return table.pack(SOME_upvr:InvokeServer(ProcessOutbound_upvr(packed_upvr)))
end
return table.pack(SOME_upvr:InvokeServer(table.unpack(packed_upvr, 1, packed_upvr.n)))
end)
if pcall_result1 then
arg1_4(table.unpack(pcall_result2_2, 1, pcall_result2_2.n))
else
arg2_3(pcall_result2_2)
end
end)
end
end
if var7_upvr then
return function(...) -- Line 97
--[[ Upvalues[2]:
[1]: SOME_upvr (readonly)
[2]: ProcessOutbound_upvr (readonly)
]]
return SOME_upvr:InvokeServer(ProcessOutbound_upvr(table.pack(...)))
end
end
return function(...) -- Line 101
--[[ Upvalues[1]:
[1]: SOME_upvr (readonly)
]]
return SOME_upvr:InvokeServer(...)
end
end
local ClientRemoteSignal_upvr = require(script.ClientRemoteSignal)
function module.GetSignal(arg1, arg2, arg3, arg4) -- Line 109
--[[ Upvalues[2]:
[1]: Util_upvr (readonly)
[2]: ClientRemoteSignal_upvr (readonly)
]]
assert(not Util_upvr.IsServer, "GetSignal must be called from the client")
local var45 = arg2
local SOME_2 = Util_upvr.GetCommSubFolder(arg1, "RE"):Expect("Failed to get Comm RE folder"):WaitForChild(var45, Util_upvr.WaitForChildTimeout)
if SOME_2 == nil then
var45 = false
else
var45 = true
end
assert(var45, "Failed to find RemoteEvent: "..arg2)
return ClientRemoteSignal_upvr.new(SOME_2, arg3, arg4)
end
local ClientRemoteProperty_upvr = require(script.ClientRemoteProperty)
function module.GetProperty(arg1, arg2, arg3, arg4) -- Line 122
--[[ Upvalues[2]:
[1]: Util_upvr (readonly)
[2]: ClientRemoteProperty_upvr (readonly)
]]
assert(not Util_upvr.IsServer, "GetProperty must be called from the client")
local var48 = arg2
local SOME = Util_upvr.GetCommSubFolder(arg1, "RP"):Expect("Failed to get Comm RP folder"):WaitForChild(var48, Util_upvr.WaitForChildTimeout)
if SOME == nil then
var48 = false
else
var48 = true
end
assert(var48, "Failed to find RemoteEvent for RemoteProperty: "..arg2)
return ClientRemoteProperty_upvr.new(SOME, arg3, arg4)
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:28
-- Luau version 6, Types version 3
-- Time taken: 0.004622 seconds
local Parent_upvr = require(script.Parent)
local module_upvr = {}
module_upvr.__index = module_upvr
local Util_upvr = require(script.Parent.Parent.Util)
function module_upvr.new(arg1, arg2, arg3) -- Line 46
--[[ Upvalues[2]:
[1]: Util_upvr (readonly)
[2]: module_upvr (readonly)
]]
local var4 = not Util_upvr.IsServer
assert(var4, "ClientComm must be constructed from the client")
local var5
if typeof(arg1) ~= "Instance" then
var4 = false
else
var4 = true
end
var5 = assert
var5(var4, "Parent must be of type Instance")
var5 = Util_upvr.DefaultCommFolderName
if arg3 then
var5 = arg3
end
local var6 = var5
local SOME = arg1:WaitForChild(var6, Util_upvr.WaitForChildTimeout)
if SOME == nil then
var6 = false
else
var6 = true
end
assert(var6, "Could not find namespace for ClientComm in parent: "..var5)
local setmetatable_result1 = setmetatable({}, module_upvr)
setmetatable_result1._instancesFolder = SOME
setmetatable_result1._usePromise = arg2
return setmetatable_result1
end
function module_upvr.GetFunction(arg1, arg2, arg3, arg4) -- Line 95
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
return Parent_upvr.GetFunction(arg1._instancesFolder, arg2, arg1._usePromise, arg3, arg4)
end
function module_upvr.GetSignal(arg1, arg2, arg3, arg4) -- Line 123
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
return Parent_upvr.GetSignal(arg1._instancesFolder, arg2, arg3, arg4)
end
function module_upvr.GetProperty(arg1, arg2, arg3, arg4) -- Line 165
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
return Parent_upvr.GetProperty(arg1._instancesFolder, arg2, arg3, arg4)
end
function module_upvr.BuildObject(arg1, arg2, arg3) -- Line 192
local RF = arg1._instancesFolder:FindFirstChild("RF")
local RE = arg1._instancesFolder:FindFirstChild("RE")
local RP = arg1._instancesFolder:FindFirstChild("RP")
if RF then
for _, v in ipairs(RF:GetChildren()) do
if v:IsA("RemoteFunction") then
local any_GetFunction_result1_upvr = arg1:GetFunction(v.Name, arg2, arg3)
;({})[v.Name] = function(arg1_2, ...) -- Line 203
--[[ Upvalues[1]:
[1]: any_GetFunction_result1_upvr (readonly)
]]
return any_GetFunction_result1_upvr(...)
end
end
end
end
if RE then
for _, v_2 in ipairs(RE:GetChildren()) do
any_GetFunction_result1_upvr = v_2:IsA("RemoteEvent")
if any_GetFunction_result1_upvr then
any_GetFunction_result1_upvr = v_2.Name
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
;({})[any_GetFunction_result1_upvr] = arg1:GetSignal(v_2.Name, arg2, arg3)
end
end
end
if RP then
for _, v_3 in ipairs(RP:GetChildren()) do
any_GetFunction_result1_upvr = v_3:IsA("RemoteEvent")
if any_GetFunction_result1_upvr then
any_GetFunction_result1_upvr = v_3.Name
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
;({})[any_GetFunction_result1_upvr] = arg1:GetProperty(v_3.Name, arg2, arg3)
end
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return {}
end
function module_upvr.Destroy(arg1) -- Line 230
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:30
-- Luau version 6, Types version 3
-- Time taken: 0.004641 seconds
local module_upvr = {}
module_upvr.__index = module_upvr
local ClientRemoteSignal_upvr = require(script.Parent.ClientRemoteSignal)
local Signal_upvr = require(script.Parent.Parent.Parent.Signal)
local Promise_upvr = require(script.Parent.Parent.Parent.Promise)
function module_upvr.new(arg1, arg2, arg3) -- Line 32
--[[ Upvalues[4]:
[1]: module_upvr (readonly)
[2]: ClientRemoteSignal_upvr (readonly)
[3]: Signal_upvr (readonly)
[4]: Promise_upvr (readonly)
]]
local setmetatable_result1_upvr = setmetatable({}, module_upvr)
setmetatable_result1_upvr._rs = ClientRemoteSignal_upvr.new(arg1, arg2, arg3)
setmetatable_result1_upvr._ready = false
setmetatable_result1_upvr._value = nil
setmetatable_result1_upvr.Changed = Signal_upvr.new()
setmetatable_result1_upvr._rs:Fire()
local var6_upvw
setmetatable_result1_upvr._readyPromise = Promise_upvr.new(function(arg1_2) -- Line 45
--[[ Upvalues[1]:
[1]: var6_upvw (read and write)
]]
var6_upvw = arg1_2
end)
setmetatable_result1_upvr._changed = setmetatable_result1_upvr._rs:Connect(function(arg1_3) -- Line 48
--[[ Upvalues[2]:
[1]: setmetatable_result1_upvr (readonly)
[2]: var6_upvw (read and write)
]]
local var9
if arg1_3 == setmetatable_result1_upvr._value then
var9 = false
else
var9 = true
end
setmetatable_result1_upvr._value = arg1_3
if not setmetatable_result1_upvr._ready then
setmetatable_result1_upvr._ready = true
var6_upvw(arg1_3)
end
if var9 then
setmetatable_result1_upvr.Changed:Fire(arg1_3)
end
end)
return setmetatable_result1_upvr
end
function module_upvr.Get(arg1) -- Line 71
return arg1._value
end
function module_upvr.OnReady(arg1) -- Line 94
return arg1._readyPromise
end
function module_upvr.IsReady(arg1) -- Line 110
return arg1._ready
end
function module_upvr.Observe(arg1, arg2) -- Line 135
if arg1._ready then
task.defer(arg2, arg1._value)
end
return arg1.Changed:Connect(arg2)
end
function module_upvr.Destroy(arg1) -- Line 145
arg1._rs:Destroy()
if arg1._readyPromise then
arg1._readyPromise:cancel()
end
if arg1._changed then
arg1._changed:Disconnect()
end
arg1.Changed:Destroy()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:31
-- Luau version 6, Types version 3
-- Time taken: 0.003861 seconds
local module_upvr = {}
module_upvr.__index = module_upvr
local Signal_upvr = require(script.Parent.Parent.Parent.Signal)
function module_upvr.new(arg1, arg2, arg3) -- Line 22
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: Signal_upvr (readonly)
]]
local setmetatable_result1_upvr = setmetatable({}, module_upvr)
setmetatable_result1_upvr._re = arg1
if arg3 and 0 < #arg3 then
setmetatable_result1_upvr._hasOutbound = true
setmetatable_result1_upvr._outbound = arg3
else
setmetatable_result1_upvr._hasOutbound = false
end
if arg2 and 0 < #arg2 then
setmetatable_result1_upvr._directConnect = false
setmetatable_result1_upvr._signal = Signal_upvr.new()
setmetatable_result1_upvr._reConn = setmetatable_result1_upvr._re.OnClientEvent:Connect(function(...) -- Line 38
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: setmetatable_result1_upvr (readonly)
]]
local packed_2 = table.pack(...)
for _, v in ipairs(arg2) do
if not table.pack(v(packed_2))[1] then return end
packed_2.n = #packed_2
end
setmetatable_result1_upvr._signal:Fire(table.unpack(packed_2, 1, packed_2.n))
end)
return setmetatable_result1_upvr
end
setmetatable_result1_upvr._directConnect = true
return setmetatable_result1_upvr
end
function module_upvr._processOutboundMiddleware(arg1, ...) -- Line 55
local packed = table.pack(...)
for _, v_2 in ipairs(arg1._outbound) do
local packed_3 = table.pack(v_2(packed))
if not packed_3[1] then
return table.unpack(packed_3, 2, packed_3.n)
end
packed.n = #packed
end
return table.unpack(packed, 1, packed.n)
end
function module_upvr.Connect(arg1, arg2) -- Line 74
if arg1._directConnect then
return arg1._re.OnClientEvent:Connect(arg2)
end
return arg1._signal:Connect(arg2)
end
function module_upvr.Fire(arg1, ...) -- Line 90
if arg1._hasOutbound then
arg1._re:FireServer(arg1:_processOutboundMiddleware(...))
else
arg1._re:FireServer(...)
end
end
function module_upvr.Destroy(arg1) -- Line 101
if arg1._signal then
arg1._signal:Destroy()
end
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:32
-- Luau version 6, Types version 3
-- Time taken: 0.007781 seconds
local Util_upvr = require(script.Parent.Util)
local module_upvr = {
BindFunction = function(arg1, arg2, arg3, arg4, arg5) -- Line 37, Named "BindFunction"
--[[ Upvalues[1]:
[1]: Util_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 32 start (CF ANALYSIS FAILED)
assert(Util_upvr.IsServer, "BindFunction must be called from the server")
local RemoteFunction = Instance.new("RemoteFunction")
RemoteFunction.Name = arg2
local var4 = false
if type(arg4) == "table" then
if 0 >= #arg4 then
var4 = false
else
var4 = true
end
end
local var5 = false
if type(arg5) == "table" then
if 0 >= #arg5 then
var5 = false
else
var5 = true
end
end
local function ProcessOutbound_upvr(arg1_2, ...) -- Line 50, Named "ProcessOutbound"
--[[ Upvalues[1]:
[1]: arg5 (readonly)
]]
local packed_3 = table.pack(...)
for _, v in ipairs(arg5) do
local packed_5 = table.pack(v(arg1_2, packed_3))
if not packed_5[1] then
return table.unpack(packed_5, 2, packed_5.n)
end
packed_3.n = #packed_3
end
return table.unpack(packed_3, 1, packed_3.n)
end
if var4 and var5 then
local function OnServerInvoke(arg1_3, ...) -- Line 62
--[[ Upvalues[3]:
[1]: arg4 (readonly)
[2]: ProcessOutbound_upvr (readonly)
[3]: arg3 (readonly)
]]
local packed = table.pack(...)
for _, v_2 in ipairs(arg4) do
local packed_6 = table.pack(v_2(arg1_3, packed))
if not packed_6[1] then
return table.unpack(packed_6, 2, packed_6.n)
end
packed.n = #packed
end
return ProcessOutbound_upvr(arg1_3, arg3(arg1_3, table.unpack(packed, 1, packed.n)))
end
RemoteFunction.OnServerInvoke = OnServerInvoke
-- KONSTANTWARNING: GOTO [80] #64
end
-- KONSTANTERROR: [0] 1. Error Block 32 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [64] 51. Error Block 25 start (CF ANALYSIS FAILED)
if var4 then
function RemoteFunction.OnServerInvoke(arg1_4, ...) -- Line 75
--[[ Upvalues[2]:
[1]: arg4 (readonly)
[2]: arg3 (readonly)
]]
local packed_2 = table.pack(...)
for _, v_3 in ipairs(arg4) do
local packed_4 = table.pack(v_3(arg1_4, packed_2))
if not packed_4[1] then
return table.unpack(packed_4, 2, packed_4.n)
end
packed_2.n = #packed_2
end
return arg3(arg1_4, table.unpack(packed_2, 1, packed_2.n))
end
-- KONSTANTWARNING: GOTO [80] #64
end
-- KONSTANTERROR: [64] 51. Error Block 25 end (CF ANALYSIS FAILED)
end;
}
function module_upvr.WrapMethod(arg1, arg2, arg3, arg4, arg5) -- Line 99
--[[ Upvalues[2]:
[1]: Util_upvr (readonly)
[2]: module_upvr (readonly)
]]
local var27 = "WrapMethod must be called from the server"
assert(Util_upvr.IsServer, var27)
local var28_upvr = arg2[arg3]
if type(var28_upvr) ~= "function" then
var27 = false
else
var27 = true
end
assert(var27, "Value at index "..arg3.." must be a function; got "..type(var28_upvr))
return module_upvr.BindFunction(arg1, arg3, function(...) -- Line 109
--[[ Upvalues[2]:
[1]: var28_upvr (readonly)
[2]: arg2 (readonly)
]]
return var28_upvr(arg2, ...)
end, arg4, arg5)
end
local RemoteSignal_upvr = require(script.RemoteSignal)
function module_upvr.CreateSignal(arg1, arg2, arg3, arg4) -- Line 114
--[[ Upvalues[2]:
[1]: Util_upvr (readonly)
[2]: RemoteSignal_upvr (readonly)
]]
assert(Util_upvr.IsServer, "CreateSignal must be called from the server")
return RemoteSignal_upvr.new(Util_upvr.GetCommSubFolder(arg1, "RE"):Expect("Failed to get Comm RE folder"), arg2, arg3, arg4)
end
local RemoteProperty_upvr = require(script.RemoteProperty)
function module_upvr.CreateProperty(arg1, arg2, arg3, arg4, arg5) -- Line 126
--[[ Upvalues[2]:
[1]: Util_upvr (readonly)
[2]: RemoteProperty_upvr (readonly)
]]
assert(Util_upvr.IsServer, "CreateProperty must be called from the server")
return RemoteProperty_upvr.new(Util_upvr.GetCommSubFolder(arg1, "RP"):Expect("Failed to get Comm RP folder"), arg2, arg3, arg4, arg5)
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:33
-- Luau version 6, Types version 3
-- Time taken: 0.005394 seconds
local Players_upvr = game:GetService("Players")
local None_upvr = require(script.Parent.Parent.Util).None
local module_upvr = {}
module_upvr.__index = module_upvr
local RemoteSignal_upvr = require(script.Parent.RemoteSignal)
function module_upvr.new(arg1, arg2, arg3, arg4, arg5) -- Line 53
--[[ Upvalues[4]:
[1]: module_upvr (readonly)
[2]: RemoteSignal_upvr (readonly)
[3]: Players_upvr (readonly)
[4]: None_upvr (readonly)
]]
local setmetatable_result1_upvr = setmetatable({}, module_upvr)
setmetatable_result1_upvr._rs = RemoteSignal_upvr.new(arg1, arg2, arg4, arg5)
setmetatable_result1_upvr._value = arg3
setmetatable_result1_upvr._perPlayer = {}
setmetatable_result1_upvr._playerRemoving = Players_upvr.PlayerRemoving:Connect(function(arg1_2) -- Line 64
--[[ Upvalues[1]:
[1]: setmetatable_result1_upvr (readonly)
]]
setmetatable_result1_upvr._perPlayer[arg1_2] = nil
end)
setmetatable_result1_upvr._rs:Connect(function(arg1_3) -- Line 67
--[[ Upvalues[2]:
[1]: setmetatable_result1_upvr (readonly)
[2]: None_upvr (copied, readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 12 start (CF ANALYSIS FAILED)
local var8 = setmetatable_result1_upvr._perPlayer[arg1_3]
local var9
if var8 == nil then
var9 = setmetatable_result1_upvr._value
-- KONSTANTWARNING: GOTO [16] #13
end
-- KONSTANTERROR: [0] 1. Error Block 12 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [10] 8. Error Block 13 start (CF ANALYSIS FAILED)
if var8 == None_upvr then
var9 = nil
else
var9 = var8
end
setmetatable_result1_upvr._rs:Fire(arg1_3, var9)
-- KONSTANTERROR: [10] 8. Error Block 13 end (CF ANALYSIS FAILED)
end)
return setmetatable_result1_upvr
end
function module_upvr.Set(arg1, arg2) -- Line 91
arg1._value = arg2
table.clear(arg1._perPlayer)
arg1._rs:FireAll(arg2)
end
function module_upvr.SetTop(arg1, arg2) -- Line 118
--[[ Upvalues[1]:
[1]: Players_upvr (readonly)
]]
arg1._value = arg2
for _, v in ipairs(Players_upvr:GetPlayers()) do
if arg1._perPlayer[v] == nil then
arg1._rs:Fire(v, arg2)
end
end
end
function module_upvr.SetFilter(arg1, arg2, arg3) -- Line 141
--[[ Upvalues[1]:
[1]: Players_upvr (readonly)
]]
for _, v_2 in ipairs(Players_upvr:GetPlayers()) do
if arg2(v_2, arg3) then
arg1:SetFor(v_2, arg3)
end
end
end
function module_upvr.SetFor(arg1, arg2, arg3) -- Line 163
--[[ Upvalues[1]:
[1]: None_upvr (readonly)
]]
local var20
if arg2.Parent then
if arg3 == nil then
var20 = None_upvr
else
var20 = arg3
end
arg1._perPlayer[arg2] = var20
end
arg1._rs:Fire(arg2, arg3)
end
function module_upvr.SetForList(arg1, arg2, arg3) -- Line 179
for _, v_3 in ipairs(arg2) do
arg1:SetFor(v_3, arg3)
end
end
function module_upvr.ClearFor(arg1, arg2) -- Line 206
if arg1._perPlayer[arg2] == nil then
else
arg1._perPlayer[arg2] = nil
arg1._rs:Fire(arg2, arg1._value)
end
end
function module_upvr.ClearForList(arg1, arg2) -- Line 219
for _, v_4 in ipairs(arg2) do
arg1:ClearFor(v_4)
end
end
function module_upvr.ClearFilter(arg1, arg2) -- Line 229
--[[ Upvalues[1]:
[1]: Players_upvr (readonly)
]]
for _, v_5 in ipairs(Players_upvr:GetPlayers()) do
if arg2(v_5) then
arg1:ClearFor(v_5)
end
end
end
function module_upvr.Get(arg1) -- Line 247
return arg1._value
end
function module_upvr.GetFor(arg1, arg2) -- Line 281
--[[ Upvalues[1]:
[1]: None_upvr (readonly)
]]
local var36 = arg1._perPlayer[arg2]
if var36 == nil then
return arg1._value
end
if var36 == None_upvr then
return nil
end
return var36
end
function module_upvr.Destroy(arg1) -- Line 290
arg1._rs:Destroy()
arg1._playerRemoving:Disconnect()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:35
-- Luau version 6, Types version 3
-- Time taken: 0.007213 seconds
local module_upvr = {}
module_upvr.__index = module_upvr
local Signal_upvr = require(script.Parent.Parent.Parent.Signal)
function module_upvr.new(arg1, arg2, arg3, arg4) -- Line 25
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: Signal_upvr (readonly)
]]
local setmetatable_result1_upvr = setmetatable({}, module_upvr)
setmetatable_result1_upvr._re = Instance.new("RemoteEvent")
setmetatable_result1_upvr._re.Name = arg2
setmetatable_result1_upvr._re.Parent = arg1
if arg4 and 0 < #arg4 then
setmetatable_result1_upvr._hasOutbound = true
setmetatable_result1_upvr._outbound = arg4
else
setmetatable_result1_upvr._hasOutbound = false
end
if arg3 and 0 < #arg3 then
setmetatable_result1_upvr._directConnect = false
setmetatable_result1_upvr._signal = Signal_upvr.new()
setmetatable_result1_upvr._re.OnServerEvent:Connect(function(arg1_2, ...) -- Line 44
--[[ Upvalues[2]:
[1]: arg3 (readonly)
[2]: setmetatable_result1_upvr (readonly)
]]
local packed_3 = table.pack(...)
for _, v in ipairs(arg3) do
if not table.pack(v(arg1_2, packed_3))[1] then return end
packed_3.n = #packed_3
end
setmetatable_result1_upvr._signal:Fire(arg1_2, table.unpack(packed_3, 1, packed_3.n))
end)
return setmetatable_result1_upvr
end
setmetatable_result1_upvr._directConnect = true
return setmetatable_result1_upvr
end
function module_upvr.Connect(arg1, arg2) -- Line 68
if arg1._directConnect then
return arg1._re.OnServerEvent:Connect(arg2)
end
return arg1._signal:Connect(arg2)
end
function module_upvr._processOutboundMiddleware(arg1, arg2, ...) -- Line 76
if not arg1._hasOutbound then
return ...
end
local packed_2 = table.pack(...)
for _, v_2 in ipairs(arg1._outbound) do
local packed = table.pack(v_2(arg2, packed_2))
if not packed[1] then
return table.unpack(packed, 2, packed.n)
end
packed_2.n = #packed_2
end
return table.unpack(packed_2, 1, packed_2.n)
end
function module_upvr.Fire(arg1, arg2, ...) -- Line 101
arg1._re:FireClient(arg2, arg1:_processOutboundMiddleware(arg2, ...))
end
function module_upvr.FireAll(arg1, ...) -- Line 114
arg1._re:FireAllClients(arg1:_processOutboundMiddleware(nil, ...))
end
function module_upvr.FireExcept(arg1, arg2, ...) -- Line 129
arg1:FireFilter(function(arg1_3) -- Line 130
--[[ Upvalues[1]:
[1]: arg2 (readonly)
]]
local var19
if arg1_3 == arg2 then
var19 = false
else
var19 = true
end
return var19
end, ...)
end
local Players_upvr = game:GetService("Players")
function module_upvr.FireFilter(arg1, arg2, ...) -- Line 159
--[[ Upvalues[1]:
[1]: Players_upvr (readonly)
]]
for _, v_3 in ipairs(Players_upvr:GetPlayers()) do
if arg2(v_3, ...) then
arg1._re:FireClient(v_3, arg1:_processOutboundMiddleware(nil, ...))
end
end
end
function module_upvr.FireFor(arg1, arg2, ...) -- Line 183
for _, v_4 in ipairs(arg2) do
arg1._re:FireClient(v_4, arg1:_processOutboundMiddleware(nil, ...))
end
end
function module_upvr.Destroy(arg1) -- Line 192
arg1._re:Destroy()
if arg1._signal then
arg1._signal:Destroy()
end
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:36
-- Luau version 6, Types version 3
-- Time taken: 0.003272 seconds
local Parent_upvr = require(script.Parent)
local module_upvr = {}
module_upvr.__index = module_upvr
local Util_upvr = require(script.Parent.Parent.Util)
function module_upvr.new(arg1, arg2) -- Line 44
--[[ Upvalues[2]:
[1]: Util_upvr (readonly)
[2]: module_upvr (readonly)
]]
local IsServer = Util_upvr.IsServer
assert(IsServer, "ServerComm must be constructed from the server")
if typeof(arg1) ~= "Instance" then
IsServer = false
else
IsServer = true
end
assert(IsServer, "Parent must be of type Instance")
local DefaultCommFolderName = Util_upvr.DefaultCommFolderName
if arg2 then
DefaultCommFolderName = arg2
end
assert(not arg1:FindFirstChild(DefaultCommFolderName), "Parent already has another ServerComm bound to namespace "..DefaultCommFolderName)
local setmetatable_result1 = setmetatable({}, module_upvr)
setmetatable_result1._instancesFolder = Instance.new("Folder")
setmetatable_result1._instancesFolder.Name = DefaultCommFolderName
setmetatable_result1._instancesFolder.Parent = arg1
return setmetatable_result1
end
function module_upvr.BindFunction(arg1, arg2, arg3, arg4, arg5) -- Line 76
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
return Parent_upvr.BindFunction(arg1._instancesFolder, arg2, arg3, arg4, arg5)
end
function module_upvr.WrapMethod(arg1, arg2, arg3, arg4, arg5) -- Line 108
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
return Parent_upvr.WrapMethod(arg1._instancesFolder, arg2, arg3, arg4, arg5)
end
function module_upvr.CreateSignal(arg1, arg2, arg3, arg4) -- Line 141
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
return Parent_upvr.CreateSignal(arg1._instancesFolder, arg2, arg3, arg4)
end
function module_upvr.CreateProperty(arg1, arg2, arg3, arg4, arg5) -- Line 189
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
return Parent_upvr.CreateProperty(arg1._instancesFolder, arg2, arg3, arg4, arg5)
end
function module_upvr.Destroy(arg1) -- Line 201
arg1._instancesFolder:Destroy()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:38
-- Luau version 6, Types version 3
-- Time taken: 0.000216 seconds
return nil
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:39
-- Luau version 6, Types version 3
-- Time taken: 0.001498 seconds
local module_upvr = {
IsServer = game:GetService("RunService"):IsServer();
WaitForChildTimeout = 60;
DefaultCommFolderName = "__comm__";
None = newproxy();
}
local Option_upvr = require(script.Parent.Parent.Option)
function module_upvr.GetCommSubFolder(arg1, arg2) -- Line 12
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: Option_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 9 start (CF ANALYSIS FAILED)
local var3
if module_upvr.IsServer then
var3 = arg1:FindFirstChild(arg2)
if not var3 then
var3 = Instance.new("Folder")
var3.Name = arg2
var3.Parent = arg1
-- KONSTANTWARNING: GOTO [29] #23
end
else
var3 = arg1:WaitForChild(arg2, module_upvr.WaitForChildTimeout)
end
-- KONSTANTERROR: [0] 1. Error Block 9 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [29] 23. Error Block 6 start (CF ANALYSIS FAILED)
do
return Option_upvr.Wrap(var3)
end
-- KONSTANTERROR: [29] 23. Error Block 6 end (CF ANALYSIS FAILED)
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:41
-- Luau version 6, Types version 3
-- Time taken: 0.000872 seconds
return {
dependencies = {
Option = "sleitnick/option@1";
Promise = "evaera/promise@4";
Signal = "sleitnick/signal@1";
};
package = {
authors = {"Stephen Leitnick"};
description = "Comm library for remote communication";
license = "MIT";
name = "sleitnick/comm";
realm = "shared";
registry = "https://github.com/UpliftGames/wally-index";
version = "0.3.2";
};
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:43
-- Luau version 6, Types version 3
-- Time taken: 0.009688 seconds
local module_2_upvr = {}
module_2_upvr.__index = module_2_upvr
function module_2_upvr._new(arg1) -- Line 129
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
local module = {}
local var3 = "Option"
module.ClassName = var3
module._v = arg1
if arg1 == nil then
var3 = false
else
var3 = true
end
module._s = var3
return setmetatable(module, module_2_upvr)
end
function module_2_upvr.Some(arg1) -- Line 145
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
if arg1 == nil then
else
end
assert(true, "Option.Some() value cannot be nil")
return module_2_upvr._new(arg1)
end
function module_2_upvr.Wrap(arg1) -- Line 158
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
if arg1 == nil then
return module_2_upvr.None
end
return module_2_upvr.Some(arg1)
end
function module_2_upvr.Is(arg1) -- Line 171
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
local var4 = false
if type(arg1) == "table" then
if getmetatable(arg1) ~= module_2_upvr then
var4 = false
else
var4 = true
end
end
return var4
end
function module_2_upvr.Assert(arg1) -- Line 179
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
assert(module_2_upvr.Is(arg1), "Result was not of type Option")
end
function module_2_upvr.Deserialize(arg1) -- Line 189
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
local var5 = false
local var6
if type(arg1) == "table" then
if arg1.ClassName ~= "Option" then
var5 = false
else
var5 = true
end
end
var6 = assert
var6(var5, "Invalid data for deserializing Option")
local function INLINED() -- Internal function, doesn't exist in bytecode
var6 = module_2_upvr.None
return var6
end
if arg1.Value ~= nil or not INLINED() then
var6 = module_2_upvr.Some(arg1.Value)
end
return var6
end
function module_2_upvr.Serialize(arg1) -- Line 198
return {
ClassName = arg1.ClassName;
Value = arg1._v;
}
end
function module_2_upvr.Match(arg1, arg2) -- Line 219
local Some_2 = arg2.Some
local None = arg2.None
local var10
if type(Some_2) ~= "function" then
var10 = false
else
var10 = true
end
assert(var10, "Missing 'Some' match")
if type(None) ~= "function" then
var10 = false
else
var10 = true
end
assert(var10, "Missing 'None' match")
if arg1:IsSome() then
var10 = arg1:Unwrap()
return Some_2(var10)
end
return None()
end
function module_2_upvr.IsSome(arg1) -- Line 235
return arg1._s
end
function module_2_upvr.IsNone(arg1) -- Line 243
return not arg1._s
end
function module_2_upvr.Expect(arg1, arg2) -- Line 257
assert(arg1:IsSome(), arg2)
return arg1._v
end
function module_2_upvr.ExpectNone(arg1, arg2) -- Line 266
assert(arg1:IsNone(), arg2)
end
function module_2_upvr.Unwrap(arg1) -- Line 274
return arg1:Expect("Cannot unwrap option of None type")
end
function module_2_upvr.UnwrapOr(arg1, arg2) -- Line 283
if arg1:IsSome() then
return arg1:Unwrap()
end
return arg2
end
function module_2_upvr.UnwrapOrElse(arg1, arg2) -- Line 297
if arg1:IsSome() then
return arg1:Unwrap()
end
return arg2()
end
function module_2_upvr.And(arg1, arg2) -- Line 323
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
if arg1:IsSome() then
return arg2
end
return module_2_upvr.None
end
function module_2_upvr.AndThen(arg1, arg2) -- Line 347
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
if arg1:IsSome() then
local arg2_result1 = arg2(arg1:Unwrap())
module_2_upvr.Assert(arg2_result1)
return arg2_result1
end
return module_2_upvr.None
end
function module_2_upvr.Or(arg1, arg2) -- Line 362
if arg1:IsSome() then
return arg1
end
return arg2
end
function module_2_upvr.OrElse(arg1, arg2) -- Line 376
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
if arg1:IsSome() then
return arg1
end
local arg2_result1_2 = arg2()
module_2_upvr.Assert(arg2_result1_2)
return arg2_result1_2
end
function module_2_upvr.XOr(arg1, arg2) -- Line 393
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
local any_IsSome_result1_4 = arg1:IsSome()
if any_IsSome_result1_4 == arg2:IsSome() then
return module_2_upvr.None
end
if any_IsSome_result1_4 then
return arg1
end
return arg2
end
function module_2_upvr.Filter(arg1, arg2) -- Line 411
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
if arg1:IsNone() or not arg2(arg1._v) then
return module_2_upvr.None
end
return arg1
end
function module_2_upvr.Contains(arg1, arg2) -- Line 424
local any_IsSome_result1_2 = arg1:IsSome()
if any_IsSome_result1_2 then
if arg1._v ~= arg2 then
any_IsSome_result1_2 = false
else
any_IsSome_result1_2 = true
end
end
return any_IsSome_result1_2
end
function module_2_upvr.__tostring(arg1) -- Line 438
if arg1:IsSome() then
return "Option<"..typeof(arg1._v)..'>'
end
return "Option<None>"
end
function module_2_upvr.__eq(arg1, arg2) -- Line 464
--[[ Upvalues[1]:
[1]: module_2_upvr (readonly)
]]
if module_2_upvr.Is(arg2) then
if arg1:IsSome() then
local any_IsSome_result1 = arg2:IsSome()
if any_IsSome_result1 then
if arg1:Unwrap() ~= arg2:Unwrap() then
any_IsSome_result1 = false
else
any_IsSome_result1 = true
end
return any_IsSome_result1
end
end
if arg1:IsNone() and arg2:IsNone() then
return true
end
end
return false
end
module_2_upvr.None = module_2_upvr._new()
return module_2_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:45
-- Luau version 6, Types version 3
-- Time taken: 0.026305 seconds
return function() -- Line 1
local Parent_upvr = require(script.Parent)
describe("Some", function() -- Line 4
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should create some option", function() -- Line 5
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(Parent_upvr.Some(true):IsSome()).to.equal(true)
end)
it("should fail to create some option with nil", function() -- Line 10
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(function() -- Line 11
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
Parent_upvr.Some(nil)
end).to.throw()
end)
it("should not be none", function() -- Line 16
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(Parent_upvr.Some(10):IsNone()).to.equal(false)
end)
end)
describe("None", function() -- Line 22
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should be able to reference none", function() -- Line 23
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(function() -- Line 24
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
end).never.to.throw()
end)
it("should be able to check if none", function() -- Line 29
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(Parent_upvr.None:IsNone()).to.equal(true)
end)
it("should be able to check if not some", function() -- Line 34
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(Parent_upvr.None:IsSome()).to.equal(false)
end)
end)
describe("Equality", function() -- Line 40
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should equal the same some from same options", function() -- Line 41
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_Some_result1_3 = Parent_upvr.Some(32)
expect(any_Some_result1_3).to.equal(any_Some_result1_3)
end)
it("should equal the same some from different options", function() -- Line 46
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(Parent_upvr.Some(32)).to.equal(Parent_upvr.Some(32))
end)
end)
describe("Assert", function() -- Line 53
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should assert that a some option is an option", function() -- Line 54
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(Parent_upvr.Is(Parent_upvr.Some(10))).to.equal(true)
end)
it("should assert that a none option is an option", function() -- Line 58
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(Parent_upvr.Is(Parent_upvr.None)).to.equal(true)
end)
it("should assert that a non-option is not an option", function() -- Line 62
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(Parent_upvr.Is(10)).to.equal(false)
expect(Parent_upvr.Is(true)).to.equal(false)
expect(Parent_upvr.Is(false)).to.equal(false)
expect(Parent_upvr.Is("Test")).to.equal(false)
expect(Parent_upvr.Is({})).to.equal(false)
expect(Parent_upvr.Is(function() -- Line 68
end)).to.equal(false)
expect(Parent_upvr.Is(coroutine.create(function() -- Line 69
end))).to.equal(false)
expect(Parent_upvr.Is(Parent_upvr)).to.equal(false)
end)
end)
describe("Unwrap", function() -- Line 74
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should unwrap a some option", function() -- Line 75
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_Some_result1_5_upvr = Parent_upvr.Some(10)
expect(function() -- Line 77
--[[ Upvalues[1]:
[1]: any_Some_result1_5_upvr (readonly)
]]
any_Some_result1_5_upvr:Unwrap()
end).never.to.throw()
expect(any_Some_result1_5_upvr:Unwrap()).to.equal(10)
end)
it("should fail to unwrap a none option", function() -- Line 83
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local None_upvr = Parent_upvr.None
expect(function() -- Line 85
--[[ Upvalues[1]:
[1]: None_upvr (readonly)
]]
None_upvr:Unwrap()
end).to.throw()
end)
end)
describe("Expect", function() -- Line 91
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should expect a some option", function() -- Line 92
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_Some_result1_13_upvr = Parent_upvr.Some(10)
expect(function() -- Line 94
--[[ Upvalues[1]:
[1]: any_Some_result1_13_upvr (readonly)
]]
any_Some_result1_13_upvr:Expect("Expecting some value")
end).never.to.throw()
expect(any_Some_result1_13_upvr:Unwrap()).to.equal(10)
end)
it("should fail when expecting on a none option", function() -- Line 100
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local None_upvr_3 = Parent_upvr.None
expect(function() -- Line 102
--[[ Upvalues[1]:
[1]: None_upvr_3 (readonly)
]]
None_upvr_3:Expect("Expecting some value")
end).to.throw()
end)
end)
describe("ExpectNone", function() -- Line 108
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should fail to expect a none option", function() -- Line 109
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_Some_result1_9_upvr = Parent_upvr.Some(10)
expect(function() -- Line 111
--[[ Upvalues[1]:
[1]: any_Some_result1_9_upvr (readonly)
]]
any_Some_result1_9_upvr:ExpectNone("Expecting some value")
end).to.throw()
end)
it("should expect a none option", function() -- Line 116
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local None_upvr_4 = Parent_upvr.None
expect(function() -- Line 118
--[[ Upvalues[1]:
[1]: None_upvr_4 (readonly)
]]
None_upvr_4:ExpectNone("Expecting some value")
end).never.to.throw()
end)
end)
describe("UnwrapOr", function() -- Line 124
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should unwrap a some option", function() -- Line 125
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(Parent_upvr.Some(10):UnwrapOr(20)).to.equal(10)
end)
it("should unwrap a none option", function() -- Line 130
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(Parent_upvr.None:UnwrapOr(20)).to.equal(20)
end)
end)
describe("UnwrapOrElse", function() -- Line 136
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should unwrap a some option", function() -- Line 137
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(Parent_upvr.Some(10):UnwrapOrElse(function() -- Line 139
return 30
end)).to.equal(10)
end)
it("should unwrap a none option", function() -- Line 145
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(Parent_upvr.None:UnwrapOrElse(function() -- Line 147
return 30
end)).to.equal(30)
end)
end)
describe("And", function() -- Line 154
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should return the second option with and when both are some", function() -- Line 155
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_Some_result1_12 = Parent_upvr.Some(2)
expect(Parent_upvr.Some(1):And(any_Some_result1_12)).to.equal(any_Some_result1_12)
end)
it("should return none when first option is some and second option is none", function() -- Line 161
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(Parent_upvr.Some(1):And(Parent_upvr.None):IsNone()).to.equal(true)
end)
it("should return none when first option is none and second option is some", function() -- Line 167
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(Parent_upvr.None:And(Parent_upvr.Some(2)):IsNone()).to.equal(true)
end)
it("should return none when both options are none", function() -- Line 173
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(Parent_upvr.None:And(Parent_upvr.None):IsNone()).to.equal(true)
end)
end)
describe("AndThen", function() -- Line 180
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should pass the some value to the predicate", function() -- Line 181
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
Parent_upvr.Some(32):AndThen(function(arg1) -- Line 183
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(arg1).to.equal(32)
return Parent_upvr.None
end)
end)
it("should throw if an option is not returned from predicate", function() -- Line 189
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_Some_result1_upvr = Parent_upvr.Some(32)
expect(function() -- Line 191
--[[ Upvalues[1]:
[1]: any_Some_result1_upvr (readonly)
]]
any_Some_result1_upvr:AndThen(function() -- Line 192
end)
end).to.throw()
end)
it("should return none if the option is none", function() -- Line 196
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(Parent_upvr.None:AndThen(function() -- Line 198
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
return Parent_upvr.Some(10)
end):IsNone()).to.equal(true)
end)
it("should return option of predicate if option is some", function() -- Line 203
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_AndThen_result1 = Parent_upvr.Some(32):AndThen(function() -- Line 205
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
return Parent_upvr.Some(10)
end)
expect(any_AndThen_result1:IsSome()).to.equal(true)
expect(any_AndThen_result1:Unwrap()).to.equal(10)
end)
end)
describe("Or", function() -- Line 213
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should return the first option if it is some", function() -- Line 214
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_Some_result1_8 = Parent_upvr.Some(10)
expect(any_Some_result1_8:Or(Parent_upvr.Some(20))).to.equal(any_Some_result1_8)
end)
it("should return the second option if the first one is none", function() -- Line 220
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_Some_result1_11 = Parent_upvr.Some(20)
expect(Parent_upvr.None:Or(any_Some_result1_11)).to.equal(any_Some_result1_11)
end)
end)
describe("OrElse", function() -- Line 227
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should return the first option if it is some", function() -- Line 228
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_Some_result1 = Parent_upvr.Some(10)
local any_Some_result1_7_upvr = Parent_upvr.Some(20)
expect(any_Some_result1:OrElse(function() -- Line 231
--[[ Upvalues[1]:
[1]: any_Some_result1_7_upvr (readonly)
]]
return any_Some_result1_7_upvr
end)).to.equal(any_Some_result1)
end)
it("should return the second option if the first one is none", function() -- Line 236
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_Some_result1_10_upvr = Parent_upvr.Some(20)
expect(Parent_upvr.None:OrElse(function() -- Line 239
--[[ Upvalues[1]:
[1]: any_Some_result1_10_upvr (readonly)
]]
return any_Some_result1_10_upvr
end)).to.equal(any_Some_result1_10_upvr)
end)
it("should throw if the predicate does not return an option", function() -- Line 244
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local None_upvr_2 = Parent_upvr.None
expect(function() -- Line 246
--[[ Upvalues[1]:
[1]: None_upvr_2 (readonly)
]]
None_upvr_2:OrElse(function() -- Line 247
end)
end).to.throw()
end)
end)
describe("XOr", function() -- Line 252
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should return first option if first option is some and second option is none", function() -- Line 253
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_Some_result1_6 = Parent_upvr.Some(1)
expect(any_Some_result1_6:XOr(Parent_upvr.None)).to.equal(any_Some_result1_6)
end)
it("should return second option if first option is none and second option is some", function() -- Line 259
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_Some_result1_4 = Parent_upvr.Some(2)
expect(Parent_upvr.None:XOr(any_Some_result1_4)).to.equal(any_Some_result1_4)
end)
it("should return none if first and second option are some", function() -- Line 265
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(Parent_upvr.Some(1):XOr(Parent_upvr.Some(2))).to.equal(Parent_upvr.None)
end)
it("should return none if first and second option are none", function() -- Line 271
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(Parent_upvr.None:XOr(Parent_upvr.None)).to.equal(Parent_upvr.None)
end)
end)
describe("Filter", function() -- Line 278
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should return none if option is none", function() -- Line 279
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(Parent_upvr.None:Filter(function() -- Line 281
end)).to.equal(Parent_upvr.None)
end)
it("should return none if option is some but fails predicate", function() -- Line 284
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(Parent_upvr.Some(10):Filter(function(arg1) -- Line 286
return false
end)).to.equal(Parent_upvr.None)
end)
it("should return self if option is some and passes predicate", function() -- Line 291
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
local any_Some_result1_2 = Parent_upvr.Some(10)
expect(any_Some_result1_2:Filter(function(arg1) -- Line 293
return true
end)).to.equal(any_Some_result1_2)
end)
end)
describe("Contains", function() -- Line 299
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should return true if some option contains the given value", function() -- Line 300
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(Parent_upvr.Some(32):Contains(32)).to.equal(true)
end)
it("should return false if some option does not contain the given value", function() -- Line 305
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(Parent_upvr.Some(32):Contains(64)).to.equal(false)
end)
it("should return false if option is none", function() -- Line 310
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(Parent_upvr.None:Contains(64)).to.equal(false)
end)
end)
describe("ToString", function() -- Line 316
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
it("should return string of none option", function() -- Line 317
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
expect(tostring(Parent_upvr.None)).to.equal("Option<None>")
end)
it("should return string of some option with type", function() -- Line 322
--[[ Upvalues[1]:
[1]: Parent_upvr (copied, readonly)
]]
for _, v in ipairs({10, true, false, "test", {}, function() -- Line 323
end, coroutine.create(function() -- Line 323
end), workspace}) do
expect(tostring(Parent_upvr.Some(v))).to.equal("Option<%s>":format(typeof(v)))
end
end)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:47
-- Luau version 6, Types version 3
-- Time taken: 0.000720 seconds
return {
package = {
authors = {"Stephen Leitnick"};
description = "Represent optional values in Lua";
license = "MIT";
name = "sleitnick/option";
realm = "shared";
registry = "https://github.com/UpliftGames/wally-index";
version = "1.0.5";
};
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:48
-- Luau version 6, Types version 3
-- Time taken: 0.012456 seconds
local var1_upvw
local function acquireRunnerThreadAndCallEventHandler_upvr(arg1, ...) -- Line 53, Named "acquireRunnerThreadAndCallEventHandler"
--[[ Upvalues[1]:
[1]: var1_upvw (read and write)
]]
var1_upvw = nil
arg1(...)
var1_upvw = var1_upvw
end
local function runEventHandlerInFreeThread_upvr(...) -- Line 64, Named "runEventHandlerInFreeThread"
--[[ Upvalues[1]:
[1]: acquireRunnerThreadAndCallEventHandler_upvr (readonly)
]]
acquireRunnerThreadAndCallEventHandler_upvr(...)
while true do
acquireRunnerThreadAndCallEventHandler_upvr(coroutine.yield())
end
end
local tbl_upvr_2 = {}
tbl_upvr_2.__index = tbl_upvr_2
local function new(arg1, arg2) -- Line 90
--[[ Upvalues[1]:
[1]: tbl_upvr_2 (readonly)
]]
local module_2 = {
Connected = true;
}
module_2._signal = arg1
module_2._fn = arg2
module_2._next = false
return setmetatable(module_2, tbl_upvr_2)
end
tbl_upvr_2.new = new
function tbl_upvr_2.Disconnect(arg1) -- Line 99
local var4
if not var4 then
else
var4 = false
arg1.Connected = var4
var4 = arg1._signal._handlerListHead
if var4 == arg1 then
var4 = arg1._signal
var4._handlerListHead = arg1._next
return
end
var4 = arg1._signal._handlerListHead
while var4 and var4._next ~= arg1 do
var4 = var4._next
end
if var4 then
var4._next = arg1._next
end
end
end
tbl_upvr_2.Destroy = tbl_upvr_2.Disconnect
local tbl = {}
local function __index(arg1, arg2) -- Line 126
error("Attempt to get Connection::%s (not a valid member)":format(tostring(arg2)), 2)
end
tbl.__index = __index
local function __newindex(arg1, arg2, arg3) -- Line 129
error("Attempt to set Connection::%s (not a valid member)":format(tostring(arg2)), 2)
end
tbl.__newindex = __newindex
setmetatable(tbl_upvr_2, tbl)
local tbl_upvr = {}
tbl_upvr.__index = tbl_upvr
function tbl_upvr.new() -- Line 165
--[[ Upvalues[1]:
[1]: tbl_upvr (readonly)
]]
return setmetatable({
_handlerListHead = false;
_proxyHandler = nil;
}, tbl_upvr)
end
function tbl_upvr.Wrap(arg1) -- Line 186
--[[ Upvalues[1]:
[1]: tbl_upvr (readonly)
]]
local var8
if typeof(arg1) ~= "RBXScriptSignal" then
var8 = false
else
var8 = true
end
assert(var8, "Argument #1 to Signal.Wrap must be a RBXScriptSignal; got "..typeof(arg1))
var8 = tbl_upvr
local any_new_result1_upvr = var8.new()
var8 = arg1:Connect(function(...) -- Line 192
--[[ Upvalues[1]:
[1]: any_new_result1_upvr (readonly)
]]
any_new_result1_upvr:Fire(...)
end)
any_new_result1_upvr._proxyHandler = var8
return any_new_result1_upvr
end
function tbl_upvr.Is(arg1) -- Line 204
--[[ Upvalues[1]:
[1]: tbl_upvr (readonly)
]]
local var11 = false
if type(arg1) == "table" then
if getmetatable(arg1) ~= tbl_upvr then
var11 = false
else
var11 = true
end
end
return var11
end
function tbl_upvr.Connect(arg1, arg2) -- Line 221
--[[ Upvalues[1]:
[1]: tbl_upvr_2 (readonly)
]]
local any_new_result1 = tbl_upvr_2.new(arg1, arg2)
if arg1._handlerListHead then
any_new_result1._next = arg1._handlerListHead
arg1._handlerListHead = any_new_result1
return any_new_result1
end
arg1._handlerListHead = any_new_result1
return any_new_result1
end
function tbl_upvr.ConnectOnce(arg1, arg2) -- Line 237
return arg1:Once(arg2)
end
function tbl_upvr.Once(arg1, arg2) -- Line 256
local var14_upvw = false
local var15_upvw
var15_upvw = arg1:Connect(function(...) -- Line 259
--[[ Upvalues[3]:
[1]: var14_upvw (read and write)
[2]: var15_upvw (read and write)
[3]: arg2 (readonly)
]]
if var14_upvw then
else
var14_upvw = true
var15_upvw:Disconnect()
arg2(...)
end
end)
return var15_upvw
end
function tbl_upvr.GetConnections(arg1) -- Line 270
local module = {}
local _handlerListHead = arg1._handlerListHead
while _handlerListHead do
table.insert(module, _handlerListHead)
end
return module
end
function tbl_upvr.DisconnectAll(arg1) -- Line 288
local _handlerListHead_4 = arg1._handlerListHead
while _handlerListHead_4 do
_handlerListHead_4.Connected = false
end
arg1._handlerListHead = false
end
function tbl_upvr.Fire(arg1, ...) -- Line 312
--[[ Upvalues[2]:
[1]: var1_upvw (read and write)
[2]: runEventHandlerInFreeThread_upvr (readonly)
]]
local _handlerListHead_2 = arg1._handlerListHead
while _handlerListHead_2 do
if _handlerListHead_2.Connected then
if not var1_upvw then
var1_upvw = coroutine.create(runEventHandlerInFreeThread_upvr)
end
task.spawn(var1_upvw, _handlerListHead_2._fn, ...)
end
end
end
function tbl_upvr.FireDeferred(arg1, ...) -- Line 333
local _handlerListHead_3 = arg1._handlerListHead
while _handlerListHead_3 do
task.defer(_handlerListHead_3._fn, ...)
end
end
function tbl_upvr.Wait(arg1) -- Line 356
local var22_upvw = false
local var23_upvw
local current_thread_upvr = coroutine.running()
var23_upvw = arg1:Connect(function(...) -- Line 360
--[[ Upvalues[3]:
[1]: var22_upvw (read and write)
[2]: var23_upvw (read and write)
[3]: current_thread_upvr (readonly)
]]
if var22_upvw then
else
var22_upvw = true
var23_upvw:Disconnect()
task.spawn(current_thread_upvr, ...)
end
end)
return coroutine.yield()
end
function tbl_upvr.Destroy(arg1) -- Line 383
arg1:DisconnectAll()
local rawget_result1 = rawget(arg1, "_proxyHandler")
if rawget_result1 then
rawget_result1:Disconnect()
end
end
setmetatable(tbl_upvr, {
__index = function(arg1, arg2) -- Line 393, Named "__index"
error("Attempt to get Signal::%s (not a valid member)":format(tostring(arg2)), 2)
end;
__newindex = function(arg1, arg2, arg3) -- Line 396, Named "__newindex"
error("Attempt to set Signal::%s (not a valid member)":format(tostring(arg2)), 2)
end;
})
return {
new = tbl_upvr.new;
Wrap = tbl_upvr.Wrap;
Is = tbl_upvr.Is;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:50
-- Luau version 6, Types version 3
-- Time taken: 0.011558 seconds
local function AwaitCondition_upvr(arg1, arg2) -- Line 1, Named "AwaitCondition"
while true do
if arg1() then
return true
end
if (arg2 or 10) < os.clock() - os.clock() then
return false
end
task.wait()
end
end
return function() -- Line 15
--[[ Upvalues[1]:
[1]: AwaitCondition_upvr (readonly)
]]
local Parent_upvr = require(script.Parent)
local var3_upvw
local function _(arg1) -- Line 20, Named "NumConns"
--[[ Upvalues[1]:
[1]: var3_upvw (read and write)
]]
local var4 = arg1
if not var4 then
var4 = var3_upvw
end
return #var4:GetConnections()
end
beforeEach(function() -- Line 25
--[[ Upvalues[2]:
[1]: var3_upvw (read and write)
[2]: Parent_upvr (readonly)
]]
var3_upvw = Parent_upvr.new()
end)
afterEach(function() -- Line 29
--[[ Upvalues[1]:
[1]: var3_upvw (read and write)
]]
var3_upvw:Destroy()
end)
describe("Constructor", function() -- Line 33
--[[ Upvalues[3]:
[1]: Parent_upvr (readonly)
[2]: var3_upvw (read and write)
[3]: AwaitCondition_upvr (copied, readonly)
]]
it("should create a new signal and fire it", function() -- Line 34
--[[ Upvalues[2]:
[1]: Parent_upvr (copied, readonly)
[2]: var3_upvw (copied, read and write)
]]
expect(Parent_upvr.Is(var3_upvw)).to.equal(true)
task.defer(function() -- Line 36
--[[ Upvalues[1]:
[1]: var3_upvw (copied, read and write)
]]
var3_upvw:Fire(10, 20)
end)
local any_Wait_result1, any_Wait_result2_2 = var3_upvw:Wait()
expect(any_Wait_result1).to.equal(10)
expect(any_Wait_result2_2).to.equal(20)
end)
it("should create a proxy signal and connect to it", function() -- Line 44
--[[ Upvalues[2]:
[1]: Parent_upvr (copied, readonly)
[2]: AwaitCondition_upvr (copied, readonly)
]]
local any_Wrap_result1 = Parent_upvr.Wrap(game:GetService("RunService").Heartbeat)
expect(Parent_upvr.Is(any_Wrap_result1)).to.equal(true)
local var14_upvw = false
any_Wrap_result1:Connect(function() -- Line 48
--[[ Upvalues[1]:
[1]: var14_upvw (read and write)
]]
var14_upvw = true
end)
expect(AwaitCondition_upvr(function() -- Line 51
--[[ Upvalues[1]:
[1]: var14_upvw (read and write)
]]
return var14_upvw
end, 2)).to.equal(true)
any_Wrap_result1:Destroy()
end)
end)
describe("FireDeferred", function() -- Line 58
--[[ Upvalues[2]:
[1]: var3_upvw (read and write)
[2]: AwaitCondition_upvr (copied, readonly)
]]
it("should be able to fire primitive argument", function() -- Line 59
--[[ Upvalues[2]:
[1]: var3_upvw (copied, read and write)
[2]: AwaitCondition_upvr (copied, readonly)
]]
local var19_upvw
var3_upvw:Connect(function(arg1) -- Line 62
--[[ Upvalues[1]:
[1]: var19_upvw (read and write)
]]
var19_upvw = arg1
end)
var3_upvw:FireDeferred(10)
expect(AwaitCondition_upvr(function() -- Line 66
--[[ Upvalues[1]:
[1]: var19_upvw (read and write)
]]
local var22
if var19_upvw ~= 10 then
var22 = false
else
var22 = true
end
return var22
end, 1)).to.equal(true)
end)
it("should be able to fire a reference based argument", function() -- Line 71
--[[ Upvalues[2]:
[1]: var3_upvw (copied, read and write)
[2]: AwaitCondition_upvr (copied, readonly)
]]
local tbl_2_upvr = {10, 20}
local var25_upvw
var3_upvw:Connect(function(arg1) -- Line 74
--[[ Upvalues[1]:
[1]: var25_upvw (read and write)
]]
var25_upvw = arg1
end)
var3_upvw:FireDeferred(tbl_2_upvr)
expect(AwaitCondition_upvr(function() -- Line 78
--[[ Upvalues[2]:
[1]: tbl_2_upvr (readonly)
[2]: var25_upvw (read and write)
]]
local var28
if tbl_2_upvr ~= var25_upvw then
var28 = false
else
var28 = true
end
return var28
end, 1)).to.equal(true)
end)
end)
describe("Fire", function() -- Line 84
--[[ Upvalues[1]:
[1]: var3_upvw (read and write)
]]
it("should be able to fire primitive argument", function() -- Line 85
--[[ Upvalues[1]:
[1]: var3_upvw (copied, read and write)
]]
local var31_upvw
var3_upvw:Connect(function(arg1) -- Line 88
--[[ Upvalues[1]:
[1]: var31_upvw (read and write)
]]
var31_upvw = arg1
end)
var3_upvw:Fire(10)
expect(var31_upvw).to.equal(10)
end)
it("should be able to fire a reference based argument", function() -- Line 95
--[[ Upvalues[1]:
[1]: var3_upvw (copied, read and write)
]]
local tbl = {10, 20}
local var35_upvw
var3_upvw:Connect(function(arg1) -- Line 98
--[[ Upvalues[1]:
[1]: var35_upvw (read and write)
]]
var35_upvw = arg1
end)
var3_upvw:Fire(tbl)
expect(var35_upvw).to.equal(tbl)
end)
end)
describe("ConnectOnce", function() -- Line 106
--[[ Upvalues[1]:
[1]: var3_upvw (read and write)
]]
it("should only capture first fire", function() -- Line 107
--[[ Upvalues[1]:
[1]: var3_upvw (copied, read and write)
]]
local var39_upvw
local any_ConnectOnce_result1 = var3_upvw:ConnectOnce(function(arg1) -- Line 109
--[[ Upvalues[1]:
[1]: var39_upvw (read and write)
]]
var39_upvw = arg1
end)
expect(any_ConnectOnce_result1.Connected).to.equal(true)
var3_upvw:Fire(10)
expect(any_ConnectOnce_result1.Connected).to.equal(false)
var3_upvw:Fire(20)
expect(var39_upvw).to.equal(10)
end)
end)
describe("Wait", function() -- Line 120
--[[ Upvalues[1]:
[1]: var3_upvw (read and write)
]]
it("should be able to wait for a signal to fire", function() -- Line 121
--[[ Upvalues[1]:
[1]: var3_upvw (copied, read and write)
]]
task.defer(function() -- Line 122
--[[ Upvalues[1]:
[1]: var3_upvw (copied, read and write)
]]
var3_upvw:Fire(10, 20, 30)
end)
local any_Wait_result1_2, any_Wait_result2, any_Wait_result3 = var3_upvw:Wait()
expect(any_Wait_result1_2).to.equal(10)
expect(any_Wait_result2).to.equal(20)
expect(any_Wait_result3).to.equal(30)
end)
end)
describe("DisconnectAll", function() -- Line 132
--[[ Upvalues[1]:
[1]: var3_upvw (read and write)
]]
it("should disconnect all connections", function() -- Line 133
--[[ Upvalues[1]:
[1]: var3_upvw (copied, read and write)
]]
var3_upvw:Connect(function() -- Line 134
end)
var3_upvw:Connect(function() -- Line 135
end)
local var52
if not var52 then
var52 = var3_upvw
end
expect(#var52:GetConnections()).to.equal(2)
var3_upvw:DisconnectAll()
local var53
if not var53 then
var53 = var3_upvw
end
expect(#var53:GetConnections()).to.equal(0)
end)
end)
describe("Disconnect", function() -- Line 142
--[[ Upvalues[2]:
[1]: var3_upvw (read and write)
[2]: AwaitCondition_upvr (copied, readonly)
]]
it("should disconnect connection", function() -- Line 143
--[[ Upvalues[1]:
[1]: var3_upvw (copied, read and write)
]]
local var57
if not var57 then
var57 = var3_upvw
end
expect(#var57:GetConnections()).to.equal(1)
var3_upvw:Connect(function() -- Line 144
end):Disconnect()
local var58
if not var58 then
var58 = var3_upvw
end
expect(#var58:GetConnections()).to.equal(0)
end)
it("should still work if connections disconnected while firing", function() -- Line 150
--[[ Upvalues[1]:
[1]: var3_upvw (copied, read and write)
]]
local var60_upvw = 0
var3_upvw:Connect(function() -- Line 153
--[[ Upvalues[1]:
[1]: var60_upvw (read and write)
]]
var60_upvw += 1
end)
local var63_upvw
var63_upvw = var3_upvw:Connect(function() -- Line 156
--[[ Upvalues[2]:
[1]: var63_upvw (read and write)
[2]: var60_upvw (read and write)
]]
var63_upvw:Disconnect()
var60_upvw += 1
end)
var3_upvw:Connect(function() -- Line 160
--[[ Upvalues[1]:
[1]: var60_upvw (read and write)
]]
var60_upvw += 1
end)
var3_upvw:Fire()
expect(var60_upvw).to.equal(3)
end)
it("should still work if connections disconnected while firing deferred", function() -- Line 167
--[[ Upvalues[2]:
[1]: var3_upvw (copied, read and write)
[2]: AwaitCondition_upvr (copied, readonly)
]]
local var66_upvw = 0
var3_upvw:Connect(function() -- Line 170
--[[ Upvalues[1]:
[1]: var66_upvw (read and write)
]]
var66_upvw += 1
end)
local var69_upvw
var69_upvw = var3_upvw:Connect(function() -- Line 173
--[[ Upvalues[2]:
[1]: var69_upvw (read and write)
[2]: var66_upvw (read and write)
]]
var69_upvw:Disconnect()
var66_upvw += 1
end)
var3_upvw:Connect(function() -- Line 177
--[[ Upvalues[1]:
[1]: var66_upvw (read and write)
]]
var66_upvw += 1
end)
var3_upvw:FireDeferred()
expect(AwaitCondition_upvr(function() -- Line 181
--[[ Upvalues[1]:
[1]: var66_upvw (read and write)
]]
local var72
if var66_upvw ~= 3 then
var72 = false
else
var72 = true
end
return var72
end)).to.equal(true)
end)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:51
-- Luau version 6, Types version 3
-- Time taken: 0.000777 seconds
return {
package = {
authors = {"Stephen Leitnick"};
description = "Signal class";
license = "MIT";
name = "sleitnick/signal";
realm = "shared";
registry = "https://github.com/UpliftGames/wally-index";
version = "1.5.0";
};
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:53
-- Luau version 6, Types version 3
-- Time taken: 0.012990 seconds
local var1_upvw
local function acquireRunnerThreadAndCallEventHandler_upvr(arg1, ...) -- Line 44, Named "acquireRunnerThreadAndCallEventHandler"
--[[ Upvalues[1]:
[1]: var1_upvw (read and write)
]]
var1_upvw = nil
arg1(...)
var1_upvw = var1_upvw
end
local function runEventHandlerInFreeThread_upvr(...) -- Line 55, Named "runEventHandlerInFreeThread"
--[[ Upvalues[1]:
[1]: acquireRunnerThreadAndCallEventHandler_upvr (readonly)
]]
acquireRunnerThreadAndCallEventHandler_upvr(...)
while true do
acquireRunnerThreadAndCallEventHandler_upvr(coroutine.yield())
end
end
local tbl_3_upvr = {}
tbl_3_upvr.__index = tbl_3_upvr
function tbl_3_upvr.Disconnect(arg1) -- Line 81
local var3
if not var3 then
else
var3 = false
arg1.Connected = var3
var3 = arg1._signal._handlerListHead
if var3 == arg1 then
var3 = arg1._signal
var3._handlerListHead = arg1._next
return
end
var3 = arg1._signal._handlerListHead
while var3 and var3._next ~= arg1 do
var3 = var3._next
end
if var3 then
var3._next = arg1._next
end
end
end
tbl_3_upvr.Destroy = tbl_3_upvr.Disconnect
local tbl_2 = {}
local function __index(arg1, arg2) -- Line 108
error("Attempt to get Connection::%s (not a valid member)":format(tostring(arg2)), 2)
end
tbl_2.__index = __index
local function __newindex(arg1, arg2, arg3) -- Line 111
error("Attempt to set Connection::%s (not a valid member)":format(tostring(arg2)), 2)
end
tbl_2.__newindex = __newindex
setmetatable(tbl_3_upvr, tbl_2)
local tbl_4_upvr = {}
tbl_4_upvr.__index = tbl_4_upvr
function tbl_4_upvr.new() -- Line 147
--[[ Upvalues[1]:
[1]: tbl_4_upvr (readonly)
]]
return setmetatable({
_handlerListHead = false;
_proxyHandler = nil;
_yieldedThreads = nil;
}, tbl_4_upvr)
end
function tbl_4_upvr.Wrap(arg1) -- Line 170
--[[ Upvalues[1]:
[1]: tbl_4_upvr (readonly)
]]
local var7
if typeof(arg1) ~= "RBXScriptSignal" then
var7 = false
else
var7 = true
end
assert(var7, "Argument #1 to Signal.Wrap must be a RBXScriptSignal; got "..typeof(arg1))
var7 = tbl_4_upvr
local any_new_result1_upvr = var7.new()
var7 = arg1:Connect(function(...) -- Line 177
--[[ Upvalues[1]:
[1]: any_new_result1_upvr (readonly)
]]
any_new_result1_upvr:Fire(...)
end)
any_new_result1_upvr._proxyHandler = var7
return any_new_result1_upvr
end
function tbl_4_upvr.Is(arg1) -- Line 190
--[[ Upvalues[1]:
[1]: tbl_4_upvr (readonly)
]]
local var10 = false
if type(arg1) == "table" then
if getmetatable(arg1) ~= tbl_4_upvr then
var10 = false
else
var10 = true
end
end
return var10
end
function tbl_4_upvr.Connect(arg1, arg2) -- Line 207
--[[ Upvalues[1]:
[1]: tbl_3_upvr (readonly)
]]
local tbl = {
Connected = true;
}
tbl._signal = arg1
tbl._fn = arg2
tbl._next = false
local setmetatable_result1 = setmetatable(tbl, tbl_3_upvr)
if arg1._handlerListHead then
setmetatable_result1._next = arg1._handlerListHead
arg1._handlerListHead = setmetatable_result1
return setmetatable_result1
end
arg1._handlerListHead = setmetatable_result1
return setmetatable_result1
end
function tbl_4_upvr.ConnectOnce(arg1, arg2) -- Line 230
return arg1:Once(arg2)
end
function tbl_4_upvr.Once(arg1, arg2) -- Line 249
local var14_upvw = false
local var15_upvw
var15_upvw = arg1:Connect(function(...) -- Line 253
--[[ Upvalues[3]:
[1]: var14_upvw (read and write)
[2]: var15_upvw (read and write)
[3]: arg2 (readonly)
]]
if var14_upvw then
else
var14_upvw = true
var15_upvw:Disconnect()
arg2(...)
end
end)
return var15_upvw
end
function tbl_4_upvr.GetConnections(arg1) -- Line 266
local module = {}
local _handlerListHead = arg1._handlerListHead
while _handlerListHead do
table.insert(module, _handlerListHead)
end
return module
end
function tbl_4_upvr.DisconnectAll(arg1) -- Line 286
local _handlerListHead_3 = arg1._handlerListHead
while _handlerListHead_3 do
_handlerListHead_3.Connected = false
end
arg1._handlerListHead = false
local rawget_result1_3 = rawget(arg1, "_yieldedThreads")
if rawget_result1_3 then
for i in rawget_result1_3 do
if coroutine.status(i) == "suspended" then
warn(debug.traceback(i, "signal disconnected; yielded thread cancelled", 2))
task.cancel(i)
end
end
table.clear(arg1._yieldedThreads)
end
end
function tbl_4_upvr.Fire(arg1, ...) -- Line 321
--[[ Upvalues[2]:
[1]: var1_upvw (read and write)
[2]: runEventHandlerInFreeThread_upvr (readonly)
]]
local _handlerListHead_4 = arg1._handlerListHead
while _handlerListHead_4 do
if _handlerListHead_4.Connected then
if not var1_upvw then
var1_upvw = coroutine.create(runEventHandlerInFreeThread_upvr)
end
task.spawn(var1_upvw, _handlerListHead_4._fn, ...)
end
end
end
function tbl_4_upvr.FireDeferred(arg1, ...) -- Line 342
local _handlerListHead_2_upvr = arg1._handlerListHead
while _handlerListHead_2_upvr do
task.defer(function(...) -- Line 346
--[[ Upvalues[1]:
[1]: _handlerListHead_2_upvr (readonly)
]]
if _handlerListHead_2_upvr.Connected then
_handlerListHead_2_upvr._fn(...)
end
end, ...)
end
end
function tbl_4_upvr.Wait(arg1) -- Line 370
local rawget_result1_2_upvw = rawget(arg1, "_yieldedThreads")
if not rawget_result1_2_upvw then
rawget_result1_2_upvw = {}
rawset(arg1, "_yieldedThreads", rawget_result1_2_upvw)
end
local current_thread_upvr = coroutine.running()
rawget_result1_2_upvw[current_thread_upvr] = true
arg1:Once(function(...) -- Line 380
--[[ Upvalues[2]:
[1]: rawget_result1_2_upvw (read and write)
[2]: current_thread_upvr (readonly)
]]
rawget_result1_2_upvw[current_thread_upvr] = nil
task.spawn(current_thread_upvr, ...)
end)
return coroutine.yield()
end
function tbl_4_upvr.Destroy(arg1) -- Line 400
arg1:DisconnectAll()
local rawget_result1 = rawget(arg1, "_proxyHandler")
if rawget_result1 then
rawget_result1:Disconnect()
end
end
setmetatable(tbl_4_upvr, {
__index = function(arg1, arg2) -- Line 411, Named "__index"
error("Attempt to get Signal::%s (not a valid member)":format(tostring(arg2)), 2)
end;
__newindex = function(arg1, arg2, arg3) -- Line 414, Named "__newindex"
error("Attempt to set Signal::%s (not a valid member)":format(tostring(arg2)), 2)
end;
})
return table.freeze({
new = tbl_4_upvr.new;
Wrap = tbl_4_upvr.Wrap;
Is = tbl_4_upvr.Is;
})
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:54
-- Luau version 6, Types version 3
-- Time taken: 0.016556 seconds
local function AwaitCondition_upvr(arg1, arg2) -- Line 1, Named "AwaitCondition"
while true do
if arg1() then
return true
end
if (arg2 or 10) < os.clock() - os.clock() then
return false
end
task.wait()
end
end
return function() -- Line 15
--[[ Upvalues[1]:
[1]: AwaitCondition_upvr (readonly)
]]
local Parent_upvr = require(script.Parent)
local var3_upvw
local function _(arg1) -- Line 20, Named "NumConns"
--[[ Upvalues[1]:
[1]: var3_upvw (read and write)
]]
local var4 = arg1
if not var4 then
var4 = var3_upvw
end
return #var4:GetConnections()
end
beforeEach(function() -- Line 25
--[[ Upvalues[2]:
[1]: var3_upvw (read and write)
[2]: Parent_upvr (readonly)
]]
var3_upvw = Parent_upvr.new()
end)
afterEach(function() -- Line 29
--[[ Upvalues[1]:
[1]: var3_upvw (read and write)
]]
var3_upvw:Destroy()
end)
describe("Constructor", function() -- Line 33
--[[ Upvalues[3]:
[1]: Parent_upvr (readonly)
[2]: var3_upvw (read and write)
[3]: AwaitCondition_upvr (copied, readonly)
]]
it("should create a new signal and fire it", function() -- Line 34
--[[ Upvalues[2]:
[1]: Parent_upvr (copied, readonly)
[2]: var3_upvw (copied, read and write)
]]
expect(Parent_upvr.Is(var3_upvw)).to.equal(true)
task.defer(function() -- Line 36
--[[ Upvalues[1]:
[1]: var3_upvw (copied, read and write)
]]
var3_upvw:Fire(10, 20)
end)
local any_Wait_result1, any_Wait_result2_2 = var3_upvw:Wait()
expect(any_Wait_result1).to.equal(10)
expect(any_Wait_result2_2).to.equal(20)
end)
it("should create a proxy signal and connect to it", function() -- Line 44
--[[ Upvalues[2]:
[1]: Parent_upvr (copied, readonly)
[2]: AwaitCondition_upvr (copied, readonly)
]]
local any_Wrap_result1 = Parent_upvr.Wrap(game:GetService("RunService").Heartbeat)
expect(Parent_upvr.Is(any_Wrap_result1)).to.equal(true)
local var14_upvw = false
any_Wrap_result1:Connect(function() -- Line 48
--[[ Upvalues[1]:
[1]: var14_upvw (read and write)
]]
var14_upvw = true
end)
expect(AwaitCondition_upvr(function() -- Line 51
--[[ Upvalues[1]:
[1]: var14_upvw (read and write)
]]
return var14_upvw
end, 2)).to.equal(true)
any_Wrap_result1:Destroy()
end)
end)
describe("FireDeferred", function() -- Line 58
--[[ Upvalues[2]:
[1]: var3_upvw (read and write)
[2]: AwaitCondition_upvr (copied, readonly)
]]
it("should be able to fire primitive argument", function() -- Line 59
--[[ Upvalues[2]:
[1]: var3_upvw (copied, read and write)
[2]: AwaitCondition_upvr (copied, readonly)
]]
local var19_upvw
var3_upvw:Connect(function(arg1) -- Line 62
--[[ Upvalues[1]:
[1]: var19_upvw (read and write)
]]
var19_upvw = arg1
end)
var3_upvw:FireDeferred(10)
expect(AwaitCondition_upvr(function() -- Line 66
--[[ Upvalues[1]:
[1]: var19_upvw (read and write)
]]
local var22
if var19_upvw ~= 10 then
var22 = false
else
var22 = true
end
return var22
end, 1)).to.equal(true)
end)
it("should be able to fire a reference based argument", function() -- Line 71
--[[ Upvalues[2]:
[1]: var3_upvw (copied, read and write)
[2]: AwaitCondition_upvr (copied, readonly)
]]
local tbl_2_upvr = {10, 20}
local var25_upvw
var3_upvw:Connect(function(arg1) -- Line 74
--[[ Upvalues[1]:
[1]: var25_upvw (read and write)
]]
var25_upvw = arg1
end)
var3_upvw:FireDeferred(tbl_2_upvr)
expect(AwaitCondition_upvr(function() -- Line 78
--[[ Upvalues[2]:
[1]: tbl_2_upvr (readonly)
[2]: var25_upvw (read and write)
]]
local var28
if tbl_2_upvr ~= var25_upvw then
var28 = false
else
var28 = true
end
return var28
end, 1)).to.equal(true)
end)
end)
describe("Fire", function() -- Line 84
--[[ Upvalues[1]:
[1]: var3_upvw (read and write)
]]
it("should be able to fire primitive argument", function() -- Line 85
--[[ Upvalues[1]:
[1]: var3_upvw (copied, read and write)
]]
local var31_upvw
var3_upvw:Connect(function(arg1) -- Line 88
--[[ Upvalues[1]:
[1]: var31_upvw (read and write)
]]
var31_upvw = arg1
end)
var3_upvw:Fire(10)
expect(var31_upvw).to.equal(10)
end)
it("should be able to fire a reference based argument", function() -- Line 95
--[[ Upvalues[1]:
[1]: var3_upvw (copied, read and write)
]]
local tbl = {10, 20}
local var35_upvw
var3_upvw:Connect(function(arg1) -- Line 98
--[[ Upvalues[1]:
[1]: var35_upvw (read and write)
]]
var35_upvw = arg1
end)
var3_upvw:Fire(tbl)
expect(var35_upvw).to.equal(tbl)
end)
end)
describe("ConnectOnce", function() -- Line 106
--[[ Upvalues[1]:
[1]: var3_upvw (read and write)
]]
it("should only capture first fire", function() -- Line 107
--[[ Upvalues[1]:
[1]: var3_upvw (copied, read and write)
]]
local var39_upvw
local any_ConnectOnce_result1 = var3_upvw:ConnectOnce(function(arg1) -- Line 109
--[[ Upvalues[1]:
[1]: var39_upvw (read and write)
]]
var39_upvw = arg1
end)
expect(any_ConnectOnce_result1.Connected).to.equal(true)
var3_upvw:Fire(10)
expect(any_ConnectOnce_result1.Connected).to.equal(false)
var3_upvw:Fire(20)
expect(var39_upvw).to.equal(10)
end)
end)
describe("Wait", function() -- Line 120
--[[ Upvalues[1]:
[1]: var3_upvw (read and write)
]]
it("should be able to wait for a signal to fire", function() -- Line 121
--[[ Upvalues[1]:
[1]: var3_upvw (copied, read and write)
]]
task.defer(function() -- Line 122
--[[ Upvalues[1]:
[1]: var3_upvw (copied, read and write)
]]
var3_upvw:Fire(10, 20, 30)
end)
local any_Wait_result1_2, any_Wait_result2, any_Wait_result3 = var3_upvw:Wait()
expect(any_Wait_result1_2).to.equal(10)
expect(any_Wait_result2).to.equal(20)
expect(any_Wait_result3).to.equal(30)
end)
end)
describe("DisconnectAll", function() -- Line 132
--[[ Upvalues[1]:
[1]: var3_upvw (read and write)
]]
it("should disconnect all connections", function() -- Line 133
--[[ Upvalues[1]:
[1]: var3_upvw (copied, read and write)
]]
var3_upvw:Connect(function() -- Line 134
end)
var3_upvw:Connect(function() -- Line 135
end)
local var52
if not var52 then
var52 = var3_upvw
end
expect(#var52:GetConnections()).to.equal(2)
var3_upvw:DisconnectAll()
local var53
if not var53 then
var53 = var3_upvw
end
expect(#var53:GetConnections()).to.equal(0)
end)
end)
describe("Disconnect", function() -- Line 142
--[[ Upvalues[2]:
[1]: var3_upvw (read and write)
[2]: AwaitCondition_upvr (copied, readonly)
]]
it("should disconnect connection", function() -- Line 143
--[[ Upvalues[1]:
[1]: var3_upvw (copied, read and write)
]]
local var57
if not var57 then
var57 = var3_upvw
end
expect(#var57:GetConnections()).to.equal(1)
var3_upvw:Connect(function() -- Line 144
end):Disconnect()
local var58
if not var58 then
var58 = var3_upvw
end
expect(#var58:GetConnections()).to.equal(0)
end)
it("should still work if connections disconnected while firing", function() -- Line 150
--[[ Upvalues[1]:
[1]: var3_upvw (copied, read and write)
]]
local var60_upvw = 0
var3_upvw:Connect(function() -- Line 153
--[[ Upvalues[1]:
[1]: var60_upvw (read and write)
]]
var60_upvw += 1
end)
local var63_upvw
var63_upvw = var3_upvw:Connect(function() -- Line 156
--[[ Upvalues[2]:
[1]: var63_upvw (read and write)
[2]: var60_upvw (read and write)
]]
var63_upvw:Disconnect()
var60_upvw += 1
end)
var3_upvw:Connect(function() -- Line 160
--[[ Upvalues[1]:
[1]: var60_upvw (read and write)
]]
var60_upvw += 1
end)
var3_upvw:Fire()
expect(var60_upvw).to.equal(3)
end)
it("should still work if connections disconnected while firing deferred", function() -- Line 167
--[[ Upvalues[2]:
[1]: var3_upvw (copied, read and write)
[2]: AwaitCondition_upvr (copied, readonly)
]]
local var66_upvw = 0
var3_upvw:Connect(function() -- Line 170
--[[ Upvalues[1]:
[1]: var66_upvw (read and write)
]]
var66_upvw += 1
end)
local var69_upvw
var69_upvw = var3_upvw:Connect(function() -- Line 173
--[[ Upvalues[2]:
[1]: var69_upvw (read and write)
[2]: var66_upvw (read and write)
]]
var69_upvw:Disconnect()
var66_upvw += 1
end)
var3_upvw:Connect(function() -- Line 177
--[[ Upvalues[1]:
[1]: var66_upvw (read and write)
]]
var66_upvw += 1
end)
var3_upvw:FireDeferred()
expect(AwaitCondition_upvr(function() -- Line 181
--[[ Upvalues[1]:
[1]: var66_upvw (read and write)
]]
local var72
if var66_upvw ~= 3 then
var72 = false
else
var72 = true
end
return var72
end)).to.equal(true)
end)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:56
-- Luau version 6, Types version 3
-- Time taken: 0.000829 seconds
return {
package = {
authors = {"Stephen Leitnick"};
description = "Signal class";
exclude = {"node_modules", "package.json", "**/*.ts"};
license = "MIT";
name = "sleitnick/signal";
realm = "shared";
registry = "https://github.com/UpliftGames/wally-index";
version = "2.0.1";
};
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:57
-- Luau version 6, Types version 3
-- Time taken: 0.010814 seconds
local newproxy_result1_upvr_2 = newproxy()
local newproxy_result1_upvr = newproxy()
local table_freeze_result1_upvr = table.freeze({"Destroy", "Disconnect", "destroy", "disconnect"})
local function GetObjectCleanupFunction_upvr(arg1, arg2) -- Line 123, Named "GetObjectCleanupFunction"
--[[ Upvalues[3]:
[1]: newproxy_result1_upvr_2 (readonly)
[2]: newproxy_result1_upvr (readonly)
[3]: table_freeze_result1_upvr (readonly)
]]
local typeof_result1 = typeof(arg1)
if typeof_result1 == "function" then
return newproxy_result1_upvr_2
end
if typeof_result1 == "thread" then
return newproxy_result1_upvr
end
if arg2 then
return arg2
end
if typeof_result1 == "Instance" then
return "Destroy"
end
if typeof_result1 == "RBXScriptConnection" then
return "Disconnect"
end
if typeof_result1 == "table" then
for _, v in table_freeze_result1_upvr do
if typeof(arg1[v]) == "function" then
return v
end
end
end
error(`failed to get cleanup function for object {typeof_result1}: {arg1}`, 3)
end
local function _(arg1) -- Line 151, Named "AssertPromiseLike"
if typeof(arg1) ~= "table" or typeof(arg1.getStatus) ~= "function" or typeof(arg1.finally) ~= "function" or typeof(arg1.cancel) ~= "function" then
error("did not receive a promise as an argument", 3)
end
end
local tbl_2_upvr = {}
tbl_2_upvr.__index = tbl_2_upvr
function tbl_2_upvr.new() -- Line 178
--[[ Upvalues[1]:
[1]: tbl_2_upvr (readonly)
]]
local setmetatable_result1 = setmetatable({}, tbl_2_upvr)
setmetatable_result1._objects = {}
setmetatable_result1._cleaning = false
return setmetatable_result1
end
function tbl_2_upvr.Add(arg1, arg2, arg3) -- Line 237
--[[ Upvalues[1]:
[1]: GetObjectCleanupFunction_upvr (readonly)
]]
if arg1._cleaning then
error("cannot call trove:Add() while cleaning", 2)
end
local tbl = {}
tbl[1] = arg2
tbl[2] = GetObjectCleanupFunction_upvr(arg2, arg3)
table.insert(arg1._objects, tbl)
return arg2
end
function tbl_2_upvr.Clone(arg1, arg2) -- Line 259
if arg1._cleaning then
error("cannot call trove:Clone() while cleaning", 2)
end
return arg1:Add(arg2:Clone())
end
function tbl_2_upvr.Construct(arg1, arg2, ...) -- Line 302
if arg1._cleaning then
error("Cannot call trove:Construct() while cleaning", 2)
end
local var11
local type_result1 = type(arg2)
if type_result1 == "table" then
var11 = arg2.new(...)
elseif type_result1 == "function" then
var11 = arg2(...)
end
return arg1:Add(var11)
end
function tbl_2_upvr.Connect(arg1, arg2, arg3) -- Line 335
if arg1._cleaning then
error("Cannot call trove:Connect() while cleaning", 2)
end
return arg1:Add(arg2:Connect(arg3))
end
local RunService_upvr = game:GetService("RunService")
function tbl_2_upvr.BindToRenderStep(arg1, arg2, arg3, arg4) -- Line 358
--[[ Upvalues[1]:
[1]: RunService_upvr (readonly)
]]
if arg1._cleaning then
error("cannot call trove:BindToRenderStep() while cleaning", 2)
end
RunService_upvr:BindToRenderStep(arg2, arg3, arg4)
arg1:Add(function() -- Line 365
--[[ Upvalues[2]:
[1]: RunService_upvr (copied, readonly)
[2]: arg2 (readonly)
]]
RunService_upvr:UnbindFromRenderStep(arg2)
end)
end
function tbl_2_upvr.AddPromise(arg1, arg2) -- Line 395
if arg1._cleaning then
error("cannot call trove:AddPromise() while cleaning", 2)
end
if typeof(arg2) ~= "table" or typeof(arg2.getStatus) ~= "function" or typeof(arg2.finally) ~= "function" or typeof(arg2.cancel) ~= "function" then
error("did not receive a promise as an argument", 3)
end
if arg2:getStatus() == "Started" then
arg2:finally(function() -- Line 402
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
if arg1._cleaning then
else
arg1:_findAndRemoveFromObjects(arg2, false)
end
end)
arg1:Add(arg2, "cancel")
end
return arg2
end
function tbl_2_upvr.Remove(arg1, arg2) -- Line 427
if arg1._cleaning then
error("cannot call trove:Remove() while cleaning", 2)
end
return arg1:_findAndRemoveFromObjects(arg2, true)
end
function tbl_2_upvr.Extend(arg1) -- Line 456
--[[ Upvalues[1]:
[1]: tbl_2_upvr (readonly)
]]
if arg1._cleaning then
error("cannot call trove:Extend() while cleaning", 2)
end
return arg1:Construct(tbl_2_upvr)
end
function tbl_2_upvr.Clean(arg1) -- Line 476
if arg1._cleaning then
else
arg1._cleaning = true
for _, v_3 in arg1._objects do
arg1:_cleanupObject(v_3[1], v_3[2])
end
table.clear(arg1._objects)
arg1._cleaning = false
end
end
function tbl_2_upvr.WrapClean(arg1) -- Line 518
return function() -- Line 519
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:Clean()
end
end
function tbl_2_upvr._findAndRemoveFromObjects(arg1, arg2, arg3) -- Line 524
local _objects = arg1._objects
for i_2, v_2 in _objects do
if v_2[1] == arg2 then
local len = #_objects
_objects[i_2] = _objects[len]
_objects[len] = nil
if arg3 then
arg1:_cleanupObject(v_2[1], v_2[2])
end
return true
end
end
return false
end
function tbl_2_upvr._cleanupObject(arg1, arg2, arg3) -- Line 544
--[[ Upvalues[2]:
[1]: newproxy_result1_upvr_2 (readonly)
[2]: newproxy_result1_upvr (readonly)
]]
if arg3 == newproxy_result1_upvr_2 then
arg2()
else
if arg3 == newproxy_result1_upvr then
pcall(task.cancel, arg2)
return
end
arg2[arg3](arg2)
end
end
function tbl_2_upvr.AttachToInstance(arg1, arg2) -- Line 584
if arg1._cleaning then
error("cannot call trove:AttachToInstance() while cleaning", 2)
elseif not arg2:IsDescendantOf(game) then
error("instance is not a descendant of the game hierarchy", 2)
end
return arg1:Connect(arg2.Destroying, function() -- Line 591
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:Destroy()
end)
end
function tbl_2_upvr.Destroy(arg1) -- Line 605
arg1:Clean()
end
return {
new = tbl_2_upvr.new;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:07:58
-- Luau version 6, Types version 3
-- Time taken: 0.015484 seconds
return function() -- Line 1
local Parent_upvr = require(script.Parent)
describe("Trove", function() -- Line 4
--[[ Upvalues[1]:
[1]: Parent_upvr (readonly)
]]
local var4_upvw
beforeEach(function() -- Line 7
--[[ Upvalues[2]:
[1]: var4_upvw (read and write)
[2]: Parent_upvr (copied, readonly)
]]
var4_upvw = Parent_upvr.new()
end)
afterEach(function() -- Line 11
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
if var4_upvw then
var4_upvw:Destroy()
var4_upvw = nil
end
end)
it("should add and clean up roblox instance", function() -- Line 18
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
local Part_4 = Instance.new("Part")
Part_4.Parent = workspace
var4_upvw:Add(Part_4)
var4_upvw:Destroy()
expect(Part_4.Parent).to.equal(nil)
end)
it("should add and clean up roblox connection", function() -- Line 26
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
local any_Connect_result1_2 = workspace.Changed:Connect(function() -- Line 27
end)
var4_upvw:Add(any_Connect_result1_2)
var4_upvw:Destroy()
expect(any_Connect_result1_2.Connected).to.equal(false)
end)
it("should add and clean up a table with a destroy method", function() -- Line 33
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
local tbl = {
Destroyed = false;
}
local function Destroy(arg1) -- Line 35
arg1.Destroyed = true
end
tbl.Destroy = Destroy
var4_upvw:Add(tbl)
var4_upvw:Destroy()
expect(tbl.Destroyed).to.equal(true)
end)
it("should add and clean up a table with a disconnect method", function() -- Line 43
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
local tbl_4 = {
Connected = true;
Disconnect = function(arg1) -- Line 45, Named "Disconnect"
arg1.Connected = false
end;
}
var4_upvw:Add(tbl_4)
var4_upvw:Destroy()
expect(tbl_4.Connected).to.equal(false)
end)
it("should add and clean up a function", function() -- Line 53
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
local var17_upvw = false
var4_upvw:Add(function() -- Line 55
--[[ Upvalues[1]:
[1]: var17_upvw (read and write)
]]
var17_upvw = true
end)
var4_upvw:Destroy()
expect(var17_upvw).to.equal(true)
end)
it("should allow a custom cleanup method", function() -- Line 62
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
local tbl_5 = {
Cleaned = false;
Cleanup = function(arg1) -- Line 64, Named "Cleanup"
arg1.Cleaned = true
end;
}
var4_upvw:Add(tbl_5, "Cleanup")
var4_upvw:Destroy()
expect(tbl_5.Cleaned).to.equal(true)
end)
it("should return the object passed to add", function() -- Line 72
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
local Part = Instance.new("Part")
expect(Part).to.equal(var4_upvw:Add(Part))
var4_upvw:Destroy()
end)
it("should fail to add object without proper cleanup method", function() -- Line 79
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
local tbl_2_upvr = {}
expect(function() -- Line 81
--[[ Upvalues[2]:
[1]: var4_upvw (copied, read and write)
[2]: tbl_2_upvr (readonly)
]]
var4_upvw:Add(tbl_2_upvr)
end).to.throw()
end)
it("should construct an object and add it", function() -- Line 86
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
local tbl_3_upvr = {}
tbl_3_upvr.__index = tbl_3_upvr
function tbl_3_upvr.new(arg1) -- Line 89
--[[ Upvalues[1]:
[1]: tbl_3_upvr (readonly)
]]
local setmetatable_result1 = setmetatable({}, tbl_3_upvr)
setmetatable_result1._msg = arg1
setmetatable_result1._destroyed = false
return setmetatable_result1
end
function tbl_3_upvr.Destroy(arg1) -- Line 95
arg1._destroyed = true
end
local any_Construct_result1_2 = var4_upvw:Construct(tbl_3_upvr, "abc")
expect(typeof(any_Construct_result1_2)).to.equal("table")
expect(getmetatable(any_Construct_result1_2)).to.equal(tbl_3_upvr)
expect(any_Construct_result1_2._msg).to.equal("abc")
expect(any_Construct_result1_2._destroyed).to.equal(false)
var4_upvw:Destroy()
expect(any_Construct_result1_2._destroyed).to.equal(true)
end)
it("should connect to a signal", function() -- Line 108
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
local any_Connect_result1_4 = var4_upvw:Connect(workspace.Changed, function() -- Line 109
end)
expect(typeof(any_Connect_result1_4)).to.equal("RBXScriptConnection")
expect(any_Connect_result1_4.Connected).to.equal(true)
var4_upvw:Destroy()
expect(any_Connect_result1_4.Connected).to.equal(false)
end)
it("should remove an object", function() -- Line 116
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
local any_Connect_result1 = var4_upvw:Connect(workspace.Changed, function() -- Line 117
end)
expect(var4_upvw:Remove(any_Connect_result1)).to.equal(true)
expect(any_Connect_result1.Connected).to.equal(false)
end)
it("should not remove an object not in the trove", function() -- Line 122
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
local any_Connect_result1_3 = workspace.Changed:Connect(function() -- Line 123
end)
expect(var4_upvw:Remove(any_Connect_result1_3)).to.equal(false)
expect(any_Connect_result1_3.Connected).to.equal(true)
any_Connect_result1_3:Disconnect()
end)
it("should attach to instance", function() -- Line 129
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
local Part_3 = Instance.new("Part")
Part_3.Parent = workspace
local any_AttachToInstance_result1 = var4_upvw:AttachToInstance(Part_3)
expect(any_AttachToInstance_result1.Connected).to.equal(true)
Part_3:Destroy()
expect(any_AttachToInstance_result1.Connected).to.equal(false)
end)
it("should fail to attach to instance not in hierarchy", function() -- Line 138
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
local Part_2_upvr = Instance.new("Part")
expect(function() -- Line 140
--[[ Upvalues[2]:
[1]: var4_upvw (copied, read and write)
[2]: Part_2_upvr (readonly)
]]
var4_upvw:AttachToInstance(Part_2_upvr)
end).to.throw()
end)
it("should extend itself", function() -- Line 145
--[[ Upvalues[2]:
[1]: var4_upvw (read and write)
[2]: Parent_upvr (copied, readonly)
]]
local any_Extend_result1 = var4_upvw:Extend()
local var47_upvw = false
any_Extend_result1:Add(function() -- Line 148
--[[ Upvalues[1]:
[1]: var47_upvw (read and write)
]]
var47_upvw = true
end)
expect(any_Extend_result1).to.be.a("table")
expect(getmetatable(any_Extend_result1)).to.equal(Parent_upvr)
var4_upvw:Clean()
expect(var47_upvw).to.equal(true)
end)
it("should clone an instance", function() -- Line 157
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
local any_Construct_result1 = var4_upvw:Construct(Instance.new, "Part")
any_Construct_result1.Name = "TroveCloneTest"
local clone = var4_upvw:Clone(any_Construct_result1)
expect(typeof(clone)).to.equal("Instance")
expect(clone).to.never.equal(any_Construct_result1)
expect(clone.Name).to.equal("TroveCloneTest")
expect(any_Construct_result1.Name).to.equal(clone.Name)
end)
it("should clean up a thread", function() -- Line 168
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
local coroutine_create_result1 = coroutine.create(function() -- Line 169
end)
var4_upvw:Add(coroutine_create_result1)
expect(coroutine.status(coroutine_create_result1)).to.equal("suspended")
var4_upvw:Clean()
expect(coroutine.status(coroutine_create_result1)).to.equal("dead")
end)
it("should not allow objects added during cleanup", function() -- Line 176
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
expect(function() -- Line 177
--[[ Upvalues[1]:
[1]: var4_upvw (copied, read and write)
]]
var4_upvw:Add(function() -- Line 178
--[[ Upvalues[1]:
[1]: var4_upvw (copied, read and write)
]]
var4_upvw:Add(function() -- Line 179
end)
end)
var4_upvw:Clean()
end).to.throw()
end)
it("should not allow objects to be removed during cleanup", function() -- Line 185
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
expect(function() -- Line 186
--[[ Upvalues[1]:
[1]: var4_upvw (copied, read and write)
]]
local function var61_upvr() -- Line 187
end
var4_upvw:Add(var61_upvr)
var4_upvw:Add(function() -- Line 189
--[[ Upvalues[2]:
[1]: var4_upvw (copied, read and write)
[2]: var61_upvr (readonly)
]]
var4_upvw:Remove(var61_upvr)
end)
var4_upvw:Clean()
end).to.throw()
end)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:00
-- Luau version 6, Types version 3
-- Time taken: 0.000802 seconds
return {
package = {
authors = {"Stephen Leitnick"};
description = "Trove class for tracking and cleaning up objects";
license = "MIT";
name = "sleitnick/trove";
realm = "shared";
registry = "https://github.com/UpliftGames/wally-index";
version = "1.3.0";
};
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:02
-- Luau version 6, Types version 3
-- Time taken: 0.025626 seconds
local Players = game:GetService("Players")
local function _(arg1) -- Line 9, Named "loadFlag"
local pcall_result1, pcall_result2 = pcall(function() -- Line 10
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
return UserSettings():IsUserFeatureEnabled(arg1)
end)
return pcall_result1 and pcall_result2
end
local tbl_8_upvr = {
Climbing = {
SoundId = "rbxasset://sounds/action_footsteps_plastic.mp3";
Looped = true;
};
Died = {
SoundId = "rbxasset://sounds/uuhhh.mp3";
};
FreeFalling = {
SoundId = "rbxasset://sounds/action_falling.mp3";
Looped = true;
};
GettingUp = {
SoundId = "";
};
Jumping = {
SoundId = "";
};
Landing = {
SoundId = "";
};
Running = {
SoundId = "";
Looped = true;
Pitch = 1.85;
};
Splash = {
SoundId = "rbxasset://sounds/impact_water.mp3";
};
Swimming = {
SoundId = "rbxasset://sounds/action_swim.mp3";
Looped = true;
Pitch = 1.6;
};
}
local function _(arg1, arg2, arg3, arg4, arg5) -- Line 53, Named "map"
return (arg1 - arg2) * (arg5 - arg4) / (arg3 - arg2) + arg4
end
local function _(arg1) -- Line 57, Named "playSound"
arg1.TimePosition = 0
arg1.Playing = true
end
local function _(arg1) -- Line 62, Named "shallowCopy"
local module = {}
for i, v in pairs(arg1) do
module[i] = v
end
return module
end
local RunService_upvr = game:GetService("RunService")
local any_new_result1_upvr = require(script:WaitForChild("AtomicBinding")).new({
humanoid = "Humanoid";
rootPart = "HumanoidRootPart";
}, function(arg1) -- Line 70, Named "initializeSoundSystem"
--[[ Upvalues[2]:
[1]: tbl_8_upvr (readonly)
[2]: RunService_upvr (readonly)
]]
local humanoid_upvr = arg1.humanoid
local rootPart_upvr = arg1.rootPart
local tbl_12_upvr = {}
for i_2, v_2 in pairs(tbl_8_upvr) do
local Sound = Instance.new("Sound")
Sound.Name = i_2
Sound.Archivable = false
Sound.RollOffMinDistance = 5
Sound.RollOffMaxDistance = 150
Sound.Volume = 0.65
for i_3, v_3 in pairs(v_2) do
Sound[i_3] = v_3
end
Sound.Parent = rootPart_upvr
tbl_12_upvr[i_2] = Sound
end
local tbl_7_upvr = {}
local function _(arg1_2) -- Line 98, Named "stopPlayingLoopedSounds"
--[[ Upvalues[1]:
[1]: tbl_7_upvr (readonly)
]]
local tbl_2 = {}
for i_4, v_4 in pairs(tbl_7_upvr) do
tbl_2[i_4] = v_4
end
for i_5 in pairs(tbl_2) do
if i_5 ~= arg1_2 then
i_5.Playing = false
tbl_7_upvr[i_5] = nil
end
end
end
local tbl_5_upvr = {
[Enum.HumanoidStateType.FallingDown] = function() -- Line 109
--[[ Upvalues[1]:
[1]: tbl_7_upvr (readonly)
]]
local tbl_14 = {}
for i_6, v_5 in pairs(tbl_7_upvr) do
tbl_14[i_6] = v_5
end
for i_7 in pairs(tbl_14) do
if i_7 ~= nil then
i_7.Playing = false
tbl_7_upvr[i_7] = nil
end
end
end;
[Enum.HumanoidStateType.GettingUp] = function() -- Line 113
--[[ Upvalues[2]:
[1]: tbl_7_upvr (readonly)
[2]: tbl_12_upvr (readonly)
]]
local tbl_3 = {}
for i_8, v_6 in pairs(tbl_7_upvr) do
tbl_3[i_8] = v_6
end
for i_9 in pairs(tbl_3) do
if i_9 ~= nil then
i_9.Playing = false
tbl_7_upvr[i_9] = nil
end
end
local GettingUp = tbl_12_upvr.GettingUp
GettingUp.TimePosition = 0
GettingUp.Playing = true
end;
[Enum.HumanoidStateType.Jumping] = function() -- Line 118
--[[ Upvalues[2]:
[1]: tbl_7_upvr (readonly)
[2]: tbl_12_upvr (readonly)
]]
local tbl_13 = {}
for i_10, v_7 in pairs(tbl_7_upvr) do
tbl_13[i_10] = v_7
end
for i_11 in pairs(tbl_13) do
if i_11 ~= nil then
i_11.Playing = false
tbl_7_upvr[i_11] = nil
end
end
local Jumping = tbl_12_upvr.Jumping
Jumping.TimePosition = 0
Jumping.Playing = true
end;
[Enum.HumanoidStateType.Swimming] = function() -- Line 123
--[[ Upvalues[3]:
[1]: rootPart_upvr (readonly)
[2]: tbl_12_upvr (readonly)
[3]: tbl_7_upvr (readonly)
]]
local absolute_2 = math.abs(rootPart_upvr.AssemblyLinearVelocity.Y)
if 0.1 < absolute_2 then
tbl_12_upvr.Splash.Volume = math.clamp((absolute_2 - 100) * 0.72 / 250 + 0.28, 0, 1)
local Splash = tbl_12_upvr.Splash
Splash.TimePosition = 0
Splash.Playing = true
end
for i_12, v_8 in pairs(tbl_7_upvr) do
({})[i_12] = v_8
local var118
end
for i_13 in pairs(var118) do
if i_13 ~= tbl_12_upvr.Swimming then
i_13.Playing = false
tbl_7_upvr[i_13] = nil
end
end
tbl_12_upvr.Swimming.Playing = true
tbl_7_upvr[tbl_12_upvr.Swimming] = true
end;
[Enum.HumanoidStateType.Freefall] = function() -- Line 134
--[[ Upvalues[2]:
[1]: tbl_12_upvr (readonly)
[2]: tbl_7_upvr (readonly)
]]
tbl_12_upvr.FreeFalling.Volume = 0
local tbl = {}
for i_14, v_9 in pairs(tbl_7_upvr) do
tbl[i_14] = v_9
end
for i_15 in pairs(tbl) do
if i_15 ~= tbl_12_upvr.FreeFalling then
i_15.Playing = false
tbl_7_upvr[i_15] = nil
end
end
tbl_7_upvr[tbl_12_upvr.FreeFalling] = true
end;
[Enum.HumanoidStateType.Landed] = function() -- Line 140
--[[ Upvalues[3]:
[1]: tbl_7_upvr (readonly)
[2]: rootPart_upvr (readonly)
[3]: tbl_12_upvr (readonly)
]]
local tbl_9 = {}
for i_16, v_10 in pairs(tbl_7_upvr) do
tbl_9[i_16] = v_10
end
for i_17 in pairs(tbl_9) do
if i_17 ~= nil then
i_17.Playing = false
tbl_7_upvr[i_17] = nil
end
end
local absolute = math.abs(rootPart_upvr.AssemblyLinearVelocity.Y)
if 75 < absolute then
tbl_12_upvr.Landing.Volume = math.clamp((absolute - 50) * 1 / 50 + 0, 0, 1)
local Landing = tbl_12_upvr.Landing
Landing.TimePosition = 0
Landing.Playing = true
end
end;
[Enum.HumanoidStateType.Running] = function() -- Line 149
--[[ Upvalues[2]:
[1]: tbl_12_upvr (readonly)
[2]: tbl_7_upvr (readonly)
]]
local tbl_10 = {}
for i_18, v_11 in pairs(tbl_7_upvr) do
tbl_10[i_18] = v_11
end
for i_19 in pairs(tbl_10) do
if i_19 ~= tbl_12_upvr.Running then
i_19.Playing = false
tbl_7_upvr[i_19] = nil
end
end
tbl_12_upvr.Running.Playing = true
tbl_7_upvr[tbl_12_upvr.Running] = true
end;
[Enum.HumanoidStateType.Climbing] = function() -- Line 155
--[[ Upvalues[3]:
[1]: tbl_12_upvr (readonly)
[2]: rootPart_upvr (readonly)
[3]: tbl_7_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local Climbing = tbl_12_upvr.Climbing
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [15] 11. Error Block 30 start (CF ANALYSIS FAILED)
Climbing.Playing = true
for i_20, v_12 in pairs(tbl_7_upvr) do
({})[i_20] = v_12
local var178
end
for i_21 in pairs(var178) do
if i_21 ~= Climbing then
i_21.Playing = false
tbl_7_upvr[i_21] = nil
end
end
tbl_7_upvr[Climbing] = true
-- KONSTANTERROR: [15] 11. Error Block 30 end (CF ANALYSIS FAILED)
end;
[Enum.HumanoidStateType.Seated] = function() -- Line 166
--[[ Upvalues[1]:
[1]: tbl_7_upvr (readonly)
]]
local tbl_11 = {}
for i_22, v_13 in pairs(tbl_7_upvr) do
tbl_11[i_22] = v_13
end
for i_23 in pairs(tbl_11) do
if i_23 ~= nil then
i_23.Playing = false
tbl_7_upvr[i_23] = nil
end
end
end;
[Enum.HumanoidStateType.Dead] = function() -- Line 170
--[[ Upvalues[2]:
[1]: tbl_7_upvr (readonly)
[2]: tbl_12_upvr (readonly)
]]
local tbl_6 = {}
for i_24, v_14 in pairs(tbl_7_upvr) do
tbl_6[i_24] = v_14
end
for i_25 in pairs(tbl_6) do
if i_25 ~= nil then
i_25.Playing = false
tbl_7_upvr[i_25] = nil
end
end
local Died = tbl_12_upvr.Died
Died.TimePosition = 0
Died.Playing = true
end;
}
local tbl_4_upvr = {
[tbl_12_upvr.Climbing] = function(arg1_3, arg2, arg3) -- Line 178
local var213
if 0.1 >= arg3.Magnitude then
var213 = false
else
var213 = true
end
arg2.Playing = var213
end;
[tbl_12_upvr.FreeFalling] = function(arg1_4, arg2, arg3) -- Line 182
if 75 < arg3.Magnitude then
arg2.Volume = math.clamp(arg2.Volume + arg1_4 * 0.9, 0, 1)
else
arg2.Volume = 0
end
end;
[tbl_12_upvr.Running] = function(arg1_5, arg2, arg3) -- Line 190
--[[ Upvalues[1]:
[1]: humanoid_upvr (readonly)
]]
local var216 = false
if 0.5 < arg3.Magnitude then
if 0.5 >= humanoid_upvr.MoveDirection.Magnitude then
var216 = false
else
var216 = true
end
end
arg2.Playing = var216
end;
}
local tbl_upvr_2 = {
[Enum.HumanoidStateType.RunningNoPhysics] = Enum.HumanoidStateType.Running;
}
local var218_upvw = tbl_upvr_2[humanoid_upvr:GetState()]
if not var218_upvw then
var218_upvw = humanoid_upvr:GetState()
end
local function _(arg1_6) -- Line 202, Named "transitionTo"
--[[ Upvalues[2]:
[1]: tbl_5_upvr (readonly)
[2]: var218_upvw (read and write)
]]
local var219 = tbl_5_upvr[arg1_6]
if var219 then
var219()
end
var218_upvw = arg1_6
end
local var220 = var218_upvw
local var221 = tbl_5_upvr[var220]
if var221 then
var221()
end
var218_upvw = var220
local any_Connect_result1_upvr_2 = humanoid_upvr.StateChanged:Connect(function(arg1_7, arg2) -- Line 214
--[[ Upvalues[3]:
[1]: tbl_upvr_2 (readonly)
[2]: var218_upvw (read and write)
[3]: tbl_5_upvr (readonly)
]]
local var223 = tbl_upvr_2[arg2] or arg2
if var223 ~= var218_upvw then
local var224 = var223
local var225 = tbl_5_upvr[var224]
if var225 then
var225()
end
var218_upvw = var224
end
end)
local any_Connect_result1_upvr = RunService_upvr.Stepped:Connect(function(arg1_8, arg2) -- Line 222
--[[ Upvalues[3]:
[1]: tbl_7_upvr (readonly)
[2]: tbl_4_upvr (readonly)
[3]: rootPart_upvr (readonly)
]]
for i_26 in pairs(tbl_7_upvr) do
local var231 = tbl_4_upvr[i_26]
if var231 then
var231(arg2, i_26, rootPart_upvr.AssemblyLinearVelocity)
end
end
end)
return function() -- Line 233, Named "terminate"
--[[ Upvalues[3]:
[1]: any_Connect_result1_upvr_2 (readonly)
[2]: any_Connect_result1_upvr (readonly)
[3]: tbl_12_upvr (readonly)
]]
any_Connect_result1_upvr_2:Disconnect()
any_Connect_result1_upvr:Disconnect()
for _, v_15 in pairs(tbl_12_upvr) do
v_15:Destroy()
end
table.clear(tbl_12_upvr)
end
end)
local tbl_upvr = {}
local function characterAdded_upvr(arg1) -- Line 256, Named "characterAdded"
--[[ Upvalues[1]:
[1]: any_new_result1_upvr (readonly)
]]
any_new_result1_upvr:bindRoot(arg1)
end
local function characterRemoving_upvr(arg1) -- Line 260, Named "characterRemoving"
--[[ Upvalues[1]:
[1]: any_new_result1_upvr (readonly)
]]
any_new_result1_upvr:unbindRoot(arg1)
end
local function playerAdded(arg1) -- Line 264
--[[ Upvalues[4]:
[1]: tbl_upvr (readonly)
[2]: any_new_result1_upvr (readonly)
[3]: characterAdded_upvr (readonly)
[4]: characterRemoving_upvr (readonly)
]]
local var242 = tbl_upvr[arg1]
if not var242 then
var242 = {}
tbl_upvr[arg1] = var242
end
if arg1.Character then
any_new_result1_upvr:bindRoot(arg1.Character)
end
table.insert(var242, arg1.CharacterAdded:Connect(characterAdded_upvr))
table.insert(var242, arg1.CharacterRemoving:Connect(characterRemoving_upvr))
end
for _, v_17 in ipairs(Players:GetPlayers()) do
task.spawn(playerAdded, v_17)
end
Players.PlayerAdded:Connect(playerAdded)
Players.PlayerRemoving:Connect(function(arg1) -- Line 278, Named "playerRemoving"
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_new_result1_upvr (readonly)
]]
local var245 = tbl_upvr[arg1]
if var245 then
for _, v_16 in ipairs(var245) do
v_16:Disconnect()
end
tbl_upvr[arg1] = nil
end
if arg1.Character then
any_new_result1_upvr:unbindRoot(arg1.Character)
end
end)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:04
-- Luau version 6, Types version 3
-- Time taken: 0.013093 seconds
local function parsePath_upvr(arg1) -- Line 4, Named "parsePath"
local string_split_result1 = string.split(arg1, '/')
for i = #string_split_result1, 1, -1 do
if string_split_result1[i] == "" then
table.remove(string_split_result1, i)
end
end
return string_split_result1
end
local function _(arg1, arg2) -- Line 14, Named "isManifestResolved"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 15 start (CF ANALYSIS FAILED)
local var7 = 0
for _ in pairs(arg1) do
var7 += 1
end
if var7 > arg2 then
-- KONSTANTWARNING: GOTO [13] #11
end
-- KONSTANTERROR: [0] 1. Error Block 15 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [12] 10. Error Block 18 start (CF ANALYSIS FAILED)
assert(true, var7)
if var7 ~= arg2 then
else
end
do
return true
end
-- KONSTANTERROR: [12] 10. Error Block 18 end (CF ANALYSIS FAILED)
end
local function unbindNodeDescend_upvr(arg1, arg2) -- Line 24, Named "unbindNodeDescend"
--[[ Upvalues[1]:
[1]: unbindNodeDescend_upvr (readonly)
]]
if arg1.instance == nil then
else
arg1.instance = nil
local connections = arg1.connections
if connections then
for _, v_7 in ipairs(connections) do
v_7:Disconnect()
end
table.clear(connections)
end
if arg2 and arg1.alias then
arg2[arg1.alias] = nil
end
local children = arg1.children
if children then
for _, v_8 in pairs(children) do
unbindNodeDescend_upvr(v_8, arg2)
end
end
end
end
local module_upvr = {}
module_upvr.__index = module_upvr
function module_upvr.new(arg1, arg2) -- Line 54
--[[ Upvalues[2]:
[1]: parsePath_upvr (readonly)
[2]: module_upvr (readonly)
]]
local tbl = {}
local var29 = 1
for i_3, v in pairs(arg1) do
tbl[i_3] = parsePath_upvr(v)
var29 += 1
end
local module = {}
module._boundFn = arg2
module._parsedManifest = tbl
module._manifestSizeTarget = var29
module._dtorMap = {}
module._connections = {}
module._rootInstToRootNode = {}
module._rootInstToManifest = {}
return setmetatable(module, module_upvr)
end
function module_upvr._startBoundFn(arg1, arg2, arg3) -- Line 80
local _dtorMap = arg1._dtorMap
local var35 = _dtorMap[arg2]
if var35 then
var35()
_dtorMap[arg2] = nil
end
local any__boundFn_result1 = arg1._boundFn(arg3)
if any__boundFn_result1 then
_dtorMap[arg2] = any__boundFn_result1
end
end
function module_upvr._stopBoundFn(arg1, arg2) -- Line 96
local _dtorMap_2 = arg1._dtorMap
local var38 = _dtorMap_2[arg2]
if var38 then
var38()
_dtorMap_2[arg2] = nil
end
end
function module_upvr.bindRoot(arg1, arg2) -- Line 106
--[[ Upvalues[1]:
[1]: unbindNodeDescend_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
debug.profilebegin("AtomicBinding:BindRoot")
local _parsedManifest = arg1._parsedManifest
local _rootInstToManifest_2 = arg1._rootInstToManifest
local var57
if _rootInstToManifest_2[arg2] ~= nil then
var57 = false
else
var57 = true
end
assert(var57)
local tbl_upvr = {}
_rootInstToManifest_2[arg2] = tbl_upvr
var57 = debug.profilebegin
var57("BuildTree")
var57 = {}
var57.alias = "root"
var57.instance = arg2
if next(_parsedManifest) then
var57.children = {}
var57.connections = {}
end
arg1._rootInstToRootNode[arg2] = var57
for i_4, v_2 in pairs(_parsedManifest) do
local var62 = var57
for i_5, v_3 in ipairs(v_2) do
local var66
if i_5 ~= #v_2 then
var66 = false
else
var66 = true
end
if not var62.children[v_3] then
local tbl_2 = {}
local var68
end
if var66 then
var68 = tbl_2.alias
if var68 ~= nil then
var68 = error
var68("Multiple aliases assigned to one instance")
end
tbl_2.alias = i_4
else
var68 = tbl_2.children
if not var68 then
var68 = {}
end
tbl_2.children = var68
var68 = tbl_2.connections
if not var68 then
var68 = {}
end
tbl_2.connections = var68
end
var62.children[v_3] = tbl_2
end
end
debug.profileend()
local _manifestSizeTarget_upvr = arg1._manifestSizeTarget
local function processNode_upvr(arg1_2) -- Line 160, Named "processNode"
--[[ Upvalues[6]:
[1]: tbl_upvr (readonly)
[2]: processNode_upvr (readonly)
[3]: arg1 (readonly)
[4]: arg2 (readonly)
[5]: unbindNodeDescend_upvr (copied, readonly)
[6]: _manifestSizeTarget_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local alias = arg1_2.alias
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [12] 9. Error Block 2 start (CF ANALYSIS FAILED)
tbl_upvr[alias] = assert(arg1_2.instance)
-- KONSTANTERROR: [12] 9. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [14] 11. Error Block 3 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [14] 11. Error Block 3 end (CF ANALYSIS FAILED)
end
debug.profilebegin("ResolveTree")
processNode_upvr(var57)
debug.profileend()
debug.profileend()
end
function module_upvr.unbindRoot(arg1, arg2) -- Line 236
--[[ Upvalues[1]:
[1]: unbindNodeDescend_upvr (readonly)
]]
local _rootInstToRootNode = arg1._rootInstToRootNode
local _rootInstToManifest = arg1._rootInstToManifest
arg1:_stopBoundFn(arg2)
local var73 = _rootInstToRootNode[arg2]
if var73 then
unbindNodeDescend_upvr(var73, assert(_rootInstToManifest[arg2]))
_rootInstToRootNode[arg2] = nil
end
_rootInstToManifest[arg2] = nil
end
function module_upvr.destroy(arg1) -- Line 252
--[[ Upvalues[1]:
[1]: unbindNodeDescend_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
debug.profilebegin("AtomicBinding:destroy")
for _, v_4 in pairs(arg1._dtorMap) do
v_4:destroy()
end
table.clear(arg1._dtorMap)
for _, v_5 in ipairs(arg1._connections) do
v_5:Disconnect()
end
table.clear(arg1._connections)
for i_8, v_6 in pairs(arg1._rootInstToRootNode) do
unbindNodeDescend_upvr(v_6, assert(arg1._rootInstToManifest[i_8]))
local _
end
table.clear(arg1._rootInstToManifest)
table.clear(arg1._rootInstToRootNode)
debug.profileend()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:05
-- Luau version 6, Types version 3
-- Time taken: 0.030036 seconds
local engine = require(game:GetService("ReplicatedStorage").engine)
engine:load("Ping")
local any_new_result1_upvr_2 = engine:load("Ragdoll").new()
any_new_result1_upvr_2:init()
local Services_upvr_2 = engine.Services
local LocalPlayer = Services_upvr_2.Players.LocalPlayer
if engine:load("Global")._debug then
if not table.find(engine:load("Whitelist", "utils"), LocalPlayer.UserId) then return end
end
if table.find(engine:load("Blacklist", "utils").users, LocalPlayer.UserId) then
else
if not Services_upvr_2.RunService:IsStudio() or not script:GetAttribute("disableBootstrapperInStudio") then
task.spawn(function() -- Line 68
require(script:WaitForChild("bootstrapper"), 100)
end)
end
local Character_upvw = LocalPlayer.Character
if not Character_upvw then
Character_upvw = LocalPlayer.CharacterAdded:Wait()
end
local tbl_3_upvr = {
Forward = {
Key = Enum.KeyCode.W;
Direction = Enum.NormalId.Front;
};
Backward = {
Key = Enum.KeyCode.S;
Direction = Enum.NormalId.Back;
};
Left = {
Key = Enum.KeyCode.A;
Direction = Enum.NormalId.Left;
};
Right = {
Key = Enum.KeyCode.D;
Direction = Enum.NormalId.Right;
};
}
local visuals_upvr = script.Parent:WaitForChild("visuals", 100)
local controllers_upvr = script.Parent:WaitForChild("controllers", 100)
local tbl_upvr = {
visuals = {};
controllers = {};
mechanics = {};
}
local function _(arg1, arg2, arg3) -- Line 103, Named "lerp"
return arg1 + (arg2 - arg1) * arg3
end
local PlayerModule_upvr = require(LocalPlayer.PlayerScripts.PlayerModule)
local function getWalkDirectionCameraSpace_upvr(arg1) -- Line 107, Named "getWalkDirectionCameraSpace"
--[[ Upvalues[3]:
[1]: Services_upvr_2 (readonly)
[2]: PlayerModule_upvr (readonly)
[3]: tbl_3_upvr (readonly)
]]
local var92
if arg1 and (Services_upvr_2.UserInputService.TouchEnabled or arg1 == Enum.UserInputType.Gamepad1) then
var92 += PlayerModule_upvr:GetControls():GetMoveVector()
return var92
end
for _, v in pairs(tbl_3_upvr) do
if Services_upvr_2.UserInputService:IsKeyDown(v.Key) and not Services_upvr_2.UserInputService:GetFocusedTextBox() then
var92 += Vector3.FromNormalId(v.Direction)
end
end
if 0 < var92.Magnitude then
var92 = var92.Unit
end
return var92
end
local function _(arg1) -- Line 131, Named "getWalkDirectionWorldSpace"
--[[ Upvalues[1]:
[1]: getWalkDirectionCameraSpace_upvr (readonly)
]]
local var96 = workspace.CurrentCamera.CFrame:VectorToWorldSpace(getWalkDirectionCameraSpace_upvr(arg1)) * Vector3.new(1, 0, 1)
if 0 < var96.Magnitude then
var96 = var96.Unit
end
return var96
end
for _, v_2_upvr in next, visuals_upvr:GetChildren() do
if v_2_upvr and v_2_upvr:IsA("ModuleScript") then
task.spawn(function() -- Line 146
--[[ Upvalues[2]:
[1]: v_2_upvr (readonly)
[2]: tbl_upvr (readonly)
]]
local v_2_upvr_2 = require(v_2_upvr)
tbl_upvr.visuals[v_2_upvr.Name] = v_2_upvr_2
if v_2_upvr_2.init then
v_2_upvr_2:init()
end
end)
end
end
for _, v_3_upvr in next, script.Parent:WaitForChild("mechanics", 100):GetChildren() do
if v_3_upvr and v_3_upvr:IsA("ModuleScript") then
task.spawn(function() -- Line 159
--[[ Upvalues[2]:
[1]: v_3_upvr (readonly)
[2]: tbl_upvr (readonly)
]]
local v_3_upvr_2 = require(v_3_upvr)
tbl_upvr.mechanics[v_3_upvr.Name] = v_3_upvr_2
if v_3_upvr_2.init then
v_3_upvr_2:init()
end
end)
end
end
for i_4, v_4_upvr in next, controllers_upvr:GetChildren() do
if v_4_upvr and v_4_upvr:IsA("ModuleScript") then
task.spawn(function() -- Line 172
--[[ Upvalues[2]:
[1]: v_4_upvr (readonly)
[2]: tbl_upvr (readonly)
]]
local v_4_upvr_2 = require(v_4_upvr)
tbl_upvr.controllers[v_4_upvr.Name] = v_4_upvr_2
if v_4_upvr_2.init then
if v_4_upvr.Name == "replicationController" then
v_4_upvr_2:init(tbl_upvr)
return
end
v_4_upvr_2:init()
end
end)
end
end
if Services_upvr_2.RunService:IsServer() then
v_4_upvr = tick() - tick()
i_4 = tostring(v_4_upvr)
warn(string.format("Engine.Server | Modules intialized, time taken: %s", i_4))
elseif Services_upvr_2.RunService:IsClient() then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
v_4_upvr = tick() - tick()
i_4 = tostring(v_4_upvr)
warn(string.format("Engine.Client | Modules intialized, time taken: %s", i_4))
end
LocalPlayer.CharacterAdded:Connect(function(arg1) -- Line 195
--[[ Upvalues[5]:
[1]: Character_upvw (read and write)
[2]: any_new_result1_upvr_2 (readonly)
[3]: tbl_upvr (readonly)
[4]: visuals_upvr (readonly)
[5]: controllers_upvr (readonly)
]]
-- KONSTANTERROR: Failed to generate AST for unnamed function:
assertion failed!
Traceback:
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
end)
local module_upvr_2 = require(script:WaitForChild("ragdoll", 100))
script:GetAttributeChangedSignal("Ragdoll"):Connect(function() -- Line 261
--[[ Upvalues[2]:
[1]: module_upvr_2 (readonly)
[2]: Character_upvw (read and write)
]]
if script:GetAttribute("Ragdoll") then
module_upvr_2:bind(Character_upvw:WaitForChild("Humanoid", 100), script:GetAttribute("IsHolding"))
else
module_upvr_2:unbind(Character_upvw:WaitForChild("Humanoid", 100))
end
end)
local zero_vector3_upvw_3 = Vector3.new()
local zero_vector3_upvw_4 = Vector3.new()
Services_upvr_2.RunService.RenderStepped:Connect(function(arg1) -- Line 293
--[[ Upvalues[5]:
[1]: Character_upvw (read and write)
[2]: Services_upvr_2 (readonly)
[3]: getWalkDirectionCameraSpace_upvr (readonly)
[4]: zero_vector3_upvw_3 (read and write)
[5]: zero_vector3_upvw_4 (read and write)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local Humanoid = Character_upvw:FindFirstChild("Humanoid")
local any_GetLastInputType_result1_2 = Services_upvr_2.UserInputService:GetLastInputType()
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [12] 10. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [12] 10. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [18] 15. Error Block 3 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [18] 15. Error Block 3 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [24] 20. Error Block 4 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [24] 20. Error Block 4 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [30] 24. Error Block 5 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [30] 24. Error Block 5 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [36] 28. Error Block 6 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [36] 28. Error Block 6 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [97] 72. Error Block 31 start (CF ANALYSIS FAILED)
local var117 = workspace.CurrentCamera.CFrame:VectorToWorldSpace(getWalkDirectionCameraSpace_upvr(any_GetLastInputType_result1_2)) * Vector3.new(1, 0, 1)
if 0 < var117.Magnitude then
var117 = var117.Unit
end
zero_vector3_upvw_3 = var117
local var118 = zero_vector3_upvw_4
zero_vector3_upvw_4 = var118 + (zero_vector3_upvw_3 - var118) * math.clamp(arg1 * 10, 0, 1)
Humanoid:Move(zero_vector3_upvw_4)
do
return
end
-- KONSTANTERROR: [97] 72. Error Block 31 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [138] 104. Error Block 34 start (CF ANALYSIS FAILED)
if Humanoid and not Character_upvw:GetAttribute("freezeMovement") and not Character_upvw:GetAttribute("moveTo") and not Services_upvr_2.UserInputService.KeyboardEnabled and not Services_upvr_2.UserInputService.MouseEnabled and (Services_upvr_2.UserInputService.TouchEnabled or any_GetLastInputType_result1_2 == Enum.UserInputType.Gamepad1) then
local var119 = workspace.CurrentCamera.CFrame:VectorToWorldSpace(getWalkDirectionCameraSpace_upvr(any_GetLastInputType_result1_2)) * Vector3.new(1, 0, 1)
if 0 < var119.Magnitude then
var119 = var119.Unit
end
zero_vector3_upvw_3 = var119
local var120 = zero_vector3_upvw_4
zero_vector3_upvw_4 = var120 + (zero_vector3_upvw_3 - var120) * math.clamp(arg1 * math.clamp(script:GetAttribute("moveAcceleration") / 0.66, 5, 10), 0, 1)
Humanoid:Move(zero_vector3_upvw_4)
end
-- KONSTANTERROR: [138] 104. Error Block 34 end (CF ANALYSIS FAILED)
end)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:08
-- Luau version 6, Types version 3
-- Time taken: 0.125384 seconds
return (function() -- Line 3
local function var2_upvr(arg1) -- Line 3
return string.gsub(arg1, "[^ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=]", ""):gsub('.', function(arg1_2) -- Line 3
if arg1_2 == '=' then
return ""
end
local var6 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/":find(arg1_2) - 1
for i = 6, 1, -1 do
local var7
if 0 < var6 % 2 ^ i - var6 % 2 ^ (i - 1) then
var7 = '1'
else
var7 = '0'
end
end
return ""..var7
end):gsub("%d%d%d?%d?%d?%d?%d?%d?", function(arg1_3) -- Line 3
local var11
if var11 ~= 8 then
var11 = ""
return var11
end
var11 = 0
for i_2 = 1, 8 do
local var12
local function INLINED() -- Internal function, doesn't exist in bytecode
var12 = 2 ^ (8 - i_2)
return var12
end
if arg1_3:sub(i_2, i_2) ~= '1' or not INLINED() then
var12 = 0
end
var11 += var12
end
return string.char(var11)
end)
end
local getfenv_upvr = getfenv
if not getfenv_upvr then
function getfenv_upvr() -- Line 3
return _ENV
end
end
local var13_result1_upvr = (function() -- Line 3
local function j_upvr(arg1, arg2) -- Line 3, Named "j"
local S_2 = arg1.S
local i_22 = arg1.i
local j = arg1.j
local module_21 = {}
local char_2 = string.char
for i_7 = 1, arg2 do
i_22 = (i_22 + 1) % 256
j = (j + S_2[i_22]) % 256
S_2[i_22] = S_2[j]
S_2[j] = S_2[i_22]
module_21[i_7] = char_2(S_2[(S_2[i_22] + S_2[j]) % 256])
end
arg1.i = i_22
arg1.j = j
return table.concat(module_21)
end
local a_result1_upvr = (function(arg1) -- Line 3, Named "a"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local module_8 = {}
for i_3 = 0, 255 do
module_8[i_3] = {}
end
module_8[0][0] = arg1[1] * 255
local var31 = 1
for _ = 0, 7 do
for i_5 = 0, var31 - 1 do
for i_6 = 0, var31 - 1 do
local var32 = module_8[i_5][i_6] - arg1[1] * var31
module_8[i_5][i_6 + var31] = var32 + arg1[2] * var31
module_8[i_5 + var31][i_6] = var32 + arg1[3] * var31
module_8[i_5 + var31][i_6 + var31] = var32 + arg1[4] * var31
local _
end
end
end
return module_8
end)({0, 1, 1, 0})
local function p_upvr(arg1, arg2) -- Line 3, Named "p"
--[[ Upvalues[2]:
[1]: j_upvr (readonly)
[2]: a_result1_upvr (readonly)
]]
local j_upvr_result1 = j_upvr(arg1, #arg2)
local module_3 = {}
local byte = string.byte
local char = string.char
for i_8 = 1, #arg2 do
module_3[i_8] = char(a_result1_upvr[byte(arg2, i_8)][byte(j_upvr_result1, i_8)])
end
return table.concat(module_3)
end
local function u_upvr(arg1, arg2) -- Line 3, Named "u"
local S = arg1.S
local var52 = 0
local len = #arg2
local byte_2 = string.byte
for i_9 = 0, 255 do
var52 = (var52 + S[i_9] + byte_2(arg2, i_9 % len + 1)) % 256
S[i_9] = S[var52]
S[var52] = S[i_9]
end
end
function new(arg1) -- Line 3
--[[ Upvalues[3]:
[1]: j_upvr (readonly)
[2]: p_upvr (readonly)
[3]: u_upvr (readonly)
]]
local tbl_34 = {}
local module_13 = {
S = tbl_34;
i = 0;
j = 0;
generate = j_upvr;
cipher = p_upvr;
schedule = u_upvr;
}
for i_10 = 0, 255 do
tbl_34[i_10] = i_10
end
if arg1 then
i_10 = arg1
module_13:schedule(i_10)
end
return module_13
end
return new
end)()
function CRYPTEDlIIlIlll(arg1, arg2) -- Line 3
--[[ Upvalues[1]:
[1]: var2_upvr (readonly)
]]
return var2_upvr(arg1, arg2), "QHZiQkloTlA+cEtBQWl3MDMzUA=="
end
return (function() -- Line 3
--[[ Upvalues[1]:
[1]: getfenv_upvr (readonly)
]]
if not bit then
local var265_upvw
pcall(function() -- Line 3
--[[ Upvalues[1]:
[1]: var265_upvw (read and write)
]]
var265_upvw = require("bit")
end)
bit = var265_upvw -- Setting global
end
var265_upvw = bit
local var267_upvr = var265_upvw
if not var267_upvr then
var267_upvr = bit32
if not var267_upvr then
var267_upvr = (function() -- Line 3
local module_12 = {
_TYPE = "module";
_NAME = "bit.numberlua";
_VERSION = "0.3.1.20120131";
}
local function e_upvr(arg1) -- Line 3, Named "e"
local tbl_29 = {}
local setmetatable_result1_upvr = setmetatable({}, tbl_29)
function tbl_29.__index(arg1_10, arg2) -- Line 3
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: setmetatable_result1_upvr (readonly)
]]
local arg1_result1 = arg1(arg2)
setmetatable_result1_upvr[arg2] = arg1_result1
return arg1_result1
end
return setmetatable_result1_upvr
end
local function k_upvr(arg1, arg2) -- Line 3, Named "k"
return function(arg1_11, arg2_3) -- Line 3, Named "m"
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: arg1 (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local const_number_2 = 1
local var274
while var274 ~= 0 and arg2_3 ~= 0 do
local var275 = var274 % arg2
local var276 = arg2_3 % arg2
var274 = (var274 - var275) / arg2
end
return 0 + arg1[var275][var276] * const_number_2 + (var274 + (arg2_3 - var276) / arg2) * (const_number_2 * arg2)
end
end
local function tobit(arg1) -- Line 3
return arg1 % 4294967296
end
module_12.tobit = tobit
module_12.bxor = (function(arg1) -- Line 3, Named "t"
--[[ Upvalues[2]:
[1]: k_upvr (readonly)
[2]: e_upvr (readonly)
]]
local k_upvr_result1_upvr = k_upvr(arg1, 2)
return k_upvr(e_upvr(function(arg1_12) -- Line 3
--[[ Upvalues[2]:
[1]: e_upvr (copied, readonly)
[2]: k_upvr_result1_upvr (readonly)
]]
return e_upvr(function(arg1_13) -- Line 3
--[[ Upvalues[2]:
[1]: k_upvr_result1_upvr (copied, readonly)
[2]: arg1_12 (readonly)
]]
return k_upvr_result1_upvr(arg1_12, arg1_13)
end)
end), 2 ^ (arg1.n or 1))
end)({
n = 4;
{0}
})
local bxor_upvr = module_12.bxor
local function bnot(arg1) -- Line 3
return 4294967295 - arg1
end
module_12.bnot = bnot
local bnot_upvr_2 = module_12.bnot
function module_12.band(arg1, arg2) -- Line 3
--[[ Upvalues[1]:
[1]: bxor_upvr (readonly)
]]
return (arg1 + arg2 - bxor_upvr(arg1, arg2)) / 2
end
local band_3_upvr = module_12.band
function module_12.bor(arg1, arg2) -- Line 3
--[[ Upvalues[1]:
[1]: band_3_upvr (readonly)
]]
return 4294967295 - band_3_upvr(4294967295 - arg1, 4294967295 - arg2)
end
local var286_upvw
local floor_upvr_2 = math.floor
local function rshift(arg1, arg2) -- Line 3
--[[ Upvalues[2]:
[1]: var286_upvw (read and write)
[2]: floor_upvr_2 (readonly)
]]
if arg2 < 0 then
return var286_upvw(arg1, -arg2)
end
return floor_upvr_2(arg1 % 4294967296 / 2 ^ arg2)
end
module_12.rshift = rshift
local rshift_upvw_2 = module_12.rshift
local function lshift(arg1, arg2) -- Line 3
--[[ Upvalues[1]:
[1]: rshift_upvw_2 (read and write)
]]
if arg2 < 0 then
return rshift_upvw_2(arg1, -arg2)
end
return arg1 * 2 ^ arg2 % 4294967296
end
module_12.lshift = lshift
var286_upvw = module_12.lshift
local var289_upvw = var286_upvw
local function tohex(arg1, arg2) -- Line 3
--[[ Upvalues[1]:
[1]: band_3_upvr (readonly)
]]
arg2 = arg2 or 8
local var290 = arg2
local var291
if var290 <= 0 then
if var290 == 0 then
return ""
end
var291 = true
var290 = -var290
end
local var292 = 16 ^ var290
if var291 then
var292 = 'X'
else
var292 = 'x'
end
return "%0"..var290..var292:format(band_3_upvr(arg1, var292 - 1))
end
module_12.tohex = tohex
local function extract(arg1, arg2, arg3) -- Line 3
--[[ Upvalues[2]:
[1]: band_3_upvr (readonly)
[2]: rshift_upvw_2 (read and write)
]]
return band_3_upvr(rshift_upvw_2(arg1, arg2), 2 ^ (arg3 or 1) - 1)
end
module_12.extract = extract
local function replace(arg1, arg2, arg3, arg4) -- Line 3
--[[ Upvalues[3]:
[1]: band_3_upvr (readonly)
[2]: bnot_upvr_2 (readonly)
[3]: var289_upvw (read and write)
]]
local var293 = 2 ^ (arg4 or 1) - 1
return band_3_upvr(arg1, bnot_upvr_2(var289_upvw(var293, arg3))) + var289_upvw(band_3_upvr(arg2, var293), arg3)
end
module_12.replace = replace
local function bswap(arg1) -- Line 3
--[[ Upvalues[3]:
[1]: band_3_upvr (readonly)
[2]: rshift_upvw_2 (read and write)
[3]: var289_upvw (read and write)
]]
local var288_result1_3 = rshift_upvw_2(arg1, 8)
local var288_result1 = rshift_upvw_2(var288_result1_3, 8)
return var289_upvw(var289_upvw(var289_upvw(band_3_upvr(arg1, 255), 8) + band_3_upvr(var288_result1_3, 255), 8) + band_3_upvr(var288_result1, 255), 8) + band_3_upvr(rshift_upvw_2(var288_result1, 8), 255)
end
module_12.bswap = bswap
local function rrotate(arg1, arg2) -- Line 3
--[[ Upvalues[3]:
[1]: band_3_upvr (readonly)
[2]: rshift_upvw_2 (read and write)
[3]: var289_upvw (read and write)
]]
local var296 = arg2 % 32
return rshift_upvw_2(arg1, var296) + var289_upvw(band_3_upvr(arg1, 2 ^ var296 - 1), 32 - var296)
end
module_12.rrotate = rrotate
local rrotate_upvr_2 = module_12.rrotate
local function lrotate(arg1, arg2) -- Line 3
--[[ Upvalues[1]:
[1]: rrotate_upvr_2 (readonly)
]]
return rrotate_upvr_2(arg1, -arg2)
end
module_12.lrotate = lrotate
local lrotate_upvr_2 = module_12.lrotate
module_12.rol = module_12.lrotate
module_12.ror = module_12.rrotate
local function arshift(arg1, arg2) -- Line 3
--[[ Upvalues[2]:
[1]: rshift_upvw_2 (read and write)
[2]: var289_upvw (read and write)
]]
local var288_result1_2 = rshift_upvw_2(arg1, arg2)
if 2147483648 <= arg1 then
var288_result1_2 += var289_upvw(2 ^ arg2 - 1, 32 - arg2)
end
return var288_result1_2
end
module_12.arshift = arshift
local function btest(arg1, arg2) -- Line 3
--[[ Upvalues[1]:
[1]: band_3_upvr (readonly)
]]
local var300
if band_3_upvr(arg1, arg2) == 0 then
var300 = false
else
var300 = true
end
return var300
end
module_12.btest = btest
module_12.bit32 = {}
module_12.bit32.bnot = function(arg1) -- Line 3, Named "W"
return (-1 - arg1) % 4294967296
end
local function X_upvr(arg1, arg2, arg3, ...) -- Line 3, Named "X"
--[[ Upvalues[2]:
[1]: bxor_upvr (readonly)
[2]: X_upvr (readonly)
]]
local var301
if arg2 then
var301 %= 4294967296
local var283_result1 = bxor_upvr(var301, arg2 % 4294967296)
if arg3 then
var283_result1 = X_upvr(var283_result1, arg3, ...)
end
return var283_result1
end
if var301 then
return var301 % 4294967296
end
return 0
end
module_12.bit32.bxor = X_upvr
local function Y_upvr(arg1, arg2, arg3, ...) -- Line 3, Named "Y"
--[[ Upvalues[2]:
[1]: bxor_upvr (readonly)
[2]: Y_upvr (readonly)
]]
if arg2 then
local var303 = arg1 % 4294967296
local var304 = arg2 % 4294967296
local var305 = (var303 + var304 - bxor_upvr(var303, var304)) / 2
if arg3 then
var305 = Y_upvr(var305, arg3, ...)
end
return var305
end
if var303 then
return var303 % 4294967296
end
return 4294967295
end
module_12.bit32.band = Y_upvr
local function Z_upvr(arg1, arg2, arg3, ...) -- Line 3, Named "Z"
--[[ Upvalues[2]:
[1]: band_3_upvr (readonly)
[2]: Z_upvr (readonly)
]]
local var306
if arg2 then
var306 %= 4294967296
local var307 = 4294967295 - band_3_upvr(4294967295 - var306, 4294967295 - arg2 % 4294967296)
if arg3 then
var307 = Z_upvr(var307, arg3, ...)
end
return var307
end
if var306 then
return var306 % 4294967296
end
return 0
end
module_12.bit32.bor = Z_upvr
module_12.bit32.btest = function(...) -- Line 3, Named "btest"
--[[ Upvalues[1]:
[1]: Y_upvr (readonly)
]]
local var308
if Y_upvr(...) == 0 then
var308 = false
else
var308 = true
end
return var308
end
module_12.bit32.lrotate = function(arg1, arg2) -- Line 3, Named "lrotate"
--[[ Upvalues[1]:
[1]: lrotate_upvr_2 (readonly)
]]
return lrotate_upvr_2(arg1 % 4294967296, arg2)
end
module_12.bit32.rrotate = function(arg1, arg2) -- Line 3, Named "rrotate"
--[[ Upvalues[1]:
[1]: rrotate_upvr_2 (readonly)
]]
return rrotate_upvr_2(arg1 % 4294967296, arg2)
end
local function lshift(arg1, arg2) -- Line 3
--[[ Upvalues[1]:
[1]: var289_upvw (read and write)
]]
if 31 < arg2 or arg2 < -31 then
return 0
end
return var289_upvw(arg1 % 4294967296, arg2)
end
module_12.bit32.lshift = lshift
local function rshift(arg1, arg2) -- Line 3
--[[ Upvalues[1]:
[1]: rshift_upvw_2 (read and write)
]]
if 31 < arg2 or arg2 < -31 then
return 0
end
return rshift_upvw_2(arg1 % 4294967296, arg2)
end
module_12.bit32.rshift = rshift
local function arshift(arg1, arg2) -- Line 3
--[[ Upvalues[2]:
[1]: rshift_upvw_2 (read and write)
[2]: var289_upvw (read and write)
]]
local var309 = arg1 % 4294967296
if 0 <= arg2 then
if 31 < arg2 then
if 2147483648 <= var309 then
return 4294967295
end
return 0
end
local var288_result1_4 = rshift_upvw_2(var309, arg2)
if 2147483648 <= var309 then
var288_result1_4 += var289_upvw(2 ^ arg2 - 1, 32 - arg2)
end
return var288_result1_4
end
return var289_upvw(var309, -arg2)
end
module_12.bit32.arshift = arshift
local extract_upvr = module_12.extract
module_12.bit32.extract = function(arg1, arg2, ...) -- Line 3, Named "extract"
--[[ Upvalues[1]:
[1]: extract_upvr (readonly)
]]
local var312 = ... or 1
if arg2 < 0 or 31 < arg2 or var312 < 0 or 32 < arg2 + var312 then
error("out of range")
end
return extract_upvr(arg1 % 4294967296, arg2, ...)
end
local replace_upvr = module_12.replace
module_12.bit32.replace = function(arg1, arg2, arg3, ...) -- Line 3, Named "replace"
--[[ Upvalues[1]:
[1]: replace_upvr (readonly)
]]
local var314 = ... or 1
if arg3 < 0 or 31 < arg3 or var314 < 0 or 32 < arg3 + var314 then
error("out of range")
end
return replace_upvr(arg1 % 4294967296, arg2 % 4294967296, arg3, ...)
end
module_12.bit = {}
module_12.bit.tobit = function(arg1) -- Line 3, Named "tobit"
arg1 %= 4294967296
local var315 = arg1
if 2147483648 <= var315 then
var315 -= 4294967296
end
return var315
end
local tobit_upvr_2 = module_12.bit.tobit
local tohex_upvr_2 = module_12.tohex
module_12.bit.tohex = function(arg1, ...) -- Line 3, Named "tohex"
--[[ Upvalues[1]:
[1]: tohex_upvr_2 (readonly)
]]
return tohex_upvr_2(arg1 % 4294967296, ...)
end
module_12.bit.bnot = function(arg1) -- Line 3, Named "bnot"
--[[ Upvalues[2]:
[1]: tobit_upvr_2 (readonly)
[2]: bnot_upvr_2 (readonly)
]]
return tobit_upvr_2(bnot_upvr_2(arg1 % 4294967296))
end
local bor_4_upvr = module_12.bor
local function a0_upvr(arg1, arg2, arg3, ...) -- Line 3, Named "a0"
--[[ Upvalues[3]:
[1]: a0_upvr (readonly)
[2]: tobit_upvr_2 (readonly)
[3]: bor_4_upvr (readonly)
]]
if arg3 then
return a0_upvr(a0_upvr(arg1, arg2), arg3, ...)
end
if arg2 then
return tobit_upvr_2(bor_4_upvr(arg1 % 4294967296, arg2 % 4294967296))
end
return tobit_upvr_2(arg1)
end
module_12.bit.bor = a0_upvr
local function a1_upvr(arg1, arg2, arg3, ...) -- Line 3, Named "a1"
--[[ Upvalues[3]:
[1]: a1_upvr (readonly)
[2]: tobit_upvr_2 (readonly)
[3]: band_3_upvr (readonly)
]]
if arg3 then
return a1_upvr(a1_upvr(arg1, arg2), arg3, ...)
end
if arg2 then
return tobit_upvr_2(band_3_upvr(arg1 % 4294967296, arg2 % 4294967296))
end
return tobit_upvr_2(arg1)
end
module_12.bit.band = a1_upvr
local function a2_upvr(arg1, arg2, arg3, ...) -- Line 3, Named "a2"
--[[ Upvalues[3]:
[1]: a2_upvr (readonly)
[2]: tobit_upvr_2 (readonly)
[3]: bxor_upvr (readonly)
]]
if arg3 then
return a2_upvr(a2_upvr(arg1, arg2), arg3, ...)
end
if arg2 then
return tobit_upvr_2(bxor_upvr(arg1 % 4294967296, arg2 % 4294967296))
end
return tobit_upvr_2(arg1)
end
module_12.bit.bxor = a2_upvr
module_12.bit.lshift = function(arg1, arg2) -- Line 3, Named "lshift"
--[[ Upvalues[2]:
[1]: tobit_upvr_2 (readonly)
[2]: var289_upvw (read and write)
]]
return tobit_upvr_2(var289_upvw(arg1 % 4294967296, arg2 % 32))
end
module_12.bit.rshift = function(arg1, arg2) -- Line 3, Named "rshift"
--[[ Upvalues[2]:
[1]: tobit_upvr_2 (readonly)
[2]: rshift_upvw_2 (read and write)
]]
return tobit_upvr_2(rshift_upvw_2(arg1 % 4294967296, arg2 % 32))
end
local arshift_upvr = module_12.arshift
module_12.bit.arshift = function(arg1, arg2) -- Line 3, Named "arshift"
--[[ Upvalues[2]:
[1]: tobit_upvr_2 (readonly)
[2]: arshift_upvr (readonly)
]]
return tobit_upvr_2(arshift_upvr(arg1 % 4294967296, arg2 % 32))
end
module_12.bit.rol = function(arg1, arg2) -- Line 3, Named "rol"
--[[ Upvalues[2]:
[1]: tobit_upvr_2 (readonly)
[2]: lrotate_upvr_2 (readonly)
]]
return tobit_upvr_2(lrotate_upvr_2(arg1 % 4294967296, arg2 % 32))
end
module_12.bit.ror = function(arg1, arg2) -- Line 3, Named "ror"
--[[ Upvalues[2]:
[1]: tobit_upvr_2 (readonly)
[2]: rrotate_upvr_2 (readonly)
]]
return tobit_upvr_2(rrotate_upvr_2(arg1 % 4294967296, arg2 % 32))
end
local bswap_upvr_2 = module_12.bswap
module_12.bit.bswap = function(arg1) -- Line 3, Named "bswap"
--[[ Upvalues[2]:
[1]: tobit_upvr_2 (readonly)
[2]: bswap_upvr_2 (readonly)
]]
return tobit_upvr_2(bswap_upvr_2(arg1 % 4294967296))
end
return module_12
end)()
end
end
local unpack_upvr = table.unpack
if not unpack_upvr then
unpack_upvr = unpack
end
local tbl_10_upvr = {13, 23, 0, 2, 4, 7, 9, 12, 14, 17, 5, 1, 6, 10, 16, 20, 26, 30, 36, 19, 22, 18, 24, 27, 29, 33, 32, 11, 15, 21, 8, 34, 28, 37, 25, 31, 35}
local tbl_30_upvr = {"ABx", "ABC", "ABC", "ABC", "ABx", "ABC", "ABx", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "AsBx", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "AsBx", "AsBx", "ABC", "ABC", "ABC", "ABx", "ABC"}
local tbl_44_upvr = {{
b = "OpArgK";
c = "OpArgN";
}, {
b = "OpArgU";
c = "OpArgU";
}, {
b = "OpArgR";
c = "OpArgN";
}, {
b = "OpArgU";
c = "OpArgN";
}, {
b = "OpArgK";
c = "OpArgN";
}, {
b = "OpArgR";
c = "OpArgK";
}, {
b = "OpArgK";
c = "OpArgN";
}, {
b = "OpArgU";
c = "OpArgN";
}, {
b = "OpArgK";
c = "OpArgK";
}, {
b = "OpArgU";
c = "OpArgU";
}, {
b = "OpArgR";
c = "OpArgK";
}, {
b = "OpArgK";
c = "OpArgK";
}, {
b = "OpArgK";
c = "OpArgK";
}, {
b = "OpArgK";
c = "OpArgK";
}, {
b = "OpArgK";
c = "OpArgK";
}, {
b = "OpArgK";
c = "OpArgK";
}, {
b = "OpArgK";
c = "OpArgK";
}, {
b = "OpArgR";
c = "OpArgN";
}, {
b = "OpArgR";
c = "OpArgN";
}, {
b = "OpArgR";
c = "OpArgN";
}, {
b = "OpArgR";
c = "OpArgR";
}, {
b = "OpArgR";
c = "OpArgN";
}, {
b = "OpArgK";
c = "OpArgK";
}, {
b = "OpArgK";
c = "OpArgK";
}, {
b = "OpArgK";
c = "OpArgK";
}, {
b = "OpArgR";
c = "OpArgU";
}, {
b = "OpArgR";
c = "OpArgU";
}, {
b = "OpArgU";
c = "OpArgU";
}, {
b = "OpArgU";
c = "OpArgU";
}, {
b = "OpArgU";
c = "OpArgN";
}, {
b = "OpArgR";
c = "OpArgN";
}, {
b = "OpArgR";
c = "OpArgN";
}, {
b = "OpArgN";
c = "OpArgU";
}, {
b = "OpArgU";
c = "OpArgU";
}, {
b = "OpArgN";
c = "OpArgN";
}, {
b = "OpArgU";
c = "OpArgN";
}, {
b = "OpArgU";
c = "OpArgN";
}}
local function aa_upvr(arg1, arg2, arg3, arg4) -- Line 3, Named "aa"
local var365 = 0
for i_11 = arg2, arg3, arg4 do
var365 += string.byte(arg1, i_11, i_11) * 256 ^ (i_11 - arg2)
end
return var365
end
local function ad_upvr(arg1, arg2, arg3, arg4) -- Line 3, Named "ad"
--[[ Upvalues[1]:
[1]: var267_upvr (readonly)
]]
local var366 = -1 ^ var267_upvr.rshift(arg4, 7)
local var367 = var267_upvr.rshift(arg3, 7) + var267_upvr.lshift(var267_upvr.band(arg4, 127), 1)
local var368 = 1
if var367 == 0 then
if arg1 + var267_upvr.lshift(arg2, 8) + var267_upvr.lshift(var267_upvr.band(arg3, 127), 16) == 0 then
return var366 * 0
end
var368 = 0
var367 = 1
elseif var367 == 127 then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if arg1 + var267_upvr.lshift(arg2, 8) + var267_upvr.lshift(var267_upvr.band(arg3, 127), 16) == 0 then
return var366 * 1 / 0
end
return var366 * 0 / 0
end
return var366 * 2 ^ (var367 - 127) * (var368 / 8388608 + 1)
end
local function am_upvr(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) -- Line 3, Named "am"
--[[ Upvalues[1]:
[1]: var267_upvr (readonly)
]]
local var369 = -1 ^ var267_upvr.rshift(arg8, 7)
local var370 = var267_upvr.lshift(var267_upvr.band(arg8, 127), 4) + var267_upvr.rshift(arg7, 4)
local var371 = 1
if var370 == 0 then
if var267_upvr.band(arg7, 15) * 281474976710656 + arg6 * 1099511627776 + arg5 * 4294967296 + arg4 * 16777216 + arg3 * 65536 + arg2 * 256 + arg1 == 0 then
return var369 * 0
end
var371 = 0
var370 = 1
elseif var370 == 2047 then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if var267_upvr.band(arg7, 15) * 281474976710656 + arg6 * 1099511627776 + arg5 * 4294967296 + arg4 * 16777216 + arg3 * 65536 + arg2 * 256 + arg1 == 0 then
return var369 * 1 / 0
end
return var369 * 0 / 0
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return var369 * 2 ^ (var370 - 1023) * (var371 + (var267_upvr.band(arg7, 15) * 281474976710656 + arg6 * 1099511627776 + arg5 * 4294967296 + arg4 * 16777216 + arg3 * 65536 + arg2 * 256 + arg1) / 4503599627370496)
end
local function ar_upvr(arg1, arg2, arg3) -- Line 3, Named "ar"
--[[ Upvalues[1]:
[1]: aa_upvr (readonly)
]]
return aa_upvr(arg1, arg2, arg3 - 1, 1)
end
local function as_upvr(arg1, arg2, arg3) -- Line 3, Named "as"
--[[ Upvalues[1]:
[1]: aa_upvr (readonly)
]]
return aa_upvr(arg1, arg3 - 1, arg2, -1)
end
local tbl_53_upvr = {-- : First try: K:0: attempt to index nil with 't'
local function ay_upvr(arg1) -- Line 3, Named "ay"
local index = arg1.index
arg1.index = index + 1
return string.byte(arg1.source, index, index)
end
local function aB_upvr(arg1, arg2) -- Line 3, Named "aB"
local var388 = arg1.index + arg2
arg1.index = var388
return string.sub(arg1.source, arg1.index, var388 - 1)
end
local function aF_upvr(arg1) -- Line 3, Named "aF"
--[[ Upvalues[1]:
[1]: aB_upvr (readonly)
]]
local any_s_szt_result1_2 = arg1:s_szt()
local var390
if any_s_szt_result1_2 ~= 0 then
var390 = string.sub(aB_upvr(arg1, any_s_szt_result1_2), 1, -2)
end
return var390
end
local function aG_upvr(arg1, arg2) -- Line 3, Named "aG"
return function(arg1_14) -- Line 3
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
local var392 = arg1_14.index + arg1
arg1_14.index = var392
return arg2(arg1_14.source, arg1_14.index, var392)
end
end
local function aJ_upvr(arg1, arg2) -- Line 3, Named "aJ"
return function(arg1_15) -- Line 3
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: arg1 (readonly)
]]
arg1_15.index += arg1
return arg2(arg1_15.source, arg1_15.index)
end
end
local function aL_upvr(arg1) -- Line 3, Named "aL"
--[[ Upvalues[4]:
[1]: var267_upvr (readonly)
[2]: tbl_30_upvr (readonly)
[3]: tbl_44_upvr (readonly)
[4]: tbl_10_upvr (readonly)
]]
local module_17 = {}
for i_12 = 1, arg1:s_int() do
local any_s_ins_result1 = arg1:s_ins()
local any_band_result1 = var267_upvr.band(any_s_ins_result1, 63)
local var399 = tbl_30_upvr[any_band_result1]
local var400 = tbl_44_upvr[any_band_result1]
local tbl_35 = {
value = any_s_ins_result1;
op = tbl_10_upvr[any_band_result1];
A = var267_upvr.band(var267_upvr.rshift(any_s_ins_result1, 6), 255);
}
local var402
if var399 == "ABC" then
var402 = var267_upvr.band(var267_upvr.rshift(any_s_ins_result1, 23), 511)
tbl_35.B = var402
var402 = var267_upvr.band(var267_upvr.rshift(any_s_ins_result1, 14), 511)
tbl_35.C = var402
var402 = false
if var400.b == "OpArgK" then
if 255 >= tbl_35.B then
var402 = false
else
var402 = true
end
end
tbl_35.is_KB = var402
if var400.c == "OpArgK" then
if 255 >= tbl_35.C then
else
end
end
tbl_35.is_KC = true
elseif var399 == "ABx" then
tbl_35.Bx = var267_upvr.band(var267_upvr.rshift(any_s_ins_result1, 14), 262143)
if var400.b ~= "OpArgK" then
else
end
tbl_35.is_K = true
elseif var399 == "AsBx" then
tbl_35.sBx = var267_upvr.band(var267_upvr.rshift(any_s_ins_result1, 14), 262143) - 131071
end
module_17[i_12] = tbl_35
end
return module_17
end
local function aT_upvr(arg1) -- Line 3, Named "aT"
--[[ Upvalues[2]:
[1]: ay_upvr (readonly)
[2]: aF_upvr (readonly)
]]
local module_6 = {}
for i_13 = 1, arg1:s_int() do
local ay_result1 = ay_upvr(arg1)
local var407
if ay_result1 == 1 then
if ay_upvr(arg1) == 0 then
var407 = false
else
var407 = true
end
elseif ay_result1 == 3 then
var407 = arg1:s_num()
elseif ay_result1 == 4 then
var407 = aF_upvr(arg1)
end
module_6[i_13] = var407
end
return module_6
end
local a5_upvw
local function aW_upvr(arg1, arg2) -- Line 3, Named "aW"
--[[ Upvalues[1]:
[1]: a5_upvw (read and write)
]]
local module = {}
for i_14 = 1, arg1:s_int() do
module[i_14] = a5_upvw(arg1, arg2)
end
return module
end
local function aY_upvr(arg1) -- Line 3, Named "aY"
local module_11 = {}
for i_15 = 1, arg1:s_int() do
module_11[i_15] = arg1:s_int()
end
return module_11
end
local function a__upvr(arg1) -- Line 3, Named "a_"
--[[ Upvalues[1]:
[1]: aF_upvr (readonly)
]]
local module_14 = {}
for i_16 = 1, arg1:s_int() do
module_14[i_16] = {
varname = aF_upvr(arg1);
startpc = arg1:s_int();
endpc = arg1:s_int();
}
end
return module_14
end
local function b1_upvr(arg1) -- Line 3, Named "b1"
--[[ Upvalues[1]:
[1]: aF_upvr (readonly)
]]
local module_5 = {}
for i_17 = 1, arg1:s_int() do
module_5[i_17] = aF_upvr(arg1)
end
return module_5
end
function a5_upvw(arg1, arg2) -- Line 3, Named "a5"
--[[ Upvalues[8]:
[1]: aF_upvr (readonly)
[2]: ay_upvr (readonly)
[3]: aL_upvr (readonly)
[4]: aT_upvr (readonly)
[5]: aW_upvr (readonly)
[6]: aY_upvr (readonly)
[7]: a__upvr (readonly)
[8]: b1_upvr (readonly)
]]
local module_16 = {}
local var425 = aF_upvr(arg1) or arg2
module_16.source = var425
arg1:s_int()
arg1:s_int()
module_16.numupvals = ay_upvr(arg1)
module_16.numparams = ay_upvr(arg1)
ay_upvr(arg1)
ay_upvr(arg1)
module_16.code = aL_upvr(arg1)
module_16.const = aT_upvr(arg1)
module_16.subs = aW_upvr(arg1, var425)
module_16.lines = aY_upvr(arg1)
a__upvr(arg1)
b1_upvr(arg1)
for _, v in ipairs(module_16.code) do
if v.is_K then
v.const = module_16.const[v.Bx + 1]
else
if v.is_KB then
v.const_B = module_16.const[v.B - 255]
end
if v.is_KC then
v.const_C = module_16.const[v.C - 255]
end
end
end
return module_16
end
local function a3_upvw(arg1) -- Line 3, Named "a3"
--[[ Upvalues[8]:
[1]: aB_upvr (readonly)
[2]: ay_upvr (readonly)
[3]: ar_upvr (readonly)
[4]: as_upvr (readonly)
[5]: aG_upvr (readonly)
[6]: tbl_53_upvr (readonly)
[7]: aJ_upvr (readonly)
[8]: a5_upvw (read and write)
]]
-- KONSTANTERROR: [0] 1. Error Block 51 start (CF ANALYSIS FAILED)
local tbl_27 = {
index = 1;
}
tbl_27.source = arg1
local var430
if aB_upvr(tbl_27, 4) ~= "\x1BLua" then
var430 = false
else
var430 = true
end
assert(var430, "invalid Lua signature")
if ay_upvr(tbl_27) ~= 81 then
var430 = false
-- KONSTANTWARNING: GOTO [34] #29
end
-- KONSTANTERROR: [0] 1. Error Block 51 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [33] 28. Error Block 56 start (CF ANALYSIS FAILED)
var430 = true
assert(var430, "invalid Lua version")
if ay_upvr(tbl_27) ~= 0 then
var430 = false
-- KONSTANTWARNING: GOTO [47] #39
end
-- KONSTANTERROR: [33] 28. Error Block 56 end (CF ANALYSIS FAILED)
end
local function bd_upvr(arg1, arg2) -- Line 3, Named "bd"
for i_19, v_2 in pairs(arg1) do
if arg2 <= v_2.index then
v_2.value = v_2.store[v_2.index]
v_2.store = v_2
v_2.index = "value"
arg1[i_19] = nil
end
end
end
local function bh_upvr(arg1, arg2, arg3) -- Line 3, Named "bh"
local var436 = arg1[arg2]
if not var436 then
local tbl_51 = {}
tbl_51.index = arg2
tbl_51.store = arg3
var436 = tbl_51
arg1[arg2] = var436
end
return var436
end
local function bk_upvr(...) -- Line 3, Named "bk"
return select('#', ...), {...}
end
local function bl_upvr(arg1, arg2) -- Line 3, Named "bl"
local string_match_result1_2, string_match_result2, string_match_result3_2 = string.match(arg2, "^(.-):(%d+):%s+(.+)")
error(string.format("%s:%i: [%s:%i] %s", arg1.source, arg1.lines[arg1.pc - 1] or '0', string_match_result1_2 or '?', string_match_result2 or '0', string_match_result3_2 or arg2), 0)
end
local a4_upvw
local function bs_upvr(arg1) -- Line 3, Named "bs"
--[[ Upvalues[6]:
[1]: bk_upvr (readonly)
[2]: unpack_upvr (readonly)
[3]: bd_upvr (readonly)
[4]: tbl_10_upvr (readonly)
[5]: bh_upvr (readonly)
[6]: a4_upvw (read and write)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [959] 718. Error Block 299 start (CF ANALYSIS FAILED)
arg1.pc = arg1.pc
-- KONSTANTERROR: [959] 718. Error Block 299 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [17] 10. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [961.11]
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [961.65666]
-- KONSTANTERROR: [17] 10. Error Block 2 end (CF ANALYSIS FAILED)
end
function a4_upvw(arg1, arg2, arg3) -- Line 3, Named "a4"
--[[ Upvalues[4]:
[1]: bk_upvr (readonly)
[2]: bs_upvr (readonly)
[3]: unpack_upvr (readonly)
[4]: bl_upvr (readonly)
]]
local numparams_upvr_2 = arg1.numparams
local code_upvr_2 = arg1.code
local subs_upvr_2 = arg1.subs
local lines_upvr_2 = arg1.lines
local source_upvr = arg1.source
return function(...) -- Line 3, Named "bY"
--[[ Upvalues[11]:
[1]: bk_upvr (copied, readonly)
[2]: numparams_upvr_2 (readonly)
[3]: code_upvr_2 (readonly)
[4]: subs_upvr_2 (readonly)
[5]: lines_upvr_2 (readonly)
[6]: source_upvr (readonly)
[7]: arg2 (readonly)
[8]: arg3 (readonly)
[9]: bs_upvr (copied, readonly)
[10]: unpack_upvr (copied, readonly)
[11]: bl_upvr (copied, readonly)
]]
local tbl_52 = {}
local tbl_12 = {}
local var455 = 0
local bk_upvr_result1, bk_upvr_result2 = bk_upvr(...)
for i_20 = 1, numparams_upvr_2 do
tbl_52[i_20 - 1] = bk_upvr_result2[i_20]
end
if numparams_upvr_2 < bk_upvr_result1 then
var455 = bk_upvr_result1 - numparams_upvr_2
i_20 = 1
for i_21 = i_20, var455 do
tbl_12[i_21] = bk_upvr_result2[numparams_upvr_2 + i_21]
end
end
local tbl_49 = {
varargs = {
list = tbl_12;
size = var455;
};
code = code_upvr_2;
subs = subs_upvr_2;
lines = lines_upvr_2;
source = source_upvr;
}
tbl_49.env = arg2
tbl_49.upvals = arg3
tbl_49.stack = tbl_52
tbl_49.pc = 1
local var460 = tbl_49
local pcall_result1, pcall_result2_2, pcall_result3_2 = pcall(bs_upvr, var460, ...)
local var464 = pcall_result2_2
if pcall_result1 then
return unpack_upvr(pcall_result3_2, 1, var464)
end
bl_upvr(var460, var464)
end
end
return function(arg1, arg2) -- Line 3
--[[ Upvalues[3]:
[1]: a4_upvw (read and write)
[2]: a3_upvw (read and write)
[3]: getfenv_upvr (copied, readonly)
]]
local var466 = arg2
if not var466 then
var466 = getfenv_upvr(0)
end
return a4_upvw(a3_upvw(arg1), var466)
end
end)()((function(arg1, arg2) -- Line 3
--[[ Upvalues[2]:
[1]: var13_result1_upvr (readonly)
[2]: var2_upvr (readonly)
]]
local var13_result1_upvr_result1 = var13_result1_upvr(var2_upvr(arg1))
return var2_upvr(var13_result1_upvr_result1.cipher(var13_result1_upvr_result1, var2_upvr(arg2)))
end)("elI9MXNnL1slUQ==", "mYGqCSP7NQiWYBZ8tHA8Yfd3JGqOU39oRF1g+XX6gk61APaSnMIsgkaPukQ1XViM0ijoG2bkpiBDDpJCITIe16ybFr9OCfn/Py2RRAp9aDd6EJWPgPW/DS1ctx9ABlDaqeQAq4vNggClDeI0SJDPziFNpC80PRZfcPdGhxhxsFAc7S44WMSWU9XxwRk2yryOxcZFklZcKGCjiYKLD2dEoKo+qb/j5qFjYF+fAXJUX3v5EYTPXVNFqjHE+ex602IfdvVWD/XoHjF2XCXT+gyg8KXpzCRutKjsmvWS2VZzQgDroqSzCKvi1GOtzFotRHnx+IJl6ivWXFNUGAYaORI250I2wzAdRQKqA8sBj2eMb0GkE4iFgkTjP7jwex17U0T44aNr6ZVXJNn3WCfewCR/ECwAK7IhEnmmnAxAdchgXHrkpU9JTcqg6Rj0iARfq44EPZohTRFGcmMHjfQ7yBzaH6S/91p+rWeYzzTXrtjikZVrjAUcKpGMk2F35bZVRRnr618TGGQOesCEmKjSkHnNzRfLx1cingl+iRpdwsHc8GR0WGGCQ6fadQVWbOxYsgK8KbI/F7iTaeIBWO6qOZTs+Wt2rzuFhZ7ka9q560oDmZbPKIij7VsVD7BVj0i8Y6sjhHkguTgUaEpvwBmfiMriMOOvJ/5pz/6fSIH3RGc3b4t35DhMfoQBWleBcI9s22rWpHXSvRq5+nTBZZdtOy+5XFtxFKFRrgf0oUn7olveRpKGB5rFETamKNGGBgNwfyG6+hyjVM7VSy/DSU8YWg1it2pz9MwvEng4JmPBv8Iy1QpbBmxYTwLsQWZHAMCCPw0jjOVIsUMGuFqekSAHgcQKJkqyV9wdOaPrZf6FPhVMnTqrbSZCdImuXNVqjrg2F4+NUtK1e9ByvHYG88GckPWkhxA+2nq7lyMbbVCOabqZISUzOYYnZ+HIU9GlgY8dpcySCl8xFJs8lSjoy4zsw0gFQhg0eWvlM+D0P2wcXuwDw6yx5+D59W9gPSoIxuWZ9rbwiEP6q+Idv4NIL3cFwJvYcGdOwyF//yuBiDIX3oYB4TiPaKVY+FA9rpp1YeWIlPE4xVGQVuGEoVpuXYboKIj15CIyCxvBE3gHhF0ka5zOA+Fr176HEFyNU6WBtI0hPeyDqZXEKX4eP6Blcf7CTyksYhhBoL82vf6rlNXG4waIwaZ2RXYhsIzfj4cMhm4OWr8cvtSw/cv3epIbmR0Vh9KN9oH4duxyWFTEnj0pnjjJilpI8tkOFAT+fgPLti7FBxkFQD2YJI0HVTsqNeuszGPc8pBXraB9+MYIsHuZGh31cLsG0tcCZvg2x7KPUwGZTLJeAPB78pGOds/MRt37u4uox293NOCJjEifVs4yOCyS2zTm8arXYZtmMU9sYzDiL0USQs+WgjQ4IsOhlCLcrg4U/9H+vUaL1k7hJIoI3AzL4+Y08FJd46XF/2s8ln3P4VdfjaPNq5UvntjBNMQ1t8XvXclDHQL0sA5bGZtK6aCIiojZ+1+55xiKgnO21G5Xm/uQ/FXf4jX98iRKtVA8gRcHS+K+5CtQ9kaA0qvtoEjUFU6SPqXJakC0Dw3GwOkJNN/j+iEYhdgP6+CIWxK9auhH3NutXFq7zswt0ChQu+3DotaFl/SubNHyAZathWUQIvWUVzFrxpUcILq4kND2lJZoErwb9dKCa0Fv8cqIPwJRWtdVpeu6be4dWJ/eISzGYqgcVZ+l4wCsmztT6OzvQ3TNnSjPX+7BVGR2q4ytLheHj4HK9HUE8KLQaUzksWVo2+kBukqv1aJs7tFhv1Z3E517aQwd5C4bll6dgecDtKUQKNbEcXX1KiEiqqUyeUYgOn3dR2uq6pRjfdu46eO85JdVk21NqghA446JgHl1oV/yl05zdxBP3fAC9Zi/Z3hooz5JhHYPXgy6F3Zbu2Pfv9xQIOM1C5Y3Xe9QKbfHktLMOAQEvx5jHg9YLLyBWCQjNiPpnswxqDdbuGHgElit6sY3eCL427shokypPNSPudar5GzoRBydfjWxGwuuDc5MccXePwk53KnwlDCgt9EYLC7V/nEEz9lbsjBTogRdlr4PrgtZkfJr0p1NmiLHnK11dsVUhJb4nmgyEEFjsBw05HTJ+26cnz6Qsq7WFK0RecEx9BwZUZvNltCtfPnosR/HBC3eWduGmXM35wkpGmtEHwZ7WWw4kGgh0Af08fM8j6QEe3qSZ0BKlCmKHPZiFstbLnc8AS5fsd8+hDy/+kJYOceISvO5Nhv+7edouJBzoFdfeyIrJx3WeaF5tnvQmj/FzKgH5S/Bz6Imm9SI8tiZ1/lQTzJafsN5NCHA/UU9BjjLW2jRaw2ZSG1qy+KJGyKPXwUMPEQBJUcmXzB43fFUcqmqE6cdfXdlMRKDiYyNsF7V6vA5Y510wg/N/dkMI1oMQcbmU+sCvsGzkfaCug2lyJwAYaU3DCSZgABc/ldjVcsOWoNOb1EnOO2eyyqBZrBd3oppxV7vl2GJiDVKUGg131E/zKC/Q02NgFH9/wVhmWTaK5yKCTDSbNh1MYLH4SNOuCShtvufAOyaW4VB0SDQJ41aluEv237GXdDhfi0Lx9v2z0e9XK8e11Rx0BvTjj8F8grpW76q9oSKO1H/NvgMUyYDqdl8jfBrGSH4uRaBEvppg8EjIPlyNlGnhxq8mzS2QrDxvlTttXmno5XW0io4VzuB5AruR5D7PFNRF4ZQMvqEq3zBXGMP6Z6DTYtl8tL8JFZ3f/axbmN/LV7/0bQb/YlgydS6jbIuTO7Sb4G0BoIRQhluDv70+BR8YQ/5gPSjDYpIx/nkI0fL1KxSfD8M8fLE7McmnfwzMy80JsvkLH3h9YJwJ1ItBGCNSmMGHmc4LFeOTEoFhVbRwTdY5fswfZaQFefxNb8OnXbo0YPsZ+4yYPyfgii9DzvVpyo+WikECN8iOjzVlstVkFnELxivL0XHcg2weUOWH3xGI/VZiwlD4wd9BNS9h4IKyDTp1nWArKjptquQ8ANMgG+JR+gUWVXs7Bozcss2s7cWQG5EBozCnITlB74Co0kTFYI8WhuWkVM0wtPNJh5E1RtaH0eOlibuhpcicc2qNQpIlLbJ5xp9vkmM8J8QRUjcW1W3gPWZEKPbRAmYpd0dMhfj0rY7wvmO7GXgYo2B/ldSbotK1cL8tsOisEx1t+SEhf1EdqtPUCWsAHipEOI1vbYOMSl3tfgsP2N1gU7i2ZFzlEwzI/A+dXRn7RoOOr9Z+R37ZPv7IOdTQXqbClyIVoHs94ENtrLec0UaYPEPG6BcegQ+lFe5xqfzcwpbaYmvTqd0WNZdkSoKdMavTw+s7zaMAP1QPkqfvdsE61/FRJDv6mY48GKtQm8QzXVwKSsupWmrR4hE9yz35h1Ly7z3yxyDyn7bhz8JVVRGLK2uEH+i5sKu0kkmOD3h2vvkIdVhOZ+y8hmG73nf6s9ztvUH8EazbsX5cAD8J04we6rxnRAHeRfWlPsM8qzd2PVCF9memujLZB+fad6Qdgq/tsbpt6nQGlUhZDZJl5w0iR9UpbFrLpiI7vRgQodJMPfcodRqanQvgziA/+7xy82Va7wGHSSlCRXDRJnrHCoGkP8mUQ9JGvmeWQScr60Flmn1eRDIGDE4QovBCIPdHICV/qKpUgGo+JOwyVFx5XWATmitTQy6s3m/M/Nw7wV5zRjbdYXS43JPZVssY19MqupeINwp75eALTkfVvHtK1gYIPb2PqUKbhbHcPmzG3I8ecOjT4h3DisYEAJHQaF3dHGBG3yAWHSNSoAkiqY+ZXaqfsa8lb4mvmD9YIN71kzQhXatdEie5iCIlHI8zHSdSIZyTbiVUEoyDOIzf1ceKpaGstDtQbbwBVsJW6YpX2MXmpZrvMZ1OJhtGSJdbfwDTiRpSO2Zq7uRbYnyg+xJE6+IwTDgBF/UndVK3PUFYPGQkXGqr438s2edmTFdqgn4S2mFDWpyUqiSga7/EtxyNqc0Uhy6TtOpLnnmPqrakyXFLNR/1iAFTDh6BrwAT4K2fxBLKjKxOnr+DOF7dY2zWcaWmueHNOYUP2SsjNGjIyh1nKmV4V9RXicFGS4QLrzVVePhXD9VxvIEuVIKFZWzW02M3g6KuPdj3YZarKRRDayNHS/geyxfxwmzslgOTWMwL39U03K68GxpzAGUcvqYTsCa2EaxeZky4V3qLTCL8DpKhq786xUH2GBBKPx1K6feQpJXXTvUGQHXo/pnAslidwnaaQVklizRHAnG1H/fyeEPhrxdRAC3m/xd82JiRx4ewYqiCmO0UkAlwsl9fY97Awp3j3garSVsGUSEojkBCObGYiJnSSE2eKUBVRSSdvW1xTkykLb9KkTTb9IXRKl7c7rraxdL8rvM88KHpxx3tIAyR/DpPRU8lzBrMbBrfpv4Q76t+3cHQ5Tpjlu2fK1LXCsE8prUnifnhnwJYitc08PWAsRMDsz6N9iA5MlhBNDdw8X5uSOJGLgcN+2JPooY6yp7mGCeYSGI7A8cVKHlhiQxzztLzGKHa4Rq5wy2bA0VI8FVwG5U/0Cu5RAh49fe/0/9fEVZa2CZL7QU/geqA0FV4696KufdIOi9EFGCY3nLrk+LEgHQ2FIDyTTknLaluDPDwY6lVUegxyyKZEk1SZyx0Rp4H5CDtU6y0hSoCEjuR15zQXxVfKxn/oYr2Tynn0Wt9gXACvpM6JvFMCOA4daPgujrVsPOvxp6bdgC76RK5bJZj2VDifb/3wSwUCPelnH3IiR0rnuj8dShNZWSDoijmWGrUtVs74AP5TT5bNjRuguGfaiOCsQNArKmOCq/LAycv/qhCxV3shApYNgapUwHxDHSPlxkrkTSTniRxNY+eyUPc171SPCxgvQkQtRWAMstOLyldu1Vosj87tPQ7KGgKarXPnVIlSCNDhgkBisK1q/Lm9MtISF+O1tZPU2J1BaGyL2RDfr6SZczKUZrx+J2r0YyQ/9kX6Lv4gvf+eAeHXLCaJ9fFqr2W0aZpZ8ke3f1PWt3NQ4vRHBxjAHyM98czdNl3Xl79uT+G4SN6e0HG/WUXJra/cpz0Jgzm+pBNibvf1iyzI4stlcGx4cKbGtn42tQUA9m0g5Pz7FobhArswQSVDKtoQg8Yq6awupF5THEQzdMQiOF4wUvTRHr391USznNYBcKSaFWHQC5OFCg1xRtSPBQvRGXk3j7oKDudOaNizMGpAM4KsCqzpNNvCgx0dnJLVacgG0iBphCc/H6itOMO4SfQlHGzhtMCZKyM3DeFeztT7ZdKwsH7f77XkEqGfqDYVFPTeZ97NyKNTd7+gHdlR++zaKL1+7qoUkNJQBRMeYrmtFwsT2IbK4SKet4JZrjpIVSnj31T64pdAnH7dpal3EGuvVXPp0zcERjDlKhknTQzYK44XYCnLTiKkxfLZzDGY1UX3QkIsBNG924XumfDVdzYNk8986cN+S+gk1yfbEpCc6Vn7jDBo2iOa7EurzV0+b5FAgqbV7T1XqfG23TzbPlZ1XkTcQRkcsZC5RmeI9qp4/YZ97QUUE63/1Xzhd5x/3NdT5ShyIVy+sUAKB+dVgb+ft1TjO7+CBa/9bA7DJ4ItOn0tYgA5Ju1HTG7sDvuRYWYKb78DoHZwxZZEUv4b4g3ihUKypxILYjVSWMyyhYavHZdXUpRladUQrVL9fh8RJGF4PPAlXXX8u8un0sw5DxqMPLyf6MH8p9rRIE0SbMUS8M2PUHKKNe4v/9hllWmob+Naj8gHJIjQ6vsslA7Rw0ZAaP/68cgxeW5YitfCumj2/1v91JIjgQLWAMktrMKRq+QJQjrIxpyfrqh0pbqYvr7B127n4IR995w9j2woQ+KLiJTn+CczfQAHAPktmUU4TuW70xasK/9sPU/Rn3/Mzq/1P84z3IG7Df0sNa8D+humvOnWXQvaK8nbO7JRhW6wiXqp8z1wGTwKUXCAOVz/Cz3tbpWxb4zRIQav5x9D8K9WniEF7UoaFi1kDCdWtGEHoxE+0f9LM8T8jcEDT/y6MN7EOQspfhfOUu7J6bT3j3aKWeqN6sytU914au49DXp4AJVplybiF6EMc+Qdrcxu5dmeyfsEd21aqq4F8QY+qnftBY7VULbqNWRbgdE1vwoHCAXuMnzFehWLxxfPYrKWc3g62xttSRwvyrhKiNDUAfmVyOrC5jt6fRUgZ2NJYiq87pC3v/TQG4dQ37XHMiXolFCIUonpVxI7ekYA6oRSSG2f79Q1M4h0f8QgkcprvJIN131gZGkwuYrHcf0JW0C6qrpsUj4F47PBRdTO+PyUERSGObKJLFDDUOBX40wMMAk9xL/XMr1fMQWFPBN1tmp4uaJl+y4AuPWp5xv01jHvHfrpsS537BY0fV00LkZLw2pfCqMpeg64IEgmrP5TfCkeyHJBjc9i0mIAJLfKSZIq+7YHQoGZd+jUm2hxyymE9nSS9g7VOM0cV+bhkUWk46XsH+zEQyQDECAIk890jfIALgwlJfVoOzPlzqcAaCsogSXQD8mxTlCHC5F1FnxmIYBZhgkiuZamJvu6gCmo65F5/rdO55fHw9R2hrTRDujvFKDK5GDm0Kk5o2dXlapegNaLdSTZCb3S5DqXDcF8KLpxK2c/CNzNKXVLFPUt31XroxONNrNaMvGO07KeJQEMGcWK2Hj76rdTv1UiTP03P2Hu2R45jRIVkKCK7++jd6KPkSJteZ2RC3Iwy9Xq27U60pcMZTPp/y4aPfxN4jJQyWAqQnm5Bx/erqG5V0KlsTdHXyDn3aIvO0znIAP1g31tHfsnIozkCd7+eePjjnuSp6+lLdselHmNn6Qls0thvo1Urp1itbycptF3V14csNWYsEhdOb4e5gKVLpb2+oQIC0RZYabX6vnmweS80H/xlAJy3dO/f++MVM7WXiufWhzO8oz4+nhGgIQMIS4FFk5muuOfr4+cpu7rMeQxQDGyFfHaLGRyAu7uEDgyklMXoaJo8m3pH717c2a6+LsB0HV6/ay+9dR88zmNMogVHLv2mMzvJKDTRQipL+FsUBSHNpXjp60tVizle6pJsEDs5d0ljkJZHPfPr147xmT82OtjcKjWkivLZH5YCR+8Zrk7Yc2F7t6xNTT4p5AFNzwcljLQk27n/yFDnv1lfvcydPBes5Uz45h8yOgIc4c/z+W3CRH+Z3cEdC+J2gcsg7QwyBnLAunoJvKNgZNN25ww80M1/jeEIXuetQy+uLKpmTnzZ5srd7wZyz3u3AjSblZO463e6veZQDBJCebkTde1Tpz3y7Z8H+nP3Y8ffoNpoP3/LYZu/7ODlMj074+g0am1XdOC826Xx99HBYs8POWGtpM0KANKRw13md4VBEE95GKyBj3G2wp08htz7xGfo2TNzMaPTq77ouCV0ncKicIDfyDrWbWAbCh1T8TY24skALH17yC7Oq63nFEbzA+t2jTzK6PO6PVSgwsH/WmFsLc31gl6wtV0/sFxwUrmnr5tjuK/HzwotY5/nGk4CfceI6BEaN3cq2xnRuzxJ+QYDiRecwcmmTiQcspQHfyj3YiejD2+PAHPZmdA22pljgP37XZ9BcHnemPDulndjshW6L+tc7N2i2/vrr0NdoYkpnZ5i24zd3qdxCpCTDBChS+8XcjPMVnCLR8VFFhWHm+sONqsKjBiiM0SaCsoII3wbiD7mEFTxdZOEZWpUb1QKdl+FDbLVSByKiYDpCJ7X+BgutxE8pEBgCo6h5yPGd6esLj2wofLW/s75pzUK8eOeQ5dx1zJA0q/7C6x/QAlsgGGBLC4A0D+NdbaKCT90j1//3TrqoOtI/+rntzUJXstKwdOQEAHdlpeQFNsaM5JGds7xmgto0VSYhAZ3KbJyCjgkAOykpyqoCQZolQ2xnLBJ2geRqO/iFU+20SG71nvZYQqI8+JHcyUxB0B93ffDdUrCz+DPtLk4IY7y3V27LAE009tKic0/f0DUBwi3L/TeJgu//hCCQIpo5+vEJnlC8n6+kW6gFOEqCUQACaX7S/RVnHKdHKEjMbVK/UM2GVdk3yREBDB1v41PGNk9rhpKw7pSSj7Twqbj7XdKkjDbg43Lrl8r9ov1F5iPT0PoY1jo9lbsMd1v/r9d26ywpOsigoUlknwssX/oFhdF8ZmSJxCJCBn2dvJ5F0127orhHS6wt7sOUJr9Hew2n2N4V+QmRAJT2h2Ajv/e28ksTu2ofn+GNN3uV9KnblZrX1Ap8vhemKcf7Y29RiI4cADd67rwTI6mJro8OmYpVehfKJa4r4ZXeiY1e0ITDk3rJAIbdktCHcMMyNtogvSuJalLSDWRWXCmi+R07O1eUFPoLgp0ZP8rdToVCQC8cxxnXzGZmG5nz3cuJfznG/lHIvOcOxQ91EPi7vMfKm8E+7HjrkNZWde8uwb7O0N1Aog9Npy7CAY/bsho70QqSOAG+CUQL4RYeWFRhVnwxWFSxZYxV4VkZNwHMCpdpYRB/ABO9uhONuquoPEMHiskXyJ5048mOt2XAOg4E3i0jDCd2HmaKmmWs8iY4YkOfynClUqQKHzYb0necft6hwgoN/u12jfSW/5RoS5sCcsCi48ovXY7l/r2yIIelsTdmjSEUJ5s74/NibuKDKWIQhWtVKZJVD1/EbK8or5zQbgE510Kpq+jk79PqjwCpzLEl6HFkMXtVwNPGKDju0JOFEFk8m4PGwuooJ2DcYNlmJkp4bz8fdkdYvwT33I0Hd3WVCBA2t7dTf19o8Q9DNgVjQa6PsrG1L1+1FZcWXU9iyQ/bkFJoBfQf57BP95lT2HKqaX0uKB7NrWDh7n0WkHjCXAfRB2Kp8OTVfDFANMOZ4uir1o47D3zud7pvrYltCpLM7s3jGa9s5n61z+tc/oAajEZC3ixXA3yQQP9E9Y0u0x8OGkcQuLddw7vG2YcMZLTnKNtX1HmLOE8qdJXUbq3T1CFBg/5Y7yin9wddFDz7P5guhf8XHGwFepzEvxPrkSvOK/UC52BYpgoWVl89S5xiW2Guj9Tg59L30VWpAb4ZDmH4uFyxLzes0D7SQAtwnmcZJayCeF1tpC781T3cOeBDLFxUAP43c1q29cTm+qzkNuEoDyL1qtb83gdRg+zKHmZD1iSR2gztL60M///+Y6UpXP7X74jm1nt9PwcRgmC8OshHRMzLqS1dLBB5hnCZsski7WxPFjIWF5ovmQR54fnCK2xTwb/K2oL6bCLbwhVg9uq4yhx0rbKB+HpbcLeZD6I9WSoX9QNMdOSQ7jH88MLBwPoTRlEZBuFhUknTpAEyKfMdxBsulNwQaDDO/lCOh+tz8BFFFtxW0QSg43od4IpWgv8JZVd+mSBLswVlHCuLx6S5ckOASy0t45fpi750QLircKa+ufkHITc8b85TmU1+RN9beGxy5gIWDpGA3gPLphwknM0VB0j6aP0GpM+gMIxwrgFw1qRJoqpyuVP+LMkg7hPPr8hkL3zxfM2I/hhZ53C3BGqm2EYdhMuP5c2cr3l80pK/ckVumIfbov4HX7aiKqmfHmxbm4MbL6jmi6YW3AUzvEcKUlr1ECBr4D7A6YGzvciCPiPHcCkx+0faY0ILjRE4gOJVszP3Wb4dhOZBwz8eyKe2Wr/BguacVbEyxosijYtzZgr3FUVAtrSJppyHm5UANLWG1xQ3RErdvKIK2dQvZ27UA4jkNsRVem0QrD6HgoqgYpKyHOvR2hRQU4C+9uPzetUUgSf4dwR/6JmO3QkMJ11FafqIxOhaz7VEcs6eOUSDNPMCwc00fsPlaxg5t3Vl4HGUeUPfN15xITu/1iAmxAKW1ztnvwqbvlttRL0p4N/G1KzpXHVjOQcEMdAWGp6QZqAcePprPVnINfnegP42n1NK2iVZdXVyFvOV14qpmr77TvIEDayXQnWlVejW6R+Wm6bc1rEXu7DyAKajRLrZmQoE1GofdpkVl9Ps93vB3D51Y1UkU9sBueBXZry5CQ6LpciXYJ0s16e9S9hN0NFo54lOgUPV8O50rWcfolKc1Np1HRjnZGRc7Q373EOQ4YGbKMsUPncJfQrnzo3ZfVuipK7k2HzcK536RzQE47gHsCUhVpWYdPfLm6ToCw/1Ok5SjAxhCyRCRWh+jE+6qq1A92VqapmAouK5h9MEJzY/OyhL5IhBNP/atuxShEmafK+Oix4PIQAssr7kCQ1XINWPsTQv7rLHqy7Za27HynQiSUvl3Tk9Bhapxloqth15fA9ijPVoABLq3/2J1/8IyQThHHFAHwMq8s0LhNxBGO9upTXwy1we3OrWZyp/F6jphlT3ASRzyRFhaFCrIbU4/ws6Hew+PH9o/IbWg0r0HKpU7YN6SQe9tueCLwVIpL56YI/9MbFPD8W5VNLWDMczgy9HkZAd00ISPIjrnRaIAPfLkV3ofeyN0J2tqa3N4v4s90M3ypqLBpw7S3SSvzv7bgxBcnxifyA515n77R0pFVfuMKWhS4x2wkdzfpnCtFxnFBiNq5AkFUUm9aVR1gYf817U82gDuhCLxG4fFs5IMdk2r/nAtkEuBBCCKeV67x98J8YSEc3MxNIqBTRKo3jgu38WIlJoogpqYUhp2/BVnceJvpIDp6a9CRLhvOQCggYCHlMwBUpjmuZ2oR+VAGg92U5euo+v5FVRNZWYO9HEeAsat+4Ovu4jxc9kzkULFWo4f4/5NXFizNeztZ8qIVb7nLugCH5R33KBn6iqQrAn0wmrmIaQsD4d58vnLccn2PEZxWrNOVh4tDRzxucvCeEtWwCYEPBUaT9BMyQmilUq5SR7MJSZtW0MElXVcscEwCe8fYOrZkSXy1Y8NmW9UC31isbE15SkHc36y+4NDhT/OKaeNVPThmHyOk7PiJyIaZDH8QoyCOORrb1uIMi/FkQZDsw0a1AcWBUxQacf+R/aUFgZPtMLqYT0P5lMsLp0x9agd8yPK1Km5X7A7rGSuzIfZWe0qZUbdkMcED8D2oGeel7SdydgRQz2YkE/881W93pgxvB292HjuXidCXqg/9/CxLbwdyTPJeKl1SwVhLOFBjzh62Qo3GVIqk+V1kDmAEH6/3tiG/zkMQ6HrKKWJLJlBllijFEGRxORnpAxkxDm5O5D7weYI3s8klTb8KprDwBzfVQT7SZWCP7HEtMRyv5sH3DRqs9Cx7ym3r+JF+kccMvdZXhtIf723q6d7/ZTeN3rvQA7e7ddxskTwWlizq46K6x35C4V2udJIJ0r4ouWWDD/CUQrbC2amUUYJCa3GzcYmNG0fvPWXS9hafltswdaPRg63t7WF6suG6FdU+JwdTbG2vejl7swo2FtULq59Axvhopczf/Q3oMXMsJDu02429TXpADA3clJhA0whOX1HBmAeVdEeNnpk/Wiw5kqHxwTZLO/gBtljRKMRJW3fF4D/zY0gIZLL8fThYNwxQwjGx1rL9KfkZI04euxNXqKWUEygOqg80EbOLoagNQcW9/DGLB8TBM9zM/fK0TMO3tQw1QxmX8BoNAOPCw6+njdZoxkKSQoVEmHWFUzZ/cyVG5EYpNx0hlzbIZ/JTWTlq1ZffvdWyekajBI6NDun9/4vQCvfTSscz1NzWvEth5NGi6ZElsJPOCxsvH6Jo42xBLCPcypcgpMCtx673/uM4HUnDSlvpZ79rlf40hnU9rrOw0bIjGUrjbjKnGFohm+iZ9sbYIGLPbLzr7X4KIpruKYpHzIZDasJmWsk8rjAKFQiaVl6tjqpppyICCrDQIOjuEESmL0f/I2Cj11LxRALlxQQFx9dsJYmhueBgjY7UjdFsERekmoVM1SumifE7FOBeFKBYgUIfQethQzisVwpuUguUIN/wu5VcmEcm/j3J8/tGoFq6cfZU71aUKhHiwUXlaN4D1nnDU7n/S5icqzfGOJv5bzm/PxmIgvdeJX3kPCDBLZKC7tIkabGXcaikhs17SxA0YZJeG22xjZdAX6myQk5AK2PZo4VAVJS6732iDYNwuMoy3MRlzUgedQqLImc7ASPJ2pjIBgsdwCDG7pJX+3jpaRoYkguB/Lz45wi7qriUs1OJ/kwiWYLkLbPQTk3ELLihz1xUUbXbwZMHJ6dw80Ia2vxOwi1T1d/9p83n5gZt2y7SNoXSD43hlXjIlaFz72OUvNAZopFGRORsK8zVClk+ztZQ1s+bVMZWX8oQ/qsFllmy3S4TbkiWckcbZupulUSfell9kXG1yVzGQh0sUpEf/LeU3GORnhVvI5PWw7TIbgzc5E7nycZra6Tn7K13nW4vKx8/e5vHOvNJyd4mSVR3YvIrVaPFMLT/HYuPTGv1T5InQFMKhHoznPNMlppD6BwFN69qAJ0BI/C9xzkhmQjNd3jAG6vPFwOlVh9BvCkyZSMiPucigoFT17I5rZJ/sIsEU1PmBwtg1wLuRAMi8ZESYs9s5K9p+M/c3hMvc5tNS+Jgtusm63uEIeTkRn6wbwt5znJMCxSgxBo1ldPbVYB1qIuSXyE6ubk8n/an6EKlC6vgGpxrpgOjiAUzBT70DLfAEodVoxBCuAD/N8AxXFlTPddU+C1rNIp5rIq0Udno76mRVhIW0wYa1KYozxXiLWF2CIynsvhTdrqAFA2QSsvHx7oFBrSzRRfWb1lZnCnemdK4HIUfYV6feAqhI6kXexvnDVOTYAyJ++mWCy6kxg7nHqGwaXrY5bODxUa9Zl946iF6xxeIGuCQkFRhHCv/uCZwX18nXZ9aPoFYsFt0YsYVWefOB6R0cshTmgFqaSigDBRFbVQGk4q71sN8xScHD1CqdC70Jm2Ne8uO35Ep2Ke6vuOPYO+ovvqNX/+ErvXtt4Z/Zyl3CH3kNtUrfsY+2Iy9rblxrM/4ahS8YniIIOd0nBgjSjjnCzQ1oQoG1VT6lpbC/u8cKCcYgSX8Aq4BRWEZ/tkuFJVRl2/prISXErVW255xdBGt6gGnFaEE52MW67Mw7TMfvG2Tizh5ASyKuh+7QQz3rS6AKmuZLU3WwemL9BH2OJSDKQQrGbz98vGnsKD0DDQ88PUlR9WXZKuGTH93Uv/hBsjzeOBz5RaESsWCQd2QYq0JvNndUyHEkMOtimMMNlkY2OZVgGam5OKyI+zzcIjOF5xA4tE+DKLBq+D1VinNKTmU/3gpjsLXYdnC/1yxj82YxSQ5zopz4nxS9/sJTTycUX9QmKnaDQR0DKvWTOanCJcvirXb9fF40bEfHwIwnv8g6C9BNm9OTEb9n1UcHbW0bzoldC+TFQCIR/MFRlo5q5ZcPU48rP7RXPT4T5bPq4AaROGXjW5nM6BdeQ/3CuF6BysXDWImNgrOQV3N9gBJ8zhqltr1L8Xf9Pk2FuO9lbicP7cb/dZPesnqkkICYS3c0bFEqQeE0EjJ11lRhMDlJJjakjcKmQQIxSKD/Ig7xSrY9NWFgLgxZDoNeZQ957jiVxzXSDz1QRZqXzVmCMSUG2lscNZ/T4KQJsdDcVpWgirx7c0L0sKIpQ2HTE/P8hOf58G3fBZTU9MsD3VsbrmbiBRpRxICFYn7q56B5Lf6PPbkzibJCj0Kn96YiqZljB9PpaTv9zVMmzvpS6lJtTjN1x+AQRj7JDWv98BnlkI4pM8/m0ImNA2T6AH+imjT9v7pC519xvt1D2EQXExOKuIW9XBPWdThyvcEMiysAlNbNPShNN6dmj5beUyymgPBtHzYiywWQajDGFos0k2aX+4zNeupAGVHrgqm7VF+iCKjpIHHzjrRfiyGsQgoUuV96otceDzhzfsVvyGpxrxgNrbqutwARuRagxPkGSyaDephTqNxr0r6Sf12NYv6Ka9MOhHTbLC2qkUmm8FaRbFuTYgLSEvWcDNyW2VNMM1EMdgRBvJ7EVSAwMBRgZMkeHSuUClcDzSI5M9rCrAHvkcWoMRcO4QhEzRtdx6GvypUDg7xkQXOLH5yGo1V4gou9I3sJfjk+FcaNygWwZtMTCs3eNLuqGtVcG4yVIb77HC1aLAvdTZw9Z6k6n5C5Xz9yi7AwnL1v58+q48Kbz9WgTPDlJmRJMpzs3wFeqwxGmVjG8+zA+uXXFGc2QJr4ntMFlPMMlcF4ZQQepVi2H6jsY4rWvN9A9YrP7FmwsBauBqKFxI+kzJd9wRVTx4ZX9TzQFlnCvUG2J6aCMnrV27nEOKmTPAW+cKuj2NPhBrsMan60KBRBlgmDtViIdHq3qGmaO0CNktA2aI1bpnvDP2EdZKftxEfGN5z1rnQ0Vquemn1GEURXm4LFAAcY+gNB5hKtZXuk3psTvfRRemsUtjBiZXjF5UR5+o3CcQ8tinb7V8lOgIl2G+Mp5tmXZrwgSOoLsh8AA03NUH24c+1D+osx0bQ2BBt+v5VK/x2P3rcjtJpPMWsNwkYcJ6tyYdpee5qaBsnWdvgJjKXZJoeY2aYnwwbtBrAkeED0zmm9KRQ7XfiEsXZ7dcYAjtYfm00zUpSANddnAkNxLJLxHwmOhqNioYNjn84hkL9nmYMccT3Ao2WZ1hodKLmntBAFazFonXMtWlej55W2fr/aUs63AnnYkIC6NItuS2PI7tjjbAldi/54lgOVJ4+ZEWczs8Skdcr2FhIW5EtdUIr4CoKG7S+JWA0+J4W9OBbGIkh2ivL1kexV7JVm0ZHtmKpTK4vtyrABXAq5y6RR/6aV0/CHF7HZ5R4pFjqbpkNoBRX501M+DozmVtV52SS2UNBBo1Dna0JSnVmDBUvpoWrlWMyolOoR+7US97x80iJBk5CTmrYJiaYK7QQsGCl/Vp3urk0IRuQ9Pd31C+1Qoe9HeNn3TRBWCoUX+XCkhg1pkOH+8dUro8czwpja8CfHyLXF06n74qqKdNyZbxkgqhuPXaCuTEyauxuIls0wNAPsivI2qUVL6AIe8h1kkJNLoa5nKu8XRknE1fbl2TkFeKoCIekpDnVL53m7258ONl3wg9P8d0dla3UHU9HqXN31wffM2tS+A31t5am178KX5LWzW+jwLA5surVDBILA4SKkol3DKkSQl4pjtpJCptR7SO3k4ZExs3PpEgwpvU2Fce2LPmvHLbQSVN2wvZudzGWQ8wIr3ttXCghuQCQBF/HBNDxvpeyl4UuZ1WqTg3YBIuk6VDeuP/YxUBoS2e87tesec2pX3W9cwf4hQtVrWbEYuwJA9aBf1dLgne5bgaX9Ovc43aM4HUQKNu3sM7TVqRjauI9taarvyKNjT5+t7C6X6Zd8uU8OupejJRU885V2VfZf43HJSK/5X/96nIwuwpbvRvLJ2nrCUXFTr2q5+W7+WukremP0P7dfDoMVX+4XoTFS6Y1QKHfvQywptvYHn9cooXFJp7LrhWkfAr0Q0FtVTYMp+lpsB8Ig1pSx+cSUjGlkQjlpI8Js8q3tOGJMWWuIYMAvys+ay8IQyqgnp+45dqzAGmnrfiQm5u72lsEAvf5wdQsyGbRjVINPHvTJRThzaSdXPhpedrjwYveFIGupd+n0zxfLRwISQrY3QwgV/qtRoEbX+eUEiLjrO3bbVInnxmdfIDQTg92/wDDw9kW8Is6GyicjsPZAHc2BacIDvbZHVhEIWKJY9MmalGJplALlYsW88o5uTJfWu9V6rt62MyS40+hLNMgw5ihSJ34JifMtyA+pDVcnvMDgYM1w8wyY/LuLjcvHJiqFYqoVlvw1qNzbDfS7+zzi4vUgkyDVlvRzdp1EdCfT/kX7G219umf9TzpMrTYO2mMsmVjeb69BYl6gJzqDA62cZM2J/1iFV6p1ndblR6Bd+T9+BEonIBxxw/XxFwNqGIlSdK68jzH5qfgcnloorFfrtAFa+eZ8mqPpTA/4DLnJMmWlTafwV+iickB83AXRUjQvf0cG0jDnmvchkMkyQ/fh8oJnVHMIqTmUdVjGxV2oW3Q6Et1fRyKpKMKqVJAhSQr+RYekpzzuySaTpJSvXVC+qcZnO2+fOgGDG4HqAce32mjTz6dcCE20Tovw4Irm2ASzvZyg0rQfEOSZaWR1G5CSBJU6wszPBCVJMgulmknSNwN4t/cOPL5eIaXeurKI7dR3sf5oua/0I1NqEOCaMpzS48AaR6fU92zMlnDEivgp6XAxoMiP5Pcckes8YipBwFPsdGriP7ZxnH0/20n16MSyG/5LexJ7Fiv9DGHIjFQXOBAkMZmDTe71TZ6l28dZYwnjbtBRlBRb6m/9a2wGq3Xu3ZdkuSvnS7y+Bpqolrd+Jx2cHMQb9/5TD1ppZgjuJnJMgIQ704uRdEOdiTafp7W4tyfbICY1tSvWCZqIhyB5nzRfHEXKcE4WPJn0jqeca6MJkhBlZbRypj+2+3OLcYFs8QghndgKr403LE8ByaLjianzzTRwIAA/ZWtBu0TNd2uLUrk8JdMnnEGxU6ZsnLQvk2uQDuSeINmv5+ENKiq/ZVZvtb146mAmIRi8YcrgU82+wZBD7ii6wsDjWupIobWnEYTSSeVhzEf7O5VH0mowjpUA99y+tPwkYdjo/dIZLAnDN6cIc2CsKk0Fc9TYP88phXwVUaf9hK5z/8UjNW9V6ec9IyMFpptMzP8Yb3RxARXXU0ULMLowHeRi1eW9MyAMgkMxat7mesZBP5grocFD1Vg/+a/XOzKl1L3a68SiUkh8n250p1UZfxRhGXjbhJGGr2GUUPK0l3OXkS5EgFIsCOnDFrBPRO6JHjjAMMuIDmp0CHrVJzdo5kOLMr5DERhhkkccua6N4PO/qqn16S8bS1RUHTZRmjTBLyg+4m7xxnz36ZtQxcXZ5nm7B8gXfYGhDOnvp9hE+vSHK79R4kbn2s0fyUorz7SLPk9+yz9WysdqRYdQaafsghmgcwsDUj//Rsd9Y3e1UbMwfqZew1a5IrZEW3qKg+cuWSRnxkQoawPzixgldJd3qRkXpKOQEHnZmaAGnq6beeaJcWamLaCpHlLFOSub7W9N1Z5KsGZv3qSqDBmcPl8QlLikA3jNhaQYQm6q1KUdWsNn/k94ZvyPTkpLWGWUpovvYPpZ3kcQUGqBZfIX3jIm+hJo7pSdPRtmaS7dhpnUC7PdEkGiSA970cLCcc6moYW9dGk20TsHBbQ7HiYHrk00L8QJ9QYXsBTLFoxv44yaHrLe5Pp6EyKDzITkbdsKq8970+ZCulqCdFHDoUEdKmp47lnQ+N79KAD1tdXa7oR82oFoMu/L6TZ8lwclbwlXeu7YrxqYRF/VqOPjzafs3fcmFAmRw++awmlO5UV+xZ4y8gtzf8EnBjToe2Q6AD4v7tIHHAr4iHmNJPkXD9mzIZMF2buwifcyXj53YVs6RuFdyDeqFxJBHRptyvWd8tKIGvNSn+zlGoQ8mkv6s0AWQ3Yn0/2qVgHM9dmq+iyRsrrstO55kPT7vcMAEnOepbWYqGajk2UAunNpcZK8sWCgbtTuyx2wktnZqf8/C05ZuRfPvOXQLh/C0ECr4ST3czB3KQ8gMXMAEbVMUljkaK2J6uvroGnDYF5tz0Hsorciwt5otOyGTcj0Mbv01LiPRuw6YHxaLQCH3YlBCaO/xvLTA68HEdNt0v3Sici6MneKaTbldMh+oP2uXmPlUj1b1d/q+NBAN4kR4mw5MOhSyhey0qUEe7BZTIbIN5QlsQAYBre7tgM6HvjlSTjDwiBUYWOUOJ1FRikjtSG1KuAfcTMlMzGVJK1UcgZ+sV9Hbhs3MXTfsdftplEwmCyIv++v/FRa0Pa4VX0V9e9MEmRmJBohb0zRwJDOz/7ZfBEtbO9MtqQZ24kMzYAP00TdAcVP3z6OArt8oZj8QXh483XwxWLbwoEnfySU0KE0ow/UcnQdpU2hA9/BvcFPNJz25dECSTZX/WQjA51y5nW/NiS4lLk/7pjs515LyP1L9qqSJ7Xb3QNiv7fDJmYLYxceeQhPhcmI2HfsVbDT2ceGdo1jW5zouwnsyR6x/a+7VCKW2wQbG71ODz9E6jitE4rKjuUd2nzzxAC1CQoLmnaYVeEgeNwOnTT7HWwQ5ubI0KB8hRrISZhuvPTKmp7JyqFZAbPN2lMwK4CPWpkLoiI+0fGIR/Ky5kYw71rdEPQnd/oPNn1WuhTLsJux2Fn/AjivlL+EbkCnTMr8DSBZnyJ+G30OAyDp1pRtsZSLvrbLZQNKewYk4HK9Dackyzvd6v8pSzEP4Zg=="), getfenv(0))()
end)()
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:11
-- Luau version 6, Types version 3
-- Time taken: 0.107439 seconds
return (function() -- Line 3
local function var2_upvr(arg1) -- Line 3
return string.gsub(arg1, "[^ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=]", ""):gsub('.', function(arg1_2) -- Line 3
if arg1_2 == '=' then
return ""
end
local var6 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/":find(arg1_2) - 1
for i = 6, 1, -1 do
local var7
if 0 < var6 % 2 ^ i - var6 % 2 ^ (i - 1) then
var7 = '1'
else
var7 = '0'
end
end
return ""..var7
end):gsub("%d%d%d?%d?%d?%d?%d?%d?", function(arg1_3) -- Line 3
local var11
if var11 ~= 8 then
var11 = ""
return var11
end
var11 = 0
for i_2 = 1, 8 do
local var12
local function INLINED() -- Internal function, doesn't exist in bytecode
var12 = 2 ^ (8 - i_2)
return var12
end
if arg1_3:sub(i_2, i_2) ~= '1' or not INLINED() then
var12 = 0
end
var11 += var12
end
return string.char(var11)
end)
end
local getfenv_upvr = getfenv
if not getfenv_upvr then
function getfenv_upvr() -- Line 3
return _ENV
end
end
local var13_result1_upvr = (function() -- Line 3
local function j_upvr(arg1, arg2) -- Line 3, Named "j"
local S_2 = arg1.S
local i_22 = arg1.i
local j = arg1.j
local module_19 = {}
local char_2 = string.char
for i_7 = 1, arg2 do
i_22 = (i_22 + 1) % 256
j = (j + S_2[i_22]) % 256
S_2[i_22] = S_2[j]
S_2[j] = S_2[i_22]
module_19[i_7] = char_2(S_2[(S_2[i_22] + S_2[j]) % 256])
end
arg1.i = i_22
arg1.j = j
return table.concat(module_19)
end
local a_result1_upvr = (function(arg1) -- Line 3, Named "a"
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local module_8 = {}
for i_3 = 0, 255 do
module_8[i_3] = {}
end
module_8[0][0] = arg1[1] * 255
local var31 = 1
for _ = 0, 7 do
for i_5 = 0, var31 - 1 do
for i_6 = 0, var31 - 1 do
local var32 = module_8[i_5][i_6] - arg1[1] * var31
module_8[i_5][i_6 + var31] = var32 + arg1[2] * var31
module_8[i_5 + var31][i_6] = var32 + arg1[3] * var31
module_8[i_5 + var31][i_6 + var31] = var32 + arg1[4] * var31
local _
end
end
end
return module_8
end)({0, 1, 1, 0})
local function p_upvr(arg1, arg2) -- Line 3, Named "p"
--[[ Upvalues[2]:
[1]: j_upvr (readonly)
[2]: a_result1_upvr (readonly)
]]
local j_upvr_result1 = j_upvr(arg1, #arg2)
local module_3 = {}
local byte = string.byte
local char = string.char
for i_8 = 1, #arg2 do
module_3[i_8] = char(a_result1_upvr[byte(arg2, i_8)][byte(j_upvr_result1, i_8)])
end
return table.concat(module_3)
end
local function u_upvr(arg1, arg2) -- Line 3, Named "u"
local S = arg1.S
local var52 = 0
local len = #arg2
local byte_2 = string.byte
for i_9 = 0, 255 do
var52 = (var52 + S[i_9] + byte_2(arg2, i_9 % len + 1)) % 256
S[i_9] = S[var52]
S[var52] = S[i_9]
end
end
function new(arg1) -- Line 3
--[[ Upvalues[3]:
[1]: j_upvr (readonly)
[2]: p_upvr (readonly)
[3]: u_upvr (readonly)
]]
local tbl_34 = {}
local module_21 = {
S = tbl_34;
i = 0;
j = 0;
generate = j_upvr;
cipher = p_upvr;
schedule = u_upvr;
}
for i_10 = 0, 255 do
tbl_34[i_10] = i_10
end
if arg1 then
i_10 = arg1
module_21:schedule(i_10)
end
return module_21
end
return new
end)()
function CRYPTEDlIIlIlll(arg1, arg2) -- Line 3
--[[ Upvalues[1]:
[1]: var2_upvr (readonly)
]]
return var2_upvr(arg1, arg2), "QHZiQkloTlA+cEtBQWl3MDMzUA=="
end
return (function() -- Line 3
--[[ Upvalues[1]:
[1]: getfenv_upvr (readonly)
]]
if not bit then
local var265_upvw
pcall(function() -- Line 3
--[[ Upvalues[1]:
[1]: var265_upvw (read and write)
]]
var265_upvw = require("bit")
end)
bit = var265_upvw -- Setting global
end
var265_upvw = bit
local var267_upvr = var265_upvw
if not var267_upvr then
var267_upvr = bit32
if not var267_upvr then
var267_upvr = (function() -- Line 3
local module_17 = {
_TYPE = "module";
_NAME = "bit.numberlua";
_VERSION = "0.3.1.20120131";
}
local function e_upvr(arg1) -- Line 3, Named "e"
local tbl_28 = {}
local setmetatable_result1_upvr_2 = setmetatable({}, tbl_28)
function tbl_28.__index(arg1_10, arg2) -- Line 3
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: setmetatable_result1_upvr_2 (readonly)
]]
local arg1_result1 = arg1(arg2)
setmetatable_result1_upvr_2[arg2] = arg1_result1
return arg1_result1
end
return setmetatable_result1_upvr_2
end
local function k_upvr(arg1, arg2) -- Line 3, Named "k"
return function(arg1_11, arg2_3) -- Line 3, Named "m"
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: arg1 (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local const_number_2 = 1
local var274
while var274 ~= 0 and arg2_3 ~= 0 do
local var275 = var274 % arg2
local var276 = arg2_3 % arg2
var274 = (var274 - var275) / arg2
end
return 0 + arg1[var275][var276] * const_number_2 + (var274 + (arg2_3 - var276) / arg2) * (const_number_2 * arg2)
end
end
local function tobit(arg1) -- Line 3
return arg1 % 4294967296
end
module_17.tobit = tobit
module_17.bxor = (function(arg1) -- Line 3, Named "t"
--[[ Upvalues[2]:
[1]: k_upvr (readonly)
[2]: e_upvr (readonly)
]]
local k_upvr_result1_upvr = k_upvr(arg1, 2)
return k_upvr(e_upvr(function(arg1_12) -- Line 3
--[[ Upvalues[2]:
[1]: e_upvr (copied, readonly)
[2]: k_upvr_result1_upvr (readonly)
]]
return e_upvr(function(arg1_13) -- Line 3
--[[ Upvalues[2]:
[1]: k_upvr_result1_upvr (copied, readonly)
[2]: arg1_12 (readonly)
]]
return k_upvr_result1_upvr(arg1_12, arg1_13)
end)
end), 2 ^ (arg1.n or 1))
end)({
n = 4;
{0}
})
local bxor_upvr = module_17.bxor
local function bnot(arg1) -- Line 3
return 4294967295 - arg1
end
module_17.bnot = bnot
local bnot_upvr_2 = module_17.bnot
function module_17.band(arg1, arg2) -- Line 3
--[[ Upvalues[1]:
[1]: bxor_upvr (readonly)
]]
return (arg1 + arg2 - bxor_upvr(arg1, arg2)) / 2
end
local band_3_upvr = module_17.band
function module_17.bor(arg1, arg2) -- Line 3
--[[ Upvalues[1]:
[1]: band_3_upvr (readonly)
]]
return 4294967295 - band_3_upvr(4294967295 - arg1, 4294967295 - arg2)
end
local var286_upvw
local floor_upvr_2 = math.floor
local function rshift(arg1, arg2) -- Line 3
--[[ Upvalues[2]:
[1]: var286_upvw (read and write)
[2]: floor_upvr_2 (readonly)
]]
if arg2 < 0 then
return var286_upvw(arg1, -arg2)
end
return floor_upvr_2(arg1 % 4294967296 / 2 ^ arg2)
end
module_17.rshift = rshift
local rshift_upvw = module_17.rshift
local function lshift(arg1, arg2) -- Line 3
--[[ Upvalues[1]:
[1]: rshift_upvw (read and write)
]]
if arg2 < 0 then
return rshift_upvw(arg1, -arg2)
end
return arg1 * 2 ^ arg2 % 4294967296
end
module_17.lshift = lshift
var286_upvw = module_17.lshift
local var289_upvw = var286_upvw
local function tohex(arg1, arg2) -- Line 3
--[[ Upvalues[1]:
[1]: band_3_upvr (readonly)
]]
arg2 = arg2 or 8
local var290 = arg2
local var291
if var290 <= 0 then
if var290 == 0 then
return ""
end
var291 = true
var290 = -var290
end
local var292 = 16 ^ var290
if var291 then
var292 = 'X'
else
var292 = 'x'
end
return "%0"..var290..var292:format(band_3_upvr(arg1, var292 - 1))
end
module_17.tohex = tohex
local function extract(arg1, arg2, arg3) -- Line 3
--[[ Upvalues[2]:
[1]: band_3_upvr (readonly)
[2]: rshift_upvw (read and write)
]]
return band_3_upvr(rshift_upvw(arg1, arg2), 2 ^ (arg3 or 1) - 1)
end
module_17.extract = extract
local function replace(arg1, arg2, arg3, arg4) -- Line 3
--[[ Upvalues[3]:
[1]: band_3_upvr (readonly)
[2]: bnot_upvr_2 (readonly)
[3]: var289_upvw (read and write)
]]
local var293 = 2 ^ (arg4 or 1) - 1
return band_3_upvr(arg1, bnot_upvr_2(var289_upvw(var293, arg3))) + var289_upvw(band_3_upvr(arg2, var293), arg3)
end
module_17.replace = replace
local function bswap(arg1) -- Line 3
--[[ Upvalues[3]:
[1]: band_3_upvr (readonly)
[2]: rshift_upvw (read and write)
[3]: var289_upvw (read and write)
]]
local rshift_upvw_result1 = rshift_upvw(arg1, 8)
local var288_result1 = rshift_upvw(rshift_upvw_result1, 8)
return var289_upvw(var289_upvw(var289_upvw(band_3_upvr(arg1, 255), 8) + band_3_upvr(rshift_upvw_result1, 255), 8) + band_3_upvr(var288_result1, 255), 8) + band_3_upvr(rshift_upvw(var288_result1, 8), 255)
end
module_17.bswap = bswap
local function rrotate(arg1, arg2) -- Line 3
--[[ Upvalues[3]:
[1]: band_3_upvr (readonly)
[2]: rshift_upvw (read and write)
[3]: var289_upvw (read and write)
]]
local var296 = arg2 % 32
return rshift_upvw(arg1, var296) + var289_upvw(band_3_upvr(arg1, 2 ^ var296 - 1), 32 - var296)
end
module_17.rrotate = rrotate
local rrotate_upvr_2 = module_17.rrotate
local function lrotate(arg1, arg2) -- Line 3
--[[ Upvalues[1]:
[1]: rrotate_upvr_2 (readonly)
]]
return rrotate_upvr_2(arg1, -arg2)
end
module_17.lrotate = lrotate
local lrotate_upvr_2 = module_17.lrotate
module_17.rol = module_17.lrotate
module_17.ror = module_17.rrotate
local function arshift(arg1, arg2) -- Line 3
--[[ Upvalues[2]:
[1]: rshift_upvw (read and write)
[2]: var289_upvw (read and write)
]]
local var288_result1_2 = rshift_upvw(arg1, arg2)
if 2147483648 <= arg1 then
var288_result1_2 += var289_upvw(2 ^ arg2 - 1, 32 - arg2)
end
return var288_result1_2
end
module_17.arshift = arshift
local function btest(arg1, arg2) -- Line 3
--[[ Upvalues[1]:
[1]: band_3_upvr (readonly)
]]
local var300
if band_3_upvr(arg1, arg2) == 0 then
var300 = false
else
var300 = true
end
return var300
end
module_17.btest = btest
module_17.bit32 = {}
module_17.bit32.bnot = function(arg1) -- Line 3, Named "W"
return (-1 - arg1) % 4294967296
end
local function X_upvr(arg1, arg2, arg3, ...) -- Line 3, Named "X"
--[[ Upvalues[2]:
[1]: bxor_upvr (readonly)
[2]: X_upvr (readonly)
]]
local var301
if arg2 then
var301 %= 4294967296
local var283_result1 = bxor_upvr(var301, arg2 % 4294967296)
if arg3 then
var283_result1 = X_upvr(var283_result1, arg3, ...)
end
return var283_result1
end
if var301 then
return var301 % 4294967296
end
return 0
end
module_17.bit32.bxor = X_upvr
local function Y_upvr(arg1, arg2, arg3, ...) -- Line 3, Named "Y"
--[[ Upvalues[2]:
[1]: bxor_upvr (readonly)
[2]: Y_upvr (readonly)
]]
if arg2 then
local var303 = arg1 % 4294967296
local var304 = arg2 % 4294967296
local var305 = (var303 + var304 - bxor_upvr(var303, var304)) / 2
if arg3 then
var305 = Y_upvr(var305, arg3, ...)
end
return var305
end
if var303 then
return var303 % 4294967296
end
return 4294967295
end
module_17.bit32.band = Y_upvr
local function Z_upvr(arg1, arg2, arg3, ...) -- Line 3, Named "Z"
--[[ Upvalues[2]:
[1]: band_3_upvr (readonly)
[2]: Z_upvr (readonly)
]]
local var306
if arg2 then
var306 %= 4294967296
local var307 = 4294967295 - band_3_upvr(4294967295 - var306, 4294967295 - arg2 % 4294967296)
if arg3 then
var307 = Z_upvr(var307, arg3, ...)
end
return var307
end
if var306 then
return var306 % 4294967296
end
return 0
end
module_17.bit32.bor = Z_upvr
module_17.bit32.btest = function(...) -- Line 3, Named "btest"
--[[ Upvalues[1]:
[1]: Y_upvr (readonly)
]]
local var308
if Y_upvr(...) == 0 then
var308 = false
else
var308 = true
end
return var308
end
module_17.bit32.lrotate = function(arg1, arg2) -- Line 3, Named "lrotate"
--[[ Upvalues[1]:
[1]: lrotate_upvr_2 (readonly)
]]
return lrotate_upvr_2(arg1 % 4294967296, arg2)
end
module_17.bit32.rrotate = function(arg1, arg2) -- Line 3, Named "rrotate"
--[[ Upvalues[1]:
[1]: rrotate_upvr_2 (readonly)
]]
return rrotate_upvr_2(arg1 % 4294967296, arg2)
end
local function lshift(arg1, arg2) -- Line 3
--[[ Upvalues[1]:
[1]: var289_upvw (read and write)
]]
if 31 < arg2 or arg2 < -31 then
return 0
end
return var289_upvw(arg1 % 4294967296, arg2)
end
module_17.bit32.lshift = lshift
local function rshift(arg1, arg2) -- Line 3
--[[ Upvalues[1]:
[1]: rshift_upvw (read and write)
]]
if 31 < arg2 or arg2 < -31 then
return 0
end
return rshift_upvw(arg1 % 4294967296, arg2)
end
module_17.bit32.rshift = rshift
local function arshift(arg1, arg2) -- Line 3
--[[ Upvalues[2]:
[1]: rshift_upvw (read and write)
[2]: var289_upvw (read and write)
]]
local var309 = arg1 % 4294967296
if 0 <= arg2 then
if 31 < arg2 then
if 2147483648 <= var309 then
return 4294967295
end
return 0
end
local rshift_upvw_result1_2 = rshift_upvw(var309, arg2)
if 2147483648 <= var309 then
rshift_upvw_result1_2 += var289_upvw(2 ^ arg2 - 1, 32 - arg2)
end
return rshift_upvw_result1_2
end
return var289_upvw(var309, -arg2)
end
module_17.bit32.arshift = arshift
local extract_upvr = module_17.extract
module_17.bit32.extract = function(arg1, arg2, ...) -- Line 3, Named "extract"
--[[ Upvalues[1]:
[1]: extract_upvr (readonly)
]]
local var312 = ... or 1
if arg2 < 0 or 31 < arg2 or var312 < 0 or 32 < arg2 + var312 then
error("out of range")
end
return extract_upvr(arg1 % 4294967296, arg2, ...)
end
local replace_upvr = module_17.replace
module_17.bit32.replace = function(arg1, arg2, arg3, ...) -- Line 3, Named "replace"
--[[ Upvalues[1]:
[1]: replace_upvr (readonly)
]]
local var314 = ... or 1
if arg3 < 0 or 31 < arg3 or var314 < 0 or 32 < arg3 + var314 then
error("out of range")
end
return replace_upvr(arg1 % 4294967296, arg2 % 4294967296, arg3, ...)
end
module_17.bit = {}
module_17.bit.tobit = function(arg1) -- Line 3, Named "tobit"
arg1 %= 4294967296
local var315 = arg1
if 2147483648 <= var315 then
var315 -= 4294967296
end
return var315
end
local tobit_upvr_2 = module_17.bit.tobit
local tohex_upvr_2 = module_17.tohex
module_17.bit.tohex = function(arg1, ...) -- Line 3, Named "tohex"
--[[ Upvalues[1]:
[1]: tohex_upvr_2 (readonly)
]]
return tohex_upvr_2(arg1 % 4294967296, ...)
end
module_17.bit.bnot = function(arg1) -- Line 3, Named "bnot"
--[[ Upvalues[2]:
[1]: tobit_upvr_2 (readonly)
[2]: bnot_upvr_2 (readonly)
]]
return tobit_upvr_2(bnot_upvr_2(arg1 % 4294967296))
end
local bor_4_upvr = module_17.bor
local function a0_upvr(arg1, arg2, arg3, ...) -- Line 3, Named "a0"
--[[ Upvalues[3]:
[1]: a0_upvr (readonly)
[2]: tobit_upvr_2 (readonly)
[3]: bor_4_upvr (readonly)
]]
if arg3 then
return a0_upvr(a0_upvr(arg1, arg2), arg3, ...)
end
if arg2 then
return tobit_upvr_2(bor_4_upvr(arg1 % 4294967296, arg2 % 4294967296))
end
return tobit_upvr_2(arg1)
end
module_17.bit.bor = a0_upvr
local function a1_upvr(arg1, arg2, arg3, ...) -- Line 3, Named "a1"
--[[ Upvalues[3]:
[1]: a1_upvr (readonly)
[2]: tobit_upvr_2 (readonly)
[3]: band_3_upvr (readonly)
]]
if arg3 then
return a1_upvr(a1_upvr(arg1, arg2), arg3, ...)
end
if arg2 then
return tobit_upvr_2(band_3_upvr(arg1 % 4294967296, arg2 % 4294967296))
end
return tobit_upvr_2(arg1)
end
module_17.bit.band = a1_upvr
local function a2_upvr(arg1, arg2, arg3, ...) -- Line 3, Named "a2"
--[[ Upvalues[3]:
[1]: a2_upvr (readonly)
[2]: tobit_upvr_2 (readonly)
[3]: bxor_upvr (readonly)
]]
if arg3 then
return a2_upvr(a2_upvr(arg1, arg2), arg3, ...)
end
if arg2 then
return tobit_upvr_2(bxor_upvr(arg1 % 4294967296, arg2 % 4294967296))
end
return tobit_upvr_2(arg1)
end
module_17.bit.bxor = a2_upvr
module_17.bit.lshift = function(arg1, arg2) -- Line 3, Named "lshift"
--[[ Upvalues[2]:
[1]: tobit_upvr_2 (readonly)
[2]: var289_upvw (read and write)
]]
return tobit_upvr_2(var289_upvw(arg1 % 4294967296, arg2 % 32))
end
module_17.bit.rshift = function(arg1, arg2) -- Line 3, Named "rshift"
--[[ Upvalues[2]:
[1]: tobit_upvr_2 (readonly)
[2]: rshift_upvw (read and write)
]]
return tobit_upvr_2(rshift_upvw(arg1 % 4294967296, arg2 % 32))
end
local arshift_upvr = module_17.arshift
module_17.bit.arshift = function(arg1, arg2) -- Line 3, Named "arshift"
--[[ Upvalues[2]:
[1]: tobit_upvr_2 (readonly)
[2]: arshift_upvr (readonly)
]]
return tobit_upvr_2(arshift_upvr(arg1 % 4294967296, arg2 % 32))
end
module_17.bit.rol = function(arg1, arg2) -- Line 3, Named "rol"
--[[ Upvalues[2]:
[1]: tobit_upvr_2 (readonly)
[2]: lrotate_upvr_2 (readonly)
]]
return tobit_upvr_2(lrotate_upvr_2(arg1 % 4294967296, arg2 % 32))
end
module_17.bit.ror = function(arg1, arg2) -- Line 3, Named "ror"
--[[ Upvalues[2]:
[1]: tobit_upvr_2 (readonly)
[2]: rrotate_upvr_2 (readonly)
]]
return tobit_upvr_2(rrotate_upvr_2(arg1 % 4294967296, arg2 % 32))
end
local bswap_upvr_2 = module_17.bswap
module_17.bit.bswap = function(arg1) -- Line 3, Named "bswap"
--[[ Upvalues[2]:
[1]: tobit_upvr_2 (readonly)
[2]: bswap_upvr_2 (readonly)
]]
return tobit_upvr_2(bswap_upvr_2(arg1 % 4294967296))
end
return module_17
end)()
end
end
local unpack_upvr = table.unpack
if not unpack_upvr then
unpack_upvr = unpack
end
local tbl_10_upvr = {13, 23, 0, 2, 4, 7, 9, 12, 14, 17, 5, 1, 6, 10, 16, 20, 26, 30, 36, 19, 22, 18, 24, 27, 29, 33, 32, 11, 15, 21, 8, 34, 28, 37, 25, 31, 35}
local tbl_29_upvr = {"ABx", "ABC", "ABC", "ABC", "ABx", "ABC", "ABx", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "AsBx", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "AsBx", "AsBx", "ABC", "ABC", "ABC", "ABx", "ABC"}
local tbl_44_upvr = {{
b = "OpArgK";
c = "OpArgN";
}, {
b = "OpArgU";
c = "OpArgU";
}, {
b = "OpArgR";
c = "OpArgN";
}, {
b = "OpArgU";
c = "OpArgN";
}, {
b = "OpArgK";
c = "OpArgN";
}, {
b = "OpArgR";
c = "OpArgK";
}, {
b = "OpArgK";
c = "OpArgN";
}, {
b = "OpArgU";
c = "OpArgN";
}, {
b = "OpArgK";
c = "OpArgK";
}, {
b = "OpArgU";
c = "OpArgU";
}, {
b = "OpArgR";
c = "OpArgK";
}, {
b = "OpArgK";
c = "OpArgK";
}, {
b = "OpArgK";
c = "OpArgK";
}, {
b = "OpArgK";
c = "OpArgK";
}, {
b = "OpArgK";
c = "OpArgK";
}, {
b = "OpArgK";
c = "OpArgK";
}, {
b = "OpArgK";
c = "OpArgK";
}, {
b = "OpArgR";
c = "OpArgN";
}, {
b = "OpArgR";
c = "OpArgN";
}, {
b = "OpArgR";
c = "OpArgN";
}, {
b = "OpArgR";
c = "OpArgR";
}, {
b = "OpArgR";
c = "OpArgN";
}, {
b = "OpArgK";
c = "OpArgK";
}, {
b = "OpArgK";
c = "OpArgK";
}, {
b = "OpArgK";
c = "OpArgK";
}, {
b = "OpArgR";
c = "OpArgU";
}, {
b = "OpArgR";
c = "OpArgU";
}, {
b = "OpArgU";
c = "OpArgU";
}, {
b = "OpArgU";
c = "OpArgU";
}, {
b = "OpArgU";
c = "OpArgN";
}, {
b = "OpArgR";
c = "OpArgN";
}, {
b = "OpArgR";
c = "OpArgN";
}, {
b = "OpArgN";
c = "OpArgU";
}, {
b = "OpArgU";
c = "OpArgU";
}, {
b = "OpArgN";
c = "OpArgN";
}, {
b = "OpArgU";
c = "OpArgN";
}, {
b = "OpArgU";
c = "OpArgN";
}}
local function aa_upvr(arg1, arg2, arg3, arg4) -- Line 3, Named "aa"
local var365 = 0
for i_11 = arg2, arg3, arg4 do
var365 += string.byte(arg1, i_11, i_11) * 256 ^ (i_11 - arg2)
end
return var365
end
local function ad_upvr(arg1, arg2, arg3, arg4) -- Line 3, Named "ad"
--[[ Upvalues[1]:
[1]: var267_upvr (readonly)
]]
local var366 = -1 ^ var267_upvr.rshift(arg4, 7)
local var367 = var267_upvr.rshift(arg3, 7) + var267_upvr.lshift(var267_upvr.band(arg4, 127), 1)
local var368 = 1
if var367 == 0 then
if arg1 + var267_upvr.lshift(arg2, 8) + var267_upvr.lshift(var267_upvr.band(arg3, 127), 16) == 0 then
return var366 * 0
end
var368 = 0
var367 = 1
elseif var367 == 127 then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if arg1 + var267_upvr.lshift(arg2, 8) + var267_upvr.lshift(var267_upvr.band(arg3, 127), 16) == 0 then
return var366 * 1 / 0
end
return var366 * 0 / 0
end
return var366 * 2 ^ (var367 - 127) * (var368 / 8388608 + 1)
end
local function am_upvr(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) -- Line 3, Named "am"
--[[ Upvalues[1]:
[1]: var267_upvr (readonly)
]]
local var369 = -1 ^ var267_upvr.rshift(arg8, 7)
local var370 = var267_upvr.lshift(var267_upvr.band(arg8, 127), 4) + var267_upvr.rshift(arg7, 4)
local var371 = 1
if var370 == 0 then
if var267_upvr.band(arg7, 15) * 281474976710656 + arg6 * 1099511627776 + arg5 * 4294967296 + arg4 * 16777216 + arg3 * 65536 + arg2 * 256 + arg1 == 0 then
return var369 * 0
end
var371 = 0
var370 = 1
elseif var370 == 2047 then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if var267_upvr.band(arg7, 15) * 281474976710656 + arg6 * 1099511627776 + arg5 * 4294967296 + arg4 * 16777216 + arg3 * 65536 + arg2 * 256 + arg1 == 0 then
return var369 * 1 / 0
end
return var369 * 0 / 0
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return var369 * 2 ^ (var370 - 1023) * (var371 + (var267_upvr.band(arg7, 15) * 281474976710656 + arg6 * 1099511627776 + arg5 * 4294967296 + arg4 * 16777216 + arg3 * 65536 + arg2 * 256 + arg1) / 4503599627370496)
end
local function ar_upvr(arg1, arg2, arg3) -- Line 3, Named "ar"
--[[ Upvalues[1]:
[1]: aa_upvr (readonly)
]]
return aa_upvr(arg1, arg2, arg3 - 1, 1)
end
local function as_upvr(arg1, arg2, arg3) -- Line 3, Named "as"
--[[ Upvalues[1]:
[1]: aa_upvr (readonly)
]]
return aa_upvr(arg1, arg3 - 1, arg2, -1)
end
local tbl_53_upvr = {-- : First try: K:0: attempt to index nil with 't'
local function ay_upvr(arg1) -- Line 3, Named "ay"
local index = arg1.index
arg1.index = index + 1
return string.byte(arg1.source, index, index)
end
local function aB_upvr(arg1, arg2) -- Line 3, Named "aB"
local var388 = arg1.index + arg2
arg1.index = var388
return string.sub(arg1.source, arg1.index, var388 - 1)
end
local function aF_upvr(arg1) -- Line 3, Named "aF"
--[[ Upvalues[1]:
[1]: aB_upvr (readonly)
]]
local any_s_szt_result1_2 = arg1:s_szt()
local var390
if any_s_szt_result1_2 ~= 0 then
var390 = string.sub(aB_upvr(arg1, any_s_szt_result1_2), 1, -2)
end
return var390
end
local function aG_upvr(arg1, arg2) -- Line 3, Named "aG"
return function(arg1_14) -- Line 3
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
local var392 = arg1_14.index + arg1
arg1_14.index = var392
return arg2(arg1_14.source, arg1_14.index, var392)
end
end
local function aJ_upvr(arg1, arg2) -- Line 3, Named "aJ"
return function(arg1_15) -- Line 3
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: arg1 (readonly)
]]
arg1_15.index += arg1
return arg2(arg1_15.source, arg1_15.index)
end
end
local function aL_upvr(arg1) -- Line 3, Named "aL"
--[[ Upvalues[4]:
[1]: var267_upvr (readonly)
[2]: tbl_29_upvr (readonly)
[3]: tbl_44_upvr (readonly)
[4]: tbl_10_upvr (readonly)
]]
local module_15 = {}
for i_12 = 1, arg1:s_int() do
local any_s_ins_result1 = arg1:s_ins()
local any_band_result1 = var267_upvr.band(any_s_ins_result1, 63)
local var399 = tbl_29_upvr[any_band_result1]
local var400 = tbl_44_upvr[any_band_result1]
local tbl_35 = {
value = any_s_ins_result1;
op = tbl_10_upvr[any_band_result1];
A = var267_upvr.band(var267_upvr.rshift(any_s_ins_result1, 6), 255);
}
local var402
if var399 == "ABC" then
var402 = var267_upvr.band(var267_upvr.rshift(any_s_ins_result1, 23), 511)
tbl_35.B = var402
var402 = var267_upvr.band(var267_upvr.rshift(any_s_ins_result1, 14), 511)
tbl_35.C = var402
var402 = false
if var400.b == "OpArgK" then
if 255 >= tbl_35.B then
var402 = false
else
var402 = true
end
end
tbl_35.is_KB = var402
if var400.c == "OpArgK" then
if 255 >= tbl_35.C then
else
end
end
tbl_35.is_KC = true
elseif var399 == "ABx" then
tbl_35.Bx = var267_upvr.band(var267_upvr.rshift(any_s_ins_result1, 14), 262143)
if var400.b ~= "OpArgK" then
else
end
tbl_35.is_K = true
elseif var399 == "AsBx" then
tbl_35.sBx = var267_upvr.band(var267_upvr.rshift(any_s_ins_result1, 14), 262143) - 131071
end
module_15[i_12] = tbl_35
end
return module_15
end
local function aT_upvr(arg1) -- Line 3, Named "aT"
--[[ Upvalues[2]:
[1]: ay_upvr (readonly)
[2]: aF_upvr (readonly)
]]
local module_6 = {}
for i_13 = 1, arg1:s_int() do
local ay_result1 = ay_upvr(arg1)
local var407
if ay_result1 == 1 then
if ay_upvr(arg1) == 0 then
var407 = false
else
var407 = true
end
elseif ay_result1 == 3 then
var407 = arg1:s_num()
elseif ay_result1 == 4 then
var407 = aF_upvr(arg1)
end
module_6[i_13] = var407
end
return module_6
end
local a5_upvw
local function aW_upvr(arg1, arg2) -- Line 3, Named "aW"
--[[ Upvalues[1]:
[1]: a5_upvw (read and write)
]]
local module = {}
for i_14 = 1, arg1:s_int() do
module[i_14] = a5_upvw(arg1, arg2)
end
return module
end
local function aY_upvr(arg1) -- Line 3, Named "aY"
local module_11 = {}
for i_15 = 1, arg1:s_int() do
module_11[i_15] = arg1:s_int()
end
return module_11
end
local function a__upvr(arg1) -- Line 3, Named "a_"
--[[ Upvalues[1]:
[1]: aF_upvr (readonly)
]]
local module_12 = {}
for i_16 = 1, arg1:s_int() do
module_12[i_16] = {
varname = aF_upvr(arg1);
startpc = arg1:s_int();
endpc = arg1:s_int();
}
end
return module_12
end
local function b1_upvr(arg1) -- Line 3, Named "b1"
--[[ Upvalues[1]:
[1]: aF_upvr (readonly)
]]
local module_5 = {}
for i_17 = 1, arg1:s_int() do
module_5[i_17] = aF_upvr(arg1)
end
return module_5
end
function a5_upvw(arg1, arg2) -- Line 3, Named "a5"
--[[ Upvalues[8]:
[1]: aF_upvr (readonly)
[2]: ay_upvr (readonly)
[3]: aL_upvr (readonly)
[4]: aT_upvr (readonly)
[5]: aW_upvr (readonly)
[6]: aY_upvr (readonly)
[7]: a__upvr (readonly)
[8]: b1_upvr (readonly)
]]
local module_14 = {}
local var425 = aF_upvr(arg1) or arg2
module_14.source = var425
arg1:s_int()
arg1:s_int()
module_14.numupvals = ay_upvr(arg1)
module_14.numparams = ay_upvr(arg1)
ay_upvr(arg1)
ay_upvr(arg1)
module_14.code = aL_upvr(arg1)
module_14.const = aT_upvr(arg1)
module_14.subs = aW_upvr(arg1, var425)
module_14.lines = aY_upvr(arg1)
a__upvr(arg1)
b1_upvr(arg1)
for _, v in ipairs(module_14.code) do
if v.is_K then
v.const = module_14.const[v.Bx + 1]
else
if v.is_KB then
v.const_B = module_14.const[v.B - 255]
end
if v.is_KC then
v.const_C = module_14.const[v.C - 255]
end
end
end
return module_14
end
local function a3_upvw(arg1) -- Line 3, Named "a3"
--[[ Upvalues[8]:
[1]: aB_upvr (readonly)
[2]: ay_upvr (readonly)
[3]: ar_upvr (readonly)
[4]: as_upvr (readonly)
[5]: aG_upvr (readonly)
[6]: tbl_53_upvr (readonly)
[7]: aJ_upvr (readonly)
[8]: a5_upvw (read and write)
]]
-- KONSTANTERROR: [0] 1. Error Block 51 start (CF ANALYSIS FAILED)
local tbl_26 = {
index = 1;
}
tbl_26.source = arg1
local var430
if aB_upvr(tbl_26, 4) ~= "\x1BLua" then
var430 = false
else
var430 = true
end
assert(var430, "invalid Lua signature")
if ay_upvr(tbl_26) ~= 81 then
var430 = false
-- KONSTANTWARNING: GOTO [34] #29
end
-- KONSTANTERROR: [0] 1. Error Block 51 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [33] 28. Error Block 56 start (CF ANALYSIS FAILED)
var430 = true
assert(var430, "invalid Lua version")
if ay_upvr(tbl_26) ~= 0 then
var430 = false
-- KONSTANTWARNING: GOTO [47] #39
end
-- KONSTANTERROR: [33] 28. Error Block 56 end (CF ANALYSIS FAILED)
end
local function bd_upvr(arg1, arg2) -- Line 3, Named "bd"
for i_19, v_2 in pairs(arg1) do
if arg2 <= v_2.index then
v_2.value = v_2.store[v_2.index]
v_2.store = v_2
v_2.index = "value"
arg1[i_19] = nil
end
end
end
local function bh_upvr(arg1, arg2, arg3) -- Line 3, Named "bh"
local var436 = arg1[arg2]
if not var436 then
local tbl_51 = {}
tbl_51.index = arg2
tbl_51.store = arg3
var436 = tbl_51
arg1[arg2] = var436
end
return var436
end
local function bk_upvr(...) -- Line 3, Named "bk"
return select('#', ...), {...}
end
local function bl_upvr(arg1, arg2) -- Line 3, Named "bl"
local string_match_result1_2, string_match_result2, string_match_result3_2 = string.match(arg2, "^(.-):(%d+):%s+(.+)")
error(string.format("%s:%i: [%s:%i] %s", arg1.source, arg1.lines[arg1.pc - 1] or '0', string_match_result1_2 or '?', string_match_result2 or '0', string_match_result3_2 or arg2), 0)
end
local a4_upvw
local function bs_upvr(arg1) -- Line 3, Named "bs"
--[[ Upvalues[6]:
[1]: bk_upvr (readonly)
[2]: unpack_upvr (readonly)
[3]: bd_upvr (readonly)
[4]: tbl_10_upvr (readonly)
[5]: bh_upvr (readonly)
[6]: a4_upvw (read and write)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [959] 718. Error Block 299 start (CF ANALYSIS FAILED)
arg1.pc = arg1.pc
-- KONSTANTERROR: [959] 718. Error Block 299 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [17] 10. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [961.11]
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [961.65666]
-- KONSTANTERROR: [17] 10. Error Block 2 end (CF ANALYSIS FAILED)
end
function a4_upvw(arg1, arg2, arg3) -- Line 3, Named "a4"
--[[ Upvalues[4]:
[1]: bk_upvr (readonly)
[2]: bs_upvr (readonly)
[3]: unpack_upvr (readonly)
[4]: bl_upvr (readonly)
]]
local numparams_upvr_2 = arg1.numparams
local code_upvr_2 = arg1.code
local subs_upvr_2 = arg1.subs
local lines_upvr_2 = arg1.lines
local source_upvr = arg1.source
return function(...) -- Line 3, Named "bY"
--[[ Upvalues[11]:
[1]: bk_upvr (copied, readonly)
[2]: numparams_upvr_2 (readonly)
[3]: code_upvr_2 (readonly)
[4]: subs_upvr_2 (readonly)
[5]: lines_upvr_2 (readonly)
[6]: source_upvr (readonly)
[7]: arg2 (readonly)
[8]: arg3 (readonly)
[9]: bs_upvr (copied, readonly)
[10]: unpack_upvr (copied, readonly)
[11]: bl_upvr (copied, readonly)
]]
local tbl_52 = {}
local tbl_12 = {}
local var455 = 0
local bk_upvr_result1, bk_upvr_result2 = bk_upvr(...)
for i_20 = 1, numparams_upvr_2 do
tbl_52[i_20 - 1] = bk_upvr_result2[i_20]
end
if numparams_upvr_2 < bk_upvr_result1 then
var455 = bk_upvr_result1 - numparams_upvr_2
i_20 = 1
for i_21 = i_20, var455 do
tbl_12[i_21] = bk_upvr_result2[numparams_upvr_2 + i_21]
end
end
local tbl_50 = {
varargs = {
list = tbl_12;
size = var455;
};
code = code_upvr_2;
subs = subs_upvr_2;
lines = lines_upvr_2;
source = source_upvr;
}
tbl_50.env = arg2
tbl_50.upvals = arg3
tbl_50.stack = tbl_52
tbl_50.pc = 1
local var460 = tbl_50
local pcall_result1, pcall_result2_2, pcall_result3_2 = pcall(bs_upvr, var460, ...)
local var464 = pcall_result2_2
if pcall_result1 then
return unpack_upvr(pcall_result3_2, 1, var464)
end
bl_upvr(var460, var464)
end
end
return function(arg1, arg2) -- Line 3
--[[ Upvalues[3]:
[1]: a4_upvw (read and write)
[2]: a3_upvw (read and write)
[3]: getfenv_upvr (copied, readonly)
]]
local var466 = arg2
if not var466 then
var466 = getfenv_upvr(0)
end
return a4_upvw(a3_upvw(arg1), var466)
end
end)()((function(arg1, arg2) -- Line 3
--[[ Upvalues[2]:
[1]: var13_result1_upvr (readonly)
[2]: var2_upvr (readonly)
]]
local var13_result1_upvr_result1 = var13_result1_upvr(var2_upvr(arg1))
return var2_upvr(var13_result1_upvr_result1.cipher(var13_result1_upvr_result1, var2_upvr(arg2)))
end)("elI9MXNnL1slUQ==", "mYGqCSP7NQiWYBZ8tHA8Yfd3JGqOU39oRF1g+XX6gk61APaSnMIsgkaPukQ1XViM0ifkTmb0piBDDpJCITIe16ybFr9OCfn/Py2RRAp9aDd6EJWEgPW/DRJAtxxAFVPan/QBiovNhgCvK+M3SIzbzgdNpw4SJR5fdtlHhRhlsFAc7SgcWO6eUO/Xxhs27JyN89ZPtmB+JGHDiYuOD05To5wAobvj9qVjWWmSAHJ2XnjfEY7UXWA5xgjE8eh621IdQ/VTLsPoEjM9RCPW+hCs8JPf3S9YgqTrhJif2VYBfAHOoqG3GJ3y1APQwVotUETwzoJoyzvoTFBLHAoeORk65lI2xDQdRRKqBLYKimeYfEenA46LpFDzOofkexl7cUT5x6Nt5IVXJNmBLSTewyx5Ei8AI5AHPHmgjipKdctocnjCpUhPTc664HzgjANfpLcGPZooSgFgZmE/+Ps8yAjTGqev4HNupW2WkzTXrtjyx5VJlAAIKqOUkRB/y7ZVYDfp618TDnAhb/mZ/4jsixjbzBf9xFEU5xF4mjxP5NrkiExSWHStU4Hadz0nYepYxzGUD5MzPKzFatUKAeujObns/Gt2qhmVo57mR4ej22l0orjUF5iIwCUCeIAJlWikPrcmh3kHmygyaEhXsRSZk62AGsCfUNVftvaeW7PmTWQZZ4534gRZdrQRWG2RXods23HTnHXSuynkywPmb+BdGDCCXVhxELdRri/0o3/tnUOyY5aHF6jnOD6mK9egFgNkUBWW4iuofsT5bgLiTVwXWhlis0xz5sosHlUkNHLYzOI36yN5MGxKTQL6QWVTEMqCPxU3v+Npw3EbnWmdoyMBg8QSIliEcdoOOajUf/iRAQNCpBepexNYXYG+VtcTnbU0FLaJUtu+XfFap0QL1dOYk8+kgzY+/lKonyALfE2XRJmmJyEyKfchdOX+W8Glk48J3tOnF30IAaoemgW9xb3Gw0sNTmBGF2zDFdb0B3oeZuM/yJSZjNzN/kQaBSg+2+aa7rD1jVP8s8Qr3pZBJ3sFwLHqdXdYkBVa5Um0kwZzoJZ1oQmqYaRi2y8AhbhHce+Ktvg8wEGSdMeyom1nW4bJH7yz0CpQIhj7ExUHon80ZJzBO+RwpKH7BEGJWoCRlpwhMeWHrIXEC09tR5BUQcD6bEZTUj9BoLgMvY+rjd3W4wam7IpwUxsImYy2hocukn8OXrsbut2lysDIV6Y2gQkHh9KE8IX4de9xcVDEuCkxlDjFjFxG8tkNLT3qexPbslLFDRIBXy2BJo4PVTgPF/yt3HPH9a1pmIp+5MYLlnuZODn1cLg3yt0BZs0PxZSPWAWbT4tZOcJ6/5K4QMncTs7qq5elwBhvNsKguWadRLclPBi/4DPf8a3RYoBJN2sdcyPwF1IWeu2WoztZNsCIkDPYvgo8+/29j0ey0UviL6QS3gzT4+Zg9HRd45/V9Gs8k3vPy1tctdbuqZUzmdLBAsY1tOPvXp1HHQL0ih5RGZtN76Dwv4zHjlyw533/r1qYwnhXi9iXmVHo4Tbc9iRrtU0xpQA3T9Sc5ih57lqI6rPmhWjcAUupPqDPeUCgDw3o3uIbXfjk5Dkro+EQ0uOPfR+9TOR12vCbKVyo2sUtmyB5sNviitq8l/S4Wt3gAZmDlGgAIsKRVwMZxb4AD727rsL4kbtQF6Ji+fWRWUhs9sqKPyRNVNFhteq8fvkSV7neCwjFfrAVQanXwROCizF98PjvQ3fVnUK7MtLgN1VOt6a0Ih+tr4by9EIJyYD1dib+gE9Lu/AzsEuc/oFP0+tpvQBLM4RTSTEExDgDplHsndsTj4saG+fjY3DzEBMqpaUyXUYjPmXUcET1/qZbBfTLw+u25JR1k25VryhD5I27n0ZYi1vUpThRQRVNy/QC+qGRRHJtgSZJ1HAJchykCEFA41PXmvhJFMADe5I0Xe9fW7/nktLuDBUumWxFDylYL4S3QyggMg7nm+A0gBdrr0T4OHit6ckCfgT40rwIhGapHI+OtdC7/GXORA+bfUSfFGDYJvlvI9PZPAlIyo/hj17VgdkYOFHsjWEd2Yx5uB14jjtMu74IpgNZkfJv0J1NmiLOl4RuBdVbvInJ7ksrNWxjsAwz5HTJ+37vtheymIzUEr0SQcIx1hYZUZvNltCtfOqdi1XBcULUZ/GGhnMR5wkqPGtEHwZ7WWw4kFEZzynr8sogtJkUSXqlZmpPpimgB/Z0AfdePmc2AS5fsd8+hyWn6mAACcb/RMHmMh746/dsuKZRoFdfeyIrJx6nQcQotnjA+hLGzKgK5S/Bz6Imm9SQ4+qGzNVXfSlMCuhiLS3A/kA+IRrnXEfKbXWrSGsS5vuJGyaNXwUMPEQCIGRVZQxD0vELUduxLacdbXNlMRKDiYiCmX35keo/U6RB2xnZ/doMO1oMQcXtcZo7ic6j+uO7yXShyIwyYaU3DCSZgAMt9ld7F+h+QbNraVZWI/2ezymYQ5l9x5ppxl7KrHqf/B9KUHgyy1cG5YSpVHWvsFrI2TlxmWTaK5yKDErGSatiBKHq7g5qlz+QroutAO+aaZ1B0SDQIY1alvUD6krSLsfBWwEm7Mbmz0O/aYEe11Rx8BvTjTYmwif8QKSPhaScNFz/NugBVQADqdl/o/BrHi6qoQ+KY+dGiMgGNeFyNVKnpBq8mzS/ZLDxriTggVyhtIXz1SkAfW+a1RHrJaj7PENyF4ZQMvOyq3zBVhUiyrKTaohl0NL1ElZ3f/XIbkB5VVDk16Mx9YlwwNS4jbIuTO70b4i7Lag9by9LDP7w/QR8Rw/5gPSrHYlB3OLzIGLCx71yajR83OTQ7MQnmfwzMy8cJsvkLG7B2LloM1EfH3SgVnd0DRcrDHq5TEgFjlbRwR1Y5fswdpK9LvOBNs8Vm1vy0YP8deUiYPyfgDy9Dzzapw86VR4tAsgrHyjekeh5l1/nKQ+FJUXXdQ2yX0OWH3xoI/FOvyZVkgd+Bsi9h4IKzTTp1nWTz9DRrb+1gCNbkCCwV8U4WlX87BozcqE2s7cWUmh9NIzCjInlB70shl9jPKEXIRiViH4Z4Pn0Fy0QxRtZH0OOlibuhpcicc2aAAJrl7fz5CIY+GaP8K0QRUjcMVW3gPWJBtPsYQ+5nsgLJSPGwrY/4u/2x332W52i+FMSbotrpMbKpsSisEx1t+SHsN4yHa9MUEeYJnyUJ8Earo4tQhBFtvdQDkJVhj/Cz+lHtnowDNZ7TEZH9BU/GcwuywbiUf/gOeh4WmzvIGeyNYHrsvkxlYTec0UaYPEPG6NXWHcIlFS56NfzcwpbaomnTrRaBud+hy98VNDXezms/TCMAPpTPkqcuv0d+Hb7aK/C6mEQ9GKtRngA3XFyBik3lEqfR4hH9xj60BlLyLznzx+T2A3ppDkMBlJQVJuFHm+h5c6j0n82MTDh1vPnFLYdAr/I9Sye+XPQ+s9js8wH8kazYt75Ri/+G1VOf6nihToFeR/al/sM447Z0f5tDd/ms/PvRCepT8mYdhqztrTttanQPGxRYSBHrr9LrDZEh6ViLpCA7dJgR6VZNPDquMIYQ1El4AC22ffyy8GdaKwSGSGlBST3XI/9PRkqvcg3bh54OYqeWQecu6kGoGn1eRDIGCU+eIvHaoz0O7+F/qGrWgGo+JCg631m10LfTm2mUnv8s1ewSvh25HVa2x/vVvb/yVpfBhUVfEMWj+xZD9Er7LijXyk5VvaFK1gYMP72PqUKbh/UBNuydHcELMSNV7hnDisIFAZCQaJbb2iSMFyAW3ysOY8NqaE9V26zUNOGpZsInzXEUoN7xkXQhXW9V06ZkjuYiE8B9nOpU7BySbijUEoyC88zfFdsDYWwstTuZ7bwHXdxbIMgUzUXmulqu8BiBJ19CSpdbfwDTiRqXfaGgY+scon7gNZgY4mO8zDjBHHUndVK3OYTFNiYzmGulqH7nEGbjgldqhnyS2mGInFddKiRh7HEANoKBLwyfyi5VNSGDTzDBomohBHeLNcK9kMgYxt8ErwDT5mDZwZmHjKxKmHcIPZAbpSjWcWcgc+jMuEvHRe7/enGCm5jsqTd+mZ8SjA4Q2k/P7eXefnydRtjxvIEuVIKH4WwY1WhwSeoyvh8+IB3hqd5dJuBCg2UdTlXhQaYlG4MSGswLH5I03K68F5pzAGUXfCTO9iBon2qYIo3+ljEGjCW9EpEkfHE5AAlnWxUIIh5K7fFQpdXXTvUGTfXqvFPKs9lTCusfnREgDyfETG/7Xza45UDqKwoSxWRm/BN82ZoRx4ewY+mCmO0UUA97eBUU9t0Li90qlIUhVxjFVGQ1jsiAJbIYggWRTQUQ6YCfxSeQPW1xTw+kJTRIUDLdt0sULBoQqHrVSBGyb/N/detnxxinvE+R+SbPRUs/DBrMbBrSJv4Q7ey01MBRK/L/UzHfshMGT0ai6Pbiw2TgFcdFidZ37DZJMRICNz6N/iJ8/x5EqfS+/zAkAH7F5U5M+ajMKJh1SZujBSQdCn44hM1FrST5g0RzBFEzGKHa45q5wyUQBZgO9ha83VN7HG14D4W7uquomThc0p0bFKgJZ8UjQeqE1pV46xICZTSCcuzGEu+fFPdrhqcbiHGyCUO8U3dk6WA+xzu4ImII2Kv6xOGYEwDSZyx0Rp4H5CDok2E6Cqoeke1Ylhea3JLBZtr655f1ymv6Umo7j3PB/JM65vRMCOA4dOPgujrdIfNlj8JCNgB77BO5bJZj2ZDifbfyWCBdSPelnP3IiR3iHuj8dSAMY6LAfKBtRnfUMV84oAP1zT5bNjcug+JU4quM+4dFJOMIzyvIQ+cmfqjPRV3shAbYMhp3XQk6Cb5Hlxkqkf0eHiRxNYyeyUMWUDFcdmVkoEhQtRWDsstOLyrVO1RoMiJ7tPQ7K+gKanBG0pHpDiiNzUkBjsc1q/Lm9ctISF+PHZsJVus6haG2LqVHfr6SZQ3KUZtt9hTqWAyRO9GX6Ls5gvf+eAJP17FXI5Jbp/2WWCZpZ8kSnf1OF1sEx4lRHJbjAHyM8YcxNBdyX9CwfztHKmvz+1yG/WUXJXK/cpz1Ywzm+pCASbvf1id6o4stlI0x4cKXEFn42tQUDlm0g5M4bFobhMQtioXZRKBtwg/VJya0u9p4iHEQz9lbCCF4x0MTQHtovJxQhz6Sz84SaRwDQCfPX6t1xBtRdlEvRGXm1j7sKnjX/2lmAgrlHcTMdqfzpZdtCwx3PfJL2Cfi20qEZhCc/P8rN6DFY+aWmPenwR3CZLHEWDeFZnuT7RdLgs17e77XEY6GfmxawxDZMViz+6CPBNU2CfdhRa6zaKF1/7qoUk7KDZVNeYCmtNwqVboWJsyV99LJ4XYr51RhT3XVq4ndAzB7dValHESvvBXOoowU1IYe2+V7lvg0Ji4with7pbOUHh8P5v+MKRhW3RcGrdNG9WyTN+fDURRZN0889WqGsS7r1V0HYAHb8aSl57FBI63FK3inKjTyu7/FAgMQF3Ty3WQGGLE+bGefFLkTv1mkcsdD5ZYeIxpgYzaZ97IenJv5slR0xBI5ri6SD5YqCIWy+llAKRydmwD+fx1TjS4+wZaxM7G3Rh9Se6S0t9pA7Ru2QTW7sDvgDATZKbZrEY="), getfenv(0))()
end)()
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:14
-- Luau version 6, Types version 3
-- Time taken: 0.001465 seconds
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local LoadedButtonPositions = _G.LoadedButtonPositions
if not LoadedButtonPositions then
LoadedButtonPositions = {}
end
_G.LoadedButtonPositions = LoadedButtonPositions
local BindableEvent_upvr = Instance.new("BindableEvent")
BindableEvent_upvr.Name = "ButtonPositionsLoadedEvent"
BindableEvent_upvr.Parent = ReplicatedStorage
print("ClientUIPositionLoader: Created ButtonPositionsLoadedEvent")
ReplicatedStorage:WaitForChild("NetColorRemoteEvent").OnClientEvent:Connect(function(arg1, arg2) -- Line 15
--[[ Upvalues[1]:
[1]: BindableEvent_upvr (readonly)
]]
if arg1 == "LoadButtonPositions" then
print("ClientUIPositionLoader: Received LoadButtonPositions data:", arg2)
if type(arg2) == "table" then
_G.LoadedButtonPositions = arg2
else
_G.LoadedButtonPositions = {}
end
BindableEvent_upvr:Fire()
print("ClientUIPositionLoader: Fired ButtonPositionsLoadedEvent with data:", _G.LoadedButtonPositions)
end
end)
print("ClientUIPositionLoader: Script loaded and listening for LoadButtonPositions events")
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:16
-- Luau version 6, Types version 3
-- Time taken: 0.001240 seconds
local module_upvr = {}
module_upvr.__index = module_upvr
function module_upvr.new() -- Line 13
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
local setmetatable_result1 = setmetatable({}, module_upvr)
setmetatable_result1.cameras = require(script:WaitForChild("CameraModule"))
setmetatable_result1.controls = require(script:WaitForChild("ControlModule"))
return setmetatable_result1
end
function module_upvr.GetCameras(arg1) -- Line 20
return arg1.cameras
end
function module_upvr.GetControls(arg1) -- Line 24
return arg1.controls
end
function module_upvr.GetClickToMoveController(arg1) -- Line 28
return arg1.controls:GetClickToMoveController()
end
return module_upvr.new()
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:17
-- Luau version 6, Types version 3
-- Time taken: 0.032888 seconds
local module_upvr_3 = {}
module_upvr_3.__index = module_upvr_3
local Players_upvr = game:GetService("Players")
local UserInputService_upvr = game:GetService("UserInputService")
local UserGameSettings_upvr = UserSettings():GetService("UserGameSettings")
local module_upvr = require(script:WaitForChild("Keyboard"))
local module_upvr_4 = require(script:WaitForChild("Gamepad"))
local module_upvr_7 = require(script:WaitForChild("DynamicThumbstick"))
local pcall_result1, pcall_result2 = pcall(function() -- Line 29
return UserSettings():IsUserFeatureEnabled("UserMakeThumbstickDynamic")
end)
local var11_upvr
local function INLINED() -- Internal function, doesn't exist in bytecode
var11_upvr = module_upvr_7
return var11_upvr
end
if not (pcall_result1 and pcall_result2) or not INLINED() then
var11_upvr = require(script:WaitForChild("TouchThumbstick"))
end
local module_upvr_6 = require(script:WaitForChild("ClickToMoveController"))
local Value_upvr = Enum.ContextActionPriority.Default.Value
local tbl_upvr = {
[Enum.TouchMovementMode.DPad] = module_upvr_7;
[Enum.DevTouchMovementMode.DPad] = module_upvr_7;
[Enum.TouchMovementMode.Thumbpad] = module_upvr_7;
[Enum.DevTouchMovementMode.Thumbpad] = module_upvr_7;
[Enum.TouchMovementMode.Thumbstick] = var11_upvr;
[Enum.DevTouchMovementMode.Thumbstick] = var11_upvr;
[Enum.TouchMovementMode.DynamicThumbstick] = module_upvr_7;
[Enum.DevTouchMovementMode.DynamicThumbstick] = module_upvr_7;
[Enum.TouchMovementMode.ClickToMove] = module_upvr_6;
[Enum.DevTouchMovementMode.ClickToMove] = module_upvr_6;
[Enum.TouchMovementMode.Default] = module_upvr_7;
[Enum.ComputerMovementMode.Default] = module_upvr;
[Enum.ComputerMovementMode.KeyboardMouse] = module_upvr;
[Enum.DevComputerMovementMode.KeyboardMouse] = module_upvr;
[Enum.DevComputerMovementMode.Scriptable] = nil;
[Enum.ComputerMovementMode.ClickToMove] = module_upvr_6;
[Enum.DevComputerMovementMode.ClickToMove] = module_upvr_6;
}
local tbl_upvr_2 = {
[Enum.UserInputType.Keyboard] = module_upvr;
[Enum.UserInputType.MouseButton1] = module_upvr;
[Enum.UserInputType.MouseButton2] = module_upvr;
[Enum.UserInputType.MouseButton3] = module_upvr;
[Enum.UserInputType.MouseWheel] = module_upvr;
[Enum.UserInputType.MouseMovement] = module_upvr;
[Enum.UserInputType.Gamepad1] = module_upvr_4;
[Enum.UserInputType.Gamepad2] = module_upvr_4;
[Enum.UserInputType.Gamepad3] = module_upvr_4;
[Enum.UserInputType.Gamepad4] = module_upvr_4;
}
local var16_upvw
local module_upvr_5 = require(script:WaitForChild("VehicleController"))
local RunService_upvr = game:GetService("RunService")
function module_upvr_3.new() -- Line 86
--[[ Upvalues[7]:
[1]: module_upvr_3 (readonly)
[2]: Players_upvr (readonly)
[3]: module_upvr_5 (readonly)
[4]: Value_upvr (readonly)
[5]: RunService_upvr (readonly)
[6]: UserInputService_upvr (readonly)
[7]: UserGameSettings_upvr (readonly)
]]
local setmetatable_result1_upvr = setmetatable({}, module_upvr_3)
setmetatable_result1_upvr.controllers = {}
setmetatable_result1_upvr.activeControlModule = nil
setmetatable_result1_upvr.activeController = nil
setmetatable_result1_upvr.touchJumpController = nil
setmetatable_result1_upvr.moveFunction = Players_upvr.LocalPlayer.Move
setmetatable_result1_upvr.humanoid = nil
setmetatable_result1_upvr.lastInputType = Enum.UserInputType.None
setmetatable_result1_upvr.humanoidSeatedConn = nil
setmetatable_result1_upvr.vehicleController = nil
setmetatable_result1_upvr.touchControlFrame = nil
setmetatable_result1_upvr.vehicleController = module_upvr_5.new(Value_upvr)
Players_upvr.LocalPlayer.CharacterAdded:Connect(function(arg1) -- Line 108
--[[ Upvalues[1]:
[1]: setmetatable_result1_upvr (readonly)
]]
setmetatable_result1_upvr:OnCharacterAdded(arg1)
end)
Players_upvr.LocalPlayer.CharacterRemoving:Connect(function(arg1) -- Line 109
--[[ Upvalues[1]:
[1]: setmetatable_result1_upvr (readonly)
]]
setmetatable_result1_upvr:OnCharacterRemoving(arg1)
end)
if Players_upvr.LocalPlayer.Character then
setmetatable_result1_upvr:OnCharacterAdded(Players_upvr.LocalPlayer.Character)
end
RunService_upvr:BindToRenderStep("ControlScriptRenderstep", Enum.RenderPriority.Input.Value, function(arg1) -- Line 114
--[[ Upvalues[1]:
[1]: setmetatable_result1_upvr (readonly)
]]
setmetatable_result1_upvr:OnRenderStepped(arg1)
end)
UserInputService_upvr.LastInputTypeChanged:Connect(function(arg1) -- Line 118
--[[ Upvalues[1]:
[1]: setmetatable_result1_upvr (readonly)
]]
setmetatable_result1_upvr:OnLastInputTypeChanged(arg1)
end)
UserGameSettings_upvr:GetPropertyChangedSignal("TouchMovementMode"):Connect(function() -- Line 123
--[[ Upvalues[1]:
[1]: setmetatable_result1_upvr (readonly)
]]
setmetatable_result1_upvr:OnTouchMovementModeChange()
end)
Players_upvr.LocalPlayer:GetPropertyChangedSignal("DevTouchMovementMode"):Connect(function() -- Line 126
--[[ Upvalues[1]:
[1]: setmetatable_result1_upvr (readonly)
]]
setmetatable_result1_upvr:OnTouchMovementModeChange()
end)
UserGameSettings_upvr:GetPropertyChangedSignal("ComputerMovementMode"):Connect(function() -- Line 130
--[[ Upvalues[1]:
[1]: setmetatable_result1_upvr (readonly)
]]
setmetatable_result1_upvr:OnComputerMovementModeChange()
end)
Players_upvr.LocalPlayer:GetPropertyChangedSignal("DevComputerMovementMode"):Connect(function() -- Line 133
--[[ Upvalues[1]:
[1]: setmetatable_result1_upvr (readonly)
]]
setmetatable_result1_upvr:OnComputerMovementModeChange()
end)
setmetatable_result1_upvr.playerGui = nil
setmetatable_result1_upvr.touchGui = nil
setmetatable_result1_upvr.playerGuiAddedConn = nil
if UserInputService_upvr.TouchEnabled then
setmetatable_result1_upvr.playerGui = Players_upvr.LocalPlayer:FindFirstChildOfClass("PlayerGui")
if setmetatable_result1_upvr.playerGui then
setmetatable_result1_upvr:CreateTouchGuiContainer()
setmetatable_result1_upvr:OnLastInputTypeChanged(UserInputService_upvr:GetLastInputType())
return setmetatable_result1_upvr
end
setmetatable_result1_upvr.playerGuiAddedConn = Players_upvr.LocalPlayer.ChildAdded:Connect(function(arg1) -- Line 148
--[[ Upvalues[2]:
[1]: setmetatable_result1_upvr (readonly)
[2]: UserInputService_upvr (copied, readonly)
]]
if arg1:IsA("PlayerGui") then
setmetatable_result1_upvr.playerGui = arg1
setmetatable_result1_upvr:CreateTouchGuiContainer()
setmetatable_result1_upvr.playerGuiAddedConn:Disconnect()
setmetatable_result1_upvr.playerGuiAddedConn = nil
setmetatable_result1_upvr:OnLastInputTypeChanged(UserInputService_upvr:GetLastInputType())
end
end)
return setmetatable_result1_upvr
end
setmetatable_result1_upvr:OnLastInputTypeChanged(UserInputService_upvr:GetLastInputType())
return setmetatable_result1_upvr
end
function module_upvr_3.GetMoveVector(arg1) -- Line 168
if arg1.activeController then
return arg1.activeController:GetMoveVector()
end
return Vector3.new(0, 0, 0)
end
function module_upvr_3.GetActiveController(arg1) -- Line 175
return arg1.activeController
end
function module_upvr_3.EnableActiveControlModule(arg1) -- Line 179
--[[ Upvalues[2]:
[1]: module_upvr_6 (readonly)
[2]: Players_upvr (readonly)
]]
local var29
if arg1.activeControlModule == module_upvr_6 then
if Players_upvr.LocalPlayer.DevComputerMovementMode ~= Enum.DevComputerMovementMode.UserChoice then
var29 = false
else
var29 = true
end
arg1.activeController:Enable(true, var29, arg1.touchJumpController)
else
if arg1.touchControlFrame then
var29 = arg1.touchControlFrame
arg1.activeController:Enable(true, var29)
return
end
arg1.activeController:Enable(true)
end
end
function module_upvr_3.Enable(arg1, arg2) -- Line 195
local var30
if not arg1.activeController then
else
if var30 == nil then
var30 = true
end
if var30 then
arg1:EnableActiveControlModule()
return
end
arg1:Disable()
end
end
function module_upvr_3.Disable(arg1) -- Line 211
--[[ Upvalues[1]:
[1]: Players_upvr (readonly)
]]
if arg1.activeController then
arg1.activeController:Enable(false)
if arg1.moveFunction then
arg1.moveFunction(Players_upvr.LocalPlayer, Vector3.new(0, 0, 0), true)
end
end
end
function module_upvr_3.SelectComputerMovementModule(arg1) -- Line 223
--[[ Upvalues[8]:
[1]: UserInputService_upvr (readonly)
[2]: Players_upvr (readonly)
[3]: tbl_upvr_2 (readonly)
[4]: var16_upvw (read and write)
[5]: UserGameSettings_upvr (readonly)
[6]: module_upvr (readonly)
[7]: module_upvr_6 (readonly)
[8]: tbl_upvr (readonly)
]]
if not UserInputService_upvr.KeyboardEnabled and not UserInputService_upvr.GamepadEnabled then
return nil, false
end
local var31
local DevComputerMovementMode = Players_upvr.LocalPlayer.DevComputerMovementMode
if DevComputerMovementMode == Enum.DevComputerMovementMode.UserChoice then
var31 = tbl_upvr_2[var16_upvw]
if UserGameSettings_upvr.ComputerMovementMode == Enum.ComputerMovementMode.ClickToMove and var31 == module_upvr then
var31 = module_upvr_6
-- KONSTANTWARNING: GOTO [48] #36
end
else
var31 = tbl_upvr[DevComputerMovementMode]
if not var31 and DevComputerMovementMode ~= Enum.DevComputerMovementMode.Scriptable then
warn("No character control module is associated with DevComputerMovementMode ", DevComputerMovementMode)
end
end
if var31 then
return var31, true
end
if DevComputerMovementMode == Enum.DevComputerMovementMode.Scriptable then
return nil, true
end
return nil, false
end
function module_upvr_3.SelectTouchModule(arg1) -- Line 261
--[[ Upvalues[4]:
[1]: UserInputService_upvr (readonly)
[2]: Players_upvr (readonly)
[3]: tbl_upvr (readonly)
[4]: UserGameSettings_upvr (readonly)
]]
if not UserInputService_upvr.TouchEnabled then
return nil, false
end
local var33
local DevTouchMovementMode = Players_upvr.LocalPlayer.DevTouchMovementMode
if DevTouchMovementMode == Enum.DevTouchMovementMode.UserChoice then
var33 = tbl_upvr[UserGameSettings_upvr.TouchMovementMode]
else
if DevTouchMovementMode == Enum.DevTouchMovementMode.Scriptable then
return nil, true
end
var33 = tbl_upvr[DevTouchMovementMode]
end
return var33, true
end
local Workspace_upvr = game:GetService("Workspace")
local function calculateRawMoveVector_upvr(arg1, arg2) -- Line 277, Named "calculateRawMoveVector"
--[[ Upvalues[1]:
[1]: Workspace_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local CurrentCamera = Workspace_upvr.CurrentCamera
if not CurrentCamera then
return arg2
end
if arg1:GetState() == Enum.HumanoidStateType.Swimming then
return CurrentCamera.CFrame:VectorToWorldSpace(arg2)
end
local _, _, any_GetComponents_result3, any_GetComponents_result4, any_GetComponents_result5, any_GetComponents_result6, _, _, any_GetComponents_result9, _, _, any_GetComponents_result12 = CurrentCamera.CFrame:GetComponents()
local var49
if any_GetComponents_result9 < 1 and -1 < any_GetComponents_result9 then
var49 = any_GetComponents_result12
local _ = any_GetComponents_result6
else
var49 = any_GetComponents_result4
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
local squareroot = math.sqrt(var49 * var49 + (-any_GetComponents_result5 * math.sign(any_GetComponents_result9)) * (-any_GetComponents_result5 * math.sign(any_GetComponents_result9)))
-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x2)
return Vector3.new((var49 * arg2.x + -any_GetComponents_result5 * math.sign(any_GetComponents_result9) * arg2.z) / squareroot, 0, (var49 * arg2.z - -any_GetComponents_result5 * math.sign(any_GetComponents_result9) * arg2.x) / squareroot)
end
local function _(arg1, arg2, arg3) -- Line 320, Named "lerp"
return arg1 + (arg2 - arg1) * arg3
end
local zero_vector3_upvw_2 = Vector3.new()
local zero_vector3_upvw = Vector3.new()
local const_number_upvw = 0
local const_number_upvw_3 = 0
local const_number_upvw_2 = 0
function module_upvr_3.OnRenderStepped(arg1, arg2) -- Line 324
--[[ Upvalues[8]:
[1]: Players_upvr (readonly)
[2]: module_upvr_4 (readonly)
[3]: calculateRawMoveVector_upvr (readonly)
[4]: zero_vector3_upvw_2 (read and write)
[5]: zero_vector3_upvw (read and write)
[6]: const_number_upvw (read and write)
[7]: const_number_upvw_3 (read and write)
[8]: const_number_upvw_2 (read and write)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local var64
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [3] 3. Error Block 2 start (CF ANALYSIS FAILED)
var64 = arg1.activeController.enabled
-- KONSTANTERROR: [3] 3. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [8] 6. Error Block 3 start (CF ANALYSIS FAILED)
var64 = arg1.humanoid
-- KONSTANTERROR: [8] 6. Error Block 3 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [226] 160. Error Block 95 start (CF ANALYSIS FAILED)
var64 = arg1.activeController:OnRenderStepped
var64(arg2)
var64 = arg1.activeController:GetMoveVector()
local any_IsMoveVectorCameraRelative_result1_2 = arg1.activeController:IsMoveVectorCameraRelative()
local any_GetClickToMoveController_result1_2 = arg1:GetClickToMoveController()
if arg1.activeController ~= any_GetClickToMoveController_result1_2 then
if 0 < var64.magnitude then
any_GetClickToMoveController_result1_2:CleanupPath()
else
any_GetClickToMoveController_result1_2:OnRenderStepped(arg2)
var64 = any_GetClickToMoveController_result1_2:GetMoveVector()
any_IsMoveVectorCameraRelative_result1_2 = any_GetClickToMoveController_result1_2:IsMoveVectorCameraRelative()
end
end
local var67
if arg1.vehicleController then
if arg1.activeControlModule ~= module_upvr_4 then
var67 = false
else
var67 = true
end
local any_Update_result1, _ = arg1.vehicleController:Update(var64, any_IsMoveVectorCameraRelative_result1_2, var67)
var64 = any_Update_result1
end
if any_IsMoveVectorCameraRelative_result1_2 then
var64 = calculateRawMoveVector_upvr(arg1.humanoid, var64)
end
arg1.moveFunction(Players_upvr.LocalPlayer, var64, false)
local any_GetIsJumping_result1 = arg1.activeController:GetIsJumping()
if not any_GetIsJumping_result1 then
any_GetIsJumping_result1 = arg1.touchJumpController
if any_GetIsJumping_result1 then
any_GetIsJumping_result1 = arg1.touchJumpController:GetIsJumping()
end
end
arg1.humanoid.Jump = any_GetIsJumping_result1
-- KONSTANTERROR: [226] 160. Error Block 95 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [323] 227. Error Block 69 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [323] 227. Error Block 69 end (CF ANALYSIS FAILED)
end
function module_upvr_3.OnHumanoidSeated(arg1, arg2, arg3) -- Line 438
--[[ Upvalues[1]:
[1]: Value_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [7] 7. Error Block 12 start (CF ANALYSIS FAILED)
if not arg1.vehicleController then
arg1.vehicleController = arg1.vehicleController.new(Value_upvr)
end
arg1.vehicleController:Enable(true, arg3)
do
return
end
-- KONSTANTERROR: [7] 7. Error Block 12 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [26] 20. Error Block 10 start (CF ANALYSIS FAILED)
if arg1.vehicleController then
arg1.vehicleController:Enable(false, arg3)
end
-- KONSTANTERROR: [26] 20. Error Block 10 end (CF ANALYSIS FAILED)
end
function module_upvr_3.OnCharacterAdded(arg1, arg2) -- Line 453
arg1.humanoid = arg2:FindFirstChildOfClass("Humanoid")
while not arg1.humanoid do
arg2.ChildAdded:wait()
arg1.humanoid = arg2:FindFirstChildOfClass("Humanoid")
end
if arg1.touchGui then
arg1.touchGui.Enabled = true
end
if arg1.humanoidSeatedConn then
arg1.humanoidSeatedConn:Disconnect()
arg1.humanoidSeatedConn = nil
end
arg1.humanoidSeatedConn = arg1.humanoid.Seated:Connect(function(arg1_2, arg2_2) -- Line 468
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:OnHumanoidSeated(arg1_2, arg2_2)
end)
end
function module_upvr_3.OnCharacterRemoving(arg1, arg2) -- Line 473
arg1.humanoid = nil
if arg1.touchGui then
arg1.touchGui.Enabled = false
end
end
local module_upvr_2 = require(script:WaitForChild("TouchJump"))
function module_upvr_3.SwitchToController(arg1, arg2) -- Line 485
--[[ Upvalues[5]:
[1]: Value_upvr (readonly)
[2]: module_upvr_6 (readonly)
[3]: var11_upvr (readonly)
[4]: module_upvr_7 (readonly)
[5]: module_upvr_2 (readonly)
]]
if not arg2 then
if arg1.activeController then
arg1.activeController:Enable(false)
end
arg1.activeController = nil
arg1.activeControlModule = nil
else
if not arg1.controllers[arg2] then
arg1.controllers[arg2] = arg2.new(Value_upvr)
end
if arg1.activeController ~= arg1.controllers[arg2] then
if arg1.activeController then
arg1.activeController:Enable(false)
end
arg1.activeController = arg1.controllers[arg2]
arg1.activeControlModule = arg2
if arg1.touchControlFrame and (arg1.activeControlModule == module_upvr_6 or arg1.activeControlModule == var11_upvr or arg1.activeControlModule == module_upvr_7) then
if not arg1.controllers[module_upvr_2] then
arg1.controllers[module_upvr_2] = module_upvr_2.new()
end
arg1.touchJumpController = arg1.controllers[module_upvr_2]
arg1.touchJumpController:Enable(true, arg1.touchControlFrame)
elseif arg1.touchJumpController then
arg1.touchJumpController:Enable(false)
end
arg1:EnableActiveControlModule()
end
end
end
function module_upvr_3.OnLastInputTypeChanged(arg1, arg2) -- Line 523
--[[ Upvalues[2]:
[1]: var16_upvw (read and write)
[2]: tbl_upvr_2 (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [3] 3. Error Block 2 start (CF ANALYSIS FAILED)
warn("LastInputType Change listener called with current type.")
-- KONSTANTERROR: [3] 3. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [7] 6. Error Block 3 start (CF ANALYSIS FAILED)
var16_upvw = arg2
-- KONSTANTERROR: [7] 6. Error Block 3 end (CF ANALYSIS FAILED)
end
function module_upvr_3.OnComputerMovementModeChange(arg1) -- Line 548
local any_SelectComputerMovementModule_result1, any_SelectComputerMovementModule_result2 = arg1:SelectComputerMovementModule()
if any_SelectComputerMovementModule_result2 then
arg1:SwitchToController(any_SelectComputerMovementModule_result1)
end
end
function module_upvr_3.OnTouchMovementModeChange(arg1) -- Line 555
local any_SelectTouchModule_result1, any_SelectTouchModule_result2 = arg1:SelectTouchModule()
if any_SelectTouchModule_result2 then
while not arg1.touchControlFrame do
wait()
end
arg1:SwitchToController(any_SelectTouchModule_result1)
end
end
function module_upvr_3.CreateTouchGuiContainer(arg1) -- Line 565
if arg1.touchGui then
arg1.touchGui:Destroy()
end
arg1.touchGui = Instance.new("ScreenGui")
arg1.touchGui.Name = "TouchGui"
arg1.touchGui.ResetOnSpawn = false
local Sibling = Enum.ZIndexBehavior.Sibling
arg1.touchGui.ZIndexBehavior = Sibling
if arg1.humanoid == nil then
Sibling = false
else
Sibling = true
end
arg1.touchGui.Enabled = Sibling
arg1.touchControlFrame = Instance.new("Frame")
arg1.touchControlFrame.Name = "TouchControlFrame"
arg1.touchControlFrame.Size = UDim2.new(1, 0, 1, 0)
arg1.touchControlFrame.BackgroundTransparency = 1
arg1.touchControlFrame.Parent = arg1.touchGui
arg1.touchGui.Parent = arg1.playerGui
end
function module_upvr_3.GetClickToMoveController(arg1) -- Line 584
--[[ Upvalues[2]:
[1]: module_upvr_6 (readonly)
[2]: Value_upvr (readonly)
]]
if not arg1.controllers[module_upvr_6] then
arg1.controllers[module_upvr_6] = module_upvr_6.new(Value_upvr)
end
return arg1.controllers[module_upvr_6]
end
return module_upvr_3.new()
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:19
-- Luau version 6, Types version 3
-- Time taken: 0.036925 seconds
local VRService_upvr = game:GetService("VRService")
local UserInputService_upvr = game:GetService("UserInputService")
local ContextActionService_upvr = game:GetService("ContextActionService")
local var4_upvw
local function _(arg1) -- Line 30, Named "IsFinite"
local var6 = false
if arg1 == arg1 then
var6 = false
if arg1 ~= math.huge then
if arg1 == (-math.huge) then
var6 = false
else
var6 = true
end
end
end
return var6
end
local function _(arg1) -- Line 34, Named "IsFiniteVector3"
local x_4 = arg1.x
local var16
if x_4 == x_4 then
var16 = false
if x_4 ~= math.huge then
if x_4 == (-math.huge) then
var16 = false
else
var16 = true
end
end
end
if var16 then
local y_3 = arg1.y
var16 = false
if y_3 == y_3 then
var16 = false
if y_3 ~= math.huge then
if y_3 == (-math.huge) then
var16 = false
else
var16 = true
end
end
end
if var16 then
local z_2 = arg1.z
var16 = false
if z_2 == z_2 then
var16 = false
if z_2 ~= math.huge then
if z_2 == (-math.huge) then
var16 = false
else
var16 = true
end
end
end
end
end
return var16
end
local BindableEvent_upvr = Instance.new("BindableEvent")
BindableEvent_upvr.Name = "MovementUpdate"
BindableEvent_upvr.Parent = script
coroutine.wrap(function() -- Line 42
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
local PathDisplay = script.Parent:WaitForChild("PathDisplay")
if PathDisplay then
var4_upvw = require(PathDisplay)
end
end)()
local module_upvr = require(script.Parent:WaitForChild("BaseCharacterController"))
local setmetatable_result1_upvr = setmetatable({}, module_upvr)
setmetatable_result1_upvr.__index = setmetatable_result1_upvr
function setmetatable_result1_upvr.new(arg1) -- Line 55
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: setmetatable_result1_upvr (readonly)
]]
local setmetatable_result1 = setmetatable(module_upvr.new(), setmetatable_result1_upvr)
setmetatable_result1.CONTROL_ACTION_PRIORITY = arg1
setmetatable_result1.navigationRequestedConn = nil
setmetatable_result1.heartbeatConn = nil
setmetatable_result1.currentDestination = nil
setmetatable_result1.currentPath = nil
setmetatable_result1.currentPoints = nil
setmetatable_result1.currentPointIdx = 0
setmetatable_result1.expectedTimeToNextPoint = 0
setmetatable_result1.timeReachedLastPoint = tick()
setmetatable_result1.moving = false
setmetatable_result1.isJumpBound = false
setmetatable_result1.moveLatch = false
setmetatable_result1.userCFrameEnabledConn = nil
return setmetatable_result1
end
local StarterGui_upvr = game:GetService("StarterGui")
function setmetatable_result1_upvr.SetLaserPointerMode(arg1, arg2) -- Line 80
--[[ Upvalues[1]:
[1]: StarterGui_upvr (readonly)
]]
pcall(function() -- Line 81
--[[ Upvalues[2]:
[1]: StarterGui_upvr (copied, readonly)
[2]: arg2 (readonly)
]]
StarterGui_upvr:SetCore("VRLaserPointerMode", arg2)
end)
end
local LocalPlayer_upvr = game:GetService("Players").LocalPlayer
function setmetatable_result1_upvr.GetLocalHumanoid(arg1) -- Line 86
--[[ Upvalues[1]:
[1]: LocalPlayer_upvr (readonly)
]]
local Character = LocalPlayer_upvr.Character
if not Character then return end
for _, v in pairs(Character:GetChildren()) do
if v:IsA("Humanoid") then
return v
end
end
return nil
end
function setmetatable_result1_upvr.HasBothHandControllers(arg1) -- Line 100
--[[ Upvalues[1]:
[1]: VRService_upvr (readonly)
]]
local any_GetUserCFrameEnabled_result1_2 = VRService_upvr:GetUserCFrameEnabled(Enum.UserCFrame.RightHand)
if any_GetUserCFrameEnabled_result1_2 then
any_GetUserCFrameEnabled_result1_2 = VRService_upvr:GetUserCFrameEnabled(Enum.UserCFrame.LeftHand)
end
return any_GetUserCFrameEnabled_result1_2
end
function setmetatable_result1_upvr.HasAnyHandControllers(arg1) -- Line 104
--[[ Upvalues[1]:
[1]: VRService_upvr (readonly)
]]
local any_GetUserCFrameEnabled_result1 = VRService_upvr:GetUserCFrameEnabled(Enum.UserCFrame.RightHand)
if not any_GetUserCFrameEnabled_result1 then
any_GetUserCFrameEnabled_result1 = VRService_upvr:GetUserCFrameEnabled(Enum.UserCFrame.LeftHand)
end
return any_GetUserCFrameEnabled_result1
end
function setmetatable_result1_upvr.IsMobileVR(arg1) -- Line 108
--[[ Upvalues[1]:
[1]: UserInputService_upvr (readonly)
]]
return UserInputService_upvr.TouchEnabled
end
function setmetatable_result1_upvr.HasGamepad(arg1) -- Line 112
--[[ Upvalues[1]:
[1]: UserInputService_upvr (readonly)
]]
return UserInputService_upvr.GamepadEnabled
end
function setmetatable_result1_upvr.ShouldUseNavigationLaser(arg1) -- Line 116
if arg1:IsMobileVR() then
return true
end
if arg1:HasBothHandControllers() then
return false
end
if not arg1:HasAnyHandControllers() then
return not arg1:HasGamepad()
end
return true
end
function setmetatable_result1_upvr.StartFollowingPath(arg1, arg2) -- Line 138
--[[ Upvalues[1]:
[1]: BindableEvent_upvr (readonly)
]]
currentPath = arg2 -- Setting global
currentPoints = currentPath:GetPointCoordinates() -- Setting global
currentPointIdx = 1 -- Setting global
moving = true -- Setting global
timeReachedLastPoint = tick() -- Setting global
local any_GetLocalHumanoid_result1_2 = arg1:GetLocalHumanoid()
if any_GetLocalHumanoid_result1_2 and any_GetLocalHumanoid_result1_2.Torso and 1 <= #currentPoints then
expectedTimeToNextPoint = (currentPoints[1] - any_GetLocalHumanoid_result1_2.Torso.Position).magnitude / any_GetLocalHumanoid_result1_2.WalkSpeed -- Setting global
end
BindableEvent_upvr:Fire("targetPoint", arg1.currentDestination)
end
function setmetatable_result1_upvr.GoToPoint(arg1, arg2) -- Line 155
--[[ Upvalues[1]:
[1]: BindableEvent_upvr (readonly)
]]
currentPath = true -- Setting global
local tbl_2 = {}
tbl_2[1] = arg2
currentPoints = tbl_2 -- Setting global
currentPointIdx = 1 -- Setting global
moving = true -- Setting global
local any_GetLocalHumanoid_result1_4 = arg1:GetLocalHumanoid()
timeReachedLastPoint = tick() -- Setting global
expectedTimeToNextPoint = (any_GetLocalHumanoid_result1_4.Torso.Position - arg2).magnitude / any_GetLocalHumanoid_result1_4.WalkSpeed -- Setting global
BindableEvent_upvr:Fire("targetPoint", arg2)
end
function setmetatable_result1_upvr.StopFollowingPath(arg1) -- Line 171
currentPath = nil -- Setting global
currentPoints = nil -- Setting global
currentPointIdx = 0 -- Setting global
moving = false -- Setting global
arg1.moveVector = Vector3.new(0, 0, 0)
end
local PathfindingService_upvr = game:GetService("PathfindingService")
function setmetatable_result1_upvr.TryComputePath(arg1, arg2, arg3) -- Line 179
--[[ Upvalues[1]:
[1]: PathfindingService_upvr (readonly)
]]
local var41
while not var41 and 0 < 5 do
var41 = PathfindingService_upvr:ComputeSmoothPathAsync(arg2, arg3, 200)
local var42 = var41
if var42.Status == Enum.PathStatus.ClosestNoPath or var42.Status == Enum.PathStatus.ClosestOutOfRange then
var42 = nil
do
return var42
end
local var43
end
if var43 and var43.Status == Enum.PathStatus.FailStartNotEmpty then
var43 = nil
end
if var43 and var43.Status == Enum.PathStatus.FailFinishNotEmpty then
var43 = nil
end
end
return var43
end
function setmetatable_result1_upvr.OnNavigationRequest(arg1, arg2, arg3) -- Line 206
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local x = arg2.p.x
local var45
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [9] 6. Error Block 2 start (CF ANALYSIS FAILED)
var45 = false
-- KONSTANTERROR: [9] 6. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [12] 8. Error Block 47 start (CF ANALYSIS FAILED)
if x == (-math.huge) then
var45 = false
else
var45 = true
end
-- KONSTANTERROR: [12] 8. Error Block 47 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [16] 11. Error Block 6 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [16] 11. Error Block 6 end (CF ANALYSIS FAILED)
end
function setmetatable_result1_upvr.OnJumpAction(arg1, arg2, arg3, arg4) -- Line 252
if arg3 == Enum.UserInputState.Begin then
arg1.isJumping = true
end
return Enum.ContextActionResult.Sink
end
function setmetatable_result1_upvr.BindJumpAction(arg1, arg2) -- Line 258
--[[ Upvalues[1]:
[1]: ContextActionService_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [4] 4. Error Block 3 start (CF ANALYSIS FAILED)
arg1.isJumpBound = true
ContextActionService_upvr:BindActionAtPriority("VRJumpAction", function() -- Line 262
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
return arg1:OnJumpAction()
end, false, arg1.CONTROL_ACTION_PRIORITY, Enum.KeyCode.ButtonA)
do
return
end
-- KONSTANTERROR: [4] 4. Error Block 3 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [20] 16. Error Block 7 start (CF ANALYSIS FAILED)
if arg1.isJumpBound then
arg1.isJumpBound = false
ContextActionService_upvr:UnbindAction("VRJumpAction")
end
-- KONSTANTERROR: [20] 16. Error Block 7 end (CF ANALYSIS FAILED)
end
function setmetatable_result1_upvr.ControlCharacterGamepad(arg1, arg2, arg3, arg4) -- Line 273
--[[ Upvalues[2]:
[1]: var4_upvw (read and write)
[2]: BindableEvent_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 33 start (CF ANALYSIS FAILED)
if arg4.KeyCode ~= Enum.KeyCode.Thumbstick1 then return end
if arg3 == Enum.UserInputState.Cancel then
arg1.moveVector = Vector3.new(0, 0, 0)
return
end
if arg3 ~= Enum.UserInputState.End then
arg1:StopFollowingPath()
if var4_upvw then
var4_upvw.clearRenderedPath()
end
if arg1:ShouldUseNavigationLaser() then
arg1:BindJumpAction(true)
arg1:SetLaserPointerMode("Hidden")
end
if 0.22 < arg4.Position.magnitude then
arg1.moveVector = Vector3.new(arg4.Position.X, 0, -arg4.Position.Y)
if 0 < arg1.moveVector.magnitude then
arg1.moveVector = arg1.moveVector.unit * math.min(1, arg4.Position.magnitude)
end
arg1.moveLatch = true
-- KONSTANTWARNING: GOTO [117] #78
end
else
arg1.moveVector = Vector3.new(0, 0, 0)
if arg1:ShouldUseNavigationLaser() then
arg1:BindJumpAction(false)
arg1:SetLaserPointerMode("Navigation")
end
if arg1.moveLatch then
arg1.moveLatch = false
BindableEvent_upvr:Fire("offtrack")
end
end
-- KONSTANTERROR: [0] 1. Error Block 33 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [117] 78. Error Block 19 start (CF ANALYSIS FAILED)
do
return Enum.ContextActionResult.Sink
end
-- KONSTANTERROR: [117] 78. Error Block 19 end (CF ANALYSIS FAILED)
end
function setmetatable_result1_upvr.OnHeartbeat(arg1, arg2) -- Line 316
--[[ Upvalues[2]:
[1]: var4_upvw (read and write)
[2]: BindableEvent_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local any_GetLocalHumanoid_result1_3 = arg1:GetLocalHumanoid()
local var82
if not any_GetLocalHumanoid_result1_3 or not any_GetLocalHumanoid_result1_3.Torso then
else
if arg1.moving and arg1.currentPoints then
local Position_2 = any_GetLocalHumanoid_result1_3.Torso.Position
local var84 = (currentPoints[1] - Position_2) * Vector3.new(1, 0, 1)
local magnitude_2 = var84.magnitude
local var86 = var84 / magnitude_2
if magnitude_2 < 1 then
for i_2, _ in pairs(currentPoints) do
if i_2 ~= 1 then
end
end
table.remove(currentPoints, 1)
currentPointIdx = currentPointIdx + 1 -- Setting global
if #currentPoints == 0 then
arg1:StopFollowingPath()
if var4_upvw then
var4_upvw.clearRenderedPath()
end
return
end
if var4_upvw then
var4_upvw.setCurrentPoints(currentPoints)
var4_upvw.renderPath()
end
expectedTimeToNextPoint = (currentPoints[1] - Position_2).magnitude / any_GetLocalHumanoid_result1_3.WalkSpeed -- Setting global
timeReachedLastPoint = tick() -- Setting global
else
local tbl_3 = {game.Players.LocalPlayer.Character, workspace.CurrentCamera}
local workspace_FindPartOnRayWithIgnoreList_result1_2, workspace_FindPartOnRayWithIgnoreList_result2_4, _ = workspace:FindPartOnRayWithIgnoreList(Ray.new(Position_2 - Vector3.new(0, 1, 0), var86 * 3), tbl_3)
if workspace_FindPartOnRayWithIgnoreList_result1_2 then
local _, workspace_FindPartOnRayWithIgnoreList_result2_3, _ = workspace:FindPartOnRayWithIgnoreList(Ray.new(workspace_FindPartOnRayWithIgnoreList_result2_4 + var86 * 0.5 + Vector3.new(0, 100, 0), Vector3.new(-0, -100, -0)), tbl_3)
local var97 = workspace_FindPartOnRayWithIgnoreList_result2_3.Y - Position_2.Y
if var97 < 6 and -2 < var97 then
any_GetLocalHumanoid_result1_3.Jump = true
end
end
if expectedTimeToNextPoint + 2 < tick() - timeReachedLastPoint then
arg1:StopFollowingPath()
if var4_upvw then
var4_upvw.clearRenderedPath()
end
BindableEvent_upvr:Fire("offtrack")
end
var82 = arg1.moveVector:Lerp(var86, arg2 * 10)
end
end
local var98 = var82
local x_5 = var98.x
if x_5 == x_5 then
if x_5 ~= math.huge then
if x_5 == (-math.huge) then
else
end
end
end
if true then
local y = var98.y
if y == y and y ~= math.huge then
if y == (-math.huge) then
else
end
end
if true then
local z_5 = var98.z
if z_5 == z_5 and z_5 ~= math.huge then
if z_5 == (-math.huge) then
else
end
end
end
end
if true then
arg1.moveVector = var82
end
end
end
function setmetatable_result1_upvr.OnUserCFrameEnabled(arg1) -- Line 400
if arg1:ShouldUseNavigationLaser() then
arg1:BindJumpAction(false)
arg1:SetLaserPointerMode("Navigation")
else
arg1:BindJumpAction(true)
arg1:SetLaserPointerMode("Hidden")
end
end
local RunService_upvr = game:GetService("RunService")
function setmetatable_result1_upvr.Enable(arg1, arg2) -- Line 410
--[[ Upvalues[3]:
[1]: VRService_upvr (readonly)
[2]: RunService_upvr (readonly)
[3]: ContextActionService_upvr (readonly)
]]
arg1.moveVector = Vector3.new(0, 0, 0)
arg1.isJumping = false
if arg2 then
arg1.navigationRequestedConn = VRService_upvr.NavigationRequested:Connect(function(arg1_2, arg2_2) -- Line 416
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:OnNavigationRequest(arg1_2, arg2_2)
end)
arg1.heartbeatConn = RunService_upvr.Heartbeat:Connect(function(arg1_3) -- Line 417
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:OnHeartbeat(arg1_3)
end)
ContextActionService_upvr:BindAction("MoveThumbstick", function(arg1_4, arg2_3, arg3) -- Line 419
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
return arg1:ControlCharacterGamepad(arg1_4, arg2_3, arg3)
end, false, arg1.CONTROL_ACTION_PRIORITY, Enum.KeyCode.Thumbstick1)
ContextActionService_upvr:BindActivate(Enum.UserInputType.Gamepad1, Enum.KeyCode.ButtonR2)
arg1.userCFrameEnabledConn = VRService_upvr.UserCFrameEnabled:Connect(function() -- Line 423
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:OnUserCFrameEnabled()
end)
arg1:OnUserCFrameEnabled()
VRService_upvr:SetTouchpadMode(Enum.VRTouchpad.Left, Enum.VRTouchpadMode.VirtualThumbstick)
VRService_upvr:SetTouchpadMode(Enum.VRTouchpad.Right, Enum.VRTouchpadMode.ABXY)
arg1.enabled = true
else
arg1:StopFollowingPath()
ContextActionService_upvr:UnbindAction("MoveThumbstick")
ContextActionService_upvr:UnbindActivate(Enum.UserInputType.Gamepad1, Enum.KeyCode.ButtonR2)
arg1:BindJumpAction(false)
arg1:SetLaserPointerMode("Disabled")
if arg1.navigationRequestedConn then
arg1.navigationRequestedConn:Disconnect()
arg1.navigationRequestedConn = nil
end
if arg1.heartbeatConn then
arg1.heartbeatConn:Disconnect()
arg1.heartbeatConn = nil
end
if arg1.userCFrameEnabledConn then
arg1.userCFrameEnabledConn:Disconnect()
arg1.userCFrameEnabledConn = nil
end
arg1.enabled = false
end
end
return setmetatable_result1_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:21
-- Luau version 6, Types version 3
-- Time taken: 0.011916 seconds
local module_upvr = require(script.Parent:WaitForChild("BaseCharacterController"))
local setmetatable_result1_upvr = setmetatable({}, module_upvr)
setmetatable_result1_upvr.__index = setmetatable_result1_upvr
function setmetatable_result1_upvr.new() -- Line 16
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: setmetatable_result1_upvr (readonly)
]]
local setmetatable_result1 = setmetatable(module_upvr.new(), setmetatable_result1_upvr)
setmetatable_result1.isFollowStick = false
setmetatable_result1.thumbstickFrame = nil
setmetatable_result1.moveTouchObject = nil
setmetatable_result1.onTouchMovedConn = nil
setmetatable_result1.onTouchEndedConn = nil
setmetatable_result1.screenPos = nil
setmetatable_result1.stickImage = nil
setmetatable_result1.thumbstickSize = nil
return setmetatable_result1
end
function setmetatable_result1_upvr.Enable(arg1, arg2, arg3) -- Line 31
if arg2 == nil then
return false
end
if arg2 then
else
end
local var4 = false
if arg1.enabled == var4 then
return true
end
arg1.moveVector = Vector3.new(0, 0, 0)
arg1.isJumping = false
if var4 then
if not arg1.thumbstickFrame then
arg1:Create(arg3)
end
arg1.thumbstickFrame.Visible = true
else
arg1.thumbstickFrame.Visible = false
arg1:OnInputEnded()
end
arg1.enabled = var4
end
function setmetatable_result1_upvr.OnInputEnded(arg1) -- Line 52
arg1.thumbstickFrame.Position = arg1.screenPos
arg1.stickImage.Position = UDim2.new(0, arg1.thumbstickFrame.Size.X.Offset / 2 - arg1.thumbstickSize / 4, 0, arg1.thumbstickFrame.Size.Y.Offset / 2 - arg1.thumbstickSize / 4)
arg1.moveVector = Vector3.new(0, 0, 0)
arg1.isJumping = false
arg1.thumbstickFrame.Position = arg1.screenPos
arg1.moveTouchObject = nil
end
local UserInputService_upvr = game:GetService("UserInputService")
local GuiService_upvr = game:GetService("GuiService")
function setmetatable_result1_upvr.Create(arg1, arg2) -- Line 61
--[[ Upvalues[2]:
[1]: UserInputService_upvr (readonly)
[2]: GuiService_upvr (readonly)
]]
local var7
if arg1.thumbstickFrame then
arg1.thumbstickFrame:Destroy()
arg1.thumbstickFrame = nil
if arg1.onTouchMovedConn then
arg1.onTouchMovedConn:Disconnect()
arg1.onTouchMovedConn = nil
end
if arg1.onTouchEndedConn then
arg1.onTouchEndedConn:Disconnect()
arg1.onTouchEndedConn = nil
end
end
var7 = arg2.AbsoluteSize
local x = var7.x
var7 = arg2.AbsoluteSize.y
var7 = 500
if math.min(x, var7) > var7 then
x = false
else
x = true
end
if x then
var7 = 70
else
var7 = 120
end
arg1.thumbstickSize = var7
local function INLINED() -- Internal function, doesn't exist in bytecode
var7 = UDim2.new(0, arg1.thumbstickSize / 2 - 10, 1, -arg1.thumbstickSize - 20)
return var7
end
if not x or not INLINED() then
var7 = UDim2.new(0, arg1.thumbstickSize / 2, 1, -arg1.thumbstickSize * 1.75)
end
arg1.screenPos = var7
var7 = Instance.new("Frame")
arg1.thumbstickFrame = var7
var7 = arg1.thumbstickFrame
var7.Name = "ThumbstickFrame"
var7 = arg1.thumbstickFrame
var7.Active = true
var7 = arg1.thumbstickFrame
var7.Visible = false
var7 = arg1.thumbstickFrame
var7.Size = UDim2.new(0, arg1.thumbstickSize, 0, arg1.thumbstickSize)
var7 = arg1.thumbstickFrame
var7.Position = arg1.screenPos
var7 = arg1.thumbstickFrame
var7.BackgroundTransparency = 1
var7 = Instance.new("ImageLabel")
var7.Name = "OuterImage"
var7.Image = "rbxasset://textures/ui/TouchControlsSheet.png"
var7.ImageRectOffset = Vector2.new()
var7.ImageRectSize = Vector2.new(220, 220)
var7.BackgroundTransparency = 1
var7.Size = UDim2.new(0, arg1.thumbstickSize, 0, arg1.thumbstickSize)
var7.Position = UDim2.new(0, 0, 0, 0)
var7.Parent = arg1.thumbstickFrame
arg1.stickImage = Instance.new("ImageLabel")
arg1.stickImage.Name = "StickImage"
arg1.stickImage.Image = "rbxasset://textures/ui/TouchControlsSheet.png"
arg1.stickImage.ImageRectOffset = Vector2.new(220, 0)
arg1.stickImage.ImageRectSize = Vector2.new(111, 111)
arg1.stickImage.BackgroundTransparency = 1
arg1.stickImage.Size = UDim2.new(0, arg1.thumbstickSize / 2, 0, arg1.thumbstickSize / 2)
arg1.stickImage.Position = UDim2.new(0, arg1.thumbstickSize / 2 - arg1.thumbstickSize / 4, 0, arg1.thumbstickSize / 2 - arg1.thumbstickSize / 4)
arg1.stickImage.ZIndex = 2
arg1.stickImage.Parent = arg1.thumbstickFrame
local var9_upvw
local function _(arg1_2) -- Line 114, Named "DoMove"
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
local var10 = (arg1_2) / (arg1.thumbstickSize / 2)
if var10.magnitude < 0.05 then
var10 = Vector3.new()
else
var10 = (var10.unit) * ((var10.magnitude - 0.05) / 0.95)
var10 = Vector3.new(var10.x, 0, var10.y)
end
arg1.moveVector = var10
end
local function MoveStick_upvr(arg1_3) -- Line 132, Named "MoveStick"
--[[ Upvalues[2]:
[1]: var9_upvw (read and write)
[2]: arg1 (readonly)
]]
local magnitude = Vector2.new(arg1_3.x - var9_upvw.x, arg1_3.y - var9_upvw.y).magnitude
local var13 = arg1.thumbstickFrame.AbsoluteSize.x / 2
local var14
if arg1.isFollowStick and var13 < magnitude then
local var15 = var14.unit * var13
arg1.thumbstickFrame.Position = UDim2.new(0, arg1_3.x - arg1.thumbstickFrame.AbsoluteSize.x / 2 - var15.x, 0, arg1_3.y - arg1.thumbstickFrame.AbsoluteSize.y / 2 - var15.y)
else
var14 = var14.unit * math.min(magnitude, var13)
end
arg1.stickImage.Position = UDim2.new(0, var14.x + arg1.stickImage.AbsoluteSize.x / 2, 0, var14.y + arg1.stickImage.AbsoluteSize.y / 2)
end
arg1.thumbstickFrame.InputBegan:Connect(function(arg1_4) -- Line 149
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: var9_upvw (read and write)
]]
if arg1.moveTouchObject or arg1_4.UserInputType ~= Enum.UserInputType.Touch or arg1_4.UserInputState ~= Enum.UserInputState.Begin then
else
arg1.moveTouchObject = arg1_4
arg1.thumbstickFrame.Position = UDim2.new(0, arg1_4.Position.x - arg1.thumbstickFrame.Size.X.Offset / 2, 0, arg1_4.Position.y - arg1.thumbstickFrame.Size.Y.Offset / 2)
var9_upvw = Vector2.new(arg1.thumbstickFrame.AbsolutePosition.x + arg1.thumbstickFrame.AbsoluteSize.x / 2, arg1.thumbstickFrame.AbsolutePosition.y + arg1.thumbstickFrame.AbsoluteSize.y / 2)
end
end)
arg1.onTouchMovedConn = UserInputService_upvr.TouchMoved:Connect(function(arg1_5, arg2_2) -- Line 164
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: var9_upvw (read and write)
[3]: MoveStick_upvr (readonly)
]]
if arg1_5 == arg1.moveTouchObject then
var9_upvw = Vector2.new(arg1.thumbstickFrame.AbsolutePosition.x + arg1.thumbstickFrame.AbsoluteSize.x / 2, arg1.thumbstickFrame.AbsolutePosition.y + arg1.thumbstickFrame.AbsoluteSize.y / 2)
local var18 = (Vector2.new(arg1_5.Position.x - var9_upvw.x, arg1_5.Position.y - var9_upvw.y)) / (arg1.thumbstickSize / 2)
if var18.magnitude < 0.05 then
var18 = Vector3.new()
else
var18 = (var18.unit) * ((var18.magnitude - 0.05) / 0.95)
var18 = Vector3.new(var18.x, 0, var18.y)
end
arg1.moveVector = var18
MoveStick_upvr(arg1_5.Position)
end
end)
arg1.onTouchEndedConn = UserInputService_upvr.TouchEnded:Connect(function(arg1_6, arg2_3) -- Line 174
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_6 == arg1.moveTouchObject then
arg1:OnInputEnded()
end
end)
GuiService_upvr.MenuOpened:Connect(function() -- Line 180
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1.moveTouchObject then
arg1:OnInputEnded()
end
end)
arg1.thumbstickFrame.Parent = arg2
end
return setmetatable_result1_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:22
-- Luau version 6, Types version 3
-- Time taken: 0.006342 seconds
local UserInputService_upvr = game:GetService("UserInputService")
local ContextActionService_upvr = game:GetService("ContextActionService")
local module_upvr = require(script.Parent:WaitForChild("BaseCharacterController"))
local setmetatable_result1_upvr = setmetatable({}, module_upvr)
setmetatable_result1_upvr.__index = setmetatable_result1_upvr
function setmetatable_result1_upvr.new(arg1) -- Line 19
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: setmetatable_result1_upvr (readonly)
]]
local setmetatable_result1 = setmetatable(module_upvr.new(), setmetatable_result1_upvr)
setmetatable_result1.CONTROL_ACTION_PRIORITY = arg1
setmetatable_result1.textFocusReleasedConn = nil
setmetatable_result1.textFocusGainedConn = nil
setmetatable_result1.windowFocusReleasedConn = nil
setmetatable_result1.forwardValue = 0
setmetatable_result1.backwardValue = 0
setmetatable_result1.leftValue = 0
setmetatable_result1.rightValue = 0
setmetatable_result1.jumpEnabled = true
return setmetatable_result1
end
function setmetatable_result1_upvr.Enable(arg1, arg2) -- Line 38
--[[ Upvalues[1]:
[1]: UserInputService_upvr (readonly)
]]
if not UserInputService_upvr.KeyboardEnabled then
return false
end
if arg2 == arg1.enabled then
return true
end
arg1.forwardValue = 0
arg1.backwardValue = 0
arg1.leftValue = 0
arg1.rightValue = 0
arg1.moveVector = Vector3.new(0, 0, 0)
arg1.jumpRequested = false
arg1:UpdateJump()
if arg2 then
arg1:BindContextActions()
arg1:ConnectFocusEventListeners()
else
arg1:UnbindContextActions()
arg1:DisconnectFocusEventListeners()
end
arg1.enabled = arg2
return true
end
function setmetatable_result1_upvr.UpdateMovement(arg1, arg2) -- Line 70
if arg2 == Enum.UserInputState.Cancel then
arg1.moveVector = Vector3.new(0, 0, 0)
else
arg1.moveVector = Vector3.new(arg1.leftValue + arg1.rightValue, 0, arg1.forwardValue + arg1.backwardValue)
end
end
function setmetatable_result1_upvr.UpdateJump(arg1) -- Line 78
arg1.isJumping = arg1.jumpRequested
end
function setmetatable_result1_upvr.BindContextActions(arg1) -- Line 82
--[[ Upvalues[1]:
[1]: ContextActionService_upvr (readonly)
]]
ContextActionService_upvr:BindActionAtPriority("moveForwardAction", function(arg1_2, arg2, arg3) -- Line 88
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
local var7
if arg2 == Enum.UserInputState.Begin then
var7 = -1
else
var7 = 0
end
arg1.forwardValue = var7
arg1:UpdateMovement(arg2)
return Enum.ContextActionResult.Pass
end, false, arg1.CONTROL_ACTION_PRIORITY, Enum.PlayerActions.CharacterForward)
ContextActionService_upvr:BindActionAtPriority("moveBackwardAction", function(arg1_3, arg2, arg3) -- Line 94
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
local var9
if arg2 == Enum.UserInputState.Begin then
var9 = 1
else
var9 = 0
end
arg1.backwardValue = var9
arg1:UpdateMovement(arg2)
return Enum.ContextActionResult.Pass
end, false, arg1.CONTROL_ACTION_PRIORITY, Enum.PlayerActions.CharacterBackward)
ContextActionService_upvr:BindActionAtPriority("moveLeftAction", function(arg1_4, arg2, arg3) -- Line 100
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
local var11
if arg2 == Enum.UserInputState.Begin then
var11 = -1
else
var11 = 0
end
arg1.leftValue = var11
arg1:UpdateMovement(arg2)
return Enum.ContextActionResult.Pass
end, false, arg1.CONTROL_ACTION_PRIORITY, Enum.PlayerActions.CharacterLeft)
ContextActionService_upvr:BindActionAtPriority("moveRightAction", function(arg1_5, arg2, arg3) -- Line 106
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
local var13
if arg2 == Enum.UserInputState.Begin then
var13 = 1
else
var13 = 0
end
arg1.rightValue = var13
arg1:UpdateMovement(arg2)
return Enum.ContextActionResult.Pass
end, false, arg1.CONTROL_ACTION_PRIORITY, Enum.PlayerActions.CharacterRight)
ContextActionService_upvr:BindActionAtPriority("jumpAction", function(arg1_6, arg2, arg3) -- Line 112
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
local jumpEnabled = arg1.jumpEnabled
if jumpEnabled then
if arg2 ~= Enum.UserInputState.Begin then
jumpEnabled = false
else
jumpEnabled = true
end
end
arg1.jumpRequested = jumpEnabled
arg1:UpdateJump()
return Enum.ContextActionResult.Pass
end, false, arg1.CONTROL_ACTION_PRIORITY, Enum.PlayerActions.CharacterJump)
end
function setmetatable_result1_upvr.UnbindContextActions(arg1) -- Line 132
--[[ Upvalues[1]:
[1]: ContextActionService_upvr (readonly)
]]
ContextActionService_upvr:UnbindAction("moveForwardAction")
ContextActionService_upvr:UnbindAction("moveBackwardAction")
ContextActionService_upvr:UnbindAction("moveLeftAction")
ContextActionService_upvr:UnbindAction("moveRightAction")
ContextActionService_upvr:UnbindAction("jumpAction")
end
function setmetatable_result1_upvr.ConnectFocusEventListeners(arg1) -- Line 140
--[[ Upvalues[1]:
[1]: UserInputService_upvr (readonly)
]]
local function onFocusReleased() -- Line 141
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1.moveVector = Vector3.new(0, 0, 0)
arg1.forwardValue = 0
arg1.backwardValue = 0
arg1.leftValue = 0
arg1.rightValue = 0
arg1.jumpRequested = false
arg1:UpdateJump()
end
arg1.textFocusReleasedConn = UserInputService_upvr.TextBoxFocusReleased:Connect(onFocusReleased)
arg1.textFocusGainedConn = UserInputService_upvr.TextBoxFocused:Connect(function(arg1_7) -- Line 151, Named "onTextFocusGained"
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1.jumpRequested = false
arg1:UpdateJump()
end)
arg1.windowFocusReleasedConn = UserInputService_upvr.WindowFocused:Connect(onFocusReleased)
end
function setmetatable_result1_upvr.DisconnectFocusEventListeners(arg1) -- Line 161
if arg1.textFocusReleasedCon then
arg1.textFocusReleasedCon:Disconnect()
arg1.textFocusReleasedCon = nil
end
if arg1.textFocusGainedConn then
arg1.textFocusGainedConn:Disconnect()
arg1.textFocusGainedConn = nil
end
if arg1.windowFocusReleasedConn then
arg1.windowFocusReleasedConn:Disconnect()
arg1.windowFocusReleasedConn = nil
end
end
return setmetatable_result1_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:24
-- Luau version 6, Types version 3
-- Time taken: 0.001335 seconds
local module_upvr = {}
module_upvr.__index = module_upvr
function module_upvr.new() -- Line 14
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
local setmetatable_result1 = setmetatable({}, module_upvr)
setmetatable_result1.enabled = false
setmetatable_result1.moveVector = Vector3.new(0, 0, 0)
setmetatable_result1.moveVectorIsCameraRelative = true
setmetatable_result1.isJumping = false
return setmetatable_result1
end
function module_upvr.OnRenderStepped(arg1, arg2) -- Line 23
end
function module_upvr.GetMoveVector(arg1) -- Line 27
return arg1.moveVector
end
function module_upvr.IsMoveVectorCameraRelative(arg1) -- Line 31
return arg1.moveVectorIsCameraRelative
end
function module_upvr.GetIsJumping(arg1) -- Line 35
return arg1.isJumping
end
function module_upvr.Enable(arg1, arg2) -- Line 41
error("BaseCharacterController:Enable must be overridden in derived classes and should not be called.")
return false
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:25
-- Luau version 6, Types version 3
-- Time taken: 0.009462 seconds
local Players_upvr = game:GetService("Players")
local module_upvr = require(script.Parent:WaitForChild("BaseCharacterController"))
local setmetatable_result1_2_upvr = setmetatable({}, module_upvr)
setmetatable_result1_2_upvr.__index = setmetatable_result1_2_upvr
function setmetatable_result1_2_upvr.new() -- Line 19
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: setmetatable_result1_2_upvr (readonly)
]]
local setmetatable_result1 = setmetatable(module_upvr.new(), setmetatable_result1_2_upvr)
setmetatable_result1.parentUIFrame = nil
setmetatable_result1.jumpButton = nil
setmetatable_result1.characterAddedConn = nil
setmetatable_result1.humanoidStateEnabledChangedConn = nil
setmetatable_result1.humanoidJumpPowerConn = nil
setmetatable_result1.humanoidParentConn = nil
setmetatable_result1.externallyEnabled = false
setmetatable_result1.jumpPower = 0
setmetatable_result1.jumpStateEnabled = true
setmetatable_result1.isJumping = false
setmetatable_result1.humanoid = nil
return setmetatable_result1
end
function setmetatable_result1_2_upvr.EnableButton(arg1, arg2) -- Line 37
--[[ Upvalues[1]:
[1]: Players_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [34] 24. Error Block 10 start (CF ANALYSIS FAILED)
arg1.jumpButton.Visible = true
do
return
end
-- KONSTANTERROR: [34] 24. Error Block 10 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [40] 28. Error Block 11 start (CF ANALYSIS FAILED)
arg1.jumpButton.Visible = false
arg1.isJumping = false
arg1.jumpButton.ImageRectOffset = Vector2.new(1, 146)
-- KONSTANTERROR: [40] 28. Error Block 11 end (CF ANALYSIS FAILED)
end
function setmetatable_result1_2_upvr.UpdateEnabled(arg1) -- Line 57
if 0 < arg1.jumpPower and arg1.jumpStateEnabled then
arg1:EnableButton(true)
else
arg1:EnableButton(false)
end
end
function setmetatable_result1_2_upvr.HumanoidChanged(arg1, arg2) -- Line 65
--[[ Upvalues[1]:
[1]: Players_upvr (readonly)
]]
local Character = Players_upvr.LocalPlayer.Character
if Character then
Character = Players_upvr.LocalPlayer.Character:FindFirstChildOfClass("Humanoid")
end
if Character then
if arg2 == "JumpPower" then
arg1.jumpPower = Character.JumpPower
arg1:UpdateEnabled()
return
end
if arg2 == "Parent" and not Character.Parent then
arg1.humanoidChangeConn:Disconnect()
end
end
end
function setmetatable_result1_2_upvr.HumanoidStateEnabledChanged(arg1, arg2, arg3) -- Line 79
if arg2 == Enum.HumanoidStateType.Jumping then
arg1.jumpStateEnabled = arg3
arg1:UpdateEnabled()
end
end
function setmetatable_result1_2_upvr.CharacterAdded(arg1, arg2) -- Line 86
if arg1.humanoidChangeConn then
arg1.humanoidChangeConn:Disconnect()
arg1.humanoidChangeConn = nil
end
arg1.humanoid = arg2:FindFirstChildOfClass("Humanoid")
while not arg1.humanoid do
arg2.ChildAdded:wait()
arg1.humanoid = arg2:FindFirstChildOfClass("Humanoid")
end
arg1.humanoidJumpPowerConn = arg1.humanoid:GetPropertyChangedSignal("JumpPower"):Connect(function() -- Line 98
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1.jumpPower = arg1.humanoid.JumpPower
arg1:UpdateEnabled()
end)
arg1.humanoidParentConn = arg1.humanoid:GetPropertyChangedSignal("Parent"):Connect(function() -- Line 103
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if not arg1.humanoid.Parent then
arg1.humanoidJumpPowerConn:Disconnect()
arg1.humanoidJumpPowerConn = nil
arg1.humanoidParentConn:Disconnect()
arg1.humanoidParentConn = nil
end
end)
arg1.humanoidStateEnabledChangedConn = arg1.humanoid.StateEnabledChanged:Connect(function(arg1_2, arg2_2) -- Line 112
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:HumanoidStateEnabledChanged(arg1_2, arg2_2)
end)
arg1.jumpPower = arg1.humanoid.JumpPower
arg1.jumpStateEnabled = arg1.humanoid:GetStateEnabled(Enum.HumanoidStateType.Jumping)
arg1:UpdateEnabled()
end
function setmetatable_result1_2_upvr.SetupCharacterAddedFunction(arg1) -- Line 121
--[[ Upvalues[1]:
[1]: Players_upvr (readonly)
]]
arg1.characterAddedConn = Players_upvr.LocalPlayer.CharacterAdded:Connect(function(arg1_3) -- Line 122
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:CharacterAdded(arg1_3)
end)
if Players_upvr.LocalPlayer.Character then
arg1:CharacterAdded(Players_upvr.LocalPlayer.Character)
end
end
function setmetatable_result1_2_upvr.Enable(arg1, arg2, arg3) -- Line 130
if arg3 then
arg1.parentUIFrame = arg3
end
arg1.externallyEnabled = arg2
arg1:EnableButton(arg2)
end
local GuiService_upvr = game:GetService("GuiService")
function setmetatable_result1_2_upvr.Create(arg1) -- Line 138
--[[ Upvalues[1]:
[1]: GuiService_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var11
if not arg1.parentUIFrame then
else
if arg1.jumpButton then
arg1.jumpButton:Destroy()
arg1.jumpButton = nil
end
var11 = arg1.parentUIFrame.AbsoluteSize
local x = var11.x
var11 = arg1.parentUIFrame.AbsoluteSize.y
var11 = 500
if math.min(x, var11) > var11 then
x = false
else
x = true
end
if x then
var11 = 70
else
var11 = 120
end
arg1.jumpButton = Instance.new("ImageButton")
arg1.jumpButton.Name = "JumpButton"
arg1.jumpButton.Visible = false
arg1.jumpButton.BackgroundTransparency = 1
arg1.jumpButton.Image = "rbxasset://textures/ui/Input/TouchControlsSheetV2.png"
arg1.jumpButton.ImageRectOffset = Vector2.new(1, 146)
arg1.jumpButton.ImageRectSize = Vector2.new(144, 144)
arg1.jumpButton.Size = UDim2.new(0, var11, 0, var11)
if not x or not UDim2.new(1, -(var11 * 1.5 - 10), 1, -var11 - 20) then
end
arg1.jumpButton.Position = UDim2.new(1, -(var11 * 1.5 - 10), 1, -var11 * 1.75)
local var13_upvw
arg1.jumpButton.InputBegan:connect(function(arg1_4) -- Line 165
--[[ Upvalues[2]:
[1]: var13_upvw (read and write)
[2]: arg1 (readonly)
]]
if var13_upvw or arg1_4.UserInputType ~= Enum.UserInputType.Touch or arg1_4.UserInputState ~= Enum.UserInputState.Begin then
else
var13_upvw = arg1_4
arg1.jumpButton.ImageRectOffset = Vector2.new(146, 146)
arg1.isJumping = true
end
end)
local function _() -- Line 178
--[[ Upvalues[2]:
[1]: var13_upvw (read and write)
[2]: arg1 (readonly)
]]
var13_upvw = nil
arg1.isJumping = false
arg1.jumpButton.ImageRectOffset = Vector2.new(1, 146)
end
arg1.jumpButton.InputEnded:connect(function(arg1_5) -- Line 184
--[[ Upvalues[2]:
[1]: var13_upvw (read and write)
[2]: arg1 (readonly)
]]
if arg1_5 == var13_upvw then
var13_upvw = nil
arg1.isJumping = false
arg1.jumpButton.ImageRectOffset = Vector2.new(1, 146)
end
end)
GuiService_upvr.MenuOpened:connect(function() -- Line 190
--[[ Upvalues[2]:
[1]: var13_upvw (read and write)
[2]: arg1 (readonly)
]]
if var13_upvw then
var13_upvw = nil
arg1.isJumping = false
arg1.jumpButton.ImageRectOffset = Vector2.new(1, 146)
end
end)
if not arg1.characterAddedConn then
arg1:SetupCharacterAddedFunction()
end
arg1.jumpButton.Parent = arg1.parentUIFrame
end
end
return setmetatable_result1_2_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:26
-- Luau version 6, Types version 3
-- Time taken: 0.005700 seconds
local module_upvr = {
spacing = 8;
image = "rbxasset://textures/Cursors/Gamepad/Pointer.png";
imageSize = Vector2.new(2, 2);
}
local tbl_upvw_2 = {}
local tbl_upvw = {}
local Model_upvr = Instance.new("Model")
Model_upvr.Name = "PathDisplayPoints"
local Part = Instance.new("Part")
Part.Anchored = true
Part.CanCollide = false
Part.Transparency = 1
Part.Name = "PathDisplayAdornee"
Part.CFrame = CFrame.new(0, 0, 0)
Part.Parent = Model_upvr
local tbl_upvr = {}
local var9_upvw = 30
for i = 1, var9_upvw do
local ImageHandleAdornment = Instance.new("ImageHandleAdornment")
ImageHandleAdornment.Archivable = false
ImageHandleAdornment.Adornee = Part
ImageHandleAdornment.Image = module_upvr.image
ImageHandleAdornment.Size = module_upvr.imageSize
tbl_upvr[i] = ImageHandleAdornment
end
local function _() -- Line 33, Named "retrieveFromPool"
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: var9_upvw (read and write)
]]
local _1 = tbl_upvr[1]
if not _1 then return end
tbl_upvr[1] = tbl_upvr[var9_upvw]
tbl_upvr[var9_upvw] = nil
var9_upvw -= 1
return _1
end
local function _(arg1) -- Line 44, Named "returnToPool"
--[[ Upvalues[2]:
[1]: var9_upvw (read and write)
[2]: tbl_upvr (readonly)
]]
var9_upvw += 1
tbl_upvr[var9_upvw] = arg1
end
local function renderPoint_upvr(arg1, arg2) -- Line 49, Named "renderPoint"
--[[ Upvalues[3]:
[1]: var9_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: Model_upvr (readonly)
]]
if var9_upvw == 0 then return end
local workspace_FindPartOnRayWithIgnoreList_result1, workspace_FindPartOnRayWithIgnoreList_result2, workspace_FindPartOnRayWithIgnoreList_result3 = workspace:FindPartOnRayWithIgnoreList(Ray.new(arg1 + Vector3.new(0, 2, 0), Vector3.new(0, -8, 0)), {game.Players.LocalPlayer.Character, workspace.CurrentCamera})
if not workspace_FindPartOnRayWithIgnoreList_result1 then return end
local var16 = workspace_FindPartOnRayWithIgnoreList_result2
local _1_2 = tbl_upvr[1]
if not _1_2 then
var16 = nil
else
tbl_upvr[1] = tbl_upvr[var9_upvw]
tbl_upvr[var9_upvw] = nil
var9_upvw -= 1
var16 = _1_2
end
var16.CFrame = CFrame.new(var16, workspace_FindPartOnRayWithIgnoreList_result2 + workspace_FindPartOnRayWithIgnoreList_result3)
var16.Parent = Model_upvr
return var16
end
function module_upvr.setCurrentPoints(arg1) -- Line 68
--[[ Upvalues[1]:
[1]: tbl_upvw_2 (read and write)
]]
if typeof(arg1) == "table" then
tbl_upvw_2 = arg1
else
tbl_upvw_2 = {}
end
end
function module_upvr.clearRenderedPath() -- Line 76
--[[ Upvalues[4]:
[1]: tbl_upvw (read and write)
[2]: var9_upvw (read and write)
[3]: tbl_upvr (readonly)
[4]: Model_upvr (readonly)
]]
for _, v in ipairs(tbl_upvw) do
v.Parent = nil
var9_upvw += 1
tbl_upvr[var9_upvw] = v
end
tbl_upvw = {}
Model_upvr.Parent = nil
end
function module_upvr.renderPath() -- Line 85
--[[ Upvalues[5]:
[1]: module_upvr (readonly)
[2]: tbl_upvw_2 (read and write)
[3]: tbl_upvw (read and write)
[4]: renderPoint_upvr (readonly)
[5]: Model_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 21 start (CF ANALYSIS FAILED)
module_upvr.clearRenderedPath()
local var23
local function INLINED() -- Internal function, doesn't exist in bytecode
var23 = #tbl_upvw_2
return var23 == 0
end
if not var23 or INLINED() then return end
var23 = #tbl_upvw_2
local const_number = 0
tbl_upvw[1] = renderPoint_upvr(tbl_upvw_2[var23], true)
local var25 = tbl_upvw
local _1_3 = var25[1]
-- KONSTANTERROR: [0] 1. Error Block 21 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [25] 24. Error Block 6 start (CF ANALYSIS FAILED)
do
return
end
-- KONSTANTERROR: [25] 24. Error Block 6 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [35] 33. Error Block 28 start (CF ANALYSIS FAILED)
local var27 = var25 - _1_3
local magnitude = var27.magnitude
if magnitude < const_number then
var23 -= 1
else
local renderPoint_result1 = renderPoint_upvr(_1_3 + var27.unit * (const_number - magnitude), false)
if renderPoint_result1 then
tbl_upvw[#tbl_upvw + 1] = renderPoint_result1
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
end
-- KONSTANTERROR: [35] 33. Error Block 28 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [26] 25. Error Block 7 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [61.263163]
-- KONSTANTERROR: [26] 25. Error Block 7 end (CF ANALYSIS FAILED)
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:28
-- Luau version 6, Types version 3
-- Time taken: 0.051759 seconds
local tbl_upvr = {0.10999999999999999, 0.30000000000000004, 0.4, 0.5, 0.6, 0.7, 0.75}
local len_upvr = #tbl_upvr
local Players = game:GetService("Players")
local ContextActionService_upvr = game:GetService("ContextActionService")
local TweenService_upvr = game:GetService("TweenService")
local LocalPlayer_upvw = Players.LocalPlayer
if not LocalPlayer_upvw then
Players:GetPropertyChangedSignal("LocalPlayer"):Wait()
LocalPlayer_upvw = Players.LocalPlayer
end
local module_upvr = require(script.Parent:WaitForChild("BaseCharacterController"))
local setmetatable_result1_2_upvr = setmetatable({}, module_upvr)
setmetatable_result1_2_upvr.__index = setmetatable_result1_2_upvr
function setmetatable_result1_2_upvr.new() -- Line 44
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: setmetatable_result1_2_upvr (readonly)
]]
local setmetatable_result1 = setmetatable(module_upvr.new(), setmetatable_result1_2_upvr)
setmetatable_result1.moveTouchObject = nil
setmetatable_result1.moveTouchLockedIn = false
setmetatable_result1.moveTouchFirstChanged = false
setmetatable_result1.moveTouchStartPosition = nil
setmetatable_result1.startImage = nil
setmetatable_result1.endImage = nil
setmetatable_result1.middleImages = {}
setmetatable_result1.startImageFadeTween = nil
setmetatable_result1.endImageFadeTween = nil
setmetatable_result1.middleImageFadeTweens = {}
setmetatable_result1.isFirstTouch = true
setmetatable_result1.thumbstickFrame = nil
setmetatable_result1.onRenderSteppedConn = nil
setmetatable_result1.fadeInAndOutBalance = 0.5
setmetatable_result1.fadeInAndOutHalfDuration = 0.3
setmetatable_result1.hasFadedBackgroundInPortrait = false
setmetatable_result1.hasFadedBackgroundInLandscape = false
setmetatable_result1.tweenInAlphaStart = nil
setmetatable_result1.tweenOutAlphaStart = nil
return setmetatable_result1
end
function setmetatable_result1_2_upvr.GetIsJumping(arg1) -- Line 79
arg1.isJumping = false
return arg1.isJumping
end
function setmetatable_result1_2_upvr.Enable(arg1, arg2, arg3) -- Line 85
--[[ Upvalues[1]:
[1]: ContextActionService_upvr (readonly)
]]
if arg2 == nil then
return false
end
if arg2 then
else
end
local var10 = false
if arg1.enabled == var10 then
return true
end
if var10 then
if not arg1.thumbstickFrame then
arg1:Create(arg3)
end
arg1:BindContextActions()
else
ContextActionService_upvr:UnbindAction("DynamicThumbstickAction")
arg1:OnInputEnded()
end
arg1.enabled = var10
arg1.thumbstickFrame.Visible = var10
end
function setmetatable_result1_2_upvr.OnInputEnded(arg1) -- Line 108
arg1.moveTouchObject = nil
arg1.moveVector = Vector3.new(0, 0, 0)
arg1:FadeThumbstick(false)
end
local TweenInfo_new_result1_upvr = TweenInfo.new(0.15, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut)
function setmetatable_result1_2_upvr.FadeThumbstick(arg1, arg2) -- Line 114
--[[ Upvalues[3]:
[1]: TweenService_upvr (readonly)
[2]: TweenInfo_new_result1_upvr (readonly)
[3]: tbl_upvr (readonly)
]]
if not arg2 and arg1.moveTouchObject then
else
if arg1.isFirstTouch then return end
if arg1.startImageFadeTween then
arg1.startImageFadeTween:Cancel()
end
if arg1.endImageFadeTween then
arg1.endImageFadeTween:Cancel()
end
for i_3 = 1, #arg1.middleImages do
if arg1.middleImageFadeTweens[i_3] then
arg1.middleImageFadeTweens[i_3]:Cancel()
end
end
if arg2 then
i_3 = arg1.startImage
arg1.startImageFadeTween = TweenService_upvr:Create(i_3, TweenInfo_new_result1_upvr, {
ImageTransparency = 0;
})
arg1.startImageFadeTween:Play()
i_3 = arg1.endImage
arg1.endImageFadeTween = TweenService_upvr:Create(i_3, TweenInfo_new_result1_upvr, {
ImageTransparency = 0.2;
})
arg1.endImageFadeTween:Play()
i_3 = 1
for i_4 = i_3, #arg1.middleImages do
arg1.middleImageFadeTweens[i_4] = TweenService_upvr:Create(arg1.middleImages[i_4], TweenInfo_new_result1_upvr, {
ImageTransparency = tbl_upvr[i_4];
})
arg1.middleImageFadeTweens[i_4]:Play()
end
return
end
arg1.startImageFadeTween = TweenService_upvr:Create(arg1.startImage, TweenInfo_new_result1_upvr, {
ImageTransparency = 1;
})
arg1.startImageFadeTween:Play()
arg1.endImageFadeTween = TweenService_upvr:Create(arg1.endImage, TweenInfo_new_result1_upvr, {
ImageTransparency = 1;
})
arg1.endImageFadeTween:Play()
for i_5 = 1, #arg1.middleImages do
arg1.middleImageFadeTweens[i_5] = TweenService_upvr:Create(arg1.middleImages[i_5], TweenInfo_new_result1_upvr, {
ImageTransparency = 1;
})
arg1.middleImageFadeTweens[i_5]:Play()
end
end
end
function setmetatable_result1_2_upvr.FadeThumbstickFrame(arg1, arg2, arg3) -- Line 157
arg1.fadeInAndOutHalfDuration = arg2 * 0.5
arg1.fadeInAndOutBalance = arg3
arg1.tweenInAlphaStart = tick()
end
function setmetatable_result1_2_upvr.InputInFrame(arg1, arg2) -- Line 163
local AbsolutePosition = arg1.thumbstickFrame.AbsolutePosition
local var22 = AbsolutePosition + arg1.thumbstickFrame.AbsoluteSize
local Position = arg2.Position
if AbsolutePosition.X <= Position.X and AbsolutePosition.Y <= Position.Y and Position.X <= var22.X and Position.Y <= var22.Y then
return true
end
return false
end
function setmetatable_result1_2_upvr.DoFadeInBackground(arg1) -- Line 175
--[[ Upvalues[1]:
[1]: LocalPlayer_upvw (read and write)
]]
local class_PlayerGui = LocalPlayer_upvw:FindFirstChildOfClass("PlayerGui")
local var25 = false
if class_PlayerGui then
if class_PlayerGui.CurrentScreenOrientation == Enum.ScreenOrientation.LandscapeLeft or class_PlayerGui.CurrentScreenOrientation == Enum.ScreenOrientation.LandscapeRight then
var25 = arg1.hasFadedBackgroundInLandscape
arg1.hasFadedBackgroundInLandscape = true
elseif class_PlayerGui.CurrentScreenOrientation == Enum.ScreenOrientation.Portrait then
var25 = arg1.hasFadedBackgroundInPortrait
arg1.hasFadedBackgroundInPortrait = true
end
end
if not var25 then
arg1.fadeInAndOutHalfDuration = 0.3
arg1.fadeInAndOutBalance = 0.5
arg1.tweenInAlphaStart = tick()
end
end
function setmetatable_result1_2_upvr.DoMove(arg1, arg2) -- Line 198
local var26 = arg2
if var26.magnitude < arg1.radiusOfDeadZone then
var26 = Vector3.new(0, 0, 0)
else
var26 = var26.unit * (1 - math.max(0, (arg1.radiusOfMaxSpeed - var26.magnitude) / arg1.radiusOfMaxSpeed))
var26 = Vector3.new(var26.x, 0, var26.y)
end
arg1.moveVector = var26
end
function setmetatable_result1_2_upvr.LayoutMiddleImages(arg1, arg2, arg3) -- Line 216
--[[ Upvalues[1]:
[1]: len_upvr (readonly)
]]
local var29 = arg1.thumbstickSize / 2 + arg1.middleSize
local var30 = arg3 - arg2
local var31 = var30.magnitude - arg1.thumbstickRingSize / 2 - arg1.middleSize
local var32
if arg1.middleSpacing * len_upvr < var31 then
var32 = var31 / len_upvr
end
for i = 1, len_upvr do
local var33 = arg1.middleImages[i]
local var34 = var29 + var32 * (i - 1)
if var29 + var32 * (i - 2) < var31 then
local var35 = arg3 - var30.unit * var34
local clamped = math.clamp(1 - (var34 - var31) / var32, 0, 1)
var33.Visible = true
var33.Position = UDim2.new(0, var35.X, 0, var35.Y)
var33.Size = UDim2.new(0, arg1.middleSize * clamped, 0, arg1.middleSize * clamped)
else
var33.Visible = false
end
end
end
function setmetatable_result1_2_upvr.MoveStick(arg1, arg2) -- Line 247
local var37 = Vector2.new(arg2.X, arg2.Y) - arg1.thumbstickFrame.AbsolutePosition
arg1.endImage.Position = UDim2.new(0, var37.X, 0, var37.Y)
arg1:LayoutMiddleImages(Vector2.new(arg1.moveTouchStartPosition.X, arg1.moveTouchStartPosition.Y) - arg1.thumbstickFrame.AbsolutePosition, var37)
end
local Value_upvr = Enum.ContextActionPriority.High.Value
function setmetatable_result1_2_upvr.BindContextActions(arg1) -- Line 255
--[[ Upvalues[3]:
[1]: TweenService_upvr (readonly)
[2]: ContextActionService_upvr (readonly)
[3]: Value_upvr (readonly)
]]
local function inputBegan_upvr(arg1_2) -- Line 256, Named "inputBegan"
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: TweenService_upvr (copied, readonly)
]]
if arg1.moveTouchObject then
return Enum.ContextActionResult.Pass
end
if not arg1:InputInFrame(arg1_2) then
return Enum.ContextActionResult.Pass
end
if arg1.isFirstTouch then
arg1.isFirstTouch = false
local TweenInfo_new_result1 = TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, 0)
TweenService_upvr:Create(arg1.startImage, TweenInfo_new_result1, {
Size = UDim2.new(0, 0, 0, 0);
}):Play()
TweenService_upvr:Create(arg1.endImage, TweenInfo_new_result1, {
Size = UDim2.new(0, arg1.thumbstickSize, 0, arg1.thumbstickSize);
ImageColor3 = Color3.new(0, 0, 0);
}):Play()
end
arg1.moveTouchLockedIn = false
arg1.moveTouchObject = arg1_2
arg1.moveTouchStartPosition = arg1_2.Position
arg1.moveTouchFirstChanged = true
arg1:DoFadeInBackground()
return Enum.ContextActionResult.Pass
end
local function inputChanged_upvr(arg1_3) -- Line 288, Named "inputChanged"
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_3 == arg1.moveTouchObject then
if arg1.moveTouchFirstChanged then
arg1.moveTouchFirstChanged = false
local vector2 = Vector2.new(arg1_3.Position.X - arg1.thumbstickFrame.AbsolutePosition.X, arg1_3.Position.Y - arg1.thumbstickFrame.AbsolutePosition.Y)
arg1.startImage.Visible = true
arg1.startImage.Position = UDim2.new(0, vector2.X, 0, vector2.Y)
arg1.endImage.Visible = true
arg1.endImage.Position = arg1.startImage.Position
arg1:FadeThumbstick(true)
arg1:MoveStick(arg1_3.Position)
end
arg1.moveTouchLockedIn = true
local vector2_2 = Vector2.new(arg1_3.Position.x - arg1.moveTouchStartPosition.x, arg1_3.Position.y - arg1.moveTouchStartPosition.y)
if 0 < math.abs(vector2_2.x) or 0 < math.abs(vector2_2.y) then
arg1:DoMove(vector2_2)
arg1:MoveStick(arg1_3.Position)
end
return Enum.ContextActionResult.Sink
end
return Enum.ContextActionResult.Pass
end
local function _(arg1_4) -- Line 321, Named "inputEnded"
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_4 == arg1.moveTouchObject then
arg1:OnInputEnded()
if arg1.moveTouchLockedIn then
return Enum.ContextActionResult.Sink
end
end
return Enum.ContextActionResult.Pass
end
ContextActionService_upvr:BindActionAtPriority("DynamicThumbstickAction", function(arg1_5, arg2, arg3) -- Line 331, Named "handleInput"
--[[ Upvalues[3]:
[1]: inputBegan_upvr (readonly)
[2]: inputChanged_upvr (readonly)
[3]: arg1 (readonly)
]]
if arg2 == Enum.UserInputState.Begin then
return inputBegan_upvr(arg3)
end
if arg2 == Enum.UserInputState.Change then
return inputChanged_upvr(arg3)
end
if arg2 == Enum.UserInputState.End then
if arg3 == arg1.moveTouchObject then
arg1:OnInputEnded()
if arg1.moveTouchLockedIn then
return Enum.ContextActionResult.Sink
end
end
return Enum.ContextActionResult.Pass
end
if arg2 == Enum.UserInputState.Cancel then
arg1:OnInputEnded()
end
end, false, Value_upvr, Enum.UserInputType.Touch)
end
local RunService_upvr = game:GetService("RunService")
local UserInputService_upvr = game:GetService("UserInputService")
local GuiService_upvr = game:GetService("GuiService")
function setmetatable_result1_2_upvr.Create(arg1, arg2) -- Line 351
--[[ Upvalues[6]:
[1]: len_upvr (readonly)
[2]: tbl_upvr (readonly)
[3]: RunService_upvr (readonly)
[4]: UserInputService_upvr (readonly)
[5]: GuiService_upvr (readonly)
[6]: LocalPlayer_upvw (read and write)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var76
if arg1.thumbstickFrame then
arg1.thumbstickFrame:Destroy()
arg1.thumbstickFrame = nil
if arg1.onRenderSteppedConn then
arg1.onRenderSteppedConn:Disconnect()
arg1.onRenderSteppedConn = nil
end
end
arg1.thumbstickSize = 45
arg1.thumbstickRingSize = 20
arg1.middleSize = 10
local middleSize = arg1.middleSize
arg1.middleSpacing = middleSize + 4
arg1.radiusOfDeadZone = 2
arg1.radiusOfMaxSpeed = 20
local AbsoluteSize_2 = arg2.AbsoluteSize
if 500 >= math.min(AbsoluteSize_2.x, AbsoluteSize_2.y) then
middleSize = false
else
middleSize = true
end
if middleSize then
arg1.thumbstickSize *= 2
arg1.thumbstickRingSize *= 2
arg1.middleSize *= 2
arg1.middleSpacing *= 2
arg1.radiusOfDeadZone *= 2
arg1.radiusOfMaxSpeed *= 2
end
local function layoutThumbstickFrame_upvr(arg1_8) -- Line 379, Named "layoutThumbstickFrame"
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_8 then
arg1.thumbstickFrame.Size = UDim2.new(1, 0, 0.4, 0)
arg1.thumbstickFrame.Position = UDim2.new(0, 0, 0.6, 0)
else
arg1.thumbstickFrame.Size = UDim2.new(0.4, 0, 0.6666666666666666, 0)
arg1.thumbstickFrame.Position = UDim2.new(0, 0, 0.3333333333333333, 0)
end
end
arg1.thumbstickFrame = Instance.new("Frame")
arg1.thumbstickFrame.BorderSizePixel = 0
arg1.thumbstickFrame.Name = "DynamicThumbstickFrame"
arg1.thumbstickFrame.Visible = false
arg1.thumbstickFrame.BackgroundTransparency = 1
var76 = 0
arg1.thumbstickFrame.BackgroundColor3 = Color3.fromRGB(var76, 0, 0)
arg1.thumbstickFrame.Active = false
var76 = 0.4
arg1.thumbstickFrame.Size = UDim2.new(var76, 0, 0.6666666666666666, 0)
var76 = 0
arg1.thumbstickFrame.Position = UDim2.new(var76, 0, 0.3333333333333333, 0)
arg1.startImage = Instance.new("ImageLabel")
arg1.startImage.Name = "ThumbstickStart"
arg1.startImage.Visible = true
arg1.startImage.BackgroundTransparency = 1
arg1.startImage.Image = "rbxasset://textures/ui/Input/TouchControlsSheetV2.png"
var76 = 1
arg1.startImage.ImageRectOffset = Vector2.new(var76, 1)
var76 = 144
arg1.startImage.ImageRectSize = Vector2.new(var76, 144)
var76 = 0
arg1.startImage.ImageColor3 = Color3.new(var76, 0, 0)
var76 = 0.5
arg1.startImage.AnchorPoint = Vector2.new(var76, 0.5)
var76 = 0
arg1.startImage.Position = UDim2.new(var76, arg1.thumbstickRingSize * 3.3, 1, -arg1.thumbstickRingSize * 2.8)
var76 = 0
arg1.startImage.Size = UDim2.new(var76, arg1.thumbstickRingSize * 3.7, 0, arg1.thumbstickRingSize * 3.7)
arg1.startImage.ZIndex = 10
arg1.startImage.Parent = arg1.thumbstickFrame
arg1.endImage = Instance.new("ImageLabel")
arg1.endImage.Name = "ThumbstickEnd"
arg1.endImage.Visible = true
arg1.endImage.BackgroundTransparency = 1
arg1.endImage.Image = "rbxasset://textures/ui/Input/TouchControlsSheetV2.png"
var76 = 1
arg1.endImage.ImageRectOffset = Vector2.new(var76, 1)
var76 = 144
arg1.endImage.ImageRectSize = Vector2.new(var76, 144)
var76 = 0.5
arg1.endImage.AnchorPoint = Vector2.new(var76, 0.5)
var76 = arg1.startImage
arg1.endImage.Position = var76.Position
var76 = 0
arg1.endImage.Size = UDim2.new(var76, arg1.thumbstickSize * 0.8, 0, arg1.thumbstickSize * 0.8)
arg1.endImage.ZIndex = 10
arg1.endImage.Parent = arg1.thumbstickFrame
var76 = 1
for i_2 = var76, len_upvr do
arg1.middleImages[i_2] = Instance.new("ImageLabel")
arg1.middleImages[i_2].Name = "ThumbstickMiddle"
arg1.middleImages[i_2].Visible = false
arg1.middleImages[i_2].BackgroundTransparency = 1
arg1.middleImages[i_2].Image = "rbxasset://textures/ui/Input/TouchControlsSheetV2.png"
arg1.middleImages[i_2].ImageRectOffset = Vector2.new(1, 1)
arg1.middleImages[i_2].ImageRectSize = Vector2.new(144, 144)
arg1.middleImages[i_2].ImageTransparency = tbl_upvr[i_2]
arg1.middleImages[i_2].AnchorPoint = Vector2.new(0.5, 0.5)
arg1.middleImages[i_2].ZIndex = 9
arg1.middleImages[i_2].Parent = arg1.thumbstickFrame
end
local var79_upvw
local function onCurrentCameraChanged() -- Line 440
--[[ Upvalues[2]:
[1]: var79_upvw (read and write)
[2]: layoutThumbstickFrame_upvr (readonly)
]]
if var79_upvw then
var79_upvw:Disconnect()
var79_upvw = nil
end
local CurrentCamera_upvr = workspace.CurrentCamera
local var81
if CurrentCamera_upvr then
var79_upvw = CurrentCamera_upvr:GetPropertyChangedSignal("ViewportSize"):Connect(function() -- Line 447, Named "onViewportSizeChanged"
--[[ Upvalues[2]:
[1]: CurrentCamera_upvr (readonly)
[2]: layoutThumbstickFrame_upvr (copied, readonly)
]]
local var82 = CurrentCamera_upvr
local ViewportSize_4 = var82.ViewportSize
if ViewportSize_4.X >= ViewportSize_4.Y then
var82 = false
else
var82 = true
end
layoutThumbstickFrame_upvr(var82)
end)
local ViewportSize_3 = CurrentCamera_upvr.ViewportSize
if ViewportSize_3.X >= ViewportSize_3.Y then
var81 = false
else
var81 = true
end
layoutThumbstickFrame_upvr(var81)
end
end
workspace:GetPropertyChangedSignal("CurrentCamera"):Connect(onCurrentCameraChanged)
if workspace.CurrentCamera then
onCurrentCameraChanged()
end
arg1.moveTouchStartPosition = nil
arg1.startImageFadeTween = nil
arg1.endImageFadeTween = nil
arg1.middleImageFadeTweens = {}
arg1.onRenderSteppedConn = RunService_upvr.RenderStepped:Connect(function() -- Line 467
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [36] 26. Error Block 3 start (CF ANALYSIS FAILED)
arg1.tweenOutAlphaStart = tick()
arg1.tweenInAlphaStart = nil
do
return
end
-- KONSTANTERROR: [36] 26. Error Block 3 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [47] 34. Error Block 9 start (CF ANALYSIS FAILED)
if arg1.tweenOutAlphaStart ~= nil then
local var86 = tick() - arg1.tweenOutAlphaStart
local var87 = arg1.fadeInAndOutHalfDuration * 2 - arg1.fadeInAndOutHalfDuration * 2 * arg1.fadeInAndOutBalance
arg1.thumbstickFrame.BackgroundTransparency = math.min(var86 / var87, 1) * 0.35 + 0.65
if var87 < var86 then
arg1.tweenOutAlphaStart = nil
end
end
-- KONSTANTERROR: [47] 34. Error Block 9 end (CF ANALYSIS FAILED)
end)
arg1.onTouchEndedConn = UserInputService_upvr.TouchEnded:connect(function(arg1_9) -- Line 486
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_9 == arg1.moveTouchObject then
arg1:OnInputEnded()
end
end)
GuiService_upvr.MenuOpened:connect(function() -- Line 492
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1.moveTouchObject then
arg1:OnInputEnded()
end
end)
while not LocalPlayer_upvw:FindFirstChildOfClass("PlayerGui") do
LocalPlayer_upvw.ChildAdded:wait()
end
if LocalPlayer_upvw:FindFirstChildOfClass("PlayerGui").CurrentScreenOrientation ~= Enum.ScreenOrientation.LandscapeLeft then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if LocalPlayer_upvw:FindFirstChildOfClass("PlayerGui").CurrentScreenOrientation ~= Enum.ScreenOrientation.LandscapeRight then
else
end
end
local function _() -- Line 508, Named "longShowBackground"
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1.fadeInAndOutHalfDuration = 2.5
arg1.fadeInAndOutBalance = 0.05
arg1.tweenInAlphaStart = tick()
end
local var91_upvr = true
local class_PlayerGui_2_upvw = LocalPlayer_upvw:FindFirstChildOfClass("PlayerGui")
local var93_upvw
var93_upvw = LocalPlayer_upvw:FindFirstChildOfClass("PlayerGui"):GetPropertyChangedSignal("CurrentScreenOrientation"):Connect(function() -- Line 514
--[[ Upvalues[4]:
[1]: var91_upvr (readonly)
[2]: class_PlayerGui_2_upvw (read and write)
[3]: var93_upvw (read and write)
[4]: arg1 (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [2] 3. Error Block 16 start (CF ANALYSIS FAILED)
local function INLINED_2() -- Internal function, doesn't exist in bytecode
-- KONSTANTERROR: [9] 7. Error Block 14 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [9] 7. Error Block 14 start (CF ANALYSIS FAILED)
return var91_upvr
end
if class_PlayerGui_2_upvw.CurrentScreenOrientation == Enum.ScreenOrientation.Portrait or not INLINED_2() and class_PlayerGui_2_upvw.CurrentScreenOrientation ~= Enum.ScreenOrientation.Portrait then
var93_upvw:disconnect()
arg1.fadeInAndOutHalfDuration = 2.5
arg1.fadeInAndOutBalance = 0.05
arg1.tweenInAlphaStart = tick()
if var91_upvr then
arg1.hasFadedBackgroundInPortrait = true
return
end
arg1.hasFadedBackgroundInLandscape = true
end
-- KONSTANTERROR: [2] 3. Error Block 16 end (CF ANALYSIS FAILED)
end)
arg1.thumbstickFrame.Parent = arg2
if game:IsLoaded() then
arg1.fadeInAndOutHalfDuration = 2.5
arg1.fadeInAndOutBalance = 0.05
arg1.tweenInAlphaStart = tick()
else
coroutine.wrap(function() -- Line 534
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
game.Loaded:Wait()
arg1.fadeInAndOutHalfDuration = 2.5
arg1.fadeInAndOutBalance = 0.05
arg1.tweenInAlphaStart = tick()
end)()
end
end
return setmetatable_result1_2_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:30
-- Luau version 6, Types version 3
-- Time taken: 0.053882 seconds
local UserInputService_upvr = game:GetService("UserInputService")
local Players_upvr = game:GetService("Players")
local Workspace_upvr = game:GetService("Workspace")
local var4_upvw = true
local var5_upvw = true
local var6_upvw = false
local var7_upvw = 1
local var8_upvw = 8
local tbl_2_upvr = {
[Enum.KeyCode.W] = true;
[Enum.KeyCode.A] = true;
[Enum.KeyCode.S] = true;
[Enum.KeyCode.D] = true;
[Enum.KeyCode.Up] = true;
[Enum.KeyCode.Down] = true;
}
local LocalPlayer_upvr = Players_upvr.LocalPlayer
local module_upvr_2 = require(script.Parent:WaitForChild("ClickToMoveDisplay"))
local tbl_4_upvr = {}
local function FindCharacterAncestor_upvr(arg1) -- Line 46, Named "FindCharacterAncestor"
--[[ Upvalues[1]:
[1]: FindCharacterAncestor_upvr (readonly)
]]
if arg1 then
local class_Humanoid_5 = arg1:FindFirstChildOfClass("Humanoid")
if class_Humanoid_5 then
return arg1, class_Humanoid_5
end
return FindCharacterAncestor_upvr(arg1.Parent)
end
end
tbl_4_upvr.FindCharacterAncestor = FindCharacterAncestor_upvr
local function findPlayerHumanoid_upvr(arg1, arg2, arg3) -- Line 58, Named "Raycast"
--[[ Upvalues[3]:
[1]: Workspace_upvr (readonly)
[2]: FindCharacterAncestor_upvr (readonly)
[3]: findPlayerHumanoid_upvr (readonly)
]]
local var24 = arg3
if not var24 then
var24 = {}
end
local var25 = var24
local any_FindPartOnRayWithIgnoreList_result1, any_FindPartOnRayWithIgnoreList_result2_2, any_FindPartOnRayWithIgnoreList_result3_2, any_FindPartOnRayWithIgnoreList_result4_2 = Workspace_upvr:FindPartOnRayWithIgnoreList(arg1, var25)
if any_FindPartOnRayWithIgnoreList_result1 then
if arg2 then
local var30
if any_FindPartOnRayWithIgnoreList_result1.CanCollide == false then
if any_FindPartOnRayWithIgnoreList_result1 then
local class_Humanoid_4 = any_FindPartOnRayWithIgnoreList_result1:FindFirstChildOfClass("Humanoid")
if class_Humanoid_4 then
var30 = class_Humanoid_4
else
local _, FindCharacterAncestor_result2_2 = FindCharacterAncestor_upvr(any_FindPartOnRayWithIgnoreList_result1.Parent)
var30 = FindCharacterAncestor_result2_2
end
else
var30 = nil
end
if var30 == nil then
table.insert(var25, any_FindPartOnRayWithIgnoreList_result1)
return findPlayerHumanoid_upvr(arg1, arg2, var25)
end
end
end
return any_FindPartOnRayWithIgnoreList_result1, any_FindPartOnRayWithIgnoreList_result2_2, any_FindPartOnRayWithIgnoreList_result3_2, any_FindPartOnRayWithIgnoreList_result4_2
end
return nil, nil
end
tbl_4_upvr.Raycast = findPlayerHumanoid_upvr
FindCharacterAncestor_upvr = {}
local var34_upvr = FindCharacterAncestor_upvr
function findPlayerHumanoid_upvr(arg1) -- Line 79, Named "findPlayerHumanoid"
--[[ Upvalues[1]:
[1]: var34_upvr (readonly)
]]
local var35 = arg1
if var35 then
var35 = arg1.Character
end
if var35 then
local var36 = var34_upvr[arg1]
if var36 and var36.Parent == var35 then
return var36
end
var34_upvr[arg1] = nil
local class_Humanoid = var35:FindFirstChildOfClass("Humanoid")
if class_Humanoid then
var34_upvr[arg1] = class_Humanoid
end
return class_Humanoid
end
end
local var38_upvw
local var39_upvw
local function _() -- Line 103, Named "GetCharacter"
--[[ Upvalues[1]:
[1]: LocalPlayer_upvr (readonly)
]]
local var40 = LocalPlayer_upvr
if var40 then
var40 = LocalPlayer_upvr.Character
end
return var40
end
local var41_upvw
local var42_upvw
local CollectionService_upvr = game:GetService("CollectionService")
local function UpdateIgnoreTag_upvr(arg1) -- Line 107, Named "UpdateIgnoreTag"
--[[ Upvalues[6]:
[1]: var39_upvw (read and write)
[2]: var41_upvw (read and write)
[3]: var42_upvw (read and write)
[4]: var38_upvw (read and write)
[5]: LocalPlayer_upvr (readonly)
[6]: CollectionService_upvr (readonly)
]]
if arg1 == var39_upvw then
else
if var41_upvw then
var41_upvw:Disconnect()
var41_upvw = nil
end
if var42_upvw then
var42_upvw:Disconnect()
var42_upvw = nil
end
var39_upvw = arg1
local tbl = {}
local var49 = LocalPlayer_upvr
if var49 then
var49 = LocalPlayer_upvr.Character
end
tbl[1] = var49
var38_upvw = tbl
if var39_upvw ~= nil then
for _, v_4 in ipairs(CollectionService_upvr:GetTagged(var39_upvw)) do
table.insert(var38_upvw, v_4)
end
var41_upvw = CollectionService_upvr:GetInstanceAddedSignal(var39_upvw):Connect(function(arg1_2) -- Line 127
--[[ Upvalues[1]:
[1]: var38_upvw (copied, read and write)
]]
table.insert(var38_upvw, arg1_2)
end)
var42_upvw = CollectionService_upvr:GetInstanceRemovedSignal(var39_upvw):Connect(function(arg1_3) -- Line 131
--[[ Upvalues[1]:
[1]: var38_upvw (copied, read and write)
]]
for i_5 = 1, #var38_upvw do
if var38_upvw[i_5] == arg1_3 then
var38_upvw[i_5] = var38_upvw[#var38_upvw]
table.remove(var38_upvw)
return
end
end
end)
end
end
end
local function _() -- Line 143, Named "getIgnoreList"
--[[ Upvalues[2]:
[1]: var38_upvw (read and write)
[2]: LocalPlayer_upvr (readonly)
]]
if var38_upvw then
return var38_upvw
end
var38_upvw = {}
local var56 = LocalPlayer_upvr
if var56 then
var56 = LocalPlayer_upvr.Character
end
table.insert(var38_upvw, var56)
return var38_upvw
end
local PathfindingService_upvr = game:GetService("PathfindingService")
local function Pather_upvr(arg1, arg2, arg3) -- Line 154, Named "Pather"
--[[ Upvalues[10]:
[1]: var6_upvw (read and write)
[2]: LocalPlayer_upvr (readonly)
[3]: var34_upvr (readonly)
[4]: var7_upvw (read and write)
[5]: PathfindingService_upvr (readonly)
[6]: var4_upvw (read and write)
[7]: module_upvr_2 (readonly)
[8]: var8_upvw (read and write)
[9]: Workspace_upvr (readonly)
[10]: var38_upvw (read and write)
]]
-- KONSTANTERROR: [0] 1. Error Block 63 start (CF ANALYSIS FAILED)
local tbl_3 = {}
local var59
if arg3 ~= nil then
else
end
var59 = false
tbl_3.Cancelled = var59
var59 = false
tbl_3.Started = var59
var59 = Instance.new("BindableEvent")
tbl_3.Finished = var59
var59 = Instance.new("BindableEvent")
tbl_3.PathFailed = var59
var59 = false
tbl_3.PathComputing = var59
var59 = false
tbl_3.PathComputed = var59
tbl_3.OriginalTargetPoint = arg1
tbl_3.TargetPoint = arg1
tbl_3.TargetSurfaceNormal = arg2
var59 = nil
tbl_3.DiedConn = var59
var59 = nil
tbl_3.SeatedConn = var59
var59 = nil
tbl_3.BlockedConn = var59
var59 = nil
tbl_3.TeleportedConn = var59
var59 = 0
tbl_3.CurrentPoint = var59
var59 = Vector3.new(0, 0, 0)
tbl_3.HumanoidOffsetFromPath = var59
var59 = nil
tbl_3.CurrentWaypointPosition = var59
var59 = Vector3.new(0, 0, 0)
tbl_3.CurrentWaypointPlaneNormal = var59
var59 = 0
tbl_3.CurrentWaypointPlaneDistance = var59
var59 = false
tbl_3.CurrentWaypointNeedsJump = var59
var59 = Vector3.new(0, 0, 0)
tbl_3.CurrentHumanoidPosition = var59
var59 = 0
tbl_3.CurrentHumanoidVelocity = var59
var59 = Vector3.new(0, 0, 0)
tbl_3.NextActionMoveDirection = var59
var59 = false
tbl_3.NextActionJump = var59
var59 = 0
tbl_3.Timeout = var59
local var60 = LocalPlayer_upvr
-- KONSTANTERROR: [0] 1. Error Block 63 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [89] 62. Error Block 6 start (CF ANALYSIS FAILED)
local Character_2 = var60.Character
-- KONSTANTERROR: [89] 62. Error Block 6 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [91] 63. Error Block 70 start (CF ANALYSIS FAILED)
if Character_2 then
local var62 = var34_upvr[var60]
if var62 and var62.Parent == Character_2 then
var59 = var62
else
var34_upvr[var60] = nil
local class_Humanoid_3 = Character_2:FindFirstChildOfClass("Humanoid")
if class_Humanoid_3 then
var34_upvr[var60] = class_Humanoid_3
end
var59 = class_Humanoid_3
end
else
var59 = nil
end
tbl_3.Humanoid = var59
var59 = nil
tbl_3.OriginPoint = var59
var59 = false
tbl_3.AgentCanFollowPath = var59
var59 = false
tbl_3.DirectPath = var59
var59 = false
tbl_3.DirectPathRiseFirst = var59
var59 = tbl_3.Humanoid
-- KONSTANTERROR: [91] 63. Error Block 70 end (CF ANALYSIS FAILED)
end
local function _() -- Line 578, Named "CheckAlive"
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: var34_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var64 = LocalPlayer_upvr
local var65 = var64
if var65 then
var65 = var64.Character
end
if var65 then
local var66 = var34_upvr[var64]
if var66 and var66.Parent == var65 then
local _ = var66
else
var34_upvr[var64] = nil
local class_Humanoid_7 = var65:FindFirstChildOfClass("Humanoid")
if class_Humanoid_7 then
var34_upvr[var64] = class_Humanoid_7
end
end
else
end
var64 = false
local var69 = var64
if nil ~= nil then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if 0 >= nil.Health then
var69 = false
else
var69 = true
end
end
return var69
end
local function GetEquippedTool_upvr(arg1) -- Line 583, Named "GetEquippedTool"
if arg1 ~= nil then
for _, v in pairs(arg1:GetChildren()) do
if v:IsA("Tool") then
return v
end
end
end
end
local var75_upvw
local var76_upvw
local var77_upvw
local function CleanupPath() -- Line 598
--[[ Upvalues[3]:
[1]: var75_upvw (read and write)
[2]: var76_upvw (read and write)
[3]: var77_upvw (read and write)
]]
if var75_upvw then
var75_upvw:Cancel()
var75_upvw = nil
end
if var76_upvw then
var76_upvw:Disconnect()
var76_upvw = nil
end
if var77_upvw then
var77_upvw:Disconnect()
var77_upvw = nil
end
end
local function HandleMoveTo_upvr(arg1, arg2, arg3, arg4, arg5) -- Line 616, Named "HandleMoveTo"
--[[ Upvalues[6]:
[1]: var75_upvw (read and write)
[2]: var76_upvw (read and write)
[3]: var77_upvw (read and write)
[4]: GetEquippedTool_upvr (readonly)
[5]: var5_upvw (read and write)
[6]: module_upvr_2 (readonly)
]]
if var75_upvw then
if var75_upvw then
var75_upvw:Cancel()
var75_upvw = nil
end
if var76_upvw then
var76_upvw:Disconnect()
var76_upvw = nil
end
if var77_upvw then
var77_upvw:Disconnect()
var77_upvw = nil
end
end
var75_upvw = arg1
arg1:Start(arg5)
var76_upvw = arg1.Finished.Event:Connect(function() -- Line 623
--[[ Upvalues[6]:
[1]: var75_upvw (copied, read and write)
[2]: var76_upvw (copied, read and write)
[3]: var77_upvw (copied, read and write)
[4]: arg3 (readonly)
[5]: GetEquippedTool_upvr (copied, readonly)
[6]: arg4 (readonly)
]]
if var75_upvw then
var75_upvw:Cancel()
var75_upvw = nil
end
if var76_upvw then
var76_upvw:Disconnect()
var76_upvw = nil
end
if var77_upvw then
var77_upvw:Disconnect()
var77_upvw = nil
end
if arg3 then
local GetEquippedTool_result1_2 = GetEquippedTool_upvr(arg4)
if GetEquippedTool_result1_2 then
GetEquippedTool_result1_2:Activate()
end
end
end)
var77_upvw = arg1.PathFailed.Event:Connect(function() -- Line 632
--[[ Upvalues[7]:
[1]: var75_upvw (copied, read and write)
[2]: var76_upvw (copied, read and write)
[3]: var77_upvw (copied, read and write)
[4]: arg5 (readonly)
[5]: var5_upvw (copied, read and write)
[6]: module_upvr_2 (copied, readonly)
[7]: arg2 (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [2] 3. Error Block 2 start (CF ANALYSIS FAILED)
var75_upvw:Cancel()
var75_upvw = nil
-- KONSTANTERROR: [2] 3. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [8] 8. Error Block 3 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [8] 8. Error Block 3 end (CF ANALYSIS FAILED)
end)
end
local function _(arg1) -- Line 644, Named "ShowPathFailedFeedback"
--[[ Upvalues[3]:
[1]: var75_upvw (read and write)
[2]: var5_upvw (read and write)
[3]: module_upvr_2 (readonly)
]]
if var75_upvw and var75_upvw:IsActive() then
var75_upvw:Cancel()
end
if var5_upvw then
module_upvr_2.PlayFailureAnimation()
end
module_upvr_2.DisplayFailureWaypoint(arg1)
end
local StarterGui_upvr = game:GetService("StarterGui")
function OnTap(arg1, arg2, arg3) -- Line 654
--[[ Upvalues[15]:
[1]: Workspace_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
[3]: var34_upvr (readonly)
[4]: tbl_4_upvr (readonly)
[5]: var38_upvw (read and write)
[6]: StarterGui_upvr (readonly)
[7]: Players_upvr (readonly)
[8]: var75_upvw (read and write)
[9]: var76_upvw (read and write)
[10]: var77_upvw (read and write)
[11]: Pather_upvr (readonly)
[12]: HandleMoveTo_upvr (readonly)
[13]: var5_upvw (read and write)
[14]: module_upvr_2 (readonly)
[15]: GetEquippedTool_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 109 start (CF ANALYSIS FAILED)
local var83 = LocalPlayer_upvr
local var84 = var83
if var84 then
var84 = var83.Character
end
if var84 then
local var85 = var34_upvr[var83]
if var85 and var85.Parent == var84 then
local _ = var85
else
var34_upvr[var83] = nil
local class_Humanoid_2 = var84:FindFirstChildOfClass("Humanoid")
if class_Humanoid_2 then
var34_upvr[var83] = class_Humanoid_2
end
end
else
end
-- KONSTANTERROR: [0] 1. Error Block 109 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [37] 31. Error Block 102 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if 0 >= nil.Health then
else
end
-- KONSTANTERROR: [37] 31. Error Block 102 end (CF ANALYSIS FAILED)
end
local function _(arg1) -- Line 707, Named "DisconnectEvent"
if arg1 then
arg1:Disconnect()
end
end
local module_upvr = require(script.Parent:WaitForChild("Keyboard"))
local setmetatable_result1_2_upvr = setmetatable({}, module_upvr)
setmetatable_result1_2_upvr.__index = setmetatable_result1_2_upvr
function setmetatable_result1_2_upvr.new(arg1) -- Line 718
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: setmetatable_result1_2_upvr (readonly)
]]
local setmetatable_result1 = setmetatable(module_upvr.new(arg1), setmetatable_result1_2_upvr)
setmetatable_result1.fingerTouches = {}
setmetatable_result1.numUnsunkTouches = 0
setmetatable_result1.mouse1Down = tick()
setmetatable_result1.mouse1DownPos = Vector2.new()
setmetatable_result1.mouse2DownTime = tick()
setmetatable_result1.mouse2DownPos = Vector2.new()
setmetatable_result1.mouse2UpTime = tick()
setmetatable_result1.keyboardMoveVector = Vector3.new(0, 0, 0)
setmetatable_result1.tapConn = nil
setmetatable_result1.inputBeganConn = nil
setmetatable_result1.inputChangedConn = nil
setmetatable_result1.inputEndedConn = nil
setmetatable_result1.humanoidDiedConn = nil
setmetatable_result1.characterChildAddedConn = nil
setmetatable_result1.onCharacterAddedConn = nil
setmetatable_result1.characterChildRemovedConn = nil
setmetatable_result1.renderSteppedConn = nil
setmetatable_result1.menuOpenedConnection = nil
setmetatable_result1.running = false
setmetatable_result1.wasdEnabled = false
return setmetatable_result1
end
function setmetatable_result1_2_upvr.DisconnectEvents(arg1) -- Line 750
local tapConn = arg1.tapConn
if tapConn then
tapConn:Disconnect()
end
local inputBeganConn = arg1.inputBeganConn
if inputBeganConn then
inputBeganConn:Disconnect()
end
local inputChangedConn = arg1.inputChangedConn
if inputChangedConn then
inputChangedConn:Disconnect()
end
local inputEndedConn = arg1.inputEndedConn
if inputEndedConn then
inputEndedConn:Disconnect()
end
local humanoidDiedConn = arg1.humanoidDiedConn
if humanoidDiedConn then
humanoidDiedConn:Disconnect()
end
local characterChildAddedConn = arg1.characterChildAddedConn
if characterChildAddedConn then
characterChildAddedConn:Disconnect()
end
local onCharacterAddedConn = arg1.onCharacterAddedConn
if onCharacterAddedConn then
onCharacterAddedConn:Disconnect()
end
local renderSteppedConn = arg1.renderSteppedConn
if renderSteppedConn then
renderSteppedConn:Disconnect()
end
local characterChildRemovedConn = arg1.characterChildRemovedConn
if characterChildRemovedConn then
characterChildRemovedConn:Disconnect()
end
local menuOpenedConnection = arg1.menuOpenedConnection
if menuOpenedConnection then
menuOpenedConnection:Disconnect()
end
end
function setmetatable_result1_2_upvr.OnTouchBegan(arg1, arg2, arg3) -- Line 763
if arg1.fingerTouches[arg2] == nil and not arg3 then
arg1.numUnsunkTouches += 1
end
arg1.fingerTouches[arg2] = arg3
end
function setmetatable_result1_2_upvr.OnTouchChanged(arg1, arg2, arg3) -- Line 770
if arg1.fingerTouches[arg2] == nil then
arg1.fingerTouches[arg2] = arg3
if not arg3 then
arg1.numUnsunkTouches += 1
end
end
end
function setmetatable_result1_2_upvr.OnTouchEnded(arg1, arg2, arg3) -- Line 779
if arg1.fingerTouches[arg2] ~= nil then
if arg1.fingerTouches[arg2] == false then
arg1.numUnsunkTouches -= 1
end
end
arg1.fingerTouches[arg2] = nil
end
local GuiService_upvr = game:GetService("GuiService")
function setmetatable_result1_2_upvr.OnCharacterAdded(arg1, arg2) -- Line 787
--[[ Upvalues[7]:
[1]: UserInputService_upvr (readonly)
[2]: tbl_2_upvr (readonly)
[3]: var75_upvw (read and write)
[4]: var76_upvw (read and write)
[5]: var77_upvw (read and write)
[6]: module_upvr_2 (readonly)
[7]: GuiService_upvr (readonly)
]]
arg1:DisconnectEvents()
arg1.inputBeganConn = UserInputService_upvr.InputBegan:Connect(function(arg1_4, arg2_2) -- Line 790
--[[ Upvalues[6]:
[1]: arg1 (readonly)
[2]: tbl_2_upvr (copied, readonly)
[3]: var75_upvw (copied, read and write)
[4]: var76_upvw (copied, read and write)
[5]: var77_upvw (copied, read and write)
[6]: module_upvr_2 (copied, readonly)
]]
if arg1_4.UserInputType == Enum.UserInputType.Touch then
arg1:OnTouchBegan(arg1_4, arg2_2)
end
if arg1.wasdEnabled then
if arg2_2 == false and arg1_4.UserInputType == Enum.UserInputType.Keyboard and tbl_2_upvr[arg1_4.KeyCode] then
if var75_upvw then
var75_upvw:Cancel()
var75_upvw = nil
end
if var76_upvw then
var76_upvw:Disconnect()
var76_upvw = nil
end
if var77_upvw then
var77_upvw:Disconnect()
var77_upvw = nil
end
module_upvr_2.CancelFailureAnimation()
end
end
if arg1_4.UserInputType == Enum.UserInputType.MouseButton1 then
arg1.mouse1DownTime = tick()
arg1.mouse1DownPos = arg1_4.Position
end
if arg1_4.UserInputType == Enum.UserInputType.MouseButton2 then
arg1.mouse2DownTime = tick()
arg1.mouse2DownPos = arg1_4.Position
end
end)
arg1.inputChangedConn = UserInputService_upvr.InputChanged:Connect(function(arg1_5, arg2_3) -- Line 811
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_5.UserInputType == Enum.UserInputType.Touch then
arg1:OnTouchChanged(arg1_5, arg2_3)
end
end)
arg1.inputEndedConn = UserInputService_upvr.InputEnded:Connect(function(arg1_6, arg2_4) -- Line 817
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: var75_upvw (copied, read and write)
]]
if arg1_6.UserInputType == Enum.UserInputType.Touch then
arg1:OnTouchEnded(arg1_6, arg2_4)
end
local var109
if arg1_6.UserInputType == var109 then
var109 = tick()
arg1.mouse2UpTime = var109
local Position = arg1_6.Position
var109 = var75_upvw
if not var109 then
if arg1.keyboardMoveVector.Magnitude > 0 then
var109 = false
else
var109 = true
end
end
if arg1.mouse2UpTime - arg1.mouse2DownTime < 0.25 and (Position - arg1.mouse2DownPos).magnitude < 5 and var109 then
OnTap({Position})
end
end
end)
arg1.tapConn = UserInputService_upvr.TouchTap:Connect(function(arg1_7, arg2_5) -- Line 834
if not arg2_5 then
OnTap(arg1_7, nil, true)
end
end)
arg1.menuOpenedConnection = GuiService_upvr.MenuOpened:Connect(function() -- Line 840
--[[ Upvalues[3]:
[1]: var75_upvw (copied, read and write)
[2]: var76_upvw (copied, read and write)
[3]: var77_upvw (copied, read and write)
]]
if var75_upvw then
var75_upvw:Cancel()
var75_upvw = nil
end
if var76_upvw then
var76_upvw:Disconnect()
var76_upvw = nil
end
if var77_upvw then
var77_upvw:Disconnect()
var77_upvw = nil
end
end)
local function OnCharacterChildAdded_upvr(arg1_8) -- Line 844, Named "OnCharacterChildAdded"
--[[ Upvalues[2]:
[1]: UserInputService_upvr (copied, readonly)
[2]: arg1 (readonly)
]]
if UserInputService_upvr.TouchEnabled then
if arg1_8:IsA("Tool") then
arg1_8.ManualActivationOnly = true
end
end
if arg1_8:IsA("Humanoid") then
local humanoidDiedConn_2 = arg1.humanoidDiedConn
if humanoidDiedConn_2 then
humanoidDiedConn_2:Disconnect()
end
arg1.humanoidDiedConn = arg1_8.Died:Connect(function() -- Line 852
end)
end
end
arg1.characterChildAddedConn = arg2.ChildAdded:Connect(function(arg1_9) -- Line 860
--[[ Upvalues[1]:
[1]: OnCharacterChildAdded_upvr (readonly)
]]
OnCharacterChildAdded_upvr(arg1_9)
end)
arg1.characterChildRemovedConn = arg2.ChildRemoved:Connect(function(arg1_10) -- Line 863
--[[ Upvalues[1]:
[1]: UserInputService_upvr (copied, readonly)
]]
if UserInputService_upvr.TouchEnabled then
if arg1_10:IsA("Tool") then
arg1_10.ManualActivationOnly = false
end
end
end)
for _, v_2 in pairs(arg2:GetChildren()) do
OnCharacterChildAdded_upvr(v_2)
end
end
function setmetatable_result1_2_upvr.Start(arg1) -- Line 875
arg1:Enable(true)
end
function setmetatable_result1_2_upvr.Stop(arg1) -- Line 879
arg1:Enable(false)
end
function setmetatable_result1_2_upvr.CleanupPath(arg1) -- Line 883
--[[ Upvalues[3]:
[1]: var75_upvw (read and write)
[2]: var76_upvw (read and write)
[3]: var77_upvw (read and write)
]]
if var75_upvw then
var75_upvw:Cancel()
var75_upvw = nil
end
if var76_upvw then
var76_upvw:Disconnect()
var76_upvw = nil
end
if var77_upvw then
var77_upvw:Disconnect()
var77_upvw = nil
end
end
function setmetatable_result1_2_upvr.Enable(arg1, arg2, arg3, arg4) -- Line 887
--[[ Upvalues[5]:
[1]: LocalPlayer_upvr (readonly)
[2]: var75_upvw (read and write)
[3]: var76_upvw (read and write)
[4]: var77_upvw (read and write)
[5]: UserInputService_upvr (readonly)
]]
if arg2 then
if not arg1.running then
if LocalPlayer_upvr.Character then
arg1:OnCharacterAdded(LocalPlayer_upvr.Character)
end
arg1.onCharacterAddedConn = LocalPlayer_upvr.CharacterAdded:Connect(function(arg1_12) -- Line 893
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:OnCharacterAdded(arg1_12)
end)
arg1.running = true
end
arg1.touchJumpController = arg4
if arg1.touchJumpController then
arg1.touchJumpController:Enable(arg1.jumpEnabled)
-- KONSTANTWARNING: GOTO [113] #83
end
else
if arg1.running then
arg1:DisconnectEvents()
if var75_upvw then
var75_upvw:Cancel()
var75_upvw = nil
end
if var76_upvw then
var76_upvw:Disconnect()
var76_upvw = nil
end
if var77_upvw then
var77_upvw:Disconnect()
var77_upvw = nil
end
if UserInputService_upvr.TouchEnabled then
local Character_4 = LocalPlayer_upvr.Character
if Character_4 then
for _, v_3 in pairs(Character_4:GetChildren()) do
if v_3:IsA("Tool") then
v_3.ManualActivationOnly = false
end
end
end
end
arg1.running = false
end
if arg1.touchJumpController and not arg1.jumpEnabled then
arg1.touchJumpController:Enable(true)
end
arg1.touchJumpController = nil
end
if UserInputService_upvr.KeyboardEnabled then
if arg2 ~= arg1.enabled then
arg1.forwardValue = 0
arg1.backwardValue = 0
arg1.leftValue = 0
arg1.rightValue = 0
arg1.moveVector = Vector3.new(0, 0, 0)
if arg2 then
arg1:BindContextActions()
arg1:ConnectFocusEventListeners()
else
arg1:UnbindContextActions()
arg1:DisconnectFocusEventListeners()
end
end
end
if not arg2 or not arg3 then
end
arg1.wasdEnabled = false
arg1.enabled = arg2
end
function setmetatable_result1_2_upvr.OnRenderStepped(arg1, arg2) -- Line 948
--[[ Upvalues[1]:
[1]: var75_upvw (read and write)
]]
arg1.isJumping = false
if var75_upvw then
var75_upvw:OnRenderStepped(arg2)
if var75_upvw then
arg1.moveVector = var75_upvw.NextActionMoveDirection
arg1.moveVectorIsCameraRelative = false
if var75_upvw.NextActionJump then
arg1.isJumping = true
-- KONSTANTWARNING: GOTO [43] #31
end
else
arg1.moveVector = arg1.keyboardMoveVector
arg1.moveVectorIsCameraRelative = true
end
else
arg1.moveVector = arg1.keyboardMoveVector
arg1.moveVectorIsCameraRelative = true
end
if arg1.jumpRequested then
arg1.isJumping = true
end
end
function setmetatable_result1_2_upvr.UpdateMovement(arg1, arg2) -- Line 983
if arg2 == Enum.UserInputState.Cancel then
arg1.keyboardMoveVector = Vector3.new(0, 0, 0)
elseif arg1.wasdEnabled then
arg1.keyboardMoveVector = Vector3.new(arg1.leftValue + arg1.rightValue, 0, arg1.forwardValue + arg1.backwardValue)
end
end
function setmetatable_result1_2_upvr.UpdateJump(arg1) -- Line 992
end
function setmetatable_result1_2_upvr.SetShowPath(arg1, arg2) -- Line 997
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
var4_upvw = arg2
end
function setmetatable_result1_2_upvr.GetShowPath(arg1) -- Line 1001
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
return var4_upvw
end
function setmetatable_result1_2_upvr.SetWaypointTexture(arg1, arg2) -- Line 1005
--[[ Upvalues[1]:
[1]: module_upvr_2 (readonly)
]]
module_upvr_2.SetWaypointTexture(arg2)
end
function setmetatable_result1_2_upvr.GetWaypointTexture(arg1) -- Line 1009
--[[ Upvalues[1]:
[1]: module_upvr_2 (readonly)
]]
return module_upvr_2.GetWaypointTexture()
end
function setmetatable_result1_2_upvr.SetWaypointRadius(arg1, arg2) -- Line 1013
--[[ Upvalues[1]:
[1]: module_upvr_2 (readonly)
]]
module_upvr_2.SetWaypointRadius(arg2)
end
function setmetatable_result1_2_upvr.GetWaypointRadius(arg1) -- Line 1017
--[[ Upvalues[1]:
[1]: module_upvr_2 (readonly)
]]
return module_upvr_2.GetWaypointRadius()
end
function setmetatable_result1_2_upvr.SetEndWaypointTexture(arg1, arg2) -- Line 1021
--[[ Upvalues[1]:
[1]: module_upvr_2 (readonly)
]]
module_upvr_2.SetEndWaypointTexture(arg2)
end
function setmetatable_result1_2_upvr.GetEndWaypointTexture(arg1) -- Line 1025
--[[ Upvalues[1]:
[1]: module_upvr_2 (readonly)
]]
return module_upvr_2.GetEndWaypointTexture()
end
function setmetatable_result1_2_upvr.SetWaypointsAlwaysOnTop(arg1, arg2) -- Line 1029
--[[ Upvalues[1]:
[1]: module_upvr_2 (readonly)
]]
module_upvr_2.SetWaypointsAlwaysOnTop(arg2)
end
function setmetatable_result1_2_upvr.GetWaypointsAlwaysOnTop(arg1) -- Line 1033
--[[ Upvalues[1]:
[1]: module_upvr_2 (readonly)
]]
return module_upvr_2.GetWaypointsAlwaysOnTop()
end
function setmetatable_result1_2_upvr.SetFailureAnimationEnabled(arg1, arg2) -- Line 1037
--[[ Upvalues[1]:
[1]: var5_upvw (read and write)
]]
var5_upvw = arg2
end
function setmetatable_result1_2_upvr.GetFailureAnimationEnabled(arg1) -- Line 1041
--[[ Upvalues[1]:
[1]: var5_upvw (read and write)
]]
return var5_upvw
end
function setmetatable_result1_2_upvr.SetIgnoredPartsTag(arg1, arg2) -- Line 1045
--[[ Upvalues[1]:
[1]: UpdateIgnoreTag_upvr (readonly)
]]
UpdateIgnoreTag_upvr(arg2)
end
function setmetatable_result1_2_upvr.GetIgnoredPartsTag(arg1) -- Line 1049
--[[ Upvalues[1]:
[1]: var39_upvw (read and write)
]]
return var39_upvw
end
function setmetatable_result1_2_upvr.SetUseDirectPath(arg1, arg2) -- Line 1053
--[[ Upvalues[1]:
[1]: var6_upvw (read and write)
]]
var6_upvw = arg2
end
function setmetatable_result1_2_upvr.GetUseDirectPath(arg1) -- Line 1057
--[[ Upvalues[1]:
[1]: var6_upvw (read and write)
]]
return var6_upvw
end
function setmetatable_result1_2_upvr.SetAgentSizeIncreaseFactor(arg1, arg2) -- Line 1061
--[[ Upvalues[1]:
[1]: var7_upvw (read and write)
]]
var7_upvw = 1 + arg2 / 100
end
function setmetatable_result1_2_upvr.GetAgentSizeIncreaseFactor(arg1) -- Line 1065
--[[ Upvalues[1]:
[1]: var7_upvw (read and write)
]]
return (var7_upvw - 1) * 100
end
function setmetatable_result1_2_upvr.SetUnreachableWaypointTimeout(arg1, arg2) -- Line 1069
--[[ Upvalues[1]:
[1]: var8_upvw (read and write)
]]
var8_upvw = arg2
end
function setmetatable_result1_2_upvr.GetUnreachableWaypointTimeout(arg1) -- Line 1073
--[[ Upvalues[1]:
[1]: var8_upvw (read and write)
]]
return var8_upvw
end
function setmetatable_result1_2_upvr.SetUserJumpEnabled(arg1, arg2) -- Line 1077
arg1.jumpEnabled = arg2
if arg1.touchJumpController then
arg1.touchJumpController:Enable(arg2)
end
end
function setmetatable_result1_2_upvr.GetUserJumpEnabled(arg1) -- Line 1084
return arg1.jumpEnabled
end
function setmetatable_result1_2_upvr.MoveTo(arg1, arg2, arg3, arg4) -- Line 1088
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (readonly)
[2]: Pather_upvr (readonly)
[3]: HandleMoveTo_upvr (readonly)
]]
local Character = LocalPlayer_upvr.Character
if Character == nil then
return false
end
local Pather_result1 = Pather_upvr(arg2, Vector3.new(0, 1, 0), arg4)
if Pather_result1 then
if Pather_result1:IsValidPath() then
HandleMoveTo_upvr(Pather_result1, arg2, nil, Character, arg3)
return true
end
end
return false
end
return setmetatable_result1_2_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:32
-- Luau version 6, Types version 3
-- Time taken: 0.007219 seconds
local ContextActionService_upvr = game:GetService("ContextActionService")
local module_upvr = {}
module_upvr.__index = module_upvr
function module_upvr.new(arg1) -- Line 26
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
local setmetatable_result1 = setmetatable({}, module_upvr)
setmetatable_result1.CONTROL_ACTION_PRIORITY = arg1
setmetatable_result1.enabled = false
setmetatable_result1.vehicleSeat = nil
setmetatable_result1.throttle = 0
setmetatable_result1.steer = 0
setmetatable_result1.acceleration = 0
setmetatable_result1.decceleration = 0
setmetatable_result1.turningRight = 0
setmetatable_result1.turningLeft = 0
setmetatable_result1.vehicleMoveVector = Vector3.new(0, 0, 0)
setmetatable_result1.autoPilot = {}
setmetatable_result1.autoPilot.MaxSpeed = 0
setmetatable_result1.autoPilot.MaxSteeringAngle = 0
return setmetatable_result1
end
function module_upvr.BindContextActions(arg1) -- Line 50
--[[ Upvalues[1]:
[1]: ContextActionService_upvr (readonly)
]]
ContextActionService_upvr:BindActionAtPriority("throttleAccel", function(arg1_2, arg2, arg3) -- Line 52
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:OnThrottleAccel(arg1_2, arg2, arg3)
return Enum.ContextActionResult.Pass
end, false, arg1.CONTROL_ACTION_PRIORITY, Enum.KeyCode.ButtonR2)
ContextActionService_upvr:BindActionAtPriority("throttleDeccel", function(arg1_3, arg2, arg3) -- Line 56
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:OnThrottleDeccel(arg1_3, arg2, arg3)
return Enum.ContextActionResult.Pass
end, false, arg1.CONTROL_ACTION_PRIORITY, Enum.KeyCode.ButtonL2)
ContextActionService_upvr:BindActionAtPriority("arrowSteerRight", function(arg1_4, arg2, arg3) -- Line 61
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:OnSteerRight(arg1_4, arg2, arg3)
return Enum.ContextActionResult.Pass
end, false, arg1.CONTROL_ACTION_PRIORITY, Enum.KeyCode.Right)
ContextActionService_upvr:BindActionAtPriority("arrowSteerLeft", function(arg1_5, arg2, arg3) -- Line 65
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:OnSteerLeft(arg1_5, arg2, arg3)
return Enum.ContextActionResult.Pass
end, false, arg1.CONTROL_ACTION_PRIORITY, Enum.KeyCode.Left)
end
function module_upvr.Enable(arg1, arg2, arg3) -- Line 71
--[[ Upvalues[1]:
[1]: ContextActionService_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [4] 3. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [4] 3. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [8] 5. Error Block 3 start (CF ANALYSIS FAILED)
do
return
end
-- KONSTANTERROR: [8] 5. Error Block 3 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [9] 6. Error Block 4 start (CF ANALYSIS FAILED)
arg1.enabled = arg2
arg1.vehicleMoveVector = Vector3.new(0, 0, 0)
-- KONSTANTERROR: [9] 6. Error Block 4 end (CF ANALYSIS FAILED)
end
function module_upvr.OnThrottleAccel(arg1, arg2, arg3, arg4) -- Line 97
if arg3 == Enum.UserInputState.End or arg3 == Enum.UserInputState.Cancel then
arg1.acceleration = 0
else
arg1.acceleration = -1
end
arg1.throttle = arg1.acceleration + arg1.decceleration
end
function module_upvr.OnThrottleDeccel(arg1, arg2, arg3, arg4) -- Line 106
if arg3 == Enum.UserInputState.End or arg3 == Enum.UserInputState.Cancel then
arg1.decceleration = 0
else
arg1.decceleration = 1
end
arg1.throttle = arg1.acceleration + arg1.decceleration
end
function module_upvr.OnSteerRight(arg1, arg2, arg3, arg4) -- Line 115
if arg3 == Enum.UserInputState.End or arg3 == Enum.UserInputState.Cancel then
arg1.turningRight = 0
else
arg1.turningRight = 1
end
arg1.steer = arg1.turningRight + arg1.turningLeft
end
function module_upvr.OnSteerLeft(arg1, arg2, arg3, arg4) -- Line 124
if arg3 == Enum.UserInputState.End or arg3 == Enum.UserInputState.Cancel then
arg1.turningLeft = 0
else
arg1.turningLeft = -1
end
arg1.steer = arg1.turningRight + arg1.turningLeft
end
function module_upvr.Update(arg1, arg2, arg3, arg4) -- Line 134
-- KONSTANTERROR: Failed to generate AST for function `Update`:
K:0: attempt to index nil with 'reads'
Traceback:
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
end
function module_upvr.ComputeThrottle(arg1, arg2) -- Line 160
if arg2 ~= Vector3.new(0, 0, 0) then
return -arg2.Z
end
return 0
end
function module_upvr.ComputeSteer(arg1, arg2) -- Line 169
if arg2 ~= Vector3.new(0, 0, 0) then
return -math.atan2(-arg2.x, -arg2.z) * 57.29577951308232 / arg1.autoPilot.MaxSteeringAngle
end
return 0
end
function module_upvr.SetupAutoPilot(arg1) -- Line 178
arg1.autoPilot.MaxSpeed = arg1.vehicleSeat.MaxSpeed
arg1.autoPilot.MaxSteeringAngle = 35
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:33
-- Luau version 6, Types version 3
-- Time taken: 0.021077 seconds
local module = {}
local var2_upvw = "rbxasset://textures/ui/traildot.png"
local var3_upvw = "rbxasset://textures/ui/waypoint.png"
local var4_upvw = false
local vector2_upvr_2 = Vector2.new(0, 0.5)
local vector2_upvw = Vector2.new(1.5, 1.5)
local TweenService_upvr = game:GetService("TweenService")
local Workspace_upvr = game:GetService("Workspace")
local LocalPlayer_upvr = game:GetService("Players").LocalPlayer
local udim2_upvr = UDim2.new(0, 42, 0, 50)
local vector2_upvr_3 = Vector2.new(0, 0.5)
local function CreateWaypointTemplates_upvr() -- Line 43, Named "CreateWaypointTemplates"
--[[ Upvalues[7]:
[1]: vector2_upvw (read and write)
[2]: var4_upvw (read and write)
[3]: var2_upvw (read and write)
[4]: udim2_upvr (readonly)
[5]: vector2_upvr_3 (readonly)
[6]: var3_upvw (read and write)
[7]: vector2_upvr_2 (readonly)
]]
local Part_3 = Instance.new("Part")
Part_3.Size = Vector3.new(1, 1, 1)
Part_3.Anchored = true
Part_3.CanCollide = false
Part_3.Name = "TrailDot"
Part_3.Transparency = 1
local ImageHandleAdornment_2 = Instance.new("ImageHandleAdornment")
ImageHandleAdornment_2.Name = "TrailDotImage"
ImageHandleAdornment_2.Size = vector2_upvw
ImageHandleAdornment_2.SizeRelativeOffset = Vector3.new(0, 0, -0.1000)
ImageHandleAdornment_2.AlwaysOnTop = var4_upvw
ImageHandleAdornment_2.Image = var2_upvw
ImageHandleAdornment_2.Adornee = Part_3
ImageHandleAdornment_2.Parent = Part_3
local Part_2 = Instance.new("Part")
Part_2.Size = Vector3.new(2, 2, 2)
Part_2.Anchored = true
Part_2.CanCollide = false
Part_2.Name = "EndWaypoint"
Part_2.Transparency = 1
local ImageHandleAdornment_3 = Instance.new("ImageHandleAdornment")
ImageHandleAdornment_3.Name = "TrailDotImage"
ImageHandleAdornment_3.Size = vector2_upvw
ImageHandleAdornment_3.SizeRelativeOffset = Vector3.new(0, 0, -0.1000)
ImageHandleAdornment_3.AlwaysOnTop = var4_upvw
ImageHandleAdornment_3.Image = var2_upvw
ImageHandleAdornment_3.Adornee = Part_2
ImageHandleAdornment_3.Parent = Part_2
local BillboardGui = Instance.new("BillboardGui")
BillboardGui.Name = "EndWaypointBillboard"
BillboardGui.Size = udim2_upvr
BillboardGui.LightInfluence = 0
BillboardGui.SizeOffset = vector2_upvr_3
BillboardGui.AlwaysOnTop = true
BillboardGui.Adornee = Part_2
BillboardGui.Parent = Part_2
local ImageLabel_2 = Instance.new("ImageLabel")
ImageLabel_2.Image = var3_upvw
ImageLabel_2.BackgroundTransparency = 1
ImageLabel_2.Size = UDim2.new(1, 0, 1, 0)
ImageLabel_2.Parent = BillboardGui
local Part = Instance.new("Part")
Part.Size = Vector3.new(2, 2, 2)
Part.Anchored = true
Part.CanCollide = false
Part.Name = "FailureWaypoint"
Part.Transparency = 1
local ImageHandleAdornment = Instance.new("ImageHandleAdornment")
ImageHandleAdornment.Name = "TrailDotImage"
ImageHandleAdornment.Size = vector2_upvw
ImageHandleAdornment.SizeRelativeOffset = Vector3.new(0, 0, -0.1000)
ImageHandleAdornment.AlwaysOnTop = var4_upvw
ImageHandleAdornment.Image = var2_upvw
ImageHandleAdornment.Adornee = Part
ImageHandleAdornment.Parent = Part
local BillboardGui_2 = Instance.new("BillboardGui")
BillboardGui_2.Name = "FailureWaypointBillboard"
BillboardGui_2.Size = udim2_upvr
BillboardGui_2.LightInfluence = 0
BillboardGui_2.SizeOffset = vector2_upvr_2
BillboardGui_2.AlwaysOnTop = true
BillboardGui_2.Adornee = Part
BillboardGui_2.Parent = Part
local Frame = Instance.new("Frame")
Frame.BackgroundTransparency = 1
Frame.Size = UDim2.new(0, 0, 0, 0)
Frame.Position = UDim2.new(0.5, 0, 1, 0)
Frame.Parent = BillboardGui_2
local ImageLabel = Instance.new("ImageLabel")
ImageLabel.Image = var3_upvw
ImageLabel.BackgroundTransparency = 1
ImageLabel.Position = UDim2.new(0, -udim2_upvr.X.Offset / 2, 0, -udim2_upvr.Y.Offset)
ImageLabel.Size = udim2_upvr
ImageLabel.Parent = Frame
return Part_3, Part_2, Part
end
local CreateWaypointTemplates_result1_2_upvw, CreateWaypointTemplates_result2_5_upvw, CreateWaypointTemplates_result3_2_upvw = CreateWaypointTemplates_upvr()
local function _() -- Line 129, Named "getTrailDotParent"
--[[ Upvalues[1]:
[1]: Workspace_upvr (readonly)
]]
local CurrentCamera = Workspace_upvr.CurrentCamera
if not CurrentCamera:FindFirstChild("ClickToMoveDisplay") then
local Model_3 = Instance.new("Model")
Model_3.Name = "ClickToMoveDisplay"
Model_3.Parent = CurrentCamera
end
return Model_3
end
local function placePathWaypoint_upvr(arg1, arg2) -- Line 140, Named "placePathWaypoint"
--[[ Upvalues[2]:
[1]: Workspace_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
local any_FindPartOnRayWithIgnoreList_result1_2, any_FindPartOnRayWithIgnoreList_result2_2, any_FindPartOnRayWithIgnoreList_result3_2 = Workspace_upvr:FindPartOnRayWithIgnoreList(Ray.new(arg2 + Vector3.new(0, 2.5, 0), Vector3.new(0, -10, 0)), {Workspace_upvr.CurrentCamera, LocalPlayer_upvr.Character})
if any_FindPartOnRayWithIgnoreList_result1_2 then
arg1.CFrame = CFrame.new(any_FindPartOnRayWithIgnoreList_result2_2, any_FindPartOnRayWithIgnoreList_result2_2 + any_FindPartOnRayWithIgnoreList_result3_2)
local CurrentCamera_3 = Workspace_upvr.CurrentCamera
if not CurrentCamera_3:FindFirstChild("ClickToMoveDisplay") then
local Model_2 = Instance.new("Model")
Model_2.Name = "ClickToMoveDisplay"
Model_2.Parent = CurrentCamera_3
end
arg1.Parent = Model_2
end
end
local tbl_upvr_2 = {}
tbl_upvr_2.__index = tbl_upvr_2
local function Destroy(arg1) -- Line 155
arg1.DisplayModel:Destroy()
end
tbl_upvr_2.Destroy = Destroy
local function NewDisplayModel(arg1, arg2) -- Line 159
--[[ Upvalues[2]:
[1]: CreateWaypointTemplates_result1_2_upvw (read and write)
[2]: placePathWaypoint_upvr (readonly)
]]
local clone_2 = CreateWaypointTemplates_result1_2_upvw:Clone()
placePathWaypoint_upvr(clone_2, arg2)
return clone_2
end
tbl_upvr_2.NewDisplayModel = NewDisplayModel
local function new(arg1, arg2) -- Line 165
--[[ Upvalues[1]:
[1]: tbl_upvr_2 (readonly)
]]
local setmetatable_result1 = setmetatable({}, tbl_upvr_2)
setmetatable_result1.DisplayModel = setmetatable_result1:NewDisplayModel(arg1)
setmetatable_result1.ClosestWayPoint = arg2
return setmetatable_result1
end
tbl_upvr_2.new = new
local module_3_upvr = {}
module_3_upvr.__index = module_3_upvr
local function Destroy(arg1) -- Line 177
arg1.Destroyed = true
arg1.Tween:Cancel()
arg1.DisplayModel:Destroy()
end
module_3_upvr.Destroy = Destroy
local function NewDisplayModel(arg1, arg2) -- Line 183
--[[ Upvalues[2]:
[1]: CreateWaypointTemplates_result2_5_upvw (read and write)
[2]: placePathWaypoint_upvr (readonly)
]]
local clone_3 = CreateWaypointTemplates_result2_5_upvw:Clone()
placePathWaypoint_upvr(clone_3, arg2)
return clone_3
end
module_3_upvr.NewDisplayModel = NewDisplayModel
local vector2_upvr_5 = Vector2.new(0, 1)
function module_3_upvr.CreateTween(arg1) -- Line 189
--[[ Upvalues[2]:
[1]: TweenService_upvr (readonly)
[2]: vector2_upvr_5 (readonly)
]]
local any_Create_result1_3 = TweenService_upvr:Create(arg1.DisplayModel.EndWaypointBillboard, TweenInfo.new(0.5, Enum.EasingStyle.Sine, Enum.EasingDirection.Out, -1, true), {
SizeOffset = vector2_upvr_5;
})
any_Create_result1_3:Play()
return any_Create_result1_3
end
function module_3_upvr.TweenInFrom(arg1, arg2) -- Line 200
--[[ Upvalues[1]:
[1]: TweenService_upvr (readonly)
]]
arg1.DisplayModel.EndWaypointBillboard.StudsOffset = Vector3.new(0, (arg2 - arg1.DisplayModel.Position).Y, 0)
local any_Create_result1_5 = TweenService_upvr:Create(arg1.DisplayModel.EndWaypointBillboard, TweenInfo.new(1, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
StudsOffset = Vector3.new(0, 0, 0);
})
any_Create_result1_5:Play()
return any_Create_result1_5
end
local function new(arg1, arg2, arg3) -- Line 214
--[[ Upvalues[1]:
[1]: module_3_upvr (readonly)
]]
local setmetatable_result1_3_upvr = setmetatable({}, module_3_upvr)
setmetatable_result1_3_upvr.DisplayModel = setmetatable_result1_3_upvr:NewDisplayModel(arg1)
setmetatable_result1_3_upvr.Destroyed = false
if arg3 and 5 < (arg3 - arg1).magnitude then
setmetatable_result1_3_upvr.Tween = setmetatable_result1_3_upvr:TweenInFrom(arg3)
coroutine.wrap(function() -- Line 221
--[[ Upvalues[1]:
[1]: setmetatable_result1_3_upvr (readonly)
]]
setmetatable_result1_3_upvr.Tween.Completed:Wait()
if not setmetatable_result1_3_upvr.Destroyed then
setmetatable_result1_3_upvr.Tween = setmetatable_result1_3_upvr:CreateTween()
end
end)()
else
setmetatable_result1_3_upvr.Tween = setmetatable_result1_3_upvr:CreateTween()
end
setmetatable_result1_3_upvr.ClosestWayPoint = arg2
return setmetatable_result1_3_upvr
end
module_3_upvr.new = new
local tbl_upvr = {}
tbl_upvr.__index = tbl_upvr
function tbl_upvr.Hide(arg1) -- Line 238
arg1.DisplayModel.Parent = nil
end
function tbl_upvr.Destroy(arg1) -- Line 242
arg1.DisplayModel:Destroy()
end
function tbl_upvr.NewDisplayModel(arg1, arg2) -- Line 246
--[[ Upvalues[4]:
[1]: CreateWaypointTemplates_result3_2_upvw (read and write)
[2]: placePathWaypoint_upvr (readonly)
[3]: Workspace_upvr (readonly)
[4]: LocalPlayer_upvr (readonly)
]]
local clone = CreateWaypointTemplates_result3_2_upvw:Clone()
placePathWaypoint_upvr(clone, arg2)
local any_FindPartOnRayWithIgnoreList_result1, any_FindPartOnRayWithIgnoreList_result2, any_FindPartOnRayWithIgnoreList_result3 = Workspace_upvr:FindPartOnRayWithIgnoreList(Ray.new(arg2 + Vector3.new(0, 2.5, 0), Vector3.new(0, -10, 0)), {Workspace_upvr.CurrentCamera, LocalPlayer_upvr.Character})
if any_FindPartOnRayWithIgnoreList_result1 then
clone.CFrame = CFrame.new(any_FindPartOnRayWithIgnoreList_result2, any_FindPartOnRayWithIgnoreList_result2 + any_FindPartOnRayWithIgnoreList_result3)
local CurrentCamera_2 = Workspace_upvr.CurrentCamera
if not CurrentCamera_2:FindFirstChild("ClickToMoveDisplay") then
local Model = Instance.new("Model")
Model.Name = "ClickToMoveDisplay"
Model.Parent = CurrentCamera_2
end
clone.Parent = Model
end
return clone
end
local vector2_upvr_4 = Vector2.new(0.1, 0.5)
local vector2_upvr = Vector2.new(-0.1, 0.5)
function tbl_upvr.RunFailureTween(arg1) -- Line 260
--[[ Upvalues[4]:
[1]: TweenService_upvr (readonly)
[2]: vector2_upvr_4 (readonly)
[3]: vector2_upvr (readonly)
[4]: vector2_upvr_2 (readonly)
]]
wait(0.125)
local TweenInfo_new_result1_3 = TweenInfo.new(0.0625, Enum.EasingStyle.Sine, Enum.EasingDirection.Out)
local any_Create_result1_4 = TweenService_upvr:Create(arg1.DisplayModel.FailureWaypointBillboard, TweenInfo_new_result1_3, {
SizeOffset = vector2_upvr_4;
})
any_Create_result1_4:Play()
TweenService_upvr:Create(arg1.DisplayModel.FailureWaypointBillboard.Frame, TweenInfo_new_result1_3, {
Rotation = 10;
}):Play()
any_Create_result1_4.Completed:wait()
local any_Create_result1_2 = TweenService_upvr:Create(arg1.DisplayModel.FailureWaypointBillboard, TweenInfo.new(0.125, Enum.EasingStyle.Sine, Enum.EasingDirection.Out, 3, true), {
SizeOffset = vector2_upvr;
})
any_Create_result1_2:Play()
local TweenInfo_new_result1 = TweenInfo.new(0.125, Enum.EasingStyle.Sine, Enum.EasingDirection.Out, 3, true)
TweenService_upvr:Create(arg1.DisplayModel.FailureWaypointBillboard.Frame.ImageLabel, TweenInfo_new_result1, {
ImageColor3 = Color3.new(0.75, 0.75, 0.75);
}):Play()
TweenService_upvr:Create(arg1.DisplayModel.FailureWaypointBillboard.Frame, TweenInfo_new_result1, {
Rotation = -10;
}):Play()
any_Create_result1_2.Completed:wait()
local TweenInfo_new_result1_2 = TweenInfo.new(0.0625, Enum.EasingStyle.Sine, Enum.EasingDirection.Out)
local any_Create_result1 = TweenService_upvr:Create(arg1.DisplayModel.FailureWaypointBillboard, TweenInfo_new_result1_2, {
SizeOffset = vector2_upvr_2;
})
any_Create_result1:Play()
TweenService_upvr:Create(arg1.DisplayModel.FailureWaypointBillboard.Frame, TweenInfo_new_result1_2, {
Rotation = 0;
}):Play()
any_Create_result1.Completed:wait()
wait(0.125)
end
function tbl_upvr.new(arg1) -- Line 309
--[[ Upvalues[1]:
[1]: tbl_upvr (readonly)
]]
local setmetatable_result1_2 = setmetatable({}, tbl_upvr)
setmetatable_result1_2.DisplayModel = setmetatable_result1_2:NewDisplayModel(arg1)
return setmetatable_result1_2
end
local Animation_upvr = Instance.new("Animation")
Animation_upvr.AnimationId = "rbxassetid://2874840706"
local var71_upvw
local function _(arg1) -- Line 323, Named "getFailureAnimationTrack"
--[[ Upvalues[2]:
[1]: var71_upvw (read and write)
[2]: Animation_upvr (readonly)
]]
if arg1 == nil then
return var71_upvw
end
var71_upvw = arg1:LoadAnimation(Animation_upvr)
var71_upvw.Priority = Enum.AnimationPriority.Action
var71_upvw.Looped = false
return var71_upvw
end
local function _() -- Line 333, Named "findPlayerHumanoid"
--[[ Upvalues[1]:
[1]: LocalPlayer_upvr (readonly)
]]
local Character = LocalPlayer_upvr.Character
if Character then
return Character:FindFirstChildOfClass("Humanoid")
end
end
local function createTrailDots_upvr(arg1, arg2) -- Line 340, Named "createTrailDots"
--[[ Upvalues[2]:
[1]: tbl_upvr_2 (readonly)
[2]: module_3_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local tbl = {}
for i = 1, #arg1 - 1 do
local var83
if (arg1[i].Position - arg1[#arg1].Position).magnitude >= 3 then
var83 = false
else
var83 = true
end
if i % 2 == 0 then
end
if not var83 then
tbl[1] = tbl_upvr_2.new(arg1[i].Position, i)
end
end
table.insert(tbl, module_3_upvr.new(arg1[#arg1].Position, #arg1, arg2))
local module_2 = {}
for i_2 = #tbl, 1, -1 do
module_2[1] = tbl[i_2]
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
local var85
end
return module_2
end
local function _(arg1, arg2) -- Line 365, Named "getTrailDotScale"
return arg2 * (math.clamp(arg1 - 10, 0, 90) / 90 * 1.5 + 1)
end
local var86_upvw = 0
local RunService_upvr = game:GetService("RunService")
function module.CreatePathDisplay(arg1, arg2) -- Line 374
--[[ Upvalues[5]:
[1]: var86_upvw (read and write)
[2]: createTrailDots_upvr (readonly)
[3]: RunService_upvr (readonly)
[4]: Workspace_upvr (readonly)
[5]: vector2_upvw (read and write)
]]
var86_upvw += 1
local createTrailDots_upvr_result1_upvr = createTrailDots_upvr(arg1, arg2)
local function removePathBeforePoint_upvr(arg1_2) -- Line 378, Named "removePathBeforePoint"
--[[ Upvalues[1]:
[1]: createTrailDots_upvr_result1_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local _ = #createTrailDots_upvr_result1_upvr
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [19] 17. Error Block 5 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [19] 17. Error Block 5 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [5] 6. Error Block 7 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [19.5]
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [19.65666]
if nil <= arg1_2 then
-- KONSTANTWARNING: GOTO [19] #17
end
-- KONSTANTERROR: [5] 6. Error Block 7 end (CF ANALYSIS FAILED)
end
local var90_upvr = "ClickToMoveResizeTrail"..var86_upvw
RunService_upvr:BindToRenderStep(var90_upvr, Enum.RenderPriority.Camera.Value - 1, function() -- Line 392, Named "resizeTrailDots"
--[[ Upvalues[5]:
[1]: createTrailDots_upvr_result1_upvr (readonly)
[2]: RunService_upvr (copied, readonly)
[3]: var90_upvr (readonly)
[4]: Workspace_upvr (copied, readonly)
[5]: vector2_upvw (copied, read and write)
]]
if #createTrailDots_upvr_result1_upvr == 0 then
RunService_upvr:UnbindFromRenderStep(var90_upvr)
else
for var91 = 1, #createTrailDots_upvr_result1_upvr do
local TrailDotImage = createTrailDots_upvr_result1_upvr[var91].DisplayModel:FindFirstChild("TrailDotImage")
if TrailDotImage then
TrailDotImage.Size = vector2_upvw * (math.clamp((createTrailDots_upvr_result1_upvr[var91].DisplayModel.Position - Workspace_upvr.CurrentCamera.CFrame.p).magnitude - 10, 0, 90) / 90 * 1.5 + 1)
end
end
end
end)
return function() -- Line 408, Named "removePath"
--[[ Upvalues[2]:
[1]: removePathBeforePoint_upvr (readonly)
[2]: arg1 (readonly)
]]
removePathBeforePoint_upvr(#arg1)
end, removePathBeforePoint_upvr
end
local var93_upvw
function module.DisplayFailureWaypoint(arg1) -- Line 416
--[[ Upvalues[2]:
[1]: var93_upvw (read and write)
[2]: tbl_upvr (readonly)
]]
if var93_upvw then
var93_upvw:Hide()
end
local any_new_result1_upvw = tbl_upvr.new(arg1)
var93_upvw = any_new_result1_upvw
coroutine.wrap(function() -- Line 422
--[[ Upvalues[1]:
[1]: any_new_result1_upvw (read and write)
]]
any_new_result1_upvw:RunFailureTween()
any_new_result1_upvw:Destroy()
any_new_result1_upvw = nil
end)()
end
function module.CreateEndWaypoint(arg1) -- Line 429
--[[ Upvalues[1]:
[1]: module_3_upvr (readonly)
]]
return module_3_upvr.new(arg1)
end
function module.PlayFailureAnimation() -- Line 433
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (readonly)
[2]: var71_upvw (read and write)
[3]: Animation_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local Character_2 = LocalPlayer_upvr.Character
local var97
if Character_2 then
var97 = Character_2:FindFirstChildOfClass("Humanoid")
else
var97 = nil
end
if var97 then
if var97 == nil then
else
var71_upvw = var97:LoadAnimation(Animation_upvr)
var71_upvw.Priority = Enum.AnimationPriority.Action
var71_upvw.Looped = false
end
var71_upvw:Play()
end
end
function module.CancelFailureAnimation() -- Line 441
--[[ Upvalues[1]:
[1]: var71_upvw (read and write)
]]
if var71_upvw ~= nil and var71_upvw.IsPlaying then
var71_upvw:Stop()
end
end
function module.SetWaypointTexture(arg1) -- Line 447
--[[ Upvalues[5]:
[1]: var2_upvw (read and write)
[2]: CreateWaypointTemplates_result1_2_upvw (read and write)
[3]: CreateWaypointTemplates_result2_5_upvw (read and write)
[4]: CreateWaypointTemplates_result3_2_upvw (read and write)
[5]: CreateWaypointTemplates_upvr (readonly)
]]
var2_upvw = arg1
local CreateWaypointTemplates_result1, CreateWaypointTemplates_result2_4, CreateWaypointTemplates_result3 = CreateWaypointTemplates_upvr()
CreateWaypointTemplates_result1_2_upvw = CreateWaypointTemplates_result1
CreateWaypointTemplates_result2_5_upvw = CreateWaypointTemplates_result2_4
CreateWaypointTemplates_result3_2_upvw = CreateWaypointTemplates_result3
end
function module.GetWaypointTexture() -- Line 452
--[[ Upvalues[1]:
[1]: var2_upvw (read and write)
]]
return var2_upvw
end
function module.SetWaypointRadius(arg1) -- Line 456
--[[ Upvalues[5]:
[1]: vector2_upvw (read and write)
[2]: CreateWaypointTemplates_result1_2_upvw (read and write)
[3]: CreateWaypointTemplates_result2_5_upvw (read and write)
[4]: CreateWaypointTemplates_result3_2_upvw (read and write)
[5]: CreateWaypointTemplates_upvr (readonly)
]]
vector2_upvw = Vector2.new(arg1, arg1)
local CreateWaypointTemplates_result1_5, CreateWaypointTemplates_result2_3, CreateWaypointTemplates_result3_4 = CreateWaypointTemplates_upvr()
CreateWaypointTemplates_result1_2_upvw = CreateWaypointTemplates_result1_5
CreateWaypointTemplates_result2_5_upvw = CreateWaypointTemplates_result2_3
CreateWaypointTemplates_result3_2_upvw = CreateWaypointTemplates_result3_4
end
function module.GetWaypointRadius() -- Line 461
--[[ Upvalues[1]:
[1]: vector2_upvw (read and write)
]]
return vector2_upvw.X
end
function module.SetEndWaypointTexture(arg1) -- Line 465
--[[ Upvalues[5]:
[1]: var3_upvw (read and write)
[2]: CreateWaypointTemplates_result1_2_upvw (read and write)
[3]: CreateWaypointTemplates_result2_5_upvw (read and write)
[4]: CreateWaypointTemplates_result3_2_upvw (read and write)
[5]: CreateWaypointTemplates_upvr (readonly)
]]
var3_upvw = arg1
local CreateWaypointTemplates_result1_4, CreateWaypointTemplates_result2_2, CreateWaypointTemplates_result3_3 = CreateWaypointTemplates_upvr()
CreateWaypointTemplates_result1_2_upvw = CreateWaypointTemplates_result1_4
CreateWaypointTemplates_result2_5_upvw = CreateWaypointTemplates_result2_2
CreateWaypointTemplates_result3_2_upvw = CreateWaypointTemplates_result3_3
end
function module.GetEndWaypointTexture() -- Line 470
--[[ Upvalues[1]:
[1]: var3_upvw (read and write)
]]
return var3_upvw
end
function module.SetWaypointsAlwaysOnTop(arg1) -- Line 474
--[[ Upvalues[5]:
[1]: var4_upvw (read and write)
[2]: CreateWaypointTemplates_result1_2_upvw (read and write)
[3]: CreateWaypointTemplates_result2_5_upvw (read and write)
[4]: CreateWaypointTemplates_result3_2_upvw (read and write)
[5]: CreateWaypointTemplates_upvr (readonly)
]]
var4_upvw = arg1
local CreateWaypointTemplates_result1_3, CreateWaypointTemplates_result2, CreateWaypointTemplates_result3_5 = CreateWaypointTemplates_upvr()
CreateWaypointTemplates_result1_2_upvw = CreateWaypointTemplates_result1_3
CreateWaypointTemplates_result2_5_upvw = CreateWaypointTemplates_result2
CreateWaypointTemplates_result3_2_upvw = CreateWaypointTemplates_result3_5
end
function module.GetWaypointsAlwaysOnTop() -- Line 479
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
return var4_upvw
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:35
-- Luau version 6, Types version 3
-- Time taken: 0.006680 seconds
local UserInputService_upvr = game:GetService("UserInputService")
local ContextActionService_upvr = game:GetService("ContextActionService")
local None_upvr = Enum.UserInputType.None
local module_upvr = require(script.Parent:WaitForChild("BaseCharacterController"))
local setmetatable_result1_upvr = setmetatable({}, module_upvr)
setmetatable_result1_upvr.__index = setmetatable_result1_upvr
function setmetatable_result1_upvr.new(arg1) -- Line 20
--[[ Upvalues[3]:
[1]: module_upvr (readonly)
[2]: setmetatable_result1_upvr (readonly)
[3]: None_upvr (readonly)
]]
local setmetatable_result1 = setmetatable(module_upvr.new(), setmetatable_result1_upvr)
setmetatable_result1.CONTROL_ACTION_PRIORITY = arg1
setmetatable_result1.forwardValue = 0
setmetatable_result1.backwardValue = 0
setmetatable_result1.leftValue = 0
setmetatable_result1.rightValue = 0
setmetatable_result1.activeGamepad = None_upvr
setmetatable_result1.gamepadConnectedConn = nil
setmetatable_result1.gamepadDisconnectedConn = nil
return setmetatable_result1
end
function setmetatable_result1_upvr.Enable(arg1, arg2) -- Line 36
--[[ Upvalues[2]:
[1]: UserInputService_upvr (readonly)
[2]: None_upvr (readonly)
]]
if not UserInputService_upvr.GamepadEnabled then
return false
end
if arg2 == arg1.enabled then
return true
end
arg1.forwardValue = 0
arg1.backwardValue = 0
arg1.leftValue = 0
arg1.rightValue = 0
arg1.moveVector = Vector3.new(0, 0, 0)
arg1.isJumping = false
if arg2 then
arg1.activeGamepad = arg1:GetHighestPriorityGamepad()
if arg1.activeGamepad ~= None_upvr then
arg1:BindContextActions()
arg1:ConnectGamepadConnectionListeners()
else
return false
end
else
arg1:UnbindContextActions()
arg1:DisconnectGamepadConnectionListeners()
arg1.activeGamepad = None_upvr
end
arg1.enabled = arg2
return true
end
function setmetatable_result1_upvr.GetHighestPriorityGamepad(arg1) -- Line 76
--[[ Upvalues[2]:
[1]: UserInputService_upvr (readonly)
[2]: None_upvr (readonly)
]]
local var14
for _, v in pairs(UserInputService_upvr:GetConnectedGamepads()) do
if v.Value < var14.Value then
var14 = v
end
end
return var14
end
function setmetatable_result1_upvr.BindContextActions(arg1) -- Line 87
--[[ Upvalues[2]:
[1]: None_upvr (readonly)
[2]: ContextActionService_upvr (readonly)
]]
if arg1.activeGamepad == None_upvr then
return false
end
ContextActionService_upvr:BindActivate(arg1.activeGamepad, Enum.KeyCode.ButtonR2)
ContextActionService_upvr:BindActionAtPriority("jumpAction", function(arg1_2, arg2, arg3) -- Line 94
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
local var16
if arg2 ~= Enum.UserInputState.Begin then
var16 = false
else
var16 = true
end
arg1.isJumping = var16
return Enum.ContextActionResult.Sink
end, false, arg1.CONTROL_ACTION_PRIORITY, Enum.KeyCode.ButtonA)
ContextActionService_upvr:BindActionAtPriority("moveThumbstick", function(arg1_3, arg2, arg3) -- Line 99
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg2 == Enum.UserInputState.Cancel then
arg1.moveVector = Vector3.new(0, 0, 0)
return Enum.ContextActionResult.Sink
end
if arg1.activeGamepad ~= arg3.UserInputType then
return Enum.ContextActionResult.Pass
end
if arg3.KeyCode ~= Enum.KeyCode.Thumbstick1 then return end
if 0.2 < arg3.Position.magnitude then
arg1.moveVector = Vector3.new(arg3.Position.X, 0, -arg3.Position.Y)
else
arg1.moveVector = Vector3.new(0, 0, 0)
end
return Enum.ContextActionResult.Sink
end, false, arg1.CONTROL_ACTION_PRIORITY, Enum.KeyCode.Thumbstick1)
return true
end
function setmetatable_result1_upvr.UnbindContextActions(arg1) -- Line 128
--[[ Upvalues[2]:
[1]: None_upvr (readonly)
[2]: ContextActionService_upvr (readonly)
]]
if arg1.activeGamepad ~= None_upvr then
ContextActionService_upvr:UnbindActivate(arg1.activeGamepad, Enum.KeyCode.ButtonR2)
end
ContextActionService_upvr:UnbindAction("moveThumbstick")
ContextActionService_upvr:UnbindAction("jumpAction")
end
function setmetatable_result1_upvr.OnNewGamepadConnected(arg1) -- Line 136
--[[ Upvalues[1]:
[1]: None_upvr (readonly)
]]
local any_GetHighestPriorityGamepad_result1_2 = arg1:GetHighestPriorityGamepad()
if any_GetHighestPriorityGamepad_result1_2 == arg1.activeGamepad then
else
if any_GetHighestPriorityGamepad_result1_2 == None_upvr then
warn("Gamepad:OnNewGamepadConnected found no connected gamepads")
arg1:UnbindContextActions()
return
end
if arg1.activeGamepad ~= None_upvr then
arg1:UnbindContextActions()
end
arg1.activeGamepad = any_GetHighestPriorityGamepad_result1_2
arg1:BindContextActions()
end
end
function setmetatable_result1_upvr.OnCurrentGamepadDisconnected(arg1) -- Line 163
--[[ Upvalues[2]:
[1]: None_upvr (readonly)
[2]: ContextActionService_upvr (readonly)
]]
if arg1.activeGamepad ~= None_upvr then
ContextActionService_upvr:UnbindActivate(arg1.activeGamepad, Enum.KeyCode.ButtonR2)
end
local any_GetHighestPriorityGamepad_result1 = arg1:GetHighestPriorityGamepad()
if arg1.activeGamepad ~= None_upvr and any_GetHighestPriorityGamepad_result1 == arg1.activeGamepad then
warn("Gamepad:OnCurrentGamepadDisconnected found the supposedly disconnected gamepad in connectedGamepads.")
arg1:UnbindContextActions()
arg1.activeGamepad = None_upvr
else
if any_GetHighestPriorityGamepad_result1 == None_upvr then
arg1:UnbindContextActions()
arg1.activeGamepad = None_upvr
return
end
arg1.activeGamepad = any_GetHighestPriorityGamepad_result1
ContextActionService_upvr:BindActivate(arg1.activeGamepad, Enum.KeyCode.ButtonR2)
end
end
function setmetatable_result1_upvr.ConnectGamepadConnectionListeners(arg1) -- Line 188
--[[ Upvalues[1]:
[1]: UserInputService_upvr (readonly)
]]
arg1.gamepadConnectedConn = UserInputService_upvr.GamepadConnected:Connect(function(arg1_4) -- Line 189
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:OnNewGamepadConnected()
end)
arg1.gamepadDisconnectedConn = UserInputService_upvr.GamepadDisconnected:Connect(function(arg1_5) -- Line 193
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1.activeGamepad == arg1_5 then
arg1:OnCurrentGamepadDisconnected()
end
end)
end
function setmetatable_result1_upvr.DisconnectGamepadConnectionListeners(arg1) -- Line 201
if arg1.gamepadConnectedConn then
arg1.gamepadConnectedConn:Disconnect()
arg1.gamepadConnectedConn = nil
end
if arg1.gamepadDisconnectedConn then
arg1.gamepadDisconnectedConn:Disconnect()
arg1.gamepadDisconnectedConn = nil
end
end
return setmetatable_result1_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:36
-- Luau version 6, Types version 3
-- Time taken: 0.029203 seconds
local module_upvr_4 = {}
module_upvr_4.__index = module_upvr_4
local pcall_result1_2, pcall_result2_2 = pcall(function() -- Line 19
return UserSettings():IsUserFeatureEnabled("UserCameraToggle")
end)
local var5_upvw = pcall_result1_2 and pcall_result2_2
local pcall_result1, pcall_result2 = pcall(function() -- Line 26
return UserSettings():IsUserFeatureEnabled("UserRemoveTheCameraApi")
end)
local pcall_result1_3, pcall_result2_3 = pcall(function() -- Line 33
return UserSettings():IsUserFeatureEnabled("UserCameraInputRefactor2")
end)
local pcall_result1_4, pcall_result2_4 = pcall(function() -- Line 40
return UserSettings():IsUserFeatureEnabled("UserCarCam")
end)
local var15_upvw = pcall_result1_4 and pcall_result2_4
local tbl_upvr = {"CameraMinZoomDistance", "CameraMaxZoomDistance", "CameraMode", "DevCameraOcclusionMode", "DevComputerCameraMode", "DevTouchCameraMode", "DevComputerMovementMode", "DevTouchMovementMode", "DevEnableMouseLock"}
local tbl_upvr_2 = {"ComputerCameraMovementMode", "ComputerMovementMode", "ControlMode", "GamepadCameraSensitivity", "MouseSensitivity", "RotationType", "TouchCameraMovementMode", "TouchMovementMode"}
local Players_upvr = game:GetService("Players")
local UserInputService_upvr = game:GetService("UserInputService")
local UserGameSettings_upvr = UserSettings():GetService("UserGameSettings")
local module_upvr_6 = require(script:WaitForChild("CameraUtils"))
local PlayerScripts = Players_upvr.LocalPlayer:WaitForChild("PlayerScripts")
PlayerScripts:RegisterTouchCameraMovementMode(Enum.TouchCameraMovementMode.Default)
PlayerScripts:RegisterTouchCameraMovementMode(Enum.TouchCameraMovementMode.Follow)
PlayerScripts:RegisterTouchCameraMovementMode(Enum.TouchCameraMovementMode.Classic)
PlayerScripts:RegisterComputerCameraMovementMode(Enum.ComputerCameraMovementMode.Default)
PlayerScripts:RegisterComputerCameraMovementMode(Enum.ComputerCameraMovementMode.Follow)
PlayerScripts:RegisterComputerCameraMovementMode(Enum.ComputerCameraMovementMode.Classic)
if var5_upvw then
PlayerScripts:RegisterComputerCameraMovementMode(Enum.ComputerCameraMovementMode.CameraToggle)
end
local module_upvr_3 = require(script:WaitForChild("TransparencyController"))
local module_upvr_10 = require(script:WaitForChild("MouseLockController"))
local RunService_upvr = game:GetService("RunService")
function module_upvr_4.new() -- Line 120
--[[ Upvalues[9]:
[1]: module_upvr_4 (readonly)
[2]: Players_upvr (readonly)
[3]: module_upvr_3 (readonly)
[4]: UserInputService_upvr (readonly)
[5]: module_upvr_10 (readonly)
[6]: RunService_upvr (readonly)
[7]: tbl_upvr (readonly)
[8]: tbl_upvr_2 (readonly)
[9]: UserGameSettings_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local setmetatable_result1_upvr = setmetatable({}, module_upvr_4)
setmetatable_result1_upvr.activeCameraController = nil
setmetatable_result1_upvr.activeOcclusionModule = nil
setmetatable_result1_upvr.activeTransparencyController = nil
setmetatable_result1_upvr.activeMouseLockController = nil
setmetatable_result1_upvr.currentComputerCameraMovementMode = nil
setmetatable_result1_upvr.cameraSubjectChangedConn = nil
setmetatable_result1_upvr.cameraTypeChangedConn = nil
for var86, v in pairs(Players_upvr:GetPlayers()) do
setmetatable_result1_upvr:OnPlayerAdded(v)
end
Players_upvr.PlayerAdded:Connect(function(arg1) -- Line 141
--[[ Upvalues[1]:
[1]: setmetatable_result1_upvr (readonly)
]]
setmetatable_result1_upvr:OnPlayerAdded(arg1)
end)
setmetatable_result1_upvr.activeTransparencyController = module_upvr_3.new()
setmetatable_result1_upvr.activeTransparencyController:Enable(true)
if not UserInputService_upvr.TouchEnabled then
setmetatable_result1_upvr.activeMouseLockController = module_upvr_10.new()
local any_GetBindableToggleEvent_result1 = setmetatable_result1_upvr.activeMouseLockController:GetBindableToggleEvent()
if any_GetBindableToggleEvent_result1 then
function var86() -- Line 152
--[[ Upvalues[1]:
[1]: setmetatable_result1_upvr (readonly)
]]
setmetatable_result1_upvr:OnMouseLockToggled()
end
any_GetBindableToggleEvent_result1:Connect(var86)
end
end
setmetatable_result1_upvr:ActivateCameraController(setmetatable_result1_upvr:GetCameraControlChoice())
setmetatable_result1_upvr:ActivateOcclusionModule(Players_upvr.LocalPlayer.DevCameraOcclusionMode)
setmetatable_result1_upvr:OnCurrentCameraChanged()
RunService_upvr:BindToRenderStep("cameraRenderUpdate", Enum.RenderPriority.Camera.Value, function(arg1) -- Line 161
--[[ Upvalues[1]:
[1]: setmetatable_result1_upvr (readonly)
]]
setmetatable_result1_upvr:Update(arg1)
end)
for _, v_2_upvr in pairs(tbl_upvr) do
Players_upvr.LocalPlayer:GetPropertyChangedSignal(v_2_upvr):Connect(function() -- Line 165
--[[ Upvalues[2]:
[1]: setmetatable_result1_upvr (readonly)
[2]: v_2_upvr (readonly)
]]
setmetatable_result1_upvr:OnLocalPlayerCameraPropertyChanged(v_2_upvr)
end)
end
for _, v_3_upvr in pairs(tbl_upvr_2) do
UserGameSettings_upvr:GetPropertyChangedSignal(v_3_upvr):Connect(function() -- Line 171
--[[ Upvalues[2]:
[1]: setmetatable_result1_upvr (readonly)
[2]: v_3_upvr (readonly)
]]
setmetatable_result1_upvr:OnUserGameSettingsPropertyChanged(v_3_upvr)
end)
end
game.Workspace:GetPropertyChangedSignal("CurrentCamera"):Connect(function() -- Line 175
--[[ Upvalues[1]:
[1]: setmetatable_result1_upvr (readonly)
]]
setmetatable_result1_upvr:OnCurrentCameraChanged()
end)
setmetatable_result1_upvr.lastInputType = UserInputService_upvr:GetLastInputType()
UserInputService_upvr.LastInputTypeChanged:Connect(function(arg1) -- Line 180
--[[ Upvalues[1]:
[1]: setmetatable_result1_upvr (readonly)
]]
setmetatable_result1_upvr.lastInputType = arg1
end)
return setmetatable_result1_upvr
end
function module_upvr_4.GetCameraMovementModeFromSettings(arg1) -- Line 187
--[[ Upvalues[4]:
[1]: Players_upvr (readonly)
[2]: module_upvr_6 (readonly)
[3]: UserInputService_upvr (readonly)
[4]: UserGameSettings_upvr (readonly)
]]
local var98
if Players_upvr.LocalPlayer.CameraMode == Enum.CameraMode.LockFirstPerson then
var98 = module_upvr_6
var98 = Enum.ComputerCameraMovementMode.Classic
return var98.ConvertCameraModeEnumToStandard(var98)
end
local var99
var98 = nil
if UserInputService_upvr.TouchEnabled then
var99 = module_upvr_6.ConvertCameraModeEnumToStandard(Players_upvr.LocalPlayer.DevTouchCameraMode)
var98 = module_upvr_6.ConvertCameraModeEnumToStandard(UserGameSettings_upvr.TouchCameraMovementMode)
else
var99 = module_upvr_6.ConvertCameraModeEnumToStandard(Players_upvr.LocalPlayer.DevComputerCameraMode)
var98 = module_upvr_6.ConvertCameraModeEnumToStandard(UserGameSettings_upvr.ComputerCameraMovementMode)
end
if var99 == Enum.DevComputerCameraMovementMode.UserChoice then
return var98
end
return var99
end
local module_upvr = require(script:WaitForChild("Poppercam"))
local module_upvr_9 = require(script:WaitForChild("Invisicam"))
local tbl_upvr_3 = {}
function module_upvr_4.ActivateOcclusionModule(arg1, arg2) -- Line 212
--[[ Upvalues[4]:
[1]: module_upvr (readonly)
[2]: module_upvr_9 (readonly)
[3]: tbl_upvr_3 (readonly)
[4]: Players_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 51 start (CF ANALYSIS FAILED)
local var103
if arg2 == Enum.DevCameraOcclusionMode.Zoom then
var103 = module_upvr
elseif arg2 == Enum.DevCameraOcclusionMode.Invisicam then
var103 = module_upvr_9
else
warn("CameraScript ActivateOcclusionModule called with unsupported mode")
return
end
-- KONSTANTERROR: [0] 1. Error Block 51 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [21] 16. Error Block 9 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [21] 16. Error Block 9 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [28] 20. Error Block 38 start (CF ANALYSIS FAILED)
if not arg1.activeOcclusionModule:GetEnabled() then
arg1.activeOcclusionModule:Enable(true)
end
do
return
end
-- KONSTANTERROR: [28] 20. Error Block 38 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [41] 29. Error Block 13 start (CF ANALYSIS FAILED)
arg1.activeOcclusionModule = tbl_upvr_3[var103]
-- KONSTANTERROR: [41] 29. Error Block 13 end (CF ANALYSIS FAILED)
end
local function _() -- Line 289, Named "shouldUseVehicleCamera"
--[[ Upvalues[1]:
[1]: var15_upvw (read and write)
]]
assert(var15_upvw)
local CurrentCamera_3 = workspace.CurrentCamera
local var105
if not CurrentCamera_3 then
return false
end
local CameraType = CurrentCamera_3.CameraType
local var108 = true
var105 = Enum.CameraType.Custom
if CameraType ~= var105 then
var105 = Enum.CameraType.Follow
if CameraType ~= var105 then
var108 = false
else
var108 = true
end
end
local function INLINED() -- Internal function, doesn't exist in bytecode
var105 = CurrentCamera_3.CameraSubject:IsA("VehicleSeat")
return var105
end
if not CurrentCamera_3.CameraSubject or not INLINED() then
var105 = false
end
return var105 and var108
end
local module_upvr_8 = require(script:WaitForChild("LegacyCamera"))
local module_upvr_5 = require(script:WaitForChild("ClassicCamera"))
local module_upvr_11 = require(script:WaitForChild("OrbitalCamera"))
local module_upvr_7 = require(script:WaitForChild("VehicleCamera"))
local tbl_upvr_4 = {}
function module_upvr_4.ActivateCameraController(arg1, arg2, arg3) -- Line 308
--[[ Upvalues[7]:
[1]: module_upvr_8 (readonly)
[2]: var5_upvw (read and write)
[3]: module_upvr_5 (readonly)
[4]: module_upvr_11 (readonly)
[5]: var15_upvw (read and write)
[6]: module_upvr_7 (readonly)
[7]: tbl_upvr_4 (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var114
if arg3 ~= nil then
if arg3 == Enum.CameraType.Scriptable then
if arg1.activeCameraController then
arg1.activeCameraController:Enable(false)
arg1.activeCameraController = nil
do
return
end
-- KONSTANTWARNING: GOTO [70] #45
end
elseif arg3 == Enum.CameraType.Custom then
local _ = arg1:GetCameraMovementModeFromSettings()
elseif arg3 == Enum.CameraType.Track then
elseif arg3 == Enum.CameraType.Follow then
elseif arg3 == Enum.CameraType.Orbital then
elseif arg3 == Enum.CameraType.Attach or arg3 == Enum.CameraType.Watch or arg3 == Enum.CameraType.Fixed then
var114 = module_upvr_8
else
warn("CameraScript encountered an unhandled Camera.CameraType value: ", arg3)
end
end
if not var114 then
local function INLINED_2() -- Internal function, doesn't exist in bytecode
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return Enum.ComputerCameraMovementMode.Orbital == Enum.ComputerCameraMovementMode.Follow
end
local function INLINED_3() -- Internal function, doesn't exist in bytecode
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return Enum.ComputerCameraMovementMode.Orbital == Enum.ComputerCameraMovementMode.Default
end
local function INLINED_4() -- Internal function, doesn't exist in bytecode
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return Enum.ComputerCameraMovementMode.Orbital == Enum.ComputerCameraMovementMode.CameraToggle
end
if Enum.ComputerCameraMovementMode.Orbital == Enum.ComputerCameraMovementMode.Classic or INLINED_2() or INLINED_3() or var5_upvw and INLINED_4() then
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if Enum.ComputerCameraMovementMode.Orbital == Enum.ComputerCameraMovementMode.Orbital then
else
warn("ActivateCameraController did not select a module.")
return
end
end
end
local var116 = var15_upvw
if var116 then
assert(var15_upvw)
local CurrentCamera_4 = workspace.CurrentCamera
local var118
if not CurrentCamera_4 then
var116 = false
else
local CameraType_2 = CurrentCamera_4.CameraType
var118 = Enum.CameraType.Custom
if CameraType_2 ~= var118 then
var118 = Enum.CameraType.Follow
if CameraType_2 ~= var118 then
else
end
end
local function INLINED_5() -- Internal function, doesn't exist in bytecode
var118 = CurrentCamera_4.CameraSubject:IsA("VehicleSeat")
return var118
end
if not CurrentCamera_4.CameraSubject or not INLINED_5() then
var118 = false
end
var116 = var118 and true
end
end
if var116 then
end
if not tbl_upvr_4[module_upvr_7] then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
tbl_upvr_4[module_upvr_7] = module_upvr_7.new()
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
local var122 = tbl_upvr_4[module_upvr_7]
if var15_upvw and var122.Reset then
var122:Reset()
end
end
if arg1.activeCameraController then
if arg1.activeCameraController ~= var122 then
arg1.activeCameraController:Enable(false)
arg1.activeCameraController = var122
arg1.activeCameraController:Enable(true)
elseif not arg1.activeCameraController:GetEnabled() then
arg1.activeCameraController:Enable(true)
-- KONSTANTWARNING: GOTO [207] #142
end
elseif var122 ~= nil then
arg1.activeCameraController = var122
arg1.activeCameraController:Enable(true)
end
if arg1.activeCameraController then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if Enum.ComputerCameraMovementMode.Orbital ~= nil then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
arg1.activeCameraController:SetCameraMovementMode(Enum.ComputerCameraMovementMode.Orbital)
return
end
if arg3 ~= nil then
arg1.activeCameraController:SetCameraType(arg3)
end
end
end
function module_upvr_4.OnCameraSubjectChanged(arg1) -- Line 406
--[[ Upvalues[1]:
[1]: var15_upvw (read and write)
]]
local CurrentCamera = workspace.CurrentCamera
local var124
if var124 then
var124 = CurrentCamera.CameraSubject
end
if arg1.activeTransparencyController then
arg1.activeTransparencyController:SetSubject(var124)
end
if arg1.activeOcclusionModule then
arg1.activeOcclusionModule:OnCameraSubjectChanged(var124)
end
if var15_upvw then
arg1:ActivateCameraController(nil, CurrentCamera.CameraType)
end
end
function module_upvr_4.OnCameraTypeChanged(arg1, arg2) -- Line 423
--[[ Upvalues[1]:
[1]: UserInputService_upvr (readonly)
]]
if arg2 == Enum.CameraType.Scriptable and UserInputService_upvr.MouseBehavior == Enum.MouseBehavior.LockCenter then
UserInputService_upvr.MouseBehavior = Enum.MouseBehavior.Default
end
arg1:ActivateCameraController(nil, arg2)
end
function module_upvr_4.OnCurrentCameraChanged(arg1) -- Line 435
local CurrentCamera_2_upvr = game.Workspace.CurrentCamera
if not CurrentCamera_2_upvr then
else
if arg1.cameraSubjectChangedConn then
arg1.cameraSubjectChangedConn:Disconnect()
end
if arg1.cameraTypeChangedConn then
arg1.cameraTypeChangedConn:Disconnect()
end
arg1.cameraSubjectChangedConn = CurrentCamera_2_upvr:GetPropertyChangedSignal("CameraSubject"):Connect(function() -- Line 447
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: CurrentCamera_2_upvr (readonly)
]]
arg1:OnCameraSubjectChanged(CurrentCamera_2_upvr.CameraSubject)
end)
arg1.cameraTypeChangedConn = CurrentCamera_2_upvr:GetPropertyChangedSignal("CameraType"):Connect(function() -- Line 451
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: CurrentCamera_2_upvr (readonly)
]]
arg1:OnCameraTypeChanged(CurrentCamera_2_upvr.CameraType)
end)
arg1:OnCameraSubjectChanged(CurrentCamera_2_upvr.CameraSubject)
arg1:OnCameraTypeChanged(CurrentCamera_2_upvr.CameraType)
end
end
function module_upvr_4.OnLocalPlayerCameraPropertyChanged(arg1, arg2) -- Line 459
--[[ Upvalues[2]:
[1]: Players_upvr (readonly)
[2]: module_upvr_6 (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [39] 25. Error Block 34 start (CF ANALYSIS FAILED)
if Players_upvr.LocalPlayer.CameraMode == Enum.CameraMode.Classic then
arg1:ActivateCameraController(module_upvr_6.ConvertCameraModeEnumToStandard(arg1:GetCameraMovementModeFromSettings()))
return
end
warn("Unhandled value for property player.CameraMode: ", Players_upvr.LocalPlayer.CameraMode)
do
return
end
-- KONSTANTERROR: [39] 25. Error Block 34 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [70] 46. Error Block 12 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [70] 46. Error Block 12 end (CF ANALYSIS FAILED)
end
function module_upvr_4.OnUserGameSettingsPropertyChanged(arg1, arg2) -- Line 503
--[[ Upvalues[1]:
[1]: module_upvr_6 (readonly)
]]
if arg2 == "ComputerCameraMovementMode" then
arg1:ActivateCameraController(module_upvr_6.ConvertCameraModeEnumToStandard(arg1:GetCameraMovementModeFromSettings()))
end
end
local var128_upvw = pcall_result1_3 and pcall_result2_3
local module_upvr_2 = require(script:WaitForChild("CameraInput"))
function module_upvr_4.Update(arg1, arg2) -- Line 516
--[[ Upvalues[3]:
[1]: var5_upvw (read and write)
[2]: var128_upvw (read and write)
[3]: module_upvr_2 (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
if arg1.activeCameraController then
if var5_upvw then
arg1.activeCameraController:UpdateMouseBehavior()
end
local any_Update_result1_2, any_Update_result2_2 = arg1.activeCameraController:Update(arg2)
arg1.activeCameraController:ApplyVRTransform()
if arg1.activeOcclusionModule then
local any_Update_result1, any_Update_result2 = arg1.activeOcclusionModule:Update(arg2, any_Update_result1_2, any_Update_result2_2)
any_Update_result1_2 = any_Update_result1
end
game.Workspace.CurrentCamera.CFrame = any_Update_result1_2
game.Workspace.CurrentCamera.Focus = any_Update_result2
if arg1.activeTransparencyController then
arg1.activeTransparencyController:Update()
end
if var128_upvw and module_upvr_2.getInputEnabled() then
module_upvr_2.resetInputForFrameEnd()
end
end
end
function module_upvr_4.GetCameraControlChoice(arg1) -- Line 545
--[[ Upvalues[4]:
[1]: Players_upvr (readonly)
[2]: UserInputService_upvr (readonly)
[3]: module_upvr_6 (readonly)
[4]: UserGameSettings_upvr (readonly)
]]
local LocalPlayer = Players_upvr.LocalPlayer
if LocalPlayer then
if arg1.lastInputType == Enum.UserInputType.Touch or UserInputService_upvr.TouchEnabled then
if LocalPlayer.DevTouchCameraMode == Enum.DevTouchCameraMovementMode.UserChoice then
return module_upvr_6.ConvertCameraModeEnumToStandard(UserGameSettings_upvr.TouchCameraMovementMode)
end
return module_upvr_6.ConvertCameraModeEnumToStandard(LocalPlayer.DevTouchCameraMode)
end
if LocalPlayer.DevComputerCameraMode == Enum.DevComputerCameraMovementMode.UserChoice then
return module_upvr_6.ConvertCameraModeEnumToStandard(module_upvr_6.ConvertCameraModeEnumToStandard(UserGameSettings_upvr.ComputerCameraMovementMode))
end
return module_upvr_6.ConvertCameraModeEnumToStandard(LocalPlayer.DevComputerCameraMode)
end
end
function module_upvr_4.OnCharacterAdded(arg1, arg2, arg3) -- Line 568
if arg1.activeOcclusionModule then
arg1.activeOcclusionModule:CharacterAdded(arg2, arg3)
end
end
function module_upvr_4.OnCharacterRemoving(arg1, arg2, arg3) -- Line 574
if arg1.activeOcclusionModule then
arg1.activeOcclusionModule:CharacterRemoving(arg2, arg3)
end
end
function module_upvr_4.OnPlayerAdded(arg1, arg2) -- Line 580
arg2.CharacterAdded:Connect(function(arg1_2) -- Line 581
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
arg1:OnCharacterAdded(arg1_2, arg2)
end)
arg2.CharacterRemoving:Connect(function(arg1_3) -- Line 584
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
arg1:OnCharacterRemoving(arg1_3, arg2)
end)
end
function module_upvr_4.OnMouseLockToggled(arg1) -- Line 589
if arg1.activeMouseLockController and arg1.activeCameraController then
arg1.activeCameraController:SetIsMouseLocked(arg1.activeMouseLockController:GetIsMouseLocked())
arg1.activeCameraController:SetMouseLockOffset(arg1.activeMouseLockController:GetMouseLockOffset())
end
end
if pcall_result1 and pcall_result2 then
return {}
end
return module_upvr_4.new()
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:38
-- Luau version 6, Types version 3
-- Time taken: 0.010419 seconds
local pcall_result1, pcall_result2 = pcall(function() -- Line 2
return UserSettings():IsUserFeatureEnabled("UserCarCam")
end)
local var4_upvw = pcall_result1 and pcall_result2
local module_upvr_4 = require(script.Parent:WaitForChild("BaseCamera"))
local module_upvr = require(script.Parent:WaitForChild("CameraInput"))
local module_upvr_6 = require(script.Parent:WaitForChild("CameraUtils"))
local module_upvr_5 = require(script.Parent:WaitForChild("ZoomController"))
local module_upvr_2 = require(script:WaitForChild("VehicleCameraConfig"))
local mapClamp_upvr = module_upvr_6.mapClamp
local function _(arg1, arg2) -- Line 32, Named "pitchVelocity"
return math.abs(arg2.XVector:Dot(arg1))
end
local function _(arg1, arg2) -- Line 37, Named "yawVelocity"
return math.abs(arg2.YVector:Dot(arg1))
end
local var11_upvw = (1/60)
if var4_upvw then
game:GetService("RunService").Stepped:Connect(function(arg1, arg2) -- Line 44
--[[ Upvalues[1]:
[1]: var11_upvw (read and write)
]]
var11_upvw = arg2
end)
end
local setmetatable_result1_2_upvr = setmetatable({}, module_upvr_4)
setmetatable_result1_2_upvr.__index = setmetatable_result1_2_upvr
function setmetatable_result1_2_upvr.new() -- Line 52
--[[ Upvalues[3]:
[1]: var4_upvw (read and write)
[2]: module_upvr_4 (readonly)
[3]: setmetatable_result1_2_upvr (readonly)
]]
assert(var4_upvw)
local setmetatable_result1 = setmetatable(module_upvr_4.new(), setmetatable_result1_2_upvr)
setmetatable_result1:Reset()
return setmetatable_result1
end
local module_upvr_3 = require(script:WaitForChild("VehicleCameraCore"))
local Spring_upvr = module_upvr_6.Spring
function setmetatable_result1_2_upvr.Reset(arg1) -- Line 59
--[[ Upvalues[5]:
[1]: var4_upvw (read and write)
[2]: module_upvr_3 (readonly)
[3]: Spring_upvr (readonly)
[4]: module_upvr_2 (readonly)
[5]: module_upvr_6 (readonly)
]]
assert(var4_upvw)
arg1.vehicleCameraCore = module_upvr_3.new(arg1:GetSubjectCFrame())
arg1.pitchSpring = Spring_upvr.new(0, -math.rad(module_upvr_2.pitchBaseAngle))
arg1.yawSpring = Spring_upvr.new(0, 0)
arg1.lastPanTick = 0
local CurrentCamera_2 = workspace.CurrentCamera
local var18 = CurrentCamera_2
if var18 then
var18 = CurrentCamera_2.CameraSubject
end
assert(CurrentCamera_2)
assert(var18)
assert(var18:IsA("VehicleSeat"))
local any_getLooseBoundingSphere_result1, any_getLooseBoundingSphere_result2 = module_upvr_6.getLooseBoundingSphere(var18:GetConnectedParts(true))
arg1.assemblyRadius = math.max(any_getLooseBoundingSphere_result2, 0.001)
arg1.assemblyOffset = var18.CFrame:Inverse() * any_getLooseBoundingSphere_result1
arg1:_StepInitialZoom()
end
function setmetatable_result1_2_upvr._StepInitialZoom(arg1) -- Line 84
--[[ Upvalues[3]:
[1]: var4_upvw (read and write)
[2]: module_upvr_5 (readonly)
[3]: module_upvr_2 (readonly)
]]
assert(var4_upvw)
arg1:SetCameraToSubjectDistance(math.max(module_upvr_5.GetZoomRadius(), arg1.assemblyRadius * module_upvr_2.initialZoomRadiusMul))
end
local sanitizeAngle_upvr = module_upvr_6.sanitizeAngle
function setmetatable_result1_2_upvr._StepRotation(arg1, arg2, arg3) -- Line 92
--[[ Upvalues[4]:
[1]: module_upvr (readonly)
[2]: sanitizeAngle_upvr (readonly)
[3]: module_upvr_2 (readonly)
[4]: mapClamp_upvr (readonly)
]]
local yawSpring = arg1.yawSpring
local pitchSpring = arg1.pitchSpring
local any_getRotation_result1 = module_upvr.getRotation()
yawSpring.pos = sanitizeAngle_upvr(yawSpring.pos + -any_getRotation_result1.X)
pitchSpring.pos = sanitizeAngle_upvr(math.clamp(pitchSpring.pos + -any_getRotation_result1.Y, -1.3962634015954636, 1.3962634015954636))
if 0 < any_getRotation_result1.Magnitude then
arg1.lastPanTick = os.clock()
end
local var25 = -math.rad(module_upvr_2.pitchBaseAngle)
if module_upvr_2.autocorrectDelay < os.clock() - arg1.lastPanTick then
local mapClamp_upvr_result1_2 = mapClamp_upvr(arg3, module_upvr_2.autocorrectMinCarSpeed, module_upvr_2.autocorrectMaxCarSpeed, 0, module_upvr_2.autocorrectResponse)
yawSpring.freq = mapClamp_upvr_result1_2
pitchSpring.freq = mapClamp_upvr_result1_2
if yawSpring.freq < 0.001 then
yawSpring.vel = 0
end
if pitchSpring.freq < 0.001 then
pitchSpring.vel = 0
end
if math.abs(sanitizeAngle_upvr(var25 - pitchSpring.pos)) <= math.rad(module_upvr_2.pitchDeadzoneAngle) then
pitchSpring.goal = pitchSpring.pos
else
pitchSpring.goal = var25
end
else
yawSpring.freq = 0
yawSpring.vel = 0
pitchSpring.freq = 0
pitchSpring.vel = 0
pitchSpring.goal = var25
end
return CFrame.fromEulerAnglesYXZ(pitchSpring:step(arg2), yawSpring:step(arg2), 0)
end
function setmetatable_result1_2_upvr._StepZoom(arg1) -- Line 155
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: module_upvr_5 (readonly)
]]
local currentSubjectDistance = arg1.currentSubjectDistance
local any_getZoomDelta_result1 = module_upvr.getZoomDelta()
if 0 < math.abs(any_getZoomDelta_result1) then
local var29
if arg1.inFirstPerson and any_getZoomDelta_result1 < 0 then
var29 = 0.5
elseif 0 < any_getZoomDelta_result1 then
var29 = currentSubjectDistance + any_getZoomDelta_result1 * (1 + currentSubjectDistance * 0.5)
else
var29 = (currentSubjectDistance + any_getZoomDelta_result1) / (1 - any_getZoomDelta_result1 * 0.5)
end
var29 = math.max(var29, 0.5)
arg1:SetCameraToSubjectDistance(var29)
end
return module_upvr_5.GetZoomRadius()
end
function setmetatable_result1_2_upvr._GetThirdPersonLocalOffset(arg1) -- Line 180
--[[ Upvalues[1]:
[1]: module_upvr_2 (readonly)
]]
return arg1.assemblyOffset + Vector3.new(0, arg1.assemblyRadius * module_upvr_2.verticalCenterOffset, 0)
end
local LocalPlayer_upvr = game:GetService("Players").LocalPlayer
function setmetatable_result1_2_upvr._GetFirstPersonLocalOffset(arg1, arg2) -- Line 184
--[[ Upvalues[1]:
[1]: LocalPlayer_upvr (readonly)
]]
local Character = LocalPlayer_upvr.Character
if Character and Character.Parent then
local Head = Character:FindFirstChild("Head")
if Head and Head:IsA("BasePart") then
return arg2:Inverse() * Head.Position
end
end
return arg1:_GetThirdPersonLocalOffset()
end
function setmetatable_result1_2_upvr.Update(arg1) -- Line 198
--[[ Upvalues[3]:
[1]: var4_upvw (read and write)
[2]: var11_upvw (read and write)
[3]: mapClamp_upvr (readonly)
]]
assert(var4_upvw)
local CurrentCamera = workspace.CurrentCamera
local var36 = CurrentCamera
if var36 then
var36 = CurrentCamera.CameraSubject
end
local vehicleCameraCore = arg1.vehicleCameraCore
assert(CurrentCamera)
assert(var36)
assert(var36:IsA("VehicleSeat"))
local var38 = var11_upvw
var11_upvw = 0
local any_GetSubjectCFrame_result1 = arg1:GetSubjectCFrame()
local any_GetSubjectRotVelocity_result1 = arg1:GetSubjectRotVelocity()
local any__StepZoom_result1 = arg1:_StepZoom()
local mapClamp_upvr_result1 = mapClamp_upvr(any__StepZoom_result1, 0.5, arg1.assemblyRadius, 1, 0)
vehicleCameraCore:setTransform(any_GetSubjectCFrame_result1)
local var43 = CFrame.new(any_GetSubjectCFrame_result1 * arg1:_GetThirdPersonLocalOffset():Lerp(arg1:_GetFirstPersonLocalOffset(any_GetSubjectCFrame_result1), mapClamp_upvr_result1)) * vehicleCameraCore:step(var38, math.abs(any_GetSubjectCFrame_result1.XVector:Dot(any_GetSubjectRotVelocity_result1)), math.abs(any_GetSubjectCFrame_result1.YVector:Dot(any_GetSubjectRotVelocity_result1)), mapClamp_upvr_result1) * arg1:_StepRotation(var38, math.abs(arg1:GetSubjectVelocity():Dot(any_GetSubjectCFrame_result1.ZVector)))
return var43 * CFrame.new(0, 0, any__StepZoom_result1), var43
end
function setmetatable_result1_2_upvr.ApplyVRTransform(arg1) -- Line 244
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
assert(var4_upvw)
end
function setmetatable_result1_2_upvr.EnterFirstPerson(arg1) -- Line 249
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
assert(var4_upvw)
arg1.inFirstPerson = true
arg1:UpdateMouseBehavior()
end
function setmetatable_result1_2_upvr.LeaveFirstPerson(arg1) -- Line 255
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
assert(var4_upvw)
arg1.inFirstPerson = false
arg1:UpdateMouseBehavior()
end
return setmetatable_result1_2_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:39
-- Luau version 6, Types version 3
-- Time taken: 0.000897 seconds
return {
pitchStiffness = 0.5;
yawStiffness = 2.5;
autocorrectDelay = 1;
autocorrectMinCarSpeed = 16;
autocorrectMaxCarSpeed = 32;
autocorrectResponse = 0.5;
cutoffMinAngularVelYaw = 60;
cutoffMaxAngularVelYaw = 180;
cutoffMinAngularVelPitch = 15;
cutoffMaxAngularVelPitch = 60;
pitchBaseAngle = 18;
pitchDeadzoneAngle = 12;
firstPersonResponseMul = 10;
yawReponseDampingRising = 1;
yawResponseDampingFalling = 3;
pitchReponseDampingRising = 1;
pitchResponseDampingFalling = 3;
initialZoomRadiusMul = 3;
verticalCenterOffset = 0.33;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:41
-- Luau version 6, Types version 3
-- Time taken: 0.007192 seconds
local pcall_result1, pcall_result2 = pcall(function() -- Line 2
return UserSettings():IsUserFeatureEnabled("UserCarCam")
end)
local var4_upvw = pcall_result1 and pcall_result2
local CameraUtils = require(script.Parent.Parent.CameraUtils)
local VehicleCameraConfig_upvr = require(script.Parent.VehicleCameraConfig)
local sanitizeAngle_upvr = CameraUtils.sanitizeAngle
local function _(arg1) -- Line 16, Named "getYaw"
--[[ Upvalues[1]:
[1]: sanitizeAngle_upvr (readonly)
]]
local _, any_toEulerAnglesYXZ_result2 = arg1:toEulerAnglesYXZ()
return sanitizeAngle_upvr(any_toEulerAnglesYXZ_result2)
end
local function _(arg1) -- Line 22, Named "getPitch"
--[[ Upvalues[1]:
[1]: sanitizeAngle_upvr (readonly)
]]
return sanitizeAngle_upvr(arg1:toEulerAnglesYXZ())
end
local function _(arg1, arg2, arg3, arg4, arg5) -- Line 28, Named "stepSpringAxis"
--[[ Upvalues[1]:
[1]: sanitizeAngle_upvr (readonly)
]]
local sanitizeAngle_upvr_result1 = sanitizeAngle_upvr(arg4 - arg3)
local exponentiated = math.exp(-arg2 * arg1)
return sanitizeAngle_upvr((sanitizeAngle_upvr_result1 * (1 + arg2 * arg1) + arg5 * arg1) * exponentiated + arg3), (arg5 * (1 - arg2 * arg1) - (sanitizeAngle_upvr_result1) * (arg2 * arg2 * arg1)) * exponentiated
end
local tbl_upvr = {}
tbl_upvr.__index = tbl_upvr
local function new(arg1, arg2, arg3) -- Line 42
--[[ Upvalues[1]:
[1]: tbl_upvr (readonly)
]]
local module = {}
module.fRising = arg1
module.fFalling = arg2
module.g = arg3
module.p = arg3
module.v = arg3 * 0
return setmetatable(module, tbl_upvr)
end
tbl_upvr.new = new
local function step(arg1, arg2) -- Line 52
local g = arg1.g
local v = arg1.v
local var16
local function INLINED() -- Internal function, doesn't exist in bytecode
var16 = arg1.fRising
return var16
end
if 0 >= v or not INLINED() then
var16 = arg1.fFalling
end
local var17 = (-math.pi*2) * var16
local var18 = arg1.p - g
var16 = math.exp(-var17 * arg2)
local var19 = (var18 * (1 + var17 * arg2) + v * arg2) * var16 + g
arg1.p = var19
arg1.v = (v * (1 - var17 * arg2) - (var18) * (var17 * var17 * arg2)) * var16
return var19
end
tbl_upvr.step = step
local tbl_upvr_2 = {}
tbl_upvr_2.__index = tbl_upvr_2
local function new(arg1) -- Line 78
--[[ Upvalues[4]:
[1]: sanitizeAngle_upvr (readonly)
[2]: tbl_upvr (readonly)
[3]: VehicleCameraConfig_upvr (readonly)
[4]: tbl_upvr_2 (readonly)
]]
local var21
if typeof(arg1) ~= "CFrame" then
var21 = false
else
var21 = true
end
assert(var21)
var21 = {}
local _, any_toEulerAnglesYXZ_result2_2 = arg1:toEulerAnglesYXZ()
var21.yawG = sanitizeAngle_upvr(any_toEulerAnglesYXZ_result2_2)
local _, any_toEulerAnglesYXZ_result2_4 = arg1:toEulerAnglesYXZ()
var21.yawP = sanitizeAngle_upvr(any_toEulerAnglesYXZ_result2_4)
var21.yawV = 0
var21.pitchG = sanitizeAngle_upvr(arg1:toEulerAnglesYXZ())
var21.pitchP = sanitizeAngle_upvr(arg1:toEulerAnglesYXZ())
var21.pitchV = 0
var21.fSpringYaw = tbl_upvr.new(VehicleCameraConfig_upvr.yawReponseDampingRising, VehicleCameraConfig_upvr.yawResponseDampingFalling, 0)
var21.fSpringPitch = tbl_upvr.new(VehicleCameraConfig_upvr.pitchReponseDampingRising, VehicleCameraConfig_upvr.pitchResponseDampingFalling, 0)
return setmetatable(var21, tbl_upvr_2)
end
tbl_upvr_2.new = new
function tbl_upvr_2.setGoal(arg1, arg2) -- Line 105
--[[ Upvalues[1]:
[1]: sanitizeAngle_upvr (readonly)
]]
local var26
if typeof(arg2) ~= "CFrame" then
var26 = false
else
var26 = true
end
assert(var26)
var26 = arg2:toEulerAnglesYXZ()
local any_toEulerAnglesYXZ_result1, any_toEulerAnglesYXZ_result2_3 = arg2:toEulerAnglesYXZ()
arg1.yawG = sanitizeAngle_upvr(any_toEulerAnglesYXZ_result2_3)
any_toEulerAnglesYXZ_result1 = arg2:toEulerAnglesYXZ()
arg1.pitchG = sanitizeAngle_upvr(any_toEulerAnglesYXZ_result1)
end
function tbl_upvr_2.getCFrame(arg1) -- Line 112
return CFrame.fromEulerAnglesYXZ(arg1.pitchP, arg1.yawP, 0)
end
local mapClamp_upvr = CameraUtils.mapClamp
local map_upvr = CameraUtils.map
local function step(arg1, arg2, arg3, arg4, arg5) -- Line 116
--[[ Upvalues[4]:
[1]: mapClamp_upvr (readonly)
[2]: map_upvr (readonly)
[3]: VehicleCameraConfig_upvr (readonly)
[4]: sanitizeAngle_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 26 start (CF ANALYSIS FAILED)
local var31
if typeof(arg2) ~= "number" then
var31 = false
else
var31 = true
end
assert(var31)
if typeof(arg4) ~= "number" then
var31 = false
-- KONSTANTWARNING: GOTO [22] #18
end
-- KONSTANTERROR: [0] 1. Error Block 26 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [21] 17. Error Block 29 start (CF ANALYSIS FAILED)
var31 = true
assert(var31)
if typeof(arg3) ~= "number" then
var31 = false
-- KONSTANTWARNING: GOTO [35] #28
end
-- KONSTANTERROR: [21] 17. Error Block 29 end (CF ANALYSIS FAILED)
end
tbl_upvr_2.step = step
local module_2_upvr = {}
module_2_upvr.__index = module_2_upvr
function module_2_upvr.new(arg1) -- Line 173
--[[ Upvalues[3]:
[1]: var4_upvw (read and write)
[2]: tbl_upvr_2 (readonly)
[3]: module_2_upvr (readonly)
]]
assert(var4_upvw)
return setmetatable({
vrs = tbl_upvr_2.new(arg1);
}, module_2_upvr)
end
function module_2_upvr.step(arg1, arg2, arg3, arg4, arg5) -- Line 181
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
assert(var4_upvw)
return arg1.vrs:step(arg2, arg3, arg4, arg5)
end
function module_2_upvr.setTransform(arg1, arg2) -- Line 187
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
assert(var4_upvw)
arg1.vrs:setGoal(arg2)
end
return module_2_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:42
-- Luau version 6, Types version 3
-- Time taken: 0.011076 seconds
local module_upvr = {}
module_upvr.__index = module_upvr
function module_upvr.new() -- Line 14
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
local setmetatable_result1 = setmetatable({}, module_upvr)
setmetatable_result1.lastUpdate = tick()
setmetatable_result1.transparencyDirty = false
setmetatable_result1.enabled = false
setmetatable_result1.lastTransparency = nil
setmetatable_result1.descendantAddedConn = nil
setmetatable_result1.descendantRemovingConn = nil
setmetatable_result1.toolDescendantAddedConns = {}
setmetatable_result1.toolDescendantRemovingConns = {}
setmetatable_result1.cachedParts = {}
return setmetatable_result1
end
function module_upvr.HasToolAncestor(arg1, arg2) -- Line 31
if arg2.Parent == nil then
return false
end
local children = arg2.Parent:IsA("Tool")
if not children then
children = arg1:HasToolAncestor(arg2.Parent)
end
return children
end
function module_upvr.IsValidPartToModify(arg1, arg2) -- Line 36
if arg2:IsA("BasePart") or arg2:IsA("Decal") then
return not arg1:HasToolAncestor(arg2)
end
return false
end
function module_upvr.CachePartsRecursive(arg1, arg2) -- Line 43
if arg2 then
if arg1:IsValidPartToModify(arg2) then
arg1.cachedParts[arg2] = true
arg1.transparencyDirty = true
end
for _, v in pairs(arg2:GetChildren()) do
arg1:CachePartsRecursive(v)
end
end
end
function module_upvr.TeardownTransparency(arg1) -- Line 55
for i_2, _ in pairs(arg1.cachedParts) do
i_2.LocalTransparencyModifier = 0
end
arg1.cachedParts = {}
arg1.transparencyDirty = true
arg1.lastTransparency = nil
if arg1.descendantAddedConn then
arg1.descendantAddedConn:disconnect()
arg1.descendantAddedConn = nil
end
if arg1.descendantRemovingConn then
arg1.descendantRemovingConn:disconnect()
arg1.descendantRemovingConn = nil
end
for i_3, v_3 in pairs(arg1.toolDescendantAddedConns) do
v_3:Disconnect()
arg1.toolDescendantAddedConns[i_3] = nil
end
for i_4, v_4 in pairs(arg1.toolDescendantRemovingConns) do
v_4:Disconnect()
arg1.toolDescendantRemovingConns[i_4] = nil
end
end
function module_upvr.SetupTransparency(arg1, arg2) -- Line 81
arg1:TeardownTransparency()
if arg1.descendantAddedConn then
arg1.descendantAddedConn:disconnect()
end
arg1.descendantAddedConn = arg2.DescendantAdded:Connect(function(arg1_2) -- Line 85
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
if arg1:IsValidPartToModify(arg1_2) then
arg1.cachedParts[arg1_2] = true
arg1.transparencyDirty = true
elseif arg1_2:IsA("Tool") then
if arg1.toolDescendantAddedConns[arg1_2] then
arg1.toolDescendantAddedConns[arg1_2]:Disconnect()
end
arg1.toolDescendantAddedConns[arg1_2] = arg1_2.DescendantAdded:Connect(function(arg1_3) -- Line 93
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.cachedParts[arg1_3] = nil
if arg1_3:IsA("BasePart") or arg1_3:IsA("Decal") then
arg1_3.LocalTransparencyModifier = 0
end
end)
if arg1.toolDescendantRemovingConns[arg1_2] then
arg1.toolDescendantRemovingConns[arg1_2]:disconnect()
end
arg1.toolDescendantRemovingConns[arg1_2] = arg1_2.DescendantRemoving:Connect(function(arg1_4) -- Line 101
--[[ Upvalues[2]:
[1]: arg2 (copied, readonly)
[2]: arg1 (copied, readonly)
]]
wait()
if arg2 and arg1_4 and arg1_4:IsDescendantOf(arg2) and arg1:IsValidPartToModify(arg1_4) then
arg1.cachedParts[arg1_4] = true
arg1.transparencyDirty = true
end
end)
end
end)
if arg1.descendantRemovingConn then
arg1.descendantRemovingConn:disconnect()
end
arg1.descendantRemovingConn = arg2.DescendantRemoving:connect(function(arg1_5) -- Line 113
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1.cachedParts[arg1_5] then
arg1.cachedParts[arg1_5] = nil
arg1_5.LocalTransparencyModifier = 0
end
end)
arg1:CachePartsRecursive(arg2)
end
function module_upvr.Enable(arg1, arg2) -- Line 124
if arg1.enabled ~= arg2 then
arg1.enabled = arg2
arg1:Update()
end
end
function module_upvr.SetSubject(arg1, arg2) -- Line 131
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
if arg2 and arg2:IsA("Humanoid") then
local var28
end
if arg2 and arg2:IsA("VehicleSeat") and arg2.Occupant then
var28 = arg2.Occupant.Parent
local var29 = var28
end
if var29 then
arg1:SetupTransparency(var29)
else
arg1:TeardownTransparency()
end
end
local module_upvr_2 = require(script.Parent:WaitForChild("CameraUtils"))
function module_upvr.Update(arg1) -- Line 146
--[[ Upvalues[1]:
[1]: module_upvr_2 (readonly)
]]
local CurrentCamera = workspace.CurrentCamera
local var36
if CurrentCamera then
var36 = 0
local var37
if not arg1.enabled then
else
var37 = CurrentCamera.Focus.p - CurrentCamera.CoordinateFrame.p
local magnitude = var37.magnitude
local function INLINED() -- Internal function, doesn't exist in bytecode
var37 = 1 - (magnitude - 0.5) / 1.5
return var37
end
if magnitude >= 2 or not INLINED() then
var37 = 0
end
var36 = var37
var37 = 0.5
if var36 < var37 then
var36 = 0
end
var37 = arg1.lastTransparency
if var37 then
var37 = var36 - arg1.lastTransparency
if not true and var36 < 1 and arg1.lastTransparency < 0.95 then
local var39 = 2.8 * (tick() - arg1.lastUpdate)
var37 = math.clamp(var37, -var39, var39)
end
var36 = arg1.lastTransparency + var37
else
var37 = true
arg1.transparencyDirty = var37
end
var36 = math.clamp(module_upvr_2.Round(var36, 2), 0, 1)
end
if arg1.transparencyDirty or arg1.lastTransparency ~= var36 then
for i_5, _ in pairs(arg1.cachedParts) do
i_5.LocalTransparencyModifier = var36
end
arg1.transparencyDirty = false
arg1.lastTransparency = var36
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
arg1.lastUpdate = tick()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:43
-- Luau version 6, Types version 3
-- Time taken: 0.041670 seconds
local pcall_result1, pcall_result2 = pcall(function() -- Line 7
return UserSettings():IsUserFeatureEnabled("UserCameraInputRefactor2")
end)
local var4_upvw = pcall_result1 and pcall_result2
local vector2_upvr = Vector2.new(0, 0)
local tbl = {
InitialDistance = 25;
MinDistance = 10;
MaxDistance = 100;
InitialElevation = 35;
MinElevation = 35;
MaxElevation = 35;
ReferenceAzimuth = -45;
CWAzimuthTravel = 90;
CCWAzimuthTravel = 90;
UseAzimuthLimits = false;
}
local Players_upvr = game:GetService("Players")
local module_upvr_3 = require(script.Parent:WaitForChild("BaseCamera"))
local setmetatable_result1_2_upvr = setmetatable({}, module_upvr_3)
setmetatable_result1_2_upvr.__index = setmetatable_result1_2_upvr
function setmetatable_result1_2_upvr.new() -- Line 53
--[[ Upvalues[2]:
[1]: module_upvr_3 (readonly)
[2]: setmetatable_result1_2_upvr (readonly)
]]
local setmetatable_result1 = setmetatable(module_upvr_3.new(), setmetatable_result1_2_upvr)
setmetatable_result1.lastUpdate = tick()
setmetatable_result1.changedSignalConnections = {}
setmetatable_result1.refAzimuthRad = nil
setmetatable_result1.curAzimuthRad = nil
setmetatable_result1.minAzimuthAbsoluteRad = nil
setmetatable_result1.maxAzimuthAbsoluteRad = nil
setmetatable_result1.useAzimuthLimits = nil
setmetatable_result1.curElevationRad = nil
setmetatable_result1.minElevationRad = nil
setmetatable_result1.maxElevationRad = nil
setmetatable_result1.curDistance = nil
setmetatable_result1.minDistance = nil
setmetatable_result1.maxDistance = nil
setmetatable_result1.r3ButtonDown = false
setmetatable_result1.l3ButtonDown = false
setmetatable_result1.gamepadDollySpeedMultiplier = 1
setmetatable_result1.lastUserPanCamera = tick()
setmetatable_result1.externalProperties = {}
setmetatable_result1.externalProperties.InitialDistance = 25
setmetatable_result1.externalProperties.MinDistance = 10
setmetatable_result1.externalProperties.MaxDistance = 100
setmetatable_result1.externalProperties.InitialElevation = 35
setmetatable_result1.externalProperties.MinElevation = 35
setmetatable_result1.externalProperties.MaxElevation = 35
setmetatable_result1.externalProperties.ReferenceAzimuth = -45
setmetatable_result1.externalProperties.CWAzimuthTravel = 90
setmetatable_result1.externalProperties.CCWAzimuthTravel = 90
setmetatable_result1.externalProperties.UseAzimuthLimits = false
setmetatable_result1:LoadNumberValueParameters()
return setmetatable_result1
end
function setmetatable_result1_2_upvr.LoadOrCreateNumberValueParameter(arg1, arg2, arg3, arg4) -- Line 95
-- KONSTANTERROR: [0] 1. Error Block 19 start (CF ANALYSIS FAILED)
local SOME = script:FindFirstChild(arg2)
if SOME and SOME:isA(arg3) then
arg1.externalProperties[arg2] = SOME.Value
-- KONSTANTWARNING: GOTO [41] #29
end
-- KONSTANTERROR: [0] 1. Error Block 19 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [18] 14. Error Block 20 start (CF ANALYSIS FAILED)
if arg1.externalProperties[arg2] ~= nil then
local any = Instance.new(arg3)
any.Name = arg2
any.Parent = script
any.Value = arg1.externalProperties[arg2]
else
return
end
if arg4 then
if arg1.changedSignalConnections[arg2] then
arg1.changedSignalConnections[arg2]:Disconnect()
end
arg1.changedSignalConnections[arg2] = any.Changed:Connect(function(arg1_2) -- Line 115
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
[3]: arg4 (readonly)
]]
arg1.externalProperties[arg2] = arg1_2
arg4(arg1)
end)
end
-- KONSTANTERROR: [18] 14. Error Block 20 end (CF ANALYSIS FAILED)
end
function setmetatable_result1_2_upvr.SetAndBoundsCheckAzimuthValues(arg1) -- Line 122
arg1.minAzimuthAbsoluteRad = math.rad(arg1.externalProperties.ReferenceAzimuth) - math.abs(math.rad(arg1.externalProperties.CWAzimuthTravel))
arg1.maxAzimuthAbsoluteRad = math.rad(arg1.externalProperties.ReferenceAzimuth) + math.abs(math.rad(arg1.externalProperties.CCWAzimuthTravel))
arg1.useAzimuthLimits = arg1.externalProperties.UseAzimuthLimits
if arg1.useAzimuthLimits then
arg1.curAzimuthRad = math.max(arg1.curAzimuthRad, arg1.minAzimuthAbsoluteRad)
arg1.curAzimuthRad = math.min(arg1.curAzimuthRad, arg1.maxAzimuthAbsoluteRad)
end
end
function setmetatable_result1_2_upvr.SetAndBoundsCheckElevationValues(arg1) -- Line 132
local maximum = math.max(arg1.externalProperties.MinElevation, -80)
local minimum = math.min(arg1.externalProperties.MaxElevation, 80)
arg1.minElevationRad = math.rad(math.min(maximum, minimum))
arg1.maxElevationRad = math.rad(math.max(maximum, minimum))
arg1.curElevationRad = math.max(arg1.curElevationRad, arg1.minElevationRad)
arg1.curElevationRad = math.min(arg1.curElevationRad, arg1.maxElevationRad)
end
function setmetatable_result1_2_upvr.SetAndBoundsCheckDistanceValues(arg1) -- Line 148
arg1.minDistance = arg1.externalProperties.MinDistance
arg1.maxDistance = arg1.externalProperties.MaxDistance
arg1.curDistance = math.max(arg1.curDistance, arg1.minDistance)
arg1.curDistance = math.min(arg1.curDistance, arg1.maxDistance)
end
function setmetatable_result1_2_upvr.LoadNumberValueParameters(arg1) -- Line 156
arg1:LoadOrCreateNumberValueParameter("InitialElevation", "NumberValue", nil)
arg1:LoadOrCreateNumberValueParameter("InitialDistance", "NumberValue", nil)
arg1:LoadOrCreateNumberValueParameter("ReferenceAzimuth", "NumberValue", arg1.SetAndBoundsCheckAzimuthValue)
arg1:LoadOrCreateNumberValueParameter("CWAzimuthTravel", "NumberValue", arg1.SetAndBoundsCheckAzimuthValues)
arg1:LoadOrCreateNumberValueParameter("CCWAzimuthTravel", "NumberValue", arg1.SetAndBoundsCheckAzimuthValues)
arg1:LoadOrCreateNumberValueParameter("MinElevation", "NumberValue", arg1.SetAndBoundsCheckElevationValues)
arg1:LoadOrCreateNumberValueParameter("MaxElevation", "NumberValue", arg1.SetAndBoundsCheckElevationValues)
arg1:LoadOrCreateNumberValueParameter("MinDistance", "NumberValue", arg1.SetAndBoundsCheckDistanceValues)
arg1:LoadOrCreateNumberValueParameter("MaxDistance", "NumberValue", arg1.SetAndBoundsCheckDistanceValues)
arg1:LoadOrCreateNumberValueParameter("UseAzimuthLimits", "BoolValue", arg1.SetAndBoundsCheckAzimuthValues)
arg1.curAzimuthRad = math.rad(arg1.externalProperties.ReferenceAzimuth)
arg1.curElevationRad = math.rad(arg1.externalProperties.InitialElevation)
arg1.curDistance = arg1.externalProperties.InitialDistance
arg1:SetAndBoundsCheckAzimuthValues()
arg1:SetAndBoundsCheckElevationValues()
arg1:SetAndBoundsCheckDistanceValues()
end
function setmetatable_result1_2_upvr.GetModuleName(arg1) -- Line 181
return "OrbitalCamera"
end
local module_upvr_2 = require(script.Parent:WaitForChild("CameraUtils"))
function setmetatable_result1_2_upvr.SetInitialOrientation(arg1, arg2) -- Line 185
--[[ Upvalues[1]:
[1]: module_upvr_2 (readonly)
]]
if not arg2 or not arg2.RootPart then
warn("OrbitalCamera could not set initial orientation due to missing humanoid")
else
local unit = (arg2.RootPart.CFrame.lookVector - Vector3.new(0, 0.23000, 0)).unit
local any_GetAngleBetweenXZVectors_result1 = module_upvr_2.GetAngleBetweenXZVectors(unit, arg1:GetCameraLookVector())
if not module_upvr_2.IsFinite(any_GetAngleBetweenXZVectors_result1) then
any_GetAngleBetweenXZVectors_result1 = 0
end
if not module_upvr_2.IsFinite(math.asin(arg1:GetCameraLookVector().y) - math.asin(unit.y)) then
end
arg1.rotateInput = Vector2.new(any_GetAngleBetweenXZVectors_result1, 0)
end
end
function setmetatable_result1_2_upvr.GetCameraToSubjectDistance(arg1) -- Line 203
return arg1.curDistance
end
function setmetatable_result1_2_upvr.SetCameraToSubjectDistance(arg1, arg2) -- Line 207
--[[ Upvalues[1]:
[1]: Players_upvr (readonly)
]]
if Players_upvr.LocalPlayer then
arg1.currentSubjectDistance = math.clamp(arg2, arg1.minDistance, arg1.maxDistance)
arg1.currentSubjectDistance = math.max(arg1.currentSubjectDistance, arg1.FIRST_PERSON_DISTANCE_THRESHOLD)
end
arg1.inFirstPerson = false
arg1:UpdateMouseBehavior()
return arg1.currentSubjectDistance
end
function setmetatable_result1_2_upvr.CalculateNewLookVector(arg1, arg2, arg3) -- Line 220
local var19 = arg2
if not var19 then
var19 = arg1:GetCameraLookVector()
end
local arcsine = math.asin(var19.y)
local vector2 = Vector2.new(arg3.x, math.clamp(arg3.y, arcsine - 1.3962634015954636, arcsine - -1.3962634015954636))
return (CFrame.Angles(0, -vector2.x, 0) * CFrame.new(Vector3.new(0, 0, 0), var19) * CFrame.Angles(-vector2.y, 0, 0)).lookVector
end
function setmetatable_result1_2_upvr.GetGamepadPan(arg1, arg2, arg3, arg4) -- Line 231
--[[ Upvalues[2]:
[1]: var4_upvw (read and write)
[2]: vector2_upvr (readonly)
]]
assert(not var4_upvw)
if arg4.UserInputType == arg1.activeGamepad and arg4.KeyCode == Enum.KeyCode.Thumbstick2 then
if arg1.r3ButtonDown or arg1.l3ButtonDown then
if 0.2 < arg4.Position.Y then
arg1.gamepadDollySpeedMultiplier = 0.96
elseif arg4.Position.Y < -0.2 then
arg1.gamepadDollySpeedMultiplier = 1.04
else
arg1.gamepadDollySpeedMultiplier = 1
end
else
if arg3 == Enum.UserInputState.Cancel then
arg1.gamepadPanningCamera = vector2_upvr
return
end
if 0.2 < Vector2.new(arg4.Position.X, -arg4.Position.Y).magnitude then
arg1.gamepadPanningCamera = Vector2.new(arg4.Position.X, -arg4.Position.Y)
else
arg1.gamepadPanningCamera = vector2_upvr
end
end
return Enum.ContextActionResult.Sink
end
return Enum.ContextActionResult.Pass
end
function setmetatable_result1_2_upvr.DoGamepadZoom(arg1, arg2, arg3, arg4) -- Line 263
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
assert(not var4_upvw)
if arg4.UserInputType == arg1.activeGamepad and (arg4.KeyCode == Enum.KeyCode.ButtonR3 or arg4.KeyCode == Enum.KeyCode.ButtonL3) then
local var23
if arg3 == var23 then
if arg4.KeyCode ~= Enum.KeyCode.ButtonR3 then
var23 = false
else
var23 = true
end
arg1.r3ButtonDown = var23
if arg4.KeyCode ~= Enum.KeyCode.ButtonL3 then
var23 = false
else
var23 = true
end
arg1.l3ButtonDown = var23
else
var23 = Enum.UserInputState.End
if arg3 == var23 then
var23 = arg4.KeyCode
if var23 == Enum.KeyCode.ButtonR3 then
var23 = false
arg1.r3ButtonDown = var23
else
var23 = arg4.KeyCode
if var23 == Enum.KeyCode.ButtonL3 then
var23 = false
arg1.l3ButtonDown = var23
end
end
var23 = arg1.r3ButtonDown
if not var23 then
var23 = arg1.l3ButtonDown
if not var23 then
var23 = 1
arg1.gamepadDollySpeedMultiplier = var23
end
end
end
end
var23 = Enum.ContextActionResult.Sink
return var23
end
var23 = Enum.ContextActionResult.Pass
return var23
end
function setmetatable_result1_2_upvr.BindGamepadInputActions(arg1) -- Line 286
--[[ Upvalues[1]:
[1]: var4_upvw (read and write)
]]
assert(not var4_upvw)
arg1:BindAction("OrbitalCamGamepadPan", function(arg1_3, arg2, arg3) -- Line 289
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
return arg1:GetGamepadPan(arg1_3, arg2, arg3)
end, false, Enum.KeyCode.Thumbstick2)
arg1:BindAction("OrbitalCamGamepadZoom", function(arg1_4, arg2, arg3) -- Line 291
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
return arg1:DoGamepadZoom(arg1_4, arg2, arg3)
end, false, Enum.KeyCode.ButtonR3, Enum.KeyCode.ButtonL3)
end
local module_upvr = require(script.Parent:WaitForChild("CameraInput"))
local VRService_upvr = game:GetService("VRService")
function setmetatable_result1_2_upvr.Update(arg1, arg2) -- Line 296
--[[ Upvalues[5]:
[1]: var4_upvw (read and write)
[2]: module_upvr (readonly)
[3]: Players_upvr (readonly)
[4]: vector2_upvr (readonly)
[5]: VRService_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local tick_result1 = tick()
local var48 = tick_result1 - arg1.lastUpdate
local var49
if var4_upvw then
if module_upvr.getRotation() == Vector2.new() then
else
end
elseif arg1.userPanningTheCamera ~= true then
else
end
local CurrentCamera_2 = workspace.CurrentCamera
var49 = Players_upvr
var49 = CurrentCamera_2
if var49 then
var49 = CurrentCamera_2.CameraSubject
end
if var49 then
end
if var49 then
end
if arg1.lastUpdate == nil or 1 < var48 then
arg1.lastCameraTransform = nil
end
local var51
if arg1.lastUpdate and not var4_upvw then
local any_UpdateGamepad_result1_2 = arg1:UpdateGamepad()
if arg1:ShouldUseVRRotation() then
arg1.rotateInput += arg1:GetVRRotationInput()
else
if any_UpdateGamepad_result1_2 ~= vector2_upvr then
var51 = true
arg1.rotateInput += any_UpdateGamepad_result1_2 * math.min(0.1, var48)
end
local var53
local var54
if not var49:IsA("VehicleSeat") and not var49:IsA("SkateboardPlatform") then
if arg1.TurningLeft then
var54 = -120
else
var54 = 0
end
var53 += var54
if arg1.TurningRight then
var54 = 120
else
var54 = 0
end
var53 += var54
end
if var53 ~= 0 then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
var54 = arg1.rotateInput + Vector2.new(math.rad(var53 * math.min(0.1, var48)), 0)
arg1.rotateInput = var54
var51 = true
end
end
end
if var51 then
arg1.lastUserPanCamera = tick()
end
local any_GetSubjectPosition_result1_2 = arg1:GetSubjectPosition()
if any_GetSubjectPosition_result1_2 then
local var56
if var49.LocalPlayer and CurrentCamera_2 then
if arg1.gamepadDollySpeedMultiplier ~= 1 then
var54 = arg1.currentSubjectDistance * arg1.gamepadDollySpeedMultiplier
arg1:SetCameraToSubjectDistance(var54)
end
var56 = VRService_upvr
local VREnabled = var56.VREnabled
local function INLINED_2() -- Internal function, doesn't exist in bytecode
var56 = arg1:GetVRFocus(any_GetSubjectPosition_result1_2, var48)
return var56
end
if not VREnabled or not INLINED_2() then
var56 = CFrame.new
var54 = any_GetSubjectPosition_result1_2
var56 = var56(var54)
end
local var58 = var56
var56 = nil
var54 = var4_upvw
if var54 then
var54 = module_upvr.getRotation()
var56 = var54
else
var56 = arg1.rotateInput
end
var54 = var58.p
if VREnabled and not arg1:IsInFirstPerson() then
local var59 = any_GetSubjectPosition_result1_2 - CurrentCamera_2.CFrame.p
local magnitude = var59.magnitude
if arg1.currentSubjectDistance < magnitude or var56.x ~= 0 then
local var61 = arg1:CalculateNewLookVector(var59.unit * Vector3.new(1, 0, 1), Vector2.new(var56.x, 0)) * math.min(magnitude, arg1.currentSubjectDistance)
local _ = var54 - var61
local lookVector = CurrentCamera_2.CFrame.lookVector
if var56.x ~= 0 then
lookVector = var61
end
if not var4_upvw then
arg1.rotateInput = vector2_upvr
end
-- KONSTANTWARNING: GOTO [365] #257
end
-- KONSTANTWARNING: GOTO [365] #257
end
local var64
arg1.curAzimuthRad -= var56.x
if arg1.useAzimuthLimits then
arg1.curAzimuthRad = math.clamp(arg1.curAzimuthRad, arg1.minAzimuthAbsoluteRad, arg1.maxAzimuthAbsoluteRad)
else
if arg1.curAzimuthRad == 0 or not (math.sign(arg1.curAzimuthRad) * math.abs(arg1.curAzimuthRad) % (-math.pi*2)) then
end
arg1.curAzimuthRad = 0
end
arg1.curElevationRad = math.clamp(arg1.curElevationRad + var56.y, arg1.minElevationRad, arg1.maxElevationRad)
if not var4_upvw then
arg1.rotateInput = vector2_upvr
end
arg1.lastCameraTransform = CFrame.new(any_GetSubjectPosition_result1_2 + (arg1.currentSubjectDistance) * (CFrame.fromEulerAnglesYXZ(-arg1.curElevationRad, arg1.curAzimuthRad, 0) * Vector3.new(0, 0, 1)), any_GetSubjectPosition_result1_2)
arg1.lastCameraFocus = var58
-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x2)
if var49:IsA("VehicleSeat") or var49:IsA("SkateboardPlatform") or var49:IsA("BasePart") then
arg1.lastSubjectCFrame = var49.CFrame
else
arg1.lastSubjectCFrame = nil
end
end
end
arg1.lastUpdate = tick_result1
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return CFrame.new(any_GetSubjectPosition_result1_2 + (arg1.currentSubjectDistance) * (CFrame.fromEulerAnglesYXZ(-arg1.curElevationRad, arg1.curAzimuthRad, 0) * Vector3.new(0, 0, 1)), any_GetSubjectPosition_result1_2), var58
end
return setmetatable_result1_2_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:45
-- Luau version 6, Types version 3
-- Time taken: 0.011612 seconds
local Players_upvr = game:GetService("Players")
local ContextActionService_upvr = game:GetService("ContextActionService")
local GameSettings_upvr = UserSettings().GameSettings
local mouse_upvr = Players_upvr.LocalPlayer:GetMouse()
local module_upvr = {}
module_upvr.__index = module_upvr
function module_upvr.new() -- Line 23
--[[ Upvalues[3]:
[1]: module_upvr (readonly)
[2]: GameSettings_upvr (readonly)
[3]: Players_upvr (readonly)
]]
local setmetatable_result1_upvr = setmetatable({}, module_upvr)
setmetatable_result1_upvr.isMouseLocked = false
setmetatable_result1_upvr.savedMouseCursor = nil
setmetatable_result1_upvr.boundKeys = {Enum.KeyCode.LeftShift, Enum.KeyCode.RightShift}
setmetatable_result1_upvr.mouseLockToggledEvent = Instance.new("BindableEvent")
local BoundKeys = script:FindFirstChild("BoundKeys")
if not BoundKeys or not BoundKeys:IsA("StringValue") then
if BoundKeys then
BoundKeys:Destroy()
end
local StringValue = Instance.new("StringValue")
StringValue.Name = "BoundKeys"
StringValue.Value = "LeftShift,RightShift"
StringValue.Parent = script
end
if StringValue then
StringValue.Changed:Connect(function(arg1) -- Line 46
--[[ Upvalues[1]:
[1]: setmetatable_result1_upvr (readonly)
]]
setmetatable_result1_upvr:OnBoundKeysObjectChanged(arg1)
end)
setmetatable_result1_upvr:OnBoundKeysObjectChanged(StringValue.Value)
end
GameSettings_upvr.Changed:Connect(function(arg1) -- Line 53
--[[ Upvalues[1]:
[1]: setmetatable_result1_upvr (readonly)
]]
if arg1 == "ControlMode" or arg1 == "ComputerMovementMode" then
setmetatable_result1_upvr:UpdateMouseLockAvailability()
end
end)
Players_upvr.LocalPlayer:GetPropertyChangedSignal("DevEnableMouseLock"):Connect(function() -- Line 60
--[[ Upvalues[1]:
[1]: setmetatable_result1_upvr (readonly)
]]
setmetatable_result1_upvr:UpdateMouseLockAvailability()
end)
Players_upvr.LocalPlayer:GetPropertyChangedSignal("DevComputerMovementMode"):Connect(function() -- Line 65
--[[ Upvalues[1]:
[1]: setmetatable_result1_upvr (readonly)
]]
setmetatable_result1_upvr:UpdateMouseLockAvailability()
end)
script:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 69
--[[ Upvalues[1]:
[1]: setmetatable_result1_upvr (readonly)
]]
if script:GetAttribute("forceDisable") then
script:SetAttribute("forceDisable", false)
if setmetatable_result1_upvr.isMouseLocked then
setmetatable_result1_upvr:OnMouseLockToggled(false)
end
setmetatable_result1_upvr:EnableMouseLock(false)
end
end)
script:GetAttributeChangedSignal("forceEnable"):Connect(function() -- Line 81
--[[ Upvalues[1]:
[1]: setmetatable_result1_upvr (readonly)
]]
if script:GetAttribute("forceEnable") then
script:SetAttribute("forceEnable", false)
setmetatable_result1_upvr:EnableMouseLock(true)
end
end)
setmetatable_result1_upvr:UpdateMouseLockAvailability()
return setmetatable_result1_upvr
end
function module_upvr.GetIsMouseLocked(arg1) -- Line 93
return arg1.isMouseLocked
end
function module_upvr.GetBindableToggleEvent(arg1) -- Line 97
return arg1.mouseLockToggledEvent.Event
end
function module_upvr.GetMouseLockOffset(arg1) -- Line 101
local CameraOffset = script:FindFirstChild("CameraOffset")
if CameraOffset and CameraOffset:IsA("Vector3Value") then
return CameraOffset.Value
end
if CameraOffset then
CameraOffset:Destroy()
end
local Vector3Value = Instance.new("Vector3Value")
Vector3Value.Name = "CameraOffset"
Vector3Value.Value = Vector3.new(1.75, 0, 0)
Vector3Value.Parent = script
if Vector3Value and Vector3Value.Value then
return Vector3Value.Value
end
return Vector3.new(1.75, 0, 0)
end
function module_upvr.UpdateMouseLockAvailability(arg1) -- Line 123
--[[ Upvalues[2]:
[1]: Players_upvr (readonly)
[2]: GameSettings_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 31 start (CF ANALYSIS FAILED)
local var22
if Players_upvr.LocalPlayer.DevComputerMovementMode ~= var22 then
else
end
var22 = GameSettings_upvr.ControlMode
if var22 ~= Enum.ControlMode.MouseLockSwitch then
-- KONSTANTWARNING: GOTO [25] #17
end
-- KONSTANTERROR: [0] 1. Error Block 31 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [24] 16. Error Block 33 start (CF ANALYSIS FAILED)
if GameSettings_upvr.ComputerMovementMode ~= Enum.ComputerMovementMode.ClickToMove then
var22 = false
else
var22 = true
end
if Players_upvr.LocalPlayer.DevEnableMouseLock then
if true then
if not var22 then
local var23 = not true
end
end
end
if var23 ~= arg1.enabled then
arg1:EnableMouseLock(var23)
end
-- KONSTANTERROR: [24] 16. Error Block 33 end (CF ANALYSIS FAILED)
end
function module_upvr.OnBoundKeysObjectChanged(arg1, arg2) -- Line 135
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
arg1.boundKeys = {}
local _, string_gmatch_result2, _ = string.gmatch(arg2, "[^%s,]+")
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [10] 8. Error Block 2 start (CF ANALYSIS FAILED)
local _, _, _ = pairs(Enum.KeyCode:GetEnumItems())
-- KONSTANTERROR: [10] 8. Error Block 2 end (CF ANALYSIS FAILED)
end
function module_upvr.OnMouseLockToggled(arg1) -- Line 150
--[[ Upvalues[1]:
[1]: mouse_upvr (readonly)
]]
arg1.isMouseLocked = not arg1.isMouseLocked
if arg1.isMouseLocked then
local CursorImage = script:FindFirstChild("CursorImage")
if CursorImage and CursorImage:IsA("StringValue") and CursorImage.Value then
arg1.savedMouseCursor = mouse_upvr.Icon
mouse_upvr.Icon = CursorImage.Value
else
if CursorImage then
CursorImage:Destroy()
end
local StringValue_2 = Instance.new("StringValue")
StringValue_2.Name = "CursorImage"
StringValue_2.Value = "rbxasset://textures/MouseLockedCursor.png"
StringValue_2.Parent = script
arg1.savedMouseCursor = mouse_upvr.Icon
mouse_upvr.Icon = "rbxasset://textures/MouseLockedCursor.png"
end
elseif arg1.savedMouseCursor then
mouse_upvr.Icon = arg1.savedMouseCursor
arg1.savedMouseCursor = nil
end
arg1.mouseLockToggledEvent:Fire()
end
function module_upvr.DoMouseLockSwitch(arg1, arg2, arg3, arg4) -- Line 179
if arg3 == Enum.UserInputState.Begin then
arg1:OnMouseLockToggled()
return Enum.ContextActionResult.Sink
end
return Enum.ContextActionResult.Pass
end
local Value_upvr = Enum.ContextActionPriority.Default.Value
function module_upvr.BindContextActions(arg1) -- Line 187
--[[ Upvalues[2]:
[1]: ContextActionService_upvr (readonly)
[2]: Value_upvr (readonly)
]]
ContextActionService_upvr:BindActionAtPriority("MouseLockSwitchAction", function(arg1_2, arg2, arg3) -- Line 188
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
return arg1:DoMouseLockSwitch(arg1_2, arg2, arg3)
end, false, Value_upvr, unpack(arg1.boundKeys))
end
function module_upvr.UnbindContextActions(arg1) -- Line 193
--[[ Upvalues[1]:
[1]: ContextActionService_upvr (readonly)
]]
ContextActionService_upvr:UnbindAction("MouseLockSwitchAction")
end
function module_upvr.IsMouseLocked(arg1) -- Line 197
local enabled = arg1.enabled
if enabled then
enabled = arg1.isMouseLocked
end
return enabled
end
function module_upvr.EnableMouseLock(arg1, arg2) -- Line 201
--[[ Upvalues[1]:
[1]: mouse_upvr (readonly)
]]
if arg2 ~= arg1.enabled then
arg1.enabled = arg2
if arg1.enabled then
arg1:BindContextActions()
return
end
if mouse_upvr.Icon ~= "" then
mouse_upvr.Icon = ""
end
arg1:UnbindContextActions()
if arg1.isMouseLocked then
arg1.mouseLockToggledEvent:Fire()
end
arg1.isMouseLocked = false
end
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:47
-- Luau version 6, Types version 3
-- Time taken: 0.007966 seconds
local pcall_result1, pcall_result2 = pcall(function() -- Line 21
return UserSettings():IsUserFeatureEnabled("UserCameraToggle")
end)
local var4_upvw = pcall_result1 and pcall_result2
local pcall_result1_2, pcall_result2_2 = pcall(function() -- Line 28
return UserSettings():IsUserFeatureEnabled("UserCameraInputRefactor2")
end)
local module_upvr_2 = require(script.Parent:WaitForChild("CameraInput"))
local module_upvr_3 = require(script.Parent:WaitForChild("CameraUtils"))
local module_upvr = require(script.Parent:WaitForChild("BaseCamera"))
local setmetatable_result1_upvr = setmetatable({}, module_upvr)
setmetatable_result1_upvr.__index = setmetatable_result1_upvr
function setmetatable_result1_upvr.new() -- Line 46
--[[ Upvalues[3]:
[1]: module_upvr (readonly)
[2]: setmetatable_result1_upvr (readonly)
[3]: module_upvr_3 (readonly)
]]
local setmetatable_result1 = setmetatable(module_upvr.new(), setmetatable_result1_upvr)
setmetatable_result1.isFollowCamera = false
setmetatable_result1.isCameraToggle = false
setmetatable_result1.lastUpdate = tick()
setmetatable_result1.cameraToggleSpring = module_upvr_3.Spring.new(5, 0)
return setmetatable_result1
end
function setmetatable_result1_upvr.GetCameraToggleOffset(arg1, arg2) -- Line 57
--[[ Upvalues[3]:
[1]: var4_upvw (read and write)
[2]: module_upvr_2 (readonly)
[3]: module_upvr_3 (readonly)
]]
assert(var4_upvw)
if arg1.isCameraToggle then
if module_upvr_2.getTogglePan() then
arg1.cameraToggleSpring.goal = math.clamp(module_upvr_3.map(arg1.currentSubjectDistance, 0.5, arg1.FIRST_PERSON_DISTANCE_THRESHOLD, 0, 1), 0, 1)
else
arg1.cameraToggleSpring.goal = 0
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return Vector3.new(0, arg1.cameraToggleSpring:step(arg2) * (math.clamp(module_upvr_3.map(arg1.currentSubjectDistance, 0.5, 64, 0, 1), 0, 1) + 1), 0)
end
return Vector3.new()
end
function setmetatable_result1_upvr.SetCameraMovementMode(arg1, arg2) -- Line 77
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
local SetCameraMovementMode_2 = module_upvr.SetCameraMovementMode
SetCameraMovementMode_2(arg1, arg2)
if arg2 ~= Enum.ComputerCameraMovementMode.Follow then
SetCameraMovementMode_2 = false
else
SetCameraMovementMode_2 = true
end
arg1.isFollowCamera = SetCameraMovementMode_2
if arg2 ~= Enum.ComputerCameraMovementMode.CameraToggle then
SetCameraMovementMode_2 = false
else
SetCameraMovementMode_2 = true
end
arg1.isCameraToggle = SetCameraMovementMode_2
end
local cframe_upvr = CFrame.fromOrientation(-0.2617993877991494, 0, 0)
local Players_upvr = game:GetService("Players")
local var16_upvw = pcall_result1_2 and pcall_result2_2
local vector2_upvr = Vector2.new(0, 0)
local const_number_upvw = 0
local VRService_upvr = game:GetService("VRService")
function setmetatable_result1_upvr.Update(arg1) -- Line 84
--[[ Upvalues[9]:
[1]: cframe_upvr (readonly)
[2]: Players_upvr (readonly)
[3]: var16_upvw (read and write)
[4]: module_upvr_2 (readonly)
[5]: vector2_upvr (readonly)
[6]: const_number_upvw (read and write)
[7]: module_upvr_3 (readonly)
[8]: VRService_upvr (readonly)
[9]: var4_upvw (read and write)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local CurrentCamera = workspace.CurrentCamera
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [18] 12. Error Block 239 start (CF ANALYSIS FAILED)
if arg1:GetHumanoidRootPart() then
else
end
arg1.resetCameraAngle = false
-- KONSTANTERROR: [18] 12. Error Block 239 end (CF ANALYSIS FAILED)
end
function setmetatable_result1_upvr.EnterFirstPerson(arg1) -- Line 361
arg1.inFirstPerson = true
arg1:UpdateMouseBehavior()
end
function setmetatable_result1_upvr.LeaveFirstPerson(arg1) -- Line 366
arg1.inFirstPerson = false
arg1:UpdateMouseBehavior()
end
return setmetatable_result1_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:48
-- Luau version 6, Types version 3
-- Time taken: 0.016552 seconds
local module_upvr = {}
local pcall_result1, pcall_result2 = pcall(function() -- Line 9
return UserSettings():IsUserFeatureEnabled("UserCameraToggle")
end)
local function _(arg1) -- Line 15, Named "round"
return math.floor(arg1 + 0.5)
end
local tbl_upvr = {}
tbl_upvr.__index = tbl_upvr
function tbl_upvr.new(arg1, arg2) -- Line 24
--[[ Upvalues[1]:
[1]: tbl_upvr (readonly)
]]
local module = {}
module.freq = arg1
module.goal = arg2
module.pos = arg2
module.vel = 0
return setmetatable(module, tbl_upvr)
end
function tbl_upvr.step(arg1, arg2) -- Line 34
local var7 = arg1.freq * 2 * math.pi
local goal = arg1.goal
local vel = arg1.vel
local var10 = arg1.pos - goal
local exponentiated = math.exp(-var7 * arg2)
local var12 = (var10 * (1 + var7 * arg2) + vel * arg2) * exponentiated + goal
arg1.pos = var12
arg1.vel = (vel * (1 - var7 * arg2) - (var10) * (var7 * var7 * arg2)) * exponentiated
return var12
end
module_upvr.Spring = tbl_upvr
function module_upvr.map(arg1, arg2, arg3, arg4, arg5) -- Line 56
return (arg1 - arg2) * (arg5 - arg4) / (arg3 - arg2) + arg4
end
function module_upvr.mapClamp(arg1, arg2, arg3, arg4, arg5) -- Line 61
return math.clamp((arg1 - arg2) * (arg5 - arg4) / (arg3 - arg2) + arg4, math.min(arg4, arg5), math.max(arg4, arg5))
end
function module_upvr.getLooseBoundingSphere(arg1) -- Line 70
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local table_create_result1 = table.create(#arg1)
local pairs_result1, _, pairs_result3 = pairs(arg1)
local var49
for i, v in pairs_result1, var49, pairs_result3 do
table_create_result1[i] = v.Position
end
local _1 = table_create_result1[1]
var49 = _1
for _, v_2 in ipairs(table_create_result1) do
if 0 < (v_2 - _1).Magnitude then
var49 = v_2
end
end
for _, v_3 in ipairs(table_create_result1) do
if 0 < (v_3 - var49).Magnitude then
local var59 = v_3
end
end
local var60 = (var49 + var59) * 0.5
local var61 = (var49 - var59).Magnitude * 0.5
for _, v_4 in ipairs(table_create_result1) do
local Magnitude = (v_4 - var60).Magnitude
if var61 < Magnitude then
end
end
return var60 + (Magnitude - var61) * 0.5 * (v_4 - var60).Unit, (Magnitude + var61) * 0.5
end
function module_upvr.sanitizeAngle(arg1) -- Line 126
return (arg1 + math.pi) % (-math.pi*2) - math.pi
end
function module_upvr.Round(arg1, arg2) -- Line 131
local var66 = 10 ^ arg2
return math.floor(arg1 * var66 + 0.5) / var66
end
function module_upvr.IsFinite(arg1) -- Line 136
local var68 = false
if arg1 == arg1 then
var68 = false
if arg1 ~= math.huge then
if arg1 == (-math.huge) then
var68 = false
else
var68 = true
end
end
end
return var68
end
function module_upvr.IsFiniteVector3(arg1) -- Line 140
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
local any_IsFinite_result1 = module_upvr.IsFinite(arg1.X)
if any_IsFinite_result1 then
any_IsFinite_result1 = module_upvr.IsFinite(arg1.Y)
if any_IsFinite_result1 then
any_IsFinite_result1 = module_upvr.IsFinite(arg1.Z)
end
end
return any_IsFinite_result1
end
function module_upvr.GetAngleBetweenXZVectors(arg1, arg2) -- Line 145
return math.atan2(arg2.X * arg1.Z - arg2.Z * arg1.X, arg2.X * arg1.X + arg2.Z * arg1.Z)
end
function module_upvr.RotateVectorByAngleAndRound(arg1, arg2, arg3) -- Line 149
if 0 < arg1.Magnitude then
local unit = arg1.unit
return math.floor((math.atan2(unit.z, unit.x) + arg2) / arg3 + 0.5) * arg3 - math.atan2(unit.z, unit.x)
end
return 0
end
local function _(arg1) -- Line 163, Named "SCurveTranform"
local clamped_2 = math.clamp(arg1, -1, 1)
if 0 <= clamped_2 then
return 0.35 * clamped_2 / (0.35 - clamped_2 + 1)
end
return -(0.8 * -clamped_2 / (0.8 + clamped_2 + 1))
end
local function _(arg1) -- Line 172, Named "toSCurveSpace"
return (math.abs(arg1) * 2 - 1) * 1.1 - 0.1
end
local function _(arg1) -- Line 176, Named "fromSCurveSpace"
return arg1 / 2 + 0.5
end
function module_upvr.GamepadLinearToCurve(arg1) -- Line 180
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local function _(arg1_2) -- Line 181, Named "onAxis"
local var73 = 1
local var74
if arg1_2 < 0 then
var73 = -1
end
local clamped_3 = math.clamp((math.abs(math.abs(arg1_2)) * 2 - 1) * 1.1 - 0.1, -1, 1)
if 0 <= clamped_3 then
var74 = 0.35 * clamped_3 / (0.35 - clamped_3 + 1)
else
var74 = -(0.8 * -clamped_3 / (0.8 + clamped_3 + 1))
end
var74 = math.clamp((var74 / 2 + 0.5) * var73, -1, 1)
return var74
end
local x = arg1.x
local var77 = 1
local var78
if x < 0 then
var77 = -1
end
local clamped = math.clamp((math.abs(math.abs(x)) * 2 - 1) * 1.1 - 0.1, -1, 1)
if 0 <= clamped then
var78 = 0.35 * clamped / (0.35 - clamped + 1)
else
var78 = -(0.8 * -clamped / (0.8 + clamped + 1))
end
var78 = math.clamp((var78 / 2 + 0.5) * var77, -1, 1)
local y = arg1.y
local var81 = 1
var78 = 0
if y < var78 then
var81 = -1
end
if 0 <= math.clamp((math.abs(math.abs(y)) * 2 - 1) * 1.1 - 0.1, -1, 1) then
else
end
var78 = -(0.8 * -math.clamp((math.abs(math.abs(y)) * 2 - 1) * 1.1 - 0.1, -1, 1) / (0.8 + math.clamp((math.abs(math.abs(y)) * 2 - 1) * 1.1 - 0.1, -1, 1) + 1)) / 2 + 0.5
var78 *= var81
return Vector2.new(var78, math.clamp(var78, -1, 1))
end
local var83_upvw = pcall_result1 and pcall_result2
function module_upvr.ConvertCameraModeEnumToStandard(arg1) -- Line 194
--[[ Upvalues[1]:
[1]: var83_upvw (read and write)
]]
if arg1 == Enum.TouchCameraMovementMode.Default then
return Enum.ComputerCameraMovementMode.Follow
end
if arg1 == Enum.ComputerCameraMovementMode.Default then
return Enum.ComputerCameraMovementMode.Classic
end
if arg1 == Enum.TouchCameraMovementMode.Classic or arg1 == Enum.DevTouchCameraMovementMode.Classic or arg1 == Enum.DevComputerCameraMovementMode.Classic or arg1 == Enum.ComputerCameraMovementMode.Classic then
return Enum.ComputerCameraMovementMode.Classic
end
if arg1 == Enum.TouchCameraMovementMode.Follow or arg1 == Enum.DevTouchCameraMovementMode.Follow or arg1 == Enum.DevComputerCameraMovementMode.Follow or arg1 == Enum.ComputerCameraMovementMode.Follow then
return Enum.ComputerCameraMovementMode.Follow
end
if arg1 == Enum.TouchCameraMovementMode.Orbital or arg1 == Enum.DevTouchCameraMovementMode.Orbital or arg1 == Enum.DevComputerCameraMovementMode.Orbital or arg1 == Enum.ComputerCameraMovementMode.Orbital then
return Enum.ComputerCameraMovementMode.Orbital
end
if var83_upvw and (arg1 == Enum.ComputerCameraMovementMode.CameraToggle or arg1 == Enum.DevComputerCameraMovementMode.CameraToggle) then
return Enum.ComputerCameraMovementMode.CameraToggle
end
if arg1 == Enum.DevTouchCameraMovementMode.UserChoice or arg1 == Enum.DevComputerCameraMovementMode.UserChoice then
return Enum.DevComputerCameraMovementMode.UserChoice
end
return Enum.ComputerCameraMovementMode.Classic
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:49
-- Luau version 6, Types version 3
-- Time taken: 0.004717 seconds
local tbl_upvr = {}
tbl_upvr.__index = tbl_upvr
local zero_cframe_upvr = CFrame.new()
local function _(arg1) -- Line 12, Named "cframeToAxis"
local any_toAxisAngle_result1, any_toAxisAngle_result2 = arg1:toAxisAngle()
return any_toAxisAngle_result1 * any_toAxisAngle_result2
end
local function _(arg1) -- Line 17, Named "axisToCFrame"
--[[ Upvalues[1]:
[1]: zero_cframe_upvr (readonly)
]]
local magnitude = arg1.magnitude
if 0.00001 < magnitude then
return CFrame.fromAxisAngle(arg1, magnitude)
end
return zero_cframe_upvr
end
local function _(arg1) -- Line 25, Named "extractRotation"
local _, _, _, any_components_result4, any_components_result5, any_components_result6, any_components_result7_3, any_components_result8, any_components_result9_3, any_components_result10_2, any_components_result11_2, any_components_result12_2 = arg1:components()
return CFrame.new(0, 0, 0, any_components_result4, any_components_result5, any_components_result6, any_components_result7_3, any_components_result8, any_components_result9_3, any_components_result10_2, any_components_result11_2, any_components_result12_2)
end
local function new() -- Line 30
--[[ Upvalues[1]:
[1]: tbl_upvr (readonly)
]]
return setmetatable({
lastCFrame = nil;
}, tbl_upvr)
end
tbl_upvr.new = new
function tbl_upvr.Step(arg1, arg2, arg3) -- Line 36
--[[ Upvalues[1]:
[1]: zero_cframe_upvr (readonly)
]]
local var19 = arg1.lastCFrame or arg3
arg1.lastCFrame = arg3
local p_upvr = arg3.p
local _, _, _, any_components_result4_3, any_components_result5_3, any_components_result6_2, any_components_result7_2, any_components_result8_2, any_components_result9, any_components_result10_3, any_components_result11, any_components_result12_3 = arg3:components()
local cframe_upvr = CFrame.new(0, 0, 0, any_components_result4_3, any_components_result5_3, any_components_result6_2, any_components_result7_2, any_components_result8_2, any_components_result9, any_components_result10_3, any_components_result11, any_components_result12_3)
local _, _, _, any_components_result4_2, any_components_result5_2, any_components_result6_3, any_components_result7, any_components_result8_3, any_components_result9_2, any_components_result10, any_components_result11_3, any_components_result12 = var19:components()
local var46_upvr = (p_upvr - var19.p) / arg2
local any_toAxisAngle_result1_2, any_toAxisAngle_result2_2 = cframe_upvr * CFrame.new(0, 0, 0, any_components_result4_2, any_components_result5_2, any_components_result6_3, any_components_result7, any_components_result8_3, any_components_result9_2, any_components_result10, any_components_result11_3, any_components_result12):inverse():toAxisAngle()
local var49_upvr = any_toAxisAngle_result1_2 * any_toAxisAngle_result2_2 / arg2
return {
extrapolate = function(arg1_2) -- Line 51, Named "extrapolate"
--[[ Upvalues[5]:
[1]: var46_upvr (readonly)
[2]: p_upvr (readonly)
[3]: var49_upvr (readonly)
[4]: zero_cframe_upvr (copied, readonly)
[5]: cframe_upvr (readonly)
]]
local var50 = p_upvr
local var51 = var49_upvr * arg1_2
local magnitude_2 = var51.magnitude
if 0.00001 < magnitude_2 then
var50 = CFrame.fromAxisAngle(var51, magnitude_2)
else
var50 = zero_cframe_upvr
end
return (var50 * cframe_upvr) + (var46_upvr * arg1_2 + var50)
end;
posVelocity = var46_upvr;
rotVelocity = var49_upvr;
}
end
function tbl_upvr.Reset(arg1) -- Line 64
arg1.lastCFrame = nil
end
zero_cframe_upvr = require(script.Parent:WaitForChild("BaseOcclusion"))
local var54_upvr = zero_cframe_upvr
local setmetatable_result1_2_upvr = setmetatable({}, var54_upvr)
setmetatable_result1_2_upvr.__index = setmetatable_result1_2_upvr
function setmetatable_result1_2_upvr.new() -- Line 74
--[[ Upvalues[3]:
[1]: var54_upvr (readonly)
[2]: setmetatable_result1_2_upvr (readonly)
[3]: tbl_upvr (readonly)
]]
local setmetatable_result1 = setmetatable(var54_upvr.new(), setmetatable_result1_2_upvr)
setmetatable_result1.focusExtrapolator = tbl_upvr.new()
return setmetatable_result1
end
function setmetatable_result1_2_upvr.GetOcclusionMode(arg1) -- Line 80
return Enum.DevCameraOcclusionMode.Zoom
end
function setmetatable_result1_2_upvr.Enable(arg1, arg2) -- Line 84
arg1.focusExtrapolator:Reset()
end
local module_upvr = require(script.Parent:WaitForChild("ZoomController"))
function setmetatable_result1_2_upvr.Update(arg1, arg2, arg3, arg4, arg5) -- Line 88
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
local var58 = CFrame.new(arg4.p, arg3.p) * CFrame.new(0, 0, 0, -1, 0, 0, 0, 1, 0, 0, 0, -1)
return var58 * CFrame.new(0, 0, module_upvr.Update(arg2, var58, arg1.focusExtrapolator:Step(arg2, var58))), arg4
end
function setmetatable_result1_2_upvr.CharacterAdded(arg1, arg2, arg3) -- Line 101
end
function setmetatable_result1_2_upvr.CharacterRemoving(arg1, arg2, arg3) -- Line 105
end
function setmetatable_result1_2_upvr.OnCameraSubjectChanged(arg1, arg2) -- Line 108
end
return setmetatable_result1_2_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:51
-- Luau version 6, Types version 3
-- Time taken: 0.004687 seconds
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
if not LocalPlayer then
Players:GetPropertyChangedSignal("LocalPlayer"):Wait()
LocalPlayer = Players.LocalPlayer
end
local module_upvr = require(script.Parent:WaitForChild("CameraUI"))
module_upvr.setCameraModeToastEnabled(false)
local module_upvr_2 = require(script.Parent:WaitForChild("CameraInput"))
local var6_upvw = false
local var7_upvw = false
local tick_result1_upvw = tick()
local var9_upvw = false
local var10_upvw = false
local mouse_upvr = LocalPlayer:GetMouse()
local UserInputService_upvr = game:GetService("UserInputService")
local UserGameSettings_upvr = UserSettings():GetService("UserGameSettings")
return function(arg1) -- Line 27
--[[ Upvalues[10]:
[1]: module_upvr_2 (readonly)
[2]: var6_upvw (read and write)
[3]: var7_upvw (read and write)
[4]: tick_result1_upvw (read and write)
[5]: module_upvr (readonly)
[6]: var9_upvw (read and write)
[7]: var10_upvw (read and write)
[8]: mouse_upvr (readonly)
[9]: UserInputService_upvr (readonly)
[10]: UserGameSettings_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local any_getTogglePan_result1 = module_upvr_2.getTogglePan()
if arg1 and any_getTogglePan_result1 ~= var6_upvw then
var7_upvw = true
end
if var6_upvw ~= any_getTogglePan_result1 or 3 < tick() - tick_result1_upvw then
local var15 = any_getTogglePan_result1
if var15 then
if tick() - tick_result1_upvw >= 3 then
else
end
end
module_upvr.setCameraModeToastOpen(true)
if any_getTogglePan_result1 then
var7_upvw = false
end
tick_result1_upvw = tick()
var6_upvw = any_getTogglePan_result1
end
if arg1 ~= var9_upvw then
if arg1 then
var10_upvw = module_upvr_2.getTogglePan()
module_upvr_2.setTogglePan(true)
elseif not var7_upvw then
module_upvr_2.setTogglePan(var10_upvw)
end
end
if arg1 then
if module_upvr_2.getTogglePan() then
mouse_upvr.Icon = "rbxasset://textures/Cursors/CrossMouseIcon.png"
UserInputService_upvr.MouseBehavior = Enum.MouseBehavior.LockCenter
UserGameSettings_upvr.RotationType = Enum.RotationType.CameraRelative
else
mouse_upvr.Icon = ""
UserInputService_upvr.MouseBehavior = Enum.MouseBehavior.Default
UserGameSettings_upvr.RotationType = Enum.RotationType.CameraRelative
end
elseif module_upvr_2.getTogglePan() then
mouse_upvr.Icon = "rbxasset://textures/Cursors/CrossMouseIcon.png"
UserInputService_upvr.MouseBehavior = Enum.MouseBehavior.LockCenter
UserGameSettings_upvr.RotationType = Enum.RotationType.MovementRelative
elseif module_upvr_2.getHoldPan() then
mouse_upvr.Icon = ""
UserInputService_upvr.MouseBehavior = Enum.MouseBehavior.LockCurrentPosition
UserGameSettings_upvr.RotationType = Enum.RotationType.MovementRelative
else
mouse_upvr.Icon = ""
UserInputService_upvr.MouseBehavior = Enum.MouseBehavior.Default
UserGameSettings_upvr.RotationType = Enum.RotationType.MovementRelative
end
var9_upvw = arg1
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:52
-- Luau version 6, Types version 3
-- Time taken: 0.023003 seconds
local pcall_result1, pcall_result2 = pcall(function() -- Line 2
return UserSettings():IsUserFeatureEnabled("UserCameraInputRefactor2")
end)
local UserInputService_upvr = game:GetService("UserInputService")
local BindableEvent_upvw = Instance.new("BindableEvent")
local BindableEvent_upvr_2 = Instance.new("BindableEvent")
UserInputService_upvr.InputBegan:Connect(function(arg1, arg2) -- Line 38
--[[ Upvalues[1]:
[1]: BindableEvent_upvw (readonly)
]]
if not arg2 and arg1.UserInputType == Enum.UserInputType.MouseButton2 then
BindableEvent_upvw:Fire()
end
end)
UserInputService_upvr.InputEnded:Connect(function(arg1, arg2) -- Line 44
--[[ Upvalues[1]:
[1]: BindableEvent_upvr_2 (readonly)
]]
if arg1.UserInputType == Enum.UserInputType.MouseButton2 then
BindableEvent_upvr_2:Fire()
end
end)
BindableEvent_upvw = nil
function BindableEvent_upvw(arg1) -- Line 55, Named "thumbstickCurve"
return math.sign(arg1) * math.clamp((math.exp((math.abs(arg1) - 0.1) / 0.9 * 2) - 1) / 6.38905609893065, 0, 1)
end
function BindableEvent_upvr_2(arg1) -- Line 69, Named "adjustTouchPitchSensitivity"
local CurrentCamera = workspace.CurrentCamera
if not CurrentCamera then
return arg1
end
local any_ToEulerAnglesYXZ_result1 = CurrentCamera.CFrame:ToEulerAnglesYXZ()
if 0 <= arg1.Y * any_ToEulerAnglesYXZ_result1 then
return arg1
end
return Vector2.new(1, (1 - (math.abs(any_ToEulerAnglesYXZ_result1) * 2 / math.pi) ^ 0.75) * 0.75 + 0.25) * arg1
end
local LocalPlayer_upvr = game:GetService("Players").LocalPlayer
local function isInDynamicThumbstickArea_upvr(arg1) -- Line 95, Named "isInDynamicThumbstickArea"
--[[ Upvalues[1]:
[1]: LocalPlayer_upvr (readonly)
]]
local var26 = LocalPlayer_upvr:FindFirstChildOfClass("PlayerGui")
if var26 then
var26 = LocalPlayer_upvr:FindFirstChildOfClass("PlayerGui"):FindFirstChild("TouchGui")
end
local var27 = var26
if var27 then
var27 = var26:FindFirstChild("TouchControlFrame")
end
local var28 = var27
if var28 then
var28 = var27:FindFirstChild("DynamicThumbstickFrame")
end
if not var28 then
return false
end
if not var26.Enabled then
return false
end
local AbsolutePosition_2 = var28.AbsolutePosition
local var30 = AbsolutePosition_2 + var28.AbsoluteSize
local var31 = false
if AbsolutePosition_2.X <= arg1.X then
var31 = false
if AbsolutePosition_2.Y <= arg1.Y then
var31 = false
if arg1.X <= var30.X then
if arg1.Y > var30.Y then
var31 = false
else
var31 = true
end
end
end
end
return var31
end
local module = {}
local tbl_upvr = {
Thumbstick2 = Vector2.new();
}
local tbl_upvr_4 = {
Left = 0;
Right = 0;
I = 0;
O = 0;
}
local tbl_upvr_3 = {
Movement = Vector2.new();
Wheel = 0;
Pan = Vector2.new();
Pinch = 0;
}
local tbl_upvr_2 = {
Move = Vector2.new();
Pinch = 0;
}
local BindableEvent_upvr = Instance.new("BindableEvent")
module.gamepadZoomPress = BindableEvent_upvr.Event
local function getPanning() -- Line 148
--[[ Upvalues[1]:
[1]: UserInputService_upvr (readonly)
]]
for _, v in pairs(UserInputService_upvr:GetMouseButtonsPressed()) do
if v.UserInputType == Enum.UserInputType.MouseButton2 then
return true
end
end
return false
end
module.getPanning = getPanning
local var43_upvr = Vector2.new(1, 0.77) * 0.06981317007977318
local var44_upvr = Vector2.new(1, 0.77) * 0.008726646259971648
local var45_upvr = Vector2.new(1, 0.77) * 0.12217304763960307
local var46_upvr = Vector2.new(1, 0.66) * 0.017453292519943295
function module.getRotation() -- Line 157
--[[ Upvalues[9]:
[1]: tbl_upvr_4 (readonly)
[2]: tbl_upvr (readonly)
[3]: tbl_upvr_3 (readonly)
[4]: BindableEvent_upvr_2 (readonly)
[5]: tbl_upvr_2 (readonly)
[6]: var43_upvr (readonly)
[7]: var44_upvr (readonly)
[8]: var45_upvr (readonly)
[9]: var46_upvr (readonly)
]]
return Vector2.new(tbl_upvr_4.Right - tbl_upvr_4.Left, 0) * 0.03490658503988659 + tbl_upvr.Thumbstick2 * var43_upvr + tbl_upvr_3.Movement * var44_upvr + tbl_upvr_3.Pan * var45_upvr + BindableEvent_upvr_2(tbl_upvr_2.Move) * var46_upvr
end
function module.getZoomDelta() -- Line 174
--[[ Upvalues[3]:
[1]: tbl_upvr_4 (readonly)
[2]: tbl_upvr_3 (readonly)
[3]: tbl_upvr_2 (readonly)
]]
return (tbl_upvr_4.O - tbl_upvr_4.I) * 0.1 + (-tbl_upvr_3.Wheel + tbl_upvr_3.Pinch) * 1 + -tbl_upvr_2.Pinch * 0.04
end
local function thumbstick_upvr(arg1, arg2, arg3) -- Line 182, Named "thumbstick"
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: BindableEvent_upvw (read and write)
]]
local Position = arg3.Position
tbl_upvr[arg3.KeyCode.Name] = Vector2.new(BindableEvent_upvw(Position.X), -BindableEvent_upvw(Position.Y))
end
local function mouseMove_upvr(arg1, arg2, arg3) -- Line 187, Named "mouseMove"
--[[ Upvalues[1]:
[1]: tbl_upvr_3 (readonly)
]]
local Delta = arg3.Delta
tbl_upvr_3.Movement = Vector2.new(Delta.X, Delta.Y)
return Enum.ContextActionResult.Pass
end
local function _(arg1, arg2, arg3) -- Line 193, Named "mouseWheel"
--[[ Upvalues[1]:
[1]: tbl_upvr_3 (readonly)
]]
tbl_upvr_3.Wheel = arg3.Position.Z
return Enum.ContextActionResult.Pass
end
local function keypress_upvr(arg1, arg2, arg3) -- Line 198, Named "keypress"
--[[ Upvalues[1]:
[1]: tbl_upvr_4 (readonly)
]]
local KeyCode = arg3.KeyCode
if arg2 == Enum.UserInputState.Begin then
KeyCode = 1
else
KeyCode = 0
end
tbl_upvr_4[KeyCode.Name] = KeyCode
end
local function gamepadZoomPress_upvr(arg1, arg2, arg3) -- Line 202, Named "gamepadZoomPress"
--[[ Upvalues[1]:
[1]: BindableEvent_upvr (readonly)
]]
if arg2 == Enum.UserInputState.Begin then
BindableEvent_upvr:Fire()
end
end
local function resetInputDevices_upvr() -- Line 208, Named "resetInputDevices"
--[[ Upvalues[4]:
[1]: tbl_upvr (readonly)
[2]: tbl_upvr_4 (readonly)
[3]: tbl_upvr_3 (readonly)
[4]: tbl_upvr_2 (readonly)
]]
for _, v_2 in pairs({tbl_upvr, tbl_upvr_4, tbl_upvr_3, tbl_upvr_2}) do
for i_3, v_3 in pairs(v_2) do
if type(v_3) == "boolean" then
v_2[i_3] = false
else
v_2[i_3] *= 0
end
end
end
end
local tbl_upvr_5 = {}
local var62_upvw
local var63_upvw
local function touchBegan_upvw(arg1, arg2) -- Line 232, Named "touchBegan"
--[[ Upvalues[3]:
[1]: var62_upvw (read and write)
[2]: isInDynamicThumbstickArea_upvr (readonly)
[3]: tbl_upvr_5 (readonly)
]]
local var65
if arg1.UserInputType ~= Enum.UserInputType.Touch then
var65 = false
else
var65 = true
end
assert(var65)
if arg1.UserInputState ~= Enum.UserInputState.Begin then
var65 = false
else
var65 = true
end
assert(var65)
if var62_upvw == nil then
var65 = arg1.Position
if isInDynamicThumbstickArea_upvr(var65) and not arg2 then
var62_upvw = arg1
return
end
end
tbl_upvr_5[arg1] = arg2
end
local function touchEnded_upvw(arg1, arg2) -- Line 248, Named "touchEnded"
--[[ Upvalues[3]:
[1]: var62_upvw (read and write)
[2]: tbl_upvr_5 (readonly)
[3]: var63_upvw (read and write)
]]
local var66
if arg1.UserInputType ~= Enum.UserInputType.Touch then
var66 = false
else
var66 = true
end
assert(var66)
if arg1.UserInputState ~= Enum.UserInputState.End then
var66 = false
else
var66 = true
end
assert(var66)
if arg1 == var62_upvw then
var62_upvw = nil
end
var66 = tbl_upvr_5
if var66[arg1] == false then
var63_upvw = nil
end
var66 = nil
tbl_upvr_5[arg1] = var66
end
local function touchChanged_upvw(arg1, arg2) -- Line 266, Named "touchChanged"
--[[ Upvalues[4]:
[1]: var62_upvw (read and write)
[2]: tbl_upvr_5 (readonly)
[3]: tbl_upvr_2 (readonly)
[4]: var63_upvw (read and write)
]]
local var80
if arg1.UserInputType ~= Enum.UserInputType.Touch then
var80 = false
else
var80 = true
end
assert(var80)
if arg1.UserInputState ~= Enum.UserInputState.Change then
var80 = false
else
var80 = true
end
assert(var80)
if arg1 == var62_upvw then
else
var80 = tbl_upvr_5
if var80[arg1] == nil then
tbl_upvr_5[arg1] = arg2
end
local tbl_2 = {}
var80 = pairs(tbl_upvr_5)
local pairs_result1_2, pairs_result2_4, pairs_result3_2 = pairs(tbl_upvr_5)
for i_4, v_4 in pairs_result1_2, pairs_result2_4, pairs_result3_2 do
if not v_4 then
table.insert(tbl_2, i_4)
end
end
pairs_result1_2 = #tbl_2
if pairs_result1_2 == 1 then
pairs_result1_2 = tbl_upvr_5[arg1]
if pairs_result1_2 == false then
pairs_result1_2 = arg1.Delta
i_4 = pairs_result1_2.X
v_4 = pairs_result1_2.Y
tbl_upvr_2.Move = Vector2.new(i_4, v_4)
end
end
pairs_result1_2 = #tbl_2
if pairs_result1_2 == 2 then
i_4 = tbl_2[1]
v_4 = tbl_2[2]
i_4 = v_4.Position
pairs_result1_2 = (i_4.Position - i_4).Magnitude
if var63_upvw then
i_4 = var63_upvw
tbl_upvr_2.Pinch = pairs_result1_2 - i_4
end
var63_upvw = pairs_result1_2
return
end
pairs_result1_2 = nil
var63_upvw = pairs_result1_2
end
end
local UserGameSettings_upvr = UserSettings():GetService("UserGameSettings")
function tbl_upvr_5(arg1, arg2, arg3, arg4) -- Line 311, Named "pointerAction"
--[[ Upvalues[2]:
[1]: UserGameSettings_upvr (readonly)
[2]: tbl_upvr_3 (readonly)
]]
if not arg4 then
tbl_upvr_3.Wheel = arg1
tbl_upvr_3.Pan = arg2 * Vector2.new(1, UserGameSettings_upvr:GetCameraYInvertValue())
tbl_upvr_3.Pinch = -arg3
end
end
local function inputBegan_upvr(arg1, arg2) -- Line 321, Named "inputBegan"
--[[ Upvalues[1]:
[1]: touchBegan_upvw (read and write)
]]
if arg1.UserInputType == Enum.UserInputType.Touch then
touchBegan_upvw(arg1, arg2)
end
end
local function inputChanged_upvr(arg1, arg2) -- Line 327, Named "inputChanged"
--[[ Upvalues[1]:
[1]: touchChanged_upvw (read and write)
]]
if arg1.UserInputType == Enum.UserInputType.Touch then
touchChanged_upvw(arg1, arg2)
end
end
local function inputEnded_upvr(arg1, arg2) -- Line 333, Named "inputEnded"
--[[ Upvalues[1]:
[1]: touchEnded_upvw (read and write)
]]
if arg1.UserInputType == Enum.UserInputType.Touch then
touchEnded_upvw(arg1, arg2)
end
end
local var86_upvw = false
local var87_upvw = pcall_result1 and pcall_result2
local ContextActionService_upvr = game:GetService("ContextActionService")
local Value_upvr = Enum.ContextActionPriority.Default.Value
local tbl_upvw = {}
function module.setInputEnabled(arg1) -- Line 341
--[[ Upvalues[15]:
[1]: var87_upvw (read and write)
[2]: var86_upvw (read and write)
[3]: resetInputDevices_upvr (readonly)
[4]: ContextActionService_upvr (readonly)
[5]: thumbstick_upvr (readonly)
[6]: Value_upvr (readonly)
[7]: mouseMove_upvr (readonly)
[8]: keypress_upvr (readonly)
[9]: gamepadZoomPress_upvr (readonly)
[10]: tbl_upvw (read and write)
[11]: UserInputService_upvr (readonly)
[12]: inputBegan_upvr (readonly)
[13]: inputChanged_upvr (readonly)
[14]: inputEnded_upvr (readonly)
[15]: tbl_upvr_5 (readonly)
]]
assert(var87_upvw)
if var86_upvw == arg1 then
else
var86_upvw = arg1
if var86_upvw then
resetInputDevices_upvr()
ContextActionService_upvr:BindActionAtPriority("RbxCameraThumbstick", thumbstick_upvr, false, Value_upvr, Enum.KeyCode.Thumbstick2)
ContextActionService_upvr:BindActionAtPriority("RbxCameraMouseMove", mouseMove_upvr, false, Value_upvr, Enum.UserInputType.MouseMovement)
ContextActionService_upvr:BindActionAtPriority("RbxCameraKeypress", keypress_upvr, false, Value_upvr, Enum.KeyCode.Left, Enum.KeyCode.Right, Enum.KeyCode.I, Enum.KeyCode.O)
ContextActionService_upvr:BindAction("RbxCameraGamepadZoom", gamepadZoomPress_upvr, false, Enum.KeyCode.ButtonR3)
table.insert(tbl_upvw, UserInputService_upvr.InputBegan:Connect(inputBegan_upvr))
table.insert(tbl_upvw, UserInputService_upvr.InputChanged:Connect(inputChanged_upvr))
table.insert(tbl_upvw, UserInputService_upvr.InputEnded:Connect(inputEnded_upvr))
table.insert(tbl_upvw, UserInputService_upvr.PointerAction:Connect(tbl_upvr_5))
return
end
ContextActionService_upvr:UnbindAction("RbxCameraThumbstick")
ContextActionService_upvr:UnbindAction("RbxCameraMouseMove")
ContextActionService_upvr:UnbindAction("RbxCameraMouseWheel")
ContextActionService_upvr:UnbindAction("RbxCameraKeypress")
resetInputDevices_upvr()
for _, v_5 in pairs(tbl_upvw) do
v_5:Disconnect()
end
tbl_upvw = {}
end
end
function module.getInputEnabled() -- Line 406
--[[ Upvalues[1]:
[1]: var86_upvw (read and write)
]]
return var86_upvw
end
function module.resetInputForFrameEnd() -- Line 410
--[[ Upvalues[2]:
[1]: tbl_upvr_3 (readonly)
[2]: tbl_upvr_2 (readonly)
]]
tbl_upvr_3.Movement = Vector2.new()
tbl_upvr_2.Move = Vector2.new()
tbl_upvr_2.Pinch = 0
tbl_upvr_3.Wheel = 0
tbl_upvr_3.Pan = Vector2.new()
tbl_upvr_3.Pinch = 0
end
UserInputService_upvr.WindowFocused:Connect(resetInputDevices_upvr)
UserInputService_upvr.WindowFocusReleased:Connect(resetInputDevices_upvr)
local var96_upvw = false
local var97_upvw = false
function module.getHoldPan() -- Line 431
--[[ Upvalues[1]:
[1]: var96_upvw (read and write)
]]
return var96_upvw
end
function module.getTogglePan() -- Line 435
--[[ Upvalues[1]:
[1]: var97_upvw (read and write)
]]
return var97_upvw
end
function module.getPanning() -- Line 439
--[[ Upvalues[2]:
[1]: var97_upvw (read and write)
[2]: var96_upvw (read and write)
]]
local var98 = var97_upvw
if not var98 then
var98 = var96_upvw
end
return var98
end
function module.setTogglePan(arg1) -- Line 443
--[[ Upvalues[1]:
[1]: var97_upvw (read and write)
]]
var97_upvw = arg1
end
local var99_upvw = false
local var100_upvw
local var101_upvw
local Event_upvw_2 = BindableEvent_upvw.Event
local var103_upvw = 0
local Event_upvw = BindableEvent_upvr_2.Event
function module.enableCameraToggleInput() -- Line 451
--[[ Upvalues[9]:
[1]: var99_upvw (read and write)
[2]: var96_upvw (read and write)
[3]: var97_upvw (read and write)
[4]: var100_upvw (read and write)
[5]: var101_upvw (read and write)
[6]: Event_upvw_2 (read and write)
[7]: var103_upvw (read and write)
[8]: Event_upvw (read and write)
[9]: UserInputService_upvr (readonly)
]]
if var99_upvw then
else
var99_upvw = true
var96_upvw = false
var97_upvw = false
if var100_upvw then
var100_upvw:Disconnect()
end
if var101_upvw then
var101_upvw:Disconnect()
end
var100_upvw = Event_upvw_2:Connect(function() -- Line 468
--[[ Upvalues[2]:
[1]: var96_upvw (copied, read and write)
[2]: var103_upvw (copied, read and write)
]]
var96_upvw = true
var103_upvw = tick()
end)
var101_upvw = Event_upvw:Connect(function() -- Line 473
--[[ Upvalues[4]:
[1]: var96_upvw (copied, read and write)
[2]: var103_upvw (copied, read and write)
[3]: var97_upvw (copied, read and write)
[4]: UserInputService_upvr (copied, readonly)
]]
var96_upvw = false
if tick() - var103_upvw < 0.3 and (var97_upvw or UserInputService_upvr:GetMouseDelta().Magnitude < 2) then
var97_upvw = not var97_upvw
end
end)
end
end
function module.disableCameraToggleInput() -- Line 481
--[[ Upvalues[3]:
[1]: var99_upvw (read and write)
[2]: var100_upvw (read and write)
[3]: var101_upvw (read and write)
]]
if not var99_upvw then
else
var99_upvw = false
if var100_upvw then
var100_upvw:Disconnect()
var100_upvw = nil
end
if var101_upvw then
var101_upvw:Disconnect()
var101_upvw = nil
end
end
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:54
-- Luau version 6, Types version 3
-- Time taken: 0.002278 seconds
local module_upvr = {}
module_upvr.__index = module_upvr
setmetatable(module_upvr, {
__call = function(arg1, ...) -- Line 10, Named "__call"
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
return module_upvr.new(...)
end;
})
function module_upvr.new() -- Line 15
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
return setmetatable({}, module_upvr)
end
function module_upvr.CharacterAdded(arg1, arg2, arg3) -- Line 21
end
function module_upvr.CharacterRemoving(arg1, arg2, arg3) -- Line 25
end
function module_upvr.OnCameraSubjectChanged(arg1, arg2) -- Line 28
end
function module_upvr.GetOcclusionMode(arg1) -- Line 32
warn("BaseOcclusion GetOcclusionMode must be overridden by derived classes")
return nil
end
function module_upvr.Enable(arg1, arg2) -- Line 38
warn("BaseOcclusion Enable must be overridden by derived classes")
end
function module_upvr.Update(arg1, arg2, arg3, arg4) -- Line 42
warn("BaseOcclusion Update must be overridden by derived classes")
return arg3, arg4
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:55
-- Luau version 6, Types version 3
-- Time taken: 0.004614 seconds
local clamp_upvr = math.clamp
local LocalPlayer_upvr = game:GetService("Players").LocalPlayer
local var3_upvw
local var4_upvw
local function updateBounds() -- Line 22
--[[ Upvalues[3]:
[1]: var3_upvw (read and write)
[2]: LocalPlayer_upvr (readonly)
[3]: var4_upvw (read and write)
]]
var3_upvw = LocalPlayer_upvr.CameraMinZoomDistance
var4_upvw = LocalPlayer_upvr.CameraMaxZoomDistance
end
var3_upvw = LocalPlayer_upvr.CameraMinZoomDistance
var4_upvw = LocalPlayer_upvr.CameraMaxZoomDistance
local var5_upvw = var4_upvw
LocalPlayer_upvr:GetPropertyChangedSignal("CameraMinZoomDistance"):Connect(updateBounds)
LocalPlayer_upvr:GetPropertyChangedSignal("CameraMaxZoomDistance"):Connect(updateBounds)
LocalPlayer_upvr = {}
local var6_upvr = LocalPlayer_upvr
var6_upvr.__index = var6_upvr
function var6_upvr.new(arg1, arg2, arg3, arg4) -- Line 36
--[[ Upvalues[2]:
[1]: clamp_upvr (readonly)
[2]: var6_upvr (readonly)
]]
local clamp_upvr_result1 = clamp_upvr(arg2, arg3, arg4)
local module_2 = {}
module_2.freq = arg1
module_2.x = clamp_upvr_result1
module_2.v = 0
module_2.minValue = arg3
module_2.maxValue = arg4
module_2.goal = clamp_upvr_result1
return setmetatable(module_2, var6_upvr)
end
local exp_upvr = math.exp
function var6_upvr.Step(arg1, arg2) -- Line 48
--[[ Upvalues[1]:
[1]: exp_upvr (readonly)
]]
local var10 = arg1.freq * 2 * math.pi
local v = arg1.v
local minValue = arg1.minValue
local maxValue = arg1.maxValue
local goal_2 = arg1.goal
local var15 = goal_2 - arg1.x
local var16 = var10 * arg2
local var9_result1 = exp_upvr(-var16)
local var18 = goal_2 + (v * arg2 - var15 * (var16 + 1)) * var9_result1
local var19 = ((var15 * var10 - v) * var16 + v) * var9_result1
if var18 < minValue then
var18 = minValue
var19 = 0
elseif maxValue < var18 then
var18 = maxValue
var19 = 0
end
arg1.x = var18
arg1.v = var19
return var18
end
local any_new_result1_upvr = var6_upvr.new(4.5, 12.5, 0.5, var5_upvw)
local function _(arg1, arg2, arg3, arg4) -- Line 86, Named "stepTargetZoom"
--[[ Upvalues[1]:
[1]: clamp_upvr (readonly)
]]
arg1 = clamp_upvr(arg1 + arg2 * (1 + arg1 * 0.0375), arg3, arg4)
local var21 = arg1
local var22
if var21 < var22 then
local function INLINED() -- Internal function, doesn't exist in bytecode
var22 = arg3
return var22
end
if arg2 > 0 or not INLINED() then
var22 = 1
end
var21 = var22
end
return var21
end
local var23_upvw = 0
local module = {}
local max_upvr = math.max
local module_3_upvr = require(script:WaitForChild("Popper"))
local min_upvr = math.min
function module.Update(arg1, arg2, arg3) -- Line 97
--[[ Upvalues[8]:
[1]: any_new_result1_upvr (readonly)
[2]: var23_upvw (read and write)
[3]: var3_upvw (read and write)
[4]: var5_upvw (read and write)
[5]: clamp_upvr (readonly)
[6]: max_upvr (readonly)
[7]: module_3_upvr (readonly)
[8]: min_upvr (readonly)
]]
local var28 = math.huge
if 1 < any_new_result1_upvr.goal then
local goal = any_new_result1_upvr.goal
local var30 = var23_upvw
local var31 = var3_upvw
goal = clamp_upvr(goal + var30 * (1 + goal * 0.0375), var31, var5_upvw)
local var32 = goal
local var33
if var32 < var33 then
local function INLINED_2() -- Internal function, doesn't exist in bytecode
var33 = var31
return var33
end
if var30 > 0 or not INLINED_2() then
var33 = 1
end
var32 = var33
end
var28 = module_3_upvr(arg2 * CFrame.new(0, 0, 0.5), max_upvr(any_new_result1_upvr.x, var32) - 0.5, arg3) + 0.5
end
any_new_result1_upvr.minValue = 0.5
any_new_result1_upvr.maxValue = min_upvr(var5_upvw, var28)
return any_new_result1_upvr:Step(arg1)
end
function module.GetZoomRadius() -- Line 121
--[[ Upvalues[1]:
[1]: any_new_result1_upvr (readonly)
]]
return any_new_result1_upvr.x
end
function module.SetZoomParameters(arg1, arg2) -- Line 125
--[[ Upvalues[2]:
[1]: any_new_result1_upvr (readonly)
[2]: var23_upvw (read and write)
]]
any_new_result1_upvr.goal = arg1
var23_upvw = arg2
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:56
-- Luau version 6, Types version 3
-- Time taken: 0.031639 seconds
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local Players = game:GetService("Players")
local CurrentCamera_upvr = game.Workspace.CurrentCamera
local tan_upvr = math.tan
local rad_upvr = math.rad
local new_upvr = Ray.new
local function _(arg1) -- Line 31, Named "getTotalTransparency"
return 1 - (1 - arg1.Transparency) * (1 - arg1.LocalTransparencyModifier)
end
local function _(arg1, arg2) -- Line 39, Named "eraseFromEnd"
for i = #arg1, arg2 + 1, -1 do
arg1[i] = nil
end
end
local var23_upvw
local var24_upvw
local function updateProjection() -- Line 53
--[[ Upvalues[5]:
[1]: CurrentCamera_upvr (readonly)
[2]: rad_upvr (readonly)
[3]: var23_upvw (read and write)
[4]: tan_upvr (readonly)
[5]: var24_upvw (read and write)
]]
local ViewportSize_2 = CurrentCamera_upvr.ViewportSize
var23_upvw = tan_upvr(rad_upvr(CurrentCamera_upvr.FieldOfView) / 2) * 2
var24_upvw = ViewportSize_2.X / ViewportSize_2.Y * var23_upvw
end
CurrentCamera_upvr:GetPropertyChangedSignal("FieldOfView"):Connect(updateProjection)
CurrentCamera_upvr:GetPropertyChangedSignal("ViewportSize"):Connect(updateProjection)
local ViewportSize = CurrentCamera_upvr.ViewportSize
var23_upvw = tan_upvr(rad_upvr(CurrentCamera_upvr.FieldOfView) / 2) * 2
local var27_upvw = var23_upvw
var24_upvw = ViewportSize.X / ViewportSize.Y * var27_upvw
local NearPlaneZ_upvw = CurrentCamera_upvr.NearPlaneZ
local function playerAdded() -- Line 83
--[[ Upvalues[2]:
[1]: NearPlaneZ_upvw (read and write)
[2]: CurrentCamera_upvr (readonly)
]]
NearPlaneZ_upvw = CurrentCamera_upvr.NearPlaneZ
end
CurrentCamera_upvr:GetPropertyChangedSignal("NearPlaneZ"):Connect(playerAdded)
local tbl_3_upvw = {}
local tbl_upvr = {}
local function _() -- Line 99, Named "refreshIgnoreList"
--[[ Upvalues[2]:
[1]: tbl_3_upvw (read and write)
[2]: tbl_upvr (readonly)
]]
local var36 = 1
tbl_3_upvw = {}
for _, v in pairs(tbl_upvr) do
tbl_3_upvw[var36] = v
var36 += 1
end
end
function playerAdded(arg1) -- Line 117
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: tbl_3_upvw (read and write)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
arg1.CharacterAdded:Connect(function(arg1_2) -- Line 119, Named "characterAdded"
--[[ Upvalues[3]:
[1]: tbl_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: tbl_3_upvw (copied, read and write)
]]
tbl_upvr[arg1] = arg1_2
local var53 = 1
tbl_3_upvw = {}
for _, v_2 in pairs(tbl_upvr) do
tbl_3_upvw[var53] = v_2
var53 += 1
end
end)
arg1.CharacterRemoving:Connect(function() -- Line 127, Named "characterRemoving"
--[[ Upvalues[3]:
[1]: tbl_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: tbl_3_upvw (copied, read and write)
]]
tbl_upvr[arg1] = nil
local var61 = 1
tbl_3_upvw = {}
for _, v_3 in pairs(tbl_upvr) do
tbl_3_upvw[var61] = v_3
var61 += 1
end
end)
if arg1.Character then
tbl_upvr[arg1] = arg1.Character
tbl_3_upvw = {}
for _, v_4 in pairs(tbl_upvr) do
tbl_3_upvw[1] = v_4
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
local var68
end
end
end
local var40 = playerAdded
Players.PlayerAdded:Connect(var40)
Players.PlayerRemoving:Connect(function(arg1) -- Line 151, Named "playerRemoving"
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: tbl_3_upvw (read and write)
]]
tbl_upvr[arg1] = nil
local var73 = 1
tbl_3_upvw = {}
for _, v_5 in pairs(tbl_upvr) do
tbl_3_upvw[var73] = v_5
var73 += 1
end
end)
for _, v_6 in ipairs(Players:GetPlayers()) do
var40(v_6)
end
tbl_3_upvw = {}
local var80_upvw = tbl_3_upvw
for _, v_7 in pairs(tbl_upvr) do
var80_upvw[1] = v_7
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
local var84
end
tbl_upvr = nil
local var85_upvw = tbl_upvr
local var86_upvw
CurrentCamera_upvr:GetPropertyChangedSignal("CameraSubject"):Connect(function() -- Line 219
--[[ Upvalues[2]:
[1]: CurrentCamera_upvr (readonly)
[2]: var86_upvw (read and write)
]]
local CameraSubject = CurrentCamera_upvr.CameraSubject
if CameraSubject:IsA("Humanoid") then
var86_upvw = CameraSubject.RootPart
else
if CameraSubject:IsA("BasePart") then
var86_upvw = CameraSubject
return
end
var86_upvw = nil
end
end)
local var89_upvw
local function _() -- Line 243, Named "getGrassObject"
--[[ Upvalues[1]:
[1]: var89_upvw (read and write)
]]
if not var89_upvw or not var89_upvw.Parent then
local pitch_3 = workspace:FindFirstChild("pitch")
if pitch_3 then
local main_2 = pitch_3:FindFirstChild("main")
if main_2 then
var89_upvw = main_2:FindFirstChild("Grass")
end
end
end
return var89_upvw
end
local function canOcclude_upvr(arg1) -- Line 258, Named "canOcclude"
--[[ Upvalues[2]:
[1]: var89_upvw (read and write)
[2]: var85_upvw (read and write)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local function INLINED_3() -- Internal function, doesn't exist in bytecode
local pitch = workspace:FindFirstChild("pitch")
return pitch
end
if not var89_upvw or not var89_upvw.Parent or INLINED_3() then
local main_4 = pitch:FindFirstChild("main")
if main_4 then
var89_upvw = main_4:FindFirstChild("Grass")
end
end
local var100 = var89_upvw
local var101
local function INLINED_4() -- Internal function, doesn't exist in bytecode
var101 = arg1:GetRootPart() or arg1
return arg1:IsDescendantOf(var100)
end
if var100 and (INLINED_4() or var101 == var100) then
if var85_upvw == var101 then
else
end
return true
end
var101 = false
if 1 - (1 - arg1.Transparency) * (1 - arg1.LocalTransparencyModifier) < 0.25 then
var101 = arg1.CanCollide
if var101 then
var101 = false
if var85_upvw ~= (arg1:GetRootPart() or arg1) then
var101 = not arg1:IsA("TrussPart")
end
end
end
return var101
end
local tbl_2_upvr = {Vector2.new(0.4, 0), Vector2.new(-0.4, 0), Vector2.new(0, -0.4), Vector2.new(0, 0.4), Vector2.new(0, 0.2)}
local function getCollisionPoint_upvr(arg1, arg2) -- Line 306, Named "getCollisionPoint"
--[[ Upvalues[2]:
[1]: var80_upvw (read and write)
[2]: new_upvr (readonly)
]]
repeat
local workspace_FindPartOnRayWithIgnoreList_result1, workspace_FindPartOnRayWithIgnoreList_result2_2 = workspace:FindPartOnRayWithIgnoreList(new_upvr(arg1, arg2), var80_upvw, false, true)
if workspace_FindPartOnRayWithIgnoreList_result1 then
if workspace_FindPartOnRayWithIgnoreList_result1.CanCollide then
for i_9 = #var80_upvw, #var80_upvw + 1, -1 do
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
var80_upvw[i_9] = nil
local _
end
return workspace_FindPartOnRayWithIgnoreList_result2_2, true
end
var80_upvw[#var80_upvw + 1] = workspace_FindPartOnRayWithIgnoreList_result1
end
until not workspace_FindPartOnRayWithIgnoreList_result1
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
for i_10 = #var80_upvw, #var80_upvw + 1, -1 do
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
var80_upvw[i_10] = nil
local _
end
return arg1 + arg2, false
end
local function queryPoint_upvr(arg1, arg2, arg3, arg4) -- Line 350, Named "queryPoint"
--[[ Upvalues[4]:
[1]: var80_upvw (read and write)
[2]: NearPlaneZ_upvw (read and write)
[3]: new_upvr (readonly)
[4]: canOcclude_upvr (readonly)
]]
debug.profilebegin("queryPoint")
local var113 = arg3 + NearPlaneZ_upvw
local var114 = arg1 + arg2 * var113
local var115 = arg1
local var116
repeat
local workspace_FindPartOnRayWithIgnoreList_result1_2, workspace_FindPartOnRayWithIgnoreList_result2 = workspace:FindPartOnRayWithIgnoreList(new_upvr(var115, var114 - var115), var80_upvw, false, true)
local var119
if workspace_FindPartOnRayWithIgnoreList_result1_2 then
if canOcclude_upvr(workspace_FindPartOnRayWithIgnoreList_result1_2) then
local tbl = {workspace_FindPartOnRayWithIgnoreList_result1_2}
if workspace:FindPartOnRayWithWhitelist(new_upvr(var114, workspace_FindPartOnRayWithIgnoreList_result2 - var114), tbl, true) then
local var121 = false
if arg4 then
local workspace_FindPartOnRayWithWhitelist_result1 = workspace:FindPartOnRayWithWhitelist(new_upvr(arg4, var114 - arg4), tbl, true)
if not workspace_FindPartOnRayWithWhitelist_result1 then
workspace_FindPartOnRayWithWhitelist_result1 = workspace:FindPartOnRayWithWhitelist(new_upvr(var114, arg4 - var114), tbl, true)
end
var121 = workspace_FindPartOnRayWithWhitelist_result1
end
if var121 then
var119 = (workspace_FindPartOnRayWithIgnoreList_result2 - arg1).Magnitude
local var123 = var119
elseif var113 < var116 then
var116 = (workspace_FindPartOnRayWithIgnoreList_result2 - arg1).Magnitude
-- KONSTANTWARNING: GOTO [84] #72
end
else
var123 = (workspace_FindPartOnRayWithIgnoreList_result2 - arg1).Magnitude
end
end
var80_upvw[#var80_upvw + 1] = workspace_FindPartOnRayWithIgnoreList_result1_2
end
until var123 < math.huge and not workspace_FindPartOnRayWithIgnoreList_result1_2
for i_11 = #var80_upvw, #var80_upvw + 1, -1 do
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
var80_upvw[i_11] = nil
local _
end
debug.profileend()
return var116 - NearPlaneZ_upvw, var123 - NearPlaneZ_upvw
end
local function queryViewport_upvr(arg1, arg2) -- Line 458, Named "queryViewport"
--[[ Upvalues[5]:
[1]: CurrentCamera_upvr (readonly)
[2]: var24_upvw (read and write)
[3]: var27_upvw (read and write)
[4]: NearPlaneZ_upvw (read and write)
[5]: queryPoint_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
debug.profilebegin("queryViewport")
local ViewportSize_3 = CurrentCamera_upvr.ViewportSize
local var134
for i_12 = 0, 1 do
for i_13 = 0, 1 do
local queryPoint_upvr_result1, queryPoint_upvr_result2 = queryPoint_upvr(arg1.p + NearPlaneZ_upvw * ((arg1.rightVector) * ((i_12 - 0.5) * var24_upvw) + (arg1.upVector) * ((i_13 - 0.5) * var27_upvw)), -arg1.lookVector, arg2, CurrentCamera_upvr:ViewportPointToRay(ViewportSize_3.x * i_12, ViewportSize_3.y * i_13).Origin)
if queryPoint_upvr_result2 < math.huge then
end
if queryPoint_upvr_result1 < var134 then
var134 = queryPoint_upvr_result1
end
end
end
debug.profileend()
return var134, queryPoint_upvr_result2
end
local min_upvr = math.min
local function testPromotion_upvr(arg1, arg2, arg3) -- Line 540, Named "testPromotion"
--[[ Upvalues[4]:
[1]: getCollisionPoint_upvr (readonly)
[2]: min_upvr (readonly)
[3]: queryPoint_upvr (readonly)
[4]: tbl_2_upvr (readonly)
]]
debug.profilebegin("testPromotion")
local p = arg1.p
debug.profilebegin("extrapolate")
for i_14 = 0, min_upvr(1.25, arg3.rotVelocity.magnitude + (getCollisionPoint_upvr(p, arg3.posVelocity * 1.25) - p).Magnitude / arg3.posVelocity.magnitude), 0.0625 do
local any_extrapolate_result1 = arg3.extrapolate(i_14)
if arg2 <= queryPoint_upvr(any_extrapolate_result1.p, -any_extrapolate_result1.lookVector, arg2) then
return false
end
end
debug.profileend()
debug.profilebegin("testOffsets")
for _, v_8 in ipairs(tbl_2_upvr) do
local getCollisionPoint_upvr_result1 = getCollisionPoint_upvr(p, arg1.rightVector * v_8.x + arg1.upVector * v_8.y)
if queryPoint_upvr(getCollisionPoint_upvr_result1, (p + -arg1.lookVector * arg2 - getCollisionPoint_upvr_result1).Unit, arg2) == math.huge then
return false
end
end
debug.profileend()
debug.profileend()
return true
end
return function(arg1, arg2, arg3) -- Line 638, Named "Popper"
--[[ Upvalues[4]:
[1]: var85_upvw (read and write)
[2]: var86_upvw (read and write)
[3]: queryViewport_upvr (readonly)
[4]: testPromotion_upvr (readonly)
]]
debug.profilebegin("popper")
local var147
local function INLINED_5() -- Internal function, doesn't exist in bytecode
var147 = var86_upvw:GetRootPart()
return var147
end
if not var86_upvw or not INLINED_5() then
var147 = var86_upvw
end
var85_upvw = var147
var147 = arg2
local queryViewport_result1, queryViewport_result2 = queryViewport_upvr(arg1, arg2)
if queryViewport_result2 < var147 then
var147 = queryViewport_result2
end
if queryViewport_result1 < var147 and testPromotion_upvr(arg1, arg2, arg3) then
var147 = queryViewport_result1
end
var85_upvw = nil
debug.profileend()
return var147
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:58
-- Luau version 6, Types version 3
-- Time taken: 0.012057 seconds
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
if not LocalPlayer then
Players:GetPropertyChangedSignal("LocalPlayer"):Wait()
LocalPlayer = Players.LocalPlayer
end
local udim2_upvr = UDim2.new(0, 80, 0, 58)
local function _(arg1) -- Line 28, Named "create"
return function(arg1_2) -- Line 29
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
local any_8 = Instance.new(arg1)
arg1_2.Parent = nil
for i, v in pairs(arg1_2) do
if type(i) == "string" then
any_8[i] = v
else
v.Parent = any_8
end
end
any_8.Parent = arg1_2.Parent
return any_8
end
end
local var12_upvw = false
local var13_upvw
local var14_upvw
local var15_upvw
local var16_upvw
local var17_upvw
local Color3_fromRGB_result1_upvr = Color3.fromRGB(32, 32, 32)
local Color3_fromRGB_result1_upvr_2 = Color3.fromRGB(200, 200, 200)
local waitForChildOfClass_result1_upvr = (function(arg1, arg2) -- Line 10, Named "waitForChildOfClass"
local var3
while not (not var3 or var3.ClassName == arg2) do
var3 = arg1.ChildAdded:Wait()
end
return var3
end)(LocalPlayer, "PlayerGui")
local function initializeUI_upvr() -- Line 54, Named "initializeUI"
--[[ Upvalues[10]:
[1]: var12_upvw (read and write)
[2]: var17_upvw (read and write)
[3]: udim2_upvr (readonly)
[4]: Color3_fromRGB_result1_upvr (readonly)
[5]: Color3_fromRGB_result1_upvr_2 (readonly)
[6]: waitForChildOfClass_result1_upvr (readonly)
[7]: var13_upvw (read and write)
[8]: var14_upvw (read and write)
[9]: var15_upvw (read and write)
[10]: var16_upvw (read and write)
]]
assert(not var12_upvw)
local var22_upvr = "ScreenGui"
var22_upvr = {}
local var29 = var22_upvr
var29.Name = "RbxCameraUI"
var29.AutoLocalize = false
var29.Enabled = true
var29.DisplayOrder = -1
var29.IgnoreGuiInset = false
var29.ResetOnSpawn = false
var29.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
local var31_upvr = "ImageLabel"
var31_upvr = {}
local var38 = var31_upvr
var38.Name = "Toast"
var38.Visible = false
var38.AnchorPoint = Vector2.new(0.5, 0)
var38.BackgroundTransparency = 1
var38.BorderSizePixel = 0
var38.Position = UDim2.new(0.5, 0, 0, 8)
var38.Size = udim2_upvr
var38.Image = "rbxasset://textures/ui/Camera/CameraToast9Slice.png"
var38.ImageColor3 = Color3_fromRGB_result1_upvr
var38.ImageRectSize = Vector2.new(6, 6)
var38.ImageTransparency = 1
var38.ScaleType = Enum.ScaleType.Slice
var38.SliceCenter = Rect.new(3, 3, 3, 3)
var38.ClipsDescendants = true
local var40_upvr = "Frame"
var40_upvr = {}
local var57 = var40_upvr
var57.Name = "IconBuffer"
var57.BackgroundTransparency = 1
var57.BorderSizePixel = 0
var57.Position = UDim2.new(0, 0, 0, 0)
var57.Size = UDim2.new(0, 80, 1, 0)
local var49_upvr = "ImageLabel"
var49_upvr = {}
local var66 = var49_upvr
var66.Name = "Icon"
var66.AnchorPoint = Vector2.new(0.5, 0.5)
var66.BackgroundTransparency = 1
var66.Position = UDim2.new(0.5, 0, 0.5, 0)
var66.Size = UDim2.new(0, 48, 0, 48)
var66.ZIndex = 2
var66.Image = "rbxasset://textures/ui/Camera/CameraToastIcon.png"
var66.ImageColor3 = Color3_fromRGB_result1_upvr_2
var66.ImageTransparency = 1
var57[1] = (function(arg1) -- Line 29
--[[ Upvalues[1]:
[1]: var49_upvr (readonly)
]]
local any_6 = Instance.new(var49_upvr)
arg1.Parent = nil
for i_5, v_5 in pairs(arg1) do
if type(i_5) == "string" then
any_6[i_5] = v_5
else
v_5.Parent = any_6
end
end
any_6.Parent = arg1.Parent
return any_6
end)(var66)
local var58_upvr = "Frame"
function var57(arg1) -- Line 29
--[[ Upvalues[1]:
[1]: var58_upvr (readonly)
]]
local any_7 = Instance.new(var58_upvr)
arg1.Parent = nil
for i_6, v_6 in pairs(arg1) do
if type(i_6) == "string" then
any_7[i_6] = v_6
else
v_6.Parent = any_7
end
end
any_7.Parent = arg1.Parent
return any_7
end
var58_upvr = {}
local var65 = var58_upvr
var65.Name = "TextBuffer"
var65.BackgroundTransparency = 1
var65.BorderSizePixel = 0
var65.Position = UDim2.new(0, 80, 0, 0)
var65.Size = UDim2.new(1, -80, 1, 0)
var65.ClipsDescendants = true
local var67_upvr = "TextLabel"
function var66(arg1) -- Line 29
--[[ Upvalues[1]:
[1]: var67_upvr (readonly)
]]
local any_3 = Instance.new(var67_upvr)
arg1.Parent = nil
for i_7, v_7 in pairs(arg1) do
if type(i_7) == "string" then
any_3[i_7] = v_7
else
v_7.Parent = any_3
end
end
any_3.Parent = arg1.Parent
return any_3
end
var67_upvr = {}
local var75 = var67_upvr
var75.Name = "Upper"
var75.AnchorPoint = Vector2.new(0, 1)
var75.BackgroundTransparency = 1
var75.Position = UDim2.new(0, 0, 0.5, 0)
var75.Size = UDim2.new(1, 0, 0, 19)
var75.Font = Enum.Font.GothamSemibold
var75.Text = "Camera control enabled"
var75.TextColor3 = Color3_fromRGB_result1_upvr_2
var75.TextTransparency = 1
var75.TextSize = 19
var75.TextXAlignment = Enum.TextXAlignment.Left
var75.TextYAlignment = Enum.TextYAlignment.Center
var66 = var66(var75)
local var76_upvr = "TextLabel"
function var75(arg1) -- Line 29
--[[ Upvalues[1]:
[1]: var76_upvr (readonly)
]]
local any_2 = Instance.new(var76_upvr)
arg1.Parent = nil
for i_8, v_8 in pairs(arg1) do
if type(i_8) == "string" then
any_2[i_8] = v_8
else
v_8.Parent = any_2
end
end
any_2.Parent = arg1.Parent
return any_2
end
var76_upvr = {}
local var83 = var76_upvr
var83.Name = "Lower"
var83.AnchorPoint = Vector2.new(0, 0)
var83.BackgroundTransparency = 1
var83.Position = UDim2.new(0, 0, 0.5, 3)
var83.Size = UDim2.new(1, 0, 0, 15)
var83.Font = Enum.Font.Gotham
var83.Text = "Right mouse button to toggle"
var83.TextColor3 = Color3_fromRGB_result1_upvr_2
var83.TextTransparency = 1
var83.TextSize = 15
var83.TextXAlignment = Enum.TextXAlignment.Left
var83.TextYAlignment = Enum.TextYAlignment.Center
var75 = var75(var83)
var65[1] = var66
var65[2] = var75
var57 = var57(var65)
var38[1] = (function(arg1) -- Line 29
--[[ Upvalues[1]:
[1]: var40_upvr (readonly)
]]
local any_5 = Instance.new(var40_upvr)
arg1.Parent = nil
for i_4, v_4 in pairs(arg1) do
if type(i_4) == "string" then
any_5[i_4] = v_4
else
v_4.Parent = any_5
end
end
any_5.Parent = arg1.Parent
return any_5
end)(var57)
var38[2] = var57
var29[1] = (function(arg1) -- Line 29
--[[ Upvalues[1]:
[1]: var31_upvr (readonly)
]]
local any = Instance.new(var31_upvr)
arg1.Parent = nil
for i_3, v_3 in pairs(arg1) do
if type(i_3) == "string" then
any[i_3] = v_3
else
v_3.Parent = any
end
end
any.Parent = arg1.Parent
return any
end)(var38)
var38 = waitForChildOfClass_result1_upvr
var29.Parent = var38
var17_upvw = (function(arg1) -- Line 29
--[[ Upvalues[1]:
[1]: var22_upvr (readonly)
]]
local any_4 = Instance.new(var22_upvr)
arg1.Parent = nil
for i_2, v_2 in pairs(arg1) do
if type(i_2) == "string" then
any_4[i_2] = v_2
else
v_2.Parent = any_4
end
end
any_4.Parent = arg1.Parent
return any_4
end)(var29)
var29 = var17_upvw
var13_upvw = var29.Toast
var29 = var13_upvw.IconBuffer
var14_upvw = var29.Icon
var29 = var13_upvw.TextBuffer
var15_upvw = var29.Upper
var29 = var13_upvw.TextBuffer
var16_upvw = var29.Lower
var12_upvw = true
end
local module_upvr = {}
function module_upvr.setCameraModeToastEnabled(arg1) -- Line 157
--[[ Upvalues[4]:
[1]: var12_upvw (read and write)
[2]: initializeUI_upvr (readonly)
[3]: var13_upvw (read and write)
[4]: module_upvr (readonly)
]]
if not arg1 and not var12_upvw then
else
if not var12_upvw then
initializeUI_upvr()
end
var13_upvw.Visible = arg1
if not arg1 then
module_upvr.setCameraModeToastOpen(false)
end
end
end
local TweenService_upvr = game:GetService("TweenService")
local TweenInfo_new_result1_upvr = TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)
local udim2_upvr_2 = UDim2.new(0, 326, 0, 58)
function module_upvr.setCameraModeToastOpen(arg1) -- Line 175
--[[ Upvalues[9]:
[1]: var12_upvw (read and write)
[2]: TweenService_upvr (readonly)
[3]: var13_upvw (read and write)
[4]: TweenInfo_new_result1_upvr (readonly)
[5]: udim2_upvr_2 (readonly)
[6]: udim2_upvr (readonly)
[7]: var14_upvw (read and write)
[8]: var15_upvw (read and write)
[9]: var16_upvw (read and write)
]]
-- KONSTANTERROR: [0] 1. Error Block 32 start (CF ANALYSIS FAILED)
assert(var12_upvw)
local tbl_2 = {}
local var89
local function INLINED() -- Internal function, doesn't exist in bytecode
var89 = udim2_upvr_2
return var89
end
if not arg1 or not INLINED() then
var89 = udim2_upvr
end
tbl_2.Size = var89
if arg1 then
var89 = 0.4
else
var89 = 1
end
tbl_2.ImageTransparency = var89
TweenService_upvr:Create(var13_upvw, TweenInfo_new_result1_upvr, tbl_2):Play()
local tbl = {}
if arg1 then
var89 = 0
-- KONSTANTWARNING: GOTO [35] #31
end
-- KONSTANTERROR: [0] 1. Error Block 32 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [34] 30. Error Block 35 start (CF ANALYSIS FAILED)
var89 = 1
tbl.ImageTransparency = var89
TweenService_upvr:Create(var14_upvw, TweenInfo_new_result1_upvr, tbl):Play()
if arg1 then
var89 = 0
-- KONSTANTWARNING: GOTO [51] #44
end
-- KONSTANTERROR: [34] 30. Error Block 35 end (CF ANALYSIS FAILED)
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:08:59
-- Luau version 6, Types version 3
-- Time taken: 0.015580 seconds
local pcall_result1, pcall_result2 = pcall(function() -- Line 7
return UserSettings():IsUserFeatureEnabled("UserCameraInputRefactor2")
end)
local module_upvr = require(script.Parent:WaitForChild("BaseCamera"))
local setmetatable_result1_2_upvr = setmetatable({}, module_upvr)
setmetatable_result1_2_upvr.__index = setmetatable_result1_2_upvr
function setmetatable_result1_2_upvr.new() -- Line 26
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: setmetatable_result1_2_upvr (readonly)
]]
local setmetatable_result1 = setmetatable(module_upvr.new(), setmetatable_result1_2_upvr)
setmetatable_result1.cameraType = Enum.CameraType.Fixed
setmetatable_result1.lastUpdate = tick()
setmetatable_result1.lastDistanceToSubject = nil
return setmetatable_result1
end
function setmetatable_result1_2_upvr.GetModuleName(arg1) -- Line 36
return "LegacyCamera"
end
function setmetatable_result1_2_upvr.SetCameraToSubjectDistance(arg1, arg2) -- Line 41
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
return module_upvr.SetCameraToSubjectDistance(arg1, arg2)
end
local Players_upvr = game:GetService("Players")
local var8_upvw = pcall_result1 and pcall_result2
local module_upvr_2 = require(script.Parent:WaitForChild("CameraInput"))
local vector2_upvr = Vector2.new(0, 0)
local module_upvr_3 = require(script.Parent:WaitForChild("CameraUtils"))
function setmetatable_result1_2_upvr.Update(arg1, arg2) -- Line 45
--[[ Upvalues[5]:
[1]: Players_upvr (readonly)
[2]: var8_upvw (read and write)
[3]: module_upvr_2 (readonly)
[4]: vector2_upvr (readonly)
[5]: module_upvr_3 (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 81 start (CF ANALYSIS FAILED)
if not arg1.cameraType then return end
local tick_result1 = tick()
local CurrentCamera_2 = workspace.CurrentCamera
if arg1.lastUpdate == nil or 1 < tick_result1 - arg1.lastUpdate then
arg1.lastDistanceToSubject = nil
end
local any_GetSubjectPosition_result1_2 = arg1:GetSubjectPosition()
if arg1.cameraType == Enum.CameraType.Fixed then
if arg1.lastUpdate and not var8_upvw then
arg1.rotateInput += arg1:UpdateGamepad() * math.min(0.1, tick_result1 - arg1.lastUpdate)
end
if any_GetSubjectPosition_result1_2 and Players_upvr.LocalPlayer and CurrentCamera_2 then
local var26
if var8_upvw then
var26 = arg1:CalculateNewLookVectorFromArg(nil, module_upvr_2.getRotation())
else
var26 = arg1:CalculateNewLookVector()
arg1.rotateInput = vector2_upvr
end
-- KONSTANTWARNING: GOTO [300] #213
end
-- KONSTANTWARNING: GOTO [300] #213
end
-- KONSTANTERROR: [0] 1. Error Block 81 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [106] 73. Error Block 77 start (CF ANALYSIS FAILED)
if arg1.cameraType == Enum.CameraType.Attach then
if any_GetSubjectPosition_result1_2 and CurrentCamera_2 then
local any_GetHumanoid_result1 = arg1:GetHumanoid()
if arg1.lastUpdate and any_GetHumanoid_result1 and any_GetHumanoid_result1.RootPart and not var8_upvw then
arg1.rotateInput += arg1:UpdateGamepad() * math.min(0.1, tick_result1 - arg1.lastUpdate)
local any_GetAngleBetweenXZVectors_result1 = module_upvr_3.GetAngleBetweenXZVectors(any_GetHumanoid_result1.RootPart.CFrame.lookVector, arg1:GetCameraLookVector())
if module_upvr_3.IsFinite(any_GetAngleBetweenXZVectors_result1) then
arg1.rotateInput = Vector2.new(any_GetAngleBetweenXZVectors_result1, arg1.rotateInput.Y)
end
end
local var29
if var8_upvw then
var29 = arg1:CalculateNewLookVectorFromArg(nil, module_upvr_2.getRotation() * Vector2.new(0, 1))
else
var29 = arg1:CalculateNewLookVector()
arg1.rotateInput = vector2_upvr
end
-- KONSTANTWARNING: GOTO [300] #213
end
elseif arg1.cameraType == Enum.CameraType.Watch then
if any_GetSubjectPosition_result1_2 then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if Players_upvr.LocalPlayer and CurrentCamera_2 then
local var30
local any_GetHumanoid_result1_4 = arg1:GetHumanoid()
if any_GetHumanoid_result1_4 then
if any_GetHumanoid_result1_4.RootPart then
local var32 = any_GetSubjectPosition_result1_2 - CurrentCamera_2.CFrame.p
var30 = var32.unit
if arg1.lastDistanceToSubject and arg1.lastDistanceToSubject == arg1:GetCameraToSubjectDistance() then
arg1:SetCameraToSubjectDistance(var32.magnitude)
end
end
end
local var34
if var8_upvw then
var34 = arg1:CalculateNewLookVectorFromArg(var30, module_upvr_2.getRotation())
else
var34 = arg1:CalculateNewLookVector(var30)
arg1.rotateInput = vector2_upvr
end
arg1.lastDistanceToSubject = arg1:GetCameraToSubjectDistance()
-- KONSTANTWARNING: GOTO [300] #213
end
-- KONSTANTWARNING: GOTO [300] #213
end
else
var30 = CurrentCamera_2.CFrame
return var30, CurrentCamera_2.Focus
end
-- KONSTANTERROR: [106] 73. Error Block 77 end (CF ANALYSIS FAILED)
end
return setmetatable_result1_2_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:02
-- Luau version 6, Types version 3
-- Time taken: 0.028292 seconds
local tbl_upvr_2 = {
LIMBS = 2;
MOVEMENT = 3;
CORNERS = 4;
CIRCLE1 = 5;
CIRCLE2 = 6;
LIMBMOVE = 7;
SMART_CIRCLE = 8;
CHAR_OUTLINE = 9;
}
local tbl_upvr_3 = {
Head = true;
["Left Arm"] = true;
["Right Arm"] = true;
["Left Leg"] = true;
["Right Leg"] = true;
LeftLowerArm = true;
RightLowerArm = true;
LeftUpperLeg = true;
RightUpperLeg = true;
}
local tbl_4_upvr = {Vector3.new(1, 1, -1), Vector3.new(1, -1, -1), Vector3.new(-1, -1, -1), Vector3.new(-1, 1, -1)}
local function AssertTypes_upvr(arg1, ...) -- Line 58, Named "AssertTypes"
local tbl_2 = {}
local var13
for _, v in pairs({...}) do
tbl_2[v] = true
local var14
if var13 == "" then
var14 = ""
else
var14 = " or "
end
var13 = var13..var14..v
end
local type_result1 = type(arg1)
assert(tbl_2[type_result1], var13.." type expected, got: "..type_result1)
end
local function _(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) -- Line 70, Named "Det3x3"
return arg1 * (arg5 * arg9 - arg6 * arg8) - arg2 * (arg4 * arg9 - arg6 * arg7) + arg3 * (arg4 * arg8 - arg5 * arg7)
end
local function RayIntersection_upvr(arg1, arg2, arg3, arg4) -- Line 78, Named "RayIntersection"
local any_Cross_result1 = arg2:Cross(arg4)
local var17 = arg3.x - arg1.x
local var18 = arg3.y - arg1.y
local var19 = arg3.z - arg1.z
local y_2 = arg2.y
local var21 = -arg4.y
local y = any_Cross_result1.y
local z = arg2.z
local var24 = -arg4.z
local z_3 = any_Cross_result1.z
local var26 = arg2.x * (var21 * z_3 - y * var24) - -arg4.x * (y_2 * z_3 - y * z) + any_Cross_result1.x * (y_2 * var24 - var21 * z)
if var26 == 0 then
return Vector3.new(0, 0, 0)
end
local var27 = -arg4.y
local y_4 = any_Cross_result1.y
local var29 = -arg4.z
local z_5 = any_Cross_result1.z
local y_3 = arg2.y
local y_5 = any_Cross_result1.y
local z_2 = arg2.z
local z_4 = any_Cross_result1.z
local var35 = arg1 + (var17 * (var27 * z_5 - y_4 * var29) - -arg4.x * (var18 * z_5 - y_4 * var19) + any_Cross_result1.x * (var18 * var29 - var27 * var19)) / var26 * arg2
local var36 = arg3 + (arg2.x * (var18 * z_4 - y_5 * var19) - var17 * (y_3 * z_4 - y_5 * z_2) + any_Cross_result1.x * (y_3 * var19 - var18 * z_2)) / var26 * arg4
if (var36 - var35).Magnitude < 0.25 then
return var35 + 0.5 * (var36 - var35)
end
return Vector3.new(0, 0, 0)
end
local module_upvr = require(script.Parent:WaitForChild("BaseOcclusion"))
local setmetatable_result1_upvr = setmetatable({}, module_upvr)
setmetatable_result1_upvr.__index = setmetatable_result1_upvr
function setmetatable_result1_upvr.new() -- Line 111
--[[ Upvalues[3]:
[1]: module_upvr (readonly)
[2]: setmetatable_result1_upvr (readonly)
[3]: tbl_upvr_2 (readonly)
]]
local setmetatable_result1 = setmetatable(module_upvr.new(), setmetatable_result1_upvr)
setmetatable_result1.char = nil
setmetatable_result1.humanoidRootPart = nil
setmetatable_result1.torsoPart = nil
setmetatable_result1.headPart = nil
setmetatable_result1.childAddedConn = nil
setmetatable_result1.childRemovedConn = nil
setmetatable_result1.behaviors = {}
setmetatable_result1.behaviors[tbl_upvr_2.LIMBS] = setmetatable_result1.LimbBehavior
setmetatable_result1.behaviors[tbl_upvr_2.MOVEMENT] = setmetatable_result1.MoveBehavior
setmetatable_result1.behaviors[tbl_upvr_2.CORNERS] = setmetatable_result1.CornerBehavior
setmetatable_result1.behaviors[tbl_upvr_2.CIRCLE1] = setmetatable_result1.CircleBehavior
setmetatable_result1.behaviors[tbl_upvr_2.CIRCLE2] = setmetatable_result1.CircleBehavior
setmetatable_result1.behaviors[tbl_upvr_2.LIMBMOVE] = setmetatable_result1.LimbMoveBehavior
setmetatable_result1.behaviors[tbl_upvr_2.SMART_CIRCLE] = setmetatable_result1.SmartCircleBehavior
setmetatable_result1.behaviors[tbl_upvr_2.CHAR_OUTLINE] = setmetatable_result1.CharacterOutlineBehavior
setmetatable_result1.mode = tbl_upvr_2.SMART_CIRCLE
setmetatable_result1.behaviorFunction = setmetatable_result1.SmartCircleBehavior
setmetatable_result1.savedHits = {}
setmetatable_result1.trackedLimbs = {}
setmetatable_result1.camera = game.Workspace.CurrentCamera
setmetatable_result1.enabled = false
return setmetatable_result1
end
function setmetatable_result1_upvr.Enable(arg1, arg2) -- Line 144
arg1.enabled = arg2
if not arg2 then
arg1:Cleanup()
end
end
function setmetatable_result1_upvr.GetOcclusionMode(arg1) -- Line 152
return Enum.DevCameraOcclusionMode.Invisicam
end
function setmetatable_result1_upvr.LimbBehavior(arg1, arg2) -- Line 157
for i_2, _ in pairs(arg1.trackedLimbs) do
arg2[#arg2 + 1] = i_2.Position
end
end
function setmetatable_result1_upvr.MoveBehavior(arg1, arg2) -- Line 163
for i_3 = 1, 3 do
local Velocity = arg1.humanoidRootPart.Velocity
arg2[#arg2 + 1] = arg1.humanoidRootPart.Position + ((i_3 - 1) * arg1.humanoidRootPart.CFrame.lookVector) * (Vector3.new(Velocity.X, 0, Velocity.Z).Magnitude / 2)
end
end
function setmetatable_result1_upvr.CornerBehavior(arg1, arg2) -- Line 172
--[[ Upvalues[1]:
[1]: tbl_4_upvr (readonly)
]]
local CFrame = arg1.humanoidRootPart.CFrame
local p = CFrame.p
local var51 = CFrame - p
local var52 = arg1.char:GetExtentsSize() / 2
arg2[#arg2 + 1] = p
for i_4 = 1, #tbl_4_upvr do
arg2[#arg2 + 1] = p + (var51) * (var52 * tbl_4_upvr[i_4])
end
end
function setmetatable_result1_upvr.CircleBehavior(arg1, arg2) -- Line 183
--[[ Upvalues[1]:
[1]: tbl_upvr_2 (readonly)
]]
local var55
if arg1.mode == tbl_upvr_2.CIRCLE1 then
var55 = arg1.humanoidRootPart.CFrame
else
local CoordinateFrame = arg1.camera.CoordinateFrame
var55 = CoordinateFrame - CoordinateFrame.p + arg1.humanoidRootPart.Position
end
arg2[#arg2 + 1] = var55.p
for i_5 = 0, 9 do
local var57 = 0.6283185307179586 * i_5
arg2[#arg2 + 1] = (var55) * (3 * Vector3.new(math.cos(var57), math.sin(var57), 0))
end
end
function setmetatable_result1_upvr.LimbMoveBehavior(arg1, arg2) -- Line 199
arg1:LimbBehavior(arg2)
arg1:MoveBehavior(arg2)
end
function setmetatable_result1_upvr.CharacterOutlineBehavior(arg1, arg2) -- Line 204
local unit = arg1.torsoPart.CFrame.upVector.unit
local unit_2 = arg1.torsoPart.CFrame.rightVector.unit
arg2[#arg2 + 1] = arg1.torsoPart.CFrame.p
arg2[#arg2 + 1] = arg1.torsoPart.CFrame.p + unit
arg2[#arg2 + 1] = arg1.torsoPart.CFrame.p - unit
arg2[#arg2 + 1] = arg1.torsoPart.CFrame.p + unit_2
arg2[#arg2 + 1] = arg1.torsoPart.CFrame.p - unit_2
local var62
if arg1.headPart then
var62 = #arg2
var62 = arg1.headPart.CFrame.p
arg2[var62 + 1] = var62
end
var62 = Vector3.new(0, 0, 0)
local function INLINED() -- Internal function, doesn't exist in bytecode
var62 = arg1.torsoPart.Position
return var62
end
if not arg1.torsoPart or not INLINED() then
var62 = arg1.humanoidRootPart.Position
end
local tbl_3 = {arg1.torsoPart}
if arg1.headPart then
tbl_3[#tbl_3 + 1] = arg1.headPart
end
for i_6 = 1, 24 do
local var64 = (-math.pi*2) * i_6 / 24
local var65 = (CFrame.new(var62, Vector3.new(arg1.camera.CoordinateFrame.lookVector.X, 0, arg1.camera.CoordinateFrame.lookVector.Z))) * (3 * Vector3.new(math.cos(var64), math.sin(var64), 0))
local vector3 = Vector3.new(var65.X, math.max(var65.Y, -2.25), var65.Z)
local any_FindPartOnRayWithWhitelist_result1, any_FindPartOnRayWithWhitelist_result2 = game.Workspace:FindPartOnRayWithWhitelist(Ray.new(var62 + vector3, -3 * vector3), tbl_3, false, false)
if any_FindPartOnRayWithWhitelist_result1 then
arg2[#arg2 + 1] = any_FindPartOnRayWithWhitelist_result2 + 0.2 * (var62 - any_FindPartOnRayWithWhitelist_result2).unit
end
end
end
function setmetatable_result1_upvr.SmartCircleBehavior(arg1, arg2) -- Line 243
--[[ Upvalues[1]:
[1]: RayIntersection_upvr (readonly)
]]
local unit_5 = arg1.torsoPart.CFrame.upVector.unit
local unit_3 = arg1.torsoPart.CFrame.rightVector.unit
arg2[#arg2 + 1] = arg1.torsoPart.CFrame.p
arg2[#arg2 + 1] = arg1.torsoPart.CFrame.p + unit_5
arg2[#arg2 + 1] = arg1.torsoPart.CFrame.p - unit_5
arg2[#arg2 + 1] = arg1.torsoPart.CFrame.p + unit_3
arg2[#arg2 + 1] = arg1.torsoPart.CFrame.p - unit_3
local var73
if arg1.headPart then
var73 = arg1.headPart
arg2[#arg2 + 1] = var73.CFrame.p
end
var73 = arg1.camera.CFrame
local function INLINED_2() -- Internal function, doesn't exist in bytecode
var73 = arg1.torsoPart.Position
return var73
end
if not arg1.torsoPart or not INLINED_2() then
var73 = arg1.humanoidRootPart.Position
end
local var74 = Vector3.new(0, 0.5, 0) + var73
var73 = 1
for i_7 = 1, 24, var73 do
local var75 = 0.2617993877991494 * i_7 - (math.pi/2)
local var76 = var74 + (arg1.camera.CFrame - var73.p) * (2.5 * Vector3.new(math.cos(var75), math.sin(var75), 0))
local var77 = var76 - arg1.camera.CFrame.p
local tbl_9 = {arg1.char}
local any_FindPartOnRayWithIgnoreList_result1_3, any_FindPartOnRayWithIgnoreList_result2_2, any_FindPartOnRayWithIgnoreList_result3_2 = game.Workspace:FindPartOnRayWithIgnoreList(Ray.new(var74, var76 - var74), tbl_9, false, false)
tbl_9 = var76
local var82 = tbl_9
if any_FindPartOnRayWithIgnoreList_result1_3 then
local var83 = any_FindPartOnRayWithIgnoreList_result2_2 + 0.1 * any_FindPartOnRayWithIgnoreList_result3_2.unit
local var84 = var83 - var74
local unit_4 = var84:Cross(var77).unit:Cross(any_FindPartOnRayWithIgnoreList_result3_2).unit
if var84.unit:Dot(-unit_4) < var84.unit:Dot((var83 - arg1.camera.CFrame.p).unit) then
var82 = RayIntersection_upvr(var83, unit_4, var76, var77)
if 0 < var82.Magnitude then
local any_FindPartOnRayWithIgnoreList_result1, any_FindPartOnRayWithIgnoreList_result2_3, any_FindPartOnRayWithIgnoreList_result3 = game.Workspace:FindPartOnRayWithIgnoreList(Ray.new(var83, var82 - var83), {arg1.char}, false, false)
if any_FindPartOnRayWithIgnoreList_result1 then
var82 = any_FindPartOnRayWithIgnoreList_result2_3 + 0.1 * any_FindPartOnRayWithIgnoreList_result3.unit
-- KONSTANTWARNING: GOTO [243] #170
end
else
var82 = var83
end
else
var82 = var83
end
local any_FindPartOnRayWithIgnoreList_result1_2, any_FindPartOnRayWithIgnoreList_result2, _ = game.Workspace:FindPartOnRayWithIgnoreList(Ray.new(var74, var82 - var74), {arg1.char}, false, false)
if any_FindPartOnRayWithIgnoreList_result1_2 then
var82 = any_FindPartOnRayWithIgnoreList_result2 - 0.1 * (var82 - var74).unit
end
end
arg2[#arg2 + 1] = var82
end
end
function setmetatable_result1_upvr.CheckTorsoReference(arg1) -- Line 328
if arg1.char then
arg1.torsoPart = arg1.char:FindFirstChild("Torso")
if not arg1.torsoPart then
arg1.torsoPart = arg1.char:FindFirstChild("UpperTorso")
if not arg1.torsoPart then
arg1.torsoPart = arg1.char:FindFirstChild("HumanoidRootPart")
end
end
arg1.headPart = arg1.char:FindFirstChild("Head")
end
end
local Players_upvr = game:GetService("Players")
function setmetatable_result1_upvr.CharacterAdded(arg1, arg2, arg3) -- Line 342
--[[ Upvalues[2]:
[1]: Players_upvr (readonly)
[2]: tbl_upvr_3 (readonly)
]]
if arg3 ~= Players_upvr.LocalPlayer then
else
if arg1.childAddedConn then
arg1.childAddedConn:Disconnect()
arg1.childAddedConn = nil
end
if arg1.childRemovedConn then
arg1.childRemovedConn:Disconnect()
arg1.childRemovedConn = nil
end
arg1.char = arg2
arg1.trackedLimbs = {}
arg1.childAddedConn = arg2.ChildAdded:Connect(function(arg1_2) -- Line 358, Named "childAdded"
--[[ Upvalues[2]:
[1]: tbl_upvr_3 (copied, readonly)
[2]: arg1 (readonly)
]]
if arg1_2:IsA("BasePart") then
if tbl_upvr_3[arg1_2.Name] then
arg1.trackedLimbs[arg1_2] = true
end
if arg1_2.Name == "Torso" or arg1_2.Name == "UpperTorso" then
arg1.torsoPart = arg1_2
end
if arg1_2.Name == "Head" then
arg1.headPart = arg1_2
end
end
end)
arg1.childRemovedConn = arg2.ChildRemoved:Connect(function(arg1_3) -- Line 374, Named "childRemoved"
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1.trackedLimbs[arg1_3] = nil
arg1:CheckTorsoReference()
end)
for _, v_5 in pairs(arg1.char:GetChildren()) do
if v_5:IsA("BasePart") then
if tbl_upvr_3[v_5.Name] then
arg1.trackedLimbs[v_5] = true
end
if v_5.Name == "Torso" or v_5.Name == "UpperTorso" then
arg1.torsoPart = v_5
end
if v_5.Name == "Head" then
arg1.headPart = v_5
end
end
end
end
end
function setmetatable_result1_upvr.SetMode(arg1, arg2) -- Line 388
--[[ Upvalues[2]:
[1]: AssertTypes_upvr (readonly)
[2]: tbl_upvr_2 (readonly)
]]
AssertTypes_upvr(arg2, "number")
for _, v_3 in pairs(tbl_upvr_2) do
if v_3 == arg2 then
arg1.mode = arg2
arg1.behaviorFunction = arg1.behaviors[arg1.mode]
return
end
end
error("Invalid mode number")
end
function setmetatable_result1_upvr.GetObscuredParts(arg1) -- Line 400
return arg1.savedHits
end
function setmetatable_result1_upvr.Cleanup(arg1) -- Line 405
for i_9, v_4 in pairs(arg1.savedHits) do
i_9.LocalTransparencyModifier = v_4
end
end
function setmetatable_result1_upvr.Update(arg1, arg2, arg3, arg4) -- Line 411
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 100 start (CF ANALYSIS FAILED)
local var124
if not arg1.enabled or not arg1.char then
return arg3, arg4
end
arg1.camera = game.Workspace.CurrentCamera
if not arg1.humanoidRootPart then
local class_Humanoid = arg1.char:FindFirstChildOfClass("Humanoid")
if class_Humanoid and class_Humanoid.RootPart then
arg1.humanoidRootPart = class_Humanoid.RootPart
else
arg1.humanoidRootPart = arg1.char:FindFirstChild("HumanoidRootPart")
if not arg1.humanoidRootPart then
return arg3, arg4
end
end
local var127_upvw
var127_upvw = arg1.humanoidRootPart.AncestryChanged:Connect(function(arg1_6, arg2_3) -- Line 436
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: var127_upvw (read and write)
]]
if arg1_6 == arg1.humanoidRootPart and not arg2_3 then
arg1.humanoidRootPart = nil
if var127_upvw then
if var127_upvw.Connected then
var127_upvw:Disconnect()
var127_upvw = nil
end
end
end
end)
end
if not arg1.torsoPart then
arg1:CheckTorsoReference()
if not arg1.torsoPart then
return arg3, arg4
end
end
local tbl_5 = {}
arg1.behaviorFunction(arg1, tbl_5)
local tbl_8_upvr = {}
local function _(arg1_7) -- Line 462, Named "add"
--[[ Upvalues[2]:
[1]: tbl_8_upvr (readonly)
[2]: arg1 (readonly)
]]
tbl_8_upvr[arg1_7] = true
if not arg1.savedHits[arg1_7] then
arg1.savedHits[arg1_7] = arg1_7.LocalTransparencyModifier
end
end
local function INLINED_4() -- Internal function, doesn't exist in bytecode
var124 = arg1.headPart.CFrame.p
return var124
end
if not arg1.headPart or not INLINED_4() then
var124 = tbl_5[1]
end
if not arg1.torsoPart or not arg1.torsoPart.CFrame.p then
end
-- KONSTANTERROR: [0] 1. Error Block 100 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [131] 91. Error Block 25 start (CF ANALYSIS FAILED)
local var134 = arg1.camera:GetPartsObscuringTarget({var124, tbl_5[2]}, {arg1.char})[1]
;({})[var134] = true
local _, _, _ = pairs(var134:GetChildren())
-- KONSTANTERROR: [131] 91. Error Block 25 end (CF ANALYSIS FAILED)
end
return setmetatable_result1_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:04
-- Luau version 6, Types version 3
-- Time taken: 0.113441 seconds
local vector2_3_upvr = Vector2.new(0, 0)
local vector2_5_upvr = Vector2.new(0.006283185307179587, 0.00471238898038469)
local pcall_result1_4, pcall_result2_6 = pcall(function() -- Line 58
return UserSettings():IsUserFeatureEnabled("UserCameraToggle")
end)
local var6_upvw = pcall_result1_4 and pcall_result2_6
local pcall_result1_3, pcall_result2_2 = pcall(function() -- Line 65
return UserSettings():IsUserFeatureEnabled("UserDontAdjustSensitvityForPortrait")
end)
local module_upvr_2 = require(script.Parent:WaitForChild("CameraUtils"))
local module_upvr_6 = require(script.Parent:WaitForChild("CameraInput"))
local UserInputService_upvr = game:GetService("UserInputService")
local StarterGui_upvr = game:GetService("StarterGui")
local ContextActionService_upvr = game:GetService("ContextActionService")
local VRService_upvr = game:GetService("VRService")
local UserGameSettings_upvr = UserSettings():GetService("UserGameSettings")
local LocalPlayer_upvr = game:GetService("Players").LocalPlayer
local module_upvr = {}
module_upvr.__index = module_upvr
function module_upvr.new() -- Line 92
--[[ Upvalues[4]:
[1]: module_upvr (readonly)
[2]: vector2_3_upvr (readonly)
[3]: LocalPlayer_upvr (readonly)
[4]: UserGameSettings_upvr (readonly)
]]
local setmetatable_result1_upvr = setmetatable({}, module_upvr)
setmetatable_result1_upvr.FIRST_PERSON_DISTANCE_THRESHOLD = 1
setmetatable_result1_upvr.cameraType = nil
setmetatable_result1_upvr.cameraMovementMode = nil
setmetatable_result1_upvr.lastCameraTransform = nil
setmetatable_result1_upvr.rotateInput = vector2_3_upvr
setmetatable_result1_upvr.userPanningCamera = false
setmetatable_result1_upvr.lastUserPanCamera = tick()
setmetatable_result1_upvr.humanoidRootPart = nil
setmetatable_result1_upvr.humanoidCache = {}
setmetatable_result1_upvr.lastSubject = nil
setmetatable_result1_upvr.lastSubjectPosition = Vector3.new(0, 5, 0)
setmetatable_result1_upvr.defaultSubjectDistance = math.clamp(12.5, LocalPlayer_upvr.CameraMinZoomDistance, LocalPlayer_upvr.CameraMaxZoomDistance)
setmetatable_result1_upvr.currentSubjectDistance = math.clamp(12.5, LocalPlayer_upvr.CameraMinZoomDistance, LocalPlayer_upvr.CameraMaxZoomDistance)
setmetatable_result1_upvr.inFirstPerson = false
setmetatable_result1_upvr.inMouseLockedMode = false
setmetatable_result1_upvr.portraitMode = false
setmetatable_result1_upvr.isSmallTouchScreen = false
setmetatable_result1_upvr.resetCameraAngle = true
setmetatable_result1_upvr.enabled = false
setmetatable_result1_upvr.inputBeganConn = nil
setmetatable_result1_upvr.inputChangedConn = nil
setmetatable_result1_upvr.inputEndedConn = nil
setmetatable_result1_upvr.startPos = nil
setmetatable_result1_upvr.lastPos = nil
setmetatable_result1_upvr.panBeginLook = nil
setmetatable_result1_upvr.panEnabled = true
setmetatable_result1_upvr.keyPanEnabled = true
setmetatable_result1_upvr.distanceChangeEnabled = true
setmetatable_result1_upvr.PlayerGui = nil
setmetatable_result1_upvr.cameraChangedConn = nil
setmetatable_result1_upvr.viewportSizeChangedConn = nil
setmetatable_result1_upvr.boundContextActions = {}
setmetatable_result1_upvr.shouldUseVRRotation = false
setmetatable_result1_upvr.VRRotationIntensityAvailable = false
setmetatable_result1_upvr.lastVRRotationIntensityCheckTime = 0
setmetatable_result1_upvr.lastVRRotationTime = 0
setmetatable_result1_upvr.vrRotateKeyCooldown = {}
setmetatable_result1_upvr.cameraTranslationConstraints = Vector3.new(1, 1, 1)
setmetatable_result1_upvr.humanoidJumpOrigin = nil
setmetatable_result1_upvr.trackingHumanoid = nil
setmetatable_result1_upvr.cameraFrozen = false
setmetatable_result1_upvr.subjectStateChangedConn = nil
setmetatable_result1_upvr.activeGamepad = nil
setmetatable_result1_upvr.gamepadPanningCamera = false
setmetatable_result1_upvr.lastThumbstickRotate = nil
setmetatable_result1_upvr.numOfSeconds = 0.7
setmetatable_result1_upvr.currentSpeed = 0
setmetatable_result1_upvr.maxSpeed = 6
setmetatable_result1_upvr.vrMaxSpeed = 4
setmetatable_result1_upvr.lastThumbstickPos = Vector2.new(0, 0)
setmetatable_result1_upvr.ySensitivity = 0.65
setmetatable_result1_upvr.lastVelocity = nil
setmetatable_result1_upvr.gamepadConnectedConn = nil
setmetatable_result1_upvr.gamepadDisconnectedConn = nil
setmetatable_result1_upvr.currentZoomSpeed = 1
setmetatable_result1_upvr.L3ButtonDown = false
setmetatable_result1_upvr.dpadLeftDown = false
setmetatable_result1_upvr.dpadRightDown = false
setmetatable_result1_upvr.isDynamicThumbstickEnabled = false
setmetatable_result1_upvr.fingerTouches = {}
setmetatable_result1_upvr.dynamicTouchInput = nil
setmetatable_result1_upvr.numUnsunkTouches = 0
setmetatable_result1_upvr.inputStartPositions = {}
setmetatable_result1_upvr.inputStartTimes = {}
setmetatable_result1_upvr.startingDiff = nil
setmetatable_result1_upvr.pinchBeginZoom = nil
setmetatable_result1_upvr.userPanningTheCamera = false
setmetatable_result1_upvr.touchActivateConn = nil
setmetatable_result1_upvr.mouseLockOffset = Vector3.new(0, 0, 0)
if LocalPlayer_upvr.Character then
setmetatable_result1_upvr:OnCharacterAdded(LocalPlayer_upvr.Character)
end
LocalPlayer_upvr.CharacterAdded:Connect(function(arg1) -- Line 203
--[[ Upvalues[1]:
[1]: setmetatable_result1_upvr (readonly)
]]
setmetatable_result1_upvr:OnCharacterAdded(arg1)
end)
if setmetatable_result1_upvr.cameraChangedConn then
setmetatable_result1_upvr.cameraChangedConn:Disconnect()
end
setmetatable_result1_upvr.cameraChangedConn = workspace:GetPropertyChangedSignal("CurrentCamera"):Connect(function() -- Line 208
--[[ Upvalues[1]:
[1]: setmetatable_result1_upvr (readonly)
]]
setmetatable_result1_upvr:OnCurrentCameraChanged()
end)
setmetatable_result1_upvr:OnCurrentCameraChanged()
if setmetatable_result1_upvr.playerCameraModeChangeConn then
setmetatable_result1_upvr.playerCameraModeChangeConn:Disconnect()
end
setmetatable_result1_upvr.playerCameraModeChangeConn = LocalPlayer_upvr:GetPropertyChangedSignal("CameraMode"):Connect(function() -- Line 214
--[[ Upvalues[1]:
[1]: setmetatable_result1_upvr (readonly)
]]
setmetatable_result1_upvr:OnPlayerCameraPropertyChange()
end)
if setmetatable_result1_upvr.minDistanceChangeConn then
setmetatable_result1_upvr.minDistanceChangeConn:Disconnect()
end
setmetatable_result1_upvr.minDistanceChangeConn = LocalPlayer_upvr:GetPropertyChangedSignal("CameraMinZoomDistance"):Connect(function() -- Line 219
--[[ Upvalues[1]:
[1]: setmetatable_result1_upvr (readonly)
]]
setmetatable_result1_upvr:OnPlayerCameraPropertyChange()
end)
if setmetatable_result1_upvr.maxDistanceChangeConn then
setmetatable_result1_upvr.maxDistanceChangeConn:Disconnect()
end
setmetatable_result1_upvr.maxDistanceChangeConn = LocalPlayer_upvr:GetPropertyChangedSignal("CameraMaxZoomDistance"):Connect(function() -- Line 224
--[[ Upvalues[1]:
[1]: setmetatable_result1_upvr (readonly)
]]
setmetatable_result1_upvr:OnPlayerCameraPropertyChange()
end)
if setmetatable_result1_upvr.playerDevTouchMoveModeChangeConn then
setmetatable_result1_upvr.playerDevTouchMoveModeChangeConn:Disconnect()
end
setmetatable_result1_upvr.playerDevTouchMoveModeChangeConn = LocalPlayer_upvr:GetPropertyChangedSignal("DevTouchMovementMode"):Connect(function() -- Line 229
--[[ Upvalues[1]:
[1]: setmetatable_result1_upvr (readonly)
]]
setmetatable_result1_upvr:OnDevTouchMovementModeChanged()
end)
setmetatable_result1_upvr:OnDevTouchMovementModeChanged()
if setmetatable_result1_upvr.gameSettingsTouchMoveMoveChangeConn then
setmetatable_result1_upvr.gameSettingsTouchMoveMoveChangeConn:Disconnect()
end
setmetatable_result1_upvr.gameSettingsTouchMoveMoveChangeConn = UserGameSettings_upvr:GetPropertyChangedSignal("TouchMovementMode"):Connect(function() -- Line 235
--[[ Upvalues[1]:
[1]: setmetatable_result1_upvr (readonly)
]]
setmetatable_result1_upvr:OnGameSettingsTouchMovementModeChanged()
end)
setmetatable_result1_upvr:OnGameSettingsTouchMovementModeChanged()
UserGameSettings_upvr:SetCameraYInvertVisible()
UserGameSettings_upvr:SetGamepadCameraSensitivityVisible()
setmetatable_result1_upvr.hasGameLoaded = game:IsLoaded()
if not setmetatable_result1_upvr.hasGameLoaded then
setmetatable_result1_upvr.gameLoadedConn = game.Loaded:Connect(function() -- Line 245
--[[ Upvalues[1]:
[1]: setmetatable_result1_upvr (readonly)
]]
setmetatable_result1_upvr.hasGameLoaded = true
setmetatable_result1_upvr.gameLoadedConn:Disconnect()
setmetatable_result1_upvr.gameLoadedConn = nil
end)
end
setmetatable_result1_upvr:OnPlayerCameraPropertyChange()
return setmetatable_result1_upvr
end
function module_upvr.GetModuleName(arg1) -- Line 257
return "BaseCamera"
end
function module_upvr.OnCharacterAdded(arg1, arg2) -- Line 261
--[[ Upvalues[2]:
[1]: UserInputService_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
local resetCameraAngle = arg1.resetCameraAngle
if not resetCameraAngle then
resetCameraAngle = arg1:GetEnabled()
end
arg1.resetCameraAngle = resetCameraAngle
arg1.humanoidRootPart = nil
if UserInputService_upvr.TouchEnabled then
arg1.PlayerGui = LocalPlayer_upvr:WaitForChild("PlayerGui")
for _, v in ipairs(arg2:GetChildren()) do
if v:IsA("Tool") then
arg1.isAToolEquipped = true
end
end
arg2.ChildAdded:Connect(function(arg1_2) -- Line 271
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_2:IsA("Tool") then
arg1.isAToolEquipped = true
end
end)
arg2.ChildRemoved:Connect(function(arg1_3) -- Line 276
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_3:IsA("Tool") then
arg1.isAToolEquipped = false
end
end)
end
end
function module_upvr.GetHumanoidRootPart(arg1) -- Line 284
--[[ Upvalues[1]:
[1]: LocalPlayer_upvr (readonly)
]]
if not arg1.humanoidRootPart then
if LocalPlayer_upvr.Character then
local class_Humanoid_2 = LocalPlayer_upvr.Character:FindFirstChildOfClass("Humanoid")
if class_Humanoid_2 then
arg1.humanoidRootPart = class_Humanoid_2.RootPart
end
end
end
return arg1.humanoidRootPart
end
function module_upvr.GetBodyPartToFollow(arg1, arg2, arg3) -- Line 296
if arg2:GetState() == Enum.HumanoidStateType.Dead then
local Parent = arg2.Parent
if Parent and Parent:IsA("Model") then
local Head_3 = Parent:FindFirstChild("Head")
if not Head_3 then
Head_3 = arg2.RootPart
end
return Head_3
end
end
return arg2.RootPart
end
function module_upvr.GetSubjectPosition(arg1) -- Line 308
--[[ Upvalues[1]:
[1]: VRService_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local CurrentCamera_7 = game.Workspace.CurrentCamera
local var53 = CurrentCamera_7
if var53 then
var53 = CurrentCamera_7.CameraSubject
end
if var53 then
if var53:IsA("Humanoid") then
local var54
if var53:GetState() ~= Enum.HumanoidStateType.Dead then
var54 = false
else
var54 = true
end
if VRService_upvr.VREnabled and var54 and var53 == arg1.lastSubject then
local _ = arg1.lastSubjectPosition
else
local var56
if var54 and var53.Parent and var53.Parent:IsA("Model") then
var56 = var53.Parent:FindFirstChild("Head") or var56
local var57 = var56
end
if var57 then
local var58
if var58 then
var58 = nil
if var53.RigType == Enum.HumanoidRigType.R15 then
if var53.AutomaticScalingEnabled then
var58 = Vector3.new(0, 1.5, 0)
if var57 == var53.RootPart then
var58 += Vector3.new(0, var53.RootPart.Size.Y / 2 - 1, 0)
-- KONSTANTWARNING: GOTO [101] #71
end
else
var58 = Vector3.new(0, 2, 0)
end
else
var58 = Vector3.new(0, 1.5, 0)
end
if var54 then
var58 = Vector3.new(0, 0, 0)
end
-- KONSTANTWARNING: GOTO [183] #130
end
-- KONSTANTWARNING: GOTO [183] #130
end
end
else
var58 = "VehicleSeat"
var54 = var53:IsA(var58)
if var54 then
var54 = Vector3.new(0, 5, 0)
local var59 = var54
var58 = VRService_upvr
var57 = var58.VREnabled
if var57 then
var59 = Vector3.new(0, 4, 0)
end
var58 = var53.CFrame
var57 = var58.p
var58 = var53.CFrame:vectorToWorldSpace(var59)
else
var58 = "SkateboardPlatform"
if var53:IsA(var58) then
var57 = var53.CFrame
var57 = Vector3.new(0, 5, 0)
else
var58 = "BasePart"
if var53:IsA(var58) then
else
var58 = "Model"
if var53:IsA(var58) then
if var53.PrimaryPart then
else
end
-- KONSTANTWARNING: GOTO [183] #130
end
end
end
end
end
else
return
end
arg1.lastSubject = var53
arg1.lastSubjectPosition = var53:GetModelCFrame().p
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return var53:GetModelCFrame().p
end
function module_upvr.UpdateDefaultSubjectDistance(arg1) -- Line 385
--[[ Upvalues[1]:
[1]: LocalPlayer_upvr (readonly)
]]
if arg1.portraitMode then
arg1.defaultSubjectDistance = math.clamp(25, LocalPlayer_upvr.CameraMinZoomDistance, LocalPlayer_upvr.CameraMaxZoomDistance)
else
arg1.defaultSubjectDistance = math.clamp(12.5, LocalPlayer_upvr.CameraMinZoomDistance, LocalPlayer_upvr.CameraMaxZoomDistance)
end
end
function module_upvr.OnViewportSizeChanged(arg1) -- Line 393
--[[ Upvalues[1]:
[1]: UserInputService_upvr (readonly)
]]
local game_2 = game
local ViewportSize = game_2.Workspace.CurrentCamera.ViewportSize
if ViewportSize.X >= ViewportSize.Y then
game_2 = false
else
game_2 = true
end
arg1.portraitMode = game_2
game_2 = UserInputService_upvr.TouchEnabled
if game_2 then
game_2 = true
if ViewportSize.Y >= 500 then
if ViewportSize.X >= 700 then
game_2 = false
else
game_2 = true
end
end
end
arg1.isSmallTouchScreen = game_2
game_2 = arg1:UpdateDefaultSubjectDistance
game_2()
end
function module_upvr.OnCurrentCameraChanged(arg1) -- Line 403
--[[ Upvalues[1]:
[1]: UserInputService_upvr (readonly)
]]
if UserInputService_upvr.TouchEnabled then
if arg1.viewportSizeChangedConn then
arg1.viewportSizeChangedConn:Disconnect()
arg1.viewportSizeChangedConn = nil
end
local CurrentCamera_3 = game.Workspace.CurrentCamera
if CurrentCamera_3 then
arg1:OnViewportSizeChanged()
arg1.viewportSizeChangedConn = CurrentCamera_3:GetPropertyChangedSignal("ViewportSize"):Connect(function() -- Line 414
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:OnViewportSizeChanged()
end)
end
end
if arg1.cameraSubjectChangedConn then
arg1.cameraSubjectChangedConn:Disconnect()
arg1.cameraSubjectChangedConn = nil
end
local CurrentCamera_4 = game.Workspace.CurrentCamera
if CurrentCamera_4 then
arg1.cameraSubjectChangedConn = CurrentCamera_4:GetPropertyChangedSignal("CameraSubject"):Connect(function() -- Line 428
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:OnNewCameraSubject()
end)
arg1:OnNewCameraSubject()
end
end
function module_upvr.OnDynamicThumbstickEnabled(arg1) -- Line 435
--[[ Upvalues[1]:
[1]: UserInputService_upvr (readonly)
]]
if UserInputService_upvr.TouchEnabled then
arg1.isDynamicThumbstickEnabled = true
end
end
function module_upvr.OnDynamicThumbstickDisabled(arg1) -- Line 441
arg1.isDynamicThumbstickEnabled = false
end
function module_upvr.OnGameSettingsTouchMovementModeChanged(arg1) -- Line 445
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: UserGameSettings_upvr (readonly)
]]
if LocalPlayer_upvr.DevTouchMovementMode == Enum.DevTouchMovementMode.UserChoice then
if UserGameSettings_upvr.TouchMovementMode == Enum.TouchMovementMode.DynamicThumbstick or UserGameSettings_upvr.TouchMovementMode == Enum.TouchMovementMode.Default then
arg1:OnDynamicThumbstickEnabled()
return
end
arg1:OnDynamicThumbstickDisabled()
end
end
function module_upvr.OnDevTouchMovementModeChanged(arg1) -- Line 456
--[[ Upvalues[1]:
[1]: LocalPlayer_upvr (readonly)
]]
if LocalPlayer_upvr.DevTouchMovementMode.Name == "DynamicThumbstick" then
arg1:OnDynamicThumbstickEnabled()
else
arg1:OnGameSettingsTouchMovementModeChanged()
end
end
function module_upvr.OnPlayerCameraPropertyChange(arg1) -- Line 464
arg1:SetCameraToSubjectDistance(arg1.currentSubjectDistance)
end
function module_upvr.GetCameraHeight(arg1) -- Line 469
--[[ Upvalues[1]:
[1]: VRService_upvr (readonly)
]]
if VRService_upvr.VREnabled and not arg1.inFirstPerson then
return 0.25881904510252074 * arg1.currentSubjectDistance
end
return 0
end
local var69_upvw = pcall_result1_3 and pcall_result2_2
function module_upvr.InputTranslationToCameraAngleChange(arg1, arg2, arg3) -- Line 476
--[[ Upvalues[1]:
[1]: var69_upvw (read and write)
]]
if not var69_upvw then
local CurrentCamera_5 = game.Workspace.CurrentCamera
if CurrentCamera_5 and 0 < CurrentCamera_5.ViewportSize.X and 0 < CurrentCamera_5.ViewportSize.Y then
if CurrentCamera_5.ViewportSize.X < CurrentCamera_5.ViewportSize.Y then
return arg2 * Vector2.new(arg3.Y, arg3.X)
end
end
end
return arg2 * arg3
end
function module_upvr.Enable(arg1, arg2) -- Line 487
--[[ Upvalues[1]:
[1]: LocalPlayer_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [9] 6. Error Block 3 start (CF ANALYSIS FAILED)
arg1:ConnectInputEvents()
arg1:BindContextActions()
-- KONSTANTERROR: [9] 6. Error Block 3 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [22] 14. Error Block 4 start (CF ANALYSIS FAILED)
arg1.currentSubjectDistance = 0.5
-- KONSTANTERROR: [22] 14. Error Block 4 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [32] 21. Error Block 6 start (CF ANALYSIS FAILED)
arg1:DisconnectInputEvents()
arg1:UnbindContextActions()
arg1:Cleanup()
-- KONSTANTERROR: [32] 21. Error Block 6 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [41] 27. Error Block 7 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [41] 27. Error Block 7 end (CF ANALYSIS FAILED)
end
function module_upvr.GetEnabled(arg1) -- Line 509
return arg1.enabled
end
function module_upvr.OnInputBegan(arg1, arg2, arg3) -- Line 513
if arg2.UserInputType == Enum.UserInputType.Touch then
arg1:OnTouchBegan(arg2, arg3)
else
if arg2.UserInputType == Enum.UserInputType.MouseButton2 then
arg1:OnMouse2Down(arg2, arg3)
return
end
if arg2.UserInputType == Enum.UserInputType.MouseButton3 then
arg1:OnMouse3Down(arg2, arg3)
end
end
end
function module_upvr.OnInputChanged(arg1, arg2, arg3) -- Line 523
if arg2.UserInputType == Enum.UserInputType.Touch then
arg1:OnTouchChanged(arg2, arg3)
elseif arg2.UserInputType == Enum.UserInputType.MouseMovement then
arg1:OnMouseMoved(arg2, arg3)
end
end
function module_upvr.OnInputEnded(arg1, arg2, arg3) -- Line 531
if arg2.UserInputType == Enum.UserInputType.Touch then
arg1:OnTouchEnded(arg2, arg3)
else
if arg2.UserInputType == Enum.UserInputType.MouseButton2 then
arg1:OnMouse2Up(arg2, arg3)
return
end
if arg2.UserInputType == Enum.UserInputType.MouseButton3 then
arg1:OnMouse3Up(arg2, arg3)
end
end
end
local abs_upvr = math.abs
function module_upvr.OnPointerAction(arg1, arg2, arg3, arg4, arg5) -- Line 541
--[[ Upvalues[3]:
[1]: UserGameSettings_upvr (readonly)
[2]: vector2_5_upvr (readonly)
[3]: abs_upvr (readonly)
]]
if arg5 then
else
if 0 < arg3.Magnitude then
arg1:SetCameraToSubjectDistance(arg1.currentSubjectDistance - (arg1.rotateInput + arg1:InputTranslationToCameraAngleChange(0.5 * arg3, vector2_5_upvr) * Vector2.new(1, UserGameSettings_upvr:GetCameraYInvertValue())).Y * 2500)
end
local currentSubjectDistance = arg1.currentSubjectDistance
local var73 = -(arg2 + arg4)
if 0 < abs_upvr(var73) then
local var74
if arg1.inFirstPerson and 0 < var73 then
var74 = 1
else
var74 = currentSubjectDistance + var73 * (1 + currentSubjectDistance * 0.5)
end
arg1:SetCameraToSubjectDistance(var74)
end
end
end
local GuiService_upvr = game:GetService("GuiService")
function module_upvr.ConnectInputEvents(arg1) -- Line 566
--[[ Upvalues[3]:
[1]: UserInputService_upvr (readonly)
[2]: GuiService_upvr (readonly)
[3]: var6_upvw (read and write)
]]
arg1.pointerActionConn = UserInputService_upvr.PointerAction:Connect(function(arg1_4, arg2, arg3, arg4) -- Line 567
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:OnPointerAction(arg1_4, arg2, arg3, arg4)
end)
arg1.inputBeganConn = UserInputService_upvr.InputBegan:Connect(function(arg1_5, arg2) -- Line 571
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:OnInputBegan(arg1_5, arg2)
end)
arg1.inputChangedConn = UserInputService_upvr.InputChanged:Connect(function(arg1_6, arg2) -- Line 575
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:OnInputChanged(arg1_6, arg2)
end)
arg1.inputEndedConn = UserInputService_upvr.InputEnded:Connect(function(arg1_7, arg2) -- Line 579
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:OnInputEnded(arg1_7, arg2)
end)
arg1.menuOpenedConn = GuiService_upvr.MenuOpened:connect(function() -- Line 583
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:ResetInputStates()
end)
arg1.gamepadConnectedConn = UserInputService_upvr.GamepadDisconnected:connect(function(arg1_8) -- Line 587
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1.activeGamepad ~= arg1_8 then
else
arg1.activeGamepad = nil
arg1:AssignActivateGamepad()
end
end)
arg1.gamepadDisconnectedConn = UserInputService_upvr.GamepadConnected:connect(function(arg1_9) -- Line 593
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1.activeGamepad == nil then
arg1:AssignActivateGamepad()
end
end)
arg1:AssignActivateGamepad()
if not var6_upvw then
arg1:UpdateMouseBehavior()
end
end
function module_upvr.BindContextActions(arg1) -- Line 605
arg1:BindGamepadInputActions()
arg1:BindKeyboardInputActions()
end
function module_upvr.AssignActivateGamepad(arg1) -- Line 610
--[[ Upvalues[1]:
[1]: UserInputService_upvr (readonly)
]]
local any_GetConnectedGamepads_result1 = UserInputService_upvr:GetConnectedGamepads()
if 0 < #any_GetConnectedGamepads_result1 then
for i_2 = 1, #any_GetConnectedGamepads_result1 do
if arg1.activeGamepad == nil then
arg1.activeGamepad = any_GetConnectedGamepads_result1[i_2]
elseif any_GetConnectedGamepads_result1[i_2].Value < arg1.activeGamepad.Value then
arg1.activeGamepad = any_GetConnectedGamepads_result1[i_2]
end
end
end
if arg1.activeGamepad == nil then
arg1.activeGamepad = Enum.UserInputType.Gamepad1
end
end
function module_upvr.DisconnectInputEvents(arg1) -- Line 627
if arg1.inputBeganConn then
arg1.inputBeganConn:Disconnect()
arg1.inputBeganConn = nil
end
if arg1.inputChangedConn then
arg1.inputChangedConn:Disconnect()
arg1.inputChangedConn = nil
end
if arg1.inputEndedConn then
arg1.inputEndedConn:Disconnect()
arg1.inputEndedConn = nil
end
end
function module_upvr.UnbindContextActions(arg1) -- Line 642
--[[ Upvalues[1]:
[1]: ContextActionService_upvr (readonly)
]]
for i_3 = 1, #arg1.boundContextActions do
ContextActionService_upvr:UnbindAction(arg1.boundContextActions[i_3])
end
arg1.boundContextActions = {}
end
function module_upvr.Cleanup(arg1) -- Line 649
--[[ Upvalues[1]:
[1]: UserInputService_upvr (readonly)
]]
if arg1.pointerActionConn then
arg1.pointerActionConn:Disconnect()
arg1.pointerActionConn = nil
end
if arg1.menuOpenedConn then
arg1.menuOpenedConn:Disconnect()
arg1.menuOpenedConn = nil
end
if arg1.mouseLockToggleConn then
arg1.mouseLockToggleConn:Disconnect()
arg1.mouseLockToggleConn = nil
end
if arg1.gamepadConnectedConn then
arg1.gamepadConnectedConn:Disconnect()
arg1.gamepadConnectedConn = nil
end
if arg1.gamepadDisconnectedConn then
arg1.gamepadDisconnectedConn:Disconnect()
arg1.gamepadDisconnectedConn = nil
end
if arg1.subjectStateChangedConn then
arg1.subjectStateChangedConn:Disconnect()
arg1.subjectStateChangedConn = nil
end
if arg1.viewportSizeChangedConn then
arg1.viewportSizeChangedConn:Disconnect()
arg1.viewportSizeChangedConn = nil
end
if arg1.touchActivateConn then
arg1.touchActivateConn:Disconnect()
arg1.touchActivateConn = nil
end
arg1.turningLeft = false
arg1.turningRight = false
arg1.lastCameraTransform = nil
arg1.lastSubjectCFrame = nil
arg1.userPanningTheCamera = false
arg1.rotateInput = Vector2.new()
arg1.gamepadPanningCamera = Vector2.new(0, 0)
arg1.startPos = nil
arg1.lastPos = nil
arg1.panBeginLook = nil
arg1.isRightMouseDown = false
arg1.isMiddleMouseDown = false
arg1.fingerTouches = {}
arg1.dynamicTouchInput = nil
arg1.numUnsunkTouches = 0
arg1.startingDiff = nil
arg1.pinchBeginZoom = nil
if UserInputService_upvr.MouseBehavior ~= Enum.MouseBehavior.LockCenter then
UserInputService_upvr.MouseBehavior = Enum.MouseBehavior.Default
end
end
function module_upvr.ResetInputStates(arg1) -- Line 712
--[[ Upvalues[1]:
[1]: UserInputService_upvr (readonly)
]]
arg1.isRightMouseDown = false
arg1.isMiddleMouseDown = false
arg1:OnMousePanButtonReleased()
if UserInputService_upvr.TouchEnabled then
for i_4 in pairs(arg1.fingerTouches) do
arg1.fingerTouches[i_4] = nil
end
arg1.dynamicTouchInput = nil
arg1.panBeginLook = nil
arg1.startPos = nil
arg1.lastPos = nil
arg1.userPanningTheCamera = false
arg1.startingDiff = nil
arg1.pinchBeginZoom = nil
arg1.numUnsunkTouches = 0
end
end
function module_upvr.GetGamepadPan(arg1, arg2, arg3, arg4) -- Line 735
--[[ Upvalues[1]:
[1]: vector2_3_upvr (readonly)
]]
if arg4.UserInputType == arg1.activeGamepad and arg4.KeyCode == Enum.KeyCode.Thumbstick2 then
if arg3 == Enum.UserInputState.Cancel then
arg1.gamepadPanningCamera = vector2_3_upvr
return
end
if 0.2 < Vector2.new(arg4.Position.X, -arg4.Position.Y).magnitude then
arg1.gamepadPanningCamera = Vector2.new(arg4.Position.X, -arg4.Position.Y)
else
arg1.gamepadPanningCamera = vector2_3_upvr
end
return Enum.ContextActionResult.Sink
end
return Enum.ContextActionResult.Pass
end
function module_upvr.DoKeyboardPanTurn(arg1, arg2, arg3, arg4) -- Line 764
--[[ Upvalues[1]:
[1]: VRService_upvr (readonly)
]]
if not arg1.hasGameLoaded then
if VRService_upvr.VREnabled then
return Enum.ContextActionResult.Pass
end
end
if arg3 == Enum.UserInputState.Cancel then
arg1.turningLeft = false
arg1.turningRight = false
return Enum.ContextActionResult.Sink
end
if arg1.panBeginLook == nil and arg1.keyPanEnabled then
local var90
if var90 == Enum.KeyCode.Left then
if arg3 ~= Enum.UserInputState.Begin then
var90 = false
else
var90 = true
end
arg1.turningLeft = var90
else
var90 = arg4.KeyCode
if var90 == Enum.KeyCode.Right then
if arg3 ~= Enum.UserInputState.Begin then
else
end
arg1.turningRight = true
end
end
return Enum.ContextActionResult.Sink
end
return Enum.ContextActionResult.Pass
end
function module_upvr.DoPanRotateCamera(arg1, arg2) -- Line 786
--[[ Upvalues[1]:
[1]: module_upvr_2 (readonly)
]]
local any_RotateVectorByAngleAndRound_result1 = module_upvr_2.RotateVectorByAngleAndRound(arg1:GetCameraLookVector() * Vector3.new(1, 0, 1), arg2, 0.7853981633974483)
if any_RotateVectorByAngleAndRound_result1 ~= 0 then
arg1.rotateInput += Vector2.new(any_RotateVectorByAngleAndRound_result1, 0)
arg1.lastUserPanCamera = tick()
arg1.lastCameraTransform = nil
end
end
function module_upvr.DoGamepadZoom(arg1, arg2, arg3, arg4) -- Line 795
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
if arg4.UserInputType == arg1.activeGamepad then
if arg4.KeyCode == Enum.KeyCode.ButtonR3 then
if arg3 == Enum.UserInputState.Begin and arg1.distanceChangeEnabled then
local any_GetCameraToSubjectDistance_result1 = arg1:GetCameraToSubjectDistance()
if 15 < any_GetCameraToSubjectDistance_result1 then
arg1:SetCameraToSubjectDistance(10)
elseif 5 < any_GetCameraToSubjectDistance_result1 then
arg1:SetCameraToSubjectDistance(0)
else
arg1:SetCameraToSubjectDistance(20)
end
-- KONSTANTWARNING: GOTO [72] #46
end
else
any_GetCameraToSubjectDistance_result1 = arg4.KeyCode
local var93
if var93 == Enum.KeyCode.DPadLeft then
if arg3 ~= Enum.UserInputState.Begin then
var93 = false
else
var93 = true
end
arg1.dpadLeftDown = var93
else
var93 = arg4.KeyCode
local var94 = var93
if var94 == Enum.KeyCode.DPadRight then
if arg3 ~= Enum.UserInputState.Begin then
else
end
arg1.dpadRightDown = true
end
end
end
if arg1.dpadLeftDown then
arg1.currentZoomSpeed = 1.04
elseif arg1.dpadRightDown then
arg1.currentZoomSpeed = 0.96
else
arg1.currentZoomSpeed = 1
end
return Enum.ContextActionResult.Sink
end
return Enum.ContextActionResult.Pass
end
function module_upvr.DoKeyboardZoom(arg1, arg2, arg3, arg4) -- Line 837
--[[ Upvalues[2]:
[1]: VRService_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not arg1.hasGameLoaded then
if VRService_upvr.VREnabled then
return Enum.ContextActionResult.Pass
end
end
if arg3 ~= Enum.UserInputState.Begin then
return Enum.ContextActionResult.Pass
end
if arg1.distanceChangeEnabled and LocalPlayer_upvr.CameraMode ~= Enum.CameraMode.LockFirstPerson then
if arg4.KeyCode == Enum.KeyCode.I then
arg1:SetCameraToSubjectDistance(arg1.currentSubjectDistance - 5)
elseif arg4.KeyCode == Enum.KeyCode.O then
arg1:SetCameraToSubjectDistance(arg1.currentSubjectDistance + 5)
end
return Enum.ContextActionResult.Sink
end
return Enum.ContextActionResult.Pass
end
local Value_upvr = Enum.ContextActionPriority.Default.Value
function module_upvr.BindAction(arg1, arg2, arg3, arg4, ...) -- Line 857
--[[ Upvalues[2]:
[1]: ContextActionService_upvr (readonly)
[2]: Value_upvr (readonly)
]]
table.insert(arg1.boundContextActions, arg2)
ContextActionService_upvr:BindActionAtPriority(arg2, arg3, arg4, Value_upvr, ...)
end
function module_upvr.BindGamepadInputActions(arg1) -- Line 863
arg1:BindAction("BaseCameraGamepadPan", function(arg1_10, arg2, arg3) -- Line 864
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
return arg1:GetGamepadPan(arg1_10, arg2, arg3)
end, false, Enum.KeyCode.Thumbstick2)
arg1:BindAction("BaseCameraGamepadZoom", function(arg1_11, arg2, arg3) -- Line 866
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
return arg1:DoGamepadZoom(arg1_11, arg2, arg3)
end, false, Enum.KeyCode.DPadLeft, Enum.KeyCode.DPadRight, Enum.KeyCode.ButtonR3)
end
function module_upvr.BindKeyboardInputActions(arg1) -- Line 870
arg1:BindAction("BaseCameraKeyboardPanArrowKeys", function(arg1_12, arg2, arg3) -- Line 871
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
return arg1:DoKeyboardPanTurn(arg1_12, arg2, arg3)
end, false, Enum.KeyCode.Left, Enum.KeyCode.Right)
arg1:BindAction("BaseCameraKeyboardZoom", function(arg1_13, arg2, arg3) -- Line 873
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
return arg1:DoKeyboardZoom(arg1_13, arg2, arg3)
end, false, Enum.KeyCode.I, Enum.KeyCode.O)
end
local function isInDynamicThumbstickArea_upvr(arg1) -- Line 877, Named "isInDynamicThumbstickArea"
--[[ Upvalues[1]:
[1]: LocalPlayer_upvr (readonly)
]]
local var101 = LocalPlayer_upvr:FindFirstChildOfClass("PlayerGui")
if var101 then
var101 = LocalPlayer_upvr:FindFirstChildOfClass("PlayerGui"):FindFirstChild("TouchGui")
end
local var102 = var101
if var102 then
var102 = var101:FindFirstChild("TouchControlFrame")
end
local var103 = var102
if var103 then
var103 = var102:FindFirstChild("DynamicThumbstickFrame")
end
if not var103 then
return false
end
local AbsolutePosition = var103.AbsolutePosition
local var105 = AbsolutePosition + var103.AbsoluteSize
if AbsolutePosition.X <= arg1.Position.X and AbsolutePosition.Y <= arg1.Position.Y and arg1.Position.X <= var105.X and arg1.Position.Y <= var105.Y then
return true
end
return false
end
function module_upvr.AdjustTouchSensitivity(arg1, arg2, arg3) -- Line 899
local CurrentCamera_6 = game.Workspace.CurrentCamera
if CurrentCamera_6 then
CurrentCamera_6 = game.Workspace.CurrentCamera.CFrame
end
if not CurrentCamera_6 then
return arg3
end
local any_ToEulerAnglesYXZ_result1 = CurrentCamera_6:ToEulerAnglesYXZ()
local var108
if 0.5235987755982988 < any_ToEulerAnglesYXZ_result1 and arg2.Y < 0 then
var108 = 2.1 - (1 - (1 - (any_ToEulerAnglesYXZ_result1 - 0.5235987755982988) / 0.8726646259971648) ^ 3) * 1.6
elseif any_ToEulerAnglesYXZ_result1 < -0.2617993877991494 and 0 < arg2.Y then
var108 = 2.1 - (1 - (1 - (any_ToEulerAnglesYXZ_result1 - -0.2617993877991494) / -1.1344640137963142) ^ 3) * 1.6
end
return Vector2.new(arg3.X, arg3.Y * var108)
end
function module_upvr.OnTouchBegan(arg1, arg2, arg3) -- Line 925
--[[ Upvalues[1]:
[1]: isInDynamicThumbstickArea_upvr (readonly)
]]
local isDynamicThumbstickEnabled = arg1.isDynamicThumbstickEnabled
if isDynamicThumbstickEnabled then
isDynamicThumbstickEnabled = not arg3
end
if isDynamicThumbstickEnabled then
if arg1.dynamicTouchInput == nil and isInDynamicThumbstickArea_upvr(arg2) then
arg1.dynamicTouchInput = arg2
return
end
arg1.fingerTouches[arg2] = arg3
arg1.inputStartPositions[arg2] = arg2.Position
arg1.inputStartTimes[arg2] = tick()
arg1.numUnsunkTouches += 1
end
end
local vector2_4_upvr = Vector2.new(0.029688050576423545, 0.010602875205865551)
function module_upvr.OnTouchChanged(arg1, arg2, arg3) -- Line 941
--[[ Upvalues[2]:
[1]: UserGameSettings_upvr (readonly)
[2]: vector2_4_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [9] 7. Error Block 4 start (CF ANALYSIS FAILED)
arg1.fingerTouches[arg2] = arg3
-- KONSTANTERROR: [9] 7. Error Block 4 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [13] 10. Error Block 5 start (CF ANALYSIS FAILED)
arg1.numUnsunkTouches += 1
-- KONSTANTERROR: [13] 10. Error Block 5 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [18] 13. Error Block 6 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [18] 13. Error Block 6 end (CF ANALYSIS FAILED)
end
function module_upvr.OnTouchEnded(arg1, arg2, arg3) -- Line 1002
if arg2 == arg1.dynamicTouchInput then
arg1.dynamicTouchInput = nil
else
if arg1.fingerTouches[arg2] == false then
if arg1.numUnsunkTouches == 1 then
arg1.panBeginLook = nil
arg1.startPos = nil
arg1.lastPos = nil
arg1.userPanningTheCamera = false
elseif arg1.numUnsunkTouches == 2 then
arg1.startingDiff = nil
arg1.pinchBeginZoom = nil
end
end
if arg1.fingerTouches[arg2] ~= nil and arg1.fingerTouches[arg2] == false then
arg1.numUnsunkTouches -= 1
end
arg1.fingerTouches[arg2] = nil
arg1.inputStartPositions[arg2] = nil
arg1.inputStartTimes[arg2] = nil
end
end
function module_upvr.OnMouse2Down(arg1, arg2, arg3) -- Line 1028
if arg3 then
else
arg1.isRightMouseDown = true
arg1:OnMousePanButtonPressed(arg2, arg3)
end
end
function module_upvr.OnMouse2Up(arg1, arg2, arg3) -- Line 1035
arg1.isRightMouseDown = false
arg1:OnMousePanButtonReleased(arg2, arg3)
end
function module_upvr.OnMouse3Down(arg1, arg2, arg3) -- Line 1040
if arg3 then
else
arg1.isMiddleMouseDown = true
arg1:OnMousePanButtonPressed(arg2, arg3)
end
end
function module_upvr.OnMouse3Up(arg1, arg2, arg3) -- Line 1047
arg1.isMiddleMouseDown = false
arg1:OnMousePanButtonReleased(arg2, arg3)
end
function module_upvr.OnMouseMoved(arg1, arg2, arg3) -- Line 1052
--[[ Upvalues[5]:
[1]: VRService_upvr (readonly)
[2]: UserGameSettings_upvr (readonly)
[3]: var6_upvw (read and write)
[4]: module_upvr_6 (readonly)
[5]: vector2_5_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var115
if not arg1.hasGameLoaded then
var115 = VRService_upvr
if var115.VREnabled then return end
end
local _ = arg2.Delta
var115 = Vector2.new(_.X, _.Y * UserGameSettings_upvr:GetCameraYInvertValue())
var115 = var6_upvw
if var115 then
var115 = module_upvr_6.getPanning()
end
local startPos = arg1.startPos
if startPos then
startPos = arg1.lastPos
if startPos then
startPos = arg1.panBeginLook
end
end
if not startPos then
if not arg1.inFirstPerson then
if not arg1.inMouseLockedMode then
end
end
end
if arg1.panEnabled and var115 then
arg1.rotateInput += arg1:InputTranslationToCameraAngleChange(var115, vector2_5_upvr)
end
if arg1.startPos and arg1.lastPos and arg1.panBeginLook then
arg1.lastPos += arg2.Delta
end
end
function module_upvr.OnMousePanButtonPressed(arg1, arg2, arg3) -- Line 1074
--[[ Upvalues[1]:
[1]: var6_upvw (read and write)
]]
if arg3 then
else
if not var6_upvw then
arg1:UpdateMouseBehavior()
end
local panBeginLook = arg1.panBeginLook
if not panBeginLook then
panBeginLook = arg1:GetCameraLookVector()
end
arg1.panBeginLook = panBeginLook
panBeginLook = arg1.startPos
local var119 = panBeginLook
if not var119 then
var119 = arg2.Position
end
arg1.startPos = var119
var119 = arg1.lastPos
local var120 = var119
if not var120 then
var120 = arg1.startPos
end
arg1.lastPos = var120
arg1.userPanningTheCamera = true
end
end
function module_upvr.OnMousePanButtonReleased(arg1, arg2, arg3) -- Line 1085
--[[ Upvalues[1]:
[1]: var6_upvw (read and write)
]]
if not var6_upvw then
arg1:UpdateMouseBehavior()
end
if not arg1.isRightMouseDown and not arg1.isMiddleMouseDown then
arg1.panBeginLook = nil
arg1.startPos = nil
arg1.lastPos = nil
arg1.userPanningTheCamera = false
end
end
local module_upvr_5 = require(script.Parent:WaitForChild("CameraUI"))
local module_upvr_4 = require(script.Parent:WaitForChild("CameraToggleStateController"))
function module_upvr.UpdateMouseBehavior(arg1) -- Line 1097
--[[ Upvalues[6]:
[1]: var6_upvw (read and write)
[2]: module_upvr_5 (readonly)
[3]: module_upvr_6 (readonly)
[4]: module_upvr_4 (readonly)
[5]: UserGameSettings_upvr (readonly)
[6]: UserInputService_upvr (readonly)
]]
if var6_upvw then
if arg1.isCameraToggle then
module_upvr_5.setCameraModeToastEnabled(true)
module_upvr_6.enableCameraToggleInput()
module_upvr_4(arg1.inFirstPerson)
return
end
end
if var6_upvw then
module_upvr_5.setCameraModeToastEnabled(false)
module_upvr_6.disableCameraToggleInput()
end
if arg1.inFirstPerson or arg1.inMouseLockedMode then
UserGameSettings_upvr.RotationType = Enum.RotationType.CameraRelative
UserInputService_upvr.MouseBehavior = Enum.MouseBehavior.LockCenter
else
UserGameSettings_upvr.RotationType = Enum.RotationType.MovementRelative
if arg1.isRightMouseDown or arg1.isMiddleMouseDown then
UserInputService_upvr.MouseBehavior = Enum.MouseBehavior.LockCurrentPosition
return
end
UserInputService_upvr.MouseBehavior = Enum.MouseBehavior.Default
end
end
function module_upvr.UpdateForDistancePropertyChange(arg1) -- Line 1122
arg1:SetCameraToSubjectDistance(arg1.currentSubjectDistance)
end
local module_upvr_3 = require(script.Parent:WaitForChild("ZoomController"))
function module_upvr.SetCameraToSubjectDistance(arg1, arg2) -- Line 1128
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: module_upvr_3 (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [9] 6. Error Block 16 start (CF ANALYSIS FAILED)
arg1.currentSubjectDistance = 0.5
if not arg1.inFirstPerson then
arg1:EnterFirstPerson()
-- KONSTANTWARNING: GOTO [52] #35
end
-- KONSTANTERROR: [9] 6. Error Block 16 end (CF ANALYSIS FAILED)
end
function module_upvr.SetCameraType(arg1, arg2) -- Line 1162
arg1.cameraType = arg2
end
function module_upvr.GetCameraType(arg1) -- Line 1167
return arg1.cameraType
end
function module_upvr.SetCameraMovementMode(arg1, arg2) -- Line 1172
arg1.cameraMovementMode = arg2
end
function module_upvr.GetCameraMovementMode(arg1) -- Line 1176
return arg1.cameraMovementMode
end
function module_upvr.SetIsMouseLocked(arg1, arg2) -- Line 1180
--[[ Upvalues[1]:
[1]: var6_upvw (read and write)
]]
arg1.inMouseLockedMode = arg2
if not var6_upvw then
arg1:UpdateMouseBehavior()
end
end
function module_upvr.GetIsMouseLocked(arg1) -- Line 1187
return arg1.inMouseLockedMode
end
function module_upvr.SetMouseLockOffset(arg1, arg2) -- Line 1191
arg1.mouseLockOffset = arg2
end
function module_upvr.GetMouseLockOffset(arg1) -- Line 1195
return arg1.mouseLockOffset
end
function module_upvr.InFirstPerson(arg1) -- Line 1199
return arg1.inFirstPerson
end
function module_upvr.EnterFirstPerson(arg1) -- Line 1203
end
function module_upvr.LeaveFirstPerson(arg1) -- Line 1207
end
function module_upvr.GetCameraToSubjectDistance(arg1) -- Line 1212
return arg1.currentSubjectDistance
end
function module_upvr.GetMeasuredDistanceToFocus(arg1) -- Line 1219
local CurrentCamera = game.Workspace.CurrentCamera
if CurrentCamera then
return (CurrentCamera.CoordinateFrame.p - CurrentCamera.Focus.p).magnitude
end
return nil
end
function module_upvr.GetCameraLookVector(arg1) -- Line 1227
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [7] 5. Error Block 6 start (CF ANALYSIS FAILED)
local lookVector = game.Workspace.CurrentCamera.CFrame.lookVector
if not lookVector then
-- KONSTANTERROR: [18] 11. Error Block 3 start (CF ANALYSIS FAILED)
lookVector = Vector3.new(0, 0, 1)
-- KONSTANTERROR: [18] 11. Error Block 3 end (CF ANALYSIS FAILED)
end
do
return lookVector
end
-- KONSTANTERROR: [7] 5. Error Block 6 end (CF ANALYSIS FAILED)
end
function module_upvr.CalculateNewLookCFrame(arg1, arg2) -- Line 1233
local var126 = arg2
if not var126 then
var126 = arg1:GetCameraLookVector()
end
local arcsine = math.asin(var126.y)
local vector2_7 = Vector2.new(arg1.rotateInput.x, math.clamp(arg1.rotateInput.y, arcsine + -1.3962634015954636, arcsine + 1.3962634015954636))
return CFrame.Angles(0, -vector2_7.x, 0) * CFrame.new(Vector3.new(0, 0, 0), var126) * CFrame.Angles(-vector2_7.y, 0, 0)
end
function module_upvr.CalculateNewLookVector(arg1, arg2) -- Line 1242
return arg1:CalculateNewLookCFrame(arg2).lookVector
end
function module_upvr.CalculateNewLookVectorVR(arg1) -- Line 1247
local vector2 = Vector2.new(arg1.rotateInput.x, 0)
return ((CFrame.Angles(0, -vector2.x, 0) * CFrame.new(Vector3.new(0, 0, 0), ((arg1:GetSubjectPosition() - game.Workspace.CurrentCamera.CFrame.p) * Vector3.new(1, 0, 1)).unit) * CFrame.Angles(-vector2.y, 0, 0)).lookVector * Vector3.new(1, 0, 1)).unit
end
function module_upvr.GetHumanoid(arg1) -- Line 1257
--[[ Upvalues[1]:
[1]: LocalPlayer_upvr (readonly)
]]
local var130 = LocalPlayer_upvr
if var130 then
var130 = LocalPlayer_upvr.Character
end
if var130 then
local var131 = arg1.humanoidCache[LocalPlayer_upvr]
if var131 and var131.Parent == var130 then
return var131
end
arg1.humanoidCache[LocalPlayer_upvr] = nil
local class_Humanoid = var130:FindFirstChildOfClass("Humanoid")
if class_Humanoid then
arg1.humanoidCache[LocalPlayer_upvr] = class_Humanoid
end
return class_Humanoid
end
return nil
end
function module_upvr.GetHumanoidPartToFollow(arg1, arg2, arg3) -- Line 1275
if arg3 == Enum.HumanoidStateType.Dead then
local Parent_2 = arg2.Parent
if Parent_2 then
local Head = Parent_2:FindFirstChild("Head")
if not Head then
Head = arg2.Torso
end
return Head
end
return arg2.Torso
end
return arg2.Torso
end
function module_upvr.UpdateGamepad(arg1) -- Line 1288
--[[ Upvalues[4]:
[1]: VRService_upvr (readonly)
[2]: module_upvr_2 (readonly)
[3]: vector2_3_upvr (readonly)
[4]: UserGameSettings_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local gamepadPanningCamera = arg1.gamepadPanningCamera
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [6] 5. Error Block 43 start (CF ANALYSIS FAILED)
if not VRService_upvr.VREnabled then
-- KONSTANTERROR: [10] 8. Error Block 42 start (CF ANALYSIS FAILED)
local any_GamepadLinearToCurve_result1_2 = module_upvr_2.GamepadLinearToCurve(gamepadPanningCamera)
local tick_result1_2 = tick()
if any_GamepadLinearToCurve_result1_2.X ~= 0 or any_GamepadLinearToCurve_result1_2.Y ~= 0 then
arg1.userPanningTheCamera = true
elseif any_GamepadLinearToCurve_result1_2 == vector2_3_upvr then
arg1.lastThumbstickRotate = nil
if arg1.lastThumbstickPos == vector2_3_upvr then
arg1.currentSpeed = 0
end
end
local var144 = 0
if arg1.lastThumbstickRotate then
if VRService_upvr.VREnabled then
arg1.currentSpeed = arg1.vrMaxSpeed
else
local var145 = (tick_result1_2 - arg1.lastThumbstickRotate) * 10
arg1.currentSpeed += (arg1.maxSpeed) * (var145 * var145 / arg1.numOfSeconds)
if arg1.maxSpeed < arg1.currentSpeed then
arg1.currentSpeed = arg1.maxSpeed
end
if arg1.lastVelocity then
local magnitude_2 = ((any_GamepadLinearToCurve_result1_2 - arg1.lastThumbstickPos) / (tick_result1_2 - arg1.lastThumbstickRotate) - arg1.lastVelocity).magnitude
if 12 < magnitude_2 then
arg1.currentSpeed *= 20 / magnitude_2
if arg1.maxSpeed < arg1.currentSpeed then
arg1.currentSpeed = arg1.maxSpeed
end
end
end
end
var144 = UserGameSettings_upvr.GamepadCameraSensitivity * arg1.currentSpeed
arg1.lastVelocity = (any_GamepadLinearToCurve_result1_2 - arg1.lastThumbstickPos) / (tick_result1_2 - arg1.lastThumbstickRotate)
end
arg1.lastThumbstickPos = any_GamepadLinearToCurve_result1_2
arg1.lastThumbstickRotate = tick_result1_2
do
return Vector2.new(any_GamepadLinearToCurve_result1_2.X * var144, any_GamepadLinearToCurve_result1_2.Y * var144 * arg1.ySensitivity * UserGameSettings_upvr:GetCameraYInvertValue())
end
-- KONSTANTERROR: [10] 8. Error Block 42 end (CF ANALYSIS FAILED)
end
-- KONSTANTERROR: [6] 5. Error Block 43 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [155] 102. Error Block 25 start (CF ANALYSIS FAILED)
do
return vector2_3_upvr
end
-- KONSTANTERROR: [155] 102. Error Block 25 end (CF ANALYSIS FAILED)
end
function module_upvr.ApplyVRTransform(arg1) -- Line 1339
--[[ Upvalues[1]:
[1]: VRService_upvr (readonly)
]]
local var147
if not VRService_upvr.VREnabled then
else
local humanoidRootPart = arg1.humanoidRootPart
if humanoidRootPart then
humanoidRootPart = arg1.humanoidRootPart
var147 = "RootJoint"
humanoidRootPart = humanoidRootPart:FindFirstChild(var147)
end
if not humanoidRootPart then return end
var147 = game.Workspace.CurrentCamera
var147 = var147.CameraSubject
if var147 then
var147 = var147.CameraSubject:IsA("VehicleSeat")
end
if arg1.inFirstPerson then
if not var147 then
local any_GetUserCFrame_result1 = VRService_upvr:GetUserCFrame(Enum.UserCFrame.Head)
humanoidRootPart.C0 = CFrame.new(any_GetUserCFrame_result1 - any_GetUserCFrame_result1.p:vectorToObjectSpace(any_GetUserCFrame_result1.p)) * CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
return
end
end
humanoidRootPart.C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
end
end
function module_upvr.IsInFirstPerson(arg1) -- Line 1362
return arg1.inFirstPerson
end
function module_upvr.ShouldUseVRRotation(arg1) -- Line 1366
--[[ Upvalues[2]:
[1]: VRService_upvr (readonly)
[2]: StarterGui_upvr (readonly)
]]
local var159
if not VRService_upvr.VREnabled then
return false
end
if not arg1.VRRotationIntensityAvailable then
var159 = arg1.lastVRRotationIntensityCheckTime
if tick() - var159 < 1 then
return false
end
end
local pcall_result1, pcall_result2_4 = pcall(function() -- Line 1375
--[[ Upvalues[1]:
[1]: StarterGui_upvr (copied, readonly)
]]
return StarterGui_upvr:GetCore("VRRotationIntensity")
end)
var159 = pcall_result1
if var159 then
if pcall_result2_4 == nil then
var159 = false
else
var159 = true
end
end
arg1.VRRotationIntensityAvailable = var159
arg1.lastVRRotationIntensityCheckTime = tick()
if pcall_result1 then
if pcall_result2_4 ~= nil then
if pcall_result2_4 == "Smooth" then
else
end
end
end
arg1.shouldUseVRRotation = true
return arg1.shouldUseVRRotation
end
function module_upvr.GetVRRotationInput(arg1) -- Line 1384
--[[ Upvalues[2]:
[1]: vector2_3_upvr (readonly)
[2]: StarterGui_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local pcall_result1_6, pcall_result2_3 = pcall(function() -- Line 1386
--[[ Upvalues[1]:
[1]: StarterGui_upvr (copied, readonly)
]]
return StarterGui_upvr:GetCore("VRRotationIntensity")
end)
local var166
if not pcall_result1_6 then return end
var166 = arg1.GamepadPanningCamera
if not var166 then
var166 = vector2_3_upvr
end
if arg1:GetRepeatDelayValue(pcall_result2_3) > tick() - arg1.lastVRRotationTime then
local _ = false
-- KONSTANTWARNING: Skipped task `defvar` above
else
end
local var168
if arg1:GetActivateValue() <= var168 then
local function INLINED() -- Internal function, doesn't exist in bytecode
var168 = arg1.vrRotateKeyCooldown[Enum.KeyCode.Thumbstick2]
return var168
end
if true or not INLINED() then
var168 = 1
if var166.x < 0 then
var168 = -1
end
arg1.vrRotateKeyCooldown[Enum.KeyCode.Thumbstick2] = true
-- KONSTANTWARNING: GOTO [82] #60
end
else
var168 = math.abs(var166.x)
if var168 < arg1:GetActivateValue() - 0.1 then
var168 = arg1.vrRotateKeyCooldown
var168[Enum.KeyCode.Thumbstick2] = nil
end
end
var168 = arg1.turningLeft
if var168 then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
local function INLINED_2() -- Internal function, doesn't exist in bytecode
var168 = arg1.vrRotateKeyCooldown[Enum.KeyCode.Left]
return var168
end
if true or not INLINED_2() then
var168 = arg1:GetRotateAmountValue(pcall_result2_3)
var168 = arg1.vrRotateKeyCooldown
var168[Enum.KeyCode.Left] = true
-- KONSTANTWARNING: GOTO [110] #80
end
else
var168 = arg1.vrRotateKeyCooldown
var168[Enum.KeyCode.Left] = nil
end
var168 = arg1.turningRight
if var168 then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
local function INLINED_3() -- Internal function, doesn't exist in bytecode
var168 = arg1.vrRotateKeyCooldown[Enum.KeyCode.Right]
return var168
end
if true or not INLINED_3() then
var168 = arg1:GetRotateAmountValue(pcall_result2_3)
local var169 = vector2_3_upvr + arg1:GetRotateAmountValue(pcall_result2_3) * var168 - var168 + var168
var168 = arg1.vrRotateKeyCooldown
var168[Enum.KeyCode.Right] = true
-- KONSTANTWARNING: GOTO [138] #100
end
else
var168 = arg1.vrRotateKeyCooldown
var168[Enum.KeyCode.Right] = nil
end
var168 = vector2_3_upvr
if var169 ~= var168 then
var168 = tick()
arg1.lastVRRotationTime = var168
end
return var169
end
function module_upvr.CancelCameraFreeze(arg1, arg2) -- Line 1431
if not arg2 then
arg1.cameraTranslationConstraints = Vector3.new(arg1.cameraTranslationConstraints.x, 1, arg1.cameraTranslationConstraints.z)
end
if arg1.cameraFrozen then
arg1.trackingHumanoid = nil
arg1.cameraFrozen = false
end
end
function module_upvr.StartCameraFreeze(arg1, arg2, arg3) -- Line 1441
if not arg1.cameraFrozen then
arg1.humanoidJumpOrigin = arg2
arg1.trackingHumanoid = arg3
arg1.cameraTranslationConstraints = Vector3.new(arg1.cameraTranslationConstraints.x, 0, arg1.cameraTranslationConstraints.z)
arg1.cameraFrozen = true
end
end
function module_upvr.OnNewCameraSubject(arg1) -- Line 1450
--[[ Upvalues[1]:
[1]: VRService_upvr (readonly)
]]
local var170_upvr
if var170_upvr then
var170_upvr = arg1.subjectStateChangedConn:Disconnect
var170_upvr()
var170_upvr = nil
arg1.subjectStateChangedConn = var170_upvr
end
var170_upvr = workspace.CurrentCamera
if var170_upvr then
var170_upvr = workspace.CurrentCamera.CameraSubject
end
if arg1.trackingHumanoid ~= var170_upvr then
arg1:CancelCameraFreeze()
end
if var170_upvr and var170_upvr:IsA("Humanoid") then
arg1.subjectStateChangedConn = var170_upvr.StateChanged:Connect(function(arg1_14, arg2) -- Line 1461
--[[ Upvalues[3]:
[1]: VRService_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: var170_upvr (readonly)
]]
if VRService_upvr.VREnabled and arg2 == Enum.HumanoidStateType.Jumping then
if not arg1.inFirstPerson then
arg1:StartCameraFreeze(arg1:GetSubjectPosition(), var170_upvr)
return
end
end
if arg2 ~= Enum.HumanoidStateType.Jumping and arg2 ~= Enum.HumanoidStateType.Freefall then
arg1:CancelCameraFreeze(true)
end
end)
end
end
function module_upvr.GetVRFocus(arg1, arg2, arg3) -- Line 1471
if not arg1.cameraFrozen then
arg1.cameraTranslationConstraints = Vector3.new(arg1.cameraTranslationConstraints.x, math.min(1, arg1.cameraTranslationConstraints.y + 0.42 * arg3), arg1.cameraTranslationConstraints.z)
end
local var172
if arg1.cameraFrozen and arg1.humanoidJumpOrigin and (arg1.LastCameraFocus or arg2).y < arg1.humanoidJumpOrigin.y then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
var172 = CFrame.new(Vector3.new(arg2.x, math.min(arg1.humanoidJumpOrigin.y, (arg1.LastCameraFocus or arg2).y + 5 * arg3), arg2.z))
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
var172 = CFrame.new(Vector3.new(arg2.x, (arg1.LastCameraFocus or arg2).y, arg2.z):lerp(arg2, arg1.cameraTranslationConstraints.y))
end
if arg1.cameraFrozen then
if arg1.inFirstPerson then
arg1:CancelCameraFreeze()
end
if arg1.humanoidJumpOrigin and arg2.y < arg1.humanoidJumpOrigin.y - 0.5 then
arg1:CancelCameraFreeze()
end
end
return var172
end
local vector2_2_upvr = Vector2.new(0.2617993877991494, 0)
local vector2_6_upvr = Vector2.new(0.7853981633974483, 0)
function module_upvr.GetRotateAmountValue(arg1, arg2) -- Line 1499
--[[ Upvalues[4]:
[1]: StarterGui_upvr (readonly)
[2]: vector2_2_upvr (readonly)
[3]: vector2_6_upvr (readonly)
[4]: vector2_3_upvr (readonly)
]]
local var175 = arg2
if not var175 then
var175 = StarterGui_upvr:GetCore("VRRotationIntensity")
end
local var176 = var175
if var176 then
if var176 == "Low" then
return vector2_2_upvr
end
if var176 == "High" then
return vector2_6_upvr
end
end
return vector2_3_upvr
end
function module_upvr.GetRepeatDelayValue(arg1, arg2) -- Line 1511
--[[ Upvalues[1]:
[1]: StarterGui_upvr (readonly)
]]
local var177 = arg2
if not var177 then
var177 = StarterGui_upvr:GetCore("VRRotationIntensity")
end
local var178 = var177
if var178 then
if var178 == "Low" then
return 0.1
end
if var178 == "High" then
return 0.4
end
end
return 0
end
function module_upvr.Update(arg1, arg2) -- Line 1523
error("BaseCamera:Update() This is a virtual function that should never be getting called.", 2)
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:06
-- Luau version 6, Types version 3
-- Time taken: 0.000410 seconds
require(script.Parent:WaitForChild("PlayerModule"))
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:08
-- Luau version 6, Types version 3
-- Time taken: 0.069444 seconds
local engine = require(game:GetService("ReplicatedStorage").engine)
local References_upvr = engine.References
local Services_upvr = engine.Services
local config_upvr = References_upvr.Main.config
local scoreboards_upvr = References_upvr.PlayerGui:WaitForChild("main", 100):WaitForChild("scoreboards", 100)
local module_upvr = {
tween = {
home = {};
away = {};
};
lastScores = {
home = {};
away = {};
};
}
function module_upvr.init(arg1) -- Line 28
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: config_upvr (readonly)
]]
module_upvr:updateType()
module_upvr:updateTeams()
module_upvr:updateTimer()
module_upvr:updatePenalties()
config_upvr.Scoreboard:GetPropertyChangedSignal("Value"):Connect(module_upvr.updateType)
config_upvr.Timer.Added.Enabled:GetPropertyChangedSignal("Value"):Connect(module_upvr.updateTimer)
config_upvr.Penalties.Enabled:GetPropertyChangedSignal("Value"):Connect(module_upvr.updatePenalties)
for _, v in next, {"Team", "Score", "Kit Type"} do
config_upvr.Stats.Home[v]:GetPropertyChangedSignal("Value"):Connect(module_upvr.updateTeams)
config_upvr.Stats.Away[v]:GetPropertyChangedSignal("Value"):Connect(module_upvr.updateTeams)
end
for _, v_2 in next, {"Minutes", "Seconds"} do
config_upvr.Timer[v_2]:GetPropertyChangedSignal("Value"):Connect(module_upvr.updateTimer)
config_upvr.Timer.Added[v_2]:GetPropertyChangedSignal("Value"):Connect(module_upvr.updateTimer)
end
for _, v_3 in next, {'1', '2', '3', '4', '5'} do
config_upvr.Penalties.Home[v_3]:GetPropertyChangedSignal("Value"):Connect(module_upvr.updatePenalties)
config_upvr.Penalties.Away[v_3]:GetPropertyChangedSignal("Value"):Connect(module_upvr.updatePenalties)
end
end
function module_upvr.numberToString(arg1, arg2) -- Line 54
if arg2 < 10 then
return '0'..tostring(arg2)
end
return tostring(arg2)
end
function module_upvr.updateType(arg1) -- Line 62
--[[ Upvalues[2]:
[1]: scoreboards_upvr (readonly)
[2]: config_upvr (readonly)
]]
for _, v_4 in next, scoreboards_upvr:GetChildren() do
if string.lower(v_4.Name) == string.lower(config_upvr.Scoreboard.Value) then
v_4.Visible = true
else
v_4.Visible = false
end
end
end
function module_upvr.updatePenalties(arg1) -- Line 72
--[[ Upvalues[3]:
[1]: scoreboards_upvr (readonly)
[2]: config_upvr (readonly)
[3]: Services_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local children_2, NONE = scoreboards_upvr:GetChildren()
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [724] 486. Error Block 66 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [724] 486. Error Block 66 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [7] 6. Error Block 403 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [724.6]
if nil then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if nil == "rf" then
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if nil == "epl" then
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if nil == "laliga" then
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if nil == "ucl" then
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if nil == "seriea" then
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if nil == "ligue1" then
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if nil == "bundesliga" then
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if nil == "aleague" then
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x2)
if nil == "uel" or nil == "uecl" then
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if nil == "wc" then
-- KONSTANTWARNING: GOTO [724] #486
end
end
end
end
end
end
end
end
end
end
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if nil == "rf" then
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if nil == "epl" then
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if nil == "laliga" then
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if nil == "ucl" then
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if nil == "seriea" then
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if nil == "ligue1" then
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if nil == "bundesliga" then
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if nil == "aleague" then
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x2)
if nil == "uel" or nil == "uecl" then
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if nil == "wc" then
end
end
end
end
end
end
end
end
end
end
end
-- KONSTANTERROR: [7] 6. Error Block 403 end (CF ANALYSIS FAILED)
end
function module_upvr.updateTimer(arg1) -- Line 290
--[[ Upvalues[4]:
[1]: scoreboards_upvr (readonly)
[2]: config_upvr (readonly)
[3]: Services_upvr (readonly)
[4]: module_upvr (readonly)
]]
for _, v_5_upvr in next, scoreboards_upvr:GetChildren() do
if v_5_upvr.Name == "rf" then
if config_upvr.Timer.Added.Enabled.Value then
task.spawn(function() -- Line 294
--[[ Upvalues[3]:
[1]: Services_upvr (copied, readonly)
[2]: v_5_upvr (readonly)
[3]: config_upvr (copied, readonly)
]]
Services_upvr.TweenService:Create(v_5_upvr.timer.label, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 1;
}):Play()
task.wait(0.2)
if config_upvr.Timer.Added.Enabled.Value then
Services_upvr.TweenService:Create(v_5_upvr.added.display.label, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 0;
}):Play()
Services_upvr.TweenService:Create(v_5_upvr.added.label, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 0;
}):Play()
end
end)
else
task.spawn(function() -- Line 303
--[[ Upvalues[3]:
[1]: Services_upvr (copied, readonly)
[2]: v_5_upvr (readonly)
[3]: config_upvr (copied, readonly)
]]
Services_upvr.TweenService:Create(v_5_upvr.added.display.label, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 1;
}):Play()
Services_upvr.TweenService:Create(v_5_upvr.added.label, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 1;
}):Play()
task.wait(0.2)
if not config_upvr.Timer.Added.Enabled.Value then
Services_upvr.TweenService:Create(v_5_upvr.timer.label, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 0;
}):Play()
end
end)
end
v_5_upvr.timer.label.Text = string.format("%s:%s", module_upvr:numberToString(config_upvr.Timer.Minutes.Value), module_upvr:numberToString(config_upvr.Timer.Seconds.Value))
v_5_upvr.added.label.Text = string.format("%s:%s", module_upvr:numberToString(config_upvr.Timer.Added.Minutes.Value), module_upvr:numberToString(config_upvr.Timer.Added.Seconds.Value))
v_5_upvr.added.display.label.Text = string.format("+%s", tostring(config_upvr.Timer.AddedTime.Value))
elseif v_5_upvr.Name == "epl" then
if config_upvr.Timer.Added.Enabled.Value then
Services_upvr.TweenService:Create(v_5_upvr.added, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Size = UDim2.new(0, 80, 0, 20);
}):Play()
else
Services_upvr.TweenService:Create(v_5_upvr.added, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Size = UDim2.new(0, 0, 0, 20);
}):Play()
end
v_5_upvr.timer.label.Text = string.format("%s:%s", module_upvr:numberToString(config_upvr.Timer.Minutes.Value), module_upvr:numberToString(config_upvr.Timer.Seconds.Value))
v_5_upvr.added.main.label.Text = string.format("%s:%s", module_upvr:numberToString(config_upvr.Timer.Added.Minutes.Value), module_upvr:numberToString(config_upvr.Timer.Added.Seconds.Value))
v_5_upvr.added.main.display.label.Text = string.format("+%s", tostring(config_upvr.Timer.AddedTime.Value))
elseif v_5_upvr.Name == "laliga" then
if config_upvr.Timer.Added.Enabled.Value then
Services_upvr.TweenService:Create(v_5_upvr.main.added, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Size = UDim2.new(0, 65, 0.25, 0);
}):Play()
Services_upvr.TweenService:Create(v_5_upvr.main.timer, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Size = UDim2.new(0, 65, 0.25, 0);
}):Play()
else
Services_upvr.TweenService:Create(v_5_upvr.main.added, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Size = UDim2.new(0, 65, 0, 0);
}):Play()
Services_upvr.TweenService:Create(v_5_upvr.main.timer, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Size = UDim2.new(0, 65, 0.5, 0);
}):Play()
end
v_5_upvr.main.timer.label.Text = string.format("%s:%s", module_upvr:numberToString(config_upvr.Timer.Minutes.Value), module_upvr:numberToString(config_upvr.Timer.Seconds.Value))
v_5_upvr.main.added.label.Text = string.format("%s:%s", module_upvr:numberToString(config_upvr.Timer.Added.Minutes.Value), module_upvr:numberToString(config_upvr.Timer.Added.Seconds.Value))
v_5_upvr.main.added.display.label.Text = string.format("+%s", tostring(config_upvr.Timer.AddedTime.Value))
elseif v_5_upvr.Name == "ucl" then
if config_upvr.Timer.Added.Enabled.Value then
Services_upvr.TweenService:Create(v_5_upvr.timer, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Size = UDim2.new(0, 0, 0, 25);
}):Play()
Services_upvr.TweenService:Create(v_5_upvr.timer.label, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 1;
}):Play()
Services_upvr.TweenService:Create(v_5_upvr.timer.logo.logo, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 1;
}):Play()
else
Services_upvr.TweenService:Create(v_5_upvr.timer, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Size = UDim2.new(0, 95, 0, 25);
}):Play()
Services_upvr.TweenService:Create(v_5_upvr.timer.label, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 0;
}):Play()
Services_upvr.TweenService:Create(v_5_upvr.timer.logo.logo, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 0;
}):Play()
end
v_5_upvr.timer.label.Text = string.format("%s:%s", module_upvr:numberToString(config_upvr.Timer.Minutes.Value), module_upvr:numberToString(config_upvr.Timer.Seconds.Value))
v_5_upvr.added.label.Text = string.format("%s:%s", module_upvr:numberToString(config_upvr.Timer.Added.Minutes.Value), module_upvr:numberToString(config_upvr.Timer.Added.Seconds.Value))
v_5_upvr.added.display.label.Text = string.format("+%s", tostring(config_upvr.Timer.AddedTime.Value))
elseif v_5_upvr.Name == "seriea" then
if config_upvr.Timer.Added.Enabled.Value then
Services_upvr.TweenService:Create(v_5_upvr.added, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Size = UDim2.new(0, 85, 0, 25);
}):Play()
else
Services_upvr.TweenService:Create(v_5_upvr.added, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Size = UDim2.new(0, 0, 0, 25);
}):Play()
end
v_5_upvr.timer.label.Text = string.format("%s:%s", module_upvr:numberToString(config_upvr.Timer.Minutes.Value), module_upvr:numberToString(config_upvr.Timer.Seconds.Value))
v_5_upvr.added.main.label.Text = string.format("%s:%s", module_upvr:numberToString(config_upvr.Timer.Added.Minutes.Value), module_upvr:numberToString(config_upvr.Timer.Added.Seconds.Value))
v_5_upvr.added.main.display.label.Text = string.format("+%s", tostring(config_upvr.Timer.AddedTime.Value))
elseif v_5_upvr.Name == "ligue1" then
if config_upvr.Timer.Added.Enabled.Value then
Services_upvr.TweenService:Create(v_5_upvr.added, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Size = UDim2.new(0, 85, 0, 25);
}):Play()
else
Services_upvr.TweenService:Create(v_5_upvr.added, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Size = UDim2.new(0, 0, 0, 25);
}):Play()
end
v_5_upvr.timer.label.Text = string.format("%s:%s", module_upvr:numberToString(config_upvr.Timer.Minutes.Value), module_upvr:numberToString(config_upvr.Timer.Seconds.Value))
v_5_upvr.added.main.label.Text = string.format("%s:%s", module_upvr:numberToString(config_upvr.Timer.Added.Minutes.Value), module_upvr:numberToString(config_upvr.Timer.Added.Seconds.Value))
v_5_upvr.added.main.display.label.Text = string.format("+%s", tostring(config_upvr.Timer.AddedTime.Value))
elseif v_5_upvr.Name == "bundesliga" then
if config_upvr.Timer.Added.Enabled.Value then
Services_upvr.TweenService:Create(v_5_upvr.added, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Size = UDim2.new(0, 95, 0, 25);
}):Play()
else
Services_upvr.TweenService:Create(v_5_upvr.added, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Size = UDim2.new(0, 0, 0, 25);
}):Play()
end
v_5_upvr.timer.label.Text = string.format("%s:%s", module_upvr:numberToString(config_upvr.Timer.Minutes.Value), module_upvr:numberToString(config_upvr.Timer.Seconds.Value))
v_5_upvr.added.main.label.Text = string.format("%s:%s", module_upvr:numberToString(config_upvr.Timer.Added.Minutes.Value), module_upvr:numberToString(config_upvr.Timer.Added.Seconds.Value))
v_5_upvr.added.main.display.label.Text = string.format("+%s", tostring(config_upvr.Timer.AddedTime.Value))
elseif v_5_upvr.Name == "aleague" then
if config_upvr.Timer.Added.Enabled.Value then
Services_upvr.TweenService:Create(v_5_upvr.added, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Size = UDim2.new(0, 85, 0, 25);
}):Play()
Services_upvr.TweenService:Create(v_5_upvr.timer.logo, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Position = UDim2.new(0, -25, 0.5, 0);
}):Play()
else
Services_upvr.TweenService:Create(v_5_upvr.added, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Size = UDim2.new(0, 0, 0, 25);
}):Play()
Services_upvr.TweenService:Create(v_5_upvr.timer.logo, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Position = UDim2.new(0, 0, 0.5, 0);
}):Play()
end
v_5_upvr.timer.label.Text = string.format("%s:%s", module_upvr:numberToString(config_upvr.Timer.Minutes.Value), module_upvr:numberToString(config_upvr.Timer.Seconds.Value))
v_5_upvr.added.main.label.Text = string.format("%s:%s", module_upvr:numberToString(config_upvr.Timer.Added.Minutes.Value), module_upvr:numberToString(config_upvr.Timer.Added.Seconds.Value))
v_5_upvr.added.main.display.label.Text = string.format("+%s", tostring(config_upvr.Timer.AddedTime.Value))
elseif v_5_upvr.Name == "uel" or v_5_upvr.Name == "uecl" then
if config_upvr.Timer.Added.Enabled.Value then
Services_upvr.TweenService:Create(v_5_upvr.added, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Size = UDim2.new(0, 95, 1, 0);
}):Play()
Services_upvr.TweenService:Create(v_5_upvr.timer.logo, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Position = UDim2.new(0, -28, 0, 0);
}):Play()
else
Services_upvr.TweenService:Create(v_5_upvr.added, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Size = UDim2.new(0, 0, 1, 0);
}):Play()
Services_upvr.TweenService:Create(v_5_upvr.timer.logo, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Position = UDim2.new(0, -3, 0, 0);
}):Play()
end
v_5_upvr.timer.label.Text = string.format("%s:%s", module_upvr:numberToString(config_upvr.Timer.Minutes.Value), module_upvr:numberToString(config_upvr.Timer.Seconds.Value))
v_5_upvr.added.main.label.Text = string.format("%s:%s", module_upvr:numberToString(config_upvr.Timer.Added.Minutes.Value), module_upvr:numberToString(config_upvr.Timer.Added.Seconds.Value))
v_5_upvr.added.main.display.label.Text = string.format("+%s", tostring(config_upvr.Timer.AddedTime.Value))
elseif v_5_upvr.Name == "wc" then
if config_upvr.Timer.Added.Enabled.Value then
Services_upvr.TweenService:Create(v_5_upvr.added.main, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Position = UDim2.new(0, 0, 0, 0);
}):Play()
else
Services_upvr.TweenService:Create(v_5_upvr.added.main, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Position = UDim2.new(0, 0, -1, 0);
}):Play()
end
v_5_upvr.timer.label.Text = string.format("%s:%s", module_upvr:numberToString(config_upvr.Timer.Minutes.Value), module_upvr:numberToString(config_upvr.Timer.Seconds.Value))
v_5_upvr.added.main.label.Text = string.format("%s:%s", module_upvr:numberToString(config_upvr.Timer.Added.Minutes.Value), module_upvr:numberToString(config_upvr.Timer.Added.Seconds.Value))
v_5_upvr.added.main.display.label.Text = string.format("+%s", tostring(config_upvr.Timer.AddedTime.Value))
end
end
end
local any_load_result1_upvr = engine:load("TeamService", "utils")
function module_upvr.updateTeams(arg1) -- Line 420
--[[ Upvalues[6]:
[1]: scoreboards_upvr (readonly)
[2]: References_upvr (readonly)
[3]: config_upvr (readonly)
[4]: any_load_result1_upvr (readonly)
[5]: Services_upvr (readonly)
[6]: module_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local children, NONE_2 = scoreboards_upvr:GetChildren()
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [1195] 718. Error Block 83 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [1197.5]
local var68_upvr
task.spawn(function() -- Line 519
--[[ Upvalues[3]:
[1]: module_upvr (copied, readonly)
[2]: var68_upvr (readonly)
[3]: config_upvr (copied, readonly)
]]
while module_upvr.tween.home[var68_upvr.Name] do
task.wait()
end
if not module_upvr.lastScores.home[var68_upvr.Name] or module_upvr.lastScores.home[var68_upvr.Name] ~= config_upvr.Stats.Home.Score.Value then
task.spawn(function() -- Line 525
--[[ Upvalues[3]:
[1]: module_upvr (copied, readonly)
[2]: var68_upvr (copied, readonly)
[3]: config_upvr (copied, readonly)
]]
module_upvr.tween.home[var68_upvr.Name] = true
module_upvr.lastScores.home[var68_upvr.Name] = config_upvr.Stats.Home.Score.Value
if var68_upvr.Name == "rf" then
var68_upvr.score.scores.home:TweenPosition(UDim2.new(0.25, 0, 1.5, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
task.wait(0.2)
var68_upvr.score.scores.home.Text = tostring(config_upvr.Stats.Home.Score.Value)
var68_upvr.score.scores.home:TweenPosition(UDim2.new(0.25, 0, 0.5, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
elseif var68_upvr.Name == "epl" then
var68_upvr.score.scores.home:TweenPosition(UDim2.new(0.5, 0, 0.5, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
var68_upvr.score.logo:TweenSize(UDim2.new(0, 50, 0, 50), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
task.wait(0.2)
var68_upvr.score.scores.home.Text = tostring(config_upvr.Stats.Home.Score.Value)
var68_upvr.score.logo:TweenSize(UDim2.new(0, 40, 0, 40), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
var68_upvr.score.scores.home:TweenPosition(UDim2.new(0.25, 0, 0.5, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
elseif var68_upvr.Name == "laliga" then
var68_upvr.main.score.home.score:TweenPosition(UDim2.new(0.5, 0, 1.5, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
task.wait(0.2)
var68_upvr.main.score.home.score.Text = tostring(config_upvr.Stats.Home.Score.Value)
var68_upvr.main.score.home.score:TweenPosition(UDim2.new(0.5, 0, 0.5, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
elseif var68_upvr.Name == "ucl" then
var68_upvr.score.scores.home:TweenPosition(UDim2.new(0.5, 0, 1, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
task.wait(0.2)
var68_upvr.score.scores.home.Text = tostring(config_upvr.Stats.Home.Score.Value)
var68_upvr.score.scores.home:TweenPosition(UDim2.new(0.5, 0, 0, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
elseif var68_upvr.Name == "seriea" then
var68_upvr.score.scores.home:TweenPosition(UDim2.new(0.5, 0, 1, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
task.wait(0.2)
var68_upvr.score.scores.home.Text = tostring(config_upvr.Stats.Home.Score.Value)
var68_upvr.score.scores.home:TweenPosition(UDim2.new(0.5, 0, 0, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
elseif var68_upvr.Name == "ligue1" then
var68_upvr.score.home.score:TweenPosition(UDim2.new(0, 0, 1, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
task.wait(0.2)
var68_upvr.score.home.score.Text = tostring(config_upvr.Stats.Home.Score.Value)
var68_upvr.score.home.score:TweenPosition(UDim2.new(0, 0, 0, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
elseif var68_upvr.Name == "bundesliga" then
var68_upvr.score.home.score:TweenPosition(UDim2.new(0, 0, 1, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
task.wait(0.2)
var68_upvr.score.home.score.Text = tostring(config_upvr.Stats.Home.Score.Value)
var68_upvr.score.home.score:TweenPosition(UDim2.new(0, 0, 0, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
elseif var68_upvr.Name == "aleague" then
var68_upvr.score.scores.home:TweenPosition(UDim2.new(0.4, 0, 1, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
task.wait(0.2)
var68_upvr.score.scores.home.Text = tostring(config_upvr.Stats.Home.Score.Value)
var68_upvr.score.scores.home:TweenPosition(UDim2.new(0.4, 0, 0, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
elseif var68_upvr.Name == "uel" or var68_upvr.Name == "uecl" then
var68_upvr.score.scores.home:TweenPosition(UDim2.new(0.4, 0, 1, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
task.wait(0.2)
var68_upvr.score.scores.home.Text = tostring(config_upvr.Stats.Home.Score.Value)
var68_upvr.score.scores.home:TweenPosition(UDim2.new(0.4, 0, 0, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
elseif var68_upvr.Name == "wc" then
var68_upvr.score.scores.home:TweenPosition(UDim2.new(0.4, -5, 1, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
task.wait(0.2)
var68_upvr.score.scores.home.Text = tostring(config_upvr.Stats.Home.Score.Value)
var68_upvr.score.scores.home:TweenPosition(UDim2.new(0.4, -5, 0, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
end
module_upvr.tween.home[var68_upvr.Name] = nil
end)
end
end)
task.spawn(function() -- Line 599
--[[ Upvalues[3]:
[1]: module_upvr (copied, readonly)
[2]: var68_upvr (readonly)
[3]: config_upvr (copied, readonly)
]]
while module_upvr.tween.away[var68_upvr.Name] do
task.wait()
end
if not module_upvr.lastScores.away[var68_upvr.Name] or module_upvr.lastScores.away[var68_upvr.Name] ~= config_upvr.Stats.Away.Score.Value then
task.spawn(function() -- Line 605
--[[ Upvalues[3]:
[1]: module_upvr (copied, readonly)
[2]: var68_upvr (copied, readonly)
[3]: config_upvr (copied, readonly)
]]
module_upvr.tween.away[var68_upvr.Name] = true
module_upvr.lastScores.away[var68_upvr.Name] = config_upvr.Stats.Away.Score.Value
if var68_upvr.Name == "rf" then
var68_upvr.score.scores.away:TweenPosition(UDim2.new(0.75, 0, 1.5, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
task.wait(0.2)
var68_upvr.score.scores.away.Text = tostring(config_upvr.Stats.Away.Score.Value)
var68_upvr.score.scores.away:TweenPosition(UDim2.new(0.75, 0, 0.5, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
elseif var68_upvr.Name == "epl" then
var68_upvr.score.scores.away:TweenPosition(UDim2.new(0.5, 0, 0.5, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
var68_upvr.score.logo:TweenSize(UDim2.new(0, 50, 0, 50), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
task.wait(0.2)
var68_upvr.score.scores.away.Text = tostring(config_upvr.Stats.Away.Score.Value)
var68_upvr.score.logo:TweenSize(UDim2.new(0, 40, 0, 40), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
var68_upvr.score.scores.away:TweenPosition(UDim2.new(0.75, 0, 0.5, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
elseif var68_upvr.Name == "laliga" then
var68_upvr.main.score.away.score:TweenPosition(UDim2.new(0.5, 0, -1.5, -4), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
task.wait(0.2)
var68_upvr.main.score.away.score.Text = tostring(config_upvr.Stats.Away.Score.Value)
var68_upvr.main.score.away.score:TweenPosition(UDim2.new(0.5, 0, 0.5, -4), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
elseif var68_upvr.Name == "ucl" then
var68_upvr.score.scores.away:TweenPosition(UDim2.new(0.5, 1, 1, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
task.wait(0.2)
var68_upvr.score.scores.away.Text = tostring(config_upvr.Stats.Away.Score.Value)
var68_upvr.score.scores.away:TweenPosition(UDim2.new(0.5, 1, 0, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
elseif var68_upvr.Name == "seriea" then
var68_upvr.score.scores.away:TweenPosition(UDim2.new(0.5, 1, 1, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
task.wait(0.2)
var68_upvr.score.scores.away.Text = tostring(config_upvr.Stats.Away.Score.Value)
var68_upvr.score.scores.away:TweenPosition(UDim2.new(0.5, 1, 0, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
elseif var68_upvr.Name == "ligue1" then
var68_upvr.score.away.score:TweenPosition(UDim2.new(0, 0, 1, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
task.wait(0.2)
var68_upvr.score.away.score.Text = tostring(config_upvr.Stats.Away.Score.Value)
var68_upvr.score.away.score:TweenPosition(UDim2.new(0, 0, 0, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
elseif var68_upvr.Name == "bundesliga" then
var68_upvr.score.away.score:TweenPosition(UDim2.new(0, 0, 1, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
task.wait(0.2)
var68_upvr.score.away.score.Text = tostring(config_upvr.Stats.Away.Score.Value)
var68_upvr.score.away.score:TweenPosition(UDim2.new(0, 0, 0, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
elseif var68_upvr.Name == "aleague" then
var68_upvr.score.scores.away:TweenPosition(UDim2.new(0.6, -1, 1, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
task.wait(0.2)
var68_upvr.score.scores.away.Text = tostring(config_upvr.Stats.Away.Score.Value)
var68_upvr.score.scores.away:TweenPosition(UDim2.new(0.6, -1, 0, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
elseif var68_upvr.Name == "uel" or var68_upvr.Name == "uecl" then
var68_upvr.score.scores.away:TweenPosition(UDim2.new(0.6, -1, 1, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
task.wait(0.2)
var68_upvr.score.scores.away.Text = tostring(config_upvr.Stats.Away.Score.Value)
var68_upvr.score.scores.away:TweenPosition(UDim2.new(0.6, -1, 0, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
elseif var68_upvr.Name == "wc" then
var68_upvr.score.scores.away:TweenPosition(UDim2.new(0.6, 4, 1, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
task.wait(0.2)
var68_upvr.score.scores.away.Text = tostring(config_upvr.Stats.Away.Score.Value)
var68_upvr.score.scores.away:TweenPosition(UDim2.new(0.6, 4, 0, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
end
module_upvr.tween.away[var68_upvr.Name] = nil
end)
end
end)
-- KONSTANTERROR: [1195] 718. Error Block 83 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [7] 6. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [7] 6. Error Block 2 end (CF ANALYSIS FAILED)
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:09
-- Luau version 6, Types version 3
-- Time taken: 0.002072 seconds
local engine = require(game:GetService("ReplicatedStorage").engine)
local module = {}
local PlayerGui_upvr = engine.References.PlayerGui
local Services_upvr = engine.Services
local any_load_result1_upvr = engine:load("DraggableObject", "utils")
function module.init(arg1) -- Line 15
--[[ Upvalues[3]:
[1]: PlayerGui_upvr (readonly)
[2]: Services_upvr (readonly)
[3]: any_load_result1_upvr (readonly)
]]
for _, v in next, PlayerGui_upvr:GetDescendants() do
if v and v:GetAttribute("draggable") and not Services_upvr.UserInputService.TouchEnabled and not Services_upvr.UserInputService.GamepadEnabled then
if Services_upvr.UserInputService.TouchEnabled then
v.Active = true
v.Selectable = true
end
any_load_result1_upvr.new(v):Enable()
end
end
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:10
-- Luau version 6, Types version 3
-- Time taken: 0.009156 seconds
local engine = require(game:GetService("ReplicatedStorage").engine)
local References_upvr = engine.References
while not engine.Classes.Sessions:GetAttribute("init") do
task.wait()
end
local config_upvr = References_upvr.Main.config
local balls_upvr_2 = References_upvr.PlayerGui:WaitForChild("main", 100):WaitForChild("balls", 100)
local module = {
toggled = false;
init = function(arg1) -- Line 31, Named "init"
--[[ Upvalues[2]:
[1]: config_upvr (readonly)
[2]: balls_upvr_2 (readonly)
]]
config_upvr.Ball.Changed:Connect(function() -- Line 32
--[[ Upvalues[2]:
[1]: balls_upvr_2 (copied, readonly)
[2]: config_upvr (copied, readonly)
]]
for _, v in next, balls_upvr_2.scroll.main:GetChildren() do
if v and v:FindFirstChild("main") and v.main:FindFirstChild("selected") and v.Name == config_upvr.Ball.Value then
v.main.selected.Visible = true
elseif v and v:FindFirstChild("main") and v.main:FindFirstChild("selected") and v.Name ~= config_upvr.Ball.Value then
v.main.selected.Visible = false
end
end
end)
script:GetAttributeChangedSignal("toggle"):Connect(function() -- Line 42
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if script:GetAttribute("toggle") then
script:SetAttribute("toggle", false)
arg1:toggle(true)
end
end)
end;
}
local any_new_result1_upvr_2 = engine:load("Maid").new()
local any_new_result1_upvr_3 = engine:load("Janitor").new()
local Services_upvr = engine.Services
local balls_upvr = References_upvr.Main:WaitForChild("balls", 100)
local any_load_result1_upvr = engine:load("Viewport")
local any_new_result1_upvr = engine:load("Network").new()
local any_load_result1_upvr_2 = engine:load("Sessions")
function module.toggle(arg1, arg2) -- Line 50
--[[ Upvalues[10]:
[1]: balls_upvr_2 (readonly)
[2]: any_new_result1_upvr_2 (readonly)
[3]: any_new_result1_upvr_3 (readonly)
[4]: Services_upvr (readonly)
[5]: balls_upvr (readonly)
[6]: References_upvr (readonly)
[7]: config_upvr (readonly)
[8]: any_load_result1_upvr (readonly)
[9]: any_new_result1_upvr (readonly)
[10]: any_load_result1_upvr_2 (readonly)
]]
if arg2 then
arg1.toggled = true
balls_upvr_2.Visible = true
any_new_result1_upvr_2:DoCleaning()
any_new_result1_upvr_3:clean(balls_upvr_2.scroll.main:GetChildren(), "UIGridLayout")
Services_upvr.TweenService:Create(balls_upvr_2, TweenInfo.new(0.2, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {
GroupTransparency = 0;
Position = UDim2.new(0.5, 0, 0.5, 0);
}):Play()
Services_upvr.TweenService:Create(balls_upvr_2.UIStroke, TweenInfo.new(0.2, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {
Transparency = 0;
}):Play()
task.spawn(function() -- Line 61
--[[ Upvalues[9]:
[1]: balls_upvr (copied, readonly)
[2]: References_upvr (copied, readonly)
[3]: balls_upvr_2 (copied, readonly)
[4]: Services_upvr (copied, readonly)
[5]: config_upvr (copied, readonly)
[6]: any_load_result1_upvr (copied, readonly)
[7]: any_new_result1_upvr_2 (copied, readonly)
[8]: any_new_result1_upvr (copied, readonly)
[9]: any_load_result1_upvr_2 (copied, readonly)
]]
for _, v_2_upvr in next, balls_upvr:GetChildren() do
local clone_upvr = References_upvr.Main.ui.ball:Clone()
clone_upvr.Parent = balls_upvr_2.scroll.main
clone_upvr.Name = v_2_upvr.Name
balls_upvr_2.scroll.CanvasSize = UDim2.new(0, 0, 0, balls_upvr_2.scroll.main.AbsoluteSize.Y + 2)
clone_upvr.main.UIScale.Scale = 0
Services_upvr.TweenService:Create(clone_upvr.main.UIScale, TweenInfo.new(0.3, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1;
}):Play()
if v_2_upvr.Name == config_upvr.Ball.Value then
clone_upvr.main.selected.Visible = true
end
any_load_result1_upvr.new({
_viewport = clone_upvr.main.viewport;
_model = v_2_upvr;
_rotate = "Dynamic";
_viewportDistance = 0.8;
_cameraFOV = 60;
})
any_new_result1_upvr_2[v_2_upvr.Name.."_mouseEnter"] = clone_upvr.main.button.MouseEnter:Connect(function() -- Line 83
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: clone_upvr (readonly)
]]
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(clone_upvr.main.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(177, 177, 177);
}):Play()
end)
any_new_result1_upvr_2[v_2_upvr.Name.."_mouseLeave"] = clone_upvr.main.button.MouseLeave:Connect(function() -- Line 88
--[[ Upvalues[2]:
[1]: Services_upvr (copied, readonly)
[2]: clone_upvr (readonly)
]]
Services_upvr.TweenService:Create(clone_upvr.main.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end)
any_new_result1_upvr_2[v_2_upvr.Name.."_mouseButton1Click"] = clone_upvr.main.button.MouseButton1Click:Connect(function() -- Line 92
--[[ Upvalues[6]:
[1]: References_upvr (copied, readonly)
[2]: clone_upvr (readonly)
[3]: balls_upvr_2 (copied, readonly)
[4]: any_new_result1_upvr (copied, readonly)
[5]: any_load_result1_upvr_2 (copied, readonly)
[6]: v_2_upvr (readonly)
]]
References_upvr.Main.sounds.UI.Click:Play()
clone_upvr.main.selected.Visible = true
for _, v_3 in next, balls_upvr_2.scroll.main:GetChildren() do
if v_3 and v_3:FindFirstChild("main") and v_3.main:FindFirstChild("selected") and v_3 ~= clone_upvr then
v_3.main.selected.Visible = false
end
end
any_new_result1_upvr:send("ballSelection", any_load_result1_upvr_2:getSession("ballSpawner"), v_2_upvr.Name)
end)
task.wait(0.05)
end
end)
any_new_result1_upvr_2.inputBegan = Services_upvr.UserInputService.InputBegan:Connect(function(arg1_2, arg2_2) -- Line 109
--[[ Upvalues[5]:
[1]: Services_upvr (copied, readonly)
[2]: any_new_result1_upvr_2 (copied, readonly)
[3]: balls_upvr_2 (copied, readonly)
[4]: any_new_result1_upvr_3 (copied, readonly)
[5]: arg1 (readonly)
]]
if arg2_2 or Services_upvr.UserInputService:GetFocusedTextBox() then
elseif arg1_2.UserInputType == Enum.UserInputType.MouseButton1 or arg1_2.UserInputType == Enum.UserInputType.Touch then
any_new_result1_upvr_2:DoCleaning()
Services_upvr.TweenService:Create(balls_upvr_2, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
GroupTransparency = 1;
Position = UDim2.new(0.5, 0, 0.5, 20);
}):Play()
Services_upvr.TweenService:Create(balls_upvr_2.UIStroke, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Transparency = 1;
}):Play()
task.wait(0.2)
any_new_result1_upvr_3:clean(balls_upvr_2.scroll.main:GetChildren(), "UIGridLayout")
arg1.toggled = false
balls_upvr_2.Visible = false
end
end)
else
any_new_result1_upvr_2:DoCleaning()
Services_upvr.TweenService:Create(balls_upvr_2, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
GroupTransparency = 1;
Position = UDim2.new(0.5, 0, 0.5, 20);
}):Play()
Services_upvr.TweenService:Create(balls_upvr_2.UIStroke, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Transparency = 1;
}):Play()
task.wait(0.2)
any_new_result1_upvr_3:clean(balls_upvr_2.scroll.main:GetChildren(), "UIGridLayout")
arg1.toggled = false
balls_upvr_2.Visible = false
end
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:12
-- Luau version 6, Types version 3
-- Time taken: 0.012251 seconds
local _engine = _G._engine
local any_load_result1_upvr = _engine:load("Rain")
local References = _engine.References
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local PlayerGui_upvr = References.PlayerGui
local config_upvr = References.Main.config
local menu_upvr = script.Parent:WaitForChild("menu", 100)
local module_upvr = {
region = false;
indoor = false;
tweenInfo = TweenInfo.new(1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut);
ambience = {};
lighting = {
Ambient = Color3.fromRGB(50, 50, 50);
OutdoorAmbient = Color3.fromRGB(150, 150, 150);
ColorShift_Bottom = Color3.fromRGB(0, 0, 0);
ColorShift_Top = Color3.fromRGB(255, 255, 255);
EnvironmentDiffuseScale = 0.2;
EnvironmentSpecularScale = 1;
ExposureCompensation = 0.2;
Brightness = 5;
};
}
local function _() -- Line 36, Named "checkLightingChanged"
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: Services_upvr (readonly)
]]
for i, v in next, module_upvr.lighting do
if i and v and Services_upvr.Lighting[i] ~= v then
return true
end
end
return false
end
local any_new_result1_upvr = _engine:load("Network").new()
function module_upvr.check(arg1) -- Line 46
--[[ Upvalues[8]:
[1]: LocalPlayer_upvr (readonly)
[2]: module_upvr (readonly)
[3]: Services_upvr (readonly)
[4]: menu_upvr (readonly)
[5]: PlayerGui_upvr (readonly)
[6]: config_upvr (readonly)
[7]: any_load_result1_upvr (readonly)
[8]: any_new_result1_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 88 start (CF ANALYSIS FAILED)
local OverlapParams_new_result1 = OverlapParams.new()
OverlapParams_new_result1.FilterType = Enum.RaycastFilterType.Include
OverlapParams_new_result1.FilterDescendantsInstances = {LocalPlayer_upvr.Character}
local var42
for i_2, v_2 in next, workspace.game.regions:GetChildren() do
if v_2 and v_2.Name == "tunnel" then
for i_3, v_3 in next, workspace:GetPartBoundsInBox(v_2.CFrame, v_2.Size, OverlapParams_new_result1) do
if v_3 and v_3.Parent then
local var45 = true
end
end
elseif v_2 and v_2.Name == "store" then
i_3 = v_2.CFrame
v_3 = v_2.Size
for _, v_6 in next, workspace:GetPartBoundsInBox(i_3, v_3, OverlapParams_new_result1) do
if v_6 and v_6.Parent then
end
end
end
end
if nil then
i_2 = true
LocalPlayer_upvr.Character:SetAttribute("inStore", i_2)
else
i_2 = nil
LocalPlayer_upvr.Character:SetAttribute("inStore", i_2)
end
-- KONSTANTERROR: [0] 1. Error Block 88 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [102] 68. Error Block 23 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [102] 68. Error Block 23 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [105] 70. Error Block 24 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [105] 70. Error Block 24 end (CF ANALYSIS FAILED)
end
function module_upvr.indoors(arg1) -- Line 111
--[[ Upvalues[7]:
[1]: LocalPlayer_upvr (readonly)
[2]: module_upvr (readonly)
[3]: Services_upvr (readonly)
[4]: menu_upvr (readonly)
[5]: PlayerGui_upvr (readonly)
[6]: config_upvr (readonly)
[7]: any_load_result1_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 79 start (CF ANALYSIS FAILED)
local OverlapParams_new_result1_2 = OverlapParams.new()
OverlapParams_new_result1_2.FilterType = Enum.RaycastFilterType.Include
OverlapParams_new_result1_2.FilterDescendantsInstances = {LocalPlayer_upvr.Character}
local var56
for _, v_4 in next, workspace:GetPartBoundsInBox(workspace.game.regions.indoor.CFrame, workspace.game.regions.indoor.Size, OverlapParams_new_result1_2) do
if v_4 and v_4.Parent then
var56 = true
end
end
-- KONSTANTERROR: [0] 1. Error Block 79 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [54] 33. Error Block 7 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [54] 33. Error Block 7 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [57] 35. Error Block 8 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [57] 35. Error Block 8 end (CF ANALYSIS FAILED)
end
function module_upvr.init(arg1) -- Line 178
--[[ Upvalues[2]:
[1]: config_upvr (readonly)
[2]: module_upvr (readonly)
]]
for _, v_5 in next, _G._references.Main.sounds.Ambience:GetChildren() do
if v_5 and v_5:IsA("Sound") then
arg1.ambience[v_5.Name] = {
_sound = v_5;
_volume = v_5.Volume;
}
v_5.Volume = 0
v_5:Play()
end
end
arg1:check()
_G._services.TweenService:Create(arg1.ambience["Indoor Ambience"]._sound, TweenInfo.new(1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Volume = arg1.ambience["Indoor Ambience"]._volume;
}):Play()
_G._services.TweenService:Create(arg1.ambience["Outdoor Ambience"]._sound, TweenInfo.new(1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Volume = 0;
}):Play()
config_upvr.Weather.Changed:Connect(function() -- Line 196
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:check()
arg1:indoors()
end)
config_upvr.Intensity.Changed:Connect(function() -- Line 201
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:check()
arg1:indoors()
end)
config_upvr.Thunder.Changed:Connect(function() -- Line 206
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:check()
arg1:indoors()
end)
config_upvr.Wind.Changed:Connect(function() -- Line 211
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:check()
arg1:indoors()
end)
config_upvr.Time.Changed:Connect(function() -- Line 216
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:check()
arg1:indoors()
end)
config_upvr.Stadium.Changed:Connect(function() -- Line 221
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:check()
arg1:indoors()
end)
workspace.pitch.stadium.ChildAdded:Connect(function() -- Line 226
--[[ Upvalues[2]:
[1]: module_upvr (copied, readonly)
[2]: arg1 (readonly)
]]
module_upvr:check()
arg1:indoors()
end)
workspace.pitch.stadium.ChildRemoved:Connect(function() -- Line 231
--[[ Upvalues[2]:
[1]: module_upvr (copied, readonly)
[2]: arg1 (readonly)
]]
module_upvr:check()
arg1:indoors()
end)
while true do
module_upvr:check()
module_upvr:indoors()
task.wait(1)
end
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:13
-- Luau version 6, Types version 3
-- Time taken: 0.009971 seconds
local engine = require(game:GetService("ReplicatedStorage").engine)
local module = {
debounce = false;
}
local PlayerGui_upvr = engine.References.PlayerGui
function module.start(arg1, arg2, arg3) -- Line 17
--[[ Upvalues[1]:
[1]: PlayerGui_upvr (readonly)
]]
if arg1.debounce then
else
arg1.debounce = true
PlayerGui_upvr.main.card.Visible = true
PlayerGui_upvr.main.card.status.Size = UDim2.new(PlayerGui_upvr.main.card.status.Size.X.Scale, 0, 0, 0)
PlayerGui_upvr.main.card.status.label.TextTransparency = 1
PlayerGui_upvr.main.card.status.UIStroke.Transparency = 1
PlayerGui_upvr.main.card.background.Visible = false
PlayerGui_upvr.main.card.player.Visible = false
PlayerGui_upvr.main.card.card.Visible = false
PlayerGui_upvr.main.card.fill.layer1:TweenSize(UDim2.new(1, 0, 1, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
task.wait(0.075)
PlayerGui_upvr.main.card.fill.layer2:TweenSize(UDim2.new(1, 0, 1, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
task.wait(0.15)
PlayerGui_upvr.main.card.status.label.Text = string.format("%s CARD", string.upper(arg2))
PlayerGui_upvr.main.card.player.Text = string.upper(arg3)
PlayerGui_upvr.main.card.background.Visible = true
PlayerGui_upvr.main.card.player.Visible = true
PlayerGui_upvr.main.card.card.Visible = true
for _, v in next, PlayerGui_upvr.main.card.card:GetChildren() do
if v.Name == arg2 then
v.Visible = true
else
v.Visible = false
end
end
PlayerGui_upvr.main.card.fill.layer1.AnchorPoint = Vector2.new(1, 0)
PlayerGui_upvr.main.card.fill.layer1.Position = UDim2.new(1, 0, 0, 0)
PlayerGui_upvr.main.card.fill.layer2.AnchorPoint = Vector2.new(1, 0)
PlayerGui_upvr.main.card.fill.layer2.Position = UDim2.new(1, 0, 0, 0)
PlayerGui_upvr.main.card.fill.layer2:TweenSize(UDim2.new(0, 0, 1, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
task.wait(0.075)
PlayerGui_upvr.main.card.fill.layer1:TweenSize(UDim2.new(0, 0, 1, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
task.wait(0.15)
PlayerGui_upvr.main.card.fill.layer1.AnchorPoint = Vector2.new(0, 0)
PlayerGui_upvr.main.card.fill.layer1.Position = UDim2.new(0, 0, 0, 0)
PlayerGui_upvr.main.card.fill.layer2.AnchorPoint = Vector2.new(0, 0)
PlayerGui_upvr.main.card.fill.layer2.Position = UDim2.new(0, 0, 0, 0)
PlayerGui_upvr.main.card.status:TweenSize(UDim2.new(PlayerGui_upvr.main.card.status.Size.X.Scale, 0, 0, 25), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
PlayerGui_upvr.main.card.status.UIStroke.Transparency = 0
task.wait(0.15)
_G._services.TweenService:Create(PlayerGui_upvr.main.card.status.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 0;
}):Play()
task.wait(3)
_G._services.TweenService:Create(PlayerGui_upvr.main.card.status.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 1;
}):Play()
task.wait(0.1)
PlayerGui_upvr.main.card.status:TweenSize(UDim2.new(PlayerGui_upvr.main.card.status.Size.X.Scale, 0, 0, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
task.wait(0.15)
PlayerGui_upvr.main.card.fill.layer1:TweenSize(UDim2.new(1, 0, 1, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
task.wait(0.075)
PlayerGui_upvr.main.card.fill.layer2:TweenSize(UDim2.new(1, 0, 1, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
task.wait(0.15)
PlayerGui_upvr.main.card.background.Visible = false
PlayerGui_upvr.main.card.player.Visible = false
PlayerGui_upvr.main.card.card.Visible = false
PlayerGui_upvr.main.card.status.UIStroke.Transparency = 1
PlayerGui_upvr.main.card.fill.layer1.AnchorPoint = Vector2.new(1, 0)
PlayerGui_upvr.main.card.fill.layer1.Position = UDim2.new(1, 0, 0, 0)
PlayerGui_upvr.main.card.fill.layer2.AnchorPoint = Vector2.new(1, 0)
PlayerGui_upvr.main.card.fill.layer2.Position = UDim2.new(1, 0, 0, 0)
PlayerGui_upvr.main.card.fill.layer2:TweenSize(UDim2.new(0, 0, 1, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
task.wait(0.075)
PlayerGui_upvr.main.card.fill.layer1:TweenSize(UDim2.new(0, 0, 1, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
task.wait(0.15)
PlayerGui_upvr.main.card.fill.layer1.AnchorPoint = Vector2.new(0, 0)
PlayerGui_upvr.main.card.fill.layer1.Position = UDim2.new(0, 0, 0, 0)
PlayerGui_upvr.main.card.fill.layer2.AnchorPoint = Vector2.new(0, 0)
PlayerGui_upvr.main.card.fill.layer2.Position = UDim2.new(0, 0, 0, 0)
PlayerGui_upvr.main.card.background.Visible = true
PlayerGui_upvr.main.card.player.Visible = true
PlayerGui_upvr.main.card.card.Visible = true
PlayerGui_upvr.main.card.status.UIStroke.Transparency = 0
PlayerGui_upvr.main.card.Visible = false
arg1.debounce = false
end
end
local LocalPlayer_upvr = engine.Services.Players.LocalPlayer
function module.init(arg1) -- Line 110
--[[ Upvalues[1]:
[1]: LocalPlayer_upvr (readonly)
]]
_G._references.Main.cards.yellow.ChildAdded:Connect(function(arg1_2) -- Line 111
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:start("yellow", arg1_2.Name)
end)
_G._references.Main.cards.red.ChildAdded:Connect(function(arg1_3) -- Line 115
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg1 (readonly)
]]
if arg1_3.Name == LocalPlayer_upvr.Name and LocalPlayer_upvr.Character and LocalPlayer_upvr.Character.Parent and LocalPlayer_upvr.Character.PrimaryPart then
LocalPlayer_upvr.Character:SetPrimaryPartCFrame(workspace.game.positions.redCard.CFrame)
end
arg1:start("red", arg1_3.Name)
end)
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:14
-- Luau version 6, Types version 3
-- Time taken: 0.008832 seconds
local _engine = _G._engine
local module = {
usedAds = {};
debounce = {};
registeredAdboards = {};
}
local LocalPlayer_upvr = _engine.Services.Players.LocalPlayer
local any_load_result1_upvr = _engine:load("Sounds")
local module_2_upvr = require(script.Parent.Parent:WaitForChild("mechanics", 100):WaitForChild("ragdoll", 100))
function module.registerTouchEvents(arg1, arg2) -- Line 26
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
[3]: module_2_upvr (readonly)
]]
local function onTouched(arg1_2) -- Line 27
--[[ Upvalues[4]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: any_load_result1_upvr (copied, readonly)
[4]: module_2_upvr (copied, readonly)
]]
if arg1_2 and arg1_2.Parent and arg1_2.Parent:FindFirstChild("Humanoid") and arg1_2.Parent == LocalPlayer_upvr.Character and not arg1_2:FindFirstAncestor("referee") and not arg1_2:FindFirstAncestor("manager") and _G._services.Players:GetPlayerFromCharacter(arg1_2.Parent) and not arg1.debounce[arg1_2.Parent] and 20 <= (arg1_2.Parent.PrimaryPart.AssemblyLinearVelocity * Vector3.new(1, 0, 1)).Magnitude then
arg1.debounce[arg1_2.Parent] = true
task.spawn(function() -- Line 31
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (copied, readonly)
[2]: arg1_2 (readonly)
]]
any_load_result1_upvr:load({
directory = arg1_2.Parent.HumanoidRootPart;
soundId = _G._references.Main.sounds.Player.Adboard.SoundId;
rollOffMaxDistance = 200;
rollOffMinDistance = 30;
volume = 0.2;
play = true;
replicate = true;
})
end)
arg1_2.Parent.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Jumping, false)
arg1_2.Parent.PrimaryPart.AssemblyLinearVelocity = Vector3.new()
arg1_2.Parent.PrimaryPart.AssemblyAngularVelocity = Vector3.new()
local BodyVelocity = Instance.new("BodyVelocity", arg1_2.Parent.PrimaryPart)
BodyVelocity.Velocity = arg1_2.Parent.PrimaryPart.CFrame.LookVector * 25 + Vector3.new(0, 15, 0)
BodyVelocity.MaxForce = Vector3.new(0, math.huge, 0)
local BodyAngularVelocity = Instance.new("BodyAngularVelocity", arg1_2.Parent.PrimaryPart)
BodyAngularVelocity.AngularVelocity = arg1_2.Parent.PrimaryPart.CFrame.RightVector * -10
BodyAngularVelocity.MaxTorque = Vector3.new(1, 1, 1) * math.huge
_G._services.Debris:AddItem(BodyVelocity, 0.15)
_G._services.Debris:AddItem(BodyAngularVelocity, 0.25)
module_2_upvr:toggle(true)
task.wait(math.random(1.5, 3))
module_2_upvr:toggle(false)
arg1.debounce[arg1_2.Parent] = nil
end
end
arg2.Touched:Connect(onTouched)
arg2.TouchEnded:Connect(onTouched)
end
local adboards_upvr = workspace.pitch.adboards
local ads_upvr = _G._references.Main.ads
function module.init(arg1) -- Line 70
--[[ Upvalues[2]:
[1]: adboards_upvr (readonly)
[2]: ads_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
for i, v in next, adboards_upvr.boards:GetChildren() do
arg1.usedAds[v.Name] = {}
arg1.registeredAdboards[v.Name] = {}
for _, v_2 in next, v:GetChildren() do
if v_2 and v_2:IsA("BasePart") then
local clone = _G._references.Main.ui.ad:Clone()
clone.Parent = v_2
table.insert(arg1.registeredAdboards[v.Name], clone)
arg1:registerTouchEvents(v_2)
end
end
end
local function selectRandomAd_upvr(arg1_3) -- Line 86, Named "selectRandomAd"
--[[ Upvalues[2]:
[1]: ads_upvr (copied, readonly)
[2]: arg1 (readonly)
]]
local randint = math.random(1, #ads_upvr:GetChildren())
local var42 = ads_upvr:GetChildren()[randint]
if not table.find(arg1.usedAds[arg1_3], var42) then
table.insert(arg1.usedAds[arg1_3], var42)
return var42
end
if randint == #ads_upvr:GetChildren() then
return ads_upvr:GetChildren()[1]
end
return ads_upvr:GetChildren()[randint + 1]
end
while true do
i = nil
for i_3_upvr, v_3_upvr in next, arg1.registeredAdboards, i do
task.spawn(function() -- Line 105
--[[ Upvalues[5]:
[1]: selectRandomAd_upvr (readonly)
[2]: i_3_upvr (readonly)
[3]: v_3_upvr (readonly)
[4]: arg1 (readonly)
[5]: ads_upvr (copied, readonly)
]]
for _, v_4_upvr in next, v_3_upvr do
if v_4_upvr.current.Image == "" then
v_4_upvr.current.Image = selectRandomAd_upvr(i_3_upvr).Value
else
if #ads_upvr:GetChildren() <= #arg1.usedAds[i_3_upvr] then
table.clear(arg1.usedAds[i_3_upvr])
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
v_4_upvr.next.Image = selectRandomAd_upvr(i_3_upvr).Value
v_4_upvr.current:TweenPosition(UDim2.new(0, 0, -1, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Linear, 1, true)
v_4_upvr.next:TweenPosition(UDim2.new(0, 0, 0, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Linear, 1, true)
task.delay(1.15, function() -- Line 121
--[[ Upvalues[1]:
[1]: v_4_upvr (readonly)
]]
v_4_upvr.current.Image = v_4_upvr.next.Image
v_4_upvr.current.Position = UDim2.new(0, 0, 0, 0)
v_4_upvr.next.Position = UDim2.new(0, 0, 1, 0)
end)
end
end
end)
local _
end
task.wait(7)
end
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:16
-- Luau version 6, Types version 3
-- Time taken: 0.012473 seconds
local engine = require(game:GetService("ReplicatedStorage").engine)
local References_upvr = engine.References
while not engine.Classes.Sessions:GetAttribute("init") do
task.wait()
end
local config_upvr = References_upvr.Main.config
local stadiums_upvr = References_upvr.PlayerGui:WaitForChild("main", 100):WaitForChild("stadiums", 100)
local module = {
toggled = false;
init = function(arg1) -- Line 30, Named "init"
--[[ Upvalues[2]:
[1]: config_upvr (readonly)
[2]: stadiums_upvr (readonly)
]]
config_upvr.Stadium.Changed:Connect(function() -- Line 31
--[[ Upvalues[2]:
[1]: stadiums_upvr (copied, readonly)
[2]: config_upvr (copied, readonly)
]]
for _, v in next, stadiums_upvr.scroll.main:GetChildren() do
if v and v:FindFirstChild("main") and v.main:FindFirstChild("selected") and v.Name == config_upvr.Stadium.Value then
v.main.selected.Visible = true
elseif v and v:FindFirstChild("main") and v.main:FindFirstChild("selected") and v.Name ~= config_upvr.Stadium.Value then
v.main.selected.Visible = false
end
end
end)
script:GetAttributeChangedSignal("toggle"):Connect(function() -- Line 41
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if script:GetAttribute("toggle") then
script:SetAttribute("toggle", false)
arg1:toggle(true)
end
end)
end;
}
local any_new_result1_upvr = engine:load("Maid").new()
local any_new_result1_upvr_3 = engine:load("Janitor").new()
local Services_upvr = engine.Services
local any_new_result1_upvr_2 = engine:load("Network").new()
local any_load_result1_upvr = engine:load("Viewport")
local any_load_result1_upvr_2 = engine:load("Sessions")
function module.toggle(arg1, arg2) -- Line 49
--[[ Upvalues[9]:
[1]: stadiums_upvr (readonly)
[2]: any_new_result1_upvr (readonly)
[3]: any_new_result1_upvr_3 (readonly)
[4]: Services_upvr (readonly)
[5]: any_new_result1_upvr_2 (readonly)
[6]: References_upvr (readonly)
[7]: config_upvr (readonly)
[8]: any_load_result1_upvr (readonly)
[9]: any_load_result1_upvr_2 (readonly)
]]
if arg2 then
arg1.toggled = true
stadiums_upvr.Visible = true
any_new_result1_upvr:DoCleaning()
any_new_result1_upvr_3:clean(stadiums_upvr.scroll.main:GetChildren(), "UIGridLayout")
Services_upvr.TweenService:Create(stadiums_upvr, TweenInfo.new(0.2, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {
GroupTransparency = 0;
Position = UDim2.new(0.5, 0, 0.5, 0);
}):Play()
Services_upvr.TweenService:Create(stadiums_upvr.UIStroke, TweenInfo.new(0.2, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {
Transparency = 0;
}):Play()
task.spawn(function() -- Line 60
--[[ Upvalues[8]:
[1]: any_new_result1_upvr_2 (copied, readonly)
[2]: References_upvr (copied, readonly)
[3]: stadiums_upvr (copied, readonly)
[4]: Services_upvr (copied, readonly)
[5]: config_upvr (copied, readonly)
[6]: any_load_result1_upvr (copied, readonly)
[7]: any_new_result1_upvr (copied, readonly)
[8]: any_load_result1_upvr_2 (copied, readonly)
]]
for _, v_2_upvr in next, any_new_result1_upvr_2:fetch("getStadiums"), nil do
local clone_upvr = References_upvr.Main.ui.stadium:Clone()
clone_upvr.Parent = stadiums_upvr.scroll.main
clone_upvr.Name = v_2_upvr.Name
stadiums_upvr.scroll.CanvasSize = UDim2.new(0, 0, 0, stadiums_upvr.scroll.main.AbsoluteSize.Y + 2)
clone_upvr.main.UIScale.Scale = 0
Services_upvr.TweenService:Create(clone_upvr.main.UIScale, TweenInfo.new(0.3, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1;
}):Play()
if v_2_upvr.Name == config_upvr.Stadium.Value then
clone_upvr.main.selected.Visible = true
end
any_load_result1_upvr.new({
_viewport = clone_upvr.main.viewport;
_model = v_2_upvr;
_cameraFOV = 60;
_usePrimaryPart = true;
})
any_new_result1_upvr[v_2_upvr.Name.."_mouseEnter"] = clone_upvr.main.button.MouseEnter:Connect(function() -- Line 83
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: clone_upvr (readonly)
]]
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(clone_upvr.main.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(177, 177, 177);
}):Play()
end)
any_new_result1_upvr[v_2_upvr.Name.."_mouseLeave"] = clone_upvr.main.button.MouseLeave:Connect(function() -- Line 88
--[[ Upvalues[2]:
[1]: Services_upvr (copied, readonly)
[2]: clone_upvr (readonly)
]]
Services_upvr.TweenService:Create(clone_upvr.main.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end)
any_new_result1_upvr[v_2_upvr.Name.."_mouseButton1Click"] = clone_upvr.main.button.MouseButton1Click:Connect(function() -- Line 92
--[[ Upvalues[6]:
[1]: References_upvr (copied, readonly)
[2]: clone_upvr (readonly)
[3]: stadiums_upvr (copied, readonly)
[4]: any_new_result1_upvr_2 (copied, readonly)
[5]: any_load_result1_upvr_2 (copied, readonly)
[6]: v_2_upvr (readonly)
]]
References_upvr.Main.sounds.UI.Click:Play()
clone_upvr.main.selected.Visible = true
for _, v_3 in next, stadiums_upvr.scroll.main:GetChildren() do
if v_3 and v_3:FindFirstChild("main") and v_3.main:FindFirstChild("selected") and v_3 ~= clone_upvr then
v_3.main.selected.Visible = false
end
end
any_new_result1_upvr_2:send("stadiumSelection", any_load_result1_upvr_2:getSession("stadiumSelector"), v_2_upvr.Name)
end)
task.wait(0.05)
end
end)
any_new_result1_upvr.inputBegan = Services_upvr.UserInputService.InputBegan:Connect(function(arg1_2, arg2_2) -- Line 109
--[[ Upvalues[6]:
[1]: Services_upvr (copied, readonly)
[2]: any_new_result1_upvr (copied, readonly)
[3]: stadiums_upvr (copied, readonly)
[4]: any_new_result1_upvr_2 (copied, readonly)
[5]: any_new_result1_upvr_3 (copied, readonly)
[6]: arg1 (readonly)
]]
if arg2_2 or Services_upvr.UserInputService:GetFocusedTextBox() then
elseif arg1_2.UserInputType == Enum.UserInputType.MouseButton1 or arg1_2.UserInputType == Enum.UserInputType.Touch then
any_new_result1_upvr:DoCleaning()
Services_upvr.TweenService:Create(stadiums_upvr, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
GroupTransparency = 1;
Position = UDim2.new(0.5, 0, 0.5, 20);
}):Play()
Services_upvr.TweenService:Create(stadiums_upvr.UIStroke, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Transparency = 1;
}):Play()
task.wait(0.2)
any_new_result1_upvr_2:send("clearStadiums")
any_new_result1_upvr_3:clean(stadiums_upvr.scroll.main:GetChildren(), "UIGridLayout")
arg1.toggled = false
stadiums_upvr.Visible = false
end
end)
else
any_new_result1_upvr:DoCleaning()
Services_upvr.TweenService:Create(stadiums_upvr, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
GroupTransparency = 1;
Position = UDim2.new(0.5, 0, 0.5, 20);
}):Play()
Services_upvr.TweenService:Create(stadiums_upvr.UIStroke, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Transparency = 1;
}):Play()
task.wait(0.2)
any_new_result1_upvr_2:send("clearStadiums")
any_new_result1_upvr_3:clean(stadiums_upvr.scroll.main:GetChildren(), "UIGridLayout")
arg1.toggled = false
stadiums_upvr.Visible = false
end
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:17
-- Luau version 6, Types version 3
-- Time taken: 0.011641 seconds
local _engine = _G._engine
local any_load_result1_upvr = _engine:load("Theme", "utils")
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local settings_upvr = References_upvr.PlayerGui:WaitForChild("main", 100):WaitForChild("settings", 100)
local tbl_upvr = {
ball = script.Parent:WaitForChild("ballSelection", 100);
stadium = script.Parent:WaitForChild("stadiumSelection", 100);
}
local module = {
toggled = false;
init = function(arg1) -- Line 29, Named "init"
--[[ Upvalues[5]:
[1]: settings_upvr (readonly)
[2]: References_upvr (readonly)
[3]: Services_upvr (readonly)
[4]: any_load_result1_upvr (readonly)
[5]: tbl_upvr (readonly)
]]
for _, v_upvr in next, settings_upvr.container:GetChildren() do
if v_upvr and v_upvr:IsA("Frame") and v_upvr:FindFirstChild("buttons") then
for _, v_2 in next, v_upvr.buttons:GetChildren() do
if v_2 and v_2:FindFirstChild("button") and v_2:FindFirstChild("label") then
arg1:create(v_upvr, v_2)
elseif v_2 and v_2.Name == "custom" then
for _, v_3 in next, v_2:GetChildren() do
if v_3 and v_3:FindFirstChild("button") and v_3:FindFirstChild("label") then
arg1:create(v_upvr, v_3)
end
end
end
end
elseif v_upvr and v_upvr:IsA("Frame") and v_upvr:FindFirstChild("edit") then
v_upvr.edit.button.MouseEnter:Connect(function() -- Line 44
--[[ Upvalues[4]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: v_upvr (readonly)
[4]: any_load_result1_upvr (copied, readonly)
]]
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(v_upvr.edit, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Accent;
}):Play()
Services_upvr.TweenService:Create(v_upvr.edit.label.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr.Text;
}):Play()
Services_upvr.TweenService:Create(v_upvr.edit.label.icon, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = any_load_result1_upvr.Text;
}):Play()
end)
v_upvr.edit.button.MouseLeave:Connect(function() -- Line 51
--[[ Upvalues[3]:
[1]: Services_upvr (copied, readonly)
[2]: v_upvr (readonly)
[3]: any_load_result1_upvr (copied, readonly)
]]
Services_upvr.TweenService:Create(v_upvr.edit, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Text;
}):Play()
Services_upvr.TweenService:Create(v_upvr.edit.label.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
Services_upvr.TweenService:Create(v_upvr.edit.label.icon, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end)
v_upvr.edit.button.MouseButton1Click:Connect(function() -- Line 57
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: tbl_upvr (copied, readonly)
[3]: v_upvr (readonly)
]]
References_upvr.Main.sounds.UI.Click:Play()
if tbl_upvr[string.lower(v_upvr.Name)] then
tbl_upvr[string.lower(v_upvr.Name)]:SetAttribute("toggle", true)
end
end)
end
end
arg1:registerButton(settings_upvr.header.confirm)
settings_upvr.header.confirm.button.MouseButton1Click:Connect(function() -- Line 67
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: References_upvr (copied, readonly)
]]
if arg1.toggled then
References_upvr.Main.sounds.UI.Click:Play()
arg1:toggle(false)
end
end)
script:GetAttributeChangedSignal("toggle"):Connect(function() -- Line 74
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if script:GetAttribute("toggle") then
script:SetAttribute("toggle", false)
arg1:toggle(true)
end
end)
end;
}
local any_new_result1_upvr = _engine:load("Network").new()
local any_load_result1_upvr_2 = _engine:load("Sessions")
function module.create(arg1, arg2, arg3) -- Line 82
--[[ Upvalues[3]:
[1]: References_upvr (readonly)
[2]: any_new_result1_upvr (readonly)
[3]: any_load_result1_upvr_2 (readonly)
]]
arg1:registerButton(arg3)
arg3.button.MouseButton1Click:Connect(function() -- Line 84
--[[ Upvalues[6]:
[1]: arg1 (readonly)
[2]: References_upvr (copied, readonly)
[3]: arg3 (readonly)
[4]: any_new_result1_upvr (copied, readonly)
[5]: any_load_result1_upvr_2 (copied, readonly)
[6]: arg2 (readonly)
]]
if arg1.toggled then
References_upvr.Main.sounds.UI.Click:Play()
if arg3.Name == "On" then
any_new_result1_upvr:send("editMatchSettings", any_load_result1_upvr_2:getSession("editMatchSettings"), arg2.Name, true)
return
end
if arg3.Name == "Off" then
any_new_result1_upvr:send("editMatchSettings", any_load_result1_upvr_2:getSession("editMatchSettings"), arg2.Name, false)
return
end
any_new_result1_upvr:send("editMatchSettings", any_load_result1_upvr_2:getSession("editMatchSettings"), arg2.Name, arg3.Name)
end
end)
end
function module.registerButton(arg1, arg2) -- Line 98
--[[ Upvalues[3]:
[1]: References_upvr (readonly)
[2]: Services_upvr (readonly)
[3]: any_load_result1_upvr (readonly)
]]
arg2.button.MouseEnter:Connect(function() -- Line 99
--[[ Upvalues[4]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: arg2 (readonly)
[4]: any_load_result1_upvr (copied, readonly)
]]
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(arg2, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Accent;
}):Play()
Services_upvr.TweenService:Create(arg2.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr.Text;
}):Play()
if arg2:FindFirstChild("countdown") then
Services_upvr.TweenService:Create(arg2.countdown, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr.Text;
}):Play()
end
end)
arg2.button.MouseLeave:Connect(function() -- Line 109
--[[ Upvalues[3]:
[1]: Services_upvr (copied, readonly)
[2]: arg2 (readonly)
[3]: any_load_result1_upvr (copied, readonly)
]]
Services_upvr.TweenService:Create(arg2, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Text;
}):Play()
Services_upvr.TweenService:Create(arg2.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
if arg2:FindFirstChild("countdown") then
Services_upvr.TweenService:Create(arg2.countdown, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr.Accent;
}):Play()
end
end)
end
function module.toggle(arg1, arg2) -- Line 119
--[[ Upvalues[2]:
[1]: Services_upvr (readonly)
[2]: settings_upvr (readonly)
]]
if arg2 then
local any_GenerateGUID_result1_upvr = Services_upvr.HttpService:GenerateGUID(false)
arg1.toggled = true
arg1.session = any_GenerateGUID_result1_upvr
settings_upvr.Visible = true
Services_upvr.TweenService:Create(settings_upvr, TweenInfo.new(0.2, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {
GroupTransparency = 0;
Position = UDim2.new(0.5, 0, 0.5, 0);
}):Play()
Services_upvr.TweenService:Create(settings_upvr.UIStroke, TweenInfo.new(0.2, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {
Transparency = 0;
}):Play()
task.spawn(function() -- Line 130
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: any_GenerateGUID_result1_upvr (readonly)
[3]: settings_upvr (copied, readonly)
]]
for i_3 = 60, 0, -1 do
if not arg1.session then break end
if arg1.session ~= any_GenerateGUID_result1_upvr then break end
settings_upvr.header.confirm.countdown.Text = tostring(i_3)
task.wait(1)
end
if arg1.session and arg1.session == any_GenerateGUID_result1_upvr then
i_3 = false
arg1:toggle(i_3)
end
end)
else
any_GenerateGUID_result1_upvr = nil
arg1.session = any_GenerateGUID_result1_upvr
any_GenerateGUID_result1_upvr = Services_upvr.TweenService
local _ = {
GroupTransparency = 1;
Position = UDim2.new(0.5, 0, 0.5, 20);
}
any_GenerateGUID_result1_upvr = any_GenerateGUID_result1_upvr:Create(settings_upvr, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), _):Play
any_GenerateGUID_result1_upvr()
any_GenerateGUID_result1_upvr = Services_upvr.TweenService
local _ = {
Transparency = 1;
}
any_GenerateGUID_result1_upvr = any_GenerateGUID_result1_upvr:Create(settings_upvr.UIStroke, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), _):Play
any_GenerateGUID_result1_upvr()
any_GenerateGUID_result1_upvr = task.wait
any_GenerateGUID_result1_upvr(0.2)
any_GenerateGUID_result1_upvr = false
arg1.toggled = any_GenerateGUID_result1_upvr
any_GenerateGUID_result1_upvr = settings_upvr
any_GenerateGUID_result1_upvr.Visible = false
any_GenerateGUID_result1_upvr = script.Parent:FindFirstChild("teamSelection")
if any_GenerateGUID_result1_upvr then
any_GenerateGUID_result1_upvr = script.Parent.teamSelection:SetAttribute
any_GenerateGUID_result1_upvr("toggle", true)
end
end
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:19
-- Luau version 6, Types version 3
-- Time taken: 0.041870 seconds
local _engine = _G._engine
local any_load_result1_upvr = _engine:load("Theme", "utils")
local any_load_result1_upvr_2 = _engine:load("TeamService", "utils")
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local Profile_upvr = References_upvr.Profile
local main_upvr = References_upvr.PlayerGui:WaitForChild("main", 100)
local teams_upvr = main_upvr:WaitForChild("teams", 100)
local rig = teams_upvr.main.viewport:WaitForChild("rig", 100)
local tbl_upvw = {
leagues = {};
teams = {};
}
local tbl_upvw_2 = {}
local tbl_upvw_3 = {}
local clone_upvr = rig:Clone()
rig:Destroy()
local pcall_result1, pcall_result2 = pcall(function() -- Line 35
--[[ Upvalues[1]:
[1]: LocalPlayer_upvr (readonly)
]]
return _G._services.Players:GetCharacterAppearanceAsync(LocalPlayer_upvr.UserId)
end)
if pcall_result1 and pcall_result2 then
for _, v in next, pcall_result2:GetChildren() do
if v:IsA("BodyColors") then
v.Parent = clone_upvr
elseif v:IsA("Decal") and v.Name == "face" then
clone_upvr.Head.face.Texture = v.Texture
end
end
end
task.delay(5, function() -- Line 49
--[[ Upvalues[2]:
[1]: clone_upvr (readonly)
[2]: teams_upvr (readonly)
]]
clone_upvr.Parent = teams_upvr.main.viewport
end)
local module = {
toggled = false;
current = "Rest Of The World";
index = {
team = 1;
league = 1;
};
update = function(arg1) -- Line 64, Named "update"
--[[ Upvalues[5]:
[1]: tbl_upvw (read and write)
[2]: tbl_upvw_2 (read and write)
[3]: tbl_upvw_3 (read and write)
[4]: References_upvr (readonly)
[5]: Profile_upvr (readonly)
]]
tbl_upvw = {
leagues = {};
teams = {};
}
tbl_upvw_2 = {}
tbl_upvw_3 = {}
for _, v_2 in next, References_upvr.Main.kits:GetChildren() do
if v_2 and v_2.Name ~= "Template" and v_2:FindFirstChildWhichIsA("Folder") then
tbl_upvw.teams[v_2.Name] = {}
tbl_upvw_3[v_2.Name] = {}
table.insert(tbl_upvw.leagues, v_2.Name)
for _, v_3 in next, v_2:GetChildren() do
if v_3 then
if v_3:FindFirstChild("Custom") and string.lower(v_3.Name) == string.lower(Profile_upvr.team.TeamName.Value) or not v_3:FindFirstChild("Custom") then
table.insert(tbl_upvw.teams[v_2.Name], v_3.Name)
end
end
end
end
end
table.sort(tbl_upvw.leagues)
for _, v_4 in next, tbl_upvw.leagues do
if v_4 and References_upvr.Main.kits:FindFirstChild(v_4) then
table.insert(tbl_upvw_2, References_upvr.Main.kits[v_4])
end
end
for i_5, v_5 in next, tbl_upvw.teams do
table.sort(v_5)
for _, v_6 in next, v_5 do
if v_6 and References_upvr.Main.kits:FindFirstChild(i_5) and References_upvr.Main.kits[i_5]:FindFirstChild(v_6) then
table.insert(tbl_upvw_3[i_5], References_upvr.Main.kits[i_5][v_6])
end
end
end
end;
init = function(arg1) -- Line 103, Named "init"
--[[ Upvalues[6]:
[1]: References_upvr (readonly)
[2]: teams_upvr (readonly)
[3]: Services_upvr (readonly)
[4]: any_load_result1_upvr (readonly)
[5]: tbl_upvw_2 (read and write)
[6]: tbl_upvw_3 (read and write)
]]
arg1:update()
References_upvr.Main.kits:GetAttributeChangedSignal("update"):Connect(function() -- Line 106
--[[ Upvalues[2]:
[1]: References_upvr (copied, readonly)
[2]: arg1 (readonly)
]]
if References_upvr.Main.kits:GetAttribute("update") then
arg1:update()
end
end)
for _, v_7_upvr in next, {"league", "team"} do
for _, v_8_upvr in next, {"next", "prev"} do
local var49 = teams_upvr[v_7_upvr][v_8_upvr]
var49.button.MouseEnter:Connect(function() -- Line 116
--[[ Upvalues[4]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: teams_upvr (copied, readonly)
[4]: v_7_upvr (readonly)
]]
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(teams_upvr[v_7_upvr].background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 1;
}):Play()
Services_upvr.TweenService:Create(teams_upvr[v_7_upvr].label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
Services_upvr.TweenService:Create(teams_upvr[v_7_upvr].next.icon, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
Services_upvr.TweenService:Create(teams_upvr[v_7_upvr].prev.icon, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end)
var49.button.MouseLeave:Connect(function() -- Line 124
--[[ Upvalues[4]:
[1]: Services_upvr (copied, readonly)
[2]: teams_upvr (copied, readonly)
[3]: v_7_upvr (readonly)
[4]: any_load_result1_upvr (copied, readonly)
]]
Services_upvr.TweenService:Create(teams_upvr[v_7_upvr].background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 0;
}):Play()
Services_upvr.TweenService:Create(teams_upvr[v_7_upvr].label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr.Text;
}):Play()
Services_upvr.TweenService:Create(teams_upvr[v_7_upvr].next.icon, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = any_load_result1_upvr.Text;
}):Play()
Services_upvr.TweenService:Create(teams_upvr[v_7_upvr].prev.icon, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = any_load_result1_upvr.Text;
}):Play()
end)
var49.button.MouseButton1Click:Connect(function() -- Line 131
--[[ Upvalues[6]:
[1]: arg1 (readonly)
[2]: tbl_upvw_2 (copied, read and write)
[3]: v_7_upvr (readonly)
[4]: tbl_upvw_3 (copied, read and write)
[5]: References_upvr (copied, readonly)
[6]: v_8_upvr (readonly)
]]
local var61
if var61 then
var61 = tbl_upvw_2
if v_7_upvr == "team" then
var61 = tbl_upvw_3[arg1.current]
end
References_upvr.Main.sounds.UI.Click:Play()
if v_8_upvr == "next" then
if arg1.index[v_7_upvr] == #var61 then
arg1.index[v_7_upvr] = 1
else
local index = arg1.index
local var63 = v_7_upvr
index[var63] += 1
end
elseif v_8_upvr == "prev" then
if arg1.index[v_7_upvr] == 1 then
arg1.index[v_7_upvr] = #var61
else
local index_2 = arg1.index
local var65 = v_7_upvr
index_2[var65] -= 1
end
end
if v_7_upvr == "team" then
References_upvr.Main.config.Stats[arg1.side].Team.Value = string.upper(tbl_upvw_3[arg1.current][arg1.index[v_7_upvr]].Name)
References_upvr.Main.config.Stats[arg1.side]["Kit Type"].Value = "Home"
arg1:updateTeam()
return
end
if v_7_upvr == "league" then
arg1:updateLeague(tbl_upvw_2[arg1.index[v_7_upvr]].Name)
end
end
end)
end
end
for _, v_9_upvr in next, teams_upvr.buttons.kits:GetChildren() do
if v_9_upvr and v_9_upvr:IsA("Frame") then
arg1:registerButton(v_9_upvr)
v_9_upvr.button.MouseButton1Click:Connect(function() -- Line 170
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: References_upvr (copied, readonly)
[3]: v_9_upvr (readonly)
]]
if arg1.toggled then
References_upvr.Main.sounds.UI.Click:Play()
References_upvr.Main.config.Stats[arg1.side]["Kit Type"].Value = v_9_upvr.Name
arg1:updateTeam()
end
end)
end
end
arg1:registerButton(teams_upvr.buttons.confirm)
teams_upvr.buttons.confirm.button.MouseButton1Click:Connect(function() -- Line 181
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: References_upvr (copied, readonly)
]]
if arg1.toggled then
References_upvr.Main.sounds.UI.Click:Play()
arg1:toggle(false)
end
end)
script:GetAttributeChangedSignal("toggle"):Connect(function() -- Line 188
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if script:GetAttribute("toggle") then
script:SetAttribute("toggle", false)
arg1:toggle(true)
end
end)
end;
registerButton = function(arg1, arg2) -- Line 196, Named "registerButton"
--[[ Upvalues[3]:
[1]: References_upvr (readonly)
[2]: Services_upvr (readonly)
[3]: any_load_result1_upvr (readonly)
]]
arg2.button.MouseEnter:Connect(function() -- Line 197
--[[ Upvalues[4]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: arg2 (readonly)
[4]: any_load_result1_upvr (copied, readonly)
]]
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(arg2, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Accent;
}):Play()
Services_upvr.TweenService:Create(arg2.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr.Text;
}):Play()
if arg2:FindFirstChild("countdown") then
Services_upvr.TweenService:Create(arg2.countdown, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr.Text;
}):Play()
end
end)
arg2.button.MouseLeave:Connect(function() -- Line 207
--[[ Upvalues[3]:
[1]: Services_upvr (copied, readonly)
[2]: arg2 (readonly)
[3]: any_load_result1_upvr (copied, readonly)
]]
Services_upvr.TweenService:Create(arg2, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Text;
}):Play()
Services_upvr.TweenService:Create(arg2.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
if arg2:FindFirstChild("countdown") then
Services_upvr.TweenService:Create(arg2.countdown, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr.Accent;
}):Play()
end
end)
end;
updateTeam = function(arg1) -- Line 217, Named "updateTeam"
--[[ Upvalues[4]:
[1]: any_load_result1_upvr_2 (readonly)
[2]: clone_upvr (readonly)
[3]: References_upvr (readonly)
[4]: teams_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 106 start (CF ANALYSIS FAILED)
local any_getTeamFolderFromTeam_result1 = any_load_result1_upvr_2:getTeamFolderFromTeam(arg1.side)
local tbl = {"Home"}
local Home = any_getTeamFolderFromTeam_result1.Home
if any_getTeamFolderFromTeam_result1:FindFirstChild(_G._references.Main.config.Stats[arg1.side]["Kit Type"].Value) then
Home = any_getTeamFolderFromTeam_result1[_G._references.Main.config.Stats[arg1.side]["Kit Type"].Value]
end
for _, v_10 in next, any_getTeamFolderFromTeam_result1:GetChildren() do
if v_10 and (v_10.Name == "Away" or v_10.Name == "Third") then
table.insert(tbl, v_10.Name)
end
end
for i_11, v_11 in next, clone_upvr:GetChildren() do
if v_11 and (v_11:IsA("Shirt") or v_11:IsA("Pants")) then
v_11:Destroy()
end
end
if Home:FindFirstChild("Shirt") and Home.Shirt:IsA("Shirt") then
clone_upvr.LayeredShirt.Handle.Transparency = 1
i_11 = clone_upvr
i_11.LayeredShirt.Handle.AccessoryWrapLayer.Enabled = false
Home.Shirt:Clone().Parent = clone_upvr
elseif Home:FindFirstChild("Shirt") and Home.Shirt:IsA("SurfaceAppearance") then
i_11 = References_upvr
local clone = i_11.Main.storage.ClassicPants:Clone()
i_11 = clone_upvr
i_11 = "SurfaceAppearance"
if i_11.LayeredShirt.Handle:FindFirstChildWhichIsA(i_11) then
i_11 = clone_upvr
i_11 = "SurfaceAppearance"
i_11.LayeredShirt.Handle:FindFirstChildWhichIsA(i_11):Destroy()
v_11 = clone_upvr
i_11 = v_11.LayeredShirt
Home.Shirt:Clone().Parent = i_11.Handle
end
i_11 = clone_upvr
i_11.LayeredShirt.Handle.Transparency = 0
v_11 = clone_upvr
i_11 = v_11.LayeredShirt
i_11.Handle.AccessoryWrapLayer.Enabled = true
i_11 = clone_upvr
i_11.LayeredPants.Handle.Transparency = 0
v_11 = clone_upvr
i_11 = v_11.LayeredPants
i_11.Handle.AccessoryWrapLayer.Enabled = true
i_11 = clone_upvr
i_11 = Home.TeamColour
i_11.LayeredPants.Handle.Color = i_11.Value
v_11 = References_upvr
i_11 = v_11.Main
i_11.storage.ClassicShirt:Clone().Parent = clone_upvr
clone.Parent = clone_upvr
clone.Color3 = Home.TeamColour.Value
end
if Home:FindFirstChild("Pants") and Home.Pants:IsA("Pants") then
clone_upvr.LayeredPants.Handle.Transparency = 1
i_11 = clone_upvr
i_11.LayeredPants.Handle.AccessoryWrapLayer.Enabled = false
Home.Pants:Clone().Parent = clone_upvr
end
if #tbl == 3 then
i_11 = teams_upvr
for _, v_12 in next, i_11.buttons.kits:GetChildren() do
if v_12 and v_12:IsA("Frame") then
v_12.Visible = false
end
end
for _, v_13 in next, tbl do
teams_upvr.buttons.kits[v_13].Visible = true
teams_upvr.buttons.kits[v_13].Size = UDim2.new(0.3, 0, 1, -10)
end
-- KONSTANTWARNING: GOTO [476] #313
end
-- KONSTANTERROR: [0] 1. Error Block 106 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [363] 234. Error Block 107 start (CF ANALYSIS FAILED)
if #tbl == 2 then
for _, v_14 in next, teams_upvr.buttons.kits:GetChildren() do
if v_14 and v_14:IsA("Frame") then
v_14.Visible = false
end
end
for _, v_15 in next, tbl do
teams_upvr.buttons.kits[v_15].Visible = true
teams_upvr.buttons.kits[v_15].Size = UDim2.new(0.5, -10, 1, -10)
end
elseif #tbl == 1 then
for _, v_20 in next, teams_upvr.buttons.kits:GetChildren() do
if v_20 and v_20:IsA("Frame") then
v_20.Visible = false
end
end
for _, v_21 in next, tbl do
teams_upvr.buttons.kits[v_21].Visible = true
teams_upvr.buttons.kits[v_21].Size = UDim2.new(1, -15, 1, -10)
end
end
teams_upvr.main.label.Text = string.upper(any_getTeamFolderFromTeam_result1.Abbreviation.Value)
teams_upvr.team.label.Text = string.upper(any_getTeamFolderFromTeam_result1.Name)
-- KONSTANTERROR: [363] 234. Error Block 107 end (CF ANALYSIS FAILED)
end;
updateLeague = function(arg1, arg2) -- Line 304, Named "updateLeague"
--[[ Upvalues[4]:
[1]: tbl_upvw_2 (read and write)
[2]: References_upvr (readonly)
[3]: tbl_upvw_3 (read and write)
[4]: teams_upvr (readonly)
]]
for _, v_16 in next, tbl_upvw_2 do
if v_16 and v_16.Name == arg2 then
end
end
References_upvr.Main.config.Stats[arg1.side].Team.Value = string.upper(tbl_upvw_3[arg2][1].Name)
References_upvr.Main.config.Stats[arg1.side]["Kit Type"].Value = "Home"
teams_upvr.league.label.Text = string.upper(arg2)
arg1:updateTeam()
arg1.current = arg2
arg1.index.team = 1
end;
}
local any_new_result1_upvr = _engine:load("Network").new()
function module.toggle(arg1, arg2) -- Line 323
--[[ Upvalues[10]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
[3]: any_load_result1_upvr_2 (readonly)
[4]: References_upvr (readonly)
[5]: Profile_upvr (readonly)
[6]: tbl_upvw_3 (read and write)
[7]: tbl_upvw_2 (read and write)
[8]: teams_upvr (readonly)
[9]: main_upvr (readonly)
[10]: any_new_result1_upvr (readonly)
]]
if arg2 then
if string.find(LocalPlayer_upvr.Team.Name, "Home") then
arg1.side = "Home"
else
arg1.side = "Away"
end
local any_GenerateGUID_result1_upvr = Services_upvr.HttpService:GenerateGUID(false)
for _, v_17 in next, References_upvr.Main.kits["RF Custom"]:GetChildren() do
if v_17 then
if v_17:FindFirstChild("Custom") and string.lower(v_17.Name) == string.lower(Profile_upvr.team.TeamName.Value) or not v_17:FindFirstChild("Custom") then
if tbl_upvw_3["RF Custom"] then
local var143 = "RF Custom"
References_upvr.Main.config.Stats[arg1.side].Team.Value = string.upper(v_17.Name)
end
end
end
end
arg1.toggled = true
arg1.session = any_GenerateGUID_result1_upvr
for i_18, v_18 in next, tbl_upvw_3[var143] do
if v_18.Name == arg1.side then
arg1.index.team = i_18
end
end
for i_19, v_19 in next, tbl_upvw_2 do
if v_19 and v_19.Name == var143 then
arg1.current = var143
arg1.index.league = i_19
end
end
arg1:updateTeam()
teams_upvr.league.label.Text = string.upper(var143)
teams_upvr.Visible = true
Services_upvr.TweenService:Create(main_upvr.gradient, TweenInfo.new(0.2, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {
ImageTransparency = 0;
}):Play()
Services_upvr.TweenService:Create(teams_upvr, TweenInfo.new(0.2, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {
GroupTransparency = 0;
Position = UDim2.new(0.5, 0, 0.5, 0);
}):Play()
task.spawn(function() -- Line 365
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: any_GenerateGUID_result1_upvr (readonly)
[3]: teams_upvr (copied, readonly)
]]
for i_20 = 60, 0, -1 do
if not arg1.session then break end
if arg1.session ~= any_GenerateGUID_result1_upvr then break end
teams_upvr.buttons.confirm.countdown.Text = tostring(i_20)
task.wait(1)
end
if arg1.session and arg1.session == any_GenerateGUID_result1_upvr then
i_20 = false
arg1:toggle(i_20)
end
end)
else
any_GenerateGUID_result1_upvr = nil
arg1.session = any_GenerateGUID_result1_upvr
any_GenerateGUID_result1_upvr = Services_upvr.TweenService
local _ = {
ImageTransparency = 1;
}
any_GenerateGUID_result1_upvr = any_GenerateGUID_result1_upvr:Create(main_upvr.gradient, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), _):Play
any_GenerateGUID_result1_upvr()
any_GenerateGUID_result1_upvr = Services_upvr.TweenService
local _ = {
GroupTransparency = 1;
Position = UDim2.new(0.5, 0, 0.5, 20);
}
any_GenerateGUID_result1_upvr = any_GenerateGUID_result1_upvr:Create(teams_upvr, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), _):Play
any_GenerateGUID_result1_upvr()
any_GenerateGUID_result1_upvr = task.wait
any_GenerateGUID_result1_upvr(0.2)
any_GenerateGUID_result1_upvr = false
arg1.toggled = any_GenerateGUID_result1_upvr
any_GenerateGUID_result1_upvr = teams_upvr
any_GenerateGUID_result1_upvr.Visible = false
any_GenerateGUID_result1_upvr = References_upvr.Main.config.AutoSystem.Value
if any_GenerateGUID_result1_upvr then
any_GenerateGUID_result1_upvr = any_new_result1_upvr:send
any_GenerateGUID_result1_upvr("captain")
end
any_GenerateGUID_result1_upvr = any_new_result1_upvr:send
any_GenerateGUID_result1_upvr("teamSelection", arg1.side, References_upvr.Main.config.Stats[arg1.side].Team.Value)
any_GenerateGUID_result1_upvr = any_new_result1_upvr:send
any_GenerateGUID_result1_upvr("kitTypeSelection", arg1.side, References_upvr.Main.config.Stats[arg1.side]["Kit Type"].Value)
any_GenerateGUID_result1_upvr = nil
arg1.side = any_GenerateGUID_result1_upvr
end
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:20
-- Luau version 6, Types version 3
-- Time taken: 0.014917 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local voteKick_upvr = References_upvr.PlayerGui:WaitForChild("main", 100):WaitForChild("voteKick", 100)
local module = {
toggled = false;
}
local any_load_result1_upvr = _engine:load("Theme", "utils")
local any_new_result1_upvr = _engine:load("Network").new()
function module.init(arg1) -- Line 23
--[[ Upvalues[5]:
[1]: any_load_result1_upvr (readonly)
[2]: voteKick_upvr (readonly)
[3]: References_upvr (readonly)
[4]: Services_upvr (readonly)
[5]: any_new_result1_upvr (readonly)
]]
for _, v in next, {"right", "left"} do
voteKick_upvr.progress.progress[v].circle.UIGradient.Color = ColorSequence.new({ColorSequenceKeypoint.new(0, any_load_result1_upvr.Text), ColorSequenceKeypoint.new(0.5, any_load_result1_upvr.Text), ColorSequenceKeypoint.new(0.501, any_load_result1_upvr.Accent), ColorSequenceKeypoint.new(1, any_load_result1_upvr.Accent)})
end
for _, v_2_upvr in next, voteKick_upvr.buttons:GetChildren() do
if v_2_upvr and v_2_upvr:IsA("TextButton") then
v_2_upvr.MouseEnter:Connect(function() -- Line 36
--[[ Upvalues[5]:
[1]: arg1 (readonly)
[2]: References_upvr (copied, readonly)
[3]: Services_upvr (copied, readonly)
[4]: v_2_upvr (readonly)
[5]: any_load_result1_upvr (copied, readonly)
]]
if arg1.toggled then
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(v_2_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Accent;
TextColor3 = any_load_result1_upvr.Text;
}):Play()
end
end)
v_2_upvr.MouseLeave:Connect(function() -- Line 42
--[[ Upvalues[3]:
[1]: Services_upvr (copied, readonly)
[2]: v_2_upvr (readonly)
[3]: any_load_result1_upvr (copied, readonly)
]]
Services_upvr.TweenService:Create(v_2_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Text;
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end)
v_2_upvr.MouseButton1Click:Connect(function() -- Line 45
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: References_upvr (copied, readonly)
[3]: any_new_result1_upvr (copied, readonly)
[4]: v_2_upvr (readonly)
]]
if arg1.toggled then
References_upvr.Main.sounds.UI.Click:Play()
any_new_result1_upvr:send("voteKick", arg1.current, v_2_upvr.Name)
arg1:toggle(false)
end
end)
end
end
script:GetAttributeChangedSignal("toggle"):Connect(function() -- Line 55
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if script:GetAttribute("toggle") ~= "" then
arg1:toggle(script:GetAttribute("toggle"))
script:SetAttribute("toggle", "")
end
end)
end
function module.toggle(arg1, arg2) -- Line 63
--[[ Upvalues[2]:
[1]: Services_upvr (readonly)
[2]: voteKick_upvr (readonly)
]]
if arg2 then
local any_GenerateGUID_result1_upvr = Services_upvr.HttpService:GenerateGUID(false)
arg1.toggled = true
arg1.session = any_GenerateGUID_result1_upvr
arg1.current = arg2
voteKick_upvr.main.user.Text = arg2
voteKick_upvr.Visible = true
Services_upvr.TweenService:Create(voteKick_upvr, TweenInfo.new(0.2, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {
GroupTransparency = 0;
}):Play()
Services_upvr.TweenService:Create(voteKick_upvr.UIStroke, TweenInfo.new(0.2, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {
Transparency = 0;
}):Play()
for _, v_3 in next, {"right", "left"} do
if v_3 == "right" then
voteKick_upvr.progress.progress[v_3].circle.UIGradient.Rotation = 0
else
voteKick_upvr.progress.progress[v_3].circle.UIGradient.Rotation = 180
end
end
task.spawn(function() -- Line 84
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: any_GenerateGUID_result1_upvr (readonly)
[3]: voteKick_upvr (copied, readonly)
[4]: Services_upvr (copied, readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
for i_4 = 15, 0, -1 do
local var43
if not var43 then break end
var43 = arg1.session
if var43 ~= any_GenerateGUID_result1_upvr then break end
var43 = 1
for _, v_4 in next, {"right", "left"} do
local var45
if v_4 == "left" then
var45 = math.clamp(math.clamp((15 - i_4) / 15, 0, 1) * 100 * 3.6, 0, 360)
end
if v_4 == "left" and 180 <= voteKick_upvr.progress.progress.right.circle.UIGradient.Rotation or v_4 == "right" then
if 168 < var45 and var45 <= 192 and v_4 == "right" or v_4 == "left" and 168 < var45 and var45 <= 192 then
Services_upvr.TweenService:Create(voteKick_upvr.progress.progress[v_4].circle.UIGradient, TweenInfo.new(0.5, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut), {
Rotation = math.clamp(var45, 180, 360);
}):Play()
var43 = 0.5
else
local tbl = {}
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
tbl.Rotation = math.clamp(var45, 180, 360)
Services_upvr.TweenService:Create(voteKick_upvr.progress.progress[v_4].circle.UIGradient, TweenInfo.new(1, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut), tbl):Play()
end
end
end
task.wait(var43)
end
end)
task.spawn(function() -- Line 117
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: any_GenerateGUID_result1_upvr (readonly)
[3]: voteKick_upvr (copied, readonly)
]]
for i_6 = 15, 0, -1 do
if not arg1.session then break end
if arg1.session ~= any_GenerateGUID_result1_upvr then break end
voteKick_upvr.progress.countdown.Text = tostring(i_6)
task.wait(1)
end
if arg1.session and arg1.session == any_GenerateGUID_result1_upvr then
i_6 = false
arg1:toggle(i_6)
end
end)
else
any_GenerateGUID_result1_upvr = nil
arg1.session = any_GenerateGUID_result1_upvr
any_GenerateGUID_result1_upvr = nil
arg1.current = any_GenerateGUID_result1_upvr
any_GenerateGUID_result1_upvr = Services_upvr.TweenService
local _ = {
GroupTransparency = 1;
}
any_GenerateGUID_result1_upvr = any_GenerateGUID_result1_upvr:Create(voteKick_upvr, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), _):Play
any_GenerateGUID_result1_upvr()
any_GenerateGUID_result1_upvr = Services_upvr.TweenService
local _ = {
Transparency = 1;
}
any_GenerateGUID_result1_upvr = any_GenerateGUID_result1_upvr:Create(voteKick_upvr.UIStroke, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), _):Play
any_GenerateGUID_result1_upvr()
any_GenerateGUID_result1_upvr = task.wait
any_GenerateGUID_result1_upvr(0.2)
any_GenerateGUID_result1_upvr = next
for _, v_5 in any_GenerateGUID_result1_upvr, {"right", "left"} do
if v_5 == "right" then
voteKick_upvr.progress.progress[v_5].circle.UIGradient.Rotation = 0
else
voteKick_upvr.progress.progress[v_5].circle.UIGradient.Rotation = 180
end
end
any_GenerateGUID_result1_upvr = false
arg1.toggled = any_GenerateGUID_result1_upvr
any_GenerateGUID_result1_upvr = voteKick_upvr
any_GenerateGUID_result1_upvr.Visible = false
end
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:22
-- Luau version 6, Types version 3
-- Time taken: 0.129023 seconds
local _engine = _G._engine
local any_load_result1_upvr_4 = _engine:load("FormatNumber", "utils")
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local PlayerGui = References_upvr.PlayerGui
local Profile_upvr = References_upvr.Profile
while not Profile_upvr:GetAttribute("Loaded") and tick() - tick() <= 2 do
task.wait()
end
local IntValue_upvr_2 = Instance.new("IntValue")
IntValue_upvr_2.Value = Profile_upvr.stats.Cash.Value
local IntValue_upvr = Instance.new("IntValue")
IntValue_upvr.Value = Profile_upvr.stats.Cash.Value
local NumberValue_upvr_2 = Instance.new("NumberValue")
NumberValue_upvr_2.Name = "lerpPlay"
NumberValue_upvr_2.Parent = script
NumberValue_upvr_2.Value = 0
local NumberValue_upvr = Instance.new("NumberValue")
NumberValue_upvr.Name = "lerpCustomize"
NumberValue_upvr.Parent = script
NumberValue_upvr.Value = 0
local main_upvr = PlayerGui:WaitForChild("main", 100)
local menu_upvr = PlayerGui:WaitForChild("menu", 100)
local module_upvr = {
current = "home";
inputInProcess = false;
index = {
home = 1;
kickoff = 2;
servers = 3;
customize = 4;
store = 5;
};
navigation = {
container = "none";
current = "none";
horizontal = "left";
vertical = 1;
debounce = false;
};
tabs = {
debounce = false;
};
bulkFadeGroups = {};
pages = {};
cache = {};
updateCash = function(arg1) -- Line 84, Named "updateCash"
--[[ Upvalues[4]:
[1]: IntValue_upvr (readonly)
[2]: IntValue_upvr_2 (readonly)
[3]: menu_upvr (readonly)
[4]: any_load_result1_upvr_4 (readonly)
]]
IntValue_upvr.Value = IntValue_upvr_2.Value
menu_upvr.menu.main.profile.cash.cash.Text = tostring(any_load_result1_upvr_4.FormatLong(IntValue_upvr_2.Value))
end;
}
local any_load_result1_upvr_5 = _engine:load("ThumbnailService", "utils")
function module_upvr.updateProfile(arg1) -- Line 89
--[[ Upvalues[6]:
[1]: menu_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
[3]: any_load_result1_upvr_5 (readonly)
[4]: any_load_result1_upvr_4 (readonly)
[5]: IntValue_upvr_2 (readonly)
[6]: Profile_upvr (readonly)
]]
menu_upvr.menu.main.profile.main.display.Text = LocalPlayer_upvr.DisplayName
menu_upvr.menu.main.profile.main.user.Text = LocalPlayer_upvr.Name
menu_upvr.menu.main.profile.main.avatar.Image = any_load_result1_upvr_5:get(LocalPlayer_upvr.UserId)
menu_upvr.menu.main.profile.cash.cash.Text = tostring(any_load_result1_upvr_4.FormatLong(IntValue_upvr_2.Value))
menu_upvr.menu.main.profile.level.level.level.Text = tostring(Profile_upvr.level.Level.Value)
menu_upvr.menu.main.profile.level.progress.xp.Text = string.format("<b>%s XP</b>/%s XP", tostring(any_load_result1_upvr_4.FormatLong(Profile_upvr.level.XP.Value)), tostring(any_load_result1_upvr_4.FormatLong(Profile_upvr.level.XPNeeded.Value)))
menu_upvr.menu.main.profile.level.progress.bar.bar:TweenSize(UDim2.new((Profile_upvr.level.XP.Value - Profile_upvr.level.PreviousXPNeeded.Value) / (Profile_upvr.level.XPNeeded.Value - Profile_upvr.level.PreviousXPNeeded.Value), 0, 1, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.2, true)
end
function module_upvr.hover(arg1, arg2) -- Line 100
--[[ Upvalues[3]:
[1]: menu_upvr (readonly)
[2]: Services_upvr (readonly)
[3]: References_upvr (readonly)
]]
if script:GetAttribute("freeze") then
else
for _, v_12 in next, menu_upvr.menu.main.tabs:GetChildren() do
if v_12 and v_12:IsA("Frame") then
for _, v_13 in next, v_12:GetChildren() do
if v_13 and v_13:IsA("Frame") and v_13:FindFirstChild("main") and v_13.main:FindFirstChild("button") and v_13 ~= arg2 then
if v_13.main:FindFirstChild("icon") then
Services_upvr.TweenService:Create(v_13.main.icon.icon, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(35, 39, 50);
}):Play()
end
Services_upvr.TweenService:Create(v_13.main, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 0;
}):Play()
Services_upvr.TweenService:Create(v_13.main.gfx.gfx, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 1;
}):Play()
Services_upvr.TweenService:Create(v_13.main.label, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(35, 39, 50);
}):Play()
Services_upvr.TweenService:Create(v_13.main.description, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(35, 39, 50);
}):Play()
Services_upvr.TweenService:Create(v_13.main.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1;
}):Play()
Services_upvr.TweenService:Create(v_13.main.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(35, 39, 50);
Position = UDim2.new(0, 15, 0, 10);
}):Play()
Services_upvr.TweenService:Create(v_13.main.label.shadow, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Position = UDim2.new(0, 0, 0, 0);
}):Play()
Services_upvr.TweenService:Create(v_13.main.description, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(35, 39, 50);
Position = UDim2.new(0, 15, 0, 60);
}):Play()
Services_upvr.TweenService:Create(v_13.main.description.shadow, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Position = UDim2.new(0, 0, 0, -0);
}):Play()
end
end
end
end
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(arg2.main, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 1;
}):Play()
Services_upvr.TweenService:Create(arg2.main.gfx.gfx, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 0.3;
}):Play()
Services_upvr.TweenService:Create(arg2.main.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1.03;
}):Play()
if arg2.main:FindFirstChild("icon") then
Services_upvr.TweenService:Create(arg2.main.icon.icon, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end
if arg2.main.label.TextXAlignment == Enum.TextXAlignment.Left then
Services_upvr.TweenService:Create(arg2.main.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
Position = UDim2.new(0, 18, 0, 7);
}):Play()
Services_upvr.TweenService:Create(arg2.main.label.shadow, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Position = UDim2.new(0, -3, 0, 3);
}):Play()
Services_upvr.TweenService:Create(arg2.main.description, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
Position = UDim2.new(0, 18, 0, 57);
}):Play()
Services_upvr.TweenService:Create(arg2.main.description.shadow, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Position = UDim2.new(0, -3, 0, 3);
}):Play()
return
end
if arg2.main.label.TextXAlignment == Enum.TextXAlignment.Right then
Services_upvr.TweenService:Create(arg2.main.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
Position = UDim2.new(0, 12, 0, 7);
}):Play()
Services_upvr.TweenService:Create(arg2.main.label.shadow, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Position = UDim2.new(0, 3, 0, 3);
}):Play()
Services_upvr.TweenService:Create(arg2.main.description, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
Position = UDim2.new(0, 12, 0, 57);
}):Play()
Services_upvr.TweenService:Create(arg2.main.description.shadow, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Position = UDim2.new(0, 3, 0, 3);
}):Play()
end
end
end
function module_upvr.update(arg1, arg2, arg3) -- Line 149
arg1.navigation.container = arg2.Name
arg1.navigation.current = arg3.Name
arg1.navigation.horizontal = arg3.alignment.horizontal.Value
arg1.navigation.vertical = arg3.alignment.vertical.Value
end
function module_upvr.move(arg1, arg2) -- Line 156
--[[ Upvalues[1]:
[1]: menu_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [2] 2. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [2] 2. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [7] 5. Error Block 3 start (CF ANALYSIS FAILED)
local current = arg1.navigation.current
-- KONSTANTERROR: [7] 5. Error Block 3 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [38] 23. Error Block 128 start (CF ANALYSIS FAILED)
for _, v in next, current:GetChildren() do
if v and v:IsA("Frame") and v:FindFirstChild("alignment") and v.alignment.vertical.Value == arg1.navigation.vertical and v.alignment.horizontal.Value == "right" then
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [75.5]
if not nil then
arg1:update(current, v)
arg1:hover(v)
return
end
end
end
do
return
end
-- KONSTANTERROR: [38] 23. Error Block 128 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [90] 58. Error Block 15 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [90] 58. Error Block 15 end (CF ANALYSIS FAILED)
end
function module_upvr.select(arg1, arg2) -- Line 264
--[[ Upvalues[2]:
[1]: menu_upvr (readonly)
[2]: Services_upvr (readonly)
]]
if not arg1.cache.buttonDebounce and arg1.current ~= arg2.Name then
arg1.cache.buttonDebounce = true
if arg1.bulkFadeGroups[arg1.current] then
arg1.bulkFadeGroups[arg1.current]:FadeOut()
end
arg1.current = arg2.Name
menu_upvr.menu.main.tabs.UIPageLayout:JumpTo(menu_upvr.menu.main.tabs[arg2.Name])
task.wait(0.1)
if arg1.bulkFadeGroups[arg2.Name] then
arg1.bulkFadeGroups[arg2.Name]:FadeIn()
end
if Services_upvr.UserInputService.GamepadEnabled then
for _, v_2 in next, menu_upvr.menu.main.tabs[arg2.Name]:GetChildren() do
if v_2 and v_2:IsA("Frame") and v_2.LayoutOrder == 1 and v_2:FindFirstChild("alignment") then
arg1.navigation.container = arg2.Name
arg1.navigation.current = v_2.Name
arg1.navigation.horizontal = v_2.alignment.horizontal.Value
arg1.navigation.vertical = v_2.alignment.vertical.Value
arg1:hover(v_2)
end
end
end
arg1.cache.buttonDebounce = nil
end
end
local any_load_result1_upvr_2 = _engine:load("CoreMethods", "utils")
local any_load_result1_upvr = _engine:load("TeamService", "utils")
local any_load_result1_upvr_3 = _engine:load("BulkFade", "utils")
local movementController_upvr = script.Parent.Parent:WaitForChild("controllers", 100):WaitForChild("movementController", 100)
local CurrentCamera_upvr = workspace.CurrentCamera
local menu_upvr_2 = main_upvr:WaitForChild("buttons", 100):WaitForChild("menu", 100)
local mouse_upvr = LocalPlayer_upvr:GetMouse()
function module_upvr.init(arg1) -- Line 297
--[[ Upvalues[18]:
[1]: References_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
[3]: menu_upvr (readonly)
[4]: any_load_result1_upvr_2 (readonly)
[5]: any_load_result1_upvr (readonly)
[6]: Services_upvr (readonly)
[7]: any_load_result1_upvr_3 (readonly)
[8]: movementController_upvr (readonly)
[9]: main_upvr (readonly)
[10]: NumberValue_upvr_2 (readonly)
[11]: NumberValue_upvr (readonly)
[12]: CurrentCamera_upvr (readonly)
[13]: menu_upvr_2 (readonly)
[14]: module_upvr (readonly)
[15]: Profile_upvr (readonly)
[16]: IntValue_upvr_2 (readonly)
[17]: IntValue_upvr (readonly)
[18]: mouse_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local clone_2_upvr = References_upvr.Main.rigs.Character:Clone()
local pcall_result1, pcall_result2_2 = pcall(function() -- Line 302
--[[ Upvalues[1]:
[1]: LocalPlayer_upvr (copied, readonly)
]]
return _G._services.Players:GetCharacterAppearanceAsync(LocalPlayer_upvr.UserId)
end)
if pcall_result1 and pcall_result2_2 then
for _, v_3 in next, pcall_result2_2:GetChildren() do
if v_3:IsA("Accessory") and not v_3:FindFirstChildWhichIsA("WrapLayer", true) and not v_3:FindFirstChild("BodyBackAttachment", true) and not v_3:FindFirstChild("WaistBackAttachment", true) then
v_3.Parent = clone_2_upvr
elseif v_3:IsA("BodyColors") then
clone_2_upvr["Body Colors"]:Destroy()
v_3.Parent = clone_2_upvr
elseif v_3:IsA("Decal") and v_3.Name == "face" then
clone_2_upvr.Head.face.Texture = v_3.Texture
end
end
end
if References_upvr.Main.boots:FindFirstChild(References_upvr.Profile.inventory.Current.Boots.Value) then
clone_2_upvr.RightBoot.TextureID = References_upvr.Main.boots[References_upvr.Profile.inventory.Current.Boots.Value].TextureID
clone_2_upvr.LeftBoot.TextureID = References_upvr.Main.boots[References_upvr.Profile.inventory.Current.Boots.Value].TextureID
end
menu_upvr.menu.Visible = true
clone_2_upvr.Parent = workspace.game.menu
clone_2_upvr:SetPrimaryPartCFrame(workspace.game.menu.character.menu.CFrame)
any_load_result1_upvr_2:SetCoreGui("SetCoreGuiEnabled", "Chat", false)
local clone_3 = References_upvr.Main.balls["Adidas RF Pro 23/24"]:Clone()
clone_3.Parent = clone_2_upvr.Ball.design
clone_3.Size = clone_2_upvr.Ball.Size
clone_3.CFrame = clone_2_upvr.Ball.CFrame
clone_2_upvr.Ball.Transparency = 1
local WeldConstraint = Instance.new("WeldConstraint", clone_3)
WeldConstraint.Part0 = clone_3
WeldConstraint.Part1 = clone_2_upvr.Ball
local any_LoadAnimation_result1_upvr_2 = clone_2_upvr.Humanoid.Animator:LoadAnimation(References_upvr.Main.animations.Player.Menu)
any_LoadAnimation_result1_upvr_2:Play()
local function loadKit_upvr(arg1_7) -- Line 344, Named "loadKit"
--[[ Upvalues[3]:
[1]: clone_2_upvr (readonly)
[2]: LocalPlayer_upvr (copied, readonly)
[3]: References_upvr (copied, readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [5] 5. Error Block 49 start (CF ANALYSIS FAILED)
for i_4, v_4 in next, clone_2_upvr:GetChildren() do
if v_4:IsA("Shirt") or v_4:IsA("Pants") then
v_4:Destroy()
end
end
if clone_2_upvr:FindFirstChild("LayeredShirt") then
clone_2_upvr.LayeredShirt.Handle.Transparency = 1
i_4 = clone_2_upvr
i_4.LayeredShirt.Handle.AccessoryWrapLayer.Enabled = false
end
if clone_2_upvr:FindFirstChild("LayeredPants") then
clone_2_upvr.LayeredPants.Handle.Transparency = 1
i_4 = clone_2_upvr
i_4.LayeredPants.Handle.AccessoryWrapLayer.Enabled = false
end
i_4 = LocalPlayer_upvr
if string.find(i_4.Team.Name, "GK") and arg1_7:FindFirstChild("GK Shirt") and arg1_7:FindFirstChild("GK Pants") then
arg1_7["GK Shirt"]:Clone().Parent = clone_2_upvr
arg1_7["GK Pants"]:Clone().Parent = clone_2_upvr
return
end
arg1_7.Shirt:Clone().Parent = clone_2_upvr
arg1_7.Pants:Clone().Parent = clone_2_upvr
do
return
end
-- KONSTANTERROR: [5] 5. Error Block 49 end (CF ANALYSIS FAILED)
end
local function updateKit_upvr() -- Line 399, Named "updateKit"
--[[ Upvalues[5]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: any_load_result1_upvr (copied, readonly)
[3]: loadKit_upvr (readonly)
[4]: clone_2_upvr (readonly)
[5]: Services_upvr (copied, readonly)
]]
if string.find(LocalPlayer_upvr.Team.Name, "Home") then
loadKit_upvr(any_load_result1_upvr:getKitFromTeam("Home"))
else
if string.find(LocalPlayer_upvr.Team.Name, "Away") then
loadKit_upvr(any_load_result1_upvr:getKitFromTeam("Away"))
return
end
for _, v_14 in next, clone_2_upvr:GetChildren() do
if v_14:IsA("Shirt") or v_14:IsA("Pants") then
v_14:Destroy()
end
end
clone_2_upvr.LayeredShirt.Handle.Transparency = 1
clone_2_upvr.LayeredShirt.Handle.AccessoryWrapLayer.Enabled = false
Services_upvr.StarterPlayer.StarterCharacter.ClassicShirt:Clone().Parent = clone_2_upvr
Services_upvr.StarterPlayer.StarterCharacter.ClassicPants:Clone().Parent = clone_2_upvr
end
end
LocalPlayer_upvr:GetPropertyChangedSignal("Team"):Connect(function() -- Line 421
--[[ Upvalues[1]:
[1]: updateKit_upvr (readonly)
]]
updateKit_upvr()
end)
for _, v_5 in next, {"Home", "Away"} do
References_upvr.Main.config.Stats[v_5].Team.Changed:Connect(updateKit_upvr)
References_upvr.Main.config.Stats[v_5]["Kit Type"].Changed:Connect(updateKit_upvr)
local _
end
for _, v_6 in next, menu_upvr.menu.main.tabs:GetChildren() do
if v_6 and v_6:IsA("Frame") then
arg1.bulkFadeGroups[v_6.Name] = any_load_result1_upvr_3.CreateGroup(v_6:GetDescendants(), TweenInfo.new(0.4, Enum.EasingStyle.Quint, Enum.EasingDirection.Out))
if v_6.Name ~= arg1.current then
arg1.bulkFadeGroups[v_6.Name]:FadeOut()
end
end
end
local function toggleMenu_upvr() -- Line 444, Named "toggleMenu"
--[[ Upvalues[11]:
[1]: menu_upvr (copied, readonly)
[2]: References_upvr (copied, readonly)
[3]: movementController_upvr (copied, readonly)
[4]: any_load_result1_upvr_2 (copied, readonly)
[5]: main_upvr (copied, readonly)
[6]: NumberValue_upvr_2 (copied, readonly)
[7]: NumberValue_upvr (copied, readonly)
[8]: clone_2_upvr (readonly)
[9]: any_LoadAnimation_result1_upvr_2 (readonly)
[10]: CurrentCamera_upvr (copied, readonly)
[11]: Services_upvr (copied, readonly)
]]
if not menu_upvr.Enabled then
References_upvr.Main.sounds.UI.Click:Play()
menu_upvr.Enabled = true
menu_upvr.gradient:TweenPosition(UDim2.new(0, 0, 0, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Quint, 0.5, true)
task.wait(0.5)
movementController_upvr:SetAttribute("forceStop", true)
movementController_upvr:SetAttribute("canSprint", false)
any_load_result1_upvr_2:SetCoreGui("SetCoreGuiEnabled", "Chat", false)
main_upvr.Enabled = false
menu_upvr.menu.Visible = true
NumberValue_upvr_2.Value = 0
NumberValue_upvr.Value = 0
clone_2_upvr.Parent = workspace.game.menu
clone_2_upvr:SetPrimaryPartCFrame(workspace.game.menu.character.menu.CFrame)
any_LoadAnimation_result1_upvr_2:Play(0)
task.delay(0.1, function() -- Line 467
--[[ Upvalues[1]:
[1]: any_LoadAnimation_result1_upvr_2 (copied, readonly)
]]
for _, v_7 in next, workspace.game.menu.Character.Humanoid.Animator:GetPlayingAnimationTracks() do
if v_7 and v_7 ~= any_LoadAnimation_result1_upvr_2 then
v_7:Stop(0)
end
end
end)
script:SetAttribute("freeze", false)
script:SetAttribute("enabled", true)
CurrentCamera_upvr.FieldOfView = 30
Services_upvr.Lighting.DepthOfField.Enabled = true
Services_upvr.Lighting.DepthOfField.FarIntensity = 1
Services_upvr.Lighting.DepthOfField.FocusDistance = 0
Services_upvr.Lighting.DepthOfField.InFocusRadius = 50
Services_upvr.Lighting.DepthOfField.NearIntensity = 0
task.wait(0.3)
References_upvr.Main.sounds.Player.Woosh:Play()
menu_upvr.gradient:TweenPosition(UDim2.new(1, 700, 0, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Quint, 0.5, true)
task.wait(0.5)
CurrentCamera_upvr.FieldOfView = 30
menu_upvr.gradient.Position = UDim2.new(-1, -700, 0, 0)
end
end
menu_upvr.console.controls.back.Visible = false
menu_upvr.console.controls.spin.Visible = false
if Services_upvr.UserInputService.GamepadEnabled then
menu_upvr.console.Visible = true
end
Services_upvr.UserInputService.GamepadConnected:Connect(function() -- Line 507
--[[ Upvalues[1]:
[1]: menu_upvr (copied, readonly)
]]
menu_upvr.console.Visible = true
end)
Services_upvr.UserInputService.GamepadDisconnected:Connect(function() -- Line 511
--[[ Upvalues[1]:
[1]: menu_upvr (copied, readonly)
]]
menu_upvr.console.Visible = false
end)
Services_upvr.UserInputService.InputBegan:Connect(function(arg1_8, arg2) -- Line 515
--[[ Upvalues[5]:
[1]: arg1 (readonly)
[2]: menu_upvr (copied, readonly)
[3]: References_upvr (copied, readonly)
[4]: Services_upvr (copied, readonly)
[5]: toggleMenu_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [6] 4. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [6] 4. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [14] 10. Error Block 3 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [14] 10. Error Block 3 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [21] 15. Error Block 4 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [21] 15. Error Block 4 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [28] 20. Error Block 5 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [28] 20. Error Block 5 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [163] 113. Error Block 21 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [163] 113. Error Block 21 end (CF ANALYSIS FAILED)
end)
Services_upvr.UserInputService.InputChanged:Connect(function(arg1_9, arg2) -- Line 645
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_9.KeyCode == Enum.KeyCode.Thumbstick1 and script:GetAttribute("enabled") and not script:GetAttribute("freeze") and arg1.navigation.current ~= "none" and arg1.navigation.container ~= "none" and not arg1.inputInProcess then
arg1.inputInProcess = true
if 0.7 <= arg1_9.Position.X and not arg1.navigation.debounce then
arg1.navigation.debounce = true
arg1:move("right")
elseif arg1_9.Position.X <= -0.7 and not arg1.navigation.debounce then
arg1.navigation.debounce = true
arg1:move("left")
elseif 0.7 <= arg1_9.Position.Y and not arg1.navigation.debounce then
arg1.navigation.debounce = true
arg1:move("up")
elseif arg1_9.Position.Y <= -0.7 and not arg1.navigation.debounce then
arg1.navigation.debounce = true
arg1:move("down")
elseif arg1_9.Position.X < 0.3 and -0.3 < arg1_9.Position.X and arg1_9.Position.Y < 0.3 and -0.3 < arg1_9.Position.Y and arg1.navigation.debounce then
task.delay(0.1, function() -- Line 662
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.navigation.debounce = false
end)
end
task.delay(0.2, function() -- Line 667
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.inputInProcess = false
end)
end
end)
menu_upvr_2.button.MouseEnter:Connect(function() -- Line 675
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: menu_upvr_2 (copied, readonly)
]]
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(menu_upvr_2.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(177, 177, 177);
}):Play()
end)
menu_upvr_2.button.MouseLeave:Connect(function() -- Line 680
--[[ Upvalues[2]:
[1]: Services_upvr (copied, readonly)
[2]: menu_upvr_2 (copied, readonly)
]]
Services_upvr.TweenService:Create(menu_upvr_2.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end)
menu_upvr_2.button.MouseButton1Click:Connect(function() -- Line 684
--[[ Upvalues[1]:
[1]: toggleMenu_upvr (readonly)
]]
toggleMenu_upvr()
end)
main_upvr.Enabled = false
menu_upvr.Enabled = true
CurrentCamera_upvr.CameraType = Enum.CameraType.Scriptable
CurrentCamera_upvr.CFrame = workspace.game.menu.camera.menu.CFrame
CurrentCamera_upvr.FieldOfView = 30
Services_upvr.Lighting.DepthOfField.Enabled = true
Services_upvr.Lighting.DepthOfField.FarIntensity = 1
Services_upvr.Lighting.DepthOfField.FocusDistance = 0
Services_upvr.Lighting.DepthOfField.InFocusRadius = 50
Services_upvr.Lighting.DepthOfField.NearIntensity = 0
module_upvr:updateProfile()
Profile_upvr.level.XP.Changed:Connect(module_upvr.updateProfile)
Profile_upvr.level.XPNeeded.Changed:Connect(module_upvr.updateProfile)
Profile_upvr.level.Level.Changed:Connect(module_upvr.updateProfile)
IntValue_upvr_2.Changed:Connect(module_upvr.updateCash)
Profile_upvr.stats.Cash.Changed:Connect(function() -- Line 710
--[[ Upvalues[5]:
[1]: References_upvr (copied, readonly)
[2]: IntValue_upvr_2 (copied, readonly)
[3]: IntValue_upvr (copied, readonly)
[4]: Services_upvr (copied, readonly)
[5]: Profile_upvr (copied, readonly)
]]
References_upvr.Main.sounds.UI.Points:Play()
IntValue_upvr_2.Value = IntValue_upvr.Value
Services_upvr.TweenService:Create(IntValue_upvr_2, TweenInfo.new(1.75, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut), {
Value = tonumber(Profile_upvr.stats.Cash.Value);
}):Play()
end)
Services_upvr.RunService.Heartbeat:Connect(function(arg1_10) -- Line 716
--[[ Upvalues[6]:
[1]: mouse_upvr (copied, readonly)
[2]: CurrentCamera_upvr (copied, readonly)
[3]: any_load_result1_upvr_2 (copied, readonly)
[4]: Services_upvr (copied, readonly)
[5]: NumberValue_upvr_2 (copied, readonly)
[6]: NumberValue_upvr (copied, readonly)
]]
if script:GetAttribute("enabled") then
local vector2_4 = Vector2.new(CurrentCamera_upvr.ViewportSize.X / 2, CurrentCamera_upvr.ViewportSize.Y / 2)
local var327 = Vector2.new(mouse_upvr.X, mouse_upvr.Y) - vector2_4
local vector2_3 = Vector2.new(var327.Y / vector2_4.Y * 0.5235987755982988, var327.X / vector2_4.X * 0.5235987755982988)
any_load_result1_upvr_2:SetCoreGui("SetCoreGuiEnabled", "Chat", false)
CurrentCamera_upvr.CameraType = Enum.CameraType.Scriptable
if not Services_upvr.UserInputService.TouchEnabled then
if not Services_upvr.UserInputService.GamepadEnabled then
Services_upvr.TweenService:Create(CurrentCamera_upvr, TweenInfo.new(arg1_10, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
FieldOfView = 30;
CFrame = workspace.game.menu.camera.menu.CFrame:Lerp(workspace.game.menu.camera.play.CFrame, NumberValue_upvr_2.Value):Lerp(workspace.game.menu.camera.customize.CFrame, NumberValue_upvr.Value) * CFrame.Angles(-vector2_3.X / 20, -vector2_3.Y / 20, 0);
}):Play()
return
end
end
Services_upvr.TweenService:Create(CurrentCamera_upvr, TweenInfo.new(arg1_10, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
FieldOfView = 30;
CFrame = workspace.game.menu.camera.menu.CFrame:Lerp(workspace.game.menu.camera.play.CFrame, NumberValue_upvr_2.Value):Lerp(workspace.game.menu.camera.customize.CFrame, NumberValue_upvr.Value);
}):Play()
end
end)
for _, v_8_upvr in next, menu_upvr.menu.main.buttons:GetChildren() do
if v_8_upvr and v_8_upvr:IsA("Frame") then
v_8_upvr.button.MouseEnter:Connect(function() -- Line 738
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: v_8_upvr (readonly)
]]
if script:GetAttribute("freeze") then
else
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(v_8_upvr.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 1;
}):Play()
if v_8_upvr:FindFirstChild("logo") then
Services_upvr.TweenService:Create(v_8_upvr.logo, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(255, 255, 255);
Position = UDim2.new(0.5, 0, 0.5, -2);
}):Play()
return
end
if v_8_upvr:FindFirstChild("label") then
Services_upvr.TweenService:Create(v_8_upvr.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
Position = UDim2.new(0.5, 0, 0.5, -2);
}):Play()
end
end
end)
v_8_upvr.button.MouseLeave:Connect(function() -- Line 753
--[[ Upvalues[2]:
[1]: Services_upvr (copied, readonly)
[2]: v_8_upvr (readonly)
]]
if script:GetAttribute("freeze") then
else
Services_upvr.TweenService:Create(v_8_upvr.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 0;
}):Play()
if v_8_upvr:FindFirstChild("logo") then
Services_upvr.TweenService:Create(v_8_upvr.logo, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(35, 39, 50);
Position = UDim2.new(0.5, 0, 0.5, 0);
}):Play()
return
end
if v_8_upvr:FindFirstChild("label") then
Services_upvr.TweenService:Create(v_8_upvr.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(35, 39, 50);
Position = UDim2.new(0.5, 0, 0.5, 0);
}):Play()
end
end
end)
v_8_upvr.button.MouseButton1Click:Connect(function() -- Line 766
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: v_8_upvr (readonly)
]]
if script:GetAttribute("freeze") then
else
References_upvr.Main.sounds.UI.Click:Play()
arg1:select(v_8_upvr)
end
end)
end
end
for _, v_9_upvr in next, script.pages:GetChildren() do
if v_9_upvr and v_9_upvr:IsA("ModuleScript") then
task.spawn(function() -- Line 781
--[[ Upvalues[1]:
[1]: v_9_upvr (readonly)
]]
require(v_9_upvr):init()
end)
end
end
for _, v_10_upvr in next, menu_upvr.menu.main.tabs:GetChildren() do
if v_10_upvr and v_10_upvr:IsA("Frame") then
if not arg1.pages[v_10_upvr.Name] and script:FindFirstChild(v_10_upvr.Name) then
arg1.pages[v_10_upvr.Name] = {}
end
for _, v_11_upvr in next, v_10_upvr:GetChildren() do
if v_11_upvr and v_11_upvr:IsA("Frame") and v_11_upvr:FindFirstChild("main") and v_11_upvr.main:FindFirstChild("button") then
local var349_upvw = false
if script:FindFirstChild(v_10_upvr.Name) and script[v_10_upvr.Name]:FindFirstChild(v_11_upvr.Name) then
arg1.pages[v_10_upvr.Name][v_11_upvr.Name] = require(script[v_10_upvr.Name][v_11_upvr.Name])
end
v_11_upvr.main.button.MouseEnter:Connect(function() -- Line 801
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: v_11_upvr (readonly)
]]
if script:GetAttribute("freeze") then
else
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(v_11_upvr.main, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 1;
}):Play()
Services_upvr.TweenService:Create(v_11_upvr.main.gfx.gfx, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 0.3;
}):Play()
Services_upvr.TweenService:Create(v_11_upvr.main.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1.03;
}):Play()
if v_11_upvr.main:FindFirstChild("icon") then
Services_upvr.TweenService:Create(v_11_upvr.main.icon.icon, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end
if v_11_upvr.main.label.TextXAlignment == Enum.TextXAlignment.Left then
Services_upvr.TweenService:Create(v_11_upvr.main.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
Position = UDim2.new(0, 18, 0, 7);
}):Play()
Services_upvr.TweenService:Create(v_11_upvr.main.label.shadow, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Position = UDim2.new(0, -3, 0, 3);
}):Play()
Services_upvr.TweenService:Create(v_11_upvr.main.description, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
Position = UDim2.new(0, 18, 0, 57);
}):Play()
Services_upvr.TweenService:Create(v_11_upvr.main.description.shadow, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Position = UDim2.new(0, -3, 0, 3);
}):Play()
return
end
if v_11_upvr.main.label.TextXAlignment == Enum.TextXAlignment.Right then
Services_upvr.TweenService:Create(v_11_upvr.main.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
Position = UDim2.new(0, 12, 0, 7);
}):Play()
Services_upvr.TweenService:Create(v_11_upvr.main.label.shadow, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Position = UDim2.new(0, 3, 0, 3);
}):Play()
Services_upvr.TweenService:Create(v_11_upvr.main.description, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
Position = UDim2.new(0, 12, 0, 57);
}):Play()
Services_upvr.TweenService:Create(v_11_upvr.main.description.shadow, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Position = UDim2.new(0, 3, 0, 3);
}):Play()
end
end
end)
v_11_upvr.main.button.MouseLeave:Connect(function() -- Line 828
--[[ Upvalues[2]:
[1]: v_11_upvr (readonly)
[2]: Services_upvr (copied, readonly)
]]
if script:GetAttribute("freeze") then
else
if v_11_upvr.main:FindFirstChild("icon") then
Services_upvr.TweenService:Create(v_11_upvr.main.icon.icon, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(35, 39, 50);
}):Play()
end
Services_upvr.TweenService:Create(v_11_upvr.main, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 0;
}):Play()
Services_upvr.TweenService:Create(v_11_upvr.main.gfx.gfx, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 1;
}):Play()
Services_upvr.TweenService:Create(v_11_upvr.main.label, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(35, 39, 50);
}):Play()
Services_upvr.TweenService:Create(v_11_upvr.main.description, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(35, 39, 50);
}):Play()
Services_upvr.TweenService:Create(v_11_upvr.main.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1;
}):Play()
Services_upvr.TweenService:Create(v_11_upvr.main.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(35, 39, 50);
Position = UDim2.new(0, 15, 0, 10);
}):Play()
Services_upvr.TweenService:Create(v_11_upvr.main.label.shadow, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Position = UDim2.new(0, 0, 0, 0);
}):Play()
Services_upvr.TweenService:Create(v_11_upvr.main.description, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(35, 39, 50);
Position = UDim2.new(0, 15, 0, 60);
}):Play()
Services_upvr.TweenService:Create(v_11_upvr.main.description.shadow, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Position = UDim2.new(0, 0, 0, -0);
}):Play()
end
end)
v_11_upvr.main.button.MouseButton1Down:Connect(function() -- Line 848
--[[ Upvalues[4]:
[1]: References_upvr (copied, readonly)
[2]: var349_upvw (read and write)
[3]: Services_upvr (copied, readonly)
[4]: v_11_upvr (readonly)
]]
if script:GetAttribute("freeze") then
else
References_upvr.Main.sounds.UI.Click:Play()
var349_upvw = true
Services_upvr.TweenService:Create(v_11_upvr.main.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Scale = 0.9;
}):Play()
end
end)
Services_upvr.UserInputService.InputEnded:Connect(function(arg1_11, arg2) -- Line 858
--[[ Upvalues[5]:
[1]: var349_upvw (read and write)
[2]: v_11_upvr (readonly)
[3]: Services_upvr (copied, readonly)
[4]: arg1 (readonly)
[5]: v_10_upvr (readonly)
]]
if arg1_11.UserInputType == Enum.UserInputType.MouseButton1 or arg1_11.UserInputType == Enum.UserInputType.Touch or var349_upvw and not script:GetAttribute("freeze") then
var349_upvw = false
if v_11_upvr.main:FindFirstChild("icon") then
Services_upvr.TweenService:Create(v_11_upvr.main.icon.icon, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(35, 39, 50);
}):Play()
end
Services_upvr.TweenService:Create(v_11_upvr.main.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Scale = 1;
}):Play()
Services_upvr.TweenService:Create(v_11_upvr.main, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 0;
}):Play()
Services_upvr.TweenService:Create(v_11_upvr.main.gfx.gfx, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 1;
}):Play()
Services_upvr.TweenService:Create(v_11_upvr.main.label, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(35, 39, 50);
}):Play()
Services_upvr.TweenService:Create(v_11_upvr.main.description, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(35, 39, 50);
}):Play()
Services_upvr.TweenService:Create(v_11_upvr.main.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1;
}):Play()
Services_upvr.TweenService:Create(v_11_upvr.main.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(35, 39, 50);
Position = UDim2.new(0, 15, 0, 10);
}):Play()
Services_upvr.TweenService:Create(v_11_upvr.main.label.shadow, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Position = UDim2.new(0, 0, 0, 0);
}):Play()
Services_upvr.TweenService:Create(v_11_upvr.main.description, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(35, 39, 50);
Position = UDim2.new(0, 15, 0, 60);
}):Play()
Services_upvr.TweenService:Create(v_11_upvr.main.description.shadow, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Position = UDim2.new(0, 0, 0, -0);
}):Play()
if arg1.pages[v_10_upvr.Name][v_11_upvr.Name] then
arg1.pages[v_10_upvr.Name][v_11_upvr.Name]:run(arg1.bulkFadeGroups[v_10_upvr.Name])
end
end
end)
end
end
end
end
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:25
-- Luau version 6, Types version 3
-- Time taken: 0.002022 seconds
local _engine = _G._engine
local menu = _engine.References.PlayerGui:WaitForChild("menu", 100)
local any_load_result1 = _engine:load("BulkFade", "utils")
local tbl_2_upvr = {
buttons = any_load_result1.CreateGroup(menu.menu.main.buttons:GetDescendants(), TweenInfo.new(0.4, Enum.EasingStyle.Quint, Enum.EasingDirection.Out));
profile = any_load_result1.CreateGroup(menu.menu.main.profile:GetDescendants(), TweenInfo.new(0.4, Enum.EasingStyle.Quint, Enum.EasingDirection.Out));
}
local module = {}
local any_new_result1_upvr = _engine:load("Teleporter").new(script.Parent.Parent, "none", 15758062201)
function module.run(arg1, arg2) -- Line 23
--[[ Upvalues[2]:
[1]: tbl_2_upvr (readonly)
[2]: any_new_result1_upvr (readonly)
]]
local tbl = {
buttons = tbl_2_upvr.buttons;
profile = tbl_2_upvr.profile;
}
tbl.origin = arg2
any_new_result1_upvr:prompt("training ground", nil, tbl)
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:26
-- Luau version 6, Types version 3
-- Time taken: 0.004628 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local menu_upvr = References_upvr.PlayerGui:WaitForChild("menu", 100)
local servers_upvr = script.Parent.Parent:WaitForChild("pages", 100):WaitForChild("servers", 100)
local var7_upvw = false
local tbl_upvr = {
menu = _engine:load("BulkFade", "utils").CreateGroup(menu_upvr.menu:GetDescendants(), TweenInfo.new(0.4, Enum.EasingStyle.Quint, Enum.EasingDirection.Out));
}
menu_upvr.pages.servers.overlay.BackgroundTransparency = 1
local BindableEvent_upvr = Instance.new("BindableEvent", script)
BindableEvent_upvr.Name = "back"
BindableEvent_upvr.Event:Connect(function() -- Line 34
--[[ Upvalues[6]:
[1]: servers_upvr (readonly)
[2]: References_upvr (readonly)
[3]: var7_upvw (read and write)
[4]: Services_upvr (readonly)
[5]: menu_upvr (readonly)
[6]: tbl_upvr (readonly)
]]
if servers_upvr:GetAttribute("freeze") then
else
References_upvr.Main.sounds.UI.Click:Play()
if not var7_upvw then
var7_upvw = true
Services_upvr.TweenService:Create(menu_upvr.pages.servers.overlay, TweenInfo.new(0.2, Enum.EasingStyle.Quint, Enum.EasingDirection.In), {
BackgroundTransparency = 1;
}):Play()
menu_upvr.pages.servers.main:TweenPosition(UDim2.new(0.5, 0, 1.5, 0), Enum.EasingDirection.In, Enum.EasingStyle.Quint, 0.2, true)
task.wait(0.15)
menu_upvr.menu.Visible = true
tbl_upvr.menu:FadeIn()
script.Parent.Parent:SetAttribute("freeze", false)
servers_upvr:SetAttribute("toggle", false)
task.wait(0.05)
menu_upvr.pages.servers.Visible = false
var7_upvw = false
end
end
end)
menu_upvr.pages.servers.main.top.back.back.MouseButton1Click:Connect(function() -- Line 60
--[[ Upvalues[1]:
[1]: BindableEvent_upvr (readonly)
]]
BindableEvent_upvr:Fire()
end)
return {
run = function(arg1) -- Line 68, Named "run"
--[[ Upvalues[5]:
[1]: tbl_upvr (readonly)
[2]: var7_upvw (read and write)
[3]: servers_upvr (readonly)
[4]: menu_upvr (readonly)
[5]: Services_upvr (readonly)
]]
tbl_upvr.menu:FadeOut()
var7_upvw = true
servers_upvr:SetAttribute("toggle", true)
script.Parent.Parent:SetAttribute("freeze", true)
task.wait(0.15)
menu_upvr.menu.Visible = false
menu_upvr.pages.servers.Visible = true
Services_upvr.TweenService:Create(menu_upvr.pages.servers.overlay, TweenInfo.new(0.3, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {
BackgroundTransparency = 0.3;
}):Play()
menu_upvr.pages.servers.main:TweenPosition(UDim2.new(0.5, 0, 0.5, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Quint, 0.3, true)
var7_upvw = false
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:27
-- Luau version 6, Types version 3
-- Time taken: 0.005509 seconds
local _engine = _G._engine
local any_load_result1 = _engine:load("BulkFade", "utils")
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local menu_upvr = References_upvr.PlayerGui:WaitForChild("menu", 100)
local tbl_upvr = {}
local var8_upvw = false
tbl_upvr.buttons = any_load_result1.CreateGroup(menu_upvr.menu.main.buttons:GetDescendants(), TweenInfo.new(0.3, Enum.EasingStyle.Quint, Enum.EasingDirection.Out))
tbl_upvr.tabs = any_load_result1.CreateGroup(menu_upvr.menu.main.tabs:GetDescendants(), TweenInfo.new(0.3, Enum.EasingStyle.Quint, Enum.EasingDirection.Out))
local BindableEvent_upvr = Instance.new("BindableEvent", script)
BindableEvent_upvr.Name = "back"
local var11_upvw = false
BindableEvent_upvr.Event:Connect(function() -- Line 29
--[[ Upvalues[5]:
[1]: References_upvr (readonly)
[2]: var11_upvw (read and write)
[3]: var8_upvw (read and write)
[4]: menu_upvr (readonly)
[5]: tbl_upvr (readonly)
]]
References_upvr.Main.sounds.UI.Click:Play()
if not var11_upvw then
var11_upvw = true
var8_upvw = false
menu_upvr.pages.private.main:TweenPosition(UDim2.new(0.5, 0, 1.5, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
task.wait(0.15)
menu_upvr.menu.main.buttons.Visible = true
menu_upvr.menu.main.tabs.Visible = true
tbl_upvr.buttons:FadeIn()
tbl_upvr.tabs:FadeIn()
script.Parent.Parent:SetAttribute("freeze", false)
menu_upvr.pages.private.Visible = false
task.wait(0.15)
var11_upvw = false
end
end)
menu_upvr.pages.private.main.top.back.MouseButton1Click:Connect(function() -- Line 53
--[[ Upvalues[1]:
[1]: BindableEvent_upvr (readonly)
]]
BindableEvent_upvr:Fire()
end)
local module = {}
local any_load_result1_3_upvr = _engine:load("Monetization", "utils")
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local any_load_result1_2_upvr = _engine:load("GamePassWhitelist", "utils")
function module.run(arg1) -- Line 61
--[[ Upvalues[7]:
[1]: any_load_result1_3_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
[3]: any_load_result1_2_upvr (readonly)
[4]: var8_upvw (read and write)
[5]: tbl_upvr (readonly)
[6]: menu_upvr (readonly)
[7]: Services_upvr (readonly)
]]
if any_load_result1_3_upvr.userOwnsPass(LocalPlayer_upvr, any_load_result1_3_upvr.gamePasses["Private Training"].gamePassId) or table.find(any_load_result1_2_upvr, LocalPlayer_upvr.UserId) or game.PlaceId == 15690159367 then
script.Parent.Parent:SetAttribute("freeze", true)
var8_upvw = true
tbl_upvr.buttons:FadeOut()
tbl_upvr.tabs:FadeOut()
task.wait(0.15)
menu_upvr.menu.main.buttons.Visible = false
menu_upvr.menu.main.tabs.Visible = false
menu_upvr.pages.private.Visible = true
menu_upvr.pages.private.main:TweenPosition(UDim2.new(0.5, 0, 0.5, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
else
local pcall_result1, pcall_result2 = pcall(function() -- Line 79
--[[ Upvalues[3]:
[1]: Services_upvr (copied, readonly)
[2]: LocalPlayer_upvr (copied, readonly)
[3]: any_load_result1_3_upvr (copied, readonly)
]]
return Services_upvr.MarketPlaceService:PromptGamePassPurchase(LocalPlayer_upvr, any_load_result1_3_upvr.gamePasses["Private Training"].gamePassId)
end)
if not pcall_result1 then
warn(string.format("An unexpected error occured while prompting game pass purchase | %s", pcall_result2))
end
end
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:28
-- Luau version 6, Types version 3
-- Time taken: 0.010171 seconds
local _engine = _G._engine
local References = _engine.References
local any_load_result1_upvr_2 = _engine:load("FormatNumber", "utils")
local config_upvr = References.Main.config
local menu_upvr = References.PlayerGui:WaitForChild("menu", 100)
local module = {}
local any_load_result1_upvr = _engine:load("TeamService", "utils")
function module.updateTeams(arg1) -- Line 17
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: menu_upvr (readonly)
]]
local tbl = {
home = any_load_result1_upvr:getTeamColorFromTeam("Home");
away = any_load_result1_upvr:getTeamColorFromTeam("Away");
}
for _, v in next, menu_upvr.menu.main.tabs.kickoff.stats.main.top:GetDescendants() do
if v and v:IsA("TextLabel") and v.Name == "score" and (v.Parent.Name == "home" or v.Parent.Name == "away") then
v.TextColor3 = tbl[v.Parent.Name]
end
end
for _, v_2 in next, menu_upvr.menu.main.tabs.kickoff.stats.main.percentage:GetDescendants() do
if v_2 and v_2:IsA("TextLabel") and v_2.Name == "percentage" and (v_2.Parent.Parent.Name == "home" or v_2.Parent.Parent.Name == "away") then
v_2.TextColor3 = tbl[v_2.Parent.Parent.Name]
end
end
for _, v_3 in next, menu_upvr.menu.main.tabs.kickoff.stats.main.main:GetDescendants() do
if v_3 and v_3:IsA("TextLabel") and (v_3.Name == "home" or v_3.Name == "away") then
v_3.TextColor3 = tbl[v_3.Name]
end
end
end
function module.updateTimer(arg1) -- Line 42
--[[ Upvalues[3]:
[1]: any_load_result1_upvr_2 (readonly)
[2]: config_upvr (readonly)
[3]: menu_upvr (readonly)
]]
local any_FormatZero_result1 = any_load_result1_upvr_2.FormatZero(config_upvr.Timer.Minutes.Value)
local any_FormatZero_result1_2 = any_load_result1_upvr_2.FormatZero(config_upvr.Timer.Seconds.Value)
if config_upvr.Timer.Added.Enabled.Value then
menu_upvr.menu.main.tabs.kickoff.stats.main.top.timer.timer.Text = string.format("%s:%s+%s", any_FormatZero_result1, any_FormatZero_result1_2, tostring(config_upvr.Timer.Added.Minutes.Value))
else
menu_upvr.menu.main.tabs.kickoff.stats.main.top.timer.timer.Text = string.format("%s:%s", any_FormatZero_result1, any_FormatZero_result1_2)
end
end
function module.updateStats(arg1) -- Line 54
--[[ Upvalues[3]:
[1]: config_upvr (readonly)
[2]: menu_upvr (readonly)
[3]: any_load_result1_upvr_2 (readonly)
]]
for _, v_4 in next, config_upvr.Stats.Home:GetChildren() do
if v_4 and menu_upvr.menu.main.tabs.kickoff.stats.main.main:FindFirstChild(string.lower(v_4.Name)) then
local var32 = menu_upvr.menu.main.tabs.kickoff.stats.main.main[string.lower(v_4.Name)]
var32.home.Text = tostring(v_4.Value)
var32.away.Text = tostring(config_upvr.Stats.Away[v_4.Name].Value)
end
end
for _, v_5 in next, {"Home", "Away"} do
menu_upvr.menu.main.tabs.kickoff.stats.main.top[string.lower(v_5)].score.Text = tostring(config_upvr.Stats[v_5].Score.Value)
for _, v_6 in next, menu_upvr.menu.main.tabs.kickoff.stats.main.percentage[string.lower(v_5)]:GetChildren() do
if v_6 and v_6:IsA("Frame") then
if v_6.Name == "possession" then
v_6.percentage.Text = tostring(config_upvr.Stats[v_5].Possession.Value)..'%'
elseif v_6.Name == "shot accuracy" then
if config_upvr.Stats[v_5]["Accurate Shots"].Value == 0 then
v_6.percentage.Text = "0%"
else
v_6.percentage.Text = tostring(any_load_result1_upvr_2.FormatDecimal(math.clamp(config_upvr.Stats[v_5]["Accurate Shots"].Value / config_upvr.Stats[v_5].Shots.Value, 0, 1) * 100, 0))..'%'
end
elseif v_6.Name == "pass accuracy" then
if config_upvr.Stats[v_5]["Accurate Passes"].Value == 0 then
v_6.percentage.Text = "0%"
else
v_6.percentage.Text = tostring(any_load_result1_upvr_2.FormatDecimal(math.clamp(config_upvr.Stats[v_5]["Accurate Passes"].Value / config_upvr.Stats[v_5].Passes.Value, 0, 1) * 100, 0))..'%'
end
end
end
end
end
end
function module.init(arg1) -- Line 88
--[[ Upvalues[1]:
[1]: config_upvr (readonly)
]]
arg1:updateStats()
arg1:updateTimer()
arg1:updateTeams()
for _, v_7 in next, {"Home", "Away"} do
config_upvr.Stats[v_7].Team.Changed:Connect(arg1.updateTeams)
config_upvr.Stats[v_7]["Kit Type"].Changed:Connect(arg1.updateTeams)
end
for _, v_8 in next, config_upvr.Stats:GetDescendants() do
if v_8:IsA("ValueBase") then
v_8.Changed:Connect(arg1.updateStats)
end
end
for _, v_9 in next, config_upvr.Timer:GetDescendants() do
if v_9:IsA("ValueBase") then
v_9.Changed:Connect(arg1.updateTimer)
end
end
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:30
-- Luau version 6, Types version 3
-- Time taken: 0.004129 seconds
local _engine = _G._engine
local References = _engine.References
local Profile_upvr = References.Profile
local menu_upvr = References.PlayerGui:WaitForChild("menu", 100)
local module = {}
local LocalPlayer_upvr = _engine.Services.Players.LocalPlayer
local any_load_result1_upvr = _engine:load("FormatNumber", "utils")
function module.update(arg1) -- Line 16
--[[ Upvalues[4]:
[1]: menu_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
[3]: Profile_upvr (readonly)
[4]: any_load_result1_upvr (readonly)
]]
menu_upvr.pages.stats.main.main.name.display.Text = LocalPlayer_upvr.DisplayName
menu_upvr.pages.stats.main.main.name.user.Text = LocalPlayer_upvr.Name
if Profile_upvr.stats.Matches.Value == 0 then
menu_upvr.pages.stats.main.main.percentage.gavg.value.Text = "0.00"
else
menu_upvr.pages.stats.main.main.percentage.gavg.value.Text = any_load_result1_upvr.FormatDecimal(Profile_upvr.stats.Goals.Value / Profile_upvr.stats.Matches.Value, 2)
end
if Profile_upvr.stats["Accurate Shots"].Value == 0 then
menu_upvr.pages.stats.main.main.percentage["shot accuracy"].value.Text = "0%"
else
menu_upvr.pages.stats.main.main.percentage["shot accuracy"].value.Text = any_load_result1_upvr.FormatDecimal(math.clamp(Profile_upvr.stats["Accurate Shots"].Value / Profile_upvr.stats.Shots.Value, 0, 1) * 100, 0)..'%'
end
if Profile_upvr.stats["Accurate Passes"].Value == 0 then
menu_upvr.pages.stats.main.main.percentage["pass accuracy"].value.Text = "0%"
else
menu_upvr.pages.stats.main.main.percentage["pass accuracy"].value.Text = any_load_result1_upvr.FormatDecimal(math.clamp(Profile_upvr.stats["Accurate Passes"].Value / Profile_upvr.stats.Passes.Value, 0, 1) * 100, 0)..'%'
end
for _, v in next, Profile_upvr.stats:GetChildren() do
if v and menu_upvr.pages.stats.main.main.stats:FindFirstChild(string.lower(v.Name)) then
if string.lower(v.Name) == "goals" then
menu_upvr.pages.stats.main.main.stats[string.lower(v.Name)].value.Text = string.format("%s / %s (P) / %s (FK)", any_load_result1_upvr.FormatLong(v.Value), any_load_result1_upvr.FormatLong(Profile_upvr.stats.Penalties.Value), any_load_result1_upvr.FormatLong(Profile_upvr.stats["Free Kicks"].Value))
else
menu_upvr.pages.stats.main.main.stats[string.lower(v.Name)].value.Text = any_load_result1_upvr.FormatLong(v.Value)
end
end
end
end
function module.init(arg1) -- Line 49
--[[ Upvalues[2]:
[1]: menu_upvr (readonly)
[2]: Profile_upvr (readonly)
]]
menu_upvr.pages.stats.Position = UDim2.new(0.05, 0, 0.5, 30 * menu_upvr.pages.stats.UIScale.Scale)
menu_upvr.pages.stats.UIScale:GetPropertyChangedSignal("Scale"):Connect(function() -- Line 51
--[[ Upvalues[1]:
[1]: menu_upvr (copied, readonly)
]]
menu_upvr.pages.stats.Position = UDim2.new(0.05, 0, 0.5, 30 * menu_upvr.pages.stats.UIScale.Scale)
end)
arg1:update()
for _, v_2 in next, Profile_upvr.stats:GetDescendants() do
if v_2:IsA("ValueBase") then
v_2.Changed:Connect(arg1.update)
end
end
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:31
-- Luau version 6, Types version 3
-- Time taken: 0.012370 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local menu_upvr = References_upvr.PlayerGui:WaitForChild("menu", 100)
local module = {}
local module_2_upvr = require(script.Parent.Parent.Parent.Parent:WaitForChild("controllers", 100):WaitForChild("jukeboxController", 100))
function module.create(arg1, arg2) -- Line 21
--[[ Upvalues[4]:
[1]: References_upvr (readonly)
[2]: menu_upvr (readonly)
[3]: Services_upvr (readonly)
[4]: module_2_upvr (readonly)
]]
local var8_upvw = false
local clone_upvr = References_upvr.Main.ui.track:Clone()
clone_upvr.Parent = menu_upvr.pages.soundtrack.main.scroll.main
clone_upvr.Name = arg2.Name
clone_upvr.main.track.Text = arg2.Name
local var10
local function INLINED() -- Internal function, doesn't exist in bytecode
var10 = arg2.Artist.Value
return var10
end
if not arg2:FindFirstChild("Artist") or not INLINED() then
var10 = "Various Artists"
end
clone_upvr.main.artist.Text = var10
var10 = clone_upvr.main.play
local function INLINED_2() -- Internal function, doesn't exist in bytecode
var10 = arg2.Cover.Value
return var10
end
if not arg2:FindFirstChild("Cover") or not INLINED_2() then
var10 = "rbxassetid://15944529435"
end
var10.cover.Image = var10
var10 = clone_upvr.main.play.button
var10.MouseEnter:Connect(function() -- Line 30
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: clone_upvr (readonly)
]]
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(clone_upvr.main.play, TweenInfo.new(0.3, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {
BackgroundTransparency = 0.7;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.main.play.icon, TweenInfo.new(0.3, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {
ImageTransparency = 0;
}):Play()
end)
var10 = clone_upvr.main.play.button
var10.MouseLeave:Connect(function() -- Line 36
--[[ Upvalues[2]:
[1]: Services_upvr (copied, readonly)
[2]: clone_upvr (readonly)
]]
Services_upvr.TweenService:Create(clone_upvr.main.play, TweenInfo.new(0.3, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {
BackgroundTransparency = 1;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.main.play.icon, TweenInfo.new(0.3, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {
ImageTransparency = 1;
}):Play()
end)
var10 = clone_upvr.main.play.button
var10.MouseButton1Down:Connect(function() -- Line 41
--[[ Upvalues[3]:
[1]: var8_upvw (read and write)
[2]: Services_upvr (copied, readonly)
[3]: clone_upvr (readonly)
]]
var8_upvw = true
Services_upvr.TweenService:Create(clone_upvr.main.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Scale = 0.9;
}):Play()
end)
var10 = Services_upvr.UserInputService
var10.InputEnded:Connect(function(arg1_2, arg2_2) -- Line 46
--[[ Upvalues[3]:
[1]: var8_upvw (read and write)
[2]: Services_upvr (copied, readonly)
[3]: clone_upvr (readonly)
]]
if var8_upvw and (arg1_2.UserInputType == Enum.UserInputType.MouseButton1 or arg1_2.UserInputType == Enum.UserInputType.Touch) then
var8_upvw = false
Services_upvr.TweenService:Create(clone_upvr.main.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Scale = 1;
}):Play()
end
end)
var10 = clone_upvr.main.play.button
var10.MouseButton1Click:Connect(function() -- Line 53
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: module_2_upvr (copied, readonly)
[3]: arg2 (readonly)
]]
References_upvr.Main.sounds.UI.Click:Play()
module_2_upvr:play(arg2)
end)
end
local any_load_result1_upvr = _engine:load("CanvasSize", "utils")
local any_load_result1_upvr_2 = _engine:load("Theme", "utils")
local soundtrack_upvr = Services_upvr.SoundService:WaitForChild("soundtrack", 100)
function module.init(arg1) -- Line 59
--[[ Upvalues[6]:
[1]: menu_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
[3]: References_upvr (readonly)
[4]: Services_upvr (readonly)
[5]: any_load_result1_upvr_2 (readonly)
[6]: soundtrack_upvr (readonly)
]]
menu_upvr.pages.soundtrack.Position = UDim2.new(0.05, -1, 0.5, 30 * menu_upvr.pages.soundtrack.UIScale.Scale)
menu_upvr.pages.soundtrack.UIScale:GetPropertyChangedSignal("Scale"):Connect(function() -- Line 63
--[[ Upvalues[1]:
[1]: menu_upvr (copied, readonly)
]]
menu_upvr.pages.soundtrack.Position = UDim2.new(0.05, -1, 0.5, 30 * menu_upvr.pages.soundtrack.UIScale.Scale)
end)
menu_upvr.pages.soundtrack.main.scroll.CanvasSize = any_load_result1_upvr:resizeRow(menu_upvr.pages.soundtrack.main.scroll.main, menu_upvr.pages.soundtrack.UIScale.Scale)
menu_upvr.pages.soundtrack.main.scroll:GetPropertyChangedSignal("AbsoluteSize"):Connect(function() -- Line 68
--[[ Upvalues[2]:
[1]: menu_upvr (copied, readonly)
[2]: any_load_result1_upvr (copied, readonly)
]]
menu_upvr.pages.soundtrack.main.scroll.CanvasSize = any_load_result1_upvr:resizeRow(menu_upvr.pages.soundtrack.main.scroll.main, menu_upvr.pages.soundtrack.UIScale.Scale)
end)
for _, v_upvr in next, {"forward", "backward"} do
local var32_upvw = false
menu_upvr.pages.soundtrack.main.current[v_upvr].button.MouseEnter:Connect(function() -- Line 77
--[[ Upvalues[5]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: menu_upvr (copied, readonly)
[4]: v_upvr (readonly)
[5]: any_load_result1_upvr_2 (copied, readonly)
]]
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(menu_upvr.pages.soundtrack.main.current[v_upvr].UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1.03;
}):Play()
Services_upvr.TweenService:Create(menu_upvr.pages.soundtrack.main.current[v_upvr].icon, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = any_load_result1_upvr_2.Text;
}):Play()
Services_upvr.TweenService:Create(menu_upvr.pages.soundtrack.main.current[v_upvr], TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr_2.Accent;
}):Play()
end)
menu_upvr.pages.soundtrack.main.current[v_upvr].button.MouseLeave:Connect(function() -- Line 84
--[[ Upvalues[5]:
[1]: var32_upvw (read and write)
[2]: Services_upvr (copied, readonly)
[3]: menu_upvr (copied, readonly)
[4]: v_upvr (readonly)
[5]: any_load_result1_upvr_2 (copied, readonly)
]]
if not var32_upvw then
Services_upvr.TweenService:Create(menu_upvr.pages.soundtrack.main.current[v_upvr].UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1;
}):Play()
end
Services_upvr.TweenService:Create(menu_upvr.pages.soundtrack.main.current[v_upvr].icon, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
Services_upvr.TweenService:Create(menu_upvr.pages.soundtrack.main.current[v_upvr], TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr_2.Text;
}):Play()
end)
menu_upvr.pages.soundtrack.main.current[v_upvr].button.MouseButton1Down:Connect(function() -- Line 93
--[[ Upvalues[4]:
[1]: var32_upvw (read and write)
[2]: Services_upvr (copied, readonly)
[3]: menu_upvr (copied, readonly)
[4]: v_upvr (readonly)
]]
var32_upvw = true
Services_upvr.TweenService:Create(menu_upvr.pages.soundtrack.main.current[v_upvr].UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Scale = 0.9;
}):Play()
end)
Services_upvr.UserInputService.InputEnded:Connect(function(arg1_3, arg2) -- Line 98
--[[ Upvalues[4]:
[1]: var32_upvw (read and write)
[2]: Services_upvr (copied, readonly)
[3]: menu_upvr (copied, readonly)
[4]: v_upvr (readonly)
]]
if var32_upvw and (arg1_3.UserInputType == Enum.UserInputType.MouseButton1 or arg1_3.UserInputType == Enum.UserInputType.Touch) then
var32_upvw = false
Services_upvr.TweenService:Create(menu_upvr.pages.soundtrack.main.current[v_upvr].UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Scale = 1;
}):Play()
end
end)
menu_upvr.pages.soundtrack.main.current[v_upvr].button.MouseButton1Click:Connect(function() -- Line 105
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: v_upvr (readonly)
[3]: soundtrack_upvr (copied, readonly)
]]
References_upvr.Main.sounds.UI.Click:Play()
if v_upvr == "forward" then
if soundtrack_upvr.TimeLength <= soundtrack_upvr.TimePosition + 10 then
soundtrack_upvr.TimePosition = soundtrack_upvr.TimeLength
else
local var46 = soundtrack_upvr
var46.TimePosition += 10
end
end
if v_upvr == "backward" then
if soundtrack_upvr.TimePosition - 10 <= 0 then
soundtrack_upvr.TimePosition = 0
return
end
local var47 = soundtrack_upvr
var47.TimePosition -= 10
end
end)
end
for _, v_2 in next, References_upvr.Main.sounds.Soundtrack:GetChildren() do
if v_2 and v_2:IsA("Sound") then
arg1:create(v_2)
end
end
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:32
-- Luau version 6, Types version 3
-- Time taken: 0.005337 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local module = {}
local menu_upvr = References_upvr.PlayerGui:WaitForChild("menu", 100)
local any_load_result1_upvr_2 = _engine:load("FormatNumber", "utils")
local any_load_result1_upvr = _engine:load("Monetization", "utils")
local any_load_result1_upvr_3 = _engine:load("Theme", "utils")
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
function module.init(arg1) -- Line 18
--[[ Upvalues[7]:
[1]: menu_upvr (readonly)
[2]: any_load_result1_upvr_2 (readonly)
[3]: any_load_result1_upvr (readonly)
[4]: References_upvr (readonly)
[5]: Services_upvr (readonly)
[6]: any_load_result1_upvr_3 (readonly)
[7]: LocalPlayer_upvr (readonly)
]]
for _, v_upvr in next, menu_upvr.menu.main.tabs.store.currency.main.list:GetChildren() do
if v_upvr and v_upvr:IsA("Frame") then
v_upvr.button.MouseEnter:Connect(function() -- Line 24
--[[ Upvalues[4]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: v_upvr (readonly)
[4]: any_load_result1_upvr_3 (copied, readonly)
]]
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(v_upvr, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr_3.Text:Lerp(Color3.new(0, 0, 0), 0.35);
}):Play()
end)
v_upvr.button.MouseLeave:Connect(function() -- Line 29
--[[ Upvalues[3]:
[1]: Services_upvr (copied, readonly)
[2]: v_upvr (readonly)
[3]: any_load_result1_upvr_3 (copied, readonly)
]]
Services_upvr.TweenService:Create(v_upvr, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr_3.Text;
}):Play()
end)
local var22_upvr = any_load_result1_upvr.developerProducts[string.format("%s RF Points", any_load_result1_upvr_2.FormatLong(tonumber(v_upvr.Name)))]
v_upvr.button.MouseButton1Click:Connect(function() -- Line 33
--[[ Upvalues[4]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: LocalPlayer_upvr (copied, readonly)
[4]: var22_upvr (readonly)
]]
References_upvr.Main.sounds.UI.Click:Play()
local pcall_result1, pcall_result2 = pcall(function() -- Line 36
--[[ Upvalues[3]:
[1]: Services_upvr (copied, readonly)
[2]: LocalPlayer_upvr (copied, readonly)
[3]: var22_upvr (copied, readonly)
]]
return Services_upvr.MarketPlaceService:PromptProductPurchase(LocalPlayer_upvr, var22_upvr.productId)
end)
if not pcall_result1 then
warn(string.format("An unexpected error occured while prompting product purchase | %s", pcall_result2))
end
end)
end
end
var22_upvr = menu_upvr.menu.main
for _, v_2_upvr in next, var22_upvr.tabs.store.passes.main.list:GetChildren() do
if v_2_upvr and v_2_upvr:IsA("Frame") then
var22_upvr = any_load_result1_upvr.gamePasses
local var28_upvr = var22_upvr[v_2_upvr.Name]
var22_upvr = any_load_result1_upvr.userOwnsPass(LocalPlayer_upvr, var28_upvr.gamePassId)
local var29_upvw = var22_upvr
if var29_upvw then
v_2_upvr.owned.Visible = true
end
v_2_upvr.button.MouseEnter:Connect(function() -- Line 56
--[[ Upvalues[4]:
[1]: var29_upvw (read and write)
[2]: References_upvr (copied, readonly)
[3]: Services_upvr (copied, readonly)
[4]: v_2_upvr (readonly)
]]
if not var29_upvw then
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(v_2_upvr.hover, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 0.5;
}):Play()
end
end)
v_2_upvr.button.MouseLeave:Connect(function() -- Line 63
--[[ Upvalues[3]:
[1]: var29_upvw (read and write)
[2]: Services_upvr (copied, readonly)
[3]: v_2_upvr (readonly)
]]
if not var29_upvw then
Services_upvr.TweenService:Create(v_2_upvr.hover, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 1;
}):Play()
end
end)
v_2_upvr.button.MouseButton1Click:Connect(function() -- Line 69
--[[ Upvalues[5]:
[1]: var29_upvw (read and write)
[2]: References_upvr (copied, readonly)
[3]: Services_upvr (copied, readonly)
[4]: LocalPlayer_upvr (copied, readonly)
[5]: var28_upvr (readonly)
]]
if not var29_upvw then
References_upvr.Main.sounds.UI.Click:Play()
Services_upvr.MarketPlaceService:PromptGamePassPurchase(LocalPlayer_upvr, var28_upvr.gamePassId)
end
end)
Services_upvr.MarketPlaceService.PromptGamePassPurchaseFinished:Connect(function(arg1_2, arg2, arg3) -- Line 76
--[[ Upvalues[5]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: var28_upvr (readonly)
[3]: References_upvr (copied, readonly)
[4]: var29_upvw (read and write)
[5]: v_2_upvr (readonly)
]]
if arg3 and arg1_2 == LocalPlayer_upvr and arg2 == var28_upvr.gamePassId then
References_upvr.Main.sounds.UI.Purchase:Play()
var29_upvw = true
v_2_upvr.owned.Visible = true
end
end)
end
end
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:34
-- Luau version 6, Types version 3
-- Time taken: 0.026073 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local PlayerGui = References_upvr.PlayerGui
local menu_upvr = PlayerGui:WaitForChild("menu", 100)
local rotate_upvr = workspace.game.menu.ui.rotate.rotate
rotate_upvr.Parent = PlayerGui
rotate_upvr.Enabled = false
rotate_upvr.Adornee = workspace.game.menu.ui.rotate
local jersey_upvr = workspace.game.menu.ui.jersey.jersey
jersey_upvr.Parent = PlayerGui
jersey_upvr.Adornee = workspace.game.menu.ui.jersey
local module = {
current = "accessories";
index = {
accessories = 1;
boots = 2;
gloves = 3;
["ball holds"] = 4;
celebrations = 5;
};
tabs = {
debounce = false;
};
pages = {};
cache = {};
select = function(arg1, arg2) -- Line 44, Named "select"
--[[ Upvalues[1]:
[1]: menu_upvr (readonly)
]]
if not arg1.cache.buttonDebounce and arg1.current ~= arg2.Name and arg2.Name ~= "back" then
arg1.cache.buttonDebounce = true
if arg1.pages[arg1.current] and arg1.pages[arg1.current].close then
task.spawn(function() -- Line 49
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1.pages[arg1.current]:close()
end)
end
if arg1.pages[arg2.Name] and arg1.pages[arg2.Name].open then
task.spawn(function() -- Line 55
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
arg1.pages[arg2.Name]:open()
end)
end
arg1.current = arg2.Name
menu_upvr.pages.customize.main.pages.UIPageLayout:JumpTo(menu_upvr.pages.customize.main.pages[arg2.Name])
task.wait(0.1)
arg1.cache.buttonDebounce = nil
end
end;
}
local Profile_upvr = References_upvr.Profile
local Character_upvr = workspace.game.menu:WaitForChild("Character", 100)
local any_new_result1_upvr = _engine:load("Network").new()
local any_load_result1_upvr = _engine:load("MouseObject")
local mouse_upvr = LocalPlayer_upvr:GetMouse()
function module.init(arg1) -- Line 68
--[[ Upvalues[11]:
[1]: Profile_upvr (readonly)
[2]: Character_upvr (readonly)
[3]: LocalPlayer_upvr (readonly)
[4]: jersey_upvr (readonly)
[5]: References_upvr (readonly)
[6]: Services_upvr (readonly)
[7]: any_new_result1_upvr (readonly)
[8]: any_load_result1_upvr (readonly)
[9]: rotate_upvr (readonly)
[10]: mouse_upvr (readonly)
[11]: menu_upvr (readonly)
]]
workspace.game.menu.ui.boots.main.main.label.Text = string.upper(Profile_upvr.inventory.Current.Boots.Value)
workspace.game.menu.ui.gloves.main.main.label.Text = string.upper(Profile_upvr.inventory.Current.Gloves.Value)
Profile_upvr.inventory.Current.Boots.Changed:Connect(function() -- Line 74
--[[ Upvalues[1]:
[1]: Profile_upvr (copied, readonly)
]]
workspace.game.menu.ui.boots.main.main.label.Text = string.upper(Profile_upvr.inventory.Current.Boots.Value)
end)
Profile_upvr.inventory.Current.Gloves.Changed:Connect(function() -- Line 78
--[[ Upvalues[1]:
[1]: Profile_upvr (copied, readonly)
]]
workspace.game.menu.ui.gloves.main.main.label.Text = string.upper(Profile_upvr.inventory.Current.Gloves.Value)
end)
Character_upvr.Jersey.jersey.name.Text = string.upper(LocalPlayer_upvr.Name)
Character_upvr.Jersey.jersey.number.Text = tostring(Profile_upvr.stats.Number.Value)
Character_upvr.Jersey.jersey.number.PlaceholderText = tostring(Profile_upvr.stats.Number.Value)
jersey_upvr.main.button.MouseEnter:Connect(function() -- Line 88
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: jersey_upvr (copied, readonly)
]]
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(jersey_upvr.main.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 1;
}):Play()
Services_upvr.TweenService:Create(jersey_upvr.main.image, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(255, 255, 255);
Position = UDim2.new(0.5, 0, 0.5, -2);
}):Play()
end)
jersey_upvr.main.button.MouseLeave:Connect(function() -- Line 94
--[[ Upvalues[2]:
[1]: Services_upvr (copied, readonly)
[2]: jersey_upvr (copied, readonly)
]]
Services_upvr.TweenService:Create(jersey_upvr.main.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 0;
}):Play()
Services_upvr.TweenService:Create(jersey_upvr.main.image, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(35, 39, 50);
Position = UDim2.new(0.5, 0, 0.5, 0);
}):Play()
end)
jersey_upvr.main.button.MouseButton1Click:Connect(function() -- Line 99
--[[ Upvalues[2]:
[1]: References_upvr (copied, readonly)
[2]: Character_upvr (copied, readonly)
]]
References_upvr.Main.sounds.UI.Click:Play()
Character_upvr.Jersey.jersey.number.Text = ""
Character_upvr.Jersey.jersey.number:CaptureFocus()
end)
Character_upvr.Jersey.jersey.number.FocusLost:Connect(function() -- Line 105
--[[ Upvalues[3]:
[1]: Character_upvr (copied, readonly)
[2]: any_new_result1_upvr (copied, readonly)
[3]: Profile_upvr (copied, readonly)
]]
if tonumber(Character_upvr.Jersey.jersey.number.Text) and 0 <= tonumber(Character_upvr.Jersey.jersey.number.Text) and tonumber(Character_upvr.Jersey.jersey.number.Text) <= 99 then
Character_upvr.Jersey.jersey.number.PlaceholderText = Character_upvr.Jersey.jersey.number.Text
any_new_result1_upvr:send("replicateValue", Profile_upvr.stats.Number, tonumber(Character_upvr.Jersey.jersey.number.Text))
else
Character_upvr.Jersey.jersey.number.Text = Character_upvr.Jersey.jersey.number.PlaceholderText
end
end)
local any_new_result1, any_new_result2 = any_load_result1_upvr.new(rotate_upvr.button)
local tbl_upvr = {
edit = false;
hovering = false;
enabled = false;
lastMousePosition = nil;
}
any_new_result1:Connect(function() -- Line 124
--[[ Upvalues[4]:
[1]: rotate_upvr (copied, readonly)
[2]: tbl_upvr (readonly)
[3]: mouse_upvr (copied, readonly)
[4]: Services_upvr (copied, readonly)
]]
if not rotate_upvr.Enabled then
else
tbl_upvr.hovering = true
mouse_upvr.Icon = "rbxassetid://15820803017"
Services_upvr.TweenService:Create(workspace.game.menu.ui.arrow.arrow.arrow, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 0.3;
}):Play()
end
end)
any_new_result2:Connect(function() -- Line 134
--[[ Upvalues[4]:
[1]: rotate_upvr (copied, readonly)
[2]: tbl_upvr (readonly)
[3]: mouse_upvr (copied, readonly)
[4]: Services_upvr (copied, readonly)
]]
if not rotate_upvr.Enabled then
else
tbl_upvr.hovering = false
if not tbl_upvr.enabled then
mouse_upvr.Icon = ""
Services_upvr.TweenService:Create(workspace.game.menu.ui.arrow.arrow.arrow, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 0.7;
}):Play()
end
end
end)
rotate_upvr.button.MouseButton1Down:Connect(function() -- Line 147
--[[ Upvalues[3]:
[1]: rotate_upvr (copied, readonly)
[2]: tbl_upvr (readonly)
[3]: mouse_upvr (copied, readonly)
]]
if not rotate_upvr.Enabled then
else
tbl_upvr.enabled = true
tbl_upvr.lastMousePosition = mouse_upvr.X
end
end)
Services_upvr.UserInputService.InputEnded:Connect(function(arg1_2, arg2) -- Line 156
--[[ Upvalues[4]:
[1]: tbl_upvr (readonly)
[2]: rotate_upvr (copied, readonly)
[3]: mouse_upvr (copied, readonly)
[4]: Services_upvr (copied, readonly)
]]
if arg1_2.UserInputType == Enum.UserInputType.MouseButton1 or arg1_2.UserInputType == Enum.UserInputType.Touch and tbl_upvr.enabled then
if not rotate_upvr.Enabled then return end
if not tbl_upvr.hovering then
mouse_upvr.Icon = ""
Services_upvr.TweenService:Create(workspace.game.menu.ui.arrow.arrow.arrow, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 0.7;
}):Play()
end
tbl_upvr.enabled = false
tbl_upvr.lastMousePosition = nil
end
end)
mouse_upvr.Move:Connect(function() -- Line 172
--[[ Upvalues[5]:
[1]: tbl_upvr (readonly)
[2]: mouse_upvr (copied, readonly)
[3]: menu_upvr (copied, readonly)
[4]: Services_upvr (copied, readonly)
[5]: Character_upvr (copied, readonly)
]]
if tbl_upvr.enabled then
Services_upvr.TweenService:Create(Character_upvr.PrimaryPart, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
CFrame = Character_upvr.PrimaryPart.CFrame * CFrame.fromEulerAnglesXYZ(0, math.rad((workspace.CurrentCamera:WorldToViewportPoint(mouse_upvr.Hit.Position).X - tbl_upvr.lastMousePosition) * 2 / menu_upvr.menu.main.UIScale.Scale), 0);
}):Play()
tbl_upvr.lastMousePosition = mouse_upvr.X
end
end)
Services_upvr.UserInputService.InputChanged:Connect(function(arg1_3, arg2) -- Line 182
--[[ Upvalues[2]:
[1]: Services_upvr (copied, readonly)
[2]: Character_upvr (copied, readonly)
]]
if arg1_3.KeyCode == Enum.KeyCode.Thumbstick2 and script:GetAttribute("toggle") then
if 0.7 <= arg1_3.Position.X then
Services_upvr.TweenService:Create(Character_upvr.PrimaryPart, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
CFrame = Character_upvr.PrimaryPart.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.5, 0);
}):Play()
return
end
if arg1_3.Position.X <= -0.7 then
Services_upvr.TweenService:Create(Character_upvr.PrimaryPart, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
CFrame = Character_upvr.PrimaryPart.CFrame * CFrame.fromEulerAnglesXYZ(0, -0.5, 0);
}):Play()
end
end
end)
Services_upvr.RunService.Heartbeat:Connect(function() -- Line 192
--[[ Upvalues[4]:
[1]: Character_upvr (copied, readonly)
[2]: tbl_upvr (readonly)
[3]: Services_upvr (copied, readonly)
[4]: jersey_upvr (copied, readonly)
]]
if Character_upvr.PrimaryPart.Orientation.Y <= -51 and -151 <= Character_upvr.PrimaryPart.Orientation.Y and not tbl_upvr.edit then
tbl_upvr.edit = true
Services_upvr.TweenService:Create(jersey_upvr.main.UIScale, TweenInfo.new(0.25, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Scale = 1;
}):Play()
elseif -51 < Character_upvr.PrimaryPart.Orientation.Y or Character_upvr.PrimaryPart.Orientation.Y < -151 then
if tbl_upvr.edit then
tbl_upvr.edit = false
Services_upvr.TweenService:Create(jersey_upvr.main.UIScale, TweenInfo.new(0.25, Enum.EasingStyle.Back, Enum.EasingDirection.In), {
Scale = 0;
}):Play()
end
end
end)
Services_upvr.UserInputService.InputBegan:Connect(function(arg1_4, arg2) -- Line 204
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: menu_upvr (copied, readonly)
[3]: References_upvr (copied, readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 66 start (CF ANALYSIS FAILED)
if arg1_4.KeyCode == Enum.KeyCode.ButtonR1 and arg1.index[arg1.current] and script:GetAttribute("toggle") and not arg1.tabs.debounce then
arg1.tabs.debounce = true
if arg1.index[arg1.current] == #menu_upvr.pages.customize.main.top:GetChildren() - 2 then
for i, v in next, arg1.index do
if v and v == 1 then
References_upvr.Main.sounds.UI.Click:Play()
arg1:select(menu_upvr.pages.customize.main.pages[i])
task.delay(0.2, function() -- Line 212
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.tabs.debounce = false
end)
return
end
end
task.delay(0.2, function() -- Line 230
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.tabs.debounce = false
end)
do
return
end
-- KONSTANTWARNING: GOTO [162] #111
end
-- KONSTANTWARNING: GOTO [102] #69
end
-- KONSTANTERROR: [0] 1. Error Block 66 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [162] 111. Error Block 64 start (CF ANALYSIS FAILED)
if arg1_4.KeyCode == Enum.KeyCode.ButtonL1 and arg1.index[arg1.current] and script:GetAttribute("toggle") then
arg1.tabs.debounce = true
if arg1.index[arg1.current] == 1 then
for i_2, v_2 in next, arg1.index do
if v_2 and v_2 == #menu_upvr.pages.customize.main.top:GetChildren() - 2 then
References_upvr.Main.sounds.UI.Click:Play()
arg1:select(menu_upvr.pages.customize.main.pages[i_2])
task.delay(0.2, function() -- Line 240
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.tabs.debounce = false
end)
return
end
end
task.delay(0.2, function() -- Line 258
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.tabs.debounce = false
end)
-- KONSTANTWARNING: GOTO [317] #216
end
-- KONSTANTWARNING: GOTO [258] #175
end
-- KONSTANTERROR: [162] 111. Error Block 64 end (CF ANALYSIS FAILED)
end)
for _, v_3_upvr in next, menu_upvr.pages.customize.main.top:GetChildren() do
if v_3_upvr and v_3_upvr:IsA("Frame") then
local button = v_3_upvr:FindFirstChild("button")
if not button then
button = v_3_upvr:FindFirstChild("back")
end
local image_upvr = v_3_upvr:FindFirstChild("image", true)
button.MouseEnter:Connect(function() -- Line 271
--[[ Upvalues[4]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: v_3_upvr (readonly)
[4]: image_upvr (readonly)
]]
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(v_3_upvr.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 1;
}):Play()
Services_upvr.TweenService:Create(image_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(255, 255, 255);
Position = UDim2.new(0.5, 0, 0.5, -2);
}):Play()
end)
button.MouseLeave:Connect(function() -- Line 277
--[[ Upvalues[3]:
[1]: Services_upvr (copied, readonly)
[2]: v_3_upvr (readonly)
[3]: image_upvr (readonly)
]]
Services_upvr.TweenService:Create(v_3_upvr.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 0;
}):Play()
Services_upvr.TweenService:Create(image_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(35, 39, 50);
Position = UDim2.new(0.5, 0, 0.5, 0);
}):Play()
end)
button.MouseButton1Click:Connect(function() -- Line 282
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: v_3_upvr (readonly)
]]
References_upvr.Main.sounds.UI.Click:Play()
arg1:select(v_3_upvr)
end)
end
end
for _, v_4 in next, script:GetChildren() do
if v_4 and v_4:IsA("ModuleScript") then
image_upvr = v_4
local var67_2 = require(image_upvr)
image_upvr = var67_2:init
image_upvr()
image_upvr = arg1.pages
image_upvr[v_4.Name] = var67_2
end
end
script:SetAttribute("loaded", true)
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:35
-- Luau version 6, Types version 3
-- Time taken: 0.017511 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Profile_upvr = References_upvr.Profile
local menu_upvr = References_upvr.PlayerGui:WaitForChild("menu", 100)
local boots_upvr = References_upvr.Main:WaitForChild("boots", 100)
local module = {}
local any_load_result1_upvr_3 = _engine:load("Maid")
local any_load_result1_upvr_2 = _engine:load("CanvasSize", "utils")
local Services_upvr = _engine.Services
local any_load_result1_upvr = _engine:load("Viewport")
local any_new_result1_upvr_2 = _engine:load("Network").new()
function module.create(arg1, arg2) -- Line 25
--[[ Upvalues[9]:
[1]: References_upvr (readonly)
[2]: any_load_result1_upvr_3 (readonly)
[3]: boots_upvr (readonly)
[4]: menu_upvr (readonly)
[5]: any_load_result1_upvr_2 (readonly)
[6]: Services_upvr (readonly)
[7]: Profile_upvr (readonly)
[8]: any_load_result1_upvr (readonly)
[9]: any_new_result1_upvr_2 (readonly)
]]
if arg2 and (not arg2:GetAttribute("key") or arg2:GetAttribute("key") and arg2:GetAttribute("key") ~= References_upvr.Main.config.Key:GetAttribute("realKey")) then
if arg2.Name ~= "RF Premium" then return end
end
local any_new_result1_upvr = any_load_result1_upvr_3.new()
local SOME_upvr = boots_upvr:WaitForChild(arg2.Name, 100)
local clone_upvr = References_upvr.Main.ui.item:Clone()
clone_upvr.Parent = menu_upvr.pages.customize.main.pages[script.Name].scroll.main
clone_upvr.Name = SOME_upvr.Name
clone_upvr.LayoutOrder = 2
menu_upvr.pages.customize.main.pages[script.Name].scroll.CanvasSize = any_load_result1_upvr_2:resizeGrid(menu_upvr.pages.customize.main.pages[script.Name].scroll.main, 3)
clone_upvr.main.UIScale.Scale = 0
Services_upvr.TweenService:Create(clone_upvr.main.UIScale, TweenInfo.new(0.3, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {
Scale = 1;
}):Play()
if SOME_upvr.Name == Profile_upvr.inventory.Current.Boots.Value then
clone_upvr.main.selected.Visible = true
end
any_load_result1_upvr.new({
_viewport = clone_upvr.main.viewport;
_model = SOME_upvr;
_rotate = "Dynamic";
_viewportDistance = 1;
_cameraFOV = 60;
})
any_new_result1_upvr.mouseEnter = clone_upvr.main.button.MouseEnter:Connect(function() -- Line 54
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: clone_upvr (readonly)
]]
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(clone_upvr.main.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(177, 177, 177);
}):Play()
end)
any_new_result1_upvr.mouseLeave = clone_upvr.main.button.MouseLeave:Connect(function() -- Line 59
--[[ Upvalues[2]:
[1]: Services_upvr (copied, readonly)
[2]: clone_upvr (readonly)
]]
Services_upvr.TweenService:Create(clone_upvr.main.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end)
any_new_result1_upvr.mouseClick = clone_upvr.main.button.MouseButton1Click:Connect(function() -- Line 63
--[[ Upvalues[5]:
[1]: References_upvr (copied, readonly)
[2]: clone_upvr (readonly)
[3]: menu_upvr (copied, readonly)
[4]: any_new_result1_upvr_2 (copied, readonly)
[5]: SOME_upvr (readonly)
]]
References_upvr.Main.sounds.UI.Click:Play()
clone_upvr.main.selected.Visible = true
for _, v in next, menu_upvr.pages.customize.main.pages[script.Name].scroll.main:GetChildren() do
if v and v:FindFirstChild("main") and v.main:FindFirstChild("selected") and v ~= clone_upvr then
v.main.selected.Visible = false
end
end
any_new_result1_upvr_2:send("replicateValue", References_upvr.Profile.inventory.Current.Boots, SOME_upvr.Name)
end)
any_new_result1_upvr.onDestroying = clone_upvr.Destroying:Connect(function() -- Line 76
--[[ Upvalues[1]:
[1]: any_new_result1_upvr (readonly)
]]
any_new_result1_upvr:DoCleaning()
end)
end
local Character_upvr = workspace.game.menu:WaitForChild("Character", 100)
local LocalPlayer_upvr = References_upvr.LocalPlayer
function module.init(arg1) -- Line 81
--[[ Upvalues[6]:
[1]: Character_upvr (readonly)
[2]: boots_upvr (readonly)
[3]: Profile_upvr (readonly)
[4]: menu_upvr (readonly)
[5]: References_upvr (readonly)
[6]: LocalPlayer_upvr (readonly)
]]
for _, v_2 in next, Character_upvr.RightBoot:GetChildren() do
if v_2 and v_2:IsA("SurfaceAppearance") then
v_2:Destroy()
end
end
for _, v_3 in next, Character_upvr.LeftBoot:GetChildren() do
if v_3 and v_3:IsA("SurfaceAppearance") then
v_3:Destroy()
end
end
Character_upvr.RightBoot.TextureID = boots_upvr[Profile_upvr.inventory.Current.Boots.Value].TextureID
Character_upvr.LeftBoot.TextureID = boots_upvr[Profile_upvr.inventory.Current.Boots.Value].TextureID
if boots_upvr[Profile_upvr.inventory.Current.Boots.Value]:FindFirstChild("SurfaceAppearance") then
boots_upvr[Profile_upvr.inventory.Current.Boots.Value].SurfaceAppearance:Clone().Parent = Character_upvr.RightBoot
boots_upvr[Profile_upvr.inventory.Current.Boots.Value].SurfaceAppearance:Clone().Parent = Character_upvr.LeftBoot
end
Profile_upvr.inventory.Current.Boots.Changed:Connect(function() -- Line 104
--[[ Upvalues[5]:
[1]: menu_upvr (copied, readonly)
[2]: References_upvr (copied, readonly)
[3]: Character_upvr (copied, readonly)
[4]: boots_upvr (copied, readonly)
[5]: Profile_upvr (copied, readonly)
]]
for _, v_4 in next, menu_upvr.pages.customize.main.pages[script.Name].scroll.main:GetChildren() do
if v_4 and v_4:FindFirstChild("main") and v_4.main:FindFirstChild("selected") and v_4.Name == References_upvr.Profile.inventory.Current.Boots.Value then
v_4.main.selected.Visible = true
elseif v_4 and v_4:FindFirstChild("main") and v_4.main:FindFirstChild("selected") and v_4.Name ~= References_upvr.Profile.inventory.Current.Boots.Value then
v_4.main.selected.Visible = false
end
end
for _, v_5 in next, Character_upvr.RightBoot:GetChildren() do
if v_5 and v_5:IsA("SurfaceAppearance") then
v_5:Destroy()
end
end
for _, v_6 in next, Character_upvr.LeftBoot:GetChildren() do
if v_6 and v_6:IsA("SurfaceAppearance") then
v_6:Destroy()
end
end
Character_upvr.RightBoot.TextureID = boots_upvr[Profile_upvr.inventory.Current.Boots.Value].TextureID
Character_upvr.LeftBoot.TextureID = boots_upvr[Profile_upvr.inventory.Current.Boots.Value].TextureID
if boots_upvr[Profile_upvr.inventory.Current.Boots.Value]:FindFirstChild("SurfaceAppearance") then
boots_upvr[Profile_upvr.inventory.Current.Boots.Value].SurfaceAppearance:Clone().Parent = Character_upvr.RightBoot
boots_upvr[Profile_upvr.inventory.Current.Boots.Value].SurfaceAppearance:Clone().Parent = Character_upvr.LeftBoot
end
end)
for _ = 1, math.ceil(#boots_upvr:GetChildren() / 3 + 0.5) * 3 do
References_upvr.Main.ui.grid:Clone().Parent = menu_upvr.pages.customize.main.pages[script.Name].scroll.main
end
menu_upvr.pages.customize.main.pages[script.Name].scroll.main.ChildAdded:Connect(function(arg1_2) -- Line 146
--[[ Upvalues[1]:
[1]: menu_upvr (copied, readonly)
]]
if arg1_2 and arg1_2.Name ~= "grid" then
local tbl = {}
for i_8, v_7 in next, menu_upvr.pages.customize.main.pages[script.Name].scroll.main:GetChildren() do
if v_7.Name == "grid" then
table.insert(tbl, v_7)
end
end
if 2 <= #tbl then
i_8 = #tbl
tbl[math.random(1, i_8)]:Destroy()
return
end
if #tbl == 1 then
tbl[1]:Destroy()
end
end
end)
menu_upvr.pages.customize.main.pages[script.Name].scroll.main.ChildRemoved:Connect(function(arg1_3) -- Line 164
--[[ Upvalues[2]:
[1]: References_upvr (copied, readonly)
[2]: menu_upvr (copied, readonly)
]]
if arg1_3 and arg1_3.Name ~= "grid" then
References_upvr.Main.ui.grid:Clone().Parent = menu_upvr.pages.customize.main.pages[script.Name].scroll.main
end
end)
script.Parent:GetAttributeChangedSignal("toggle"):Connect(function() -- Line 171
--[[ Upvalues[5]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: boots_upvr (copied, readonly)
[4]: Profile_upvr (copied, readonly)
[5]: menu_upvr (copied, readonly)
]]
if script.Parent:GetAttribute("toggle") then
task.spawn(function() -- Line 173
--[[ Upvalues[4]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg1 (copied, readonly)
[3]: boots_upvr (copied, readonly)
[4]: Profile_upvr (copied, readonly)
]]
if LocalPlayer_upvr:GetAttribute("hasRFPremium") then
arg1:create(boots_upvr["RF Premium"])
task.wait(0.05)
end
for _, v_8 in next, Profile_upvr.inventory.Boots:GetChildren() do
if script.Parent:GetAttribute("toggle") then
arg1:create(v_8)
task.wait(0.05)
end
end
end)
else
for _, v_9 in next, menu_upvr.pages.customize.main.pages[script.Name].scroll.main:GetChildren() do
if v_9 and v_9:IsA("Frame") and v_9.Name ~= "grid" then
v_9:Destroy()
end
end
end
end)
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:37
-- Luau version 6, Types version 3
-- Time taken: 0.034294 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local Profile_upvr = References_upvr.Profile
local any_new_result1_upvr = _engine:load("Network").new()
local menu_upvr = References_upvr.PlayerGui:WaitForChild("menu", 100)
local accessories_upvr = References_upvr.Main:WaitForChild("accessories", 100)
local LocalPlayer_upvr = References_upvr.LocalPlayer
local pcall_result1, pcall_result2 = pcall(function() -- Line 27
--[[ Upvalues[1]:
[1]: LocalPlayer_upvr (readonly)
]]
return _G._services.Players:GetCharacterAppearanceAsync(LocalPlayer_upvr.UserId)
end)
if pcall_result1 and pcall_result2 then
for _, v in next, pcall_result2:GetChildren() do
if v:IsA("Accessory") and not v:FindFirstChildWhichIsA("WrapLayer", true) then
v.Parent = workspace.game.rigs:WaitForChild("previewer", 100):Clone()
elseif v:IsA("BodyColors") then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
v.Parent = workspace.game.rigs:WaitForChild("previewer", 100):Clone()
elseif v:IsA("Decal") and v.Name == "face" then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
workspace.game.rigs:WaitForChild("previewer", 100):Clone().Head.face.Texture = v.Texture
end
end
end
local module = {
toggled = false;
selecting = {};
update = function(arg1, arg2) -- Line 50, Named "update"
--[[ Upvalues[2]:
[1]: accessories_upvr (readonly)
[2]: Profile_upvr (readonly)
]]
arg2.Accessories:ClearAllChildren()
arg2.RightHand.Transparency = 0
arg2.LeftHand.Transparency = 0
for i_2 = 1, 3 do
if accessories_upvr:FindFirstChild(Profile_upvr.inventory.Current["Accessory "..tostring(i_2)].Value) then
local SOME = accessories_upvr:WaitForChild(Profile_upvr.inventory.Current["Accessory "..tostring(i_2)].Value, 100)
local function addAccessory(arg1_2) -- Line 59
--[[ Upvalues[1]:
[1]: arg2 (readonly)
]]
if arg1_2:FindFirstChild("Part1") and arg1_2:FindFirstChild("Weld") and arg2:FindFirstChild(arg1_2.Part1.Value) then
local clone_2 = arg1_2:Clone()
clone_2.Parent = arg2.Accessories
clone_2.Weld.Part1 = arg2:WaitForChild(arg1_2.Part1.Value, 100)
for _, v_2 in next, arg2.Gloves:GetChildren() do
for _, v_3 in next, v_2:GetChildren() do
if v_3.Transparency == 0 and string.find(clone_2.Name, "Glove") then
clone_2.Transparency = 1
elseif v_3.Transparency == 1 and string.find(clone_2.Name, "Glove") then
arg2.RightHand.Transparency = 1
arg2.LeftHand.Transparency = 1
elseif v_3.Transparency == 1 and not arg2.Accessories:FindFirstChild("RightGlove") then
arg2.RightHand.Transparency = 0
arg2.LeftHand.Transparency = 0
end
end
end
end
end
if SOME:IsA("Model") then
for _, v_4 in next, SOME:GetChildren() do
if v_4 then
addAccessory(v_4)
end
end
else
addAccessory(SOME)
end
end
end
end;
}
local any_load_result1_upvr = _engine:load("Maid")
local any_load_result1_upvr_3 = _engine:load("CanvasSize", "utils")
local any_load_result1_upvr_2 = _engine:load("Viewport")
function module.create(arg1, arg2, arg3) -- Line 94
--[[ Upvalues[9]:
[1]: References_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
[3]: accessories_upvr (readonly)
[4]: menu_upvr (readonly)
[5]: any_load_result1_upvr_3 (readonly)
[6]: Services_upvr (readonly)
[7]: Profile_upvr (readonly)
[8]: any_load_result1_upvr_2 (readonly)
[9]: any_new_result1_upvr (readonly)
]]
if arg3 and (not arg3:GetAttribute("key") or arg3:GetAttribute("key") and arg3:GetAttribute("key") ~= References_upvr.Main.config.Key:GetAttribute("realKey")) then
else
local any_new_result1_upvr_2 = any_load_result1_upvr.new()
local SOME_upvr = accessories_upvr:WaitForChild(arg3.Name, 100)
local clone_6_upvr = References_upvr.Main.ui.item:Clone()
clone_6_upvr.Parent = menu_upvr.pages.customize.main.pages[script.Name].scroll.main
clone_6_upvr.Name = SOME_upvr.Name
clone_6_upvr.LayoutOrder = 2
menu_upvr.pages.customize.main.pages[script.Name].scroll.CanvasSize = any_load_result1_upvr_3:resizeGrid(menu_upvr.pages.customize.main.pages[script.Name].scroll.main, 3)
clone_6_upvr.main.UIScale.Scale = 0
Services_upvr.TweenService:Create(clone_6_upvr.main.UIScale, TweenInfo.new(0.3, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {
Scale = 1;
}):Play()
arg2.Accessories:ClearAllChildren()
for _, v_13 in next, arg2.Gloves:GetChildren() do
for _, v_14 in next, v_13:GetChildren() do
v_14.Transparency = 1
end
end
arg2.RightHand.Transparency = 0
arg2.LeftHand.Transparency = 0
if SOME_upvr.Name == Profile_upvr.inventory.Current["Accessory 1"].Value or SOME_upvr.Name == Profile_upvr.inventory.Current["Accessory 2"].Value or SOME_upvr.Name == Profile_upvr.inventory.Current["Accessory 3"].Value then
clone_6_upvr.main.selected.Visible = true
end
local function addAccessory(arg1_3) -- Line 126
--[[ Upvalues[1]:
[1]: arg2 (readonly)
]]
if arg1_3:FindFirstChild("Part1") and arg1_3:FindFirstChild("Weld") and arg2:FindFirstChild(arg1_3.Part1.Value) then
local clone = arg1_3:Clone()
clone.Parent = arg2.Accessories
clone.Weld.Part1 = arg2:WaitForChild(arg1_3.Part1.Value, 100)
for _, v_15 in next, arg2.Gloves:GetChildren() do
for _, v_16 in next, v_15:GetChildren() do
if v_16.Transparency == 0 and string.find(clone.Name, "Glove") then
clone.Transparency = 1
elseif v_16.Transparency == 1 and string.find(clone.Name, "Glove") then
arg2.RightHand.Transparency = 1
arg2.LeftHand.Transparency = 1
elseif v_16.Transparency == 1 and not arg2.Accessories:FindFirstChild("RightGlove") then
arg2.RightHand.Transparency = 0
arg2.LeftHand.Transparency = 0
end
end
end
end
end
if SOME_upvr:IsA("Model") then
for i_20, v_17 in next, SOME_upvr:GetChildren() do
if v_17 and v_17.Parent then
addAccessory(v_17)
end
end
else
addAccessory(SOME_upvr)
end
if SOME_upvr:FindFirstChild("AccessoryType") then
i_20 = 0
v_17 = -5.5
i_20 = math.pi
v_17 = 0.5
local var69 = CFrame.new(3, i_20, v_17) * CFrame.Angles(i_20, v_17, (-math.pi))
if SOME_upvr.AccessoryType.Value == "Head" then
i_20 = 1.5
v_17 = -3.5
i_20 = math.pi
v_17 = 0.5
var69 = CFrame.new(1.82, i_20, v_17) * CFrame.Angles(i_20, v_17, (-math.pi))
elseif SOME_upvr.AccessoryType.Value == "LowerArm" then
i_20 = -1
v_17 = -4
i_20 = math.pi
v_17 = 0.5
var69 = CFrame.new(3.5, i_20, v_17) * CFrame.Angles(i_20, v_17, (-math.pi))
elseif SOME_upvr.AccessoryType.Value == "Hand" then
i_20 = -1
v_17 = -3
i_20 = math.pi
v_17 = 0.5
var69 = CFrame.new(3, i_20, v_17) * CFrame.Angles(i_20, v_17, (-math.pi))
elseif SOME_upvr.AccessoryType.Value == "LowerLeg" then
i_20 = -2
v_17 = -4
i_20 = math.pi
v_17 = 0.5
var69 = CFrame.new(2.2, i_20, v_17) * CFrame.Angles(i_20, v_17, (-math.pi))
end
local tbl = {}
v_17 = clone_6_upvr.main
i_20 = v_17.viewport
tbl._viewport = i_20
tbl._model = arg2
tbl._cameraOffset = var69
i_20 = 30
tbl._cameraFOV = i_20
any_load_result1_upvr_2.new(tbl)
else
local tbl_3 = {
_viewport = clone_6_upvr.main.viewport;
}
tbl_3._model = arg2
tbl_3._cameraOffset = CFrame.new(-3, 0, -5.5) * CFrame.Angles(math.pi, -0.5, (-math.pi))
tbl_3._cameraFOV = 30
any_load_result1_upvr_2.new(tbl_3)
end
for i_21 = 1, 3 do
if SOME_upvr.Name == Profile_upvr.inventory.Current["Accessory "..tostring(i_21)].Value then
if menu_upvr.pages.customize.main.pages[script.Name].selected[tostring(i_21)]:FindFirstChild("viewport") then
menu_upvr.pages.customize.main.pages[script.Name].selected[tostring(i_21)]:FindFirstChild("viewport")
end
menu_upvr.pages.customize.main.pages[script.Name].selected[tostring(i_21)].none.Visible = false
local clone_5 = clone_6_upvr.main.viewport:Clone()
clone_5.Parent = menu_upvr.pages.customize.main.pages[script.Name].selected[tostring(i_21)]
clone_5.AnchorPoint = Vector2.new(0.5, 0)
clone_5.Position = UDim2.new(0.5, 0, 0, 5)
clone_5.Size = UDim2.new(1, -20, 1, -35)
end
end
any_new_result1_upvr_2.mouseEnter = clone_6_upvr.main.button.MouseEnter:Connect(function() -- Line 202
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: clone_6_upvr (readonly)
]]
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(clone_6_upvr.main.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(177, 177, 177);
}):Play()
end)
any_new_result1_upvr_2.mouseLeave = clone_6_upvr.main.button.MouseLeave:Connect(function() -- Line 207
--[[ Upvalues[2]:
[1]: Services_upvr (copied, readonly)
[2]: clone_6_upvr (readonly)
]]
Services_upvr.TweenService:Create(clone_6_upvr.main.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end)
any_new_result1_upvr_2.mouseClick = clone_6_upvr.main.button.MouseButton1Click:Connect(function() -- Line 211
--[[ Upvalues[7]:
[1]: arg1 (readonly)
[2]: References_upvr (copied, readonly)
[3]: clone_6_upvr (readonly)
[4]: menu_upvr (copied, readonly)
[5]: Profile_upvr (copied, readonly)
[6]: any_new_result1_upvr (copied, readonly)
[7]: SOME_upvr (readonly)
]]
if arg1.selecting.slot then
References_upvr.Main.sounds.UI.Click:Play()
clone_6_upvr.main.selected.Visible = true
for i_22, v_18 in next, menu_upvr.pages.customize.main.pages[script.Name].scroll.main:GetChildren() do
if v_18 and v_18.Name ~= Profile_upvr.inventory.Current["Accessory 1"].Value and v_18.Name ~= Profile_upvr.inventory.Current["Accessory 2"].Value and v_18.Name ~= Profile_upvr.inventory.Current["Accessory 3"].Value and v_18:FindFirstChild("main") and v_18.main:FindFirstChild("selected") and v_18 ~= clone_6_upvr then
v_18.main.selected.Visible = false
end
end
if arg1.selecting.slot:FindFirstChild("viewport") then
i_22 = arg1
i_22.selecting.slot.viewport:Destroy()
end
local clone_4 = clone_6_upvr.main.viewport:Clone()
clone_4.Parent = arg1.selecting.slot
clone_4.AnchorPoint = Vector2.new(0.5, 0)
clone_4.Position = UDim2.new(0.5, 0, 0, 5)
clone_4.Size = UDim2.new(1, -20, 1, -35)
arg1.selecting.slot.none.Visible = false
arg1.selecting.slot.label.Text = "SLOT "..tostring(arg1.selecting.slot.Name)
any_new_result1_upvr:send("replicateValue", Profile_upvr.inventory.Current["Accessory "..tostring(arg1.selecting.slot.Name)], SOME_upvr.Name)
arg1.selecting.slot = nil
end
end)
any_new_result1_upvr_2.onDestroying = clone_6_upvr.Destroying:Connect(function() -- Line 240
--[[ Upvalues[1]:
[1]: any_new_result1_upvr_2 (readonly)
]]
any_new_result1_upvr_2:DoCleaning()
end)
end
end
local clone_3_upvr = workspace.game.rigs:WaitForChild("previewer", 100):Clone()
local Character_upvr = workspace.game.menu:WaitForChild("Character", 100)
function module.init(arg1) -- Line 245
--[[ Upvalues[7]:
[1]: Profile_upvr (readonly)
[2]: References_upvr (readonly)
[3]: clone_3_upvr (readonly)
[4]: Character_upvr (readonly)
[5]: menu_upvr (readonly)
[6]: Services_upvr (readonly)
[7]: any_new_result1_upvr (readonly)
]]
while not Profile_upvr:FindFirstChild("inventory") do
task.wait()
end
if References_upvr.Main.boots:FindFirstChild(Profile_upvr.inventory.Current.Boots.Value) then
for _, v_5 in next, clone_3_upvr.RightBoot:GetChildren() do
if v_5 and v_5:IsA("SurfaceAppearance") then
v_5:Destroy()
end
end
for _, v_6 in next, clone_3_upvr.LeftBoot:GetChildren() do
if v_6 and v_6:IsA("SurfaceAppearance") then
v_6:Destroy()
end
end
clone_3_upvr.RightBoot.TextureID = References_upvr.Main.boots[Profile_upvr.inventory.Current.Boots.Value].TextureID
clone_3_upvr.LeftBoot.TextureID = References_upvr.Main.boots[Profile_upvr.inventory.Current.Boots.Value].TextureID
if References_upvr.Main.boots[Profile_upvr.inventory.Current.Boots.Value]:FindFirstChild("SurfaceAppearance") then
References_upvr.Main.boots[Profile_upvr.inventory.Current.Boots.Value].SurfaceAppearance:Clone().Parent = clone_3_upvr.RightBoot
References_upvr.Main.boots[Profile_upvr.inventory.Current.Boots.Value].SurfaceAppearance:Clone().Parent = clone_3_upvr.LeftBoot
end
end
arg1:update(Character_upvr)
for _ = 1, math.floor(#References_upvr.Main.accessories:GetChildren() / 3 + 0.5) * 3 + 2 do
References_upvr.Main.ui.grid:Clone().Parent = menu_upvr.pages.customize.main.pages[script.Name].scroll.main
end
for i_9 = 1, 3 do
Profile_upvr.inventory.Current["Accessory "..tostring(i_9)].Changed:Connect(function() -- Line 289
--[[ Upvalues[4]:
[1]: menu_upvr (copied, readonly)
[2]: Profile_upvr (copied, readonly)
[3]: arg1 (readonly)
[4]: Character_upvr (copied, readonly)
]]
for _, v_7 in next, menu_upvr.pages.customize.main.pages[script.Name].scroll.main:GetChildren() do
if v_7 and v_7:FindFirstChild("main") and v_7.main:FindFirstChild("selected") and (v_7.Name == Profile_upvr.inventory.Current["Accessory 1"].Value or v_7.Name == Profile_upvr.inventory.Current["Accessory 2"].Value or v_7.Name == Profile_upvr.inventory.Current["Accessory 3"].Value) then
v_7.main.selected.Visible = true
elseif v_7 and v_7:FindFirstChild("main") and v_7.main:FindFirstChild("selected") then
v_7.main.selected.Visible = false
end
end
arg1:update(Character_upvr)
end)
end
for _, v_8_upvr in next, menu_upvr.pages.customize.main.pages[script.Name].selected:GetChildren() do
if v_8_upvr:IsA("Frame") then
v_8_upvr.button.MouseEnter:Connect(function() -- Line 304
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: v_8_upvr (readonly)
]]
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(v_8_upvr.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(177, 177, 177);
}):Play()
end)
v_8_upvr.button.MouseLeave:Connect(function() -- Line 309
--[[ Upvalues[2]:
[1]: Services_upvr (copied, readonly)
[2]: v_8_upvr (readonly)
]]
Services_upvr.TweenService:Create(v_8_upvr.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end)
v_8_upvr.button.MouseButton1Click:Connect(function() -- Line 313
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: References_upvr (copied, readonly)
[3]: v_8_upvr (readonly)
]]
if not arg1.selecting.slot then
References_upvr.Main.sounds.UI.Click:Play()
arg1.selecting.slot = v_8_upvr
v_8_upvr.label.Text = "SELECT"
end
end)
end
end
if menu_upvr.pages.customize.main.pages[script.Name].scroll.main.None.Name == Profile_upvr.inventory.Current["Accessory 1"].Value or menu_upvr.pages.customize.main.pages[script.Name].scroll.main.None.Name == Profile_upvr.inventory.Current["Accessory 2"].Value or menu_upvr.pages.customize.main.pages[script.Name].scroll.main.None.Name == Profile_upvr.inventory.Current["Accessory 3"].Value then
menu_upvr.pages.customize.main.pages[script.Name].scroll.main.None.selected.Visible = true
end
menu_upvr.pages.customize.main.pages[script.Name].scroll.main.None.button.MouseEnter:Connect(function() -- Line 327
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: menu_upvr (copied, readonly)
]]
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(menu_upvr.pages.customize.main.pages[script.Name].scroll.main.None.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(177, 177, 177);
}):Play()
end)
menu_upvr.pages.customize.main.pages[script.Name].scroll.main.None.button.MouseLeave:Connect(function() -- Line 332
--[[ Upvalues[2]:
[1]: Services_upvr (copied, readonly)
[2]: menu_upvr (copied, readonly)
]]
Services_upvr.TweenService:Create(menu_upvr.pages.customize.main.pages[script.Name].scroll.main.None.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end)
menu_upvr.pages.customize.main.pages[script.Name].scroll.main.None.button.MouseButton1Click:Connect(function() -- Line 336
--[[ Upvalues[5]:
[1]: arg1 (readonly)
[2]: References_upvr (copied, readonly)
[3]: menu_upvr (copied, readonly)
[4]: Profile_upvr (copied, readonly)
[5]: any_new_result1_upvr (copied, readonly)
]]
if arg1.selecting.slot then
References_upvr.Main.sounds.UI.Click:Play()
menu_upvr.pages.customize.main.pages[script.Name].scroll.main.None.selected.Visible = true
for _, v_9 in next, menu_upvr.pages.customize.main.pages[script.Name].scroll.main:GetChildren() do
if v_9 and v_9.Name ~= Profile_upvr.inventory.Current["Accessory 1"].Value and v_9.Name ~= Profile_upvr.inventory.Current["Accessory 2"].Value and v_9.Name ~= Profile_upvr.inventory.Current["Accessory 3"].Value and v_9:FindFirstChild("main") and v_9.main:FindFirstChild("selected") and v_9 ~= menu_upvr.pages.customize.main.pages[script.Name].scroll.main.None then
v_9.main.selected.Visible = false
end
end
for _, v_10 in next, arg1.selecting.slot:GetChildren() do
if v_10 and v_10.Name == "viewport" then
v_10:Destroy()
end
end
arg1.selecting.slot.none.Visible = true
arg1.selecting.slot.label.Text = "SLOT "..tostring(arg1.selecting.slot.Name)
any_new_result1_upvr:send("replicateValue", Profile_upvr.inventory.Current["Accessory "..tostring(arg1.selecting.slot.Name)], "None")
arg1.selecting.slot = nil
end
end)
menu_upvr.pages.customize.main.pages[script.Name].scroll.main.ChildAdded:Connect(function(arg1_4) -- Line 361
--[[ Upvalues[1]:
[1]: menu_upvr (copied, readonly)
]]
if arg1_4 and arg1_4.Name ~= "grid" then
local tbl_2 = {}
for i_14, v_11 in next, menu_upvr.pages.customize.main.pages[script.Name].scroll.main:GetChildren() do
if v_11.Name == "grid" then
table.insert(tbl_2, v_11)
end
end
if 2 <= #tbl_2 then
i_14 = #tbl_2
tbl_2[math.random(1, i_14)]:Destroy()
return
end
if #tbl_2 == 1 then
tbl_2[1]:Destroy()
end
end
end)
menu_upvr.pages.customize.main.pages[script.Name].scroll.main.ChildRemoved:Connect(function(arg1_5) -- Line 379
--[[ Upvalues[2]:
[1]: References_upvr (copied, readonly)
[2]: menu_upvr (copied, readonly)
]]
if arg1_5 and arg1_5.Name ~= "grid" then
References_upvr.Main.ui.grid:Clone().Parent = menu_upvr.pages.customize.main.pages[script.Name].scroll.main
end
end)
script.Parent:GetAttributeChangedSignal("toggle"):Connect(function() -- Line 386
--[[ Upvalues[4]:
[1]: Profile_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: clone_3_upvr (copied, readonly)
[4]: menu_upvr (copied, readonly)
]]
if script.Parent:GetAttribute("toggle") then
task.spawn(function() -- Line 388
--[[ Upvalues[3]:
[1]: Profile_upvr (copied, readonly)
[2]: arg1 (copied, readonly)
[3]: clone_3_upvr (copied, readonly)
]]
for _, v_12 in next, Profile_upvr.inventory.Accessories:GetChildren() do
if script.Parent:GetAttribute("toggle") then
arg1:create(clone_3_upvr, v_12)
task.wait(0.05)
end
end
end)
else
for _, v_19 in next, menu_upvr.pages.customize.main.pages[script.Name].scroll.main:GetChildren() do
if v_19 and v_19:IsA("Frame") and v_19.Name ~= "grid" and v_19.Name ~= "None" then
v_19:Destroy()
end
end
end
end)
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:39
-- Luau version 6, Types version 3
-- Time taken: 0.030420 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Profile_upvr = References_upvr.Profile
local menu_upvr = References_upvr.PlayerGui:WaitForChild("menu", 100)
local gloves_upvr = References_upvr.Main:WaitForChild("gloves", 100)
local Character_upvr = workspace.game.menu:WaitForChild("Character", 100)
local module = {
toggled = false;
}
local any_load_result1_upvr_2 = _engine:load("Maid")
local any_load_result1_upvr = _engine:load("CanvasSize", "utils")
local Services_upvr = _engine.Services
local any_load_result1_upvr_3 = _engine:load("Viewport")
local any_new_result1_upvr = _engine:load("Network").new()
function module.create(arg1, arg2) -- Line 27
--[[ Upvalues[9]:
[1]: References_upvr (readonly)
[2]: any_load_result1_upvr_2 (readonly)
[3]: gloves_upvr (readonly)
[4]: menu_upvr (readonly)
[5]: any_load_result1_upvr (readonly)
[6]: Services_upvr (readonly)
[7]: Profile_upvr (readonly)
[8]: any_load_result1_upvr_3 (readonly)
[9]: any_new_result1_upvr (readonly)
]]
if arg2 and (not arg2:GetAttribute("key") or arg2:GetAttribute("key") and arg2:GetAttribute("key") ~= References_upvr.Main.config.Key:GetAttribute("realKey")) then
else
local any_new_result1_upvr_2 = any_load_result1_upvr_2.new()
local SOME_upvr = gloves_upvr:WaitForChild(arg2.Name, 100)
local clone_upvr = References_upvr.Main.ui.item:Clone()
clone_upvr.Parent = menu_upvr.pages.customize.main.pages[script.Name].scroll.main
clone_upvr.Name = SOME_upvr.Name
clone_upvr.LayoutOrder = 2
menu_upvr.pages.customize.main.pages[script.Name].scroll.CanvasSize = any_load_result1_upvr:resizeGrid(menu_upvr.pages.customize.main.pages[script.Name].scroll.main, 3)
clone_upvr.main.UIScale.Scale = 0
Services_upvr.TweenService:Create(clone_upvr.main.UIScale, TweenInfo.new(0.3, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {
Scale = 1;
}):Play()
if SOME_upvr.Name == Profile_upvr.inventory.Current.Gloves.Value then
clone_upvr.main.selected.Visible = true
end
any_load_result1_upvr_3.new({
_viewport = clone_upvr.main.viewport;
_model = SOME_upvr;
_rotate = "Dynamic";
_viewportDistance = 1;
_cameraFOV = 60;
})
any_new_result1_upvr_2.mouseEnter = clone_upvr.main.button.MouseEnter:Connect(function() -- Line 56
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: clone_upvr (readonly)
]]
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(clone_upvr.main.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(177, 177, 177);
}):Play()
end)
any_new_result1_upvr_2.mouseLeave = clone_upvr.main.button.MouseLeave:Connect(function() -- Line 61
--[[ Upvalues[2]:
[1]: Services_upvr (copied, readonly)
[2]: clone_upvr (readonly)
]]
Services_upvr.TweenService:Create(clone_upvr.main.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end)
any_new_result1_upvr_2.mouseClick = clone_upvr.main.button.MouseButton1Click:Connect(function() -- Line 65
--[[ Upvalues[5]:
[1]: References_upvr (copied, readonly)
[2]: clone_upvr (readonly)
[3]: menu_upvr (copied, readonly)
[4]: any_new_result1_upvr (copied, readonly)
[5]: SOME_upvr (readonly)
]]
References_upvr.Main.sounds.UI.Click:Play()
clone_upvr.main.selected.Visible = true
for _, v_13 in next, menu_upvr.pages.customize.main.pages[script.Name].scroll.main:GetChildren() do
if v_13 and v_13:FindFirstChild("main") and v_13.main:FindFirstChild("selected") and v_13 ~= clone_upvr then
v_13.main.selected.Visible = false
end
end
any_new_result1_upvr:send("replicateValue", References_upvr.Profile.inventory.Current.Gloves, SOME_upvr.Name)
end)
any_new_result1_upvr_2.onDestroying = clone_upvr.Destroying:Connect(function() -- Line 78
--[[ Upvalues[1]:
[1]: any_new_result1_upvr_2 (readonly)
]]
any_new_result1_upvr_2:DoCleaning()
end)
end
end
function module.init(arg1) -- Line 83
--[[ Upvalues[5]:
[1]: Profile_upvr (readonly)
[2]: menu_upvr (readonly)
[3]: References_upvr (readonly)
[4]: gloves_upvr (readonly)
[5]: Character_upvr (readonly)
]]
Profile_upvr.inventory.Current.Gloves.Changed:Connect(function() -- Line 86
--[[ Upvalues[5]:
[1]: menu_upvr (copied, readonly)
[2]: References_upvr (copied, readonly)
[3]: arg1 (readonly)
[4]: gloves_upvr (copied, readonly)
[5]: Character_upvr (copied, readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local _, NONE_7 = menu_upvr.pages.customize.main.pages[script.Name].scroll.main:GetChildren()
local var107
for i, v in next, var107, NONE_7 do
if v and v:FindFirstChild("main") and v.main:FindFirstChild("selected") and v.Name == References_upvr.Profile.inventory.Current.Gloves.Value then
v.main.selected.Visible = true
elseif v and v:FindFirstChild("main") and v.main:FindFirstChild("selected") and v.Name ~= References_upvr.Profile.inventory.Current.Gloves.Value then
v.main.selected.Visible = false
end
end
var107 = arg1
if var107.toggled then
var107 = gloves_upvr
v = References_upvr.Profile.inventory.Current
i = v.Gloves
local var108 = var107[i.Value]
var107 = '1'
if var108 then
v = "GloveType"
if var108:FindFirstChild(v) then
var107 = var108.GloveType.Value
end
end
v = Character_upvr
i = v.Gloves:GetChildren()
for _, v_2 in next, v.Gloves:GetChildren() do
if v_2 and v_2.Name == var107 then
for _, v_3 in next, v_2:GetChildren() do
v_3.Transparency = 0
v_3.SurfaceAppearance:Destroy()
var108.SurfaceAppearance:Clone().Parent = v_3
local _
end
else
for _, v_4 in next, v_2:GetChildren() do
v_4.Transparency = 1
end
end
end
end
end)
for _ = 1, math.floor(#gloves_upvr:GetChildren() / 3 + 0.5) * 3 do
References_upvr.Main.ui.grid:Clone().Parent = menu_upvr.pages.customize.main.pages[script.Name].scroll.main
end
menu_upvr.pages.customize.main.pages[script.Name].scroll.main.ChildAdded:Connect(function(arg1_2) -- Line 131
--[[ Upvalues[1]:
[1]: menu_upvr (copied, readonly)
]]
if arg1_2 and arg1_2.Name ~= "grid" then
local tbl = {}
for i_6, v_5 in next, menu_upvr.pages.customize.main.pages[script.Name].scroll.main:GetChildren() do
if v_5.Name == "grid" then
table.insert(tbl, v_5)
end
end
if 2 <= #tbl then
i_6 = #tbl
tbl[math.random(1, i_6)]:Destroy()
return
end
if #tbl == 1 then
tbl[1]:Destroy()
end
end
end)
menu_upvr.pages.customize.main.pages[script.Name].scroll.main.ChildRemoved:Connect(function(arg1_3) -- Line 149
--[[ Upvalues[2]:
[1]: References_upvr (copied, readonly)
[2]: menu_upvr (copied, readonly)
]]
if arg1_3 and arg1_3.Name ~= "grid" then
References_upvr.Main.ui.grid:Clone().Parent = menu_upvr.pages.customize.main.pages[script.Name].scroll.main
end
end)
script.Parent:GetAttributeChangedSignal("toggle"):Connect(function() -- Line 156
--[[ Upvalues[3]:
[1]: Profile_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: menu_upvr (copied, readonly)
]]
if script.Parent:GetAttribute("toggle") then
task.spawn(function() -- Line 158
--[[ Upvalues[2]:
[1]: Profile_upvr (copied, readonly)
[2]: arg1 (copied, readonly)
]]
for _, v_6 in next, Profile_upvr.inventory.Gloves:GetChildren() do
if script.Parent:GetAttribute("toggle") then
arg1:create(v_6)
task.wait(0.05)
end
end
end)
else
for _, v_14 in next, menu_upvr.pages.customize.main.pages[script.Name].scroll.main:GetChildren() do
if v_14 and v_14:IsA("Frame") and v_14.Name ~= "grid" then
v_14:Destroy()
end
end
end
end)
end
function module.open(arg1) -- Line 176
--[[ Upvalues[3]:
[1]: Character_upvr (readonly)
[2]: gloves_upvr (readonly)
[3]: References_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
arg1.toggled = true
local _, NONE_3 = Character_upvr.Accessories:GetChildren()
local var209
for _, v_7 in next, var209, NONE_3 do
if v_7 and string.find(v_7.Name, "Glove") then
v_7.Transparency = 1
end
end
var209 = Character_upvr
var209 = 1
var209.RightHand.Transparency = var209
var209 = Character_upvr
var209 = 1
var209.LeftHand.Transparency = var209
var209 = gloves_upvr
local var210 = var209[References_upvr.Profile.inventory.Current.Gloves.Value]
var209 = '1'
if var210 then
if var210:FindFirstChild("GloveType") then
var209 = var210.GloveType.Value
end
end
for _, v_8 in next, Character_upvr.Gloves:GetChildren() do
if v_8 and v_8.Name == var209 then
for _, v_9 in next, v_8:GetChildren() do
v_9.Transparency = 0
v_9.SurfaceAppearance:Destroy()
var210.SurfaceAppearance:Clone().Parent = v_9
local _
end
else
for _, v_10 in next, v_8:GetChildren() do
v_10.Transparency = 1
end
end
end
end
function module.close(arg1) -- Line 210
--[[ Upvalues[1]:
[1]: Character_upvr (readonly)
]]
arg1.toggled = false
if not Character_upvr.Accessories:FindFirstChild("RightGlove") then
Character_upvr.RightHand.Transparency = 0
Character_upvr.LeftHand.Transparency = 0
end
for _, v_11 in next, Character_upvr.Accessories:GetChildren() do
if v_11 and string.find(v_11.Name, "Glove") then
v_11.Transparency = 0
end
end
for _, v_12 in next, Character_upvr.Gloves:GetDescendants() do
if v_12 and v_12:IsA("MeshPart") then
v_12.Transparency = 1
end
end
return true
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:40
-- Luau version 6, Types version 3
-- Time taken: 0.029627 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Profile_upvr = References_upvr.Profile
local menu_upvr = References_upvr.PlayerGui:WaitForChild("menu", 100)
local Ball_upvr = References_upvr.Main.animations:WaitForChild("Ball", 100)
local Character_upvr = workspace.game.menu:WaitForChild("Character", 100)
local clone_upvr_2 = workspace.game.rigs:WaitForChild("previewer", 100):Clone()
local LocalPlayer_upvr = References_upvr.LocalPlayer
local pcall_result1, pcall_result2 = pcall(function() -- Line 26
--[[ Upvalues[1]:
[1]: LocalPlayer_upvr (readonly)
]]
return _G._services.Players:GetCharacterAppearanceAsync(LocalPlayer_upvr.UserId)
end)
if pcall_result1 and pcall_result2 then
for _, v in next, pcall_result2:GetChildren() do
if v:IsA("Accessory") and not v:FindFirstChildWhichIsA("WrapLayer", true) then
v.Parent = clone_upvr_2
elseif v:IsA("BodyColors") then
v.Parent = clone_upvr_2
elseif v:IsA("Decal") and v.Name == "face" then
clone_upvr_2.Head.face.Texture = v.Texture
end
end
end
if References_upvr.Main.boots:FindFirstChild(Profile_upvr.inventory.Current.Boots.Value) then
for _, v_2 in next, clone_upvr_2.RightBoot:GetChildren() do
if v_2 and v_2:IsA("SurfaceAppearance") then
v_2:Destroy()
end
end
for _, v_3 in next, clone_upvr_2.LeftBoot:GetChildren() do
if v_3 and v_3:IsA("SurfaceAppearance") then
v_3:Destroy()
end
end
clone_upvr_2.RightBoot.TextureID = References_upvr.Main.boots[Profile_upvr.inventory.Current.Boots.Value].TextureID
clone_upvr_2.LeftBoot.TextureID = References_upvr.Main.boots[Profile_upvr.inventory.Current.Boots.Value].TextureID
if References_upvr.Main.boots[Profile_upvr.inventory.Current.Boots.Value]:FindFirstChild("SurfaceAppearance") then
References_upvr.Main.boots[Profile_upvr.inventory.Current.Boots.Value].SurfaceAppearance:Clone().Parent = clone_upvr_2.RightBoot
References_upvr.Main.boots[Profile_upvr.inventory.Current.Boots.Value].SurfaceAppearance:Clone().Parent = clone_upvr_2.LeftBoot
end
end
local module = {
toggled = false;
}
local any_load_result1_upvr = _engine:load("Maid")
local any_load_result1_upvr_3 = _engine:load("CanvasSize", "utils")
local Services_upvr = _engine.Services
local any_load_result1_upvr_2 = _engine:load("Viewport")
local any_new_result1_upvr_2 = _engine:load("Network").new()
function module.create(arg1, arg2) -- Line 70
--[[ Upvalues[11]:
[1]: References_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
[3]: Ball_upvr (readonly)
[4]: clone_upvr_2 (readonly)
[5]: menu_upvr (readonly)
[6]: any_load_result1_upvr_3 (readonly)
[7]: Services_upvr (readonly)
[8]: Profile_upvr (readonly)
[9]: any_load_result1_upvr_2 (readonly)
[10]: Character_upvr (readonly)
[11]: any_new_result1_upvr_2 (readonly)
]]
if arg2 and (not arg2:GetAttribute("key") or arg2:GetAttribute("key") and arg2:GetAttribute("key") ~= References_upvr.Main.config.Key:GetAttribute("realKey")) then
else
local any_new_result1_upvr = any_load_result1_upvr.new()
local SOME_upvr = Ball_upvr:WaitForChild(arg2.Name, 100)
clone_upvr_2.Accessories:ClearAllChildren()
local clone_upvr = References_upvr.Main.ui.item:Clone()
clone_upvr.Parent = menu_upvr.pages.customize.main.pages[script.Name].scroll.main
clone_upvr.Name = SOME_upvr.Name
clone_upvr.LayoutOrder = 2
menu_upvr.pages.customize.main.pages[script.Name].scroll.CanvasSize = any_load_result1_upvr_3:resizeGrid(menu_upvr.pages.customize.main.pages[script.Name].scroll.main, 3)
clone_upvr.main.UIScale.Scale = 0
Services_upvr.TweenService:Create(clone_upvr.main.UIScale, TweenInfo.new(0.3, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {
Scale = 1;
}):Play()
if SOME_upvr.Name == Profile_upvr.inventory.Current["Ball Hold"].Value then
clone_upvr.main.selected.Visible = true
end
for _, v_14 in next, clone_upvr_2.Accessories:GetChildren() do
if v_14 and string.find(v_14.Name, "Glove") then
v_14.Transparency = 1
end
end
clone_upvr_2.RightHand.Transparency = 1
clone_upvr_2.LeftHand.Transparency = 1
for _, v_15 in next, clone_upvr_2.Gloves:GetChildren() do
if v_15 and v_15.Name == References_upvr.Main.gloves[Profile_upvr.inventory.Current.Gloves.Value].GloveType.Value then
for _, v_16 in next, v_15:GetChildren() do
v_16.Transparency = 0
v_16.SurfaceAppearance:Destroy()
References_upvr.Main.gloves[Profile_upvr.inventory.Current.Gloves.Value].SurfaceAppearance:Clone().Parent = v_16
end
else
for _, v_17 in next, v_15:GetChildren() do
v_17.Transparency = 1
end
end
end
any_load_result1_upvr_2.new({
_viewport = clone_upvr.main.viewport;
_model = clone_upvr_2;
_cameraOffset = CFrame.new(2.25, 0.2, -7.5) * CFrame.Angles(math.pi, 0.3, (-math.pi));
_cameraFOV = 30;
_ball = true;
_animationData = {
_id = Ball_upvr[clone_upvr.Name].AnimationId;
_looped = true;
};
})
any_new_result1_upvr.mouseEnter = clone_upvr.main.button.MouseEnter:Connect(function() -- Line 128
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: clone_upvr (readonly)
]]
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(clone_upvr.main.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(177, 177, 177);
}):Play()
end)
any_new_result1_upvr.mouseLeave = clone_upvr.main.button.MouseLeave:Connect(function() -- Line 133
--[[ Upvalues[2]:
[1]: Services_upvr (copied, readonly)
[2]: clone_upvr (readonly)
]]
Services_upvr.TweenService:Create(clone_upvr.main.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end)
any_new_result1_upvr.mouseClick = clone_upvr.main.button.MouseButton1Click:Connect(function() -- Line 137
--[[ Upvalues[7]:
[1]: References_upvr (copied, readonly)
[2]: clone_upvr (readonly)
[3]: menu_upvr (copied, readonly)
[4]: Character_upvr (copied, readonly)
[5]: Ball_upvr (copied, readonly)
[6]: SOME_upvr (readonly)
[7]: any_new_result1_upvr_2 (copied, readonly)
]]
References_upvr.Main.sounds.UI.Click:Play()
clone_upvr.main.selected.Visible = true
for _, v_18 in next, menu_upvr.pages.customize.main.pages[script.Name].scroll.main:GetChildren() do
if v_18 and v_18:FindFirstChild("main") and v_18.main:FindFirstChild("selected") and v_18 ~= clone_upvr then
v_18.main.selected.Visible = false
end
end
for _, v_19 in next, Character_upvr.Humanoid.Animator:GetPlayingAnimationTracks() do
if v_19 and Ball_upvr:FindFirstChild(v_19.Name) then
v_19:Stop()
end
end
local any_LoadAnimation_result1_3 = Character_upvr.Humanoid.Animator:LoadAnimation(Ball_upvr[SOME_upvr.Name])
any_LoadAnimation_result1_3.Priority = Enum.AnimationPriority.Action2
any_LoadAnimation_result1_3:Play()
any_new_result1_upvr_2:send("replicateValue", References_upvr.Profile.inventory.Current["Ball Hold"], SOME_upvr.Name)
end)
any_new_result1_upvr.onDestroying = clone_upvr.Destroying:Connect(function() -- Line 160
--[[ Upvalues[1]:
[1]: any_new_result1_upvr (readonly)
]]
any_new_result1_upvr:DoCleaning()
end)
end
end
function module.init(arg1) -- Line 165
--[[ Upvalues[4]:
[1]: Profile_upvr (readonly)
[2]: menu_upvr (readonly)
[3]: References_upvr (readonly)
[4]: Ball_upvr (readonly)
]]
Profile_upvr.inventory.Current["Ball Hold"].Changed:Connect(function() -- Line 168
--[[ Upvalues[2]:
[1]: menu_upvr (copied, readonly)
[2]: References_upvr (copied, readonly)
]]
for _, v_4 in next, menu_upvr.pages.customize.main.pages[script.Name].scroll.main:GetChildren() do
if v_4 and v_4:FindFirstChild("main") and v_4.main:FindFirstChild("selected") and v_4.Name == References_upvr.Profile.inventory.Current["Ball Hold"].Value then
v_4.main.selected.Visible = true
elseif v_4 and v_4:FindFirstChild("main") and v_4.main:FindFirstChild("selected") and v_4.Name ~= References_upvr.Profile.inventory.Current["Ball Hold"].Value then
v_4.main.selected.Visible = false
end
end
end)
for _ = 1, math.floor(#Ball_upvr:GetChildren() / 3 + 0.5) * 3 + 3 do
References_upvr.Main.ui.grid:Clone().Parent = menu_upvr.pages.customize.main.pages[script.Name].scroll.main
end
menu_upvr.pages.customize.main.pages[script.Name].scroll.main.ChildAdded:Connect(function(arg1_2) -- Line 190
--[[ Upvalues[1]:
[1]: menu_upvr (copied, readonly)
]]
if arg1_2 and arg1_2.Name ~= "grid" then
local tbl = {}
for i_6, v_5 in next, menu_upvr.pages.customize.main.pages[script.Name].scroll.main:GetChildren() do
if v_5.Name == "grid" then
table.insert(tbl, v_5)
end
end
if 2 <= #tbl then
i_6 = #tbl
tbl[math.random(1, i_6)]:Destroy()
return
end
if #tbl == 1 then
tbl[1]:Destroy()
end
end
end)
menu_upvr.pages.customize.main.pages[script.Name].scroll.main.ChildRemoved:Connect(function(arg1_3) -- Line 208
--[[ Upvalues[2]:
[1]: References_upvr (copied, readonly)
[2]: menu_upvr (copied, readonly)
]]
if arg1_3 and arg1_3.Name ~= "grid" then
References_upvr.Main.ui.grid:Clone().Parent = menu_upvr.pages.customize.main.pages[script.Name].scroll.main
end
end)
script.Parent:GetAttributeChangedSignal("toggle"):Connect(function() -- Line 215
--[[ Upvalues[3]:
[1]: Profile_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: menu_upvr (copied, readonly)
]]
if script.Parent:GetAttribute("toggle") then
task.spawn(function() -- Line 217
--[[ Upvalues[2]:
[1]: Profile_upvr (copied, readonly)
[2]: arg1 (copied, readonly)
]]
for _, v_6 in next, Profile_upvr.inventory["Ball Holds"]:GetChildren() do
if script.Parent:GetAttribute("toggle") then
arg1:create(v_6)
task.wait(0.05)
end
end
end)
else
for _, v_20 in next, menu_upvr.pages.customize.main.pages[script.Name].scroll.main:GetChildren() do
if v_20 and v_20:IsA("Frame") and v_20.Name ~= "grid" then
v_20:Destroy()
end
end
end
end)
end
function module.open(arg1) -- Line 235
--[[ Upvalues[4]:
[1]: Character_upvr (readonly)
[2]: Ball_upvr (readonly)
[3]: Profile_upvr (readonly)
[4]: References_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
arg1.toggled = true
local children_6, _ = Character_upvr.Accessories:GetChildren()
local var168
for _, v_7 in next, children_6, var168 do
if v_7 and string.find(v_7.Name, "Glove") then
v_7.Transparency = 1
end
end
Character_upvr.RightHand.Transparency = 1
Character_upvr.LeftHand.Transparency = 1
var168 = Character_upvr.Ball
var168.design["Adidas RF Pro 23/24"].Transparency = 0
var168 = Character_upvr
var168 = workspace.game.rigs.previewer.Ball.Ball
var168.Ball.Ball.C0 = var168.C0
var168 = Character_upvr
var168 = workspace.game.rigs.previewer.Ball.Ball
var168.Ball.Ball.C1 = var168.C1
var168 = Character_upvr
var168 = Ball_upvr[Profile_upvr.inventory.Current["Ball Hold"].Value]
local any_LoadAnimation_result1_2 = var168.Humanoid.Animator:LoadAnimation(var168)
any_LoadAnimation_result1_2.Priority = Enum.AnimationPriority.Action2
any_LoadAnimation_result1_2:Play()
var168 = References_upvr.Main.gloves
local var170 = var168[References_upvr.Profile.inventory.Current.Gloves.Value]
var168 = '1'
if var170 then
if var170:FindFirstChild("GloveType") then
var168 = var170.GloveType.Value
end
end
for _, v_8 in next, Character_upvr.Gloves:GetChildren() do
if v_8 and v_8.Name == var168 then
for _, v_9 in next, v_8:GetChildren() do
v_9.Transparency = 0
v_9.SurfaceAppearance:Destroy()
var170.SurfaceAppearance:Clone().Parent = v_9
local _
end
else
for _, v_10 in next, v_8:GetChildren() do
v_10.Transparency = 1
end
end
end
end
function module.close(arg1) -- Line 277
--[[ Upvalues[3]:
[1]: Character_upvr (readonly)
[2]: References_upvr (readonly)
[3]: Ball_upvr (readonly)
]]
arg1.toggled = false
Character_upvr.Ball.design["Adidas RF Pro 23/24"].Transparency = 1
Character_upvr.Ball.Ball.C0 = References_upvr.Main.rigs.Character.Ball.Ball.C0
Character_upvr.Ball.Ball.C1 = References_upvr.Main.rigs.Character.Ball.Ball.C1
for _, v_11 in next, Character_upvr.Humanoid.Animator:GetPlayingAnimationTracks() do
if v_11 and Ball_upvr:FindFirstChild(v_11.Name) then
v_11:Stop()
end
end
if not Character_upvr.Accessories:FindFirstChild("RightGlove") then
Character_upvr.RightHand.Transparency = 0
Character_upvr.LeftHand.Transparency = 0
end
for _, v_12 in next, Character_upvr.Accessories:GetChildren() do
if v_12 and string.find(v_12.Name, "Glove") then
v_12.Transparency = 0
end
end
for _, v_13 in next, Character_upvr.Gloves:GetDescendants() do
if v_13 and v_13:IsA("MeshPart") then
v_13.Transparency = 1
end
end
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:41
-- Luau version 6, Types version 3
-- Time taken: 0.017793 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Profile_upvr = References_upvr.Profile
local menu_upvr = References_upvr.PlayerGui:WaitForChild("menu", 100)
local Celebrations_upvr = References_upvr.Main.animations:WaitForChild("Celebrations", 100)
local clone_upvr = workspace.game.rigs:WaitForChild("previewer", 100):Clone()
local LocalPlayer_upvr = References_upvr.LocalPlayer
local pcall_result1, pcall_result2 = pcall(function() -- Line 26
--[[ Upvalues[1]:
[1]: LocalPlayer_upvr (readonly)
]]
return _G._services.Players:GetCharacterAppearanceAsync(LocalPlayer_upvr.UserId)
end)
if pcall_result1 and pcall_result2 then
for _, v in next, pcall_result2:GetChildren() do
if v:IsA("Accessory") and not v:FindFirstChildWhichIsA("WrapLayer", true) then
v.Parent = clone_upvr
elseif v:IsA("BodyColors") then
v.Parent = clone_upvr
elseif v:IsA("Decal") and v.Name == "face" then
clone_upvr.Head.face.Texture = v.Texture
end
end
end
if References_upvr.Main.boots:FindFirstChild(Profile_upvr.inventory.Current.Boots.Value) then
for _, v_2 in next, clone_upvr.RightBoot:GetChildren() do
if v_2 and v_2:IsA("SurfaceAppearance") then
v_2:Destroy()
end
end
for _, v_3 in next, clone_upvr.LeftBoot:GetChildren() do
if v_3 and v_3:IsA("SurfaceAppearance") then
v_3:Destroy()
end
end
clone_upvr.RightBoot.TextureID = References_upvr.Main.boots[Profile_upvr.inventory.Current.Boots.Value].TextureID
clone_upvr.LeftBoot.TextureID = References_upvr.Main.boots[Profile_upvr.inventory.Current.Boots.Value].TextureID
if References_upvr.Main.boots[Profile_upvr.inventory.Current.Boots.Value]:FindFirstChild("SurfaceAppearance") then
References_upvr.Main.boots[Profile_upvr.inventory.Current.Boots.Value].SurfaceAppearance:Clone().Parent = clone_upvr.RightBoot
References_upvr.Main.boots[Profile_upvr.inventory.Current.Boots.Value].SurfaceAppearance:Clone().Parent = clone_upvr.LeftBoot
end
end
local module = {}
local any_load_result1_upvr_3 = _engine:load("Maid")
local any_load_result1_upvr_2 = _engine:load("CanvasSize", "utils")
local Services_upvr = _engine.Services
local any_load_result1_upvr = _engine:load("Viewport")
function module.create(arg1, arg2) -- Line 68
--[[ Upvalues[8]:
[1]: References_upvr (readonly)
[2]: any_load_result1_upvr_3 (readonly)
[3]: Celebrations_upvr (readonly)
[4]: clone_upvr (readonly)
[5]: menu_upvr (readonly)
[6]: any_load_result1_upvr_2 (readonly)
[7]: Services_upvr (readonly)
[8]: any_load_result1_upvr (readonly)
]]
if arg2 and (not arg2:GetAttribute("key") or arg2:GetAttribute("key") and arg2:GetAttribute("key") ~= References_upvr.Main.config.Key:GetAttribute("realKey")) then
else
local any_new_result1_upvr = any_load_result1_upvr_3.new()
clone_upvr.Accessories:ClearAllChildren()
for _, v_6 in next, clone_upvr.Gloves:GetChildren() do
for _, v_7 in next, v_6:GetChildren() do
v_7.Transparency = 1
end
end
clone_upvr.RightHand.Transparency = 0
clone_upvr.LeftHand.Transparency = 0
local clone_upvr_2 = References_upvr.Main.ui.item:Clone()
clone_upvr_2.Parent = menu_upvr.pages.customize.main.pages[script.Name].scroll.main
clone_upvr_2.Name = Celebrations_upvr:WaitForChild(arg2.Name, 100).Name
clone_upvr_2.LayoutOrder = 2
menu_upvr.pages.customize.main.pages[script.Name].scroll.CanvasSize = any_load_result1_upvr_2:resizeGrid(menu_upvr.pages.customize.main.pages[script.Name].scroll.main, 3)
clone_upvr_2.main.UIScale.Scale = 0
Services_upvr.TweenService:Create(clone_upvr_2.main.UIScale, TweenInfo.new(0.3, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {
Scale = 1;
}):Play()
local unpacked_value_1_upvr, unpacked_value_2_upvr = table.unpack(any_load_result1_upvr.new({
_viewport = clone_upvr_2.main.viewport;
_model = clone_upvr;
_cameraOffset = CFrame.new(2.25, -0.4, -12) * CFrame.Angles(math.pi, 0.2, (-math.pi));
_cameraFOV = 7;
_animationData = {
_id = Celebrations_upvr[clone_upvr_2.Name].AnimationId;
_looped = true;
};
_return = "Camera";
}))
any_new_result1_upvr.mouseEnter = clone_upvr_2.main.button.MouseEnter:Connect(function() -- Line 109
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: clone_upvr_2 (readonly)
]]
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(clone_upvr_2.main.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(177, 177, 177);
}):Play()
end)
any_new_result1_upvr.mouseLeave = clone_upvr_2.main.button.MouseLeave:Connect(function() -- Line 114
--[[ Upvalues[2]:
[1]: Services_upvr (copied, readonly)
[2]: clone_upvr_2 (readonly)
]]
Services_upvr.TweenService:Create(clone_upvr_2.main.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end)
any_new_result1_upvr.mouseClick = clone_upvr_2.main.button.MouseButton1Click:Connect(function() -- Line 118
--[[ Upvalues[1]:
[1]: References_upvr (copied, readonly)
]]
References_upvr.Main.sounds.UI.Click:Play()
end)
any_new_result1_upvr.renderStepped = _G._services.RunService.RenderStepped:Connect(function() -- Line 132
--[[ Upvalues[2]:
[1]: unpacked_value_1_upvr (readonly)
[2]: unpacked_value_2_upvr (readonly)
]]
unpacked_value_1_upvr.CFrame = CFrame.lookAt((unpacked_value_2_upvr.PrimaryPart.CFrame * workspace.game.cutscenes.celebrations.home.right.position.CFrame:ToObjectSpace(workspace.game.cutscenes.celebrations.home.right.corner.CFrame)).Position, unpacked_value_2_upvr.UpperTorso.CFrame.Position)
end)
any_new_result1_upvr.onDestroying = clone_upvr_2.Destroying:Connect(function() -- Line 137
--[[ Upvalues[1]:
[1]: any_new_result1_upvr (readonly)
]]
any_new_result1_upvr:DoCleaning()
end)
end
end
function module.init(arg1) -- Line 142
--[[ Upvalues[4]:
[1]: Celebrations_upvr (readonly)
[2]: References_upvr (readonly)
[3]: menu_upvr (readonly)
[4]: Profile_upvr (readonly)
]]
for _ = 1, math.floor(#Celebrations_upvr:GetChildren() / 3 + 0.5) * 3 + 3 do
References_upvr.Main.ui.grid:Clone().Parent = menu_upvr.pages.customize.main.pages[script.Name].scroll.main
end
menu_upvr.pages.customize.main.pages[script.Name].scroll.main.ChildAdded:Connect(function(arg1_2) -- Line 155
--[[ Upvalues[1]:
[1]: menu_upvr (copied, readonly)
]]
if arg1_2 and arg1_2.Name ~= "grid" then
local tbl = {}
for i_5, v_4 in next, menu_upvr.pages.customize.main.pages[script.Name].scroll.main:GetChildren() do
if v_4.Name == "grid" then
table.insert(tbl, v_4)
end
end
if 2 <= #tbl then
i_5 = #tbl
tbl[math.random(1, i_5)]:Destroy()
return
end
if #tbl == 1 then
tbl[1]:Destroy()
end
end
end)
menu_upvr.pages.customize.main.pages[script.Name].scroll.main.ChildRemoved:Connect(function(arg1_3) -- Line 173
--[[ Upvalues[2]:
[1]: References_upvr (copied, readonly)
[2]: menu_upvr (copied, readonly)
]]
if arg1_3 and arg1_3.Name ~= "grid" then
References_upvr.Main.ui.grid:Clone().Parent = menu_upvr.pages.customize.main.pages[script.Name].scroll.main
end
end)
script.Parent:GetAttributeChangedSignal("toggle"):Connect(function() -- Line 180
--[[ Upvalues[4]:
[1]: Profile_upvr (copied, readonly)
[2]: References_upvr (copied, readonly)
[3]: arg1 (readonly)
[4]: menu_upvr (copied, readonly)
]]
if script.Parent:GetAttribute("toggle") then
task.spawn(function() -- Line 182
--[[ Upvalues[3]:
[1]: Profile_upvr (copied, readonly)
[2]: References_upvr (copied, readonly)
[3]: arg1 (copied, readonly)
]]
for _, v_5 in next, Profile_upvr.inventory.Celebrations:GetChildren() do
if script.Parent:GetAttribute("toggle") and References_upvr.Main.animations.Celebrations:FindFirstChild(v_5.Name) then
arg1:create(v_5)
task.wait(0.05)
end
end
end)
else
for _, v_8 in next, menu_upvr.pages.customize.main.pages[script.Name].scroll.main:GetChildren() do
if v_8 and v_8:IsA("Frame") and v_8.Name ~= "grid" then
v_8:Destroy()
end
end
end
end)
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:42
-- Luau version 6, Types version 3
-- Time taken: 0.016758 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local menu_upvr = References_upvr.PlayerGui:WaitForChild("menu", 100)
local module = {
current = "daily";
index = {
daily = 1;
weekly = 2;
redeem = 3;
};
tabs = {
debounce = false;
};
pages = {};
cache = {};
select = function(arg1, arg2) -- Line 34, Named "select"
--[[ Upvalues[1]:
[1]: menu_upvr (readonly)
]]
if not arg1.cache.buttonDebounce and arg1.current ~= arg2.Name and arg2.Name ~= "back" then
arg1.cache.buttonDebounce = true
if arg1.pages[arg1.current] and arg1.pages[arg1.current].close then
task.spawn(function() -- Line 39
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1.pages[arg1.current]:close()
end)
end
if arg1.pages[arg2.Name] and arg1.pages[arg2.Name].open then
task.spawn(function() -- Line 45
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
arg1.pages[arg2.Name]:open()
end)
end
arg1.current = arg2.Name
menu_upvr.pages.cosmetics.main.pages.UIPageLayout:JumpTo(menu_upvr.pages.cosmetics.main.pages[arg2.Name])
task.wait(0.1)
arg1.cache.buttonDebounce = nil
end
end;
}
local my_player_upvr = script.Parent:WaitForChild("my player", 100)
local mouse_upvr = Services_upvr.Players.LocalPlayer:GetMouse()
local any_new_result1_upvr = _engine:load("Purchase").new(script)
function module.init(arg1) -- Line 58
--[[ Upvalues[6]:
[1]: my_player_upvr (readonly)
[2]: Services_upvr (readonly)
[3]: menu_upvr (readonly)
[4]: References_upvr (readonly)
[5]: mouse_upvr (readonly)
[6]: any_new_result1_upvr (readonly)
]]
while not my_player_upvr:GetAttribute("loaded") do
task.wait()
end
Services_upvr.UserInputService.InputBegan:Connect(function(arg1_2, arg2) -- Line 67
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: menu_upvr (copied, readonly)
[3]: References_upvr (copied, readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 66 start (CF ANALYSIS FAILED)
if arg1_2.KeyCode == Enum.KeyCode.ButtonR1 and arg1.index[arg1.current] and script:GetAttribute("toggle") and not arg1.tabs.debounce then
arg1.tabs.debounce = true
if arg1.index[arg1.current] == #menu_upvr.pages.cosmetics.main.top:GetChildren() - 2 then
for i, v in next, arg1.index do
if v and v == 1 then
References_upvr.Main.sounds.UI.Click:Play()
arg1:select(menu_upvr.pages.cosmetics.main.pages[i])
task.delay(0.2, function() -- Line 75
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.tabs.debounce = false
end)
return
end
end
task.delay(0.2, function() -- Line 93
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.tabs.debounce = false
end)
do
return
end
-- KONSTANTWARNING: GOTO [162] #111
end
-- KONSTANTWARNING: GOTO [102] #69
end
-- KONSTANTERROR: [0] 1. Error Block 66 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [162] 111. Error Block 64 start (CF ANALYSIS FAILED)
if arg1_2.KeyCode == Enum.KeyCode.ButtonL1 and arg1.index[arg1.current] and script:GetAttribute("toggle") then
arg1.tabs.debounce = true
if arg1.index[arg1.current] == 1 then
for i_2, v_2 in next, arg1.index do
if v_2 and v_2 == #menu_upvr.pages.cosmetics.main.top:GetChildren() - 2 then
References_upvr.Main.sounds.UI.Click:Play()
arg1:select(menu_upvr.pages.cosmetics.main.pages[i_2])
task.delay(0.2, function() -- Line 103
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.tabs.debounce = false
end)
return
end
end
task.delay(0.2, function() -- Line 121
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.tabs.debounce = false
end)
-- KONSTANTWARNING: GOTO [317] #216
end
-- KONSTANTWARNING: GOTO [258] #175
end
-- KONSTANTERROR: [162] 111. Error Block 64 end (CF ANALYSIS FAILED)
end)
for _, v_3_upvr in next, menu_upvr.pages.cosmetics.main.top:GetChildren() do
if v_3_upvr and v_3_upvr:IsA("Frame") then
local button = v_3_upvr:FindFirstChild("button")
if not button then
button = v_3_upvr:FindFirstChild("back")
end
local image_upvr = v_3_upvr:FindFirstChild("image", true)
local label_upvr = v_3_upvr:FindFirstChild("label", true)
button.MouseEnter:Connect(function() -- Line 135
--[[ Upvalues[5]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: v_3_upvr (readonly)
[4]: image_upvr (readonly)
[5]: label_upvr (readonly)
]]
if script:GetAttribute("freeze") then
else
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(v_3_upvr.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 1;
}):Play()
if image_upvr then
Services_upvr.TweenService:Create(image_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(255, 255, 255);
Position = UDim2.new(0.5, 0, 0.5, -2);
}):Play()
return
end
if label_upvr then
Services_upvr.TweenService:Create(label_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
Position = UDim2.new(0.5, 0, 0.5, -2);
}):Play()
end
end
end)
button.MouseLeave:Connect(function() -- Line 150
--[[ Upvalues[4]:
[1]: Services_upvr (copied, readonly)
[2]: v_3_upvr (readonly)
[3]: image_upvr (readonly)
[4]: label_upvr (readonly)
]]
Services_upvr.TweenService:Create(v_3_upvr.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 0;
}):Play()
if image_upvr then
Services_upvr.TweenService:Create(image_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(35, 39, 50);
Position = UDim2.new(0.5, 0, 0.5, 0);
}):Play()
elseif label_upvr then
Services_upvr.TweenService:Create(label_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(35, 39, 50);
Position = UDim2.new(0.5, 0, 0.5, 0);
}):Play()
end
end)
button.MouseButton1Click:Connect(function() -- Line 160
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: v_3_upvr (readonly)
]]
if script:GetAttribute("freeze") then
else
References_upvr.Main.sounds.UI.Click:Play()
arg1:select(v_3_upvr)
end
end)
end
end
local tbl_upvr = {
edit = false;
hovering = false;
enabled = false;
lastMousePosition = nil;
}
local var46_upvw
label_upvr = menu_upvr.purchase
image_upvr = label_upvr.main
image_upvr.viewport.viewport.WorldModel.ChildAdded:Connect(function(arg1_3) -- Line 182
--[[ Upvalues[2]:
[1]: var46_upvw (read and write)
[2]: References_upvr (copied, readonly)
]]
if arg1_3 and arg1_3.Name == "previewer" then
var46_upvw = arg1_3
var46_upvw:WaitForChild("Humanoid", 100):WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Player.Play):Play()
end
end)
label_upvr = menu_upvr
image_upvr = label_upvr.purchase
local Camera = Instance.new("Camera", image_upvr.main.viewport)
Camera.FieldOfView = 30
label_upvr = workspace.game.rigs.previewer
image_upvr = label_upvr.HumanoidRootPart
image_upvr = CFrame.new
label_upvr = 2.25
image_upvr = image_upvr(label_upvr, -0.75, -11)
image_upvr = math.pi
label_upvr = 0.2
Camera.CFrame = image_upvr.CFrame * image_upvr * CFrame.Angles(image_upvr, label_upvr, (-math.pi))
label_upvr = menu_upvr
image_upvr = label_upvr.purchase
image_upvr.main.viewport.viewport.CurrentCamera = Camera
label_upvr = menu_upvr.purchase
image_upvr = label_upvr.main
image_upvr.viewport.button.MouseEnter:Connect(function() -- Line 197
--[[ Upvalues[3]:
[1]: var46_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: mouse_upvr (copied, readonly)
]]
if var46_upvw then
tbl_upvr.hovering = true
mouse_upvr.Icon = "rbxassetid://15820803017"
end
end)
label_upvr = menu_upvr.purchase
image_upvr = label_upvr.main
image_upvr.viewport.button.MouseLeave:Connect(function() -- Line 204
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: mouse_upvr (copied, readonly)
]]
tbl_upvr.hovering = false
mouse_upvr.Icon = ""
end)
label_upvr = menu_upvr.purchase
image_upvr = label_upvr.main
image_upvr.viewport.button.MouseButton1Down:Connect(function() -- Line 209
--[[ Upvalues[4]:
[1]: var46_upvw (read and write)
[2]: menu_upvr (copied, readonly)
[3]: tbl_upvr (readonly)
[4]: mouse_upvr (copied, readonly)
]]
if var46_upvw and menu_upvr.purchase.main.info.category.Text ~= "CELEBRATIONS" then
tbl_upvr.enabled = true
tbl_upvr.lastMousePosition = mouse_upvr.X
end
end)
Services_upvr.UserInputService.InputEnded:Connect(function(arg1_4, arg2) -- Line 216
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: mouse_upvr (copied, readonly)
]]
if arg1_4.UserInputType == Enum.UserInputType.MouseButton1 or arg1_4.UserInputType == Enum.UserInputType.Touch and tbl_upvr.enabled then
if not tbl_upvr.hovering then
mouse_upvr.Icon = ""
end
tbl_upvr.enabled = false
tbl_upvr.lastMousePosition = nil
end
end)
Services_upvr.UserInputService.InputChanged:Connect(function(arg1_5, arg2) -- Line 227
--[[ Upvalues[3]:
[1]: menu_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: var46_upvw (read and write)
]]
if arg1_5.KeyCode == Enum.KeyCode.Thumbstick2 and menu_upvr.purchase.Visible then
if 0.7 <= arg1_5.Position.X then
Services_upvr.TweenService:Create(var46_upvw.PrimaryPart, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
CFrame = var46_upvw.PrimaryPart.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.5, 0);
}):Play()
return
end
if arg1_5.Position.X <= -0.7 then
Services_upvr.TweenService:Create(var46_upvw.PrimaryPart, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
CFrame = var46_upvw.PrimaryPart.CFrame * CFrame.fromEulerAnglesXYZ(0, -0.5, 0);
}):Play()
end
end
end)
mouse_upvr.Move:Connect(function() -- Line 237
--[[ Upvalues[5]:
[1]: tbl_upvr (readonly)
[2]: mouse_upvr (copied, readonly)
[3]: menu_upvr (copied, readonly)
[4]: Services_upvr (copied, readonly)
[5]: var46_upvw (read and write)
]]
if tbl_upvr.enabled then
Services_upvr.TweenService:Create(var46_upvw.PrimaryPart, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
CFrame = var46_upvw.PrimaryPart.CFrame * CFrame.fromEulerAnglesXYZ(0, math.rad((workspace.CurrentCamera:WorldToViewportPoint(mouse_upvr.Hit.Position).X - tbl_upvr.lastMousePosition) * 2 / menu_upvr.pages.cosmetics.main.UIScale.Scale), 0);
}):Play()
tbl_upvr.lastMousePosition = mouse_upvr.X
end
end)
for _, v_4 in next, script:GetChildren() do
if v_4 and v_4:IsA("ModuleScript") then
local v_4_2 = require(v_4)
arg1.pages[v_4.Name] = v_4_2
v_4_2:init(any_new_result1_upvr)
end
end
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:44
-- Luau version 6, Types version 3
-- Time taken: 0.049783 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Profile_upvr = References_upvr.Profile
local menu_upvr = References_upvr.PlayerGui:WaitForChild("menu", 100)
local SOME_upvr = References_upvr.Main.cycle:WaitForChild(script.Name, 100)
local module = {
activeMaids = {};
}
local function getEquippedGlove_upvr() -- Line 28, Named "getEquippedGlove"
--[[ Upvalues[2]:
[1]: References_upvr (readonly)
[2]: Profile_upvr (readonly)
]]
local gloves = References_upvr.Main:FindFirstChild("gloves")
if not gloves then
return nil
end
local Current = Profile_upvr.inventory:FindFirstChild("Current")
if not Current then
return nil
end
local Gloves_2 = Current:FindFirstChild("Gloves")
if not Gloves_2 then
return nil
end
local Value = Gloves_2.Value
if Value ~= "" and gloves:FindFirstChild(Value) then
return gloves[Value]
end
local DefaultValue = Gloves_2:FindFirstChild("DefaultValue")
if DefaultValue and DefaultValue.Value ~= "" and gloves:FindFirstChild(DefaultValue.Value) then
return gloves[DefaultValue.Value]
end
local Gloves = Profile_upvr.inventory:FindFirstChild("Gloves")
if Gloves then
for _, v in ipairs(Gloves:GetChildren()) do
if v:IsA("BoolValue") and v.Value and gloves:FindFirstChild(v.Name) then
return gloves[v.Name]
end
end
end
return gloves:GetChildren()[1]
end
local any_load_result1_upvr_3 = _engine:load("Maid")
local any_new_result1_3_upvr = _engine:load("Janitor").new()
local any_load_result1_upvr_2 = _engine:load("FormatNumber", "utils")
local LocalPlayer_upvr = References_upvr.LocalPlayer
local any_load_result1_upvr = _engine:load("Viewport")
local Services_upvr = _engine.Services
function module.create(arg1, arg2, arg3, arg4) -- Line 67
--[[ Upvalues[9]:
[1]: any_load_result1_upvr_3 (readonly)
[2]: any_new_result1_3_upvr (readonly)
[3]: any_load_result1_upvr_2 (readonly)
[4]: LocalPlayer_upvr (readonly)
[5]: Profile_upvr (readonly)
[6]: any_load_result1_upvr (readonly)
[7]: getEquippedGlove_upvr (readonly)
[8]: References_upvr (readonly)
[9]: Services_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 206 start (CF ANALYSIS FAILED)
local any_new_result1 = any_load_result1_upvr_3.new()
table.insert(arg1.activeMaids, any_new_result1)
arg3.info.item.Text = string.upper(arg4.Name)
any_new_result1_3_upvr:clean(arg3.viewport:GetChildren(), "UIGradient")
if arg4.Parent.Name == "Ball" then
arg3.info.info.category.Text = "BALL HOLDS"
else
arg3.info.info.category.Text = string.upper(arg4.Parent.Name)
end
if arg4:FindFirstChild("Price") and 0 < arg4.Price.Value then
arg3.info.info.price.price.Text = any_load_result1_upvr_2.FormatLong(arg4.Price.Value)
else
arg3.info.info.price.price.Text = "FREE"
end
if arg4.Parent.Name == "accessories" or arg4.Parent.Name == "Ball" or arg4.Parent.Name == "Celebrations" then
local pcall_result1_2, pcall_result2_2 = pcall(function() -- Line 87
--[[ Upvalues[1]:
[1]: LocalPlayer_upvr (copied, readonly)
]]
return _G._services.Players:GetCharacterAppearanceAsync(LocalPlayer_upvr.UserId)
end)
if pcall_result1_2 and pcall_result2_2 then
for _, v_2 in next, pcall_result2_2:GetChildren() do
if v_2:IsA("Accessory") and not v_2:FindFirstChildWhichIsA("WrapLayer", true) then
v_2.Parent = arg2
elseif v_2:IsA("BodyColors") then
v_2.Parent = arg2
elseif v_2:IsA("Decal") and v_2.Name == "face" then
arg2.Head.face.Texture = v_2.Texture
end
end
end
for _, v_3 in next, arg2.Gloves:GetChildren() do
for i_4, v_4 in next, v_3:GetChildren() do
v_4.Transparency = 1
end
end
arg2.Accessories:ClearAllChildren()
arg2.RightHand.Transparency = 0
arg2.LeftHand.Transparency = 0
end
local function addAccessory(arg1_4) -- Line 114
--[[ Upvalues[1]:
[1]: arg2 (readonly)
]]
if arg1_4:FindFirstChild("Part1") and arg1_4:FindFirstChild("Weld") and arg2:FindFirstChild(arg1_4.Part1.Value) then
local clone = arg1_4:Clone()
clone.Parent = arg2.Accessories
clone.Weld.Part1 = arg2:WaitForChild(arg1_4.Part1.Value, 100)
for _, v_5 in next, arg2.Gloves:GetChildren() do
for _, v_6 in next, v_5:GetChildren() do
if v_6.Transparency == 0 and string.find(clone.Name, "Glove") then
clone.Transparency = 1
elseif v_6.Transparency == 1 and string.find(clone.Name, "Glove") then
arg2.RightHand.Transparency = 1
arg2.LeftHand.Transparency = 1
elseif v_6.Transparency == 1 and not arg2.Accessories:FindFirstChild("RightGlove") then
arg2.RightHand.Transparency = 0
arg2.LeftHand.Transparency = 0
end
end
end
end
end
if arg4.Parent.Name == "accessories" then
if Profile_upvr.inventory.Accessories:FindFirstChild(arg4.Name) then
arg3.info.info.price.icon.Visible = false
arg3.info.info.price.price.Visible = false
arg3.info.info.price.tick.Visible = true
arg3.info.info.price.owned.Visible = true
end
if arg4:IsA("Model") then
for i_7, v_7 in next, arg4:GetChildren() do
if v_7 then
v_3 = v_7.Parent
if v_3 then
v_3 = addAccessory
v_3(v_7)
end
end
end
else
addAccessory(arg4)
end
if arg4:FindFirstChild("AccessoryType") then
i_7 = 0
v_7 = -5.5
i_7 = math.pi
v_7 = 0.5
v_3 = (-math.pi)
local var208 = CFrame.new(3, i_7, v_7) * CFrame.Angles(i_7, v_7, v_3)
if arg4.AccessoryType.Value == "Head" then
i_7 = 1.5
v_7 = -3.5
i_7 = math.pi
v_7 = 0.5
v_3 = (-math.pi)
var208 = CFrame.new(1.82, i_7, v_7) * CFrame.Angles(i_7, v_7, v_3)
elseif arg4.AccessoryType.Value == "LowerArm" then
i_7 = -1
v_7 = -4
i_7 = math.pi
v_7 = 0.5
v_3 = (-math.pi)
var208 = CFrame.new(3.5, i_7, v_7) * CFrame.Angles(i_7, v_7, v_3)
elseif arg4.AccessoryType.Value == "Hand" then
i_7 = -1
v_7 = -3
i_7 = math.pi
v_7 = 0.5
v_3 = (-math.pi)
var208 = CFrame.new(3, i_7, v_7) * CFrame.Angles(i_7, v_7, v_3)
elseif arg4.AccessoryType.Value == "LowerLeg" then
i_7 = -2
v_7 = -4
i_7 = math.pi
v_7 = 0.5
v_3 = (-math.pi)
var208 = CFrame.new(2.2, i_7, v_7) * CFrame.Angles(i_7, v_7, v_3)
end
local tbl_13 = {}
i_7 = arg3.viewport
tbl_13._viewport = i_7
tbl_13._model = arg2
tbl_13._cameraOffset = var208
i_7 = 30
tbl_13._cameraFOV = i_7
any_load_result1_upvr.new(tbl_13)
else
local tbl_8 = {
_viewport = arg3.viewport;
}
tbl_8._model = arg2
tbl_8._cameraOffset = CFrame.new(-3, 0, -5.5) * CFrame.Angles(math.pi, -0.5, (-math.pi))
tbl_8._cameraFOV = 30
any_load_result1_upvr.new(tbl_8)
end
-- KONSTANTWARNING: GOTO [941] #602
end
-- KONSTANTERROR: [0] 1. Error Block 206 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [445] 295. Error Block 207 start (CF ANALYSIS FAILED)
if arg4.Parent.Name == "boots" then
if Profile_upvr.inventory.Boots:FindFirstChild(arg4.Name) then
arg3.info.info.price.icon.Visible = false
arg3.info.info.price.price.Visible = false
arg3.info.info.price.tick.Visible = true
arg3.info.info.price.owned.Visible = true
end
local tbl_2 = {
_viewport = arg3.viewport;
}
tbl_2._model = arg4
tbl_2._rotate = "Dynamic"
tbl_2._viewportDistance = 1
tbl_2._cameraFOV = 60
any_load_result1_upvr.new(tbl_2)
elseif arg4.Parent.Name == "gloves" then
if Profile_upvr.inventory.Gloves:FindFirstChild(arg4.Name) then
arg3.info.info.price.icon.Visible = false
arg3.info.info.price.price.Visible = false
arg3.info.info.price.tick.Visible = true
arg3.info.info.price.owned.Visible = true
end
local tbl_4 = {
_viewport = arg3.viewport;
}
tbl_4._model = arg4
tbl_4._rotate = "Dynamic"
tbl_4._viewportDistance = 1
tbl_4._cameraFOV = 60
any_load_result1_upvr.new(tbl_4)
else
tbl_4 = arg4.Parent
local var213
if var213.Name == "Ball" then
var213 = Profile_upvr.inventory
if var213["Ball Holds"]:FindFirstChild(arg4.Name) then
var213 = arg3.info.info.price
var213 = false
var213.icon.Visible = var213
var213 = arg3.info.info.price
var213 = false
var213.price.Visible = var213
var213 = arg3.info.info.price
var213 = true
var213.tick.Visible = var213
var213 = arg3.info.info.price
var213 = true
var213.owned.Visible = var213
end
local getEquippedGlove_result1 = getEquippedGlove_upvr()
var213 = getEquippedGlove_result1
if var213 then
var213 = getEquippedGlove_result1:FindFirstChild("GloveType")
if var213 then
var213 = getEquippedGlove_result1.GloveType.Value
local var215 = var213
end
end
for _, v_12 in next, arg2.Accessories:GetChildren() do
if v_12 then
i_4 = "Glove"
if string.find(v_12.Name, i_4) then
v_12.Transparency = 1
end
end
end
arg2.RightHand.Transparency = 1
arg2.LeftHand.Transparency = 1
for _, v_13 in next, arg2.Gloves:GetChildren() do
if var215 and v_13 and v_13.Name == var215 then
for _, v_14 in next, v_13:GetChildren() do
v_14.Transparency = 0
local class_SurfaceAppearance_2 = v_14:FindFirstChildWhichIsA("SurfaceAppearance")
if class_SurfaceAppearance_2 then
class_SurfaceAppearance_2:Destroy()
end
if getEquippedGlove_result1 and getEquippedGlove_result1:FindFirstChild("SurfaceAppearance") then
getEquippedGlove_result1.SurfaceAppearance:Clone().Parent = v_14
end
end
else
for _, v_15 in next, v_13:GetChildren() do
v_15.Transparency = 1
end
end
end
local tbl_10 = {
_viewport = arg3.viewport;
}
tbl_10._model = arg2
tbl_10._cameraOffset = CFrame.new(2.25, 0.2, -7.5) * CFrame.Angles(math.pi, 0.3, (-math.pi))
tbl_10._cameraFOV = 30
tbl_10._ball = true
tbl_10._animationData = {
_id = arg4.AnimationId;
_looped = true;
}
any_load_result1_upvr.new(tbl_10)
else
var215 = arg4.Parent
if var215.Name == "Celebrations" then
var215 = Profile_upvr.inventory
if var215.Celebrations:FindFirstChild(arg4.Name) then
var215 = arg3.info.info.price
var215 = false
var215.icon.Visible = var215
var215 = arg3.info.info.price
var215 = false
var215.price.Visible = var215
var215 = arg3.info.info.price
var215 = true
var215.tick.Visible = var215
var215 = arg3.info.info.price
var215 = true
var215.owned.Visible = var215
end
var215 = any_load_result1_upvr
var215 = {}
local var227 = var215
var227._viewport = arg3.viewport
var227._model = arg2
var227._cameraOffset = CFrame.new(2.25, -0.4, -12) * CFrame.Angles(math.pi, 0.2, (-math.pi))
var227._cameraFOV = 7
var227._animationData = {
_id = arg4.AnimationId;
_looped = true;
}
var227._return = "Camera"
var227 = table.unpack(var215.new(var227))
local unpacked_value_1_upvr, unpacked_value_2_upvr_2 = table.unpack(var215.new(var227))
any_new_result1.renderStepped = _G._services.RunService.RenderStepped:Connect(function() -- Line 284
--[[ Upvalues[2]:
[1]: unpacked_value_1_upvr (readonly)
[2]: unpacked_value_2_upvr_2 (readonly)
]]
if not unpacked_value_1_upvr or not unpacked_value_2_upvr_2 then
else
local position_2 = workspace.game.cutscenes.celebrations.home.right.position
local corner = workspace.game.cutscenes.celebrations.home.right.corner
if not position_2 or not corner then return end
if not unpacked_value_2_upvr_2.PrimaryPart or not unpacked_value_2_upvr_2.UpperTorso then return end
unpacked_value_1_upvr.CFrame = CFrame.lookAt((unpacked_value_2_upvr_2.PrimaryPart.CFrame * position_2.CFrame:ToObjectSpace(corner.CFrame)).Position, unpacked_value_2_upvr_2.UpperTorso.CFrame.Position)
end
end)
end
end
end
unpacked_value_1_upvr = arg4.Parent
local function INLINED_3() -- Internal function, doesn't exist in bytecode
unpacked_value_1_upvr = arg4.Parent
return unpacked_value_1_upvr.Name == "Ball"
end
local function INLINED_4() -- Internal function, doesn't exist in bytecode
unpacked_value_1_upvr = arg4.Parent
return unpacked_value_1_upvr.Name == "Celebrations"
end
if unpacked_value_1_upvr.Name == "accessories" or INLINED_3() or INLINED_4() then
unpacked_value_1_upvr = arg2:GetChildren()
local children_6, NONE_2 = arg2:GetChildren()
for _, v_8 in next, children_6, NONE_2 do
if v_8 and (v_8:IsA("Accessory") or v_8:IsA("BodyColors")) then
v_8:Destroy()
end
end
end
NONE_2 = arg1.class
children_6 = NONE_2.event
function NONE_2(arg1_5) -- Line 313
--[[ Upvalues[2]:
[1]: arg4 (readonly)
[2]: arg3 (readonly)
]]
if arg1_5 and arg1_5 == arg4 then
arg3.info.info.price.icon.Visible = false
arg3.info.info.price.price.Visible = false
arg3.info.info.price.tick.Visible = true
arg3.info.info.price.owned.Visible = true
end
end
any_new_result1.onEvent = children_6.Event:Connect(NONE_2)
children_6 = arg3.button
function NONE_2() -- Line 322
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: arg3 (readonly)
]]
if script.Parent:GetAttribute("freeze") then
else
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(arg3.hover, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 0.7;
}):Play()
end
end
any_new_result1.mouseEnter = children_6.MouseEnter:Connect(NONE_2)
children_6 = arg3.button
function NONE_2() -- Line 331
--[[ Upvalues[2]:
[1]: Services_upvr (copied, readonly)
[2]: arg3 (readonly)
]]
Services_upvr.TweenService:Create(arg3.hover, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 1;
}):Play()
end
any_new_result1.mouseLeave = children_6.MouseLeave:Connect(NONE_2)
children_6 = arg3.button
function NONE_2() -- Line 335
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: arg4 (readonly)
]]
if script.Parent:GetAttribute("freeze") then
else
References_upvr.Main.sounds.UI.Click:Play()
if arg1.class and arg4.Parent.Name == "accessories" then
arg1.class:prompt(arg4, "Accessories")
return
end
if arg1.class and arg4.Parent.Name == "boots" then
arg1.class:prompt(arg4, "Boots")
return
end
if arg1.class and arg4.Parent.Name == "gloves" then
arg1.class:prompt(arg4, "Gloves")
return
end
if arg1.class and arg4.Parent.Name == "Ball" then
arg1.class:prompt(arg4, "Ball Holds")
return
end
if arg1.class and arg4.Parent.Name == "Celebrations" then
arg1.class:prompt(arg4, "Celebrations")
end
end
end
any_new_result1.mouseClick = children_6.MouseButton1Click:Connect(NONE_2)
-- KONSTANTERROR: [445] 295. Error Block 207 end (CF ANALYSIS FAILED)
end
function module.update(arg1) -- Line 356
--[[ Upvalues[2]:
[1]: SOME_upvr (readonly)
[2]: menu_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local tbl_5 = {}
local var245 = "small"
tbl_5[1] = "large"
tbl_5[2] = var245
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [104] 68. Error Block 12 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [104] 68. Error Block 12 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [10] 8. Error Block 20 start (CF ANALYSIS FAILED)
if var245 and var245 == "large" then
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [104.6]
if nil then
-- KONSTANTWARNING: GOTO [104] #68
end
elseif var245 and var245 == "small" then
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [104.7]
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [104.8]
for _, _ in nil do
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [104.11]
if nil then
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
end
end
-- KONSTANTERROR: [10] 8. Error Block 20 end (CF ANALYSIS FAILED)
end
function module.init(arg1, arg2) -- Line 378
--[[ Upvalues[2]:
[1]: SOME_upvr (readonly)
[2]: menu_upvr (readonly)
]]
arg1.class = arg2
arg1:update()
SOME_upvr.large.Changed:Connect(function() -- Line 384
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
for i_9, v_9 in next, arg1.activeMaids do
if v_9 then
v_9:DoCleaning()
table.remove(arg1.activeMaids, i_9)
end
end
arg1:update()
end)
for _, v_10 in next, SOME_upvr.small:GetChildren() do
v_10.Changed:Connect(function() -- Line 396
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
for i_11, v_11 in next, arg1.activeMaids do
if v_11 then
v_11:DoCleaning()
table.remove(arg1.activeMaids, i_11)
end
end
arg1:update()
end)
end
menu_upvr.pages.cosmetics.main.pages[script.Name].offsale.time.Text = SOME_upvr.time.Value
SOME_upvr.time.Changed:Connect(function() -- Line 411
--[[ Upvalues[2]:
[1]: menu_upvr (copied, readonly)
[2]: SOME_upvr (copied, readonly)
]]
menu_upvr.pages.cosmetics.main.pages[script.Name].offsale.time.Text = SOME_upvr.time.Value
end)
return true
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:46
-- Luau version 6, Types version 3
-- Time taken: 0.058693 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Profile_upvr = References_upvr.Profile
local menu_upvr = References_upvr.PlayerGui:WaitForChild("menu", 100)
local SOME_upvr = References_upvr.Main.cycle:WaitForChild(script.Name, 100)
local module = {
activeMaids = {};
}
local function getEquippedGlove_upvr() -- Line 28, Named "getEquippedGlove"
--[[ Upvalues[2]:
[1]: References_upvr (readonly)
[2]: Profile_upvr (readonly)
]]
local gloves = References_upvr.Main:FindFirstChild("gloves")
if not gloves then
return nil
end
local Current = Profile_upvr.inventory:FindFirstChild("Current")
if not Current then
return nil
end
local Gloves_2 = Current:FindFirstChild("Gloves")
if not Gloves_2 then
return nil
end
local Value = Gloves_2.Value
if Value ~= "" and gloves:FindFirstChild(Value) then
return gloves[Value]
end
local DefaultValue = Gloves_2:FindFirstChild("DefaultValue")
if DefaultValue and DefaultValue.Value ~= "" and gloves:FindFirstChild(DefaultValue.Value) then
return gloves[DefaultValue.Value]
end
local Gloves = Profile_upvr.inventory:FindFirstChild("Gloves")
if Gloves then
for _, v in ipairs(Gloves:GetChildren()) do
if v:IsA("BoolValue") and v.Value and gloves:FindFirstChild(v.Name) then
return gloves[v.Name]
end
end
end
return gloves:GetChildren()[1]
end
local any_load_result1_upvr_3 = _engine:load("Maid")
local any_new_result1_2_upvr = _engine:load("Janitor").new()
local any_load_result1_upvr_2 = _engine:load("FormatNumber", "utils")
local LocalPlayer_upvr = References_upvr.LocalPlayer
local any_load_result1_upvr = _engine:load("Viewport")
local Services_upvr = _engine.Services
function module.create(arg1, arg2, arg3, arg4) -- Line 67
--[[ Upvalues[9]:
[1]: any_load_result1_upvr_3 (readonly)
[2]: any_new_result1_2_upvr (readonly)
[3]: any_load_result1_upvr_2 (readonly)
[4]: LocalPlayer_upvr (readonly)
[5]: Profile_upvr (readonly)
[6]: any_load_result1_upvr (readonly)
[7]: getEquippedGlove_upvr (readonly)
[8]: References_upvr (readonly)
[9]: Services_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 206 start (CF ANALYSIS FAILED)
local any_new_result1_3 = any_load_result1_upvr_3.new()
table.insert(arg1.activeMaids, any_new_result1_3)
arg3.info.item.Text = string.upper(arg4.Name)
any_new_result1_2_upvr:clean(arg3.viewport:GetChildren(), "UIGradient")
if arg4.Parent.Name == "Ball" then
arg3.info.info.category.Text = "BALL HOLDS"
else
arg3.info.info.category.Text = string.upper(arg4.Parent.Name)
end
if arg4:FindFirstChild("Price") and 0 < arg4.Price.Value then
arg3.info.info.price.price.Text = any_load_result1_upvr_2.FormatLong(arg4.Price.Value)
else
arg3.info.info.price.price.Text = "FREE"
end
if arg4.Parent.Name == "accessories" or arg4.Parent.Name == "Ball" or arg4.Parent.Name == "Celebrations" then
local pcall_result1_2, pcall_result2_2 = pcall(function() -- Line 87
--[[ Upvalues[1]:
[1]: LocalPlayer_upvr (copied, readonly)
]]
return _G._services.Players:GetCharacterAppearanceAsync(LocalPlayer_upvr.UserId)
end)
if pcall_result1_2 and pcall_result2_2 then
for _, v_2 in next, pcall_result2_2:GetChildren() do
if v_2:IsA("Accessory") and not v_2:FindFirstChildWhichIsA("WrapLayer", true) then
v_2.Parent = arg2
elseif v_2:IsA("BodyColors") then
v_2.Parent = arg2
elseif v_2:IsA("Decal") and v_2.Name == "face" then
arg2.Head.face.Texture = v_2.Texture
end
end
end
for _, v_3 in next, arg2.Gloves:GetChildren() do
for i_4, v_4 in next, v_3:GetChildren() do
v_4.Transparency = 1
end
end
arg2.Accessories:ClearAllChildren()
arg2.RightHand.Transparency = 0
arg2.LeftHand.Transparency = 0
end
local function addAccessory(arg1_4) -- Line 114
--[[ Upvalues[1]:
[1]: arg2 (readonly)
]]
if arg1_4:FindFirstChild("Part1") and arg1_4:FindFirstChild("Weld") and arg2:FindFirstChild(arg1_4.Part1.Value) then
local clone_2 = arg1_4:Clone()
clone_2.Parent = arg2.Accessories
clone_2.Weld.Part1 = arg2:WaitForChild(arg1_4.Part1.Value, 100)
for _, v_5 in next, arg2.Gloves:GetChildren() do
for _, v_6 in next, v_5:GetChildren() do
if v_6.Transparency == 0 and string.find(clone_2.Name, "Glove") then
clone_2.Transparency = 1
elseif v_6.Transparency == 1 and string.find(clone_2.Name, "Glove") then
arg2.RightHand.Transparency = 1
arg2.LeftHand.Transparency = 1
elseif v_6.Transparency == 1 and not arg2.Accessories:FindFirstChild("RightGlove") then
arg2.RightHand.Transparency = 0
arg2.LeftHand.Transparency = 0
end
end
end
end
end
if arg4.Parent.Name == "accessories" then
if Profile_upvr.inventory.Accessories:FindFirstChild(arg4.Name) then
arg3.info.info.price.icon.Visible = false
arg3.info.info.price.price.Visible = false
arg3.info.info.price.tick.Visible = true
arg3.info.info.price.owned.Visible = true
end
if arg4:IsA("Model") then
for i_7, v_7 in next, arg4:GetChildren() do
if v_7 then
v_3 = v_7.Parent
if v_3 then
v_3 = addAccessory
v_3(v_7)
end
end
end
else
addAccessory(arg4)
end
if arg4:FindFirstChild("AccessoryType") then
i_7 = 0
v_7 = -5.5
i_7 = math.pi
v_7 = 0.5
v_3 = (-math.pi)
local var205 = CFrame.new(3, i_7, v_7) * CFrame.Angles(i_7, v_7, v_3)
if arg4.AccessoryType.Value == "Head" then
i_7 = 1.5
v_7 = -3.5
i_7 = math.pi
v_7 = 0.5
v_3 = (-math.pi)
var205 = CFrame.new(1.82, i_7, v_7) * CFrame.Angles(i_7, v_7, v_3)
elseif arg4.AccessoryType.Value == "LowerArm" then
i_7 = -1
v_7 = -4
i_7 = math.pi
v_7 = 0.5
v_3 = (-math.pi)
var205 = CFrame.new(3.5, i_7, v_7) * CFrame.Angles(i_7, v_7, v_3)
elseif arg4.AccessoryType.Value == "Hand" then
i_7 = -1
v_7 = -3
i_7 = math.pi
v_7 = 0.5
v_3 = (-math.pi)
var205 = CFrame.new(3, i_7, v_7) * CFrame.Angles(i_7, v_7, v_3)
elseif arg4.AccessoryType.Value == "LowerLeg" then
i_7 = -2
v_7 = -4
i_7 = math.pi
v_7 = 0.5
v_3 = (-math.pi)
var205 = CFrame.new(2.2, i_7, v_7) * CFrame.Angles(i_7, v_7, v_3)
end
local tbl_9 = {}
i_7 = arg3.viewport
tbl_9._viewport = i_7
tbl_9._model = arg2
tbl_9._cameraOffset = var205
i_7 = 30
tbl_9._cameraFOV = i_7
any_load_result1_upvr.new(tbl_9)
else
local tbl_5 = {
_viewport = arg3.viewport;
}
tbl_5._model = arg2
tbl_5._cameraOffset = CFrame.new(-3, 0, -5.5) * CFrame.Angles(math.pi, -0.5, (-math.pi))
tbl_5._cameraFOV = 30
any_load_result1_upvr.new(tbl_5)
end
-- KONSTANTWARNING: GOTO [941] #602
end
-- KONSTANTERROR: [0] 1. Error Block 206 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [445] 295. Error Block 207 start (CF ANALYSIS FAILED)
if arg4.Parent.Name == "boots" then
if Profile_upvr.inventory.Boots:FindFirstChild(arg4.Name) then
arg3.info.info.price.icon.Visible = false
arg3.info.info.price.price.Visible = false
arg3.info.info.price.tick.Visible = true
arg3.info.info.price.owned.Visible = true
end
local tbl_14 = {
_viewport = arg3.viewport;
}
tbl_14._model = arg4
tbl_14._rotate = "Dynamic"
tbl_14._viewportDistance = 1
tbl_14._cameraFOV = 60
any_load_result1_upvr.new(tbl_14)
elseif arg4.Parent.Name == "gloves" then
if Profile_upvr.inventory.Gloves:FindFirstChild(arg4.Name) then
arg3.info.info.price.icon.Visible = false
arg3.info.info.price.price.Visible = false
arg3.info.info.price.tick.Visible = true
arg3.info.info.price.owned.Visible = true
end
local tbl_13 = {
_viewport = arg3.viewport;
}
tbl_13._model = arg4
tbl_13._rotate = "Dynamic"
tbl_13._viewportDistance = 1
tbl_13._cameraFOV = 60
any_load_result1_upvr.new(tbl_13)
else
tbl_13 = arg4.Parent
local var210
if var210.Name == "Ball" then
var210 = Profile_upvr.inventory
if var210["Ball Holds"]:FindFirstChild(arg4.Name) then
var210 = arg3.info.info.price
var210 = false
var210.icon.Visible = var210
var210 = arg3.info.info.price
var210 = false
var210.price.Visible = var210
var210 = arg3.info.info.price
var210 = true
var210.tick.Visible = var210
var210 = arg3.info.info.price
var210 = true
var210.owned.Visible = var210
end
local getEquippedGlove_result1 = getEquippedGlove_upvr()
var210 = getEquippedGlove_result1
if var210 then
var210 = getEquippedGlove_result1:FindFirstChild("GloveType")
if var210 then
var210 = getEquippedGlove_result1.GloveType.Value
local var212 = var210
end
end
for _, v_12 in next, arg2.Accessories:GetChildren() do
if v_12 then
i_4 = "Glove"
if string.find(v_12.Name, i_4) then
v_12.Transparency = 1
end
end
end
arg2.RightHand.Transparency = 1
arg2.LeftHand.Transparency = 1
for _, v_13 in next, arg2.Gloves:GetChildren() do
if var212 and v_13 and v_13.Name == var212 then
for _, v_14 in next, v_13:GetChildren() do
v_14.Transparency = 0
local class_SurfaceAppearance_2 = v_14:FindFirstChildWhichIsA("SurfaceAppearance")
if class_SurfaceAppearance_2 then
class_SurfaceAppearance_2:Destroy()
end
if getEquippedGlove_result1 and getEquippedGlove_result1:FindFirstChild("SurfaceAppearance") then
getEquippedGlove_result1.SurfaceAppearance:Clone().Parent = v_14
end
end
else
for _, v_15 in next, v_13:GetChildren() do
v_15.Transparency = 1
end
end
end
local tbl_11 = {
_viewport = arg3.viewport;
}
tbl_11._model = arg2
tbl_11._cameraOffset = CFrame.new(2.25, 0.2, -7.5) * CFrame.Angles(math.pi, 0.3, (-math.pi))
tbl_11._cameraFOV = 30
tbl_11._ball = true
tbl_11._animationData = {
_id = arg4.AnimationId;
_looped = true;
}
any_load_result1_upvr.new(tbl_11)
else
var212 = arg4.Parent
if var212.Name == "Celebrations" then
var212 = Profile_upvr.inventory
if var212.Celebrations:FindFirstChild(arg4.Name) then
var212 = arg3.info.info.price
var212 = false
var212.icon.Visible = var212
var212 = arg3.info.info.price
var212 = false
var212.price.Visible = var212
var212 = arg3.info.info.price
var212 = true
var212.tick.Visible = var212
var212 = arg3.info.info.price
var212 = true
var212.owned.Visible = var212
end
var212 = any_load_result1_upvr
var212 = {}
local var224 = var212
var224._viewport = arg3.viewport
var224._model = arg2
var224._cameraOffset = CFrame.new(2.25, -0.4, -12) * CFrame.Angles(math.pi, 0.2, (-math.pi))
var224._cameraFOV = 7
var224._animationData = {
_id = arg4.AnimationId;
_looped = true;
}
var224._return = "Camera"
var224 = table.unpack(var212.new(var224))
local unpacked_value_1_upvr, unpacked_value_2_upvr = table.unpack(var212.new(var224))
any_new_result1_3.renderStepped = _G._services.RunService.RenderStepped:Connect(function() -- Line 284
--[[ Upvalues[2]:
[1]: unpacked_value_1_upvr (readonly)
[2]: unpacked_value_2_upvr (readonly)
]]
unpacked_value_1_upvr.CFrame = CFrame.lookAt((unpacked_value_2_upvr.PrimaryPart.CFrame * workspace.game.cutscenes.celebrations.home.right.position.CFrame:ToObjectSpace(workspace.game.cutscenes.celebrations.home.right.corner.CFrame)).Position, unpacked_value_2_upvr.UpperTorso.CFrame.Position)
end)
end
end
end
unpacked_value_1_upvr = arg4.Parent
local function INLINED_3() -- Internal function, doesn't exist in bytecode
unpacked_value_1_upvr = arg4.Parent
return unpacked_value_1_upvr.Name == "Ball"
end
local function INLINED_4() -- Internal function, doesn't exist in bytecode
unpacked_value_1_upvr = arg4.Parent
return unpacked_value_1_upvr.Name == "Celebrations"
end
if unpacked_value_1_upvr.Name == "accessories" or INLINED_3() or INLINED_4() then
unpacked_value_1_upvr = arg2:GetChildren()
local children_11, NONE_3 = arg2:GetChildren()
for _, v_8 in next, children_11, NONE_3 do
if v_8 and (v_8:IsA("Accessory") or v_8:IsA("BodyColors")) then
v_8:Destroy()
end
end
end
NONE_3 = arg1.class
children_11 = NONE_3.event
function NONE_3(arg1_5) -- Line 298
--[[ Upvalues[2]:
[1]: arg4 (readonly)
[2]: arg3 (readonly)
]]
if arg1_5 and arg1_5 == arg4 then
arg3.info.info.price.icon.Visible = false
arg3.info.info.price.price.Visible = false
arg3.info.info.price.tick.Visible = true
arg3.info.info.price.owned.Visible = true
end
end
any_new_result1_3.onEvent = children_11.Event:Connect(NONE_3)
children_11 = arg3.button
function NONE_3() -- Line 307
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: arg3 (readonly)
]]
if script.Parent:GetAttribute("freeze") then
else
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(arg3.hover, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 0.7;
}):Play()
end
end
any_new_result1_3.mouseEnter = children_11.MouseEnter:Connect(NONE_3)
children_11 = arg3.button
function NONE_3() -- Line 316
--[[ Upvalues[2]:
[1]: Services_upvr (copied, readonly)
[2]: arg3 (readonly)
]]
Services_upvr.TweenService:Create(arg3.hover, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 1;
}):Play()
end
any_new_result1_3.mouseLeave = children_11.MouseLeave:Connect(NONE_3)
children_11 = arg3.button
function NONE_3() -- Line 320
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: arg4 (readonly)
]]
if script.Parent:GetAttribute("freeze") then
else
References_upvr.Main.sounds.UI.Click:Play()
if arg1.class and arg4.Parent.Name == "accessories" then
arg1.class:prompt(arg4, "Accessories")
return
end
if arg1.class and arg4.Parent.Name == "boots" then
arg1.class:prompt(arg4, "Boots")
return
end
if arg1.class and arg4.Parent.Name == "gloves" then
arg1.class:prompt(arg4, "Gloves")
return
end
if arg1.class and arg4.Parent.Name == "Ball" then
arg1.class:prompt(arg4, "Ball Holds")
return
end
if arg1.class and arg4.Parent.Name == "Celebrations" then
arg1.class:prompt(arg4, "Celebrations")
end
end
end
any_new_result1_3.mouseClick = children_11.MouseButton1Click:Connect(NONE_3)
-- KONSTANTERROR: [445] 295. Error Block 207 end (CF ANALYSIS FAILED)
end
local function update(arg1) -- Line 341
--[[ Upvalues[2]:
[1]: SOME_upvr (readonly)
[2]: menu_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local tbl_8 = {}
local var240 = "small"
tbl_8[1] = "large"
tbl_8[2] = var240
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [104] 68. Error Block 12 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [104] 68. Error Block 12 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [10] 8. Error Block 20 start (CF ANALYSIS FAILED)
if var240 and var240 == "large" then
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [104.6]
if nil then
-- KONSTANTWARNING: GOTO [104] #68
end
elseif var240 and var240 == "small" then
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [104.7]
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [104.8]
for _, _ in nil do
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [104.11]
if nil then
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
end
end
-- KONSTANTERROR: [10] 8. Error Block 20 end (CF ANALYSIS FAILED)
end
module.update = update
function module.init(arg1, arg2) -- Line 363
--[[ Upvalues[2]:
[1]: SOME_upvr (readonly)
[2]: menu_upvr (readonly)
]]
arg1.class = arg2
arg1:update()
SOME_upvr.large.Changed:Connect(function() -- Line 369
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
for i_9, v_9 in next, arg1.activeMaids do
if v_9 then
v_9:DoCleaning()
table.remove(arg1.activeMaids, i_9)
end
end
arg1:update()
end)
for _, v_10 in next, SOME_upvr.small:GetChildren() do
v_10.Changed:Connect(function() -- Line 381
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
for i_11, v_11 in next, arg1.activeMaids do
if v_11 then
v_11:DoCleaning()
table.remove(arg1.activeMaids, i_11)
end
end
arg1:update()
end)
end
local function update_upvr() -- Line 395, Named "update"
--[[ Upvalues[2]:
[1]: SOME_upvr (copied, readonly)
[2]: menu_upvr (copied, readonly)
]]
local any_split_result1 = SOME_upvr.time.Value:split(':')
local tonumber_result1 = tonumber(any_split_result1[1])
local floored = math.floor(tonumber_result1 / 24, 0.5)
local tonumber_result1_3 = tonumber(any_split_result1[2])
local tonumber_result1_2 = tonumber(any_split_result1[3])
if 0 < floored then
if floored == 1 then
menu_upvr.pages.cosmetics.main.pages[script.Name].offsale.time.Text = string.format("%s DAY", tostring(floored))
else
menu_upvr.pages.cosmetics.main.pages[script.Name].offsale.time.Text = string.format("%s DAYS", tostring(floored))
end
end
if 0 < tonumber_result1 then
if tonumber_result1 == 1 then
menu_upvr.pages.cosmetics.main.pages[script.Name].offsale.time.Text = string.format("%s HOUR", tostring(tonumber_result1))
else
menu_upvr.pages.cosmetics.main.pages[script.Name].offsale.time.Text = string.format("%s HOURS", tostring(tonumber_result1))
end
end
if 0 < tonumber_result1_3 then
if tonumber_result1_3 == 1 then
menu_upvr.pages.cosmetics.main.pages[script.Name].offsale.time.Text = string.format("%s MINUTE", tostring(tonumber_result1_3))
else
menu_upvr.pages.cosmetics.main.pages[script.Name].offsale.time.Text = string.format("%s MINUTES", tostring(tonumber_result1_3))
end
end
if 0 < tonumber_result1_2 then
if tonumber_result1_2 == 1 then
menu_upvr.pages.cosmetics.main.pages[script.Name].offsale.time.Text = string.format("%s SECOND", tostring(tonumber_result1_2))
return
end
menu_upvr.pages.cosmetics.main.pages[script.Name].offsale.time.Text = string.format("%s SECONDS", tostring(tonumber_result1_2))
end
end
update_upvr()
SOME_upvr.time.Changed:Connect(function() -- Line 431
--[[ Upvalues[1]:
[1]: update_upvr (readonly)
]]
update_upvr()
end)
return true
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:47
-- Luau version 6, Types version 3
-- Time taken: 0.013204 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local module = {}
local menu_upvr = References_upvr.PlayerGui:WaitForChild("menu", 100)
local var6_upvw = false
local Services_upvr = _engine.Services
local any_load_result1_upvr = _engine:load("Theme", "utils")
local var9_upvw = false
local var10_upvw = false
local any_new_result1_upvr_2 = _engine:load("Network").new()
local any_new_result1_upvr = _engine:load("Notification").new()
function module.init(arg1, arg2) -- Line 27
--[[ Upvalues[9]:
[1]: menu_upvr (readonly)
[2]: var6_upvw (read and write)
[3]: References_upvr (readonly)
[4]: Services_upvr (readonly)
[5]: any_load_result1_upvr (readonly)
[6]: var9_upvw (read and write)
[7]: var10_upvw (read and write)
[8]: any_new_result1_upvr_2 (readonly)
[9]: any_new_result1_upvr (readonly)
]]
menu_upvr.pages.cosmetics.main.pages.redeem.main.redeem.button.MouseEnter:Connect(function() -- Line 30
--[[ Upvalues[5]:
[1]: var6_upvw (copied, read and write)
[2]: References_upvr (copied, readonly)
[3]: Services_upvr (copied, readonly)
[4]: menu_upvr (copied, readonly)
[5]: any_load_result1_upvr (copied, readonly)
]]
var6_upvw = true
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(menu_upvr.pages.cosmetics.main.pages.redeem.main.redeem.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1.03;
}):Play()
Services_upvr.TweenService:Create(menu_upvr.pages.cosmetics.main.pages.redeem.main.redeem.background, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Accent;
}):Play()
Services_upvr.TweenService:Create(menu_upvr.pages.cosmetics.main.pages.redeem.main.redeem.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr.Text;
}):Play()
end)
menu_upvr.pages.cosmetics.main.pages.redeem.main.redeem.button.MouseLeave:Connect(function() -- Line 38
--[[ Upvalues[4]:
[1]: var6_upvw (copied, read and write)
[2]: Services_upvr (copied, readonly)
[3]: menu_upvr (copied, readonly)
[4]: any_load_result1_upvr (copied, readonly)
]]
var6_upvw = false
Services_upvr.TweenService:Create(menu_upvr.pages.cosmetics.main.pages.redeem.main.redeem.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1;
}):Play()
Services_upvr.TweenService:Create(menu_upvr.pages.cosmetics.main.pages.redeem.main.redeem.background, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Text;
}):Play()
Services_upvr.TweenService:Create(menu_upvr.pages.cosmetics.main.pages.redeem.main.redeem.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end)
menu_upvr.pages.cosmetics.main.pages.redeem.main.redeem.button.MouseButton1Down:Connect(function() -- Line 45
--[[ Upvalues[3]:
[1]: var9_upvw (copied, read and write)
[2]: Services_upvr (copied, readonly)
[3]: menu_upvr (copied, readonly)
]]
var9_upvw = true
Services_upvr.TweenService:Create(menu_upvr.pages.cosmetics.main.pages.redeem.main.redeem.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Scale = 0.9;
}):Play()
end)
Services_upvr.UserInputService.InputEnded:Connect(function(arg1_2, arg2_2) -- Line 50
--[[ Upvalues[3]:
[1]: var9_upvw (copied, read and write)
[2]: Services_upvr (copied, readonly)
[3]: menu_upvr (copied, readonly)
]]
if arg1_2.UserInputType == Enum.UserInputType.MouseButton1 or arg1_2.UserInputType == Enum.UserInputType.Touch then
if var9_upvw then
var9_upvw = false
Services_upvr.TweenService:Create(menu_upvr.pages.cosmetics.main.pages.redeem.main.redeem.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Scale = 1;
}):Play()
end
end
end)
menu_upvr.pages.cosmetics.main.pages.redeem.main.redeem.button.MouseButton1Click:Connect(function() -- Line 57
--[[ Upvalues[7]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: menu_upvr (copied, readonly)
[4]: any_load_result1_upvr (copied, readonly)
[5]: var10_upvw (copied, read and write)
[6]: any_new_result1_upvr_2 (copied, readonly)
[7]: any_new_result1_upvr (copied, readonly)
]]
References_upvr.Main.sounds.UI.Click:Play()
Services_upvr.TweenService:Create(menu_upvr.pages.cosmetics.main.pages.redeem.main.redeem.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1;
}):Play()
Services_upvr.TweenService:Create(menu_upvr.pages.cosmetics.main.pages.redeem.main.redeem.background, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Text;
}):Play()
Services_upvr.TweenService:Create(menu_upvr.pages.cosmetics.main.pages.redeem.main.redeem.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
if not var10_upvw and menu_upvr.pages.cosmetics.main.pages.redeem.main.input.input.Text ~= "" then
var10_upvw = true
menu_upvr.pages.cosmetics.main.pages.redeem.main.input.input.Text = ""
Services_upvr.TweenService:Create(menu_upvr.pages.cosmetics.main.pages.redeem.main.redeem.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 1;
}):Play()
task.wait(0.15)
Services_upvr.TweenService:Create(menu_upvr.pages.cosmetics.main.pages.redeem.main.redeem.loading, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 0;
}):Play()
task.wait(0.3)
local any_fetch_result1, any_fetch_result2_upvr = any_new_result1_upvr_2:fetch("redeem", menu_upvr.pages.cosmetics.main.pages.redeem.main.input.input.Text)
Services_upvr.TweenService:Create(menu_upvr.pages.cosmetics.main.pages.redeem.main.redeem.loading, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 1;
}):Play()
task.wait(0.15)
Services_upvr.TweenService:Create(menu_upvr.pages.cosmetics.main.pages.redeem.main.redeem.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 0;
}):Play()
if any_fetch_result1 == "success" then
References_upvr.Main.sounds.UI.Success:Play()
task.spawn(function() -- Line 83
--[[ Upvalues[2]:
[1]: any_new_result1_upvr (copied, readonly)
[2]: any_fetch_result2_upvr (readonly)
]]
any_new_result1_upvr:create(string.upper(any_fetch_result2_upvr), Color3.fromRGB(69, 255, 162))
end)
else
References_upvr.Main.sounds.UI.Error:Play()
task.spawn(function() -- Line 88
--[[ Upvalues[2]:
[1]: any_new_result1_upvr (copied, readonly)
[2]: any_fetch_result2_upvr (readonly)
]]
any_new_result1_upvr:create(string.upper(any_fetch_result2_upvr), Color3.fromRGB(255, 61, 61))
end)
menu_upvr.pages.cosmetics.main.pages.redeem.main.redeem.label.TextColor3 = Color3.fromRGB(255, 0, 0)
Services_upvr.TweenService:Create(menu_upvr.pages.cosmetics.main.pages.redeem.main.redeem.label, TweenInfo.new(0.3, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
menu_upvr.pages.cosmetics.main.pages.redeem.main.redeem.label:TweenPosition(UDim2.new(0.5, -15, 0.5, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Quad, 0.05, true)
task.wait(0.05)
menu_upvr.pages.cosmetics.main.pages.redeem.main.redeem.label:TweenPosition(UDim2.new(0.5, 0, 0.5, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Elastic, 0.25, true)
end
task.wait(0.1)
var10_upvw = false
end
end)
task.spawn(function() -- Line 105
--[[ Upvalues[2]:
[1]: menu_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
]]
while true do
menu_upvr.pages.cosmetics.main.pages.redeem.main.redeem.loading.Rotation = 0
Services_upvr.TweenService:Create(menu_upvr.pages.cosmetics.main.pages.redeem.main.redeem.loading, TweenInfo.new(0.35, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut), {
Rotation = 360;
}):Play()
task.wait(0.35)
end
end)
return true
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:49
-- Luau version 6, Types version 3
-- Time taken: 0.015933 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local Profile_upvr = References_upvr.Profile
while not Profile_upvr:GetAttribute("Loaded") and tick() - tick() <= 2 do
task.wait()
end
local menu_upvr = References_upvr.PlayerGui:WaitForChild("menu", 100)
local any_load_result1 = _engine:load("BulkFade", "utils")
local tbl_upvr = {
settings = any_load_result1.CreateGroup(menu_upvr.pages.settings.main.pages.settings:GetDescendants(), TweenInfo.new(0.3, Enum.EasingStyle.Quint, Enum.EasingDirection.Out));
bindings = any_load_result1.CreateGroup(menu_upvr.pages.settings.main.pages.bindings:GetDescendants(), TweenInfo.new(0.3, Enum.EasingStyle.Quint, Enum.EasingDirection.Out));
page = any_load_result1.CreateGroup(menu_upvr.pages.settings:GetDescendants(), TweenInfo.new(0.3, Enum.EasingStyle.Quint, Enum.EasingDirection.Out));
}
tbl_upvr.page:FadeOut()
local module = {
current = "settings";
index = {
settings = 1;
bindings = 2;
};
tabs = {
debounce = false;
};
pages = {};
}
local var13_upvw = false
function module.select(arg1, arg2) -- Line 49
--[[ Upvalues[4]:
[1]: var13_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: menu_upvr (readonly)
[4]: Services_upvr (readonly)
]]
if not var13_upvw and arg1.current ~= arg2.Name then
var13_upvw = true
if tbl_upvr[arg1.current] then
tbl_upvr[arg1.current]:FadeOut()
end
if arg2.Name == "settings" then
menu_upvr.pages.settings.main.top.title.settings.TextTransparency = 1
Services_upvr.TweenService:Create(menu_upvr.pages.settings.main.top.title.bindings, TweenInfo.new(0.15, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {
Position = UDim2.new(1, 0, 0, 0);
TextTransparency = 1;
}):Play()
else
menu_upvr.pages.settings.main.top.title.bindings.TextTransparency = 1
Services_upvr.TweenService:Create(menu_upvr.pages.settings.main.top.title.settings, TweenInfo.new(0.15, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {
Position = UDim2.new(-1, 0, 0, 0);
TextTransparency = 1;
}):Play()
end
arg1.current = arg2.Name
menu_upvr.pages.settings.main.pages.UIPageLayout:JumpTo(menu_upvr.pages.settings.main.pages[arg2.Name])
task.wait(0.1)
Services_upvr.TweenService:Create(menu_upvr.pages.settings.main.top.title[arg1.current], TweenInfo.new(0.2, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {
Position = UDim2.new(0, 0, 0, 0);
TextTransparency = 0;
}):Play()
if tbl_upvr[arg1.current] then
tbl_upvr[arg1.current]:FadeIn()
end
var13_upvw = false
end
end
local any_load_result1_upvr = _engine:load("Theme", "utils")
local any_new_result1_upvr_2 = _engine:load("Network").new()
local any_new_result1_upvr = _engine:load("Binder").new(script.Parent)
local any_new_result1_upvr_3 = _engine:load("Notification").new({
lifeTime = 3;
})
local any_load_result1_upvr_2 = _engine:load("CanvasSize", "utils")
function module.init(arg1) -- Line 79
--[[ Upvalues[9]:
[1]: Services_upvr (readonly)
[2]: menu_upvr (readonly)
[3]: References_upvr (readonly)
[4]: any_load_result1_upvr (readonly)
[5]: Profile_upvr (readonly)
[6]: any_new_result1_upvr_2 (readonly)
[7]: any_new_result1_upvr (readonly)
[8]: any_new_result1_upvr_3 (readonly)
[9]: any_load_result1_upvr_2 (readonly)
]]
Services_upvr.UserInputService.InputBegan:Connect(function(arg1_2, arg2) -- Line 82
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: menu_upvr (copied, readonly)
[3]: References_upvr (copied, readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 68 start (CF ANALYSIS FAILED)
if arg1_2.KeyCode == Enum.KeyCode.ButtonR1 and arg1.index[arg1.current] and script:GetAttribute("toggle") and not script.Parent:GetAttribute("freeze") and not arg1.tabs.debounce then
arg1.tabs.debounce = true
if arg1.index[arg1.current] == #menu_upvr.pages.settings.main.buttons:GetChildren() then
for i, v in next, arg1.index do
if v and v == 1 then
References_upvr.Main.sounds.UI.Click:Play()
arg1:select(menu_upvr.pages.settings.main.buttons[i])
task.delay(0.2, function() -- Line 91
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.tabs.debounce = false
end)
return
end
end
task.delay(0.2, function() -- Line 109
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.tabs.debounce = false
end)
do
return
end
-- KONSTANTWARNING: GOTO [170] #116
end
-- KONSTANTWARNING: GOTO [110] #74
end
-- KONSTANTERROR: [0] 1. Error Block 68 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [170] 116. Error Block 66 start (CF ANALYSIS FAILED)
if arg1_2.KeyCode == Enum.KeyCode.ButtonL1 and arg1.index[arg1.current] and script:GetAttribute("toggle") and not script.Parent:GetAttribute("freeze") then
arg1.tabs.debounce = true
if arg1.index[arg1.current] == 1 then
for i_2, v_2 in next, arg1.index do
if v_2 and v_2 == #menu_upvr.pages.settings.main.buttons:GetChildren() then
References_upvr.Main.sounds.UI.Click:Play()
arg1:select(menu_upvr.pages.settings.main.buttons[i_2])
task.delay(0.2, function() -- Line 119
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.tabs.debounce = false
end)
return
end
end
task.delay(0.2, function() -- Line 137
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.tabs.debounce = false
end)
-- KONSTANTWARNING: GOTO [333] #226
end
-- KONSTANTWARNING: GOTO [274] #185
end
-- KONSTANTERROR: [170] 116. Error Block 66 end (CF ANALYSIS FAILED)
end)
for _, v_3_upvr in next, menu_upvr.pages.settings.main.buttons:GetChildren() do
if v_3_upvr and v_3_upvr:IsA("Frame") then
v_3_upvr.button.MouseEnter:Connect(function() -- Line 147
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: v_3_upvr (readonly)
]]
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(v_3_upvr.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1.03;
}):Play()
Services_upvr.TweenService:Create(v_3_upvr.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
Services_upvr.TweenService:Create(v_3_upvr.background, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 1;
}):Play()
end)
v_3_upvr.button.MouseLeave:Connect(function() -- Line 154
--[[ Upvalues[3]:
[1]: Services_upvr (copied, readonly)
[2]: v_3_upvr (readonly)
[3]: any_load_result1_upvr (copied, readonly)
]]
Services_upvr.TweenService:Create(v_3_upvr.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1;
}):Play()
Services_upvr.TweenService:Create(v_3_upvr.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr.Text;
}):Play()
Services_upvr.TweenService:Create(v_3_upvr.background, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 0;
}):Play()
end)
v_3_upvr.button.MouseButton1Click:Connect(function() -- Line 160
--[[ Upvalues[9]:
[1]: References_upvr (copied, readonly)
[2]: menu_upvr (copied, readonly)
[3]: v_3_upvr (readonly)
[4]: arg1 (readonly)
[5]: Services_upvr (copied, readonly)
[6]: Profile_upvr (copied, readonly)
[7]: any_new_result1_upvr_2 (copied, readonly)
[8]: any_new_result1_upvr (copied, readonly)
[9]: any_new_result1_upvr_3 (copied, readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
References_upvr.Main.sounds.UI.Click:Play()
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [28] 18. Error Block 2 start (CF ANALYSIS FAILED)
arg1:select(v_3_upvr)
do
return
end
-- KONSTANTERROR: [28] 18. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [34] 23. Error Block 3 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [34] 23. Error Block 3 end (CF ANALYSIS FAILED)
end)
end
end
for _, v_4 in next, menu_upvr.pages.settings.main.pages:GetChildren() do
if v_4:IsA("Frame") then
for _, v_5_upvr in next, v_4:GetChildren() do
if v_5_upvr and v_5_upvr:IsA("Frame") then
v_5_upvr.scroll.CanvasSize = any_load_result1_upvr_2:resizeList(v_5_upvr.scroll.main, menu_upvr.pages.settings.main.UIScale.Scale)
v_5_upvr.scroll.main:GetPropertyChangedSignal("AbsoluteSize"):Connect(function() -- Line 321
--[[ Upvalues[3]:
[1]: v_5_upvr (readonly)
[2]: any_load_result1_upvr_2 (copied, readonly)
[3]: menu_upvr (copied, readonly)
]]
v_5_upvr.scroll.CanvasSize = any_load_result1_upvr_2:resizeList(v_5_upvr.scroll.main, menu_upvr.pages.settings.main.UIScale.Scale)
end)
end
end
end
end
for _, v_6 in next, script:GetChildren() do
if v_6 and v_6:IsA("ModuleScript") then
local v_6_2 = require(v_6)
v_6_2:init()
arg1.pages[v_6.Name] = v_6_2
end
end
menu_upvr.pages.settings:SetAttribute("loaded", true)
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:51
-- Luau version 6, Types version 3
-- Time taken: 0.168239 seconds
local LocalPlayer_upvr = game:GetService("Players").LocalPlayer
local PlayerGui_upvr = LocalPlayer_upvr:WaitForChild("PlayerGui")
local NetColorRemoteEvent_upvr = game:GetService("ReplicatedStorage"):WaitForChild("NetColorRemoteEvent")
local _engine = _G._engine
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local any_new_result1_upvr = _engine:load("Network").new()
local any_load_result1_upvr_2 = _engine:load("Maid")
local Profile_upvr = References_upvr.Profile
local menu_upvr = PlayerGui_upvr:WaitForChild("menu", 100)
local module_upvr = {
categories = {
gameplay = {"Atmosphere", "Ambience", "Referee", "CammySounds", "Ball", "Fall", "Jump", "Materials", "Player", "Rain", "Slide", "Snow", "Weather"};
interface = {"UI"};
soundtrack = {"Soundtrack"};
};
volume = {
gameplay = {};
interface = {};
soundtrack = {};
other = {};
};
cache = {};
ColorRemoteEvent = NetColorRemoteEvent_upvr;
}
local function saveColorSetting_upvr(arg1) -- Line 61, Named "saveColorSetting"
--[[ Upvalues[1]:
[1]: any_new_result1_upvr (readonly)
]]
if arg1.Name == "Home Net Color" or arg1.Name == "Away Net Color" or arg1.Name == "Pitch Line Color" then
game:GetService("ReplicatedStorage"):WaitForChild("NetColorRemoteEvent"):FireServer("saveNetColor", arg1.Name, {
r = arg1.Value.R;
g = arg1.Value.G;
b = arg1.Value.B;
})
else
any_new_result1_upvr:send("replicateValue", arg1, arg1.Value)
end
end
local function setupPitchLineColor_upvr() -- Line 77, Named "setupPitchLineColor"
--[[ Upvalues[1]:
[1]: Profile_upvr (readonly)
]]
if Profile_upvr and Profile_upvr.settings and Profile_upvr.settings.Visual then
if not Profile_upvr.settings.Visual:FindFirstChild("Pitch Line Color") then
local Color3Value = Instance.new("Color3Value")
Color3Value.Name = "Pitch Line Color"
Color3Value.Value = Color3.new(1, 1, 1)
local StringValue_28 = Instance.new("StringValue")
StringValue_28.Name = "Category"
StringValue_28.Value = "Visual"
StringValue_28.Parent = Color3Value
Color3Value.Parent = Profile_upvr.settings.Visual
updatePitchLineColor(Color3Value.Value)
return
end
updatePitchLineColor(Profile_upvr.settings.Visual["Pitch Line Color"].Value)
end
end
function updatePitchLineColor(arg1) -- Line 103
if workspace.pitch and workspace.pitch.main and workspace.pitch.main.Lines then
for _, v in next, workspace.pitch.main.Lines:GetDescendants() do
if v and v.Name == "SurfaceAppearance" then
v.Color = arg1
end
end
end
end
function saveMotionBlurSetting(arg1) -- Line 115
--[[ Upvalues[2]:
[1]: Profile_upvr (readonly)
[2]: any_new_result1_upvr (readonly)
]]
if Profile_upvr and Profile_upvr.settings and Profile_upvr.settings.Visual and Profile_upvr.settings.Visual:FindFirstChild("Motion Blur") then
Profile_upvr.settings.Visual["Motion Blur"].Value = arg1
end
any_new_result1_upvr:send("replicateValue", Profile_upvr.settings.Visual["Motion Blur"], arg1)
game:GetService("ReplicatedStorage"):WaitForChild("NetColorRemoteEvent"):FireServer("saveMotionBlur", arg1)
end
function updateMotionBlur(arg1) -- Line 131
--[[ Upvalues[4]:
[1]: Services_upvr (readonly)
[2]: module_upvr (readonly)
[3]: Profile_upvr (readonly)
[4]: any_load_result1_upvr_2 (readonly)
]]
local MotionBlur = Services_upvr.Lighting:FindFirstChild("MotionBlur")
if MotionBlur then
MotionBlur:Destroy()
end
if module_upvr.blurMaid then
module_upvr.blurMaid:DoCleaning()
module_upvr.blurMaid = nil
end
if Profile_upvr and Profile_upvr.settings and Profile_upvr.settings.Visual and Profile_upvr.settings.Visual:FindFirstChild("Motion Blur") and Profile_upvr.settings.Visual["Motion Blur"].Value ~= arg1 then
saveMotionBlurSetting(arg1)
end
if arg1 then
module_upvr.blurMaid = any_load_result1_upvr_2.new()
local BlurEffect_upvr = Instance.new("BlurEffect")
BlurEffect_upvr.Name = "MotionBlur"
BlurEffect_upvr.Size = 0
BlurEffect_upvr.Enabled = true
BlurEffect_upvr.Parent = Services_upvr.Lighting
module_upvr.blurMaid.blurEffect = BlurEffect_upvr
local tbl_upvr = {0, 0, 0, 0, 0}
local var27_upvw = 1
local function _(arg1_2) -- Line 177, Named "updateHistory"
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: var27_upvw (read and write)
]]
tbl_upvr[var27_upvw] = arg1_2
var27_upvw = var27_upvw % #tbl_upvr + 1
local var32 = 0
for _, v_2 in ipairs(tbl_upvr) do
var32 += v_2
end
return var32 / #tbl_upvr
end
local Position_2_upvw = workspace.CurrentCamera.CFrame.Position
local LookVector_2_upvw = workspace.CurrentCamera.CFrame.LookVector
module_upvr.blurMaid.motionConnection = Services_upvr.RunService.RenderStepped:Connect(function(arg1_3) -- Line 189
--[[ Upvalues[5]:
[1]: Position_2_upvw (read and write)
[2]: LookVector_2_upvw (read and write)
[3]: tbl_upvr (readonly)
[4]: var27_upvw (read and write)
[5]: BlurEffect_upvr (readonly)
]]
local Position = workspace.CurrentCamera.CFrame.Position
local LookVector = workspace.CurrentCamera.CFrame.LookVector
tbl_upvr[var27_upvw] = (Position - Position_2_upvw).Magnitude * 2.5 + (LookVector - LookVector_2_upvw).Magnitude * 3
var27_upvw = var27_upvw % #tbl_upvr + 1
local var45 = 0
for i_3, v_3 in ipairs(tbl_upvr) do
var45 += v_3
end
local var49 = var45 / #tbl_upvr
var45 = 0
if 0.05 < var49 then
i_3 = var49 - 0.05
var45 = math.min(i_3 ^ 1.5 * 6, 6)
end
if BlurEffect_upvr.Size < var45 then
i_3 = BlurEffect_upvr
v_3 = var45 - BlurEffect_upvr.Size
i_3 = v_3 * math.min(arg1_3 * 8, 1)
BlurEffect_upvr.Size = i_3.Size + i_3
else
i_3 = BlurEffect_upvr
v_3 = var45 - BlurEffect_upvr.Size
i_3 = v_3 * math.min(arg1_3 * 15, 1)
BlurEffect_upvr.Size = i_3.Size + i_3
end
if BlurEffect_upvr.Size < 0.2 then
BlurEffect_upvr.Size = 0
end
Position_2_upvw = Position
LookVector_2_upvw = LookVector
end)
end
end
local function _() -- Line 236, Named "requestNetColors"
game:GetService("ReplicatedStorage"):WaitForChild("NetColorRemoteEvent"):FireServer("loadNetColors")
end
local main_2_upvr = PlayerGui_upvr:WaitForChild("main", 100)
function module_upvr.update(arg1, arg2) -- Line 241
--[[ Upvalues[8]:
[1]: Profile_upvr (readonly)
[2]: any_new_result1_upvr (readonly)
[3]: any_load_result1_upvr_2 (readonly)
[4]: LocalPlayer_upvr (readonly)
[5]: Services_upvr (readonly)
[6]: main_2_upvr (readonly)
[7]: References_upvr (readonly)
[8]: module_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [7] 5. Error Block 175 start (CF ANALYSIS FAILED)
for _, v_4 in next, {"Field Pattern", "Field Roughness", "Field Material", "Shadows", "Stadium", "Weather Effects", "Grass Stains", "Dynamic Goal Nets", "Motion Blur"} do
Profile_upvr.settings.Visual[v_4].Value = false
any_new_result1_upvr:send("replicateValue", Profile_upvr.settings.Visual[v_4], false)
end
do
return
end
-- KONSTANTERROR: [7] 5. Error Block 175 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [48] 36. Error Block 6 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [48] 36. Error Block 6 end (CF ANALYSIS FAILED)
end
local any_load_result1_upvr = _engine:load("Theme", "utils")
local any_load_result1_upvr_3 = _engine:load("FormatNumber", "utils")
local mouse_upvr = LocalPlayer_upvr:GetMouse()
local any_new_result1_upvr_2 = _engine:load("ColorPicker").new(script.Parent)
function module_upvr.create(arg1, arg2) -- Line 456
--[[ Upvalues[11]:
[1]: References_upvr (readonly)
[2]: menu_upvr (readonly)
[3]: any_load_result1_upvr (readonly)
[4]: Services_upvr (readonly)
[5]: module_upvr (readonly)
[6]: any_new_result1_upvr (readonly)
[7]: any_load_result1_upvr_3 (readonly)
[8]: mouse_upvr (readonly)
[9]: any_new_result1_upvr_2 (readonly)
[10]: saveColorSetting_upvr (readonly)
[11]: NetColorRemoteEvent_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var74
if var74 then
local function INLINED() -- Internal function, doesn't exist in bytecode
var74 = string.lower(arg2.Category.Value)
return var74
end
if not arg2:FindFirstChild("Category") or not INLINED() then
var74 = string.lower(arg2.Parent.Name)
end
local clone_upvr_4 = References_upvr.Main.ui.bool:Clone()
clone_upvr_4.Parent = menu_upvr.pages.settings.main.pages.settings[var74].scroll.main
clone_upvr_4.Name = arg2.Name
clone_upvr_4.label.Text = string.upper(arg2.Name)
if not arg2.Value then
clone_upvr_4.toggle.icon.Visible = false
clone_upvr_4.toggle.BackgroundColor3 = any_load_result1_upvr.Text
end
arg1:update(arg2)
arg2.Changed:Connect(function() -- Line 472
--[[ Upvalues[4]:
[1]: arg2 (readonly)
[2]: Services_upvr (copied, readonly)
[3]: clone_upvr_4 (readonly)
[4]: any_load_result1_upvr (copied, readonly)
]]
if arg2.Value then
Services_upvr.TweenService:Create(clone_upvr_4.toggle, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Accent;
}):Play()
clone_upvr_4.toggle.icon.Visible = true
else
Services_upvr.TweenService:Create(clone_upvr_4.toggle, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Text;
}):Play()
clone_upvr_4.toggle.icon.Visible = false
end
end)
clone_upvr_4.toggle.button.MouseEnter:Connect(function() -- Line 482
--[[ Upvalues[5]:
[1]: References_upvr (copied, readonly)
[2]: arg2 (readonly)
[3]: Services_upvr (copied, readonly)
[4]: clone_upvr_4 (readonly)
[5]: any_load_result1_upvr (copied, readonly)
]]
if script.Parent:GetAttribute("freeze") then
else
References_upvr.Main.sounds.UI.Hover:Play()
if arg2.Value then
Services_upvr.TweenService:Create(clone_upvr_4.toggle, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Accent:Lerp(Color3.new(0, 0, 0), 0.05);
}):Play()
return
end
Services_upvr.TweenService:Create(clone_upvr_4.toggle, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Text:Lerp(Color3.new(0, 0, 0), 0.15);
}):Play()
end
end)
clone_upvr_4.toggle.button.MouseLeave:Connect(function() -- Line 496
--[[ Upvalues[4]:
[1]: arg2 (readonly)
[2]: Services_upvr (copied, readonly)
[3]: clone_upvr_4 (readonly)
[4]: any_load_result1_upvr (copied, readonly)
]]
if arg2.Value then
Services_upvr.TweenService:Create(clone_upvr_4.toggle, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Accent;
}):Play()
else
Services_upvr.TweenService:Create(clone_upvr_4.toggle, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Text;
}):Play()
end
end)
clone_upvr_4.toggle.button.MouseButton1Click:Connect(function() -- Line 504
--[[ Upvalues[5]:
[1]: References_upvr (copied, readonly)
[2]: arg2 (readonly)
[3]: module_upvr (copied, readonly)
[4]: any_new_result1_upvr (copied, readonly)
[5]: arg1 (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 25 start (CF ANALYSIS FAILED)
if script.Parent:GetAttribute("freeze") then return end
References_upvr.Main.sounds.UI.Click:Play()
arg2.Value = not arg2.Value
if arg2.Name == "Motion Blur" then
updateMotionBlur(arg2.Value)
saveMotionBlurSetting(arg2.Value)
-- KONSTANTWARNING: GOTO [110] #77
end
-- KONSTANTERROR: [0] 1. Error Block 25 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [47] 32. Error Block 22 start (CF ANALYSIS FAILED)
if arg2.Name == "Angle Bar" then
if _G._root then
_G._root:SetAttribute("AngleBarEnabled", arg2.Value)
end
module_upvr:_updateAngleBarDisplayVisibility()
any_new_result1_upvr:send("replicateValue", arg2, arg2.Value)
elseif arg2.Name == "Angle Bar Display" then
module_upvr:_updateAngleBarDisplayVisibility()
any_new_result1_upvr:send("replicateValue", arg2, arg2.Value)
else
any_new_result1_upvr:send("replicateValue", arg2, arg2.Value)
end
-- KONSTANTERROR: [47] 32. Error Block 22 end (CF ANALYSIS FAILED)
end)
else
clone_upvr_4 = arg2.Value
local var86_upvr
if tonumber(clone_upvr_4) ~= nil then
clone_upvr_4 = arg2:FindFirstChild("Category")
local function INLINED_2() -- Internal function, doesn't exist in bytecode
clone_upvr_4 = arg2.Category.Value
return string.lower(clone_upvr_4)
end
if not clone_upvr_4 or not INLINED_2() then
clone_upvr_4 = arg2.Parent.Name
end
clone_upvr_4 = arg2.Value
local var87_upvw = clone_upvr_4
local var88_upvw = false
var86_upvr = arg2:FindFirstChild("Min")
local function INLINED_3() -- Internal function, doesn't exist in bytecode
var86_upvr = arg2.Min.Value
return tonumber(var86_upvr)
end
if not var86_upvr or not INLINED_3() then
local var89_upvr = 0
end
local function INLINED_4() -- Internal function, doesn't exist in bytecode
var86_upvr = tonumber(arg2.Max.Value)
return var86_upvr
end
if not arg2:FindFirstChild("Max") or not INLINED_4() then
var86_upvr = 100
end
local var90_upvr = var86_upvr - var89_upvr
local function _() -- Line 541, Named "getFraction"
--[[ Upvalues[3]:
[1]: arg2 (readonly)
[2]: var89_upvr (readonly)
[3]: var90_upvr (readonly)
]]
return math.clamp((tonumber(arg2.Value) - var89_upvr) / var90_upvr, 0, 1)
end
local clone_2_upvr = References_upvr.Main.ui.slider:Clone()
clone_2_upvr.Parent = menu_upvr.pages.settings.main.pages.settings[string.lower(clone_upvr_4)].scroll.main
clone_2_upvr.Name = arg2.Name
clone_2_upvr.label.Text = string.upper(arg2.Name)
clone_2_upvr.slider.slide.Size = UDim2.new(math.clamp((tonumber(arg2.Value) - var89_upvr) / var90_upvr, 0, 1), 0, 1, 0)
arg1:update(arg2)
arg2.Changed:Connect(function() -- Line 552
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
arg1:update(arg2)
end)
if arg2.Parent.Name == "Audio" then
clone_2_upvr.slider.value.PlaceholderText = any_load_result1_upvr_3.FormatDecimal(tonumber(arg2.Value), 0)..'%'
clone_2_upvr.slider.value.Text = any_load_result1_upvr_3.FormatDecimal(tonumber(arg2.Value), 0)..'%'
else
clone_2_upvr.slider.value.PlaceholderText = any_load_result1_upvr_3.FormatDecimal(tonumber(arg2.Value), 2)
clone_2_upvr.slider.value.Text = any_load_result1_upvr_3.FormatDecimal(tonumber(arg2.Value), 2)
end
clone_2_upvr.slider.value.FocusLost:Connect(function() -- Line 564
--[[ Upvalues[7]:
[1]: clone_2_upvr (readonly)
[2]: var89_upvr (readonly)
[3]: var86_upvr (readonly)
[4]: arg2 (readonly)
[5]: any_load_result1_upvr_3 (copied, readonly)
[6]: var90_upvr (readonly)
[7]: any_new_result1_upvr (copied, readonly)
]]
if tonumber(clone_2_upvr.slider.value.Text) and var89_upvr <= tonumber(clone_2_upvr.slider.value.Text) and tonumber(clone_2_upvr.slider.value.Text) <= var86_upvr then
if arg2.Parent.Name == "Audio" then
clone_2_upvr.slider.value.Text = any_load_result1_upvr_3.FormatDecimal(tonumber(clone_2_upvr.slider.value.Text), 0)..'%'
else
clone_2_upvr.slider.value.Text = any_load_result1_upvr_3.FormatDecimal(tonumber(clone_2_upvr.slider.value.Text), 2)
end
clone_2_upvr.slider.value.PlaceholderText = clone_2_upvr.slider.value.Text
arg2.Value = clone_2_upvr.slider.value.Text
clone_2_upvr.slider.slide.Size = UDim2.new(math.clamp((tonumber(arg2.Value) - var89_upvr) / var90_upvr, 0, 1), 0, 1, 0)
any_new_result1_upvr:send("replicateValue", arg2, arg2.Value)
else
clone_2_upvr.value.Text = clone_2_upvr.value.PlaceholderText
end
end)
clone_2_upvr.slider.edit.MouseButton1Click:Connect(function() -- Line 584
--[[ Upvalues[2]:
[1]: References_upvr (copied, readonly)
[2]: clone_2_upvr (readonly)
]]
if script.Parent:GetAttribute("freeze") then
else
References_upvr.Main.sounds.UI.Click:Play()
clone_2_upvr.slider.value:CaptureFocus()
end
end)
clone_2_upvr.slider.button.MouseEnter:Connect(function() -- Line 593
--[[ Upvalues[4]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: clone_2_upvr (readonly)
[4]: any_load_result1_upvr (copied, readonly)
]]
if script.Parent:GetAttribute("freeze") then
else
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(clone_2_upvr.slider, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Text:Lerp(Color3.new(0, 0, 0), 0.15);
}):Play()
Services_upvr.TweenService:Create(clone_2_upvr.slider.slide, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Accent:Lerp(Color3.new(0, 0, 0), 0.05);
}):Play()
end
end)
clone_2_upvr.slider.button.MouseLeave:Connect(function() -- Line 603
--[[ Upvalues[3]:
[1]: Services_upvr (copied, readonly)
[2]: clone_2_upvr (readonly)
[3]: any_load_result1_upvr (copied, readonly)
]]
Services_upvr.TweenService:Create(clone_2_upvr.slider, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Text;
}):Play()
Services_upvr.TweenService:Create(clone_2_upvr.slider.slide, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Accent;
}):Play()
end)
clone_2_upvr.slider.button.MouseButton1Down:Connect(function() -- Line 608
--[[ Upvalues[2]:
[1]: References_upvr (copied, readonly)
[2]: var88_upvw (read and write)
]]
if script.Parent:GetAttribute("freeze") then
else
References_upvr.Main.sounds.UI.Click:Play()
var88_upvw = true
end
end)
Services_upvr.UserInputService.InputEnded:Connect(function(arg1_4, arg2_2) -- Line 617
--[[ Upvalues[4]:
[1]: var88_upvw (read and write)
[2]: arg2 (readonly)
[3]: var87_upvw (read and write)
[4]: any_new_result1_upvr (copied, readonly)
]]
if var88_upvw and (arg1_4.UserInputType == Enum.UserInputType.MouseButton1 or arg1_4.UserInputType == Enum.UserInputType.Touch) then
var88_upvw = false
arg2.Value = var87_upvw
any_new_result1_upvr:send("replicateValue", arg2, arg2.Value)
end
end)
mouse_upvr.Move:Connect(function() -- Line 626
--[[ Upvalues[9]:
[1]: var88_upvw (read and write)
[2]: mouse_upvr (copied, readonly)
[3]: clone_2_upvr (readonly)
[4]: any_load_result1_upvr_3 (copied, readonly)
[5]: var89_upvr (readonly)
[6]: var90_upvr (readonly)
[7]: var86_upvr (readonly)
[8]: arg2 (readonly)
[9]: var87_upvw (read and write)
]]
if var88_upvw then
local clamped = math.clamp((workspace.CurrentCamera:WorldToScreenPoint(mouse_upvr.Hit.Position).X - clone_2_upvr.slider.AbsolutePosition.X) / clone_2_upvr.slider.AbsoluteSize.X, 0, 1)
local any_FormatDecimal_result1 = any_load_result1_upvr_3.FormatDecimal(math.clamp(var89_upvr + tonumber(var90_upvr * clamped), var89_upvr, var86_upvr), 2)
if arg2.Parent.Name == "Audio" then
clone_2_upvr.slider.value.Text = any_load_result1_upvr_3.FormatDecimal(math.clamp(var89_upvr + tonumber(var90_upvr * clamped), var89_upvr, var86_upvr), 0)..'%'
else
clone_2_upvr.slider.value.Text = any_FormatDecimal_result1
end
clone_2_upvr.slider.value.PlaceholderText = clone_2_upvr.slider.value.Text
clone_2_upvr.slider.slide.Size = UDim2.new(clamped, 0, 1, 0)
var87_upvw = any_FormatDecimal_result1
end
end)
return
end
local var106
if var106 then
local function INLINED_5() -- Internal function, doesn't exist in bytecode
var106 = string.lower(arg2.Category.Value)
return var106
end
if not arg2:FindFirstChild("Category") or not INLINED_5() then
var106 = string.lower(arg2.Parent.Name)
end
local clone_upvr_2 = References_upvr.Main.ui.color:Clone()
clone_upvr_2.Parent = menu_upvr.pages.settings.main.pages.settings[var106].scroll.main
clone_upvr_2.Name = arg2.Name
clone_upvr_2.label.Text = string.upper(arg2.Name)
clone_upvr_2.value.color.BackgroundColor3 = arg2.Value
clone_upvr_2.value.gradient.BackgroundColor3 = arg2.Value
clone_upvr_2.value.value.Text = string.format("%s,%s,%s", any_load_result1_upvr_3.FormatDecimal(arg2.Value.R * 255, 0), any_load_result1_upvr_3.FormatDecimal(arg2.Value.G * 255, 0), any_load_result1_upvr_3.FormatDecimal(arg2.Value.B * 255, 0))
arg1:update(arg2)
arg2.Changed:Connect(function() -- Line 655
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
arg1:update(arg2)
end)
any_new_result1_upvr_2.event.Event:Connect(function(arg1_5) -- Line 659
--[[ Upvalues[4]:
[1]: arg2 (readonly)
[2]: clone_upvr_2 (readonly)
[3]: any_load_result1_upvr_3 (copied, readonly)
[4]: saveColorSetting_upvr (copied, readonly)
]]
if arg1_5 and arg1_5.Name == arg2.Name then
clone_upvr_2.value.color.BackgroundColor3 = arg2.Value
clone_upvr_2.value.gradient.BackgroundColor3 = arg2.Value
clone_upvr_2.value.value.Text = string.format("%s,%s,%s", any_load_result1_upvr_3.FormatDecimal(arg2.Value.R * 255, 0), any_load_result1_upvr_3.FormatDecimal(arg2.Value.G * 255, 0), any_load_result1_upvr_3.FormatDecimal(arg2.Value.B * 255, 0))
saveColorSetting_upvr(arg2)
end
end)
clone_upvr_2.value.button.MouseEnter:Connect(function() -- Line 668
--[[ Upvalues[5]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: clone_upvr_2 (readonly)
[4]: any_load_result1_upvr (copied, readonly)
[5]: arg2 (readonly)
]]
if script.Parent:GetAttribute("freeze") then
else
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(clone_upvr_2.value, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Text:Lerp(Color3.new(0, 0, 0), 0.15);
}):Play()
Services_upvr.TweenService:Create(clone_upvr_2.value.color, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = arg2.Value:Lerp(Color3.new(0, 0, 0), 0.05);
}):Play()
Services_upvr.TweenService:Create(clone_upvr_2.value.gradient, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = arg2.Value:Lerp(Color3.new(0, 0, 0), 0.05);
}):Play()
end
end)
clone_upvr_2.value.button.MouseLeave:Connect(function() -- Line 679
--[[ Upvalues[4]:
[1]: Services_upvr (copied, readonly)
[2]: clone_upvr_2 (readonly)
[3]: any_load_result1_upvr (copied, readonly)
[4]: arg2 (readonly)
]]
Services_upvr.TweenService:Create(clone_upvr_2.value, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Text;
}):Play()
Services_upvr.TweenService:Create(clone_upvr_2.value.color, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = arg2.Value;
}):Play()
Services_upvr.TweenService:Create(clone_upvr_2.value.gradient, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = arg2.Value;
}):Play()
end)
clone_upvr_2.value.button.MouseButton1Click:Connect(function() -- Line 685
--[[ Upvalues[4]:
[1]: References_upvr (copied, readonly)
[2]: any_new_result1_upvr_2 (copied, readonly)
[3]: arg2 (readonly)
[4]: saveColorSetting_upvr (copied, readonly)
]]
if script.Parent:GetAttribute("freeze") then
else
References_upvr.Main.sounds.UI.Click:Play()
any_new_result1_upvr_2:prompt(arg2)
task.delay(0.5, function() -- Line 694
--[[ Upvalues[2]:
[1]: arg2 (copied, readonly)
[2]: saveColorSetting_upvr (copied, readonly)
]]
if arg2 then
saveColorSetting_upvr(arg2)
end
end)
end
end)
return
end
local var120
if var120 then
clone_upvr_2 = arg2:FindFirstChild("Category")
local function INLINED_6() -- Internal function, doesn't exist in bytecode
var120 = var120(clone_upvr_2)
clone_upvr_2 = arg2.Category.Value
var120 = string.lower
return var120
end
if not clone_upvr_2 or not INLINED_6() then
var120 = string.lower
clone_upvr_2 = arg2.Parent.Name
var120 = var120(clone_upvr_2)
end
clone_upvr_2 = false
local var121_upvw = clone_upvr_2
local clone_upvr_3 = References_upvr.Main.ui.dropdown:Clone()
clone_upvr_3.Parent = menu_upvr.pages.settings.main.pages.settings[var120].scroll.main
clone_upvr_3.Name = arg2.Name
clone_upvr_3.label.Text = string.upper(arg2.Name)
clone_upvr_3.menu.menu.value.value.Text = string.upper(arg2.Value)
arg1:update(arg2)
arg2.Changed:Connect(function() -- Line 711
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
arg1:update(arg2)
end)
for _, v_15 in next, arg2:GetChildren() do
if v_15 and v_15.Name ~= arg2.Value and v_15.Name ~= "Dropdown" and v_15.Name ~= "Category" and v_15.Name ~= "DefaultValue" then
local clone_upvr = clone_upvr_3.menu.menu.value:Clone()
clone_upvr.Parent = clone_upvr_3.menu.menu
clone_upvr.Name = string.lower(v_15.Name)
clone_upvr.value.Text = string.upper(v_15.Name)
local clone = References_upvr.Main.ui.button:Clone()
clone.Parent = clone_upvr
clone.MouseEnter:Connect(function() -- Line 725
--[[ Upvalues[5]:
[1]: var121_upvw (read and write)
[2]: References_upvr (copied, readonly)
[3]: Services_upvr (copied, readonly)
[4]: clone_upvr (readonly)
[5]: any_load_result1_upvr (copied, readonly)
]]
if script.Parent:GetAttribute("freeze") then
elseif var121_upvw then
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(clone_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 0;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.value, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr.Text;
}):Play()
end
end)
clone.MouseLeave:Connect(function() -- Line 737
--[[ Upvalues[2]:
[1]: Services_upvr (copied, readonly)
[2]: clone_upvr (readonly)
]]
Services_upvr.TweenService:Create(clone_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 1;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.value, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end)
clone.MouseButton1Click:Connect(function() -- Line 742
--[[ Upvalues[9]:
[1]: var121_upvw (read and write)
[2]: References_upvr (copied, readonly)
[3]: clone_upvr_3 (readonly)
[4]: clone_upvr (readonly)
[5]: arg2 (readonly)
[6]: arg1 (readonly)
[7]: NetColorRemoteEvent_upvr (copied, readonly)
[8]: module_upvr (copied, readonly)
[9]: any_new_result1_upvr (copied, readonly)
]]
if script.Parent:GetAttribute("freeze") then
elseif var121_upvw then
var121_upvw = false
References_upvr.Main.sounds.UI.Click:Play()
clone_upvr_3.menu.menu.value.value.Text = clone_upvr.value.Text
clone_upvr.value.Text = string.upper(arg2.Value)
for i_17, v_17 in next, arg2:GetChildren() do
if v_17 and string.lower(v_17.Name) == string.lower(clone_upvr_3.menu.menu.value.value.Text) then
arg2.Value = v_17.Name
end
end
i_17 = 1
v_17 = -4
i_17 = Enum.EasingDirection.InOut
v_17 = Enum.EasingStyle.Sine
clone_upvr_3:TweenSize(UDim2.new(i_17, v_17, 0, 40), i_17, v_17, 0.15, true)
i_17 = 0.5
v_17 = -10
i_17 = Enum.EasingDirection.InOut
v_17 = Enum.EasingStyle.Sine
clone_upvr_3.menu:TweenSize(UDim2.new(i_17, v_17, 0, 32), i_17, v_17, 0.15, true)
local var141
if arg2 and arg2.Value ~= nil then
if arg2.Name == "Time" then
var141 = arg2
arg1:update(var141)
var141 = "saveStringSetting"
i_17 = "Time"
v_17 = arg2.Value
NetColorRemoteEvent_upvr:FireServer(var141, i_17, v_17)
else
if arg2.Name == "Angle Bar Display" then
module_upvr:_updateAngleBarDisplayVisibility()
var141 = "replicateValue"
i_17 = arg2
v_17 = arg2.Value
any_new_result1_upvr:send(var141, i_17, v_17)
return
end
var141 = "replicateValue"
i_17 = arg2
v_17 = arg2.Value
any_new_result1_upvr:send(var141, i_17, v_17)
end
end
i_17 = arg2
local function INLINED_7() -- Internal function, doesn't exist in bytecode
var141 = i_17.Name
i_17 = arg2
return var141
end
if not i_17 or not INLINED_7() then
var141 = "unknown"
end
warn("[Settings] Dropdown click: value or value.Value is nil for setting:", var141)
end
end)
end
end
clone_upvr_3.menu.button.MouseEnter:Connect(function() -- Line 786
--[[ Upvalues[5]:
[1]: References_upvr (copied, readonly)
[2]: var121_upvw (read and write)
[3]: Services_upvr (copied, readonly)
[4]: clone_upvr_3 (readonly)
[5]: any_load_result1_upvr (copied, readonly)
]]
if script.Parent:GetAttribute("freeze") then
else
References_upvr.Main.sounds.UI.Hover:Play()
if not var121_upvw then
Services_upvr.TweenService:Create(clone_upvr_3.menu, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Text:Lerp(Color3.new(0, 0, 0), 0.15);
}):Play()
return
end
Services_upvr.TweenService:Create(clone_upvr_3.menu.menu.value, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 0;
}):Play()
Services_upvr.TweenService:Create(clone_upvr_3.menu.menu.value.value, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr.Text;
}):Play()
end
end)
clone_upvr_3.menu.button.MouseLeave:Connect(function() -- Line 801
--[[ Upvalues[4]:
[1]: var121_upvw (read and write)
[2]: Services_upvr (copied, readonly)
[3]: clone_upvr_3 (readonly)
[4]: any_load_result1_upvr (copied, readonly)
]]
if not var121_upvw then
Services_upvr.TweenService:Create(clone_upvr_3.menu, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Text;
}):Play()
else
Services_upvr.TweenService:Create(clone_upvr_3.menu.menu.value, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 1;
}):Play()
Services_upvr.TweenService:Create(clone_upvr_3.menu.menu.value.value, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end
end)
;({})[1] = "button"
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
;({})[2] = "dropdown"
for _, v_16 in next, {} do
clone_upvr = clone_upvr_3.menu[v_16].MouseButton1Click
clone_upvr = clone_upvr:Connect
clone_upvr(function() -- Line 811
--[[ Upvalues[5]:
[1]: References_upvr (copied, readonly)
[2]: var121_upvw (read and write)
[3]: clone_upvr_3 (readonly)
[4]: menu_upvr (copied, readonly)
[5]: Services_upvr (copied, readonly)
]]
if script.Parent:GetAttribute("freeze") then
else
References_upvr.Main.sounds.UI.Click:Play()
if not var121_upvw then
var121_upvw = true
clone_upvr_3:TweenSize(UDim2.new(1, -4, 0, clone_upvr_3.menu.menu.AbsoluteSize.Y / menu_upvr.pages.settings.main.UIScale.Scale + 8), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
clone_upvr_3.menu:TweenSize(UDim2.new(0.5, -10, 0, clone_upvr_3.menu.menu.AbsoluteSize.Y / menu_upvr.pages.settings.main.UIScale.Scale), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
return
end
var121_upvw = false
Services_upvr.TweenService:Create(clone_upvr_3.menu.menu.value, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 1;
}):Play()
Services_upvr.TweenService:Create(clone_upvr_3.menu.menu.value.value, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
clone_upvr_3:TweenSize(UDim2.new(1, -4, 0, 40), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
clone_upvr_3.menu:TweenSize(UDim2.new(0.5, -10, 0, 32), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
end
end)
local _
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
end
end
end
end
function module_upvr.init(arg1) -- Line 834
--[[ Upvalues[5]:
[1]: References_upvr (readonly)
[2]: Services_upvr (readonly)
[3]: Profile_upvr (readonly)
[4]: setupPitchLineColor_upvr (readonly)
[5]: module_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
for _, v_5 in next, References_upvr.Main.sounds:GetDescendants() do
if v_5 then
local var387
if var387 then
var387 = "other"
for i_6, v_6 in next, arg1.categories do
for _, v_7 in next, v_6 do
if v_7 and v_5:FindFirstAncestor(v_7) then
var387 = i_6
end
end
end
arg1.volume[var387][v_5] = v_5.Volume
end
end
end
arg1.volume.soundtrack[Services_upvr.SoundService.soundtrack] = 0.5
game:GetService("ReplicatedStorage"):WaitForChild("NetColorRemoteEvent"):FireServer("loadNetColors")
if not Profile_upvr.settings.Visual:FindFirstChild("Home Net Color") then
local Color3Value_2 = Instance.new("Color3Value")
Color3Value_2.Name = "Home Net Color"
Color3Value_2.Value = Color3.fromRGB(255, 255, 255)
Color3Value_2.Parent = Profile_upvr.settings.Visual
local StringValue_35 = Instance.new("StringValue")
StringValue_35.Name = "Category"
StringValue_35.Value = "Visual"
StringValue_35.Parent = Color3Value_2
end
local var390
if not Profile_upvr.settings.Visual:FindFirstChild("Away Net Color") then
var390 = "Color3Value"
local any_8 = Instance.new(var390)
var390 = "Away Net Color"
any_8.Name = var390
var390 = Color3.fromRGB(255, 255, 255)
any_8.Value = var390
var390 = Profile_upvr.settings.Visual
any_8.Parent = var390
var390 = Instance.new("StringValue")
local var392 = var390
var392.Name = "Category"
var392.Value = "Visual"
var392.Parent = any_8
end
var392 = Profile_upvr.settings
if not var392.Visual:FindFirstChild("Pitch Line Color") then
var392 = "Color3Value"
local any_6 = Instance.new(var392)
var392 = "Pitch Line Color"
any_6.Name = var392
var392 = Color3.new(1, 1, 1)
any_6.Value = var392
var392 = Instance.new("StringValue")
local var394 = var392
var394.Name = "Category"
var394.Value = "Visual"
var394.Parent = any_6
any_6.Parent = Profile_upvr.settings.Visual
end
var394 = Profile_upvr.settings
if not var394.Visual:FindFirstChild("Motion Blur") then
var394 = "BoolValue"
local any_3 = Instance.new(var394)
var394 = "Motion Blur"
any_3.Name = var394
var394 = false
any_3.Value = var394
var394 = Instance.new("StringValue")
local var396 = var394
var396.Name = "Category"
var396.Value = "Visual"
var396.Parent = any_3
any_3.Parent = Profile_upvr.settings.Visual
end
var396 = Profile_upvr.settings
if not var396.Visual:FindFirstChild("Pass Markers") then
var396 = "BoolValue"
local any_5 = Instance.new(var396)
var396 = "Pass Markers"
any_5.Name = var396
var396 = true
any_5.Value = var396
var396 = Instance.new("StringValue")
local var398 = var396
var398.Name = "Category"
var398.Value = "Visual"
var398.Parent = any_5
any_5.Parent = Profile_upvr.settings.Visual
end
var398 = Profile_upvr.settings
if not var398.Visual:FindFirstChild("Grass Stains") then
var398 = "BoolValue"
local any_4 = Instance.new(var398)
var398 = "Grass Stains"
any_4.Name = var398
var398 = true
any_4.Value = var398
var398 = Profile_upvr.settings.Visual
any_4.Parent = var398
var398 = Instance.new("StringValue", any_4)
local var400 = var398
var400.Name = "Category"
var400.Value = "visual"
else
var400 = Profile_upvr.settings.Visual
var400 = var400["Grass Stains"]:FindFirstChild("Category")
local var402 = var400
if not var402 then
var402 = Instance.new("StringValue", var400["Grass Stains"])
var402.Name = "Category"
end
var402.Value = "visual"
end
if not Profile_upvr.settings.Visual:FindFirstChild("Input Method") then
local StringValue_36 = Instance.new("StringValue")
StringValue_36.Name = "Input Method"
StringValue_36.Value = "Controller"
StringValue_36.Parent = Profile_upvr.settings.Visual
local StringValue_10 = Instance.new("StringValue", StringValue_36)
StringValue_10.Name = "Category"
StringValue_10.Value = "gameplay"
local BoolValue_10 = Instance.new("BoolValue", StringValue_36)
BoolValue_10.Name = "Dropdown"
BoolValue_10.Value = true
local StringValue_32 = Instance.new("StringValue", StringValue_36)
StringValue_32.Name = "Controller"
StringValue_32.Value = "Controller"
Instance.new("StringValue", StringValue_36).Name = "KBM"
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
Instance.new("StringValue", StringValue_36).Value = "KBM"
local StringValue_38 = Instance.new("StringValue", StringValue_36)
StringValue_38.Name = "Mobile"
StringValue_38.Value = "Mobile"
else
local Input_Method = Profile_upvr.settings.Visual["Input Method"]
if not Input_Method:FindFirstChild("Category") then
local StringValue_31 = Instance.new("StringValue", Input_Method)
StringValue_31.Name = "Category"
end
StringValue_31.Value = "gameplay"
if not Input_Method:FindFirstChild("Dropdown") then
local BoolValue_2 = Instance.new("BoolValue", Input_Method)
BoolValue_2.Name = "Dropdown"
BoolValue_2.Value = true
end
if not Input_Method:FindFirstChild("Controller") then
local StringValue_2 = Instance.new("StringValue", Input_Method)
StringValue_2.Name = "Controller"
StringValue_2.Value = "Controller"
end
if not Input_Method:FindFirstChild("KBM") then
local StringValue_33 = Instance.new("StringValue", Input_Method)
StringValue_33.Name = "KBM"
StringValue_33.Value = "KBM"
end
if not Input_Method:FindFirstChild("Mobile") then
local StringValue_30 = Instance.new("StringValue", Input_Method)
StringValue_30.Name = "Mobile"
StringValue_30.Value = "Mobile"
end
end
if not Profile_upvr.settings.Visual:FindFirstChild("Angle Bar") then
local BoolValue_4 = Instance.new("BoolValue")
BoolValue_4.Name = "Angle Bar"
BoolValue_4.Value = false
local StringValue_29 = Instance.new("StringValue")
StringValue_29.Name = "Category"
StringValue_29.Value = "gameplay"
StringValue_29.Parent = BoolValue_4
BoolValue_4.Parent = Profile_upvr.settings.Visual
end
if not Profile_upvr.settings.Visual:FindFirstChild("Angle Bar Display") then
local StringValue_40 = Instance.new("StringValue")
StringValue_40.Name = "Angle Bar Display"
StringValue_40.Value = "3D"
local StringValue_19 = Instance.new("StringValue")
StringValue_19.Name = "Category"
StringValue_19.Value = "gameplay"
StringValue_19.Parent = StringValue_40
local BoolValue_7 = Instance.new("BoolValue")
BoolValue_7.Name = "Dropdown"
BoolValue_7.Value = true
BoolValue_7.Parent = StringValue_40
local StringValue_42 = Instance.new("StringValue")
StringValue_42.Name = "2D"
StringValue_42.Value = "2D"
StringValue_42.Parent = StringValue_40
Instance.new("StringValue").Name = "3D"
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
Instance.new("StringValue").Value = "3D"
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
Instance.new("StringValue").Parent = StringValue_40
StringValue_40.Parent = Profile_upvr.settings.Visual
end
if not Profile_upvr.settings.Visual:FindFirstChild("Time") then
local StringValue_15 = Instance.new("StringValue")
StringValue_15.Name = "Time"
StringValue_15.Value = "Auto"
StringValue_15.Parent = Profile_upvr.settings.Visual
local StringValue_39 = Instance.new("StringValue", StringValue_15)
StringValue_39.Name = "Category"
StringValue_39.Value = "visual"
local BoolValue_3 = Instance.new("BoolValue", StringValue_15)
BoolValue_3.Name = "Dropdown"
BoolValue_3.Value = true
local StringValue_27 = Instance.new("StringValue", StringValue_15)
StringValue_27.Name = "Auto"
StringValue_27.Value = "Auto"
Instance.new("StringValue", StringValue_15).Name = "Morning"
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
Instance.new("StringValue", StringValue_15).Value = "Morning"
local StringValue_4 = Instance.new("StringValue", StringValue_15)
StringValue_4.Name = "Afternoon"
StringValue_4.Value = "Afternoon"
local StringValue_25 = Instance.new("StringValue", StringValue_15)
StringValue_25.Name = "Night"
StringValue_25.Value = "Night"
else
local Time = Profile_upvr.settings.Visual.Time
local Category = Time:FindFirstChild("Category")
if not Category then
Category = Instance.new("StringValue", Time)
Category.Name = "Category"
end
Category.Value = "visual"
if not Time:FindFirstChild("Dropdown") then
local BoolValue_5 = Instance.new("BoolValue", Time)
BoolValue_5.Name = "Dropdown"
BoolValue_5.Value = true
end
if not Time:FindFirstChild("Auto") then
local StringValue_37 = Instance.new("StringValue", Time)
StringValue_37.Name = "Auto"
StringValue_37.Value = "Auto"
end
if not Time:FindFirstChild("Morning") then
local StringValue_24 = Instance.new("StringValue", Time)
StringValue_24.Name = "Morning"
StringValue_24.Value = "Morning"
end
if not Time:FindFirstChild("Afternoon") then
local StringValue_34 = Instance.new("StringValue", Time)
StringValue_34.Name = "Afternoon"
StringValue_34.Value = "Afternoon"
end
if not Time:FindFirstChild("Night") then
local StringValue_23 = Instance.new("StringValue", Time)
StringValue_23.Name = "Night"
StringValue_23.Value = "Night"
end
end
for _, v_8 in pairs(Profile_upvr.settings.Audio:GetChildren()) do
if v_8 and v_8:IsA("ValueBase") then
arg1:create(v_8)
end
end
local tbl_4 = {}
if Profile_upvr.settings.Visual:FindFirstChild("Angle Bar") then
tbl_4["Angle Bar"] = Profile_upvr.settings.Visual["Angle Bar"]
end
if Profile_upvr.settings.Visual:FindFirstChild("Angle Bar Display") then
tbl_4["Angle Bar Display"] = Profile_upvr.settings.Visual["Angle Bar Display"]
end
if Profile_upvr.settings.Visual:FindFirstChild("Input Method") then
tbl_4["Input Method"] = Profile_upvr.settings.Visual["Input Method"]
end
if Profile_upvr.settings:FindFirstChild("Gameplay") then
for _, v_9 in pairs(Profile_upvr.settings.Gameplay:GetChildren()) do
if v_9 and v_9:IsA("ValueBase") and not tbl_4[v_9.Name] then
tbl_4[v_9.Name] = v_9
end
end
else
warn("Player profile is missing the 'Gameplay' settings folder.")
end
for _, v_10 in ipairs({"Input Method", "Angle Bar", "Field of View", "Strong Foot", "Camera Mode", "Occluded Net Transparency"}) do
if tbl_4[v_10] then
arg1:create(tbl_4[v_10])
tbl_4[v_10] = nil
end
end
for _, v_11 in pairs(tbl_4) do
if v_11 then
arg1:create(v_11)
end
end
local tbl_3 = {}
for _, v_12 in pairs(Profile_upvr.settings.Visual:GetChildren()) do
if v_12 and v_12:IsA("ValueBase") and v_12.Name ~= "Input Method" and v_12.Name ~= "Angle Bar" then
tbl_3[v_12.Name] = v_12
end
end
local tbl_2 = {"Field Pattern", "Field Roughness", "Field Material", "Shadows", "Stadium", "Weather Effects", "Time", "Grass Stains", "Dynamic Goal Nets", "Pass Markers", "Motion Blur", "Home Net Color", "Away Net Color", "Pitch Line Color"}
for _, v_13 in next, tbl_2 do
if tbl_3[v_13] then
arg1:create(tbl_3[v_13])
end
end
for i_14, v_14 in next, tbl_3 do
if not table.find(tbl_2, i_14) then
arg1:create(v_14)
end
end
setupPitchLineColor_upvr()
updateMotionBlur(Profile_upvr.settings.Visual["Motion Blur"].Value)
if Profile_upvr.settings.Visual:FindFirstChild("Time") then
Profile_upvr.settings.Visual.Time.Changed:Connect(function() -- Line 1237
--[[ Upvalues[1]:
[1]: References_upvr (copied, readonly)
]]
if References_upvr.Main and References_upvr.Main.config and References_upvr.Main.config.Weather then
local Value_upvr = References_upvr.Main.config.Weather.Value
task.spawn(function() -- Line 1241
--[[ Upvalues[2]:
[1]: References_upvr (copied, readonly)
[2]: Value_upvr (readonly)
]]
local config = References_upvr.Main.config
if Value_upvr == "Clear" then
config = "Overcast"
else
config = "Clear"
end
config.Weather.Value = config
task.wait(0.1)
References_upvr.Main.config.Weather.Value = Value_upvr
end)
end
end)
end
if _G._root and Profile_upvr.settings.Visual:FindFirstChild("Angle Bar") then
_G._root:SetAttribute("AngleBarEnabled", Profile_upvr.settings.Visual["Angle Bar"].Value)
end
if Profile_upvr.settings.Visual:FindFirstChild("Angle Bar Display") or Profile_upvr.settings.Visual:FindFirstChild("Angle Bar") then
module_upvr:_updateAngleBarDisplayVisibility()
end
end
game:GetService("ReplicatedStorage"):WaitForChild("NetColorRemoteEvent").OnClientEvent:Connect(function(arg1, ...) -- Line 1262
--[[ Upvalues[3]:
[1]: Profile_upvr (readonly)
[2]: menu_upvr (readonly)
[3]: module_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [113] 71. Error Block 21 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [120.1]
updatePitchLineColor(Profile_upvr.settings.Visual[nil].Value)
do
return
end
-- KONSTANTERROR: [113] 71. Error Block 21 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [125] 79. Error Block 22 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [125] 79. Error Block 22 end (CF ANALYSIS FAILED)
end)
function module_upvr._updateAngleBarDisplayVisibility(arg1) -- Line 1419
--[[ Upvalues[3]:
[1]: Profile_upvr (readonly)
[2]: PlayerGui_upvr (readonly)
[3]: Services_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 34 start (CF ANALYSIS FAILED)
local var457
if _G._root then
var457 = _G
end
local function INLINED_8() -- Internal function, doesn't exist in bytecode
var457 = Profile_upvr.settings.Visual["Angle Bar Display"].Value
return var457
end
if not Profile_upvr.settings.Visual:FindFirstChild("Angle Bar Display") or not INLINED_8() then
var457 = "3D"
end
local UI = PlayerGui_upvr:FindFirstChild("UI")
local main = PlayerGui_upvr:FindFirstChild("main")
-- KONSTANTERROR: [0] 1. Error Block 34 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [132] 96. Error Block 20 start (CF ANALYSIS FAILED)
main.anglebar.Visible = false
do
return
end
-- KONSTANTERROR: [132] 96. Error Block 20 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [138] 100. Error Block 40 start (CF ANALYSIS FAILED)
if main and main:FindFirstChild("anglebar") then
main.anglebar.Visible = var457._root:GetAttribute("AngleBarEnabled") or false
end
if UI then
local AngleBar = UI:FindFirstChild("AngleBar")
local Bar = UI:FindFirstChild("Bar")
if AngleBar then
AngleBar.Visible = false
end
if Bar then
Bar.Visible = false
end
end
-- KONSTANTERROR: [138] 100. Error Block 40 end (CF ANALYSIS FAILED)
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:53
-- Luau version 6, Types version 3
-- Time taken: 0.027963 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local any_load_result1_upvr = _engine:load("Theme", "utils")
local menu_upvr = References_upvr.PlayerGui:WaitForChild("menu", 100)
local module = {}
local any_new_result1_upvr_2 = _engine:load("Binder").new(script.Parent)
function module.create(arg1, arg2, arg3) -- Line 19
--[[ Upvalues[4]:
[1]: References_upvr (readonly)
[2]: any_new_result1_upvr_2 (readonly)
[3]: Services_upvr (readonly)
[4]: any_load_result1_upvr (readonly)
]]
local clone_upvr = References_upvr.Main.ui.bind:Clone()
clone_upvr.Parent = arg3
clone_upvr.Name = arg2.Name
clone_upvr.label.Text = string.upper(arg2.Name)
local var10
local function INLINED() -- Internal function, doesn't exist in bytecode
var10 = string.upper(arg2.Value)
return var10
end
if arg2.Value == "" or not INLINED() then
var10 = "NOT SET"
end
clone_upvr.value.value.Text = var10
var10 = clone_upvr.value
local function INLINED_2() -- Internal function, doesn't exist in bytecode
var10 = Color3.fromRGB(255, 255, 255)
return var10
end
if arg2.Value == "" or not INLINED_2() then
var10 = Color3.fromRGB(180, 50, 50)
end
var10.value.TextColor3 = var10
var10 = any_new_result1_upvr_2.event
var10.Event:Connect(function(arg1_2) -- Line 29
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: clone_upvr (readonly)
]]
if arg1_2 then
local var13
if arg1_2.Name == var13 then
var13 = clone_upvr.value
local function INLINED_5() -- Internal function, doesn't exist in bytecode
var13 = string.upper(arg2.Value)
return var13
end
if arg2.Value == "" or not INLINED_5() then
var13 = "NOT SET"
end
var13.value.Text = var13
var13 = clone_upvr.value
local function INLINED_6() -- Internal function, doesn't exist in bytecode
var13 = Color3.fromRGB(255, 255, 255)
return var13
end
if arg2.Value == "" or not INLINED_6() then
var13 = Color3.fromRGB(180, 50, 50)
end
var13.value.TextColor3 = var13
end
end
end)
var10 = clone_upvr.value.button
var10.MouseEnter:Connect(function() -- Line 37
--[[ Upvalues[4]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: clone_upvr (readonly)
[4]: any_load_result1_upvr (copied, readonly)
]]
if script.Parent:GetAttribute("freeze") then
else
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(clone_upvr.value, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Text:Lerp(Color3.new(0, 0, 0), 0.15);
}):Play()
end
end)
var10 = clone_upvr.value.button
var10.MouseLeave:Connect(function() -- Line 46
--[[ Upvalues[3]:
[1]: Services_upvr (copied, readonly)
[2]: clone_upvr (readonly)
[3]: any_load_result1_upvr (copied, readonly)
]]
Services_upvr.TweenService:Create(clone_upvr.value, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Text;
}):Play()
end)
var10 = clone_upvr.value.button
var10.MouseButton1Click:Connect(function() -- Line 50
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: any_new_result1_upvr_2 (copied, readonly)
[3]: arg2 (readonly)
]]
if script.Parent:GetAttribute("freeze") then
else
References_upvr.Main.sounds.UI.Click:Play()
any_new_result1_upvr_2:prompt(arg2)
end
end)
end
local any_new_result1_upvr = _engine:load("Network").new()
function module.createMobileVisibility(arg1, arg2, arg3) -- Line 60
--[[ Upvalues[4]:
[1]: References_upvr (readonly)
[2]: Services_upvr (readonly)
[3]: any_load_result1_upvr (readonly)
[4]: any_new_result1_upvr (readonly)
]]
local clone_upvr_2 = References_upvr.Main.ui.bind:Clone()
clone_upvr_2.Parent = arg3
clone_upvr_2.Name = arg2.Name
clone_upvr_2.label.Text = string.upper(arg2.Name:gsub(" %(Mobile%)$", ""))
local function updateDisplay() -- Line 67
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: clone_upvr_2 (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 43 start (CF ANALYSIS FAILED)
local var27
if var27 == "boolean" then
-- KONSTANTWARNING: GOTO [17] #14
end
-- KONSTANTERROR: [0] 1. Error Block 43 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [13] 11. Error Block 52 start (CF ANALYSIS FAILED)
if arg2.Value ~= "true" then
local _ = false
-- KONSTANTWARNING: Skipped task `defvar` above
else
end
var27 = clone_upvr_2.value:FindFirstChild("value")
if not var27 then
var27 = clone_upvr_2.value
end
if var27 then
local children_3 = var27:IsA("TextLabel")
if children_3 then
if true then
children_3 = "VISIBLE"
else
children_3 = "HIDDEN"
end
var27.Text = children_3
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
local function INLINED_8() -- Internal function, doesn't exist in bytecode
children_3 = Color3.fromRGB(100, 255, 100)
return children_3
end
if not true or not INLINED_8() then
children_3 = Color3.fromRGB(255, 100, 100)
end
var27.TextColor3 = children_3
return
end
end
local var30
if clone_upvr_2.value:IsA("TextLabel") then
var30 = clone_upvr_2
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if true then
var30 = "VISIBLE"
else
var30 = "HIDDEN"
end
var30.value.Text = var30
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if not true or not Color3.fromRGB(100, 255, 100) then
end
clone_upvr_2.value.TextColor3 = Color3.fromRGB(255, 100, 100)
end
-- KONSTANTERROR: [13] 11. Error Block 52 end (CF ANALYSIS FAILED)
end
updateDisplay()
arg2.Changed:Connect(updateDisplay)
clone_upvr_2.value.button.MouseEnter:Connect(function() -- Line 94
--[[ Upvalues[4]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: clone_upvr_2 (readonly)
[4]: any_load_result1_upvr (copied, readonly)
]]
if script.Parent:GetAttribute("freeze") then
else
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(clone_upvr_2.value, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Text:Lerp(Color3.new(0, 0, 0), 0.15);
}):Play()
end
end)
clone_upvr_2.value.button.MouseLeave:Connect(function() -- Line 103
--[[ Upvalues[3]:
[1]: Services_upvr (copied, readonly)
[2]: clone_upvr_2 (readonly)
[3]: any_load_result1_upvr (copied, readonly)
]]
Services_upvr.TweenService:Create(clone_upvr_2.value, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Text;
}):Play()
end)
clone_upvr_2.value.button.MouseButton1Click:Connect(function() -- Line 107
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: arg2 (readonly)
[3]: any_new_result1_upvr (copied, readonly)
]]
if script.Parent:GetAttribute("freeze") then
else
References_upvr.Main.sounds.UI.Click:Play()
print("[MOBILE VISIBILITY DEBUG] Toggling visibility for:", arg2.Name, "from", arg2.Value)
print("[MOBILE VISIBILITY DEBUG] Value type:", type(arg2.Value))
local Value_2 = arg2.Value
print("[MOBILE VISIBILITY DEBUG] Current value:", Value_2, "Type:", type(Value_2))
local var37
if type(Value_2) == "boolean" then
var37 = Value_2
elseif Value_2 ~= "true" then
var37 = false
else
var37 = true
end
local var38 = not var37
print("[MOBILE VISIBILITY DEBUG] Calculated new value:", var38)
arg2.Value = var38
print("[MOBILE VISIBILITY DEBUG] Final value in object:", arg2.Value)
any_new_result1_upvr:send("replicateValue", arg2, var38)
if _G._root then
_G._root:SetAttribute("resetTools", true)
print("[MOBILE VISIBILITY DEBUG] Set resetTools attribute on _G._root")
end
end
end)
end
function module.clearBindings(arg1) -- Line 146
--[[ Upvalues[1]:
[1]: menu_upvr (readonly)
]]
for _, v in pairs(menu_upvr.pages.settings.main.pages.bindings.misc.scroll.main:GetChildren()) do
if v:IsA("Frame") then
v:Destroy()
end
end
for _, v_2 in pairs(menu_upvr.pages.settings.main.pages.bindings.tools.scroll.main:GetChildren()) do
if v_2:IsA("Frame") and v_2:FindFirstChild("container") then
for _, v_3 in pairs(v_2.container:GetChildren()) do
if v_3:IsA("Frame") then
v_3:Destroy()
end
end
end
end
end
local Profile_3_upvr = References_upvr.Profile
function module.refreshBindings(arg1) -- Line 165
--[[ Upvalues[4]:
[1]: References_upvr (readonly)
[2]: Services_upvr (readonly)
[3]: Profile_3_upvr (readonly)
[4]: menu_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
arg1:clearBindings()
local getEffectiveInputMethod_result1 = (function() -- Line 170, Named "getEffectiveInputMethod"
--[[ Upvalues[2]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
]]
local Profile_2 = References_upvr.Profile
if Profile_2 and Profile_2.settings and Profile_2.settings.Visual and Profile_2.settings.Visual:FindFirstChild("Input Method") then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
local Value = Profile_2.settings.Visual:FindFirstChild("Input Method").Value
if Value == "KBM" then
return "KBM"
end
if Value == "Controller" then
return "Controller"
end
if Value == "Mobile" then
return "Touch"
end
end
if Services_upvr.UserInputService.TouchEnabled then
return "Touch"
end
if Services_upvr.UserInputService.GamepadEnabled then
return "Controller"
end
return "KBM"
end)()
print("[BINDINGS DEBUG] Input method detected:", getEffectiveInputMethod_result1)
local var82
if getEffectiveInputMethod_result1 ~= "Controller" then
else
end
if getEffectiveInputMethod_result1 ~= "Touch" then
var82 = false
else
var82 = true
end
for _, v_4 in ipairs({"Dribble", "Precision", "Tap Right", "Tap Left", "Flick Up", "Drag Back", "Chop Right", "Chop Left", "Stop Ball"}) do
({})[v_4] = true
local var87
end
for _, v_5 in next, Profile_3_upvr.binds:GetChildren() do
if v_5 then
for _, v_6 in next, v_5:GetChildren() do
local var92 = false
if var82 then
var92 = v_6.Name:find("%(Mobile%)$")
local var93
elseif true then
var92 = v_6.Name:find("%(Gamepad%)$")
else
var93 = not v_6.Name:find("%(Gamepad%)$")
if var93 then
var93 = not v_6.Name:find("%(Mobile%)$")
end
var92 = var93
end
if var92 then
local var94
if var94 == "misc" then
if var82 then
var94 = arg1:createMobileVisibility
var94(v_6, menu_upvr.pages.settings.main.pages.bindings.misc.scroll.main)
else
var94 = arg1:create
var94(v_6, menu_upvr.pages.settings.main.pages.bindings.misc.scroll.main)
end
else
var94 = string.lower(v_5.Name)
if string.lower(v_5.Name) == "skills" then
if var87[v_6.Name:gsub(" %(Mobile%)$", ""):gsub(" %(Gamepad%)$", "")] then
var94 = "dribble"
else
var94 = "skills"
end
end
if menu_upvr.pages.settings.main.pages.bindings.tools.scroll.main:FindFirstChild(var94) then
if var82 then
arg1:createMobileVisibility(v_6, menu_upvr.pages.settings.main.pages.bindings.tools.scroll.main[var94].container)
else
arg1:create(v_6, menu_upvr.pages.settings.main.pages.bindings.tools.scroll.main[var94].container)
end
end
end
end
end
end
end
end
function module.init(arg1) -- Line 271
--[[ Upvalues[2]:
[1]: Services_upvr (readonly)
[2]: References_upvr (readonly)
]]
arg1:refreshBindings()
Services_upvr.UserInputService.GamepadConnected:Connect(function() -- Line 276
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:refreshBindings()
end)
Services_upvr.UserInputService.GamepadDisconnected:Connect(function() -- Line 280
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
task.wait(0.1)
arg1:refreshBindings()
end)
local Profile = References_upvr.Profile
if Profile and Profile.settings and Profile.settings.Visual and Profile.settings.Visual:FindFirstChild("Input Method") then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
Profile.settings.Visual:FindFirstChild("Input Method").Changed:Connect(function() -- Line 291
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
print("[BINDINGS DEBUG] Input Method setting changed, refreshing bindings")
task.wait(0.1)
arg1:refreshBindings()
end)
end
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:54
-- Luau version 6, Types version 3
-- Time taken: 0.035798 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local Profile_upvr = References_upvr.Profile
local main_upvr = References_upvr.PlayerGui:WaitForChild("menu", 100).pages["kit creator"].main.main
local module = {
debounce = {};
}
local any_load_result1_upvr = _engine:load("FormatNumber", "utils")
function module.update(arg1) -- Line 22
--[[ Upvalues[4]:
[1]: References_upvr (readonly)
[2]: Profile_upvr (readonly)
[3]: main_upvr (readonly)
[4]: any_load_result1_upvr (readonly)
]]
if References_upvr.Main.presets:FindFirstChild(tostring(Profile_upvr.team.KitPreset.Value)) then
for _, v in next, {"front", "back"} do
if main_upvr[v].rig:FindFirstChild("Shirt") then
main_upvr[v].rig.Shirt:Destroy()
end
if main_upvr[v].rig:FindFirstChild("Pants") then
main_upvr[v].rig.Pants.Color3 = Profile_upvr.team.PantsColour.Value
end
local clone = References_upvr.Main.presets[tostring(Profile_upvr.team.KitPreset.Value)]:Clone()
clone.Name = "Shirt"
clone.Parent = main_upvr[v].rig
clone.Color3 = Profile_upvr.team.KitColour.Value
end
end
main_upvr.preset.buttons.label.Text = string.format("KIT TYPE %s", tostring(Profile_upvr.team.KitPreset.Value))
main_upvr.back.name.TextColor3 = Profile_upvr.team.TextColour.Value
main_upvr.back.number.TextColor3 = Profile_upvr.team.TextColour.Value
main_upvr.name.input.input.Text = Profile_upvr.team.TeamName.Value
main_upvr.name.input.input.PlaceholderText = Profile_upvr.team.TeamName.Value
main_upvr.abbreviation.input.input.Text = string.upper(Profile_upvr.team.Abbreviation.Value)
main_upvr.abbreviation.input.input.PlaceholderText = string.upper(Profile_upvr.team.Abbreviation.Value)
main_upvr.kit.value.color.BackgroundColor3 = Profile_upvr.team.KitColour.Value
main_upvr.kit.value.gradient.BackgroundColor3 = Profile_upvr.team.KitColour.Value
main_upvr.kit.value.value.Text = string.format("%s,%s,%s", any_load_result1_upvr.FormatDecimal(Profile_upvr.team.KitColour.Value.R * 255, 0), any_load_result1_upvr.FormatDecimal(Profile_upvr.team.KitColour.Value.G * 255, 0), any_load_result1_upvr.FormatDecimal(Profile_upvr.team.KitColour.Value.B * 255, 0))
main_upvr.pants.value.color.BackgroundColor3 = Profile_upvr.team.PantsColour.Value
main_upvr.pants.value.gradient.BackgroundColor3 = Profile_upvr.team.PantsColour.Value
main_upvr.pants.value.value.Text = string.format("%s,%s,%s", any_load_result1_upvr.FormatDecimal(Profile_upvr.team.PantsColour.Value.R * 255, 0), any_load_result1_upvr.FormatDecimal(Profile_upvr.team.PantsColour.Value.G * 255, 0), any_load_result1_upvr.FormatDecimal(Profile_upvr.team.PantsColour.Value.B * 255, 0))
main_upvr.text.value.color.BackgroundColor3 = Profile_upvr.team.TextColour.Value
main_upvr.text.value.gradient.BackgroundColor3 = Profile_upvr.team.TextColour.Value
main_upvr.text.value.value.Text = string.format("%s,%s,%s", any_load_result1_upvr.FormatDecimal(Profile_upvr.team.TextColour.Value.R * 255, 0), any_load_result1_upvr.FormatDecimal(Profile_upvr.team.TextColour.Value.G * 255, 0), any_load_result1_upvr.FormatDecimal(Profile_upvr.team.TextColour.Value.B * 255, 0))
end
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local any_new_result1_upvr_2 = _engine:load("Network").new()
local any_load_result1_upvr_2 = _engine:load("Theme", "utils")
local any_new_result1_upvr = _engine:load("ColorPicker").new(script)
function module.init(arg1) -- Line 63
--[[ Upvalues[8]:
[1]: main_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
[3]: References_upvr (readonly)
[4]: Services_upvr (readonly)
[5]: Profile_upvr (readonly)
[6]: any_new_result1_upvr_2 (readonly)
[7]: any_load_result1_upvr_2 (readonly)
[8]: any_new_result1_upvr (readonly)
]]
for _, v_2_upvr in next, {"front", "back"} do
local rig = main_upvr[v_2_upvr].rig
rig:Destroy()
local pcall_result1, pcall_result2_2 = pcall(function() -- Line 71
--[[ Upvalues[1]:
[1]: LocalPlayer_upvr (copied, readonly)
]]
return _G._services.Players:GetCharacterAppearanceAsync(LocalPlayer_upvr.UserId)
end)
if pcall_result1 and pcall_result2_2 then
for _, v_3 in next, pcall_result2_2:GetChildren() do
if v_3:IsA("BodyColors") then
v_3.Parent = rig:Clone()
elseif v_3:IsA("Decal") and v_3.Name == "face" then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
rig:Clone().Head.face.Texture = v_3.Texture
end
end
end
local clone_upvr_2 = rig:Clone()
task.delay(5, function() -- Line 85
--[[ Upvalues[3]:
[1]: clone_upvr_2 (readonly)
[2]: main_upvr (copied, readonly)
[3]: v_2_upvr (readonly)
]]
clone_upvr_2.Parent = main_upvr[v_2_upvr]
end)
end
task.delay(7, function() -- Line 90
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:update()
end)
for _, v_4_upvr in next, {"next", "prev"} do
clone_upvr_2 = main_upvr.preset.buttons
local var109 = clone_upvr_2[v_4_upvr]
clone_upvr_2 = var109.button.MouseEnter
clone_upvr_2 = clone_upvr_2:Connect
clone_upvr_2(function() -- Line 99
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: main_upvr (copied, readonly)
]]
if script:GetAttribute("freeze") then
else
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(main_upvr.preset.buttons, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 0;
}):Play()
Services_upvr.TweenService:Create(main_upvr.preset.buttons.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
Services_upvr.TweenService:Create(main_upvr.preset.buttons.next.icon, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
Services_upvr.TweenService:Create(main_upvr.preset.buttons.prev.icon, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end
end)
clone_upvr_2 = var109.button.MouseLeave
clone_upvr_2 = clone_upvr_2:Connect
clone_upvr_2(function() -- Line 111
--[[ Upvalues[2]:
[1]: Services_upvr (copied, readonly)
[2]: main_upvr (copied, readonly)
]]
Services_upvr.TweenService:Create(main_upvr.preset.buttons, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 1;
}):Play()
Services_upvr.TweenService:Create(main_upvr.preset.buttons.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(35, 39, 50);
}):Play()
Services_upvr.TweenService:Create(main_upvr.preset.buttons.next.icon, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(35, 39, 50);
}):Play()
Services_upvr.TweenService:Create(main_upvr.preset.buttons.prev.icon, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(35, 39, 50);
}):Play()
end)
clone_upvr_2 = var109.button.MouseButton1Click
clone_upvr_2 = clone_upvr_2:Connect
clone_upvr_2(function() -- Line 118
--[[ Upvalues[5]:
[1]: References_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: v_4_upvr (readonly)
[4]: Profile_upvr (copied, readonly)
[5]: any_new_result1_upvr_2 (copied, readonly)
]]
if script:GetAttribute("freeze") then
else
References_upvr.Main.sounds.UI.Click:Play()
if not arg1.debounce["kit type"] then
arg1.debounce["kit type"] = true
if v_4_upvr == "next" and Profile_upvr.team.KitPreset.Value == #References_upvr.Main.presets:GetChildren() then
Profile_upvr.team.KitPreset.Value = 1
elseif v_4_upvr == "prev" and Profile_upvr.team.KitPreset.Value == 1 then
Profile_upvr.team.KitPreset.Value = #References_upvr.Main.presets:GetChildren()
elseif v_4_upvr == "next" then
local KitPreset_4 = Profile_upvr.team.KitPreset
KitPreset_4.Value += 1
elseif v_4_upvr == "prev" then
local KitPreset_2 = Profile_upvr.team.KitPreset
KitPreset_2.Value -= 1
end
any_new_result1_upvr_2:send("replicateValue", Profile_upvr.team.KitPreset, Profile_upvr.team.KitPreset.Value)
task.delay(0.35, function() -- Line 139
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.debounce["kit type"] = nil
end)
end
end
end)
end
for _, v_5_upvr in next, {"name", "abbreviation"} do
clone_upvr_2 = main_upvr
local var125_upvr = clone_upvr_2[v_5_upvr]
clone_upvr_2 = var125_upvr.input.input.FocusLost
clone_upvr_2 = clone_upvr_2:Connect
clone_upvr_2(function() -- Line 149
--[[ Upvalues[6]:
[1]: References_upvr (copied, readonly)
[2]: v_5_upvr (readonly)
[3]: var125_upvr (readonly)
[4]: arg1 (readonly)
[5]: any_new_result1_upvr_2 (copied, readonly)
[6]: Profile_upvr (copied, readonly)
]]
References_upvr.Main.sounds.UI.Click:Play()
if v_5_upvr == "name" and 25 < #var125_upvr.input.input.Text or v_5_upvr == "abbreviation" and 4 < #var125_upvr.input.input.Text then
var125_upvr.input.input.Text = var125_upvr.input.input.PlaceholderText
else
if not arg1.debounce[v_5_upvr] and var125_upvr.input.input.Text ~= "" then
arg1.debounce[v_5_upvr] = true
local any_fetch_result1 = any_new_result1_upvr_2:fetch("filterString", var125_upvr.input.input.Text)
if any_fetch_result1 == "filter error" then
var125_upvr.input.input.Text = var125_upvr.input.input.PlaceholderText
elseif v_5_upvr == "name" then
var125_upvr.input.input.Text = any_fetch_result1
var125_upvr.input.input.PlaceholderText = var125_upvr.input.input.Text
Profile_upvr.team.TeamName.Value = any_fetch_result1
any_new_result1_upvr_2:send("replicateValue", Profile_upvr.team.TeamName, Profile_upvr.team.TeamName.Value)
elseif v_5_upvr == "abbreviation" then
var125_upvr.input.input.Text = string.upper(any_fetch_result1)
var125_upvr.input.input.PlaceholderText = var125_upvr.input.input.Text
Profile_upvr.team.Abbreviation.Value = string.upper(any_fetch_result1)
any_new_result1_upvr_2:send("replicateValue", Profile_upvr.team.Abbreviation, Profile_upvr.team.Abbreviation.Value)
end
task.delay(0.35, function() -- Line 178
--[[ Upvalues[2]:
[1]: arg1 (copied, readonly)
[2]: v_5_upvr (copied, readonly)
]]
arg1.debounce[v_5_upvr] = nil
end)
return
end
var125_upvr.input.input.Text = var125_upvr.input.input.PlaceholderText
end
end)
end
local tbl_4 = {}
var125_upvr = "text"
tbl_4[1] = "kit"
tbl_4[2] = "pants"
tbl_4[3] = var125_upvr
for _, v_6_upvr in next, tbl_4 do
clone_upvr_2 = main_upvr
var125_upvr = clone_upvr_2[v_6_upvr]
local var130_upvr = var125_upvr
clone_upvr_2 = var130_upvr.value.button.MouseEnter
clone_upvr_2 = clone_upvr_2:Connect
clone_upvr_2(function() -- Line 190
--[[ Upvalues[6]:
[1]: References_upvr (copied, readonly)
[2]: v_6_upvr (readonly)
[3]: Services_upvr (copied, readonly)
[4]: var130_upvr (readonly)
[5]: any_load_result1_upvr_2 (copied, readonly)
[6]: Profile_upvr (copied, readonly)
]]
if script:GetAttribute("freeze") then
else
References_upvr.Main.sounds.UI.Hover:Play()
if v_6_upvr == "kit" then
Services_upvr.TweenService:Create(var130_upvr.value, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr_2.Text:Lerp(Color3.new(0, 0, 0), 0.15);
}):Play()
Services_upvr.TweenService:Create(var130_upvr.value.color, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = Profile_upvr.team.KitColour.Value:Lerp(Color3.new(0, 0, 0), 0.05);
}):Play()
Services_upvr.TweenService:Create(var130_upvr.value.gradient, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = Profile_upvr.team.KitColour.Value:Lerp(Color3.new(0, 0, 0), 0.05);
}):Play()
return
end
if v_6_upvr == "pants" then
Services_upvr.TweenService:Create(var130_upvr.value, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr_2.Text:Lerp(Color3.new(0, 0, 0), 0.15);
}):Play()
Services_upvr.TweenService:Create(var130_upvr.value.color, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = Profile_upvr.team.PantsColour.Value:Lerp(Color3.new(0, 0, 0), 0.05);
}):Play()
Services_upvr.TweenService:Create(var130_upvr.value.gradient, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = Profile_upvr.team.PantsColour.Value:Lerp(Color3.new(0, 0, 0), 0.05);
}):Play()
return
end
if v_6_upvr == "text" then
Services_upvr.TweenService:Create(var130_upvr.value, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr_2.Text:Lerp(Color3.new(0, 0, 0), 0.15);
}):Play()
Services_upvr.TweenService:Create(var130_upvr.value.color, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = Profile_upvr.team.TextColour.Value:Lerp(Color3.new(0, 0, 0), 0.05);
}):Play()
Services_upvr.TweenService:Create(var130_upvr.value.gradient, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = Profile_upvr.team.TextColour.Value:Lerp(Color3.new(0, 0, 0), 0.05);
}):Play()
end
end
end)
clone_upvr_2 = var130_upvr.value.button.MouseLeave
clone_upvr_2 = clone_upvr_2:Connect
clone_upvr_2(function() -- Line 212
--[[ Upvalues[5]:
[1]: v_6_upvr (readonly)
[2]: Services_upvr (copied, readonly)
[3]: var130_upvr (readonly)
[4]: any_load_result1_upvr_2 (copied, readonly)
[5]: Profile_upvr (copied, readonly)
]]
if v_6_upvr == "kit" then
Services_upvr.TweenService:Create(var130_upvr.value, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr_2.Text;
}):Play()
Services_upvr.TweenService:Create(var130_upvr.value.color, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = Profile_upvr.team.KitColour.Value;
}):Play()
Services_upvr.TweenService:Create(var130_upvr.value.gradient, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = Profile_upvr.team.KitColour.Value;
}):Play()
else
if v_6_upvr == "pants" then
Services_upvr.TweenService:Create(var130_upvr.value, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr_2.Text;
}):Play()
Services_upvr.TweenService:Create(var130_upvr.value.color, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = Profile_upvr.team.PantsColour.Value;
}):Play()
Services_upvr.TweenService:Create(var130_upvr.value.gradient, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = Profile_upvr.team.PantsColour.Value;
}):Play()
return
end
if v_6_upvr == "text" then
Services_upvr.TweenService:Create(var130_upvr.value, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr_2.Text;
}):Play()
Services_upvr.TweenService:Create(var130_upvr.value.color, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = Profile_upvr.team.TextColour.Value;
}):Play()
Services_upvr.TweenService:Create(var130_upvr.value.gradient, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = Profile_upvr.team.TextColour.Value;
}):Play()
end
end
end)
clone_upvr_2 = var130_upvr.value.button.MouseButton1Click
clone_upvr_2 = clone_upvr_2:Connect
clone_upvr_2(function() -- Line 228
--[[ Upvalues[4]:
[1]: References_upvr (copied, readonly)
[2]: v_6_upvr (readonly)
[3]: any_new_result1_upvr (copied, readonly)
[4]: Profile_upvr (copied, readonly)
]]
if script:GetAttribute("freeze") then
else
References_upvr.Main.sounds.UI.Click:Play()
if v_6_upvr == "kit" then
any_new_result1_upvr:prompt(Profile_upvr.team.KitColour)
return
end
if v_6_upvr == "pants" then
any_new_result1_upvr:prompt(Profile_upvr.team.PantsColour)
return
end
if v_6_upvr == "text" then
any_new_result1_upvr:prompt(Profile_upvr.team.TextColour)
end
end
end)
end
for _, v_7 in next, Profile_upvr.team:GetChildren() do
if v_7 then
var130_upvr = v_7:IsA("ValueBase")
if var130_upvr then
var130_upvr = v_7.Changed
var130_upvr = var130_upvr:Connect
var130_upvr(function() -- Line 249
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:update()
end)
end
end
end
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:56
-- Luau version 6, Types version 3
-- Time taken: 0.028808 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local menu_upvr = References_upvr.PlayerGui:WaitForChild("menu", 100)
local any_CreateGroup_result1_upvr = _engine:load("BulkFade", "utils").CreateGroup(menu_upvr.private:GetDescendants(), TweenInfo.new(0.15, Enum.EasingStyle.Quint, Enum.EasingDirection.Out))
any_CreateGroup_result1_upvr:FadeOut()
local module = {
privateServerDebounce = false;
current = "main";
index = {
main = 1;
training = 2;
};
tabs = {
debounce = false;
};
pages = {};
cache = {};
}
local function codeExists_upvr(arg1) -- Line 36, Named "codeExists"
--[[ Upvalues[1]:
[1]: References_upvr (readonly)
]]
for _, v in next, References_upvr.Main.servers.private:GetChildren() do
if v and v:FindFirstChild("code") and v:FindFirstChild("access") and string.lower(v.code.Value) == string.lower(arg1) and v.access.Value ~= "" then
return v
end
end
return false
end
function module.select(arg1, arg2) -- Line 46
--[[ Upvalues[1]:
[1]: menu_upvr (readonly)
]]
if not arg1.cache.buttonDebounce and arg1.current ~= arg2.Name and arg2.Name ~= "back" then
arg1.cache.buttonDebounce = true
if arg1.pages[arg1.current] and arg1.pages[arg1.current].close then
task.spawn(function() -- Line 51
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1.pages[arg1.current]:close()
end)
end
if arg1.pages[arg2.Name] and arg1.pages[arg2.Name].open then
task.spawn(function() -- Line 57
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
arg1.pages[arg2.Name]:open()
end)
end
arg1.current = arg2.Name
menu_upvr.pages.servers.main.pages.UIPageLayout:JumpTo(menu_upvr.pages.servers.main.pages[arg2.Name])
task.wait(0.1)
arg1.cache.buttonDebounce = nil
end
end
local any_load_result1_upvr = _engine:load("Theme", "utils")
local any_new_result1_upvr_2 = _engine:load("Network").new()
local any_new_result1_upvr = _engine:load("Notification").new()
function module.init(arg1) -- Line 70
--[[ Upvalues[8]:
[1]: Services_upvr (readonly)
[2]: menu_upvr (readonly)
[3]: References_upvr (readonly)
[4]: any_load_result1_upvr (readonly)
[5]: codeExists_upvr (readonly)
[6]: any_CreateGroup_result1_upvr (readonly)
[7]: any_new_result1_upvr_2 (readonly)
[8]: any_new_result1_upvr (readonly)
]]
Services_upvr.UserInputService.InputBegan:Connect(function(arg1_3, arg2) -- Line 73
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: menu_upvr (copied, readonly)
[3]: References_upvr (copied, readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 66 start (CF ANALYSIS FAILED)
if arg1_3.KeyCode == Enum.KeyCode.ButtonR1 and arg1.index[arg1.current] and script:GetAttribute("toggle") and not arg1.tabs.debounce then
arg1.tabs.debounce = true
if arg1.index[arg1.current] == #menu_upvr.pages.servers.main.top:GetChildren() - 2 then
for i_2, v_2 in next, arg1.index do
if v_2 and v_2 == 1 then
References_upvr.Main.sounds.UI.Click:Play()
arg1:select(menu_upvr.pages.servers.main.pages[i_2])
task.delay(0.2, function() -- Line 81
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.tabs.debounce = false
end)
return
end
end
task.delay(0.2, function() -- Line 99
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.tabs.debounce = false
end)
do
return
end
-- KONSTANTWARNING: GOTO [162] #111
end
-- KONSTANTWARNING: GOTO [102] #69
end
-- KONSTANTERROR: [0] 1. Error Block 66 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [162] 111. Error Block 64 start (CF ANALYSIS FAILED)
if arg1_3.KeyCode == Enum.KeyCode.ButtonL1 and arg1.index[arg1.current] and script:GetAttribute("toggle") then
arg1.tabs.debounce = true
if arg1.index[arg1.current] == 1 then
for i_3, v_3 in next, arg1.index do
if v_3 and v_3 == #menu_upvr.pages.servers.main.top:GetChildren() - 2 then
References_upvr.Main.sounds.UI.Click:Play()
arg1:select(menu_upvr.pages.servers.main.pages[i_3])
task.delay(0.2, function() -- Line 109
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.tabs.debounce = false
end)
return
end
end
task.delay(0.2, function() -- Line 127
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.tabs.debounce = false
end)
-- KONSTANTWARNING: GOTO [317] #216
end
-- KONSTANTWARNING: GOTO [258] #175
end
-- KONSTANTERROR: [162] 111. Error Block 64 end (CF ANALYSIS FAILED)
end)
for _, v_4_upvr in next, menu_upvr.pages.servers.main.top:GetChildren() do
if v_4_upvr and v_4_upvr:IsA("Frame") then
local button_2 = v_4_upvr:FindFirstChild("button")
if not button_2 then
button_2 = v_4_upvr:FindFirstChild("back")
end
local image_upvr = v_4_upvr:FindFirstChild("image", true)
local label_upvr = v_4_upvr:FindFirstChild("label", true)
button_2.MouseEnter:Connect(function() -- Line 141
--[[ Upvalues[5]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: v_4_upvr (readonly)
[4]: image_upvr (readonly)
[5]: label_upvr (readonly)
]]
if script:GetAttribute("freeze") then
else
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(v_4_upvr.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 1;
}):Play()
if image_upvr then
Services_upvr.TweenService:Create(image_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(255, 255, 255);
Position = UDim2.new(0.5, 0, 0.5, -2);
}):Play()
return
end
if label_upvr then
Services_upvr.TweenService:Create(label_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
Position = UDim2.new(0.5, 0, 0.5, -2);
}):Play()
end
end
end)
button_2.MouseLeave:Connect(function() -- Line 156
--[[ Upvalues[4]:
[1]: Services_upvr (copied, readonly)
[2]: v_4_upvr (readonly)
[3]: image_upvr (readonly)
[4]: label_upvr (readonly)
]]
Services_upvr.TweenService:Create(v_4_upvr.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 0;
}):Play()
if image_upvr then
Services_upvr.TweenService:Create(image_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(35, 39, 50);
Position = UDim2.new(0.5, 0, 0.5, 0);
}):Play()
elseif label_upvr then
Services_upvr.TweenService:Create(label_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(35, 39, 50);
Position = UDim2.new(0.5, 0, 0.5, 0);
}):Play()
end
end)
button_2.MouseButton1Click:Connect(function() -- Line 166
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: v_4_upvr (readonly)
]]
if script:GetAttribute("freeze") then
else
References_upvr.Main.sounds.UI.Click:Play()
arg1:select(v_4_upvr)
end
end)
end
end
label_upvr = menu_upvr
image_upvr = label_upvr.pages
image_upvr.servers.main.code.join.button.MouseEnter:Connect(function() -- Line 177
--[[ Upvalues[4]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: menu_upvr (copied, readonly)
[4]: any_load_result1_upvr (copied, readonly)
]]
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(menu_upvr.pages.servers.main.code.join, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Accent;
}):Play()
Services_upvr.TweenService:Create(menu_upvr.pages.servers.main.code.join.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr.Text;
}):Play()
end)
label_upvr = menu_upvr
image_upvr = label_upvr.pages
image_upvr.servers.main.code.join.button.MouseLeave:Connect(function() -- Line 183
--[[ Upvalues[3]:
[1]: Services_upvr (copied, readonly)
[2]: menu_upvr (copied, readonly)
[3]: any_load_result1_upvr (copied, readonly)
]]
Services_upvr.TweenService:Create(menu_upvr.pages.servers.main.code.join, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Text;
}):Play()
Services_upvr.TweenService:Create(menu_upvr.pages.servers.main.code.join.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end)
label_upvr = menu_upvr
image_upvr = label_upvr.pages
image_upvr.servers.main.code.join.button.MouseButton1Click:Connect(function() -- Line 188
--[[ Upvalues[7]:
[1]: References_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: codeExists_upvr (copied, readonly)
[4]: menu_upvr (copied, readonly)
[5]: any_CreateGroup_result1_upvr (copied, readonly)
[6]: any_new_result1_upvr_2 (copied, readonly)
[7]: any_new_result1_upvr (copied, readonly)
]]
References_upvr.Main.sounds.UI.Click:Play()
if arg1.privateServerDebounce then
else
local codeExists_upvr_result1 = codeExists_upvr(menu_upvr.pages.servers.main.code.input.input.Text)
if menu_upvr.pages.servers.main.code.input.input.Text ~= "" and codeExists_upvr_result1 then
arg1.privateServerDebounce = true
menu_upvr.private.Visible = true
any_CreateGroup_result1_upvr:FadeIn()
any_new_result1_upvr_2:send("privateServer", codeExists_upvr_result1.access.Value)
task.delay(0.35, function() -- Line 204
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.privateServerDebounce = false
end)
return
end
arg1.privateServerDebounce = true
References_upvr.Main.sounds.UI.Error:Play()
task.spawn(function() -- Line 210
--[[ Upvalues[1]:
[1]: any_new_result1_upvr (copied, readonly)
]]
any_new_result1_upvr:create(string.upper("PRIVATE SERVER NOT FOUND; PLEASE WAIT UP TO A FEW MINUTES IF YOU ARE JOINING A NEW SERVER."), Color3.fromRGB(255, 61, 61))
end)
task.delay(0.35, function() -- Line 214
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.privateServerDebounce = false
end)
end
end)
script:GetAttributeChangedSignal("privateServer"):Connect(function() -- Line 222
--[[ Upvalues[2]:
[1]: menu_upvr (copied, readonly)
[2]: any_CreateGroup_result1_upvr (copied, readonly)
]]
if script:GetAttribute("privateServer") then
menu_upvr.private.Visible = true
any_CreateGroup_result1_upvr:FadeIn()
end
end)
for _, v_5 in next, script:GetChildren() do
if v_5 then
label_upvr = "ModuleScript"
if v_5:IsA(label_upvr) then
image_upvr = v_5
local var85_2 = require(image_upvr)
image_upvr = arg1.pages
label_upvr = v_5.Name
image_upvr[label_upvr] = var85_2
image_upvr = var85_2:init
image_upvr()
end
end
end
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:57
-- Luau version 6, Types version 3
-- Time taken: 0.021618 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local menu_upvr = References_upvr.PlayerGui:WaitForChild("menu", 100)
local any_load_result1_upvr = _engine:load("Theme", "utils")
local module = {
debounce = false;
switching = false;
servers = {};
cache = {};
}
local any_load_result1_upvr_3 = _engine:load("Maid")
local any_load_result1_upvr_2 = _engine:load("Flags", "utils")
local any_new_result1_upvr = _engine:load("Notification").new()
local any_new_result1_upvr_4 = _engine:load("Teleporter").new(script.Parent.Parent.Parent, menu_upvr.menu.main.profile, script:GetAttribute("placeId"), "server")
local any_load_result1_upvr_4 = _engine:load("ThumbnailService", "utils")
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
function module.create(arg1, arg2) -- Line 27
--[[ Upvalues[10]:
[1]: any_load_result1_upvr_3 (readonly)
[2]: References_upvr (readonly)
[3]: menu_upvr (readonly)
[4]: any_load_result1_upvr_2 (readonly)
[5]: Services_upvr (readonly)
[6]: any_load_result1_upvr (readonly)
[7]: any_new_result1_upvr (readonly)
[8]: any_new_result1_upvr_4 (readonly)
[9]: any_load_result1_upvr_4 (readonly)
[10]: LocalPlayer_upvr (readonly)
]]
for _, v in next, {"location", "flag"} do
while not arg2:FindFirstChild(v) do
task.wait()
end
end
local var17_upvw = false
local any_new_result1_upvr_2 = any_load_result1_upvr_3.new()
arg1.cache[arg2.Name] = {
maid = any_new_result1_upvr_2;
}
local clone_upvr = References_upvr.Main.ui.server:Clone()
clone_upvr.Parent = menu_upvr.pages.servers.main.pages[script.Name].scroll.main
clone_upvr.Name = arg2.Name
local function update() -- Line 46
--[[ Upvalues[3]:
[1]: clone_upvr (readonly)
[2]: arg2 (readonly)
[3]: any_load_result1_upvr_2 (copied, readonly)
]]
clone_upvr.location.location.Text = string.upper(arg2.location.Value)
local var21
local function INLINED() -- Internal function, doesn't exist in bytecode
var21 = any_load_result1_upvr_2[arg2.flag.Value].Emoji
return var21
end
if not any_load_result1_upvr_2[arg2.flag.Value] or not INLINED() then
var21 = ""
end
clone_upvr.flag.flag.Text = var21
var21 = clone_upvr
var21 = string.format("%s/%s Players", tostring(#arg2.players:GetChildren()), tostring(script:GetAttribute("maxPlayers") or "14"))
var21.count.Text = var21
var21 = -(#arg2.players:GetChildren())
clone_upvr.LayoutOrder = var21
end
update()
any_new_result1_upvr_2.locationChanged = arg2.location.Changed:Connect(update)
any_new_result1_upvr_2.flagChanged = arg2.flag.Changed:Connect(update)
any_new_result1_upvr_2.mouseEnter = clone_upvr.join.button.MouseEnter:Connect(function() -- Line 58
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: References_upvr (copied, readonly)
[3]: Services_upvr (copied, readonly)
[4]: clone_upvr (readonly)
]]
if arg1.debounce then
else
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(clone_upvr.join.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1.03;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.join.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end
end)
any_new_result1_upvr_2.mouseLeave = clone_upvr.join.button.MouseLeave:Connect(function() -- Line 68
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: Services_upvr (copied, readonly)
[3]: clone_upvr (readonly)
[4]: any_load_result1_upvr (copied, readonly)
]]
if arg1.debounce then
else
Services_upvr.TweenService:Create(clone_upvr.join.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.join.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr.Text;
}):Play()
end
end)
any_new_result1_upvr_2.mouseButton1Down = clone_upvr.join.button.MouseButton1Down:Connect(function() -- Line 77
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: var17_upvw (read and write)
[3]: Services_upvr (copied, readonly)
[4]: clone_upvr (readonly)
]]
if arg1.debounce then
else
var17_upvw = true
Services_upvr.TweenService:Create(clone_upvr.join.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Scale = 0.9;
}):Play()
end
end)
any_new_result1_upvr_2.inputEnded = Services_upvr.UserInputService.InputEnded:Connect(function(arg1_2, arg2_2) -- Line 86
--[[ Upvalues[4]:
[1]: var17_upvw (read and write)
[2]: arg1 (readonly)
[3]: Services_upvr (copied, readonly)
[4]: clone_upvr (readonly)
]]
if arg1_2.UserInputType == Enum.UserInputType.MouseButton1 or arg1_2.UserInputType == Enum.UserInputType.Touch then
if var17_upvw and not arg1.debounce then
var17_upvw = false
Services_upvr.TweenService:Create(clone_upvr.join.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Scale = 1;
}):Play()
end
end
end)
any_new_result1_upvr_2.mouseButton1Click = clone_upvr.join.button.MouseButton1Click:Connect(function() -- Line 93
--[[ Upvalues[8]:
[1]: arg1 (readonly)
[2]: References_upvr (copied, readonly)
[3]: arg2 (readonly)
[4]: any_new_result1_upvr (copied, readonly)
[5]: Services_upvr (copied, readonly)
[6]: clone_upvr (readonly)
[7]: any_load_result1_upvr (copied, readonly)
[8]: any_new_result1_upvr_4 (copied, readonly)
]]
if not arg1.debounce then
arg1.debounce = true
References_upvr.Main.sounds.UI.Click:Play()
if arg2:FindFirstChild("players") and _G._maxPlayers <= #arg2.players:GetChildren() then
References_upvr.Main.sounds.UI.Error:Play()
arg1.debounce = false
task.spawn(function() -- Line 101
--[[ Upvalues[1]:
[1]: any_new_result1_upvr (copied, readonly)
]]
any_new_result1_upvr:create(string.upper("SELECTED SERVER IS FULL!"), Color3.fromRGB(255, 61, 61))
end)
end
Services_upvr.TweenService:Create(clone_upvr.join.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.join.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr.Text;
}):Play()
any_new_result1_upvr_4:prompt("teleport", arg2.Name)
task.delay(0.35, function() -- Line 110
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.debounce = false
end)
end
end)
any_new_result1_upvr_2.onEvent = any_new_result1_upvr_4.event.Event:Connect(function(arg1_3) -- Line 116
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_3 == "no" then
arg1.debounce = false
end
end)
any_new_result1_upvr_2.update = arg2:GetAttributeChangedSignal("update"):Connect(function() -- Line 122
--[[ Upvalues[6]:
[1]: arg2 (readonly)
[2]: update (readonly)
[3]: clone_upvr (readonly)
[4]: any_load_result1_upvr_4 (copied, readonly)
[5]: LocalPlayer_upvr (copied, readonly)
[6]: Services_upvr (copied, readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [10] 9. Error Block 63 start (CF ANALYSIS FAILED)
while not arg2:FindFirstChild("players") do
task.wait()
end
update()
for _, v_2 in next, clone_upvr.players.list:GetChildren() do
if v_2 and v_2:IsA("ImageLabel") and v_2.Name ~= "avatar" then
v_2:Destroy()
end
end
local _, _ = arg2.players:GetChildren()
-- KONSTANTERROR: [10] 9. Error Block 63 end (CF ANALYSIS FAILED)
end)
any_new_result1_upvr_2.onDestroying = clone_upvr.Destroying:Connect(function() -- Line 185
--[[ Upvalues[3]:
[1]: any_new_result1_upvr_2 (readonly)
[2]: arg1 (readonly)
[3]: arg2 (readonly)
]]
any_new_result1_upvr_2:DoCleaning()
if arg1.cache[arg2.Name] then
arg1.cache[arg2.Name] = nil
end
end)
end
local any_new_result1_upvr_3 = _engine:load("Janitor").new()
function module.loadPage(arg1) -- Line 193
--[[ Upvalues[2]:
[1]: menu_upvr (readonly)
[2]: any_new_result1_upvr_3 (readonly)
]]
local function _(arg1_4) -- Line 196, Named "createSlot"
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1.servers[arg1_4] then
arg1:create(arg1.servers[arg1_4])
end
end
any_new_result1_upvr_3:clean(menu_upvr.pages.servers.main.pages[script.Name].scroll.main:GetChildren(), "UIListLayout")
for i_3 = 1, #arg1.servers do
if arg1.servers[i_3] then
arg1:create(arg1.servers[i_3])
end
end
end
function module.update(arg1) -- Line 209
arg1:loadPage()
end
function module.destroy(arg1, arg2) -- Line 213
if arg1.cache[arg2.Name] then
arg1.cache[arg2.Name].maid:DoCleaning()
arg1.cache[arg2.Name] = nil
end
end
local servers_upvr = References_upvr.Main.servers
function module.init(arg1) -- Line 220
--[[ Upvalues[5]:
[1]: servers_upvr (readonly)
[2]: menu_upvr (readonly)
[3]: References_upvr (readonly)
[4]: Services_upvr (readonly)
[5]: any_load_result1_upvr (readonly)
]]
for _, v_3 in next, servers_upvr[script.Name]:GetChildren() do
if v_3 and v_3:IsA("Folder") then
table.insert(arg1.servers, v_3)
end
end
servers_upvr[script.Name].ChildAdded:Connect(function(arg1_5) -- Line 229
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_5 and arg1_5:IsA("Folder") then
table.insert(arg1.servers, arg1_5)
end
end)
servers_upvr[script.Name].ChildRemoved:Connect(function(arg1_6) -- Line 235
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_6 and arg1_6:IsA("Folder") and table.find(arg1.servers, arg1_6) then
table.remove(arg1.servers, table.find(arg1.servers, arg1_6))
end
end)
local refresh_upvr = menu_upvr.pages.servers.main.pages[script.Name].page.refresh
refresh_upvr.button.MouseEnter:Connect(function() -- Line 245
--[[ Upvalues[4]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: refresh_upvr (readonly)
[4]: any_load_result1_upvr (copied, readonly)
]]
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(refresh_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Accent;
}):Play()
Services_upvr.TweenService:Create(refresh_upvr.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr.Text;
}):Play()
end)
refresh_upvr.button.MouseLeave:Connect(function() -- Line 251
--[[ Upvalues[3]:
[1]: Services_upvr (copied, readonly)
[2]: refresh_upvr (readonly)
[3]: any_load_result1_upvr (copied, readonly)
]]
Services_upvr.TweenService:Create(refresh_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Text;
}):Play()
Services_upvr.TweenService:Create(refresh_upvr.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end)
refresh_upvr.button.MouseButton1Click:Connect(function() -- Line 256
--[[ Upvalues[2]:
[1]: References_upvr (copied, readonly)
[2]: arg1 (readonly)
]]
References_upvr.Main.sounds.UI.Click:Play()
if not arg1.switching then
arg1.switching = true
arg1:update()
task.delay(0.15, function() -- Line 263
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.switching = false
end)
end
end)
script.Parent:GetAttributeChangedSignal("toggle"):Connect(function() -- Line 271
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if script.Parent:GetAttribute("toggle") then
arg1:update()
end
end)
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:09:58
-- Luau version 6, Types version 3
-- Time taken: 0.014959 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local menu_upvr = References_upvr.PlayerGui:WaitForChild("menu", 100)
local any_load_result1_upvr = _engine:load("Theme", "utils")
local module = {
debounce = false;
switching = false;
servers = {};
cache = {};
}
local any_load_result1_upvr_3 = _engine:load("Maid")
local any_load_result1_upvr_2 = _engine:load("Flags", "utils")
local any_new_result1_upvr = _engine:load("Notification").new()
local any_new_result1_upvr_4 = _engine:load("Teleporter").new(script.Parent.Parent.Parent, menu_upvr.menu.main.profile, script:GetAttribute("placeId"), "server")
local any_load_result1_upvr_4 = _engine:load("ThumbnailService", "utils")
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
function module.create(arg1, arg2) -- Line 27
--[[ Upvalues[10]:
[1]: any_load_result1_upvr_3 (readonly)
[2]: References_upvr (readonly)
[3]: menu_upvr (readonly)
[4]: any_load_result1_upvr_2 (readonly)
[5]: Services_upvr (readonly)
[6]: any_load_result1_upvr (readonly)
[7]: any_new_result1_upvr (readonly)
[8]: any_new_result1_upvr_4 (readonly)
[9]: any_load_result1_upvr_4 (readonly)
[10]: LocalPlayer_upvr (readonly)
]]
for _, v in next, {"location", "flag"} do
while not arg2:FindFirstChild(v) do
task.wait()
end
end
local var17_upvw = false
local any_new_result1_upvr_2 = any_load_result1_upvr_3.new()
arg1.cache[arg2.Name] = {
maid = any_new_result1_upvr_2;
}
local clone_upvr = References_upvr.Main.ui.server:Clone()
clone_upvr.Parent = menu_upvr.pages.servers.main.pages[script.Name].scroll.main
clone_upvr.Name = arg2.Name
local function update() -- Line 46
--[[ Upvalues[3]:
[1]: clone_upvr (readonly)
[2]: arg2 (readonly)
[3]: any_load_result1_upvr_2 (copied, readonly)
]]
clone_upvr.location.location.Text = string.upper(arg2.location.Value)
local var21
local function INLINED() -- Internal function, doesn't exist in bytecode
var21 = any_load_result1_upvr_2[arg2.flag.Value].Emoji
return var21
end
if not any_load_result1_upvr_2[arg2.flag.Value] or not INLINED() then
var21 = ""
end
clone_upvr.flag.flag.Text = var21
var21 = clone_upvr
var21 = string.format("%s/%s Players", tostring(#arg2.players:GetChildren()), tostring(script:GetAttribute("maxPlayers") or "14"))
var21.count.Text = var21
var21 = -(#arg2.players:GetChildren())
clone_upvr.LayoutOrder = var21
end
update()
any_new_result1_upvr_2.locationChanged = arg2.location.Changed:Connect(update)
any_new_result1_upvr_2.flagChanged = arg2.flag.Changed:Connect(update)
any_new_result1_upvr_2.mouseEnter = clone_upvr.join.button.MouseEnter:Connect(function() -- Line 58
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: References_upvr (copied, readonly)
[3]: Services_upvr (copied, readonly)
[4]: clone_upvr (readonly)
]]
if arg1.debounce then
else
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(clone_upvr.join.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1.03;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.join.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end
end)
any_new_result1_upvr_2.mouseLeave = clone_upvr.join.button.MouseLeave:Connect(function() -- Line 68
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: Services_upvr (copied, readonly)
[3]: clone_upvr (readonly)
[4]: any_load_result1_upvr (copied, readonly)
]]
if arg1.debounce then
else
Services_upvr.TweenService:Create(clone_upvr.join.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.join.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr.Text;
}):Play()
end
end)
any_new_result1_upvr_2.mouseButton1Down = clone_upvr.join.button.MouseButton1Down:Connect(function() -- Line 77
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: var17_upvw (read and write)
[3]: Services_upvr (copied, readonly)
[4]: clone_upvr (readonly)
]]
if arg1.debounce then
else
var17_upvw = true
Services_upvr.TweenService:Create(clone_upvr.join.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Scale = 0.9;
}):Play()
end
end)
any_new_result1_upvr_2.inputEnded = Services_upvr.UserInputService.InputEnded:Connect(function(arg1_2, arg2_2) -- Line 86
--[[ Upvalues[4]:
[1]: var17_upvw (read and write)
[2]: arg1 (readonly)
[3]: Services_upvr (copied, readonly)
[4]: clone_upvr (readonly)
]]
if arg1_2.UserInputType == Enum.UserInputType.MouseButton1 or arg1_2.UserInputType == Enum.UserInputType.Touch then
if var17_upvw and not arg1.debounce then
var17_upvw = false
Services_upvr.TweenService:Create(clone_upvr.join.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Scale = 1;
}):Play()
end
end
end)
any_new_result1_upvr_2.mouseButton1Click = clone_upvr.join.button.MouseButton1Click:Connect(function() -- Line 93
--[[ Upvalues[8]:
[1]: arg1 (readonly)
[2]: References_upvr (copied, readonly)
[3]: arg2 (readonly)
[4]: any_new_result1_upvr (copied, readonly)
[5]: Services_upvr (copied, readonly)
[6]: clone_upvr (readonly)
[7]: any_load_result1_upvr (copied, readonly)
[8]: any_new_result1_upvr_4 (copied, readonly)
]]
if not arg1.debounce then
arg1.debounce = true
References_upvr.Main.sounds.UI.Click:Play()
if arg2:FindFirstChild("players") and _G._maxPlayers <= #arg2.players:GetChildren() then
References_upvr.Main.sounds.UI.Error:Play()
arg1.debounce = false
task.spawn(function() -- Line 101
--[[ Upvalues[1]:
[1]: any_new_result1_upvr (copied, readonly)
]]
any_new_result1_upvr:create(string.upper("SELECTED SERVER IS FULL!"), Color3.fromRGB(255, 61, 61))
end)
end
Services_upvr.TweenService:Create(clone_upvr.join.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.join.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr.Text;
}):Play()
any_new_result1_upvr_4:prompt("teleport", arg2.Name)
task.delay(0.35, function() -- Line 110
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.debounce = false
end)
end
end)
any_new_result1_upvr_2.onEvent = any_new_result1_upvr_4.event.Event:Connect(function(arg1_3) -- Line 116
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_3 == "no" then
arg1.debounce = false
end
end)
any_new_result1_upvr_2.update = arg2:GetAttributeChangedSignal("update"):Connect(function() -- Line 122
--[[ Upvalues[6]:
[1]: arg2 (readonly)
[2]: update (readonly)
[3]: clone_upvr (readonly)
[4]: any_load_result1_upvr_4 (copied, readonly)
[5]: LocalPlayer_upvr (copied, readonly)
[6]: Services_upvr (copied, readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [10] 9. Error Block 63 start (CF ANALYSIS FAILED)
while not arg2:FindFirstChild("players") do
task.wait()
end
update()
for _, v_2 in next, clone_upvr.players.list:GetChildren() do
if v_2 and v_2:IsA("ImageLabel") and v_2.Name ~= "avatar" then
v_2:Destroy()
end
end
local _, _ = arg2.players:GetChildren()
-- KONSTANTERROR: [10] 9. Error Block 63 end (CF ANALYSIS FAILED)
end)
any_new_result1_upvr_2.onDestroying = clone_upvr.Destroying:Connect(function() -- Line 185
--[[ Upvalues[3]:
[1]: any_new_result1_upvr_2 (readonly)
[2]: arg1 (readonly)
[3]: arg2 (readonly)
]]
any_new_result1_upvr_2:DoCleaning()
if arg1.cache[arg2.Name] then
arg1.cache[arg2.Name] = nil
end
end)
end
local any_new_result1_upvr_3 = _engine:load("Janitor").new()
function module.loadPage(arg1) -- Line 193
--[[ Upvalues[2]:
[1]: menu_upvr (readonly)
[2]: any_new_result1_upvr_3 (readonly)
]]
local function _(arg1_4) -- Line 196, Named "createSlot"
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1.servers[arg1_4] then
arg1:create(arg1.servers[arg1_4])
end
end
any_new_result1_upvr_3:clean(menu_upvr.pages.servers.main.pages[script.Name].scroll.main:GetChildren(), "UIListLayout")
for i_3 = 1, #arg1.servers do
if arg1.servers[i_3] then
arg1:create(arg1.servers[i_3])
end
end
end
function module.update(arg1) -- Line 209
arg1:loadPage()
end
function module.destroy(arg1, arg2) -- Line 213
if arg1.cache[arg2.Name] then
arg1.cache[arg2.Name].maid:DoCleaning()
arg1.cache[arg2.Name] = nil
end
end
local servers_upvr = References_upvr.Main.servers
function module.init(arg1) -- Line 220
--[[ Upvalues[5]:
[1]: servers_upvr (readonly)
[2]: menu_upvr (readonly)
[3]: References_upvr (readonly)
[4]: Services_upvr (readonly)
[5]: any_load_result1_upvr (readonly)
]]
for _, v_3 in next, servers_upvr[script.Name]:GetChildren() do
if v_3 and v_3:IsA("Folder") then
table.insert(arg1.servers, v_3)
end
end
servers_upvr[script.Name].ChildAdded:Connect(function(arg1_5) -- Line 229
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_5 and arg1_5:IsA("Folder") then
table.insert(arg1.servers, arg1_5)
end
end)
servers_upvr[script.Name].ChildRemoved:Connect(function(arg1_6) -- Line 235
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_6 and arg1_6:IsA("Folder") and table.find(arg1.servers, arg1_6) then
table.remove(arg1.servers, table.find(arg1.servers, arg1_6))
end
end)
local refresh_upvr = menu_upvr.pages.servers.main.pages[script.Name].page.refresh
refresh_upvr.button.MouseEnter:Connect(function() -- Line 245
--[[ Upvalues[4]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: refresh_upvr (readonly)
[4]: any_load_result1_upvr (copied, readonly)
]]
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(refresh_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Accent;
}):Play()
Services_upvr.TweenService:Create(refresh_upvr.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr.Text;
}):Play()
end)
refresh_upvr.button.MouseLeave:Connect(function() -- Line 251
--[[ Upvalues[3]:
[1]: Services_upvr (copied, readonly)
[2]: refresh_upvr (readonly)
[3]: any_load_result1_upvr (copied, readonly)
]]
Services_upvr.TweenService:Create(refresh_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Text;
}):Play()
Services_upvr.TweenService:Create(refresh_upvr.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end)
refresh_upvr.button.MouseButton1Click:Connect(function() -- Line 256
--[[ Upvalues[2]:
[1]: References_upvr (copied, readonly)
[2]: arg1 (readonly)
]]
References_upvr.Main.sounds.UI.Click:Play()
if not arg1.switching then
arg1.switching = true
arg1:update()
task.delay(0.15, function() -- Line 263
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.switching = false
end)
end
end)
script.Parent:GetAttributeChangedSignal("toggle"):Connect(function() -- Line 271
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if script.Parent:GetAttribute("toggle") then
arg1:update()
end
end)
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:10:00
-- Luau version 6, Types version 3
-- Time taken: 0.007873 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local module = {
privateServerDebounce = false;
}
local function codeExists_upvr(arg1) -- Line 21, Named "codeExists"
--[[ Upvalues[1]:
[1]: References_upvr (readonly)
]]
for _, v in next, References_upvr.Main.servers.private:GetChildren() do
if v and v:FindFirstChild("code") and v:FindFirstChild("access") and string.lower(v.code.Value) == string.lower(arg1) and v.access.Value ~= "" then
return v
end
end
return false
end
local menu_upvr = References_upvr.PlayerGui:WaitForChild("menu", 100)
local any_load_result1_upvr = _engine:load("Theme", "utils")
local servers_upvr = script.Parent:WaitForChild("servers", 100)
local any_new_result1_upvr = _engine:load("Network").new()
local any_new_result1_upvr_2 = _engine:load("Notification").new()
function module.init(arg1) -- Line 31
--[[ Upvalues[8]:
[1]: menu_upvr (readonly)
[2]: References_upvr (readonly)
[3]: Services_upvr (readonly)
[4]: any_load_result1_upvr (readonly)
[5]: codeExists_upvr (readonly)
[6]: servers_upvr (readonly)
[7]: any_new_result1_upvr (readonly)
[8]: any_new_result1_upvr_2 (readonly)
]]
menu_upvr.pages.private.main.main.create.button.MouseEnter:Connect(function() -- Line 32
--[[ Upvalues[4]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: menu_upvr (copied, readonly)
[4]: any_load_result1_upvr (copied, readonly)
]]
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(menu_upvr.pages.private.main.main.create.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1.03;
}):Play()
Services_upvr.TweenService:Create(menu_upvr.pages.private.main.main.create.background, TweenInfo.new(0.1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Accent;
}):Play()
Services_upvr.TweenService:Create(menu_upvr.pages.private.main.main.create.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr.Text;
}):Play()
end)
menu_upvr.pages.private.main.main.create.button.MouseLeave:Connect(function() -- Line 39
--[[ Upvalues[3]:
[1]: Services_upvr (copied, readonly)
[2]: menu_upvr (copied, readonly)
[3]: any_load_result1_upvr (copied, readonly)
]]
Services_upvr.TweenService:Create(menu_upvr.pages.private.main.main.create.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1;
}):Play()
Services_upvr.TweenService:Create(menu_upvr.pages.private.main.main.create.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Text;
}):Play()
Services_upvr.TweenService:Create(menu_upvr.pages.private.main.main.create.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end)
menu_upvr.pages.private.main.main.create.button.MouseButton1Click:Connect(function() -- Line 45
--[[ Upvalues[7]:
[1]: References_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: codeExists_upvr (copied, readonly)
[4]: menu_upvr (copied, readonly)
[5]: servers_upvr (copied, readonly)
[6]: any_new_result1_upvr (copied, readonly)
[7]: any_new_result1_upvr_2 (copied, readonly)
]]
References_upvr.Main.sounds.UI.Click:Play()
if arg1.privateServerDebounce then
else
if menu_upvr.pages.private.main.main.code.input.Text ~= "" and not codeExists_upvr(string.lower(menu_upvr.pages.private.main.main.code.input.Text)) then
arg1.privateServerDebounce = true
menu_upvr.private.Visible = true
servers_upvr:SetAttribute("privateServer", true)
any_new_result1_upvr:send("createServer", menu_upvr.pages.private.main.main.code.input.Text)
task.delay(0.35, function() -- Line 62
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.privateServerDebounce = false
end)
return
end
arg1.privateServerDebounce = true
References_upvr.Main.sounds.UI.Error:Play()
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if codeExists_upvr(string.lower(menu_upvr.pages.private.main.main.code.input.Text)) then
task.spawn(function() -- Line 70
--[[ Upvalues[1]:
[1]: any_new_result1_upvr_2 (copied, readonly)
]]
any_new_result1_upvr_2:create(string.upper("CODE HAS ALREADY BEEN USED."), Color3.fromRGB(255, 61, 61))
end)
elseif menu_upvr.pages.private.main.main.code.input.Text == "" then
task.spawn(function() -- Line 74
--[[ Upvalues[1]:
[1]: any_new_result1_upvr_2 (copied, readonly)
]]
any_new_result1_upvr_2:create(string.upper("ENTER A CODE BEFORE CREATING A PRIVATE SERVER."), Color3.fromRGB(255, 61, 61))
end)
end
task.delay(0.35, function() -- Line 79
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.privateServerDebounce = false
end)
end
end)
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:10:01
-- Luau version 6, Types version 3
-- Time taken: 0.009688 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local menu_upvr = References_upvr.PlayerGui:WaitForChild("menu", 100)
local module = {}
local any_load_result1_upvr = _engine:load("Monetization", "utils")
local any_load_result1_upvr_2 = _engine:load("Objectives")
function module.create(arg1, arg2) -- Line 18
--[[ Upvalues[6]:
[1]: any_load_result1_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
[3]: any_load_result1_upvr_2 (readonly)
[4]: References_upvr (readonly)
[5]: menu_upvr (readonly)
[6]: Services_upvr (readonly)
]]
local var10_upvr = any_load_result1_upvr_2._objectives[arg2.Name]
local clone_upvr = References_upvr.Main.ui.objective:Clone()
clone_upvr.Parent = menu_upvr.menu.main.tabs.home.objectives.main.objectives
clone_upvr.Name = arg2.Name
clone_upvr.label.Text = string.upper(arg2.Name)
if any_load_result1_upvr.userOwnsPass(LocalPlayer_upvr, any_load_result1_upvr.gamePasses["2x XP"].gamePassId) then
clone_upvr.reward.rewards.xp.Text = tostring(var10_upvr._rewards.xp * 2)
else
clone_upvr.reward.rewards.xp.Text = tostring(var10_upvr._rewards.xp)
end
if any_load_result1_upvr.userOwnsPass(LocalPlayer_upvr, any_load_result1_upvr.gamePasses["2x Points"].gamePassId) then
clone_upvr.reward.rewards.xp.Text = tostring(var10_upvr._rewards.points * 2)
else
clone_upvr.reward.rewards.xp.Text = tostring(var10_upvr._rewards.points)
end
if var10_upvr._repeat then
clone_upvr.progress.bar:TweenSize(UDim2.new(#arg2:GetChildren() / var10_upvr._repeat, 0, 1, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
arg2.ChildAdded:Connect(function() -- Line 41
--[[ Upvalues[3]:
[1]: clone_upvr (readonly)
[2]: arg2 (readonly)
[3]: var10_upvr (readonly)
]]
clone_upvr.progress.bar:TweenSize(UDim2.new(#arg2:GetChildren() / var10_upvr._repeat, 0, 1, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
end)
else
clone_upvr.progress.bar.Size = UDim2.new(0, 0, 1, 0)
end
local function objectiveCompleted_upvr() -- Line 48, Named "objectiveCompleted"
--[[ Upvalues[2]:
[1]: clone_upvr (readonly)
[2]: Services_upvr (copied, readonly)
]]
clone_upvr.progress.bar:TweenSize(UDim2.new(1, 0, 1, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
Services_upvr.TweenService:Create(clone_upvr.reward.title, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 1;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.reward.rewards.xp, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 1;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.reward.rewards.points.points, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 1;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.reward.rewards.points.logo, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 1;
}):Play()
task.delay(0.15, function() -- Line 56
--[[ Upvalues[2]:
[1]: Services_upvr (copied, readonly)
[2]: clone_upvr (copied, readonly)
]]
Services_upvr.TweenService:Create(clone_upvr.progress, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 1;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.completed.UIStroke, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Transparency = 0;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.completed.progress.UIStroke, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Transparency = 0;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.completed.tick.UIStroke, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Transparency = 0;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.completed.tick.tick, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 0;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.completed.progress.bar, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 0;
}):Play()
task.wait(0.15)
Services_upvr.TweenService:Create(clone_upvr.progress.bar, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 1;
}):Play()
end)
end
if arg2.Value then
objectiveCompleted_upvr()
end
arg2.Changed:Connect(function() -- Line 73
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: objectiveCompleted_upvr (readonly)
]]
if arg2.Value then
objectiveCompleted_upvr()
end
end)
end
function module.init(arg1) -- Line 80
--[[ Upvalues[3]:
[1]: References_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
[3]: menu_upvr (readonly)
]]
while not References_upvr.Main.objectives:FindFirstChild(tostring(LocalPlayer_upvr.UserId)) and tick() - tick() <= 20 do
task.wait()
end
if not References_upvr.Main.objectives:FindFirstChild(tostring(LocalPlayer_upvr.UserId)) then
warn("Could not fetch player objectives data!")
else
local SOME = References_upvr.Main.objectives:WaitForChild(tostring(LocalPlayer_upvr.UserId), 100)
for i, v_upvr in next, SOME:GetChildren() do
if v_upvr and v_upvr:IsA("BoolValue") then
task.spawn(function() -- Line 97
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: v_upvr (readonly)
]]
arg1:create(v_upvr)
end)
end
end
SOME.ChildAdded:Connect(function(arg1_2) -- Line 103
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_2 and arg1_2:IsA("BoolValue") then
task.spawn(function() -- Line 105
--[[ Upvalues[2]:
[1]: arg1 (copied, readonly)
[2]: arg1_2 (readonly)
]]
arg1:create(arg1_2)
end)
end
end)
while true do
i = "!*t"
v_upvr = SOME:WaitForChild("lastReset", 100).Value + 86400 - os.time()
local os_date_result1 = os.date(i, v_upvr)
local var37
if os_date_result1 then
v_upvr = os_date_result1.hour
i = tostring(v_upvr)
var37 = os_date_result1.min
v_upvr = tostring(var37)
var37 = tostring(os_date_result1.sec)
if tonumber(i) < 10 then
i = '0'..i
end
if tonumber(v_upvr) < 10 then
v_upvr = '0'..v_upvr
end
if tonumber(var37) < 10 then
var37 = '0'..var37
end
menu_upvr.menu.main.tabs.home.objectives.main.timer.Text = string.format("<i><font weight=\"heavy\">NEW OBJECTIVES IN <font color=\"rgb(83,215,255)\">%s:%s:%s</font></font></i>", i, v_upvr, var37)
end
i = task.wait
v_upvr = 0.5
i(v_upvr)
end
end
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:10:02
-- Luau version 6, Types version 3
-- Time taken: 0.004338 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local premium_upvr = References_upvr.PlayerGui:WaitForChild("menu", 100):WaitForChild("pages", 100):WaitForChild("premium", 100)
local module = {
check = function(arg1) -- Line 20, Named "check"
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: premium_upvr (readonly)
]]
if LocalPlayer_upvr:GetAttribute("hasRFPremium") then
premium_upvr.main.main.subscribe.main.label.icon.Visible = true
premium_upvr.main.main.subscribe.main.label.label.Text = "SUBSCRIBED"
else
premium_upvr.main.main.subscribe.main.label.icon.Visible = false
premium_upvr.main.main.subscribe.main.label.label.Text = "SUBSCRIBE"
end
end;
}
local any_load_result1_upvr = _engine:load("Theme", "utils")
local var9_upvw = false
local any_new_result1_upvr = _engine:load("Network").new()
function module.init(arg1) -- Line 30
--[[ Upvalues[7]:
[1]: premium_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
[3]: References_upvr (readonly)
[4]: Services_upvr (readonly)
[5]: any_load_result1_upvr (readonly)
[6]: var9_upvw (read and write)
[7]: any_new_result1_upvr (readonly)
]]
premium_upvr.main.main.subscribe.main.button.MouseEnter:Connect(function() -- Line 33
--[[ Upvalues[5]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: References_upvr (copied, readonly)
[3]: Services_upvr (copied, readonly)
[4]: premium_upvr (copied, readonly)
[5]: any_load_result1_upvr (copied, readonly)
]]
if not LocalPlayer_upvr:GetAttribute("hasRFPremium") then
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(premium_upvr.main.main.subscribe.main, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Accent;
}):Play()
Services_upvr.TweenService:Create(premium_upvr.main.main.subscribe.main.label.icon, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = any_load_result1_upvr.Text;
}):Play()
Services_upvr.TweenService:Create(premium_upvr.main.main.subscribe.main.label.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr.Text;
}):Play()
end
end)
premium_upvr.main.main.subscribe.main.button.MouseLeave:Connect(function() -- Line 42
--[[ Upvalues[3]:
[1]: Services_upvr (copied, readonly)
[2]: premium_upvr (copied, readonly)
[3]: any_load_result1_upvr (copied, readonly)
]]
Services_upvr.TweenService:Create(premium_upvr.main.main.subscribe.main, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Text;
}):Play()
Services_upvr.TweenService:Create(premium_upvr.main.main.subscribe.main.label.icon, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
Services_upvr.TweenService:Create(premium_upvr.main.main.subscribe.main.label.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end)
premium_upvr.main.main.subscribe.main.button.MouseButton1Click:Connect(function() -- Line 48
--[[ Upvalues[4]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: var9_upvw (copied, read and write)
[3]: References_upvr (copied, readonly)
[4]: any_new_result1_upvr (copied, readonly)
]]
if not LocalPlayer_upvr:GetAttribute("hasRFPremium") and not var9_upvw then
var9_upvw = true
References_upvr.Main.sounds.UI.Click:Play()
var9_upvw = false
end
end)
arg1:check()
LocalPlayer_upvr:GetAttributeChangedSignal("hasRFPremium"):Connect(function() -- Line 61
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:check()
end)
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:10:04
-- Luau version 6, Types version 3
-- Time taken: 0.018519 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local menu_upvr = References_upvr.PlayerGui:WaitForChild("menu", 100)
return {
current = "50";
index = {
["50"] = 1;
["100"] = 2;
["200"] = 3;
};
tabs = {
debounce = false;
};
pages = {};
cache = {};
select = function(arg1, arg2) -- Line 34, Named "select"
--[[ Upvalues[1]:
[1]: menu_upvr (readonly)
]]
if not arg1.cache.buttonDebounce and arg1.current ~= arg2.Name and arg2.Name ~= "back" then
arg1.cache.buttonDebounce = true
if arg1.pages[arg1.current] and arg1.pages[arg1.current].close then
task.spawn(function() -- Line 39
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1.pages[arg1.current]:close()
end)
end
if arg1.pages[arg2.Name] and arg1.pages[arg2.Name].open then
task.spawn(function() -- Line 45
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
arg1.pages[arg2.Name]:open()
end)
end
arg1.current = arg2.Name
menu_upvr.pages.ranked.main.pages.UIPageLayout:JumpTo(menu_upvr.pages.ranked.main.pages[arg2.Name])
task.wait(0.1)
arg1.cache.buttonDebounce = nil
end
end;
init = function(arg1) -- Line 58, Named "init"
--[[ Upvalues[3]:
[1]: Services_upvr (readonly)
[2]: menu_upvr (readonly)
[3]: References_upvr (readonly)
]]
Services_upvr.UserInputService.InputBegan:Connect(function(arg1_3, arg2) -- Line 61
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: menu_upvr (copied, readonly)
[3]: References_upvr (copied, readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 66 start (CF ANALYSIS FAILED)
if arg1_3.KeyCode == Enum.KeyCode.ButtonR1 and arg1.index[arg1.current] and script:GetAttribute("toggle") and not arg1.tabs.debounce then
arg1.tabs.debounce = true
if arg1.index[arg1.current] == #menu_upvr.pages.ranked.main.top:GetChildren() - 2 then
for i, v in next, arg1.index do
if v and v == 1 then
References_upvr.Main.sounds.UI.Click:Play()
arg1:select(menu_upvr.pages.ranked.main.pages[i])
task.delay(0.2, function() -- Line 69
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.tabs.debounce = false
end)
return
end
end
task.delay(0.2, function() -- Line 87
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.tabs.debounce = false
end)
do
return
end
-- KONSTANTWARNING: GOTO [162] #111
end
-- KONSTANTWARNING: GOTO [102] #69
end
-- KONSTANTERROR: [0] 1. Error Block 66 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [162] 111. Error Block 64 start (CF ANALYSIS FAILED)
if arg1_3.KeyCode == Enum.KeyCode.ButtonL1 and arg1.index[arg1.current] and script:GetAttribute("toggle") then
arg1.tabs.debounce = true
if arg1.index[arg1.current] == 1 then
for i_2, v_2 in next, arg1.index do
if v_2 and v_2 == #menu_upvr.pages.ranked.main.top:GetChildren() - 2 then
References_upvr.Main.sounds.UI.Click:Play()
arg1:select(menu_upvr.pages.ranked.main.pages[i_2])
task.delay(0.2, function() -- Line 97
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.tabs.debounce = false
end)
return
end
end
task.delay(0.2, function() -- Line 115
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.tabs.debounce = false
end)
-- KONSTANTWARNING: GOTO [317] #216
end
-- KONSTANTWARNING: GOTO [258] #175
end
-- KONSTANTERROR: [162] 111. Error Block 64 end (CF ANALYSIS FAILED)
end)
for _, v_3_upvr in next, menu_upvr.pages.ranked.main.top:GetChildren() do
if v_3_upvr and v_3_upvr:IsA("Frame") then
local button = v_3_upvr:FindFirstChild("button")
if not button then
button = v_3_upvr:FindFirstChild("back")
end
local image_upvr = v_3_upvr:FindFirstChild("image", true)
local label_upvr = v_3_upvr:FindFirstChild("label", true)
button.MouseEnter:Connect(function() -- Line 128
--[[ Upvalues[5]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: v_3_upvr (readonly)
[4]: image_upvr (readonly)
[5]: label_upvr (readonly)
]]
if script:GetAttribute("freeze") then
else
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(v_3_upvr.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 1;
}):Play()
if image_upvr then
Services_upvr.TweenService:Create(image_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(255, 255, 255);
Position = UDim2.new(0.5, 0, 0.5, -2);
}):Play()
return
end
if label_upvr then
Services_upvr.TweenService:Create(label_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
Position = UDim2.new(0.5, 0, 0.5, -2);
}):Play()
end
end
end)
button.MouseLeave:Connect(function() -- Line 143
--[[ Upvalues[4]:
[1]: Services_upvr (copied, readonly)
[2]: v_3_upvr (readonly)
[3]: image_upvr (readonly)
[4]: label_upvr (readonly)
]]
Services_upvr.TweenService:Create(v_3_upvr.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 0;
}):Play()
if image_upvr then
Services_upvr.TweenService:Create(image_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(35, 39, 50);
Position = UDim2.new(0.5, 0, 0.5, 0);
}):Play()
elseif label_upvr then
Services_upvr.TweenService:Create(label_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(35, 39, 50);
Position = UDim2.new(0.5, 0, 0.5, 0);
}):Play()
end
end)
button.MouseButton1Click:Connect(function() -- Line 153
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: v_3_upvr (readonly)
]]
if script:GetAttribute("freeze") then
else
References_upvr.Main.sounds.UI.Click:Play()
arg1:select(v_3_upvr)
end
end)
end
end
for _, v_4 in next, script:GetChildren() do
if v_4 then
label_upvr = "ModuleScript"
if v_4:IsA(label_upvr) then
image_upvr = v_4
local image_upvr_3 = require(image_upvr)
image_upvr = arg1.pages
label_upvr = v_4.Name
image_upvr[label_upvr] = image_upvr_3
image_upvr = image_upvr_3:init
image_upvr()
end
end
end
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:10:05
-- Luau version 6, Types version 3
-- Time taken: 0.021847 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local Profile_upvr = References_upvr.Profile
local menu_upvr = References_upvr.PlayerGui:WaitForChild("menu", 100)
local any_new_result1_upvr_4 = _engine:load("Notification").new()
local any_new_result1_upvr_3 = _engine:load("Network").new()
local any_load_result1_upvr_3 = _engine:load("Theme", "utils")
local module = {
debounce = false;
switching = false;
servers = {};
cache = {};
serverDebounce = false;
}
local any_load_result1_upvr_2 = _engine:load("Maid")
local any_load_result1_upvr_4 = _engine:load("Flags", "utils")
local any_load_result1_upvr = _engine:load("ThumbnailService", "utils")
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
function module.create(arg1, arg2) -- Line 29
--[[ Upvalues[11]:
[1]: any_load_result1_upvr_2 (readonly)
[2]: References_upvr (readonly)
[3]: menu_upvr (readonly)
[4]: any_load_result1_upvr_4 (readonly)
[5]: Services_upvr (readonly)
[6]: any_load_result1_upvr_3 (readonly)
[7]: Profile_upvr (readonly)
[8]: any_new_result1_upvr_4 (readonly)
[9]: any_new_result1_upvr_3 (readonly)
[10]: any_load_result1_upvr (readonly)
[11]: LocalPlayer_upvr (readonly)
]]
for _, v in next, {"location", "flag"} do
while not arg2:FindFirstChild(v) do
task.wait()
end
end
local var18_upvw = false
local any_new_result1_upvr_2 = any_load_result1_upvr_2.new()
arg1.cache[arg2.Name] = {
maid = any_new_result1_upvr_2;
}
local clone_upvr = References_upvr.Main.ui.server:Clone()
clone_upvr.Parent = menu_upvr.pages.ranked.main.pages[script.Name].scroll.main
clone_upvr.Name = arg2.Name
local function update() -- Line 48
--[[ Upvalues[3]:
[1]: clone_upvr (readonly)
[2]: arg2 (readonly)
[3]: any_load_result1_upvr_4 (copied, readonly)
]]
clone_upvr.location.location.Text = string.upper(arg2.location.Value)
local var22
local function INLINED() -- Internal function, doesn't exist in bytecode
var22 = any_load_result1_upvr_4[arg2.flag.Value].Emoji
return var22
end
if not any_load_result1_upvr_4[arg2.flag.Value] or not INLINED() then
var22 = ""
end
clone_upvr.flag.flag.Text = var22
var22 = clone_upvr
var22 = string.format("%s/%s Players", tostring(#arg2.players:GetChildren()), tostring(script:GetAttribute("maxPlayers") or "14"))
var22.count.Text = var22
var22 = -(#arg2.players:GetChildren())
clone_upvr.LayoutOrder = var22
end
update()
any_new_result1_upvr_2.locationChanged = arg2.location.Changed:Connect(update)
any_new_result1_upvr_2.flagChanged = arg2.flag.Changed:Connect(update)
any_new_result1_upvr_2.mouseEnter = clone_upvr.join.button.MouseEnter:Connect(function() -- Line 60
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: References_upvr (copied, readonly)
[3]: Services_upvr (copied, readonly)
[4]: clone_upvr (readonly)
]]
if arg1.debounce then
else
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(clone_upvr.join.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1.03;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.join.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end
end)
any_new_result1_upvr_2.mouseLeave = clone_upvr.join.button.MouseLeave:Connect(function() -- Line 70
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: Services_upvr (copied, readonly)
[3]: clone_upvr (readonly)
[4]: any_load_result1_upvr_3 (copied, readonly)
]]
if arg1.debounce then
else
Services_upvr.TweenService:Create(clone_upvr.join.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.join.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr_3.Text;
}):Play()
end
end)
any_new_result1_upvr_2.mouseButton1Down = clone_upvr.join.button.MouseButton1Down:Connect(function() -- Line 79
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: var18_upvw (read and write)
[3]: Services_upvr (copied, readonly)
[4]: clone_upvr (readonly)
]]
if arg1.debounce then
else
var18_upvw = true
Services_upvr.TweenService:Create(clone_upvr.join.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Scale = 0.9;
}):Play()
end
end)
any_new_result1_upvr_2.inputEnded = Services_upvr.UserInputService.InputEnded:Connect(function(arg1_2, arg2_2) -- Line 88
--[[ Upvalues[4]:
[1]: var18_upvw (read and write)
[2]: arg1 (readonly)
[3]: Services_upvr (copied, readonly)
[4]: clone_upvr (readonly)
]]
if arg1_2.UserInputType == Enum.UserInputType.MouseButton1 or arg1_2.UserInputType == Enum.UserInputType.Touch then
if var18_upvw and not arg1.debounce then
var18_upvw = false
Services_upvr.TweenService:Create(clone_upvr.join.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Scale = 1;
}):Play()
end
end
end)
any_new_result1_upvr_2.mouseButton1Click = clone_upvr.join.button.MouseButton1Click:Connect(function() -- Line 95
--[[ Upvalues[9]:
[1]: arg1 (readonly)
[2]: References_upvr (copied, readonly)
[3]: Profile_upvr (copied, readonly)
[4]: any_new_result1_upvr_4 (copied, readonly)
[5]: arg2 (readonly)
[6]: Services_upvr (copied, readonly)
[7]: clone_upvr (readonly)
[8]: any_load_result1_upvr_3 (copied, readonly)
[9]: any_new_result1_upvr_3 (copied, readonly)
]]
if not arg1.debounce then
arg1.debounce = true
References_upvr.Main.sounds.UI.Click:Play()
if Profile_upvr.level.Level.Value < tonumber(script.Name) then
References_upvr.Main.sounds.UI.Error:Play()
arg1.debounce = false
task.spawn(function() -- Line 103
--[[ Upvalues[1]:
[1]: any_new_result1_upvr_4 (copied, readonly)
]]
any_new_result1_upvr_4:create(string.upper("YOU NEED TO BE LEVEL 50 OR HIGHER TO JOIN A RANKED SERVER."), Color3.fromRGB(255, 61, 61))
end)
return
end
if arg2:FindFirstChild("players") and _G._maxPlayers <= #arg2.players:GetChildren() then
References_upvr.Main.sounds.UI.Error:Play()
arg1.debounce = false
task.spawn(function() -- Line 112
--[[ Upvalues[1]:
[1]: any_new_result1_upvr_4 (copied, readonly)
]]
any_new_result1_upvr_4:create(string.upper("SELECTED SERVER IS FULL!"), Color3.fromRGB(255, 61, 61))
end)
return
end
Services_upvr.TweenService:Create(clone_upvr.join.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.join.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr_3.Text;
}):Play()
any_new_result1_upvr_3:send("rankedServer", arg2.access.Value, arg2.level.Value)
task.delay(0.35, function() -- Line 122
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.debounce = false
end)
end
end)
any_new_result1_upvr_2.update = arg2:GetAttributeChangedSignal("update"):Connect(function() -- Line 128
--[[ Upvalues[6]:
[1]: arg2 (readonly)
[2]: update (readonly)
[3]: clone_upvr (readonly)
[4]: any_load_result1_upvr (copied, readonly)
[5]: LocalPlayer_upvr (copied, readonly)
[6]: Services_upvr (copied, readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [10] 9. Error Block 63 start (CF ANALYSIS FAILED)
while not arg2:FindFirstChild("players") do
task.wait()
end
update()
for _, v_2 in next, clone_upvr.players.list:GetChildren() do
if v_2 and v_2:IsA("ImageLabel") and v_2.Name ~= "avatar" then
v_2:Destroy()
end
end
local _, _ = arg2.players:GetChildren()
-- KONSTANTERROR: [10] 9. Error Block 63 end (CF ANALYSIS FAILED)
end)
any_new_result1_upvr_2.onDestroying = clone_upvr.Destroying:Connect(function() -- Line 191
--[[ Upvalues[3]:
[1]: any_new_result1_upvr_2 (readonly)
[2]: arg1 (readonly)
[3]: arg2 (readonly)
]]
any_new_result1_upvr_2:DoCleaning()
if arg1.cache[arg2.Name] then
arg1.cache[arg2.Name] = nil
end
end)
end
local any_new_result1_upvr = _engine:load("Janitor").new()
function module.loadPage(arg1) -- Line 199
--[[ Upvalues[2]:
[1]: menu_upvr (readonly)
[2]: any_new_result1_upvr (readonly)
]]
local function _(arg1_3) -- Line 202, Named "createSlot"
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1.servers[arg1_3] then
arg1:create(arg1.servers[arg1_3])
end
end
any_new_result1_upvr:clean(menu_upvr.pages.ranked.main.pages[script.Name].scroll.main:GetChildren(), "UIListLayout")
for i_3 = 1, #arg1.servers do
if arg1.servers[i_3] then
arg1:create(arg1.servers[i_3])
end
end
end
function module.update(arg1) -- Line 215
arg1:loadPage()
end
function module.destroy(arg1, arg2) -- Line 219
if arg1.cache[arg2.Name] then
arg1.cache[arg2.Name].maid:DoCleaning()
arg1.cache[arg2.Name] = nil
end
end
local servers_upvr = References_upvr.Main.servers
function module.init(arg1) -- Line 226
--[[ Upvalues[8]:
[1]: servers_upvr (readonly)
[2]: menu_upvr (readonly)
[3]: References_upvr (readonly)
[4]: Services_upvr (readonly)
[5]: any_load_result1_upvr_3 (readonly)
[6]: Profile_upvr (readonly)
[7]: any_new_result1_upvr_3 (readonly)
[8]: any_new_result1_upvr_4 (readonly)
]]
for _, v_3 in next, servers_upvr[script.Name]:GetChildren() do
if v_3 and v_3:IsA("Folder") then
table.insert(arg1.servers, v_3)
end
end
servers_upvr[script.Name].ChildAdded:Connect(function(arg1_4) -- Line 235
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_4 and arg1_4:IsA("Folder") then
table.insert(arg1.servers, arg1_4)
end
end)
servers_upvr[script.Name].ChildRemoved:Connect(function(arg1_5) -- Line 241
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_5 and arg1_5:IsA("Folder") and table.find(arg1.servers, arg1_5) then
table.remove(arg1.servers, table.find(arg1.servers, arg1_5))
end
end)
local create_2_upvr = menu_upvr.pages.ranked.main.pages[script.Name].page.create
create_2_upvr.button.MouseEnter:Connect(function() -- Line 251
--[[ Upvalues[4]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: create_2_upvr (readonly)
[4]: any_load_result1_upvr_3 (copied, readonly)
]]
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(create_2_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr_3.Accent;
}):Play()
Services_upvr.TweenService:Create(create_2_upvr.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr_3.Text;
}):Play()
end)
create_2_upvr.button.MouseLeave:Connect(function() -- Line 257
--[[ Upvalues[3]:
[1]: Services_upvr (copied, readonly)
[2]: create_2_upvr (readonly)
[3]: any_load_result1_upvr_3 (copied, readonly)
]]
Services_upvr.TweenService:Create(create_2_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr_3.Text;
}):Play()
Services_upvr.TweenService:Create(create_2_upvr.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end)
create_2_upvr.button.MouseButton1Click:Connect(function() -- Line 262
--[[ Upvalues[6]:
[1]: References_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: Profile_upvr (copied, readonly)
[4]: menu_upvr (copied, readonly)
[5]: any_new_result1_upvr_3 (copied, readonly)
[6]: any_new_result1_upvr_4 (copied, readonly)
]]
References_upvr.Main.sounds.UI.Click:Play()
if arg1.serverDebounce then
else
if tonumber(script.Name) <= Profile_upvr.level.Level.Value then
arg1.serverDebounce = true
menu_upvr.ranked.Visible = true
any_new_result1_upvr_3:send("createRankedServer", tonumber(script.Name))
return
end
arg1.serverDebounce = true
References_upvr.Main.sounds.UI.Error:Play()
task.spawn(function() -- Line 276
--[[ Upvalues[1]:
[1]: any_new_result1_upvr_4 (copied, readonly)
]]
any_new_result1_upvr_4:create(string.upper("YOU NEED TO BE LEVEL 50 OR HIGHER TO CREATE A RANKED SERVER."), Color3.fromRGB(255, 61, 61))
end)
task.delay(0.35, function() -- Line 280
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.serverDebounce = false
end)
end
end)
local refresh_upvr = menu_upvr.pages.ranked.main.pages[script.Name].page.refresh
refresh_upvr.button.MouseEnter:Connect(function() -- Line 288
--[[ Upvalues[4]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: refresh_upvr (readonly)
[4]: any_load_result1_upvr_3 (copied, readonly)
]]
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(refresh_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr_3.Accent;
}):Play()
Services_upvr.TweenService:Create(refresh_upvr.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr_3.Text;
}):Play()
end)
refresh_upvr.button.MouseLeave:Connect(function() -- Line 294
--[[ Upvalues[3]:
[1]: Services_upvr (copied, readonly)
[2]: refresh_upvr (readonly)
[3]: any_load_result1_upvr_3 (copied, readonly)
]]
Services_upvr.TweenService:Create(refresh_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr_3.Text;
}):Play()
Services_upvr.TweenService:Create(refresh_upvr.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end)
refresh_upvr.button.MouseButton1Click:Connect(function() -- Line 299
--[[ Upvalues[2]:
[1]: References_upvr (copied, readonly)
[2]: arg1 (readonly)
]]
References_upvr.Main.sounds.UI.Click:Play()
if not arg1.switching then
arg1.switching = true
arg1:update()
task.delay(0.15, function() -- Line 306
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.switching = false
end)
end
end)
script.Parent:GetAttributeChangedSignal("toggle"):Connect(function() -- Line 314
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if script.Parent:GetAttribute("toggle") then
arg1:update()
end
end)
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:10:07
-- Luau version 6, Types version 3
-- Time taken: 0.024746 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local Profile_upvr = References_upvr.Profile
local menu_upvr = References_upvr.PlayerGui:WaitForChild("menu", 100)
local any_new_result1_upvr_4 = _engine:load("Notification").new()
local any_new_result1_upvr_3 = _engine:load("Network").new()
local any_load_result1_upvr_3 = _engine:load("Theme", "utils")
local module = {
debounce = false;
switching = false;
servers = {};
cache = {};
serverDebounce = false;
}
local any_load_result1_upvr_2 = _engine:load("Maid")
local any_load_result1_upvr_4 = _engine:load("Flags", "utils")
local any_load_result1_upvr = _engine:load("ThumbnailService", "utils")
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
function module.create(arg1, arg2) -- Line 29
--[[ Upvalues[11]:
[1]: any_load_result1_upvr_2 (readonly)
[2]: References_upvr (readonly)
[3]: menu_upvr (readonly)
[4]: any_load_result1_upvr_4 (readonly)
[5]: Services_upvr (readonly)
[6]: any_load_result1_upvr_3 (readonly)
[7]: Profile_upvr (readonly)
[8]: any_new_result1_upvr_4 (readonly)
[9]: any_new_result1_upvr_3 (readonly)
[10]: any_load_result1_upvr (readonly)
[11]: LocalPlayer_upvr (readonly)
]]
for _, v in next, {"location", "flag"} do
while not arg2:FindFirstChild(v) do
task.wait()
end
end
local var18_upvw = false
local any_new_result1_upvr_2 = any_load_result1_upvr_2.new()
arg1.cache[arg2.Name] = {
maid = any_new_result1_upvr_2;
}
local clone_upvr = References_upvr.Main.ui.server:Clone()
clone_upvr.Parent = menu_upvr.pages.ranked.main.pages[script.Name].scroll.main
clone_upvr.Name = arg2.Name
local function update() -- Line 48
--[[ Upvalues[3]:
[1]: clone_upvr (readonly)
[2]: arg2 (readonly)
[3]: any_load_result1_upvr_4 (copied, readonly)
]]
clone_upvr.location.location.Text = string.upper(arg2.location.Value)
local var22
local function INLINED() -- Internal function, doesn't exist in bytecode
var22 = any_load_result1_upvr_4[arg2.flag.Value].Emoji
return var22
end
if not any_load_result1_upvr_4[arg2.flag.Value] or not INLINED() then
var22 = ""
end
clone_upvr.flag.flag.Text = var22
var22 = clone_upvr
var22 = string.format("%s/%s Players", tostring(#arg2.players:GetChildren()), tostring(script:GetAttribute("maxPlayers") or "14"))
var22.count.Text = var22
var22 = -(#arg2.players:GetChildren())
clone_upvr.LayoutOrder = var22
end
update()
any_new_result1_upvr_2.locationChanged = arg2.location.Changed:Connect(update)
any_new_result1_upvr_2.flagChanged = arg2.flag.Changed:Connect(update)
any_new_result1_upvr_2.mouseEnter = clone_upvr.join.button.MouseEnter:Connect(function() -- Line 60
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: References_upvr (copied, readonly)
[3]: Services_upvr (copied, readonly)
[4]: clone_upvr (readonly)
]]
if arg1.debounce then
else
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(clone_upvr.join.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1.03;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.join.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end
end)
any_new_result1_upvr_2.mouseLeave = clone_upvr.join.button.MouseLeave:Connect(function() -- Line 70
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: Services_upvr (copied, readonly)
[3]: clone_upvr (readonly)
[4]: any_load_result1_upvr_3 (copied, readonly)
]]
if arg1.debounce then
else
Services_upvr.TweenService:Create(clone_upvr.join.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.join.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr_3.Text;
}):Play()
end
end)
any_new_result1_upvr_2.mouseButton1Down = clone_upvr.join.button.MouseButton1Down:Connect(function() -- Line 79
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: var18_upvw (read and write)
[3]: Services_upvr (copied, readonly)
[4]: clone_upvr (readonly)
]]
if arg1.debounce then
else
var18_upvw = true
Services_upvr.TweenService:Create(clone_upvr.join.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Scale = 0.9;
}):Play()
end
end)
any_new_result1_upvr_2.inputEnded = Services_upvr.UserInputService.InputEnded:Connect(function(arg1_2, arg2_2) -- Line 88
--[[ Upvalues[4]:
[1]: var18_upvw (read and write)
[2]: arg1 (readonly)
[3]: Services_upvr (copied, readonly)
[4]: clone_upvr (readonly)
]]
if arg1_2.UserInputType == Enum.UserInputType.MouseButton1 or arg1_2.UserInputType == Enum.UserInputType.Touch then
if var18_upvw and not arg1.debounce then
var18_upvw = false
Services_upvr.TweenService:Create(clone_upvr.join.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Scale = 1;
}):Play()
end
end
end)
any_new_result1_upvr_2.mouseButton1Click = clone_upvr.join.button.MouseButton1Click:Connect(function() -- Line 95
--[[ Upvalues[9]:
[1]: arg1 (readonly)
[2]: References_upvr (copied, readonly)
[3]: Profile_upvr (copied, readonly)
[4]: any_new_result1_upvr_4 (copied, readonly)
[5]: arg2 (readonly)
[6]: Services_upvr (copied, readonly)
[7]: clone_upvr (readonly)
[8]: any_load_result1_upvr_3 (copied, readonly)
[9]: any_new_result1_upvr_3 (copied, readonly)
]]
if not arg1.debounce then
arg1.debounce = true
References_upvr.Main.sounds.UI.Click:Play()
if Profile_upvr.level.Level.Value < tonumber(script.Name) then
References_upvr.Main.sounds.UI.Error:Play()
arg1.debounce = false
task.spawn(function() -- Line 103
--[[ Upvalues[1]:
[1]: any_new_result1_upvr_4 (copied, readonly)
]]
any_new_result1_upvr_4:create(string.upper("YOU NEED TO BE LEVEL 200 OR HIGHER TO JOIN A RANKED SERVER."), Color3.fromRGB(255, 61, 61))
end)
return
end
if arg2:FindFirstChild("players") and _G._maxPlayers <= #arg2.players:GetChildren() then
References_upvr.Main.sounds.UI.Error:Play()
arg1.debounce = false
task.spawn(function() -- Line 112
--[[ Upvalues[1]:
[1]: any_new_result1_upvr_4 (copied, readonly)
]]
any_new_result1_upvr_4:create(string.upper("SELECTED SERVER IS FULL!"), Color3.fromRGB(255, 61, 61))
end)
return
end
Services_upvr.TweenService:Create(clone_upvr.join.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.join.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr_3.Text;
}):Play()
any_new_result1_upvr_3:send("rankedServer", arg2.access.Value, arg2.level.Value)
task.delay(0.35, function() -- Line 122
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.debounce = false
end)
end
end)
any_new_result1_upvr_2.update = arg2:GetAttributeChangedSignal("update"):Connect(function() -- Line 128
--[[ Upvalues[6]:
[1]: arg2 (readonly)
[2]: update (readonly)
[3]: clone_upvr (readonly)
[4]: any_load_result1_upvr (copied, readonly)
[5]: LocalPlayer_upvr (copied, readonly)
[6]: Services_upvr (copied, readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [10] 9. Error Block 63 start (CF ANALYSIS FAILED)
while not arg2:FindFirstChild("players") do
task.wait()
end
update()
for _, v_2 in next, clone_upvr.players.list:GetChildren() do
if v_2 and v_2:IsA("ImageLabel") and v_2.Name ~= "avatar" then
v_2:Destroy()
end
end
local _, _ = arg2.players:GetChildren()
-- KONSTANTERROR: [10] 9. Error Block 63 end (CF ANALYSIS FAILED)
end)
any_new_result1_upvr_2.onDestroying = clone_upvr.Destroying:Connect(function() -- Line 191
--[[ Upvalues[3]:
[1]: any_new_result1_upvr_2 (readonly)
[2]: arg1 (readonly)
[3]: arg2 (readonly)
]]
any_new_result1_upvr_2:DoCleaning()
if arg1.cache[arg2.Name] then
arg1.cache[arg2.Name] = nil
end
end)
end
local any_new_result1_upvr = _engine:load("Janitor").new()
function module.loadPage(arg1) -- Line 199
--[[ Upvalues[2]:
[1]: menu_upvr (readonly)
[2]: any_new_result1_upvr (readonly)
]]
local function _(arg1_3) -- Line 202, Named "createSlot"
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1.servers[arg1_3] then
arg1:create(arg1.servers[arg1_3])
end
end
any_new_result1_upvr:clean(menu_upvr.pages.ranked.main.pages[script.Name].scroll.main:GetChildren(), "UIListLayout")
for i_3 = 1, #arg1.servers do
if arg1.servers[i_3] then
arg1:create(arg1.servers[i_3])
end
end
end
function module.update(arg1) -- Line 215
arg1:loadPage()
end
function module.destroy(arg1, arg2) -- Line 219
if arg1.cache[arg2.Name] then
arg1.cache[arg2.Name].maid:DoCleaning()
arg1.cache[arg2.Name] = nil
end
end
local servers_upvr = References_upvr.Main.servers
function module.init(arg1) -- Line 226
--[[ Upvalues[8]:
[1]: servers_upvr (readonly)
[2]: menu_upvr (readonly)
[3]: References_upvr (readonly)
[4]: Services_upvr (readonly)
[5]: any_load_result1_upvr_3 (readonly)
[6]: Profile_upvr (readonly)
[7]: any_new_result1_upvr_3 (readonly)
[8]: any_new_result1_upvr_4 (readonly)
]]
for _, v_3 in next, servers_upvr[script.Name]:GetChildren() do
if v_3 and v_3:IsA("Folder") then
table.insert(arg1.servers, v_3)
end
end
servers_upvr[script.Name].ChildAdded:Connect(function(arg1_4) -- Line 235
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_4 and arg1_4:IsA("Folder") then
table.insert(arg1.servers, arg1_4)
end
end)
servers_upvr[script.Name].ChildRemoved:Connect(function(arg1_5) -- Line 241
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_5 and arg1_5:IsA("Folder") and table.find(arg1.servers, arg1_5) then
table.remove(arg1.servers, table.find(arg1.servers, arg1_5))
end
end)
local create_2_upvr = menu_upvr.pages.ranked.main.pages[script.Name].page.create
create_2_upvr.button.MouseEnter:Connect(function() -- Line 251
--[[ Upvalues[4]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: create_2_upvr (readonly)
[4]: any_load_result1_upvr_3 (copied, readonly)
]]
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(create_2_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr_3.Accent;
}):Play()
Services_upvr.TweenService:Create(create_2_upvr.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr_3.Text;
}):Play()
end)
create_2_upvr.button.MouseLeave:Connect(function() -- Line 257
--[[ Upvalues[3]:
[1]: Services_upvr (copied, readonly)
[2]: create_2_upvr (readonly)
[3]: any_load_result1_upvr_3 (copied, readonly)
]]
Services_upvr.TweenService:Create(create_2_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr_3.Text;
}):Play()
Services_upvr.TweenService:Create(create_2_upvr.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end)
create_2_upvr.button.MouseButton1Click:Connect(function() -- Line 262
--[[ Upvalues[6]:
[1]: References_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: Profile_upvr (copied, readonly)
[4]: menu_upvr (copied, readonly)
[5]: any_new_result1_upvr_3 (copied, readonly)
[6]: any_new_result1_upvr_4 (copied, readonly)
]]
References_upvr.Main.sounds.UI.Click:Play()
if arg1.serverDebounce then
else
if tonumber(script.Name) <= Profile_upvr.level.Level.Value then
arg1.serverDebounce = true
menu_upvr.ranked.Visible = true
any_new_result1_upvr_3:send("createRankedServer", tonumber(script.Name))
return
end
arg1.serverDebounce = true
References_upvr.Main.sounds.UI.Error:Play()
task.spawn(function() -- Line 276
--[[ Upvalues[1]:
[1]: any_new_result1_upvr_4 (copied, readonly)
]]
any_new_result1_upvr_4:create(string.upper("YOU NEED TO BE LEVEL 200 OR HIGHER TO CREATE A RANKED SERVER."), Color3.fromRGB(255, 61, 61))
end)
task.delay(0.35, function() -- Line 280
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.serverDebounce = false
end)
end
end)
local refresh_upvr = menu_upvr.pages.ranked.main.pages[script.Name].page.refresh
refresh_upvr.button.MouseEnter:Connect(function() -- Line 288
--[[ Upvalues[4]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: refresh_upvr (readonly)
[4]: any_load_result1_upvr_3 (copied, readonly)
]]
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(refresh_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr_3.Accent;
}):Play()
Services_upvr.TweenService:Create(refresh_upvr.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr_3.Text;
}):Play()
end)
refresh_upvr.button.MouseLeave:Connect(function() -- Line 294
--[[ Upvalues[3]:
[1]: Services_upvr (copied, readonly)
[2]: refresh_upvr (readonly)
[3]: any_load_result1_upvr_3 (copied, readonly)
]]
Services_upvr.TweenService:Create(refresh_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr_3.Text;
}):Play()
Services_upvr.TweenService:Create(refresh_upvr.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end)
refresh_upvr.button.MouseButton1Click:Connect(function() -- Line 299
--[[ Upvalues[2]:
[1]: References_upvr (copied, readonly)
[2]: arg1 (readonly)
]]
References_upvr.Main.sounds.UI.Click:Play()
if not arg1.switching then
arg1.switching = true
arg1:update()
task.delay(0.15, function() -- Line 306
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.switching = false
end)
end
end)
script.Parent:GetAttributeChangedSignal("toggle"):Connect(function() -- Line 314
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if script.Parent:GetAttribute("toggle") then
arg1:update()
end
end)
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:10:09
-- Luau version 6, Types version 3
-- Time taken: 0.024890 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local Profile_upvr = References_upvr.Profile
local menu_upvr = References_upvr.PlayerGui:WaitForChild("menu", 100)
local any_new_result1_upvr_4 = _engine:load("Notification").new()
local any_new_result1_upvr_3 = _engine:load("Network").new()
local any_load_result1_upvr_3 = _engine:load("Theme", "utils")
local module = {
debounce = false;
switching = false;
servers = {};
cache = {};
serverDebounce = false;
}
local any_load_result1_upvr_2 = _engine:load("Maid")
local any_load_result1_upvr_4 = _engine:load("Flags", "utils")
local any_load_result1_upvr = _engine:load("ThumbnailService", "utils")
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
function module.create(arg1, arg2) -- Line 29
--[[ Upvalues[11]:
[1]: any_load_result1_upvr_2 (readonly)
[2]: References_upvr (readonly)
[3]: menu_upvr (readonly)
[4]: any_load_result1_upvr_4 (readonly)
[5]: Services_upvr (readonly)
[6]: any_load_result1_upvr_3 (readonly)
[7]: Profile_upvr (readonly)
[8]: any_new_result1_upvr_4 (readonly)
[9]: any_new_result1_upvr_3 (readonly)
[10]: any_load_result1_upvr (readonly)
[11]: LocalPlayer_upvr (readonly)
]]
for _, v in next, {"location", "flag"} do
while not arg2:FindFirstChild(v) do
task.wait()
end
end
local var18_upvw = false
local any_new_result1_upvr_2 = any_load_result1_upvr_2.new()
arg1.cache[arg2.Name] = {
maid = any_new_result1_upvr_2;
}
local clone_upvr = References_upvr.Main.ui.server:Clone()
clone_upvr.Parent = menu_upvr.pages.ranked.main.pages[script.Name].scroll.main
clone_upvr.Name = arg2.Name
local function update() -- Line 48
--[[ Upvalues[3]:
[1]: clone_upvr (readonly)
[2]: arg2 (readonly)
[3]: any_load_result1_upvr_4 (copied, readonly)
]]
clone_upvr.location.location.Text = string.upper(arg2.location.Value)
local var22
local function INLINED() -- Internal function, doesn't exist in bytecode
var22 = any_load_result1_upvr_4[arg2.flag.Value].Emoji
return var22
end
if not any_load_result1_upvr_4[arg2.flag.Value] or not INLINED() then
var22 = ""
end
clone_upvr.flag.flag.Text = var22
var22 = clone_upvr
var22 = string.format("%s/%s Players", tostring(#arg2.players:GetChildren()), tostring(script:GetAttribute("maxPlayers") or "14"))
var22.count.Text = var22
var22 = -(#arg2.players:GetChildren())
clone_upvr.LayoutOrder = var22
end
update()
any_new_result1_upvr_2.locationChanged = arg2.location.Changed:Connect(update)
any_new_result1_upvr_2.flagChanged = arg2.flag.Changed:Connect(update)
any_new_result1_upvr_2.mouseEnter = clone_upvr.join.button.MouseEnter:Connect(function() -- Line 60
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: References_upvr (copied, readonly)
[3]: Services_upvr (copied, readonly)
[4]: clone_upvr (readonly)
]]
if arg1.debounce then
else
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(clone_upvr.join.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1.03;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.join.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end
end)
any_new_result1_upvr_2.mouseLeave = clone_upvr.join.button.MouseLeave:Connect(function() -- Line 70
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: Services_upvr (copied, readonly)
[3]: clone_upvr (readonly)
[4]: any_load_result1_upvr_3 (copied, readonly)
]]
if arg1.debounce then
else
Services_upvr.TweenService:Create(clone_upvr.join.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.join.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr_3.Text;
}):Play()
end
end)
any_new_result1_upvr_2.mouseButton1Down = clone_upvr.join.button.MouseButton1Down:Connect(function() -- Line 79
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: var18_upvw (read and write)
[3]: Services_upvr (copied, readonly)
[4]: clone_upvr (readonly)
]]
if arg1.debounce then
else
var18_upvw = true
Services_upvr.TweenService:Create(clone_upvr.join.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Scale = 0.9;
}):Play()
end
end)
any_new_result1_upvr_2.inputEnded = Services_upvr.UserInputService.InputEnded:Connect(function(arg1_2, arg2_2) -- Line 88
--[[ Upvalues[4]:
[1]: var18_upvw (read and write)
[2]: arg1 (readonly)
[3]: Services_upvr (copied, readonly)
[4]: clone_upvr (readonly)
]]
if arg1_2.UserInputType == Enum.UserInputType.MouseButton1 or arg1_2.UserInputType == Enum.UserInputType.Touch then
if var18_upvw and not arg1.debounce then
var18_upvw = false
Services_upvr.TweenService:Create(clone_upvr.join.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Scale = 1;
}):Play()
end
end
end)
any_new_result1_upvr_2.mouseButton1Click = clone_upvr.join.button.MouseButton1Click:Connect(function() -- Line 95
--[[ Upvalues[9]:
[1]: arg1 (readonly)
[2]: References_upvr (copied, readonly)
[3]: Profile_upvr (copied, readonly)
[4]: any_new_result1_upvr_4 (copied, readonly)
[5]: arg2 (readonly)
[6]: Services_upvr (copied, readonly)
[7]: clone_upvr (readonly)
[8]: any_load_result1_upvr_3 (copied, readonly)
[9]: any_new_result1_upvr_3 (copied, readonly)
]]
if not arg1.debounce then
arg1.debounce = true
References_upvr.Main.sounds.UI.Click:Play()
if Profile_upvr.level.Level.Value < tonumber(script.Name) then
References_upvr.Main.sounds.UI.Error:Play()
arg1.debounce = false
task.spawn(function() -- Line 103
--[[ Upvalues[1]:
[1]: any_new_result1_upvr_4 (copied, readonly)
]]
any_new_result1_upvr_4:create(string.upper("YOU NEED TO BE LEVEL 100 OR HIGHER TO JOIN A RANKED SERVER."), Color3.fromRGB(255, 61, 61))
end)
return
end
if arg2:FindFirstChild("players") and _G._maxPlayers <= #arg2.players:GetChildren() then
References_upvr.Main.sounds.UI.Error:Play()
arg1.debounce = false
task.spawn(function() -- Line 112
--[[ Upvalues[1]:
[1]: any_new_result1_upvr_4 (copied, readonly)
]]
any_new_result1_upvr_4:create(string.upper("SELECTED SERVER IS FULL!"), Color3.fromRGB(255, 61, 61))
end)
return
end
Services_upvr.TweenService:Create(clone_upvr.join.UIScale, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.join.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr_3.Text;
}):Play()
any_new_result1_upvr_3:send("rankedServer", arg2.access.Value, arg2.level.Value)
task.delay(0.35, function() -- Line 122
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.debounce = false
end)
end
end)
any_new_result1_upvr_2.update = arg2:GetAttributeChangedSignal("update"):Connect(function() -- Line 128
--[[ Upvalues[6]:
[1]: arg2 (readonly)
[2]: update (readonly)
[3]: clone_upvr (readonly)
[4]: any_load_result1_upvr (copied, readonly)
[5]: LocalPlayer_upvr (copied, readonly)
[6]: Services_upvr (copied, readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [10] 9. Error Block 63 start (CF ANALYSIS FAILED)
while not arg2:FindFirstChild("players") do
task.wait()
end
update()
for _, v_2 in next, clone_upvr.players.list:GetChildren() do
if v_2 and v_2:IsA("ImageLabel") and v_2.Name ~= "avatar" then
v_2:Destroy()
end
end
local _, _ = arg2.players:GetChildren()
-- KONSTANTERROR: [10] 9. Error Block 63 end (CF ANALYSIS FAILED)
end)
any_new_result1_upvr_2.onDestroying = clone_upvr.Destroying:Connect(function() -- Line 191
--[[ Upvalues[3]:
[1]: any_new_result1_upvr_2 (readonly)
[2]: arg1 (readonly)
[3]: arg2 (readonly)
]]
any_new_result1_upvr_2:DoCleaning()
if arg1.cache[arg2.Name] then
arg1.cache[arg2.Name] = nil
end
end)
end
local any_new_result1_upvr = _engine:load("Janitor").new()
function module.loadPage(arg1) -- Line 199
--[[ Upvalues[2]:
[1]: menu_upvr (readonly)
[2]: any_new_result1_upvr (readonly)
]]
local function _(arg1_3) -- Line 202, Named "createSlot"
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1.servers[arg1_3] then
arg1:create(arg1.servers[arg1_3])
end
end
any_new_result1_upvr:clean(menu_upvr.pages.ranked.main.pages[script.Name].scroll.main:GetChildren(), "UIListLayout")
for i_3 = 1, #arg1.servers do
if arg1.servers[i_3] then
arg1:create(arg1.servers[i_3])
end
end
end
function module.update(arg1) -- Line 215
arg1:loadPage()
end
function module.destroy(arg1, arg2) -- Line 219
if arg1.cache[arg2.Name] then
arg1.cache[arg2.Name].maid:DoCleaning()
arg1.cache[arg2.Name] = nil
end
end
local servers_upvr = References_upvr.Main.servers
function module.init(arg1) -- Line 226
--[[ Upvalues[8]:
[1]: servers_upvr (readonly)
[2]: menu_upvr (readonly)
[3]: References_upvr (readonly)
[4]: Services_upvr (readonly)
[5]: any_load_result1_upvr_3 (readonly)
[6]: Profile_upvr (readonly)
[7]: any_new_result1_upvr_3 (readonly)
[8]: any_new_result1_upvr_4 (readonly)
]]
for _, v_3 in next, servers_upvr[script.Name]:GetChildren() do
if v_3 and v_3:IsA("Folder") then
table.insert(arg1.servers, v_3)
end
end
servers_upvr[script.Name].ChildAdded:Connect(function(arg1_4) -- Line 235
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_4 and arg1_4:IsA("Folder") then
table.insert(arg1.servers, arg1_4)
end
end)
servers_upvr[script.Name].ChildRemoved:Connect(function(arg1_5) -- Line 241
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_5 and arg1_5:IsA("Folder") and table.find(arg1.servers, arg1_5) then
table.remove(arg1.servers, table.find(arg1.servers, arg1_5))
end
end)
local create_2_upvr = menu_upvr.pages.ranked.main.pages[script.Name].page.create
create_2_upvr.button.MouseEnter:Connect(function() -- Line 251
--[[ Upvalues[4]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: create_2_upvr (readonly)
[4]: any_load_result1_upvr_3 (copied, readonly)
]]
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(create_2_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr_3.Accent;
}):Play()
Services_upvr.TweenService:Create(create_2_upvr.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr_3.Text;
}):Play()
end)
create_2_upvr.button.MouseLeave:Connect(function() -- Line 257
--[[ Upvalues[3]:
[1]: Services_upvr (copied, readonly)
[2]: create_2_upvr (readonly)
[3]: any_load_result1_upvr_3 (copied, readonly)
]]
Services_upvr.TweenService:Create(create_2_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr_3.Text;
}):Play()
Services_upvr.TweenService:Create(create_2_upvr.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end)
create_2_upvr.button.MouseButton1Click:Connect(function() -- Line 262
--[[ Upvalues[6]:
[1]: References_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: Profile_upvr (copied, readonly)
[4]: menu_upvr (copied, readonly)
[5]: any_new_result1_upvr_3 (copied, readonly)
[6]: any_new_result1_upvr_4 (copied, readonly)
]]
References_upvr.Main.sounds.UI.Click:Play()
if arg1.serverDebounce then
else
if tonumber(script.Name) <= Profile_upvr.level.Level.Value then
arg1.serverDebounce = true
menu_upvr.ranked.Visible = true
any_new_result1_upvr_3:send("createRankedServer", tonumber(script.Name))
return
end
arg1.serverDebounce = true
References_upvr.Main.sounds.UI.Error:Play()
task.spawn(function() -- Line 276
--[[ Upvalues[1]:
[1]: any_new_result1_upvr_4 (copied, readonly)
]]
any_new_result1_upvr_4:create(string.upper("YOU NEED TO BE LEVEL 100 OR HIGHER TO CREATE A RANKED SERVER."), Color3.fromRGB(255, 61, 61))
end)
task.delay(0.35, function() -- Line 280
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.serverDebounce = false
end)
end
end)
local refresh_upvr = menu_upvr.pages.ranked.main.pages[script.Name].page.refresh
refresh_upvr.button.MouseEnter:Connect(function() -- Line 288
--[[ Upvalues[4]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: refresh_upvr (readonly)
[4]: any_load_result1_upvr_3 (copied, readonly)
]]
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(refresh_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr_3.Accent;
}):Play()
Services_upvr.TweenService:Create(refresh_upvr.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = any_load_result1_upvr_3.Text;
}):Play()
end)
refresh_upvr.button.MouseLeave:Connect(function() -- Line 294
--[[ Upvalues[3]:
[1]: Services_upvr (copied, readonly)
[2]: refresh_upvr (readonly)
[3]: any_load_result1_upvr_3 (copied, readonly)
]]
Services_upvr.TweenService:Create(refresh_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr_3.Text;
}):Play()
Services_upvr.TweenService:Create(refresh_upvr.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end)
refresh_upvr.button.MouseButton1Click:Connect(function() -- Line 299
--[[ Upvalues[2]:
[1]: References_upvr (copied, readonly)
[2]: arg1 (readonly)
]]
References_upvr.Main.sounds.UI.Click:Play()
if not arg1.switching then
arg1.switching = true
arg1:update()
task.delay(0.15, function() -- Line 306
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.switching = false
end)
end
end)
script.Parent:GetAttributeChangedSignal("toggle"):Connect(function() -- Line 314
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if script.Parent:GetAttribute("toggle") then
arg1:update()
end
end)
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:10:10
-- Luau version 6, Types version 3
-- Time taken: 0.018332 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local config_upvr = References_upvr.Main.config
local PlayerGui_upvr = References_upvr.PlayerGui
local menu_upvr = PlayerGui_upvr:WaitForChild("menu", 100)
local any_new_result1_3_upvr = _engine:load("Network").new()
local any_load_result1 = _engine:load("MouseObject")
local any_load_result1_2 = _engine:load("BulkFade", "utils")
local any_new_result1_upvr = _engine:load("Notification").new({
lifeTime = 3;
})
local tbl_upvr = {}
local var18_upvw = false
local clone_upvr = References_upvr.Main.ui.home:Clone()
local clone_upvr_2 = References_upvr.Main.ui.away:Clone()
local function getTeamName_upvr(arg1) -- Line 38, Named "getTeamName"
--[[ Upvalues[1]:
[1]: References_upvr (readonly)
]]
for _, v in next, References_upvr.Main.kits:GetChildren() do
if v then
for _, v_2 in next, v:GetChildren() do
if string.lower(v_2.Name) == string.lower(arg1) then
return v_2.Name
end
end
end
end
return "Team"
end
local any_load_result1_3_upvr = _engine:load("TeamService", "utils")
local function updateTeams() -- Line 52
--[[ Upvalues[5]:
[1]: clone_upvr (readonly)
[2]: getTeamName_upvr (readonly)
[3]: config_upvr (readonly)
[4]: any_load_result1_3_upvr (readonly)
[5]: clone_upvr_2 (readonly)
]]
clone_upvr.main.container.outfield.label.Text = string.upper(getTeamName_upvr(config_upvr.Stats.Home.Team.Value))
clone_upvr.main.container.gk.label.Text = string.upper(getTeamName_upvr(config_upvr.Stats.Home.Team.Value)).." GK"
clone_upvr.main.container.outfield.background.ImageColor3 = any_load_result1_3_upvr:getTeamColorFromTeam("Home")
clone_upvr.main.container.gk.background.ImageColor3 = any_load_result1_3_upvr:getTeamColorFromTeam("Home"):Lerp(Color3.new(0, 0, 0), 0.2)
clone_upvr_2.main.container.outfield.label.Text = string.upper(getTeamName_upvr(config_upvr.Stats.Away.Team.Value))
clone_upvr_2.main.container.gk.label.Text = string.upper(getTeamName_upvr(config_upvr.Stats.Away.Team.Value)).." GK"
clone_upvr_2.main.container.outfield.background.ImageColor3 = any_load_result1_3_upvr:getTeamColorFromTeam("Away")
clone_upvr_2.main.container.gk.background.ImageColor3 = any_load_result1_3_upvr:getTeamColorFromTeam("Away"):Lerp(Color3.new(0, 0, 0), 0.2)
end
local main_upvr = PlayerGui_upvr:WaitForChild("main", 100)
local any_load_result1_upvr_2 = _engine:load("Monetization", "utils")
local movementController_upvr = script.Parent.Parent.Parent.Parent:WaitForChild("controllers", 100):WaitForChild("movementController", 100)
local Profile_upvr = References_upvr.Profile
local any_load_result1_upvr = _engine:load("CoreMethods", "utils")
local function finalStage_upvr(arg1) -- Line 64, Named "finalStage"
--[[ Upvalues[13]:
[1]: menu_upvr (readonly)
[2]: tbl_upvr (readonly)
[3]: clone_upvr (readonly)
[4]: clone_upvr_2 (readonly)
[5]: main_upvr (readonly)
[6]: any_load_result1_upvr_2 (readonly)
[7]: LocalPlayer_upvr (readonly)
[8]: any_new_result1_3_upvr (readonly)
[9]: movementController_upvr (readonly)
[10]: Profile_upvr (readonly)
[11]: References_upvr (readonly)
[12]: Services_upvr (readonly)
[13]: any_load_result1_upvr (readonly)
]]
menu_upvr.gradient:TweenPosition(UDim2.new(0, 0, 0, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Quint, 0.5, true)
task.wait(0.5)
tbl_upvr.home:FadeOut()
tbl_upvr.away:FadeOut()
clone_upvr.Enabled = false
clone_upvr_2.Enabled = false
main_upvr.Enabled = true
if not arg1 and any_load_result1_upvr_2.userOwnsPass(LocalPlayer_upvr, any_load_result1_upvr_2.gamePasses["Pitch Teleporter"].gamePassId) then
any_new_result1_3_upvr:send("pitchTeleporter")
end
script.Parent.Parent:SetAttribute("enabled", false)
movementController_upvr:SetAttribute("canSprint", true)
workspace.CurrentCamera.CameraType = Enum.CameraType.Custom
workspace.CurrentCamera.FieldOfView = tonumber(Profile_upvr.settings.Visual["Field of View"].Value)
workspace.game.menu.Character.Parent = References_upvr.Main.cache
any_new_result1_3_upvr:send("spawn")
Services_upvr.Lighting.DepthOfField.Enabled = true
Services_upvr.Lighting.DepthOfField.FarIntensity = 0
Services_upvr.Lighting.DepthOfField.FocusDistance = 2
Services_upvr.Lighting.DepthOfField.InFocusRadius = 0
Services_upvr.Lighting.DepthOfField.NearIntensity = 1
task.wait(0.3)
workspace.CurrentCamera.FieldOfView = tonumber(Profile_upvr.settings.Visual["Field of View"].Value)
any_load_result1_upvr:SetCoreGui("SetCoreGuiEnabled", "Chat", true)
References_upvr.Main.sounds.Player.Woosh:Play()
menu_upvr.gradient:TweenPosition(UDim2.new(1, 700, 0, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Quint, 0.5, true)
task.wait(0.5)
workspace.CurrentCamera.FieldOfView = tonumber(Profile_upvr.settings.Visual["Field of View"].Value)
menu_upvr.Enabled = false
menu_upvr.menu.Visible = false
tbl_upvr.menu:FadeIn()
menu_upvr.gradient.Position = UDim2.new(-1, -700, 0, 0)
script.Parent.Parent:SetAttribute("freeze", false)
end
clone_upvr.Parent = PlayerGui_upvr
clone_upvr.Adornee = workspace.game.menu.teams.home
clone_upvr_2.Parent = PlayerGui_upvr
clone_upvr_2.Adornee = workspace.game.menu.teams.away
updateTeams()
config_upvr.Stats.Home.Team.Changed:Connect(updateTeams)
config_upvr.Stats.Home["Kit Type"].Changed:Connect(updateTeams)
config_upvr.Stats.Away.Team.Changed:Connect(updateTeams)
config_upvr.Stats.Away["Kit Type"].Changed:Connect(updateTeams)
for _, v_3_upvr in next, {"Home", "Away"} do
local var36_upvr = PlayerGui_upvr[string.lower(v_3_upvr)]
local any_new_result1, any_new_result2 = any_load_result1.new(var36_upvr.main.container.outfield.button)
local any_new_result1_2, any_new_result2_2 = any_load_result1.new(var36_upvr.main.container.gk.button)
any_new_result1:Connect(function() -- Line 132
--[[ Upvalues[4]:
[1]: clone_upvr (readonly)
[2]: References_upvr (readonly)
[3]: var36_upvr (readonly)
[4]: Services_upvr (readonly)
]]
if not script.Parent.Parent:GetAttribute("freeze") and workspace.CurrentCamera.CameraType == Enum.CameraType.Scriptable then
else
if script.Parent.Parent:GetAttribute("freeze") and not clone_upvr.Enabled then return end
References_upvr.Main.sounds.UI.Hover:Play()
var36_upvr.main.container.outfield.label:TweenPosition(UDim2.new(0.5, 0, 0.8, -5), Enum.EasingDirection.Out, Enum.EasingStyle.Quint, 0.2, true)
Services_upvr.TweenService:Create(var36_upvr.main.container.outfield.gfx, TweenInfo.new(0.2, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {
ImageTransparency = 0.8;
}):Play()
end
end)
any_new_result2:Connect(function() -- Line 145
--[[ Upvalues[3]:
[1]: clone_upvr (readonly)
[2]: var36_upvr (readonly)
[3]: Services_upvr (readonly)
]]
if not script.Parent.Parent:GetAttribute("freeze") and workspace.CurrentCamera.CameraType == Enum.CameraType.Scriptable then
else
if script.Parent.Parent:GetAttribute("freeze") and not clone_upvr.Enabled then return end
var36_upvr.main.container.outfield.label:TweenPosition(UDim2.new(0.5, 0, 0.8, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Quint, 0.2, true)
Services_upvr.TweenService:Create(var36_upvr.main.container.outfield.gfx, TweenInfo.new(0.2, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {
ImageTransparency = 0.5;
}):Play()
end
end)
var36_upvr.main.container.outfield.button.MouseButton1Click:Connect(function() -- Line 157
--[[ Upvalues[9]:
[1]: clone_upvr (readonly)
[2]: References_upvr (readonly)
[3]: LocalPlayer_upvr (readonly)
[4]: any_new_result1_upvr (readonly)
[5]: var18_upvw (read and write)
[6]: any_new_result1_3_upvr (readonly)
[7]: Services_upvr (readonly)
[8]: v_3_upvr (readonly)
[9]: finalStage_upvr (readonly)
]]
if not script.Parent.Parent:GetAttribute("freeze") and workspace.CurrentCamera.CameraType == Enum.CameraType.Scriptable then
else
if script.Parent.Parent:GetAttribute("freeze") and not clone_upvr.Enabled then return end
References_upvr.Main.sounds.UI.Click:Play()
if References_upvr.Main.cards.red:FindFirstChild(LocalPlayer_upvr.Name) then
References_upvr.Main.sounds.UI.Error:Play()
any_new_result1_upvr:create("YOU ARE ON A RED CARD!", Color3.fromRGB(255, 61, 61))
return
end
if not var18_upvw then
var18_upvw = true
if any_new_result1_3_upvr:fetch("team", Services_upvr.Teams[v_3_upvr]) == "full" then
References_upvr.Main.sounds.UI.Error:Play()
any_new_result1_upvr:create("THE SELECTED TEAM IS FULL! PLEASE SELECT A DIFFERENT TEAM.", Color3.fromRGB(255, 61, 61))
task.delay(0.5, function() -- Line 182
--[[ Upvalues[1]:
[1]: var18_upvw (copied, read and write)
]]
var18_upvw = false
end)
return
end
task.spawn(finalStage_upvr)
task.delay(0.5, function() -- Line 187
--[[ Upvalues[1]:
[1]: var18_upvw (copied, read and write)
]]
var18_upvw = false
end)
end
end
end)
any_new_result1_2:Connect(function() -- Line 194
--[[ Upvalues[4]:
[1]: clone_upvr (readonly)
[2]: References_upvr (readonly)
[3]: var36_upvr (readonly)
[4]: Services_upvr (readonly)
]]
if not script.Parent.Parent:GetAttribute("freeze") and workspace.CurrentCamera.CameraType == Enum.CameraType.Scriptable then
else
if script.Parent.Parent:GetAttribute("freeze") and not clone_upvr.Enabled then return end
References_upvr.Main.sounds.UI.Hover:Play()
var36_upvr.main.container.gk.label:TweenPosition(UDim2.new(0.5, 0, 0.7, -5), Enum.EasingDirection.Out, Enum.EasingStyle.Quint, 0.2, true)
Services_upvr.TweenService:Create(var36_upvr.main.container.gk.gfx, TweenInfo.new(0.2, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {
ImageTransparency = 0.8;
}):Play()
end
end)
any_new_result2_2:Connect(function() -- Line 207
--[[ Upvalues[3]:
[1]: clone_upvr (readonly)
[2]: var36_upvr (readonly)
[3]: Services_upvr (readonly)
]]
if not script.Parent.Parent:GetAttribute("freeze") and workspace.CurrentCamera.CameraType == Enum.CameraType.Scriptable then
else
if script.Parent.Parent:GetAttribute("freeze") and not clone_upvr.Enabled then return end
var36_upvr.main.container.gk.label:TweenPosition(UDim2.new(0.5, 0, 0.7, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Quint, 0.2, true)
Services_upvr.TweenService:Create(var36_upvr.main.container.gk.gfx, TweenInfo.new(0.2, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {
ImageTransparency = 0.5;
}):Play()
end
end)
var36_upvr.main.container.gk.button.MouseButton1Click:Connect(function() -- Line 219
--[[ Upvalues[9]:
[1]: clone_upvr (readonly)
[2]: References_upvr (readonly)
[3]: LocalPlayer_upvr (readonly)
[4]: any_new_result1_upvr (readonly)
[5]: var18_upvw (read and write)
[6]: any_new_result1_3_upvr (readonly)
[7]: Services_upvr (readonly)
[8]: v_3_upvr (readonly)
[9]: finalStage_upvr (readonly)
]]
if not script.Parent.Parent:GetAttribute("freeze") and workspace.CurrentCamera.CameraType == Enum.CameraType.Scriptable then
else
if script.Parent.Parent:GetAttribute("freeze") and not clone_upvr.Enabled then return end
References_upvr.Main.sounds.UI.Click:Play()
if References_upvr.Main.cards.red:FindFirstChild(LocalPlayer_upvr.Name) then
References_upvr.Main.sounds.UI.Error:Play()
any_new_result1_upvr:create("YOU ARE ON A RED CARD!", Color3.fromRGB(255, 61, 61))
return
end
if not var18_upvw then
var18_upvw = true
if any_new_result1_3_upvr:fetch("team", Services_upvr.Teams[v_3_upvr.." GK"]) == "full" then
References_upvr.Main.sounds.UI.Error:Play()
any_new_result1_upvr:create("THE SELECTED TEAM IS FULL! PLEASE SELECT A DIFFERENT TEAM.", Color3.fromRGB(255, 61, 61))
task.delay(0.5, function() -- Line 244
--[[ Upvalues[1]:
[1]: var18_upvw (copied, read and write)
]]
var18_upvw = false
end)
return
end
task.spawn(finalStage_upvr)
task.delay(0.5, function() -- Line 249
--[[ Upvalues[1]:
[1]: var18_upvw (copied, read and write)
]]
var18_upvw = false
end)
end
end
end)
end
var36_upvr = Enum.EasingDirection.Out
tbl_upvr.home = any_load_result1_2.CreateGroup(clone_upvr.main:GetDescendants(), TweenInfo.new(0.4, Enum.EasingStyle.Quint, var36_upvr))
var36_upvr = Enum.EasingDirection.Out
tbl_upvr.away = any_load_result1_2.CreateGroup(clone_upvr_2.main:GetDescendants(), TweenInfo.new(0.4, Enum.EasingStyle.Quint, var36_upvr))
var36_upvr = Enum.EasingDirection.Out
tbl_upvr.menu = any_load_result1_2.CreateGroup(menu_upvr.menu:GetDescendants(), TweenInfo.new(0.4, Enum.EasingStyle.Quint, var36_upvr))
tbl_upvr.home:FadeOut()
tbl_upvr.away:FadeOut()
clone_upvr.Enabled = false
clone_upvr_2.Enabled = false
local module = {}
local lerpPlay_upvr = script.Parent.Parent:WaitForChild("lerpPlay", 100)
function module.run(arg1) -- Line 271
--[[ Upvalues[10]:
[1]: tbl_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
[3]: Services_upvr (readonly)
[4]: lerpPlay_upvr (readonly)
[5]: References_upvr (readonly)
[6]: PlayerGui_upvr (readonly)
[7]: clone_upvr (readonly)
[8]: clone_upvr_2 (readonly)
[9]: menu_upvr (readonly)
[10]: finalStage_upvr (readonly)
]]
tbl_upvr.menu:FadeOut()
script.Parent.Parent:SetAttribute("freeze", true)
if LocalPlayer_upvr.TeamColor == BrickColor.new("Medium stone grey") then
Services_upvr.TweenService:Create(lerpPlay_upvr, TweenInfo.new(0.6, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
Value = 1;
}):Play()
Services_upvr.TweenService:Create(workspace.game.menu.Character.HumanoidRootPart, TweenInfo.new(0.4, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
CFrame = workspace.game.menu.character.play.CFrame;
}):Play()
local any_LoadAnimation_result1_upvr = workspace.game.menu.Character.Humanoid.Animator:LoadAnimation(References_upvr.Main.animations.Player.Play)
any_LoadAnimation_result1_upvr:Play(0.1)
task.delay(0.1, function() -- Line 282
--[[ Upvalues[1]:
[1]: any_LoadAnimation_result1_upvr (readonly)
]]
for _, v_4 in next, workspace.game.menu.Character.Humanoid.Animator:GetPlayingAnimationTracks() do
if v_4 and v_4 ~= any_LoadAnimation_result1_upvr then
v_4:Stop(0.2)
end
end
end)
task.wait(0.2)
PlayerGui_upvr.home.Enabled = true
PlayerGui_upvr.away.Enabled = true
clone_upvr.main.Position = UDim2.new(0.5, 0, 1, 0)
clone_upvr_2.main.Position = UDim2.new(0.5, 0, 1, 0)
clone_upvr.main:TweenPosition(UDim2.new(0.5, 0, 0.5, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Quint, 0.3, true)
clone_upvr_2.main:TweenPosition(UDim2.new(0.5, 0, 0.5, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Quint, 0.3, true)
tbl_upvr.home:FadeIn()
tbl_upvr.away:FadeIn()
task.wait(0.2)
menu_upvr.menu.Visible = false
else
any_LoadAnimation_result1_upvr = task.spawn
any_LoadAnimation_result1_upvr(function() -- Line 305
--[[ Upvalues[1]:
[1]: finalStage_upvr (copied, readonly)
]]
finalStage_upvr(true)
end)
end
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:10:12
-- Luau version 6, Types version 3
-- Time taken: 0.004144 seconds
local _engine = _G._engine
local any_load_result1 = _engine:load("BulkFade", "utils")
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local menu_upvr = References_upvr.PlayerGui:WaitForChild("menu", 100)
local tbl_upvr = {}
local var8_upvw = false
tbl_upvr.buttons = any_load_result1.CreateGroup(menu_upvr.menu.main.buttons:GetDescendants(), TweenInfo.new(0.3, Enum.EasingStyle.Quint, Enum.EasingDirection.Out))
tbl_upvr.tabs = any_load_result1.CreateGroup(menu_upvr.menu.main.tabs:GetDescendants(), TweenInfo.new(0.3, Enum.EasingStyle.Quint, Enum.EasingDirection.Out))
local BindableEvent_upvr = Instance.new("BindableEvent", script)
BindableEvent_upvr.Name = "back"
local var11_upvw = false
BindableEvent_upvr.Event:Connect(function() -- Line 29
--[[ Upvalues[5]:
[1]: References_upvr (readonly)
[2]: var11_upvw (read and write)
[3]: var8_upvw (read and write)
[4]: menu_upvr (readonly)
[5]: tbl_upvr (readonly)
]]
References_upvr.Main.sounds.UI.Click:Play()
if not var11_upvw then
var11_upvw = true
var8_upvw = false
menu_upvr.pages["kit creator"].main:TweenPosition(UDim2.new(0.5, 0, 1.5, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
task.wait(0.15)
menu_upvr.menu.main.buttons.Visible = true
menu_upvr.menu.main.tabs.Visible = true
tbl_upvr.buttons:FadeIn()
tbl_upvr.tabs:FadeIn()
script.Parent.Parent:SetAttribute("freeze", false)
menu_upvr.pages["kit creator"].Visible = false
task.wait(0.15)
var11_upvw = false
end
end)
menu_upvr.pages["kit creator"].main.top.back.MouseButton1Click:Connect(function() -- Line 53
--[[ Upvalues[1]:
[1]: BindableEvent_upvr (readonly)
]]
BindableEvent_upvr:Fire()
end)
local module = {}
local any_load_result1_3_upvr = _engine:load("Monetization", "utils")
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local any_load_result1_2_upvr = _engine:load("GamePassWhitelist", "utils")
function module.run(arg1) -- Line 61
--[[ Upvalues[7]:
[1]: any_load_result1_3_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
[3]: any_load_result1_2_upvr (readonly)
[4]: var8_upvw (read and write)
[5]: tbl_upvr (readonly)
[6]: menu_upvr (readonly)
[7]: Services_upvr (readonly)
]]
if any_load_result1_3_upvr.userOwnsPass(LocalPlayer_upvr, any_load_result1_3_upvr.gamePasses["Kit Creator"].gamePassId) or table.find(any_load_result1_2_upvr, LocalPlayer_upvr.UserId) then
script.Parent.Parent:SetAttribute("freeze", true)
var8_upvw = true
tbl_upvr.buttons:FadeOut()
tbl_upvr.tabs:FadeOut()
task.wait(0.15)
menu_upvr.menu.main.buttons.Visible = false
menu_upvr.menu.main.tabs.Visible = false
menu_upvr.pages["kit creator"].Visible = true
menu_upvr.pages["kit creator"].main:TweenPosition(UDim2.new(0.5, 0, 0.5, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
else
local pcall_result1, pcall_result2 = pcall(function() -- Line 79
--[[ Upvalues[3]:
[1]: Services_upvr (copied, readonly)
[2]: LocalPlayer_upvr (copied, readonly)
[3]: any_load_result1_3_upvr (copied, readonly)
]]
return Services_upvr.MarketPlaceService:PromptGamePassPurchase(LocalPlayer_upvr, any_load_result1_3_upvr.gamePasses["Kit Creator"].gamePassId)
end)
if not pcall_result1 then
warn(string.format("An unexpected error occured while prompting game pass purchase | %s", pcall_result2))
end
end
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:10:13
-- Luau version 6, Types version 3
-- Time taken: 0.003064 seconds
local _engine = _G._engine
local any_load_result1 = _engine:load("BulkFade", "utils")
local References_upvr = _engine.References
local menu_upvr = References_upvr.PlayerGui:WaitForChild("menu", 100)
local tbl_upvr = {}
local var7_upvw = false
tbl_upvr.buttons = any_load_result1.CreateGroup(menu_upvr.menu.main.buttons:GetDescendants(), TweenInfo.new(0.3, Enum.EasingStyle.Quint, Enum.EasingDirection.Out))
tbl_upvr.tabs = any_load_result1.CreateGroup(menu_upvr.menu.main.tabs:GetDescendants(), TweenInfo.new(0.3, Enum.EasingStyle.Quint, Enum.EasingDirection.Out))
local BindableEvent_upvr = Instance.new("BindableEvent", script)
BindableEvent_upvr.Name = "back"
local var10_upvw = false
BindableEvent_upvr.Event:Connect(function() -- Line 27
--[[ Upvalues[5]:
[1]: References_upvr (readonly)
[2]: var10_upvw (read and write)
[3]: var7_upvw (read and write)
[4]: menu_upvr (readonly)
[5]: tbl_upvr (readonly)
]]
References_upvr.Main.sounds.UI.Click:Play()
if not var10_upvw then
var10_upvw = true
var7_upvw = false
menu_upvr.pages.premium.main:TweenPosition(UDim2.new(0.5, 0, 1.5, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
task.wait(0.15)
menu_upvr.menu.main.buttons.Visible = true
menu_upvr.menu.main.tabs.Visible = true
tbl_upvr.buttons:FadeIn()
tbl_upvr.tabs:FadeIn()
script.Parent.Parent:SetAttribute("freeze", false)
menu_upvr.pages.premium.Visible = false
task.wait(0.15)
var10_upvw = false
end
end)
menu_upvr.pages.premium.main.top.back.MouseButton1Click:Connect(function() -- Line 51
--[[ Upvalues[1]:
[1]: BindableEvent_upvr (readonly)
]]
BindableEvent_upvr:Fire()
end)
return {
run = function(arg1) -- Line 59, Named "run"
--[[ Upvalues[3]:
[1]: var7_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: menu_upvr (readonly)
]]
script.Parent.Parent:SetAttribute("freeze", true)
var7_upvw = true
tbl_upvr.buttons:FadeOut()
tbl_upvr.tabs:FadeOut()
task.wait(0.15)
menu_upvr.menu.main.buttons.Visible = false
menu_upvr.menu.main.tabs.Visible = false
menu_upvr.pages.premium.Visible = true
menu_upvr.pages.premium.main:TweenPosition(UDim2.new(0.5, 0, 0.5, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:10:15
-- Luau version 6, Types version 3
-- Time taken: 0.004151 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local PlayerGui_upvr = References_upvr.PlayerGui
local menu_upvr = PlayerGui_upvr:WaitForChild("menu", 100)
local any_load_result1 = _engine:load("BulkFade", "utils")
local tbl_upvr = {}
local home_upvr = PlayerGui_upvr:WaitForChild("home", 100)
local away_upvr = PlayerGui_upvr:WaitForChild("away", 100)
tbl_upvr.home = any_load_result1.CreateGroup(home_upvr.main:GetDescendants(), TweenInfo.new(0.4, Enum.EasingStyle.Quint, Enum.EasingDirection.Out))
tbl_upvr.away = any_load_result1.CreateGroup(away_upvr.main:GetDescendants(), TweenInfo.new(0.4, Enum.EasingStyle.Quint, Enum.EasingDirection.Out))
tbl_upvr.menu = any_load_result1.CreateGroup(menu_upvr.menu:GetDescendants(), TweenInfo.new(0.4, Enum.EasingStyle.Quint, Enum.EasingDirection.Out))
tbl_upvr.home:FadeOut()
tbl_upvr.away:FadeOut()
local module = {}
local any_new_result1_upvr = _engine:load("Notification").new({
lifeTime = 3;
})
local any_new_result1_upvr_2 = _engine:load("Network").new()
local lerpPlay_upvr = script.Parent.Parent:WaitForChild("lerpPlay", 100)
function module.run(arg1) -- Line 41
--[[ Upvalues[11]:
[1]: References_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
[3]: any_new_result1_upvr (readonly)
[4]: tbl_upvr (readonly)
[5]: any_new_result1_upvr_2 (readonly)
[6]: Services_upvr (readonly)
[7]: lerpPlay_upvr (readonly)
[8]: PlayerGui_upvr (readonly)
[9]: home_upvr (readonly)
[10]: away_upvr (readonly)
[11]: menu_upvr (readonly)
]]
if References_upvr.Main.cards.red:FindFirstChild(LocalPlayer_upvr.Name) then
References_upvr.Main.sounds.UI.Error:Play()
any_new_result1_upvr:create("YOU ARE ON A RED CARD!", Color3.fromRGB(255, 61, 61))
else
tbl_upvr.menu:FadeOut()
script.Parent.Parent:SetAttribute("freeze", true)
any_new_result1_upvr_2:send("switch")
Services_upvr.TweenService:Create(lerpPlay_upvr, TweenInfo.new(0.6, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
Value = 1;
}):Play()
Services_upvr.TweenService:Create(workspace.game.menu.Character.HumanoidRootPart, TweenInfo.new(0.4, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
CFrame = workspace.game.menu.character.play.CFrame;
}):Play()
local any_LoadAnimation_result1_upvr = workspace.game.menu.Character.Humanoid.Animator:LoadAnimation(References_upvr.Main.animations.Player.Play)
any_LoadAnimation_result1_upvr:Play(0.1)
task.delay(0.1, function() -- Line 58
--[[ Upvalues[1]:
[1]: any_LoadAnimation_result1_upvr (readonly)
]]
for _, v in next, workspace.game.menu.Character.Humanoid.Animator:GetPlayingAnimationTracks() do
if v and v ~= any_LoadAnimation_result1_upvr then
v:Stop(0.2)
end
end
end)
task.wait(0.2)
PlayerGui_upvr.home.Enabled = true
PlayerGui_upvr.away.Enabled = true
home_upvr.main.Position = UDim2.new(0.5, 0, 1, 0)
away_upvr.main.Position = UDim2.new(0.5, 0, 1, 0)
home_upvr.main:TweenPosition(UDim2.new(0.5, 0, 0.5, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Quint, 0.3, true)
away_upvr.main:TweenPosition(UDim2.new(0.5, 0, 0.5, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Quint, 0.3, true)
tbl_upvr.home:FadeIn()
tbl_upvr.away:FadeIn()
task.wait(0.2)
menu_upvr.menu.Visible = false
end
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:10:16
-- Luau version 6, Types version 3
-- Time taken: 0.017744 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local PlayerGui = References_upvr.PlayerGui
local my_player_upvr = script.Parent.Parent:WaitForChild("pages", 100):WaitForChild("my player", 100)
local lerpCustomize_upvr = script.Parent.Parent:WaitForChild("lerpCustomize", 100)
local menu_upvr = PlayerGui:WaitForChild("menu", 100)
local rotate_upvr = PlayerGui:WaitForChild("rotate", 100)
local NumberValue_upvr = Instance.new("NumberValue", script)
NumberValue_upvr.Name = "lerp"
NumberValue_upvr.Value = 0
local any_new_result1_upvr = _engine:load("Maid").new()
local var11_upvw = false
local tbl_upvr = {
menu = _engine:load("BulkFade", "utils").CreateGroup(menu_upvr.menu:GetDescendants(), TweenInfo.new(0.4, Enum.EasingStyle.Quint, Enum.EasingDirection.Out));
}
local BindableEvent_upvr = Instance.new("BindableEvent", script)
BindableEvent_upvr.Name = "back"
local jersey_upvr = PlayerGui:WaitForChild("jersey", 100)
local mouse_upvr = Services_upvr.Players.LocalPlayer:GetMouse()
local Character_upvr = workspace.game.menu:WaitForChild("Character", 100)
BindableEvent_upvr.Event:Connect(function() -- Line 42
--[[ Upvalues[13]:
[1]: var11_upvw (read and write)
[2]: Services_upvr (readonly)
[3]: NumberValue_upvr (readonly)
[4]: jersey_upvr (readonly)
[5]: menu_upvr (readonly)
[6]: rotate_upvr (readonly)
[7]: mouse_upvr (readonly)
[8]: Character_upvr (readonly)
[9]: lerpCustomize_upvr (readonly)
[10]: References_upvr (readonly)
[11]: any_new_result1_upvr (readonly)
[12]: tbl_upvr (readonly)
[13]: my_player_upvr (readonly)
]]
if not var11_upvw then
var11_upvw = true
Services_upvr.TweenService:Create(NumberValue_upvr, TweenInfo.new(0.4, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
Value = 0;
}):Play()
Services_upvr.TweenService:Create(jersey_upvr.main.UIScale, TweenInfo.new(0.25, Enum.EasingStyle.Back, Enum.EasingDirection.In), {
Scale = 0;
}):Play()
menu_upvr.pages.customize.main:TweenPosition(UDim2.new(-0.5, 0, 0.5, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
rotate_upvr.Enabled = false
mouse_upvr.Icon = ""
Services_upvr.TweenService:Create(workspace.game.menu.ui.arrow.arrow.arrow, TweenInfo.new(0.5, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
ImageTransparency = 1;
}):Play()
for _, v in next, {"boots", "gloves"} do
workspace.game.menu.ui[v].main.main:TweenPosition(UDim2.new(-1, 0, 0, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Quint, 0.5, true)
end
for _, v_2 in next, menu_upvr.elements:GetChildren() do
if v_2 and v_2.Name == "point" then
Services_upvr.TweenService:Create(v_2, TweenInfo.new(0.4, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
BackgroundTransparency = 1;
}):Play()
end
end
if not Character_upvr.Accessories:FindFirstChild("RightGlove") then
Character_upvr.RightHand.Transparency = 0
Character_upvr.LeftHand.Transparency = 0
end
for _, v_3 in next, Character_upvr.Accessories:GetChildren() do
if v_3 and string.find(v_3.Name, "Glove") then
v_3.Transparency = 0
end
end
for _, v_4 in next, Character_upvr.Gloves:GetDescendants() do
if v_4 and v_4:IsA("MeshPart") then
v_4.Transparency = 1
end
end
task.wait(0.025)
Services_upvr.TweenService:Create(lerpCustomize_upvr, TweenInfo.new(0.6, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
Value = 0;
}):Play()
Services_upvr.TweenService:Create(workspace.game.menu.Character.HumanoidRootPart, TweenInfo.new(0.5, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
CFrame = workspace.game.menu.character.menu.CFrame;
}):Play()
Services_upvr.TweenService:Create(workspace.game.menu.Character.Ball.design["Adidas RF Pro 23/24"], TweenInfo.new(0.4, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
Transparency = 0;
}):Play()
workspace.game.menu.Character.Ball.Ball.C0 = References_upvr.Main.rigs.Character.Ball.Ball.C0
workspace.game.menu.Character.Ball.Ball.C1 = References_upvr.Main.rigs.Character.Ball.Ball.C1
task.wait(0.4)
any_new_result1_upvr:DoCleaning()
tbl_upvr.menu:FadeIn()
script.Parent.Parent:SetAttribute("freeze", false)
menu_upvr.menu.Visible = true
menu_upvr.pages.customize.Visible = false
local any_LoadAnimation_result1_upvr_2 = workspace.game.menu.Character.Humanoid.Animator:LoadAnimation(References_upvr.Main.animations.Player.Menu)
any_LoadAnimation_result1_upvr_2:Play(0.1)
task.delay(0.1, function() -- Line 101
--[[ Upvalues[1]:
[1]: any_LoadAnimation_result1_upvr_2 (readonly)
]]
for _, v_5 in next, workspace.game.menu.Character.Humanoid.Animator:GetPlayingAnimationTracks() do
if v_5 and v_5 ~= any_LoadAnimation_result1_upvr_2 then
v_5:Stop(0.2)
end
end
end)
task.wait(0.2)
my_player_upvr:SetAttribute("toggle", false)
var11_upvw = false
end
end)
menu_upvr.pages.customize.main.top.back.back.MouseButton1Click:Connect(function() -- Line 115
--[[ Upvalues[1]:
[1]: BindableEvent_upvr (readonly)
]]
BindableEvent_upvr:Fire()
end)
return {
run = function(arg1) -- Line 123, Named "run"
--[[ Upvalues[10]:
[1]: tbl_upvr (readonly)
[2]: var11_upvw (read and write)
[3]: Services_upvr (readonly)
[4]: lerpCustomize_upvr (readonly)
[5]: References_upvr (readonly)
[6]: rotate_upvr (readonly)
[7]: menu_upvr (readonly)
[8]: my_player_upvr (readonly)
[9]: any_new_result1_upvr (readonly)
[10]: NumberValue_upvr (readonly)
]]
tbl_upvr.menu:FadeOut()
var11_upvw = true
script.Parent.Parent:SetAttribute("freeze", true)
Services_upvr.TweenService:Create(lerpCustomize_upvr, TweenInfo.new(0.6, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
Value = 1;
}):Play()
Services_upvr.TweenService:Create(workspace.game.menu.Character.HumanoidRootPart, TweenInfo.new(0.4, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
CFrame = workspace.game.menu.character.customize.CFrame;
}):Play()
Services_upvr.TweenService:Create(workspace.game.menu.Character.Ball.design["Adidas RF Pro 23/24"], TweenInfo.new(0.2, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
Transparency = 1;
}):Play()
Services_upvr.TweenService:Create(workspace.game.menu.ui.arrow.arrow.arrow, TweenInfo.new(0.5, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
ImageTransparency = 0.7;
}):Play()
local any_LoadAnimation_result1_upvr = workspace.game.menu.Character.Humanoid.Animator:LoadAnimation(References_upvr.Main.animations.Player.Play)
any_LoadAnimation_result1_upvr:Play(0.1)
task.delay(0.1, function() -- Line 136
--[[ Upvalues[1]:
[1]: any_LoadAnimation_result1_upvr (readonly)
]]
for _, v_6 in next, workspace.game.menu.Character.Humanoid.Animator:GetPlayingAnimationTracks() do
if v_6 and v_6 ~= any_LoadAnimation_result1_upvr then
v_6:Stop(0.2)
end
end
end)
task.wait(0.15)
rotate_upvr.Enabled = true
menu_upvr.menu.Visible = false
menu_upvr.pages.customize.Visible = true
menu_upvr.pages.customize.main:TweenPosition(UDim2.new(0.5, 0, 0.5, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
task.wait(0.05)
my_player_upvr:SetAttribute("toggle", true)
for _, v_7_upvr in next, {"boots", "gloves"} do
local any_WorldToViewportPoint_result1_upvw_2 = workspace.CurrentCamera:WorldToViewportPoint(workspace.game.menu.ui[v_7_upvr].start.Position)
local any_WorldToViewportPoint_result1_upvw = workspace.CurrentCamera:WorldToViewportPoint(workspace.game.menu.ui[v_7_upvr]["end"].Position)
local Frame_upvr = Instance.new("Frame")
Frame_upvr.BorderSizePixel = 0
Frame_upvr.BackgroundColor3 = Color3.new(1, 1, 1)
Frame_upvr.AnchorPoint = Vector2.new(0.5, 0.5)
Frame_upvr.Size = UDim2.new(0, 0, 0, 0)
Frame_upvr.Parent = menu_upvr.elements
local Frame_upvr_3 = Instance.new("Frame")
Frame_upvr_3.Name = "point"
Frame_upvr_3.BorderSizePixel = 0
Frame_upvr_3.BackgroundColor3 = Color3.new(1, 1, 1)
Frame_upvr_3.BackgroundTransparency = 1
Frame_upvr_3.AnchorPoint = Vector2.new(0.5, 0.5)
Frame_upvr_3.Size = UDim2.new(0, 8, 0, 8)
Frame_upvr_3.Position = UDim2.new(0, any_WorldToViewportPoint_result1_upvw_2.X, 0, any_WorldToViewportPoint_result1_upvw_2.Y)
Frame_upvr_3.Parent = menu_upvr.elements
Instance.new("UICorner", Frame_upvr_3).CornerRadius = UDim.new(1, 0)
local Frame_upvr_2 = Instance.new("Frame")
Frame_upvr_2.Name = "point"
Frame_upvr_2.BorderSizePixel = 0
Frame_upvr_2.BackgroundColor3 = Color3.new(1, 1, 1)
Frame_upvr_2.BackgroundTransparency = 1
Frame_upvr_2.AnchorPoint = Vector2.new(0.5, 0.5)
Frame_upvr_2.Size = UDim2.new(0, 8, 0, 8)
Frame_upvr_2.Position = UDim2.new(0, any_WorldToViewportPoint_result1_upvw.X, 0, any_WorldToViewportPoint_result1_upvw.Y)
Frame_upvr_2.Parent = menu_upvr.elements
Instance.new("UICorner", Frame_upvr_2).CornerRadius = UDim.new(1, 0)
any_new_result1_upvr:GiveTask(Frame_upvr)
any_new_result1_upvr:GiveTask(Frame_upvr_3)
any_new_result1_upvr:GiveTask(Frame_upvr_2)
Services_upvr.TweenService:Create(Frame_upvr_3, TweenInfo.new(0.4, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
BackgroundTransparency = 0;
}):Play()
Services_upvr.TweenService:Create(Frame_upvr_2, TweenInfo.new(0.4, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
BackgroundTransparency = 0;
}):Play()
Services_upvr.TweenService:Create(NumberValue_upvr, TweenInfo.new(0.5, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
Value = 1;
}):Play()
workspace.game.menu.ui[v_7_upvr].main.main:TweenPosition(UDim2.new(0, 0, 0, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Quint, 0.5, true)
any_new_result1_upvr[v_7_upvr.."_update"] = Services_upvr.RunService.RenderStepped:Connect(function() -- Line 201
--[[ Upvalues[7]:
[1]: any_WorldToViewportPoint_result1_upvw_2 (read and write)
[2]: v_7_upvr (readonly)
[3]: any_WorldToViewportPoint_result1_upvw (read and write)
[4]: Frame_upvr_3 (readonly)
[5]: Frame_upvr_2 (readonly)
[6]: Frame_upvr (readonly)
[7]: NumberValue_upvr (copied, readonly)
]]
any_WorldToViewportPoint_result1_upvw_2 = workspace.CurrentCamera:WorldToViewportPoint(workspace.game.menu.ui[v_7_upvr].start.Position)
any_WorldToViewportPoint_result1_upvw = workspace.CurrentCamera:WorldToViewportPoint(workspace.game.menu.ui[v_7_upvr]["end"].Position)
Frame_upvr_3.Position = UDim2.new(0, any_WorldToViewportPoint_result1_upvw_2.X, 0, any_WorldToViewportPoint_result1_upvw_2.Y)
Frame_upvr_2.Position = UDim2.new(0, any_WorldToViewportPoint_result1_upvw.X, 0, any_WorldToViewportPoint_result1_upvw.Y)
Frame_upvr.Position = UDim2.new(0, (any_WorldToViewportPoint_result1_upvw_2.X + any_WorldToViewportPoint_result1_upvw.X) / 2, 0, (any_WorldToViewportPoint_result1_upvw_2.Y + any_WorldToViewportPoint_result1_upvw.Y) / 2)
Frame_upvr.Rotation = math.atan2(any_WorldToViewportPoint_result1_upvw.Y - any_WorldToViewportPoint_result1_upvw_2.Y, any_WorldToViewportPoint_result1_upvw.X - any_WorldToViewportPoint_result1_upvw_2.X) * 57.29577951308232
Frame_upvr.Size = UDim2.new(0, 0, 0, 0):Lerp(UDim2.new(0, ((any_WorldToViewportPoint_result1_upvw.X - any_WorldToViewportPoint_result1_upvw_2.X) ^ 2 + (any_WorldToViewportPoint_result1_upvw.Y - any_WorldToViewportPoint_result1_upvw_2.Y) ^ 2) ^ 0.5, 0, 2), NumberValue_upvr.Value)
end)
end
var11_upvw = false
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:10:18
-- Luau version 6, Types version 3
-- Time taken: 0.006141 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local lerpCustomize_upvr = script.Parent.Parent:WaitForChild("lerpCustomize", 100)
local menu_upvr = References_upvr.PlayerGui:WaitForChild("menu", 100)
local any_new_result1_upvr = _engine:load("Maid").new()
local var8_upvw = false
local tbl_upvr = {
menu = _engine:load("BulkFade", "utils").CreateGroup(menu_upvr.menu:GetDescendants(), TweenInfo.new(0.4, Enum.EasingStyle.Quint, Enum.EasingDirection.Out));
}
local BindableEvent_upvr = Instance.new("BindableEvent", script)
BindableEvent_upvr.Name = "back"
BindableEvent_upvr.Event:Connect(function() -- Line 31
--[[ Upvalues[7]:
[1]: References_upvr (readonly)
[2]: var8_upvw (read and write)
[3]: menu_upvr (readonly)
[4]: any_new_result1_upvr (readonly)
[5]: Services_upvr (readonly)
[6]: lerpCustomize_upvr (readonly)
[7]: tbl_upvr (readonly)
]]
References_upvr.Main.sounds.UI.Click:Play()
if not var8_upvw then
var8_upvw = true
menu_upvr.pages.stats.main:TweenPosition(UDim2.new(0.5, 0, 1.5, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
any_new_result1_upvr:DoCleaning()
Services_upvr.TweenService:Create(workspace.game.menu.Character.Head:WaitForChild("Neck", 100), TweenInfo.new(0.4, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
C0 = Services_upvr.StarterPlayer.StarterCharacter.Head.Neck.C0;
}):Play()
Services_upvr.TweenService:Create(lerpCustomize_upvr, TweenInfo.new(0.6, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
Value = 0;
}):Play()
Services_upvr.TweenService:Create(workspace.game.menu.Character.HumanoidRootPart, TweenInfo.new(0.5, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
CFrame = workspace.game.menu.character.menu.CFrame;
}):Play()
task.wait(0.4)
local any_LoadAnimation_result1_upvr_2 = workspace.game.menu.Character.Humanoid.Animator:LoadAnimation(References_upvr.Main.animations.Player.Menu)
any_LoadAnimation_result1_upvr_2:Play(0.1)
task.delay(0.1, function() -- Line 51
--[[ Upvalues[1]:
[1]: any_LoadAnimation_result1_upvr_2 (readonly)
]]
for _, v in next, workspace.game.menu.Character.Humanoid.Animator:GetPlayingAnimationTracks() do
if v and v ~= any_LoadAnimation_result1_upvr_2 then
v:Stop(0.2)
end
end
end)
menu_upvr.menu.Visible = true
tbl_upvr.menu:FadeIn()
script.Parent.Parent:SetAttribute("freeze", false)
menu_upvr.pages.stats.Visible = false
task.wait(0.15)
var8_upvw = false
end
end)
menu_upvr.pages.stats.main.top.back.MouseButton1Click:Connect(function() -- Line 70
--[[ Upvalues[1]:
[1]: BindableEvent_upvr (readonly)
]]
BindableEvent_upvr:Fire()
end)
local module = {}
local mouse_upvr = Services_upvr.Players.LocalPlayer:GetMouse()
function module.run(arg1) -- Line 78
--[[ Upvalues[8]:
[1]: tbl_upvr (readonly)
[2]: var8_upvw (read and write)
[3]: Services_upvr (readonly)
[4]: lerpCustomize_upvr (readonly)
[5]: References_upvr (readonly)
[6]: menu_upvr (readonly)
[7]: any_new_result1_upvr (readonly)
[8]: mouse_upvr (readonly)
]]
local Neck_upvr = workspace.game.menu.Character.Head:WaitForChild("Neck", 100)
tbl_upvr.menu:FadeOut()
var8_upvw = true
script.Parent.Parent:SetAttribute("freeze", true)
Services_upvr.TweenService:Create(lerpCustomize_upvr, TweenInfo.new(0.6, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
Value = 1;
}):Play()
Services_upvr.TweenService:Create(workspace.game.menu.Character.HumanoidRootPart, TweenInfo.new(0.4, Enum.EasingStyle.Quint, Enum.EasingDirection.InOut), {
CFrame = workspace.game.menu.character.stats.CFrame;
}):Play()
local any_LoadAnimation_result1_upvr = workspace.game.menu.Character.Humanoid.Animator:LoadAnimation(References_upvr.Main.animations.Player.Play)
any_LoadAnimation_result1_upvr:Play(0.1)
task.delay(0.1, function() -- Line 93
--[[ Upvalues[1]:
[1]: any_LoadAnimation_result1_upvr (readonly)
]]
for _, v_2 in next, workspace.game.menu.Character.Humanoid.Animator:GetPlayingAnimationTracks() do
if v_2 and v_2 ~= any_LoadAnimation_result1_upvr then
v_2:Stop(0.2)
end
end
end)
task.wait(0.15)
menu_upvr.menu.Visible = false
menu_upvr.pages.stats.Visible = true
menu_upvr.pages.stats.main:TweenPosition(UDim2.new(0.5, 0, 0.5, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
local Y_upvr = Neck_upvr.C0.Y
any_new_result1_upvr.renderStepped = Services_upvr.RunService.RenderStepped:Connect(function() -- Line 107
--[[ Upvalues[4]:
[1]: mouse_upvr (copied, readonly)
[2]: Neck_upvr (readonly)
[3]: Services_upvr (copied, readonly)
[4]: Y_upvr (readonly)
]]
local LookVector = workspace.CurrentCamera.CFrame:ToObjectSpace(mouse_upvr.Hit).LookVector
Neck_upvr.Transform = CFrame.new()
Services_upvr.TweenService:Create(Neck_upvr, TweenInfo.new(0.05, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
C0 = CFrame.new(0, Y_upvr, 0) * CFrame.Angles(LookVector.Y, LookVector.X, 0);
}):Play()
end)
var8_upvw = false
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:10:19
-- Luau version 6, Types version 3
-- Time taken: 0.003685 seconds
local _engine = _G._engine
local any_load_result1 = _engine:load("BulkFade", "utils")
local References_upvr = _engine.References
local menu_upvr = References_upvr.PlayerGui:WaitForChild("menu", 100)
local tbl_upvr = {}
local var7_upvw = false
tbl_upvr.buttons = any_load_result1.CreateGroup(menu_upvr.menu.main.buttons:GetDescendants(), TweenInfo.new(0.3, Enum.EasingStyle.Quint, Enum.EasingDirection.Out))
tbl_upvr.tabs = any_load_result1.CreateGroup(menu_upvr.menu.main.tabs:GetDescendants(), TweenInfo.new(0.3, Enum.EasingStyle.Quint, Enum.EasingDirection.Out))
local BindableEvent_upvr = Instance.new("BindableEvent", script)
BindableEvent_upvr.Name = "back"
local var10_upvw = false
BindableEvent_upvr.Event:Connect(function() -- Line 27
--[[ Upvalues[5]:
[1]: References_upvr (readonly)
[2]: var10_upvw (read and write)
[3]: var7_upvw (read and write)
[4]: menu_upvr (readonly)
[5]: tbl_upvr (readonly)
]]
References_upvr.Main.sounds.UI.Click:Play()
if not var10_upvw then
var10_upvw = true
var7_upvw = false
menu_upvr.pages.soundtrack.main:TweenPosition(UDim2.new(0.5, 0, 1.5, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
task.wait(0.15)
menu_upvr.menu.main.buttons.Visible = true
menu_upvr.menu.main.tabs.Visible = true
tbl_upvr.buttons:FadeIn()
tbl_upvr.tabs:FadeIn()
script.Parent.Parent:SetAttribute("freeze", false)
menu_upvr.pages.soundtrack.Visible = false
task.wait(0.15)
var10_upvw = false
end
end)
menu_upvr.pages.soundtrack.main.top.back.MouseButton1Click:Connect(function() -- Line 51
--[[ Upvalues[1]:
[1]: BindableEvent_upvr (readonly)
]]
BindableEvent_upvr:Fire()
end)
return {
run = function(arg1) -- Line 59, Named "run"
--[[ Upvalues[3]:
[1]: var7_upvw (read and write)
[2]: tbl_upvr (readonly)
[3]: menu_upvr (readonly)
]]
script.Parent.Parent:SetAttribute("freeze", true)
var7_upvw = true
tbl_upvr.buttons:FadeOut()
tbl_upvr.tabs:FadeOut()
task.wait(0.15)
menu_upvr.menu.main.buttons.Visible = false
menu_upvr.menu.main.tabs.Visible = false
menu_upvr.pages.soundtrack.Visible = true
menu_upvr.pages.soundtrack.main:TweenPosition(UDim2.new(0.5, 0, 0.5, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:10:21
-- Luau version 6, Types version 3
-- Time taken: 0.004011 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local menu_upvr = References_upvr.PlayerGui:WaitForChild("menu", 100)
local SOME_upvr = script.Parent.Parent:WaitForChild("pages", 100):WaitForChild(script.Name, 100)
local any_load_result1 = _engine:load("BulkFade", "utils")
while not menu_upvr.pages.settings:GetAttribute("loaded") do
task.wait()
end
local var7_upvw = false
local tbl_upvr = {
menu = any_load_result1.CreateGroup(menu_upvr.menu:GetDescendants(), TweenInfo.new(0.4, Enum.EasingStyle.Quint, Enum.EasingDirection.Out));
settings = any_load_result1.CreateGroup(menu_upvr.pages.settings:GetDescendants(), TweenInfo.new(0.3, Enum.EasingStyle.Quint, Enum.EasingDirection.Out));
}
local BindableEvent_upvr = Instance.new("BindableEvent", script)
BindableEvent_upvr.Name = "back"
BindableEvent_upvr.Event:Connect(function() -- Line 38
--[[ Upvalues[5]:
[1]: References_upvr (readonly)
[2]: var7_upvw (read and write)
[3]: tbl_upvr (readonly)
[4]: SOME_upvr (readonly)
[5]: menu_upvr (readonly)
]]
References_upvr.Main.sounds.UI.Click:Play()
if not var7_upvw then
var7_upvw = true
tbl_upvr.settings:FadeOut()
SOME_upvr:SetAttribute("toggle", false)
task.wait(0.15)
menu_upvr.menu.Visible = true
tbl_upvr.menu:FadeIn()
script.Parent.Parent:SetAttribute("freeze", false)
task.wait(0.15)
menu_upvr.pages.settings.Visible = false
var7_upvw = false
end
end)
menu_upvr.pages.settings.main.top.back.MouseButton1Click:Connect(function() -- Line 58
--[[ Upvalues[1]:
[1]: BindableEvent_upvr (readonly)
]]
BindableEvent_upvr:Fire()
end)
return {
run = function(arg1) -- Line 66, Named "run"
--[[ Upvalues[4]:
[1]: tbl_upvr (readonly)
[2]: var7_upvw (read and write)
[3]: SOME_upvr (readonly)
[4]: menu_upvr (readonly)
]]
tbl_upvr.menu:FadeOut()
var7_upvw = true
script.Parent.Parent:SetAttribute("freeze", true)
task.wait(0.15)
SOME_upvr:SetAttribute("toggle", true)
menu_upvr.menu.Visible = false
menu_upvr.pages.settings.Visible = true
tbl_upvr.settings:FadeIn()
var7_upvw = false
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:10:23
-- Luau version 6, Types version 3
-- Time taken: 0.003590 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local menu_upvr = References_upvr.PlayerGui:WaitForChild("menu", 100)
local cosmetics_upvr = script.Parent.Parent:WaitForChild("pages", 100):WaitForChild("cosmetics", 100)
local var7_upvw = false
local tbl_upvr = {
menu = _engine:load("BulkFade", "utils").CreateGroup(menu_upvr.menu:GetDescendants(), TweenInfo.new(0.4, Enum.EasingStyle.Quint, Enum.EasingDirection.Out));
}
menu_upvr.pages.cosmetics.overlay.BackgroundTransparency = 1
local BindableEvent_upvr = Instance.new("BindableEvent", script)
BindableEvent_upvr.Name = "back"
BindableEvent_upvr.Event:Connect(function() -- Line 34
--[[ Upvalues[6]:
[1]: cosmetics_upvr (readonly)
[2]: References_upvr (readonly)
[3]: var7_upvw (read and write)
[4]: Services_upvr (readonly)
[5]: menu_upvr (readonly)
[6]: tbl_upvr (readonly)
]]
if cosmetics_upvr:GetAttribute("freeze") then
else
References_upvr.Main.sounds.UI.Click:Play()
if not var7_upvw then
var7_upvw = true
Services_upvr.TweenService:Create(menu_upvr.pages.cosmetics.overlay, TweenInfo.new(0.2, Enum.EasingStyle.Quint, Enum.EasingDirection.In), {
BackgroundTransparency = 1;
}):Play()
menu_upvr.pages.cosmetics.main:TweenPosition(UDim2.new(0.5, 0, 1.5, 0), Enum.EasingDirection.In, Enum.EasingStyle.Quint, 0.2, true)
cosmetics_upvr:SetAttribute("toggle", false)
task.wait(0.15)
menu_upvr.menu.Visible = true
tbl_upvr.menu:FadeIn()
script.Parent.Parent:SetAttribute("freeze", false)
task.wait(0.05)
menu_upvr.pages.cosmetics.Visible = false
var7_upvw = false
end
end
end)
menu_upvr.pages.cosmetics.main.top.back.back.MouseButton1Click:Connect(function() -- Line 60
--[[ Upvalues[1]:
[1]: BindableEvent_upvr (readonly)
]]
BindableEvent_upvr:Fire()
end)
return {
run = function(arg1) -- Line 68, Named "run"
--[[ Upvalues[5]:
[1]: tbl_upvr (readonly)
[2]: var7_upvw (read and write)
[3]: cosmetics_upvr (readonly)
[4]: menu_upvr (readonly)
[5]: Services_upvr (readonly)
]]
tbl_upvr.menu:FadeOut()
var7_upvw = true
script.Parent.Parent:SetAttribute("freeze", true)
task.wait(0.15)
cosmetics_upvr:SetAttribute("toggle", true)
menu_upvr.menu.Visible = false
menu_upvr.pages.cosmetics.Visible = true
Services_upvr.TweenService:Create(menu_upvr.pages.cosmetics.overlay, TweenInfo.new(0.3, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {
BackgroundTransparency = 0.3;
}):Play()
menu_upvr.pages.cosmetics.main:TweenPosition(UDim2.new(0.5, 0, 0.5, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Quint, 0.3, true)
var7_upvw = false
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:10:24
-- Luau version 6, Types version 3
-- Time taken: 0.004112 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local menu_upvr = References_upvr.PlayerGui:WaitForChild("menu", 100)
local ranked_upvr = script.Parent.Parent:WaitForChild("pages", 100):WaitForChild("ranked", 100)
local tbl = {
lifeTime = 3;
}
local var8_upvw = false
local tbl_upvr = {
menu = _engine:load("BulkFade", "utils").CreateGroup(menu_upvr.menu:GetDescendants(), TweenInfo.new(0.4, Enum.EasingStyle.Quint, Enum.EasingDirection.Out));
}
menu_upvr.pages.ranked.overlay.BackgroundTransparency = 1
local BindableEvent_upvr = Instance.new("BindableEvent", script)
BindableEvent_upvr.Name = "back"
BindableEvent_upvr.Event:Connect(function() -- Line 35
--[[ Upvalues[6]:
[1]: ranked_upvr (readonly)
[2]: References_upvr (readonly)
[3]: var8_upvw (read and write)
[4]: Services_upvr (readonly)
[5]: menu_upvr (readonly)
[6]: tbl_upvr (readonly)
]]
if ranked_upvr:GetAttribute("freeze") then
else
References_upvr.Main.sounds.UI.Click:Play()
if not var8_upvw then
var8_upvw = true
Services_upvr.TweenService:Create(menu_upvr.pages.ranked.overlay, TweenInfo.new(0.2, Enum.EasingStyle.Quint, Enum.EasingDirection.In), {
BackgroundTransparency = 1;
}):Play()
menu_upvr.pages.ranked.main:TweenPosition(UDim2.new(0.5, 0, 1.5, 0), Enum.EasingDirection.In, Enum.EasingStyle.Quint, 0.2, true)
task.wait(0.15)
menu_upvr.menu.Visible = true
tbl_upvr.menu:FadeIn()
script.Parent.Parent:SetAttribute("freeze", false)
ranked_upvr:SetAttribute("toggle", false)
task.wait(0.05)
menu_upvr.pages.ranked.Visible = false
var8_upvw = false
end
end
end)
menu_upvr.pages.ranked.main.top.back.back.MouseButton1Click:Connect(function() -- Line 61
--[[ Upvalues[1]:
[1]: BindableEvent_upvr (readonly)
]]
BindableEvent_upvr:Fire()
end)
return {
run = function(arg1) -- Line 69, Named "run"
--[[ Upvalues[5]:
[1]: tbl_upvr (readonly)
[2]: var8_upvw (read and write)
[3]: ranked_upvr (readonly)
[4]: menu_upvr (readonly)
[5]: Services_upvr (readonly)
]]
tbl_upvr.menu:FadeOut()
var8_upvw = true
ranked_upvr:SetAttribute("toggle", true)
script.Parent.Parent:SetAttribute("freeze", true)
task.wait(0.15)
menu_upvr.menu.Visible = false
menu_upvr.pages.ranked.Visible = true
Services_upvr.TweenService:Create(menu_upvr.pages.ranked.overlay, TweenInfo.new(0.3, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {
BackgroundTransparency = 0.3;
}):Play()
menu_upvr.pages.ranked.main:TweenPosition(UDim2.new(0.5, 0, 0.5, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Quint, 0.3, true)
var8_upvw = false
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:10:26
-- Luau version 6, Types version 3
-- Time taken: 0.056892 seconds
local _engine = _G._engine
local any_load_result1 = _engine:load("Maid")
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local LocalPlayer_upvr = References_upvr.LocalPlayer
local main = References_upvr.PlayerGui:WaitForChild("main", 100)
local backpack_upvr = main:WaitForChild("backpack", 100)
local layout_upvr = main:WaitForChild("buttons", 100):WaitForChild("layout", 100)
local any_new_result1_upvr_7 = any_load_result1.new()
local module = {
icons = {
selected = "rbxasset://textures/ui/TopBar/inventoryOn.png";
deselected = "rbxasset://textures/ui/TopBar/inventoryOff.png";
};
keymap = {
[Enum.KeyCode.One] = 1;
[Enum.KeyCode.Two] = 2;
[Enum.KeyCode.Three] = 3;
[Enum.KeyCode.Four] = 4;
[Enum.KeyCode.Five] = 5;
[Enum.KeyCode.Six] = 6;
[Enum.KeyCode.Seven] = 7;
[Enum.KeyCode.Eight] = 8;
[Enum.KeyCode.Nine] = 9;
[Enum.KeyCode.Zero] = 10;
};
tools = {};
switching = false;
clearOnRespawn = true;
destroyed = false;
}
local any_new_result1_upvr_3 = any_load_result1.new()
local any_createCollisionGroup_result1_upvr = _engine:load("GuiCollisionService", "utils").createCollisionGroup()
local any_new_result1_upvr_4 = any_load_result1.new()
local any_new_result1_upvr_2 = _engine:load("Network").new()
function module.switch(arg1, arg2) -- Line 55
--[[ Upvalues[8]:
[1]: Services_upvr (readonly)
[2]: backpack_upvr (readonly)
[3]: layout_upvr (readonly)
[4]: any_new_result1_upvr_3 (readonly)
[5]: any_createCollisionGroup_result1_upvr (readonly)
[6]: any_new_result1_upvr_4 (readonly)
[7]: References_upvr (readonly)
[8]: any_new_result1_upvr_2 (readonly)
]]
local var37
if typeof(arg2) ~= "boolean" then
var37 = false
else
var37 = true
end
assert(var37, "backpack.toggleSwitch | boolean 't' expected, got "..typeof(arg2))
if arg2 then
arg1.switching = true
var37 = Services_upvr
var37.TweenService:Create(backpack_upvr.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 0;
}):Play()
var37 = Services_upvr
var37.TweenService:Create(backpack_upvr.background.UIStroke, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Transparency = 0;
}):Play()
var37 = Services_upvr
var37.TweenService:Create(layout_upvr.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 1;
}):Play()
var37 = Services_upvr
var37.TweenService:Create(layout_upvr.selected, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 0;
ImageColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
var37 = Services_upvr
var37.TweenService:Create(layout_upvr.deselected, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 1;
ImageColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
var37 = backpack_upvr.slots:GetChildren()
local children, NONE_4 = backpack_upvr.slots:GetChildren()
for _, v in next, children, NONE_4 do
if v:IsA("Frame") then
v.Visible = true
end
end
children = arg1.tools
for i_2_upvr, v_2_upvr in next, children do
if i_2_upvr and v_2_upvr then
local var46_upvw = false
any_new_result1_upvr_3[i_2_upvr.."_mouseButton1Down"] = v_2_upvr.frame.button.MouseButton1Down:Connect(function() -- Line 78
--[[ Upvalues[8]:
[1]: v_2_upvr (readonly)
[2]: any_createCollisionGroup_result1_upvr (copied, readonly)
[3]: backpack_upvr (copied, readonly)
[4]: any_new_result1_upvr_4 (copied, readonly)
[5]: var46_upvw (read and write)
[6]: Services_upvr (copied, readonly)
[7]: arg1 (readonly)
[8]: i_2_upvr (readonly)
]]
v_2_upvr.slot.ZIndex = 2
any_createCollisionGroup_result1_upvr:addHitter(v_2_upvr.frame)
for _, v_3 in next, backpack_upvr.slots:GetChildren() do
if v_3:IsA("Frame") then
any_createCollisionGroup_result1_upvr:addCollider(v_3)
any_new_result1_upvr_4[v_3.Name.."_touchBegan"] = any_createCollisionGroup_result1_upvr:getHitter(1).CollidersTouched.Event:Connect(function(arg1_2) -- Line 86
--[[ Upvalues[4]:
[1]: var46_upvw (copied, read and write)
[2]: Services_upvr (copied, readonly)
[3]: arg1 (copied, readonly)
[4]: backpack_upvr (copied, readonly)
]]
if not var46_upvw then
for _, v_4 in next, arg1_2 do
var46_upvw = true
Services_upvr.TweenService:Create(v_4, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 0.7;
}):Play()
arg1.nearestSlot = v_4
for _, v_5 in next, backpack_upvr.slots:GetChildren() do
if v_5 and v_5:IsA("Frame") and v_5 ~= v_4 then
Services_upvr.TweenService:Create(v_5, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 0.9;
}):Play()
end
end
task.delay(0.25, function() -- Line 99
--[[ Upvalues[1]:
[1]: var46_upvw (copied, read and write)
]]
var46_upvw = false
end)
end
end
end)
end
end
any_new_result1_upvr_4[i_2_upvr.."_renderStepped"] = Services_upvr.RunService.RenderStepped:Connect(function() -- Line 108
--[[ Upvalues[2]:
[1]: Services_upvr (copied, readonly)
[2]: v_2_upvr (copied, readonly)
]]
local any_GetMouseLocation_result1 = Services_upvr.UserInputService:GetMouseLocation()
local AbsolutePosition = v_2_upvr.slot.AbsolutePosition
v_2_upvr.frame:TweenPosition(UDim2.new(0, any_GetMouseLocation_result1.X - AbsolutePosition.X - v_2_upvr.frame.AbsoluteSize.X / 2, 0, any_GetMouseLocation_result1.Y - AbsolutePosition.Y - v_2_upvr.frame.AbsoluteSize.Y / 2 - 36), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.05, true)
end)
end)
any_new_result1_upvr_3[i_2_upvr.."_inputEnded"] = Services_upvr.UserInputService.InputEnded:Connect(function(arg1_3, arg2_2) -- Line 116
--[[ Upvalues[9]:
[1]: v_2_upvr (readonly)
[2]: any_new_result1_upvr_4 (copied, readonly)
[3]: arg1 (readonly)
[4]: References_upvr (copied, readonly)
[5]: i_2_upvr (readonly)
[6]: any_new_result1_upvr_2 (copied, readonly)
[7]: any_createCollisionGroup_result1_upvr (copied, readonly)
[8]: backpack_upvr (copied, readonly)
[9]: Services_upvr (copied, readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
if arg1_3.UserInputType == Enum.UserInputType.MouseButton1 and v_2_upvr.slot.ZIndex == 2 and (arg2_2 or not arg2_2) then
any_new_result1_upvr_4:DoCleaning()
v_2_upvr.frame:TweenPosition(UDim2.new(0, 0, 0, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.01, true)
v_2_upvr.slot.ZIndex = 1
if arg1.nearestSlot then
local LayoutOrder = arg1.nearestSlot.LayoutOrder
arg1.nearestSlot.LayoutOrder = v_2_upvr.slot.LayoutOrder
local var98 = arg1
local var99
if var99 == 10 then
var98 = '0'
else
var99 = arg1.nearestSlot.LayoutOrder
var98 = tostring(var99)
end
var98.nearestSlot.Name = var98
v_2_upvr.slot.LayoutOrder = LayoutOrder
local var100 = v_2_upvr
if LayoutOrder == 10 then
var100 = '0'
else
var99 = LayoutOrder
var100 = tostring(var99)
end
var100.slot.Name = var100
var99 = v_2_upvr
var100 = var99.frame
local var101 = var100
if LayoutOrder == 10 then
var101 = '0'
else
var99 = LayoutOrder
var101 = tostring(var99)
end
var101.slot.Text = var101
var99 = v_2_upvr
var101 = var99.frame
local var102 = var101
if LayoutOrder == 10 then
var102 = '0'
else
var99 = LayoutOrder
var102 = tostring(var99)
end
var102.slotEquipped.Text = var102
var99 = References_upvr.Profile
var99 = i_2_upvr.."Slot"
var99 = v_2_upvr.slot.Name
var99.tools[var99].Value = tonumber(var99)
var99 = "replicateValue"
any_new_result1_upvr_2:send(var99, References_upvr.Profile.tools[i_2_upvr.."Slot"], tonumber(v_2_upvr.slot.Name))
var99 = "Frame"
if arg1.nearestSlot:FindFirstChildWhichIsA(var99) then
var99 = "Frame"
local var103 = var99
local instance = arg1.nearestSlot:FindFirstChildWhichIsA(var103)
if arg1.nearestSlot.LayoutOrder == 10 then
var103 = '0'
else
var103 = tostring(arg1.nearestSlot.LayoutOrder)
end
instance.slot.Text = var103
if arg1.nearestSlot.LayoutOrder == 10 then
else
end
instance.slotEquipped.Text = tostring(arg1.nearestSlot.LayoutOrder)
References_upvr.Profile.tools[instance.Name.."Slot"].Value = tonumber(arg1.nearestSlot.Name)
any_new_result1_upvr_2:send("replicateValue", References_upvr.Profile.tools[instance.Name.."Slot"], tonumber(arg1.nearestSlot.Name))
else
for _, v_6 in next, References_upvr.Profile.tools:GetChildren() do
if v_6 and v_6.Value == LayoutOrder and v_6.Name ~= i_2_upvr.."Slot" then
v_6.Value = arg1.nearestSlot.LayoutOrder
any_new_result1_upvr_2:send("replicateValue", v_6, v_6.Value)
end
end
end
end
arg1.nearestSlot = nil
if any_createCollisionGroup_result1_upvr:getHitters() then
for i_7, _ in next, any_createCollisionGroup_result1_upvr:getHitters() do
v_6 = any_createCollisionGroup_result1_upvr:removeHitter
v_6(i_7)
end
end
if any_createCollisionGroup_result1_upvr:getColliders() then
for i_8, _ in next, any_createCollisionGroup_result1_upvr:getColliders() do
v_6 = any_createCollisionGroup_result1_upvr:removeCollider
v_6(i_8)
end
end
for _, _ in next, backpack_upvr.slots:GetChildren() do
v_6 = _:IsA("Frame")
if v_6 then
v_6 = Services_upvr.TweenService
local _ = {
BackgroundTransparency = 0.9;
}
v_6 = v_6:Create(_, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), _):Play
v_6()
end
end
end
end)
end
end
else
if any_new_result1_upvr_3 then
any_new_result1_upvr_3:DoCleaning()
end
if any_new_result1_upvr_4 then
any_new_result1_upvr_4:DoCleaning()
end
if any_createCollisionGroup_result1_upvr:getHitters() then
children = any_createCollisionGroup_result1_upvr:getHitters()
local any_getHitters_result1, any_getHitters_result2 = any_createCollisionGroup_result1_upvr:getHitters()
for i_13, _ in next, any_getHitters_result1, any_getHitters_result2 do
any_createCollisionGroup_result1_upvr:removeHitter(i_13)
end
end
if any_createCollisionGroup_result1_upvr:getColliders() then
any_getHitters_result1 = any_createCollisionGroup_result1_upvr:getColliders()
local any_getColliders_result1, any_getColliders_result2 = any_createCollisionGroup_result1_upvr:getColliders()
for i_14, _ in next, any_getColliders_result1, any_getColliders_result2 do
any_createCollisionGroup_result1_upvr:removeCollider(i_14)
end
end
arg1.switching = false
arg1.nearestSlot = nil
any_getColliders_result1 = Services_upvr
any_getColliders_result1.TweenService:Create(layout_upvr.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 0;
}):Play()
any_getColliders_result1 = Services_upvr
any_getColliders_result1.TweenService:Create(layout_upvr.selected, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 1;
ImageColor3 = Color3.fromRGB(35, 39, 50);
}):Play()
any_getColliders_result1 = Services_upvr
any_getColliders_result1.TweenService:Create(layout_upvr.deselected, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 0;
ImageColor3 = Color3.fromRGB(35, 39, 50);
}):Play()
any_getColliders_result1 = Services_upvr
any_getColliders_result1.TweenService:Create(backpack_upvr.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 1;
}):Play()
any_getColliders_result1 = Services_upvr
any_getColliders_result1.TweenService:Create(backpack_upvr.background.UIStroke, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Transparency = 1;
}):Play()
any_getColliders_result1 = backpack_upvr.slots:GetChildren()
for _, v_15 in next, backpack_upvr.slots:GetChildren() do
if v_15:IsA("Frame") and not v_15:FindFirstChildWhichIsA("Frame") then
v_15.Visible = false
v_15.ZIndex = 1
v_15.BackgroundTransparency = 0.9
elseif v_15:IsA("Frame") and v_15:FindFirstChildWhichIsA("Frame") then
v_15:FindFirstChildWhichIsA("Frame").Position = UDim2.new(0, 0, 0, 0)
v_15.ZIndex = 1
v_15.BackgroundTransparency = 0.9
end
end
end
end
local any_load_result1_2_upvr = _engine:load("GoodSignal")
function module.create(arg1, arg2) -- Line 224
--[[ Upvalues[6]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
[3]: backpack_upvr (readonly)
[4]: any_load_result1_2_upvr (readonly)
[5]: any_new_result1_upvr_7 (readonly)
[6]: Services_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local function INLINED_6() -- Internal function, doesn't exist in bytecode
local var181
return var181
end
local function INLINED_7() -- Internal function, doesn't exist in bytecode
var181 = LocalPlayer_upvr.Team.Name
return var181 == "Referee"
end
local function INLINED_8() -- Internal function, doesn't exist in bytecode
var181 = arg2.Name
return var181 == "Red"
end
local function INLINED_9() -- Internal function, doesn't exist in bytecode
var181 = arg2.Name
return var181 == "Yellow"
end
local function INLINED_10() -- Internal function, doesn't exist in bytecode
var181 = arg2.Name
return var181 == "Whistle"
end
if arg2:IsA("Tool") and not arg1.tools[arg2.Name] and INLINED_6() and INLINED_7() and (INLINED_8() or INLINED_9() or INLINED_10()) then
var181 = References_upvr.Profile.tools:FindFirstChild(arg2.Name.."Slot")
if not var181 then
local IntValue_2 = Instance.new("IntValue")
IntValue_2.Name = arg2.Name.."Slot"
IntValue_2.Value = ({
Red = 1;
Yellow = 2;
Whistle = 3;
})[arg2.Name] or 1
IntValue_2.Parent = References_upvr.Profile.tools
var181 = IntValue_2
end
local SOME_2 = backpack_upvr.slots:FindFirstChild(tostring(var181.Value))
if not SOME_2 then
else
if not LocalPlayer_upvr.Character then
end
SOME_2.Visible = true
local any_new_result1_upvr_10 = any_load_result1_2_upvr.new(1)
local any_new_result1_upvr_6 = any_load_result1_2_upvr.new(1)
local clone_upvr = References_upvr.Main.ui.slot:Clone()
clone_upvr.Parent = SOME_2
clone_upvr.Name = arg2.Name
clone_upvr.tool.Text = arg2.Name
clone_upvr.toolEquipped.Text = arg2.Name
clone_upvr.slot.Text = tostring(SOME_2.Name)
clone_upvr.slotEquipped.Text = tostring(SOME_2.Name)
any_new_result1_upvr_7:GiveTask(clone_upvr)
any_new_result1_upvr_10:Connect(function() -- Line 265
--[[ Upvalues[2]:
[1]: Services_upvr (copied, readonly)
[2]: clone_upvr (readonly)
]]
Services_upvr.TweenService:Create(clone_upvr.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 0;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.background.back, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 1;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.tool, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 1;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.slot, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 1;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.toolEquipped, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 0;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.slotEquipped, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 0;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.UIStroke, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Transparency = 0;
}):Play()
end)
any_new_result1_upvr_6:Connect(function() -- Line 275
--[[ Upvalues[2]:
[1]: Services_upvr (copied, readonly)
[2]: clone_upvr (readonly)
]]
Services_upvr.TweenService:Create(clone_upvr.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 1;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.background.back, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 0.7;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.tool, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 0;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.slot, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 0;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.toolEquipped, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 1;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.slotEquipped, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 1;
}):Play()
Services_upvr.TweenService:Create(clone_upvr.UIStroke, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Transparency = 1;
}):Play()
end)
local Humanoid_upvr_2 = LocalPlayer_upvr.CharacterAdded:Wait():WaitForChild("Humanoid", 100)
any_new_result1_upvr_7[arg2.Name.."_mouseButton1Click"] = clone_upvr.button.MouseButton1Click:Connect(function() -- Line 285
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
[3]: Humanoid_upvr_2 (readonly)
]]
if not arg1.switching then
if not arg2:GetAttribute("equipped") then
Humanoid_upvr_2:EquipTool(arg2)
return
end
Humanoid_upvr_2:UnequipTools()
end
end)
any_new_result1_upvr_7[arg2.Name.."_equipped"] = arg2.Equipped:Connect(function() -- Line 295
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: any_new_result1_upvr_10 (readonly)
]]
arg2:SetAttribute("equipped", true)
any_new_result1_upvr_10:Fire()
end)
any_new_result1_upvr_7[arg2.Name.."_unequipped"] = arg2.Unequipped:Connect(function() -- Line 300
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: any_new_result1_upvr_6 (readonly)
]]
arg2:SetAttribute("equipped", false)
any_new_result1_upvr_6:Fire()
end)
local tbl_29 = {}
tbl_29.tool = arg2
tbl_29.slot = SOME_2
tbl_29.frame = clone_upvr
tbl_29.equipped = any_new_result1_upvr_10
tbl_29.unequipped = any_new_result1_upvr_6
arg1.tools[arg2.Name] = tbl_29
end
end
if References_upvr.Profile then
end
task.wait(0.1)
local tools_2 = References_upvr.Profile:FindFirstChild("tools")
if tools_2 then
Humanoid_upvr_2 = arg2.Name
any_new_result1_upvr_10 = "Slot"
tools_2 = References_upvr.Profile:FindFirstChild("tools"):FindFirstChild(Humanoid_upvr_2..any_new_result1_upvr_10)
end
local var210 = tools_2
if var210 then
var210 = tools_2.Value
end
if var210 ~= nil then
Humanoid_upvr_2 = backpack_upvr
any_new_result1_upvr_6 = var210
any_new_result1_upvr_10 = tostring(any_new_result1_upvr_6)
end
any_new_result1_upvr_6 = "Tool"
Humanoid_upvr_2 = arg2:IsA(any_new_result1_upvr_6)
if Humanoid_upvr_2 then
any_new_result1_upvr_10 = arg1.tools
any_new_result1_upvr_6 = arg2.Name
Humanoid_upvr_2 = any_new_result1_upvr_10[any_new_result1_upvr_6]
if not Humanoid_upvr_2 and tools_2 and Humanoid_upvr_2.slots:FindFirstChild(any_new_result1_upvr_10) then
any_new_result1_upvr_10 = LocalPlayer_upvr
Humanoid_upvr_2 = any_new_result1_upvr_10.Character
local var211 = Humanoid_upvr_2
if not var211 then
any_new_result1_upvr_10 = LocalPlayer_upvr
var211 = any_new_result1_upvr_10.CharacterAdded:Wait()
end
clone_upvr = "Humanoid"
any_new_result1_upvr_10 = var211:WaitForChild(clone_upvr, 100)
clone_upvr = backpack_upvr
any_new_result1_upvr_6 = clone_upvr.slots:WaitForChild(tostring(References_upvr.Profile.tools[arg2.Name.."Slot"].Value), 100)
local var212 = any_new_result1_upvr_6
clone_upvr = true
var212.Visible = clone_upvr
clone_upvr = any_load_result1_2_upvr.new(1)
local var213_upvr = clone_upvr
local any_new_result1_upvr = any_load_result1_2_upvr.new(1)
local clone_upvr_3 = References_upvr.Main.ui.slot:Clone()
clone_upvr_3.Parent = var212
clone_upvr_3.Name = arg2.Name
clone_upvr_3.tool.Text = arg2.Name
clone_upvr_3.toolEquipped.Text = arg2.Name
clone_upvr_3.slot.Text = tostring(var212.Name)
clone_upvr_3.slotEquipped.Text = tostring(var212.Name)
any_new_result1_upvr_7:GiveTask(clone_upvr_3)
var213_upvr:Connect(function() -- Line 346
--[[ Upvalues[2]:
[1]: Services_upvr (copied, readonly)
[2]: clone_upvr_3 (readonly)
]]
Services_upvr.TweenService:Create(clone_upvr_3.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 0;
}):Play()
Services_upvr.TweenService:Create(clone_upvr_3.background.back, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 1;
}):Play()
Services_upvr.TweenService:Create(clone_upvr_3.tool, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 1;
}):Play()
Services_upvr.TweenService:Create(clone_upvr_3.slot, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 1;
}):Play()
Services_upvr.TweenService:Create(clone_upvr_3.toolEquipped, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 0;
}):Play()
Services_upvr.TweenService:Create(clone_upvr_3.slotEquipped, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 0;
}):Play()
Services_upvr.TweenService:Create(clone_upvr_3.UIStroke, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Transparency = 0;
}):Play()
end)
any_new_result1_upvr:Connect(function() -- Line 356
--[[ Upvalues[2]:
[1]: Services_upvr (copied, readonly)
[2]: clone_upvr_3 (readonly)
]]
Services_upvr.TweenService:Create(clone_upvr_3.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 1;
}):Play()
Services_upvr.TweenService:Create(clone_upvr_3.background.back, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 0.7;
}):Play()
Services_upvr.TweenService:Create(clone_upvr_3.tool, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 0;
}):Play()
Services_upvr.TweenService:Create(clone_upvr_3.slot, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 0;
}):Play()
Services_upvr.TweenService:Create(clone_upvr_3.toolEquipped, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 1;
}):Play()
Services_upvr.TweenService:Create(clone_upvr_3.slotEquipped, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 1;
}):Play()
Services_upvr.TweenService:Create(clone_upvr_3.UIStroke, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Transparency = 1;
}):Play()
end)
any_new_result1_upvr_7[arg2.Name.."_mouseButton1Click"] = clone_upvr_3.button.MouseButton1Click:Connect(function() -- Line 366
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
[3]: any_new_result1_upvr_10 (readonly)
]]
if not arg1.switching then
if not arg2:GetAttribute("equipped") then
any_new_result1_upvr_10:EquipTool(arg2)
return
end
any_new_result1_upvr_10:UnequipTools()
end
end)
any_new_result1_upvr_7[arg2.Name.."_equipped"] = arg2.Equipped:Connect(function() -- Line 376
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: var213_upvr (readonly)
]]
arg2:SetAttribute("equipped", true)
var213_upvr:Fire()
end)
any_new_result1_upvr_7[arg2.Name.."_unequipped"] = arg2.Unequipped:Connect(function() -- Line 381
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: any_new_result1_upvr (readonly)
]]
arg2:SetAttribute("equipped", false)
any_new_result1_upvr:Fire()
end)
local tbl_10 = {}
tbl_10.tool = arg2
tbl_10.slot = var212
tbl_10.frame = clone_upvr_3
tbl_10.equipped = var213_upvr
tbl_10.unequipped = any_new_result1_upvr
arg1.tools[arg2.Name] = tbl_10
return
end
end
end
function module.init(arg1) -- Line 398
--[[ Upvalues[6]:
[1]: References_upvr (readonly)
[2]: Services_upvr (readonly)
[3]: LocalPlayer_upvr (readonly)
[4]: layout_upvr (readonly)
[5]: backpack_upvr (readonly)
[6]: any_new_result1_upvr_7 (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local getEffectiveInputMethod_result1 = (function() -- Line 400, Named "getEffectiveInputMethod"
--[[ Upvalues[2]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
]]
local Profile = References_upvr.Profile
if Profile and Profile.settings and Profile.settings.Visual and Profile.settings.Visual:FindFirstChild("Input Method") then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
local Value = Profile.settings.Visual:FindFirstChild("Input Method").Value
if Value == "KBM" then
return "KBM"
end
if Value == "Controller" then
return "Controller"
end
if Value == "Mobile" then
return "Touch"
end
end
if Services_upvr.UserInputService.TouchEnabled then
return "Touch"
end
if Services_upvr.UserInputService.GamepadEnabled then
return "Controller"
end
return "KBM"
end)()
print("[BACKPACK DEBUG] Input method detected:", getEffectiveInputMethod_result1)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [12] 11. Error Block 44 start (CF ANALYSIS FAILED)
if not LocalPlayer_upvr.Team or LocalPlayer_upvr.Team.Name ~= "Referee" then
end
local Character = LocalPlayer_upvr.Character
if not Character then
Character = LocalPlayer_upvr.CharacterAdded:Wait()
end
while not References_upvr.Profile:FindFirstChild("tools") do
task.wait()
end
if not arg1.backpackIcon and not script:GetAttribute("loaded") then
layout_upvr.button.MouseEnter:Connect(function() -- Line 443
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: layout_upvr (copied, readonly)
]]
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(layout_upvr.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(177, 177, 177);
}):Play()
end)
layout_upvr.button.MouseLeave:Connect(function() -- Line 448
--[[ Upvalues[2]:
[1]: Services_upvr (copied, readonly)
[2]: layout_upvr (copied, readonly)
]]
Services_upvr.TweenService:Create(layout_upvr.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end)
layout_upvr.button.MouseButton1Click:Connect(function() -- Line 452
--[[ Upvalues[2]:
[1]: References_upvr (copied, readonly)
[2]: arg1 (readonly)
]]
References_upvr.Main.sounds.UI.Click:Play()
if not arg1.switching then
arg1:switch(true)
else
arg1:switch(false)
end
end)
arg1.backpackIcon = layout_upvr
script:SetAttribute("loaded", true)
end
Services_upvr.StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, false)
backpack_upvr.Visible = true
arg1.destroyed = false
if LocalPlayer_upvr.Team and LocalPlayer_upvr.Team.Name == "Media" then
for i_10, v_10 in next, backpack_upvr.slots:GetChildren() do
if v_10:IsA("Frame") then
v_10.Visible = false
end
end
end
if LocalPlayer_upvr.Team and LocalPlayer_upvr.Team.Name == "Referee" then
local tbl_16 = {}
i_10 = 3
tbl_16[1] = 1
tbl_16[2] = 2
tbl_16[3] = i_10
for _, v_11 in ipairs(tbl_16) do
if not backpack_upvr.slots:FindFirstChild(tostring(v_11)) then
local Frame = Instance.new("Frame")
Frame.Name = tostring(v_11)
Frame.Size = UDim2.new(0, 70, 0, 70)
Frame.BackgroundTransparency = 0.9
Frame.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
Frame.BorderSizePixel = 0
Frame.Parent = backpack_upvr.slots
end
end
end
local _, _ = LocalPlayer_upvr:WaitForChild("Backpack", 100):GetChildren()
-- KONSTANTERROR: [12] 11. Error Block 44 end (CF ANALYSIS FAILED)
end
function module.clear(arg1) -- Line 597
--[[ Upvalues[2]:
[1]: backpack_upvr (readonly)
[2]: any_new_result1_upvr_7 (readonly)
]]
arg1.switching = false
arg1.destroyed = true
backpack_upvr.Visible = false
any_new_result1_upvr_7:DoCleaning()
for i_12, v_12 in next, arg1.tools do
if i_12 and v_12 then
v_12.equipped:Destroy()
v_12.unequipped:Destroy()
v_12.slot.Visible = false
end
end
table.clear(arg1.tools)
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:10:31
-- Luau version 6, Types version 3
-- Time taken: 0.012595 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local voteFix_upvr = References_upvr.PlayerGui:WaitForChild("main", 100):WaitForChild("voteFix", 100)
local module = {
toggled = false;
}
local any_load_result1_upvr = _engine:load("Theme", "utils")
local any_new_result1_upvr = _engine:load("Network").new()
function module.init(arg1) -- Line 23
--[[ Upvalues[5]:
[1]: any_load_result1_upvr (readonly)
[2]: voteFix_upvr (readonly)
[3]: References_upvr (readonly)
[4]: Services_upvr (readonly)
[5]: any_new_result1_upvr (readonly)
]]
for _, v in next, {"right", "left"} do
voteFix_upvr.progress.progress[v].circle.UIGradient.Color = ColorSequence.new({ColorSequenceKeypoint.new(0, any_load_result1_upvr.Text), ColorSequenceKeypoint.new(0.5, any_load_result1_upvr.Text), ColorSequenceKeypoint.new(0.501, any_load_result1_upvr.Accent), ColorSequenceKeypoint.new(1, any_load_result1_upvr.Accent)})
end
for _, v_2_upvr in next, voteFix_upvr.buttons:GetChildren() do
if v_2_upvr and v_2_upvr:IsA("TextButton") then
v_2_upvr.MouseEnter:Connect(function() -- Line 36
--[[ Upvalues[5]:
[1]: arg1 (readonly)
[2]: References_upvr (copied, readonly)
[3]: Services_upvr (copied, readonly)
[4]: v_2_upvr (readonly)
[5]: any_load_result1_upvr (copied, readonly)
]]
if arg1.toggled then
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(v_2_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Accent;
TextColor3 = any_load_result1_upvr.Text;
}):Play()
end
end)
v_2_upvr.MouseLeave:Connect(function() -- Line 42
--[[ Upvalues[3]:
[1]: Services_upvr (copied, readonly)
[2]: v_2_upvr (readonly)
[3]: any_load_result1_upvr (copied, readonly)
]]
Services_upvr.TweenService:Create(v_2_upvr, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = any_load_result1_upvr.Text;
TextColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end)
v_2_upvr.MouseButton1Click:Connect(function() -- Line 45
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: References_upvr (copied, readonly)
[3]: any_new_result1_upvr (copied, readonly)
[4]: v_2_upvr (readonly)
]]
if arg1.toggled then
References_upvr.Main.sounds.UI.Click:Play()
any_new_result1_upvr:send("voteFix", v_2_upvr.Name)
arg1:toggle(false)
end
end)
end
end
script:GetAttributeChangedSignal("toggle"):Connect(function() -- Line 55
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:toggle(script:GetAttribute("toggle"))
end)
end
function module.toggle(arg1, arg2) -- Line 60
--[[ Upvalues[2]:
[1]: Services_upvr (readonly)
[2]: voteFix_upvr (readonly)
]]
if arg2 then
local any_GenerateGUID_result1_upvr = Services_upvr.HttpService:GenerateGUID(false)
arg1.toggled = true
arg1.session = any_GenerateGUID_result1_upvr
voteFix_upvr.Visible = true
Services_upvr.TweenService:Create(voteFix_upvr, TweenInfo.new(0.2, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {
GroupTransparency = 0;
}):Play()
Services_upvr.TweenService:Create(voteFix_upvr.UIStroke, TweenInfo.new(0.2, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {
Transparency = 0;
}):Play()
for _, v_3 in next, {"right", "left"} do
if v_3 == "right" then
voteFix_upvr.progress.progress[v_3].circle.UIGradient.Rotation = 0
else
voteFix_upvr.progress.progress[v_3].circle.UIGradient.Rotation = 180
end
end
task.spawn(function() -- Line 79
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: any_GenerateGUID_result1_upvr (readonly)
[3]: voteFix_upvr (copied, readonly)
[4]: Services_upvr (copied, readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
for i_4 = 15, 0, -1 do
local var43
if not var43 then break end
var43 = arg1.session
if var43 ~= any_GenerateGUID_result1_upvr then break end
var43 = 1
for _, v_4 in next, {"right", "left"} do
local var45
if v_4 == "left" then
var45 = math.clamp(math.clamp((15 - i_4) / 15, 0, 1) * 100 * 3.6, 0, 360)
end
if v_4 == "left" and 180 <= voteFix_upvr.progress.progress.right.circle.UIGradient.Rotation or v_4 == "right" then
if 168 < var45 and var45 <= 192 and v_4 == "right" or v_4 == "left" and 168 < var45 and var45 <= 192 then
Services_upvr.TweenService:Create(voteFix_upvr.progress.progress[v_4].circle.UIGradient, TweenInfo.new(0.5, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut), {
Rotation = math.clamp(var45, 180, 360);
}):Play()
var43 = 0.5
else
local tbl = {}
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
tbl.Rotation = math.clamp(var45, 180, 360)
Services_upvr.TweenService:Create(voteFix_upvr.progress.progress[v_4].circle.UIGradient, TweenInfo.new(1, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut), tbl):Play()
end
end
end
task.wait(var43)
end
end)
task.spawn(function() -- Line 112
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: any_GenerateGUID_result1_upvr (readonly)
[3]: voteFix_upvr (copied, readonly)
]]
for i_6 = 15, 0, -1 do
if not arg1.session then break end
if arg1.session ~= any_GenerateGUID_result1_upvr then break end
voteFix_upvr.progress.countdown.Text = tostring(i_6)
task.wait(1)
end
if arg1.session and arg1.session == any_GenerateGUID_result1_upvr then
i_6 = false
arg1:toggle(i_6)
end
end)
else
any_GenerateGUID_result1_upvr = nil
arg1.session = any_GenerateGUID_result1_upvr
any_GenerateGUID_result1_upvr = Services_upvr.TweenService
local _ = {
GroupTransparency = 1;
}
any_GenerateGUID_result1_upvr = any_GenerateGUID_result1_upvr:Create(voteFix_upvr, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), _):Play
any_GenerateGUID_result1_upvr()
any_GenerateGUID_result1_upvr = Services_upvr.TweenService
local _ = {
Transparency = 1;
}
any_GenerateGUID_result1_upvr = any_GenerateGUID_result1_upvr:Create(voteFix_upvr.UIStroke, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), _):Play
any_GenerateGUID_result1_upvr()
any_GenerateGUID_result1_upvr = task.wait
any_GenerateGUID_result1_upvr(0.2)
any_GenerateGUID_result1_upvr = next
for _, v_5 in any_GenerateGUID_result1_upvr, {"right", "left"} do
if v_5 == "right" then
voteFix_upvr.progress.progress[v_5].circle.UIGradient.Rotation = 0
else
voteFix_upvr.progress.progress[v_5].circle.UIGradient.Rotation = 180
end
end
any_GenerateGUID_result1_upvr = false
arg1.toggled = any_GenerateGUID_result1_upvr
any_GenerateGUID_result1_upvr = voteFix_upvr
any_GenerateGUID_result1_upvr.Visible = false
end
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:10:32
-- Luau version 6, Types version 3
-- Time taken: 0.024347 seconds
local _engine = _G._engine
local any_load_result1_upvr_3 = _engine:load("Maid")
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local playerList_upvr = References_upvr.PlayerGui:WaitForChild("main", 100):WaitForChild("playerList", 100)
local list_upvr = playerList_upvr:WaitForChild("list", 100)
local module = {
layoutOrder = {"Studio", "Home", "Home GK", "-Home GK", "Away", "Away GK", "-Away GK", "Selecting", "Fans"};
getTeamName = function(arg1, arg2) -- Line 39, Named "getTeamName"
--[[ Upvalues[1]:
[1]: References_upvr (readonly)
]]
for _, v in next, References_upvr.Main.kits:GetChildren() do
if v then
for _, v_2 in next, v:GetChildren() do
if string.lower(v_2.Name) == string.lower(arg2) then
return v_2.Name
end
end
end
end
return "Team"
end;
}
local any_load_result1_upvr_2 = _engine:load("TeamService", "utils")
local config_upvr = References_upvr.Main.config
function module.newTeam(arg1, arg2) -- Line 53
--[[ Upvalues[6]:
[1]: any_load_result1_upvr_3 (readonly)
[2]: References_upvr (readonly)
[3]: list_upvr (readonly)
[4]: any_load_result1_upvr_2 (readonly)
[5]: config_upvr (readonly)
[6]: Services_upvr (readonly)
]]
if arg2 and table.find(arg1.layoutOrder, arg2.Name) then
local any_new_result1_upvr = any_load_result1_upvr_3.new()
local clone_upvr = References_upvr.Main.ui.team:Clone()
clone_upvr.Parent = list_upvr
clone_upvr.Name = arg2.Name
clone_upvr.bgFrame.BackgroundColor3 = arg2.TeamColor.Color
for var28, v_3 in next, arg1.layoutOrder do
if v_3 == arg2.Name then
clone_upvr.LayoutOrder = var28
end
end
if string.find(arg2.Name, "GK") then
if string.find(arg2.Name, "Home") then
var28 = "Home"
clone_upvr.bgFrame.BackgroundColor3 = any_load_result1_upvr_2:getTeamColorFromTeam(var28)
v_3 = arg1:getTeamName(config_upvr.Stats.Home.Team.Value)
var28 = " GK"
clone_upvr.bgFrame.teamName.Text = v_3..var28
v_3 = config_upvr.Stats
var28 = v_3.Home
function var28() -- Line 73
--[[ Upvalues[4]:
[1]: clone_upvr (readonly)
[2]: any_load_result1_upvr_2 (copied, readonly)
[3]: arg1 (readonly)
[4]: config_upvr (copied, readonly)
]]
clone_upvr.bgFrame.BackgroundColor3 = any_load_result1_upvr_2:getTeamColorFromTeam("Home")
clone_upvr.bgFrame.teamName.Text = arg1:getTeamName(config_upvr.Stats.Home.Team.Value).." GK"
end
any_new_result1_upvr[arg2.Name.."_nameChanged"] = var28.Team.Changed:Connect(var28)
v_3 = config_upvr.Stats
var28 = v_3.Home
function var28() -- Line 78
--[[ Upvalues[4]:
[1]: clone_upvr (readonly)
[2]: any_load_result1_upvr_2 (copied, readonly)
[3]: arg1 (readonly)
[4]: config_upvr (copied, readonly)
]]
clone_upvr.bgFrame.BackgroundColor3 = any_load_result1_upvr_2:getTeamColorFromTeam("Home")
clone_upvr.bgFrame.teamName.Text = arg1:getTeamName(config_upvr.Stats.Home.Team.Value).." GK"
end
any_new_result1_upvr[arg2.Name.."_kitTypeChanged"] = var28["Kit Type"].Changed:Connect(var28)
else
var28 = "Away"
clone_upvr.bgFrame.BackgroundColor3 = any_load_result1_upvr_2:getTeamColorFromTeam(var28)
v_3 = arg1:getTeamName(config_upvr.Stats.Away.Team.Value)
var28 = " GK"
clone_upvr.bgFrame.teamName.Text = v_3..var28
v_3 = config_upvr.Stats
var28 = v_3.Away
function var28() -- Line 86
--[[ Upvalues[4]:
[1]: clone_upvr (readonly)
[2]: any_load_result1_upvr_2 (copied, readonly)
[3]: arg1 (readonly)
[4]: config_upvr (copied, readonly)
]]
clone_upvr.bgFrame.BackgroundColor3 = any_load_result1_upvr_2:getTeamColorFromTeam("Away")
clone_upvr.bgFrame.teamName.Text = arg1:getTeamName(config_upvr.Stats.Away.Team.Value).." GK"
end
any_new_result1_upvr[arg2.Name.."_nameChanged"] = var28.Team.Changed:Connect(var28)
v_3 = config_upvr.Stats
var28 = v_3.Away
function var28() -- Line 91
--[[ Upvalues[4]:
[1]: clone_upvr (readonly)
[2]: any_load_result1_upvr_2 (copied, readonly)
[3]: arg1 (readonly)
[4]: config_upvr (copied, readonly)
]]
clone_upvr.bgFrame.BackgroundColor3 = any_load_result1_upvr_2:getTeamColorFromTeam("Away")
clone_upvr.bgFrame.teamName.Text = arg1:getTeamName(config_upvr.Stats.Away.Team.Value).." GK"
end
any_new_result1_upvr[arg2.Name.."_kitTypeChanged"] = var28["Kit Type"].Changed:Connect(var28)
end
elseif config_upvr.Stats:FindFirstChild(arg2.Name) then
var28 = arg2.Name
clone_upvr.bgFrame.BackgroundColor3 = any_load_result1_upvr_2:getTeamColorFromTeam(var28)
v_3 = config_upvr.Stats[arg2.Name].Team
var28 = v_3.Value
clone_upvr.bgFrame.teamName.Text = arg1:getTeamName(var28)
v_3 = config_upvr.Stats
var28 = v_3[arg2.Name]
function var28() -- Line 100
--[[ Upvalues[5]:
[1]: clone_upvr (readonly)
[2]: any_load_result1_upvr_2 (copied, readonly)
[3]: arg2 (readonly)
[4]: arg1 (readonly)
[5]: config_upvr (copied, readonly)
]]
clone_upvr.bgFrame.BackgroundColor3 = any_load_result1_upvr_2:getTeamColorFromTeam(arg2.Name)
clone_upvr.bgFrame.teamName.Text = arg1:getTeamName(config_upvr.Stats[arg2.Name].Team.Value)
end
any_new_result1_upvr[arg2.Name.."_nameChanged"] = var28.Team.Changed:Connect(var28)
v_3 = config_upvr.Stats
var28 = v_3[arg2.Name]
function var28() -- Line 105
--[[ Upvalues[5]:
[1]: clone_upvr (readonly)
[2]: any_load_result1_upvr_2 (copied, readonly)
[3]: arg2 (readonly)
[4]: arg1 (readonly)
[5]: config_upvr (copied, readonly)
]]
clone_upvr.bgFrame.BackgroundColor3 = any_load_result1_upvr_2:getTeamColorFromTeam(arg2.Name)
clone_upvr.bgFrame.teamName.Text = arg1:getTeamName(config_upvr.Stats[arg2.Name].Team.Value)
end
any_new_result1_upvr[arg2.Name.."_kitTypeChanged"] = var28["Kit Type"].Changed:Connect(var28)
else
clone_upvr.bgFrame.teamName.Text = arg2.Name
end
any_new_result1_upvr[arg2.Name.."_childAdded"] = clone_upvr.players.ChildAdded:Connect(function(arg1_2) -- Line 113
--[[ Upvalues[1]:
[1]: clone_upvr (readonly)
]]
if arg1_2 then
clone_upvr.players.Position = UDim2.new(0, 0, 0, 22)
end
end)
any_new_result1_upvr[arg2.Name.."_childRemoved"] = clone_upvr.players.ChildRemoved:Connect(function(arg1_3) -- Line 119
--[[ Upvalues[1]:
[1]: clone_upvr (readonly)
]]
if clone_upvr and clone_upvr:FindFirstChild("players") then
if #clone_upvr.players:GetChildren() == 0 or #clone_upvr.players:GetChildren() == 1 and clone_upvr.players:GetChildren()[1]:IsA("UIListLayout") then
clone_upvr.players.Position = UDim2.new(0, 0, 0, 0)
return
end
clone_upvr.players.Position = UDim2.new(0, 0, 0, 22)
end
end)
any_new_result1_upvr[arg2.Name.."_removed"] = Services_upvr.Teams.ChildRemoved:Connect(function(arg1_4) -- Line 129
--[[ Upvalues[3]:
[1]: arg2 (readonly)
[2]: clone_upvr (readonly)
[3]: any_new_result1_upvr (readonly)
]]
if arg1_4 == arg2 then
clone_upvr:Destroy()
any_new_result1_upvr:DoCleaning()
end
end)
end
end
local any_load_result1_upvr_5 = _engine:load("Whitelist", "utils")
local any_load_result1_upvr_4 = _engine:load("ContentCreators", "utils")
local any_load_result1_upvr = _engine:load("Flags", "utils")
function module.newPlayer(arg1, arg2) -- Line 138
--[[ Upvalues[8]:
[1]: list_upvr (readonly)
[2]: any_load_result1_upvr_3 (readonly)
[3]: References_upvr (readonly)
[4]: any_load_result1_upvr_5 (readonly)
[5]: any_load_result1_upvr_4 (readonly)
[6]: playerList_upvr (readonly)
[7]: any_load_result1_upvr (readonly)
[8]: Services_upvr (readonly)
]]
if arg2 then
if list_upvr:FindFirstChild(arg2.Name, true) and arg2.UserId ~= 1285117793 then
list_upvr:FindFirstChild(arg2.Name, true):Destroy()
end
local any_new_result1_upvr_2 = any_load_result1_upvr_3.new()
local clone_upvr_2 = References_upvr.Main.ui.player:Clone()
clone_upvr_2.Name = arg2.Name
while clone_upvr_2 and not clone_upvr_2:FindFirstChild("bgFrame") do
task.wait()
end
clone_upvr_2.bgFrame.playerName.Text = arg2.Name
if table.find(any_load_result1_upvr_5, arg2.UserId) then
clone_upvr_2.bgFrame.pins.tester.Visible = true
end
task.delay(2, function() -- Line 159
--[[ Upvalues[3]:
[1]: clone_upvr_2 (readonly)
[2]: arg2 (readonly)
[3]: any_load_result1_upvr_4 (copied, readonly)
]]
if clone_upvr_2 and clone_upvr_2.Parent and clone_upvr_2:FindFirstChild("bgFrame") then
local pcall_result1, pcall_result2 = pcall(function() -- Line 161
--[[ Upvalues[1]:
[1]: arg2 (copied, readonly)
]]
return arg2:GetRankInGroup(13853690)
end)
if pcall_result1 and pcall_result2 then
if 4 <= pcall_result2 or arg2.UserId == 721467746 then
for _, v_4 in next, clone_upvr_2.bgFrame.pins:GetChildren() do
if v_4 then
v_4.Visible = false
end
end
clone_upvr_2.bgFrame.pins.developer.Visible = true
elseif 2 <= pcall_result2 then
for _, v_15 in next, clone_upvr_2.bgFrame.pins:GetChildren() do
if v_15 then
v_15.Visible = false
end
end
clone_upvr_2.bgFrame.pins.director.Visible = true
-- KONSTANTWARNING: GOTO [94] #66
end
else
warn(string.format("Playerlist | An unexpected error occured while fetching user rank (%s)", pcall_result2))
end
if table.find(any_load_result1_upvr_4, arg2.UserId) then
for _, v_5 in next, clone_upvr_2.bgFrame.pins:GetChildren() do
if v_5 then
v_5.Visible = false
end
end
clone_upvr_2.bgFrame.pins.content.Visible = true
end
if clone_upvr_2.bgFrame.pins:FindFirstChild(arg2.Name) then
for _, v_6 in next, clone_upvr_2.bgFrame.pins:GetChildren() do
if v_6 then
v_6.Visible = false
end
end
clone_upvr_2.bgFrame.pins[arg2.Name].Visible = true
end
end
end)
if arg2:GetAttribute("hasRFPremium") then
for _, v_7 in next, clone_upvr_2.bgFrame.pins:GetChildren() do
if v_7 then
v_7.Visible = false
end
end
clone_upvr_2.bgFrame.pins.premium.Visible = true
end
if _G._references.Main.cards.red:FindFirstChild(arg2.Name) then
clone_upvr_2.bgFrame.cards.red.Visible = true
elseif _G._references.Main.cards.yellow:FindFirstChild(arg2.Name) then
clone_upvr_2.bgFrame.cards.yellow.Visible = true
elseif _G._references.Main.cards.warning:FindFirstChild(arg2.Name) then
clone_upvr_2.bgFrame.cards.warning.Visible = true
end
for _, v_8 in next, _G._references.Main.captains:GetChildren() do
if v_8 and v_8.Value == arg2.Name then
clone_upvr_2.bgFrame.captain.Visible = true
end
end
any_new_result1_upvr_2._attributeChangedSignal = arg2:GetAttributeChangedSignal("hasRFPremium"):Connect(function() -- Line 232
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: clone_upvr_2 (readonly)
]]
if arg2:GetAttribute("hasRFPremium") then
for _, v_9 in next, clone_upvr_2.bgFrame.pins:GetChildren() do
if v_9 then
v_9.Visible = false
end
end
clone_upvr_2.bgFrame.pins.premium.Visible = true
end
end)
any_new_result1_upvr_2._captainAdded = _G._references.Main.captains.ChildAdded:Connect(function(arg1_5) -- Line 244
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: clone_upvr_2 (readonly)
]]
if arg1_5 and arg1_5.Value == arg2.Name then
clone_upvr_2.bgFrame.captain.Visible = true
end
end)
any_new_result1_upvr_2._warningAdded = _G._references.Main.cards.warning.ChildAdded:Connect(function(arg1_6) -- Line 250
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: clone_upvr_2 (readonly)
]]
if arg1_6 and arg1_6.Name == arg2.Name then
clone_upvr_2.bgFrame.cards.warning.Visible = true
end
end)
any_new_result1_upvr_2._yellowCardAdded = _G._references.Main.cards.yellow.ChildAdded:Connect(function(arg1_7) -- Line 256
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: clone_upvr_2 (readonly)
]]
if arg1_7 and arg1_7.Name == arg2.Name then
clone_upvr_2.bgFrame.cards.warning.Visible = false
clone_upvr_2.bgFrame.cards.yellow.Visible = true
end
end)
any_new_result1_upvr_2._redCardAdded = _G._references.Main.cards.red.ChildAdded:Connect(function(arg1_8) -- Line 263
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: clone_upvr_2 (readonly)
]]
if arg1_8 and arg1_8.Name == arg2.Name then
clone_upvr_2.bgFrame.cards.warning.Visible = false
clone_upvr_2.bgFrame.cards.yellow.Visible = false
clone_upvr_2.bgFrame.cards.red.Visible = true
end
end)
any_new_result1_upvr_2._captainRemoved = _G._references.Main.captains.ChildRemoved:Connect(function(arg1_9) -- Line 271
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: clone_upvr_2 (readonly)
]]
if arg1_9 and arg1_9.Value == arg2.Name then
clone_upvr_2.bgFrame.captain.Visible = false
end
end)
any_new_result1_upvr_2._warningRemoved = _G._references.Main.cards.warning.ChildRemoved:Connect(function(arg1_10) -- Line 277
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: clone_upvr_2 (readonly)
]]
if arg1_10 and arg1_10.Name == arg2.Name then
clone_upvr_2.bgFrame.cards.warning.Visible = false
end
end)
any_new_result1_upvr_2._yellowCardRemoved = _G._references.Main.cards.yellow.ChildRemoved:Connect(function(arg1_11) -- Line 283
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: clone_upvr_2 (readonly)
]]
if arg1_11 and arg1_11.Name == arg2.Name then
clone_upvr_2.bgFrame.cards.yellow.Visible = false
end
end)
any_new_result1_upvr_2._redCardRemoved = _G._references.Main.cards.red.ChildRemoved:Connect(function(arg1_12) -- Line 289
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: clone_upvr_2 (readonly)
]]
if arg1_12 and arg1_12.Name == arg2.Name then
clone_upvr_2.bgFrame.cards.red.Visible = false
end
end)
local function _() -- Line 295, Named "updateParent"
--[[ Upvalues[3]:
[1]: arg2 (readonly)
[2]: list_upvr (copied, readonly)
[3]: clone_upvr_2 (readonly)
]]
if arg2.Team and list_upvr:FindFirstChild(arg2.Team.Name) then
clone_upvr_2.Parent = list_upvr[arg2.Team.Name].players
else
clone_upvr_2.Parent = list_upvr
end
end
local function createStat_upvr(arg1_13, arg2_2) -- Line 303, Named "createStat"
--[[ Upvalues[5]:
[1]: References_upvr (copied, readonly)
[2]: clone_upvr_2 (readonly)
[3]: playerList_upvr (copied, readonly)
[4]: list_upvr (copied, readonly)
[5]: any_new_result1_upvr_2 (readonly)
]]
local clone_upvr_3 = References_upvr.Main.ui.leaderstats:Clone()
clone_upvr_3.Parent = clone_upvr_2
clone_upvr_3.Name = arg2_2.Name
clone_upvr_3.LayoutOrder = arg1_13 + 1
clone_upvr_3.label.Text = tostring(arg2_2.Value)
playerList_upvr.Size = UDim2.new(0, clone_upvr_2.AbsoluteSize.X + 30, playerList_upvr.Size.Y.Scale, playerList_upvr.Size.Y.Offset)
list_upvr.Size = UDim2.new(0, clone_upvr_2.AbsoluteSize.X + 30, list_upvr.Size.Y.Scale, list_upvr.Size.Y.Offset)
for _, v_10 in next, list_upvr:GetChildren() do
if v_10 and v_10:IsA("Frame") then
v_10.Size = UDim2.new(0, clone_upvr_2.AbsoluteSize.X, v_10.Size.Y.Scale, v_10.Size.Y.Offset)
end
end
any_new_result1_upvr_2[clone_upvr_3.Name.."_changed"] = arg2_2.Changed:Connect(function() -- Line 319
--[[ Upvalues[2]:
[1]: clone_upvr_3 (readonly)
[2]: arg2_2 (readonly)
]]
clone_upvr_3.label.Text = tostring(arg2_2.Value)
end)
end
if arg2:FindFirstChild("leaderstats") then
for i_11, v_11 in next, arg2.leaderstats:GetChildren() do
if v_11 then
createStat_upvr(i_11, v_11)
end
end
any_new_result1_upvr_2.leaderstats_childAdded = arg2.leaderstats.ChildAdded:Connect(function(arg1_14) -- Line 331
--[[ Upvalues[2]:
[1]: createStat_upvr (readonly)
[2]: arg2 (readonly)
]]
if arg1_14 then
createStat_upvr(#arg2.leaderstats:GetChildren(), arg1_14)
end
end)
-- KONSTANTWARNING: GOTO [444] #284
end
any_new_result1_upvr_2[arg2.Name.."_childAdded"] = arg2.ChildAdded:Connect(function(arg1_15) -- Line 337
--[[ Upvalues[2]:
[1]: createStat_upvr (readonly)
[2]: any_new_result1_upvr_2 (readonly)
]]
if arg1_15.Name == "leaderstats" then
for i_12, v_12 in next, arg1_15:GetChildren() do
if v_12 then
createStat_upvr(i_12, v_12)
end
end
any_new_result1_upvr_2.leaderstats_childAdded = arg1_15.ChildAdded:Connect(function(arg1_16) -- Line 345
--[[ Upvalues[2]:
[1]: createStat_upvr (copied, readonly)
[2]: arg1_15 (readonly)
]]
if arg1_16 then
createStat_upvr(#arg1_15:GetChildren(), arg1_16)
end
end)
end
end)
if arg2:FindFirstChild("Region") then
clone_upvr_2.bgFrame.playerRegion.playerRegion.Text = any_load_result1_upvr[arg2.Region.Value].Emoji
else
any_new_result1_upvr_2[arg2.Name.."_regionAdded"] = arg2.ChildAdded:Connect(function(arg1_17) -- Line 357
--[[ Upvalues[2]:
[1]: clone_upvr_2 (readonly)
[2]: any_load_result1_upvr (copied, readonly)
]]
if arg1_17.Name == "Region" then
clone_upvr_2.bgFrame.playerRegion.playerRegion.Text = any_load_result1_upvr[arg1_17.Value].Emoji
end
end)
end
if arg2.Team and list_upvr:FindFirstChild(arg2.Team.Name) then
clone_upvr_2.Parent = list_upvr[arg2.Team.Name].players
else
clone_upvr_2.Parent = list_upvr
end
any_new_result1_upvr_2[arg2.Name.."_teamChanged"] = arg2:GetPropertyChangedSignal("Team"):Connect(function() -- Line 366
--[[ Upvalues[3]:
[1]: arg2 (readonly)
[2]: list_upvr (copied, readonly)
[3]: clone_upvr_2 (readonly)
]]
if arg2.Team and list_upvr:FindFirstChild(arg2.Team.Name) then
clone_upvr_2.Parent = list_upvr[arg2.Team.Name].players
else
clone_upvr_2.Parent = list_upvr
end
end)
any_new_result1_upvr_2[arg2.Name.."_removed"] = Services_upvr.Players.PlayerRemoving:Connect(function(arg1_18) -- Line 370
--[[ Upvalues[3]:
[1]: arg2 (readonly)
[2]: clone_upvr_2 (readonly)
[3]: any_new_result1_upvr_2 (readonly)
]]
if arg1_18 == arg2 then
clone_upvr_2:Destroy()
any_new_result1_upvr_2:DoCleaning()
end
end)
end
end
function module.init(arg1) -- Line 379
--[[ Upvalues[2]:
[1]: Services_upvr (readonly)
[2]: playerList_upvr (readonly)
]]
if not Services_upvr.UserInputService.TouchEnabled then
Services_upvr.StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, false)
Services_upvr.StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.EmotesMenu, false)
Services_upvr.UserInputService.InputBegan:Connect(function(arg1_19, arg2) -- Line 386
--[[ Upvalues[1]:
[1]: playerList_upvr (copied, readonly)
]]
if not arg2 and arg1_19.KeyCode == Enum.KeyCode.Tab then
playerList_upvr.Visible = not playerList_upvr.Visible
end
end)
for _, v_13_upvr in next, Services_upvr.Teams:GetTeams() do
task.spawn(function() -- Line 395
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: v_13_upvr (readonly)
]]
arg1:newTeam(v_13_upvr)
end)
end
Services_upvr.Teams.ChildAdded:Connect(function(arg1_20) -- Line 400
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
task.spawn(function() -- Line 401
--[[ Upvalues[2]:
[1]: arg1 (copied, readonly)
[2]: arg1_20 (readonly)
]]
arg1:newTeam(arg1_20)
end)
end)
for _, v_14_upvr in next, Services_upvr.Players:GetPlayers() do
task.spawn(function() -- Line 409
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: v_14_upvr (readonly)
]]
arg1:newPlayer(v_14_upvr)
end)
end
Services_upvr.Players.PlayerAdded:Connect(function(arg1_21) -- Line 414
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
task.spawn(function() -- Line 415
--[[ Upvalues[2]:
[1]: arg1 (copied, readonly)
[2]: arg1_21 (readonly)
]]
arg1:newPlayer(arg1_21)
end)
end)
end
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:10:34
-- Luau version 6, Types version 3
-- Time taken: 0.010323 seconds
local engine = require(game:GetService("ReplicatedStorage").engine)
local any_new_result1_upvr_3 = engine:load("Maid").new()
local References_upvr = engine.References
local Services_upvr = engine.Services
local Profile = References_upvr.Profile
local Celebrations_upvr = References_upvr.Main.animations:WaitForChild("Celebrations", 100)
local clone_upvr = workspace.game.rigs:WaitForChild("previewer", 100):Clone()
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local pcall_result1, pcall_result2 = pcall(function() -- Line 20
--[[ Upvalues[1]:
[1]: LocalPlayer_upvr (readonly)
]]
return _G._services.Players:GetCharacterAppearanceAsync(LocalPlayer_upvr.UserId)
end)
if pcall_result1 and pcall_result2 then
for _, v in next, pcall_result2:GetChildren() do
if v:IsA("Accessory") and not v:FindFirstChildWhichIsA("WrapLayer", true) then
v.Parent = clone_upvr
elseif v:IsA("BodyColors") then
v.Parent = clone_upvr
elseif v:IsA("Decal") and v.Name == "face" then
clone_upvr.Head.face.Texture = v.Texture
end
end
end
if References_upvr.Main.boots:FindFirstChild(Profile.inventory.Current.Boots.Value) then
for _, v_2 in next, clone_upvr.RightBoot:GetChildren() do
if v_2 and v_2:IsA("SurfaceAppearance") then
v_2:Destroy()
end
end
for _, v_3 in next, clone_upvr.LeftBoot:GetChildren() do
if v_3 and v_3:IsA("SurfaceAppearance") then
v_3:Destroy()
end
end
clone_upvr.RightBoot.TextureID = References_upvr.Main.boots[Profile.inventory.Current.Boots.Value].TextureID
clone_upvr.LeftBoot.TextureID = References_upvr.Main.boots[Profile.inventory.Current.Boots.Value].TextureID
if References_upvr.Main.boots[Profile.inventory.Current.Boots.Value]:FindFirstChild("SurfaceAppearance") then
References_upvr.Main.boots[Profile.inventory.Current.Boots.Value].SurfaceAppearance:Clone().Parent = clone_upvr.RightBoot
References_upvr.Main.boots[Profile.inventory.Current.Boots.Value].SurfaceAppearance:Clone().Parent = clone_upvr.LeftBoot
end
end
local celebrations_upvr = References_upvr.PlayerGui:WaitForChild("main", 100):WaitForChild("celebrations", 100)
local module = {
slots = 6;
debounce = false;
}
local any_load_result1_upvr = engine:load("Viewport")
local any_new_result1_upvr = engine:load("Network").new()
function module.create(arg1, arg2) -- Line 68
--[[ Upvalues[8]:
[1]: celebrations_upvr (readonly)
[2]: References_upvr (readonly)
[3]: any_load_result1_upvr (readonly)
[4]: clone_upvr (readonly)
[5]: Celebrations_upvr (readonly)
[6]: Services_upvr (readonly)
[7]: any_new_result1_upvr_3 (readonly)
[8]: any_new_result1_upvr (readonly)
]]
if celebrations_upvr.scroll.main:FindFirstChild("grid") then
celebrations_upvr.scroll.main.grid:Destroy()
end
local clone_upvr_2 = References_upvr.Main.ui.celebration:Clone()
clone_upvr_2.Parent = celebrations_upvr.scroll.main
clone_upvr_2.Name = arg2.Name
clone_upvr_2.main.label.label.Text = arg2.Name
clone_upvr_2.main.UIScale.Scale = 0
local unpacked_value_1_upvr, unpacked_value_2_upvr = table.unpack(any_load_result1_upvr.new({
_viewport = clone_upvr_2.main.viewport;
_model = clone_upvr;
_cameraOffset = CFrame.new(2.25, -0.4, -12) * CFrame.Angles(math.pi, 0.2, (-math.pi));
_cameraFOV = 7;
_animationData = {
_id = Celebrations_upvr[clone_upvr_2.Name].AnimationId;
_looped = true;
};
_return = "Camera";
}))
Services_upvr.TweenService:Create(clone_upvr_2.main.UIScale, TweenInfo.new(0.3, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Scale = 1;
}):Play()
celebrations_upvr.scroll.CanvasSize = UDim2.new(0, 0, 0, celebrations_upvr.scroll.main.AbsoluteSize.Y + 2)
any_new_result1_upvr_3[arg2.Name.."_mouseEnter"] = clone_upvr_2.main.button.MouseEnter:Connect(function() -- Line 95
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: clone_upvr_2 (readonly)
]]
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(clone_upvr_2.main.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(177, 177, 177);
}):Play()
end)
any_new_result1_upvr_3[arg2.Name.."_mouseLeave"] = clone_upvr_2.main.button.MouseLeave:Connect(function() -- Line 100
--[[ Upvalues[2]:
[1]: Services_upvr (copied, readonly)
[2]: clone_upvr_2 (readonly)
]]
Services_upvr.TweenService:Create(clone_upvr_2.main.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end)
any_new_result1_upvr_3[arg2.Name.."_renderStepped"] = _G._services.RunService.RenderStepped:Connect(function() -- Line 104
--[[ Upvalues[2]:
[1]: unpacked_value_1_upvr (readonly)
[2]: unpacked_value_2_upvr (readonly)
]]
unpacked_value_1_upvr.CFrame = CFrame.lookAt((unpacked_value_2_upvr.PrimaryPart.CFrame * workspace.game.cutscenes.celebrations.home.right.position.CFrame:ToObjectSpace(workspace.game.cutscenes.celebrations.home.right.corner.CFrame)).Position, unpacked_value_2_upvr.UpperTorso.CFrame.Position)
end)
any_new_result1_upvr_3[arg2.Name.."_mouseButton1Click"] = clone_upvr_2.main.button.MouseButton1Click:Connect(function() -- Line 109
--[[ Upvalues[4]:
[1]: References_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: any_new_result1_upvr (copied, readonly)
[4]: arg2 (readonly)
]]
References_upvr.Main.sounds.UI.Click:Play()
if not arg1.debounce then
arg1.debounce = true
script:SetAttribute("toggle", false)
any_new_result1_upvr:send("celebrate", arg2.Name)
end
end)
end
function module.init(arg1) -- Line 120
--[[ Upvalues[3]:
[1]: Celebrations_upvr (readonly)
[2]: References_upvr (readonly)
[3]: celebrations_upvr (readonly)
]]
for _ = 1, math.floor(#Celebrations_upvr:GetChildren() / 2 + 0.5) * 2 do
References_upvr.Main.ui.grid:Clone().Parent = celebrations_upvr.scroll.main
end
celebrations_upvr.Visible = false
script:GetAttributeChangedSignal("toggle"):Connect(function() -- Line 130
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:toggle(script:GetAttribute("toggle"))
end)
end
local any_new_result1_upvr_2 = engine:load("Janitor").new()
function module.toggle(arg1, arg2) -- Line 135
--[[ Upvalues[5]:
[1]: celebrations_upvr (readonly)
[2]: References_upvr (readonly)
[3]: any_new_result1_upvr_3 (readonly)
[4]: any_new_result1_upvr_2 (readonly)
[5]: Celebrations_upvr (readonly)
]]
if arg2 then
celebrations_upvr.Visible = true
celebrations_upvr:TweenPosition(UDim2.new(0, 10, 0.5, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.25, true)
for _, v_4 in next, References_upvr.Profile.inventory.Celebrations:GetChildren() do
if v_4 and References_upvr.Main.animations.Celebrations:FindFirstChild(v_4.Name) then
arg1:create(v_4)
end
end
else
celebrations_upvr:TweenPosition(UDim2.new(0, -350, 0.5, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.25, true)
task.wait(0.2)
celebrations_upvr.Visible = false
arg1.debounce = false
any_new_result1_upvr_3:DoCleaning()
any_new_result1_upvr_2:clean(celebrations_upvr.scroll.main:GetChildren(), "UIGridLayout")
for _ = 1, math.floor(#Celebrations_upvr:GetChildren() / 2 + 0.5) * 2 do
References_upvr.Main.ui.grid:Clone().Parent = celebrations_upvr.scroll.main
end
end
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:10:36
-- Luau version 6, Types version 3
-- Time taken: 0.064774 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local module = {
sprintSpeed = 22;
maxStamina = 100;
transitionSpeed = 0.1;
lastTick = 0;
uses = 0;
debounce = false;
transition = false;
jumping = false;
active = false;
clearOnRespawn = true;
destroyed = false;
relativeMoveDirection = function(arg1, arg2, arg3, arg4) -- Line 41, Named "relativeMoveDirection"
if arg3 ~= nil then
local LookVector = arg4.CFrame.LookVector
local RightVector_4 = arg4.CFrame.RightVector
local any_Dot_result1_7 = LookVector:Dot(arg3, LookVector)
local any_Dot_result1_3 = RightVector_4:Dot(arg3, RightVector_4)
if any_Dot_result1_7 <= 1 and 0.75 <= any_Dot_result1_7 then
return "Front"
end
if -1 <= any_Dot_result1_7 and any_Dot_result1_7 <= -0.75 then
return "Back"
end
if any_Dot_result1_3 <= 1 and 0.75 <= any_Dot_result1_3 then
return "Right"
end
local var30
if -1 <= any_Dot_result1_3 and any_Dot_result1_3 <= -0.75 then
var30 = "Left"
return var30
end
if any_Dot_result1_7 <= 1 then
if 0.5 <= any_Dot_result1_7 and any_Dot_result1_3 <= 1 and 0.5 <= any_Dot_result1_3 then
var30 = "FrontRight"
return var30
end
end
if any_Dot_result1_7 <= 1 then
if 0.5 <= any_Dot_result1_7 and -1 <= any_Dot_result1_3 and any_Dot_result1_3 <= -0.5 then
var30 = "FrontLeft"
return var30
end
end
if -1 <= any_Dot_result1_7 then
if any_Dot_result1_7 <= -0.5 and any_Dot_result1_3 <= 1 and 0.5 <= any_Dot_result1_3 then
var30 = "BackRight"
return var30
end
end
if -1 <= any_Dot_result1_7 then
if any_Dot_result1_7 <= -0.5 and -1 <= any_Dot_result1_3 and any_Dot_result1_3 <= -0.5 then
var30 = "BackLeft"
end
end
return var30
end
end;
start = function(arg1, arg2) -- Line 73, Named "start"
--[[ Upvalues[2]:
[1]: Services_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
assert(arg1.stamina, "Stamina:start() | You must call :init() before running :start() !")
if arg1.stamina.Value - 1 <= 0 then
arg1.stamina.Value = 0
arg1.humanoid.WalkSpeed = Services_upvr.StarterPlayer.CharacterWalkSpeed
script:SetAttribute("sprinting", false)
LocalPlayer_upvr.Character.Animate:SetAttribute("Sprinting", false)
arg1.active = false
else
local stamina = arg1.stamina
stamina.Value -= arg2
end
end;
heal = function(arg1, arg2) -- Line 89, Named "heal"
assert(arg1.stamina, "Stamina:heal() | You must call :init() before running :heal() !")
if arg1.stamina.Value + 1 <= arg1.maxStamina then
local stamina_2 = arg1.stamina
stamina_2.Value += 1
else
arg1.stamina.Value = arg1.maxStamina
end
end;
}
local any_load_result1_upvr = _engine:load("Monetization", "utils")
local any_load_result1_upvr_2 = _engine:load("GamePassWhitelist", "utils")
local ClientEngine_upvr = script.Parent.Parent:WaitForChild("ClientEngine")
local mobile_upvr = References_upvr.PlayerGui:WaitForChild("main", 100):WaitForChild("mobile", 100)
local menu_upvr = script.Parent.Parent:WaitForChild("visuals", 100):WaitForChild("menu", 100)
local any_load_result1_upvr_3 = _engine:load("Maid")
local any_load_result1_upvr_5 = _engine:load("Sounds")
local any_load_result1_upvr_4 = _engine:load("ParticleEmitter")
function module.init(arg1) -- Line 99
--[[ Upvalues[11]:
[1]: LocalPlayer_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
[3]: any_load_result1_upvr_2 (readonly)
[4]: References_upvr (readonly)
[5]: Services_upvr (readonly)
[6]: ClientEngine_upvr (readonly)
[7]: mobile_upvr (readonly)
[8]: menu_upvr (readonly)
[9]: any_load_result1_upvr_3 (readonly)
[10]: any_load_result1_upvr_5 (readonly)
[11]: any_load_result1_upvr_4 (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local Humanoid_upvr = LocalPlayer_upvr.Character:WaitForChild("Humanoid", 100)
local HumanoidRootPart_upvr = LocalPlayer_upvr.Character:WaitForChild("HumanoidRootPart", 100)
local any_userOwnsPass_result1 = any_load_result1_upvr.userOwnsPass(LocalPlayer_upvr, any_load_result1_upvr.gamePasses["2x Stamina"].gamePassId)
if not any_userOwnsPass_result1 then
any_userOwnsPass_result1 = table.find(any_load_result1_upvr_2, LocalPlayer_upvr.UserId)
end
if not any_load_result1_upvr.userOwnsPass(LocalPlayer_upvr, any_load_result1_upvr.gamePasses["Infinite Stamina"].gamePassId) then
local table_find_result1_upvr = table.find(any_load_result1_upvr_2, LocalPlayer_upvr.UserId)
end
if LocalPlayer_upvr.PlayerGui:FindFirstChild("UI") then
LocalPlayer_upvr.PlayerGui.UI:Destroy()
end
if References_upvr.Main.config.Time.Value == "Morning" or References_upvr.Main.config.Time.Value == "Noon" or References_upvr.Main.config.Time.Value == "Afternoon" then
Services_upvr.TweenService:Create(Services_upvr.Lighting.ColorCorrection, TweenInfo.new(0.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Saturation = tonumber(References_upvr.Main.weather[References_upvr.Main.config.Weather.Value].Day.ColorCorrection.Saturation.Value);
}):Play()
else
Services_upvr.TweenService:Create(Services_upvr.Lighting.ColorCorrection, TweenInfo.new(0.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Saturation = tonumber(References_upvr.Main.weather[References_upvr.Main.config.Weather.Value].Night.ColorCorrection.Saturation.Value);
}):Play()
end
Services_upvr.TweenService:Create(References_upvr.Main.sounds.Player.Heartbeat, TweenInfo.new(0.35, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Volume = 0;
}):Play()
if any_userOwnsPass_result1 then
arg1.maxStamina = 200
end
local clone_upvr = References_upvr.Main.sounds.Player.Breathing:Clone()
clone_upvr.Parent = HumanoidRootPart_upvr
clone_upvr:Play()
clone_upvr.Volume = 0
local any_LoadAnimation_result1_upvr = Humanoid_upvr:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Player.Run)
any_LoadAnimation_result1_upvr:AdjustWeight(0)
any_LoadAnimation_result1_upvr.Priority = Enum.AnimationPriority.Action2
local var50
if script:FindFirstChild("stamina") and not table_find_result1_upvr then
var50 = script.stamina.Value
script.stamina:Destroy()
end
local IntValue_upvr = Instance.new("IntValue", script)
IntValue_upvr.Name = "stamina"
IntValue_upvr.Value = var50
local clone_4_upvr = References_upvr.Main.ui.UI:Clone()
clone_4_upvr.Parent = LocalPlayer_upvr.PlayerGui
clone_4_upvr.Adornee = LocalPlayer_upvr.Character:WaitForChild("HumanoidRootPart", 100)
clone_4_upvr.Stamina.Bar:TweenSize(UDim2.new(1, 0, 1 - IntValue_upvr.Value / arg1.maxStamina), Enum.EasingDirection.InOut, Enum.EasingStyle.Linear, 0.2, true)
if table_find_result1_upvr then
clone_4_upvr.Stamina.BackgroundColor3 = Color3.fromRGB(62, 174, 226)
clone_4_upvr.Stamina.Infinite.Visible = true
elseif any_userOwnsPass_result1 then
clone_4_upvr.Stamina.BackgroundColor3 = Color3.fromRGB(104, 145, 156)
clone_4_upvr.Stamina.Endurance.Visible = true
task.spawn(function() -- Line 156
--[[ Upvalues[1]:
[1]: clone_4_upvr (readonly)
]]
while clone_4_upvr.Parent and clone_4_upvr.Parent.Parent do
local randint = math.random(1, 2)
for _, v_upvr in next, clone_4_upvr.Stamina.Endurance:GetChildren() do
if v_upvr and v_upvr.Name == "Sparks "..tostring(randint) then
v_upvr.Visible = true
task.delay(math.random(3, 10) / 100, function() -- Line 170
--[[ Upvalues[1]:
[1]: v_upvr (readonly)
]]
v_upvr.Visible = false
end)
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
task.wait(math.random(3, 10) / 100 - 0.02)
for _, v_2_upvr in next, clone_4_upvr.Stamina.Endurance:GetChildren() do
if v_2_upvr and v_2_upvr.Name == "Sparks "..tostring(3 - randint) then
v_2_upvr.Visible = true
task.delay(math.random(5, 7) / 100, function() -- Line 181
--[[ Upvalues[1]:
[1]: v_2_upvr (readonly)
]]
v_2_upvr.Visible = false
end)
end
end
task.wait(math.random(5, 15) / 10)
end
end)
end
local function forceStop_upvr() -- Line 192, Named "forceStop"
--[[ Upvalues[9]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: ClientEngine_upvr (copied, readonly)
[4]: mobile_upvr (copied, readonly)
[5]: Services_upvr (copied, readonly)
[6]: Humanoid_upvr (readonly)
[7]: menu_upvr (copied, readonly)
[8]: References_upvr (copied, readonly)
[9]: any_LoadAnimation_result1_upvr (readonly)
]]
script:SetAttribute("sprinting", false)
LocalPlayer_upvr.Character.Animate:SetAttribute("Sprinting", false)
arg1.active = false
arg1.jumping = false
ClientEngine_upvr:SetAttribute("moveAcceleration", 10)
mobile_upvr.contextActionSprintButton.actionIcon.ImageColor3 = Color3.fromRGB(255, 255, 255)
Services_upvr.TweenService:Create(Humanoid_upvr, TweenInfo.new(arg1.transitionSpeed, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
WalkSpeed = Services_upvr.StarterPlayer.CharacterWalkSpeed;
}):Play()
if not menu_upvr:GetAttribute("enabled") and not workspace.game.debug:FindFirstChild(LocalPlayer_upvr.Name) and not References_upvr.Main.config.CelebrationInProgress.Value then
Services_upvr.TweenService:Create(workspace.CurrentCamera, TweenInfo.new(0.25, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
FieldOfView = tonumber(References_upvr.Profile.settings.Visual["Field of View"].Value);
}):Play()
end
any_LoadAnimation_result1_upvr:Stop(0.5)
any_LoadAnimation_result1_upvr:AdjustWeight(0, 0.5)
end
arg1.maid = any_load_result1_upvr_3.new()
arg1.billboard = clone_4_upvr
arg1.stamina = IntValue_upvr
arg1.humanoid = Humanoid_upvr
arg1.rootPart = HumanoidRootPart_upvr
arg1.uses = 0
arg1.lastTick = tick()
arg1.destroyed = false
arg1.maid:GiveTask(clone_4_upvr)
mobile_upvr.contextActionSprintButton.actionIcon.ImageColor3 = Color3.fromRGB(255, 255, 255)
if References_upvr.Main.config.Weather.Value == "Clear" then
Services_upvr.TweenService:Create(clone_upvr, TweenInfo.new(0.25, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
PlaybackSpeed = 1;
Volume = 0;
}):Play()
else
Services_upvr.TweenService:Create(clone_upvr, TweenInfo.new(0.25, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
PlaybackSpeed = 1;
Volume = 1;
}):Play()
end
arg1.maid.weatherChanged = References_upvr.Main.config.Weather.Changed:Connect(function() -- Line 229
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: clone_upvr (readonly)
]]
if References_upvr.Main.config.Weather.Value == "Clear" and not script:GetAttribute("sprinting") then
Services_upvr.TweenService:Create(clone_upvr, TweenInfo.new(0.25, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
PlaybackSpeed = 1;
Volume = 0;
}):Play()
elseif References_upvr.Main.config.Weather.Value ~= "Clear" and not script:GetAttribute("sprinting") then
Services_upvr.TweenService:Create(clone_upvr, TweenInfo.new(0.25, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
PlaybackSpeed = 1;
Volume = 1;
}):Play()
end
end)
arg1.maid.propertyChanged = Humanoid_upvr:GetPropertyChangedSignal("WalkSpeed"):Connect(function() -- Line 237
--[[ Upvalues[4]:
[1]: Humanoid_upvr (readonly)
[2]: arg1 (readonly)
[3]: LocalPlayer_upvr (copied, readonly)
[4]: Services_upvr (copied, readonly)
]]
if Humanoid_upvr.WalkSpeed == arg1.sprintSpeed then
arg1.active = true
else
if Humanoid_upvr.WalkSpeed < arg1.sprintSpeed then
arg1.active = false
script:SetAttribute("sprinting", false)
LocalPlayer_upvr.Character.Animate:SetAttribute("Sprinting", false)
return
end
if arg1.sprintSpeed < Humanoid_upvr.WalkSpeed then
arg1.active = false
arg1.humanoid.WalkSpeed = Services_upvr.StarterPlayer.CharacterWalkSpeed
script:SetAttribute("sprinting", false)
LocalPlayer_upvr.Character.Animate:SetAttribute("Sprinting", false)
end
end
end)
arg1.maid.stateChanged = Humanoid_upvr.StateChanged:Connect(function(arg1_2, arg2) -- Line 252
--[[ Upvalues[8]:
[1]: table_find_result1_upvr (readonly)
[2]: arg1 (readonly)
[3]: References_upvr (copied, readonly)
[4]: any_load_result1_upvr_5 (copied, readonly)
[5]: LocalPlayer_upvr (copied, readonly)
[6]: HumanoidRootPart_upvr (readonly)
[7]: any_load_result1_upvr_4 (copied, readonly)
[8]: Services_upvr (copied, readonly)
]]
if arg2 == Enum.HumanoidStateType.Jumping then
if not table_find_result1_upvr then
arg1:start(5)
end
arg1.jumping = true
task.spawn(function() -- Line 260
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: any_load_result1_upvr_5 (copied, readonly)
[3]: LocalPlayer_upvr (copied, readonly)
]]
local children_3 = References_upvr.Main.sounds.Jump:GetChildren()
any_load_result1_upvr_5:load({
directory = LocalPlayer_upvr.Character.HumanoidRootPart;
soundId = children_3[math.random(1, #children_3)].SoundId;
rollOffMaxDistance = 75;
rollOffMinDistance = 15;
volume = 0.25;
play = true;
replicate = true;
})
end)
elseif arg2 == Enum.HumanoidStateType.Landed then
arg1.jumping = false
if not LocalPlayer_upvr.Character:GetAttribute("indoors") then
if References_upvr.Main.config.Weather.Value == "Rain" then
local children_2 = References_upvr.Main.sounds.Rain.Jump:GetChildren()
local clone_3 = References_upvr.Main.sounds.Player.Landing:Clone()
clone_3.Parent = HumanoidRootPart_upvr
clone_3.SoundId = children_2[math.random(1, #children_2)].SoundId
clone_3.Volume -= 0.125
clone_3:Play()
any_load_result1_upvr_4:emit(Vector3.new(LocalPlayer_upvr.Character.HumanoidRootPart.Position.X, 0.615, LocalPlayer_upvr.Character.HumanoidRootPart.Position.Z), References_upvr.Main.effects.splash, {
enum = "lifeTime";
lifeTime = 0.1;
})
Services_upvr.Debris:AddItem(clone_3, clone_3.TimeLength / clone_3.PlaybackSpeed)
return
end
local clone = References_upvr.Main.sounds.Player.Landing:Clone()
clone.Parent = HumanoidRootPart_upvr
clone:Play()
Services_upvr.Debris:AddItem(clone, clone.TimeLength / clone.PlaybackSpeed)
end
end
end)
arg1.maid.forceStop = script:GetAttributeChangedSignal("forceStop"):Connect(function() -- Line 301
--[[ Upvalues[1]:
[1]: forceStop_upvr (readonly)
]]
if script:GetAttribute("forceStop") then
script:SetAttribute("forceStop", false)
forceStop_upvr()
end
end)
arg1.maid.canSprint = script:GetAttributeChangedSignal("canSprint"):Connect(function() -- Line 308
--[[ Upvalues[3]:
[1]: forceStop_upvr (readonly)
[2]: LocalPlayer_upvr (copied, readonly)
[3]: arg1 (readonly)
]]
if not script:GetAttribute("canSprint") then
if script:GetAttribute("sprinting") then
forceStop_upvr()
return
end
script:SetAttribute("sprinting", false)
LocalPlayer_upvr.Character.Animate:SetAttribute("Sprinting", false)
arg1.jumping = false
arg1.active = false
end
end)
arg1.maid.staminaChanged = IntValue_upvr.Changed:Connect(function() -- Line 321
--[[ Upvalues[6]:
[1]: clone_4_upvr (readonly)
[2]: IntValue_upvr (readonly)
[3]: arg1 (readonly)
[4]: References_upvr (copied, readonly)
[5]: Services_upvr (copied, readonly)
[6]: forceStop_upvr (readonly)
]]
clone_4_upvr.Stamina.Bar:TweenSize(UDim2.new(1, 0, 1 - IntValue_upvr.Value / arg1.maxStamina), Enum.EasingDirection.InOut, Enum.EasingStyle.Linear, 0.2, true)
if IntValue_upvr.Value == 35 then
References_upvr.Main.sounds.Player.Heartbeat:Play()
Services_upvr.TweenService:Create(References_upvr.Main.sounds.Player.Heartbeat, TweenInfo.new(0.35, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Volume = 0.5;
}):Play()
Services_upvr.TweenService:Create(Services_upvr.Lighting.ColorCorrection, TweenInfo.new(0.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Saturation = -0.5;
}):Play()
else
if IntValue_upvr.Value == 36 then
Services_upvr.TweenService:Create(References_upvr.Main.sounds.Player.Heartbeat, TweenInfo.new(0.35, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Volume = 0;
}):Play()
if References_upvr.Main.config.Time.Value == "Morning" or References_upvr.Main.config.Time.Value == "Noon" or References_upvr.Main.config.Time.Value == "Afternoon" then
Services_upvr.TweenService:Create(Services_upvr.Lighting.ColorCorrection, TweenInfo.new(0.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Saturation = tonumber(References_upvr.Main.weather[References_upvr.Main.config.Weather.Value].Day.ColorCorrection.Saturation.Value);
}):Play()
else
Services_upvr.TweenService:Create(Services_upvr.Lighting.ColorCorrection, TweenInfo.new(0.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Saturation = tonumber(References_upvr.Main.weather[References_upvr.Main.config.Weather.Value].Night.ColorCorrection.Saturation.Value);
}):Play()
end
end
if IntValue_upvr.Value == 0 then
forceStop_upvr()
end
end
end)
arg1.maid.sprinting = script:GetAttributeChangedSignal("sprinting"):Connect(function() -- Line 344
--[[ Upvalues[1]:
[1]: LocalPlayer_upvr (copied, readonly)
]]
if LocalPlayer_upvr.Character and LocalPlayer_upvr.Character:FindFirstChild("Head") and LocalPlayer_upvr.Character.Head:FindFirstChild("Air") then
if script:GetAttribute("sprinting") then
LocalPlayer_upvr.Character.Head.Air.ParticleEmitter.Rate = 1.35
return
end
LocalPlayer_upvr.Character.Head.Air.ParticleEmitter.Rate = 0.65
end
end)
arg1.maid.mouseButton1Click = mobile_upvr.contextActionSprintButton.MouseButton1Down:Connect(function() -- Line 354
--[[ Upvalues[9]:
[1]: ClientEngine_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: LocalPlayer_upvr (copied, readonly)
[4]: Services_upvr (copied, readonly)
[5]: clone_upvr (readonly)
[6]: mobile_upvr (copied, readonly)
[7]: References_upvr (copied, readonly)
[8]: Humanoid_upvr (readonly)
[9]: any_LoadAnimation_result1_upvr (readonly)
]]
if ClientEngine_upvr:GetAttribute("moveAcceleration") == 10 and not arg1.jumping and script:GetAttribute("canSprint") and not LocalPlayer_upvr:GetAttribute("freeCamEnabled") and not arg1.debounce then
Services_upvr.TweenService:Create(clone_upvr, TweenInfo.new(0.25, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
PlaybackSpeed = 1;
Volume = 0;
}):Play()
ClientEngine_upvr:SetAttribute("moveAcceleration", 5)
mobile_upvr.contextActionSprintButton.actionIcon.ImageColor3 = Color3.fromRGB(7, 162, 254)
if 0.5 <= tick() - arg1.lastTick then
arg1.uses = 0
end
local var99 = arg1
var99.uses += 1
arg1.lastTick = tick()
Services_upvr.TweenService:Create(workspace.CurrentCamera, TweenInfo.new(0.25, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
FieldOfView = tonumber(References_upvr.Profile.settings.Visual["Field of View"].Value) + 10;
}):Play()
Services_upvr.TweenService:Create(Humanoid_upvr, TweenInfo.new(arg1.transitionSpeed, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
WalkSpeed = arg1.sprintSpeed;
}):Play()
any_LoadAnimation_result1_upvr:Play()
any_LoadAnimation_result1_upvr.TimePosition = script:GetAttribute("timePosition")
any_LoadAnimation_result1_upvr:AdjustWeight(1, 0.5)
any_LoadAnimation_result1_upvr:AdjustSpeed(1.2)
elseif ClientEngine_upvr:GetAttribute("moveAcceleration") == 5 and script:GetAttribute("canSprint") and not LocalPlayer_upvr:GetAttribute("freeCamEnabled") and not arg1.debounce then
if 3 <= arg1.uses and tick() - arg1.lastTick <= 0.35 then
arg1.uses = 0
task.spawn(function() -- Line 377
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.debounce = true
task.wait(0.5)
arg1.debounce = false
end)
end
ClientEngine_upvr:SetAttribute("moveAcceleration", 10)
mobile_upvr.contextActionSprintButton.actionIcon.ImageColor3 = Color3.fromRGB(255, 255, 255)
Services_upvr.TweenService:Create(workspace.CurrentCamera, TweenInfo.new(0.25, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
FieldOfView = tonumber(References_upvr.Profile.settings.Visual["Field of View"].Value);
}):Play()
Services_upvr.TweenService:Create(Humanoid_upvr, TweenInfo.new(arg1.transitionSpeed, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
WalkSpeed = Services_upvr.StarterPlayer.CharacterWalkSpeed;
}):Play()
script:SetAttribute("timePosition", any_LoadAnimation_result1_upvr.TimePosition)
any_LoadAnimation_result1_upvr:Stop(0.5)
any_LoadAnimation_result1_upvr:AdjustWeight(0, 0.5)
Services_upvr.TweenService:Create(clone_upvr, TweenInfo.new(0.25, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
PlaybackSpeed = 1;
Volume = 2;
}):Play()
task.wait(3)
if References_upvr.Main.config.Weather.Value == "Clear" then
Services_upvr.TweenService:Create(clone_upvr, TweenInfo.new(0.25, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
PlaybackSpeed = 1;
Volume = 0;
}):Play()
return
end
Services_upvr.TweenService:Create(clone_upvr, TweenInfo.new(0.25, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
PlaybackSpeed = 1;
Volume = 1;
}):Play()
end
end)
arg1.maid.inputBegan = Services_upvr.UserInputService.InputBegan:Connect(function(arg1_3, arg2) -- Line 404
--[[ Upvalues[8]:
[1]: ClientEngine_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: LocalPlayer_upvr (copied, readonly)
[4]: Services_upvr (copied, readonly)
[5]: clone_upvr (readonly)
[6]: References_upvr (copied, readonly)
[7]: Humanoid_upvr (readonly)
[8]: any_LoadAnimation_result1_upvr (readonly)
]]
local var124
if var124 == Enum.KeyCode.DPadLeft then
var124 = ClientEngine_upvr:GetAttribute("moveAcceleration")
if var124 == 10 then
var124 = arg1.jumping
if not var124 then
var124 = script:GetAttribute("canSprint")
if var124 then
var124 = LocalPlayer_upvr:GetAttribute("freeCamEnabled")
if not var124 then
var124 = arg1.debounce
if not var124 then
var124 = Services_upvr.TweenService
local _ = {
PlaybackSpeed = 1;
Volume = 0;
}
var124 = var124:Create(clone_upvr, TweenInfo.new(0.25, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), _):Play
var124()
var124 = ClientEngine_upvr:SetAttribute
var124("moveAcceleration", 5)
var124 = tick() - arg1.lastTick
if 0.5 <= var124 then
var124 = arg1
var124.uses = 0
end
var124 = arg1
var124.uses += 1
var124 = arg1
var124.lastTick = tick()
var124 = Services_upvr.TweenService
local _ = {
FieldOfView = tonumber(References_upvr.Profile.settings.Visual["Field of View"].Value) + 10;
}
var124 = var124:Create(workspace.CurrentCamera, TweenInfo.new(0.25, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), _):Play
var124()
var124 = Services_upvr.TweenService
local _ = {
WalkSpeed = arg1.sprintSpeed;
}
var124 = var124:Create(Humanoid_upvr, TweenInfo.new(arg1.transitionSpeed, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), _):Play
var124()
var124 = any_LoadAnimation_result1_upvr:Play
var124()
var124 = any_LoadAnimation_result1_upvr
var124.TimePosition = script:GetAttribute("timePosition")
var124 = any_LoadAnimation_result1_upvr:AdjustWeight
var124(1, 0.5)
var124 = any_LoadAnimation_result1_upvr:AdjustSpeed
var124(1.2)
-- KONSTANTWARNING: GOTO [331] #230
end
end
end
end
end
var124 = ClientEngine_upvr:GetAttribute("moveAcceleration")
if var124 == 5 then
var124 = script:GetAttribute("canSprint")
if var124 then
var124 = LocalPlayer_upvr:GetAttribute("freeCamEnabled")
if not var124 then
var124 = arg1.debounce
if not var124 then
var124 = arg1.uses
if 3 <= var124 then
var124 = tick() - arg1.lastTick
if var124 <= 0.35 then
var124 = arg1
var124.uses = 0
var124 = task.spawn
var124(function() -- Line 427
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.debounce = true
task.wait(0.5)
arg1.debounce = false
end)
end
end
var124 = ClientEngine_upvr:SetAttribute
var124("moveAcceleration", 10)
var124 = Services_upvr.TweenService
local _ = {
FieldOfView = tonumber(References_upvr.Profile.settings.Visual["Field of View"].Value);
}
var124 = var124:Create(workspace.CurrentCamera, TweenInfo.new(0.25, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), _):Play
var124()
var124 = Services_upvr.TweenService
local _ = {
WalkSpeed = Services_upvr.StarterPlayer.CharacterWalkSpeed;
}
var124 = var124:Create(Humanoid_upvr, TweenInfo.new(arg1.transitionSpeed, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), _):Play
var124()
var124 = script:SetAttribute
var124("timePosition", any_LoadAnimation_result1_upvr.TimePosition)
var124 = any_LoadAnimation_result1_upvr:Stop
var124(0.5)
var124 = any_LoadAnimation_result1_upvr:AdjustWeight
var124(0, 0.5)
var124 = task.spawn
var124(function() -- Line 443
--[[ Upvalues[3]:
[1]: Services_upvr (copied, readonly)
[2]: clone_upvr (copied, readonly)
[3]: References_upvr (copied, readonly)
]]
Services_upvr.TweenService:Create(clone_upvr, TweenInfo.new(0.25, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
PlaybackSpeed = 1;
Volume = 2;
}):Play()
task.wait(3)
if References_upvr.Main.config.Weather.Value == "Clear" then
Services_upvr.TweenService:Create(clone_upvr, TweenInfo.new(0.25, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
PlaybackSpeed = 1;
Volume = 0;
}):Play()
else
Services_upvr.TweenService:Create(clone_upvr, TweenInfo.new(0.25, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
PlaybackSpeed = 1;
Volume = 1;
}):Play()
end
end)
end
end
end
end
end
local function INLINED_2() -- Internal function, doesn't exist in bytecode
var124 = Services_upvr.UserInputService:GetFocusedTextBox()
return var124
end
if arg2 or INLINED_2() then
else
var124 = arg1_3.KeyCode.Name
if string.lower(var124) == "unknown" then
var124 = arg1_3.UserInputType.Name
end
if arg1_3 and string.lower(var124) == string.lower(References_upvr.Profile.binds.Misc.Sprint.Value) and not arg1.jumping and script:GetAttribute("canSprint") and not LocalPlayer_upvr:GetAttribute("freeCamEnabled") and not arg1.debounce then
ClientEngine_upvr:SetAttribute("moveAcceleration", 5)
Services_upvr.TweenService:Create(clone_upvr, TweenInfo.new(0.25, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
PlaybackSpeed = 1;
Volume = 0;
}):Play()
if 0.5 <= tick() - arg1.lastTick then
arg1.uses = 0
end
local var136 = arg1
var136.uses += 1
arg1.lastTick = tick()
Services_upvr.TweenService:Create(workspace.CurrentCamera, TweenInfo.new(0.25, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
FieldOfView = tonumber(References_upvr.Profile.settings.Visual["Field of View"].Value) + 10;
}):Play()
Services_upvr.TweenService:Create(Humanoid_upvr, TweenInfo.new(arg1.transitionSpeed, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
WalkSpeed = arg1.sprintSpeed;
}):Play()
any_LoadAnimation_result1_upvr:Play()
any_LoadAnimation_result1_upvr.TimePosition = script:GetAttribute("timePosition")
any_LoadAnimation_result1_upvr:AdjustWeight(1, 0.5)
any_LoadAnimation_result1_upvr:AdjustSpeed(1.2)
end
end
end)
arg1.maid.inputEnded = Services_upvr.UserInputService.InputEnded:Connect(function(arg1_4, arg2) -- Line 488
--[[ Upvalues[8]:
[1]: Services_upvr (copied, readonly)
[2]: References_upvr (copied, readonly)
[3]: LocalPlayer_upvr (copied, readonly)
[4]: arg1 (readonly)
[5]: ClientEngine_upvr (copied, readonly)
[6]: Humanoid_upvr (readonly)
[7]: any_LoadAnimation_result1_upvr (readonly)
[8]: clone_upvr (readonly)
]]
if arg2 or Services_upvr.UserInputService:GetFocusedTextBox() then
else
if string.lower(arg1_4.KeyCode.Name) == "unknown" then
end
if arg1_4 then
if string.lower(arg1_4.UserInputType.Name) == string.lower(References_upvr.Profile.binds.Misc.Sprint.Value) and script:GetAttribute("canSprint") and not LocalPlayer_upvr:GetAttribute("freeCamEnabled") and not arg1.debounce then
if 3 <= arg1.uses and tick() - arg1.lastTick <= 0.35 then
arg1.uses = 0
task.spawn(function() -- Line 503
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1.debounce = true
task.wait(0.5)
arg1.debounce = false
end)
end
ClientEngine_upvr:SetAttribute("moveAcceleration", 10)
Services_upvr.TweenService:Create(workspace.CurrentCamera, TweenInfo.new(0.25, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
FieldOfView = tonumber(References_upvr.Profile.settings.Visual["Field of View"].Value);
}):Play()
Services_upvr.TweenService:Create(Humanoid_upvr, TweenInfo.new(arg1.transitionSpeed, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
WalkSpeed = Services_upvr.StarterPlayer.CharacterWalkSpeed;
}):Play()
script:SetAttribute("timePosition", any_LoadAnimation_result1_upvr.TimePosition)
any_LoadAnimation_result1_upvr:Stop(0.5)
any_LoadAnimation_result1_upvr:AdjustWeight(0, 0.5)
task.spawn(function() -- Line 519
--[[ Upvalues[3]:
[1]: Services_upvr (copied, readonly)
[2]: clone_upvr (copied, readonly)
[3]: References_upvr (copied, readonly)
]]
Services_upvr.TweenService:Create(clone_upvr, TweenInfo.new(0.25, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
PlaybackSpeed = 1;
Volume = 2;
}):Play()
task.wait(3)
if References_upvr.Main.config.Weather.Value == "Clear" then
Services_upvr.TweenService:Create(clone_upvr, TweenInfo.new(0.25, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
PlaybackSpeed = 1;
Volume = 0;
}):Play()
else
Services_upvr.TweenService:Create(clone_upvr, TweenInfo.new(0.25, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
PlaybackSpeed = 1;
Volume = 1;
}):Play()
end
end)
end
end
end
end)
task.spawn(function() -- Line 532
--[[ Upvalues[7]:
[1]: arg1 (readonly)
[2]: HumanoidRootPart_upvr (readonly)
[3]: Humanoid_upvr (readonly)
[4]: forceStop_upvr (readonly)
[5]: any_LoadAnimation_result1_upvr (readonly)
[6]: LocalPlayer_upvr (copied, readonly)
[7]: table_find_result1_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 37 start (CF ANALYSIS FAILED)
task.wait(0.05)
-- KONSTANTERROR: [0] 1. Error Block 37 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [8] 7. Error Block 3 start (CF ANALYSIS FAILED)
do
return
end
-- KONSTANTERROR: [8] 7. Error Block 3 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [9] 8. Error Block 55 start (CF ANALYSIS FAILED)
local any_relativeMoveDirection_result1 = arg1:relativeMoveDirection(Humanoid_upvr, Humanoid_upvr.MoveDirection, HumanoidRootPart_upvr)
if any_relativeMoveDirection_result1 ~= "Back" then
if any_relativeMoveDirection_result1 ~= "BackRight" then
local function INLINED_3() -- Internal function, doesn't exist in bytecode
-- KONSTANTERROR: [31] 23. Error Block 36 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [31] 23. Error Block 36 start (CF ANALYSIS FAILED)
return script:GetAttribute("sprinting")
end
if any_relativeMoveDirection_result1 == "BackLeft" or INLINED_3() then
forceStop_upvr()
end
if 2 <= (HumanoidRootPart_upvr.AssemblyLinearVelocity * Vector3.new(1, 0, 1)).Magnitude and not arg1.jumping then
if any_LoadAnimation_result1_upvr.IsPlaying then
any_LoadAnimation_result1_upvr:AdjustWeight(1, 0.5)
end
if arg1.active then
script:SetAttribute("sprinting", true)
if LocalPlayer_upvr.Character:FindFirstChild("Animate") then
LocalPlayer_upvr.Character.Animate:SetAttribute("Sprinting", true)
-- KONSTANTWARNING: GOTO [152] #113
end
else
script:SetAttribute("sprinting", false)
if LocalPlayer_upvr.Character:FindFirstChild("Animate") then
LocalPlayer_upvr.Character.Animate:SetAttribute("Sprinting", false)
-- KONSTANTWARNING: GOTO [152] #113
end
end
elseif not arg1.jumping then
if any_LoadAnimation_result1_upvr.IsPlaying then
any_LoadAnimation_result1_upvr:AdjustWeight(0, 0.2)
end
script:SetAttribute("sprinting", false)
if LocalPlayer_upvr.Character:FindFirstChild("Animate") then
LocalPlayer_upvr.Character.Animate:SetAttribute("Sprinting", false)
end
end
if not table_find_result1_upvr then
if script:GetAttribute("sprinting") then
task.wait(0.1)
arg1:start(1)
else
arg1:heal()
end
end
-- KONSTANTWARNING: GOTO [0] #1
end
-- KONSTANTWARNING: GOTO [31] #23
end
-- KONSTANTERROR: [9] 8. Error Block 55 end (CF ANALYSIS FAILED)
end)
end
function module.clear(arg1) -- Line 586
arg1.maid:DoCleaning()
arg1.destroyed = true
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:10:39
-- Luau version 6, Types version 3
-- Time taken: 0.015584 seconds
local _engine = _G._engine
local any_load_result1_upvr_2 = _engine:load("Maid")
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local main_upvr = References_upvr.PlayerGui:WaitForChild("main", 100):WaitForChild("framework", 100):WaitForChild("main", 100)
local module = {
firstPersonCamera = {
sensitivity = 0.35;
smoothness = 0.05;
headOffset = CFrame.new(0, 0.7, 0);
angleX = 0;
targetAngleX = 0;
angleY = 0;
targetAngleY = 0;
camPosition = workspace.CurrentCamera.CFrame.Position;
targetCamPosition = workspace.CurrentCamera.CFrame.Position;
};
thirdPersonCamera = {
maid = any_load_result1_upvr_2.new();
func1 = 0;
func2 = 0;
func3 = 0;
func4 = 0;
val = 0;
val2 = 0;
int = 0;
int2 = 0;
vect3 = Vector3.new();
};
clearOnRespawn = true;
destroyed = false;
}
local function lerp(arg1, arg2, arg3) -- Line 60
return arg1 + (arg2 - arg1) * arg3
end
lerp = lerp -- Setting global
local any_load_result1_upvr = _engine:load("TeamService", "utils")
function module.updateTeam(arg1) -- Line 64
--[[ Upvalues[4]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
[3]: main_upvr (readonly)
[4]: any_load_result1_upvr (readonly)
]]
if LocalPlayer_upvr.Team then
if string.find(LocalPlayer_upvr.Team.Name, "Home") then
for _, v in next, References_upvr.Main.kits:GetChildren() do
if v.Name ~= "Template" then
for _, v_2 in next, v:GetChildren() do
if string.lower(v_2.Name) == string.lower(References_upvr.Main.config.Stats.Home.Team.Value) then
main_upvr.gradient.BackgroundColor3 = any_load_result1_upvr:getTeamColorFromTeam("Home")
if string.find(LocalPlayer_upvr.Team.Name, "GK") then
main_upvr.team.team.Text = v_2.Name.." GK"
else
main_upvr.team.team.Text = v_2.Name
end
end
end
end
end
else
if string.find(LocalPlayer_upvr.Team.Name, "Away") then
for _, v_4 in next, References_upvr.Main.kits:GetChildren() do
if v_4.Name ~= "Template" then
for _, v_5 in next, v_4:GetChildren() do
if string.lower(v_5.Name) == string.lower(References_upvr.Main.config.Stats.Away.Team.Value) then
main_upvr.gradient.BackgroundColor3 = any_load_result1_upvr:getTeamColorFromTeam("Away")
if string.find(LocalPlayer_upvr.Team.Name, "GK") then
main_upvr.team.team.Text = v_5.Name.." GK"
else
main_upvr.team.team.Text = v_5.Name
end
end
end
end
end
return
end
main_upvr.gradient.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
main_upvr.team.team.Text = LocalPlayer_upvr.Team.Name
end
end
main_upvr.gradient.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
main_upvr.team.team.Text = "None"
end
function module.lerp(arg1, arg2, arg3, arg4) -- Line 108
return arg2 * (1 - arg4) + arg3 * arg4
end
local menu_upvr = script.Parent.Parent:WaitForChild("visuals", 100):WaitForChild("menu", 100)
local getUp_upvr = _G._root.Parent:WaitForChild("getUp", 100)
function module.init(arg1) -- Line 112
--[[ Upvalues[7]:
[1]: LocalPlayer_upvr (readonly)
[2]: any_load_result1_upvr_2 (readonly)
[3]: main_upvr (readonly)
[4]: References_upvr (readonly)
[5]: menu_upvr (readonly)
[6]: Services_upvr (readonly)
[7]: getUp_upvr (readonly)
]]
local Head_upvr = LocalPlayer_upvr.Character:WaitForChild("Head", 100)
local Humanoid_upvr = LocalPlayer_upvr.Character:WaitForChild("Humanoid", 100)
local HumanoidRootPart_upvr = LocalPlayer_upvr.Character:WaitForChild("HumanoidRootPart", 100)
Head_upvr.Neck.MaxVelocity = 0.3333333333333333
arg1.maid = any_load_result1_upvr_2.new()
arg1.humanoid = Humanoid_upvr
arg1.rootPart = HumanoidRootPart_upvr
arg1.destroyed = false
main_upvr.player.Text = string.format("<font weight=\"heavy\">%s</font> (%s)", LocalPlayer_upvr.DisplayName, LocalPlayer_upvr.Name)
if game.PlaceId == 15758062201 then
workspace.CurrentCamera.FieldOfView = tonumber(References_upvr.Profile.settings.Visual["Field of View"].Value)
end
arg1:updateTeam()
script:SetAttribute("firstPersonEnabled", false)
local NumberValue_upvr = Instance.new("NumberValue")
NumberValue_upvr.Value = 1
arg1.maid:GiveTask(NumberValue_upvr)
arg1.maid.attributeChangedSignal = script:GetAttributeChangedSignal("firstPersonEnabled"):Connect(function() -- Line 140
--[[ Upvalues[4]:
[1]: menu_upvr (copied, readonly)
[2]: main_upvr (copied, readonly)
[3]: LocalPlayer_upvr (copied, readonly)
[4]: Services_upvr (copied, readonly)
]]
if script:GetAttribute("firstPersonEnabled") and not menu_upvr:GetAttribute("enabled") then
main_upvr.Visible = true
for _, v_3 in next, LocalPlayer_upvr.Character:GetChildren() do
if v_3.Name == "Head" then
v_3.LocalTransparencyModifier = 1
v_3.CanCollide = false
v_3:FindFirstChildWhichIsA("Decal").LocalTransparencyModifier = 1
elseif v_3:IsA("Accessory") then
v_3.Handle.LocalTransparencyModifier = 1
v_3.Handle.CanCollide = false
end
end
LocalPlayer_upvr.CameraMinZoomDistance = 5
LocalPlayer_upvr.CameraMaxZoomDistance = 5
else
main_upvr.Visible = false
for _, v_6 in next, LocalPlayer_upvr.Character:GetChildren() do
if v_6.Name == "Head" then
v_6.LocalTransparencyModifier = 0
v_6.CanCollide = false
v_6:FindFirstChildWhichIsA("Decal").LocalTransparencyModifier = 0
elseif v_6:IsA("Accessory") then
v_6.Handle.LocalTransparencyModifier = 0
v_6.Handle.CanCollide = false
end
end
LocalPlayer_upvr.CameraMinZoomDistance = 0.5
LocalPlayer_upvr.CameraMaxZoomDistance = Services_upvr.StarterPlayer.CameraMaxZoomDistance
end
end)
arg1.maid.teamChanged = LocalPlayer_upvr:GetPropertyChangedSignal("Team"):Connect(function() -- Line 178
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:updateTeam()
end)
arg1.maid.homeTeamChanged = References_upvr.Main.config.Stats.Home.Team.Changed:Connect(function() -- Line 182
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:updateTeam()
end)
arg1.maid.homeKitTypeChanged = References_upvr.Main.config.Stats.Home["Kit Type"].Changed:Connect(function() -- Line 186
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:updateTeam()
end)
arg1.maid.awayTeamChanged = References_upvr.Main.config.Stats.Away.Team.Changed:Connect(function() -- Line 190
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:updateTeam()
end)
arg1.maid.awayKitTypeChanged = References_upvr.Main.config.Stats.Away["Kit Type"].Changed:Connect(function() -- Line 194
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:updateTeam()
end)
arg1.maid.getUpToggle = getUp_upvr:GetAttributeChangedSignal("toggle"):Connect(function() -- Line 198
--[[ Upvalues[3]:
[1]: getUp_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: NumberValue_upvr (readonly)
]]
if getUp_upvr:GetAttribute("toggle") then
Services_upvr.TweenService:Create(NumberValue_upvr, TweenInfo.new(0.25, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Value = 0;
}):Play()
else
Services_upvr.TweenService:Create(NumberValue_upvr, TweenInfo.new(0.25, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Value = 1;
}):Play()
end
end)
arg1.maid.inputChanged = Services_upvr.UserInputService.InputChanged:Connect(function(arg1_2) -- Line 206
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_2.UserInputType == Enum.UserInputType.MouseMovement then
local var51 = Vector2.new(arg1_2.Delta.X / arg1.firstPersonCamera.sensitivity, arg1_2.Delta.Y / arg1.firstPersonCamera.sensitivity) * arg1.firstPersonCamera.smoothness
local var52 = arg1.firstPersonCamera.targetAngleX - var51.Y
local var53 = arg1
if 80 <= var52 then
var53 = 80
elseif var52 <= -80 then
var53 = -80
else
var53 = var52
end
var53.firstPersonCamera.targetAngleX = var53
arg1.firstPersonCamera.targetAngleY = (arg1.firstPersonCamera.targetAngleY - var51.X) % 360
end
end)
arg1.maid.inputBegan = Services_upvr.UserInputService.InputBegan:Connect(function(arg1_3, arg2) -- Line 216
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: menu_upvr (copied, readonly)
[3]: LocalPlayer_upvr (copied, readonly)
]]
local var55
if string.lower(arg1_3.KeyCode.Name) == "unknown" then
var55 = arg1_3.UserInputType.Name
end
if not arg2 and string.lower(var55) == string.lower(References_upvr.Profile.binds.Misc["Toggle Perspective"].Value) and not menu_upvr:GetAttribute("enabled") and not workspace.game.debug:FindFirstChild(LocalPlayer_upvr.Name) then
script:SetAttribute("firstPersonEnabled", not script:GetAttribute("firstPersonEnabled"))
end
end)
local C0_upvr = Head_upvr.Neck.C0
arg1.maid.renderStepped = Services_upvr.RunService.RenderStepped:Connect(function(arg1_4) -- Line 228
--[[ Upvalues[11]:
[1]: HumanoidRootPart_upvr (readonly)
[2]: Head_upvr (readonly)
[3]: LocalPlayer_upvr (copied, readonly)
[4]: Services_upvr (copied, readonly)
[5]: C0_upvr (readonly)
[6]: arg1 (readonly)
[7]: getUp_upvr (copied, readonly)
[8]: References_upvr (copied, readonly)
[9]: menu_upvr (copied, readonly)
[10]: Humanoid_upvr (readonly)
[11]: NumberValue_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [20] 14. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [20] 14. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [90] 63. Error Block 119 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [90] 63. Error Block 119 end (CF ANALYSIS FAILED)
end)
end
function module.clear(arg1) -- Line 350
arg1.maid:DoCleaning()
arg1.destroyed = true
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:10:40
-- Luau version 6, Types version 3
-- Time taken: 0.010938 seconds
local _engine = _G._engine
local any_load_result1_upvr = _engine:load("Balls")
local Services_upvr = _engine.Services
local RaycastParams_new_result1_upvr = RaycastParams.new()
RaycastParams_new_result1_upvr.FilterDescendantsInstances = any_load_result1_upvr.GetBalls()
RaycastParams_new_result1_upvr.FilterType = Enum.RaycastFilterType.Include
local OverlapParams_new_result1_upvr = OverlapParams.new()
OverlapParams_new_result1_upvr.FilterDescendantsInstances = any_load_result1_upvr.GetBalls()
OverlapParams_new_result1_upvr.FilterType = Enum.RaycastFilterType.Include
any_load_result1_upvr.BallAdded:Connect(function() -- Line 23
--[[ Upvalues[3]:
[1]: any_load_result1_upvr (readonly)
[2]: RaycastParams_new_result1_upvr (readonly)
[3]: OverlapParams_new_result1_upvr (readonly)
]]
local any_GetBalls_result1_2 = any_load_result1_upvr.GetBalls()
RaycastParams_new_result1_upvr.FilterDescendantsInstances = any_GetBalls_result1_2
OverlapParams_new_result1_upvr.FilterDescendantsInstances = any_GetBalls_result1_2
end)
any_load_result1_upvr.BallRemoved:Connect(function() -- Line 29
--[[ Upvalues[3]:
[1]: any_load_result1_upvr (readonly)
[2]: RaycastParams_new_result1_upvr (readonly)
[3]: OverlapParams_new_result1_upvr (readonly)
]]
local any_GetBalls_result1 = any_load_result1_upvr.GetBalls()
RaycastParams_new_result1_upvr.FilterDescendantsInstances = any_GetBalls_result1
OverlapParams_new_result1_upvr.FilterDescendantsInstances = any_GetBalls_result1
end)
local module_upvr = {
debounces = {};
occluded = false;
useExpensives = true;
}
local function _(arg1, arg2, arg3, arg4) -- Line 43, Named "registerTouchEvent"
--[[ Upvalues[5]:
[1]: any_load_result1_upvr (readonly)
[2]: module_upvr (readonly)
[3]: Services_upvr (readonly)
[4]: RaycastParams_new_result1_upvr (readonly)
[5]: OverlapParams_new_result1_upvr (readonly)
]]
local function onTouch_upvr(arg1_2) -- Line 44, Named "onTouch"
--[[ Upvalues[6]:
[1]: any_load_result1_upvr (copied, readonly)
[2]: module_upvr (copied, readonly)
[3]: arg3 (readonly)
[4]: arg4 (read and write)
[5]: arg2 (readonly)
[6]: arg1 (readonly)
]]
if arg1_2 and (any_load_result1_upvr.IsBall(arg1_2) or any_load_result1_upvr.IsClientBall(arg1_2)) or not module_upvr.debounces[arg3] and (arg1_2:FindFirstAncestor("replay") or arg1_2:FindFirstChild("replication") and arg4 <= (arg1_2.replication.AssemblyLinearVelocity.Value * Vector3.new(1, 0, 1)).Magnitude) or not arg1_2:GetAttribute("netHit") then
module_upvr.debounces[arg3] = true
if arg1_2:GetAttribute("replay") then
arg1_2:SetAttribute("netHit", true)
end
if arg3 == "Bottom" or arg3 == "Middle" or arg3 == "Top" then
if _G._references.Main.animations.Net.Collision:FindFirstChild(arg2.Parent.Name) and _G._references.Main.animations.Net.Collision[arg2.Parent.Name]:FindFirstChild(arg3) then
local any_LoadAnimation_result1 = arg1.Net.AnimationController.Animator:LoadAnimation(_G._references.Main.animations.Net.Collision[arg2.Parent.Name][arg3])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
end
if not module_upvr.debounces.Collide then
local Net = _G._references.Main.sounds.Ball.Net
local clone_upvr = Net:Clone()
clone_upvr.Parent = arg2
clone_upvr.PlaybackSpeed = Net.PlaybackSpeed or 1
clone_upvr.RollOffMaxDistance = Net.RollOffMaxDistance or 10000
clone_upvr.RollOffMinDistance = Net.RollOffMinDistance or 10
local RollOffMode_2 = Net.RollOffMode
if not RollOffMode_2 then
RollOffMode_2 = Enum.RollOffMode.Inverse
end
clone_upvr.RollOffMode = RollOffMode_2
clone_upvr.Looped = Net.Looped or false
clone_upvr.Volume = Net.Volume or 0.5
clone_upvr:Play()
task.delay(1, function() -- Line 71
--[[ Upvalues[1]:
[1]: clone_upvr (readonly)
]]
clone_upvr:Destroy()
end)
end
clone_upvr = module_upvr
clone_upvr = true
clone_upvr.debounces.Collide = clone_upvr
clone_upvr = 1.5
task.wait(clone_upvr)
clone_upvr = module_upvr
clone_upvr = arg3
clone_upvr.debounces[clone_upvr] = nil
clone_upvr = module_upvr
clone_upvr = nil
clone_upvr.debounces.Collide = clone_upvr
return
end
clone_upvr = _G._references.Main.sounds.Ball
local var16 = clone_upvr[arg3]
clone_upvr = var16:Clone()
local var17 = clone_upvr
var17.Parent = arg2
var17.PlaybackSpeed = var16.PlaybackSpeed or 1
var17.RollOffMaxDistance = var16.RollOffMaxDistance or 10000
var17.RollOffMinDistance = var16.RollOffMinDistance or 10
local RollOffMode = var16.RollOffMode
if not RollOffMode then
RollOffMode = Enum.RollOffMode.Inverse
end
var17.RollOffMode = RollOffMode
var17.Looped = var16.Looped or false
var17.Volume = var16.Volume or 0.5
var17:Play()
task.wait(1.5)
module_upvr.debounces[arg3] = nil
var17:Destroy()
end
end
arg4 = arg4 or 0
Services_upvr.RunService.RenderStepped:Connect(function() -- Line 102
--[[ Upvalues[5]:
[1]: module_upvr (copied, readonly)
[2]: arg2 (readonly)
[3]: RaycastParams_new_result1_upvr (copied, readonly)
[4]: onTouch_upvr (readonly)
[5]: OverlapParams_new_result1_upvr (copied, readonly)
]]
if module_upvr.useExpensives then
for _, v in next, {
front = workspace:Raycast(arg2.Position, (arg2.CFrame.LookVector) * (arg2.Size.Z / 1.75), RaycastParams_new_result1_upvr);
back = workspace:Raycast(arg2.Position, arg2.CFrame.LookVector * -(arg2.Size.Z / 1.75), RaycastParams_new_result1_upvr);
right = workspace:Raycast(arg2.Position, (arg2.CFrame.RightVector) * (arg2.Size.X / 1.75), RaycastParams_new_result1_upvr);
left = workspace:Raycast(arg2.Position, arg2.CFrame.RightVector * -(arg2.Size.X / 1.75), RaycastParams_new_result1_upvr);
up = workspace:Raycast(arg2.Position, (arg2.CFrame.UpVector) * (arg2.Size.Y / 1.75), RaycastParams_new_result1_upvr);
down = workspace:Raycast(arg2.Position, arg2.CFrame.UpVector * -(arg2.Size.Y / 1.75), RaycastParams_new_result1_upvr);
} do
if v and v.Instance then
onTouch_upvr(v.Instance)
end
end
else
for _, v_5 in next, workspace:GetPartsInPart(arg2, OverlapParams_new_result1_upvr) do
if v_5 and v_5 then
onTouch_upvr(v_5)
end
end
end
end)
end
local nets_upvr = workspace.pitch.nets
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local References_upvr = _engine.References
function module_upvr.init(arg1) -- Line 132
--[[ Upvalues[8]:
[1]: nets_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
[3]: module_upvr (readonly)
[4]: Services_upvr (readonly)
[5]: RaycastParams_new_result1_upvr (readonly)
[6]: OverlapParams_new_result1_upvr (readonly)
[7]: LocalPlayer_upvr (readonly)
[8]: References_upvr (readonly)
]]
-- KONSTANTERROR: [669] 420. Error Block 50 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [669] 420. Error Block 50 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 65 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [669.1]
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [669.2]
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [669.3]
for _, _ in nil do
end
for _, _ in nil do
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [669.6]
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [669.7]
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [669.8]
for _, _ in nil do
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [669.11]
local function INLINED() -- Internal function, doesn't exist in bytecode
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return nil == "Middle"
end
local function INLINED_2() -- Internal function, doesn't exist in bytecode
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return nil == "Top"
end
if nil == "Bottom" or INLINED() or INLINED_2() then
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x3)
end
-- KONSTANTERROR: [0] 1. Error Block 65 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [98] 65. Error Block 63 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
-- KONSTANTERROR: [98] 65. Error Block 63 end (CF ANALYSIS FAILED)
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:10:42
-- Luau version 6, Types version 3
-- Time taken: 0.008391 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local PlayerGui = References_upvr.PlayerGui
local soundtrack_upvr = Services_upvr.SoundService:WaitForChild("soundtrack", 100)
local children_upvr = References_upvr.Main.sounds.Soundtrack:GetChildren()
local Soundtrack_Volume_upvr = References_upvr.Profile.settings.Audio["Soundtrack Volume"]
local mute_upvr = PlayerGui:WaitForChild("main", 100):WaitForChild("buttons", 100):WaitForChild("mute", 100)
local module = {
debounce = false;
}
local menu_upvr = PlayerGui:WaitForChild("menu", 100)
function module.play(arg1, arg2, arg3) -- Line 30
--[[ Upvalues[5]:
[1]: menu_upvr (readonly)
[2]: Services_upvr (readonly)
[3]: soundtrack_upvr (readonly)
[4]: mute_upvr (readonly)
[5]: Soundtrack_Volume_upvr (readonly)
]]
local var13
if arg1.debounce then
else
var13 = menu_upvr.pages.soundtrack.main.current
var13 = arg2.Name
var13.track.Text = var13
var13 = menu_upvr.pages.soundtrack.main.current
local function INLINED() -- Internal function, doesn't exist in bytecode
var13 = arg2.Artist.Value
return var13
end
if not arg2:FindFirstChild("Artist") or not INLINED() then
var13 = "Various Artists"
end
var13.artist.Text = var13
var13 = menu_upvr.pages.soundtrack.main.current
local function INLINED_2() -- Internal function, doesn't exist in bytecode
var13 = arg2.Cover.Value
return var13
end
if not arg2:FindFirstChild("Cover") or not INLINED_2() then
var13 = "rbxassetid://15944529435"
end
var13.cover.Image = var13
if arg1.lastPlayed and not arg3 then
arg1.debounce = true
var13 = Services_upvr
var13.TweenService:Create(soundtrack_upvr, TweenInfo.new(1.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Volume = 0;
}):Play()
var13 = 2
task.wait(var13)
arg1.debounce = false
end
arg1.lastPlayed = arg2
var13 = arg2.SoundId
soundtrack_upvr.SoundId = var13
var13 = arg2.PlaybackSpeed
soundtrack_upvr.PlaybackSpeed = var13
var13 = mute_upvr.mute
if not var13.Visible then
var13 = (arg2.Volume) * (tonumber(Soundtrack_Volume_upvr.Value) / 100)
soundtrack_upvr.Volume = var13
end
while true do
var13 = soundtrack_upvr
if var13.IsLoaded then break end
task.wait()
end
soundtrack_upvr:Play()
function var13() -- Line 61
--[[ Upvalues[2]:
[1]: soundtrack_upvr (copied, readonly)
[2]: arg1 (readonly)
]]
soundtrack_upvr.Ended:Wait()
task.wait(5)
arg1:cycle()
end
task.spawn(var13)
end
end
function module.cycle(arg1) -- Line 69
--[[ Upvalues[1]:
[1]: children_upvr (readonly)
]]
local tbl = {}
for _, v in next, children_upvr do
if v and v ~= arg1.lastPlayed then
table.insert(tbl, v)
end
end
arg1:play(tbl[math.random(1, #tbl)], true)
end
local any_new_result1_upvr = _engine:load("Network").new()
function module.init(arg1) -- Line 82
--[[ Upvalues[7]:
[1]: Services_upvr (readonly)
[2]: Soundtrack_Volume_upvr (readonly)
[3]: mute_upvr (readonly)
[4]: soundtrack_upvr (readonly)
[5]: children_upvr (readonly)
[6]: References_upvr (readonly)
[7]: any_new_result1_upvr (readonly)
]]
task.spawn(function() -- Line 83
--[[ Upvalues[8]:
[1]: Services_upvr (copied, readonly)
[2]: Soundtrack_Volume_upvr (copied, readonly)
[3]: mute_upvr (copied, readonly)
[4]: soundtrack_upvr (copied, readonly)
[5]: arg1 (readonly)
[6]: children_upvr (copied, readonly)
[7]: References_upvr (copied, readonly)
[8]: any_new_result1_upvr (copied, readonly)
]]
while true do
local var19_upvw
var19_upvw = _G._loaded
if var19_upvw then break end
var19_upvw = Services_upvr.RunService:IsStudio()
if var19_upvw then break end
var19_upvw = task.wait
var19_upvw()
end
var19_upvw = tonumber(Soundtrack_Volume_upvr.Value)
if var19_upvw == 0 then
var19_upvw = 100
end
local var20 = mute_upvr
if Soundtrack_Volume_upvr.Value == 0 then
var20 = true
else
var20 = false
end
var20.mute.Visible = var20
mute_upvr.unmute.Visible = not mute_upvr.mute.Visible
soundtrack_upvr.Volume = Soundtrack_Volume_upvr.Value
arg1.lastPlayed = children_upvr[math.random(1, #children_upvr)]
mute_upvr.button.MouseEnter:Connect(function() -- Line 99
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: mute_upvr (copied, readonly)
]]
References_upvr.Main.sounds.UI.Hover:Play()
Services_upvr.TweenService:Create(mute_upvr.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(177, 177, 177);
}):Play()
end)
mute_upvr.button.MouseLeave:Connect(function() -- Line 104
--[[ Upvalues[2]:
[1]: Services_upvr (copied, readonly)
[2]: mute_upvr (copied, readonly)
]]
Services_upvr.TweenService:Create(mute_upvr.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.fromRGB(255, 255, 255);
}):Play()
end)
mute_upvr.button.MouseButton1Click:Connect(function() -- Line 108
--[[ Upvalues[7]:
[1]: References_upvr (copied, readonly)
[2]: mute_upvr (copied, readonly)
[3]: var19_upvw (read and write)
[4]: Soundtrack_Volume_upvr (copied, readonly)
[5]: soundtrack_upvr (copied, readonly)
[6]: any_new_result1_upvr (copied, readonly)
[7]: arg1 (copied, readonly)
]]
References_upvr.Main.sounds.UI.Click:Play()
mute_upvr.mute.Visible = not mute_upvr.mute.Visible
mute_upvr.unmute.Visible = not mute_upvr.unmute.Visible
if mute_upvr.mute.Visible then
var19_upvw = Soundtrack_Volume_upvr.Value
soundtrack_upvr.Volume = 0
Soundtrack_Volume_upvr.Value = 0
any_new_result1_upvr:send("replicateValue", Soundtrack_Volume_upvr, 0)
elseif arg1.lastPlayed then
Soundtrack_Volume_upvr.Value = var19_upvw
any_new_result1_upvr:send("replicateValue", Soundtrack_Volume_upvr, var19_upvw)
soundtrack_upvr.Volume = (arg1.lastPlayed.Volume) * (tonumber(Soundtrack_Volume_upvr.Value) / 100)
Soundtrack_Volume_upvr.Value = (arg1.lastPlayed.Volume) * (tonumber(Soundtrack_Volume_upvr.Value) / 100)
end
end)
Soundtrack_Volume_upvr.Changed:Connect(function() -- Line 127
--[[ Upvalues[2]:
[1]: Soundtrack_Volume_upvr (copied, readonly)
[2]: mute_upvr (copied, readonly)
]]
if Soundtrack_Volume_upvr.Value == 0 then
mute_upvr.mute.Visible = true
mute_upvr.unmute.Visible = false
else
mute_upvr.mute.Visible = false
mute_upvr.unmute.Visible = true
end
end)
arg1:cycle()
end)
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:10:43
-- Luau version 6, Types version 3
-- Time taken: 0.002482 seconds
local _engine = _G._engine
local module = {
materials = {
Default = _G._references.Main.sounds.Materials.Indoors.SoundId;
[Enum.Material.Grass] = _G._references.Main.sounds.Materials.Grass.SoundId;
};
clearOnRespawn = true;
}
local LocalPlayer_upvr = _engine.Services.Players.LocalPlayer
local References_upvr = _engine.References
local movementController_upvr = script.Parent:WaitForChild("movementController", 100)
function module.init(arg1) -- Line 22
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
[3]: movementController_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
arg1.destroyed = false
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [314] 192. Error Block 40 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [314] 192. Error Block 40 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [3] 3. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
-- KONSTANTERROR: [3] 3. Error Block 2 end (CF ANALYSIS FAILED)
end
local any_new_result1_upvr = _engine:load("Maid").new()
function module.clear(arg1) -- Line 70
--[[ Upvalues[1]:
[1]: any_new_result1_upvr (readonly)
]]
any_new_result1_upvr:DoCleaning()
arg1.destroyed = true
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:10:45
-- Luau version 6, Types version 3
-- Time taken: 0.010320 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local config_upvr = References_upvr.Main.config
local module_upvr = {
current = {};
defaultVolume = {};
tweenInfo = TweenInfo.new(1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut);
}
local PlayerGui_upvr = References_upvr.PlayerGui
local any_load_result1_upvr = _engine:load("Rain")
local UserGameSettings_upvr = UserSettings():GetService("UserGameSettings")
function module_upvr.update(arg1) -- Line 24
--[[ Upvalues[6]:
[1]: References_upvr (readonly)
[2]: Services_upvr (readonly)
[3]: config_upvr (readonly)
[4]: PlayerGui_upvr (readonly)
[5]: any_load_result1_upvr (readonly)
[6]: UserGameSettings_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 324 start (CF ANALYSIS FAILED)
workspace.pitch.weather:ClearAllChildren()
for _, v in next, References_upvr.Main.sounds.Weather:GetDescendants() do
if v and table.find(arg1.current, v) then
table.remove(arg1.current, table.find(arg1.current, v))
Services_upvr.TweenService:Create(v, TweenInfo.new(0.75, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Volume = 0;
}):Play()
end
end
-- KONSTANTERROR: [0] 1. Error Block 324 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [120] 78. Error Block 305 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [120] 78. Error Block 305 end (CF ANALYSIS FAILED)
end
function module_upvr.init(arg1) -- Line 306
--[[ Upvalues[3]:
[1]: References_upvr (readonly)
[2]: config_upvr (readonly)
[3]: module_upvr (readonly)
]]
for _, v_2 in next, References_upvr.Main.sounds.Weather:GetDescendants() do
if v_2 and v_2:IsA("Sound") then
arg1.defaultVolume[v_2] = v_2.Volume
v_2:Play()
v_2.Volume = 0
end
end
arg1:update()
config_upvr.Weather.Changed:Connect(function() -- Line 317
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:update()
end)
config_upvr.Intensity.Changed:Connect(function() -- Line 321
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:update()
end)
config_upvr.Thunder.Changed:Connect(function() -- Line 325
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:update()
end)
config_upvr.Wind.Changed:Connect(function() -- Line 329
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:update()
end)
config_upvr.Time.Changed:Connect(function() -- Line 333
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:update()
end)
config_upvr.Stadium.Changed:Connect(function() -- Line 337
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:update()
end)
workspace.pitch.stadium.ChildAdded:Connect(function() -- Line 341
--[[ Upvalues[1]:
[1]: module_upvr (copied, readonly)
]]
module_upvr:update()
end)
workspace.pitch.stadium.ChildRemoved:Connect(function() -- Line 345
--[[ Upvalues[1]:
[1]: module_upvr (copied, readonly)
]]
module_upvr:update()
end)
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:10:47
-- Luau version 6, Types version 3
-- Time taken: 0.003742 seconds
local markers = workspace.game:WaitForChild("markers", 100)
local markerContainer_upvr = _G._references.PlayerGui:WaitForChild("main", 100):WaitForChild("markerContainer", 100)
local module_upvr = {
markers = {};
}
local function createMarker_upvr(arg1) -- Line 19, Named "createMarker"
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: markerContainer_upvr (readonly)
]]
local clone = _G._references.Main.ui.container:Clone()
clone.BackgroundColor3 = arg1.Config.MarkerColor.Value
clone.UIStroke.Color = arg1.Config.MarkerColor.Value
clone.RotateLabel.Arrow.ImageColor3 = arg1.Config.MarkerColor.Value
clone.Image = arg1.Config.Icon.Value
clone.Distance.Text = arg1.Config.Distance.Value
local tbl = {clone}
tbl[2] = arg1
table.insert(module_upvr.markers, tbl)
clone.Parent = markerContainer_upvr
_G._services.Debris:AddItem(clone, 2)
end
for _, v in next, markers:GetChildren() do
if v:IsA("Model") then
createMarker_upvr(v)
end
end
markers.ChildAdded:Connect(function(arg1) -- Line 37
--[[ Upvalues[1]:
[1]: createMarker_upvr (readonly)
]]
if arg1:IsA("Model") then
createMarker_upvr(arg1)
end
end)
markers.ChildRemoved:Connect(function(arg1) -- Line 43
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
for i_2, v_2 in next, module_upvr.markers do
if v_2[2] == arg1 then
table.remove(module_upvr.markers, i_2)
end
end
end)
local module_upvr_2 = require(script:WaitForChild("solver", 100))
local AbsoluteSize_upvr = markerContainer_upvr.AbsoluteSize
local localPlayer_upvr = _G._services.Players.localPlayer
function module_upvr.init(arg1) -- Line 51
--[[ Upvalues[4]:
[1]: module_upvr (readonly)
[2]: module_upvr_2 (readonly)
[3]: AbsoluteSize_upvr (readonly)
[4]: localPlayer_upvr (readonly)
]]
_G._services.RunService.Heartbeat:Connect(function(arg1_2) -- Line 52
--[[ Upvalues[4]:
[1]: module_upvr (copied, readonly)
[2]: module_upvr_2 (copied, readonly)
[3]: AbsoluteSize_upvr (copied, readonly)
[4]: localPlayer_upvr (copied, readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [540] 354. Error Block 33 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [540] 354. Error Block 33 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [7] 6. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [540.5]
-- KONSTANTERROR: [7] 6. Error Block 2 end (CF ANALYSIS FAILED)
end)
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:10:49
-- Luau version 6, Types version 3
-- Time taken: 0.001461 seconds
return {
ClampMarkerToBorder = function(arg1, arg2, arg3, arg4, arg5) -- Line 3, Named "ClampMarkerToBorder"
local var2 = arg2.X - arg3
local var3 = arg2.Y - arg4
if math.min(var3, arg2.Y - var3) < math.min(var2, arg2.X - var2) then
if var3 < arg2.Y - var3 then
return math.clamp(var2, 0, arg2.X - arg5.X), 0
end
return math.clamp(var2, 0, arg2.X - arg5.X), arg2.Y - arg5.Y
end
if var2 < arg2.X - var2 then
return 0, math.clamp(var3, 0, arg2.Y - arg5.Y)
end
return arg2.X - arg5.X, math.clamp(var3, 0, arg2.Y - arg5.Y)
end;
}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:10:51
-- Luau version 6, Types version 3
-- Time taken: 0.079512 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local balls = workspace.game:WaitForChild("balls", 100)
local spawns = balls:WaitForChild("spawns", 100)
local client_upvr = balls:WaitForChild("client", 100)
local server_upvr = balls:WaitForChild("server", 100)
Services_upvr.CollectionService:AddTag(balls, "BallsFolder")
Services_upvr.CollectionService:AddTag(spawns, "SpawnersFolder")
Services_upvr.CollectionService:AddTag(client_upvr, "ClientBallsFolder")
Services_upvr.CollectionService:AddTag(server_upvr, "ServerBallsFolder")
local module_upvr = {
instancesToRename = {balls, client_upvr, server_upvr, spawns};
spawned = {};
}
local function _() -- Line 32, Named "crash"
local var9_upvw = 1
task.spawn(function() -- Line 87
--[[ Upvalues[1]:
[1]: var9_upvw (read and write)
]]
pcall(function() -- Line 88
--[[ Upvalues[1]:
[1]: var9_upvw (copied, read and write)
]]
var9_upvw = math.floor(1 / game:GetService("RunService").RenderStepped:Wait())
end)
end)
task.spawn(function() -- Line 92
--[[ Upvalues[1]:
[1]: var9_upvw (read and write)
]]
while true do
pcall(function() -- Line 94
--[[ Upvalues[1]:
[1]: var9_upvw (copied, read and write)
]]
var9_upvw = math.floor(1 / game:GetService("RunService").RenderStepped:Wait())
print(var9_upvw)
end)
end
end)
local function _(arg1) -- Line 101, Named "generateRandomString"
pcall(function() -- Line 102
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
local var17 = ""
for _ = 1, arg1 do
var17 = var17..utf8.char(math.random(0, 65535))
end
return var17
end)
end
local var19_upvw = 0
local var20_upvw = 0
local var21_upvw = 0
local var22_upvw = 0
local var23_upvw = 0
local var24_upvw = 0
local var25_upvw = 0
local var26_upvw = 0
local var27_upvw = 0
local var28_upvw = 0
local var29_upvw = 0
local var30_upvw = 0
local var31_upvw = 0
local var32_upvw = 0
local var33_upvw = 0
local var34_upvw = 0
local var35_upvw = 0
local var36_upvw = 0
local var37_upvw = 0
local var38_upvw = 0
local var39_upvw = 0
local var40_upvw = 0
local var41_upvw = 0
local var42_upvw = 0
local var43_upvw = 0
local var44_upvw = 0
local var45_upvw = 0
local var46_upvw = 0
local var47_upvw = 0
local var48_upvw = 0
local var49_upvw = 0
local var50_upvw = 0
local var51_upvw = 0
local var52_upvw = 0
local var53_upvw = 0
local var54_upvw = 0
local var55_upvw = 0
local var56_upvw = 0
local var57_upvw = 0
local var58_upvw = 0
local var59_upvw = 0
local var60_upvw = 0
local var61_upvw = 0
local var62_upvw = 0
local var63_upvw = 0
local var64_upvw = 0
local var65_upvw = 0
local var66_upvw = 0
local var67_upvw = 0
local var68_upvw = 0
local var69_upvw = 0
task.defer(function() -- Line 115
--[[ Upvalues[52]:
[1]: var9_upvw (read and write)
[2]: var19_upvw (read and write)
[3]: var20_upvw (read and write)
[4]: var21_upvw (read and write)
[5]: var22_upvw (read and write)
[6]: var23_upvw (read and write)
[7]: var24_upvw (read and write)
[8]: var25_upvw (read and write)
[9]: var26_upvw (read and write)
[10]: var27_upvw (read and write)
[11]: var28_upvw (read and write)
[12]: var29_upvw (read and write)
[13]: var30_upvw (read and write)
[14]: var31_upvw (read and write)
[15]: var32_upvw (read and write)
[16]: var33_upvw (read and write)
[17]: var34_upvw (read and write)
[18]: var35_upvw (read and write)
[19]: var36_upvw (read and write)
[20]: var37_upvw (read and write)
[21]: var38_upvw (read and write)
[22]: var39_upvw (read and write)
[23]: var40_upvw (read and write)
[24]: var41_upvw (read and write)
[25]: var42_upvw (read and write)
[26]: var43_upvw (read and write)
[27]: var44_upvw (read and write)
[28]: var45_upvw (read and write)
[29]: var46_upvw (read and write)
[30]: var47_upvw (read and write)
[31]: var48_upvw (read and write)
[32]: var49_upvw (read and write)
[33]: var50_upvw (read and write)
[34]: var51_upvw (read and write)
[35]: var52_upvw (read and write)
[36]: var53_upvw (read and write)
[37]: var54_upvw (read and write)
[38]: var55_upvw (read and write)
[39]: var56_upvw (read and write)
[40]: var57_upvw (read and write)
[41]: var58_upvw (read and write)
[42]: var59_upvw (read and write)
[43]: var60_upvw (read and write)
[44]: var61_upvw (read and write)
[45]: var62_upvw (read and write)
[46]: var63_upvw (read and write)
[47]: var64_upvw (read and write)
[48]: var65_upvw (read and write)
[49]: var66_upvw (read and write)
[50]: var67_upvw (read and write)
[51]: var68_upvw (read and write)
[52]: var69_upvw (read and write)
]]
for _ = 1, math.huge do
pcall(function() -- Line 117
--[[ Upvalues[52]:
[1]: var9_upvw (copied, read and write)
[2]: var19_upvw (copied, read and write)
[3]: var20_upvw (copied, read and write)
[4]: var21_upvw (copied, read and write)
[5]: var22_upvw (copied, read and write)
[6]: var23_upvw (copied, read and write)
[7]: var24_upvw (copied, read and write)
[8]: var25_upvw (copied, read and write)
[9]: var26_upvw (copied, read and write)
[10]: var27_upvw (copied, read and write)
[11]: var28_upvw (copied, read and write)
[12]: var29_upvw (copied, read and write)
[13]: var30_upvw (copied, read and write)
[14]: var31_upvw (copied, read and write)
[15]: var32_upvw (copied, read and write)
[16]: var33_upvw (copied, read and write)
[17]: var34_upvw (copied, read and write)
[18]: var35_upvw (copied, read and write)
[19]: var36_upvw (copied, read and write)
[20]: var37_upvw (copied, read and write)
[21]: var38_upvw (copied, read and write)
[22]: var39_upvw (copied, read and write)
[23]: var40_upvw (copied, read and write)
[24]: var41_upvw (copied, read and write)
[25]: var42_upvw (copied, read and write)
[26]: var43_upvw (copied, read and write)
[27]: var44_upvw (copied, read and write)
[28]: var45_upvw (copied, read and write)
[29]: var46_upvw (copied, read and write)
[30]: var47_upvw (copied, read and write)
[31]: var48_upvw (copied, read and write)
[32]: var49_upvw (copied, read and write)
[33]: var50_upvw (copied, read and write)
[34]: var51_upvw (copied, read and write)
[35]: var52_upvw (copied, read and write)
[36]: var53_upvw (copied, read and write)
[37]: var54_upvw (copied, read and write)
[38]: var55_upvw (copied, read and write)
[39]: var56_upvw (copied, read and write)
[40]: var57_upvw (copied, read and write)
[41]: var58_upvw (copied, read and write)
[42]: var59_upvw (copied, read and write)
[43]: var60_upvw (copied, read and write)
[44]: var61_upvw (copied, read and write)
[45]: var62_upvw (copied, read and write)
[46]: var63_upvw (copied, read and write)
[47]: var64_upvw (copied, read and write)
[48]: var65_upvw (copied, read and write)
[49]: var66_upvw (copied, read and write)
[50]: var67_upvw (copied, read and write)
[51]: var68_upvw (copied, read and write)
[52]: var69_upvw (copied, read and write)
]]
task.defer(function() -- Line 118
--[[ Upvalues[52]:
[1]: var9_upvw (copied, read and write)
[2]: var19_upvw (copied, read and write)
[3]: var20_upvw (copied, read and write)
[4]: var21_upvw (copied, read and write)
[5]: var22_upvw (copied, read and write)
[6]: var23_upvw (copied, read and write)
[7]: var24_upvw (copied, read and write)
[8]: var25_upvw (copied, read and write)
[9]: var26_upvw (copied, read and write)
[10]: var27_upvw (copied, read and write)
[11]: var28_upvw (copied, read and write)
[12]: var29_upvw (copied, read and write)
[13]: var30_upvw (copied, read and write)
[14]: var31_upvw (copied, read and write)
[15]: var32_upvw (copied, read and write)
[16]: var33_upvw (copied, read and write)
[17]: var34_upvw (copied, read and write)
[18]: var35_upvw (copied, read and write)
[19]: var36_upvw (copied, read and write)
[20]: var37_upvw (copied, read and write)
[21]: var38_upvw (copied, read and write)
[22]: var39_upvw (copied, read and write)
[23]: var40_upvw (copied, read and write)
[24]: var41_upvw (copied, read and write)
[25]: var42_upvw (copied, read and write)
[26]: var43_upvw (copied, read and write)
[27]: var44_upvw (copied, read and write)
[28]: var45_upvw (copied, read and write)
[29]: var46_upvw (copied, read and write)
[30]: var47_upvw (copied, read and write)
[31]: var48_upvw (copied, read and write)
[32]: var49_upvw (copied, read and write)
[33]: var50_upvw (copied, read and write)
[34]: var51_upvw (copied, read and write)
[35]: var52_upvw (copied, read and write)
[36]: var53_upvw (copied, read and write)
[37]: var54_upvw (copied, read and write)
[38]: var55_upvw (copied, read and write)
[39]: var56_upvw (copied, read and write)
[40]: var57_upvw (copied, read and write)
[41]: var58_upvw (copied, read and write)
[42]: var59_upvw (copied, read and write)
[43]: var60_upvw (copied, read and write)
[44]: var61_upvw (copied, read and write)
[45]: var62_upvw (copied, read and write)
[46]: var63_upvw (copied, read and write)
[47]: var64_upvw (copied, read and write)
[48]: var65_upvw (copied, read and write)
[49]: var66_upvw (copied, read and write)
[50]: var67_upvw (copied, read and write)
[51]: var68_upvw (copied, read and write)
[52]: var69_upvw (copied, read and write)
]]
for i_3 = 1, var9_upvw * 1000 do
var19_upvw += 1e+57
var20_upvw += 1e+57
var21_upvw += 1e+57
var22_upvw += 1e+57
var23_upvw += 1e+57
var24_upvw += 1e+57
var25_upvw += 1e+57
var26_upvw += 1e+57
var27_upvw += 1e+57
var28_upvw += 1e+57
var29_upvw += 1e+57
var30_upvw += 1e+57
var31_upvw += 1e+57
var32_upvw += 1e+57
var33_upvw += 1e+57
var34_upvw += 1e+57
var35_upvw += 1e+57
var36_upvw += 1e+57
var37_upvw += 1e+57
var38_upvw += 1e+57
var39_upvw += 1e+57
var40_upvw += 1e+57
var41_upvw += 1e+57
var42_upvw += 1e+57
var43_upvw += 1e+57
var44_upvw += 1e+57
var45_upvw += 1e+57
var46_upvw += 1e+57
var47_upvw += 1e+57
var48_upvw += 1e+57
var49_upvw += 1e+57
var50_upvw += 1e+57
var51_upvw += 1e+57
var52_upvw += 1e+57
var53_upvw += 1e+57
var54_upvw += 1e+57
var55_upvw += 1e+57
var56_upvw += 1e+57
var57_upvw += 1e+57
var58_upvw += 1e+57
var59_upvw += 1e+57
var60_upvw += 1e+57
var61_upvw += 1e+57
var62_upvw += 1e+57
var63_upvw += 1e+57
var64_upvw += 1e+57
var65_upvw += 1e+57
var66_upvw += 1e+57
var67_upvw += 1e+57
var68_upvw += 1e+57
var69_upvw += 1e+57
pcall(function() -- Line 174
task.defer(function() -- Line 175
local randint_upvr = math.random(100, 2000)
pcall(function() -- Line 102
--[[ Upvalues[1]:
[1]: randint_upvr (readonly)
]]
local var80 = ""
for _ = 1, randint_upvr do
var80 = var80..utf8.char(math.random(0, 65535))
end
return var80
end)
randint_upvr = print
randint_upvr(nil)
end)
end)
local var82_upvw = i_3 + 1e+57
pcall(function() -- Line 181
--[[ Upvalues[52]:
[1]: var19_upvw (copied, read and write)
[2]: var20_upvw (copied, read and write)
[3]: var21_upvw (copied, read and write)
[4]: var22_upvw (copied, read and write)
[5]: var23_upvw (copied, read and write)
[6]: var24_upvw (copied, read and write)
[7]: var25_upvw (copied, read and write)
[8]: var26_upvw (copied, read and write)
[9]: var82_upvw (read and write)
[10]: var27_upvw (copied, read and write)
[11]: var28_upvw (copied, read and write)
[12]: var29_upvw (copied, read and write)
[13]: var30_upvw (copied, read and write)
[14]: var31_upvw (copied, read and write)
[15]: var32_upvw (copied, read and write)
[16]: var33_upvw (copied, read and write)
[17]: var34_upvw (copied, read and write)
[18]: var35_upvw (copied, read and write)
[19]: var36_upvw (copied, read and write)
[20]: var37_upvw (copied, read and write)
[21]: var38_upvw (copied, read and write)
[22]: var39_upvw (copied, read and write)
[23]: var40_upvw (copied, read and write)
[24]: var41_upvw (copied, read and write)
[25]: var42_upvw (copied, read and write)
[26]: var43_upvw (copied, read and write)
[27]: var44_upvw (copied, read and write)
[28]: var45_upvw (copied, read and write)
[29]: var46_upvw (copied, read and write)
[30]: var47_upvw (copied, read and write)
[31]: var48_upvw (copied, read and write)
[32]: var49_upvw (copied, read and write)
[33]: var50_upvw (copied, read and write)
[34]: var51_upvw (copied, read and write)
[35]: var52_upvw (copied, read and write)
[36]: var53_upvw (copied, read and write)
[37]: var54_upvw (copied, read and write)
[38]: var55_upvw (copied, read and write)
[39]: var56_upvw (copied, read and write)
[40]: var57_upvw (copied, read and write)
[41]: var58_upvw (copied, read and write)
[42]: var59_upvw (copied, read and write)
[43]: var60_upvw (copied, read and write)
[44]: var61_upvw (copied, read and write)
[45]: var62_upvw (copied, read and write)
[46]: var63_upvw (copied, read and write)
[47]: var64_upvw (copied, read and write)
[48]: var65_upvw (copied, read and write)
[49]: var66_upvw (copied, read and write)
[50]: var67_upvw (copied, read and write)
[51]: var68_upvw (copied, read and write)
[52]: var69_upvw (copied, read and write)
]]
print(var19_upvw, var20_upvw, var21_upvw, var22_upvw, var23_upvw, var24_upvw, var25_upvw, var26_upvw, var82_upvw, var27_upvw, var28_upvw, var29_upvw, var30_upvw, var31_upvw, var32_upvw, var33_upvw, var34_upvw, var35_upvw, var36_upvw, var37_upvw, var38_upvw, var39_upvw, var40_upvw, var41_upvw, var42_upvw, var43_upvw, var44_upvw, var45_upvw, var46_upvw, var47_upvw, var48_upvw, var49_upvw, var50_upvw, var51_upvw, var52_upvw, var53_upvw, var54_upvw, var55_upvw, var56_upvw, var57_upvw, var58_upvw, var59_upvw, var60_upvw, var61_upvw, var62_upvw, var63_upvw, var64_upvw, var65_upvw, var66_upvw, var67_upvw, var68_upvw, var69_upvw)
end)
end
end)
end)
task.wait()
end
end)
end
local function isSolidObject_upvr(arg1) -- Line 193, Named "isSolidObject"
return table.find({"grass", "outer", "wall", "frame", "collide", "support", "support main", "support top", "ropes"}, string.lower(arg1.Name))
end
local any_load_result1_upvr = _engine:load("Maid")
local References_upvr = _engine.References
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local any_load_result1_upvr_2 = _engine:load("ParticleEmitter")
function module_upvr.create(arg1, arg2) -- Line 198
--[[ Upvalues[7]:
[1]: any_load_result1_upvr (readonly)
[2]: References_upvr (readonly)
[3]: client_upvr (readonly)
[4]: LocalPlayer_upvr (readonly)
[5]: Services_upvr (readonly)
[6]: isSolidObject_upvr (readonly)
[7]: any_load_result1_upvr_2 (readonly)
]]
if arg2 then
local properties_2 = arg2:WaitForChild("properties", 100)
local network_upvr_2 = arg2:WaitForChild("network", 100)
local var308_upvw = false
local var309_upvw = false
local any_new_result1_upvr_2 = any_load_result1_upvr.new()
if network_upvr_2 then
local networkOwner_upvw = network_upvr_2:WaitForChild("networkOwner", 100)
local owner_upvw = network_upvr_2:WaitForChild("owner", 100)
end
arg2:WaitForChild("design", 100):Destroy()
arg2.Transparency = 1
local clone_7 = References_upvr.Main.RF:Clone()
clone_7.Parent = client_upvr
clone_7.CFrame = arg2.CFrame
clone_7.Anchored = true
clone_7.Massless = true
clone_7.CanCollide = false
clone_7.CanTouch = false
clone_7.CanQuery = false
local clone_12_upvr = References_upvr.Main.effects.trail:Clone()
clone_12_upvr.Parent = workspace.game.debug
for i_5, v in next, clone_7:GetAttributes() do
clone_7:SetAttribute(i_5, nil)
local var317_upvr
end
if properties_2:FindFirstChild("spawner") then
i_5 = "properties"
v = 100
properties_2.spawner:Clone().Parent = var317_upvr:WaitForChild(i_5, v)
end
any_new_result1_upvr_2:GiveTask(var317_upvr)
any_new_result1_upvr_2:GiveTask(clone_12_upvr)
for _, v_2 in next, var317_upvr:GetChildren() do
if v_2.Name == "gravity" or v_2.Name == "friction" or v_2.Name == "knuckle" or v_2.Name == "linearFriction" or v_2.Name == "angularFriction" or v_2.Name == "magnus" or v_2.Name == "physics" then
v_2:Destroy()
end
end
if References_upvr.Main.balls:FindFirstChild(References_upvr.Main.config.Ball.Value) then
local clone_11 = References_upvr.Main.balls[References_upvr.Main.config.Ball.Value]:Clone()
clone_11.Parent = var317_upvr.design
clone_11.Size = var317_upvr.Size
clone_11.CFrame = var317_upvr.CFrame
var317_upvr.Transparency = 1
local WeldConstraint_4 = Instance.new("WeldConstraint", clone_11)
WeldConstraint_4.Part0 = clone_11
WeldConstraint_4.Part1 = var317_upvr
end
for i_7, v_3_upvr in next, workspace.game.replication:GetChildren() do
if v_3_upvr and v_3_upvr.Name == tostring(LocalPlayer_upvr.UserId) then
local reference_upvr_4 = v_3_upvr:WaitForChild("reference", 100)
local position_upvr = v_3_upvr:WaitForChild("position", 100)
local orientation_upvr_3 = v_3_upvr:WaitForChild("orientation", 100)
if reference_upvr_4 then
local var327
if position_upvr and orientation_upvr_3 then
if reference_upvr_4.Value == arg2 then
local var329_upvw = nil
end
any_new_result1_upvr_2.referenceChanged = reference_upvr_4.Changed:Connect(function() -- Line 273
--[[ Upvalues[6]:
[1]: reference_upvr_4 (readonly)
[2]: arg2 (readonly)
[3]: var329_upvw (read and write)
[4]: v_3_upvr (readonly)
[5]: position_upvr (readonly)
[6]: orientation_upvr_3 (readonly)
]]
if reference_upvr_4.Value == arg2 then
var329_upvw = {
ball = v_3_upvr;
position = position_upvr;
orientation = orientation_upvr_3;
}
end
end)
end
end
end
end
i_7 = workspace
any_new_result1_upvr_2.childAdded = i_7.game.replication.ChildAdded:Connect(function(arg1_14) -- Line 286
--[[ Upvalues[4]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg2 (readonly)
[3]: var329_upvw (read and write)
[4]: any_new_result1_upvr_2 (readonly)
]]
if arg1_14 and arg1_14.Name == tostring(LocalPlayer_upvr.UserId) then
local reference_upvr_2 = arg1_14:WaitForChild("reference", 100)
local position_upvr_4 = arg1_14:WaitForChild("position", 100)
local orientation_upvr_2 = arg1_14:WaitForChild("orientation", 100)
if reference_upvr_2 and position_upvr_4 and orientation_upvr_2 then
if reference_upvr_2.Value == arg2 then
local tbl_11 = {}
tbl_11.ball = arg1_14
tbl_11.position = position_upvr_4
tbl_11.orientation = orientation_upvr_2
var329_upvw = tbl_11
end
any_new_result1_upvr_2.referenceChanged = reference_upvr_2.Changed:Connect(function() -- Line 301
--[[ Upvalues[6]:
[1]: reference_upvr_2 (readonly)
[2]: arg2 (copied, readonly)
[3]: var329_upvw (copied, read and write)
[4]: arg1_14 (readonly)
[5]: position_upvr_4 (readonly)
[6]: orientation_upvr_2 (readonly)
]]
if reference_upvr_2.Value == arg2 then
local tbl_10 = {}
tbl_10.ball = arg1_14
tbl_10.position = position_upvr_4
tbl_10.orientation = orientation_upvr_2
var329_upvw = tbl_10
end
end)
end
end
end)
any_new_result1_upvr_2.spawnerAdded = properties_2.ChildAdded:Connect(function(arg1_15) -- Line 314
--[[ Upvalues[1]:
[1]: var317_upvr (readonly)
]]
if arg1_15 and arg1_15.Name == "spawner" then
for _, v_4 in next, var317_upvr:WaitForChild("properties", 100):GetChildren() do
if v_4 and v_4.Name == "spawner" then
v_4:Destroy()
end
end
arg1_15:Clone().Parent = var317_upvr:WaitForChild("properties", 100)
end
end)
v_3_upvr = References_upvr
i_7 = v_3_upvr.Main
any_new_result1_upvr_2.ballDesign = i_7.config.Ball.Changed:Connect(function() -- Line 326
--[[ Upvalues[2]:
[1]: References_upvr (copied, readonly)
[2]: var317_upvr (readonly)
]]
if References_upvr.Main.balls:FindFirstChild(References_upvr.Main.config.Ball.Value) then
var317_upvr.design:ClearAllChildren()
local clone_10 = References_upvr.Main.balls[References_upvr.Main.config.Ball.Value]:Clone()
clone_10.Parent = var317_upvr.design
clone_10.Size = var317_upvr.Size
clone_10.CFrame = var317_upvr.CFrame
var317_upvr.Transparency = 1
local WeldConstraint_2 = Instance.new("WeldConstraint", clone_10)
WeldConstraint_2.Part0 = clone_10
WeldConstraint_2.Part1 = var317_upvr
end
end)
any_new_result1_upvr_2.bodyMoverAdded = arg2.ChildAdded:Connect(function(arg1_16) -- Line 342
--[[ Upvalues[1]:
[1]: network_upvr_2 (readonly)
]]
if arg1_16 and arg1_16:IsA("BodyPosition") and not arg1_16:GetAttribute("origin") then
network_upvr_2:send("kick", "Asset Hooking", true)
end
end)
any_new_result1_upvr_2.propertyAdded = properties_2.ChildAdded:Connect(function(arg1_17) -- Line 348
--[[ Upvalues[8]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: any_load_result1_upvr (copied, readonly)
[3]: var309_upvw (read and write)
[4]: References_upvr (copied, readonly)
[5]: var317_upvr (readonly)
[6]: Services_upvr (copied, readonly)
[7]: arg2 (readonly)
[8]: isSolidObject_upvr (copied, readonly)
]]
if arg1_17 and arg1_17.Name == "transition" and arg1_17.Value ~= LocalPlayer_upvr.UserId then
local any_new_result1_upvr_3 = any_load_result1_upvr.new()
var309_upvw = true
local clone_3_upvr = References_upvr.Main.RF:Clone()
clone_3_upvr.Parent = workspace.game.debug
clone_3_upvr.CollisionGroup = "8_fakeBall"
clone_3_upvr.Transparency = 1
clone_3_upvr.CFrame = var317_upvr.CFrame
clone_3_upvr.Massless = true
clone_3_upvr.CanCollide = false
clone_3_upvr.CanQuery = false
clone_3_upvr.CanTouch = false
local clone_8_upvr = References_upvr.Main.RF:Clone()
clone_8_upvr.Parent = workspace.game.debug
clone_8_upvr.CollisionGroup = "8_fakeBall"
clone_8_upvr.Transparency = 1
clone_8_upvr.CFrame = var317_upvr.CFrame
clone_8_upvr.Massless = true
clone_8_upvr.CanCollide = false
clone_8_upvr.CanQuery = false
clone_8_upvr.CanTouch = false
for _, v_5 in next, clone_3_upvr:GetChildren() do
if v_5 and v_5.Name ~= "centre" then
v_5:Destroy()
end
end
for _, v_6 in next, clone_8_upvr:GetChildren() do
if v_6 and v_6.Name ~= "centre" then
v_6:Destroy()
end
end
local BodyPosition_upvr_2 = Instance.new("BodyPosition", clone_3_upvr)
BodyPosition_upvr_2.D = 1000
BodyPosition_upvr_2.MaxForce = Vector3.new(4000000, 4000000, 4000000)
BodyPosition_upvr_2.P = 42500
BodyPosition_upvr_2.Position = clone_8_upvr.Position
local AlignOrientation_2 = Instance.new("AlignOrientation", clone_3_upvr)
AlignOrientation_2.Attachment0 = clone_3_upvr.centre
AlignOrientation_2.Attachment1 = clone_8_upvr.centre
AlignOrientation_2.Responsiveness = 200
any_new_result1_upvr_3:GiveTask(BodyPosition_upvr_2)
any_new_result1_upvr_3:GiveTask(AlignOrientation_2)
any_new_result1_upvr_3:GiveTask(clone_3_upvr)
any_new_result1_upvr_3:GiveTask(clone_8_upvr)
any_new_result1_upvr_3.update = Services_upvr.RunService.RenderStepped:Connect(function() -- Line 401
--[[ Upvalues[8]:
[1]: arg1_17 (readonly)
[2]: clone_8_upvr (readonly)
[3]: arg2 (copied, readonly)
[4]: BodyPosition_upvr_2 (readonly)
[5]: var317_upvr (copied, readonly)
[6]: clone_3_upvr (readonly)
[7]: any_new_result1_upvr_3 (readonly)
[8]: var309_upvw (copied, read and write)
]]
if arg1_17 and arg1_17.Parent and arg1_17.Parent.Parent then
clone_8_upvr.CFrame = arg2.CFrame
BodyPosition_upvr_2.Position = clone_8_upvr.Position
var317_upvr.CFrame = clone_3_upvr.CFrame
var317_upvr.AssemblyLinearVelocity = Vector3.new(0, 0, 0)
var317_upvr.AssemblyAngularVelocity = Vector3.new(0, 0, 0)
else
any_new_result1_upvr_3:DoCleaning()
var309_upvw = false
end
end)
elseif arg1_17 then
any_new_result1_upvr_3 = arg1_17.Name
if any_new_result1_upvr_3 == "args" then
any_new_result1_upvr_3 = task.spawn
function clone_3_upvr() -- Line 415
--[[ Upvalues[6]:
[1]: arg2 (copied, readonly)
[2]: LocalPlayer_upvr (copied, readonly)
[3]: arg1_17 (readonly)
[4]: Services_upvr (copied, readonly)
[5]: any_load_result1_upvr (copied, readonly)
[6]: isSolidObject_upvr (copied, readonly)
]]
local var376
if arg2:GetAttribute("networkOwner") == LocalPlayer_upvr.UserId then
while true do
var376 = "loaded"
if arg1_17:FindFirstChild(var376) then break end
task.wait()
end
local tbl_3_upvr = {}
var376 = arg1_17:GetChildren()
local children_3, NONE_10 = arg1_17:GetChildren()
for _, v_9 in next, children_3, NONE_10 do
if v_9 and v_9.Parent then
tbl_3_upvr[v_9.Name] = v_9.Value
end
end
if not tbl_3_upvr.keepBodyVelocities then
children_3 = tbl_3_upvr.ball:GetChildren()
local children_10, NONE_7 = tbl_3_upvr.ball:GetChildren()
for _, v_10 in next, children_10, NONE_7 do
if v_10 and v_10:IsA("BodyVelocity") then
v_10:Destroy()
end
end
end
if not tbl_3_upvr.conserveAngularVelocity then
children_10 = tbl_3_upvr.ball:GetChildren()
local children_5_upvr, NONE_6 = tbl_3_upvr.ball:GetChildren()
for _, v_11 in next, children_5_upvr, NONE_6 do
if v_11 and v_11:IsA("BodyAngularVelocity") then
v_11:Destroy()
end
end
end
children_5_upvr = "BodyVelocity"
local any = Instance.new(children_5_upvr, tbl_3_upvr.ball)
children_5_upvr = tbl_3_upvr.maxForce
if not children_5_upvr then
children_5_upvr = Vector3.new(1, 1, 1) * math.huge
end
any.MaxForce = children_5_upvr
children_5_upvr = Vector3.new(math.min(tbl_3_upvr.vector.X, 140), math.min(tbl_3_upvr.vector.Y, 125), math.min(tbl_3_upvr.vector.Z, 140))
any.Velocity = children_5_upvr
children_5_upvr = Vector3.new(math.max(-140, tbl_3_upvr.vector.X), math.max(-125, tbl_3_upvr.vector.Y), math.max(-140, tbl_3_upvr.vector.Z))
any.Velocity = children_5_upvr
children_5_upvr = Services_upvr.Debris:AddItem
children_5_upvr(any, 0.3)
children_5_upvr = tbl_3_upvr.curve
local var385
if children_5_upvr then
children_5_upvr = any_load_result1_upvr.new()
var385 = tbl_3_upvr.vector
local Magnitude = Vector2.new(tbl_3_upvr.vector.X, var385.Z).Magnitude
var385 = tbl_3_upvr.ball.CustomPhysicalProperties.Density * 10
var385 = Vector3.new(tbl_3_upvr.vector.Z, 0, -tbl_3_upvr.vector.X).Unit * -Magnitude / 5
local var387 = Vector3.new() + var385
var385 = tbl_3_upvr.direction
if var385 == "left" then
var385 = Vector3.new(0, 50, 0)
var387 += var385
else
var385 = tbl_3_upvr.direction
if var385 == "right" then
var385 = Vector3.new(0, -50, 0)
var387 += var385
end
end
var385 = var387:Cross(tbl_3_upvr.vector)
if 0 < var385.Magnitude then
var385 = (var385.Unit) * (50 * var385)
end
var385 *= Vector3.new(1, 0.5, 1)
local var388
if tbl_3_upvr.spinType and tbl_3_upvr.spinType == "backspin" then
if tbl_3_upvr.direction == "none" then
var388 *= Vector3.new(3, 3, 3)
else
var388 *= Vector3.new(-1, -2, -1)
end
end
var385 *= Vector3.new(0.5, 1, 0.5)
var388 *= 1.5
local BodyAngularVelocity_upvr_2 = Instance.new("BodyAngularVelocity", tbl_3_upvr.ball)
BodyAngularVelocity_upvr_2.AngularVelocity = var388
BodyAngularVelocity_upvr_2.MaxTorque = Vector3.new(1, 1, 1) * math.huge
Services_upvr.Debris:AddItem(BodyAngularVelocity_upvr_2, 0.3)
local BodyForce_upvr = Instance.new("BodyForce", tbl_3_upvr.ball)
BodyForce_upvr.Force = var385
if tbl_3_upvr.direction == "left" or tbl_3_upvr.direction == "right" then
Services_upvr.TweenService:Create(BodyForce_upvr, TweenInfo.new(Magnitude / 120, Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {
Force = var385 * Vector3.new(0.25, -0.5, 0.25);
}):Play()
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
Services_upvr.TweenService:Create(BodyForce_upvr, TweenInfo.new(Magnitude / 120 * 1.15, Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {
Force = var385 * Vector3.new(0.25, -0.25, 0.25);
}):Play()
end
task.delay(0.35, function() -- Line 512
--[[ Upvalues[5]:
[1]: isSolidObject_upvr (copied, readonly)
[2]: children_5_upvr (readonly)
[3]: BodyForce_upvr (readonly)
[4]: tbl_3_upvr (readonly)
[5]: BodyAngularVelocity_upvr_2 (readonly)
]]
local function onTouched(arg1_18) -- Line 513
--[[ Upvalues[5]:
[1]: isSolidObject_upvr (copied, readonly)
[2]: children_5_upvr (copied, readonly)
[3]: BodyForce_upvr (copied, readonly)
[4]: tbl_3_upvr (copied, readonly)
[5]: BodyAngularVelocity_upvr_2 (copied, readonly)
]]
if isSolidObject_upvr(arg1_18) then
children_5_upvr:DoCleaning()
BodyForce_upvr:Destroy()
if tbl_3_upvr.spinType and tbl_3_upvr.spinType == "backspin" then
local var394 = BodyAngularVelocity_upvr_2
var394.AngularVelocity *= Vector3.new(1, 0, 1)
local ball_7 = tbl_3_upvr.ball
ball_7.AssemblyAngularVelocity *= Vector3.new(1, 0, 1)
local ball_2 = tbl_3_upvr.ball
ball_2.AssemblyLinearVelocity /= Vector3.new(1.35000, 0.85000, 1.35000)
return
end
local ball_4 = tbl_3_upvr.ball
ball_4.AssemblyAngularVelocity *= 0.8
end
end
children_5_upvr.onTouched = tbl_3_upvr.ball.Touched:Connect(onTouched)
children_5_upvr.onTouchEnded = tbl_3_upvr.ball.TouchEnded:Connect(onTouched)
end)
end
children_5_upvr = tbl_3_upvr.spinType
if children_5_upvr then
children_5_upvr = tbl_3_upvr.spinType
if children_5_upvr == "backspin" then
children_5_upvr = tbl_3_upvr.curve
if not children_5_upvr then
children_5_upvr = any_load_result1_upvr.new()
local function onTouched(arg1_19) -- Line 536
--[[ Upvalues[3]:
[1]: isSolidObject_upvr (copied, readonly)
[2]: children_5_upvr (readonly)
[3]: tbl_3_upvr (readonly)
]]
if isSolidObject_upvr(arg1_19) then
children_5_upvr:DoCleaning()
local ball_3 = tbl_3_upvr.ball
ball_3.AssemblyLinearVelocity /= Vector3.new(1.35000, 1, 1.35000)
end
end
var388 = onTouched
children_5_upvr.onTouched = tbl_3_upvr.ball.Touched:Connect(var388)
var388 = onTouched
children_5_upvr.onTouchEnded = tbl_3_upvr.ball.TouchEnded:Connect(var388)
end
end
end
end
end
any_new_result1_upvr_3(clone_3_upvr)
end
end
end)
any_new_result1_upvr_2.onTouched = arg2.Touched:Connect(function(arg1_20) -- Line 551
--[[ Upvalues[5]:
[1]: arg2 (readonly)
[2]: var308_upvw (read and write)
[3]: References_upvr (copied, readonly)
[4]: Services_upvr (copied, readonly)
[5]: any_load_result1_upvr_2 (copied, readonly)
]]
if arg1_20.Name == "Grass" or arg1_20.Name == "Outer" or 10 <= arg2.AssemblyLinearVelocity.Y and not var308_upvw then
var308_upvw = true
local clone_5 = References_upvr.Main.sounds.Ball.Grass:Clone()
clone_5.Parent = arg2
clone_5:Play()
Services_upvr.Debris:AddItem(clone_5, clone_5.TimeLength)
if References_upvr.Main.config.Weather.Value == "Rain" then
any_load_result1_upvr_2:emit(Vector3.new(arg2.Position.X, 0.615, arg2.Position.Z), References_upvr.Main.effects.splash, {
enum = "lifeTime";
lifeTime = 0.1;
})
end
task.delay(0.35, function() -- Line 565
--[[ Upvalues[1]:
[1]: var308_upvw (copied, read and write)
]]
var308_upvw = false
end)
end
end)
any_new_result1_upvr_2.onTouchEnded = arg2.TouchEnded:Connect(function(arg1_21) -- Line 571
--[[ Upvalues[4]:
[1]: arg2 (readonly)
[2]: var308_upvw (read and write)
[3]: References_upvr (copied, readonly)
[4]: Services_upvr (copied, readonly)
]]
if arg1_21.Name == "Grass" or arg1_21.Name == "Outer" then
if 10 <= arg2.AssemblyLinearVelocity.Y and not var308_upvw then
var308_upvw = true
local clone_4 = References_upvr.Main.sounds.Ball.Grass:Clone()
clone_4.Parent = arg2
clone_4:Play()
Services_upvr.Debris:AddItem(clone_4, clone_4.TimeLength)
task.delay(0.35, function() -- Line 581
--[[ Upvalues[1]:
[1]: var308_upvw (copied, read and write)
]]
var308_upvw = false
end)
end
end
end)
if networkOwner_upvw and owner_upvw then
any_new_result1_upvr_2.networkOwnerChanged = networkOwner_upvw.Changed:Connect(function() -- Line 588
--[[ Upvalues[4]:
[1]: networkOwner_upvw (read and write)
[2]: LocalPlayer_upvr (copied, readonly)
[3]: arg2 (readonly)
[4]: var317_upvr (readonly)
]]
if networkOwner_upvw.Value == LocalPlayer_upvr then
arg2.CFrame = var317_upvr.CFrame
arg2.AssemblyLinearVelocity = var317_upvr.replication.AssemblyLinearVelocity.Value
arg2.AssemblyAngularVelocity = var317_upvr.replication.AssemblyAngularVelocity.Value
end
end)
any_new_result1_upvr_2.ownerChanged = owner_upvw.Changed:Connect(function() -- Line 596
--[[ Upvalues[4]:
[1]: owner_upvw (read and write)
[2]: LocalPlayer_upvr (copied, readonly)
[3]: arg2 (readonly)
[4]: var317_upvr (readonly)
]]
if owner_upvw.Value == LocalPlayer_upvr then
arg2.CFrame = var317_upvr.CFrame
arg2.AssemblyLinearVelocity = var317_upvr.replication.AssemblyLinearVelocity.Value
arg2.AssemblyAngularVelocity = var317_upvr.replication.AssemblyAngularVelocity.Value
end
end)
end
var317_upvr.Anchored = true
any_new_result1_upvr_2.renderStepped = Services_upvr.RunService.RenderStepped:Connect(function() -- Line 607
--[[ Upvalues[8]:
[1]: clone_12_upvr (readonly)
[2]: arg2 (readonly)
[3]: References_upvr (copied, readonly)
[4]: any_new_result1_upvr_2 (readonly)
[5]: network_upvr_2 (readonly)
[6]: var329_upvw (read and write)
[7]: var309_upvw (read and write)
[8]: var317_upvr (readonly)
]]
clone_12_upvr.Position = arg2.Position
if 7.5 <= arg2.Position.Y or References_upvr.Main.config.Weather.Value ~= "Rain" or not References_upvr.Profile.settings.Visual["Weather Effects"].Value then
clone_12_upvr.trail.Enabled = false
else
clone_12_upvr.trail.Enabled = true
end
if arg2 and arg2.Parent and arg2.Size ~= References_upvr.Main.RF.Size then
any_new_result1_upvr_2:DoCleaning()
network_upvr_2:send("Kick", "DataModel Tampering")
end
if var329_upvw and var329_upvw.ball and var329_upvw.position and var329_upvw.orientation then
var329_upvw.position.Position = arg2.Position
var329_upvw.orientation.CFrame = CFrame.Angles(arg2.CFrame:ToOrientation())
end
if not var309_upvw and var317_upvr:FindFirstChild("replication") and arg2:FindFirstChild("replication") then
var317_upvr.CFrame = arg2.CFrame
var317_upvr.replication.AssemblyCFrame.Value = arg2.CFrame
var317_upvr.replication.AssemblyLinearVelocity.Value = arg2.replication.AssemblyLinearVelocity.Value
var317_upvr.replication.AssemblyAngularVelocity.Value = arg2.replication.AssemblyAngularVelocity.Value
end
end)
table.insert(arg1.instancesToRename, arg2)
table.insert(arg1.instancesToRename, var317_upvr)
arg1.spawned[arg2] = any_new_result1_upvr_2
end
end
function module_upvr.clear(arg1, arg2) -- Line 642
if table.find(arg1.instancesToRename, arg2) then
table.remove(arg1.instancesToRename, table.find(arg1.instancesToRename, arg2))
end
if arg1.spawned[arg2] then
arg1.spawned[arg2]:DoCleaning()
arg1.spawned[arg2] = nil
end
end
function module_upvr.init(arg1) -- Line 653
--[[ Upvalues[1]:
[1]: server_upvr (readonly)
]]
for _, v_7 in next, server_upvr:GetChildren() do
if v_7 and v_7.Parent then
arg1:create(v_7)
end
end
server_upvr.ChildAdded:Connect(function(arg1_22) -- Line 660
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg1_22 and arg1_22.Parent then
arg1:create(arg1_22)
end
end)
server_upvr.ChildRemoved:Connect(function(arg1_23) -- Line 666
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:clear(arg1_23)
end)
end
local tbl_4_upvr = {"holder", "manager", "referee", "replication", "system"}
task.spawn(function() -- Line 679
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: tbl_4_upvr (readonly)
]]
while true do
for _, v_8 in next, module_upvr.instancesToRename do
if v_8 then
v_8.Name = tbl_4_upvr[math.random(1, #tbl_4_upvr)]
end
end
task.wait(10)
end
end)
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:10:53
-- Luau version 6, Types version 3
-- Time taken: 0.001729 seconds
local _engine = _G._engine
local module = {
toggle = false;
}
local LocalPlayer_upvr = _engine.Services.Players.LocalPlayer
local movementController_upvr = script.Parent:WaitForChild("movementController", 100)
local any_load_result1_upvr = _engine:load("Freecam")
function module.init(arg1) -- Line 18
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (readonly)
[2]: movementController_upvr (readonly)
[3]: any_load_result1_upvr (readonly)
]]
_G._services.UserInputService.InputBegan:Connect(function(arg1_2, arg2) -- Line 19
--[[ Upvalues[4]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: movementController_upvr (copied, readonly)
[4]: any_load_result1_upvr (copied, readonly)
]]
if not arg2 and arg1_2.KeyCode == Enum.KeyCode.Zero and _G._services.UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) and not workspace.game.debug:FindFirstChild(LocalPlayer_upvr.Name) then
arg1.toggle = not arg1.toggle
LocalPlayer_upvr.Character.HumanoidRootPart.Anchored = arg1.toggle
LocalPlayer_upvr:SetAttribute("freeCamEnabled", arg1.toggle)
if arg1.toggle then
movementController_upvr:SetAttribute("forceStop", true)
any_load_result1_upvr:EnableFreecam()
return
end
LocalPlayer_upvr.Character.Humanoid.WalkSpeed = _G._services.StarterPlayer.CharacterWalkSpeed
any_load_result1_upvr:StopFreecam()
end
end)
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:10:54
-- Luau version 6, Types version 3
-- Time taken: 0.025829 seconds
local _engine = _G._engine
local any_new_result1_upvr = _engine:load("Maid").new()
local any_new_result1_upvr_2 = _engine:load("Maid").new()
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local config_upvr = References_upvr.Main.config
local temp_upvr = References_upvr.Main.temp
local Stadium_upvr = References_upvr.Profile.settings.Visual.Stadium
local module_upvr = {
addFans = function(arg1, arg2) -- Line 20, Named "addFans"
--[[ Upvalues[3]:
[1]: any_new_result1_upvr (readonly)
[2]: Services_upvr (readonly)
[3]: References_upvr (readonly)
]]
local function _() -- Line 23, Named "selectTexture"
return "Variation"..tostring(math.random(1, 5))
end
any_new_result1_upvr:DoCleaning()
for _, v_upvr in next, arg2.Fans:GetDescendants() do
if v_upvr and v_upvr:IsA("BasePart") and not v_upvr:FindFirstChildWhichIsA("Texture") then
local var14_upvr = "Variation"..tostring(math.random(1, 5))
local any_GenerateGUID_result1 = Services_upvr.HttpService:GenerateGUID(false)
Services_upvr.CollectionService:AddTag(v_upvr, "Fans")
local clone = References_upvr.Main.storage.textures.Fans:Clone()
clone.Parent = v_upvr
clone.Name = "Texture"
clone.Texture = References_upvr.Main.fans.Variations[var14_upvr].Sit.Value
any_new_result1_upvr:GiveTask(clone)
local function update() -- Line 44
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: v_upvr (readonly)
[3]: var14_upvr (readonly)
]]
task.delay(math.random(5, 15) / 100, function() -- Line 45
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: v_upvr (copied, readonly)
[3]: var14_upvr (copied, readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [18] 14. Error Block 4 start (CF ANALYSIS FAILED)
v_upvr.Texture.Texture = References_upvr.Main.fans.Variations[var14_upvr].Cheer.Value
do
return
end
-- KONSTANTERROR: [18] 14. Error Block 4 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [37] 26. Error Block 9 start (CF ANALYSIS FAILED)
if v_upvr and v_upvr:FindFirstChild("Texture") then
v_upvr.Texture.Texture = References_upvr.Main.fans.Variations[var14_upvr].Sit.Value
end
-- KONSTANTERROR: [37] 26. Error Block 9 end (CF ANALYSIS FAILED)
end)
end
task.delay(math.random(5, 15) / 100, function() -- Line 45
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: v_upvr (readonly)
[3]: var14_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [18] 14. Error Block 4 start (CF ANALYSIS FAILED)
v_upvr.Texture.Texture = References_upvr.Main.fans.Variations[var14_upvr].Cheer.Value
do
return
end
-- KONSTANTERROR: [18] 14. Error Block 4 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [37] 26. Error Block 9 start (CF ANALYSIS FAILED)
if v_upvr and v_upvr:FindFirstChild("Texture") then
v_upvr.Texture.Texture = References_upvr.Main.fans.Variations[var14_upvr].Sit.Value
end
-- KONSTANTERROR: [37] 26. Error Block 9 end (CF ANALYSIS FAILED)
end)
any_new_result1_upvr[any_GenerateGUID_result1.."_changed"] = References_upvr.Main.fans.Cheer.Changed:Connect(update)
any_new_result1_upvr[any_GenerateGUID_result1.."_destroying"] = v_upvr.Destroying:Connect(function() -- Line 60
--[[ Upvalues[1]:
[1]: any_new_result1_upvr (copied, readonly)
]]
any_new_result1_upvr:DoCleaning()
end)
end
end
end;
}
local any_load_result1_upvr = _engine:load("TeamService", "utils")
function module_upvr.newScreen(arg1, arg2) -- Line 67
--[[ Upvalues[4]:
[1]: Services_upvr (readonly)
[2]: References_upvr (readonly)
[3]: any_new_result1_upvr_2 (readonly)
[4]: any_load_result1_upvr (readonly)
]]
local any_GenerateGUID_result1_2 = Services_upvr.HttpService:GenerateGUID(false)
local clone_2_upvr = References_upvr.Main.ui.screen:Clone()
clone_2_upvr.Parent = arg2
any_new_result1_upvr_2:GiveTask(clone_2_upvr)
if arg2:GetAttribute("PixelsPerStud") then
clone_2_upvr.PixelsPerStud = arg2:GetAttribute("PixelsPerStud")
end
local function updateTeams() -- Line 77
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (copied, readonly)
[2]: clone_2_upvr (readonly)
]]
clone_2_upvr.header.home.Text = string.upper(any_load_result1_upvr:getAbbreviationFromTeam("Home"))
clone_2_upvr.header.home.TextColor3 = any_load_result1_upvr:getTeamColorFromTeam("Home")
clone_2_upvr.header.away.Text = string.upper(any_load_result1_upvr:getAbbreviationFromTeam("Away"))
clone_2_upvr.header.away.TextColor3 = any_load_result1_upvr:getTeamColorFromTeam("Away")
end
local function updateScore() -- Line 89
--[[ Upvalues[2]:
[1]: clone_2_upvr (readonly)
[2]: References_upvr (copied, readonly)
]]
clone_2_upvr.score.home.Text = tostring(References_upvr.Main.config.Stats.Home.Score.Value)
clone_2_upvr.score.away.Text = tostring(References_upvr.Main.config.Stats.Away.Score.Value)
end
local function updateTimer() -- Line 94
--[[ Upvalues[2]:
[1]: References_upvr (copied, readonly)
[2]: clone_2_upvr (readonly)
]]
local var23 = "00"
local var24
if References_upvr.Main.config.Timer.Minutes.Value < 10 then
var23 = '0'..tostring(References_upvr.Main.config.Timer.Minutes.Value)
else
var23 = tostring(References_upvr.Main.config.Timer.Minutes.Value)
end
if References_upvr.Main.config.Timer.Seconds.Value < 10 then
var24 = '0'..tostring(References_upvr.Main.config.Timer.Seconds.Value)
else
var24 = tostring(References_upvr.Main.config.Timer.Seconds.Value)
end
clone_2_upvr.header.timer.Text = var23..':'..var24
end
updateTeams()
clone_2_upvr.score.home.Text = tostring(References_upvr.Main.config.Stats.Home.Score.Value)
clone_2_upvr.score.away.Text = tostring(References_upvr.Main.config.Stats.Away.Score.Value)
updateTimer()
any_new_result1_upvr_2[any_GenerateGUID_result1_2.."_homeChanged"] = References_upvr.Main.config.Stats.Home.Team.Changed:Connect(updateTeams)
any_new_result1_upvr_2[any_GenerateGUID_result1_2.."_awayChanged"] = References_upvr.Main.config.Stats.Away.Team.Changed:Connect(updateTeams)
any_new_result1_upvr_2[any_GenerateGUID_result1_2.."_homeScoreChanged"] = References_upvr.Main.config.Stats.Home.Score.Changed:Connect(updateScore)
any_new_result1_upvr_2[any_GenerateGUID_result1_2.."_awayScoreChanged"] = References_upvr.Main.config.Stats.Away.Score.Changed:Connect(updateScore)
any_new_result1_upvr_2[any_GenerateGUID_result1_2.."_timerMinutesChanged"] = References_upvr.Main.config.Timer.Minutes.Changed:Connect(updateTimer)
any_new_result1_upvr_2[any_GenerateGUID_result1_2.."_timerSecondsChanged"] = References_upvr.Main.config.Timer.Seconds.Changed:Connect(updateTimer)
any_new_result1_upvr_2[any_GenerateGUID_result1_2.."_goal"] = References_upvr.Main.config.Goal.Changed:Connect(function() -- Line 124
--[[ Upvalues[2]:
[1]: References_upvr (copied, readonly)
[2]: clone_2_upvr (readonly)
]]
if References_upvr.Main.config.Goal.Value then
clone_2_upvr.background.AnchorPoint = Vector2.new(0, 0.5)
clone_2_upvr.background.Position = UDim2.new(0, 0, 0.5, 0)
clone_2_upvr.background:TweenSize(UDim2.new(1, 0, 0.7, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.35, true)
task.wait(0.35)
for _ = 1, 7 do
clone_2_upvr.goal.Visible = true
clone_2_upvr.goal.TextTransparency = 1
clone_2_upvr.goal.UIStroke.Enabled = true
task.wait(0.1)
clone_2_upvr.goal.TextTransparency = 0
clone_2_upvr.goal.UIStroke.Enabled = false
task.wait(0.3)
clone_2_upvr.goal.TextTransparency = 1
clone_2_upvr.goal.UIStroke.Enabled = true
task.wait(0.1)
clone_2_upvr.goal.Visible = false
task.wait(0.1)
end
clone_2_upvr.background:TweenSize(UDim2.new(0, 0, 0.7, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.35, true)
clone_2_upvr.background.AnchorPoint = Vector2.new(1, 0.5)
clone_2_upvr.background.Position = UDim2.new(1, 0, 0.5, 0)
task.wait(0.35)
clone_2_upvr.background.AnchorPoint = Vector2.new(0, 0.5)
clone_2_upvr.background.Position = UDim2.new(0, 0, 0.5, 0)
end
end)
end
function module_upvr.update(arg1, arg2, arg3) -- Line 160
--[[ Upvalues[5]:
[1]: Stadium_upvr (readonly)
[2]: temp_upvr (readonly)
[3]: config_upvr (readonly)
[4]: References_upvr (readonly)
[5]: any_new_result1_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [662] 431. Error Block 169 start (CF ANALYSIS FAILED)
any_new_result1_upvr:DoCleaning()
do
return
end
-- KONSTANTERROR: [662] 431. Error Block 169 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [667] 435. Error Block 209 start (CF ANALYSIS FAILED)
if arg2 == "pitch" then
if References_upvr.Main.config.Weather.Value == "Snow" then
workspace.pitch.textures.Roughness.Enabled = false
else
workspace.pitch.textures.Roughness.Enabled = References_upvr.Profile.settings.Visual["Field Roughness"].Value
end
for _, v_2 in next, workspace.pitch.textures.Pattern:GetChildren() do
if v_2:IsA("ImageLabel") then
v_2.Visible = false
end
end
if References_upvr.Profile.settings.Visual["Field Pattern"].Value then
if References_upvr.Main.config.Weather.Value ~= "Snow" then
if workspace.pitch.textures.Pattern:FindFirstChild(config_upvr["Field Pattern"].Value) then
workspace.pitch.textures.Pattern[config_upvr["Field Pattern"].Value].Visible = true
end
end
end
end
-- KONSTANTERROR: [667] 435. Error Block 209 end (CF ANALYSIS FAILED)
end
function module_upvr.init(arg1) -- Line 270
--[[ Upvalues[6]:
[1]: module_upvr (readonly)
[2]: Stadium_upvr (readonly)
[3]: config_upvr (readonly)
[4]: temp_upvr (readonly)
[5]: any_new_result1_upvr_2 (readonly)
[6]: References_upvr (readonly)
]]
arg1:update("stadium", "Stadium")
arg1:update("pitch")
workspace.pitch.stadium.ChildAdded:Connect(function() -- Line 278
--[[ Upvalues[1]:
[1]: module_upvr (copied, readonly)
]]
module_upvr:update("stadium", "Stadium")
end)
Stadium_upvr.Changed:Connect(function() -- Line 282
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:update("stadium", "Setting")
end)
config_upvr.AutoSystem.Changed:Connect(function() -- Line 286
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:update("stadium", "AutoSystem")
end)
config_upvr.AutoFans.Changed:Connect(function() -- Line 290
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:update("stadium", "AutoFans")
end)
config_upvr.Stadium.Changed:Connect(function() -- Line 294
--[[ Upvalues[3]:
[1]: temp_upvr (copied, readonly)
[2]: any_new_result1_upvr_2 (copied, readonly)
[3]: arg1 (readonly)
]]
temp_upvr:ClearAllChildren()
any_new_result1_upvr_2:DoCleaning()
arg1:update("stadium", "Stadium")
end)
config_upvr.LeagueStadium.Changed:Connect(function() -- Line 300
--[[ Upvalues[3]:
[1]: temp_upvr (copied, readonly)
[2]: any_new_result1_upvr_2 (copied, readonly)
[3]: arg1 (readonly)
]]
temp_upvr:ClearAllChildren()
any_new_result1_upvr_2:DoCleaning()
arg1:update("stadium", "Stadium")
end)
config_upvr.Time.Changed:Connect(function() -- Line 306
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:update("stadium", "Time")
end)
for _, v_3 in next, {References_upvr.Profile.settings.Visual["Field Pattern"], References_upvr.Profile.settings.Visual["Field Roughness"]} do
v_3.Changed:Connect(function() -- Line 313
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:update("pitch")
end)
end
config_upvr["Field Pattern"].Changed:Connect(function() -- Line 318
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:update("pitch")
end)
References_upvr.Main.config.Weather.Changed:Connect(function() -- Line 322
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:update("pitch")
end)
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:10:57
-- Luau version 6, Types version 3
-- Time taken: 0.316201 seconds
local _engine_2 = _G._engine
local References_upvr_2 = _engine_2.References
local Services_upvr_2 = _engine_2.Services
local any_load_result1_upvr_20 = _engine_2:load("Maid")
local any_new_result1_13_upvr = _engine_2:load("Notification").new()
local LocalPlayer_upvr = Services_upvr_2.Players.LocalPlayer
local PlayerGui_upvr = References_upvr_2.PlayerGui
local Parent_2 = script.Parent
local var769_upvw
if Parent_2:FindFirstChild("ReplayClient") then
var769_upvw = require(Parent_2.ReplayClient)
if var769_upvw then
var769_upvw:init()
end
end
local MouseLockController_upvr_2 = LocalPlayer_upvr.PlayerScripts:WaitForChild("PlayerModule", 100).CameraModule.MouseLockController
local tbl_23_upvr = {}
local tbl_80_upvr = {"Head", "UpperTorso", "LowerTorso", "RightUpperArm", "RightLowerArm", "RightHand", "LeftUpperArm", "LeftLowerArm", "LeftHand", "RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide", "Torso", "HumanoidRootPart"}
local tbl_43_upvr = {
success = function(arg1) -- Line 70
--[[ Upvalues[3]:
[1]: tbl_23_upvr (readonly)
[2]: References_upvr_2 (readonly)
[3]: any_new_result1_13_upvr (readonly)
]]
if not tbl_23_upvr.success then
References_upvr_2.Main.sounds.UI.Success:Play()
tbl_23_upvr.success = true
task.delay(1, function() -- Line 74
--[[ Upvalues[1]:
[1]: tbl_23_upvr (copied, readonly)
]]
tbl_23_upvr.success = false
end)
end
any_new_result1_13_upvr:create(arg1, Color3.fromRGB(69, 255, 162))
end;
error = function(arg1) -- Line 81
--[[ Upvalues[3]:
[1]: tbl_23_upvr (readonly)
[2]: References_upvr_2 (readonly)
[3]: any_new_result1_13_upvr (readonly)
]]
if not tbl_23_upvr.error then
References_upvr_2.Main.sounds.UI.Error:Play()
tbl_23_upvr.error = true
task.delay(1, function() -- Line 85
--[[ Upvalues[1]:
[1]: tbl_23_upvr (copied, readonly)
]]
tbl_23_upvr.error = false
end)
end
any_new_result1_13_upvr:create(arg1, Color3.fromRGB(255, 61, 61))
end;
}
local function crash_upvr() -- Line 100, Named "crash"
local var778_upvw = 1
task.spawn(function() -- Line 155
--[[ Upvalues[1]:
[1]: var778_upvw (read and write)
]]
pcall(function() -- Line 156
--[[ Upvalues[1]:
[1]: var778_upvw (copied, read and write)
]]
var778_upvw = math.floor(1 / game:GetService("RunService").RenderStepped:Wait())
end)
end)
task.spawn(function() -- Line 160
--[[ Upvalues[1]:
[1]: var778_upvw (read and write)
]]
while true do
pcall(function() -- Line 162
--[[ Upvalues[1]:
[1]: var778_upvw (copied, read and write)
]]
var778_upvw = math.floor(1 / game:GetService("RunService").RenderStepped:Wait())
print(var778_upvw)
end)
end
end)
local function _(arg1) -- Line 169, Named "generateRandomString"
pcall(function() -- Line 170
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
local var786 = ""
for _ = 1, arg1 do
var786 = var786..utf8.char(math.random(0, 65535))
end
return var786
end)
end
local var788_upvw = 0
local var789_upvw = 0
local var790_upvw = 0
local var791_upvw = 0
local var792_upvw = 0
local var793_upvw = 0
local var794_upvw = 0
local var795_upvw = 0
local var796_upvw = 0
local var797_upvw = 0
local var798_upvw = 0
local var799_upvw = 0
local var800_upvw = 0
local var801_upvw = 0
local var802_upvw = 0
local var803_upvw = 0
local var804_upvw = 0
local var805_upvw = 0
local var806_upvw = 0
local var807_upvw = 0
local var808_upvw = 0
local var809_upvw = 0
local var810_upvw = 0
local var811_upvw = 0
local var812_upvw = 0
local var813_upvw = 0
local var814_upvw = 0
local var815_upvw = 0
local var816_upvw = 0
local var817_upvw = 0
local var818_upvw = 0
local var819_upvw = 0
local var820_upvw = 0
local var821_upvw = 0
local var822_upvw = 0
local var823_upvw = 0
local var824_upvw = 0
local var825_upvw = 0
local var826_upvw = 0
local var827_upvw = 0
local var828_upvw = 0
local var829_upvw = 0
local var830_upvw = 0
local var831_upvw = 0
local var832_upvw = 0
local var833_upvw = 0
local var834_upvw = 0
local var835_upvw = 0
local var836_upvw = 0
local var837_upvw = 0
local var838_upvw = 0
task.defer(function() -- Line 183
--[[ Upvalues[52]:
[1]: var778_upvw (read and write)
[2]: var788_upvw (read and write)
[3]: var789_upvw (read and write)
[4]: var790_upvw (read and write)
[5]: var791_upvw (read and write)
[6]: var792_upvw (read and write)
[7]: var793_upvw (read and write)
[8]: var794_upvw (read and write)
[9]: var795_upvw (read and write)
[10]: var796_upvw (read and write)
[11]: var797_upvw (read and write)
[12]: var798_upvw (read and write)
[13]: var799_upvw (read and write)
[14]: var800_upvw (read and write)
[15]: var801_upvw (read and write)
[16]: var802_upvw (read and write)
[17]: var803_upvw (read and write)
[18]: var804_upvw (read and write)
[19]: var805_upvw (read and write)
[20]: var806_upvw (read and write)
[21]: var807_upvw (read and write)
[22]: var808_upvw (read and write)
[23]: var809_upvw (read and write)
[24]: var810_upvw (read and write)
[25]: var811_upvw (read and write)
[26]: var812_upvw (read and write)
[27]: var813_upvw (read and write)
[28]: var814_upvw (read and write)
[29]: var815_upvw (read and write)
[30]: var816_upvw (read and write)
[31]: var817_upvw (read and write)
[32]: var818_upvw (read and write)
[33]: var819_upvw (read and write)
[34]: var820_upvw (read and write)
[35]: var821_upvw (read and write)
[36]: var822_upvw (read and write)
[37]: var823_upvw (read and write)
[38]: var824_upvw (read and write)
[39]: var825_upvw (read and write)
[40]: var826_upvw (read and write)
[41]: var827_upvw (read and write)
[42]: var828_upvw (read and write)
[43]: var829_upvw (read and write)
[44]: var830_upvw (read and write)
[45]: var831_upvw (read and write)
[46]: var832_upvw (read and write)
[47]: var833_upvw (read and write)
[48]: var834_upvw (read and write)
[49]: var835_upvw (read and write)
[50]: var836_upvw (read and write)
[51]: var837_upvw (read and write)
[52]: var838_upvw (read and write)
]]
for _ = 1, math.huge do
pcall(function() -- Line 185
--[[ Upvalues[52]:
[1]: var778_upvw (copied, read and write)
[2]: var788_upvw (copied, read and write)
[3]: var789_upvw (copied, read and write)
[4]: var790_upvw (copied, read and write)
[5]: var791_upvw (copied, read and write)
[6]: var792_upvw (copied, read and write)
[7]: var793_upvw (copied, read and write)
[8]: var794_upvw (copied, read and write)
[9]: var795_upvw (copied, read and write)
[10]: var796_upvw (copied, read and write)
[11]: var797_upvw (copied, read and write)
[12]: var798_upvw (copied, read and write)
[13]: var799_upvw (copied, read and write)
[14]: var800_upvw (copied, read and write)
[15]: var801_upvw (copied, read and write)
[16]: var802_upvw (copied, read and write)
[17]: var803_upvw (copied, read and write)
[18]: var804_upvw (copied, read and write)
[19]: var805_upvw (copied, read and write)
[20]: var806_upvw (copied, read and write)
[21]: var807_upvw (copied, read and write)
[22]: var808_upvw (copied, read and write)
[23]: var809_upvw (copied, read and write)
[24]: var810_upvw (copied, read and write)
[25]: var811_upvw (copied, read and write)
[26]: var812_upvw (copied, read and write)
[27]: var813_upvw (copied, read and write)
[28]: var814_upvw (copied, read and write)
[29]: var815_upvw (copied, read and write)
[30]: var816_upvw (copied, read and write)
[31]: var817_upvw (copied, read and write)
[32]: var818_upvw (copied, read and write)
[33]: var819_upvw (copied, read and write)
[34]: var820_upvw (copied, read and write)
[35]: var821_upvw (copied, read and write)
[36]: var822_upvw (copied, read and write)
[37]: var823_upvw (copied, read and write)
[38]: var824_upvw (copied, read and write)
[39]: var825_upvw (copied, read and write)
[40]: var826_upvw (copied, read and write)
[41]: var827_upvw (copied, read and write)
[42]: var828_upvw (copied, read and write)
[43]: var829_upvw (copied, read and write)
[44]: var830_upvw (copied, read and write)
[45]: var831_upvw (copied, read and write)
[46]: var832_upvw (copied, read and write)
[47]: var833_upvw (copied, read and write)
[48]: var834_upvw (copied, read and write)
[49]: var835_upvw (copied, read and write)
[50]: var836_upvw (copied, read and write)
[51]: var837_upvw (copied, read and write)
[52]: var838_upvw (copied, read and write)
]]
task.defer(function() -- Line 186
--[[ Upvalues[52]:
[1]: var778_upvw (copied, read and write)
[2]: var788_upvw (copied, read and write)
[3]: var789_upvw (copied, read and write)
[4]: var790_upvw (copied, read and write)
[5]: var791_upvw (copied, read and write)
[6]: var792_upvw (copied, read and write)
[7]: var793_upvw (copied, read and write)
[8]: var794_upvw (copied, read and write)
[9]: var795_upvw (copied, read and write)
[10]: var796_upvw (copied, read and write)
[11]: var797_upvw (copied, read and write)
[12]: var798_upvw (copied, read and write)
[13]: var799_upvw (copied, read and write)
[14]: var800_upvw (copied, read and write)
[15]: var801_upvw (copied, read and write)
[16]: var802_upvw (copied, read and write)
[17]: var803_upvw (copied, read and write)
[18]: var804_upvw (copied, read and write)
[19]: var805_upvw (copied, read and write)
[20]: var806_upvw (copied, read and write)
[21]: var807_upvw (copied, read and write)
[22]: var808_upvw (copied, read and write)
[23]: var809_upvw (copied, read and write)
[24]: var810_upvw (copied, read and write)
[25]: var811_upvw (copied, read and write)
[26]: var812_upvw (copied, read and write)
[27]: var813_upvw (copied, read and write)
[28]: var814_upvw (copied, read and write)
[29]: var815_upvw (copied, read and write)
[30]: var816_upvw (copied, read and write)
[31]: var817_upvw (copied, read and write)
[32]: var818_upvw (copied, read and write)
[33]: var819_upvw (copied, read and write)
[34]: var820_upvw (copied, read and write)
[35]: var821_upvw (copied, read and write)
[36]: var822_upvw (copied, read and write)
[37]: var823_upvw (copied, read and write)
[38]: var824_upvw (copied, read and write)
[39]: var825_upvw (copied, read and write)
[40]: var826_upvw (copied, read and write)
[41]: var827_upvw (copied, read and write)
[42]: var828_upvw (copied, read and write)
[43]: var829_upvw (copied, read and write)
[44]: var830_upvw (copied, read and write)
[45]: var831_upvw (copied, read and write)
[46]: var832_upvw (copied, read and write)
[47]: var833_upvw (copied, read and write)
[48]: var834_upvw (copied, read and write)
[49]: var835_upvw (copied, read and write)
[50]: var836_upvw (copied, read and write)
[51]: var837_upvw (copied, read and write)
[52]: var838_upvw (copied, read and write)
]]
for i_3 = 1, var778_upvw * 1000 do
var788_upvw += 1e+57
var789_upvw += 1e+57
var790_upvw += 1e+57
var791_upvw += 1e+57
var792_upvw += 1e+57
var793_upvw += 1e+57
var794_upvw += 1e+57
var795_upvw += 1e+57
var796_upvw += 1e+57
var797_upvw += 1e+57
var798_upvw += 1e+57
var799_upvw += 1e+57
var800_upvw += 1e+57
var801_upvw += 1e+57
var802_upvw += 1e+57
var803_upvw += 1e+57
var804_upvw += 1e+57
var805_upvw += 1e+57
var806_upvw += 1e+57
var807_upvw += 1e+57
var808_upvw += 1e+57
var809_upvw += 1e+57
var810_upvw += 1e+57
var811_upvw += 1e+57
var812_upvw += 1e+57
var813_upvw += 1e+57
var814_upvw += 1e+57
var815_upvw += 1e+57
var816_upvw += 1e+57
var817_upvw += 1e+57
var818_upvw += 1e+57
var819_upvw += 1e+57
var820_upvw += 1e+57
var821_upvw += 1e+57
var822_upvw += 1e+57
var823_upvw += 1e+57
var824_upvw += 1e+57
var825_upvw += 1e+57
var826_upvw += 1e+57
var827_upvw += 1e+57
var828_upvw += 1e+57
var829_upvw += 1e+57
var830_upvw += 1e+57
var831_upvw += 1e+57
var832_upvw += 1e+57
var833_upvw += 1e+57
var834_upvw += 1e+57
var835_upvw += 1e+57
var836_upvw += 1e+57
var837_upvw += 1e+57
var838_upvw += 1e+57
pcall(function() -- Line 242
task.defer(function() -- Line 243
local randint_upvr = math.random(100, 2000)
pcall(function() -- Line 170
--[[ Upvalues[1]:
[1]: randint_upvr (readonly)
]]
local var849 = ""
for _ = 1, randint_upvr do
var849 = var849..utf8.char(math.random(0, 65535))
end
return var849
end)
randint_upvr = print
randint_upvr(nil)
end)
end)
local var851_upvw = i_3 + 1e+57
pcall(function() -- Line 249
--[[ Upvalues[52]:
[1]: var788_upvw (copied, read and write)
[2]: var789_upvw (copied, read and write)
[3]: var790_upvw (copied, read and write)
[4]: var791_upvw (copied, read and write)
[5]: var792_upvw (copied, read and write)
[6]: var793_upvw (copied, read and write)
[7]: var794_upvw (copied, read and write)
[8]: var795_upvw (copied, read and write)
[9]: var851_upvw (read and write)
[10]: var796_upvw (copied, read and write)
[11]: var797_upvw (copied, read and write)
[12]: var798_upvw (copied, read and write)
[13]: var799_upvw (copied, read and write)
[14]: var800_upvw (copied, read and write)
[15]: var801_upvw (copied, read and write)
[16]: var802_upvw (copied, read and write)
[17]: var803_upvw (copied, read and write)
[18]: var804_upvw (copied, read and write)
[19]: var805_upvw (copied, read and write)
[20]: var806_upvw (copied, read and write)
[21]: var807_upvw (copied, read and write)
[22]: var808_upvw (copied, read and write)
[23]: var809_upvw (copied, read and write)
[24]: var810_upvw (copied, read and write)
[25]: var811_upvw (copied, read and write)
[26]: var812_upvw (copied, read and write)
[27]: var813_upvw (copied, read and write)
[28]: var814_upvw (copied, read and write)
[29]: var815_upvw (copied, read and write)
[30]: var816_upvw (copied, read and write)
[31]: var817_upvw (copied, read and write)
[32]: var818_upvw (copied, read and write)
[33]: var819_upvw (copied, read and write)
[34]: var820_upvw (copied, read and write)
[35]: var821_upvw (copied, read and write)
[36]: var822_upvw (copied, read and write)
[37]: var823_upvw (copied, read and write)
[38]: var824_upvw (copied, read and write)
[39]: var825_upvw (copied, read and write)
[40]: var826_upvw (copied, read and write)
[41]: var827_upvw (copied, read and write)
[42]: var828_upvw (copied, read and write)
[43]: var829_upvw (copied, read and write)
[44]: var830_upvw (copied, read and write)
[45]: var831_upvw (copied, read and write)
[46]: var832_upvw (copied, read and write)
[47]: var833_upvw (copied, read and write)
[48]: var834_upvw (copied, read and write)
[49]: var835_upvw (copied, read and write)
[50]: var836_upvw (copied, read and write)
[51]: var837_upvw (copied, read and write)
[52]: var838_upvw (copied, read and write)
]]
print(var788_upvw, var789_upvw, var790_upvw, var791_upvw, var792_upvw, var793_upvw, var794_upvw, var795_upvw, var851_upvw, var796_upvw, var797_upvw, var798_upvw, var799_upvw, var800_upvw, var801_upvw, var802_upvw, var803_upvw, var804_upvw, var805_upvw, var806_upvw, var807_upvw, var808_upvw, var809_upvw, var810_upvw, var811_upvw, var812_upvw, var813_upvw, var814_upvw, var815_upvw, var816_upvw, var817_upvw, var818_upvw, var819_upvw, var820_upvw, var821_upvw, var822_upvw, var823_upvw, var824_upvw, var825_upvw, var826_upvw, var827_upvw, var828_upvw, var829_upvw, var830_upvw, var831_upvw, var832_upvw, var833_upvw, var834_upvw, var835_upvw, var836_upvw, var837_upvw, var838_upvw)
end)
end
end)
end)
task.wait()
end
end)
end
local function _(arg1, arg2, arg3) -- Line 261, Named "lerp"
return arg1 + (arg2 - arg1) * arg3
end
local function isTeammate_upvr(arg1, arg2) -- Line 266, Named "isTeammate"
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [3] 3. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [3] 3. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [18] 11. Error Block 45 start (CF ANALYSIS FAILED)
if arg1.Team.Name ~= "Home" or arg2.Team.Name ~= "-Home GK" or arg1.Team.Name ~= "-Home GK" or arg2.Team.Name ~= "Home" or arg1.Team.Name ~= "Home" or arg2.Team.Name ~= "Home GK" or arg1.Team.Name ~= "Home GK" or arg2.Team.Name ~= "Home" or arg1.Team.Name ~= "Away" or arg2.Team.Name ~= "Away" or arg1.Team.Name ~= "Away" or arg2.Team.Name ~= "-Away GK" or arg1.Team.Name ~= "-Away GK" or arg2.Team.Name ~= "Away" or arg1.Team.Name == "Away" and arg2.Team.Name == "Away GK" or arg1.Team.Name == "Away GK" and arg2.Team.Name == "Away" then
-- KONSTANTERROR: [126] 65. Error Block 35 start (CF ANALYSIS FAILED)
do
return true
end
-- KONSTANTERROR: [126] 65. Error Block 35 end (CF ANALYSIS FAILED)
end
-- KONSTANTERROR: [18] 11. Error Block 45 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [128] 67. Error Block 34 start (CF ANALYSIS FAILED)
do
return false
end
-- KONSTANTERROR: [128] 67. Error Block 34 end (CF ANALYSIS FAILED)
end
local function getClientBall_upvr(arg1) -- Line 274, Named "getClientBall"
--[[ Upvalues[1]:
[1]: Services_upvr_2 (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
if arg1 and arg1:FindFirstChild("properties") then
local var876
if var876 then
var876 = nil
for _, v in next, arg1.Parent.Parent:GetChildren() do
if Services_upvr_2.CollectionService:HasTag(v, "SpawnersFolder") then
var876 = v
elseif Services_upvr_2.CollectionService:HasTag(v, "ClientBallsFolder") then
end
end
if var876 and v then
for _, v_2 in next, var876:GetChildren() do
if v_2 and arg1.properties.spawner.Value == v_2 then
for _, v_3 in next, v:GetChildren() do
if v_3 and v_3:FindFirstChild("properties") and v_3.properties:FindFirstChild("spawner") and v_3.properties.spawner.Value == v_2 then
return v_3
end
end
end
end
end
end
end
end
local function doTransition_upvr() -- Line 300, Named "doTransition"
--[[ Upvalues[1]:
[1]: PlayerGui_upvr (readonly)
]]
PlayerGui_upvr.replay.gradient:TweenPosition(UDim2.new(0, 0, 0, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Quint, 0.5, true)
task.wait(0.35)
PlayerGui_upvr.replay.logo.Visible = true
PlayerGui_upvr.replay.logo.Size = UDim2.new(0, 0, 0, 0)
PlayerGui_upvr.replay.logo:TweenSize(UDim2.new(0, 300, 0, 300), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.2, true)
task.wait(0.5)
_G._services.StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Chat, false)
task.wait(0.05)
PlayerGui_upvr.replay.fill:TweenSize(UDim2.new(1, 0, 1, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.25, true)
task.wait(0.2)
PlayerGui_upvr.replay.logo:TweenSize(UDim2.new(0, 350, 0, 350), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 0.15, true)
_G._services.TweenService:Create(PlayerGui_upvr.replay.logo, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageColor3 = Color3.new(1, 1, 1);
}):Play()
task.wait(0.5)
PlayerGui_upvr.replay.logo:TweenSize(UDim2.new(0, 0, 0, 0), Enum.EasingDirection.In, Enum.EasingStyle.Back, 0.15, true)
task.spawn(function() -- Line 316
--[[ Upvalues[1]:
[1]: PlayerGui_upvr (copied, readonly)
]]
task.wait(0.1)
PlayerGui_upvr.replay.gradient.BackgroundTransparency = 1
PlayerGui_upvr.replay.gradient.right.BackgroundTransparency = 1
PlayerGui_upvr.replay.gradient.left.BackgroundTransparency = 1
PlayerGui_upvr.replay.fill.AnchorPoint = Vector2.new(1, 0)
PlayerGui_upvr.replay.fill.Position = UDim2.new(1, 0, 0, 0)
PlayerGui_upvr.replay.fill:TweenSize(UDim2.new(0, 0, 1, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.4, true)
task.wait(0.4)
PlayerGui_upvr.replay.fill.AnchorPoint = Vector2.new(0, 0)
PlayerGui_upvr.replay.fill.Position = UDim2.new(0, 0, 0, 0)
PlayerGui_upvr.replay.logo.ImageColor3 = Color3.fromRGB(35, 39, 50)
PlayerGui_upvr.replay.logo.Visible = false
PlayerGui_upvr.replay.gradient.BackgroundTransparency = 0
PlayerGui_upvr.replay.gradient.right.BackgroundTransparency = 0
PlayerGui_upvr.replay.gradient.left.BackgroundTransparency = 0
PlayerGui_upvr.replay.gradient.Position = UDim2.new(-1, -700, 0, 0)
end)
end
local module_6 = {}
local any_load_result1_upvr_27 = _engine_2:load("Sounds")
local any_load_result1_upvr_6 = _engine_2:load("SmartBone")
local var888_upvw = false
local var889_upvw = false
local any_load_result1_upvr_25 = _engine_2:load("TeamService", "utils")
local any_new_result1_upvr_2 = _engine_2:load("Network").new()
local any_new_result1_upvr_5 = any_load_result1_upvr_20.new()
local module_upvr = require(Parent_2:WaitForChild("jukeboxController", 100))
local any_load_result1_upvr_21 = _engine_2:load("Balls")
local visuals_upvr = script.Parent.Parent:WaitForChild("visuals", 100)
local any_load_result1_upvr_24 = _engine_2:load("Walkout")
local var897_upvw = false
local any_load_result1_upvr_19 = _engine_2:load("PartToRegion3", "utils")
local any_load_result1_upvr_15 = _engine_2:load("Freekick")
local any_load_result1_upvr_26 = _engine_2:load("Goalkick")
local any_load_result1_upvr_30 = _engine_2:load("ThrowIn")
local any_load_result1_upvr_17 = _engine_2:load("Corner")
local any_load_result1_upvr_7 = _engine_2:load("Penalty")
local any_load_result1_upvr_2 = _engine_2:load("Shootout")
local _root_upvr_2 = _G._root
local movementController_upvr = Parent_2:WaitForChild("movementController", 100)
local mouse_upvr = LocalPlayer_upvr:GetMouse()
local BoundKeys_upvr = MouseLockController_upvr_2:WaitForChild("BoundKeys", 100)
local any_new_result1_8_upvr = any_load_result1_upvr_20.new()
local any_load_result1_upvr_3 = _engine_2:load("ThumbnailService", "utils")
local any_load_result1_upvr_23 = _engine_2:load("LightningBolt")
local module_9_upvr = require(References_upvr_2.Classes.LightningBolt:WaitForChild("LightningSparks", 100))
local module_8_upvr = require(References_upvr_2.Classes.LightningBolt:WaitForChild("LightningExplosion", 100))
local var914_upvw = false
local var915_upvw = false
local tbl_11_upvr = {}
local any_load_result1_upvr_4 = _engine_2:load("Take")
local module_10_upvr = require(LocalPlayer_upvr.PlayerScripts:WaitForChild("PlayerModule"))
local ClientEngine_upvr = References_upvr_2.PlayerScripts:WaitForChild("ClientEngine", 100)
function module_6.init(arg1, arg2) -- Line 345
--[[ Upvalues[48]:
[1]: LocalPlayer_upvr (readonly)
[2]: any_load_result1_upvr_27 (readonly)
[3]: any_load_result1_upvr_6 (readonly)
[4]: tbl_43_upvr (readonly)
[5]: any_new_result1_13_upvr (readonly)
[6]: getClientBall_upvr (readonly)
[7]: var888_upvw (read and write)
[8]: Services_upvr_2 (readonly)
[9]: References_upvr_2 (readonly)
[10]: PlayerGui_upvr (readonly)
[11]: var889_upvw (read and write)
[12]: any_load_result1_upvr_25 (readonly)
[13]: any_new_result1_upvr_2 (readonly)
[14]: any_new_result1_upvr_5 (readonly)
[15]: module_upvr (readonly)
[16]: var769_upvw (read and write)
[17]: doTransition_upvr (readonly)
[18]: any_load_result1_upvr_21 (readonly)
[19]: visuals_upvr (readonly)
[20]: any_load_result1_upvr_24 (readonly)
[21]: var897_upvw (read and write)
[22]: any_load_result1_upvr_19 (readonly)
[23]: any_load_result1_upvr_15 (readonly)
[24]: any_load_result1_upvr_26 (readonly)
[25]: any_load_result1_upvr_30 (readonly)
[26]: any_load_result1_upvr_17 (readonly)
[27]: any_load_result1_upvr_7 (readonly)
[28]: any_load_result1_upvr_2 (readonly)
[29]: _root_upvr_2 (readonly)
[30]: movementController_upvr (readonly)
[31]: MouseLockController_upvr_2 (readonly)
[32]: mouse_upvr (readonly)
[33]: BoundKeys_upvr (readonly)
[34]: any_new_result1_8_upvr (readonly)
[35]: any_load_result1_upvr_20 (readonly)
[36]: isTeammate_upvr (readonly)
[37]: any_load_result1_upvr_3 (readonly)
[38]: any_load_result1_upvr_23 (readonly)
[39]: module_9_upvr (readonly)
[40]: module_8_upvr (readonly)
[41]: var914_upvw (read and write)
[42]: var915_upvw (read and write)
[43]: tbl_11_upvr (readonly)
[44]: any_load_result1_upvr_4 (readonly)
[45]: module_10_upvr (readonly)
[46]: ClientEngine_upvr (readonly)
[47]: crash_upvr (readonly)
[48]: tbl_80_upvr (readonly)
]]
for i_46, v_40 in next, {
sound = function(arg1_65) -- Line 347
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: any_load_result1_upvr_27 (copied, readonly)
]]
if arg1_65.exclude ~= LocalPlayer_upvr then
any_load_result1_upvr_27:load(arg1_65)
end
end;
updateSmartBone = function() -- Line 353
--[[ Upvalues[1]:
[1]: any_load_result1_upvr_6 (copied, readonly)
]]
any_load_result1_upvr_6.Start()
end;
notification = function(arg1_66, arg2_22) -- Line 357
--[[ Upvalues[2]:
[1]: tbl_43_upvr (copied, readonly)
[2]: any_new_result1_13_upvr (copied, readonly)
]]
if tbl_43_upvr[arg2_22] then
tbl_43_upvr[arg2_22](arg1_66)
else
any_new_result1_13_upvr:create(arg1_66, Color3.fromRGB(255, 255, 255))
end
end;
ballModel = function(arg1_67) -- Line 365
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: getClientBall_upvr (copied, readonly)
]]
if arg1_67.exclude ~= LocalPlayer_upvr then
local getClientBall_upvr_result1 = getClientBall_upvr(arg1_67.ball)
if getClientBall_upvr_result1 and getClientBall_upvr_result1.Parent and getClientBall_upvr_result1:FindFirstChild("design") and getClientBall_upvr_result1:WaitForChild("design", 100):FindFirstChildWhichIsA("BasePart") then
getClientBall_upvr_result1:WaitForChild("design", 100):FindFirstChildWhichIsA("BasePart").Transparency = arg1_67.transparency
end
end
end;
goal = function(arg1_68, arg2_23, arg3) -- Line 379
--[[ Upvalues[4]:
[1]: var888_upvw (copied, read and write)
[2]: Services_upvr_2 (copied, readonly)
[3]: References_upvr_2 (copied, readonly)
[4]: PlayerGui_upvr (copied, readonly)
]]
if var888_upvw then
else
for _, v_41 in next, Services_upvr_2.Players:GetPlayers() do
if v_41 then
if string.lower(v_41.Name) == string.lower(arg1_68) then
local SOME_4 = References_upvr_2.Profiles:WaitForChild(tostring(v_41.UserId))
if SOME_4 then
PlayerGui_upvr.main.goal.goals.goals.Text = tostring(SOME_4.stats.Goals.Value)
end
end
end
end
var888_upvw = true
PlayerGui_upvr.main.goal.Visible = true
PlayerGui_upvr.main.goal.background.Visible = false
PlayerGui_upvr.main.goal.scorer.Visible = false
PlayerGui_upvr.main.goal.scorer.player.Text = string.upper(arg1_68)
if arg3 then
PlayerGui_upvr.main.goal.assist.player.Text = string.upper(arg3)
end
PlayerGui_upvr.main.goal.goal.main.background:TweenPosition(UDim2.new(1.25, 0, 0, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Quint, 2, true)
task.wait(0.85)
PlayerGui_upvr.main.goal.goal.main.label:TweenPosition(UDim2.new(0.825, 0, 0, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Quint, 1.35, true)
task.wait(0.15)
PlayerGui_upvr.main.goal.background.Visible = true
task.wait(0.85)
PlayerGui_upvr.main.goal.goal.main.label['3'].TextTransparency = 1
PlayerGui_upvr.main.goal.goal.main.label['2'].UIStroke.Transparency = 1
PlayerGui_upvr.main.goal.goal.main.label:TweenPosition(UDim2.new(0.7, 0, 0, 0), Enum.EasingDirection.In, Enum.EasingStyle.Quint, 0.4, true)
Services_upvr_2.TweenService:Create(PlayerGui_upvr.main.goal.goal.main.label['1'], TweenInfo.new(0.4, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 1;
}):Play()
task.wait(0.4)
PlayerGui_upvr.main.goal.scorer.Visible = true
PlayerGui_upvr.main.goal.scorer.icon.Position = UDim2.new(0, -35, 0.5, 0)
PlayerGui_upvr.main.goal.scorer.player.Position = UDim2.new(1, 230, 0.5, 0)
PlayerGui_upvr.main.goal.scorer.icon:TweenPosition(UDim2.new(0, 0, 0.5, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Quint, 0.25, true)
PlayerGui_upvr.main.goal.scorer.player:TweenPosition(UDim2.new(1, 0, 0.5, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Quint, 0.25, true)
task.wait(5)
PlayerGui_upvr.main.goal.scorer.icon:TweenPosition(UDim2.new(0, -35, 0.5, 0), Enum.EasingDirection.In, Enum.EasingStyle.Quint, 0.25, true)
PlayerGui_upvr.main.goal.scorer.player:TweenPosition(UDim2.new(1, 230, 0.5, 0), Enum.EasingDirection.In, Enum.EasingStyle.Quint, 0.25, true)
task.wait(0.25)
if arg3 then
PlayerGui_upvr.main.goal.assist.Visible = true
PlayerGui_upvr.main.goal.assist.icon.Position = UDim2.new(0, -40, 0.5, 0)
PlayerGui_upvr.main.goal.assist.player.Position = UDim2.new(1, 230, 0.5, 0)
PlayerGui_upvr.main.goal.assist.icon:TweenPosition(UDim2.new(0, 0, 0.5, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Quint, 0.25, true)
PlayerGui_upvr.main.goal.assist.player:TweenPosition(UDim2.new(1, 0, 0.5, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Quint, 0.25, true)
else
PlayerGui_upvr.main.goal.goals.Visible = true
PlayerGui_upvr.main.goal.goals.label.Position = UDim2.new(-0.77, 0, 0.5, 0)
PlayerGui_upvr.main.goal.goals.goals.Position = UDim2.new(1.26, 0, 0.5, 0)
PlayerGui_upvr.main.goal.goals.label:TweenPosition(UDim2.new(0, 0, 0.5, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Quint, 0.25, true)
PlayerGui_upvr.main.goal.goals.goals:TweenPosition(UDim2.new(1, 0, 0.5, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Quint, 0.25, true)
end
task.wait(4)
PlayerGui_upvr.main.goal.assist.icon:TweenPosition(UDim2.new(0, -40, 0.5, 0), Enum.EasingDirection.In, Enum.EasingStyle.Quint, 0.25, true)
PlayerGui_upvr.main.goal.assist.player:TweenPosition(UDim2.new(1, 230, 0.5, 0), Enum.EasingDirection.In, Enum.EasingStyle.Quint, 0.25, true)
PlayerGui_upvr.main.goal.goals.label:TweenPosition(UDim2.new(-0.77, 0, 0.5, 0), Enum.EasingDirection.In, Enum.EasingStyle.Quint, 0.25, true)
PlayerGui_upvr.main.goal.goals.goals:TweenPosition(UDim2.new(1.26, 0, 0.5, 0), Enum.EasingDirection.In, Enum.EasingStyle.Quint, 0.25, true)
task.wait(0.25)
PlayerGui_upvr.main.goal.background:TweenSize(UDim2.new(0, 0, 1, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Quint, 0.3, true)
task.wait(0.35)
PlayerGui_upvr.main.goal.Visible = false
PlayerGui_upvr.main.goal.scorer.icon.Position = UDim2.new(0, 0, 0.5, 0)
PlayerGui_upvr.main.goal.scorer.player.Position = UDim2.new(1, 0, 0.5, 0)
PlayerGui_upvr.main.goal.assist.icon.Position = UDim2.new(0, 0, 0.5, 0)
PlayerGui_upvr.main.goal.assist.player.Position = UDim2.new(1, 0, 0.5, 0)
PlayerGui_upvr.main.goal.goals.label.Position = UDim2.new(0, 0, 0.5, 0)
PlayerGui_upvr.main.goal.goals.goals.Position = UDim2.new(1, 0, 0.5, 0)
PlayerGui_upvr.main.goal.goal.main.label['3'].TextTransparency = 0
PlayerGui_upvr.main.goal.goal.main.label['2'].UIStroke.Transparency = 0
PlayerGui_upvr.main.goal.goal.main.label['1'].TextTransparency = 0
PlayerGui_upvr.main.goal.goal.main.label.Position = UDim2.new(0, 0, 0, 0)
PlayerGui_upvr.main.goal.goal.main.background.Position = UDim2.new(-0.25, 0, 0, 0)
PlayerGui_upvr.main.goal.background.Size = UDim2.new(1, 0, 1, 0)
PlayerGui_upvr.main.goal.assist.Visible = false
PlayerGui_upvr.main.goal.goals.Visible = false
var888_upvw = false
end
end;
stats = function(arg1_69, arg2_24, arg3) -- Line 481
--[[ Upvalues[3]:
[1]: var889_upvw (copied, read and write)
[2]: PlayerGui_upvr (copied, readonly)
[3]: any_load_result1_upvr_25 (copied, readonly)
]]
if var889_upvw then
else
var889_upvw = true
PlayerGui_upvr.main.stats.Visible = true
PlayerGui_upvr.main.stats.background.Visible = false
PlayerGui_upvr.main.stats.home.Visible = false
PlayerGui_upvr.main.stats.away.Visible = false
PlayerGui_upvr.main.stats.title.Visible = false
PlayerGui_upvr.main.stats.fill.layer1:TweenSize(UDim2.new(1, 0, 1, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
task.wait(0.075)
PlayerGui_upvr.main.stats.fill.layer2:TweenSize(UDim2.new(1, 0, 1, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
task.wait(0.15)
PlayerGui_upvr.main.stats.title.Text = string.upper(arg1_69)
PlayerGui_upvr.main.stats.home.Text = tostring(arg2_24)
PlayerGui_upvr.main.stats.away.Text = tostring(arg3)
PlayerGui_upvr.main.stats.home.TextColor3 = any_load_result1_upvr_25:getTeamColorFromTeam("Home")
PlayerGui_upvr.main.stats.away.TextColor3 = any_load_result1_upvr_25:getTeamColorFromTeam("Away")
PlayerGui_upvr.main.stats.background.Visible = true
PlayerGui_upvr.main.stats.home.Visible = true
PlayerGui_upvr.main.stats.away.Visible = true
PlayerGui_upvr.main.stats.title.Visible = true
PlayerGui_upvr.main.stats.fill.layer1.AnchorPoint = Vector2.new(1, 0)
PlayerGui_upvr.main.stats.fill.layer1.Position = UDim2.new(1, 0, 0, 0)
PlayerGui_upvr.main.stats.fill.layer2.AnchorPoint = Vector2.new(1, 0)
PlayerGui_upvr.main.stats.fill.layer2.Position = UDim2.new(1, 0, 0, 0)
PlayerGui_upvr.main.stats.fill.layer2:TweenSize(UDim2.new(0, 0, 1, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
task.wait(0.075)
PlayerGui_upvr.main.stats.fill.layer1:TweenSize(UDim2.new(0, 0, 1, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
task.wait(0.15)
PlayerGui_upvr.main.stats.fill.layer1.AnchorPoint = Vector2.new(0, 0)
PlayerGui_upvr.main.stats.fill.layer1.Position = UDim2.new(0, 0, 0, 0)
PlayerGui_upvr.main.stats.fill.layer2.AnchorPoint = Vector2.new(0, 0)
PlayerGui_upvr.main.stats.fill.layer2.Position = UDim2.new(0, 0, 0, 0)
task.wait(5.25)
PlayerGui_upvr.main.stats.fill.layer1:TweenSize(UDim2.new(1, 0, 1, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
task.wait(0.075)
PlayerGui_upvr.main.stats.fill.layer2:TweenSize(UDim2.new(1, 0, 1, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
task.wait(0.15)
PlayerGui_upvr.main.stats.background.Visible = false
PlayerGui_upvr.main.stats.home.Visible = false
PlayerGui_upvr.main.stats.away.Visible = false
PlayerGui_upvr.main.stats.title.Visible = false
PlayerGui_upvr.main.stats.fill.layer1.AnchorPoint = Vector2.new(1, 0)
PlayerGui_upvr.main.stats.fill.layer1.Position = UDim2.new(1, 0, 0, 0)
PlayerGui_upvr.main.stats.fill.layer2.AnchorPoint = Vector2.new(1, 0)
PlayerGui_upvr.main.stats.fill.layer2.Position = UDim2.new(1, 0, 0, 0)
PlayerGui_upvr.main.stats.fill.layer2:TweenSize(UDim2.new(0, 0, 1, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
task.wait(0.075)
PlayerGui_upvr.main.stats.fill.layer1:TweenSize(UDim2.new(0, 0, 1, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
task.wait(0.15)
PlayerGui_upvr.main.stats.fill.layer1.AnchorPoint = Vector2.new(0, 0)
PlayerGui_upvr.main.stats.fill.layer1.Position = UDim2.new(0, 0, 0, 0)
PlayerGui_upvr.main.stats.fill.layer2.AnchorPoint = Vector2.new(0, 0)
PlayerGui_upvr.main.stats.fill.layer2.Position = UDim2.new(0, 0, 0, 0)
PlayerGui_upvr.main.stats.background.Visible = true
PlayerGui_upvr.main.stats.home.Visible = true
PlayerGui_upvr.main.stats.away.Visible = true
PlayerGui_upvr.main.stats.title.Visible = true
PlayerGui_upvr.main.stats.Visible = false
var889_upvw = false
end
end;
disableCollider = function() -- Line 560
workspace.game.shootout.Collide.CanCollide = false
end;
resetCollider = function(arg1_70) -- Line 564
--[[ Upvalues[1]:
[1]: LocalPlayer_upvr (copied, readonly)
]]
if not table.find(arg1_70, LocalPlayer_upvr) then
workspace.game.shootout.Collide.CanCollide = true
end
end;
penalties = function() -- Line 570
--[[ Upvalues[4]:
[1]: any_load_result1_upvr_25 (copied, readonly)
[2]: PlayerGui_upvr (copied, readonly)
[3]: References_upvr_2 (copied, readonly)
[4]: Services_upvr_2 (copied, readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local tbl_13 = {
home = any_load_result1_upvr_25:getTeamColorFromTeam("Home");
away = any_load_result1_upvr_25:getTeamColorFromTeam("Away");
}
local tbl_24 = {
home = any_load_result1_upvr_25:getAbbreviationFromTeam("Home");
away = any_load_result1_upvr_25:getAbbreviationFromTeam("Away");
}
local penalties_upvr_2 = PlayerGui_upvr.main.penalties
for _, v_4 in next, {"Home", "Away"} do
penalties_upvr_2.top[string.lower(v_4)].label.Text = tbl_24[string.lower(v_4)]
penalties_upvr_2.top[string.lower(v_4)].score.Text = tostring(References_upvr_2.Main.config.Stats[v_4].Score.Value)
penalties_upvr_2.top[string.lower(v_4)].label.TextColor3 = tbl_13[string.lower(v_4)]
penalties_upvr_2.top[string.lower(v_4)].score.TextColor3 = tbl_13[string.lower(v_4)]
end
penalties_upvr_2.Visible = true
Services_upvr_2.TweenService:Create(penalties_upvr_2, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
GroupTransparency = 0;
Position = UDim2.new(0.5, 0, 0.5, 0);
}):Play()
task.wait(0.2)
for _, v_5_upvr in next, {"Home", "Away"} do
task.spawn(function() -- Line 594
--[[ Upvalues[4]:
[1]: References_upvr_2 (copied, readonly)
[2]: v_5_upvr (readonly)
[3]: penalties_upvr_2 (readonly)
[4]: Services_upvr_2 (copied, readonly)
]]
for i_10, v_6 in next, References_upvr_2.Main.config.Penalties.Takers[v_5_upvr]:GetChildren() do
if v_6 then
local clone = References_upvr_2.Main.ui["penaltyTaker"..v_5_upvr]:Clone()
clone.Name = tostring(i_10)
clone.LayoutOrder = i_10
if v_5_upvr == "Home" then
clone.main.Position = UDim2.new(-1, 0, 0, 0)
else
clone.main.Position = UDim2.new(1, 0, 0, 0)
end
clone.main.player.Text = v_6.Name
clone.main.number.Text = tostring(v_6.Value)
clone.main.player.TextTransparency = 1
clone.main.number.TextTransparency = 1
clone.main.divider.BackgroundTransparency = 1
clone.Parent = penalties_upvr_2[string.lower(v_5_upvr)]
Services_upvr_2.TweenService:Create(clone.main.player, TweenInfo.new(0.35, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 0;
}):Play()
Services_upvr_2.TweenService:Create(clone.main.number, TweenInfo.new(0.35, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 0;
}):Play()
Services_upvr_2.TweenService:Create(clone.main.divider, TweenInfo.new(0.35, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 0;
}):Play()
clone.main:TweenPosition(UDim2.new(0, 0, 0, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.35, true)
task.wait(0.25)
end
end
end)
end
task.wait(7)
for _, v_7 in next, {"Home", "Away"} do
for _, v_8_upvr in next, penalties_upvr_2[string.lower(v_7)]:GetChildren() do
if v_8_upvr and v_8_upvr:IsA("Frame") then
Services_upvr_2.TweenService:Create(v_8_upvr.main.player, TweenInfo.new(0.35, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 1;
}):Play()
Services_upvr_2.TweenService:Create(v_8_upvr.main.number, TweenInfo.new(0.35, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 1;
}):Play()
Services_upvr_2.TweenService:Create(v_8_upvr.main.divider, TweenInfo.new(0.35, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 1;
}):Play()
if v_7 == "Home" then
v_8_upvr.main:TweenPosition(UDim2.new(-1, 0, 0, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.35, true)
else
v_8_upvr.main:TweenPosition(UDim2.new(1, 0, 0, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.35, true)
end
task.delay(0.4, function() -- Line 638
--[[ Upvalues[1]:
[1]: v_8_upvr (readonly)
]]
v_8_upvr:Destroy()
end)
end
end
end
task.wait(0.2)
Services_upvr_2.TweenService:Create(penalties_upvr_2, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
GroupTransparency = 1;
Position = UDim2.new(0.5, 0, 0.5, 20);
}):Play()
task.wait(0.25)
penalties_upvr_2.Visible = false
end;
scorers = function(arg1_71) -- Line 651
--[[ Upvalues[4]:
[1]: any_load_result1_upvr_25 (copied, readonly)
[2]: PlayerGui_upvr (copied, readonly)
[3]: References_upvr_2 (copied, readonly)
[4]: Services_upvr_2 (copied, readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local tbl_68 = {
home = any_load_result1_upvr_25:getTeamColorFromTeam("Home");
away = any_load_result1_upvr_25:getTeamColorFromTeam("Away");
}
local scorers_upvr = PlayerGui_upvr.main.scorers
for _, v_9 in next, {"Home", "Away"} do
scorers_upvr[string.lower(v_9)].main.label.Text = string.upper(References_upvr_2.Main.config.Stats[v_9].Team.Value)
scorers_upvr[string.lower(v_9)].main.score.Text = tostring(References_upvr_2.Main.config.Stats[v_9].Score.Value)
scorers_upvr[string.lower(v_9)].main.label.TextColor3 = tbl_68[string.lower(v_9)]
scorers_upvr[string.lower(v_9)].main.score.TextColor3 = tbl_68[string.lower(v_9)]
for i_14, v_10 in next, References_upvr_2.Main.config.Scorers[v_9]:GetChildren() do
if v_10 and i_14 <= 4 then
local clone_15 = References_upvr_2.Main.ui["scorer"..v_9]:Clone()
clone_15.Parent = scorers_upvr[string.lower(v_9)].scorers.list
clone_15.scorer.Text = string.upper(v_10.Name)
clone_15.time.Text = tostring(v_10.Value).."'"
clone_15.scorer.TextTransparency = 1
clone_15.time.TextTransparency = 1
clone_15.divider.BackgroundTransparency = 1
end
end
end
scorers_upvr.status.label.Text = string.upper(arg1_71)
scorers_upvr.Visible = true
Services_upvr_2.TweenService:Create(scorers_upvr.background, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 0;
}):Play()
Services_upvr_2.TweenService:Create(scorers_upvr.background.UIStroke, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Transparency = 0;
}):Play()
task.wait(0.1)
Services_upvr_2.TweenService:Create(scorers_upvr.logo, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 0;
}):Play()
task.wait(0.2)
scorers_upvr.home.main:TweenPosition(UDim2.new(0, 0, 0, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.2, true)
scorers_upvr.away.main:TweenPosition(UDim2.new(0, 0, 0, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.2, true)
Services_upvr_2.TweenService:Create(scorers_upvr.status.background, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 0;
}):Play()
Services_upvr_2.TweenService:Create(scorers_upvr.status.background.UIStroke, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Transparency = 0;
}):Play()
scorers_upvr.status:TweenSize(UDim2.new(0, 200, 0, 30), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.2, true)
task.wait(0.2)
Services_upvr_2.TweenService:Create(scorers_upvr.status.label, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 0;
}):Play()
for _, v_11_upvr in next, {"home", "away"} do
task.spawn(function() -- Line 698
--[[ Upvalues[3]:
[1]: Services_upvr_2 (copied, readonly)
[2]: scorers_upvr (readonly)
[3]: v_11_upvr (readonly)
]]
Services_upvr_2.TweenService:Create(scorers_upvr[v_11_upvr].main.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 0;
}):Play()
Services_upvr_2.TweenService:Create(scorers_upvr[v_11_upvr].main.score, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 0;
}):Play()
if 1 < #scorers_upvr[v_11_upvr].scorers.list:GetChildren() then
Services_upvr_2.TweenService:Create(scorers_upvr[v_11_upvr].scorers.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 0;
}):Play()
Services_upvr_2.TweenService:Create(scorers_upvr[v_11_upvr].scorers.background.UIStroke, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Transparency = 0;
}):Play()
scorers_upvr[v_11_upvr].scorers:TweenSize(UDim2.new(1, -50, 0, math.clamp(scorers_upvr[v_11_upvr].scorers.list.AbsoluteSize.Y, 0, 140)), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
task.wait(0.15)
for _, v_12 in next, scorers_upvr[v_11_upvr].scorers.list:GetChildren() do
if v_12 and v_12:IsA("Frame") then
Services_upvr_2.TweenService:Create(v_12.scorer, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 0;
}):Play()
Services_upvr_2.TweenService:Create(v_12.time, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 0;
}):Play()
Services_upvr_2.TweenService:Create(v_12.divider, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 0;
}):Play()
end
end
end
end)
end
task.wait(7)
for _, v_13_upvr in next, {"home", "away"} do
task.spawn(function() -- Line 723
--[[ Upvalues[3]:
[1]: scorers_upvr (readonly)
[2]: v_13_upvr (readonly)
[3]: Services_upvr_2 (copied, readonly)
]]
for _, v_14_upvr in next, scorers_upvr[v_13_upvr].scorers.list:GetChildren() do
if v_14_upvr then
if v_14_upvr:IsA("Frame") then
Services_upvr_2.TweenService:Create(v_14_upvr.scorer, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 1;
}):Play()
Services_upvr_2.TweenService:Create(v_14_upvr.time, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 1;
}):Play()
Services_upvr_2.TweenService:Create(v_14_upvr.divider, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 1;
}):Play()
task.delay(0.2, function() -- Line 729
--[[ Upvalues[1]:
[1]: v_14_upvr (readonly)
]]
v_14_upvr:Destroy()
end)
end
end
end
task.wait(0.15)
Services_upvr_2.TweenService:Create(scorers_upvr[v_13_upvr].main.label, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 1;
}):Play()
Services_upvr_2.TweenService:Create(scorers_upvr[v_13_upvr].main.score, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 1;
}):Play()
Services_upvr_2.TweenService:Create(scorers_upvr[v_13_upvr].scorers.background, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 1;
}):Play()
Services_upvr_2.TweenService:Create(scorers_upvr[v_13_upvr].scorers.background.UIStroke, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Transparency = 1;
}):Play()
scorers_upvr[v_13_upvr].scorers:TweenSize(UDim2.new(1, -50, 0, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.15, true)
end)
end
Services_upvr_2.TweenService:Create(scorers_upvr.status.label, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 1;
}):Play()
task.wait(0.2)
scorers_upvr.home.main:TweenPosition(UDim2.new(1, 0, 0, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.2, true)
scorers_upvr.away.main:TweenPosition(UDim2.new(-1, 0, 0, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.2, true)
Services_upvr_2.TweenService:Create(scorers_upvr.status.background, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 1;
}):Play()
Services_upvr_2.TweenService:Create(scorers_upvr.status.background.UIStroke, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Transparency = 1;
}):Play()
scorers_upvr.status:TweenSize(UDim2.new(0, 200, 0, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.2, true)
task.wait(0.1)
Services_upvr_2.TweenService:Create(scorers_upvr.logo, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 1;
}):Play()
task.wait(0.1)
Services_upvr_2.TweenService:Create(scorers_upvr.background, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 1;
}):Play()
Services_upvr_2.TweenService:Create(scorers_upvr.background.UIStroke, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Transparency = 1;
}):Play()
task.wait(0.2)
scorers_upvr.Visible = false
end;
ballSelection = function() -- Line 764
--[[ Upvalues[1]:
[1]: arg2 (readonly)
]]
if not arg2.visuals.ballSelection.toggled then
arg2.visuals.ballSelection:toggle(true)
end
end;
stadiumSelection = function() -- Line 770
--[[ Upvalues[1]:
[1]: arg2 (readonly)
]]
if not arg2.visuals.stadiumSelection.toggled then
arg2.visuals.stadiumSelection:toggle(true)
end
end;
teamSelection = function() -- Line 776
--[[ Upvalues[1]:
[1]: arg2 (readonly)
]]
if not arg2.visuals.teamSelection.toggled then
arg2.visuals.teamSelection:toggle(true)
end
end;
matchSettings = function() -- Line 782
--[[ Upvalues[1]:
[1]: arg2 (readonly)
]]
if not arg2.visuals.matchSettings.toggled then
arg2.visuals.matchSettings:toggle(true)
end
end;
voteKick = function(arg1_72) -- Line 788
--[[ Upvalues[1]:
[1]: arg2 (readonly)
]]
if not arg2.visuals.voteKick.toggled then
arg2.visuals.voteKick:toggle(arg1_72)
end
end;
voteKickEnd = function() -- Line 794
--[[ Upvalues[1]:
[1]: arg2 (readonly)
]]
if arg2.visuals.voteKick.toggled then
arg2.visuals.voteKick:toggle(false)
end
end;
voteFix = function() -- Line 800
--[[ Upvalues[1]:
[1]: arg2 (readonly)
]]
if not arg2.visuals.voteFix.toggled then
arg2.visuals.voteFix:toggle(true)
end
end;
voteFixEnd = function() -- Line 806
--[[ Upvalues[1]:
[1]: arg2 (readonly)
]]
if arg2.visuals.voteFix.toggled then
arg2.visuals.voteFix:toggle(false)
end
end;
bootSelection = function() -- Line 812
--[[ Upvalues[1]:
[1]: arg2 (readonly)
]]
if not arg2.visuals.bootSelection.toggled then
arg2.visuals.bootSelection:toggle(true)
end
end;
accessorySelection = function() -- Line 818
--[[ Upvalues[1]:
[1]: arg2 (readonly)
]]
if not arg2.visuals.accessorySelection.toggled then
arg2.visuals.accessorySelection:toggle(true)
end
end;
registerTeleporter = function(arg1_73, arg2_25, arg3) -- Line 824
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: any_new_result1_upvr_2 (copied, readonly)
[3]: any_new_result1_upvr_5 (copied, readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
if LocalPlayer_upvr == arg1_73 then
else
if arg3 == "kickoff" then
local function onTouch(arg1_74) -- Line 830
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: any_new_result1_upvr_2 (copied, readonly)
]]
if arg1_74 and arg1_74.Parent then
if arg1_74.Parent:FindFirstChildWhichIsA("Humanoid") and arg1_74.Parent == LocalPlayer_upvr.Character then
any_new_result1_upvr_2:send("pitchTeleporter")
end
end
end
local function onTouchRegion_upvr(arg1_75, arg2_26) -- Line 836, Named "onTouchRegion"
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: any_new_result1_upvr_2 (copied, readonly)
]]
if arg1_75 and arg1_75.Parent then
if arg1_75.Parent:FindFirstChildWhichIsA("Humanoid") and arg1_75.Parent == LocalPlayer_upvr.Character then
if LocalPlayer_upvr.Team and string.find(LocalPlayer_upvr.Team.Name, "Home") and arg2_26.Name == "Away" then
any_new_result1_upvr_2:send("pitchTeleporter")
return
end
if LocalPlayer_upvr.Team and string.find(LocalPlayer_upvr.Team.Name, "Away") and arg2_26.Name == "Home" then
any_new_result1_upvr_2:send("pitchTeleporter")
end
end
end
end
for _, v_42 in next, arg2_25.Area:GetChildren() do
if v_42 and v_42:IsA("BasePart") then
local any_GenerateGUID_result1_5 = _G._services.HttpService:GenerateGUID(false)
any_new_result1_upvr_5[any_GenerateGUID_result1_5.."_onTouched"] = v_42.Touched:Connect(onTouch)
any_new_result1_upvr_5[any_GenerateGUID_result1_5.."_onTouchEnded"] = v_42.TouchEnded:Connect(onTouch)
end
end
any_new_result1_upvr_5._onTouchedRegionHome = arg2_25.Home.Touched:Connect(function(arg1_76) -- Line 854
--[[ Upvalues[2]:
[1]: onTouchRegion_upvr (readonly)
[2]: arg2_25 (readonly)
]]
onTouchRegion_upvr(arg1_76, arg2_25.Home)
end)
any_new_result1_upvr_5._onTouchedRegionHome = arg2_25.Home.TouchEnded:Connect(function(arg1_77) -- Line 857
--[[ Upvalues[2]:
[1]: onTouchRegion_upvr (readonly)
[2]: arg2_25 (readonly)
]]
onTouchRegion_upvr(arg1_77, arg2_25.Home)
end)
for _, v_43 in next, arg2_25.Home:GetTouchingParts() do
onTouchRegion_upvr(v_43, arg2_25.Home)
local var1138_upvr
end
any_new_result1_upvr_5._onTouchedRegionAway = arg2_25.Away.Touched:Connect(function(arg1_78) -- Line 864
--[[ Upvalues[2]:
[1]: var1138_upvr (readonly)
[2]: arg2_25 (readonly)
]]
var1138_upvr(arg1_78, arg2_25.Away)
end)
any_new_result1_upvr_5._onTouchedRegionAway = arg2_25.Away.TouchEnded:Connect(function(arg1_79) -- Line 867
--[[ Upvalues[2]:
[1]: var1138_upvr (readonly)
[2]: arg2_25 (readonly)
]]
var1138_upvr(arg1_79, arg2_25.Away)
end)
for _, v_44 in next, arg2_25.Away:GetTouchingParts() do
var1138_upvr(v_44, arg2_25.Away)
local _
end
return
end
if arg3 == "penalty" then
local function onTouch(arg1_80) -- Line 877
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg2_25 (readonly)
[3]: any_new_result1_upvr_2 (copied, readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [1] 2. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [1] 2. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [4] 4. Error Block 3 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [4] 4. Error Block 3 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [11] 9. Error Block 4 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [11] 9. Error Block 4 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [18] 13. Error Block 5 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [18] 13. Error Block 5 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [31] 21. Error Block 18 start (CF ANALYSIS FAILED)
local function INLINED() -- Internal function, doesn't exist in bytecode
-- KONSTANTERROR: [40] 27. Error Block 16 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [40] 27. Error Block 16 start (CF ANALYSIS FAILED)
return arg2_25.Team.Value == "away"
end
if LocalPlayer_upvr.TeamColor == BrickColor.new("Navy blue") or INLINED() and LocalPlayer_upvr.TeamColor == BrickColor.new("Maroon") then
any_new_result1_upvr_2:send("partTeleport", arg2_25.GK)
else
any_new_result1_upvr_2:send("partTeleport", arg2_25.Teleport)
-- KONSTANTERROR: [31] 21. Error Block 18 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [73] 50. Error Block 14 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [73] 50. Error Block 14 end (CF ANALYSIS FAILED)
end
end
local function onTouchGK(arg1_81) -- Line 887
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg2_25 (readonly)
[3]: any_new_result1_upvr_2 (copied, readonly)
]]
if arg1_81 and arg1_81.Parent then
if arg1_81.Parent:FindFirstChildWhichIsA("Humanoid") and arg1_81.Parent == LocalPlayer_upvr.Character and arg2_25.Detector.CanCollide and (LocalPlayer_upvr.TeamColor == BrickColor.new("Storm blue") or LocalPlayer_upvr.TeamColor == BrickColor.new("Crimson")) then
any_new_result1_upvr_2:send("partTeleport", arg2_25.Teleport)
end
end
end
for _, v_45 in next, arg2_25.Area:GetChildren() do
if v_45 and v_45:IsA("BasePart") then
local any_GenerateGUID_result1 = _G._services.HttpService:GenerateGUID(false)
any_new_result1_upvr_5[any_GenerateGUID_result1.."_onTouched"] = v_45.Touched:Connect(onTouch)
any_new_result1_upvr_5[any_GenerateGUID_result1.."_onTouchEnded"] = v_45.TouchEnded:Connect(onTouch)
end
end
any_new_result1_upvr_5._gkTouched = arg2_25.Box.Touched:Connect(onTouchGK)
any_new_result1_upvr_5._gkTouchEnded = arg2_25.Box.TouchEnded:Connect(onTouchGK)
return
end
if arg3 == "default" then
local function onTouch(arg1_82) -- Line 909
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: any_new_result1_upvr_2 (copied, readonly)
[3]: arg2_25 (readonly)
]]
if arg1_82 and arg1_82.Parent then
if arg1_82.Parent:FindFirstChildWhichIsA("Humanoid") and arg1_82.Parent == LocalPlayer_upvr.Character then
any_new_result1_upvr_2:send("partTeleport", arg2_25.Teleport)
end
end
end
for _, v_46 in next, arg2_25.Area:GetChildren() do
if v_46 and v_46:IsA("BasePart") then
any_new_result1_upvr_5[_G._services.HttpService:GenerateGUID(false).."_onTouched"] = v_46.Touched:Connect(onTouch)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
any_new_result1_upvr_5[_G._services.HttpService:GenerateGUID(false).."_onTouchEnded"] = v_46.TouchEnded:Connect(onTouch)
end
end
return
end
if arg3 == "shootout" then
local function onTouch(arg1_83) -- Line 926
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg2_25 (readonly)
[3]: any_new_result1_upvr_2 (copied, readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [1] 2. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [1] 2. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [4] 4. Error Block 3 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [4] 4. Error Block 3 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [11] 9. Error Block 4 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [11] 9. Error Block 4 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [18] 13. Error Block 5 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [18] 13. Error Block 5 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [31] 21. Error Block 18 start (CF ANALYSIS FAILED)
local function INLINED_2() -- Internal function, doesn't exist in bytecode
-- KONSTANTERROR: [40] 27. Error Block 16 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [40] 27. Error Block 16 start (CF ANALYSIS FAILED)
return arg2_25.Team.Value == "away"
end
if LocalPlayer_upvr.TeamColor == BrickColor.new("Navy blue") or INLINED_2() and LocalPlayer_upvr.TeamColor == BrickColor.new("Maroon") then
any_new_result1_upvr_2:send("partTeleport", arg2_25.GK)
else
any_new_result1_upvr_2:send("partTeleport", arg2_25.Teleport)
-- KONSTANTERROR: [31] 21. Error Block 18 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [73] 50. Error Block 14 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [73] 50. Error Block 14 end (CF ANALYSIS FAILED)
end
end
local function onTouchGK(arg1_84) -- Line 936
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg2_25 (readonly)
[3]: any_new_result1_upvr_2 (copied, readonly)
]]
if arg1_84 and arg1_84.Parent then
if arg1_84.Parent:FindFirstChildWhichIsA("Humanoid") and arg1_84.Parent == LocalPlayer_upvr.Character and arg2_25.Detector.CanCollide and (LocalPlayer_upvr.TeamColor == BrickColor.new("Storm blue") or LocalPlayer_upvr.TeamColor == BrickColor.new("Crimson")) then
any_new_result1_upvr_2:send("partTeleport", arg2_25.Teleport)
end
end
end
local function onTouchDetector(arg1_85) -- Line 944
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg2_25 (readonly)
[3]: any_new_result1_upvr_2 (copied, readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [1] 2. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [1] 2. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [4] 4. Error Block 3 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [4] 4. Error Block 3 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [11] 9. Error Block 4 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [11] 9. Error Block 4 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [18] 13. Error Block 5 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [18] 13. Error Block 5 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [31] 21. Error Block 16 start (CF ANALYSIS FAILED)
local function INLINED_3() -- Internal function, doesn't exist in bytecode
-- KONSTANTERROR: [40] 27. Error Block 15 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [40] 27. Error Block 15 start (CF ANALYSIS FAILED)
return arg2_25.Team.Value == "home"
end
if LocalPlayer_upvr.TeamColor == BrickColor.new("Navy blue") or INLINED_3() and LocalPlayer_upvr.TeamColor == BrickColor.new("Maroon") then
any_new_result1_upvr_2:send("partTeleport", arg2_25.Teleport)
end
-- KONSTANTERROR: [31] 21. Error Block 16 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [64] 43. Error Block 13 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [64] 43. Error Block 13 end (CF ANALYSIS FAILED)
end
for _, v_47 in next, arg2_25.Area:GetChildren() do
if v_47 and v_47:IsA("BasePart") then
local any_GenerateGUID_result1_4 = _G._services.HttpService:GenerateGUID(false)
any_new_result1_upvr_5[any_GenerateGUID_result1_4.."_onTouched"] = v_47.Touched:Connect(onTouch)
any_new_result1_upvr_5[any_GenerateGUID_result1_4.."_onTouchEnded"] = v_47.TouchEnded:Connect(onTouch)
end
end
any_new_result1_upvr_5._gkTouched = arg2_25.Box.Touched:Connect(onTouchGK)
any_new_result1_upvr_5._gkTouchEnded = arg2_25.Box.TouchEnded:Connect(onTouchGK)
any_new_result1_upvr_5._detectorTouched = workspace.game.shootout.Detector.Touched:Connect(onTouchDetector)
any_new_result1_upvr_5._detectorTouchEnded = workspace.game.shootout.Detector.TouchEnded:Connect(onTouchDetector)
end
end
end;
clearTeleporter = function() -- Line 971
--[[ Upvalues[1]:
[1]: any_new_result1_upvr_5 (copied, readonly)
]]
any_new_result1_upvr_5:DoCleaning()
end;
playTrack = function(arg1_86) -- Line 975
--[[ Upvalues[1]:
[1]: module_upvr (copied, readonly)
]]
module_upvr:play(arg1_86)
end;
displayAward = function(arg1_87, arg2_27) -- Line 979
--[[ Upvalues[3]:
[1]: References_upvr_2 (copied, readonly)
[2]: PlayerGui_upvr (copied, readonly)
[3]: Services_upvr_2 (copied, readonly)
]]
if arg1_87 == "TGE_Shines" then
References_upvr_2.Main.sounds.UI.Shines:Play()
elseif arg1_87 == "TGE_Silver" then
References_upvr_2.Main.sounds.UI.Silver:Play()
end
PlayerGui_upvr.main.item.Visible = true
PlayerGui_upvr.main.screen.Visible = true
if arg2_27 then
arg2_27:Destroy()
end
Services_upvr_2.TweenService:Create(PlayerGui_upvr.main.screen, TweenInfo.new(0.25, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 0.3;
}):Play()
local clone_13_upvr = References_upvr_2.Main.storage[arg1_87]:Clone()
clone_13_upvr.Parent = PlayerGui_upvr.main.item
local clone_upvr = References_upvr_2.Main.storage[arg1_87]:Clone()
clone_upvr.Parent = workspace.game.debug
clone_upvr.CFrame = clone_13_upvr.CFrame * CFrame.new(0, -50, 0)
local CFrame = clone_upvr.CFrame
local Camera_3 = Instance.new("Camera", PlayerGui_upvr.main.item)
Camera_3.CFrame = clone_13_upvr.CFrame * CFrame.new(0, 10, -7) * CFrame.fromEulerAnglesXYZ(0, math.pi, 0)
PlayerGui_upvr.main.item.CurrentCamera = Camera_3
local tick_result1_upvr_2 = tick()
Services_upvr_2.TweenService:Create(clone_upvr, TweenInfo.new(0.5, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
CFrame = CFrame * CFrame.new(0, 10, 0);
}):Play()
task.wait(0.2)
Services_upvr_2.TweenService:Create(PlayerGui_upvr.main.aura, TweenInfo.new(0.25, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
GroupTransparency = 0;
}):Play()
Services_upvr_2.TweenService:Create(PlayerGui_upvr.main.aura.sunburst, TweenInfo.new(2.8, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
Rotation = 450;
}):Play()
task.wait(4.3)
Services_upvr_2.TweenService:Create(clone_upvr, TweenInfo.new(0.35, Enum.EasingStyle.Back, Enum.EasingDirection.In), {
CFrame = CFrame;
}):Play()
Services_upvr_2.TweenService:Create(PlayerGui_upvr.main.screen, TweenInfo.new(0.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 1;
}):Play()
Services_upvr_2.TweenService:Create(PlayerGui_upvr.main.aura, TweenInfo.new(0.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
GroupTransparency = 1;
}):Play()
task.wait(0.5)
PlayerGui_upvr.main.aura.sunburst.Rotation = 0
PlayerGui_upvr.main.item.Visible = false
PlayerGui_upvr.main.screen.Visible = false
Services_upvr_2.RunService.RenderStepped:Connect(function() -- Line 1014
--[[ Upvalues[3]:
[1]: tick_result1_upvr_2 (readonly)
[2]: clone_13_upvr (readonly)
[3]: clone_upvr (readonly)
]]
clone_13_upvr.CFrame = clone_upvr.CFrame * CFrame.new(0, 50, 0) * CFrame.Angles(0, 0, 0.2617993877991494) * CFrame.Angles(0, math.clamp((tick() - tick_result1_upvr_2) / 5, 0, 1) * 6.1086523819801535, 0)
end):Disconnect()
clone_upvr:Destroy()
clone_13_upvr:Destroy()
Camera_3:Destroy()
end;
collisionGroup = function(arg1_88, arg2_28, arg3) -- Line 1044
--[[ Upvalues[1]:
[1]: LocalPlayer_upvr (copied, readonly)
]]
if arg3 and LocalPlayer_upvr == arg3 then
else
arg1_88.CollisionGroup = arg2_28
end
end;
endReplay = function(arg1_89, arg2_29) -- Line 1051
--[[ Upvalues[1]:
[1]: LocalPlayer_upvr (copied, readonly)
]]
local StringValue_5 = Instance.new("StringValue")
StringValue_5.Name = "end"
StringValue_5.Value = arg1_89
if arg2_29 then
for i_19, v_15 in next, arg2_29 do
if i_19 and v_15 then
StringValue_5:SetAttribute(i_19, v_15)
end
end
end
StringValue_5.Parent = LocalPlayer_upvr.PlayerScripts.replay
end;
playReplay = function(arg1_90) -- Line 1067
--[[ Upvalues[2]:
[1]: var769_upvw (copied, read and write)
[2]: doTransition_upvr (copied, readonly)
]]
if var769_upvw then
var769_upvw:play(arg1_90, doTransition_upvr)
end
end;
stopReplay = function() -- Line 1073
--[[ Upvalues[1]:
[1]: var769_upvw (copied, read and write)
]]
if var769_upvw then
var769_upvw:stop()
end
end;
replay = function(arg1_91, arg2_30, arg3) -- Line 1079
--[[ Upvalues[7]:
[1]: doTransition_upvr (copied, readonly)
[2]: LocalPlayer_upvr (copied, readonly)
[3]: any_load_result1_upvr_21 (copied, readonly)
[4]: Services_upvr_2 (copied, readonly)
[5]: any_new_result1_upvr_2 (copied, readonly)
[6]: PlayerGui_upvr (copied, readonly)
[7]: References_upvr_2 (copied, readonly)
]]
doTransition_upvr()
local referee_3 = workspace.game.referee
local tbl_20 = {}
local tbl_81 = {}
for _, v_16 in next, workspace.spawns.spawn:GetChildren() do
if v_16 and v_16.Name == "spawn" then
table.insert(tbl_81, v_16)
end
end
for _, v_17 in next, any_load_result1_upvr_21.GetBalls() do
if v_17 then
({})[v_17] = v_17.CFrame
v_17.CFrame = workspace.game.holder.Teleport.CFrame
end
end
for _, v_18 in next, Services_upvr_2.Players:GetPlayers() do
if v_18 and v_18.Character and v_18.Character:FindFirstChild("HumanoidRootPart") then
if not tbl_20[v_18] then
tbl_20[v_18] = {}
end
for _, v_19 in next, v_18.Character:GetDescendants() do
if v_19 and (v_19:IsA("BasePart") or v_19:IsA("Decal") or v_19:IsA("Texture")) then
tbl_20[v_18][v_19] = v_19.Transparency
v_19.Transparency = 1
end
end
end
end
any_new_result1_upvr_2:send("partTeleport", tbl_81[math.random(1, #tbl_81)], CFrame.new(0, 3.5, 0))
referee_3.Parent = _G._references.Main
PlayerGui_upvr.main.Enabled = false
References_upvr_2.Main.fans.Cheer.Value = false
local StringValue_4 = Instance.new("StringValue")
StringValue_4.Name = "play"
StringValue_4.Value = arg1_91
StringValue_4:SetAttribute("side", arg2_30)
StringValue_4:SetAttribute("speed", arg3)
StringValue_4.Parent = LocalPlayer_upvr.PlayerScripts.replay
while StringValue_4.Parent do
task.wait()
end
doTransition_upvr()
for _, v_20 in next, workspace.game.debug:GetChildren() do
if v_20 and v_20.Name == LocalPlayer_upvr.Name and v_20:IsA("BoolValue") and v_20:GetAttribute("replay") then
v_20:Destroy()
end
end
workspace.CurrentCamera.CameraType = Enum.CameraType.Custom
workspace.CurrentCamera.FieldOfView = tonumber(References_upvr_2.Profile.settings.Visual["Field of View"].Value)
References_upvr_2.Main.fans.Cheer.Value = false
for i_25, v_21 in next, {} do
if i_25 and v_21 then
i_25.CFrame = v_21
i_25.Anchored = false
i_25:SetAttribute("replay", nil)
i_25:SetAttribute("netHit", nil)
if i_25:FindFirstChild("replication") and i_25.replication:FindFirstChild("AssemblyLinearVelocity") then
i_25.replication.AssemblyLinearVelocity.Value = Vector3.new(0, 0, 0)
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
end
for _, v_22 in next, Services_upvr_2.Players:GetPlayers() do
if v_22 and v_22.Character and v_22.Character:FindFirstChild("HumanoidRootPart") and tbl_20[v_22] then
for i_27, v_23 in next, tbl_20[v_22] do
if i_27 and v_23 then
i_27.Transparency = v_23
end
end
end
end
referee_3.Parent = workspace.game
LocalPlayer_upvr.Character:SetPrimaryPartCFrame(LocalPlayer_upvr.Character.PrimaryPart.CFrame)
PlayerGui_upvr.main.Enabled = true
_G._services.StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Chat, true)
end;
cutscene = function(arg1_92, arg2_31, arg3) -- Line 1175
--[[ Upvalues[7]:
[1]: visuals_upvr (copied, readonly)
[2]: LocalPlayer_upvr (copied, readonly)
[3]: References_upvr_2 (copied, readonly)
[4]: PlayerGui_upvr (copied, readonly)
[5]: Services_upvr_2 (copied, readonly)
[6]: any_load_result1_upvr_24 (copied, readonly)
[7]: doTransition_upvr (copied, readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
if arg1_92 == "penalty" and not visuals_upvr.menu:GetAttribute("enabled") then
local BoolValue_upvr_4 = Instance.new("BoolValue", workspace.game.debug)
BoolValue_upvr_4.Name = LocalPlayer_upvr.Name
BoolValue_upvr_4.Value = true
workspace.CurrentCamera.CameraType = Enum.CameraType.Scriptable
workspace.CurrentCamera.CFrame = arg2_31.cutsceneSettings.CameraOrigin.Value.CFrame
workspace.CurrentCamera.FieldOfView = tonumber(arg2_31.cutsceneSettings.CameraFieldOfView.Value)
local var1211_upvw
var1211_upvw = _G._services.RunService.RenderStepped:Connect(function(arg1_93) -- Line 1186
--[[ Upvalues[4]:
[1]: arg2_31 (readonly)
[2]: var1211_upvw (read and write)
[3]: BoolValue_upvr_4 (readonly)
[4]: References_upvr_2 (copied, readonly)
]]
if not arg2_31.cutsceneSettings.LockOnTarget.Value then
var1211_upvw:Disconnect()
BoolValue_upvr_4:Destroy()
workspace.CurrentCamera.CameraType = Enum.CameraType.Custom
workspace.CurrentCamera.FieldOfView = tonumber(References_upvr_2.Profile.settings.Visual["Field of View"].Value)
else
workspace.CurrentCamera.FieldOfView = tonumber(arg2_31.cutsceneSettings.CameraFieldOfView.Value)
workspace.CurrentCamera.CFrame = CFrame.lookAt(arg2_31.cutsceneSettings.CameraOrigin.Value.CFrame.Position - Vector3.new(0, 1, 0), arg2_31.cutsceneSettings.LockOnTarget.Value.PrimaryPart.CFrame.Position)
end
end)
else
if arg1_92 == "walkout" and not visuals_upvr.menu:GetAttribute("enabled") then
PlayerGui_upvr.main.overlay.color.Visible = true
Services_upvr_2.TweenService:Create(PlayerGui_upvr.main.overlay.color, TweenInfo.new(0.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 0;
}):Play()
task.wait(1)
task.spawn(function() -- Line 1204
--[[ Upvalues[1]:
[1]: any_load_result1_upvr_24 (copied, readonly)
]]
any_load_result1_upvr_24.new()
end)
Services_upvr_2.TweenService:Create(PlayerGui_upvr.main.overlay.color, TweenInfo.new(0.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundTransparency = 1;
}):Play()
task.wait(0.5)
PlayerGui_upvr.main.overlay.color.Visible = false
return
end
if arg1_92 == "celebration" then
local var1215_upvw
if not visuals_upvr.menu:GetAttribute("enabled") then
local children_3 = arg3.angles['1']:GetChildren()
var1215_upvw = arg3.angles
local children_14 = var1215_upvw['2']:GetChildren()
var1215_upvw = arg2_31[children_3[1].Name]
local BoolValue_upvr_5 = Instance.new("BoolValue", workspace.game.debug)
BoolValue_upvr_5.Name = LocalPlayer_upvr.Name
BoolValue_upvr_5.Value = true
if 1 < #children_3 then
var1215_upvw = arg2_31[children_3[math.random(1, #children_3)].Name]
end
if 1 < #children_14 then
end
if LocalPlayer_upvr.PlayerGui and LocalPlayer_upvr.PlayerGui:FindFirstChild("UI") then
LocalPlayer_upvr.PlayerGui.UI.Enabled = false
end
workspace.CurrentCamera.CameraType = Enum.CameraType.Scriptable
workspace.CurrentCamera.FieldOfView = tonumber(arg2_31.cutsceneSettings.CameraFieldOfView.Value)
local any_Connect_result1_upvw = _G._services.RunService.RenderStepped:Connect(function(arg1_94) -- Line 1237
--[[ Upvalues[3]:
[1]: arg2_31 (readonly)
[2]: arg3 (readonly)
[3]: var1215_upvw (read and write)
]]
workspace.CurrentCamera.FieldOfView = tonumber(arg2_31.cutsceneSettings.CameraFieldOfView.Value)
if not arg2_31.special:FindFirstChild(arg3.Name) then
workspace.CurrentCamera.CFrame = CFrame.lookAt(var1215_upvw.CFrame.Position, arg2_31.cutsceneSettings.LockOnTarget.Value.CFrame.Position)
end
end)
if arg2_31.special:FindFirstChild(arg3.Name) then
workspace.CurrentCamera.CFrame = arg2_31.special[arg3.Name].start.CFrame
Services_upvr_2.TweenService:Create(workspace.CurrentCamera, TweenInfo.new(tonumber(arg3.duration.Value + 0.35), Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
CFrame = arg2_31.special[arg3.Name].finish.CFrame;
}):Play()
end
task.wait(tonumber(arg3.duration.Value) * 0.2666666667)
if any_Connect_result1_upvw then
any_Connect_result1_upvw:Disconnect()
end
local var1223_upvw = arg2_31[children_14[math.random(1, #children_14)].Name]
local Value_upvr_3 = arg2_31.cutsceneSettings.LockOnTarget.Value
any_Connect_result1_upvw = _G._services.RunService.RenderStepped:Connect(function(arg1_95) -- Line 1255
--[[ Upvalues[9]:
[1]: arg2_31 (readonly)
[2]: any_Connect_result1_upvw (read and write)
[3]: arg3 (readonly)
[4]: BoolValue_upvr_5 (readonly)
[5]: var1223_upvw (read and write)
[6]: Value_upvr_3 (readonly)
[7]: doTransition_upvr (copied, readonly)
[8]: LocalPlayer_upvr (copied, readonly)
[9]: References_upvr_2 (copied, readonly)
]]
if not arg2_31.cutsceneSettings.LockOnTarget.Value then
any_Connect_result1_upvw:Disconnect()
if not arg2_31.special:FindFirstChild(arg3.Name) then
task.spawn(function() -- Line 1260
--[[ Upvalues[5]:
[1]: any_Connect_result1_upvw (copied, read and write)
[2]: BoolValue_upvr_5 (copied, readonly)
[3]: arg2_31 (copied, readonly)
[4]: var1223_upvw (copied, read and write)
[5]: Value_upvr_3 (copied, readonly)
]]
any_Connect_result1_upvw = _G._services.RunService.RenderStepped:Connect(function(arg1_96) -- Line 1261
--[[ Upvalues[5]:
[1]: BoolValue_upvr_5 (copied, readonly)
[2]: arg2_31 (copied, readonly)
[3]: var1223_upvw (copied, read and write)
[4]: Value_upvr_3 (copied, readonly)
[5]: any_Connect_result1_upvw (copied, read and write)
]]
if BoolValue_upvr_5 and BoolValue_upvr_5.Parent then
workspace.CurrentCamera.FieldOfView = tonumber(arg2_31.cutsceneSettings.CameraFieldOfView.Value)
workspace.CurrentCamera.CFrame = CFrame.lookAt(var1223_upvw.CFrame.Position, Value_upvr_3.CFrame.Position)
else
any_Connect_result1_upvw:Disconnect()
end
end)
end)
end
doTransition_upvr()
BoolValue_upvr_5:Destroy()
task.wait(0.001)
if LocalPlayer_upvr.PlayerGui and LocalPlayer_upvr.PlayerGui:FindFirstChild("UI") then
LocalPlayer_upvr.PlayerGui.UI.Enabled = true
end
workspace.CurrentCamera.CameraType = Enum.CameraType.Custom
workspace.CurrentCamera.FieldOfView = tonumber(References_upvr_2.Profile.settings.Visual["Field of View"].Value)
task.wait(0.25)
_G._services.StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Chat, true)
else
workspace.CurrentCamera.FieldOfView = tonumber(arg2_31.cutsceneSettings.CameraFieldOfView.Value)
if not arg2_31.special:FindFirstChild(arg3.Name) then
workspace.CurrentCamera.CFrame = CFrame.lookAt(var1223_upvw.CFrame.Position, arg2_31.cutsceneSettings.LockOnTarget.Value.CFrame.Position)
end
end
end)
end
end
end
end;
offside = function(arg1_97) -- Line 1296
--[[ Upvalues[5]:
[1]: var897_upvw (copied, read and write)
[2]: doTransition_upvr (copied, readonly)
[3]: PlayerGui_upvr (copied, readonly)
[4]: any_load_result1_upvr_19 (copied, readonly)
[5]: any_new_result1_upvr_2 (copied, readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 40 start (CF ANALYSIS FAILED)
if var897_upvw then return end
var897_upvw = true
doTransition_upvr()
PlayerGui_upvr.replay.offside.viewport:ClearAllChildren()
for _, v_24 in next, arg1_97:GetChildren() do
if v_24 then
if v_24.Parent then
local clone_12 = v_24:Clone()
clone_12.Parent = PlayerGui_upvr.replay.offside.viewport
if clone_12.Name == "line" then
clone_12.Size = Vector3.new(0.001, clone_12.Size.Y, clone_12.Size.Z)
end
end
end
end
local Camera = Instance.new("Camera", PlayerGui_upvr.replay.offside.viewport)
Camera.FieldOfView = 70
Camera.CameraType = Enum.CameraType.Scriptable
if PlayerGui_upvr.replay.offside.viewport.attacker.HumanoidRootPart.Position.Z <= 0 then
Camera.CFrame = workspace.game.cameras.offsideHomeStart.CFrame
local line_6 = PlayerGui_upvr.replay.offside.viewport.line
line_6.Position += Vector3.new(0, 0, 1)
local line_7 = arg1_97.line
line_7.Position += Vector3.new(0, 0, 1)
if PlayerGui_upvr.replay.offside.viewport.attacker.HumanoidRootPart.Position.X <= PlayerGui_upvr.replay.offside.viewport.defender.HumanoidRootPart.Position.X then
workspace.game.cameras.offsideHomeFinal.Position = Vector3.new(PlayerGui_upvr.replay.offside.viewport.attacker.HumanoidRootPart.Position.X - 50, workspace.game.cameras.offsideHomeFinal.Position.Y, arg1_97.line.Position.Z + 0.001)
else
workspace.game.cameras.offsideHomeFinal.Position = Vector3.new(PlayerGui_upvr.replay.offside.viewport.defender.HumanoidRootPart.Position.X - 50, workspace.game.cameras.offsideHomeFinal.Position.Y, arg1_97.line.Position.Z + 0.001)
end
-- KONSTANTWARNING: GOTO [429] #246
end
-- KONSTANTERROR: [0] 1. Error Block 40 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [263] 154. Error Block 36 start (CF ANALYSIS FAILED)
Camera.CFrame = workspace.game.cameras.offsideAwayStart.CFrame
local line_9 = PlayerGui_upvr.replay.offside.viewport.line
line_9.Position -= Vector3.new(0, 0, 1)
local line_3 = arg1_97.line
line_3.Position -= Vector3.new(0, 0, 1)
if PlayerGui_upvr.replay.offside.viewport.defender.HumanoidRootPart.Position.X <= PlayerGui_upvr.replay.offside.viewport.attacker.HumanoidRootPart.Position.X then
workspace.game.cameras.offsideAwayFinal.Position = Vector3.new(PlayerGui_upvr.replay.offside.viewport.attacker.HumanoidRootPart.Position.X + 50, workspace.game.cameras.offsideAwayFinal.Position.Y, arg1_97.line.Position.Z - 0.001)
-- KONSTANTWARNING: GOTO [429] #246
end
-- KONSTANTERROR: [263] 154. Error Block 36 end (CF ANALYSIS FAILED)
end;
quickFoul = function(arg1_98) -- Line 1382
--[[ Upvalues[1]:
[1]: any_new_result1_upvr_2 (copied, readonly)
]]
arg1_98.Detector.CanCollide = false
any_new_result1_upvr_2:send("partTeleport", arg1_98.Player)
end;
freeKick = function(arg1_99, arg2_32) -- Line 1387
--[[ Upvalues[2]:
[1]: any_load_result1_upvr_21 (copied, readonly)
[2]: any_load_result1_upvr_15 (copied, readonly)
]]
task.spawn(function() -- Line 1388
--[[ Upvalues[4]:
[1]: any_load_result1_upvr_21 (copied, readonly)
[2]: arg2_32 (readonly)
[3]: any_load_result1_upvr_15 (copied, readonly)
[4]: arg1_99 (readonly)
]]
local any_GetServerBallFolder_result1_7 = any_load_result1_upvr_21.GetServerBallFolder()
if any_GetServerBallFolder_result1_7 then
for _, v_25 in next, any_GetServerBallFolder_result1_7:GetChildren() do
if v_25 and v_25:IsA("BasePart") and v_25:FindFirstChild("properties") then
if v_25.properties:FindFirstChild("spawner") and v_25.properties.spawner.Value == arg2_32 then
any_load_result1_upvr_15.new(arg1_99, v_25)
end
end
end
end
end)
end;
goalKick = function(arg1_100, arg2_33) -- Line 1401
--[[ Upvalues[2]:
[1]: any_load_result1_upvr_21 (copied, readonly)
[2]: any_load_result1_upvr_26 (copied, readonly)
]]
task.spawn(function() -- Line 1402
--[[ Upvalues[4]:
[1]: any_load_result1_upvr_21 (copied, readonly)
[2]: arg2_33 (readonly)
[3]: any_load_result1_upvr_26 (copied, readonly)
[4]: arg1_100 (readonly)
]]
local any_GetServerBallFolder_result1_12 = any_load_result1_upvr_21.GetServerBallFolder()
if any_GetServerBallFolder_result1_12 then
for _, v_26 in next, any_GetServerBallFolder_result1_12:GetChildren() do
if v_26 and v_26:IsA("BasePart") and v_26:FindFirstChild("properties") then
if v_26.properties:FindFirstChild("spawner") and v_26.properties.spawner.Value == arg2_33 then
any_load_result1_upvr_26.new(arg1_100, v_26)
end
end
end
end
end)
end;
throwIn = function(arg1_101, arg2_34) -- Line 1415
--[[ Upvalues[2]:
[1]: any_load_result1_upvr_21 (copied, readonly)
[2]: any_load_result1_upvr_30 (copied, readonly)
]]
task.spawn(function() -- Line 1416
--[[ Upvalues[4]:
[1]: any_load_result1_upvr_21 (copied, readonly)
[2]: arg2_34 (readonly)
[3]: any_load_result1_upvr_30 (copied, readonly)
[4]: arg1_101 (readonly)
]]
local any_GetServerBallFolder_result1 = any_load_result1_upvr_21.GetServerBallFolder()
if any_GetServerBallFolder_result1 then
for _, v_27 in next, any_GetServerBallFolder_result1:GetChildren() do
if v_27 and v_27:IsA("BasePart") and v_27:FindFirstChild("properties") then
if v_27.properties:FindFirstChild("spawner") and v_27.properties.spawner.Value == arg2_34 then
any_load_result1_upvr_30.new(arg1_101, v_27)
end
end
end
end
end)
end;
corner = function(arg1_102, arg2_35) -- Line 1429
--[[ Upvalues[2]:
[1]: any_load_result1_upvr_21 (copied, readonly)
[2]: any_load_result1_upvr_17 (copied, readonly)
]]
task.spawn(function() -- Line 1430
--[[ Upvalues[4]:
[1]: any_load_result1_upvr_21 (copied, readonly)
[2]: arg2_35 (readonly)
[3]: any_load_result1_upvr_17 (copied, readonly)
[4]: arg1_102 (readonly)
]]
local any_GetServerBallFolder_result1_6 = any_load_result1_upvr_21.GetServerBallFolder()
if any_GetServerBallFolder_result1_6 then
for _, v_28 in next, any_GetServerBallFolder_result1_6:GetChildren() do
if v_28 and v_28:IsA("BasePart") and v_28:FindFirstChild("properties") then
if v_28.properties:FindFirstChild("spawner") and v_28.properties.spawner.Value == arg2_35 then
any_load_result1_upvr_17.new(arg1_102, v_28)
end
end
end
end
end)
end;
penalty = function(arg1_103, arg2_36) -- Line 1443
--[[ Upvalues[2]:
[1]: any_load_result1_upvr_21 (copied, readonly)
[2]: any_load_result1_upvr_7 (copied, readonly)
]]
task.spawn(function() -- Line 1444
--[[ Upvalues[4]:
[1]: any_load_result1_upvr_21 (copied, readonly)
[2]: arg2_36 (readonly)
[3]: any_load_result1_upvr_7 (copied, readonly)
[4]: arg1_103 (readonly)
]]
local any_GetServerBallFolder_result1_9 = any_load_result1_upvr_21.GetServerBallFolder()
if any_GetServerBallFolder_result1_9 then
for _, v_29 in next, any_GetServerBallFolder_result1_9:GetChildren() do
if v_29 and v_29:IsA("BasePart") and v_29:FindFirstChild("properties") then
if v_29.properties:FindFirstChild("spawner") and v_29.properties.spawner.Value == arg2_36 then
any_load_result1_upvr_7.new(arg1_103, v_29)
end
end
end
end
end)
end;
shootout = function(arg1_104, arg2_37) -- Line 1457
--[[ Upvalues[2]:
[1]: any_load_result1_upvr_21 (copied, readonly)
[2]: any_load_result1_upvr_2 (copied, readonly)
]]
task.spawn(function() -- Line 1458
--[[ Upvalues[4]:
[1]: any_load_result1_upvr_21 (copied, readonly)
[2]: arg2_37 (readonly)
[3]: any_load_result1_upvr_2 (copied, readonly)
[4]: arg1_104 (readonly)
]]
local any_GetServerBallFolder_result1_8 = any_load_result1_upvr_21.GetServerBallFolder()
if any_GetServerBallFolder_result1_8 then
for _, v_30 in next, any_GetServerBallFolder_result1_8:GetChildren() do
if v_30 and v_30:IsA("BasePart") and v_30:FindFirstChild("properties") then
if v_30.properties:FindFirstChild("spawner") and v_30.properties.spawner.Value == arg2_37 then
any_load_result1_upvr_2.new(arg1_104, v_30)
end
end
end
end
end)
end;
forceDisable = function(arg1_105) -- Line 1471
--[[ Upvalues[1]:
[1]: _root_upvr_2 (copied, readonly)
]]
_root_upvr_2:SetAttribute("forceDisable", arg1_105)
end;
globalOverride = function(arg1_106) -- Line 1475
--[[ Upvalues[1]:
[1]: _root_upvr_2 (copied, readonly)
]]
_root_upvr_2:SetAttribute("globalOverride", arg1_106)
end;
canSprint = function(arg1_107) -- Line 1479
--[[ Upvalues[1]:
[1]: movementController_upvr (copied, readonly)
]]
movementController_upvr:SetAttribute("canSprint", arg1_107)
end;
advantageStart = function() -- Line 1483
--[[ Upvalues[1]:
[1]: PlayerGui_upvr (copied, readonly)
]]
PlayerGui_upvr.main.advantage.Visible = true
PlayerGui_upvr.main.advantage.bar.progress.Size = UDim2.new(0, 0, 1, 0)
PlayerGui_upvr.main.advantage.bar.progress:TweenSize(UDim2.new(1, 0, 1, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Linear, 5, true)
task.delay(5, function() -- Line 1488
--[[ Upvalues[1]:
[1]: PlayerGui_upvr (copied, readonly)
]]
if PlayerGui_upvr.main.advantage.Visible then
PlayerGui_upvr.main.advantage.Visible = false
end
end)
end;
advantageEnd = function() -- Line 1495
--[[ Upvalues[1]:
[1]: PlayerGui_upvr (copied, readonly)
]]
PlayerGui_upvr.main.advantage.Visible = false
end;
updateCounter = function() -- Line 1499
--[[ Upvalues[4]:
[1]: References_upvr_2 (copied, readonly)
[2]: LocalPlayer_upvr (copied, readonly)
[3]: Services_upvr_2 (copied, readonly)
[4]: PlayerGui_upvr (copied, readonly)
]]
local SOME = References_upvr_2.Main.event:WaitForChild(LocalPlayer_upvr.Name, 100)
if SOME:GetAttribute("quest1") then
Services_upvr_2.TweenService:Create(PlayerGui_upvr.main.event.quests.icons['1'], TweenInfo.new(0.35, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = Color3.fromRGB(85, 255, 127);
}):Play()
end
if SOME:GetAttribute("quest2") then
Services_upvr_2.TweenService:Create(PlayerGui_upvr.main.event.quests.icons['2'], TweenInfo.new(0.35, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = Color3.fromRGB(85, 255, 127);
}):Play()
end
if SOME:GetAttribute("quest3") then
Services_upvr_2.TweenService:Create(PlayerGui_upvr.main.event.quests.icons['3'], TweenInfo.new(0.35, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
BackgroundColor3 = Color3.fromRGB(85, 255, 127);
}):Play()
end
PlayerGui_upvr.main.event.quests.progress.progress:TweenSize(UDim2.new((SOME:GetAttribute("silvers") or 0) / 3, 0, 1, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.35, true)
PlayerGui_upvr.main.event.counter.silvers.count.Text = tostring(SOME:GetAttribute("silvers") or 0)
PlayerGui_upvr.main.event.counter.shines.count.Text = tostring(SOME:GetAttribute("shines") or 0)
end;
shiftLock = function(arg1_108) -- Line 1542
--[[ Upvalues[5]:
[1]: MouseLockController_upvr_2 (copied, readonly)
[2]: _root_upvr_2 (copied, readonly)
[3]: mouse_upvr (copied, readonly)
[4]: BoundKeys_upvr (copied, readonly)
[5]: References_upvr_2 (copied, readonly)
]]
if not arg1_108 then
MouseLockController_upvr_2:SetAttribute("forceDisable", true)
_root_upvr_2:SetAttribute("disableMouseLock", true)
mouse_upvr.Icon = ""
BoundKeys_upvr.Value = ""
return true
end
BoundKeys_upvr.Value = References_upvr_2.Profile.binds.Misc["Mouse Lock"].Value
MouseLockController_upvr_2:SetAttribute("forceEnable", true)
_root_upvr_2:SetAttribute("disableMouseLock", true)
mouse_upvr.Icon = ""
end;
startPitchWear = function(arg1_109, arg2_38) -- Line 1557
--[[ Upvalues[4]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: References_upvr_2 (copied, readonly)
[3]: any_new_result1_8_upvr (copied, readonly)
[4]: Services_upvr_2 (copied, readonly)
]]
if LocalPlayer_upvr ~= arg1_109 then
for _, v_31 in next, arg2_38 do
if arg1_109.Character:FindFirstChild(v_31) then
local var1296_upvr = arg1_109.Character[v_31]
local clone_4_upvr = References_upvr_2.Main.effects.wear:Clone()
clone_4_upvr.Parent = workspace.game.debug
clone_4_upvr.Name = arg1_109.Name.."_wear"
clone_4_upvr.CFrame = CFrame.new(Vector3.new(var1296_upvr.Position.X, 0.568, var1296_upvr.Position.Z)) * (arg1_109.Character.HumanoidRootPart.CFrame - arg1_109.Character.HumanoidRootPart.CFrame.Position)
any_new_result1_8_upvr[var1296_upvr.Name.."_update"] = Services_upvr_2.RunService.RenderStepped:Connect(function() -- Line 1569
--[[ Upvalues[2]:
[1]: clone_4_upvr (readonly)
[2]: var1296_upvr (readonly)
]]
clone_4_upvr.attachment1.WorldPosition = Vector3.new(var1296_upvr.Position.X, 0.371, var1296_upvr.Position.Z)
end)
end
end
end
end;
endPitchWear = function(arg1_110) -- Line 1577
--[[ Upvalues[4]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: any_new_result1_8_upvr (copied, readonly)
[3]: any_load_result1_upvr_20 (copied, readonly)
[4]: Services_upvr_2 (copied, readonly)
]]
if LocalPlayer_upvr ~= arg1_110 then
any_new_result1_8_upvr:DoCleaning()
for _, v_32_upvr in next, workspace.game.debug:GetChildren() do
if v_32_upvr.Name == arg1_110.Name.."_wear" then
task.delay(20, function() -- Line 1583
--[[ Upvalues[3]:
[1]: any_load_result1_upvr_20 (copied, readonly)
[2]: Services_upvr_2 (copied, readonly)
[3]: v_32_upvr (readonly)
]]
local any_new_result1_4 = any_load_result1_upvr_20.new()
local NumberValue_upvr_2 = Instance.new("NumberValue")
NumberValue_upvr_2.Value = 0
any_new_result1_4:GiveTask(NumberValue_upvr_2)
Services_upvr_2.TweenService:Create(NumberValue_upvr_2, TweenInfo.new(1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Value = 1;
}):Play()
any_new_result1_4.tween = Services_upvr_2.RunService.RenderStepped:Connect(function() -- Line 1592
--[[ Upvalues[2]:
[1]: v_32_upvr (copied, readonly)
[2]: NumberValue_upvr_2 (readonly)
]]
if v_32_upvr:FindFirstChild("beam") then
v_32_upvr.beam.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0, NumberValue_upvr_2.Value), NumberSequenceKeypoint.new(0.5, NumberValue_upvr_2.Value), NumberSequenceKeypoint.new(1, NumberValue_upvr_2.Value)})
end
end)
task.wait(1.15)
any_new_result1_4:DoCleaning()
task.wait(1)
v_32_upvr:Destroy()
end)
end
end
end
end;
celebration = function(arg1_111) -- Line 1613
--[[ Upvalues[1]:
[1]: visuals_upvr (copied, readonly)
]]
if arg1_111 == "start" then
visuals_upvr.celebrations:SetAttribute("toggle", true)
else
visuals_upvr.celebrations:SetAttribute("toggle", false)
end
end;
shutdown = function() -- Line 1621
--[[ Upvalues[2]:
[1]: References_upvr_2 (copied, readonly)
[2]: Services_upvr_2 (copied, readonly)
]]
References_upvr_2.PlayerGui.kick.Enabled = true
References_upvr_2.PlayerGui.kick.main.title.Text = "RECONNECTING"
References_upvr_2.PlayerGui.kick.main.description.Text = "Migrating to latest update"
Services_upvr_2.TweenService:Create(References_upvr_2.PlayerGui.kick.background, TweenInfo.new(0.25, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 0;
}):Play()
task.wait(0.25)
Services_upvr_2.TweenService:Create(References_upvr_2.PlayerGui.kick.main, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
GroupTransparency = 0;
Position = UDim2.new(0.5, 0, 0.5, 0);
}):Play()
Services_upvr_2.RunService.RenderStepped:Connect(function() -- Line 1629
--[[ Upvalues[1]:
[1]: Services_upvr_2 (copied, readonly)
]]
Services_upvr_2.StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.All, false)
end)
end;
kick = function(arg1_112) -- Line 1634
--[[ Upvalues[2]:
[1]: References_upvr_2 (copied, readonly)
[2]: Services_upvr_2 (copied, readonly)
]]
References_upvr_2.PlayerGui.kick.Enabled = true
References_upvr_2.PlayerGui.kick.main.description.Text = string.format("You have been kicked // %s", arg1_112 or "Unspecified reason")
Services_upvr_2.TweenService:Create(References_upvr_2.PlayerGui.kick.background, TweenInfo.new(0.25, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 0;
}):Play()
task.wait(0.25)
Services_upvr_2.TweenService:Create(References_upvr_2.PlayerGui.kick.main, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
GroupTransparency = 0;
Position = UDim2.new(0.5, 0, 0.5, 0);
}):Play()
Services_upvr_2.RunService.RenderStepped:Connect(function() -- Line 1641
--[[ Upvalues[1]:
[1]: Services_upvr_2 (copied, readonly)
]]
Services_upvr_2.StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.All, false)
end)
for _, v_33 in next, Services_upvr_2.ReplicatedStorage:GetChildren() do
if v_33:IsA("Folder") then
v_33:Destroy()
end
end
for _, v_34 in next, Services_upvr_2.AssetService:GetChildren() do
if v_34 then
v_34:Destroy()
end
end
for _, v_35 in next, Services_upvr_2.MaterialService:GetChildren() do
if v_35 then
v_35:Destroy()
end
end
for _, v_36 in next, workspace:GetChildren() do
if v_36:IsA("Folder") then
v_36:Destroy()
end
end
end;
alert = function() -- Line 1670
--[[ Upvalues[4]:
[1]: PlayerGui_upvr (copied, readonly)
[2]: any_load_result1_upvr_20 (copied, readonly)
[3]: References_upvr_2 (copied, readonly)
[4]: Services_upvr_2 (copied, readonly)
]]
if not PlayerGui_upvr:FindFirstChild("Alert") then
local any_new_result1_upvr = any_load_result1_upvr_20.new()
local clone_14 = References_upvr_2.Main.ui.alert:Clone()
clone_14.Parent = PlayerGui_upvr
if Services_upvr_2.UserInputService.TouchEnabled then
clone_14.main.button.Text = "Tap to dismiss"
elseif Services_upvr_2.UserInputService.GamepadEnabled then
clone_14.main.button.Text = "Press A to dismiss"
any_new_result1_upvr.inputBegan = Services_upvr_2.UserInputService.InputBegan:Connect(function(arg1_113, arg2_39) -- Line 1681
--[[ Upvalues[2]:
[1]: References_upvr_2 (copied, readonly)
[2]: any_new_result1_upvr (readonly)
]]
if arg2_39 or not arg2_39 then
if arg1_113.KeyCode == Enum.KeyCode.ButtonA then
References_upvr_2.Main.sounds.UI.Click:Play()
References_upvr_2.Main.sounds.UI.Alert:Stop()
any_new_result1_upvr:DoCleaning()
end
end
end)
end
References_upvr_2.Main.sounds.UI.Alert:Play()
any_new_result1_upvr:GiveTask(clone_14)
any_new_result1_upvr.mouseButton1Click = clone_14.main.button.MouseButton1Click:Connect(function() -- Line 1693
--[[ Upvalues[2]:
[1]: References_upvr_2 (copied, readonly)
[2]: any_new_result1_upvr (readonly)
]]
References_upvr_2.Main.sounds.UI.Click:Play()
References_upvr_2.Main.sounds.UI.Alert:Stop()
any_new_result1_upvr:DoCleaning()
end)
end
end;
marker = function(arg1_114, arg2_40) -- Line 1701
--[[ Upvalues[6]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: isTeammate_upvr (copied, readonly)
[3]: References_upvr_2 (copied, readonly)
[4]: any_load_result1_upvr_25 (copied, readonly)
[5]: any_load_result1_upvr_3 (copied, readonly)
[6]: Services_upvr_2 (copied, readonly)
]]
if LocalPlayer_upvr ~= arg1_114 and arg1_114.Character and arg1_114.Character:FindFirstChild("HumanoidRootPart") and isTeammate_upvr(LocalPlayer_upvr, arg1_114) then
local children_8, _ = workspace.game.markers:GetChildren()
local var1347
for _, v_37 in next, children_8, var1347 do
if v_37.Name == arg1_114.Name then
v_37:Destroy()
end
end
var1347 = References_upvr_2.Main
local clone_9 = var1347.ui.marker:Clone()
var1347 = arg2_40.X
local vector3_2 = Vector3.new(var1347, clone_9.PrimaryPart.Position.Y, arg2_40.Z)
var1347 = arg1_114.TeamColor.Color
if arg1_114.Team and string.find(arg1_114.Team.Name, "Home") then
var1347 = any_load_result1_upvr_25:getTeamColorFromTeam("Home")
elseif arg1_114.Team and string.find(arg1_114.Team.Name, "Away") then
var1347 = any_load_result1_upvr_25:getTeamColorFromTeam("Away")
end
clone_9.Template.Cross.Cross.ImageColor3 = var1347
clone_9.Beam.Beam.Color = ColorSequence.new(var1347, var1347)
clone_9.Config.Icon.Value = any_load_result1_upvr_3:get(arg1_114.UserId)
clone_9.Config.MarkerColor.Value = var1347
clone_9.Config.Distance.Value = math.floor((vector3_2 - arg1_114.Character.HumanoidRootPart.Position).Magnitude + 0.5)
clone_9.Config.Position.Value = clone_9.PrimaryPart.Position
clone_9.Parent = workspace.game.markers
clone_9:SetPrimaryPartCFrame(CFrame.new(vector3_2))
clone_9.Name = arg1_114.Name
clone_9.Config.Enabled.Value = true
Services_upvr_2.Debris:AddItem(clone_9, 2)
end
end;
lightning = function(arg1_115) -- Line 1738
--[[ Upvalues[6]:
[1]: References_upvr_2 (copied, readonly)
[2]: Services_upvr_2 (copied, readonly)
[3]: any_load_result1_upvr_23 (copied, readonly)
[4]: module_9_upvr (copied, readonly)
[5]: module_8_upvr (copied, readonly)
[6]: any_load_result1_upvr_27 (copied, readonly)
]]
local Part_upvr = Instance.new("Part", workspace.game.debug)
Part_upvr.Size = Vector3.new(0.10000, 0.10000, 0.10000)
Part_upvr.Anchored = true
Part_upvr.CanCollide = false
Part_upvr.Locked = true
Part_upvr.Transparency = 1
Part_upvr.CFrame = CFrame.new(arg1_115)
local clone_6_upvr = References_upvr_2.Main.effects.burn:Clone()
clone_6_upvr.Parent = workspace.game.debug
clone_6_upvr.Position = Vector3.new(arg1_115.X, 0.373, arg1_115.Z)
Services_upvr_2.Lighting.ColorCorrection.Brightness = 0.05
task.delay(0.125, function() -- Line 1752
--[[ Upvalues[1]:
[1]: Services_upvr_2 (copied, readonly)
]]
Services_upvr_2.Lighting.ColorCorrection.Brightness = 0
end)
local Attachment = Instance.new("Attachment", Part_upvr)
Attachment.WorldPosition = arg1_115 + Vector3.new(0, 200, 0)
local Attachment_3 = Instance.new("Attachment", Part_upvr)
Attachment_3.WorldPosition = arg1_115
local any_new_result1_6_upvr = any_load_result1_upvr_23.new(Attachment, Attachment_3, 16)
any_new_result1_6_upvr.AnimationSpeed = 20
any_new_result1_6_upvr.PulseSpeed = 10
any_new_result1_6_upvr.PulseLength = 10
any_new_result1_6_upvr.FadeLength = 0.25
any_new_result1_6_upvr.Color = Color3.fromRGB(255, 221, 221)
if (Part_upvr.Position - workspace.CurrentCamera.CFrame.Position * Vector3.new(1, 0, 1)).Magnitude <= 85 then
any_load_result1_upvr_27:load({
directory = Part_upvr;
soundId = References_upvr_2.Main.sounds.Weather.Thunder["Lightning Close"].SoundId;
rollOffMaxDistance = 500000;
rollOffMinDistance = 50;
volume = 1;
play = true;
})
else
any_load_result1_upvr_27:load({
directory = Part_upvr;
soundId = References_upvr_2.Main.sounds.Weather.Thunder["Lightning Far"].SoundId;
rollOffMaxDistance = 50000;
rollOffMinDistance = 50;
volume = 1;
play = true;
})
end
local any_new_result1_upvr_3 = module_9_upvr.new(any_new_result1_6_upvr)
local any_new_result1_2_upvr = module_8_upvr.new(arg1_115, 0.1, 10, Color3.fromRGB(255, 255, 255), Color3.fromRGB(255, 255, 255))
task.delay(0.2, function() -- Line 1792
--[[ Upvalues[3]:
[1]: any_new_result1_6_upvr (readonly)
[2]: any_new_result1_upvr_3 (readonly)
[3]: any_new_result1_2_upvr (readonly)
]]
any_new_result1_6_upvr:Destroy()
any_new_result1_upvr_3:Destroy()
any_new_result1_2_upvr:Destroy()
end)
task.delay(5, function() -- Line 1798
--[[ Upvalues[3]:
[1]: Part_upvr (readonly)
[2]: Services_upvr_2 (copied, readonly)
[3]: clone_6_upvr (readonly)
]]
Part_upvr:Destroy()
Services_upvr_2.TweenService:Create(clone_6_upvr.SurfaceGui.ImageLabel, TweenInfo.new(10, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
ImageTransparency = 1;
}):Play()
task.wait(10)
clone_6_upvr:Destroy()
end)
end;
levelUp = function(arg1_116) -- Line 1806
--[[ Upvalues[3]:
[1]: var914_upvw (copied, read and write)
[2]: References_upvr_2 (copied, readonly)
[3]: PlayerGui_upvr (copied, readonly)
]]
if not var914_upvw then
var914_upvw = true
References_upvr_2.Main.sounds.UI.Swipe:Play()
PlayerGui_upvr.main.levelUp.Visible = true
PlayerGui_upvr.main.levelUp.level.TextTransparency = 1
PlayerGui_upvr.main.levelUp.level.Text = tostring(arg1_116)
PlayerGui_upvr.main.levelUp.level.Position = UDim2.new(0.5, 0, 1, 10)
PlayerGui_upvr.main.levelUp.label.Position = UDim2.new(0.5, -20, 0, 0)
_G._services.TweenService:Create(PlayerGui_upvr.main.levelUp.label, TweenInfo.new(0.25, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Position = UDim2.new(0.5, 0, 0, 0);
}):Play()
_G._services.TweenService:Create(PlayerGui_upvr.main.levelUp.label.UIGradient, TweenInfo.new(0.25, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Offset = Vector2.new(1, 0);
}):Play()
task.wait(0.25)
_G._services.TweenService:Create(PlayerGui_upvr.main.levelUp.level, TweenInfo.new(0.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 0;
Position = UDim2.new(0.5, 0, 1, -10);
}):Play()
task.wait(3)
_G._services.TweenService:Create(PlayerGui_upvr.main.levelUp.level, TweenInfo.new(0.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 1;
Position = UDim2.new(0.5, 0, 1, 10);
}):Play()
task.wait(0.25)
_G._services.TweenService:Create(PlayerGui_upvr.main.levelUp.label, TweenInfo.new(0.25, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 1;
}):Play()
task.wait(0.25)
PlayerGui_upvr.main.levelUp.level.TextTransparency = 0
PlayerGui_upvr.main.levelUp.level.Position = UDim2.new(0.5, 0, 1, -10)
PlayerGui_upvr.main.levelUp.label.Position = UDim2.new(0.5, 0, 0, 0)
PlayerGui_upvr.main.levelUp.label.TextTransparency = 0
PlayerGui_upvr.main.levelUp.label.UIGradient.Offset = Vector2.new(-1, 0)
PlayerGui_upvr.main.levelUp.Visible = false
var914_upvw = false
end
end;
message = function(arg1_117, arg2_41) -- Line 1840
--[[ Upvalues[2]:
[1]: var915_upvw (copied, read and write)
[2]: PlayerGui_upvr (copied, readonly)
]]
if not var915_upvw then
var915_upvw = true
PlayerGui_upvr.main.message.label.Text = arg1_117
PlayerGui_upvr.main.message.label.UIGradient.Rotation = 0
PlayerGui_upvr.main.message.label.UIGradient.Offset = Vector2.new(-1, 0)
PlayerGui_upvr.main.message.label.Size = UDim2.new(0, PlayerGui_upvr.main.message.AbsoluteSize.X, 0, PlayerGui_upvr.main.message.AbsoluteSize.Y)
_G._services.TweenService:Create(PlayerGui_upvr.main.message.label.UIGradient, TweenInfo.new(0.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Offset = Vector2.new(1, 0);
}):Play()
task.wait(arg2_41 or 3.5)
PlayerGui_upvr.main.message.label.UIGradient.Offset = Vector2.new(-1, 0)
PlayerGui_upvr.main.message.label.UIGradient.Rotation = 180
_G._services.TweenService:Create(PlayerGui_upvr.main.message.label.UIGradient, TweenInfo.new(0.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Offset = Vector2.new(1, 0);
}):Play()
task.wait(0.6)
PlayerGui_upvr.main.message.label.UIGradient.Offset = Vector2.new(-1, 0)
PlayerGui_upvr.main.message.label.UIGradient.Rotation = 0
var915_upvw = false
end
end;
takePrompt = function(arg1_118) -- Line 1862
--[[ Upvalues[4]:
[1]: tbl_11_upvr (copied, readonly)
[2]: References_upvr_2 (copied, readonly)
[3]: LocalPlayer_upvr (copied, readonly)
[4]: any_load_result1_upvr_4 (copied, readonly)
]]
if not tbl_11_upvr[arg1_118.Name] and not References_upvr_2.Main.cards.red:FindFirstChild(LocalPlayer_upvr.Name) then
tbl_11_upvr[arg1_118.Name] = any_load_result1_upvr_4.new(arg1_118)
end
end;
takeClear = function(arg1_119) -- Line 1869
--[[ Upvalues[1]:
[1]: tbl_11_upvr (copied, readonly)
]]
if tbl_11_upvr[arg1_119] then
tbl_11_upvr[arg1_119]:clear()
tbl_11_upvr[arg1_119] = nil
end
end;
bindMovement = function(arg1_120) -- Line 1876
--[[ Upvalues[2]:
[1]: module_10_upvr (copied, readonly)
[2]: LocalPlayer_upvr (copied, readonly)
]]
if arg1_120 == "freeze" then
local any_GetControls_result1_3 = module_10_upvr:GetControls()
if any_GetControls_result1_3 then
any_GetControls_result1_3:Disable()
end
LocalPlayer_upvr.Character:SetAttribute("freezeMovement", true)
_G._services.ContextActionService:BindAction("freezeMovement", function() -- Line 1887
return Enum.ContextActionResult.Sink
end, false, unpack(Enum.PlayerActions:GetEnumItems()))
else
local any_GetControls_result1_2 = module_10_upvr:GetControls()
if any_GetControls_result1_2 then
any_GetControls_result1_2:Enable()
end
LocalPlayer_upvr.Character:SetAttribute("freezeMovement", nil)
_G._services.ContextActionService:UnbindAction("freezeMovement")
end
end;
moveTo = function(arg1_121) -- Line 1903
--[[ Upvalues[2]:
[1]: any_load_result1_upvr_20 (copied, readonly)
[2]: LocalPlayer_upvr (copied, readonly)
]]
local any_new_result1_3_upvr = any_load_result1_upvr_20.new()
LocalPlayer_upvr.Character.Humanoid:SetAttribute("moveTo", true)
LocalPlayer_upvr.Character.Humanoid:MoveTo(arg1_121)
any_new_result1_3_upvr.moveToFinished = LocalPlayer_upvr.Character.Humanoid.MoveToFinished:Connect(function(arg1_122) -- Line 1909
--[[ Upvalues[1]:
[1]: any_new_result1_3_upvr (readonly)
]]
if arg1_122 == true then
any_new_result1_3_upvr:DoCleaning()
return true
end
end)
for _ = 1, 10 do
if not any_new_result1_3_upvr.moveToFinished then break end
task.wait(0.5)
end
if any_new_result1_3_upvr.moveToFinished then
any_new_result1_3_upvr:DoCleaning()
return true
end
end;
trip = function() -- Line 1930
--[[ Upvalues[1]:
[1]: ClientEngine_upvr (copied, readonly)
]]
ClientEngine_upvr:SetAttribute("Ragdoll", true)
task.wait(math.random(1.5, 3))
ClientEngine_upvr:SetAttribute("Ragdoll", false)
end;
pull = function() -- Line 1936
--[[ Upvalues[3]:
[1]: movementController_upvr (copied, readonly)
[2]: LocalPlayer_upvr (copied, readonly)
[3]: Services_upvr_2 (copied, readonly)
]]
movementController_upvr:SetAttribute("canSprint", false)
LocalPlayer_upvr.Character.Humanoid.WalkSpeed = Services_upvr_2.StarterPlayer.CharacterWalkSpeed - 5
task.wait(math.random(2, 3))
movementController_upvr:SetAttribute("canSprint", true)
LocalPlayer_upvr.Character.Humanoid.WalkSpeed = Services_upvr_2.StarterPlayer.CharacterWalkSpeed
end;
ragdoll = function() -- Line 1946
--[[ Upvalues[1]:
[1]: ClientEngine_upvr (copied, readonly)
]]
ClientEngine_upvr:SetAttribute("Ragdoll", true)
end;
unragdoll = function() -- Line 1950
--[[ Upvalues[1]:
[1]: ClientEngine_upvr (copied, readonly)
]]
ClientEngine_upvr:SetAttribute("Ragdoll", false)
end;
handshake = function(arg1_123) -- Line 1954
--[[ Upvalues[4]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: crash_upvr (copied, readonly)
[3]: tbl_80_upvr (copied, readonly)
[4]: Services_upvr_2 (copied, readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local Character_2 = LocalPlayer_upvr.Character
if not Character_2 then
for _ = 1, 60 do
if LocalPlayer_upvr.Character then
Character_2 = LocalPlayer_upvr.Character
end
task.wait(1)
end
if not Character_2 then
crash_upvr()
end
end
local tbl_50 = {}
for _, v_38 in pairs(LocalPlayer_upvr.Character:GetChildren()) do
if not tbl_50[v_38.Name] then
end
if v_38:IsA("BasePart") then
for _, v_39 in pairs(tbl_80_upvr) do
if string.match(v_38.Name, v_39) then
tbl_50[v_38.Name] = {v_38.Size.X, v_38.Size.Y, v_38.Size.Z}
end
end
end
end
if LocalPlayer_upvr.Character.Parent ~= workspace then
end
local module_4 = {}
module_4.key = arg1_123
module_4.WalkSpeed = LocalPlayer_upvr.Character.Humanoid.WalkSpeed
module_4.limbSizes = nil
return Services_upvr_2.HttpService:JSONEncode(module_4)
end;
} do
any_new_result1_upvr_2:add(i_46, v_40)
end
end
return module_6
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:00
-- Luau version 6, Types version 3
-- Time taken: 0.062477 seconds
local module = {}
local engine = require(game:GetService("ReplicatedStorage").engine)
local _services_upvr = _G._services
local var4_upvw
local tbl_5_upvw = {}
local var6_upvw
local var7_upvw = false
local tbl_11_upvr = {}
local tbl_9_upvw = {}
local var10_upvw
local var11_upvw
local var12_upvw
local var13_upvw
local var14_upvw = false
local var15_upvw
local var16_upvw = false
local var17_upvw = false
local var18_upvw = false
local var19_upvw = false
local var20_upvw
local var21_upvw
local function _() -- Line 34, Named "storeBallTemplate"
--[[ Upvalues[1]:
[1]: var10_upvw (read and write)
]]
if var10_upvw then
else
local pcall_result1, pcall_result2 = pcall(function() -- Line 39
if game:GetService("ReplicatedStorage").game and game:GetService("ReplicatedStorage").game.Replay then
return game:GetService("ReplicatedStorage").game.Replay:FindFirstChild("Template")
end
return nil
end)
if pcall_result1 and pcall_result2 and pcall_result2:IsA("MeshPart") then
var10_upvw = pcall_result2
end
end
end
local function findPartByPath_upvr(arg1, arg2) -- Line 51, Named "findPartByPath"
local tbl_4 = {}
local _, any_gmatch_result2, any_gmatch_result3 = arg2:gmatch("([^%.]+)")
local var35
for i in var35, any_gmatch_result2, any_gmatch_result3 do
table.insert(tbl_4, i)
end
var35 = #tbl_4
if var35 == 0 then
var35 = nil
return var35
end
var35 = arg1
for _, v in ipairs(tbl_4) do
local var39 = var35
if var39 then
var39 = var35:FindFirstChild(v)
end
var35 = var39
if not var35 then
return nil
end
end
if var35 and (var35:IsA("BasePart") or var35:IsA("MeshPart")) then
return var35
end
return nil
end
local function storePlayerCharacter_upvr(arg1) -- Line 76, Named "storePlayerCharacter"
--[[ Upvalues[1]:
[1]: tbl_11_upvr (readonly)
]]
if tbl_11_upvr[arg1.UserId] then
local var40 = tbl_11_upvr[arg1.UserId]
if var40 and var40.Parent and var40:FindFirstChild("HumanoidRootPart") then return end
tbl_11_upvr[arg1.UserId] = nil
end
if arg1 and arg1.Character and arg1.Character:FindFirstChild("HumanoidRootPart") then
arg1.Character.Archivable = true
tbl_11_upvr[arg1.UserId] = arg1.Character
end
end
local function createGhostPlayer_upvr(arg1, arg2) -- Line 92, Named "createGhostPlayer"
--[[ Upvalues[4]:
[1]: tbl_5_upvw (read and write)
[2]: _services_upvr (readonly)
[3]: tbl_11_upvr (readonly)
[4]: findPartByPath_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 217 start (CF ANALYSIS FAILED)
if tbl_5_upvw[arg1] then
tbl_5_upvw[arg1]:Destroy()
end
local any_GetPlayerByUserId_result1 = _services_upvr.Players:GetPlayerByUserId(arg1)
local var66
if tbl_11_upvr[arg1] then
var66 = tbl_11_upvr[arg1]
if var66 and var66.Parent and var66:FindFirstChild("HumanoidRootPart") then
else
tbl_11_upvr[arg1] = nil
var66 = nil
end
end
if not var66 and any_GetPlayerByUserId_result1 and any_GetPlayerByUserId_result1.Character and any_GetPlayerByUserId_result1.Character then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
any_GetPlayerByUserId_result1.Character.Archivable = true
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x2)
if not any_GetPlayerByUserId_result1.Character or not any_GetPlayerByUserId_result1.Character.Parent or not any_GetPlayerByUserId_result1.Character:FindFirstChild("HumanoidRootPart") then
return nil
end
local Character_2_upvw = any_GetPlayerByUserId_result1.Character
local pcall_result1_2, pcall_result2_2 = pcall(function() -- Line 120
--[[ Upvalues[1]:
[1]: Character_2_upvw (read and write)
]]
Character_2_upvw.Archivable = true
return Character_2_upvw:Clone()
end)
if not pcall_result1_2 or not pcall_result2_2 then
return nil
end
pcall_result2_2.Name = "ReplayPlayer_"..arg1
pcall_result2_2.Parent = workspace
if Character_2_upvw then
for _, v_2 in ipairs({"Shirt", "Pants"}) do
local SOME_2 = Character_2_upvw:FindFirstChild(v_2)
if SOME_2 then
local SOME_3 = pcall_result2_2:FindFirstChild(v_2)
if SOME_3 then
SOME_3:Destroy()
end
SOME_2:Clone().Parent = pcall_result2_2
end
end
end
for _, v_3 in ipairs(pcall_result2_2:GetDescendants()) do
if v_3:IsA("BasePart") then
v_3.Anchored = true
v_3.CanCollide = false
v_3.CastShadow = false
v_3.CanTouch = false
v_3.CanQuery = false
v_3.LocalTransparencyModifier = 0
elseif v_3:IsA("Humanoid") then
v_3.PlatformStand = true
v_3.Health = 100
v_3.MaxHealth = 100
v_3.WalkSpeed = 0
v_3.JumpPower = 0
v_3.AutoRotate = false
v_3.RequiresNeck = false
v_3.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None
v_3.NameDisplayDistance = 0
v_3:ChangeState(Enum.HumanoidStateType.Physics)
elseif v_3:IsA("Script") or v_3:IsA("LocalScript") then
v_3:Destroy()
elseif v_3:IsA("BodyVelocity") or v_3:IsA("BodyAngularVelocity") or v_3:IsA("BodyPosition") or v_3:IsA("AlignPosition") or v_3:IsA("AlignOrientation") then
v_3:Destroy()
elseif v_3:IsA("TouchTransmitter") then
v_3:Destroy()
elseif v_3:IsA("BillboardGui") or v_3:IsA("SurfaceGui") or v_3.Name:lower():find("name") or v_3.Parent.Name == "Head" then
v_3:Destroy()
end
end
local ipairs_result1, ipairs_result2, ipairs_result3_10 = ipairs(pcall_result2_2:GetChildren())
-- KONSTANTERROR: [0] 1. Error Block 217 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [357] 263. Error Block 84 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [357] 263. Error Block 84 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [268] 201. Error Block 219 start (CF ANALYSIS FAILED)
if v_3:Destroy() then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if v_3.Parent ~= "LayeredShirt" then
else
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x2)
if v_3.Parent and "name" then
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if not v_3:Destroy() then
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [357.15]
for _, _ in "name", v_2 do
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [357.18]
if nil then
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x2)
end
-- KONSTANTWARNING: GOTO [357] #263
end
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x3)
if v_3:Destroy() and (v_3:Destroy() == "LeftBoot" or v_3:Destroy() == "RightBoot") then
end
end
-- KONSTANTERROR: [268] 201. Error Block 219 end (CF ANALYSIS FAILED)
end
local function stopReplay_upvr() -- Line 294, Named "stopReplay"
--[[ Upvalues[15]:
[1]: var6_upvw (read and write)
[2]: _services_upvr (readonly)
[3]: var4_upvw (read and write)
[4]: tbl_5_upvw (read and write)
[5]: tbl_9_upvw (read and write)
[6]: var11_upvw (read and write)
[7]: var12_upvw (read and write)
[8]: var15_upvw (read and write)
[9]: var21_upvw (read and write)
[10]: var16_upvw (read and write)
[11]: var17_upvw (read and write)
[12]: var18_upvw (read and write)
[13]: var19_upvw (read and write)
[14]: var20_upvw (read and write)
[15]: var7_upvw (read and write)
]]
if var6_upvw then
var6_upvw:Disconnect()
var6_upvw = nil
end
local LocalPlayer = _services_upvr.Players.LocalPlayer
local var101
if LocalPlayer then
var101 = LocalPlayer.Character
if not var101 then
var101 = LocalPlayer.CharacterAdded:Wait()
local var102
end
if var101 then
var102 = var101:FindFirstChildOfClass("Humanoid")
if not var102 then
var102 = var101:WaitForChild("Humanoid")
end
if var102 then
workspace.CurrentCamera.CameraSubject = var102
end
end
end
if var4_upvw then
var4_upvw:Destroy()
var4_upvw = nil
end
for _, v_5 in pairs(tbl_5_upvw) do
if v_5 and v_5.Parent then
v_5:Destroy()
end
end
tbl_5_upvw = {}
for _, v_6 in pairs(tbl_9_upvw) do
if v_6 and v_6.character and v_6.character.Parent then
for i_8, v_7 in pairs(v_6.parts) do
if i_8 and i_8.Parent then
if i_8:IsA("BasePart") then
i_8.Transparency = v_7
i_8.LocalTransparencyModifier = 0
elseif i_8:IsA("Decal") or i_8:IsA("Texture") then
i_8.Transparency = v_7
end
end
end
for i_9, v_8 in pairs(v_6.jerseyTexts) do
if i_9 and i_9.Parent then
if i_9:IsA("SurfaceGui") then
i_9.Enabled = v_8.enabled
elseif i_9:IsA("TextLabel") then
i_9.TextTransparency = v_8.textTransparency
i_9.TextStrokeTransparency = v_8.textStrokeTransparency
end
end
end
end
end
tbl_9_upvw = {}
if var11_upvw and var12_upvw ~= nil then
var11_upvw.Visible = var12_upvw
var11_upvw = nil
var12_upvw = nil
end
if var15_upvw and var15_upvw.Parent then
var15_upvw:Destroy()
end
var15_upvw = nil
if var21_upvw and var21_upvw.Parent then
var21_upvw:Destroy()
end
var21_upvw = nil
var16_upvw = false
var17_upvw = false
var18_upvw = false
var19_upvw = false
var20_upvw = nil
replayStartTime = nil -- Setting global
var7_upvw = false
end
local function createGhostBall_upvr(arg1) -- Line 376, Named "createGhostBall"
--[[ Upvalues[2]:
[1]: var4_upvw (read and write)
[2]: var10_upvw (read and write)
]]
if var4_upvw then
var4_upvw:Destroy()
end
if var10_upvw then
var4_upvw = var10_upvw:Clone()
var4_upvw.Name = "ReplayBall"
var4_upvw.Parent = workspace
var4_upvw.Anchored = true
var4_upvw.CanCollide = false
var4_upvw.CanTouch = false
var4_upvw.CanQuery = false
local var115 = arg1
if not var115 then
var115 = CFrame.new(0, 5, 0)
end
var4_upvw.CFrame = var115
else
local Folder = Instance.new("Folder")
Folder.Name = "ReplayBall"
Folder.Parent = workspace
local Part = Instance.new("Part")
Part.Name = "Ball"
Part.Shape = Enum.PartType.Ball
Part.Size = Vector3.new(1.5, 1.5, 1.5)
Part.Material = Enum.Material.SmoothPlastic
Part.Color = Color3.fromRGB(255, 255, 255)
Part.Anchored = true
Part.CanCollide = false
local var118 = arg1
if not var118 then
var118 = CFrame.new(0, 5, 0)
end
Part.CFrame = var118
Part.Parent = Folder
var4_upvw = Folder
end
return var4_upvw
end
local TweenService_upvr = game:GetService("TweenService")
local any_load_result1_upvr = engine:load("FormatNumber", "utils")
local RunService_upvr = game:GetService("RunService")
local function playReplay_upvr(arg1) -- Line 412, Named "playReplay"
--[[ Upvalues[24]:
[1]: var7_upvw (read and write)
[2]: var14_upvw (read and write)
[3]: _services_upvr (readonly)
[4]: var11_upvw (read and write)
[5]: var12_upvw (read and write)
[6]: TweenService_upvr (readonly)
[7]: var4_upvw (read and write)
[8]: createGhostBall_upvr (readonly)
[9]: createGhostPlayer_upvr (readonly)
[10]: var15_upvw (read and write)
[11]: var16_upvw (read and write)
[12]: var17_upvw (read and write)
[13]: var18_upvw (read and write)
[14]: var19_upvw (read and write)
[15]: var20_upvw (read and write)
[16]: tbl_9_upvw (read and write)
[17]: tbl_5_upvw (read and write)
[18]: findPartByPath_upvr (readonly)
[19]: var21_upvw (read and write)
[20]: any_load_result1_upvr (readonly)
[21]: var6_upvw (read and write)
[22]: RunService_upvr (readonly)
[23]: stopReplay_upvr (readonly)
[24]: var13_upvw (read and write)
]]
-- KONSTANTERROR: [0] 1. Error Block 188 start (CF ANALYSIS FAILED)
if not arg1 or not arg1.ball or #arg1.ball == 0 then return end
local ball_2 = arg1.ball
if not arg1.players then
local tbl_12 = {}
end
var7_upvw = true
var14_upvw = false
local LocalPlayer_2 = _services_upvr.Players.LocalPlayer
local var236
if LocalPlayer_2 and LocalPlayer_2.PlayerGui then
local function INLINED_4() -- Internal function, doesn't exist in bytecode
var236 = LocalPlayer_2.PlayerGui:FindFirstChild("main"):FindFirstChild("goalreplay")
return var236
end
if LocalPlayer_2.PlayerGui:FindFirstChild("main") and INLINED_4() and (var236:IsA("Frame") or var236:IsA("GuiBase2d")) then
var11_upvw = var236
var12_upvw = var236.Visible
var236.Visible = true
local Logo_upvr = var236:FindFirstChild("Logo")
local background_upvr = var236:FindFirstChild("background")
local label_upvr = var236:FindFirstChild("label")
task.spawn(function() -- Line 436
--[[ Upvalues[4]:
[1]: Logo_upvr (readonly)
[2]: TweenService_upvr (copied, readonly)
[3]: background_upvr (readonly)
[4]: label_upvr (readonly)
]]
if Logo_upvr then
Logo_upvr.ImageTransparency = 1
TweenService_upvr:Create(Logo_upvr, TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
ImageTransparency = 0;
}):Play()
end
if background_upvr then
background_upvr.Visible = true
background_upvr.ImageTransparency = 0
background_upvr.Size = UDim2.new(0, 0, 0.812, 0)
TweenService_upvr:Create(background_upvr, TweenInfo.new(0.6, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
Size = UDim2.new(0.8, 0, 0.812, 0);
}):Play()
end
if label_upvr then
task.wait(0.6)
label_upvr.TextTransparency = 1
TweenService_upvr:Create(label_upvr, TweenInfo.new(0.4, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
TextTransparency = 0;
}):Play()
end
end)
end
end
var236 = ball_2[1]
var236 = createGhostBall_upvr
Logo_upvr = var236.cframe
var236 = var236(Logo_upvr)
var4_upvw = var236
var236 = var4_upvw
if not var236 then
var236 = false
var7_upvw = var236
return
end
var236 = nil
Logo_upvr = var4_upvw
label_upvr = "BasePart"
Logo_upvr = Logo_upvr:IsA(label_upvr)
local function INLINED_5() -- Internal function, doesn't exist in bytecode
Logo_upvr = Logo_upvr:IsA(label_upvr)
label_upvr = "MeshPart"
Logo_upvr = var4_upvw
return Logo_upvr
end
if Logo_upvr or INLINED_5() then
var236 = var4_upvw
else
Logo_upvr = var4_upvw
label_upvr = "BasePart"
Logo_upvr = Logo_upvr:FindFirstChildWhichIsA(label_upvr)
var236 = Logo_upvr
if not var236 then
Logo_upvr = var4_upvw
label_upvr = "Model"
Logo_upvr = Logo_upvr:IsA(label_upvr)
if Logo_upvr then
background_upvr = var4_upvw
Logo_upvr = background_upvr.PrimaryPart
if Logo_upvr then
Logo_upvr = var4_upvw
var236 = Logo_upvr.PrimaryPart
end
end
end
end
if var236 then
background_upvr = workspace
Logo_upvr = background_upvr.CurrentCamera
Logo_upvr.CameraSubject = var236
else
background_upvr = workspace
Logo_upvr = background_upvr.CurrentCamera
background_upvr = var4_upvw
Logo_upvr.CameraSubject = background_upvr
end
Logo_upvr = #tbl_12
background_upvr = 0
if background_upvr < Logo_upvr then
Logo_upvr = tbl_12[1]
if Logo_upvr then
background_upvr = tbl_12[1]
Logo_upvr = background_upvr.players
if Logo_upvr then
Logo_upvr = 0
background_upvr = pairs
label_upvr = tbl_12[1].players
background_upvr = background_upvr(label_upvr)
local background_upvr_result1, background_upvr_result2, background_upvr_result3 = background_upvr(label_upvr)
for i_10, v_9 in background_upvr_result1, background_upvr_result2, background_upvr_result3 do
createGhostPlayer_upvr(i_10, v_9)
Logo_upvr += 1
local var248
end
end
end
end
var15_upvw = nil
var16_upvw = false
var17_upvw = false
var18_upvw = false
var19_upvw = false
var20_upvw = nil
tbl_9_upvw = {}
background_upvr_result2 = _services_upvr
background_upvr_result1 = background_upvr_result2.Players:GetPlayers()
local ipairs_result1_8, ipairs_result2_3, ipairs_result3_3 = ipairs(background_upvr_result1)
for _, v_10 in ipairs_result1_8, ipairs_result2_3, ipairs_result3_3 do
if v_10 then
if v_10.Character then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if v_10.Character.Parent == workspace then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
local Character = v_10.Character
if not Character:GetAttribute("ReplayGhost") and not string.find(Character.Name, "ReplayPlayer_") then
local tbl_8 = {
character = Character;
parts = {};
jerseyTexts = {};
}
for _, v_11 in ipairs(Character:GetDescendants()) do
if v_11:IsA("BasePart") then
tbl_8.parts[v_11] = v_11.Transparency
v_11.Transparency = 1
v_11.LocalTransparencyModifier = 1
elseif v_11:IsA("Decal") or v_11:IsA("Texture") then
tbl_8.parts[v_11] = v_11.Transparency
v_11.Transparency = 1
end
end
for _, v_12 in ipairs(Character:GetChildren()) do
if v_12:IsA("Accessory") then
local Handle = v_12:FindFirstChild("Handle")
if Handle and Handle:IsA("BasePart") then
if not tbl_8.parts[Handle] then
tbl_8.parts[Handle] = Handle.Transparency
end
Handle.Transparency = 1
Handle.LocalTransparencyModifier = 1
end
end
end
local Gloves = Character:FindFirstChild("Gloves")
if Gloves then
for _, v_13 in ipairs(Gloves:GetDescendants()) do
if v_13:IsA("BasePart") or v_13:IsA("MeshPart") then
if not tbl_8.parts[v_13] then
tbl_8.parts[v_13] = v_13.Transparency
end
v_13.Transparency = 1
v_13.LocalTransparencyModifier = 1
end
end
end
local Accessories = Character:FindFirstChild("Accessories")
if Accessories then
for _, v_14 in ipairs(Accessories:GetDescendants()) do
if v_14:IsA("BasePart") or v_14:IsA("MeshPart") then
if not tbl_8.parts[v_14] then
tbl_8.parts[v_14] = v_14.Transparency
end
v_14.Transparency = 1
v_14.LocalTransparencyModifier = 1
end
end
end
local Jersey = Character:FindFirstChild("Jersey")
if Jersey then
if Jersey:IsA("BasePart") then
local jersey = Jersey:FindFirstChild("jersey")
if jersey then
if jersey:IsA("SurfaceGui") then
for _, v_15 in ipairs(jersey:GetDescendants()) do
if v_15:IsA("TextLabel") then
if not tbl_8.jerseyTexts[v_15] then
tbl_8.jerseyTexts[v_15] = {
textTransparency = v_15.TextTransparency;
textStrokeTransparency = v_15.TextStrokeTransparency;
}
end
v_15.TextTransparency = 1
v_15.TextStrokeTransparency = 1
end
end
end
end
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
tbl_9_upvw[v_10.UserId] = tbl_8
end
end
end
end
end
function ipairs_result2_3(arg1_3) -- Line 583, Named "detectKickMoments"
for i_17 = 2, #arg1_3 do
local var276 = arg1_3[i_17 - 1]
local var277 = arg1_3[i_17]
if var276.time and var277.time and var276.cframe then
if var277.cframe then
local var278 = var277.time - var276.time
if 0 < var278 then
local var279 = (var277.cframe.Position - var276.cframe.Position).Magnitude / var278
if 60 < var279 then
table.insert({}, {
time = var277.time;
velocity = var279;
slowStartTime = var277.time - 0.5;
normalResumeTime = var277.time + 0.2;
frameIndex = i_17;
position = var277.cframe.Position;
})
end
end
end
end
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return {}
end
ipairs_result3_3 = ball_2
ipairs_result2_3 = ipairs_result2_3(ipairs_result3_3)
ipairs_result3_3 = nil
local _ = #ball_2
-- KONSTANTERROR: [0] 1. Error Block 188 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [515] 376. Error Block 101 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [515] 376. Error Block 101 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [460] 341. Error Block 94 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [460] 341. Error Block 94 end (CF ANALYSIS FAILED)
end
local any_new_result1_upvr = engine:load("Network").new()
function module.init(arg1) -- Line 1359
--[[ Upvalues[6]:
[1]: var10_upvw (read and write)
[2]: _services_upvr (readonly)
[3]: storePlayerCharacter_upvr (readonly)
[4]: any_new_result1_upvr (readonly)
[5]: playReplay_upvr (readonly)
[6]: stopReplay_upvr (readonly)
]]
task.spawn(function() -- Line 1360
--[[ Upvalues[3]:
[1]: var10_upvw (copied, read and write)
[2]: _services_upvr (copied, readonly)
[3]: storePlayerCharacter_upvr (copied, readonly)
]]
while true do
if var10_upvw then
else
local pcall_result1_3, pcall_result2_3 = pcall(function() -- Line 39
if game:GetService("ReplicatedStorage").game and game:GetService("ReplicatedStorage").game.Replay then
return game:GetService("ReplicatedStorage").game.Replay:FindFirstChild("Template")
end
return nil
end)
if pcall_result1_3 and pcall_result2_3 and pcall_result2_3:IsA("MeshPart") then
var10_upvw = pcall_result2_3
end
end
for _, v_16 in ipairs(_services_upvr.Players:GetPlayers()) do
storePlayerCharacter_upvr(v_16)
end
task.wait(1)
end
end)
_services_upvr.Players.PlayerAdded:Connect(function(arg1_4) -- Line 1370
--[[ Upvalues[1]:
[1]: storePlayerCharacter_upvr (copied, readonly)
]]
task.spawn(function() -- Line 1371
--[[ Upvalues[2]:
[1]: storePlayerCharacter_upvr (copied, readonly)
[2]: arg1_4 (readonly)
]]
task.wait(2)
storePlayerCharacter_upvr(arg1_4)
end)
end)
any_new_result1_upvr:add("playReplay", function(arg1_5) -- Line 1377
--[[ Upvalues[1]:
[1]: playReplay_upvr (copied, readonly)
]]
playReplay_upvr(arg1_5)
end)
any_new_result1_upvr:add("stopReplay", function() -- Line 1381
--[[ Upvalues[1]:
[1]: stopReplay_upvr (copied, readonly)
]]
stopReplay_upvr()
end)
end
function module.play(arg1, arg2, arg3) -- Line 1386
--[[ Upvalues[2]:
[1]: var13_upvw (read and write)
[2]: playReplay_upvr (readonly)
]]
var13_upvw = arg3
playReplay_upvr(arg2)
end
function module.stop(arg1) -- Line 1391
--[[ Upvalues[3]:
[1]: var13_upvw (read and write)
[2]: var14_upvw (read and write)
[3]: stopReplay_upvr (readonly)
]]
var13_upvw = nil
var14_upvw = false
stopReplay_upvr()
end
function module.clear(arg1) -- Line 1397
--[[ Upvalues[1]:
[1]: stopReplay_upvr (readonly)
]]
stopReplay_upvr()
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:01
-- Luau version 6, Types version 3
-- Time taken: 0.002161 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local module = {}
local Profile_upvr = _engine.References.Profile
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
function module.init(arg1) -- Line 11
--[[ Upvalues[3]:
[1]: Profile_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
[3]: Services_upvr (readonly)
]]
task.wait(1)
local function updateAngleBar() -- Line 14
--[[ Upvalues[2]:
[1]: Profile_upvr (copied, readonly)
[2]: LocalPlayer_upvr (copied, readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [5] 4. Error Block 2 start (CF ANALYSIS FAILED)
do
return
end
-- KONSTANTERROR: [5] 4. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [6] 5. Error Block 3 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [6] 5. Error Block 3 end (CF ANALYSIS FAILED)
end
Services_upvr.RunService.RenderStepped:Connect(updateAngleBar)
if _G._root then
_G._root:GetAttributeChangedSignal("AngleBarEnabled"):Connect(updateAngleBar)
_G._root:GetAttributeChangedSignal("CurrentLookAngle_0_60"):Connect(updateAngleBar)
end
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:03
-- Luau version 6, Types version 3
-- Time taken: 0.001760 seconds
local module = {}
local ClientEngine_upvr = script.Parent.Parent:WaitForChild("ClientEngine", 100)
local LocalPlayer_upvr = _G._engine.Services.Players.LocalPlayer
function module.toggle(arg1, arg2, arg3) -- Line 22
--[[ Upvalues[2]:
[1]: ClientEngine_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [7] 7. Error Block 17 start (CF ANALYSIS FAILED)
if arg3 then
LocalPlayer_upvr.Character.HumanoidRootPart.WeightR.Massless = false
LocalPlayer_upvr.Character.HumanoidRootPart.WeightL.Massless = false
end
if arg3 then
else
end
ClientEngine_upvr:SetAttribute("IsHolding", nil)
ClientEngine_upvr:SetAttribute("Ragdoll", true)
do
return
end
-- KONSTANTERROR: [7] 7. Error Block 17 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [44] 34. Error Block 13 start (CF ANALYSIS FAILED)
if ClientEngine_upvr:GetAttribute("Ragdoll") then
ClientEngine_upvr:SetAttribute("IsHolding", nil)
ClientEngine_upvr:SetAttribute("Ragdoll", false)
end
-- KONSTANTERROR: [44] 34. Error Block 13 end (CF ANALYSIS FAILED)
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:05
-- Luau version 6, Types version 3
-- Time taken: 0.002398 seconds
local Services_upvr = _G._engine.Services
local module = {}
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
function module.toggle(arg1, arg2, arg3) -- Line 14
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
]]
if arg2 == "all" then
for _, v in next, LocalPlayer_upvr.Character:GetChildren() do
if v:IsA("BasePart") and v.Name ~= "PostCollider" then
v.CollisionGroup = arg3 or "Default"
end
end
else
if arg2 == "reset" then
for _, v_2 in next, LocalPlayer_upvr.Character:GetChildren() do
if v_2:IsA("BasePart") and Services_upvr.StarterPlayer.StarterCharacter:FindFirstChild(v_2.Name) then
v_2.CollisionGroup = Services_upvr.StarterPlayer.StarterCharacter[v_2.Name].CollisionGroup
end
end
return
end
for _, v_3 in next, arg2 do
if LocalPlayer_upvr.Character:FindFirstChild(v_3) then
LocalPlayer_upvr.Character[v_3].CollisionGroup = arg3 or "Default"
end
end
end
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:06
-- Luau version 6, Types version 3
-- Time taken: 0.016542 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local module = {}
local module_upvr = require(script:WaitForChild("raycast", 100))
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local References_upvr = _engine.References
local any_new_result1_upvr_2 = _engine:load("Network").new()
local module_2_upvr = require(script.Parent:WaitForChild("collisions", 100))
local any_load_result1_upvr = _engine:load("Sounds")
local any_new_result1_upvr = _engine:load("Maid").new()
local movementController_upvr = script.Parent.Parent:WaitForChild("controllers", 100):WaitForChild("movementController", 100)
function module.start(arg1, arg2) -- Line 27
--[[ Upvalues[9]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
[3]: References_upvr (readonly)
[4]: any_new_result1_upvr_2 (readonly)
[5]: module_2_upvr (readonly)
[6]: any_load_result1_upvr (readonly)
[7]: any_new_result1_upvr (readonly)
[8]: Services_upvr (readonly)
[9]: movementController_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local any_raycast_result1 = module_upvr:raycast()
local Animator = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100)
local CFrame = LocalPlayer_upvr.Character.HumanoidRootPart.CFrame
local RaycastParams_new_result1_2 = RaycastParams.new()
RaycastParams_new_result1_2.FilterType = Enum.RaycastFilterType.Exclude
RaycastParams_new_result1_2.FilterDescendantsInstances = {LocalPlayer_upvr.Character, workspace.game}
local workspace_Raycast_result1 = workspace:Raycast(CFrame.Position, Vector3.new(0, -5, 0), RaycastParams_new_result1_2)
local var35_upvw
if workspace_Raycast_result1 and workspace_Raycast_result1.Position then
var35_upvw = CFrame.new(Vector3.new(CFrame.Position.X, workspace_Raycast_result1.Position.Y + 2.2, CFrame.Position.Z)) * CFrame.new(Vector3.new(), workspace.CurrentCamera.CFrame.LookVector * Vector3.new(1, 0, 1))
end
local any_LoadAnimation_result1 = Animator:LoadAnimation(References_upvr.Main.animations.GetUp.GetUp)
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
for _, v in next, Animator:GetPlayingAnimationTracks() do
if v and References_upvr.Main.animations.Tools:FindFirstChild(v.Name, true) then
v:Stop(0)
end
end
any_new_result1_upvr_2:send("getUpBinder", true)
LocalPlayer_upvr.Character.HumanoidRootPart.Anchored = true
LocalPlayer_upvr.Character.LowerTorso.Anchored = true
LocalPlayer_upvr.Character.HumanoidRootPart.WeightR.Massless = true
LocalPlayer_upvr.Character.HumanoidRootPart.WeightL.Massless = true
local clone_upvr = References_upvr.Main.rigs.FakeTorso:Clone()
clone_upvr.Parent = workspace.game.debug
clone_upvr:SetPrimaryPartCFrame(CFrame)
clone_upvr.Humanoid.PlatformStand = false
clone_upvr.Humanoid:ChangeState(Enum.HumanoidStateType.GettingUp)
if any_raycast_result1 == "Front" then
local FakeTorso_upvr = References_upvr.Main.animations.GetUp.FakeTorso
task.delay(0.05, function() -- Line 70
--[[ Upvalues[2]:
[1]: clone_upvr (readonly)
[2]: FakeTorso_upvr (readonly)
]]
clone_upvr.Humanoid.Animator:LoadAnimation(FakeTorso_upvr):Play(0.1, nil, 1.1)
end)
else
task.delay(0.05, function() -- Line 74
--[[ Upvalues[2]:
[1]: clone_upvr (readonly)
[2]: FakeTorso_upvr (readonly)
]]
clone_upvr.Humanoid.Animator:LoadAnimation(FakeTorso_upvr):Play(0.1)
end)
end
LocalPlayer_upvr.Character.Humanoid.WalkSpeed = 0
LocalPlayer_upvr.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Jumping, false)
module_2_upvr:toggle("all", "9_getUp")
for i_2, v_2 in next, {"UpperLeg", "LowerLeg", "Foot"} do
local var44 = "Right"..v_2
local var45 = "Left"..v_2
if LocalPlayer_upvr.Character:FindFirstChild(var44) then
LocalPlayer_upvr.Character[var44].CanCollide = false
end
if LocalPlayer_upvr.Character:FindFirstChild(var45) then
LocalPlayer_upvr.Character[var45].CanCollide = false
end
end
if any_raycast_result1 == "Front" then
i_2 = nil
v_2 = 1.1
any_LoadAnimation_result1:Play(0.1, i_2, v_2)
else
any_LoadAnimation_result1:Play(0.1)
end
task.spawn(function() -- Line 103
--[[ Upvalues[3]:
[1]: any_load_result1_upvr (copied, readonly)
[2]: LocalPlayer_upvr (copied, readonly)
[3]: References_upvr (copied, readonly)
]]
any_load_result1_upvr:load({
directory = LocalPlayer_upvr.Character.HumanoidRootPart;
soundId = References_upvr.Main.sounds.Player.GetUp.SoundId;
rollOffMaxDistance = 100;
rollOffMinDistance = 15;
volume = 0.25;
play = true;
replicate = true;
})
end)
local AlignOrientation_upvr = Instance.new("AlignOrientation")
AlignOrientation_upvr.Mode = Enum.OrientationAlignmentMode.OneAttachment
AlignOrientation_upvr.Attachment0 = LocalPlayer_upvr.Character.LowerTorso:FindFirstChild("RootRigAttachment")
AlignOrientation_upvr.MaxTorque = 100000
AlignOrientation_upvr.Responsiveness = 200
AlignOrientation_upvr.Enabled = true
AlignOrientation_upvr.RigidityEnabled = true
AlignOrientation_upvr.ReactionTorqueEnabled = false
AlignOrientation_upvr.Parent = LocalPlayer_upvr.Character.LowerTorso:FindFirstChild("RootRigAttachment")
AlignOrientation_upvr.CFrame = CFrame
local AlignPosition_upvr = Instance.new("AlignPosition")
AlignPosition_upvr.Mode = Enum.PositionAlignmentMode.OneAttachment
AlignPosition_upvr.Attachment0 = LocalPlayer_upvr.Character.LowerTorso:FindFirstChild("RootRigAttachment")
AlignPosition_upvr.MaxForce = 100000
AlignPosition_upvr.Responsiveness = 200
AlignPosition_upvr.Enabled = true
AlignPosition_upvr.RigidityEnabled = true
AlignPosition_upvr.ReactionForceEnabled = false
AlignPosition_upvr.Parent = LocalPlayer_upvr.Character.LowerTorso:FindFirstChild("RootRigAttachment")
AlignPosition_upvr.Position = CFrame.Position
any_new_result1_upvr:GiveTask(AlignOrientation_upvr)
any_new_result1_upvr:GiveTask(AlignPosition_upvr)
any_new_result1_upvr:GiveTask(clone_upvr)
if workspace.pitch.nets:FindFirstChildOfClass("Model") then
local CFrame_upvr = LocalPlayer_upvr.Character.LowerTorso.CFrame
local tick_result1_upvr = tick()
local tick_result1_upvw = tick()
any_new_result1_upvr.renderStepped = Services_upvr.RunService.RenderStepped:Connect(function(arg1_2) -- Line 146
--[[ Upvalues[8]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: clone_upvr (readonly)
[3]: CFrame_upvr (readonly)
[4]: tick_result1_upvr (readonly)
[5]: tick_result1_upvw (read and write)
[6]: var35_upvw (read and write)
[7]: AlignPosition_upvr (readonly)
[8]: AlignOrientation_upvr (readonly)
]]
local RaycastParams_new_result1 = RaycastParams.new()
RaycastParams_new_result1.FilterType = Enum.RaycastFilterType.Exclude
RaycastParams_new_result1.RespectCanCollide = true
RaycastParams_new_result1:AddToFilter({LocalPlayer_upvr.Character, clone_upvr, workspace.pitch.main, workspace.game.regions, workspace.pitch.textures})
local any_ToEulerAnglesYXZ_result1, any_ToEulerAnglesYXZ_result2, any_ToEulerAnglesYXZ_result3 = clone_upvr.FakeTorso.CFrame:ToEulerAnglesYXZ()
local var64
for i_3, v_3 in next, {workspace:Raycast(LocalPlayer_upvr.Character.HumanoidRootPart.Position, LocalPlayer_upvr.Character.HumanoidRootPart.CFrame.LookVector * 5, RaycastParams_new_result1), workspace:Raycast(LocalPlayer_upvr.Character.HumanoidRootPart.Position, LocalPlayer_upvr.Character.HumanoidRootPart.CFrame.UpVector * 5, RaycastParams_new_result1)} do
if v_3 and v_3.Instance and v_3.Instance.Parent.Name ~= "physics" then
end
end
if not nil and 0.008333333333333333 <= tick() - tick_result1_upvw then
i_3 = 0
v_3 = -0.1
var35_upvw *= CFrame.new(0, i_3, v_3)
tick_result1_upvw = tick()
end
i_3 = math.clamp((tick() - tick_result1_upvr) * 1.7, 0, 1)
i_3 = math.clamp((tick() - tick_result1_upvr) * 1.3, 0, 1)
local any_Lerp_result1 = CFrame_upvr:Lerp(CFrame.new(CFrame_upvr.Position) * CFrame.Angles(any_ToEulerAnglesYXZ_result1, any_ToEulerAnglesYXZ_result2, any_ToEulerAnglesYXZ_result3), i_3):Lerp(var35_upvw, i_3)
i_3 = LocalPlayer_upvr
i_3.Character.HumanoidRootPart.Anchored = false
i_3 = LocalPlayer_upvr
i_3.Character.LowerTorso.Anchored = false
AlignPosition_upvr.Position = any_Lerp_result1.Position
AlignOrientation_upvr.CFrame = any_Lerp_result1
end)
end
if 0.1 > any_LoadAnimation_result1.Length or not (any_LoadAnimation_result1.Length - 0.2) then
end
task.wait(0.95)
LocalPlayer_upvr.Character.HumanoidRootPart.Anchored = false
any_new_result1_upvr:DoCleaning()
LocalPlayer_upvr.Character.Humanoid.PlatformStand = false
LocalPlayer_upvr.Character.Humanoid:ChangeState(Enum.HumanoidStateType.GettingUp)
module_2_upvr:toggle("reset")
any_new_result1_upvr_2:send("getUpBinder", false)
if LocalPlayer_upvr.PlayerGui:FindFirstChild("UI") then
LocalPlayer_upvr.PlayerGui.UI.Enabled = true
end
if arg2.holding.ball then
if arg2.holding.animation then
arg2.holding.animation:Stop(0.3)
end
arg2.holding.animation = LocalPlayer_upvr.Character.Humanoid.Animator:LoadAnimation(References_upvr.Main.animations.Ball[References_upvr.Profile.inventory.Current["Ball Hold"].Value])
arg2.holding.animation.Priority = Enum.AnimationPriority.Action4
arg2.holding.animation:Play(0.2)
end
LocalPlayer_upvr.Character.Humanoid.WalkSpeed = Services_upvr.StarterPlayer.CharacterWalkSpeed
LocalPlayer_upvr.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Jumping, true)
LocalPlayer_upvr.Character.Humanoid.AutoRotate = true
LocalPlayer_upvr.Character.Collide.CanCollide = true
LocalPlayer_upvr.Character.Torso.CanCollide = true
_G._root:SetAttribute("ragdoll", false)
_G._root:SetAttribute("ignoreRoot", false)
movementController_upvr:SetAttribute("canSprint", true)
script:SetAttribute("toggle", false)
workspace.CurrentCamera.CameraSubject = LocalPlayer_upvr.Character.Humanoid
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:08
-- Luau version 6, Types version 3
-- Time taken: 0.001560 seconds
local module = {}
local References_upvr = _G._engine.References
function module.raycast(arg1) -- Line 14
--[[ Upvalues[1]:
[1]: References_upvr (readonly)
]]
local Character = References_upvr.LocalPlayer.Character
local Position = Character.HumanoidRootPart.Position
local RaycastParams_new_result1 = RaycastParams.new()
RaycastParams_new_result1.FilterDescendantsInstances = {Character}
RaycastParams_new_result1.FilterType = Enum.RaycastFilterType.Exclude
RaycastParams_new_result1.IgnoreWater = true
if workspace:Raycast(Position, Character.HumanoidRootPart.CFrame.LookVector * -3.5, RaycastParams_new_result1) then
return "Back"
end
if workspace:Raycast(Position, Character.HumanoidRootPart.CFrame.LookVector * 3.5, RaycastParams_new_result1) then
return "Front"
end
return "Back"
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:09
-- Luau version 6, Types version 3
-- Time taken: 0.003120 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local module = {}
local References_upvr = _engine.References
function module.getRelativeDirection(arg1, arg2, arg3) -- Line 15
--[[ Upvalues[2]:
[1]: References_upvr (readonly)
[2]: Services_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
References_upvr.Main.rigs.FakeTorso:Clone().Parent = workspace.game.debug
local UpVector = workspace.CurrentCamera.CFrame * CFrame.new(1, 0, 1):ToObjectSpace(arg2).UpVector
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [83] 58. Error Block 118 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [83] 58. Error Block 118 end (CF ANALYSIS FAILED)
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:11
-- Luau version 6, Types version 3
-- Time taken: 0.000311 seconds
return {}
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:14
-- Luau version 6, Types version 3
-- Time taken: 0.270138 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local main_upvr = References_upvr.PlayerGui:WaitForChild("main", 100)
local mobile_upvr = main_upvr:WaitForChild("mobile", 100)
local gamepad_upvr = main_upvr:WaitForChild("gamepad", 100)
local getUp_upvr = script.Parent:WaitForChild("getUp", 100)
local any_load_result1_upvr = _engine:load("Maid")
local any_load_result1_upvr_7 = _engine:load("Sounds")
local any_load_result1_upvr_8 = _engine:load("Balls")
local any_load_result1_upvr_2 = _engine:load("MouseLock")
local any_new_result1_upvr = _engine:load("Network").new()
local any_new_result1_upvr_6 = _engine:load("Notification").new()
local visuals = script.Parent.Parent:WaitForChild("visuals")
local module_upvr_3 = require(visuals:WaitForChild("menu"):WaitForChild("pages"):WaitForChild("settings"):WaitForChild("settings"))
local controllers_upvr = script.Parent.Parent:WaitForChild("controllers")
local menu_upvr_2 = visuals:WaitForChild("menu", 100)
local module_upvr = require(visuals:WaitForChild("backpack", 100))
local RaycastParams_new_result1_3 = RaycastParams.new()
RaycastParams_new_result1_3.FilterType = Enum.RaycastFilterType.Include
RaycastParams_new_result1_3.FilterDescendantsInstances = {workspace.pitch}
local tbl_13_upvr = {"Head", "UpperTorso", "LowerTorso", "RightUpperArm", "RightLowerArm", "RightHand", "LeftUpperArm", "LeftLowerArm", "LeftHand", "RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide", "Torso", "HumanoidRootPart"}
local function _(arg1) -- Line 56, Named "normalizeSkillName"
if type(arg1) ~= "string" then
return nil
end
return string.lower(arg1):gsub("%s+", ""):gsub("[^%w]", "")
end
local function _(arg1, arg2) -- Line 67, Named "categoriesMatch"
if not arg1 or not arg2 then
return false
end
if string.lower(arg1) ~= string.lower(arg2) then
else
end
return true
end
local module_upvr_2 = {
toolOrder = {"Kick", "Skills", "Tackle", "Pass", "GK", "Dribble"};
toolData = {};
mobileTools = {
Kick = {"Kick", "Driven", "Power Shot", "Header", "Finesse", "Volley", "Rabona", "Bicycle", "Trivela", "Scorpion", "Diving Header", "Scissor", "Karate", "Side Kick Right", "Side Kick Left"};
Dribble = {"Dribble", "Precision", "Tap Right", "Tap Left", "Flick Up", "Drag Back", "Chop Right", "Chop Left", "Stop Ball"};
Skills = {"Ball Roll", "Rainbow", "Side Flick", "Left Step Over", "Right Step Over", "Fake", "Roulette"};
Tackle = {"Tackle", "Slide Tackle", "Low Tackle", "Chest Control", "Block", "Chest Stop", "Straight Slide Tackle"};
Pass = {"Pass", "Side Pass Right", "Side Pass Left", "Lob Pass", "Lob Pass Right", "Lob Pass Left", "Backheel Pass", "Pass Request", "Chop Pass"};
GK = {"Clear", "Catch", "High Dive", "Low Dive", "Reflex", "Punch", "Throw", "Drop Ball"};
};
gamepadKeymap = {
outfield = {
[Enum.KeyCode.ButtonY] = "Dribble";
[Enum.KeyCode.ButtonB] = "Kick";
[Enum.KeyCode.ButtonX] = "Lob Pass";
[Enum.KeyCode.ButtonR2] = "Tap Right";
[Enum.KeyCode.ButtonL2] = "Tap Left";
[Enum.KeyCode.ButtonR1] = "Header";
[Enum.KeyCode.ButtonL1] = "Chest Control";
};
goalkeeper = {
[Enum.KeyCode.ButtonY] = "Catch";
[Enum.KeyCode.ButtonB] = "Clear";
[Enum.KeyCode.ButtonX] = "Throw";
[Enum.KeyCode.ButtonR1] = "Low Dive";
[Enum.KeyCode.ButtonR2] = "High Dive";
[Enum.KeyCode.ButtonL2] = "Punch";
[Enum.KeyCode.ButtonL1] = "Reflex";
};
misc = {
[Enum.KeyCode.ButtonL3] = "Mouse Lock";
[Enum.KeyCode.DPadDown] = "Switch Foot";
[Enum.KeyCode.DPadRight] = "Ball Camera";
};
};
gamepadBinds = {};
viewportSize = {
size = {
min = 850;
max = 1523;
};
scale = {
min = 0.6;
max = 1;
};
};
solidObjects = {"grass", "outer", "wall", "frame", "support", "support main", "support top", "ropes"};
holding = {
maid = any_load_result1_upvr.new();
animation = nil;
session = nil;
ball = nil;
};
friction = {
maid = any_load_result1_upvr.new();
};
wear = {
maid = any_load_result1_upvr.new();
};
mouseLock = {
maid = any_load_result1_upvr.new();
};
ballCam = {
toggle = false;
debounce = false;
};
magnus = {
right = {
L = 2.25;
R = 4.25;
};
left = {
L = 4.25;
R = 2.25;
};
none = {
L = 1.25;
R = 1.25;
};
};
ragdoll = require(script.Parent:WaitForChild("ragdoll", 100));
collisions = require(script.Parent:WaitForChild("collisions", 100));
getUpSystem = require(getUp_upvr);
movementController = controllers_upvr:WaitForChild("movementController");
maid = any_load_result1_upvr.new();
originalLimbSizes = {};
}
local function cancelRotation() -- Line 228
end
module_upvr_2.cancelRotation = cancelRotation
local function cancelMovement() -- Line 229
end
module_upvr_2.cancelMovement = cancelMovement
module_upvr_2.settingsConfig = module_upvr_3
module_upvr_2.angleBarSkillContext = nil
function module_upvr_2.SetAngleBarSkillContext(arg1, arg2, arg3) -- Line 233
if not arg2 then
else
if type(arg3) ~= "string" then
local _
else
end
if string.lower(arg3):gsub("%s+", ""):gsub("[^%w]", "") ~= "backspin" then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if string.lower(arg3):gsub("%s+", ""):gsub("[^%w]", "") ~= "topspin" then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if string.lower(arg3):gsub("%s+", ""):gsub("[^%w]", "") ~= "knuckle" then
else
end
end
end
if true and arg1.angleBarSkillContext and arg1.angleBarSkillContext.originalSkill then
local tbl_2 = {}
tbl_2.category = arg2
tbl_2.skill = arg3
tbl_2.originalSkill = arg1.angleBarSkillContext.originalSkill
arg1.angleBarSkillContext = tbl_2
return
end
local tbl_12 = {}
tbl_12.category = arg2
tbl_12.skill = arg3
tbl_12.originalSkill = arg3
arg1.angleBarSkillContext = tbl_12
end
end
function module_upvr_2.GetAngleBarSkillContext(arg1) -- Line 256
return arg1.angleBarSkillContext
end
function module_upvr_2.ClearAngleBarSkillContext(arg1) -- Line 260
arg1.angleBarSkillContext = nil
end
function module_upvr_2.IsAngleBarEnabledForTool(arg1, arg2, arg3, arg4) -- Line 264
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var63
local function INLINED_9() -- Internal function, doesn't exist in bytecode
var63 = _G._root:GetAttribute("AngleBarEnabled")
return var63
end
if not var63 or not INLINED_9() then
var63 = false
return var63
end
local function INLINED_10() -- Internal function, doesn't exist in bytecode
var63 = string.lower(arg2)
return var63
end
if type(arg2) ~= "string" or not INLINED_10() then
var63 = nil
end
if type(arg3) ~= "string" then
local _
else
end
if var63 == "kick" then
local function INLINED_11() -- Internal function, doesn't exist in bytecode
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return string.lower(arg3):gsub("%s+", ""):gsub("[^%w]", "") == "knuckle"
end
local function INLINED_12() -- Internal function, doesn't exist in bytecode
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
return string.lower(arg3):gsub("%s+", ""):gsub("[^%w]", "") == "stopball"
end
if string.lower(arg3):gsub("%s+", ""):gsub("[^%w]", "") == "powershot" or INLINED_11() or INLINED_12() then
do
return false
end
local var65
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x2)
local function INLINED_13() -- Internal function, doesn't exist in bytecode
local any_GetAngleBarSkillContext_result1_2 = arg1:GetAngleBarSkillContext()
return any_GetAngleBarSkillContext_result1_2
end
local function INLINED_14() -- Internal function, doesn't exist in bytecode
var65 = any_GetAngleBarSkillContext_result1_2.category
return var65
end
local function INLINED_15() -- Internal function, doesn't exist in bytecode
var65 = any_GetAngleBarSkillContext_result1_2.skill
return var65
end
local function INLINED_16() -- Internal function, doesn't exist in bytecode
var65 = string.lower(any_GetAngleBarSkillContext_result1_2.category)
return var65 == "kick"
end
if string.lower(arg3):gsub("%s+", ""):gsub("[^%w]", "") == "backspin" or string.lower(arg3):gsub("%s+", ""):gsub("[^%w]", "") == "topspin" or INLINED_13() and INLINED_14() and INLINED_15() and INLINED_16() then
local skill = any_GetAngleBarSkillContext_result1_2.skill
if type(skill) ~= "string" then
var65 = nil
else
var65 = string.lower(skill):gsub("%s+", ""):gsub("[^%w]", "")
end
if var65 == "knuckle" then
return false
end
end
if arg4 and arg4.spinType == "knuckle" then
return false
end
return true
end
if var63 == "tackle" then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if string.lower(arg3):gsub("%s+", ""):gsub("[^%w]", "") == "cheststop" then
return false
end
return false
end
if var63 == "pass" then
if arg4 and arg4.lobPass then
return false
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
if string.lower(arg3):gsub("%s+", ""):gsub("[^%w]", "") and string.lower(arg3):gsub("%s+", ""):gsub("[^%w]", ""):find("lobpass") then
return false
end
-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x2)
if string.lower(arg3):gsub("%s+", ""):gsub("[^%w]", "") == "backspin" or string.lower(arg3):gsub("%s+", ""):gsub("[^%w]", "") == "topspin" then
if arg4 and arg4.lobPass then
return false
end
local any_GetAngleBarSkillContext_result1_4 = arg1:GetAngleBarSkillContext()
if any_GetAngleBarSkillContext_result1_4 then
var65 = any_GetAngleBarSkillContext_result1_4.originalSkill
if var65 then
local originalSkill = any_GetAngleBarSkillContext_result1_4.originalSkill
if type(originalSkill) ~= "string" then
var65 = nil
else
var65 = string.lower(originalSkill):gsub("%s+", ""):gsub("[^%w]", "")
end
if var65 and var65:find("lobpass") then
return false
end
end
end
return true
end
return true
end
return false
end
local function getEffectiveInputMethod_upvr() -- Line 335, Named "getEffectiveInputMethod"
--[[ Upvalues[2]:
[1]: References_upvr (readonly)
[2]: Services_upvr (readonly)
]]
local Profile = References_upvr.Profile
if Profile and Profile.settings and Profile.settings.Visual then
local Input_Method = Profile.settings.Visual:FindFirstChild("Input Method")
if Input_Method then
local Value_3 = Input_Method.Value
print("[INPUT METHOD DEBUG] Found Input Method setting:", Value_3)
if Value_3 == "KBM" then
print("[INPUT METHOD DEBUG] Forcing KBM mode")
return "KBM"
end
if Value_3 == "Controller" then
print("[INPUT METHOD DEBUG] Forcing Controller mode")
return "Controller"
end
if Value_3 == "Mobile" then
print("[INPUT METHOD DEBUG] Forcing Mobile mode")
do
return "Touch"
end
-- KONSTANTWARNING: GOTO [62] #46
end
else
print("[INPUT METHOD DEBUG] Input Method setting not found")
end
else
print("[INPUT METHOD DEBUG] Profile or settings not found")
end
if Services_upvr.UserInputService.TouchEnabled then
print("[INPUT METHOD DEBUG] Hardware detection: Touch")
return "Touch"
end
if Services_upvr.UserInputService.GamepadEnabled then
print("[INPUT METHOD DEBUG] Hardware detection: Controller")
return "Controller"
end
print("[INPUT METHOD DEBUG] Hardware detection: KBM")
return "KBM"
end
local function updateLookAngleAttribute_upvr(arg1) -- Line 373, Named "updateLookAngleAttribute"
-- KONSTANTERROR: [0] 1. Error Block 25 start (CF ANALYSIS FAILED)
if not arg1.character or not arg1.character.Parent then return end
local humanoid = arg1.humanoid
-- KONSTANTERROR: [0] 1. Error Block 25 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [12] 9. Error Block 6 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [12] 9. Error Block 6 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [17] 12. Error Block 28 start (CF ANALYSIS FAILED)
if _G._root:GetAttribute("CurrentLookAngle_0_60") ~= nil then
_G._root:SetAttribute("CurrentLookAngle_0_60", nil)
end
do
return
end
-- KONSTANTERROR: [17] 12. Error Block 28 end (CF ANALYSIS FAILED)
end
getUp_upvr:GetAttributeChangedSignal("toggle"):Connect(function() -- Line 421
--[[ Upvalues[2]:
[1]: getUp_upvr (readonly)
[2]: module_upvr_2 (readonly)
]]
if getUp_upvr:GetAttribute("toggle") then
module_upvr_2.getUpSystem:start(module_upvr_2)
end
end)
local movementController_upvr = controllers_upvr:WaitForChild("movementController", 100)
script:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 427
--[[ Upvalues[6]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
[3]: module_upvr_2 (readonly)
[4]: movementController_upvr (readonly)
[5]: References_upvr (readonly)
[6]: any_new_result1_upvr (readonly)
]]
if script:GetAttribute("forceDisable") then
for _, v in next, LocalPlayer_upvr.Character.Humanoid.Animator:GetPlayingAnimationTracks() do
if v and not Services_upvr.StarterPlayer.StarterCharacterScripts.Animate:FindFirstChild(v.Name, true) then
v:Stop(0.1)
end
end
module_upvr_2:resetPowerBar()
movementController_upvr:SetAttribute("forceStop", true)
movementController_upvr:SetAttribute("canSprint", false)
script:SetAttribute("charging", false)
script:SetAttribute("globalOverride", true)
if module_upvr_2.holding.ball then
task.delay(2, function() -- Line 444
--[[ Upvalues[4]:
[1]: module_upvr_2 (copied, readonly)
[2]: References_upvr (copied, readonly)
[3]: LocalPlayer_upvr (copied, readonly)
[4]: any_new_result1_upvr (copied, readonly)
]]
if module_upvr_2.holding.ball then
if module_upvr_2.holding.animation then
module_upvr_2.holding.animation:Stop(0.2)
end
module_upvr_2.holding.maid:DoCleaning()
module_upvr_2.holding.ball = nil
module_upvr_2.holding.animation = nil
References_upvr.PlayerGui.UI.SixSecond.Visible = false
if LocalPlayer_upvr.Character.Ball.design:FindFirstChildWhichIsA("BasePart") then
LocalPlayer_upvr.Character.Ball.design:FindFirstChildWhichIsA("BasePart").Transparency = 1
end
any_new_result1_upvr:send("characterBall", 1)
end
end)
end
task.delay(5, function() -- Line 465
script:SetAttribute("forceDisable", false)
end)
end
end)
script:GetAttributeChangedSignal("resetTools"):Connect(function() -- Line 471
--[[ Upvalues[4]:
[1]: module_upvr_2 (readonly)
[2]: module_upvr (readonly)
[3]: Services_upvr (readonly)
[4]: updateLookAngleAttribute_upvr (readonly)
]]
if script:GetAttribute("resetTools") then
script:SetAttribute("resetTools", false)
script:SetAttribute("globalOverride", false)
script:SetAttribute("forceDisable", false)
module_upvr_2:tools(true)
print("[RESET TOOLS DEBUG] Reinitializing backpack system")
module_upvr:clear()
module_upvr:init()
pcall(function() -- Line 484
--[[ Upvalues[3]:
[1]: module_upvr_2 (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: updateLookAngleAttribute_upvr (copied, readonly)
]]
module_upvr_2.maid.LookAngleUpdate = Services_upvr.RunService.RenderStepped:Connect(function() -- Line 485
--[[ Upvalues[2]:
[1]: updateLookAngleAttribute_upvr (copied, readonly)
[2]: module_upvr_2 (copied, readonly)
]]
updateLookAngleAttribute_upvr(module_upvr_2)
end)
end)
end
end)
script:GetAttributeChangedSignal("disableMouseLock"):Connect(function() -- Line 492
--[[ Upvalues[2]:
[1]: any_load_result1_upvr_2 (readonly)
[2]: mobile_upvr (readonly)
]]
if script:GetAttribute("disableMouseLock") then
script:SetAttribute("disableMouseLock", false)
any_load_result1_upvr_2.Enabled = false
any_load_result1_upvr_2:Start(any_load_result1_upvr_2.Enabled)
mobile_upvr.contextToggleContainer.contextActionMouseLockButton.actionIcon.Image = any_load_result1_upvr_2.Icons.Disabled
end
end)
LocalPlayer_upvr.ChildAdded:Connect(function(arg1) -- Line 502
--[[ Upvalues[1]:
[1]: module_upvr_2 (readonly)
]]
if arg1 and arg1.Name == "react" then
while not arg1:GetAttribute("loaded") do
task.wait()
end
for _, v_2 in next, arg1:GetChildren() do
if v_2 and v_2:IsA("ValueBase") then
({})[v_2.Name] = v_2.Value
end
end
arg1:Destroy()
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
module_upvr_2:react({})
else
if arg1 and arg1.Name == "catch" then
task.wait()
arg1:Destroy()
module_upvr_2:catch({
ball = arg1.Value;
throwIn = true;
})
return
end
if arg1 and arg1.Name == "dropBall" then
task.wait()
arg1:Destroy()
module_upvr_2:drop()
return
end
if arg1 and arg1.Name == "stopAnimation" and module_upvr_2.holding.animation then
module_upvr_2.holding.animation:Stop()
end
end
end)
local function crash_upvr() -- Line 533, Named "crash"
local var93_upvw = 1
task.spawn(function() -- Line 588
--[[ Upvalues[1]:
[1]: var93_upvw (read and write)
]]
pcall(function() -- Line 589
--[[ Upvalues[1]:
[1]: var93_upvw (copied, read and write)
]]
var93_upvw = math.floor(1 / game:GetService("RunService").RenderStepped:Wait())
end)
end)
task.spawn(function() -- Line 593
--[[ Upvalues[1]:
[1]: var93_upvw (read and write)
]]
while true do
pcall(function() -- Line 595
--[[ Upvalues[1]:
[1]: var93_upvw (copied, read and write)
]]
var93_upvw = math.floor(1 / game:GetService("RunService").RenderStepped:Wait())
print(var93_upvw)
end)
end
end)
local function _(arg1) -- Line 602, Named "generateRandomString"
pcall(function() -- Line 603
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
local var101 = ""
for _ = 1, arg1 do
var101 = var101..utf8.char(math.random(0, 65535))
end
return var101
end)
end
local var103_upvw = 0
local var104_upvw = 0
local var105_upvw = 0
local var106_upvw = 0
local var107_upvw = 0
local var108_upvw = 0
local var109_upvw = 0
local var110_upvw = 0
local var111_upvw = 0
local var112_upvw = 0
local var113_upvw = 0
local var114_upvw = 0
local var115_upvw = 0
local var116_upvw = 0
local var117_upvw = 0
local var118_upvw = 0
local var119_upvw = 0
local var120_upvw = 0
local var121_upvw = 0
local var122_upvw = 0
local var123_upvw = 0
local var124_upvw = 0
local var125_upvw = 0
local var126_upvw = 0
local var127_upvw = 0
local var128_upvw = 0
local var129_upvw = 0
local var130_upvw = 0
local var131_upvw = 0
local var132_upvw = 0
local var133_upvw = 0
local var134_upvw = 0
local var135_upvw = 0
local var136_upvw = 0
local var137_upvw = 0
local var138_upvw = 0
local var139_upvw = 0
local var140_upvw = 0
local var141_upvw = 0
local var142_upvw = 0
local var143_upvw = 0
local var144_upvw = 0
local var145_upvw = 0
local var146_upvw = 0
local var147_upvw = 0
local var148_upvw = 0
local var149_upvw = 0
local var150_upvw = 0
local var151_upvw = 0
local var152_upvw = 0
local var153_upvw = 0
task.defer(function() -- Line 616
--[[ Upvalues[52]:
[1]: var93_upvw (read and write)
[2]: var103_upvw (read and write)
[3]: var104_upvw (read and write)
[4]: var105_upvw (read and write)
[5]: var106_upvw (read and write)
[6]: var107_upvw (read and write)
[7]: var108_upvw (read and write)
[8]: var109_upvw (read and write)
[9]: var110_upvw (read and write)
[10]: var111_upvw (read and write)
[11]: var112_upvw (read and write)
[12]: var113_upvw (read and write)
[13]: var114_upvw (read and write)
[14]: var115_upvw (read and write)
[15]: var116_upvw (read and write)
[16]: var117_upvw (read and write)
[17]: var118_upvw (read and write)
[18]: var119_upvw (read and write)
[19]: var120_upvw (read and write)
[20]: var121_upvw (read and write)
[21]: var122_upvw (read and write)
[22]: var123_upvw (read and write)
[23]: var124_upvw (read and write)
[24]: var125_upvw (read and write)
[25]: var126_upvw (read and write)
[26]: var127_upvw (read and write)
[27]: var128_upvw (read and write)
[28]: var129_upvw (read and write)
[29]: var130_upvw (read and write)
[30]: var131_upvw (read and write)
[31]: var132_upvw (read and write)
[32]: var133_upvw (read and write)
[33]: var134_upvw (read and write)
[34]: var135_upvw (read and write)
[35]: var136_upvw (read and write)
[36]: var137_upvw (read and write)
[37]: var138_upvw (read and write)
[38]: var139_upvw (read and write)
[39]: var140_upvw (read and write)
[40]: var141_upvw (read and write)
[41]: var142_upvw (read and write)
[42]: var143_upvw (read and write)
[43]: var144_upvw (read and write)
[44]: var145_upvw (read and write)
[45]: var146_upvw (read and write)
[46]: var147_upvw (read and write)
[47]: var148_upvw (read and write)
[48]: var149_upvw (read and write)
[49]: var150_upvw (read and write)
[50]: var151_upvw (read and write)
[51]: var152_upvw (read and write)
[52]: var153_upvw (read and write)
]]
for _ = 1, math.huge do
pcall(function() -- Line 618
--[[ Upvalues[52]:
[1]: var93_upvw (copied, read and write)
[2]: var103_upvw (copied, read and write)
[3]: var104_upvw (copied, read and write)
[4]: var105_upvw (copied, read and write)
[5]: var106_upvw (copied, read and write)
[6]: var107_upvw (copied, read and write)
[7]: var108_upvw (copied, read and write)
[8]: var109_upvw (copied, read and write)
[9]: var110_upvw (copied, read and write)
[10]: var111_upvw (copied, read and write)
[11]: var112_upvw (copied, read and write)
[12]: var113_upvw (copied, read and write)
[13]: var114_upvw (copied, read and write)
[14]: var115_upvw (copied, read and write)
[15]: var116_upvw (copied, read and write)
[16]: var117_upvw (copied, read and write)
[17]: var118_upvw (copied, read and write)
[18]: var119_upvw (copied, read and write)
[19]: var120_upvw (copied, read and write)
[20]: var121_upvw (copied, read and write)
[21]: var122_upvw (copied, read and write)
[22]: var123_upvw (copied, read and write)
[23]: var124_upvw (copied, read and write)
[24]: var125_upvw (copied, read and write)
[25]: var126_upvw (copied, read and write)
[26]: var127_upvw (copied, read and write)
[27]: var128_upvw (copied, read and write)
[28]: var129_upvw (copied, read and write)
[29]: var130_upvw (copied, read and write)
[30]: var131_upvw (copied, read and write)
[31]: var132_upvw (copied, read and write)
[32]: var133_upvw (copied, read and write)
[33]: var134_upvw (copied, read and write)
[34]: var135_upvw (copied, read and write)
[35]: var136_upvw (copied, read and write)
[36]: var137_upvw (copied, read and write)
[37]: var138_upvw (copied, read and write)
[38]: var139_upvw (copied, read and write)
[39]: var140_upvw (copied, read and write)
[40]: var141_upvw (copied, read and write)
[41]: var142_upvw (copied, read and write)
[42]: var143_upvw (copied, read and write)
[43]: var144_upvw (copied, read and write)
[44]: var145_upvw (copied, read and write)
[45]: var146_upvw (copied, read and write)
[46]: var147_upvw (copied, read and write)
[47]: var148_upvw (copied, read and write)
[48]: var149_upvw (copied, read and write)
[49]: var150_upvw (copied, read and write)
[50]: var151_upvw (copied, read and write)
[51]: var152_upvw (copied, read and write)
[52]: var153_upvw (copied, read and write)
]]
task.defer(function() -- Line 619
--[[ Upvalues[52]:
[1]: var93_upvw (copied, read and write)
[2]: var103_upvw (copied, read and write)
[3]: var104_upvw (copied, read and write)
[4]: var105_upvw (copied, read and write)
[5]: var106_upvw (copied, read and write)
[6]: var107_upvw (copied, read and write)
[7]: var108_upvw (copied, read and write)
[8]: var109_upvw (copied, read and write)
[9]: var110_upvw (copied, read and write)
[10]: var111_upvw (copied, read and write)
[11]: var112_upvw (copied, read and write)
[12]: var113_upvw (copied, read and write)
[13]: var114_upvw (copied, read and write)
[14]: var115_upvw (copied, read and write)
[15]: var116_upvw (copied, read and write)
[16]: var117_upvw (copied, read and write)
[17]: var118_upvw (copied, read and write)
[18]: var119_upvw (copied, read and write)
[19]: var120_upvw (copied, read and write)
[20]: var121_upvw (copied, read and write)
[21]: var122_upvw (copied, read and write)
[22]: var123_upvw (copied, read and write)
[23]: var124_upvw (copied, read and write)
[24]: var125_upvw (copied, read and write)
[25]: var126_upvw (copied, read and write)
[26]: var127_upvw (copied, read and write)
[27]: var128_upvw (copied, read and write)
[28]: var129_upvw (copied, read and write)
[29]: var130_upvw (copied, read and write)
[30]: var131_upvw (copied, read and write)
[31]: var132_upvw (copied, read and write)
[32]: var133_upvw (copied, read and write)
[33]: var134_upvw (copied, read and write)
[34]: var135_upvw (copied, read and write)
[35]: var136_upvw (copied, read and write)
[36]: var137_upvw (copied, read and write)
[37]: var138_upvw (copied, read and write)
[38]: var139_upvw (copied, read and write)
[39]: var140_upvw (copied, read and write)
[40]: var141_upvw (copied, read and write)
[41]: var142_upvw (copied, read and write)
[42]: var143_upvw (copied, read and write)
[43]: var144_upvw (copied, read and write)
[44]: var145_upvw (copied, read and write)
[45]: var146_upvw (copied, read and write)
[46]: var147_upvw (copied, read and write)
[47]: var148_upvw (copied, read and write)
[48]: var149_upvw (copied, read and write)
[49]: var150_upvw (copied, read and write)
[50]: var151_upvw (copied, read and write)
[51]: var152_upvw (copied, read and write)
[52]: var153_upvw (copied, read and write)
]]
for i_5 = 1, var93_upvw * 1000 do
var103_upvw += 1e+57
var104_upvw += 1e+57
var105_upvw += 1e+57
var106_upvw += 1e+57
var107_upvw += 1e+57
var108_upvw += 1e+57
var109_upvw += 1e+57
var110_upvw += 1e+57
var111_upvw += 1e+57
var112_upvw += 1e+57
var113_upvw += 1e+57
var114_upvw += 1e+57
var115_upvw += 1e+57
var116_upvw += 1e+57
var117_upvw += 1e+57
var118_upvw += 1e+57
var119_upvw += 1e+57
var120_upvw += 1e+57
var121_upvw += 1e+57
var122_upvw += 1e+57
var123_upvw += 1e+57
var124_upvw += 1e+57
var125_upvw += 1e+57
var126_upvw += 1e+57
var127_upvw += 1e+57
var128_upvw += 1e+57
var129_upvw += 1e+57
var130_upvw += 1e+57
var131_upvw += 1e+57
var132_upvw += 1e+57
var133_upvw += 1e+57
var134_upvw += 1e+57
var135_upvw += 1e+57
var136_upvw += 1e+57
var137_upvw += 1e+57
var138_upvw += 1e+57
var139_upvw += 1e+57
var140_upvw += 1e+57
var141_upvw += 1e+57
var142_upvw += 1e+57
var143_upvw += 1e+57
var144_upvw += 1e+57
var145_upvw += 1e+57
var146_upvw += 1e+57
var147_upvw += 1e+57
var148_upvw += 1e+57
var149_upvw += 1e+57
var150_upvw += 1e+57
var151_upvw += 1e+57
var152_upvw += 1e+57
var153_upvw += 1e+57
pcall(function() -- Line 675
task.defer(function() -- Line 676
local randint_upvr = math.random(100, 2000)
pcall(function() -- Line 603
--[[ Upvalues[1]:
[1]: randint_upvr (readonly)
]]
local var164 = ""
for _ = 1, randint_upvr do
var164 = var164..utf8.char(math.random(0, 65535))
end
return var164
end)
randint_upvr = print
randint_upvr(nil)
end)
end)
local var166_upvw = i_5 + 1e+57
pcall(function() -- Line 682
--[[ Upvalues[52]:
[1]: var103_upvw (copied, read and write)
[2]: var104_upvw (copied, read and write)
[3]: var105_upvw (copied, read and write)
[4]: var106_upvw (copied, read and write)
[5]: var107_upvw (copied, read and write)
[6]: var108_upvw (copied, read and write)
[7]: var109_upvw (copied, read and write)
[8]: var110_upvw (copied, read and write)
[9]: var166_upvw (read and write)
[10]: var111_upvw (copied, read and write)
[11]: var112_upvw (copied, read and write)
[12]: var113_upvw (copied, read and write)
[13]: var114_upvw (copied, read and write)
[14]: var115_upvw (copied, read and write)
[15]: var116_upvw (copied, read and write)
[16]: var117_upvw (copied, read and write)
[17]: var118_upvw (copied, read and write)
[18]: var119_upvw (copied, read and write)
[19]: var120_upvw (copied, read and write)
[20]: var121_upvw (copied, read and write)
[21]: var122_upvw (copied, read and write)
[22]: var123_upvw (copied, read and write)
[23]: var124_upvw (copied, read and write)
[24]: var125_upvw (copied, read and write)
[25]: var126_upvw (copied, read and write)
[26]: var127_upvw (copied, read and write)
[27]: var128_upvw (copied, read and write)
[28]: var129_upvw (copied, read and write)
[29]: var130_upvw (copied, read and write)
[30]: var131_upvw (copied, read and write)
[31]: var132_upvw (copied, read and write)
[32]: var133_upvw (copied, read and write)
[33]: var134_upvw (copied, read and write)
[34]: var135_upvw (copied, read and write)
[35]: var136_upvw (copied, read and write)
[36]: var137_upvw (copied, read and write)
[37]: var138_upvw (copied, read and write)
[38]: var139_upvw (copied, read and write)
[39]: var140_upvw (copied, read and write)
[40]: var141_upvw (copied, read and write)
[41]: var142_upvw (copied, read and write)
[42]: var143_upvw (copied, read and write)
[43]: var144_upvw (copied, read and write)
[44]: var145_upvw (copied, read and write)
[45]: var146_upvw (copied, read and write)
[46]: var147_upvw (copied, read and write)
[47]: var148_upvw (copied, read and write)
[48]: var149_upvw (copied, read and write)
[49]: var150_upvw (copied, read and write)
[50]: var151_upvw (copied, read and write)
[51]: var152_upvw (copied, read and write)
[52]: var153_upvw (copied, read and write)
]]
print(var103_upvw, var104_upvw, var105_upvw, var106_upvw, var107_upvw, var108_upvw, var109_upvw, var110_upvw, var166_upvw, var111_upvw, var112_upvw, var113_upvw, var114_upvw, var115_upvw, var116_upvw, var117_upvw, var118_upvw, var119_upvw, var120_upvw, var121_upvw, var122_upvw, var123_upvw, var124_upvw, var125_upvw, var126_upvw, var127_upvw, var128_upvw, var129_upvw, var130_upvw, var131_upvw, var132_upvw, var133_upvw, var134_upvw, var135_upvw, var136_upvw, var137_upvw, var138_upvw, var139_upvw, var140_upvw, var141_upvw, var142_upvw, var143_upvw, var144_upvw, var145_upvw, var146_upvw, var147_upvw, var148_upvw, var149_upvw, var150_upvw, var151_upvw, var152_upvw, var153_upvw)
end)
end
end)
end)
task.wait()
end
end)
end
local tbl_7_upvr = {}
local var168_upvr = "func_239473481"..math.random(0, 9).."163103"
tbl_7_upvr[var168_upvr] = function(arg1, arg2) -- Line 697
--[[ Upvalues[1]:
[1]: module_upvr_2 (readonly)
]]
local RaycastParams_new_result1 = RaycastParams.new()
RaycastParams_new_result1.FilterDescendantsInstances = {module_upvr_2.character, workspace.pitch, workspace.game, workspace.spawns}
RaycastParams_new_result1.FilterType = Enum.RaycastFilterType.Exclude
local workspace_Raycast_result1 = workspace:Raycast(Vector3.new(arg1.Position.X, arg2.Position.Y, arg1.Position.Z), module_upvr_2.character.HumanoidRootPart.CFrame.LookVector * 4, RaycastParams_new_result1)
if workspace_Raycast_result1 and _G._services.Players:GetPlayerFromCharacter(workspace_Raycast_result1.Instance.Parent) and workspace_Raycast_result1.Instance.Name == "Shield" then
return false
end
return true
end
function module_upvr_2.overlapCheck(arg1, arg2, arg3, arg4, arg5) -- Line 717
--[[ Upvalues[2]:
[1]: module_upvr_2 (readonly)
[2]: tbl_13_upvr (readonly)
]]
if arg4 then
return true
end
local OverlapParams_new_result1_3 = OverlapParams.new()
OverlapParams_new_result1_3.FilterDescendantsInstances = {module_upvr_2.character, workspace.pitch, workspace.game.regions}
OverlapParams_new_result1_3.FilterType = Enum.RaycastFilterType.Exclude
for _, v_3 in pairs(tbl_13_upvr) do
for i_8, v_4 in pairs(module_upvr_2.originalLimbSizes) do
if v_3 == i_8 then
for _, v_5 in workspace:GetPartBoundsInBox(arg2.CFrame, Vector3.new(v_4[1], v_4[2], v_4[3]) * Vector3.new(1.10000, 1.10000, 1.10000), OverlapParams_new_result1_3) do
if v_5 and v_5:GetAttribute("possessor") and v_5 == arg3 then
return true
end
end
end
end
end
return false
end
local function _(arg1, arg2, arg3) -- Line 741, Named "lerp"
return arg1 + (arg2 - arg1) * arg3
end
local function cancelMovement(arg1, arg2, arg3) -- Line 745
--[[ Upvalues[2]:
[1]: module_upvr_2 (readonly)
[2]: any_load_result1_upvr (readonly)
]]
local HumanoidRootPart_5_upvr = module_upvr_2.character:WaitForChild("HumanoidRootPart", 100)
local function movementCancellation_upvr(arg1_2, ...) -- Line 748, Named "movementCancellation"
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: HumanoidRootPart_5_upvr (readonly)
[3]: arg3 (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 27 start (CF ANALYSIS FAILED)
local var197
if arg1_2 then
local var198 = arg1
var198.Velocity *= 0
return
end
local args_list = {...}
if not ... then
var197 = workspace
table.insert(args_list, var197.pitch)
end
local RaycastParams_new_result1_2 = RaycastParams.new()
local tbl_5 = {}
var197 = args_list
tbl_5[1] = table.unpack(var197)
RaycastParams_new_result1_2.FilterDescendantsInstances = tbl_5
RaycastParams_new_result1_2.FilterType = Enum.RaycastFilterType.Include
local var202_upvw = Vector3.new(1, 1, 1)
var197 = arg1
var197 = next
for _, v_6_upvr in var197, {'X', 'Y', 'Z'} do
if workspace:Raycast(HumanoidRootPart_5_upvr.Position, var197.Velocity * Vector3.FromAxis(v_6_upvr), RaycastParams_new_result1_2) then
task.spawn(function() -- Line 770
--[[ Upvalues[2]:
[1]: var202_upvw (read and write)
[2]: v_6_upvr (readonly)
]]
var202_upvw -= Vector3.FromAxis(v_6_upvr)
end)
end
end
var197 = arg3
if var197 then
var197 = arg3
var197(false, var202_upvw)
-- KONSTANTWARNING: GOTO [95] #69
end
-- KONSTANTERROR: [0] 1. Error Block 27 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [89] 65. Error Block 24 start (CF ANALYSIS FAILED)
var197 = arg1
var197.Velocity *= var202_upvw
if var202_upvw ~= Vector3.new(1, 1, 1) then
var197 = false
else
var197 = true
end
do
return var197
end
-- KONSTANTERROR: [89] 65. Error Block 24 end (CF ANALYSIS FAILED)
end
for _, v_7 in pairs(module_upvr_2.character:GetChildren()) do
if v_7:IsA("BasePart") and v_7.CanCollide then
local any_new_result1_upvr_7 = any_load_result1_upvr.new()
local function onTouched(arg1_3) -- Line 789
--[[ Upvalues[3]:
[1]: module_upvr_2 (copied, readonly)
[2]: any_new_result1_upvr_7 (readonly)
[3]: movementCancellation_upvr (readonly)
]]
if module_upvr_2:isSolidObject(arg1_3) then
any_new_result1_upvr_7:DoCleaning()
movementCancellation_upvr(false, arg1_3)
end
end
any_new_result1_upvr_7.onTouched = v_7.Touched:Connect(onTouched)
any_new_result1_upvr_7.onTouchEnded = v_7.TouchEnded:Connect(onTouched)
end
end
function module_upvr_2.cancelMovement() -- Line 801
--[[ Upvalues[2]:
[1]: movementCancellation_upvr (readonly)
[2]: module_upvr_2 (copied, readonly)
]]
movementCancellation_upvr(true)
function module_upvr_2.cancelMovement() -- Line 803
end
end
end
function module_upvr_2.getBall(arg1, arg2) -- Line 807
local Part = Instance.new("Part")
Part.Transparency = 1
Part.Name = "RF"
Part.Size = Vector3.new(1.75, 1.75, 1.75)
Part.Shape = Enum.PartType.Ball
Part.Parent = workspace.game
Part:SetAttribute("lastTouch", 0)
Part:SetAttribute("network", 0)
Part:SetAttribute("networkOwner", 0)
Part:SetAttribute("possessor", 0)
Part.CollisionGroup = "1_balls"
Part.CanCollide = false
Part.Position = arg2
Instance.new("Folder", Part).Name = "design"
Instance.new("Folder", Part).Name = "network"
Instance.new("Folder", Part).Name = "properties"
Instance.new("Folder", Part).Name = "replication"
Instance.new("Attachment", Part).Name = "centre"
Instance.new("VectorForce", Part).Name = "gravity"
Instance.new("BodyGyro", Part).Name = "friction"
return Part
end
function module_upvr_2.relativeMoveDirection(arg1, arg2, arg3, arg4) -- Line 839
if arg3 ~= nil then
local LookVector = arg4.CFrame.LookVector
local RightVector_3 = arg4.CFrame.RightVector
local any_Dot_result1_2 = LookVector:Dot(arg3, LookVector)
local any_Dot_result1 = RightVector_3:Dot(arg3, RightVector_3)
if any_Dot_result1_2 <= 1 and 0.75 <= any_Dot_result1_2 then
return "Front"
end
if -1 <= any_Dot_result1_2 and any_Dot_result1_2 <= -0.75 then
return "Back"
end
if any_Dot_result1 <= 1 and 0.75 <= any_Dot_result1 then
return "Right"
end
if -1 <= any_Dot_result1 and any_Dot_result1 <= -0.75 then
return "Left"
end
if any_Dot_result1_2 <= 1 and 0.5 <= any_Dot_result1_2 and any_Dot_result1 <= 1 and 0.5 <= any_Dot_result1 then
return "FrontRight"
end
if any_Dot_result1_2 <= 1 and 0.5 <= any_Dot_result1_2 and -1 <= any_Dot_result1 and any_Dot_result1 <= -0.5 then
return "FrontLeft"
end
if -1 <= any_Dot_result1_2 and any_Dot_result1_2 <= -0.5 and any_Dot_result1 <= 1 and 0.5 <= any_Dot_result1 then
return "BackRight"
end
if -1 <= any_Dot_result1_2 and any_Dot_result1_2 <= -0.5 and -1 <= any_Dot_result1 and any_Dot_result1 <= -0.5 then
return "BackLeft"
end
return "Idle"
end
end
function module_upvr_2.tools(arg1, arg2) -- Line 873
--[[ Upvalues[13]:
[1]: mobile_upvr (readonly)
[2]: module_upvr (readonly)
[3]: getEffectiveInputMethod_upvr (readonly)
[4]: main_upvr (readonly)
[5]: Services_upvr (readonly)
[6]: LocalPlayer_upvr (readonly)
[7]: any_load_result1_upvr_2 (readonly)
[8]: References_upvr (readonly)
[9]: any_load_result1_upvr_8 (readonly)
[10]: any_new_result1_upvr_6 (readonly)
[11]: any_load_result1_upvr (readonly)
[12]: gamepad_upvr (readonly)
[13]: menu_upvr_2 (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 185 start (CF ANALYSIS FAILED)
arg1.maid:DoCleaning()
for i_12, v_8 in next, arg1.toolData do
if i_12 and v_8 then
v_8.activeMaid:DoCleaning()
v_8.activeController:clear()
end
end
mobile_upvr.contextToggleContainer.contextActionLegButton.actionTitle.Text = script:GetAttribute("currentFoot")
table.clear(arg1.toolData)
-- KONSTANTERROR: [0] 1. Error Block 185 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [60] 40. Error Block 7 start (CF ANALYSIS FAILED)
module_upvr:clear()
module_upvr:init()
-- KONSTANTERROR: [60] 40. Error Block 7 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [68] 46. Error Block 8 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [68] 46. Error Block 8 end (CF ANALYSIS FAILED)
end
function module_upvr_2.initializeGamepadBindings(arg1) -- Line 1846
--[[ Upvalues[1]:
[1]: References_upvr (readonly)
]]
while not References_upvr.Profile:GetAttribute("Loaded") and tick() - tick() <= 5 do
task.wait()
end
if not References_upvr.Profile:GetAttribute("Loaded") then
warn("Root: Profile not loaded, skipping gamepad bindings initialization")
else
arg1.gamepadBinds.initialized = true
print("Root: Gamepad bindings initialized from profile template")
end
end
function module_upvr_2.getGamepadBinding(arg1, arg2, arg3, arg4) -- Line 1864
--[[ Upvalues[1]:
[1]: References_upvr (readonly)
]]
if not References_upvr.Profile:GetAttribute("Loaded") or not arg1.gamepadBinds.initialized then
if arg4 and arg1.gamepadKeymap[arg4] then
for i_13, v_9 in pairs(arg1.gamepadKeymap[arg4]) do
if v_9 == arg3 then
return i_13
end
end
end
return nil
end
local SOME_4 = References_upvr.Profile.binds:FindFirstChild(arg2)
if not SOME_4 then
return nil
end
local SOME = SOME_4:FindFirstChild(arg3.." (Gamepad)")
if SOME then
local Value_2 = SOME.Value
if Enum.KeyCode[Value_2] then
return Enum.KeyCode[Value_2]
end
end
return nil
end
local menu_upvr = References_upvr.PlayerGui:WaitForChild("menu", 100)
local bootstrapper_upvr = References_upvr.PlayerGui:WaitForChild("bootstrapper", 100)
local any_load_result1_upvr_5 = _engine:load("CoreMethods", "utils")
local MouseLockController_upvr = LocalPlayer_upvr.PlayerScripts:WaitForChild("PlayerModule", 100).CameraModule.MouseLockController
function module_upvr_2.init(arg1, arg2, arg3) -- Line 1896
--[[ Upvalues[20]:
[1]: module_upvr_2 (readonly)
[2]: module_upvr_3 (readonly)
[3]: tbl_13_upvr (readonly)
[4]: any_new_result1_upvr (readonly)
[5]: LocalPlayer_upvr (readonly)
[6]: main_upvr (readonly)
[7]: References_upvr (readonly)
[8]: menu_upvr (readonly)
[9]: module_upvr (readonly)
[10]: mobile_upvr (readonly)
[11]: bootstrapper_upvr (readonly)
[12]: Services_upvr (readonly)
[13]: getEffectiveInputMethod_upvr (readonly)
[14]: gamepad_upvr (readonly)
[15]: updateLookAngleAttribute_upvr (readonly)
[16]: any_load_result1_upvr_5 (readonly)
[17]: MouseLockController_upvr (readonly)
[18]: any_load_result1_upvr_8 (readonly)
[19]: menu_upvr_2 (readonly)
[20]: any_new_result1_upvr_6 (readonly)
]]
module_upvr_2.settingsConfig = module_upvr_3
module_upvr_2.originalLimbSizes = {}
local function characterAdded(arg1_4) -- Line 1901
--[[ Upvalues[15]:
[1]: tbl_13_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: any_new_result1_upvr (copied, readonly)
[4]: LocalPlayer_upvr (copied, readonly)
[5]: main_upvr (copied, readonly)
[6]: module_upvr_2 (copied, readonly)
[7]: References_upvr (copied, readonly)
[8]: menu_upvr (copied, readonly)
[9]: module_upvr (copied, readonly)
[10]: mobile_upvr (copied, readonly)
[11]: bootstrapper_upvr (copied, readonly)
[12]: Services_upvr (copied, readonly)
[13]: getEffectiveInputMethod_upvr (copied, readonly)
[14]: gamepad_upvr (copied, readonly)
[15]: updateLookAngleAttribute_upvr (copied, readonly)
]]
if not arg1_4 or not arg1_4.Name then
local const_string_upvr = "UnknownCharacter"
end
for i_14, v_10 in pairs(_G._services.StarterPlayer.StarterCharacter:GetChildren()) do
if v_10:IsA("BasePart") then
for var430, var429 in pairs(tbl_13_upvr) do
if string.match(v_10.Name, var429) then
arg1.originalLimbSizes[v_10.Name] = {v_10.Size.X, v_10.Size.Y, v_10.Size.Z}
end
end
end
end
if arg1.character and arg1.character == arg1_4 then
else
local tbl_8 = {}
i_14 = "Humanoid"
v_10 = "HumanoidRootPart"
tbl_8[1] = i_14
tbl_8[2] = v_10
for _, v_26 in next, tbl_8 do
while not arg1_4:FindFirstChild(v_26) do
task.wait()
end
end
local Humanoid_2 = arg1_4:WaitForChild("Humanoid", 100)
while not Humanoid_2:FindFirstChild("Animator") do
task.wait()
end
Humanoid_2:SetStateEnabled(Enum.HumanoidStateType.Ragdoll, false)
Humanoid_2:SetStateEnabled(Enum.HumanoidStateType.Climbing, false)
Humanoid_2:SetStateEnabled(Enum.HumanoidStateType.FallingDown, false)
Humanoid_2:SetStateEnabled(Enum.HumanoidStateType.GettingUp, false)
task.spawn(function() -- Line 1937
--[[ Upvalues[1]:
[1]: arg1_4 (readonly)
]]
task.wait(1)
arg1_4:WaitForChild("Collide", 100).CollisionGroup = "3_torso"
arg1_4:WaitForChild("Torso", 100).CollisionGroup = "3_torso"
arg1_4:WaitForChild("PostCollider", 100).CollisionGroup = "16_postCollider"
arg1_4:WaitForChild("Ball", 100).CollisionGroup = "8_fakeBall"
end)
if arg1.holding.ball and arg1.holding.ball.Parent then
local any_getClientBall_result1_2 = arg1:getClientBall(arg1.holding.ball)
if any_getClientBall_result1_2.design:FindFirstChildWhichIsA("BasePart") then
any_getClientBall_result1_2.design:FindFirstChildWhichIsA("BasePart").Transparency = 0
end
var430 = arg1
any_new_result1_upvr:send("ballModel", var430.holding.ball, 0)
end
arg1.holding.maid:DoCleaning()
arg1.holding.ball = nil
arg1.holding.animation = nil
arg1.holding.session = nil
script:SetAttribute("catchCooldown", false)
if LocalPlayer_upvr.UserId ~= 206130108 and LocalPlayer_upvr.UserId ~= 2731804921 then
Humanoid_2:SetStateEnabled(Enum.HumanoidStateType.Swimming, false)
end
local OverlapParams_new_result1_2 = OverlapParams.new()
OverlapParams_new_result1_2.FilterType = Enum.RaycastFilterType.Include
;({})[1] = arg1_4
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
OverlapParams_new_result1_2.FilterDescendantsInstances = {}
var430 = _G
main_upvr.selection.Visible = var430._references.Main.config.Countdown:GetAttribute("enabled")
var429 = _G._references
var430 = var429.Main
main_upvr.selection.timer.Text = tostring(var430.config.Countdown.Value)
arg1.overlapParams = OverlapParams_new_result1_2
arg1.character = arg1_4
arg1.humanoid = Humanoid_2
arg1.animator = Humanoid_2:WaitForChild("Animator", 100)
task.spawn(function() -- Line 1978
--[[ Upvalues[3]:
[1]: module_upvr_2 (copied, readonly)
[2]: arg1 (copied, readonly)
[3]: const_string_upvr (readonly)
]]
local pcall_result1_3, pcall_result2_9 = pcall(function() -- Line 1979
--[[ Upvalues[2]:
[1]: module_upvr_2 (copied, readonly)
[2]: arg1 (copied, readonly)
]]
if _G._references and _G._references.Main and _G._references.Main.animations and _G._references.Main.animations.Tools then
local Tools_3 = _G._references.Main.animations.Tools
for _, v_27 in ipairs(module_upvr_2.toolOrder) do
if module_upvr_2.mobileTools[v_27] and Tools_3:FindFirstChild(v_27) then
for _, v_28 in ipairs(module_upvr_2.mobileTools[v_27]) do
local SOME_2_upvr = Tools_3[v_27]:FindFirstChild(v_28)
if SOME_2_upvr and SOME_2_upvr:IsA("Animation") then
local pcall_result1_25, pcall_result2_29 = pcall(function() -- Line 1989
--[[ Upvalues[2]:
[1]: arg1 (copied, readonly)
[2]: SOME_2_upvr (readonly)
]]
return arg1.animator:LoadAnimation(SOME_2_upvr)
end)
if not pcall_result1_25 then
warn("Failed to preload animation:", v_27, v_28, pcall_result2_29)
end
end
end
end
end
else
warn("Animation structure _G._references.Main.animations.Tools not found for preloading.")
end
end)
if not pcall_result1_3 then
warn("Root: characterAdded - ERROR in Preload Tool Animations task.spawn for char: "..const_string_upvr..": "..tostring(pcall_result2_9))
end
end)
if References_upvr.PlayerGui:WaitForChild("region", 100) and References_upvr.PlayerGui:WaitForChild("region", 100):WaitForChild("region", 100) then
var429 = References_upvr.Main.config.Region
var430 = var429.Value
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
References_upvr.PlayerGui:WaitForChild("region", 100):WaitForChild("region", 100).Text = "Real Futbol 24 ? "..string.upper(var430)
end
var430 = 'R'
script:SetAttribute("currentFoot", var430)
var430 = false
script:SetAttribute("globalOverride", var430)
var430 = false
script:SetAttribute("charging", var430)
var430 = false
script:SetAttribute("ragdoll", var430)
local pcall_result1_8, pcall_result2_25 = pcall(function() -- Line 2022
--[[ Upvalues[1]:
[1]: menu_upvr (copied, readonly)
]]
for _, v_29 in next, menu_upvr:GetDescendants() do
if v_29:FindFirstChildWhichIsA("UIScale") and v_29:FindFirstChild("scaleable") then
if workspace.CurrentCamera then
v_29:FindFirstChildWhichIsA("UIScale").Scale = 0.5 + (0.7) * (math.clamp(workspace.CurrentCamera.ViewportSize.Y - 374, 0, 705) / 705)
else
warn("Root: characterAdded - Menu scaling skipped, CurrentCamera not available.")
end
end
end
end)
if not pcall_result1_8 then
var430 = "Root: characterAdded - Error during menu UI scaling:"
var429 = pcall_result2_25
warn(var430, var429)
end
arg1:tools()
var430 = LocalPlayer_upvr
if var430.Team then
var429 = LocalPlayer_upvr
var430 = var429.Team
if var430.Name == "Referee" then
if module_upvr then
module_upvr:clear()
end
var430 = 0.5
function var429() -- Line 2050
--[[ Upvalues[4]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: References_upvr (copied, readonly)
[3]: arg1 (copied, readonly)
[4]: module_upvr (copied, readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [4] 4. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [4] 4. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [118] 82. Error Block 19 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [118] 82. Error Block 19 end (CF ANALYSIS FAILED)
end
task.delay(var430, var429)
end
end
function var430() -- Line 2101
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: any_new_result1_upvr (copied, readonly)
[3]: const_string_upvr (readonly)
]]
local pcall_result1_24, pcall_result2_18 = pcall(function() -- Line 2102
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: any_new_result1_upvr (copied, readonly)
[3]: const_string_upvr (copied, readonly)
]]
task.delay(2, function() -- Line 2103
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: any_new_result1_upvr (copied, readonly)
[3]: const_string_upvr (copied, readonly)
]]
local pcall_result1_10, pcall_result2_28 = pcall(function() -- Line 2104
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: any_new_result1_upvr (copied, readonly)
]]
if LocalPlayer_upvr.TeamColor == BrickColor.new("Navy blue") or LocalPlayer_upvr.TeamColor == BrickColor.new("Maroon") then
any_new_result1_upvr:send("gloves", 0)
else
any_new_result1_upvr:send("gloves", 1)
end
end)
if not pcall_result1_10 then
warn("Root: characterAdded - Error INSIDE 'gloves' task.delay function for char: "..const_string_upvr..':', pcall_result2_28)
end
end)
end)
if not pcall_result1_24 then
warn("Root: characterAdded - Error sending gloves network call:", pcall_result2_18)
end
end
local pcall_result1_2, pcall_result2_23 = pcall(var430)
if not pcall_result1_2 then
var429 = warn
var429("Root: characterAdded - ERROR in outer_pcall for gloves task for char: "..const_string_upvr..": "..tostring(pcall_result2_23))
end
var429 = pcall
local function var440() -- Line 2156
--[[ Upvalues[6]:
[1]: arg1 (copied, readonly)
[2]: main_upvr (copied, readonly)
[3]: References_upvr (copied, readonly)
[4]: menu_upvr (copied, readonly)
[5]: mobile_upvr (copied, readonly)
[6]: bootstrapper_upvr (copied, readonly)
]]
local pcall_result1_23, pcall_result2_19 = pcall(function() -- Line 2157
--[[ Upvalues[6]:
[1]: arg1 (copied, readonly)
[2]: main_upvr (copied, readonly)
[3]: References_upvr (copied, readonly)
[4]: menu_upvr (copied, readonly)
[5]: mobile_upvr (copied, readonly)
[6]: bootstrapper_upvr (copied, readonly)
]]
arg1.maid.countdownToggle = _G._references.Main.config.Countdown:GetAttributeChangedSignal("enabled"):Connect(function() -- Line 2158
--[[ Upvalues[1]:
[1]: main_upvr (copied, readonly)
]]
if main_upvr and main_upvr:FindFirstChild("selection") then
main_upvr.selection.Visible = _G._references.Main.config.Countdown:GetAttribute("enabled")
else
warn("Root: characterAdded - main.selection not found for countdown toggle.")
end
end)
arg1.maid.countdownChanged = _G._references.Main.config.Countdown.Changed:Connect(function() -- Line 2166
--[[ Upvalues[1]:
[1]: main_upvr (copied, readonly)
]]
if main_upvr and main_upvr:FindFirstChild("selection") and main_upvr.selection:FindFirstChild("timer") then
main_upvr.selection.timer.Text = tostring(_G._references.Main.config.Countdown.Value)
else
warn("Root: characterAdded - main.selection.timer not found for countdown change.")
end
end)
arg1.maid.regionChanged = References_upvr.Main.config.Region.Changed:Connect(function() -- Line 2174
--[[ Upvalues[1]:
[1]: References_upvr (copied, readonly)
]]
local var446 = References_upvr.PlayerGui:FindFirstChild("region")
if var446 then
var446 = References_upvr.PlayerGui:FindFirstChild("region"):FindFirstChild("region")
end
if var446 then
var446.Text = "RF24 BETA "..string.upper(References_upvr.Main.config.Region.Value)
else
warn("Root: characterAdded - Region label not found.")
end
end)
arg1.maid.viewportSizeChanged = workspace.CurrentCamera:GetPropertyChangedSignal("ViewportSize"):Connect(function() -- Line 2184
--[[ Upvalues[5]:
[1]: menu_upvr (copied, readonly)
[2]: mobile_upvr (copied, readonly)
[3]: main_upvr (copied, readonly)
[4]: arg1 (copied, readonly)
[5]: bootstrapper_upvr (copied, readonly)
]]
if not workspace.CurrentCamera then
warn("Root: characterAdded - ViewportSizeChanged skipped, CurrentCamera not available.")
else
if menu_upvr then
for i_36, v_31 in next, menu_upvr:GetDescendants() do
if v_31:FindFirstChildWhichIsA("UIScale") and v_31:FindFirstChild("scaleable") then
v_31:FindFirstChildWhichIsA("UIScale").Scale = 0.5 + (0.7) * (math.clamp(workspace.CurrentCamera.ViewportSize.Y - 374, 0, 705) / 705)
end
end
else
warn("Root: characterAdded - Menu not found for viewport size scaling.")
end
if mobile_upvr and mobile_upvr:FindFirstChild("contextTabContainer") and mobile_upvr.contextTabContainer:FindFirstChild("UIScale") then
i_36 = workspace
if 1000 <= i_36.CurrentCamera.ViewportSize.Magnitude then
i_36 = 0.5
mobile_upvr.contextTabContainer.AnchorPoint = Vector2.new(1, i_36)
i_36 = 0
v_31 = 0.5
mobile_upvr.contextTabContainer.Position = UDim2.new(1, i_36, v_31, 0)
mobile_upvr.contextTabContainer.UIScale.Scale = 1.25
-- KONSTANTWARNING: GOTO [126] #93
end
elseif mobile_upvr then
warn("Root: characterAdded - mobile.contextTabContainer or its UIScale not found.")
end
if main_upvr then
for _, v_32 in next, main_upvr:GetDescendants() do
if v_32:FindFirstChildWhichIsA("UIScale") and v_32:FindFirstChild("scaleable") then
local min = arg1.viewportSize.scale.min
v_32:FindFirstChildWhichIsA("UIScale").Scale = min + (arg1.viewportSize.scale.max - min) * (math.clamp(workspace.CurrentCamera.ViewportSize.Magnitude - arg1.viewportSize.size.min, 0, arg1.viewportSize.size.max) / (arg1.viewportSize.size.max - arg1.viewportSize.size.min))
end
end
else
warn("Root: characterAdded - Main GUI not found for viewport size scaling.")
end
if bootstrapper_upvr then
for _, v_33 in next, bootstrapper_upvr:GetDescendants() do
if v_33:FindFirstChildWhichIsA("UIScale") and v_33:FindFirstChild("scaleable") then
local var461 = arg1.viewportSize.scale.min - 0.1
v_33:FindFirstChildWhichIsA("UIScale").Scale = var461 + (arg1.viewportSize.scale.max - var461) * (math.clamp(workspace.CurrentCamera.ViewportSize.Magnitude - arg1.viewportSize.size.min, 0, arg1.viewportSize.size.max) / (arg1.viewportSize.size.max - arg1.viewportSize.size.min))
end
end
return
end
warn("Root: characterAdded - Bootstrapper GUI not found for viewport size scaling.")
end
end)
end)
if not pcall_result1_23 then
warn("Root: characterAdded - Error during config signal connections:", pcall_result2_19)
end
end
var429 = var429(var440)
local var429_result1, var429_result2 = var429(var440)
if not var429_result1 then
warn("Root: characterAdded - ERROR in outer_pcall for config signals for char: "..const_string_upvr..": "..tostring(var429_result2))
end
local pcall_result1_27, pcall_result2_4 = pcall(function() -- Line 2253
--[[ Upvalues[5]:
[1]: arg1 (copied, readonly)
[2]: arg1_4 (readonly)
[3]: LocalPlayer_upvr (copied, readonly)
[4]: Services_upvr (copied, readonly)
[5]: module_upvr_2 (copied, readonly)
]]
arg1.maid.attributeChangedSignal_inBox = function() -- Line 2254
--[[ Upvalues[5]:
[1]: arg1_4 (copied, readonly)
[2]: arg1 (copied, readonly)
[3]: LocalPlayer_upvr (copied, readonly)
[4]: Services_upvr (copied, readonly)
[5]: module_upvr_2 (copied, readonly)
]]
local pcall_result1_5, pcall_result2_15 = pcall(function() -- Line 2255
--[[ Upvalues[5]:
[1]: arg1_4 (copied, readonly)
[2]: arg1 (copied, readonly)
[3]: LocalPlayer_upvr (copied, readonly)
[4]: Services_upvr (copied, readonly)
[5]: module_upvr_2 (copied, readonly)
]]
if not arg1_4 then
warn("Root: attributeChangedSignal_inBox - newCharacter is nil. Skipping inBox connection.")
else
local any_Connect_result1_upvr_2 = arg1_4:GetAttributeChangedSignal("inBox"):Connect(function() -- Line 2260
--[[ Upvalues[5]:
[1]: arg1_4 (copied, readonly)
[2]: arg1 (copied, readonly)
[3]: LocalPlayer_upvr (copied, readonly)
[4]: Services_upvr (copied, readonly)
[5]: module_upvr_2 (copied, readonly)
]]
local function INLINED_18() -- Internal function, doesn't exist in bytecode
task.wait(0.5)
return arg1.holding.ball
end
if not arg1_4:GetAttribute("inBox") and arg1.holding.ball and (LocalPlayer_upvr.TeamColor == BrickColor.new("Navy blue") or LocalPlayer_upvr.TeamColor == BrickColor.new("Maroon") or LocalPlayer_upvr.TeamColor == BrickColor.new("Institutional white")) or INLINED_18() then
if LocalPlayer_upvr.Character and LocalPlayer_upvr.Character:FindFirstChildOfClass("Humanoid") and LocalPlayer_upvr.Character.Humanoid:FindFirstChildOfClass("Animator") then
for _, v_34 in next, LocalPlayer_upvr.Character.Humanoid.Animator:GetPlayingAnimationTracks() do
if v_34 and Services_upvr.StarterPlayer and Services_upvr.StarterPlayer.StarterCharacterScripts and Services_upvr.StarterPlayer.StarterCharacterScripts:FindFirstChild("Animate") and not Services_upvr.StarterPlayer.StarterCharacterScripts.Animate:FindFirstChild(v_34.Name, true) then
v_34:Stop(0.1)
end
end
end
module_upvr_2:resetPowerBar()
script:SetAttribute("charging", false)
arg1:drop()
end
end)
arg1.maid:GiveTask(function() -- Line 2280
--[[ Upvalues[1]:
[1]: any_Connect_result1_upvr_2 (readonly)
]]
if any_Connect_result1_upvr_2 and any_Connect_result1_upvr_2.Connected then
any_Connect_result1_upvr_2:Disconnect()
end
end)
end
end)
if not pcall_result1_5 then
warn("Error connecting to inBox attribute changed signal:", pcall_result2_15)
end
end
if arg1.maid.attributeChangedSignal_inBox then
arg1.maid.attributeChangedSignal_inBox()
end
arg1.maid.attributeChangedSignal_inBox = nil
end)
if not pcall_result1_27 then
warn("Root: characterAdded - ERROR in outer_pcall for inBox signal for char: "..const_string_upvr..": "..tostring(pcall_result2_4))
end
arg1.maid.teamChangedSignal = LocalPlayer_upvr:GetPropertyChangedSignal("Team"):Connect(function() -- Line 2298
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: any_new_result1_upvr (copied, readonly)
]]
task.delay(2, function() -- Line 2299
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: any_new_result1_upvr (copied, readonly)
]]
local pcall_result1_15, pcall_result2_7 = pcall(function() -- Line 2300
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: any_new_result1_upvr (copied, readonly)
]]
if LocalPlayer_upvr.TeamColor == BrickColor.new("Navy blue") or LocalPlayer_upvr.TeamColor == BrickColor.new("Maroon") then
any_new_result1_upvr:send("gloves", 0)
else
any_new_result1_upvr:send("gloves", 1)
end
end)
if not pcall_result1_15 then
warn("Root: characterAdded - Error in teamChangedSignal task.delay for gloves: "..tostring(pcall_result2_7))
end
end)
end)
local pcall_result1_28, pcall_result2_20 = pcall(function() -- Line 2313
--[[ Upvalues[7]:
[1]: getEffectiveInputMethod_upvr (copied, readonly)
[2]: mobile_upvr (copied, readonly)
[3]: LocalPlayer_upvr (copied, readonly)
[4]: main_upvr (copied, readonly)
[5]: arg1 (copied, readonly)
[6]: bootstrapper_upvr (copied, readonly)
[7]: gamepad_upvr (copied, readonly)
]]
local pcall_result1_29, pcall_result2_21 = pcall(function() -- Line 2314
--[[ Upvalues[7]:
[1]: getEffectiveInputMethod_upvr (copied, readonly)
[2]: mobile_upvr (copied, readonly)
[3]: LocalPlayer_upvr (copied, readonly)
[4]: main_upvr (copied, readonly)
[5]: arg1 (copied, readonly)
[6]: bootstrapper_upvr (copied, readonly)
[7]: gamepad_upvr (copied, readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local getEffectiveInputMethod_result1 = getEffectiveInputMethod_upvr()
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [367] 254. Error Block 53 start (CF ANALYSIS FAILED)
warn("Root: characterAdded - workspace.CurrentCamera not found for bootstrapper UI scaling.")
do
return
end
-- KONSTANTERROR: [367] 254. Error Block 53 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [372] 258. Error Block 72 start (CF ANALYSIS FAILED)
if getEffectiveInputMethod_result1 == "Controller" then
if gamepad_upvr then
gamepad_upvr.Visible = true
return
end
warn("Root: characterAdded - Gamepad UI not found.")
end
-- KONSTANTERROR: [372] 258. Error Block 72 end (CF ANALYSIS FAILED)
end)
if not pcall_result1_29 then
warn("Root: characterAdded - Error during mobile/gamepad UI setup:", pcall_result2_21)
end
end)
if not pcall_result1_28 then
warn("Root: characterAdded - ERROR in outer_pcall for UI setup for char: "..const_string_upvr..": "..tostring(pcall_result2_20))
end
local pcall_result1_22, pcall_result2_12 = pcall(function() -- Line 2408
--[[ Upvalues[3]:
[1]: arg1 (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: updateLookAngleAttribute_upvr (copied, readonly)
]]
local pcall_result1_9, pcall_result2_2 = pcall(function() -- Line 2409
--[[ Upvalues[3]:
[1]: arg1 (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: updateLookAngleAttribute_upvr (copied, readonly)
]]
arg1.maid.LookAngleUpdate = Services_upvr.RunService.RenderStepped:Connect(function() -- Line 2410
--[[ Upvalues[2]:
[1]: updateLookAngleAttribute_upvr (copied, readonly)
[2]: arg1 (copied, readonly)
]]
updateLookAngleAttribute_upvr(arg1)
end)
end)
if not pcall_result1_9 then
warn("Root: characterAdded - Error connecting LookAngleUpdate:", pcall_result2_2)
end
end)
if not pcall_result1_22 then
warn("Root: characterAdded - ERROR in outer_pcall for LookAngleUpdate for char: "..const_string_upvr..": "..tostring(pcall_result2_12))
end
end
end
characterAdded(LocalPlayer_upvr.Character)
LocalPlayer_upvr.CharacterAdded:Connect(characterAdded)
script:SetAttribute("rootOffset", Services_upvr.StarterPlayer.StarterCharacter.LowerTorso.CFrame:ToObjectSpace(Services_upvr.StarterPlayer.StarterCharacter.HumanoidRootPart.CFrame))
any_load_result1_upvr_5:SetCoreGui("SetCore", "ResetButtonCallback", false)
MouseLockController_upvr.BoundKeys.Value = References_upvr.Profile.binds.Misc["Mouse Lock"].Value
References_upvr.Profile.binds.Misc["Mouse Lock"].Changed:Connect(function() -- Line 2434
--[[ Upvalues[2]:
[1]: MouseLockController_upvr (copied, readonly)
[2]: References_upvr (copied, readonly)
]]
MouseLockController_upvr.BoundKeys.Value = References_upvr.Profile.binds.Misc["Mouse Lock"].Value
end)
if getEffectiveInputMethod_upvr() == "Controller" then
task.spawn(function() -- Line 2441
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1:initializeGamepadBindings()
end)
end
Services_upvr.UserInputService.GamepadConnected:Connect(function() -- Line 2447
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if not arg1.gamepadBinds.initialized then
task.spawn(function() -- Line 2449
--[[ Upvalues[1]:
[1]: arg1 (copied, readonly)
]]
arg1:initializeGamepadBindings()
end)
end
end)
any_load_result1_upvr_8.BallRemoved:Connect(function(arg1_5) -- Line 2455
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: References_upvr (copied, readonly)
[3]: LocalPlayer_upvr (copied, readonly)
[4]: any_new_result1_upvr (copied, readonly)
]]
if arg1_5 == arg1.holding.ball then
if arg1.holding.animation then
arg1.holding.animation:Stop(0.2)
end
arg1.holding.maid:DoCleaning()
arg1.holding.ball = nil
arg1.holding.animation = nil
References_upvr.PlayerGui.UI.SixSecond.Visible = false
if LocalPlayer_upvr.Character.Ball.design:FindFirstChildWhichIsA("BasePart") then
LocalPlayer_upvr.Character.Ball.design:FindFirstChildWhichIsA("BasePart").Transparency = 1
end
any_new_result1_upvr:send("characterBall", 1)
end
end)
Services_upvr.UserInputService.InputBegan:Connect(function(arg1_6, arg2_2) -- Line 2475
--[[ Upvalues[6]:
[1]: Services_upvr (copied, readonly)
[2]: References_upvr (copied, readonly)
[3]: menu_upvr_2 (copied, readonly)
[4]: arg1 (readonly)
[5]: any_load_result1_upvr_8 (copied, readonly)
[6]: any_new_result1_upvr_6 (copied, readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 33 start (CF ANALYSIS FAILED)
if arg2_2 or Services_upvr.UserInputService:GetFocusedTextBox() then return end
-- KONSTANTERROR: [0] 1. Error Block 33 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [15] 11. Error Block 6 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [15] 11. Error Block 6 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [19] 13. Error Block 7 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [19] 13. Error Block 7 end (CF ANALYSIS FAILED)
end)
arg1.maid.characterRemoving = LocalPlayer_upvr.CharacterRemoving:Connect(function(arg1_7) -- Line 2551
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1.maid:DoCleaning()
end)
end
function module_upvr_2.isSprinting(arg1) -- Line 2558
return _G._controllers.movementController:getAttribute("sprinting")
end
function module_upvr_2.isAirbourne(arg1) -- Line 2562
local var506 = true
if arg1.character.Humanoid:GetState() ~= Enum.HumanoidStateType.Jumping then
if arg1.character.Humanoid:GetState() ~= Enum.HumanoidStateType.Freefall then
var506 = false
else
var506 = true
end
end
return var506
end
function module_upvr_2.isHolding(arg1) -- Line 2566
return arg1.holding.ball
end
function module_upvr_2.isSolidObject(arg1, arg2) -- Line 2570
return table.find(arg1.solidObjects, string.lower(arg2.Name))
end
function module_upvr_2.getLookVector(arg1, arg2) -- Line 2574
return CFrame.new(Vector3.new(), workspace.CurrentCamera.CFrame.LookVector * Vector3.new(1, 0, 1))
end
function module_upvr_2.getDeflectionVector(arg1, arg2, arg3, arg4) -- Line 2578
local FromAxis = Vector3.FromAxis
local var508
if arg4 then
var508 = Vector3.new(var508.X, var508.Y, math.clamp(var508.Z, arg1.character.HumanoidRootPart.Position.Z - 1, arg1.character.HumanoidRootPart.Position.Z + 1))
end
local var509 = arg2 - var508
if var509.Magnitude <= 0.00001 then
return CFrame.new(arg2)
end
local Unit_2 = var509.Unit
local any_Cross_result1 = FromAxis(Enum.Axis.Y):Cross(Unit_2)
if any_Cross_result1.Magnitude > 0.00001 then
local Unit = any_Cross_result1.Unit
return CFrame.fromMatrix(arg2, Unit, Unit_2:Cross(Unit).Unit, Unit_2).LookVector
end
if 0 >= Unit_2:Dot(FromAxis(Enum.Axis.Y)) or not CFrame.new(arg2.X, arg2.Y, arg2.Z, 0, 1, 0, 0, 0, 1, 1, 0, 0).LookVector then
local var513
end
if arg4 and (arg1.character.HumanoidRootPart.Position.Z <= -351.32 or 351.242 <= arg1.character.HumanoidRootPart.Position.Z) then
var513 += arg1.character.HumanoidRootPart.CFrame.LookVector * 10
end
return var513
end
function module_upvr_2.getClientBall(arg1, arg2) -- Line 2608
--[[ Upvalues[1]:
[1]: Services_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
if arg2 and arg2:FindFirstChild("properties") then
local var570
if var570 then
var570 = nil
for _, v_12 in next, arg2.Parent.Parent:GetChildren() do
if Services_upvr.CollectionService:HasTag(v_12, "SpawnersFolder") then
var570 = v_12
elseif Services_upvr.CollectionService:HasTag(v_12, "ClientBallsFolder") then
end
end
if var570 and v_12 then
for _, v_13 in next, var570:GetChildren() do
if v_13 and arg2.properties.spawner.Value == v_13 then
for _, v_14 in next, v_12:GetChildren() do
if v_14 and v_14:FindFirstChild("properties") and v_14.properties:FindFirstChild("spawner") and v_14.properties.spawner.Value == v_13 then
return v_14
end
end
end
end
end
end
end
end
function module_upvr_2.getNearestBall(arg1, arg2) -- Line 2634
--[[ Upvalues[1]:
[1]: any_load_result1_upvr_8 (readonly)
]]
local var590
for _, v_15 in next, any_load_result1_upvr_8.GetBalls(true), nil do
if v_15 then
local Magnitude_2 = (v_15.Position - arg1.character.HumanoidRootPart.Position).Magnitude
if Magnitude_2 <= math.huge and Magnitude_2 <= (arg2 or math.huge) then
end
end
end
return nil
end
function module_upvr_2.applyFriction(arg1, arg2) -- Line 2655
--[[ Upvalues[1]:
[1]: Services_upvr (readonly)
]]
local function onTouched_upvr(arg1_8, arg2_3) -- Line 2656, Named "onTouched"
--[[ Upvalues[3]:
[1]: arg2 (readonly)
[2]: arg1 (readonly)
[3]: Services_upvr (copied, readonly)
]]
if arg2 or not arg1:isSolidObject(arg1_8) or not arg1_8:FindFirstAncestor("Home") and not arg1_8:FindFirstAncestor("Away") or arg1_8.Name ~= "Grass" and arg1_8.Name ~= "Outer" or arg2 and string.lower(arg1_8.Name) == string.lower(arg2) then
arg1.friction.maid:DoCleaning()
for _, v_16 in next, arg1.character:GetDescendants() do
if v_16:IsA("BodyVelocity") then
v_16:Destroy()
end
end
for _, v_17 in next, arg1.character:GetChildren() do
if v_17:IsA("BasePart") then
v_17.AssemblyLinearVelocity = Vector3.new(0, 0, 0)
v_17.AssemblyAngularVelocity = Vector3.new(0, 0, 0)
end
end
local BodyVelocity_2 = Instance.new("BodyVelocity", arg1.character.HumanoidRootPart)
BodyVelocity_2.Velocity = Vector3.new(0, 0, 0)
BodyVelocity_2.MaxForce = Vector3.new(1, 1, 1) * math.huge
Services_upvr.Debris:AddItem(BodyVelocity_2, 0.15)
end
end
for _, v_18_upvr in next, arg1.character:GetChildren() do
if v_18_upvr.Name == "Head" or v_18_upvr.Name == "HumanoidRootPart" or string.find(v_18_upvr.Name, "Torso") or string.find(v_18_upvr.Name, "Arm") or string.find(v_18_upvr.Name, "Hand") then
for _, v_19 in next, v_18_upvr:GetTouchingParts() do
onTouched_upvr(v_19, v_18_upvr)
end
arg1.friction.maid[v_18_upvr.Name.."touched"] = v_18_upvr.Touched:Connect(function(arg1_9) -- Line 2686
--[[ Upvalues[2]:
[1]: onTouched_upvr (readonly)
[2]: v_18_upvr (readonly)
]]
onTouched_upvr(arg1_9, v_18_upvr)
end)
arg1.friction.maid[v_18_upvr.Name.."touchEnded"] = v_18_upvr.TouchEnded:Connect(function(arg1_10) -- Line 2690
--[[ Upvalues[2]:
[1]: onTouched_upvr (readonly)
[2]: v_18_upvr (readonly)
]]
onTouched_upvr(arg1_10, v_18_upvr)
end)
end
end
end
function module_upvr_2.chargeUp(arg1, arg2) -- Line 2697
--[[ Upvalues[4]:
[1]: any_load_result1_upvr (readonly)
[2]: Services_upvr (readonly)
[3]: LocalPlayer_upvr (readonly)
[4]: main_upvr (readonly)
]]
local any_new_result1_upvr_3 = any_load_result1_upvr.new()
if arg1.tween then
arg1.tween:Cancel()
arg1.tween = nil
end
if arg1.tween2 then
arg1.tween2:Cancel()
arg1.tween2 = nil
end
script:SetAttribute("charging", true)
arg1.tween = Services_upvr.TweenService:Create(LocalPlayer_upvr.PlayerGui:WaitForChild("UI", 100).Power.Bar, TweenInfo.new(arg2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
Size = UDim2.new(1, 0, 0, 0);
})
arg1.tween:Play()
arg1.tween2 = Services_upvr.TweenService:Create(main_upvr.framework.main.power.bar, TweenInfo.new(arg2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
Size = UDim2.new(0, 0, 1, 0);
})
arg1.tween2:Play()
any_new_result1_upvr_3.attributeChanged = script:GetAttributeChangedSignal("charging"):Connect(function() -- Line 2718
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: any_new_result1_upvr_3 (readonly)
]]
if arg1.tween then
arg1.tween:Pause()
end
if arg1.tween2 then
arg1.tween2:Pause()
end
any_new_result1_upvr_3:DoCleaning()
end)
end
function module_upvr_2.resetPowerBar(arg1) -- Line 2729
--[[ Upvalues[3]:
[1]: Services_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
[3]: main_upvr (readonly)
]]
if arg1.tween then
arg1.tween:Cancel()
arg1.tween = nil
end
if arg1.tween2 then
arg1.tween2:Cancel()
arg1.tween2 = nil
end
Services_upvr.TweenService:Create(LocalPlayer_upvr.PlayerGui:WaitForChild("UI", 100).Power.Bar, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
Size = UDim2.new(1, 0, 1, 0);
}):Play()
Services_upvr.TweenService:Create(main_upvr.framework.main.power.bar, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
Size = UDim2.new(-1, 0, 1, 0);
}):Play()
end
local any_load_result1_upvr_6 = _engine:load("ParticleEmitter")
function module_upvr_2.grassEffect(arg1, arg2) -- Line 2744
--[[ Upvalues[2]:
[1]: any_load_result1_upvr_6 (readonly)
[2]: References_upvr (readonly)
]]
any_load_result1_upvr_6:emit(arg2.Position, References_upvr.Main.effects.grass, {
enum = "lifeTime";
lifeTime = 0.15;
})
if References_upvr.Main.config.Weather.Value == "Rain" then
any_load_result1_upvr_6:emit(arg2.Position, References_upvr.Main.effects.water, {
enum = "lifeTime";
lifeTime = 0.15;
})
end
end
function module_upvr_2.grassStain(arg1, arg2) -- Line 2752
--[[ Upvalues[2]:
[1]: References_upvr (readonly)
[2]: any_new_result1_upvr (readonly)
]]
if References_upvr.Profile.settings.Visual["Grass Stains"].Value then
any_new_result1_upvr:send("grassStain", arg2)
end
end
function module_upvr_2.startPitchWear(arg1, arg2) -- Line 2758
--[[ Upvalues[4]:
[1]: References_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
[3]: Services_upvr (readonly)
[4]: any_new_result1_upvr (readonly)
]]
local var628 = arg2
if not var628 then
var628 = {}
var628[1] = "LowerTorso"
end
local var629 = var628
for _, v_20 in next, var629 do
if arg1.character:FindFirstChild(v_20) then
local var630_upvr = arg1.character[v_20]
local clone_upvr = References_upvr.Main.effects.wear:Clone()
clone_upvr.Parent = workspace.game.debug
clone_upvr.Name = LocalPlayer_upvr.Name.."_wear"
clone_upvr.CFrame = CFrame.new(Vector3.new(var630_upvr.Position.X, 0.568, var630_upvr.Position.Z)) * (arg1.character.HumanoidRootPart.CFrame - arg1.character.HumanoidRootPart.CFrame.Position)
arg1.wear.maid[var630_upvr.Name.."_update"] = Services_upvr.RunService.RenderStepped:Connect(function() -- Line 2771
--[[ Upvalues[2]:
[1]: clone_upvr (readonly)
[2]: var630_upvr (readonly)
]]
clone_upvr.attachment1.WorldPosition = Vector3.new(var630_upvr.Position.X, 0.371, var630_upvr.Position.Z)
end)
end
end
any_new_result1_upvr:send("startPitchWear", var629)
end
function module_upvr_2.endPitchWear(arg1) -- Line 2780
--[[ Upvalues[4]:
[1]: LocalPlayer_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
[3]: Services_upvr (readonly)
[4]: any_new_result1_upvr (readonly)
]]
arg1.wear.maid:DoCleaning()
for _, v_21_upvr in next, workspace.game.debug:GetChildren() do
if v_21_upvr.Name == LocalPlayer_upvr.Name.."_wear" then
task.delay(20, function() -- Line 2785
--[[ Upvalues[3]:
[1]: any_load_result1_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
[3]: v_21_upvr (readonly)
]]
local any_new_result1 = any_load_result1_upvr.new()
local NumberValue_upvr = Instance.new("NumberValue")
NumberValue_upvr.Value = 0
any_new_result1:GiveTask(NumberValue_upvr)
Services_upvr.TweenService:Create(NumberValue_upvr, TweenInfo.new(1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Value = 1;
}):Play()
any_new_result1.tween = Services_upvr.RunService.RenderStepped:Connect(function() -- Line 2794
--[[ Upvalues[2]:
[1]: v_21_upvr (copied, readonly)
[2]: NumberValue_upvr (readonly)
]]
if v_21_upvr:FindFirstChild("beam") then
v_21_upvr.beam.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0, NumberValue_upvr.Value), NumberSequenceKeypoint.new(0.5, NumberValue_upvr.Value), NumberSequenceKeypoint.new(1, NumberValue_upvr.Value)})
end
end)
task.wait(1.15)
any_new_result1:DoCleaning()
task.wait(1)
v_21_upvr:Destroy()
end)
end
end
any_new_result1_upvr:send("endPitchWear")
end
local any_load_result1_upvr_4 = _engine:load("TeamService", "utils")
local any_load_result1_upvr_3 = _engine:load("ThumbnailService", "utils")
function module_upvr_2.applyMarker(arg1, arg2) -- Line 2816
--[[ Upvalues[6]:
[1]: LocalPlayer_upvr (readonly)
[2]: any_new_result1_upvr (readonly)
[3]: References_upvr (readonly)
[4]: any_load_result1_upvr_4 (readonly)
[5]: any_load_result1_upvr_3 (readonly)
[6]: Services_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 32 start (CF ANALYSIS FAILED)
local children, _ = workspace.game.markers:GetChildren()
local var662
for _, v_22 in next, children, var662 do
if v_22.Name == LocalPlayer_upvr.Name then
v_22:Destroy()
end
end
var662 = "marker"
any_new_result1_upvr:send(var662, arg2)
var662 = References_upvr.Main
local clone = var662.ui.marker:Clone()
var662 = arg2.X
local vector3 = Vector3.new(var662, clone.PrimaryPart.Position.Y, arg2.Z)
var662 = LocalPlayer_upvr.TeamColor.Color
-- KONSTANTERROR: [0] 1. Error Block 32 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [63] 40. Error Block 34 start (CF ANALYSIS FAILED)
if string.find(LocalPlayer_upvr.Team.Name, "Home") then
var662 = any_load_result1_upvr_4:getTeamColorFromTeam("Home")
else
-- KONSTANTERROR: [80] 53. Error Block 29 start (CF ANALYSIS FAILED)
if LocalPlayer_upvr.Team and string.find(LocalPlayer_upvr.Team.Name, "Away") then
var662 = any_load_result1_upvr_4:getTeamColorFromTeam("Away")
end
-- KONSTANTERROR: [80] 53. Error Block 29 end (CF ANALYSIS FAILED)
end
clone.Template.Cross.Cross.ImageColor3 = var662
clone.Beam.Beam.Color = ColorSequence.new(var662, var662)
clone.Config.Icon.Value = any_load_result1_upvr_3:get(LocalPlayer_upvr.UserId)
clone.Config.MarkerColor.Value = var662
clone.Config.Distance.Value = math.floor((vector3 - arg1.character.HumanoidRootPart.Position).Magnitude + 0.5)
clone.Config.Position.Value = clone.PrimaryPart.Position
local Profile_2 = _G._references.Profile
local var666 = Profile_2
if var666 then
var666 = Profile_2.settings
if var666 then
var666 = Profile_2.settings.Visual
if var666 then
var666 = Profile_2.settings.Visual:FindFirstChild("Pass Markers")
end
end
end
if var666 then
if var666.Value == false then
clone:Destroy()
return
end
end
clone.Parent = workspace.game.markers
clone:SetPrimaryPartCFrame(CFrame.new(vector3))
clone.Name = LocalPlayer_upvr.Name
clone.Config.Enabled.Value = true
Services_upvr.Debris:AddItem(clone, 2)
-- KONSTANTERROR: [63] 40. Error Block 34 end (CF ANALYSIS FAILED)
end
function module_upvr_2.lockRoot(arg1, arg2) -- Line 2864
--[[ Upvalues[2]:
[1]: Services_upvr (readonly)
[2]: References_upvr (readonly)
]]
if arg2 and typeof(arg2) == "boolean" then
local HumanoidRootPart_3 = arg1.character.HumanoidRootPart
arg1.character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Physics, true)
arg1.character.Humanoid:ChangeState(Enum.HumanoidStateType.Physics)
local AlignOrientation_upvr_2 = Instance.new("AlignOrientation")
AlignOrientation_upvr_2.Mode = Enum.OrientationAlignmentMode.OneAttachment
AlignOrientation_upvr_2.Attachment0 = HumanoidRootPart_3:FindFirstChild("RootRigAttachment")
AlignOrientation_upvr_2.CFrame = HumanoidRootPart_3.CFrame
AlignOrientation_upvr_2.MaxTorque = 500000
AlignOrientation_upvr_2.Responsiveness = 40
AlignOrientation_upvr_2.Parent = HumanoidRootPart_3
arg1.mouseLock.maid:GiveTask(AlignOrientation_upvr_2)
arg1.character.Humanoid.AutoRotate = false
arg1.mouseLock.maid.heartbeat = Services_upvr.RunService.Heartbeat:Connect(function() -- Line 2883
--[[ Upvalues[2]:
[1]: AlignOrientation_upvr_2 (readonly)
[2]: arg1 (readonly)
]]
if not AlignOrientation_upvr_2 then
arg1.mouseLock.maid:DoCleaning()
else
AlignOrientation_upvr_2.CFrame = arg1:getLookVector()
end
end)
else
if arg2 then
AlignOrientation_upvr_2 = "Animation"
if arg2:IsA(AlignOrientation_upvr_2) then
AlignOrientation_upvr_2 = Enum.HumanoidStateType.Physics
arg1.character.Humanoid:SetStateEnabled(AlignOrientation_upvr_2, true)
AlignOrientation_upvr_2 = Enum.HumanoidStateType.Physics
arg1.character.Humanoid:ChangeState(AlignOrientation_upvr_2)
local AlignOrientation_upvr_3 = Instance.new("AlignOrientation")
AlignOrientation_upvr_3.Mode = Enum.OrientationAlignmentMode.OneAttachment
AlignOrientation_upvr_2 = arg1.character
AlignOrientation_upvr_3.Attachment0 = AlignOrientation_upvr_2.LowerTorso:FindFirstChild("RootRigAttachment")
AlignOrientation_upvr_2 = arg1.character.LowerTorso
AlignOrientation_upvr_3.CFrame = AlignOrientation_upvr_2.CFrame
AlignOrientation_upvr_3.MaxTorque = 500000
AlignOrientation_upvr_3.Responsiveness = 200
AlignOrientation_upvr_2 = arg1.character
AlignOrientation_upvr_3.Parent = AlignOrientation_upvr_2.LowerTorso
AlignOrientation_upvr_2 = References_upvr.Main.rigs
local clone_upvr_2 = AlignOrientation_upvr_2.FakeTorso:Clone()
AlignOrientation_upvr_2 = workspace.game.debug
clone_upvr_2.Parent = AlignOrientation_upvr_2
AlignOrientation_upvr_2 = clone_upvr_2:SetPrimaryPartCFrame
AlignOrientation_upvr_2(arg1.character.HumanoidRootPart.CFrame)
AlignOrientation_upvr_2 = clone_upvr_2.Humanoid.Animator:LoadAnimation(arg2):Play
AlignOrientation_upvr_2()
AlignOrientation_upvr_2 = arg1.mouseLock.maid:GiveTask
AlignOrientation_upvr_2(AlignOrientation_upvr_3)
AlignOrientation_upvr_2 = arg1.mouseLock.maid:GiveTask
AlignOrientation_upvr_2(clone_upvr_2)
AlignOrientation_upvr_2 = arg1.character.Humanoid
AlignOrientation_upvr_2.AutoRotate = false
AlignOrientation_upvr_2 = arg1.mouseLock.maid
AlignOrientation_upvr_2.heartbeat = Services_upvr.RunService.Heartbeat:Connect(function() -- Line 2913
--[[ Upvalues[3]:
[1]: AlignOrientation_upvr_3 (readonly)
[2]: arg1 (readonly)
[3]: clone_upvr_2 (readonly)
]]
if not AlignOrientation_upvr_3 then
arg1.mouseLock.maid:DoCleaning()
else
AlignOrientation_upvr_3.CFrame = clone_upvr_2.FakeTorso.CFrame
end
end)
return
end
end
if not arg2 then
clone_upvr_2 = arg1.mouseLock
AlignOrientation_upvr_3 = clone_upvr_2.maid:DoCleaning
AlignOrientation_upvr_3()
end
end
end
function module_upvr_2.dive(arg1, arg2) -- Line 2925
--[[ Upvalues[4]:
[1]: any_load_result1_upvr (readonly)
[2]: Services_upvr (readonly)
[3]: cancelMovement (readonly)
[4]: module_upvr_2 (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 71 start (CF ANALYSIS FAILED)
assert(arg2, "Root:dive() | table 'args' expected, got "..typeof(arg2))
local any_new_result1_upvr_4 = any_load_result1_upvr.new()
local sign_2 = math.sign(arg2.sign)
local var717 = 26
local var718
if arg2.moveType == "low" then
var717 += 2
end
local var719 = var717 * arg2.sign
local HumanoidRootPart_2 = arg1.character.HumanoidRootPart
local CFrame_2 = HumanoidRootPart_2.CFrame
local RightVector_2 = CFrame_2.RightVector
local UpVector_2 = CFrame_2.UpVector
var718 = 0
local _, _, _ = CFrame_2:ToEulerAnglesXYZ()
if arg2.moveType == "straight" then
local BodyVelocity_3 = Instance.new("BodyVelocity", HumanoidRootPart_2)
BodyVelocity_3.Velocity = UpVector_2 * 13
BodyVelocity_3.MaxForce = Vector3.new(0, math.huge, 0)
Services_upvr.Debris:AddItem(BodyVelocity_3, 0.3)
-- KONSTANTWARNING: GOTO [216] #154
end
-- KONSTANTERROR: [0] 1. Error Block 71 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [86] 60. Error Block 72 start (CF ANALYSIS FAILED)
local var728
if var728 == "straight low" then
var728 = Services_upvr.UserInputService:IsKeyDown(Enum.KeyCode.W)
if var728 then
var728 = CFrame_2.LookVector * 25
local BodyVelocity_10 = Instance.new("BodyVelocity", HumanoidRootPart_2)
BodyVelocity_10.Velocity = var728
BodyVelocity_10.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
Services_upvr.Debris:AddItem(BodyVelocity_10, 0.3)
-- KONSTANTWARNING: GOTO [216] #154
end
else
BodyVelocity_10 = arg1:isAirbourne
local var736
var736 = var736()
local function INLINED_20() -- Internal function, doesn't exist in bytecode
var728 = UpVector_2 * 9.5
return var728
end
if not var736 or not INLINED_20() then
var728 = UpVector_2 * 12.5
end
var736 = (RightVector_2) * (var719 / 2)
if arg2.moveType == "low" then
local const_number = 0.35
var736 -= UpVector_2 * -3
elseif arg2.moveType == "high" then
var736 += var728 / 2
end
local BodyVelocity_4 = Instance.new("BodyVelocity", HumanoidRootPart_2)
BodyVelocity_4.Velocity = var736
BodyVelocity_4.MaxForce = Vector3.new(1, 1, 1) * math.huge
Services_upvr.Debris:AddItem(BodyVelocity_4, const_number)
if arg2.moveType == "high" then
Services_upvr.TweenService:Create(BodyVelocity_4, TweenInfo.new(const_number, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Velocity = RightVector_2 * var719 + var728;
}):Play()
else
Services_upvr.TweenService:Create(BodyVelocity_4, TweenInfo.new(const_number, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Velocity = RightVector_2 * var719 - var728 / 3;
}):Play()
end
cancelMovement(BodyVelocity_4)
end
var728 = arg2.moveType
local var735
if var735 == "high" then
var736 = arg1:isAirbourne()
if var736 then
var735 = 80
else
var735 = 95
end
var736 = arg1:isAirbourne()
if var736 then
var735 = -17.5
else
var735 = -7.5
end
var718 = var735
else
var735 = arg2.moveType
if var735 == "low" then
var718 = 2
end
end
var736 = arg1.character
var736.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Physics, true)
var736 = arg1.character
var736.Humanoid:ChangeState(Enum.HumanoidStateType.Physics)
if arg2.moveType ~= "straight" then
if arg2.moveType ~= "straight low" then
HumanoidRootPart_2.AssemblyLinearVelocity = Vector3.new(0, 0, 0)
HumanoidRootPart_2.AssemblyAngularVelocity = Vector3.new(0, 0, 0)
end
end
function var736() -- Line 3029
--[[ Upvalues[2]:
[1]: arg2 (readonly)
[2]: arg1 (readonly)
]]
if arg2.moveType == "straight" then
arg1:applyFriction()
else
arg1:applyFriction("post")
end
end
task.spawn(var736)
var736 = math.rad(var718)
local var737_upvr = -var736
var736 = -math.rad(sign_2 * 0)
local var738_upvr = var736
local var739_upvr = -math.rad(110 * sign_2)
local var740 = CFrame_2 * CFrame.fromEulerAnglesXYZ(var737_upvr, var738_upvr, var739_upvr)
local _, _, _ = var740:ToEulerAnglesXYZ()
local AlignOrientation_upvr = Instance.new("AlignOrientation")
AlignOrientation_upvr.Mode = Enum.OrientationAlignmentMode.OneAttachment
AlignOrientation_upvr.Attachment0 = HumanoidRootPart_2:FindFirstChild("RootRigAttachment")
AlignOrientation_upvr.CFrame = var740
AlignOrientation_upvr.MaxTorque = 500000
AlignOrientation_upvr.Responsiveness = 10 / 0.8
AlignOrientation_upvr.Parent = HumanoidRootPart_2
arg1.character.Humanoid.AutoRotate = false
script:SetAttribute("diving", true)
script:SetAttribute("ignoreRoot", true)
any_new_result1_upvr_4.heartbeat = Services_upvr.RunService.Heartbeat:Connect(function() -- Line 3057
--[[ Upvalues[6]:
[1]: AlignOrientation_upvr (readonly)
[2]: any_new_result1_upvr_4 (readonly)
[3]: arg1 (readonly)
[4]: var737_upvr (readonly)
[5]: var738_upvr (readonly)
[6]: var739_upvr (readonly)
]]
if not AlignOrientation_upvr then
any_new_result1_upvr_4:DoCleaning()
else
local any_getLookVector_result1 = arg1:getLookVector()
local _, _, _ = any_getLookVector_result1:ToEulerAnglesXYZ()
AlignOrientation_upvr.CFrame = any_getLookVector_result1 * CFrame.fromEulerAnglesXYZ(var737_upvr, var738_upvr, var739_upvr)
end
end)
any_new_result1_upvr_4:GiveTask(function() -- Line 3072
--[[ Upvalues[2]:
[1]: AlignOrientation_upvr (readonly)
[2]: Services_upvr (copied, readonly)
]]
if AlignOrientation_upvr then
Services_upvr.Debris:AddItem(AlignOrientation_upvr, 0)
end
script:SetAttribute("diving", false)
end)
if not arg2.eternal then
task.delay(0.8, function() -- Line 3081
--[[ Upvalues[1]:
[1]: any_new_result1_upvr_4 (readonly)
]]
any_new_result1_upvr_4:DoCleaning()
end)
end
function module_upvr_2.cancelRotation() -- Line 3086
--[[ Upvalues[1]:
[1]: any_new_result1_upvr_4 (readonly)
]]
any_new_result1_upvr_4:DoCleaning()
end
do
return module_upvr_2.cancelRotation
end
-- KONSTANTERROR: [86] 60. Error Block 72 end (CF ANALYSIS FAILED)
end
function module_upvr_2.getCurveDirection(arg1, arg2) -- Line 3093
local ball_3 = arg2.ball
local var753 = ball_3.Position + Vector3.new(0, arg1.character.Torso.Position.Y - ball_3.Position.Y, 0)
local arccosine = math.acos(math.abs(arg1.character.Torso.CFrame.LookVector:Dot(var753 - arg1.character.Torso.Position)) / (var753 - arg1.character.Torso.Position).Magnitude)
local Magnitude_3 = (ball_3.Position - arg1.character.Magnus.Left.Position).Magnitude
local Magnitude = (ball_3.Position - arg1.character.Magnus.Right.Position).Magnitude
local var757
if 0.8726646259971648 < arccosine and Magnitude_3 <= Magnitude + 0.35 then
var757 = "left"
elseif 0.8726646259971648 < arccosine and Magnitude < Magnitude_3 then
var757 = "right"
end
if arg2.inverted and var757 == "right" then
var757 = "left"
elseif arg2.inverted and var757 == "left" then
var757 = "right"
end
return var757, math.abs(arg1.character.Torso.CFrame.RightVector:Dot(var753 - arg1.character.Torso.Position)) / arg1.magnus[var757][arg2.currentFoot]
end
function module_upvr_2.ankle(arg1, arg2) -- Line 3122
--[[ Upvalues[4]:
[1]: Services_upvr (readonly)
[2]: any_load_result1_upvr_7 (readonly)
[3]: References_upvr (readonly)
[4]: LocalPlayer_upvr (readonly)
]]
local var758 = "Back"
if Services_upvr.UserInputService:IsKeyDown(Enum.KeyCode.W) then
var758 = "Front"
elseif Services_upvr.UserInputService:IsKeyDown(Enum.KeyCode.D) then
var758 = "Right"
elseif Services_upvr.UserInputService:IsKeyDown(Enum.KeyCode.A) then
var758 = "Left"
end
local BodyVelocity_8 = Instance.new("BodyVelocity", arg1.character.HumanoidRootPart)
BodyVelocity_8.Velocity = arg1.character.HumanoidRootPart.AssemblyLinearVelocity
BodyVelocity_8.MaxForce = Vector3.new(1, 1, 1) * math.huge
task.spawn(function() -- Line 3139
while true do
task.wait()
if script:GetAttribute("ankle") then
script:SetAttribute("globalOverride", true)
else
script:SetAttribute("globalOverride", false)
return
end
end
end)
any_load_result1_upvr_7:load({
directory = arg1.character.HumanoidRootPart;
soundId = References_upvr.Main.sounds.Player.Ankle.SoundId;
rollOffMaxDistance = References_upvr.Main.sounds.Player.Ankle.RollOffMaxDistance;
rollOffMinDistance = References_upvr.Main.sounds.Player.Ankle.RollOffMinDistance;
volume = References_upvr.Main.sounds.Player.Ankle.Volume;
play = true;
replicate = true;
})
arg1:lockRoot(true)
script:SetAttribute("ankle", true)
workspace.CurrentCamera.CameraSubject = LocalPlayer_upvr.Character.Head
local any_LoadAnimation_result1_2_upvr = arg1.character:WaitForChild("Humanoid", 100):WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Ankle[var758])
any_LoadAnimation_result1_2_upvr.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1_2_upvr:Play(0.1, 8)
task.wait(0.4)
BodyVelocity_8:Destroy()
arg1:lockRoot(false)
arg1.ragdoll:toggle(true)
task.delay(0.1, function() -- Line 3176
--[[ Upvalues[1]:
[1]: any_LoadAnimation_result1_2_upvr (readonly)
]]
any_LoadAnimation_result1_2_upvr:Stop(0.2)
end)
task.wait(math.random(70, 135) / 100)
script:SetAttribute("ankle", false)
script:SetAttribute("globalOverride", false)
arg1.ragdoll:toggle(false)
end
function module_upvr_2.gkCheck(arg1, arg2) -- Line 3187
--[[ Upvalues[2]:
[1]: References_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
local var780
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [13] 9. Error Block 61 start (CF ANALYSIS FAILED)
for _, v_23 in next, workspace.game.regions:GetChildren() do
if v_23.Name == "home" then
for _, v_24 in next, workspace:GetPartBoundsInBox(v_23.CFrame, v_23.Size, arg1.overlapParams) do
if v_24 and v_24.Parent then
var780 = true
end
end
end
end
if LocalPlayer_upvr.TeamColor == BrickColor.new("Navy blue") or LocalPlayer_upvr.TeamColor == BrickColor.new("Maroon") or LocalPlayer_upvr.TeamColor == BrickColor.new("Institutional white") then
end
do
return var780
end
-- KONSTANTERROR: [13] 9. Error Block 61 end (CF ANALYSIS FAILED)
end
function module_upvr_2.catch(arg1, arg2) -- Line 3221
--[[ Upvalues[6]:
[1]: module_upvr_2 (readonly)
[2]: References_upvr (readonly)
[3]: Services_upvr (readonly)
[4]: LocalPlayer_upvr (readonly)
[5]: any_load_result1_upvr_7 (readonly)
[6]: any_new_result1_upvr (readonly)
]]
assert(arg2, "Root:catch() | table 'args' expected, got "..typeof(arg2))
local var785
if var785 then
else
var785 = nil
if arg1.character.HumanoidRootPart and typeof(arg1.character.HumanoidRootPart.Position) == "Vector3" then
var785 = module_upvr_2:getBall(arg1.character.HumanoidRootPart.Position)
else
return
end
if arg2.ball:GetAttribute("catch") or arg1:isHolding() then return end
if arg2.limb then
if 3.25 <= (arg2.limb.Position - arg1.character.HumanoidRootPart.Position).Magnitude then return end
end
if arg2.limb and 8 <= (arg2.ball.Position - arg2.limb.Position).Magnitude then return end
if var785 then
var785:Destroy()
end
if _G._references.Main.config.Override:FindFirstChild("Foul") and _G._references.Main.config.Override.Foul:FindFirstChild("Event") then
_G._references.Main.config.Override.Foul.Event:FireServer()
end
local animations = References_upvr.Main.animations
if arg2.diveCatch then
animations = "Default"
else
animations = References_upvr.Profile.inventory.Current["Ball Hold"].Value
end
local any_LoadAnimation_result1 = arg1.animator:LoadAnimation(animations.Ball[animations])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
local any_getClientBall_result1_4 = arg1:getClientBall(arg2.ball)
local any_GenerateGUID_result1_upvr = Services_upvr.HttpService:GenerateGUID(false)
arg1.cancelRotation()
arg1.cancelMovement()
arg2.ball.CollisionGroup = "1_balls"
arg2.ball.CanCollide = false
any_LoadAnimation_result1:Play(0.85, 5)
arg1.holding.animation = any_LoadAnimation_result1
arg1.holding.ball = arg2.ball
arg1.holding.session = any_GenerateGUID_result1_upvr
if LocalPlayer_upvr.TeamColor == BrickColor.new("Navy blue") or LocalPlayer_upvr.TeamColor == BrickColor.new("Maroon") then
task.spawn(function() -- Line 3275
--[[ Upvalues[3]:
[1]: arg1 (readonly)
[2]: any_GenerateGUID_result1_upvr (readonly)
[3]: LocalPlayer_upvr (copied, readonly)
]]
while arg1.holding.ball and arg1.holding.animation and arg1.holding.session == any_GenerateGUID_result1_upvr do
LocalPlayer_upvr.Character:SetAttribute("inBox", arg1:gkCheck())
task.wait(0.1)
end
end)
end
if LocalPlayer_upvr.Character.Ball.design:FindFirstChildWhichIsA("BasePart") then
LocalPlayer_upvr.Character.Ball.design:FindFirstChildWhichIsA("BasePart").Transparency = 0
end
if any_getClientBall_result1_4 and any_getClientBall_result1_4.design:FindFirstChildWhichIsA("BasePart") then
any_getClientBall_result1_4.design:FindFirstChildWhichIsA("BasePart").Transparency = 1
end
any_load_result1_upvr_7:load({
directory = arg2.ball;
soundId = References_upvr.Main.sounds.Ball.Catch.SoundId;
rollOffMaxDistance = References_upvr.Main.sounds.Ball.Catch.RollOffMaxDistance;
rollOffMinDistance = References_upvr.Main.sounds.Ball.Catch.RollOffMinDistance;
volume = References_upvr.Main.sounds.Ball.Catch.Volume;
play = true;
replicate = true;
})
if not any_new_result1_upvr:fetch("catch", {
ball = arg2.ball;
throwIn = arg2.throwIn;
cframe = arg2.ball.CFrame;
}) then
arg1.holding.maid:DoCleaning()
arg1.holding.ball = nil
arg1.holding.animation = nil
References_upvr.PlayerGui.UI.SixSecond.Visible = false
arg2.ball.CanCollide = true
any_LoadAnimation_result1:Stop(0.2)
if LocalPlayer_upvr.Character.Ball.design:FindFirstChildWhichIsA("BasePart") then
LocalPlayer_upvr.Character.Ball.design:FindFirstChildWhichIsA("BasePart").Transparency = 1
end
if any_getClientBall_result1_4.design:FindFirstChildWhichIsA("BasePart") then
any_getClientBall_result1_4.design:FindFirstChildWhichIsA("BasePart").Transparency = 0
end
end
task.spawn(function() -- Line 3329
--[[ Upvalues[4]:
[1]: arg2 (readonly)
[2]: References_upvr (copied, readonly)
[3]: arg1 (readonly)
[4]: any_GenerateGUID_result1_upvr (readonly)
]]
if not arg2.throwIn then
References_upvr.PlayerGui.UI.SixSecond.Visible = true
for i_34 = 6, 1, -1 do
if not arg1.holding.ball then break end
if not arg1.holding.session or arg1.holding.session ~= any_GenerateGUID_result1_upvr then break end
if not arg1.holding.session then break end
References_upvr.PlayerGui.UI.SixSecond.Label.Text = tostring(i_34)
task.wait(1)
end
if not arg1.Throwing then
i_34 = "charging"
if not script:GetAttribute(i_34) then
i_34 = "globalOverride"
if not script:GetAttribute(i_34) then
arg1:drop()
end
end
end
end
end)
end
end
function module_upvr_2.drop(arg1, arg2) -- Line 3349
--[[ Upvalues[3]:
[1]: References_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
[3]: any_new_result1_upvr (readonly)
]]
if arg1.holding.ball then
local ball_2 = arg1.holding.ball
local any_getClientBall_result1 = arg1:getClientBall(ball_2)
if arg1.holding.animation then
arg1.holding.animation:Stop(0.2)
end
arg1.holding.maid:DoCleaning()
arg1.holding.ball = nil
arg1.holding.animation = nil
arg1.holding.session = nil
References_upvr.PlayerGui.UI.SixSecond.Visible = false
task.spawn(function() -- Line 3365
script:SetAttribute("catchCooldown", true)
task.wait(3)
script:SetAttribute("catchCooldown", false)
end)
ball_2.CFrame = LocalPlayer_upvr.Character.Ball.CFrame
ball_2.CanCollide = true
ball_2.AssemblyLinearVelocity = Vector3.new()
ball_2.AssemblyAngularVelocity = Vector3.new()
if LocalPlayer_upvr.Character.Ball.design:FindFirstChildWhichIsA("BasePart") then
LocalPlayer_upvr.Character.Ball.design:FindFirstChildWhichIsA("BasePart").Transparency = 1
end
if any_getClientBall_result1.design:FindFirstChildWhichIsA("BasePart") then
any_getClientBall_result1.design:FindFirstChildWhichIsA("BasePart").Transparency = 0
end
for i_29, v_25 in next, ball_2:GetChildren() do
if v_25:IsA("AlignPosition") then
v_25:Destroy()
end
end
if arg2 and arg2.callback then
i_29 = {}
i_29.ball = ball_2
v_25 = true
i_29.callback = v_25
ball_2.AssemblyLinearVelocity = Vector3.new()
ball_2.AssemblyAngularVelocity = Vector3.new()
return true
end
i_29 = {}
i_29.ball = ball_2
any_new_result1_upvr:send("drop", i_29)
end
end
function module_upvr_2.gkReact(arg1, arg2) -- Line 3409
--[[ Upvalues[6]:
[1]: module_upvr_2 (readonly)
[2]: any_load_result1_upvr_7 (readonly)
[3]: References_upvr (readonly)
[4]: LocalPlayer_upvr (readonly)
[5]: any_new_result1_upvr (readonly)
[6]: Services_upvr (readonly)
]]
assert(arg2, "Root:gkReact() | table 'args' expected, got "..typeof(arg2))
local ball_4 = arg2.ball
if ball_4:GetAttribute("catch") and not arg2.ignoreHolding then
else
local var818
if arg1.character.HumanoidRootPart and typeof(arg1.character.HumanoidRootPart.Position) == "Vector3" then
var818 = module_upvr_2:getBall(arg1.character.HumanoidRootPart.Position)
else
return
end
if arg2.limb and 3.25 <= (arg2.limb.Position - arg1.character.HumanoidRootPart.Position).Magnitude then return end
if arg2.limb and 8 <= (ball_4.Position - arg2.limb.Position).Magnitude then return end
if var818 then
var818:Destroy()
end
if arg2.limb then
if arg1:overlapCheck(arg2.limb, arg2.ball) == false then
do
return
end
-- KONSTANTWARNING: GOTO [114] #76
end
else
return
end
arg2.reactType = "goalkeeper"
arg2.forceNetworkOwner = true
arg2.cframe = ball_4.CFrame
ball_4.Anchored = true
any_load_result1_upvr_7:load({
directory = ball_4;
soundId = References_upvr.Main.sounds.Ball.Block.SoundId;
rollOffMaxDistance = References_upvr.Main.sounds.Ball.Block.RollOffMaxDistance;
rollOffMinDistance = References_upvr.Main.sounds.Ball.Block.RollOffMinDistance;
volume = References_upvr.Main.sounds.Ball.Block.Volume;
play = true;
replicate = true;
})
if _G._references.Main.config.Override:FindFirstChild("Foul") and _G._references.Main.config.Override.Foul:FindFirstChild("Event") then
_G._references.Main.config.Override.Foul.Event:FireServer()
end
if ball_4:GetAttribute("possessor") ~= LocalPlayer_upvr.UserId and ball_4.network.networkOwner.Value ~= LocalPlayer_upvr and ball_4.network.owner.Value ~= LocalPlayer_upvr then
arg2.time = workspace:GetServerTimeNow()
if not any_new_result1_upvr:fetch("networkOwner", arg2) then return end
end
for _, v_30 in next, ball_4:GetChildren() do
if v_30:IsA("BodyVelocity") then
v_30:Destroy()
end
end
ball_4.Anchored = false
ball_4.AssemblyLinearVelocity = ball_4.AssemblyLinearVelocity
ball_4.AssemblyAngularVelocity = ball_4.AssemblyAngularVelocity
arg2.ball.CollisionGroup = "1_balls"
local BodyVelocity = Instance.new("BodyVelocity", ball_4)
BodyVelocity.Velocity = arg2.vector
BodyVelocity.MaxForce = arg2.maxForce
Services_upvr.Debris:AddItem(BodyVelocity, 0.3)
end
end
function module_upvr_2.slowdown(arg1, arg2) -- Line 3497
--[[ Upvalues[3]:
[1]: Services_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
[3]: controllers_upvr (readonly)
]]
script:SetAttribute("slowdown", true)
controllers_upvr.movementController:SetAttribute("forceStop", true)
controllers_upvr.movementController:SetAttribute("canSprint", false)
local any_Connect_result1_upvr = Services_upvr.RunService.Heartbeat:Connect(function() -- Line 3498
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
]]
if LocalPlayer_upvr and LocalPlayer_upvr.Character then
if LocalPlayer_upvr.Character.Parent and LocalPlayer_upvr.Character:FindFirstChild("Humanoid") then
LocalPlayer_upvr.Character.Humanoid.WalkSpeed = Services_upvr.StarterPlayer.CharacterWalkSpeed - 5
end
end
end)
task.delay(arg2 or 2, function() -- Line 3508
--[[ Upvalues[4]:
[1]: any_Connect_result1_upvr (readonly)
[2]: LocalPlayer_upvr (copied, readonly)
[3]: Services_upvr (copied, readonly)
[4]: controllers_upvr (copied, readonly)
]]
any_Connect_result1_upvr:Disconnect()
script:SetAttribute("slowdown", false)
if not script:GetAttribute("ragdoll") then
LocalPlayer_upvr.Character.Humanoid.WalkSpeed = Services_upvr.StarterPlayer.CharacterWalkSpeed
controllers_upvr.movementController:SetAttribute("canSprint", true)
end
end)
end
function module_upvr_2.raycast(arg1, arg2, arg3) -- Line 3519
return false
end
local any_new_result1_upvr_2 = _engine:load("Trajectory").new(Vector3.new(0, workspace.Gravity - 137.45259228794131, 0))
function module_upvr_2.react(arg1, arg2, arg3) -- Line 3523
--[[ Upvalues[11]:
[1]: module_upvr_2 (readonly)
[2]: any_new_result1_upvr_2 (readonly)
[3]: LocalPlayer_upvr (readonly)
[4]: any_new_result1_upvr (readonly)
[5]: tbl_7_upvr (readonly)
[6]: var168_upvr (readonly)
[7]: Services_upvr (readonly)
[8]: crash_upvr (readonly)
[9]: any_load_result1_upvr_7 (readonly)
[10]: References_upvr (readonly)
[11]: any_load_result1_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 306 start (CF ANALYSIS FAILED)
assert(arg2, "Root:react() | table 'args' expected, got "..typeof(arg2))
if _G._references.Main.config.Delay:FindFirstChild("NoReact") and not arg2.ignoreReactDecline then return end
if arg1.character.HumanoidRootPart and typeof(arg1.character.HumanoidRootPart.Position) == "Vector3" then
else
return
end
-- KONSTANTERROR: [0] 1. Error Block 306 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [68] 46. Error Block 10 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [68] 46. Error Block 10 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [71] 48. Error Block 11 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [71] 48. Error Block 11 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [87] 57. Error Block 12 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [87] 57. Error Block 12 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [90] 59. Error Block 13 start (CF ANALYSIS FAILED)
do
return
end
-- KONSTANTERROR: [90] 59. Error Block 13 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [91] 60. Error Block 14 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [91] 60. Error Block 14 end (CF ANALYSIS FAILED)
end
return module_upvr_2
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:16
-- Luau version 6, Types version 3
-- Time taken: 0.014989 seconds
local _engine = _G._engine
local any_load_result1_upvr = _engine:load("Maid")
local Services_upvr = _engine.Services
local tbl_upvr = {
tool = script.Parent;
equipped = false;
}
local module = {}
local function _(arg1, arg2, arg3) -- Line 19, Named "registerAngleBarSkill"
if not arg1 or not arg1.SetAngleBarSkillContext then
else
if not arg3 then return end
arg1:SetAngleBarSkillContext(arg2, arg3)
end
end
local References_upvr = _engine.References
function module.init(arg1, arg2) -- Line 31
--[[ Upvalues[4]:
[1]: any_load_result1_upvr (readonly)
[2]: tbl_upvr (readonly)
[3]: Services_upvr (readonly)
[4]: References_upvr (readonly)
]]
local any_new_result1 = any_load_result1_upvr.new()
for i, v in next, tbl_upvr do
arg1[i] = v
end
arg1.maid = any_new_result1
arg1.root = arg2
arg1.binds = {}
for _, v_2 in next, arg1.tool.binds:GetChildren() do
if v_2 and v_2:IsA("ModuleScript") then
local v_2_2 = require(v_2)
v_2_2:init(arg2)
arg1.binds[v_2.Name] = v_2_2
end
end
if arg1.tool:FindFirstChild("combos") then
arg1.combos = {}
for _, v_3 in next, arg1.tool.combos:GetChildren() do
if v_3 and v_3:IsA("ModuleScript") then
local v_3_2 = require(v_3)
v_3_2:init(arg2)
arg1.combos[v_3.Name] = v_3_2
end
end
end
any_new_result1.inputBegan = Services_upvr.UserInputService.InputBegan:Connect(function(arg1_2, arg2_2) -- Line 64
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: Services_upvr (copied, readonly)
[3]: References_upvr (copied, readonly)
[4]: arg2 (readonly)
]]
local var29
if not var29 then
else
local function INLINED() -- Internal function, doesn't exist in bytecode
var29 = Services_upvr.UserInputService:GetFocusedTextBox()
return var29
end
if arg2_2 or INLINED() then return end
var29 = arg1_2.KeyCode.Name
if var29 == "Unknown" then
var29 = arg1_2.UserInputType.Name
end
for _, v_9 in next, References_upvr.Profile.binds:GetChildren() do
if v_9 and string.lower(v_9.Name) == string.lower(arg1.tool.Name) or string.lower(v_9.Name) == "misc" then
for _, v_10 in next, v_9:GetChildren() do
if typeof(v_10.Value) == "string" and string.lower(v_10.Value) == string.lower(var29) then
local string_lower_result1_2 = string.lower(v_10.Name)
local var35 = arg2
if var35 then
if not var35.SetAngleBarSkillContext then
elseif not string_lower_result1_2 then
else
var35:SetAngleBarSkillContext(arg1.tool.Name, string_lower_result1_2)
end
end
if arg1.binds[string_lower_result1_2] and arg1.binds[string_lower_result1_2].inputBegan then
arg1.binds[string_lower_result1_2]:inputBegan(arg2)
elseif arg1.combos and arg1.combos[string_lower_result1_2] and arg1.combos[string_lower_result1_2].inputBegan then
arg1.combos[string_lower_result1_2]:inputBegan(arg2)
end
end
end
end
end
end
end)
any_new_result1.inputEnded = Services_upvr.UserInputService.InputEnded:Connect(function(arg1_3, arg2_3) -- Line 96
--[[ Upvalues[4]:
[1]: Services_upvr (copied, readonly)
[2]: References_upvr (copied, readonly)
[3]: arg1 (readonly)
[4]: arg2 (readonly)
]]
if arg2_3 or Services_upvr.UserInputService:GetFocusedTextBox() then
else
if arg1_3.KeyCode.Name == "Unknown" then
end
for _, v_11 in next, References_upvr.Profile.binds:GetChildren() do
if v_11 and string.lower(v_11.Name) == string.lower(arg1.tool.Name) or string.lower(v_11.Name) == "misc" then
for _, v_12 in next, v_11:GetChildren() do
if typeof(v_12.Value) == "string" and string.lower(v_12.Value) == string.lower(arg1_3.UserInputType.Name) then
local string_lower_result1 = string.lower(v_12.Name)
if arg1.binds[string_lower_result1] and arg1.binds[string_lower_result1].inputEnded then
arg1.binds[string_lower_result1]:inputEnded(arg2)
elseif arg1.combos and arg1.combos[string_lower_result1] and arg1.combos[string_lower_result1].inputEnded then
arg1.combos[string_lower_result1]:inputEnded(arg2)
end
end
end
end
end
end
end)
end
function module.initCustom(arg1, arg2) -- Line 125
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: tbl_upvr (readonly)
]]
for i_4, v_4 in next, tbl_upvr do
arg1[i_4] = v_4
end
arg1.equipped = true
arg1.maid = any_load_result1_upvr.new()
arg1.root = arg2
arg1.binds = {}
for _, v_5 in next, arg1.tool.binds:GetChildren() do
if v_5 and v_5:IsA("ModuleScript") then
local v_5_2 = require(v_5)
v_5_2:init(arg2)
arg1.binds[v_5.Name] = v_5_2
end
end
if arg1.tool:FindFirstChild("combos") then
arg1.combos = {}
for _, v_6 in next, arg1.tool.combos:GetChildren() do
if v_6 and v_6:IsA("ModuleScript") then
local v_6_2 = require(v_6)
v_6_2:init(arg2)
arg1.combos[v_6.Name] = v_6_2
end
end
end
end
function module.inputBegan(arg1, arg2, arg3) -- Line 160
if arg2 then
if not arg2.SetAngleBarSkillContext then
elseif not arg3 then
else
arg2:SetAngleBarSkillContext(arg1.tool.Name, arg3)
end
end
if arg1.binds[arg3] and arg1.binds[arg3].inputBegan then
arg1.binds[arg3]:inputBegan(arg2)
elseif arg1.combos and arg1.combos[arg3] and arg1.combos[arg3].inputBegan then
arg1.combos[arg3]:inputBegan(arg2)
end
end
function module.inputEnded(arg1, arg2, arg3) -- Line 169
if arg1.binds[arg3] and arg1.binds[arg3].inputEnded then
arg1.binds[arg3]:inputEnded(arg2)
elseif arg1.combos and arg1.combos[arg3] and arg1.combos[arg3].inputEnded then
arg1.combos[arg3]:inputEnded(arg2)
end
end
function module.equip(arg1) -- Line 177
arg1.equipped = true
end
function module.unequip(arg1) -- Line 181
arg1.equipped = false
end
function module.clear(arg1) -- Line 185
for i_7, v_7 in next, arg1.binds do
if i_7 and v_7 then
v_7:clear()
end
end
if arg1.combos then
for i_8, v_8 in next, arg1.combos do
if i_8 and v_8 then
v_8:clear()
end
end
end
arg1.equipped = false
arg1.maid:DoCleaning()
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:17
-- Luau version 6, Types version 3
-- Time taken: 0.011820 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_upvr = {
tool = script.Parent.Parent;
minPower = 40;
maxPower = 115;
minHeight = 10;
maxHeight = 28;
power = 0;
height = 0;
chargeSpeed = 0.85;
canReact = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 33
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
if script:GetAttribute("spin") == "knuckle" then
local var6 = module_upvr
var6.power *= 1.2
end
local tbl_2 = {}
tbl_2.ball = arg2
tbl_2.limb = arg1
tbl_2.vector = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart").CFrame.LookVector * module_upvr.power + Vector3.new(0, module_upvr.height, 0)
tbl_2.maxForce = Vector3.new(10000, 10000, 10000)
tbl_2.curve = true
tbl_2.curveType = "magnus"
tbl_2.spinType = script:GetAttribute("spin")
tbl_2.grassEffect = true
tbl_2.ankle = true
tbl_2.checkOffside = true
tbl_2.currentFoot = module_upvr.currentFoot
tbl_2.updateStats = "Shots"
module_upvr.root:react(tbl_2)
end
end
local tbl = {}
local any_load_result1_upvr = _engine:load("Hitboxes")
function tbl.new(arg1) -- Line 63
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: module_upvr (readonly)
]]
local tbl_3 = {}
tbl_3.limbs = arg1
tbl_3.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr.new(tbl_3)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 69
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl.clear = clear
module_upvr.react = tbl
local any_load_result1_upvr_2 = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 77
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr_2 (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr_2.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 86
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
function module_upvr.inputBegan(arg1, arg2) -- Line 103
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then
else
script:SetAttribute("charging", true)
arg1.currentFoot = _G._root:GetAttribute("currentFoot")
arg2:chargeUp(arg1.chargeSpeed)
task.spawn(function() -- Line 112
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: Services_upvr (copied, readonly)
]]
while _G._root:GetAttribute("charging") and LocalPlayer_upvr.PlayerGui:FindFirstChild("UI") do
arg1.power = arg1.minPower + (arg1.maxPower - arg1.minPower) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
arg1.height = arg1.minHeight + (arg1.maxHeight - arg1.minHeight) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
Services_upvr.RunService.RenderStepped:Wait()
end
end)
end
end
local References_upvr = _engine.References
function module_upvr.inputEnded(arg1, arg2) -- Line 129
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
local var18
local function INLINED() -- Internal function, doesn't exist in bytecode
var18 = _G
return var18._root:GetAttribute("charging")
end
local function INLINED_2() -- Internal function, doesn't exist in bytecode
var18 = _G
return var18._root:GetAttribute("ragdoll")
end
if _G._root:GetAttribute("globalOverride") or not INLINED() or INLINED_2() or arg1.using or not script:GetAttribute("charging") then
else
var18 = LocalPlayer_upvr.Character
var18 = false
arg1.using = true
arg1.canReact = true
script:SetAttribute("charging", false)
_G._root:SetAttribute("charging", false)
_G._root:SetAttribute("globalOverride", true)
if _G._root:GetAttribute("currentFoot") == 'R' then
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "Collide"})
else
arg1.react.new({"LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
end
if arg2:isSprinting() then
if math.random(1, 2) == 0 then
local any_LoadAnimation_result1_3 = var18.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name].fall[_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1_3.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1_3:Play()
task.wait(1)
var18 = false
arg2.ragdoll:toggle(false)
else
local any_LoadAnimation_result1_2 = var18.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name].sprint[_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1_2.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1_2:Play()
end
else
local any_LoadAnimation_result1 = var18.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name].shoot[_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
end
task.wait(0.6)
arg2:resetPowerBar()
arg1.react.clear()
arg1.canReact = false
script:SetAttribute("spin", "topspin")
task.wait(0.1)
if var18 and not _G._root:GetAttribute("ankle") then
arg2.ragdoll:toggle(false)
end
arg1.using = false
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
end
end
function module_upvr.clear(arg1) -- Line 190
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:19
-- Luau version 6, Types version 3
-- Time taken: 0.007449 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_upvr = {
tool = script.Parent.Parent;
minPower = 40;
maxPower = 110;
minHeight = 20;
maxHeight = 30;
power = 0;
height = 0;
chargeSpeed = 0.75;
charging = false;
canReact = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 34
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
local HumanoidRootPart = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart")
local var7 = "left"
local var8 = HumanoidRootPart.CFrame.LookVector * module_upvr.power + Vector3.new(0, module_upvr.height, 0)
if _G._root:GetAttribute("currentFoot") == 'R' then
var8 += (HumanoidRootPart.CFrame.rightVector) * (module_upvr.power / 8.5)
else
var8 += HumanoidRootPart.CFrame.rightVector * -(module_upvr.power / 8.5)
var7 = "right"
end
local tbl = {}
tbl.ball = arg2
tbl.limb = arg1
tbl.vector = var8
tbl.maxForce = Vector3.new(10000, 10000, 10000)
tbl.curve = true
tbl.curveType = var7
tbl.spinType = script.Parent.kick:GetAttribute("spin")
tbl.grassEffect = true
tbl.checkOffside = true
tbl.updateStats = "Shots"
module_upvr.root:react(tbl)
end
end
local tbl_3 = {}
local any_load_result1_upvr = _engine:load("Hitboxes")
function tbl_3.new(arg1) -- Line 66
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: module_upvr (readonly)
]]
local tbl_2 = {}
tbl_2.limbs = arg1
tbl_2.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr.new(tbl_2)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 72
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_3.clear = clear
module_upvr.react = tbl_3
local any_load_result1_upvr_2 = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 80
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr_2 (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr_2.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 89
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
function module_upvr.inputBegan(arg1, arg2) -- Line 106
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then
else
arg1.charging = true
arg2:chargeUp(arg1.chargeSpeed)
task.spawn(function() -- Line 114
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: Services_upvr (copied, readonly)
]]
while _G._root:GetAttribute("charging") and LocalPlayer_upvr.PlayerGui:FindFirstChild("UI") do
arg1.power = arg1.minPower + (arg1.maxPower - arg1.minPower) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
arg1.height = arg1.minHeight + (arg1.maxHeight - arg1.minHeight) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
Services_upvr.RunService.RenderStepped:Wait()
end
end)
end
end
local References_upvr = _engine.References
function module_upvr.inputEnded(arg1, arg2) -- Line 131
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or not _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or not arg1.charging or arg1.using then
else
arg1.charging = false
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("charging", false)
_G._root:SetAttribute("globalOverride", true)
if _G._root:GetAttribute("currentFoot") == 'R' then
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "Collide"})
else
arg1.react.new({"LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
end
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name][_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
task.wait(0.6)
arg2:resetPowerBar()
arg1.react.clear()
arg1.canReact = false
script.Parent.kick:SetAttribute("spin", "topspin")
task.wait(0.1)
arg2.ragdoll:toggle(false)
arg1.using = false
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
end
end
function module_upvr.clear(arg1) -- Line 170
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:20
-- Luau version 6, Types version 3
-- Time taken: 0.006888 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_upvr = {
tool = script.Parent.Parent;
minPower = 50;
maxPower = 100;
minHeight = 0;
maxHeight = 9;
power = 0;
height = 0;
chargeSpeed = 0.85;
charging = false;
canReact = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 34
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
local tbl = {}
tbl.ball = arg2
tbl.limb = arg1
tbl.vector = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart").CFrame.LookVector * module_upvr.power + Vector3.new(0, module_upvr.height, 0)
tbl.maxForce = Vector3.new(10000, 10000, 10000)
tbl.curve = true
tbl.curveType = "magnus"
tbl.spinType = script.Parent.kick:GetAttribute("spin")
tbl.grassEffect = true
tbl.checkOffside = true
tbl.currentFoot = module_upvr.currentFoot
tbl.updateStats = "Shots"
module_upvr.root:react(tbl)
end
end
local tbl_2 = {}
local any_load_result1_upvr_2 = _engine:load("Hitboxes")
function tbl_2.new(arg1) -- Line 59
--[[ Upvalues[2]:
[1]: any_load_result1_upvr_2 (readonly)
[2]: module_upvr (readonly)
]]
local tbl_3 = {}
tbl_3.limbs = arg1
tbl_3.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr_2.new(tbl_3)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 65
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_2.clear = clear
module_upvr.react = tbl_2
local any_load_result1_upvr = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 73
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 82
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
function module_upvr.inputBegan(arg1, arg2) -- Line 99
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then
else
arg1.charging = true
arg1.currentFoot = _G._root:GetAttribute("currentFoot")
arg2:chargeUp(arg1.chargeSpeed)
task.spawn(function() -- Line 108
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: Services_upvr (copied, readonly)
]]
while _G._root:GetAttribute("charging") and LocalPlayer_upvr.PlayerGui:FindFirstChild("UI") do
arg1.power = arg1.minPower + (arg1.maxPower - arg1.minPower) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
arg1.height = arg1.minHeight + (arg1.maxHeight - arg1.minHeight) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
Services_upvr.RunService.RenderStepped:Wait()
end
end)
end
end
local References_upvr = _engine.References
function module_upvr.inputEnded(arg1, arg2) -- Line 125
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or not _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or not arg1.charging or arg1.using then
else
arg1.charging = false
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("charging", false)
_G._root:SetAttribute("globalOverride", true)
if _G._root:GetAttribute("currentFoot") == 'R' then
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "Collide"})
else
arg1.react.new({"LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
end
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name][_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
task.wait(0.6)
arg2:resetPowerBar()
arg1.react.clear()
arg1.canReact = false
script.Parent.kick:SetAttribute("spin", "topspin")
task.wait(0.1)
arg1.using = false
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
end
end
function module_upvr.clear(arg1) -- Line 162
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:21
-- Luau version 6, Types version 3
-- Time taken: 0.006395 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_upvr = {
tool = script.Parent.Parent;
minPower = 45;
maxPower = 60;
minHeight = 20;
maxHeight = 35;
power = 0;
height = 0;
chargeSpeed = 0.4;
charging = false;
canReact = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 34
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
local tbl = {}
tbl.ball = arg2
tbl.limb = arg1
tbl.vector = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart").CFrame.LookVector * module_upvr.power + Vector3.new(0, module_upvr.height, 0)
tbl.maxForce = Vector3.new(10000, 10000, 10000)
tbl.curve = true
tbl.curveType = "none"
tbl.grassEffect = true
tbl.checkOffside = true
module_upvr.root:react(tbl)
end
end
local tbl_2 = {}
local any_load_result1_upvr_2 = _engine:load("Hitboxes")
function tbl_2.new(arg1) -- Line 57
--[[ Upvalues[2]:
[1]: any_load_result1_upvr_2 (readonly)
[2]: module_upvr (readonly)
]]
local tbl_3 = {}
tbl_3.limbs = arg1
tbl_3.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr_2.new(tbl_3)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 63
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_2.clear = clear
module_upvr.react = tbl_2
local any_load_result1_upvr = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 71
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 80
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
function module_upvr.inputBegan(arg1, arg2) -- Line 97
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then
else
arg1.charging = true
arg2:chargeUp(arg1.chargeSpeed)
task.spawn(function() -- Line 105
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: Services_upvr (copied, readonly)
]]
while _G._root:GetAttribute("charging") and LocalPlayer_upvr.PlayerGui:FindFirstChild("UI") do
arg1.power = arg1.minPower + (arg1.maxPower - arg1.minPower) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
arg1.height = arg1.minHeight + (arg1.maxHeight - arg1.minHeight) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
Services_upvr.RunService.RenderStepped:Wait()
end
end)
end
end
local References_upvr = _engine.References
function module_upvr.inputEnded(arg1, arg2) -- Line 122
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or not _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or not arg1.charging or arg1.using then
else
arg1.using = true
arg1.canReact = true
arg1.charging = false
_G._root:SetAttribute("charging", false)
_G._root:SetAttribute("globalOverride", true)
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name][_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
task.wait(0.5)
arg2:resetPowerBar()
arg1.react.clear()
arg1.canReact = false
task.wait(0.1)
arg2.ragdoll:toggle(false)
arg1.using = false
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
end
end
function module_upvr.clear(arg1) -- Line 157
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:23
-- Luau version 6, Types version 3
-- Time taken: 0.007870 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_upvr = {
tool = script.Parent.Parent;
minPower = 40;
maxPower = 100;
minHeight = 0;
maxHeight = 10;
power = 0;
height = 0;
chargeSpeed = 0.4;
canReact = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 33
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
local HumanoidRootPart = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart")
local var7 = "right"
local clamped = math.clamp(arg2.Velocity.Magnitude / 50, 0.5, 2)
local clamped_2 = math.clamp(module_upvr.power * clamped, 40, 100)
local var10 = HumanoidRootPart.CFrame.LookVector * clamped_2 + Vector3.new(0, module_upvr.height * clamped, 0)
if module_upvr.currentFoot == 'R' then
var10 += HumanoidRootPart.CFrame.rightVector * -(clamped_2 / 10)
else
var10 += (HumanoidRootPart.CFrame.rightVector) * (clamped_2 / 10)
var7 = "left"
end
local tbl = {}
tbl.ball = arg2
tbl.limb = arg1
tbl.vector = var10
tbl.maxForce = Vector3.new(10000, 10000, 10000)
tbl.curve = true
tbl.curveType = var7
tbl.checkOffside = true
tbl.updateStats = "Shots"
module_upvr.root:react(tbl)
end
end
local tbl_3 = {}
local any_load_result1_upvr = _engine:load("Hitboxes")
function tbl_3.new(arg1) -- Line 75
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: module_upvr (readonly)
]]
local tbl_2 = {}
tbl_2.limbs = arg1
tbl_2.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr.new(tbl_2)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 81
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_3.clear = clear
module_upvr.react = tbl_3
local any_load_result1_upvr_2 = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 89
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr_2 (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr_2.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 98
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
function module_upvr.inputBegan(arg1, arg2) -- Line 115
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then
else
arg1.charging = true
arg1.currentFoot = _G._root:GetAttribute("currentFoot")
arg2:chargeUp(arg1.chargeSpeed)
task.spawn(function() -- Line 124
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: Services_upvr (copied, readonly)
]]
while _G._root:GetAttribute("charging") and LocalPlayer_upvr.PlayerGui:FindFirstChild("UI") do
arg1.power = 40 + 60 * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
arg1.height = arg1.minHeight + (arg1.maxHeight - arg1.minHeight) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
Services_upvr.RunService.RenderStepped:Wait()
end
end)
end
end
local References_upvr = _engine.References
function module_upvr.inputEnded(arg1, arg2) -- Line 141
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or not _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or not arg1.charging or arg1.using then
else
arg1.charging = false
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("charging", false)
_G._root:SetAttribute("globalOverride", true)
if _G._root:GetAttribute("currentFoot") == 'R' then
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "Collide"})
else
arg1.react.new({"LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
end
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name][_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
task.wait(0.6)
arg2:resetPowerBar()
arg1.react.clear()
arg1.canReact = false
task.wait(0.1)
arg1.using = false
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
end
end
function module_upvr.clear(arg1) -- Line 178
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:24
-- Luau version 6, Types version 3
-- Time taken: 0.010434 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_upvr = {
tool = script.Parent.Parent;
minPower = 45;
maxPower = 80;
minHeight = -10;
maxHeight = 3;
power = 0;
height = 0;
chargeSpeed = 0.4;
charging = false;
canReact = false;
using = false;
headerDirection = nil;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 37
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
local var6 = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart").CFrame.LookVector * module_upvr.power + Vector3.new(0, module_upvr.height, 0)
if module_upvr.headerDirection == "Left" then
var6 = CFrame.Angles(0, 1.3089969389957472, 0) * var6
elseif module_upvr.headerDirection == "Right" then
var6 = CFrame.Angles(0, -1.3089969389957472, 0) * var6
end
local tbl_3 = {}
tbl_3.ball = arg2
tbl_3.limb = arg1
tbl_3.exemptShielding = true
tbl_3.vector = var6
tbl_3.maxForce = Vector3.new(10000, 10000, 10000)
tbl_3.conserveAngularVelocity = true
tbl_3.checkOffside = true
module_upvr.root:react(tbl_3)
end
end
local tbl_2 = {}
local any_load_result1_upvr_2 = _engine:load("Hitboxes")
function tbl_2.new(arg1) -- Line 64
--[[ Upvalues[2]:
[1]: any_load_result1_upvr_2 (readonly)
[2]: module_upvr (readonly)
]]
local tbl = {}
tbl.limbs = arg1
tbl.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr_2.new(tbl)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 70
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_2.clear = clear
module_upvr.react = tbl_2
local any_load_result1_upvr = _engine:load("Maid")
local UserInputService_upvr = Services_upvr.UserInputService
function module_upvr.init(arg1, arg2) -- Line 78
--[[ Upvalues[3]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
[3]: UserInputService_upvr (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr.new()
end
script:SetAttribute("sideHeader", true)
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 90
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
UserInputService_upvr.InputBegan:Connect(function(arg1_2, arg2_2) -- Line 107
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if arg2_2 then
elseif arg1.charging then
if arg1_2.KeyCode == Enum.KeyCode.R then
arg1.headerDirection = "Left"
arg1:inputEnded(arg1.root)
return
end
if arg1_2.KeyCode == Enum.KeyCode.T then
arg1.headerDirection = "Right"
arg1:inputEnded(arg1.root)
end
end
end)
end
function module_upvr.inputBegan(arg1, arg2) -- Line 122
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then
else
arg1.charging = true
arg2:chargeUp(arg1.chargeSpeed)
task.spawn(function() -- Line 130
--[[ Upvalues[4]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: arg2 (readonly)
[4]: Services_upvr (copied, readonly)
]]
while _G._root:GetAttribute("charging") and LocalPlayer_upvr.PlayerGui:FindFirstChild("UI") do
local var19
if _G._root:GetAttribute("AngleBarEnabled") and arg2.IsAngleBarEnabledForTool then
var19 = arg2:IsAngleBarEnabledForTool("header")
end
if var19 then
arg1.height = (arg1.minHeight + (arg1.maxHeight - arg1.minHeight) * 1) * (1 - (1 - (_G._root:GetAttribute("CurrentLookAngle_0_60") or 30) / 60) ^ 2)
arg1.power = arg1.minPower + (arg1.maxPower - arg1.minPower) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
arg1.power = arg1.minPower + (arg1.maxPower - arg1.minPower) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
arg1.height = arg1.minHeight + (arg1.maxHeight - arg1.minHeight) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
end
Services_upvr.RunService.RenderStepped:Wait()
end
end)
end
end
local References_upvr = _engine.References
function module_upvr.inputEnded(arg1, arg2) -- Line 164
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
[3]: Services_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 33 start (CF ANALYSIS FAILED)
local var21
local function INLINED() -- Internal function, doesn't exist in bytecode
var21 = _G
return var21._root:GetAttribute("charging")
end
local function INLINED_2() -- Internal function, doesn't exist in bytecode
var21 = _G
return var21._root:GetAttribute("ragdoll")
end
if _G._root:GetAttribute("globalOverride") or not INLINED() or INLINED_2() or not arg1.charging or arg1.using then
else
var21 = LocalPlayer_upvr.Character
local Animator = var21.Humanoid:WaitForChild("Animator", 100)
var21 = false
arg1.charging = var21
var21 = true
arg1.using = var21
var21 = true
arg1.canReact = var21
var21 = _G._root:SetAttribute
var21("charging", false)
var21 = _G._root:SetAttribute
var21("globalOverride", true)
var21 = arg1.react.new
var21({"Head"})
var21 = nil
if arg1.headerDirection == "Left" then
var21 = Animator:LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name].HeaderLeft)
-- KONSTANTWARNING: GOTO [189] #122
end
-- KONSTANTERROR: [0] 1. Error Block 33 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [110] 73. Error Block 34 start (CF ANALYSIS FAILED)
if arg1.headerDirection == "Right" then
var21 = Animator:LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name].HeaderRight)
elseif arg2:isAirbourne() then
var21 = Animator:LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name].Jump)
else
var21 = Animator:LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name].Header)
end
var21.Priority = Enum.AnimationPriority.Action4
var21:Play()
if arg2:isAirbourne() then
local BodyVelocity = Instance.new("BodyVelocity", LocalPlayer_upvr.Character.HumanoidRootPart)
BodyVelocity.Velocity = Vector3.new(0, 2.5, 0)
BodyVelocity.MaxForce = Vector3.new(0, 10000, 0)
Services_upvr.Debris:AddItem(BodyVelocity, 0.35)
end
task.wait(0.45)
arg2:resetPowerBar()
arg1.react.clear()
arg1.canReact = false
task.wait(0.1)
arg2.ragdoll:toggle(false)
arg1.using = false
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
arg1.headerDirection = nil
-- KONSTANTERROR: [110] 73. Error Block 34 end (CF ANALYSIS FAILED)
end
end
function module_upvr.clear(arg1) -- Line 224
arg1.maid:DoCleaning()
end
function module_upvr.inputBeganWithDirection(arg1, arg2, arg3) -- Line 229
if arg1.charging then
arg1.headerDirection = arg3
arg1:inputEnded(arg1.root)
end
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:26
-- Luau version 6, Types version 3
-- Time taken: 0.009767 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_upvr = {
tool = script.Parent.Parent;
minPower = 40;
maxPower = 85;
minHeight = 0;
maxHeight = 15;
power = 0;
height = 0;
chargeSpeed = 0.35;
charging = false;
canReact = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 34
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
local tbl = {}
tbl.ball = arg2
tbl.limb = arg1
tbl.exemptShielding = true
tbl.vector = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart").CFrame.LookVector * -module_upvr.power + Vector3.new(0, module_upvr.height, 0)
tbl.maxForce = Vector3.new(10000, 10000, 10000)
tbl.curve = true
tbl.curveType = "inverted"
tbl.checkOffside = true
tbl.currentFoot = module_upvr.currentFoot
tbl.updateStats = "Shots"
module_upvr.root:react(tbl)
end
end
local tbl_2 = {}
local any_load_result1_upvr_2 = _engine:load("Hitboxes")
function tbl_2.new(arg1) -- Line 58
--[[ Upvalues[2]:
[1]: any_load_result1_upvr_2 (readonly)
[2]: module_upvr (readonly)
]]
local tbl_3 = {}
tbl_3.limbs = arg1
tbl_3.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr_2.new(tbl_3)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 64
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_2.clear = clear
module_upvr.react = tbl_2
local any_load_result1_upvr = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 72
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 81
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
function module_upvr.inputBegan(arg1, arg2) -- Line 98
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then
else
arg1.charging = true
arg1.currentFoot = _G._root:GetAttribute("currentFoot")
arg2:chargeUp(arg1.chargeSpeed)
task.spawn(function() -- Line 107
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: Services_upvr (copied, readonly)
]]
while _G._root:GetAttribute("charging") and LocalPlayer_upvr.PlayerGui:FindFirstChild("UI") do
arg1.power = arg1.minPower + (arg1.maxPower - arg1.minPower) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
arg1.height = arg1.minHeight + (arg1.maxHeight - arg1.minHeight) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
Services_upvr.RunService.RenderStepped:Wait()
end
end)
end
end
local References_upvr = _engine.References
function module_upvr.inputEnded(arg1, arg2) -- Line 124
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
[3]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or not _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or not arg1.charging or arg1.using then
else
arg1.charging = false
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("charging", false)
_G._root:SetAttribute("globalOverride", true)
arg2.collisions:toggle("all", "2_limbs")
arg2:lockRoot(true)
LocalPlayer_upvr.Character.HumanoidRootPart.WeightR.Massless = true
LocalPlayer_upvr.Character.HumanoidRootPart.WeightL.Massless = true
local BodyVelocity = Instance.new("BodyVelocity", LocalPlayer_upvr.Character.HumanoidRootPart)
BodyVelocity.Velocity = Vector3.new(0, 1, 0)
BodyVelocity.MaxForce = Vector3.new(0, 5000, 0)
Services_upvr.Debris:AddItem(BodyVelocity, 0.48148148148148145)
workspace.CurrentCamera.CameraSubject = LocalPlayer_upvr.Character.Head
if _G._root:GetAttribute("currentFoot") == 'R' then
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "Collide"})
else
arg1.react.new({"LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
end
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name][_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play(nil, nil, 1.35)
task.wait(0.5925925925925926)
arg2:lockRoot(false)
arg2.ragdoll:toggle(true)
task.wait(0.2)
arg2:resetPowerBar()
arg1.react.clear()
arg1.canReact = false
task.wait(1)
Services_upvr.RunService.Heartbeat:Connect(function() -- Line 163
--[[ Upvalues[1]:
[1]: LocalPlayer_upvr (copied, readonly)
]]
LocalPlayer_upvr.Character.HumanoidRootPart.WeightR.Massless = true
LocalPlayer_upvr.Character.HumanoidRootPart.WeightL.Massless = true
end):Disconnect()
arg2.ragdoll:toggle(false)
task.wait(0.2)
arg1.using = false
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
end
end
function module_upvr.clear(arg1) -- Line 190
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:27
-- Luau version 6, Types version 3
-- Time taken: 0.009118 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_upvr = {
tool = script.Parent.Parent;
minPower = 40;
maxPower = 70;
minHeight = 0;
maxHeight = 25;
power = 0;
height = 0;
chargeSpeed = 0.85;
charging = false;
canReact = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 34
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
local HumanoidRootPart = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart")
local tbl_3 = {}
tbl_3.ball = arg2
tbl_3.limb = arg1
tbl_3.vector = HumanoidRootPart.CFrame.RightVector * module_upvr.power + (HumanoidRootPart.CFrame.LookVector) * (module_upvr.power / 7.5) + Vector3.new(0, module_upvr.height, 0)
tbl_3.maxForce = Vector3.new(10000, 10000, 10000)
tbl_3.curve = true
tbl_3.curveType = "magnus"
tbl_3.spinType = script.Parent.kick:GetAttribute("spin")
tbl_3.maxRight = 5
tbl_3.grassEffect = true
tbl_3.ankle = true
tbl_3.checkOffside = true
tbl_3.currentFoot = module_upvr.currentFoot
tbl_3.updateStats = "Shots"
module_upvr.root:react(tbl_3)
end
end
local tbl_2 = {}
local any_load_result1_upvr = _engine:load("Hitboxes")
function tbl_2.new(arg1) -- Line 63
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: module_upvr (readonly)
]]
local tbl = {}
tbl.limbs = arg1
tbl.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr.new(tbl)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 69
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_2.clear = clear
module_upvr.react = tbl_2
local any_load_result1_upvr_2 = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 77
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr_2 (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr_2.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 86
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
function module_upvr.inputBegan(arg1, arg2) -- Line 103
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then
else
arg1.charging = true
arg1.currentFoot = _G._root:GetAttribute("currentFoot")
arg2:chargeUp(arg1.chargeSpeed)
task.spawn(function() -- Line 112
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: Services_upvr (copied, readonly)
]]
while _G._root:GetAttribute("charging") and LocalPlayer_upvr.PlayerGui:FindFirstChild("UI") do
arg1.power = arg1.minPower + (arg1.maxPower - arg1.minPower) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
arg1.height = arg1.minHeight + (arg1.maxHeight - arg1.minHeight) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
Services_upvr.RunService.RenderStepped:Wait()
end
end)
end
end
local References_upvr = _engine.References
function module_upvr.inputEnded(arg1, arg2) -- Line 129
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or not _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or not arg1.charging or arg1.using then
else
arg1.charging = false
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("charging", false)
_G._root:SetAttribute("globalOverride", true)
if _G._root:GetAttribute("currentFoot") == 'R' then
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "Collide"})
else
arg1.react.new({"LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
end
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name][_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
task.wait(0.6)
arg2:resetPowerBar()
arg1.react.clear()
arg1.canReact = false
script.Parent.kick:SetAttribute("spin", "topspin")
task.wait(0.1)
arg1.using = false
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
end
end
function module_upvr.clear(arg1) -- Line 166
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:28
-- Luau version 6, Types version 3
-- Time taken: 0.008262 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_upvr = {
tool = script.Parent.Parent;
minPower = 40;
maxPower = 70;
minHeight = 0;
maxHeight = 25;
power = 0;
height = 0;
chargeSpeed = 0.85;
charging = false;
canReact = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 34
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
local HumanoidRootPart = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart")
local tbl_3 = {}
tbl_3.ball = arg2
tbl_3.limb = arg1
tbl_3.vector = HumanoidRootPart.CFrame.RightVector * -module_upvr.power + (HumanoidRootPart.CFrame.LookVector) * (module_upvr.power / 7.5) + Vector3.new(0, module_upvr.height, 0)
tbl_3.maxForce = Vector3.new(10000, 10000, 10000)
tbl_3.curve = true
tbl_3.curveType = "magnus"
tbl_3.spinType = script.Parent.kick:GetAttribute("spin")
tbl_3.grassEffect = true
tbl_3.ankle = true
tbl_3.checkOffside = true
tbl_3.currentFoot = module_upvr.currentFoot
tbl_3.updateStats = "Shots"
module_upvr.root:react(tbl_3)
end
end
local tbl_2 = {}
local any_load_result1_upvr = _engine:load("Hitboxes")
function tbl_2.new(arg1) -- Line 62
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: module_upvr (readonly)
]]
local tbl = {}
tbl.limbs = arg1
tbl.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr.new(tbl)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 68
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_2.clear = clear
module_upvr.react = tbl_2
local any_load_result1_upvr_2 = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 76
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr_2 (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr_2.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 85
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
function module_upvr.inputBegan(arg1, arg2) -- Line 102
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then
else
arg1.charging = true
arg1.currentFoot = _G._root:GetAttribute("currentFoot")
arg2:chargeUp(arg1.chargeSpeed)
task.spawn(function() -- Line 111
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: Services_upvr (copied, readonly)
]]
while _G._root:GetAttribute("charging") and LocalPlayer_upvr.PlayerGui:FindFirstChild("UI") do
arg1.power = arg1.minPower + (arg1.maxPower - arg1.minPower) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
arg1.height = arg1.minHeight + (arg1.maxHeight - arg1.minHeight) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
Services_upvr.RunService.RenderStepped:Wait()
end
end)
end
end
local References_upvr = _engine.References
function module_upvr.inputEnded(arg1, arg2) -- Line 128
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or not _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or not arg1.charging or arg1.using then
else
arg1.charging = false
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("charging", false)
_G._root:SetAttribute("globalOverride", true)
if _G._root:GetAttribute("currentFoot") == 'R' then
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "Collide"})
else
arg1.react.new({"LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
end
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name][_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
task.wait(0.6)
arg2:resetPowerBar()
arg1.react.clear()
arg1.canReact = false
script.Parent.kick:SetAttribute("spin", "topspin")
task.wait(0.1)
arg1.using = false
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
end
end
function module_upvr.clear(arg1) -- Line 165
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:29
-- Luau version 6, Types version 3
-- Time taken: 0.002262 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local tbl_upvr = {
tool = script.Parent.Parent;
using = false;
}
local module = {}
local any_load_result1_upvr = _engine:load("Maid")
function module.init(arg1, arg2) -- Line 21
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr.new()
end
arg1.root = arg2
end
local References_upvr = _engine.References
function module.inputBegan(arg1, arg2) -- Line 33
--[[ Upvalues[2]:
[1]: References_upvr (readonly)
[2]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or not _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then
else
arg1.using = true
script.Parent.kick:SetAttribute("spin", "backspin")
References_upvr.Main.sounds.UI.Click:Play()
References_upvr.PlayerGui.main.framework.spin.Text = "BACKSPIN"
References_upvr.PlayerGui.main.framework.spin.TextTransparency = 0
Services_upvr.TweenService:Create(References_upvr.PlayerGui.main.framework.spin, TweenInfo.new(0.4, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 1;
}):Play()
task.wait(0.3)
arg1.using = false
end
end
function module.clear(arg1) -- Line 50
arg1.maid:DoCleaning()
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:31
-- Luau version 6, Types version 3
-- Time taken: 0.002307 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local tbl_upvr = {
tool = script.Parent.Parent;
using = false;
}
local module = {}
local any_load_result1_upvr = _engine:load("Maid")
function module.init(arg1, arg2) -- Line 21
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr.new()
end
arg1.root = arg2
end
local References_upvr = _engine.References
function module.inputBegan(arg1, arg2) -- Line 33
--[[ Upvalues[2]:
[1]: References_upvr (readonly)
[2]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or not _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using or not script.Parent.kick:GetAttribute("charging") then
else
arg1.using = true
script.Parent.kick:SetAttribute("spin", "topspin")
References_upvr.Main.sounds.UI.Click:Play()
References_upvr.PlayerGui.main.framework.spin.Text = "TOPSPIN"
References_upvr.PlayerGui.main.framework.spin.TextTransparency = 0
Services_upvr.TweenService:Create(References_upvr.PlayerGui.main.framework.spin, TweenInfo.new(0.4, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 1;
}):Play()
task.wait(0.3)
arg1.using = false
end
end
function module.clear(arg1) -- Line 50
arg1.maid:DoCleaning()
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:32
-- Luau version 6, Types version 3
-- Time taken: 0.012223 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_upvr = {
tool = script.Parent.Parent;
minPower = 80;
maxPower = 150;
minHeight = 15;
maxHeight = 20;
power = 0;
height = 0;
chargeSpeed = 1.6;
charging = false;
canReact = false;
using = false;
animationPlaying = false;
currentAnimationTrack = nil;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 36
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
local tbl_2 = {}
tbl_2.ball = arg2
tbl_2.limb = arg1
tbl_2.vector = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart").CFrame.LookVector * module_upvr.power + Vector3.new(0, module_upvr.height, 0)
tbl_2.maxForce = Vector3.new(10000, 10000, 10000)
tbl_2.curve = true
tbl_2.curveType = "magnus"
tbl_2.spinType = script.Parent.kick:GetAttribute("spin")
tbl_2.grassEffect = true
tbl_2.risingShot = false
tbl_2.power = module_upvr.power
tbl_2.checkOffside = true
tbl_2.currentFoot = module_upvr.currentFoot
tbl_2.updateStats = "Shots"
module_upvr.root:react(tbl_2)
end
end
local tbl = {}
local any_load_result1_upvr = _engine:load("Hitboxes")
function tbl.new(arg1) -- Line 63
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: module_upvr (readonly)
]]
local tbl_3 = {}
tbl_3.limbs = arg1
tbl_3.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr.new(tbl_3)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 69
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl.clear = clear
module_upvr.react = tbl
local any_load_result1_upvr_2 = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 77
--[[ Upvalues[3]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr_2 (readonly)
[3]: Services_upvr (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr_2.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 86
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
if arg1.animationPlaying and arg1.currentAnimationTrack then
arg1.currentAnimationTrack:Stop()
arg1.animationPlaying = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.maid.cancelInput = Services_upvr.UserInputService.InputBegan:Connect(function(arg1_2, arg2_2) -- Line 105
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg2 (readonly)
]]
if arg2_2 then
elseif arg1_2.KeyCode == Enum.KeyCode.C then
if arg1.charging then
arg1:cancelCharge(arg2)
return
end
if arg1.animationPlaying then
arg1:fakeShot(arg2)
end
end
end)
arg1.root = arg2
end
function module_upvr.cancelCharge(arg1, arg2) -- Line 123
if not arg1.charging or not _G._root:GetAttribute("charging") then
else
arg1.charging = false
_G._root:SetAttribute("charging", false)
arg2:resetPowerBar()
task.delay(0.35, function() -- Line 133
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1.using = false
end)
end
end
function module_upvr.fakeShot(arg1, arg2) -- Line 139
--[[ Upvalues[2]:
[1]: Services_upvr (readonly)
[2]: References_upvr (readonly)
]]
if not arg1.animationPlaying or not arg1.currentAnimationTrack then
else
arg1.currentAnimationTrack:Stop()
arg1.animationPlaying = false
arg1.react.clear()
arg1.canReact = false
Services_upvr.TweenService:Create(workspace.CurrentCamera, TweenInfo.new(0.35, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
FieldOfView = tonumber(References_upvr.Profile.settings.Visual["Field of View"].Value);
}):Play()
arg2:resetPowerBar()
task.delay(0.35, function() -- Line 161
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1.using = false
end)
task.delay(0.45, function() -- Line 166
--[[ Upvalues[1]:
[1]: arg2 (readonly)
]]
arg2.movementController:SetAttribute("canSprint", true)
end)
task.delay(0.55, function() -- Line 171
--[[ Upvalues[1]:
[1]: arg2 (readonly)
]]
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
arg2.movementController:SetAttribute("forceStop", false)
end)
script.Parent.kick:SetAttribute("spin", "topspin")
end
end
function module_upvr.inputBegan(arg1, arg2) -- Line 184
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then
else
arg1.charging = true
arg1.currentFoot = _G._root:GetAttribute("currentFoot")
arg2:chargeUp(arg1.chargeSpeed)
task.spawn(function() -- Line 193
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: Services_upvr (copied, readonly)
]]
while _G._root:GetAttribute("charging") and LocalPlayer_upvr.PlayerGui:FindFirstChild("UI") do
arg1.power = arg1.minPower + (arg1.maxPower - arg1.minPower) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
arg1.height = arg1.minHeight + (arg1.maxHeight - arg1.minHeight) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
Services_upvr.RunService.RenderStepped:Wait()
end
end)
end
end
function module_upvr.inputEnded(arg1, arg2) -- Line 210
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
[3]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or not _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or not arg1.charging or arg1.using then
else
arg1.charging = false
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("charging", false)
_G._root:SetAttribute("globalOverride", true)
arg2.movementController:SetAttribute("forceStop", true)
arg2.movementController:SetAttribute("canSprint", false)
Services_upvr.TweenService:Create(workspace.CurrentCamera, TweenInfo.new(0.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
FieldOfView = tonumber(References_upvr.Profile.settings.Visual["Field of View"].Value) - 15;
}):Play()
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name][_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
arg1.currentAnimationTrack = any_LoadAnimation_result1
arg1.animationPlaying = true
any_LoadAnimation_result1:Play()
any_LoadAnimation_result1.Stopped:Connect(function() -- Line 236
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1.animationPlaying = false
arg1.currentAnimationTrack = nil
end)
task.wait(0.835)
if arg1.animationPlaying then
if _G._root:GetAttribute("currentFoot") == 'R' then
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "Collide"})
else
arg1.react.new({"LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
end
end
if arg1.animationPlaying then
task.wait(0.3)
Services_upvr.TweenService:Create(workspace.CurrentCamera, TweenInfo.new(0.4, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
FieldOfView = tonumber(References_upvr.Profile.settings.Visual["Field of View"].Value);
}):Play()
arg2:resetPowerBar()
arg1.react.clear()
arg1.canReact = false
script.Parent.kick:SetAttribute("spin", "topspin")
task.wait(0.3)
arg2.movementController:SetAttribute("canSprint", true)
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
task.wait(2)
arg1.using = false
arg1.animationPlaying = false
end
end
end
function module_upvr.clear(arg1) -- Line 275
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:34
-- Luau version 6, Types version 3
-- Time taken: 0.003750 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local tbl_upvr = {
tool = script.Parent.Parent;
using = false;
}
local module = {}
local any_load_result1_upvr = _engine:load("Maid")
function module.init(arg1, arg2) -- Line 21
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function(arg1_2) -- Line 30
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
local References_upvr = _engine.References
function module.inputBegan(arg1, arg2) -- Line 47
--[[ Upvalues[2]:
[1]: References_upvr (readonly)
[2]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or not _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using or not script.Parent.kick:GetAttribute("charging") then
else
arg1.using = true
script.Parent.kick:SetAttribute("spin", "knuckle")
References_upvr.Main.sounds.UI.Click:Play()
References_upvr.PlayerGui.main.framework.spin.Text = "KNUCKLE"
References_upvr.PlayerGui.main.framework.spin.TextTransparency = 0
Services_upvr.TweenService:Create(References_upvr.PlayerGui.main.framework.spin, TweenInfo.new(0.4, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 1;
}):Play()
task.wait(0.3)
arg1.using = false
end
end
function module.clear(arg1) -- Line 64
arg1.maid:DoCleaning()
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:35
-- Luau version 6, Types version 3
-- Time taken: 0.007495 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_upvr = {
tool = script.Parent.Parent;
minPower = 40;
maxPower = 110;
minHeight = 5;
maxHeight = 20;
power = 110;
height = 0;
chargeSpeed = 0.75;
charging = false;
canReact = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 34
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
local HumanoidRootPart = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart")
local var7 = "right"
local var8 = (HumanoidRootPart.CFrame.LookVector * module_upvr.power) + (Vector3.new(0, module_upvr.height, 10) + Vector3.new(math.random(-3, 3), math.random(0, 3), math.random(-2, 2)))
if _G._root:GetAttribute("currentFoot") == 'R' then
var8 += HumanoidRootPart.CFrame.rightVector * -(module_upvr.power / 7)
else
var8 += (HumanoidRootPart.CFrame.rightVector) * (module_upvr.power / 10)
var7 = "left"
end
local tbl = {}
tbl.ball = arg2
tbl.limb = arg1
tbl.vector = var8
tbl.maxForce = Vector3.new(10000, 10000, 10000)
tbl.curve = true
tbl.curveType = var7
tbl.grassEffect = true
tbl.checkOffside = true
tbl.updateStats = "Shots"
module_upvr.root:react(tbl)
end
end
local tbl_3 = {}
local any_load_result1_upvr = _engine:load("Hitboxes")
function tbl_3.new(arg1) -- Line 65
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: module_upvr (readonly)
]]
local tbl_2 = {}
tbl_2.limbs = arg1
tbl_2.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr.new(tbl_2)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 71
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_3.clear = clear
module_upvr.react = tbl_3
local any_load_result1_upvr_2 = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 79
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr_2 (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr_2.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 88
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
function module_upvr.inputBegan(arg1, arg2) -- Line 105
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then
else
arg1.charging = true
arg2:chargeUp(arg1.chargeSpeed)
task.spawn(function() -- Line 113
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: Services_upvr (copied, readonly)
]]
while _G._root:GetAttribute("charging") and LocalPlayer_upvr.PlayerGui:FindFirstChild("UI") do
arg1.power = arg1.minPower + (arg1.maxPower - arg1.minPower) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
arg1.height = arg1.minHeight + (arg1.maxHeight - arg1.minHeight) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
Services_upvr.RunService.RenderStepped:Wait()
end
end)
end
end
local References_upvr = _engine.References
function module_upvr.inputEnded(arg1, arg2) -- Line 130
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or not _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or not arg1.charging or arg1.using then
else
arg1.charging = false
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("charging", false)
_G._root:SetAttribute("globalOverride", true)
if _G._root:GetAttribute("currentFoot") == 'R' then
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "Collide"})
else
arg1.react.new({"LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
end
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name][_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
task.wait(0.6)
arg2:resetPowerBar()
arg1.react.clear()
arg1.canReact = false
task.wait(0.1)
arg2.ragdoll:toggle(false)
arg1.using = false
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
end
end
function module_upvr.clear(arg1) -- Line 169
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:36
-- Luau version 6, Types version 3
-- Time taken: 0.009589 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_upvr = {
tool = script.Parent.Parent;
minPower = 40;
maxPower = 85;
minHeight = 0;
maxHeight = 12;
power = 0;
height = 0;
chargeSpeed = 0.35;
charging = false;
canReact = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 34
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
if arg2.Position.Y < LocalPlayer_upvr.Character.HumanoidRootPart.Position.Y - 1.5 then return end
local tbl = {}
tbl.ball = arg2
tbl.limb = arg1
tbl.exemptShielding = true
tbl.vector = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart").CFrame.LookVector * module_upvr.power + Vector3.new(0, module_upvr.height, 0)
tbl.maxForce = Vector3.new(10000, 10000, 10000)
tbl.curve = true
tbl.curveType = "inverted"
tbl.checkOffside = true
tbl.currentFoot = module_upvr.currentFoot
tbl.updateStats = "Shots"
module_upvr.root:react(tbl)
end
end
local tbl_2 = {}
local any_load_result1_upvr_2 = _engine:load("Hitboxes")
function tbl_2.new(arg1) -- Line 67
--[[ Upvalues[2]:
[1]: any_load_result1_upvr_2 (readonly)
[2]: module_upvr (readonly)
]]
local tbl_3 = {}
tbl_3.limbs = arg1
tbl_3.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr_2.new(tbl_3)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear() -- Line 73
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_2.clear = clear
module_upvr.react = tbl_2
local any_load_result1_upvr = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 81
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 90
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
function module_upvr.inputBegan(arg1, arg2) -- Line 107
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then
else
arg1.charging = true
arg1.currentFoot = _G._root:GetAttribute("currentFoot")
arg2:chargeUp(arg1.chargeSpeed)
task.spawn(function() -- Line 116
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: Services_upvr (copied, readonly)
]]
while _G._root:GetAttribute("charging") and LocalPlayer_upvr.PlayerGui:FindFirstChild("UI") do
arg1.power = arg1.minPower + (arg1.maxPower - arg1.minPower) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
arg1.height = arg1.minHeight + (arg1.maxHeight - arg1.minHeight) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
Services_upvr.RunService.RenderStepped:Wait()
end
end)
end
end
local References_upvr = _engine.References
function module_upvr.inputEnded(arg1, arg2) -- Line 133
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
[3]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or not _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or not arg1.charging or arg1.using then
else
arg1.charging = false
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("charging", false)
_G._root:SetAttribute("globalOverride", true)
arg2.collisions:toggle("all", "2_limbs")
arg2:lockRoot(true)
LocalPlayer_upvr.Character.HumanoidRootPart.WeightR.Massless = true
LocalPlayer_upvr.Character.HumanoidRootPart.WeightL.Massless = true
local BodyVelocity = Instance.new("BodyVelocity", LocalPlayer_upvr.Character.HumanoidRootPart)
BodyVelocity.Velocity = Vector3.new(0, 1, 0)
BodyVelocity.MaxForce = Vector3.new(0, 5000, 0)
Services_upvr.Debris:AddItem(BodyVelocity, 0.3125)
workspace.CurrentCamera.CameraSubject = LocalPlayer_upvr.Character.Head
if _G._root:GetAttribute("currentFoot") == 'R' then
arg1.react.new({"RightFoot", "RightBoot", "Collide"})
else
arg1.react.new({"LeftFoot", "LeftBoot", "Collide"})
end
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name][_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1.Looped = false
any_LoadAnimation_result1:Play(nil, nil, 1.6)
task.wait(0.37499999999999994)
arg2:lockRoot(false)
arg2.ragdoll:toggle(true)
task.wait(0.6)
arg2:resetPowerBar()
arg1.react.clear()
arg1.canReact = false
task.wait(0.1)
Services_upvr.RunService.Heartbeat:Connect(function() -- Line 173
--[[ Upvalues[1]:
[1]: LocalPlayer_upvr (copied, readonly)
]]
LocalPlayer_upvr.Character.HumanoidRootPart.WeightR.Massless = true
LocalPlayer_upvr.Character.HumanoidRootPart.WeightL.Massless = true
end):Disconnect()
arg2.ragdoll:toggle(false)
task.wait(1)
arg1.using = false
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
end
end
function module_upvr.clear(arg1) -- Line 200
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:38
-- Luau version 6, Types version 3
-- Time taken: 0.012142 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_upvr = {
tool = script.Parent.Parent;
minPower = 40;
maxPower = 90;
minHeight = 0;
maxHeight = 9;
power = 0;
height = 0;
chargeSpeed = 0.35;
charging = false;
canReact = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 34
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
if arg2.Position.Y <= 1.5 then return end
local tbl = {}
tbl.ball = arg2
tbl.limb = arg1
tbl.exemptShielding = true
tbl.vector = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart").CFrame.LookVector * module_upvr.power + Vector3.new(0, module_upvr.height, 0)
tbl.maxForce = Vector3.new(10000, 10000, 10000)
tbl.curve = true
tbl.curveType = "inverted"
tbl.checkOffside = true
tbl.currentFoot = module_upvr.currentFoot
tbl.updateStats = "Shots"
module_upvr.root:react(tbl)
end
end
local tbl_3 = {}
local any_load_result1_upvr = _engine:load("Hitboxes")
function tbl_3.new(arg1) -- Line 66
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: module_upvr (readonly)
]]
local tbl_2 = {}
tbl_2.limbs = arg1
tbl_2.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr.new(tbl_2)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear() -- Line 72
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_3.clear = clear
module_upvr.react = tbl_3
local any_load_result1_upvr_2 = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 80
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr_2 (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr_2.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 89
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
function module_upvr.inputBegan(arg1, arg2) -- Line 106
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then
else
arg1.charging = true
arg1.currentFoot = _G._root:GetAttribute("currentFoot")
arg2:chargeUp(arg1.chargeSpeed)
task.spawn(function() -- Line 115
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: Services_upvr (copied, readonly)
]]
while _G._root:GetAttribute("charging") and LocalPlayer_upvr.PlayerGui:FindFirstChild("UI") do
arg1.power = arg1.minPower + (arg1.maxPower - arg1.minPower) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
arg1.height = arg1.minHeight + (arg1.maxHeight - arg1.minHeight) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
Services_upvr.RunService.RenderStepped:Wait()
end
end)
end
end
local References_upvr = _engine.References
function module_upvr.inputEnded(arg1, arg2) -- Line 132
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
[3]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or not _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or not arg1.charging or arg1.using then
else
arg1.charging = false
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("charging", false)
_G._root:SetAttribute("globalOverride", true)
arg2.collisions:toggle("all", "2_limbs")
arg2:lockRoot(true)
LocalPlayer_upvr.Character.HumanoidRootPart.WeightR.Massless = true
LocalPlayer_upvr.Character.HumanoidRootPart.WeightL.Massless = true
local HumanoidRootPart_upvr = LocalPlayer_upvr.Character.HumanoidRootPart
local LookVector_upvr = HumanoidRootPart_upvr.CFrame.LookVector
local BodyVelocity = Instance.new("BodyVelocity", HumanoidRootPart_upvr)
BodyVelocity.Velocity = LookVector_upvr * 30 + Vector3.new(0, 3, 0)
BodyVelocity.MaxForce = Vector3.new(10000, 5000, 10000)
Services_upvr.Debris:AddItem(BodyVelocity, 0.28125)
task.delay(0.1, function() -- Line 163
--[[ Upvalues[2]:
[1]: HumanoidRootPart_upvr (readonly)
[2]: LookVector_upvr (readonly)
]]
if HumanoidRootPart_upvr and HumanoidRootPart_upvr:FindFirstChild("BodyVelocity") then
HumanoidRootPart_upvr.BodyVelocity.Velocity = LookVector_upvr * 25 + Vector3.new(0, 1, 0)
end
end)
workspace.CurrentCamera.CameraSubject = LocalPlayer_upvr.Character.Head
if _G._root:GetAttribute("currentFoot") == 'R' then
arg1.react.new({"Head"})
else
arg1.react.new({"Head"})
end
local DivingHeader = References_upvr.Main.animations.Tools.kick.divingheader.DivingHeader
if not DivingHeader or typeof(DivingHeader) ~= "Instance" or not DivingHeader:IsA("Animation") then
warn("Diving Header Animation not found or is not an Animation object")
arg1.using = false
_G._root:SetAttribute("globalOverride", false)
return
end
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(DivingHeader)
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1.Looped = false
any_LoadAnimation_result1:Play(nil, nil, 1.6)
task.wait(0.37499999999999994)
arg2:lockRoot(false)
arg2.ragdoll:toggle(true)
task.wait(0.6)
arg2:resetPowerBar()
arg1.react.clear()
arg1.canReact = false
task.wait(0.1)
Services_upvr.RunService.Heartbeat:Connect(function() -- Line 195
--[[ Upvalues[1]:
[1]: LocalPlayer_upvr (copied, readonly)
]]
LocalPlayer_upvr.Character.HumanoidRootPart.WeightR.Massless = true
LocalPlayer_upvr.Character.HumanoidRootPart.WeightL.Massless = true
end):Disconnect()
arg2.ragdoll:toggle(false)
task.wait(1)
arg1.using = false
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
end
end
function module_upvr.clear(arg1) -- Line 222
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:39
-- Luau version 6, Types version 3
-- Time taken: 0.011427 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_upvr = {
tool = script.Parent.Parent;
minPower = 40;
maxPower = 95;
minHeight = 0;
maxHeight = 11;
power = 0;
height = 0;
chargeSpeed = 0.35;
charging = false;
canReact = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 34
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
if arg2.Position.Y < LocalPlayer_upvr.Character.HumanoidRootPart.Position.Y - 1.5 then return end
local tbl = {}
tbl.ball = arg2
tbl.limb = arg1
tbl.exemptShielding = true
tbl.vector = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart").CFrame.LookVector * module_upvr.power + Vector3.new(0, module_upvr.height, 0)
tbl.maxForce = Vector3.new(10000, 10000, 10000)
tbl.curve = true
tbl.curveType = "inverted"
tbl.checkOffside = true
tbl.currentFoot = module_upvr.currentFoot
tbl.updateStats = "Shots"
module_upvr.root:react(tbl)
end
end
local tbl_3 = {}
local any_load_result1_upvr = _engine:load("Hitboxes")
function tbl_3.new(arg1) -- Line 67
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: module_upvr (readonly)
]]
local tbl_2 = {}
tbl_2.limbs = arg1
tbl_2.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr.new(tbl_2)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear() -- Line 73
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_3.clear = clear
module_upvr.react = tbl_3
local any_load_result1_upvr_2 = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 81
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr_2 (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr_2.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 90
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
function module_upvr.inputBegan(arg1, arg2) -- Line 107
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then
else
arg1.charging = true
arg1.currentFoot = _G._root:GetAttribute("currentFoot")
arg2:chargeUp(arg1.chargeSpeed)
task.spawn(function() -- Line 116
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: Services_upvr (copied, readonly)
]]
while _G._root:GetAttribute("charging") and LocalPlayer_upvr.PlayerGui:FindFirstChild("UI") do
arg1.power = arg1.minPower + (arg1.maxPower - arg1.minPower) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
arg1.height = arg1.minHeight + (arg1.maxHeight - arg1.minHeight) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
Services_upvr.RunService.RenderStepped:Wait()
end
end)
end
end
local References_upvr = _engine.References
function module_upvr.inputEnded(arg1, arg2) -- Line 133
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
[3]: References_upvr (readonly)
]]
local var17
if _G._root:GetAttribute("globalOverride") or not _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or not arg1.charging or arg1.using then
else
var17 = 100
arg1.charging = false
arg1.using = true
arg1.canReact = true
var17 = "charging"
_G._root:SetAttribute(var17, false)
var17 = "globalOverride"
_G._root:SetAttribute(var17, true)
var17 = "all"
arg2.collisions:toggle(var17, "2_limbs")
var17 = true
arg2:lockRoot(var17)
var17 = LocalPlayer_upvr.Character
var17.HumanoidRootPart.WeightR.Massless = true
var17 = LocalPlayer_upvr.Character
var17.HumanoidRootPart.WeightL.Massless = true
var17 = LocalPlayer_upvr.Character.HumanoidRootPart
local BodyVelocity_2 = Instance.new("BodyVelocity", var17)
BodyVelocity_2.Velocity = Vector3.new(0, 2.79999, 0)
BodyVelocity_2.MaxForce = Vector3.new(0, 8500, 0)
var17 = Services_upvr
var17.Debris:AddItem(BodyVelocity_2, 0.3333333333333333)
var17 = LocalPlayer_upvr
local UpperTorso = var17.Character:FindFirstChild("UpperTorso")
if UpperTorso then
var17 = Instance.new("BodyVelocity", UpperTorso)
var17.Velocity = Vector3.new(0, 2.5, 0)
var17.MaxForce = Vector3.new(0, 4500, 0)
Services_upvr.Debris:AddItem(var17, 0.30952380952380953)
end
local function INLINED() -- Internal function, doesn't exist in bytecode
var17 = LocalPlayer_upvr.Character:FindFirstChild("RightUpperLeg")
return var17
end
if _G._root:GetAttribute("currentFoot") ~= 'R' or not INLINED() then
var17 = LocalPlayer_upvr.Character:FindFirstChild("LeftUpperLeg")
end
if var17 then
local BodyVelocity = Instance.new("BodyVelocity", var17)
BodyVelocity.Velocity = Vector3.new(0, 2, 0)
BodyVelocity.MaxForce = Vector3.new(0, 3000, 0)
Services_upvr.Debris:AddItem(BodyVelocity, 0.23809523809523808)
end
local var21 = "BodyAngularVelocity"
local any = Instance.new(var21, LocalPlayer_upvr.Character.HumanoidRootPart)
if _G._root:GetAttribute("currentFoot") == 'R' then
var21 = 1.5
else
var21 = -1.5
end
any.AngularVelocity = Vector3.new(0, var21, 0)
any.MaxTorque = Vector3.new(0, 40000, 0)
Services_upvr.Debris:AddItem(any, 0.19047619047619047)
local BodyAngularVelocity = Instance.new("BodyAngularVelocity", LocalPlayer_upvr.Character.HumanoidRootPart)
BodyAngularVelocity.AngularVelocity = Vector3.new(4, 0, 0)
BodyAngularVelocity.MaxTorque = Vector3.new(65000, 0, 0)
Services_upvr.Debris:AddItem(BodyAngularVelocity, 0.2857142857142857)
local UpperTorso_2 = LocalPlayer_upvr.Character:FindFirstChild("UpperTorso")
if UpperTorso_2 then
local BodyAngularVelocity_2 = Instance.new("BodyAngularVelocity", UpperTorso_2)
BodyAngularVelocity_2.AngularVelocity = Vector3.new(3, 0, 0)
BodyAngularVelocity_2.MaxTorque = Vector3.new(30000, 0, 0)
Services_upvr.Debris:AddItem(BodyAngularVelocity_2, 0.2619047619047619)
end
workspace.CurrentCamera.CameraSubject = LocalPlayer_upvr.Character.Head
if _G._root:GetAttribute("currentFoot") == 'R' then
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "Collide"})
else
arg1.react.new({"LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
end
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", var17):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name][_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1.Looped = false
any_LoadAnimation_result1:AdjustWeight(1.5)
any_LoadAnimation_result1:Play(0.15, nil, 2.1)
task.wait(0.4047619047619047)
arg2:lockRoot(false)
arg2.ragdoll:toggle(true)
task.wait(0.8)
arg2:resetPowerBar()
arg1.react.clear()
arg1.canReact = false
task.wait(0.1)
Services_upvr.RunService.Heartbeat:Connect(function() -- Line 220
--[[ Upvalues[1]:
[1]: LocalPlayer_upvr (copied, readonly)
]]
LocalPlayer_upvr.Character.HumanoidRootPart.WeightR.Massless = true
LocalPlayer_upvr.Character.HumanoidRootPart.WeightL.Massless = true
end):Disconnect()
arg2.ragdoll:toggle(false)
task.wait(1)
arg1.using = false
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
end
end
function module_upvr.clear(arg1) -- Line 247
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:41
-- Luau version 6, Types version 3
-- Time taken: 0.013929 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_upvr = {
tool = script.Parent.Parent;
minPower = 40;
maxPower = 90;
minHeight = 0;
maxHeight = 9;
power = 0;
height = 0;
chargeSpeed = 0.35;
charging = false;
canReact = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 34
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
if arg2.Position.Y <= 1.5 then return end
local HumanoidRootPart = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart")
local LookVector = HumanoidRootPart.CFrame.LookVector
if module_upvr.currentFoot == 'R' then
LookVector = (LookVector - HumanoidRootPart.CFrame.RightVector * 0.1).Unit
elseif module_upvr.currentFoot == 'L' then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
LookVector = (LookVector + HumanoidRootPart.CFrame.RightVector * 0.1).Unit
end
local tbl_2 = {}
tbl_2.ball = arg2
tbl_2.limb = arg1
tbl_2.exemptShielding = true
tbl_2.vector = LookVector * module_upvr.power + Vector3.new(0, module_upvr.height, 0)
tbl_2.maxForce = Vector3.new(10000, 10000, 10000)
tbl_2.curve = true
tbl_2.curveType = "inverted"
tbl_2.checkOffside = true
tbl_2.currentFoot = module_upvr.currentFoot
tbl_2.updateStats = "Shots"
module_upvr.root:react(tbl_2)
end
end
local tbl = {}
local any_load_result1_upvr_2 = _engine:load("Hitboxes")
function tbl.new(arg1) -- Line 81
--[[ Upvalues[2]:
[1]: any_load_result1_upvr_2 (readonly)
[2]: module_upvr (readonly)
]]
local tbl_3 = {}
tbl_3.limbs = arg1
tbl_3.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr_2.new(tbl_3)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear() -- Line 87
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl.clear = clear
module_upvr.react = tbl
local any_load_result1_upvr = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 95
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 104
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
function module_upvr.inputBegan(arg1, arg2) -- Line 121
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then
else
arg1.charging = true
arg1.currentFoot = _G._root:GetAttribute("currentFoot")
arg2:chargeUp(arg1.chargeSpeed)
task.spawn(function() -- Line 130
--[[ Upvalues[4]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: arg2 (readonly)
[4]: Services_upvr (copied, readonly)
]]
while _G._root:GetAttribute("charging") and LocalPlayer_upvr.PlayerGui:FindFirstChild("UI") do
local var18
if _G._root:GetAttribute("AngleBarEnabled") and arg2.IsAngleBarEnabledForTool then
var18 = arg2:IsAngleBarEnabledForTool("karate_kick")
end
if var18 then
arg1.height = (arg1.minHeight + (arg1.maxHeight - arg1.minHeight) * 1) * (1 - (1 - (_G._root:GetAttribute("CurrentLookAngle_0_60") or 30) / 60) ^ 2)
arg1.power = arg1.minPower + (arg1.maxPower - arg1.minPower) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
else
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
arg1.power = arg1.minPower + (arg1.maxPower - arg1.minPower) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
arg1.height = arg1.minHeight + (arg1.maxHeight - arg1.minHeight) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
end
Services_upvr.RunService.RenderStepped:Wait()
end
end)
end
end
local References_upvr = _engine.References
function module_upvr.inputEnded(arg1, arg2) -- Line 164
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
[3]: References_upvr (readonly)
]]
local var20
if _G._root:GetAttribute("globalOverride") or not _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or not arg1.charging or arg1.using then
else
var20 = 100
arg1.charging = false
arg1.using = true
arg1.canReact = true
var20 = "charging"
_G._root:SetAttribute(var20, false)
var20 = "globalOverride"
_G._root:SetAttribute(var20, true)
var20 = "all"
arg2.collisions:toggle(var20, "2_limbs")
var20 = true
arg2:lockRoot(var20)
var20 = LocalPlayer_upvr.Character
var20.HumanoidRootPart.WeightR.Massless = true
var20 = LocalPlayer_upvr.Character
var20.HumanoidRootPart.WeightL.Massless = true
var20 = LocalPlayer_upvr
local HumanoidRootPart_2 = var20.Character.HumanoidRootPart
var20 = HumanoidRootPart_2.CFrame
var20 = 0
if HumanoidRootPart_2.Position.Y < 2 then
var20 = 3
end
local BodyVelocity = Instance.new("BodyVelocity", HumanoidRootPart_2)
BodyVelocity.Velocity = var20.LookVector * 30 + Vector3.new(0, var20 + 5, 0)
BodyVelocity.MaxForce = Vector3.new(10000, (var20 + 5) * 250 + 5000, 10000)
Services_upvr.Debris:AddItem(BodyVelocity, 0.3125)
workspace.CurrentCamera.CameraSubject = LocalPlayer_upvr.Character.Head
if _G._root:GetAttribute("currentFoot") == 'R' then
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot"})
else
arg1.react.new({"LeftUpperLeg", "LeftLowerLeg", "LeftFoot"})
end
local currentFoot = _G._root:GetAttribute("currentFoot")
local var26 = References_upvr.Main.animations.Tools.kick.karate[currentFoot]
if not var26 or typeof(var26) ~= "Instance" or not var26:IsA("Animation") then
warn("Karate kick animation for foot '"..tostring(currentFoot).."' not found or is not an Animation object. Expected at: references.Main.animations.Tools.kick.karate."..tostring(currentFoot))
arg1.using = false
_G._root:SetAttribute("globalOverride", false)
return
end
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", var20):LoadAnimation(var26)
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1.Looped = false
any_LoadAnimation_result1:Play(nil, nil, 1.8)
task.wait(0.4444444444444445)
arg2:lockRoot(false)
arg2.ragdoll:toggle(true)
task.wait(0.6)
arg2:resetPowerBar()
arg1.react.clear()
arg1.canReact = false
task.wait(0.1)
Services_upvr.RunService.Heartbeat:Connect(function() -- Line 233
--[[ Upvalues[1]:
[1]: LocalPlayer_upvr (copied, readonly)
]]
LocalPlayer_upvr.Character.HumanoidRootPart.WeightR.Massless = true
LocalPlayer_upvr.Character.HumanoidRootPart.WeightL.Massless = true
end):Disconnect()
arg2.ragdoll:toggle(false)
task.wait(1)
arg1.using = false
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
end
end
function module_upvr.clear(arg1) -- Line 260
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:42
-- Luau version 6, Types version 3
-- Time taken: 0.011157 seconds
local _engine = _G._engine
local any_load_result1_upvr = _engine:load("Maid")
local Services_upvr = _engine.Services
local tbl_upvr = {
tool = script.Parent;
equipped = false;
}
local module = {}
local References_upvr = _engine.References
function module.init(arg1, arg2) -- Line 19
--[[ Upvalues[4]:
[1]: any_load_result1_upvr (readonly)
[2]: tbl_upvr (readonly)
[3]: Services_upvr (readonly)
[4]: References_upvr (readonly)
]]
local any_new_result1 = any_load_result1_upvr.new()
for i, v in next, tbl_upvr do
arg1[i] = v
end
arg1.maid = any_new_result1
arg1.root = arg2
arg1.binds = {}
for _, v_2 in next, arg1.tool.binds:GetChildren() do
if v_2 and v_2:IsA("ModuleScript") then
local v_2_2 = require(v_2)
v_2_2:init(arg2)
arg1.binds[v_2.Name] = v_2_2
end
end
if arg1.tool:FindFirstChild("combos") then
arg1.combos = {}
for _, v_3 in next, arg1.tool.combos:GetChildren() do
if v_3 and v_3:IsA("ModuleScript") then
local v_3_2 = require(v_3)
v_3_2:init(arg2)
arg1.combos[v_3.Name] = v_3_2
end
end
end
any_new_result1.inputBegan = Services_upvr.UserInputService.InputBegan:Connect(function(arg1_2, arg2_2) -- Line 52
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: Services_upvr (copied, readonly)
[3]: References_upvr (copied, readonly)
[4]: arg2 (readonly)
]]
local var29
if not var29 then
else
local function INLINED() -- Internal function, doesn't exist in bytecode
var29 = Services_upvr.UserInputService:GetFocusedTextBox()
return var29
end
if arg2_2 or INLINED() then return end
var29 = arg1_2.KeyCode.Name
if var29 == "Unknown" then
var29 = arg1_2.UserInputType.Name
end
for _, v_9 in next, References_upvr.Profile.binds:GetChildren() do
if v_9 and string.lower(v_9.Name) == string.lower(arg1.tool.Name) then
for _, v_10 in next, v_9:GetChildren() do
if typeof(v_10.Value) == "string" and string.lower(v_10.Value) == string.lower(var29) then
local string_lower_result1 = string.lower(v_10.Name)
if arg1.binds[string_lower_result1] and arg1.binds[string_lower_result1].inputBegan then
arg1.binds[string_lower_result1]:inputBegan(arg2)
elseif arg1.combos and arg1.combos[string_lower_result1] and arg1.combos[string_lower_result1].inputBegan then
arg1.combos[string_lower_result1]:inputBegan(arg2)
end
end
end
end
end
end
end)
any_new_result1.inputEnded = Services_upvr.UserInputService.InputEnded:Connect(function(arg1_3, arg2_3) -- Line 83
--[[ Upvalues[4]:
[1]: Services_upvr (copied, readonly)
[2]: References_upvr (copied, readonly)
[3]: arg1 (readonly)
[4]: arg2 (readonly)
]]
if arg2_3 or Services_upvr.UserInputService:GetFocusedTextBox() then
else
if arg1_3.KeyCode.Name == "Unknown" then
end
for _, v_11 in next, References_upvr.Profile.binds:GetChildren() do
if v_11 and string.lower(v_11.Name) == string.lower(arg1.tool.Name) then
for _, v_12 in next, v_11:GetChildren() do
if typeof(v_12.Value) == "string" and string.lower(v_12.Value) == string.lower(arg1_3.UserInputType.Name) then
local string_lower_result1_2 = string.lower(v_12.Name)
if arg1.binds[string_lower_result1_2] and arg1.binds[string_lower_result1_2].inputEnded then
arg1.binds[string_lower_result1_2]:inputEnded(arg2)
elseif arg1.combos and arg1.combos[string_lower_result1_2] and arg1.combos[string_lower_result1_2].inputEnded then
arg1.combos[string_lower_result1_2]:inputEnded(arg2)
end
end
end
end
end
end
end)
end
function module.initCustom(arg1, arg2) -- Line 112
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: tbl_upvr (readonly)
]]
for i_4, v_4 in next, tbl_upvr do
arg1[i_4] = v_4
end
arg1.equipped = true
arg1.maid = any_load_result1_upvr.new()
arg1.root = arg2
arg1.binds = {}
for _, v_5 in next, arg1.tool.binds:GetChildren() do
if v_5 and v_5:IsA("ModuleScript") then
local v_5_2 = require(v_5)
v_5_2:init(arg2)
arg1.binds[v_5.Name] = v_5_2
end
end
if arg1.tool:FindFirstChild("combos") then
arg1.combos = {}
for _, v_6 in next, arg1.tool.combos:GetChildren() do
if v_6 and v_6:IsA("ModuleScript") then
local v_6_2 = require(v_6)
v_6_2:init(arg2)
arg1.combos[v_6.Name] = v_6_2
end
end
end
end
function module.inputBegan(arg1, arg2, arg3) -- Line 147
if arg1.binds[arg3] and arg1.binds[arg3].inputBegan then
arg1.binds[arg3]:inputBegan(arg2)
elseif arg1.combos and arg1.combos[arg3] and arg1.combos[arg3].inputBegan then
arg1.combos[arg3]:inputBegan(arg2)
end
end
function module.inputEnded(arg1, arg2, arg3) -- Line 155
if arg1.binds[arg3] and arg1.binds[arg3].inputEnded then
arg1.binds[arg3]:inputEnded(arg2)
elseif arg1.combos and arg1.combos[arg3] and arg1.combos[arg3].inputEnded then
arg1.combos[arg3]:inputEnded(arg2)
end
end
function module.equip(arg1) -- Line 163
arg1.equipped = true
end
function module.unequip(arg1) -- Line 167
arg1.equipped = false
end
function module.clear(arg1) -- Line 171
for i_7, v_7 in next, arg1.binds do
if i_7 and v_7 then
v_7:clear()
end
end
if arg1.combos then
for i_8, v_8 in next, arg1.combos do
if i_8 and v_8 then
v_8:clear()
end
end
end
arg1.equipped = false
arg1.maid:DoCleaning()
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:44
-- Luau version 6, Types version 3
-- Time taken: 0.006908 seconds
local _engine = _G._engine
local LocalPlayer_upvr = _engine.Services.Players.LocalPlayer
local tbl_4_upvr = {
tool = script.Parent.Parent;
canReact = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 22
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
local HumanoidRootPart = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart")
local var6 = (HumanoidRootPart.CFrame * CFrame.Angles(0.15707963267948966, 0, 0)).LookVector * 20.5
if module_upvr.root:isSprinting() then
var6 = (HumanoidRootPart.CFrame * CFrame.Angles(0.15707963267948966, 0, 0)).LookVector * 30.5
end
local tbl_3 = {}
tbl_3.ball = arg2
tbl_3.limb = arg1
tbl_3.vector = var6
tbl_3.maxForce = Vector3.new(10000, 10000, 10000)
tbl_3.checkOffside = true
module_upvr.root:react(tbl_3)
end
end
local tbl_2 = {}
local any_load_result1_upvr = _engine:load("Hitboxes")
function tbl_2.new(arg1) -- Line 44
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: module_upvr (readonly)
]]
local tbl = {}
tbl.limbs = arg1
tbl.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr.new(tbl)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 50
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_2.clear = clear
module_upvr.react = tbl_2
local any_load_result1_upvr_2 = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 58
--[[ Upvalues[2]:
[1]: tbl_4_upvr (readonly)
[2]: any_load_result1_upvr_2 (readonly)
]]
for i, v in next, tbl_4_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr_2.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 67
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
local References_upvr = _engine.References
function module_upvr.inputBegan(arg1, arg2) -- Line 84
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 25 start (CF ANALYSIS FAILED)
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using or arg1.tool.combos.fake:GetAttribute("ready") then
else
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("globalOverride", true)
if _G._root:GetAttribute("currentFoot") == 'R' then
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "Collide"})
-- KONSTANTWARNING: GOTO [106] #73
end
-- KONSTANTERROR: [0] 1. Error Block 25 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [92] 63. Error Block 24 start (CF ANALYSIS FAILED)
arg1.react.new({"LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
if arg2:isSprinting() then
local any_LoadAnimation_result1_2 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name].Sprint[_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1_2.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1_2:Play()
else
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name].Dribble[_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
end
task.wait(0.05)
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
task.wait(0.2)
arg1.react.clear()
arg1.canReact = false
task.wait(0.1)
arg1.using = false
-- KONSTANTERROR: [92] 63. Error Block 24 end (CF ANALYSIS FAILED)
end
end
function module_upvr.clear(arg1) -- Line 125
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:45
-- Luau version 6, Types version 3
-- Time taken: 0.005544 seconds
local _engine = _G._engine
local LocalPlayer_upvr = _engine.Services.Players.LocalPlayer
local tbl_4_upvr = {
tool = script.Parent.Parent;
canReact = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 22
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
local HumanoidRootPart = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart")
local var6 = (HumanoidRootPart.CFrame * CFrame.Angles(0.15707963267948966, 0, 0)).RightVector * 15.5
if module_upvr.root:isSprinting() then
var6 = (HumanoidRootPart.CFrame * CFrame.Angles(0.15707963267948966, 0, 0)).RightVector * 20.5
end
local tbl_3 = {}
tbl_3.ball = arg2
tbl_3.limb = arg1
tbl_3.vector = var6
tbl_3.maxForce = Vector3.new(100000, 100000, 100000)
tbl_3.checkOffside = true
module_upvr.root:react(tbl_3)
end
end
local tbl_2 = {}
local any_load_result1_upvr = _engine:load("Hitboxes")
function tbl_2.new(arg1) -- Line 44
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: module_upvr (readonly)
]]
local tbl = {}
tbl.limbs = arg1
tbl.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr.new(tbl)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 50
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_2.clear = clear
module_upvr.react = tbl_2
local any_load_result1_upvr_2 = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 58
--[[ Upvalues[2]:
[1]: tbl_4_upvr (readonly)
[2]: any_load_result1_upvr_2 (readonly)
]]
for i, v in next, tbl_4_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr_2.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 67
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
local References_upvr = _engine.References
function module_upvr.inputBegan(arg1, arg2) -- Line 84
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using or arg1.tool.combos.fake:GetAttribute("ready") then
else
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("globalOverride", true)
arg1.react.new({"LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name].chop.Right)
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
task.wait(0.05)
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
task.wait(0.2)
arg1.react.clear()
arg1.canReact = false
task.wait(0.1)
arg1.using = false
end
end
function module_upvr.clear(arg1) -- Line 115
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:47
-- Luau version 6, Types version 3
-- Time taken: 0.009629 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_2_upvr = {
tool = script.Parent.Parent;
canReact = false;
using = false;
ankle = true;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 23
--[[ Upvalues[3]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
[3]: Services_upvr (readonly)
]]
local var6
if not module_upvr.canReact then
else
var6 = LocalPlayer_upvr
local HumanoidRootPart = var6.Character:FindFirstChild("HumanoidRootPart")
var6 = (HumanoidRootPart.CFrame * CFrame.Angles(0.15707963267948966, 0, 0)).RightVector * -14.5
if 30 <= (Vector3.new(arg2.Position.X, 0, arg2.Position.Z) - Vector3.new(HumanoidRootPart.Position.X, 0, HumanoidRootPart.Position.Z)).Magnitude then return end
if module_upvr.root:isSprinting() then
var6 = (HumanoidRootPart.CFrame * CFrame.Angles(0.15707963267948966, 0, 0)).RightVector * -17.5
end
if _G._root:GetAttribute("currentFoot") == 'R' then
local BodyVelocity = Instance.new("BodyVelocity", HumanoidRootPart)
BodyVelocity.Velocity = HumanoidRootPart.CFrame.RightVector * -12
BodyVelocity.MaxForce = Vector3.new(math.huge, 0, math.huge)
Services_upvr.Debris:AddItem(BodyVelocity, 0.4)
else
var6 = (HumanoidRootPart.CFrame * CFrame.Angles(0.15707963267948966, 0, 0)).RightVector * 14.5
if module_upvr.root:isSprinting() then
var6 = (HumanoidRootPart.CFrame * CFrame.Angles(0.15707963267948966, 0, 0)).RightVector * 17.5
end
local BodyVelocity_2 = Instance.new("BodyVelocity", HumanoidRootPart)
BodyVelocity_2.Velocity = HumanoidRootPart.CFrame.RightVector * 12
BodyVelocity_2.MaxForce = Vector3.new(math.huge, 0, math.huge)
Services_upvr.Debris:AddItem(BodyVelocity_2, 0.4)
end
local tbl_4 = {}
tbl_4.ball = arg2
tbl_4.limb = arg1
tbl_4.vector = var6
tbl_4.maxForce = Vector3.new(100000, 100000, 100000)
tbl_4.checkOffside = true
tbl_4.ankle = true
module_upvr.root:react(tbl_4)
end
end
local tbl = {}
local any_load_result1_upvr_2 = _engine:load("Hitboxes")
function tbl.new(arg1) -- Line 70
--[[ Upvalues[2]:
[1]: any_load_result1_upvr_2 (readonly)
[2]: module_upvr (readonly)
]]
local tbl_3 = {}
tbl_3.limbs = arg1
tbl_3.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr_2.new(tbl_3)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 76
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl.clear = clear
module_upvr.react = tbl
local any_load_result1_upvr = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 84
--[[ Upvalues[2]:
[1]: tbl_2_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
]]
for i, v in next, tbl_2_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 93
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
local References_upvr = _engine.References
function module_upvr.inputBegan(arg1, arg2) -- Line 110
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using or arg1.tool.combos.fake:GetAttribute("ready") then
else
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("globalOverride", true)
if _G._root:GetAttribute("currentFoot") == 'R' then
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "Collide"})
else
arg1.react.new({"LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
end
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name][_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
task.wait(0.1)
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
task.wait(0.3)
arg1.react.clear()
arg1.canReact = false
task.wait(0.1)
arg1.using = false
end
end
function module_upvr.clear(arg1) -- Line 145
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:48
-- Luau version 6, Types version 3
-- Time taken: 0.004695 seconds
local _engine = _G._engine
local LocalPlayer_upvr = _engine.Services.Players.LocalPlayer
local tbl_4_upvr = {
tool = script.Parent.Parent;
canReact = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 22
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
arg2.AssemblyLinearVelocity = Vector3.new()
arg2.AssemblyAngularVelocity = Vector3.new()
local tbl = {}
tbl.ball = arg2
tbl.limb = arg1
tbl.vector = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart").CFrame.LookVector * 0
tbl.maxForce = Vector3.new(10000, 10000, 10000)
tbl.checkOffside = true
module_upvr.root:react(tbl)
end
end
local tbl_3 = {}
local any_load_result1_upvr_2 = _engine:load("Hitboxes")
function tbl_3.new(arg1) -- Line 43
--[[ Upvalues[2]:
[1]: any_load_result1_upvr_2 (readonly)
[2]: module_upvr (readonly)
]]
local tbl_2 = {}
tbl_2.limbs = arg1
tbl_2.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr_2.new(tbl_2)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 49
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_3.clear = clear
module_upvr.react = tbl_3
local any_load_result1_upvr = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 57
--[[ Upvalues[2]:
[1]: tbl_4_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
]]
for i, v in next, tbl_4_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 66
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
local References_upvr = _engine.References
function module_upvr.inputBegan(arg1, arg2) -- Line 83
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using or arg1.tool.combos.fake:GetAttribute("ready") then
else
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("globalOverride", true)
if _G._root:GetAttribute("currentFoot") == 'R' then
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "Collide"})
else
arg1.react.new({"LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
end
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name][_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
task.wait(0.05)
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
task.wait(0.2)
arg1.react.clear()
arg1.canReact = false
task.wait(0.1)
arg1.using = false
end
end
function module_upvr.clear(arg1) -- Line 118
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:50
-- Luau version 6, Types version 3
-- Time taken: 0.002994 seconds
local _engine = _G._engine
local tbl_upvr = {
tool = script.Parent.Parent;
using = false;
}
local module = {}
local any_load_result1_upvr = _engine:load("Maid")
function module.init(arg1, arg2) -- Line 22
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 31
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
local LocalPlayer_upvr = _engine.Services.Players.LocalPlayer
local References_upvr = _engine.References
function module.inputBegan(arg1, arg2) -- Line 48
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using or arg1.tool.combos.fake:GetAttribute("ready") then
else
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("globalOverride", true)
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name]["step over"].Right)
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
task.wait(0.05)
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
task.wait(0.3)
arg1.using = false
end
end
function module.clear(arg1) -- Line 72
arg1.maid:DoCleaning()
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:51
-- Luau version 6, Types version 3
-- Time taken: 0.003730 seconds
local _engine = _G._engine
local tbl_upvr = {
tool = script.Parent.Parent;
using = false;
}
local module = {}
local any_load_result1_upvr = _engine:load("Maid")
function module.init(arg1, arg2) -- Line 21
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 30
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
local LocalPlayer_upvr = _engine.Services.Players.LocalPlayer
local References_upvr = _engine.References
function module.inputBegan(arg1, arg2) -- Line 47
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using or arg1.tool.combos.fake:GetAttribute("ready") then
else
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("globalOverride", true)
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name]["step over"].Left)
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
task.wait(0.05)
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
task.wait(0.3)
arg1.using = false
end
end
function module.clear(arg1) -- Line 71
arg1.maid:DoCleaning()
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:52
-- Luau version 6, Types version 3
-- Time taken: 0.006003 seconds
local _engine = _G._engine
local LocalPlayer_upvr = _engine.Services.Players.LocalPlayer
local tbl_upvr = {
tool = script.Parent.Parent;
canReact = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 22
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
task.spawn(function() -- Line 31
_G._root:SetAttribute("chestCooldown", true)
task.wait(2)
_G._root:SetAttribute("chestCooldown", false)
end)
local tbl = {}
tbl.ball = arg2
tbl.limb = arg1
tbl.vector = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart").AssemblyLinearVelocity * Vector3.new(1, 0, 1) + Vector3.new(0, 27, 0)
tbl.maxForce = Vector3.new(10000, 10000, 10000)
tbl.checkOffside = true
module_upvr.root:react(tbl)
end
end
local tbl_2 = {}
local any_load_result1_upvr_2 = _engine:load("Hitboxes")
function tbl_2.new(arg1) -- Line 47
--[[ Upvalues[2]:
[1]: any_load_result1_upvr_2 (readonly)
[2]: module_upvr (readonly)
]]
local tbl_3 = {}
tbl_3.limbs = arg1
tbl_3.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr_2.new(tbl_3)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 53
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_2.clear = clear
module_upvr.react = tbl_2
local any_load_result1_upvr = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 61
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 70
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
local References_upvr = _engine.References
function module_upvr.inputBegan(arg1, arg2) -- Line 87
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 25 start (CF ANALYSIS FAILED)
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using or arg1.tool.combos.fake:GetAttribute("ready") then
else
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("globalOverride", true)
arg2.collisions:toggle("all", "2_limbs")
if _G._root:GetAttribute("currentFoot") == 'R' then
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "Collide"})
-- KONSTANTWARNING: GOTO [113] #78
end
-- KONSTANTERROR: [0] 1. Error Block 25 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [99] 68. Error Block 24 start (CF ANALYSIS FAILED)
arg1.react.new({"LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
if arg2:isSprinting() then
local any_LoadAnimation_result1_2 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name].Sprint[_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1_2.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1_2:Play()
else
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name].Dribble[_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
end
task.wait(0.1)
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
task.wait(0.2)
arg1.react.clear()
arg1.canReact = false
arg2.collisions:toggle("reset")
task.wait(0.1)
arg1.using = false
-- KONSTANTERROR: [99] 68. Error Block 24 end (CF ANALYSIS FAILED)
end
end
function module_upvr.clear(arg1) -- Line 130
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:54
-- Luau version 6, Types version 3
-- Time taken: 0.005408 seconds
local _engine = _G._engine
local LocalPlayer_upvr = _engine.Services.Players.LocalPlayer
local tbl_4_upvr = {
tool = script.Parent.Parent;
canReact = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 22
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
local HumanoidRootPart = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart")
local var6 = HumanoidRootPart.CFrame.LookVector * 5 + Vector3.new(0, 26, 0)
if _G._root:GetAttribute("currentFoot") == 'R' then
var6 += HumanoidRootPart.CFrame.RightVector * 15
else
var6 += HumanoidRootPart.CFrame.RightVector * -15
end
task.spawn(function() -- Line 37
_G._root:SetAttribute("chestCooldown", true)
task.wait(2)
_G._root:SetAttribute("chestCooldown", false)
end)
local tbl_2 = {}
tbl_2.ball = arg2
tbl_2.limb = arg1
tbl_2.vector = var6
tbl_2.maxForce = Vector3.new(1000, 10000, 1000)
tbl_2.checkOffside = true
module_upvr.root:react(tbl_2)
end
end
local tbl_3 = {}
local any_load_result1_upvr = _engine:load("Hitboxes")
function tbl_3.new(arg1) -- Line 53
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: module_upvr (readonly)
]]
local tbl = {}
tbl.limbs = arg1
tbl.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr.new(tbl)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 59
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_3.clear = clear
module_upvr.react = tbl_3
local any_load_result1_upvr_2 = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 67
--[[ Upvalues[2]:
[1]: tbl_4_upvr (readonly)
[2]: any_load_result1_upvr_2 (readonly)
]]
for i, v in next, tbl_4_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr_2.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 76
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
local References_upvr = _engine.References
function module_upvr.inputBegan(arg1, arg2) -- Line 93
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using or arg1.tool.combos.fake:GetAttribute("ready") then
else
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("globalOverride", true)
if _G._root:GetAttribute("currentFoot") == 'R' then
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "Collide"})
else
arg1.react.new({"LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
end
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name][_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
task.wait(0.1)
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
task.wait(0.2)
arg1.react.clear()
arg1.canReact = false
task.wait(0.1)
arg1.using = false
end
end
function module_upvr.clear(arg1) -- Line 128
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:55
-- Luau version 6, Types version 3
-- Time taken: 0.004762 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_2_upvr = {
tool = script.Parent.Parent;
canReact = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 22
--[[ Upvalues[3]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
[3]: Services_upvr (readonly)
]]
if not module_upvr.canReact then
else
local HumanoidRootPart = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart")
local BodyVelocity = Instance.new("BodyVelocity", HumanoidRootPart)
BodyVelocity.Velocity = HumanoidRootPart.CFrame.LookVector * -15
BodyVelocity.MaxForce = Vector3.new(math.huge, 0, math.huge)
Services_upvr.Debris:AddItem(BodyVelocity, 0.4)
local tbl_3 = {}
tbl_3.ball = arg2
tbl_3.limb = arg1
tbl_3.vector = (HumanoidRootPart.CFrame * CFrame.Angles(0.15707963267948966, 0, 0)).LookVector * -17
tbl_3.maxForce = Vector3.new(10000, 1000, 10000)
tbl_3.ankle = true
tbl_3.checkOffside = true
module_upvr.root:react(tbl_3)
end
end
local tbl_4 = {}
local any_load_result1_upvr = _engine:load("Hitboxes")
function tbl_4.new(arg1) -- Line 47
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: module_upvr (readonly)
]]
local tbl = {}
tbl.limbs = arg1
tbl.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr.new(tbl)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 53
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_4.clear = clear
module_upvr.react = tbl_4
local any_load_result1_upvr_2 = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 61
--[[ Upvalues[2]:
[1]: tbl_2_upvr (readonly)
[2]: any_load_result1_upvr_2 (readonly)
]]
for i, v in next, tbl_2_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr_2.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 70
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
local References_upvr = _engine.References
function module_upvr.inputBegan(arg1, arg2) -- Line 87
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using or arg1.tool.combos.fake:GetAttribute("ready") then
else
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("globalOverride", true)
if _G._root:GetAttribute("currentFoot") == 'R' then
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "Collide"})
else
arg1.react.new({"LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
end
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name][_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
task.wait(0.1)
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
task.wait(0.05)
arg1.react.clear()
arg1.canReact = false
task.wait(0.2)
arg1.using = false
end
end
function module_upvr.clear(arg1) -- Line 122
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:56
-- Luau version 6, Types version 3
-- Time taken: 0.006041 seconds
local _engine = _G._engine
local LocalPlayer_upvr = _engine.Services.Players.LocalPlayer
local tbl_4_upvr = {
tool = script.Parent.Parent;
canReact = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 22
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
local HumanoidRootPart = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart")
local var6 = HumanoidRootPart.CFrame.LookVector * 18
if module_upvr.root:isSprinting() then
var6 = HumanoidRootPart.CFrame.LookVector * 24
end
local tbl_3 = {}
tbl_3.ball = arg2
tbl_3.limb = arg1
tbl_3.vector = var6 + Vector3.new(0, 10.5, 0)
tbl_3.maxForce = Vector3.new(10000, 10000, 10000)
tbl_3.checkOffside = true
module_upvr.root:react(tbl_3)
end
end
local tbl_2 = {}
local any_load_result1_upvr = _engine:load("Hitboxes")
function tbl_2.new(arg1) -- Line 46
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: module_upvr (readonly)
]]
local tbl = {}
tbl.limbs = arg1
tbl.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr.new(tbl)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 52
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_2.clear = clear
module_upvr.react = tbl_2
local any_load_result1_upvr_2 = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 60
--[[ Upvalues[2]:
[1]: tbl_4_upvr (readonly)
[2]: any_load_result1_upvr_2 (readonly)
]]
for i, v in next, tbl_4_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr_2.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 69
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
local References_upvr = _engine.References
function module_upvr.inputBegan(arg1, arg2) -- Line 86
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 25 start (CF ANALYSIS FAILED)
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using or arg1.tool.combos.fake:GetAttribute("ready") then
else
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("globalOverride", true)
if _G._root:GetAttribute("currentFoot") == 'R' then
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "Collide"})
-- KONSTANTWARNING: GOTO [106] #73
end
-- KONSTANTERROR: [0] 1. Error Block 25 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [92] 63. Error Block 24 start (CF ANALYSIS FAILED)
arg1.react.new({"LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
if arg2:isSprinting() then
local any_LoadAnimation_result1_2 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name].Sprint[_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1_2.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1_2:Play()
else
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name].Dribble[_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
end
task.wait(0.05)
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
task.wait(0.2)
arg1.react.clear()
arg1.canReact = false
task.wait(0.1)
arg1.using = false
-- KONSTANTERROR: [92] 63. Error Block 24 end (CF ANALYSIS FAILED)
end
end
function module_upvr.clear(arg1) -- Line 127
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:58
-- Luau version 6, Types version 3
-- Time taken: 0.006780 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_2_upvr = {
tool = script.Parent.Parent;
canReact = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 22
--[[ Upvalues[3]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
[3]: Services_upvr (readonly)
]]
if not module_upvr.canReact then
else
module_upvr.canReact = false
task.spawn(function() -- Line 29
_G._root:SetAttribute("chestCooldown", true)
task.wait(2)
_G._root:SetAttribute("chestCooldown", false)
end)
task.wait(0.13)
local var7 = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart").CFrame.LookVector * 18 + Vector3.new(0, 25, 0)
local tbl_4 = {}
tbl_4.ball = arg2
tbl_4.limb = arg1
tbl_4.specialTool = true
tbl_4.vector = var7
tbl_4.maxForce = Vector3.new(1000, 10000, 1000)
tbl_4.checkOffside = true
module_upvr.root:react(tbl_4)
task.wait(0.025)
local var9 = LocalPlayer_upvr.Character.HumanoidRootPart.CFrame.LookVector * 28
if 3 <= (arg2.AssemblyLinearVelocity * Vector3.new(1, 0, 1)).Magnitude then
if _G._root:GetAttribute("currentFoot") == 'R' then
var9 += LocalPlayer_upvr.Character.HumanoidRootPart.CFrame.RightVector * -10
else
var9 += LocalPlayer_upvr.Character.HumanoidRootPart.CFrame.RightVector * 10
end
end
local BodyForce = Instance.new("BodyForce", arg2)
BodyForce.Force = (arg2:GetMass()) * ((var9 * Vector3.new(1, 0, 1) + Vector3.new(0, 38, 0) - var7) / 0.4)
Services_upvr.Debris:AddItem(BodyForce, 0.4)
end
end
local tbl = {}
local any_load_result1_upvr_2 = _engine:load("Hitboxes")
function tbl.new(arg1) -- Line 74
--[[ Upvalues[2]:
[1]: any_load_result1_upvr_2 (readonly)
[2]: module_upvr (readonly)
]]
local tbl_3 = {}
tbl_3.limbs = arg1
tbl_3.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr_2.new(tbl_3)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 80
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl.clear = clear
module_upvr.react = tbl
local any_load_result1_upvr = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 88
--[[ Upvalues[2]:
[1]: tbl_2_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
]]
for i, v in next, tbl_2_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 97
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
local References_upvr = _engine.References
function module_upvr.inputBegan(arg1, arg2) -- Line 114
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using or arg1.tool.combos.fake:GetAttribute("ready") then
else
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("globalOverride", true)
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name][_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
task.wait(0.3)
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
task.wait(0.2)
arg1.react.clear()
arg1.canReact = false
task.wait(0.2)
arg1.using = false
end
end
function module_upvr.clear(arg1) -- Line 145
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:11:59
-- Luau version 6, Types version 3
-- Time taken: 0.009524 seconds
local _engine = _G._engine
local LocalPlayer_upvr = _engine.Services.Players.LocalPlayer
local tbl_upvr = {
_shielding = true;
canReact = false;
using = false;
}
local module_upvr = {}
local tbl_2 = {}
local any_load_result1_upvr = _engine:load("Hitboxes")
function tbl_2._new(arg1) -- Line 28
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: module_upvr (readonly)
]]
local tbl_3 = {}
tbl_3.limbs = arg1
tbl_3.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr.new(tbl_3)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
function tbl_2._clear() -- Line 35
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
module_upvr.react = tbl_2
function module_upvr.onTouched(arg1, arg2) -- Line 43
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
local var9
if not module_upvr.canReact then
else
var9 = LocalPlayer_upvr
local HumanoidRootPart = var9.Character:FindFirstChild("HumanoidRootPart")
var9 = nil
if module_upvr.using == "Side" then
local CFrame_2 = HumanoidRootPart.CFrame
if _G._root:GetAttribute("currentFoot") == 'R' then
CFrame_2 = 14
else
CFrame_2 = -14
end
var9 = CFrame_2.RightVector * CFrame_2
var9 += HumanoidRootPart.CFrame.LookVector * 5
elseif module_upvr.using == "Forward" then
local CFrame = HumanoidRootPart.CFrame
if module_upvr.root:isSprinting() then
CFrame = 24
else
CFrame = 19
end
var9 = CFrame.LookVector * CFrame
end
if var9 then
local tbl = {}
tbl.ball = arg2
tbl.limb = arg1
tbl.vector = var9
tbl.maxForce = Vector3.new(10000, 0, 10000)
tbl.checkOffside = true
module_upvr.root:react(tbl)
end
end
end
local any_load_result1_upvr_2 = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 86
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr_2 (readonly)
]]
arg1.tool = script.Parent.Parent
for i, v in next, tbl_upvr do
if i ~= "tool" then
arg1[i] = v
end
end
arg1.root = arg2
if not arg1.maid then
arg1.maid = any_load_result1_upvr_2.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 101
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react._clear()
end
arg1.canReact = false
arg1.using = false
end
end)
end
local References_upvr = _engine.References
function module_upvr.inputBegan(arg1, arg2) -- Line 117
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or arg1.using or _G._root:GetAttribute("ragdoll") or arg1.root:isAirbourne() then
else
if not arg1.root:getNearestBall(10) then return end
_G._root:SetAttribute("globalOverride", true)
arg1.canReact = true
local any_LoadAnimation_result1_upvr = LocalPlayer_upvr.Character.Humanoid.Animator:LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name].roulette[_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1_upvr.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1_upvr:Play(nil, nil, 1.5)
arg1.using = "Side"
task.delay(0.13333333333333333, function() -- Line 142
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if not _G._root:GetAttribute("forceDisable") then
if _G._root:GetAttribute("currentFoot") == 'R' then
arg1.react._new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot"})
return
end
arg1.react._new({"LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot"})
end
end)
task.delay(0.3333333333333333, function() -- Line 152
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if not _G._root:GetAttribute("forceDisable") then
arg1.react._clear()
arg1.using = "Forward"
if _G._root:GetAttribute("currentFoot") == 'R' then
arg1.react._new({"LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot"})
return
end
arg1.react._new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot"})
end
end)
task.delay(any_LoadAnimation_result1_upvr.Length / 1.5 - 0.35, function() -- Line 165
--[[ Upvalues[1]:
[1]: any_LoadAnimation_result1_upvr (readonly)
]]
if any_LoadAnimation_result1_upvr and any_LoadAnimation_result1_upvr.Parent then
any_LoadAnimation_result1_upvr:Stop(0.35)
end
end)
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
task.wait(0.4666666666666666)
if not _G._root:GetAttribute("forceDisable") then
arg1.react._clear()
arg1.canReact = false
end
task.wait(0.06666666666666667)
arg1.using = false
end
end
function module_upvr.clear(arg1) -- Line 185
if arg1.maid then
arg1.maid:DoCleaning()
end
if arg1.activeHitbox then
arg1.react._clear()
end
arg1.canReact = false
arg1.using = false
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:01
-- Luau version 6, Types version 3
-- Time taken: 0.008937 seconds
local _engine = _G._engine
local LocalPlayer_upvr = _engine.Services.Players.LocalPlayer
local tbl_5_upvr = {
tool = script.Parent.Parent;
canReact = false;
ready = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 23
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
local HumanoidRootPart_2 = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart")
local var9
if _G._root:GetAttribute("currentFoot") == 'L' and script.Parent.Parent.combos[script:GetAttribute("parent")]:GetAttribute("used") then
var9 = (HumanoidRootPart_2.CFrame * CFrame.Angles(0.15707963267948966, 0, 0)).RightVector * 15.5
end
if module_upvr.root:isSprinting() then
var9 = (HumanoidRootPart_2.CFrame * CFrame.Angles(0.15707963267948966, 0, 0)).RightVector * -20.5
if _G._root:GetAttribute("currentFoot") == 'L' and script.Parent.Parent.combos[script:GetAttribute("parent")]:GetAttribute("used") then
var9 = (HumanoidRootPart_2.CFrame * CFrame.Angles(0.15707963267948966, 0, 0)).RightVector * 20.5
end
end
local tbl_2 = {}
tbl_2.ball = arg2
tbl_2.limb = arg1
tbl_2.vector = var9
tbl_2.maxForce = Vector3.new(10000, 10000, 10000)
tbl_2.checkOffside = true
module_upvr.root:react(tbl_2)
end
end
local tbl = {}
local any_load_result1_upvr_2 = _engine:load("Hitboxes")
function tbl.new(arg1) -- Line 53
--[[ Upvalues[2]:
[1]: any_load_result1_upvr_2 (readonly)
[2]: module_upvr (readonly)
]]
local tbl_3 = {}
tbl_3.limbs = arg1
tbl_3.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr_2.new(tbl_3)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 59
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl.clear = clear
module_upvr.react = tbl
local any_load_result1_upvr = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 67
--[[ Upvalues[2]:
[1]: tbl_5_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
]]
for i, v in next, tbl_5_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 76
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
local References_upvr = _engine.References
function module_upvr.inputBegan(arg1, arg2) -- Line 93
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then
else
local Animator = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100)
if arg1.tool.combos[script:GetAttribute("parent")]:GetAttribute("ready") then
arg1.tool.combos[script:GetAttribute("parent")]:SetAttribute("ready", false)
arg1.tool.combos[script:GetAttribute("parent")]:SetAttribute("used", true)
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("globalOverride", true)
if _G._root:GetAttribute("currentFoot") == 'R' then
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "Collide"})
else
arg1.react.new({"LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
end
local any_LoadAnimation_result1_2 = Animator:LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name].fake[_G._root:GetAttribute("currentFoot")].X)
any_LoadAnimation_result1_2.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1_2:Play()
task.wait(0.1)
_G._root:SetAttribute("globalOverride", false)
task.wait(0.2)
arg1.react.clear()
arg1.canReact = false
task.wait(0.1)
arg1.tool.combos[script:GetAttribute("parent")]:SetAttribute("used", false)
arg1.using = false
return
end
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("globalOverride", true)
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "Collide"})
local any_LoadAnimation_result1 = Animator:LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name].chop.Left)
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
task.wait(0.1)
_G._root:SetAttribute("globalOverride", false)
task.wait(0.2)
arg1.react.clear()
arg1.canReact = false
task.wait(0.1)
arg1.using = false
end
end
function module_upvr.clear(arg1) -- Line 154
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:02
-- Luau version 6, Types version 3
-- Time taken: 0.006201 seconds
local _engine = _G._engine
local LocalPlayer_upvr = _engine.Services.Players.LocalPlayer
local tbl_4_upvr = {
tool = script.Parent.Parent;
canReact = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 22
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
local HumanoidRootPart = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart")
local var6 = (HumanoidRootPart.CFrame * CFrame.Angles(0.15707963267948966, 0, 0)).RightVector * 15.5
if module_upvr.root:isSprinting() then
var6 = (HumanoidRootPart.CFrame * CFrame.Angles(0.15707963267948966, 0, 0)).RightVector * 20.5
end
local tbl_3 = {}
tbl_3.ball = arg2
tbl_3.limb = arg1
tbl_3.vector = var6 + HumanoidRootPart.CFrame.LookVector * 7
tbl_3.maxForce = Vector3.new(10000, 10000, 10000)
tbl_3.checkOffside = true
module_upvr.root:react(tbl_3)
end
end
local tbl_2 = {}
local any_load_result1_upvr = _engine:load("Hitboxes")
function tbl_2.new(arg1) -- Line 46
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: module_upvr (readonly)
]]
local tbl = {}
tbl.limbs = arg1
tbl.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr.new(tbl)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 52
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_2.clear = clear
module_upvr.react = tbl_2
local any_load_result1_upvr_2 = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 60
--[[ Upvalues[2]:
[1]: tbl_4_upvr (readonly)
[2]: any_load_result1_upvr_2 (readonly)
]]
for i, v in next, tbl_4_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr_2.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 69
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
local References_upvr = _engine.References
function module_upvr.inputBegan(arg1, arg2) -- Line 86
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then
else
local Animator = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100)
if arg1.tool.combos[script:GetAttribute("parent")]:GetAttribute("ready") then
arg1.tool.combos[script:GetAttribute("parent")]:SetAttribute("ready", false)
arg1.tool.combos[script:GetAttribute("parent")]:SetAttribute("used", true)
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("globalOverride", true)
if _G._root:GetAttribute("currentFoot") == 'R' then
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "Collide"})
else
arg1.react.new({"LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
end
local any_LoadAnimation_result1_2 = Animator:LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name].fake[_G._root:GetAttribute("currentFoot")].T)
any_LoadAnimation_result1_2.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1_2:Play()
task.wait(0.1)
_G._root:SetAttribute("globalOverride", false)
task.wait(0.4)
arg1.react.clear()
arg1.canReact = false
task.wait(0.1)
arg1.tool.combos[script:GetAttribute("parent")]:SetAttribute("used", false)
arg1.using = false
return
end
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("globalOverride", true)
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
local any_LoadAnimation_result1 = Animator:LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name].tap.right[_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
task.wait(0.1)
_G._root:SetAttribute("globalOverride", false)
task.wait(0.2)
arg1.react.clear()
arg1.canReact = false
task.wait(0.1)
arg1.using = false
end
end
function module_upvr.clear(arg1) -- Line 147
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:04
-- Luau version 6, Types version 3
-- Time taken: 0.003633 seconds
local _engine = _G._engine
local tbl_upvr = {
tool = script.Parent.Parent;
using = false;
}
local module = {}
local any_load_result1_upvr = _engine:load("Maid")
function module.init(arg1, arg2) -- Line 19
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 28
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
function module.inputBegan(arg1, arg2) -- Line 45
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then
else
script:SetAttribute("ready", true)
end
end
local LocalPlayer_upvr = _engine.Services.Players.LocalPlayer
local References_upvr = _engine.References
function module.inputEnded(arg1, arg2) -- Line 53
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or script:GetAttribute("used") or not script:GetAttribute("ready") or arg1.using then
else
script:SetAttribute("ready", false)
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("globalOverride", true)
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name].fake[_G._root:GetAttribute("currentFoot")].None)
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
task.wait(0.1)
_G._root:SetAttribute("globalOverride", false)
task.wait(0.3)
arg1.using = false
end
end
function module.clear(arg1) -- Line 76
arg1.maid:DoCleaning()
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:05
-- Luau version 6, Types version 3
-- Time taken: 0.007759 seconds
local _engine = _G._engine
local LocalPlayer_upvr = _engine.Services.Players.LocalPlayer
local tbl_4_upvr = {
tool = script.Parent.Parent;
canReact = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 22
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
local HumanoidRootPart = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart")
local var6 = (HumanoidRootPart.CFrame * CFrame.Angles(0.15707963267948966, 0, 0)).RightVector * -15.5
if module_upvr.root:isSprinting() then
var6 = (HumanoidRootPart.CFrame * CFrame.Angles(0.15707963267948966, 0, 0)).RightVector * -20.5
end
local tbl_3 = {}
tbl_3.ball = arg2
tbl_3.limb = arg1
tbl_3.vector = var6 + HumanoidRootPart.CFrame.LookVector * 7
tbl_3.maxForce = Vector3.new(10000, 10000, 10000)
tbl_3.checkOffside = true
module_upvr.root:react(tbl_3)
end
end
local tbl_2 = {}
local any_load_result1_upvr = _engine:load("Hitboxes")
function tbl_2.new(arg1) -- Line 46
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: module_upvr (readonly)
]]
local tbl = {}
tbl.limbs = arg1
tbl.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr.new(tbl)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 52
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_2.clear = clear
module_upvr.react = tbl_2
local any_load_result1_upvr_2 = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 60
--[[ Upvalues[2]:
[1]: tbl_4_upvr (readonly)
[2]: any_load_result1_upvr_2 (readonly)
]]
for i, v in next, tbl_4_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr_2.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 69
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
local References_upvr = _engine.References
function module_upvr.inputBegan(arg1, arg2) -- Line 86
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then
else
local Animator = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100)
if arg1.tool.combos[script:GetAttribute("parent")]:GetAttribute("ready") then
arg1.tool.combos[script:GetAttribute("parent")]:SetAttribute("ready", false)
arg1.tool.combos[script:GetAttribute("parent")]:SetAttribute("used", true)
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("globalOverride", true)
if _G._root:GetAttribute("currentFoot") == 'R' then
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "Collide"})
else
arg1.react.new({"LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
end
local any_LoadAnimation_result1_2 = Animator:LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name].fake[_G._root:GetAttribute("currentFoot")].R)
any_LoadAnimation_result1_2.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1_2:Play()
task.wait(0.1)
_G._root:SetAttribute("globalOverride", false)
task.wait(0.4)
arg1.react.clear()
arg1.canReact = false
task.wait(0.1)
arg1.tool.combos[script:GetAttribute("parent")]:SetAttribute("used", false)
arg1.using = false
return
end
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("globalOverride", true)
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
local any_LoadAnimation_result1 = Animator:LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name].tap.left[_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
task.wait(0.1)
_G._root:SetAttribute("globalOverride", false)
task.wait(0.2)
arg1.react.clear()
arg1.canReact = false
task.wait(0.1)
arg1.using = false
end
end
function module_upvr.clear(arg1) -- Line 147
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:06
-- Luau version 6, Types version 3
-- Time taken: 0.012616 seconds
local _engine = _G._engine
local any_load_result1_upvr = _engine:load("Maid")
local Services_upvr = _engine.Services
local tbl_upvr = {
tool = script.Parent;
equipped = false;
}
local module = {}
local References_upvr = _engine.References
function module.init(arg1, arg2) -- Line 19
--[[ Upvalues[4]:
[1]: any_load_result1_upvr (readonly)
[2]: tbl_upvr (readonly)
[3]: Services_upvr (readonly)
[4]: References_upvr (readonly)
]]
local any_new_result1 = any_load_result1_upvr.new()
for i, v in next, tbl_upvr do
arg1[i] = v
end
arg1.maid = any_new_result1
arg1.root = arg2
arg1.binds = {}
for _, v_2 in next, arg1.tool.binds:GetChildren() do
if v_2 and v_2:IsA("ModuleScript") then
local v_2_2 = require(v_2)
v_2_2:init(arg2)
arg1.binds[v_2.Name] = v_2_2
end
end
if arg1.tool:FindFirstChild("combos") then
arg1.combos = {}
for _, v_3 in next, arg1.tool.combos:GetChildren() do
if v_3 and v_3:IsA("ModuleScript") then
local v_3_2 = require(v_3)
v_3_2:init(arg2)
arg1.combos[v_3.Name] = v_3_2
end
end
end
any_new_result1.inputBegan = Services_upvr.UserInputService.InputBegan:Connect(function(arg1_2, arg2_2) -- Line 52
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: Services_upvr (copied, readonly)
[3]: References_upvr (copied, readonly)
[4]: arg2 (readonly)
]]
local var29
if not var29 then
else
local function INLINED() -- Internal function, doesn't exist in bytecode
var29 = Services_upvr.UserInputService:GetFocusedTextBox()
return var29
end
if arg2_2 or INLINED() then return end
var29 = arg1_2.KeyCode.Name
if var29 == "Unknown" then
var29 = arg1_2.UserInputType.Name
end
for _, v_9 in next, References_upvr.Profile.binds:GetChildren() do
if v_9 and string.lower(v_9.Name) == string.lower(arg1.tool.Name) then
for _, v_10 in next, v_9:GetChildren() do
if typeof(v_10.Value) == "string" and string.lower(v_10.Value) == string.lower(var29) then
local string_lower_result1 = string.lower(v_10.Name)
if arg1.binds[string_lower_result1] and arg1.binds[string_lower_result1].inputBegan then
arg1.binds[string_lower_result1]:inputBegan(arg2)
elseif arg1.combos and arg1.combos[string_lower_result1] and arg1.combos[string_lower_result1].inputBegan then
arg1.combos[string_lower_result1]:inputBegan(arg2)
end
end
end
end
end
end
end)
any_new_result1.inputEnded = Services_upvr.UserInputService.InputEnded:Connect(function(arg1_3, arg2_3) -- Line 83
--[[ Upvalues[4]:
[1]: Services_upvr (copied, readonly)
[2]: References_upvr (copied, readonly)
[3]: arg1 (readonly)
[4]: arg2 (readonly)
]]
if arg2_3 or Services_upvr.UserInputService:GetFocusedTextBox() then
else
if arg1_3.KeyCode.Name == "Unknown" then
end
for _, v_11 in next, References_upvr.Profile.binds:GetChildren() do
if v_11 and string.lower(v_11.Name) == string.lower(arg1.tool.Name) then
for _, v_12 in next, v_11:GetChildren() do
if typeof(v_12.Value) == "string" and string.lower(v_12.Value) == string.lower(arg1_3.UserInputType.Name) then
local string_lower_result1_2 = string.lower(v_12.Name)
if arg1.binds[string_lower_result1_2] and arg1.binds[string_lower_result1_2].inputEnded then
arg1.binds[string_lower_result1_2]:inputEnded(arg2)
elseif arg1.combos and arg1.combos[string_lower_result1_2] and arg1.combos[string_lower_result1_2].inputEnded then
arg1.combos[string_lower_result1_2]:inputEnded(arg2)
end
end
end
end
end
end
end)
end
function module.initCustom(arg1, arg2) -- Line 112
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: tbl_upvr (readonly)
]]
for i_4, v_4 in next, tbl_upvr do
arg1[i_4] = v_4
end
arg1.equipped = true
arg1.maid = any_load_result1_upvr.new()
arg1.root = arg2
arg1.binds = {}
for _, v_5 in next, arg1.tool.binds:GetChildren() do
if v_5 and v_5:IsA("ModuleScript") then
local v_5_2 = require(v_5)
v_5_2:init(arg2)
arg1.binds[v_5.Name] = v_5_2
end
end
if arg1.tool:FindFirstChild("combos") then
arg1.combos = {}
for _, v_6 in next, arg1.tool.combos:GetChildren() do
if v_6 and v_6:IsA("ModuleScript") then
local v_6_2 = require(v_6)
v_6_2:init(arg2)
arg1.combos[v_6.Name] = v_6_2
end
end
end
end
function module.inputBegan(arg1, arg2, arg3) -- Line 147
if arg1.binds[arg3] and arg1.binds[arg3].inputBegan then
arg1.binds[arg3]:inputBegan(arg2)
elseif arg1.combos and arg1.combos[arg3] and arg1.combos[arg3].inputBegan then
arg1.combos[arg3]:inputBegan(arg2)
end
end
function module.inputEnded(arg1, arg2, arg3) -- Line 155
if arg1.binds[arg3] and arg1.binds[arg3].inputEnded then
arg1.binds[arg3]:inputEnded(arg2)
elseif arg1.combos and arg1.combos[arg3] and arg1.combos[arg3].inputEnded then
arg1.combos[arg3]:inputEnded(arg2)
end
end
function module.equip(arg1) -- Line 163
arg1.equipped = true
end
function module.unequip(arg1) -- Line 167
arg1.equipped = false
end
function module.clear(arg1) -- Line 171
for i_7, v_7 in next, arg1.binds do
if i_7 and v_7 then
v_7:clear()
end
end
if arg1.combos then
for i_8, v_8 in next, arg1.combos do
if i_8 and v_8 then
v_8:clear()
end
end
end
arg1.equipped = false
arg1.maid:DoCleaning()
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:08
-- Luau version 6, Types version 3
-- Time taken: 0.005008 seconds
local _engine = _G._engine
local LocalPlayer_upvr = _engine.Services.Players.LocalPlayer
local tbl_4_upvr = {
tool = script.Parent.Parent;
canReact = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 22
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
module_upvr.canReact = false
local tbl = {}
tbl.ball = arg2
tbl.limb = arg1
tbl.extendedAnim = true
tbl.vector = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart").CFrame.LookVector * 35 + Vector3.new(0, 5, 0)
tbl.maxForce = Vector3.new(10000, 10000, 10000)
tbl.checkOffside = true
tbl.tackle = true
module_upvr.root:react(tbl)
end
end
local tbl_3 = {}
local any_load_result1_upvr_2 = _engine:load("Hitboxes")
function tbl_3.new(arg1) -- Line 44
--[[ Upvalues[2]:
[1]: any_load_result1_upvr_2 (readonly)
[2]: module_upvr (readonly)
]]
local tbl_2 = {}
tbl_2.limbs = arg1
tbl_2.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr_2.new(tbl_2)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 50
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_3.clear = clear
module_upvr.react = tbl_3
local any_load_result1_upvr = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 58
--[[ Upvalues[2]:
[1]: tbl_4_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
]]
for i, v in next, tbl_4_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 67
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
local References_upvr = _engine.References
function module_upvr.inputBegan(arg1, arg2) -- Line 84
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 22 start (CF ANALYSIS FAILED)
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then
else
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("globalOverride", true)
if _G._root:GetAttribute("currentFoot") == 'R' then
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "Collide"})
-- KONSTANTWARNING: GOTO [99] #69
end
-- KONSTANTERROR: [0] 1. Error Block 22 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [85] 59. Error Block 21 start (CF ANALYSIS FAILED)
arg1.react.new({"LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name][_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
task.wait(0.2)
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
task.wait(0.2)
if arg1.canReact then
arg2:slowdown(2)
task.delay(4, function() -- Line 115
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1.using = false
end)
else
task.delay(0.35, function() -- Line 119
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
arg1.using = false
end)
end
arg1.react.clear()
arg1.canReact = false
-- KONSTANTERROR: [85] 59. Error Block 21 end (CF ANALYSIS FAILED)
end
end
function module_upvr.clear(arg1) -- Line 128
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:09
-- Luau version 6, Types version 3
-- Time taken: 0.006828 seconds
local _engine = _G._engine
local LocalPlayer_upvr = _engine.Services.Players.LocalPlayer
local tbl_3_upvr = {
tool = script.Parent.Parent;
canReact = false;
using = false;
}
local module_upvr = {}
local any_new_result1_upvr = _engine:load("Network").new()
function module_upvr.onTouched(arg1, arg2, arg3) -- Line 23
--[[ Upvalues[3]:
[1]: module_upvr (readonly)
[2]: any_new_result1_upvr (readonly)
[3]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
if arg3 then
any_new_result1_upvr:send("tripppp", arg3)
return
end
local HumanoidRootPart = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart")
local var7 = HumanoidRootPart.CFrame.RightVector * 12
if _G._root:GetAttribute("currentFoot") == 'L' then
var7 = HumanoidRootPart.CFrame.RightVector * -12
end
local tbl_2 = {}
tbl_2.ball = arg2
tbl_2.limb = arg1
tbl_2.vector = var7 + HumanoidRootPart.CFrame.LookVector * 5 + Vector3.new(0, 20, 0)
tbl_2.maxForce = Vector3.new(10000, 10000, 10000)
tbl_2.checkOffside = true
tbl_2.tackle = true
module_upvr.root:react(tbl_2)
end
end
local tbl_4 = {}
local any_load_result1_upvr = _engine:load("Hitboxes")
function tbl_4.new(arg1) -- Line 53
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: module_upvr (readonly)
]]
local tbl = {}
tbl.limbs = arg1
tbl.humanoid = true
tbl.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr.new(tbl)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 59
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_4.clear = clear
module_upvr.react = tbl_4
local any_load_result1_upvr_2 = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 67
--[[ Upvalues[2]:
[1]: tbl_3_upvr (readonly)
[2]: any_load_result1_upvr_2 (readonly)
]]
for i, v in next, tbl_3_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr_2.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 76
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
local References_upvr = _engine.References
function module_upvr.inputBegan(arg1, arg2) -- Line 93
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then
else
if not arg2:getNearestBall(35) then return end
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("globalOverride", true)
if _G._root:GetAttribute("currentFoot") == 'R' then
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "Collide"})
else
arg1.react.new({"LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
end
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name][_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
task.wait(0.2)
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
task.wait(0.35)
arg1.react.clear()
arg1.canReact = false
task.wait(0.1)
arg1.using = false
end
end
function module_upvr.clear(arg1) -- Line 138
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:11
-- Luau version 6, Types version 3
-- Time taken: 0.007878 seconds
local _engine = _G._engine
local any_load_result1_upvr = _engine:load("Maid")
local any_new_result1_2_upvr = any_load_result1_upvr.new()
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_3_upvr = {
tool = script.Parent.Parent;
canReact = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 23
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
local var9_upvw = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart").CFrame.LookVector * 20 + Vector3.new(0, 7.5, 0)
task.spawn(function() -- Line 32
--[[ Upvalues[4]:
[1]: module_upvr (copied, readonly)
[2]: arg2 (readonly)
[3]: arg1 (readonly)
[4]: var9_upvw (read and write)
]]
local tbl_4 = {}
tbl_4.ball = arg2
tbl_4.limb = arg1
tbl_4.exemptShielding = true
tbl_4.vector = var9_upvw
tbl_4.maxForce = Vector3.new(10000, 10000, 10000)
tbl_4.conserveAngularVelocity = true
tbl_4.deflection = true
tbl_4.checkOffside = true
tbl_4.block = true
tbl_4.tackle = true
tbl_4.cooldown = 0.1
module_upvr.root:react(tbl_4)
end)
end
end
local tbl = {}
local any_load_result1_upvr_2 = _engine:load("Hitboxes")
function tbl.new(arg1) -- Line 50
--[[ Upvalues[2]:
[1]: any_load_result1_upvr_2 (readonly)
[2]: module_upvr (readonly)
]]
local tbl_2 = {}
tbl_2.limbs = arg1
tbl_2.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr_2.new(tbl_2)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 56
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl.clear = clear
module_upvr.react = tbl
function module_upvr.init(arg1, arg2) -- Line 64
--[[ Upvalues[2]:
[1]: tbl_3_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
]]
for i, v in next, tbl_3_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 73
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
local References_upvr = _engine.References
function module_upvr.inputBegan(arg1, arg2) -- Line 90
--[[ Upvalues[4]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
[3]: any_new_result1_2_upvr (readonly)
[4]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then
else
arg2.movementController:SetAttribute("canSprint", false)
LocalPlayer_upvr.Character.Humanoid.WalkSpeed = Services_upvr.StarterPlayer.CharacterWalkSpeed - 10
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("globalOverride", true)
arg1.react.new({"Head", "UpperTorso", "LowerTorso", "RightUpperArm", "RightLowerArm", "RightHand", "LeftUpperArm", "LeftLowerArm", "LeftHand", "RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide", "Torso"})
any_new_result1_2_upvr.updateWalkSpeed = Services_upvr.RunService.Heartbeat:Connect(function() -- Line 106
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: Services_upvr (copied, readonly)
]]
LocalPlayer_upvr.Character.Humanoid.WalkSpeed = Services_upvr.StarterPlayer.CharacterWalkSpeed - 10
end)
arg1.animationTrack = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name][_G._root:GetAttribute("currentFoot")])
arg1.animationTrack.Priority = Enum.AnimationPriority.Action4
arg1.animationTrack:Play(0.2)
end
end
function module_upvr.inputEnded(arg1, arg2) -- Line 115
--[[ Upvalues[3]:
[1]: any_new_result1_2_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
[3]: Services_upvr (readonly)
]]
if not _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or not arg1.using then
else
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
if arg1.animationTrack then
arg1.animationTrack:Stop(0.2)
arg1.animationTrack = nil
end
any_new_result1_2_upvr:DoCleaning()
arg2.movementController:SetAttribute("canSprint", true)
LocalPlayer_upvr.Character.Humanoid.WalkSpeed = Services_upvr.StarterPlayer.CharacterWalkSpeed
arg1.react.clear()
arg1.canReact = false
task.wait(1.4)
arg1.using = false
end
end
function module_upvr.clear(arg1) -- Line 140
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:12
-- Luau version 6, Types version 3
-- Time taken: 0.010020 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_upvr = {
tool = script.Parent.Parent;
canReact = false;
using = false;
}
local module_upvr = {}
local any_new_result1_upvr = _engine:load("Network").new()
function module_upvr.onTouched(arg1, arg2, arg3) -- Line 24
--[[ Upvalues[3]:
[1]: module_upvr (readonly)
[2]: any_new_result1_upvr (readonly)
[3]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
if arg3 and (arg1.Name == "Collide" or arg1.Name == "RightUpperLeg" or arg1.Name == "RightLowerLeg" or arg1.Name == "RightFoot" or arg1.Name == "RightBoot" or arg1.Name == "LeftUpperLeg" or arg1.Name == "LeftLowerLeg" or arg1.Name == "LeftFoot" or arg1.Name == "LeftBoot") then
any_new_result1_upvr:send("trip", arg3, module_upvr.ball)
return
end
local HumanoidRootPart = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart")
local var8 = HumanoidRootPart.CFrame.RightVector * -28
if _G._root:GetAttribute("currentFoot") == 'L' then
var8 = HumanoidRootPart.CFrame.RightVector * 28
end
module_upvr.ball = true
local tbl = {}
tbl.ball = arg2
tbl.vector = var8 + HumanoidRootPart.CFrame.LookVector * 5 + Vector3.new(0, 5, 0)
tbl.maxForce = Vector3.new(10000, 10000, 10000)
tbl.limb = arg1
tbl.extendedAnim = true
tbl.exemptShielding = true
tbl.conserveAngularVelocity = true
tbl.deflection = true
tbl.checkOffside = true
tbl.ballFirst = module_upvr.ball
tbl.tackle = true
module_upvr.root:react(tbl)
end
end
local tbl_3 = {}
local any_load_result1_upvr_3 = _engine:load("Hitboxes")
function tbl_3.new(arg1) -- Line 61
--[[ Upvalues[2]:
[1]: any_load_result1_upvr_3 (readonly)
[2]: module_upvr (readonly)
]]
local tbl_2 = {}
tbl_2.limbs = arg1
tbl_2.humanoid = true
tbl_2.limitTrip = "legs"
tbl_2.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr_3.new(tbl_2)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 67
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_3.clear = clear
module_upvr.react = tbl_3
local any_load_result1_upvr = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 75
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 84
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
local References_upvr = _engine.References
local any_load_result1_upvr_2 = _engine:load("Sounds")
function module_upvr.inputBegan(arg1, arg2) -- Line 101
--[[ Upvalues[4]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
[3]: any_load_result1_upvr_2 (readonly)
[4]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg2:isAirbourne() or arg1.using then
else
if not arg2:getNearestBall(35) then return end
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("globalOverride", true)
LocalPlayer_upvr.Character.Humanoid.AutoRotate = false
arg2.movementController:SetAttribute("canSprint", false)
if _G._root:getAttribute("currentFoot") == 'R' then
arg2:startPitchWear({"LeftFoot"})
task.delay(0.7, function() -- Line 123
--[[ Upvalues[1]:
[1]: arg2 (readonly)
]]
arg2:endPitchWear()
arg2:grassStain({"LeftUpperArm", "LeftLowerArm", "LeftUpperLeg", "LeftLowerLeg"})
end)
else
arg2:startPitchWear({"RightFoot"})
task.delay(0.7, function() -- Line 130
--[[ Upvalues[1]:
[1]: arg2 (readonly)
]]
arg2:endPitchWear()
arg2:grassStain({"RightUpperArm", "RightLowerArm", "RightUpperLeg", "RightLowerLeg"})
end)
end
arg2.collisions:toggle("all", "2_limbs")
arg2.collisions:toggle({"UpperTorso", "LowerTorso"}, "6_none")
arg1.react.new({"Head", "UpperTorso", "LowerTorso", "RightUpperArm", "RightLowerArm", "RightHand", "LeftUpperArm", "LeftLowerArm", "LeftHand", "RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
task.spawn(function() -- Line 141
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: any_load_result1_upvr_2 (copied, readonly)
[3]: LocalPlayer_upvr (copied, readonly)
]]
local children = References_upvr.Main.sounds.Slide:GetChildren()
any_load_result1_upvr_2:load({
directory = LocalPlayer_upvr.Character.HumanoidRootPart;
soundId = children[math.random(1, #children)].SoundId;
rollOffMaxDistance = 500;
rollOffMinDistance = 30;
volume = 0.1;
play = true;
replicate = true;
})
end)
local BodyVelocity = Instance.new("BodyVelocity", LocalPlayer_upvr.Character.HumanoidRootPart)
BodyVelocity.Velocity = LocalPlayer_upvr.Character.HumanoidRootPart.CFrame.LookVector * 35
BodyVelocity.MaxForce = Vector3.new(1, 1, 1) * math.huge
Services_upvr.Debris:AddItem(BodyVelocity, 0.7)
Services_upvr.TweenService:Create(BodyVelocity, TweenInfo.new(0.7, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Velocity = LocalPlayer_upvr.Character.HumanoidRootPart.CFrame.LookVector * 20;
}):Play()
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name][_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
task.wait(0.7)
arg2.ragdoll:toggle(true)
arg1.react.clear()
arg1.canReact = false
arg1.ball = nil
task.wait(1)
LocalPlayer_upvr.Character.UpperTorso.CanCollide = true
arg2.ragdoll:toggle(false)
task.wait(1)
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
task.wait(1)
arg1.using = false
end
end
function module_upvr.clear(arg1) -- Line 188
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:14
-- Luau version 6, Types version 3
-- Time taken: 0.006418 seconds
local _engine = _G._engine
local LocalPlayer_upvr = _engine.Services.Players.LocalPlayer
local tbl_4_upvr = {
tool = script.Parent.Parent;
canReact = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 22
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
local tbl = {}
tbl.ball = arg2
tbl.limb = arg1
tbl.exemptShielding = true
tbl.vector = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart").CFrame.LookVector * 20 + Vector3.new(0, 7.5, 0)
tbl.maxForce = Vector3.new(10000, 10000, 10000)
tbl.checkOffside = true
tbl.chest = true
tbl.tackle = true
module_upvr.root:react(tbl)
end
end
local tbl_3 = {}
local any_load_result1_upvr_2 = _engine:load("Hitboxes")
function tbl_3.new(arg1) -- Line 44
--[[ Upvalues[2]:
[1]: any_load_result1_upvr_2 (readonly)
[2]: module_upvr (readonly)
]]
local tbl_2 = {}
tbl_2.limbs = arg1
tbl_2.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr_2.new(tbl_2)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 50
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_3.clear = clear
module_upvr.react = tbl_3
local any_load_result1_upvr = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 58
--[[ Upvalues[2]:
[1]: tbl_4_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
]]
for i, v in next, tbl_4_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 67
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
local References_upvr = _engine.References
function module_upvr.inputBegan(arg1, arg2) -- Line 84
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or _G._root:GetAttribute("chestCooldown") or arg1.using then
else
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("globalOverride", true)
arg1.react.new({"Head", "UpperTorso", "LowerTorso", "RightUpperArm", "RightLowerArm", "RightHand", "LeftUpperArm", "LeftLowerArm", "LeftHand", "Torso"})
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name].Animation)
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
task.wait(0.1)
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
task.wait(0.35)
arg1.react.clear()
arg1.canReact = false
task.wait(0.7)
arg1.using = false
end
end
function module_upvr.clear(arg1) -- Line 115
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:15
-- Luau version 6, Types version 3
-- Time taken: 0.004460 seconds
local _engine = _G._engine
local LocalPlayer_upvr = _engine.Services.Players.LocalPlayer
local tbl_4_upvr = {
tool = script.Parent.Parent;
canReact = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 22
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
arg2.AssemblyLinearVelocity = Vector3.new()
arg2.AssemblyAngularVelocity = Vector3.new()
local tbl = {}
tbl.ball = arg2
tbl.limb = arg1
tbl.exemptShielding = true
tbl.vector = Vector3.new()
tbl.maxForce = Vector3.new(10000, 10000, 10000)
tbl.checkOffside = true
tbl.chest = true
tbl.tackle = true
module_upvr.root:react(tbl)
end
end
local tbl_3 = {}
local any_load_result1_upvr_2 = _engine:load("Hitboxes")
function tbl_3.new(arg1) -- Line 48
--[[ Upvalues[2]:
[1]: any_load_result1_upvr_2 (readonly)
[2]: module_upvr (readonly)
]]
local tbl_2 = {}
tbl_2.limbs = arg1
tbl_2.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr_2.new(tbl_2)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 54
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_3.clear = clear
module_upvr.react = tbl_3
local any_load_result1_upvr = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 62
--[[ Upvalues[2]:
[1]: tbl_4_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
]]
for i, v in next, tbl_4_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 71
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
local References_upvr = _engine.References
function module_upvr.inputBegan(arg1, arg2) -- Line 88
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or _G._root:GetAttribute("chestCooldown") or arg1.using then
else
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("globalOverride", true)
arg1.react.new({"Head", "UpperTorso", "LowerTorso", "RightUpperArm", "RightLowerArm", "RightHand", "LeftUpperArm", "LeftLowerArm", "LeftHand", "Torso"})
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name].Animation)
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
task.wait(0.1)
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
task.wait(0.35)
arg1.react.clear()
arg1.canReact = false
task.wait(0.7)
arg1.using = false
end
end
function module_upvr.clear(arg1) -- Line 119
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:17
-- Luau version 6, Types version 3
-- Time taken: 0.007922 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_upvr = {
tool = script.Parent.Parent;
canReact = false;
using = false;
}
local module_upvr = {}
local any_new_result1_upvr = _engine:load("Network").new()
function module_upvr.onTouched(arg1, arg2, arg3) -- Line 24
--[[ Upvalues[3]:
[1]: module_upvr (readonly)
[2]: any_new_result1_upvr (readonly)
[3]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
if arg3 and (arg1.Name == "Collide" or arg1.Name == "RightUpperLeg" or arg1.Name == "RightLowerLeg" or arg1.Name == "RightFoot" or arg1.Name == "RightBoot" or arg1.Name == "LeftUpperLeg" or arg1.Name == "LeftLowerLeg" or arg1.Name == "LeftFoot" or arg1.Name == "LeftBoot") then
any_new_result1_upvr:send("trip", arg3, module_upvr.ball)
return
end
module_upvr.ball = true
local tbl_2 = {}
tbl_2.ball = arg2
tbl_2.vector = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart").CFrame.LookVector * 60 + Vector3.new(0, 5, 0)
tbl_2.maxForce = Vector3.new(10000, 10000, 10000)
tbl_2.limb = arg1
tbl_2.extendedAnim = true
tbl_2.exemptShielding = true
tbl_2.conserveAngularVelocity = true
tbl_2.deflection = true
tbl_2.checkOffside = true
tbl_2.ballFirst = module_upvr.ball
tbl_2.tackle = true
module_upvr.root:react(tbl_2)
end
end
local tbl = {}
local any_load_result1_upvr = _engine:load("Hitboxes")
function tbl.new(arg1) -- Line 58
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: module_upvr (readonly)
]]
local tbl_3 = {}
tbl_3.limbs = arg1
tbl_3.humanoid = true
tbl_3.limitTrip = "legs"
tbl_3.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr.new(tbl_3)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 64
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl.clear = clear
module_upvr.react = tbl
local any_load_result1_upvr_3 = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 72
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr_3 (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr_3.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 81
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
local References_upvr = _engine.References
local any_load_result1_upvr_2 = _engine:load("Sounds")
function module_upvr.inputBegan(arg1, arg2) -- Line 98
--[[ Upvalues[4]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
[3]: any_load_result1_upvr_2 (readonly)
[4]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg2:isAirbourne() or arg1.using then
else
if not arg2:getNearestBall(35) then return end
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("globalOverride", true)
LocalPlayer_upvr.Character.Humanoid.AutoRotate = false
arg2.movementController:SetAttribute("canSprint", false)
if _G._root:getAttribute("currentFoot") == 'R' then
arg2:startPitchWear({"LeftFoot"})
task.delay(0.7, function() -- Line 120
--[[ Upvalues[1]:
[1]: arg2 (readonly)
]]
arg2:endPitchWear()
arg2:grassStain({"LeftUpperArm", "LeftLowerArm", "LeftUpperLeg", "LeftLowerLeg"})
end)
else
arg2:startPitchWear({"RightFoot"})
task.delay(0.7, function() -- Line 127
--[[ Upvalues[1]:
[1]: arg2 (readonly)
]]
arg2:endPitchWear()
arg2:grassStain({"RightUpperArm", "RightLowerArm", "RightUpperLeg", "RightLowerLeg"})
end)
end
arg2.collisions:toggle("all", "2_limbs")
arg2.collisions:toggle({"UpperTorso", "LowerTorso"}, "6_none")
arg1.react.new({"Head", "UpperTorso", "LowerTorso", "RightUpperArm", "RightLowerArm", "RightHand", "LeftUpperArm", "LeftLowerArm", "LeftHand", "RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
task.spawn(function() -- Line 138
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: any_load_result1_upvr_2 (copied, readonly)
[3]: LocalPlayer_upvr (copied, readonly)
]]
local children = References_upvr.Main.sounds.Slide:GetChildren()
any_load_result1_upvr_2:load({
directory = LocalPlayer_upvr.Character.HumanoidRootPart;
soundId = children[math.random(1, #children)].SoundId;
rollOffMaxDistance = 500;
rollOffMinDistance = 30;
volume = 0.1;
play = true;
replicate = true;
})
end)
local BodyVelocity = Instance.new("BodyVelocity", LocalPlayer_upvr.Character.HumanoidRootPart)
BodyVelocity.Velocity = LocalPlayer_upvr.Character.HumanoidRootPart.CFrame.LookVector * 35
BodyVelocity.MaxForce = Vector3.new(1, 1, 1) * math.huge
Services_upvr.Debris:AddItem(BodyVelocity, 0.7)
Services_upvr.TweenService:Create(BodyVelocity, TweenInfo.new(0.7, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
Velocity = LocalPlayer_upvr.Character.HumanoidRootPart.CFrame.LookVector * 20;
}):Play()
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name][_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
task.wait(0.7)
arg2.ragdoll:toggle(true)
arg1.react.clear()
arg1.canReact = false
arg1.ball = nil
task.wait(1)
LocalPlayer_upvr.Character.UpperTorso.CanCollide = true
arg2.ragdoll:toggle(false)
task.wait(1)
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
task.wait(1)
arg1.using = false
end
end
function module_upvr.clear(arg1) -- Line 185
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:18
-- Luau version 6, Types version 3
-- Time taken: 0.010888 seconds
local _engine = _G._engine
local any_load_result1_upvr = _engine:load("Maid")
local Services_upvr = _engine.Services
local tbl_upvr = {
tool = script.Parent;
equipped = false;
}
local module = {}
local References_upvr = _engine.References
function module.init(arg1, arg2) -- Line 21
--[[ Upvalues[4]:
[1]: any_load_result1_upvr (readonly)
[2]: tbl_upvr (readonly)
[3]: Services_upvr (readonly)
[4]: References_upvr (readonly)
]]
local any_new_result1 = any_load_result1_upvr.new()
for i, v in next, tbl_upvr do
arg1[i] = v
end
arg1.maid = any_new_result1
arg1.root = arg2
arg1.binds = {}
for _, v_2 in next, arg1.tool.binds:GetChildren() do
if v_2 and v_2:IsA("ModuleScript") then
local v_2_2 = require(v_2)
v_2_2:init(arg2)
arg1.binds[v_2.Name] = v_2_2
end
end
if arg1.tool:FindFirstChild("combos") then
arg1.combos = {}
for _, v_3 in next, arg1.tool.combos:GetChildren() do
if v_3 and v_3:IsA("ModuleScript") then
local v_3_2 = require(v_3)
v_3_2:init(arg2)
arg1.combos[v_3.Name] = v_3_2
end
end
end
any_new_result1.inputBegan = Services_upvr.UserInputService.InputBegan:Connect(function(arg1_2, arg2_2) -- Line 54
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: Services_upvr (copied, readonly)
[3]: References_upvr (copied, readonly)
[4]: arg2 (readonly)
]]
local var29
if not var29 then
else
local function INLINED() -- Internal function, doesn't exist in bytecode
var29 = Services_upvr.UserInputService:GetFocusedTextBox()
return var29
end
if arg2_2 or INLINED() then return end
var29 = arg1_2.KeyCode.Name
if var29 == "Unknown" then
var29 = arg1_2.UserInputType.Name
end
for _, v_9 in next, References_upvr.Profile.binds:GetChildren() do
if v_9 and string.lower(v_9.Name) == string.lower(arg1.tool.Name) or string.lower(v_9.Name) == "misc" then
for _, v_10 in next, v_9:GetChildren() do
if typeof(v_10.Value) == "string" and string.lower(v_10.Value) == string.lower(var29) then
local string_lower_result1 = string.lower(v_10.Name)
if arg1.binds[string_lower_result1] and arg1.binds[string_lower_result1].inputBegan then
arg1.binds[string_lower_result1]:inputBegan(arg2)
elseif arg1.combos and arg1.combos[string_lower_result1] and arg1.combos[string_lower_result1].inputBegan then
arg1.combos[string_lower_result1]:inputBegan(arg2)
end
end
end
end
end
end
end)
any_new_result1.inputEnded = Services_upvr.UserInputService.InputEnded:Connect(function(arg1_3, arg2_3) -- Line 85
--[[ Upvalues[4]:
[1]: Services_upvr (copied, readonly)
[2]: References_upvr (copied, readonly)
[3]: arg1 (readonly)
[4]: arg2 (readonly)
]]
if arg2_3 or Services_upvr.UserInputService:GetFocusedTextBox() then
else
if arg1_3.KeyCode.Name == "Unknown" then
end
for _, v_11 in next, References_upvr.Profile.binds:GetChildren() do
if v_11 and string.lower(v_11.Name) == string.lower(arg1.tool.Name) or string.lower(v_11.Name) == "misc" then
for _, v_12 in next, v_11:GetChildren() do
if typeof(v_12.Value) == "string" and string.lower(v_12.Value) == string.lower(arg1_3.UserInputType.Name) then
local string_lower_result1_2 = string.lower(v_12.Name)
if arg1.binds[string_lower_result1_2] and arg1.binds[string_lower_result1_2].inputEnded then
arg1.binds[string_lower_result1_2]:inputEnded(arg2)
elseif arg1.combos and arg1.combos[string_lower_result1_2] and arg1.combos[string_lower_result1_2].inputEnded then
arg1.combos[string_lower_result1_2]:inputEnded(arg2)
end
end
end
end
end
end
end)
end
function module.initCustom(arg1, arg2) -- Line 114
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: tbl_upvr (readonly)
]]
for i_4, v_4 in next, tbl_upvr do
arg1[i_4] = v_4
end
arg1.equipped = true
arg1.maid = any_load_result1_upvr.new()
arg1.root = arg2
arg1.binds = {}
for _, v_5 in next, arg1.tool.binds:GetChildren() do
if v_5 and v_5:IsA("ModuleScript") then
local v_5_2 = require(v_5)
v_5_2:init(arg2)
arg1.binds[v_5.Name] = v_5_2
end
end
if arg1.tool:FindFirstChild("combos") then
arg1.combos = {}
for _, v_6 in next, arg1.tool.combos:GetChildren() do
if v_6 and v_6:IsA("ModuleScript") then
local v_6_2 = require(v_6)
v_6_2:init(arg2)
arg1.combos[v_6.Name] = v_6_2
end
end
end
end
function module.inputBegan(arg1, arg2, arg3, arg4) -- Line 149
if arg1.binds[arg3] and arg1.binds[arg3].inputBegan then
arg1.binds[arg3]:inputBegan(arg2, arg4)
elseif arg1.combos and arg1.combos[arg3] and arg1.combos[arg3].inputBegan then
arg1.combos[arg3]:inputBegan(arg2, arg4)
end
end
function module.inputEnded(arg1, arg2, arg3) -- Line 157
if arg1.binds[arg3] and arg1.binds[arg3].inputEnded then
arg1.binds[arg3]:inputEnded(arg2)
elseif arg1.combos and arg1.combos[arg3] and arg1.combos[arg3].inputEnded then
arg1.combos[arg3]:inputEnded(arg2)
end
end
function module.equip(arg1) -- Line 165
arg1.equipped = true
end
function module.unequip(arg1) -- Line 169
arg1.equipped = false
end
function module.clear(arg1) -- Line 173
for i_7, v_7 in next, arg1.binds do
if i_7 and v_7 then
v_7:clear()
end
end
if arg1.combos then
for i_8, v_8 in next, arg1.combos do
if i_8 and v_8 then
v_8:clear()
end
end
end
arg1.equipped = false
arg1.maid:DoCleaning()
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:20
-- Luau version 6, Types version 3
-- Time taken: 0.012551 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_upvr = {
tool = script.Parent.Parent;
minPower = 60;
maxPower = 130;
minHeight = 35;
maxHeight = 56;
power = 0;
height = 0;
chargeSpeed = 1;
canReact = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 33
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
local tbl = {}
tbl.ball = arg2
tbl.limb = arg1
tbl.exemptShielding = true
tbl.vector = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart").CFrame.LookVector * module_upvr.power + Vector3.new(0, module_upvr.height, 0)
tbl.maxForce = Vector3.new(10000, 10000, 10000)
tbl.curve = true
tbl.curveType = "magnus"
tbl.spinType = script:GetAttribute("spin")
tbl.grassEffect = true
tbl.checkOffside = true
tbl.currentFoot = module_upvr.currentFoot
module_upvr.root:react(tbl)
end
end
local tbl_3 = {}
local any_load_result1_upvr = _engine:load("Hitboxes")
function tbl_3.new(arg1) -- Line 58
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: module_upvr (readonly)
]]
local tbl_2 = {}
tbl_2.limbs = arg1
tbl_2.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr.new(tbl_2)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 64
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_3.clear = clear
module_upvr.react = tbl_3
local any_load_result1_upvr_2 = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 72
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr_2 (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr_2.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 81
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
function module_upvr.inputBegan(arg1, arg2) -- Line 98
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then
else
if not arg2:gkCheck() then return end
script:SetAttribute("charging", true)
arg1.currentFoot = _G._root:GetAttribute("currentFoot")
arg2:chargeUp(arg1.chargeSpeed)
task.spawn(function() -- Line 111
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: Services_upvr (copied, readonly)
]]
while _G._root:GetAttribute("charging") and LocalPlayer_upvr.PlayerGui:FindFirstChild("UI") do
arg1.power = arg1.minPower + (arg1.maxPower - arg1.minPower) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
arg1.height = arg1.minHeight + (arg1.maxHeight - arg1.minHeight) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
Services_upvr.RunService.RenderStepped:Wait()
end
end)
end
end
local References_upvr = _engine.References
function module_upvr.inputEnded(arg1, arg2) -- Line 128
--[[ Upvalues[4]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
[3]: References_upvr (readonly)
[4]: module_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 29 start (CF ANALYSIS FAILED)
local var17
local function INLINED() -- Internal function, doesn't exist in bytecode
var17 = _G
return var17._root:GetAttribute("charging")
end
local function INLINED_2() -- Internal function, doesn't exist in bytecode
var17 = _G
return var17._root:GetAttribute("ragdoll")
end
if _G._root:GetAttribute("globalOverride") or not INLINED() or INLINED_2() or arg1.using or not script:GetAttribute("charging") then
else
var17 = LocalPlayer_upvr.Character
var17 = false
arg1.using = true
arg1.canReact = true
script:SetAttribute("charging", false)
_G._root:SetAttribute("charging", false)
_G._root:SetAttribute("globalOverride", true)
if arg2:isHolding() then
var17 = true
arg2.movementController:SetAttribute("canSprint", false)
LocalPlayer_upvr.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Jumping, false)
LocalPlayer_upvr.Character.Humanoid.WalkSpeed = Services_upvr.StarterPlayer.CharacterWalkSpeed - 10
local any_LoadAnimation_result1_upvr = var17.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name].ball[_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1_upvr.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1_upvr:Play(0.2, 8)
task.delay(1, function() -- Line 153
--[[ Upvalues[1]:
[1]: any_LoadAnimation_result1_upvr (readonly)
]]
any_LoadAnimation_result1_upvr:Stop(0.35)
end)
task.delay(0.4, function() -- Line 157
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg2 (readonly)
[3]: module_upvr (copied, readonly)
]]
local ball = arg2.holding.ball
arg2:drop()
task.wait(0.25)
if ball and ball.Parent then
local tbl_4 = {
ball = ball;
ignoreReactDecline = true;
exemptShielding = true;
vector = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart").CFrame.LookVector * module_upvr.power + Vector3.new(0, module_upvr.height, 0);
maxForce = Vector3.new(1, 1, 1) * math.huge;
}
local var23 = true
tbl_4.curve = var23
if _G._root:GetAttribute("currentFoot") == 'R' then
var23 = "right"
else
var23 = "left"
end
tbl_4.curveType = var23
tbl_4.ignoreHolding = true
module_upvr.root:react(tbl_4)
end
end)
-- KONSTANTWARNING: GOTO [248] #168
end
-- KONSTANTERROR: [0] 1. Error Block 29 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [171] 118. Error Block 30 start (CF ANALYSIS FAILED)
any_LoadAnimation_result1_upvr = _G._root:GetAttribute("currentFoot")
if any_LoadAnimation_result1_upvr == 'R' then
any_LoadAnimation_result1_upvr = arg1.react.new
any_LoadAnimation_result1_upvr({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "Collide"})
else
any_LoadAnimation_result1_upvr = arg1.react.new
any_LoadAnimation_result1_upvr({"LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
end
any_LoadAnimation_result1_upvr = var17.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name].clear[_G._root:GetAttribute("currentFoot")])
local var26 = any_LoadAnimation_result1_upvr
var26.Priority = Enum.AnimationPriority.Action4
var26:Play()
var26 = task.wait
var26(0.6)
var26 = arg2:resetPowerBar
var26()
var26 = arg1.react.clear
var26()
var26 = false
arg1.canReact = var26
var26 = script:SetAttribute
var26("spin", "topspin")
var26 = task.wait
var26(0.2)
var26 = _G._root:GetAttribute("forceDisable")
if not var26 then
var26 = _G._root:SetAttribute
var26("globalOverride", false)
end
if var17 then
var26 = arg2.movementController:SetAttribute
var26("canSprint", true)
var26 = LocalPlayer_upvr.Character.Humanoid:SetStateEnabled
var26(Enum.HumanoidStateType.Jumping, true)
var26 = LocalPlayer_upvr.Character.Humanoid
var26.WalkSpeed = Services_upvr.StarterPlayer.CharacterWalkSpeed
end
var26 = task.wait
var26(0.1)
var26 = false
arg1.using = var26
-- KONSTANTERROR: [171] 118. Error Block 30 end (CF ANALYSIS FAILED)
end
end
function module_upvr.clear(arg1) -- Line 216
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:21
-- Luau version 6, Types version 3
-- Time taken: 0.012474 seconds
local _engine = _G._engine
local tbl_2_upvr = {
tool = script.Parent.Parent;
canReact = false;
diveCatch = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 23
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if not module_upvr.canReact then
else
if module_upvr.root:isHolding() then return end
local tbl = {}
tbl.ball = arg2
tbl.limb = arg1
tbl.diveCatch = module_upvr.diveCatch
module_upvr.root:catch(tbl)
end
end
local tbl_3 = {}
local any_load_result1_upvr = _engine:load("Hitboxes")
function tbl_3.new(arg1) -- Line 39
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: module_upvr (readonly)
]]
local tbl_4 = {}
tbl_4.limbs = arg1
tbl_4.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr.new(tbl_4)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 45
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_3.clear = clear
module_upvr.react = tbl_3
local any_load_result1_upvr_2 = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 53
--[[ Upvalues[2]:
[1]: tbl_2_upvr (readonly)
[2]: any_load_result1_upvr_2 (readonly)
]]
for i, v in next, tbl_2_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr_2.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 62
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
local LocalPlayer_upvr = _engine.Services.Players.LocalPlayer
local References_upvr = _engine.References
function module_upvr.inputBegan(arg1, arg2) -- Line 76
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [9] 7. Error Block 2 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [9] 7. Error Block 2 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [18] 13. Error Block 42 start (CF ANALYSIS FAILED)
if _G._root:GetAttribute("charging") or _G._root:GetAttribute("catchCooldown") or _G._root:GetAttribute("ragdoll") or arg1.using or arg2:isHolding() then
-- KONSTANTERROR: [52] 36. Error Block 9 start (CF ANALYSIS FAILED)
do
return
end
-- KONSTANTERROR: [52] 36. Error Block 9 end (CF ANALYSIS FAILED)
end
if not arg2:gkCheck() then
else
local any_getNearestBall_result1 = arg2:getNearestBall()
if not any_getNearestBall_result1 then return end
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("globalOverride", true)
local var17
if _G._root:GetAttribute("diving") then
arg1.diveCatch = true
local tbl_5 = {}
var17 = "Head"
tbl_5[1] = var17
tbl_5[2] = "UpperTorso"
tbl_5[3] = "LowerTorso"
tbl_5[4] = "RightUpperArm"
tbl_5[5] = "RightLowerArm"
tbl_5[6] = "RightHand"
tbl_5[7] = "LeftUpperArm"
tbl_5[8] = "LeftLowerArm"
tbl_5[9] = "LeftHand"
tbl_5[10] = "Torso"
tbl_5[11] = "Collide"
tbl_5[12] = "RightUpperLeg"
tbl_5[13] = "RightLowerLeg"
tbl_5[14] = "RightFoot"
tbl_5[15] = "LeftUpperLeg"
tbl_5[16] = "LeftLowerLeg"
var17 = "LeftFoot"
tbl_5[17] = var17
arg1.react.new(tbl_5)
var17 = References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name].Dive
local any_LoadAnimation_result1_upvr = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(var17)
any_LoadAnimation_result1_upvr.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1_upvr:Play(0.15, 7)
local function INLINED() -- Internal function, doesn't exist in bytecode
var17 = any_LoadAnimation_result1_upvr.Length - 0.35
return var17
end
if 0.1 > any_LoadAnimation_result1_upvr.Length or not INLINED() then
var17 = 0.5
end
task.delay(var17, function() -- Line 104
--[[ Upvalues[1]:
[1]: any_LoadAnimation_result1_upvr (readonly)
]]
any_LoadAnimation_result1_upvr:Stop(0.35)
end)
var17 = 0.5
task.wait(var17)
var17 = arg1.react
var17.clear()
arg1.diveCatch = false
arg1.canReact = false
var17 = 0.1
task.wait(var17)
arg1.using = false
return
end
any_LoadAnimation_result1_upvr = arg1.react.new
any_LoadAnimation_result1_upvr({"Head", "UpperTorso", "LowerTorso", "RightUpperArm", "RightLowerArm", "RightHand", "LeftUpperArm", "LeftLowerArm", "LeftHand", "Torso", "Collide", "RightUpperLeg", "RightLowerLeg", "RightFoot", "LeftUpperLeg", "LeftLowerLeg", "LeftFoot"})
any_LoadAnimation_result1_upvr = any_getNearestBall_result1.Position.Y
if _G._root:GetAttribute("headHeight") <= any_LoadAnimation_result1_upvr then
any_LoadAnimation_result1_upvr = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name].High)
local var22 = any_LoadAnimation_result1_upvr
var22.Priority = Enum.AnimationPriority.Action4
var22:Play()
else
var22 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name].Low)
local var23 = var22
var23.Priority = Enum.AnimationPriority.Action4
var23:Play()
end
var23 = task.wait
var23(0.5)
var23 = _G._root:GetAttribute("forceDisable")
if not var23 then
var23 = _G._root:SetAttribute
var23("globalOverride", false)
end
var23 = arg1.react.clear
var23()
var23 = false
arg1.canReact = var23
var23 = task.wait
var23(0.1)
var23 = false
arg1.using = var23
-- KONSTANTERROR: [18] 13. Error Block 42 end (CF ANALYSIS FAILED)
end
end
function module_upvr.clear(arg1) -- Line 142
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:23
-- Luau version 6, Types version 3
-- Time taken: 0.004674 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local tbl_upvr = {
tool = script.Parent.Parent;
using = false;
}
local module = {}
local any_load_result1_upvr = _engine:load("Maid")
function module.init(arg1, arg2) -- Line 21
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 30
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local References_upvr = _engine.References
function module.inputBegan(arg1, arg2) -- Line 47
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
[3]: References_upvr (readonly)
]]
local var11
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using or not arg2:isHolding() then
else
arg1.using = true
arg1.canReact = true
var11 = "globalOverride"
_G._root:SetAttribute(var11, true)
var11 = "canSprint"
arg2.movementController:SetAttribute(var11, false)
var11 = LocalPlayer_upvr
var11 = Enum.HumanoidStateType.Jumping
var11.Character.Humanoid:SetStateEnabled(var11, false)
var11 = LocalPlayer_upvr
var11 = Services_upvr.StarterPlayer.CharacterWalkSpeed
var11.Character.Humanoid.WalkSpeed = var11 - 10
var11 = References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name][_G._root:GetAttribute("currentFoot")]
local any_LoadAnimation_result1_upvr = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(var11)
any_LoadAnimation_result1_upvr.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1_upvr:Play(0.1, 8)
local function INLINED() -- Internal function, doesn't exist in bytecode
var11 = any_LoadAnimation_result1_upvr.Length - 0.25
return var11
end
if 0.1 > any_LoadAnimation_result1_upvr.Length or not INLINED() then
var11 = 0.5
end
task.delay(var11, function() -- Line 68
--[[ Upvalues[1]:
[1]: any_LoadAnimation_result1_upvr (readonly)
]]
any_LoadAnimation_result1_upvr:Stop(0.25)
end)
var11 = 0.2
task.wait(var11)
arg2:drop()
var11 = 0.1
task.wait(var11)
var11 = "BodyVelocity"
local any = Instance.new(var11, arg2.holding.ball)
var11 = LocalPlayer_upvr.Character.HumanoidRootPart.CFrame.LookVector * 10 + LocalPlayer_upvr.Character.HumanoidRootPart.AssemblyLinearVelocity * Vector3.new(0.64999, 0, 0.64999)
any.Velocity = var11
var11 = Vector3.new(math.huge, 0, math.huge)
any.MaxForce = var11
var11 = Services_upvr.Debris:AddItem
var11(any, 0.3)
var11 = task.wait
var11(0.1)
var11 = false
arg1.using = var11
var11 = _G._root:GetAttribute("forceDisable")
if not var11 then
var11 = _G._root:SetAttribute
var11("globalOverride", false)
end
var11 = arg2.movementController:SetAttribute
var11("canSprint", true)
var11 = LocalPlayer_upvr.Character.Humanoid:SetStateEnabled
var11(Enum.HumanoidStateType.Jumping, true)
var11 = LocalPlayer_upvr.Character.Humanoid
var11.WalkSpeed = Services_upvr.StarterPlayer.CharacterWalkSpeed
end
end
function module.clear(arg1) -- Line 95
arg1.maid:DoCleaning()
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:24
-- Luau version 6, Types version 3
-- Time taken: 0.009957 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_upvr = {
tool = script.Parent.Parent;
minPower = 30;
maxPower = 85;
minHeight = -10;
maxHeight = 25;
power = 0;
height = 0;
chargeSpeed = 0.5;
chargeAnimation = nil;
currentFoot = 'R';
charging = false;
canReact = false;
using = false;
}
local module_upvr = {}
local any_load_result1_upvr_2 = _engine:load("Maid")
local any_load_result1_upvr = _engine:load("Balls")
function module_upvr.init(arg1, arg2) -- Line 37
--[[ Upvalues[5]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr_2 (readonly)
[3]: any_load_result1_upvr (readonly)
[4]: LocalPlayer_upvr (readonly)
[5]: Services_upvr (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr_2.new()
end
arg1.maid.ballRemoved = any_load_result1_upvr.BallRemoved:Connect(function(arg1_2) -- Line 46
--[[ Upvalues[4]:
[1]: arg2 (readonly)
[2]: arg1 (readonly)
[3]: LocalPlayer_upvr (copied, readonly)
[4]: Services_upvr (copied, readonly)
]]
if arg1_2 == arg2.holding.ball then
if arg1.chargeAnimation then
arg1.chargeAnimation:Stop(0.05)
arg1.chargeAnimation = nil
end
arg2:resetPowerBar()
_G._root:SetAttribute("globalOverride", false)
arg2.movementController:SetAttribute("canSprint", true)
LocalPlayer_upvr.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Jumping, true)
LocalPlayer_upvr.Character.Humanoid.WalkSpeed = Services_upvr.StarterPlayer.CharacterWalkSpeed
arg1.canReact = false
arg1.using = false
end
end)
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 66
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
function module_upvr.inputBegan(arg1, arg2) -- Line 83
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
[3]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using or not arg2:isHolding() then
else
if not arg2:gkCheck() then return end
if arg1.chargeAnimation then
arg1.chargeAnimation:Stop(0.05)
arg1.chargeAnimation = nil
end
arg1.currentFoot = _G._root:GetAttribute("currentFoot")
arg1.chargeAnimation = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name][arg1.currentFoot].Charge)
arg1.chargeAnimation:Play(0.4, 5)
arg2:chargeUp(arg1.chargeSpeed)
task.spawn(function() -- Line 105
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: Services_upvr (copied, readonly)
]]
while _G._root:GetAttribute("charging") and LocalPlayer_upvr.PlayerGui:FindFirstChild("UI") do
arg1.power = arg1.minPower + (arg1.maxPower - arg1.minPower) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
arg1.height = arg1.minHeight + (arg1.maxHeight - arg1.minHeight) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
Services_upvr.RunService.RenderStepped:Wait()
end
end)
end
end
function module_upvr.inputEnded(arg1, arg2) -- Line 122
--[[ Upvalues[4]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
[3]: References_upvr (readonly)
[4]: module_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or not _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using or not arg2:isHolding() then
else
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("charging", false)
_G._root:SetAttribute("globalOverride", true)
arg2.movementController:SetAttribute("canSprint", false)
LocalPlayer_upvr.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Jumping, false)
LocalPlayer_upvr.Character.Humanoid.WalkSpeed = Services_upvr.StarterPlayer.CharacterWalkSpeed - 10
if arg1.chargeAnimation then
arg1.chargeAnimation:Stop(0.05)
arg1.chargeAnimation = nil
end
if 0.8 <= (arg1.power - arg1.minPower) / (arg1.maxPower - arg1.minPower) then
local any_LoadAnimation_result1_upvr = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name][arg1.currentFoot]["Release High"])
any_LoadAnimation_result1_upvr.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1_upvr:Play(0.2, 8)
task.delay(0.44, function() -- Line 150
--[[ Upvalues[1]:
[1]: any_LoadAnimation_result1_upvr (readonly)
]]
any_LoadAnimation_result1_upvr:Stop(0.35)
end)
task.wait(0.15)
else
any_LoadAnimation_result1_upvr = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name][arg1.currentFoot]["Release Low"])
local var18_upvr = any_LoadAnimation_result1_upvr
var18_upvr.Priority = Enum.AnimationPriority.Action4
var18_upvr:Play(0.2, 8)
task.delay(0.6, function() -- Line 160
--[[ Upvalues[1]:
[1]: var18_upvr (readonly)
]]
var18_upvr:Stop(0.35)
end)
task.wait(0.3)
end
var18_upvr = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart")
local ball = arg2.holding.ball
if ball and ball.Parent then
arg2:drop()
for _, v_2 in next, ball:GetChildren() do
if v_2 and (v_2:IsA("BodyVelocity") or v_2:IsA("BodyAngularVelocity")) then
v_2:Destroy()
end
end
local BodyVelocity = Instance.new("BodyVelocity", ball)
BodyVelocity.Velocity = var18_upvr.CFrame.LookVector * module_upvr.power + Vector3.new(0, module_upvr.height, 0)
BodyVelocity.MaxForce = Vector3.new(1, 1, 1) * math.huge
Services_upvr.Debris:AddItem(BodyVelocity, 0.3)
end
task.wait(0.5)
arg2:resetPowerBar()
arg1.canReact = false
task.wait(0.2)
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
arg2.movementController:SetAttribute("canSprint", true)
LocalPlayer_upvr.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Jumping, true)
LocalPlayer_upvr.Character.Humanoid.WalkSpeed = Services_upvr.StarterPlayer.CharacterWalkSpeed
task.wait(0.1)
arg1.using = false
end
end
function module_upvr.clear(arg1) -- Line 207
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:26
-- Luau version 6, Types version 3
-- Time taken: 0.007145 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_upvr = {
tool = script.Parent.Parent;
canReact = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 22
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
local tbl = {}
tbl.ball = arg2
tbl.limb = arg1
tbl.vector = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart").CFrame.LookVector * 75 + Vector3.new(0, 20, 0)
tbl.maxForce = Vector3.new(1, 1, 1) * math.huge
module_upvr.root:gkReact(tbl)
end
end
local tbl_2 = {}
local any_load_result1_upvr_2 = _engine:load("Hitboxes")
function tbl_2.new(arg1) -- Line 40
--[[ Upvalues[2]:
[1]: any_load_result1_upvr_2 (readonly)
[2]: module_upvr (readonly)
]]
local tbl_3 = {}
tbl_3.limbs = arg1
tbl_3.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr_2.new(tbl_3)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 46
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_2.clear = clear
module_upvr.react = tbl_2
local any_load_result1_upvr = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 54
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 63
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
local References_upvr = _engine.References
function module_upvr.inputBegan(arg1, arg2) -- Line 80
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
[3]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using or arg2:isHolding() then
else
if not arg2:gkCheck() then return end
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("globalOverride", true)
arg2.collisions:toggle("all", "2_limbs")
arg1.react.new({"Head", "UpperTorso", "LowerTorso", "RightUpperArm", "RightLowerArm", "RightHand", "LeftUpperArm", "LeftLowerArm", "LeftHand", "Collide", "Torso"})
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name].Animation)
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
LocalPlayer_upvr.Character.HumanoidRootPart.WeightR.Massless = true
LocalPlayer_upvr.Character.HumanoidRootPart.WeightL.Massless = true
if arg2:isAirbourne() then
local BodyVelocity_2 = Instance.new("BodyVelocity", LocalPlayer_upvr.Character.HumanoidRootPart)
BodyVelocity_2.Velocity = Vector3.new(0, 5, 0)
BodyVelocity_2.MaxForce = Vector3.new(0, 10000, 0)
Services_upvr.Debris:AddItem(BodyVelocity_2, 0.45)
else
local BodyVelocity = Instance.new("BodyVelocity", LocalPlayer_upvr.Character.HumanoidRootPart)
BodyVelocity.Velocity = Vector3.new(0, 10, 0)
BodyVelocity.MaxForce = Vector3.new(0, 10000, 0)
Services_upvr.Debris:AddItem(BodyVelocity, 0.45)
end
task.wait(0.6)
LocalPlayer_upvr.Character.HumanoidRootPart.WeightR.Massless = false
LocalPlayer_upvr.Character.HumanoidRootPart.WeightL.Massless = false
arg2.collisions:toggle("reset")
arg1.react.clear()
arg1.canReact = false
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
task.wait(0.1)
arg1.using = false
end
end
function module_upvr.clear(arg1) -- Line 134
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:28
-- Luau version 6, Types version 3
-- Time taken: 0.011139 seconds
local _engine = _G._engine
local References_upvr = _engine.References
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_2_upvr = {
tool = script.Parent.Parent;
canReact = false;
using = false;
playingHitAnimation = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 23
--[[ Upvalues[4]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
[3]: References_upvr (readonly)
[4]: Services_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
-- KONSTANTERROR: [0] 1. Error Block 36 start (CF ANALYSIS FAILED)
local var7
if not module_upvr.canReact or not arg1 or module_upvr.playingHitAnimation then
else
var7 = "HumanoidRootPart"
local SOME = LocalPlayer_upvr.Character:FindFirstChild(var7)
var7 = LocalPlayer_upvr.Character
var7 = 'R'
if string.find(arg1.Name, "Right") then
var7 = 'R'
-- KONSTANTWARNING: GOTO [75] #58
end
-- KONSTANTERROR: [0] 1. Error Block 36 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [55] 42. Error Block 37 start (CF ANALYSIS FAILED)
local var9
var9 = var9(arg1.Name, "Left")
if var9 then
var7 = 'L'
else
if math.random(1, 2) == 1 then
var9 = 'R'
else
var9 = 'L'
end
var7 = var9
end
var9 = module_upvr.animationTrack
if var9 then
var9 = module_upvr.animationTrack:Stop
var9(0.2)
var9 = module_upvr
var9.animationTrack = nil
end
var9 = var7.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools.gk.reflex.hit[var7])
local var10_upvr = var9
var10_upvr:Play(0.1, 5)
module_upvr.playingHitAnimation = true
module_upvr.root.movementController:SetAttribute("canSprint", false)
LocalPlayer_upvr.Character.Humanoid.WalkSpeed = Services_upvr.StarterPlayer.CharacterWalkSpeed - 10
if 0.1 > var10_upvr.Length or not (var10_upvr.Length - 0.35) then
end
task.delay(0.5, function() -- Line 55
--[[ Upvalues[4]:
[1]: var10_upvr (readonly)
[2]: module_upvr (copied, readonly)
[3]: LocalPlayer_upvr (copied, readonly)
[4]: Services_upvr (copied, readonly)
]]
var10_upvr:Stop(0.35)
task.wait(0.3)
module_upvr.canReact = false
_G._root:SetAttribute("globalOverride", false)
module_upvr.playingHitAnimation = false
module_upvr.root.movementController:SetAttribute("canSprint", true)
LocalPlayer_upvr.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Jumping, true)
LocalPlayer_upvr.Character.Humanoid.WalkSpeed = Services_upvr.StarterPlayer.CharacterWalkSpeed
task.wait(0.3)
module_upvr.using = false
end)
local var13_upvw = SOME.CFrame.LookVector * 22 + SOME.CFrame.RightVector * math.random(-25, 25) + Vector3.new(0, 15, 0)
task.spawn(function() -- Line 72
--[[ Upvalues[4]:
[1]: module_upvr (copied, readonly)
[2]: arg2 (readonly)
[3]: arg1 (readonly)
[4]: var13_upvw (read and write)
]]
local tbl_3 = {}
tbl_3.ball = arg2
tbl_3.limb = arg1
tbl_3.vector = var13_upvw
tbl_3.maxForce = Vector3.new(1, 1, 1) * math.huge
module_upvr.root:gkReact(tbl_3)
end)
-- KONSTANTERROR: [55] 42. Error Block 37 end (CF ANALYSIS FAILED)
end
end
local tbl = {}
local any_load_result1_upvr_2 = _engine:load("Hitboxes")
function tbl.new(arg1) -- Line 83
--[[ Upvalues[2]:
[1]: any_load_result1_upvr_2 (readonly)
[2]: module_upvr (readonly)
]]
local tbl_4 = {}
tbl_4.limbs = arg1
tbl_4.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr_2.new(tbl_4)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 89
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl.clear = clear
module_upvr.react = tbl
local any_load_result1_upvr = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 97
--[[ Upvalues[2]:
[1]: tbl_2_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
]]
for i, v in next, tbl_2_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 106
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
function module_upvr.inputBegan(arg1, arg2) -- Line 123
--[[ Upvalues[3]:
[1]: References_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
[3]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using or arg2:isHolding() then
else
if not arg2:gkCheck() then return end
if References_upvr.Main.config.Penalties.Enabled.Value then return end
arg2.movementController:SetAttribute("canSprint", false)
LocalPlayer_upvr.Character.Humanoid.WalkSpeed = Services_upvr.StarterPlayer.CharacterWalkSpeed - 5
LocalPlayer_upvr.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Jumping, false)
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("globalOverride", true)
arg1.animationTrack = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name].Animation)
arg1.animationTrack:Play(0.4, 4)
arg1.react.new({"Head", "UpperTorso", "LowerTorso", "RightUpperArm", "RightLowerArm", "RightHand", "LeftUpperArm", "LeftLowerArm", "LeftHand", "RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide", "Torso"})
end
end
function module_upvr.inputEnded(arg1, arg2) -- Line 152
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
]]
if not _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or not arg1.using then
else
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
if arg1.animationTrack then
arg1.animationTrack:Stop(0.2)
arg1.animationTrack = nil
end
if not arg1.playingHitAnimation then
LocalPlayer_upvr.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Jumping, true)
arg2.movementController:SetAttribute("canSprint", true)
LocalPlayer_upvr.Character.Humanoid.WalkSpeed = Services_upvr.StarterPlayer.CharacterWalkSpeed
end
arg1.react.clear()
arg1.canReact = false
task.wait(0.25)
arg1.using = false
end
end
function module_upvr.clear(arg1) -- Line 179
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:29
-- Luau version 6, Types version 3
-- Time taken: 0.005379 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_upvr = {
tool = script.Parent.Parent;
canReact = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 23
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact or module_upvr.root:isHolding() then
else
local any_getDeflectionVector_result1 = module_upvr.root:getDeflectionVector(LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart").Position, arg2.Position, true)
if 0 < any_getDeflectionVector_result1.Magnitude then
any_getDeflectionVector_result1 = any_getDeflectionVector_result1.Unit * (any_getDeflectionVector_result1.Magnitude + 45)
end
local tbl_3 = {}
tbl_3.ball = arg2
tbl_3.vector = any_getDeflectionVector_result1
tbl_3.maxForce = Vector3.new(1, 1, 1) * math.huge
tbl_3.ballFirst = module_upvr.ball
tbl_3.limb = arg1
module_upvr.root:gkReact(tbl_3)
end
end
local tbl_2 = {}
local any_load_result1_upvr = _engine:load("Hitboxes")
function tbl_2.new(arg1) -- Line 45
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: module_upvr (readonly)
]]
local tbl = {}
tbl.limbs = arg1
tbl.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr.new(tbl)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 51
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_2.clear = clear
module_upvr.react = tbl_2
local any_load_result1_upvr_2 = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 59
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr_2 (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr_2.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 68
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
local References_upvr = _engine.References
function module_upvr.inputBegan(arg1, arg2, arg3) -- Line 85
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
[3]: References_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 36 start (CF ANALYSIS FAILED)
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then return end
-- KONSTANTERROR: [0] 1. Error Block 36 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [35] 25. Error Block 8 start (CF ANALYSIS FAILED)
do
return
end
-- KONSTANTERROR: [35] 25. Error Block 8 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [36] 26. Error Block 9 start (CF ANALYSIS FAILED)
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("globalOverride", true)
LocalPlayer_upvr.Character.Humanoid.AutoRotate = false
arg2.movementController:SetAttribute("canSprint", false)
arg2.collisions:toggle("all", "2_limbs")
arg2.collisions:toggle({"UpperTorso", "LowerTorso"}, "6_none")
arg1.react.new({"Head", "UpperTorso", "LowerTorso", "RightUpperArm", "RightLowerArm", "RightHand", "LeftUpperArm", "LeftLowerArm", "LeftHand", "RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide", "Torso"})
-- KONSTANTERROR: [36] 26. Error Block 9 end (CF ANALYSIS FAILED)
end
function module_upvr.clear(arg1) -- Line 221
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:30
-- Luau version 6, Types version 3
-- Time taken: 0.005930 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_2_upvr = {
tool = script.Parent.Parent;
canReact = false;
using = false;
}
local module_upvr = {}
local any_new_result1_upvr = _engine:load("Network").new()
function module_upvr.onTouched(arg1, arg2, arg3) -- Line 23
--[[ Upvalues[3]:
[1]: module_upvr (readonly)
[2]: any_new_result1_upvr (readonly)
[3]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact or module_upvr.root:isHolding() then
else
if arg3 then
any_new_result1_upvr:send("trip", arg3, module_upvr.ball)
return
end
local any_getDeflectionVector_result1 = module_upvr.root:getDeflectionVector(LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart").Position, arg2.Position, true)
if 0 < any_getDeflectionVector_result1.Magnitude then
any_getDeflectionVector_result1 = any_getDeflectionVector_result1.Unit * (any_getDeflectionVector_result1.Magnitude + 40)
end
module_upvr.ball = true
local tbl_3 = {}
tbl_3.ball = arg2
tbl_3.vector = any_getDeflectionVector_result1
tbl_3.maxForce = Vector3.new(1, 1, 1) * math.huge
tbl_3.ballFirst = module_upvr.ball
tbl_3.limb = arg1
module_upvr.root:gkReact(tbl_3)
end
end
local tbl_4 = {}
local any_load_result1_upvr = _engine:load("Hitboxes")
function tbl_4.new(arg1) -- Line 50
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: module_upvr (readonly)
]]
local tbl = {}
tbl.limbs = arg1
tbl.humanoid = true
tbl.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr.new(tbl)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 56
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_4.clear = clear
module_upvr.react = tbl_4
local any_load_result1_upvr_2 = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 64
--[[ Upvalues[2]:
[1]: tbl_2_upvr (readonly)
[2]: any_load_result1_upvr_2 (readonly)
]]
for i, v in next, tbl_2_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr_2.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 73
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
local References_upvr = _engine.References
function module_upvr.inputBegan(arg1, arg2, arg3) -- Line 90
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
[3]: References_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 36 start (CF ANALYSIS FAILED)
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then return end
-- KONSTANTERROR: [0] 1. Error Block 36 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [35] 25. Error Block 8 start (CF ANALYSIS FAILED)
do
return
end
-- KONSTANTERROR: [35] 25. Error Block 8 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [36] 26. Error Block 9 start (CF ANALYSIS FAILED)
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("globalOverride", true)
LocalPlayer_upvr.Character.Humanoid.AutoRotate = false
arg2.movementController:SetAttribute("canSprint", false)
arg2.collisions:toggle("all", "2_limbs")
arg2.collisions:toggle({"UpperTorso", "LowerTorso"}, "6_none")
arg1.react.new({"Head", "UpperTorso", "LowerTorso", "RightUpperArm", "RightLowerArm", "RightHand", "LeftUpperArm", "LeftLowerArm", "LeftHand", "RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide", "Torso"})
-- KONSTANTERROR: [36] 26. Error Block 9 end (CF ANALYSIS FAILED)
end
function module_upvr.clear(arg1) -- Line 217
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:32
-- Luau version 6, Types version 3
-- Time taken: 0.002858 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local tbl_upvr = {
tool = script.Parent.Parent;
using = false;
}
local module = {}
local any_load_result1_upvr = _engine:load("Maid")
function module.init(arg1, arg2) -- Line 21
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr.new()
end
arg1.root = arg2
end
local References_upvr = _engine.References
function module.inputBegan(arg1, arg2) -- Line 33
--[[ Upvalues[2]:
[1]: References_upvr (readonly)
[2]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or not _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using or not script.Parent.clear:GetAttribute("charging") then
else
arg1.using = true
script.Parent.clear:SetAttribute("spin", "topspin")
References_upvr.Main.sounds.UI.Click:Play()
References_upvr.PlayerGui.main.framework.spin.Text = "TOPSPIN"
References_upvr.PlayerGui.main.framework.spin.TextTransparency = 0
Services_upvr.TweenService:Create(References_upvr.PlayerGui.main.framework.spin, TweenInfo.new(0.4, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 1;
}):Play()
task.wait(0.3)
arg1.using = false
end
end
function module.clear(arg1) -- Line 50
arg1.maid:DoCleaning()
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:33
-- Luau version 6, Types version 3
-- Time taken: 0.002367 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local tbl_upvr = {
tool = script.Parent.Parent;
using = false;
}
local module = {}
local any_load_result1_upvr = _engine:load("Maid")
function module.init(arg1, arg2) -- Line 21
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr.new()
end
arg1.root = arg2
end
local References_upvr = _engine.References
function module.inputBegan(arg1, arg2) -- Line 33
--[[ Upvalues[2]:
[1]: References_upvr (readonly)
[2]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or not _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using or not script.Parent.clear:GetAttribute("charging") then
else
arg1.using = true
script.Parent.clear:SetAttribute("spin", "backspin")
References_upvr.Main.sounds.UI.Click:Play()
References_upvr.PlayerGui.main.framework.spin.Text = "BACKSPIN"
References_upvr.PlayerGui.main.framework.spin.TextTransparency = 0
Services_upvr.TweenService:Create(References_upvr.PlayerGui.main.framework.spin, TweenInfo.new(0.4, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 1;
}):Play()
task.wait(0.3)
arg1.using = false
end
end
function module.clear(arg1) -- Line 50
arg1.maid:DoCleaning()
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:35
-- Luau version 6, Types version 3
-- Time taken: 0.014978 seconds
local _engine = _G._engine
local any_load_result1_upvr = _engine:load("Maid")
local Services_upvr = _engine.Services
local tbl_upvr = {
tool = script.Parent;
equipped = false;
}
local module = {}
local function _(arg1, arg2, arg3) -- Line 19, Named "registerAngleBarSkill"
if not arg1 or not arg1.SetAngleBarSkillContext then
else
if not arg3 then return end
arg1:SetAngleBarSkillContext(arg2, arg3)
end
end
local References_upvr = _engine.References
function module.init(arg1, arg2) -- Line 31
--[[ Upvalues[4]:
[1]: any_load_result1_upvr (readonly)
[2]: tbl_upvr (readonly)
[3]: Services_upvr (readonly)
[4]: References_upvr (readonly)
]]
local any_new_result1 = any_load_result1_upvr.new()
for i, v in next, tbl_upvr do
arg1[i] = v
end
arg1.maid = any_new_result1
arg1.root = arg2
arg1.binds = {}
for _, v_2 in next, arg1.tool.binds:GetChildren() do
if v_2 and v_2:IsA("ModuleScript") then
local v_2_2 = require(v_2)
v_2_2:init(arg2)
arg1.binds[v_2.Name] = v_2_2
end
end
if arg1.tool:FindFirstChild("combos") then
arg1.combos = {}
for _, v_3 in next, arg1.tool.combos:GetChildren() do
if v_3 and v_3:IsA("ModuleScript") then
local v_3_2 = require(v_3)
v_3_2:init(arg2)
arg1.combos[v_3.Name] = v_3_2
end
end
end
any_new_result1.inputBegan = Services_upvr.UserInputService.InputBegan:Connect(function(arg1_2, arg2_2) -- Line 64
--[[ Upvalues[4]:
[1]: arg1 (readonly)
[2]: Services_upvr (copied, readonly)
[3]: References_upvr (copied, readonly)
[4]: arg2 (readonly)
]]
local var29
if not var29 then
else
local function INLINED() -- Internal function, doesn't exist in bytecode
var29 = Services_upvr.UserInputService:GetFocusedTextBox()
return var29
end
if arg2_2 or INLINED() then return end
var29 = arg1_2.KeyCode.Name
if var29 == "Unknown" then
var29 = arg1_2.UserInputType.Name
end
for _, v_9 in next, References_upvr.Profile.binds:GetChildren() do
if v_9 and string.lower(v_9.Name) == string.lower(arg1.tool.Name) or string.lower(v_9.Name) == "misc" then
for _, v_10 in next, v_9:GetChildren() do
if typeof(v_10.Value) == "string" and string.lower(v_10.Value) == string.lower(var29) then
local string_lower_result1_2 = string.lower(v_10.Name)
local var35 = arg2
if var35 then
if not var35.SetAngleBarSkillContext then
elseif not string_lower_result1_2 then
else
var35:SetAngleBarSkillContext(arg1.tool.Name, string_lower_result1_2)
end
end
if arg1.binds[string_lower_result1_2] and arg1.binds[string_lower_result1_2].inputBegan then
arg1.binds[string_lower_result1_2]:inputBegan(arg2)
elseif arg1.combos and arg1.combos[string_lower_result1_2] and arg1.combos[string_lower_result1_2].inputBegan then
arg1.combos[string_lower_result1_2]:inputBegan(arg2)
end
end
end
end
end
end
end)
any_new_result1.inputEnded = Services_upvr.UserInputService.InputEnded:Connect(function(arg1_3, arg2_3) -- Line 96
--[[ Upvalues[4]:
[1]: Services_upvr (copied, readonly)
[2]: References_upvr (copied, readonly)
[3]: arg1 (readonly)
[4]: arg2 (readonly)
]]
if arg2_3 or Services_upvr.UserInputService:GetFocusedTextBox() then
else
if arg1_3.KeyCode.Name == "Unknown" then
end
for _, v_11 in next, References_upvr.Profile.binds:GetChildren() do
if v_11 and string.lower(v_11.Name) == string.lower(arg1.tool.Name) or string.lower(v_11.Name) == "misc" then
for _, v_12 in next, v_11:GetChildren() do
if typeof(v_12.Value) == "string" and string.lower(v_12.Value) == string.lower(arg1_3.UserInputType.Name) then
local string_lower_result1 = string.lower(v_12.Name)
if arg1.binds[string_lower_result1] and arg1.binds[string_lower_result1].inputEnded then
arg1.binds[string_lower_result1]:inputEnded(arg2)
elseif arg1.combos and arg1.combos[string_lower_result1] and arg1.combos[string_lower_result1].inputEnded then
arg1.combos[string_lower_result1]:inputEnded(arg2)
end
end
end
end
end
end
end)
end
function module.initCustom(arg1, arg2) -- Line 125
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: tbl_upvr (readonly)
]]
for i_4, v_4 in next, tbl_upvr do
arg1[i_4] = v_4
end
arg1.equipped = true
arg1.maid = any_load_result1_upvr.new()
arg1.root = arg2
arg1.binds = {}
for _, v_5 in next, arg1.tool.binds:GetChildren() do
if v_5 and v_5:IsA("ModuleScript") then
local v_5_2 = require(v_5)
v_5_2:init(arg2)
arg1.binds[v_5.Name] = v_5_2
end
end
if arg1.tool:FindFirstChild("combos") then
arg1.combos = {}
for _, v_6 in next, arg1.tool.combos:GetChildren() do
if v_6 and v_6:IsA("ModuleScript") then
local v_6_2 = require(v_6)
v_6_2:init(arg2)
arg1.combos[v_6.Name] = v_6_2
end
end
end
end
function module.inputBegan(arg1, arg2, arg3) -- Line 160
if arg2 then
if not arg2.SetAngleBarSkillContext then
elseif not arg3 then
else
arg2:SetAngleBarSkillContext(arg1.tool.Name, arg3)
end
end
if arg1.binds[arg3] and arg1.binds[arg3].inputBegan then
arg1.binds[arg3]:inputBegan(arg2)
elseif arg1.combos and arg1.combos[arg3] and arg1.combos[arg3].inputBegan then
arg1.combos[arg3]:inputBegan(arg2)
end
end
function module.inputEnded(arg1, arg2, arg3) -- Line 169
if arg1.binds[arg3] and arg1.binds[arg3].inputEnded then
arg1.binds[arg3]:inputEnded(arg2)
elseif arg1.combos and arg1.combos[arg3] and arg1.combos[arg3].inputEnded then
arg1.combos[arg3]:inputEnded(arg2)
end
end
function module.equip(arg1) -- Line 177
arg1.equipped = true
end
function module.unequip(arg1) -- Line 181
arg1.equipped = false
end
function module.clear(arg1) -- Line 185
for i_7, v_7 in next, arg1.binds do
if i_7 and v_7 then
v_7:clear()
end
end
if arg1.combos then
for i_8, v_8 in next, arg1.combos do
if i_8 and v_8 then
v_8:clear()
end
end
end
arg1.equipped = false
arg1.maid:DoCleaning()
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:36
-- Luau version 6, Types version 3
-- Time taken: 0.007412 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_upvr = {
tool = script.Parent.Parent;
minPower = 40;
maxPower = 122.5;
minHeight = 22.5;
maxHeight = 48.5;
power = 0;
height = 0;
chargeSpeed = 0.7;
charging = false;
canReact = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 34
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
local tbl = {}
tbl.ball = arg2
tbl.limb = arg1
tbl.vector = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart").CFrame.LookVector * module_upvr.power + Vector3.new(0, module_upvr.height, 0)
tbl.maxForce = Vector3.new(10000, 10000, 10000)
tbl.curve = true
tbl.curveType = "magnus"
tbl.spinType = script.Parent.pass:GetAttribute("spin")
tbl.grassEffect = true
tbl.checkOffside = true
tbl.currentFoot = module_upvr.currentFoot
tbl.updateStats = "Passes"
module_upvr.root:react(tbl)
end
end
local tbl_2 = {}
local any_load_result1_upvr_2 = _engine:load("Hitboxes")
function tbl_2.new(arg1) -- Line 59
--[[ Upvalues[2]:
[1]: any_load_result1_upvr_2 (readonly)
[2]: module_upvr (readonly)
]]
local tbl_3 = {}
tbl_3.limbs = arg1
tbl_3.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr_2.new(tbl_3)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 65
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_2.clear = clear
module_upvr.react = tbl_2
local any_load_result1_upvr = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 73
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 82
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
function module_upvr.inputBegan(arg1, arg2) -- Line 99
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then
else
arg1.charging = true
arg1.currentFoot = _G._root:GetAttribute("currentFoot")
arg2:chargeUp(arg1.chargeSpeed)
task.spawn(function() -- Line 108
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: Services_upvr (copied, readonly)
]]
while _G._root:GetAttribute("charging") and LocalPlayer_upvr.PlayerGui:FindFirstChild("UI") do
arg1.power = arg1.minPower + (arg1.maxPower - arg1.minPower) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
arg1.height = arg1.minHeight + (arg1.maxHeight - arg1.minHeight) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
Services_upvr.RunService.RenderStepped:Wait()
end
end)
end
end
local References_upvr = _engine.References
function module_upvr.inputEnded(arg1, arg2) -- Line 125
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or not _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using or not arg1.charging then
else
arg1.using = true
arg1.canReact = true
arg1.charging = false
_G._root:SetAttribute("charging", false)
_G._root:SetAttribute("globalOverride", true)
if _G._root:GetAttribute("currentFoot") == 'R' then
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "Collide"})
else
arg1.react.new({"LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
end
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name][_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
task.wait(0.6)
arg2:resetPowerBar()
arg1.react.clear()
arg1.canReact = false
script.Parent.pass:SetAttribute("spin", "topspin")
task.wait(0.1)
arg2.ragdoll:toggle(false)
arg1.using = false
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
end
end
function module_upvr.clear(arg1) -- Line 164
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:38
-- Luau version 6, Types version 3
-- Time taken: 0.006952 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_upvr = {
tool = script.Parent.Parent;
minPower = 45;
maxPower = 87.5;
minHeight = 0;
maxHeight = 7;
power = 0;
height = 0;
chargeSpeed = 0.45;
canReact = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 33
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
local tbl = {}
tbl.ball = arg2
tbl.limb = arg1
tbl.vector = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart").CFrame.LookVector * module_upvr.power + Vector3.new(0, module_upvr.height, 0)
tbl.maxForce = Vector3.new(10000, 10000, 10000)
tbl.curve = true
tbl.curveType = "magnus"
tbl.spinType = script:GetAttribute("spin")
tbl.grassEffect = true
tbl.ankle = true
tbl.checkOffside = true
tbl.currentFoot = module_upvr.currentFoot
tbl.updateStats = "Passes"
module_upvr.root:react(tbl)
end
end
local tbl_2 = {}
local any_load_result1_upvr_2 = _engine:load("Hitboxes")
function tbl_2.new(arg1) -- Line 59
--[[ Upvalues[2]:
[1]: any_load_result1_upvr_2 (readonly)
[2]: module_upvr (readonly)
]]
local tbl_3 = {}
tbl_3.limbs = arg1
tbl_3.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr_2.new(tbl_3)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 65
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_2.clear = clear
module_upvr.react = tbl_2
local any_load_result1_upvr = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 73
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 82
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
function module_upvr.inputBegan(arg1, arg2) -- Line 99
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then
else
script:SetAttribute("charging", true)
arg1.currentFoot = _G._root:GetAttribute("currentFoot")
arg2:chargeUp(arg1.chargeSpeed)
task.spawn(function() -- Line 108
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: Services_upvr (copied, readonly)
]]
while _G._root:GetAttribute("charging") and LocalPlayer_upvr.PlayerGui:FindFirstChild("UI") do
arg1.power = arg1.minPower + (arg1.maxPower - arg1.minPower) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
arg1.height = arg1.minHeight + (arg1.maxHeight - arg1.minHeight) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
Services_upvr.RunService.RenderStepped:Wait()
end
end)
end
end
local References_upvr = _engine.References
function module_upvr.inputEnded(arg1, arg2) -- Line 125
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or not _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or not script:GetAttribute("charging") or arg1.using then
else
arg1.using = true
arg1.canReact = true
script:SetAttribute("charging", false)
_G._root:SetAttribute("charging", false)
_G._root:SetAttribute("globalOverride", true)
if _G._root:GetAttribute("currentFoot") == 'R' then
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "Collide"})
else
arg1.react.new({"LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
end
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name][_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play(nil, nil, 1.2)
task.wait(0.5)
arg2:resetPowerBar()
arg1.react.clear()
arg1.canReact = false
script:SetAttribute("spin", "topspin")
task.wait(0.1)
arg1.using = false
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
end
end
function module_upvr.clear(arg1) -- Line 163
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:39
-- Luau version 6, Types version 3
-- Time taken: 0.007462 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_upvr = {
tool = script.Parent.Parent;
minPower = 40;
maxPower = 85;
minHeight = 0;
maxHeight = 2;
power = 0;
height = 0;
chargeSpeed = 0.7;
charging = false;
canReact = false;
using = false;
ankle = true;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 35
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
local HumanoidRootPart = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart")
local tbl_3 = {}
tbl_3.ball = arg2
tbl_3.limb = arg1
tbl_3.vector = HumanoidRootPart.CFrame.RightVector * module_upvr.power + (HumanoidRootPart.CFrame.LookVector) * (module_upvr.power / 3) + Vector3.new(0, module_upvr.height, 0)
tbl_3.maxForce = Vector3.new(10000, 10000, 10000)
tbl_3.curve = true
tbl_3.curveType = "right"
tbl_3.spinType = script.Parent.pass:GetAttribute("spin")
tbl_3.grassEffect = true
tbl_3.checkOffside = true
tbl_3.ankle = false
tbl_3.updateStats = "Passes"
module_upvr.root:react(tbl_3)
end
end
local tbl_2 = {}
local any_load_result1_upvr = _engine:load("Hitboxes")
function tbl_2.new(arg1) -- Line 62
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: module_upvr (readonly)
]]
local tbl = {}
tbl.limbs = arg1
tbl.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr.new(tbl)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 68
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_2.clear = clear
module_upvr.react = tbl_2
local any_load_result1_upvr_2 = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 76
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr_2 (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr_2.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 85
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
function module_upvr.inputBegan(arg1, arg2) -- Line 102
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then
else
arg1.charging = true
arg2:chargeUp(arg1.chargeSpeed)
task.spawn(function() -- Line 110
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: Services_upvr (copied, readonly)
]]
while _G._root:GetAttribute("charging") and LocalPlayer_upvr.PlayerGui:FindFirstChild("UI") do
arg1.power = arg1.minPower + (arg1.maxPower - arg1.minPower) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
arg1.height = arg1.minHeight + (arg1.maxHeight - arg1.minHeight) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
Services_upvr.RunService.RenderStepped:Wait()
end
end)
end
end
local References_upvr = _engine.References
function module_upvr.inputEnded(arg1, arg2) -- Line 127
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or not _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or not arg1.charging or arg1.using then
else
arg1.charging = false
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("charging", false)
_G._root:SetAttribute("globalOverride", true)
if _G._root:GetAttribute("currentFoot") == 'R' then
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "Collide"})
else
arg1.react.new({"LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
end
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name][_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play(nil, nil, 1.2)
task.wait(0.5)
arg2:resetPowerBar()
arg1.react.clear()
arg1.canReact = false
script.Parent.pass:SetAttribute("spin", "topspin")
task.wait(0.1)
arg1.using = false
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
end
end
function module_upvr.clear(arg1) -- Line 164
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:41
-- Luau version 6, Types version 3
-- Time taken: 0.007437 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_upvr = {
tool = script.Parent.Parent;
minPower = 40;
maxPower = 85;
minHeight = 0;
maxHeight = 2;
power = 0;
height = 0;
chargeSpeed = 0.7;
charging = false;
canReact = false;
using = false;
ankle = true;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 36
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
local HumanoidRootPart = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart")
local tbl_3 = {}
tbl_3.ball = arg2
tbl_3.limb = arg1
tbl_3.vector = HumanoidRootPart.CFrame.RightVector * -module_upvr.power + (HumanoidRootPart.CFrame.LookVector) * (module_upvr.power / 3) + Vector3.new(0, module_upvr.height, 0)
tbl_3.maxForce = Vector3.new(10000, 10000, 10000)
tbl_3.curve = true
tbl_3.curveType = "left"
tbl_3.spinType = script.Parent.pass:GetAttribute("spin")
tbl_3.grassEffect = true
tbl_3.checkOffside = true
tbl_3.ankle = false
tbl_3.updateStats = "Passes"
module_upvr.root:react(tbl_3)
end
end
local tbl_2 = {}
local any_load_result1_upvr = _engine:load("Hitboxes")
function tbl_2.new(arg1) -- Line 63
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: module_upvr (readonly)
]]
local tbl = {}
tbl.limbs = arg1
tbl.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr.new(tbl)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 69
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_2.clear = clear
module_upvr.react = tbl_2
local any_load_result1_upvr_2 = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 77
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr_2 (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr_2.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 86
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
function module_upvr.inputBegan(arg1, arg2) -- Line 103
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then
else
arg1.charging = true
arg2:chargeUp(arg1.chargeSpeed)
task.spawn(function() -- Line 111
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: Services_upvr (copied, readonly)
]]
while _G._root:GetAttribute("charging") and LocalPlayer_upvr.PlayerGui:FindFirstChild("UI") do
arg1.power = arg1.minPower + (arg1.maxPower - arg1.minPower) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
arg1.height = arg1.minHeight + (arg1.maxHeight - arg1.minHeight) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
Services_upvr.RunService.RenderStepped:Wait()
end
end)
end
end
local References_upvr = _engine.References
function module_upvr.inputEnded(arg1, arg2) -- Line 128
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or not _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or not arg1.charging or arg1.using then
else
arg1.charging = false
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("charging", false)
_G._root:SetAttribute("globalOverride", true)
if _G._root:GetAttribute("currentFoot") == 'R' then
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "Collide"})
else
arg1.react.new({"LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
end
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name][_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play(nil, nil, 1.2)
task.wait(0.5)
arg2:resetPowerBar()
arg1.react.clear()
arg1.canReact = false
script.Parent.pass:SetAttribute("spin", "topspin")
task.wait(0.1)
arg1.using = false
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
end
end
function module_upvr.clear(arg1) -- Line 165
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:42
-- Luau version 6, Types version 3
-- Time taken: 0.002924 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local tbl_upvr = {
tool = script.Parent.Parent;
using = false;
}
local module = {}
local any_load_result1_upvr = _engine:load("Maid")
function module.init(arg1, arg2) -- Line 21
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr.new()
end
arg1.root = arg2
end
local References_upvr = _engine.References
function module.inputBegan(arg1, arg2) -- Line 33
--[[ Upvalues[2]:
[1]: References_upvr (readonly)
[2]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or not _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then
else
arg1.using = true
script.Parent.pass:SetAttribute("spin", "backspin")
References_upvr.Main.sounds.UI.Click:Play()
References_upvr.PlayerGui.main.framework.spin.Text = "BACKSPIN"
References_upvr.PlayerGui.main.framework.spin.TextTransparency = 0
Services_upvr.TweenService:Create(References_upvr.PlayerGui.main.framework.spin, TweenInfo.new(0.4, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 1;
}):Play()
task.wait(0.3)
arg1.using = false
end
end
function module.clear(arg1) -- Line 50
arg1.maid:DoCleaning()
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:44
-- Luau version 6, Types version 3
-- Time taken: 0.003170 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local tbl_upvr = {
tool = script.Parent.Parent;
using = false;
}
local module = {}
local any_load_result1_upvr = _engine:load("Maid")
function module.init(arg1, arg2) -- Line 21
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr.new()
end
arg1.root = arg2
end
local References_upvr = _engine.References
function module.inputBegan(arg1, arg2) -- Line 33
--[[ Upvalues[2]:
[1]: References_upvr (readonly)
[2]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or not _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using or not script.Parent.pass:GetAttribute("charging") then
else
arg1.using = true
script.Parent.pass:SetAttribute("spin", "topspin")
References_upvr.Main.sounds.UI.Click:Play()
References_upvr.PlayerGui.main.framework.spin.Text = "TOPSPIN"
References_upvr.PlayerGui.main.framework.spin.TextTransparency = 0
Services_upvr.TweenService:Create(References_upvr.PlayerGui.main.framework.spin, TweenInfo.new(0.4, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
TextTransparency = 1;
}):Play()
task.wait(0.3)
arg1.using = false
end
end
function module.clear(arg1) -- Line 50
arg1.maid:DoCleaning()
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:45
-- Luau version 6, Types version 3
-- Time taken: 0.012416 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_2_upvr = {
tool = script.Parent.Parent;
using = false;
}
local module = {}
local any_load_result1_upvr_2 = _engine:load("Maid")
function module.init(arg1, arg2) -- Line 22
--[[ Upvalues[2]:
[1]: tbl_2_upvr (readonly)
[2]: any_load_result1_upvr_2 (readonly)
]]
for i, v in next, tbl_2_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr_2.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 31
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
local References_upvr = _engine.References
local any_load_result1_upvr = _engine:load("Sounds")
local mouse_upvr = LocalPlayer_upvr:GetMouse()
function module.inputBegan(arg1, arg2) -- Line 48
--[[ Upvalues[5]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
[3]: any_load_result1_upvr (readonly)
[4]: Services_upvr (readonly)
[5]: mouse_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local var30
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then
else
arg1.using = true
arg1.canReact = true
var30 = References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name]
local any_LoadAnimation_result1_2 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(var30[_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1_2.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1_2:Play()
task.spawn(function() -- Line 62
--[[ Upvalues[3]:
[1]: References_upvr (copied, readonly)
[2]: any_load_result1_upvr (copied, readonly)
[3]: LocalPlayer_upvr (copied, readonly)
]]
local children = References_upvr.Main.sounds.CammySounds.Atmosphere.Player["Player Calls"]:GetChildren()
local var34 = children[math.random(1, #children)]
any_load_result1_upvr:load({
directory = LocalPlayer_upvr.Character.HumanoidRootPart;
soundId = var34.SoundId;
rollOffMaxDistance = 10000;
rollOffMinDistance = 30;
volume = var34.Volume;
play = true;
replicate = true;
})
end)
var30 = Services_upvr
local CurrentCamera = var30.Workspace.CurrentCamera
var30 = Services_upvr
local any_GetMouseLocation_result1 = var30.UserInputService:GetMouseLocation()
var30 = nil
if workspace:FindFirstChild("game") and workspace.game:FindFirstChild("pitch") then
var30 = workspace.game.pitch
elseif workspace:FindFirstChild("pitch") then
var30 = workspace.pitch
end
if var30 then
local RaycastParams_new_result1_2 = RaycastParams.new()
RaycastParams_new_result1_2.FilterType = Enum.RaycastFilterType.Whitelist
RaycastParams_new_result1_2.FilterDescendantsInstances = {var30}
local any_ViewportPointToRay_result1_2 = CurrentCamera:ViewportPointToRay(any_GetMouseLocation_result1.X, any_GetMouseLocation_result1.Y)
local any_Raycast_result1 = Services_upvr.Workspace:Raycast(any_ViewportPointToRay_result1_2.Origin, any_ViewportPointToRay_result1_2.Direction * 2000, RaycastParams_new_result1_2)
if any_Raycast_result1 then
end
end
if not any_Raycast_result1.Position then
local any_ScreenPointToRay_result1 = CurrentCamera:ScreenPointToRay(any_GetMouseLocation_result1.X, any_GetMouseLocation_result1.Y)
any_ViewportPointToRay_result1_2 = 0
local var43
if var30 and var30:IsA("BasePart") then
var43 = var30.Position.Y
end
local Origin_2 = any_ScreenPointToRay_result1.Origin
local Unit = any_ScreenPointToRay_result1.Direction.Unit
if 0.0001 < math.abs(Unit.Y) then
local var46 = (var43 - Origin_2.Y) / Unit.Y
if 0 < var46 then
end
end
end
if not (Origin_2 + Unit * var46) then
end
arg2:applyMarker(mouse_upvr.Hit.Position)
task.wait(3)
arg1.using = false
end
end
function module.clear(arg1) -- Line 141
arg1.maid:DoCleaning()
end
return module
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:47
-- Luau version 6, Types version 3
-- Time taken: 0.009550 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_upvr = {
tool = script.Parent.Parent;
minPower = 40;
maxPower = 85;
minHeight = 20;
maxHeight = 47;
power = 0;
height = 0;
chargeSpeed = 1;
charging = false;
canReact = false;
using = false;
ankle = true;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 35
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
local HumanoidRootPart = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart")
local tbl_3 = {}
tbl_3.ball = arg2
tbl_3.limb = arg1
tbl_3.vector = HumanoidRootPart.CFrame.RightVector * module_upvr.power + (HumanoidRootPart.CFrame.LookVector) * (module_upvr.power / 2.5) + Vector3.new(0, module_upvr.height, 0)
tbl_3.maxForce = Vector3.new(10000, 10000, 10000)
tbl_3.curve = true
tbl_3.curveType = "right"
tbl_3.spinType = script.Parent.pass:GetAttribute("spin")
tbl_3.grassEffect = true
tbl_3.checkOffside = true
tbl_3.ankle = true
tbl_3.updateStats = "Passes"
module_upvr.root:react(tbl_3)
end
end
local tbl_2 = {}
local any_load_result1_upvr = _engine:load("Hitboxes")
function tbl_2.new(arg1) -- Line 62
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: module_upvr (readonly)
]]
local tbl = {}
tbl.limbs = arg1
tbl.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr.new(tbl)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 68
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_2.clear = clear
module_upvr.react = tbl_2
local any_load_result1_upvr_2 = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 76
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr_2 (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr_2.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 85
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
function module_upvr.inputBegan(arg1, arg2) -- Line 102
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then
else
arg1.charging = true
arg2:chargeUp(arg1.chargeSpeed)
task.spawn(function() -- Line 110
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: Services_upvr (copied, readonly)
]]
while _G._root:GetAttribute("charging") and LocalPlayer_upvr.PlayerGui:FindFirstChild("UI") do
arg1.power = arg1.minPower + (arg1.maxPower - arg1.minPower) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
arg1.height = arg1.minHeight + (arg1.maxHeight - arg1.minHeight) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
Services_upvr.RunService.RenderStepped:Wait()
end
end)
end
end
local References_upvr = _engine.References
function module_upvr.inputEnded(arg1, arg2) -- Line 127
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or not _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or not arg1.charging or arg1.using then
else
arg1.charging = false
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("charging", false)
_G._root:SetAttribute("globalOverride", true)
if _G._root:GetAttribute("currentFoot") == 'R' then
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "Collide"})
else
arg1.react.new({"LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
end
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name][_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
task.wait(0.6)
arg2:resetPowerBar()
arg1.react.clear()
arg1.canReact = false
script.Parent.pass:SetAttribute("spin", "topspin")
task.wait(0.1)
arg1.using = false
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
end
end
function module_upvr.clear(arg1) -- Line 164
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:48
-- Luau version 6, Types version 3
-- Time taken: 0.007395 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_upvr = {
tool = script.Parent.Parent;
minPower = 40;
maxPower = 85;
minHeight = 20;
maxHeight = 47;
power = 0;
height = 0;
chargeSpeed = 1;
charging = false;
canReact = false;
using = false;
ankle = true;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 35
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
local HumanoidRootPart = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart")
local tbl_3 = {}
tbl_3.ball = arg2
tbl_3.limb = arg1
tbl_3.vector = HumanoidRootPart.CFrame.RightVector * -module_upvr.power + (HumanoidRootPart.CFrame.LookVector) * (module_upvr.power / 2.5) + Vector3.new(0, module_upvr.height, 0)
tbl_3.maxForce = Vector3.new(10000, 10000, 10000)
tbl_3.curve = true
tbl_3.curveType = "left"
tbl_3.spinType = script.Parent.pass:GetAttribute("spin")
tbl_3.grassEffect = true
tbl_3.checkOffside = true
tbl_3.ankle = true
tbl_3.updateStats = "Passes"
module_upvr.root:react(tbl_3)
end
end
local tbl_2 = {}
local any_load_result1_upvr = _engine:load("Hitboxes")
function tbl_2.new(arg1) -- Line 62
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: module_upvr (readonly)
]]
local tbl = {}
tbl.limbs = arg1
tbl.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr.new(tbl)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 68
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_2.clear = clear
module_upvr.react = tbl_2
local any_load_result1_upvr_2 = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 76
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr_2 (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr_2.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 85
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
function module_upvr.inputBegan(arg1, arg2) -- Line 102
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then
else
arg1.charging = true
arg2:chargeUp(arg1.chargeSpeed)
task.spawn(function() -- Line 110
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: Services_upvr (copied, readonly)
]]
while _G._root:GetAttribute("charging") and LocalPlayer_upvr.PlayerGui:FindFirstChild("UI") do
arg1.power = arg1.minPower + (arg1.maxPower - arg1.minPower) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
arg1.height = arg1.minHeight + (arg1.maxHeight - arg1.minHeight) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
Services_upvr.RunService.RenderStepped:Wait()
end
end)
end
end
local References_upvr = _engine.References
function module_upvr.inputEnded(arg1, arg2) -- Line 127
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or not _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or not arg1.charging or arg1.using then
else
arg1.charging = false
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("charging", false)
_G._root:SetAttribute("globalOverride", true)
if _G._root:GetAttribute("currentFoot") == 'R' then
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "Collide"})
else
arg1.react.new({"LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
end
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name][_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
task.wait(0.6)
arg2:resetPowerBar()
arg1.react.clear()
arg1.canReact = false
script.Parent.pass:SetAttribute("spin", "topspin")
task.wait(0.1)
arg1.using = false
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
end
end
function module_upvr.clear(arg1) -- Line 164
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:50
-- Luau version 6, Types version 3
-- Time taken: 0.006731 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_upvr = {
tool = script.Parent.Parent;
minPower = 30;
maxPower = 50;
minHeight = 0;
maxHeight = 0;
power = 0;
height = 0;
chargeSpeed = 0.4;
charging = false;
canReact = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 34
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
local var6
if not module_upvr.canReact then
else
var6 = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart").CFrame
local function INLINED() -- Internal function, doesn't exist in bytecode
var6 = -module_upvr.power
return var6
end
if _G._root:GetAttribute("currentFoot") ~= 'R' or not INLINED() then
var6 = module_upvr.power
end
var6 = 0
var6 = module_upvr
local tbl_3 = {}
tbl_3.ball = arg2
tbl_3.limb = arg1
tbl_3.vector = var6.RightVector * var6 + Vector3.new(var6, module_upvr.height, 0)
tbl_3.maxForce = Vector3.new(10000, 10000, 10000)
tbl_3.grassEffect = true
tbl_3.checkOffside = true
tbl_3.updateStats = "Passes"
var6.root:react(tbl_3)
end
end
local tbl_2 = {}
local any_load_result1_upvr = _engine:load("Hitboxes")
function tbl_2.new(arg1) -- Line 56
--[[ Upvalues[2]:
[1]: any_load_result1_upvr (readonly)
[2]: module_upvr (readonly)
]]
local tbl = {}
tbl.limbs = arg1
tbl.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr.new(tbl)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 62
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_2.clear = clear
module_upvr.react = tbl_2
local any_load_result1_upvr_2 = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 70
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr_2 (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr_2.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 79
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
function module_upvr.inputBegan(arg1, arg2) -- Line 96
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then
else
arg1.charging = true
arg2:chargeUp(arg1.chargeSpeed)
task.spawn(function() -- Line 104
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: Services_upvr (copied, readonly)
]]
while _G._root:GetAttribute("charging") and LocalPlayer_upvr.PlayerGui:FindFirstChild("UI") do
arg1.power = arg1.minPower + (arg1.maxPower - arg1.minPower) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
arg1.height = arg1.minHeight + (arg1.maxHeight - arg1.minHeight) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
Services_upvr.RunService.RenderStepped:Wait()
end
end)
end
end
local References_upvr = _engine.References
function module_upvr.inputEnded(arg1, arg2) -- Line 121
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or not _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or not arg1.charging or arg1.using then
else
arg1.charging = false
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("charging", false)
_G._root:SetAttribute("globalOverride", true)
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name][_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
task.wait(0.35)
arg2:resetPowerBar()
arg1.react.clear()
arg1.canReact = false
task.wait(0.1)
arg1.using = false
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
end
end
function module_upvr.clear(arg1) -- Line 154
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:51
-- Luau version 6, Types version 3
-- Time taken: 0.007443 seconds
local _engine = _G._engine
local Services_upvr = _engine.Services
local LocalPlayer_upvr = Services_upvr.Players.LocalPlayer
local tbl_upvr = {
tool = script.Parent.Parent;
minPower = 19;
maxPower = 50;
minHeight = 0;
maxHeight = 5;
power = 0;
height = 0;
chargeSpeed = 0.4;
charging = false;
canReact = false;
using = false;
}
local module_upvr = {}
function module_upvr.onTouched(arg1, arg2) -- Line 34
--[[ Upvalues[2]:
[1]: module_upvr (readonly)
[2]: LocalPlayer_upvr (readonly)
]]
if not module_upvr.canReact then
else
local tbl = {}
tbl.ball = arg2
tbl.limb = arg1
tbl.vector = LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart").CFrame.LookVector * -module_upvr.power + Vector3.new(0, module_upvr.height, 0)
tbl.maxForce = Vector3.new(10000, 10000, 10000)
tbl.grassEffect = true
tbl.checkOffside = true
tbl.updateStats = "Passes"
module_upvr.root:react(tbl)
end
end
local tbl_2 = {}
local any_load_result1_upvr_2 = _engine:load("Hitboxes")
function tbl_2.new(arg1) -- Line 56
--[[ Upvalues[2]:
[1]: any_load_result1_upvr_2 (readonly)
[2]: module_upvr (readonly)
]]
local tbl_3 = {}
tbl_3.limbs = arg1
tbl_3.callback = module_upvr.onTouched
local any_new_result1 = any_load_result1_upvr_2.new(tbl_3)
any_new_result1:init()
module_upvr.activeHitbox = any_new_result1
end
local function clear(arg1) -- Line 62
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if module_upvr.activeHitbox then
module_upvr.activeHitbox:clear()
module_upvr.activeHitbox = nil
end
end
tbl_2.clear = clear
module_upvr.react = tbl_2
local any_load_result1_upvr = _engine:load("Maid")
function module_upvr.init(arg1, arg2) -- Line 70
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: any_load_result1_upvr (readonly)
]]
for i, v in next, tbl_upvr do
arg1[i] = v
end
if not arg1.maid then
arg1.maid = any_load_result1_upvr.new()
end
arg1.maid.forceDisable = _G._root:GetAttributeChangedSignal("forceDisable"):Connect(function() -- Line 79
--[[ Upvalues[1]:
[1]: arg1 (readonly)
]]
if _G._root:GetAttribute("forceDisable") then
if arg1.react then
arg1.react.clear()
end
if arg1.charging then
arg1.charging = false
end
arg1.canReact = false
arg1.using = false
end
end)
arg1.root = arg2
end
function module_upvr.inputBegan(arg1, arg2) -- Line 96
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: Services_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or arg1.using then
else
arg1.charging = true
arg2:chargeUp(arg1.chargeSpeed)
task.spawn(function() -- Line 104
--[[ Upvalues[3]:
[1]: LocalPlayer_upvr (copied, readonly)
[2]: arg1 (readonly)
[3]: Services_upvr (copied, readonly)
]]
while _G._root:GetAttribute("charging") and LocalPlayer_upvr.PlayerGui:FindFirstChild("UI") do
arg1.power = arg1.minPower + (arg1.maxPower - arg1.minPower) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
arg1.height = arg1.minHeight + (arg1.maxHeight - arg1.minHeight) * (1 - LocalPlayer_upvr.PlayerGui.UI.Power.Bar.Size.Y.Scale)
Services_upvr.RunService.RenderStepped:Wait()
end
end)
end
end
local References_upvr = _engine.References
function module_upvr.inputEnded(arg1, arg2) -- Line 121
--[[ Upvalues[2]:
[1]: LocalPlayer_upvr (readonly)
[2]: References_upvr (readonly)
]]
if _G._root:GetAttribute("globalOverride") or not _G._root:GetAttribute("charging") or _G._root:GetAttribute("ragdoll") or not arg1.charging or arg1.using then
else
arg1.charging = false
arg1.using = true
arg1.canReact = true
_G._root:SetAttribute("charging", false)
_G._root:SetAttribute("globalOverride", true)
if _G._root:GetAttribute("currentFoot") == 'R' then
arg1.react.new({"RightUpperLeg", "RightLowerLeg", "RightFoot", "RightBoot", "Collide"})
else
arg1.react.new({"LeftUpperLeg", "LeftLowerLeg", "LeftFoot", "LeftBoot", "Collide"})
end
local any_LoadAnimation_result1 = LocalPlayer_upvr.Character.Humanoid:WaitForChild("Animator", 100):LoadAnimation(References_upvr.Main.animations.Tools[arg1.tool.Name][script.Name][_G._root:GetAttribute("currentFoot")])
any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action4
any_LoadAnimation_result1:Play()
task.wait(0.35)
arg2:resetPowerBar()
arg1.react.clear()
arg1.canReact = false
task.wait(0.1)
arg1.using = false
if not _G._root:GetAttribute("forceDisable") then
_G._root:SetAttribute("globalOverride", false)
end
end
end
function module_upvr.clear(arg1) -- Line 158
arg1.maid:DoCleaning()
end
return module_upvr
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:53
-- Luau version 6, Types version 3
-- Time taken: 0.001151 seconds
-- KONSTANTERROR: [0] 1. Error Block 13 start (CF ANALYSIS FAILED)
if not script.Parent:IsA("Actor") then return end
local pairs_result1, pairs_result2, pairs_result3 = pairs({game:GetService("ReplicatedStorage"), game:GetService("AssetService"), game:GetService("Players").LocalPlayer:WaitForChild("PlayerScripts")})
-- KONSTANTERROR: [0] 1. Error Block 13 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [72] 52. Error Block 7 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [72] 52. Error Block 7 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [59] 41. Error Block 4 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [72.12]
-- KONSTANTERROR: [59] 41. Error Block 4 end (CF ANALYSIS FAILED)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:54
-- Luau version 6, Types version 3
-- Time taken: 0.001039 seconds
-- KONSTANTERROR: [0] 1. Error Block 13 start (CF ANALYSIS FAILED)
if not script.Parent:IsA("Actor") then return end
local pairs_result1, pairs_result2, pairs_result3 = pairs({game:GetService("ReplicatedStorage"), game:GetService("AssetService"), game:GetService("Players").LocalPlayer:WaitForChild("PlayerScripts")})
-- KONSTANTERROR: [0] 1. Error Block 13 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [72] 52. Error Block 7 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [72] 52. Error Block 7 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [59] 41. Error Block 4 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [72.12]
-- KONSTANTERROR: [59] 41. Error Block 4 end (CF ANALYSIS FAILED)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:55
-- Luau version 6, Types version 3
-- Time taken: 0.001338 seconds
-- KONSTANTERROR: [0] 1. Error Block 13 start (CF ANALYSIS FAILED)
if not script.Parent:IsA("Actor") then return end
local pairs_result1, pairs_result2, pairs_result3 = pairs({game:GetService("ReplicatedStorage"), game:GetService("AssetService"), game:GetService("Players").LocalPlayer:WaitForChild("PlayerScripts")})
-- KONSTANTERROR: [0] 1. Error Block 13 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [72] 52. Error Block 7 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [72] 52. Error Block 7 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [59] 41. Error Block 4 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [72.12]
-- KONSTANTERROR: [59] 41. Error Block 4 end (CF ANALYSIS FAILED)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:57
-- Luau version 6, Types version 3
-- Time taken: 0.001040 seconds
-- KONSTANTERROR: [0] 1. Error Block 13 start (CF ANALYSIS FAILED)
if not script.Parent:IsA("Actor") then return end
local pairs_result1, pairs_result2, pairs_result3 = pairs({game:GetService("ReplicatedStorage"), game:GetService("AssetService"), game:GetService("Players").LocalPlayer:WaitForChild("PlayerScripts")})
-- KONSTANTERROR: [0] 1. Error Block 13 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [72] 52. Error Block 7 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [72] 52. Error Block 7 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [59] 41. Error Block 4 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [72.12]
-- KONSTANTERROR: [59] 41. Error Block 4 end (CF ANALYSIS FAILED)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:12:59
-- Luau version 6, Types version 3
-- Time taken: 0.001080 seconds
-- KONSTANTERROR: [0] 1. Error Block 13 start (CF ANALYSIS FAILED)
if not script.Parent:IsA("Actor") then return end
local pairs_result1, pairs_result2, pairs_result3 = pairs({game:GetService("ReplicatedStorage"), game:GetService("AssetService"), game:GetService("Players").LocalPlayer:WaitForChild("PlayerScripts")})
-- KONSTANTERROR: [0] 1. Error Block 13 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [72] 52. Error Block 7 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [72] 52. Error Block 7 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [59] 41. Error Block 4 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [72.12]
-- KONSTANTERROR: [59] 41. Error Block 4 end (CF ANALYSIS FAILED)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:13:01
-- Luau version 6, Types version 3
-- Time taken: 0.001058 seconds
-- KONSTANTERROR: [0] 1. Error Block 13 start (CF ANALYSIS FAILED)
if not script.Parent:IsA("Actor") then return end
local pairs_result1, pairs_result2, pairs_result3 = pairs({game:GetService("ReplicatedStorage"), game:GetService("AssetService"), game:GetService("Players").LocalPlayer:WaitForChild("PlayerScripts")})
-- KONSTANTERROR: [0] 1. Error Block 13 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [72] 52. Error Block 7 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [72] 52. Error Block 7 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [59] 41. Error Block 4 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [72.12]
-- KONSTANTERROR: [59] 41. Error Block 4 end (CF ANALYSIS FAILED)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:13:03
-- Luau version 6, Types version 3
-- Time taken: 0.001153 seconds
-- KONSTANTERROR: [0] 1. Error Block 13 start (CF ANALYSIS FAILED)
if not script.Parent:IsA("Actor") then return end
local pairs_result1, pairs_result2, pairs_result3 = pairs({game:GetService("ReplicatedStorage"), game:GetService("AssetService"), game:GetService("Players").LocalPlayer:WaitForChild("PlayerScripts")})
-- KONSTANTERROR: [0] 1. Error Block 13 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [72] 52. Error Block 7 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [72] 52. Error Block 7 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [59] 41. Error Block 4 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [72.12]
-- KONSTANTERROR: [59] 41. Error Block 4 end (CF ANALYSIS FAILED)
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:13:05
-- Luau version 6, Types version 3
-- Time taken: 0.001743 seconds
local module_upvr = require(script.Parent:WaitForChild("ModuleScript"))
local LocalPlayer_upvr = game:GetService("Players").LocalPlayer
local function getViewerPosition_upvr() -- Line 4, Named "getViewerPosition"
--[[ Upvalues[1]:
[1]: LocalPlayer_upvr (readonly)
]]
return LocalPlayer_upvr.Character.Head.Position
end
game:GetService("RunService").Heartbeat:Connect(function() -- Line 8
--[[ Upvalues[2]:
[1]: getViewerPosition_upvr (readonly)
[2]: module_upvr (readonly)
]]
local pcall_result1, pcall_result2 = pcall(getViewerPosition_upvr)
module_upvr.UpdateAll(pcall_result1 and pcall_result2)
end)
local function onCharacterAdded(arg1) -- Line 18
--[[ Upvalues[1]:
[1]: module_upvr (readonly)
]]
if arg1:FindFirstChildWhichIsA("Humanoid") then
module_upvr.SetDisplayDistance(arg1.Humanoid.NameDisplayDistance)
arg1.Humanoid.NameDisplayDistance = 0
else
local var7_upvw
var7_upvw = arg1.ChildAdded:Connect(function(arg1_2) -- Line 23
--[[ Upvalues[3]:
[1]: var7_upvw (read and write)
[2]: module_upvr (copied, readonly)
[3]: arg1 (readonly)
]]
if not arg1_2:IsA("Humanoid") then
else
var7_upvw:Disconnect()
module_upvr.SetDisplayDistance(arg1.Humanoid.NameDisplayDistance)
arg1.Humanoid.NameDisplayDistance = 0
end
end)
end
end
LocalPlayer_upvr.CharacterAdded:Connect(onCharacterAdded)
if LocalPlayer_upvr.Character then
onCharacterAdded(LocalPlayer_upvr.Character)
end
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:13:07
-- Luau version 6, Types version 3
-- Time taken: 0.007294 seconds
local CollectionService = game:GetService("CollectionService")
local module_upvr_2 = {
OnAdded = {};
}
local tbl_upvr_2 = {}
local tbl_upvr = {}
local NameDisplayDistance_upvw = game:GetService("StarterPlayer").NameDisplayDistance
local RaycastParams_new_result1_upvr = RaycastParams.new()
RaycastParams_new_result1_upvr.FilterType = Enum.RaycastFilterType.Exclude
local module_upvr = require(script:WaitForChild("OverheadGui"))
local function add_upvr(arg1, arg2, arg3, arg4) -- Line 20, Named "add"
--[[ Upvalues[4]:
[1]: module_upvr (readonly)
[2]: module_upvr_2 (readonly)
[3]: tbl_upvr_2 (readonly)
[4]: tbl_upvr (readonly)
]]
local any_new_result1 = module_upvr.new(arg1, arg2, arg3, arg4)
module_upvr_2.AddToFilter({any_new_result1.Character})
tbl_upvr_2[any_new_result1.Character] = any_new_result1
for _, v in tbl_upvr do
task.spawn(v, any_new_result1)
end
end
function module_upvr_2.AddToFilter(arg1) -- Line 27
--[[ Upvalues[1]:
[1]: RaycastParams_new_result1_upvr (readonly)
]]
local FilterDescendantsInstances_2 = RaycastParams_new_result1_upvr.FilterDescendantsInstances
for _, v_2 in arg1 do
if not table.find(FilterDescendantsInstances_2, v_2) then
table.insert(FilterDescendantsInstances_2, v_2)
end
end
RaycastParams_new_result1_upvr.FilterDescendantsInstances = FilterDescendantsInstances_2
end
function module_upvr_2.RemoveFromFilter(arg1) -- Line 33
--[[ Upvalues[1]:
[1]: RaycastParams_new_result1_upvr (readonly)
]]
local FilterDescendantsInstances = RaycastParams_new_result1_upvr.FilterDescendantsInstances
for _, v_3 in arg1 do
local table_find_result1 = table.find(FilterDescendantsInstances, v_3)
if table_find_result1 then
table.remove(FilterDescendantsInstances, table_find_result1)
end
end
RaycastParams_new_result1_upvr.FilterDescendantsInstances = FilterDescendantsInstances
end
function module_upvr_2.SetDisplayDistance(arg1) -- Line 39
--[[ Upvalues[1]:
[1]: NameDisplayDistance_upvw (read and write)
]]
NameDisplayDistance_upvw = math.max(0, arg1)
end
function module_upvr_2.Get(arg1) -- Line 43
--[[ Upvalues[1]:
[1]: tbl_upvr_2 (readonly)
]]
return tbl_upvr_2[arg1]
end
module_upvr_2.OnAdded.Connect = function(arg1, arg2, arg3) -- Line 47, Named "Connect"
--[[ Upvalues[2]:
[1]: tbl_upvr (readonly)
[2]: tbl_upvr_2 (readonly)
]]
local module = {
Disconnect = function(arg1_2) -- Line 48, Named "Disconnect"
--[[ Upvalues[1]:
[1]: tbl_upvr (copied, readonly)
]]
tbl_upvr[arg1_2] = nil
end;
}
tbl_upvr[module] = arg2
if not arg3 then
for _, v_4 in tbl_upvr_2 do
task.spawn(arg2, v_4)
end
end
return module
end
local Camera_upvr = workspace:WaitForChild("Camera")
local function onBillboardGuiAdded(arg1) -- Line 54, Named "UpdateAll"
--[[ Upvalues[4]:
[1]: Camera_upvr (readonly)
[2]: tbl_upvr_2 (readonly)
[3]: NameDisplayDistance_upvw (read and write)
[4]: RaycastParams_new_result1_upvr (readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 30 start (CF ANALYSIS FAILED)
if not arg1 or not arg1 then
end
-- KONSTANTERROR: [0] 1. Error Block 30 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [86] 66. Error Block 23 start (CF ANALYSIS FAILED)
-- KONSTANTERROR: [86] 66. Error Block 23 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [19] 16. Error Block 6 start (CF ANALYSIS FAILED)
-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [86.8]
-- KONSTANTERROR: [19] 16. Error Block 6 end (CF ANALYSIS FAILED)
end
module_upvr_2.UpdateAll = onBillboardGuiAdded
function onBillboardGuiAdded(arg1) -- Line 73
--[[ Upvalues[3]:
[1]: tbl_upvr_2 (readonly)
[2]: module_upvr_2 (readonly)
[3]: add_upvr (readonly)
]]
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
local Container_upvw = arg1:FindFirstChild("Container")
local var31_upvw
if var31_upvw then
var31_upvw = Container_upvw:FindFirstChildWhichIsA("UIScale")
end
if Container_upvw then
end
arg1.Destroying:Connect(function() -- Line 76
--[[ Upvalues[3]:
[1]: tbl_upvr_2 (copied, readonly)
[2]: arg1 (readonly)
[3]: module_upvr_2 (copied, readonly)
]]
for _, v_5 in tbl_upvr_2 do
if v_5._BillboardGui == arg1 then
module_upvr_2.RemoveFromFilter({v_5.Character})
tbl_upvr_2[v_5.Character] = nil
return
end
end
end)
if Container_upvw and var31_upvw and Container_upvw:FindFirstChildWhichIsA("UIListLayout") then
-- KONSTANTERROR: Expression was reused, decompilation is incorrect
add_upvr(arg1, Container_upvw, var31_upvw, Container_upvw:FindFirstChildWhichIsA("UIListLayout"))
else
local class_UIListLayout_upvw = Container_upvw:FindFirstChildWhichIsA("UIListLayout")
local var38_upvw
var38_upvw = arg1.DescendantAdded:Connect(function(arg1_3) -- Line 85
--[[ Upvalues[6]:
[1]: arg1 (readonly)
[2]: Container_upvw (read and write)
[3]: var31_upvw (read and write)
[4]: class_UIListLayout_upvw (read and write)
[5]: var38_upvw (read and write)
[6]: add_upvr (copied, readonly)
]]
-- KONSTANTERROR: [0] 1. Error Block 22 start (CF ANALYSIS FAILED)
if arg1_3.Parent == arg1 and arg1_3.Name == "Container" then
Container_upvw = arg1_3
-- KONSTANTWARNING: GOTO [24] #19
end
-- KONSTANTERROR: [0] 1. Error Block 22 end (CF ANALYSIS FAILED)
-- KONSTANTERROR: [11] 8. Error Block 23 start (CF ANALYSIS FAILED)
if arg1_3:IsA("UIScale") then
var31_upvw = arg1_3
elseif arg1_3:IsA("UIListLayout") then
class_UIListLayout_upvw = arg1_3
end
if not Container_upvw or not var31_upvw or not class_UIListLayout_upvw then
else
var38_upvw:Disconnect()
add_upvr(arg1, Container_upvw, var31_upvw, class_UIListLayout_upvw)
-- KONSTANTERROR: [11] 8. Error Block 23 end (CF ANALYSIS FAILED)
end
end)
end
end
local var29 = onBillboardGuiAdded
CollectionService:GetInstanceAddedSignal("OverheadGui"):Connect(var29)
for _, v_6 in CollectionService:GetTagged("OverheadGui") do
task.spawn(var29, v_6)
end
return module_upvr_2
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/brNTY8nX8t)
-- Decompiled on 2026-02-10 09:13:09
-- Luau version 6, Types version 3
-- Time taken: 0.004700 seconds
local module_upvr = {}
module_upvr.__index = module_upvr
local function _(arg1, arg2) -- Line 12, Named "setTagTransparency"
arg1.TextTransparency = arg2
arg1.TextStrokeTransparency = arg2 / 2 + 0.5
end
local Players_upvr = game:GetService("Players")
function module_upvr.new(arg1, arg2, arg3, arg4) -- Line 16
--[[ Upvalues[2]:
[1]: Players_upvr (readonly)
[2]: module_upvr (readonly)
]]
local Parent = arg1.Parent
local tbl_2_upvr = {}
local tbl = {
Character = Parent;
}
local PlayerToHideFrom = arg1.PlayerToHideFrom
if not PlayerToHideFrom then
PlayerToHideFrom = Players_upvr:GetPlayerFromCharacter(Parent)
end
tbl.Player = PlayerToHideFrom
tbl._BillboardGui = arg1
tbl._Container = arg2
tbl._UIScale = arg3
tbl._UIListLayout = arg4
tbl._tags = tbl_2_upvr
tbl._scale = 1
tbl._transparency = 0
tbl._maxDistance = arg1.MaxDistance
local setmetatable_result1_upvr = setmetatable(tbl, module_upvr)
arg2.ChildAdded:Connect(function(arg1_2) -- Line 24, Named "onTagAdded"
--[[ Upvalues[2]:
[1]: setmetatable_result1_upvr (readonly)
[2]: tbl_2_upvr (readonly)
]]
if not arg1_2:IsA("TextLabel") then
else
local _transparency_2 = setmetatable_result1_upvr._transparency
arg1_2.TextTransparency = _transparency_2
arg1_2.TextStrokeTransparency = _transparency_2 / 2 + 0.5
tbl_2_upvr[arg1_2] = true
end
end)
arg2.ChildRemoved:Connect(function(arg1_3) -- Line 30
--[[ Upvalues[1]:
[1]: tbl_2_upvr (readonly)
]]
tbl_2_upvr[arg1_3] = nil
end)
for _, v in arg2:GetChildren() do
if not v:IsA("TextLabel") then
else
local _transparency = setmetatable_result1_upvr._transparency
v.TextTransparency = _transparency
v.TextStrokeTransparency = _transparency / 2 + 0.5
tbl_2_upvr[v] = true
end
end
arg4:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function() -- Line 32
--[[ Upvalues[2]:
[1]: arg1 (readonly)
[2]: arg4 (readonly)
]]
arg1.Size = UDim2.fromOffset(2, 2 + arg4.AbsoluteContentSize.Y)
end)
arg1.Size = UDim2.fromOffset(2, 2 + arg4.AbsoluteContentSize.Y)
return setmetatable_result1_upvr
end
function module_upvr.Scale(arg1, arg2) -- Line 38
if arg1._scale == arg2 then
else
arg1._scale = arg2
arg1._UIScale.Scale = arg2
end
end
function module_upvr.SetTransparency(arg1, arg2) -- Line 44
-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
arg2 = math.clamp(arg2, 0, 1)
local var23 = arg2
if arg1._transparency == var23 then
else
arg1._transparency = var23
for i_3 in arg1._tags do
local var24 = var23
i_3.TextTransparency = var24
i_3.TextStrokeTransparency = var24 / 2 + 0.5
end
end
end
function module_upvr.SetMaxDistance(arg1, arg2) -- Line 51
local maximum = math.max(0, arg2)
if arg1._maxDistance == maximum then
else
arg1._maxDistance = maximum
arg1._BillboardGui.MaxDistance = maximum
end
end
function module_upvr.GetTag(arg1, arg2) -- Line 58
for i_2 in arg1._tags do
if i_2.Name == arg2 then
return i_2
end
end
end
return module_upvr