Rezolvare BUG picare server din cauza Esarfelor (C++)

Închis
Avatar utilizator
NatsuDragneel
Nivel 2

Nivel 2
Mesaje: 297
Membru din: 28 Dec 2014, 23:27
Server: Nu am deocamdata
Regat: Chunjo
Aprecieri: 11  
Mulţumiri: 103  
Medalii

Eu personal am intalnit acest bug si datorita lui Unrivaled am reusit sa rezolv problema.Din cate am observat acesta a sters topicul asa ca m-am gandit sa il refac eu. (Nu mai stiu partea in care era si shop offline. Poate are acesta buna placere sa o reposteze pe aceea.
Cum se manifesta bugul mai exact.
Faci o esarfa cu 5 bonusuri si o echipezi. Dupa care scrii in chat comanda /costume.
Si te poti uita cum iti pica serverul.
Rezolvarea simpla:

Cod: Selectaţi tot

Dezactivezi comanda /costume.
Rezolvarea mai complexa:
Intri in /usr/src/sursa_ta/Srcs/Server/game/src/ si cauti cmd_general.cpp.
In cmd_general.cpp cauti: do_costume dupa care o sa aveti mai jos:

Cod: Selectaţi tot

CItem* pAcce = ch->GetWear(WEAR_COSTUME_ACCE);
modificati in :

Cod: Selectaţi tot

//CItem* pAcce = ch->GetWear(WEAR_COSTUME_ACCE);
Mai jos o sa aveti:

Cod: Selectaţi tot

	if (pAcce)
	{
		const char* itemName = pAcce->GetName();
		ch->ChatPacket(CHAT_TYPE_INFO, "  Acce : %s", itemName);

		for (int i = 0; i < pAcce->GetAttributeCount(); ++i)
		{
			const TPlayerItemAttribute& attr = pAcce->GetAttribute(i);
			if (0 < attr.bType)
			{
				snprintf(buf, bufferSize, FN_point_string(attr.bType), attr.sValue);
				ch->ChatPacket(CHAT_TYPE_INFO, "     %s", buf);
			}
		}

		if (pAcce->IsEquipped() && arg1[0] == 'a')
			ch->UnequipItem(pAcce);
	}
	
Modificati in:

Cod: Selectaţi tot

	/*if (pAcce)
	{
		const char* itemName = pAcce->GetName();
		ch->ChatPacket(CHAT_TYPE_INFO, "  Acce : %s", itemName);

		for (int i = 0; i < pAcce->GetAttributeCount(); ++i)
		{
			const TPlayerItemAttribute& attr = pAcce->GetAttribute(i);
			if (0 < attr.bType)
			{
				snprintf(buf, bufferSize, FN_point_string(attr.bType), attr.sValue);
				ch->ChatPacket(CHAT_TYPE_INFO, "     %s", buf);
			}
		}

		if (pAcce->IsEquipped() && arg1[0] == 'a')
			ch->UnequipItem(pAcce);
	}*/
Si problema este rezolvata.
A doua rezolvare este creata de mine. La mine a functionat perfect pe sursa de la gazer.
Nu vreau like-uri sau chestii la acest tutorial (pentru ca bugu-l l-am descoperit dupa ce a facut Unrivaled post cu rezolvarea). Daca vreti sa dati like pentru acest tutorial puteti sa ii dati lui.
Pentru acest mesaj, NatsuDragneel a primit 2 (de) mulţumiri
ArchaicPhantom • CorcoveanuMarian
Avatar utilizator
Seby.2
Nivel 2

Nivel 2
Mesaje: 155
Membru din: 06 Feb 2014, 22:01
Server: MMO-Elyse2
Regat: Jinno
Aprecieri: 4  
Mulţumiri: 6  
Medalii

Şi pentru ce atâta bătaie de cap când poţi intra în CMD şi să pui "costume DISABLE" ? :-B
Avatar utilizator
oneX
Fondator SEDNA.RO

Fondator SEDNA.RO
Mesaje: 859
Membru din: 06 Sep 2013, 07:47
Server: Wild Fantasy
Regat: Shinsoo
Aprecieri: 236  
Mulţumiri: 779  
 Contact:
Medalii

Asta nui rezolvare ci doar dezactivezi functia..

[ Postat de pe Android ] Imagine
Pentru acest mesaj, oneX for the post:
[ASLAN]
Imagine

Discord: onexRO
Afișează semnătura
Avatar utilizator
Mr. Tiger
Membru Club

Membru Club
Mesaje: 1223
Membru din: 06 Sep 2013, 11:19
Aprecieri: 12  
Mulţumiri: 126  
Medalii

Nu e un bug, e o prostie creata de un idiot . Un xerox .

Cod: Selectaţi tot

“The worst day of loving someone is the day that you lose them.”

― L.J Smith
Afișează semnătura
Avatar utilizator
NatsuDragneel
Nivel 2

Nivel 2
Mesaje: 297
Membru din: 28 Dec 2014, 23:27
Server: Nu am deocamdata
Regat: Chunjo
Aprecieri: 11  
Mulţumiri: 103  
Medalii

Seby. scrie:Şi pentru ce atâta bătaie de cap când poţi intra în CMD şi să pui "costume DISABLE" ? :-B
Daca citeai am pus si metoda aia....

oneX scrie:Asta nui rezolvare ci doar dezactivezi functia..

[ Postat de pe Android ] Imagine
Pai dezactivarea functiei era si ideea de rezolvare...
Unrivaled scrie:Nu e un bug, e o prostie creata de un idiot . Un xerox .
Am observat si eu ... Dar se pare ca iti cam pica serverul....
Avatar utilizator
Marggraf
Utilizator interzis !

Utilizator interzis !
Mesaje: 1074
Membru din: 25 Mai 2014, 12:46
Server: loading...
Regat: Shinsoo
Aprecieri: 36  
Mulţumiri: 36  
Medalii

pana la urma,comanda costume ce ar trb sa faca?
Imagine
Imagine
Afișează semnătura
Avatar utilizator
ArchaicPhantom
Nou Venit

Nou Venit
Mesaje: 46
Membru din: 16 Mar 2016, 00:29
Server: None
Regat: Jinno
Aprecieri: 13  
Mulţumiri: 1  
Medalii

Comanda /costume îți arată statusul itemelor de pe tine (costum/skin armă/eșarfă) problema era cu eșarfa dar cu soluția de mai sus când un player cu 5 bonusuri pe eșarfă folosește comanda /costume îi va arăta statusul costumului și skin-ului de armă fără a mai afișa statusul eșarfei echipate. PS: Mulțumesc pentru rezolvare, funcționează perfect fără nici-un fel de problemă și acum jucătorii pot folosi comanda fără a pica ch-ul.
Pentru acest mesaj, ArchaicPhantom for the post:
NatsuDragneel
Avatar utilizator
maic
Membru Club

Membru Club
Mesaje: 936
Membru din: 20 Sep 2015, 18:00
Aprecieri: 37  
Mulţumiri: 1331  
Discord: Copiază ID
Medalii

Asta nu este nicio REZOLVARE, doar dezactiveaza esarfa in comanda /costume. Sistem vechi, arhivat.

[ Postat de pe iPhone ] Imagine
ImagineImagine
Afișează semnătura
Închis
Răspunsuri
13
Vizualizări
844
Răspunsuri
14
Vizualizări
807
Răspunsuri
6
Vizualizări
406
Răspunsuri
2
Vizualizări
149

Înapoi la “Arhivă”

  • Informaţie
  • Cine este conectat

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