Jump to content

Recommended Posts

yes before the world is created.
where in wordldgen options? :D
You can override all the world settings (see customize.lua for things you can override), but I found nothing about gamemode. I also search "gamemode" through all lua scripts, but nothing looked like that I could set the gamemode with it. =/

I'm not familiar enough with that. But i found this

http://steamcommunity.com/profiles/76561198159698411/myworkshopfiles/?appid=322330

There seems to have multiple mod adding basing game mode and it's from klei so it should be compatible with base game without issue i guess.

10 minutes ago, Lumina said:

I'm not familiar enough with that. But i found this

http://steamcommunity.com/profiles/76561198159698411/myworkshopfiles/?appid=322330

There seems to have multiple mod adding basing game mode and it's from klei so it should be compatible with base game without issue i guess.

thank you for trying to help :)
I already searched these mods. Most do not add new game modes and these which do, do not force the gamemode (you have to select it)...

The only workaround I found so far is to let the game crash, if the wrong mode was selected...

6 hours ago, Lumina said:

Ok... And the worldgenoverride you have when creating a dedicated server ? Could it be used when making a mod ? Because you could select a gamemode this way, but i don't know if you could use it in a mod...

 

this could be helpful, thx... but what of these options sets the gamemode?
 

Spoiler

return {
    override_enabled = true,
    preset = "SURVIVAL_TOGETHER",             -- "SURVIVAL_TOGETHER", "MOD_MISSING", "SURVIVAL_TOGETHER_CLASSIC", "SURVIVAL_DEFAULT_PLUS", "COMPLETE_DARKNESS", "DST_CAVE", "DST_CAVE_PLUS"
    overrides = {
        -- MISC
        task_set = "default",             -- "classic", "default", "cave_default"
        start_location = "default",             -- "caves", "default", "plus", "darkness"
        world_size = "default",             -- "small", "medium", "default", "huge"
        branching = "default",             -- "never", "least", "default", "most"
        loop = "default",             -- "never", "default", "always"
        autumn = "default",             -- "noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random"
        winter = "default",             -- "noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random"
        spring = "default",             -- "noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random"
        summer = "default",             -- "noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random"
        season_start = "default",             -- "default", "winter", "spring", "summer", "autumnorspring", "winterorsummer", "random"
        day = "default",             -- "default", "longday", "longdusk", "longnight", "noday", "nodusk", "nonight", "onlyday", "onlydusk", "onlynight"
        weather = "default",             -- "never", "rare", "default", "often", "always"
        earthquakes = "default",             -- "never", "rare", "default", "often", "always"
        lightning = "default",             -- "never", "rare", "default", "often", "always"
        frograin = "default",             -- "never", "rare", "default", "often", "always"
        wildfires = "default",             -- "never", "rare", "default", "often", "always"
        touchstone = "default",             -- "never", "rare", "default", "often", "always"
        regrowth = "default",             -- "veryslow", "slow", "default", "fast", "veryfast"
        cavelight = "default",             -- "veryslow", "slow", "default", "fast", "veryfast"
        boons = "default",             -- "never", "rare", "default", "often", "always"
        prefabswaps_start = "default",             -- "classic", "default", "highly random"
        prefabswaps = "default",             -- "none", "few", "default", "many", "max"

        -- RESOURCES
        flowers = "default",             -- "never", "rare", "default", "often", "always"
        grass = "default",             -- "never", "rare", "default", "often", "always"
        sapling = "default",             -- "never", "rare", "default", "often", "always"
        marshbush = "default",             -- "never", "rare", "default", "often", "always"
        tumbleweed = "default",             -- "never", "rare", "default", "often", "always"
        reeds = "default",             -- "never", "rare", "default", "often", "always"
        trees = "default",             -- "never", "rare", "default", "often", "always"
        flint = "default",             -- "never", "rare", "default", "often", "always"
        rock = "default",             -- "never", "rare", "default", "often", "always"
        rock_ice = "default",             -- "never", "rare", "default", "often", "always"
        meteorspawner = "default",             -- "never", "rare", "default", "often", "always"
        meteorshowers = "default",             -- "never", "rare", "default", "often", "always"
        mushtree = "default",             -- "never", "rare", "default", "often", "always"
        fern = "default",             -- "never", "rare", "default", "often", "always"
        flower_cave = "default",             -- "never", "rare", "default", "often", "always"
        wormlights = "default",             -- "never", "rare", "default", "often", "always"

        -- UNPREPARED
        berrybush = "default",             -- "never", "rare", "default", "often", "always"
        carrot = "default",             -- "never", "rare", "default", "often", "always"
        mushroom = "default",             -- "never", "rare", "default", "often", "always"
        cactus = "default",             -- "never", "rare", "default", "often", "always"
        banana = "default",             -- "never", "rare", "default", "often", "always"
        lichen = "default",             -- "never", "rare", "default", "often", "always"

        -- ANIMALS
        rabbits = "default",             -- "never", "rare", "default", "often", "always"
        moles = "default",             -- "never", "rare", "default", "often", "always"
        butterfly = "default",             -- "never", "rare", "default", "often", "always"
        birds = "default",             -- "never", "rare", "default", "often", "always"
        buzzard = "default",             -- "never", "rare", "default", "often", "always"
        catcoon = "default",             -- "never", "rare", "default", "often", "always"
        perd = "default",             -- "never", "rare", "default", "often", "always"
        pigs = "default",             -- "never", "rare", "default", "often", "always"
        lightninggoat = "default",             -- "never", "rare", "default", "often", "always"
        beefalo = "default",             -- "never", "rare", "default", "often", "always"
        beefaloheat = "default",             -- "never", "rare", "default", "often", "always"
        hunt = "default",             -- "never", "rare", "default", "often", "always"
        alternatehunt = "default",             -- "never", "rare", "default", "often", "always"
        penguins = "default",             -- "never", "rare", "default", "often", "always"
        cave_ponds = "default",             -- "never", "rare", "default", "often", "always"
        ponds = "default",             -- "never", "rare", "default", "often", "always"
        bees = "default",             -- "never", "rare", "default", "often", "always"
        angrybees = "default",             -- "never", "rare", "default", "often", "always"
        tallbirds = "default",             -- "never", "rare", "default", "often", "always"
        slurper = "default",             -- "never", "rare", "default", "often", "always"
        bunnymen = "default",             -- "never", "rare", "default", "often", "always"
        slurtles = "default",             -- "never", "rare", "default", "often", "always"
        rocky = "default",             -- "never", "rare", "default", "often", "always"
        monkey = "default",             -- "never", "rare", "default", "often", "always"

        -- MONSTERS
        spiders = "default",             -- "never", "rare", "default", "often", "always"
        cave_spiders = "default",             -- "never", "rare", "default", "often", "always"
        hounds = "default",             -- "never", "rare", "default", "often", "always"
        houndmound = "default",             -- "never", "rare", "default", "often", "always"
        merm = "default",             -- "never", "rare", "default", "often", "always"
        tentacles = "default",             -- "never", "rare", "default", "often", "always"
        chess = "default",             -- "never", "rare", "default", "often", "always"
        lureplants = "default",             -- "never", "rare", "default", "often", "always"
        walrus = "default",             -- "never", "rare", "default", "often", "always"
        liefs = "default",             -- "never", "rare", "default", "often", "always"
        deciduousmonster = "default",             -- "never", "rare", "default", "often", "always"
        krampus = "default",             -- "never", "rare", "default", "often", "always"
        bearger = "default",             -- "never", "rare", "default", "often", "always"
        deerclops = "default",             -- "never", "rare", "default", "often", "always"
        goosemoose = "default",             -- "never", "rare", "default", "often", "always"
        dragonfly = "default",             -- "never", "rare", "default", "often", "always"
        bats = "default",             -- "never", "rare", "default", "often", "always"
        fissure = "default",             -- "never", "rare", "default", "often", "always"
        worms = "default",             -- "never", "rare", "default", "often", "always"
    },
}

 

  • Developer

In the cluster.ini you'll want to have the following.

[GAMEPLAY]
game_mode = survival


That said, I'm not sure of an easy way to force a gamemode from the lua scripts, as it's intended that the user either sets their gamemode from the cluster.ini, or from the Host game screen.

4 hours ago, PeterA said:

In the cluster.ini you'll want to have the following.

[GAMEPLAY]
game_mode = survival


That said, I'm not sure of an easy way to force a gamemode from the lua scripts, as it's intended that the user either sets their gamemode from the cluster.ini, or from the Host game screen.

thank you.

Hmm sad ... it gets harder and harder to progress with my adventure mod :D  Gamemode includes some important stuff like resset timer and if there will be multiple spawnpoints.
So I can't allow self-chosen gamemodes for advenutre mod.
So it seems I have to use the workaround = a crash, if not my mod adventure-mode is chosen...

And Islands are still not working (it is too expert level for me, to build up islands in modmain...)
DarkXero already gave me code to stop the "PANIC" during worldgeneration if there are too many unconnected tiles.
But unfortunately then only the main island is created and the others are missing... Maybe you know a fix?

Code

Spoiler

local function GetUpvalue(func, name)
	local debug = GLOBAL.debug
	local i = 1
	while true do
		local n, v = debug.getupvalue(func, i)
		if not n then
			return nil, nil
		end
		if n == name then
			return v, i
		end
		i = i + 1
	end
end

local function SetUpvalue(func, ind, value)
	local debug = GLOBAL.debug
	debug.setupvalue(func, ind, value)
end

local function HackGenChecksForIslands()
	local generate_fn = GLOBAL.require("map/forest_map").Generate

	local SKIP_GEN_CHECKS, SKIP_GEN_CHECKS_index = GetUpvalue(generate_fn, "SKIP_GEN_CHECKS")

	SetUpvalue(generate_fn, SKIP_GEN_CHECKS_index, true)
end

HackGenChecksForIslands()

 

  • Developer

@Serpens okay, while this isn't something we have intended to support, you could try hooking into SaveIndex:StartSurvivalMode and override serverdata.game_mode. You might also need to override GetDefaultServerData() too, to return your game_mode.

Good luck!

On 3.11.2016 at 11:51 PM, PeterA said:

@Serpens okay, while this isn't something we have intended to support, you could try hooking into SaveIndex:StartSurvivalMode and override serverdata.game_mode. You might also need to override GetDefaultServerData() too, to return your game_mode.

Good luck!

Hmm... maybe I don't need to force a gamemode.
I can just add in modmain something like this:
 

GLOBAL.GAME_MODES["endless"].spawn_mode = ...
GLOBAL.GAME_MODES["survival"].spawn_mode = ...
GLOBAL.GAME_MODES["wilderness"].spawn_mode = ...

 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
  • Create New...