noisiv 1
noisiv
Manwe Work 1
Manwe Work
Agora Metin2 1
Agora Metin2
Bvural41 1
Bvural41
Mt2Hizmet 1
Mt2Hizmet
SLyFeLLowTR 1
SLyFeLLowTR
Hikaye Ekle

Cevaplandı Bağırma item Gözükmeme Hatası

  • Konuyu başlatan Konuyu başlatan odinogluthorr
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 10
  • Görüntüleme Görüntüleme 617

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!

bağırmada item yansıtınca item özellikleri gözükmüyor nasıl çözebilirm?



0921 19:13:14628 :: Traceback (most recent call last):

0921 19:13:14628 :: File "game.py", line 1465, in OnMouseLeftButtonUp

0921 19:13:14629 :: File "interfaceModule.py", line 514, in MakeHyperlinkTooltip

0921 19:13:14629 :: File "uiToolTip.py", line 2188, in SetHyperlinkItem

0921 19:13:14629 :: File "uiToolTip.py", line 1172, in AddItemData

0921 19:13:14629 :: File "uiToolTip.py", line 1984, in __AppendMetinSlotInfo

0921 19:13:14629 :: File "uiToolTip.py", line 1995, in __AppendMetinSlotInfo_IsEmptySlotList

0921 19:13:14629 :: IndexError
0921 19:13:14629 :: :
 

En Çok Reaksiyon Alan Mesajlar

[CODE title="pythonchatmodule" highlight="pythonchatmodule"]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:socket3:socket4:socket5
if (0 == results[0].compare("item"))
{
if (results.size() < 9)
return Py_BuildValue("s", "");




CItemData * pItemData = NULL;




if (CItemManager::Instance().GetItemDataPointer(htoi(results[1].c_str()), &pItemData))
{
char buf[1024] = { 0 };
char itemlink[256];
int len;
bool isAttr = false;




len = snprintf(itemlink, sizeof(itemlink), "item:%x:%x:%x:%x:%x:%x:%x:%x",
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()),
htoi(results[6].c_str()),
htoi(results[7].c_str()),
htoi(results[8].c_str()));




if (results.size() >= 11)
{
for (int i = 9; i < results.size(); i += 2)
{
len += snprintf(itemlink + len, sizeof(itemlink) - len, ":%x:%d",
htoi(results.c_str()),
atoi(results[i+1].c_str()));
isAttr = true;
}
}[/CODE]

[CODE title="pythonplayermodule" highlight="pythonplayermodule"]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))
{
char itemlink[256];
int len;
bool isAttr = false;




len = snprintf(itemlink, sizeof(itemlink), "item:%x:%x:%x:%x:%x:%x:%x:%x",
pPlayerItem->vnum, pPlayerItem->flags,
pPlayerItem->alSockets[0], pPlayerItem->alSockets[1], pPlayerItem->alSockets[2] , pPlayerItem->alSockets[3], pPlayerItem->alSockets[4], pPlayerItem->alSockets[5]);




for (int i = 0; i < ITEM_ATTRIBUTE_SLOT_MAX_NUM; ++i)
if (pPlayerItem->aAttr.bType != 0)
{
len += snprintf(itemlink + len, sizeof(itemlink) - len, ":%x:%d",
pPlayerItem->aAttr.bType, pPlayerItem->aAttr.sValue);
isAttr = true;
}[/CODE]


[CODE lang="python" title="uitooltip" highlight="uitooltip"] def SetHyperlinkItem(self, tokens):
minTokenCount = 3 + player.METIN_SOCKET_MAX_NUM
maxTokenCount = minTokenCount + 2 * 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:9]]


rests = tokens[9:]
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()
self.AddItemData(itemVnum, metinSlot, attrSlot)


ItemToolTip.OnUpdate(self)[/CODE]

böyle birşey yaptım oldu da şuanlık sıkıntı yok bu hatanın sebebi 4.taş slot yüzünden 3.slot varken sıkıntı çıkmıyordu
Çözüm
[CODE title="pythonchatmodule" highlight="pythonchatmodule"]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:socket3:socket4:socket5
if (0 == results[0].compare("item"))
{
if (results.size() < 9)
return Py_BuildValue("s", "");




CItemData * pItemData = NULL;




if (CItemManager::Instance().GetItemDataPointer(htoi(results[1].c_str()), &pItemData))
{
char buf[1024] = { 0 };
char itemlink[256]...

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

Geri
Üst