Jump to content

VIKSANT

Miembro
  • Contador contenido

    12
  • Ingreso

  • Última visita

Actividad de reputación

  1. Me Gusta
    VIKSANT got a reaction from Movi DEA in SF MartySama 4.9.89 r88   
    Buenas:
    He instalado e iniciado el server correctamente, pero implemento una quest, todo bien, la compilo pero no me funciona ninguna.
    Elimino todas las quests, y siguen alli. He probado de todo, cual creen que pueda ser el error? Un saludo
     
  2. Me Gusta
    VIKSANT got a reaction from Only4Fun in SF MartySama 4.9.89 r88   
    Buenas:
    He instalado e iniciado el server correctamente, pero implemento una quest, todo bien, la compilo pero no me funciona ninguna.
    Elimino todas las quests, y siguen alli. He probado de todo, cual creen que pueda ser el error? Un saludo
     
  3. Me Gusta
    VIKSANT got a reaction from santos2002 in SF MartySama 4.9.89 r88   
    Buenas:
    He instalado e iniciado el server correctamente, pero implemento una quest, todo bien, la compilo pero no me funciona ninguna.
    Elimino todas las quests, y siguen alli. He probado de todo, cual creen que pueda ser el error? Un saludo
     
  4. Me Gusta
    VIKSANT reacted to XhebasT1an in VDI con freeebsd 11.4 gcc8 mysql 5.5   
    Para los que andan buscando VDI con estas características.
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación. Usuario: root
    pass:  mt2zone
     
    bsdconfig para cambiar la ip
     
  5. Me Gusta
    VIKSANT reacted to leo2993 in [C++] Compilación de binario 40k metin2   
    Compilación del binario 40K
     
    Introducción
    Bienvenidos a aquellos que les gusta y les interesa el tema de metin2 a fondo. Esta guía la hago especialmente para ellos y con el fin de facilitar conocimiento ya que a veces el don de búsqueda nos falla o no conseguimos encontrarlo. El nivel necesario para esto será: PRINCIPIANTE. Esta guía no es para aquellos que saben del tema en profundidad. Dicho esto, empecemos a introducir... ¿Qué haremos?      
    Instalar Visual Studio 2013. Descargar los archivos del binario. Compilar. Probar.  
    Características del cliente:
    Hay que aclarar que lo que aquí ofrezco es gracias a alguien que vino antes y dejo el trabajo a medias. Su nombre es Reboot y es un ex-usuario de Metin2Dev.
    Versión de python actualizada de 2.2 a 2.7 [hecho por mi].
      All mount can attack // todas las monturas pueden atacar.
      All toolset set to v120_xp (Windows xp compatibility)  include source files of the client and library, all set to v120)xp toolset.
      ENABLE_COSTUME_SYSTEM // sistemas de traje
      ENABLE_ENERGY_SYSTEM // sistema de energia
      ENABLE_DRAGON_SOUL_SYSTEM //
      ENABLE_BELT_SYSTEM // CINTURONES
      Cryptopp 5.6.2
      boost 1.55  
     
    Cliente recomendado: Test Client für 40250. Debes iniciar sesión para ver el contenido del enlace en esta publicación.. (VIENE YA PREPARADO POR MI PARA EL BINARIO)
    [LLEVA INCORPORADO EL NEXUS -> DESCOMPILADOR/COMPILADOR DE CLIENTE (EN LA CARPETA PACK)]
    El cliente este en Alemán. Posiblemente pronto suba alguna traducción del cliente para que lo podáis utilizar en español aunque ya haya guías de como traducirlo.
     
    Hay que tener en cuenta que esta guía esta hecha hasta el punto de compilar y tener el ejecutable, NO SOLUCIONAR BUGS QUE PUEDAN APARECER.
     
    Primer punto
     
    La descarga del Visual Studio 2013 la encontraremos en este enlace directo:
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    Nota: en la instalación sólo nos dedicamos en hacer click en "siguiente" no modificar valores predeterminados.
     



     
     
    Segundo punto
     
    Los archivos del binario los encontraremos en el enlace de Mega:
    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.  
     
    Tercer punto
    Nota: Cualquier modificación en el source del cliente se tendrá que realizar previo a la compilación.
    ABRIMOS EL ARCHIVO CLIENT.SLN CON VISUAL STUDIO Y EN MODO LE ASIGNAMOS RELEASE, APRETAMOS CTRL + SHIFT + B Y ESPERAMOS QUE COMPILE, EL BINARIO ESTARÁ EN LA CARPETA BINARY DONDE DESCOMPRIMIMOS EL RAR DE LOS ARCHIVOS DEL CLIENTE. (En los pasos en fotos utilizo solamente el ratón y ninguna combinación de tecla sino que abro menús y ya.)
     
     
    PASOS EN FOTOS...
     
     

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



     
    4. PROBEMOS...
     

    Nota: El cliente debe tener las librerías de Python 2.7 (el cliente preparado no le hace falta)
    Si utilizáis otros cliente deberíais bajaros la carpeta "lib" de la raíz del cliente que deberéis tener para correr el binario:
    Debes iniciar sesión para ver el contenido del enlace en esta publicación..  
     
    Y HASTA AQUI LA GUÍA.
     
     
     
    Especiales agradecimientos a los autores de dicho trabajo como Reboot y Debes iniciar sesión para ver el contenido del enlace en esta publicación..
     
    Y por último vuelvo a recalcar que el trabajo en su 99% no esta hecho por mi. Yo sólo intento aportar a la comunidad una manera fácil de compilar el binario sin dolores y dolores de cabeza que yo sufrí en mi tiempo para alcanzar conocimiento. Tampoco quiere decir que todo es regalado, habrán errores/bugs que puedan aparecer después de esto incluso con el cliente que os recomiendo pero como siempre, mi consejo es que nunca os rindáis. Un cordial saludo a todos y todas de esta comunidad.
     
    Y por último, recordar que si encontráis cualquier bug o error que se me haya pasado por alto o surja de imprevisto no dudéis en dejármelo en la caja de comentarios ! ! !
     
     
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
     
     
  6. Me Gusta
    VIKSANT got a reaction from Marcos Pinheiro in SF MartySama 4.9.89 r88   
    Buenas:
    He instalado e iniciado el server correctamente, pero implemento una quest, todo bien, la compilo pero no me funciona ninguna.
    Elimino todas las quests, y siguen alli. He probado de todo, cual creen que pueda ser el error? Un saludo
     
  7. Me Gusta
    VIKSANT got a reaction from zhas77 in SF MartySama 4.9.89 r88   
    Buenas:
    He instalado e iniciado el server correctamente, pero implemento una quest, todo bien, la compilo pero no me funciona ninguna.
    Elimino todas las quests, y siguen alli. He probado de todo, cual creen que pueda ser el error? Un saludo
     
  8. Me Gusta
    VIKSANT reacted to [D]ELARO ✓ in Server Files MartySama 5.3*   
    Estos Files estan en turkmmo asi que no creo que infrinja ninguna regla ya que están posteados en otros foros.
    Los Files son MartySama y según el post son la versión 5.3 ya trabajados, no esta confirmado que lo sean ya que normalmente los quitan por que ellos los venden :v , contienen sistema pet oficial, tienda offline de Great, monturas funcionando correctamente y no se que mas sistemas tiene, son la mejor base que haya al momento según el foro y otros lados son los mas robustos, les dejo imágenes de referencia, el locale_inc y el service o define de los Files.
    Cabe mencionar que ya los probé y funcionan sin problemas, puede tener multi lenguaje por lo menos en cliente pero seria cosas de ustedes hacer esa tarea titanica xd, yo añadí español solo de prueba y funciono :v
    ID de BSD: root
    Contraseña de BSD: turkmmo
    Mysql: no hay informacion pero en un comentario les dejo la forma facil de cambiar la contraseña.
     
    Locale_inc
    #pragma once ////////////////////////////////////////////////////////////////////////// // ### Default Ymir Macros ### #define LOCALE_SERVICE_EUROPE #define ENABLE_COSTUME_SYSTEM #define ENABLE_ENERGY_SYSTEM #define ENABLE_DRAGON_SOUL_SYSTEM #define ENABLE_NEW_EQUIPMENT_SYSTEM // ### Default Ymir Macros ### ////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// // ### New From LocaleInc ### #define ENABLE_PACK_GET_CHECK #define ENABLE_CANSEEHIDDENTHING_FOR_GM #define ENABLE_PROTOSTRUCT_AUTODETECT #define ENABLE_PLAYER_PER_ACCOUNT5 #define ENABLE_LEVEL_IN_TRADE #define ENABLE_DICE_SYSTEM #define ENABLE_EXTEND_INVEN_SYSTEM #define ENABLE_LVL115_ARMOR_EFFECT #define ENABLE_SLOT_WINDOW_EX #define ENABLE_TEXT_LEVEL_REFRESH #define ENABLE_USE_COSTUME_ATTR #define WJ_SHOW_MOB_INFO #ifdef WJ_SHOW_MOB_INFO #define ENABLE_SHOW_MOBAIFLAG #define ENABLE_SHOW_MOBLEVEL #endif // ### New From LocaleInc ### ////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// // ### From GameLib ### #define ENABLE_WOLFMAN_CHARACTER // #define ENABLE_MAGIC_REDUCTION_SYSTEM #define ENABLE_MOUNT_COSTUME_SYSTEM #define ENABLE_WEAPON_COSTUME_SYSTEM // ### From GameLib ### ////////////////////////////////////////////////////////////////////////// /* ### New System Defines - Extended Version ### */ // if is define ENABLE_ACCE_SYSTEM the players can use shoulder sash // if you want to use object scaling function you must defined ENABLE_OBJ_SCALLING #define ENABLE_ACCE_SYSTEM #define ENABLE_OBJ_SCALLING // if you want use SetMouseWheelScrollEvent or you want use mouse wheel to move the scrollbar #define ENABLE_MOUSEWHEEL_EVENT //if you want to see highlighted a new item when dropped or when exchanged #define ENABLE_HIGHLIGHT_NEW_ITEM // it shows emojis in the textlines #define ENABLE_EMOJI_SYSTEM #define ENABLE_NEW_PET_SYSTEM //Tr Levelli Pet Sistemi #define ENABLE_PET_ATTR_DETERMINE //Tr Yeni Pet Güncellemesi #define ENABLE_NEW_PET_SYSTEM_FEED //Lvlli Pet Mama Sistemi #define ENABLE_CONQUEROR_LEVEL #define ENABLE_DISCORD_RPC #define ENABLE_DETAILS_UI #define BL_PRIVATESHOP_SEARCH_SYSTEM #define ENABLE_EXTRA_APPLY_BONUS // Yeni Bonuslar Modulu #define ENABLE_ELEMENTAL_APPLY_BONUS // Elemental Bonuslar Modulu #define ENABLE_OFFLINE_SHOP // Offline Shop System; #define __LOADING_TIP__ #define ENABLE_QUEST_RENEWAL // Quest page renewal #define ENABLE_OFFICAL_CHARACTER_SCREEN //Tr Karakter Seçme Ekranı #define ENABLE_CHEQUE_SYSTEM #define ENABLE_OFFLINE_SHOP_USE_CHEQUE /* ### New Debugging Defines */ // #define ENABLE_PRINT_RECV_PACKET_DEBUG Service o Define de game
    #ifndef __INC_METIN2_COMMON_DEFINES_H__ #define __INC_METIN2_COMMON_DEFINES_H__ #define ENABLE_QUEST_CATEGORY #define ENABLE_D_NJGUILD #define ENABLE_FULL_NOTICE #define ENABLE_NEWSTUFF #define ENABLE_PORT_SECURITY #define ENABLE_BELT_INVENTORY_EX #define ENABLE_CMD_WARP_IN_DUNGEON // #define ENABLE_ITEM_ATTR_COSTUME // #define ENABLE_SEQUENCE_SYSTEM enum eCommonDefines { MAP_ALLOW_LIMIT = 32, // 32 default }; #define ENABLE_WOLFMAN_CHARACTER #ifdef ENABLE_WOLFMAN_CHARACTER #define USE_MOB_BLEEDING_AS_POISON #define USE_MOB_CLAW_AS_DAGGER // #define USE_ITEM_BLEEDING_AS_POISON // #define USE_ITEM_CLAW_AS_DAGGER #define USE_WOLFMAN_STONES #define USE_WOLFMAN_BOOKS #endif #define ENABLE_PLAYER_PER_ACCOUNT5 #define ENABLE_DICE_SYSTEM #define ENABLE_EXTEND_INVEN_SYSTEM #define ENABLE_MOUNT_COSTUME_SYSTEM #define ENABLE_WEAPON_COSTUME_SYSTEM // #define ENABLE_MAGIC_REDUCTION_SYSTEM #ifdef ENABLE_MAGIC_REDUCTION_SYSTEM // #define USE_MAGIC_REDUCTION_STONES #endif #define DISABLE_STOP_RIDING_WHEN_DIE // if DISABLE_TOP_RIDING_WHEN_DIE is defined , the player does not lose the horse after his death #define ENABLE_ACCE_SYSTEM //fixed version #define ENABLE_HIGHLIGHT_NEW_ITEM //if you want to see highlighted a new item when dropped or when exchanged #define __ENABLE_KILL_EVENT_FIX__ //if you want to fix the 0 exp problem about the when kill lua event (recommended) #define ENABLE_EXTRA_APPLY_BONUS // Yeni Bonuslar Modulu #define ENABLE_ELEMENTAL_APPLY_BONUS // Yeni Elemental Bonuslar Modulu #define OFFLINE_SHOP // Çevrimdışı Pazar #define GIFT_SYSTEM // Hediye Sistemi #define SHOP_TIME_REFRESH 1*60 // Pazarların Yenilenme Süresi #define SHOP_BLOCK_GAME99 // Kanal 99da Pazarı Bloklama #define SHOP_DISTANCE // Pazarlar Arası Mesafe #define SHOP_AUTO_CLOSE // Pazarda İtem Kalmayınca Otomatik Kapanması //#define SHOP_ONLY_ALLOWED_INDEX // Her Mapta Belirli Sayıda Pazar //#define SHOP_HIDE_NAME // Pazar İsimlerini Gizleme #define SHOP_GM_PRIVILEGES GM_IMPLEMENTOR // Pazar açmak için minimum gm seviyesi #define BL_PRIVATESHOP_SEARCH_SYSTEM #define ENABLE_NEW_PET_SYSTEM //Tr Levelli Pet Sistemi #define ENABLE_PET_ATTR_DETERMINE //Tr Yeni Pet Güncellemesi #define ENABLE_CONQUEROR_LEVEL #define __LOADING_TIP__ #define ENABLE_CHEQUE_SYSTEM #define ENABLE_OFFLINE_SHOP_USE_CHEQUE #define ENABLE_SHOP_USE_CHEQUE #endif IMAGENES:





     
    Links
    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.
     
  9. Me Gusta
    VIKSANT got a reaction from Marco Garcia in SF MartySama 4.9.89 r88   
    Buenas:
    He instalado e iniciado el server correctamente, pero implemento una quest, todo bien, la compilo pero no me funciona ninguna.
    Elimino todas las quests, y siguen alli. He probado de todo, cual creen que pueda ser el error? Un saludo
     
  10. Me Gusta
    VIKSANT reacted to Dilong in Armaduras dragon   
  11. Me Gusta
    VIKSANT reacted to CHELO in Armaduras hallowen plechito   
    Debes iniciar sesión para ver el contenido del archivo adjunto en esta publicación. Link:
     
  12. Me Gusta
    VIKSANT reacted to KeKo in [Guia Definitiva] Implementar Armaduras   
    Buenas zoneros y zoneras sé que esto es mucho textos para algunos pero si teneis dudas implementando armors os recomiendo que hagais un esfuerzo y la leais entera, y si copias esta guia a otros foros por favor respetad los créditos.
     
    Después de un tiempo el foro off se me ocurrio hacer una guía útil como regalo de perdón por el tiempo que estuvo el foro indispuesto y como sé que mucha gente tiene problemas a la hora de implementar armaduras y las guías actuales no explican todo lo relativo a la implementacion de armaduras en un único post pues me voi a poner a explicaros como implementar armaduras sin morir en el intento:
     
    1 - Antes de nada: Qué es una armadura de metin2?
     
    Creo que la respuesta es muy obvia: una armadura es eso que se pone por encima del cuerpo el pj. Hasta aquí bien, pero a lo que me refiero es a que archivos forman una armadura?
     

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Group AttachingData Al lado de:
     

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

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

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

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

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

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

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

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

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

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

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

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

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

    idarmor ARMOR icon/item/idicono.tga Ojo! Las separaciones entre el texto deben ser con la tecla de tabulador (esa que esta encima del bloq mayusculas xd)
     
    4.3: La query del armor
     
    Una vez hecho todo esto, simplemente nos quedará hacer una query para nuestra armor con la misma id que le pusimos en el item_proto del cliente, para ello teneis muchos programas que os ayudarán a hacerla con los valores que prefirais
     
    Recordad que en la query el value3 da igual, por si alguno lo duda xd
     
    Y bueno, eso es todo por hoy espero que os sea útil esta guía
  13. Me Gusta
    VIKSANT reacted to DevLilian in Server files de Metin2 Rage 2019 + Web Python [GRATIS] by DevLilian   
    El pack incluye:
    - Cliente
    - Source code cliente
    - Source code server
    - Server files (quests, mapas, cores, etc.)
    Son unos server bastante estables y equilibrados, probados con más de 500 usuarios online al mismo tiempo sin problemas de lag o caídas.
    Sin bugs.
    Actualmente el servidor se encuentra online y podéis probarlo en Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    También le podéis echar un ojo a la presentación si queréis ver lo que incluyen: Presentación
    Descripción y sistemas:
    - Base estable, equilibrada y testeada con cientos de usuarios online.
    - Cabos y flechas infinitas
    - Instant equip
    - Special Storage
    - Diálogo destruir objetos
    - MP al hacer click en nombre
    - Target information
    - Shop offline + WON (versión única sin bugs)
    - Cambiar CH (versión única sin bugs)
    - Pet system
    - Inventory slot marking + exchange system
    - Rocios en affect bar
    - Revivir full hp
    - Block/unblock exp
    - Estolas
    - Biólogo profesional
    - Sistema de brillos
    - Party buff
    - Un jugador por IP en mapas indicados
    - Revive event para quests
    - Limite de yang 999.999.999.999
    - Dungeon info 
    - Transfiguración
    - Dar MDs a todos los player de un imperio en un mapa.
    - Dungeons únicas: (Aryas dungeon, Cueva Slime, Bosque Celestial...)
    - Dungeons normales: (Nemere, Arrador, Azrael, Torre...)
    - Eventos: (Budokan, guerra de reinos, defiende tu metin, sayon, guerra total, evento de caza, trueque sorpresa...)
    - Atuendos de armas y armaduras únicos
    - Y mucho más... revisa presentación o descarga el servidor.
     
    Server File: Debes iniciar sesión para ver el contenido del enlace en esta publicación. (Elimine base de datos y estan limpios)
    WEB programada en Python: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Puedes revisar el funcionamiento de esta en www.metin2rage.com
     
    by DevLilian.
  14. Me Gusta
    VIKSANT reacted to ElRaulxX in [GUÃ�A] Problemas más comunes en quests   
    Hace un rato vi esta guía, aporte (o como queráis llamarlo) que me pareció muy interesante. Se trata de los errores más comunes en la inserción de quests en nuestros servidores (errores de sintaxis, errores de compilación...).
    Esta guía la veo yo más enfocada hacia los más novatos, pues con la práctica aprendes el significado de estos errores y su solución. Aún así, estoy seguro que muchas personas aprenderán algo que no sabían.
     
    RECALCO que esta guía no es creada por mí, sino que tan solo es traducida al español y un poco ampliada con mis conocimientos.
    Aquí os dejo el post original de .Alessa en elitepvpers:
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
     
    Bueno, pues vamos al lío xd
     
    Antes de empezar:
    Como esta guía es general para cualquier quest, utilizaremos variables [X]. Es decir, esta variable puede ser diferente en cada caso y substituida por cualquier cosa.
     
     
    1. when doesn't have begin-end clause
     
    Error de sintaxis: when doesn't have begin-end clause. ([X])
    [X]:[X]: Error occured on compile [X]
    Significado: "when" no sigue la estructura begin-end
    Análisis: Este error se produce cuando el conjunto del "when" no sigue la sintaxis apropiada. Seguramente, la razón de este error es un error de escritura o falta de un "begin". Es también común intercambiar un "begin" por un "then". Debemos recordar siempre que un when sigue la estructura: when [X] begin - end.
    Corrección: Buscar los "when" en nuestra quest y asegurarnos que sigue la sintaxis apropiada.
    when [X] begin
    [acción]
    end
    Imagen ejemplo:
    Imagen ejemplo - solución: Hemos cometido un error de escritura: ha sido intercambiado el "begin" por "begn"
     
     
    2.`[X]' expected near `[X]'
     
    Error de sintaxis: syntax error : [string "[X]"]:[X]: `[X]´ expected near `[x]´
    [X]:[X]: Error occured on compile [X]
    Significado: No ha sido especificado algo requerido por la sintaxis (acostumbra a ser especificado en el lugar de nuestras variables [X]).
    Análisis: Este error es similar anterior, pero acostumbra a darse en condiciones (if). La sintaxis es incorrecta: el servidor espera encontrar un "then" después de la condición, pero no lo encuentra. Como en el caso anterior, acostumbra a darse por fallos en la escritura o intercambio del "then" por "begin".
    Corrección: Corregir la sintaxis. Podemos saber aproximadamente donde esta el error por "expected near". Estos errores acostumbran a estar relacionados con los "if". Recordemos que la sintaxis apropiada es:
    if [X] == [X] then
    [acción]
    end
    *A veces es posible que los operadores estén invertidos. Recuerda que en todos los operadores que utilizamos que contienen más de un signo (>=, <=, !=, ==,...), el último signo siempre es es el "=".
    Imagen ejemplo:
    Imagen ejemplo - solución: Hemos cometido un error de sintaxis: el servidor espera encontrar un "then", pero no lo encuentra. La solución sería especificar el "then" junto a nuestra condición.
     
     
    3. Calls undeclared function!
     
    Error de sintaxis: Calls undeclared function!
    [X]
    Error occured on compile [X].[X]
    Significado: El servidor no detecta una función.
    Análisis: El servidor ha encontrado en nuestra quest una función que no ha sido especificada. Por lo tanto, no posee esa información y no puede realizar ninguna acción.
    Corrección: Debemos revisar la sintaxis: es posible que la función no esté bien escrita. También debemos revisar que nuestra función se encuentre en el archivo quest_functions (recordemos que si queremos crear una nueva función, debemos crearla en questlib.lua y especificarla en quest_functions para que la reconozca el servidor). Si queremos especificar una función que ha sido escrita dentro de una quest, tenemos que utilizar la siguiente sintaxis:
    nombredelaquest.nombredelafuncion (en vez de escribir tan solo la función)
    Imagen ejemplo:
    Imagen ejemplo - solución: Debemos especificar en el archivo quest_functions la función say_item_vnum
     
     
    4. assertion failure
     
    Error de sintaxis: assertion failure : nested==0
    [X]:[X]:Error occured on compile [X]
    Significado: Estructura equivocada.
    Análisis:La sintaxis general de la quest no es correcta. Este error puede darse en muchas ocasiones. Por ejemplo, este error se da cuando hay demasiados "end" o falta alguno.
    Corrección:
    Revisar que la sintaxis "quest [X] begin" está cerrada con un "end". Revisar que todos los "when" están cerrados con un "end". Revisar que todas las condiciones (if) están cerradas por un "end". Revisar que todos los "state" están cerrados por un "end". Imagen ejemplo: Imagen ejemplo - solución: Nuestro "when" no está cerrado con un "end".
     
     
    5. expecting state
     
    Error de sintaxis: expecting 'state'
    [X]:[X]:Error occured on compile [X]
    Significado: Es necesario un state: la estructura de "state" no es correcta.
    Análisis: Hay un error de sintaxis o es necesario un state. Este error sucede, por ejemplo, cuando un "when" está fuera de un "state".
    Corrección: Revisar que todos los "when" y "if" están dentro de un state. Revisar que los "state" están bien colocados y cerrados con un "end".
    Imagen ejemplo:
     
     
    6. state name not found
     
    Error de sintaxis: [X]:[X]:state name not found : [X]
    Error occured on compile [X]
    Significado: El servidor no encuentra un "state".
    Análisis: El uso o búsqueda de un "state" no es encontrado. Este error se da, por ejemplo, cuando utilizamos la función "set_state()" y el "state" definido en esta función no se encuentra dentro de la quest.
    Corrección: Asegúrate que todos los "state" definidos son correctos, la función que los utiliza está el "state" bien escrito y que todos los "state" están cerrados con un "end".
    Imagen ejemplo:
     
     
    7. must start with 'quest'
     
    Error de sintaxis: must start with 'quest'
    [X]:[X]:Error occured on compile [X]
    Significado: La quest debe empezar con 'quest'.
    Análisis: Toda quest debe ser iniciada con "quest [X] begin" y cerrada con un "end".
    Corrección:
    Asegúrate que la quest empieza con la sintaxis "quest [X] begin". Asegúrate que no hay nada fuera de el bloque "quest [X] begin" - end. Asegúrate que no has cometido un error de escritura en la forma típica de inicio de la quest. Imagen ejemplo:  
     
     
    8. Trying/attempt to compare number with nil
     
    Error de sintaxis: Trying/attempt to compare number with nil (se muestra en el Syserr)
    Significado: Al servidor le es imposible comparar un dato con nil.
    Análisis: Nil es lo que se le da a algo que no tiene valor. Es similar al 0, es decir, la nada, algo que no existe. Teniendo esto en cuenta, es lógico pensar que el servidor no pueda comparar algo con la nada.
    Corrección:
    Revisar que todas las variables o funciones que se comparen (a través de una sentencia if) tengan un valor definido previamente.
     
     
    Y eso es todo.
    Si os aparece algún otro error relacionado con quest, decírmelo. Ampliaré la guía sin ayuda de Alessa xd
     
    Un saludo
  15. Me Gusta
    VIKSANT reacted to Break in [Instalador automático] -> Metin2 ¡RELEASE!   
    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:

    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. 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!
  16. Me Gusta
    VIKSANT got a reaction from raael darby in SF MartySama 4.9.89 r88   
    Buenas:
    He instalado e iniciado el server correctamente, pero implemento una quest, todo bien, la compilo pero no me funciona ninguna.
    Elimino todas las quests, y siguen alli. He probado de todo, cual creen que pueda ser el error? Un saludo
     
  17. Me Gusta
    VIKSANT reacted to caanmasu in Editar Drop de los Monstruos (Editar Mob Drop, Monstruos Drop)   
    Holaa!
    Quiero hacer dos aportes más
    1. Hay un programa para editar el mob_drop_item.txt
     
    2. Hay un comando para recargar el mob_drop_item.txt sin tener que hacer reboot. Solo haces /rel m. Pero tienes que implementarlo por C++.

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    Saludos!
  18. Me Gusta
    VIKSANT reacted to Freddy Di Maria in Editar Drop de los Monstruos (Editar Mob Drop, Monstruos Drop)   
    Revisado 01/2021
    Buenas aquí abajo les muestro como editar el drop de monstruos
    Bien después de iniciar el BSD-VDI, tendremos que ir a la ruta siguiente con el Filezilla o WinSCP (Ver como iniciar en WinSCP):
    Recordar que las rutas difieren de un VDI a otro (ver info de donde descargaron su VDI-BSD, o ir explorando carpeta game en WinSCP)
    (Ver/Ocultar)
    /usr/home/game/share/locale/germany
    Al estar allí tendremos que editar el siguiente archivo:
    mob_drop_item.txt
    Damos click derecho y editar con Notepad++ o abrimos el Notepad++ abrimos el archivo en el Notepad++ (si no lo tenemos lo descargamos)
    (recuerden guardar) tendremos que editar de la siguiente manera el archivo:
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Os preguntaréis que significa cada cosa. Bien ahora os lo explicaré, IMPORTANTE hacer una copia de seguridad .   GROUP -> Tiene que ir puesto y al lado el nombre. Metin_de_Combate -> Es el nombre del monstruo o metin. Esto es necesario poner un nombre, pero para que no te líes pon el nombre original del monstruo o metin. {        -> Sirve para iniciar el dropeo. *Es obligado de poner* }        -> Sirve para finalizar el dropeo. *Es obligado de poner*
    Type    -> Tenéis que poner ‘drop' al lado siempre (Ver abajo de los ejemplos mas tipos) Debes iniciar sesión para ver el contenido del enlace en esta publicación. Mob    -> Aquí al lado debéis de poner el ID vnum del mob (mob_proto) de Navicat>Player>mob_proto que queráis que dropee tal item. a)linea 5 primer numero>1 Significa que es el primer ítem. (Abajo pueden leer un ejemplo de más ítems) Debes iniciar sesión para ver el contenido del enlace en esta publicación. b)linea 5 según numero>30 es el ID vnum del ítem_proto en Navicat>Player>item_proto ejemplo /i 15 sería la espada +5. En este caso sería otra arma/armadura/objeto (lo que querais de esta lista). c)linea 5  tercer numero>1 significa cantidad quieres que tire de ese objeto. d)linea 5 cuarto numero>10 significa el porcentaje del drope podemos también poner 0.05(Difícil) o 40 (Mas o menos) 70 casi seguro                                        o también directamente 100. Que significaría la probabilidad que tengas de que te caiga ese objeto determinado. Luego de editar GUARDAN y dan reboot al BSD luego ya lo pueden probar Ejemplos de edición, se debe copiar un 'Group' abajo del otro sin espacio, luego editar los valores y guardar: Group    ??(Aquí su nombre o como quieras identificarlo) {                mob       503                Type       drop                1              30052           1              1                2              290               1              1                3              292               1              0.15                4              1170             1              1                5              2150             1              1 Group    ?? {                mob       396                Type       drop                1              30017    3              7 } **Tener cuidado con el espaciado con el tabulador y ademas las mayúsculas tal cual, y si el VNUM del objeto no existe no iniciara el juego.
    Eso es suficiente para hacer un drop del mob y ponerlo en su server, ahora unos puntos mas.
     
    Tipos de drop : 
    Gracias a
    -NazoX

    Puede ser kill_drop y level_limit, el kill_drop te obliga a matar x bichos para tener una suerte de que todo lo que contiene pueda caer, ejemplo:
    Group    Perro_salvaje
    {
        Type    kill  --(Este es de tipo kill, matar x cantidad para conseguir)
        Mob    171
        kill_drop   50 <--(Tienes que matar 50 perros para que haya una prob de éxito de que te caiga lo siguiente)
        1    11402    1    1  --(Traje Azul 11402)
        2    11209    1    50--(Acero Negro de G 11209)
    }   
    También si aumentas el % como yo he hecho con las negras 50, después de matar 50 perros es más probable que consigas las negras que el traje azul.
    Group    Perro_salvaje
    {
        Type    limit --(Este es de tipo limit, según el nivel)
        mob    171
        level_limit 45 <--(Podrás dropear cosas mientras no superes el nivel 45)
        1    11402    1    1  --(Traje Azul)
        2    11209    1    50--(Acero Negro de G)
       }   
    Hasta aquí la guía
     
  19. Me Gusta
    VIKSANT reacted to Anthony's in [Guía]Como editar drop #FTP + Navicat#   
    Si alguien no a entendido algo de la guía puede agregarme a mi skype y se lo explicaré por pantalla compartida como hacerlo.
     
    # skype -> phytonyt #
     
    PD: Si quieres poner los drops de los mob's como en el oficial te recomiendo esta pagina
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. ya que son el drop de la Beta y te será fácil saberlo haciendo desde una pagina como esa, que buscandolo en vídeos malos.
  20. Me Gusta
    VIKSANT reacted to XhebasT1an in [Guia]Cambiar y Agregar Drops a un Mob   
    Acá te dejo el archivo de que líneas se deben modificar + las líneas faltantes que no dejaron en la guía y salía error al intentar compilar.

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
     
  21. Me Gusta
    VIKSANT reacted to Ryukend in [Guia]Cambiar y Agregar Drops a un Mob   
    Petición hecha por alejandro1995, espero que lo ayude...
     
    Primero de todo, encender el server (también se puede dejar en el inicio de sesión) y entrar con FileZilla o WinSCP.
     
    Una vez conectado a través del programa ir a: usr / / Rain / share_data / local / Hong Kong / mob_drop_item.txt y abrir suele estar hay.
     
    1. Busque el valor del MOB que quieren cambiar (por ejemplo, 1093: el reaper) y encontraras esto:
     
     
     
     
    El nombre en chino color verde es el nombre del cofre del reaper pero puedes usar el numero del item que quieres que dropee es mas facil y comodo asi lo hare yo en la siguiente parte.
     
    ¿Que quiere decir cada numero?
     
     
     
     
    El color amarillo indica que es el primer item que tirara el Mob.
     
    El color Rojo indica el ID del item que dropeara.
     
    El color azul indica la cantidad de items que dropeara.
     
    El naranja oscuro indica la probabilidad de que caiga tal item (Para una caída casi segura poner 50 o más).
     
    Para añadir otro item se debe colocar de la siguiente manera:
     
     
     
     
    Puedes colocar todos los drops que quieras
     
    Nota: No siempre el mob_drop_item.txt viene arreglado en algunos casos es desordenado pero igual es de la misma forma
     
    Créditos:
     
    La guía la saque de otro lado, pero la edite para que sea mas comprensiva
     
    Espero les allá gustado
  22. Me Gusta
    VIKSANT reacted to Da Vinci in [GAME] Compilar source del game (mainline_released)   
    - Descargar el vdi Debes iniciar sesión para ver el contenido del enlace en esta publicación. 
     
    - 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
  23. Me Gusta
    VIKSANT reacted to Dragonslayer in [GUIA]Source   
    Aquí si alguien le interesa un VDI, preparado al 100% para compilar.
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  24. Me Gusta
    VIKSANT reacted to TTV_RANDARON in VDI Listo para Metin2   
    Especificaciones de la máquina virtual
    1 GB de RAM (aumente como desee desde la configuración del hipervisor)
    intercambio de 4 GB
    HDD 6.16G - utilizado por la instalación: 2.57G (Sistema de archivos ZFS, ampliable en caliente en cualquier momento)
    Sistema operativo: FreeBSD 10.3-RELEASE (GENERIC) 64bit

    Software instalado
    Los principales software instalados son:
    MariaDB 10.1 (Fork MySQL, 100% compatible con metin2)
    Compatibilidad con las versiones 9.x, 4.x y 7.x de FreeBSD
    Bibliotecas de 32 bits
    Webmin (panel de control web para la administración)
    Bash (shell básico para linux)
    Pescado (concha fácil de usar)
    gcc49 (software para compilar fuentes)
    rsync (copia avanzada de archivos, incluso remota)
    IPFilter (software Advanced Firewall, fácil de usar GUI a través de webmin, reglas ya configuradas)
     
    Aquí está la lista completa de todos los paquetes instalados (instalación a través de puertos)
    root@iltizioservice_demo ~# pkg info
    argp-standalone-1.3_2 Standalone version of arguments parsing functions from GLIBC
    autoconf-2.69_1 Automatically configure source code on many Un*x platforms
    autoconf-wrapper-20131203 Wrapper script for GNU autoconf
    automake-1.15_1 GNU Standards-compliant Makefile generator
    automake-wrapper-20131203 Wrapper script for GNU automake
    bash-4.3.46_1 The GNU Project's Bourne Again SHell
    binutils-2.27_3,1 GNU binary tools
    bison-2.7.1,1 Parser generator from FSF, (mostly) compatible with Yacc
    ca_root_nss-3.26 Root certificate bundle from the Mozilla Project
    cmake-3.6.2 Cross-platform Makefile generator
    cmake-modules-3.6.2 Modules and Templates for CMake
    compat4x-i386-5.3_11 Convenience package to install the compat4x libraries
    compat7x-amd64-7.4.704000.201310.1 Convenience package to install the compat7x libraries
    compat9x-amd64-9.3.903000.20160608 Convenience package to install the compat9x libraries
    curl-7.50.3 Non-interactive tool to get files from FTP, GOPHER, HTTP(S) servers
    dialog4ports-0.1.6 Console Interface to configure ports
    expat-2.2.0 XML 1.0 parser written in C
    fish-2.3.1 User friendly command line shell
    gcc-ecj-4.5 Eclipse Java Compiler used to build GCC Java
    gcc49-4.9.4 GNU Compiler Collection 4.9
    gettext-runtime-0.19.8.1 GNU gettext runtime libraries and programs
    gettext-tools-0.19.8.1 GNU gettext development and translation tools
    glib-2.46.2_3 Some useful routines of C programming (current stable version)
    gmake-4.2.1_1 GNU version of 'make' utility
    gmp-5.1.3_3 Free library for arbitrary precision arithmetic
    help2man-1.43.3_1 Automatically generating simple manual pages from program output
    indexinfo-0.2.5 Utility to regenerate the GNU info page index
    ipmitool-1.8.17_1 CLI to manage IPMI systems
    jsoncpp-1.7.3 JSON reader and writer library for C++
    libarchive-3.2.1,1 Library to create and read several streaming archive formats
    libffi-3.2.1 Foreign Function Interface
    libiconv-1.14_9 Character set conversion library
    liblz4-131 LZ4 compression library, lossless and very fast
    libstatgrab-0.91 Provides a useful interface to system statistics
    libtool-2.4.6 Generic shared library support script
    libxml2-2.9.4 XML parser library for GNOME
    localedata-5.4_2 Legacy locale data for FreeBSD 6+
    lzo2-2.09 Portable speedy, lossless data compression library
    m4-1.4.17_1,1 GNU m4
    mariadb101-client-10.1.17 Multithreaded SQL database (client)
    mariadb101-server-10.1.17 Multithreaded SQL database (server)
    mpc-1.0.3 Library of complex numbers with arbitrarily high precision
    mpfr-3.1.4 Library for multiple-precision floating-point computations
    muse-0.2 Shows memory usage data
    p5-Authen-PAM-0.16_2 Perl interface to the PAM library
    p5-IO-Tty-1.12_1 Flexible I/O Perl5 module that allows manipulation of pseudo-TTYs
    p5-Locale-gettext-1.06 Message handling functions
    p5-Net-SSLeay-1.78 Perl5 interface to SSL
    patch-2.7.5 GNU patch utility
    pcre-8.39 Perl Compatible Regular Expressions library
    perl5-5.20.3_15 Practical Extraction and Report Language
    pkg-1.8.7_3 Package manager
    pkgconf-1.0.1 Utility to help to configure compiler and linker flags
    py27-Babel-2.3.4 Collection of tools for internationalizing Python applications
    py27-Jinja2-2.8 Fast and easy to use stand-alone template engine
    py27-MarkupSafe-0.23 Implements XML/HTML/XHTML Markup safe string for Python
    py27-alabaster-0.7.6 Modified Kr Sphinx theme
    py27-docutils-0.12 Python Documentation Utilities
    py27-imagesize-0.7.1 Python image size library
    py27-pygments-2.1.3 Syntax highlighter written in Python
    py27-pystemmer-1.3.0_1 Snowball Stemming Algorithms for Information Retrieval
    py27-pytz-2016.6.1,1 World Timezone Definitions for Python
    py27-setuptools27-23.1.0 Python packages installer
    py27-six-1.10.0 Python 2 and 3 compatibility utilities
    py27-snowballstemmer-1.2.0_1 Snowball stemming library collection for Python
    py27-sphinx-1.4.6_1 Python documentation generator
    py27-sphinx_rtd_theme-0.1.9 Mobile-friendly py-sphinx theme
    python2-2_3 The "meta-port" for version 2 of the Python interpreter
    python27-2.7.12 Interpreted object-oriented programming language
    python3-3_3 The "meta-port" for version 3 of the Python interpreter
    python34-3.4.5 Interpreted object-oriented programming language
    rsync-3.1.2_5 Network file distribution/synchronization utility
    scons-2.5.0 Build tool alternative to make
    webmin-1.810 Web-based interface for system administration for Unix
    xe-guest-utilities-6.2.0_2 FreeBSD VM tools for Citrix XenServer and XCP
    xen-guest-tools-4.6.1 Xen tools within FreeBSD domU
    xinetd-2.3.15_2 Replacement for inetd with better control and logging
    yajl-2.1.0 Portable JSON parsing and serialization library in ANSI C
    zip-3.0_1 Create/update ZIP files compatible with PKZIP
    Accesos
    Se han configurado todas las utilidades necesarias, servidor mysql y servidor ssh para conectarse desde el exterior:
    SSH, SFTP (Putty, WinSCP): id root password: iltizioservice
    Remote MariaDB (Navicat, mysql): id root password: iltizioservice
    Local MariaDB (gameserver): id: contraseña del juego: iltizioservice
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  25. Me Gusta
    VIKSANT reacted to Kryzz in [SCRIPT] Borrar quest individualmente.   
    Bueno chicos un colego mio de nuestro servidor, hizo un script de borrar quest individualmente. Lo vengo a postear con su autoria.
     
    Instalación
    1° Vamos al winscp o filezilla y nos logueamos.
    2° Luego vamos a la ruta de la imagen.
     

     
    3° Procedemos a meter el script que dejare en descarga como adjunto, debe quedar asi:

     
    4° Luego procedemos a darle estos permisos:
     

     
    5° Nos logueamos y vamos nuestra consola de comandos, o para algunos VirtualBox
     
    Escribimos esto:
     

     
    Y luego esto:
     

     
    Nos preguntara el nombre de la quest como en esta imagen:
     

     
    Aqui escriben el nombre de la quest, por ejemplo: comenzarbio
     

     
    Luego nos dira estas seguro S/N:
    y colocamos "s" si es positivo y "n" si es negativo.
     

     
    Luego la quest quedara borrada de nuestro servidor!
     
    Creditos: Axioma, creador del script y colega mio.
    Todos los derechos reservados, no copy-paste o posteo en otro foro, si la autoria del creador.

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
×
×
  • Crear nuevo...