NWScript:
void main()
{
object oClicker = GetClickingObject();
object oTarget = GetTransitionTarget(OBJECT_SELF);
location lLoc = GetLocation(oTarget);
string sKey = "ParrotKey";
object firstItemInInv;
object currentItemInInv;
firstItemInInv = GetFirstItemInInventory(oClicker);
currentItemInInv = firstItemInInv;
SetLocalInt(OBJECT_SELF, "KEY_CHECK", FALSE);
if(currentItemInInv != OBJECT_INVALID)
{
do
{
string sItem = GetTag(currentItemInInv);
string s1 = GetStringLeft(sItem, 9);
if(s1 == sKey)
{
SetLocalInt(OBJECT_SELF, "KEY_CHECK", TRUE);
}
currentItemInInv = GetNextItemInInventory(oClicker);
}while(currentItemInInv != OBJECT_INVALID &&
currentItemInInv != firstItemInInv);
}
if (GetLocalInt(OBJECT_SELF, "KEY_CHECK") == 1)
{
AssignCommand(oClicker,JumpToLocation(lLoc));
}
else
{
SpeakString( "You need to have a room key to access this area.");
}
}