So I'm trying to reward xp upon completion of a game. However nothing is working, so I have no idea what im doing right/wrong. Can someone please explain this to me
RoundService
local roundtime = 15
local roundStopped = false
player = game.StarterPlayer.StarterPlayerScripts.Parent
local Humanoid = player:findFirstChild("Humanoid")
local tag = Humanoid:findFirstChild("creator")
local leaderstats = tag.Value:findFirstChild("leaderstats")
while true do
print("Round starting...")
for i = roundtime,0,-1 do
if roundStopped then break end
print(i.." seconds left")
wait(1)
end
roundStopped = false
print("Round finished")
end
workspace["RedKing"].Humanoid.Died:Connect(function()
roundStopped = true
leaderstats.Games.Value = leaderstats.Games.Value + 1
leaderstats.XP.Value = leaderstats.XP.Value + 150
end)
workspace["BlueKing"].Humanoid.Died:Connect(function()
roundStopped = true
leaderstats.Games.Value = leaderstats.Games.Value + 1
leaderstats.XP.Value = leaderstats.XP.Value + 150
end)
Leaderstats
game.Players.PlayerAdded:connect(function(Player)
local leaderstats = Instance.new("IntValue",Player)
leaderstats.Name = "leaderstats"
local XP = Instance.new("IntValue",leaderstats)
XP.Name = "XP"
XP.Value = 0
local Level = Instance.new("IntValue",leaderstats)
Level.Name = "Level"
Level.Value = 1
local Games = Instance.new("IntValue",leaderstats)
Games.Value = 0
Games.Name = "Games Played"
XP.Changed:connect(function() XPChange(Player,XP,Level) end)
end)
function XPChange(Player,XP,Level)
if XP.Value >= Level.Value*150 then
XP.Value = 0
Level.Value = Level.Value+ 1
end
end
xp gain starterplayerscript
local Humanoid = script.Parent.Humanoid
function PwntX_X()
local tag = Humanoid:findFirstChild("creator")
if tag ~= nil then
if tag.Value ~= nil then
local leaderstats = tag.Value:findFirstChild("leaderstats")
if leaderstats ~= nil then
leaderstats.XP.Value = leaderstats.XP.Value + 10
wait(0.1)
script:remove()
end
end
end
end
Humanoid.Died:connect(PwntX_X)

1 comment
Are you getting any errors?