Latest Posts

Topic: Vorschlag / Idee für Version 1.3 | #Addons , #Lua-Skripte

Teayo
Avatar
Topic Opener
Joined: 2015-03-09, 22:11
Posts: 220
OS: Windows 11 Home 64-bit
Version: 1.2.1~rc1
Ranking
Widelands-Forum-Junkie
Location: Deutschland
Posted at: 2024-06-23, 02:28

Uebersicht der bereits vorhandenen Aktionen fuer

Gebäude Arbeiter Unbewegliche Objekte Tiere Technische Objekte Synonym für die Aktion
. . . . . .
call
.
callworker
.
.
callobject
. . . . . .
construct construct construct
. . . . . .
animate animate animate animate
playsound playsound playsound playsoud
. . . . . .
consume
produce
createware
. . . . . .
mine mine
breed
. . . . . .
terraform
. . . . . .
removeobject
createbob
recruit
. . . . . .
removeobject
remove
plant
seed
. . . . . .
transform
grow
. . . . . .
checksolidier
train
. . . . . .
sleep
. . . . . .
findobject
findspace
findresources
. . . . . .
repeatsearch
. . . . . .
scout
walk
. . . . . .
return return

Entsprechend der Dokumentation .

Uebersicht möglicher zukünftiger Aktionen fuer

Gebäude Arbeiter Unbewegliche Objekte Tiere Technische Objekte Synonym für die Aktion
. . . . . .
call call call call call
call_building
call_worker call_worker call_worker call_worker
call_immovable call_immovable call_immovable
call_critter call_critter call_critter
call_object call_object call_object call_object
. . . . . .
construct construct construct
. . . . . .
animate animate animate animate animate
playsound playsound playsound playsoud playsound
. . . . . .
remove_ware remove_ware consume
add_ware add_ware produce
. . . . . .
remove_resources remove_resources mine
add_resources breed
. . . . . .
terraform terraform terraform terraform
. . . . . .
remove_building remove_building
remove_worker remove_worker
remove_immovable remove_immovable remove_immovable remove_immovable removeobject
remove_critter remove_critter remove_critter remove_critter removeobject
remove_object
add_building add_building
add_worker add_worker recruit
add_immovable add_immovable add_immovable plant
add_critter add_critter add_critter add_critter createbob
add_object add_object add_object add_object
. . . . . .
seed
transform transform transform transform
grow
. . . . . .
checksolidier
train
. . . . . .
sleep
. . . . . .
findobject findobject findobject
findspace findspace findspace
findresources
. . . . . .
repeatsearch
. . . . . .
scout
walk walk walk
. . . . . .
return return

Das diese Umgestaltung für Widelands ans Elementare gehen würde ist mir bewusst .
Daher schätze ich auch die Wahrscheinlichkeit sehr gering ein , das diese Umstrukturierung und Ergänzung bei den Programm Aktionen , jemals umgesetzt wird .
Dies ist jedoch nicht mein eigentliches Anliegen für diesen Thread , sondern ich hatte es mir schon länger notiert und wollte dies nun mal am Rande veröffentlichen .

Konkretes Anliegen dieses Threads - Parameter Ergänzung

Konkret geht es mir in diesen Thead aber um den Vorschlag für die Hinzufügung von Parametern für wenige der bereits existierenden Aktionen für Arbeiter .
Betroffen sind davon folgende Aktionen :

Objekt Typ Betroffene Aktionen Neuer Parameter Werte von neuen Parameter Neuer Parameter Beschreibung Priorität für Teayo
Arbeiter walk
findobject
skip_on_failure Überspringt die Aktion wenn sie fehlschlägt und setzt mit der nächsten Aktion fort ,
anstatt das komplette Programm abzubrechen
3/3 Hoch
Arbeiter walk
animate
playsound
callobject
createbob
skip_if_previous_action_skipped Überspringt die Aktion wenn die vorherige Aktion übersprungen wurde ,
anstatt das komplette Programm abzubrechen
3/3 Hoch
Arbeiter walk
findobject
call_on_failure <Programm Name> Beendet das Programm in dem sich diese Aktion befindet ,
alle noch folgenden Aktionen werden übersprungen .
Ruft ein anderes internes Programm des Arbeiters auf ,
was aber nicht den Programm Namen hat , indem sich diese gerade ausführende Aktion befindet .
3/3 Hoch
Arbeiter walk ignore_object_size small (Default)
medium
big
Der Arbeiter ignoriert die Beschränkungen zur Zugänglichkeit von Punkten ,
mit Eigenschaft size (Größe) , alle Größen bis
zur im Parameter Wert angegebenen Größe .
2/3 Mittel
Arbeiter walk ignore_world_field_type Der Arbeiter ignoriert die Beschränkungen zur Zugänglichkeit von Punkten ,
mit der Eigenschaft Wasser / Ozean , sowie
mit der Eigenschaft Tödlich ( Sumpf / Lava / Schnee )
2/3 Mittel
Gebäude callworker worker 0 (Default)
<Integer>
Wählt den Arbeiter Listen Eintrag aus , der der im Parameter Wert angegebenen Nummer entspricht .
* Ermöglicht es einen Gebäude mehrere Arbeiter zu entsenden ,
jedoch pro callworker Aktion nur einen Arbeiter gleichzeitig .
Wenn dieser Parameter vorhanden ist , wird sofort zur nächsten Aktion gewechselt ,
und nicht gewartet bis der Arbeitern wieder das Gebäude betreten hat .
Erfordert dann jedoch eine Warte-Abfrage bei der "return" Aktion bei den Gebäuden , ob alle Arbeiter wieder im Gebäude sind , bevor das Programm beendet wird und das "main" Programm aufgerufen wird .
1/3 Niedrig

Ohne die als Priorität Hoch markierten Parameter ist es mir nicht möglich , mein Addon voll funktionsfähig zu kriegen .

Sonstige entdeckte Fehler in der aktuellsten 1.3 Entwicklungsversion

Wenn ich die Aktion "construct" Aktiviere , jedoch kein Wasser in der Nähe ist (was ich auch nicht brauche) ,
kommt trotzdem fälschlicherweise die Fehlernachricht im Spiel zum Spieler dass das Gebäude nicht an einen Ufer stehe ,
diese Hinweis Nachricht macht bei der Werft sinn , beim Mauerbauer jedoch nicht .
Die Fehler-Hinweis-Nachricht erscheint immer nach dem laden des Spielstandes .

Der Steinbruch erkennt die Mauern in seinen Arbeitsbereich nicht und kann diese dann daher auch nicht abbauen .
Funktionierte in einer früheren Version ohne Probleme .
Ich habe die register.lua überprüft und der Schlüsselname stimmt mit dem in der postload.lua unter dem Arbeiter bei der Aktion findobject=attrib:stone_walls überein .
Es besteht hier jedoch die Wahrscheinlichkeit das ich hier etwas im Addon übersehen habe und es nicht an Widelands liegt .
Ein erstellen eines neuen Spiels löst diesen Fehler nicht .

Die "construct" Aktion sorgt nicht dafür das der Arbeiter die Ware in die Hand nimmt .
Die Wahrscheinlichkeit ist groß das ich hier etwas falsch mache in den Programmen , so das dies nicht funktioniert .

Langfristige Wünsche zur Implementierung

Momentan habe ich eine temporäre funktionierende Lösung für die Auswahl und Markierung von Punkten in mein Addon eingebaut .
Dieser Lösungsansatz ist jedoch stark vom Zufall abhängig und der Spieler kann nur mit viel Geduld oder vielen Mauerbauer Gebäuden ,
sinnvoll zu seinen gewünschten Mauer Verlauf kommen .

Eine Lösung die ich begrüßen würde wäre es , wenn man dem Fenster "Erweiterte Optionen zum aktuell ausgewählten Punkt" ,
der Liste im Fenster dort weitere Einträge hinzufügen kann , die dann Objekte enthalten , die der Spieler entsprechend sofort platzieren kann .
Momentan enthält das Fenster "Erweiterte Optionen zum aktuell ausgewählten Punkt" nur folgende Auswahlmöglichkeiten :
* Flagge platzieren
* Entsende einen Geologen
* Markiere das Objekt zur priorisierten Entfernung (Optional vorhanden wenn : [ Bäume / Felsen ] )
* Fenster schließen

Referenzen

Widelands.org Deutsches-Spielerforum Mauerbauer Addon Impuls Objekt Problem Andeutung
Widelands.org Dokumentation der verfügbaren Aktionen für Arbeiter Programme
Widelands.org Dokumentation der verfügbaren Aktionen für Gebäude Programme
Widelands.org Dokumentation der verfügbaren Aktionen für Unbewegliche_Objekte Programme

Edited: 2024-06-23, 02:32

Top Quote