- Katılım
- 6 Kas 2021
- Mesajlar
- 2,868
- Tepkime puanı
- 4,320
- Puanları
- 113
- Yaş
- 31
- Konum
- Türkiye
- Dc
- fatihbulut
UserInterface/PythonApplication.cpp
İlgili kısmı bulun ve altına şu kodu ekleyin:
Daha sonra CMSWindow::Create(...) altına şu satırları ekleyin:
root/prototype.py
Arat:
Değiştir:
Patch dosyasını indirirken patcher’da doğrulama yapın:
Aksi takdirde "USE_PATCHER" hatası alınır.
İlgili kısmı bulun ve altına şu kodu ekleyin:
C++:
#include <fstream>
#include <ctime>
bool IsClientNameValid()
{
char szAppPath[MAX_PATH] = "";
std::string strAppName;
if (GetModuleFileNameA(NULL, szAppPath, MAX_PATH) == 0)
return false;
strAppName = szAppPath;
size_t pos = strAppName.find_last_of("\\/");
if (pos != std::string::npos)
strAppName = strAppName.substr(pos + 1);
std::transform(strAppName.begin(), strAppName.end(), strAppName.begin(), ::tolower);
return strAppName == "metin2client.bin";
}
void LogInvalidClientStart()
{
std::ofstream logFile("client_protect.log", std::ios::app);
if (!logFile)
return;
std::time_t t = std::time(nullptr);
char timeBuf[64];
std::strftime(timeBuf, sizeof(timeBuf), "%Y-%m-%d %H:%M:%S", std::localtime(&t));
logFile << "[" << timeBuf << "] UYARI: Client hatalı isimle çalıştırıldı.\n";
}
C++:
if (!IsClientNameValid()) {
LogInvalidClientStart();
SET_EXCEPTION(USE_PATCHER);
return false;
}
Arat:
C++:
elif "USE_PATCHER" == msg:
dbg.LogBox("Oyun dosyası hatalı!\r\nLütfen Patcher.exe'yi çalıştırarak oyunu başlatın.")
C++:
elif "USE_PATCHER" == msg:
dbg.LogBox("Client yanlış isimle çalıştırıldı!\r\nLütfen sadece 'Patcher.exe' aracılığıyla oyunu başlatın.\n\n"
"Bu güvenlik önlemi, oyun bütünlüğünü korumak için uygulanmıştır.\n"
"Güncelleme yapmayı unutmayın.")
C++:
// patcher.c
ShellExecute(NULL, "open", "metin2client.bin", NULL, NULL, SW_SHOW);