I am making a force field tool and I am trying to make some things
Alright, this really is a two question question, but here's the first question I have. I made this little script here that in theory should work, but it doesn't.
local player = game.Players.LocalPlayer --dont change plz local gui = player.PlayerGui.GUIMAN --the gui you would like to show (rename MyScreenGUI to your gui name in startergui) gui.Parent = nil script.Parent.Equipped:connect(function(mouse) gui.Parent = player.PlayerGui end) script.Parent.Unequipped:connect(function(mouse) gui.Parent = nil end)
(I put those little reminders to remind myself because I am very forgetful and I do this to all my scripts)
So then I proceed to put the GUI inside of the tool like this: https://gyazo.com/6a6ba116de2d101e4a931e386af33747
The name of my GUI is GUIMAN by the way So now when I hold the tool the GUI does not appear at all? Why is this?
Even when I move the gui to starter gui it doesn't change anything, this is very strange. Do I need to make the script a LocalScript? I tried doing that as well and it did not change anything, so I changed it back to a regular script
Another thing I would like is for the GUI to change its text according to the delay of the force field
This is the script I have so far
Tool = script.Parent local field = nil function shieldsUp() if (field == nil) then Tool.Handle.Boing:play() local vCharacter = Tool.Parent Tool.Handle.BrickColor = BrickColor.new(24) -- yellow when the forcefield is active field = Instance.new("ForceField") field.Parent = vCharacter end end function shieldsDown() if (field ~= nil) then field.Parent = nil field = nil Tool.Handle.BrickColor = BrickColor.new(104) -- purple change color when the shield on cooldown end end Tool.Enabled = true function onActivated() if not Tool.Enabled then return end Tool.Enabled = false shieldsUp() wait(10)--ten second force feild shieldsDown() wait(5)--5 second cooldown Tool.Enabled = true end script.Parent.Activated:connect(onActivated) Tool.Unequipped:connect(shieldsDown)
So I want the GUI's text to change according to the delay. So I was thinking about something like this
shieldsDown() local cooldown = wait(5)--5 second cooldown Tool.Enabled = true end
making a variable or whatever it is to the delay and then taking that and then putting a localscript into the gui and making it like this
while true do script.Parent.Text = cooldown
So If I didn't make clear yet here is what the setup of the scripts and placement looks like: https://gyazo.com/f9c470ff722ca358831e4c0f89d760e4
lastly: to make clear, the force field is working but the GUI stuff isn't working