I'm making a vote maps system, but i just got an error it said : Players.Friskyman321.PlayerGui.Client:50: attempt to call a userdata value.

I dont know how to fix it, this is the script

local player = game.Players.LocalPlayer
local char = player.Character or player.CharacterAdded:Wait()
local gui = player:WaitForChild("PlayerGui")
local ui = gui:WaitForChild("ui")

local rep = game.ReplicatedStorage
local assets = rep.Assets

local maps = assets.Maps

local signal = assets.Signals
local event = signal.Event
local fevent = signal.FEvent

local Game = workspace.Game
local stats = Game.Stats

vars = {
	currentVote = nil,
	services = {},
}

event.OnClientEvent:Connect(function(variables)
	if variables.Reason == "startVoting" then
		table.insert(vars.services, game("GetService","RunService").RenderStepped:Connect(function()
			local ray = Ray.new(char.PrimaryPart.CFrame.p, Vector3.new(0,-1000,0))
			local object = workspace:FindPartOnRay(ray,char,false,false)
			if object and object.Name:match("VotingPads") then
				local votingPadNum = tonumber(object.Name:match("%d+"))
				if vars.currentVote == nil then
					vars.currentVote = votingPadNum
					event:FireServer({reason="voteOnMap"; itemNum=votingPadNum;})
				elseif vars.currentVote ~= votingPadNum then
					vars.currentVote = votingPadNum
					event:FireServer({reason="voteOnMap"; itemNum=votingPadNum;})
				end
			elseif vars.currentVote ~= nil then
				vars.currentVote = nil 
				event:FireServer({reason="removeFromVote"})
			end
		end))
	elseif variables.reason == "endVoting" then
		for a,b in pairs(vars.services) do
			b:Disconnect()
		end
		vars.services={}
	end
end)

game("GetService","RunService").RenderStepped:connect(function()
	ui:WaitForChild("Title").Text = stats.Status.Value
end)

Thanks

2 comments

0

Shouldn't it be game:GetService("RunService") ?

0

Oh wait it actually work, thanks