No problem, I recommend this site: WMV to MP4 | CloudConvert
Im using that one right now. XD
So do you want to disable the playerâs movement until they have closed the ui?
yeah thats basically all i need, sorry for all the inconvenience!!
Here, I gave you a way to do that. You may refer to it. If it works, remember to mark it as Solved so other developers can refer to it in the future!
Iâm not really sure how that works, or how i can put that into the script
just do Player.Character.PrimaryPart.Anchored = true and when they close the shop in un anchored the player
How can I put that into my code, im not sure how to do that kinda of lua
local gui = script.Parent.Parent.Parent
gui.Enabled = false
local remote = game:GetService("ReplicatedStorage").ShopRemotes.OpenShop
script.Parent.Activated:Connect(function()
gui.Enabled = false
Player.Character.PrimaryPart.Anchored = false
end)
remote.OnClientEvent:Connect(function()
gui.Enabled = true
Player.Character.PrimaryPart.Anchored = true
end)
In your script, there is a touch event like this.
Just add a line right there so the playerâs HRP will be anchored.
local debounce = false
local remote = game:GetService("ReplicatedStorage").ShopRemotes.OpenShop
script.Parent.Touched:Connect(function(hit)
if debounce then return end
debounce = true
if hit.Parent and hit.Parent:FindFirstChild("Humanoid") then
local player = game.Players:GetPlayerFromCharacter(hit.Parent)
if player then
hit.Parent:FindFirstChild("HumanoidRootPart").Anchored = true -- Here will anchor the player, so he can't move
remote:FireClient(player) --You fired client here.
end
end
wait(3)
debounce = false
end)
In client, there should be a local script which receives the signal from server since you fired a signal through Remote Event.
REMOTE.OnClientEvent:Connect(function()
--pop up ui
end)
Then when you want to close the ui
BUTTON.MouseButton1Click:Connect(function()
REMOTE:FireServer()
end)
Then, a server should receive the signal and unanchor the player.
REMOTE.OnServerEvent:Connect(function(player)
player.Character:FindFirstChild("HumanoidRootPart").Anchored = false
end)
(EDIT: I did changes to the format so you can have a better looking)
However, if an Exploiter tries to make changes like make his HRP unanchored. It will still âAbuseâ your shop system.
Wait so do i basically make a remote and just connect it to this, or is that not needed?
Sorry I donât understand your meaning. Mind elaborate?
So you say âIn client, there should be a local script which receives the signal from server since you fired a signalâ
So i put a local script in the client, and make a remote event?
Edit: Iâm very confused, so sorry!
Oh wait, so this script isnât in server script. Its in the part you step in
The remote event should be placed under ReplicatedStorage as both Server and Client can access to it. The Touch Script should be placed under the part or in ServerScriptService depends your working style.
The local script should be placed under a screen gui because you want a Ui to pop up upon receiving signal.
Okay so i tried this, and failed. Is there maybe an easier way?? also the close button is detected on Text Button
Why not have a invisible part outside ate the door of the shop so when they exit the shop and spawn on that invisible part it will detect a player and check to see if the shop ui is visible and if it is then it will set the visibility to false or you can also use the door instead of the part so when they touch the door the ui visibility will be false