Diseño web [Registro II]

En el capítulo anterior dejamos pendiente la explicació de como funcionaban algunos módulos, este tutorial es un complemento del anterior ya que si lo hacía todo en uno quedaba muy pesado tanto para ustedes que tienen que leerlo como para mi que tengo que redactarlo.
Sin más preámbulos vallamos a terminar lo que empezamos.
Si mal no recuerdo faltaba la explicación de como funcionaban 3 archivos .php todo lo que explico en este tutorial les sirve para cualquier página web ya que estamos trabajando con tipos de estructuras o lenguajes universales.



1)Veamos el archivo reguser.php, para esto abrimos el archivo con el Dreamveawer y utilizamos la opción "Dividir" (recuerden que esto nos permite visualizar en forma gráfica y texto un archivo)
Reguser.php no es más que un formulario de subscripción, en donde cada celda tiene un nombre y esta dado de este orden:
Login , Name , Password , Re-Password , E-mail , ID Number , Secret Question , Secret Answer
Pero estos nombres a su ves contienen una variable que serán enviadas a otro archivo.php junto a los datos que ingresamos en esos campos.
¿Cómo saber a que archivo se enviarán estas variables?
La linea que nos define esto es la siguiente:
FORM method=post name=regform action=idreg.php
Esta línea con este tipo de características nos indica que el archivo reguser.php enviará un conjunto de variables (ya veremos cuales son) al archivo idreg.php.
Esta linea se encuentra antes de comenzar la parte gráfica ya que es necesario indicar a donde se enviarán estos datos para ser procesados y/o analizados.

Archivo reguser

2)Si prestan atención a la imagen anterior yo marqué dos cosas , una es la linea mencionada anteriormente que determina a donde se envian estos datos pero debajo marqué otra linea:
input name="login" type="text" id="login" maxlength="10"
Quiero que vean la imagen y miren un detalle importanten : "Los colores" , dreamveawer no es un programa común y corriente, es una herramienta de tipo profesional usada por la mayoría de los M.W (Master Web o Web Master)

Retomemos lo anterior en ambos casos ambas lineas están marcadas con color naranja (y no lo hice yo, esto es un screenshot original )
¿Por qué creen ustedes que están marcadas con el mismo color?
La respuesta es muy simple, input name = "login" pertenece a la primera variable (.php) a enviar, en este caso corresponde al campo "Login"
Veamos la siguiente foto:

Traducción de textos

3)Cuidado, no confundan el nombre de la variable con el nombre de la celda , en este caso y creo que utilizé un mal ejemplo coincide ambos nombres pero no siempre es así.
El nombre de la celda está antes (hacemos un clic en la parte gráfica donde dice Login y el programa nos llevará directamente a donde se encuentra en el código)
En la siguiente imagen, pondré un ejemplo diferente.
En esta imagen marqué otro detalle, tal vez esto no es impresindible saberlo pero ya que estamos aprendiendo no nos viene nada mal.
Yo marqué con un círculo una linea que dice "maxlength=10" pero ¿Qué significa eso? Eso nos quiere decir que como máximo podemos ingresar o escribir en esa celda "Login" hasta 10 caracteres. Por eso el círculo de abajo traducido al español nos dice " De 4 a 10 letras ".
A continuación dejo una imagen para que vean lo que mencionamos anteriormente que no siempre coincide el nombre de la variable con el nombre de la celda.

Traducción de nombres

4)Fijense que en este caso el nombre de la variable se llama "pw" y el nombre de la celda se llama "Password" , en este caso no coincide el nombre pero en el anterior si.
También les marqué con un color rosa lo que siempre va a coincidir, este sería el verdadero nombre de la celda , pero como verán se encuentra en otro lugar un poco antes del nombre de la variable.
Se que es medio complicado entender porque parece que fuese todo lo mismo pero no es así, hay que tener claro que una cosa es el nombre que se visualizará en el registro en este caso "Password" y otra cosa es el nombre de la variable (que llevará nuestros datos ingresados a otro archivo para que sea analizado) que "no se visualizará" en pantalla en este caso "PW" (que puede o no coincidir con el nombre de la celda como en el ejemplo del Login en el paso 2 ).
Pero tanto "pw" como "login" a ¿Dónde creen que viajarán?
Si leimos con atención la primera parte, nosotros ya sabemos a donde viajarán estas variables para ser analizadas, es decir, al archivo idreg.php

Entonces, ya conocemos el archivo destino, tambien aprendimos a reconocer el nombre de las variables, sólo nos falta constatar que todo esto sea factible.
Voy a dejar una lista con el nombre del archivo seguido de su variable (Ustedes lo pueden ver también revisando las lineas en el Dreamweawer)
Login:"login"
Name:"name"
Password:"pw"
Re-Password:"cpw"
E-mail:"email"
ID Number:"idnum"
Secret Question:"sques"
Secret Answer:"sansw"
Bueno esos son los nombre de las celdas con su correspondiente variable, generalmente se usa nombres y variables en el cual el nombre haga referencia a su variable.
Obviamente esto está todo en ingles pero por ejemplo:
pw: es password
sques: es Secret Question (en castellano Pregunta Secreta)
sansw: es Secret Answord (en castellano Respuesta Secreta)
etc...
Pero veamos un pantallazo al archivo destino que estuvimos mencionando en reiteradas oportunidades durante este tutorial, el idreg.php (Que será el encargando de recibir estas variables y otras para su proceso, antes de ingresar a nuestra Base De Datos)

Procesando variables enviadas por el registro en php

5)En la siguiente imagen podemos ver el pasaje de las variables mencionadas anteriormente, Veámosla:

Evaluando variables

Lo primero que podemos notar es que no hay parte gráfica , y se preguntarán ¿Por que?
Porque este archivo no contiene gráficos sino es un código (PHP) de analisis.
Ahora veamos algunos puntos importantes que podemos mencionar:
En la imagen anterior marqué con color rojo una parte importante de este código.
Ese "If empty" es un condicional y funciona de la siguiente manera : Lo que hace es fijarse si quedaron espacios vacios o en blanco en las celdas
"If empty password" (Por ejemplo, nos dice si la celda password está vacia nos daría este error
"Some Fields were left blank. Please go back and try again"
en castellano nos dice
"Algunos espacios fueron dejados en blanco. Por favor vuelva atras e intente nuevamente"
Más abajo hay más "if" ("si" en castellano) este if como todo if en programación son condicionales, haciendo una analogía simple sería algo asi
"Si no entendes el módulo 1 no podes leer el módulo 2", en este caso puse como condición que hasta que no entiendas el módulo 1 no podes leer el módulo dos, de igual forma funciona en nuestro módulo de registro "Hasta que no completes todos los espacios tu registro no será procesado (Exit)".

Después tenemos un ElseIF (Sino) que se repite constantenmente.
Retomando el ejemplo anterior funcionaría así "Si no leiste el módulo 1 no podes leer el módulo 2 "sino" pasa al modulo 2"
En el caso del código idreg.php lo que va haciendo es poniendo un "sino" en cada variable.
Por ejemplo en una parte dice "elseif" ($pw != $cpw) lo que hace ahí es una comparación (Si el "password" es distinto a "repetir password")
entonces
echo "br /The passwords you entered do not match."; $Error=1;
Lo que hace y dice ahí es que si el password ingresado no es igual al password repetido entonces (hecho) tira este error que en castellano nos dice
Los passwords no son iguales
Ese "echo" hace alusión a una impresión o para que lo entiendan es lo que sale publicado en la web.

6)Finalmente para terminar veamos el último archivo, tal vez ya conocido por muchos de ustedes. Estoy hablando del famoso sql_inject.php
Este archivo es parte de la seguridad de nuestro sitio, es opcional pero recomendado y mucho.
Pero detrás de cada acción personal hay una consecuencia, y esta última sería los hackeos al servidor.
Este archivo está explicado en antiguos tutoriales sobre seguridad, lo que puedo rescatar ahora es la siguiente linea:

Array de caracteres prohibidos

Ese $BadWord hace referencia a "Malas palabras" y ese "Array" es un registro de palabras que si son ingresadas como datos genera el siguiente error:
Security Warning! Forbidden simbols are included, please remove them and try again
En castellano nos dice que "No se puede utilizar símbolos en el registro".
Es por eso que en las mayoria de los registros siempre podemos ver que los administradores nos advierten sobre el uso de símbolos a la hora de registrarnos.

Si revisan el conjunto de palabras prohibidas verán que son partes de códigos que sirven para destruir un servidor, borrar y/o modificar la base de datos.
Es el caso del "Delete" (borrar)las personas que intentan hackear ingresan un código con algunas de estas palabras.
Por eso es que el sql_inject es un archivo de protección escencial de cualquier página web con conexión a una base de datos.
Con esto doy por terminado el "Módulo I Registro de cuentas" , en los próximos tutoriales vamos aprender a introducir otro tipo de módulos.
Al ser este el primer módulo que hemos ingresado, la explicación fue detallada, en los próximos tutoriales será todo más corto ya que se supone que esto tiene que estar leído y entendido.

Diseño Web [Registro]

Después de muchos pedidos decidí abrir esta nueva sección, lo que vamos aprender acá es a diseñar nuestra propia página Web Mu.
El programa que voy a utilizar a lo largo de este tutorial y las próximas secciones será el Dreamweaver 8.0 que puede descargarlo en este sitio.
En esta sección iré publicando poco a poco los distintos módulos que tiene un Web, comenzaré con los más básicos y más utilizados en este caso veremos como implementar el módulo de registro de cuentas.
Este tutorial se basará netamente en .html y .php (No trabajaremos aquí con archivos en .flash, para esto busquen en la otra sección de nuestro sitio)



Lo primero que necesitamos será un diseño Web que lo podemos hacer a mano o descargarlo desde cualquier sitio Web.
Yo voy a utilizar un diseño que ya tiene un skin de juego.
Lo primero que haremos será abrir el archivos 19.rar y copiamos la carpeta en el escritorio, como ya lo saben el primer archivo que lee cualquier Apache (Que es lo que normalmente usamos nosotros) es el index.html o index.php (También lo pueden encontrar con el nombre de inicio.php o inicio.html)
Sin perder tiempo vamos a los pasos:
1) Abrimos el archivo index.php con el Dreamveawer 8.0, para esto hacemos un click derecho al archivos index.html, abrir con... Dreamweaver

Abriendo archivo index html

2) Ahora veamos rápidamente algunos botones del Dreamweaver, la forma más sencilla y práctica para trabajar es usar la opción llamada DIVIDIR.
Esa opción nos permite visualizar el código de la Web y además una interfaz gráfica (obviamente que esa interfaz gráfica sólo es visible siempre y cuando las imágenes y links estén en la misma carpeta y el programa tenga acceso a ellas.
También deben saber que no todos los códigos poseen interfaz gráfica, por ejemplo una hoja de estilo .css)
Veamos el botón dividir mencionado anteriormente y también veamos una de las primeras herramientas de este programa, fíjense que yo hice un click sobre el banner y el programa automáticamente me marca donde se encuentra alojado ese código; Revisen con cuidado y detalladamente la siguiente imagen.

Modificando el header

3) Lo que haremos ahora será editar todo lo necesario y lo que no nos sirva lo borraremos. Este trabajo lo haremos de una manera muy fácil, marcamos con el mouse lo que queremos modificar y sino queremos modificalor, simplemente lo borrarmos apretando la tecla "SUPRIMIR"
Debería aclarar que las imágenes no las podemos editar así, lo que podemos hacer es un click sobre la imagen. luego vemos el nombre, entramos a la carpeta y las editamos con algun procesador de imágenes.
Luego las volvemos a pegar con el mismo nombre.
Lo que si podemos editar con el Dreamweaver es el tamaño de las imágenes (Pero esto puede causar un pixelo)
Veamos como quedo:

Header modificado

4)Simplemente lo hice fue editar imágenes y textos , el mecanismo es el mismo marcamos con el mouse lo que queremos editar, algo similar sucede con las imágenes , entramos la carpeta que descargamos buscamos la imágenes las editamos y luego las guardamos con el mismo nombre y en el mismo directorio.
Ahora vamos a un paso importante, veamos como hacer los links y como funciona:
Para esto hacemos un click en donde dice
"link 1 here"
en la parte gráfica y automáticamente el Dreamveawer nos llevará a donde está alojado el código.
Lo que debemos entender básicamente, es que un link está compuesto por dos partes:
La primera es la parte visible en este caso "link 1 here" y la segunda parte es el enlace al cual nos dirige la página al hacer click sobre él, es decir, al hacer un click en la parte visible en este caso "link 1 here".
Entonces lo que vamos hacer será cambiar ambas partes.
Yo trabajaré en http://localhost/ así que cuando yo ponga http://localhsot/ ustedes deben poner su IP numérica o su no-ip (por ejemplo tuservermu.sytes.net)
En la parte visible vamos a poner "inicio" o "Página principal”, entonces al hacer click en "inicio" o "pagina principal" nuestra Web volverá a cargar ya que pusimos como enlace nuestra URL inicial. Esto se aplica siempre en todas las páginas Webs.
Por ahora tenemos un sólo módulo, pero a medida que vallamos agregando más módulos, es necesario un botón que nos lleve al inicio,
Veamos como quedaría el código editado:

Modificando links del sitio web

5)Lo que haremos ahora será pasar la Web de .html a .php, para eso guardamos los cambios en el Dreamveawer (de forma rápida sería "Control+s") y copiamos todo el contenido de los archivos descargados y los pegamos dentro de la carpeta www (Si usamos Appserv), ubicada generalmente en
C:\AppServ\www
o en la carpeta
C:\Xampp\htdocs
si usamos XAMPP
Lo que debemos hacer es simplemente cambiar la extensión .html por la extensión .php
Para esto en nuestra ventana de la carpeta www o xampp o de cualquier carpeta la abrimos y vamos a HERRAMIENTAS=>OPCIONES DE CARPETA=>VER y buscamos una opción llamada
Ocultar las extensiones de un archivo para tipo de archivos conocidos
y le sacamos el tilde, ponemos aplicar y aceptamos.

Configurando visibilidad de las extensiones

6)Ahora volvemos a la carpeta www o htdocs, buscamos el archivo index.html borramos el .html y ponemos .php, debería quedarnos el archivo renombrado de la siguiente forma
index.php
Ahora hacemos el paso inverso que el anterior, es decir, ocultamos las extensiones de los archivos ya que esta configuración afecta a todo el sistema operativo.
(Esto lo hicimos para trabajar con todos los archivos en .php y no mezclar, si bien podríamos tener el index en formato .html o podemos tener el formulario de registo en .html lo que nos puede jugar en contra es si queremos agregar algun sistema de captcha a un formato .html se nos puede complicar si decidimos utilizar un tutorial standar)

Visualizando el sitio web

7)Para la creación del módulo "Registro" necesitamos descargar estos 4 archivos.
Una vez descargado, lo abrimos y lo pegamos en nuestra carpeta C:\AppServ\www o C:\xampp\htdocs
Veamos que es cada archivo y que función cumple:

  • El primer es el archivo llamado
    config.php
    es el archivo que hace la conexión entre la Web y nuestra base de datos, es por eso que debemos tener el SQL SERVER iniciado y tener un usuario SQL previamente configurado ,entonces abrimos el archivo y lo editamos de acuerdo a nuestros datos:
    $alogin: es la variable del login de nuestro sql server
    $apass: es la variable del password de nuestro sql Server
    $db: es la base de datos a utilizar, por defecto MuOnline
    $ip: es la IP donde esta alojado nuestro Server por defecto 127.0.0.1
    $host: es el host donde esta alojado nuestro Server por defecto 127.0.0.1
    $title: alguna variable que será llamada en algún proceso (título de la Web)
    $srvname: alguna variable que será llamada en algún proceso (nombre del Server)
    $credits: alguna variable que será llamada en algún proceso (créditos en el registro)
    Bueno si observan con atención verán este signo $ puesto antes de cada nombre, eso nos indica que es un variable.
    Por ejemplo si observan la última parte del registro
    $msconnect=mssql_connect("$host","$alogin","$apass");
    $msdb=mssql_select_db("$db",$msconnect);
    Esto nos indica lo siguiente $msconnect es ahora el valor de ("$host","$alogin","$apass") y los datos de esas variables las cargamos nosotros manualmente.
    Finalmente $msdb=mssql_select_db("$db",$msconnect); significa que $msdb es igual mssql_select_db donde esta última toma los valores de $db y $msconnect
    Se que les puede resultar complicado entender todo esto con esa breve explicación pero con el tiempo y con más tutoriales veremos con mayor profundidad todo esto.
    Después nos quedaron otras variables como $title , $srvname y $credits seguramente serán llamadas por otro archivo que veremos más adelante y ahí entenderemos que es un variable y como funciona.

  • El segundo archivo se llama
    reguser.php
    y es la interfaz gráfica del formulario de registro de cuentas de una Web-MuOnline

  • El tercer archivo se llama
    idreg.php
    este archivo se encargará de recibir todas la variables que nos envie reguser.php, luego las procesará, analizará y tomará determianciones previamente programadas (Después lo veremos en detalle)

  • Y por último el archivo
    sql_inject.php
    es un archivo de seguridad que funciona como un verificador de caracteres a partir de las variables recibidas (También más adelante los vamos analizar en profundidad)

  • Archivos de seguridad del sitio web

    8)Lo que haremos ahora es abrir nuevamente el archivo index.php con el dreamveawer y vamos agregar un nuevo módulo, en este caso el registro de cuentas para nuestro servidor MuOnline.
    Entonces hacemos un click donde dice 2Link 2 here" y arriba, en la parte de programación reemplazamos el # por el "nuevo link" en mi caso será http://localhost/registro.php (ustedes deben cambiar el localhost por el IP o no.ip de su Server, tambien podemos escribir esto de otra forma sin necesidad de agregar siempre nuestra IP, pero eso lo veremos en otro tutorial]
    En parte que dice "Link 2 here" debemos poner el nombre visible. El método y la explicación es la misma que la que hicimos con el modulo INICIO.
    Debería quedarnos así:

    Agregando link de registro al sitio web

    9)Talvez se pregunten, ¿Para qué ponemos "registro.php" si ese archivo no existe?
    Si tu pregunta fue esa quiere decir que estás entendiendo todo a la perfección.
    Ese módulo registro.php no existe entonces vamos a crearlo.
    Si creamos un archivo cualquiera y le ponemos el nombre de registro.php cuando hagamos click en la sección del registro en nuestra Web, esta nos llevará ahí.
    Lo que haremos será copiar el archivo index.php y pegarlo ahí mismo, al pegarlo nos quería nombrado asi "copia de index.php" , inmediatamente lo que haremos será cambiar el nombre a de "copia de index.php" por este "registro.php"

    10)Abrimos el archivo reguser.php con el dreamveawer (en el dreamveawer pueden abrir varios archivos .php y podemos minimizarlos. Los cambios los podemos guardar de forma rápida apretando "Control+s" y para deshacer los cambios podemos utilizar la combinación de teclas: "Control+z")
    Al abrir el archivo reguser.php pueden ver en la interfaz gráfica, un modelo de registro ya predefinido, también verán unos cuadraditos que dicen PHP eso nos marca que ahí hay un llamado de código php o función.
    Lo primero que quiero que miren es arriba de todo ciertas cosas que son básicas.
    Si miran con atención al principio del código dice
    require "config.php"
    y también dice
    require "sql_inject.php"
    El significado de esto es importantísimo que lo sepan , en un lenguaje no tan técnico lo que dice es que para que se ejecute ese código "requiere", "necesita" esos dos archivos , es decir que si falta uno de ellos la Web no se ejecuta (cuando digo Web me refiero a ese módulo)
    Esto lo verán en cualquier código de cualquier Web MuOnline.
    Ahora sigan leyendo y fíjense que abajo dice
    print $title;
    Recuerden que les dije que $title es una variable y que la íbamos a ver más adelante, bueno acá la tenemos, print es imprimir en este caso imprime , muestra , el contenido de la variable $title (Sería el nombre de la ventana activa)
    Entonces ahora entienden qué es un variable, quiero que vean como viaja un dato de un lado a otro, revisen de nuevo el archivo config.php y editen esa variable $title con distintos valores (Relacionenlo con el "requiere" y tendrán respuestas más precisas)
    A continuación un imagen que detalla lo hablado:

    Modificando el título del sitio

    11)Lo que vamos hacer ahora es copiar el código de registro , entonces abrimos el archivo reguser.php y copiamos la parte del registro.
    Para eso hacemos un click sobre el recuadro que encierra todo la parte del registro luego un click derecho=>copiar

    Agregando los códigos del registro

    12)Ahora abrimos el archivo registro.php con el dreamveawer (Supuestamente tendrían que tenerlo ya abierto en el dreamveawer) y lo que hacemos es cambiar la parte donde pusimos las caracteristicas de nuestro server y pegar ahi el código que copiamos recientemente.
    El mecanismo es el mismo: seleccionamos con el mouse la parte del medio de la Web y arriba pegamos el código
    Ver imagen para entender mejor:

    Modificando el estilo css del registro

    13)Si cuando pegan el código les queda todo en blanco, hacen un click sobre la parte blanca y abajo tenemos las herramientas para editar el color (Más adelante veremos estilos .css), en la imagen anterior podes ver con detalles esto mencionado.
    Bueno también podemos editar los nombre y esas cosas, pero yo lo voy a dejar estandar, tal vez les cueste pegar el código, recuerden primero seleccionar correctamente con un click toda la parte de las tablas del registro, miren las líneas que se marcan para saber si estan haciendo lo correcto, y después las pegamos en el archivo registro.php
    Obviamente que vamos a pegarlo en la parte del medio reemplazando lo que escribimos como "Bienvenida al server", de esa manera conservamos el "contexto"
    Bueno voy a dejar pendiente la explicación de los códigos de como trabaja este registro.
    Esto es una introducción a diseño Web Mu, iré agregando nuevos tutoriales como el módulo cambiar password, mover personaje, resetiar personaje y muchos otros más.
    Seguramente Ustedes están cansados de leer y yo estoy cansado de escribir, nos tomamos un recreo y nos vemos en el próximo tutorial.
    Dejo la última imagen para que vean como quedo terminada la Web con el módulo completo del registro.

    Visualizando el registro finalizado

    Conectarme LAN-WAN

    Para todos los que tienen el problema de que a su server se pueden conectar desde una red externa [WAN] pero ustedes no pueden entrar desde la misma PC [LAN] server aqui les traigo una posible solución, es muy simple lo que deben hacer es lo siguiente :
    1)Primero buscamos el siguiente archivo ubicado en la siguiente ruta
    C:\WINDOWS\system32\drivers\etc\hosts
    Ingresando al archivo host

    2)Una vez que lo encontramos abrimos el archivo hosts con el bloc de notas y agregamos al final lo siguiente:
    En la primera columna escribimos nuestra IP LOCAL por ejemplo en mi caso 192.168.0.1 y al lado en la otra columna nuestra IP WAN o no-ip por ejemplo asd.sytes.net
    Deberia quedarles asi:

    Configurando el archivo host del sistema

    Ahora intentamos entrar nuevamente a nuestro server desde la pc host.
    Lo que hacemos con esto es acelerar la busqueda evitando que su ISP se preocupe en verificar si el nombre o dirección es segura.

    Poner los stats en 65535

    Bienvenidos a un nuevo tutorial hoy aprenderemos a configurar el SQL para que soporte el máximo stats en 65535 , creo que algo de esto está explicado en un post llamado "Variables del SQl 2000".
    Para lograr esto es muy simple, lo que debemos hacer es setear unas opciones en el SQL 2000, es decir; cambiar una variable de tipo intiger (entera) para que lo soporte.



    Veamos como hacerlo.
    1)Vamos a inicio => Microsoft SQL server => Administrador Corporativo

    Ingresando al administrador corporativo

    2)Expandimos todas la entradas hasta llegar a la Base de Datos => MuOnline y seleccionamos "Tablas"
    Luego en el panel izquierdo hacemos un clic derecho sobre la tabla "Character" y seleccionamos la opcion "Diseñar tabla"
    Ver imagen para comprender mejor:

    Diseñando tabla character

    3)Ahora lo que haremos será buscar las tablas de los "Stats", en este caso serán las siguientes:
    Stregth, Dexterity, Vitality, Energy y no olviden Leadership (si tu version tiene DarkLord)
    Ahora cambiamos la opción "Smallint" por el tipo de datos "INT" haciendo un clic sobre el tipo de dato a cambiar (Fijense que cuando hacen un clic aparece un cuadradito que despliega un menú para poder seleccionar el tipo de datos correspondiente).
    Los datos a modificar son los siguientes

    Tipo de datos contenidos en los stats

    4)El archivo editado debería quedarles asi:

    Modificación del tipo de datos a int

    Con esos pequeños cambios nuestro SQL Server ya está preparado para soportar los Stats en 65535 (Esto no funciona con cualquier servidor, antes debe soportarlo el GameServer.exe de nuestro repack de files)
    Tambien en algunos files, deben configurar el max. stats en los archivos .ini