• Serverınızın epinlerini tamamen Turkmmo güvencesiyle satın. Kredi kartı, mobil ödeme, havale/eft ve uygun komisyon oranıyla. Hemen mağaza başvurunuzu yapın. Oyunalisveris.com





Sitemize reklam vermek için [email protected] adresine mail atabilirsiniz
For Advertising Contact [email protected]


(C++ , Python) Bot Kontrol Sistemi | bykatil199

5.00 yıldız(lar) 3 Oy

bykatil199

www.bykatil199.com
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye
Site Yetkilisi
Süper Moderatör
Katılım
17 Nis 2013
Konular
165
Mesajlar
2,148
Reaksiyon Skoru
515
Online Süresi
72d 16h 50m
Başarım Puanı
197
MmoLira
1,984
DevLira
85
En İyi Cevap Puanı
17

Uygulamayı İndir! Ücretsiz Netflix, Blu Tv, Spotify veya Google Play Bakiyesi Kazan! ÜCRETSİZ İNDİRMEK İÇİN TIKLAYIN!





Merhaba Bugun Size Sorunları vs Düzeltiğim Bot Kontrol Sistemini Paylaşmakla Gurur Duyarım.

NOT : Sistem ThePricenin Sistemi , Lakin Sistemde 1 kaç ufak değiştirme yaptım sistem belli olması için ifdef olayı yaptım.

Öncelikle Sistem Görüntüsü Buyurun Video ;




Öncelikle (Game Sourceden Başlıyalım)

GameSource > common > servise.h AÇılır Eklenir ;

C++:
#define AHMET_BOT_KONTROL_SYSTEM
Game Source > char.cpp AÇılır ;

*** Aratılır ***

C++:
    if (!pick || pick->GetType() != ITEM_PICK)
    {
        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("°î±ªÀ̸¦ ÀåÂøÇϼ¼¿ä."));
        return;
    }
***Altına Eklenir ***

C++:
#ifdef AHMET_BOT_KONTROL_SYSTEM
    if(get_global_time() > int(GetQuestFlag("captcha.sure")))
    {       
        int sans;
        if (GetLevel() >= 75 && GetLevel() < 90)
        {
            sans = number(1, 2);
        }
        else
        {
            sans = number(1, 2);
        }
        if(int(GetQuestFlag("captcha.durum")) == 0)
        {
            SetQuestFlag("captcha.durum", 1);
            SetQuestFlag("captcha.sure", get_global_time() + (60*sans));
            int sayi1 = number(1,9);
            int sayi2 = number(1,9);
            int sayi3 = number(1,9);
            int sayi4 = number(1,9);
            int sayi5 = number(1,9);
            long yenicaptcha = (sayi1*10000)+(sayi2*1000)+(sayi3*100)+(sayi4*10)+sayi5;
            ChatPacket(CHAT_TYPE_COMMAND, "captcha %d %d %d %d %d", sayi1, sayi2, sayi3, sayi4, sayi5);
            SetCaptcha(yenicaptcha);
            return;
        }
    }
    if(int(GetQuestFlag("captcha.durum")) == 1)
    {
        return;
    }
#endif

*** Aratılır ***

void CHARACTER::fishing() kod satırında if (m_pkFishingEvent) var bu kod satırının;

***Altına Eklenir ***

C++:
#ifdef AHMET_BOT_KONTROL_SYSTEM
    if(get_global_time() > int(GetQuestFlag("captcha.sure")))
    {       
        int sans;
        if (GetLevel() >= 75 && GetLevel() < 90)
        {
            sans = number(1, 2);
        }
        else
        {
            sans = number(1, 2);
        }
        if(int(GetQuestFlag("captcha.durum")) == 0)
        {
            SetQuestFlag("captcha.durum", 1);
            SetQuestFlag("captcha.sure", get_global_time() + (60*sans));
            int sayi1 = number(1,9);
            int sayi2 = number(1,9);
            int sayi3 = number(1,9);
            int sayi4 = number(1,9);
            int sayi5 = number(1,9);
            long yenicaptcha = (sayi1*10000)+(sayi2*1000)+(sayi3*100)+(sayi4*10)+sayi5;
            ChatPacket(CHAT_TYPE_COMMAND, "captcha %d %d %d %d %d", sayi1, sayi2, sayi3, sayi4, sayi5);
            SetCaptcha(yenicaptcha);
            return;
        }
    }
    if(int(GetQuestFlag("captcha.durum")) == 1)
    {
        return;
    }
#endif
*** Game Source > char.h AÇılır ; ***

***
Aratılır ***

C++:
bool            IsBlockMode(BYTE bFlag) const    { return (m_pointsInstant.bBlockMode & bFlag)?true:false; }
*** Altına Eklenir ***

C++:
#ifdef AHMET_BOT_KONTROL_SYSTEM
        long            m_captcha;
        void            SetCaptcha(long captcha)        { m_captcha = captcha; }
        long            GetCaptcha() const        { return m_captcha; }
#endif
***Game Source > cmd.cpp ***

***
Herhangi Biyere Eklenir ***

C++:
#ifdef AHMET_BOT_KONTROL_SYSTEM
    ACMD(do_captcha);
#endif
***Aratılır ***

C++:
{ "pvp",        do_pvp,            0,            POS_DEAD,    GM_PLAYER    },
*** Üstüne Eklenir ***

C++:
#ifdef AHMET_BOT_KONTROL_SYSTEM
    { "captcha",    do_captcha,    0,    POS_DEAD,    GM_PLAYER    },
#endif
***Game Source > cmd_general.cpp > En Altına Eklenir ***

C++:
#ifdef AHMET_BOT_KONTROL_SYSTEM
ACMD(do_captcha)
{

    char arg1[256];
    long gelensifre;
    one_argument(argument, arg1, sizeof(arg1));

    if (!*arg1)
        return;

    str_to_number(gelensifre, arg1);

    if( gelensifre == 0 || gelensifre == NULL)
    {

        ch->GetDesc()->DelayedDisconnect(7);
        ch->ChatPacket(CHAT_TYPE_BIG_NOTICE, LC_TEXT("%s_bykatil199_captcha_hata"), ch->GetName());
        return;
    }

    long captcham = ch->GetCaptcha();

    if (captcham == gelensifre)
    {
        ch->ChatPacket(CHAT_TYPE_BIG_NOTICE, LC_TEXT("%s_bykatil199_captcha_dogru"), ch->GetName());
        int sans;
        if (ch->GetLevel() >= 75 && ch->GetLevel() < 90)
        {
            sans = number(45, 60);
        }
        else
        {
            sans = number(5, 30);
        }

        ch->SetQuestFlag("captcha.durum", 0);
        ch->SetQuestFlag("captcha.sure", get_global_time() + (300*sans));
    }
    else
    {
        ch->ChatPacket(CHAT_TYPE_BIG_NOTICE, LC_TEXT("%s_bykatil199_captcha_yanlis"), ch->GetName());
        int sayi1 = number(1,9);
        int sayi2 = number(1,9);
        int sayi3 = number(1,9);
        int sayi4 = number(1,9);
        int sayi5 = number(1,9);
        long yenicaptcha = (sayi1*10000)+(sayi2*1000)+(sayi3*100)+(sayi4*10)+sayi5;
        ch->ChatPacket(CHAT_TYPE_COMMAND, "captcha %d %d %d %d %d", sayi1, sayi2, sayi3, sayi4, sayi5);
        ch->SetCaptcha(yenicaptcha);

    }
    return;
}
#endif

***Game Source >input_login.cpp > Fonksiyon Aratılır : void CInputLogin::Entergame(LPDESC d, const char * data) / Altında ***

if (ch->GetHorseLevel() > 0)
{
ch->EnterHorse();
}

*** Altına Eklenir ***

C++:
#ifdef AHMET_BOT_KONTROL_SYSTEM
    int durum = ch->GetQuestFlag("captcha.durum");
    if (durum == 1)
    {
        int sayi1 = number(1,9);
        int sayi2 = number(1,9);
        int sayi3 = number(1,9);
        int sayi4 = number(1,9);
        int sayi5 = number(1,9);
        long yenicaptcha = (sayi1*10000)+(sayi2*1000)+(sayi3*100)+(sayi4*10)+sayi5;
        ch->ChatPacket(CHAT_TYPE_COMMAND, "captcha %d %d %d %d %d", sayi1, sayi2, sayi3, sayi4, sayi5);
        ch->SetCaptcha(yenicaptcha);
    }
#endif

* game source > char_battle.cpp açılır ****

*Aratılır *

C++:
bool CHARACTER::Damage(LPCHARACTER pAttacker, int dam, EDamageType type)
if (DAMAGE_TYPE_MAGIC == type) üstüne eklenir ;

** üstüne eklenir **

C++:
#ifdef AHMET_BOT_KONTROL_SYSTEM
    if (pAttacker && this)
    {
        if(!IsPC())
        {
            if(get_global_time() > int(pAttacker->GetQuestFlag("captcha.sure")))
            {
                             
                int sans;
                if (pAttacker->GetLevel() >= 75 && pAttacker->GetLevel() < 90)
                {
                    sans = number(60, 600);
                }
                else
                {
                    sans = number(60, 600);
                }
             
                if(int(pAttacker->GetQuestFlag("captcha.durum")) == 0)
                {
                    pAttacker->SetQuestFlag("captcha.durum", 1);
                    pAttacker->SetQuestFlag("captcha.sure", get_global_time() + (60*sans));
                    int sayi1 = number(1,9);
                    int sayi2 = number(1,9);
                    int sayi3 = number(1,9);
                    int sayi4 = number(1,9);
                    int sayi5 = number(1,9);
                    long yenicaptcha = (sayi1*10000)+(sayi2*1000)+(sayi3*100)+(sayi4*10)+sayi5;
                    pAttacker->ChatPacket(CHAT_TYPE_COMMAND, "captcha %d %d %d %d %d", sayi1, sayi2, sayi3, sayi4, sayi5);
                    pAttacker->SetCaptcha(yenicaptcha);
                    return true;
                }
            }
            if(int(pAttacker->GetQuestFlag("captcha.durum")) == 1)
            {
                return true;
            }
        }
    }
#endif
////////////////////////////////////////////CLİENT SOURCE //////////////////////////////////////////////////


***Client Source > UserInterFace > locale_inc.h***

***
Müsait Biyere Eklenir ***

#define AHMET_BOT_KONTROL_SYSTEM

*** Client Source > UserInterface >PythonApplicationModule.cpp ***

***
Aratılır ***

PyModule_AddIntConstant(poModule, "CAMERA_STOP", CPythonApplication::CAMERA_STOP);

*** Altına Eklenir ***

#ifdef AHMET_BOT_KONTROL_SYSTEM
PyModule_AddIntConstant(poModule, "AHMET_BOT_KONTROL_SYSTEM", 1);
#else
PyModule_AddIntConstant(poModule, "AHMET_BOT_KONTROL_SYSTEM", 0);
#endif


/////////////////// ROOT AÇILIR ///////////////////

***game.py açılır aratılır ;***

self.partyInviteQuestionDialog = None


***Altına EKlenir ;***

Python:
        if app.AHMET_BOT_KONTROL_SYSTEM:
            self.captchatest = None
***aratılır ;***

self.serverCommander=stringCommander.Analyzer()

***üstüne eklenir ;***

Python:
        if app.AHMET_BOT_KONTROL_SYSTEM:
            serverCommandList.update({"captcha" : self.captchaekran })
***aratılır ;***

def BINARY_ServerCommand_Run(self, line):

***üstüne eklenir ;***

Python:
    if app.AHMET_BOT_KONTROL_SYSTEM:
        def captchaekran(self, sayi1, sayi2, sayi3, sayi4, sayi5):
            captchatest = uiCommon.CaptchaEkran()
            captchatest.SetText1("|cffffff00Bot Engel Sistemi")
            captchatest.SetText3("Oyuna devam edebilmek için üstteki kodu aşağıya yaz.")
            captchatest.SetTimeOverMsg("Soruyu zamanında cevaplamadığın için oyundan atılıyorsun.")
            captchatest.SetTimeOverEvent(self.captchacevap, "kapat")
            captchatest.SetAcceptEvent(lambda arg=True: self.captchacevap(arg))
            captchatest.SetCancelEvent(lambda arg=False: self.captchacevap(arg))
            captchatest.Open(15, sayi1, sayi2, sayi3, sayi4, sayi5)
            self.captchatest = captchatest

        def captchacevap(self, answer):

            if not self.captchatest:
                return
        
            if answer == False:
                self.captchatest.Temizle()
                # chat.AppendChat(1, "Temizledim bro.")
            elif answer == True:
                # chat.AppendChat(1, "Girilen şifre : " + str(self.captchatest.GetInput()))
                net.SendChatPacket("/captcha " + str(self.captchatest.GetInput()))
                self.captchatest.Close()
                self.captchatest = None
            else:
                net.SendChatPacket("/captcha 0")
                self.captchatest.Close()
                self.captchatest = None

***uicommon.py açılır ;***

***
aratılır ;***

class MoneyInputDialog(ui.ScriptWindow):

***üstüne eklenir ;***

Python:
if app.AHMET_BOT_KONTROL_SYSTEM:
    class CaptchaEkran(QuestionDialog2):
        def __init__(self):
            ui.ScriptWindow.__init__(self)

            self.__CreateDialog()
            self.endTime = 0
            self.timeOverMsg = 0
            self.timeOverEvent = None
            self.timeOverEventArgs = None

        def __del__(self):
            QuestionDialog2.__del__(self)

        def __CreateDialog(self):
            pyScrLoader = ui.PythonScriptLoader()
            pyScrLoader.LoadScriptFile(self, "uiscript/ahmetbotkontrol.py")

            self.board = self.GetChild("board")
            self.textLine1 = self.GetChild("message1")
            self.textLine2 = self.GetChild("message2")
            self.textLine3 = self.GetChild("message3")
            self.InputValue = self.GetChild("InputValue")
            self.cp1 = self.GetChild("cp1")
            self.cp2 = self.GetChild("cp2")
            self.cp3 = self.GetChild("cp3")
            self.cp4 = self.GetChild("cp4")
            self.cp5 = self.GetChild("cp5")
            self.acceptButton = self.GetChild("accept")
            self.cancelButton = self.GetChild("cancel")
            self.textLine3.Hide()

        def Open(self, timeout, cpp1, cpp2, cpp3, cpp4, cpp5):
            self.SetCenterPosition()
            self.SetTop()
            self.cp1.LoadImage("captcha/"+str(cpp1)+".tga")
            self.cp1.Show()
            self.cp2.LoadImage("captcha/"+str(cpp2)+".tga")
            self.cp2.Show()
            self.cp3.LoadImage("captcha/"+str(cpp3)+".tga")
            self.cp3.Show()
            self.cp4.LoadImage("captcha/"+str(cpp4)+".tga")
            self.cp4.Show()
            self.cp5.LoadImage("captcha/"+str(cpp5)+".tga")
            self.cp5.Show()
            self.Show()

            self.endTime = app.GetTime() + timeout
    

        def SetTimeOverEvent(self, event, *args):
            self.timeOverEvent = event
            self.timeOverEventArgs = args

        def SetTimeOverMsg(self, msg):
            self.timeOverMsg = msg
    
        def SetText1(self, text):
            self.textLine1.SetText(text)
            self.textLine1.Show()

        def SetText2(self, text):
            self.textLine2.SetText(text)
            self.textLine2.Show()
    
        def SetText3(self, text):
            self.textLine3.SetText(text)
            self.textLine3.Show()
    
        def GetInput(self):
            return self.InputValue.GetText()
    
        def Temizle(self):
            self.InputValue.SetText("")

        def OnTimeOver(self):
            if self.timeOverEvent:
                apply(self.timeOverEvent, self.timeOverEventArgs)
            if self.timeOverMsg:
                chat.AppendChat(chat.CHAT_TYPE_INFO, self.timeOverMsg)

        def OnUpdate(self):
            leftTime = max(0, self.endTime - app.GetTime())
            self.SetText2(localeInfo.UI_LEFT_TIME % (leftTime))
            if leftTime <= 0:
                self.OnTimeOver()
***
***
Sunucu Files AÇılır ;***

***
/usr/game/share/locale/turkey***

***
burda locale_string.txt eklenir ;***

C++:
"%s_bykatil199_captcha_hata";
"Merhaba, %s Bot Kontrol Şifre Girmediğiniz İçin Oyundan Atılıyorsunuz";

"%s_bykatil199_captcha_dogru";
"Merhaba, %s Şifre Doğru ! Bot Kontrol Sistemi Devre Dışı , İyi Oyunlar";

"%s_bykatil199_captcha_yanlis";
"Merhaba, %s Şifre Yanlış ! Lütfen Doğru Şekilde Giriniz..";


Aşşağıdaki Dosyalar Root İçine Atılır ;

ROOT :
VİRUSTOTAL :






Ekliyenlerin Kanıtları ;


Sistem Çalısmaktadır Kanıt Budur

 
Moderatör tarafında düzenlendi:

Bvural41

O Gemi Bir Gün Gelecek..!
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye
TM Üye
Katılım
31 Ocak 2014
Konular
61
Mesajlar
581
Reaksiyon Skoru
130
Başarım Puanı
137
MmoLira
155
DevLira
12
En İyi Cevap Puanı
0
Teşekkürler
 

Celeronn11

Hello System Admin
Telefon Numarası Onaylanmış Üye
Site Yetkilisi
Yönetici
Katılım
8 Eki 2017
Konular
1,143
Mesajlar
5,590
Reaksiyon Skoru
1,392
Online Süresi
110d 8h 11m
Başarım Puanı
310
MmoLira
178
DevLira
47
En İyi Cevap Puanı
8
Teşekkürler
 
Konu Sahibi
Konu Sahibi
bykatil199

bykatil199

www.bykatil199.com
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye
Site Yetkilisi
Süper Moderatör
Katılım
17 Nis 2013
Konular
165
Mesajlar
2,148
Reaksiyon Skoru
515
Online Süresi
72d 16h 50m
Başarım Puanı
197
MmoLira
1,984
DevLira
85
En İyi Cevap Puanı
17
iyi kullanmalar
 

bymech111

Level 6
TM Üye
Katılım
30 Nis 2015
Konular
807
Mesajlar
1,407
Reaksiyon Skoru
62
Online Süresi
19d 18h 26m
Başarım Puanı
162
MmoLira
131
DevLira
0
En İyi Cevap Puanı
1
Teşekkürler.
 

Şu an konuyu görüntüleyenler (Toplam : 1, Üye: 0, Misafir: 1)

Üst