Hikayeler

Reklam vermek için turkmmo@gmail.com

Silah evrim sistemi yansıtma sorunu

NEPRESPAN

Level 3
TM Üye
Üye
Katılım
19 Ara 2020
Konular
40
Mesajlar
204
Online süresi
29g 71331s
Reaksiyon Skoru
28
Altın Konu
0
Başarım Puanı
65
TM Yaşı
5 Yıl 4 Ay 2 Gün
MmoLira
1,114
DevLira
6

Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!

Osmanlı2den silah evrim sistemini söktüm hiç bir sorun yokken sadece yansıtma çalışmıyor

Client SRC

PythonPlayerModule.cpp:
PyObject * playerGetItemLink(PyObject * poSelf, PyObject * poArgs)
{
    TItemPos Cell;

    switch (PyTuple_Size(poArgs))
    {
    case 1:
        if (!PyTuple_GetInteger(poArgs, 0, &Cell.cell))
            return Py_BuildException();
        break;
    case 2:
        if (!PyTuple_GetByte(poArgs, 0, &Cell.window_type))
            return Py_BuildException();
        if (!PyTuple_GetInteger(poArgs, 1, &Cell.cell))
            return Py_BuildException();
        break;
    default:
        return Py_BuildException();
    }
    const TItemData * pPlayerItem = CPythonPlayer::Instance().GetItemData(Cell);
    CItemData * pItemData = NULL;
    char buf[1024];

    if (pPlayerItem && CItemManager::Instance().GetItemDataPointer(pPlayerItem->vnum, &pItemData))
    {
[HASH=2]#ifdef[/HASH] ENABLE_WEAPON_EVOLUTION_SYSTEM
        char itemlink[256 + 12 + 12];
[HASH=2311]#else[/HASH]
        char itemlink[256];
[HASH=3]#endif[/HASH]
        int len;
        bool isAttr = false;
[HASH=2]#ifdef[/HASH] ENABLE_WEAPON_EVOLUTION_SYSTEM
        len = snprintf(itemlink, sizeof(itemlink), "item:%x:%x:%x:%x:%x:%d",
                pPlayerItem->vnum, pPlayerItem->flags,
                pPlayerItem->alSockets[0], pPlayerItem->alSockets[1], pPlayerItem->alSockets[2]);
[HASH=2311]#else[/HASH]
        len = snprintf(itemlink, sizeof(itemlink), "item:%x:%x:%x:%x:%x",
                pPlayerItem->vnum, pPlayerItem->flags,
                pPlayerItem->alSockets[0], pPlayerItem->alSockets[1], pPlayerItem->alSockets[2]);
[HASH=3]#endif[/HASH]
        for (int i = 0; i < ITEM_ATTRIBUTE_SLOT_MAX_NUM; ++i)
        {
            // if (pPlayerItem->aAttr[i].bType != 0) // @fixme009 (this line must be commented)
            {
                len += snprintf(itemlink + len, sizeof(itemlink) - len, ":%x:%d",
                        pPlayerItem->aAttr[i].bType, pPlayerItem->aAttr[i].sValue);
                isAttr = true;
            }
        }

[HASH=2]#ifdef[/HASH] ENABLE_WEAPON_EVOLUTION_SYSTEM
        std::string evolutionMergeText = ""; char evolutionText[6][10] = { "", "Yaygın ", "Seyrek ", "Nadir ", "Efsane ", "Eşsiz " };
        char evoItemPattern1[5][30] = {
            " |h|r[%s]|cffffcc33|H%s|h",
            " |h|r[%s]|cff33cc33|H%s|h",
            " |h|r[%s]|cff3366ff|H%s|h",
            " |h|r[%s]|cff9900cc|H%s|h",
            " |h|r[%s]|cffcc0000|H%s|h"
        };
        char evoItemPattern2[5][25] = {
            "|cffffcc33|H%s|h[%s]|h|r",
            "|cff33cc33|H%s|h[%s]|h|r",
            "|cff3366ff|H%s|h[%s]|h|r",
            "|cff9900cc|H%s|h[%s]|h|r",
            "|cffcc0000|H%s|h[%s]|h|r"
        };
        char evoItemPattern3[5][30] = {
            "|cffffcc33|H%s|h[%s x%d]|h|r",
            "|cff33cc33|H%s|h[%s x%d]|h|r",
            "|cff3366ff|H%s|h[%s x%d]|h|r",
            "|cff9900cc|H%s|h[%s x%d]|h|r",
            "|cffcc0000|H%s|h[%s x%d]|h|r"
        };
        evolutionMergeText += evolutionText[pPlayerItem->evolution];
        //evolutionMergeText += pItemData->GetName();
[HASH=3]#endif[/HASH]

        if( GetDefaultCodePage() == CP_ARABIC ) {
            if (isAttr)
                snprintf(buf, sizeof(buf), " |h|r[%s]|cffffc700|H%s|h", pItemData->GetName(), itemlink);
            else
                snprintf(buf, sizeof(buf), " |h|r[%s]|cfff1e6c0|H%s|h", pItemData->GetName(), itemlink);
        } else {
            if (isAttr)
                snprintf(buf, sizeof(buf), "|cffffc700|H%s|h[%s]|h|r", itemlink, pItemData->GetName());
            else
                snprintf(buf, sizeof(buf), "|cfff1e6c0|H%s|h[%s]|h|r", itemlink, pItemData->GetName());
        }
    }
    else
        buf[0] = '\0';

    return Py_BuildValue("s", buf);
}



PythonChatModule.cpp:
PyObject * chatGetLinkFromHyperlink(PyObject * poSelf, PyObject * poArgs)
{
    char * szHyperlink;

    if (!PyTuple_GetString(poArgs, 0, &szHyperlink))
        return Py_BuildException();

    std::string stHyperlink(szHyperlink);
    std::vector<std::string> results;

    split_string(stHyperlink, ":", results, false);

    // item:vnum:flag:socket0:socket1:socket2
    if (0 == results[0].compare("item"))
    {
        if (results.size() < 6)
            return Py_BuildValue("s", "");

        CItemData * pItemData = NULL;

        if (CItemManager::Instance().GetItemDataPointer(htoi(results[1].c_str()), &pItemData))
        {
            char buf[1024] = { 0 };
[HASH=2]#ifdef[/HASH] ENABLE_WEAPON_EVOLUTION_SYSTEM
            char itemlink[256 + 12 + 12];
[HASH=2311]#else[/HASH]
            char itemlink[256];
[HASH=3]#endif[/HASH]
            int len;
            bool isAttr = false;
[HASH=2]#ifdef[/HASH] ENABLE_WEAPON_EVOLUTION_SYSTEM
            len = snprintf(itemlink, sizeof(itemlink), "item:%x:%x:%x:%x:%x:%d",
[HASH=2311]#else[/HASH]
            len = snprintf(itemlink, sizeof(itemlink), "item:%x:%x:%x:%x:%x",
[HASH=3]#endif[/HASH]
                    htoi(results[1].c_str()),
                    htoi(results[2].c_str()),
                    htoi(results[3].c_str()),
                    htoi(results[4].c_str()),
                    htoi(results[5].c_str()),
[HASH=2]#ifdef[/HASH] ENABLE_WEAPON_EVOLUTION_SYSTEM
                    htoi(results[6].c_str()))
[HASH=3]#endif[/HASH]
                                            ;

[HASH=2]#ifdef[/HASH] ENABLE_WEAPON_EVOLUTION_SYSTEM
            if (results.size() >= 9)
            {
                for (int i = 7; i < results.size(); i += 2)
[HASH=2311]#else[/HASH]
            if (results.size() >= 8)
            {
                for (int i = 6; i < results.size(); i += 2)
[HASH=3]#endif[/HASH]
                {
                    len += snprintf(itemlink + len, sizeof(itemlink) - len, ":%x:%d",
                            htoi(results[i].c_str()),
                            atoi(results[i+1].c_str()));
                    isAttr = true;
                }
            }

[HASH=2]#ifdef[/HASH] ENABLE_WEAPON_EVOLUTION_SYSTEM
            std::string evolutionMergeText = ""; char evolutionText[6][10] = { "", "Yaygın ", "Seyrek ", "Nadir ", "Efsane ", "Eşsiz " };
            char evoItemPattern1[5][30] = {
                " |h|r[%s]|cffffcc33|H%s|h",
                " |h|r[%s]|cff33cc33|H%s|h",
                " |h|r[%s]|cff3366ff|H%s|h",
                " |h|r[%s]|cff9900cc|H%s|h",
                " |h|r[%s]|cffcc0000|H%s|h"
            };
            char evoItemPattern2[5][25] = {
                "|cffffcc33|H%s|h[%s]|h|r",
                "|cff33cc33|H%s|h[%s]|h|r",
                "|cff3366ff|H%s|h[%s]|h|r",
                "|cff9900cc|H%s|h[%s]|h|r",
                "|cffcc0000|H%s|h[%s]|h|r"
            };
            char evoItemPattern3[5][30] = {
                "|cffffcc33|H%s|h[%s x%d]|h|r",
                "|cff33cc33|H%s|h[%s x%d]|h|r",
                "|cff3366ff|H%s|h[%s x%d]|h|r",
                "|cff9900cc|H%s|h[%s x%d]|h|r",
                "|cffcc0000|H%s|h[%s x%d]|h|r"
            };
            evolutionMergeText += evolutionText[htoi(results[7].c_str())];
            //evolutionMergeText += pItemData->GetName();
[HASH=3]#endif[/HASH]

            if (isAttr)
                snprintf(buf, sizeof(buf), "|cffffc700|H%s|h[%s]|h|r", itemlink, pItemData->GetName());
            else
                snprintf(buf, sizeof(buf), "|cfff1e6c0|H%s|h[%s]|h|r", itemlink, pItemData->GetName());

            return Py_BuildValue("s", buf);
        }
    }

    return Py_BuildValue("s", "");
}


Uitooltip.py:
class HyperlinkItemToolTip(ItemToolTip):
    def __init__(self):
        ItemToolTip.__init__(self, isPickable=True)

    def SetHyperlinkItem(self, tokens):
        if app.ENABLE_WEAPON_EVOLUTION_SYSTEM:
            minTokenCount = 4 + player.METIN_SOCKET_MAX_NUM
        else:
            minTokenCount = 3 + player.METIN_SOCKET_MAX_NUM
        maxTokenCount = minTokenCount + 4 * player.ATTRIBUTE_SLOT_MAX_NUM
        if tokens and len(tokens) >= minTokenCount and len(tokens) <= maxTokenCount:
            head, vnum, flag = tokens[:3]
            itemVnum = int(vnum, 16)
            metinSlot = [int(metin, 16) for metin in tokens[3:6]]

            if app.ENABLE_WEAPON_EVOLUTION_SYSTEM:
                evolution = int(tokens[7])
            rests = tokens[6:]

            if rests:
                attrSlot = []

                rests.reverse()
                while rests:
                    key = int(rests.pop(), 16)
                    if rests:
                        val = int(rests.pop())
                        attrSlot.append((key, val))

                attrSlot += [(0, 0)] * (player.ATTRIBUTE_SLOT_MAX_NUM - len(attrSlot))
            else:
                attrSlot = [(0, 0)] * player.ATTRIBUTE_SLOT_MAX_NUM

            self.ClearToolTip()
            if app.ENABLE_WEAPON_EVOLUTION_SYSTEM:
                self.AddItemData(itemVnum, metinSlot, attrSlot, evolution, 0, 0, player.INVENTORY, -1)
            else:
                self.AddItemData(itemVnum, metinSlot, attrSlot)

            ItemToolTip.OnUpdate(self)
 
Sıralama tamam. Pekala yansıtma hiç mi çalışmıyor yani yansıtılmış itemin üstüne gelince herhangi bir yazı vs felan çıkmıyor mu yollar sadece evrim mi çalışmıyor.
şöyle bir sysser var

1217 11:44:03868 :: File "game.py", line 1327, in OnMouseLeftButtonUp

1217 11:44:03868 :: File "interfaceModule.py", line 476, in MakeHyperlinkTooltip

1217 11:44:03868 :: File "uiToolTip.py", line 2799, in SetHyperlinkItem

1217 11:44:03868 :: File "uiToolTip.py", line 1267, in AddItemData

1217 11:44:03868 :: File "uiToolTip.py", line 1151, in __SetItemTitle

1217 11:44:03868 :: File "uiToolTip.py", line 1137, in __SetSpecialItemTitle

1217 11:44:03868 :: KeyError
1217 11:44:03868 :: :
1217 11:44:03868 :: 48
 

Şu an konuyu görüntüleyenler (Toplam : 1, Üye: 0, Misafir: 1)

Geri
Üst