Jump to content

boker9999

Miembro
  • Contador contenido

    69
  • Ingreso

  • Última visita

Actividad de reputación

  1. Me Gusta
    boker9999 got a reaction from santos2002 in pack para cambiar texturas   
    Os dejare el enlace a un video tutorial para editar las texturas de los Gr2.
    En el video teneis, el photoshop Cs6 + plugin DDS, el granni viewer y el texture changer granny ( para implementar la textura en el gr2 )
     
     
    Os dejo el segundo video, ya que algunos dicen que no les guardaba el gr2, o que la textura seguia viendose blanca. En este segundo video explico esas dos cosas.
     
     
  2. Me Gusta
    boker9999 got a reaction from AsepserDesigner in [Aporte]Files eternia2, Pandora   
    probando
  3. Me Gusta
    boker9999 reacted to ALEXANDER2020 in Sistema de chamán de soporte   
    Kod (C++):[/FONT][/CENTER][/FONT][/CENTER][/FONT][/CENTER][/FONT][/CENTER][/FONT][/CENTER] [FONT=Courier New][CENTER][FONT=Courier New][CENTER][FONT=Courier New] [CENTER][FONT=Courier New] [CENTER][FONT=Courier New] [CENTER]#ifdef ENABLE_SUPPORT_SYSTEM const DWORD exp_support_table[121] = { 0, 300, 800, 1500, 2500, 4300, 7200, 11000, 17000, 24000, 33001, 43000, 58000, 76000, 100000, 130000, 169000, 219000, 283000, 365000, 472000, 610000, 705000, 813000, 937000, 1077000, 1237000, 1418000, 1624000, 1857000, 2122000, 2421000, 2761000, 3145000, 3580000, 4073000, 4632000, 5194000, 5717000, 6264000, 6837000, 7600000, 8274000, 8990000, 9753000, 10560000, 11410000, 12320000, 13270000, 14280000, 15340000, 16870000, 18960000, 19980000, 21420000, 22930000, 24530000, 26200000, 27960000, 29800000, 32780000, 36060000, 39670000, 43640000, 48000000, 52800000, 58080000, 63890000, 70280000, 77310000, 85040000, 93540000, 102900000, 113200000, 124500000, 137000000, 150700000, 165700000, 236990000, 260650000, 286780000, 315380000, 346970000, 381680000, 419770000, 461760000, 508040000, 558740000, 614640000, 676130000, 743730000, 1041222000, 1145344200, 1259878620, 1385866482, 1524453130, 1676898443, 1844588288, 2029047116, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, }; #endif #ifdef ENABLE_SUPPORT_SYSTEM extern const DWORD exp_support_table[121]; #endif  
    descarga Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  4. Me Gusta
    boker9999 reacted to Break in Armas 105 del Oficial Animadas   
    Te dejo lo que buscas por aquí:
    Y por aquí el virus total:
     
     
    Un saludo!
  5. Me Gusta
    boker9999 reacted to Metin2HOW in Armas 105 del Oficial Animadas   
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    Las armas se ponen en:
    d:\ymir work\item\weapon\ Y en  playersettingmodule.py source bin agregar una linea como por ejemplo:
    chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+22, "PART_WEAPON", "D:/ymir work/item/weapon/sabiebeta.mse")  
  6. Me Gusta
    boker9999 reacted to EzekielitohMercury in [SET] Armas animadas *Ryan*   
    Creditos: A&J Ryan
     
    Descarga MEDIAFIRE: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Descarga MEGA: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
     
     
  7. Me Gusta
    boker9999 reacted to Desmint in [ARMA]Armas Animadas   
    Hola amigos de Metin2 Zone.
    En esta oportunidad les traigo este set de armas muy chulas que me he encontrado en otro foto.
    Espero las disfruten. Saludos 🙂
    Créditos: Just4Metin
    Nota: El archivo contiene parte del source - parte de cliente - parte de SQL con un pequeño archivo para implementarlas





    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  8. Me Gusta
    boker9999 reacted to CriticalError in [GUIA] Adaptación de armas a Metin2.   
    Muchas gracias por el tuto, muy interesante,bueno pues seguramente ya lo habras conseguido debido al date de la fecha pero wi, aqui lo tienes por si las dudas.  

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    Contrasela: CriticalError
  9. Me Gusta
    boker9999 reacted to  Pantsu  in [GUIA] Adaptación de armas a Metin2.   
    Hola queridos usuarios de Metin2Zone. Hoy os traigo una guia de como adaptar un arma del World Of Warcraft por ejemplo y usarla en vuestro Metin2. Bueno lo primero que tenéis que saber son los programas necesarios para hacer dicha adaptación.
     
    ·Recursos:
    - 3Ds Max 2007.
    - World Of Warcraft Cliente.
    - World Of Warcraft Model Viewer.
    - Plugin Export GR2 Para 3Ds Max 2007.
    - GR2 to Mesh.
     
    ·Descarga de recursos:
    -
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. -
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. -
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. / Debes iniciar sesión para ver el contenido del enlace en esta publicación. -
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. -
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    Teniendo todo esto solo tendríamos que instalar el World Of Warcraft. La instalación puede demorar varias horas. Instalamos el World Of Warcraft Model Viewer y se guardara predeterminadamente en 'C:\Program Files\World Of Warcraft Model Viewer' Al dirigirnos a la ruta del model viewer podemos abrir el .exe llamado 'WowModelViewer32' al abrirlo le damos todo a 'Si' en lo que nos aparezca y se cargara automáticamente la base de datos del World Of Warcraft (Para esta parte hace falta tener el World Of Warcraft instalado y actualizado). Ahora el 3Ds max lo instalan. Descomprimimos el archivo Plugins y la carpeta la pasamos a la raíz del 3Ds MAX 2007. Después de todo esto podremos comenzar con la guía.
     

    1º Paso: Exportar cosas del World Of Warcraft Model Viewer.
    Lo primero de todo esto es abrir el Model Viewer del World Of Warcraft. Al abrir el Model Viewer y si ya tenemos el World Of Warcraft instalado nos aparecerá el programa y primero una ventana y le damos a 'Si' luego a 'Aceptar' y tendremos la Base de datos cargada. Para las armas nos vamos a 'Item' luego a 'Objectcomponents' y finalmente a 'Weapons' y escogemos un arma para nuestro metin. Asi como muestro en la imagen. Para exportar le dais a File -> Export Model -> Wavefront OBJ.

    [El arma que se muestra en la imagen en la base de datos se llama 'sword_1h_raid_d_03']

    2º Paso: Sacar modelo de arma Metin2 para adaptar el arma del World Of Warcraft.
    Descargamos el GR2 to Mesh y arrastramos ahi un GR2 de un arma del Metin2. Por ejemplo el de un arma del nivel 1 (00010.gr2) lo ponemos en la carpeta del GR2 to Mesh. Y arrastramos el GR2 a 'grnreader' y aparecerán 3 ventanas es cuestion de darle 'Si' a las tres ventanas.Despues de este paso ya tendremos el 00010.GR2.ms y ese archivo lo arrastramos hasta el 3Ds Max. Asi ya tendremos un modelo fijo para adaptar el arma con la medida correcta. Asi se vera en el 3Ds Max 2007, aqui la imagen de muestra.

    [El arma que se muestra en la imagen no es la espada del nivel 1 (00010.gr2.ms) si no otra que ya tiene guardada]

    3º Paso: Adaptacion del modelo del World Of Warcraft al Modelo de Metin2.
    Lo primero de todo al tener el arma del World Of Warcraft que extrajimos antes la arrastramos al 3Ds Max 2007 saldrá girada mal. Lo primero es poner el arma recta. Para eso cogéis la herramienta que esta en el menú de arriba. Luego de ponerla recta lo siguiente es aumentarle el tamaño al tamaño del Modelo del Metin, pues muy fácil. Cogéis la herramienta que también esta en el menú de arriba y es ir aumentando hasta que del mismo tamaño que el arma del Metin. Bueno ahora es eliminar el modelo del Metin el verde de arriba para eso escogemos la herramienta que también esta en el menú de arriba y seleccionáis la capa de 'Object01' y le dais a 'Select' y luego a la tecla 'Delete/Suprimir' ahora ya quedara el arma solamente. Solamente queda centrar el arma para eso vamos al cuadro de arriba a la izquierda (Como os habréis dado cuenta ahí 4 Cuadros distintos cada uno una perspectiva diferente para ver el arma) en el de arriba a la izquierda ponéis el arma en esta posicion. Que las lineas queden en linea con las negras. Se puede mover el arma con esta herramienta que esta ubicada en el menú de arriba. Aquí una imagen de como tiene que quedar el arma.

     
    NOTA: Para añadirle la textura a un arma solo es necesario arrastrar la textura (TGA/DDS o cualquier archivo de imagen). Para que a los usuarios se les vea con textura dentro de el juego el arma tiene que tener de ruta 'D:\Ymir Work\Item\Weapon'.
     
     
     
     

    Bueno eso es todo, espero que le haya gustado la guía y que pronto puedan tener armas únicas en su servidor, gracias y
    buena suerte.

    Guia oficial Metin2Zone
    Att. Strach
  10. Me Gusta
    boker9999 got a reaction from matador7 in [Video-Tutorial BASICO] #4 - Como conectarse a Navicat y crear Cuentas 2014   
    gracias
     
  11. Me Gusta
    boker9999 reacted to Digital-RBK in [ARMADURAS] Revolution Set 2015-[icluye new armor para lycan]-Link[MG]   
    Hola gente de zone, pues estaba bastante jodido, como sabeis no me puedo mover mucho, y me tire toda la tarde sin internet y pues bueno, me puse a adaptar unas armaduras a las que he bautizado

     

    REVOLUTION

     

    Como sinceramente no creo que aga anda con ellas, aunque podria venderlas perfectamente, creo que las aportare al foro asi las disfrutamos todos.

     

     

     

    Imagenes del set, ya podreis hacer una idea que son todas del mismo estilo

     

     







    Saludos

     

    Descarga: Debes iniciar sesión para ver el contenido del enlace en esta publicación.

    Descarga el Lycan: Debes iniciar sesión para ver el contenido del enlace en esta publicación.

    "El lycan quedan resolver unos bugs"

     

    "Estan sin testear, cualquier fallo, aganmelo saber"

     

     

    Si te gusto el aporte, siempre puedes ayudar a que siga aportando al foro con una pequeña donacion a mi paypal

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.<script cf-hash='f9e31' type="text/javascript"> /* */</script>

     

    ¡Cualquier donacion es bienvenida!

     

     

     

    Lucan ingam

     



  12. Me Gusta
    boker9999 reacted to Javier Gigante in [Completo] Files+Game+Cliente+Source   
    Te daría un WOOOOW, tambien un AAAHHH, y muchas compartidas.... pero hoy el enlace está caido ^^
  13. Me Gusta
    boker9999 got a reaction from Erick Pereira in Armadura olimpica en Lynca   
    enlace caido...
    alguien tiene estas armaduras?
  14. Me Gusta
    boker9999 reacted to Teklis in Mapa Comercio   
    Aqui os dejo un mapa nuevo bastante wapo
     

     
    Descarga :
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  15. Me Gusta
    boker9999 reacted to pupi015 in [Aporte] Instancia Jefe Orco Renacido   
    Hola de nuevo, hoy les traigo una instancia que hice hace poco, me fui guiando en otras instancias y guias sacadas de aca.
    Bueno voy al grano, la instancia consiste en matar a un Jefe orco, ir a hablar con un npc ( en mi caso lo puse al npc 20376 que lo tenia sin uso en mi servidor, pero pueden poner el que mas les guste.), este mismo te pedirá que elimines al Jefe orco, para poder derrotar al Jefe orco Renacido.
    Vamos a la instalacion, Vamos la ruta de las quest en mi caso es cd /usr/game/share/locale/germany/quest/
    metemos el Archivo que voy a dejar para descargar e igual lo dejare posteado por las dudas.
    quest Dungeon_Orco begin
        state start begin
            when 691.kill begin
            chat("Has Matado al Jefe orco, ve con el Estudiante de Orcos ")
            chat("si te sientes fuerte para derrotar al Jefe Orco Renacido..")
            pc.setqf("entrar",1)
            end
            when 20376.chat."Entrar a la Dungeon"  begin
            say_title("Estudiante de Orcos")
            say("Si has derrotado al Jefe Orco puedes entrar")
            say("Te deseo Suerte!")
            local dungeon = select ("Quiero entrar","Lo voy a pensar mejor")
            if dungeon == 1 then
                if pc.getqf("entrar") < 1 then
                    say("Necesitas matar al Jefe Orco Primero")
                    say("Ve a buscarlo al rededor de donde estamos ahora")
                    return
                    end
            timer("primera_isla",10)
            pc.setqf("entrar",0)
            notice_all("El grupo de "..pc.get_name().." Quiere derrotar al Jefe Orco Renacido")
            return
            end
            end
            when primera_isla.timer begin
            d.new_jump_all (64, 2821, 8050)
            d.regen_file("data/dungeon/orcos/dungeon_orcos_1.txt")
            d.setf("pupi",1)
            d.setf("drop",1)
            d.notice("Consigue el Mapa para pasar a la siguiente isla !")
            end
            when 614.kill or 615.klill or 616.kill or 617.kill or 656.kill or 657.kill with d.getf("drop") == 1 begin
            local mapa = number ( 1 , 10 )
            if mapa == 1 then
            game.drop_item (27998,1)
            d.setf("drop",2)
            d.notice("Ha Caido el Mapa de la Isla, Usalo para Pasar")
            end
            end
            when 27998.use with d.getf("pupi") == 1 begin
            d.notice("Felicidades, en 5 Segundos seran Transportados a la siguiente Isla")
            item.remove()
            timer ("segunda_isla",5)
            end
            when segunda_isla.timer begin
            d.new_jump_all(64, 3843, 7523)
            d.spawn_mob(8016, 1300, 855)
            d.notice("Destruye el Metin ! ")
            d.setf("pupi",2)
            end
            when 8016.kill with d.getf("pupi") == 2 begin
            d.notice("Felicidades,en 15 Segundos pasaran a la Tercera Isla, Estan Listos?")
            timer ("tercera_isla",15)
            end
            when tercera_isla.timer begin
            d.new_jump_all(64, 3057, 7792)
            d.regen_file("data/dungeon/orcos/dungeon_orcos_2.txt")
            d.notice("Eliminen a TODOS los Mounstruos")
            d.setf("pupi",3)
            d.setf("mob",40)
            end
            when 777.kill or 776.kill with d.getf("pupi") == 3 begin
            d.setf("mob",d.getf("mob")-1)
            chat("Bien Hecho, les queda "..d.getf("mob").." Mobs para pasar.")
            if d.getf("mob") == 0 then
                d.notice("Has Liquidado a todos los Mobs ")
                d.notice("Pasaran a la Cuarta y Ultima Isla, el Jefe Orco Renacido los espera!")
                timer("final_isla",5)
                end
                end    
            when final_isla.timer begin
            d.new_jump_all(64, 3950, 7876)
            d.regen_file("data/dungeon/orcos/dungeon_orcos_final.txt")
            d.setf("pupi",4)
            end
            when 693.kill with d.getf("pupi") == 4 begin 
            d.spawn_mob(9012, 1392, 1220)
            d.spawn_mob(20376, 1373, 1212)
            d.notice("Has Derrotado al Jefe Orco Renacido ! Habla con el Estudiantes de Orcos para tu Recompensa.!")
            d.setf("recompensa",1)
            end
            when 20376.chat."Recompensa Maravillosa" with d.getf("recompensa") == 1 begin
            say_title("Estudiante de Orcos")
            say("Has Vencido al Jefe Orco Renacido ! ")
            local main = select ("Piedras","Enchant Armadura","Runas","Cerrar")
            if main == 1 then
            local piedra = select ("Def.Espada","Def.Dos Manos","Def.Campana","Def.Fan","Siguiente")
            if piedra == 1 then
                pc.give_item2(900036,1)
                d.setf("recompensa",0)
            elseif piedra == 2 then
            pc.give_item2(900040,1)
            d.setf("recompensa",0)
            elseif piedra == 3 then
            pc.give_item2(900039,1)
            d.setf("recompensa",0)
            elseif piedra == 4 then
            pc.give_item2(900041,1)
            d.setf("recompensa",0)
            elseif piedra == 5 then
            local piedra2 = select ("Def.Flechas","Res Habilidad","Fuerza Medio Humanos","Res Magia","Def Daga","cerrar")
            if piedra2 == 1 then
            pc.give_item2(900042,1)
            d.setf("recompensa",0)
            elseif piedra2 == 2 then
            pc.give_item2(900043,1)
            d.setf("recompensa",0)
            elseif piedra2 == 3 then
            pc.give_item2(900044,1)
            d.setf("recompensa",0)
            elseif piedra2 == 4 then
            pc.give_item2(900038,1)
            d.setf("recompensa",0)
            elseif piedra2 == 5 then
            pc.give_item2(900037,1)
            d.setf("recompensa",0)
            return
            end
            end
            elseif main == 2 then
            say("Quieres Enchants Armadura? ")
            say("Te puede dar entre 1 y 5 Enchant Armadura")
            local enchant = select ("Si","No")
            if enchant == 1 then
                local en = number ( 1 , 3 )
                    if    en == 1 then
                        chat("Has Recibido x1 Enchant Armadura")
                        pc.give_item2(38068,1)
                        d.setf("recompensa",0)
                    elseif en == 2 then
                    pc.give_item2(38068,3)
                        chat("Has Recibido x3 Enchant Armadura")
                        d.setf("recompensa",0)
                        elseif en == 3 then
                        pc.give_item2(38068,5)
                        chat("Has Recibido x5 Enchant Armadura")
                        d.setf("recompensa",0)
                        end
            return
            end
            elseif main == 3 then
            say("Quieres alguna Runa ?")
            say("Escoje bien, La Amarilla da F.MH, la Azul da Monster")
            local runa = select ("Runa Amarilla","Runa Azul","Cerrar")
            if runa == 1 then
                chat("Has Recibido tu Runa Amarilla")
                pc.give_item2(8010,1)
                d.setf("recompensa",0)
            elseif runa == 2 then
            chat("Has Recibido tu Runa Azul")
            pc.give_item2(8011,1)
            d.setf("recompensa",0)
            end
            return
            end
            end
    end
    end
     
    Una vez hecho eso agregamos el nombre de la quest al list en mi caso es el locale_list
    en la ultima linea damos enter y agregamos asi
    Dungeo_Orcos.quest (enter)
    reemplazamos el locale_list por el que teníamos y hacemos un reset o en la maquina ponemos ./qc Dungeon_Orcos.quest que hay cargaría la quest.
     
    Explicando un poco la quest de arriba es sencilla 
    La Primera Isla , te manda a vos y tu grupo a una "isla nueva" de el mapa de orcos, en esa isla tienes que matar mobs para que salga el item necesario en este caso es 27998 como muestra arriba pero le ponen el ítem que quieran, le dan click a ese "mapa" que puse y los mandara a la segunda isla.
    La Segunda Isla, tendrás que romper un metin, fácil y sencillo , al eliminarlo te manda a la tercera isla.
    Tercera Isla, tenes un contador de mobs en este caso 20  que al eliminar TODOS te pasara a la ultima isla con el jefe orco renacido
    Cuarta Isla, aparecerá un grupo de mobs y el Jefe orco Renacido, al eliminarlo, aparte del drop, volvera a salir el npc 20376 pero ahora te dejara elegir una recompensa, como veran yo puse para elegir piedras +5, las runas anterior mente mensioandas en mi ultimo post, y unos enchant de armadura que los estare mostrando mas adelante. Aca pueden poner los items que quieran eso va a eleccion de cada uno.
    Creo que no me quedo mas nada para explicar o decir, cualquier duda o mejora hacia la quest sera bienvenida, es de decir como el anterior post que esto lo hice desde cero yo mismo y no copie a nadie, (como mensione arriba, me fui guiando y ayudando de las guias que dejaron hace años en este mismo foro.) sin mas que agregar, espero que les guste.
    Pupi :)
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  16. Me Gusta
    boker9999 reacted to caanmasu in me ayudan a corregir esta quest   
    Aquí tienes


    Debes iniciar sesión para ver el contenido del enlace en esta publicación.

    Solo montas la quest y cambias los parámetros que quieras en la función info() 🙂
    Ah, y también si vas a añadir nuevos objetos ponlos en el select() siguiendo la secuencia y ya
  17. Me Gusta
    boker9999 reacted to Dilong in Evento de apuestas   
    Esto lo hice basandome en la idea de alguien que pedia uno via source con gui y todo, pero en mi caso es solo quest simple, asi que no es gran cosa
    Avisen si hay algun problema con la quest
    Quest:
    Dejo el .sql en un adjunto

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  18. Me Gusta
    boker9999 reacted to PACI in Ranking De Kills   
    Hola MZ, como no hacia nada pensé en dejaros el la quest de ranking de kills que tengo en mi server, la he traducido para español.
     
    Bueno, método simple:
     
    Se descargan
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    Después se conectan al FTP ( Filezilla o WinSCP ), se dirigen a:
     

    /usr/rain/channel/share_data/locale/spain/quest En caso de tener otras files, solo cambian la parte de " rain " para el otro nombre
     
    Y Mueven la quest hacia ai. Despues de eso, abre el archivo locale.lua y al final ponen:

    Kills.quest Despues van a la maquina virtual y escriben esto:

    cd /usr/rain/channel/share_data/locale/spain/quest Le dan ENTER
     
    Y despues escriben esto:

    ./qc Kills.quest Despues o dan reboot, o con un personage GM hacen /reload q
     
    Y es todo...
     
    Buenas Noches
     
    Me olvide de que esto iba en Quests Metin2 --"
  19. Me Gusta
    boker9999 reacted to caanmasu in Ayuda con quest de bonus   
    quest bonus_7 begin state start begin when id_npc.take begin -- cambia por el id de tu NPC if item.get_type() == 1 then item.set_attribute(6, type, value) end end end end  
  20. Me Gusta
    boker9999 reacted to KeKo in [Sistema] Puntos Metin   
    Buenas zoneros y zoneras,
     
    Hace tiempo que no posteaba ninguna quest, asi que hoy me ha dado por haceros un "mini-sistema" para que lo podais meter en vuestro servidores si os gusta
     
    Lo he llamado sistema de "Puntos Metin" y como el nombre sugiere tiene que ver con los metines. Por cada metin que destruyas en el servidor obtendrás una determinada cantidad de un item que yo bautize como "Esfera Metin" pero que cada uno puede llamar como quiera (yo os dejo el tga del item por si lo quereis).
     
    Las esferas que te da cada metin son diferentes (configurables a voluntad) y ademas os he hecho un npc de canjes para que podais llevar vuestras esferas metin y canjearlas por los items que querais (vosotros configurais el npc) .
     
    Primero unas fotitos del proceso:
     
    1 - Petando un metin, te da esferas:
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    * Detalle: La quest reconoce automaticamente que metin destruyes y te da los puntos correspondientes a ese metin, mas abajo os enseñare a editar los puntos.
     
    2 - Esta es una esfera metin:
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    3 - Vamos al npc de los canjes:
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    4 - Elegimos el item a canjear:
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    5 - Si no tenemos las esferas suficientes saldra este mensaje, si las tenemos nos dara el item y nos quitara las esferas correspondientes (podeis poner el coste de cada item al lado del nombre en el local).
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    Y bueno ahora que os he explicado un poco como va, aqui os dejo la quest:
     
     
     
     
    (Aqui en pastebin para quien la prefiera tener con las tabs
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.)  
    Y bueno ahora os voi a enseñar como editarla:
     
    Paso 1 - Los metines:
     
    Para añadir nuevos metines ponemos su id en el array y vamos a configurarles el nombre y esferas que daran:
     

    local metin = { [8001] = {1,"Metin de Dolor"}, [8002] = {1,"Metin de Combate"}, [8003] = {2,"Metin de Batalla"}, [8004] = {2,"Metin de Avaricia"}, [8005] = {3,"Metin Negro"}, [8006] = {3,"Metin de Oscuridad"}, [8007] = {3,"Metin de Celos"}, [8008] = {4,"Metin de Alma"}, [8009] = {4,"Metin de Sombra"}, [8010] = {5,"Metin de Dureza"}, [8011] = {5,"Metin de Demonio"}, [8012] = {6,"Metin de Caida"}, [8013] = {6,"Metin de Muerte"}, [8014] = {8,"Metin Asesino"}, [8024] = {10,"Metin Pung-Ma"}, [8025] = {11,"Metin de Ma-An"}, [8026] = {12,"Metin de Tu-Young"}, [8027] = {13,"Metin Jeon-Un"} } Este array contiene 3 elementos
     

    [8027] Entre [ ] la id del metin de nuevo, si quereis añadir uno nuevo la poneis igual
     

    {12,"Metin de Tu-Young"}, Entre { va primero la cantidad de esferas que dara (en este caso 12) una coma y luego entre " " el nombre del metin (es opcional, lo dice por el chat al peta uno).
     
    Si quereis añadir una nueva linea pos haceis asi:
     

    {esferas,"nombre"}, Ojo! El ultimo de los metines NO debe llevar una , al acabar el }
     
    Y lo ultimo es poner la id de las esferas en el give_item
     

    pc.give_item2("27003",metin[npc.get_race()][1]) Donde yo tengo 27003 (si, las potas rojas G, me aburria xd) vosotros pondreis la id que le pongais a la esfera (o el item que useis).
     
    Paso 2: El npc de los canjes
     
    Podeis ponerle tantos canjes como querais, yo en este caso he puesto 7 posibles canjes que podemos editar de la siguiente manera:
     

    local elegir = select("Item1","Item2","Item3","Item4","Item5","Item6","Item7","Cancelar") Ponemos el nombre del item en cada caso. Si quereis añadir mas podeis hacer otra pagina (aunque a la segunda tendreis que hacerle vosotros las condiciones :trollface: ).
     
    Luego debeis configurar este array:
     

    local premios = { {27002,1,27003,1}, -- Premio1 {27002,5,27003,2}, -- Premio2 {27002,10,27003,3}, -- Premio3 {27002,15,27003,4}, --Premio4 {27002,50,27003,5}, --Premio5 {27002,100,27003,6}, --Premio6 {27002,200,27003,7} --Premio7 (sin la , despues del } recordad) } Os explico que hace cada cosa:
     
    - El 27002 es el item que te daran al canjear cada elemento.
    - El numero siguiente es la cantidad del premio que te daran.
    - El tercer elemento es la id de las esferas o el item que useis como necesario para canjear
    - El cuarto elemento es la cantidad de esferas que pedira cada premio.
     
    Si quereis añadir mas recordar que el local anterior esta ligado a este, asi que si haceis otra pagina tendreis que usar otro array (o hacerlo normal).
     
    Y eso seria todo, el resto de la quest ya esta configurada.
     
    Espero que os guste :tiocereales:
     
    P.D: Os dejo adjunto el icono de la esfera metin (solo icono sin item_proto ni na ya lo haceis vosotros :trolldad: )

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  21. Me Gusta
    boker9999 reacted to Akinox2 in Sistema de títulos -Vegas-   
    No lo vi posteado en zone así que lo publico yo, por lo que vi no es idéntico al que esta ya publicado en otros foros,  seguro alguno le saca provecho
     
    Link: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
     
    De nd
  22. Me Gusta
    boker9999 reacted to Jfirewall in [SISTEMA] Sistema premium   
    Bueno aca les comparto lo ultimo que se trabajo algo mas avanzado y mejorado para nuestro uso, se puede mejorar mas pero mi tiempo es muy poco y edward tambien esta alejado entonces cuando pueda lo mejoro y se los comparto les adjunto fotos y los demas archivos 
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
      --[[ Quest: Premium System Version: 1.2 (Game 34k en adelante) ]] quest premium begin state start begin when 20094.chat.'Sistema Premium' begin say_title'Sistema Premium' say(pc.get_name()) say'Hola aca tienes la opcion de poder ser miembo [VIP] de nuestro servidor[ENTER]' say'Con esta opcion tienes la posibilidad de tener nuevos bonus, ademas de nuevas tiendas para tu uso[ENTER]' say'Ademas tu nombre tendra una manera distinta de verse con [VIP], un logo que te ara ver mejor[ENTER]' say'Ademas que cuando hablas podran ver tu rango [VIP], para obtener esto y muchos mas privilegios[ENTER]' say'Deberas cancelar la suma de 50 coins por mes, para poder disfrutar de este sistema.' say_reward'Realmente Quieres obtenerlo?' local elejir = select('Si, Comprarlo', 'Salir') if elejir == 2 then return end if pc.get_coins() < 50 then say_title'Sistema Premium' say(pc.get_name()) say'Lo siento, no tienes los coins suficientes para ser miembo VIP' else say_title'Sistema Premium' say(pc.get_name()) say'FELICIDADES!, de ahora en adelante eres miembro vip de nuestro servidor[ENTER]' say'Usalo bien y con cautela todo estara moritoriado por el staff del servidor.' say'Recibido: bonus de experiencia' pc.change_coins(-50) affect.add(43, 100, 60*60*24) pc.set_vip() end end end end --[[ Quest: Premium System Version: 1.2 (Game 34k en adelante) ]] quest shop_vip begin state start begin when login begin -- aqui yo entiendo que es: cuando se conecta cualquier user, ya le da el premium. Premium.Shop1() end when button or info begin say_title'Sistema Premium' say(pc.get_name()) say'Tienda VIP activa, compra tus objetos unicos' npc.open_shop(3) end end end --[[ Quest: Premium System Version: 1.2 (Game 34k en adelante) ]] quest shop_vip2 begin state start begin when login begin Premium.Shop2() end when button or info begin local items = {19,29,39,49,59}-- vnum items local bonus = { -- puedes agregar mas bonus si lo deseas {1,5000}, -- Max Hp {2,20}, -- Max Sp {3,20}, -- Vitalidad {4,20}, -- Inteligencia {5,20}, -- Fuerza {6,20}, -- Dextreza {7,20}, -- Velocidad de ataque {8,20}, -- Velocidad de Movimiento {9,20}, -- Velocidad Hechizo {10,20}, -- Regeneración de HP {11,20}, -- Regeneración de SP {12,20}, -- Probabilidad de Envenenamiento {13,20}, -- Probabilidad de Apagon {14,20}, -- Probabilidad de Retardo {15,20}, -- Probabilidad de golpes críticos {16,20}, -- Probabilidad de golpes de penetración {17,20}, -- Fuerza Contra MedioHumanos {18,20}, -- Fuerza Contra Animales {19,20}, -- Fuerza Contra Orcos {20,20}, -- Fuerza Contra Misticos {21,20}, -- Fuerza Contra No-muertos {22,20}, -- Fuerza Contra Demonios {23,20}, -- Probabilidad de Absorver HP {24,20}, -- Probabilidad de Absorver SP {25,20}, -- Probabilidad de robar HP {26,20}, -- Probabilidad de recuperar SP al golpear {27,20} -- Posibilidad de bloquear un ataque cuerpo a cuerpo } if pc.getqf('iniciar') <= 5 then say_title'Sistema Premium' say(pc.get_name()) say'Aqui podras obtener un item vip, el cual se te dara al azar.' say'Solo puedes usar 5 veces este metodo.' local aceptar = select('Si, quiero', 'Salir') if aceptar == 2 then return end say_title'Agregar bonus 1' local bonus1 = select('Maximo Hp', 'Maximo Sp', 'Vitalidad', 'Inteligencia', 'Fuerza', 'Dextreza', 'Velocidad de ataque', 'Velocidad de Movimiento', 'Velocidad Hechizo', 'Regeneracion de HP', 'Regeneracion de SP', 'Probabilidad de Envenenamiento', 'Probabilidad de Apagon', 'Probabilidad de Retardo', 'Probabilidad de golpes criticos', 'Probabilidad de golpes de penetracion', 'Fuerza Contra MedioHumanos', 'Fuerza Contra Animales', 'Fuerza Contra Orcos', 'Fuerza Contra Misticos', 'Fuerza Contra No-muertos', 'Fuerza Contra Demonios', 'Probabilidad de Absorver HP', 'Probabilidad de Absorver SP', 'Probabilidad de robar HP', 'Probabilidad de recuperar SP al golpear', 'Posibilidad de bloquear un ataque cuerpo a cuerpo') say_title'Agregar bonus 2' local bonus2 = select('Maximo Hp', 'Maximo Sp', 'Vitalidad', 'Inteligencia', 'Fuerza', 'Dextreza', 'Velocidad de ataque', 'Velocidad de Movimiento', 'Velocidad Hechizo', 'Regeneracion de HP', 'Regeneracion de SP', 'Probabilidad de Envenenamiento', 'Probabilidad de Apagon', 'Probabilidad de Retardo', 'Probabilidad de golpes criticos', 'Probabilidad de golpes de penetracion', 'Fuerza Contra MedioHumanos', 'Fuerza Contra Animales', 'Fuerza Contra Orcos', 'Fuerza Contra Misticos', 'Fuerza Contra No-muertos', 'Fuerza Contra Demonios', 'Probabilidad de Absorver HP', 'Probabilidad de Absorver SP', 'Probabilidad de robar HP', 'Probabilidad de recuperar SP al golpear', 'Posibilidad de bloquear un ataque cuerpo a cuerpo') say_title'Agregar bonus 3' local bonus3 = select('Maximo Hp', 'Maximo Sp', 'Vitalidad', 'Inteligencia', 'Fuerza', 'Dextreza', 'Velocidad de ataque', 'Velocidad de Movimiento', 'Velocidad Hechizo', 'Regeneracion de HP', 'Regeneracion de SP', 'Probabilidad de Envenenamiento', 'Probabilidad de Apagon', 'Probabilidad de Retardo', 'Probabilidad de golpes criticos', 'Probabilidad de golpes de penetracion', 'Fuerza Contra MedioHumanos', 'Fuerza Contra Animales', 'Fuerza Contra Orcos', 'Fuerza Contra Misticos', 'Fuerza Contra No-muertos', 'Fuerza Contra Demonios', 'Probabilidad de Absorver HP', 'Probabilidad de Absorver SP', 'Probabilidad de robar HP', 'Probabilidad de recuperar SP al golpear', 'Posibilidad de bloquear un ataque cuerpo a cuerpo') say_title'Agregar bonus 4' local bonus4 = select('Maximo Hp', 'Maximo Sp', 'Vitalidad', 'Inteligencia', 'Fuerza', 'Dextreza', 'Velocidad de ataque', 'Velocidad de Movimiento', 'Velocidad Hechizo', 'Regeneracion de HP', 'Regeneracion de SP', 'Probabilidad de Envenenamiento', 'Probabilidad de Apagon', 'Probabilidad de Retardo', 'Probabilidad de golpes criticos', 'Probabilidad de golpes de penetracion', 'Fuerza Contra MedioHumanos', 'Fuerza Contra Animales', 'Fuerza Contra Orcos', 'Fuerza Contra Misticos', 'Fuerza Contra No-muertos', 'Fuerza Contra Demonios', 'Probabilidad de Absorver HP', 'Probabilidad de Absorver SP', 'Probabilidad de robar HP', 'Probabilidad de recuperar SP al golpear', 'Posibilidad de bloquear un ataque cuerpo a cuerpo') say_title'Agregar bonus 5' local bonus5 = select('Maximo Hp', 'Maximo Sp', 'Vitalidad', 'Inteligencia', 'Fuerza', 'Dextreza', 'Velocidad de ataque', 'Velocidad de Movimiento', 'Velocidad Hechizo', 'Regeneracion de HP', 'Regeneracion de SP', 'Probabilidad de Envenenamiento', 'Probabilidad de Apagon', 'Probabilidad de Retardo', 'Probabilidad de golpes criticos', 'Probabilidad de golpes de penetracion', 'Fuerza Contra MedioHumanos', 'Fuerza Contra Animales', 'Fuerza Contra Orcos', 'Fuerza Contra Misticos', 'Fuerza Contra No-muertos', 'Fuerza Contra Demonios', 'Probabilidad de Absorver HP', 'Probabilidad de Absorver SP', 'Probabilidad de robar HP', 'Probabilidad de recuperar SP al golpear', 'Posibilidad de bloquear un ataque cuerpo a cuerpo') pc.give_item2_select(items[math.random(1,5)]) -- si agregas mas items debes modificar el numero 4 asta el numero mayor de items agregados item.set_value(0,bonus[bonus1][1],bonus[bonus1][2]) item.set_value(1,bonus[bonus2][1],bonus[bonus2][2]) item.set_value(2,bonus[bonus3][1],bonus[bonus3][2]) item.set_value(3,bonus[bonus4][1],bonus[bonus4][2]) item.set_value(4,bonus[bonus5][1],bonus[bonus5][2]) pc.setqf('iniciar', pc.getqf('iniciar') + 1) else say_title'Sistema Premium' say(pc.get_name()) say'Lo siento, ya lo usaste mas de 5 veces' say'compra premium item para volver a utilizar este metodo otras 5 veces' end end when 40002.use begin say_title'Sistema Premium' say(pc.get_name()) say'Al usar este item premium obtienes la posibilidad de 5 nuevos items nuevos, con los bonus al azar' say'Usalo cuando lo veas necesario es un item bastante valioso' pc.setqf('iniciar', 0) end end end questlib
     
    --[[ Quest: Premium System Version: 1.2 (Game 34k en adelante) ]] Premium = Premium or {} function Premium.Shop1() cmdchat("tiendita1 "..q.getcurrentquestindex()) end function Premium.Shop2() cmdchat("tiendita2 "..q.getcurrentquestindex()) end function pc.change_coins(x) mysql_query("UPDATE account.account SET coins=coins+'"..x.."' WHERE id='"..pc.get_account_id().."' LIMIT 1") end function pc.get_coins() local a = mysql_query("select * from account.account where id ='"..pc.get_account_id().."' LIMIT 1") return a.coins[1] end function pc.set_vip() local nombre = pc.get_name() mysql_query("UPDATE player.player SET name='[VIP]"..nombre.."' WHERE account_id='"..pc.get_account_id().."' LIMIT 1") end function pc.give_item2_select(...) local tmp = { ['Alt']={}, ['Neu']={} } for i =0,89 do item.select_cell(i) if not tmp.Alt[item.get_id()] then tmp.Alt[item.get_id()] = i end end if table.getn(arg)< 2 then pc.give_item2(arg[1]) else pc.give_item2(arg[1],arg[2]) end for i =0,89 do item.select_cell(i) if not tmp.Neu[item.get_id()] then tmp.Neu[item.get_id()] = i end end local data = {{},{}} for id,slot in next,tmp.Alt do table.insert(data[1],slot) end for id,slot in next,tmp.Neu do table.insert(data[2],slot) end table.sort(data[1]);table.sort(data[2]) for i = 1,table.getn(data[1]) do for i = 1,table.getn(data[2]) do if data[1][i] ~= data[2][i] then item.select_cell(data[2][i]) return end end end end parte cliente

    game.py
     
    class GameWindow(ui.ScriptWindow): def __init__(self, stream): self.lastupdate = 0 self.lastupdatee = 0 onPressKeyDict[app.DIK_F6] = lambda : self.__premium() def OnUpdate(self): premiumvip = player.GetName() if app.GetGlobalTimeStamp() - self.lastupdate < 0: self.lastupdate = app.GetGlobalTimeStamp() if app.GetGlobalTimeStamp() - self.lastupdatee < 0: self.lastupdatee = app.GetGlobalTimeStamp() if premiumvip.find("[VIP]")!=-1: if self.lastupdate == 0: self.lastupdate = app.GetGlobalTimeStamp() if app.GetGlobalTimeStamp() - self.lastupdate >= 60: self.lastupdate = app.GetGlobalTimeStamp() net.SendEmoticon(12) def __ServerCommand_Build(self): serverCommandList={ # sistema vip 'tiendita1' : self.__tienda1, 'tiendita2' : self.__tienda2, # end sistema vip def __premium(self): import uipremium self.fire = uipremium.Premium() self.fire.Show() def __tienda1(self, tienda1vip): import event,constInfo constInfo.SHOP1 = int(tienda1vip) def __tienda2(self, tienda2vip): import event,constInfo constInfo.SHOP2 = int(tienda2vip) crean el archivo uipremium.py
     
    import ui,uiCommon,item,player class Premium(ui.ScriptWindow): def __init__(self): ui.ScriptWindow.__init__(self) self.Fire() def __del__(self): ui.ScriptWindow.__del__(self) def Fire(self): self.Board = ui.BoardWithTitleBar() self.Board.SetSize(220, 280) self.Board.SetCenterPosition() self.Board.AddFlag("movable") self.Board.AddFlag("float") self.Board.SetTitleName("Panel Premium") self.Board.SetCloseEvent(self.Close) self.Board.Show() self.cancelar = ui.Button() self.cancelar.SetParent(self.Board) self.cancelar.SetPosition(135,250) self.cancelar.SetUpVisual('d:/ymir work/ui/game/windows/tab_button_small_01.sub') self.cancelar.SetOverVisual('d:/ymir work/ui/game/windows/tab_button_small_02.sub') self.cancelar.SetDownVisual('d:/ymir work/ui/game/windows/tab_button_small_03.sub') self.cancelar.SetText("Cancelar") self.cancelar.SetEvent(ui.__mem_func__(self.Close)) self.cancelar.Show() self.refrescar = ui.Button() self.refrescar.SetParent(self.Board) self.refrescar.SetPosition(90,250) self.refrescar.SetUpVisual('d:/ymir work/ui/game/windows/tab_button_small_01.sub') self.refrescar.SetOverVisual('d:/ymir work/ui/game/windows/tab_button_small_02.sub') self.refrescar.SetDownVisual('d:/ymir work/ui/game/windows/tab_button_small_03.sub') self.refrescar.SetText("Refrescar") self.refrescar.SetEvent(ui.__mem_func__(self.__refrescar)) self.refrescar.Show() self.aceptar = ui.Button() self.aceptar.SetParent(self.Board) self.aceptar.SetPosition(45,250) self.aceptar.SetUpVisual('d:/ymir work/ui/game/windows/tab_button_small_01.sub') self.aceptar.SetOverVisual('d:/ymir work/ui/game/windows/tab_button_small_02.sub') self.aceptar.SetDownVisual('d:/ymir work/ui/game/windows/tab_button_small_03.sub') self.aceptar.SetEvent(ui.__mem_func__(self.__Premium)) self.aceptar.SetText("Aceptar") self.aceptar.Show() self.fileListBox = ui.ListBoxEx() self.fileListBox.SetParent(self.Board) self.fileListBox.SetPosition(20, 50) self.fileListBox.Show() self.ScrollBar = ui.ScrollBar() self.ScrollBar.SetParent(self.Board) self.ScrollBar.SetPosition(190, 35) self.ScrollBar.SetScrollBarSize(220) self.fileListBox.SetScrollBar(self.ScrollBar) self.fileListBox.AppendItem(Item("Abrir Tienda VIP")) self.fileListBox.AppendItem(Item("Obtener Items VIP")) self.ScrollBar.Show() def Close(self): self.Board.Hide() self.ScrollBar.Hide() self.fileListBox.Hide() def __refrescar(self): self.fileListBox.Hide() self.fileListBox.Show() def __Premium(self): premiumvip = player.GetName() elItem=self.fileListBox.GetSelectedItem() if premiumvip.find("[VIP]")!=-1: if elItem: alcanzado=elItem.GetText() if alcanzado =="Abrir Tienda VIP": import event,constInfo event.QuestButtonClick(constInfo.SHOP1) elif alcanzado =="Obtener Items VIP": import event,constInfo event.QuestButtonClick(constInfo.SHOP2) else: self.PopupMessage = uiCommon.PopupDialog() self.PopupMessage.SetWidth(200) self.PopupMessage.SetText("No Seleccionaste ninguna opcion") self.PopupMessage.Show() else: self.PopupMessage = uiCommon.PopupDialog() self.PopupMessage.SetWidth(200) self.PopupMessage.SetText("No Seleccionaste ninguna opcion") self.PopupMessage.Show() else: self.PopupMessage = uiCommon.PopupDialog() self.PopupMessage.SetWidth(200) self.PopupMessage.SetText("Lo siento, no eres miembro VIP") self.PopupMessage.Show() class Item(ui.ListBoxEx.Item): def __init__(self, fileName): ui.ListBoxEx.Item.__init__(self) self.canLoad=0 self.text=fileName self.textLine=self.__CreateTextLine(fileName[:40]) def __del__(self): ui.ListBoxEx.Item.__del__(self) def GetText(self): return self.text def SetSize(self, width, height): ui.ListBoxEx.Item.SetSize(self, 6*len(self.textLine.GetText()) + 4, height) def __CreateTextLine(self, fileName): textLine=ui.TextLine() textLine.SetParent(self) textLine.SetPosition(0, 0) textLine.SetText(fileName) textLine.Show() return textLine constinfo.py
     
    SHOP1 = 0 SHOP2 = 0 playersettingmodule.py
     
    chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+12, "", EmoticonStr+"vip_mark.mse") net.RegisterEmoticonString("(vip)") agregan la emocion en ymir work\effect\etc\emoticon

    reemplazan el uiquest.py


    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    buen resto de dia
  23. Me Gusta
    boker9999 reacted to EzekielitohMercury in [FULL SYSTEM]Estolas Cliente + Source   
    DESCARGA: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  24. Me Gusta
    boker9999 reacted to harufen in Quest Panel GM   
    Alguien tiene esta quest. traducida? Yo la estoy traduciendo pero no sé si es así tal cual. 
     
     
    Gracias Por su atención.

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  25. Me Gusta
    boker9999 reacted to Break in Systema Expasion de Inventarios   
    Buenas zoneros, pues estaba buscando el sistema de inventarios de expansión y no estaba en el foro. Me he animado a compartirlo aquí también con vosotros.
    Vídeo del sistema:
     
    Link de descarga: 
     
    Fuente metin2dev.org
    Espero que os sirva.
    ¡Saludos!
×
×
  • Crear nuevo...