[Suche]Packet Bot Source

05/25/2009 11:37 cheater-.-#1
Suche einen sourcecode von einem Packetbot, möglichst noch funktionstüchtig, um zu verstehen wie er funktioniert.. ich meine hier im forum wäre sowas mal rumgeflogen.. kann jem den link posten? ;) Finde ihn nicht

Danke
05/25/2009 11:57 meak1#2
[Only registered and activated users can see links. Click Here To Register...] Danke.
05/25/2009 15:07 yazhimo#3
hey if u finish the packetbot maybe u can post address to gere or send to my e-mail : [Only registered and activated users can see links. Click Here To Register...]

Keep it cool ! xD
05/25/2009 15:18 chibis#4
posted a working source (should still work) like 5 times, but i think no1 noticed it -.-'
05/25/2009 15:36 katze123#5
chibis da oben is sie doch...
english: chibis, the link to the source is posted in this thread xD
05/25/2009 16:12 chibis#6
Quote:
Originally Posted by katze123 View Post
chibis da oben is sie doch...
english: chibis, the link to the source is posted in this thread xD
bakabug != chibis
05/25/2009 16:43 BorSti#7
in deiner source sind einfach zu viele // und /* */ die wird einfach nicht verstanden :P
05/25/2009 20:57 cheater-.-#8
chibis dann poste bitte mal den link zu deinem code :) wäre sehr dankbar.. selbst wenn es nur code snippets sind.. bin für alles dankbar was dafür diehnt erstmal ein eigenen bot "zusammen zu kopieren" und selbstzuschreiben.. das problem für mich ist im moment der anfang.. ich habe grundlegende kentnisse in c++ und anderen sprachen.. aber mir fehtl der anfang atm..

edit:

der bot soll am anfang nur erkennne wenn an mob bei mir ist und ihn angreifen.. nicht laufen oder so...
damit ich z.b. d1r0 z.b. botten kann.

was dann vllt kommen soll wäre eine behead funktion und eine pick funktion..

bin jedoch erstmal für grundlegende sachen dankbar :)
05/25/2009 22:37 BorSti#9
Quote:
Originally Posted by cheater-.- View Post
chibis dann poste bitte mal den link zu deinem code :) wäre sehr dankbar.. selbst wenn es nur code snippets sind.. bin für alles dankbar was dafür diehnt erstmal ein eigenen bot "zusammen zu kopieren" und selbstzuschreiben.. das problem für mich ist im moment der anfang.. ich habe grundlegende kentnisse in c++ und anderen sprachen.. aber mir fehtl der anfang atm..
klick auf chibis namen dann kommste auf seine page - statistiken - alle post bei chibis seil dich durch und dann haste sie - dann einfach ne fertig relese source nehmen und hf xD
05/26/2009 00:14 cheater-.-#10
[Only registered and activated users can see links. Click Here To Register...]

das meintet ihr?

danke hat mit schonmal weitergehofen.. nur war das gößtenteils bekannt.. bräuicht ein halbwegs funktionierendes grundgerüst.. oder meinste deine c/c++ dateien kann ich noch nehmen? und sind "brauchbar" also nicht voll veraltet?
05/26/2009 13:28 meak1#11
ne das nich ;D
05/26/2009 15:29 cheater-.-#12
wie? sauerrei^^

naja ne frage nebenbei, falls noobs mitlesen (wie ich auch einer bin :) )

ich würde das ganze, mitbloggen, da ich ja hoffe in absehbarer zeit ein kleinen bot zum laufen zu kriegen. Besteht da interesse? dann koennte jeder der genauso bei 0 anfängt wie ich eine schritt fuer schritt anleitung mitlesen was ich mache/probleme und lösungen.. wenn ich anderen helfen kann würde ich das machen.. interesse jem?

es wird kein "fachschinesisch" sein was ich da schreibe, jeder würde es verstehen
05/26/2009 16:52 katze123#13
Quote:
Originally Posted by chibis View Post
bakabug != chibis
habe ich gesagt, dass chibis = bakabug? .. nein

zum topic: bin nicht interessiert "cheater-.-" :D
05/26/2009 19:08 chibis#14
PHP Code:
void spot()
{
    
spotx Player[0].X;
    
spoty Player[0].Y;
    
printf("Spot: X: [%d], Y: [%d]\n",spotx,spoty);
}

// gehst mit deinm char zum spot (also da, wo die meisten mobs spawnen) und führst den thread aus

void save()
{
    
savex Player[0].X;
    
savey Player[0].Y;
    
printf("Saveplace: X: [%d], Y: [%d]\n",savex,savey);
}

// gehst mit deinm char zu ner "save zone" (muss keine richtige save zone sein, hauptsache kaum bzw keine mobs, da er sich dort hin moved wenn er kaum hp mehr hat) und führst den thread aus

if (strcmp(input,"mobclasse") == 0)
{
    
printf("Enter mobclasse 1, where u want to bot(enter the number and then relog!!!): \n");
    
scanf_s("%d",&mobclasse1);
    
printf("Enter mobclasse 2:\n");
    
scanf_s("%d",&mobclasse2);
    
printf("Botting at Mobclasse: [%d] and [%d]\n",mobclasse1,mobclasse2);


//durch eingeben der mobclasse z.B. Water Dragons (20) und Hungry Water Dragons (21) werden auch nur diese mobs als mob erkannt, so dass er nur diese mobs angreift und nicht "wegläuft"

if (strcmp(input,"bot") == 0)
{
    
printf("Run bot\n");
    
Underground();
    
int i;
    
int safex,safey,mob_count;
    
int lowhealth = (maxhp*0.90);
    
int dangerzone = (maxhp*0.40);
    
behead 1;
    
safex Player[0].X;
    
safey Player[0].Y;

    while(
mybot == 1)
    {
        
behead 1;
        
int closest_id 0;
        
float closest_range 65535000;
        
float closest_sqrt_range 65535000;
        
int closest_difxclosest_dify;
        
float sqrt_range 0;
     
        
        if (
dangerzone hp// wenn hp sehr low ist, zu save laufen
        
{
            
//run
            
char messagetext[255] = "*Very low HP, running to safe.";
            
SendDetour(0x11,"Us",last_u,messagetext); 
            
behead=0;
            
int difx=Player[0].X-safex;
            
int dify=Player[0].Y-safey;
            
float range=(difx difx)+(dify dify);
            
float sqrt_range=sqrt(range);
            if (
sqrt_range 50.0)
            {
                
unsigned char tempsafex=-(difx/sqrt(range))*30;
                
unsigned char tempsafey=-(dify/sqrt(range))*30;
                
printf("Very Low HP\n");
                
SendDetour(0x15,"Ubbb",last_u,tempsafex,tempsafey,0) ;
                
SendDetour(0x21,"Ud",last_u,dropID); // med nehmen
                
Sleep(50);
                
int movestatus 0;
                while (
dangerzone hp)
                    {
                        
SendDetour(0x21,"Ud",last_u,dropID); // med nehmen
                    
}
                
Underground();
                
                while (
movestatus == 0
                    {
                        
int difx=Player[0].X-savex;
                        
int dify=Player[0].Y-savey;
                        
float range=(difx difx)+(dify dify);
                        
float sqrt_range=sqrt(range);
                        if (
sqrt_range 20.0)
                            {
                                
unsigned char movex=-(difx/sqrt(range))*30;
                                
unsigned char movey=-(dify/sqrt(range))*30;
                                
char messagetext[255] = "*Low HP, moving back to saveplace.";
                                
SendDetour(0x11,"Us",last_u,messagetext);
                                
printf("Moving to Saveplace because low hp\n");
                                
SendDetour(0x15,"Ubbb",last_u,movex,movey,0) ;
                                
SendDetour(0x21,"Ud",last_u,dropID);
                                
Sleep(50);
                            }
                            else
                                {
                                    
printf("Arrived at Saveplace, potting ...\n");
                                    
movestatus 1;
                                    
SendDetour(0x21,"Ud",last_u,dropID); // med nehmen
                                    
Underground();
                                }
                            }
                    }
                continue;
                }
        if (
mobsx == 0// wenn keine mobs vorhanden, zum spot laufen
        
{
            
int difx=Player[0].X-safex;
            
int dify=Player[0].Y-safey;
            
float range=(difx difx)+(dify dify);
            
float sqrt_range=sqrt(range);
            if (
sqrt_range 50.0)
            {
                
unsigned char tempsafex=-(difx/sqrt(range))*30;
                
unsigned char tempsafey=-(dify/sqrt(range))*30;
                
printf("No mobs in area\n");
                
SendDetour(0x15,"Ubbb",last_u,tempsafex,tempsafey,0) ;
                
Sleep(50);

                
int movestatus 0;
                
Underground();
                while (
movestatus == 0)
                    {
                        
int difx=Player[0].X-spotx;
                        
int dify=Player[0].Y-spoty;
                        
float range=(difx difx)+(dify dify);
                        
float sqrt_range=sqrt(range);
                        if (
sqrt_range 20.0)
                            {
                                
unsigned char movex=-(difx/sqrt(range))*30;
                                
unsigned char movey=-(dify/sqrt(range))*30;
                                
char messagetext[255] = "*No Mobs, moving back to spot.";
                                
SendDetour(0x11,"Us",last_u,messagetext);
                                
printf("Moving back to Spot\n");
                                
SendDetour(0x15,"Ubbb",last_u,movex,movey,0) ;
                                
Sleep(50);
                            }
                            else
                                {
                                    
printf("Arrived at Spot\n");
                                    
movestatus 1;
                                    
Underground();
                                }
                            }
                    }
                continue;
            }

        
mob_count 0;
        for (
i=0;i<500;i++)
        {
            if (
Mob[i].!= 0)
            {
                if (
Mob[i].HP == 0)
                {
                    
Mob[i].0;
                    continue;
                }
                if (
Mob[i].Classe == mobclasse1 || Mob[i].Classe == mobclasse2)
                {
                
mob_count++;
                
int difx=Player[0].X-Mob[i].X;
                
int dify=Player[0].Y-Mob[i].Y;
                
float range=(difx difx)+(dify dify);
                
float sqrt_range=sqrt(range);

                if (
range closest_range)
                {
                    
closest_range range;
                    
closest_id Mob[i].MID;
                    
closest_sqrt_range sqrt_range;
                    
closest_difx difx;
                    
closest_dify dify;
                }
            }
        }
    }

        if ((
playerx == || playerx >= )) // unnötig ^^
        
{
            if (
closest_sqrt_range 50.0)
            {
                if (
Player[0].Classe == 129// 129 = mage, hier erfolgt der attack
                
{
                    
SendDetour(0x2b,"Ubd",last_u,4,0,closest_id);
                    
SendDetour(0x10,"Ubbd",last_u,4,1,closest_id);

                }
                else 
// wenn du keine mage bist, dann normal hits vom PA
                
{
                    
SendDetour(0x0F,"Ubdd",last_u,1,closest_id,lastweapon);
                    
Sleep(400);
                }

                
Sleep(100);

            }
            else 
// wenn man nicht angreifen kann, liegts daran, dass das mob zu weit weg is, also zum mob laufen
            
{
                
unsigned char tempx=-(closest_difx/sqrt(closest_range))*30;
                
unsigned char tempy=-(closest_dify/sqrt(closest_range))*30;

                
printf("Move to mob\n");
                
SendDetour(0x15,"Ubbb",last_u,tempx,tempy,0) ;
                
Sleep(10);
            }
        }

// hier kommt das selbe! wie oben, der unterschied in der if anwweisung. wenn du 90% deiner hp hast, attackz der bot weiter und benutzt dabei meds

        
if (((playerx == || playerx >= 2))&&((lowhealth hp)&&(hp dangerzone)))
        {
            if (
closest_sqrt_range 50.0)
            {
                if (
Player[0].Classe == 129)
                {

                    
SendDetour(0x2b,"Ubd",last_u,4,0,closest_id);
                    
SendDetour(0x10,"Ubbd",last_u,4,1,closest_id);

                }
                else
                {

                    
SendDetour(0x0F,"Ubdd",last_u,1,closest_id,lastweapon);
                    
SendDetour(0x21,"Ud",last_u,dropID); // med nehmen
                    
Sleep(400);
                }

                
Sleep(100);

            }

            else
            {
                
unsigned char tempx=-(closest_difx/sqrt(closest_range))*30;
                
unsigned char tempy=-(closest_dify/sqrt(closest_range))*30;

                
printf("Move to mob\n");
                
SendDetour(0x15,"Ubbb",last_u,tempx,tempy,0) ;
                
Sleep(10);
            }
        }
    }
    } 
müsste man locker verstehen, wenn man sich mal nen bissle damit auseinander setzt ... send und recv müsst ihr schon selber machen, wobei das nicht grad schwierig ist
man sollte vll noch eine funkion schreiben, die die eingetragenen mobs löscht, is wichtig u.a. wichtig bei "mobclasse". Man sollte die mobclasse vom mob eingeben, relog machen, alle vorhandenen mobs löschen (einfach per mobsx = 0) und wieder einloggen, sodass es zu keinem komplikationen kommt

und um kommentaren vorzubeugen ... der code is nicht gut und einige ideen sind schlecht bzw. sehr schlecht, aber an sich läuft bzw. lief er einwandfrei :)
05/27/2009 12:28 cheater-.-#15
danke chibis! das brigt mich um einiges weiter (hoffe ich :) )
sieht vielversprechend aus ^^

muss jetzt arbeiten, werde mich so um 8 uhr mal dranmachen