Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

PlayerAdded event not giving permission to use /b, why?

Asked by 3 years ago
Edited 3 years ago

So while I was working on my broadcast MainModule script, suddenly, the PlayerAdded event on the Players service stopped functioning correctly. . Here is the code: .

local module = {}

function module.broad()
    local players = game.Players:GetChildren()

    for num = 1,#players do
        script.MessageGui:Clone().Parent = players[num].PlayerGui
    end
    script.MessageGui:Clone().Parent = game.StarterGui

    local events = script:GetChildren()

    for num = 1,#events do
        if events[num]:IsA("RemoteEvent") then
            events[num]:Clone().Parent = game.ReplicatedStorage
        end
    end


    local eventMain = game.ReplicatedStorage:WaitForChild("MsgiSen")
    local eventHelp = game.ReplicatedStorage:WaitForChild("MsgiHelp")
    local eventNum = game.ReplicatedStorage:WaitForChild("MsgiSenNum")
    local eventDiep = game.ReplicatedStorage:WaitForChild("MsgiSenDiep")
    local eventDevx = game.ReplicatedStorage:WaitForChild("MsgiSenDevx")
    local eventSP00K = game.ReplicatedStorage:WaitForChild("MsgiSenSP00K")


    --Assign Permit function to make it easier to allow players permission.

    local function AssignPermit(UserId, EventInstance, PlrRequired)
        local PlayerFromId = game:GetService("Players"):GetPlayerByUserId(UserId)
        if PlrRequired ~= nil then
            if PlayerFromId ~= PlrRequired then
                return
            end
        end

        pcall(function()
            PlayerFromId.Chatted:Connect(function(msg)
                if string.sub(msg,1,3) == "/b " then -- Makes it so that only when this command runs should the event fire.
                    print(PlayerFromId.Name .. " sent a broadcast to all existing clients on the server.")
                    EventInstance:FireAllClients(msg) -- Sends a message.
                elseif msg == "/bhelp" then
                    eventHelp:FireClient(PlayerFromId)
                elseif string.sub(msg,1,4) == "/db " then
                    print(PlayerFromId.Name .. " sent a broadcast to all existing clients on the server. (Diep.io)")
                    eventDiep:FireAllClients(msg)
                end
            end)
        end)
    end

    -- Allowed players (sorted from highest to lowest priority)

    AssignPermit(199610885, eventMain) -- IxGamerXL


    game:GetService("Players").PlayerAdded:Connect(function(plr)
        AssignPermit(199610885, eventMain, plr) -- IxGamerXL
    end)
end

return module

. (I removed the other players that were allowed on my module to protect their usernames and UserIds.) . Last time I tried require() on it, it did grant the GUI and permission, but once I rejoin the same server, it doesn't fire the PlayerAdded event, or it doesn't work correctly. Can someone help me on this? . Here is the link to the MainModule, so you can edit it to add your own UserId to the permit list, thus allowing you to publish it so you can require() it with it's Asset ID. I am going to remove this link the time this issue has been answered: https://www.roblox.com/library/6230551250/

Answer this question