[SQL]Cambiar mapa de inicio

Topic created · 12 Mensajes · 2708 Visitas
  • MI POST EN Elitepvpers
    http://www.elitepvpers.com/forum/metin2-pserver-guides-strategies/2041971-release-sql-change-startmap-coords-map.html

    El post es de MI AUTORÍA.

    Bueno, algunos sabréis que hice un cursillo SQL y lo primero que se me ha ocurrido para hacer es un cambiador de coordenadas para cuando creas un PJ nuevo, de esta forma puedes ponerlo en el mapa que quieras sin el molesto "Quest" que te lleva a city1 y después te lleva al mapa que deseas. Esta hecho de forma totalmente automatizada. Y se tiene que poner como "Query" en el servidor.

    Si quereis que TODOS los pj's empiezen en el mismo mapa usen este trigger

    DELIMITER $$
    DROP TRIGGER IF EXISTS esper $$
    
    CREATE TRIGGER esper
    BEFORE INSERT ON player
    FOR EACH ROW
    BEGIN
    SET NEW.x= 172428;
    set new.y= 1220252;
    set new.map_index= 73;
    end $$
    DELIMITER ;
    

    Cambiando las coordenadas y el map_index.

    Primero de todo ningún map_index puede ser 0 en la base de datos antes de poner estas querys.
    por lo tanto hacer esta query:

    UPDATE player set map_index=1 where map_index=0
    

    PROCEDIMIENTO

    delimiter $$
    
    Drop procedure if exists `proceso` $$
    CREATE
    PROCEDURE `proceso`()
    begin
    
    declare reino integer;
    declare ids integer;
    
    
    select account_id into ids from player where player.map_index=0;
    select empire into reino from player_index  where id=ids;
    
    if reino=1 THEN
    UPDATE player set x=1111 where map_index=0;
    UPDATE player set y=1111 where map_index=0;
    UPDATE player set map_index=1 where map_index=0;
    end if;
    
    if reino=2 THEN
    UPDATE player set x=2222 where map_index=0;
    UPDATE player set y=2222 where map_index=0;
    UPDATE player set map_index=2 where map_index=0;
    END if;
    
    if reino=3 THEN
    UPDATE player set x=3333 where map_index=0;
    UPDATE player set y=2222 where map_index=0;
    UPDATE player set map_index=3 where map_index=0;
    end if;
    
    end $$
    delimiter ;
    

    Tenéis que editar las coordenadas y el map_index. (Mirando las posiciones desde el navicat)

    TRIGGER (Este sirve para llamar al procedimiento cuando se crea un nuevo PJ)

    DELIMITER $$
    DROP TRIGGER IF EXISTS espera $$
    
    CREATE TRIGGER espera
    AFTER UPDATE ON player_index
    FOR EACH ROW
    BEGIN
    call proceso();
    end $$
    DELIMITER ;    
    

    Se que no es gran cosa, y sí, es de mi autoría, salu2.

  • 😮 No pensaba que lo fueras a sacar a la luz , despues de que me comentaste que lo habias logrado , bueno espero que agradezcan a los que les sirve por este gran trabajo , Saludos.

  • **! Buen trabajo tio sigue asi !! :in-love: **

  • Eso lo habia pensado yo pero una pregunta k me tiene en mente si lo haces asi aunk seas de jinno o shinsho todos iran al mismo mapa?

  • He puesto para que se puedan poner todos a un mismo mapa entre


    Pero el que contiene un procedimiento y un trigger sirve para poder editar tu mismo las coordenadas de cada reino.
    Si lees un poco pone "Reino=1" "Reino=2" "Reino=3" El 1 es shinsoo el 2 es chunjo el 3 jinno.

  • a vale ahora me fije mas dependiendo si pone el 1 2 o 3 pudes poner un mapa

    Aki te dejo tu gracias xD

  • Ruben cano atiende a skype soy el que tiene el 4 reino una cosnulta de rapidez jiji

  • @jaderflow said:

    Ruben cano atiende a skype soy el que tiene el 4 reino una cosnulta de rapidez jiji

    Para hacer estos mensajes contacta por MP :icon_exclaim: :icon_exclaim:

    Bueno te envié MP.

  • pues mas facil entramos a giv basic weapon y donde da los premios ponemos pc.warp (codenadas) :facepalm:

  • @macu23 said:

    pues mas facil entramos a giv basic weapon y donde da los premios ponemos pc.warp (codenadas) :facepalm:

    De esta forma , al entrar a jinno , shinso o chunjo , te ara un teletrasporte...

    Te devuelvo el facepalm :facepalm:

    Y si no te gusta lo haces tu listo que eres muy listo 😉 , este trabajo requiere su tiempo aver si tu lo sabes hacer mejor 😄

    Y lo que publico es para Empezar directamente en el mapa, sin teletrasporte ni nada.