There are so many bad things that can happen to any script, I guess I just don't completely understand it...
But anyways, "asEntity" and "asItem" is not declared:
void OnStart()
{
AddEntityCollideCallback("Player" , "ScriptArea_2" , "CollideRoomFour" , true, 1);
AddEntityCollideCallback("CellarDoor2" , "ScriptArea_2" , "CollideRoomThree" , true, 1);
AddEntityCollideCallback("Player" , "ScriptArea_1" , "CollideRoomTwo" , true, 1);
AddUseItemCallback("", "CastleKey" , "CastleDoor" , "UsedKeyOnDoor2" , true);
AddUseItemCallback("", "Cellar Key" , "CellarDoor" , "UsedKeyOnDoor" , true);
}
void CollideRoomTwo(string &in asParent, string &in asChild, int alState)
{
SetSwingDoorClosed("cellar_wood01_1", true, true);
GiveSanityDamage(25, true);
}
void UsedKeyOnDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked(asEntity, false, true);
SetLevelDoorLocked(asEntity, false);
PlaySoundAtEntity("unlocksound", "unlock_door.snt", asEntity, 0.0f, false);
RemoveItem(asItem);
}
void CollideRoomThree(string &in asParent, string &in asChild, int alstate)
{
GiveSanityDamage(10, true);
SetEntityActive("servant_grunt_1" , true);
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_15", 5.0f, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_17", 0.0f, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_23", 0.0f, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_34", 0.0f, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_33", 0.0f, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_35", 0.0f, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_49", 0.0f, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_55", 0.0f, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_57", 0.0f, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_65", 0.0f, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_66", 0.0f, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_70", 0.0f, "");
}
void CollideRoomFour(string &in asParent, string &in asChild, int alstate)
{
}
void UsedKeyOnDoor2(string &in asParent, string &in asChild, int alState)
{
SetLevelDoorLocked(asEntity, false);
RemoveItem(asItem);
}
void OnEnter()
{
}
void OnLeave()
{
}