RkM [Tu Ranking MuOnline]

En RKM siempre nos estamos actualizando, es por eso que RKM ya no solo publicará servidores MuOnline sino que ampliamos la gama a los siguientes servidores:

* MuOnline
* Counter Strike
* Lineage 2
* Metin 2
* Aion Online
* Cabal
* World of Warcraft
Al registrar tu servidor, podras seleccionar entre estos server, cada server tiene su propia sección pero en el sitio GENERAL puede aparecer cualquier server [el que tendra mayor cantidad de votos]

Cambiar premios de los eventos [Illusion Temple y Chaos Castle]

Cuando ya tenemos nuestro server online , y la gente empieza a jugar llega un momento que los usuarios reclaman cambiar los premios que reciben de los eventos, o son ustedes mismo los admines quienes toman esas determinaciones.



En este ocasión vamos a aprender a cambiar el premio de algunos eventos al azar, correspondiente a las versiones season 3, season 4, season 5 y season 6.
Voy a tomar el "Illusion Temple" para comenzar con esto, lo primero que vamos hacer será abrir la siguiente ruta
Muserver/scfdata/EventConfig
y vamos abrir el archivo
SCF_IllusionTemple.ini
Nos encontraremos con algo similar a esto [Estoy trabajando con un Season 4]

Archivo del evento illusion template

1)Bien , como veran yo señale una parte en rojo que es lo que nos intereza se llama REWARD (recompensa), entonces analizemos que es cada linea para comprender mejor
SCFIllusionRewardItemType =14 [tipo de items]
SCFIllusionRewardItemIndex =57 [Identificación del item]
SCFIllusionRewardItemLevel =0 [Nivel del item]
SCFIllusionRewardItemOpt =0 [Opciones del items]
SCFIllusionRewardItemLuck =0 [Suerte del item 1=si 0=no]
SCFIllusionRewardItemSkill =0 [Skill del item 1=si 0=no]
SCFIllusionRewardItemDur =0 [Duración del items de 1 a 255]
SCFIllusionRewardItemIsExc =0 [Excelente? 1=si 0=no]
Bien ya sabemos que es cada linea , pero ustedes se preguntaran ¿Cómo cambio el premio? Bien el item o premio lo determina las dos primeras lineas es decir el "Type" y el "Index" , para el que no esta registrado en nuestro sitio y es la primera guia que lee , seguramente no entenderá, si observan las fechas de publicacion mis guias siguen un hilo conductor lo cual siempre que explico algo , la anterior guias ya esta explicado con detalles , esto lo hago para que cada guias sean un aprendizaje más y no siempre ver lo mismo. Para el que no entiende que es el type y el index lo invito a leer el siguiente tutorial Ver Aqui
2)Ahora veamos que item es ese "14 57", para eso abrimos nuestros item[protocolo].txt en nuestro server y buscamos el type 14, index 57

Item kor

3) Si vemos de que item se trata , es de una "Purple Chaos Box", yo realmente no sabía que item era, pero sabia que se trataba de una caja, de una joya talvez, y todo tiene una lógica, si observan bien el level, la suerte, el skill, la duración , etc; podemos ver que están todos en 0 [cero] entonces yo ya sabía que no era un items como un casco, u una espada. Siempre hay que usar la lógica , es la mejor herramienta para cuando aparece un tema nuevo.
Bien , pero no siempre tenemos estas opciones tan abiertas, es el caso del evento del Chaos Castle de la season 5. Para analizarlo buscamos el archivo correspondiente que lo podemos encontrar en la siguiente ruta
Muserver/data/commonserver.cfg
en las lineas correspondiente al "Chaos Castle"

Chaos castle

4)En este caso como verán el código es el siguiente:
ChaosCastleEvent = 1
SCFChaosCastleMinStart = 2
SCFChaosCastleReward1Type = 14
SCFChaosCastleReward1Index = 14
SCFChaosCastleReward2Type = 14
SCFChaosCastleReward2Index = 22
SCFChaosCastleReward3Type = 14
SCFChaosCastleReward3Index = 13
SCFChaosCastleReward4Type = 14
SCFChaosCastleReward4Index = 16
Si observamos nuevamente lo siguiente, verán que se repite constantemente dos variables Types e Index, y tenemos 1 ,2, 3, y 4 , pero lo que sucede aca que no podemos poner ni skill, ni luck, ni ninguna opción como vimos anteriormente, sino que solo podemos poner el codigo del item, por eso si vamos a ver de que items se tratan estos , veremos que 14/14, 14/22, 14/16 son "Joyas".
Quiere decir que en este caso no podemos personalizar el dropeo al 100% sino que tenemos cierta limitación. Una solución alternativa, es cambiar esas joyas por algun tipo de box o caja, entonces luego podremos manipular el drop de esa box a nuestro gusto.
Bueno el mecanismos es similar para cualquier evento ya sea en una carpeta o en el archivo commonserver.cfg siempre nos encontraremos con ese tipo de lectura de items.

El problema de las IPs

Esta explicación es para toda las personas que se hacen problemas a la hora de configurar las ips en el server o en el cliente.

Configuración de ips

Generalmente en nuestra casa nos podemos encontrar con dos tipos de configuraciones.
Una conexión simple con un modem que nos asigna una:
  • IP Pública= 189.145.52.64

  • IP Local = 127.0.0.1

  • La ip privada o localhost es propia, todas las pcs tienen esta ip privada o localhost, es de conexión local, no sirve para usarla ni de forma pública ni de forma lan.
    Este tipo de conexión "simples" sólo la tendremos si usamos la pc conectada directamente a un modem o si de esa misma pc tenemos una conexión compartida por placa de red.

    La segunda conexión que podemos tener en nuestra casa, es la asignada por un Modem-router que aunque solo la usemos con una pc hay un cambio.
  • IP Pública: esta ip la recibe el router y no nuestra pc

  • IP Lan: esta ip es asignado por nuestro router atraves de un "DHCP" o configuración misma del router a nuestra pc

  • IP Local: siempre tendremos una ip local o localhost que es la ip 127.0.0.1

  • En esta conexión sucede algo importante, nuestra/s pc o pcs ya no reciben más la ip pública directa (Como en el caso anterior, es decir, como una conexión simples), sino que de eso se encarga el DHCP y la puerta de enlace predeterminada, que generalmente, por defecto es la ip del router (No importa si estas conectado por cable o wifi, es igual).
    Las ips de los routers generalmente son 192.168.0.1, 192.168.1.1, 10.0.0.1,
    Ahora, si tenemos un router con la ip 192.168.0.1 (Como puerta de enlace predeterminada) nuestra pc va a recibir por DHCP la siguiente ip 192.168.0.2 y si tenemos otra pc recibimos la ip 192.168.0.3, (siempre y cuando nuestro router este configurado con asignación de ips de forma ascendente).
    Pero eso no quiere decir que no tengamos una ip pública, si bien la ip pública "la tiene el router", es la ip con la que nuestra pc de identificará en la red.

    Adicionales:

    *Hablar de ip pública y de no-ip es lo mismo, eso ya lo mencioneé varias veces.
    *La ip lan es única e irrepetible. Dos o más pcs conectadas a una misma red local no pueden tener la misma dirección de ip lan, en el caso que exista una repetición las pcs afectadas entrarán en un conflicto de identidad.
    *La ip privada o localhost sólo es para uso privado, en donde el acceso es propio de la misma pc donde se ejecute.
    *Para conocer nuestras nuestras ips es cuestión de ir a
    Inicio=>ejecutar=>cmd
    y luego tipiar ipconfig [Enter]
    *Tener varias pcs conectadas a un mismo router no significa tener varias ips públicas, la ip pública es sola una para todas las pcs, lo que cambia es la ip lan para diferenciar internamente los equipos.
    *Jamás pero jamás una main público puede estar editado con una ip lan o una ip privada. Siempre con una ip pública.
    *Las ips públicas generalmente son dinámicas (Cambian, rotan o se modifican, generalmente cuando reiniciamos el router)
    *Las ips lan tambien son dinámicas; por ejemplo: hoy tenemos la ip lan 192.168.0.2, se nos reinicia la pc, si en ese momento entre que vuelve a iniciar la pc, se conecto al router otro dispositivo, es posible que nuestra ip que teniamos, es decir, la 192.168.0.2 sea asignada a ese dispositivo que se acaba de conectar antes que nosotros y nuestra pc recibe la siguente ip lan 192.168.0.3 (No sucede siempre, pero puede suceder)
    *En una conexión lan podemos estaticar la ip configurando nuestra placa de red, puerta de enlace, dns, etc. con los datos de nuestra conexión.
    *Leer el manual de nuestro router nos puede ayudar a comprender mejor su funcionamiento.
    *Resetiar un router no es apagarlo y prenderlo, es buscar en el dispositivo físico (un botoncito) que dice "Reset" y mantenerlo apretado por 15/30 segundos con eso borramos todas las configuraciones y nuestro router volverá a su estado por default o de fábrica.
    *El DCHP es una asignación automática de una ip lan, que siempre va de forma consecutiva (Ascendente o descendente, y en algunos casos es posible establecer rangos).
    Espero que esto les aclare algunas dudas sobres las ips.

    Parche para el Cliente MuOnline

    Bienvenidos a un nuevo tutorial, muchos mails nos consultan sobre parches para el cliente, ¿Qué es? ¿Cómo se hacen? ¿Para qué sirven?
    Los parches para clientes de mu, eran apreciados en épocas un poco antiguas, donde no había tanta diversidad de versiones de mu, sino que los pocos servidores que existían eran, 0.74, 0.97, 0.97+0.99 o 0.99b, creo que fue la etapa en que las versiones duraban sin que fuesen sustituidas rápidamente.

    Parche

    Pero en fin, ¿Qué hace diferente el cliente de un server de otro?.
    Básicamente el main y/o launcher (Ya que en ellos están contenidos datos como la ip, la versión y el serial de nuestro servidor MuOnline), pero tambien existen otros archivos y carpetas que personalizan a nuestro juego haciendolo único, como por ejemplo el logo de carga, los textos, etc.
    La función fundamental del parche es por ejemplo, si un usuario juega a un servidor 0.99B y quiere entrar a jugar a nuestro servidor (Que es de la misma versión) no será necesario que se baje el cliente completo sino que puede bajarse el parche de nuestro juego y adicionarselo al cliente ya descargado del otro servidor.

    1)Entonces para comenzar el armado de nuestro parche, crearemos una carpeta llamada "Parche o Patch" (Pueden colocarle el nombre que desean) e incluir en la raiz de esa carpeta el main.exe y/o launcher.exe (En el caso que usemos launcher)
    En este paso tengan cuidado, puede que nuestro main tenga hookeada alguna/s .dll/s especiales que no estan presentes en otros clientes, en ese caso debemos adjuntar la/s .dll/s junto al main para evitar un error de "archivo no encontrado".

    2)El segundo paso será incluir la carpeta llamada "Local" que se encuentra en la ruta MiCliente/data/
    Entonces sobre la carpeta "Parche" o "Patch" creamos una carpeta llamada "Data" y luego pegamos la carpeta "Local" dentro. (Esto evita que los usuarios tengan que estar pegando carpeta por carpeta en cada ruta del cliente, de esta forma el usuario solo deberá pegar el contenido de la carpeta "Parche" o "Patch" sobre el cliente)
    La carpeta "Local" contiene diversos archivos, como por ejemplo el item.bmd, el text.bmd, move.bmd, etc (El contenido exacto de esta carpeta esta dado por la versión de nuestro cliente),
    Estos archivos son fundamentales para evitar bugs de todo tipo, ya que, por ejemplo, si usamos un item.bmd que no es el de nuestro servidor, es probable que los jugadores tengan bugs en referencia al espacio que ocupan los items, nombre de los items, propiedades etc.

    3)Y finalmente, deberemos incluir la carpeta llamada "Interface" ubicada en MiCliente/data/
    Al igual que como hicimos en el paso número 2 ,es decir, copiamos la carpeta "Interface" y la pegamos en la carpeta "Data" de nuestro parche.
    (Esta carpeta contiene logos e imágenes de carga del cliente, aca tambien dependerá de la versión de nuestro juego, ya que por ejemplo el logo de carga en un cliente 0.97D no se encuentra en esta carpeta pero si en la carpeta "Local")

    Si hemos realizado correctamente los pasos anteriores, al finalizar nuestra carpeta "Parche" o "Patch" tendrá en su contenido las siguientes carpetas/archivos.
  • Main y/o Luncher (Junto a sus dependencias .DLL, .ini, etc)

  • Carpeta data/local [Completa]

  • Carpeta data/interface [Logos de carga, interfaces del juego, etc.]
  • Adicional:
    Para las versiones viejas brindar parches no es un problema mayor si seguimos los pasos de este tutorial, pero para las versiones a partir de Season 3 hasta Season 6 es un poco más complicado porque si bien un usuario puede tener un cliente de nuestra misma versión, nada indica que tambien sean compatibles.

    Ya en versiones Season 8, Season 9, Season 10, Season 11 , Season 12 y siguientes no recomedaria utilizar parches y si deciden hacerlo tenga en cuenta que ademas de las carpetas básicas, tendrán que agregar otras como por ejemplo la del CashShop sino, es probable que nos les funcione dentro del juego.

    No hace falta aclarar que si tenemos un cliente con items agregados, skins,mapas o lo que fuera y estamos haciendo un parche, deberán agregar los archivos y texturas en las carpetas correspondientes (Player, Item, etc...)

    Script MuOnline para el MSN Plus

    Este script es un plugin de uso exclusivo para el Msn Plus. Generalmente ustedes lo que hacen es poner como subnick de msn el estado de su server (Online), las cuentas creadas y el nombre del server.
    Pero sin duda cuando cambia alguna de estas variables (Estado de server, cuentas creadas, etc) no lo actualizan enseguida en su nick y si lo harían deberían estar 24:00hs cambiando estas variables. Bien en este tutorial les voy a enseñar como activar este script llamado "Script MuOnline V 1.0" en su msn plus que a diferencia de lo que ustedes hacen , este script lo hace automáticamente ya que lee directamente desde nuestra base de datos y se actualiza solo cada cierta cantidad de segundos (aprox. 10 segundos).



    "Script MuOnline V 1.0" es cortesia de AP creado por Fernando Nicacio yo simplemente lo que hice fue traducir el código que aparece en el MSN y reconstruir a español el módulo de conexión a la base de datos (nada del otro mundo, pero les ayuda a ustedes a entender mejor el funcionamiento del código) veamos un ejemplo del trabajo terminado para saber de que se trata:

    Interfaz del script funcionando

    1)Para lograr esto necesitamos, como dije anteriormente, la versión de MSN live + el plus.
    No hace falta aclarar que si sólo bajamos el plus e intantamos instalarlo no va a funcionar, porque como dije anteriormente necesitamos la versión de Msn Live. (Igualmente el programa los llevará a la descarga directa del msn)
    Lo siguiente a descargar, será el script que vamos a utilizar, el llamado "Script MuOnline V 1.0"
    Una vez que descargamos los archivos tendremos algo similar a esto:

    Archivos que contienen del script

    2)Entonces, tenemos 2 carpetas y 1 txt, la primera carpeta llamada página contiene un archivo llamado byasd.php , la segunda carpeta llamada Script contiene el .plsc para el Plus MSN y el .txt que tenemos contiene como todos los archivos del sitio el password para descomprimir.
    Lo primero que vamos hacer será pegar el archivo byasd.php en donde está nuestra página web en la ruta que corresponda si usamos el xampp en la carpeta
    "htdocs"
    si usamos el AppServ en la carpeta
    "www"
    para evitar problemas de configuración no hagan subrutas , me refiero a htdocs/scripmsn/prueba/byasd.php , ¿se entiende? sino que directamente lo ponen junto al archivo index.php que tienen , total no creo que nadie tenga un archivo llamado byasd.php que puede ser reemplazado.Una vez que lo pegamos lo abrimos y editamos los siguientes datos:

    Configurando la conexión a SQL

    3)Bien creo que con esto no abrá problemas,
    define('user', 'sa'); //-- Usuario SQL(sa)
    define('password', 'tupassword'); //-- Pasword SQL
    define('ip', '127.0.0.1'); //-- Ip local (127.0.0.1)
    define('db', 'MuOnline'); //-- Base de Datos (MuOnline)
    define('puertogs', '55901'); //-- Puerto SQL (55901)
    Simplementen cambien el password por el suyo y listo. Lo demás lo dejan así (a menos que usen otro puerto de gs.exe)

    4)Ahora pasemos a la parte del script, para esto, abrimos el archivo llamado
    Script MuOnline v1.0 que se encuentra dentro de la carpeta Script.
    Le hacemos doble clic sobre el y saldrá el siguiente cartel:

    Aceptando instalación del Script

    Una vez que lo tenemos cargado, abrimos la ventana del msn y hacemos un clic en script , [ver la siguiente imagen para entender mejor]

    Iniciando script

    5)Expandimos la entrada de Mu Online Script - Messenger Plus y hacemos clic en "activar"

    Activando script

    6)Ahora volvemos a entrar y vamos a la opción "Configurar"

    Configurando script

    7)Lo configuraremos de la siguiente manera:
  • Preencha com o local de donde esta a pagina!:

  • "Ponemos 127.0.0.1/" para entender que estamos haciendo ahí debemos rutiar donde esta el archivo byasd.php , como yo les dije que lo pongan en la raíz no hace falta indicar más rutas. En caso que lo pongamos en alguna subcarpeta debemos indincarle donde esta por ejemplo asi
    127.0.0.1/micarpeta/byasd.php
    donde "mi carpeta" es la sub-carpeta que nosotros creamos. Algo importante es la última barra "/" si o si debe estar porque eso indica el "mapeo" del archivo byasd.php (tambien pueden usar el no-ip o el dominio .com)
  • Preencha com o nome da pagina!:

  • Ahi ponemos byasd.php (nombre del archivo, es por eso que antes le dije que para evitar problemas de configuracion usemos todos el mismo nombre para evitar confusiones)
  • Preencha com seu site!:

  • Aqui ponemos el nombre de nuestro Server MuOnline

    Agregando los datos de nuestro servidor

    8)Si todo está bien, hacemos un clic en "Aceptar" y automáticamente aparecerá nuestro server, cuentas, estado , pjs online y nombre.
    Lamentablemente no se puede modificar más de lo que modifique yo, es decir traducir lo que acompaña las variables, es un codigo cerrado en un formato único para el PLUS (abria que intentar con distintos editores). No me puse a investigar si hay forma de abrir y borrar por ejemplo lo que dice
    "Script Mu Online v1.0" porque está dentro del script cerrado.

    Observaciones: talvez alguno prueba con editar el subnick borrando o cambiando algo, pero digamos que eso sería algo de poco sentido, porque en la próxima actualización el código regresará a su estado original, se llama dependencias. Para poder editar el script desde dentro y borrar lo que dice por ejemplo "Script Mu Online v1.0" o cambiar cualquier cosa, necesitamos el source sin compilar. Yo particularmente estuve leyendo el manual de programadores de Msn Plus y utiliza un lenguaje familiar de programación talvez dedique algunos tutoriales para realizar este tipo de scripts u otros , se me ocurre agregar otras variables como subservers y estados , admines, gms, etc.

    Favicon para paginas webs

    Es este simple pero práctico tutorial vamos a ver un tema que muchos consultan , el tema de la "imagen" (favicon) que aparece junto a la barra de navegación de los exploradores. Bueno justamente eso se llama Favicon y veamos una imagen para saber de que se trata para el que no lo conoce

    Visualizando favicon en el navegador

    1)Esa pequeña o diminuta imagen que aparece junto a la URL de nuestra web se llama favicon, es una imagen reducida en pixeles que se muestra y generalmente hace alusión a nuestra web, ya sea por un símbolo, un logo o algo que tenga nuestro sitio.
    Como esta guia y como las otras estan aplicadas al MuOnline sin duda de eso trata , de hacer un favicon relacionado al MU.



    Esta imagen la podemos hacer con cualquier programa ya sea en .jpg y con otro programa cambiar la extencion a .ico.
    Yo les voy a mostrar una web la cual me entretuvo un gran tiempo www.favicon.com
    2)La siguien imagen muestra un demo de la web

    Interfaz del sitio favicon

    3) Si bien está en Ingles , el funcionamiento es muy simple , es como crear un LOGO DE GUILD , pixel por pixel, también podemos exportar una imagen .ico y modificarla o podemos hacer una .ico dinámica (con movimiento). Todo será cuestión de revisar la web. En PREVIEW (vista previa) nos muestra como se verá en nuestra web una vez cargado, yo hice algo asi:

    Dibujando la imagen en el sitio

    4)Una vez que ya tenemos terminado nuestro favicon, hacemos un clic en donde dice "Download Favicon" y lo guardamos en un lugar visible porque lo vamos a utilizar después.

    Descargando y guardando nuestro favicon previamente realizado

    5)Ya tenemos nuestra imagen .ico ahora lo que debemos hacer es copiar un pequeño script en nuestro index.php para que cargue el favicon al entrar en la web. Es importante que el script esté entre las etiquetas "head" y "head".El script es el siguiente :
    Agregando código de favicon

    Lo único que debemos modificar es la ruta de nuestro favicon, yo por ejemplo lo tengo en images/favicon.ico pero si ustedes pegan el archivo .ico [el que descargamos] en otra ruta distinta deben cambiarlo. Recuerden que en lenguaje *html , "href" es un link de busqueda.
    El resultado sería algo asi:

    Visualizando favicon en el sitio

    Bueno espero ver bonitos diseños y mejores que el mio ja, recuerden que también pueden hacerlo dinámico, revisen bien el sitio.

    Agregar personajes a un web

    En esta guia lo que vamos aprender es como agregar un pj nuevo a nuestra Web MuOnline, generalmente al ranking o a cualquier módulo que lo necesiten.
    Antes de comenzar hay que aclarar un par de términos que nos ayudaran a comprender esta guia: El primer término que debemos conocer es "Funcion" o "function", este término nos ayudará a entender varias cosas de una página web. ¿Pero qué es una función?



    Una función son acciones que a lo largo del script van a ser ejecutadas multitud de veces agrupandolas, y desde cualquier punto del script puede ser llamada y ejecutada.
    A su vez, esta función puede recibir parámetros externos de los cuales dependerá el resultado.
    Para el que no entendio yo voy a ejemplificar con algo más simple, supongamos que estamos haciendo una casa y tenemos en una parte de nuestra construcción , gente que pinta, gente que martilla, gente que pone puertas (cada uno de esos grupos de gente es una FUNCION). Entonces en una parte determinada necesito pintar una puerta, ¿Qué hago? llamo a esa gente (función) y esa misma me pinta la casa. Ahora relacionemos todo a lo anterior, primero el Script original era la construccion de la casa, las funciones son cada grupo de gente que hace diversas cosas (pintar, martillas, poner puertas) que las podemos llamar para darle un nombre mas técnico y de acuerdo a lo que estamos viendo como:
    Function pintar
    Function martillar
    Bien esa es una breve introducción a las funciones en php de un script, ahora volvemos a lo que nos intereza, agregar un personaje a la web, lo titulé así porque está pensado en aquellas web viejas o nuevas que por ejemplo no leen el pj Summoner o el pj de la versión Season 6 llamado RafeFighter.
    Entonces, lo primero que vamos hacer es chequiar las funciones que tiene nuestra web, yo en este caso utilizaré una web TR , por supuesto y lógica que no puedo hacer una guia por cada web existente porque seria algo interminable sino que como siempre digo cada uno lo aplicará a su necesidad.
    1)La siguiente imagen muestra la función que está relacionado a esto

    Función en php

    2)La anterior imagen fue retirada de un modulo php llamado functions.class.php , pero esto no quiere decir que todas las páginas web MuOnline que existen tengan esa función con ese nombre, no se trata que lo que muestro aca sea todo igual a lo que tienen ustedes. Su trabajo será buscar y/o revisar y encontrar algo similiar a la imagen anterior. Puede ser que directamente esta función este en el ranking.php y que el llamado de la funcion sea algo interno, eso no lo sé, como dije cada web MuOnline es diferente.
    Retomando la imagen anterior, podemos ver el nombre del función "classe" (parámetro), esto no es de importancia para ustedes ya que vamos a modificar algo y no a programar.
    Las siguientes lineas de códigos corresponden a un:
    "switch" (funciona como un condicional en este caso como un IF (Expresión condicional SI, en otras guias hablamos de condicionales, asique revisen en este sitio guias sobre los condicionales),
    "Un case" (funciona como un Elseif , "condición que devuelve un boolean", para que se entienda mejor , regresa un Verdadero o un Falso")
    "return" (retorna en caso que sea verdadero lo anterior), en caso que sea verdadero retorna "algo"
    "break;" (es un "freno" para que no se siga evaluando la condición), en este caso el break lo que hace es evitar que el código no se siga ejecuntado , sino tiene un "freno" se ejecutará infinitas veces y quedará encerrado en un bucle sin salida.
    3)Voy a tomar sólo una parte del código para trabajarla mejor, como verán el código se repite constantemente, solo que cambian las variables y eso es lo que nos intereza

    Fragmento de código php

    4)En la imagen anterior fragmente sólo 1 pedazo del código para relacionar todo lo visto hasta ahora , en el primer case (condición) aparece esto (0) (cero absoluto) ese cero identifica al Dark Wizard (mago), por eso luego de eso aparece el "return" (retorna algo en caso que el case sea verdadero) y finalmente un simple (Break=freno).
    Entonces ¿Ya vamos entiendo mejor esto? espero que si. Pero ¿Por qué el (0) es el Dark Wizard?, la respuesta sería: Porque asi lo define nuestra base de datos y ¿Cómo podemos saber que número es cada pj? La respuesta es muy fácil , buscamos en nuestra base de datos MuOnline la tabla
    DefaultClassType
    y devolvemos todas las filas

    Devolviendo filas de la tabla defaultclasstype

    5)Al abrir la tabla veremos algo como esto:

    Columna class

    Aquí tenemos los códigos de todos los personajes disponibles en nuestra base de datos de MuOnline, se que no dice el nombre del personaje que le corresponde a cada número , eso lo podemos ver en la tabla
    Character
    (tengan en cuenta y muy presente que el código varía si el personaje está o no evolucionado)
    6)Entonces si queremos agregar un nuevo personaje es muy sencillo, copiamos el pedazo de código y lo pegamos abajo (En realidad no importa donde lo peguen siempre y cuando esté dentro de la función en su posición o con la sintaxis correcta porque la web lee eso de forma lineal este primero o este último, como es un codicional si no es lo que se esta buscando pasa al siguiente cuando lo encuentre, listo "echo" o "print" es decir "imprime" el nombre del personaje).
    Una vez que pegamos el código,debemos cambiar el "Case" por el número del personaje, (Como sabrán la Summoner es el 80, el Rage Fight es el 96) y lo otro que debemos modificar es el return "NombreDelPersonaje", por ejemplo yo voy a inventar algo, que el personaje número 80 se llama "asd" (raza asd) y veremos en el ranking de mi web como aparece ese nombre.
    El código modificado sería algo así:

    Agregando nuevo personaje

    7)Y asi se visualiza el ranking:

    Visualizando la nueva raza agregada

    La imagen muestra el nombre del personaje del ranking siendo 80.
    Como recordarán, yo modifiqué ese nombre del personaje que debería ser la Summoner por el nombre "asd" y muestro como lo lee la web.
    En realidad no tengo un personaje nuevo en el server , lo hice para mostrar en caso que existiese, como el RageFighter que muchas webs MuOnline no lo tienen incluido y también les servirá para la cantidad de personajes que seguirán apareciendo.

    Usar el MuMaker en otra pc

    En este tutorial aprenderemos a utilizar el editor MuMaker en otra pc, esto es útil cuando tenemos el servidor en una Pc Hosting y aveces es fastidioso entrar a la pc , logiarnos para editar items o ver alguna cuenta (Aunque con un programa de conección remota no sería tan complicado). También nos sirve cuando varios admines controlan el juego y se les quiere dar acceso al editor y no a la PC Servidora.
    En fin, la utilidad de usar el editor en otra pc no es más que facilitar el trabajo de conección a la pc server.



    Este tutorial estará dividido en dos partes, por un lado lo que debemos hacer en la PC Server y por el otro lado lo que debemos hacer en la pc en la que usaremos el editor.
    1)Comenzaremos realizando los pasos que debemos realizar en la pc server.
    Lo primero que haremos será abrir el Administrador corporativo, expandimos las entradas de la izquierda hasta llegar a nuestro Grupo de SQL Server, allí hacemos un clic derecho y seleccionamos la opción que dice Propiedades.

    Propiedes del sql

    2)En nuestra nueva ventana, sobre la solapa "General" hacemos un clic en "Configuración" de red

    Configuración de red

    3)Lo que debemos hacer es comprobrar que el protocolo TCP/IP esté en la lista de protocolos habilitados (en la columna derecha), en el caso que el protocolo TCP/IP se encuentre en la lista de protocolos deshabiitados (en la columna izquierda) le hacemos un clic para marcarlo y luego un clic en el boton "Habilitar":

    Propiedades tcp

    4)Ahora hacemos un clic sobre el protocolo de TCP/IP y luego debajo un clic en propiedades

    Ingresando a las propiedades

    5)En nuestra nueva ventana lo que haremos será cambiar el puerto que trae por defecto 1433, esto es un sencillo paso de seguridad ya que asi como nosotros podemos accesar por medio de otra pc, también lo podría hacer otra persona que no deseamos. En mi ejemplo pondré un puerto al azar 1740 (ustedes pongan el puerto que quieran)
    (Recuerden el puerto que pusieron por más adelante lo vamos a utilizar, no se lo olviden). Luego un clic en aceptar.
    Seguramente les saldrá un cartel que explica que los cambios realizados se efectuaran luego de reiniciar el Servicio de SQL Server (no se preocupen esto lo haremos después, si lo quieren hacer ahora deberán detener el SQL y volverlo a Iniciarlo)

    Asignando puerto de conexión

    6)Lo que haremos ahora será aceptar nuevamente (el aceptar corresponde al punto anterior y el otro aceptar corresponde a la ventana de configuración de red).
    Si entendimos lo de recien , sólo nos debería quedar abierta la primera ventana inicial , la que corresponde a las de propiedades (si por error cerraron todo repitan lo realizado en paso nº1).
    Lo que debemos hacer ahora es un clic sobre la solapa "Seguridad" y tildar la opción (Que seguramente la tendremos tildada) llamada
    SQL Server y Windows
    (con eso aseguramos que la conexión remota sea mediante un usuario de SQL Server y una contraseña).
    Luego un clic en "Aceptar"

    Configurando la autenticación en modo mixto

    7)Ahora si podemos cerrar todas la ventanas, volvemos al SQL , expandimos las entradas hasta llegar a la llamada "Seguridad" , expandimos esa entrada y hacemos un clic derecho sobre la que dice "Inicio de Sesion" y seleccionamos la opción llamada "Nuevo inicio de sesion ...". Parece complicado pero miren la siguiente imagen:

    Creando nuevo inicio de sesión

    8)Lo que haremos ahora será crear un usuario, el cual, junto al puerto que pusimos anteriormente nos servirá para poder accesar desde otra pc al editor.
    Donde dice Nombre: pondremos el nombre de usuario. Hacemos clic en
    Autenticación de SQL Server
    , y escribiremos una contraseña. No olvidemos seleccionar la base de datos MuOnline como la predeterminada para este usuario. Entonces, nos quedaría asi el diálogo

    Configurando los datos del nuevo usuario

    9) Bien todo esto que hicimos reciente lo realizamos sobre la solapa general, ahora sin cerrar la ventana, hacemos un clic sobre la solapa "Funciones de servidor"(arriba de la ventana encontramos las solapas)y tildamos la siguiente opción:
    System Administrators
    Agregando funciones del servidor

    10) Ahora pasamos a la tercera solapa, llamada
    Acceso a la base de datos
    y tildamos las siguientes opciones:

    Configurando acceso a la base de datos

    Luego hacemos un clic en aceptar, seguramente saldrá un cuadro de diálogo en donde nos pide la confirmación de la contraseña. Lo que deben ingresar es el mismo password que pusimos a nuestro usuario (si tenes dudas revisá el paso nº8)
    11)Nuestro nuevo usuario aparecerá en la lista, y ahora si podemos reiniciar el SQL (o reiniciar la pc, depende; como quieras ustedes). Hasta acá realizamos "casi" todos los pasos en la Pc server, digo casi todos, porque falta algo que es muy sencillo pero sin esto no funciona, y se trata de habilitar en el firewall el puerto ingresado (el que yo les dije que debian recordar y el que fue ingresado en el protocolo de TCP/IP), para esto abrimos nuestro firewall, vamos a la solapa
    Excepciones
    y luego un clic en "Agregar Puerto"

    Agregando puerto al firewall de windows

    12)En nuestra nueva ventana, completos esos datos asi:
    Nombre: PuertoEdit
    Puerto: 1740 (no hace falta aclarar que aca debemos poner nuestro puerto, en mi caso era el 1740 el de ustedes seguramente sera otro)
    Dejamos tildado TCP y hacemos un clic en "Cambiar Ambito"
    Modificando ámbito

    13)Anteriomente hicimos un clic en "Cambiar Ámbito" y aqui estamos, este paso no es obligatorio, de hecho sino queremos hacerlo ponemos "Aceptar" todo y listo, pero ¿Por qué realizar este paso? , asi como cambiamos el puerto por seguridad, este puede ser escaniado y descubierto. Tener este editor de forma remota (por asi llamarlo) genera un enlace en la red que puede ser interceptada por cualquier "hacker", pero lo que voy hacer ahora será agregar una sencilla configuración de seguridad , y es restringir el acceso por IP a ese puerto.
    Entonces hacemos un clic donde dice
    Lista personalizada
    y agregamos la Ip pública de quien queremos que use nuestro editor (Obviamente que antes debemos preguntarle o averiguar la ip pública, tambien hace falta aclarar que para aquellos que tienen ip dinámica [sujeta al cambio] cuando la ip cambie este paso lo tendrán que rehacer modificando por la nueva ip pública de quien usa el editor en su pc. (Caso contrario tendrá el acceso prohibido).
    En la lista personalizada , agregamos la Ip numérica pública (Alguno pensará en poner la no-ip acá para evitar este dinamismo pero lamentablemente es considerado formato inválido, debería trabajar hasta llegar a una posible solución pero por el momento tendremos que usar la ip númerica pública).
    Si ponemos la ip pública por ejemplo 210.147.15.67 y al aceptar tenemos un error debemos agregarle la máscara de subred, entonces quedaría asi 210.147.15.67/255.255.255.0 [es larga la explicación de la máscara de subred es una subdivisión de cada red, por ejemplo tenemos la clase A, B, C, y D la máscara de subred nos distribuye en un rango dentro de la red, esto se usa cuando: por ejemplo en una oficina dividida en pisos queremos darle acceso a todas las ips que pertenezcan a la máscara de subred de clase A , de esta forma podrán accesar aquellos que pertenezcan a la clase A, pero bueno es bastante largo este tema y no viene al caso].
    Si queremos agregar dos ips , ponemos la primera ip una "," (coma) y luego la segunda ip. Si tenes problemas con agregar varias ips, abajo de esa ventana tenemos un ejemplo a seguir para evitar errores (no dejen espacios ni nada de eso porque lo considera formato inválido). Debería quedarnos así

    Agregando nuestra ip a la lista personalizada

    Una aclaración: Si el editor lo vamos a usar en una pc de la misma red , no uses la lista personalizada sino tilden la opción de arriba donde habilita a todas las pcs de su subred.
    14) Ahora si, tenemos todo completo en nuestra Pc server, recordemos todo lo que hicimos , primero habilitamos las conecciones entrantes desde otra pc hacia el SQL , luego le asignamos un puerto de ingreso, paso seguido creamos un usuario de SQL para poder accesar con el y finalmente agregamos una pequeña configuración de seguridad para evitar que no cualquiera se conecte por medio de ese puerto.
    Pasemos a la PC donde vamos a usar el editor.
    Lo que haremos será crear un ODBC DNS para poder conectarnos a la pc server y de esta forma usar el editor, de esto se encarga el "Administrador de Origenes de Datos ODBC"
    Este administrador en xp lo encontramos en la siguiente ruta
    Panel de control=>Rendimiento y Mantenimiento=>Herramientas Administrativas => Origenes de Datos (ODBC)
    Ingresando al orígenes de datos

    Dependiendo de su sistema operativo, la ruta puede variar.
    15)El paso siguiente sera hacer un clic en
    DNS SISTEMA =>AGREGAR => SQL Server
    (es el último, abajo de todo)y clic en Finalizar

    Agregando nuevo dns sistema

    16)En nuestra nueva ventana completaremos los datos de la siguiente forma
    Nombre: MuOnline
    Descripción: EditorMU
    Servidor: IP pública de la Pc server
    Luego clic en "Siguiente"

    Creando nuevo orígenes de datos

    17)En nuestra nueva ventana tildamos la opción que dice
    Con la autenticación de SQL Server mendiante un ID. de inicio de sesion y de una contraseña escritos por el usuario
    y luego clic en donde dice
    Configuración del Cliente
    Autenticando conexión

    18)En nuestra nueva ventana simplemente agregaremos nuestro puerto en mi caso el 1740.
    Para esto hacemos un clic destildando la opción que dice
    Determinar el puerto Dinámicamente
    y agregamos el nuestro.
    Luego hacemos un clic en "Aceptar"

    Configurando el puerto

    19)Seguramente estamos posicionados sobre la ventana anterior, y eso es correcto porque el siguiente paso será poner debajo de todo, nuestro usuario y password creado en la pc server, luego un clic en "Siguiente"

    Asginando usuario y password para establecer la conexión

    20)En nuestra nueva ventana, sin tocar ni modificar nada hacemos un clic en "siguiente". Si por casualidad o causalidad tenes un error de coneccion al SQL , prueben lo siguiente, Desactivar momentáneamente el firewall de la "Pc server", cerramos todo lo que hicimos en la "Pc destino" (la que estamos realizado estos pasos )y volvemos a comenzar desde el paso nº14

    Aceptando cuadro de diálogo

    21)En nuestra siguiente ventana hacemos un clic en "Finalizar"

    Finalizando proceso

    22)En nuestra nueva ventana verificamos que la conección esté realizada satisfactoriamente haciendo un clic en donde dice
    Probrar origenes de Datos
    Probando orígenes de datos

    23)Si todo está bien veremos una ventana como la siguiente:

    Pruebas completadas correctamente

    Esto nos indica que todo salio a la perfección y que se estableció la conección hacia la pc server.
    Hacemos clic en aceptar.
    Luego nuevamente clic en aceptar y finalmente otro clic en aceptar de esta forma tenemos todo cerrado.
    24)Bien ya tenemos casi todo terminado, falta setiar algunas opciones del MuMaker entonces abrimos la carpeta del MuMaker y buscamos el archivo llamado: config.ini , los datos que vamos a cambiar serán los siguientes:
    Usuario=tuservermu (Tu usuario SQL creado anteriormente)
    PassWord=******** (Tu password SQL creado anteriormente)
    Connection= remote (Ponemos remote para usar el editor de forma remota)
    IPServer=127.0.0.1 (La ip publica de la pc server)
    PORTServer=1740 (Tu puerto creado anteriormente)
    Seguramente al iniciar por primera vez el MuMaker tendremos un error donde dice que el usuario y password es incorrecto, ponemos aceptar esas dos veces que nos indica el error y hacemos un clic en el librito que se encuentra del lado derecho. Ver la siguiente imagen:

    Ingresando a la configuración del MuMaker

    25)En nuestra nueva ventana completamos las siguientes opciones de esta manera:
    Nombre: Ponemos el nombre de nuestro server
    Type Connection: Remote
    SQL-IP: Nuestro ip de la pc server y el puerto del SQL que abrimos para el editor.
    SQL User: Nuestro usuario SQL
    PassWord: Nuestro Password SQL
    Suported Languages: Nuestro lenguaje
    Configurando los datos de conexión

    Hacemos un clic en "Ok" y si todo está bien, el editor funcioná remotamente sin poblemas.

    Interfaz del MuMaker

    Si tenes problemas con el usuario y password del MuMaker podes usar para guiarte nuestro tutorial sobre el MuMaker y lo podes Ver Aqui.
    Bueno , parece largo el tutorial , pero es más fácil de lo que parece, solo deben leer la guia atentamente, hacer paso a paso, no puedé haber márgen de error en ningun paso ya que si algo falla , el editor no va a funcionar.
    Si tenes algun error en algun paso , dejanos tu mensaje en la sección de "Publicá tu comentario", para poder orientarte.