Detaylı Mob Target İnfo Tam Sistem

I did what is in the archive, if I remove targetinfo, questrenewal comes back
I understand my friend. The codes conflict, but I am telling you something that may be a solution. Now look, the target codes you added in the pack are probably used in tasks. Identify it while adding it, tell me which code there are 2 of, and we will arrange it accordingly.
 
packet.h
Kod:
Genişlet Daralt Kopyala
/// 1.
// Search @ struct packet_quest_info
    BYTE flag;

// Add below
#if defined(__QUEST_RENEWAL__)
    BYTE type;
    bool is_confirmed;
#endif
I don't think it has anything to do with packet, I say it's on the python side
 

Dosya Eklentileri

packet.h
Kod:
Genişlet Daralt Kopyala
/// 1.
// Search @ struct packet_quest_info
    BYTE flag;

// Add below
#if defined(__QUEST_RENEWAL__)
    BYTE type;
    bool is_confirmed;
#endif
I don't think it has anything to do with packet, I say it's on the python side
I'm not saying package for translation reasons, I'm talking about the python part. For example, I think they use the same function in game.py.
 
Kod:
Genişlet Daralt Kopyala
    if app.ENABLE_TARGET_INFORMATION_SYSTEM:
        def SetOnMouseLeftButtonUpEvent(self, event, *args):
            self.mouseLeftButtonUpEvent = event
            self.mouseLeftButtonUpArgs = args
    else:
        def SetOnMouseLeftButtonUpEvent(self, event):
            self.onMouseLeftButtonUpEvent = event

this is problem...
 
Kod:
Genişlet Daralt Kopyala
    if app.ENABLE_TARGET_INFORMATION_SYSTEM:
        def SetOnMouseLeftButtonUpEvent(self, event, *args):
            self.mouseLeftButtonUpEvent = event
            self.mouseLeftButtonUpArgs = args
    else:
        def SetOnMouseLeftButtonUpEvent(self, event):
            self.onMouseLeftButtonUpEvent = event

this is problem...
Python:
Genişlet Daralt Kopyala
def SetOnMouseLeftButtonUpEvent(self, event, *args):
    if app.ENABLE_TARGET_INFORMATION_SYSTEM:
        self.mouseLeftButtonUpEvent = event
        self.mouseLeftButtonUpArgs = args
    else:
        self.onMouseLeftButtonUpEvent = event

try it like this
 
how do you block so that +0-+4 stones don't appears on certain stone(8001,8002)
Bu olay sisteme bağlı birşey. Dropları kontrol edersen zaten taşların ekli olmadığını görürsün. Tabi ekliler harici. Ekli olmayanlarda kaldırmak istiyosan kodlarda değişiklik yapmak gerek. Ancak bi kaç deneme yapabilirsin.

char.cpp de DetermineDropMetinStone fonksiyonu içerisinde taş kodları var extra taş ekleyebilirsin.

char.cpp:
Genişlet Daralt Kopyala
    static DWORD c_adwMetin[METIN_STONE_NUM] =
    {
        28030,
        28031,
        28032,
        28033,
        28034,
        28035,
        28036,
        28037,
        28038,
        28039,
        28040,
        28041,
        28042,
        28043,
    };

extra olarak eğer metin taşından kaldırmak istiyosan.

constants.cpp:
Genişlet Daralt Kopyala
const SStoneDropInfo aStoneDrop[STONE_INFO_MAX_NUM] =
{
    //  mob        pct    {+0    +1    +2    +3    +4}
    {8005,    60,    {30,    30,    30,    9,    1}    },
    {8006,    60,    {28,    29,    31,    11,    1}    },
    {8007,    60,    {24,    29,    32,    13,    2}    },
    {8008,    60,    {22,    28,    33,    15,    2}    },
    {8009,    60,    {21,    27,    33,    17,    2}    },
    {8010,    60,    {18,    26,    34,    20,    2}    },
    {8011,    60,    {14,    26,    35,    22,    3}    },
    {8012,    60,    {10,    26,    37,    24,    3}    },
    {8013,    60,    {2,    26,    40,    29,    3}    },
    {8014,    60,    {0,    26,    41,    30,    3}    },
};

Burayı kontrol edebilirsiniz.

Açıkcası denemedim sadece yol göstermek amaçlı bilgi vermek için söyledim. Deneyebilirsiniz. Veyahut direk uitarget.pyden taş görünümlerini kapatabilirsiniz.
 
cde
Bu olay sisteme bağlı birşey. Dropları kontrol edersen zaten taşların ekli olmadığını görürsün. Tabi ekliler harici. Ekli olmayanlarda kaldırmak istiyosan kodlarda değişiklik yapmak gerek. Ancak bi kaç deneme yapabilirsin.

char.cpp de DetermineDropMetinStone fonksiyonu içerisinde taş kodları var extra taş ekleyebilirsin.

char.cpp:
Genişlet Daralt Kopyala
    static DWORD c_adwMetin[METIN_STONE_NUM] =
    {
        28030,
        28031,
        28032,
        28033,
        28034,
        28035,
        28036,
        28037,
        28038,
        28039,
        28040,
        28041,
        28042,
        28043,
    };

extra olarak eğer metin taşından kaldırmak istiyosan.

constants.cpp:
Genişlet Daralt Kopyala
const SStoneDropInfo aStoneDrop[STONE_INFO_MAX_NUM] =
{
    //  mob        pct    {+0    +1    +2    +3    +4}
    {8005,    60,    {30,    30,    30,    9,    1}    },
    {8006,    60,    {28,    29,    31,    11,    1}    },
    {8007,    60,    {24,    29,    32,    13,    2}    },
    {8008,    60,    {22,    28,    33,    15,    2}    },
    {8009,    60,    {21,    27,    33,    17,    2}    },
    {8010,    60,    {18,    26,    34,    20,    2}    },
    {8011,    60,    {14,    26,    35,    22,    3}    },
    {8012,    60,    {10,    26,    37,    24,    3}    },
    {8013,    60,    {2,    26,    40,    29,    3}    },
    {8014,    60,    {0,    26,    41,    30,    3}    },
};

Burayı kontrol edebilirsiniz.

Açıkcası denemedim sadece yol göstermek amaçlı bilgi vermek için söyledim. Deneyebilirsiniz. Veyahut direk uitarget.pyden taş görünümlerini kapatabilirsiniz.
I didn't vnum 8001 there and the stones still appear...
 
cde

Orada vnum 8001'i yapmadım ve taşlar hala görünüyor...
Taşların görünmesinin sebebi, sistemin kendisinde bulunması. Düşmese de görünüyor. Files ile alakalı değil. Sistemin kendisinde olan bir şey. uitarget.py dosyasına kontrol eklenebilir. İncelerseniz zaten nereden çektiğini göreceksiniz. Yapamazsanız haber verin ortak bir şey bulmaya çalışalım.
 
Taşların görünmesinin sebebi, sistemin kendisinde bulunması. Düşmese de görünüyor. Files ile alakalı değil. Sistemin kendisinde olan bir şey. uitarget.py dosyasına kontrol eklenebilir. İncelerseniz zaten nereden çektiğini göreceksiniz. Yapamazsanız haber verin ortak bir şey bulmaya çalışalım.
I looked until I asked how to do it and I didn't find anything.
 

Dostum farklı şeylerle uğraşmaktan bakamadım. Kusura bakma

Şimdi bak server srcde char.cpp içerisinde:

char.cpp:
Genişlet Daralt Kopyala
    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:

char.cpp:
Genişlet Daralt Kopyala
    // if (IsStone())
    // {
        //DetermineDropMetinStone();
    // }

Sil yada yorum satırına al.

mob_drop_item.txt:
Genişlet Daralt Kopyala
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

}

8002 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.

1734198438796.webp

1734198465196.webp

1734198481852.webp
 
Güncelleme v_01
Güncelleme v_02

Konuya eklenmiştir. Resimlerde değiştirilmiştir. Kullananlar için iyi kullanımlar dilerim.
 
I don't want to take that out,

it's related to python i think ....
Dude, I didn't take it off anyway. I arranged it for each mob.
All you have to do is put that code in the comment line and add the mob stones you want to add from mob_drop_item.txt and they will already appear.
 
Geri
Üst