Jump to content

Buscar en la comunidad

Mostrando resultados para las etiquetas 'python'.

  • Buscar por etiquetas

    Escribe las etiquetas separadas por comas.
  • Buscar por autor

Tipo de contenido


Foros

  • Metin2 Zone
    • Comunidad
    • Presentaciones y despedidas
  • Servidores Privados
    • Presentaciones de Servidores
    • Presentación de Proyectos
  • General
    • Discusiones generales
    • Socios y Colaboraciones
    • Servicios y compraventa
    • Ayudas y preguntas
    • Opiniones y consejos
    • Offtopic
  • Técnica
    • Programación
    • Edición de servidores Metin2
    • Desarrollo Web
    • Seguridad
    • Sistemas Operativos
    • Informática
  • Arte
    • Diseño y sección gráfica
    • Galería de imágenes y vídeos
    • Modelado 3D
    • Mapping
  • Descargas
    • Servidores y Clientes
    • Modelos 3D
    • Imágenes Metin2
    • Mapas
    • Traducciones
  • Archivo
    • Servidores Offline
    • Temas Links Caidos

Encontrar resultados en...

Encontrar resultados que...


Fecha creación

  • Inicio

    Fin


Última actualización

  • Inicio

    Fin


Filtrar por número de...

Ingreso

  • Inicio

    Fin


Grupo


Email


Sitio web


Jabber


Skype


Discord


Localización


Intereses

Encontrado 16 resultados

  1. Buenas, como llevo tiempo sin postear nada y he visto alguien por el chat, que quería poner los escudos en las pestañas de las habis y tendrías que editar muchas tonterías, os traigo el cambiador de equipo, el de toda la vida, Change Equip / Fast Equip / Cambio de equipo rápido, como lo queráis llamar. Esto está más que posteado por todas partes, pero sin imagenes o falta de tabs etc, el sistema lo he sacado de mi propio servidor, así que si falta algo me lo comentáis. 1-Vamos a constInfo.py y agregamos donde queráis: 2-Vamos a nuestro game.py y añadimos en los imports: 2.1-ahora buscamos : 2.2-Y debajo añadís lo siguiente: 2.3-Al final del game damos un enter y pegamos lo siguiente: 2.4-Metemos el archivo uifastequip.py en root 2.5-Compilamos el root 3-Descompilamos uiscript e introducimos dentro el archivo fastequip_window.py 4-Descompilamos ETC y vamos a ymir_work > ui > aquí pegamos fastequip_window.dds 4.1-Seguimos en ETC y entramos en ymir_work > ui > game > windows y aquí pegamos fastequip_base.sub 5-Compilamos el root, uiscript y ETC, remplazamos en pack y presionamos el botón F7 si habéis dejado ese por defecto y listo. Si queréis usar un botón para vuestra barra lateral, hacemos lo siguiente: 1-Vamos a uiinventory.py y buscamos: 1.1-Un poco más abajo veremos donde tenemos los demás sistemas y añadimos con los demás lo siguiente: 1.2-Tiene que quedar algo así pero con vuestros sistemas/barra lateral: 1.3-Ahora buscamos un poco más abajo y agregamos con los demás: 1.3-Se tiene que ver algo así: 1.4-Un poco más abajo de eso, agregamos lo siguiente: 1.5-Se tiene que ver similar a esto: 1.6-Guardamos y compilamos nuestro root 2-Ahora depende tu barra lateral tendrás que editar el inventorywindow.py u otro archivo .py en uiscript.py, en mi caso es uiscript ,pero es lo mismo para ambos, así que editamos inventorywindow.py/o donde tengas tu barra lateral. y al final del último sistema añadimos: 2.1-tiene que quedar algo así: 2.1-Compilais locale/uiscript y root y tendréis el sistema en vuestra barra lateral. Notas: Tenéis que editar "x" e "y" a vuestro gusto para jugar con los parámetros de los botones, la guía es orientativa, puede variar a vuestros .py pero es funcional, si falta algo o no entendéis comentarlo. Resultado: https://i.gyazo.com/94303a5ca9308c6558d805bc195ace60.mp4 FastEquip.rar
  2. Bueno pues como dice el título aquí pondré muchos fix que he ido viendo, probando y visto, y encontrado, no cabe decir que siempre haz copia de tus archivos antes de realizar ningún paso de a continuación. data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== y lo remplazamos por el siguiente: data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== ##Instalado y funcionando. créditos: Paszka 2-Algo muy simple, todos sabemos que si escribías en masa a una persona podías llegar hacer que se congelara o le echara dependiendo su pc y el lag y todo eso, este es un fix de ese mini kickhack, hay muchos más fix y una mejor solución sería poner el sistema anti spam y eso, pero bueno aquí lo dejo. -Vamos a nuestro src game/char.h Ahora buscamos lo siguiente: data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== Antes de eso agregamos esto: data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== Ahora vamos a char.cpp y al final del todo añadimos: data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== Ahora en el mismo archivo buscamos lo siguiente: data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== Y debajo de eso agregamos: data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== Para terminar vamos al archivo input_main.cpp y buscamos: data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== Debajo añadimos: data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== Buscamos por último: data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== Y añadimos: abajo data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== ##No instalado y no probado. créditos: Marchewa data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== Simplemente lo comentamos con el // y listo. Ahora para quitar el shutdown o que solo puedan usarlo los <[GM's]> vamos a cmd_general.cpp y buscamos: data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== Y remplazamos la función por la siguiente: data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== ##Probado y funcionando. 4-Poder crear nombres más largos al crear un personaje, ya que el límite es de 12. Vamos a nuestro src del game y abrimos el archivo input_login.cpp y buscamos: data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== Ahora remplazamos o añadimos lo que falta por: data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== ##Probado y funcionando. y añadimos lo siguiente: Ahora vamos char.cpp y buscamos: Y a continuación añadimos: Ahora nos vamos al source del cliente, editamos el packet.h y buscamos: Ahora añadimos lo siguiente: Ahora nos vamos a PythonNetworkStreamPhaseGameActor.cpp y buscamos: Y añadimos lo siguiente: Ahora buscamos NetworkActorManager.cpp y buscamos: Y ahora añadimos lo siguiente: Ahora abrimos el NetworkActorManager.h y buscamos lo siguiente: Y añadimos lo siguiente: Abrimos InstanceBaseEffect.cpp y buscamos: Y añadimos lo siguiente: Ahora buscamos lo siguiente: Y añadimos lo siguiente: Ahora abrimos el InstanceBase.h y buscamos: Y añadimos esto y terminaremos. ##Probado y funciona 6-Inyección SQL con este tendremos una pequeña de tantas medidas para el tema de inyecciones. para ello vamos al source game y abrimos el archivo DB.cpp y buscamos: Y ahora remplazamos toda la función por lo siguiente y estaremos listo: ##Implementado pero no puedo confirmarlo al 100% porque no recibo ataques. 7-Mejora de sysser, aunque todos pensamos que esto arreglará todos los problemas del sysser no es así, lo que hace esto, es crear un archivo sysser cada vez que abramos el cliente con su fecha y todo, así lo tendremos ordenado y podremos observar los diferentes fallos a lo largo de los días si no nos acordamos de la última vez, algo práctico siempre y cuando no seas torpe. Para eso vamos al source del cliente, en la carpeta EterBase y buscamos el archivo Debug.cpp y buscamos lo siguiente: Y a continuación remplazamos toda la función por la siguiente: Nota##: para que os funcione, tenéis que crear una carpeta con el nombre que le hayáis puesto en el source, en mi caso y como en la guía mi carpeta se llama "syserr" ##Funciona implementado 8-Añadido también aquí el fix del herrero que no destruía items. buscas bool CHARACTER::DoRefine(LPITEM item, bool bMoneyOnly en Char_item.cpp del servidor y remplazamos la función por esta: 9-Buff en party Se que hay muchos tutoriales de como añadir buff en un grupo con los chamanes, pero siempre hay algún bug, de que no funciona, o con el tiempo deja de funcionar, etc. Este funciona ya que lo tengo implementado, si estás en grupo, solo puedes dar auras a los miembros del grupo, esto quiere decir, que si viene alguien que no este en el grupo. no podrás darles auras (aunque hará el efecto), si dejas el grupo, todo volverá a la normalidad, podrás darles auras a todo los jugadores. #Funciona Implementado : https://i.gyazo.com/301882a2dc2a4d95c433162cf1bf6908.mp4 Ahora remplazamos toda la función por esta: Para cambiar los colores tenéis que cambiar esto: D3DXCOLOR(152.0f / 255.0f, 255.0f / 255.0f, 51.0f / 255.0f, 1.0f); #Funciona (pero lo tengo desactivado) 11.Problema al abrir un sistema con un recuadro negro a la hora de escribir, como el caso de @seus1970 el fix es el siguiente: 1.Vamos a nuestro constInfo y añadimos en cualquier parte: Guardamos y vamos nuesgro game.py y buscmaos: Remplazamos toda la función por la siguiente: añade los tabs y listo. #fix funcional y testeado prueba: Prueba 12.Las bolas Polimorfas no funcionan - Gracias @caanmasu + Fix que algunos no hacen daño, ya que debería darnos un bonus extra de ataque o solo funciona para alguna raza. 1-Para el fix vamos a nuestro source game y editamos el archivo char.cpp y buscamos: Ahora remplazamos toda la función hasta if (IsPC()) por la siguiente: 2.Ahora para que funcione el drop de las bolas_polimorfas y funcione al dar click, hacemos lo siguiente: 1.1-Vamos a nuestro navicat / mob_proto.txt y buscamos la columna : polymorph_item En esta columna, a veces vienen completa, o vacía, bueno, aquí pondremos el id de la bola que va a dropear, puede ser : 2.1-Ahora elegimos la que vamos a querer, que tire el mob. NOTA: Con eso hacemos que se asigne ese mob a ese id, lo que significa que cuando el mob tire esa bola se transformará en ese mob que lo dropea. Nota2: Podemos ir poniendo el id que queramos de esos en todos los mobs, o usar el mismo id en todos. 3.Una vez echo eso, vamos a nuestro Winscp/FTP hasta encontrar el archivo: Como sabéis aquí va el drop de los mobs, ahora, si habéis puesto el mismo id en polymorph_item le ponéis ese id a todos los mobs, si habéis puesto otro distinto a cada mob, buscáis el grupo de cada mob y le ponéis el id correspondiente. #Funciona implementado: https://i.gyazo.com/5b758b6ef640c066f54bfa4494ecd709.mp4 13.Fix bug de que aveces usa .txt o usa sql, <-también sirve para dejar tus files por sql o por txt. 1.Primer paso, vamos a nuestro src db y editamos el archivo -> ClientManagerBoot.cpp: buscamos la siguiente línea: Bien, esa es la función que hace que usemos .txt o sql. Si queremos que sel servidor sea por sql, los comentamos así: Bien, si queremos que sea por .txt puede pasar 2 cosas, que tengas un #ifdef, por ejemplo #ifdef NOT_ENABLE_TXT que lo que hace es que ejecute sql siempre. entonces la solución es bloquear todo los #ifdef #else y #endif que tenga el #idfed NOT_ENABLE_TXT o tu función. O el segundo caso que lo tengas ya comentado con /* y */ entonces los quitamos para que se active la función. 2.Ahora buscamos un poco más abajo las funciones : bool CClientManager::MirrorItemTableIntoDB y bool CClientManager::MirrorMobTableIntoDB() Bien, una vez localizadas las funciones, si queremos que sea mediante .sql las comentamos con // o /* y */ . Si queremos que sea por .txt, si tienen // o /* y */ lo quitamos, y si usamos un #ifdef algo, normalmente tienen: pues quitamos el ifdef, else y endif y su función o la comentamos, (ahora dejaré un ejemplo.) y a compilar! Este sería un ejemplo, para los files MartySama v4 que se que hay mucha gente que lo usa. está función, es la original, leyendo sql o con el bug mencionado anteriormente. (solo pondré las funciones si no se hará muy largo: Y esta la función corregida y que utilize .txt: #Funciona instalado, testado. 14.Fix título de todas las offlines shops, cuando hay tiendas al entrar al juego, o x cosa, nos sale arriba a la izquierda, muy famosa en la shop de Ken y great (funciona para todas) 1.Vamos a nuestra carpeta root y editamos el archivo uiofflineshopbuilder.py (ken, kory, tc, etc) o uiprivateshopbuilder.py (great, una propia, etc) buscamos: y remplazamos por: Ese es el método 1, lo que hace, es que corrige la posición de la flecha de los ajustes, es decir, ya no te hace falta moverla, una vez inicias sesión, ya a parece las tiendas de forma normal, en caso que quieras quitar el título por x motivo, vas a ajustes y realizas la operación. 2.Dejamos el paso anterior de forma original sin modificar, y buscamos: y remplazamos por: Con este 2 método, lo que logramos, es que podemos quitar el botón o la función, como queráis llamarlo, de mostrar o ocultar títulos de tienda, con eso, siempre estará activada. #Funciona instalado, testado. 15.Quitar la tasa de 3% al vender un objeto + que al vender item nos lo venda a 0 yang. 1.Para la tasa vamos a los archivos shop.cpp & shop_manager.cpp y buscamos en ambos archivos: y remplazamos por: 2.Vender todo a 0 yang, vamos a shop.cpp y buscamos: reemplazamos por: #Funciona, testado. 16.Si tenéis tiempo a la hora de cambiar un bonus, (tienes que esperar x minutos/horas/dias/etc) y en los configs, no disponéis de la función TIME_CHANGE_BONUS o algo así esta es una solución alternativa, vamos a char_item.cpp y buscamos: y remplazamos por esto: 17.Hemos creado un nuevo refine_vnum con sus items para mejorar, pero solo me pide yang. Izquierda bug, derecha corregido : -Esto se debe a que si utilizamos vnum4 y count4, el refinamiento ya no funcionará porque utiliza material_count = 0 y no detecta ninguna columna "vnum" que sea 0. -Para solucionarlo nos vamos a nuestro src db archivo ClientManagerBoot.cpp y buscamos: if (prt->materials[i].vnum == 0) { prt->material_count = i; break; } y remplazamos por : if (!prt->materials[i].vnum || !prt->materials[i].count) break; prt->material_count++; -Tiene que quedar algo así: for (int i = 0; i < REFINE_MATERIAL_MAX_NUM; i++) { str_to_number(prt->materials[i].vnum, data[col++]); str_to_number(prt->materials[i].count, data[col++]); if (!prt->materials[i].vnum || !prt->materials[i].count) break; prt->material_count++; } 18.Arreglar ITEM_QUEST, CONFIRM_WHEN_USE , etc en los items. -Este problema surge cuando queremos usar ciertas funciones en los items, como por ejemplo STACKABLE para apilar (no ITEM_STACKABLE), CONFIRM_WHEN_USE (te pregunta si quieres usar el objeto, como anillo de exp, guante, etc) o ITEM_QUEST para como indica usar el objeto para una quest, resulta que por alguna razón, los valores no coinciden y en algunos casos no existe ni ciertas definiciones así que seré muy breve, vamos al grano. 1.Vamos a source game -> Item_lenght.h buscamos la función y la remplazamos por lo siguiente: 2.Vamos source DB -> ProtoReader.cpp buscamos la función y remplazamos: 3.Compilamos DB y Game, y de mientras vamos al source cliente -> GameLib -> itemData.h buscamos la función y remplazamos: 3.1.Ahora vamos a UserInterface -> PythonItemModule.cpp y comentamos esta linea: 4.Para finalizar vamos a nuestro source de dum_proto ->ItemCSVReader.cpp y buscamos y remplazamos: Y listo, ya tendremos todo funcionando, ejemplo de lo que puedes hacer: Gracias a @caanmasu por orientarme para el fix https://i.gyazo.com/00ee5c60c4d493a058c9737f512198ec.mp4 Iré actualizando todos los días que me sea posible con nuevas cosas. Actualizado 31/03/2020 Actualizado 02/04/2020 Actualizado 03/04/2020 Actualizado 16/04/2020 Actualizado 26/04/2020 Actualizado 18/05/2020 Actualizado 21/05/2020 Actualizado 28/05/2020 Actualizado 05/ 06/2020 Actualizado 20/03/2021 Actualizado 16/09/2023
  3. Buenas, esto vale para cuando veas el nombre de un Atuendo/Peinado, el nombre salga a color ( tipo rareza ), es totalmente manual y lo clasifica uno mismo. 1. Descompilamos root y abrimos uiToolTip.py 2. Hacemos la siguiente guía #BUSCAMOS def __SetItemTitle(self, itemVnum, metinSlot, attrSlot): if localeInfo.IsCANADA(): if 72726 == itemVnum or 72730 == itemVnum: self.AppendTextLine(item.GetItemName(), grp.GenerateColor(1.0, 0.7843, 0.0, 1.0)) return if self.__IsPolymorphItem(itemVnum): self.__SetPolymorphItemTitle(metinSlot[0]) else: if self.__IsAttr(attrSlot): self.__SetSpecialItemTitle() return self.__SetNormalItemTitle() #DETRAS DE def __SetItemTitle(self, itemVnum, metinSlot, attrSlot): #DAMOS ENTER Y PEGAMOS lista_vnums_mitico = [41001, 41002] lista_vnums_legendario = [41003, 41004] lista_vnums_epico = [41005, 41006] lista_vnums_raro = [41007, 41008] lista_vnums_pococomun = [41009, 41010] lista_vnums_comun = [41011, 41012] #DETRAS DE if self.__IsPolymorphItem(itemVnum): self.__SetPolymorphItemTitle(metinSlot[0]) else: #Damos ENTER Y PEGAMOS for line in lista_vnums_mitico: if line == itemVnum: itemName = item.GetItemName() self.SetTitle("|cffE88C33|h" + itemName) return for line2 in lista_vnums_legendario: if line2 == itemVnum: itemName = item.GetItemName() self.SetTitle("|cffD70101|h" + itemName) return for line3 in lista_vnums_epico: if line3 == itemVnum: itemName = item.GetItemName() self.SetTitle("|cffA021EF|h" + itemName) return for line4 in lista_vnums_raro: if line4 == itemVnum: itemName = item.GetItemName() self.SetTitle("|cff00BFFF|h" + itemName) return for line5 in lista_vnums_pococomun: if line5 == itemVnum: itemName = item.GetItemName() self.SetTitle("|cff00AA4C|h" + itemName) return for line6 in lista_vnums_comun: if line6 == itemVnum: itemName = item.GetItemName() self.SetTitle("|cff7E7E7E|h" + itemName) return 3. Compilamos root Respuestas básicas: Tienes una imagen para ver el release. Click Así debe de quedar el código. Click Para agregar el artículo que desees solo debes de escribir la id en el apartado que quieras: lista_vnums_mitico = [41001, 41002] (41001 ejemplo de id de atuendo - 41002 ejemplo de id de peinado) Un saludo, espero que a alguien le valga.
  4. Hola buenas tardes, acá les dejo un tutorial de como cambiar el texto para los items en tienda que valgan "0 Yang" y diga "Precio : Gratis", a mi parecer es mas cómodo ver la segunda opción pero ahí los dejo a sus gustos , comenzamos! 1. Abrimos uitooltip y buscamos: def AppendPrice(self, price): Y modificamos todo por: def AppendPrice(self, price): self.AppendSpace(5) if price == 0: self.AppendTextLine(localeInfo.TOOLTIP_BUYPRICE_FREE, self.GetPriceColorFree(price)) else: self.AppendTextLine(localeInfo.TOOLTIP_BUYPRICE % (localeInfo.NumberToMoneyString(price)), self.GetPriceColor(price)) encima del def AppendPrice ponemos lo siguiente: def GetPriceColorFree(self, price): if price == 0: return self.GREEN_COLOR_PRICE_FREE Una vez hecho esto, buscamos en el mismo archivo: LOW_PRICE_COLOR = grp.GenerateColor(0.7, 0.7, 0.7, 1.0) Y abajo agregamos: GREEN_COLOR_PRICE_FREE = 0xff8EC292 Por último vamos a : locale/es/locale_game.txt y ponemos hasta el final: TOOLTIP_BUYPRICE_FREE Precio : Gratis Como resultado nos quedará así un ítem que valga 0 yang : No es nada del otro mundo pero para el que le sea útil ahí lo tiene Saludos!
  5. 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. LINK. (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: LINK. 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: LINK 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... 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: LINK. Y HASTA AQUI LA GUÍA. Especiales agradecimientos a los autores de dicho trabajo como Reboot y Shisui. 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 ! ! ! Canal YouTube para desarrollo metin2
  6. ¡Bienvenidos colegas de Metin2Zone! Hoy les presento mi primer tema en el foro, les traigo un proyecto que estoy comenzando a desarrollar el cual llamo "Administrador Total" o por su siglas AT y que sera gratuito para la comunidad. El programa esta realizado desde su raíz completamente por mi, trabaja bajo el lenguaje de objeto pascal y una framework bastante especial e elegante que logre dominar en mis últimos estudios. Voy a estar subiendo constantemente actualizaciones al tema, con los avances y los nuevos links de descarga. El programa tendrá 2 versiones para usarse ustedes pueden optar por la que crean mas cómoda, paso a comentarles cuales son: 1) El programa consta de 1 solo archivo que sera una librería, si, un .dll el cual se llamara AT.dll este se debe montar como isapi en un servidor IIS (Internet information services) y bueno redirigiendo las paginas como deben obtendrán el programa funcionando en la web. 2) El programa consta de un carpeta "servidor", la cual deben instalar en su dedicado o el servidor que usen para hospedaje web, habilitar el puerto 8028 (80 por servicio web, 28 por las siglas AT) y si esta todo bien instalado ejecutan el .exe que se encuentra en la carpeta servidor, este levantara un servicio y funcionara como servidor sin tener que realizar la tarea compleja de montar un servicio sapi en IIS. En mi opinión, prefiero por estética y seguridad la opción de montar un servicio ISAPI en IIS. Pero como es una tarea compleja para alguien que nunca monto un isapi en IIS, se puede optar por la salida fácil que también se las brindo. AT - v0.0.1 (Fecha de publicación: Lunes 15 de Enero de 2018) Hay que tener en cuenta que es la primer versión del programa, por lo tanto es sencillo no tiene muchas opciones actualmente, pero día a día sigo agregando cosas y programando nuevos menús, los cuales iré subiendo en nuevas versiones. Se agradece cada granito de arena que aporten con ideas nuevas para el programa y cosas que creen necesarias agregar que faciliten el mantenimiento y control de un servidor desde un solo programa integral. Instalación del Sistema Método por ISAPI Método por Servidor Local Fotos del Sistema Descargas Por ahora solo les presento el proyecto que voy a ofrecerles, y de paso, ya dejo armada la guía de como instalarlo, en cuanto termine la primer versión por completo y pase la prueba de testeo sera subida la descarga, el tiempo estimado es el lunes 15 de enero, luego iré actualizando el post con nuevas fechas de lanzamiento de nuevas actualizaciones, sera básicamente el mismo método, les diré el numero de versión el contenido nuevo que tendrá y la fecha en que se estima que estará subida para descargar. A medida que voy realizando cosas nuevas voy ampliando la galería de fotos, claramente no puedo poner fotos de TODO lo que contiene el programa, pero pondré variadas para mostrar aproximadamente como es el programa en cada menú. Para los que controlan servidores en masa en alguna empresa o trabajaron de algo parecido, podría decirles que estoy intentado crear una especia de Nagios (para los que lo conocen, en el ámbito de servidores es muy conocido por las empresas que contienen una cantidad increíble de servidor que mantener bajo control) pero exclusivamente para Metin2 sumado a muchas otras opciones mas de mantenimiento especificas de Metin2. Muchas gracias por leerme, espero que les guste mi proyecto y aporte. Cualquier idea que se les ocurra es muy bienvenida.
  7. [Cliente/Root] [binario/EterPythonLib] Imagen: Saludos!
  8. Buenas a Todos/as En este sección se estará actualizando con proyectos nuevos y sistemas en venta. ***Extra Equipment Page [C++/Python]*** 15/05/2022 ***BlackJack [C++/Python]*** 12/04/2022 ***Flower Event [C++/Python]*** 23/02/2022 ***Fast Equip [C++/Python]*** 10/11/2021 ***SwitchBot [C++/Python]*** 27/03/2021 ***Elemental Spell [C++/Python]*** 26/08/2020 ***Stone (Add - Change - Transfer) [C++/Python]*** 05/06/2020 ***Bonus 6&7 [C++/Python]*** 30/04/2020 ***Multi Refine [C++/Python]*** 16/01/2020 ***Cube Renewal [C++/Python]*** 27/09/2019 ***Search Drop Item[C++/Python]*** 25/08/2019 ***Change Bonus Alchemy [C++/Python]*** 20/04/2019 ***Hide Costume Final Version [C++/Python]*** 25/10/2018 ***Emotions V0.1 [C++/Python]*** 04/10/2018 ***MailBox v0.1 [C++/Lua/Python]*** 21/05/2018 ***Use System v0.1 [C++/Lua/Python]*** 07/12/2017 ***Gaya System v0.1 [C++/Lua/Python]*** 06/07/2017 ***GiftsCode V0.1 [C++/Python]*** 11/04/2017 ***Change Bonus V0.1 [C++/Python]*** 16/02/2017 ***Search Chest [C++/Python]*** 31/01/2017 ***Search Shop [C++/Python]*** 23/11/2016 ***Tienda Decoracion [C++/Python]*** 28/10/2016 ***Interfaz Illumina [Python]*** 01/03/2016 PD: *La instalacion de cualquier sistema mencionado aqui es totalmente gratis. *El arreglo de cualquier bug o problema que tenga dicho sistema .Se fixea sin ningun costo. *Se realizan trabajos a pedidos ya sea en c++/python/lua. Precio por skype: felipe.ardila8
  9. Hola, buenas tardes a todos. primero que nada, quiero aclarar que este curso es para todo aquel que tenga interés de aprender a programar, o bien, mínimo que quiera tener conocimientos básicos de programación para incorporación de sistemas, crear sus propias funciones, crear quest (aun que ya haya guías de esto), y, pues bueno, quiero aclarar que esta tendrá un "mini taller", donde pediré practicas, no con el fin de probar que saben, si no que se comprueben a ustedes mismos que saben, mínimo la idea es que lo comprendan, me he dado cuenta que últimamente la gente esta comprando muchos sistemas por "falta de conocimiento", y lo enfatizo así por que esto ya es un negocio, pero bueno. recuerden que aquí solo daré bases para que ustedes puedan hacer sus propias cosas. El curso lo haré a diario, sinceramente no sé cuantos capítulos tendrá de cada uno... y pues bueno, mañana subiré el primer capitulo de c++, pasado de python, después de lua, y por ultimo de php. Tomar en cuenta lo siguiente (No dire de donde sacarlo, eso os corresponde a vosotros mismos): En caso de c++ tener un entorno de desarrollo (visual studio o dev c++, borland, entre otros). En caso de python tener la IDE de python, o cualquier interprete donde podamos correr nuestros progrmas. En caso de lua tener su correspondiente IDE (personalmente pueden probar con metin, eso da igual.). En caso de php tener WAMP, XAMPP o cualquier motor con apache o tambien con hosting, hay muchas partes donde se puede trabajar para ver los resultados. Insisto, no lo daré orientado especialmente a metin2, pero les aseguro que comprenderan muchas cosas, como por ejemplo, los [TAB] de python porque a muchos les tira problemas al momento de instalar algo. Bueno, nos vemos, buena suerte. PD:Si alguien quiere cooperar con las guias, adelante. ++PLUS++ Enseñaré a hacer consultas a base de datos, SQL, MYSQL, MARIA, entre otros, sí es que todo sale bien y se ve interes, así como el manejo de archivos txt, por ejemplo, para darle lectura desde lua para sistemas y crear sistemas como OFLINE mensaje, etc, aunque hay muchisimas ideas. Bueno, hasta luego.
  10. Hola amigos, para aquellos que sepan del tema me gustaria saber como llamar un efecto desde un def y es que he tratado de buscar en el cliente pero no encuentro algo que me oriente solo se que tendria que llamar al mse, quiero que se realice algo como esto solo me gustaria saber como llamarlo
  11. Tengo un boton en el menuboard que sale una I, me gustaría poner una quest en el botón, alguna idea?
  12. Hola, bienvenidos ps e decidido ya que no tengo mucho tiempo hacer los tutoriales en video, porque los escrito me demandan mucho tiempo, y e aqui le presento el primer video tutorial de programacion en python espero que les guste y les sirva. Saludos http-~~-//youtu.be/nX90gMXcgfk MEJOR VISUALIZACIÓN 740 HD Descargar el programa: Clic aqui JoseKS por joseksprogramacion se encuentra bajo una Licencia Creative Commons AtribuciÓn-NoComercial-SinDerivadas 3.0 Unported. Basada en una obra en joseksprogramacion.blogspot.com. Permisos que vayan más allá de lo cubierto por esta licencia pueden encontrarse en metin2zone.net .
  13. Bueno chicos, me estoy iniciando en Python, con algunos videotutoriales que llevo ya empollados, y un nuevo libro que me estoy leyendo, y todo lo que estoy aprendiendo os lo voy a transmitir a vosotros paso a paso. En esta sección ya tenéis el primer capítulo, este lo iré desarrollando y abriendo nuevos temas para cada parte de este capítulo, como haré con todos los demás. Este post lo usaremos para dudas, y preguntas, que os resolveré yo desde aquí, mientras que los otros serán solo de lectura y teoría. Ademas este post lo usaremos también para realizar nuestros ejercicios y tal, todas las prácticas y dudas las iremos poniendo aquí. Curso Python por Serex, Metin2Zone Primer capítulo -> Manual básico de Python -> http://metin2zone.net/index.php?/topic/2581-capitulo-1-manual-basico-de-python/
  14. BIENVENIDO A LA TERCERA GUÃA DE PROGRAMACIÓN EN PYTHON HOY NOS INTRODUCIREMOS EN EL EDITOR E IMPORTARLOS Y INTENTAREMOS HACER UNOS EJERCICIO En esta Guia Utilizaremos los terminos ya vistos si no vieron las anteriores guia los invito a verlas haciendo clic sobre ellas: -Guia1 -Guia2 Bien, para comenzar necesitaremos algún editor IES cualquiera funciona hasta el notepad pero les recomiendo que utilicen, el editor geany ya que no es tan complicado. para descargarlo pueden darle clic aqui, una ves descargado e instalado PODEMOS COMENZAR: Abrimos el Editor y primero guardaremos el archivo en la carpeta De python porque sino no lo encontrara en el .exe (osea en la ruta donde esta en mi caso es C:Python27) lo guardamos con un nombre ejemplo guia3mz.py una vez gardado definiremos una funcion con el nombre Bienvenido y el parametro nombre le damos enter y ponemos print seguido de las "" y el mesnaje que le queremos dar seguido de la , y el parametro impuesto anteriormente: guardamos e abrimos el interprete y pondremos import y el nombre como lo hemos guardado en mi caso guia3mz (sin el .py) una ves echo esto llamaremos a funcion como lo emos importado tendremos que poner adelante el nombre del archivo (luego veremos como evitar esto) seguido de un .(punto) y el nombre de la funciÓn (Bienvenido) y entre parentesis el un nombre X (pondre usuario yo no es un nombre pero para ejemplo); y como ven nos da la bienvenida Ahora para evitar llamar la funcion con el nombre del archivo al importar podemos poner from guia3mz import * Ejercicio Polinomio: recordemos para los que no lo allan visto en su colegio un polinomio es una formula matematica que es y= a*x2 + b* x + c raiz= y vale 0 cuanto vale x: ?? X= (-b +- raiz(b2-4a*c))/2a Bien aremos un programa para calcular esto 1- Crearemos un archivo con el nombre Ejercicion1mz.py 2- crearemos una funcion (la llamare raiz) y le daremos de parámetro (a,b,c): dentro de ella (acuérdense de darle tab) pondremos que x1 va a ser = (-b + (b*b-4*a*c)**(1/2.0))/(2.0*a) EXPLICACIÓN: -los dos ** significa que se eleva por 2 -despues de / se pone 2.0 porque en python si ponemos 2 toma que es un numero entero y nos dara un resultado entero icorecto osea 1/2 me dara = 0 en ves si ponemos 1/2.0 nos dara como resultado 0.5 un resultado exacto Luego seguimos con x2 que va a ser lo mismo pero con signo menos(-) seria: = (-b - (b*b-4*a*c)**(1/2.0))/(2.0*a) y agregaremos que nos devuelva x1,x2 con return: -Bueno Guardamos y nos dijimos al interprete e importamos el archivo con el nombre puesto: llamamos a la funcion raiz con los parametrons (1,1,-2) (un ejemplo que esos sean los datos que nos allan dado) y finalmente nos dara las raizes de nuestro polinomio. Terminamos con esta guÃa, en la siguiente haremos otros ejercicios y agregaremos algunos nuevos términos , dudas preguntas hacerla en el post o mp como quede mas cÓmodo evitar insultos y falta de respeto si me equivoque en algo avisarlo y lo corrijo sin ningún problema ademas disculpen los errores de ortografÃa saludos Derechos de autor de la guÃa propios, no copy paste en ningún lado GRACIAS Dar gracias no cuesta nada Y:
  15. Bienvenido a La primera guia instalacion e itroduccion a python -INSTALACION: Para comensar aprender programacion con python lo esencial es el programa podemos descargarlo de la pagina oficial gratuitamente haciendo clic aqui y seleccionando el adecuado para su sistema 2- una ves instalado, nos dirijimos a abrir python.exe (Python (command line) ese es el -interprete de python, el iterprete es un programa donde python iterpreta las ordenes que les damos un ejemplo sensillo es una suma 2+2 interpreta que es una suma y te devuelve el resultado osea 4 igual con todas las operación matemáticas (multiplicación, divicion, resta, suma etc) solamente no es operaciones matemáticas sino con letras un ejemplo lógico es el comando print -Print: cumple la función de devolverte lo que escribes ejemplo: primero va el print seguido de las comillas entre ellas pones una palabra al darle enter te debulve lo puesto anteriormente: bueno ya visto esto que es una introducción pasamos a las -funciones que lo que es la funciones: es una programación la cual al llamarla cumple una función ya definida osea ya programada para crear una función primero se coloca def seguido de una palabra definida por ustd ejmplo: def metin2zone y le agrega unos paréntesis quedando: luego apretas enter y creas la funcion para programarla tenemos esta dentro del cuerpo (dentro de ella) lo que tendrias que apretar el tab eso es porque python iterpreta que estas dentro de la funcion Al estar adentro aplicamos lo ya visto: Agregamos un print "Hola Metin2Zone" enter y tab y print "Chau Metin2Zone" apretamos dos enter y listo. Ahora para llamar a la funcion solo ponemos el nombre que le designaron (en mi caso Metin2Zone). seguida de los parentesis () y se imprime lo puesto anteriormente, Seguido a esto veremos la -Variable: Las variable son útiles para guardar información e usarla mas tarde en ella se puede guardar cualquier tipo de carácter, (letra numero símbolo etc) Seguramente en matematicas vieron operaciones en donde X era igual a un numero aqui seria parecido, ejemplo X= 3 Seria va X (que es la variable) luego el igual seguido de un espacio y el numero a asignar y si ponemos x *(por) 3 nos dara como resultado 9 porque definimos que X es igual a 3 no solo se le puede agregar a x o Y sino tambien a nombres : tambien se puede agregar a una operaciones variable con palabras ejemlo Tambien puedes hacerlo con palabras osea al nombre en ves de agregarle un numero le pones una palabra y nos imprimira dos veses la plabra -Combinacion podemos convinar las dos funciones vistas anteriormente, un ejemplo si queremos crear un programa que salude a nuestro usuarios creamos una funcion agregando def seguido del nombre que le asignan y los paréntesis, dentro de ello ponemos el parametro nombre, (el que le pedirá al entrar al usuario) le damos enter luego un tab y creamos un print con el paramatro nombre como indica la imagen les damos los dos enter y la llamando con el nombre asignado Bienvenido y entreparentesis con comillas su nombre Ejemplo: Bienvenido("Joseks") y nos dara la bienvenida: En nombre iría el nombre del usuario no Joseks es un ejemplo Bueno eso es todo por ahora espero averles dado una idea mas clara de la programación en python luego seguir con mas guías, dudas preguntas hacerla en el post o mp como quede mas cómodo, evitar insultos y falta de respeto si me equivoque en algo avisarlo y lo corrijo sin ningún problema ademas disculpen los errores de ortografía saludos hasta la proxima. Derechos de autor de la guía propios, no copy paste en ningún lado GRACIAS
×
×
  • Crear nuevo...