Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
C/C++ Open Source Bot
#16
Du bist herzlich Willkommen, richthofen Smile


Ich glaube, ich veröffentliche nicht den gesamten Quellcode, sondern gebe ihn nur an Entwickler

Um euch einen Vorgeschmack zu geben, poste ich hier die Ausbau Funktion, mit der ich überhaupt nicht zufrieden bin.

Hier können wir ja schonmal anfangen gemeinsam daran zu arbeiten.

btwBig Grinie Kommentare habe ich gerade lieblos hinzugefügt, also nicht wundern. Die Formatierung ging auch verloren Sad

PHP Code:
/*
Vorinfos:
Klasse TBot gegeben. Die vcl von Codegear wird verwendet.
IdHTTP1 basiert auf den Indy Bibliotheken.
GET Methode (ziemlich billig):
AnsiString TIdHTTP::Get(AnsiString url); <- verarbeitet Umleitungen u. Cookies automatisch

*/
int TBot::Build(void)
{
    
int cnt=0;

    
AnsiString recv_buf=IdHTTP1->Get(server+"/game.php?village="+vlgnr+"&screen=main"); //recv_buf -> HTML-Output des Hauptgebäudes \n vlgnr -> ID des aktuellen Dorfes
    
if(FarmFull(recv_buf))
    {
        if(!
CanBuild(recv_buf,"farm")&&Points()<9250)
            {}
//Form1->RichEdit1->Lines->Add(name+":\t Bauernhofkapazität erschöpft");
// Funktionen, die überprüfen, ob der Bauernhof voll ist, und/oder weiter ausgebaut werden kann
    
// AnsiContainsStr gibt aus, ob der Teilstring im String vorhanden ist
    
while(AnsiContainsStr(recv_buf,"action=build")&&( //Das hier ist blöd
        
AnsiContainsStr(recv_buf,"id=main")        ||
        
AnsiContainsStr(recv_buf,"id=barracks")    ||
        
AnsiContainsStr(recv_buf,"id=stable")    ||
        
AnsiContainsStr(recv_buf,"id=smith")    ||
        
AnsiContainsStr(recv_buf,"id=wood")        ||
        
AnsiContainsStr(recv_buf,"id=stone")    ||
        
AnsiContainsStr(recv_buf,"id=iron")        ||
        
AnsiContainsStr(recv_buf,"id=farm")        ||
        
AnsiContainsStr(recv_buf,"id=market")    ||
        
AnsiContainsStr(recv_buf,"id=storage")    ||
        
AnsiContainsStr(recv_buf,"id=wall")           ))
    {
        
TStringList *html=new TStringList(); //String Liste, der
        
split(html,recv_buf,"\n"); // ... alle Zeilen des HTML-Outputs zugewiesen werden

        
for(int i=0;i<html->Count;i++)
        {
            if(
AnsiContainsStr(html->Strings[i],"action=build")&&( // auch Scheiße
        
AnsiContainsStr(html->Strings[i],"id=main")        ||
        
AnsiContainsStr(html->Strings[i],"id=barracks")    ||
        
AnsiContainsStr(html->Strings[i],"id=stable")    ||
        
AnsiContainsStr(html->Strings[i],"id=smith")    ||
        
AnsiContainsStr(html->Strings[i],"id=wood")        ||
        
AnsiContainsStr(html->Strings[i],"id=stone")    ||
        
AnsiContainsStr(html->Strings[i],"id=iron")        ||
        
AnsiContainsStr(html->Strings[i],"id=farm")        ||
        
AnsiContainsStr(html->Strings[i],"id=market")    ||
        
AnsiContainsStr(html->Strings[i],"id=storage")    ||
        
AnsiContainsStr(html->Strings[i],"id=wall")           ))
            {
                
AnsiString build=BtWn(html->Strings[i],"href=\"","\">"); //BtWn(String str,String one,String two) gibt den String zwischen one und two von str aus

                
if(AnsiContainsStr(html->Strings[i],"javascript"))
                    
build=BtWn(html->Strings[i],", '","')");

                
recv_buf=IdHTTP1->Get(server+"/"+build);
                
cnt++;
            }
        }
        
delete html//saubermachen
    
}
    return 
cnt//anzahl der ausgebauten gebäude zurückgeben
}
bool TBot::FarmFull(String recv_buf)
{
    
AnsiString is=BtWn(recv_buf,"<td align=\"center\">","/"),
        
limit=BtWn(recv_buf,"<td align=\"center\">","/td>");
        
limit=BtWn(limit,"/","<");
    return (
StrToInt(limit)==StrToInt(is)?true:false);
}
bool TBot::CanBuild(String mainb,String id)
{
    
TStringList *html=new TStringList();
    
split(html,mainb,"\n");bool can=false;

    for(
int i=0;i<html->Count;i++)
    {
        if(
AnsiContainsStr(html->Strings[i],"action=build")
            &&
AnsiContainsStr(html->Strings[i],"&id="+id))
        
can=true;

    }
    
delete html;
    return 
can;

Kein Support per PM!
Reply


Messages In This Thread
C/C++ Open Source Bot - by iNk - 04.04.2009, 21:42
RE: C/C++ Open Source Bot - by Agamendon - 04.04.2009, 21:47
RE: C/C++ Open Source Bot - by iNk - 04.04.2009, 21:53
RE: C/C++ Open Source Bot - by Agamendon - 04.04.2009, 21:55
RE: C/C++ Open Source Bot - by Devil94 - 04.04.2009, 22:40
RE: C/C++ Open Source Bot - by -superking- - 05.04.2009, 08:42
RE: C/C++ Open Source Bot - by iNk - 05.04.2009, 09:14
RE: C/C++ Open Source Bot - by -superking- - 05.04.2009, 10:13
RE: C/C++ Open Source Bot - by iNk - 05.04.2009, 10:22
RE: C/C++ Open Source Bot - by -superking- - 05.04.2009, 10:53
RE: C/C++ Open Source Bot - by iNk - 05.04.2009, 11:02
RE: C/C++ Open Source Bot - by agrafix - 05.04.2009, 11:33
RE: C/C++ Open Source Bot - by iNk - 05.04.2009, 11:48
RE: C/C++ Open Source Bot - by richthofen - 05.04.2009, 11:54
RE: C/C++ Open Source Bot - by Agamendon - 05.04.2009, 13:10
RE: C/C++ Open Source Bot - by iNk - 05.04.2009, 13:28
RE: C/C++ Open Source Bot - by Agamendon - 05.04.2009, 14:06
RE: C/C++ Open Source Bot - by iNk - 05.04.2009, 14:09
RE: C/C++ Open Source Bot - by richthofen - 05.04.2009, 14:39
RE: C/C++ Open Source Bot - by iNk - 05.04.2009, 14:42
RE: C/C++ Open Source Bot - by richthofen - 05.04.2009, 14:45
RE: C/C++ Open Source Bot - by iNk - 05.04.2009, 14:51
RE: C/C++ Open Source Bot - by richthofen - 05.04.2009, 14:59
RE: C/C++ Open Source Bot - by iNk - 05.04.2009, 16:17
RE: C/C++ Open Source Bot - by richthofen - 05.04.2009, 16:25
RE: C/C++ Open Source Bot - by iNk - 05.04.2009, 16:30
RE: C/C++ Open Source Bot - by richthofen - 05.04.2009, 16:40
RE: C/C++ Open Source Bot - by Agamendon - 05.04.2009, 16:46
RE: C/C++ Open Source Bot - by iNk - 05.04.2009, 16:54
RE: C/C++ Open Source Bot - by richthofen - 05.04.2009, 17:19
RE: C/C++ Open Source Bot - by iNk - 05.04.2009, 17:21
RE: C/C++ Open Source Bot - by richthofen - 05.04.2009, 17:29
RE: C/C++ Open Source Bot - by Agamendon - 05.04.2009, 18:41
RE: C/C++ Open Source Bot - by richthofen - 05.04.2009, 18:46
RE: C/C++ Open Source Bot - by agrafix - 06.04.2009, 14:11
RE: C/C++ Open Source Bot - by iNk - 06.04.2009, 14:36
RE: C/C++ Open Source Bot - by richthofen - 06.04.2009, 15:01
RE: C/C++ Open Source Bot - by Milu2K - 06.04.2009, 17:38
RE: C/C++ Open Source Bot - by shirocco - 05.06.2009, 21:06
RE: C/C++ Open Source Bot - by iNk - 05.06.2009, 21:11
RE: C/C++ Open Source Bot - by shirocco - 05.06.2009, 21:17



Users browsing this thread: 1 Guest(s)