HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!
Teşekkürler.
![]()
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 :Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
VİRUSTOTAL :Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Ekliyenlerin Kanıtları ;
sistem ismailin sistemi ama
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Tab ayarı yokmu bunların
BU ŞEKİLDE YAPTIM
if ve class olanların yerini oynatsamda sorun aynı
Edit: if Ahmet kısmını kaldır client açılıyor
Kod:
0113 20:48:00622 :: Traceback (most recent call last):
0113 20:48:00622 :: File "introLogo.py", line 60, in OnUpdate
0113 20:48:00622 :: File "networkModule.py", line 177, in SetLoginPhase
0113 20:48:00622 :: File "system.py", line 130, in __pack_import
0113 20:48:00622 :: File "system.py", line 110, in _process_result
0113 20:48:00622 :: File "introLogin.py", line 14, in <module>
0113 20:48:00623 :: File "system.py", line 130, in __pack_import
0113 20:48:00623 :: File "
0113 20:48:00623 :: uiCommon.py
0113 20:48:00623 :: ", line
0113 20:48:00623 :: 334
0113 20:48:00623 ::
0113 20:48:00623 ::
0113 20:48:00623 :: class CaptchaEkran(QuestionDialog2):
0113 20:48:00623 ::
0113 20:48:00623 :: ^
0113 20:48:00623 :: IndentationError
0113 20:48:00623 :: :
0113 20:48:00623 :: expected an indented block
0113 20:48:00623 ::
BU ŞEKİLDE YAPTIM
Kod:
class QuestionDialogWithTimeLimit(QuestionDialog2):
def __init__(self):
ui.ScriptWindow.__init__(self)
self.__CreateDialog()
self.endTime = 0
def __del__(self):
QuestionDialog2.__del__(self)
def __CreateDialog(self):
pyScrLoader = ui.PythonScriptLoader()
pyScrLoader.LoadScriptFile(self, "uiscript/questiondialog2.py")
self.board = self.GetChild("board")
self.textLine1 = self.GetChild("message1")
self.textLine2 = self.GetChild("message2")
self.acceptButton = self.GetChild("accept")
self.cancelButton = self.GetChild("cancel")
def Open(self, msg, timeout):
self.SetCenterPosition()
self.SetTop()
self.Show()
self.SetText1(msg)
self.endTime = app.GetTime() + timeout
def OnUpdate(self):
leftTime = max(0, self.endTime - app.GetTime())
self.SetText2(localeInfo.UI_LEFT_TIME % (leftTime))
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()
if ve class olanların yerini oynatsamda sorun aynı
Edit: if Ahmet kısmını kaldır client açılıyor
Son düzenleme:
Attığın blokta 35. Satırda tab hatası var.Tab ayarı yokmu bunların
Kod:0113 20:48:00622 :: Traceback (most recent call last): 0113 20:48:00622 :: File "introLogo.py", line 60, in OnUpdate 0113 20:48:00622 :: File "networkModule.py", line 177, in SetLoginPhase 0113 20:48:00622 :: File "system.py", line 130, in __pack_import 0113 20:48:00622 :: File "system.py", line 110, in _process_result 0113 20:48:00622 :: File "introLogin.py", line 14, in <module> 0113 20:48:00623 :: File "system.py", line 130, in __pack_import 0113 20:48:00623 :: File " 0113 20:48:00623 :: uiCommon.py 0113 20:48:00623 :: ", line 0113 20:48:00623 :: 334 0113 20:48:00623 :: 0113 20:48:00623 :: 0113 20:48:00623 :: class CaptchaEkran(QuestionDialog2): 0113 20:48:00623 :: 0113 20:48:00623 :: ^ 0113 20:48:00623 :: IndentationError 0113 20:48:00623 :: : 0113 20:48:00623 :: expected an indented block 0113 20:48:00623 ::
BU ŞEKİLDE YAPTIM
Kod:class QuestionDialogWithTimeLimit(QuestionDialog2): def __init__(self): ui.ScriptWindow.__init__(self) self.__CreateDialog() self.endTime = 0 def __del__(self): QuestionDialog2.__del__(self) def __CreateDialog(self): pyScrLoader = ui.PythonScriptLoader() pyScrLoader.LoadScriptFile(self, "uiscript/questiondialog2.py") self.board = self.GetChild("board") self.textLine1 = self.GetChild("message1") self.textLine2 = self.GetChild("message2") self.acceptButton = self.GetChild("accept") self.cancelButton = self.GetChild("cancel") def Open(self, msg, timeout): self.SetCenterPosition() self.SetTop() self.Show() self.SetText1(msg) self.endTime = app.GetTime() + timeout def OnUpdate(self): leftTime = max(0, self.endTime - app.GetTime()) self.SetText2(localeInfo.UI_LEFT_TIME % (leftTime)) 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()
if ve class olanların yerini oynatsamda sorun aynı
Aynen tab hatası var fakat, benim fileste classlar satırın en bayınde üstüne if app.Ahmet koyunca açmıyor o kodda lazım yani boşa koymamış adam nasıl cözeceğimAttığın blokta 35. Satırda tab hatası var.
Ş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
- 473
- Cevaplar
- 65
- Görüntüleme
- 12K
- Cevaplar
- 22
- Görüntüleme
- 6K
