hey vuuk ive been following your tutorials for a while now and love what you do but I need help with a problem I'm having when i click run it runs and then ill press stop but I'm not able to run again after I stop running if that makes sense
summary: make your UI, add a local script inside the button saying “if UIS.TouchEnabled then script.Parent.Visible = false else return end” and make the button invisible.
Add a local script to your tool and do this: local gui = game.Players.LocalPlayer.PlayerGui.Mobile --[[Why player gui? why not game.starter gui?? A: its becuase the starter gui will get cloned to(under) player object, o when the player joins the gui you setup in starter gui will be cloned to the player. if I referenced the starter gui instead of player gui. the player wouldnt notice any changes, because he sees player gui, not starter gui]] --Make sure to reference correct gui you want, this is just an example for your orientation, make sure to reference it in player gui. local tool = script.Parent --reference for your tool tool.equipped:connect(function() gui.Enabled= true --You can also do "gui.Visible" if its frame or any other object than screen gui. end) tool.Unequipped:connect(function() gui.Enabled= false --dequipping logic --you can put here any logic end)
Hey, i have a button to coruch in my game, so, when i am in studio and put like I am in mobile it works, but when i am in my cellphone it just works like 30 seconds, and then it doesn't want to work, any idea what's the problem?, I don't see that my script has errors
worked for me, did you make sure to make a variable for “UIS” like: local UIS = game:GetService(“UserInputService”) and a plr variable: local plr = game.Players.LocalPlayer
Add a local script to your tool and do this: local gui = game.Players.LocalPlayer.PlayerGui.Mobile --[[Why player gui? why not game.starter gui?? A: its becuase the starter gui will get cloned to(under) player object, o when the player joins the gui you setup in starter gui will be cloned to the player. if I referenced the starter gui instead of player gui. the player wouldnt notice any changes, because he sees player gui, not starter gui]] --Make sure to reference correct gui you want, this is just an example for your orientation, make sure to reference it in player gui. local tool = script.Parent --reference for your tool tool.equipped:connect(function() gui.Enabled= true --You can also do "gui.Visible" if its frame or any other object than screen gui. --you can put here any logic end) tool.Unequipped:connect(function() gui.Enabled= false --dequipping logic --you can put here any logic end)
See? It’s this easy. So why can’t bigger games just add mobile controls (or better controls if already added) so I and all other mobile players can play?
Bro, I need help, I repeated everything you did, but nothing worked for me. I have this script does not work writes to output local ui = plr.PlayerGui.MobileControls please help me fix it
I looked at all the guides on how to make a mobile button and I couldn't find the same guide for these kpopks, I've been sitting with my laptop for 7 hours:(@@vuukstudios7635
local config = require(script:WaitForChild("Config")) local leaderstats = game.ServerScriptService.LeaderStats local players = game:GetService("Players") local replicatedStorage = game:GetService("ReplicatedStorage") local UpdateTxtEvent = replicatedStorage.RoundSystemEvents.UpdateText local queuedPlayers = {} local activePlayers = {} local gameActive = script:WaitForChild("GameActive") local CountingDown = script:WaitForChild("CountingDown") local spawns = game.Workspace:WaitForChild("Spawns") local function updateText(msg, visible) UpdateTxtEvent:FireAllClients(msg, visible) end local function queuePlayers() if gameActive.Value == false then for i, plr in pairs(players:GetPlayers()) do if not table.find(queuedPlayers, plr.UserId) then table.insert(queuedPlayers, plr.UserId) print(plr.Name.." has been added to the queue!") end end end end players.PlayerAdded:Connect(queuePlayers) local function removePlayer(plr) local id = plr.UserId table.remove(queuedPlayers, table.find(queuedPlayers, id)) table.remove(activePlayers, table.find(activePlayers, id)) print(plr.Name.." has been removed from the game!") end local function CheckForPlayers() while task.wait(1) do if gameActive.Value == true or CountingDown.Value == true then return end queuePlayers() if #queuedPlayers >= config.MinimumPlayers then CountingDown.Value = true print("Countdown Started!") else updateText("Waiting for players...", true) end end end local function gameStart() local playerSetup = {} while gameActive.Value do for i,plr in pairs(players:GetPlayers())do local userId = plr.UserId if table.find(queuedPlayers, userId) and not playerSetup[userId] then table.remove(queuedPlayers, table.find(queuedPlayers, userId)) table.insert(activePlayers, userId) playerSetup[userId] = true local char = plr.Character local humanoid = char.Humanoid local HRP = char.HumanoidRootPart local spawnNum = math.random(1, #spawns:GetChildren()) local spawnPart = spawns[spawnNum] HRP.CFrame = spawnPart.CFrame + Vector3.new(0,5,0) local diedConnection diedConnection = humanoid.Died:Connect(function() removePlayer(plr) diedConnection:Disconnect() end) end end if #activePlayers == 1 then local winner = players:GetPlayerByUserId(activePlayers[1]) print(winner.Name.." has won!") updateText(winner.Name.." has won the match!", true) task.wait(5) winner.Character.HumanoidRootPart.CFrame = workspace.SpawnLocation.CFrame + Vector3.new(0,5,0) winner.leaderstats.Wins.Value += 1 gameActive.Value = false CheckForPlayers() break end task.wait(1) end end CountingDown.Changed:Connect(function() if CountingDown.Value == true then for i= config.coutdownTime,0,-1 do if #queuedPlayers < config.MinimumPlayers then CountingDown.Value = false CheckForPlayers() return end task.wait(1) updateText("Starting in "..i.." seconds!", true) end if #queuedPlayers < config.MinimumPlayers then CountingDown.Value = false task.wait(1) CheckForPlayers() return end CountingDown.Value = false gameActive.Value = true updateText("", false) print("Countdown ended") gameStart() end end) CheckForPlayers() players.PlayerRemoving:Connect(removePlayer)
CHECK OUT THE STORE FOR MORE 🌟 : www.vuukstudios.com
JOIN OUR DISCORD SERVER TO GET THE FILES ⬇ : discord.gg/P6BCbmTmQ2
thx for having mac like me becuz it makes it less confusing
how would i make corsair that works in first persorn
Honestly you have got to be the most underrated roblox youtuber
Soon we rise up 🫡
Bro, you literally saved my game! Thanks a lot!
LETS GOO!! I'VE BEEN WAITIN FOR THISS
Yessir 🔥🔥
hi bro, you can throw off your mobile control model if you can, I really need it, I will be very grateful if you give me a mobile control model
hey vuuk ive been following your tutorials for a while now and love what you do but I need help with a problem I'm having when i click run it runs and then ill press stop but I'm not able to run again after I stop running if that makes sense
Umm bro can u make ur combat free system working mobile
w video this helped a lot👍
thanks
Idk how to make mobile support for ur dash system can u explain it for me pls
Can u just type the script in the description? Im to lazy to write it down from the other video :P
yo i dont know how to make the crouch and slide and dash mobile support any help?
5:42 instead for the ability, so my telekinesis localscript needs a cooldown too?
Swimpienator's video is wayy better honestly its very clear and simple
Bro is mad underrated
Yessir 😕
summary:
make your UI, add a local script inside the button saying “if UIS.TouchEnabled then script.Parent.Visible = false else return end” and make the button invisible.
So this won’t work with your how to make a combat system video?
aint no way bro just add a gui click function and call it a day
Fr
that's quite literally how you add mobile support. what did you want?
how do you tie other things to the universal stats like make your run script run faster which each point
Where humanoid walkspeed is do something like WalkSpeed = 20 + (plr.StatSystemVuukStudios.Agility.Value * 0.5)
@@vuukstudios7635 ok i will try it
How to make the button invisible if the tool is not equipped and visible if the tool is equipped
Add a local script to your tool and do this:
local gui = game.Players.LocalPlayer.PlayerGui.Mobile --[[Why player gui? why not game.starter gui?? A: its becuase the starter gui will get cloned to(under) player object, o when the player joins the gui you setup in starter gui will be cloned to the player. if I referenced the starter gui instead of player gui. the player wouldnt notice any changes, because he sees player gui, not starter gui]]
--Make sure to reference correct gui you want, this is just an example for your orientation, make sure to reference it in player gui.
local tool = script.Parent --reference for your tool
tool.equipped:connect(function()
gui.Enabled= true --You can also do "gui.Visible" if its frame or any other object than screen gui.
end)
tool.Unequipped:connect(function()
gui.Enabled= false --dequipping logic
--you can put here any logic
end)
This works with warbound thing too?
can you do it for your hollow purple ability too? (I mean by do a tutorial for it for mobile support too)
i want to add mobile buttons to my own script but i dont know how to do that
If you make parkour system with mobile support i rlly wanna buy itrr
Hey, i have a button to coruch in my game, so, when i am in studio and put like I am in mobile it works, but when i am in my cellphone it just works like 30 seconds, and then it doesn't want to work, any idea what's the problem?, I don't see that my script has errors
make a projectile version pls
Can u guys make a stand guide? From jojo
can you do dash mobile support?
4:47 doesn’t work. The UIS has a blue line under and so does the plr I copied it exactly, but it doesn’t even work.
worked for me, did you make sure to make a variable for “UIS” like:
local UIS = game:GetService(“UserInputService”)
and a plr variable:
local plr = game.Players.LocalPlayer
i recommend learning studio basics before jumping into complicated things like this
yo vuuk how do u make it where the button shows only when u equip the tool
Add a local script to your tool and do this:
local gui = game.Players.LocalPlayer.PlayerGui.Mobile --[[Why player gui? why not game.starter gui?? A: its becuase the starter gui will get cloned to(under) player object, o when the player joins the gui you setup in starter gui will be cloned to the player. if I referenced the starter gui instead of player gui. the player wouldnt notice any changes, because he sees player gui, not starter gui]]
--Make sure to reference correct gui you want, this is just an example for your orientation, make sure to reference it in player gui.
local tool = script.Parent --reference for your tool
tool.equipped:connect(function()
gui.Enabled= true --You can also do "gui.Visible" if its frame or any other object than screen gui.
--you can put here any logic
end)
tool.Unequipped:connect(function()
gui.Enabled= false --dequipping logic
--you can put here any logic
end)
how do you do this for running and crouching?
Also I’m tryna learn to make impact frames so can you please make a tutorial on that?
👍
See? It’s this easy. So why can’t bigger games just add mobile controls (or better controls if already added) so I and all other mobile players can play?
ooorrr, you use context action service
Can't you just bind the button as the Keycode you're using in PC 💀
HOW TO WE GET THE SCRIPT THAT YOU HAVE
how do u do that iphone xr thing
view > Device
@@vuukstudios7635 ty
Bro, I need help, I repeated everything you did, but nothing worked for me. I have this script does not work writes to output local ui = plr.PlayerGui.MobileControls please help me fix it
You need to make the UI…
i maked, but nothing work😭😭@@vuukstudios7635
i need mobile control to SIMPLESWORD V2
@@vuukstudios7635
I looked at all the guides on how to make a mobile button and I couldn't find the same guide for these kpopks, I've been sitting with my laptop for 7 hours:(@@vuukstudios7635
@@Art1mx Hmm i think i could help you it´s not that hard.
THANK YOU SO MUCH, YOU ARE EVEN SMARTER THAN CHATGPT BRO
does this work on any script???
no
can someone pls send me the script pls
W EDITING
Godly edits incoming 😮💨
I dont know how to thanke you :)
Im to late
Yo can you guys make a rock spawn, rock debris, and rock trail framework?
👍
bro i love you
Hi
Hii
First
Second 🥶
third 🤞
next person keep the chain going 💀
Fourth
Fifth@@dripmms5518
local config = require(script:WaitForChild("Config"))
local leaderstats = game.ServerScriptService.LeaderStats
local players = game:GetService("Players")
local replicatedStorage = game:GetService("ReplicatedStorage")
local UpdateTxtEvent = replicatedStorage.RoundSystemEvents.UpdateText
local queuedPlayers = {}
local activePlayers = {}
local gameActive = script:WaitForChild("GameActive")
local CountingDown = script:WaitForChild("CountingDown")
local spawns = game.Workspace:WaitForChild("Spawns")
local function updateText(msg, visible)
UpdateTxtEvent:FireAllClients(msg, visible)
end
local function queuePlayers()
if gameActive.Value == false then
for i, plr in pairs(players:GetPlayers()) do
if not table.find(queuedPlayers, plr.UserId) then
table.insert(queuedPlayers, plr.UserId)
print(plr.Name.." has been added to the queue!")
end
end
end
end
players.PlayerAdded:Connect(queuePlayers)
local function removePlayer(plr)
local id = plr.UserId
table.remove(queuedPlayers, table.find(queuedPlayers, id))
table.remove(activePlayers, table.find(activePlayers, id))
print(plr.Name.." has been removed from the game!")
end
local function CheckForPlayers()
while task.wait(1) do
if gameActive.Value == true or CountingDown.Value == true then return end
queuePlayers()
if #queuedPlayers >= config.MinimumPlayers then
CountingDown.Value = true
print("Countdown Started!")
else
updateText("Waiting for players...", true)
end
end
end
local function gameStart()
local playerSetup = {}
while gameActive.Value do
for i,plr in pairs(players:GetPlayers())do
local userId = plr.UserId
if table.find(queuedPlayers, userId) and not playerSetup[userId] then
table.remove(queuedPlayers, table.find(queuedPlayers, userId))
table.insert(activePlayers, userId)
playerSetup[userId] = true
local char = plr.Character
local humanoid = char.Humanoid
local HRP = char.HumanoidRootPart
local spawnNum = math.random(1, #spawns:GetChildren())
local spawnPart = spawns[spawnNum]
HRP.CFrame = spawnPart.CFrame + Vector3.new(0,5,0)
local diedConnection
diedConnection = humanoid.Died:Connect(function()
removePlayer(plr)
diedConnection:Disconnect()
end)
end
end
if #activePlayers == 1 then
local winner = players:GetPlayerByUserId(activePlayers[1])
print(winner.Name.." has won!")
updateText(winner.Name.." has won the match!", true)
task.wait(5)
winner.Character.HumanoidRootPart.CFrame = workspace.SpawnLocation.CFrame + Vector3.new(0,5,0)
winner.leaderstats.Wins.Value += 1
gameActive.Value = false
CheckForPlayers()
break
end
task.wait(1)
end
end
CountingDown.Changed:Connect(function()
if CountingDown.Value == true then
for i= config.coutdownTime,0,-1 do
if #queuedPlayers < config.MinimumPlayers then
CountingDown.Value = false
CheckForPlayers()
return
end
task.wait(1)
updateText("Starting in "..i.." seconds!", true)
end
if #queuedPlayers < config.MinimumPlayers then
CountingDown.Value = false
task.wait(1)
CheckForPlayers()
return
end
CountingDown.Value = false
gameActive.Value = true
updateText("", false)
print("Countdown ended")
gameStart()
end
end)
CheckForPlayers()
players.PlayerRemoving:Connect(removePlayer)
W