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 Function void 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 |
|
|