Visitas
Conectarse
Últimos temas
Script para transferir un personaje de una cuenta a otra (OJO, entre cuentas, no reinos)
2 participantes
Página 1 de 1.
Script para transferir un personaje de una cuenta a otra (OJO, entre cuentas, no reinos)
Bueno, resulta que estoy creando 2 cuentas en mi servidor local, una para tener un "backup" de lo que estoy haciendo actualmente en Radical Server, y otra, para dejarla como la que tenía antiguamente del oficial.
Entonces se me ha presentado un problema curioso: Tenía en la cuenta que quería destinar a Radical Server un personaje de los que yo tenía en el servidor oficial, y naturalmente, éste personaje yo lo quería en la nueva cuenta.
¿Qué hacer?, Evidentemente había que mover el personaje de una cuenta a otra. Yo se el lio que trae trasnferir un personaje de un reino a otro, y temía que fuera algo similar para pasarlos entre cuentas, pero investigando un poco, me he dado cuenta de que és increiblemente facil, y de hecho, he hecho un script SQL para automatizar el proceso, el cual paso a postearos aquí:
UPDATE characters.characters SET account=(SELECT id FROM realmd.account WHERE account.username='<CUENTA DESTINO>')
WHERE name='<NOMBRE PJ A MOVER>';
UPDATE realmd.realmcharacters SET numchars=(numchars - 1) WHERE acctid=
(SELECT id FROM realmd.account WHERE username='<CUENTA ORIGEN>');
UPDATE realmd.realmcharacters SET numchars=(numchars + 1) WHERE acctid=
(SELECT id FROM realmd.account WHERE username='<CUENTA DESTINO>');
Las cosas que hay entre los signos menor y mayor qué, son las cosas que hay que modificar antes de ejecutar el script. Los signos también hay que quitarlos, es decir, si mi cuenta origen se llama Pepito, debe quedar la cosa así:
username='Pepito');
Como vereis, es muy facil de usar: Cuando queremos transferir un personaje de una cuenta a otra, necesitamos saber el nombre del personaje en cuestión, así como el usuario de las cuentas origen y destino.
Simplemente hay que actualizar un campo de la tabla characters, correspondiente al personaje que queremos "mover", y que representa la cuenta a la que corresponde el personaje actualmente.
Dicho valor, corresponde al ID de una de las cuentas que haya creadas en el juego, almacenadas en realmd.account.
La operación del primer párrafo, es tan sencilla como cambiar el ID de la cuenta a la que pertenece el personaje, por el ID de la nueva cuenta.
Pero eso no es todo, también hay que hacer algo más, y tiene que ver con la tabla realmd.realmdcharacters, que almacena el número de personajes que tiene cada cuenta.
Lo que hacen el segundo y tercer párrafo es facil: Edita el campo numchars de las cuentas origen y destino, de manera que, a la de origen le resta 1 (el personaje que hemos quitado de ahi), y la de destino le suma 1 (el personaje que acaba de ser movido).
Y ya está, ¿es simple verdad? .
Esto, lo ideal claro, no es tenerlo como un frio SQL suelto por ahi. Lo suyo, es aprovechar las consultas estas para combinarlas con PHP, y de ese modo, tener una web donde un usuario (previo logeo), pueda ver todas las cuentas que le pertenecen (se podría controlar esto teniendo en cuenta el correo del usuario al crearlas), y ahi, mover sus personajes entre ellas a voluntad.
Esto es una cosa que, si tengo tiempo, pensaré en hacer... puede ser una pagina que luego vaya incorporada al sitio web de un servidor, al igual que Blizzard tiene servicios diversos en la suya.
Salu2
P.D: Quito el spoiler porque por alguna razón, el texto sale negro a no ser que se subraye .
Entonces se me ha presentado un problema curioso: Tenía en la cuenta que quería destinar a Radical Server un personaje de los que yo tenía en el servidor oficial, y naturalmente, éste personaje yo lo quería en la nueva cuenta.
¿Qué hacer?, Evidentemente había que mover el personaje de una cuenta a otra. Yo se el lio que trae trasnferir un personaje de un reino a otro, y temía que fuera algo similar para pasarlos entre cuentas, pero investigando un poco, me he dado cuenta de que és increiblemente facil, y de hecho, he hecho un script SQL para automatizar el proceso, el cual paso a postearos aquí:
UPDATE characters.characters SET account=(SELECT id FROM realmd.account WHERE account.username='<CUENTA DESTINO>')
WHERE name='<NOMBRE PJ A MOVER>';
UPDATE realmd.realmcharacters SET numchars=(numchars - 1) WHERE acctid=
(SELECT id FROM realmd.account WHERE username='<CUENTA ORIGEN>');
UPDATE realmd.realmcharacters SET numchars=(numchars + 1) WHERE acctid=
(SELECT id FROM realmd.account WHERE username='<CUENTA DESTINO>');
Las cosas que hay entre los signos menor y mayor qué, son las cosas que hay que modificar antes de ejecutar el script. Los signos también hay que quitarlos, es decir, si mi cuenta origen se llama Pepito, debe quedar la cosa así:
username='Pepito');
Como vereis, es muy facil de usar: Cuando queremos transferir un personaje de una cuenta a otra, necesitamos saber el nombre del personaje en cuestión, así como el usuario de las cuentas origen y destino.
Simplemente hay que actualizar un campo de la tabla characters, correspondiente al personaje que queremos "mover", y que representa la cuenta a la que corresponde el personaje actualmente.
Dicho valor, corresponde al ID de una de las cuentas que haya creadas en el juego, almacenadas en realmd.account.
La operación del primer párrafo, es tan sencilla como cambiar el ID de la cuenta a la que pertenece el personaje, por el ID de la nueva cuenta.
Pero eso no es todo, también hay que hacer algo más, y tiene que ver con la tabla realmd.realmdcharacters, que almacena el número de personajes que tiene cada cuenta.
Lo que hacen el segundo y tercer párrafo es facil: Edita el campo numchars de las cuentas origen y destino, de manera que, a la de origen le resta 1 (el personaje que hemos quitado de ahi), y la de destino le suma 1 (el personaje que acaba de ser movido).
Y ya está, ¿es simple verdad? .
Esto, lo ideal claro, no es tenerlo como un frio SQL suelto por ahi. Lo suyo, es aprovechar las consultas estas para combinarlas con PHP, y de ese modo, tener una web donde un usuario (previo logeo), pueda ver todas las cuentas que le pertenecen (se podría controlar esto teniendo en cuenta el correo del usuario al crearlas), y ahi, mover sus personajes entre ellas a voluntad.
Esto es una cosa que, si tengo tiempo, pensaré en hacer... puede ser una pagina que luego vaya incorporada al sitio web de un servidor, al igual que Blizzard tiene servicios diversos en la suya.
Salu2
P.D: Quito el spoiler porque por alguna razón, el texto sale negro a no ser que se subraye .
Re: Script para transferir un personaje de una cuenta a otra (OJO, entre cuentas, no reinos)
por fin te diste cuenta del fallo del spoiler ¬¬
muy buena sentencia para cambiar pj entre cuentas XD
pd: te falto decir que solo funciona en mangos XD
muy buena sentencia para cambiar pj entre cuentas XD
pd: te falto decir que solo funciona en mangos XD
Clerigon- Aprendiz
- Cantidad de envíos : 587
Oro : 2468
Reputación : 150
Fecha de inscripción : 27/01/2009
Localización : no
Re: Script para transferir un personaje de una cuenta a otra (OJO, entre cuentas, no reinos)
El fallo del spoiler, hace tiempo que lo conozco, lo que no se es como arreglarlo xD.
Realmente, podría haber dicho el emulador para el que es, pero cualquiera que esté toqueteando los emuladores, debería darse cuenta de que una base de datos realmd poco tiene que ver en ArcEmu .
Salu2
Realmente, podría haber dicho el emulador para el que es, pero cualquiera que esté toqueteando los emuladores, debería darse cuenta de que una base de datos realmd poco tiene que ver en ArcEmu .
Salu2
Temas similares
» ¿como se puede copiar pj i cuentas de una bd a otra?
» Herramientas para WEB WOLTK: teleporter, crear cuenta.....etc
» Creación de una web de cuentas para ArcEmu (Solo la parte de programación, no el diseño).
» Pagina creacion de cuentas,no crea cuentas!
» (leerlo entero) traducciones para la db( solo va para tbc)
» Herramientas para WEB WOLTK: teleporter, crear cuenta.....etc
» Creación de una web de cuentas para ArcEmu (Solo la parte de programación, no el diseño).
» Pagina creacion de cuentas,no crea cuentas!
» (leerlo entero) traducciones para la db( solo va para tbc)
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.
Lun Nov 14, 2016 3:41 pm por ragnarosxd
» WoW server ragnaros 3.3.5a high reates
Miér Jun 24, 2015 11:12 pm por ragnarosxd
» WoW server ragnaros 3.3.5a high reates
Miér Jun 24, 2015 11:11 pm por ragnarosxd
» Traducciones WhyDB
Vie Mayo 02, 2014 10:54 pm por tubafonos
» realmlist
Jue Ago 29, 2013 5:36 pm por locoiii
» cual es el realmist????
Mar Mayo 14, 2013 3:15 am por bosz
» Presentacion
Lun Abr 01, 2013 6:40 am por danigraful
» holaa me podeis ayudarr
Dom Mar 31, 2013 5:34 pm por alejandro9696
» WOWPlus - Excelente Servidor WoW 3.3.5 a (WOTLK)
Miér Mar 27, 2013 2:33 am por Galawowplus