Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

DataStore script is "Missing an Argument" when I'm not. Any help?

Hey, so I have this data store script/leaderstats script. It keeps spitting out an error which is "Missing Argument 1 on Line 2" so... yeah. THIS IS A REGULAR SCRIPT BTW.

local DataStoreService = game:GetService('DataStoreService')
local DataCredits = DataStoreService:GetDataStore(credits)
local DataPremium = DataStoreService:GetDataStore(premium)

game.Players.PlayerAdded:connect(function(player)
	local leaderstats = Instance.new('Folder')
	leaderstats.Name = 'leaderstats'
	leaderstats.Parent = player
	local playerCredits = Instance.new('IntValue')
	playerCredits.Name = 'Credits'
	playerCredits.Parent = player.leaderstats
	playerCredits.Value = DataCredits:GetAsync(player.UserId)
	local playerPremiumSessions = Instance.new('IntValue')
	playerPremiumSessions.Name = 'PremiumRemaining'
	playerPremiumSessions.Parent = player.leaderstats
	playerPremiumSessions.Value = DataPremium:GetAsync(player.UserId)
end)

game.Players.PlayerRemoving:connect(function(player)
	DataCredits:SetAsync(player.userId, player.leaderstats.Credits.Value)
	DataPremium:SetAsync(player.userId, player.leaderstats.PremiumRemaining.Value)
end)

This is also being consistent with Line 3.

3 comments

0

My line 21 isn't on 2 lines, it's just no space.

0

have you defined credits/premium? or at least putting quotation marks around them.

0

You haven't showed what you assigned 'credits' nor 'premium' to. GetDataStore's argument requires a string, so you'll have to put quotation marks around credits and premium

1 answer

✓ Accepted answer

As stated in the comments, GetDataStore's argument requires a string.
Looking at your code, you have not defined the variable "credits" or the variable "premium". A simple way to fix this is to use quotation marks "like this", So line 2 and 3 would look like:

local DataCredits = DataStoreService:GetDataStore("credits")
local DataPremium = DataStoreService:GetDataStore("premium")

1 comment

0

Great! Works good!

This discussion is preserved as it was. New answers, comments, and votes are closed.