[Guide]Stats Stacken

04/17/2013 18:36 .Creative'#1
Hallo Community,

zuerst möchte ich mich an die Administratoren von Servern darauf hinweisen, folgenden Glitch/Bug zu fixxen.

Ihr benötigt:
- 2x C-Klasse Pet oder höher.
- Server muss das "Transfer Awakening System" drinne haben.
- Eine oder mehrere "Scroll of Transfer Awakening/-s"

How to:
Ihr erweckt eins der beiden Pets mit z.B 3x STR oder das was ihr haben wollt um es zu stacken.
Nun geht ihr zum NPC (Standart Jeff) und öffnet das Transfer Awakening Fenster.
Es sollte nun so aussehen:

[Only registered and activated users can see links. Click Here To Register...]

Nun macht ihr einen doppelklick auf euer erwecktes Pet und zieht es in den Linken Slot.
Das nicht erweckte Pet in den Mittleren Slot und die Scroll of Transfer Awakening in den Rechten Slot.
Nun bestätigt ihr dies, und wiederholt es beliebig oft, ihr merkt den Unterschied wenn ihr Damage testet.
Oder euer Stat Fenster mit der Taste H öffnet.

Hoffe ihr habt bis zum fixxen des Glitch/Bugs noch ein bisschen Spaß.

Ich habe ebenfalls hingeweisen den Bug zu fixxen, der Thread befindet sich hier: [Only registered and activated users can see links. Click Here To Register...]
04/17/2013 18:47 Chriѕ#2
Netter post. Wenn es geht ist es kuhl :D
Sollte aber sehr leicht zu fixen sein ^.^
04/17/2013 18:59 .Creative'#3
Quote:
Originally Posted by Metamoor View Post
Netter post. Wenn es geht ist es kuhl :D
Sollte aber sehr leicht zu fixen sein ^.^
Es ist SEHR leicht zu fixxen, gehen tut es auf jedem Server mit dem System.
04/17/2013 19:03 i33zGames#4
Hier der Fix:

DPSrvr.cpp (WorldServer)

Ersetzt:

Code:
	pUser->UpdateItem( (BYTE)( pMaterial->m_dwObjId ), UI_NUM, pMaterial->m_nItemNum - 1 );
	pUser->UpdateItemEx( (BYTE)( pDest->m_dwObjId ), UI_RANDOMOPTITEMID, pDest->GetRandomOptItemId() );
	pUser->UpdateItemEx( (BYTE)( pSource->m_dwObjId ), UI_RANDOMOPTITEMID, pSource->GetRandomOptItemId() );
Mit:
Code:
				if(pUser->HasActivatedSystemPet() && pSource->GetProp()->dwItemKind3 == IK3_EGG || pUser->HasActivatedEatPet() && pSource->GetProp()->dwItemKind3 == IK3_PET ) 
				{
					char chMessage[100];
					sprintf( chMessage, "Hol dein Pet oder CS Pet rein! Sonst kannst du es nicht transferieren" );
					pUser->AddText( chMessage );
				}
else
{
	pUser->UpdateItem( (BYTE)( pMaterial->m_dwObjId ), UI_NUM, pMaterial->m_nItemNum - 1 );
	pUser->UpdateItemEx( (BYTE)( pDest->m_dwObjId ), UI_RANDOMOPTITEMID, pDest->GetRandomOptItemId() );
	pUser->UpdateItemEx( (BYTE)( pSource->m_dwObjId ), UI_RANDOMOPTITEMID, pSource->GetRandomOptItemId() );
}
Sollte so gehen ;)

Oder nach:

Code:
	if(pSource->GetProp()->dwParts != pDest->GetProp()->dwParts )
	{
		pUser->AddText("Error! Item Klassen sind nicht identisch. ");
		return;
	}
Dashier:

Code:
				if(pUser->HasActivatedSystemPet() && pSource->GetProp()->dwItemKind3 == IK3_EGG || pUser->HasActivatedEatPet() && pSource->GetProp()->dwItemKind3 == IK3_PET ) 
				{
					char chMessage[100];
					sprintf( chMessage, "Hol dein Pet oder CS Pet rein! Sonst kannst du es nicht transferieren" );
					pUser->AddText( chMessage );
	                                return;
				}
04/17/2013 19:25 .S0urce#5
Gibt noch viel mehr Möglichkeiten um zu Stacken, die nicht Public sind, wofür man das gewisse Know How haben muss.
MfG
04/17/2013 20:55 TrøublêMakêr#6
Quote:
Originally Posted by i33zGames View Post
Hier der Fix:

DPSrvr.cpp (WorldServer)

Ersetzt:

Code:
	pUser->UpdateItem( (BYTE)( pMaterial->m_dwObjId ), UI_NUM, pMaterial->m_nItemNum - 1 );
	pUser->UpdateItemEx( (BYTE)( pDest->m_dwObjId ), UI_RANDOMOPTITEMID, pDest->GetRandomOptItemId() );
	pUser->UpdateItemEx( (BYTE)( pSource->m_dwObjId ), UI_RANDOMOPTITEMID, pSource->GetRandomOptItemId() );
Mit:
Code:
				if(pUser->HasActivatedSystemPet() && pSource->GetProp()->dwItemKind3 == IK3_EGG || pUser->HasActivatedEatPet() && pSource->GetProp()->dwItemKind3 == IK3_PET ) 
				{
					char chMessage[100];
					sprintf( chMessage, "Hol dein Pet oder CS Pet rein! Sonst kannst du es nicht transferieren" );
					pUser->AddText( chMessage );
				}
else
{
	pUser->UpdateItem( (BYTE)( pMaterial->m_dwObjId ), UI_NUM, pMaterial->m_nItemNum - 1 );
	pUser->UpdateItemEx( (BYTE)( pDest->m_dwObjId ), UI_RANDOMOPTITEMID, pDest->GetRandomOptItemId() );
	pUser->UpdateItemEx( (BYTE)( pSource->m_dwObjId ), UI_RANDOMOPTITEMID, pSource->GetRandomOptItemId() );
}
Sollte so gehen ;)

Oder nach:

Code:
	if(pSource->GetProp()->dwParts != pDest->GetProp()->dwParts )
	{
		pUser->AddText("Error! Item Klassen sind nicht identisch. ");
		return;
	}
Dashier:

Code:
				if(pUser->HasActivatedSystemPet() && pSource->GetProp()->dwItemKind3 == IK3_EGG || pUser->HasActivatedEatPet() && pSource->GetProp()->dwItemKind3 == IK3_PET ) 
				{
					char chMessage[100];
					sprintf( chMessage, "Hol dein Pet oder CS Pet rein! Sonst kannst du es nicht transferieren" );
					pUser->AddText( chMessage );
	                                return;
				}

Man konn doch stacken, wenn man es transferd und nicht während des Transfers das Pet drausen hat oder?
04/18/2013 02:09 xMootie#7
This is why you don't use leaked code... Also, boring exploit IMO. Buffer overflows are much more interesting to play with.
04/18/2013 13:57 Мarvіn#8
Quote:
Originally Posted by Averro View Post
Sehr stark geworden mentus ?

Naja ich finds gut ;)
Wo er Recht hat, hat er Recht.
Ich mein, schau dir das System an. Auf dem ersten Blick dachte ich mir selber:
"Ach komm, das funktioniert bestimmt ganz gut und kann auch verwendet werden."
Später habe ich es bereut .. das erste und letzte Mal dass ich ein eben so
hingeklatsch und releastes System in einen Server einbaue.

Und sowieso: Das System macht die Zeitdauer für das Aufrüsten des EQs
nur noch leichter für die Spieler.
04/21/2013 11:45 Select_#9
Es ist zwar leicht zu fixen, dennoch geht es noch auf vielen Servern :D
05/07/2013 15:04 Jestercookie#10
Ich muss dafür jedes mal en neues Pet nehmen also einmal so wie dus beschreibst und dann wieder zwei neue sonst passiert nix :O mach ich was falsch :D
05/07/2013 21:35 Crowley™#11
Quote:
Originally Posted by Select_ View Post
Es ist zwar leicht zu fixen, dennoch geht es noch auf vielen Servern :D
Jo das liegt daran weil viele Server keinen Source haben ^-^
Wenn man weis wie es geht ist alles einfach zu Fixen ;)