COD::COD() { /* Check for CoD 1.5 patch if(memcmp((void*)0x5A60D0, "1.5", 3) == 0) }*/ for(int i = 0; i < MAX_ENTITY_SIZE; i++) { this->entities[i].index = i; this->entities[i].base = g_entities + GENTITY_SIZE * i; this->entities[i].ptr = g_entities + GENTITY_SIZE * i; } version(); Cmd_AddCommand("codextended", version); Cmd_AddCommand("codversion", version); Cmd_AddCommand("help", version); Cmd_AddCommand("cracked", setCracked); InitScript(); initializeClient(); cracking_hook_call(0x465629, (int)Sys_LoadDll); if(GetModuleHandle("game_mp_x86.dll") != NULL) DLLInit(); }
void ScriptUser::ReceiveMessage(Msg& msg) { if (msg.typeID == GlobalMessageIDs::REPARSE_SCRIPTS_POST && mScriptFileName != "") { OnScriptReload(); InitScript(mScriptFileName); } else OnReceiveMessage(msg); }
//return 0 is ok , otherwise exit prcess int AgentApp::OnInit() { int ret = 0; //read config //meta //default co size //160MB - 20480 //1024 - 8M ret = CoroutineMgr::Instance().Init(1024); if(ret) { LOG_ERROR("coroutine init error !"); return -1; } LOG_INFO("coroutine init success !"); ret = meta.Init(); if(ret) { LOG_ERROR("meta init error !"); return -1; } //3rd platform service (sns,lbs) //rank //table ret = InitResTable(); if(ret) { LOG_ERROR("table res init error !"); return -1; } //script(listen msg and tick) ret = InitScript(); if(ret) { LOG_ERROR("script init error !"); return -1; } //zone mgr ret = InitZoneMgr(); if(ret) { LOG_ERROR("zone mgr init error !"); return -1; } return 0; }
long CBoxScript::Load(LPCTSTR pstrFile) { m_error.Clear(); m_strBasePath.Empty(); m_arrayIncludeFlags.RemoveAll(); m_nDiskFileCount = 0; m_nCacheFileCount = 0; m_nScriptLine = 0; CScriptHost* pNowScript = CScriptHost::GetCurrentScript(); if(pNowScript != NULL) m_strBasePath = pNowScript->m_strScriptName; CBoxPath path; if(!m_strBasePath.IsEmpty() && pstrFile[0] != _T('\\')) path.Combine(m_strBasePath.Left(m_strBasePath.ReverseFind(_T('\\')) + 1), pstrFile); else path.Combine(pstrFile); InitScript(); CStringA strScriptText; int iResult = LoadScriptFile(path.m_strPath, strScriptText); m_strBasePath.Empty(); if(iResult != 0) return iResult; if(m_nCacheFileCount) { m_bStepDebug = FALSE; m_bEnableDebug = FALSE; } m_pHost->SetFileName(path.m_strPath); if(!m_pHost->Create(m_strLanguage, m_bEnableDebug, m_bStepDebug, m_nTransaction)) { GetScriptErrorInfo(); return 500; } m_pHost->SetScriptSite(); if (m_uiCodePage) { CStringW strTempText; int _nTempCount = MultiByteToWideChar(m_uiCodePage, 0, strScriptText, strScriptText.GetLength(), NULL, 0); LPWSTR _pstr = strTempText.GetBuffer(_nTempCount); MultiByteToWideChar(m_uiCodePage, 0, strScriptText, strScriptText.GetLength(), _pstr, _nTempCount); strTempText.ReleaseBuffer(_nTempCount); if(m_pHost->Load(strTempText) != S_OK) { GetScriptErrorInfo(); return 500; } } else { if(m_pHost->Load(BOX_CA2CT(strScriptText)) != S_OK) { GetScriptErrorInfo(); return 500; } } if(AfterParse() != 0) return 500; return 0; }