nerdboyxxx
Junior Member
Posts: 11
Threads: 5
Joined: Sep 2010
Reputation:
0
|
PlaySound
Hello,
Below is the code I am using. I am trying to make a sound play when the player makes contact with a certain area. When the player makes contact with this area, the sound will play from the location of another entity (in this case another script area).
Below is the code I am currently using. I have been reading through the tutorials and teaching myself as I go, so far it has gone well however I am stuck at the moment. I can't see where I am going wrong at all.
void OnStart()
{
AddTimer("Timer_1", 2, "MonsterSpawn");
AddEntityCollideCallback("player", "Child_Cry_1", "Collide_Area", true, 1);
if(ScriptDebugOn())
{
GiveItemFromFile("lantern", "lantern.ent");
for(int i=0;i<10;i++) GiveItemFromFile("tinderbox_"+i, "tinderbox.ent");
}
}
void Collide_Area(string &in asParent, string &in asChild, int alState)
{
PlaySoundAtEntity("BabyCry", "scare_Baby_Cry.snt", "child_cry_scare", 0, false);
}
If you could help fix up my script and explain where I went wrong I would be very grateful.
Thanks for all the help
(This post was last modified: 12-14-2010, 09:54 AM by nerdboyxxx.)
|
|
12-14-2010, 05:22 AM |
|
Frontcannon
Senior Member
Posts: 538
Threads: 10
Joined: Jul 2010
Reputation:
2
|
RE: PlaySound
It seems alright, but the name of the sound file doesn't contain caps, I think. I don't know if that matters, though.
How far away is the sound area from the player? Some sounds can't be heard over certain distances.
╔═════════════════╗
☺ Smoke weed everyday ☺
╚═════════════════╝
|
|
12-14-2010, 05:42 PM |
|
nerdboyxxx
Junior Member
Posts: 11
Threads: 5
Joined: Sep 2010
Reputation:
0
|
RE: PlaySound
I have it behind a wall, if that matters. It is right over the player. I will try and use the name without caps and see if that works though, because I think that might be the problem.
EDIT: That is not the problem . Could it possibly be that it will simply not run in-game? Maybe I have to change some settings? Because I am getting no errors when I run the map in Amnesia.
It should be running, but it isn't... :|
(This post was last modified: 12-14-2010, 11:30 PM by nerdboyxxx.)
|
|
12-14-2010, 10:59 PM |
|
Frontcannon
Senior Member
Posts: 538
Threads: 10
Joined: Jul 2010
Reputation:
2
|
RE: PlaySound
Add this in Collide_Area and activate 'Show Debug Messages' in the debug menu (F1):
AddDebugMessage("this should be a sound", false);
╔═════════════════╗
☺ Smoke weed everyday ☺
╚═════════════════╝
|
|
12-14-2010, 11:34 PM |
|
nerdboyxxx
Junior Member
Posts: 11
Threads: 5
Joined: Sep 2010
Reputation:
0
|
RE: PlaySound
(12-14-2010, 11:34 PM)Frontcannon Wrote: Add this in Collide_Area and activate 'Show Debug Messages' in the debug menu (F1):
AddDebugMessage("this should be a sound", false);
Hmmm, no debug messages appeared when I collided with the Area... I'm stumped.
Just in case it will help, I've posted my entire script below (don't worry, it isn't that long ).
//=========================================
void OnStart()
{
AddEntityCollideCallback("player", "Child_Cry_1", "Collide_Area", true, 1);
AddEntityCollideCallback("player", "slamdoorpianoplay", "Hallway_Collide", true, 1);
if(ScriptDebugOn())
{
GiveItemFromFile("lantern", "lantern.ent");
for(int i=0;i<10;i++) GiveItemFromFile("tinderbox_"+i, "tinderbox.ent");
}
}
void Collide_Area(string &in asParent, string &in asChild, int alState)
{
AddDebugMessage("this should be a sound", false);
PlaySoundAtEntity("BabyCry", "scare_baby_cry5.ogg", "Child_Cry_Scare", 1.0f, false);
AddTimer("BabyCryStop", 4.0f, "BabyCry")
}
void BabyCry(string &in asTimer)
{
StopSound("BabyCry", 1.5f);
}
void Hallway_Collide(string &in asParent, string &in asChild, int alState)
{
AddDebugMessage("Door should start to close here, player looks at door", false);
StartPlayerLookAt("mansion_door_swing_close", 1.0f, 3.5f, "");
AddTimer("MansionDoorClose", 0.6f, "LookAtDoor");
}
void LookAtDoor(string &in asTimer)
{
AddDebugMessage("Door should close and lock, player should be shocked", false);
SetSwingDoorClosed("mansion_door_swing_close", true, true);
PlaySoundAtEntity("ShockBreathe", "react_breath1.ogg", "Player", 0.5f, false);
StopPlayerLookAt();
StopSound("ShockBreathe", 1.0f);
SetSwingDoorLocked("mansion_door_swing_close", true, false);
AddTimer("PianoPlay", 5.0f, "Ghost_Piano");
}
void Ghost_Piano(string &in asTimer)
{
AddDebugMessage("Play piano here, sanity damage", false);
PlaySoundAtEntity("PianoPlay1", "general_piano02.ogg", "Piano_Play_1", 2.0f, false);
GiveSanityDamage(20.0f, true);
StopSound("PianoPlay1", 4.0f);
}
//===========================================
void OnEnter()
{
}
//===========================================
void OnLeave()
{
}
Hopefully there is a problem with my formatting so I can fix it quickly .
(This post was last modified: 12-15-2010, 12:31 AM by nerdboyxxx.)
|
|
12-15-2010, 12:11 AM |
|
nerdboyxxx
Junior Member
Posts: 11
Threads: 5
Joined: Sep 2010
Reputation:
0
|
RE: PlaySound
I found the problem; turns out that "Player" isn't "player"... Well, at least I got it working XD
|
|
12-15-2010, 03:09 AM |
|
|