Ideea e ca transmutatia e functionala pe svHunger scrie: ↑20 Mai 2020, 12:57Inlocuieste functia PyObject * playerGetItemLink(PyObject * poSelf, PyObject * poArgs) cu asta: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)) { #ifdef ENABLE_CHANGELOOK_SYSTEM char itemlink[256 + 12]; #else char itemlink[256]; #endif int len; bool isAttr = false; len = snprintf(itemlink, sizeof(itemlink), "item:%x:%x:%x:%x:%x", pPlayerItem->vnum, pPlayerItem->flags, pPlayerItem->alSockets[0], pPlayerItem->alSockets[1], pPlayerItem->alSockets[2]); #ifdef ENABLE_CHANGELOOK_SYSTEM len += snprintf(itemlink + len, sizeof(itemlink) - len, ":%x", pPlayerItem->transmutation); #endif for (int i = 0; i < ITEM_ATTRIBUTE_SLOT_MAX_NUM; ++i) { // if (pPlayerItem->aAttr.bType != 0) // @fixme009 (this line must be commented) { len += snprintf(itemlink + len, sizeof(itemlink) - len, ":%x:%d", pPlayerItem->aAttr.bType, pPlayerItem->aAttr.sValue); isAttr = true; } } if( GetDefaultCodePage() == CP_ARABIC ) { if (isAttr) //"item:¹øÈ£:Ç÷¡±×:¼ÒÄÏ0:¼ÒÄÏ1:¼ÒÄÏ2" 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) //"item:¹øÈ£:Ç÷¡±×:¼ÒÄÏ0:¼ÒÄÏ1:¼ÒÄÏ2" 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); }Apoi recompilezi (sper ca stii cum). Vad ca pe uiToolTip nu ai modificarile pentru transmutatie iar in functia de mai sus trimitea un %x in plus.Ar trebui sa fie ok acum. Incearca asa si vezi ce se intampla.
Da, stiu sa compilez sursele, am implementat multe chestii insa asta nu imi mergea de la inceput, lucrez de 2 luni la svfiles asta si nu reusesc sa vad de unde e problema asta.
Transmutatia era deja implementata.
PS: AM MODIFICAT cum ai spus tu si vad ca acum merge, multumesc frumos !
TC !



