Example #1
0
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);
	}
Example #3
0
//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;        
}
Example #4
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;
}