CbC: Feedback-Thread
CbC: Feedback-Thread
Moin!
Wenn Ihr beim Ausführen eine Fehlermeldung bekommt, kopiert sie hier bitte rein.
Wenn Ihr sonst unvorhergesehenes Verhalten feststellt (== Wenn ein Meta nicht das bewirkt, was oben in der Doku steht), beschreibt bitte den Fall.
Wenn Euch zu einem Skript eine elegantere Programmierlösung einfällt: Gerne, danke!
Wenn Ihr Vorschläge für neue Funktionalitäten habt, diese bitte dort rein:
http://forum.fantasya-pbem.de/viewtopic.php?f=7&t=194
Code-Thread:
http://forum.fantasya-pbem.de/viewtopic.php?f=7&t=192
Dokumentation-Thread:
http://forum.fantasya-pbem.de/viewtopic.php?f=7&t=193
Changelog (letzter Eintrag)
19. März 2017
- Neues getimetes Meta: +route. Koppelt das Setzen von Bewegungsbefehlen an eine Kontrolle der Koordinaten, auf denen die Einheit gerade steht. Bei Schiffen mit Sturmtreffern weniger fummelig als der Fantasya-Befehl ROUTE, generell für alles geeignet, was sich bewegen soll.
-- neues Skript: route(Unit)
Wenn Ihr beim Ausführen eine Fehlermeldung bekommt, kopiert sie hier bitte rein.
Wenn Ihr sonst unvorhergesehenes Verhalten feststellt (== Wenn ein Meta nicht das bewirkt, was oben in der Doku steht), beschreibt bitte den Fall.
Wenn Euch zu einem Skript eine elegantere Programmierlösung einfällt: Gerne, danke!
Wenn Ihr Vorschläge für neue Funktionalitäten habt, diese bitte dort rein:
http://forum.fantasya-pbem.de/viewtopic.php?f=7&t=194
Code-Thread:
http://forum.fantasya-pbem.de/viewtopic.php?f=7&t=192
Dokumentation-Thread:
http://forum.fantasya-pbem.de/viewtopic.php?f=7&t=193
Changelog (letzter Eintrag)
19. März 2017
- Neues getimetes Meta: +route. Koppelt das Setzen von Bewegungsbefehlen an eine Kontrolle der Koordinaten, auf denen die Einheit gerade steht. Bei Schiffen mit Sturmtreffern weniger fummelig als der Fantasya-Befehl ROUTE, generell für alles geeignet, was sich bewegen soll.
-- neues Skript: route(Unit)
Zuletzt geändert von nemo am So 19. Mär 2017, 14:45, insgesamt 15-mal geändert.
I may go pop -- Excuse me!
CbC: Bekannte Probleme
- +lerne und +lernen scheinen sich gegenseitig zu beeinflussen: ist bei mir jdfls aufgetaucht, dass eine Einheit mit +lerne x und +lernen x folgebefehl auf einmal "folgebefehl ; ersatzweise" drinstehen hatte.
-- geplante Lösung: Zusammenlegung vvon +lernen und +anlernen
- Metabefehele als Alternativbefehle bei harten Metas: Führen zur Verweigerung einer Abführungs ans Lager;
??? - +gib funktioniert nicht immer (nur meistens); ???
[Kann auch sein, dass ich da noch Kommas aus der alten Version übrig hatte ]
??? - +lehre: Lehrer versuchen, bereits lehrende Lehrer zu lehren;???
(as of Mar/14: konnte nicht nochmals beobachtet werden)
- +lernen und +anlernen nehmen nichts an, was Umlaute oder ß enthält, +lerne und +lehre ist es dafür völlig egal, ob ihre Angegebenen Talente überhaupt existieren
- Der "Programmierer" ist ein verdammter Amateur
-- geplante Lösung: Zusammenlegung vvon +lernen und +anlernen
- Metabefehele als Alternativbefehle bei harten Metas: Führen zur Verweigerung einer Abführungs ans Lager;
??? - +gib funktioniert nicht immer (nur meistens); ???
[Kann auch sein, dass ich da noch Kommas aus der alten Version übrig hatte ]
??? - +lehre: Lehrer versuchen, bereits lehrende Lehrer zu lehren;???
(as of Mar/14: konnte nicht nochmals beobachtet werden)
- +lernen und +anlernen nehmen nichts an, was Umlaute oder ß enthält, +lerne und +lehre ist es dafür völlig egal, ob ihre Angegebenen Talente überhaupt existieren
- Der "Programmierer" ist ein verdammter Amateur
Zuletzt geändert von nemo am So 19. Mär 2017, 14:47, insgesamt 21-mal geändert.
I may go pop -- Excuse me!
Re: Command By Comments
getMaintenance() not found - sagt Dir das was?
Code: Alles auswählen
Fehler bei der Ausführung
Sourced file: inline evaluation of: ``import magellan.client.*; import magellan.client.extern.*; import magellan.libra . . . '' : Error in method invocation: Method getMaintenance() not found in class'magellan.library.rules.BuildingType'
Sourced file: inline evaluation of: ``import magellan.client.*; import magellan.client.extern.*; import magellan.libra . . . '' : Error in method invocation: Method getMaintenance() not found in class'magellan.library.rules.BuildingType' : at Line: 927 : in file: inline evaluation of: ``import magellan.client.*; import magellan.client.extern.*; import magellan.libra . . . '' : .getMaintenance ( )
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.BSHBinaryExpression.eval(Unknown Source)
at bsh.BSHBinaryExpression.eval(Unknown Source)
at bsh.BSHIfStatement.evaluateCondition(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.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)
Re: Command By Comments
Moin!
Das geht ja gut los... Vielen Dank für's Testen und Melden
Also: Zeilen 927f befassen sich mit dem Gebäude-Unterhalt (was durch Buildingtype.getMaintenance() abgefragt wird).
Die Schlechte Nachricht ist: Ich habe keine Ahnung, warum das auf einmal nicht funktionieren sollte (bei mir läuft's jedenfalls).
Die guten Nachrichten sind:
1. Diese Funktion taucht nur in diesen beiden Zeilen auf;
2. Für Übergangsweise hab ich nen schnellen Patch hingeworfen (wenn das bei noch mehr Leuten auftaucht, bzw. anders nicht lösbar ist, bau ich den dauerhaft ein):
Hierfür ersetze man die Zeilen 927 und 928
(Bzw: Diese beiden:
)
durch folgende:
Und füge Folgendes in die Bibliothek ein (empfohlenerweise unter "Allgemeine Hilfsfunktionen")
(Disclaimer: Die Zahlen hab ich aus dem Wiki..und wo wir gerade dabei sind: Im Text zur Mine steht was von "Bergwerk" )
Auf der Suche nach dem Ursprung des Fehlers:
1. Welche Magellan-Version hast Du? Direkt von log-out oder die veränderte von Hamilcar?
2. Magst Du mal einer Einheit in einem Gebäude folgendes Skript geben, ausführen und mir hier reinkoperen, was sie danach ausspuckt?
(Das Skript kann danach natürlich wieder raus)
Das geht ja gut los... Vielen Dank für's Testen und Melden
Also: Zeilen 927f befassen sich mit dem Gebäude-Unterhalt (was durch Buildingtype.getMaintenance() abgefragt wird).
Die Schlechte Nachricht ist: Ich habe keine Ahnung, warum das auf einmal nicht funktionieren sollte (bei mir läuft's jedenfalls).
Die guten Nachrichten sind:
1. Diese Funktion taucht nur in diesen beiden Zeilen auf;
2. Für Übergangsweise hab ich nen schnellen Patch hingeworfen (wenn das bei noch mehr Leuten auftaucht, bzw. anders nicht lösbar ist, bau ich den dauerhaft ein):
Hierfür ersetze man die Zeilen 927 und 928
(Bzw: Diese beiden:
Code: Alles auswählen
if (unit.getBuilding() != null && unit == unit.getBuilding().getOwnerUnit() && unit.getBuilding().getType().getMaintenance() > 0){
futter = futter + unit.getBuilding().getType().getMaintenance();
durch folgende:
Code: Alles auswählen
if (unit.getBuilding() != null && unit == unit.getBuilding().getOwnerUnit() && buildingMaintenances.keySet().contains(unit.getBuilding().getType().toString())){
futter = futter + buildingMaintenances.get(unit.getBuilding().getType().toString());
Code: Alles auswählen
HashMap buildingMaintenances = new HashMap();
buildingMaintenances.put("Bergwerk", 100);
buildingMaintenances.put("Hafen", 100);
buildingMaintenances.put("Holzfällerhütte", 50);
buildingMaintenances.put("Leuchtturm", 100);
buildingMaintenances.put("Mine", 50);
buildingMaintenances.put("Monument", 100);
buildingMaintenances.put("Sägewerk", 100);
buildingMaintenances.put("Sattlerei", 100);
buildingMaintenances.put("Schiffswerft", 100);
buildingMaintenances.put("Schmiede", 100);
buildingMaintenances.put("Seehafen", 300);
buildingMaintenances.put("Steg", 30);
buildingMaintenances.put("Steinbruch", 100);
buildingMaintenances.put("Steingrube", 50);
buildingMaintenances.put("Steuerturm", 50);
buildingMaintenances.put("Werkstatt", 100);
Auf der Suche nach dem Ursprung des Fehlers:
1. Welche Magellan-Version hast Du? Direkt von log-out oder die veränderte von Hamilcar?
2. Magst Du mal einer Einheit in einem Gebäude folgendes Skript geben, ausführen und mir hier reinkoperen, was sie danach ausspuckt?
Code: Alles auswählen
for(methode : unit.getBuilding().getType().getClass().getMethods()){
helper.addOrder(unit, "; "+methode.toString());
}
Zuletzt geändert von nemo am Mi 22. Feb 2017, 20:39, insgesamt 1-mal geändert.
I may go pop -- Excuse me!
Re: Command By Comments
Dank dir für deine Mühen.
Ich hab das mal bei mir installiert und ein paar erste Befehle getestet, noch läuft es, war aber auch noch nichts komplexes dabei. Ich schaue mal das ich die Tage soweit möglich alles umstelle von Forlage auf CbC, ich melde mich dann bei Fehlern
Ich hab das mal bei mir installiert und ein paar erste Befehle getestet, noch läuft es, war aber auch noch nichts komplexes dabei. Ich schaue mal das ich die Tage soweit möglich alles umstelle von Forlage auf CbC, ich melde mich dann bei Fehlern
Re: Command By Comments
Was den "Fix" angeht... Jetzt habe ich andere Fehler. Ich schreibe Dir dazu eine PN.
Mit dem korrigierten Fix geht es nun.
Ich nutze Magellan Version: 2.0.6 (build 473) / Original.
2.
Hier das Ergebnis für eine Einheit in einem Steinbruch:
Mit dem korrigierten Fix geht es nun.
1.nemo hat geschrieben: Auf der Suche nach dem Ursprung des Fehlers:
1. Welche Magellan-Version hast Du? Direkt von log-out oder die veränderte von Hamilcar?
2. Magst Du mal einer Einheit in einem Gebäude folgendes Skript geben, ausführen und mir hier reinkoperen, was sie danach ausspuckt?(Das Skript kann danach natürlich wieder raus)Code: Alles auswählen
for(methode : unit.getBuilding().getType().getClass().getMethods()){ helper.addOrder(unit, "; "+methode.toString()); }
Ich nutze Magellan Version: 2.0.6 (build 473) / Original.
2.
Hier das Ergebnis für eine Einheit in einem Steinbruch:
Code: Alles auswählen
; public void magellan.library.rules.BuildingType.addRegionType(magellan.library.rules.RegionType)
; public java.util.Collection magellan.library.rules.BuildingType.regionTypes()
; public boolean magellan.library.rules.BuildingType.containsRegionType(magellan.library.rules.RegionType)
; public int magellan.library.rules.BuildingType.getSkillBonus(magellan.library.rules.SkillType)
; public void magellan.library.rules.BuildingType.setSkillBonus(magellan.library.rules.SkillType,int)
; public magellan.library.StringID magellan.library.rules.BuildingType.getID()
; public magellan.library.ID magellan.library.rules.BuildingType.getID()
; public void magellan.library.rules.ConstructibleType.addRawMaterial(magellan.library.Item)
; public magellan.library.Item magellan.library.rules.ConstructibleType.getRawMaterial(magellan.library.StringID)
; public java.util.Collection magellan.library.rules.ConstructibleType.getRawMaterials()
; public void magellan.library.rules.ConstructibleType.addMaintenance(magellan.library.Item)
; public java.util.Collection magellan.library.rules.ConstructibleType.getMaintenanceItems()
; public void magellan.library.rules.ConstructibleType.setBuildSkillLevel(int)
; public int magellan.library.rules.ConstructibleType.getBuildSkillLevel()
; public void magellan.library.rules.ConstructibleType.setMaxSize(int)
; public int magellan.library.rules.ConstructibleType.getMaxSize()
; public magellan.library.Item magellan.library.rules.ConstructibleType.getMaintenance(magellan.library.ID)
; public java.lang.String magellan.library.impl.MagellanNamedImpl.getModifiedName()
; public java.lang.String magellan.library.impl.MagellanNamedImpl.toString()
; public java.lang.Object magellan.library.impl.MagellanNamedImpl.clone() throws java.lang.CloneNotSupportedException
; public java.lang.String magellan.library.impl.MagellanNamedImpl.getName()
; public void magellan.library.impl.MagellanNamedImpl.setName(java.lang.String)
; public int magellan.library.impl.MagellanIdentifiableImpl.superHashCode()
; public boolean magellan.library.impl.MagellanIdentifiableImpl.equals(java.lang.Object)
; public int magellan.library.impl.MagellanIdentifiableImpl.hashCode()
; public int magellan.library.impl.MagellanIdentifiableImpl.compareTo(java.lang.Object)
; public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException
; public final native void java.lang.Object.wait(long) throws java.lang.InterruptedException
; public final void java.lang.Object.wait() throws java.lang.InterruptedException
; public final native java.lang.Class java.lang.Object.getClass()
; public final native void java.lang.Object.notify()
; public final native void java.lang.Object.notifyAll()
Re: Command By Comments
So, ich habe getestet. Dabei habe ich Fehler mit +herde gefunden:
// +herde 0 Pferd
erzeugt:
Pferd
; Pruefzahl herde: 0 0
Analog auch mit Elefant - es fehlt das MACHE.
// +herde 0 Elefant MACHE Pferd
erzeugt:
Elefant MACHE Pferd
; Pruefzahl herde: 0 0
Was noch? Das Talent Bogenschießen (mit ß) kennt er nicht, eine kleine Unschönheit.
Und was mich schon immer gestört hat und was ich mir wünsche, ist ein automatisches FAULENZE auf See mit Deaktivierung des langen Befehls. Beispiel:
// +segeln LERNE Unterhaltung
erzeugt an Land "LERNE Unterhaltung" und auf See "FAULENZE".
// +herde 0 Pferd
erzeugt:
Pferd
; Pruefzahl herde: 0 0
Analog auch mit Elefant - es fehlt das MACHE.
// +herde 0 Elefant MACHE Pferd
erzeugt:
Elefant MACHE Pferd
; Pruefzahl herde: 0 0
Was noch? Das Talent Bogenschießen (mit ß) kennt er nicht, eine kleine Unschönheit.
Und was mich schon immer gestört hat und was ich mir wünsche, ist ein automatisches FAULENZE auf See mit Deaktivierung des langen Befehls. Beispiel:
// +segeln LERNE Unterhaltung
erzeugt an Land "LERNE Unterhaltung" und auf See "FAULENZE".
Re: Command By Comments
Hello again
Nachtrag zum Gebäude-Problem:
Das ist tatsächlich eine Kompatibilitäts-Sache zwischen Magellan und FMagellan. Ersteres verlangt für ConstructibleType.getMaintenance einen Parameter, letzteres nicht. Lösung: die Tabelle buildingMaintenances wird ab nächstem Update dauerhaft drin bleiben.
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).
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).
In der Aufzählung nicht erwähnt aber geplant sind:
+belade und +entlade (wie ihre Forlage-Verwandten;)
+lager (item): das den jeweiligen Kategorien-Lagern die Kompetenz für einzelne Items wegnimmt (zB um Katapulte getrennt von Bögen und Armbrüsten zu haben oder Holz woanders als Steine und Eisen);
Umbenennung +potter ?
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?
Gruß
Nemo
... die leider beabsichtigt ist. Grund ist der Server, der Umlaute zwar annimmt, aber Umschreibungen zurück gibt. An sich erledigt sich das also nach der nächsten Auswertung von selbst, aber ich werd mal schauen, ob sich was machen lässt.Thalian hat geschrieben:Das Talent Bogenschießen (mit ß) kennt er nicht, eine kleine Unschönheit.
Wird gemacht.Thalian hat geschrieben:FAULENZE auf See mit Deaktivierung des langen Befehls
Nachtrag zum Gebäude-Problem:
Das ist tatsächlich eine Kompatibilitäts-Sache zwischen Magellan und FMagellan. Ersteres verlangt für ConstructibleType.getMaintenance einen Parameter, letzteres nicht. Lösung: die Tabelle buildingMaintenances wird ab nächstem Update dauerhaft drin bleiben.
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).
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).
In der Aufzählung nicht erwähnt aber geplant sind:
+belade und +entlade (wie ihre Forlage-Verwandten;)
+lager (item): das den jeweiligen Kategorien-Lagern die Kompetenz für einzelne Items wegnimmt (zB um Katapulte getrennt von Bögen und Armbrüsten zu haben oder Holz woanders als Steine und Eisen);
Umbenennung +potter ?
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?
Gruß
Nemo
I may go pop -- Excuse me!
Dok-Fehler +herde
Sorry, wurde von mir fehlerhaft dokumentiert. (Tier) und (n) müssen die Plätze tauschen, also etwaThalian hat geschrieben:Fehler mit +herde gefunden
// +herde Pferd 0.
Korrigier ich gleich oben.
I may go pop -- Excuse me!
Re: Command By Comments
Wie wäre es, wenn Du einen Thread "Command By Comments - Code" machst, in dem Du den/die Posts wöchentlich oder regelmäßig updatest, und einen anderen Thread für DIskussionen dazu?nemo hat geschrieben: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).
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste