[TUTORIAL]Making a dungeon on Club, Trapped, Phoenix, or D00MED Source
This tutorial is on how to make a dungeon on Club, Phoenix, Trapped, or Doomed source
To start off, first use the editor provided in your client. If you do not have editor access, that means you don't have an admin rank, so I'd suggest doing it on your own server.
Anyways, make a map that could be simple, just a small map with a cube god in the middle, and 4 spawns. You can place the spawn anywhere you want, and you can place the objects wherever you want. Before you save your map, test it, then use your nexus key which could be "R", and it'll take you back to your editor, then save the map.
Note: The other steps are case-sensitive.
The file should be saved as something like, "cubegod.jm" after you save it, open up your source's folder, then locate WorldConverter.bat, it'll be in your source folder. Copy and paste your cubegod.jm map to your source folder, then open WorldConverter.bat and type in "cubegod" without the extension (.jm)
After you do that, locate the .wmap file (wserver\logic\realm\worlds\cubegod.wmap) then drag the .wmap file to your desktop along with the .jm file. However, keep your 'worlds' folder open, we still need to use it. Find a random .cs file like "Abyss.cs" then drag that to your desktop (or wherever the other two files are) then edit the .cs file with notepad++ (text editor)
I'll be using the ARENA as an example...
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System****;
using wServer.realm.entities;
using wServer.logic.loot;
namespace wServer.realm.worlds
{
public class ArenaMap : World
{
public ArenaMap()
{
Id = ARENA;
Name = "Arena";
Background = 1;
AllowTeleport = true;
base.FromWorldMap(typeof (RealmManager).Assembly.GetManifestResourceStream("wServer.realm.worlds.arena.wmap"));
}
public override World GetInstance(ClientProcessor psr)
{
return RealmManager.AddWorld(new ArenaMap());
}
}
}
We'll modify that code for the cubegod dungeon.
In that code, between the quotations,
Code:
Name = "Arena";
we can change that to anything (inside the quotations) even to something like this,
Code:
Name = "Cubegod dungeon";
, then the AllowTeleport is also very useful. If you host events such as LMS, and you don't want anyone teleporting to anyone, change it from 'true' to false,
Code:
AllowTeleport = false;
Save changes the "ArenaMap" to "Cubegod" Now about the "Id = ______" keep it like that.
Next, open RealmManager.cs, world.cs, player.cs, and addition.xml
RealmManager.cs
Use Ctrl+F to find the 'arena'
Code:
Worlds[World.ARENA] = new ArenaMap();
then copy&paste it change it to
Code:
Worlds[World.CUBEGOD] = new CubegodMap();
World.cs
Code:
public const int PLAIR = -55;
Copy one of those lines, and check if the numbers you're going to be using are being used or not. Change -55 to -56,
Code:
public const int CUBEGOD = -56;
and that'd be what u use in Realm.cs
Addition.xml
Make a key, and a portal
For example - Island key, and Island portal, just copy it, change the sprite if you want and change the object type
Player.cs
Code:
case 0x7c98:
world = RealmManager.AddWorld(new PhoenixLair());
break;
change it to your 'Cubegod' dungeon, and change your object type
Code:
case 0x7c11:
world = RealmManager.AddWorld(new Cubegod());
break;
remember to save any all changes, then rebuild the server!
If I did anything wrong, please feel free to correct me. If this helped you, please leave a thanks.