If you mean using _G. Then I want to say that hackers can get that value, and they can be able to get the object in the value and change it. And I’m not using a local script.
local HitBox = script.Parent
local ServerStorage = game:GetService("ServerStorage")
HitBox.Touched:Connect(function(obj)
ServerStorage:FindFirstChild("ChangingOrb"):Fire(HitBox)
end)
The other script located in ServerScriptService:
--locals here, too lazy to write them
ServerStorage.ChangingOrb.Event:Connect(function(CurrentOrb)
CurrentOrb:Destroy()
local StoredOrb = ServerStorage:FindFirstChild("Orb") --Error
local ClonedOrb = StoredOrb:Clone()
end)
I just wrote the lines that are important to this discussion. And yeah, this took long to write cuz I’m in mobile
Sorry for the misunderstandings there at the beginning but, Are CurrentOrb and Orb be any chance the same instance or is Orb within CurrentOrb ? if so you are destroying it before calling: ServerStorage:FindFirstChild("Orb")