Jump to content
  • 0

Nightmarish Jitterbug never destorys intance...


Peopleperson49

Question


  • Group:  Members
  • Topic Count:  218
  • Topics Per Day:  0.05
  • Content Count:  1180
  • Reputation:   141
  • Joined:  01/27/12
  • Last Seen:  

This is kind of a two part post since I can't seem to find out where to submit bug reports, so if anybody can tell me where to do that it would be great. But really I suggest that somebody update the Nightmarish Jitterbug instance to destroy the script after it is beat so you don't have to wait for it to time out. On a larger server this would be important to not using up all the free instances available to players. It really also needs this check in various places throughout the script as it is very long and will keep running even if all the players quit or logout.

Peopleperson49

Modify this:

1@jtb,391,30,0	script	24 Door 1	WARPNPC,3,3,{
	end;
OnTouch_:
	if (isbegin_quest(13181) == 1)
		completequest 13181;
	warp "moc_para01",30,88;
	end;
}

To this:

1@jtb,391,30,0	script	24 Door 1	WARPNPC,3,3,{
	end;
OnTouch_:
	if (isbegin_quest(13181) == 1)
		completequest 13181;
	warp "moc_para01",30,88;
	sleep 5000;
	if(getmapusers(instance_mapname("1@jtb"))<1) { instance_destroy(); }
	end;
}

 

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

  • Group:  Developer
  • Topic Count:  50
  • Topics Per Day:  0.02
  • Content Count:  763
  • Reputation:   227
  • Joined:  02/11/17
  • Last Seen:  

I don't see the need too add instance_destroy checks. 

1 hour ago, Peopleperson49 said:

will keep running even if all the players quit or logout.

That is why we have the IdleTimeOut in the instance db.

  • Love 1
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  218
  • Topics Per Day:  0.05
  • Content Count:  1180
  • Reputation:   141
  • Joined:  01/27/12
  • Last Seen:  

I covered that above, but I guess in not enough detail. Most servers don't modify their max number of instance from 10 so on larger servers if you have several instances running somebody may hit the limit and be rejected. Assume you had a run of players doing instances and they all quit or finish them before the timer expires. Until the remainder of the time (up to an hour in most cases) nobody else can do any instances. It is as simple as doing a check to still see who is in that instance and destroy it and boom no more server resources are wasted for nothing and new instances are freed up. We optimize scripts to use less resources for the same result, so why would this be any different. This post was a result of another server having this issue so I figured I would post it here for all to see, but their are several instances that just finish out the clock for no reason. Again, this would be more for larger servers or those servers not quite paying for the fastest hardware...

Peopleperson49

Quote

On a larger server this would be important to not using up all the free instances available to players.

 

Link to comment
Share on other sites

  • 0

  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10013
  • Reputation:   2346
  • Joined:  10/28/11
  • Last Seen:  

what you're doing are redundant works, the instance IdleTimeOut took care of all these.

By default it has a value of 5 minutes, you should have just change the IdleTimeOut value to shorter value, like 5 seconds which you wanted.

not to mention, your approaches also end up consume more resources that it should.

beside its also the server responsibility to adjust and change the settings to fit their needs.

 

Edited by Emistry
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  218
  • Topics Per Day:  0.05
  • Content Count:  1180
  • Reputation:   141
  • Joined:  01/27/12
  • Last Seen:  

I played the jitterbug on my test server and it took me about 30 minutes to beat it by myself, but it took around 20 more minutes before it finally told me that memorial dungeon had closed. This was pointed out by another server that I was working on. But five minutes isn't all that long unless you have a line of players hoping to get into an instance for some reason, lol. Anyways, thanks for the reply.

 

Also that getmapusers check only happens after a player warps out. If their are still more players on the map it does nothing. So it really uses less resources by ending an empty instance than allowing it to keep running for even 5 minutes. Also setting the IdleTimeOut to 5 seconds would use much more resources as every time the instance runs it is essentially doing the getmapusers check, well, every 5 seconds...

Peopleperson49

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...