Crear una cuenta por SQL-Query

Bienvenidos a un nuevo tutorial, hoy aprenderemos a crear una cuenta mediante una query o consulta SQL, algo que nos puede ayudar en varias ocasiones. 
 
Actualmente para crear una cuenta podemos hacerlo por página web (la cual debe estar vinculada a la base de datos), por editor o por algun software específico creado para dicho propósito. Pero tambien podemos crear una cuenta mediate una query o consulta SQL.
 
¿Podemos usar una misma query para crear una cuenta en cualquier tipo de files y versión? La respuesta es no, de echo , dependiendo los files y versión las tablas y columnas no son exactamente las mismas.


1) Comenzemos con la query para versiones antiguas, la que además de la tabla MEMB_INFO requiere cargar los datos en la tabla VI_CURR_INFO.
Para eso debemos copiar el siguiente código y pegarlo en el campo en el Analizador de Consultas (Lo haremos bajo SQL Server 2000)
Use MuOnline

INSERT INTO MEMB_INFO
(memb___id,memb__pwd,memb_name,sno__numb,post_code,addr_info,addr_deta,tel__numb,mail_addr,phon_numb,fpas_ques,fpas_answ,job__code,appl_days,modi_days,out__days,true_days,mail_chek,bloc_code,ctl1_code)
VALUES
('admin','password','MuTutorial',123456789,123456789,null,null,null,'admin@localhost.com',null,null,null,1,10/11/2020,10/11/2020,10/11/2020,10/11/2020,1,0,1)

INSERT INTO VI_CURR_INFO
(ends_days,chek_code,used_time,memb___id,memb_name,memb_guid,sno__numb,Bill_Section,Bill_value,Bill_Hour,Surplus_Point,Surplus_Minute,Increase_Days )  
VALUES 
('2005','1',1234,'admin','MuTutorial',1,7,6,3,6,6,'10/11/2020 10:36:00',0)
 
Visualizando el analizador de consultas del sql 2000
 
2) El siguiente paso será modificar los datos resaltados en color.
a) admin= ID de la cuenta que deseamos crear, recuerda respetar el máximo de caracteres.
b) password= La clave o password que deseamos que tenga nuestra cuenta.
c) admin= Debemos repetir el mismo ID que colocamos en el punto a)

Una vez que modificamos los datos, apretamos el boton F5 o hacemos un clic en el boton "Ejecutar Consulta"

Visualizando la query ejecutada
 
3)Y con eso, cargaremos los datos a la base de datos.
Ahora, si nuestro servidor es S4/S6/S8 MuEMU, debemos usar la siguiente query (Lo haremos bajo SQL Server 2008):
Use MuOnline

INSERT INTO MEMB_INFO
(memb___id,memb__pwd,memb_name,sno__numb,post_code,addr_info,addr_deta,tel__numb,mail_addr,phon_numb,fpas_ques,fpas_answ,job__code,appl_days,modi_days,out__days,true_days,mail_chek,bloc_code,ctl1_code)
VALUES
('admin','password','MuTutorial',123456789,123456789,null,null,null,'admin@localhost.com',null,null,null,1,10/11/2020,10/11/2020,10/11/2020,10/11/2020,1,0,1)
Nuevamente, debemos modificar los datos de admin y password por los deseados, luego apretamos F5 o hacemos un clic en el boton "Execute"/"Ejecutar"
 

Visualizando la query en SQL Server 2008

 
Recuerden: Si la versión es vieja eso no significa que tengamos que usar la primera query, lo que condiciona el uso de una o de la otra, es si nuestro servidor trabaja con la tabla VI_CURR_INFO, y eso lo podemos verificar revisando nuestra DB en busca de su presencia.

Coordenadas en MuEMU

Bienvenidos a un nuevo tutorial, hoy veremos un tema que hemos dejado pendiente: las coordenadas a la hora de crear un spot, agregar un monster en un evento, etc. Antes de continuar, debemos entender que rango y coordenadas, son variables totalmente diferentes. 
La primera indica el radio de movimiento y la segunda indica posicionamiento inicia-final de un objeto.
 


Comenzemos primero a entender que es una coordenada. Para explicarlo de una forma fácil, una coordenada es un punto en un plano dado en este caso por dos valores: X-Y
 
Ahora, pasemos esto al juego, el plano seria el mapa en donde está posicionado nuestro personaje, y los X-Y son los valores que recibe al movernos horizontal, vertical y diagonalmente dentro del juego. Veámoslo dentro del juego:
 
Visualizando la posicion de coordeandas x y
 
1) Cuando creamos un spot, debemos definir cuatro valores para cuatro variables y estan son:
BeginPosX, BeginPosY, EndPosX, EndPosY
¿Pero qué es y cómo funciona esto?
BeginPosX y BeginPosY, = Son las coordeandas de posicionamiento inicial
EndPosX y EndPosY = Son las coordenadas de posicionamiento final
Supongamos que tenemos estos valores: BeginPosX=130 BeginPosY=95
                                                                  EndPosX= 150 EndPosY=95
 
¿Qué creen que suceda? ¿Como creen que saldrá el spot? Veámoslo:
 
Visualizando la posicion de monsters
 
2) Lo que hemos echo anteriormente es crear un spot en línea recta, y la explicación es muy sencilla, si observan tanto el BeginPosY como el EndPosY tiene el mismo valor , eso indica que solo movemos BeginPosX y EndPosX de 150 a 130 , lo que daría una linea recta de 20 secuencias.
Para que se entienda mejor , observen la siguiente imagen:
 

Visualizando la posicion de coordeandas x y 

3) Ahora supongamos que deseamos que un monster de determinado evento aparezca en una parte especifica del mapa, pero atentos, cuando decimos específica , no queremos que el monster salga siempre en el mismo lugar, pero si queremos que aparezca en un rango de coordenadas específicas. 
¿A qué nos referimos con ese rango de coordenadas? Para explicarlo mejor, observen la siguiente imagen:
 
Visualizando el rango de coordeandas

4) Lo importante de crear un rango de coordenadas es para evitar que el monster o los monsters puedan aparecer en una alguna parte del mapa que no es accesible por los jugadores.
Para eso , debemos obtener cuatro coordenadas completas dentro del juego, de esa forma creamos un rectángulo, cuadrado, paralelogramo, etc imaginario, es decir, obtendremos un perímetro (que funcionará como limitador) y a partir de ese périmetro obtenemos el areá (superficie total) en donde podrá aparecer el monster.

Para obtener los cuatros puntos, debemos posicionar el personaje en el punto inicial deseado, por ejemplo , usaré el mapa noria, y mi coordenada inicial será: (125,45), luego caminaré en línea recta para obtener mi segundo punto de coordenadas, esta será (128,34), ahora comenzaré a cerrar mi rectángulo caminando en sentido opuesto a la última coordenada (136,34) y finalmente para cerrar la figura geométrica ire en línea recta paralela en sentido al punto inicial (133,47) 
 
 Visualizando el rango de coordeandas
 
 5) Si ordemos las cuatro coordeandas, obtenemos:
1º coordenada = (125,45) 
2º coordenada = (128,34)
3º coordenada = (136,34)
4º coordenada = (133,47) 
¿Pero ahora cómo cargamos 8 coordenadas si el archivo sólo admite 4? Para eso debemos extraer de cada coordenada un valor y posicionarlo dentro del archivo de la siguiente manera:
En BeginPosX retiraremos de la 1º coordenada el primer valor, es decir, el 125
En BeginPosY retiraremos de la 2º coordenada el segundo valor, es decir, el 34
En EndPosX retiraremos de la 3º coordenada el primer valor, es decir, el 136
En EndPosY retiraremos de la 4º coordenada el segundo valor, es decir, el 47
 
El archivo editado nos quedará asi:
 
Visualizando el archivo editado
 
6) Si colocamos un monster para hacer el test, lo que debería suceder es que cada vez que lo matemos , este se regenerá dentro del perímetro que le hemos dado, y de eso se trata justamente. De echo, ¿Qué sucede si colocamos la misma cantidad de monsters que el total de la superficie? 
La respuesta la podrán ver en la siguiente imagen:
 
Visualizando spot
 
Lo que sucedio, es que como la cantidad de monsters superá/iguala la cantidad de espacio de la superficie total, logramos cubrir el área completa con los monsters asignados. 

Atención: Todos los mapas no son iguales, es decir, que no podemos repetir coordenadas sin antes verificarlas, ya que como hemos explicado anteriormente, la idea de este tutorial es evitar posicionar un monster en un espacio que no existe o que no sea accesible.

Con este tutorial, tambien podremos crear secciones delimitando coordenadas como lo hicimos anteriormente, luego podemos usar los posicionamiento para evalular sentencias. En fin, el uso como siempre es amplio, si conocemos las bases los limites los ponen ustedes.