Frictional Games Forum (read-only)
about scripting - 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: about scripting (/thread-16001.html)



about scripting - mccrazy5 - 06-09-2012

Hello guys , i am trying to script a key to open a door.
I have looked for some tutorials and i found some.
But when i tried them, It didnt work for me.
This is what i did:
I have made a small room with a door and a key .
I have locked the door and named it "mansion_1".
I made a key and on name i called it "key_1" and in the entity i have called it "key1"
After that i have created this script.
And when i run this on game, the game crash.
////////////////////////////
// Run first time starting map
void OnStart()
{
AddUseItemCallback("", "key1", "mansion_1", "KeyOnDoor", true);
}

void KeyOnDoor(string &in asItem, string &in asEntity)

{
SetSwingDoorLocked(asEntity, false, true);
PlaySoundAtEntity("", "unlock_door", mansion_1, 0, false);
RemoveItem(asItem);
}


////////////////////////////
// Run when entering map
void OnEnter()
{

}

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

}

Any idea why its not working ?


RE: about scripting - Putmalk - 06-09-2012

PlaySoundAtEntity("", "unlock_door", mansion_1, 0, false);

Should be quotations around mansion_1


RE: about scripting - mccrazy5 - 06-09-2012

Alright, i added quotations to mansion1 . now the game dont crash but the key doesnt open the door.
hmm ?


RE: about scripting - Science - 06-09-2012

SetSwingDoorLocked(asEntity, false, true);


RemoveItem(asItem);

Declare these first.


RE: about scripting - Putmalk - 06-09-2012

(06-09-2012, 06:44 PM)Science Wrote: SetSwingDoorLocked(asEntity, false, true);


RemoveItem(asItem);

Declare these first.
They're already declared.

Double check your naming and removing all cache files for your map.

Other than that, I'll inspect closely later.

Quote:Alright, i added quotations to mansion1 . now the game dont crash but the key doesnt open the door.
hmm ?

Be more specific. Is it saying "Cannot use item in this way!" or just fails to open it?


RE: about scripting - mccrazy5 - 06-09-2012

(06-09-2012, 06:54 PM)Putmalk Wrote:
(06-09-2012, 06:44 PM)Science Wrote: SetSwingDoorLocked(asEntity, false, true);


RemoveItem(asItem);

Declare these first.
They're already declared.

Double check your naming and removing all cache files for your map.

Other than that, I'll inspect closely later.

Quote:Alright, i added quotations to mansion1 . now the game dont crash but the key doesnt open the door.
hmm ?

Be more specific. Is it saying "Cannot use item in this way!" or just fails to open it?
Alright i removed the cache file from my map, and ii tried again.
it says "Cannot use item in this way!"

and i checked the names everything is match.

Edit: alright i found the problem ... in the script i used the name that i typed the key on the entity.. but i had to type in the script the name i just called it on general.. thanks guys for your help i fixed it Smile