Hyperlink Item in Chat

Înainte de a posta o problemă, caută în acest forum și poate găsești rezolvare.
Avatar utilizator
alinuss1995
Nou Venit

Nou Venit
Mesaje: 37
Membru din: 25 Aug 2015, 15:56
Aprecieri: 52  
Mulţumiri: 0
Medalii

*Problemă/Întrebare: Am problema nu pot sa vad itemele in chat, le pot pune in chat dar cand dau click nu apare nimic, si n-am nici o eroare in client..
Tipologie server:pvm hard
*Resursă folosită:
*ServerFiles utilizat:serverfile clean by spyke
*Syserr: doar asta dar nu cred ca are legatura 0514 00:59:18534 :: Unknown Server Command xmas_boom 2 | xmas_boom
Poză: Imagine *Detalii suplimentare: nu inteleg ce are, am tot incercat sa ii dau de capat, dar neavand o eroare ceva legata de asta, nu prea pot sa imi dau seama.. poate cineva a mai intampinat problema si a rezolvat.
Multumesc anticipat !
Avatar utilizator
Marius Dragomir
Membru Club

Membru Club
Mesaje: 1020
Membru din: 13 Noi 2017, 21:32
Server: HellHound
Regat: Jinno
Aprecieri: 499  
Mulţumiri: 1211  
Discord: Copiază ID
Medalii

Varianta 1 : sursa/dezactivare-sticla-cunoasterii-fu ... 36676.html
Varianta 2 : sursa/sticla-cunoa-terii-t33253.html

Poate e ceva probleme pe la ea si mai bine o dezactivezi
Pentru acest mesaj, Marius Dragomir for the post:
Abratop18
Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.
Afișează semnătura
Avatar utilizator
Hunger
Contribuitor
Mesaje: 539
Membru din: 24 Iul 2013, 16:23
Aprecieri: 99  
Mulţumiri: 730  
  Rezolvări prob.: 1
 Contact:
Medalii

Cum sa dezactiveze ma sticla?
Vezi in UserInterface/PythonPlayerModule.cpp functia:
PyObject * playerGetItemLink(PyObject * poSelf, PyObject * poArgs)
S-ar putea sa trimita ceva gresit si asta iti cauzeaza problema. Transmutatia sau esarfele de exemplu.
Pentru acest mesaj, Hunger for the post:
alinuss1995
Avatar utilizator
alinuss1995
Nou Venit

Nou Venit
Mesaje: 37
Membru din: 25 Aug 2015, 15:56
Aprecieri: 52  
Mulţumiri: 0
Medalii

multumesc frmuos, am sa verific si revin
Avatar utilizator
alinuss1995
Nou Venit

Nou Venit
Mesaje: 37
Membru din: 25 Aug 2015, 15:56
Aprecieri: 52  
Mulţumiri: 0
Medalii

Hunger scrie: ↑14 Mai 2020, 14:38 Cum sa dezactiveze ma sticla?
Vezi in UserInterface/PythonPlayerModule.cpp functia:
PyObject * playerGetItemLink(PyObject * poSelf, PyObject * poArgs)
S-ar putea sa trimita ceva gresit si asta iti cauzeaza problema. Transmutatia sau esarfele de exemplu.
cam asa arata functia :

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:%x",

pPlayerItem->vnum, pPlayerItem->flags,
pPlayerItem->alSockets[0], pPlayerItem->alSockets[1], pPlayerItem->alSockets[2]);

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);
}
Avatar utilizator
Hunger
Contribuitor
Mesaje: 539
Membru din: 24 Iul 2013, 16:23
Aprecieri: 99  
Mulţumiri: 730  
  Rezolvări prob.: 1
 Contact:
Medalii

Arata si uiToolTip.py din root. Pune pe pastebin sau ceva nu mai pune asa ..

[ Postat de pe iPhone ] Imagine
Pentru acest mesaj, Hunger for the post:
alinuss1995
Avatar utilizator
ridetpro
Membru Club

Membru Club
Mesaje: 68
Membru din: 24 Aug 2018, 16:37
Aprecieri: 66  
Mulţumiri: 26  
Medalii

Pune syserr pe pastebin după momentul în care încerci sa dai click pe item in chat.
Avatar utilizator
Hunger
Contribuitor
Mesaje: 539
Membru din: 24 Iul 2013, 16:23
Aprecieri: 99  
Mulţumiri: 730  
  Rezolvări prob.: 1
 Contact:
Medalii

ridetpro scrie: ↑19 Mai 2020, 23:08 Pune syserr pe pastebin după momentul în care încerci sa dai click pe item in chat.
Nu ii da nici o eroare ca prostu care a bagat transmutatia aia a pus fara macro in hyperlink.
len = snprintf(itemlink, sizeof(itemlink), "item:%x:%x:%x:%x:%x:%x",
Daca nu are transmutatia activata ii trimite gresit.
Avatar utilizator
alinuss1995
Nou Venit

Nou Venit
Mesaje: 37
Membru din: 25 Aug 2015, 15:56
Aprecieri: 52  
Mulţumiri: 0
Medalii

Hunger scrie: ↑19 Mai 2020, 13:17 Arata si uiToolTip.py din root. Pune pe pastebin sau ceva nu mai pune asa ..

[ Postat de pe iPhone ] Imagine
Buna acesta este utTo..

Avatar utilizator
Hunger
Contribuitor
Mesaje: 539
Membru din: 24 Iul 2013, 16:23
Aprecieri: 99  
Mulţumiri: 730  
  Rezolvări prob.: 1
 Contact:
Medalii

alinuss1995 scrie: ↑20 Mai 2020, 12:25
Hunger scrie: ↑19 Mai 2020, 13:17 Arata si uiToolTip.py din root. Pune pe pastebin sau ceva nu mai pune asa ..

[ Postat de pe iPhone ] Imagine
Buna acesta este utTo..

Inlocuieste 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.
Pentru acest mesaj, Hunger for the post:
alinuss1995
Închis
Răspunsuri
3
Vizualizări
181
Răspunsuri
9
Vizualizări
602
Răspunsuri
7
Vizualizări
640

Înapoi la “Probleme rezolvate”

  • Informaţie