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: Leaderboard Script Changes

Previous Thread :: Next Thread 
Spearton56 is not online. Spearton56
Joined: 16 Oct 2009
Total Posts: 1605
07 Jan 2012 02:50 PM
I want it to say Respect instead of KOs.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%Tkv1yYRhpicRbxVHDZQnaf3y84n0Lv5elv/c7ydDbqHs7AxRkxCo2DrpFW9U5ytbVEMduvh721v3l4wKqDKv25ZdC+YUen9msRFjPwuvgiWRjlsgcT6QO0hD4ar9TY0yhWmyULuL5nQudmfaA3Kr0sBeesM45v8y3+hHMt45B34=%%1018966%print("LinkedLeaderboard script version 5.00 loaded")

stands = {}
CTF_mode = false


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)

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("Respect")
if killer ~= player then
kills.Value = kills.Value + 1

else
kills.Value = kills.Value - 1

end
end
end
end


-----------------------------------------------



function findAllFlagStands(root)
local c = root:children()
for i=1,#c do
if (c[i].className == "Model" or c[i].className == "Part") then
findAllFlagStands(c[i])
end
if (c[i].className == "FlagStand") then
table.insert(stands, c[i])
end
end
end

function hookUpListeners()
for i=1,#stands do
stands[i].FlagCaptured:connect(onCaptureScored)
end
end

function onPlayerEntered(newPlayer)

if CTF_mode == true then

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

local captures = Instance.new("IntValue")
captures.Name = "Captures"
captures.Value = 0


captures.Parent = stats

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

stats.Parent = newPlayer

else

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

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

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

kills.Parent = stats
deaths.Parent = stats

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

end


function onCaptureScored(player)

local ls = player:findFirstChild("leaderstats")
if ls == nil then return end
local caps = ls:findFirstChild("Captures")
if caps == nil then return end
caps.Value = caps.Value + 1

end


findAllFlagStands(game.Workspace)
hookUpListeners()
if (#stands > 0) then CTF_mode = true end
game.Players.ChildAdded:connect(onPlayerEntered)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~SR6
Report Abuse
Spearton56 is not online. Spearton56
Joined: 16 Oct 2009
Total Posts: 1605
07 Jan 2012 02:51 PM
And I have edited it and it didn't work.

~SR6
Report Abuse
Spearton56 is not online. Spearton56
Joined: 16 Oct 2009
Total Posts: 1605
07 Jan 2012 03:10 PM
Bump.

~SR6
Report Abuse
Spearton56 is not online. Spearton56
Joined: 16 Oct 2009
Total Posts: 1605
07 Jan 2012 03:49 PM
Bump.

~SR6
Report Abuse
Spearton56 is not online. Spearton56
Joined: 16 Oct 2009
Total Posts: 1605
07 Jan 2012 04:16 PM
Bump. Help, please?
``
0
Report Abuse
evilspartan9000 is not online. evilspartan9000
Joined: 09 Apr 2010
Total Posts: 10655
07 Jan 2012 04:28 PM
Those are two scripts. First I will edit your first one:

%Tkv1yYRhpicRbxVHDZQnaf3y84n0Lv5elv/c7ydDbqHs7AxRkxCo2DrpFW9U5ytbVEMduvh721v3l4wKqDKv25ZdC+YUen9msRFjPwuvgiWRjlsgcT6QO0hD4ar9TY0yhWmyULuL5nQudmfaA3Kr0sBeesM45v8y3+hHMt45B34=%%1018966%print("LinkedLeaderboard script version 5.00 loaded")

stands = {}
CTF_mode = false


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)

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 Respect.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("Respect")
if killer ~= player then
Respect.Value = Respect.Value + 1

else
Respect.Value = Respect.Value - 1

end
end
end
end
-------------------------------------------------------------------------------------------------------------------------------
That should fix the first script, here is the other script

function findAllFlagStands(root)
local c = root:children()
for i=1,#c do
if (c[i].className == "Model" or c[i].className == "Part") then
findAllFlagStands(c[i])
end
if (c[i].className == "FlagStand") then
table.insert(stands, c[i])
end
end
end

function hookUpListeners()
for i=1,#stands do
stands[i].FlagCaptured:connect(onCaptureScored)
end
end

function onPlayerEntered(newPlayer)

if CTF_mode == true then

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

local captures = Instance.new("IntValue")
captures.Name = "Captures"
captures.Value = 0


captures.Parent = stats

while true do
if newPlayer.Character ~= nil then break end
wait(5)
end

stats.Parent = newPlayer

else

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

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

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

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

end


function onCaptureScored(player)

local ls = player:findFirstChild("leaderstats")
if ls == nil then return end
local caps = ls:findFirstChild("Respect")
if caps == nil then return end
caps.Value = caps.Value + 1

end


findAllFlagStands(game.Workspace)
hookUpListeners()
if (#stands > 0) then CTF_mode = true end
game.Players.ChildAdded:connect(onPlayerEntered)

end
Report Abuse
Spearton56 is not online. Spearton56
Joined: 16 Oct 2009
Total Posts: 1605
07 Jan 2012 04:40 PM
How do I put it? I tryed it in two different scripts, and in the same script, and neither worked.

~SR6
Report Abuse
Spearton56 is not online. Spearton56
Joined: 16 Oct 2009
Total Posts: 1605
07 Jan 2012 05:43 PM
Bump.

~SR6
Report Abuse
Spearton56 is not online. Spearton56
Joined: 16 Oct 2009
Total Posts: 1605
07 Jan 2012 06:16 PM
Bump.

~SR6
Report Abuse
YourNeverSafe is not online. YourNeverSafe
Joined: 30 Dec 2011
Total Posts: 462
07 Jan 2012 06:18 PM
Get rid of the hash.
Report Abuse
jdm281 is not online. jdm281
Joined: 15 Jan 2010
Total Posts: 177
07 Jan 2012 06:26 PM
this reminds me that the heck is with all that crap at the beginning?
Report Abuse
Spearton56 is not online. Spearton56
Joined: 16 Oct 2009
Total Posts: 1605
08 Jan 2012 04:59 AM
Bump.

~SR6
Report Abuse
coolman8889 is not online. coolman8889
Joined: 29 Jul 2010
Total Posts: 7284
08 Jan 2012 05:23 AM
If you read it you can see that it tells it what to do. ("Capture") = true/false. Then if you have cash on a leaderboard (like me) I have to say flag + 10 or any number.
~ Send a request for my primary group, the troll war group ~
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