Jump to content

unkoll

Miembro
  • Contador contenido

    103
  • Ingreso

  • Última visita

Actividad de reputación

  1. Confuso
    unkoll got a reaction from ChuchoGamer in [Aporte]Files eternia2, Pandora   
    Gracias bro, parece rumano no? no descarga..

    Espero que no traiga consigo regalo jajajaj
  2. Me Gusta
    unkoll got a reaction from Antonio García in HP y MP OPONENTE en duelo   
    A petición del usuario Debes iniciar sesión para ver el contenido del enlace en esta publicación. dejo esto por aqui
    costinfo.py
    INPUT_IGNORE = 0 VID = 0 STHX = 0 HPXD = 0 PLAYER_HP = 0 PLAYER_MAX_HP = 0 PLAYER_SP = 0 PLAYER_MAX_SP = 0 PLAYER_NAME = "" game.py
    import uiHealth #wskaznikiHP "super_quest" : self.Tabulejtor, "pvp_zdruwko" : self.Mozart, #inputpowerdziwko "get_input_value" : self.GetInputValue, "get_input_start" : self.GetInputOn, "get_input_end" : self.GetInputOff, def Mozart(self, data): dane = data.split("|") constInfo.PLAYER_NAME = str(dane[0]) constInfo.PLAYER_HP = int(dane[1]) constInfo.PLAYER_MAX_HP = int(dane[2]) constInfo.PLAYER_SP = int(dane[3]) constInfo.PLAYER_MAX_SP = int(dane[4]) def Tabulejtor(self, id): constInfo.STHX = int(id) def GetInputOn(self): constInfo.INPUT_IGNORE = 1 def GetInputOff(self): constInfo.INPUT_IGNORE = 0 def GetInputValue(self): net.SendQuestInputStringPacket(str(constInfo.VID)) def OpenQuestWindow(self, skin, idx): if constInfo.INPUT_IGNORE == 1: return else: self.interface.OpenQuestWindow(skin, idx) uitarget.py
    import uiHealth import constInfo def OnUpdate(self): if player.IsPVPInstance(self.vid): constInfo.VID = self.vid event.QuestButtonClick(constInfo.STHX) if not self.healthBoard.IsShow() and self.vid != 0: self.healthBoard.Show() else: self.healthBoard.Hide() if self.isShowButton: exchangeButton = self.buttonDict[locale.TARGET_BUTTON_EXCHANGE] distance = player.GetCharacterDistance(self.vid) if distance < 0: return if exchangeButton.IsShow(): if distance > self.EXCHANGE_LIMIT_RANGE: self.RefreshButton() else: if distance < self.EXCHANGE_LIMIT_RANGE: self.RefreshButton() En def __init__(self) (uitarget.py) agregar
    self.healthBoard = uiHealth.HealthBoard() En def Close()
    self.healthBoard.Hide() Ejemplo
    def Close(self): self.__Initialize() self.healthBoard.Hide() self.Hide() Crea el archivo uihealth.py en root
    import ui import constInfo def GetInfoFrom(id): table = { 1 : constInfo.PLAYER_NAME, 2 : constInfo.PLAYER_HP, 3 : constInfo.PLAYER_MAX_HP, 4 : constInfo.PLAYER_SP, 5 : constInfo.PLAYER_MAX_SP} if table.has_key(id): return table[id] class HealthBoard(ui.ThinBoard): def __init__(self): ui.ThinBoard.__init__(self) self.Config() def __del__(self): ui.ThinBoard.__del__(self) def Config(self): self.SetSize(200, 120) self.SetPosition(0, 20) self.hp_bar = ui.Gauge() self.hp_bar.SetParent(self) self.hp_bar.SetPosition(30, 30+20) self.hp_bar.MakeGauge(130, "red") self.hp_bar.Show() self.sp_bar = ui.Gauge() self.sp_bar.SetParent(self) self.sp_bar.SetPosition(30, 60+20) self.sp_bar.MakeGauge(130, "blue") self.sp_bar.Show() self.name = ui.TextLine() self.name.SetParent(self) self.name.SetDefaultFontName() self.name.SetPosition(45, 30) self.name.SetText("") self.name.Show() self.hp_show = ui.TextLine() self.hp_show.SetParent(self) self.hp_show.SetDefaultFontName() self.hp_show.SetPosition(60-15, 57) self.hp_show.SetText("") self.hp_show.Show() self.sp_show = ui.TextLine() self.sp_show.SetParent(self) self.sp_show.SetDefaultFontName() self.sp_show.SetPosition(60-15, 80+7) self.sp_show.SetText("") self.sp_show.Show() def OnUpdate(self): if (GetInfoFrom(2)+GetInfoFrom(3)+GetInfoFrom(4)+GetInfoFrom(5)) == 0: self.Hide() self.hp_bar.SetPercentage(GetInfoFrom(2), GetInfoFrom(3)) self.sp_bar.SetPercentage(GetInfoFrom(4), GetInfoFrom(5)) self.name.SetText(GetInfoFrom(1)) self.hp_show.SetText("Health Points: %s / %s" % (GetInfoFrom(2), GetInfoFrom(3))) self.sp_show.SetText("Mana Points: %s / %s" % (GetInfoFrom(4), GetInfoFrom(5))) self.name.SetText("Character: %s" % (GetInfoFrom(1))) Y la quest
    quest wskaznikHpWroga begin state start begin when login begin cmdchat("super_quest "..q.getcurrentquestindex()) end when info or button begin cmdchat("get_input_start") local vid = input(cmdchat("get_input_value")) cmdchat("get_input_end") local old_pc = pc.select(vid) local name = pc.get_name() local hp = pc.get_hp() local max_hp = pc.get_max_hp() local mp = pc.get_sp() local max_mp = pc.get_max_sp() pc.select(old_pc) cmdchat("pvp_zdruwko "..name.."|"..hp.."|"..max_hp.."|"..mp.."|"..max_mp) end end end  
     
    Source: EPVP
  3. Me Gusta
    unkoll got a reaction from Antonio García in HP y MP OPONENTE en duelo   
    Si salta este error
    1229 23:04:16952 :: self.name.SetText("Character: %s" % (GetInfoFrom(1))) 1229 11:44:05019 :: networkModule.py(line:201) SetSelectCharacterPhase system.py(line:130) __pack_import system.py(line:110) _process_result introSelect.py(line:26) ? system.py(line:130) __pack_import networkModule.SetSelectCharacterPhase - exceptions.SyntaxError:invalid syntax (line 530) 1229 11:44:05019 :: ================================================== ================================================== ======== 1229 11:44:05019 :: Abort!!!! Hay que revisar los TAB e importar el evento event.QuestButtonClick(constInfo.STHX).
    def OnUpdate(self): if player.IsPVPInstance(self.vid): constInfo.VID = self.vid import event event.QuestButtonClick(constInfo.STHX) if not self.healthBoard.IsShow() and self.vid != 0: self.healthBoard.Show() else: self.healthBoard.Hide() if self.isShowButton: exchangeButton = self.buttonDict[locale.TARGET_BUTTON_EXCHANGE] distance = player.GetCharacterDistance(self.vid) if distance < 0: return if exchangeButton.IsShow(): if distance > self.EXCHANGE_LIMIT_RANGE: self.RefreshButton() else: if distance < self.EXCHANGE_LIMIT_RANGE: self.RefreshButton()  
  4. Me Gusta
    unkoll got a reaction from Daroo in HOMEPAGE SNOOKEY   
    #Borro para no joder a Debes iniciar sesión para ver el contenido del enlace en esta publicación. .
    Cuando era crio yo también hacía este tipo de websites y las protegía igual. Y acabo de recordar lo mucho que me jodía que alguien me sacara todo facilmente. 
     
    Asi que para no joderle más le pido disculpas y borro como quitar la protección que tiene de web.
  5. Me Gusta
    unkoll got a reaction from Im in HOMEPAGE SNOOKEY   
    #Borro para no joder a Debes iniciar sesión para ver el contenido del enlace en esta publicación. .
    Cuando era crio yo también hacía este tipo de websites y las protegía igual. Y acabo de recordar lo mucho que me jodía que alguien me sacara todo facilmente. 
     
    Asi que para no joderle más le pido disculpas y borro como quitar la protección que tiene de web.
  6. Me Gusta
    unkoll got a reaction from LovePlay in HOMEPAGE SNOOKEY   
    #Borro para no joder a Debes iniciar sesión para ver el contenido del enlace en esta publicación. .
    Cuando era crio yo también hacía este tipo de websites y las protegía igual. Y acabo de recordar lo mucho que me jodía que alguien me sacara todo facilmente. 
     
    Asi que para no joderle más le pido disculpas y borro como quitar la protección que tiene de web.
  7. Me Gusta
    unkoll got a reaction from Jeo in Estafador frances - hellofey o times93   
    Mucho cuidado con ese frances de mierda
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. lo dice en su web

    La foto de la que habla donde dice "ClickMe" es la siguiente

    Os cuento un poco.
    Este francés de mierda me estafó parcialmente a mi (y a otros 2) cuando estabamos en el proyecto m2mage-metin2mage,magnetic, ultima online, asinis.
    Básicamente se llevo los files db y todo y dejó unos corruptos en el dedicado, por supuesto, nos dejamos como 60€ cada uno en toda esa historia.
    y os paso captura para que me entendais.

    El dejó mage.tar.gz (corrupto y no funcional)
    y conseguí sacar del server el metin2.tar.gz (el real y no, no os diré como jajaja)
    this: Al final conseguí recuperar todo y este cabron hizo no se que en 40k.
    Según tengo entendido ya no tiene ningún file ni web, yo sigo teniendo toda la base 2089 y los recursos digitales.
    Como dice marty, esta en skype como times93 mucho cuidado.
    Hellofy, YukiPowa, times93 
    os paso capturas del skype


    Por el tema de datos no pongo fotos de su conversación, pongo solo de lo que yo mandé y el tío se sorprendió cuando vio que todavía tenia todos los files y recursos.
    Se ha cambiado el nombre por el de martysama para intentar estafar más jajajaja
  8. Me Gusta
    unkoll got a reaction from Im in Script Server Statistics   
    #cierro, muchos me han criticado por privado por el script que podria compartir el oop etc etc que os follen pues. os quedais sin
  9. Me Gusta
    unkoll got a reaction from ABoWaLy in Script Server Statistics   
    #cierro, muchos me han criticado por privado por el script que podria compartir el oop etc etc que os follen pues. os quedais sin
  10. Me Gusta
    unkoll got a reaction from TTV_RANDARON in Script Server Statistics   
    #cierro, muchos me han criticado por privado por el script que podria compartir el oop etc etc que os follen pues. os quedais sin
  11. Me Gusta
    unkoll got a reaction from Jeo in Script Server Statistics   
    #cierro, muchos me han criticado por privado por el script que podria compartir el oop etc etc que os follen pues. os quedais sin
  12. Me Gusta
    unkoll got a reaction from Metin2Sparda in Script Server Statistics   
    #cierro, muchos me han criticado por privado por el script que podria compartir el oop etc etc que os follen pues. os quedais sin
  13. Gracias
    unkoll got a reaction from MiGueLiT0 in Script Server Statistics   
    #cierro, muchos me han criticado por privado por el script que podria compartir el oop etc etc que os follen pues. os quedais sin
  14. Me Gusta
    unkoll got a reaction from ArkaNo96 in Script Server Statistics   
    #cierro, muchos me han criticado por privado por el script que podria compartir el oop etc etc que os follen pues. os quedais sin
  15. Me Gusta
    unkoll reacted to ByBoom in Item-Shop Metin2 2014   
    Features: 
    - Select character/server
    - Security key  (default: GF9001)
    - Admin Panel
    - Add item with discount/tempo/bonus.
    - Run in Game.
    - Multi-Language (DE,FR,EN,PL,ES,RO)
     
    Download Link:Debes iniciar sesión para ver el contenido del enlace en esta publicación.
     
     
    Fonte: Metin2 Area
  16. Me Gusta
    unkoll got a reaction from Jeo in IPB Metin2   
    Un par de proyectos, ire actualizando a lo largo de los dias
    Efecto cuenta verificada en css, vamos que no es imagen.gif ni nada, es css y cuesta algo mas de hacer e incluso se podria implementar al cliente metin2

     
    Plugin foro IPB (como este) estadisticas del server, esta desactivado porque el metin esta off

    Estoy trabajando para tener conectada la web con el foro y el cliente, vamos que una misma cuenta valga para todo
     
  17. Me Gusta
    unkoll reacted to Tibelian in Web Avantador + Web simple con panel admin + Web HOW + Itemshop + Pago paypal   
    Pues si has leído el post: 
    Con razón publico todo esto gratis
     
    Web avantador: 
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. Mi primera web metin: 
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. Web Heart Of War: 
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. Itemshop: 
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. Pago por paypal: 
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
  18. Me Gusta
    unkoll reacted to  Pantsu  in [Release] Age of Ronin Website   
    Por si alguien quiere el PSD + Script de esta web del Age of Ronin (El script creo que no era publico). Aqui lo dejo todo con los respectivos creditos y lista para usar en vuestros servidores.


    Imagen Website: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Live Demo: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Link de descarga (Script): Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Link de descarga (PSD): Debes iniciar sesión para ver el contenido del enlace en esta publicación.
     
     


    Creditos:
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  19. Me Gusta
    unkoll got a reaction from paulo cesar caninde souza in [SOLUCIONADO] Armadura no visible   
    Llevo unas horas tratando de arreglar esto... ni con la ayuda de Debes iniciar sesión para ver el contenido del enlace en esta publicación. , reconoce las armaduras pero no el modelo.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    root - warrior_m.msm
    Group ShapeData200 { SpecialPath "d:/ymir work/pc/pewi_armor/Dragon/" ShapeIndex 69691 Model "dragon_warrior_m.gr2" SourceSkin "nu_m_sk_dragon003.dds" TargetSkin "nu_m_sk_dragon003.dds" } locale - item_list.txt
    69691 ARMOR icon/item/sura_prestigio.tga 69692 ARMOR icon/item/sura_prestigio.tga 69693 ARMOR icon/item/sura_prestigio.tga 69694 ARMOR icon/item/sura_prestigio.tga SERVER - item_names.txt
    69691 Arm. Test G +9 69692 Traje Test N +9 69693 Arm. Test S +9 69694 Tunica Test SH +9 SERVER y locale item_proto.txt
    69691 흑신철갑+9 ITEM_ARMOR ARMOR_BODY 2 ANTI_ASSASSIN | ANTI_SURA | ANTI_MUDANG | ANTI_SELL ITEM_TUNABLE WEAR_BODY NONE 120000 60000 12010 530 15 LEVEL 70 LIMIT_NONE 0 APPLY_MOV_SPEED -6 APPLY_RESIST_MAGIC 20 APPLY_NONE 0 0 90 0 69691 0 27 100 3 0 69692 흑풍+9 ITEM_ARMOR ARMOR_BODY 2 ANTI_MUSA | ANTI_SURA | ANTI_MUDANG | ANTI_SELL ITEM_TUNABLE WEAR_BODY NONE 120000 60000 12020 530 15 LEVEL 70 LIMIT_NONE 0 APPLY_MOV_SPEED -6 APPLY_RESIST_MAGIC 20 APPLY_NONE 0 0 90 0 69692 0 27 100 3 0 69693 흑마갑+9 ITEM_ARMOR ARMOR_BODY 2 ANTI_MUSA | ANTI_ASSASSIN | ANTI_MUDANG | ANTI_SELL ITEM_TUNABLE WEAR_BODY NONE 120000 60000 12030 530 15 LEVEL 70 LIMIT_NONE 0 APPLY_MOV_SPEED -6 APPLY_RESIST_MAGIC 20 APPLY_NONE 0 0 90 0 69693 0 27 100 3 0 69694 흑선의+9 ITEM_ARMOR ARMOR_BODY 2 ANTI_MUSA | ANTI_ASSASSIN | ANTI_SURA | ANTI_SELL ITEM_TUNABLE WEAR_BODY NONE 120000 60000 12040 530 15 LEVEL 70 LIMIT_NONE 0 APPLY_MOV_SPEED -6 APPLY_RESIST_MAGIC 20 APPLY_NONE 0 0 90 0 69694 0 27 100 3 0 PC y PC2 Descompilado

    syserr
    Clean El server y el cliente las reconoce, tienen los mismos atributos que la armadura acero.

    Las rutas están bien pero sigue sin reconocerlo.. a alguien mas le pasa? me estoy saltando algo?
    He probado con 2 modelos y nada..
    SOLUCION
    La solución está en el SOURCE, no se pueden tener armaduras con vnum tan alto, yo probe con el 69691 (demasiado alto) al bajarlo a 19691 ya funcionaba, también se puede cambiar en el source, gracias por la ayuda a [GabrieL] de j4m
  20. Caca
    unkoll reacted to autodesk_metin2 in Armadura   
    Aquí tienes.
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  21. Me Gusta
    unkoll reacted to 【ℛ-𝓝】ℛ𝔂𝓼𝒆 in [PACK]Nuevas armaduras + Estolas   
    Descarga: 
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  22. Me Gusta
    unkoll 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
  23. Me Gusta
    unkoll got a reaction from robertlavila in Metin2CMS v2.12   
    Foarte cool, si bine lucrat, am vazut cateva proiecte de ale tale si sunt utile, la cod as schimba cate ceva in rest perfect !!!
    Muy buen aporte compañero !
  24. Me Gusta
    unkoll 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.
     
     
  25. Me Gusta
    unkoll reacted to Dilong in Links de Archivos varios   
    Son archivos que tengo guardado etc,sin mas que decir
     
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.!ZWG6O-qsYrQg8KHLjOSBfw
    Carpeta 2:
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
×
×
  • Crear nuevo...