Frictional Games Forum (read-only)

Full Version: Insanity sound
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
In the original Amnesia game, they have some sound (something like the sound when you are insane) when you enter an area that is with a lot of bodies or with organic stuff. I took a look at the map and I thought it was because of an script area. So I removed it but the "insanity sound" was still there. The map I looked at was 23_torture_transept and in the torture rooms you could hear the sound. My question is what makes the sound?

Sorry for bad english*
Why would you want to remove that sound ?

You have to delete AreaTerror arreaS, because there are a few of them, one for each room. In case the game crashes after that, you'd have to remove some script. I still can't understand why you want to do it 0_o

How it works: There's an area. In the "On start" section of the map's script there's an AddEntityCollideCallback func. This means that now when you enter(alState = 1), leave (alState = -1) or both (alState = 0) a function is executed. This func (search for CollideTerrorArea to see this function) starts the sound if you enter (if alState = 1) or stops it when you leave (it's the part after "else").

Look all functions here

https://wiki.frictionalgames.com/doku.ph..._functions
(04-02-2015, 05:55 PM)Darkfire Wrote: [ -> ]Why would you want to remove that sound ?

You have to delete AreaTerror arreaS, because there are a few of them, one for each room. In case the game crashes after that, you'd have to remove some script. I still can't understand why you want to do it 0_o

How it works: There's an area. In the "On start" section of the map's script there's an AddEntityCollideCallback func. This means that now when you enter(alState = 1), leave (alState = -1) or both (alState = 0) a function is executed. This func (search for CollideTerrorArea to see this function) starts the sound if you enter (if alState = 1) or stops it when you leave (it's the part after "else").

Look all functions here

https://wiki.frictionalgames.com/doku.ph..._functions

I don't want to remove it. I want it in my custom story but I don't know how to get the sound at an area.
I think what you want is this function GiveSanityDamage(10, true);.
Take that line to your mod and you should get the effect+sound.
Careful, 100 of Sanity Damage makes the player faint.
Depends what exact sound he means. I thought of ui_torture.ogg
Thanks but I have one more thingBig Grin. Again about the original story. When you get killed by a monster in the original story and respawn, the monster will still be there. It doesn't go away or anything. But in my custom story whenever I get killed by a monster and respawn, the monster isn't there anymore. This will make it a lot less scary because the player can just kill himself and run without any dangers through the map. So how did the original story respawn the monsters too just like the player?
(04-04-2015, 03:46 PM)Lars Wrote: [ -> ]Thanks but I have one more thingBig Grin. Again about the original story. When you get killed by a monster in the original story and respawn, the monster will still be there. It doesn't go away or anything. But in my custom story whenever I get killed by a monster and respawn, the monster isn't there anymore. This will make it a lot less scary because the player can just kill himself and run without any dangers through the map. So how did the original story respawn the monsters too just like the player?

Use checkpoints
That's true. And I think you have to kind of reset the script, for example if you have AddEntityCollideCallback that triggers the monster, you'll have to use that script again in the checkpoint script, because it disappears after first usage. Like this:

Spoiler below!

void OnStart
{
AddEntityCollideCallback("Player", "ScriptArea", "FreeMonster", true, 1);
}

void FreeMonster(string &in asParent, string &in asChild, int alState)
{
SetEntityActive("Monster", true);
CheckPoint ("aa", "PlayerStart_1", "CheckP", "Hints", "RespawnHint1");
}
void CheckP(string &in asName, int alCount)
{
AddEntityCollideCallback("Player", "ScriptArea", "FreeMonster", true, 1);
}



Say if you don't understand smth.
(04-04-2015, 05:29 PM)Darkfire Wrote: [ -> ]That's true. And I think you have to kind of reset the script, for example if you have AddEntityCollideCallback that triggers the monster, you'll have to use that script again in the checkpoint script, because it disappears after first usage. Like this:

Spoiler below!

void OnStart
{
AddEntityCollideCallback("Player", "ScriptArea", "FreeMonster", true, 1);
}

void FreeMonster(string &in asParent, string &in asChild, int alState)
{
SetEntityActive("Monster", true);
CheckPoint ("aa", "PlayerStart_1", "CheckP", "Hints", "RespawnHint1");
}
void CheckP(string &in asName, int alCount)
{
AddEntityCollideCallback("Player", "ScriptArea", "FreeMonster", true, 1);
}



Say if you don't understand smth.
So what you actually do is set a checkpoint when the monster spawns or at another point and within that function you reset the command wich calls in the monster by just putting in in there again.
Yes: The function that I called "CheckP" is called when you die. You see, when the monster entity is activated, the invisible/unactive one reappears after the active one vanishes. At least that is how I see it; it also may reappear when you die. Anyway, you get the point. If you want to see how FG made it in original, go to map 24_torture_choir_east.
Pages: 1 2