Abandoned Ruins - Updated (core)

by Keysivi

This mod doesn't do anything by itself. You need to install ruin-set mods or no ruin will be spawned. It then can spawn randomly choosen ruins in the world. These ruins are destroyed fragments of bases, forts, small oases, and more. (Now co-authored with roland77)

Content
17 days ago
2.0
5.14K

b [DUPLICATE] control.lua:280: attempt to index field '?' (a nil value)

21 days ago

The mod Space Exploration (0.7.30) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event space-exploration::on_init()
Error when running interface function AbandonedRuins.exclude_surface: AbandonedRuins_updated_fork/control.lua:280: attempt to index field '?' (a nil value)
stack traceback:
AbandonedRuins_updated_fork/control.lua:280: in function <AbandonedRuins_updated_fork/control.lua:276>
stack traceback:
[C]: in function 'call'
...-exploration__/scripts/compatibility/abandoned-ruins.lua:4: in function 'exclude_surfaces'
space-exploration/control.lua:2029: in function 'callback'
space-exploration/scripts/event.lua:20: in function 'sequence'
space-exploration/scripts/event.lua:59: in function 'trigger'
space-exploration/scripts/event.lua:63: in function <space-exploration/scripts/event.lua:63>

20 days ago
(updated 18 days ago)

This error both occurs on attempting to generate a new world, and on loading an existing world once Abandoned Ruins has been added.

Per a comment on the report in the SE Discord: "it's an issue with that mod, it currently does not check if a surface exists before checking for planet status"

The old AR worked with the old SE, so presumably such a check could be added or updated?

17 days ago

control.lua:280 here reads: elseif game.surfaces[name].planet ~= nil then

That could mean (assumed you have latest version of AR, 1.4.5) that game.surfaces[name] does not exist.

17 days ago

Can you please enable debug log and upload it somewhere NOT HERE? You can do it within the game or at startup, when you have to start a new game if loading a save-game doesn't work. I need to know what name is set.

17 days ago

0.7.32 of SE does a bad function invocation:
AbandonedRuins.exclude_surfaces()

1) Please no direct invocation! Please use a remote interface! Direct invocation is discouraged.
2) exclude_surfaces doesn't exist anymore.
3) No parameter given even with exclude_surface (omitted s) is unsupported. You must provide a surface name.
4) Excluding all surfaces (I guess that was intended) shouldn't be done by an other mode. exclude_surface is for disabling spawning of ruins entirely andwith all surfaces means no ruins nowhere whatsoever.

I'm NOT going to add support for this.

17 days ago

1.4.6 adds a check for game.surfaces[name] which shouldn't let the game crash at line 280.

This thread has been locked.