So in my game that i'm trying to make, I have 2 folders set in the player. leaderstats and hiddenstats. hiddenstats is for the hidden stats that make the game work in the background (though they also aren't saving getting to that later) so in my speed pad the player's speed jumps to 30 but when I go to add to the hidden stat extraspeed, and walk again. It does not add the speed onto the player's speed as shown here:
local speedBoost = script.Parent local mainSpeedValue = 30 -- how much the speed pad changes your speed to local OriginalValue = 25 -- how much the normal player gets in the game local function SteppedOn(part) local parent = part.Parent local data = game.Players:GetPlayerFromCharacter(parent) if game.Players:GetPlayerFromCharacter(parent) then parent.Humanoid.WalkSpeed = mainSpeedValue + data.hiddenstats.extraspeed.Value wait(5) parent.Humanoid.WalkSpeed = OriginalValue + data.hiddenstats.extraspeed.Value end end speedBoost.Touched:connect(SteppedOn)
The launching speed pad also does not work like in Speed Run 4:
debounce = true -- Debounce variable (so your function doesn't repeat itself) function YourWalkspeedIsChanged(hit) -- Function, with "hit" being the argument (or the object that touches your part) local player = game.Players:GetPlayerFromCharacter(hit.Parent) if hit.Parent:findFirstChild("Humanoid") ~= nil and debounce == true then -- Seeing if there's humanoid debounce = false -- "Locks" function, so it won't repeat hit.Parent.Humanoid.WalkSpeed = 25 + player.hiddenstats.extraspeed.Value -- Changes the walkspeed debounce = true -- "Unlocks" function, so the function can run again end end script.Parent.Touched:connect(YourWalkspeedIsChanged) -- Connection line, to run the function
My coin will also not work with the other hidden stat, extracoins in hiddenstats:
local db = true script.Parent.Touched:connect(function(hit) if hit.Parent:FindFirstChild("Humanoid") ~= nil then if db == true then db = false script.Parent.Transparency = 1 local player = game.Players:GetPlayerFromCharacter(hit.Parent) local respawntime = script.Parent.RespawnTime.Value player.leaderstats.Coins.Value = player.leaderstats.Coins.Value + 5 + player.hiddenstats.extracoins.Value -- change 'Coins' to your currency name. script.Sound:Play() wait(1) script.Parent.Transparency = 1 wait(respawntime) -- time before respawn db = true script.Parent.Transparency = 0 end end end)
I have no clue why these problems are occuring as it looks to be all connected properly and no errors related to these scripts are occuring in the output.
Credit to whoever I borrowed these codes from as some are from a video and scripting helpers question that I looked up for help.
Sorry if i asked too many questions at once, or it sounds like im begging. But my game will not work because these codes will not work.