I'm working on a project which has 6 different playable characters with 6 different walkspeeds. Selecting any of the characters will change the IntValue's value to the speed the character is going to be. How do I make a script, where the IntValue's value is the humanoid's walkspeed. The IntValue is stored in a frame inside a ScreenGUI. Thanks
How Do I Assign An IntValue to be the Player's WalkSpeed?
4 answers
First off, you will need a TextLabel, you can name it what even you want then place it in the Frame. Then place the IntValue inside then the Frame. Then create a LocalScript You can name it whatever you want, and put it inside the TextLabel.
Inside the LocalScript, you need to put this script :
local players = game:GetService("Players")
local plr = players.LocalPlayer
local char = plr.Character
local hum = char:WaitForChild("Humanoid")
local textlabelName = "TextLabel"
local intvalueName = "Value"
while wait() do
local walkspeed = hum.WalkSpeed
script.Parent.Parent[intvalueName].Value = walkspeed
script.Parent.Text = script.Parent.Parent[intvalueName].Value
end
In local textlabelName = "TextLabel", rename "TextLabel" by the name of your TextLabel.
In local intvalueName = "Value", rename "Value" by the name of your IntValue
This should work!
So I figured it out. It's kind of like what Komas19 was suggesting with some changes
local players = game:GetService("Players")
local plr = players.LocalPlayer
local char = plr.Character
local hum = char:WaitForChild("Humanoid")
local WalkSpeed = hum.WalkSpeed
while wait() do
hum.WalkSpeed = script.Parent.CharacterSelection.Background.SpeedValue.Value
end
Hello,
I see you're struggling, let me help you!
So you are trying to set the speed locally so no one will see you run that fast only you, So I cooked up a new script for you!
Insert a RemoteEvent in ReplicatedStorage called SetSpeed Insert a LocalScript in your TextLabel Insert a ServerScript/Script in ServerScriptService
(ReplicatedStorage is the best place to store your RemoteEvents, RemoteFunctions and Values)
If the scripts work, I'd appreciate if you Accept my answer otherwise tell me your error or problem
LocalScript Code:
local replicatedStorage = game:GetService("ReplicatedStorage")
local textLabel = script.Parent
while wait() do
replicatedStorage:FindFirstChild("SetSpeed"):FireServer(textLabel.Text)
end
If you are using a Value
local replicatedStorage = game:GetService("ReplicatedStorage")
local speedValue = script.Parent:FindFirstChild("Speed")
while wait() do
replicatedStorage:FindFirstChild("SetSpeed"):FireServer(speedValue.Value)
end
Script Code:
local replicatedStorage = game:GetService("ReplicatedStorage")
replicatedStorage:FindFirstChild("SetSpeed").OnServerEvent:Connect(function(player, speedAmount)
if player then
local char = player.Character
if char then
char:FindFirstChild("Humanoid").WalkSpeed = tonumber(speedAmount)
end
end
end)
If you are using a IntValue heres a second Script code:
local replicatedStorage = game:GetService("ReplicatedStorage")
replicatedStorage:FindFirstChild("SetSpeed").OnServerEvent:Connect(function(player, speedAmount)
if player then
local char = player.Character
if char then
char:FindFirstChild("Humanoid").WalkSpeed = speedAmount
end
end
end)
hey you! have you ever heard of enes? if you are in trouble, better call enes!
This discussion is preserved as it was. New answers, comments, and votes are closed.

1 comment
if it doesn't work i might get back on you tomorrow