bool CScriptingManager::Unload(CScript * pScript) { if(pScript) { CEvents * pEvents = CEvents::GetInstance(); pEvents->Call("scriptExit", pScript); CScriptArguments pArguments; pArguments.push(pScript->GetMetaFile().ToMetaAndFileString()); pEvents->Call("scriptUnload", &pArguments); pEvents->RemoveScript(pScript->GetVM()); #ifdef _SERVER if(g_pModuleManager) g_pModuleManager->ScriptUnload(pScript->GetVM()); #endif pScript->Unload(); m_scripts.remove(pScript); delete pScript; return true; } return false; }