Bot tutorial - Printable Version +- TWLan Forum (https://twlan.org) +-- Forum: Deutsch (https://twlan.org/forumdisplay.php?fid=1) +--- Forum: Gott und die Welt (https://twlan.org/forumdisplay.php?fid=4) +--- Thread: Bot tutorial (/showthread.php?tid=1127) Pages:
1
2
|
Bot tutorial - szepi - 11.02.2009 Hallo, ich hätte den vorschlag, dass doch einer von denen die sich hier auskennen, vll mal ein Bot tutorial macht: Wie schreibt man einen Bot für Ds-lan. Bisher haben sich ja schon mehrere an einem Bot versucht, aber immer wird ein großes Geheimnis aus den scripten gemacht, sodass Php-Anfänger so wie ich, viele schwierigkeiten haben, selbst mal einen zu schreiben. Wenn einer hier seine Bot-Kenntnisse ins Forum stellen würde, könnte man das Prinzip genauer verstehen und dadurch einen Bot seinen eigenen Vorstellungen entsprechend schreiben und hier im Forum veröffentlichen. So könnte jeder Anfänger auch mal seinen Teil dazusteuern. Ein Beispiel- Bot würde ja schon reichen um das Prinzip zu erkennen und wenn jeder seinen Code vor dem anderen versteckt, wird es niemals den perfekten Bot geben, sondern nur viele angefangene die alle irgendwo noch ihre schwäche haben... Wäre echt cool wenn sich jemand darum bemühen würde. mfg RE: Bot tutorial - benji889 - 11.02.2009 Sehr unwahrscheinlich das das jemand macht...das wurde schon öfter, erfolgos, gefragt.... RE: Bot tutorial - emoser - 11.02.2009 Gefragt wurde soweit ich weiß noch nie... Naja wenn du meinst wie ich einen Bot zb von agrafix zum laufen bringe dann lies die readme. Wenn du meinst wie du selber einen machst dann hast du ein problem weil jeder seine Bots anders macht. RE: Bot tutorial - szepi - 11.02.2009 ich meine wie man einen selber schreibt^^naja, vom prinzip sind die bots ausgenommen die ink version alle gleich, sie verändern die Datenbank... die bots mögen zwar inhaltlich etwas anders aufgebaut sein, aber ich denke vom grundgerüst her müsstes da kaum unterschiede geben. Und ansonsten orientiert man sich halt an der vorgehensweise von demjenigen ders erklärt Deswegen wärs echt toll wenn jemand das machen würde. RE: Bot tutorial - emoser - 11.02.2009 Frag agrafix oder superking. Die sind super darin... Ich glaube milos wollte auch mal nen machen... Bin leider nicht mehr so aktiv wie früher... Frag einfach ein bisschen rum dann bekommst du alles was du willst. mfg emoser RE: Bot tutorial - benji889 - 11.02.2009 Nun ja wie gesagt nach meiner erfarhung ist die hilfsbereitschaft da echt nicht so gut... naja würde mich freuen wenn das jemand macht RE: Bot tutorial - agrafix - 11.02.2009 ~ moved to "Sonstige Fragen" Ein Bot zu programmieren ist eigentlich relativ einfach, mein Bot besteht aus 570 Zeilen Code (incl. Datenbankfunktionen und Ausgabefunktionen). Du musst dir zuerst eine "Künstliche Inteligenz" überlegen, und diese dann Programmtechnisch realisieren. RE: Bot tutorial - szepi - 12.02.2009 Das mit der künstlichen intelligenz dürfte kein Problem sein, ich würde ihm meine Taktik verleihen, und vll noch n paar tricks reinproggen. War auf vielen Welten schon in den Top 20, auf Welt 6 n paar Wochen sogar auf Platz 1 mit meinem Killing Scream acc. Also von den Spielkenntnissen dürfte es nicht so schwer sein, meine Probleme sind eher die Php-kenntnisse. Ich weiß dank Milos halt nur den Anfang, wie man sich in die Mysql Datenbank einloggt und so. <?php include("../include.inc.php"); mysql_connect('localhost', 'root', NULL, 'lan'); mysql_select_db('lan'); echo "Der bot wird gestartet"; mysql_query ("UPDATE villages SET main = main + 1 WHERE userid = 2"); create_village(2,'D2zA',random); reload_all_village_points(); reload_all_player_points(); reload_all_ally_points(); reload_ally_rangs(); reload_player_rangs(); reload_kill_player(); echo map(search_villages); ?> Meine Fragen wären jetzt noch, z.B wie frag ich ab welcher Spieler welche id hat, oder wie hoch alle Gebäudestufen in dem Dorf sind. Ein Ausschnitt, indem z.B soeine abfrage statfinden würde,oder jeder Programmtext würd mir schon helfen um die Vorgehensweise zu verstehen. Ich nehme mal an bei dem Bot wiederholt sich das textschema eh öfters. RE: Bot tutorial - iNk - 12.02.2009 eine KI ist nicht so einfach, wie sie sich anhört. Ich kenne mich nicht mit PHP aus, doch unter C++ ist es ziemlich aufwendig Vergleichbares zu realisieren. Da besteht die Schwierigkeit insbesondere beim Parsen der Webseite. Du musst Unmengen an Informationen verarbeiten, damit dein Bot ein guter Spieler wird, denn man programmiert genau das, was man selbst macht. Hier eine beispielhafte Login-Prozedur:
natürlich braucht man kein login, wenn man einen bot proggt, der die datenbank modifiziert. Aber so in der Art proggt man seine algorithmen. RE: Bot tutorial - -superking- - 13.02.2009 der große vorteil von php ist dabei, das man direkt auf die daten zugreifen kann, ohne eine webseite zu parsen. dies lässt sich mit mysql funktionen realisieren RE: Bot tutorial - Milu2K - 13.02.2009 (12.02.2009, 20:53)szepi Wrote: Das mit der künstlichen intelligenz dürfte kein Problem sein, ich würde ihm meine Taktik verleihen, und vll noch n paar tricks reinproggen.Haha Das ist der skript den ich dir gegeben hab Bei PHP Code: create_village(2,'D2zA',random); PHP Code: create_village(2,'D2zA',rand(530, 550)); Die Abfrage für Gebäuden machst du so: PHP Code: $mainstep = mysql_query("SELECT GEBÄUDE FROM village WHERE userid = userid") ID ABLESEN PHP Code: $idsql = mysql_query("SELECT id FROM users WHERE username = USERNAME") RE: Bot tutorial - agrafix - 13.02.2009 Hallo, also milos was du hier verbreitest ist leider nicht ganz richtig. Mit Code: UPDATE villages SET main = main + 1 WHERE userid = $idresult Ach dieser Teil ist mir rätselhaft: PHP Code: mysql_query ("UPDATE villages SET main = main + 1 WHERE userid = 2"); Erst mal etwas "bauen", und dann ein Dorf erstellen? Komische Logik... Die Gebäudestufenabfrage machst du so: PHP Code: $result = mysql_query("SELECT * FROM villages WHERE userid = ".$botid); Oder geziehlt: PHP Code: $result = mysql_query("SELECT * FROM villages WHERE id = ".$dorfid); RE: Bot tutorial - szepi - 13.02.2009 Danke schonmal für eure hilfe Das werde ich direkt mal ausprobieren. (13.02.2009, 15:45)agrafix Wrote: Hallo, Ja stimmt, dass erhöht alle hauptgebäude des spielers... wie würde ich denn nur das von einem bestimmten dorf erhöhen? RE: Bot tutorial - Milu2K - 13.02.2009 PHP Code: UPDATE villages SET main = main + 1 WHERE id = $villageid RE: Bot tutorial - Mister Jojo - 14.02.2009 und wo muss ich angriffe eintragen, also in welche table? RE: Bot tutorial - Milu2K - 14.02.2009 Ich glaube in Movements oder mit der Function add_movement() RE: Bot tutorial - szepi - 14.02.2009 Gibt es einen mysql-Befehl um die Punkte zu aktualisieren? Ich weiß das es die Php Funktion reload_all_village_points(); und reload_all_player_points(); gibt, aber ich muss das über mysql machen. Wie müsste ich da vorgehen? Und wie lasse ich den Bot angreifen. RE: Bot tutorial - Milu2K - 14.02.2009 Wieso über mysql? Das geht eben auch mit reload wenn du include.inc.php includiert hast RE: Bot tutorial - Ephelian - 14.02.2009 PHP Code: mysql_query("UPDATE villages SET points = '$punktzahl' WHERE id = '$villageid'"); RE: Bot tutorial - Milu2K - 14.02.2009 Aber ohne Reload wird die Punktezahl auch nicht Reloadet |