Latest Posts

Topic: Fehlermeldungen beim laden von Erweiterungen

Teayo
Avatar
Topic Opener
Joined: 2015-03-09, 21:11
Posts: 165
OS: Windows 11 Home 64-bit
Version: 1.2 from Juni (06) 2023
Ranking
At home in WL-forums
Location: Deutschland
Posted at: 2024-06-08, 16:42

Fehlermeldung

[05:21:42.084 real] ERROR:
FATAL EXCEPTION: game class:

[D:/a/widelands/widelands/src/scripting/lua_errors.cc:21]
modify_unit: error:

[D:/a/widelands/widelands/src/scripting/lua_errors.cc:21]
empire_worker_wallmason: Error in worker program create_wall:

Error reading line 'createbob=empire_worker_wall_add_e':
[D:/a/widelands/widelands/src/scripting/lua_errors.cc:21]

Error loading animation 'walk' for map object 'empire_worker_wall_add_e':
Direction '_ne': Animation with one picture addons/mauerbauer.wad/mauern_impulse/plus_e/\walk_ne_4.png must not 

init.lua

...
    animations =
    {
        idle =
        {
            hotspot = { 0, 0 }
        },
        walk =
        {
            --basename = "idle"
            fps = 1,
            frames = 2,
            columns = 1,
            rows = 2,
            directional = true,
            hotspot = { 12, 12 }
        },
        walkload =
        {
            --basename = "idle"
            fps = 1,
            frames = 2,
            columns = 1,
            rows = 2,
            directional = true,
            hotspot = { 12, 12 }
        }
    },
    buildcost = {},
    vision_range = 0,
    programs = 
    {
        main =
        {
            actions =
            {
                "walk=e",
                --"animate=idle duration:28800s"
                "remove="
            }
        }
    }
...

Dateien im Ordner

normal
pruefen (enthält temporär walkload.png's)

register.lua
init.lua

idle_0.5.png
idle_1.png
idle_2.png
idle_4.png

walk_e_0.5.png
walk_e_1.png
walk_e_2.png
walk_e_4.png

walk_ne_0.5.png
walk_ne_1.png
walk_ne_2.png
walk_ne_4.png (Die betroffene Datei aus der Fehlermeldung) [Größe 192x96 px]

walk_nw_0.5.png
walk_nw_1.png
walk_nw_2.png
walk_nw_4.png

walk_se_0.5.png
walk_se_1.png
walk_se_2.png
walk_se_4.png

walk_sw_0.5.png
walk_sw_1.png
walk_sw_2.png
walk_sw_4.png

walk_w_0.5.png
walk_w_1.png
walk_w_2.png
walk_w_4.png

Vorherige Fehlermeldung behoben , nun neue Fehlermeldung

Um die vorherige Fehlermeldung zu beheben , habe ich alle walk und walkload Bilddateien angepasst von 96x96 auf 96x192 als Beispiel um aus einen Bild ein Spritesheet zu erstellen .
Leider akzeptiert das Widelands weiterhin nicht und , so das ich von 0 fps auf 1 fps in der init.lua umstellen musste .
Aber auch danach möchte Widelands etwas nicht , was ich nicht verstehe , nähmlich die aktuelle Fehlermeldung , die in diesen Post beschrieben wird .
Ich habe doch alles so gemacht wie beim Arbeiter , der bereits funktioniert .
Ich probier mal rum , denke aber nicht zeitnah eine Lösung zu finden .


Das Imperium schlägt zurück ! TY

Top Quote
Nordfriese
Avatar
Joined: 2017-01-17, 17:07
Posts: 1984
OS: Debian Testing
Version: Latest master
Ranking
One Elder of Players
Location: 0x55555d3a34c0
Posted at: 2024-06-08, 19:22

Direction '_ne': Animation with one picture addons/mauerbauer.wad/mauern_impulse/plus_e/\walk_ne_4.png must not

ergänze: … "have 'fps'"

Animationen mit nur einem Bild dürfen keine FPS-Rate angeben. Nicht 1, nicht 0 (0 ergibt ohnehin keinen Sinn…), der Key darf schlicht nicht existieren.


Top Quote
hessenfarmer
Avatar
Joined: 2014-12-11, 22:16
Posts: 2680
Ranking
One Elder of Players
Location: Bavaria
Posted at: 2024-06-08, 22:24

Wenn in dem spritesheet aber nur ein Bild ist, (was ich annehme) dann macht aber eine Angabe von 2 Zeilen (rows) auch wenig SInn.


Top Quote
Teayo
Avatar
Topic Opener
Joined: 2015-03-09, 21:11
Posts: 165
OS: Windows 11 Home 64-bit
Version: 1.2 from Juni (06) 2023
Ranking
At home in WL-forums
Location: Deutschland
Posted at: 2024-06-08, 22:32

Vorheriges Problem mit den "animate_ne" gelöst .

Allerdings habe ich jetzt wieder ein neues Problem , was meinen aktuellen Plan wie ich das umsetzen möchte , durchkreuzt und verhindert .
Ich bekomme nun eine Fehlermeldung das die Aktion "remove=" nicht existiert .
Deaktiviere ich die "remove=" Aktion und aktiviere dafür die "return" Aktion , so kommt es zu einer vermeintlichen Fehlfunktion .
Anstatt das Objekt zu erzeugen , geht der Arbeiter bei Ankunft an der selektierten Position direkt wieder zurück zu seinen Gebäude .
Eine Test-Animation "animate=work duration:2s", die hinter der Aktion "createbob=empire_worker_wall_add_e" , wird nicht abgespielt .
Da aber im Programm von "empire_worker_wall_add_e" die aktivierte "return" Aktion als letztes ,
vor einer weiteren 2 Sekündigen Test-Animation und einen "walk=e" kommen , bedeutet dies ,
Das die Aktion "createbob=empire_worker_wall_add_e" vom Arbeiter "empire_worker_wallmason" fehlschlug und das komplette Programm abgebrochen wurde
und eine nicht sichtbare , beziehungsweise übergeordnete "return" Aktion ausgeführt wurde .

Darüber muss ich erst einmal eine weile nachdenken , ob es überhaupt eine Möglichkeit gibt das Impuls-Konzept direkt in den Arbeiter "empire_worker_wallmason" zu integrieren .
Zumindest wird es scheinbar wohl erstmal sehr schwierig die Mauer Objekt Animationen zu synchronisieren .
Ich muss in der Dokumentation nochmal nachschauen was für Aktionen in Programmen es bei Tieren gibt .
Außerdem sehe ich viele Wenn dann und Wenn nicht , Falls sonst Fälle , ich weiß nicht wie man das in das Arbeiter Programm umsetzen kann ,
da es offenbar schon bei dem ersten Fehlschlag sofort das Programm abbricht und ins "return" übergeht .
Das wird sehr schwierig .

Umgehen könnte ich das Problem , indem ich das Impuls-Konzept beziehungsweise das Konzept der Mauer-Verbindungen , komplett verworfen wird
und dafür dann Abstriche beim Spielerlebnis gemacht werden , dann wird die Mauer schlicht wie ein Baum in die Welt platziert ,
ohne das es sichtbare Verbindungen zu anderen Mauern gibt .


Das Imperium schlägt zurück ! TY

Top Quote
Teayo
Avatar
Topic Opener
Joined: 2015-03-09, 21:11
Posts: 165
OS: Windows 11 Home 64-bit
Version: 1.2 from Juni (06) 2023
Ranking
At home in WL-forums
Location: Deutschland
Posted at: 2024-07-14, 16:56

Nachtrag

was bereits den relevanten Personen , unter anderen @Nordfriese bekannt ist , das ich das Problem habe ,
mein Addon hochzuladen . Entsprechende Konversation dazu : https://www.widelands.org/messages/view/11952/ .
Das Problem besteht wohl nur in der aktuellen Widelands 1.2 Release Version .
Der entsprechende Bug dazu : https://codeberg.org/wl/wl_addons_server/issues/87 mit der Lösung : https://github.com/widelands/widelands/pull/6437 .
Da ich keine Ahnung habe wie ich mit der verlinkten Lösung umgehen soll , warte ich auf eine neue Entwicklungsversion zur 1.3 , in der die Lösung bereits integriert ist .
Ich würde es jedoch begrüßen wenn ich benachrichtigt werde , entweder per Privatnachricht oder hier unter diesen Thread ,
wenn eine neue Entwicklungsversion zur 1.3 verfügbar ist , in der das Problem voraussichtlich behoben sein soll .

Was mir noch ganz wichtig ist , ist das ich es begrüßen würde , wenn die Sicherheitsüberprüfung in Lua-Skripten bei transforms entfernt wird .
Dies ist unerlässlich , da ich kein Spiel starten kann mit geschlossener transform Schleife in meinen Addon .
Momentan funktioniert mein Addon immer nur dann wenn ich die Schleife durchtrenne .

Geschlossene Schleife

Objekt-A
programs =
{
 remove_e = { "transform=object_b" },
}

Objekt-B
programs =
{
 add_e = { "transform=object_a" },
}

Durchtrennte Schleife

Objekt-A
programs =
{
 --remove_e = { "transform=object_b" },
}

Objekt-B
programs =
{
 add_e = { "transform=object_a" },
}

ODER

Objekt-A
programs =
{
 remove_e = { "transform=object_b" },
}

Objekt-B
programs =
{
 --add_e = { "transform=object_a" },
}

Ladezeiten bei geschlossener Schleife

Anmerkung : Es sind alle 64+3 Objekte aktiviert und bei den 64 Objekten sind alle transforms in ein Richtung ( add ) aktiviert , dies funktioniert ohne Probleme .
Zum Testen wurden schrittweise die transforms auch in die andere Richtung ( remove ) aktiviert und das Ergebnis der Ladezeiten findet sich in der unteren Tabelle .

Objekte
Gesamt
Involviert
1 Objekte
aus
Gruppe V0-1
6 Objekte
aus
Gruppe V1-1
3 Objekte
aus
Gruppe V2-1
6 Objekte
aus
Gruppe V2-2
6 Objekte
aus
Gruppe V2-3
6 Objekte
aus
Gruppe V3-1
Ladezeit
2
Schleifen : 1
1
6x1 ---> Gruppe V1-1
1
5x6 ---> Gruppe V2-
Gruppe V0-1 <--- 1x1
unter < 5 Sekunden
7
Schleifen : 6
1
6x1 ---> Gruppe V1-1
6
5x6 ---> Gruppe V2-
Gruppe V0-1 <--- 1x6
5 bis 10 Sekunden
10
Schleifen : 9
1
6x1 ---> Gruppe V1-1
6
5x6 ---> Gruppe V2-
Gruppe V0-1 <--- 1x6
3
4x3 ---> Gruppe V3-
Gruppe V1-1 <--- 2x3
20 bis 35 Sekunden
13
Schleifen : 12
1
6x1 ---> Gruppe V1-1
6
5x6 ---> Gruppe V2-
Gruppe V0-1 <--- 1x6
3
4x3 ---> Gruppe V3-
Gruppe V1-1 <--- 2x3
3
4x3 ---> Gruppe V3-
Gruppe V1-1 <--- 2x3
8 bis 10 Minuten
16
Schleifen : 15
1
6x1 ---> Gruppe V1-1
6
5x6 ---> Gruppe V2-
Gruppe V0-1 <--- 1x6
3
4x3 ---> Gruppe V3-
Gruppe V1-1 <--- 2x3
6
4x6 ---> Gruppe V3-
Gruppe V1-1 <--- 2x6
über > 30 Minuten
17
Schleifen : 16
1
6x1 ---> Gruppe V1-1
6
5x6 ---> Gruppe V2-
Gruppe V0-1 <--- 1x6
3
4x3 ---> Gruppe V3-
Gruppe V1-1 <--- 2x3
6
4x6 ---> Gruppe V3-
Gruppe V1-1 <--- 2x6
1
4x1 ---> Gruppe V3-
Gruppe V1-1 <--- 2x1
NaN
das dauert mir zu
lange ---> Taskmanager
Widelands abgewürgt

CPU als auch RAM waren aber bei allen Ladevorgängen stets unauffällig und nicht ausgelastet .
Die Ausgabedatei stdout.txt von Widelands zeigt keine Hinweise oder Auffälligkeiten die mit diesen Problem in Zusammenhang stehen könnten .


Das Imperium schlägt zurück ! TY

Top Quote