This is the way I'd do it myself:
////////////////////////////
// Run first time start[/color]ing map
void OnStart()
{
AddEntityCollideCallback("Player", "Scare1", "LookAtDoor", true, 0);
AddUseItemCallback("", "Key1", "Unlock1", "UsedKeyOnDoor1", true);
FadeOut(0);
FadeIn(20);
FadeImageTrailTo(2, 2);
FadeSepiaColorTo(100, 4);
SetPlayerActive(false);
FadePlayerRollTo(50, 220, 220);
FadeRadialBlurTo(0.15, 2);
SetPlayerCrouching(true);
AddTimer("trig1", 11.0f, "beginStory");
}
void beginStory(string &in asTimer)
{
ChangePlayerStateToNormal();
SetPlayerActive(true);
FadePlayerRollTo(0, 33, 33);
FadeRadialBlurTo(0.0, 1);
FadeSepiaColorTo(0, 4);
SetPlayerCrouching(false);
FadeImageTrailTo(0,1);
}
void UsedKeyOnDoor1(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("Unlock1", false, true);
PlaySoundAtEntity("", "unlock_door", "Unlock1", 0, false);
RemoveItem("Key1");
PlayMusic("02_puzzle.ogg", false, 0.7, 0.1, 10, true);
RemoveItem("Key1");
GiveSanityBoost();
}
void LookAtDoor(string &in asParent, string &in asChild, int alState)
{
StartPlayerLookAt("castle_1",2.0f,5.0f,"");
AddTimer("Lookatdoor_02",1.5f,"LookAtDoor2");
}
void LookAtDoor2(string& asEntityName)
{
StopPlayerLookAt();
}
// Run when entering map
void OnEnter()
{
PlayMusic("27_paper_daniel01.ogg", true, 1.0f, 0, 0, true);
}
////////////////////////////
// Run when leaving map
void OnLeave()
{
}
If that doesn't work, it is possible that you've got the names wrong. You should check those out.