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!

[Release] MuClientTools Season 16 part 1.1

Initiate Mage
Joined
Oct 17, 2022
Messages
3
Reaction score
1
thank you! can u share the complete folder with all models from s16? is for a project in unity, the truth is that I can't found this application that is seen in the video, Bmd2Fbx, I can't found it anywhere and the unique I see is version 0.97d
 
Joined
Jun 12, 2005
Messages
746
Reaction score
69
Hi guys,

I have a unity project too and this tool help me a lot but, I can convert items, weapons, map objects to fbx and import them to unity but I can’t convert terrain height, terrain light and most important terrain object files.
From older versions I convert map objects file with pentium tool and then export to txt so I create a script to read it and place automatically objects. So my question, is there a way someone make or help to create a conversion tool at least for terrain object files?
And if anyone want to help or make a tool to convert all client files like interface, skills or what ever.
Here some pics of my project,






In this project the only problem i deal with is terrain height. I convert using pentium tool from season 6 but holes are wrong.
Then I try to save .map using again pentium tool so I can use terrain texture tiles but was wrong.
Terrain textures are better by hand and from start but holes are important to be the map as much possible as original.
This have to be for objects too. Here in these pictures I convert from s6 again the terrainobject.obj from client using pentium tool and works, but for low seasons. I need for higher up to s18.
Any way, I will continue projects until someone help.
After a satisfying version I will release it free for anyone who want to try or continue with me.
 
Last edited:
Initiate Mage
Joined
Oct 17, 2022
Messages
3
Reaction score
1
I have until season 16 decrypted
 
Experienced Elementalist
Joined
May 4, 2017
Messages
219
Reaction score
318
Hi guys,

I have a unity project too and this tool help me a lot but, I can convert items, weapons, map objects to fbx and import them to unity but I can’t convert terrain height, terrain light and most important terrain object files.
From older versions I convert map objects file with pentium tool and then export to txt so I create a script to read it and place automatically objects. So my question, is there a way someone make or help to create a conversion tool at least for terrain object files?
And if anyone want to help or make a tool to convert all client files like interface, skills or what ever.
Here some pics of my project,






In this project the only problem i deal with is terrain height. I convert using pentium tool from season 6 but holes are wrong.
Then I try to save .map using again pentium tool so I can use terrain texture tiles but was wrong.
Terrain textures are better by hand and from start but holes are important to be the map as much possible as original.
This have to be for objects too. Here in these pictures I convert from s6 again the terrainobject.obj from client using pentium tool and works, but for low seasons. I need for higher up to s18.
Any way, I will continue projects until someone help.
After a satisfying version I will release it free for anyone who want to try or continue with me.

Why don't you use
You can save .obj files in s6 version. S6 maybe use V0 / V1 (Im not sure, just try by your self)
Btw, the .obj files format is also just in the source. Take your time and read if needed.

IPLkcp1 - [Release] MuClientTools Season 16 part 1.1 - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Joined
Jun 12, 2005
Messages
746
Reaction score
69

This file contain worlds folders and local folder from client season 18 episode 3.
Can any one help me to decrypt the *.obj files that include map objects location and position and local folder.
 
Newbie Spellweaver
Joined
Jun 13, 2009
Messages
8
Reaction score
0
It can dec&enc .att .map .obj files. (binary files, not friendly for user/reader)
I suggest using WorldEditor to work with these files instead.


Project default (and ONLY) build setting:
- VS2019
- Windows 10
- x86 (Win32)
- Release (speed optimize)

You may need VS2015/17/19/...
or VC++ redistributable packages.

I am tested and work fine at
- vs2022
- windows 11
- x64( muclienttool release to win32)
-
 
Junior Spellweaver
Joined
Oct 2, 2004
Messages
104
Reaction score
53
Thank you very much, I'm developing an MMORPG with some things similar to MuOnline, and I remembered that the animation part of MU is very complete, this software was able to generate the reverse animations in an excellent way for Blender.

Only the frame rate of the animations that is accelerated needs to be calibrated at 0.25 (I believe this is ideal).

The only problem is that Season 18 has over 300 animations, and they are unnamed, so you have to rate each one.

EDIT:
To help some people, I uploaded the following files:

.blend: Option to open in blender and change the 3d model and so on.
.fbx: Can be imported into Unity and generate prefabs
.unitypackage: Package for unity, just 2 clicks

 
Last edited:
Joined
Jun 12, 2005
Messages
746
Reaction score
69
Thank you very much, I'm developing an MMORPG with some things similar to MuOnline, and I remembered that the animation part of MU is very complete, this software was able to generate the reverse animations in an excellent way for Blender.

Only the frame rate of the animations that is accelerated needs to be calibrated at 0.25 (I believe this is ideal).

The only problem is that Season 18 has over 300 animations, and they are unnamed, so you have to rate each one.

EDIT:
To help some people, I uploaded the following files:

.blend: Option to open in blender and change the 3d model and so on.
.fbx: Can be imported into Unity and generate prefabs
.unitypackage: Package for unity, just 2 clicks

Thank you moacir.
These animations are from what client?
 
Junior Spellweaver
Joined
Oct 2, 2004
Messages
104
Reaction score
53
Thank you moacir.
These animations are from what client?

If I'm not mistaken, I took it from the data folder of a file that I downloaded from some topic here.

"DevEMU Client season 18.rar"

I didn't even run this client, I only got it with the intention of extracting what I need to convert to Unity.

I have progressed very well in the development of an MMORPG, now I'm implementing wings and I've already put a map with Atlans features on the roadmap :)
 
Newbie Spellweaver
Joined
Feb 4, 2023
Messages
47
Reaction score
99
Link:
Great work,ty.

Link:

Maybe can optimized a bit :d.

Your Code:
C++:
BOOL MuCrypto::ModulusDecrypt(std::vector<BYTE>& buf)
{
    if (buf.size() < 34) return FALSE;

    BYTE key_1[33] = _MU_MODULUS_KEY_;
    BYTE key_2[33] = { 0 };
    DWORD algorithm_1 = buf[1];
    DWORD algorithm_2 = buf[0];

    size_t size = buf.size();
    size_t data_size = size - 34;

    InitModulusCrypto(algorithm_1, key_1, 32);
    size_t block_size = 1024 - (1024 % GetBlockSize());
    //.......omit.......
    //.......omit.......
    }

Here First: InitModulusCrypto(algorithm_1, key_1, 32);
=>
{
int keyLength = GetKeyLength(mapKeys);
InitModulusCrypto(algorithm_1, key_1, keyLength);
}



My reversed wz Client code for below:

QQ图片20230513211837 - [Release] MuClientTools Season 16 part 1.1 - RaGEZONE Forums


C++:
int MapFileDecryptNew(BYTE *pbyDst, BYTE *pbySrc, int iSize)
{
  int KeyLength; // eax
  int blockSize2; // eax
  char algorithm0; // [esp+8h] [ebp-78h]
  char algorithm1; // [esp+9h] [ebp-77h]
  char mapKeys2[34]; // [esp+Ah] [ebp-76h] BYREF
  char mapKeys[36]; // [esp+2Ch] [ebp-54h] BYREF
  int g_CryptoModulus1[2]; // [esp+50h] [ebp-30h] BYREF
  int g_CryptoModulus[2]; // [esp+58h] [ebp-28h] BYREF
  int temp_iSize; // [esp+60h] [ebp-20h]
  int tempLen; // [esp+64h] [ebp-1Ch]
  int dataSize; // [esp+68h] [ebp-18h]
  int blockSize1; // [esp+6Ch] [ebp-14h]
  BYTE *tempBuffer; // [esp+70h] [ebp-10h]
  int v17; // [esp+7Ch] [ebp-4h]

  if ( !pbyDst )
    return iSize - 34;
  algorithm0 = *pbySrc;
  algorithm1 = pbySrc[1];
  strcpy(mapKeys, "webzen#@!01webzen#@!01webzen#@!0");
  CCryptoModulus::Ctor(g_CryptoModulus);
  v17 = 0;
  KeyLength = GetKeyLength(mapKeys);
  CCryptoModulus::Init(g_CryptoModulus, algorithm1, (int)mapKeys, KeyLength);
  blockSize1 = CCryptoModulus::GetBufferSize(g_CryptoModulus, 1024);
  dataSize = iSize - 34;
  if ( iSize - 34 > 4 * blockSize1 )
  {
    tempLen = dataSize >> 1;
    tempBuffer = &pbySrc[(dataSize >> 1) + 2];
    CCryptoModulus::_Decrypt(tempBuffer, tempBuffer, blockSize1);
  }
  if ( dataSize > blockSize1 )
  {
    tempBuffer = &pbySrc[iSize - blockSize1];
    CCryptoModulus::_Decrypt(tempBuffer, tempBuffer, blockSize1);
    tempBuffer = pbySrc + 2;
    CCryptoModulus::_Decrypt(pbySrc + 2, pbySrc + 2, blockSize1);
  }
  std::memcpy((unsigned int)mapKeys2, (unsigned int)(pbySrc + 2), 0x20u);
  std::memcpy((unsigned int)pbyDst, (unsigned int)(pbySrc + 34), dataSize);
  CCryptoModulus::Ctor(g_CryptoModulus1);
  LOBYTE(v17) = 1;
  CCryptoModulus::Init(g_CryptoModulus1, algorithm0, (int)mapKeys2, 32);
  blockSize2 = CCryptoModulus::GetBufferSize(g_CryptoModulus1, dataSize);
  CCryptoModulus::_Decrypt(pbyDst, pbyDst, blockSize2);
  temp_iSize = iSize;
  LOBYTE(v17) = 0;
  sub_168EDE0(g_CryptoModulus1);
  v17 = -1;
  sub_168EDE0(g_CryptoModulus);
  return temp_iSize;
}

Code:
int GetKeyLength(char* mapKeys)
{
    char* p = mapKeys;
    while ((unsigned char)p & 3) // Check if the address is aligned to 4 bytes
        if (!*p++)
            return p - 1 - mapKeys;

    while (true)
    {
        int val = (int)p ^ 0x7EFEFEFF;
        if (((val - 0xFF) & ~val & 0xFF00))
        {
            if (!(p + 3)) return p - mapKeys + 3;
            else if (!(p + 2)) return p - mapKeys + 2;
            else if (!*(p + 1)) return p - mapKeys + 1;
            else return p - mapKeys;
        }
        p += 4;
    }

    return 0;
}

----------------------------------------------------------------------------------------------
Regards for u!
 

Attachments

You must be registered for see attachments list
Last edited:
Newbie Spellweaver
Joined
Aug 19, 2021
Messages
11
Reaction score
1
Oi pessoal,

Eu tenho um projeto de unidade também e esta ferramenta me ajuda muito, mas, eu posso converter itens, armas, objetos de mapa para fbx e importá-los para unidade, mas eu não posso converter a altura do terreno, luz do terreno e arquivos de objetos de terreno mais importantes.
De versões mais antigas eu converto o arquivo de objetos de mapa com a ferramenta pentium e, em seguida, exporto para txt para que eu crie um script para lê-lo e colocar objetos automaticamente. Então, minha pergunta, existe uma maneira de alguém fazer ou ajudar a criar uma ferramenta de conversão, pelo menos para arquivos de objetos de terreno?
E se alguém quiser ajudar ou fazer uma ferramenta para converter todos os arquivos do cliente, como interface, habilidades ou o que quer que seja.
Aqui algumas fotos do meu projeto,






Neste projeto, o único problema que eu lido é a altura do terreno. Eu converto usando a ferramenta pentium da 6ª temporada, mas os buracos estão errados.
Então eu tento salvar .map usando novamente a ferramenta pentium para que eu possa usar azulejos de textura de terreno, mas estava errado.
As texturas do terreno são melhores à mão e desde o início, mas os buracos são importantes para ser o mapa tanto quanto original.
Isso tem que ser para objetos também. Aqui nessas fotos eu converto do s6 novamente o terrainobject.obj do cliente usando a ferramenta pentium e funciona, mas para temporadas baixas. Preciso de mais alto até s18.
De qualquer forma, continuarei os projetos até que alguém ajude.
Depois de uma versão satisfatória eu vou liberá-lo gratuitamente para quem quiser tentar ou continuar comigo.
Como consigo converter os mapas para o blender?
 
Joined
Jun 12, 2005
Messages
746
Reaction score
69
Como consigo converter os mapas para o blender?
You can not convert maps to blender!
Maps, are a complicated thing. What i have done as you can see in photos above? I convert terrainheight file from client and import it in unity terrain BUT, the conversion is not exactly as good as the same map in unity. I mean, the ground is not the same as in mu and this is logical because there are two different game engines.
 
Newbie Spellweaver
Joined
Aug 19, 2021
Messages
11
Reaction score
1
You can not convert maps to blender!
Maps, are a complicated thing. What i have done as you can see in photos above? I convert terrainheight file from client and import it in unity terrain BUT, the conversion is not exactly as good as the same map in unity. I mean, the ground is not the same as in mu and this is logical because there are two different game engines.
Thanks for the answer, would you know if there's a way to get the DATA objects along with the coordinates?
 
Back
Top