Jump to content

KRIBER

Miembro
  • Contador contenido

    0
  • Ingreso

  • Última visita

Actividad de reputación

  1. Me Gusta
    KRIBER reacted to Randaron in HackSheildPro completamente funcionando   
    Para files 2089M, y 34K 

    Debes iniciar sesión para ver el contenido del enlace en esta publicación. Para files 40k

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
  2. Me Gusta
    KRIBER reacted to Dilong in Sistema de Bloqueo   
    Despues de insistirle al mk de Rauser:
    Sistema de bloqueo para no tirar,comerciar ni mover items del inventario,solo podra desbloquearlo el jugador que sepa el password etc

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  3. Me Gusta
    KRIBER reacted to Randaron in Nuevo Effecto Rubinum   
    El effecto trata de cuando tienes un item nuevo lo rodea un brillo al item

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  4. Me Gusta
    KRIBER reacted to EzekielitohMercury in Source Maxmi 4.3   
    Sin nada que decir esto lo encontre navegando de foro en foro :33
     
    Les dejo el link de descarga, un "Me gusta" es gratis y ayuda a los demas
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  5. Me Gusta
    KRIBER reacted to TTV_RANDARON in Sistema oficial de información de monstruos (nivel y agresivo)   
    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.
  6. Me Gusta
    KRIBER reacted to luisito0320 in Pagina Web Metin2 + Admin Panel + Archivo de despligue con Docker.   
    Pagina Web Metin2 + Admin Panel + Archivo de despligue con Docker.
    El dia de hoy les traigo este post la pagina en la que he estado trabajando, y uso en mis servidores para produccion.
    Dicha pagina esta hecha en python y el codigo esta disponible en github, esto para poder hacerle seguimiento y tener una manera centralizada de obtener las actualizacion de la misma.
    Ademas de esto esta pagina cuenta con un Dockerfile para poder desplegarla y asi la gente que no tiene conocimiento en instalar servidores puedan hacer uso de ella facilmente.
    Caracteristicas:
    paymentwall para las donaciones. correo de activacion de cuentas google captcha para darle seguridad a los formularios recuperacion de contraseña por correo panel de administracion ORM para analizar las diferentes tipos de bases de datos. Top de jugadores por crontab. -->  Disponible desde el dockerfile multi idioma, actualmente solo tiene ingles y español implementado --> Disponible en la rama translate Ventajas:
    Instalacion facil, solo hay que configurar un archivo. Administracion facil Pagina con seguirdad implementada Open Source, cuenta con una licencia MIT y debido a esto cualquiera puede enviar mejoras a la pagina mediante pull request en github Se puede desplegar en cualquier sistema operativo tipo unix incluido FreeBSD gracias a que la pagina esta Dockerizada. Desventajas
    Si se va a montar por separada requiere un VPS de minimo 512 Megas de ram para poder desplegarla. Por el momento solo cuenta con una apariencia, los nuevos skin para esta web estan en desarrollo. Links de descarga solo disponibles desde github.

    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. Manual de instalacion.
    En el siguiente manual explicare la forma de poner a funcionar la pagina para produccion con ayuda del dockerfile, para instalarla en entorno de desarrollo en la misma pagina del proyecto esta el manual de instalacion.
    Antes de instalar hay que actualizar los repositorios
    sudo apt-get update Ahora hay que instalar git en el vps, suponiendo que estamos usando ubuntu 16.04 o ubuntu 18.04 se ejecuta el siguiente comando.
    sudo apt-get install git Despues de lo anterior instalamos docker en el vps con el siguiente comando
    sudo apt install docker.io Despues de esto puede seguir el video tutorial que se publico.

    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.  
    Si tienen problemas no se olviden de comentar.
    Cada quien es libre de usar la pagina que mas sea de su agrado.
    Nota: El template de esta pagina me lo robe de otro pagina.
    Saludos.

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del archivo adjunto en esta publicación.
    Debes iniciar sesión para ver el contenido del archivo adjunto en esta publicación.
  7. Me Gusta
    KRIBER reacted to noname in FreeBSD 9.3 64 bits + Files synera   
    Descarga:
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    Contraseña: dioseshost
     
    --- Datos FreeBSD Login ---
     
    User: root
    password: usuario
     
     
    Datos mysql 
     
    ID: drakon2_es
    PASS: seki2mako4
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    ----
     
    Tiene FreeeBSD 9.3 y mysql 5.6 compatible con los game r40k.
     
    Créditos:
    Ami por instalarlo junto con Jesús y gracias a DiosesHost por subirlo.
  8. Me Gusta
    KRIBER reacted to EzekielitohMercury in FreeBSD 9.3 64 bits + Files synera   
    ServerFiles con game 40k+.
    Muy estables.
    Game muy protegido contra varios hacks.
    Itemshop en lua & mysql programado por SeMa.
    Pet System 2.0 de BlackYucko & PACIFICADOR para 40k con Pet-Gui & slot para items.
    Sistema de monturas como el official.
    Runs igual al .es.
    ALGUNAS IMAGENES!.


    DESCARGAS!
    ServerFiles
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.ij6d8Wiuince16IkP4o3zU
    Cliente
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.rar
    Mysql
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.mokLF2M74AnVGQFkkYVIVLtOpQc0UC97Nqs
    Agregar este diff al game para que conecte...
    00215F69: AC EE 00215F6A: 61 EE 00215F6B: 11 EE 00215F6C: 54 6E 00216846: AC EE 00216847: 61 EE 00216848: 11 EE 00216849: 54 6E DATOS DE MYSQL
    ID: drakon2_es PASS: seki2mako4
  9. Me Gusta
    KRIBER reacted to Desmint in [FIX -DIFF]Solucion Bug's Files BEST Production V4   
    Hola amigos de Metin2Zone
    Anteriormente les traje los files BEST Production V4 Final que lo podran encontrar en este foro. No obstante, recién me di cuenta que tiene uno que otro bug's, así que les traigo la solución a la mayoría de ellos, sin mas que decir....
    Antes de empezar, debo dar agradecimientos a el usuario "traglon11" del foro Turkmmo.
    AVISO IMPORTANTE!
    Los archivos de Mediafire, es mejor descargarlos y abrirlos, pues en cada archivo en la parte superior dejo unas notas que hacer con ellos, en caso de el de inventario, buscar unas cuantas lineas abajo, donde puse que otros archivos deben editar!
    Cito: " Con mi equipo, hemos intentado todo sobre el juego desde la mañana y te escribo todos los problemas que podemos encontrar. Los amigos que quieran ayudar pueden contactar el tema o mensaje privado. Sigamos ahora.
    1) El problema con el OX es exactamente lo que sucede cuando algunos usuarios comienzan a lanzar los items al piso en el evento OX.
    2) Las características del sistema Reborn pierden su función después de la muerte.
    3)Algunas funciones del sistema de búsqueda automática no funcionan.
    4)Estos files tiene un interesante diseño de paquete, un nuevo mapa de mobs, etc. No añadido. Los amuletos son elementos ineficaces y corrompen el proto.txt de mob en cualquier mobu ATT_FIRE, etc. aunque no trabajemos ninguno.
    5) No se visualiza los puntos Gaya en el inventario"
     
    Solucion, Problema K del inventario:
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Solucion, Jefes y Mobs atacan dentro de las areas de proteccion:
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Solucion, Misiones del Biologo:
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Cambia el tiempo y las características absurdas del deber de biólogo:
    Nota: Hay una tasa de recepción del 100% en términos de funciones, pero se establece en 1 segundo a 1 segundo.
    Lugares donde puedes ajustar su duración y tarifas si quieres cambiar
    Cambio de tasa: 100, // posibilidad real, puede buscar y configurar esta sección.
    Cambio de hora: 1 * 1, // Nivel de biólogo 30 // 10minutos Puede establecer la llamada cambiando la posición de 1 * 1.
    Solucion, Error de Switchboot
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Las teclas switch de la tecla ESC eran disfuncionales. Las activé y edité.
    Nota: Lo puse en 71084 (Encantamiento normal) porque lo puse en mi propio servidor. Puedes cambiar el código y configurarlo como quieras.
    Solucion, Error del caballo:
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Cuando estas sobre el caballo no puedes usar habilidades de caballo
    Solucion, Error del ataque cuerpo a cuerpo, caía y lo inmovilizaba
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Solucion, Error de las mascotas:
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Sistema de mascotas de nivel HP - Defensa - STR Aunque el juego era incorrecto, el SP en el juego se observó como una solución:
    Solucion, Errores de ./qc
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Corrección de la exportación del núcleo al asignar ./qc después de realizar cambios en Give_basic_weapon:
    Solucion. Chat de jugadores
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Soluciona el problema de aparecer en el espacio de chat del juego anterior:
    Solucion, Habilidades (Pasivas, activas)
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    La explotación y la resistencia a las habilidades pasivas solo muestran problemas de solución de lycanda
    Solucion, Error al entrar a la catacumba:
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Katakomb problema de entrada para la antigua misión para eliminar por completo la búsqueda que he dado el enlace si lees el problema.
    Eliminar la mision de las catacumbas, Nota: lamentablemente no voy a ir a la pantalla.
    El texto en el 3er piso está fijo en la primera entrada.
    4.El piso está lleno El otro se fija directamente al principio.
    Solucion, Archivo Proto
    Aunque configuramos el elemento petleri desde proto.txt, da dos veces las propiedades que hemos hecho:
    Muchas gracias a @Statu.
    "El sistema de uso de mascotas otorga una bonificación por usar y llamar a peti Si cierra la bonificación de Petsystem.cpp, solo otorga bonificaciones por el uso de la mascota."
    Solucion, Error Evento Okey
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    El evento okey adjunto al botón de reproducción okey no se inició porque no se corrigió:
    @ Value3 Gracias por resolver el problema.
    Los archivos rar utilizados en los archivos rar que descarga son el primer estado.
    Por lo tanto, si ha realizado cambios en los archivos .py de antemano, deberá agregarlos nuevamente.
     
    Evidencia:
    https://prnt.sc/m3e8z8
     
    Solucion, Error Minimapa Ch1
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Ch1 escribiendo en el minimapa a medida que se ilumina el haz, corrige el problema:
     
    Solucion, Error de Comercio Entre 2 Reinos

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
  10. Me Gusta
    KRIBER reacted to Elite™ in [Quest] Bienvenida-Metin2.sg   
    Buenas a todos!
    Me dispuse a hacer la misión de bienvenida del metin2.sg
    Esta hecha desde 0 por mi
    Imagenes:
     
     
     
    Quest:
     
     
     
    Tambien la podeis bajar en formato .quest Debes iniciar sesión para ver el contenido del enlace en esta publicación.
     
    Breve Explicación:
    Esta misión es nada mas de información en distintos idiomas.
    Lo podeis adaptar a vuestro server xd
    El banner solo es cambiar en el addimage el nombre de sgbanner.tga por el que vosotros querais la ruta de los banner ya esta predefinida en el cliente en el uiquest.py del root alli podreis cambiar la ruta.
    La ruta actual es d:/ymir work/ui/game/questboard/ es decir que alli debereis poner vuestros banner.
    En la descarga he hecho una carpeta con todos los banner que tiene el .sg incluyendo el que he usado el cual lo veis en la imagen.
  11. Me Gusta
    KRIBER reacted to NazoX in Serverfiles Maxmi - Lycan en vdi FreeBSD 9.3 xd mais client 100% es   
    Muy buenas a todos, hacía tiempo que no posteaba algo, y más ahora que estoy ocupado con un trabajillo de metin2. Pero bueno ese no es el caso ni importa, hoy os traigo unos nuevos files, actualizados de maxmi, con la versión 4.1, todos los que hayáis probado la 3.6 sabréis de lo que hablo. No quiero recibir respuestas criticas ni ofensivas, dado que no sé si estos files están a la venta o no, ya que he encontrado 4 foros, donde están públicos y uno de ellos es el propio foro donde los sube Maxmi, así que empezemos.   Antes que nada necesitamos FreeBSD 9.X o superior. (no los he probado con alguno anterior, ya que uso dedicado)   64 bits Mínimo. No funciona con hamachi, dado que no hay carita del sura superior a 54k ( se quedo en el 40k).   Versión de los files : 4.1 Binario del Cliente: 28249 Versión DB: 43360 (16.02.2015) Versión Game: 43370 (06.03.2015) Información General: [NEW] Alquimia de Dragón funcionando 100%. [NUEVO] Sistema de energía 100%. [NUEVO] Disfraces 100%. [NUEVO] Sistema de cinturón 100%. [NUEVO] Ahora hay Cupones para MD de 50, 500 & 1000. [NUEVO] Puedes comercias los disfraces, eliminarlos etc. [NUEVO] Proto mas actual. [NUEVO] El attr  más actualizada. [NUEVO] Trailer al iniciar el cliente. [NUEVO] Castillo del Dragón Rojo funcionamiento estable. [NUEVO] Torre Nemere estable. [NUEVO] Torre de demonios funcionamiento estable. [NUEVO] Cementerio del demonio estable.  (no se cual se refiere perdón.) [NUEVO] Player_index actualizado. [NUEVO] Locale.lu actualizada. [NUEVO]  Questlib.lu. actualizada. [NUEVO] Skill_power.txt actualizado. [NUEVO] Skill_proto actualizado. [NUEVO] İtem_att  actualizado. [NUEVO] Locale_string.txt actualizado. [bUG] advertencia de error al conectar con el servidor se ha solucionado. [bUG] Más drops, mas yang han sido corregidos. [bUG] Niebla del cliente arreglada. [bUG] Arreglado el problema en los perros de Chunjo. [ ERROR ] algunos elementos que no se pueden quitar o poner  corregido. Información del juego: [NEW] Nuevos Bonus:  resistencia de la oscuridad, la resistencia mundial, la resistencia del hielo,  defensa de garras, ataque sangre, resistencia al ataque de sangre, defensa licantropo(wolfman), fuerza contra los licantropos(wolfman). Nota#: Ataque de sangre y defensa de sangre, se refiere al mapa de "Cementerio del demonio" [NUEVO] 5. Raza. Abrir / Cerrar 100% desbug funcional. [NUEVO] se incrementó el número de ranuras de comercio.( 24) [NEW] número de ranuras del almacén incrementado. (80) [NUEVO] Se aumentó el número de ranuras en los NPC [NUEVO] El número de ranuras de inventario son 5  [NUEVO] El máximo yang es de. 999.999.999 Yang (no se bugea). [NUEVO] puedes añadir un total de. 2.125.000.000 Yang en el banco (inventario, abajo del yang el 2º recuadro) [NEW] Arreglada las caídas de lag por culpa de las habilidades del Wolfman. [NUEVO] Guerrero y Ninja con 6 habilidad, y sus libros correspondientes. (caen en drop) [NUEVO] No necesitas mascara de emoción. [NUEVO] Puedes usar los cabo valor sin que se gasten. [NUEVO] No caduca el Game [NUEVO] Se puede editar la caída de exp, drop & yang desde un 200% a un total de 1000% [NUEVO] El comercio solo te quita el 3% de impuestos. [nuevo] efectos Verde Pot y púrpura Pot . [NUEVO] Ahora los gremios pueden tener hasta 112 personas. [NUEVO] Los grupos o "Partys" se han aumentado, ahora podéis ir a levear 14 personas.  [NUEVO] los puertos del Map_allow han sido mejorados. [NUEVO] Al dropear tardan 1-2 min en desaparecer, pero al tirar algún objeto desaparecen a los 5 seg. [NUEVO] La exp, esta distribuida para subir bien de nivel. [bUG] Arreglado el problema de subir al 105 (nivel aumentable) [bUG] Arreglado el cambiador de bonus. [bUG] HP fija, arreglada. [bUG] Arreglada las npc para que vendas no te den 0 yang [bUG] Al tener el inventario lleno ha sido solucionado, se dropeará  el objeto con tu nombre.(antes se caía y se lo podían llevar). [bUG] Habilidades arregladas, ajustadas adecuadamente a cada personaje. [bUG] Corregido los canales, ahora no te saldrán en "OFF" o en " ... " [bUG] Guerra de gremios/reinos corregidas, ahora cuando cierres para iniciar el evento no se podrán unir. [bUG] No se cierra ni se apaga solo el server. [bUG] problema de piedras  solucionado. [bUG] problema al leer los libros arreglado. [bUG] Los trajes reparados, ahora puedes ponerle 6-7 bonus sin problemas. [bUG] Corregidos los problemas que se produjeron con el sistema de cinturones. [ERROR ] problema IP interna  solucionado. [bUG] truco PM Flood se ha eliminado. [bUG] problema de invisibilidad ha sido corregido. [bUG] Problema de la alquimia solucionado. [bUG] No poder atacar desde la monura arreglado. La información del cliente: [NEW] 5 raza agregada en la selección de hombre. [NEW] Guerrero y Ninja (mental/corporal; arco/daga), 6 habilidad, corregida sin bugs ni fallos.) [NUEVO] Ranuras aumentadas. (inventario, comercio, etc.) [NEW] Barra en la derecha, para acceder al dopador y mas cosas). [NEW] F5 información de los items. [NEW] tecla F6 para cambiar el equipo de velocidad se añadió. 4 cambiadores de equipo. [NEW] Arreglado al teletransportar no poder abrir inventario, ahora en 5 segundos podrás volverlo abrir. [NUEVO] NPC número de ranuras se ha incrementado. (80) [NUEVO] Se añadió el cambio de Ch. [NUEVO] Reloj debajo del minimap 100% funcional, INDICANDO LA HORA DE TU PAÍS NO DEL SERVER. [ NUEVO] Logo GM en MP [NUEVO]  Agregar amigos desde MP [NUEVO] Enviar susurro por chat. [NUEVO] Añadido salida rápida de las opciones. [NUEVO] Chat multi reinos. Imágenes:  
    Dato: la versión 4.2 saldrá o está prevista para el 15 de abril de 2015, con un precio de 100$   Link: Debes iniciar sesión para ver el contenido del enlace en esta publicación.   Espero que os sirvan, un saludo   Sacado de :   Creditos:   User: root
    pass: maxmi33
    Cuenta del juego
    Account: test
    pass: sezer123
  12. Me Gusta
    KRIBER reacted to Zaymax in EterNexus Compilador / Descompilador - ( EIX/EPK NO XML)   
    Bueno chicos os traigo este compilador / descompilador, tiene una sensilla interfaz y ala vez no hace falta hacer xml ( ya que el programa mismo no los hace) basta con poner vuestros archivos en las carpetas de los eix/epk.
    Descarga por MEGA(Link actualizado por @Dilong): Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Recomiendo actualizar las librerias c++ por si os da el error de mscore100.dll.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Creditos:
    Luscha, Inforge.
  13. Me Gusta
    KRIBER 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.
  14. Me Gusta
    KRIBER reacted to Desmint in [SF] Best Production VERSION FINAL V.4.0   
    Hola amigos de Metin2Zone, desde hace un par de días se me dio por ver entre foros turcos los nuevos files que salen al mercado y de gratis acceso con esto de la actualización V.18.xx.xx de Metin2.es. Y es que no se han echo esperar los que quieren ganar primero la fama de implementar estos nuevos sistemas en sus Files y quienes quieren ganar seguidores por estos mismos diciendo "Comienzo proyecto" argumentándose los créditos a si mismo por el trabajo de otro; pero como siempre, EDWARD (Best Production) se apresuro y monto los suyos con fallos solucionables (Los cuales ya tengo conocimiento de ellos). Sin mas preámbulos, les dejo estos se mentalmente fenomenales ServerFiles.
     
    Características Generales
    - Máximo nivel 120
    - 5ta raza implementada (Lykan)
    - Sistema de entrega de biólogo a distancia
    - Sistema de mejora a distancia (Items)
    - Sistema de eventos automáticos (Programado en C++)
    - Sistema de resistencia a chamanes funcional
    - Sistema de zonas de guerra
    - Sistema de clasificación de jugadores (Tablas)
    - Sistema de clasificacion de gremios
    - Sistema de  clasificacion por Boss  (Jefes)
    - Sistema de NPC a distancia
    - Sistema de creacion de gremios
    - Lider de gremio y estabilidad del gremio
    - Sistema de banco
    - Sistema de won funcional
    - Sistema de taza de mejora
    - Sistema de cierre y baneo de cuentas Ingame
    - Sistema de teleporter interno
    - Sistema de mejora rapida (habilidades)
    - Sistema de guerra de gremios
    - Sistema de torneo Hayomi
    - Sistema de ranuras extra (antes 8 ahora 16 (desde #1 hasta F12))
    - Sistema de panel de informacion y control de Administracion
    - Sistema de guardar ubicacion sin pergaminos
    - Sistema de OX mejorado
    - Sistema de evolucion de armas a distancia funcional y modificable
    - Sistema de efecto de armas y armaduras
    - Sistema de Gemas Gaya 
    - Sistema de Atuendos de Armas y Armaduras
    - Sistema completo de Reina Meley  (Igual al oficial)
    - Bosque encantado y Jotun Thrym
    - Desbugeo en sala Nemere, Razador, Orcos
    - Sistema de inventarios adicionales
    - Sistema de Alquimia Oficial
    - Sistema de Cinturones
    - Sistema de visualizacion de equipo
    - Sistema de Alquimia
    - Sistema de Pets
    - Sistemas de monturas
    - Sistemas de Atuendos con bonus intercambiables
    - Sistema de eliminar o vender
    - Sistema de clasificacion oficial
    - Sistema oficial de sacos
    - Sistema de brujas (armas armaduras)
    - Sistema de efectos no comerciables
    - Sistema de elementos drop de jefe o metin
    - Sistema de autodop ingame
    - Sistema de seguridad al entrar
    - Sistema de transferencia de bonificacion
    - Sistema de estolas
    - Sistema de YouTube
    - Sistema de informacion de Jefes y Metines
    - Sistema de Noticias Ingame
    Sistema de Talismanes
    - Sistema de Shop Offline
    - Sistema de transfiguracion
    - Sistema de mensajes
     

    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.
    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.  
    Guia de Como instalar:
    Suben los archivos a la raiz del servidor y escribes estos comandos en el Putty o maquina que uses:
    cd /usr
    rm -rf game
    cd /var/db
    rm -rf mysql

    Debes iniciar sesión para ver el contenido del enlace en esta publicación. una vez hecho esto, prosigues con los siguientes comandos:
    cd /
    tar zxvf best_game_2018.tar.gz (o ponen el nombre que le ponen al archivo +.tar.gz)
    tar zxvf best_mysql_2018.tar.gz
     
    Como encender el servidor:
    Igualmente en la maquina virtual esciben:
    cd /usr/game
    sh temizle.sh = Cerrar el servidor
    sh baslat.sh = Iniciar servidor
     
    Descarga python para la encriptacion del cliente desde:

    Debes iniciar sesión para ver el contenido del enlace en esta publicación. Para desencriptar el cliente entras a: 02.Python/makepack abrir start.bat y escribe el nombre del archivo de descompilar

    Debes iniciar sesión para ver el contenido del enlace en esta publicación. Todo el cliente debe de estar encriptado, toma el 03. Client y renombralo, a Metin2client, luego muevelo a 02.Python/Metin2client y tendras la fuente, el cliente y todo lo que necesites.
     
    Descarga de Mysql + Game:

    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 cambiar la IP en local y root. Pon tu IP en serverinfo.py y config.py
     
    Datos de Acceso:
    user:root
    Contraseña de Mysql: /*bestproduction*/
    cuenta de administracion: bestpro01
    Pass: 123exelans123
    Cuenta de prueba 1: test
    Pass: 123exelans123
    cuenta de prueba 2: test
    Pass: 123exelans123
      Creditos: Turkmmo por las imagenes e informacion
    Traduccion al español: Por me :v
     
    Saludos 🙂
     
     
     
  15. Me Gusta
    KRIBER reacted to TTV_RANDARON in Efecto medidor de HP cuando te envenenan   
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  16. Me Gusta
    KRIBER reacted to mrsanty in sistema de ver drup de los mob   
    hola, acá les paso el sistema que te permite ver el drup de los mob y de las metines.
     

    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.
  17. Me Gusta
    KRIBER reacted to [D]ELARO ✓ in Error al implementar Swichtbot   
    lo intentare estoy ya sacandolo de maxmi 4.1 xd
    edit: ya pueden cerrar el hilo xd ya lo arregle 😄 
    gracias
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.❤️  creeme que lo intente como con 4 swichtbot y no podía instalarlos o me daban esos bugs como el que implemente pero me dejaste la via rápida y funciono solo hay que traducir y listo xd aqui mi resultado final xd

×
×
  • Crear nuevo...