i don't know what i did wrong to get this output '403: Cannot write to DataStore from studio if API access is not enabled.'
**If you need any more information about the script just comment thanks already **
the full output is: ' 14:21:54.090 - 403: Cannot write to DataStore from studio if API access is not enabled. 14:21:54.090 - Stack Begin 14:21:54.091 - Script 'ServerScriptService.Stats', Line 18 - global savedata 14:21:54.091 - Script 'ServerScriptService.Stats', Line 91 14:21:54.092 - Stack End '
line 17-18-19:
function savedata(dataname, playerid, value)
game:GetService("DataStoreService"):GetDataStore(dataname):SetAsync(playerid, value --line 18
end
line 90 - 95
game.Players.PlayerRemoving:connect(function(player)
savedata("Levels", player.userId, player:WaitForChild('Stats').Level.Value) -- line 91
savedata("XP", player.userId, player:WaitForChild('Stats').XP.Value)
savedata("AXP", player.userId, player:WaitForChild('Stats').XpNeeded.Value)
savedata("Cor", player.userId, player:WaitForChild('Stats').Cor.Value)
end)
FULL SCRIPT:
local level = game:GetService("DataStoreService"):GetDataStore("Levels")
local xp = game:GetService("DataStoreService"):GetDataStore("XP")
local axp = game:GetService("DataStoreService"):GetDataStore("AXP") -- amount needed
local cor = game:GetService("DataStoreService"):GetDataStore("Cor") -- money
local OHS = game:GetService("DataStoreService"):GetDataStore("OneHandedSword")
local R = game:GetService("DataStoreService"):GetDataStore("Rapier")
local THS = game:GetService("DataStoreService"):GetDataStore("TwoHandedSword")
local Agility = game:GetService("DataStoreService"):GetDataStore("Agility")
local Stamina = game:GetService("DataStoreService"):GetDataStore("Stamina")
local Strength = game:GetService("DataStoreService"):GetDataStore("Strength")
---------------------------------------------------------------------------------
function savedata(dataname, playerid, value)
game:GetService("DataStoreService"):GetDataStore(dataname):SetAsync(playerid, value)
end
game.Players.PlayerAdded:connect(function(player)
local leader = Instance.new('Folder')
leader.Name = "leaderstats"
leader.Parent = player
local Stats = Instance.new('Folder')
Stats.Name = 'Stats'
Stats.Parent = player
local LevelUp = Instance.new("IntValue")
LevelUp.Value = level:GetAsync(tostring(player.userId)) or 1
LevelUp.Name = "Level"
LevelUp.Parent = player:WaitForChild('Stats')
local XpUp = Instance.new("NumberValue")
XpUp.Value = xp:GetAsync(tostring(player.userId))
XpUp.Name = "XP"
XpUp.Parent = player:WaitForChild('Stats')
local xpn = Instance.new("IntValue")
xpn.Value = axp:GetAsync(tostring(player.userId)) or 200
xpn.Name = "XpNeeded"
xpn.Parent = player:WaitForChild('Stats')
local Cor = Instance.new("NumberValue")
Cor.Value = cor:GetAsync(tostring(player.userId)) or 0
Cor.Name = "Cor"
Cor.Parent = player:WaitForChild('Stats')
local OneHandedSword = Instance.new("NumberValue")
OneHandedSword.Value = OHS:GetAsync(tostring(player.userId)) or 1
OneHandedSword.Name = "OneHandedSword"
OneHandedSword.Parent = player:WaitForChild('Stats')
local TwoHandedSword = Instance.new("NumberValue")
TwoHandedSword.Value = THS:GetAsync(tostring(player.userId)) or 1
TwoHandedSword.Name = "TwoHandedSword"
TwoHandedSword.Parent = player:WaitForChild('Stats')
local rap = Instance.new("NumberValue")
rap.Value = R:GetAsync(tostring(player.userId)) or 1
rap.Name = "Rapier"
rap.Parent = player:WaitForChild('Stats')
XpUp.Changed:connect(function()
if player:WaitForChild("XP").Value >= player:WaitForChild("XpNeeded").Value then
LevelUp.Value = LevelUp.Value+1
LevelUp.Changed:connect(function()
XpUp.Value = 0
end)
savedata("Levels", player.userId, LevelUp.Value)
savedata("XP", player.userId, XpUp.Value)
savedata("AXP", player.userId, xpn.Value)
else
savedata("Levels", player.userId, LevelUp.Value)
savedata("XP", player.userId, XpUp.Value)
savedata("AXP", player.userId, xpn.Value)
end
savedata("Levels", player.userId, LevelUp.Value)
savedata("XP", player.userId, XpUp.Value)
savedata("AXP", player.userId, xpn.Value)
end)
Cor.Changed:connect(function()
savedata("Cor", player.userId, Cor.Value)
end)
savedata("Cor", player.userId, Cor.Value)
end)
game.Players.PlayerRemoving:connect(function(player)
savedata("Levels", player.userId, player:WaitForChild('Stats').Level.Value)
savedata("XP", player.userId, player:WaitForChild('Stats').XP.Value)
savedata("AXP", player.userId, player:WaitForChild('Stats').XpNeeded.Value)
savedata("Cor", player.userId, player:WaitForChild('Stats').Cor.Value)
end)

1 comment
Thank you!