the problematic place on the script is:
workspace.yesname.ClickDetector.MouseClick:Connect(function()
UserData.Stats.EXP = UserData.Stats.EXP + 1
StatsData:Set(UserData.Stats)
end)
but here’s my script just to be sure:
--variables
local DataStore2 = require(game:GetService("ServerScriptService").MainModule)
local mainkey = "DDx7632"
DataStore2.Combine(mainkey, "Stats","SOULS","ITEMS","FOOD","ARMOR")
-- data table
local function SetDataTable()
local UserData = {
Stats = {
["EXP"] = 0,
["GOLD"] = 0,
["RESET"] = 0,
["LOVE"] = 1
},
SOULS = {
["BasicSoul"] = true,
["Determination"] = false,
["Integrity"] = false,
["Justice"] = false,
["Perseverance"] = false,
["Kindness"] = false,
["Bravery"] = false,
["Patience"] = false
},
ITEMS = {
["Stick"] = true,
["REALKnife"] = false
},
ARMOR = {
["Bandage"] = true,
["HeartLocket"] = false
},
FOOD = {
["MonsterCandy"] = 0,
},
}
return UserData
end
--main
game.Players.PlayerAdded:Connect(function(plr)
local UserData = DataStore2(mainkey,plr):Get(SetDataTable())
local gaster = Instance.new("Folder")
gaster.Name = "TobyFox"
local soulsfolder = Instance.new("Folder")
soulsfolder.Name = "SOULS"
local ITEMS = Instance.new("Folder")
ITEMS.Name = "ITEMS"
local ARMOR = Instance.new("Folder")
ARMOR.Name = "ARMOR"
local FOOD = Instance.new("Folder")
FOOD.Name = "FOOD"
--userStats
local LOVE = Instance.new("IntValue")
LOVE.Name = "LOVE"
local GOLD = Instance.new("IntValue")
GOLD.Name = "GOLD"
local RESET = Instance.new("IntValue")
RESET.Name = "RESET"
local EXP = Instance.new("IntValue")
EXP.Name = "EXP"
--souls
local BasicSoul = Instance.new("BoolValue")
BasicSoul.Name = "BasicSoul"
local Determination = Instance.new("BoolValue")
Determination.Name = "Determination"
local Justice = Instance.new("BoolValue")
Justice.Name = "Justice"
local Integrity = Instance.new("BoolValue")
Integrity.Name = "Integrity"
local Bravery = Instance.new("BoolValue")
Bravery.Name = "Bravery"
local Kindness = Instance.new("BoolValue")
Kindness.Name = "Kindness"
local Patience = Instance.new("BoolValue")
Patience.Name = "Patience"
local Perseverance = Instance.new("BoolValue")
Perseverance.Name = "Perseverance"
--items
local Stick = Instance.new("BoolValue")
Stick.Name = "Stick"
local REALKnife = Instance.new("BoolValue")
REALKnife.Name = "REALKnife"
--Armor
local Bandage = Instance.new("BoolValue")
Bandage.Name = "Bandage"
local HeartLocket = Instance.new("BoolValue")
HeartLocket.Name = "HeartLocket"
--Food
local MonsterCandy = Instance.new("IntValue")
MonsterCandy.Name = "MonsterCandy"
--StoreInFolder
local StatsData = DataStore2("Stats", plr)
local SoulsData = DataStore2("SOULS", plr)
local ItemsData = DataStore2("ITEMS",plr)
local FoodData = DataStore2("FOOD", plr)
local ArmorData = DataStore2("ARMOR", plr)
--Stats data
local function UpdateStats(UpdateValue) -- updates value to current data
LOVE.Value = StatsData:Get(UpdateValue).LOVE
EXP.Value = StatsData:Get(UpdateValue).EXP
GOLD.Value = StatsData:Get(UpdateValue).GOLD
RESET.Value = StatsData:Get(UpdateValue).RESET
end
--Soul data
local function UpdateSouls(UpdateValue)
BasicSoul.Value = SoulsData:Get(UpdateValue).BasicSoul
Determination.Value = SoulsData:Get(UpdateValue).Determination
Perseverance.Value = SoulsData:Get(UpdateValue).Perseverance
Patience.Value = SoulsData:Get(UpdateValue).Patience
Kindness.Value = SoulsData:Get(UpdateValue).Kindness
Bravery.Value = SoulsData:Get(UpdateValue).Bravery
Justice.Value = SoulsData:Get(UpdateValue).Justice
Integrity.Value = SoulsData:Get(UpdateValue).Integrity
end
--update data
UpdateStats(UserData.Stats)
UpdateSouls(UserData.SOULS)
StatsData:OnUpdate(UpdateStats)
SoulsData:OnUpdate(UpdateSouls)
--parent
gaster.Parent = plr
soulsfolder.Parent = plr
--allinonestats
--stats
LOVE.Parent = gaster
RESET.Parent = gaster
EXP.Parent = gaster
GOLD.Parent = gaster
--Souls
Determination.Parent = soulsfolder
BasicSoul.Parent = soulsfolder
Perseverance.Parent = soulsfolder
Integrity.Parent = soulsfolder
Justice.Parent = soulsfolder
Kindness.Parent = soulsfolder
Bravery.Parent = soulsfolder
Patience.Parent = soulsfolder
workspace.yesname.ClickDetector.MouseClick:Connect(function()
UserData.Stats.EXP = UserData.Stats.EXP + 1
StatsData:Set(UserData.Stats)
end)
--SOULCHANGER STARTS HERE
-- kindness Soul
workspace.TemporaryHearts.Kindness.Kindness.ClickDetector.MouseClick:Connect(function()
if Kindness.Value == true then
UserData.SOULS["Kindness"] = false
UserData.SOULS["BasicSoul"] = true
SoulsData:Set(UserData.SOULS)
Kindness.Value = false
BasicSoul.Value = true
elseif Kindness.Value == false then
UserData.SOULS["Kindness"] = true
UserData.SOULS["BasicSoul"] = false
UserData.SOULS["Determination"] = false
UserData.SOULS["Bravery"] = false
UserData.SOULS["Integrity"] = false
UserData.SOULS["Justice"] = false
UserData.SOULS["Perseverance"] = false
UserData.SOULS["Patience"] = false
SoulsData:Set(UserData.SOULS)
Kindness.Value = true
Bravery.Value = false
Perseverance.Value = false
Justice.Value = false
Integrity.Value = false
Determination.Value = false
BasicSoul.Value = false
Patience.Value = false
end
end)
--bravery Soul
workspace.TemporaryHearts.Bravery.Bravery.ClickDetector.MouseClick:Connect(function()
if Bravery.Value == true then
UserData.SOULS["Bravery"] = false
UserData.SOULS["BasicSoul"] = true
SoulsData:Set(UserData.SOULS)
Bravery.Value = false
BasicSoul.Value = true
elseif Bravery.Value == false then
UserData.SOULS["Bravery"] = true
UserData.SOULS["BasicSoul"] = false
UserData.SOULS["Determination"] = false
UserData.SOULS["Kindness"] = false
UserData.SOULS["Integrity"] = false
UserData.SOULS["Justice"] = false
UserData.SOULS["Perseverance"] = false
UserData.SOULS["Patience"] = false
SoulsData:Set(UserData.SOULS)
Bravery.Value = true
Kindness.Value = false
Perseverance.Value = false
Justice.Value = false
Integrity.Value = false
Determination.Value = false
BasicSoul.Value = false
Patience.Value = false
end
end)
--Determination Soul
workspace.TemporaryHearts.Determination.Determination.ClickDetector.MouseClick:Connect(function()
if Determination.Value == true then
UserData.SOULS["Determination"] = false
UserData.SOULS["BasicSoul"] = true
SoulsData:Set(UserData.SOULS)
Determination.Value = false
BasicSoul.Value = true
elseif Determination.Value == false then
UserData.SOULS["Bravery"] = false
UserData.SOULS["BasicSoul"] = false
UserData.SOULS["Determination"] = true
UserData.SOULS["Kindness"] = false
UserData.SOULS["Integrity"] = false
UserData.SOULS["Justice"] = false
UserData.SOULS["Perseverance"] = false
UserData.SOULS["Patience"] = false
SoulsData:Set(UserData.SOULS)
Bravery.Value = false
Kindness.Value = false
Perseverance.Value = false
Justice.Value = false
Integrity.Value = false
Determination.Value = true
BasicSoul.Value = false
Patience.Value = false
end
end)
--Patiance
workspace.TemporaryHearts.Patience.Patience.ClickDetector.MouseClick:Connect(function()
if Patience.Value == true then
UserData.SOULS["Patience"] = false
UserData.SOULS["BasicSoul"] = true
SoulsData:Set(UserData.SOULS)
Patience.Value = false
BasicSoul.Value = true
elseif Patience.Value == false then
UserData.SOULS["Bravery"] = false
UserData.SOULS["BasicSoul"] = false
UserData.SOULS["Determination"] = false
UserData.SOULS["Kindness"] = false
UserData.SOULS["Integrity"] = false
UserData.SOULS["Justice"] = false
UserData.SOULS["Perseverance"] = false
UserData.SOULS["Patience"] = true
SoulsData:Set(UserData.SOULS)
Bravery.Value = false
Kindness.Value = false
Perseverance.Value = false
Justice.Value = false
Integrity.Value = false
Determination.Value = false
BasicSoul.Value = false
Patience.Value = true
end
end)
--Perseverance
workspace.TemporaryHearts.Perseverance.Perseverance.ClickDetector.MouseClick:Connect(function()
if Perseverance.Value == true then
UserData.SOULS["Perseverance"] = false
UserData.SOULS["BasicSoul"] = true
plr.SoulsData:Set(UserData.SOULS)
Perseverance.Value = false
BasicSoul.Value = true
elseif Perseverance.Value == false then
UserData.SOULS["Bravery"] = false
UserData.SOULS["BasicSoul"] = false
UserData.SOULS["Determination"] = false
UserData.SOULS["Kindness"] = false
UserData.SOULS["Integrity"] = false
UserData.SOULS["Justice"] = false
UserData.SOULS["Perseverance"] = true
UserData.SOULS["Patience"] = false
SoulsData:Set(UserData.SOULS)
Bravery.Value = false
Kindness.Value = false
Perseverance.Value = true
Justice.Value = false
Integrity.Value = false
Determination.Value = false
BasicSoul.Value = false
Patience.Value = false
end
end)
--Integrity
workspace.TemporaryHearts.Integrity.Integrity.ClickDetector.MouseClick:Connect(function()
if Bravery.Value == true then
UserData.SOULS["Integrity"] = false
UserData.SOULS["BasicSoul"] = true
SoulsData:Set(UserData.SOULS)
Integrity.Value = false
BasicSoul.Value = true
elseif Integrity.Value == false then
UserData.SOULS["Bravery"] = false
UserData.SOULS["BasicSoul"] = false
UserData.SOULS["Determination"] = false
UserData.SOULS["Kindness"] = false
UserData.SOULS["Integrity"] = true
UserData.SOULS["Justice"] = false
UserData.SOULS["Perseverance"] = false
UserData.SOULS["Patience"] = false
SoulsData:Set(UserData.SOULS)
Bravery.Value = false
Kindness.Value = false
Perseverance.Value = false
Justice.Value = false
Integrity.Value = true
Determination.Value = false
BasicSoul.Value = false
Patience.Value = false
end
end)
--basic
workspace.TemporaryHearts.Basic.Basic.ClickDetector.MouseClick:Connect(function()
if BasicSoul.Value == true then
UserData.SOULS["BasicSoul"] = false
UserData.SOULS["BasicSoul"] = true
SoulsData:Set(UserData.SOULS)
BasicSoul.Value = false
BasicSoul.Value = true
elseif BasicSoul.Value == false then
UserData.SOULS["Bravery"] = false
UserData.SOULS["BasicSoul"] = true
UserData.SOULS["Determination"] = false
UserData.SOULS["Kindness"] = false
UserData.SOULS["Integrity"] = false
UserData.SOULS["Justice"] = false
UserData.SOULS["Perseverance"] = false
UserData.SOULS["Patience"] = false
SoulsData:Set(UserData.SOULS)
Bravery.Value = false
Kindness.Value = false
Perseverance.Value = false
Justice.Value = false
Integrity.Value = false
Determination.Value = false
BasicSoul.Value = true
Patience.Value = false
end
end)
--Justice
workspace.TemporaryHearts.Justice.Justice.ClickDetector.MouseClick:Connect(function()
if Justice.Value == true then
UserData.SOULS["Justice"] = false
UserData.SOULS["BasicSoul"] = true
SoulsData:Set(UserData.SOULS)
Justice.Value = false
BasicSoul.Value = true
elseif Justice.Value == false then
UserData.SOULS["Justice"] = true
UserData.SOULS["BasicSoul"] = false
UserData.SOULS["Determination"] = false
UserData.SOULS["Kindness"] = false
UserData.SOULS["Integrity"] = false
UserData.SOULS["Bravery"] = false
UserData.SOULS["Perseverance"] = false
UserData.SOULS["Patience"] = false
SoulsData:Set(UserData.SOULS)
Bravery.Value = false
Kindness.Value = false
Perseverance.Value = false
Justice.Value = true
Integrity.Value = false
Determination.Value = false
BasicSoul.Value = false
Patience.Value = false
end
end)
--SOULCHANGER ENDS HERE
-- LEVELSYSTEM
local function onLOVEChanged(plr, EXP, LOVE)
local reset = false
if UserData.Stats.LOVE >= 100 then
UserData.Stats.LOVE = 100
reset = true
end
end
LOVE.Changed:connect(function()
onLOVEChanged(plr, EXP, LOVE)
end)
EXP.Changed:connect(function()
if UserData.Stats.LOVE < 100 then
if UserData.Stats.EXP >= (10 + 25*UserData.Stats.LOVE) then
UserData.Stats.EXP = UserData.Stats.EXP - (10 + 25*UserData.Stats.LOVE)
UserData.Stats.LOVE = UserData.Stats.LOVE + 1
end
end
end)
--LEVE SYSTEN END
end)
what i mean by the title is:
https://gyazo.com/683fcd121dc5fa7b550e5b0e62c95126
itachi is the random player and aviel101 is me, so basically when i"m pressing the button that gives +1 exp, it gives the exp to the whole server… and im triyng to give the stats only to the player that presses the button, help me please, thanks in advance ![]()