Register for your free account! | Forgot your password?

Go Back   elitepvpers > Other Online Games > Browsergames
You last visited: Today at 16:12

  • Please register to post and access all features, it's quick, easy and FREE!


[RELEASE] Ogame Bot - beta

Discussion on [RELEASE] Ogame Bot - beta within the Browsergames forum part of the Other Online Games category.

Closed Thread
 
Old 02/03/2018, 21:41   #301
 
elite*gold: 0
Join Date: Jan 2014
Posts: 369
Received Thanks: 165
Ich geb den Hunden noch essen und dann setz ich mich dran



Onkelmat is offline  
Thanks
3 Users
Old 02/04/2018, 00:41   #302




 
elite*gold: 2
The Black Market: 158/0/0
Join Date: Jul 2010
Posts: 8,229
Received Thanks: 4,412
Huhu, ich hoffe, das die Hunde sich auf das Essen gefreut haben uns satt sind.

Weisst du, wann man mit dem Bot auch in Ausländischen Universen botten kann?

Darauf warteee ich (Bzw ich warte auf die Spiosoinden farm funktion )


Elsastylez is offline  
Old 02/04/2018, 10:17   #303
 
elite*gold: 0
Join Date: Sep 2016
Posts: 149
Received Thanks: 18
Quote:
Originally Posted by Elsastylez View Post
Huhu, ich hoffe, das die Hunde sich auf das Essen gefreut haben uns satt sind.

Weisst du, wann man mit dem Bot auch in Ausländischen Universen botten kann?

Darauf warteee ich (Bzw ich warte auf die Spiosoinden farm funktion )
Ich denke mal, auch für Dich, macht es Sinn, wenn man sich erstmal auf die allgemeine Funktionalität konzentriert.

Imho kann man den Bot so noch nicht einsetzen. Keine Ahnung warum es zu den Logouts, etc. kommt aber mit etwas Pech sind die Gründe dafür von GF nachvollziehbar und es könnte zu Bans kommen.

Ich würde @ gerne mehr unterstützen aber leider kann ich keine Manpower in die Entwicklung stecken, dafür fehlt mir das Know-how. Wenn aber Tester benötigt werden bzw. konzeptioneller Input, dann gerne weiterhin Bescheid geben, dafür bin ich gerne da. BTW. ne Donation Link könntest Du dir mal zulegen, dann kann man Dir zumindest mal mit ner Pizza den Abend versüßen oder so.
exceptionell is offline  
Thanks
1 User
Old 02/04/2018, 14:24   #304
 
elite*gold: 0
Join Date: Jan 2014
Posts: 369
Received Thanks: 165
Quote:
Originally Posted by exceptionell View Post
Ich denke mal, auch für Dich, macht es Sinn, wenn man sich erstmal auf die allgemeine Funktionalität konzentriert.

Imho kann man den Bot so noch nicht einsetzen. Keine Ahnung warum es zu den Logouts, etc. kommt aber mit etwas Pech sind die Gründe dafür von GF nachvollziehbar und es könnte zu Bans kommen.

Ich würde @ gerne mehr unterstützen aber leider kann ich keine Manpower in die Entwicklung stecken, dafür fehlt mir das Know-how. Wenn aber Tester benötigt werden bzw. konzeptioneller Input, dann gerne weiterhin Bescheid geben, dafür bin ich gerne da. BTW. ne Donation Link könntest Du dir mal zulegen, dann kann man Dir zumindest mal mit ner Pizza den Abend versüßen oder so.
JA Pizza wäre gut Ne also da müsste mir erst jemand erklären wie das mit dem Donaten geht.
Zum Bot:
Ich schreibe grade an der neuen Baulistenfunktion, werde die alte garnicht erst nach Fehler durchsuchen.

Was ich bis jetzt gemacht habe:
- Monde haben jetzt auch Baulisten
- Gebäude und andere baubare Sachen werden als Objekte angelegt und nicht mehr aufwändig aus Listen zusammengesetzt. (vorher hatte ich Kostenlisten, Produktionslisten etc. jetzt bekommt jede Mine etc. einen eigenen wert den man auch direkt abrufen kann. Ist nur zum Programmieren übersichtlicher und verkürzt den Code in den Funktionen ungemein.
- die Funktion die den baubefehl gibt neu geschrieben. Es wird jetzt beim manuellen browsen sofort geprüft ob auf dem Planeten und auf der Seite z.b Versorgung" direkt etwas gebaut werden kann. Zudem wird dann auch wenn der Bot selbst browsed geprüft ob was gebaut werden kann und wenn ja wird das sofort umgesetzt. Zudem dürften jetzt weniger Fehler mit falschen Ressourcen etc. auftauchen, weil einfach geprüft wird ob man die Mine o.ä anklicken kann.

für die Zukunft geplant:
Flotten und Def bauen ( dann funktionieren auch die + buttons in den Tabellen xD)
sauber programmierte Baulistenfunktion mit optimierter Perfomance und Fehlerhandling.

Quote:
Originally Posted by Elsastylez View Post
Huhu, ich hoffe, das die Hunde sich auf das Essen gefreut haben uns satt sind.

Weisst du, wann man mit dem Bot auch in Ausländischen Universen botten kann?

Darauf warteee ich (Bzw ich warte auf die Spiosoinden farm funktion )
eigentlich sollte er mit Spionagesonden farmen können ^^ da ist ein extra Häkchen dafür da. ^^


Onkelmat is offline  
Old 02/04/2018, 14:33   #305
 
elite*gold: 0
Join Date: Sep 2016
Posts: 149
Received Thanks: 18
Quote:
Originally Posted by Onkelmat View Post
JA Pizza wäre gut Ne also da müsste mir erst jemand erklären wie das mit dem Donaten geht.
Zum Bot:
Ich schreibe grade an der neuen Baulistenfunktion, werde die alte garnicht erst nach Fehler durchsuchen.

Was ich bis jetzt gemacht habe:
- Monde haben jetzt auch Baulisten
- Gebäude und andere baubare Sachen werden als Objekte angelegt und nicht mehr aufwändig aus Listen zusammengesetzt. (vorher hatte ich Kostenlisten, Produktionslisten etc. jetzt bekommt jede Mine etc. einen eigenen wert den man auch direkt abrufen kann. Ist nur zum Programmieren übersichtlicher und verkürzt den Code in den Funktionen ungemein.
- die Funktion die den baubefehl gibt neu geschrieben. Es wird jetzt beim manuellen browsen sofort geprüft ob auf dem Planeten und auf der Seite z.b Versorgung" direkt etwas gebaut werden kann. Zudem wird dann auch wenn der Bot selbst browsed geprüft ob was gebaut werden kann und wenn ja wird das sofort umgesetzt. Zudem dürften jetzt weniger Fehler mit falschen Ressourcen etc. auftauchen, weil einfach geprüft wird ob man die Mine o.ä anklicken kann.

für die Zukunft geplant:
Flotten und Def bauen ( dann funktionieren auch die + buttons in den Tabellen xD)
sauber programmierte Baulistenfunktion mit optimierter Perfomance und Fehlerhandling.



eigentlich sollte er mit Spionagesonden farmen können ^^ da ist ein extra Häkchen dafür da. ^^

Ist nicht weiter schwer ne Donate Link zu generieren.

Deine Pläne hören sich super an, alles was Performance bringt und den Code einfacher macht wird ja auf lange Sicht helfen.

Magst Du noch mal was zu den Fragen sagen, die ich vor einiger Zeit gestellt habe:
  1. Simuliert dein Bot klicks? Oder wie werden die Aktionen aufgerufen? Soweit ich weiß prüft GF ob jeder Schritt einer Aktion durchgeführt wird und wie schnell. D.h. wenn eine Flotte verschickt werden soll, dann braucht es den klich auf "Flotte", dann das Eintragen der Schiffe, dann auf weiter, etc.
  2. Hast du ein Randomize in deinen Timern? Ich trage ein "Intervall für Planeten aktuallisieren: 10 Minuten. Sind es dann immer exakt 10 Minuten oder wird das in einem Intervall random angesprochen? Also zwischen 8 und 12 Minuten und in dem Intervall zufällig?
exceptionell is offline  
Old 02/04/2018, 15:13   #306


 
elite*gold: 31
Join Date: Jan 2010
Posts: 1,639
Received Thanks: 115
Das klingt doch schonmal super was denkste wie lange du in etwa brauchst ?
iNSOMNiA3D is offline  
Old 02/04/2018, 16:13   #307
 
elite*gold: 0
Join Date: Jan 2014
Posts: 369
Received Thanks: 165
Quote:
Originally Posted by exceptionell View Post


Ist nicht weiter schwer ne Donate Link zu generieren.

Deine Pläne hören sich super an, alles was Performance bringt und den Code einfacher macht wird ja auf lange Sicht helfen.

Magst Du noch mal was zu den Fragen sagen, die ich vor einiger Zeit gestellt habe:
  1. Simuliert dein Bot klicks? Oder wie werden die Aktionen aufgerufen? Soweit ich weiß prüft GF ob jeder Schritt einer Aktion durchgeführt wird und wie schnell. D.h. wenn eine Flotte verschickt werden soll, dann braucht es den klich auf "Flotte", dann das Eintragen der Schiffe, dann auf weiter, etc.
  2. Hast du ein Randomize in deinen Timern? Ich trage ein "Intervall für Planeten aktuallisieren: 10 Minuten. Sind es dann immer exakt 10 Minuten oder wird das in einem Intervall random angesprochen? Also zwischen 8 und 12 Minuten und in dem Intervall zufällig?
Danke für den Link.
Zu deinen Fragen:
der Bot mach alle Vorgänge über ein HttpRequest genauso wie es dein Browser machen würde. Bei jeder neuen Funktion schaue ich mir vorher an was passiert wenn ich den Ablauf im normalen Browser durchgehe. Dann schaue ich mir noch die Http sachen an die im Hintergrund ablaufen und mache dann im Programm eine best mögliche Kopie davon. Also seit ich den Bot angefangen habe wurden zwei meiner ersten Testaccounts gesperrt weil ich noch keine pausen zwischen den einzelnen Aufrufen eingebaut habe. Seit Ende 2015 habe ich auf bestimmt 6 Testaccounts gespielt und bis heute wurde keiner gesperrt. Ich Spiele mit der aktuellen Version auch bestimmt schon wieder 6 Monate 24/7. Ich spiele im Prinzip gerne Ogame aber das ständige Online sein nervt mich ^^ und dann die ganze Organisiation mit Minen bauen ^^.
Das mit den Timern, dass die nicht 100% nach 10 Minuten etc. aktiviert werden ist ne gute Idee. Werde ich einbauen, ein Spread den man einstellen kann.

Quote:
Originally Posted by iNSOMNiA3D View Post
Das klingt doch schonmal super was denkste wie lange du in etwa brauchst ?
Schwer zu sagen, ich habe geschäftlich noch einen ziemlich großen Auftrag den ich auch abarbeiten muss, aber Nachts kontrolliert meine Frau mich nicht ob ich arbeite oder den Bot schreibe xD Ich denke kommenden Freitag hab ich was brauchbares.
Onkelmat is offline  
Old 02/04/2018, 16:49   #308
 
elite*gold: 0
Join Date: Sep 2016
Posts: 149
Received Thanks: 18
Quote:
Originally Posted by Onkelmat View Post
Danke für den Link.
Zu deinen Fragen:
[...]
Das mit den Timern, dass die nicht 100% nach 10 Minuten etc. aktiviert werden ist ne gute Idee. Werde ich einbauen, ein Spread den man einstellen kann.
Das ist einer der Gründe, von denen ich zu 100% weiß, dass andere Scripts aufgeflogen sind. Mustererkennung der Aktivitäten. Wurde afaik so gelöst, wie ich es beschrieben habe: Zufälliger [randomnnumber] Zeitpunkt in einem Intervall. Das könnte einstellbar sein oder aber prozentual abhängig vom Ausgangswert. Da sind min. und max Grenzen vorstellbar, damit das Intervall nicht zu groß wird. Das würde ich Dir überlassen, da das ja auch vom Aufwand das Ganze zu realisieren abhängt.

Was mir noch eingefallen ist, denke das sollte auch relativ leicht machbar sein, vor allem, da du ja die Bauliste neu schreibst: Eine globale Bauliste und eine dedizierte Bauliste. Ist bspw. für Miner sehr interessant, wenn man einfach festlegen kann: Metall 35, Kristall 32, Deut 32, Robo 10, Nani 5 und das ganze natürlich mit einer Reihenfolge. Solange die Planeten keine Einträge in der spezifischen (dedizierten) Bauliste des Planeten haben, wird die globale Bauliste abgearbeitet.

Ach so und denk dran deinen Link hier in der Startpost einzubinden oder so
exceptionell is offline  
Old 02/04/2018, 17:02   #309
 
elite*gold: 0
Join Date: Jan 2014
Posts: 369
Received Thanks: 165
Quote:
Originally Posted by exceptionell View Post
Das ist einer der Gründe, von denen ich zu 100% weiß, dass andere Scripts aufgeflogen sind. Mustererkennung der Aktivitäten. Wurde afaik so gelöst, wie ich es beschrieben habe: Zufälliger [randomnnumber] Zeitpunkt in einem Intervall. Das könnte einstellbar sein oder aber prozentual abhängig vom Ausgangswert. Da sind min. und max Grenzen vorstellbar, damit das Intervall nicht zu groß wird. Das würde ich Dir überlassen, da das ja auch vom Aufwand das Ganze zu realisieren abhängt.

Was mir noch eingefallen ist, denke das sollte auch relativ leicht machbar sein, vor allem, da du ja die Bauliste neu schreibst: Eine globale Bauliste und eine dedizierte Bauliste. Ist bspw. für Miner sehr interessant, wenn man einfach festlegen kann: Metall 35, Kristall 32, Deut 32, Robo 10, Nani 5 und das ganze natürlich mit einer Reihenfolge. Solange die Planeten keine Einträge in der spezifischen (dedizierten) Bauliste des Planeten haben, wird die globale Bauliste abgearbeitet.

Ach so und denk dran deinen Link hier in der Startpost einzubinden oder so
Ja zum Glück sind wir über das Thema hinaus mit dem gesperrt werden
Also ich würde den Spread einfach auch als Minunten in den Einstellungen eintragbar machen. Wenn also einer einstellet alle 55 Minuten Flotten prüfen und den spread auf 5 Stellt, dann werden de FLotten irgendwann zwischen 50 und 60 Minuten geupdatet.
Mit dem Paypal-Link: Hab ich mir angeschaut, aber die Daten in meinem Paypal account sind noch uralt ^^ muss ich mal ändern lassen, geht leider nur per Servicehotline und da hab ich kein nerv dazu ^^ also diesen Monat keine Spenden xD

Kleines Update:

Im Moment funktioniert es soweit, dass alle Aufträge in der Bauliste die direkt gebaut werden können von günstig nach teuer gebaut werden.
Dabei wird minimaler Traffic produziert. Vom Aufwand ist dieser Teil wesentlich besser als das alte System.

Nachts 3:27 Uhr
einen Fehler in der alten Bauliste gefunden ^^
ich hatte eine nette Funktion die mir die Zielplanet aus den Flottenbewegungen in Planeten Objekte zum programmieren umgewandelt hat, aber aus irgendeinem Grund hat da eine einfache logische Umwandlung nicht funktioniert... Also das dürfte ein paar komische Sachen verursacht haben ^^
Onkelmat is offline  
Thanks
1 User
Old 02/05/2018, 09:49   #310
 
elite*gold: 0
Join Date: Sep 2016
Posts: 149
Received Thanks: 18
Cool danke! Hört sich nach Fortschritt an!


So halb offtopic @ Du programmierst das Ding ja in c# - hast selbst schon gesagt, dass bspw. der integrierte Browser ein Flaschenhals ist.
Wenn du es dir aussuchen könntest, in welcher Sprache meinst du wäre es am einfachsten/besten einen Bot für ogame zu schreiben?
Unter Beachtung der gewünschten Funktionen und des Programmieraufwands? Also Baulisten, Fleet saven bei Angriff, Farmfunktion, SMS / Email Benachrichtigung bei Angriff, etc.? Das ganze Projekt hier macht mich neugierig, ich weiß dass der ogame automizer in java geschrieben war, oder?
exceptionell is offline  
Old 02/05/2018, 10:29   #311
 
elite*gold: 0
Join Date: Jan 2014
Posts: 369
Received Thanks: 165
Quote:
Originally Posted by exceptionell View Post
Cool danke! Hört sich nach Fortschritt an!


So halb offtopic @ Du programmierst das Ding ja in c# - hast selbst schon gesagt, dass bspw. der integrierte Browser ein Flaschenhals ist.
Wenn du es dir aussuchen könntest, in welcher Sprache meinst du wäre es am einfachsten/besten einen Bot für ogame zu schreiben?
Unter Beachtung der gewünschten Funktionen und des Programmieraufwands? Also Baulisten, Fleet saven bei Angriff, Farmfunktion, SMS / Email Benachrichtigung bei Angriff, etc.? Das ganze Projekt hier macht mich neugierig, ich weiß dass der ogame automizer in java geschrieben war, oder?
Also Flaschenhals würde ich jetzt nicht sagen, in bezug auf die Performance ist der integriete Browser in Ordnung. Was mich an den Browser stört, dass er wenig Spielereien zulässt und auch schon vom .Net Framework nicht ganz Fehlerfrei ist. Funktionell kann man programmiertechnisch auch nicht viel mit dem Browser anfangen, aber er funktioniert soweit ^^

Ja Bots programmieren, also ich würde wieder auf C# zurück greifen, aber nur weil ich da einfach die Erfahrung drin habe und das OO Programmieren logisch und praktisch ist. Klar gibt es ein paar Sachen wo ich gerne hätte dass C# so Richtlinienfrei wie Java ist ^^ aber so bleibt auch der Code von der Qualität her besser denke ich.
Ich habe seit ich angefangen habe den Bot zu schreiben bestimmt 4-5 Leute gesehen die einen Bot schreiben wollten, aber schon am Login von Ogame gescheitert sind
Bestimmte Sachen sehen sehr einfach aus, aber man muss jeden einzelnen Button und jedes einzelne Textfeld und alles was man so sieht programmieren. Die Rohstoffproduktion war schon ein Krampf zu formulieren weil ja da noch die Forschung mit reinspielt.

Also ich denke wenn du einen Bot machen wollen würdest, schreib in der Sprache die du am besten kannst. Schreib alles so übersichtlich wie möglich. Schreibe Funktionen direkt komplett und denk dir nicht dass du später noch das ein oder andere hinzufügen wirst ^^ Viel Glück ^^
Das nervigste und was wirklich Expertenwissen braucht ist das Extrahieren der Daten aus dem dynamischen HTML-Code
Versuch Mal die Flottenzusammensetzung, Ziel, Start und Flugzeit einer Flotte mit einem Programm zu erfassen.

Aktueller Zwischenstand:
Bauaufträge werden direkt beim browsen umgesetzt.
Derzeit schreibe ich den komplizierten Teil und zwar den Ablauf der Ressourcenbeschaffung für Baulistenaufträge. Wirklich sehr viel Denksport ^^

Beispiel:
Es gibt einen Auftrag auf einem Planet X. Auf Planet X sind aber nicht genug Ress, dafür aber auf allen anderen zusammen schon. Schicke ich jetzt Ress von den Planeten die am nächsten sind, aber nicht genug schicken können, oder schicke ich Ress von den Planeten die weiter weg sind, aber dafür weniger Slots belegen ? ^^

Vorschläge ? noch arbeite ich dran ^^
Onkelmat is offline  
Old 02/06/2018, 09:40   #312
 
elite*gold: 0
Join Date: Sep 2016
Posts: 149
Received Thanks: 18
Quote:
Originally Posted by Onkelmat View Post
Also Flaschenhals würde ich jetzt nicht sagen, in bezug auf die Performance ist der integriete Browser in Ordnung. Was mich an den Browser stört, dass er wenig Spielereien zulässt und auch schon vom .Net Framework nicht ganz Fehlerfrei ist. Funktionell kann man programmiertechnisch auch nicht viel mit dem Browser anfangen, aber er funktioniert soweit ^^

Ja Bots programmieren, also ich würde wieder auf C# zurück greifen, aber nur weil ich da einfach die Erfahrung drin habe und das OO Programmieren logisch und praktisch ist. Klar gibt es ein paar Sachen wo ich gerne hätte dass C# so Richtlinienfrei wie Java ist ^^ aber so bleibt auch der Code von der Qualität her besser denke ich.
Ich habe seit ich angefangen habe den Bot zu schreiben bestimmt 4-5 Leute gesehen die einen Bot schreiben wollten, aber schon am Login von Ogame gescheitert sind
Bestimmte Sachen sehen sehr einfach aus, aber man muss jeden einzelnen Button und jedes einzelne Textfeld und alles was man so sieht programmieren. Die Rohstoffproduktion war schon ein Krampf zu formulieren weil ja da noch die Forschung mit reinspielt.

Also ich denke wenn du einen Bot machen wollen würdest, schreib in der Sprache die du am besten kannst. Schreib alles so übersichtlich wie möglich. Schreibe Funktionen direkt komplett und denk dir nicht dass du später noch das ein oder andere hinzufügen wirst ^^ Viel Glück ^^
Das nervigste und was wirklich Expertenwissen braucht ist das Extrahieren der Daten aus dem dynamischen HTML-Code
Versuch Mal die Flottenzusammensetzung, Ziel, Start und Flugzeit einer Flotte mit einem Programm zu erfassen.
Alles klar Ich habe momentan eh keine Zeit mich damit ausgiebig zu beschäftigen aber interessieren tut mich das ganze schon. Ein Programm nur zu nutzen finde ich eher langweilig, etwas Verständnis ist schon angenehm.

Quote:
Originally Posted by Onkelmat View Post
Aktueller Zwischenstand:
Bauaufträge werden direkt beim browsen umgesetzt.
Derzeit schreibe ich den komplizierten Teil und zwar den Ablauf der Ressourcenbeschaffung für Baulistenaufträge. Wirklich sehr viel Denksport ^^

Beispiel:
Es gibt einen Auftrag auf einem Planet X. Auf Planet X sind aber nicht genug Ress, dafür aber auf allen anderen zusammen schon. Schicke ich jetzt Ress von den Planeten die am nächsten sind, aber nicht genug schicken können, oder schicke ich Ress von den Planeten die weiter weg sind, aber dafür weniger Slots belegen ? ^^

Vorschläge ? noch arbeite ich dran ^^
Ich denke das Problem mit den Slots ist zu vernachlässigen. Computertechnik ist relativ günstig, so dass in den seltensten Fällen Slots Mangelware sein werden. Bei exzessiver Nutzung von Expeditionen könnte es mal zu Beginn einer Runde passieren, wobei ich selbst da nie wirklich Probleme hatte. Zu späteren Zeitpunkten werden die Ressourcen meist eh vorher gesammelt, da man nicht genug einfach so rumliegen hat, sondern auf Forschungen oder Gebäude spart, d.h. die benötigten Ressourcen kommen von einem oder wenigen Planeten.

Was eher wichtig ist und da hattest du schon den richtigen Gedanken, ist die Zeit für das Zusammenziehen. Wobei ich denke, auch das sollte vernachlässigt werden, denn das wäre sehr komplex. Bei einem Fleet Account sind die Planeten sehr weit verteilt, d.h. wenn man einfach so Ressourcen zusammenzieht, ohne die Flugzeiten der einzelnen Flotten zu beachten, kann es passieren, dass Flotte x1 in 60 Minuten am Ziel ist und Flotte x2 in 120 Minunten. Das kann man bis xn weiterspielen. Das würde bedeuten, dass je nach Intervall, ein Haufen Ressourcen auf einem Planeten liegen und nicht verbaut werden können. Bei Miner Accounts meistens nicht so schlimm, weil die versuchen ihre Planeten relativ dicht beisammen zu halten.

Wie das zu lösen ist bin ich mir nicht sicher. Kannst du zu Beginn die Flugzeiten zwischen allen Planeten des Accounts (würde ja für KT / GT reichen) errechnen? Dann mit einem Sortieralgorithmus in Abhängigkeit von der Flugzeit sortieren (kurz - lang), danach in Abhängigkeit der lagernden Ressourcen sortieren (viel - wenig) und abarbeiten, bis genug Ressourcen zum Zielplaneten unterwegs sind. Denke ich zu kompliziert?
exceptionell is offline  
Old 02/06/2018, 15:11   #313
 
elite*gold: 0
Join Date: Jan 2014
Posts: 369
Received Thanks: 165
Quote:
Originally Posted by exceptionell View Post
Alles klar Ich habe momentan eh keine Zeit mich damit ausgiebig zu beschäftigen aber interessieren tut mich das ganze schon. Ein Programm nur zu nutzen finde ich eher langweilig, etwas Verständnis ist schon angenehm.



Ich denke das Problem mit den Slots ist zu vernachlässigen. Computertechnik ist relativ günstig, so dass in den seltensten Fällen Slots Mangelware sein werden. Bei exzessiver Nutzung von Expeditionen könnte es mal zu Beginn einer Runde passieren, wobei ich selbst da nie wirklich Probleme hatte. Zu späteren Zeitpunkten werden die Ressourcen meist eh vorher gesammelt, da man nicht genug einfach so rumliegen hat, sondern auf Forschungen oder Gebäude spart, d.h. die benötigten Ressourcen kommen von einem oder wenigen Planeten.

Was eher wichtig ist und da hattest du schon den richtigen Gedanken, ist die Zeit für das Zusammenziehen. Wobei ich denke, auch das sollte vernachlässigt werden, denn das wäre sehr komplex. Bei einem Fleet Account sind die Planeten sehr weit verteilt, d.h. wenn man einfach so Ressourcen zusammenzieht, ohne die Flugzeiten der einzelnen Flotten zu beachten, kann es passieren, dass Flotte x1 in 60 Minuten am Ziel ist und Flotte x2 in 120 Minunten. Das kann man bis xn weiterspielen. Das würde bedeuten, dass je nach Intervall, ein Haufen Ressourcen auf einem Planeten liegen und nicht verbaut werden können. Bei Miner Accounts meistens nicht so schlimm, weil die versuchen ihre Planeten relativ dicht beisammen zu halten.

Wie das zu lösen ist bin ich mir nicht sicher. Kannst du zu Beginn die Flugzeiten zwischen allen Planeten des Accounts (würde ja für KT / GT reichen) errechnen? Dann mit einem Sortieralgorithmus in Abhängigkeit von der Flugzeit sortieren (kurz - lang), danach in Abhängigkeit der lagernden Ressourcen sortieren (viel - wenig) und abarbeiten, bis genug Ressourcen zum Zielplaneten unterwegs sind. Denke ich zu kompliziert?
Genau diese Gedanken hatte ich heute Nacht auch. Ich muss mir dazu noch ein paar Gedanken machen. Ich kann alle Flugzeiten und auch den Deutverbrauch ausrechnen. Man muss jetzt nur das logische menschliche Verhalten in Worte fassen ^^ wie würde man es machen... ?

Hier ein Einblick zum aktuellen Stand. Im Anhang ist die Funktion die dafür sorgt, dass die Ressourcen zu den Planeten geschickt werden auf denen etwas gebaut werden soll, aber nicht genügen Ress auf dem Planeten sind. Jede Zeile ist mit meinem original Kommentar kommentiert ^^ Ich denke die Variabeln sind verständlich benannt. Ein bool ist "ja" oder "nein" bzw. "wahr" oder "falsch". Manche Kommentare sind noch vom Anfang als ich mir die Grundfunktion überlegt habe. Am Ende seht ihr die fehlenden Teile ^^

Code:
// diese Funktion schickt die nötigen Ressourcen und gibt zurück was fehlt ? Nein sie gibt ein bool zurück ob alles geschickt wurde
        public static bool deliverRess(Kosten nötigeRess, PlanetenDaten ZielPlanet)
        {
            // hier erstmal die Ressourcen die auf dem Planeten sind von den nötigen abziehen
            nötigeRess.Metall -= (int)ZielPlanet.Metallvorhanden;
            nötigeRess.Kristall -= (int)ZielPlanet.Kristallvorhanden;
            nötigeRess.Deut -= (int)ZielPlanet.Deutvorhanden;

            // hier dann prüfen wie viel Ress auf dem Weg zum Zieplanet sind
            nötigeRess = RessAufDemFlugAbziehen(ZielPlanet, nötigeRess);

            // hier dann prüfen ob schon genug auf dem Weg ist
            if (nötigeRess.Metall <= 0 && nötigeRess.Kristall <= 0 & nötigeRess.Deut <= 0)
            {
                ZielPlanet.goingToBuild = true;
                return true;
            }
            // ab hier müssen noch Ress geschickt werden

            // schauen welcher am nächsten ist
            PlanetenDaten nächsterPlanet = schnellstmöglicherPlanet(ZielPlanet, nötigeRess);

            // hier prüfen ob es keinen Planeten gibt der schicken kann
            if (nächsterPlanet == null)
            {
                basis_Funktionen.writeLog("kein Planet da der etwas schicken könnte.");
                return false;
            }
            else basis_Funktionen.writeLog("Der nächste Planet ist " + nächsterPlanet.name);


            // Flugzeit berechnen, ausrechnen ob schicken sich rentiert.

            // irgendwie noch berechnen von welchem Planet am besten wäre, weil der schnellste ist nicht der logischste wenn der nur 10 Met schicken kann

            // Schicken oder warten ?

            // wenn schicken dann schicken

            // Rohstoffe die geschickt wurden von den nötigen Ress abziehen

            // wenn nötige Ress > 0 dann rekursiv diese Funktion nochmal aufrufen

            // wenn nötige Ress bereit gestellt wurden, dann bei allen Planeten hassent auf false setzen.



            return true;
        }
Onkelmat is offline  
Old 02/08/2018, 16:23   #314
 
elite*gold: 0
Join Date: Sep 2016
Posts: 149
Received Thanks: 18
Quote:
Originally Posted by Onkelmat View Post
Genau diese Gedanken hatte ich heute Nacht auch. Ich muss mir dazu noch ein paar Gedanken machen. Ich kann alle Flugzeiten und auch den Deutverbrauch ausrechnen. Man muss jetzt nur das logische menschliche Verhalten in Worte fassen ^^ wie würde man es machen... ?

Hier ein Einblick zum aktuellen Stand. Im Anhang ist die Funktion die dafür sorgt, dass die Ressourcen zu den Planeten geschickt werden auf denen etwas gebaut werden soll, aber nicht genügen Ress auf dem Planeten sind. Jede Zeile ist mit meinem original Kommentar kommentiert ^^ Ich denke die Variabeln sind verständlich benannt. Ein bool ist "ja" oder "nein" bzw. "wahr" oder "falsch". Manche Kommentare sind noch vom Anfang als ich mir die Grundfunktion überlegt habe. Am Ende seht ihr die fehlenden Teile ^^

Code:
// diese Funktion schickt die nötigen Ressourcen und gibt zurück was fehlt ? Nein sie gibt ein bool zurück ob alles geschickt wurde
        public static bool deliverRess(Kosten nötigeRess, PlanetenDaten ZielPlanet)
        {
            // hier erstmal die Ressourcen die auf dem Planeten sind von den nötigen abziehen
            nötigeRess.Metall -= (int)ZielPlanet.Metallvorhanden;
            nötigeRess.Kristall -= (int)ZielPlanet.Kristallvorhanden;
            nötigeRess.Deut -= (int)ZielPlanet.Deutvorhanden;

            // hier dann prüfen wie viel Ress auf dem Weg zum Zieplanet sind
            nötigeRess = RessAufDemFlugAbziehen(ZielPlanet, nötigeRess);

            // hier dann prüfen ob schon genug auf dem Weg ist
            if (nötigeRess.Metall <= 0 && nötigeRess.Kristall <= 0 & nötigeRess.Deut <= 0)
            {
                ZielPlanet.goingToBuild = true;
                return true;
            }
            // ab hier müssen noch Ress geschickt werden

            // schauen welcher am nächsten ist
            PlanetenDaten nächsterPlanet = schnellstmöglicherPlanet(ZielPlanet, nötigeRess);

            // hier prüfen ob es keinen Planeten gibt der schicken kann
            if (nächsterPlanet == null)
            {
                basis_Funktionen.writeLog("kein Planet da der etwas schicken könnte.");
                return false;
            }
            else basis_Funktionen.writeLog("Der nächste Planet ist " + nächsterPlanet.name);


            // Flugzeit berechnen, ausrechnen ob schicken sich rentiert.

            // irgendwie noch berechnen von welchem Planet am besten wäre, weil der schnellste ist nicht der logischste wenn der nur 10 Met schicken kann

            // Schicken oder warten ?

            // wenn schicken dann schicken

            // Rohstoffe die geschickt wurden von den nötigen Ress abziehen

            // wenn nötige Ress > 0 dann rekursiv diese Funktion nochmal aufrufen

            // wenn nötige Ress bereit gestellt wurden, dann bei allen Planeten hassent auf false setzen.



            return true;
        }
Ich habe heute Abend wahrscheinlich Zeit mir ein wenig Gedanken darüber zu machen. Lohnt sich das noch oder bist du eh schon deutlich weiter? Da ich eigentlich für Quant. Finance lernen muss, würde ich ungern meine Pause "verschwenden"
exceptionell is offline  
Old 02/08/2018, 16:46   #315
 
elite*gold: 0
Join Date: Jan 2014
Posts: 369
Received Thanks: 165
Ja bitte, ich habe noch nicht weitergemacht da ich auf Input von hier gewartet hab. Ich hätte gerne zu erst eine gute Lösung bevor ich Stunden lang Code schreibe der dann nicht gut ist.


Onkelmat is offline  
Closed Thread



« [Source Code]Shakes and Fidget Server Emulator | [REQUEST] Pirate Storm Bot »

Similar Threads
Ogame Bot - beta released
07/10/2014 - Browsergames - 3 Replies
Kann gelöscht werden.
Ogame Privatserver [Beta]
05/06/2012 - Browsergames - 2 Replies
Hallo ich möchte euch hir meinen Ogame Privatserver vorstellen der Future Age heißt. Wir sind zurzeit noch in der Beta also wenn ihr Wünsche bugs oder sowas findet schreibt ein Support Ticket Er ist 24/7 online und läuft laggfrei !. Startresourcen : Metall: 3000 Kristall: 3000 Deuterium : 2000 Dunkle Materie 1000



All times are GMT +2. The time now is 16:12.


Powered by vBulletin®
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

BTC: 3KeUpz52VCbhmLwuwydqxu6U1xsgbT8YT5
ETH: 0xc6ec801B7563A4376751F33b0573308aDa611E05

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2019 elitepvpers All Rights Reserved.