Jump to content

Linsey

Miembro
  • Contador contenido

    5
  • Ingreso

  • Última visita

Actividad de reputación

  1. Me Gusta
    Linsey reacted to EzekielitohMercury in [COSTUMES]Carnaval   
    Aprovechando que llegue a mis 1.200 mensajes >_< XD
     
    Les traigo estos atuendos que encontre por alli :3
     

    DESCARGA
     
    MEGA:

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

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

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    CREDITOS
    Equipo Metin2 - Ongame
  2. Me Gusta
    Linsey reacted to DevLilian in Server files de Metin2 Rage 2019 + Web Python [GRATIS] by DevLilian   
    El pack incluye:
    - Cliente
    - Source code cliente
    - Source code server
    - Server files (quests, mapas, cores, etc.)
    Son unos server bastante estables y equilibrados, probados con más de 500 usuarios online al mismo tiempo sin problemas de lag o caídas.
    Sin bugs.
    Actualmente el servidor se encuentra online y podéis probarlo en Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    También le podéis echar un ojo a la presentación si queréis ver lo que incluyen: Presentación
    Descripción y sistemas:
    - Base estable, equilibrada y testeada con cientos de usuarios online.
    - Cabos y flechas infinitas
    - Instant equip
    - Special Storage
    - Diálogo destruir objetos
    - MP al hacer click en nombre
    - Target information
    - Shop offline + WON (versión única sin bugs)
    - Cambiar CH (versión única sin bugs)
    - Pet system
    - Inventory slot marking + exchange system
    - Rocios en affect bar
    - Revivir full hp
    - Block/unblock exp
    - Estolas
    - Biólogo profesional
    - Sistema de brillos
    - Party buff
    - Un jugador por IP en mapas indicados
    - Revive event para quests
    - Limite de yang 999.999.999.999
    - Dungeon info 
    - Transfiguración
    - Dar MDs a todos los player de un imperio en un mapa.
    - Dungeons únicas: (Aryas dungeon, Cueva Slime, Bosque Celestial...)
    - Dungeons normales: (Nemere, Arrador, Azrael, Torre...)
    - Eventos: (Budokan, guerra de reinos, defiende tu metin, sayon, guerra total, evento de caza, trueque sorpresa...)
    - Atuendos de armas y armaduras únicos
    - Y mucho más... revisa presentación o descarga el servidor.
     
    Server File: Debes iniciar sesión para ver el contenido del enlace en esta publicación. (Elimine base de datos y estan limpios)
    WEB programada en Python: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Puedes revisar el funcionamiento de esta en www.metin2rage.com
     
    by DevLilian.
  3. Me Gusta
    Linsey reacted to KeKo in [Guia Definitiva] Implementar Armaduras   
    Buenas zoneros y zoneras sé que esto es mucho textos para algunos pero si teneis dudas implementando armors os recomiendo que hagais un esfuerzo y la leais entera, y si copias esta guia a otros foros por favor respetad los créditos.
     
    Después de un tiempo el foro off se me ocurrio hacer una guía útil como regalo de perdón por el tiempo que estuvo el foro indispuesto y como sé que mucha gente tiene problemas a la hora de implementar armaduras y las guías actuales no explican todo lo relativo a la implementacion de armaduras en un único post pues me voi a poner a explicaros como implementar armaduras sin morir en el intento:
     
    1 - Antes de nada: Qué es una armadura de metin2?
     
    Creo que la respuesta es muy obvia: una armadura es eso que se pone por encima del cuerpo el pj. Hasta aquí bien, pero a lo que me refiero es a que archivos forman una armadura?
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    A la hora de implementar un armor nos vamos a encontrar con dos tipos de archivos:
     
    1.1 - Los archivos gr2:
     
    Un modelo de una armadura será siempre un archivo gr2, que es el que contiene la armadura en sí
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    1.2 - Las texturas:
     
    Cada armadura tiene su propia textura, que es el archivo que permite que veamos los colores de la armadura tal y como tienen que ser. Las texturas que se utilizan en los clientes de metin2 suelen ser de estos tres formatos: .jpg .tga o .dds
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
     
    2 - Vale, ya sé que archivos necesito. Qué hago con ellos?
     
    Las armaduras se implementan por defecto en la ruta d:/ymir work/pc, que corresponde en el cliente al pc.eix y pc.epk, si son de:
     
    + Guerrero hombre
    + Sura hombre
    + Ninja mujer
    + Chamán mujer
     
    Las armaduras se implementan por defecto en la ruta d:/ymir work/pc2, que corresponde en el cliente al pc.eix y pc.epk, si son de:
     
    + Guerrera mujer
    + Sura mujer
    + Ninja hombre
    + Chamán hombre
     
    Segun la raza hay cuatro carpetas estandar:
     
    + Warrior - guerrero
    + Assasssin - ninja
    + Sura - sura
    + Shaman - chamán
     
    Por lo tanto deberemos meter nuestro modelo gr2 en la carpeta pc/pc - warrior/sura/assasin/shaman dependiendo de la raza y el sexo para el que sea.
     
    Sin embargo, las texturas de las armors que implementamos pueden no ir en la misma ruta que el modelo en sí. Para ello debemos abrir el gr2 con el granny model viewer
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    Una vez hecho pincharemos donde pone texture inspection y ahi nos fijaremos en la ruta que pone donde dice texture:
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    En esta imagen que os acabo de poner, al ser un armor de guerrero masculino la textura va en la carpeta d:/ymir work/pc/warrior.
     
    Sin embargo, esa ruta no es siempre la misma, ya que la gente a veces pone otras rutas:
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    Como veis la ruta está cambiada Pero no os preocupeis esto tiene muy fácil solucion, debemos crear en la carpeta de nuestro descompilador una carpeta con ese nombre del siguiente modo:
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    Una vez hecha metemos dentro la textura del armor problematica quedando la ruta en nuestro ordena de este modo:
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
     
     
     
    Y cuando hagais el xml del armor tendreis que poner esa ruta:
     

    <File archivedPath="d:/ymir work/textures/minoarmorset/nombretextu.dds" type="0"><![CDATA[nombreepk_descompilado\ymir work\textures\minoarmorset\nombretextu.dds]]></File> Haciendo xmls:
     
    Doi por sentado en esta guía que ya sabeis hacer los xmls para un armor:
     

    <File archivedPath="d:/ymir work/pc/warrior/warrior_4-1.gr2" type="0"><![CDATA[PC_descompilado\ymir work\pc\warrior\warrior_4-1.gr2]]></File> Pero, si no sabeis, un xml se compone de dos partes:
     

    File archivedPath="d:/ymir work/pc/warrior/warrior_4-1.gr2" Esta es la ruta en la que el juego meterá el modelo o la textura (o cualquier otro archivo) que estemos implementando. Si ahi pone d:/ymir work/pc/warrior esa será la ruta a la que vaya el archivo llamado warrior_4-1.gr2.
     

    [CDATA[PC_descompilado\ymir work\pc\warrior\warrior_4-1.gr2]] Esta segunda parte contiene la ruta en nuestro ordenador en la que se encuentra el modelo. Lo más habitual es que la pongamos de estas maneras, dependiendo de la raza y sexo del armor:
     

    nombreepk_descompilado\ymir work\pc nombreepk_descompilado\ymir work\pc2 nombreepk_descompilado\ymir work\pc\warrior nombreepk_descompilado\ymir work\pc2\warrior Sin embargo, tanto la primera parte como la segunda pueden editarse:
     

    File archivedPath="d:/ymir work/item/kekomola/armorkeko.gr2
    [CDATA[Desktop\guia_armors\armorkeko.gr2 Como veis, la ruta en la que yo quiero meter el armor puede no ser pc o pc2 (algunas armors van en otras) y no tengo xq tener el archivo dentro de la carpeta del descompilador en una carpeta con el nombre ymir work y luego otra con el nombre pc y tal.
     
    Sin embargo, os recomiendo que lo hagais de esta manera, pa evitaros lios de: Dónde estaba el armor?
     

    [CDATA[PC_descompilado\ymir work\pc\warrior\warrior_4-1.gr2]] Y además si usais una ruta que no sea ymir work/pc o pc2 como en este caso:
     

    File archivedPath="d:/ymir work/item/kekomola/armorkeko.gr2 Luego tendreis que añadir la linea de abajo en el msm del armor, aunque eso lo explicare cuando lleguemos a los msms:
     

    SpecialPath Una vez hayais metido vuestros modelos y texturas en sus rutas correspondientes y hayas compilado los epks necesarios podemos pasar al siguiente paso:
     
    3 - La gente habla mucho de los ms... um... msalgo.... como eran?
     
    Bueno, una vez tenemos nuestra armor ya implementada llega la hora de hacerle su msm correspondiente, así que descompilemos el root.epk y busquemos estos archivos:
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    Hay dos para cada raza, diferenciando aquellos que llevan:
     

    _m.msm -- Para hombre _w.msm -- Para mujer Bien, como sabeis hay un armor para cada raza y sexo así que tendremos que hacerle un msm para cada uno. Para ellos abrimos cada uno de los msms y buscamos esto:
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    Y ahi ponemos un número alto, como 99 o más, que será el máximo de armaduras que vamos poder meter en este msm.
     
    Una vez hecho vamos a añadir nuestra armor al msm, para ello vamos hasta el final del archivo y miramos que numero tiene el ultimo armor antes de que ponga:
     

    Group AttachingData Al lado de:
     

    Group ShapeData
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    Para añadir nuestra nueva armor podemos copiar una ya anterior, como por ejemplo:
     

    Group ShapeData33 { SpecialPath "d:/ymir Work/pc/warrior/" ShapeIndex 42 Model "warriorm1002.gr2" } Y como os dije antes que miraramos el número que tenia en el ShapeData, a nuestra nueva armor le pondremos un número mas alto que ese y que no se repita a lo largo del msm:
     

    Group ShapeData34 { SpecialPath "d:/ymir Work/pc/warrior/" ShapeIndex 42 Model "warriorm1002.gr2" } Así por ejemplo serviria
     
    Una vez ya tenemos nuestras lineas, con el shapedata cambiado vamos a editarlas de la siguiente manera:
     

    Group ShapeData34 { SpecialPath "d:/ymir Work/pc/warrior/" -- esto solo se pone si la ruta no es esa, asi que podeis quitarlo si quereis ShapeIndex 43 Model "armorkeko.gr2" } Bien, vayamos paso a paso:
     

    ShapeIndex 43 *El ShapeIndex es el tan famoso numero que siempre da tantos problemas implementando armors. Pues bien, lo que hay que poner es un número que sea menor que el número que os he dicho antes que pongais:
     
    Y que no se puede repetir en ningun ShapeIndex que haya en el msm. La funcion de este numerito es enlazar el msm con el item_proto del cliente, de modo que el cliente sepa que armor estás metiendo.
     
    Y como se relacionan os estareis preguntando? Pues el numero que habeis puesto en el ShapeIndex será el que pondreis en el item_proto del cliente donde dice valu3 = numero.
     
    *Model, aqui tendreis que poner el nombre del gr2 de la armadura (con el .gr2 incluido).
     
    Y en estos momentos algun espabilado se estará preguntando: vaya pero yo suelo ver msm que tenen algo que pone SourceSkin y TargetSkin
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    Bien, esa es buen ejemplo para explicaros: como explique mas arriba en esta guia cada armor tiene sus texturas, que vemos dentro del modelo y esas son las que usara el juego si simplemente ponemos el msm asi:
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    Sin embargo, hay muchísimos casos de armaduras a las que queremos ponerles texturas que no son las que vemos en el gr2, si no que son texturas modificadas como en el caso de las negras o empes de colores. En esos casos tenemos a nuestra disposicion estos dos elementos:
     
    * El SourceSkin siempre es la textura original del armor, es decir la que vemos en el gr2.
    * El TargetSkin siempre es la textura modificada, la que añadimos nosotros en vez de la que usaria el armor si solo leyera el gr2.
     
    Por lo tanto si tengo mi textura negra_verde.dds y quiero que las negras usen esa textura, tendre que buscar el msm de las negras:
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    Y deberemos añadirle el Source y Target, para ello miraremos cual es la textura de las negras (warrior_4-1.dds) y se la pondremos en el SourceSkin y luego la nuestra en el TargetSkin.
     
    Por supuesto deberemos cambiar el shapeindex porque ahora es un armor nueva, pero dejaremos el mismo model porque solo hemos cambiado la textura:
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    Y claro, este proceso lo repetimos con los 8 msms, por cada raza y sexo. Una vez hecho ya podemos hacerle el item_proto del cliente a nuestra armor.
     
    4 - Buf, ya hice los msm, queda mucho?
     
    4.1: Item_proto del cliente
     
    Tranquilos que ya casi se acaba. Como os he comentado antes hablando del shapeindex:
     
    Por lo tanto, si nuestra armor NO tiene item_proto del cliente NO se verá así que vamos a ver donde ponemos el shapeindex:
     

    <Item vnum="11690" name="È渶°©+0" gb2312name="Arm. Placas Mágica +0" type="2" subtype="0" weight="0" size="2" antiflag="44" flag="1" wearflag="1" immuneflag="0" gold="120000" buy_price="120000" limittype0="1" limitvalue0="66" limittype1="0" limitvalue1="0" applytype0="8" applyvalue0="4294967281" applytype1="37" applyvalue1="2" applytype2="0" applyvalue2="0" value0="0" value1="90" value2="0" value3="12" value4="0" value5="0" socket0="0" socket1="0" socket2="0" socket3="0" socket4="0" socket5="0" refine_vnum="11691" refine_set="181" magic_pct="15" specular="0" socket_pct="3" /> <Item vnum="11691" name="È渶°©+1" gb2312name="Arm. Placas Mágica +1" type="2" subtype="0" weight="0" size="2" antiflag="44" flag="1" wearflag="1" immuneflag="0" gold="120000" buy_price="130000" limittype0="1" limitvalue0="66" limittype1="0" limitvalue1="0" applytype0="8" applyvalue0="4294967282" applytype1="37" applyvalue1="3" applytype2="0" applyvalue2="0" value0="0" value1="90" value2="0" value3="12" value4="0" value5="3" socket0="0" socket1="0" socket2="0" socket3="0" socket4="0" socket5="0" refine_vnum="11692" refine_set="182" magic_pct="15" specular="0" socket_pct="3" /> <Item vnum="11692" name="È渶°©+2" gb2312name="Arm. Placas Mágica +2" type="2" subtype="0" weight="0" size="2" antiflag="44" flag="1" wearflag="1" immuneflag="0" gold="120000" buy_price="145000" limittype0="1" limitvalue0="66" limittype1="0" limitvalue1="0" applytype0="8" applyvalue0="4294967283" applytype1="37" applyvalue1="4" applytype2="0" applyvalue2="0" value0="0" value1="90" value2="0" value3="12" value4="0" value5="6" socket0="0" socket1="0" socket2="0" socket3="0" socket4="0" socket5="0" refine_vnum="11693" refine_set="183" magic_pct="15" specular="0" socket_pct="3" /> <Item vnum="11693" name="È渶°©+3" gb2312name="Arm. Placas Mágica +3" type="2" subtype="0" weight="0" size="2" antiflag="44" flag="1" wearflag="1" immuneflag="0" gold="120000" buy_price="165000" limittype0="1" limitvalue0="67" limittype1="0" limitvalue1="0" applytype0="8" applyvalue0="4294967284" applytype1="37" applyvalue1="5" applytype2="0" applyvalue2="0" value0="0" value1="90" value2="0" value3="12" value4="0" value5="9" socket0="0" socket1="0" socket2="0" socket3="0" socket4="0" socket5="0" refine_vnum="11694" refine_set="184" magic_pct="15" specular="0" socket_pct="3" /> <Item vnum="11694" name="È渶°©+4" gb2312name="Arm. Placas Mágica +4" type="2" subtype="0" weight="0" size="2" antiflag="300" flag="1" wearflag="1" immuneflag="0" gold="120000" buy_price="190000" limittype0="1" limitvalue0="67" limittype1="0" limitvalue1="0" applytype0="8" applyvalue0="4294967285" applytype1="37" applyvalue1="6" applytype2="0" applyvalue2="0" value0="0" value1="90" value2="0" value3="12" value4="0" value5="12" socket0="0" socket1="0" socket2="0" socket3="0" socket4="0" socket5="0" refine_vnum="11695" refine_set="185" magic_pct="15" specular="30" socket_pct="3" /> <Item vnum="11695" name="È渶°©+5" gb2312name="Arm. Placas Mágica +5" type="2" subtype="0" weight="0" size="2" antiflag="300" flag="1" wearflag="1" immuneflag="0" gold="120000" buy_price="220000" limittype0="1" limitvalue0="68" limittype1="0" limitvalue1="0" applytype0="8" applyvalue0="4294967286" applytype1="37" applyvalue1="7" applytype2="0" applyvalue2="0" value0="0" value1="90" value2="0" value3="12" value4="0" value5="15" socket0="0" socket1="0" socket2="0" socket3="0" socket4="0" socket5="0" refine_vnum="11696" refine_set="186" magic_pct="15" specular="40" socket_pct="3" /> <Item vnum="11696" name="È渶°©+6" gb2312name="Arm. Placas Mágica +6" type="2" subtype="0" weight="0" size="2" antiflag="300" flag="1" wearflag="1" immuneflag="0" gold="120000" buy_price="265000" limittype0="1" limitvalue0="68" limittype1="0" limitvalue1="0" applytype0="8" applyvalue0="4294967287" applytype1="37" applyvalue1="9" applytype2="0" applyvalue2="0" value0="0" value1="90" value2="0" value3="12" value4="0" value5="18" socket0="0" socket1="0" socket2="0" socket3="0" socket4="0" socket5="0" refine_vnum="11697" refine_set="187" magic_pct="15" specular="50" socket_pct="3" /> <Item vnum="11697" name="È渶°©+7" gb2312name="Arm. Placas Mágica +7" type="2" subtype="0" weight="0" size="2" antiflag="300" flag="1" wearflag="1" immuneflag="0" gold="120000" buy_price="325000" limittype0="1" limitvalue0="69" limittype1="0" limitvalue1="0" applytype0="8" applyvalue0="4294967288" applytype1="37" applyvalue1="12" applytype2="0" applyvalue2="0" value0="0" value1="90" value2="0" value3="12" value4="0" value5="21" socket0="0" socket1="0" socket2="0" socket3="0" socket4="0" socket5="0" refine_vnum="11698" refine_set="188" magic_pct="15" specular="65" socket_pct="3" /> <Item vnum="11698" name="È渶°©+8" gb2312name="Arm. Placas Mágica +8" type="2" subtype="0" weight="0" size="2" antiflag="300" flag="1" wearflag="1" immuneflag="0" gold="120000" buy_price="405000" limittype0="1" limitvalue0="69" limittype1="0" limitvalue1="0" applytype0="8" applyvalue0="4294967289" applytype1="37" applyvalue1="15" applytype2="0" applyvalue2="0" value0="0" value1="90" value2="0" value3="12" value4="0" value5="24" socket0="0" socket1="0" socket2="0" socket3="0" socket4="0" socket5="0" refine_vnum="11699" refine_set="189" magic_pct="15" specular="80" socket_pct="3" /> <Item vnum="11699" name="È渶°©+9" gb2312name="Arm. Placas Mágica +9" type="2" subtype="0" weight="0" size="2" antiflag="300" flag="1" wearflag="1" immuneflag="0" gold="120000" buy_price="515000" limittype0="1" limitvalue0="70" limittype1="0" limitvalue1="0" applytype0="8" applyvalue0="4294967290" applytype1="37" applyvalue1="20" applytype2="0" applyvalue2="0" value0="0" value1="90" value2="0" value3="12" value4="0" value5="27" socket0="0" socket1="0" socket2="0" socket3="0" socket4="0" socket5="0" refine_vnum="12030" refine_set="530" magic_pct="15" specular="100" socket_pct="3" /> El item_proto de nuestra armor suele tener de +0 a +9 (aunque no tiene por que ser así), y en el queria remarcar los siguientes datos:
     

    Item vnum="11690" Ahi pondremos la id que vamos a ponerle al item.
     

    gb2312name="Arm. Placas Mágica +0" Ahi se pone el nombre que el armor tendrá en el juego.
     

    value3="12" Y ahi esta el famoso value3!! Le pondremos en cada una de las ids del armor (es decir de +0 a +9) el numero que pusimos en el shapeindex.
     
    Y ya estaría esta parte, por supuesto cada uno deberá hacer el item_proto con los valores que veas convenientes, para eso hay bastantes herramientas como creadores de querys e item_proto que os ayudaran a hacerlo.
     
    4.2: Icono del armor:
     
    Como a la gente le suele gustar que las armors tenga su iconito os diré como meterlo (partiendo de que ya teneis uno hecho, hay guias para hacerlos si no lo teneis):
     
    4.2.1: El icono:
     
    Descompilamos nuestro icon.epk, metemos el icono en icon/item y luego lo añadimos al xml y compilamos. Por supuesto para los que haceis esto en epks aparte recordad que la linea del xml debe llevar icon/item/idicono.tga en la primera parte del xml (lo que explique antes)
     
    4.2.2: Item_list:
     
    Descompilamos nuestro locale y vamos al archivo item_list. De ahi cojemos las lineas de +0 a +9 de otra armor cualquier y las editamos de la siguiente manera:
     

    idarmor ARMOR icon/item/idicono.tga Ojo! Las separaciones entre el texto deben ser con la tecla de tabulador (esa que esta encima del bloq mayusculas xd)
     
    4.3: La query del armor
     
    Una vez hecho todo esto, simplemente nos quedará hacer una query para nuestra armor con la misma id que le pusimos en el item_proto del cliente, para ello teneis muchos programas que os ayudarán a hacerla con los valores que prefirais
     
    Recordad que en la query el value3 da igual, por si alguno lo duda xd
     
    Y bueno, eso es todo por hoy espero que os sea útil esta guía
  4. Me Gusta
    Linsey reacted to KeKo in [Guia Definitiva] Implementar Armaduras   
    Buf metele un spoiler que es mu largo xd:
     

    Group ShapeData32 { SpecialPath "d:/ymir Work/pc2/warrior/" ShapeIndex 85 Model "warrior_stella.gr2" SourceSkin "stella_cash.tga" } } Yo eso lo dejaria asi:
     

    Group ShapeData32 { ShapeIndex 85 Model "warrior_stella.gr2" } } Ya que el special path solo se pone si la ruta no es la estandar y el source target solo si se va a usar otra textura que no sea la original.
     
    Quitando esos detalles el msm ta bien, con poner value3 = 85 en el item_proto del cliente a ese armor deberia ir bien.
  5. Me Gusta
    Linsey reacted to Ph0enixIT in [PROJECT] Antasya2 - Middle-School Gameplay - International - New Systems and much more!   
    Who we are? Antasya2 is a server formed by a group of people who are collaborating on the success of an interesting and innovative project.
    Staff is currently formed by:   Phoenix - Team Manager Net - Developer Jfirewall - Developer Notoric - Mapper
    As for the In-Game part we have more than me, Team Manager, 2 guys who are following the project assiduously, such as: @Arcadius and @HazZarD. that I thanks so much for the time and the patience they have when I ask for advice or evaluations.

    How was it born?
    Actually, Antasya2 comes from an idea after closing Metin2Deluxe in 2011 of which I and Net were part of.
    After the closure, however, we were too demoralized and so we continued to work for fun, with no time limit and everything went off in the deepest abyss.
    Arrived today instead the project is continuing to grow, with advertising, work by developers and mappers who are putting everything themselves into the project and we are slowly giving shape to our project.

    Our concept of servers
    We as staffers have well in mind the type of server that we will offer, by convention we have called it a Middle-School but I leave to you the last word.
    The fundamental points we are working on are the following:
      Customize your character and make it unique and not the same as everyone else Offer a long-lasting gameplay that is not saturated within a month Events, Systems, Different modes, which allow you to always have something to do
    These are 3 fundamental points on which our project is based on.

    Antasya2 - The Project
      Maximum Level: 110 (1st Expansion) Middle-School Server with Hard and long-last gameplay Presence of 2 Kingdoms: Wabi - Merak (Green - Orange) Main villages modified and adapted to our needs, location of the Biologist inside the village with Baek-Go near, some accesses and bridges are blocked, the respawn of mobs and metins modified completely. The Main villages will be divided into zones, the central part will be that of the first levels with the easy monsters, just across the bridges you will find the monsters of the classic Map 2. The Map 2 and the Eids are eliminated. All the Official maps almost eliminated. New maps starting from lv.25 (following Map 1). Gameplay designed from lv.1 to lv.110 to offer as much as possible you can do within the limits of metin2. 2 Expansions ready before the official opening of the server. All the classic systems have been reviewed and adapted to the needs of our server. Many new systems will be added, such as Buffi System, Special Inventory, Easter Eggs and much more.  
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. Official Discord

    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. Official Telegram Debes iniciar sesión para ver el contenido del enlace en esta publicación.   Our Systems The Horse
    Mounts
     
     
    Biologist Quest Alchemy
    Karma System
    Buffi System
    Skill Upgrade
    Talismans
     
     
  6. Me Gusta
    Linsey reacted to Frank Arkero in Interface by Ryen y jfirewall   
    Guia : Como poner la taskbar, el archivo Taskbar.py lo pegas en tu locale/de o it o es/ui/ aki lo pegas y remplazar y listo, el interfacemodule.py y uitaskbar.py en root copian y pegan y Remplazar y listo...  ell archivo Jfirewall.eix y epk lo pegan en su carpeta pack y van al index y ponen esto:
     
    *
    jfirewall
     
     
    guardas y listo...
     
    imagenes:
     

     
     
    gracias a skill se publico aca el link en epvp xD!
     
    aca le dejo link sin contraseña.. kristok al carajo  :

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  7. Me Gusta
    Linsey reacted to Ryukend in [Guia]Cambiar y Agregar Drops a un Mob   
    Petición hecha por alejandro1995, espero que lo ayude...
     
    Primero de todo, encender el server (también se puede dejar en el inicio de sesión) y entrar con FileZilla o WinSCP.
     
    Una vez conectado a través del programa ir a: usr / / Rain / share_data / local / Hong Kong / mob_drop_item.txt y abrir suele estar hay.
     
    1. Busque el valor del MOB que quieren cambiar (por ejemplo, 1093: el reaper) y encontraras esto:
     
     
     
     
    El nombre en chino color verde es el nombre del cofre del reaper pero puedes usar el numero del item que quieres que dropee es mas facil y comodo asi lo hare yo en la siguiente parte.
     
    ¿Que quiere decir cada numero?
     
     
     
     
    El color amarillo indica que es el primer item que tirara el Mob.
     
    El color Rojo indica el ID del item que dropeara.
     
    El color azul indica la cantidad de items que dropeara.
     
    El naranja oscuro indica la probabilidad de que caiga tal item (Para una caída casi segura poner 50 o más).
     
    Para añadir otro item se debe colocar de la siguiente manera:
     
     
     
     
    Puedes colocar todos los drops que quieras
     
    Nota: No siempre el mob_drop_item.txt viene arreglado en algunos casos es desordenado pero igual es de la misma forma
     
    Créditos:
     
    La guía la saque de otro lado, pero la edite para que sea mas comprensiva
     
    Espero les allá gustado
  8. Me Gusta
    Linsey reacted to Santy!. in Evento Ox cultura general!   
    hola muchachos hoy les traigo un evento ox de cultura general hecho por mi.

    Debes iniciar sesión para ver el contenido del enlace en esta publicación. para los que no saven como ponerlo:
    el archivo oxquiz va en: /home/game/share/locale/germany
    el archivo oxevent va en: /home/game/share/locale/germany
    le dan permiso 777 ahora en la maquina virtual ponen ./qc y a disfrutar.
    espero que les guste.
  9. Me Gusta
    Linsey reacted to Dilong in Accesorios   
    Link: 
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    Fotos:
     
     
     
  10. Me Gusta
    Linsey reacted to EzekielitohMercury in [LYCAN]3 armas y 3 armaduras nuevas   
    DESCARGA

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
     
  11. Me Gusta
    Linsey reacted to Jaggerman in Armaduras (Con Lycan)   
    Todos los modelos tienen peinado.

    Debes iniciar sesión para ver el contenido del enlace en esta publicación. Créditos by: DaneWorker
  12. Me Gusta
    Linsey reacted to Breno Oliveira in Armas 30   
    ward
  13. Me Gusta
    Linsey reacted to Kratosxx in Armas 30   
    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. 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. 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.
    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.
  14. Me Gusta
    Linsey reacted to lordofgames in [Armas]30 Number Zero Weapons [khafkef]   
    Hello
     
    Images
     
     
     
     
    Video


     
     
    Download link:
     
     
     
     
    Credit :khafkef
  15. Me Gusta
    Linsey reacted to Serex in Despedida   
    Hola zone!
    Bueno pues me despido de vosotras después de muchos años currando en Metin2. Ya llevaba bastante tiempo despegado y ya decidí borrar esa carpeta en mi PC que ponía Metin2.
    Os la he subido toda a Mega y estará por hay un tiempo hasta que diga de borrarla, hay bastante material, el que le interese que abra el enlace y vaya viendo:

    Debes iniciar sesión para ver el contenido del enlace en esta publicación. Último aporte a la comunidad 🙂
    Compartid, ayudáos, creced juntas. Abandonad la avaricia y abrazad el compañerismo y la cooperación.
  16. Me Gusta
    Linsey reacted to SeMa™ in Despedida   
    Espero que te vaya genial, al final todos acabamos abandonando esto dado que no tiene salida ninguna, aunque como hobby siempre hemos pasado buenos ratos.
     
    Mucha suerte!
  17. Me Gusta
    Linsey reacted to Tryndamere in Fondo Metin2   
    Hola amigos de Metin2zone, espero que estén de lujo. Como ya les dije, seguiría trayéndoles fondos para sus servidos, siempre y cuando les gusten.
    Como siempre: No lleven el aporte a otros foros, ya que los hago exclusivos para Metin2zone, gracias.
    Si la quereis con el nombre de vuestro servidor, mandenme su skype por MP y enseguida los agrego y charlamos.
    Bueno, veamos como quedo este:
     

     
    Criticas constructivas, ideas etc... pues díganlas todas porfavor, no hay problema.
     
    A continuación os dejo el link de descarga:
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    Saludos amigos de: Tryndamere
  18. Me Gusta
    Linsey reacted to Tryndamere in Aporte Fondo Metin2   
    Hola que tal amigos de Metin2zone, espero que estén de lujo. Como ya les dije, seguiré trayendo mas fondos para vuestro login, selección de personaje o carga de pantalla para vuestros servidores.
    Acuérdense: No posteen estas imágenes en otros foro sin mi permiso. Son exclusivas para Metin2Zone.
    Sin mas preámbulos, aquí os adjunto la imagen y recuerden criticas constructivas y consejo para mejorarlas (también para mejorar yo ) o ponerlas al gusto de ustedes me las podéis dar sin problema alguno.
     
    Aquí la imagen:
     

     
    A continuación les agrego la descarga:
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    Edito*: Acuérdense que si quieren el fondo con el nombre de su servidor tenéis que hacer lo siguiente:
    -Mandarme su skype por MP y los agrego.
    -Una vez hablando, me dices que nombre quieres en la imagen y la edito.
    -Las subo a un host de descarga y les paso el link o directamente se las paso por skype como quieran.
     
    Y bueno como siempre, si queréis agradecer la imagen, con gusto os la aceptare y si no no hay problema, les seguiré trayendo mas.
    Saludos amigos de: Tryndamere.
  19. Me Gusta
    Linsey reacted to KeKo in [Quest+cliente] El sistema de logros   
    Buenasss zoneros y zoneras, hoy os voi a explicar como implementar en vuestro servidores el sistema de logros que meti en Metin2Extasis, hasta con mi querida quest de canjes xd (aunque en elite hay una mas completa la mia es mas sencillita).
     
    ESTA GUIA ES EXCLUSIVA DE METIN2ZONE, QUE NADIE LA COPY PASTEE A OTROS FOROS
     
    1 - Qué es el sistema de logros?
     
    Este sistema consiste en una quest y una edicion del cliente que hace que cada vez que un jugador alcance un objetivo concreto, que tu fijas en la quest, le da los puntos correspondientes al logro que haya alcanzando. Si un jugador acumula puntos luego los puede canjear por premios.
     
    Aqui teneis algunas fotos del resultado final (son antiguas del extasis xd):
     

     

     
     
     
    2 - Como meto yo esto?
     
    El sistema de logros consiste en una quest y en editar unos archivos en el cliente, así que vamos a ir paso por paso:
     
     
    2.1: Parte del cliente:
     
    *Todos los archivos que tengais que meter estan en esta descarga:
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    2.1.1 - Que archivos vamos a editar? En el cliente editaremos los siguientes archivos:
     
    -Root: dentro de el los archivos game.py y uiachievement.py (este lo meteremos nosotros).
    -Etc: donde meteremos los archivos achievement_small.sub y achievement_small.dds
    -Uiscript: aqui meteremos el archivo achievementboard.py y warteschleife.py
     
    2.1.2 - Manos a la obra, a implementar!
     
     
    2.1.2.1: Primero empezaremos con el root. Decompilad vuestro root, abrid el archivo game.py y buscad esto:
     

    def __ServerCommand_Build(self): Una vez esteis ahi, vais hasta donde pone "CloseSafeBox" y cuando esteis en esa linea le dais a a enter y pegais esto:
     

    # Achievement System START "achievement" : self.__AchievementTest, "achievementpoints" : self.__ShowAchievementPoints, # Achievement System END Quedandoos asi:
     

     
    (Las -------------------- las pongo solo para que distingais la parte que acabamos de añadir, no hay que ponerlas)
     
    Ahora vais al final del archivo, le dais a enter para dejar algo de espacio y pegais esto:
     

    # Achievement System START def __ShowAchievementPoints(self, points): import uiAchievement import uiTaskbar self.uiAchievement = uiAchievement.AchievementDialog() uiAchievement.AchievementPoints = int(points) def __AchievementTest(self, archivement): import uiAchievement self.uiAchievement = uiAchievement.AchievementDialog() self.uiAchievement.Show(1, str(archivement)) self.uiAchievement.SetTop() # Achievement System END Quedará asi:
     

     
     
    *Siguiente paso: metemos en la carpeta root el archivo uiachievement.py y lo añadimos al xml
     

    <File archivedPath="uiachievement.py" type="2"><![CDATA[Sourceuiachievement.py]]></File> Listo el root! Sigamos con el etc.
     
    2.1.2.2: Decompilamos nuestro etc, vamos a la carpeta ymir work/ui y metemos el achievement_small.dds. Despues vamos a la carpeta ymir work/ui/public y metemos el achievement_small.sub. Por ultimo agregamos ambos al xml:
     

    <File archivedPath="d:/ymir work/ui/public/achievement_small.sub" type="0"><![CDATA[Sourceymir workuipublicachievement_small.sub]]></File> <File archivedPath="d:/ymir work/ui/achievement_small.dds" type="0"><![CDATA[Sourceymir workuiachievement_small.dds]]></File> 2.1.2.3: El ultimo paso en el cliente es decompilar nuestro uiscript y meter el archivo achievementboard.py y el warteschleife.py: en la carpeta. Los añadimos al xml y compilamos:
     

    <File archivedPath="uiscript/achievementboard.py" type="2"><![CDATA[Sourceuiscriptachievementboard.py]]></File> <File archivedPath="uiscript/warteschleife.py" type="2"><![CDATA[Sourceuiscriptwarteschleife.py]]></File> Y listo ya tenemos todo lo del cliente
     
     
    2.1: Parte del server:
     
    Bueno ahora ya solo nos queda meter nuestra quest del sistema de logros en la carpeta /home/game/quest (o la ruta en la que tengais la carpeta quest). Aqui os dejo la mia, con los nombres en español, algunos logros añadidos, canje, un item que te da logros (pa quien lo quiera xd), una opcion que te dice tus logros, etc
     

    quest logros_keko begin state start begin --LOGIN when login begin local actual_achievement_points = pc.getqf("achievement_points") if pc.getqf("firstlogin") != 1 then local Reward = 1 pc.setqf("firstlogin", 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement Primer_login%".. actual_achievement_points + Reward .."") else cmdchat("achievementpoints ".. pc.getqf("achievement_points")) end end --BOSSE when 691.kill begin local Reward = 2 local Achievement = "Jefe_Orco" local killcount = pc.getqf("691") local actual_achievement_points = pc.getqf("achievement_points") pc.setqf("691", killcount + 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."") end when 791.kill begin local Reward = 3 local Achievement = "Lider_esoterico" local killcount = pc.getqf("791") local actual_achievement_points = pc.getqf("achievement_points") pc.setqf("791", killcount + 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."") end when 2493.kill begin local Reward = 100 local Achievement = "Dragon_azul" local killcount = pc.getqf("2493") local actual_achievement_points = pc.getqf("achievement_points") pc.setqf("2493", killcount + 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."") end when 2492.kill begin local Reward = 20 local Achievement = "Comandante_Setaou" local killcount = pc.getqf("2492") local actual_achievement_points = pc.getqf("achievement_points") pc.setqf("2492", killcount + 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."") end when 1091.kill begin local Reward = 5 local Achievement = "Rey_demonio" local killcount = pc.getqf("1091") local actual_achievement_points = pc.getqf("achievement_points") pc.setqf("1091", killcount + 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."") end when 2597.kill begin local Reward = 20 local Achievement = "Muerte" local killcount = pc.getqf("2597") local actual_achievement_points = pc.getqf("achievement_points") pc.setqf("2597", killcount + 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."") end when 1192.kill begin local Reward = 12 local Achievement = "Bruja_de_hielo" local killcount = pc.getqf("1192") local actual_achievement_points = pc.getqf("achievement_points") pc.setqf("1192", killcount + 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."") end when 1304.kill begin local Reward = 5 local Achievement = "Tigre_fantasma" local killcount = pc.getqf("1304") local actual_achievement_points = pc.getqf("achievement_points") pc.setqf("1304", killcount + 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."") end when 1901.kill begin local Reward = 4 local Achievement = "9_colas" local killcount = pc.getqf("1901") local actual_achievement_points = pc.getqf("achievement_points") pc.setqf("1901", killcount + 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."") end when 2091.kill begin local Reward = 3 local Achievement = "Reina_araña" local killcount = pc.getqf("2091") local actual_achievement_points = pc.getqf("achievement_points") pc.setqf("2091", killcount + 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."") end when 2206.kill begin local Reward = 4 local Achievement = "Jefe_logros" local killcount = pc.getqf("2206") local actual_achievement_points = pc.getqf("achievement_points") pc.setqf("2206", killcount + 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."") end when 2191.kill begin local Reward = 5 local Achievement = "Tortuga_del_desierto" local killcount = pc.getqf("2191") local actual_achievement_points = pc.getqf("achievement_points") pc.setqf("2191", killcount + 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."") end when 692.kill begin local Reward = 3 local Achievement = "Orco_elite" local killcount = pc.getqf("692") local actual_achievement_points = pc.getqf("achievement_points") pc.setqf("692", killcount + 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."") end when 693.kill begin local Reward = 5 local Achievement = "Orco_renacido" local killcount = pc.getqf("693") local actual_achievement_points = pc.getqf("achievement_points") pc.setqf("693", killcount + 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."") end --Item shop--- when 50129.use begin say_title ( "Obten puntos logro") local actual_achievement_points = pc . getqf ( "achievement_points" ) local p = select ( "Obten 200 puntos logro" ) if p == 1 then local actual_achievement_points = pc . getqf ( "achievement_points" ) pc . setqf ( "achievement_points" , actual_achievement_points + 200 ) say ( "Enorabuena tienes 200 logros mas" ) say ( "Disfrutalos!" ) item.remove ( "50129", 1 ) end end when 50130.use begin say_title ( "Obten puntos logro") local actual_achievement_points = pc . getqf ( "achievement_points" ) local p = select ( "Obten 100 puntos logro" ) if p == 1 then local actual_achievement_points = pc . getqf ( "achievement_points" ) pc . setqf ( "achievement_points" , actual_achievement_points + 100 ) say ( "Enorabuena tienes 100 logros mas" ) say ( "Disfrutalos!" ) item.remove ( "50130", 1 ) end end when 50131.use begin say_title ( "Obten puntos logro") local actual_achievement_points = pc . getqf ( "achievement_points" ) local p = select ( "Obten 50 puntos logro" ) if p == 1 then local actual_achievement_points = pc . getqf ( "achievement_points" ) pc . setqf ( "achievement_points" , actual_achievement_points + 50 ) say ( "Enorabuena tienes 50 logros mas" ) say ( "Disfrutalos!" ) item.remove ( "50131", 1 ) end end when 50132.use begin say_title ( "Obten puntos logro") local actual_achievement_points = pc . getqf ( "achievement_points" ) local p = select ( "Obten 25 puntos logro" ) if p == 1 then local actual_achievement_points = pc . getqf ( "achievement_points" ) pc . setqf ( "achievement_points" , actual_achievement_points + 25 ) say ( "Enorabuena tienes 25 logros mas" ) say ( "Disfrutalos!" ) item.remove ( "50132", 1 ) end end --CANJES-- when 50115.use begin say_title ( "Canjea tus puntos logro" ) local actual_achievement_points = pc . getqf ( "achievement_points" ) local p = select ( "Caballo armado - 5 puntos" , "Caballo militar - 30 puntos" , "Bonus mediohumanos +20% por 30min - 50 puntos" , "Bonus HP +5000 por 30min - 60 puntos" , "Armadura divina - 400 logros" , "Mascota de ataque - 30 puntos" , "Mas" ) if p == 1 then if pc . getqf ( "achievement_points" ) <= 4 then say ( "Lo siento necesitas mas puntos" ) return end local actual_achievement_points = pc . getqf ( "achievement_points" ) pc . setqf ( "achievement_points" , actual_achievement_points - 5 ) say ( "Has recibido un caballo armado" ) horse . set_level ( "11" ) horse . unsummon ( ) horse . summon ( ) pc . give_item2 ( "50052" , 1 ) return elseif p == 2 then if pc . getqf ( "achievement_points" ) <= 29 then say ( "Lo siento necesitas mas puntos" ) return end local actual_achievement_points = pc . getqf ( "achievement_points" ) pc . setqf ( "achievement_points" , actual_achievement_points - 30 ) say ( "Has recibido un caballo militar" ) horse . set_level ( "21" ) horse . unsummon ( ) horse . summon ( ) pc . give_item2 ( "50053" , 1 ) return elseif p == 3 then if pc . getqf ( "achievement_points" ) <= 49 then say ( "Lo siento necesitas mas puntos" ) return end local actual_achievement_points = pc . getqf ( "achievement_points" ) pc . setqf ( "achievement_points" , actual_achievement_points - 50 ) say ( "Has recibido 20% fuerza contra mediohumanos por 30min" ) affect . add_collect ( apply . ATTBONUS_HUMAN , 20 , 60 * 30 ) return elseif p == 4 then if pc . getqf ( "achievement_points" ) <= 59 then say ( "Lo siento necesitas mas puntos" ) return end local actual_achievement_points = pc . getqf ( "achievement_points" ) pc . setqf ( "achievement_points" , actual_achievement_points - 60 ) say ( "Has recibido 5000hp por 30min" ) affect . add_collect ( apply . MAX_HP , 5000 , 60 * 30 ) return elseif p == 5 then if pc. getqf ( "achievement_points" ) <= 399 then say ( "Lo siento necesitas mas puntos" ) return end local actual_achievement_points = pc . getqf ( "achievement_points" ) pc . setqf ( "achievement_points" , actual_achievement_points - 399 ) local armor = select ( "Armd. divina (G)" , "Armd. divina (N)" , "Armd. divina (S)" , "Armd. divina (C)" ) if armor == 1 then say ( "Has recibido la Armadura divina" ) pc . give_item2 ( "42080" , 1 ) return elseif armor == 2 then say ( "Has recibido la Armadura divina" ) pc . give_item2 ( "44080" , 1 ) return elseif armor == 3 then say ( "Has recibido la Armadura divina" ) pc . give_item2 ( "46080" , 1 ) return elseif armor == 4 then say ( "Has recibido la Armadura divina" ) pc . give_item2 ( "48080" , 1 ) return end elseif p == 6 then if pc . getqf ( "achievement_points" ) <= 29 then say ( "Lo siento necesitas mas puntos" ) return end local actual_achievement_points = pc . getqf ( "achievement_points" ) pc . setqf ( "achievement_points" , actual_achievement_points - 29 ) say ( "Has recibido la mascota de ataque" ) pc . give_item2 ( "30312" , 1 ) return elseif p == 7 then local p2 = select ( "Leon Blanco - 40 puntos" , "Anillo experiencia - 5 puntos" , "Fuerza monstruo +20% 30min - 15 puntos" , "Velocidad movimiento +25% 30min - 10 puntos" , "Mascota de defensa - 25 puntos" , "Cuantos logros tengo?" , "Cerrar" ) if p2 == 1 then if pc . getqf ( "achievement_points" ) <= 39 then say ( "Lo siento necesitas mas puntos" ) return end local actual_achievement_points = pc . getqf ( "achievement_points" ) pc . setqf ( "achievement_points" , actual_achievement_points - 40 ) say ( "Has recibido un leon blanco disfrtualo, no se acaba" ) pc . give_item2 ( "50110" , 1 ) return elseif p2 == 2 then if pc . getqf ( "achievement_points" ) <= 4 then say ( "Lo siento necesitas mas puntos" ) return end local actual_achievement_points = pc . getqf ( "achievement_points" ) pc . setqf ( "achievement_points" , actual_achievement_points - 5 ) say ( "Disfruta de un anillo de experiencia" ) pc . give_item2 ( "71015" , 1 ) return elseif p2 == 3 then if pc . getqf ( "achievement_points" ) <= 14 then say ( "Lo siento necesitas mas puntos" ) return end local actual_achievement_points = pc . getqf ( "achievement_points" ) pc . setqf ( "achievement_points" , actual_achievement_points - 15 ) say ( "Has recibido 20% fuerza monstruo por 30min" ) affect . add_collect ( apply . ATTBONUS_MONSTER , 20 , 60 * 30 ) return elseif p2 == 4 then if pc . getqf ( "achievement_points" ) <= 9 then say ( "Lo siento necesitas mas puntos" ) return end local actual_achievement_points = pc . getqf ( "achievement_points" ) pc . setqf ( "achievement_points" , actual_achievement_points - 10 ) say ( "Has recibido 25% velo.movimiento por 30min" ) affect . add_collect ( apply . MOV_SPEED , 25 , 60 * 30 ) return elseif p2 == 5 then if pc . getqf ( "achievement_points" ) <= 24 then say ( "Lo siento necesitas mas puntos" ) return end local actual_achievement_points = pc . getqf ( "achievement_points" ) pc . setqf ( "achievement_points" , actual_achievement_points - 25 ) say ( "Has recibido la mascota de defensa" ) pc . give_item2 ( "71124" , 1 ) return elseif p2 == 6 then local Reward = 0 local Achievement = "Ver_tus_logros" local killcount = pc.getqf("logros") local actual_achievement_points = pc.getqf("achievement_points") pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."") elseif p2 == 7 then return end end end --METINS when 8013.kill begin local Reward = 8 local Achievement = "Metin_muerte" local killcount = pc.getqf("8013") local actual_achievement_points = pc.getqf("achievement_points") pc.setqf("8013", killcount + 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement ".. Achievement .."_destruido#".. killcount + 1 .."%".. actual_achievement_points + Reward .."") end when 8016.kill begin local Reward = 5 local Achievement = "Metin_demonio" local killcount = pc.getqf("8016") local actual_achievement_points = pc.getqf("achievement_points") pc.setqf("8016", killcount + 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement ".. Achievement .."_destruido#".. killcount + 1 .."%".. actual_achievement_points + Reward .."") end when 8012.kill begin local Reward = 6 local Achievement = "Metin_caida" local killcount = pc.getqf("8012") local actual_achievement_points = pc.getqf("achievement_points") pc.setqf("8012", killcount + 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement ".. Achievement .."_destruido#".. killcount + 1 .."%".. actual_achievement_points + Reward .."") end when 8015.kill begin local Reward = 5 local Achievement = "Metin_dureza" local killcount = pc.getqf("8015") local actual_achievement_points = pc.getqf("achievement_points") pc.setqf("8015", killcount + 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement ".. Achievement .."_destruido#".. killcount + 1 .."%".. actual_achievement_points + Reward .."") end when 8026.kill begin local Reward = 2 local Achievement = "Metin_85" local killcount = pc.getqf("8026") local actual_achievement_points = pc.getqf("achievement_points") pc.setqf("8026", killcount + 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement ".. Achievement .."_destruido#".. killcount + 1 .."%".. actual_achievement_points + Reward .."") end when 8027.kill begin local Reward = 3 local Achievement = "Metin_90" local killcount = pc.getqf("8027") local actual_achievement_points = pc.getqf("achievement_points") pc.setqf("8027", killcount + 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement ".. Achievement .."_destruido#".. killcount + 1 .."%".. actual_achievement_points + Reward .."") end --LEVELS when login or levelup with pc.get_level() >= 15 and pc.getqf("Level15") != 1 begin local Reward = 2 local Achievement = "Level_15" local actual_achievement_points = pc.getqf("achievement_points") pc.setqf("Level15", 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement ".. Achievement .."_alcanzado%".. actual_achievement_points + Reward .."") end when login or levelup with pc.get_level() >= 30 and pc.getqf("Level30") != 1 begin local Reward = 2 local Achievement = "Level_30" local actual_achievement_points = pc.getqf("achievement_points") pc.setqf("Level30", 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement ".. Achievement .."_alcanzado%".. actual_achievement_points + Reward .."") end when login or levelup with pc.get_level() >= 40 and pc.getqf("Level40") != 1 begin local Reward = 3 local Achievement = "Level_40" local actual_achievement_points = pc.getqf("achievement_points") pc.setqf("Level40", 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement ".. Achievement .."_alcanzado%".. actual_achievement_points + Reward .."") end when login or levelup with pc.get_level() >= 50 and pc.getqf("Level50") != 1 begin local Reward = 4 local Achievement = "Level_50" local actual_achievement_points = pc.getqf("achievement_points") pc.setqf("Level50", 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement ".. Achievement .."_alcanzado%".. actual_achievement_points + Reward .."") end when login or levelup with pc.get_level() >= 75 and pc.getqf("Level75") != 1 begin local Reward = 5 local Achievement = "Level_75" local actual_achievement_points = pc.getqf("achievement_points") pc.setqf("Level75", 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement ".. Achievement .."_alcanzado%".. actual_achievement_points + Reward .."") end when login or levelup with pc.get_level() >= 85 and pc.getqf("Level85") != 1 begin local Reward = 10 local Achievement = "Level_85" local actual_achievement_points = pc.getqf("achievement_points") pc.setqf("Level85", 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement ".. Achievement .."_alcanzado%".. actual_achievement_points + Reward .."") end when login or levelup with pc.get_level() >= 90 and pc.getqf("Level90") != 1 begin local Reward = 25 local Achievement = "Level_90" local actual_achievement_points = pc.getqf("achievement_points") pc.setqf("Level90", 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement ".. Achievement .."_alcanzado%".. actual_achievement_points + Reward .."") end when login or levelup with pc.get_level() >= 95 and pc.getqf("Level95") != 1 begin local Reward = 50 local Achievement = "Level_95" local actual_achievement_points = pc.getqf("achievement_points") pc.setqf("Level95", 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement ".. Achievement .."_alcanzado%".. actual_achievement_points + Reward .."") end when login or levelup with pc.get_level() >= 99 and pc.getqf("Level99") != 1 begin local Reward = 100 local Achievement = "Level_99" local actual_achievement_points = pc.getqf("achievement_points") pc.setqf("Level99", 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement ".. Achievement .."_alcanzado%".. actual_achievement_points + Reward .."") end --CHECK EQUIP when login begin loop_timer("check_eq", 10) end when check_eq.timer begin local russi = pc.get_armor() local waffe = pc.get_weapon() local actual_achievement_points = pc.getqf("achievement_points") local Reward = 5 if russi==11299 and pc.getqf("achievement_ssp") != 1 then pc.setqf("achievement_ssp", 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement Armadura negra+9%".. actual_achievement_points + Reward .."") elseif russi==11499 and pc.getqf("achievement_swa") != 1 then pc.setqf("achievement_swa", 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement Armadura negra+9%".. actual_achievement_points + Reward .."") elseif russi==11699 and pc.getqf("achievement_mpp") != 1 then pc.setqf("achievement_mpp", 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement Armadura negra+9%".. actual_achievement_points + Reward .."") elseif russi==11899 and pc.getqf("achievement_sk") != 1 then pc.setqf("achievement_sk", 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement Armadura negra+9%".. actual_achievement_points + Reward .."") elseif waffe==189 and pc.getqf("achievement_gifti") != 1 then pc.setqf("achievement_gifti", 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement Giftschwert+9%".. actual_achievement_points + Reward .."") elseif waffe==199 and pc.getqf("achievement_lowenschw.") != 1 then pc.setqf("achievement_lowenschw.", 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement Löwenschwert+9%".. actual_achievement_points + Reward .."") elseif waffe==5129 and pc.getqf("achievement_orchiglocke") != 1 then pc.setqf("achievement_orchiglocke", 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement Orchideenglocke+9%".. actual_achievement_points + Reward .."") elseif waffe==2179 and pc.getqf("achievement_krahenstahl") != 1 then pc.setqf("achievement_krahenstahl", 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement Krähenstahlbogen+9%".. actual_achievement_points + Reward .."") elseif waffe==1139 and pc.getqf("achievement_teufelsflugenchak") != 1 then pc.setqf("achievement_teufelsflugenchak", 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement Teufelsflügel-Chakram+9%".. actual_achievement_points + Reward .."") elseif waffe==3169 and pc.getqf("achievement_Grolli") != 1 then pc.setqf("achievement_Grolli", 1) pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement Grollschwert+9%".. actual_achievement_points + Reward .."") end end end end Y para que no os quedeis simplemente metiendo la quest y ya ta os voi a explicar como funciona:
     
    1 - Lo mas importante de los logros es que cuando alcanzas uno (por ejemplo matar al jefe orco) te suma puntos mediante un pc.setqf:
     

    when 691.kill begin local Reward = 2 pc.setqf("achievement_points", actual_achievement_points + Reward) Como veis ahí al jefe orco (mob de id 691) le asigna los puntos que vale con local Reward = 2 y luego te suma 2 puntos con el pc.setqf("achievement_points", actual_achievement_points + Reward (el reward en este caso seria un +2).
     
    Por lo tanto si quereis añadir otro mob a la lista de logros solo tendreis que hacer lo siguiente:
     

    when idmob.kill begin local Reward = puntos -- Poneis cuantos puntos quereis que os de local Achievement = "Nombre del mob que saldra en el cliente" local killcount = pc.getqf("idmob") -- Se usa para que el juego lleve la cuenta de cuantas veces lo mataste local actual_achievement_points = pc.getqf("achievement_points") -- Calcula cuantos puntos tenes pc.setqf("693", killcount + 1) -- Aqui os suma 1 al numero de ese mob que llevais pc.setqf("achievement_points", actual_achievement_points + Reward) -- aqui te suma tus puntos por matarlo cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."") -- Con esto te saldra la ventana en el cliente diciendo que lo mataste y cuantos puntos tenes end Ahora os enseñare como hacer los canjes. En mi caso los canjes se hacen mediante un item, pero vosotros podeis hacerlo como querais simplement cambiando el when iditem.use por un when npc.chat."Canje de Logros" o como os apetezca.
     
    Veamos como tengo yo los canjes:
     

    when 50115.use begin say_title ( "Canjea tus puntos logro" ) local actual_achievement_points = pc . getqf ( "achievement_points" ) local p = select ( "Caballo armado - 5 puntos" , "Caballo militar - 30 puntos" , "Bonus mediohumanos +20% por 30min - 50 puntos" , "Bonus HP +5000 por 30min - 60 puntos" , "Armadura divina - 400 logros" , "Mascota de ataque - 30 puntos" , "Mas" ) if p == 1 then if pc . getqf ( "achievement_points" ) <= 4 then say ( "Lo siento necesitas mas puntos" ) return end local actual_achievement_points = pc . getqf ( "achievement_points" ) pc . setqf ( "achievement_points" , actual_achievement_points - 5 ) say ( "Has recibido un caballo armado" ) horse . set_level ( "11" ) horse . unsummon ( ) horse . summon ( ) pc . give_item2 ( "50052" , 1 ) return elseif p == 2 then if pc . getqf ( "achievement_points" ) <= 29 then say ( "Lo siento necesitas mas puntos" ) return end local actual_achievement_points = pc . getqf ( "achievement_points" ) pc . setqf ( "achievement_points" , actual_achievement_points - 30 ) say ( "Has recibido un caballo militar" ) horse . set_level ( "21" ) horse . unsummon ( ) horse . summon ( ) pc . give_item2 ( "50053" , 1 ) return elseif p == 3 then if pc . getqf ( "achievement_points" ) <= 49 then say ( "Lo siento necesitas mas puntos" ) return end local actual_achievement_points = pc . getqf ( "achievement_points" ) pc . setqf ( "achievement_points" , actual_achievement_points - 50 ) say ( "Has recibido 20% fuerza contra mediohumanos por 30min" ) affect . add_collect ( apply . ATTBONUS_HUMAN , 20 , 60 * 30 ) return elseif p == 4 then if pc . getqf ( "achievement_points" ) <= 59 then say ( "Lo siento necesitas mas puntos" ) return end local actual_achievement_points = pc . getqf ( "achievement_points" ) pc . setqf ( "achievement_points" , actual_achievement_points - 60 ) say ( "Has recibido 5000hp por 30min" ) affect . add_collect ( apply . MAX_HP , 5000 , 60 * 30 ) return elseif p == 5 then if pc. getqf ( "achievement_points" ) <= 399 then say ( "Lo siento necesitas mas puntos" ) return end local actual_achievement_points = pc . getqf ( "achievement_points" ) pc . setqf ( "achievement_points" , actual_achievement_points - 399 ) local armor = select ( "Armd. divina (G)" , "Armd. divina (N)" , "Armd. divina (S)" , "Armd. divina (C)" ) if armor == 1 then say ( "Has recibido la Armadura divina" ) pc . give_item2 ( "42080" , 1 ) return elseif armor == 2 then say ( "Has recibido la Armadura divina" ) pc . give_item2 ( "44080" , 1 ) return elseif armor == 3 then say ( "Has recibido la Armadura divina" ) pc . give_item2 ( "46080" , 1 ) return elseif armor == 4 then say ( "Has recibido la Armadura divina" ) pc . give_item2 ( "48080" , 1 ) return end elseif p == 6 then if pc . getqf ( "achievement_points" ) <= 29 then say ( "Lo siento necesitas mas puntos" ) return end local actual_achievement_points = pc . getqf ( "achievement_points" ) pc . setqf ( "achievement_points" , actual_achievement_points - 29 ) say ( "Has recibido la mascota de ataque" ) pc . give_item2 ( "30312" , 1 ) return elseif p == 7 then local p2 = select ( "Leon Blanco - 40 puntos" , "Anillo experiencia - 5 puntos" , "Fuerza monstruo +20% 30min - 15 puntos" , "Velocidad movimiento +25% 30min - 10 puntos" , "Mascota de defensa - 25 puntos" , "Cuantos logros tengo?" , "Cerrar" ) if p2 == 1 then if pc . getqf ( "achievement_points" ) <= 39 then say ( "Lo siento necesitas mas puntos" ) return end local actual_achievement_points = pc . getqf ( "achievement_points" ) pc . setqf ( "achievement_points" , actual_achievement_points - 40 ) say ( "Has recibido un leon blanco disfrtualo, no se acaba" ) pc . give_item2 ( "50110" , 1 ) return elseif p2 == 2 then if pc . getqf ( "achievement_points" ) <= 4 then say ( "Lo siento necesitas mas puntos" ) return end local actual_achievement_points = pc . getqf ( "achievement_points" ) pc . setqf ( "achievement_points" , actual_achievement_points - 5 ) say ( "Disfruta de un anillo de experiencia" ) pc . give_item2 ( "71015" , 1 ) return elseif p2 == 3 then if pc . getqf ( "achievement_points" ) <= 14 then say ( "Lo siento necesitas mas puntos" ) return end local actual_achievement_points = pc . getqf ( "achievement_points" ) pc . setqf ( "achievement_points" , actual_achievement_points - 15 ) say ( "Has recibido 20% fuerza monstruo por 30min" ) affect . add_collect ( apply . ATTBONUS_MONSTER , 20 , 60 * 30 ) return elseif p2 == 4 then if pc . getqf ( "achievement_points" ) <= 9 then say ( "Lo siento necesitas mas puntos" ) return end local actual_achievement_points = pc . getqf ( "achievement_points" ) pc . setqf ( "achievement_points" , actual_achievement_points - 10 ) say ( "Has recibido 25% velo.movimiento por 30min" ) affect . add_collect ( apply . MOV_SPEED , 25 , 60 * 30 ) return elseif p2 == 5 then if pc . getqf ( "achievement_points" ) <= 24 then say ( "Lo siento necesitas mas puntos" ) return end local actual_achievement_points = pc . getqf ( "achievement_points" ) pc . setqf ( "achievement_points" , actual_achievement_points - 25 ) say ( "Has recibido la mascota de defensa" ) pc . give_item2 ( "71124" , 1 ) return elseif p2 == 6 then local Reward = 0 local Achievement = "Ver_tus_logros" local killcount = pc.getqf("logros") local actual_achievement_points = pc.getqf("achievement_points") pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."") elseif p2 == 7 then return end end end *Si os fijais la ultima opcion de la tienda de canjes te permite ver tus logros, para ello le hice un logro que te sume 0 puntos pero que te enseña cuantos tienes:
     

    elseif p2 == 6 then local Reward = 0 local Achievement = "Ver_tus_logros" local killcount = pc.getqf("logros") local actual_achievement_points = pc.getqf("achievement_points") pc.setqf("achievement_points", actual_achievement_points + Reward) cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."") Asi que si necesitais hacer vuestra opcion de ver logros ahi teneis
     
    Tal como eso son todos los canjes, si quereis hacer vuestros propios canjes os hago aqui un pequeño script de canje para explicaros como seria:
     
     

    when 20095.chat."Canjear mis logros" begin say_title("Canjear mis logros") say("") say("Hola jugador, si tienes logros") say("yo te los puedo cambiar por cositas.") say("") say("Si no tienes intenta conseguir alguno") say("porque merece la pena") say("") say_reward("Quieres canjear tus punots?") local canje = select ("Si" , "No") if canje == 1 then say_title("Canjes de logros") say("") say("Elige lo que quieras") local elegir = select ("Quinto bonus - 3 logros" , "Añadir 6-7 bonus - 4 logros" , "Cambiar 6-7 bonus - 5 logros" , "Caballo armado - 6 logros" , "Caballo militar - 8 logros" , "Cerrar") if elegir == 1 then if pc . getqf ( "achievement_points" ) <= 2 then chat( "Lo siento necesitas mas puntos" ) return end pc.give_item2("70024", 1) local actual_achievement_points = pc . getqf ( "achievement_points" ) pc . setqf ( "achievement_points" , actual_achievement_points - 3 ) return elseif elegir == 2 then if pc . getqf ( "achievement_points" ) <= 3 then chat( "Lo siento necesitas mas puntos" ) return end pc.give_item2("71051", 1) local actual_achievement_points = pc . getqf ( "achievement_points" ) pc . setqf ( "achievement_points" , actual_achievement_points - 4 ) return elseif elegir == 3 then if pc . getqf ( "achievement_points" ) <= 4 then say ( "Lo siento necesitas mas puntos" ) return end pc.give_item2("71052", 1) local actual_achievement_points = pc . getqf ( "achievement_points" ) pc . setqf ( "achievement_points" , actual_achievement_points - 5 ) return elseif elegir == 4 then if pc . getqf ( "achievement_points" ) <= 5 then chat( "Lo siento necesitas mas puntos" ) return end local actual_achievement_points = pc . getqf ( "achievement_points" ) pc . setqf ( "achievement_points" , actual_achievement_points - 6 ) chat ( "Has recibido un caballo armado" ) horse . set_level ( "11" ) horse . unsummon ( ) horse . summon ( ) pc . give_item2 ( "50052" , 1 ) return elseif elegir == 5 then elseif p == 2 then if pc . getqf ( "achievement_points" ) <= 7 then say ( "Lo siento necesitas mas puntos" ) return end local actual_achievement_points = pc . getqf ( "achievement_points" ) pc . setqf ( "achievement_points" , actual_achievement_points - 8 ) chat( "Has recibido un caballo militar" ) horse . set_level ( "21" ) horse . unsummon ( ) horse . summon ( ) pc . give_item2 ( "50053" , 1 ) return elseif elegir == 6 then return end elseif canje == 2 then return end end Este script es un pequeño regalo para vosotros, lo hice ahora para que podais usar otro si no quereis el que tenia en el extasis.
     
    *Para meterla en vuestra quest podeis quitar mi tienda de canjes y pegar esta si quereis, o hacerla como quest separada.
     
    Por ultimo os explicare como funcionan los canjes con un ejemplo:
     

    local p = select ( "Caballo armado - 5 logros") if p == 1 then if pc . getqf ( "achievement_points" ) <= 4 then say ( "Lo siento necesitas mas puntos" ) return end local actual_achievement_points = pc . getqf ( "achievement_points" ) pc . setqf ( "achievement_points" , actual_achievement_points - 5 ) say ( "Has recibido un caballo armado" ) horse . set_level ( "11" ) horse . unsummon ( ) horse . summon ( ) pc . give_item2 ( "50052" , 1 ) return Empieza con un local = select para que escojais vuestro premio y os aconsejo que pongais ahi cuantos logros cuesta como hice yo.
     
    Luego puse una restriccion para que si teneis menos puntos que los que pide el item no os deje comprarlo:
     

    if pc . getqf ( "achievement_points" ) <= 2 then chat( "Lo siento necesitas mas puntos" ) return end Funciona de la siguiente manera: donde pone <= 2 teneis que poner un punto menos que los que pide, ya que eso dice que si tienes esos puntos o menos no te deje comprar.
     
    Despues del return end ya solo teneis que poner el comando para que os quite los puntos que es este:
     

    local actual_achievement_points = pc . getqf ( "achievement_points" ) pc . setqf ( "achievement_points" , actual_achievement_points - 5 ) --Poneis ahi los que quereis que quite Y lo que quereis que os dea justo debajo de esas dos lineas:
     

    pc.give_item2("71052", 1) --- Ahi poned lo que quereis que dea Y eso es todo zoneros, que disfruteis del sistema de logros !!!
     
    Creditos: al creador del sistema (que no es mio xd) y a mi por la parte de la quest mia y la traduccion de la original.
  20. Me Gusta
    Linsey reacted to DryUz in Los Fondos Mas Hermosos Para Metin2   
    "Hermosos"








     
























     
    Descarga:
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    Creditos:Inforgame
  21. Me Gusta
    Linsey reacted to Yori in Fondo para metin2   
    Como me aburria mucho me puse ha hacer un montaje de metin2. si a alguien le gusta pos mejor, sino no critiqueis mucho plis xD
     

     
    Tambien lo dejo en formato png, por si alguien lo quiere con mas calidad
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    Saludos
  22. Me Gusta
    Linsey reacted to TrafalgarLaw in Calendario (Eventos)   
    Funciona 100%, no tengo fotos en el telefono pero cuando entre ami computador les adjunto una foto del calendario
    Dentro del rar trae el tutorial, esta todo muy facil de entender.

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    LINK ACTUALIZADO A UN CALENDARIO MEJOR
    si ya instalaron todo de la parte de python
    solo reemplazar en root el archivo uievent.py
  23. Me Gusta
    Linsey reacted to Tryndamere in Pack 8 escudos (+0 a +9)   
    Hola amigos de Metin2zone. Les traigo un pack de 8 escudos los cuales puedes subir de +0 a +9 y dejo un .rar con todo lo necesario para su perfecta implementacion y funcionamiento.
    Aquí la prueba de ello:
     

     
    A continuación dejo el link de descarga:
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    Si quereis agredecer el aporte, por mi encantado.
    Hasta otra foreros.
  24. Me Gusta
    Linsey reacted to Hawk Server's in Escudos by theRAPTOR   
    Buenas aqui les dejo unos escudos hechos por mi theRAPTOR ([TM]Ares) hechos para mi servidor Metin2Force que saldra pronto.... son para lv 81 serian la evolucion de los escudos del 61
     

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



    +1 si lo descargan y si los usan
     
    PD: creditos a thanato por ayudar con un problema de los iconos
  25. Me Gusta
    Linsey reacted to Yori in [QUEST]Control para GMs   
    wenas a todos!!
     
    He estado haciendo una quest para los que les da pereza andar con comandos de mutear y esas cosas, tambien puse todos lo que se me ocurrieron, si se me paso alguno, decirlo y lo añado.
     
    Para poder usar la parte de banear gente, hace falta tener lo del mysql para quest, podeis encontrarlo
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. , no se si funcionara la quest sin eso...  



    Debes iniciar sesión para ver el contenido del enlace en esta publicación. para descargar la quest  
     
    Descripcion de opciones:
     
    Halloween: Lo que hace es invocar unos npcs para halloween, deben ser configurados en la quest. Como usar el comando "/m"
     
    Dia/noche: creo que no hace falta explicacion xD
     
    Rates: para poner cualquier rate para reinos o por separado. Pronto rates para gremios xD
     
    Bloquear chat: como su nombre dice, es para silenciar el chat, para quitar el silencio o ver la lista de silenciados.
     
    Navidad: Para activar/desactivar cualquier evento de navidad, como la nieva, el arbol de navidad, los villancicos, Santa Claus, venta de fuegos artificiales, etc
     
    Banear: Banea/Desbanear la cuenta de la persona que quieras, pero necesitas implementar mysql para quest,
    Debes iniciar sesión para ver el contenido del enlace en esta publicación..  
    Teleport: Para que te teletrasportes hacia una persona, o para traerlo hacia ti.
     
     
    Recordad:
     
    No os olvideis de poner vuestros datos y esas cosas en las funciones de mysql_query() al final de la quest hay 4 funciones parecidas a la siguiente, en "root" es el usuario del navicat(suele ser root), en PassNavicat, pos eso, la pass xD, en account no tocarle, y en ipNavicat, es la ip del server, los datos esos, van entre comillas como estan puestos ahy, si las quitais os dara error.
     

    mysql_query("Update account.account set account.status = 'OK' WHERE account.id ="..id.account_id[1].."" ,"root","PassNavicat", "account", "IPNavicat") Si teneis alguna duda, preguntaros, y recordad que nunca esta de mas dar las gracias xD
     
    Saludos!!
×
×
  • Crear nuevo...