What I’m trying to do is disable backpack in certain zones, I know about :DisableCoreGui, but how do you do this for just one person, in a certain zone, and reenable it outside of that zone? I tried using .touched, and it worked, but only once, and not again.
Edit: I rewrote the script and now it doesn’t work at all. Is there a way to disable coreguis with a server script, and what is a good example of disabling it from local script?
im not sure how you would disable the backpack, but if you are looking for players in certain zones, you can use:
Instance:GetTouchingParts()
or
(HumanoidRootPart.Position - Radius.Position).magnitude < range
for the GetTouchingParts(), it will return a table of all parts that is touching the Instance, you can resize it to make the radius larger.
for the .magnitude, you are getting the distance between the humanoidrootpart and the Position of the radius (Position is mostly the center of a part), then comparing it to the range
Any ideas for alternatives instead of disabling backpack, such as moving the tools?
im not sure how to move tools directly, but if you want to disable the backpack, try using this on a local script
game.StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, false)
Ok, I got it to work, but it only works when I’m touching the edges of the brick, and not when I’m inside of it.
what are you using to detect if the player is in range?
I’m just using touched/touchended.
I’ve got no clue how to do the magnitude thing from a local script.
Edit: nvm I think I figured it out thanks.
Is this good?
local player = game.Players.LocalPlayer
while true do
wait(1)
char = player.Character
HumanoidRootPart = char:WaitForChild("HumanoidRootPart")
Radius = game.Workspace.Part
range = 10
if (HumanoidRootPart.Position - Radius.Position).magnitude < range then
game.StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, false)
else
game.StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, true)
end
end
yes but you are using a wait(1), that means it will update every second. If you want you can do something that updates whenever the character moves
If I added it so if the player moves, it updates, would that be very laggy, and how would I do that?
yes it will lag very much, but what I am saying is it updates every seconds and that is fine, I am just asking if you want it to update every time the character moves
also, the
put it outside the loop since you only need it once
Edit: put this also outside the loop
Ok, I’m gonna get off, thanks for the help.
tell me if something might go wrong