Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

[Official] How to add a map

Newbie Spellweaver
Joined
May 5, 2009
Messages
77
Reaction score
8
Hello, this is my first English tutorial in Ragezone, my english is not super supergood.
So, you got a map (or created 1) and you like it so much that you want to get it in your server! This tutorial is how to do that.

Step 1, add map to server and client;

Save the map folder in your official server in neurospace/resource/world/
To save the map in your client, just do the same; Flyff Client/World/

Step 2, configure the .res files

We go first to the official server resource folder, open defineWorld.h world.txt.txt and World.inc, defineWorld.h contains;
Code:
#ifndef __DEFINE_WORLD
#define __DEFINE_WORLD

#define WI_WORLD_NONE     0
#define WI_WORLD_MADRIGAL 1
#define	WI_WORLD_KEBARAS  2
#define WI_RANDOM_MAP  3
// extra world
#define	WI_WORLD_0425	100
#define WI_WORLD_TEST   101
#define	WI_WORLD_LUX	102
#define	WI_WORLD_LUX2	103

// event world
#define WI_WORLD_EVENT01 120
#define	WI_DUNGEON_FL_MAS   200
#define	WI_DUNGEON_DA_DK    201
#define WI_WORLD_GUILDWAR	202
#define WI_DUNGEON_VOLCANE	203     // º¼ÄÉÀÎ Áö¿ª 
#define WI_DUNGEON_SA_TA        204
#define WI_DUNGEON_SA_TA2       205
#define WI_DUNGEON_VOLCANERED	206 // º¼ÄÉÀÎ Áö¿ª RED
#define WI_DUNGEON_VOLCANEYELLOW	207 // º¼ÄÉÀÎ Áö¿ª YELLOW
[COLOR="Blue"]#define WI_WORLD_ARENA				208 // ¾Æ·¹³ª [/COLOR]Áö¿ª


#define WI_DUNGEON_MUSCLE	210
#define WI_DUNGEON_KRRR		220
#define WI_DUNGEON_BEAR		230


//241¹ø ºÎÅÍ´Â 1:1±æµå´ëÀüÀ常 Ãß°¡ ÇØ¾ß ÇÔ.
#define WI_WORLD_GUILDWAR1TO1_0	241
#define WI_WORLD_GUILDWAR1TO1_1	242
#define WI_WORLD_GUILDWAR1TO1_2	243
#define WI_WORLD_GUILDWAR1TO1_3	244

#define WI_WORLD_GUILDWAR1TO1_L	245	// ¸¶Áö¸· 1:1±æµå´ëÀüÀå ID


#endif
Here are worlds with the teleport number, if you want to go to Arena (the blue line) just teleport to world 208.
Add something like this;
Code:
#ifndef __DEFINE_WORLD
#define __DEFINE_WORLD

#define WI_WORLD_NONE     0
#define WI_WORLD_MADRIGAL 1
#define	WI_WORLD_KEBARAS  2
#define WI_RANDOM_MAP  3
[COLOR="Red"]#define WI_TEST_MAP 4[/COLOR]
// extra world
#define	WI_WORLD_0425	100
#define WI_WORLD_TEST   101
#define	WI_WORLD_LUX	102
#define	WI_WORLD_LUX2	103

// event world
#define WI_WORLD_EVENT01 120
#define	WI_DUNGEON_FL_MAS   200
#define	WI_DUNGEON_DA_DK    201
#define WI_WORLD_GUILDWAR	202
#define WI_DUNGEON_VOLCANE	203     // º¼ÄÉÀÎ Áö¿ª 
#define WI_DUNGEON_SA_TA        204
#define WI_DUNGEON_SA_TA2       205
#define WI_DUNGEON_VOLCANERED	206 // º¼ÄÉÀÎ Áö¿ª RED
#define WI_DUNGEON_VOLCANEYELLOW	207 // º¼ÄÉÀÎ Áö¿ª YELLOW
#define WI_WORLD_ARENA				208 // ¾Æ·¹³ª Áö¿ª


#define WI_DUNGEON_MUSCLE	210
#define WI_DUNGEON_KRRR		220
#define WI_DUNGEON_BEAR		230


//241¹ø ºÎÅÍ´Â 1:1±æµå´ëÀüÀ常 Ãß°¡ ÇØ¾ß ÇÔ.
#define WI_WORLD_GUILDWAR1TO1_0	241
#define WI_WORLD_GUILDWAR1TO1_1	242
#define WI_WORLD_GUILDWAR1TO1_2	243
#define WI_WORLD_GUILDWAR1TO1_3	244

#define WI_WORLD_GUILDWAR1TO1_L	245	// ¸¶Áö¸· 1:1±æµå´ëÀüÀå ID


#endif
I added the red line, WI_TEST_MAP, if you teleport to world 4 you teleport to your custom world. But we're not done...
Open now world.txt.txt, it contains;
Code:
IDS_WORLD_INC_000000	Test
IDS_WORLD_INC_000001	Madrigal
IDS_WORLD_INC_000002	Lux
IDS_WORLD_INC_000003	425
IDS_WORLD_INC_000004	Lux 2
IDS_WORLD_INC_000005	Event
IDS_WORLD_INC_000006	Mars Dungeon
IDS_WORLD_INC_000007	Kebaras Island
IDS_WORLD_INC_000008	Dekane Mine
IDS_WORLD_INC_000009	Guild Siege Territory
IDS_WORLD_INC_000010	Volcanic Island - Volkane Dungeon
IDS_WORLD_INC_000011	Boss Monster: Big Muscle
IDS_WORLD_INC_000012	Boss Monster: Krrr
IDS_WORLD_INC_000013	Boss Monster: Mushmoot
IDS_WORLD_INC_000014	Ivillis Temple
IDS_WORLD_INC_000015	Ivillis Temple Boss
IDS_WORLD_INC_000016	Volkane RED
IDS_WORLD_INC_000017	Volkane YELLOW
IDS_WORLD_INC_000018	1vs1 Guild Siege Zone A
IDS_WORLD_INC_000019	1vs1 Guild Siege Zone B
IDS_WORLD_INC_000020	1vs1 Guild Siege Zone C
IDS_WORLD_INC_000021	1vs1 Guild Siege Zone D
[COLOR="Blue"]IDS_WORLD_INC_000022	Arena[/COLOR]
Look at Arena, that's the name of the map xD. (IDS_WORLD_INC_00022 is connected with WI_WORLD_ARENA.)
We add this;
Code:
IDS_WORLD_INC_000000	Test
IDS_WORLD_INC_000001	Madrigal
IDS_WORLD_INC_000002	Lux
IDS_WORLD_INC_000003	425
IDS_WORLD_INC_000004	Lux 2
IDS_WORLD_INC_000005	Event
IDS_WORLD_INC_000006	Mars Dungeon
IDS_WORLD_INC_000007	Kebaras Island
IDS_WORLD_INC_000008	Dekane Mine
IDS_WORLD_INC_000009	Guild Siege Territory
IDS_WORLD_INC_000010	Volcanic Island - Volkane Dungeon
IDS_WORLD_INC_000011	Boss Monster: Big Muscle
IDS_WORLD_INC_000012	Boss Monster: Krrr
IDS_WORLD_INC_000013	Boss Monster: Mushmoot
IDS_WORLD_INC_000014	Ivillis Temple
IDS_WORLD_INC_000015	Ivillis Temple Boss
IDS_WORLD_INC_000016	Volkane RED
IDS_WORLD_INC_000017	Volkane YELLOW
IDS_WORLD_INC_000018	1vs1 Guild Siege Zone A
IDS_WORLD_INC_000019	1vs1 Guild Siege Zone B
IDS_WORLD_INC_000020	1vs1 Guild Siege Zone C
IDS_WORLD_INC_000021	1vs1 Guild Siege Zone D
IDS_WORLD_INC_000022	Arena
[COLOR="Red"]IDS_WORLD_INC_000024    Test Map[/COLOR]
I think I get the question; "Why not IDS_WORLD_INC_000023?" That's because the Fame makers use "IDS_WORLD_INC_000023" but you cannot see it.
Ok, now the last file; World.inc
Code:
// World Script

WI_WORLD_TEST     "WdTest"
WI_WORLD_MADRIGAL "WdMadrigal" 
WI_WORLD_LUX	"WdLux"
WI_WORLD_0425	"Wd0425"
WI_WORLD_LUX2	"WdLux2"
WI_WORLD_EVENT01 "WdEvent01"
WI_DUNGEON_FL_MAS "DuFlMas"//
WI_WORLD_KEBARAS "WdKebaras"
WI_DUNGEON_DA_DK "DuDaDk"
WI_WORLD_GUILDWAR "WdGuildWar"
WI_DUNGEON_VOLCANE "WdVolcane"
WI_DUNGEON_MUSCLE "DuMuscle"
WI_DUNGEON_KRRR   "DuKrr"
WI_DUNGEON_BEAR   "DuBear"
WI_DUNGEON_SA_TA   "DuSaTemple"
WI_DUNGEON_SA_TA2  "DuSaTempleBoss"
WI_DUNGEON_VOLCANERED "WdVolcaneRed"
WI_DUNGEON_VOLCANEYELLOW "WdVolcaneYellow"
[COLOR="Blue"]WI_WORLD_ARENA "WdArena"[/COLOR]


WI_WORLD_GUILDWAR1TO1_0	"WdGuildWar1To1"
WI_WORLD_GUILDWAR1TO1_1	"WdGuildWar1To1"
WI_WORLD_GUILDWAR1TO1_2	"WdGuildWar1To1"
WI_WORLD_GUILDWAR1TO1_3	"WdGuildWar1To1"
WI_RANDOM_MAP "random_map"

WI_WORLD_TEST	SetTitle
(
	IDS_WORLD_INC_000000
);

WI_WORLD_MADRIGAL	SetTitle
(
	IDS_WORLD_INC_000001
);

WI_WORLD_LUX	SetTitle
(
	IDS_WORLD_INC_000002
);

WI_WORLD_0425	SetTitle
(
	IDS_WORLD_INC_000003
);

WI_WORLD_LUX2	SetTitle
(
	IDS_WORLD_INC_000004
);

WI_WORLD_EVENT01	SetTitle
(
	IDS_WORLD_INC_000005
);

WI_DUNGEON_FL_MAS	SetTitle
(
	IDS_WORLD_INC_000006
);

WI_WORLD_KEBARAS	SetTitle
(
	IDS_WORLD_INC_000007
);

WI_DUNGEON_DA_DK	SetTitle
(
	IDS_WORLD_INC_000008
);

WI_WORLD_GUILDWAR	SetTitle
(
	IDS_WORLD_INC_000009
);

WI_DUNGEON_VOLCANE	SetTitle
(
	IDS_WORLD_INC_000010
);

WI_DUNGEON_MUSCLE 	SetTitle
(
	IDS_WORLD_INC_000011
);

WI_DUNGEON_KRRR 	SetTitle
(
	IDS_WORLD_INC_000012
);

WI_DUNGEON_BEAR 	SetTitle
(
	IDS_WORLD_INC_000013
);

WI_DUNGEON_SA_TA 	SetTitle
(
	IDS_WORLD_INC_000014
);

WI_DUNGEON_SA_TA2 	SetTitle
(
	IDS_WORLD_INC_000015
);

WI_DUNGEON_VOLCANERED 	SetTitle
(
	IDS_WORLD_INC_000016
);

WI_DUNGEON_VOLCANEYELLOW SetTitle
(
	IDS_WORLD_INC_000017
);

WI_WORLD_GUILDWAR1TO1_0	SetTitle
(
	IDS_WORLD_INC_000018
);

WI_WORLD_GUILDWAR1TO1_1	SetTitle
(
	IDS_WORLD_INC_000019
);

WI_WORLD_GUILDWAR1TO1_2	SetTitle
(
	IDS_WORLD_INC_000020
);

WI_WORLD_GUILDWAR1TO1_3	SetTitle
(
	IDS_WORLD_INC_000021
);

[COLOR="Blue"]WI_WORLD_ARENA	SetTitle
(
	IDS_WORLD_INC_000022
);[/COLOR]

WI_RANDOM_MAP	SetTitle
(
	IDS_WORLD_INC_000023
);
This is a important step, look at WI_WORLD_ARENA, right of it stands "WdArena" that is the name of the folder of you custom map in the World folder of the client and of the official server (too much "of's"). Let's see
Code:
WI_WORLD_ARENA   SetTitle
(
         IDS_WORLD_INC_000023
);

Now you see that WI_WORLD_ARENA get connected to IDS_WORLD_INC_000023.
For us
Code:
// World Script

WI_WORLD_TEST     "WdTest"
WI_WORLD_MADRIGAL "WdMadrigal" 
WI_WORLD_LUX	"WdLux"
WI_WORLD_0425	"Wd0425"
WI_WORLD_LUX2	"WdLux2"
WI_WORLD_EVENT01 "WdEvent01"
WI_DUNGEON_FL_MAS "DuFlMas"//
WI_WORLD_KEBARAS "WdKebaras"
WI_DUNGEON_DA_DK "DuDaDk"
WI_WORLD_GUILDWAR "WdGuildWar"
WI_DUNGEON_VOLCANE "WdVolcane"
WI_DUNGEON_MUSCLE "DuMuscle"
WI_DUNGEON_KRRR   "DuKrr"
WI_DUNGEON_BEAR   "DuBear"
WI_DUNGEON_SA_TA   "DuSaTemple"
WI_DUNGEON_SA_TA2  "DuSaTempleBoss"
WI_DUNGEON_VOLCANERED "WdVolcaneRed"
WI_DUNGEON_VOLCANEYELLOW "WdVolcaneYellow"
WI_WORLD_ARENA "WdArena"


WI_WORLD_GUILDWAR1TO1_0	"WdGuildWar1To1"
WI_WORLD_GUILDWAR1TO1_1	"WdGuildWar1To1"
WI_WORLD_GUILDWAR1TO1_2	"WdGuildWar1To1"
WI_WORLD_GUILDWAR1TO1_3	"WdGuildWar1To1"
WI_RANDOM_MAP "random_map"
[COLOR="Red"]WI_TEST_MAP "Custom_World"[/COLOR]

WI_WORLD_TEST	SetTitle
(
	IDS_WORLD_INC_000000
);

WI_WORLD_MADRIGAL	SetTitle
(
	IDS_WORLD_INC_000001
);

WI_WORLD_LUX	SetTitle
(
	IDS_WORLD_INC_000002
);

WI_WORLD_0425	SetTitle
(
	IDS_WORLD_INC_000003
);

WI_WORLD_LUX2	SetTitle
(
	IDS_WORLD_INC_000004
);

WI_WORLD_EVENT01	SetTitle
(
	IDS_WORLD_INC_000005
);

WI_DUNGEON_FL_MAS	SetTitle
(
	IDS_WORLD_INC_000006
);

WI_WORLD_KEBARAS	SetTitle
(
	IDS_WORLD_INC_000007
);

WI_DUNGEON_DA_DK	SetTitle
(
	IDS_WORLD_INC_000008
);

WI_WORLD_GUILDWAR	SetTitle
(
	IDS_WORLD_INC_000009
);

WI_DUNGEON_VOLCANE	SetTitle
(
	IDS_WORLD_INC_000010
);

WI_DUNGEON_MUSCLE 	SetTitle
(
	IDS_WORLD_INC_000011
);

WI_DUNGEON_KRRR 	SetTitle
(
	IDS_WORLD_INC_000012
);

WI_DUNGEON_BEAR 	SetTitle
(
	IDS_WORLD_INC_000013
);

WI_DUNGEON_SA_TA 	SetTitle
(
	IDS_WORLD_INC_000014
);

WI_DUNGEON_SA_TA2 	SetTitle
(
	IDS_WORLD_INC_000015
);

WI_DUNGEON_VOLCANERED 	SetTitle
(
	IDS_WORLD_INC_000016
);

WI_DUNGEON_VOLCANEYELLOW SetTitle
(
	IDS_WORLD_INC_000017
);

WI_WORLD_GUILDWAR1TO1_0	SetTitle
(
	IDS_WORLD_INC_000018
);

WI_WORLD_GUILDWAR1TO1_1	SetTitle
(
	IDS_WORLD_INC_000019
);

WI_WORLD_GUILDWAR1TO1_2	SetTitle
(
	IDS_WORLD_INC_000020
);

WI_WORLD_GUILDWAR1TO1_3	SetTitle
(
	IDS_WORLD_INC_000021
);

WI_WORLD_ARENA	SetTitle
(
	IDS_WORLD_INC_000022
);

WI_RANDOM_MAP	SetTitle
(
	IDS_WORLD_INC_000023
);

[COLOR="Red"]WI_TEST_MAP	SetTitle
(
        IDS_WORLD_INC_000024
);[/COLOR]

Ok now we get it in de client, open Data.res with a .Res opener, extract the defineWorld.h, World.inc and world.txt.txt, just do what we did with the official server, save it and you edited the res files.

Edit coreserver.ini
Go to your official server, then to your coreserver.ini, open it. you see;
Code:
Sys	1
Database	"127.0.0.1"


0101
{
	1		0 0	30 30		00 00
	2	0	0	5	5	00	00
	3	0	0	3	3	00	00
	200	0	0	5	5	00	00
	201	0	0	5	5	00	00
// 6
        210     0       0       1       1       00      00 
        220     0       0       1       1       00      00 
        230     0       0       1       1       00      00 
        202     0       0       5       5       00      00 
// 7
	204	0	0	5	5	00	00
[COLOR="Blue"]	205	0	0	2	2	00	00[/COLOR]
// 10
	203      0      0      3      3      00      00
	206      0      0      2      2      00      00         
	207      0      0      2      2      00      00
// 11
        208	0	0	2	2	00	00
        241	0	0	1	1	00	00
        242	0	0	1	1	00	00
        243	0	0	1	1	00	00
        244	0	0	1	1	00	00
}

Ok I don't know much about coreserver.ini, the blue text is the Arena because the teleport world is 205, oke, I know nothing about 0's after the 205, after the 0's you see "2 2" this is important too, this is the width and height of the custom world, i know nothing baout the 00 and 00. Let's add something;
Code:
Sys	1
Database	"127.0.0.1"


0101
{
	1		0 0	30 30		00 00
	2	0	0	5	5	00	00
	3	0	0	3	3	00	00
[COLOR="Red"]        4       0       0       1       1       00      00[/COLOR]
	200	0	0	5	5	00	00
	201	0	0	5	5	00	00
// 6
        210     0       0       1       1       00      00 
        220     0       0       1       1       00      00 
        230     0       0       1       1       00      00 
        202     0       0       5       5       00      00 
// 7
	204	0	0	5	5	00	00
	205	0	0	2	2	00	00
// 10
	203      0      0      3      3      00      00
	206      0      0      2      2      00      00         
	207      0      0      2      2      00      00
// 11
        208	0	0	2	2	00	00
        241	0	0	1	1	00	00
        242	0	0	1	1	00	00
        243	0	0	1	1	00	00
        244	0	0	1	1	00	00
}

Save, start server and you're done.
I don't support how to make a map, set up a server, set up a database and extract .res.

If you know more information about this, please send me a PM or post it in the thread.

CompuIves :w00t:
 
Last edited:
Newbie Spellweaver
Joined
Feb 13, 2009
Messages
9
Reaction score
2
perfect tutorial, thanks :)

Many people have held such instructions in secret, but now it is publicly
 
Newbie Spellweaver
Joined
May 25, 2009
Messages
15
Reaction score
0
Thx for guide.

and Sorry for my bad english.

I have test to add Cisland.

i have add to coreserver.ini : 100 0 0 3 3 00 00.

in resources :
- on defineworld.h : #define WI_WORLD_CISLAND 100/3
- on world.inc : WI_WORLD_CISLAND "WdCisland"
and
WI_WORLD_CISLAND SetTitle
(
IDS_WORLD_INC_000045
);
-on world.txt.txt : IDS_WORLD_INC_000045 Île Corail

Reboot all.

But when i use /teleport 100 x y z my char don't moove.

and i have no error in error.txt.
 
Newbie Spellweaver
Joined
May 5, 2009
Messages
77
Reaction score
8
Thx for guide.

and Sorry for my bad english.

I have test to add Cisland.

i have add to coreserver.ini : 100 0 0 3 3 00 00.

in resources :
- on defineworld.h : #define WI_WORLD_CISLAND 100/3
- on world.inc : WI_WORLD_CISLAND "WdCisland"
and
WI_WORLD_CISLAND SetTitle
(
IDS_WORLD_INC_000045
);
-on world.txt.txt : IDS_WORLD_INC_000045 Île Corail

Reboot all.

But when i use /teleport 100 x y z my char don't moove.

and i have no error in error.txt.

I think you don't have the new objects of Cisland in your objects folder. And at defineWorld.h you need to have only world 100 xD.

And thanks for the good responses!
CompuIves
 
Newbie Spellweaver
Joined
May 25, 2009
Messages
15
Reaction score
0
I think you don't have the new objects of Cisland in your objects folder. And at defineWorld.h you need to have only world 100 xD.

And thanks for the good responses!
CompuIves


Hello,

I have objetc because i use Cisland of my calii server and cisland work good on my calii serv.
 
Newbie Spellweaver
Joined
May 5, 2009
Messages
77
Reaction score
8
Hello,

I have objetc because i use Cisland of my calii server and cisland work good on my calii serv.

If you want to add objects you need to change mdlobj.inc XD. But i think the v13 map isn't supported for a v11 server. Oh and if you want to teleport you need to put; /teleport world x-coordinate y-coordinate

CompuIves
 
Newbie Spellweaver
Joined
May 17, 2009
Messages
69
Reaction score
0
can u give me linck of program wich i can use to create new maps of flyff
 
[R8]ℓσℓ32
Loyal Member
Joined
Oct 6, 2008
Messages
1,396
Reaction score
198
I think Beast it's not allowed here.

You have 2 options:

-Search on google.

OR

-Wait until xadet or GalphanKing release the map editor.
 
Skilled Illusionist
Joined
Sep 1, 2008
Messages
344
Reaction score
13
Thanks this guide is very clear and usefull. :D 10/10
 
Newbie Spellweaver
Joined
May 23, 2009
Messages
16
Reaction score
0
okey i dont have neurospace xdd...

NICE Guide :D

99/10:eek:tt:
 
Newbie Spellweaver
Joined
Apr 8, 2009
Messages
60
Reaction score
8
Weird, I don't have world.txt.txt in data.res.:blink:
 
Back
Top