formatting:

{
"id": "(the ID of this message)",
"message": "(the message to show up on screen)",
"narrator": "(the name to show up above the message)",
"time": "(how long, in ticks, you want this message to stay on screen)",
"voiceover": "(the sound to play when this message appears, must be the name of an .ogg file located in your audio folder, optional)",

"requirements": (an array of message IDs that the player needs to have seen at least once for this message to appear once a trigger happens, optional),

"triggers": (the things that will trigger this message to appear, this is an "or" when any of these are fulfilled, the message will appear, optional, trigger format will be shown later),

"actions": (the things that will happen when this message appears, optional, action format will be shown later)
}

examples:

[
	{
		"id": "tutorial1",
		"message": "Welcome to the &eworld&r!",
		"narrator": "Tutorial",
		"time": "36",
		"voiceover": "tutorial1.ogg",
		"triggers": [
			{
				"trigger": "stat_above",
				"key": "achievement.openInventory",
				"value": "1"
			}
		]
	},

	{
		"id": "tutorial2",
		"message": "Help yourself to break a tree or something.",
		"narrator": "Tutorial",
		"time": "40",
		"voiceover": "tutorial2.ogg",
		"triggers": [
			{
				"trigger": "message_seen",
				"key": "tutorial1"
			}
		]
	},

	{
		"id": "tutorial3",
		"message": "Here, have some more. Go make a workbench now!",
		"narrator": "Tutorial",
		"time": "68",
		"voiceover": "tutorial3.ogg",
		"requirements": [
			"tutorial2"
		],
		"triggers": [
			{
				"trigger": "item_pickup",
				"stack": {
					"id": "minecraft:log"
				}
			}
		],
		"actions": [
			{
				"action": "give_item",
				"stack": {
					"id": "minecraft:log",
					"stackSize": "5",
					"metadata": "3",
					"nbt": {
						"display": {
							"Name": "Tutorial Log!",
							"Lore": [
								"This is a log! Use it to craft a Workbench!"
							]
						}
					}
				}
			}
		]
	},

	{
		"id": "tutorial4",
		"message": "Nice workbench. Place it down to make some stuff. Have a pick, go mine!",
		"narrator": "Tutorial",
		"time": "100",
		"voiceover": "tutorial4.ogg",
		"requirements": [
			"tutorial3"
		],
		"triggers": [
			{
				"trigger": "item_craft",
				"stack": {
					"id": "minecraft:crafting_table"
				}
			}
		],
		"actions": [
			{
				"action": "give_item",
				"stack": {
					"id": "minecraft:stone_pickaxe"
				}
			}
		]
	},

	{
		"id": "tutorial5",
		"message": "Hey, you got cobble. Oh, that's a creeper.",
		"narrator": "Tutorial",
		"time": "86",
		"voiceover": "tutorial5.ogg",
		"requirements": [
			"tutorial4"
		],
		"triggers": [
			{
				"trigger": "item_pickup",
				"stack": {
					"id": "minecraft:cobblestone"
				}
			}
		],
		"actions": [
			{
				"action": "give_item",
				"stack": {
					"id": "minecraft:stone_sword"
				}
			},
			{
				"action": "run_command",
				"param": "/summon Creeper ~0 ~0 ~5 {Attributes:[{Name:\"generic.maxHealth\",Base:3}]}"
			}
		]
	},

	{
		"id": "tutorial6",
		"message": "Nice kill! Here's a diamond for your efforts.",
		"narrator": "Tutorial",
		"time": "68",
		"voiceover": "tutorial6.ogg",
		"requirements": [
			"tutorial5"
		],
		"triggers": [
			{
				"trigger": "mob_kill",
				"key": "Creeper"
			}
		],
		"actions": [
			{
				"action": "give_item",
				"stack": {
					"id": "minecraft:diamond"
				}
			}
		]
	}
]