You are missing open and closing braces at the start of many of your functions:
////////////////////////////
// Run first time starting map
void OnStart()
{
AddEntityCollideCallback("Player", "PlayerCollide", "MonsterFunction", true, 1);
AddUseItemCallback("", "StairsKey_1", "Stairs_1", "KeyOnDoor", true);
AddUseItemCallback("", "StairsKey_1", "Stairs_2", "KeyOnDoor2", true);
}
void KeyOnDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("Stairs_1", false, true);
PlaySoundAtEntity("", "unlock_door.snt", "Stairs_1", 0.0f, true);
}
void KeyOnDoor2(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("Stairs_2", false, true);
PlaySoundAtEntity("", "unlock_door.snt", "Stairs_2", 0.0f, true);
RemoveItem("StairsKey_1");
}
//MonsterCheck(string &in entity, string &in type) - What was this doing???
void MonsterFunction(string &in asParent, string &in asChild, int alState)
{
SetEntityActive("servant_grunt_1", true);
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_1", 2, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_2", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_3", 0, "");
}
////////////////////////////
// Run when entering map
void OnEnter()
{
}
////////////////////////////
// Run when leaving map
void OnLeave()
{
}
Above is the fixed code. I have also commented out the line "MonsterCheck(string &in entity, string &in type)", as i am unsure as to the purpose of this. If it is a function you are missing the return type (E.g. void, int, bool, etc) and also a set of open and closing braces.