Story Line System w/ Missions

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()

First, script a dialogue system, dude. When it’s done, try and do a detector to add to a value when something dies.

Alright well maybe ill figure something out eventually thanks for trying to help

2 Likes

Also I already scripted a dialog system also

Like, my quest system is all dialogue based. It activates when you click a quest giver, and ends the same way.

Alright, do you know how to do a Humanoid.Died event?

Yeah well the thing is my mission system is based on alot of factors since I dont only have one type of mission

Yeah I know how to “do” that, thats how I found what enemies the player kills in my kill mission system

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

I don’t know the specific reasoning behind that. But if you don’t prefer using IntValue’s you can always use a module script or _G.

1 Like