I've tried using this script with BindableEvents, but there's no errors on the output. I've put a print section too, but it doesnt print anything.

So basically, is there something wrong with syntax?

local DataStore = game:GetService("DataStoreService"):GetDataStore("NicuWolfSlot1")
player = script.Parent.Parent.Parent.Parent.Parent

local viewkey = "Colorsfor"..player.userId
local Savedstuff = DataStore:GetAsync(viewkey)

script.Parent.MouseButton1Click:connect(function()
	if Savedstuff[33] == "Pup" then
	print(player.Name.."has loaded a "..Savedstuff[33])		
	
	game.ReplicatedStorage.Species:Fire("Pup")
	script.Parent.Parent.Visible=false
	
	
	else if Savedstuff[33] == "Wolf" then
    print(player.Name.."has loaded a "..Savedstuff[33])	
	
	game.ReplicatedStorage.Species:Fire("Wolf")
	script.Parent.Parent.Visible=false
	end
	end
end)