Jump to content

iraciz

Members
  • Content Count

    491
  • Avg. Content Per Day

    0
  • Joined

  • Last visited

  • Days Won

    4

iraciz last won the day on June 27

iraciz had the most liked content!

Community Reputation

62 Excellent

About iraciz

  • Rank
    Metaling
  • Birthday February 3

Profile Information

  • Gender
    Male
  • Location
    Panamá Republic
  • Github
    https://github.com/iraciz/master
  • Interests
    Game performance.

Contact Methods

Recent Profile Visitors

6,527 profile views
  1. Well, Is supossed to not show the damage output when the GM is in hiding. But players can still see.... This brought me a lot of problems, any way to disable it? thanks in advance.
  2. Good day friends, I found this command, that shows in dispbottom a vending item in any player stores. But this information is only displayed for players on vending, The other users who try this command will ever show "Nobody is selling it now." Is there any way to modify this code and allow all players to use it? Everyone, not only vending users. /*========================================== * @whosell - List who is vending the item (amount, price, and location). * revamped by VoidLess, original by zephyrus_cr *------------------------------------------*/ ACMD_FUNC(whosell) { char item_name[100]; int item_id = 0, j, count = 0, sat_num = 0; int s_type = 1; // search bitmask: 0-name,1-id, 2-card, 4-refine int refine = 0,card_id = 0; bool flag = 0; // place dot on the minimap? struct map_session_data* pl_sd; struct s_mapiterator* iter; unsigned int MinPrice = battle_config.vending_max_value, MaxPrice = 0; struct item_data *item_data; nullpo_retr(-1, sd); if (!message || !*message) { clif_displaymessage(fd, "Use: @whosell (<+refine> )(<item_id>)(<[card_id]>) or @whosell <name>"); return -1; } if (sscanf(message, "+%d %d[%d]", &refine, &item_id, &card_id) == 3){ s_type = 1+2+4; } else if (sscanf(message, "+%d %d", &refine, &item_id) == 2){ s_type = 1+4; } else if (sscanf(message, "+%d [%d]", &refine, &card_id) == 2){ s_type = 2+4; } else if (sscanf(message, "%d[%d]", &item_id, &card_id) == 2){ s_type = 1+2; } else if (sscanf(message, "[%d]", &card_id) == 1){ s_type = 2; } else if (sscanf(message, "+%d", &refine) == 1){ s_type = 4; } else if (sscanf(message, "%d", &item_id) == 1 && item_id == atoi(message)){ //names, that start on num are not working //so implemented minumum item_id>500 //or better make item_id == atoi(message) ? s_type = 1; } else if (sscanf(message, "%99[^\n]", item_name) == 1){ s_type = 1; if ((item_data = itemdb_searchname(item_name)) == NULL){ clif_displaymessage(fd, "Not found item with this name"); return -1; } item_id = item_data->nameid; } else { clif_displaymessage(fd, "Use: @whosell (<+refine> )(<item_id>)(<[card_id]>) or @whosell <name>"); return -1; } //check card if(s_type & 2 && ((item_data = itemdb_exists(card_id)) == NULL || item_data->type != IT_CARD)){ clif_displaymessage(fd, "Not found a card with than ID"); return -1; } //check item if(s_type & 1 && (item_data = itemdb_exists(item_id)) == NULL){ clif_displaymessage(fd, "Not found an item with than ID"); return -1; } //check refine if(s_type & 4){ if (refine<0 || refine>10){ clif_displaymessage(fd, "Refine out of bounds: 0 - 10"); return -1; } /*if(item_data->type != IT_WEAPON && item_data->type != IT_ARMOR){ clif_displaymessage(fd, "Use refine only with weapon or armor"); return -1; }*/ } iter = mapit_getallusers(); for( pl_sd = (TBL_PC*)mapit_first(iter); mapit_exists(iter); pl_sd = (TBL_PC*)mapit_next(iter) ) { if( pl_sd->vender_id ) //check if player is vending { for (j = 0; j < pl_sd->vend_num; j++) { if((item_data = itemdb_exists(sd->cart.u.items_cart[pl_sd->vending[j].index].nameid)) == NULL) continue; if(s_type & 1 && sd->cart.u.items_cart[pl_sd->vending[j].index].nameid != item_id) continue; if(s_type & 2 && ((item_data->type != IT_ARMOR && item_data->type != IT_WEAPON) || (sd->cart.u.items_cart[pl_sd->vending[j].index].card[0] != card_id && sd->cart.u.items_cart[pl_sd->vending[j].index].card[1] != card_id && sd->cart.u.items_cart[pl_sd->vending[j].index].card[2] != card_id && sd->cart.u.items_cart[pl_sd->vending[j].index].card[3] != card_id))) continue; if(s_type & 4 && ((item_data->type != IT_ARMOR && item_data->type != IT_WEAPON) || sd->cart.u.items_cart[pl_sd->vending[j].index].refine != refine)) continue; if(item_data->type == IT_ARMOR) snprintf(atcmd_output, CHAT_SIZE_MAX, "+%d %d[%d] | Price %d | Amount %d | Map %s[%d,%d] | Seller %s",sd->cart.u.items_cart[pl_sd->vending[j].index].refine ,sd->cart.u.items_cart[pl_sd->vending[j].index].nameid ,sd->cart.u.items_cart[pl_sd->vending[j].index].card[0] ,pl_sd->vending[j].value ,pl_sd->vending[j].amount ,mapindex_id2name(pl_sd->mapindex) ,pl_sd->bl.x,pl_sd->bl.y ,pl_sd->status.name); else if(item_data->type == IT_WEAPON) snprintf(atcmd_output, CHAT_SIZE_MAX, "+%d %d[%d,%d,%d,%d] | Price %d | Amount %d | Map %s[%d,%d] | Seller %s",sd->cart.u.items_cart[pl_sd->vending[j].index].refine ,sd->cart.u.items_cart[pl_sd->vending[j].index].nameid ,sd->cart.u.items_cart[pl_sd->vending[j].index].card[0] ,sd->cart.u.items_cart[pl_sd->vending[j].index].card[1] ,sd->cart.u.items_cart[pl_sd->vending[j].index].card[2] ,sd->cart.u.items_cart[pl_sd->vending[j].index].card[3] ,pl_sd->vending[j].value ,pl_sd->vending[j].amount ,mapindex_id2name(pl_sd->mapindex) ,pl_sd->bl.x,pl_sd->bl.y ,pl_sd->status.name); else snprintf(atcmd_output, CHAT_SIZE_MAX, "ID %d | Price %d | Amount %d | Map %s[%d,%d] | Seller %s",sd->cart.u.items_cart[pl_sd->vending[j].index].nameid ,pl_sd->vending[j].value ,pl_sd->vending[j].amount ,mapindex_id2name(pl_sd->mapindex) ,pl_sd->bl.x, pl_sd->bl.y ,pl_sd->status.name); if(pl_sd->vending[j].value < MinPrice) MinPrice = pl_sd->vending[j].value; if(pl_sd->vending[j].value > MaxPrice) MaxPrice = pl_sd->vending[j].value; clif_displaymessage(fd, atcmd_output); count++; flag = 1; } if(flag && pl_sd->mapindex == sd->mapindex){ clif_viewpoint(sd, 1, 1, pl_sd->bl.x, pl_sd->bl.y, ++sat_num, 0xFFFFFF); flag = 0; } } } mapit_free(iter); if(count > 0) { snprintf(atcmd_output,CHAT_SIZE_MAX, "Found %d ea. Prices from %dz to %dz", count, MinPrice, MaxPrice); clif_displaymessage(fd, atcmd_output); } else clif_displaymessage(fd, "Nobody is selling it now."); return 0; }
  3. View File Custom Shield Sprites Custom Sprites for existing shields: - 2150 Upg Buckler - 28905 Unity Buckler - 2148 Rotha Shield - 2151 Upg Shield - 2147 Round Buckler More Coming Soon Submitter iraciz Submitted 06/26/2020 Category Weapon & Shields Video Content Author iraciz  
  4. Version 1.0.0

    96 downloads

    Custom Sprites for existing shields: - 2150 Upg Buckler - 28905 Unity Buckler - 2148 Rotha Shield - 2151 Upg Shield - 2147 Round Buckler More Coming Soon

    Free

  5. I recommend euphy's card Trader in their script's collection: https://rathena.org/board/topic/64394-✰-euphys-scripts-✰/?tab=comments#comment-104681 I comes with an integrated card recycling point shop that you can easily edit.
  6. BMP is broken, download another item bmp, and paste the hokage hat, then rename the edited bmp as hokage hat, load to your grf, and problem will be solved.
  7. - Necesitaremos el GRF EDITOR para extraer del GRF el sprite que queramos modificar - Extraemos unicamente el SPR del objeto a editar, Aislaremos nuestro SPRITE en una carpeta, lo rompemos (extraemos todos los bitmaps) con el programa SPRCONVIEW, para hacer esto tenemos que darle a la opción convert Spr to Bmp. En el primer boton Browse que muestra la imagen, eliges el sprite que descargaste y le das a convert. las imagenes que se van a extraer de este sprite van a ir a parar en la misma carpeta donde esta ubicado el sprite, por lo que no elegimos BMP directory. Se recomienda tener el sprite aislado en una carpeta nueva.... no queras llenar tu escritorio con mas de 100 iconos de bitmaps Elegimos nuestra imagen Modelo, Preferiblemente una donde se vean todas las cualidades del objeto que vamos a RECOLOREAR, ELIMINAMOS EL RESTO El BITMAP elegido lo debemos abrir con el programa ADOBE CS6, Yo uso el portable Una vez abierto el Adobe CS6. Nos vamos a la parte que dice Archivo, y le damos a Abrir, ahí elegimos el bitmap que habíamos seleccionado, y una vez abierto nos vamos a la barra superior y elegimos imagen, Luego Modo, y por ultimo TABLA DE COLORES Cuando se Abre la Tabla de Colores Elegimos la Cuenta Gotas, le Damos un solo Click Buscamos la Porción de color que querramos editar! Y le damos SOLAMETE UN CLICK con el cuentagotas, Esto nos indicara de que cuadrante de la paleta procede el color que elegimos. YO CLICKIE EL PANTALON DEL WHITESMITH PARA SABER DONDE ESTABAN ESOS COLORES MUY IMPORTANTE A LA HORA DE EDITAR PALETAS, Es que no podemos editar lo que nos de la gana, NO PODEMOS ELEGIR UN SOLO CUADRITO! Tienes que elegir los 8 Cuadros de la regla donde se descubrió el color que acabas de clickear con el cuentagotas, PARA SELECCIAR LOS COLORES DEBES VOLVER A CLICKEAR EN EL CUENTAGOTAS PARA DESACTIVAR LA HERRAMIENTA. SI TE FIJAS EN LA IMAGEN AL VOLVER A CLICKEAR EL CUENTAGOTAS YA NO ESTARA EN HILIGHT! y ya con esto puedes seleccionar la rama de colores que descubriste Seleccionamos la regla de colores que habíamos descubierto, SIEMPRE TIENES QUE ELEGIRLA desde el Extremo Izquierdo hasta el Derecho, MANTENIENDO PRESIONADO EL CLICK Y ARRASTRANDO EL CURSOR A LO LARGO DE ESOS 8 BITS.. ASEGURARTE DE SELECCIONAR UNICAMENTE ESOS 8 DONDE DESCUBRISTE EL COLOR CON EL CUENTAGOTAS, No puedes pasarte porque editarias otra porcion del dibujo que no quisieras. CUANDO LO TIENES SELECCIONADO SUELTA EL CLICK DEL MOUSE Y SALDRA LA PANTALLA DE EDICIÓN DE COLORES ELIGES EL PRIMER COLOR Y LE DAS OK CUANTO ELIGES EL PRIMER COLOR, SE ABRIRÁ EL SELECTOR DEL ULTIMO COLOR, Cuando vas seleccionando el ultimo color vas a ir viendo como va cambiando el color de regla que elegiste... Lo que conseguimos con haber seleccionado los 8bits de la regla del color es un efecto mate que se ira aplicando en el color que descubrimos con el cuentagotas. La clave de un buen paletaje es Elegir Un primer color claro, y un ultimo color oscuro. Pero tu podrás hacerlo como mas te guste. Volvemos a utilizar nuestro cuentagotas para ver que mas podemos encontrar, esta vez seleccione los guantes del Whitesmith y descubri la regla de colores del Guante Repetiré el paso anterior, Desmarcare el gotero, Luego elegiré los 8 bits de la regla de colores donde encontré el color del guante! Usare un gris claro como primer color y un negro oscuro como ultimo color, para ver que me resulta. Descubrí que esta regla no solo abarca los guantes, si no que también comparte el color de los sujetadores de la camisa de nuestro Withesmith, y aquí es donde hago valido lo que dije anteriormente, QUE NO PODEMOS EDITAR LO QUE NOS DE LA GANA A VOLUNTAD. Solo podemos cambiar el matiz de la regla de colores. Tras experimentar mas con el gotero, encontramos varias reglas de colores que pudimos editar en nuestro whitesmith y este es el resultado final, Felicidades pues poseemos un color que ni el mismo Kamishi y su popular pack de paletas ha hecho. Le damos a guardar, y lo guardamos como MICROSOFT PAL Ya tenemos nuestro Archivo PAL, Para visualizarlo deberemos abrir el SPRITE! ojo el spr no el bitmap. Y en la pestaña Palette ponemos OPEN PALETE y seleccionamos la que recien guardamos. Podras ver el objeto en accion con la nueva gama de colores que le aplicaste Ese archivo pal puedes enviarlo al grf donde tenga las palettes siempre y cuando utilizes el nombre correspondiente de job, y el numero de paleta en la cual quieres que se muestre ese color. Debo aclarar que para que esas paletas se muestren correctamente en el cliente deberás abrir el archivo y remover la firma, ESTO APLICA UNICAMENTE PARA PALETAS DE COLOR DE PELO Y COLOR DE ROPA DE JOBS. La firma que debes borrar es la que muestro seleccionada aqui en la imagen. ----------------------------------------------------------------------------------------------------------------------------- SI EN LUGAR DE UN JOB, EDITASTE UN ITEM, UN MONSTRUO O UN NPC, ARMA ETC, SIMPLEMENTE ABRE EL SPRITE, CARGA LA PALETA Y DALE SAVE, aqui no hace falta remover firmas. Con el tiempo y dedicación seras un experto, podrás crear armas nuevas a bases de recolor, Podrás generar nuevos colores de cabello Podrás reparar las caras de algunos sprites donde los tintes o paletas manchan la cara Podrás crear tus propios escudos y armas, insertando y modificando imágenes y armando los sprites a partir de bitmaps. s
  8. 1- DESCARGAR NUESTRO EMULADOR Lo primero que necesitaremos es nuestro emulador rAthena ultima revisión y para ello debemos descargar Tortoise SvN aqui: https://tortoisesvn.net/downloads.html Una vez descargamos el Tortoise Svn nos vamos al escritorio y creamos una carpeta con nombre rAthena, a dicha carpeta le damos click derecho y elegimos la opcion SVN Checkout... Se abrirá la ventana de CheckOut y en el URL of repository colocamos https://github.com/rathena/rathena/trunk y en Revision ponemos HEAD Al darle Ok, el programa empezara a descargar el emulador a la carpeta rAthena, si todo salio bien habrás descargado con éxito tu emulador con la ultima revisión del repositorio. 2- CREAR NUESTRO SERVIDOR Una vez descargado el emulador, necesitaremos crear nuestra base de datos SQL en nuestro ordenador, con las credenciales del servidor, para ello vamos a necesitar el programa MySql Nos dirigimos a este link https://dev.mysql.com/downloads/installer/ y elegimos la opción mas pesada de 420 MB. Al momento de instalarlo nos irán saliendo las opciones de configuración, en la de High Availability marcamos la primera opción, Standalone MySQL Server y le damos next En la Opcion Type and Networkimg elegimos Development Computer y NO TOCAMOS ABSOLUTAMENTE MAS NADA DENTRO DE ESTA CONFIGURACION! le damos Next y entraremos en el Methodo de Autenticacion, aqui solamente marcamos Use Legacy y le damos al Next En Account & Roles, para el password de Root pondremos como pasword ragnarok en minúsculas, ragnarok es la que contraseña que viene por defecto en el inter athena conf del emulador. En Windows Service dejamos todo como esta y le damos next En la siguiente ventana, le damos a EXECUTE para que se empiezen a aplicar todas las configuraciones, Cuando todos los ganchos están en verde indica que se instalo bien tu servidor, En este punto, tienes instalado tu servidor local en tu computadora y esta corriendo. 3- DESIGNAR EL NOMBRE CORRECTO DE NUESTRO SERVIDOR ROOT EN LOS COMPONENTES DEL SERVIDOR Ya que tenemos nuestro servidor Root en la computadora, nos vamos a nuestro folder de emulador rAthena, buscamos la carpeta conf, y dentro encontraremos el archivo inter_athena, como este es un archivo de texto le damos a editar, y nos vamos a la parte de Global SQL Settings En la linea 31, en login_server_id reemplazamos ragnarok por root, pues root es el servidor SQL que instalamos en nuestro ordenador, y deberá quedar así: // MySQL Login server login_server_ip: 127.0.0.1 login_server_port: 3306 login_server_id: root login_server_pw: ragnarok login_server_db: ragnarok login_codepage: login_case_sensitive: no En la parte de ipban_db_id también cambiamos el ragnarok y ponemos root, debera quedar asi: ipban_db_ip: 127.0.0.1 ipban_db_port: 3306 ipban_db_id: root ipban_db_pw: ragnarok ipban_db_db: ragnarok ipban_codepage: En el char_server_id reemplazamos ragnarok y ponemos root, debera quedar asi: // MySQL Character server char_server_ip: 127.0.0.1 char_server_port: 3306 char_server_id: root char_server_pw: ragnarok char_server_db: ragnarok El map_server_id también le reeplazamos el ragnarok y le ponemos el nombre root ya que este es el nombre dado por nuestro servidor sql, deberá quedar asi: // MySQL Map Server map_server_ip: 127.0.0.1 map_server_port: 3306 map_server_id: root map_server_pw: ragnarok map_server_db: ragnarok Por ultimo pero no menos importantes los logs, en log_db_id reemplazamos ragnarok por root, debiendo quedar así: // MySQL Log Database log_db_ip: 127.0.0.1 log_db_port: 3306 log_db_id: root log_db_pw: ragnarok log_db_db: ragnarok log_codepage: log_login_db: loginlog CHAR_ATHENA Ya que terminamos de ajustar el inther athena conf, nos vamos al char_athena conf, esta parte es importante porque aquí seteamos el mapa de inicio de nuestros personajes creados. Eliges el mapa de inicio de tus novice para renewal o pre renewal.. Te recomiendo usar una data renewal si vas a usar un punto de partida renewal, NO PUEDES ser renewal sin data renewal pues se te pondra la pantalla negra cuando logees tu char... mas adelante te enseñare como configurar tu emulador para renewal o pre-renewal Dentro de char_athena también desactivamos algo bastante molesto llamado pincode, solo basta encontrar la linea que dice pincode_enabled y ponemos no, deberá quedar así: //=================================== // Pincode system //=================================== // NOTE: Requires client 2011-03-09aragexeRE or newer. // A window is opened before you can select your character and you will have to enter a pincode by using only your mouse. // Default: yes pincode_enabled: no LOGIN_ATHENA Aquí solo necesitamos ajustar una sola cosa! y es el poder Habilitar la creación de nuestro personaje con _M o _F En la linea 54 de este file ponemos yes en la opcion "//Can you use _M/_F to make new accounts o the server? Debera quedar así: // Can you use _M/_F to make new accounts on the server? // Note: This only works if client side password encryption is not enabled. new_account: yes terminamos las configuraciones del emulador por ahora. 4- GESTIONAR NUESTRA BASE DE DATOS Una vez configurado el inter_athena.conf char_athena.conf y login_athena.conf necesitaremos un programa para crear nuestra BASE DE DATOS, yo recomiendo altamente el programa HeidiSQL por su facilidad de uso, este es el primero que use cuando empece a crear servers, y nunca me ha fallado. Link de descarga aqui: https://www.heidisql.com/download.php Una vez tenemos Instalado Heidi!, procedemos a crear la base de datos de nuestro servidor, elegimos Nueva, Aquí Lo importante es mantener el usuario root ya que ese es el nombre de nuestro servidor de datos sql, en contraseña debemos poner ragnarok en minuscula, pues es la clave que elegimos al instalar mysql y son las claves de los componentes que vienen por defecto en el inter_atena.conf. Al nombre de la sesión le puedes poner el que mas te guste, yo lo dejare en unnamed para guiarlos mejor. Cuando la tenemos creada le damos a abrir, hacemos click derecho sobre Unnamed o el nombre de sesion que le hayas dado, eliges crear nuevo, y le das click a base de datos. Es MUY MUY IMPORTANTE que el nombre de la base de datos sea ragnarok pues es el mismo nombre que tienen los componentes del server en el inter_atena.conf que previamente configuramos ok? Una vez creada la base de datos ragnarok la seleccionamos y nos vamos a la pestaña archivo Al abrir la pestaña archivo seleccionamos cargar archivo SQL, y se nos abrirá la ventana de exploración, en la cual elegimos rAthena, luego sql-files y elegimos main y logs con control, una vez seleccionados main y logs le damos a abrir. Una vez abiertas dirígete a la pestaña main, y ejecutala dandole click al triangulo azul, veras como se van cargando las tablas en la base de datos ragnarok Una vez terminada de cargar las main, selecciona la de logs y procede con lo mismo, click al triangulo para ejecutar, la tabla logs es importante ya que esta registra los movimientos de items, objetos comandos, en fin es como una bitacora que ni so se carga el emulador se la pasara enviando warnings. Otros sql-files que podrias cargar dentro de la db ragnarok serian el roulette_default_data por si quieres implementar la ruleta en tu servidor, pero los premios y requisitos de la ruleta se configuran en esa misma tabla y no en scripts. Cuando se ha cargado todo, presiona f5, esto recargara las tablas, en pocas palabras actualizara o refrescara heidi y MAGIA puedes ir a la tabla login, y luego a la pestaña datos, la account_id 1 es del sistema y esa no la puedes ocupar para tu char, alli van a parar los chars que creas en tu server, para ser ADMIN con todos los comandos debes ponerte 99 el el group id. Ya tenemos servidor, y base de datos. 5- COMPATIBILIZAR EL EJECUTABLE Y COMPILAR NUESTRO EMULADOR Antes de Encender nuestro emulador debemos configurarlo y luego compilarlo. El cliente o ejecutable que recomiendo es 2018-06-20eRagexeRE.exe pues es el que considero mas estable, este ejecutable lo puedes descargar en el post de MathReaper Para compatibilizar el exe con el emulador debes ir a tu carpeta rAthena y elegir la carpeta SCR, (ya estamos en territorios de alto riesgo), dentro de la carpeta scr nos vamos a la carpeta config y abrimos packets.hpp Para tener una mejor experiencia editando estos archivos, recomiendo el programa notepad++ lo puedes descargar aqui: https://notepad-plus-plus.org/downloads/ al abrir packets.hpp encontraremos la linea que tiene asignada la versión del exe #ifndef PACKETVER /// Do NOT edit this line! To set your client version, please do this instead: /// In Windows: Add this line in your src\custom\defines_pre.hpp file: #define PACKETVER YYYYMMDD /// In Linux: The same as above or run the following command: ./configure --enable-packetver=YYYYMMDD #define PACKETVER 20200401 #endif en el #define PACKETVER 20200401 debemos cambiar y asignar el exe que les recomendé en este caso el 20180620 el texto deberá quedar así #ifndef PACKETVER /// Do NOT edit this line! To set your client version, please do this instead: /// In Windows: Add this line in your src\custom\defines_pre.hpp file: #define PACKETVER YYYYMMDD /// In Linux: The same as above or run the following command: ./configure --enable-packetver=YYYYMMDD #define PACKETVER 20180620 #endif Para Evitar la Black Screen del Exe al seleccionar tu personaje deberás editar y agregar tu packet version en el siguiente archivo: SCR/CUSTOM/ defines_post.hpp defines_pre.hpp si lo vas a hacer pre renwal editas el defines_pre.hpp si lo vas a hacer renewal entonces edintas el defines_post.hpp // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL // For more information, see LICENCE in the main folder #ifndef CONFIG_CUSTOM_DEFINES_PRE_HPP #define CONFIG_CUSTOM_DEFINES_PRE_HPP /** * rAthena configuration file (http://rathena.org) * For detailed guidance on these check http://rathena.org/wiki/SRC/config/ **/ #define PACKETVER 20180620 #endif /* CONFIG_CUSTOM_DEFINES_PRE_HPP */ RENEWAL O PRE? El emulador viene RENEWAL por defecto, si queremos ser pre renewal tenemos que ir a la carpeta SCR de nuestro rAthena, luego a la carpeta config y abrimos renewal.hpp Una vez abierto lo único que debemos hacer es comentar la parte que dice #define Renewal, comentar no es mas que colocar dos slashes // al inicio del define de renewal! como muestra la imagen para deshabilitar todas las características de renewal solo basta con dejar el texto asi: //#define Renewal COMPILACION Una vez hecho todos estos cambio debemos compilar nuestro emulador! Para compilar el emulador necesitas tener instalado el Visual Studio Community, lo podrás conseguir en este link: https://visualstudio.microsoft.com/es/downloads/ Al momento de instalarlo deberás elegir las herramientas C+ yo recomiendo la universal windows platform development y desktop developtment with C++. el resto nisiquiera la vamos a mirar. Una vez tenemos el Visual Instalado nos vamos a la carpeta de nuestro emulador y abrimos la solución, de nombre rAthena.sln Una vez Abierta la solución!, ASEGURATE DE ELEGIR RELEASE como lo muestro en la IMAGEN y no Debug, luego click derecho en Solución rAthena y click a Compilar Solución, ahora deberás esperar que se compilen todos los proyectos Si tu compilación fue exitosa tendrás correctos todos los resultados Ya puedes abrir tu emulador, para ello ve a la carpeta rAthena y abre individualmente los proyectos loginserv charserv y mapserv Si quieres ahorrarte el trabajo de abrir siempre los 3 componentes del server cada vez que inicies tu emulador, abre solamente runserver, lamentablemente esto viene bugeado, y no se ha corregido, por lo cual tuve que editarlo para que funcionara, si lo quieres, PUEDES DESCARGAR ESTOS CON TODA CONFIANZA Y METERLOS EN TU CARPETA RATHENA, Reemplazando los que vienen por defecto, con esto podras abrir el emulador usando solo runserver. pero necesitaras estos 2 archivos que voy a poner aqui abajo: runserver.bat y serv.bat Si seguiste bien todas las indicaciones, tendrás abierto un emulador optimo y sin ningún error!. 6- CREAR NUESTRO CLIENTE Y DIFFEAR NUESTRO EXE PARA EMPEZAR A JUGAR NUESTRO EMULADOR Antes que nada necesitas el KRO COMPLETO, EL JUEGO RAGNAROK , Lo puedes descargar aquí mismo, Nuestro administrador Akkarin nos compartió el ultimo cliente en este topic: Una ves terminado de descargar y extraer el KRO Limpio, necesitaras crear los archivos de tu propio cliente, Estos archivos del cliente son los GRF y la Data Traducida que tiene Archivos Luas, Descripcion de Objetos, Quests, Entre Otros, y son los que deberás exportar a tu Ragnarok Limpio. Tengo a Disposición un RAR Limpio, con los archivos necesarios y básicos para un cliente, consta de 2 GRF's uno llamado Custom y Otro llamado Pal, tambien tiene un exe pre difeado que puedes usar para ir testeando tu servidor. Si tu servidor va a ser Pre Renewal, con los items, mapas, y descripciones de pre renewal deberas bajar este rar de mi unidad Drive: - https://drive.google.com/file/d/1M8gvEWnumjPwNwzXLrACBYYAqE3ptoRp/view?usp=sharing Si tu servidor va a ser RENEWAL con la descripcion de items, y mapas renewal deberas bajar este rar de mi unidad Drive: https://drive.google.com/file/d/18Pn4Zw0q_-yBTkE9n30JN8hGLGmL6iyo/view?usp=sharing Al descargar y extraerse, lo único que deberás hacer copiarlo todo y pegarlo a la carpeta del ro limpio. TODO LO QUE TE PIDA REEMPLAZAR LO REEMPLAZAS! estos archivos podrás editarlos o preservarlos por si quieres crear un instalador para tu usuarios. Si tienes el emulador encendido, puedes intentar entrar a tu servidor ejecutando el exe pre diffeado que acabas de pegar en tu ragnarok limpio, el de nombre 2018-06-20eRagexeRE_patched que te incluí en el RAR, Si te sale THE EXE HAS CHANGED al principio, cierra y vuelve a abrir, esto pasa una sola vez y te indica que el ejecutable que se usa es el de tu servidor y no el de Kro, Cuando abras podrás crear tu personaje, lo que indica que estas en el servicio correcto. Si quieres diffear tu propio ejecutable deberás descargar nemo Patcher en este Link: https://gitlab.com/4144/Nemo/ En imput exe file subes el ejecutable que hayas descargado, recuerda que debe ser la misma versión que definiste en tu emulador, en output es donde se va a generar el ejecutable diffeado, pones Load Client y se cargaran todos los parches posibles para el exe. Algunos diff Recomendados y Otros necesarios para que el cliente arranque sin problemas son: @ Bug Fix (Recommended) Allow close cutin by pressing esc key Allow space in guild name Always Load Client Plugins [Experimental] Always Show Resurrection Button Always Use Email for Char Deletion Always load Korea ExternalSettings lua file Cancel to Login Window (Recommended) Change RecommendedQuestInfoList*.lub path aqui escribes system\OngoingQuestInfoList Change character display deletion time from actual date to relative date Change minimal screen resolution limit Change new char name field height AQUI PONES 17 esto muestra el nombre correctamente al momento de crear tu personaje Chat Flood Remove Limit Custom Window Title aqio pones el nombre que le quieres dar a tu ventana de ragnarok Disable 1rag1 type parameters (Recommended) Disable Help Message on Login (Recommended) Disable Swear Filter Disconnect to Login Window Enable /who command (Recommended) Enable DNS Support (Recommended) Enable Effect for all Maps [Experimental] Enable Emblem hover for BG Enable Monster Tables Enable Multiple GRFs (Recommended) solo el recommended Enable Shortcut All Item Enable Title Bar Menu botones en tu ventana de ragnarok Enable guild while in clan si quieres guild mientras estas en clan, deberas modificar el script de clans en rathena para pasar este filtro Enforce Official Login Background Extend Chat Box Extend Chat Room Box Extend Npc Dialog Box Extend PM Box Fix Camera Angles (Recommended) Fix Homunculus attack AI Fix achievement counters for each type of achievement Por si habilitaras achievements Fix act delay for act files with many frames Fix item description bug Hide build info in client (Recommended) Hide packets from peek (Recommended) Hide zero date (1969-01-01) in guild members window Ignore /account: command line argument Ignore Lua Errors --- esto lo puedes desactivar cuando tengas tu cliente terminado Ignore Missing Palette Error --- esto lo puedes desactivar cuando tengas tu cliente terminado Ignore Resource Errors --- esto lo puedes desactivar cuando tengas tu cliente terminado Increase Headgear ViewID Ponle 4000, asumiento que meteras hat custom, ragnarok ya supero las 2000 IDS Increase Zoom Out 75% o max como quieras Increase hair style limit for human only in game (old) Load Custom lua file instead of iteminfo*.lub (Recommended) aqui debes poner System/iteminfo.lua Only First Login Background Read msgstringtable.txt (Recommended) Remove Gravity Ads (Recommended) Remove Gravity Logo (Recommended) Remove Hourly Announce (Recommended) Remove Serial Display (Recommended) Remove wrong chars from cash shop Restore Cash Shop Icon Restore Login Window (Recommended) Show Register Button boton de redireccion al enlace de registro de chars que hayas puesto en tu sclientinfo Show Replay Button aqui se reproduciran las partidas que grabes en tu ragnarok Skip License Screen Skip some hidden menu icon buttons si desactivaste botones este parche hara que se acomoden los espacios vacios entre botones ocultos Translate Client (Recommended) Use Ascii on All LangTypes (Recommended) Use Default Web Browser In Cashshop Use Default Web Browser for URL Use Normal Guild Brackets (Recommended) Use Official Cloth Palettes Necesario para que se muestren las paletas de colores Use Plain Text Descriptions (Recommended) Use Ragnarok Icon Use Tilde for Matk Los Diff que de ningún modo debes activar: Always Call SelectKoreaClientInfo() (Recommended) Aunque Diga recomended NO LO HABILITES Change Walk To Delay Incomodo, acelera la resuesta de clicks hara que camines hacia un npc aun despues de abrir su dialogo HKLM To HKCU NO LO HABILITES Skip Service Selection Screen NO LO HABILITES si rompes el protocolo de seleccion de servicio no podras abrir el select char window EDICIÓN DE GRF Y SCLIENTINFO El programa para editar tu grf sera GRF EDITOR de Tokei, este programa es el equivalente a un arma forjada por el mismo Hefesto, así recuerda darle un upvote si llegas a descargarlo Con este programa abres tu Custom.grf y podrás visualizar los archivos del GRF de tu servidor, recuerda que siempre que vayas a aplicar un cambio, deberás tener el exe del ragnarok cerrado. En la carpeta data de tu Custom.grf se encuentra el sclientinfo.xml, en el campo Display editas El nombre del servidor que se mostrara cuando abras tu ejecutable, podrás asignar o remover las ropas de game master, tambien podrás cambiar el link del web de registro al que te dirige el boton register. Si vas a subir tu emulador a un host deberas editar el sclientinfo y poner la ip en donde esta montado tu servidor. El orden de lectura de los GRF se asigna en un archivo llamado Data.ini y el orden debera ir asi: [Data] 1=custom.grf 2=palette.grf 3=rdata.grf 4=data.grf Como ha notado, el grf de palettes está aislado, si bien no es muy pesado, esta lleno de miles de archivos pals, si llegaras a descargar las paletas de kamishi te recomiendo usar un grf exclusivo de paletas y no mezclarlo con tu custom pues estanos hablado de mas de 40mil archivos que tomaran bastante tiempo en empaquetarse. ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- Montar el Servidor a un Host Hasta Este Punto de la guía! ya tienes tu Servidor Local, Tu Emulador Funcional sin errores, Tu cliente con Exe y GRF custom. Para Montar tu emulador a un host recomiendo el programa WinSCP https://winscp.net/eng/download.php Abres Winscp y colocas las credenciales que te entrego tu proveedor de servicios Host Pasas el Emulador a la carpeta raiz de tu host Cambias los datos de tu char_athena.conf en este file editas el // Login Server IP y el // Character Server IP pones la ip del host. Edita tambien el // Server Communication username and password. Porque el default S1 Y P1 todos lo conocen, este debe coinicidir con la de tu main sql. En login_athena.conf no se editan ips. pero puedes volver a habilitar o deshabilitar la creacion de chars usando _M o _F, esto por si quieres que los registros sean únicamente por Control Panel // Can you use _M/_F to make new accounts on the server? // Note: This only works if client side password encryption is not enabled. new_account: no En map_athena.conf Colocas el mismo server comunication username y password que tienes en tu sql y en tu char_athena.conf, el default es S1 y P1 pero tu elige uno que nadie conozca. // Interserver communication passwords, set in account.txt (or equiv.) userid: passwd: En inter_athena.conf Aqui no se editan ips ni puertos, aquí solamente se se colocan las credenciales de las _db: y _pw: correspondientes a las que tienes creadas en la base de datos de tu proveedor de servicios. // MySQL Login server login_server_ip: 127.0.0.1 login_server_port: 3306 login_server_id: root login_server_pw: login_server_db: login_codepage: login_case_sensitive: no ipban_db_ip: 127.0.0.1 ipban_db_port: 3306 ipban_db_id: root ipban_db_pw: ipban_db_db: ipban_codepage: // MySQL Character server char_server_ip: 127.0.0.1 char_server_port: 3306 char_server_id: root char_server_pw: char_server_db: // MySQL Map Server map_server_ip: 127.0.0.1 map_server_port: 3306 map_server_id: root map_server_pw: map_server_db: // MySQL Log Database log_db_ip: 127.0.0.1 log_db_port: 3306 log_db_id: root log_db_pw: log_db_db: log_codepage: log_login_db: loginlog Abrir y Compilar tu emulador remotamente Para abrir tu emulador cargado al host, necesitaras un programa llamado Putty que puedes descargar aqui https://www.putty.org/ Al abrirlo en el campo Host Name or IP adress colocas la Ip de tu host y le das OPEN Ya estas dentro de tu vps, y el te va a solicitar el user y el password que te proporciono el Host, debes tener cuidado al colocar el password porque no se van a mostrar los typing en la consola. Al entrar exitosamente tendras un display de los comandos preparados por su proveedor, generalmente son ON, OFF, PREPARAR, COMPILAR etc. Con los que puedes arrancar, detener, reiniciar o compilar el emulador que tienes cargado en el host. Deberas compilar y iniciar el emulador después de haber editado los confs con los datos del host. Aqui vemos el trabajo de compilación mediante vps Aqui vemos como ha iniciado el servidor, debe estar lleno de status y no errores Aqui un logeo exitoso Recuerda editar tu sclientinfo y ponerle la ip de tu provedor de host.
  9. Edit your pal grf, you have to import the kro default palletes just for the hairstyles! not bodies to your first read grf..... save and problem will be solved.. by the way.. diff your exe with char name height to 17 to show the whole name in the char creation panel.
  10. : DB error - Table 'ragnarok.autotrade_merchants' doesn't exist [Debug]: at C:\Users\Mario Zicari\Desktop\rAthena\src\map\script.cpp:16996 - SELECT `login`.`account_id` FROM `login` INNER JOIN `char` ON `char`.`account_id` = `login`.`account_id` WHERE `last_ip` = '127.0.0.1' AND `char`.`online` = 1 AND `login`.`account_id` NOT IN ( SELECT `account_id` FROM `autotrade_merchants` ) [Debug]: Source (NPC): Only1perIP (invisible/not on a map)
  11. Solved by my own means. Autotrade merchants are not counting in the multi login ip filter, Only 3 accounts per IP and the fourth was kicked. Also added an exception, just in case there are confirmed brothers, couples, etcm in different pcs but using same ip: if (#brothers) end; - script Only3perIP -1,{ OnPCLoginEvent: if (getgmlevel() >= 99) end; if (#brothers) end; set [email protected]$, strcharinfo(0); if (query_sql("SELECT `char`.`name` FROM `char` LEFT JOIN login ON `char`.account_id=login.account_id WHERE login.last_ip='"+getcharip()+"' AND `char`.online=1 AND `char`.char_id!="+getcharid(0), [email protected]$) >= 2) { for (set [email protected],0; [email protected]<getarraysize([email protected]$); set [email protected],[email protected]+1) { if (!checkvending([email protected]$[[email protected]]) ) set [email protected], [email protected] +1; } if ([email protected] >= 3) { announce "Lo sentimos, Solo se permite un maximo de 3 cuentas logeadas por IP.", bc_self; mes "Suzaku Ro"; mes "Lo sentimos, solo se permite un maximo de 3 cuentas logeadas por IP!"; sleep 4000; atcommand "@kick " + [email protected]$; } } end; }
  12. You have to replace that, for the one I provided and compile your server. case TK_JUMPKICK: //Different damage formulas depending on damage trigger if (sc && sc->data[SC_COMBO] && sc->data[SC_COMBO]->val1 == skill_id) skillratio += -100 + 4 * status_get_lv(src); //Tumble formula [4%*baselevel] else if (wd->miscflag) { skillratio += -100 + 4 * status_get_lv(src); //Running formula [4%*baselevel] if (sc && sc->data[SC_SPURT]) //Spurt formula [8%*baselevel] skillratio *= 2; } else skillratio += -70 + 10 * skill_lv; break;
  13. Your lines are not the same as latest rathena, that's why your damage formula is messed up in game.
  14. Can't reproduce your issue in latest revision Suzaku Ro _Mid Rates_ 2020-06-17 11-29-38.mp4 Please go to the battle.c in your SCR and check your damage formula, your line must be the same as below: case TK_JUMPKICK: //Different damage formulas depending on damage trigger if (sc && sc->data[SC_COMBO] && sc->data[SC_COMBO]->val1 == skill_id) skillratio += -100 + 4 * status_get_lv(src); //Tumble formula [4%*baselevel] else if (wd->miscflag) { skillratio += -100 + 4 * status_get_lv(src); //Running formula [4%*baselevel] if (sc && sc->data[SC_SPURT]) //Spurt formula [8%*baselevel] skillratio *= 2; } else skillratio += -70 + 10 * skill_lv; break;
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.