Jump to content

Traceur3RUN

Inactive Member
  • Posts

    408
  • Joined

  • Last visited

  • Days Won

    1
  • Feedback

    0%

Posts posted by Traceur3RUN

  1. Hello, how i can remove index from pack. and move it to c++

    like:

    Index = {
    PACK
    *
    patch1
    *
    metin2_patch_dss_box
    pack/
    metin2_patch_costume_soccer
    pack/
    metin2_patch_easter1
    pack/
    season3_eu
    pack/
    metin2_patch_mineral
    pack/
    metin2_patch_w20_sound
    pack/
    metin2_patch_ds
    pack/
    metin2_patch_5th_armor
    pack/
    metin2_patch_w20_etc
    pack/
    }

     

    there is function from Initialization:

    bool PackInitialize(const char * c_pszFolder)
    {
    	NANOBEGIN
    	if (_access(c_pszFolder, 0) != 0)
    		return true;
    
    	std::string stFolder(c_pszFolder);
    	stFolder += "/";
    
    	std::string stFileName(stFolder);
    	stFileName += "Index";
    
    	CMappedFile file;
    	LPCVOID pvData;
    
    	if (!file.Create(stFileName.c_str(), &pvData, 0, 0))
    	{
    		LogBoxf("FATAL ERROR! File not exist: %s", stFileName.c_str());
    		TraceError("FATAL ERROR! File not exist: %s", stFileName.c_str());
    		return true;
    	}
    
    	CMemoryTextFileLoader TextLoader;
    	TextLoader.Bind(file.Size(), pvData);
    
    	bool bPackFirst = TRUE;
    
    	const std::string& strPackType = TextLoader.GetLineString(0);
    
    	if (strPackType.compare("FILE") && strPackType.compare("PACK"))
    	{
    		TraceError("Pack/Index has invalid syntax. First line must be 'PACK' or 'FILE'");
    		return false;
    	}
    
    #ifdef _DISTRIBUTE
    	Tracef("알림: 팩 모드입니다.\n");
    #else
    	bPackFirst = FALSE;
    	Tracef("알림: 파일 모드입니다.\n");
    #endif
    
    	CTextFileLoader::SetCacheMode();
    #if defined(USE_RELATIVE_PATH)
    	CEterPackManager::Instance().SetRelativePathMode();
    #endif
    	CEterPackManager::Instance().SetCacheMode();
    	CEterPackManager::Instance().SetSearchMode(bPackFirst);
    
    	CSoundData::SetPackMode(); // Miles 파일 콜백을 셋팅
    
    	std::string strPackName, strTexCachePackName;
    	for (DWORD i = 1; i < TextLoader.GetLineCount() - 1; i += 2)
    	{
    		const std::string & c_rstFolder = TextLoader.GetLineString(i);
    		const std::string & c_rstName = TextLoader.GetLineString(i + 1);
    
    		strPackName = stFolder + c_rstName;
    		strTexCachePackName = strPackName + "_texcache";
    
    		CEterPackManager::Instance().RegisterPack(strPackName.c_str(), c_rstFolder.c_str());
    		CEterPackManager::Instance().RegisterPack(strTexCachePackName.c_str(), c_rstFolder.c_str());
    	}
    
    	CEterPackManager::Instance().RegisterRootPack((stFolder + std::string("root")).c_str());
    	NANOEND
    	return true;
    }

     

  2. Dnia 8.08.2018 o 13:03, meleme18 napisał:

    Why dont u make a new app that does this before u open client?

     

    Dnia 8.08.2018 o 13:24, tierrilopes napisał:

    You have the game patcher that can do that perfectly fine without the need to change binary.

    how do you mean? 

     

    like this: https://www.google.pl/search?client=opera&amp;hs=zOl&amp;biw=1280&amp;bih=914&amp;tbm=isch&amp;sa=1&amp;ei=mVJtW6PGFc7GkwXo36qgDA&amp;q=otclient+&amp;oq=otclient+&amp;gs_l=img.3..0i24k1l10.13443.13443.0.14529.1.1.0.0.0.0.149.149.0j1.1.0....0...1c.1.64.img..0.1.147....0.4tSBCVbktFA#imgrc=QhKlxKL9_hW6PM:

     

    Only when you no have selected lang.

    Later you change it in settings game option.

  3. Hello, how i can remove locale.cfg

    and something like this do

     

    //old LocaleService_LoadConfig("locale.cfg");

    LocaleService_LoadConfig("1012 0 pl"); //new

     

    void LocaleService_LoadConfig(const char* fileName)
    {
    	NANOBEGIN
    	FILE* fp = fopen(fileName, "rt");
    
    	if (fp)
    	{		
    		char	line[256];			
    		char	name[256];
    		int		code;
    		int		id;
    		if (fgets(line, sizeof(line)-1, fp))
    		{
    			line[sizeof(line)-1] = '\0';
    			sscanf(line, "%d %d %s", &id, &code, name);
    
    			MULTI_LOCALE_REPORT_PORT		= id;
    			MULTI_LOCALE_CODE				= code;
    			strcpy(MULTI_LOCALE_NAME, name);
    			sprintf(MULTI_LOCALE_PATH, "locale/%s", MULTI_LOCALE_NAME);
    		}			
    		fclose(fp);
    	}
    	NANOEND
    }

     

  4. 18 minut temu, tierrilopes napisał:

    If version from game and client is different, the outdated client message triggers.

    So...you need to have them equal, for example both as: 123450

    oh, i found my mistake. now works. but one message how to add std.count each second ? like when you logout 9..8...7...6..5.4..3..2..1

  5. if(version != date)

     

    it stupid idiot fix because how to connect to game with this?

    just edit binary to again timestamp and thats all.

     

    and you also need change in client binary to work it right? because i do and nothing happen

×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.