| 
		
	
		| lllDash   Member
 
 Posts: 108
 Threads: 12
 Joined: Apr 2012
 Reputation: 
3
 | 
			|  delay in scares 
 
				I was wondering if anybody knows how to add a tiny scare delay after an event (like a monster spawning).It would be nice if the player freaks out only shortly after a sound made by the monster.
 here is what I have so far:
 
 
 ----------------------------------------------------------------------------------
 void OnStart()
 
 {
 AddEntityCollideCallback("Player", "ScriptArea_1", "MonsterFunction_1", true, 1);
 
 }
 void MonsterFunction_1(string &in asParent, string &in asChild, int alState)
 {
 SetEntityActive("servant_grunt_1", true);
 PlaySoundAtEntity("", "react_scare", "Player", 0, false);
 GiveSanityDamage(5.0f, true);
 AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_1", 0.001, "");
 AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_2", 0.001, "");
 }
 ----------------------------------------------------------------
 How would you modify this? If you can give me an example that would be great! thanks. ^_^
 |  |  
	| 04-20-2012, 07:04 PM |  |  
	
		| Datguy5   Senior Member
 
 Posts: 629
 Threads: 25
 Joined: Dec 2011
 Reputation: 
12
 | 
			| RE: delay in scares 
 
				Use timers.Nuff said
			 
 |  |  
	| 04-20-2012, 07:14 PM |  |  
	
		| DRedshot   Senior Member
 
 Posts: 374
 Threads: 23
 Joined: Jun 2011
 Reputation: 
11
 | 
			| RE: delay in scares 
 
				This is what I do, It is probably the easiest way to do this, because you don't have to create a unique function for each react sound. 
Stick this bit of code at the bottom of your .hps file
 // Player React Functionvoid React(string &in asTimer){
 PlayGuiSound("react_"+asTimer+".snt" , 1.0f);
 }
 
This function can be called at any part of your script with "AddTimer("scare" , 0.5f , "React");" 
"scare" can be any of the react sounds, such as "breath" "breath_slow" "sigh" etc. I'll give a complete example below:
 void Collide(string &in asParent , string &in asChilc , int alState) // Player Hits area{
 // Scary stuff happens
 AddTimer("scare" , 0.4f , "React"); // Player is scared
 AddTimer("breath" , 1.0f , "React"); // Player takes a deep breath
 }
 
 
 // Player React Function
 void React(string &in asTimer){
 PlayGuiSound("react_"+asTimer+".snt" , 1.0f);
 }
 
 
				
(This post was last modified: 04-20-2012, 07:19 PM by DRedshot.)
 |  |  
	| 04-20-2012, 07:16 PM |  |  
	
		| lllDash   Member
 
 Posts: 108
 Threads: 12
 Joined: Apr 2012
 Reputation: 
3
 | 
			| RE: delay in scares 
 
				Thanks DRedshot. It works great!
			 |  |  
	| 04-20-2012, 08:00 PM |  |  
	
		| lllDash   Member
 
 Posts: 108
 Threads: 12
 Joined: Apr 2012
 Reputation: 
3
 | 
			| RE: delay in scares 
 
				Instead of posting a new thread on this next question I thought I would just post it here:Now I know how to delay a sound but how do I make random repeats of sounds placed in the level editor?
 AND/OR
 How do I get Areas to trigger sounds placed in the map editor?
 
 The reason why I ask is I know how to get areas to trigger sounds but I dont know make the sound come from a certain direction in the map, and I know how to place sounds in the editor but they always play right when the map loads.
 
 Thanx in advance.
 |  |  
	| 04-24-2012, 03:45 PM |  |  
	
		| Prelauncher   Senior Member
 
 Posts: 451
 Threads: 11
 Joined: May 2011
 Reputation: 
13
 | 
			| RE: delay in scares 
 
				There might be a way to trigger the sounds you place in the level editor, I don´t know, but there´s no need for you to do that. Instead what you do is create the area that you want to use to trigger the sound, after you´ve decided where you want the sound to come from you either create a new small area there or use the name of an entity you want the sound to come from.  
Then in the script, example: PlaySoundAtEntity("", "react_scare", "Player", 0, false); Locate the sound you want to use in the sounds folder in your Amnesia TDD folder, here you´ll find a bunch off .snt and .ogg files. The .ogg files are the sounds themselves but the .snt files are what you use in the script to trigger a sound. "react_scare" in your script is the name of a .snt file that you have told the game to play "on" the player. So when this part of the script is called the game will locate the .snt file named react_scare which will tell the game which of the .ogg files should be played, then when the game have the sound it is played on the player since that is what you´ve written in the code.  
  Socialism  (noun): A great way to run out of other people's money. |  |  
	| 04-24-2012, 07:06 PM |  |  
	
		| lllDash   Member
 
 Posts: 108
 Threads: 12
 Joined: Apr 2012
 Reputation: 
3
 | 
			| RE: delay in scares 
 
				Really? It's that simple? I've already tried that a while back and it did not work.....I think I must've made a tiny mistake because now it works. Thanks for the help. *sigh* Scripting is so hard because just one little mistake can ruin everything. I'm gonna have to be extra careful in the future and triple check the spelling of everything. 
 Now I just need to find out if random replay sounds are possible. Does anyone else know?
 |  |  
	| 04-25-2012, 06:56 PM |  |  
	
		| lllDash   Member
 
 Posts: 108
 Threads: 12
 Joined: Apr 2012
 Reputation: 
3
 | 
			| RE: delay in scares 
 
				. . . . .    I guess not. (sigh) I guess I'll have to rely on loops
			
				
(This post was last modified: 04-29-2012, 03:02 PM by lllDash.)
 |  |  
	| 04-29-2012, 03:01 PM |  |  |