Volver los stats de 65535 a 32767

Bienvenidos a un nuevo tutorial, a raíz de varias consultas hemos decidido publicar esta nueva guia.
¿De qué se trata esto?, lo que aprenderemos hacer es el paso inverso al siguiente tutorial Poner los stats en 65535
Si nosotros realizamos los pasos inversos al pie de la letra, nos encontraremos con un error ¿Por qué o cuál error?, la respuesta a continuación:
1)Lo primero que haremos será ingresar al "Administrador corporativo"

Acceso al administrador corporativo

2)Desplegamos todas las entradas hasta la llegar a la base de datos "MuOnline", seleccionamos donde dice "Tablas", luego hacemos un clic derecho sobre la llamada "Character" y seleccionamos la opción "Diseñar tabla"

Diseñando tabla character

3)Ahora lo que hacemos, es el paso inverso al tutorial anterior, es decir, seleccionamos la columna "Strength" y modificamos el tipo de datos "Int" a "SmallInt", lo mismo deberíamos hacer con las otras columnas pertenecientes a los stats, pero lo que haremos antes de eso, será intentar guardar los cambios de una sola columna y veamos lo que sucede:

Error por desbordamiento de datos

4)Lo que sucedio es el "Error" al cual habíamos anticipado anteriormente, lo que nos dice es lo siguiente:

Tabla 'Character'
- No se puede modificar la tabla.
Error ODBC: [Microsoft][ODBC SQL Server Driver][SQL Server]Error de desbordamiento aritmético para el tipo de datos smallint, valor = 65535.
[Microsoft][ODBC SQL Server Driver][SQL Server]Se terminó la instrucción.
¿Pero de que se trata este error y por qué? ¿Cómo soluciono esto?
Imaginemos que tenemos 5 litros de agua y nos piden que pongamos esos 5 litros en un vaso que tiene como máxima capacidad 1 litro ¿Qué creen que sucedería?
La respuesta sería la siguiente:
"Al pasar 1 litro no abria problemas, pero cuando querramos poner más agua comenzará a rebalsar o desbordar"




Exactamente lo mismo que sucede con el agua nos esta sucediendo aca, a diferencia que el vaso es una analogía que hace referencia al tipo de datos/longitud y el agua es otra analogía que hace referencia a los puntos contenidos en los stats (65535 / 32767).
Para solucionar esto entonces, tendremos que aplicar una querry, en dicha consulta lo que haremos será bajar a 32767 los stats de aquellos personajes que superen este número.
La consulta sería la siguiente:
UPDATE Character
set Strength='32767'
Where Strength>'32767'

UPDATE Character
set Dexterity='32767'
Where Dexterity>'32767'

UPDATE Character
set Vitality='32767'
Where Vitality>'32767'

UPDATE Character
set Energy='32767'
Where Energy>'32767'

UPDATE Character
set Leadership='32767'
Where Leadership>'32767'
Esta consulta la pegamos en el "Analizador de consultas" seleccionando la base de datos "MuOnline" y apretamos F5
[Recuerden siempre de hacer un backups o copia de seguridad]
Esta consulta puede demorar dependiendo la cantidad de personajes.

Querry SQL para bajas los stats

4)Y ahora si podemos volver a realizar lo que anteriormente no pudimos, es decir lo que detalla el paso número 3)
Entonces ingresaremos al diseño de la tabla "Character" y modificaremos el tipo de datos "Int" a "SmallInt" en las columnas Strength,Dexterity,Vitality,Energy y si tu versión utiliza "DarkLord" no se olviden de la colmuna Leadership

Editando la tabla character

Y finalmente podremos guardar los cambios sin error alguno.
Recuerde hacer las modificaciones en sus files.

Observación final:
Por un lado, esta es una solución rápida pero por el otro lado no sería muy justa
¿Por qué esta solución no es justa?
Porque pensemos lo siguiente, si tenemos un personaje con sus stats en 32768 y tenemos otro personaje con 65535 en en sus stats, ambos tendrán después de la consulta [Querry], "32767" eso quiere decir que ambos serán fulles tanto el que tenía 32768 como el que tenia 65535.
Para evitar esto abría que hacer hacer un pasaje de datos complicado, por ejemplo saber que equivalencia podríamos darle a cada valor si el limite máximo es 32767, es decir, tendríamos que armarmos un pasaje de datos referencial.

¿Necesitas ayuda? Visita www.iceventas.com y nosotros lo hacemos por ti.

Se han publicado un total de 25 comentarios en Mu Online Tutoriales :

22 de marzo de 2014, 1:05

hola admin asd .... hice todo esto puse mis puntos a 32767 pero mi barra de hp sigue 65535 season 6 part 3

17 de mayo de 2014, 18:51

ASD
te muestro imagen
Mi version es la .97x
http://www.subeimagenes.com/img/stats-967039.html

SI MAL no entiendo, la longitud de caractéres es 10 (osea máximo 10) al crear un pj
En mi versión no hace falta modifiar los stats ya que vienen a 32767 por defecto todos los datos del tipo smallint

Pero mi duda:

Quisiera que los nombres del os PJ sean todos en mayúsculas, hasta ahora me acepta : simbolos, numeros y minusculas. Solo mayusculas quisiera.

Y otro problema que tengo, no sé si corresponde:
es que no puedo escribir mensajes a todos,, o sea segun el "F1" de mi version dice que con el simbolo: # escribo a todos digamos el /post de otras versiones seria... pero no escribe a nadie :/

19 de mayo de 2014, 10:58

Jhonny Alvarez : Para lo de los stats estaría correcto.
Para lo de mayúsculas tendrías que usar el archivo BadSyntax.txt y cargar las letras minúsculas y avisar a los usuarios sobre dicho cambio.
Y sobre el /post, primero ver si tu versión posee dicho custom y luego verificar la sintanxis correcta junto a los requisitos.
Saludos
Saludos

3 de julio de 2014, 20:26

tengo que tener apagado el server y el sql para ralizar los cambios?

4 de julio de 2014, 10:58

Anónimo : Preferencialmente SI.
Saludos

28 de julio de 2015, 11:18

hola me gusto ese aporte lo aplicare a mi servidor :) una pregunta tengo otro problemita la vida y la energia me aparecen duplicada y quiero quitarle eso q se vea normal q diga 65000 sera q me podras ayudar en eso? :)

28 de julio de 2015, 16:37

Oscar Urdaneta : No entendi tu pregunta. ¿Podrías detallarla?
Saludos

13 de agosto de 2015, 1:54

Iso todo y igual sigue pasando de 32767 y meto y meto y no dice max de puntos

13 de agosto de 2015, 18:21

Carlos Swift : Pero esta guia no es para eso. Esta guia es para el soporte max. stats en la base de datos no el cliente.
Saludos

13 de marzo de 2016, 15:04

yo quiero hacer de 32 K vuelva a 65 K como lo hago

14 de marzo de 2016, 16:46

Unknown : Realiza el paso 4) de forma inversa.
Saludos

2 de agosto de 2016, 3:25

amigo yo hice todo en el sql paso a paso.. ya funciona pero en el editor cuando me paso de los 32767 se pone -32767 y sigo pegando duro y en el juego o sea dentro cuando le doy a "C" me sale ejemplo puse 32767 y le subo 10 queda asi 32777 porq pasa eso ? tengo q editar algo mas ??? donde lo hago..... una ultima pregunta cuando responden me llega al correo o tengo q estar pendiente aqui ??

7 de agosto de 2016, 12:21

Juan Ramirez : ¿Qué versión de Mu Online tienes? ¿Qué editor usas?
Para que la respuesta te llegue al correo debes hacer un clic en el cuadro "Avisarme" el cual encuentras en la parte inferior derecha de la caja de comentarios.
Saludos

8 de agosto de 2016, 11:38

Hola Asd* ¿Como hago para que ya en el juego al estar en los 32767 y quiera sumarlos me diga "Max. Stats"?

14 de agosto de 2016, 12:05

Unknown : En ese caso deberías programar la función en tu cliente.
Saludos

1 de noviembre de 2016, 16:19

Hola genio tengo un problema de la nada los stats de los pjs en la tabla Character aparecieron todos en negativo y no se porqué, es un servidor 99b con maxstat 32767, tenés idea que puede ser? Gracias!

5 de noviembre de 2016, 16:09

Mel Ros : ¿De los personajes activos o de todos?
Saludos

15 de noviembre de 2016, 10:08

Hola, yo tengo un problema, tengo los stats en 32767 pero no se como cambiar para que no alla maximo de vida por que llega a 65356 y la vida se vuelve 8000 y con el poder de bk quedaria inservible saludos

16 de noviembre de 2016, 8:24

TheRakaPlays 2.0 : Y cuando te quitan los 8000 ¿El personaje muere?
Por otra parte ¿Qué files estan usando?
Saludos

20 de diciembre de 2016, 9:29

Bien

24 de diciembre de 2016, 20:17

Cross Fenix : Saludos.

5 de abril de 2017, 9:06

Hola, tengo una consulta, si en mi mu 97x los stats llegan a 32767 y quiero pasarlos a 31500, que hago? ya estaban en "smallint"

5 de abril de 2017, 10:07

Ariel Martin : La idea de modificar un valor es para pasar a un número mayor, y no a una menor del que soporta tu tipo datos.
Si lo que quieres es condicionar un máximo de puntos en cada stat, entonces tendrás que realizar una función para limitar dicha distribución
(Esta función deberás aplicarla tanto en el cliente del juego, como en los comandos /add [Si tu versión dispone] y en la página web, es decir, en todos los campos donde el usuario puede modificar valores)
Saludos

17 de octubre de 2018, 4:16

Se puede hacer eso pero dejarlos en 32 k? porque se me bugean las skills en 32767 uso 97d+99i

17 de octubre de 2018, 20:09

mashemdq : No, para dejarlos en 32k no necesitas hacer nada, simplemente reparte los puntos en 32k.
Ahora si vos queres establecer un máximo de stats en 32.000 entonces debes condicionar eso en tu main.exe, server (En el comando) y página web (Módulo repartir puntos)
Saludos

Publicar un comentario