Hello! I've been practicing all night now and have been stuck on this one issue. When the player loads in I expect the function to run. Except that's not the case. Ive been trying for a few hours can seem to get a lead...
Code in question
player.CharacterAppearanceLoaded:Connect(function(character) print("Joined") local humanoid = character.Humanoid humanoid:WaitForChild("BodyDepthScale").Value = .5 + (strength.Value / 250) humanoid:WaitForChild("BodyHeightScale").Value = .5 + (strength.Value / 250) humanoid:WaitForChild("BodyWidthScale").Value = .5 + (strength.Value / 250) humanoid:WaitForChild("HeadScale").Value = .5 + (strength.Value / 250) humanoid.WalkSpeed = 16 * (strength.Value / 250) strength:GetPropertyChangedSignal("Value"):Connect(function() humanoid:WaitForChild("BodyDepthScale").Value = .5 + (strength.Value / 250) humanoid:WaitForChild("BodyHeightScale").Value = .5 + (strength.Value / 250) humanoid:WaitForChild("BodyWidthScale").Value = .5 + (strength.Value / 250) humanoid:WaitForChild("HeadScale").Value = .5 + (strength.Value / 250) humanoid.WalkSpeed = 16 * (strength.Value / 250) end) end)
Full code
local serverStorage = game:GetService("ServerStorage") -- puts in here so explotiers cant access local DataStore = game:GetService("DataStoreService") local playerData = DataStore:GetDataStore("creatives201.0.1164") local autosaveWait = 10 local function autoSave(player,data) -- gets player and data peramiters local succes, err = pcall(function() playerData:SetAsync(player.UserId,data) end) if succes then return "data saved" else return "data not saved" end end game.Players.PlayerAdded:Connect(function(player) local leaderstats = Instance.new("Folder") leaderstats.Name = "leaderstats" leaderstats.Parent = player local strength = Instance.new("NumberValue") strength.Name = "Strength" strength.Parent = leaderstats local rebirths = Instance.new("IntValue") rebirths.Name = "Rebirths" rebirths.Parent = leaderstats local dataFolder = Instance.new("Folder") dataFolder.Name = player.Name dataFolder.Parent = serverStorage.RemoteData local deBounce = Instance.new("BoolValue") deBounce.Name = "Debounce" deBounce.Parent = dataFolder local data = playerData:GetAsync(player.UserId) -- gets data store of player if data ~= nil then print("OldPlayer") strength.Value = data["Strength"] -- sets players data to the data store rebirths.Value = data["Rebirths"] else -- if not old player sets up data values print("new player setup") local newData = { -- creates table for players ["Strength"] = 0, ["Rebirths"] = 0 } playerData:SetAsync(player.UserId,newData) -- parents new data to data store end player.CharacterAppearanceLoaded:Connect(function(character) print("Joined") local humanoid = character.Humanoid humanoid:WaitForChild("BodyDepthScale").Value = .5 + (strength.Value / 250) humanoid:WaitForChild("BodyHeightScale").Value = .5 + (strength.Value / 250) humanoid:WaitForChild("BodyWidthScale").Value = .5 + (strength.Value / 250) humanoid:WaitForChild("HeadScale").Value = .5 + (strength.Value / 250) humanoid.WalkSpeed = 16 * (strength.Value / 250) strength:GetPropertyChangedSignal("Value"):Connect(function() humanoid:WaitForChild("BodyDepthScale").Value = .5 + (strength.Value / 250) humanoid:WaitForChild("BodyHeightScale").Value = .5 + (strength.Value / 250) humanoid:WaitForChild("BodyWidthScale").Value = .5 + (strength.Value / 250) humanoid:WaitForChild("HeadScale").Value = .5 + (strength.Value / 250) humanoid.WalkSpeed = 16 * (strength.Value / 250) end) end) while wait(autosaveWait)do local data = { -- saves data ["Strength"] = strength.Value, ["Rebirths"] = rebirths.Value } local succes = autoSave(player,data) print(succes) end end)