Ramdom number from server

Hi,

I try to get a random number between 1 and 8 from server, so, server side a do that when needed:

local setPosSrv = math.random(1, 8)
      TriggerClientEvent('setCheckPos', -1, setPosSrv)

And client side, I do that:

RegisterNetEvent('setCheckPos')
AddEventHandler('setCheckPos', function(posNumber)
		Citizen.Wait(0)
		checkPos = ChekPointHP[posNumber]
	end)


ChekPointHP = {
	{658.828,-17.5347,82.9972},
	{-64.8221,1890.36,195.652},
	{771.638,-2962.57,5.30011},
	{225.213,-3327.68,5.33457},
	{-1822.38,-2818.79,13.4447},
	{1574.25,-1842.77,92.4654},
	{631.54,631.127,128.412},
	{-133.175,424.591,112.814}
}

I use checkPos[1], checkPos[2], checkPos[3] to set the coord

But the client got an error, because “checkPos” is a nill value…

I don’t understand why…

Thanks for your help!

Where is PosNumber defined?

I don’t know how to :confused:

I’m very confused, my Lua skills don’t let me understand why and where I have to define posNumber…

So I have put “posNumber = 1” for exemple, but the problem is exacly the same…

EDIT: I looked in Freeroam2, tdm and race gamemode and nowhere I found anything can help me to understand: what I can see it’s like what I’m done
Server send number in event setCheckPos
Client get this number in function(whatever)
To use whatever I have to call it by using it name (in this case, “whatever”)

All script I can see send informations from server to client haven’t defined what they sent…

This not work but no error… so I don’t know what to do to fix that… (nothing printed):

--server
local list = {}
local playerCount = 0

RegisterServerEvent('playerActivated')
AddEventHandler('playerActivated', function()
  if not list[source] then
    list[source] = true
  end
end)

RegisterServerEvent('plyReady')
AddEventHandler('plyReady', function()
      setPosSrv = math.random(1, 8)
      TriggerClientEvent('setCheckPos', -1, setPosSrv)
end)

AddEventHandler('playerDropped', function()
  if list[source] then
    list[source] = nil
  end
end)

AddEventHandler('playerConnecting', function(name, setReason)
  print('Connecting: ' .. name)

  if playerCount >= 24 then
    print('Full. :(')

    setReason('This server is full (past 24 players).')
    CancelEvent()
  end
end)
--client
local ply = GetPlayerPed(-1)
local ready = 0
local runInProgress = 0


plyNumber = GetNumberOfPlayers()

Citizen.CreateThread(function ()
	while true do
	Citizen.Wait(0)
		if IsPedSittingInAnyVehicle(GetPlayerPed(-1))then
			TriggerServerEvent('plyReady')
		end
	end
end)

RegisterNetEvent('setCheckPos')
AddEventHandler('setCheckPos', function(posNumber)
		Citizen.Wait(0)
		print(posNumber)
	end)

Citizen.CreateThread(function ()
	while true do
	Citizen.Wait(0)
		if NetworkIsSessionStarted() then
			TriggerServerEvent('playerActivated')
			return
		end
	end
end)

Thanks for your help