Instalacion pendiente SQL 2000

Bienvenidos a un nuevo tutorial, hoy veremos un problema relacionado al proceso de instalación del SQL Server 2000
Muchas veces al intentar instalar el SQL nos encontramos con un error muy frecuente, el cual consiste en que a la hora de ejecutar el asistente nos aparece un mensaje con la siguiente leyenda:
Una instalación anterior del programa creó operaciones de archivos pendientes en el equipo de instalación. Debe reiniciar el equipo antes de ejecutar la instalación

Error de instalacion anterior pendiente en SQL 2000

Si bien, el error parece solucionarse con tan solo reiniciar el sistema, no siempre corremos con esa suerte ya que hemos comprobado que no es realmente una solución infalible y puedes estar un largo periodo intentándolo sin éxito.



Para solucionar este problema podemos seguir estos sencillos pasos:
1)Hacemos clic en el boton "Inicio" o apretamos la tecla "Windows", seguido escribimos en el cuadro de búsqueda "regedit" y le damos "Enter"
(Si nos aparecere la ventana preguntando si deseamos permitir que este programa realize cambios en nuestro sistema, simplemente hacemos un clic en SI)

Ingresando al regedit

2)Como lo que haremos será una modificación en los registros del sistema, antes de comenzar haremos un backup de los mismos, para tener una copia de seguridad en caso que cometamos algun error.
Para esto, hacemos un clic en donde dice "Archivo" y seleccionamos la opción "Exportar"
Luego seleccionamos una ruta, le damos un nombre y hacemos un clic en "Guardar"

Ingresando al regedit

3)Una vez que tenemos la copia de seguridad, volvemos a nuestra aplicación regedit y desplegaremos las opciones de la siguiente forma:
"HKEY_LOCAL_MACHINE" => "SYSTEM" => "CurrentControlSet" =>"Control"
Para desplegar las opciones, hacemos doble clic sobre el nombre de la carpeta o podemos hacer un clic sobre el triángulito que acompaña la entrada.

Visualizando

4)Ahora, dentro la carpeta "Control" debemos buscar la sub-carpeta "Session Manager" (Las sub-carpetas se organizan por orden alfabético)
Una vez que la encontramos, hacemos un sólo clic en ella (No es necesario desplegar sus opciones) y nos posicionamos del lado derecho sobre la cadena llamada "PendingFileRenameOperations", la damos clic derecho y seleccionamos la opción "Eliminar"
Luego confirmamos el mensaje de eliminación.

Eliminando la cadena PendingFileRenameOperations del regedit

5)Finalmente, sin necesidad de reiniciar el sistema, volvemos a ejecutar el instalador de nuestro SQL Server 2000

Instalando el SQL sin el error de archivos pendientes

Recuerden siempre realizar un backup antes de modificar un archivo original.
Hacemos esta mención en la mayoría de los tutoriales no para ser reiterativos, sino, para que tomen conciencia de lo importante que es esta práctica a la hora de modificar cualquier archivo.

Agregar el main.exe al DEP de Windows

Bienvenidos a un nuevo tutorial, hoy aprenderemos a agregar una aplicación a nuestro DEP de Windows.
Para quienes no conocen, la Prevención de Ejecutación de Datos o más conocido con sus siglas como DEP es un sistema de seguridad incorporado a los sistemas bajo Windows que previene la ejecución de aplicaciónes como medida de seguridad.



¿De que forma afecta esto a los servidores Mu Online?
Lo que sucede es que aveces cuando deseamos ejecutar el cliente, específicamente la aplicación main.exe esta no se ejecuta y muchas veces es debido a este bloqueo que realiza nuestro sistema de forma automática.

Para solucionar esto, lo que debemos hacer es:
1)Ingresamos a "Equipo" => "Propiedades de Sistema" => "Configuración avanzada del sistema" o "Panel de control" => "Configuración avanzada del sistema"

Visualizando la opción Configuracion avanzada del sistema en Windows

2)En nuestra nueva ventana, lo que debemos hacer es un clic en "Configuración" en la opción correspondiente a "Rendimiento"

Visualizando la opción de rendimiento

3)En nuestra nueva ventana hacemos un clic en la opción "Prevención de ejecución de datos" y luego tildamos la opción con la leyenda: "Activar DEP para todos los programas y servicios excepto los que seleccione"

Visualizando la opción DEP

4)Al tildar la leyenda anterior, se activará la opción "Agregar..." la cual nos permitirá adicionar excepciones a nuestro control de seguridad de datos.
Entonces hacemos un clic en el boton "Agregar..." y lo que nos aparecerá será una nueva ventana para buscar nuestra aplicación, en este caso, el main.exe
Luego hacemos un clic en "Aplicar" y luego en "Aceptar"

Aplicación main.exe agregada al DEP y aceptando el cuadro de dialogo

Finalmente, para que los cambios tengan efecto debemos reiniciar nuestro sistema.
Si bien, estos pasos pueden llegar a resolver nuestro problema, es posible que existan otros factores que influyan a la hora de ejecutar una aplicación y esta iniciarse.
Cuando hablamos de aplicación, recuerden que siempre hacemos referencia al main.exe (Aunque tambien se puede aplicar a cualquier otra aplicación)
Estos factores pueden ser:
a)El antivirus
b)Una error en la propia aplicación
c)Una modificación la cual puede a ver dañado el ejecutable
d)Un virus
e)Otros
a)La mayoria de los antivirus detectan a las aplicaciones relacionadas al Mu Online como virus, ya sea porque fueron encriptadas, o hasta por su funcionamiento o comportamiento, entonces lo que podemos hacer en el caso del main.exe es agregarlo como excepción.
Como la cantidad de antivirus que existen son varios y variados, veremos como hacerlo con uno de los más usados, me refiero al AVAST
Para esto, abrimos la interfaz del AVAST, en la parte superior derecha, hacemos un clic en "Menu" => "Opciones"

Opción AVAST

a.1)Ahoras, nos deslizamos hasta la opción "Exclusiones" (En opciones "General") y hacemos un clic en el boton "Examinar"

Visualizando la opción excepciones

a.2)En nuestra nueva ventana buscamos la carpeta del cliente y la tildamos.
Seguido, hacemos un clic en el boton "Aceptar" y luego en "Añadir"
Para finalizamos hacemos un clic en aceptar.

Agregando a excepcion el cliente MuOnline

b)Un error en la aplicación puede deberser a varios motivos, a veces producido en el mismo procedimiento de descarga o por una incompatiblidad de nuestro sistema, en este caso para tener seguridad que no se trate de un error durante la descarga, intentamos repetirla y para tener seguridad que no se trata de ninguna incompatiblidad, prueben la misma aplicación en varios sistemas.

c)Muchas veces modificamos el main.exe, ya sea para editar la IP, el serial o la versión y cometemos un error y terminamos dañanado la aplicación. En este caso, la solución es sencilla, eliminamos el archivo editado y volvemos a comenzar. Para tener seguridad que el error fue nuestro, podemos probar ejecutando el main.exe antes de ser modificado, ya que si abre (aunque no conecte) sin lugar a duda el error lo estamos cometiendo en el proceso de edición.
Si la aplicación de forma original tampoco abre, entonces vuelve a leer el punto b)

d)Finalmente, un virus puede dañar nuestros .exe o modificarlos sin nuestro consentimiento. Si este es el caso, podemos verificar volviendo a reemplazarlo por su original.
Una forma simple de comprobar esto, es si al momento de reemplazarlo el peso del archivo es diferente, es probable que tengamos algun virus en nuestro sistema.
Realiza un backups geneneral y utiliza algun antivirus para realizar un scanner completo del sistema.

Arma de una o dos manos en MUEMU

Bienvenidos a un nuevo tutorial, hoy aprenderemos a modificar la cantidad de manos que usa el personaje para utilizar un arma (Swords, axes, etc) en los files MUEMU

Para universalizar el concepto, vamos a definir lo que es arma de una mano y arma de dos manos ya que no siempre todos entendemos de la misma forma.
Arma de una mano: es aquella arma que será ocupada tanto en el slot arma como en el slot shield de forma simultanea. Otra característica es que este tipo de arma ocupa siempre un espacio horizontal (X=1) en el inventario/baul
Son ejemplo de arma de una mano las siguientes: Kriss, Short Sword, Rapier, Small Axe, etc...

Arma de dos manos: es aquella arma que solo podrá ser ocupada en el slot correspondiente al arma. Otra característica es que este tipo de armas ocupan siempre dos espacios horizontales (X=2) en el inventario/baul.
Son ejemplo de armas de dos manos las siguientes: Daybreak, Legendary Sword, Dark Reign Blade, Sword Dancer, Explosive Blade, etc...
De todas forma, en la descripción del item podremos identificar si se trata de un arma de una o dos manos.



1)En este primer ejemplo lo que haremos será configurar un arma de dos manos, para poder usada como arma de una sola mano.
Usaremos la Explosion Blade, la cual de forma original es una arma de dos manos.
Primero trabajaremos del lado del servidor, para eso ingresamos a la siguiente ruta: Muserver\Data\Item y abrimos el archivo llamado item.txt
Luego, nos posicionamos sobre la linea del item, en este caso, sobre el index 23 y modificaremos la variable X, la cual posee un valor 2 por 1 (Recuerdes que X es el tamaño de forma horizontal que ocupa el item, si deseas saber mas acerca de esto puedes hacer Clic Aqui)
Luego guardamos los cambios y hacemos un reaload.

Editando la columna X del item.txt

2)Nuestros siguientes pasos, serán sobre el cliente.
Pero antes de continuar necesitamos de una herramienta que nos ayudará a editar los archivos del cliente, se trata del "BmdDec.exe" la cual ya se encuentra disponible para su descarga.
Con esta aplicación podremos convertir archivos .bmd en .txt, editarlos y luego volver a convertirlos en .bmd nuevamente
Entonces, ejecutamos el .exe y como se trata de una versión Season 8, hacemos un clic en donde dice "Ex803" => "Item.bmd -> Client"
(Si desean editar el item.bmd de un cliente Season 6 MUEMU, hacemos clic en Ex603 -> Item.bmd)

Visualizando la aplicación BmdDec

3)Ahora, debemos seleccionar el archivo item_/lang/.bmd a convertir en item_/lang/.txt
En este ejemplo, lo haremos con el item_eng.bmd el cual se aloja en la siguiente ruta: Cliente MuOnline\Data\Local\Eng (Si ustedes usan otro lenguaje como el Spn o Por, deberán seleccionar el item correspondiente a la carpeta de su lenguaje)

Visualizando el item_eng.bmd

4)Si todo esta correcto, el programa cargará la ruta del archivo item_eng.bmd.
Simplemente hacemos un clic en el boton ENCRYPT/DECRYPT

Desencriptando el archivo item_eng.bmd

5)En nuestra nueva ventana, debemos seleccionar la ruta en donde deseamos guardar el archivo ya "desencriptado", es decir, en formato .txt para su edición.
Le damos un nombre y hacemos clic en donde dice "Guardar", en este ejemplo al archivo lo hemos llamado "ItemDec" y lo hemos guardado en la misma ruta que se encuentra en item_eng.bmd

Desencriptando el archivo item_eng.bmd

6)Ahora localizamos el archivo, lo abrimos y nos posicionamos sobre la linea correspondiente al item "Explosion Blade".
Ahora nos posicionamos sobre la columna TwoHand y cambiamos el valor 1 por 0 (Con este cambio le indicamos al cliente que se trata de un arma de una mano) y el otro cambio es sobre la columna X, modificando el valor 2 por 1 (De la misma forma que lo hicimos sobre el item.txt del server)
Luego de eso guardamos los cambios en el archivo.

Modificando el archivo item.txt

7)Nuestro siguiente y último paso será, encriptar nuevamente el archivo para transformalo en .bmd
Para eso volveremos a usar la misma aplicación, pero esta vez hacemos un clic en "Ex803" => "Encrypt" => item.txt(Client)

Encriptando el archivo item.txt

8)Ahora buscamos el archivo .txt que hemos editado. En nuestro caso sería el ItemDec.txt

Encriptando el archivo item.txt

9)El programa volverá a cargar nuestra ruta. Luego hacemos un clic en el boton ENCRYPT/DECRYPT

Desencriptando el archivo item_eng.bmd

10)Finalmente, el programa nos pedirá la ruta y nombre para guardar el archivo ya editado y convertido a .bmd, en este caso nosotros reemplazaremos el mismo item_eng.bmd
(Recuerden siempre realizar un backups antes de modificar un archivo, sino desean reemplazar el original le pueden poner otro nombre, hacer un copia del original y renombrar el archivo para reemplazarlo posteriormente)

Visualizando el item_eng.bmd

11)Para verificar que todo este correcto, ingresamos a juego al comprobarlo.

Visualizando los cambios dentro del juego

12)Si lo que deseamos hacer, es justamente lo contrario, es decir, que un arma de una mano sea usada por dos manos, debemos invertir los pasos.
Tomemos como ejemplo la "Sword Flameberge", ya que originalmente es un arma de una mano, lo que haremos será convertirla en arma de dos manos.
Entonces como lo hicimos anteriormente, comenzemos por el lado del server, abrimos el archivo item.txt el cual se encuentra en la siguiente ruta: Muserver\Data\Item, nos posicionamos sobre la linea del item y modificando el valor 1 de la columna X por 2.
Luego guardamos los cambios y hacemos un reaload.

Modificando la columna X del archivo item.txt

13)Al igual que en los pasos anteriores, abrimos el item_/lang/.bmd y lo convertimos en .txt
Una vez localizado nuestro archivo, lo abrimos y nos posicionamos sobre la linea correspondiente al item "Sword Flameberge".
Ahora nos posicionamos sobre la columna TwoHand y cambiamos el valor 0 por 1 (Con este cambio le indicamos al cliente que se trata de un arma de dos manos) y el otro cambio es sobre la columna X, modificando el valor 1 por 2 (De la misma forma que lo hicimos sobre el item.txt del server)
Luego de eso guardamos los cambios en el archivo.

Modificando la columna X del archivo item.bmd

14)Ahora convertimos el archivo al formato .bmd y verificamos los cambios dentro del juego
Un detalle final muy importante, si bien el tutorial finalizo, no podemos olvidarnos del editor, es decir, sino aplicamos los cambios en el editor esto ocasionará un bug del inventario/baul dado a que los espacios de los items no condicen entre Server-Cliente-Editor

Para solucionar esto de forma rápida y sencilla lo que haremos será copiar el archivo item_/lang/.bmd ya editado , y lo pegamos en nuestro escritorio. Ahora lo renombramos a simplemente item.bmd, lo volvemos a copiar y lo pegamos en la ruta del editor, la que por defecto sería: Muserver\MuEditor\Data y reemplazamos (Si no desean reemplazar el original podemos hacer una copia previa)

Visualizando los item modificando dentro del MuEditor

En tutoriales siguientes veremos que otros archivos podemos desencriptar y encriptar con esta fabulosa herramienta.

Reload desde el GameServer en MUEMU

Bienvenidos a un nuevo tutorial, hoy aprenderemos a cargar los cambios efectuados en el servidor sin necesidad de reiniciarlo.

En la mayoría de los servidores Mu Online, en la aplicación GameServer.exe existe una opción llamada RELOAD, esta opción despliega un conjunto de opciones que dependiendo de cual seleccionemos cargará los cambios sin necesidad de apagar y prender el servidor.

Veamos una imagen para saber de que se trata:

Visualizando el gameserver de los files MUEMU

Veamos para que sirve cada opción
1)Reload CashShop: esta opción recarga lo modificado en los siguientes archivos:
Muserver\Data\CashShop\CashShopPackage.txt
Muserver\Data\CashShop\CashShopProduct.txt
Muserver\GameServer\DATA\GameServerInfo - Common.dat
2)Reload ChaosMix: esta opción recarga lo modificado en los siguientes archivos:
Muserver\GameServer\DATA\GameServerInfo - ChaosMix.dat
3)Reload Character: esta opción recarga lo modificado en los siguientes archivos:
Muserver\GameServer\DATA\GameServerInfo - Character.dat
Muserver\Data\Character\DefaultClassInfo.txt
4)Reload Command: esta opción recarga lo modificado en los siguientes archivos:
Muserver\GameServer\DATA\GameServerInfo - Command.dat
5)Reload Common: esta opción recarga lo modificado en los siguientes archivos:
Muserver\GameServer\DATA\GameServerInfo - Common.dat
Muserver\Data\Effect.txt
Muserver\Data\Util\ExperienceTable.txt
Muserver\Data\Util\Filter.txt
Muserver\Data\Util\GameMaster.txt
Muserver\Data\Move\Gate.txt
Muserver\Data\MapManager.txt
Muserver\Data\MapServerInfo.txt
Muserver\Data\Message.txt
Muserver\Data\Move\Move.txt
Muserver\Data\Move\Movesummon.txt
Muserver\Data\Util\Notice.txt
Muserver\Data\Util\ResetTable.txt
6)Reload Custom: esta opción recarga lo modificado en los siguientes archivos:
Muserver\GameServer\DATA\GameServerInfo - Custom.dat
Muserver\Data\Custom [Todos los archivos contenidos en esta carpeta]
7)Reload Event: esta opción recarga lo modificado en los siguientes archivos:
Muserver\GameServer\DATA\GameServerInfo - Event.dat
Muserver\Data\Event [Todos los archivos contenidos en esta carpeta]
8)Reload EventItemBag: esta opción recarga lo modificado en los siguientes archivos:
Muserver\DATA\EventItemBagManager.txt
Muserver\Data\EventItemBag [Todos los archivos contenidos en esta carpeta]



9)Reload Hack: esta opción recarga lo modificado en los siguientes archivos:
Muserver\GameServer\DATA\GameServerInfo - Common.dat
Muserver\Data\Hack\HackPacketCheck.txt
10)Reload Item: esta opción recarga lo modificado en los siguientes archivos:
Muserver\Data\Item [Todos los archivos contenidos en esta carpeta]
11)Reload Monster: esta opción recarga lo modificado en los siguientes archivos:
Muserver\Data\Monster [Todos los archivos contenidos en esta carpeta]
12)Reload Move: esta opción recarga lo modificado en los siguientes archivos:
Muserver\Data\Move [Todos los archivos contenidos en esta carpeta]
13)Reload Quest: esta opción recarga lo modificado en los siguientes archivos:
Muserver\Data\Quest [Todos los archivos contenidos en esta carpeta]
Muserver\Data\QuestWorld [Todos los archivos contenidos en esta carpeta]
14)Reload Shop: esta opción recarga lo modificado en los siguientes archivos:
Muserver\Data\shop [Todos los archivos contenidos en esta carpeta]
Muserver\Data\ShopManager.txt
15)Reload Skill: esta opción recarga lo modificado en los siguientes archivos:
Muserver\GameServer\DATA\GameServerInfo - Skill.dat
Muserver\GameServer\DATA\Skill\MasterSkillTree.txt
Muserver\GameServer\DATA\Skill\Skill.txt
16)Reload Util: esta opción recarga lo modificado en los siguientes archivos:
Muserver\Data\Util [Todos los archivos contenidos en esta carpeta]
No olviden lo siguiente, cuando hacemos un reload sobre las opciones de la aplicación del GameServer.exe solo afecta a las carpetas/archivos de esa misma aplicación, si modificamos un archivo contenido en la siguiente ruta: Muserver\GameServerCS\DATA es necesario que el reload sea realizado sobre el GameServer.exe pero de la carpeta GameServerCS

Editar shops en MUEMU

Bienvenidos a un nuevo tutorial, en este oportunidad veremos como editar los shops en los files MUEMU.
Si bien la edición de shops en estos files es similar a la de cualquier otro tipo de archivos hoy vamos a ver algunos aspectos adicionales.

Los shops se encuentran en la siguiente ruta Muserver\Data\Shop y cada .txt corresponde a un NPC el cual se identifica con el nombre del mismo.

Visualizando la carpeta shop en los files MUEMU

1)Abriremos uno al azar y analizaremos su contenido (Columnas)
Section= Grupo al que pertecene el item (Para entenderlo mejor puedes hacer Clic Aqui)
Type= Posición en la que se encuentra el item dentro de ese grupo (Para entenderlo mejor puedes hacer Clic Aqui)
Level= Nivel que tendrá el item (0-15)
Dur= Durabilidad del item (0-255)
Skill= Skil del item (1=Activado, 0=Desactivado)
Luck= Suerte del item (1=Activado, 0=Desactivado)
Option= Defensa adicional (0-7)
Excellent= Tipo de opción excellent que tendrá el item. (0-63)
En lo que respecta al grupo, type, level, durabilidad, skill y luck no hay mucho más que explicar ya que eso se encuentra todo detallado en los tutoriales publicados, pero en lo que respecta a option y excellent nos encontramos con valores 0-7 y 0-63 respectivamente ¿Pero que identifica cada valor?

Comenzemos con la variable option, como ya hemos lo explicitado, esta columna hace referencia al adicional de defensa que tendrá el item y los valores configurables son de 0-7
Veamos a que hace referencia cada valor:
0=+0 adicional de defensa
1=+4 adicional de defensa
2=+8 adicional de defensa
3=+12 adicional de defensa
4=+16 adicional de defensa
5=+20 adicional de defensa
6=+24 adicional de defensa
7=+28 adicional de defensa
Por otro lado la variable Excellent permite configurar las opciones excelents que tendrá nuestro item, ¿Pero qué significa de 0-63? Veasmolo
Opciones excelent en armas:
1=Increases the amount of Mana received for hunting monsters + Mana/8
2=Increases the amount of Life received for hunting monsters + Life/8
4=Increase Attack (Wizardry) speed +7
8=Increase Attack +2%
16=Increase Attack +Level/20
32=Exellent damage +10%

Opciones excelent en sets:
1=Increases the amount of Zen received for hunting monsters + 30%
2=Defense success Rate +10%
4=Reflect Damage +5%
8=Decreases Damage +4%
16=Increase Maximum Mana +4%
32=Increase Maximum Life +4%

Opciones en wings:
1=Increases Life
2=Increases Mana
4=Damage from Breaking Enemy Defense +3%
8=Increase Maximum AG
16=Increase Attack (Wizardry) Speed +5
32= No usado
Entonces, como podrán observar cada opción excellent es representanda por un valor númerico, pero aun no respondemos ¿Por qué la configuración admite valores de 0-63 si el valor máximo disponible es 32 (Salvo en la wings, ya que el valor 32 en este tipo de items no tiene uso)?

La respuesta está en que cada valor idenfica una opción por separado, pero si queremos un item que tenga todas las opciones (Full opc.) debemos sumar todos los valores: 1+2+4+8+16=63 de ahi que al colocar el valor 63 el item adquiere todas las opciones excellents.



Pero si sólo queremos que nuestro item tenga sólo tres opciones, pero tres opciones específicas ¿Cómo deberiamos configurarlo ?
La respuesta es nuevamente sumando los valores de las opciones excellents deseadas.

2)Veasmolo en un ejemplo práctico, supongamos que queremos que en el NPC se venda la "Legenday Sword" pero con las siguientes características:
Item a vender: Legendary Sword
Level: +8
Durabilidad: 80
Skill: Activado
Luck: Desactivado
Option: +16
Excellent: Tres opciones exc. que serán las siguientes:
- Increases the amount of Mana received for hunting monsters + Mana/8 +
- Increase Attack +2%
- Exellent damage +10%
Nuestro archivo configurado quedará editado la siguiente forma:

Visualizando la configuracion del shop con el items configurado

3)Y ahora verificamos los cambios dentro del juego

Visualizando las caracteristicas del items editado en el juego

Y efectivamente nuestro item aparece con las caracterísitcas configuradas, por si quedo alguna duda, en el campo Excellent se coloco el valor 41, ya que como hemos dicho, debemos sumar los valores de las opciones excellents que queremos que tenga nuestro item:
Si retomamos al ejemplo, las opciones excelents fueron las siguientes:
1 - Increases the amount of Mana received for hunting monsters + Mana/8 +
8 - Increase Attack +2%
32 - Exellent damage +10%
Las cuales sumadas dan el siguiente resultado: (1 + 8 + 32)= 41

Para finalizar, si bien existen programas que realizen este procedimiento de forma más rápida, siempre insistimos que la idea en aprender el origen de las cosas.

Personalizar el drop de los items en MUEMU

Bienvenidos a un nuevo tutorial, hoy aprenderemos a personalizar el drop en los files MUEMU.
El drop personalizado nos permite configurar con que regularidad los items pueden llegar a caer dentro del juego.

Esta configuración no es obligatoria ya que el servidor trae por default los drop establecidos, pero por medio de este complemento podemos personalizar el drop de un item específico.

Tambien podemos usar este tipo de configuración para realizar algun evento ya que podremos hacer caer un item con características especificas que los usuarios deberán buscar.



El archivo responsable de esta personalización es el: ItemDrop.txt el cual se encuentra en la siguiente ruta: Muserver\Data\Item

1)Entonces, para comenzar abrimos el archivo, y analizemos su contenido:
Index= Identificador del item (Para conocer este valor pueden hacer Clic Aqui)
Level= Nivel con el que caerá el item (De 0 a 15)
Grade= Opción excelente fija que tendrá el item (De 1 a 63)
Option0= Index de la opción del item (Relacionado al ItemDropRate.txt)
Option1= Index de la opción del item (Relacionado al ItemDropRate.txt)
Option2= Index de la opción del item (Relacionado al ItemDropRate.txt)
Option3= Index de la opción del item (Relacionado al ItemDropRate.txt)
Option4= Index de la opción del item (Relacionado al ItemDropRate.txt)
Option5= Index de la opción del item (Relacionado al ItemDropRate.txt)
Option6= Index de la opción del item (Relacionado al ItemDropRate.txt)
Duration= Duración del item en el servidor. (0=Item permanente)
*Presten atención a esto, ya que muchos confunden esta variable con la duración del item en el suelo y no se trata de eso, sino, de la duración del item en el servidor, es decir, pasado el tiempo de duración el item desaparecerá permanentemente del juego.
MapNumber= Número del mapa en donde caerá el item (-1= Cualquier mapa) (Para conocer el número de los mapas pueden hacer Clic Aqui)
MonsterClass= Número del monster que al matarlo podrá dropear el item (-1= Cualquier monster) (Para conocer el número de los monsters Clic Aqui)
MonsterLevelMin= Nivel mínimo que debe tener el monster para dropear el item (-1= Cualquier nivel)
MonsterLevelMax= Nivel máximo que debe tener el monster para dropear el item (-1= Cualquier nivel)
DropRate= Probabilidade de dropear el item al matar un monster (x/1000000)(-1= Drop máximo)
Comment= Esta columna es opcional y no modificará en nada la configuración, simplemente nos sirve para anotar el nombre del item para recordarlo
2)Comenzemos con algo sencillo, supongamos que deseamos personalizar el drop de la "Jewells of soul", y queremos que este item caiga en Aida, pero especificamente de los monsters "Forest ORC"
Nuestra configuración será la siguiente:
Index= 7182 //Es el index del item Jewell Of Soul
Level= 0 //No es necesario, ya que se trata de una jewell
Grade= 0 //No es necesario, ya que se trata de una jewell
Option0= * //No es necesario, ya que se trata de una jewell
Option1= * //No es necesario, ya que se trata de una jewell
Option2= * //No es necesario, ya que se trata de una jewell
Option3= * //No es necesario, ya que se trata de una jewell
Option4= * //No es necesario, ya que se trata de una jewell
Option5= * //No es necesario, ya que se trata de una jewell
Option6= * //No es necesario, ya que se trata de una jewell
Duration= 30 //Duración del items en segundos
MapNumber= 33 //Número correspondiente al mapa Aida
MonsterClass= 307 //Número correspondiente al monster Forest ORC
MonsterLevelMin= * //Nivel mínimo del monster, no es necesario porque lo hemos especificado
MonsterLevelMax= * //Nivel mínimo del monster, no es necesario porque lo hemos especificado
DropRate= -1 // Al ingresar el -1 colocamos el máximo % de dropeo.
Visualizando archivo itemdrop en MUEMU

3)Guardamos los cambios, hacemos un reload y verificamos.

Visualizando el drop de la jewells of soul dentro del juego

4)Efectivamente, el drop de la jewells of soul respondio a la configuración correctamente.
Ahora veamos un segundo ejemplo, pero esta vez con un item que tenga opción, por ejemplo la "Iris Armor", full opciones, que caiga en lorencia en rango de monster mínimo 0 a rango máximo 9
Index= 4132 //Es el index del item "Armor Dragon"
Level= 0 // Será el nivel de nuestro item, en este caso +0
Grade= 63 // Serán las opciones excelent que tendrá el item, en este caso lo haremos full opc.-
Option0= * //
Option1= * //
Option2= * //
Option3= * //
Option4= * //
Option5= * //
Option6= * //
Duration= 6000 //Duración del items, en este caso 10 minutos
MapNumber= 0 //Número correspondiente al mapa Lorencia
MonsterClass= * //Cualquier monsters
MonsterLevelMin= 0 //Nivel mínimo del monster
MonsterLevelMax= 9 //Nivel máximo del monster
DropRate= -1 // Al ingresar el -1 colocamos el máximo % de dropeo.
Guardamos los cambios, hacemos un reload y verificamos:

Visualizando el drop de la Armor iris dentro del juego

Y efectivamente, al matar un monster en lorencia que se encuentre en el rango este dropea nuestro item.
Recuerden, por cada drop de item que deseamos configurar, debemos agregar una nueva linea.
Tambien, si en MonsterClass colocamos *, estamos indicando que cualquier monster del juego dropeará ese item, en ese caso es recomendable establecer rangos con las variables MonsterLevelMin y MonsterLevelMax (Ya que si no lo hacemos, todos los monsters de todo el juego dropeará el item configurado), si el caso es al revés, es decir, especificamos el nº de monster en el campo MonsterClass no es necesario establecer el rango ya que los números de los monsters no se repiten, sino que cada uno tiene un valor único.

Para finalizar, la variable Duration se mide en segundos, y no esta de más recordales que 60 segundos equivale a 1 minuto y que 3600 segundos equivalen a 1 hora.

Verificar archivos mediante CRC32 en MUEMU

Bienvenidos a un nuevo tutorial, hoy aprenderemos a proteger nuestro cliente mediante la verificación CRC32 de los archivos del cliente en MUEMU.

Para entender mejor de que se trata, intentaremos explicarlo con palabras más sencillas.
Cuando ingresamos al cliente y si este usa el MHP-antihack, se ejecuta una comprobación (Mediante CRC32) de los archivos del juego tomando como contraste una lista (Checksum.List.db) alojada en nuestro MHPServer.
Si esa comprobación está correcta, el cliente iniciará, pero si en esta comprobación aparece algun problema (Dada por la modificación de algun archivo que este en lista de verificación por parte del cliente) el antihack bloqueará nuestro ingreso.

Este tipo de verificación se utiliza para evitar que archivos del cliente sean reemplazados/modificados/altereados con el simple fin de obtener alguna ventanja en el juego.

Para evitar eso, veamos el siguiente tutorial.

1)Lo primero que haremos, será crear una carpeta llamada "CRC32" en donde alojaremos todos los archivos que deseamos proteger, para quienes no tiene mucho conocimiento en este ámbito de seguridad, los archivos que recomendamos a proteger son: ah.emu, main.emu, main.exe, player.bmd entre otros, entonces copiamos esos archivos y los pegamos dentro de nuestra carpeta creada.

Visualizando los archivos agregados a la carpeta crc32

2)Nuestro siguiente paso será generar los códigos CRC32. Para esto podemos hacerlo de muchas formas, existen programas, generadores online, etc... En este ejemplo lo haremos con el propio WinRAR (Un software encargado de comprimir/descomprimir archivos) el cual la mayoria de los equipos ya lo tienen instalado.
Sino lo tienen instalado pueden descargarlo desde su sitio oficial haciendo Clic Aqui
Entonces, lo que haremos, será simplemente seleccionar todos los archivos, hacemos un clic derecho y seleccionamos la opción "Añadir a CRC32.rar"

Comprimiendo los archivos de la carpeta CRC32

3)Luego de generar nuestro archivo CRC32.rar lo abrimos y nos posicionamos sobre la última columna, la llamada CRC32 y copiamos el nombre del archivo seguido de su codigo alfanumérico (CRC32)
main.exe ---------- 514EEF6B
player.bmd -------- D25E0173
main.emu --------- 57A6C262
ah.emu ------------ 1AACD140
Comprimiendo los archivos de la carpeta CRC32

4)Nuestro siguiente paso será ingresar a la siguiente ruta: Muserver\MHPServer\Data y abrimos el archivo llamado: Checksum.List.db (Este tipo de archivos podemos abrirlo con cualquier procesador de textos, como por ejempo: notepad.exe)
Este archivo lo configuraremos de la siguiente forma:
La primera columna contendrá la ruta en donde se encuentra cada archivo y en la segunda columna debemos agregar 0x seguido del código CRC32
Recuerden que tanto la ruta como el código deben ir entre comillas.



Para completar la primera columna, no debemos tener en cuenta el nombre del cliente, sino debemos colocar nuestra ruta como si estuviesemos directamente sobre el.
Comenzemos con el primero archivo: el main.exe, entonces nuestra primera linea nos quedará asi:
"main.exe" "0x514EEF6B"
Nuestra segunda linea quedará asi:
"data/player/player.bmd" "0xD25E0173"
*Presten atención a la ruta, el archivo player.bmd no se encuentra en la raiz como el main.exe, sino que el mismo se encuentra dentro de la carpeta player contenida en la carpeta data
Nuestra tercera linea, quedará asi:
"main.emu" "0x57A6C262"
Y finalmente nuestra cuarta linea, quedará asi
"ah.emu" "0x1AACD140"
y la última linea corresponde al End que hará el cierre del código.

Visualizando el archivo Checksum.List.db ya editado

5)Finalmente ya podemos iniciar el servidor y verificar que todo funcione correctamente.
Lo que debería suceder es lo siguiente, si ingresamos con los archivos con los cuales hemos generado los CRC32, el juego debería funcionar sin problemas, pero si intentamos modificar un archivo e intentamos ingresar, el MHPServer.exe detectará el cambio de CRC32 (Ya que, cada vez que modificamos un archivo el CRC32 tambien se modifica.) y nos bloqueará el ingreso.
Veamoslo: modificaremos a modo de ejemplo el archivo player.bmd (El cual se encuentra en lista de verificación) y probaremos ingresar para ver que sucede:

Visualizando el bloqueo del antihack al ingresar al juego

Adicionalmente, si revisamos el log del antihack podemos finalmente constatar que el bloqueo del ingreso se debe a una modificación del archivo player.bmd (Recuerden que esa modificación la hemos realizado nosotros con el fin de verificar el funcionamiento del antihack.)
16:02:54 [HackDetected][][] IpAddress: ***********, HardwareId: 2CD2****-9H2D****-A46C****-D410****, DetectionType: FILE_DETECTION, CaptionName: data/player/player.bmd, ProcessName:
Recuerden que ustedes pueden colocar cualquier archivo para ser verificado.
Finalmente si agregamos el archivo item_eng.bmd al listado de verificación no quiere decir que tambien estemos protegiendo el item_spn.bmd ya que son dos archivos difentes con CRC32 diferentes en rutas diferentes.

Comandos para administradores en MUEMU

Bienvenidos a un nuevo tutorial, en esta aportunidad haremos un complemento a la guia publicada anteriormente la cual pueden revisar haciendo Clic aqui

Lo que haremos será explicar el funcionamiento, personalización y configuración de cada comando disponible para los administradores en los files MUEMU

1)El primer comando que veremos será el Gmmove
Sintaxis del comando: /gmmove [Nombre del personaje] [Nº de Mapa] [Coordenada X] [Coordenada Y]
Función: Mueve un personaje conectado en el juego a un mapa y coordenada definadas.
Ejemplo: /gmmove MuTutorial 0 125 125
*Envia un personaje llamado Mututorial al mapa lorencia, en las coordenadas 125 125, si quieren saber los numeros de todos los mapas, pueden verlos haciendo Clic Aqui
Veamos ahora como configurar este comando
;==================================================
; GM Move Command Settings
;==================================================
CommandGMMoveSwitch = 1 //1=Activa el comando 0=Desactiva el comando
CommandGMMoveGameMasterLevel = 32 //Nivel o rango que podrá usar este comando

2)El siguiente comando será el Gmpost
Sintaxis del comando: /gmpost [Texto]
Función: Envia un mensaje global al servidor.
Ejemplo: /gmpost Hola mundo!
Veamos ahora como configurar este comando
;==================================================
; GM Post Command Settings
;==================================================
CommandGMPostSwitch = 1 //1=Activa el comando 0=Desactiva el comando
CommandGMPostGameMasterLevel = 32 //Nivel o rango que podrá usar este comando



3)El siguiente comando será el Track
Sintaxis del comando: /track [Nombre de personaje]
Función: Transporta tu personaje hacia el personaje ingresado en el comando
Ejemplo: /track MuTutorial
Veamos ahora como configurar este comando
;==================================================
; Track Command Settings
;==================================================
CommandTrackSwitch = 1 //1=Activa el comando 0=Desactiva el comando
CommandTrackGameMasterLevel = 32 //Nivel o rango que podrá usar este comando

4)El siguiente comando será el Trace
Sintaxis del comando: /trace [Nombre de personaje]
Función: Transporta el personaje ingresado en el comando hacia tu personaje
Ejemplo: /trace MuTutorial
Veamos ahora como configurar este comando
;==================================================
; Trace Command Settings
;==================================================
CommandTraceSwitch = 1 //1=Activa el comando 0=Desactiva el comando
CommandTraceGameMasterLevel = 32 //Nivel o rango que podrá usar este comando

5)El siguiente comando será el Disconnect
Sintaxis del comando: /disconnect [Nombre de personaje]
Función: Desconecta del juego al personaje ingresado en el comando
Ejemplo: /disconnect MuTutorial
Veamos ahora como configurar este comando
;==================================================
; Disconnect Command Settings
;==================================================
CommandDisconnectSwitch = 1 //1=Activa el comando 0=Desactiva el comando
CommandDisconnectGameMasterLevel = 32 //Nivel o rango que podrá usar este comando

6)El siguiente comando será el Fireworks
Sintaxis del comando: /fireworks
Función: Lanza en un radio cercano al personaje fuegos artificiales
Ejemplo: /fireworks
Veamos ahora como configurar este comando
;==================================================
; Fireworks Command Settings
;==================================================
CommandFireworksSwitch = 1 //1=Activa el comando 0=Desactiva el comando
CommandFireworksGameMasterLevel = 32 //Nivel o rango que podrá usar este comando

7)El siguiente comando será el Make
Sintaxis del comando: /Make [Grupo] [Index] [Nivel] [Durabilidad] [Addicional] [Opciones]
Función: Crea un items a partir de los parámetros indicados
Ejemplo: /make 8 1 15 255 4 4
Veamos ahora como configurar este comando
;==================================================
; Make Command Settings
;==================================================
CommandMakeSwitch = 1 //1=Activa el comando 0=Desactiva el comando
CommandMakeGameMasterLevel = 32 //Nivel o rango que podrá usar este comando

8)El siguiente comando será el Skin
Sintaxis del comando: /Skin [Nº del monster]
Función: Transforma el personaje en el nº del monster ingresado
Ejemplo: /skin 8
*Si desean saber el número que corresponde cada monster pueden hacer clic aqui
Veamos ahora como configurar este comando
;==================================================
; Skin Command Settings
;==================================================
CommandSkinSwitch = 1 //1=Activa el comando 0=Desactiva el comando
CommandSkinGameMasterLevel = 32 //Nivel o rango que podrá usar este comando

9)El siguiente comando será el SetMoney
Sintaxis del comando: /setmoney [Valor]
Función: Agrega al inventario la cantidad de zen indicada en el comando
Ejemplo: /setmoney 1000000
Veamos ahora como configurar este comando
;==================================================
; Set Money Command Settings
;==================================================
CommandSetMoneySwitch = 1 //1=Activa el comando 0=Desactiva el comando
CommandSetMoneyGameMasterLevel = 32 //Nivel o rango que podrá usar este comando

10)El siguiente comando será el Notice
Sintaxis del comando: /notice [Valor]
Función: Publica una noticia de forma global sin mostrar el nombre del ADM/GM
Ejemplo: /notice Hola mundo!
Veamos ahora como configurar este comando
;==================================================
; Notice Command Settings
;==================================================
CommandNoticeSwitch = 1 //1=Activa el comando 0=Desactiva el comando
CommandNoticeGameMasterLevel = 32 //Nivel o rango que podrá usar este comando

11)El siguiente comando será el Hide
Sintaxis del comando: /hide [Valor]
Función: Esconde al personaje ADM/GM haciendolo invisible frente a los demas jugadores.
Ejemplo: /hide
Veamos ahora como configurar este comando
;==================================================
; Hide Command Settings
;==================================================
CommandHideSwitch = 1 //1=Activa el comando 0=Desactiva el comando
CommandHideGameMasterLevel = 32 //Nivel o rango que podrá usar este comando

12)Adicionalmente si deseamos modificar la sintaxis del comando, debemos abrir el siguiente archivo Message.txt el cual se encuentra en la siguiente ruta: Muserver\Data

Visualizando el archivo message

Entonces para modificar la sintaxis de un comando, basta con modificar lo que este despues del /, recordando que no debes eliminar las "" ni el /
Luego de efectuar los cambios, debemos hacer un reload para que tomen efecto.

Comandos para jugadores en MUEMU

Bienvenidos a un nuevo tutorial, hoy veremos como configurar y para que sirven algunos de los comandos disponibles en MUEMU

Estos comandos estan contenidos en el archivo llamado GameServerInfo - Command.dat el cual se encuentra en la siguiente ruta: Muserver\GameServer\DATA

1)El primer comando que veremos será el post
Sintaxis del comando: /post
Función: Envia un mensaje global visible por todos los jugadores online
Ejemplo: /post Hola mundo!
Veamos ahora como configurar este comando
;==================================================
; Post Command Settings
;==================================================
CommandPostSwitch = 1 // 1=Activa el comando 0=Desactiva el comando
CommandPostType = 0 // 0= dorado , 1= azul, 2=verde, 3=verde, 4=blanco / 5=Azul (GLOBAL) ,6=Verde (GLOBAL), 7=Blanco (GLOBAL)
CommandPostEnable_AL0 = 1 //1=Activa el comando, 0=Desactiva el comando a usuarios FREE
CommandPostEnable_AL1 = 1 //1=Activa el comando, 0=Desactiva el comando a usuarios VIP 1
CommandPostEnable_AL2 = 1 //1=Activa el comando, 0=Desactiva el comando a usuarios VIP 2
CommandPostEnable_AL3 = 1 //1=Activa el comando, 0=Desactiva el comando a usuarios VIP 3
CommandPostLevel_AL0 = 6 // Nivel mínimo requerido para uso del comando en usuarios FREE
CommandPostLevel_AL1 = 6 // Nivel mínimo requerido para uso del comando en usuarios VIP 1
CommandPostLevel_AL2 = 6 // Nivel mínimo requerido para uso del comando en usuarios VIP 2
CommandPostLevel_AL3 = 6 // Nivel mínimo requerido para uso del comando en usuarios VIP 3
CommandPostReset_AL0 = 0 // Resets requerido para uso del comando en usuarios FREE
CommandPostReset_AL1 = 0 // Resets requerido para uso del comando en usuarios VIP 1
CommandPostReset_AL2 = 0 // Resets requerido para uso del comando en usuarios VIP 2
CommandPostReset_AL3 = 0 // Resets requerido para uso del comando en usuarios VIP 3
CommandPostMoney_AL0 = 0 // Zen requerido para uso del comando en usuarios FREE
CommandPostMoney_AL1 = 0 // Zen requerido para uso del comando en usuarios VIP 1
CommandPostMoney_AL2 = 0 // Zen requerido para uso del comando en usuarios VIP 2
CommandPostMoney_AL3 = 0 // Zen requerido para uso del comando en usuarios VIP 3
CommandPostDelay_AL0 = 30 // Tiempo de espera entre mensajes en usuarios FREE
CommandPostDelay_AL1 = 30 // Tiempo de espera entre mensajes en usuarios VIP 1
CommandPostDelay_AL2 = 30 // Tiempo de espera entre mensajes en usuarios VIP 2
CommandPostDelay_AL3 = 30 // Tiempo de espera entre mensajes en usuarios VIP 3

2)El siguiente será el comando add points
Sintaxis del comando: /add[Stat] [Valor numérico]
Función: Permite distribuir internamente los puntos acumulados
Ejemplo: /addstr 100 //Agrega 100 puntos disponibles al stat fuerza
Ejemplo: /addagi 100 //Agrega 100 puntos disponiles al stat agilidad
Ejemplo: /addvit 100 //Agrega 100 puntos disponibles al stat vitalidad
Ejemplo: /addene 100 //Agrega 100 puntos disponibles al stat energia
Ejemplo: /addcmd 100 //Agregar 100 puntos disponibles al stat comando
Veamos ahora como configurar este comando
;==================================================
; Add Point Command Settings
;==================================================
CommandAddPointSwitch = 1 // 1=Activa el comando 0=Desactiva el comando
CommandAddPointEnable_AL0 = 1 //1=Activa el comando, 0=Desactiva el comando a usuarios a FREE
CommandAddPointEnable_AL1 = 1 //1=Activa el comando, 0=Desactiva el comando a usuarios a VIP 1
CommandAddPointEnable_AL2 = 1 //1=Activa el comando, 0=Desactiva el comando a usuarios a VIP 2
CommandAddPointEnable_AL3 = 1 //1=Activa el comando, 0=Desactiva el comando a usuarios a VIP 3
CommandAddPointAutoEnable_AL0 = 1 // 1=Activa el comando Auto-Add, 0=Desactiva el comando Auto-Add en usuarios FREE
CommandAddPointAutoEnable_AL1 = 1 // 1=Activa el comando Auto-Add, 0=Desactiva el comando Auto-Add en usuarios VIP 1
CommandAddPointAutoEnable_AL2 = 1 // 1=Activa el comando Auto-Add, 0=Desactiva el comando Auto-Add en usuarios VIP 2
CommandAddPointAutoEnable_AL3 = 1 // 1=Activa el comando Auto-Add, 0=Desactiva el comando Auto-Add en usuarios VIP 3
CommandAddPointMoney_AL0 = 0 //Zen requerido para uso del comando en usuarios FREE
CommandAddPointMoney_AL1 = 0 //Zen requerido para uso del comando en usuarios VIP 1
CommandAddPointMoney_AL2 = 0 //Zen requerido para uso del comando en usuarios VIP 2
CommandAddPointMoney_AL3 = 0 //Zen requerido para uso del comando en usuarios VIP 3



3)El siguiente comando es el pkclear
Sintaxis del comando: /pkclear
Función: Borra el pk del personaje
Ejemplo: /pkclear
Veamos ahora como configurar este comando
;==================================================
; PK Clear Command Settings
;==================================================
CommandPKClearSwitch = 1 // 1=Activa el comando 0=Desactiva el comando
CommandPKClearEnable_AL0 = 1 //1=Activa el comando, 0=Desactiva el comando a usuarios a FREE
CommandPKClearEnable_AL1 = 1 //1=Activa el comando, 0=Desactiva el comando a usuarios a VIP 1
CommandPKClearEnable_AL2 = 1 //1=Activa el comando, 0=Desactiva el comando a usuarios a VIP 2
CommandPKClearEnable_AL3 = 1 //1=Activa el comando, 0=Desactiva el comando a usuarios a VIP 3
CommandPKClearMoney_AL0 = 0 //Zen requerido para uso del comando en usuarios FREE
CommandPKClearMoney_AL1 = 0 //Zen requerido para uso del comando en usuarios VIP 1
CommandPKClearMoney_AL2 = 0 //Zen requerido para uso del comando en usuarios VIP 2
CommandPKClearMoney_AL3 = 0 //Zen requerido para uso del comando en usuarios VIP 3

4)El siguiente comando es el money
Sintaxis del comando: /money [Valor numérico]
Función: Permite recibir zen a partir del valor ingresado
Ejemplo: /money 1000000
Veamos ahora como configurar este comando
;==================================================
; Money Command Settings
;==================================================
CommandMoneySwitch = 1 // 1=Activa el comando 0=Desactiva el comando
CommandMoneyEnable_AL0 = 1 //1=Activa el comando, 0=Desactiva el comando a usuarios a FREE
CommandMoneyEnable_AL1 = 1 //1=Activa el comando, 0=Desactiva el comando a usuarios a VIP 1
CommandMoneyEnable_AL2 = 1 //1=Activa el comando, 0=Desactiva el comando a usuarios a VIP 2
CommandMoneyEnable_AL3 = 1 //1=Activa el comando, 0=Desactiva el comando a usuarios a VIP 3

5)El siguiente comando es el change
Sintaxis del comando: /change
Función: Permite evolucionar el personaje a la siguiente quest.
Ejemplo: /change
*(Si repetimos el comando el personaje volverá a evolucionar a la siguiente quest)
Veamos ahora como configurar este comando
;==================================================
; Change Command Settings
;==================================================
CommandChangeSwitch = 1 // 1=Activa el comando 0=Desactiva el comando
CommandChangeEnable_AL0 = 1 //1=Activa el comando, 0=Desactiva el comando a usuarios a FREE
CommandChangeEnable_AL1 = 1 //1=Activa el comando, 0=Desactiva el comando a usuarios a VIP 1
CommandChangeEnable_AL2 = 1 //1=Activa el comando, 0=Desactiva el comando a usuarios a VIP 2
CommandChangeEnable_AL3 = 1 //1=Activa el comando, 0=Desactiva el comando a usuarios a VIP 3
CommandChangeMoney_AL0 = 0 //Zen requerido para uso del comando en usuarios FREE
CommandChangeMoney_AL1 = 0 //Zen requerido para uso del comando en usuarios VIP 1
CommandChangeMoney_AL2 = 0 //Zen requerido para uso del comando en usuarios VIP 2
CommandChangeMoney_AL3 = 0 //Zen requerido para uso del comando en usuarios VIP 3
CommandChangeLimit_AL0 = 2 //Limite de evolución 0=Primera Quest, 1=Segunda Quest, 2=Tercera quest para usuarios FREE
CommandChangeLimit_AL1 = 2 //Limite de evolución 0=Primera Quest, 1=Segunda Quest , 2=Tercera quest para usuarios VIP 1
CommandChangeLimit_AL2 = 2 //Limite de evolución 0=Primera Quest, 1=Segunda Quest , 2=Tercera quest para usuarios VIP 2
CommandChangeLimit_AL3 = 2 //Limite de evolución 0=Primera Quest, 1=Segunda Quest , 2=Tercera quest para usuarios VIP 3

6)El siguiente comando es el ware
Sintaxis del comando: /ware [nº de baul]
Función: Permite cambiar de baul.
Ejemplo: /ware 1
;==================================================
; Ware Command Settings
;==================================================
CommandWareSwitch = 1 // 1=Activa el comando 0=Desactiva el comando
CommandWareEnable_AL0 = 1 //1=Activa el comando, 0=Desactiva el comando a usuarios a FREE
CommandWareEnable_AL1 = 1 //1=Activa el comando, 0=Desactiva el comando a usuarios a VIP 1
CommandWareEnable_AL2 = 1 //1=Activa el comando, 0=Desactiva el comando a usuarios a VIP 2
CommandWareEnable_AL3 = 1 //1=Activa el comando, 0=Desactiva el comando a usuarios a VIP 3
CommandWareNumber_AL0 = 1 //Cantidad de baules que tendrá disponibles los usuarios FREE
CommandWareNumber_AL1 = 1 //Cantidad de baules que tendrá disponibles los usuarios VIP 1
CommandWareNumber_AL2 = 1 //Cantidad de baules que tendrá disponibles los usuarios VIP 2
CommandWareNumber_AL3 = 1 //Cantidad de baules que tendrá disponibles los usuarios VIP 3

7)El siguiente comando es el resets
Sintaxis del comando: /reset
Función: Permite realizar un reset previo alcanze de los requisitos establecidos.
Ejemplo: /reset
;==================================================
; Reset Command Settings
;==================================================
CommandResetSwitch = 1 //1=Activa el comando 0=Desactiva el comando
CommandResetType = 0 // 0=Mantiene los stats, 1=Borra los stats
CommandResetEnable_AL0 = 1 //1=Activa el comando, 0=Desactiva el comando a usuarios a FREE
CommandResetEnable_AL1 = 1 //1=Activa el comando, 0=Desactiva el comando a usuarios a VIP 1
CommandResetEnable_AL2 = 1 //1=Activa el comando, 0=Desactiva el comando a usuarios a VIP 2
CommandResetEnable_AL3 = 1 //1=Activa el comando, 0=Desactiva el comando a usuarios a VIP 3
CommandResetAutoEnable_AL0 = 1 // 1=Activa el auto resets, 0=Desactiva el auto reset para usuarios FREE
CommandResetAutoEnable_AL1 = 1 //1=Activa el auto resets, 0=Desactiva el auto reset para usuarios VIP 1
CommandResetAutoEnable_AL2 = 1 //1=Activa el auto resets, 0=Desactiva el auto reset para usuarios VIP 2
CommandResetAutoEnable_AL3 = 1 //1=Activa el auto resets, 0=Desactiva el auto reset para usuarios VIP 3
CommandResetCheckItem_AL0 = 0 //1=Activa el chequeo de items equipados, 0=Desactivada el chequeo de items equipados en usuarios FREE
CommandResetCheckItem_AL1 = 0 //1=Activa el chequeo de items equipados, 0=Desactivada el chequeo de items equipados en usuarios VIP 1
CommandResetCheckItem_AL2 = 0 //1=Activa el chequeo de items equipados, 0=Desactivada el chequeo de items equipados en usuarios VIP 2
CommandResetCheckItem_AL3 = 0 //1=Activa el chequeo de items equipados, 0=Desactivada el chequeo de items equipados en usuarios VIP 3
CommandResetMove_AL0 = 1 // 1=Activa el envio del personaje a una zafe zone luego de realizar el resets, 0=Desactiva el envio del personaje a una zafe zone luego de realizar el resets en usuarios FREE
CommandResetMove_AL1 = 1 //1=Activa el envio del personaje a una zafe zone luego de realizar el resets, 0=Desactiva el envio del personaje a una zafe zone luego de realizar el resets en usuarios VIP 1
CommandResetMove_AL2 = 1 //1=Activa el envio del personaje a una zafe zone luego de realizar el resets, 0=Desactiva el envio del personaje a una zafe zone luego de realizar el resets en usuarios VIP 2
CommandResetMove_AL3 = 1 //1=Activa el envio del personaje a una zafe zone luego de realizar el resets, 0=Desactiva el envio del personaje a una zafe zone luego de realizar el resets en usuarios VIP 3
CommandResetQuest_AL0 = 0 //1=Activa el borrado de la quest 0=Desactiva el borrado de quest en usuarios FREE
CommandResetQuest_AL1 = 0 //1=Activa el borrado de la quest 0=Desactiva el borrado de quest en usuarios VIP 1
CommandResetQuest_AL2 = 0 //1=Activa el borrado de la quest 0=Desactiva el borrado de quest en usuarios VIP 2
CommandResetQuest_AL3 = 0 //1=Activa el borrado de la quest 0=Desactiva el borrado de quest en usuarios VIP 3
CommandResetSkill_AL0 = 0 //1=Activa el borrado de skills 0=Desactiva el borrado de skills en usuarios FREE
CommandResetSkill_AL1 = 0 //1=Activa el borrado de skills 0=Desactiva el borrado de skills en usuarios VIP 1
CommandResetSkill_AL2 = 0 //1=Activa el borrado de skills 0=Desactiva el borrado de skills en usuarios VIP 2
CommandResetSkill_AL3 = 0 //1=Activa el borrado de skills 0=Desactiva el borrado de skills en usuarios VIP 3
CommandResetLevel_AL0 = 400 //Nivel requerido para realizar el resets en personajes FREE
CommandResetLevel_AL1 = 400 //Nivel requerido para realizar el resets en personajes VIP 1
CommandResetLevel_AL2 = 400 //Nivel requerido para realizar el resets en personajes VIP 2
CommandResetLevel_AL3 = 400 //Nivel requerido para realizar el resets en personajes VIP 3
CommandResetMoney_AL0 = 0 //Zen requerido para realizar el reset en usuarios FREE
CommandResetMoney_AL1 = 0 //Zen requerido para realizar el reset en usuarios VIP 1
CommandResetMoney_AL2 = 0 //Zen requerido para realizar el reset en usuarios VIP 2
CommandResetMoney_AL3 = 0 //Zen requerido para realizar el reset en usuarios VIP 3
CommandResetCount_AL0 = 1 //Cantidad de resets que recibe por cada resets realizado en usuarios FREE
CommandResetCount_AL1 = 1 //Cantidad de resets que recibe por cada resets realizado en usuarios VIP 1
CommandResetCount_AL2 = 1 //Cantidad de resets que recibe por cada resets realizado en usuarios VIP 2
CommandResetCount_AL3 = 1 //Cantidad de resets que recibe por cada resets realizado en usuarios VIP 3
CommandResetLimit_AL0 = 10000 //Limite de resets que podrá realizar usuarios FREE
CommandResetLimit_AL1 = 10000 //Limite de resets que podrá realizar usuarios VIP 1
CommandResetLimit_AL2 = 10000 //Limite de resets que podrá realizar usuarios VIP 2
CommandResetLimit_AL3 = 10000 //Limite de resets que podrá realizar usuarios VIP 3
CommandResetLimitDay_AL0 = 10000 //Limite de resets diarios en usuarios FREE
CommandResetLimitDay_AL1 = 10000 //Limite de resets diarios en usuarios VIP 1
CommandResetLimitDay_AL2 = 10000 //Limite de resets diarios en usuarios VIP 2
CommandResetLimitDay_AL3 = 10000 //Limite de resets diarios en usuarios VIP 3
CommandResetLimitWek_AL0 = 10000 //Limite de resets semanales en usuarios FREE
CommandResetLimitWek_AL1 = 10000 //Limite de resets semanales en usuarios VIP 1
CommandResetLimitWek_AL2 = 10000 //Limite de resets semanales en usuarios VIP 2
CommandResetLimitWek_AL3 = 10000 //Limite de resets semanales en usuarios VIP 3
CommandResetLimitMon_AL0 = 10000 //Limite de resets mensuales en usuarios FREE
CommandResetLimitMon_AL1 = 10000 //Limite de resets mensuales en usuarios VIP 1
CommandResetLimitMon_AL2 = 10000 //Limite de resets mensuales en usuarios VIP 2
CommandResetLimitMon_AL3 = 10000 //Limite de resets mensuales en usuarios VIP 3
CommandResetStartLevel_AL0 = 1 //Nivel con el que inician los usuarios FREE
CommandResetStartLevel_AL1 = 1 //Nivel con el que inician los usuarios VIP 1
CommandResetStartLevel_AL2 = 1 //Nivel con el que inician los usuarios VIP 2
CommandResetStartLevel_AL3 = 1 //Nivel con el que inician los usuarios VIP 3
CommandResetPoint_AL0 = 0 // Puntos por resets que recibe los usuarios FREE
CommandResetPoint_AL1 = 0 // Puntos por resets que recibe los usuarios VIP 1
CommandResetPoint_AL2 = 0 // Puntos por resets que recibe los usuarios VIP 2
CommandResetPoint_AL3 = 0 // Puntos por resets que recibe los usuarios VIP 3
CommandResetPointRateDW = 100 //Porcentaje de puntos que recibe los Dark Wizard
CommandResetPointRateDK = 100 //Porcentaje de puntos que recibe los DArk Knight
CommandResetPointRateFE = 100 //Porcentaje de puntos que recibe las Fairy Elf
CommandResetPointRateMG = 100 //Porcentaje de puntos que recibe los Magic Gladiator
CommandResetPointRateDL = 100 //Porcentaje de puntos que recibe los Dark Lord
CommandResetPointRateSU = 100 //Porcentaje de puntos que recibe las Summoner
CommandResetPointRateRF = 100 //Porcentaje de puntos que recibe los Rage Fighter

9)7)El siguiente comando es el Master resets
Sintaxis del comando: /mreset
Función: Permite realizar un master reset previo alcanze de los requisitos establecidos.
Ejemplo: /mreset
;==================================================
; Master Reset Command Settings
;==================================================
CommandMasterResetSwitch = 0 //1=Activa el comando 0=Desactiva el comando
CommandMasterResetType = 0 //0=Mantiene los stats, 1=Borra los stats
CommandMasterResetEnable_AL0 = 1 //1=Activa el comando, 0=Desactiva el comando a usuarios a FREE
CommandMasterResetEnable_AL1 = 1 //1=Activa el comando, 0=Desactiva el comando a usuarios a VIP 1
CommandMasterResetEnable_AL2 = 1 //1=Activa el comando, 0=Desactiva el comando a usuarios a VIP 2
CommandMasterResetEnable_AL3 = 1 //1=Activa el comando, 0=Desactiva el comando a usuarios a VIP 3
CommandMasterResetCheckItem_AL0 = 0 //1=Activa el chequeo de items equipados, 0=Desactivada el chequeo de items equipados en usuarios FREE
CommandMasterResetCheckItem_AL1 = 0 //1=Activa el chequeo de items equipados, 0=Desactivada el chequeo de items equipados en usuarios VIP 1
CommandMasterResetCheckItem_AL2 = 0 //1=Activa el chequeo de items equipados, 0=Desactivada el chequeo de items equipados en usuarios VIP 2
CommandMasterResetCheckItem_AL3 = 0 //1=Activa el chequeo de items equipados, 0=Desactivada el chequeo de items equipados en usuarios VIP 3
CommandMasterResetMove_AL0 = 0 // 1=Activa el envio del personaje a una zafe zone luego de realizar el resets, 0=Desactiva el envio del personaje a una zafe zone luego de realizar el master resets en usuarios FREE
CommandMasterResetMove_AL1 = 0 // 1=Activa el envio del personaje a una zafe zone luego de realizar el resets, 0=Desactiva el envio del personaje a una zafe zone luego de realizar el master resets en usuarios VIP 1
CommandMasterResetMove_AL2 = 0 // 1=Activa el envio del personaje a una zafe zone luego de realizar el resets, 0=Desactiva el envio del personaje a una zafe zone luego de realizar el master resets en usuarios VIP 2
CommandMasterResetMove_AL3 = 0 // 1=Activa el envio del personaje a una zafe zone luego de realizar el resets, 0=Desactiva el envio del personaje a una zafe zone luego de realizar el master resets en usuarios VIP 3
CommandMasterResetQuest_AL0 = 0 //1=Activa el borrado de la quest 0=Desactiva el borrado de quest en usuarios FREE
CommandMasterResetQuest_AL1 = 0 //1=Activa el borrado de la quest 0=Desactiva el borrado de quest en usuarios VIP 1
CommandMasterResetQuest_AL2 = 0 //1=Activa el borrado de la quest 0=Desactiva el borrado de quest en usuarios VIP 2
CommandMasterResetQuest_AL3 = 0 //1=Activa el borrado de la quest 0=Desactiva el borrado de quest en usuarios VIP 3
CommandMasterResetSkill_AL0 = 0 //1=Activa el borrado de skills 0=Desactiva el borrado de skills en usuarios FREE
CommandMasterResetSkill_AL1 = 0 //1=Activa el borrado de skills 0=Desactiva el borrado de skills en usuarios VIP 1
CommandMasterResetSkill_AL2 = 0 //1=Activa el borrado de skills 0=Desactiva el borrado de skills en usuarios VIP 2
CommandMasterResetSkill_AL3 = 0 //1=Activa el borrado de skills 0=Desactiva el borrado de skills en usuarios VIP 3
CommandMasterResetLevel_AL0 = 400 //Nivel requerido para realizar el master resets en personajes FREE
CommandMasterResetLevel_AL1 = 400 //Nivel requerido para realizar el masterresets en personajes VIP 1
CommandMasterResetLevel_AL2 = 400 //Nivel requerido para realizar el masterresets en personajes VIP 2
CommandMasterResetLevel_AL3 = 400 //Nivel requerido para realizar el masterresets en personajes VIP 3
CommandMasterResetReset_AL0 = 1000 //Resets requerido para realizar el master resets en personajes FREE
CommandMasterResetReset_AL1 = 1000 //Resets requerido para realizar el master resets en personajes VIP 1
CommandMasterResetReset_AL2 = 1000 //Resets requerido para realizar el master resets en personajes VIP 2
CommandMasterResetReset_AL3 = 1000 //Resets requerido para realizar el master resets en personajes VIP 3
CommandMasterResetMoney_AL0 = 0 //Zen requerido para realizar el master reset en usuarios FREE
CommandMasterResetMoney_AL1 = 0 //Zen requerido para realizar el master reset en usuarios VIP 1
CommandMasterResetMoney_AL2 = 0 //Zen requerido para realizar el master reset en usuarios VIP 2
CommandMasterResetMoney_AL3 = 0 //Zen requerido para realizar el master reset en usuarios VIP 3
CommandMasterResetCount_AL0 = 1 //Cantidad de master resets que recibe por cada master resets realizado en usuarios FREE
CommandMasterResetCount_AL1 = 1 //Cantidad de master resets que recibe por cada master resets realizado en usuarios VIP 1
CommandMasterResetCount_AL2 = 1 //Cantidad de master resets que recibe por cada master resets realizado en usuarios VIP 2
CommandMasterResetCount_AL3 = 1 //Cantidad de master resets que recibe por cada master resets realizado en usuarios VIP 3
CommandMasterResetLimit_AL0 = 10000 //Limite de master resets que podrá realizar usuarios FREE
CommandMasterResetLimit_AL1 = 10000 //Limite de master resets que podrá realizar usuarios VIP 1
CommandMasterResetLimit_AL2 = 10000 //Limite de master resets que podrá realizar usuarios VIP 2
CommandMasterResetLimit_AL3 = 10000 //Limite de master resets que podrá realizar usuarios VIP 3
CommandMasterResetLimitDay_AL0 = 10000 //Limite de master resets diarios en usuarios FREE
CommandMasterResetLimitDay_AL1 = 10000 //Limite de master resets diarios en usuarios VIP 1
CommandMasterResetLimitDay_AL2 = 10000 //Limite de master resets diarios en usuarios VIP 2
CommandMasterResetLimitDay_AL3 = 10000 //Limite de master resets diarios en usuarios VIP 3
CommandMasterResetLimitWek_AL0 = 10000 //Limite de master resets semanales en usuarios FREE
CommandMasterResetLimitWek_AL1 = 10000 //Limite de master resets semanales en usuarios VIP 1
CommandMasterResetLimitWek_AL2 = 10000 //Limite de master resets semanales en usuarios VIP 2
CommandMasterResetLimitWek_AL3 = 10000 //Limite de master resets semanales en usuarios VIP 3
CommandMasterResetLimitMon_AL0 = 10000 //Limite de master resets mensuales en usuarios FREE
CommandMasterResetLimitMon_AL1 = 10000 //Limite de master resets mensuales en usuarios VIP 1
CommandMasterResetLimitMon_AL2 = 10000 //Limite de master resets mensuales en usuarios VIP 2
CommandMasterResetLimitMon_AL3 = 10000 //Limite de master resets mensuales en usuarios VIP 3
CommandMasterResetStartLevel_AL0 = 400 //Nivel al que volverá los personajes FREE
CommandMasterResetStartLevel_AL1 = 400 //Nivel al que volverá los personajes VIP 1
CommandMasterResetStartLevel_AL2 = 400 //Nivel al que volverá los personajes VIP 2
CommandMasterResetStartLevel_AL3 = 400 //Nivel al que volverá los personajes VIP 3
CommandMasterResetStartReset_AL0 = 0 //Resets a los que volverá los personajes FREE
CommandMasterResetStartReset_AL1 = 0 //Resets a los que volverá los personajes VIP 1
CommandMasterResetStartReset_AL2 = 0 //Resets al que volverá los personajes VIP 2
CommandMasterResetStartReset_AL3 = 0 //Resets al que volverá los personajes VIP 3
CommandMasterResetPoint_AL0 = 0 // Puntos por master resets que recibe los usuarios FREE
CommandMasterResetPoint_AL1 = 0 // Puntos por master resets que recibe los usuarios VIP 1
CommandMasterResetPoint_AL2 = 0 // Puntos por master resets que recibe los usuarios VIP 2
CommandMasterResetPoint_AL3 = 0 // Puntos por master resets que recibe los usuarios VIP 3
CommandMasterResetPointRateDW = 100 //Porcentaje de puntos que recibe los Dark Wizard
CommandMasterResetPointRateDK = 100 //Porcentaje de puntos que recibe los DArk Knight
CommandMasterResetPointRateFE = 100 //Porcentaje de puntos que recibe las Fairy Elf
CommandMasterResetPointRateMG = 100 //Porcentaje de puntos que recibe los Magic Gladiator
CommandMasterResetPointRateDL = 100 //Porcentaje de puntos que recibe los Dark Lord
CommandMasterResetPointRateSU = 100 //Porcentaje de puntos que recibe las Summoner
CommandMasterResetPointRateRF = 100 //Porcentaje de puntos que recibe los Rage Fighter

10)Para finalizar, veremos como modificar la sintaxis de cada comando, es decir, en lugar de escribir /post, podemos modificarlo para simplificarlo a /p, extenderlo o cambiar completamente la sintaxis.
Para eso debemos ingresar a la siguiente ruta: Muserver\Data y abrimos el archivo llamado Message.txt

Visualizando el archivo message

Entonces para modificar la sintaxis de un comando, basta con modificar lo que este despues del /, recordando que no debes eliminar las "" ni el /
Luego de efectuar los cambios, debemos hacer un reload para que tomen efecto.

Cambiar puntos por level en MUEMU

Bienvenidos a un nuevo tutorial, hoy veremos algo rápido, sencillo pero práctico.
Se trata de como configurar los puntos que recibe cada raza por nivel realizado.

El archivo encargado de esta configuración es el GameServerInfo - Common.dat el cual se encuentra en la siguiente ruta: Muserver\GameServer\DATA

1)Una vez abierto nos posicionamos sobre la linea: Level Up Settings

Visualizando las lineas Level Up Point

2)Y ahora analizemos que significa cada linea:
MaxLevelUp = 1 //Número máximo de niveles que se pueden realizar de forma simultanea.
MaxLevelUpEvent = 1 // Número máximo de niveles que se pueden realizar en eventos
MaxLevelUpQuest = 1 //Número máximo de niveles que se pueden realizar luego de la Quest
MaxStatPoint_AL0 = 65000 //Valor maximo de stats en usuarios FREE
MaxStatPoint_AL1 = 65000 //Valor maximo de stats en usuarios VIP 1
MaxStatPoint_AL2 = 65000 //Valor maximo de stats en usuarios VIP 2
MaxStatPoint_AL3 = 65000 //Valor maximo de stats en usuarios VIP 3
DWLevelUpPoint = 5 //Puntos por nivel alcanzado en el personaje Dark Wizard
DKLevelUpPoint = 5 //Puntos por nivel alcanzado en el personaje Dark Knight
FELevelUpPoint = 5 //Puntos por nivel alcanzado en el personaje Fairy Elf
MGLevelUpPoint = 7 //Puntos por nivel alcanzado en el personaje Magic Gladiator
DLLevelUpPoint = 7 //Puntos por nivel alcanzado en el personaje Dar kLord
SULevelUpPoint = 5 //Puntos por nivel alcanzado en el personaje Summoner
RFLevelUpPoint = 7 //Puntos por nivel alcanzado en el personaje Rage Fighter
PlusStatPoint = 1 // Puntos de bonificación luego de la quest de Marlon
Recuerden que los cambios tambien deberán ser efectuados en el mismo archivo pero en la siguiente ruta: Muserver\GameServerCS\DATA

Tambien no olviden hacer un reload para que los cambios tengan efecto.

Modificar los textos del cliente en MUEMU

Bienvenidos a un nuevo tutorial, hoy aprenderemos a modificar varios textos que se encuentran del lado del cliente en MUEMU

1)El primero será el ya conocido "ServerList", pero para saber de que se trata veamos la siguiente imagen:

Interfaz del cliente Season 8 ep3 MuEMU

Por incompatibilidad no podemos usar el Magic Hand ya que al intentar abrir el archivo este no cargará los textos, por eso debemos de usar una nueva aplicación, es decir, usaremos el ZfileManager el cual ya estará disponible para su descarga.
Una vez descargado, lo ejecutamos.

Interfaz de la aplicacion Zteam

2)Ahora hacemos un clic en "Client" => "Configuration" => "ServeList.bmd"

Seleccionando el serverlist para editar

3)En nuestra nueva ventana, debemos buscar el archivo ServerList.bmd el cual se encuentra en la siguiente ruta: Cliente MUEMU\Data\Local
Luego hacemos un clic en "Abrir"

Seleccionando el serverlist para editar

4)En el campo "Name" podremos editar el nombre por el de nuestro servidor.
No esta demás aclarar que cada cada ID hace referencia a un server diferente, el ID=0 sería nuesto server principal.

Cambiando el nombre

5)Adicionalmente, podemos modificar la posición en donde aparece el selector del servidor, para eso debemos modificar el valor 0 en la columna ServerPos y dependiendo en donde deseamos visualizarlo dependerá el valor que debemos ingresar:
ServerPos=0 //Posición actual, es decir, del lado izquierdo de la intefaz
ServerPos=1 //Aparecerá del lado derecho de la interfaz
ServerPos=2 //parecerá del lado de abajo de la interfaz
Para entenderlo mejor, veamos la siguiente imagen:

Posicion del serverlist en la intefaz del cliente

6)Luego de efectuar los cambios, hacemos un clic en "File" => "Save" y seleccionamos la ruta en donde deseamos guardarlo.

Salvando los cambios del archivo serverlist

7)Otro texto que veremos hoy para modificar es el que aparece en la parte inferior de la interfaz inicial. Veamos una imagen para entender mejor.

Texto a modificar en la interfaz del cliente Season 8 Ep 3

8)Para editar esa linea, aprovecharemos el mismo editor que usamos recientemente, la diferencia es que ahora en lugar de seleccionar el ServerList.bmd debemos seleccionar el "Text.bmd"
Antes de editar el archivo debemos saber que existen tres text.bmd dentro del cliente, cada uno se aloja en una carpeta diferente y corresponde a un idioma o lenguaje de nuestro juego.
Los tres lenguajes disponibles con su respectiva carpeta son los siguientes:
Eng=Ingles
Spn=Español
Por=Portugues
Este idioma lo podemos modificar en la entrada de nuestro registro "LangSelection" de forma manual o pueden hacerlo de forma sencilla ingresando a la siguiente ruta "Cliente MUEMU\Lenguaje Cliente", alli nos encontraremos tres archivos.reg y para modificar el idioma bastará con ejecutar el .reg que deseamos.



Tengan en cuenta que si modificamos los archivos .bmd por ejemplo de la carpeta ENG, no se reflejarán los cambios si ingresamos al juego con el lenguaje activo SPN por eso recomendamos editar los tres archivos de cada lenguaje o si solo quieren trabajar con un solo idioma debemos indicarle a nuestros jugadores que ejecuten el archivo .reg correspondiente antes de ingresar al juego.

Entonces, de la misma forma que lo hicimos anteriormente, abrimos la aplicación ZfileManager hacemos un clic en "Client" => "Configuration" => "Text.bmd"

Abriendo el text.bmd con la aplicación ZFileManager

9)En nuestra nueva ventana, debemos buscar el archivo text_.bmd, entonces si lo que desean es editar el text_eng.bmd su ruta es: Cliente MUEMU\Data\Local\Eng ,
si lo que desean es editar el text_spn.bmd su ruta es : Cliente MUEMU\Data\Local\Spn
y si deseamos editar el text_por.bmd su ruta es: Cliente MUEMU\Data\Local\Por
A modo de ejemplo, editaremos en text_eng.bmd, entonces lo seleccionamos y hacemos un clic en "Abrir"

Seleccionando el archivo text_eng.bmd para su edición

10)El programa cargará nuestro archivo text_eng.bmd y de esta forma podremos editarlo.
La linea a editar se encuentra en la posición [454] y [455].

Editando el text_eng.bmd

11)Luego de editar nuestro archivo salvamos los cambios haciendo un Clic en "File" => Save y reemplazamos el text de nuestro cliente por el modificado.

Otras de las modificaciones que veremos relacionada a los textos del cliente, es la encargada de los mensajes en forma de marquesina que aparecen en la parte superior de cliente.
Veamos la siguiente imagen para enteder de que se trata:

Editando el text_eng.bmd

12)Para poder editar esos textos utilizaremos una vez el ZfileManager.
Al igual que con el archivo anterior, este tambien se repite tres veces , es decir, uno por cada idioma de nuestro cliente.
Entonces para poder editar el archivo hacemos un clic en "Client" => "Configuration" => "Slide_.bmd"

Abriendo el archivo slide_eng.bmd para su edicion

13)En nuestra nueva ventana, debemos buscar el archivo slide_.bmd el cual se encuentra en la siguiente ruta: Cliente MUEMU\Data\Local\
A modo de ejemplo, editaremos en slide_eng.bmd, entonces lo seleccionamos y hacemos un clic en "Abrir"

Editando el archivo slide_eng del cliente

14)Luego de efectuar los cambios guardamos y reemplazamos
Y finalmente veremos como editar el nombre de la ventana del juego, para entender de que se trata veamos la siguiente imagen:

Modificando el nombre de la ventana en el archivo MainInfo.ini

15)Para editar el nombre de la ventana, debemos volver a generar el patch "main.emu" ya que ese texto está contenido en el archivo MainInfo.ini
Entonces, abrimos el archivo y nos posicionamos sobre la linea: WindowName y modificamos lo que esta despues del = por el nombre que deseamos. (No olviden configurar la IP en el caso de trabajar con el Patch original)
Luego de eso, volvemos a generar el archivo main.emu haciendo clic en la aplicación GetMainInfo.exe y lo pegamos en el cliente reemplazando el anterior.
Para verificar que todo este correcto, ingresamos al juego a verificar los cambios.

Verificando los cambios dentro del cliente

*Recueden, antes de modificar un archivo siempre realizen un backup del original ya que cometemos algun error tendremos un respaldo