generic image
Processing...
  • Games
  • Catalog
  • Develop
  • Robux
  • Search in Players
  • Search in Games
  • Search in Catalog
  • Search in Groups
  • Search in Library
  • Log In
  • Sign Up
  • Games
  • Catalog
  • Develop
  • Robux
   
ROBLOX Forum » Game Creation and Development » Scripting Helpers
Home Search
 

Re: How to make stats "Gold" Save

Previous Thread :: Next Thread 
LordDestroyerChaos is not online. LordDestroyerChaos
Joined: 03 Jun 2012
Total Posts: 5742
10 Jun 2014 09:11 PM
I want the "Gold" stats to save every time you rejoin (ONLY GOLD). How'd you do that?

My Cash, ko, wo, gold script if needed:

function onPlayerEntered(newPlayer)


local stats = Instance.new("IntValue")
stats.Name = "leaderstats"

local bounty = 10 -- cash for kills value


local cash = Instance.new("IntValue")
cash.Name = "Cash" --Change "Cash" to change the currency name.
cash.Value = 15 --Change the 0 to how much you want people to start with

cash.Parent = stats
stats.Parent = newPlayer

local kills = Instance.new("IntValue")
kills.Name = "KOs"
kills.Value = 0

local gold = Instance.new("IntValue")
gold.Name = "Gold"
gold.Value = 5

local deaths = Instance.new("IntValue")
deaths.Name = "Wipeouts"
deaths.Value = 0


kills.Parent = stats
deaths.Parent = stats
gold.Parent = stats

---------------------------------------------------------------------------------------------------------------
-- 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 )


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("Wipeouts")
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("KOs")
if killer ~= player then
kills.Value = kills.Value + 1
cash = cash.Value + 10
else
kills.Value = kills.Value - 0

end
Send_DB_Event_Kill(killer, player)
end
end
end

game.Players.ChildAdded:connect(onPlayerEntered)
Report Abuse
LordDestroyerChaos is not online. LordDestroyerChaos
Joined: 03 Jun 2012
Total Posts: 5742
10 Jun 2014 09:12 PM
1
Report Abuse
LordDestroyerChaos is not online. LordDestroyerChaos
Joined: 03 Jun 2012
Total Posts: 5742
10 Jun 2014 09:13 PM
2
Report Abuse
Tynexx is not online. Tynexx
Joined: 11 Jul 2012
Total Posts: 1559
10 Jun 2014 09:19 PM
Data persistence, search it up on wiki.roblox.com
Report Abuse
LordDestroyerChaos is not online. LordDestroyerChaos
Joined: 03 Jun 2012
Total Posts: 5742
10 Jun 2014 09:21 PM
If you get a data p. as a free model, all the scripts save everything in the leaderstats, not just one.
Report Abuse
LordDestroyerChaos is not online. LordDestroyerChaos
Joined: 03 Jun 2012
Total Posts: 5742
10 Jun 2014 09:24 PM
3
Report Abuse
Tynexx is not online. Tynexx
Joined: 11 Jul 2012
Total Posts: 1559
10 Jun 2014 09:29 PM
game.Players.PlayerRemoving:connect(function(p)
p:WaitForDataReady()

local leaderstats = p:FindFirstChild("leaderstats")
if not leaderstats then return end

local gold = leaderstats:FindFirstChild("Gold")
if not level then return end

player:SaveNumber("Gold", gold.Value)
end)
game.Players.PlayerAdded:connect(function(p)
p:WaitForDataReady()
stats = p:FindFirstChild("leaderstats")
if not stats then return end
local gold = stats:FindFirstChild("Gold")
if not gold then return end
SavedGold = p:LoadNumber("Gold")
if SavedGold == 0 then
SavedGold = 1
end
gold.Value = SavedGold
end
end
end)
Report Abuse
Previous Thread :: Next Thread 
Page 1 of 1
 
 
ROBLOX Forum » Game Creation and Development » Scripting Helpers
   
 
   
  • About Us
  • Jobs
  • Blog
  • Parents
  • Help
  • Terms
  • Privacy

©2017 Roblox Corporation. Roblox, the Roblox logo, Robux, Bloxy, and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.



Progress
Starting Roblox...
Connecting to Players...
R R

Roblox is now loading. Get ready to play!

R R

You're moments away from getting into the game!

Click here for help

Check Remember my choice and click Launch Application in the dialog box above to join games faster in the future!

Gameplay sponsored by:
Loading 0% - Starting game...
Get more with Builders Club! Join Builders Club
Choose Your Avatar
I have an account
generic image