BadCoverMan
Junior Member
Posts: 27
Threads: 7
Joined: Feb 2012
Reputation:
0
Multiple Keys
Hello, I had just one key and everything was fine. Then when I tried to have a second key and second locked door, neither of them worked anymore. Here's the script. Any help would be much appreciated. I'm very new to scripting as well so I apologize if it's a really stupid mistake.
Spoiler below!
////////////////////////////
// Run when entering map
void OnEnter()
{
AddUseItemCallback("", "LockedDoorKey1", "LockedDoor_1", "UsedLockedDoorKey1", true);
}
void UsedLockedDoorKey1(string &in asItem, string &in asEntity)
{
AddUseItemCallback("", "SecondFloorKey", "LockedDoor_2", "UsedSecondFloorKey", true);
}
void UsedSecondFloorKey(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("LockedDoor_1", false, true);
PlaySoundAtEntity("", "unlock_door", "LockedDoor_1", 0, false);
RemoveItem("LockedDoorKey1");
SetSwingDoorLocked("LockedDoor_2", false, true);
PlaySoundAtEntity("", "unlock_door", "LockedDoor_2", 0, false);
RemoveItem("SecondFloorKey");
}
02-21-2012, 07:24 PM
BallisticDK
Junior Member
Posts: 5
Threads: 2
Joined: Feb 2012
Reputation:
0
RE: Multiple Keys
it needs to be like this
////////////////////////////
// Run when entering map
void OnEnter()
{
AddUseItemCallback("", "LockedDoorKey1", "LockedDoor_1", "UsedLockedDoorKey1", true);
AddUseItemCallback("", "LockedDoorKey2", "LockedDoor_2", "UsedLockedDoorKey2", true);
}
void UsedLockedDoorKey1(string &in asItem, string &in asEntity)
{
AddUseItemCallback("", "SecondFloorKey", "LockedDoor_2", "UsedSecondFloorKey", true);
}
void UsedSecondFloorKey1(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("LockedDoor_1", false, true);
PlaySoundAtEntity("", "unlock_door", "LockedDoor_1", 0, false);
RemoveItem("LockedDoorKey1");
}
void UsedSecondFloorKey2(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("LockedDoor_2", false, true);
PlaySoundAtEntity("", "unlock_door", "LockedDoor_2", 0, false);
RemoveItem("SecondFloorKey");
}
1 AddUseItemCallback per door. i made that fail to, im also new to Scripting, <for Hardcore Scripters. do not flame me if there is an easyer way, im just saying how i do it >
(This post was last modified: 02-21-2012, 08:16 PM by BallisticDK .)
02-21-2012, 08:10 PM
BadCoverMan
Junior Member
Posts: 27
Threads: 7
Joined: Feb 2012
Reputation:
0
RE: Multiple Keys
(02-21-2012, 08:10 PM) BallisticDK Wrote: it needs to be like this
Spoiler below!
////////////////////////////
// Run when entering map
void OnEnter()
{
AddUseItemCallback("", "LockedDoorKey1", "LockedDoor_1", "UsedLockedDoorKey1", true);
AddUseItemCallback("", "LockedDoorKey2", "LockedDoor_2", "UsedLockedDoorKey2", true);
}
void UsedLockedDoorKey1(string &in asItem, string &in asEntity)
{
AddUseItemCallback("", "SecondFloorKey", "LockedDoor_2", "UsedSecondFloorKey", true);
}
void UsedSecondFloorKey1(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("LockedDoor_1", false, true);
PlaySoundAtEntity("", "unlock_door", "LockedDoor_1", 0, false);
RemoveItem("LockedDoorKey1");
}
void UsedSecondFloorKey2(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("LockedDoor_2", false, true);
PlaySoundAtEntity("", "unlock_door", "LockedDoor_2", 0, false);
RemoveItem("SecondFloorKey");
}
1 AddUseItemCallback per door. i made that fail to, im also new to Scripting, <for Hardcore Scripters. do not flame me if there is an easyer way, im just saying how i do it >It didn't work.
02-21-2012, 08:19 PM
Ninami
Member
Posts: 59
Threads: 6
Joined: Feb 2012
Reputation:
2
RE: Multiple Keys
////////////////////////////
// Run when entering map
void OnEnter()
{
AddUseItemCallback("", "LockedDoorKey1", "LockedDoor_1", "UsedLockedDoorKey1", true);
AddUseItemCallback("", "SecondFloorKey", "LockedDoor_2", "UsedSecondFloorKey", true);
}
void UsedLockedDoorKey1(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("LockedDoor_1", false, true);
PlaySoundAtEntity("", "unlock_door.snt", "LockedDoor_1", 0, false);
RemoveItem("LockedDoorKey1");
}
void UsedSecondFloorKey(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("LockedDoor_2", false, true);
PlaySoundAtEntity("", "unlock_door.snt", "LockedDoor_2", 0, false);
RemoveItem("SecondFloorKey");
}
Try this
(This post was last modified: 02-21-2012, 08:28 PM by Ninami .)
02-21-2012, 08:27 PM
BadCoverMan
Junior Member
Posts: 27
Threads: 7
Joined: Feb 2012
Reputation:
0
RE: Multiple Keys
(02-21-2012, 08:27 PM) Ninami Wrote: ////////////////////////////
// Run when entering map
void OnEnter()
{
AddUseItemCallback("", "LockedDoorKey1", "LockedDoor_1", "UsedLockedDoorKey1", true);
AddUseItemCallback("", "SecondFloorKey", "LockedDoor_2", "UsedSecondFloorKey", true);
}
void UsedLockedDoorKey1(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("LockedDoor_1", false, true);
PlaySoundAtEntity("", "unlock_door.snt", "LockedDoor_1", 0, false);
RemoveItem("LockedDoorKey1");
}
void UsedSecondFloorKey(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("LockedDoor_2", false, true);
PlaySoundAtEntity("", "unlock_door.snt", "LockedDoor_2", 0, false);
RemoveItem("SecondFloorKey");
}
Try thisThank you very much. Worked perfectly.
02-21-2012, 08:36 PM
Ninami
Member
Posts: 59
Threads: 6
Joined: Feb 2012
Reputation:
2
RE: Multiple Keys
No problem!
Just remember to have all the "AddUseItemCallback" functions in the "void OnEnter" and have one for each door.
And also I changed the sound, you need to have "unlock_door.snt " with the ".snt" for it to work.
02-21-2012, 08:40 PM