10-08-2014, 05:25 PM
10-08-2014, 05:34 PM
(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, 06:25 PM
(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. 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:59 PM
(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. 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!
10-08-2014, 07:09 PM
Ok, I tried creating something in a more... picture-like manner.
Hope you understand
Hope you understand
10-08-2014, 08:13 PM
(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!
(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. 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! Thank you!
10-09-2014, 06:58 AM
No problem! Glad I could help!
10-09-2014, 07:26 AM
Edit - sorry, ignore me didn't read properly