I realize I'm not the best level maker, and that is why this thread is not how to make a level. This thread contains information on how to get the level editor, how to set a tileset, and basic things like that.
I'm making this because people are evidently too lazy to search the forums, or go on the official ones and take a look, and it is annoying. Now they'll really have no excuse.
- Getting the Level Editor -
Spoiler
First, you need to open up the Graal client. Log in, and in the bottom left of the window you will see this:
Click start, and select 'Install Packages'. You will now see this:
Next, click, in the section 'Developer Tools', click 'Level Editor'. I made a handy red square to show you where it is (even if it is a wee bit small). You will now see a screen similar to this:
In the bottom middle, there will be a button saying 'Install'. It's different to me because I've already installed it.
It will download it to your 'Graal' folder. Open it up, and you will see this:
NOTE: The Level Editor a .exe file, so you can only open it on Windows (unless you have Wine). An alternative option is Gonstruct.
- Making an NPC -
Spoiler
First, you'll need to open up Level Editor. On the right hand side, you should see this:
Click the option in the minuscule red square. You will see this:
See that outline that kind of looks like one of those white body outlines at a crime scene, except in this crime scene the body was run over by a tank? Click it, and drag it on to your level. Double click it, and this will open:
The bottom white writing area is where you put the NPC script. To the right is the handy basic script list, and up the top is where you select the NPC image. Pretty simple.
NPCs are often used for treetops you can walk behind, or to add in tiles that aren't in the tileset. If you want to make your own NPC images, they MUST saved in 8-bit, or else they won't work.
- Creating a gMap -
Spoiler
If you don't know, a Gmap (Graal Map) is more than one level connected. They are used, on servers, to create large overworlds. They can be 2x2, 100x100, anything (but I'd advise against creating a 1000x1000 and deciding to make a gigantic world - keep it doable). You open them in the level editor, and use a handy arrow to move around all your levels.
To make one, you can use this handy tool, create by a guy named Rick. Isn't he nice?
It's very easy to use. First, type in your prefix. This can be something like 'mygmap_', or maybe something like 'worldiagmap_' - anything. Just don't forget an underscore. Next, chose your width, and your height. The default, 10x10, would create a Gmap that is ten levels by ten levels.
Finally, choose your center x, and center y. This is a location like the 'unstick me' spot in Graal City - when you appear when you load the level. Now that you've selected all your options, click generate, and your gmap will download onto your computer, in a folder saying '[YOURPREFIX]_'.
To open your Gmap, go into the Level Editor. Select open - it looks like an opened folder. Open your new folder, and select the level that should say, '[YOURPREFIX]_00-00'. Right now, it'll just be one level. But don't worry, to open the rest, simply open up a new NPC, and enter in the following:
PHP Code:
loadmap [YOURPREFIX]_.gmap;
Here is an example of what it should look like:
You should now be able to traverse and create your new world!
A tileset is a set of graphics used to make Graal servers look different. You can have them in your levels, too.
First, you need to understand that there are two types of tilesets: type 0 and type 1. Type 0 is the illogical mess used in tilesets like pics1, the Classic PC tileset, and the iClassic tileset. It takes some time to get used to, but eventually you do. Template :: Dusty's Guide
Type 1 is used in tilesets like the Delteria one, and the Era tileset. Tiles are arranged in a manner that is far more logical, but type one tilesets can still take just as long to get used to. Template :: Template Two
For this guide, we'll pretend you are using a different tileset, and wanting to use pics1. First, make and open up a new NPC in your level, as shown in the NPC section. Type this into it:
PHP Code:
//#CLIENTSIDE
if (created) {
removetiledefs;
addtiledef pics1.png,,0;
}
Where 'pics1.png' is is where you put the tileset name. For this, it needs to have '.png' at the end, and the tileset needs to be in the Tiles folder (Graal>Levels>Tiles). Again, it needs to be 8-bit.
Between the next two commas (,), you put the level prefix. For now, you could leave this blank. It's useful if you are working with a gMap, because it will change all the levels with the prefix you put in to have the same tileset (the one you just selected). Example:
PHP Code:
addtiledef pics1.png,mylevel_,0;
Finally, where the '0' is is where the tileset type goes. I sure do hope you haven't forgotten what they are already. You should know, if you read this properly, that, because we're using pics1, it needs to stay a zero. If it was the Era tileset we wanted, it should become a one.
Sometimes, you'll get an error where there's a black zigzag running across the level, and it's grey where the tiles are meant to be. If this happens, make sure the script is all correct. If this still doesn't work, try deleting FILENAMECACHE.txt.
[if you have any requests for things to add, you have a few days to alert me, before my editing ability disappears]
That's the online way - this is offline, and is for those players that don't work on a server and would like to get into level making.
The way I posted is a shortcut - you don't actually need the extra things for it to work offline. But, I suppose I should add the proper way :]
EDIT: Actually, wait, I did post the actual way o-o So now I will post the shortcut:
PHP Code:
removetiledefs;
addtiledef pics1.png,,0;
Using this works perfectly fine. For me, at least.
The removetiledefs is not required since you are going to overwrite the tileset for all levels. Its just needed if you do want the default pics1.png tileset else it will just delete the tiledefs configuration for other levels you made (when they are using another tileset)