Im not going to be using bool values as that is ancient and I dont like working with objects in explorer when making these types of things
this is what i have for the first mission where they player starts and then fire a remote and this is what picks it up but im stuck at this point
local remote = game.ReplicatedStorage.Remotes.Mission
local missionHandler = {}
function missionHandler:firstMission()
return {
SetUp = function(self)
remote.OnServerEvent:Connect(function(plr)
local Sequence = _G.Data[plr.UserId]["Sequence"]
Sequence = Sequence + 1
end)
end
}
end
local mission1 = missionHandler:firstMission()
mission1:SetUp()
You could potentially instance an IntValue to each player and use separate scripts to detect when a specific part of the story ends, increase it’s value. Have the server check the when the value is changed with .Changed:Connect() and if it equals a specific number, have the player(s) start the next mission according to the intvalue. Using a dictionary, I believe you can associate numbers with function calls.
I dont use actual objects to store data Im going to use in game, so thats probably the reason this is going to be so hard, well thanks for trying to help