hello! i want to make a random player choose system. the system will choose a random player from ALL servers. But how do i send player or players info (e.g. leaderstats), not player`s name if MessagingService doesnt acceept dictianories? Heres what i used:
local function publishPlayerList()
local playerList = {}
allPlayers1 = {}
for i, player in pairs(Players:GetPlayers()) do
local playerTable = {
Name = player.Name;
UserId = player.UserId;
Value = player:WaitForChild("leaderstats"):WaitForChild("Cash")
}
table.insert(playerList, playerTable)
end
local messageData = {
playersListTable = playerList
}
local success, errorMsg = pcall(function()
MessagingService:PublishAsync(topic, messageData)
end)
if not success then
warn("Failed to publish player list update:", errorMsg) --error: Failed to publish player list update: MessagingService:PublishAsync(): Cannot publish Dictionary, can only accept valid UTF-8 characters.
end
end
local function onMessageReceived(message)
local receivedPlayerList = message.Data.playersListTable
for i, plr in receivedPlayerList do
print(plr)
table.insert(allPlayers1, plr)
end
for _, playerName in pairs(allPlayers1) do
--print(playerName)
end
local randomPlr = allPlayers1[math.random(1, #allPlayers1)]
ChosenOne = randomPlr
print("Chosen one:", ChosenOne)
end
MessagingService:SubscribeAsync(topic, onMessageReceived)
but if we do just players name, not a table, it works perfectly.
local function publishPlayerList()
local playerList = {}
allPlayers1 = {}
for i, player in pairs(Players:GetPlayers()) do
table.insert(playerList, player.Name) --cant do player :(
end
local messageData = {
playersListTable = playerList
}
local success, errorMsg = pcall(function()
MessagingService:PublishAsync(topic, messageData)
end)
if not success then
warn("Failed to publish player list update:", errorMsg) --error: Failed to publish player list update: MessagingService:PublishAsync(): Cannot publish Dictionary, can only accept valid UTF-8 characters.
end
end
I need your help, how do i sent player`s leaderstats or just a player? Maybe i should use something else, because MessagingService doesnt seem to be working. Would appreciate your help!