Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

why does my script change the amount of money but it doesnt change the leaderboard amount?

Asked by 6 years ago

BIG REQUEST ONLY FOR THOSE WHO HAVE A LOT OF TIME IN THEIR HANDS!

Leaaderboard Script:


print("Leaderboard script version 3.00 loaded") -------------------------------------------------------------------------------------------------------------- function onXPChanged(player, XP, level) if XP.Value>=level.Value * 10 then -- Lv 1 to Lv 2 need 20 XP XP.Value = 0 level.Value = level.Value + 1 end end function onLevelUp(player, XP, level) local m = Instance.new("Hint") m.Parent = game.Workspace m.Text = player.Name .. " has leveled up!" -- the message display when player lv up wait(3) m.Parent = nil player.Humanoid.Health = 0 end function onPlayerRespawned(player) wait(5) player.Character.Humanoid.Health = player.Character.Humanoid.Health + player.leaderstats.Level * 10 player.Character.Humanoid.MaxHealth = player.Character.Humanoid.MaxHealth + player.leaderstats.Level * 10 end function onPlayerEntered(newPlayer) _G.stats = Instance.new("IntValue") _G.stats.Name = "leaderstats" local stats2 = Instance.new("IntValue") stats2.Name = "Tycoon" _G.cash = Instance.new("IntValue") _G.cash.Name = "Tront Gems" --Change "Cash" to change the currency name. _G.cash.Value = 10 --Change the 0 to how much you want people to start with local kills = Instance.new("IntValue") kills.Name = "Player Kills" kills.Value = 0 local deaths = Instance.new("IntValue") deaths.Name = "Deaths" deaths.Value = 0 level = Instance.new("IntValue") level.Name = "Level" -- The Name of LV level.Value = 1 xp = Instance.new("IntValue") xp.Name = "XP" -- The Name of XP xp.Value = 0 _G.cash.Parent = _G.stats stats2.Parent = newPlayer _G.stats.Parent = newPlayer kills.Parent = _G.stats deaths.Parent = _G.stats level.Parent = _G.stats xp.Parent = _G.stats xp.Changed:connect(function() onXPChanged(newPlayer, xp, level) end) level.Changed:connect(function() onLevelUp(newPlayer, xp, level) end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --[[repeat if game.Players.RealRexTerm.UserId == 350003413 then _G.cash.Value = 1000 level.Value = 50 kills.Value = 99999 deaths.Value = -99999 elseif game.Players.RealRexTerm.UserId ~= 350003413 then wait(1000) end until game.Players.RealRexTerm.UserId == 350003413 repeat if game.Players.Myminimarshmallow.UserId == 197854508 then _G.cash.Value = 1000 level.Value = 50 kills.Value = 99999 deaths.Value = -99999 elseif game.Players.Myminimarshmallow.UserId ~= 197854508 then wait(1000) end until game.Players.Myminimarshmallow.UserId == 197854508]] --------------------------------------------------------------------------------------------------------------- -- Do not edit past here or you will be risking breaking the script!!!! -- --------------------------------------------------------------------------------------------------------------- -- VERY UGLY HACK -- Will this leak threads? -- Is the problem even what I think it is (player arrived before character)? while true do if newPlayer.Character ~= nil then break end wait(5) end local humanoid = newPlayer.Character.Humanoid humanoid.Died:connect(function() onHumanoidDied(humanoid, newPlayer) end ) -- start to listen for new humanoid newPlayer.Changed:connect(function(property) onPlayerRespawn(property, newPlayer) end ) _G.stats.Parent = newPlayer end function Send_DB_Event_Died(victim, killer) -- killer may be nil local killername = "unknown" if killer ~= nil then killername = killer.Name end print(victim.Name, " was killed by ", killername) if shared["deaths"] ~= nil then shared["deaths"](victim, killer) print("Death event sent.") end end function Send_DB_Event_Kill(killer, victim) print(killer.Name, " killed ", victim.Name) if shared["kills"] ~= nil then shared["kills"](killer, victim) print("Kill event sent.") end end function onHumanoidDied(humanoid, player) local stats = player:findFirstChild("leaderstats") if stats ~= nil then local deaths = stats:findFirstChild("Deaths") deaths.Value = deaths.Value + 1 -- do short dance to try and find the killer local killer = getKillerOfHumanoidIfStillInGame(humanoid) Send_DB_Event_Died(player, killer) handleKillCount(humanoid, player) end end function onPlayerRespawn(property, player) -- need to connect to new humanoid if property == "Character" and player.Character ~= nil then local humanoid = player.Character.Humanoid local p = player local h = humanoid humanoid.Died:connect(function() onHumanoidDied(h, p) end ) end end function getKillerOfHumanoidIfStillInGame(humanoid) -- returns the player object that killed this humanoid -- returns nil if the killer is no longer in the game -- check for kill tag on humanoid - may be more than one - todo: deal with this local tag = humanoid:findFirstChild("creator") -- find player with name on tag if tag ~= nil then local killer = tag.Value if killer.Parent ~= nil then -- killer still in game return killer end end return nil end function handleKillCount(humanoid, player) local killer = getKillerOfHumanoidIfStillInGame(humanoid) if killer ~= nil then local stats = killer:findFirstChild("leaderstats") if stats ~= nil then local kills = stats:findFirstChild("Kills") local cash = stats:findFirstChild("Cash") local xp = stats:findFirstChild("XP") if killer ~= player then kills.Value = kills.Value + 1 cash.Value = cash.Value + 50 xp.Value = xp.Value + 3 else kills.Value = kills.Value - 0 end Send_DB_Event_Kill(killer, player) end end end game.Players.ChildAdded:connect(onPlayerEntered) game.Players.ChildAdded:connect(onPlayerEntered)

and something that goes in game.StarterGui.ShopGui.ShopFrame.IronSword.Main:


player = script.Parent.Parent.Parent.Parent.Parent upgradeStuff = game.Lighting.ClassicSword function buy() if _G.cash.Value >= 10 then _G.cash.Value = _G.cash.Value - 10 local a = upgradeStuff:clone() a.Parent = player.Backpack end end script.Parent.MouseButton1Down:connect(buy)

when i go ahead and buy the item,my main script for some reason only changes the tront gem value/money value but doesnt change the show the change in the leaderboard/stats. Can someone help me? Yes ik its a huge request!

0
~~~~~~~~~~~~~~ RealRexTerm 21 — 6y

2 answers

Log in to vote
0
Answered by
H4X0MSYT 536 Moderation Voter
6 years ago

1 issue I could see is, that you are changing the wrong value, or the script does not contain anything to update the leaderstat value, if the stats are stored elsewhere.

Ad
Log in to vote
0
Answered by
Foridex 46
6 years ago

The " - " symbol isn't a thing. Even if roblox accepts it as a appropriate symbol, it is not.

Answer this question