Sentencias SQL Server 2000

Estan son algunas sentencias SQL que podemos aplicar a nuestro servidor mediante un simple Job en SQL.
Veamos de cuales se tratan:
-------------------------------------------------------------------------------------
Autoreset [Nivel 1000]
-------------------------------------------------------------------------------------

  • Autoreset para level 1000 , pueden modificar por el level de su server cambiando la linea CLEVEL>= 1000 por el reset de su server ( 400 , 350 ETC)

  • No borra stats,quest,inventario ni baul

  • Programado para reset level 1000

  • Contador de reset incluido

  • Verifica que el pj esta offline (Evita bugs en el contador)>

  • UPDATE Character
    SET clevel = 1, Experience = 0, LevelUpPoint = LevelUpPoint + (0 * (Resets + 1)), Money = Money - (0 * (Resets + 1)), MapNumber = 0, MapPosX = 130, MapPosY = 130, Resets = Resets + 1
    FROM Character JOIN MEMB_STAT ON Character.AccountID = MEMB_STAT.memb___id
    COLLATE Latin1_general_CI_AI
    WHERE (clevel >= 1000) AND (Money >= (0 * (Resets + 1))) AND (ConnectStat = 0);
    -------------------------------------------------------------------------------------
    Autoreset [Nivel 350]
    -------------------------------------------------------------------------------------
  • AutoReset Lvl=350

  • Agrega 350 por reset

  • Tiene un costo de 50millones por reset

  • Limitado a 50 resets

  • Borra stats

  • Autowuapeo a lorecia/Noria depende el pj

  • Borra los skill de los pjs

  • Borra el inventario de los pjs

  • Borra el pk de los pjs

  • 1)DarkWizard/SoulMaster Code:
    UPDATE Character
    SET clevel = 1, Experience = 0, LevelUpPoint = 350 * (Reset + 1), Money = Money - (50000000), Strength = 18, Dexterity = 18, Vitality = 15, Energy = 30, Inventory = NULL, MagicList = NULL, MapNumber = 0, MapPosX = 130, MapPosY = 130, PkTime = 0, PkCount = 0, PkLevel = 0, Reset = Reset + 1
    FROM Character JOIN MEMB_STAT ON Character.AccountID=MEMB_STAT.memb___id
    COLLATE Latin1_general_CI_AI
    WHERE ((class = 0) OR (class = 1)) AND (clevel >= 350) AND (Money >= (50000000)) AND (ConnectStat = 0) AND (Reset < 50);
    2)DarkKnight/BladeKnight Code:
    UPDATE Character
    SET clevel = 1, Experience = 0, LevelUpPoint = 350 * (Reset + 1), Money = Money - (50000000), Strength = 28, Dexterity = 20, Vitality = 25, Energy = 10, Inventory = NULL, MagicList = NULL, MapNumber = 0, MapPosX = 130, MapPosY = 130, PkTime = 0, PkCount = 0, PkLevel = 0, Reset = Reset + 1
    FROM Character JOIN MEMB_STAT ON Character.AccountID = MEMB_STAT.memb___id
    COLLATE Latin1_general_CI_AI
    WHERE ((class = 16) OR (class = 17)) AND (clevel >= 350) AND (Money >= (50000000)) AND (ConnectStat = 0) AND (Reset < 50);
    3)Elf/MuseElf Code:
    UPDATE Character
    SET clevel = 1, Experience = 0, LevelUpPoint = 350 * (Reset + 1), Money = Money - (50000000), Strength = 22, Dexterity = 25, Vitality = 20, Energy = 15, Inventory = NULL, MagicList = NULL, MapNumber = 0, MapPosX = 130, MapPosY = 130, PkTime = 0, PkCount = 0, PkLevel = 0, Reset = Reset + 1
    FROM Character JOIN MEMB_STAT ON Character.AccountID = MEMB_STAT.memb___id
    COLLATE Latin1_general_CI_AI
    WHERE ((class = 32) OR (class = 33)) AND (clevel >= 350) AND (Money >= (50000000)) AND (ConnectStat = 0) AND (Reset < 50);
    4)MG Code:
    UPDATE Character
    SET clevel = 1, Experience = 0, LevelUpPoint = 350 * (Reset + 1), Money = Money - (50000000), Strength = 26, Dexterity = 26, Vitality = 26, Energy = 26, Inventory = NULL, MagicList = NULL, MapNumber = 0, MapPosX = 130, MapPosY = 130, PkTime = 0, PkCount = 0, PkLevel = 0, Reset = Reset + 1
    FROM Character JOIN MEMB_STAT ON Character.AccountID = MEMB_STAT.memb___id
    COLLATE Latin1_general_CI_AI
    WHERE (class = 48) AND (clevel >= 350) AND (Money >= (50000000)) AND (ConnectStat = 0) AND (Reset < 50);
    DarkLord (99+ Versions)
    UPDATE Character
    SET clevel = 1, Experience = 0, LevelUpPoint = 350 * (Reset + 1), Money = Money - (50000000), Strength = 26, Dexterity = 26, Vitality = 26, Energy = 26, Inventory = NULL, MagicList = NULL, MapNumber = 0, MapPosX = 130, MapPosY = 130, PkTime = 0, PkCount = 0, PkLevel = 0, Reset = Reset + 1
    FROM Character JOIN MEMB_STAT ON Character.AccountID = MEMB_STAT.memb___id
    COLLATE Latin1_general_CI_AI
    WHERE (class = 64) AND (clevel >= 350) AND (Money >= (50000000)) AND (ConnectStat = 0) AND (Reset < 50);
    -------------------------------------------------------------------------------------
    Autodesbug de ZEN [Zen negativo]
    -------------------------------------------------------------------------------------
    UPDATE Character
    SET Money= ('600000000')
    WHERE Money < 900000000 or 0

    -------------------------------------------------------------------------------------
    Autodesbug de stats de forma automática
    -------------------------------------------------------------------------------------
    En este caso, si tu personaje supera el máximo de stats de 32767, deberá salir del juego y luego al entrar los stats del personaje volverá a 30000 (Si desean pueden modificar el 30000 por el valor que quieran que el personaje regrese)
    UPDATE Character
    SET dexterity= ('30000')
    WHERE dexterity<0


    UPDATE Character
    SET energy= ('30000')
    WHERE energy<0


    UPDATE Character
    SET strength= ('30000')
    WHERE strength<0


    UPDATE Character
    SET Vitality= ('30000')
    WHERE Vitality<0


    Agregado para el pj DARKLORD
    UPDATE Character
    SET Leadership='30000'
    WHERE Leadership<0

    -------------------------------------------------------------------------------------
    Borrado de PK automático
    -------------------------------------------------------------------------------------
    UPDATE Character
    SET PkLevel = ('0'), PkTime = ('0'), PkCount = ('0')
    Where PkLevel>2
    -------------------------------------------------------------------------------------------
    Dar dinero a personajes que recien comienzan
    -------------------------------------------------------------------------------------------
    Dar puntos a los personajes al empezar
    Este código sirve para que los personajes empiezen con 20000000 de zen (Pueden modicar la variable 20000000 por la que ustedes quieran )
    UPDATE Character
    Set Money=('20000000')
    WHERE Money<1

    ------------------------------------------------------------------------------------------
    Dar stats a personajes que recien comienzan
    ------------------------------------------------------------------------------------------
    UPDATE Character
    SET Strength='10000'
    WHERE Strenght<18


    UPDATE Character
    SET Dexterity='10000'
    WHERE Dexterity<16


    UPDATE Character
    SET Vitality='10000'
    WHERE Vitality<16


    UPDATE Character
    SET Energy='10000'
    WHERE Energy<16


    Agregado para el DarkLord
    UPDATE Character
    SET Leadership='10000'
    WHERE Leadership<15

    ----------------------------------------------------------------------------------------------------------------
    Corrigue el bug para verificar correctamente los conectados en nuestra web
    ----------------------------------------------------------------------------------------------------------------
    UPDATE MEMB_STAT
    SET Connect_Stat='0'
    WHERE Connect_Stat>0
    -----------------------------------------------------------------------------------------------------------------------
    Transporta automaticamente de " Place Of The Exile " a Lorencia
    -----------------------------------------------------------------------------------------------------------------------
    UPDATE Character
    SET MapNumber=('0'), MapPosX=('125'), MapPosY=('125')
    WHERE MapNumber=('5')
    -----------------------------------------------------------------------------------------------------------------------
    Corrigue automaticamente el bug de las Guild con Score negativo
    -----------------------------------------------------------------------------------------------------------------------
    UPDATE Guild
    SET G_Score=('0')
    WHERE G_Score<0

    ---------------------------------------------------------------------------------------
    Sentencia para borrar los resets de todos los pjs
    ---------------------------------------------------------------------------------------
    Esta sentencia es ideal si queremos resetiar nuestro server y solo queremos borrar los resets de todos los pjs.
    UPDATE Character
    SET Resets=('0')
    WHERE Resets>0
    ----------------------------------------------------------------------------------
    Sentencia para borrar todos los items del baul
    ----------------------------------------------------------------------------------
    UPDATE warehouse
    SET Items=('')
    ---------------------------------------------------------------------------------------
    Sentencia para borrar todos los items del inventario
    ---------------------------------------------------------------------------------------
    UPDATE Character
    SET Inventory=('')
    -------------------------------------------------------------------------------
    Sentencia para debanear de forma automatica
    -------------------------------------------------------------------------------
    UPDATE Character
    SET CtlCode=('0')
    WHERE CtlCode=('1')
    --------------------------------------------------------------------------------------
    Sentencia para borrar a todos los gms
    --------------------------------------------------------------------------------------
    UPDATE Character
    SET CtlCode=('0')
    WHERE CtlCode=('8')
    --------------------------------------------------------------------------------------
    Sentencia para borrar todos los puntos para agregar
    --------------------------------------------------------------------------------------
    UPDATE Character
    SET LevelUpPoint=('0')
    WHERE LevelUpPoint>0
    Si tenemos un error con esta setencias cambiamos por esta
    UPDATE Character
    SET LevelUpPoints=('0')
    WHERE LevelUpPoints>0
    Si necesitas alguna sentencia podes solicitarla agregando como comentario en esta misma entrada describiendo el proceso.
    Sentencias_SQL.txt [12 KB]

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

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

    16 de septiembre de 2013, 2:21

    para eliminar las quest no tienes una? muchas gracias de antemano!

    16 de septiembre de 2013, 9:10

    Anónimo : Retira el code o número de la clase y la condicionas en sus evoluciones.
    Saludos

    28 de septiembre de 2013, 15:06

    ALGUNA SENTENCIA PARA BORRAR PUNTOS PARA REPARTIR MANTENIENDO LOS STAT AL RESETEAR?

    28 de septiembre de 2013, 22:04

    gustavo villaba : Sentencia nose si hay ya armada , pero la podes armar vos siguiendo el tutorial.
    ¿Cómo? , simplemente agregando LevelUpPoint=0 , con eso borrará los puntos guardados y conservará los puntos repartidos.
    Saludos

    4 de octubre de 2013, 22:17

    disculpa necesito tu ayuda use la sentencia de nivel 1000 que no borra puntos la modifique y le puse deacuerdo a mi servidor lvl 400 pero cuando un personaje llega a lvl 400 y selecciona personajes ya se le cuenta un reset y cuando selecciona seridor para resetear lo resetea normal a lvl 1 pero le cuenta otro reset osea cada vez que seleecione personaje le cuenta un reset ayuda como solucionarlo porfavor. gracias

    5 de octubre de 2013, 10:32

    Piero Caprile Di Natale : Intenta agregar una condición más [(ConnectStat = 0)]
    Saludos

    10 de octubre de 2013, 22:33

    buenas noches! abra alguna sentencia para desconectar a un pj que cancele un trade? o como puedo generarla gracias!

    11 de octubre de 2013, 9:32

    Emanuel Ortiz : ¿Cancelar un trade? ...
    Saludos

    17 de noviembre de 2013, 20:41

    No me quedo muy claro, si yo quiero un autoreset al lvl 350 sin borrar los skill de los pjs ni tampoco borrar el inventario de los pjs, pero sumando el costo del reset 50kk, es decir, 1er reset 50kk 2do reset 100kk o algo por el estilo como seria?.. Intente hacerlo pero una vez que llego al 350 puedo seguir leveleando y sigo al 351, 352 hasta el 400. Quisiera saber como ponerle el limite a 350. Y otra cosa, también me gustaría saber que significa cada parte asi podemos comprenderlo a fondo y hacerlo sin errores. Muchas gracias saludos

    17 de noviembre de 2013, 22:05

    Emiliano C. : Vamos por partes, en primer lugar el autoreset no define el nivel máximo del juego sino el nivel máximo para ejecutar la sentencia, eso implica que el jugador podrá resetear a level 350 pero dentro del juego podrá subir niveles hasta tu máximo permitido.
    Sobre tu segunda pregunta, esta un poco respondido en lo anterior, el max. level lo debes configurar en tu servidor.
    Y finalmente para comprender mejor estas sentencias SQL tienes una guia en donde se explica la terminología y conceptos de dichas consultas, solo revisa a fondo el sitio.
    Saludos

    17 de noviembre de 2013, 22:21

    OK Muchas gracias por la pronta respuesta. Saludos

    18 de noviembre de 2013, 7:34

    Emiliano C. : Saludos

    29 de enero de 2014, 11:14

    hola, necesito una sentencia para hacer que cuando un personaje se pase de 10000 puntos se desconecte y automaticamente vuelva a 10000 si no es mucha molestia

    29 de enero de 2014, 11:45

    matias martinez : ¿Cuándo pases de 1000 puntos en que?
    Saludos

    19 de agosto de 2014, 19:09

    una sentencia para q no de stats al resetear por favor?

    20 de agosto de 2014, 8:44

    Anónimo : Simplemente quita de la sentencia lo que no deseas que haga.
    Saludos

    26 de octubre de 2014, 19:09

    Una sentencia para dejarle al dark lord el comando?

    27 de octubre de 2014, 7:32

    ARTIJEFEX : En ese caso no necesitas sentencia, sino eliminar de la misma la parte de código que realiza dicha acción.
    Saludos

    31 de diciembre de 2014, 3:55

    Hola, yo elaboré una sentencia para que cada vez que se pasen de 31500 puntos en cualquier categoría los vuelva a 25, pero me interesa poner una excepción para un personaje en particular, su nickname es Wonder. He probado de todo pero no sé hacerlo, me das una mano? Gracias!

    31 de diciembre de 2014, 9:35

    Anónimo : ¿De que forma(s) lo has intentado y no te funcionó?
    Saludos

    31 de diciembre de 2014, 15:50

    Hola, gracias por tu respuesta. Mi sistema es así: cuando se pasan de 31500 puntos en cualquier categoría, automáticamente los vuelve a 25 en esa categoría. No los desconecta pero tienen que volver a fullear dicha categoría. Mi job para fuerza es así:
    UPDATE Character
    SET strength=('25')
    WHERE strength<0 OR strength>31500
    Y quería saber cómo puedo poner una excepción a esta regla, es decir, que yo pueda tener un personaje con un nombre en particular y que a ese personaje los puntos en fuerza no se le bajen a 25 cuando se pasa. Intenté agregarlo de esta forma y salió mal:
    WHERE strength<0 OR strength>31500 AND NOT name=('Wonder')
    Hice esto y sí, los puntos del personaje Wonder no se volvían a 25. Pero no me agradó la sorpresa de que los puntos del resto de los personajes en mi server volvieran a 25. Cabe aclarar que también probé a cambiar name por accountid para expandir este privilegio, y también traté de agregar otro AND NOT accountid para poner más de una excepción. Cuando acordé me di cuenta que todos estaban en 25, aunque este problema ya lo solucioné. No hay alguna otra forma de poner esta excepción sin que baje los puntos a todos?

    2 de enero de 2015, 10:28

    Anónimo : Si, es decir, ¿Porque pones NOT name=('Wonder')?
    Quita ese NOT y sólo afectará al personaje Wonder ya que una de las condiciones será que debe tener ese nombre.
    Saludos

    2 de enero de 2015, 20:33

    Pero eso no es lo que yo quiero. Yo quiero poner un límite a los puntos, de 31500, que si se pasan de ese límite se les vuelva a 25. Si saco el NOT esta regla se aplicará únicamente a Wonder, y yo justamente lo que busco es que se aplique a todos los personajes menos a él... Pasa que Wonder es un administrador y mi gameserver soporta 65535 puntos en las categorías. Lo que yo quiero es que Wonder pueda tener 65535 puntos y los demás personajes no... Mil disculpas por haberlo hecho tan poco claro jajaja, saludos

    3 de enero de 2015, 9:59

    Anónimo : A ver entonces tu problema es mala interpretación de la sentencia.
    Con tu propio condicional que tu mismo has armado funciona , es decir, afecta a todos los personajes menos a "Wonder", me refiero a este condicional que vos mismo has formulado:
    WHERE strength<0 OR strength>31500 AND NOT name=('Wonder')
    Pero me dices que no te agrada porque los stats de los personajes afectados vuelven a 25, entonces revisando tu sentencia completa veo lo siguiente:
    UPDATE Character
    SET strength=('25')
    La pregunta rápida sería ¿Por qué vos pones el SET Strenght en 25?, es lógico que va a volver a 25 si pones 25, ahi vos debes poner 31500 y los stats volveran a 31500 siempre y cuando el condicional sea verdadero.
    Saludos

    3 de enero de 2015, 19:52

    Hola , administrador queria saber si en files 97x se pondra poner max stat en 31500 , yo puse los puntos de level y de reset justo para que den 31500 pero lo que pasa es que si vos entras al juego y enves de 31500 pones 31000 en 2 stat te sobrarian 1000 y se los mandan en un stat ejemplo:
    FUERZA : 31000
    AGILIDAD: 31000
    VITALIDAD : 31500
    ENERGIA : 31500
    Sobran 1000 puntos , y esos 1000 se los ponen a mano . Lo que trato de explicarte es si se al llegar a 31500 no se pueda sumar lo puntos manualmente con el click por qe por comandos ni por la web se puede solo con el click
    Muchisimas gracias.

    4 de enero de 2015, 1:45

    buen dia busco una sentencia que aga lo siguiente que al hacer reset no borre stats y que sea autoreset a y que no borre items porfavor se le agradese

    4 de enero de 2015, 3:15

    Pero no, no me entendés, yo realmente quiero que si los muy vivos se pasan, no vuelvan a 31500, porque se van a sumar los puntos extra cada vez que quieran pelear. Yo quiero que se les vuelvan a 25, esa sentencia está bien armada. Lo que pasa es que quise agregar una excepción a esa regla para que al personaje Wonder eso no le pase, y funcionó, los puntos le quedaron, pero por alguna razón al resto de los personajes los puntos se le volvían a 25, ellos no se pasaban y los volvía igual, es más sólo los dejaba tener 25 puntos porque si se sumaban los volvía a poner en 25 todo el tiempo. Por lo que deduzco que esa sentencia está mal armada en cierta forma, puede ser que la función AND NOT no sea la correcta para este tipo de cosas?

    4 de enero de 2015, 10:09

    Anónimo : Para eso tendrás que modificar tu cliente, desde el servidor no podrás hacer nada respecto a eso.

    Alvaro Jaimes : La primera sentencia publicada hace ese trabajo, revísala.

    Anónimo : Si te entendi, y probe la sentencia y como te decía con el personaje nombrado puedo tener los stats que deseo y con el resto de los personajes funciona perfectamente, es decir, sólo regresa a 25 en caso de tener más de 31500 o menos de 0.
    Vuelve a revisar tus resultados y verifica bien durante tu test.
    Saludos

    4 de enero de 2015, 15:05

    Como se hace , kiero dejarle el comando al dark lord y no se como, gracias

    5 de enero de 2015, 5:22

    buen dia probe la 1ra sentencia y no funciono me sale error me pueden ayudar con otra gracias

    5 de enero de 2015, 8:36

    Anónimo : ¿Qué autoreset estas usando o sentencia SQL?

    Alvaro Jaimes: ¿Modificaste el nivel 1000 que tiene la sentencia por el nivel máximo de tu juego?
    Saludos

    5 de enero de 2015, 18:56

    Mmm es raro entonces... porque yo había puesto más tarde, para agregar una excepción a la cuenta completa, y después quise poner para otra cuenta más, ahí fue cuando a todos se les bajaron los puntos a 25. Puse así:
    WHERE strength<0 OR strength>31500 AND NOT account=('Admin') AND NOT account=('Admin2')
    No recuerdo bien si la columna se llamaba account, pero mi ejemplo se entiende. Así lo hice y sospecho que cuando puse eso fue que los puntos de todos los personajes se volvieron a 25, sin importar si tenían 31500, o 400, o los que tuvieran, a todos se les volvió a 25 y no se por qué. Alguna idea? Gracias y mil disculpas por las molestias

    6 de enero de 2015, 1:20

    sale este error y si modifique el nivel

    Servidor: mensaje 208, nivel 16, estado 1, línea 1
    El nombre de objeto 'Character' no es válido.
    Servidor: mensaje 208, nivel 16, estado 1, línea 1
    El nombre de objeto 'MEMB_STAT' no es válido.

    7 de enero de 2015, 7:52

    Anónimo : Vuelve a verificarlo.

    Alvaro Jaimes : Arriba, en donde has pegado el script con el autoreset, revisa si has seleccionado como base de datos "MuOnline".
    Saludos

    19 de mayo de 2015, 23:48

    Amigo una pregunta, yo hago reset con el comando /reset pero quisiera tener una sentencia para que al hacer reset se reseteen los puntos, los puntos se reparten a traves del comando que tengo en los files pero estos no me borran los puntos que ya habia tenido no se puede configurar desde el comando que tengo en mis files, que sentencia puedo poner?

    20 de mayo de 2015, 17:03

    Anónimo : Agregas a tu sentencia lo siguiente:
    Strength = 18, Dexterity = 18, Vitality = 15, Energy = 30,
    Recuerda que si la versión incluye al personaje DarkLord debes agregar Leadership=15 (Si deseas borrar el comando)
    Saludos

    4 de junio de 2015, 2:17

    hola asd* mira tengo un problema no se donde preguntarte ya q no se si es sql, cliente, files.
    Tengo 1 server season6 files Ibanez 1.09G, empezando por el principio el cliente que dejaron en el post de esos files no le pude hacer andar el main asi q busque otro cliente y main limpio.
    Ahora el problema, yo en el servidor le pongo para q de 1000 puntos por reset y borre stats. Hasta aca todo bien.
    El problema es que al pasar los 65 reset, los puntos que tengo para agregar se bugean(obvio paso el limite de 65535) pero no es solo bug visual sino que los puntos se desaparecen y no los puedo poner ni a mano ni con comandos, básicamente es como que cada vez que haga 65 reset tengo que empezar de 0.
    Probe editar los puntos solo desde sql, osea me puse 65538 lvlup points, entre al juego agregue los que pude(2) y relogie, pero no habian mas puntos, fui al sql a mirar y tambien aparecia en 0 los puntos..
    Si has visto alguna vez esto o si se te ocurre xq puede pasar ayudame plz me tiene la cabeza prendida fuego hace 1 mes masomenos.

    4 de junio de 2015, 18:34

    Anónimo : ¿Estas reseteando dentro del juego?
    Saludos

    4 de junio de 2015, 20:49

    Si reseteo dentro del juego al entrar se pierden esos puntos, si reseteo desde la pagina y no agrego los puntos, se pierden los puntos tambien al pasar de 65535

    5 de junio de 2015, 19:37

    Miguel Mendez : Resetea por la página, agrega los puntos y luego ingresas.
    Saludos

    Publicar un comentario en la entrada