The script does work, But Does not Check For Updates and Posted "Does Not Own VIP" Only. I Have Own the gamepass because I made it, And Still shows I do not own the pass.

The Print does work on the UpdatePassInfo() But It does not Update, And Only prints 'Does Not Own VIP' It avoids the Top Section to 'Own VIP'.

I'm having a difficult struggle to wonder why this Isn't functioning?

This is a ServerScript Inside of a GUI button

while not _G["GameDatabase"] do wait() end
while not _G["GameDatabase"].ready do wait() end
local CheckBought = _G["GameDatabase"].action["CheckBought"]

local player = script.Parent.Parent.Parent.Parent.Parent.Parent.Parent
local pname = player.Name

local pass_val = "PassVIP"
local pass_id = 7197912

function UpdatePassInfo()
	if CheckBought(pname, pass_val) then
		print('Does Own VIP')
		script.Parent.BuyBtt.Visible = false
		script.Parent.Bought.Visible = true
	else
		print('Does Not Own VIP')
		script.Parent.BuyBtt.Visible = true
		script.Parent.Bought.Visible = false
	end
end
UpdatePassInfo(_G["GameDatabase"].pinfo[pname].changed.Event:connect(UpdatePassInfo))

script.Parent.BuyBtt.MouseButton1Click:connect(function()
	game:GetService("MarketplaceService"):PromptGamePassPurchase(player, pass_id)
end)

GameDataBase Script

Data Script