{ Init[() { Level.Log("Gate1 init"); AddStaticItem(3671); AddStaticItem(179, false); Level.Log("Running Frozen Key check"); Gate = Level.GetEntity("box1"); if( Gate.saved_Gate = 0 ) { key = GetPlayer().FindInventory("frozen_key"); if(key != null) { Level.Log("Key found in Player's inventory, option to use key given"); AddMenuItem(3955, "Open1"); } } else { Level.Log("Key is used on control panel, Player has option to remove key"); AddMenuItem(3956, "Open2"); } Level.Log("Player has option to leave menu"); AddMenuItem(386, "Quit"); }] Open1[() { Level.Log("Player has decided to use key, deleting key from inventory"); Level.GetEntity("box1").OnReallyUsed1(); Level.GetEntity("box1").MirrorMethod("OnReallyUsed1"); }] Open2[() { Level.Log("Player has decided to retrieve key, adding key to inventory"); Level.GetEntity("box1").OnReallyUsed2(); Level.GetEntity("box1").MirrorMethod("OnReallyUsed2"); }] }