Ou você pode simplesmente usar um elementData no jogador, onde cada gamemode só funciona nos jogadores que possuam um valor específico nesse elementData.
É claro que isso será muito complexo, visto que todos os resources que dependem do gamemode precisarão fazer essa verificação de data também, o que vai prejudicar seu desempenho no servidor.
Outra alternativa seria existir uma tabela global de jogadores onde cada jogador entra em um índice diferente após escolher o Gamemode no painel de login. Então cada gamemode e cada resource que dependa de gamemode irá verificar essa tabela usando um call (exports).
gamemodeDeGeral = {
["Freeroam"] = {},
["Race"] = {},
["DM"] = {},
["DayZ"] = {},
["RPG"] = {},
}
addEventHandler("onPlayerLogin", root, function(thePlayer)
table.insert(gamemodeDeGeral["Freeroam"], thePlayer) -- Exemplo para inserir um player que acabou de logar no Freeroam.
end)
addEventHandler("onPlayerLogout", root, function(thePlayer)
for i,p in pairs (gamemodeDeGeral["Freeroam"]) do
if (p == thePlayer) then
gamemodeDeGeral["Freeroam"][i] = nil -- Exemplo para remover um player da tabela Freeroam ao deslogar.
return
end
end
end)