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

LocalScript is not firing the ServerScript Please help! Why won't it work?

Asked by 4 years ago
Edited 4 years ago

I have a localscript trying to fire a serverscript. The LS is placed in StarterGUI, the SS is placed in ServerStorage, the RemoteEvent in ReplicatedStorage.

Localscript

--Waits for player then fires ServerScript--

    game.Players.PlayerAdded:Connect(function(player)
    player.CharacterAdded:Connect(function(character)
        local hrp = character:WaitForChild("HumanoidRootPart",3)

       if hrp then
            game.ReplicatedStorage.RemoteEvents.LBLoad:FireServer()
        else 

        end
    end)
end)

Serverscript

--Loads Leaderboard after finding local player in a localscript--
 game.ReplicatedStorage.RemoteEvents.LBLoad.OnServerEvent:Connect(function()


    game.Players.PlayerAdded:connect(function(p)
        local stats = Instance.new("IntValue")
        stats.Name = "leaderstats"
        stats.Parent = p

        local money = Instance.new("IntValue")
        money.Name = "Money"
        money.Value = 0
        money.Parent = stats
        local bounty = Instance.new("IntValue")
        bounty.Name = "Bounty"
        bounty.Value = 0
        bounty.Parent = stats
    end)

end)

I've also tried V

--Loads Leaderboard after finding local player in a localscript--
 game.ReplicatedStorage.RemoteEvents.LBLoad.OnServerEvent:Connect(function()



        local stats = Instance.new("IntValue")
        stats.Name = "leaderstats"
        stats.Parent = game.Players.PlayerAdded

        local money = Instance.new("IntValue")
        money.Name = "Money"
        money.Value = 0
        money.Parent = stats

        local bounty = Instance.new("IntValue")
        bounty.Name = "Bounty"
        bounty.Value = 0
        bounty.Parent = stats


end)

It isn't creating the leaderboard which means it is not firing the remotevent because "leaderstats in not a valid member of Player"

0
Creating a leaderboard of this kind is done on the server, place this code in a server script ForeverBrown 356 — 4y
0
It is in a server script GuestRealization 102 — 4y
0
First bit is ls second is ss GuestRealization 102 — 4y
0
I was just thinking this. I will try that but it should still work I am just trying to learn about remotevents and i don't understand why it isn't working when im able i will combine them on a serverscript but this code is still trying to create it on the server so i dont understand. GuestRealization 102 — 4y

1 answer

Log in to vote
2
Answered by 4 years ago

You don't do playeradded events or any characteradded events those should be only done in the server

Also I don't see a point on why you are using a local script for a leaderboard everything here can and should be done on a server

it should be more like

game.Players.PlayerAdded:Connect(function(player)

    local stats = Instance.new("IntValue")
            stats.Name = "leaderstats"
            stats.Parent = game.Players.PlayerAdded

            local money = Instance.new("IntValue")
            money.Name = "Money"
            money.Value = 0
            money.Parent = stats

            local bounty = Instance.new("IntValue")
            bounty.Name = "Bounty"
            bounty.Value = 0
            bounty.Parent = stats

end)
0
The problem with this is it doesnt load the leaderboard every single time a player joins and once again the leaderboard is in a server script. GuestRealization 102 — 4y
0
Thanks on the first part though. GuestRealization 102 — 4y
0
Accepted because the first part, and I figured it out. GuestRealization 102 — 4y
Ad

Answer this question