Hey so today I got this error while testing the final version of my Mod. It was an easy thing to fix, but figured I would post the solution here in case anyone else encounters this issue.Drakkan wrote:Hi guys. when trying to load the game from certain point (unfortunately I didnt noticed where it started went wrong) I get:
=== Software Failure ===
[string "Component.lua"]:0: invalid trigger action
stack traceback:
[C]: in function 'assert'
[string "Component.lua"]: in function 'addConnector'
[string "GameObject.lua"]: in function 'loadState'
[string "Map.lua"]: in function 'loadState'
[string "GameMode.lua"]: in function 'loadGame'
[string "GameMode.lua"]: in function 'update'
[string "Grimrock.lua"]: in function 'display'
[string "Grimrock.lua"]: in main chunk
any clues from a first look ?
The scenario:
1) The player traveled to a new location and stepped on a trigger
2) The trigger had a connector to a Script Entity that no longer existed
3) An on-screen error message appeared in the game, "warning! invalid connector action: script_entity_76.ConfirmMechAge"
4) Any time the player saves the game after this message occurs, the game will crash during the next attempt to load the game
How I caused this problem in the first place:
1) I originally had a script_entity_76 and it did have a method called, "ConfirmMechAge"
2) I then tied a floor_trigger to this Method.
3) Later (weeks later), I was making a change and decided to delete script_entity_76 and start something new
4) I thought I had removed all connectors to this Script, but I was wrong
5) I assumed that while playing the game, I would get a warning that a trigger was still connected to a non-existent entity (I was wrong)
6) During my Editor Testing, I never actually stepped on all my floor triggers, so I never encountered this error
7) During a full exported dungeon play-test, I caught this error
The lesson?
1) Be sure to document all dependencies in the game (Google, "Regression Testing")
2) Always fully play-test the exported version of your Dungeon before releasing it to the public
Fin
