The Gamepass IDs are correct, and I've bought my own gamepass, for 50 ROBUX but it doesn't give me the Gamepass tool.
--Nidoxs
local DaggerId = 1000438124
local DaggerTool = game.ServerStorage.GamepassTools.Dagger
local GreatswordId = 1000442559
local GreatSTool = game.ServerStorage.GamepassTools.Greatsword
local GPS = game:GetService("GamePassService")
game.Players.PlayerAdded:connect(function(Player)
Player.CharacterAdded:connect(function(Character)
if GPS:PlayerHasPass(Player,DaggerId) then
local ToolForPlayer = DaggerTool:Clone()
ToolForPlayer.Parent = Player:WaitForChild("Backpack")
end
if GPS:PlayerHasPass(Player, GreatswordId) then
local ToolForPlayer = GreatSTool:Clone()
ToolForPlayer.Parent = Player:WaitForChild("Backpack")
end
end)
end)

5 comments
Try to replace "PlayerHasPass" and make it "PlayerOwnsAsset".
Ever tried a thing called "print debugging"?
@AirTranPilo22 you cannot do that as PlayerOwnsAsset only works with Clothing and such. You need to use PlayerHasPass for gamepasses.
I also recommend not storing things in the ServerStorage, but rather ReplicatedStorage.
Also, I don't see Character being used either.