Instancing

Mu online season 21 - grand opening

MrSam

Dedicated Member
Dedicated Member
May 31, 2005
171
0
42
Instancing is a buzzword in other MMORPGs, and I think I've worked out a way to do it in Mir.


Bear in mind that I can't get a client working at all and as such I can't test this, but as a concept (and maybe in practice) this should work.

PS: Please help me get my client working, see post in the 1.4 help forum! Cheers!


(Note: for this example I'm instancing WT KR, as I think this is a perfect example of somewhere to instance.)


NOTES:
This creates 9 individual WT KR maps, each "private" for the players and their groups. There will be 2 NPCs, one you use to enter the WT KR (should be placed outside it). This NPC asks you if you want your own instance or if you want to join someone elses.

Joining another instance can only be done within two minutes of its creation. So everyone enters at once and instances remain 'private'. People are told which instance number they're in, and when more than one instance is joinable people are given the choice to tele in or not to that instance. This means people can make sure they end up with their groups etc.

The second NPC is for allowing others to join you, re-opening the instance for 2 minutes each time.

While this has not been bug-tested I am quietly confident in it, but if someone could test it that'd be great.
 

MrSam

Dedicated Member
Dedicated Member
May 31, 2005
171
0
42
Step1 - Customising Maps etc

Step 1 - Customising Maps ETC

1) You need to create 9 identical copies of the WT KR map file (D024). Copy and paste, naming the 9 new ones as follows: (IKR1 through IKR9)

IKR1
IKR2
IKR3
IKR4
IKR5
IKR6
IKR7
IKR8
IKR9

These need to be given to both your server and your client.


2) Make a further 9 copies of another map, any small one will do. Eg. meatstore (0102). Name these IC1 through IC9.

Only your server needs these, not the client.



3) In your Mongen file(s) make a copy of the spawns for WT KR (or you might want to use less mobs), copy and paste these for every new WT KR map you've created (IKR1 through IKR9) changing the map number as appropiate.
- At the bottom I might include the full spawns to add to the mongen file.
Reccomended: remove WT and WG from these spawn lists. I'm including a random spawn script for these at the end, this stops you having 10 x as many WTs spawning.



4) Add the two NPCs and link them to their script files. The scripts follow. They need to be just outside WTKR and just inside WTKR.


5) Disable the entrance to and exit from WTKR in the MapInfo file.
 

MrSam

Dedicated Member
Dedicated Member
May 31, 2005
171
0
42
Step 2 - The main NPC script

Step 2 - The Main NPC Script

This is the script for the NPC that stands outside the WTKR and teles people into their instances.

=====================





[@main]
#SAY
The Woomataurs Kingsroom is very dangerous. I must warn you, if you enter you may never leave. Still, if you are sure...

Enter.../@enter

[@enter]
#SAY
Are you joining a group inside or venturing in with a new group/alone?

<My group is already inside/@joingroup>
<I am entering with a new group or alone/@newenter>

[@newgroup]
#IF
checkhum IWK1 1
#ACT
goto @newgroup2
#ELSEACT
goto @enter1

[@newgroup2]
#IF
checkhum IWK2 1
#ACT
goto @newgroup3
#ELSEACT
goto @enter2

[@newgroup3]
#IF
checkhum IWK3 1
#ACT
goto @newgroup4
#ELSEACT
goto @enter3

[@newgroup4]
#IF
checkhum IWK4 1
#ACT
goto @newgroup5
#ELSEACT
goto @enter4

[@newgroup5]
#IF
checkhum IWK5 1
#ACT
goto @newgroup6
#ELSEACT
goto @enter5

[@newgroup6]
#IF
checkhum IWK6 1
#ACT
goto @newgroup7
#ELSEACT
goto @enter6

[@newgroup7]
#IF
checkhum IWK7 1
#ACT
goto @newgroup8
#ELSEACT
goto @enter7

[@newgroup8]
#IF
checkhum IWK8 1
#ACT
goto @newgroup9
#ELSEACT
goto @enter8

[@newgroup9]
#IF
checkhum IWK9 1
#ACT
goto @newgroup10
#ELSEACT
goto @enter9

[@newgroup10]
#SAY
Sorry, the Kingsroom is too full at this time.
<Exit/@exit>

[@joingroup]
#IF
checkmonmap IC1 1
#ACT
@goto joingroup2
#ELSESAY
You can join the group in room1.
<Join/@enter1>
<No thanks/@joingroup2>

[@joingroup2]
#IF
checkmonmap IC2 1
#ACT
@goto joingroup3
#ELSESAY
You can join the group in room2.
<Join/@enter2>
<No thanks/@joingroup3>

[@joingroup3]
#IF
checkmonmap IC3 1
#ACT
@goto joingroup4
#ELSESAY
You can join the group in room3.
<Join/@enter3>
<No thanks/@joingroup4>

[@joingroup4]
#IF
checkmonmap IC4 1
#ACT
@goto joingroup5
#ELSESAY
You can join the group in room4.
<Join/@enter4>
<No thanks/@joingroup5>

[@joingroup5]
#IF
checkmonmap IC5 1
#ACT
@goto joingroup6
#ELSESAY
You can join the group in room5.
<Join/@enter5>
<No thanks/@joingroup6>

[@joingroup6]
#IF
checkmonmap IC6 1
#ACT
@goto joingroup7
#ELSESAY
You can join the group in room6.
<Join/@enter6>
<No thanks/@joingroup7>

[@joingroup7]
#IF
checkmonmap IC7 1
#ACT
@goto joingroup8
#ELSESAY
You can join the group in room7.
<Join/@enter7>
<No thanks/@joingroup8>

[@joingroup8]
#IF
checkmonmap IC8 1
#ACT
@goto joingroup9
#ELSESAY
You can join the group in room8.
<Join/@enter8>
<No thanks/@joingroup9>

[@joingroup9]
#IF
checkmonmap IC9 1
#ACT
@goto joingroup10
#ELSESAY
You can join the group in room9.
<Join/@enter9>
<No thanks/@joingroup10>

[@joingroup10]
#SAY
Sorry, there are no groups you can currently join.
<Exit/@exit>

[@enter1]
#ACT
monclear IC1
map IWK1
timerecall 60
#SAY
You're now in WTKR room 1. You will be teleported back in 60 minutes.

[@enter2]
#ACT
monclear IC2
map IWK2
timerecall 60
#SAY
You're now in WTKR room 2. You will be teleported back in 60 minutes.

[@enter3]
#ACT
monclear IC3
map IWK3
timerecall 60
#SAY
You're now in WTKR room 3. You will be teleported back in 60 minutes.

[@enter4]
#ACT
monclear IC4
map IWK4
timerecall 60
#SAY
You're now in WTKR room 4. You will be teleported back in 60 minutes.


[@enter5]
#ACT
monclear IC5
map IWK5
timerecall 60
#SAY
You're now in WTKR room 5. You will be teleported back in 60 minutes.


[@enter6]
#ACT
monclear IC6
map IWK6
timerecall 60
#SAY
You're now in WTKR room 6. You will be teleported back in 60 minutes.


[@enter7]
#ACT
monclear IC7
map IWK7
timerecall 60
#SAY
You're now in WTKR room 7. You will be teleported back in 60 minutes.


[@enter8]
#ACT
monclear IC8
map IWK8
timerecall 60
#SAY
You're now in WTKR room 8. You will be teleported back in 60 minutes.


[@enter9]
#ACT
monclear IC9
map IWK9
timerecall 60
#SAY
You're now in WTKR room 9. You will be teleported back in 60 minutes.
 

MrSam

Dedicated Member
Dedicated Member
May 31, 2005
171
0
42
Step 3 - The NPC inside WTKR

Step 3 - The NPC inside WTKR

This NPC's function is as follows:
- To allow you to "unlock" your instance for 2 minutes, so people outside it can enter.
- To tele people out, (and stop them being recalled at the end of the 60 minutes).

Unfortunately, this NPC needs replicating 9 times, in the 9 different instanced KRs, with 9 different scripts, changing only the map number boldified and underlined at the end (this will be IC1 through IC9). If this is too much effort, you can just not have this NPC, and groups have to be whole at the beginning.


========================




[@main]
#SAY
You are brave to come here. How might I help you?

<I want to exit/@wanttoleave>
<I want to allow others to join me/@unlock>


[@wanttoleave]
#SAY
I do not blame you! You did well just to survive! Goodbye!
#ACT
map D023 51 56
breaktimerecall


[@unlock]
#ACT
clearmonmap IC1
#SAY
Your instance should now be accessible for a short period.
 

MrSam

Dedicated Member
Dedicated Member
May 31, 2005
171
0
42
[b]Step 4 - The bosses![/b]

Step 4 - The bosses!

Unfortunately, again this is a bit of work to set up as it has to be done seperately for each map, changing values.


The scripts are simple, but they need to be called from the MapQuest.txt file and set up individually for each room:

Bold+Underlined maps are the ones that need changing for 1-9

SCRIPT 1: Called once every x times a FlamingWooma is killed by MapQuest.txt - experiment with values to find what works for you. Someone suggest a good one?

[@main]
#ACT
Param1 IKR1
Param2 7
Param3 7
MonGen WoomaGuardian 1 100
#SAY
You hear a ghastly roar.


SCRIPT 2: Called whenever a WoomaGuardian dies, has a 1 in 2 chance of spawning WT.

[@main]
#IF
random 2
#ACT
Param1 IKR1
Param2 7
Param3 7
MonGen Woomataurus 1 100




==========

Anyone who doesn't know how to set up the 18 lines needed adding to the MapQuest.txt file for this just ask me and I'll be happy to help. Likewise for the 18 script files that need adding and customising.
 

MrSam

Dedicated Member
Dedicated Member
May 31, 2005
171
0
42
Sorted

Ok that should work.

I know it's quite a lot of work to get it set up... Especially if you have all 9 instances and have random spawning and exit NPCs for all of them.

But I do believe it's quite a good addition to the game. People can go into WTKR, their own private version, and kill woomas for a random amount of time until a WT spawns that can't be timed or stolen from them. It's just the group's (or even player's) that's been hunting in the KR to earn it.

Max stay 60 mins stops people from staying in KR forever, you can just go straight back in. If you're a group you should have enough time to unlock it between first and last person getting teled out (if you're a little smart about it) so you can never lose your handiwork. Eg. if you've spawned WT.



A little creativity could have this applied to a lot of places, but the idea isn't just to give people unlimited bosses - so things like ZTKR are out really unless you have people killing loads ZGs until they get a random one. But there's plenty of uses for it. LDC with the EC for example - although it's a pretty big instance giving pretty good exp, so maybe not the best idea. But it's certainly a useful script (IMO). Maybe not a problem on low-population private servers tho, but if Mir used this I would be delighted.



If anyone gets this installed and working please let me know! Or if you need help with it.
 

LeoCrasher

Former Administrator
VIP
Mar 23, 2003
2,001
4
215
::1
I love the concept of this design, and credit goes to you for publishing it MrSam. However does it not undermine the very purpose for the rareity of such bosses like the WTKR? Its naturally supposed to be somewhat difficult to reach boss mobs in order to keep rare items rare. Other groups hogging said areas add to the competition which gives MIR its core addiction.

Perhaps if somehow you could mould your idea to be cumulatively harder. For example, have only 5 KR's... and as more are filled, it is a lot harder to get into the remaining ones.

*loves dealing with conceptual MIR server design*
/Leo
 

MrSam

Dedicated Member
Dedicated Member
May 31, 2005
171
0
42
LeoCrasher said:
I love the concept of this design, and credit goes to you for publishing it MrSam. However does it not undermine the very purpose for the rareity of such bosses like the WTKR? Its naturally supposed to be somewhat difficult to reach boss mobs in order to keep rare items rare. Other groups hogging said areas add to the competition which gives MIR its core addiction.


Perhaps if somehow you could mould your idea to be cumulatively harder. For example, have only 5 KR's... and as more are filled, it is a lot harder to get into the remaining ones.

*loves dealing with conceptual MIR server design*
/Leo


The adaptation of course could be done in a variety of ways. (By the way- loved your Mir tools man, add me to msn... samsmithsheffield a.t hotmail.com).

At the moment the idea is everyone gets a private version, so there's only you and the people you want with you in there. The WT spawn thing was thought about, hence random spawns - else we'd have 10 x as many WTs!

But I can see where you're coming from - with 9 full groups of indefinate size killing woomas all at once we would see more than 1 WT every 2 hours. But hey people would be working for it at least. Not just timing spawns and turning up - plenty of bosses in Mir to work this way!

Like I said it's just a concept with WT as an example.



You could do what you like with it - with a system like this you could add a random component to the second MapQuest script and have a killer WT spawn 1 time in 10 that's as hard as an OK. ^_^

But you're right- need to do some balancing of time/risk/reward. But this does allow those who want to use instancing to use instancing - which is a MAJOR design boast of WoW/EQ2/GuildWars/all the new MMORPGs. Now Mir has it. :P
 

Terror

Banned
Banned
Veteran
May 12, 2005
348
0
43
GheTTo
So u got them ideas from WoW cos that wat they have on WoW so really they aint his ideas but ..... he is making them into mir which i give him the credit for tbh nice job :)
 

Ragnar

Hallowed be thy name
Legendary
Golden Oldie
Loyal Member
Jul 20, 2004
5,258
3
275
Terror said:
So u got them ideas from WoW cos that wat they have on WoW so really they aint his ideas but ..... he is making them into mir which i give him the credit for tbh nice job :)
But who cares who/where they come from, the main point is that it is a great idea!
 

Far

tinmymouthpl0x
Staff member
Administrator
May 19, 2003
20,683
34
3,289
520
im not sure if i got the concept right. by instancing do you mean putting people in individual rooms for group hunts on their own etc? if so, would it not just split up the community even more? there are hardly any people on servers as it is, splitting people up in to seperate rooms will only make it worse imo.
 

Toxick

Golden Oldie
Golden Oldie
Apr 17, 2003
1,397
0
173
Terror said:
So u got them ideas from WoW cos that wat they have on WoW so really they aint his ideas but ..... he is making them into mir which i give him the credit for tbh nice job :)


DAoC got it WoW got it from EQ2 EQ2 got it from AC2 AC2 got it from another game

if you see, all features in mmorpgs are taken from other mmorpgs, and expanded on it to make it better... wow just kinda prefected it.

I play WoW and DAoC , i see alot of stuff WoW has that DAoC had(DAoC is older) but once WoW came out, i see in patch that DAoC have alot of stuff(they made instances, and now they making mounts).

Its the way the mmorpg scene is going, orginality, with some idea taking, and prefecting it.

And Farril this idea is so that in theroy to make people work together, say you lvl 22 and you want to kill WT, but you cant... you shout "Any lvl 22-24 want to do WT instance" you may get some replys, and get a group, which then you go to the Instance and you ge in and fight, making friends with your group.


Brillent idea MrSam, another idea, i was thinking of and you took out of my head ;)
 

Far

tinmymouthpl0x
Staff member
Administrator
May 19, 2003
20,683
34
3,289
520
Toxick said:
And Farril this idea is so that in theroy to make people work together, say you lvl 22 and you want to kill WT, but you cant... you shout "Any lvl 22-24 want to do WT instance" you may get some replys, and get a group, which then you go to the Instance and you ge in and fight, making friends with your group.

surely that would work the same by shouting "anyone wanna hunt in wt", and a group goes there and hunts together.. i dont see any difference.
 

CraiG^

Legend
Legendary
Jun 22, 2003
3,142
34
275
Scotland
very good idea, sam by helping us get greate rthings with private your actually putting urself out of business making more poepl leave euro mir for priv :P ( but nvm )
 

Blaminator

VIP
Golden Oldie
Loyal Member
Jul 11, 2003
2,731
0
173
London
Yeah i've gotta agree with ferret now, what makes mir god is the rivalries, and meeting certain people in certain places, grouping up and killing stuff :P
 

Sean

Developer
Golden Oldie
Loyal Member
May 13, 2003
699
0
152
Toxick said:
DAoC got it WoW got it from EQ2 EQ2 got it from AC2 AC2 got it from another game

if you see, all features in mmorpgs are taken from other mmorpgs, and expanded on it to make it better... wow just kinda prefected it.

You'll find that most games are based on the origional core of Everquest I. Even the keys on many games are EXACTLY the same.
Best instanced game i'd say is Guild Wars, in terms of their instancing it's perfect.
 

Toxick

Golden Oldie
Golden Oldie
Apr 17, 2003
1,397
0
173
i was using it as a conecpt, that games copy off other games, and most mmorpg uses the WSAD keys to move around, and the first game to think of that was Quake World.

But EQ adamted it into a rpg style game.
 

Sean

Developer
Golden Oldie
Loyal Member
May 13, 2003
699
0
152
Toxick said:
i was using it as a conecpt, that games copy off other games, and most mmorpg uses the WSAD keys to move around, and the first game to think of that was Quake World.

But EQ adamted it into a rpg style game.

I'm not talking about WASD, i'm talking about your typical MMORPG features, the way in which they have the sit button and other such features; most you'll find exactly the same.