I tried to fire a remote event after 5 seconds but it didn't seem to work. I tried using print to debug it and still
these are all my script involving this problem
--spawner Local script
local button = script.Parent --your textbutton
local remote = game.ReplicatedStorage:WaitForChild("Reemote")
button.MouseButton1Click:Connect(function()
remote:FireServer()
end)
--weapon Local script
local button = script.Parent --your textbutton
local weaponRemote = game.ReplicatedStorage:WaitForChild("WeaponEvent")
button.MouseButton1Click:Connect(function()
wait(5) --this is the problem
weaponRemote:FireServer()
end)
--weaponscript
local famas = game.ReplicatedStorage.FAMAS
local scarL = game.ReplicatedStorage["SCAR-L"]
local famasClone = famas:Clone()
local scarLClone = scarL:Clone()
local remote = Instance.new("RemoteEvent")
remote.Parent = game.ReplicatedStorage
remote.Name = "WeaponEvent"
remote.OnServerEvent:Connect(function(plr)
famasClone.Parent = plr.Backpack
scarLClone.Parent = plr.Backpack
print("weaponscript activated")
end)
--Spawnscript
math.randomseed(tick())
local remote = Instance.new("RemoteEvent")
remote.Parent = game.ReplicatedStorage
remote.Name = "Reemote"
local spawns = workspace.Spawns:GetChildren() -- a model of all the spawn bricks
remote.OnServerEvent:Connect(function(plr)
plr:LoadCharacter()
local PlayerSpawn = spawns[math.random(1,#spawns)]
plr.Character:SetPrimaryPartCFrame(CFrame.new(PlayerSpawn.Position.X,PlayerSpawn.Position.Y + 5,PlayerSpawn.Position.Z))
print("spawn script activated")
end)
the output will be like this
weaponscript activated
spawn script activated
where the weapon script got activated first

4 comments
So if im not wrong you want the spawn script to be activated first?
If that's the case, the one-way message between client and server or the other way around is not immediate, the network connection between the client and server will determine how quickly this happens.
i guess what u can do is, add a boolean value object parented to your serversided spawnscript and name it "Activated", it will be set to false at first, and do script.Spawned = true in your spawnscript at the end. got the idea? and in your weapons script add an if statment checking if Activated == true, now weapons script will never work until the spawnscript is activated first
whats firing spawn script's remote?