Frictional Games Forum (read-only)
Problem - Printable Version

+- Frictional Games Forum (read-only) (https://www.frictionalgames.com/forum)
+-- Forum: Amnesia: The Dark Descent (https://www.frictionalgames.com/forum/forum-6.html)
+--- Forum: Custom Stories, TCs & Mods - Development (https://www.frictionalgames.com/forum/forum-38.html)
+---- Forum: Development Support (https://www.frictionalgames.com/forum/forum-39.html)
+---- Thread: Problem (/thread-15337.html)

Pages: 1 2 3 4


Problem - maitalr - 05-08-2012

I just started to develop a game, and I'm trying to use scrip. I made a simple thing - open door.
The key's name: key_1. The door's name: Door_3
And it doesn't work! where is the mistake? :



////////////////////////////
// Run when entering map
void OnEnter()
{
AddUseItemCallback("", "key_1", "Door_3", "UsedKeyOnDoor", true);
void MyFunc(string &in asItem, string &in asEntity)
SetSwingDoorLocked(Door_3, false, true);
PlaySoundAtEntity("", "unlock_door", "Door_3", 0, "false");
RemoveItem(key1);
}

////////////////////////////
// Run when leaving map
void OnLeave()
{

}


THANK YOU!


RE: Problem - Cranky Old Man - 05-08-2012

(05-08-2012, 02:10 PM)maitalr Wrote: I just started to develop a game, and I'm trying to use scrip. I made a simple thing - open door.
The key's name: key_1. The door's name: Door_3
And it doesn't work! where is the mistake? :



////////////////////////////
// Run when entering map
void OnEnter()
{
AddUseItemCallback("", "key_1", "Door_3", "UsedKeyOnDoor", true);
void MyFunc(string &in asItem, string &in asEntity)
SetSwingDoorLocked(Door_3, false, true);
PlaySoundAtEntity("", "unlock_door", "Door_3", 0, "false");
RemoveItem(key1);
}

////////////////////////////
// Run when leaving map
void OnLeave()
{

}


THANK YOU!
What's this doing here?
Code:
void MyFunc(string &in asItem, string &in asEntity)

Also, put double-quotes around key1 on the last line.

Edit:
Of course, what you want is probably something like this:
Code:
////////////////////////////
// Run when entering map
void OnEnter()
{
AddUseItemCallback("", "key_1", "Door_3", "UsedKeyOnDoor", true);
}

void UsedKeyOnDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("Door_3", false, true);
PlaySoundAtEntity("", "unlock_door", "Door_3", 0, "false");
RemoveItem("key1");
}

////////////////////////////
// Run when leaving map
void OnLeave()
{

}



RE: Problem - darkadders - 05-08-2012

ill try fixing it for ya:


void OnStart()
{
AddUseItemCallback("", "key_1", "Door_3", "UsedKeyOnDoor", true);
}


void UsedKeyOnDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("Door_3", false, true);
PlaySoundAtEntity("", "unlock_door.snt", "Door_3", 0, false);
RemoveItem("key_1");
}





WHAT I DID (along with some unrelated tutorial information on further development.)




I basically changed the script from void OnEnter to void OnStart.

Also, i added a function for your AddUseItemCallback. so when you use the item on the AddUseItemCallback, it will call the function of UsedKeyOnDoor, which: unlocks the door, plays the sound "unlock_door.snt" and removes the key item from your inventory

i also added some ""s here and there where theyre needed. true's and false's dont need "".

and i also changed some typos in your item names.



REMEMBER: you need to have a filetype for your sound which you want played.

the default filetypes of both sounds and music in amnesia is .ogg

a SOUND uses .snt files
MUSIC uses .ogg files

if you want a quick tutorial on filetypes, click the spoilerbutton below, if interested.

Spoiler below!

a .SNT file is a file which tells the script what sounds which are to be played.

example: lets say i have 6 sounds named "MYSOUND_1.ogg", "MYSOUND_2.ogg", "MYSOUND_3.ogg", "MYSOUND_4.ogg", "MYSOUND_5.ogg"
and "MYSOUND_6.ogg".

id probably want these sounds to play at random, to add some realism to the sounds (when you hit something, it doesnt make the same sound all the time, it maks a variety of sounds), so i make a .snt file for these sounds, named MYSOUND.snt

i open another .snt made already, and i copy its contents and paste it into mine. i customise the names of the sounds being played from "whatever_sounds_its_told_to_play_at_random" to "MYSOUND_1,2,3,4,5,6"

this will tell the game to play the MYSOUND sounds at random.

music doesnt need a .snt file to be played. to play music you just copy the script from the list on the wiki and type in the music name, with a .ogg filetype.


this script can be copied from my post if you wish. it should be functioning now.
Just remember what ive typed here, and i hope you'll learn from the things i have done and explained.


good luck on your story ^^



RE: Problem - Traggey - 05-08-2012

Wrong forum, I've moved this to the support section.


RE: Problem - maitalr - 05-08-2012

It doesn't make any sense! Its not working! both ways! What i'm doing WRONG?



RE: Problem - darkadders - 05-08-2012

(05-08-2012, 03:16 PM)maitalr Wrote: It doesn't make any sense! Its not working! both ways! What i'm doing WRONG?
tell me the error youre recieving when you run your map.


RE: Problem - maitalr - 05-08-2012

Everything works well. But when I try to open the door with the key, it does not open



RE: Problem - darkadders - 05-08-2012

(05-08-2012, 03:31 PM)maitalr Wrote: Everything works well. But when I try to open the door with the key, it does not open
so its still locked after you use the key on it?


RE: Problem - Datguy5 - 05-08-2012

I dont think this affects much,but change this PlaySoundAtEntity("", "unlock_door.snt", "Door_3", 0, false); to
PlaySoundAtEntity("", "unlock_door", "Door_3", 0, false);
I just removed the snt from the end.Thats how its in my script and it works fine.Can you show us the whole script(if it has something else).

Also check the names in the level editor.

(05-08-2012, 04:08 PM)DarkShadowz Wrote:
(05-08-2012, 03:31 PM)maitalr Wrote: Everything works well. But when I try to open the door with the key, it does not open
so its still locked after you use the key on it?

I think he means that when he tries to use the key on the door,it says cannot use item this way.


RE: Problem - maitalr - 05-08-2012

(05-08-2012, 04:08 PM)DarkShadowz Wrote:
(05-08-2012, 03:31 PM)maitalr Wrote: Everything works well. But when I try to open the door with the key, it does not open
so its still locked after you use the key on it?
Yes. its still locked and it say "you cannot use this item that way//.."
(05-08-2012, 04:26 PM)Datguy5 Wrote: I dont think this affects much,but change this PlaySoundAtEntity("", "unlock_door.snt", "Door_3", 0, false); to
PlaySoundAtEntity("", "unlock_door", "Door_3", 0, false);
I just removed the snt from the end.Thats how its in my script and it works fine.Can you show us the whole script(if it has something else).

Also check the names in the level editor.

(05-08-2012, 04:08 PM)DarkShadowz Wrote:
(05-08-2012, 03:31 PM)maitalr Wrote: Everything works well. But when I try to open the door with the key, it does not open
so its still locked after you use the key on it?

I think he means that when he tries to use the key on the door,it says cannot use item this way.

Tried. it didn't work. and i checked the names again.
there isn't. that's the whole script.
I have no idea what i'm doing wrong
and you all probable have no idea what i want