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

Hunger scrie: ↑20 Mai 2020, 12:57
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.
Ideea e ca transmutatia e functionala pe sv
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 !
Avatar utilizator
Hunger
Contribuitor
Mesaje: 539
Membru din: 24 Iul 2013, 16:23
Aprecieri: 99  
Mulţumiri: 730  
  Rezolvări prob.: 1
 Contact:
Medalii

Fa si partea de hyperlink pentru transmutatie in uiToolTip altfel nu o sa arate pe chat cand e un item transformat.

[ Postat de pe iPhone ] Imagine
Avatar utilizator
Frank
Nivel 4

Nivel 4
Mesaje: 667
Membru din: 12 Mar 2015, 22:59
Server: ---
Regat: Chunjo
Aprecieri: 44  
Mulţumiri: 28  
 Contact:
Medalii

Mutat in Rezolvate.
Imagine
Afișează semnătura
Închis
Răspunsuri
3
Vizualizări
181
Răspunsuri
9
Vizualizări
602
Răspunsuri
7
Vizualizări
641

Înapoi la “Probleme rezolvate”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 33 vizitatori