Facebook Twitter YouTube Frictional Games | Forum | Privacy Policy | Dev Blog | Dev Wiki | Support | Gametee


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
What is wrong with this script! (SOLVED)
Henriksen Offline
Senior Member

Posts: 308
Threads: 71
Joined: Dec 2010
Reputation: 2
#1
Question  What is wrong with this script! (SOLVED)

Hi.

Im trying to get the player look at something when he enters a specific area.
But the problem is that im a totally noob at scripting so could somebody see what is wrong with my script?

If you find out whats wrong could you please post the entire fixed script?

Here is the full script:

////////////////////////////
// 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 asTimer)
{
if(asTimer == "Lookatdoor_01")
{
StartPlayerLookAt("castle_1",2.0f,5.0f,"");
AddTimer("Lookatdoor_02",1.5f,"Lookatdoor");
}

if(asTimer == "Lookatdoor_02")
{
StopPlayerLookAt();
}
}

// Run when entering map
void OnEnter()
{
PlayMusic("27_paper_daniel01.ogg", true, 1.0f, 0, 0, true);
}


////////////////////////////
// Run when leaving map
void OnLeave()
{

}
(This post was last modified: 02-13-2011, 02:42 PM by Henriksen.)
02-12-2011, 04:54 PM
Find
Tanshaydar Offline
From Beyond

Posts: 3,085
Threads: 17
Joined: Mar 2009
Reputation: 67
#2
RE: What is wrong with this script!

StartPlayerLookAt("castle_1", 4, 100, "");
Try this. And make sure castle_1 is a lookable object Tongue

02-12-2011, 05:22 PM
Website Find
Akasu Offline
Member

Posts: 62
Threads: 6
Joined: Aug 2010
Reputation: 2
#3
RE: What is wrong with this script!

All the stuff in scripts is case-sensitive. The script probably doesn't work because when the player collides with the area, it calls a funtion named 'LookAtDoor' but your function is named 'Lookatdoor'. I fixed it and the whole script is below.
I'm also concerned about the 'if(asTimer == "Lookatdoor_01")' because you apparently don't have a function that adds a timer like that but test it nevertheless, it might work now.

////////////////////////////
// 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 asTimer)
{
if(asTimer == "Lookatdoor_01")
{
StartPlayerLookAt("castle_1",2.0f,5.0f,"");
AddTimer("Lookatdoor_02",1.5f,"LookAtDoor");
}

if(asTimer == "Lookatdoor_02")
{
StopPlayerLookAt();
}
}

// Run when entering map
void OnEnter()
{
PlayMusic("27_paper_daniel01.ogg", true, 1.0f, 0, 0, true);
}


////////////////////////////
// Run when leaving map
void OnLeave()
{

}
02-12-2011, 07:38 PM
Find
Henriksen Offline
Senior Member

Posts: 308
Threads: 71
Joined: Dec 2010
Reputation: 2
#4
RE: What is wrong with this script!

What do you mean by "lookable object"???

Also i tried your script akasu but still no luck Sad
02-12-2011, 10:27 PM
Find
Akasu Offline
Member

Posts: 62
Threads: 6
Joined: Aug 2010
Reputation: 2
#5
RE: What is wrong with this script!

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.
02-12-2011, 11:05 PM
Find
Henriksen Offline
Senior Member

Posts: 308
Threads: 71
Joined: Dec 2010
Reputation: 2
#6
RE: What is wrong with this script!

(02-12-2011, 11:05 PM)Akasu Wrote: 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.

Oh i see it was the names that were wrong Big Grin
Ty to everybody, but now i have a new problem.
It doesnt give me sanitiy boost when i open the door :/
02-13-2011, 02:39 PM
Find




Users browsing this thread: 1 Guest(s)