C++ Metin2 Anti̇ Suspend Control

Genisys

Kara Gül
Banned
Katılım
25 May 2023
Mesajlar
5,665
Beğeniler
7,711
İletişim
Bu kullanıcıyla herhangi bir iş veya ticaret yapmak istiyorsanız, forumdan uzaklaştırıldığını sakın unutmayın.
bu kod ne işe yarar ?
Oyunda clientlerinizin askıya alınıp alınmadığını kısaca suspend edilip edilmediğini anlar
Sistem döngü içerisinde çalışır ona göre suspend süresini ve döngüyü kendinize göre ayarlayabilirsiniz

[HIDEREACT=1]

C++:
/*
    Author: Gen Ai
    Date: 21.02.2024
    Version: 21022024
*/


UserInterface/Locale_inc.h dosyasını açın ve ekleyin

#define ENABLE_SUSPEND_CONTROL
#ifdef ENABLE_SUSPEND_CONTROL
    #define SUSPEND_TİME 4000 //4 saniyeden fazla suspend edilirse uygulama kapatılır ayarlayabilirsiniz
    #define HATAMESAJI "TEST" //Hata mesajı yazdırın
    #define SERVERİSMİ "Test2" //sunucu başlığını yazdırın
#endif

UserInterface/UserInterface.cpp dosyasını açın ve boş bir yere bu kodu ekleyin

#ifdef ENABLE_SUSPEND_CONTROL
void suspend_control()
{
    Sleep(1000);
    DWORD TimeTest1 = 0, TimeTest2 = 0;
    while (true)
    {
        TimeTest1 = TimeTest2;
        TimeTest2 = GetTickCount();
        if (TimeTest1 != 0)
        {
            Sleep(1000);
            if ((TimeTest2 - TimeTest1) > SUSPEND_TİME)
            {

                MessageBoxA(NULL, HATAMESAJI, SERVERİSMİ, NULL);
                ExitProcess(0);

            }
        }

    }

    return ;
}
#endif


initServerStateChecker(); Fonksiyonunu aratın ve altına ekleyin eklemezseniz çalışmaz

#ifdef ENABLE_SUSPEND_CONTROL
    CreateThread(NULL, NULL, LPTHREAD_START_ROUTINE(suspend_control), NULL, 0, 0);
#endif


[/HIDEREACT]​
 
tam okumamıştım ne işe yaradığını sordu sandım :D

uygulamada belirli bir süre boyunca aktif olup olmadığını konutrol eder kodun amacı eğer belirli bir zaman aralığı boyunca kullanıcı etkin değilse uygulamayı kapatır enable_suspend_control etkinse belirtilen süre boyunca kullanıcı etkinliği kontrol edilir ve eğer belirli bir süre boyunca etkinlik olmazsa uygulama kapatılır suspend_time tanımı belirli bir süre boyunca etkinlik olmaması durumunda uygulamanın kapatılacağı süreyi belirtir hatamesaji ise hata durumunda kullanıcıya gösterilecek mesajı içerir serverismi ise sunucu başlığını içerir kod aynı zamanda suspend_control fonksiyonunu tanımlar bu fonksiyon belirli bir süre boyunca kullanıcı etkin olmadığında uygulamayı kapatır ayrıca initserverstatechecker fonksiyonunu da kullanıcıyı kontrol etmek için yeni bir uygulama yada servis çalıştırır arkada
 
YuriBR'nin Infestation: Survivor Stories sunucuları için yaptığı AntiPause kodu, işe yarıyor ama thread'ı da korumaya almayı unutmayın.
 

  Şuanda konuyu görüntüleyen kullanıcılar


Üst Alt