Jump to content

Recommended Posts

So, whenever I leave my server for 5 minutes, some noob comes on and dies on day one.  They start with 5 grass/twigs, but still don't know to craft a torch, or to go to a fire when freezing/burning.  I have seriously watched a noob die of overheating while meandering about a base with the endo-pit on.   So, is it possible to make a mod that disables the countdown for anyone under 5 days old?  Does such a mod exist already?

Just a thought, not sure if it is possible to modify the Jury-Rigged Portal in Endless mode to "not" resurrect people. It would give a "survival" feel and still wouldn't reset the game even if everyone is dead. :0

Just now, Valkyrie19k said:

Just a thought, not sure if it is possible to modify the Jury-Rigged Portal in Endless mode to "not" resurrect people. It would give a "survival" feel and still wouldn't reset the game even if everyone is dead. :0

I like the reset when everybody is dead, it stops the world from stagnating.  I just don't like it when some brain-dead noob who can't figure out how to craft a torch comes on when I'm taking a lunch break.  I've come across 3 of that particular breed in my  last play session, and I'm pretty sure they come on when nobody's on the server.  Noobs also tend to die because they can't figure out how to stay away from the giant mother Goose, or they decide to go into the caves without a torch.  Name any method of death, no matter how stupid, and a noob will do it.  And if nobody else is on the server, the server will reset.

In the world options you can choose whether you want:

-Only you

-Online only you and friends

-Online open to everyone.

Or you can either set a password to prevent that 'noob' to join your server.

The second and the last option might be what you seek and are already implemented in the game when creating a new world.

On 1/26/2016 at 10:38 AM, Eremus007 said:

In the world options you can choose whether you want:

-Only you

-Online only you and friends

-Online open to everyone.

Or you can either set a password to prevent that 'noob' to join your server.

The second and the last option might be what you seek and are already implemented in the game when creating a new world.

I made an open server because I want an open server.  I just don't like some dimwit coming on and dying in the time it takes me to take a pee break. (This has happened.)  I don't like it that if I want the world to continue when I'm gone I MUST shut down the server, and I can't rollback or do anything to stop world destruction by noob like I can other noob destruction.

Since I've gotten no positive replies, I've started looking at the coding of Fix Multiplayer, a mod that uses how long a player's been in a server to do things.  It looks like complete gibberish to me.

21 hours ago, KitcheVadimas said:

I made an open server because I want an open server.  I just don't like some dimwit coming on and dying in the time it takes me to take a pee break. (This has happened.)  I don't like it that if I want the world to continue when I'm gone I MUST shut down the server, and I can't rollback or do anything to stop world destruction by noob like I can other noob destruction.

Since I've gotten no positive replies, I've started looking at the coding of Fix Multiplayer, a mod that uses how long a player's been in a server to do things.  It looks like complete gibberish to me.

Good luck with that then :-)

@KitcheVadimas, I added this code

    elseif _countdown:value() <= 0 then
        --everyone's a ghost, it's hopeless, sigh...
		--unless...
		local ClientObjs = TheNet:GetClientTable()
		--assume everyone's a ghost with less than 5 days
		local all_dead_are_young = true
		for k, v in pairs(ClientObjs) do
			--there's an experienced ghost?
			--then there's no return
			if v.userflags == 1 and v.playerage > 5 then
				all_dead_are_young = false
				break
			end
		end
		if all_dead_are_young then
			return
		end
      

Ghosts have the userflag 1, and you can edit that 5 to the days you want.

Since it works with the TheNet client table, this should work with noobs dying in the caves.

 

WorldResetEdit.zip

Edited by DarkXero
Just now, DarkXero said:

I added this code


    elseif _countdown:value() <= 0 then
        --everyone's a ghost, it's hopeless, sigh...
		--unless...
		local ClientObjs = TheNet:GetClientTable()
		--assume everyone's a ghost with less than 5 days
		local all_dead_are_young = true
		for k, v in pairs(ClientObjs) do
			--there's an experienced ghost?
			--then there's no return
			if v.userflags == 1 and v.playerage > 5 then
				all_dead_are_young = false
				break
			end
		end
		if all_dead_are_young then
			return
		end
      

Ghosts have the userflag 1, and you can edit that 5 to the days you want.

Since it works with the TheNet client table, this should work with noobs dying in the caves.

 

WorldResetEdit.zip

Thank you!

I also saw a mod called Armageddon, where it's endless mode but you have a set number of lives before the world resets, and killing bosses gives more lives.  Probably not a solution for your problem, with a random noob joining and dying, but I felt it was worth mentioning as it is a mode that I find rather interesting.

On 1/28/2016 at 6:53 PM, DarkXero said:

@KitcheVadimas, I added this code


    elseif _countdown:value() <=  then
        --everyone's a ghost, it's hopeless, sigh...
		--unless...
		local ClientObjs = TheNet:GetClientTable()
		--assume everyone's a ghost with less than 5 days
		local all_dead_are_young = true
		for k, v in pairs(ClientObjs) do
			--there's an experienced ghost?
			--then there's no return
			if v.userflags == 1 and v.playerage > 5 then
				all_dead_are_young = false
				break
			end
		end
		if all_dead_are_young then
			return
		end
      

Ghosts have the userflag 1, and you can edit that 5 to the days you want.

Since it works with the TheNet client table, this should work with noobs dying in the caves.

local function OnCountdownDirty()
    if _resetting then
        return
    elseif _countdown:value() > 0 then
        if not _updating then
            print("Start world reset countdown... "..tostring(_countdown:value()).." seconds...")
            inst:StartUpdatingComponent(self)
            _updating = true
            ShowResetDialog()
        end
        _countdownf = _countdown:value()
        local newcountdown = _countdownf - 1
        if _lastcountdown == nil or _lastcountdown > newcountdown then
            _lastcountdown = newcountdown
            UpdateCountdown(newcountdown)
        end
    else
 

WorldResetEdit.zip

Hey, If I wanted to change the reset time, from the 180 seconds till the world resets to I dunno, 10 seconds would I just change the  "> 0" to ">10".  Sorry pretty new to this. Trying to Update the Custom World Game mod and from pretty much scratch.

 

 local function OnCountdownDirty()
    if _resetting then
        return
    elseif _countdown:value() > 0 then
        if not _updating then
            print("Start world reset countdown... "..tostring(_countdown:value()).." seconds...")
            inst:StartUpdatingComponent(self)
            _updating = true
            ShowResetDialog()
        end
        _countdownf = _countdown:value()
        local newcountdown = _countdownf - 1
        if _lastcountdown == nil or _lastcountdown > newcountdown then
            _lastcountdown = newcountdown
            UpdateCountdown(newcountdown)
        end
    else

On 4/4/2016 at 1:55 AM, gonz008 said:

Hey, If I wanted to change the reset time, from the 180 seconds till the world resets to I dunno, 10 seconds would I just change the  "> 0" to ">10".  Sorry pretty new to this. Trying to Update the Custom World Game mod and from pretty much scratch.

The worldreset component gets the timer value from an event pushed to the world.

ms_setworldresettime, which gets pushed with a number, determined by the function GetResetTime(game_mode).

So you have to edit the reset_time parameter of the game mode you are playing.

GLOBAL.GAME_MODES["survival"].reset_time.time = 10

And if you don't want bonus time for the reset, then also

GLOBAL.GAME_MODES["survival"].reset_time.loadingtime = 0

 

Edited by DarkXero

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...