Ich habe vor einigen Monaten an einem Shopbot gearbeitet. Der Bot sollte am Ende einen autonomen Handel in Metin 2 betreiben. Dazu inspiziert er zunächst viele Shops und notiert die Preise und Angebote in einer Datenbank um das Preisniveau verschiedener Produkte schätzen zu können. Dadurch kann er günstige Preise finden und Waren billig kaufen und teurer verkaufen.
Momentan funktioniert schon das Auslesen von Shopinhalten aus dem Clientspeicher. Anschließend erzeugt er SQL Strings die dann jedes Produkt in die Datenbank speichern. Das sieht etwa so aus:
Code:
INSERT INTO 001_Preise(Datum, Zeit, Slot, Item, Preis, Anzahl, Sockel1, Sockel2, Sockel3, Server, Reich) VALUES('03.01.2010','18:08:27',0,50300,144000,1,92,0,0,'Torkas','Jinno') INSERT INTO 001_Preise(Datum, Zeit, Slot, Item, Preis, Anzahl, Sockel1, Sockel2, Sockel3, Server, Reich) VALUES('03.01.2010','18:08:27',1,50300,144000,1,92,0,0,'Torkas','Jinno') INSERT INTO 001_Preise(Datum, Zeit, Slot, Item, Preis, Anzahl, Sockel1, Sockel2, Sockel3, Server, Reich) VALUES('03.01.2010','18:08:27',2,50300,144000,1,92,0,0,'Torkas','Jinno') INSERT INTO 001_Preise(Datum, Zeit, Slot, Item, Preis, Anzahl, Sockel1, Sockel2, Sockel3, Server, Reich) VALUES('03.01.2010','18:08:27',3,50300,155000,1,93,0,0,'Torkas','Jinno') INSERT INTO 001_Preise(Datum, Zeit, Slot, Item, Preis, Anzahl, Sockel1, Sockel2, Sockel3, Server, Reich) VALUES('03.01.2010','18:08:27',4,50300,3300,1,80,0,0,'Torkas','Jinno') INSERT INTO 001_Preise(Datum, Zeit, Slot, Item, Preis, Anzahl, Sockel1, Sockel2, Sockel3, Server, Reich) VALUES('03.01.2010','18:08:27',5,50300,920000,1,16,0,0,'Torkas','Jinno') INSERT INTO 001_Preise(Datum, Zeit, Slot, Item, Preis, Anzahl, Sockel1, Sockel2, Sockel3, Server, Reich) VALUES('03.01.2010','18:08:27',6,70037,444000,1,96,0,0,'Torkas','Jinno') INSERT INTO 001_Preise(Datum, Zeit, Slot, Item, Preis, Anzahl, Sockel1, Sockel2, Sockel3, Server, Reich) VALUES('03.01.2010','18:08:27',7,50300,220000,1,18,0,0,'Torkas','Jinno') INSERT INTO 001_Preise(Datum, Zeit, Slot, Item, Preis, Anzahl, Sockel1, Sockel2, Sockel3, Server, Reich) VALUES('03.01.2010','18:08:27',8,50300,260000,1,65,0,0,'Torkas','Jinno') INSERT INTO 001_Preise(Datum, Zeit, Slot, Item, Preis, Anzahl, Sockel1, Sockel2, Sockel3, Server, Reich) VALUES('03.01.2010','18:08:27',9,50300,220000,1,63,0,0,'Torkas','Jinno') INSERT INTO 001_Preise(Datum, Zeit, Slot, Item, Preis, Anzahl, Sockel1, Sockel2, Sockel3, Server, Reich) VALUES('03.01.2010','18:08:27',10,50300,50000,1,50,0,0,'Torkas','Jinno') INSERT INTO 001_Preise(Datum, Zeit, Slot, Item, Preis, Anzahl, Sockel1, Sockel2, Sockel3, Server, Reich) VALUES('03.01.2010','18:08:27',11,50300,33000,1,106,0,0,'Torkas','Jinno') INSERT INTO 001_Preise(Datum, Zeit, Slot, Item, Preis, Anzahl, Sockel1, Sockel2, Sockel3, Server, Reich) VALUES('03.01.2010','18:08:27',12,50300,55000,1,20,0,0,'Torkas','Jinno') INSERT INTO 001_Preise(Datum, Zeit, Slot, Item, Preis, Anzahl, Sockel1, Sockel2, Sockel3, Server, Reich) VALUES('03.01.2010','18:08:27',13,50300,25500,1,47,0,0,'Torkas','Jinno')
Ich habe eine Datenbank (mdb-Format) angehängt in der ein paar tausend Preise sind. Man könnte die Technik natürlich auch benutzen um Preise für ein Internetprojekt á la zu bestimmen. Dadurch spart man sich das Eintragen per Hand und der Bot kann sogar die genauen Eigenschaften oder Sockel (z.B. von Vollmondschwertern) auslesen. -> Keine Tippfehler und Falscheinträge mehr!
Man kann so problemlos einige hundert Preise pro Minute speichern...
Ich habe leider keine Zeit mehr das Projekt alleine weiter zu verfolgen. Falls jemand Spaß daran hätte eine Handelsstrategie zu implementieren und die Sache weiter zu verfolgen schreibt mir einfach welche Ideen ihr dazu habt.
Ebenfalls interessant fänd ich eine Website zum Preisvergleich. Der Bot ist in C# implementiert.