Game Bot in Python zum laufen bringen

01/10/2022 00:22 westkous#1
Ich bin ein Absoluter Laie. Ich habe keinen Plan von Technik und was man damit alles anstellen kann.

Wie jeder ahnungslose Boomer, besitze ich auch nur einen PC, um einen virtuellen Garten zu pflegen. Mein Garten steht auf Wurzelimperium.
Weil ich gar kein bock mehr habe, alles per Hand zu machen und es laut dem Forum die dev. auch nicht mehr interessiert, habe ich mich mal auf Google nach Bots umgeschaut.

Das einzig brauchbare was ich gefunden habe, ist das:
[Only registered and activated users can see links. Click Here To Register...]

Ich habe herausgefunden, wie man das Eingabefeld für die Python Sprache öffnet. Leider ist das auch das einzige, was ich erreicht habe.
Da gibt es eine kleine Erklärung, doch leider bin ich zu doof dafür.
Ich wäre euch sehr dankbar, wenn ihr mir erklären könntet, was ich genau ins Eingabefeld kopieren muss, damit das Ganze funktioniert.
01/11/2022 02:08 cypher#2
@[Only registered and activated users can see links. Click Here To Register...]
Ich leite dich mal an, vllt. klappt's ja. :heh:


Viel Glück Boomer. :D
01/11/2022 16:38 westkous#3
Quote:
Originally Posted by Cyphernomic View Post
@[Only registered and activated users can see links. Click Here To Register...]
Ich leite dich mal an, vllt. klappt's ja. :heh:


Viel Glück Boomer. :D
Danke für deine Antwort :D

habe die ersten 2 schritte befolgt. httplib2 installiert er auch. Bei der yaml kommt leider die folgende Meldung.

ERROR: Could not find a version that satisfies the requirement yaml (from versions: none)
ERROR: No matching distribution found for yaml

Kurze Frage bezüglich Schritt 4. Die exampl Datei kann ich erst editieren, wenn ich yaml zum laufen gebracht habe oder? Obwohl ich die ZIP Datei entpackt habe, lässt sich example nicht öffnen.
01/11/2022 16:42 cypher#4
Quote:
Originally Posted by westkous View Post
Danke für deine Antwort :D

habe die ersten 2 schritte befolgt. httplib2 installiert er auch. Bei der yaml kommt leider die folgende Meldung.

ERROR: Could not find a version that satisfies the requirement yaml (from versions: none)
ERROR: No matching distribution found for yaml

Kurze Frage bezüglich Schritt 4. Die exampl Datei kann ich erst editieren, wenn ich yaml zum laufen gebracht habe oder? Obwohl ich die ZIP Datei entpackt habe, lässt sich example nicht öffnen.
Gerne. :)

Probiere es mal stattdessen mit:
Code:
pip install pyyaml
Du kannst example.py auch schon vorher editieren. Das geht ganz einfach mit einem Texteditor. Lade dir mal [Only registered and activated users can see links. Click Here To Register...] runter. Damit müsstest du die Datei editieren können.
01/11/2022 17:32 westkous#5
Quote:
Originally Posted by Cyphernomic View Post
Gerne. :)

Probiere es mal stattdessen mit:
Code:
pip install pyyaml
Du kannst example.py auch schon vorher editieren. Das geht ganz einfach mit einem Texteditor. Lade dir mal [Only registered and activated users can see links. Click Here To Register...] runter. Damit müsstest du die Datei editieren können.
pyyaml konnte ich installieren. Example konnte ich mit Notepad++ auch Editieren. Nachdem ich es editiert habe, wurde aus example, example.py. Also glaube ich, das ich da alles richtig gemacht habe.

Im nächsten schritt habe den Wurzelimperium-Bot Ordner mit Umschalt + Rechtscklick und Powershell Fenster geöffnet. Wenn ich python example.py eingebe erscheint folgendes:

PS C:\Users\cenkg\OneDrive\Desktop\Wurzelimperium-Bot-master> python example.py
Traceback (most recent call last):
File "example.py", line 4, in <module>
import src.Main as main
File "C:\Users\cenkg\OneDrive\Desktop\Wurzelimperiu m-Bot-master\src\Main.py", line 8, in <module>
from src.WurzelBot import WurzelBot
File "C:\Users\cenkg\OneDrive\Desktop\Wurzelimperiu m-Bot-master\src\WurzelBot.py", line 10, in <module>
from src.HTTPCommunication import HTTPConnection
File "C:\Users\cenkg\OneDrive\Desktop\Wurzelimperiu m-Bot-master\src\HTTPCommunication.py", line 15, in <module>
from lxml import html
ImportError: No module named lxml
PS C:\Users\cenkg\OneDrive\Desktop\Wurzelimperium-Bot-master>

Ich bin dir echt Dankbar. Ich weiss nicht, wie das Irgendjemand ohne deine Hilfe installieren soll :D

Muss ich eigentlich ppyaml und das anderes jedes mal Installieren, ist das nun für immer installiert?
01/11/2022 17:46 cypher#6
Quote:
Originally Posted by westkous View Post
pyyaml konnte ich installieren. Example konnte ich mit Notepad++ auch Editieren. Nachdem ich es editiert habe, wurde aus example, example.py. Also glaube ich, das ich da alles richtig gemacht habe.
Ja, das passt.

Quote:
Originally Posted by westkous View Post
Im nächsten schritt habe den Wurzelimperium-Bot Ordner mit Umschalt + Rechtscklick und Powershell Fenster geöffnet. Wenn ich python example.py eingebe erscheint folgendes:

PS C:\Users\cenkg\OneDrive\Desktop\Wurzelimperium-Bot-master> python example.py
Traceback (most recent call last):
File "example.py", line 4, in <module>
import src.Main as main
File "C:\Users\cenkg\OneDrive\Desktop\Wurzelimperiu m-Bot-master\src\Main.py", line 8, in <module>
from src.WurzelBot import WurzelBot
File "C:\Users\cenkg\OneDrive\Desktop\Wurzelimperiu m-Bot-master\src\WurzelBot.py", line 10, in <module>
from src.HTTPCommunication import HTTPConnection
File "C:\Users\cenkg\OneDrive\Desktop\Wurzelimperiu m-Bot-master\src\HTTPCommunication.py", line 15, in <module>
from lxml import html
ImportError: No module named lxml
PS C:\Users\cenkg\OneDrive\Desktop\Wurzelimperium-Bot-master>
Jetzt nochmal:
Code:
pip install lxml
Du kannst dir merken, immer wenn du so einen Error liest: "ImportError: No module named PAKETNAME", dann fehlt dir ein Python Paket. Den Namen des Paket's kannst du einfach ablesen und dann per "pip install PAKETNAME" in der Powershell installieren.

Quote:
Originally Posted by westkous View Post
Ich bin dir echt Dankbar. Ich weiss nicht, wie das Irgendjemand ohne deine Hilfe installieren soll :D

Muss ich eigentlich ppyaml und das anderes jedes mal Installieren, ist das nun für immer installiert?
Kein Thema, ich hoffe sehr, dass es am Ende klappt. :D

Ne, die Python-Pakete musst du nur einmal installieren.
01/11/2022 18:53 westkous#7
Quote:
Originally Posted by Cyphernomic View Post
Ja, das passt.


Jetzt nochmal:
Code:
pip install lxml
Du kannst dir merken, immer wenn du so einen Error liest: "ImportError: No module named PAKETNAME", dann fehlt dir ein Python Paket. Den Namen des Paket's kannst du einfach ablesen und dann per "pip install PAKETNAME" in der Powershell installieren.


Kein Thema, ich hoffe sehr, dass es am Ende klappt. :D

Ne, die Python-Pakete musst du nur einmal installieren.
Entschuldige das ich die schon wieder störe. Nun habe ich einen AttributeError. So wie ich das verstanden habe, ist das ein Rechtschreibefehler bei der Python Sprache.

Dieser Fehler erscheint:

File "example.py", line 23, in <module>
wurzelBot.growPlantsInGardens('Salat')
File "C:\Users\cenkg\OneDrive\Desktop\Wurzelimperiu m-Bot-master\src\WurzelBot.py", line 218, in growPlantsInGardens
if (product.isProductPlantable()):
AttributeError: 'NoneType' object has no attribute 'isProductPlantable'
PS C:\Users\cenkg\OneDrive\Desktop\Wurzelimperium-Bot-master>

So ist es im Ordner abgespeichert.

Pflanzt so viele Pflanzen von einer Sorte wie möglich über alle Gärten hinweg an.
"""
product = self.productData.getProductByName(productName)
if (product.isProductPlantable()):
for garden in self.garten:
garden.growPlant(product.getID(), product.getSX(), product.getSY())

Also ich sehe keinen Rechtschreibfehler, aber was weiss ich schon :D
01/11/2022 19:19 cypher#8
Quote:
Originally Posted by westkous View Post
Entschuldige das ich die schon wieder störe. Nun habe ich einen AttributeError. So wie ich das verstanden habe, ist das ein Rechtschreibefehler bei der Python Sprache.

Dieser Fehler erscheint:

File "example.py", line 23, in <module>
wurzelBot.growPlantsInGardens('Salat')
File "C:\Users\cenkg\OneDrive\Desktop\Wurzelimperiu m-Bot-master\src\WurzelBot.py", line 218, in growPlantsInGardens
if (product.isProductPlantable()):
AttributeError: 'NoneType' object has no attribute 'isProductPlantable'
PS C:\Users\cenkg\OneDrive\Desktop\Wurzelimperium-Bot-master>

So ist es im Ordner abgespeichert.

Pflanzt so viele Pflanzen von einer Sorte wie möglich über alle Gärten hinweg an.
"""
product = self.productData.getProductByName(productName)
if (product.isProductPlantable()):
for garden in self.garten:
garden.growPlant(product.getID(), product.getSX(), product.getSY())

Also ich sehe keinen Rechtschreibfehler, aber was weiss ich schon :D
Öffne mal die example.py Datei mit Notepad++ und ändere die Zeile
Code:
wurzelBot.growPlantsInGardens('Salat')
zu
Code:
#wurzelBot.growPlantsInGardens('Salat')
Also eine "#" an den Anfang der Zeile und dann abspeichern.

Dann wird der Bot für dich nicht mehr sähen, aber vllt. klappt der Rest (Ernten und Wässern) ohne Fehler. Was nun genau das Problem ist, kann ich nicht sagen, ohne den Code genauer unter die Lupe zu nehmen. Das kann ich frühstens heute Mitternacht oder morgen tun.

Der Bot ist aber zuletzt vor 7M aktualisiert worden, d.h. es könnte sein, dass er eig. gar nicht mehr funktioniert. Das finden wir aber sicher zusammen raus. ^^
01/11/2022 19:39 westkous#9
Quote:
Originally Posted by Cyphernomic View Post
Öffne mal die example.py Datei mit Notepad++ und ändere die Zeile
Code:
wurzelBot.growPlantsInGardens('Salat')
zu
Code:
#wurzelBot.growPlantsInGardens('Salat')
Also eine "#" an den Anfang der Zeile und dann abspeichern.

Dann wird der Bot für dich nicht mehr sähen, aber vllt. klappt der Rest (Ernten und Wässern) ohne Fehler. Was nun genau das Problem ist, kann ich nicht sagen, ohne den Code genauer unter die Lupe zu nehmen. Das kann ich frühstens heute Mitternacht oder morgen tun.

Der Bot ist aber zuletzt vor 7M aktualisiert worden, d.h. es könnte sein, dass er eig. gar nicht mehr funktioniert. Das finden wir aber sicher zusammen raus. ^^
Habe # hinzugefügt. Ich glaube dan funktioniert das Ganze nicht mehr.

PS C:\Users\cenkg\OneDrive\Desktop\Wurzelimperium-Bot-master> python example.py
PS C:\Users\cenkg\OneDrive\Desktop\Wurzelimperium-Bot-master>

Ingame hat sich dann auch nichts geändert. Ich bin dir unglaublich dankbar für deine Zeit. War mal schön, kurzzeitig in eure Welt abzutauchen.
Will auch nicht mehr von deiner Zeit in Anspruch nehmen.
Ich kehre wohl zur guten alten Handarbeit zurück :D
01/11/2022 20:00 cypher#10
Quote:
Originally Posted by westkous View Post
Habe # hinzugefügt. Ich glaube dan funktioniert das Ganze nicht mehr.

PS C:\Users\cenkg\OneDrive\Desktop\Wurzelimperium-Bot-master> python example.py
PS C:\Users\cenkg\OneDrive\Desktop\Wurzelimperium-Bot-master>

Ingame hat sich dann auch nichts geändert. Ich bin dir unglaublich dankbar für deine Zeit. War mal schön, kurzzeitig in eure Welt abzutauchen.
Will auch nicht mehr von deiner Zeit in Anspruch nehmen.
Ich kehre wohl zur guten alten Handarbeit zurück :D
OK, möglicherweise hat sich was am Spiel verändert und der Bot greift nicht mehr. ^^
Kannst ja hin und wieder mal gucken, ob sich da das Datum in Github verändert und der Entwickler da was aktualisiert.