Jump to content


Popular Content

Showing content with the highest reputation since 06/14/2020 in Posts

  1. 25 points
    Probably not xD Anyways, I am working on development of a new patcher as a successor to the original aka NEMO. Initially, I was planning to just release the source for NEMO but is quite outdated. So I decided to just start off fresh utilizing concepts from the original along with new ideas (Already have some implemented, which I will explain later) Also this time, I will be keeping it open source. I will publish to Github once there is a solid foundation. I am building it using the latest version of Qt (5.15) and utilizing QML for creating the GUI. I want to give it a more modern appearance, however, I am a "novice" on this front. So I am inviting suggestions for the UI from the talented individuals here.
  2. 6 points
    Source: https://github.com/trickyloki3/pj59 Platform: Linux / OSX Requirement: make, flex, bison, gcc This tool is use for translating item scripts into item descriptions. { bonus bAtkEle,Ele_Dark; bonus2 bAddEle,Ele_Ghost,15; bonus3 bAutoSpell,"MG_STONECURSE",3,100; bonus2 bAddEff,Eff_Stone,10; bonus bDex,3; } - id: 1138 name: Mysteltainn bonus: | Weapon endowed with Dark property. +15% Physical Damage vs. Ghost enemies. Add 10% chance to cast Level 3 Stone Curse for each weapon attack. Add 0.10% chance to inflict Stone on enemy for each weapon attack. DEX +3 Note: the item descriptions are based on rAthena in Renewal mode. The item descriptions can be changed by altering the template files, i.e. statement.yml, bonus.yml, sc_start.yml, etc. I realized that a specialty tool like this can be difficult to use. If you need help, then feel free to ask. I appreciate any feedback. If you want to see what the output looks like, then checkout the attached file. output.yml
  3. 5 points
  4. 5 points
    Need the latest kRO Install folder for your private server? Look no further! ----> Download <---- Latest: 2020-01-24 Installation: Official kRO Updated: 09/04/2020 Download Link: http://bit.ly/latestkro Package contains RSU RO Patcher Lite for kRO and kRO RE by [Ai4rei] This package is maintained by [Akkarin] This ZIP archive is 3.95GB in size and includes all BGMs plus the latest RSU ([2020-04-06] Release Simply download, extract, play! A fan of this topic? Hit the rep button
  5. 4 points
    To some degree this applies: Newer clients suffer from memory fragmentation and thread leaks. The increasing use of Lua also hampered the performance (as opposed to hardcoded tables). The compiler has also been changed many times in the last few years, which also has some impact on performance (different processors take advantage of different optimizations). For some time clients have been encrypted with Themida, which is not healthy for performance applications. At last the obvious reason: newer clients have more features, icons and other magic that have to be processed per frame.
  6. 3 points
    View File @AnalyzeItem count item in your server @aitem this command allows you to check how many of the item in the server command @aitem2 allows you to check also who have the items @aitem is fast, but @aitem2 will take some time to finish the time depend on how big your database is! Keep in mind that this script work with sql , so if you got an item you will need to wait xtime(default 30 sec) to save in sql so you can see it with the command (or relogin or any act in the server that force you data to be saved , it's all depends on your server setting and your usage) you should wait until the command is done , do not logout/talk to npc/ anything until you get the results! '@AnalyzeItem' return the count of the item in the server. '@AnalyzeItem2' return the count of the item and the lst of who have it in the server (take more time). USAGE: @AnalyzeItem <ITEM_ID> @AnalyzeItem2 <ITEM_ID> OR @AItem <ITEM_ID> @AItem2 <ITEM_ID> Wait until you get the results in your chat to add more tables (like other storages) check the array [email protected]$ and [email protected]$ F_GET_REAL_OWNER_NAME(<"string table">,<id>) get the name for id Submitter sader1992 Submitted 06/22/2020 Category Utilities Video Content Author sader1992  
  7. 3 points
  8. 3 points
    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: 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: 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: 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: 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: 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: login_server_port: 3306 login_server_id: root login_server_pw: login_server_db: login_codepage: login_case_sensitive: no ipban_db_ip: ipban_db_port: 3306 ipban_db_id: root ipban_db_pw: ipban_db_db: ipban_codepage: // MySQL Character server char_server_ip: char_server_port: 3306 char_server_id: root char_server_pw: char_server_db: // MySQL Map Server map_server_ip: map_server_port: 3306 map_server_id: root map_server_pw: map_server_db: // MySQL Log Database log_db_ip: 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. 3 points
    There´s a new method of upscaling imagens using Artificial Inteligence, based on Deep learning. Here´s the results of my tests with it (called ESRGAN) And there is another AI model that change animations to 60 FPS (Called DAIN) Original (about 10 fps)-> 60 fps (gif aproximation to post here)-> And the two methods can be combined: Its possible to make a 4k Remake of ragnarok with this?
  10. 3 points
    Hi, This is a simple utility to convert files from the old format (data\idnum*.txt) to the current lua format: System\yourfile.lub The output file is a standard LUA file. If you don't fill the database information, the resulting LUA file will not include the slot count and view id from your database. Regards, Myzter IdNum2Lua.rar
  11. 3 points
    Hola, Quiero compartirles el último script de minería que hice, en español. A diferencia de los sistemas de minería que hice años atrás, éste es desatendido, es decir, una vez que el jugador se convierte en ingeniero en minas, tendrá una perforadora automática a combustible que hará el trabajo por ellos, con algunos requisitos mínimos de mantenimiento obviamente, con lo que evitamos el mal uso. Características: Para adquirir una perforadora, deben ir a Einbech, a la ubicación que se aprecia en la imagen. Las perforadoras se llaman AX, y tal como se aprecia en las imágenes, pueden mostrar el tiempo para su desmantelamiento automático o bien, cuando están operando, indican la cantidad de combustible y la broca restante. Después de 24 horas el servidor destruirá las AX que no estén haciendo nada, perdiendo el combustible, la broca y los ítems de su inventario, cayendo al suelo, permitiendo que otros jugadores recojan todo sin que sea un delito. El tiempo de desmantelación no aplica si los AX están funcionando, así que asegúrate de ponerle combustible y de reemplazar la broca cuando se agote. El combustible se agota lentamente, al igual que la broca, pero lo bueno es que los AX mantienen informados a sus dueños sin importar su ubicación en el server: Cuando obtienen algún ítem Cuando se gasta la broca Cuando se agota el combustible Hay muchos items que sirven de combustible, pero el principal es el alcohol. Por defecto la broca es una lanza Guisarme[2], la que debe instalarse en el AX cuando éste se encuentre instalado en la mina. El sistema viene con 3 tipos de mina, donde cada una permite extraer ítems con diferentes rates configurables por el admin. Se pueden crear infinitos tipos de minas, con los items que el Admin quiera, sólo deben entender el modelo de las tablas adjuntas en el zip. Mina de Minerales: Rough Oridecon, Rough Elunium, Oridecon, Elunium, Enriched Elunium y Enriched Oridecon Mina de Joyas: Red Blood, Green Live, Wind of Verdure, Crystal Blue, Rough Wind, Mystic Frozen, Flame Heart, Great Nature, Cracked Diamond, 1carat Diamond, 2carat Diamond y 3carat Diamond Mina de Oro: Scell, Gold, Emperium, Treasure Box, Gold Ore Los Admin pueden usar el comando @ax2 para crear o eliminar minas en lugares estratégicos de su server, o usar @ax3 para visualizar todas las minas del mapa, diferenciadas por color, o @ax4 para ver todas las del server. Los AX no pueden instalarse pegados a otro AX, a menos que la mina haya sido descubierta por ese jugador, asegurando que siempre tenga espacio para instalar su AX. Creanme, se acaban los sectores y quedan jugadores sin poder minar, a la espera que desarmen algún AX. El comando @ax es para los jugadores, y permite operar con el sistema, hacer búsquedas en los mapas, como también, realizar la instalación del AX para que comience a excavar. Los jugadores sólo pueden operar con su AX, aunque podrán hacerlo desde una distancia de 10 celdas para que no tengan problemas con otros jugadores. Si el inventario del AX se llena y su dueño no acude de inmediato a sacar los items, la perforadora podría extraer más items pero éstos caerán al suelo, así que ojo con los leechers. En la medida que el tiempo de perforación aumente, podrán hablar con el líder de los ingenieros en minas y pedirle que les entregue un AX más avanzado, son 10 y en cada uno aumenta la capacidad del estanque y del inventario. Video: https://youtu.be/TvHmP4w_ukk Tengan en cuenta que este sistema incluye tablas nuevas para su base de datos MySQL, nuevos ítems, elementos gráficos y sonidos, además de algunos cambios en el emulador que deben compilar, lean los archivos txt incluidos en el ZIP para saber qué hacer. Saludos, Myzter Miner AX.zip
  12. 3 points
    Not ready yet but i'm working on it: https://github.com/haurenburu/ragnarok-content/tree/master/rathena/illusions/frozen
  13. 2 points
    Change shop to cashshop - shop card_mob#A -1,501:1000 - shop card_mob#B -1,501:1000 - shop card_mob#C -1,501:1000 - shop card_mob#D -1,501:1000 - shop card_mob#E -1,501:1000 - shop card_mob#F -1,501:1000 - shop card_mob#G -1,501:1000 - shop card_mob#H -1,501:1000 - shop card_mob#I -1,501:1000 - shop card_mob#J -1,501:1000 - shop card_mob#K -1,501:1000 - shop card_mob#L -1,501:1000 - shop card_mob#M -1,501:1000 - shop card_mob#N -1,501:1000 - shop card_mob#O -1,501:1000 - shop card_mob#P -1,501:1000 - shop card_mob#Q -1,501:1000 - shop card_mob#R -1,501:1000 - shop card_mob#S -1,501:1000 - shop card_mob#T -1,501:1000 - shop card_mob#U -1,501:1000 - shop card_mob#V -1,501:1000 - shop card_mob#W -1,501:1000 - shop card_mob#X -1,501:1000 - shop card_mob#Y -1,501:1000 - shop card_mob#Z -1,501:1000
  14. 2 points
    The tailed beasts (尾獣, bijū), sometimes referred to as "Chakra Monsters" (チャクラのバケモノ, Chakura no Bakemono), are the nine titanic living forms of chakra created by the Sage of Six Paths out of the chakra from the Ten-Tails. They are differentiated by the number of tails they have, ranging from one to nine. Shukaku, Matatabi, Isobu, Son Gokū, Kokuō, Saiken, Chōmei, Gyūki, Kurama.
  15. 2 points
    A big thanks to rAthena Development Team for the scripts, sources, tools and tutorials! I'm just 13 years old running a Ragnarok Private Server! Long live rAthena!
  16. 2 points
    on clean https://github.com/rathena/rathena/compare/master...sader1992:autoloot_no_mvp_no_card you should remove what I sent before https://github.com/sader1992/rathena/commit/57018fda8f80db4b9a5e8faa20924ad96c75fb5b (this include the undo of the before)
  17. 2 points
    - 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
  18. 2 points
    kRO Full Client 2020-06-16 includes BGM
  19. 2 points
    Simple and Clean Patcher with Niflheim Theme. EN: Hi, guys! This is the first time that I customize a personal Thor Patcher, and I'm learning how to use this tool yet. This Patcher is from my custom server, and I'm just training! Please rate my Patcher, guys All crits are welcome! INICIAR JOGO = PLAY GAME CRIAR CONTA = REGISTER VOTAR NO SERVIDOR = VOTE DOAÇÕES = DONATIONS PTBR: Oi, pessoal! Essa é a primeira vez que eu trabalho com o Thor Patcher, e ainda estou aprendendo a utilizar esta ferramenta. Esse Patcher é do meu servidor pessoal, e eu apenas estou treinando! Por favor, avaliem meu Patcher, pessoal Todas as críticas serão bem-vindas!
  20. 2 points
    When did I say the opposite ? The item script is just probably outdated. Also note that RMS is not reliable, as we said it again and again on the forum.
  21. 2 points
    Use `OnInstanceInit` instead of `OnInit`
  22. 2 points
    View File GRF Editor Hey everyone, This is a GRF tool I started to develop for my own personnal use, but I thought I'd share it since I've upgraded the UI. Its primary goal is to be easy to use while offering a wide variety of options and customizations. The software is quite stable and can handle large operations easily. How to install Download the zip archive provided from the download link at the bottom of this description or directly from there : http://www.mediafire.com/?aflylbhblrzpz0h Install the application with GRF Editor Installer.exe; if you are missing a .NET Framework you will be prompted to download it. Once you are done, you can start the program from the link on your desktop. Key features Overall speed is faster (or at least equal) than any GRF tool. Common operations : add, delete, merge, extract, preview, save. Undo and redo for any operation. It can open any GRF file. Clean and very interactive interface. Saving formats supported : 0x200, 0x103 and 0x102 (through the Settings page) and conversion to the Thor format. Instant filter and search options (example : "map .gat"). File association and context menus integration for .grf, .gpf, .rgz and .thor (through the Settings page). Can rebuild separated images into one file easily. Drag and drop (with the ALT key, can be modified in the Settings page). This is a big part of the software; most of the items can be moved around within the application itself or from/to Windows Explorer. Tools Sprite editor : a simple sprite editor with powerful features. Semi-transparent images can be added, you can easily change the order or replace images, etc. This tool can convert images in the wrong type by showing you multiple solutions (merging a new palette, dithering the image by using current palette, using the closest color, and a few more). Grf validation : allows you to validate a GRF with multiple settings. It can detect corrupted GRF entries, invalid sprites, empty files, non-GRF files, duplicate files and a lot more. Flat maps maker : generates flat maps from .gat and .rsw files. Useful to generate WoE maps or to fasten up the loading time. Patch maker : generates a GRF patch based on two different GRFs. Hash viewer : shows the hash code (both CRC32 and MD5) for files. Image converter : converts an image to any format requested (BMP, PNG, JPG, TGA). GrfCL : used to create batch files (.bat) which can automate tasks on GRF files. See the content in GrfCL.rar in the download for more information. This tool can be customized from the sources as well. Palette recolorer : creates new sprites by changing their colors (this tool is now deprecated). Client database editor : allows modifications of the database client files (txt and lua) with easy and simple tools. Work in progress. Grf encryption The encryption feature has been enabled again. It's similar to what it used to be and it has been tested on client versions ranging from 2012-08-01 to 2014-02-05. Some error messages will be displayed if necessary. If you have an issue, copy the error message (with the code, if there's one) and send me the client executable with the cps.dll file generated by GRF Editor. There shouldn't be compatibility issues anymore though! Thor files Thor files are patches used by Thor Patcher ( http://thor.aeomin.net/ ). Because of their similarity with the GRF file structure, they have been integrated within GRF Editor. The primary utility of this feature is that it allows you to add encrypted files to a Thor patch. All the other options can be achieved by using Thor Maker. You'll find the necessary steps below, but test your patches before sending them off to players (I've done a lot of testing on my end, but better be safe). If you're using SecureGRF, then make a new GRF, add the files and encrypt it. In GRF Editor, open the encrypted GRF you just made, use "Save as" and name the new file with a .thor extension. That's it, if you want to change the output directory, click on the root node of the project and select the tab "Container options". You can select the output mode and the GRF to merge the patch with. Simply save again if you change these properties. If you're using GRF Editor's encryption, then make a new Thor file (File > New > New Thor) and add the files you want to patch it with. Right-click on the files you want to encrypt and use Encryption > Encrypt. Technical stuff Requires .Net Framework 3.5 (SP1) Client Profile to run (3.5 or more will work as well). Automatically converts file name encoding to their proper values (you can change the encoding). Data virtualization is used as much as possible to preview files, meaning the files aren't completely loaded. Right-clicking an item will bring up the available options with that file. Preview file formats : txt, log, xml, lua, lub, bmp, png, tga, jpp, db, ebm, pal, gnd, rsw, gat, rsm, str, spr, act, imf, fna and wav. Services are "crash ready", meaning that you will be warned about a failed operation and no work will be lost (the application won't close and crash). It tries to continue operating even if it meets unsual conditions. Operations can be cancelled by clicking on the button near the progress bar. The warning level can be changed to avoid messages like "Please select a folder first." When prompted with an error, use Ctrl-C to copy the current dialog's content. Some screenshots! 1) Previewing an act file, while showing the search feature 2) Preview of a model file (rsm) 3) Preview of GrfCL with the MakeGrf command 4) Preview of maps 5) Preview of Grf validation 6) Search feature (press Ctrl-F or Ctrl-H to bring up within a text editor) Got a feedback? I'd gladly hear you out and fix issues you have with the program. Submitter Tokei Submitted 01/10/2013 Category GRF Files Content Author  
  23. 2 points
    RO Patcher Lite About Replacement for Gravity's RO patcher. Works faster and doesn't consume your entire memory for just seeing it crashing, aside from this, it works almost exactly as the official patcher does, so that it shouldn't break, unless Gravity changes something vital to their patcher. It works on every 32-bit and 64-bit Microsoft* Windows* platform and is free of any cost. Known Issues None. Download & Website http://ai4rei.net/p/rsu License This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License.
  24. 2 points
    View File [FREE] Event Manager Ehh since my event scripts are piling up, I decided to make an Event Manager // Basic Event Manager // By Mabuhay /*-=-=-=-=-=-=-=-=-=-=-=-=-=- Currently added are the ff : {#} NAME - "NPC_NAME" [1] Bombring - "Event_Bombring" [2] Dice - "Event_Dice" [3] Last Man Standing - "Event_LMS" [4] Novice V Zombie - "Event_NvZ" [5] Poring Catcher - "Poring_Catcher" [6] Poring Hunter - "Poring_Hunter" (Added 12-15-2019) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/ // For easier management of Event NPCs ///////////////////////////////////// // NOTE: // ///////////////////////////////////// // I don't support any modifications unless I want to. // But if you want to change things especially the rewards, // Please refer to my F_Reward Functions // https://rathena.org/board/files/file/4068-itemvariablepoints-reward-function-for-beginners-or-lazy/ // You should be able to easily change the rewards // If you have basic scripting knowledge Header Settings: OnInit: // 1 = item reward // 2 = variable/cashpoints reward // If you want to set item and variable/cashpoints rewards, do 1|2. // If you only want 1, just choose between 1 or 2 $event_options = 1|2; // If item reward enabled // What items will be rewarded setarray $event_item_reward, 501, 10, 502, 5; // If variable reward.. set to your variable. // If cashpoints.. set to #CASHPOINTS / #KAFRAPOINTS (Free Cash Points) $event_var$ = "#EVENTVARIABLE"; // Variable name? // If cash points, set to Cash Points // If your custom var, set to the name of that thing. $event_var_name$ = "Custom Points"; // How much points gain if #VAR / #CASHPOINTS / #KAFRAPOINTS? $event_var_gain = 1; $event_item_arr = getarraysize($event_item_reward); // @eventstart for GM bindatcmd "eventstart", strnpcinfo(0)+"::OnStart",60,60; // @eventjoin bindatcmd "eventjoin", strnpcinfo(0)+"::OnJoinEvent"; end; You may now use @eventstart for GMs to select which ones to start. @eventjoin for players to enter and see which event is currently active Event timers / Clock are to be set here : // OnClock<hour><minute>: donpcevent "<npc_name>::OnStart"; OnClock0000: donpcevent "Event_Bombring::OnStart"; end; //----- 12 mn OnClock0100: donpcevent "Event_Dice::OnStart"; end; OnClock0200: donpcevent "Event_LMS::OnStart"; end; OnClock0300: donpcevent "Poring_Catcher::OnStart"; end; OnClock0400: donpcevent "Event_NvZ::OnStart"; end; OnClock0500: donpcevent "Poring_Hunter::OnStart"; end; OnClock0600: donpcevent "Event_Bombring::OnStart"; end; //----- 6 am OnClock0700: donpcevent "Event_Dice::OnStart"; end; OnClock0800: donpcevent "Event_LMS::OnStart"; end; OnClock0900: donpcevent "Poring_Catcher::OnStart"; end; OnClock1000: donpcevent "Event_NvZ::OnStart"; end; OnClock1100: donpcevent "Poring_Hunter::OnStart"; end; OnClock1200: donpcevent "Event_Bombring::OnStart"; end; //----- 12 nn OnClock1300: donpcevent "Event_Dice::OnStart"; end; OnClock1400: donpcevent "Event_LMS::OnStart"; end; OnClock1500: donpcevent "Poring_Catcher::OnStart"; end; OnClock1600: donpcevent "Event_NvZ::OnStart"; end; OnClock1700: donpcevent "::OnStart"; end; OnClock1800: donpcevent "Event_Bombring::OnStart"; end; //----- 6 pm OnClock1900: donpcevent "Event_Dice::OnStart"; end; OnClock2000: donpcevent "Event_LMS::OnStart"; end; OnClock2100: donpcevent "Poring_Catcher::OnStart"; end; OnClock2200: donpcevent "Event_NvZ::OnStart"; end; OnClock2300: donpcevent "Poring_Hunter::OnStart"; end; //----- 11 pm Currently I just alternately activate events per hour. You can change the event time as you wish. You may choose any of the ff: OnClock<hour><minute>: OnMinute<minute>: OnHour<hour>: On<weekday><hour><minute>: OnDay<month><day>: I hope this helps. If you want me to add more, just PM me on an event script that needs to be updated. Thank you. Compatibility is your responsibility. No backward Compatibility Support. Enjoy! NOTE : If you find this useful, please click the Upvote button to motivate me to do stuffs like this And you are welcome! Submitter Mabuhay Submitted 11/23/2019 Category Utilities Video Content Author Mabuhay  
  25. 2 points
    Hello, I'm Haziel. I've been a graphic artist for over 15 years. I've made commissions for several Ragnarök Servers and also, worked on the production of some Indie Games either as Concept or Pixel Artist. Spriter is my main role on game development but I'm also able to perform as Designer, Mapper and Programmer, drop me a PM if you're interested in any of those services. For the previews below, keep in mind: Headgears, Garments, Equipment, Weapon/Shield and Monsters. Headgears Divine Headgear Set A Gem Themed Headgear Set carrying the theme of mystical stones, targeted for each of the main class branches. Dragon Headgear Set In a similar fashion of the previous one, having one main headgear targeted to fit certain classes. Equipment Divergent Set The Divergent Set concept is based on evolution. After meeting some requirements, the player would be able to evolve the basic Divergent Equipment (grey-ish blue), to one of 8 different forms: Demon (Purple), Dragon (Green), Fox (Orange), Ox (Black), Phoenix (Red), Shark (Skyline Blue), Tiger (Yellow) and Wolf (White). Each one with its own properties. The Helmet has it's own appearances while the other equipment will have it's colour changed. Arcane Set The Arcane Set was meant to be a magical bundle of equipment with four options of headgears for combining, it also has a Weapon compatible with Wizards, Sages and their evolutions. Sacred Set Initially, the Sacred Shield was requested, then, a Swordsman Equipment set, I mixed both things and expanded it to an 8-piece Equipment Set. Plate themed, this one is intended for Knights, Crusaders and their respective evolutions, but can be used by any Class. The Shield is currently only available for Crusaders and evolutions but can be adapted for any Class, although a specific Diff from NEMO is required to implement it. An alternative Cursed theme is also available. Elemental Auras Four Aura-like headgears and four monsters/pets to go along the theme. Anime/Show/Game Themed Gears Anime/Game Themed Gears Miscellaneous Gears made based on some Anime/Game characters and/or artefacts. Above, Megaman X and Zero Helmets from Megaman X franchise, Dying Will from Katekyo Hitman Reborn anime, Kaneki Mask from Tokyo Ghoul anime. Sword Art Online 2 Headgears/Garments and 3 Weapons based on the Manga/Anime Sword Art Online. Elucidator and Dark Repulser both are available for Knights and Evolutions, Kirito Weapons for Assassins and Evolutions. Event Gears Valentine's Day Halloween Halloween Package includes 5 Headgears with matching Garments and also the Wicked Set, composed of 2 Headgears and a Garment. Auras 32bit Headgear Auras All of them available in 12 colours. Monsters Defence Turrets Those are monsters meant to be summoned and attack anything that goes near. Originally intended to be WoE-related. Untear, Unseal, Unnes & Undine My take on the concept of evolutive Pets, can also be used as monsters. Miscellaneous Monsters Situational mobs to be used in Custom Maps/Quests. Trickster Collection My own take on Trickster Online conversions. Christmas Boss: Evil Santa Meant for Christmas Events, this boss has some weirdly strong Reindeers as minions! Sword Art Online Collection Overlord Collection RE: Zero Collection Bosses Big Bosses Really Big Bosses VIP Badges Those were intended to be exclusive to certain VIP levels, there are alternate versions for PVP purposes. Logo Headgears I also offer the service of recreating a server's Logo in a promotional Headgear. Headgear Edits Examples of minor works I usually receive requests for, that may be, from little corrections or addition of details to recolours and mixing of headgears. Above, a symbolic gift to Nova and his request about a Sunglass equipped on the lower slot. Garments/Robes Garments are visual items Gravity made on Jan/05 of 2011, but even Gravity itself didn't make much of them. They're equipped on Cape or Costume Cape slot and must be made Class by Class to fit perfectly on each movement. Different from Headgears, they are layered correctly behind the character and does not stay floating around it as some custom content out there. Official examples of it are the Archangel Wings and the Adventurer's Backpack. Wing-Themed Collection My current Wing collection consists of several themes divided on Insect, Feathered, Leather and Other categories. Suitable for all classes. Miscellaneous Garment Collection Another set of Custom Garments, but with another kind of thematic, instead of the usual wings. Miscellaneous Equipment Sets These have no visual appearance, are only intended as common gear. Freebies Headgears Garments Monsters Freebies Click on the preview image to be redirected to download thread! Freebies will be posted weekly! Rules 1. DO NOT steal my work, it takes hours, days, sometimes weeks to be made, don't claim it yours. 2. DO NOT redistribute, mirror or redistribute my work. 3. DO NOT edit my work without my permission, It includes recolours. 4. DO NOT remove my signature included among my files, be respectful. 5. DO use my works as Donation Rewards, be kind and just ask me first. Additional Information • I'm a Freelancer and my work is for sale, contact me by PM, Facebook, Discord, E-Mail ([email protected]) or Skype (hyering) if you're interested. • I'll not edit or modify other Artists' work without their permission, be sure to have it before asking. • I do take references on Sprites from TalesWeaver, Trickster and other sources, but I'll not redistribute raw materials or teach how to get it. • Feel free to contact me speaking English or Spanish. I can also understand Portuguese at a certain level. • I'm not a master or a know-it-all, I'll share my knowledge when I feel appropriate to do so.
  26. 1 point
    change: party_data *p; to: party_data *p = NULL;
  27. 1 point
    Try using instance_mapname(“job_thief1”).
  28. 1 point
    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.
  29. 1 point
    Many people have been asking me how I got my server, or theirs, working online using AndRO apk. Firstly, download AndRO's latest APK here.: http://roworkshop.com/andro/main/index.html Next, take all necessary files for running a server. These are the files from a fresh kRO, or in most cases a "Lite" version of a server. (In this example I used my Lite server files.) Below is a compiled folder of the files you need. Modify the clientinfo.xml to contain your information, add your client.exe, add your patcher, & your server grf. https://www.mediafire.com/file/vk72i0037bdsyb4/client.zip/file Then, I zipped everything into a RAR file. Downloading that onto my mobile device, in the Downloads folder. Using almost any RAR extractor tool from Google Play Store you can extract all the files into your Downloads folder. Once completed you will then run your AndRO application. (NOTE: This will not create a custom icon for your server. To do that you need to buy the APK version of your server from AndRO Workshop.) https://play.google.com/store/apps/details?id=com.rarlab.rar&hl=en_CA clieninfo.xml Now you might have some questions about the clientinfo.xml that you'll need to put into your main GRF. Below is an example of what mine looks like. This allows my server to read everything in plain English and not Acsii. Common errors: Unable to Find Resource values : Fixed by re-selecting the directory. If this fails, your clientinfo may not be there or it can't read your GRF; this is common with incorrectly encrypted GRFs. Crashes after selecting server directory, with no error : Fixed by disabling Gepard. If you have Gepard and want to keep it active you will need the paid version mentioned above. Item Descriptions not in Enlgish : Fixed by changing clientinfo.xml to read data folder first and selecting it to read itemInfo.lua files. Application will not read Downloads folder : Fixed by giving AndRO application Storage permissions. Fatal Error: java.net.UnknownHostException: Unable to resolve host "host.name.here.net": No Address associated with hostname. : Fixed by closing App completely, reloading app, "change" directory, reselect Downloads folder and reopening the directory. sounds annoying, because it is, but it works! data/sprite/인간족/머리통/여/2073_여.spr : Fixed by adjusting your Packet version in the packet line of clientinfo.xml data/sprite/인간족/머리통/남/33_남.spr : Fixed by reseting look to default. Many pallets and hairstyles are not working. File format error. Try to delete your client folder "/directory/". Failed to Parse LUA file: /data/user/0/com.rowork-shop.androlocalclientfiles/tmp.lub:30000 (or any other combination of numbers) unexpected symbol near 'symbol/text_error' : Fixed by scrolling to the specified line of your LUA/LUB and adjusting the improper values. Failed to connect to resource server : Fixed by adding the patch directory to the clientinfo.xml / If your GRF is encrypted you will need to decrypt it. Patch list error 1 at line 1 : Fixed by removing Patch and Website lines from your GRF. This is for those who don't use websites for their server. Failed to connect to map server : Fixed by double checking the patch directory on the clientinfo.xml. It is important to have both patch directory lines in it to receive connections. Fatal error Failed to load map: * : Fixed by either reselecting the Path in Settings and changing it, even if it's identical to what you have now; or by reinstalling the AndRO Freeware. More will be added and polished as I learn more. Thanks for reading thus far. If you need assistance compiling your mobile server let me know and I'll try my best to help.
  30. 1 point
    Ragnarok Renders What is a render? A render is basically an image where an object in the image has a transparent background. Think of transparency as something invisible. In this case the object(s) are monsters, characters, items, etc. How do I make a render? Well there are several ways, my easy solution is just to use the magic eraser tool in Photoshop CS5. You use that and click the background, the more solid the outline of the object the easier it is to render. Some objects you may have to trace the lines so that way the eraser doesn't erase a part of the image its not supposed to. This takes much trial and error, and don't worry, as long as you don't mess up on the tracing, you can't tell its been traced. What does the packages contain? A: NPC cutins, official wallpapers, and fankit images. There are also login screens that have been put together, as well as loading screens. It will also have all the original images for people who want to help out or just to see what the render came from; however, wallpapers are not included because it makes the package too large. What format are the images in? The images are saved in .PNG format. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------Downloads http://mysterious-project.googlecode.com/svn/trunk/Renders/Renders.zip Renders Package (Renders [10-2-2010]) http://mysterious-project.googlecode.com/svn/trunk/Renders/Renders.zip Updated: Added blank card templates, as well as blank flags. Card Images http://mysterious-project.googlecode.com/svn/trunk/Renders/Card Images.zip Comment: I don't know if this will be useful to anyone, but I figured why not. From the data.grf. NPC Cutins http://mysterious-project.googlecode.com/svn/trunk/Renders/NPC%20Cutins.zip Info: The NPC images without a transparent background. Also from the data.grf. jRO NPC Cutins (2012) http://mysterious-project.googlecode.com/svn/trunk/Renders/jRO%20Cutins.rar Info: Thanks to Bahamut for supplying them. I made them into Renders. Additional Renders (Thursday September 27th 2012) 1st-Humanish.zip 2nd-Humanish.zip Trans-Chibish.zip ThirdJob-Chibish.zip Info: Was gathered from here.
  31. 1 point
    might be related here. https://github.com/rathena/rathena/pull/4944#issuecomment-628689633
  32. 1 point
    https://github.com/llchrisll/ROenglishRE https://drive.google.com/file/d/1QKmhT9jrJfA_p5zLxSaXXdW_F1alO7Ry/view
  33. 1 point
    Thats the idea of instancing. You are using live duplicated maps.
  34. 1 point
    Won’t be updating this for a while. Feel free to share your fixes. Please remember that I’m not obliged to give you support. Please don’t PM me on Discord or on this site about this mod.
  35. 1 point
    20344,C_Happy_Balloon_J,Costume: Happy Balloon,4,0,,0,,,,0,0xFFFFFFFF,63,2,4096,,1,0,1289,{ bonus2 bDropAddRace,RC_All,10; bonus2 bExpAddRace,RC_All,5; },{},{}
  36. 1 point
    line 97 for ([email protected] = 0; [email protected] < @inventorylist_count; [email protected]) { if (@inventorylist_id[[email protected]] == [email protected] && [email protected]_equip[[email protected]] && @inventorylist_card1[[email protected]] == 0 && @inventorylist_refine[[email protected]] == 0) { delitem @inventorylist_id[[email protected]], 1; } } this could delete more that what it need to refine an item , you see it will delete all the items , for example , you need 5 to refine and you have 10 , the 10 will be deleted also like 4 ([email protected] = 10;)is not used in the script
  37. 1 point
    Ive got the same problem when I used this ... I hope my response is not too late ... I managed to fixed it by changing OnPCLoginEvent: /////////////////////////////////////////////////////////////////////////////// // Informs whether the Account protection system is active /////////////////////////////////////////////////////////////////////////////// dispbottom "[Account Protection]"; if(#BLOCKPASS){ dispbottom "Security System Enable: Use @"+.comando$+" For more information."; } else { dispbottom "Security System Disable: Use @"+.comando$+" For more information."; } end; to this one : OnPCLoginEvent: /////////////////////////////////////////////////////////////////////////////// // Informs whether the Account protection system is active /////////////////////////////////////////////////////////////////////////////// dispbottom "[Account Protection]"; if(#BLOCKPASS){ dispbottom "Security System Enable: Use @"+.comando$+" For more information."; block 1; } else { dispbottom "Security System Disable: Use @"+.comando$+" For more information."; block 0; } end;
  38. 1 point
    I am not satisfied some part of sprites and they need to be reworked, when i finished to rework npc sprites i can share it. I test jobs sprites in new clients 2020-04-01 and UI still don`t read scale from ACT. And it looks like this: For now i can`t find any way to slove this problem. I can share RuneKnigh (male) + RuneKnigh Mount (male) sprite for test, maybe anyone find the solution and I can finished rework jobs, then I`ll share it for free. RuneKnight.grf
  39. 1 point
    After almost 10 months of this I had found the solution SCR/MAP/MOB.CPP line 81 add: int a = mob_chat_db[id].msg_id; example: //Dynamic mob chat database std::map<short,struct mob_chat> mob_chat_db; struct mob_chat *mob_chat(short id) { int a = mob_chat_db[id].msg_id; return util::map_find( mob_chat_db, id ); } Success:
  40. 1 point
    *set <variable>,<expression>{,<char_id>}; set [email protected],getwaitingroomstate(0,"Waiting"); you missed a comma , read the console errors before anything.
  41. 1 point
    All headgear official bRO, cRO, euRO, fRO, idRO, iRO, jRO mysgRO, twRO, tRO Update April 2019 HeadGear update to Agus 2018.7z (14Mb) HeadGear update to Agus 2018.exe (160Mb) HeadGear update 01082018 to 22042019 Iclude list and miss headgear
  42. 1 point
    try this /*========================================== * @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 = 1; // 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; static char atcmd_output[CHAT_SIZE_MAX]; if (!*message) { clif_displaymessage(fd, "Use: @whosell <item_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)){ 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 <item_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(pl_sd->cart.u.items_cart[pl_sd->vending[j].index].nameid)) == NULL) continue; if(s_type & 1 && pl_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) || (pl_sd->cart.u.items_cart[pl_sd->vending[j].index].card[0] != card_id && pl_sd->cart.u.items_cart[pl_sd->vending[j].index].card[1] != card_id && pl_sd->cart.u.items_cart[pl_sd->vending[j].index].card[2] != card_id && pl_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) || pl_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 %s[%d] | Price %ud | Amount %d | %s[%d,%d] | %s",pl_sd->cart.u.items_cart[pl_sd->vending[j].index].refine ,item_data->jname ,pl_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->message); else if(item_data->type == IT_WEAPON) snprintf(atcmd_output, CHAT_SIZE_MAX, "+%d %s[%d,%d,%d,%d] | Price %ud | Amount %d | %s[%d,%d] | %s",pl_sd->cart.u.items_cart[pl_sd->vending[j].index].refine ,item_data->jname ,pl_sd->cart.u.items_cart[pl_sd->vending[j].index].card[0] ,pl_sd->cart.u.items_cart[pl_sd->vending[j].index].card[1] ,pl_sd->cart.u.items_cart[pl_sd->vending[j].index].card[2] ,pl_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->message); else snprintf(atcmd_output, CHAT_SIZE_MAX, "%s | Price %ud | Amount %d | %s[%d,%d] | %s",item_data->jname ,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->message); 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 entries. ==================", count, MinPrice, MaxPrice); clif_displaymessage(fd, atcmd_output); } else clif_displaymessage(fd, "Nobody is selling it now."); return 0; }
  43. 1 point
    View File Euphy's Quest Shop with Success Rates In response to this post : I just added success rate function. Enjoy! Original Script is by Euphy and I just added some functions to this. PS : if there are any broken event scripts ( due to old versions ), just DM me the link and I might be interested in updating it. PPS: I will only FIX it and not modify it at all. Submitter Mabuhay Submitted 11/10/2019 Category Games, Events, Quests Video Content Author Euphy, Mabuhay  
  44. 1 point
    Fala galera. estou precisando dos itens do Bro que não existem no Rathena. As linhas do item_db e item_combo_db; No meu servidor eu uso a descrição em PT-Br do Bro. Se alguém tiver os itens, estou disposto a conseguir os mesmos. Podemos trocar ou mesmo estou disposto a comprar caso você tenha feito o seu. [-]15206 - Armadura Tatenashi[1] [-]15254 - Vestido Abissal [1] [-]15238 - Cota do Dragão maligno [-]18563 - Tiara dos Corações-Alados [1] [-]18793 - Magician's Night Cap [-]19163 - Boneca da Succubus [-]19252 - Orelhas de Kardui [-]19268 - Halito de verme com rosto [-]19296 - Chapéu Chique com Pena [1] [-]19263 - Elmo do Xogunato [-]19300 - Quepe do cão mandante[1] [-]19316 - Capuz do Esquilo [1] [-]19318 - Rosário da Guarda Real [-]20904 - Bata de Etran[1] [-]28502 - Lenço Infame [-]28438 - Pó de fada [-]28505 - Anel do Capiroto [-]28517 - Anel do rei Abissal [-]28598 - Fragmento de Chip [1] [-]28411 - Brincos de esmeralda [1] [-]28513 - Celine's Brooch [1] [-]32237 - Celine's Brooch [1] [-]28507 - Magician's Gloves [1] [-]28430 - Arch Bishop Ring [1] [-]28484 - Rebellion's Scarf [1] [-]28517 - Anel do Rei Abissal [1] [-]28944 - Escudo de Sleiporing[1] tem mais um monte desses itens que os jogadores pedem e não temos no Rathena. Estou atrás de todos. Valeu Galera
  45. 1 point
    @Eros @Haruka Mayumi You can remove ID of this effect from "..\data\luafiles514\lua files\effecttool\forcerendereffect.lub" Fury Cast Animation == 261
  46. 1 point
    prontera,155,185,5 script Click-The-Pub 1_F_MARIA,{ end; OnWhisperGlobal: if ( getgmlevel() >= 99 ) goto OnMinute00; end; OnMinute00: delwaitingroom; waitingroom "Click ME", 2, strnpcinfo(0)+"::OnWinner", 1; end; OnWinner: warpwaitingpc "prontera", 155, 182, 1; attachrid [email protected]; if ( !checkweight( 501,1 ) ) { dispbottom "LOL you don't have enought space to get a reward"; end; } getitem 501, 1; announce "Click the Pub: Winner is "+ strcharinfo(0) +" !!", bc_all; delwaitingroom; end; }
  47. 1 point
    As the topic says, how do you protect your server from DDOS attacks? I got an unmanaged VPS from google cloud. I host my roserver and webserver on 2 different vps. And just now I try to do DDOS attack and both my server went down. I did it just to test how will my server handle attacks. And now since my server went down during the attack, i'm looking for some preventive measures. I was thinking that instead of availing DDOS protected ragnarok hosting, I might gain idea on how can I setup a DDOS protected server from my own unmanaged VPS. Maybe someone here can share any idea to do this? It will be highly appreciated. Thank you.
  48. 1 point
    Hellow! Now i'm starting a "Oficial-Based" server with git commands... i'm using git clone https://github.com/rathena/rathena.git ~/rathena to download the latest git from rathena... my doubt is: 1 - When someone update the master-branch, how can i update my git? 2 - If i make some changes in my source, i'll lost'em when update?
  49. 1 point
    like constants monsters? db/.../mob_skill_db.txt // MobID,Dummy value (info only),State,SkillID,SkillLv,Rate,CastTime,Delay,Cancelable,Target,Condition type,Condition value,val1,val2,val3,val4,val5,Emotion,Chat 1738,[email protected]_SELFDESTRUCTION,attack,173,1,10000,1000,0,no,self,always,0,,,,,,, 1738,[email protected]_SELFDESTRUCTION,chase,173,1,2000,1000,0,no,self,always,0,,,,,,,
  50. 1 point
    remove it from spawning in npc folder.. https://rathena.svn.sourceforge.net/svnroot/rathena/trunk/npc/re/mobs/dungeons/lhz_dun.txt remove the script that spawn the MVP.
  • Newsletter

    Sign Up
  • Create New...

Important Information

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