// Edited by Vidus so errors are mine not original poster
// added/edited 0x07 0x22 0x23 0x2B 0x2c 0x2D
0x00 E
0x01 M
0x02 F
0x03 map revision number (4b)
0x07 Map name (24b)
//each ascii character has 2 values. one for it's low position and one for
//it's high position.when you start reading the map name(last bit first as it's stored backwards)
//it starts on low position, then high, then low, keeps going till done with name.
a = 3E | 6C
b = 3D | 6B
c = 3C | 6A
d = 3B | 69
e = 3A | 68
f = 39 | 67
g = 38 | 66
h = 37 | 65
i = 36 | 64
j = 35 | 63
k = 34 | 62
l = 33 | 61
m = 32 | 60
n = 31 | 5F
o = 30 | 5E
p = 2F | 5D
q = 2E | 5C
r = 2D | 5B
s = 2C | 5A
t = 2B | 59
u = 2A | 58
v = 29 | 57
w = 28 | 56
x = 27 | 55
y = 26 | 54
z = 25 | 53
space = 20
A = 5E
B = 5D | 2F
C = 5C | 2E
D = 5B | 2D
E = 5A | 2C
F = 59 | 2B
G = 58 | 2A
H = 57 | 29
I = 56
J = 55
K = 54
L = 53
M = 52
N = 51
O = 50
P = 4F
Q = 4E | 7C
R = 4D | 7B
S = 4C | 7A
T = 4B | 79
U = 4A | 78
V = 49 | 77
W = 48 | 76
X = 47 | 75
Y = 46 | 74
Z = 45 | 73
1 = 40
0x1F Map Type
(0) non-pvp
(1) ??
(2) ??
(3) PK zone
0x20 Map Effect
(1) HP Drain
(2) TP Drain
(3) Quake
0x21 Bg Music
(0) no
(1+) yes (mfx ID)
0x22 Music loading? //finish music first or instantly change
//depending on value. anything over 07 stops music
0x23 //Haven't figured it out yet but here is all maps that are not 01 FE
//use this to find differences in them.
75 = 41 fe
119 = 44 fe
141 = 42 fe
189 = 42 fe
196 = 41 fe
207 = 42 fe
222 = 44 fe
224 = 46 fe
246 = 4c fe
247 = 4c fe
251 = 52 fe
255 = 52 fe
256 = 52 fe
258 = 52 fe
259 = 52 fe
273 = 4c fe
0x25 Width
0x26 Height
0x27 Fill Tile (2b)
0x29 MapAvailable
(0) no
(1+) yes
0x2A Possible to scroll out
(0) no
(1+) yes
0x2B Relog spawn X position // Used on map's that set your position on relog
0x2C Relog spawn Y position // such as admin or hall of pain
0x2D Unused // it is 01 on every single map
npcs
foreach npc { [NPCs]
0x00 x spawn
0x01 y spawn
0x02 npc ID (2b)
0x04 spawn range
(0, 7) number of tiles range it can possibly spawn
(7+) static (non-moving NPC)
0x05 spawn extra (2b)
(spawn distance < 7)
spawn time (seconds)
(spawn distance >= 7)
facing direction
0x07 amount
} / npc
?1
(5*?1 bytes) unknown data
?2
(12*?2 bytes) unknown data
tileyrows
foreach tileyrow { [tile data]
0x00 yloc
0x01 xtiles
foreach xtile {
0x00 xloc
0x01 spec
(0) wall
(1) chair (bottom)
(2) chair (left)
(3) chair (right)
(4) chair (up)
(5) chair (bottom + right)
(6) chair (up + left)
(7) chair (alldirs)
(8) door
(9) chest
(10) fake [!]
(11) [!] ?
(12) fake [!]
(13) [!] ?
(14) [!] ?
(15) [!] ?
(16) bank vault
(17) NPC boundary
(18) map edge
(19) fake wall
(20-27) town board (boardid = spec-19)
(28) jukebox
(29) stepping stone
(30) water
(32) arena / arena queue
(33) ambient sound source
(34) spikes
(35) spikes
(36) spikes
} /xtile
} /tileyrow
warpyrows
foreach warpyrow { [warp info]
0x00 yloc
0x01 xtiles
foreach xtiles{
0x00 xloc
0x01 Warp map (2b)
0x03 Warp x
0x04 Warp y
0x05 level requirement
0x06 door (2b)
(0) no door
(1) door
(2) locked door - silver key
(3) locked door - crystal key
(4) locked door - wraith key
(5+) locked door -
} /xtile
} /warpyrow
foreach ([ground, blended, mask, object, desk, wall, top, ontop] as layer) {
layeryrows
foreach {layer}yrow { [{layer} tiles]
0x00 yloc
0x01 xtiles
foreach xtile {
0x00 tile ID (2b)
} / xtile
} /{layer}yrow
} / layer
} /file