theodorg
Junior Member
Posts: 44
Threads: 11
Joined: Aug 2013
Reputation:
0
|
Amnesia script help
So im doing this scare when rocks are falling down at you and a sounds playing at the same time. The problem is that the map thats but then when it comes to it the script dosent activate.
////////////////////////////
// Run first time starting map
void OnStart()
{
AddUseItemCallback("", "Awesome_key", "Awesome_door", "ABC", true);
AddEntityCollideCallback("Player", "PlayerCollide", "MonsterFunction", true, 1);
AddEntityCollideCallback("Player", "korridor", "bana", true, 1);
AddUseItemCallback("", "secret_key", "secret_door", "SECRET", true);
AddEntityCollideCallback("Player", "servant_grunt_1", "MonsterAway", true, 1);
AddEntityCollideCallback("Player", "falldown", "falldown", true, 1);
PlayMusic("creepy.ogg", false, 0.6, 5, 0.5, true);
AddEntityCollideCallback("Player", "checkpoint_1", "Restart", true, 1);
}
//INFO******************************
//PlayMusic(string& asMusicFile, bool abLoop, float afVolume, float afFadeTime, int alPrio, bool abResume);
//INFO******************************
void Restart(string &in asParent, string &in asChild, int alState)
{
CheckPoint ("FirstCheckpoint", "checkpoint_1_spawn", "Happening", "DeathCategory", "Deathtext");
}
void falldown(string &in asItem, string &in asEntity)
{
SetEntityActive("rock_med02_push_1", true);
SetEntityActive("rock_med02_push_2", true);
SetEntityActive("rock_med02_push_3", true);
SetEntityActive("rock_med02_push_4", true);
SetEntityActive("rock_med02_push_5", true);
SetEntityActive("rock_med02_push_6", true);
SetEntityActive("rock_med02_push_7", true);
SetEntityActive("rock_med02_push_8", true);
void PreloadSound(string& scare_falldown.ogg);
}
void ABC(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked( "Awesome_door", false, true);
PlaySoundAtEntity("", "unlock_door", "Awesome_door", 0, false);
RemoveItem("Awesome_key");
}
void SECRET(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked( "secret_door", false, true);
PlaySoundAtEntity("", "unlock_door", "secret_door", 0, false);
RemoveItem("secret_key");
}
void bana(string &in asParent, string &in asChild, int alState)
{
SetEntityActive("osynlig", true);
SetEntityActive("synlig", false);
}
////////////////////////////
// Run when entering map
void OnEnter()
{
}
////////////////////////////
// Run when leaving map
void OnLeave()
{
}
|
|
08-25-2014, 08:52 PM |
|
Slanderous
Posting Freak
Posts: 1,606
Threads: 78
Joined: Dec 2012
Reputation:
63
|
RE: Amnesia script help
Bro, void PreloadSound(string& scare_falldown.ogg);
its not how you use sounds in Amnesia.
Use PlaySoundAtEntity("", "scare_falldown", "Player", 0, false);
or PlayGuiSound("scare_falldown", 1.0f);
|
|
08-25-2014, 09:45 PM |
|
PutraenusAlivius
Posting Freak
Posts: 4,713
Threads: 75
Joined: Dec 2012
Reputation:
119
|
RE: Amnesia script help
@Theodorg
void falldown(string &in asItem, string &in asEntity) { SetEntityActive("rock_med02_push_1", true); SetEntityActive("rock_med02_push_2", true); SetEntityActive("rock_med02_push_3", true); SetEntityActive("rock_med02_push_4", true); SetEntityActive("rock_med02_push_5", true); SetEntityActive("rock_med02_push_6", true); SetEntityActive("rock_med02_push_7", true); SetEntityActive("rock_med02_push_8", true); }
Preload isn't a way to play sounds; it's a way to preload them so the game won't have to load them when the file plays. Because of this I removed the Preload function. Use PlayGuiSound or PlaySoundAtEntity. Note that PlayGuiSound is only for the Player and PlaySoundAtEntity is for any object.
@Lazzer .
Dude, in PlaySoundAtEntity and PlayGuiSound you need to specify the file's extension too, not just the name. File must be in .snt format.
"Veni, vidi, vici."
"I came, I saw, I conquered."
|
|
08-26-2014, 02:42 AM |
|
Mudbill
Muderator
Posts: 3,881
Threads: 59
Joined: Apr 2013
Reputation:
179
|
RE: Amnesia script help
Despite it saying you need the extension on the script page, you don't actually need it. I think I remember the PlayGuiSound being able to run .ogg files too.
And just to elaborate in case it's unclear:
Quote:Note that PlayGuiSound is only for the Player and PlaySoundAtEntity is for any object.
PlayGuiSound will play a sound as if the sound was played exactly where the player is, and it plays with no 3D. This makes so it doesn't differ from right or left headphone or speaker. PlaySoundAtEntity will place the sound in the 3D world, which will allow the player to know where the sound comes from by listening to the distance and direction.
(This post was last modified: 08-26-2014, 09:41 AM by Mudbill.)
|
|
08-26-2014, 09:40 AM |
|
FlawlessHappiness
Posting Freak
Posts: 3,980
Threads: 145
Joined: Mar 2012
Reputation:
171
|
RE: Amnesia script help
The parameters in "void falldown" has been set to "(string &in asItem, string &in asEntity)".
This is wrong, since you specified in "void OnStart()" that it's a collide function.
Collide functions go like this: (string &in asParent, string &in asChild, int alState)
I see you've done them correctly in your other functions but,
For more help: http://www.frictionalgames.com/forum/thread-18368.html
Trying is the first step to success.
|
|
08-26-2014, 10:51 AM |
|
theodorg
Junior Member
Posts: 44
Threads: 11
Joined: Aug 2013
Reputation:
0
|
RE: Amnesia script help
The thing is that i dont know how to make the sound snt i created it myself with multiple sounds and put it in the extrasounds folder
Now its in ogg format.
(08-26-2014, 10:51 AM)FlawlessHappiness Wrote: The parameters in "void falldown" has been set to "(string &in asItem, string &in asEntity)".
This is wrong, since you specified in "void OnStart()" that it's a collide function.
Collide functions go like this: (string &in asParent, string &in asChild, int alState)
I see you've done them correctly in your other functions but,
For more help: http://www.frictionalgames.com/forum/thread-18368.html
Thanks man your page helped ALOT!
(This post was last modified: 08-26-2014, 03:05 PM by theodorg.)
|
|
08-26-2014, 03:01 PM |
|
theodorg
Junior Member
Posts: 44
Threads: 11
Joined: Aug 2013
Reputation:
0
|
|
08-26-2014, 04:21 PM |
|
Mudbill
Muderator
Posts: 3,881
Threads: 59
Joined: Apr 2013
Reputation:
179
|
RE: Amnesia script help
What do you not get?
First off, your sound file needs to be processed in the .ogg format. Secondly, you'll want a .snt text file that plays this .ogg file. Copy an existing .snt file and edit it + rename it. You can name it the same as the .ogg if you'd like.
Once you have both, just play the .snt file using either of the scripts already mentioned.
|
|
08-26-2014, 04:54 PM |
|
theodorg
Junior Member
Posts: 44
Threads: 11
Joined: Aug 2013
Reputation:
0
|
RE: Amnesia script help
(08-26-2014, 04:54 PM)Mudbill Wrote: What do you not get?
First off, your sound file needs to be processed in the .ogg format. Secondly, you'll want a .snt text file that plays this .ogg file. Copy an existing .snt file and edit it + rename it. You can name it the same as the .ogg if you'd like.
Once you have both, just play the .snt file using either of the scripts already mentioned.
I put it like this now but the game crashes on startup:
////////////////////////////
// Run first time starting map
void OnStart()
{
AddUseItemCallback("", "Awesome_key", "Awesome_door", "ABC", true);
AddEntityCollideCallback("Player", "korridor", "bana", true, 1);
AddUseItemCallback("", "secret_key", "secret_door", "SECRET", true);
AddEntityCollideCallback("Player", "falldown", "falldown1", true, 1);
PlayMusic("creepy.ogg", false, 0.6, 5, 0.5, true);
AddEntityCollideCallback("Player", "checkpoint_1", "Restart", true, 1);
}
void Restart(string &in asParent, string &in asChild, int alState)
{
CheckPoint ("FirstCheckpoint", "checkpoint_1_spawn", "Happening", "DeathCategory", "Deathtext");
}
void falldown1(string &in asParent, string &in asChild, int alState)
{
SetEntityActive("rock_med02_push_1", true);
SetEntityActive("rock_med02_push_2", true);
SetEntityActive("rock_med02_push_3", true);
SetEntityActive("rock_med02_push_4", true);
SetEntityActive("rock_med02_push_5", true);
SetEntityActive("rock_med02_push_6", true);
SetEntityActive("rock_med02_push_7", true);
SetEntityActive("rock_med02_push_8", true);
void PlaySoundAtEntity(string& "falldown", string& "scare_falldown.snt", string& "rock_med02_push_8", float 0, bool false);
}
and what does the internal name mean??? "asSoundName - internal name"
(This post was last modified: 08-26-2014, 06:02 PM by theodorg.)
|
|
08-26-2014, 06:01 PM |
|
FlawlessHappiness
Posting Freak
Posts: 3,980
Threads: 145
Joined: Mar 2012
Reputation:
171
|
RE: Amnesia script help
internal name is the name you give it in the script.
So that you can refer back to it with
StopSound(asSoundName, float afFadeTime);
Trying is the first step to success.
|
|
08-26-2014, 06:16 PM |
|
|