public Int32 ScriptMain([In] object[] ScriptParameters, [In] Int32 DefaultReturnCode) { int Value = (int)ScriptParameters[0]; // ScriptParameterTypes[0] is typeof(int) switch ((Commands)Value) { case Commands.INITIALIZE_ARCHIVES: Archivist worker = new Archivist(); if (ArchivesInstance != null) { break; } ArchivesInstance = new Archives(worker); ALFA.Shared.Modules.InfoStore = ArchivesInstance; worker.DoWork += worker.InitializeArchives; worker.RunWorkerAsync(); Monks.LoadAreas(this); ShowLoadingProgressDebugString(); break; case Commands.PRINT_DEBUG: SendMessageToAllDMs("Running ACR_Candlekeep"); SendMessageToAllDMs(Archivist.debug); break; case Commands.LIST_AREAS: foreach (ALFA.Shared.ActiveArea area in ALFA.Shared.Modules.InfoStore.ActiveAreas.Values) { SendMessageToAllDMs(area.Name); foreach (ALFA.Shared.ActiveArea areaTarget in area.ExitTransitions.Values) { SendMessageToAllDMs(String.Format(" - {0}", areaTarget.Name)); } } break; case Commands.LIST_SPELLS: foreach (ALFA.Shared.SpellCastItemProperties ip in ALFA.Shared.Modules.InfoStore.IPCastSpells) { SendMessageToAllDMs(ip.ToString()); } break; case Commands.LIST_BASE_ITEMS: foreach (ALFA.Shared.BaseItem item in ALFA.Shared.Modules.InfoStore.BaseItems) { SendMessageToAllDMs(item.ToString()); } break; } return(0); }