-
[Release] Arkania Map
Quote:
Originally Posted by
KarLi
We succesfully did the map and changed new characters so they born in Arkania easily.
How to: from SQL Server > Enterprise Manager> MuOnline>DefaultClassType> Open all rows
and scroll at the right at the end and change Map number to 3 / MapPosX: 236 / MapPosY: 010 / Level: 50
NPC for MAP
Code:
543 2 0 216 23 0 //Osborne
240 2 0 214 57 2 // Storage Guard
256 2 0 211 54 2 // Lahap
235 2 0 219 31 0 // Priest Sevina
406 2 0 219 37 0
229 2 0 219 34 0
241 2 0 219 40 0 // Guild Master
415 2 0 216 59 2 // Silvia
238 2 0 232 57 1 // Chaos Goblin
369 2 0 229 58 1 // Osbourne
370 2 0 230 57 1 // Jerridon
226 2 0 210 50 3 //Trainer
231 2 0 209 47 3
246 2 0 210 44 3 // Weapons Merchant Zienna
417 2 0 211 39 2 // Marseille
251 2 0 210 34 3 //Hanzo The Blacksmith
416 2 0 210 30 2 // Leah
230 2 0 212 26 3 //Thompson The Merchant
257 2 0 222 69 3 // Elf Buffer
237 2 0 236 92 1 // DV
237 2 0 218 92 1 // DV
233 2 0 230 92 1 // BC
233 2 0 212 92 1 // BC
380 2 0 224 92 1 // Stone Statue
247 2 0 226 69 0 //Berdysh Guard
247 2 0 234 135 2 //Berdysh Guard
247 2 0 235 192 2 //Berdysh Guard
247 2 0 223 214 2 //Berdysh Guard
375 2 0 219 59 1
Monster for MAP
Code:
2 2 30 203 88 218 101 -1 20
3 2 30 225 101 241 111 -1 20
22 2 30 229 146 223 147 -1 8
3 2 30 223 147 207 151 -1 8
22 2 30 207 151 205 168 -1 8
24 2 30 205 168 215 180 -1 15
3 2 30 205 168 215 180 -1 7
22 2 30 215 180 236 186 -1 12
24 2 30 215 180 236 186 -1 15
3 2 30 215 180 236 186 -1 10
2 2 30 237 204 237 204 -1 5
20 2 30 237 204 237 204 -1 5
2 2 30 232 209 232 224 -1 7
3 2 30 232 209 232 224 -1 7
22 2 30 232 209 232 224 -1 7
24 2 30 232 209 232 224 -1 7
20 2 30 232 209 232 224 -1 7
2 2 30 238 239 240 218 -1 2
3 2 30 238 239 240 218 -1 2
22 2 30 238 239 240 218 -1 2
24 2 30 238 239 240 218 -1 2
20 2 30 238 239 240 218 -1 2
27 2 30 238 239 240 218 -1 5
2 2 30 239 220 241 238 -1 2
3 2 30 239 220 241 238 -1 2
22 2 30 239 220 241 238 -1 2
24 2 30 239 220 241 238 -1 2
20 2 30 239 220 241 238 -1 2
27 2 30 239 220 241 238 -1 5
27 2 30 219 223 212 235 -1 5
27 2 30 219 223 212 235 -1 5
20 2 30 219 223 212 235 -1 5
20 2 30 219 223 212 235 -1 5
27 2 30 204 240 204 240 -1 5
20 2 30 204 240 204 240 -1 5
27 2 30 218 238 218 238 -1 5
20 2 30 218 238 218 238 -1 5
-
re: [Release] Arkania Map
Very nice... waiting for download link...
-
re: [Release] Arkania Map
Great work bro ! I'm thinking on implement like totally added map to my server and client :) Thanks for release
-
re: [Release] Arkania Map
Mauro but you must also add the client right? you have idea how to do?
I wanted to add Acheron... ^_^
-
re: [Release] Arkania Map
Nice man! 11/10 :w00t::thumbup1::thumbup:
This is skin for devias as im right? But how to add this like costume map? :glare:
-
re: [Release] Arkania Map
You better add credits, or I will instantly press report button for credits! :D
-
re: [Release] Arkania Map
I didn't test yet and I hate custom stuff but this looks just awesome
-
re: [Release] Arkania Map
how i can add it as new map? not as replasement
-
re: [Release] Arkania Map
Quote:
Originally Posted by
15351535
how i can add it as new map? not as replasement
server > read new terrainXX , client>Read new WorldXX
and you are ready
-
re: [Release] Arkania Map
Quote:
Originally Posted by
Idrio
Mauro but you must also add the client right? you have idea how to do?
I wanted to add Acheron... ^_^
Well is not a secret to nothing.. SmallHabit release 1 source to add new map (with different effects from mu maps on client and etc..) to client look this:
Code:
#include <Windows.h>
#include <stdio.h>
void __declspec(naked) MapNewNames()
{
_asm
{
cmp esi,34 //MapNumber
jnz JNZNext80
push 0x73B //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
JNZNext80:
cmp esi,80 //MapNumber
jnz JNZNext59
push 0x914 //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
JNZNext59:
cmp esi,59 //MapNumber
jnz JNZNext60
push 0x914 //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext60:
cmp esi,60 //MapNumber
jnz JNZNext61
push 0x914 //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext61:
cmp esi,61 //MapNumber
jnz JNZNext75
push 0x914 //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext75:
cmp esi,75 //MapNumber
jnz JNZNext76
push 0x73F //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext76:
cmp esi,76 //MapNumber
jnz JNZNext77
push 0x73F //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext77:
cmp esi,77 //MapNumber
jnz JNZNext78
push 0x73F //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext78:
cmp esi,78 //MapNumber
jnz JNZNext81
push 0x73E //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
JNZNext81:
cmp esi,81 //MapNumber
jnz JNZNext82
push 0x73E //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext82:
cmp esi,82 //MapNumber
jnz JNZNext83
push 0x73E //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext83:
cmp esi,83 //MapNumber
jnz JNZNext84
push 0xA7E //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext84:
cmp esi,84 //MapNumber
jnz JNZNext85
push 0xA7E //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext85:
cmp esi,85 //MapNumber
jnz JNZNextEnd
push 0xA7E //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNextEnd:
mov edx, 0x005BF1BF;
jmp edx;
}
}
void __declspec(naked) MapNews40()
{
_asm
{
//1
CMP DWORD PTR DS:[0x934540],80;
JE JEOKAY;
//2
CMP DWORD PTR DS:[0x934540],59;
JE JEOKAY;
//3
CMP DWORD PTR DS:[0x934540],60;
JE JEOKAY;
//4
CMP DWORD PTR DS:[0x934540],61;
JE JEOKAY;
//Original
CMP DWORD PTR DS:[0x934540],40;
JE JEOKAY;
mov edx, 0x005D6C9E;
jmp edx;
JEOKAY:
mov edx, 0x005D6D46;
jmp edx;
}
}
void __declspec(naked) MapNew057()
{
_asm
{
PUSH EBP
MOV EBP,ESP
CMP DWORD PTR DS:[0x934540],57 //
JE JNZSecon
CMP DWORD PTR DS:[0x934540],58 //
JE JNZSecon
CMP DWORD PTR DS:[0x934540],65 //
JE JNZSecon
CMP DWORD PTR DS:[0x934540],75 //
JE JNZSecon
CMP DWORD PTR DS:[0x934540],76 //
JE JNZSecon
CMP DWORD PTR DS:[0x934540],77
JNZ JNZFirst
JNZSecon:
MOV AL,1
JMP JMPEnd
JNZFirst:
XOR AL,AL
JMPEnd:
POP EBP
RETN
}
}
void __declspec(naked) MapNewO56()
{
_asm
{
//New 56 Map Effects Enable
PUSH EBP
MOV EBP,ESP
CMP DWORD PTR DS:[0x934540],56 //1
JE JNZSecon
CMP DWORD PTR DS:[0x934540],78 //2
JE JNZSecon
CMP DWORD PTR DS:[0x934540],81 //3
JE JNZSecon
CMP DWORD PTR DS:[0x934540],82 //4
JNZ JNZFirst
JNZSecon:
MOV AL,1
JMP JMPEnd
JNZFirst:
XOR AL,AL
JMPEnd:
POP EBP
RETN
}
}
void __declspec(naked) MapNewO63()
{
_asm
{
//New 63 Map Effects Enable
PUSH EBP
MOV EBP,ESP
CMP DWORD PTR DS:[0x934540],63 //0
JE JNZSecon
CMP DWORD PTR DS:[0x934540],83 //1
JE JNZSecon
CMP DWORD PTR DS:[0x934540],84 //2
JE JNZSecon
CMP DWORD PTR DS:[0x934540],85 //3
JNZ JNZFirst
JNZSecon:
MOV AL,1
JMP JMPEnd
JNZFirst:
XOR AL,AL
JMPEnd:
POP EBP
RETN
}
}
void __declspec(naked) MapNewO40()
{
_asm
{
//New 40 Map Effects Enable
PUSH EBP
MOV EBP,ESP
CMP DWORD PTR DS:[0x934540],80 //1
JE JNZSecon
CMP DWORD PTR DS:[0x934540],59 //2
JE JNZSecon
CMP DWORD PTR DS:[0x934540],60 //3
JE JNZSecon
CMP DWORD PTR DS:[0x934540],61 //4
JE JNZSecon
CMP DWORD PTR DS:[0x934540],37
JNZ JNZFirst
JNZSecon:
MOV AL,1
JMP JMPEnd
JNZFirst:
XOR AL,AL
JMPEnd:
POP EBP
RETN
}
}
void __declspec(naked) MapSwampFog()
{
_asm
{
CMP EAX,56
JNZ Next1
mov edi, 0x0086A9DC
call edi
mov edi, 0x0059912E
jmp edi
Next1:
CMP EAX,78
JNZ Next2
mov edi, 0x0086A9DC
call edi
mov edi, 0x0059912E
jmp edi
Next2:
CMP EAX,81
JNZ Next3
mov edi, 0x0086A9DC
call edi
mov edi, 0x0059912E
jmp edi
Next3:
CMP EAX,82
JNZ Next4
mov edi, 0x0086A9DC
call edi
mov edi, 0x0059912E
jmp edi
Next4:
CMP EAX,83
JNZ CreateFog
mov edi, 0x0086A9DC
call edi
mov edi, 0x0059912E
jmp edi
CreateFog:
mov edi, 0x005990F2
jmp edi
}
}
void __declspec(naked) MapRaklionTele()
{
_asm
{
CMP DWORD PTR DS:[0x934540],57;
JNZ Teleport1;
Teleport1:
CMP DWORD PTR DS:[0x934540],75;
JNZ Teleport2;
Teleport2:
CMP DWORD PTR DS:[0x934540],76;
JNZ Teleport3;
Teleport3:
CMP DWORD PTR DS:[0x934540],77;
JNZ End;
End:
mov esi, 0x00606F88;
jmp esi;
}
}
void __declspec(naked) NewReward()
{
_asm
{
//004C9F5B
MOV EDX,DWORD PTR SS:[EBP-0x10]
MOV EAX,DWORD PTR DS:[EDX+0x8]
PUSH EAX
PUSH 0xCC4
MOV ECX,0x07BA0588
mov esi, 0x00403FC0
call esi
PUSH EAX
MOV ECX,DWORD PTR SS:[EBP-0x18]
IMUL ECX,ECX,0x58
MOV EDX,DWORD PTR SS:[EBP+0x8]
LEA EAX,DWORD PTR DS:[EDX+ECX+0x8]
PUSH EAX
mov esi, 0x008C84F8
call esi
ADD ESP,0x0C
mov esi, 0x004C9F88
jmp esi
}
}
void __declspec(naked) NewReward1()
{
_asm
{
//004C9F5B
MOV EDX,DWORD PTR SS:[EBP-0x10]
MOV EAX,DWORD PTR DS:[EDX+0x8]
PUSH EAX
PUSH 0xCC5
MOV ECX,0x07BA0588
mov esi, 0x00403FC0
call esi
PUSH EAX
MOV ECX,DWORD PTR SS:[EBP-0x18]
IMUL ECX,ECX,0x58
MOV EDX,DWORD PTR SS:[EBP+0x8]
LEA EAX,DWORD PTR DS:[EDX+ECX+0x8]
PUSH EAX
mov esi, 0x008C84F8
call esi
ADD ESP,0x0C
mov esi, 0x004C9F88
jmp esi
}
}
void __declspec(naked) NewReward2()
{
_asm
{
//004C9F5B
MOV EDX,DWORD PTR SS:[EBP-0x10]
MOV EAX,DWORD PTR DS:[EDX+0x8]
PUSH EAX
PUSH 0xCC6
MOV ECX,0x07BA0588
mov esi, 0x00403FC0
call esi
PUSH EAX
MOV ECX,DWORD PTR SS:[EBP-0x18]
IMUL ECX,ECX,0x58
MOV EDX,DWORD PTR SS:[EBP+0x8]
LEA EAX,DWORD PTR DS:[EDX+ECX+0x8]
PUSH EAX
mov esi, 0x008C84F8
call esi
ADD ESP,0x0C
mov esi, 0x004C9F88
jmp esi
}
}
void __declspec(naked) NewReward3()
{
_asm
{
//004C9F5B
MOV EDX,DWORD PTR SS:[EBP-0x10]
MOV EAX,DWORD PTR DS:[EDX+0x8]
PUSH EAX
PUSH 0xCC7
MOV ECX,0x07BA0588
mov esi, 0x00403FC0
call esi
PUSH EAX
MOV ECX,DWORD PTR SS:[EBP-0x18]
IMUL ECX,ECX,0x58
MOV EDX,DWORD PTR SS:[EBP+0x8]
LEA EAX,DWORD PTR DS:[EDX+ECX+0x8]
PUSH EAX
mov esi, 0x008C84F8
call esi
ADD ESP,0x0C
mov esi, 0x004C9F88
jmp esi
}
}
void __declspec(naked) MapTest()
{
_asm
{
//Original 00469039
MOV DWORD PTR SS:[EBP-0xFC],79
PUSH 0x00930068 //LorenMarket
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 80
MOV DWORD PTR SS:[EBP-0xFC],80
PUSH 0x0095DB58 //Silent
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 59
MOV DWORD PTR SS:[EBP-0xFC],59
PUSH 0x0095DB58 //Silent
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 60
MOV DWORD PTR SS:[EBP-0xFC],60
PUSH 0x0095DB58 //Silent
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 61
MOV DWORD PTR SS:[EBP-0xFC],61
PUSH 0x0095DB58 //Silent
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 75
MOV DWORD PTR SS:[EBP-0xFC],75
PUSH 0x0095DB71 //Raklion
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 76
MOV DWORD PTR SS:[EBP-0xFC],76
PUSH 0x0095DB71 //Raklion
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 77
MOV DWORD PTR SS:[EBP-0xFC],77
PUSH 0x0095DB71 //Raklion
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 78
MOV DWORD PTR SS:[EBP-0xFC],78
PUSH 0x0095DB91 //Swamp
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 81
MOV DWORD PTR SS:[EBP-0xFC],81
PUSH 0x0095DB91 //Swamp
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 82
MOV DWORD PTR SS:[EBP-0xFC],82
PUSH 0x0095DB91 //Swamp
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 83
MOV DWORD PTR SS:[EBP-0xFC],83
PUSH 0x0095DBB2 //Vulcanus
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 84
MOV DWORD PTR SS:[EBP-0xFC],84
PUSH 0x0095DBB2 //Vulcanus
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 85
MOV DWORD PTR SS:[EBP-0xFC],85
PUSH 0x0095DBB2 //Vulcanus
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 86
MOV DWORD PTR SS:[EBP-0xFC],86
PUSH 0x00930068 //LorenMarket
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
mov esi, 0x00469064
jmp esi;
}
}
void Init()
{
DWORD OldProtect;
LPVOID lpAddress = (LPVOID)0x00401000;
if(VirtualProtect(lpAddress,5873152,PAGE_EXECUTE_READWRITE,&OldProtect))
{
char MapN1[] = "Interface\\Silent.tga";
memcpy((int*)0x0095DB58,(BYTE*)MapN1,sizeof(MapN1));
char MapN2[] = "Interface\\Mapname_Raklion.tga";
memcpy((int*)0x0095DB71,(BYTE*)MapN2,sizeof(MapN2));
char MapN3[] = "Interface\\SwampOfCalmness.tga";
memcpy((int*)0x0095DB91,(BYTE*)MapN3,sizeof(MapN3));
char MapN4[] = "Interface\\pkfield.tga";
memcpy((int*)0x0095DBB2,(BYTE*)MapN4,sizeof(MapN4));
BYTE MapNew[] = { 0xFF, 0x25, 0x43, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x00469039,MapNew,sizeof(MapNew));
*(unsigned int*)0x008F3F43 = (unsigned int)MapTest;
BYTE MapNew40[] = { 0xFF, 0x25, 0x10, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x005D6C91,MapNew40,sizeof(MapNew40));
*(unsigned int*)0x008F3F10 = (unsigned int)MapNews40;
BYTE MapNewo40[] = { 0xFF, 0x25, 0x15, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x008060BF,MapNewo40,sizeof(MapNewo40));
*(unsigned int*)0x008F3F15 = (unsigned int)MapNewO40;
BYTE MapNewNameS[] = { 0xFF, 0x25, 0x20, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x005BF1A6,MapNewNameS,sizeof(MapNewNameS));
*(unsigned int*)0x008F3F20 = (unsigned int)MapNewNames;
BYTE MapNewo57[] = { 0xFF, 0x25, 0x25, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x00822F4C,MapNewo57,sizeof(MapNewo57));
*(unsigned int*)0x008F3F25 = (unsigned int)MapNew057;
BYTE MapLimit[] = { 0xFF, 87, 0x0F };
memcpy((int*)0x006039C6,MapLimit,sizeof(MapLimit));
BYTE MapRaklion[] = { 0xFF, 0x25, 0x29, 0x3F, 0x8F, 0x00,0x00 };
memcpy((int*)0x00606F7B,MapRaklion,sizeof(MapRaklion));
*(unsigned int*)0x008F3F29 = (unsigned int)MapRaklionTele;
BYTE MapNewo56[] = { 0xFF, 0x25, 0xAA, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x0086A9CB,MapNewo56,sizeof(MapNewo56));
*(unsigned int*)0x008F3FAA = (unsigned int)MapNewO56;
BYTE Map56Fog[] = { 0xFF, 0x25, 0xAE, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x005990E6,Map56Fog,sizeof(Map56Fog));
*(unsigned int*)0x008F3FAE = (unsigned int)MapSwampFog;
BYTE MapNewo63[] = { 0xFF, 0x25, 0xB2, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x0081B9A0,MapNewo63,sizeof(MapNewo63));
*(unsigned int*)0x008F3FB2 = (unsigned int)MapNewO63;
BYTE RewardAdd[] = { 0xFF, 0x25, 0xBC, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x008F3FB6,RewardAdd,sizeof(RewardAdd));
*(unsigned int*)0x008F3FBC = (unsigned int)NewReward;
//Quest rewards
BYTE RewardCnt[] = { 0xFF, 0x14, 0x0F };
memcpy((int*)0x00004C9DFD,RewardCnt,sizeof(RewardCnt));
BYTE RewardAdd1[] = { 0xFF, 0x25, 0xC7, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x008F3FC1,RewardAdd1,sizeof(RewardAdd1));
*(unsigned int*)0x008F3FC7 = (unsigned int)NewReward1;
BYTE RewardAdd2[] = { 0xFF, 0x25, 0xD2, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x008F3FCC,RewardAdd2,sizeof(RewardAdd2));
*(unsigned int*)0x008F3FD2 = (unsigned int)NewReward2;
BYTE RewardAdd3[] = { 0xFF, 0x25, 0xDD, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x008F3FD7,RewardAdd3,sizeof(RewardAdd3));
*(unsigned int*)0x008F3FDD = (unsigned int)NewReward3;
}
else
{
MessageBox(NULL,"wz_zm.dll failed to load.","Error",MB_OK);
::ExitProcess(0);
}
}
bool APIENTRY DllMain(HINSTANCE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
switch(ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
Init();
break;
}
return true;
}
Credits: SmallHabit
-
re: [Release] Arkania Map
Quote:
Originally Posted by
mauro07
Well is not a secret to nothing.. SmallHabit release 1 source to add new map (with different effects from mu maps on client and etc..) to client look this:
Code:
#include <Windows.h>
#include <stdio.h>
void __declspec(naked) MapNewNames()
{
_asm
{
cmp esi,34 //MapNumber
jnz JNZNext80
push 0x73B //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
JNZNext80:
cmp esi,80 //MapNumber
jnz JNZNext59
push 0x914 //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
JNZNext59:
cmp esi,59 //MapNumber
jnz JNZNext60
push 0x914 //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext60:
cmp esi,60 //MapNumber
jnz JNZNext61
push 0x914 //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext61:
cmp esi,61 //MapNumber
jnz JNZNext75
push 0x914 //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext75:
cmp esi,75 //MapNumber
jnz JNZNext76
push 0x73F //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext76:
cmp esi,76 //MapNumber
jnz JNZNext77
push 0x73F //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext77:
cmp esi,77 //MapNumber
jnz JNZNext78
push 0x73F //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext78:
cmp esi,78 //MapNumber
jnz JNZNext81
push 0x73E //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
JNZNext81:
cmp esi,81 //MapNumber
jnz JNZNext82
push 0x73E //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext82:
cmp esi,82 //MapNumber
jnz JNZNext83
push 0x73E //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext83:
cmp esi,83 //MapNumber
jnz JNZNext84
push 0xA7E //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext84:
cmp esi,84 //MapNumber
jnz JNZNext85
push 0xA7E //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext85:
cmp esi,85 //MapNumber
jnz JNZNextEnd
push 0xA7E //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNextEnd:
mov edx, 0x005BF1BF;
jmp edx;
}
}
void __declspec(naked) MapNews40()
{
_asm
{
//1
CMP DWORD PTR DS:[0x934540],80;
JE JEOKAY;
//2
CMP DWORD PTR DS:[0x934540],59;
JE JEOKAY;
//3
CMP DWORD PTR DS:[0x934540],60;
JE JEOKAY;
//4
CMP DWORD PTR DS:[0x934540],61;
JE JEOKAY;
//Original
CMP DWORD PTR DS:[0x934540],40;
JE JEOKAY;
mov edx, 0x005D6C9E;
jmp edx;
JEOKAY:
mov edx, 0x005D6D46;
jmp edx;
}
}
void __declspec(naked) MapNew057()
{
_asm
{
PUSH EBP
MOV EBP,ESP
CMP DWORD PTR DS:[0x934540],57 //
JE JNZSecon
CMP DWORD PTR DS:[0x934540],58 //
JE JNZSecon
CMP DWORD PTR DS:[0x934540],65 //
JE JNZSecon
CMP DWORD PTR DS:[0x934540],75 //
JE JNZSecon
CMP DWORD PTR DS:[0x934540],76 //
JE JNZSecon
CMP DWORD PTR DS:[0x934540],77
JNZ JNZFirst
JNZSecon:
MOV AL,1
JMP JMPEnd
JNZFirst:
XOR AL,AL
JMPEnd:
POP EBP
RETN
}
}
void __declspec(naked) MapNewO56()
{
_asm
{
//New 56 Map Effects Enable
PUSH EBP
MOV EBP,ESP
CMP DWORD PTR DS:[0x934540],56 //1
JE JNZSecon
CMP DWORD PTR DS:[0x934540],78 //2
JE JNZSecon
CMP DWORD PTR DS:[0x934540],81 //3
JE JNZSecon
CMP DWORD PTR DS:[0x934540],82 //4
JNZ JNZFirst
JNZSecon:
MOV AL,1
JMP JMPEnd
JNZFirst:
XOR AL,AL
JMPEnd:
POP EBP
RETN
}
}
void __declspec(naked) MapNewO63()
{
_asm
{
//New 63 Map Effects Enable
PUSH EBP
MOV EBP,ESP
CMP DWORD PTR DS:[0x934540],63 //0
JE JNZSecon
CMP DWORD PTR DS:[0x934540],83 //1
JE JNZSecon
CMP DWORD PTR DS:[0x934540],84 //2
JE JNZSecon
CMP DWORD PTR DS:[0x934540],85 //3
JNZ JNZFirst
JNZSecon:
MOV AL,1
JMP JMPEnd
JNZFirst:
XOR AL,AL
JMPEnd:
POP EBP
RETN
}
}
void __declspec(naked) MapNewO40()
{
_asm
{
//New 40 Map Effects Enable
PUSH EBP
MOV EBP,ESP
CMP DWORD PTR DS:[0x934540],80 //1
JE JNZSecon
CMP DWORD PTR DS:[0x934540],59 //2
JE JNZSecon
CMP DWORD PTR DS:[0x934540],60 //3
JE JNZSecon
CMP DWORD PTR DS:[0x934540],61 //4
JE JNZSecon
CMP DWORD PTR DS:[0x934540],37
JNZ JNZFirst
JNZSecon:
MOV AL,1
JMP JMPEnd
JNZFirst:
XOR AL,AL
JMPEnd:
POP EBP
RETN
}
}
void __declspec(naked) MapSwampFog()
{
_asm
{
CMP EAX,56
JNZ Next1
mov edi, 0x0086A9DC
call edi
mov edi, 0x0059912E
jmp edi
Next1:
CMP EAX,78
JNZ Next2
mov edi, 0x0086A9DC
call edi
mov edi, 0x0059912E
jmp edi
Next2:
CMP EAX,81
JNZ Next3
mov edi, 0x0086A9DC
call edi
mov edi, 0x0059912E
jmp edi
Next3:
CMP EAX,82
JNZ Next4
mov edi, 0x0086A9DC
call edi
mov edi, 0x0059912E
jmp edi
Next4:
CMP EAX,83
JNZ CreateFog
mov edi, 0x0086A9DC
call edi
mov edi, 0x0059912E
jmp edi
CreateFog:
mov edi, 0x005990F2
jmp edi
}
}
void __declspec(naked) MapRaklionTele()
{
_asm
{
CMP DWORD PTR DS:[0x934540],57;
JNZ Teleport1;
Teleport1:
CMP DWORD PTR DS:[0x934540],75;
JNZ Teleport2;
Teleport2:
CMP DWORD PTR DS:[0x934540],76;
JNZ Teleport3;
Teleport3:
CMP DWORD PTR DS:[0x934540],77;
JNZ End;
End:
mov esi, 0x00606F88;
jmp esi;
}
}
void __declspec(naked) NewReward()
{
_asm
{
//004C9F5B
MOV EDX,DWORD PTR SS:[EBP-0x10]
MOV EAX,DWORD PTR DS:[EDX+0x8]
PUSH EAX
PUSH 0xCC4
MOV ECX,0x07BA0588
mov esi, 0x00403FC0
call esi
PUSH EAX
MOV ECX,DWORD PTR SS:[EBP-0x18]
IMUL ECX,ECX,0x58
MOV EDX,DWORD PTR SS:[EBP+0x8]
LEA EAX,DWORD PTR DS:[EDX+ECX+0x8]
PUSH EAX
mov esi, 0x008C84F8
call esi
ADD ESP,0x0C
mov esi, 0x004C9F88
jmp esi
}
}
void __declspec(naked) NewReward1()
{
_asm
{
//004C9F5B
MOV EDX,DWORD PTR SS:[EBP-0x10]
MOV EAX,DWORD PTR DS:[EDX+0x8]
PUSH EAX
PUSH 0xCC5
MOV ECX,0x07BA0588
mov esi, 0x00403FC0
call esi
PUSH EAX
MOV ECX,DWORD PTR SS:[EBP-0x18]
IMUL ECX,ECX,0x58
MOV EDX,DWORD PTR SS:[EBP+0x8]
LEA EAX,DWORD PTR DS:[EDX+ECX+0x8]
PUSH EAX
mov esi, 0x008C84F8
call esi
ADD ESP,0x0C
mov esi, 0x004C9F88
jmp esi
}
}
void __declspec(naked) NewReward2()
{
_asm
{
//004C9F5B
MOV EDX,DWORD PTR SS:[EBP-0x10]
MOV EAX,DWORD PTR DS:[EDX+0x8]
PUSH EAX
PUSH 0xCC6
MOV ECX,0x07BA0588
mov esi, 0x00403FC0
call esi
PUSH EAX
MOV ECX,DWORD PTR SS:[EBP-0x18]
IMUL ECX,ECX,0x58
MOV EDX,DWORD PTR SS:[EBP+0x8]
LEA EAX,DWORD PTR DS:[EDX+ECX+0x8]
PUSH EAX
mov esi, 0x008C84F8
call esi
ADD ESP,0x0C
mov esi, 0x004C9F88
jmp esi
}
}
void __declspec(naked) NewReward3()
{
_asm
{
//004C9F5B
MOV EDX,DWORD PTR SS:[EBP-0x10]
MOV EAX,DWORD PTR DS:[EDX+0x8]
PUSH EAX
PUSH 0xCC7
MOV ECX,0x07BA0588
mov esi, 0x00403FC0
call esi
PUSH EAX
MOV ECX,DWORD PTR SS:[EBP-0x18]
IMUL ECX,ECX,0x58
MOV EDX,DWORD PTR SS:[EBP+0x8]
LEA EAX,DWORD PTR DS:[EDX+ECX+0x8]
PUSH EAX
mov esi, 0x008C84F8
call esi
ADD ESP,0x0C
mov esi, 0x004C9F88
jmp esi
}
}
void __declspec(naked) MapTest()
{
_asm
{
//Original 00469039
MOV DWORD PTR SS:[EBP-0xFC],79
PUSH 0x00930068 //LorenMarket
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 80
MOV DWORD PTR SS:[EBP-0xFC],80
PUSH 0x0095DB58 //Silent
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 59
MOV DWORD PTR SS:[EBP-0xFC],59
PUSH 0x0095DB58 //Silent
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 60
MOV DWORD PTR SS:[EBP-0xFC],60
PUSH 0x0095DB58 //Silent
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 61
MOV DWORD PTR SS:[EBP-0xFC],61
PUSH 0x0095DB58 //Silent
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 75
MOV DWORD PTR SS:[EBP-0xFC],75
PUSH 0x0095DB71 //Raklion
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 76
MOV DWORD PTR SS:[EBP-0xFC],76
PUSH 0x0095DB71 //Raklion
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 77
MOV DWORD PTR SS:[EBP-0xFC],77
PUSH 0x0095DB71 //Raklion
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 78
MOV DWORD PTR SS:[EBP-0xFC],78
PUSH 0x0095DB91 //Swamp
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 81
MOV DWORD PTR SS:[EBP-0xFC],81
PUSH 0x0095DB91 //Swamp
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 82
MOV DWORD PTR SS:[EBP-0xFC],82
PUSH 0x0095DB91 //Swamp
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 83
MOV DWORD PTR SS:[EBP-0xFC],83
PUSH 0x0095DBB2 //Vulcanus
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 84
MOV DWORD PTR SS:[EBP-0xFC],84
PUSH 0x0095DBB2 //Vulcanus
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 85
MOV DWORD PTR SS:[EBP-0xFC],85
PUSH 0x0095DBB2 //Vulcanus
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 86
MOV DWORD PTR SS:[EBP-0xFC],86
PUSH 0x00930068 //LorenMarket
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
mov esi, 0x00469064
jmp esi;
}
}
void Init()
{
DWORD OldProtect;
LPVOID lpAddress = (LPVOID)0x00401000;
if(VirtualProtect(lpAddress,5873152,PAGE_EXECUTE_READWRITE,&OldProtect))
{
char MapN1[] = "Interface\\Silent.tga";
memcpy((int*)0x0095DB58,(BYTE*)MapN1,sizeof(MapN1));
char MapN2[] = "Interface\\Mapname_Raklion.tga";
memcpy((int*)0x0095DB71,(BYTE*)MapN2,sizeof(MapN2));
char MapN3[] = "Interface\\SwampOfCalmness.tga";
memcpy((int*)0x0095DB91,(BYTE*)MapN3,sizeof(MapN3));
char MapN4[] = "Interface\\pkfield.tga";
memcpy((int*)0x0095DBB2,(BYTE*)MapN4,sizeof(MapN4));
BYTE MapNew[] = { 0xFF, 0x25, 0x43, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x00469039,MapNew,sizeof(MapNew));
*(unsigned int*)0x008F3F43 = (unsigned int)MapTest;
BYTE MapNew40[] = { 0xFF, 0x25, 0x10, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x005D6C91,MapNew40,sizeof(MapNew40));
*(unsigned int*)0x008F3F10 = (unsigned int)MapNews40;
BYTE MapNewo40[] = { 0xFF, 0x25, 0x15, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x008060BF,MapNewo40,sizeof(MapNewo40));
*(unsigned int*)0x008F3F15 = (unsigned int)MapNewO40;
BYTE MapNewNameS[] = { 0xFF, 0x25, 0x20, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x005BF1A6,MapNewNameS,sizeof(MapNewNameS));
*(unsigned int*)0x008F3F20 = (unsigned int)MapNewNames;
BYTE MapNewo57[] = { 0xFF, 0x25, 0x25, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x00822F4C,MapNewo57,sizeof(MapNewo57));
*(unsigned int*)0x008F3F25 = (unsigned int)MapNew057;
BYTE MapLimit[] = { 0xFF, 87, 0x0F };
memcpy((int*)0x006039C6,MapLimit,sizeof(MapLimit));
BYTE MapRaklion[] = { 0xFF, 0x25, 0x29, 0x3F, 0x8F, 0x00,0x00 };
memcpy((int*)0x00606F7B,MapRaklion,sizeof(MapRaklion));
*(unsigned int*)0x008F3F29 = (unsigned int)MapRaklionTele;
BYTE MapNewo56[] = { 0xFF, 0x25, 0xAA, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x0086A9CB,MapNewo56,sizeof(MapNewo56));
*(unsigned int*)0x008F3FAA = (unsigned int)MapNewO56;
BYTE Map56Fog[] = { 0xFF, 0x25, 0xAE, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x005990E6,Map56Fog,sizeof(Map56Fog));
*(unsigned int*)0x008F3FAE = (unsigned int)MapSwampFog;
BYTE MapNewo63[] = { 0xFF, 0x25, 0xB2, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x0081B9A0,MapNewo63,sizeof(MapNewo63));
*(unsigned int*)0x008F3FB2 = (unsigned int)MapNewO63;
BYTE RewardAdd[] = { 0xFF, 0x25, 0xBC, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x008F3FB6,RewardAdd,sizeof(RewardAdd));
*(unsigned int*)0x008F3FBC = (unsigned int)NewReward;
//Quest rewards
BYTE RewardCnt[] = { 0xFF, 0x14, 0x0F };
memcpy((int*)0x00004C9DFD,RewardCnt,sizeof(RewardCnt));
BYTE RewardAdd1[] = { 0xFF, 0x25, 0xC7, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x008F3FC1,RewardAdd1,sizeof(RewardAdd1));
*(unsigned int*)0x008F3FC7 = (unsigned int)NewReward1;
BYTE RewardAdd2[] = { 0xFF, 0x25, 0xD2, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x008F3FCC,RewardAdd2,sizeof(RewardAdd2));
*(unsigned int*)0x008F3FD2 = (unsigned int)NewReward2;
BYTE RewardAdd3[] = { 0xFF, 0x25, 0xDD, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x008F3FD7,RewardAdd3,sizeof(RewardAdd3));
*(unsigned int*)0x008F3FDD = (unsigned int)NewReward3;
}
else
{
MessageBox(NULL,"wz_zm.dll failed to load.","Error",MB_OK);
::ExitProcess(0);
}
}
bool APIENTRY DllMain(HINSTANCE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
switch(ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
Init();
break;
}
return true;
}
Credits: SmallHabit
thanks Mauro ^_^
-
re: [Release] Arkania Map
Quote:
Originally Posted by
mauro07
Well is not a secret to nothing.. SmallHabit release 1 source to add new map (with different effects from mu maps on client and etc..) to client look this:
Code:
#include <Windows.h>
#include <stdio.h>
void __declspec(naked) MapNewNames()
{
_asm
{
cmp esi,34 //MapNumber
jnz JNZNext80
push 0x73B //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
JNZNext80:
cmp esi,80 //MapNumber
jnz JNZNext59
push 0x914 //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
JNZNext59:
cmp esi,59 //MapNumber
jnz JNZNext60
push 0x914 //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext60:
cmp esi,60 //MapNumber
jnz JNZNext61
push 0x914 //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext61:
cmp esi,61 //MapNumber
jnz JNZNext75
push 0x914 //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext75:
cmp esi,75 //MapNumber
jnz JNZNext76
push 0x73F //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext76:
cmp esi,76 //MapNumber
jnz JNZNext77
push 0x73F //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext77:
cmp esi,77 //MapNumber
jnz JNZNext78
push 0x73F //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext78:
cmp esi,78 //MapNumber
jnz JNZNext81
push 0x73E //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
JNZNext81:
cmp esi,81 //MapNumber
jnz JNZNext82
push 0x73E //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext82:
cmp esi,82 //MapNumber
jnz JNZNext83
push 0x73E //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext83:
cmp esi,83 //MapNumber
jnz JNZNext84
push 0xA7E //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext84:
cmp esi,84 //MapNumber
jnz JNZNext85
push 0xA7E //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext85:
cmp esi,85 //MapNumber
jnz JNZNextEnd
push 0xA7E //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNextEnd:
mov edx, 0x005BF1BF;
jmp edx;
}
}
void __declspec(naked) MapNews40()
{
_asm
{
//1
CMP DWORD PTR DS:[0x934540],80;
JE JEOKAY;
//2
CMP DWORD PTR DS:[0x934540],59;
JE JEOKAY;
//3
CMP DWORD PTR DS:[0x934540],60;
JE JEOKAY;
//4
CMP DWORD PTR DS:[0x934540],61;
JE JEOKAY;
//Original
CMP DWORD PTR DS:[0x934540],40;
JE JEOKAY;
mov edx, 0x005D6C9E;
jmp edx;
JEOKAY:
mov edx, 0x005D6D46;
jmp edx;
}
}
void __declspec(naked) MapNew057()
{
_asm
{
PUSH EBP
MOV EBP,ESP
CMP DWORD PTR DS:[0x934540],57 //
JE JNZSecon
CMP DWORD PTR DS:[0x934540],58 //
JE JNZSecon
CMP DWORD PTR DS:[0x934540],65 //
JE JNZSecon
CMP DWORD PTR DS:[0x934540],75 //
JE JNZSecon
CMP DWORD PTR DS:[0x934540],76 //
JE JNZSecon
CMP DWORD PTR DS:[0x934540],77
JNZ JNZFirst
JNZSecon:
MOV AL,1
JMP JMPEnd
JNZFirst:
XOR AL,AL
JMPEnd:
POP EBP
RETN
}
}
void __declspec(naked) MapNewO56()
{
_asm
{
//New 56 Map Effects Enable
PUSH EBP
MOV EBP,ESP
CMP DWORD PTR DS:[0x934540],56 //1
JE JNZSecon
CMP DWORD PTR DS:[0x934540],78 //2
JE JNZSecon
CMP DWORD PTR DS:[0x934540],81 //3
JE JNZSecon
CMP DWORD PTR DS:[0x934540],82 //4
JNZ JNZFirst
JNZSecon:
MOV AL,1
JMP JMPEnd
JNZFirst:
XOR AL,AL
JMPEnd:
POP EBP
RETN
}
}
void __declspec(naked) MapNewO63()
{
_asm
{
//New 63 Map Effects Enable
PUSH EBP
MOV EBP,ESP
CMP DWORD PTR DS:[0x934540],63 //0
JE JNZSecon
CMP DWORD PTR DS:[0x934540],83 //1
JE JNZSecon
CMP DWORD PTR DS:[0x934540],84 //2
JE JNZSecon
CMP DWORD PTR DS:[0x934540],85 //3
JNZ JNZFirst
JNZSecon:
MOV AL,1
JMP JMPEnd
JNZFirst:
XOR AL,AL
JMPEnd:
POP EBP
RETN
}
}
void __declspec(naked) MapNewO40()
{
_asm
{
//New 40 Map Effects Enable
PUSH EBP
MOV EBP,ESP
CMP DWORD PTR DS:[0x934540],80 //1
JE JNZSecon
CMP DWORD PTR DS:[0x934540],59 //2
JE JNZSecon
CMP DWORD PTR DS:[0x934540],60 //3
JE JNZSecon
CMP DWORD PTR DS:[0x934540],61 //4
JE JNZSecon
CMP DWORD PTR DS:[0x934540],37
JNZ JNZFirst
JNZSecon:
MOV AL,1
JMP JMPEnd
JNZFirst:
XOR AL,AL
JMPEnd:
POP EBP
RETN
}
}
void __declspec(naked) MapSwampFog()
{
_asm
{
CMP EAX,56
JNZ Next1
mov edi, 0x0086A9DC
call edi
mov edi, 0x0059912E
jmp edi
Next1:
CMP EAX,78
JNZ Next2
mov edi, 0x0086A9DC
call edi
mov edi, 0x0059912E
jmp edi
Next2:
CMP EAX,81
JNZ Next3
mov edi, 0x0086A9DC
call edi
mov edi, 0x0059912E
jmp edi
Next3:
CMP EAX,82
JNZ Next4
mov edi, 0x0086A9DC
call edi
mov edi, 0x0059912E
jmp edi
Next4:
CMP EAX,83
JNZ CreateFog
mov edi, 0x0086A9DC
call edi
mov edi, 0x0059912E
jmp edi
CreateFog:
mov edi, 0x005990F2
jmp edi
}
}
void __declspec(naked) MapRaklionTele()
{
_asm
{
CMP DWORD PTR DS:[0x934540],57;
JNZ Teleport1;
Teleport1:
CMP DWORD PTR DS:[0x934540],75;
JNZ Teleport2;
Teleport2:
CMP DWORD PTR DS:[0x934540],76;
JNZ Teleport3;
Teleport3:
CMP DWORD PTR DS:[0x934540],77;
JNZ End;
End:
mov esi, 0x00606F88;
jmp esi;
}
}
void __declspec(naked) NewReward()
{
_asm
{
//004C9F5B
MOV EDX,DWORD PTR SS:[EBP-0x10]
MOV EAX,DWORD PTR DS:[EDX+0x8]
PUSH EAX
PUSH 0xCC4
MOV ECX,0x07BA0588
mov esi, 0x00403FC0
call esi
PUSH EAX
MOV ECX,DWORD PTR SS:[EBP-0x18]
IMUL ECX,ECX,0x58
MOV EDX,DWORD PTR SS:[EBP+0x8]
LEA EAX,DWORD PTR DS:[EDX+ECX+0x8]
PUSH EAX
mov esi, 0x008C84F8
call esi
ADD ESP,0x0C
mov esi, 0x004C9F88
jmp esi
}
}
void __declspec(naked) NewReward1()
{
_asm
{
//004C9F5B
MOV EDX,DWORD PTR SS:[EBP-0x10]
MOV EAX,DWORD PTR DS:[EDX+0x8]
PUSH EAX
PUSH 0xCC5
MOV ECX,0x07BA0588
mov esi, 0x00403FC0
call esi
PUSH EAX
MOV ECX,DWORD PTR SS:[EBP-0x18]
IMUL ECX,ECX,0x58
MOV EDX,DWORD PTR SS:[EBP+0x8]
LEA EAX,DWORD PTR DS:[EDX+ECX+0x8]
PUSH EAX
mov esi, 0x008C84F8
call esi
ADD ESP,0x0C
mov esi, 0x004C9F88
jmp esi
}
}
void __declspec(naked) NewReward2()
{
_asm
{
//004C9F5B
MOV EDX,DWORD PTR SS:[EBP-0x10]
MOV EAX,DWORD PTR DS:[EDX+0x8]
PUSH EAX
PUSH 0xCC6
MOV ECX,0x07BA0588
mov esi, 0x00403FC0
call esi
PUSH EAX
MOV ECX,DWORD PTR SS:[EBP-0x18]
IMUL ECX,ECX,0x58
MOV EDX,DWORD PTR SS:[EBP+0x8]
LEA EAX,DWORD PTR DS:[EDX+ECX+0x8]
PUSH EAX
mov esi, 0x008C84F8
call esi
ADD ESP,0x0C
mov esi, 0x004C9F88
jmp esi
}
}
void __declspec(naked) NewReward3()
{
_asm
{
//004C9F5B
MOV EDX,DWORD PTR SS:[EBP-0x10]
MOV EAX,DWORD PTR DS:[EDX+0x8]
PUSH EAX
PUSH 0xCC7
MOV ECX,0x07BA0588
mov esi, 0x00403FC0
call esi
PUSH EAX
MOV ECX,DWORD PTR SS:[EBP-0x18]
IMUL ECX,ECX,0x58
MOV EDX,DWORD PTR SS:[EBP+0x8]
LEA EAX,DWORD PTR DS:[EDX+ECX+0x8]
PUSH EAX
mov esi, 0x008C84F8
call esi
ADD ESP,0x0C
mov esi, 0x004C9F88
jmp esi
}
}
void __declspec(naked) MapTest()
{
_asm
{
//Original 00469039
MOV DWORD PTR SS:[EBP-0xFC],79
PUSH 0x00930068 //LorenMarket
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 80
MOV DWORD PTR SS:[EBP-0xFC],80
PUSH 0x0095DB58 //Silent
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 59
MOV DWORD PTR SS:[EBP-0xFC],59
PUSH 0x0095DB58 //Silent
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 60
MOV DWORD PTR SS:[EBP-0xFC],60
PUSH 0x0095DB58 //Silent
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 61
MOV DWORD PTR SS:[EBP-0xFC],61
PUSH 0x0095DB58 //Silent
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 75
MOV DWORD PTR SS:[EBP-0xFC],75
PUSH 0x0095DB71 //Raklion
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 76
MOV DWORD PTR SS:[EBP-0xFC],76
PUSH 0x0095DB71 //Raklion
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 77
MOV DWORD PTR SS:[EBP-0xFC],77
PUSH 0x0095DB71 //Raklion
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 78
MOV DWORD PTR SS:[EBP-0xFC],78
PUSH 0x0095DB91 //Swamp
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 81
MOV DWORD PTR SS:[EBP-0xFC],81
PUSH 0x0095DB91 //Swamp
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 82
MOV DWORD PTR SS:[EBP-0xFC],82
PUSH 0x0095DB91 //Swamp
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 83
MOV DWORD PTR SS:[EBP-0xFC],83
PUSH 0x0095DBB2 //Vulcanus
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 84
MOV DWORD PTR SS:[EBP-0xFC],84
PUSH 0x0095DBB2 //Vulcanus
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 85
MOV DWORD PTR SS:[EBP-0xFC],85
PUSH 0x0095DBB2 //Vulcanus
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
//New Map 86
MOV DWORD PTR SS:[EBP-0xFC],86
PUSH 0x00930068 //LorenMarket
LEA EDX,DWORD PTR SS:[EBP-0xFC]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0x100]
ADD ECX,0x04
mov esi, 0x00469530
CALL esi
MOV ECX,EAX
mov esi, 0x00401C50
call esi
mov esi, 0x00469064
jmp esi;
}
}
void Init()
{
DWORD OldProtect;
LPVOID lpAddress = (LPVOID)0x00401000;
if(VirtualProtect(lpAddress,5873152,PAGE_EXECUTE_READWRITE,&OldProtect))
{
char MapN1[] = "Interface\\Silent.tga";
memcpy((int*)0x0095DB58,(BYTE*)MapN1,sizeof(MapN1));
char MapN2[] = "Interface\\Mapname_Raklion.tga";
memcpy((int*)0x0095DB71,(BYTE*)MapN2,sizeof(MapN2));
char MapN3[] = "Interface\\SwampOfCalmness.tga";
memcpy((int*)0x0095DB91,(BYTE*)MapN3,sizeof(MapN3));
char MapN4[] = "Interface\\pkfield.tga";
memcpy((int*)0x0095DBB2,(BYTE*)MapN4,sizeof(MapN4));
BYTE MapNew[] = { 0xFF, 0x25, 0x43, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x00469039,MapNew,sizeof(MapNew));
*(unsigned int*)0x008F3F43 = (unsigned int)MapTest;
BYTE MapNew40[] = { 0xFF, 0x25, 0x10, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x005D6C91,MapNew40,sizeof(MapNew40));
*(unsigned int*)0x008F3F10 = (unsigned int)MapNews40;
BYTE MapNewo40[] = { 0xFF, 0x25, 0x15, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x008060BF,MapNewo40,sizeof(MapNewo40));
*(unsigned int*)0x008F3F15 = (unsigned int)MapNewO40;
BYTE MapNewNameS[] = { 0xFF, 0x25, 0x20, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x005BF1A6,MapNewNameS,sizeof(MapNewNameS));
*(unsigned int*)0x008F3F20 = (unsigned int)MapNewNames;
BYTE MapNewo57[] = { 0xFF, 0x25, 0x25, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x00822F4C,MapNewo57,sizeof(MapNewo57));
*(unsigned int*)0x008F3F25 = (unsigned int)MapNew057;
BYTE MapLimit[] = { 0xFF, 87, 0x0F };
memcpy((int*)0x006039C6,MapLimit,sizeof(MapLimit));
BYTE MapRaklion[] = { 0xFF, 0x25, 0x29, 0x3F, 0x8F, 0x00,0x00 };
memcpy((int*)0x00606F7B,MapRaklion,sizeof(MapRaklion));
*(unsigned int*)0x008F3F29 = (unsigned int)MapRaklionTele;
BYTE MapNewo56[] = { 0xFF, 0x25, 0xAA, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x0086A9CB,MapNewo56,sizeof(MapNewo56));
*(unsigned int*)0x008F3FAA = (unsigned int)MapNewO56;
BYTE Map56Fog[] = { 0xFF, 0x25, 0xAE, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x005990E6,Map56Fog,sizeof(Map56Fog));
*(unsigned int*)0x008F3FAE = (unsigned int)MapSwampFog;
BYTE MapNewo63[] = { 0xFF, 0x25, 0xB2, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x0081B9A0,MapNewo63,sizeof(MapNewo63));
*(unsigned int*)0x008F3FB2 = (unsigned int)MapNewO63;
BYTE RewardAdd[] = { 0xFF, 0x25, 0xBC, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x008F3FB6,RewardAdd,sizeof(RewardAdd));
*(unsigned int*)0x008F3FBC = (unsigned int)NewReward;
//Quest rewards
BYTE RewardCnt[] = { 0xFF, 0x14, 0x0F };
memcpy((int*)0x00004C9DFD,RewardCnt,sizeof(RewardCnt));
BYTE RewardAdd1[] = { 0xFF, 0x25, 0xC7, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x008F3FC1,RewardAdd1,sizeof(RewardAdd1));
*(unsigned int*)0x008F3FC7 = (unsigned int)NewReward1;
BYTE RewardAdd2[] = { 0xFF, 0x25, 0xD2, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x008F3FCC,RewardAdd2,sizeof(RewardAdd2));
*(unsigned int*)0x008F3FD2 = (unsigned int)NewReward2;
BYTE RewardAdd3[] = { 0xFF, 0x25, 0xDD, 0x3F, 0x8F, 0x00 };
memcpy((int*)0x008F3FD7,RewardAdd3,sizeof(RewardAdd3));
*(unsigned int*)0x008F3FDD = (unsigned int)NewReward3;
}
else
{
MessageBox(NULL,"wz_zm.dll failed to load.","Error",MB_OK);
::ExitProcess(0);
}
}
bool APIENTRY DllMain(HINSTANCE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
switch(ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
Init();
break;
}
return true;
}
Credits: SmallHabit
Main Version?
-
re: [Release] Arkania Map
-
re: [Release] Arkania Map
VeltonD, main version 1.03O ;p
-
re: [Release] Arkania Map
Very, very nice! Congrats!
-
re: [Release] Arkania Map
Quote:
Originally Posted by
Th3AnG3L
VeltonD, main version 1.03O ;p
1.03O? Sure? it has offsets which are not found
http://prntscr.com/64662x
-
re: [Release] Arkania Map
im not so sure cause mauro is working on s4 project and i think he is making it for 1.03O better ask him to tell you correct
-
re: [Release] Arkania Map
Quote:
Originally Posted by
Th3AnG3L
im not so sure cause mauro is working on s4 project and i think he is making it for 1.03O better ask him to tell you correct
I only post original src from SmallHabit.. I don't know for that version from main.exe is this code.. -.- but If you are a real programmer or at least you understand how to make inline assembler.. you can use this code like base without knows version.
For example this function:
Code:
void __declspec(naked) MapNewNames(){
_asm
{
cmp esi,34 //MapNumber
jnz JNZNext80
push 0x73B //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
JNZNext80:
cmp esi,80 //MapNumber
jnz JNZNext59
push 0x914 //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
JNZNext59:
cmp esi,59 //MapNumber
jnz JNZNext60
push 0x914 //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext60:
cmp esi,60 //MapNumber
jnz JNZNext61
push 0x914 //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext61:
cmp esi,61 //MapNumber
jnz JNZNext75
push 0x914 //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext75:
cmp esi,75 //MapNumber
jnz JNZNext76
push 0x73F //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext76:
cmp esi,76 //MapNumber
jnz JNZNext77
push 0x73F //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext77:
cmp esi,77 //MapNumber
jnz JNZNext78
push 0x73F //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext78:
cmp esi,78 //MapNumber
jnz JNZNext81
push 0x73E //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
JNZNext81:
cmp esi,81 //MapNumber
jnz JNZNext82
push 0x73E //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext82:
cmp esi,82 //MapNumber
jnz JNZNext83
push 0x73E //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext83:
cmp esi,83 //MapNumber
jnz JNZNext84
push 0xA7E //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext84:
cmp esi,84 //MapNumber
jnz JNZNext85
push 0xA7E //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNext85:
cmp esi,85 //MapNumber
jnz JNZNextEnd
push 0xA7E //Text Line
mov ecx,0x07BA0588
mov edx, 0x00404020
call edx
mov edx, 0x005BF599
jmp edx
mov edx, 0x005BF1BF;
jmp edx;
JNZNextEnd:
mov edx, 0x005BF1BF;
jmp edx;
} }
This is for show: "Welcome to XXX map" msg. when character enter in this. this function is for get from: Text.bmd file lines numbers.. so.. If you look from your text.bmd from client numbers with pentium tools or another soft number lines and search on your main with olly (if you understand something of asm) you can easy re-write a complete function for your main.exe on your library. -.-
cmp esi, 0x34 = this is number map id (in this case Crywolf Fortress)
push 0x73B = this is number line: 1851 (to in this case) Crywolf map.. is original one used on code.
PS: I don't work more with 1.03O Eng proto main.exe now working with JPN 1.03M main.exe (1.03.13)
Here I leave my data debug from: 1.03.13 for this function:
Code:
CPU Disasm
Address Hex dump Command Comments
005A4750 /$ 51 PUSH ECX ; main.005A4750(guessed Arg1)
005A4751 |. 56 PUSH ESI
005A4752 |. 8B7424 0C MOV ESI,DWORD PTR SS:[ARG.1]
005A4756 |. 83FE 22 CMP ESI,22
005A4759 |. 75 14 JNE SHORT 005A476F
005A475B |. 68 3B070000 PUSH 73B ; /Arg1 = 73B
005A4760 |. B9 68E8AA07 MOV ECX,OFFSET 07AAE868 ; |
005A4765 |. E8 86E8E5FF CALL 00402FF0 ; \main.00402FF0
005A476A |. E9 DD020000 JMP 005A4A4C
005A476F |> 83FE 21 CMP ESI,21
005A4772 |. 75 14 JNE SHORT 005A4788
005A4774 |. 68 3A070000 PUSH 73A ; /Arg1 = 73A
005A4779 |. B9 68E8AA07 MOV ECX,OFFSET 07AAE868 ; |
005A477E |. E8 6DE8E5FF CALL 00402FF0 ; \main.00402FF0
005A4783 |. E9 C4020000 JMP 005A4A4C
005A4788 |> 83FE 25 CMP ESI,25
005A478B |. 75 14 JNE SHORT 005A47A1
005A478D |. 68 81080000 PUSH 881 ; /Arg1 = 881
005A4792 |. B9 68E8AA07 MOV ECX,OFFSET 07AAE868 ; |
005A4797 |. E8 54E8E5FF CALL 00402FF0 ; \main.00402FF0
005A479C |. E9 AB020000 JMP 005A4A4C
005A47A1 |> 83FE 26 CMP ESI,26
005A47A4 |. 75 14 JNE SHORT 005A47BA
005A47A6 |. 68 82080000 PUSH 882 ; /Arg1 = 882
005A47AB |. B9 68E8AA07 MOV ECX,OFFSET 07AAE868 ; |
005A47B0 |. E8 3BE8E5FF CALL 00402FF0 ; \main.00402FF0
005A47B5 |. E9 92020000 JMP 005A4A4C
005A47BA |> 83FE 27 CMP ESI,27
005A47BD |. 75 14 JNE SHORT 005A47D3
005A47BF |. 68 83080000 PUSH 883 ; /Arg1 = 883
005A47C4 |. B9 68E8AA07 MOV ECX,OFFSET 07AAE868 ; |
005A47C9 |. E8 22E8E5FF CALL 00402FF0 ; \main.00402FF0
005A47CE |. E9 79020000 JMP 005A4A4C
005A47D3 |> 83FE 28 CMP ESI,28
005A47D6 |. 75 14 JNE SHORT 005A47EC
005A47D8 |. 68 14090000 PUSH 914 ; /Arg1 = 914
005A47DD |. B9 68E8AA07 MOV ECX,OFFSET 07AAE868 ; |
005A47E2 |. E8 09E8E5FF CALL 00402FF0 ; \main.00402FF0
005A47E7 |. E9 60020000 JMP 005A4A4C
005A47EC |> 83FE 33 CMP ESI,33
005A47EF |. 75 14 JNE SHORT 005A4805
005A47F1 |. 68 3D070000 PUSH 73D ; /Arg1 = 73D
005A47F6 |. B9 68E8AA07 MOV ECX,OFFSET 07AAE868 ; |
005A47FB |. E8 F0E7E5FF CALL 00402FF0 ; \main.00402FF0
005A4800 |. E9 47020000 JMP 005A4A4C
005A4805 |> 83FE 39 CMP ESI,39
005A4808 |. 75 14 JNE SHORT 005A481E
005A480A |. 68 3F070000 PUSH 73F ; /Arg1 = 73F
005A480F |. B9 68E8AA07 MOV ECX,OFFSET 07AAE868 ; |
005A4814 |. E8 D7E7E5FF CALL 00402FF0 ; \main.00402FF0
005A4819 |. E9 2E020000 JMP 005A4A4C
005A481E |> 83FE 3A CMP ESI,3A
005A4821 |. 75 14 JNE SHORT 005A4837
005A4823 |. 68 40070000 PUSH 740 ; /Arg1 = 740
005A4828 |. B9 68E8AA07 MOV ECX,OFFSET 07AAE868 ; |
005A482D |. E8 BEE7E5FF CALL 00402FF0 ; \main.00402FF0
005A4832 |. E9 15020000 JMP 005A4A4C
005A4837 |> 83FE 1E CMP ESI,1E
005A483A |. 75 14 JNE SHORT 005A4850
005A483C |. 68 9D020000 PUSH 29D ; /Arg1 = 29D
005A4841 |. B9 68E8AA07 MOV ECX,OFFSET 07AAE868 ; |
005A4846 |. E8 A5E7E5FF CALL 00402FF0 ; \main.00402FF0
005A484B |. E9 FC010000 JMP 005A4A4C
005A4850 |> 83FE 1F CMP ESI,1F
005A4853 |. 75 11 JNE SHORT 005A4866
005A4855 |. 6A 3B PUSH 3B ; /Arg1 = 3B
005A4857 |. B9 68E8AA07 MOV ECX,OFFSET 07AAE868 ; |
005A485C |. E8 8FE7E5FF CALL 00402FF0 ; \main.00402FF0
005A4861 |. E9 E6010000 JMP 005A4A4C
005A4866 |> 56 PUSH ESI ; /Arg1 => [ARG.1]
005A4867 |. E8 34B9EEFF CALL 004901A0 ; \main.004901A0
005A486C |. 83C4 04 ADD ESP,4
005A486F |. 3C 01 CMP AL,1
005A4871 |. 75 11 JNE SHORT 005A4884
005A4873 |. 6A 39 PUSH 39 ; /Arg1 = 39
005A4875 |. B9 68E8AA07 MOV ECX,OFFSET 07AAE868 ; |
005A487A |. E8 71E7E5FF CALL 00402FF0 ; \main.00402FF0
005A487F |. E9 C8010000 JMP 005A4A4C
005A4884 |> 83FE 18 CMP ESI,18
005A4887 |. 7C 05 JL SHORT 005A488E
005A4889 |. 83FE 1D CMP ESI,1D
005A488C |. 7E 28 JLE SHORT 005A48B6
005A488E |> 83FE 24 CMP ESI,24
005A4891 |. 74 28 JE SHORT 005A48BB
005A4893 |. 56 PUSH ESI ; /Arg1 => [ARG.1]
005A4894 |. E8 24B9EEFF CALL 004901BD ; \main.004901BD
005A4899 |. 83C4 04 ADD ESP,4
005A489C |. 3C 01 CMP AL,1
005A489E |. 75 49 JNE SHORT 005A48E9
005A48A0 |. 8D4C24 0C LEA ECX,[ARG.1]
005A48A4 |. C74424 0C 380 MOV DWORD PTR SS:[ARG.1],38
005A48AC |. 51 PUSH ECX
005A48AD |. 8D5424 08 LEA EDX,[LOCAL.0]
005A48B1 |. E9 75010000 JMP 005A4A2B
005A48B6 |> 83FE 24 CMP ESI,24
005A48B9 |. 75 17 JNE SHORT 005A48D2
005A48BB |> 8D4424 0C LEA EAX,[ARG.1]
005A48BF |. 8D4C24 04 LEA ECX,[LOCAL.0]
005A48C3 |. 50 PUSH EAX
005A48C4 |. C74424 10 3C0 MOV DWORD PTR SS:[ARG.1],73C
005A48CC |. 51 PUSH ECX
005A48CD |. E9 5A010000 JMP 005A4A2C
005A48D2 |> 8D5424 0C LEA EDX,[ARG.1]
005A48D6 |. 8D4424 04 LEA EAX,[LOCAL.0]
005A48DA |. 52 PUSH EDX
005A48DB |. C74424 10 3A0 MOV DWORD PTR SS:[ARG.1],3A
005A48E3 |. 50 PUSH EAX
005A48E4 |. E9 43010000 JMP 005A4A2C
005A48E9 |> 83FE 0A CMP ESI,0A
005A48EC |. 75 17 JNE SHORT 005A4905
005A48EE |. 8D4424 0C LEA EAX,[ARG.1]
005A48F2 |. 8D4C24 04 LEA ECX,[LOCAL.0]
005A48F6 |. 50 PUSH EAX
005A48F7 |. C74424 10 370 MOV DWORD PTR SS:[ARG.1],37
005A48FF |. 51 PUSH ECX
005A4900 |. E9 27010000 JMP 005A4A2C
005A4905 |> 83FE 20 CMP ESI,20
005A4908 |. 75 17 JNE SHORT 005A4921
005A490A |. 8D5424 0C LEA EDX,[ARG.1]
005A490E |. 8D4424 04 LEA EAX,[LOCAL.0]
005A4912 |. 52 PUSH EDX
005A4913 |. C74424 10 270 MOV DWORD PTR SS:[ARG.1],27
005A491B |. 50 PUSH EAX
005A491C |. E9 0B010000 JMP 005A4A2C
005A4921 |> E8 9CA92100 CALL 007BF2C2
005A4926 |. 8BC8 MOV ECX,EAX
005A4928 |. E8 E2A92100 CALL 007BF30F ; [main.007BF30F
005A492D |. 84C0 TEST AL,AL
005A492F |. 74 16 JE SHORT 005A4947
005A4931 |. 8D4C24 0C LEA ECX,[ARG.1]
005A4935 |. C74424 0C 8E0 MOV DWORD PTR SS:[ARG.1],68E
005A493D |. 51 PUSH ECX
005A493E |. 8D5424 08 LEA EDX,[LOCAL.0]
005A4942 |. E9 E4000000 JMP 005A4A2B
005A4947 |> E8 76A92100 CALL 007BF2C2
005A494C |. 8BC8 MOV ECX,EAX
005A494E |. E8 D1A92100 CALL 007BF324 ; [main.007BF324
005A4953 |. 84C0 TEST AL,AL
005A4955 |. 74 17 JE SHORT 005A496E
005A4957 |. 8D4424 0C LEA EAX,[ARG.1]
005A495B |. 8D4C24 04 LEA ECX,[LOCAL.0]
005A495F |. 50 PUSH EAX
005A4960 |. C74424 10 8F0 MOV DWORD PTR SS:[ARG.1],68F
005A4968 |. 51 PUSH ECX
005A4969 |. E9 BE000000 JMP 005A4A2C
005A496E |> E8 8D632600 CALL 0080AD00
005A4973 |. A1 D86C8C00 MOV EAX,DWORD PTR DS:[8C6CD8]
005A4978 |. 83F8 2D CMP EAX,2D
005A497B |. 7C 1C JL SHORT 005A4999
005A497D |. 83F8 32 CMP EAX,32
005A4980 |. 7F 17 JG SHORT 005A4999
005A4982 |. 8D5424 0C LEA EDX,[ARG.1]
005A4986 |. 8D4424 04 LEA EAX,[LOCAL.0]
005A498A |. 52 PUSH EDX
005A498B |. C74424 10 410 MOV DWORD PTR SS:[ARG.1],941
005A4993 |. 50 PUSH EAX
005A4994 |. E9 93000000 JMP 005A4A2C
005A4999 |> 83FE 38 CMP ESI,38 ; Switch (cases 38..40, 5 exits)
005A499C |. 75 13 JNE SHORT 005A49B1
005A499E |. 8D4C24 0C LEA ECX,[ARG.1] ; Case 38 ('8') of switch main.5A4999
005A49A2 |. C74424 0C 3E0 MOV DWORD PTR SS:[ARG.1],73E
005A49AA |. 51 PUSH ECX
005A49AB |. 8D5424 08 LEA EDX,[LOCAL.0]
005A49AF |. EB 7A JMP SHORT 005A4A2B
005A49B1 |> 83FE 3E CMP ESI,3E
005A49B4 |. 75 2D JNE SHORT 005A49E3
005A49B6 |. 8D4424 0C LEA EAX,[ARG.1] ; Case 3E ('>') of switch main.5A4999
005A49BA |. 8D4C24 04 LEA ECX,[LOCAL.0]
005A49BE |. 50 PUSH EAX ; /Arg2 => OFFSET ARG.1
005A49BF |. 51 PUSH ECX ; |Arg1 => OFFSET LOCAL.0
005A49C0 |. B9 68E8AA07 MOV ECX,OFFSET 07AAE868 ; |
005A49C5 |. C74424 14 330 MOV DWORD PTR SS:[ARG.1],0A33 ; |
005A49CD |. E8 9EE6E5FF CALL 00403070 ; \main.00403070
005A49D2 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
005A49D4 |. 8B0D 6CE8AA07 MOV ECX,DWORD PTR DS:[7AAE86C]
005A49DA |. 3BC1 CMP EAX,ECX
005A49DC |. 74 69 JE SHORT 005A4A47
005A49DE |. 83C0 10 ADD EAX,10
005A49E1 |. EB 69 JMP SHORT 005A4A4C
005A49E3 |> 83FE 40 CMP ESI,40
005A49E6 |. 75 2D JNE SHORT 005A4A15
005A49E8 |. 8D5424 0C LEA EDX,[ARG.1] ; Case 40 ('@') of switch main.5A4999
005A49EC |. 8D4424 04 LEA EAX,[LOCAL.0]
005A49F0 |. 52 PUSH EDX ; /Arg2 => OFFSET ARG.1
005A49F1 |. 50 PUSH EAX ; |Arg1 => OFFSET LOCAL.0
005A49F2 |. B9 68E8AA07 MOV ECX,OFFSET 07AAE868 ; |
005A49F7 |. C74424 14 8F0 MOV DWORD PTR SS:[ARG.1],0A8F ; |
005A49FF |. E8 6CE6E5FF CALL 00403070 ; \main.00403070
005A4A04 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
005A4A06 |. 8B0D 6CE8AA07 MOV ECX,DWORD PTR DS:[7AAE86C]
005A4A0C |. 3BC1 CMP EAX,ECX
005A4A0E |. 74 37 JE SHORT 005A4A47
005A4A10 |. 83C0 10 ADD EAX,10
005A4A13 |. EB 37 JMP SHORT 005A4A4C
005A4A15 |> 83FE 3F CMP ESI,3F
005A4A18 |. 75 41 JNE SHORT 005A4A5B
005A4A1A |. 8D4C24 0C LEA ECX,[ARG.1] ; Case 3F ('?') of switch main.5A4999
005A4A1E |. C74424 0C 7E0 MOV DWORD PTR SS:[ARG.1],0A7E
005A4A26 |. 51 PUSH ECX
005A4A27 |. 8D5424 08 LEA EDX,[LOCAL.0]
005A4A2B |> 52 PUSH EDX
005A4A2C |> B9 68E8AA07 MOV ECX,OFFSET 07AAE868
005A4A31 |. E8 3AE6E5FF CALL 00403070 ; \main.00403070
005A4A36 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
005A4A38 |. 8B0D 6CE8AA07 MOV ECX,DWORD PTR DS:[7AAE86C]
005A4A3E |. 3BC1 CMP EAX,ECX
005A4A40 |. 74 05 JE SHORT 005A4A47
005A4A42 |. 83C0 10 ADD EAX,10
005A4A45 |. EB 05 JMP SHORT 005A4A4C
005A4A47 |> B8 78E8AA07 MOV EAX,OFFSET 07AAE878
005A4A4C |> 8B40 04 MOV EAX,DWORD PTR DS:[EAX+4]
005A4A4F |. 85C0 TEST EAX,EAX
005A4A51 |. 75 47 JNE SHORT 005A4A9A
005A4A53 |. B8 F0A68800 MOV EAX,OFFSET 0088A6F0
005A4A58 |. 5E POP ESI
005A4A59 |. 59 POP ECX
005A4A5A |. C3 RETN
005A4A5B |> 8D4424 0C LEA EAX,[ARG.1] ; Default case of switch main.5A4999
005A4A5F |. 8D4C24 04 LEA ECX,[LOCAL.0]
005A4A63 |. 50 PUSH EAX ; /Arg2 => OFFSET ARG.1
005A4A64 |. 83C6 1E ADD ESI,1E ; |
005A4A67 |. 51 PUSH ECX ; |Arg1 => OFFSET LOCAL.0
005A4A68 |. B9 68E8AA07 MOV ECX,OFFSET 07AAE868 ; |
005A4A6D |. 897424 14 MOV DWORD PTR SS:[ARG.1],ESI ; |
005A4A71 |. E8 BAE6E5FF CALL 00403130 ; \main.00403130
005A4A76 |. 8B4424 04 MOV EAX,DWORD PTR SS:[LOCAL.0]
005A4A7A |. 8B0D 6CE8AA07 MOV ECX,DWORD PTR DS:[7AAE86C]
005A4A80 |. 3BC1 CMP EAX,ECX
005A4A82 |. 74 05 JE SHORT 005A4A89
005A4A84 |. 83C0 10 ADD EAX,10
005A4A87 |. EB 05 JMP SHORT 005A4A8E
005A4A89 |> B8 78E8AA07 MOV EAX,OFFSET 07AAE878
005A4A8E |> 8B40 04 MOV EAX,DWORD PTR DS:[EAX+4]
005A4A91 |. 85C0 TEST EAX,EAX
005A4A93 |. 75 05 JNE SHORT 005A4A9A
005A4A95 |. B8 F0A68800 MOV EAX,OFFSET 0088A6F0
005A4A9A |> 5E POP ESI
005A4A9B |. 59 POP ECX
005A4A9C \. C3 RETN
PS2: This is complete section.. from my main.exe
Anyways.. this code is very ugly.. today is possible makes decompilation work with IDA, and more for 1 simple function like this.. and you can understand more this code if you make this.
-
re: [Release] Arkania Map
-
re: [Release] Arkania Map
Where can I get Arkania Map skins to apply in my client?
I Didn't find download links yet.. as well here or muskins.net
http://muskins.net/index.php?threads/arkania-map.631/
-
re: [Release] Arkania Map
mmm when i die in the map, i respawn in not safe area, i respawn in some green place .
if you can help me thanks.
-
re: [Release] Arkania Map
-
re: [Release] Arkania Map
Quote:
Originally Posted by
allan764
if you die you respawn in safe zone?
-
re: [Release] Arkania Map
Quote:
Originally Posted by
fabiann1
if you die you respawn in safe zone?
unfortunately not
I will try to correct
-
re: [Release] Arkania Map
Quote:
Originally Posted by
fabiann1
if you die you respawn in safe zone?
yes ^_^. Fix it in GS :)
-
re: [Release] Arkania Map
Quote:
Originally Posted by
BladeKnight109
yes ^_^. Fix it in GS :)
respawn had nothing to do with GS
-
re: [Release] Arkania Map
Quote:
Originally Posted by
15351535
respawn had nothing to do with GS
Speaking truth to be established by the gameserver in function: " gObjSetState "
Example : http://prntscr.com/6caiys
-
re: [Release] Arkania Map
I am going to try and replace a map with this.... hopefully it will work! ^^
Thanks for release, looks amazing.
-
re: [Release] Arkania Map
-
re: [Release] Arkania Map
Quote:
Originally Posted by
Orkhan Mehr Ali
works with s2?
if you will make skin for example: lorencia,then will works.
-
re: [Release] Arkania Map
thanks very much. minimap file please. sorry i'm bad english
-
re: [Release] Arkania Map
-
re: [Release] Arkania Map
Quote:
Originally Posted by
nAm7
works for 97d ?
yes .
-
re: [Release] Arkania Map
Guys and does anyone have a for Аrkania mini-map well to season 6
-
re: [Release] Arkania Map
how can i replase this map with Dungeon or Atlans. I was tryed to replace with Dungeon, but client closed if i am in dungeon. Then i replace it with davias and it work good. What is the problem?
-
re: [Release] Arkania Map
Quote:
Originally Posted by
DomiTori
how can i replase this map with Dungeon or Atlans. I was tryed to replace with Dungeon, but client closed if i am in dungeon. Then i replace it with davias and it work good. What is the problem?
Cord?
-
re: [Release] Arkania Map
Quote:
Originally Posted by
DragonSeth
Cord?
A am using gm comand /trans to teleport near the npc vault. This morning i was tryed to replace atlans map. When client starts i see error, it say that encterain files (.obj .map .att) in world8 folder is corrupted. If i use original files of altalns i have problem with objects and textures.
-
re: [Release] Arkania Map
Quote:
Originally Posted by
DomiTori
A am using gm comand /trans to teleport near the npc vault. This morning i was tryed to replace atlans map. When client starts i see error, it say that encterain files (.obj .map .att) in world8 folder is corrupted. If i use original files of altalns i have problem with objects and textures.
maybe this reply will help
https://forum.ragezone.com/f195/lore...4/#post8353374
-
re: [Release] Arkania Map
guys wouldn't you like map1.OZJ for this card ? thanks in advance!
-
re: [Release] Arkania Map
Who can change this arkania map for dungron ? Ill pay
-
re: [Release] Arkania Map
who can help?? i am paying :| change this map to dungeon
-
re: [Release] Arkania Map
nice :D
same like muxglobal
-
re: [Release] Arkania Map
-
re: [Release] Arkania Map
Quote:
Originally Posted by
loveoggy
work 1.04d ?
Works everywhere my friend, just follow the instructions.
-
re: [Release] Arkania Map
Hi brothers, Working on Season 6?
-
re: [Release] Arkania Map
1.04d is s6
Why dont u try?
Sent from my iPhone using Tapatalk
-
re: [Release] Arkania Map
Quote:
Originally Posted by
KarLi
Sent from my iPhone using Tapatalk
Bro, you have mini map for this?
-
re: [Release] Arkania Map
Quote:
Originally Posted by
0xCCCCCC
Bro, you have mini map for this?
oh not yet mate
Sent from my iPhone using Tapatalk
-
re: [Release] Arkania Map
Is there a clear description of how to install a map, make it basic? Kind of type to go into file ***, change line N, change it, add there that?
-
Re: [Release] Arkania Map
What is the password for the archive?
-
Re: [Release] Arkania Map
Quote:
Originally Posted by
The Shaper
What is the password for the archive?
winrar pass is