Hikayeler

Reklam vermek için turkmmo@gmail.com
Kaynak ikonu

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

indirmek için izniniz yok
logo.png


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 : TIKLA
VİRUSTOTAL : TIKLA






Ekliyenlerin Kanıtları ;

Screenshot_1.jpg


Sistem Çalısmaktadır Kanıt Budur

  • Beğeni
Reactions: ayzer2541
Yazar
bykatil199
Kaynak İndirilme
54
Görüntüleme
590
İlk yayınlama
Son Güncelleme
Değerlendirme
0.00 yıldız(lar) 0 rating

bykatil199 - Kaynakları

Geri
Üst