Jump to content

Break

Admin
  • Posts

    6,999
  • Joined

  • Last visited

  • Days Won

    43

Reputation Activity

  1. Like
    Break got a reaction from MiGueLiT0 in Servicio de Correo SMTP - sendinblue.com   
    Hola Zoneros, 
    En el día de hoy me he fijado que GMAIL, ya no permite el acceso de aplicaciones menos segura. Muchos os preguntareis bueno como nos influye

    Debes iniciar sesión para ver el contenido del archivo adjunto en esta publicación.  
    Mucho de nosotros utilizamos la página web de
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. con diferentes diseños, pero el código de PhpMailer seguramente sea el mismo, por lo que ya no se puede utilizar el gmail para la recuperación de contraseñas o las interacciones del usuario con la web. Otra opción es que se puede utilizar el mismo servidor (host) como emisor de los correos pero esto da problemas a la larga como meter la ip del hosting como spam o que muchos servidores de correo rechacen los mensajes, pero estuve indagando y encontré sendinblue.com, como sustituto de gmail. Lo he probado y la verdad que da buenos resultados, mandan los correos como promoción y ya no te chapan la ip del hosting como spam. Dejo la configuración de sendinblue para estas páginas webs de cms, si alguien necesita ayuda de como configurar la api que lo diga y amplio el mensaje.     $SMTPAuth = true;
        $SMTPSecure = "tls";
        $EmailHost = "smtp-relay.sendinblue.com";
        $emailPort = 587;
    Un saludo!
  2. Like
    Break reacted to Esenn2 in Esenn2 - Internacional PVM 04.02.2023   
    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. Esenn2 Servidor Internacional PVM/PVP 60/40
    BETA dia 04/02/2023


     
  3. Like
    Break reacted to SzC in Rustory.org Servidores de Rust Vanilla "Main, Trios"   
    Desde Rustory nos complace comunicar nuestros servidores Vanilla de Rust, los cuales podrás disfrutar desde hoy, se [email protected] a nuestra comunidad!   Discord: Debes iniciar sesión para ver el contenido del enlace en esta publicación. Facebook: Debes iniciar sesión para ver el contenido del enlace en esta publicación.   Servers: [EU] Rustory Servers Rust Localización, Núremberg en Alemania. [EU] Main Mondays client.connect Debes iniciar sesión para ver el contenido del enlace en esta publicación. steam://connect/main.rustory.org:28015 [EU] Trios Mondays client.connect Debes iniciar sesión para ver el contenido del enlace en esta publicación. steam://connect/trio.rustory.org:28215
  4. Like
    Break reacted to ALEXANDER2020 in 47 Monturas 27 Mascota [Pequeño archivo compartido ESPECIAL PARA MT   
    Gracias por compartir.
  5. Like
    Break reacted to cstrikeman in nuevo miembro :D presentacion   
    buenas a todos, despues de un lapso considerable(2007/2011) en la creacion de servidores de metin2, modificacion y demas gimp, notepad++, etc
    he vuelto a caer en las redes del m2(que recuerdos del .es 😄 ) y quisiera montarme uno privado en un ordenador viejuno que tengo (fujitsu D3003S1X, con 4 gigas de ram y 256 gigas de msata, grafica integrada ati radeon 6250). me podriais guiar a por un cliente y un server file sencillito (estilo 2007) o lo mas limpio posible, ya os digo es para lan(recuerdo que usaba el filezilla, navicat y el virtual pc o box)
    sin mas os agradezco vuestro tiempo, un saludo.
  6. Like
    Break got a reaction from Lord Ahriman - 3D Modeler in Armas de la vieja escuela mejoradas! - Free   
    +1
  7. Like
    Break reacted to Lord Ahriman - 3D Modeler in Armas de la vieja escuela mejoradas! - Free   
    Saludos a todos, vengo a compartir estas 3 armas "fixeadas" con mayor detalle en el specular, y un poco mejor en sus dimensiones:


    Dejo unos gifs y 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.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
     
    link de descarga:

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
     
  8. Like
    Break reacted to Schyck in Azyrah.net | Internacional | PVM | Apertura 14.01.2022   
    AZYRAH
    Os damos la bienvenida a Azyrah: Un proyecto a nivel internacional que se viene desarrollando hace mucho tiempo y finalmente puede salir a la luz.
    Nuestro objetivo es mantener la esencia original del juego, para ello hemos dejado casi idénticos los sistemas que encontrarás en el servidor oficial, con alguna modificación y nuevos sistemas para facilitar la jugabilidad.
    Si quieres jugar en un servidor estable, con sistemas novedosos que te gustaría probar, con Staff amigable y entusiasta, no lo pienses más y únete a nuestra comunidad!
    El servidor se encuentra actualmente en fase beta, la cual terminará el 13/01/2022. Siendo la apertura oficial el día siguiente.
    Sitio Web: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Registros : Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Discord: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Presentación: Debes iniciar sesión para ver el contenido del enlace en esta publicación.tion

  9. Like
    Break got a reaction from 陈陈 in 10 dolares cada set de armas (OFERTA x2)   
    Lo recomiendo!
  10. Like
    Break got a reaction from SzC in Restricciones y Baneos.   
    Hola comunidad de Metin2Zone, 
    A día de hoy me veo obligado a escribir este post.
    Hace unos días
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. puso a la venta una base de sus archivos, pero resulto que abrio un servidor junto Debes iniciar sesión para ver el contenido del enlace en esta publicación. que trabajaron juntos. No terminaron cordialmente, y la polémica esta en que Debes iniciar sesión para ver el contenido del enlace en esta publicación. quiere vender "su base" pero Debes iniciar sesión para ver el contenido del enlace en esta publicación. solicita la expulsión de Debes iniciar sesión para ver el contenido del enlace en esta publicación.  de la comunidad acreditando reventa.  
    En el post original 
     (Donde no se puede visualizar porque esta en oculto) 

    Debes iniciar sesión para ver el contenido del enlace en esta publicación. comunica su intención de vender la base, pero Debes iniciar sesión para ver el contenido del enlace en esta publicación. responde que es su trabajo esta incluido etc. Pero Debes iniciar sesión para ver el contenido del enlace en esta publicación. concluye en el post poniendo:  

    Debes iniciar sesión para ver el contenido del archivo adjunto en esta publicación.  
    Por lo que para evitar el conflicto, la decisión de la administración fue prohibirle a
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. la venta de cualquier cosa, para evitar problemas. Ya que es la palabra de él contra el denunciante. Sino hay pruebas fehacientes no se puede banear a una persona por mucho que uno quiera.  
    Luego
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  ha denunciado a Debes iniciar sesión para ver el contenido del enlace en esta publicación. por difamación con capturas de discord incluso grabaciones de voz donde a él le difama. No he admitido esas pruebas porque lo primero que es delito grabar a una persona sin su consentimiento, y luego las difamaciones si es en un ámbito privado, puede decir lo que quiera. Lo que no voy a consentir es por canales oficiales que se difame a gente en el discord del zone o en el mismo foro se haga. Por lo tanto no se le ha sancionado Debes iniciar sesión para ver el contenido del enlace en esta publicación..  
    Por otro lado
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. ha sido advertido en el foro, por difamación a la administración. Ya que esta difamación ha sido publica en el discord del zone, no ha tenido ninguna sanción, por el momento solo ha sido una advertencia.  
    Lamentándolo mucho no llueve a gusto de todos no puedo banear a
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. ni Debes iniciar sesión para ver el contenido del enlace en esta publicación. porque vosotros estéis enfadados y lo pidáis ambos. Por lo que solicito que habléis las cosas y solucionéis vuestros problemas.  
    La comunidad de Metin2Zone no tiene porque comerse vuestras malas experiencias juntos, nosotros moderamos el foro y el discord, y aquí dentro no se ha cometido nada para que alguno de vosotros por el momento estéis baneado. Por lo tanto a ambas partes os pido tranquilidad y que no mandéis chismes de capturas de si este me ha dicho o este va hacer. Si en algún momento en el foro o en el discord DEL ZONE hay una reventa o difamación a una persona quién lo haga será sancionada como es normal y se ha hecho siempre. No puedo sancionar a alguien porque difame en otro foro o porque en otro discord ponga a la venta cosas, yo no puedo controlar esos sitios.
     
    Respecto las sanciones/advertencias que se han tomado en este caso:

    Debes iniciar sesión para ver el contenido del enlace en esta publicación. - Se le prohíbe cualquier tipo de venta en el foro/discord del zone, como medida preventiva.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.- Se le ha advertido formalmente en el foro de difamación, sin ningún punto de sanción.  
    Y para concluir cierro ya este tema, no quiero leer tonterías de este me ha dicho o este dice que va hacer etc. Cuando se cometa una irregularidad en el discord o en el foro del zone se tomarán medidas.
     
    Un saludo!
  11. Thanks
    Break got a reaction from [D]ELARO ✓ in Restricciones y Baneos.   
    Hola comunidad de Metin2Zone, 
    A día de hoy me veo obligado a escribir este post.
    Hace unos días
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. puso a la venta una base de sus archivos, pero resulto que abrio un servidor junto Debes iniciar sesión para ver el contenido del enlace en esta publicación. que trabajaron juntos. No terminaron cordialmente, y la polémica esta en que Debes iniciar sesión para ver el contenido del enlace en esta publicación. quiere vender "su base" pero Debes iniciar sesión para ver el contenido del enlace en esta publicación. solicita la expulsión de Debes iniciar sesión para ver el contenido del enlace en esta publicación.  de la comunidad acreditando reventa.  
    En el post original 
     (Donde no se puede visualizar porque esta en oculto) 

    Debes iniciar sesión para ver el contenido del enlace en esta publicación. comunica su intención de vender la base, pero Debes iniciar sesión para ver el contenido del enlace en esta publicación. responde que es su trabajo esta incluido etc. Pero Debes iniciar sesión para ver el contenido del enlace en esta publicación. concluye en el post poniendo:  

    Debes iniciar sesión para ver el contenido del archivo adjunto en esta publicación.  
    Por lo que para evitar el conflicto, la decisión de la administración fue prohibirle a
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. la venta de cualquier cosa, para evitar problemas. Ya que es la palabra de él contra el denunciante. Sino hay pruebas fehacientes no se puede banear a una persona por mucho que uno quiera.  
    Luego
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  ha denunciado a Debes iniciar sesión para ver el contenido del enlace en esta publicación. por difamación con capturas de discord incluso grabaciones de voz donde a él le difama. No he admitido esas pruebas porque lo primero que es delito grabar a una persona sin su consentimiento, y luego las difamaciones si es en un ámbito privado, puede decir lo que quiera. Lo que no voy a consentir es por canales oficiales que se difame a gente en el discord del zone o en el mismo foro se haga. Por lo tanto no se le ha sancionado Debes iniciar sesión para ver el contenido del enlace en esta publicación..  
    Por otro lado
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. ha sido advertido en el foro, por difamación a la administración. Ya que esta difamación ha sido publica en el discord del zone, no ha tenido ninguna sanción, por el momento solo ha sido una advertencia.  
    Lamentándolo mucho no llueve a gusto de todos no puedo banear a
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. ni Debes iniciar sesión para ver el contenido del enlace en esta publicación. porque vosotros estéis enfadados y lo pidáis ambos. Por lo que solicito que habléis las cosas y solucionéis vuestros problemas.  
    La comunidad de Metin2Zone no tiene porque comerse vuestras malas experiencias juntos, nosotros moderamos el foro y el discord, y aquí dentro no se ha cometido nada para que alguno de vosotros por el momento estéis baneado. Por lo tanto a ambas partes os pido tranquilidad y que no mandéis chismes de capturas de si este me ha dicho o este va hacer. Si en algún momento en el foro o en el discord DEL ZONE hay una reventa o difamación a una persona quién lo haga será sancionada como es normal y se ha hecho siempre. No puedo sancionar a alguien porque difame en otro foro o porque en otro discord ponga a la venta cosas, yo no puedo controlar esos sitios.
     
    Respecto las sanciones/advertencias que se han tomado en este caso:

    Debes iniciar sesión para ver el contenido del enlace en esta publicación. - Se le prohíbe cualquier tipo de venta en el foro/discord del zone, como medida preventiva.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.- Se le ha advertido formalmente en el foro de difamación, sin ningún punto de sanción.  
    Y para concluir cierro ya este tema, no quiero leer tonterías de este me ha dicho o este dice que va hacer etc. Cuando se cometa una irregularidad en el discord o en el foro del zone se tomarán medidas.
     
    Un saludo!
  12. Thanks
    Break got a reaction from Pegasus in Restricciones y Baneos.   
    Hola comunidad de Metin2Zone, 
    A día de hoy me veo obligado a escribir este post.
    Hace unos días
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. puso a la venta una base de sus archivos, pero resulto que abrio un servidor junto Debes iniciar sesión para ver el contenido del enlace en esta publicación. que trabajaron juntos. No terminaron cordialmente, y la polémica esta en que Debes iniciar sesión para ver el contenido del enlace en esta publicación. quiere vender "su base" pero Debes iniciar sesión para ver el contenido del enlace en esta publicación. solicita la expulsión de Debes iniciar sesión para ver el contenido del enlace en esta publicación.  de la comunidad acreditando reventa.  
    En el post original 
     (Donde no se puede visualizar porque esta en oculto) 

    Debes iniciar sesión para ver el contenido del enlace en esta publicación. comunica su intención de vender la base, pero Debes iniciar sesión para ver el contenido del enlace en esta publicación. responde que es su trabajo esta incluido etc. Pero Debes iniciar sesión para ver el contenido del enlace en esta publicación. concluye en el post poniendo:  

    Debes iniciar sesión para ver el contenido del archivo adjunto en esta publicación.  
    Por lo que para evitar el conflicto, la decisión de la administración fue prohibirle a
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. la venta de cualquier cosa, para evitar problemas. Ya que es la palabra de él contra el denunciante. Sino hay pruebas fehacientes no se puede banear a una persona por mucho que uno quiera.  
    Luego
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  ha denunciado a Debes iniciar sesión para ver el contenido del enlace en esta publicación. por difamación con capturas de discord incluso grabaciones de voz donde a él le difama. No he admitido esas pruebas porque lo primero que es delito grabar a una persona sin su consentimiento, y luego las difamaciones si es en un ámbito privado, puede decir lo que quiera. Lo que no voy a consentir es por canales oficiales que se difame a gente en el discord del zone o en el mismo foro se haga. Por lo tanto no se le ha sancionado Debes iniciar sesión para ver el contenido del enlace en esta publicación..  
    Por otro lado
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. ha sido advertido en el foro, por difamación a la administración. Ya que esta difamación ha sido publica en el discord del zone, no ha tenido ninguna sanción, por el momento solo ha sido una advertencia.  
    Lamentándolo mucho no llueve a gusto de todos no puedo banear a
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. ni Debes iniciar sesión para ver el contenido del enlace en esta publicación. porque vosotros estéis enfadados y lo pidáis ambos. Por lo que solicito que habléis las cosas y solucionéis vuestros problemas.  
    La comunidad de Metin2Zone no tiene porque comerse vuestras malas experiencias juntos, nosotros moderamos el foro y el discord, y aquí dentro no se ha cometido nada para que alguno de vosotros por el momento estéis baneado. Por lo tanto a ambas partes os pido tranquilidad y que no mandéis chismes de capturas de si este me ha dicho o este va hacer. Si en algún momento en el foro o en el discord DEL ZONE hay una reventa o difamación a una persona quién lo haga será sancionada como es normal y se ha hecho siempre. No puedo sancionar a alguien porque difame en otro foro o porque en otro discord ponga a la venta cosas, yo no puedo controlar esos sitios.
     
    Respecto las sanciones/advertencias que se han tomado en este caso:

    Debes iniciar sesión para ver el contenido del enlace en esta publicación. - Se le prohíbe cualquier tipo de venta en el foro/discord del zone, como medida preventiva.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.- Se le ha advertido formalmente en el foro de difamación, sin ningún punto de sanción.  
    Y para concluir cierro ya este tema, no quiero leer tonterías de este me ha dicho o este dice que va hacer etc. Cuando se cometa una irregularidad en el discord o en el foro del zone se tomarán medidas.
     
    Un saludo!
  13. Like
    Break reacted to Pegasus in [FIX] Retraso de Monturas   
    Buenas noches zoneros y zoneras:
     
    Hoy os vengo a dar una pequeña solucion para las monturas cuando van montadas en ellas, la montura se va para atras o las npcs desaparecen,
     
    La solucion es la siguiente
     
    Vamos al run de nuestra montura: El archivo se puede llamar "run.msa, 03.msa, 02.msa.....etc" Para asegurarnos que archivo es vamos a nuestro motlist.txt que se encuentra dentro de la carpeta de la montura. Una vez sabemos cual es el archivo que llama al run lo abrimos y veran que hay lo siguiente. ScriptType MotionData MotionFileName "D:\Ymir Work\npc\horse_event1\03.GR2"-------------------------Este es el que llama al gr2 del correr MotionDuration 0.666667----------------------------------------Y esta es la duracion del run (Este es el que ocasiona aveces el problema) Bueno muchas veces el MotionDuration puede tener otros numeros o encontrarse en 0.000000 Para solucionarlo hacen lo siguiente: ScriptType MotionData MotionFileName "D:\Ymir Work\npc\horse_event1\03.GR2" MotionDuration 0.666667 Accumulation 0.00 -1300.00 0.00----------------------------Le agregan esta linea Y con eso deberia de estar solucionado el problema.  
     
    Quiero asegurar que no es una solucion definitiva "Mas bien es un pequeño fix que funciona para algunas monturas"
  14. Shit
    Break got a reaction from Dark DestructioN Lol in Metin2Legend - Back To The Origin! (Speed Server)   
    Espectacular presentación bonita y clara
  15. Surprised
    Break reacted to amphylein in Current Offical Like Files/Source [almost Reversed]   
    this files are public in an other board.. 1:1 the same
  16. Like
    Break reacted to Leukim in Zarox sigue ampliandose y buscamos nuevos miembros del staff   
    Buenas a [email protected]
    En Zarox estamos buscando nuevos integrantes para el staff para seguir ampliando y mejorando la calidad de nuestro servidor! Si alguan vez te has planteado formar parte del staff de un gran servidor es tu oportunidad! 
    ¿Que rangos buscamos actualmente?
    - Game Masters > Se encargarán de todo lo relacionado a Organización de Eventos, Contestar Tickets, resolver Dudas/Consultas de jugadores ingame y de aportar sugerencias/ideas creativas para el servidor.
    - Game Testers > Se encargarán de Testear todo el contenido nuevo relacionado al servidor, así como también reporte de bugs diarios y analizar nuevos mapas, mazmorras, jefes y drops de los mismos. 
    - Helpers > Se encargarán del Foro, de planificar y detallar guías correspondientes al contenido del servidor, así como también de traducir algunos textos.
    - Diseñador gráfico > Se encargará con todo lo relacionado al diseño de imágenes del servidor.
    - Editor de vídeos > Se encargará con todo lo relacionado a la creación y edición de videos del servidor.
    - Traductores al portugues, turco, rumano y alemán > Básicamente se encargan de traducir eventos, guías, nuevo contenido y más a sus respectivos idiomas. 
    ¿Que ofrecemos? 
    - Formación desde 0 para cualquier persona que quiera entrar a formar parte del staff de Zarox 
    - Remuneración por tu trabajo dentro del juego y si se cumplen las expectativas que se tienen de dicho rango posibilidad de remuneración en dinero real. 
    - Una oportunidad de colaborar con uno de los servidores mas grandes de la comunidad hispana. 

    Sobre Zarox
    - Tenemos una base estable de jugadores de + 100 jugadores online diarios
    - Disponemos de un equipo de programación que respalda las ideas de nuestro staff para crear eventos y otras actividades.
    - + 10 meses online
    - Servidor bastante old school enfocado en las guerras de gremios

    Requisitos
    - Disponer de un mínimo de 2h diarias. 
    - Tener interes por el trabajo que quieras desempeñar y la comunidad. 
    - Conocimientos basicos de metin2. 
    - Ser amable y coordial
    - Ser capaz de trabajar bajo estrés
    Para mas info no dudeis en contactarme vía MP. 
    Link del servidor:
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  17. Thanks
    Break got a reaction from Pegasus in won2.PY   
    No cumple con los requisitos de la presentación. Por lo menos no poner el texto en blanco que daña la vista. Rehacerla y se aprueba
  18. Like
    Break got a reaction from TTV_RANDARON in Ayuda error server contabo bsd 12.2 64bits   
    Pero fíjate que el enlace esta caído por eso tira error
    Estos son los disponibles: 
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  19. Like
    Break reacted to Shogun in DELETE OSF   
    Hombre ya si entramos en ese tema...
    Te daría el argumento por válido si esa gente lo usara para su propia diversión. Pero decir eh que no pago esto que es muy caro mientras posiblemente te estás llevando bastante más que eso con tu servidor es como poco hipócrita (no digo por ti en concreto sino en general).
  20. Like
    Break reacted to Shogun in DELETE OSF   
    ¿Os imagináis que hubiese unos files hechos por un hispano, y que gente de otros países pagase por usarlos?
    Yo no. Aquí somos más de revender el trabajo de otros mientras le tiramos mierda al autor, encima creyéndonos moralmente superiores. Para nosotros el listo, el espabilado, no es el que ha creado algo que otros (ya se que vosotros no) pagarían casi mil euros por usar. Para nosotros, latinos y españoles, el que es digno de elogio, el triunfador de la vida, es el que se los descarga y los vende por 25 euros.
    Comparad el porcentaje de trabajo original posteado aquí vs metin2dev, o Inforge, o cualquier otro foro, y es para echarse a llorar.
  21. Like
    Break got a reaction from Kobra21 in Servicio de Correo SMTP - sendinblue.com   
    Hola Zoneros, 
    En el día de hoy me he fijado que GMAIL, ya no permite el acceso de aplicaciones menos segura. Muchos os preguntareis bueno como nos influye

    Debes iniciar sesión para ver el contenido del archivo adjunto en esta publicación.  
    Mucho de nosotros utilizamos la página web de
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. con diferentes diseños, pero el código de PhpMailer seguramente sea el mismo, por lo que ya no se puede utilizar el gmail para la recuperación de contraseñas o las interacciones del usuario con la web. Otra opción es que se puede utilizar el mismo servidor (host) como emisor de los correos pero esto da problemas a la larga como meter la ip del hosting como spam o que muchos servidores de correo rechacen los mensajes, pero estuve indagando y encontré sendinblue.com, como sustituto de gmail. Lo he probado y la verdad que da buenos resultados, mandan los correos como promoción y ya no te chapan la ip del hosting como spam. Dejo la configuración de sendinblue para estas páginas webs de cms, si alguien necesita ayuda de como configurar la api que lo diga y amplio el mensaje.     $SMTPAuth = true;
        $SMTPSecure = "tls";
        $EmailHost = "smtp-relay.sendinblue.com";
        $emailPort = 587;
    Un saludo!
  22. Like
    Break got a reaction from Marcos Pinheiro in GUÍA - Varías tiendas en un NPC   
    Hola chicos, traigo una nueva guía bastante simple. Es poner varías tiendas en un único npc. (PERDONAD, si me he equivocado de categoría al publicar este post)
    Nos vamos al navicat, a la db player y a la tabla shop :
    Añadimos una fila nueva, con "vnum" que no exista en esa misma tabla, esa será el vnum que haga referencia a nuestra tienda. En el name, pondremos el nombre del npc y por ultimo en npc_vnum, el vnum del npc. Ya tenemos creado nuestra tienda para añadirle items nos vamos a la tabla shop_item.
    Explicación en la tabla shop_item:
    Ya tendríamos creada nuestra tienda, con los items puesto a la venta por último faltaría añadir una quest, para que nos pueda abrir las diferentes categorías de las tiendas.
     
    Resultado:
    Un saludo!
  23. Like
    Break got a reaction from Pegasus in Avery - Oldschool at its finest | International | Content Update [21.12.2022]   
    Post Limpio y sujeto a moderación
  24. Like
    Break reacted to Pegasus in Gran Aporte "SISTEMA SHINING COMPLETO"   
    Buenas noches zoneros y zoneras:
     
    En esta ocasion os traigo el sistema Shining completo y reparado para alas y skin de armas ya que veo que no esta publico en ningun foro. 
    Bueno los archivos que vamos a precisar son los siguientes:
     
    Parte del Src Client o Binario como lo conozcan:
    De la carpeta UserInterface:
    -.PythonAplication.cpp
    -.Locale_inc.h
    -.Instancebase.h
    -.Instancebase.cpp
    De la carpeta GameLib:
    -.ItemData.h
    -.ItemData.cpp
    -.ItemManager.cpp
    -.ItemManager.h
     
    Bueno sabiendo ya todo lo que vamos a precisar vamos con la guia
    UserInterface/PythonApplication.cpp Buscamos esta linea: snprintf(szSkillDescFileName, sizeof(szSkillDescFileName), "%s/skilldesc.txt", localePath); Damos un enter y pegamos la siguiente: #ifdef ENABLE_SHINING_SYSTEM snprintf(szShiningTable, sizeof(szShiningTable), "%s/shiningtable.txt", localePath); #endif Buscamos esta linea: char szItemDesc[256]; Damos un enter y pegamos la siguiente: #ifdef ENABLE_SHINING_SYSTEM char szShiningTable[256]; #endif Buscamos esta linea: if (!rkSkillMgr.RegisterSkillTable("data/common/skilltable.txt")) { TraceError("Error while loading skilltable.txt."); return false; } Damos un enter y pegamos la siguiente: #ifdef ENABLE_SHINING_SYSTEM if (!rkItemMgr.LoadShiningTable(szShiningTable)) { Tracenf("LoadLocaleData - LoadShiningTable(%s) Error", szShiningTable); } #endif  
    UserInterface/Locale_inc.h Aca agregaremos el siguiente define: #define ENABLE_SHINING_SYSTEM UserInterface/InstanceBase.h Aca buscamos la siguiente linea: DWORD m_armorRefineEffect; Pulsamos un enter y agregamos la siguiente linea: #ifdef ENABLE_SHINING_SYSTEM //2-Dimensions for Left & Right sided effects DWORD m_weaponShiningEffects[2][CItemData::ITEM_SHINING_MAX_COUNT]; DWORD m_armorShiningEffects[CItemData::ITEM_SHINING_MAX_COUNT]; DWORD m_acceShiningEffects[CItemData::ITEM_SHINING_MAX_COUNT]; #endif Aca quiero aclarar una cosa: Si en vuestro sistema de estolas de envez de llevar acce lleva sash cambian la linea anterior por esta: #ifdef ENABLE_SHINING_SYSTEM //2-Dimensions for Left & Right sided effects DWORD m_weaponShiningEffects[2][CItemData::ITEM_SHINING_MAX_COUNT]; DWORD m_armorShiningEffects[CItemData::ITEM_SHINING_MAX_COUNT]; DWORD m_sashShiningEffects[CItemData::ITEM_SHINING_MAX_COUNT]; #endif Ahora buscamos la siguiente linea: UINT __GetRefinedEffect(CItemData* pItem); Pulsamos un enter y agregamos la siguiente: #ifdef ENABLE_SHINING_SYSTEM void __GetShiningEffect(CItemData* pItem); void __ClearWeaponShiningEffect(bool detaching = true); void __ClearArmorShiningEffect(bool detaching = true); void __ClearAcceShiningEffect(bool detaching = true); void __AttachAcceShiningEffect(int effectIndex, const char* effectFileName, const char* boneName = "Bip01 Spine2"); void __AttachWeaponShiningEffect(int effectIndex, const char* effectFileName, const char* boneName = "Bip01"); void __AttachArmorShiningEffect(int effectIndex, const char* effectFileName, const char* boneName = "Bip01"); #endif Aca quiero explicar 1 cosa: Aca es lo mismo que en la anterior linea, si ustedes de envez de usar acce usan sash remplazan la linea por esta: #ifdef ENABLE_SHINING_SYSTEM void __GetShiningEffect(CItemData* pItem); void __ClearWeaponShiningEffect(bool detaching = true); void __ClearArmorShiningEffect(bool detaching = true); void __ClearSashShiningEffect(bool detaching = true); void __AttachSashShiningEffect(int effectIndex, const char* effectFileName, const char* boneName = "Bip01 Spine2"); void __AttachWeaponShiningEffect(int effectIndex, const char* effectFileName, const char* boneName = "Bip01"); void __AttachArmorShiningEffect(int effectIndex, const char* effectFileName, const char* boneName = "Bip01"); #endif UserInterface/InstanceBase.cpp Buscamos la siguiente funcion void CInstanceBase::SetArmor(DWORD dwArmor) { ... } Y dentro de esta funcion buscamos lo siguiente __GetRefinedEffect(pItemData); Pulsamos un enter y agregamos la siguiente linea: #ifdef ENABLE_SHINING_SYSTEM __GetShiningEffect(pItemData); #endif Quedando asi: __GetRefinedEffect(pItemData); #ifdef ENABLE_SHINING_SYSTEM __GetShiningEffect(pItemData); #endif Ahora dentro de la misma funcion buscamos la siguiente linea: __ClearArmorRefineEffect(); Pulsamos un enter y agregamos lo siguiente: #ifdef ENABLE_SHINING_SYSTEM __ClearArmorShiningEffect(); #endif UserInterface/InstanceBase.cpp Aca buscamos la siguiente funcion: void CInstanceBase::SetAcce "Recuerden que si su sistema de estolas no es acce lo cambian por Sash" { .... } Dentro de esta funcion buscamos lo siguiente: ClearAcceEffect(); Pulsamos un enter y agregamos la siguiente linea: #ifdef ENABLE_SHINING_SYSTEM __ClearAcceShiningEffect(); #endif Luego dentro de la misma funcion mas abajo buscamos lo siguiente: CItemManager::Instance().GetItemDataPointer(dwAcce, &pItemData); "Si no usan acce lo cambian por sash" Pulsamos enter y mas abajo pegamos lo siguiente: #ifdef ENABLE_SHINING_SYSTEM if (pItemData) __GetShiningEffect(pItemData); #endif Quedando asi: CItemManager::Instance().GetItemDataPointer(dwAcce, &pItemData); #ifdef ENABLE_SHINING_SYSTEM if (pItemData) __GetShiningEffect(pItemData); #endif m_GraphicThingInstance.AttachAcce(pItemData, fSpecular); UserInterface/InstanceBase.cpp "Ahora atentos en la siguiente funcion ya que si no lo hacen bien no funcionara en las armas ni en las skin" Buscamos la siguiente funcion: bool CInstanceBase::SetWeapon(DWORD eWeapon) { ... } Dentro de esta funcion buscamos la siguiente linea: __GetRefinedEffect(pItemData); Pulsamos un enter y agregamos lo siguiente: #ifdef ENABLE_SHINING_SYSTEM __GetShiningEffect(pItemData); #endif Ahora buscamos la siguiente linea: __ClearWeaponRefineEffect(); Pulsamos un enter y agregamos lo siguiente: #ifdef ENABLE_SHINING_SYSTEM __ClearWeaponShiningEffect(); #endif "AHORA MUY ATENTOS AL CODIGO QUE PONDRE EN PANTALLA DEBERAN DE HACERLO TAL CUAL LO DEJO ACA" "CON LOS CORCHETES TAL CUAL ESTAN EN LA FUNCION" MI CODIGO CItemData * pItemData; if (CItemManager::Instance().GetItemDataPointer(eWeapon, &pItemData)) { ---------------------------ESTOS CORCHETES DEBERAN DE AGREGARLOS TAL CUAL PUSE ACA __GetRefinedEffect(pItemData); #ifdef ENABLE_SHINING_SYSTEM __GetShiningEffect(pItemData); #endif } ---------------------------ESTOS CORCHETES DEBERAN DE AGREGARLOS TAL CUAL PUSE ACA else { ---------------------------ESTOS CORCHETES DEBERAN DE AGREGARLOS TAL CUAL PUSE ACA __ClearWeaponRefineEffect(); #ifdef ENABLE_SHINING_SYSTEM __ClearWeaponShiningEffect(); #endif } ---------------------------ESTOS CORCHETES DEBERAN DE AGREGARLOS TAL CUAL PUSE ACA return true; } UserInterface/Instancebase.cpp Ahora buscamos esta funcion void CInstanceBase::__Initialize() { ..... } Y dentro de ella vamos a buscar la siguiente linea: m_armorRefineEffect = 0; Pulsamos enter y agregamos la siguiente linea: #ifdef ENABLE_SHINING_SYSTEM __ClearWeaponShiningEffect(false); #endif UserInterface/InstanceBase.cpp Ahora agregamos todo este bloque completo al final del archivo #ifdef ENABLE_SHINING_SYSTEM void CInstanceBase::__GetShiningEffect(CItemData* pItem) { bool removeRefineEffect = true; CItemData::TItemShiningTable shiningTable = pItem->GetItemShiningTable(); if (pItem->GetType() == CItemData::ITEM_TYPE_WEAPON) { __ClearWeaponShiningEffect(); if (removeRefineEffect) { bool bRemove = false; for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) if (strcmp(shiningTable.szShinings[i], "")) bRemove = true; if (bRemove) __ClearWeaponRefineEffect(); } for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (strcmp(shiningTable.szShinings[i], "")) { #ifdef ENABLE_WOLFMAN_CHARACTER bool twoSidedWeapon = pItem->GetSubType() == CItemData::WEAPON_DAGGER || pItem->GetSubType() == CItemData::WEAPON_CLAW || (IsMountingHorse() && pItem->GetSubType() == CItemData::WEAPON_FAN); #else bool twoSidedWeapon = pItem->GetSubType() == CItemData::WEAPON_DAGGER || (IsMountingHorse() && pItem->GetSubType() == CItemData::WEAPON_FAN); #endif if (twoSidedWeapon) { __AttachWeaponShiningEffect(i, shiningTable.szShinings[i], "PART_WEAPON_LEFT"); } if (pItem->GetSubType() == CItemData::WEAPON_BOW) __AttachWeaponShiningEffect(i, shiningTable.szShinings[i], "PART_WEAPON_LEFT"); else __AttachWeaponShiningEffect(i, shiningTable.szShinings[i], "PART_WEAPON"); } } } #ifdef ENABLE_COSTUME_SYSTEM else if (pItem->GetType() == CItemData::ITEM_TYPE_COSTUME) { #ifdef ENABLE_ACCE_SYSTEM if (pItem->GetSubType() == CItemData::COSTUME_ACCE) { for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (strcmp(shiningTable.szShinings[i], "")) { __AttachAcceShiningEffect(i, shiningTable.szShinings[i], "Bip01 Spine2"); } } } #endif else if (pItem->GetSubType() == CItemData::COSTUME_BODY) { if (removeRefineEffect) { __ClearArmorRefineEffect(); } for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (strcmp(shiningTable.szShinings[i], "")) { __AttachArmorShiningEffect(i, shiningTable.szShinings[i]); } } } #ifdef ENABLE_WEAPON_COSTUME_SYSTEM else if (pItem->GetSubType() == CItemData::COSTUME_WEAPON) { __ClearWeaponShiningEffect(); if (removeRefineEffect) { __ClearWeaponRefineEffect(); } for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (strcmp(shiningTable.szShinings[i], "")) { bool twoSidedWeapon = pItem->GetValue(3) == CItemData::WEAPON_DAGGER || (IsMountingHorse() && pItem->GetValue(3) == CItemData::WEAPON_FAN); if (twoSidedWeapon) { __AttachWeaponShiningEffect(i, shiningTable.szShinings[i], "PART_WEAPON_LEFT"); } if (pItem->GetValue(3) == CItemData::WEAPON_BOW) __AttachWeaponShiningEffect(i, shiningTable.szShinings[i], "PART_WEAPON_LEFT"); else __AttachWeaponShiningEffect(i, shiningTable.szShinings[i], "PART_WEAPON"); } } } #endif } #endif else { if (removeRefineEffect) { __ClearArmorRefineEffect(); } for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (strcmp(shiningTable.szShinings[i], "")) { __AttachArmorShiningEffect(i, shiningTable.szShinings[i]); } } } } //Attaching the shining effect. //BoneName can be "PART_WEAPON" or "PART_WEAPON_LEFT" to get the attaching bone name dynamically. //If boneName is not given "Bip01" is used as boneName. void CInstanceBase::__AttachWeaponShiningEffect(int effectIndex, const char* effectFileName, const char* boneName) { if (IsAffect(AFFECT_INVISIBILITY)) { return; } if (effectIndex >= CItemData::ITEM_SHINING_MAX_COUNT) { return; } CEffectManager::Instance().RegisterEffect(effectFileName, false, false); if (!strcmp(boneName, "PART_WEAPON")) { const char* c_szRightBoneName; m_GraphicThingInstance.GetAttachingBoneName(CRaceData::PART_WEAPON, &c_szRightBoneName); if (c_szRightBoneName == NULL) return; if (strcmp(c_szRightBoneName, "")) { m_weaponShiningEffects[0][effectIndex] = m_GraphicThingInstance.AttachEffectByName(0, c_szRightBoneName, effectFileName); } } else if (!strcmp(boneName, "PART_WEAPON_LEFT")) { const char* c_szLeftBoneName; m_GraphicThingInstance.GetAttachingBoneName(CRaceData::PART_WEAPON_LEFT, &c_szLeftBoneName); if (c_szLeftBoneName == NULL) return; if (strcmp(c_szLeftBoneName, "")) { m_weaponShiningEffects[1][effectIndex] = m_GraphicThingInstance.AttachEffectByName(0, c_szLeftBoneName, effectFileName); } } else { Tracef("Invalid partname for getting attaching bone name. %s - %s", effectFileName, boneName); } } //Attaching the armor shining effect. //If boneName is not given "Bip01" is used as boneName. void CInstanceBase::__AttachArmorShiningEffect(int effectIndex, const char* effectFileName, const char* boneName) { if (IsAffect(AFFECT_INVISIBILITY)) { return; } if (effectIndex >= CItemData::ITEM_SHINING_MAX_COUNT) { return; } if (!strcmp(boneName, "")) { Tracef("Empty bone name for attaching armor shining. Effect Index: %i, EffectFileName: %s", effectIndex, effectFileName); return; } CEffectManager::Instance().RegisterEffect(effectFileName, false, false); m_armorShiningEffects[effectIndex] = m_GraphicThingInstance.AttachEffectByName(0, boneName, effectFileName); } //Clears all weapon shining effects. Left & Right if set. void CInstanceBase::__ClearWeaponShiningEffect(bool detaching) { for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (m_weaponShiningEffects[0][i]) { if (detaching) { __DetachEffect(m_weaponShiningEffects[0][i]); } m_weaponShiningEffects[0][i] = 0; } if (m_weaponShiningEffects[1][i]) { if (detaching) { __DetachEffect(m_weaponShiningEffects[1][i]); } m_weaponShiningEffects[1][i] = 0; } } } //Clears all armor shining effects. void CInstanceBase::__ClearArmorShiningEffect(bool detaching) { if (detaching) { for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (m_armorShiningEffects[i]) { __DetachEffect(m_armorShiningEffects[i]); } } } memset(&m_armorShiningEffects, 0, sizeof(m_armorShiningEffects)); } #endif #ifdef ENABLE_SHINING_SYSTEM #ifdef ENABLE_ACCE_SYSTEM void CInstanceBase::__AttachAcceShiningEffect(int effectIndex, const char* effectFileName, const char* boneName) { if (IsAffect(AFFECT_INVISIBILITY)) { return; } if (effectIndex >= CItemData::ITEM_SHINING_MAX_COUNT) { return; } if (!strcmp(boneName, "")) { Tracef("Empty bone name for attaching armor shining. Effect Index: %i, EffectFileName: %s", effectIndex, effectFileName); return; } CEffectManager::Instance().RegisterEffect(effectFileName, false, false); m_acceShiningEffects[effectIndex] = m_GraphicThingInstance.AttachEffectByName(0, boneName, effectFileName); } #ifdef ENABLE_ACCE_SYSTEM void CInstanceBase::__ClearAcceShiningEffect(bool detaching) { for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (detaching) { __DetachEffect(m_acceShiningEffects[i]); } m_acceShiningEffects[i] = 0; } } #endif #endif #endif UserInterface/InstanceBase.cpp "Ahora os voy a explicar algo" En el caso de que vuestro sistema de estolas no lleve el define acce, deberan de cambiar el codigo del sistema en las partes que llevan acce por sash "Por ejemplo en el bloque que agregan en InstanceBase.cpp" Ese lleva ACCE como Define, ustedes deberan de agregar el define de su sistema de estolas GameLib/ItemManager.h Aca buscan la siguiente linea: bool LoadItemTable(const char* c_szFileName); Pulsan enter y agregan lo siguiente: #ifdef ENABLE_SHINING_SYSTEM bool LoadShiningTable(const char* c_szFileName); #endif GameLib/ItemManager.cpp Ahora buscan la siguiente funcion bool CItemManager::LoadItemTable(const char* c_szFileName) { ... } Y debajo de la funcion completa pulsan enter y agregan el siguiente bloque #ifdef ENABLE_SHINING_SYSTEM bool CItemManager::LoadShiningTable(const char* szShiningTable) { CMappedFile File; LPCVOID pData; if (!CEterPackManager::Instance().Get(File, szShiningTable, &pData)) return false; CMemoryTextFileLoader textFileLoader; textFileLoader.Bind(File.Size(), pData); CTokenVector TokenVector; for (DWORD i = 0; i < textFileLoader.GetLineCount(); ++i) { if (!textFileLoader.SplitLine(i, &TokenVector, "\t")) continue; if (TokenVector.size() > (1 + CItemData::ITEM_SHINING_MAX_COUNT)) { TraceError("CItemManager::LoadShiningTable(%s) - LoadShiningTable in %d\n - RowSize: %d MaxRowSize: %d", szShiningTable, i, TokenVector.size(), CItemData::ITEM_SHINING_MAX_COUNT); } const std::string & c_rstrID = TokenVector[0]; DWORD dwItemVNum = atoi(c_rstrID.c_str()); CItemData * pItemData = MakeItemData(dwItemVNum); if (pItemData) { for (BYTE i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (i < (TokenVector.size()-1)) { const std::string & c_rstrEffectPath = TokenVector[i + 1]; pItemData->SetItemShiningTableData(i, c_rstrEffectPath.c_str()); } else { pItemData->SetItemShiningTableData(i, ""); } } } } return true; } #endif GameLib/ItemData.h Buscan la siguiente linea: ITEM_SOCKET_MAX_NUM = 3, Pulsan un enter y agregan la siguiente debajo #ifdef ENABLE_SHINING_SYSTEM ITEM_SHINING_MAX_COUNT = 3, #endif Ahora buscan la siguiente linea: void SetItemTableData(TItemTable * pItemTable); Pulsan enter y debajo agregan la siguiente: #ifdef ENABLE_SHINING_SYSTEM typedef struct SItemShiningTable { char szShinings[ITEM_SHINING_MAX_COUNT][256]; public: //Checking if any shining is set for this item. bool Any() const { for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (strcmp(szShinings[i], "")) { return true; } } return false; } } TItemShiningTable; void SetItemShiningTableData(BYTE bIndex, const char* szEffectname); CItemData::TItemShiningTable GetItemShiningTable() { return m_ItemShiningTable; } #endif Ahora buscan la siguiente linea: TItemTable m_ItemTable; Pulsan enter y debajo pegan la siguiente: #ifdef ENABLE_SHINING_SYSTEM TItemShiningTable m_ItemShiningTable; #endif GameLib/ItemData.cpp Ahora buscan la siguiente funcion: BOOL CItemData::IsEquipment() const { .... } Debajo de la funcion agregan lo siguiente: #ifdef ENABLE_SHINING_SYSTEM void CItemData::SetItemShiningTableData(BYTE bIndex, const char* szEffectname) { sprintf(m_ItemShiningTable.szShinings[bIndex], szEffectname); } #endif Ahora buscan la siguiente funcion: void CItemData::Clear() { ..... } Dentro de esa misma funcion buscan la siguiente linea: memset(&m_ItemTable, 0, sizeof(m_ItemTable)); Pulsan un enter y agregan la siguiente linea: #ifdef ENABLE_SHINING_SYSTEM memset(&m_ItemShiningTable, 0, sizeof(m_ItemShiningTable)); #endif  
    Parte del cliente Va a su locale y agregan el archivo que os dejare debajo "Como funciona el sistema y que hago para implementar un arma, ala o efecto de armadura" Bueno para implementar todo el mundo ya conoce como se implementa una arma o estola. Agregan la parte de la db luego item_list.txt, item_proto "Pero aca si usan arma 3D en el archivo haran lo siguiente" 61202 "D:/ymir work/effect/plechito/weapons/dark_cult_set/bell_glow.mse" El 61202 es el vnum del arma, armadura o ala que llevara el efecto Y al lado va la ruta del mse "Asegurese que el efecto esta completo Y ya eso es todo  
    Y eso seria todo
     
    Adjunto foto de como funciona el sistema correctamente
     

     
    Si lo hacen tal cual le explique en la guia el sistema le funcionara correctamente. 
     
    Adjunte foto cuando metan el sistema, no cuesta nada.
     
    Archivo parte del cliente

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  25. Like
    Break got a reaction from ♥ TesT ♥ in DELETE OSF   
    Lo peor que la estan revendiendo por 25 euros. Quien pague 825 euros, es un maquina
×
×
  • Create New...