İlan
13 Haz 2026 21 çevrimiçi üye Duyurular
Ana Sayfa C++ / C# / Python
Ana Sayfa Forum C++ / C# / Python Yeni Sürümde Mobil Hedefleme Veri Sistemi: Tam Don...
İlan Yan banner placeholder

Yeni Sürümde Mobil Hedefleme Veri Sistemi: Tam Donanım Açıklama: Bu konu başlığında, mobil hedefleme verileri sisteminin yeni sürümü ile ilgili bilgilere ulaşılacağından bahsetmektedir.

Laxuzer 21.04.2026 17:34 485 görüntüleme 19 cevap
Son Mesaj
Laxuzer
Üye
Üye
Katılım15 Mar 2026
Konular7
Mesajlar57
Elmas Konular1
Başarım0
ZirveCoin 100
Ticaret Puanı
+0 -0
08.05.2026 00:25 #9
Eksik kodları ekleme yapayım

'module' object has no attribute 'MOB_RESIST_SWORD'

bu hatayı alanlar için

CLientSRC/Userinterface/PythonNonPlayerModule.cpp içinde:
//ARAT GENELDE SONLARDA OLUR

PyModule_AddIntConstant(poModule, "PAWN", NRaceData::EMobRank::MOB_RANK_PAWN);
PyModule_AddIntConstant(poModule, "S_PAWN", NRaceData::EMobRank::MOB_RANK_S_PAWN);
PyModule_AddIntConstant(poModule, "KNIGHT", NRaceData::EMobRank::MOB_RANK_KNIGHT);
PyModule_AddIntConstant(poModule, "S_KNIGHT", NRaceData::EMobRank::MOB_RANK_S_KNIGHT);
PyModule_AddIntConstant(poModule, "BOSS", NRaceData::EMobRank::MOB_RANK_BOSS);
PyModule_AddIntConstant(poModule, "KING", NRaceData::EMobRank::MOB_RANK_KING);

//EKLE

#ifde#ifde[HASH=2]#ifdef[/HASH]LE_TARGET_INFORMATION_SYSTEMPyModule_AddIntConstant(poModule, "MOB_RESIST_SWORD", CPythonNonPlayer::MOB_RESIST_SWORD);
    PyModule_AddIntConstant(poModule, "MOB_RESIST_TWOHAND", CPythonNonPlayer::MOB_RESIST_TWOHAND);
    PyModule_AddIntConstant(poModule, "MOB_RESIST_DAGGER", CPythonNonPlayer::MOB_RESIST_DAGGER);
    PyModule_AddIntConstant(poModule, "MOB_RESIST_BELL", CPythonNonPlayer::MOB_RESIST_BELL);
    PyModule_AddIntConstant(poModule, "MOB_RESIST_FAN", CPythonNonPlayer::MOB_RESIST_FAN);
    PyModule_AddIntConstant(poModule, "MOB_RESIST_BOW", CPythonNonPlayer::MOB_RESIST_BOW);
    PyModule_AddIntConstant(poModule, "MOB_RESIST_FIRE", CPythonNonPlayer::MOB_RESIST_FIRE);
    PyModule_AddIntConstant(poModule, "MOB_RESIST_ELECT", CPythonNonPlayer::MOB_RESIST_ELECT);
    PyModule_AddIntConstant(poModule, "MOB_RESIST_MAGIC", CPythonNonPlayer::MOB_RESIST_MAGIC);
    PyModule_AddIntConstant(poModule, "MOB_RESIST_WIND", CPythonNonPlayer::MOB_RESIST_WIND);
    PyModule_AddIntConstant(poModule, "MOB_RESIST_POISON", CPythonNonPlayer::MOB_RESIST_POISON);
    PyModule_AddIntConstant(poModule, "MOB_RESIST_MAX_NUM", CPythonNonPlayer::MOB_RESISTS_MAX_NUM);
#endi#endi[HASH=3]#endif[/HASH]en öncesine
CLientSRC/Userinterface/PythonNonPlayer.h içinde:
//ARAT
enum EMobResists

//EKLE EĞER YOKSA
            MOB_RESIST_SWORD,
            MOB_RESIST_TWOHAND,
            MOB_RESIST_DAGGER,
            MOB_RESIST_BELL,
            MOB_RESIST_FAN,
            MOB_RESIST_BOW,
            MOB_RESIST_FIRE,
            MOB_RESIST_ELECT,
            MOB_RESIST_MAGIC,
            MOB_RESIST_WIND,
            MOB_RESIST_POISON,
            MOB_RESISTS_MAX_NUM
          
//ARA EĞER  EMobResists yoksa

        enum EMobEnchants
        { 
            MOB_ENCHANT_CURSE,
            MOB_ENCHANT_SLOW, 
            MOB_ENCHANT_POISON,
            MOB_ENCHANT_STUN, 
            MOB_ENCHANT_CRITICAL,
            MOB_ENCHANT_PENETRATE,
            MOB_ENCHANTS_MAX_NUM
        };

//EKLE ALTINA

        enum EMobResists
        {
            MOB_RESIST_SWORD,
            MOB_RESIST_TWOHAND,
            MOB_RESIST_DAGGER,
            MOB_RESIST_BELL,
            MOB_RESIST_FAN,
            MOB_RESIST_BOW,
            MOB_RESIST_FIRE,
            MOB_RESIST_ELECT,
            MOB_RESIST_MAGIC,
            MOB_RESIST_WIND,
            MOB_RESIST_POISON,
            MOB_RESISTS_MAX_NUM
        };


VE EKSTRA BİR DÜZENLEME GÖRSEL YOLLARI YANLIŞ

bu hatayı alanlar için 'TargetBoard' object has no attribute 'clickEvent'

uitarget.py:
## Arat

            infoButton.SetUpVisual("d:/ymir work/ui/game/mark/question_mark_1.tga")
            infoButton.SetOverVisual("d:/ymir work/ui/game/mark/question_mark_2.tga")
            infoButton.SetDownVisual("d:/ymir work/ui/game/mark/question_mark_3.tga")

##Değiştir

   ##DeğiştiroButton.SetUpVisual("d:/ymir work/ui/pattern/q_mark_01.tga")
            infoButton.SetOverVisual("d:/ymir work/ui/pattern/q_mark_02.tga")
            infoButton.SetDownVisual("d:/ymir work/ui/pattern/q_mark_01.tga")


Konuyu buna göre modere edebilirsin. Teşekkürler.
vicentee
Üye
Üye
Katılım19 Kas 2025
Konular9
Mesajlar48
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
08.05.2026 00:25 #10
Merhaba,

MMOZirve'ya özel sizlere Detaylı Mob Target İnfo sistemini eksiksiz paylaşacağım.

Ekli dosyayı görüntüle 128565

Ekli dosyayı görüntüle 128566

Ekli dosyayı görüntüle 128567

Ekli dosyayı görüntüle 128568

Osmanlı2 ve Pachi Tunganın paylaştığı server files dosyalarından sökülmüştür. Konu alıntıdır, Ayrıca bazı yerleri farklıdır. Uzun uğraşlar sonucu sorunsuz kurulabilecek hale getirilmiştir. Rehberi takip ettiğiniz ve düzgün eklediğiniz sürece hiç bir sorun çıkarmaz.
Source : PACHI & Tunga ServerFiles
Source : Osmanlı 2 Server Files

Güncelleme v_01

uitarget.py de NumberToString tanımlaması var. Aslında bildiğiniz string, daha güzel yazması için eklenmişti. Bunun tanımlamasını yapmasını dosyalarda unutmuşum bende var ama eklememişim. Str olarak değiştirdiğinizde de düzeliyordu orası ama yinede tanımlamasını yapalım güzel görünsün.
localeinfo.py:
def NumberToString(n) :
    if n <= 0 :
        return "0"

    return "%s" % ('.'.join([ i-3<0 and str(n)[:i] or str(n)[i-3:i] for i in range(len(str(n))%3, len(str(n))+1, 3) if i ]))
Beceri kitapları gibi, tüm kitapların görünmeme sorununu aşağıdaki adımları uygulayarak çözebilrsiniz.
Not: Beceri kitapları skillerin isimlerine göre gösterilmez sadece beceri kitabı yazar. Onun için ayrıca değişiklikler yapmanız gerekli.

Ekli dosyayı görüntüle 128569

Çözüm:


uitooltip.py:
## Arat
        ### Skill Book ###
        if 50300 == itemVnum:
            if 0 != metinSlot:
      ######    self.######killBookToolTip(metinSlot[0], localeInfo.TOOLTIP_SKILLBOOK_NAME, 1)
###             self.ShowToolTip()
            return
        elif 70037 == itemVnum:
   ###      if 0 != metinSlot:
                self.__SetSkillBookToolTip(metinSlot[0], loca###nfo.TOOLTIP_SKILL_FORGET_BOOK_NAME, 0)
                self.AppendDescription(item.GetItemDescription(), 26)
                self.AppendDescription(item.GetItemSummary(), 26, self.CONDITION_COLOR)
                self.ShowToolTip()
            return
        elif 70055 == itemVnum:
            if 0 != metinSlot:
                self.__SetSkillBookToolTip(metinSlot[0], localeInfo.TOOLTIP_SKILL_FORGET_BOOK_NAME, 0)
                self.AppendDescription(item.GetItemDescription(), 26)
                self.AppendDescription(item.GetItemSummary(), 26, self.CONDITION_COLOR)
                self.ShowToolTip()
            return
    
############################################################################################


## Değiştir.

        ### Skill Book ###
        elif 50300 == itemVnum:
            i##0##= metinSlot and not######isBook:
### ###        self.__SetSkillBookToolTip(metinSlot[0], localeInfo.TOOLTIP_SKILLBOOK_NAME, ### ###            self.ShowToolTip()
            elif self.isBook:
                self.Se###t###item.GetItemName())
                self.AppendDescription(item.GetItemDescription(), 26)
                self.AppendDescription(item.GetItemSummary(), 26, self.CONDITION_COLOR)
                self.ShowToolTip()
            return
        elif 70037 == itemVnum:
            if 0 != metinSlot and not self.isBook2:
                self.__SetSkillBookToolTip(metinSlot[0], localeInfo.TOOLTIP_SKILL_FORGET_BOOK_NAME, 0)
                self.AppendDescription(item.GetItemDescription(), 26)
                self.AppendDescription(item.GetItemSummary(), 26, self.CONDITION_COLOR)
                self.ShowToolTip()
            elif self.isBook2:
                self.SetTitle(item.GetItemName())
                self.AppendDescription(item.GetItemDescription(), 26)
                self.AppendDescription(item.GetItemSummary(), 26, self.CONDITION_COLOR)
                self.ShowToolTip()
            return
        elif 70055 == itemVnum:
            if 0 != metinSlot:
                self.__SetSkillBookToolTip(metinSlot[0], localeInfo.TOOLTIP_SKILL_FORGET_BOOK_NAME, 0)
                self.AppendDescription(item.GetItemDescription(), 26)
                self.AppendDescription(item.GetItemSummary(), 26, self.CONDITION_COLOR)
                self.ShowToolTip()
            return
    
##############################################################################################ODE]
Görünüşü scroll barlı değilde tam göstermek için aşağıdakileri uygulayın.
[B]Not: İtemler sadece 1 kez yüklenecek şekilde düzenlendi.(fixed)[/B]

[CODE lang="python"]##Arat - Sil

MAX_ITEM_COUNT = 5


## Arat
                for value in xrange(self.slotSize):

## Değiştir

                for value in xr##g##35):

##Arat

                            if emptySlotIn##x##= self.slotSize:

## Değiştir

                     ##A##Arat emptySlotIndex >= 35:

## Arat

            def __LoadInformati##_##ops(self, race):
                s##AratpendSeperator()

       ## ##    if race in constInfo.MONSTER_INFO_DATA:
                    if len(constInfo.MONSTER_INFO_DATA[race]["i##m##]) == 0:
                        self.AppendTextLine(localeInfo.TARGET_INFO_NO_ITEM_TEXT)
                    else:
                        itemListBox = ui.ListBoxExNew(32 + 5, self.MAX_ITEM_COUNT)
                        itemListBox.SetSize(self.GetWidth() - 15 * 2 - ui.ScrollBar.SCROLLBAR_WIDTH, (32 + 5) * self.MAX_ITEM_COUNT)
                        height = 0
                        for curItem in constInfo.MONSTER_INFO_DATA[race]["items"]:
                            if curItem.has_key("vnum_list"):
                                height += self.AppendItem(itemListBox, curItem["vnum_list"], curItem["count"])
                            else:
                                height += self.AppendItem(itemListBox, curItem["vnum"], curItem["count"])
                        if height < itemListBox.GetHeight():
                            itemListBox.SetSize(itemListBox.GetWidth(), height)
                        self.AppendWindow(itemListBox, 15)
                        itemListBox.SetBasePos(0)

                        if len(constInfo.MONSTER_INFO_DATA[race]["items"]) > itemListBox.GetViewItemCount():
                            itemScrollBar = ui.ScrollBar()
                            itemScrollBar.SetParent(self)
                            itemScrollBar.SetPosition(itemListBox.GetRight(), itemListBox.GetTop())
                            itemScrollBar.SetScrollBarSize(32 * self.MAX_ITEM_COUNT + 5 * (self.MAX_ITEM_COUNT - 1))
                            itemScrollBar.SetMiddleBarSize(float(self.MAX_ITEM_COUNT) / float(height / (32 + 5)))
                            itemScrollBar.Show()
                            itemListBox.SetScrollBar(itemScrollBar)
                else:
                    self.AppendTextLine(localeInfo.TARGET_INFO_NO_ITEM_TEXT)

            def OverInItem(self, slotIndex):
                vnum = self.itemVnums[slotIndex]
                if vnum == 0 or vnum == 50300 or vnum == 70037:
                    self.itemTooltip.HideToolTip()
                elif vnum > 27999 and vnum < 28960:
                    self.itemTooltip.HideToolTip()
                else:
                    self.OnShowItemTooltip(vnum)
## Tamamını değiştir

            def __LoadInformation_Drops(self, race):
                self.AppendSeperat##(##
                if race in constInfo.MONSTER_INFO_DATA:
                    if len(constInfo.MONSTER_INFO_DATA[race]["items"]) == 0:
                        self.AppendTextLine(localeInfo.TARGET_INFO_NO_ITEM_TEXT)
                        self.wndItem.Hide()
                    else:
                        self.wndItem.SetPosition(10, self.yPos - 7)
                        self.yPos += 32*5
                        self.SetSize(self.BOARD_WIDTH, self.yPos + 5)
                        self.UpdateRect()
                        self.wndItem.Show()

                        for curItem in constInfo.MONSTER_INFO_DATA[race]["items"]:
                            getItemID = 0
                            if curItem.has_key("vnum_list"):
                                getItemID = curItem["vnum_list"][0]
                                vnum = curItem["vnum_list"][0]
                            else:
                                getItemID = curItem["vnum"]
                                vnum=curItem["vnum"]

                            getItemCount=curItem["count"]
                            item.SelectItem(getItemID)
                            itemSize = item.GetItemSize()
                            if item.GetItemType() == item.ITEM_TYPE_METIN:
                                self.stoneVnum = getItemID
                                self.lastStoneVnum = 28430

                            emptySlotPos = self.SerachEmptySlot(itemSize[1])

                            if -1 != emptySlotPos:
                                self.itemArray[emptySlotPos] = 1

                                if itemSize[1] == 2:
                                    self.itemArray[emptySlotPos + 7] = 1
                                elif itemSize[1] == 3:
                                    self.itemArray[emptySlotPos + 7] = 1
                                    self.itemArray[emptySlotPos + 14] = 1

                                if item.GetItemType() == item.ITEM_TYPE_METIN:
                                    self.stoneImg = emptySlotPos

                                self.wndItem.SetItemSlot(emptySlotPos, getItemID, getItemCount)
                                self.itemVnums[emptySlotPos] = getItemID

                        self.wndItem.RefreshSlot()
                else:
                    self.AppendTextLine(localeInfo.TARGET_INFO_NO_ITEM_TEXT)
                    self.wndItem.Hide()

            def OverInItem(self, slotIndex):
                vnum = self.itemVnums[slotIndex]
                if vnum != 0:
                    self.OnShowItemTooltip(vnum)

## Arat

                    self.stoneImg.LoadImage(item.GetIconImageFileName(), realName)

## Değiştir

       ## ##        self.wndItem.SetItemSlot(self.stoneImg, nextImg, 1)

## Arat

    def __Initiali##(##lf):
        self.na##S##ing = ""
        self.nameLength = 0
        self.vid = 0
## ##   if app.ENABLE_TARGET_INFORMATION_SYSTEM:
            self.vnum = 0
        self.isShowButton = False

## Altın##e##e

        self.reload = False

## Arat

        def OnPressedInfoButton(self):

## Tamamını değiştir
## ##    def OnPressedInfoButton(self):
      ## ## if self.infoButton.showWnd.IsShow():
      ## ##     self.infoButton.sh##W##.Close()
            else:
              ##i##self.vnum !=0:
                    if self.r##o## == False:
                        net.SendTargetInfoLoad(player.GetT##iftVID())
                        self.reload = True
                    self.infoButton.showWnd.Open(self, self.vnum)

Ekli dosyayı görüntüle 128570

Güncelleme v_02

Bu güncellememizde ekli olmayan metin taşlarında gösterilen taşlarla ilgilidir. Bu güncellemeyle birlikte sadece belirlediğiniz moblarda, metin taşlarında görünücektir. Eğer bunu uygulamassanız sorun olmaz, ancak bilmelisinizki tüm metin taşlarında görünücektir. Drop düşmese bile.

Gelelim güncelleme'ye :

server srcde char.cpp içerisinde:
char.cpp:
    if (IsStone())
    {
        DetermineDropMetinStone();
    }
Böyle bir kod var. Bu kodun açıklaması, eğer metin taşı ise DetermineDropMetinStone fonksiyonunu çağır demek.

Bu fonksiyonu yorum satırına aldığında tüm metinlerdeki taşları kaldırır. /usr/game/share/locale/turkey içerisindeki mob_drop_item.txtye eklediğinde de sırayla üst üste gösterir. Kodlar ona ayarlı çünkü.

Yani yapman gereken şu:

Burayı sil yada yorum satırına al.
char.cpp:
    // if (IsStone())
    // {
        //DetermineDropMetinStone();
    // }

Örnek bir mob içerisine ekleme,
mob_drop_item.txt:
Group    Àü¸¶¼®
{
    Mob    8002
    Type    drop
    1    5000    1    20
    2    11210    1    20
    3    11410    1    20
    4    11610    1    20
    5    11810    1    20
    6    30    1    20
    7    1010    1    20
    8    3020    1    20
    9    2020    1    20
    10    7020    1    20
    11    5001    1    15
    12    11211    1    15
    13    11411    1    15
    14    11611    1    15
    15    11811    1    15
    16    31    1    15
    17    1011    1    15
    18    3021    1    15
    19    2021    1    15
    20    7021    1    15
    21    5002    1    10
    22    11212    1    10
    23    11412    1    10
    24    11612    1    10
    25    11812    1    10
    26    32    1    5
    27    1012    1    5
    28    3022    1    5
    29    2022    1    5
    30    7022    1    5
    31    27002    50    100
    32    27003    30    50
    33    27005    30    50
    34    27006    20    50
    35    50300    1    10000
    36    50300    1    10000
    37    50300    1    10000
    38    50300    1    10000
    39    25041    1    10000
    40    70102    1    10000
    41    28430    1    50    15
    42    28431    1    50    15
    43    28432    1    50    15
    44    28433    1    50    15
    45    28434    1    50    15
    46    28435    1    50    15
    47    28436    1    50    15
    48    28437    1    50    15
    49    28438    1    50    15
    50    28439    1    50    15
    51    28440    1    50    15
    52    28441    1    50    15
    53    28442    1    50    15
    54    28443    1    50    15

}

Bu şekilde tüm taşları eklediğinizde, eklenen mobda görünecektir.

8002 - Dövüş Metni kodlu mob için yaptım. Sen istediğine ekleyebilirsin. Ayrıca sadece metin taşlarında değil istediğin moba ekleyebilirsin.

Böylece tüm metinlerde değilde mob_drop_item içerisindeki mob koduyla eklediklerinde görünür. 1 den fazla taş eklediğinde uitarget.py içerisinde sıralama olduğu için taşların fotosu sırayla değişir.

Ekli dosyayı görüntüle 128571

Ekli dosyayı görüntüle 128572

Ekli dosyayı görüntüle 128573​'module' object has no attribute 'MOB_RESIST_SWORD'

bu hatayı alanlar için

CLientSRC/Userinterface/PythonNonPlayerModule.cpp içinde:
//ARAT GENELDE SONLARDA OLUR

PyModule_AddIntConstant(poModule, "PAWN", NRaceData::EMobRank::MOB_RANK_PAWN);
PyModule_AddIntConstant(poModule, "S_PAWN", NRaceData::EMobRank::MOB_RANK_S_PAWN);
PyModule_AddIntConstant(poModule, "KNIGHT", NRaceData::EMobRank::MOB_RANK_KNIGHT);
PyModule_AddIntConstant(poModule, "S_KNIGHT", NRaceData::EMobRank::MOB_RANK_S_KNIGHT);
PyModule_AddIntConstant(poModule, "BOSS", NRaceData::EMobRank::MOB_RANK_BOSS);
PyModule_AddIntConstant(poModule, "KING", NRaceData::EMobRank::MOB_RANK_KING);

//EKLE

#ifde#ifde[HASH=2]#ifdef[/HASH]LE_TARGET_INFORMATION_SYSTEMPyModule_AddIntConstant(poModule, "MOB_RESIST_SWORD", CPythonNonPlayer::MOB_RESIST_SWORD);
    PyModule_AddIntConstant(poModule, "MOB_RESIST_TWOHAND", CPythonNonPlayer::MOB_RESIST_TWOHAND)#ifde PyModule_AddIntConstant(poModule, "MOB_RESIST_DAGGER", CPythonNonPlayer::MOB_RESIST_DAGGER);
    PyModule_AddIntConstant(poModule, "MOB_RESIST_BELL", CPythonNonPlayer::MOB_RESIST_BELL);
    PyModule_AddIntConstant(poModule, "MOB_RESIST_FAN", CPythonNonPlayer::MOB_RESIST_FAN);
    PyModule_AddIntConstant(poModule, "MOB_RESIST_BOW", CPythonNonPlayer::MOB_RESIST_BOW);
    PyModule_AddIntConstant(poModule, "MOB_RESIST_FIRE", CPythonNonPlayer::MOB_RESIST_FIRE);
    PyModule_AddIntConstant(poModule, "MOB_RESIST_ELECT", CPythonNonPlayer::MOB_RESIST_ELECT);
    PyModule_AddIntConstant(poModule, "MOB_RESIST_MAGIC", CPythonNonPlayer::MOB_RESIST_MAGIC);
    PyModule_AddIntConstant(poModule, "MOB_RESIST_WIND", CPythonNonPlayer::MOB_RESIST_WIND);
    PyModule_AddIntConstant(poModule, "MOB_RESIST_POISON", CPythonNonPlayer::MOB_RESIST_POISON);
    PyModule_AddIntConstant(poModule, "MOB_RESIST_MAX_NUM", CPythonNonPlayer::MOB_RESISTS_MAX_NUM);
#endi#endi[HASH=3]#endif[/HASH]en öncesine
CLientSRC/Userinterface/PythonNonPlayer.h içinde:
//ARAT
enum EMobResists

//EKLE EĞER YOKSA
            MOB_RESIST_SWORD,
            MOB_RESIST_TWOHAND,
            MOB_RESIST_DAGG#endi           MOB_RESIST_BELL,
            MOB_RESIST_FAN,
            MOB_RESIST_BOW,
            MOB_RESIST_FIRE,
            MOB_RESIST_ELECT,
            MOB_RESIST_MAGIC,
            MOB_RESIST_WIND,
            MOB_RESIST_POISON,
            MOB_RESISTS_MAX_NUM
        
//ARA EĞER  EMobResists yoksa

        enum EMobEnchants
        {
            MOB_ENCHANT_CURSE,
            MOB_ENCHANT_SLOW,
            MOB_ENCHANT_POISON,
            MOB_ENCHANT_STUN,
            MOB_ENCHANT_CRITICAL,
            MOB_ENCHANT_PENETRATE,
            MOB_ENCHANTS_MAX_NUM
        };

//EKLE ALTINA

        enum EMobResists
        {
            MOB_RESIST_SWORD,
            MOB_RESIST_TWOHAND,
            MOB_RESIST_DAGGER,
            MOB_RESIST_BELL,
            MOB_RESIST_FAN,
            MOB_RESIST_BOW,
            MOB_RESIST_FIRE,
            MOB_RESIST_ELECT,
            MOB_RESIST_MAGIC,
            MOB_RESIST_WIND,
            MOB_RESIST_POISON,
            MOB_RESISTS_MAX_NUM
        };


VE EKSTRA BİR DÜZENLEME GÖRSEL YOLLARI YANLIŞ

bu hatayı alanlar için 'TargetBoard' object has no attribute 'clickEvent'

uitarget.py:
## Arat

            infoButton.SetUpVisual("d:/ymir work/ui/game/mark/question_mark_1.tga")
            infoButton.SetOverVisual("d:/ymir work/ui/game/mark/question_mark_2.tga")
            infoButton.SetDownVisual("d:/ymir work/ui/game/mark/question_mark_3.tga")

##Değiştir

   ##DeğiştiroButton.SetUpVisual("d:/ymir work/ui/pattern/q_mark_01.tga")
            infoButton.SetOverVisual("d:/ymir work/ui/pattern/q_mark_02.tga")
            infoButton.SetDownVisual("d:/ymir work/ui/pattern/q_mark_01.tga##Değiştir##DeğiştiroButton.SetUpVisual(
Güncelleme v_02'de taşları bi kaldıramadım tüm metinlerde taşları gösteriyor drop olmasa bile gösteriyor

char.cpp içinden DetermineDropMetinStone(); fanksiyonunu yorum satırına almama rağmen devam ediyor yardımcı olur musunuz ?
ahmtcn37
Üye
Üye
Katılım01 Şub 2026
Konular5
Mesajlar56
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
08.05.2026 00:25 #11
0405 15:21:09762 :: File "networkModule.py", line 297, in SetGamePhase

0405 15:21:09762 :: File "game.py", line 86, in __init__

0405 15:21:09762 :: File "interfaceModule.py", line 350, in MakeInterface

0405 15:21:09762 :: File "interfaceModule.py", line 212, in __MakeWindows

0405 15:21:09762 :: File "uiMiniMap.py", line 223, in __init__

0405 15:21:09762 :: File "uiMiniMap.py", line 112, in LoadWindow

0405 15:21:09762 :: AttributeError
0405 15:21:09762 :: :
0405 15:21:09762 :: 'BoardWithTitleBar' object has no attribute 'SetOnMouseLeftButtonUpEvent'
0405 15:21:09762 ::

şöyle bir sysser alıyorum nasıl çözerim
Evteks
Üye
Üye
Katılım09 Mar 2026
Konular4
Mesajlar73
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
08.05.2026 00:25 #12
Çok iyi düşünülmüş, eline sağlık dostum
bemre38
Üye
Üye
Katılım16 Şub 2026
Konular4
Mesajlar49
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
08.05.2026 00:25 #13
teşekkürler çok işimi gördü..
DWYazilim
Üye
Üye
Katılım17 Şub 2026
Konular4
Mesajlar53
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
08.05.2026 00:25 #14
Paylaşım için teşekkürler tamda bunu arıyordum denk gelmesi harika oldu.
Merhabalar, yapabildiniz mi
TheYuma
Üye
Üye
Katılım24 Mar 2026
Konular8
Mesajlar84
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
08.05.2026 00:25 #15
Merhabalar, yapabildiniz mi
evet sorun mu yaşadınız ?
Bu konuyu görüntüleyenler
1 misafir
Cevap yazmak için giriş yapın.
Benzer Konular
6 cevap
2K görüntüleme
9 cevap
1.9K görüntüleme
4 cevap
1.9K görüntüleme
8 cevap
1.9K görüntüleme
İlan Yan banner placeholder