The quests need to have a string &in asName, or it works for me. Then you refer to "quest2" for the name and "Quest2" for the name of it in the "extra_english.lang". It is the same for the rest of them. Example:
AddQuest("quest2", "Quest2");
Script:
void OnStart()
{
SetMessage("BeginningOfHorror", "Arrival", 0);
AddQuest("quest2", "Quest2");
SetEntityPlayerInteractCallback("SuicideRoom_1", "SuicideRoomQuest", true);
AddEntityCollideCallback("Player", "QuestArea_1", "CollideQuests", true, 1);
AddEntityCollideCallback("Player", "CompleteRoomQuest_1", "CollideCompleteQuest", true, 1);
SetEntityPlayerInteractCallback("Note04", "NoteQuest", true);
SetEntityPlayerInteractCallback("SuicideRoomKey_1", "KeyMessage", true);
AddUseItemCallback("" ,"SuicideRoomKey_1", "SuicideRoom_1", "UsedKeyOnDoor", true);
AddUseItemCallback("", "LevelDoorKey_1", "LevelDoor_1", "LevelDoorUnlocked", true);
}
void OnEnter()
{
}
void OnLeave()
{
SetupLoadScreen("LoadingText", "Underpass", 1, "");
CompleteQuest("", "Quest2");
}
void UsedKeyOnDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("SuicideRoom_1", false, true);
CompleteQuest("quest4", "Quest4");
PlaySoundAtEntity("", "unlock_door.snt", "LevelDoor_1", 0, false);
}
void LevelDoorUnlocked(string &in asItem, string &in asEntity)
{
SetLevelDoorLocked("LevelDoor_1", false);
}
void SuicideRoomQuest(string &in asEntity)
{
AddQuest("quest4", "Quest4");
}
void NoteQuest(string &in asEntity)
{
AddQuest("quest3", "Quest3");
}
void KeyMessage(string &in asEntity)
{
SetMessage("BeginningOfHorror", "KeyPickup", 0);
}
void CollideQuests(string &in asParent, string &in asChild, int alState)
{
AddQuest("quest2", "Quest2");
}
void CollideCompleteQuest(string &in asParent, string &in asChild, int alState)
{
CompleteQuest("quest3", "Quest3");
}
I also fixed a few problems in there.