Frictional Games Forum (read-only)

Full Version: No sound playing in script area
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3
You make me want to create a video for you... I might do ^_^

We'll see.
(10-08-2014, 05:25 PM)FlawlessHappiness Wrote: [ -> ]You make me want to create a video for you... I might do ^_^

We'll see.

Haha, but would you be so kind and show me just one more example on how you would script this. I want to add another script area with another sound. Maybe it would make some sense getting it infront of me so i can see the code myself. I try to rationalize but...yeah....lol

void OnStart()
{

AddEntityCollideCallback("Player", "Ljud", "start", true, 1);
AddUseItemCallback("", "Key", "Door", "UseKeyOnDoor", true);
AddUseItemCallback("", "Nyckel", "Rumpa", "UseKeyOnDoor", true);
AddUseItemCallback("", "Tillskåp", "Skåp", "UseKeyOnDoor", true);
}

void UseKeyOnDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked(asEntity, false, true);
PlaySoundAtEntity("", "Unlock_door.snt", asEntity, 10, false);
RemoveItem(asItem);
}

void start(string &in asParent, string &in asChild, int alState)
{
PlaySoundAtEntity("", "25_strain_wood.snt", "Player", 0.0f, false);
}
(10-08-2014, 05:34 PM)LDOriginal Wrote: [ -> ]
(10-08-2014, 05:25 PM)FlawlessHappiness Wrote: [ -> ]You make me want to create a video for you... I might do ^_^

We'll see.

Haha, but would you be so kind and show me just one more example on how you would script this. I want to add another script area with another sound. Maybe it would make some sense getting it infront of me so i can see the code myself. I try to rationalize but...yeah....lol

void OnStart()
{

AddEntityCollideCallback("Player", "Ljud", "start", true, 1);
AddUseItemCallback("", "Key", "Door", "UseKeyOnDoor", true);
AddUseItemCallback("", "Nyckel", "Rumpa", "UseKeyOnDoor", true);
AddUseItemCallback("", "Tillskåp", "Skåp", "UseKeyOnDoor", true);
}

void UseKeyOnDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked(asEntity, false, true);
PlaySoundAtEntity("", "Unlock_door.snt", asEntity, 10, false);
RemoveItem(asItem);
}

void start(string &in asParent, string &in asChild, int alState)
{
PlaySoundAtEntity("", "25_strain_wood.snt", "Player", 0.0f, false);
}

Here, let me try to help you. Smile So anything I write in red will be the stuff I add to your script.

Spoiler below!

void OnStart()
{

AddEntityCollideCallback("Player", "SoundArea", "PlaySound", true, 1);
AddEntityCollideCallback("Player", "Ljud", "start", true, 1);
AddUseItemCallback("", "Key", "Door", "UseKeyOnDoor", true);
AddUseItemCallback("", "Nyckel", "Rumpa", "UseKeyOnDoor", true);
AddUseItemCallback("", "Tillskåp", "Skåp", "UseKeyOnDoor", true);
}

void UseKeyOnDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked(asEntity, false, true);
PlaySoundAtEntity("", "Unlock_door.snt", asEntity, 10, false);
RemoveItem(asItem);
}

void start(string &in asParent, string &in asChild, int alState)
{
PlaySoundAtEntity("", "25_strain_wood.snt", "Player", 0.0f, false);
}

void PlaySound(string &in asParent, string &in asChild, int alState)
{
PlaySoundAtEntity("", "yoursoundhere.snt", "Player", 1, false);
}



So first, you must add the "AddEntityCollideCallback" somewhere in OnStart so the script knows that there will be an area that can be triggered by the player stepping in it. When "Player" enters "SoundArea" the script will call the function called "PlaySound." The function "PlaySound" is located at the bottom of the script here. Now in the brackets of that function, you can script whatever you want to happen when "PlaySound" is called.
(10-08-2014, 06:25 PM)Viper85626 Wrote: [ -> ]
(10-08-2014, 05:34 PM)LDOriginal Wrote: [ -> ]
(10-08-2014, 05:25 PM)FlawlessHappiness Wrote: [ -> ]You make me want to create a video for you... I might do ^_^

We'll see.

Haha, but would you be so kind and show me just one more example on how you would script this. I want to add another script area with another sound. Maybe it would make some sense getting it infront of me so i can see the code myself. I try to rationalize but...yeah....lol

void OnStart()
{

AddEntityCollideCallback("Player", "Ljud", "start", true, 1);
AddUseItemCallback("", "Key", "Door", "UseKeyOnDoor", true);
AddUseItemCallback("", "Nyckel", "Rumpa", "UseKeyOnDoor", true);
AddUseItemCallback("", "Tillskåp", "Skåp", "UseKeyOnDoor", true);
}

void UseKeyOnDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked(asEntity, false, true);
PlaySoundAtEntity("", "Unlock_door.snt", asEntity, 10, false);
RemoveItem(asItem);
}

void start(string &in asParent, string &in asChild, int alState)
{
PlaySoundAtEntity("", "25_strain_wood.snt", "Player", 0.0f, false);
}

Here, let me try to help you. Smile So anything I write in red will be the stuff I add to your script.

Spoiler below!

void OnStart()
{

AddEntityCollideCallback("Player", "SoundArea", "PlaySound", true, 1);
AddEntityCollideCallback("Player", "Ljud", "start", true, 1);
AddUseItemCallback("", "Key", "Door", "UseKeyOnDoor", true);
AddUseItemCallback("", "Nyckel", "Rumpa", "UseKeyOnDoor", true);
AddUseItemCallback("", "Tillskåp", "Skåp", "UseKeyOnDoor", true);
}

void UseKeyOnDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked(asEntity, false, true);
PlaySoundAtEntity("", "Unlock_door.snt", asEntity, 10, false);
RemoveItem(asItem);
}

void start(string &in asParent, string &in asChild, int alState)
{
PlaySoundAtEntity("", "25_strain_wood.snt", "Player", 0.0f, false);
}

void PlaySound(string &in asParent, string &in asChild, int alState)
{
PlaySoundAtEntity("", "yoursoundhere.snt", "Player", 1, false);
}



So first, you must add the "AddEntityCollideCallback" somewhere in OnStart so the script knows that there will be an area that can be triggered by the player stepping in it. When "Player" enters "SoundArea" the script will call the function called "PlaySound." The function "PlaySound" is located at the bottom of the script here. Now in the brackets of that function, you can script whatever you want to happen when "PlaySound" is called.


Really kind of you to help out. I will test this and get back with the results!
Ok, I tried creating something in a more... picture-like manner.

Hope you understand



(10-08-2014, 07:09 PM)FlawlessHappiness Wrote: [ -> ]Ok, I tried creating something in a more... picture-like manner.

Hope you understand




Haha dude great tutorial! It does make a whole lot more sense when looking at it that way. Good explanation! Smile

(10-08-2014, 06:59 PM)LDOriginal Wrote: [ -> ]
(10-08-2014, 06:25 PM)Viper85626 Wrote: [ -> ]
(10-08-2014, 05:34 PM)LDOriginal Wrote: [ -> ]
(10-08-2014, 05:25 PM)FlawlessHappiness Wrote: [ -> ]You make me want to create a video for you... I might do ^_^

We'll see.

Haha, but would you be so kind and show me just one more example on how you would script this. I want to add another script area with another sound. Maybe it would make some sense getting it infront of me so i can see the code myself. I try to rationalize but...yeah....lol

void OnStart()
{

AddEntityCollideCallback("Player", "Ljud", "start", true, 1);
AddUseItemCallback("", "Key", "Door", "UseKeyOnDoor", true);
AddUseItemCallback("", "Nyckel", "Rumpa", "UseKeyOnDoor", true);
AddUseItemCallback("", "Tillskåp", "Skåp", "UseKeyOnDoor", true);
}

void UseKeyOnDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked(asEntity, false, true);
PlaySoundAtEntity("", "Unlock_door.snt", asEntity, 10, false);
RemoveItem(asItem);
}

void start(string &in asParent, string &in asChild, int alState)
{
PlaySoundAtEntity("", "25_strain_wood.snt", "Player", 0.0f, false);
}

Here, let me try to help you. Smile So anything I write in red will be the stuff I add to your script.

Spoiler below!

void OnStart()
{

AddEntityCollideCallback("Player", "SoundArea", "PlaySound", true, 1);
AddEntityCollideCallback("Player", "Ljud", "start", true, 1);
AddUseItemCallback("", "Key", "Door", "UseKeyOnDoor", true);
AddUseItemCallback("", "Nyckel", "Rumpa", "UseKeyOnDoor", true);
AddUseItemCallback("", "Tillskåp", "Skåp", "UseKeyOnDoor", true);
}

void UseKeyOnDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked(asEntity, false, true);
PlaySoundAtEntity("", "Unlock_door.snt", asEntity, 10, false);
RemoveItem(asItem);
}

void start(string &in asParent, string &in asChild, int alState)
{
PlaySoundAtEntity("", "25_strain_wood.snt", "Player", 0.0f, false);
}

void PlaySound(string &in asParent, string &in asChild, int alState)
{
PlaySoundAtEntity("", "yoursoundhere.snt", "Player", 1, false);
}



So first, you must add the "AddEntityCollideCallback" somewhere in OnStart so the script knows that there will be an area that can be triggered by the player stepping in it. When "Player" enters "SoundArea" the script will call the function called "PlaySound." The function "PlaySound" is located at the bottom of the script here. Now in the brackets of that function, you can script whatever you want to happen when "PlaySound" is called.


Really kind of you to help out. I will test this and get back with the results!

It worked! Smile Thank you!
No problem! Glad I could help! Big Grin
Edit - sorry, ignore me didn't read properly
Pages: 1 2 3