[Release] Usefull stuff

07/23/2011 22:46 MoepMeep#1
Nothing special, but useful :p

XP/Kill-Counter
Code:
	case 0x45://State Changed
			switch(Buffer[3])
			{
				case 0x19://Exp Increase
					DWORD exp = *(DWORD*)&Buffer[12];
					expCount+=exp;
					killCounter++;
                           }
Realistic use of Mission scrolls:

Code:
	case 0x07: // Get item
		{
			WORD itemtype = *(WORD*)&Buffer[3];
			if(amountScrolls > 0)
			{
				if(itemtype >= 1299 && itemtype <= 1365 && scrollid == 0)
				{
					scrollid = itemtype;
				}
				if(itemtype == scrollid)
				{
					DWORD itemscrollid = *(DWORD*)&Buffer[5];
					SendPacket(0x1e,"d",itemscrollid);
					SendPacket(0x15,"dbbww",11030/*npc ID*/,100,1,scrollid,1);
					amountScrolls--;
				}
			}
Buying one scroll starts the thing, check if the npc ID is still correct.

Free Sobs

Code:
	SendPacket(0x30,"bbbb",3,0,88,27); // lvl 20
	SendPacket(0x30,"bbbb",4,0,88,27); // lvl 40
        SendPacket(0x30,"bbbb",4,0,88,27); //lvl 60, untested
ES-Hack(Pserver only, crap way):

Code:
	if(bType == 0x45 && es == true)
	{
		if(estimer < GetTickCount()-14900)
		{
			if(chBuffer[3] == 0x0F )
			{
				medcounter+=3; // Using 3 mana meds(200 ones)
				Sleep(100); //Sending ES while ES active -> crash
				SendPacketHook(0x10,"b",34); // ES!
				estimer = GetTickCount();
			}
		}
	}
Reacting to def-change, reacting to buff gone would be better.

Adding more if I find something useful.
07/24/2011 22:07 Power_Stunner#2
Nice one, Germo boy ;o
08/03/2011 18:10 beluosus0#3
Quote:
Originally Posted by MoepMeep View Post
Code:
DWORD exp = *(DWORD*)&Buffer[12];
"exp" should be signed (e.g. INT) - in case of death (decreased exp).
08/03/2011 23:29 MoepMeep#4
Quote:
Originally Posted by beluosus0 View Post
"exp" should be signed (e.g. INT) - in case of death (decreased exp).
Well, my bots never died but I guess you are right :p
02/13/2012 17:05 SimSir#5
Some Packet Donate :) ^^

Get Inventory List

Packet Header: 0x04

PHP Code:
void Inventory(char *szBufferint iLength){
    
cout << "Inventory Scanning" << endl;
    
//Byte XX.XXXX.00000.XXXX ItemIndex.ItemID.00000.Amount
    
for(int i=4i<=iLength-16;i++){
        if (
szBuffer[i] != 0x00 && szBuffer[i+2] != 0x00 && szBuffer[i+6]==0x00 &&
            
szBuffer[i+7]==0x00 && szBuffer[i+8] == 0x00 && szBuffer[i+9]==0x00 &&
            
szBuffer[i+10]==0x00 && szBuffer[i+11]!=0x00){

            
WORD ItemIndexID    = *(WORD*)&szBuffer[i];
            
DWORD ItemID        = *(DWORD*)&szBuffer[i+2];
            
DWORD Amount        = *(DWORD*)&szBuffer[i+2+4+5];
            
cout <<"["<<Items[ItemIndexID].ItemName << "] Amount ["<<Amount <<"] ID: " << ItemID << endl;
        }


    }


Maybe need get medicine id ^^ for using

Put On Off item
Header 0x05 On - 0x06 Off

PHP Code:
void PutOnOffItem(char *szBuffer,bool State){
    
DWORD ItemID        = *(DWORD *)&szBuffer[7];
    
WORD ItemIndexID    = *(WORD *)&szBuffer[11];

    if (
State==0){
        
cout <<"[" <<Items[ItemIndexID].ItemName << "] Put on (" << ItemID <<")" << endl;
    }else{
        
cout <<"[" <<Items[ItemIndexID].ItemName << "] Put off (" << ItemID <<")" << endl;
    }


Player Stat (Max Hp, Current Hp, Max Mp, Current Mp) Loading Get This Packet Not State Change ^^

Header 0x42

PHP Code:
void PlayerStat (char *szBuffer){
    
PMe.curHp    = *(WORD *)&szBuffer[18];
    
PMe.maxHP    = *(WORD *)&szBuffer[20];
    
PMe.curMp    = *(WORD *)&szBuffer[22];
    
PMe.maxMP    = *(WORD *)&szBuffer[24];
    
cout << "Cur HP: " << PMe.curHp << " Max Hp: " << PMe.maxHP << " Cur Mp: " << PMe.curMp << " Max Mp: " << PMe.maxMP << endl;

02/13/2012 20:41 MyFreedom#6
Quote:
Originally Posted by MoepMeep View Post
Nothing special, but useful :p

XP/Kill-Counter
Code:
	case 0x45://State Changed
			switch(Buffer[3])
			{
				case 0x19://Exp Increase
					DWORD exp = *(DWORD*)&Buffer[12];
					expCount+=exp;
					killCounter++;
                           }
Realistic use of Mission scrolls:

Code:
	case 0x07: // Get item
		{
			WORD itemtype = *(WORD*)&Buffer[3];
			if(amountScrolls > 0)
			{
				if(itemtype >= 1299 && itemtype <= 1365 && scrollid == 0)
				{
					scrollid = itemtype;
				}
				if(itemtype == scrollid)
				{
					DWORD itemscrollid = *(DWORD*)&Buffer[5];
					SendPacket(0x1e,"d",itemscrollid);
					SendPacket(0x15,"dbbww",11030/*npc ID*/,100,1,scrollid,1);
					amountScrolls--;
				}
			}
Buying one scroll starts the thing, check if the npc ID is still correct.

Free Sobs

Code:
	SendPacket(0x30,"bbbb",3,0,88,27); // lvl 20
	SendPacket(0x30,"bbbb",4,0,88,27); // lvl 40
        SendPacket(0x30,"bbbb",4,0,88,27); //lvl 60, untested
ES-Hack(Pserver only, crap way):

Code:
	if(bType == 0x45 && es == true)
	{
		if(estimer < GetTickCount()-14900)
		{
			if(chBuffer[3] == 0x0F )
			{
				medcounter+=3; // Using 3 mana meds(200 ones)
				Sleep(100); //Sending ES while ES active -> crash
				SendPacketHook(0x10,"b",34); // ES!
				estimer = GetTickCount();
			}
		}
	}
Reacting to def-change, reacting to buff gone would be better.

Adding more if I find something useful.
Unstoppable
02/21/2012 09:10 SimSir#7
Get Character Skill tree Header 0x10 (on int server)

PHP Code:
void GetSkills(char *szBufferint iLength){
    
BYTE SkillCount = *(BYTE*)&szBuffer[3];//Standart Skill Count 15
    
cout << "Skill Count: "<<(int)SkillCount-15 <<endl
    if (
SkillCount 15){
        for(
int i=15;i<SkillCount;i++){
            
BYTE SkillID    = *(BYTE*)&szBuffer[(i*6)+4];
            
BYTE SkillLvl    = *(BYTE*)&szBuffer[(i*6)+4+1];
            
cout << "\t SkilID: " << (int)SkillID << " - Grade: " << (int)SkillLvl << endl;
        }    
    }

11/17/2012 14:51 nonosocr1986#8
Berserk hack xD

PHP Code:

if(berserk==&& BerserkCount < (GetTickCount()-60000) ){
SendKoemV2(0x10,"b",24);
BerserkCount GetTickCount();
PostMessage("WindowName",WM_KEYDOWN,0x36,NULL); //mana med 6th slot

11/17/2012 15:18 mohm195#9
Why you don't use packets for meds? :p

SendKoemV2(0x21,"d",ManaID);

You can get ID from recv 0x09 or 0x07.
11/17/2012 15:24 nonosocr1986#10
Quote:
Originally Posted by mohm195 View Post
Why you don't use packets for meds? :p

SendKoemV2(0x21,"d",ManaID);

You can get ID from recv 0x09 or 0x07.
yes u can , but then u should get index by dropping 1 med , i think what i did is faster , but yes both ways work fine ^^
01/14/2013 09:11 asdfg177#11
und was mache ich jetzt mit den codes, wenn ich einen kill counter für pserver machen will?