- Katılım
- 27 Ocak 2014
- Konular
- 3
- Mesajlar
- 94
- Online süresi
- 6d 12h
- Reaksiyon Skoru
- 13
- Altın Konu
- 0
- TM Yaşı
- 12 Yıl 4 Ay 12 Gün
- Başarım Puanı
- 88
- MmoLira
- 5,908
- DevLira
- 0
ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!
It's just for fishing and mining. How to add captcha for move and attack?
- Katılım
- 28 Tem 2016
- Konular
- 9
- Mesajlar
- 368
- Çözüm
- 1
- Online süresi
- 8d 17h
- Reaksiyon Skoru
- 69
- Altın Konu
- 0
- TM Yaşı
- 9 Yıl 10 Ay 14 Gün
- Başarım Puanı
- 98
- MmoLira
- 1,264
- DevLira
- 0
Ellerine sağlık çok güzel olmuş.
- Katılım
- 17 Nis 2013
- Konular
- 240
- Mesajlar
- 2,810
- Çözüm
- 218
- Online süresi
- 1mo 29d
- Reaksiyon Skoru
- 984
- Altın Konu
- 6
- Başarım Puanı
- 256
- MmoLira
- 11,947
- DevLira
- 83
Güncell
- Katılım
- 20 Eki 2017
- Konular
- 468
- Mesajlar
- 9,380
- Çözüm
- 271
- Online süresi
- 11mo 27d
- Reaksiyon Skoru
- 8,233
- Altın Konu
- 47
- TM Yaşı
- 8 Yıl 7 Ay 20 Gün
- Başarım Puanı
- 326
- Yaş
- 25
- MmoLira
- 97,014
- DevLira
- 242
Eline Sağlık 

- Katılım
- 21 Ara 2014
- Konular
- 10
- Mesajlar
- 73
- Reaksiyon Skoru
- 4
- Altın Konu
- 0
- TM Yaşı
- 11 Yıl 5 Ay 19 Gün
- Başarım Puanı
- 52
- MmoLira
- 74
- DevLira
- 0
![]()
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 > intro_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
////////////////////////////////////////////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 :Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
VİRUSTOTAL :Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Paylaşım için teşekkürler. Küçük bir sorunum var. Herşey sorunsuz eklendi fakat sistem nasıl başlıyor oyun da ?
Mob v.b kesiyorum, herhangi bir uyarı sormuyor.
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 7
- Görüntüleme
- 2K
- Cevaplar
- 4
- Görüntüleme
- 1K
- Cevaplar
- 1
- Görüntüleme
- 469
- Cevaplar
- 65
- Görüntüleme
- 12K
- Cevaplar
- 22
- Görüntüleme
- 6K






