CbC: Feedback-Thread

Hier geht es um technische Fragen zu Fantasya.
Benutzeravatar
Thalian
Administrator
Beiträge: 653
Registriert: Mo 5. Jan 2015, 14:25
Kontaktdaten:

Re: Command By Comments

Beitrag von Thalian » Do 23. Feb 2017, 16:29

Noch ein Bug:
// +magbest 4
ergibt:

Code: Alles auswählen

Fehler bei der Ausführung

java.lang.IndexOutOfBoundsException: Index: 3, Size: 3


Sourced file: inline evaluation of: ``import magellan.client.*; import magellan.client.extern.*; import magellan.libra . . . '' : Method Invocation you.get

in Zeile 336 in der Bibliothek

java.lang.IndexOutOfBoundsException: Index: 3, Size: 3
	at java.util.ArrayList.rangeCheck(ArrayList.java:635)
	at java.util.ArrayList.get(ArrayList.java:411)
	at sun.reflect.GeneratedMethodAccessor30.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at bsh.Reflect.invokeMethod(Unknown Source)
	at bsh.Reflect.invokeObjectMethod(Unknown Source)
	at bsh.Name.invokeMethod(Unknown Source)
	at bsh.BSHMethodInvocation.eval(Unknown Source)
	at bsh.BSHPrimaryExpression.eval(Unknown Source)
	at bsh.BSHPrimaryExpression.eval(Unknown Source)
	at bsh.BSHArguments.getArguments(Unknown Source)
	at bsh.BSHMethodInvocation.eval(Unknown Source)
	at bsh.BSHPrimaryExpression.eval(Unknown Source)
	at bsh.BSHPrimaryExpression.eval(Unknown Source)
	at bsh.BSHAssignment.eval(Unknown Source)
	at bsh.BSHBlock.evalBlock(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BSHTryStatement.eval(Unknown Source)
	at bsh.BSHBlock.evalBlock(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BSHTryStatement.eval(Unknown Source)
	at bsh.BSHBlock.evalBlock(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BSHIfStatement.eval(Unknown Source)
	at bsh.BSHBlock.evalBlock(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BSHIfStatement.eval(Unknown Source)
	at bsh.BSHBlock.evalBlock(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BSHEnhancedForStatement.eval(Unknown Source)
	at bsh.BSHBlock.evalBlock(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BshMethod.invokeImpl(Unknown Source)
	at bsh.BshMethod.invoke(Unknown Source)
	at bsh.BshMethod.invoke(Unknown Source)
	at bsh.Name.invokeLocalMethod(Unknown Source)
	at bsh.Name.invokeMethod(Unknown Source)
	at bsh.BSHMethodInvocation.eval(Unknown Source)
	at bsh.BSHPrimaryExpression.eval(Unknown Source)
	at bsh.BSHPrimaryExpression.eval(Unknown Source)
	at bsh.BSHBlock.evalBlock(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BSHEnhancedForStatement.eval(Unknown Source)
	at bsh.BSHBlock.evalBlock(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BSHIfStatement.eval(Unknown Source)
	at bsh.BSHBlock.evalBlock(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BshMethod.invokeImpl(Unknown Source)
	at bsh.BshMethod.invoke(Unknown Source)
	at bsh.BshMethod.invoke(Unknown Source)
	at bsh.Name.invokeLocalMethod(Unknown Source)
	at bsh.Name.invokeMethod(Unknown Source)
	at bsh.BSHMethodInvocation.eval(Unknown Source)
	at bsh.BSHPrimaryExpression.eval(Unknown Source)
	at bsh.BSHPrimaryExpression.eval(Unknown Source)
	at bsh.BSHBlock.evalBlock(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BSHEnhancedForStatement.eval(Unknown Source)
	at bsh.BSHBlock.evalBlock(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BshMethod.invokeImpl(Unknown Source)
	at bsh.BshMethod.invoke(Unknown Source)
	at bsh.BshMethod.invoke(Unknown Source)
	at bsh.Name.invokeLocalMethod(Unknown Source)
	at bsh.Name.invokeMethod(Unknown Source)
	at bsh.BSHMethodInvocation.eval(Unknown Source)
	at bsh.BSHPrimaryExpression.eval(Unknown Source)
	at bsh.BSHPrimaryExpression.eval(Unknown Source)
	at bsh.Interpreter.eval(Unknown Source)
	at bsh.Interpreter.eval(Unknown Source)
	at bsh.Interpreter.eval(Unknown Source)
	at magellan.plugin.extendedcommands.ExtendedCommands.runExecute(ExtendedCommands.java:504)
	at magellan.plugin.extendedcommands.ExtendedCommands.execute(ExtendedCommands.java:480)
	at magellan.plugin.extendedcommands.ExtendedCommands.execute(ExtendedCommands.java:450)
	at magellan.plugin.extendedcommands.ExecutionThread.run(ExecutionThread.java:81)

Benutzeravatar
Kombinat
Oberst
Beiträge: 140
Registriert: Mo 26. Jan 2015, 21:48

Re: Command By Comments

Beitrag von Kombinat » Do 23. Feb 2017, 17:34

Input-Bitten:
Zum Thema Updates:
Ich hatte mir gedacht, einerseits wöchentlich gefixte Versionen rauszuhauen (sofern Fehler auffallen und ich zum reparieren gekommen bin, das ist), die auch schon neue Features enthalten können, andererseits, wenn es so lange ohne Fehler durchkommt, alle zwei bis drei Wochen Versionen mit neuen Features zu liefern.
Fragen nun:
1. Ist dieser Rhythmus akzeptabel?
2. Wo sollen die Updates hin? -- Ich könnte die ersten beiden Posts hier im Thread jeweils bearbeiten, sodass sie immer auf aktuellem Stand sind; ich könnte beides jeweils "unten" im Thread weiterlaufen lassen (dann kann Später das Suchen allerdings nervig werden), oder auch für jede Version einen neuen Thread aufmachen (dann gibt das viele Threads und die jeweils alten sollten vrmtl. geschlossen werden).
Du machst das freiwillig, da ist zumindest mir alles recht was dann halbwegs zeitnah ist ;-)
Item-Bezüge:
Bisher gibt es ja keine genaue Entsprechung zu Forlages #behalte [(n)] (item). Grund ist das Phänomen, dass, nachdem ich einmal mit #behalte angefangen hatte, keine drei Monate später fast alle meine Einheiten irgendein #behalte hatten (einfach, damit sie sich nicht ständig gegenseitig beklauen), was ich nervig fand. Folge sind die kategorisierten Lager-Funktionen, die nur bestimmte Items von allen Einheiten einziehen. Beim Nachdenken über einen Blocker gegen diese für Transporter ist mir nun aufgegangen, dass #behalte-Analoga trotzdem praktisch und nützlich sind, wenn sie entsprechend diversifiziert werden.
...
Nun ganz platt: Ich bitte um Namesvorschläge für die Metas. Ideen hätte ich zwar, aber ich will sicher gehen, dass die Dinger auch für andere halbwegs intuitiv erfassbar sind (und da ist mein eigener Kopf manchmal zu doof für).
Ja das hatte ich mich gestern auch kurz gefragt, klauen die +sLag`s meinen Kapitänen ihren Proviant ? Ein behalte oder reserviere in Kombination zu +sLag wäre da schon cool, dann ginge auch das Schiffe ( Als Beispiel ) sich im Hafen nachproviantisieren.
Namensvorschlag hab ich nix kreatives, +behalte wäre doch ok ?
Bzw eventuell eine Art gegenfunktion das die Einheiten nichts abgeben sollen was nicht in den eigenen +gib steht ?

Ähnliche Frage, klauen +nLag, +fLag etc aktuell Truppen die Waffen ?

Code: Alles auswählen

[u]Umbenennung +potter ?[/u]
Spiele mit dem Gedanken, +potter zu +reeder umzubenennen.
Eigentlich wollte ich keine Funktionen umbenennen, um denen, die CbC schon anwenden keine unnötige Arbeit zu machen. Halte ich in diesem einen Fall aber für vertretbar, um die Intuitivität der Anwendung zu erhöhen. Meinungen dazu?
Ja denke auch das das umbenennen noch ok ist, zumindest mir ist das nicht wirklich intuitiv und einmal ein Suche&Ersetze über die Befehle zu jagen sollte noch schaffbar sein ;-)

Benutzeravatar
nemo
Heerführer
Beiträge: 232
Registriert: Mi 25. Feb 2015, 12:06

OutOfBounds +magbest und Q&A

Beitrag von nemo » Do 23. Feb 2017, 20:21

@Thalian:
Kann mit folgendem abgefangen werden

Code: Alles auswählen

	 catch (IndexOutOfBoundsException oob){setz = 0;}
(müsstest Du als Zeile 338 einfügen (NICHT ersetzen) -- in der unveränderten Version aus dem Eingangspost ist es Zeile 319)
In der Version für nächste Woche ist es schon drin.

@Kombinat
Kombinat hat geschrieben:+sLag`s meinen Kapitänen ihren Proviant ?
Sehr wahrscheinlich. Zugeteilt wird genau eine Monatsration pro Person.
Kombinat hat geschrieben: klauen +nLag, +fLag etc aktuell Truppen die Waffen ?
Nein. Die beiden gehen nur an +nkw, +bogner und +wagner.

Zu verallgemeinerten Klärung: Ausschließlich Silber, Handelsgüter, Greifeneier, Holz, Eisen, Steine und Gold werden unterschiedslos eingezogen.
I may go pop -- Excuse me!

Benutzeravatar
nemo
Heerführer
Beiträge: 232
Registriert: Mi 25. Feb 2015, 12:06

CbC: Erstes Update 25.02.

Beitrag von nemo » Sa 25. Feb 2017, 13:40

Moin!
Habe jetzt
- die bisher gemeldeten Fehler korrigiert
- und +segeln eingebaut (Danke an Thalian :D )
- und noch ein paar andere Sachen eingebaut (Hauptsächlich Verallgemeinerungen von sehr speziell gewesenen Privatfunktionen),
- den Code nach da dortn verlegt: http://forum.fantasya-pbem.de/viewtopic.php?f=7&t=1924
- die Dokumentation in den ersten beiden Postings dieses Thread geupdated;
- +potter zu +reeder umbenannt;
- festgestellt, dass die Sache mit den Lagern bzw. die Diversifizierung vom #behalte ziemlich kompliziert werden wird (= sorry, kann eine Weile dauern);
- mich auf einen Update-Zyklus festgelegt (wöchentlich vor dem ZAT, sodass die neue Auswertung auch gleich mit dem neuesten CbC bearbeitet werden kann)
- mir das Original-Magellan herunter geladen und installiert, um nicht wieder über Inkompatibilitäten zu FMagellan zu stolpern;
- für den Rest dieses Wochenendes nicht groß Zeit.

Und noch einmal (damit es nicht untergeht):
Item-Bezüge:
Bisher gibt es ja keine genaue Entsprechung zu Forlages #behalte [(n)] (item). Grund ist das Phänomen, dass, nachdem ich einmal mit #behalte angefangen hatte, keine drei Monate später fast alle meine Einheiten irgendein #behalte hatten (einfach, damit sie sich nicht ständig gegenseitig beklauen), was ich nervig fand. Folge sind die kategorisierten Lager-Funktionen, die nur bestimmte Items von allen Einheiten einziehen. Beim Nachdenken über einen Blocker gegen diese für Transporter ist mir nun aufgegangen, dass #behalte-Analoga trotzdem praktisch und nützlich sind, wenn sie entsprechend diversifiziert werden.
Mir schweben da vor:
- ein Meta, das Einzel-Items vom Lager einzieht (zB damit Soldaten sich eigenständig beim Waffenlager bedienen);
- ein Meta für Einzel-Items, mit dem diese von allen Einheiten in der Region eingezogen werden (die genaue Entsprechung zu Forlages #behalte);
- ein Meta, das den Einzug von Greifeneiern, Baumaterial, Luxusgütern und Silber, sowie den universellen #behalte blockt (für Transporter u.ä)
- ein Meta, das verhindert, dass die Einheit Silber zugeteilt bekommt (um Überladungen zu vermeiden und die Einheit beweglich zu halten..Stichwort "Blechbüchsen").
Nun ganz platt: Ich bitte um Namesvorschläge für die Metas. Ideen hätte ich zwar, aber ich will sicher gehen, dass die Dinger auch für andere halbwegs intuitiv erfassbar sind (und da ist mein eigener Kopf manchmal zu doof für).
Wünsche ein schönes WE,
cya
nemo
I may go pop -- Excuse me!

Benutzeravatar
Kombinat
Oberst
Beiträge: 140
Registriert: Mo 26. Jan 2015, 21:48

Re: Command By Comments: Doku und Diskussion

Beitrag von Kombinat » So 26. Feb 2017, 19:36

So, hab jetzt nach der Auswertung auch einen Fehler, als Laie sieht es ähnlich zu Thalians Fehler aus:

Code: Alles auswählen

Fehler bei der Ausführung

java.lang.IndexOutOfBoundsException: Index: 2, Size: 2


Sourced file: inline evaluation of: ``import magellan.client.*; import magellan.client.extern.*; import magellan.libra . . . '' : Method Invocation get

in Zeile 930 in der Bibliothek

java.lang.IndexOutOfBoundsException: Index: 2, Size: 2
	at java.util.ArrayList.rangeCheck(Unknown Source)
	at java.util.ArrayList.get(Unknown Source)
	at sun.reflect.GeneratedMethodAccessor31.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at bsh.Reflect.invokeMethod(Unknown Source)
	at bsh.Reflect.invokeObjectMethod(Unknown Source)
	at bsh.BSHPrimarySuffix.doName(Unknown Source)
	at bsh.BSHPrimarySuffix.doSuffix(Unknown Source)
	at bsh.BSHPrimaryExpression.eval(Unknown Source)
	at bsh.BSHPrimaryExpression.eval(Unknown Source)
	at bsh.BSHArguments.getArguments(Unknown Source)
	at bsh.BSHMethodInvocation.eval(Unknown Source)
	at bsh.BSHPrimaryExpression.eval(Unknown Source)
	at bsh.BSHPrimaryExpression.eval(Unknown Source)
	at bsh.BSHAssignment.eval(Unknown Source)
	at bsh.BSHBlock.evalBlock(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BSHTryStatement.eval(Unknown Source)
	at bsh.BSHBlock.evalBlock(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BSHIfStatement.eval(Unknown Source)
	at bsh.BSHBlock.evalBlock(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BSHEnhancedForStatement.eval(Unknown Source)
	at bsh.BSHBlock.evalBlock(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BshMethod.invokeImpl(Unknown Source)
	at bsh.BshMethod.invoke(Unknown Source)
	at bsh.BshMethod.invoke(Unknown Source)
	at bsh.Name.invokeLocalMethod(Unknown Source)
	at bsh.Name.invokeMethod(Unknown Source)
	at bsh.BSHMethodInvocation.eval(Unknown Source)
	at bsh.BSHPrimaryExpression.eval(Unknown Source)
	at bsh.BSHPrimaryExpression.eval(Unknown Source)
	at bsh.BSHBlock.evalBlock(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BSHIfStatement.eval(Unknown Source)
	at bsh.BSHBlock.evalBlock(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BSHEnhancedForStatement.eval(Unknown Source)
	at bsh.BSHBlock.evalBlock(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BSHEnhancedForStatement.eval(Unknown Source)
	at bsh.BSHBlock.evalBlock(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BSHIfStatement.eval(Unknown Source)
	at bsh.BSHBlock.evalBlock(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BSHEnhancedForStatement.eval(Unknown Source)
	at bsh.BSHBlock.evalBlock(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BshMethod.invokeImpl(Unknown Source)
	at bsh.BshMethod.invoke(Unknown Source)
	at bsh.BshMethod.invoke(Unknown Source)
	at bsh.Name.invokeLocalMethod(Unknown Source)
	at bsh.Name.invokeMethod(Unknown Source)
	at bsh.BSHMethodInvocation.eval(Unknown Source)
	at bsh.BSHPrimaryExpression.eval(Unknown Source)
	at bsh.BSHPrimaryExpression.eval(Unknown Source)
	at bsh.BSHBlock.evalBlock(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BSHEnhancedForStatement.eval(Unknown Source)
	at bsh.BSHBlock.evalBlock(Unknown Source)
	at bsh.BSHBlock.eval(Unknown Source)
	at bsh.BshMethod.invokeImpl(Unknown Source)
	at bsh.BshMethod.invoke(Unknown Source)
	at bsh.BshMethod.invoke(Unknown Source)
	at bsh.Name.invokeLocalMethod(Unknown Source)
	at bsh.Name.invokeMethod(Unknown Source)
	at bsh.BSHMethodInvocation.eval(Unknown Source)
	at bsh.BSHPrimaryExpression.eval(Unknown Source)
	at bsh.BSHPrimaryExpression.eval(Unknown Source)
	at bsh.Interpreter.eval(Unknown Source)
	at bsh.Interpreter.eval(Unknown Source)
	at bsh.Interpreter.eval(Unknown Source)
	at magellan.plugin.extendedcommands.ExtendedCommands.runExecute(ExtendedCommands.java:504)
	at magellan.plugin.extendedcommands.ExtendedCommands.execute(ExtendedCommands.java:480)
	at magellan.plugin.extendedcommands.ExtendedCommands.execute(ExtendedCommands.java:450)
	at magellan.plugin.extendedcommands.ExecutionThread.run(ExecutionThread.java:81)
FMagellan, CbC Code ist der aktuelle vom 25.02

Benutzeravatar
nemo
Heerführer
Beiträge: 232
Registriert: Mi 25. Feb 2015, 12:06

Re: Command By Comments: Doku und Diskussion

Beitrag von nemo » Mo 27. Feb 2017, 14:55

Neue Woche neue Runde.

1. Großes Danke an Thalian, dass der Quellcode jetzt doch in ein Posting geht :D
2. @Kombinat: Zeile 930 ist bei mir was anderes. Nehme an, Du hast leere Zeilen zwischen den Teilen des Codes gelassen? Macht an sich nix, um richtig suchen zu können, müsst ich nur wissen, ob Du irgendwo +treibe eingebaut hast?

3. Mir selber ist aufgefallen,
3a) dass HANDEL die Luxusgüter nicht eigenständig einzuziehen scheint (anders als dokumentiert und gesollt und bis Samstag hats bei mir funktioniert);
3b) ein Problem mit +forst 0 (Alternativbefehl): Wenn keine Bäume da sind, wird " 0 (Alternativbefehl)" gesetzt. Da 0 die Standardeinstellung ist, könnt Ihr das am leichtesten umgehen, indem Ihr das Argument aus der Zeile nehmt. Ich weiß noch nicht, wie es bei andern Zahlen aussieht. Wird diese Woche behandelt.

Für erstmal
cya
nemo
I may go pop -- Excuse me!

Benutzeravatar
Kombinat
Oberst
Beiträge: 140
Registriert: Mo 26. Jan 2015, 21:48

Re: Command By Comments: Doku und Diskussion

Beitrag von Kombinat » Mo 27. Feb 2017, 16:52

Hab nochmal die ganze Bibliothek gelöscht und nochmal durch den Code ersetzt, jetzt sagt er Zeile 925, der Importblock oben in der Bibliothek war doppelt.

Ja ich habe meinen Eintreibern einfach allen
// +magbest
// +treibe
gesetzt, wobei ich das vor der Auswertung auch schon testweise drin hatte und es da ging ?

Benutzeravatar
nemo
Heerführer
Beiträge: 232
Registriert: Mi 25. Feb 2015, 12:06

+treibe gefixed; Problem mit +herde entdeckt

Beitrag von nemo » Di 28. Feb 2017, 13:26

Danke sehr. Fehler reproduziert, gefunden und behoben. Hatte eine Ausnahmebehandlung falsch konstruiert (scheinen sich nicht verschachteln zu lassen).
Und dabei noch zwei andere Fehler im selben Skript gefunden: Standard-Alternativbefehl war falsch geschrieben, TREIBE wurde nicht eingeschränkt. Alles jetzt behoben und im Code-Thread eingearbeitet.

Dabei aufgefallen ist mir ein Problem mit +herde: Das scheint angegebene Alternativbefehle nicht anzunehmen.
und immernoch:
-dass HANDEL die Luxusgüter nicht eigenständig einzuziehen scheint (anders als dokumentiert und gesollt und bis Samstag hats bei mir funktioniert);
-ein Problem mit +forst 0 (Alternativbefehl): Wenn keine Bäume da sind, wird " 0 (Alternativbefehl)" gesetzt. Da 0 die Standardeinstellung ist, könnt Ihr das am leichtesten umgehen, indem Ihr das Argument aus der Zeile nehmt. Ich weiß noch nicht, wie es bei andern Zahlen aussieht. Wird diese Woche behandelt.
I may go pop -- Excuse me!

Benutzeravatar
Kombinat
Oberst
Beiträge: 140
Registriert: Mo 26. Jan 2015, 21:48

Re: Command By Comments: Doku und Diskussion

Beitrag von Kombinat » Di 28. Feb 2017, 17:40

Befehle laufen durch, Rest schaue ich mir dann an :)

Benutzeravatar
Kombinat
Oberst
Beiträge: 140
Registriert: Mo 26. Jan 2015, 21:48

Re: Command By Comments: Doku und Diskussion

Beitrag von Kombinat » Di 28. Feb 2017, 18:27

// +gib 2uf Eisen Stein

+gib hat anscheinend nicht funktioniert. Einheit hatte Eisen und Steine, Zieleinheit 2uf war auch in der Region. Andere +gib auch nicht sobald mehr als eine Ware notiert war

// +gib 4hi 220 Oel 450 Seide
Hier hat der erste Befehl geklappt, Befehl 2 mit Seide machte garnix obwohl 350 Seide vor Ort waren. Andere Region dasselbe

Gesperrt

Wer ist online?

Mitglieder in diesem Forum: Ahrefs [Bot] und 2 Gäste