Jump to content
Beefy Kasplant

'Private' Dungeon (Lock a map when people are in it)

Recommended Posts

I've seen a couple of people asking about this, and since there isn't going to be an instancing system in Intersect any time soon I decided to show you guys how to lock a map when there are people in it already. 

 

First you want to think about what the system needs to do: 

 

1. Lock a map when a person is in it

2. Open up the map when a person leaves

 

We're working with global variables here because the map needs to be closed for everyone. 

 

So the base system is simple: 

 

In our example we have a door leading into a private dungeon and the dungeon has an exit door for the player to leave through.

 

Variables needed: 

Global Boolean Variable: RoomLocked

Player Boolean Variable: IsInRoom

 

Event to enter: 

If RoomLocked = 0

Set IsInRoom = 1

Warp Player to map

Else

Text: There is someone in the room. 

 

Event to leave: 

Set RoomLocked = 0

Set IsInRoom = 0

Warp player

 

Add to Player Login Event:

If IsInRoom = 1

Warp Player

 

 

Yes, I can already hear you moaning and whining: What about when players log off, or die? What then huh? Your system will break. 

I have only one thing to say about that: Fuck you. 

 

There's actually a super easy trickster way that requires just a little bit of 'out of the box' thinking and I'll tell you for 5m OSRS GP. So please send me after you read this:

 

Autorun Event in the Map:

Run condition: Roomlocked = 0

Set RoomLocked = 1

 

The trick is that this event will only run when people are in the map. A map event won't be loaded otherwise. It will also only run if something sets RoomLocked = 0. So it won't be constantly running and putting strain on the server.

 

Now, we have to change our first event slightly to make use of this system: 

 

Event to enter: 

Set RoomLocked = 0

Show chatbox text: Checking the Room

Wait 3000ms (This will give more than enough time for players inside the room to trigger the map event and set the RoomLocked = 1.)

If RoomLocked = 0

Warp Player to map

Else

Text: There is someone in the room. 

 

 

 

Enjoy, and remember to give credit and OSRS GP!

 

NOTE: I wrote this off the top of my head, so please test or let me know about any bugs.

 

 

Share this post


Link to post
Share on other sites

Nice tutorial.
You would have to also set a Login trigger to warp the player out of the map.

Also, does that mean this event doesn't have a timer? Can't someone just sit in the map to not allow others in?

Share this post


Link to post
Share on other sites

Yeah, true, I forgot about the login trigger, let me add that since that's a pretty vital part.

 

The timer is an easy add but that's up to the user, this is really about the system of locking a room while people are in it. Normally you'd have a bossfight or something and people would either die or beat the boss. 

Share this post


Link to post
Share on other sites

Depends on how rare the item is the boss drops.
People will log into a alt account and just sit there to raise the price/rarity of the drop.

 

I guess it's an extra feature but can be critical.

Share this post


Link to post
Share on other sites
10 hours ago, Beefy Kasplant said:

Yes, I can already hear you moaning and whining: What about when players log off, or die? What then huh? Your system will break. 

I have only one thing to say about that: Fuck you.

 

I made a logout common event system and shared it somewhere here, but it's hard as fuck and needs a 24/7 client working as a controller. Better hire some programmer instead doing what I said before source was released.

Share this post


Link to post
Share on other sites
5 hours ago, Khaikaa said:

 

I made a logout common event system and shared it somewhere here, but it's hard as fuck and needs a 24/7 client working as a controller. Better hire some programmer instead doing what I said before source was released.

 

In this case you don't need a logout common event system.

Share this post


Link to post
Share on other sites
4 hours ago, Beefy Kasplant said:

 

In this case you don't need a logout common event system.

How do you unlock the dungeon then if the player inside logs out after blocking it?

Share this post


Link to post
Share on other sites

How to make a dungeon for passing through time?
 Suppose a player comes in - it closes, the countdown starts 5 minutes
 after 5 minutes the player throws back and the dungeon opens again

Share this post


Link to post
Share on other sites
16 minutes ago, Khaikaa said:

How do you unlock the dungeon then if the player inside logs out after blocking it?

 

Not sure if you read the whole post but:

 

Event to enter: 

Set RoomLocked = 0

 

4 minutes ago, Jackson said:

How to make a dungeon for passing through time?
 Suppose a player comes in - it closes, the countdown starts 5 minutes
 after 5 minutes the player throws back and the dungeon opens again

 

 

You'd need an event that starts a timer, sets the room to unlocked state after that time and warps the players out. I'm sure you can figure it out

Share this post


Link to post
Share on other sites

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