Jump to content

Tabla del Honor

Contenido popular

Showing content with the highest reputation on 21/07/20 en todas las áreas

  1. 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 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 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: http://www.python.org/downloads/ Para desencriptar el cliente entras a: 02.Python/makepack abrir start.bat y escribe el nombre del archivo de descompilar 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: https://mega.nz/#!ctUnlYrK!mbG9gaQ19l_hJOxg2TAXmvcnAkzc41U2XhQr2U_lfZ8 http://dosya.co/voqvfy6aa6zh/Desktop.rar.html 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
    4 puntos
  2. 4 puntos
  3. caanmasu

    borrar

    borrar
    4 puntos
  4. Araiguma

    Files Arrival2

    me los vendió la rata de Jfirewall por 300 euros en su momento, como no los he podido aprovechar pues que al menos alguien los aproveche. las imagenes son echas de cuando estaba intentando hacer una ''pre presentación'' y las he cortado para que no se viera el ''Arrival2'' ya que se suponia que jfirewall no los puede vender por que el otro dueño era HR o alguien así . Imagenes: https://imgur.com/a/EKoooIn https://mega.nz/#!GowxyS6Z!xO-v-6iaF0Ia3FNYvctATeFYBkz91YxXlw1iNWgc2C8 Source_Arrival2_Final https://mega.nz/#!b94BTAIY!2z41nyoQaM6JjRLbyzzYKzU_b_1DWcdBeCYHcDO9C_w Source Cliente arrival2 https://mega.nz/#!D9hRmCJZ!pmmeSiA-3LmfyfZbd6ERDm6Xykq8bIv2kmxHH2DlRWg Files_Arrival2_Final https://mega.nz/#!KtxlhCZB!korWOnSls1Cy9DAnkPU-ubcT_fQSU9uCzOgDEVjaQmE DB_Arrival2_Final https://mega.nz/#!r4Y0wAJA!M31O_mdyxsYtMc7-nS-pZqwNjbe9b7cBqrHuEAKUpi0 Cliente https://mega.nz/#!HxZQEa7D!Q3zW54u-meoMCDjNg_bkQk5suBmpcWAR_dj14QlDFQ8 Tools https://mega.nz/#!XhghyaZL!7raZnssGRylxUW0dLBPFFTq3HCROF_NBra6XeLFO7R4 Encriptador https://mega.nz/#!zsBjTKzB!kMW5CH_nQQF1llHfpj4-0T2tuL0QxtT9FKVTYDd467w Desencriptador PD: si falta algo me lo decís y lo subo ya que he intentado hacer el post muy rapido en un día de estos posteo los del Rage también. PD: si vas a venir con idioteces pues ni te molestes ya que son files que he pagado en primer lugar y en segundo lugar la persona que me los vendió ni tenia los permisos... si tengo tiempo estos días subiré los del Rage que me vendió Jfirewall y la interfaz , login y select del Wered. BUGS QUE YO RECUERDE: La chamana Luz no cura. El Mail Box podías usarlo para Enviar objetos que ya habían sido vinculados sin tener que esperar el tiempo ni nada. Si sacas la mascota de Huevo y al mismo tiempo la intentas tirar a la basura creo que te tira el server o ya estaba fixeado no me acuerdo xd
    2 puntos
  5. Es un SF 34k español que lo prepare para que los nuevos puedan usarlo, tiene las dungeons normales: Catacumbas, Beran-setaou y Torre deminiaca, el unico que falta es el de la baronesa araña Sistemas basicos: Atuendo, mascota (el normal del oficial), energia, evolucion de monturas (No llamaria sistema como tal a una quest, pero bueno), y bueno solo eso lo basico, no tiene cosas raras, lo que no esta en español son las preguntas del OX, por que en eso cada uno pone lo que quiere El cliente pueden usar cualquier cliente 34k junto con el launch sura para 34k si quieren que los demas entren a su server via hamachi Foto: Link: https://mega.nz/folder/uEUgHb6L#jT8FfkRkfzgkgOdJtgHgDg/folder/HJlTjJaS Navicat: root daroo Cuenta GM: admin 123 Para encender el sf deben poner: cd /usr/home/game ./panel traduccion metin2oficial.zip
    1 punto
  6. Jaggerman

    Alas

    Encontré estas Alas y me parecieron bonitas, aquí os las dejo: Link de descarga Créditos: FreakGamer
    1 punto
  7. ◄ ServerFiles ► Premiumlike ◄ ServerFiles ► Kuratox3 ◄ ServerFiles ► Battle2 ◄ ServerFiles ► BestProduction 1.8 ◄ ServerFiles ► Melosia2 ◄ ServerFiles ► Rubinum2 ◄ ServerFiles ► Taviona2 ◄ ServerFiles ► Maro2 / Oldline / Nalunia ◄ ServerFiles ► Mukari2 - Multilenguaje ◄ ServerFiles ► Drakonia2 ◄ ServerFiles ► Elitarius2 ◄ ServerFiles ► DINOS ◄ ServerFiles ► 40K pagas - Gratis ◄ ServerFiles ► con WON listas para montar ◄ ServerFiles ► Rivality2 ◄ ServerFiles ► con 6ta Raza ◄ ServerFiles ► Oficial TR by Frozen ◄ ServerFiles ► Abizu2 ◄ ServerFiles ► Sanii V1.2 [REUPLOAD] ◄ ServerFiles ► Nirvana V2 ◄ ServerFiles ► Athraworld ◄ ServerFiles ► Play PVP Farm ◄ ServerFiles ► Metin2Family ◄ ServerFiles ► Terios.pl ◄ ServerFiles ► Metin2Gravity ◄ ServerFiles ► Titania2 ◄ ServerFiles ► Limpios by Undyne ◄ ServerFiles ► Heroes última versión ◄ ServerFiles ► Avalter.pl ◄ ServerFiles ► Lucian (ingles) ◄ ServerFiles ► Ocelot2606
    1 punto
  8. Contenido del MultiHack: Level Bot Buscador de Metines Auto Ataque Hack de Damage Teleport ¡Muchas otras cosas! Vídeo de Muestra: LINKS DE DESCARGA: CLICK AQUÍ
    1 punto
  9. Yori

    Letras de metin2

    Wenas a todos! Les traigo un .psd con los efectos de las letras de metin, para que todo el mundo pueda darle ese efecto a lo que quiera xD. Pongo tmb un imagen explicando como guardar el estilo para que no sepan hacerlo. Adjunto el psd y la letra de metin2 para los que no la tengan. Saludos!! Tipografia Metin2 by Yori.rar
    1 punto
  10. Hola comunidad, He tenido algo de tiempo libre y he empezado a desarrollar un script que realiza la instalación automática de un servidor de Metin2. Es algo básico, ya que la instalación de un servidor de Metin2 es muy sencilla, pero si te realiza la instalación un script, pues mejor que mejor. A continuación les dejare un vídeo realizando una instalación con el script. VIDEO UTILIZANDO EL SCRIPT [YA TERMINADO] En el vídeo se instala la base de eternia2. ¿Como utilizar el script? Descargarse el script y ejecutarlo. Ejecutamos el siguiente comando: fetch http://break.pid2k.es/instalador.sh && sh instalador.sh (He dejado que se obtenga el código por fetch, porque así si actualizo el código, todo el mundo cuando lo vaya a utilizar tendrá las nuevas actualizaciones) Si queréis descargaros el script por el navegador y las librerías que se han usado: Descargar Script Descargar Librerias.zip Una vez ya descargado y ejecutado el script seleccionemos la opción deseada. El script controla lo siguiente: -> En caso de equivocarse al escribir mal el nombre de los files o de la db, antes de descomprimirlo, comprueba si se encuentra en el directorio raíz. Si no se encuentra, solicita de nuevo introducir el nombre del archivo. (En caso de que no se haya terminado de subir, esperar a que este subido por completo, si no entrareis en un bucle hasta que encuentre el archivo) -> Si el sistema operativo cuenta con una arquitectura de 64 bits, el script lo reconocerá, y preguntara la versión del sistema operativo para poder así descargarse las librerías de 32 bits del repositorio de freebsd, en caso que el script detecte que es una arquitectura de 32 bits, no preguntara el sistema operativo debido a que no es necesario descargarse las librerías. -> El script da la opción de subir un archivo ".zip" con las librerías, he de destacar que, si nuestro sistema es de 64 bits, las librerías del metin2 tienen que ir en /usr/lib32/ por lo cual, nuestro archivo .zip a la hora de descomprimirse tiene que hacerlo en esa ruta. Para ello descomprimirlo en vuestro pc, y fijarse si se crea una carpeta llamada usr, dentro otra llamada lib32 y dentro de lib32 que estén las librerías. En caso de que estemos en arquitectura 32 bits, la ruta tendría que ser /usr/lib/. -> Si nos equivocamos al escribir el nombre .zip de las librerías, el script no se detendrá, simplemente se saltará el paso. -> Solo da privilegios a los directorios /usr/game y a /var/db/mysql/, en caso de que nuestros files se encuentren en otro directorio hay introducir el comando. PD: El script no controla las librerías que os hace falta a vuestros files especificos para hacerlos correr, el script mete unas librerías standar. Tenéis que añadir las librerías que os falten a sus respectivas rutas. Comentar que os parece, ya se que la mayoría de aquí sabe preparar la maquina para su servidor de Metin2. (Solo es un detalle para las personas perezosas, o personas que no saben preparar una maquina) POR ULTIMO Si cuento con mucho apoyo sobre este aporte, lo próximo que desarrollaré sera un script que realice copias automáticas a una determinada hora de una maquina a otra, así podemos tener guardadas nuestras copias de seguridad en un vps externo y que elimine cada ''x'' tiempo numero de copias, y solicitar que nos muestre el numero de copias. Con esto siempre tendríamos copias de seguridad de nuestro servidor en todo momento, sin tener que hacer nada. UPDATE VERSION 2 Mucha gente le gusta instalar los files Arrival2, he creado el script que instala automaticamente la base de Arrival2 con su mysql, y crea usuarios de mysql. No hace falta subir ni los files ni la db, solamente ejecutar el script para ello: fetch http://break.pid2k.es/instalador_v2.sh && sh instalador_v2.sh Seleccionamos la opción 3 e instala los files con la db, automáticamente. (También instala las librerías) Un saludo!
    1 punto
  11. Dado que el turorial de Serex no funciona en las versiones recientes del S.O., he decidido hacer uno nuevo. Los comandos que tenéis que escribir, están en rojo; el resto son notas. Este tutorial asume que se trata de un FreeBSD recién instalado. Es posible que no funcione correctamente en FreeBSD que ya hayan tenido un uso. En primer lugar actualizamos el S.O. para que tenga los parches de seguridad más recientes (esto no es estrictamente necesario, pero es buena idea, al igual que debéis mantener vuestro Windows actualizado) freebsd-update fetch install ( ya no creo que nadie usa eso ) (si aparece una lista de ficheros simplemente pulsad ' y después $, o bien la tecla Avanzar Página hasta que lleguemos al final y ponga "Installing updates") Descargaremos los ports (colección de software de FreeBSD): portsnap fetch extract Ahora instalamos MySQL y Python: pkg install mysql56-server pkg install python Si os pregunta algo le decis que si (y) Una vez haya terminado, si nuestro SO es de 64 bits, vamos a instalar las librerías de 32, en este ejemplo se trata de FreeBSD 9.3, simplemente editad el link cambiando ese número por vuestra versión si es diferente: cd /tmp fetch ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/9.3-RELEASE/lib32.txz tar jxpvf lib32.txz -C (si os aparece una serie de errores "cannot unlink..." al hacer esto no os preocupéis, significa que ya están instaladas) Ahora, para poder usar files antiguos si lo deseamos, instalaremos el paquete de compatibilidad con FreeBSD 7: cd /usr/ports/misc/compat7x make install clean ( Actualizado ) Finalmente configuramos mysql para que se inicie con el arranque: echo mysql_enable="YES" >> /etc/rc.conf Ahora vamos a iniciar MySQL: service mysql-server start Y luego el cliente para comprobar que está funcionando: mysql Debería aparecer el prompt mysql>, podemos poner quit para volver al shell de FreeBSD. Ahora ya podéis subir vuestros files y bases de datos, eso si, recordad hacer esto después de copiar la bd a /var/db/mysql: mysql_upgrade (actualiza las bases de datos procedentes de versiones antiguas de MySQL, a la actual) y chown -R mysql /var/db/mysql (damos los permisos correctos) Si tenéis alguna duda escribidla port aquí y contestare cuando pueda. Nota: Si alguien le tira errores de libs al encender el server pueden ver esta guia
    1 punto
  12. Bueno, creo que un post como este ayudará mucho a la gente que quiera tener acceso a los aportes sin mirarse las tropecientas páginas que hay. Esta guía se irá actualizando en la medida que pueda. Armas Armaduras Si encuentran un hilo caído, notifíquenlo y se intentará resubir. Saludos!
    1 punto
  13. Descarga: https://mega.nz/#!i88FGaJT!ECMzfnTVRnm0bHDEkbUYRGh_Sd_A-3O83Fwz-pSqHoM El archivo contiene: Parte source, parte del cliente, el SQL y el tutorial de implementación. Creditos: .Khan
    1 punto
  14. 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? 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í 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 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 Una vez hecho pincharemos donde pone texture inspection y ahi nos fijaremos en la ruta que pone donde dice texture: 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: 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: Una vez hecha metemos dentro la textura del armor problematica quedando la ruta en nuestro ordena de este modo: 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: 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: 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 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 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: 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: 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: 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
    1 punto
  15. Hola amigos de Metin2Zone. EL dia de hoy les traigo unos files muy buenos que he estado probando y la verdad me parecen muy buenos, los files cuentan con todos los sistemas actuales del metin2 oficial. Así que sin más que decir, les dejo la descripción. Sistemas: - SwitchBoot InGame - Union al alma - Alquimia Totalmente Funcional - Atuendos actuales - Monturas Actuales - Pets (Pet de mejora + pet de ello) - Mapas del Oficial - Dungeons del oficial - Tienda Offline - Visualizaciones de tienda - Sistema de estolas -Transfiguracion - Cambio Rapido de Equipo - Moneda Gaya - Moneda Won - Sistema de Gremio (Oficial) - Cambio de Channel - Evento Okey - Eventos PvP - Sistema de Rangos - Cambio de Clima - Auto Guardar cuentas ingame - Proteccion de cuenta (al iniciar el pj se bloquea todo el teclado, no deja realizar la accion de la tecla hasta no ingresar la contraseña - 4 Inventarios - Sistema de Talismanes del Oficial Y Muchos mas sistemas que pueden ir descubriendo dia a dia -> Datos: Pass Mysql: asilzade -> Cuenta Admin InGame ID: asilzade PASS: 12345 Recomendaciones: Editar la opcion de guardado de cuentas en el cliente, pues se aloja en un archivo en la raiz del cliente. Si no se usa una proteccion adecuada para el archivo, en el momento que lo lleguen a subir a un Servidor para subirlo como suyo y sacar provecho (todos lo quieren hacer) los terceros querran este archivo para entrar y desocupar cuentas, por ello, recomiendo que le creen una extencion distinda al archivo y lo protejan, oh busquen la forma de que dicho archivo se aloje en un epk con proteccion anticompilacion... Imagenes Creditos: Metin2Web Descarga: Mega MediaFire Virus Total
    1 punto
  16. [GUIA] MONTAR SERVER POR IP -[HOME ROOT]- [FOTOS INCLUIDAS] ¿Es un dolor de cabeza que tus amigos no puedan entrar a tu servidor? ¿Te sientes agotado y ya no sabes que hacer? --------------------------AQUÍ ESTA TU SOLUCIÓN-------------------------- __________NECESARIOS__________ PORT MAP (CLICK PARA DESCARGAR) VIRTUAL BOX (CLICK PARA DESCARGAR) SEVER FILES (CLICK PARA VER) CLIENTE (VIENE EN EL POST DEL SERVER FILES NORMALMENTE) Recomendación: Tener el SERVER MONTADO para solo configurar la IP. PASOS A SEGUIR 1 Hacemos click en el botón INICIO y luego click derecho sobre EQUIPO. Seguido le damos click sobre ADMINISTRAR. Seguido hacemos click sobre ADMINISTRADOR DE DISPOSITIVOS. Seguido hacemos click derecho sobre nuestro NOMBRE DE USUARIO y SELECCIONAMOS AGREGAR HARDWARE HEREDADO. Haremos click sobre SIGUIENTE. Marcaremos la opción INSTALAR EL HARDWARE SELECCIONADO MANUALMENTE DE UNA LISTA (AVANZADO). Haremos click sobre SIGUIENTE. Seleccionaremos ADAPTADORES DE RED y haremos click en SIGUIENTE. ESPERAREMOS UNOS CUANTOS SEGUNDOS. Seleccionaremos MICROSOFT y en la parte derecha seleccionaremos ADAPTADOR DE BUCLE INVERTIDO DE MICROSOFT. Haremos click en SIGUIENTE. Aquí haremos click de nuevo en SIGUIENTE. Una vez nos muestre esta ventana haremos click en FINALIZAR. AGREGAR LOS PUERTOS A NUESTRO ROUTER. [GUIA] SABER Y AGREGAR NUESTROS PUERTOS AL ROUTER >>> Próximamente el enlace. Entramos en nuestro VIRTUAL BOX. Seleccionamos nuestra maquina virtual con el servidor montado. Haremos click sobre CONFIGURACIÓN. Haremos click sobre RED. En CONECTADO A seleccionaremos ADAPTADOR PUENTE. En NOMBRE seleccionaremos ADAPTADOR DE BUCLE INVERTIDO DE MICROSOFT y hacemos click en ACEPTAR. DESPUÉS INICIAMOS LA MAQUINA VIRTUAL Una vez iniciada la MAQUINA VIRTUAL escribiremos sysinstall y apretaremos ENTER. Seleccionaremos CONFIGURE y apretaremos ENTER. BAJANDO LA LISTA seleccionamos NETWORKING y apretamos ENTER. Seleccionaremos INTERFACES y apretaremos ENTER. Seleccionaremos em0 y apretaremos ENTER. Seleccionamos NO y apretamos ENTER. Seleccionamos NO y apretamos ENTER. En HOST pondremos localhost.com (o cualquier otra cosa) En DOMAIN lo dejamos tal cual. En IPv4 Gateway pondremos NUESTRA IP PÚBLICA ACABADA EN .1 y en NAME SERVER lo mismo. (ejemplo mi ip publica es 81.967.126.90, mi ip publica acabada en .1 sería : 81.967.126.1) En IPv4 Address ponemos NUESTRA IP PÚBLICA. Seleccionaremos OK y apretamos ENTER. Selecionamos YES y apretamos ENTER. Minimizamos la ventana de nuestra MAQUINA VIRTUAL. Vamos a PANEL DE CONTROL. Hacemos click sobre REDES E INTERNET. Hacemos click sobre CENTRO DE REDES Y RECURSOS COMPARTIDOS. Haremos click en CAMBIAR CONFIGURACIÓN DEL ADAPTADOR. Haremos click derecho sobre el ADAPTADOR DE BUCLE INVERTIDO DE WINDOWS. Seleccionamos PROTOCOLO DE INTERNET VERSIÓN 4 (TCP/IPV4). Hacemos click en PROPIEDADES. Seleccionamos USAR LA SIGUIENTE DIRECCIÓN IP En DIRECCIÓN IP pondremos nuestra IP PÚBLICA ACABADA EN .1 En MÁSCARA DE SUBRED le asignaremos 255.255.255.0 Haremos click en ACEPTAR. Haremos click en ACEPTAR. Hacemos un REBOOT en nuestra MAQUINA VIRTUAL. ABRIMOS EL PORTMAP. En INTRODUCIR IP tiene que estar asignada ANY IP para todos los puertos que tengamos o agreguemos si es necesario. En IP DE SALIDA pondremos nuestra IP PÚBLICA para todos los puertos. Nos quedaría algo así. Después iniciaremos todos los puertos (seleccionar puerto y hacer click sobre EMPEZAR!!!) Minimizamos el PORT MAP. Iniciamos el SERVER en la MAQUINA VIRTUAL. __________________________________________________________________________________________________________ Ahora nos falta editar nuestro root del cliente cambiándole la IP con la IP PÚBLICA y listo, ya podemos pasar el cliente a nuestros amigos y jugar juntos sin que les echen del LOGUIN. ___________________________________________________________________ Hasta aquí la GUIA, espera que os haya ayudado y podáis jugar con vuestros amigos. Créditos : Greetz, d3s4st3r y yo por traducción y imágenes. PD: He puesto muchas fotos para que sea una Guia fácil. SALUDOS Y SUERTE.
    1 punto
  17. Puesto que mucha gente se ha dedicado a traducir el mob_proto y el item_proto valor por valor tardando siglos y posteando versiones incompletas, os traigo de mi mano la forma más real de hacerlo. Convirtiendo los mob_proto e Item_proto en tablas SQL. Sí, se que aveces esta opción puede dar errores con los valores reales de una arma por ejemplo, o que falten armas armaduras objetos... por eso mismo hice este tutorial, traduciremos desde una tabla auxiliar la tabla real. ¿Como lo hacemos? Yo ya pasé los xml a sql, así pues dejaré un backup de mi tabla, de tal forma que solo tendrán que seguir este sencillo tutorial. Empezamos con el más importante: Item_proto ------------------------------------------------- Paso 1.- Creamos la tabla item_translating: https://mega.co.nz/#!JVVEmbYS!Y0bSQC-dMBhXy4RFUZVrPFcuIYoncjaOZtuaR0cbjmU Paso 2.- En caso de estar en Navicat, clicamos encima de la tabla recientemente creada y vamos a Design Table, una vez hecho eso, procederemos a ir a "Triggers" Y crearemos un trigger Before Insert (El nombre pueden poner el que quieran) Crear trigger before insert en la tabla recientemente creada con el siguiente código (Code En El Archivo Descargado Anteriormente) Una vez hecho esto, solamente tendrán que ejecutar todas las querys que conforman mi tabla SQL (Archivo Adjunto) Una vez hecho esto, la tabla Item_proto estará 100% traducida, por lo tanto todos los items que cojan del suelo ya tendrán nombre, incluso los items de mejora... TODO 100% -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Traducir mob_proto Traducir el mob_proto puede ser útil sobretodo para cuando procedemos a modificar un mob o lo queremos localizar en la base de datos encontrarlo con rapidez, para este tutorial seguiremos el mismo esquema que el anterior. 1.- Creamos una tabla para traducir el mob_proto (Code En El Archivo Descargado Anteriormente) De la misma forma que anteriormente, creamos un trigger before insert con el siguiente código: (Code En El Archivo Descargado Anteriormente) Una vez hecho esto, solamente tendremos que insertar todos los valores en la tabla creada (documento adjunto) Una vez ejecutada la query, ya tendrán todo el mob_proto 100% traducido con los nombres ORIGINALES del .es Ante la imposibilidad de subir archivos (El foro no me deja) voy a subirlo a mediafire, así si alguien puede subirlo al foro que lo haga plis xD Mob_translating: http://www.mediafire.com/?3y3fx80a1ub4mi8 Item_translating http://www.mediafire.com/?o7niba72n6noc3d *SI LA TABLA NO ES locale_name SINO gb2312name En vez de: UPDATE player.item_proto set locale_name=new.locale_name WHERE vnum=new.vnum; Usáis esto: UPDATE player.item_proto set gb2312name=new.locale_name WHERE vnum=new.vnum; Gracias A : SkyLighT Fuente: Universo Juegos
    1 punto
  18. Desmint

    [SF]Astra2

    Hola amigos de Metin2Zone Les comparto estos files muy chulos que he encontrado paseando por foros, les dejo los links funcionales y completos. Locale_inc.h: Descarga: Make Pack Src Game Mysql Root Source: GitHub
    1 punto
  19. Desmint

    [SF]Titan2.Global

    Hola amigos de Metin2Zone. Ya hace un tiempo que no traia servidores a este foro, pues por temas laborales casi no me queda tiempo, por tal he decidido dejaros 2 serverfiles que encontraran entre mis post en mi perfil. Espero los disfruten. Defines.h: locale_inc.h: #pragma once ////////////////////////////////////////////////////////////////////////// // ### Sistemler ### #define LOCALE_SERVICE_EUROPE #define ENABLE_ENERGY_SYSTEM #define ENABLE_DRAGON_SOUL_SYSTEM #define ENABLE_RENDER_TARGET #define ENABLE_COSTUME_EFFECT #define ENABLE_NEW_STORAGE_SYSTEM #define ENABLE_MINI_GAME #define ENABLE_MINI_GAME_RUMI #define ENABLE_SUPPORT_SYSTEM #define ENABLE_COSTUME_PET #define ENABLE_GUILD_GENERAL_AND_LEADER #define ENABLE_SEND_TARGET_INFO #define ENABLE_SHOW_CHEST_DROP #define ENABLE_SAFEZONE_STOP_COLLISION #define ENABLE_TEMPLE_OCHAO #define ENABLE_ATTR_TRANSFER_SYSTEM #define ENABLE_ANTI_RESIST_MAGIC_BONUS_SYSTEM #define ENABLE_HIGHLIGHT_SYSTEM #define ENABLE_SOULBIND_SYSTEM #define ENABLE_OBJ_SCALLING #define ENABLE_ACCE_SYSTEM #define ENABLE_OFFLINE_PRIVATE_SHOP //#define ENABLE_FULL_YANG #define ENABLE_COSTUME_MOUNT #define ENABLE_LOCALIZATION_SYSTEM // #define ENABLE_MINI_GAME_FINDM #define ENABLE_ATTR_6TH_7TH // #define ENABLE_TOOLTIP_WIDTH_FIX // #define ENABLE_TNT // #define ENABLE_REMOVE_PLAYER_CMD // #define ENABLE_IMPROVE_PCT_MAKE_BELT // #define ENABLE_SAFE_BOX_BUFF // #define ENABLE_DS_MYTH_CHANGE_ATTR // #define ENABLE_LOADING_TIP // #define ENABLE_ITEM_SECOND_CONFIRM // #define ENABLE_DUTCH_AUCTION_GF // #define ENABLE_MINI_BOSS_DUNGEON // #define ENABLE_IMPROVE_CHARACTER_DETAIL_INFO // #define ENABLE_FISHING_RENEWAL // #define ENABLE_LUCKY_BOX #define ENABLE_DISABLE_SOFTWARE_TILING // #define ENABLE_MOUNT_TYPE_CHANGE // #define ENABLE_SERVER_NUMBER // #define ENABLE_APPEND_PET_SKILL // #define ENABLE_NOTICE_INGAME_EVENT #define ENABLE_GRAPHIC_ON_OFF #define ENABLE_EXPRESSING_EMOTION // #define ENABLE_PET_ATTR_DETERMINE // #define ENABLE_MOVE_COSTUME_ACCE_ATTR // #define ENABLE_BACKEND_LOGIN #define ENABLE_DICE_SYSTEM #define ENABLE_MULTI_LANGUAGE #define ENABLE_SKILL_BOOK_COMBINATION #define ENABLE_DAMAGE_TOP #define ENABLE_DEFENSE_WAVE #define ENABLE_MINI_GAME_CATCH_KING // #define ENABLE_DELETE_FAILURE_TYPE_ADD #define ENABLE_MAILBOX // #define ENABLE_DS_TYPE_CHANGE // #define ENABLE_DS_GRADE_MYTH // #define ENABLE_DS_SET // #define ENABLE_DSS_KEY_SELECT // #define ENABLE_INPUT_CANCEL // #define ENABLE_COSTUME_ATTR_RENEWAL_SECOND #define ENABLE_SERVER_SELECT_RENEWAL #define ENABLE_SOCKET_STRING3 // #define ENABLE_DELETE_FAILURE_TYPE // #define ENABLE_RESEARCHER_ELIXIR_FIX #define ENABLE_SPECIAL_GACHA // #define ENABLE_MINI_GAME_YUTNORI // #define ENABLE_FLOWER_EVENT // #define ENABLE_SOUL_SYSTEM #define ENABLE_CHANNEL_LIST #define ENABLE_GROWTH_PET_SKILL_DEL #define ENABLE_GROWTH_PET_HATCHING_MONEY_CHANGE // #define ENABLE_REFINE_MSG_ADD #define ENABLE_GEM_SYSTEM #define ENABLE_PARTY_MATCH // #define ENABLE_WEB_LINKED_BANNER_LIMIT_REMOVE // #define ENABLE_WEB_LINKED_BANNER // #define ENABLE_USER_SITUATION_NOTICE #define ENABLE_GUILD_DRAGONLAIR_PARTY_SYSTEM // #define ENABLE_PARTY_CHANNEL_FIX // #define ENABLE_2017_RAMADAN #define ENABLE_ACCUMULATE_DAMAGE_DISPLAY #define ENABLE_PENDANT #define ENABLE_ELEMENT_ADD // #define ENABLE_LUCKY_EVENT #define ENABLE_FISH_EVENT #define ENABLE_MESSENGER_BLOCK // #define ENABLE_AI_FLAG_REFLECT // #define ENABLE_MONSTER_CARD #define ENABLE_BATTLE_FIELD #define ENABLE_RANKING_SYSTEM_PARTY #define ENABLE_RANKING_SYSTEM // #define ENABLE_SLOT_COVER_IMAGE_SYSTEM #define ENABLE_CHANGE_LOOK_ITEM_SYSTEM #define ENABLE_CHANGE_LOOK_SYSTEM // #define ENABLE_GUILD_MARK_RENEWAL // #define ENABLE_EXTEND_MALLBOX #define ENABLE_MESSENGER_LOCK_FIX // #define ENABLE_INPUT_WIDTH_CHECK_SYSTEM // #define ENABLE_BALANCE_IMPROVING // #define ENABLE_SUMMER_EVENT #define ENABLE_FOG_FIX // #define ENABLE_PARTY_LEADER_RENEWAL // #define ENABLE_PEPSI_EVENT // #define ENABLE_MINI_GAME_OKEY_NORMAL #define ENABLE_GUILD_DRAGONLAIR_SYSTEM #ifdef ENABLE_GUILD_DRAGONLAIR_SYSTEM #define GUILD_DRAGONLAIR_STATUE 6118 #endif #define ENABLE_CARNIVAL2016 #define ENABLE_12ZI #define ENABLE_MONSTER_BACK // #define ENABLE_SET_ITEM // #define ENABLE_2016_VALENTINE // #define ENABLE_AUTO_ATTACK // #define ENABLE_HELP_RENEWAL #define ENABLE_AUTO_SYSTEM // #define ENABLE_SAFEBOX_IMPROVING // #define ENABLE_KEYCHANGE_SYSTEM // #define ENABLE_PICK_ROD_REFINE_RENEWAL // #define ENABLE_NEW_HALLOWEEN_EVENT #define ENABLE_EXTEND_INVEN_SYSTEM #define ENABLE_WEAPON_COSTUME_SYSTEM #define ENABLE_MOVE_COSTUME_ATTR #define ENABLE_GROWTH_PET_SYSTEM // #define ENABLE_OX_RENEWAL #define ENABLE_QUIVER_SYSTEM // #define WJ_MULTI_TEXTLINE #define WJ_SHOW_MOB_INFO // #define WJ_SHOW_NPC_QUEST_NAME // #define WJ_SHOW_PARTY_ON_MINIMAP // #define WJ_ENABLE_PICKUP_ITEM_EFFECT #define WJ_NEW_USER_CARE // #define ENABLE_DS_PASSWORD #define WJ_ENABLE_TRADABLE_ICON #define ENABLE_ENVIRONMENT_EFFECT_OPTION // #define ENABLE_ACCE_SECOND_COSTUME_SYSTEM // #define ACCE_MAX_DRAINRATE // #define ENABLE_SECOND_GUILDRENEWAL_SYSTEM // #define ENABLE_GUILDRENEWAL_SYSTEMSEARCH_MODE // #define ENABLE_GUILDRENEWAL_SYSTEM #define ENABLE_678TH_SKILL #define ENABLE_PLAYER_PER_ACCOUNT5 #define ENABLE_WOLFMAN_CHARACTER #define LOGIN_COUNT_DOWN_UI_MODIFY // #define BR_SYSTEM_MESSAGE // #define BR_SERVER_CONSOLIDATION_MESSAGE // #define POPUPDIALOG_MODIFY // #define ENABLE_CHANGED_ATTR // #define ENABLE_PVP_TOURNAMENT #define ENABLE_CHEQUE_SYSTEM // #define ENABLE_STONE_OF_BLESS // #define ENABLE_PRIVATESHOP_CATEGORY #define ENABLE_BOSS_BOX #define ENABLE_MYSHOP_DECO // #define ENABLE_10TH_EVENT // #define ENABLE_STRUCTURE_VIEW_MODE #define ENABLE_MOVE_CHANNEL #define ENABLE_NEW_USER_CARE // #define ENABLE_PVP_BALANCE #define ENABLE_DETAILS_UI // #define ENABLE_EXP_EVENT // #define ENABLE_PVP_TOURNAMENT_GF // #define ENABLE_PVP_ONOFF // ### Sistemler ### ////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// // ### Eklentiler ### #define ENABLE_PACK_GET_CHECK #define ENABLE_CANSEEHIDDENTHING_FOR_GM #define ENABLE_PROTOSTRUCT_AUTODETECT #define ENABLE_LEVEL_IN_TRADE #define ENABLE_LVL115_ARMOR_EFFECT #define ENABLE_FOX_FS #define ENABLE_MOB_HUGE #define ENABLE_BOSS_EFFECT #define ENABLE_RITUEL_STONE #define ENABLE_TAB_NEXT_TARGET #define ENABLE_QUEST_CATEGORY #define ENABLE_HD_GOLGE #define ENABLE_ANTICHEAT #ifdef ENABLE_ANTICHEAT #define ENABLE_ANTICHEAT_AGGRESSIVE_MODE false #define ENABLE_DEBUGGER_ALLOW_BY_ANTICHEAT #define THREAD_ARGS const char * file, int line, const char * func #define THREAD_INFOS __FILE__, __LINE__, __FUNCTION__ #define SendAttackPacket(rkStream, uMotAttack, dwVIDVictim) rkStream.SendAttackPacketFromThread(uMotAttack, dwVIDVictim, THREAD_INFOS) #endif #define ENABLE_SHOP_SELL_INFO // ### Eklentiler ### ////////////////////////////////////////////////////////////////////////// // #define PYTHON_DYNAMIC_MODULE_NAME Descargas; Game Mysql Archiver Client Pack Dumb Proto Share txt Svn Todo Por Mega: Descarga por Mega Creditos: Turkmmo
    1 punto
  20. hola todos comparto con ustedes, este systema de mascota igual al oficial el cual consiste en un huevo que eclosiona y nace una mascota la cual va creciendo mientras obtiene exp. yo lo implemente en mi server eternia2 pero no logro invocar la mascota. en el foro donde lo implementaron dicen que funciona. así que sera algún error mio. lo saque de este foro forum.tur el archivo contiene, parte del cliente " root, locale_xx, uiscript y dos archivos que van en la carpeta pack." parte del server " los item_proto. name_proto, mob_proto, mob_name, quest, 2 archivos lua y la questfunctions. también tiene un archivo de txt que contiene la exp de la mascota" en la parte del source " esta dividida en 2 en parte del source del cliente y parte del source del file" y por ultimo el sql, dentro del archivo en cada parte source contiene la quia de que archivo editar y que parte del archivo hay que editar. por ultimo aclaro que este es mi primero aporte jeje. espero que le ayude https://mega.nz/#!MQIjFIiI!AwRRX-jOGGlv22kvqI1Wb1cdhNYoXDDlvkuPJn5YaRQ Reparación de bug. acá les dejo como reparar el error de gráfica que tiene al llamar la mascota. imagenes jpg si encuentro otro error lo tratare de reparar y subiré como repararlo bug grafica.zip
    1 punto
  21. 1 punto
  22. Estos son 40k Servidores + Servidor + Fuente + Cliente limpios para que pueda comenzar a trabajar en su Servidor sin tener que preocuparse por los nuevos sistemas agregados, etc. Su juego de 40K completamente limpio, puro y básico. No hay: -lycan sistema de atuendo tienda fuera de línea -faja etc ... Pulse aquí para descargar el archivo
    1 punto
  23. Exclusivo tabla Bonus de los oficiales 100% originales item_attr.rar
    1 punto
  24. NazoX

    borrar

    Felicidades, a seguir así, espero que algún día volvamos a renacer en esta comunidad, jajaja
    1 punto
  25. Desmint

    borrar

    Que hagas unas quest llenas de chamanzuelas y juegos de hazar
    1 punto
  26. 1 punto
  27. caanmasu

    [AYUDA QUEST DRAGONLAIR.LUA ]

    en cada bloque if de pc.is_busy0 haz esto: if pc.is_busy0() then --quita esto return --quita esto else --quita esto instrucciones... end --quita esto
    1 punto
  28. Kenshi Torres

    borrar

    Te felicito Yoo llevo mucho tiempo en el foro recién me conecto volví a metin2
    1 punto
  29. caanmasu

    [AYUDA QUEST DRAGONLAIR.LUA ]

    Esa pc.función is_busy0() me suena a que si el pj tiene ventanas de comercio abierto se dice que está ocupado. Seguramente esa función no la tienes implementada en los files, solamente quita esa parte y ya Lo de FUNCTION ... eso no es un error, ahí te dice el compilador que el bloque function ejder_odasi_kalansure() se compiló correctamente
    1 punto
  30. -YC-

    [Viejo]Piedras PVP

    Hola shabots tenia en mi pc estás piedras y pues por el momento no me sirven se las dejo son 29 piedras de +0 a +9 de todos los bonus excepto los bonus que han salido ahora wolman, garra etc. no dejo imagen por qué no tengo el máximo de bonus de las piedras a +9 es 50% Las líneas son para protos 40k en su Index del cliente pongan: * piedras_yc solo añadan todo y si les sale bien pues no habrá problema piedras.rar
    1 punto
  31. Hola comunidad de Metin2Zone! Acá les traigo una de mis creaciones para Metin2: Item_Profo Full converter. Es un programa que tiene distintas funcionalidades, para el Item Proto, como son las siguientes: <El que no entienda que avise que se le explica> En seguida una breve explicación del funcionamiento: Convertir Item_Proto Cliente <=> Querys: Al elegir esta opcion, podran insertar una linea del item proto(Cliente) ejemplo: Código: <Item vnum="80013" hashName="'Barra de 500K'" name="Barra de 500K" type="18" subtype="0" weight="0" size="1" antiflag="128" flag="0" wearflag="0" immuneflag="0" gold="500000" buy_price="500000" limittype0="0" limitvalue0="0" limittype1="0" limitvalue1="0" applytype0="0" applyvalue0="0" applytype1="0" applyvalue1="0" applytype2="0" applyvalue2="0" value0="0" value1="0" value2="0" value3="0" value4="0" value5="0" socket0="65535" socket1="65535" socket2="65535" socket3="65535" socket4="65535" socket5="65535" refine_vnum="0" refine_set="0" magic_pct="0" specular="0" socket_pct="0" /> o sino, utilizar una linea de codigo del formato Insert into para convertirla a la del cliente ejemplo: Código: INSERT INTO item_proto VALUES (80013, 'Barra de 500K', 'Barra de 500K', 18, 0, 0, 1, 128, 0, 0, 0, 500000, 500000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0); Ese es el formato en esa parte, recuerden que solo pueden insertar una linea a la vez no más. Además podran generar items que ya tengan insertados en la base de datos con el fin de cambiarles el valor, o bien, generarlos nuevos. Crear set de Arma: Con esta opción podemos crear el arma que queramos, así como los creadores de arma que andan por ahí lo único que este está mas completo, en español y con nuevas opciones. Si es un item+9 siempre el vnum= vnum del item+0 para que aumente desde +0 hasta +9. Luego todo debe de colocarse como se lo piden, y en la parte que dice +% que esta al lado del valor5 o incremento, como deseen llamarle es una forma de incrementar porcentuadamente, osea que no siempre siga un orden fijo. Por ejemplo en los creadores de armas comunes siempre les colocamos 10 al valor 5 por ejemplo y queda así: Item+0, Value5 = 10 Item+1, Value5 = 20 Item+2, Value5 = 30 y asi consecutivamente, si lo desean de esa manera dejan el campo de +% en cero de lo contrario si por ejemplo quieren que en cada + que se aumente sea con un porcentaje del 50% sería asi: Item+0, Value5 = 10 Item+1, Value5 = 25 Item+2, Value5 = 47 Con todo eso pueden generar el Item_Proto del cliente este formato: Código: <Item vnum="210" hashName="'Espada Rara+0'" name="Espada Rara+0" type="1" subtype="0" weight="0" size="2" antiflag="32" flag="1" wearflag="16" immuneflag="0" gold="200" buy_price="300" limittype0="1" limitvalue0="90" limittype1="0" limitvalue1="0" applytype0="0" applyvalue0="0" applytype1="0" applyvalue1="0" applytype2="0" applyvalue2="0" value0="0" value1="210" value2="220" value3="230" value4="250" value5="0" socket0="65535" socket1="65535" socket2="65535" socket3="65535" socket4="65535" socket5="65535" refine_vnum="211" refine_set="911" magic_pct="15" specular="0" socket_pct="0" /> El generador para items nuevos(o sea, que no esten en la base de datos) Código: INSERT INTO item_proto VALUES (210, 'Espada Rara+0', 'Espada Rara+0', 1, 0, 0, 2, 32, 1, 16, 0, 200, 300, 211, 911, 0, 15, 1, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 220, 230, 250, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0); El generador para items existentes(que ya esta en la base de datos, solo les altera los valores) Código: UPDATE item_proto SET name='Espada Rara+0', locale_name='Espada Rara+0', type=1, subtype=0, weight=0, size=2, antiflag=32, flag=1, wearflag=16, immuneflag=0, gold=300, shop_buy_price=200, refined_vnum=211, refine_set=911, refine_set2=0, limittype0=1, limitvalue0=90, limittype1=0, limitvalue1=0, applytype0=0, applyvalue0=0, applytype1=0, applyvalue1=0, applytype2=0, applyvalue2=0, value0=0, value1=210, value2=220, value3=230, value4=250, value5=0, addon_type=0 WHERE vnum=210; Cabe destacar la explicación de los botones TABLA y ENTABLAR DATOS: TABLA: Al clickear este boton, lo que hace es que si por ejemplo necesitamos ver como será el valor de un ítem en +9, podemos tener una visualización de como será el ítem en +9. Basicamente es eso lo que nos ofrece. ENTABLAR DATOS: Nos permite poner como base el valor que está en TABLA. O sea, si por ejemplo necesitamos evolucionar algo, esto nos permite poner el valor de +9 de ese item como base en el item+0, o sea, para que el item +0 la evolución nueva tenga el valor de su anterior +9, esto ahorra mucho trabajo a la hora de tener que ir colocandolos manualmente. Y por último, esta el tipico Convertidor de archivos .xml a archivos .sql completo. Para los que les parezca muy tedioso estar convirtiendo uno a uno por el convertidor de arriba, solo deben de crear un archivo .xml, con todos los items que deseen que sean convertidos para que les genere el item_proto.sql de esos items que desean convertir y solo sera copiarlos y pegarlos en la base de datos, OJO les recuerdo que ese convertidor de Item_Proto tambien posee la posiblidad de cambiar los valores para los que posean todos los items existentes. Espero que les sirva, sobre todo en lo que he agregado como nuevo. LINK: 2SHARED http://www.2shared.c..._Converter.html MEDIAFIRE http://www.mediafire.com/?yytgj6xlum57lgw
    1 punto
  32. Te has pasado mucho con la publicidad, una cosa es poner un poco de publicidad pero tu te fuistes al extremo. Enlaces sin publicidad AVISO Chrome me decta el "vdi freebsd 12.1+ file + pagina web" Es posible que este archivo sea peligroso, por lo que Chrome lo ha bloqueado. cliente español sin patchupdate: https://drive.google.com/file/d/1EY62SyxUbg9F78cv1SUx1DEAh0UfdfeA/view cliente español con patchUpdate: https://drive.google.com/file/d/1cIUTCeVfDZlXS4g1QvxJznBTV8cRW2wo/view AVISO vdi freebsd 12.1+ file + pagina web lista para usar: http://www.mediafire.com/file/wr93olnq5rlhnkw/metin2max.rar/file cliente bestprodution v4 + patchUpdate: https://drive.google.com/file/d/1-W31SrLo33ejT5wtbK6htzKs4BaOwIRy/view vdi freebsd 9.2 + file +pagina web lista para usar: https://drive.google.com/file/d/1aj9LCjSrFhadzF7FF52gO85ZZpLJTPqv/view
    1 punto
  33. yankee360

    [Armas]Pack de +350

    veremos si sigue funcionado
    1 punto
  34. Agregar esto en player: coordenadas_pj.sql
    1 punto
  35. Aca se los dejo Descarga: http://www.file-uplo...eKiiR-.rar.html creditos:epvp
    1 punto
  36. Todos los paquetes de https://mega.nz/#!oUEVGRAZ!cHGm6fd9boae711uECBEuq06gABF5viEwSpYJUDh_vg https://www.dosyaupload.com/maqz (17.6,18.0,18.1) Actualización https://mega.nz/#!smJGkaYI!gvxayN0f-UY87fNXYKuPU4eENY0BVYlUMkMF6s2hP0M VT: metin2_patch_easter1 metin2_patch_luck metin2_patch_mail metin2_patch_xmas (17.6,18.0,18.1) Fecha de Toamasina pocos complementos https://mega.nz/#!GBhjkLbZ!CU1tB_6RrgsD-PkosOJl-MeKXlwD3q7tSIufoxCyFJY metin2_patch_commo la metin2_patch_etc_costume1 metin2_patch_etc metin2_patch_horse_sound metin2_patch_luck_sound 18.2 Actualización https://mega.nz/#!smJGkaYI!gvxayN0f-UY87fNXYKuPU4eENY0BVYlUMkMF6s2hP0M Packs : efecto icono CHF metin2_patch_catchking metin2_patch_commo la metin2_patch_costume_socc es metin2_patch_dawnmist_dungeo es sido metin2_patch_m metin2_patch_ramadan_costu a metin2_patch_weapon_summer_2018 metin2_patch_worldcup2018 raíz uiscript 18.2 actualización se incluye en la apertura completa abrió mafia paquete y el artículo en el proto-proto incluyendo https://mega.nz/#!GBhjkLbZ!CU1tB_6RrgsD-PkosOJl-MeKXlwD3q7tSIufoxCyFJY 18,3 DUNGEON ACTUALIZACIÓN HYDRA https://mega.nz/#!3VZQFaDK!NVhL94AjqSYor09FpNGV3sQ2EYVyWu1r7nlW83c4zdo 18.3b en varios idiomas y la categoría de tareas https://mega.nz/#!bMgTzTZI!0VTXQdIqZ8Yvxg-9nOCRJjr1sSMfcjBPAnCVSOMr1e8
    1 punto
  37. http://metin2mod.tk/?page_id=6
    1 punto
  38. - Descargar el vdi FreeBSD 9.2 Con Source - lo montáis y os metéis (user: root pass: dev) - Abrís el ftp y editáis el "Makefile" de /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src - en SVN_VERSION ponéis como queréis que se llame vuestra versión SVN_VERSION = 123456 - buscáis esto $(OBJDIR)/version.o: version.cpp @$(CC) $(CFLAGS) -D__USER__="$(USER)" -D__HOSTNAME__="$(HOSTNAME)" -D__PWD__="$(PWD)" -D__P4_VERSION__="$(P4_VERSION)" -c $< -o $@ @echo compile $< lo cambiáis por $(OBJDIR)/version.o: version.cpp @$(CC) $(CFLAGS) -D__P4_VERSION__="$(SVN_VERSION)" -c $< -o $@ @echo compile $< añadís debajo de LIBDIR += -L/usr/local/lib esto LIBDIR += -L/usr/local/lib/mysql - Dentro de /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src editáis el archivo "version.cpp" borrando lo que hay por #include <stdio.h> void WriteVersion(){#ifndef __WIN32__ FILE* fp = fopen("VERSION.txt", "w"); if (fp) { fprintf(fp, "game revision: 123456n"); fclose(fp); }#endif} - Volvemos a la consola y ponemos: cd /usr/src/mainline_released/mainline_sg/Srcs/Server/game/srcgmake -j20 (Ultimo y más dificil) - Esperar a que se compile esta es la base del source que tomó vanilla Grifo: piecemeal search in m2dev
    1 punto
  39. EzekielitohMercury

    [SET]Armaduras

    Hola Amigos Bueno Estaba Aburrido Y Decidi Aportar Estas Armaduras :3 *IMAGENES* En La Descarga Bienen Las Armaduras,Cascos Y Escudos Espero Que Les Guste Y Dejen Sus Gracias :3 *DESCARGA* https://mega.co.nz/#!o9QDEYJK!Jnt8nmjxBzyUbtqnFWpCVWPKObojkE9ClnZwNCyvj6E
    1 punto
  40. Compañero, no hace falta que crees 2 post para decir lo mismo, además, viendo algunas faltas gramaticales y ortográficas que tienes en tu post, no sé yo si merecerá la pena utilizar una traducción que esté mal escrita, no obstante, gracias por el aporte.
    1 punto
  41. Buenas, he visto que tenía este archivo por aquí la verdad no recuerdo ni de dónde lo saque, pero no está como lo descargué, tiene algunas cosillas añadidas y demás. Están todos en PNG. Son todos los iconos de las cosas implementadas en metin2. Sé que hay una database en liquiron, posteada por Serex, pero bueno, así ya los tienes descargados para entrenar tu mente cuando no tengas internet. Son 1510 iconos. https://mega.co.nz/#!eI9nyDAJ!bedYM27jQDjiITBZQWnh4VyiDo8TbPvhr6Q81R24n-A Saludos! EDIT: Link de mediafire, subido por BigWolf http://www.mediafire...v31524n6abcz5rd
    1 punto
  42. Buenas zoneros, a peticion de un usuario hace un par de dias haré una recopilacion de todas mis quests para metin2zone por si estais buscando alguna dellas y no la dais encontrado Recopilacion de Quests: * El Sistema de Logros [New] Sistema de Puntos Metin * Anillo teleporter * Sello de monturas (para una montura diferente para cada uso) * Sistema intermedio de mascotas * GM online * Item que da las habs a P * Quest de primer logeo en un servidor (equipo inicial) * NPC del reto de los demonios * Coins ingame con mysq actual Ire actualizando con quests que tengo hecho en las secciones de peticion y correcion de quests Y eso seria todo, espero que os sirvan
    1 punto
  43. Sir Lancelot

    [C++] Cambiar nombre PET

    Muy buenas chicos, estuve navegando por ahí y me encontre esto... lo cual me parece interesante ya que en el foro esta como quitar el nombre. Vamos a empezar: GAME: Busamos la siguiente linea en petsystem.cpp #include "item.h" Debajo de eso agregamos: #include "db.h" Luego de agregar eso vamos a buscar lo siguiente en el mismo cpp. void CPetActor::SetName(const char* name) Lo que van a hacer es reemplazar esa linea por esta: void CPetActor::SetName(const char* name) { std::string petName = m_pkOwner->GetName(); if (0 != m_pkOwner && 0 == name && 0 != m_pkOwner->GetName()) { petName += "'s Pet"; } else petName += name; char sorgu[512]; snprintf(sorgu, sizeof(sorgu), "SELECT name FROM pet_name WHERE id = %u", m_pkOwner->GetPlayerID()); std::auto_ptr<SQLMsg> cekgelsin( DBManager::instance().DirectQuery(sorgu) ); if (cekgelsin->Get()->uiNumRows != 0) { MYSQL_ROW row = mysql_fetch_row(cekgelsin->Get()->pSQLResult); char petad[CHARACTER_NAME_MAX_LEN + 1]; strlcpy(petad, row[0], sizeof(petad)); petName = petad; } if (true == IsSummoned()) m_pkChar->SetName(petName); m_name = petName; } Ya terminamos con petsystem.cpp, ahora nos vamos a questlua_pet.cpp y buscamos lo siguiente: #include "PetSystem.h" Debajo de eso agregamos: #include "db.h" Ahora buscamos dentro del mismo cpp la siguiente linea: int pet_spawn_effect(lua_State* L) Debajo de eso vamos a agregar las siguientes lineas: int pet_namever(lua_State* L) { LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr() ; if ( lua_isstring(L, 1) != true ) { lua_pushnumber(L, 1); return 1; } const char * szName = lua_tostring(L, 1); char sorgu[512]; snprintf(sorgu, sizeof(sorgu), "REPLACE INTO pet_name VALUES(%u, '%s')", ch->GetPlayerID(), szName); std::auto_ptr<SQLMsg> yolla( DBManager::instance().DirectQuery(sorgu) ); if (yolla->Get()->uiAffectedRows != 0) { lua_pushnumber(L, 3); return 3; } return 4; } Ahora buscamos lo siguiente en el mismo archivo: { "spawn_effect", pet_spawn_effect }, Debajo de esto agregamos lo siguiente: { "adver", pet_namever }, Ya terminamos de editar nuestro game, ahora toca la parte de NAVICAT: Debemos agregar esto en la parte de mysql (Navicat-->Query): DROP TABLE IF EXISTS `pet_name`; CREATE TABLE `pet_name` ( `id` int(11) NOT NULL DEFAULT '0', `name` varchar(24) CHARACTER SET utf8 COLLATE utf8_turkish_ci NOT NULL DEFAULT 'NONAME', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci; Ahora vamos a FTP y nos dirigimos a ques_functions a agregar las funciones necesarias para la quest que utiliza este sistema: pet.adver Recuerden que si pide otra función la deben agregar. Ahora toca la parte de quest: quest ademin begin state start begin when 71115.use begin say_title("yeni isim ver") local str = input() if str == "" or str == nill then say_title("Kutuyu bos birakma") return end if string.len(str) <= 0 or string.len(str) > 12 then say_title("isim en fazla 12 karakter olabilir") return end local tt = "%'" local ct = "%:" local nk = "%." local vg = "%," if string.find(str, tt) or string.find(str, ct) or string.find(str, nk) or string.find(str, vg) then say_title("ozel isaret kullanamazsin") return end local t = pet.adver(str) say_title("pet adi degistirildi. peti gonder") if t == 1 then say_title("kutuyu bos bırakma") return elseif t == 2 then say_title("12 karakteri gecme") return elseif t == 3 then say_title("isim degisti") end end end end Code: local tt = "%'" local ct = "%:" local nk = "%." local vg = "%," LINK de lo aportado: https://www.youtube.com/watch?v=drRh6VYcBH8 Bueno espero que les haya servido la GUIA . Saludos! PD: Fuente 4Metin
    1 punto
  44. Dilong

    Nuevo inventario

    Link: https://mega.nz/#!3FAFBTxZ!QWpRhgmZbyyOz2Q4FqKKNhMt4Xqm49vxfu20741H6Bw Fotos: Fuente: informetin2.ro Credito: Norry™
    1 punto
  45. Hola, les presento un sitio que se parece a la oficial. ¿Qué contiene? - Login - Regístrate - Páginas - Los 100 jugadores - Top 100 gremios - Recordar contraseña - Cambiar la contraseña - Recuerde - Código borrar cache. - Mis Personajes - Tienda de Items - Sistema de caché en mejores jugadores y mejores clanes. - Idioma: Rumano (lo siento) Imagenes: DESCARGA: http://www.multiupload.nl/NWZLQHBJPS PASS: www.tgc-team.com Creditos: Tgc-team Fuente: Inforge Saludos
    1 punto
  46. Hola queridos usuarios de Metin2Zone. Hoy os traigo una guia de como adaptar un arma del World Of Warcraft por ejemplo y usarla en vuestro Metin2. Bueno lo primero que tenéis que saber son los programas necesarios para hacer dicha adaptación. ·Recursos: - 3Ds Max 2007. - World Of Warcraft Cliente. - World Of Warcraft Model Viewer. - Plugin Export GR2 Para 3Ds Max 2007. - GR2 to Mesh. ·Descarga de recursos: - 3Ds Max 2007 - Cliente World Of Warcraft - World Of Warcraft Model Viewer 32Bits / 64Bits - Plugin Exportar GR2 para 3Ds Max 2007 - GR2 to Mesh Teniendo todo esto solo tendríamos que instalar el World Of Warcraft. La instalación puede demorar varias horas. Instalamos el World Of Warcraft Model Viewer y se guardara predeterminadamente en 'C:\Program Files\World Of Warcraft Model Viewer' Al dirigirnos a la ruta del model viewer podemos abrir el .exe llamado 'WowModelViewer32' al abrirlo le damos todo a 'Si' en lo que nos aparezca y se cargara automáticamente la base de datos del World Of Warcraft (Para esta parte hace falta tener el World Of Warcraft instalado y actualizado). Ahora el 3Ds max lo instalan. Descomprimimos el archivo Plugins y la carpeta la pasamos a la raíz del 3Ds MAX 2007. Después de todo esto podremos comenzar con la guía. 1º Paso: Exportar cosas del World Of Warcraft Model Viewer. Lo primero de todo esto es abrir el Model Viewer del World Of Warcraft. Al abrir el Model Viewer y si ya tenemos el World Of Warcraft instalado nos aparecerá el programa y primero una ventana y le damos a 'Si' luego a 'Aceptar' y tendremos la Base de datos cargada. Para las armas nos vamos a 'Item' luego a 'Objectcomponents' y finalmente a 'Weapons' y escogemos un arma para nuestro metin. Asi como muestro en la imagen. Para exportar le dais a File -> Export Model -> Wavefront OBJ. [El arma que se muestra en la imagen en la base de datos se llama 'sword_1h_raid_d_03'] 2º Paso: Sacar modelo de arma Metin2 para adaptar el arma del World Of Warcraft. Descargamos el GR2 to Mesh y arrastramos ahi un GR2 de un arma del Metin2. Por ejemplo el de un arma del nivel 1 (00010.gr2) lo ponemos en la carpeta del GR2 to Mesh. Y arrastramos el GR2 a 'grnreader' y aparecerán 3 ventanas es cuestion de darle 'Si' a las tres ventanas.Despues de este paso ya tendremos el 00010.GR2.ms y ese archivo lo arrastramos hasta el 3Ds Max. Asi ya tendremos un modelo fijo para adaptar el arma con la medida correcta. Asi se vera en el 3Ds Max 2007, aqui la imagen de muestra. [El arma que se muestra en la imagen no es la espada del nivel 1 (00010.gr2.ms) si no otra que ya tiene guardada] 3º Paso: Adaptacion del modelo del World Of Warcraft al Modelo de Metin2. Lo primero de todo al tener el arma del World Of Warcraft que extrajimos antes la arrastramos al 3Ds Max 2007 saldrá girada mal. Lo primero es poner el arma recta. Para eso cogéis la herramienta que esta en el menú de arriba. Luego de ponerla recta lo siguiente es aumentarle el tamaño al tamaño del Modelo del Metin, pues muy fácil. Cogéis la herramienta que también esta en el menú de arriba y es ir aumentando hasta que del mismo tamaño que el arma del Metin. Bueno ahora es eliminar el modelo del Metin el verde de arriba para eso escogemos la herramienta que también esta en el menú de arriba y seleccionáis la capa de 'Object01' y le dais a 'Select' y luego a la tecla 'Delete/Suprimir' ahora ya quedara el arma solamente. Solamente queda centrar el arma para eso vamos al cuadro de arriba a la izquierda (Como os habréis dado cuenta ahí 4 Cuadros distintos cada uno una perspectiva diferente para ver el arma) en el de arriba a la izquierda ponéis el arma en esta posicion. Que las lineas queden en linea con las negras. Se puede mover el arma con esta herramienta que esta ubicada en el menú de arriba. Aquí una imagen de como tiene que quedar el arma. NOTA: Para añadirle la textura a un arma solo es necesario arrastrar la textura (TGA/DDS o cualquier archivo de imagen). Para que a los usuarios se les vea con textura dentro de el juego el arma tiene que tener de ruta 'D:\Ymir Work\Item\Weapon'. Bueno eso es todo, espero que le haya gustado la guía y que pronto puedan tener armas únicas en su servidor, gracias y buena suerte. Guia oficial Metin2Zone Att. Strach
    1 punto
  47. Bueno les dejo la descripción y descarga de los nuevos pet o mascotas y de que se trata no esta completo pero por algo se empieza Querida comunidad: La versión 15.5 contiene un nuevo sistema de mascotas. Podréis conseguir huevos especiales de algunos jefes y monstruos del juego. Si los cuidáis y los alimentáis, obtendréis como recompensa una mascota que os acompañará en vuestra jornada. ¡Estas mascotas se pueden subir de nivel y se puede entrenar! Con la versión 15.5 la primera de las 4 mascotas existentes será implementada, esta mascota aparecerá como un pequeño avatar de un jefe del juego. Cuando se alimenta la mascota se puede mejorar entre nivel 40 y 80. Si vuestra mascota llega al nivel valiente, comenzará el entrenamiento del nivel heroe. Desde ese momento, podéis leer a vuestra mascota libros de habilidades de mascotas para tener un aliado más fuerte. Una mascota puede llegar a tener 3 habilidades, pasivas y activas, para ayudaros en batalla. Podréis coleccionar tantas mascotas como espacios en el inventario tengáis. Podréis incluso tener mascotas del sistema antiguo activas con las mascotas de este nuevo sistema. Decsarga:https://mega.co.nz/#!WdNEVYaI!XXqFd65yRWIt-67le_1f-Y0Xuquxf1PvCR11gaf9yv4 Para implementarlo root/npc.list RaceManager.cpp void __GetRaceResourcePathes(unsigned race, std::vector <std::string>& vec_stPathes) { if (__IsGuildRace(race)) { vec_stPathes.push_back ("d:/ymir work/guild/"); vec_stPathes.push_back ("d:/ymir work/npc/"); vec_stPathes.push_back ("d:/ymir work/npc2/"); vec_stPathes.push_back("d:/ymir work/mount/"); vec_stPathes.push_back("d:/ymir work/monster/"); vec_stPathes.push_back("d:/ymir work/monster2/"); } else if (__IsNPCRace(race)) { if (race >= 30000) { vec_stPathes.push_back ("d:/ymir work/npc2/"); vec_stPathes.push_back ("d:/ymir work/npc/"); vec_stPathes.push_back ("d:/ymir work/guild/"); vec_stPathes.push_back("d:/ymir work/monster/"); vec_stPathes.push_back("d:/ymir work/monster2/"); //Pet Ordner hinzugefügt vec_stPathes.push_back("d:/ymir work/pet/"); vec_stPathes.push_back("d:/ymir work/mount/"); } else { vec_stPathes.push_back ("d:/ymir work/npc/"); vec_stPathes.push_back ("d:/ymir work/npc2/"); vec_stPathes.push_back ("d:/ymir work/guild/"); vec_stPathes.push_back("d:/ymir work/monster/"); vec_stPathes.push_back("d:/ymir work/monster2/"); //Pet Ordner hinzugefügt vec_stPathes.push_back("d:/ymir work/pet/"); vec_stPathes.push_back("d:/ymir work/mount/"); } } 0 monkey_young2 monkey_young1 0 spider_redpoison_young2 spider_redpoison_young1 0 yamachun_young2 yamachun_young1 0 hanma_young2 hanma_young1 34041 monkey_young1 34042 monkey_young2 34045 spider_redpoison_young1 34046 spider_redpoison_young2 34049 yamachun_young1 34050 yamachun_young2 34053 hanma_young1 34054 hanma_young2
    1 punto
  48. Dragonslayer

    [GUIA]Source

    Si puse yo uno. http://metin2dev.org...rc-compileable/ Link: MEGA Login: root Pw: dev
    1 punto
  49. Serex

    INSTALACION - INSTALL

    portsnap fetch extract cd /usr/ports/databases/mysql55-server/ && make install clean Pulsar OK en todas las ventanas Press OK on all windows echo 'mysql_enable="YES"' >> /etc/rc.conf cd / && fetch http://178.33.173.196/s/libs.tgz fetch ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/9.3-RELEASE/lib32.txz tar xzvf libs.tgz tar xzvf lib32.txz cd /usr/ports/misc/compat7x/ && make install clean Subir tus archivos y descomprimirlos. Upload your files and decompress. chown -R mysql /var/db/mysql && chgrp -R mysql /var/db/mysql pwd_mkdb -p /etc/master.passwd reboot
    1 punto
  50. Buenas zoneros! Despues de unas pequeñas ( :menti: ) vacaciones sin hacer ningún capítulo vuelvo a la carga cn el curso de creación de quests. El capítulo de hoy es especial, ya que no sigue el recorrido que estamos haciendo raul y yo a la hora de enseñaros a hacer quests de metin2. Os hemos estado enseñando qué es una quest, como se estructura, cuales son los elementos que la forman, etc pero nos faltaba contaros un poco sobre las acciones que realiza una quest. Por lo tanto esta vez os explicaré como se utilizan unas cuantas funciones que usareis con mucha frecuencia mientras hagais quests básicas de metin2. Antes de nada: Qué es una función en una quest? Como tengo dicho en este curso: Por lo tanto: Una funcion es una accion que se desarrolla en una quest. Si lo pensais de esta manera, los otros elementos de una quest son como preposiciones, adverbios, etc que ayudan a enlazar o condicionar las funciones: que son como los verbos dentro del lenguaje de las quests (si os fijais la funcion say es como pensar en el verbo decir). En la lengua hay muchos verbos, hay muchas funciones de las quests tambien?? Por supuesto! La cantidad de funciones que nos permite utilizar un game de metin2 es enorme, y es como la tabla periódica de los elementos: os puede acojonar diciendo que hay que saberselos todos, pero no es necesario saberselos todos, sino entender como funcionan (saberse unos cuantos claros) y mediante la práctica y la revision de otras quests aprender a utilizarlos. Y cuando estoi haciendo una quest que funcion debo usar?? Eso depende de la quest, si tu quieres hacer una quest en la que un npc te habla pues usarás la funcion say, si quieres dar un item a un personaje utilizarás la funcion pc.give_item2, etc Cada quest es un mundo, pero vereis que hay una serie de funciones que se suelen utilizar con mas frecuencia. Por lo tanto, me dejo de explicaciones y vamos al rollo Funciones habituales y como utlizarlas: Funciones numero 1 - Say , chat y notice_all: La que para mi es la funcion más utilizada de todas es la funcion: say Esta funcion nos permite que el personaje que está jugando a nuestro servidor vea un diálogo en su pantalla, ya sea un diálogo empezado por un item, por un npc, en un momento concreto (logeandote, siendo cierto nivel, entrado a cierto mapa...). El funcionamiento básico de la funcion say es el siguiente: say("Texto") Como veis ponemos la funcion say, luego abrimos un partentesis y entre " " ponemos el texto que queremos que se vea en el juego. Ojo! Si se os cuela alguno de los " " al principio o al final del texto, la quest no irá correctamente. Cada vez que que pongais otro say os pondra la nueva linea debajo de la anterior, es decir: say("Hola keko") say("estas enseñando a usar el say") Este texto tendra 2 lineas, la primera dirá: hola keko, y la segunda estará justo debajo de la primera y dirá: estas enseñando a usar el say. Un pequeño detalle: cuando usamos un say es como cuando escribimos en una libreta, no podemos escribir infinitamente, sino que cada linea tiene una cantidad de letras en las que pasa a la siguiente linea aunque no pongamos otro say. Lo bueno es que el zonero Elite ha compartido un archivo para el root de vuestro cliente que os permite alagar ese número de palabras, y aqui lo teneis en el spoiler por si quereis ponerlo en vuestro cliente, si no tened en cuenta que muchas palabras en un say harán que se escriban en varias lineas. Ahora otro detalle: si queremos dejar una linea en blanco (seria como darle a enter si escribieramos normal) simplemente tendreis que poner un say sin nada dentro, de esta manera: say("") Es algo que yo os aconsejo como creador de quests, ya que quedan mucho mas ordenado un diálogo con espacios entre párrafos, y aunque puedes ponerlo todo seguido siempre queda más bonito esteticamente. Otra cosa a tener en cuenta es que hay varios tipos de says, que son los siguientes: say_title("Curso de quests: Capitulo especial") - El say_title nos permite escribir (como dice su nombre) el título de un diálogo, que se distingue porque sale de color blanco en la quest. say_reward("Enseña a metin2zone como usar el say") - El say_reward significa literalmente que es un say para una recompensa, y si lo ponemos en nuestra quests se verá de un color mas oscuro que el resto del diálogo. say_red("Metin2Zone curso de quests") say_blue("Metin2Zone curso de quests") say_yellow("Metin2Zone curso de quests") - El say_color se utiliza si antes habías añadido al questlib de vuestro servidor la libreria de BlackYuko que hace que las funciones say_red/blue/green/etc enlacen con la funcion que permite cambiar el color de un say y así poder ver en nuestros diálogos lineas de diferentes colores. En el spoiler teneis el post de BlackYuko por si quereis usar says en colores. Por último, puede haber casos en los que querais mostrar una variable en un say (el siguiente capi habla sobre las variables no os preocupeis si no os enterais mucho) lo hareis de la siguiente manera: say("Hola, me llamo "..pc.get_name().."") Como veis, para mostrar la variable del nombre teneis que ponerlo entre ".. .." con la funcion que quieres mostrar como texto entre ellos. La funcion chat funciona igual que la funcion say, pero simplemente os saldrá el dialogo escrito en la barra de chat en vez de una ventana. chat("Hola") Por ultimo otra funcion muy comun es la de notice_all("Texto"), que escribira el dialogo como si un gm hablara poniendo /n notice_all("Tonto el que lo lea") Esta funcion tiene una variante que es notice_in_map, que no se utiliza mucho pero que hace lo mismo que un notice_all pero solo en el mapa en el se activa el dialogo. quest ejemplo begin state start begin when 70045.use with pc.get_map_index() == 103 begin notice_in_map("los que esteis en este mapa me leereis") end end end Os habreis quedado pensando: tanto rollo para aprender a usar el say??? Pues sí, por mucho que parezca la funcion más básica tiene sus detalles que es bueno saber para utlizarla lo mejor posible. Funciones numero 2 : Los pc.algo En la ultima parte de la explicacion del say os habreis fijado (espero) que he usado la funcion pc.get_name() para explicaros como mostrar eso en una quest. Pues hay una serie de funciones que afectan al personaje al que va encaminada la quest: ya sea para cojer información del jugador al que afectan, para poner una condicion al personaje, o para añadir algo informacion al personaje. Esta serie de funciones son las que llamaremos pc.algo y son muy variadas (asi que solo os contaré como funcionan algunas que usareis habitualmente) - pc.get_name() , pc.get_level() , pc.get_empire() , pc.get_map_index() , pc.get_hp() , pc.get_sp() , pc.get_exp() , pc.get_job() , pc.get_sex() , pc.get_local_x , pc.get_local_y , etc : Cada una de estas funciones nos proporciona informacion del personaje al que afectan y en el orden en el que están: nos dan su nombre, nivel, reino, mapa en que esta, cantidad de hp, cantidad de sp, de exp, profesion (cuerpo/magia negra, etc) , sexo , cordes x en la que se encuentra y cordes y en las que se encuentra. Para usarlas simplemente debereis escribirlas asi como las puse. Ojo! No os olvideis nunca del parentesis en funciones que lo necesitan, o no funcionaŕan (pc.get_map_index == 240 esta mal escrito, tiene que ser pc.get_map_index() == 240). Se utiliza para 2 cosas: comparar el nivel del pj con el nivel que queramos a la hora de hacer una condicion, o para mostrarlo en un diálogo (recordad que es entre ".. .." en el segundo caso). Veamos ejemplos de algunas de ellas. quest nombre begin state start begin when login with pc.get_hp() <= 0 begin chat("jajajajaja estas muerto") end end end quest nombre2 begin state start begin when login begin chat("Bienvenido al servidor "..pc.get_name()..", que lo pases bien") end end end quest item begin state start begin when item.use begin if pc.get_empire() == 1 then notice_all("Soi del reino shinsoo") elseif pc.get_empire() == 2 then notice_all("Soi del reino chunjoo") elseif pc.get_empire() == 3 then notice_all("Soi del reino jinno") end end end end quest exp begin state start begin when login with pc.get_exp() < 0 begin local exppj = pc.get_exp() chat("Anda tienes exp negativa") chat("te la pondre en 0 otra vez") pc.give_exp2(-exppj) end end end quest nivel begin state start begin when levelup begin chat("Has subido a nivel "..pc.get_level()..", enorabuena") end end end Bien creo que ya os haceis una idea de como va la cosa, pasemos a otras funciones del tipo pc.algo muy utilizadas: - pc.give_item2("iditem" , cantidad) , pc.remove_item("iditem", cantidad) , pc.count_item("iditem", cantidad) : Otras de las funciones mas utlizadas de todas. Estas funcione nos permite dar un objeto, quitar un objeto o comprobar si tiene un objeto el jugador al que afecte la quest. La forma de escribir esta funcion es la que pongo ahi: especificando en el parentesis la id del item y la cantidad del mismo. Veamos algunos ejemplos: quest toma begin state start begin when 20095.chat."Regalitooo" begin say("Hola feo, quieres un item?") say("") local regalo = select ("Si" , "No") if regalo == 1 then pc.give_item2("27003", 200) -- aqui esta el que nos interesa chat("toma potas!") elseif regalo == 2 then return end end end end quest curso begin state start begin when 70044.use begin pc.give_item2("71042", 1) pc.remove_item("70044", 1) end end end quest hola begin state start begin when 20095.chat."Condiciones" begin if pc.count_item("27003") < 200 then say("Vaya no tienes lo que quiero") say("vente otro dia") return end say("Yupi tienes mis potas!") say("me las quedo y te doi unas peores muajaja") pc.remove_item("27003", 200) pc.give_item2("27002", 200) end end end Vamos con otras funcion muy habituales: - pc.warp(cordesx , cordesy) : Esta funcion nos permite llevar a un personaje a unas cordes concretas, que debemos especificar en el parentesis, poniendo al final de las cordes los dos ceros tipicos de un atlasinfo. quest porterdemano begin state start begin when 70045.use begin say_title("Porter") say("") say("Nos vamos a otro mapa?") local port = select ("Vale" , "Paso") if port == 1 then pc.warp(510400 , 408800) elseif port == 2 then return end end end end - pc.mount(idmontura, tiempo) : Esta funcion os servira para montar al personaje en un mob (que se suele ser uno que se pueda montar xd). Debemos poner en el parentesis la id de la montura y el tiempo que queremos que esté montado. Nota: el tiempo se puede escribir en segundos o multiplicando. Si lo hacemos en segundos pues ponemos por ejemplo 60 y durará un minuto, y si lo hacemos multiplicando 60*5 son 5 minutos, 60*60*5 son cinco horas y así. quest montura begin state start begin when 70044.use begin pc.mount(20110, 60*30) pc.remove_item("70044" , 1) end end end - pc.change_money(cantidad) y pc.give_exp2(cantidad): Estas dos funciones os sirven para dar yang (change_money) o exp a un personaje (give_exp2). Para usarlas simplemente debeis poner entre el parentesis la cantidad de yang o exp que quereis dar al personaje quest famoso begin state start begin when 20094.chat."Soi famoso" begin say_title("La fama") say("") say("Si quieres hablarme") say("tendras que darme 500k") local fama = select ("Lo hare" , "Paso") if fama == 1 then pc.change_money(-500000) say("Ala, ya hablaste conmigo") elseif fama == 2 then return end end end end quest expmas begin state start begin when 70042.use begin pc.give_exp2(100000) pc.remove_item("70042", 1) chat("Toma exp!") end end end - pc.is_gm() , pc.is_dead() , pc.is_guild_master() , pc.is_polimorphed() : Este tipo de funciones os permiten que tenga lugar la accion si el personaje cumple lo que dice la funcion, como puede ser ser gm, estar muerto, ser jefe de gremio, estar polimorfado, etc quest gm begin state start begin when login with pc.is_gm() begin chat("Bienvenido a tu servidor gm") end end end quest caballo begin state start begin when 70045.use begin if pc.is_polymorphed() then chat("No puedes montarte a una montura polimorfado") return end pc.mount("20111", 60*60*60*60*5) end end end Y por supuesto hay muchas mas funciones que afectan a un personaje, pero tendreis que ir descubriendolas y probandolas :yaoming: , yo solo os dire algunas. 3 - Funciones varias: Veamos ahora algunas funciones que no son diálogos ni pc.algo: - mob.spawn(mob, cordesx, cordesy, cantidad) : Con esta funcion podreis invocar un mob en el mapa en el que os encontreis en unas cordes concretas. Para usarla ponemos la id del mob, las cordes x, las cordes y y la cantidad de ese mob. quest itemmaldito begin state start begin when 70042.use begin chat("Ha aparecido un monstruo en el mapa") mob.spawn(1903, 340, 250, 1) pc.remove_item("70042" , 1) end end end - affect.add_collect(apply.bonus,cantidad,tiempo) y affect.remove_collect(apply.bonus,cantidad,tiempo): Estas dos funciones os permiten dar un bonus a un personaje, durante un tiempo determinado y quitarselo. Para usarlas pondremos en el parentesis el nombre que el bonus tiene en la tabla item_attr o item_attr_rare del navicat, la cantidad, y el tiempo (como explique antes) que durará. Si quereis que deje de tener efecto el bonus antes del tiempo estipulado pondreis la funcion igual pero con affect.remove en vez de affect.add. quest fuerza begin state start begin when 70072.use begin affect.add_collect(apply, ATT_SPEED, 15, 60*15) chat("Has ganado 15% de velocidad de ataque") chat("durante media hora, aprovechala") end end end - horse.summon() , horse.unsummon(), horse.set_level("nivel") , horse.advance() , horse.ride(), etc: Las funciones tipicas de un caballo, como son las de invocarlo, mandarlo al establo, subirlo a un nivel concreto , subirlo un nivel o montar el caballo. La funcion de ponerle un nivel debe llevarlo en el parentesis: quest librocaballo begin state start begin when 50053.use begin horse.summon() horse.ride() end end end - pc.setqf y pc.getqf, game.set_event_flag y game.get_event_flag : Estas 4 funciones son muy comunes pero tendrán sus capítulos aparte explicando su funcionamiento. Como veis hay muchisimas funciones y aqui solo os he explicado unas pocas, si quereis saber todas las que hay yo suelo mirarlo en este post: Y bueno eso es todo amigos!! El mundo de las quest se os va desvelando cada vez más, espero que ahora ya podais hacer mejor vuestras quests y preparaos porque va a haber un examen!! :trolldad: Y por terminar, recordad!! :pokerface:
    1 punto
Esta clasificación está establecida en Madrid/GMT+02:00
×
×
  • Crear nuevo...