Frictional Games Forum (read-only)

Full Version: {SOLVED} Script Error: Item not Declared
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I've been trying to make a custom map, test my skills a bit, learn a few new things, and maybe make a cool map. I followed a tutorial to create the actual map, and that went fine. However, after setting up the script files, when I try to start the map, I get a script error pointing to lines 12 and 14, saying that the key name is undeclared.

Here is what the script file text reads:


////////////////////////////
//Run when entering map
void OnEnter()
{
AddUseItemCallback("", "Closet_Key", "Closet_door","UsedKeyOnDoor",true);
}

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


////////////////////////////
// Run when leaving map

void OnLeave()
{

}

Also, the Extra english Language file reads the following:


<LANGUAGE>
<RESOURCES>
</RESOURCES>
<CATEGORY Name="CustomStoryMain">
<Entry Name="Description">Just a test.</Entry>
</CATEGORY>
<CATEGORY Name="Inventory">
<Entry Name="ItemDesc_Closet_Key">"This should open the closet door......what could possibly be making that noise?"</Entry>
<Entry Name="ItemName_Closet_Key">"Closet Door Key"</Entry>
</CATEGORY>
</LANGUAGE>

I've worked with Javascript before, however, I am unsure how to resolve this, and declare the method. Any suggestions would be helpful.
void OnStart()
{
}
void OnEnter()
{
AddUseItemCallback("", "Closet_Key", "Closet_door","UsedKeyOnDoor",true);
}

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


////////////////////////////
// Run when leaving map

void OnLeave()
{

}
The .lang is fine, though you've forgotten void OnStart() and putting quotes around the key name. Should work now!
(07-20-2012, 12:54 AM)JenniferOrange Wrote: [ -> ]void OnStart()
{
}
void OnEnter()
{
AddUseItemCallback("", "Closet_Key", "Closet_door","UsedKeyOnDoor",true);
}

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


////////////////////////////
// Run when leaving map

void OnLeave()
{

}
The .lang is fine, though you've forgotten void OnStart() and putting quotes around the key name. Should work now!
.... Exclamation Exclamation Exclamation I AM AN IDIOT.

Works now.