Keys & Doors - 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: Keys & Doors (/thread-18483.html) |
Keys & Doors - Sinth - 09-24-2012 I'm fairly certain this topic has been discussed very often but I've searched through the recent threads involving this issue and I still haven't found a solution to my problem. Here's the scripts: EXTRA_ENGLISH.LANG: <LANGUAGE> <RESOURCES> </RESOURCES> <CATEGORY Name="Absinthe Dreams"> <Entry Name="Description">This is just a test. Enjoy.</Entry> </CATEGORY> <CATEGORY Name="Inventory"> <Entry Name="ItemName_salvationkey">Key of Salvation</Entry> <Entry Name="ItemDesc_salvationkey">A Key to your Salvation.</Entry> </CATEGORY> </LANGUAGE> TEST1.HPS FILE: //////////////////////////// // Run first time starting map void OnStart() { AddUseItemCallback("", "key_1", "LockedDoor1", "UsedKeyOnDoor", true); } void UsedKeyOnDoor(string &in asItem, string &in asEntity) { SetSwingDoorLocked("LockedDoor1", false, true); PlaySoundAtEntity("", "unlock_door", "LockedDoor1", 0.0f, false); RemoveItem("key_1"); } //////////////////////////// // Run when leaving map void OnLeave() { } ------------------ The Key's name is "key_1", with the custom key name being "salvationkey". The Door's name is "LockedDoor1", and has the "Locked" box checked. When I pick up the key, the name and the description works fine. But the key doesn't work on the door. I just get the "The item cannot be used this way!" message. I've been fiddling with this for hours trying to get it to work but to no avail. I've watched probably 5 video tutorials and I'm starting to feel like an idiot. :\ Anyone know what the problem could be? Is it my scripting? It's my first map and my first script, so be gentle! ;u; Thanks! RE: Keys & Doors - KH55 - 09-24-2012 AddEntityCollideCallback("key_1", "LockedDoor1", "UsedKeyOnDoor", true, 1); void UsedKeyOnDoor(string &in asParent, string &in asChild, int alState) { SetSwingDoorLocked("LockedDoor1", false, true); PlaySoundAtEntity("doorunlock", "unlock_door.snt", "LockedDoor1", 0.0f, false); RemoveItem("key_1"); } This should work, I think. RE: Keys & Doors - Sinth - 09-24-2012 (09-24-2012, 08:53 AM)KH55 Wrote: AddEntityCollideCallback("key_1", "LockedDoor1", "UsedKeyOnDoor", true, 1);That didn't seem to work. :C RE: Keys & Doors - i3670 - 09-24-2012 you're using the wrong callback it should be AddUseItemCallback(string& asName, string& asItem, string& asEntity, string& asFunction, bool abAutoDestroy); asName - internal name asItem - internal name of the item asEntity - entity to be able to use the item on asFunction - function to call abAutoDestroy - determines whether the item is destroyed when used void MyFunc(string &in asItem, string &in asEntity) RE: Keys & Doors - The chaser - 09-24-2012 //////////////////////////// // Run first time starting map void OnStart() { AddUseItemCallback("", "key_1", "LockedDoor1", "UsedKeyOnDoor", true); } void UsedKeyOnDoor(string &in asItem, string &in asEntity) { SetSwingDoorLocked("asEntity", false, true); PlaySoundAtEntity("", "unlock_door", "LockedDoor1", 0.0f, false); RemoveItem("asItem"); } //////////////////////////// // Run when leaving map void OnLeave() { } Maybe this works. RE: Keys & Doors - FlawlessHappiness - 09-24-2012 Maybe you should see this. You might understand the callbacks then, if it isn't too confusing: http://www.frictionalgames.com/forum/thread-18368.html Because it is: (string &in asItem, string &in asEntity) |