Search the Community

Showing results for tags 'source'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • Bulletin Centre
    • Community News
    • Repository News
    • Ragnarok News
  • Hercules Development Centre
    • Development Discussion
    • Suggestions
    • Development Centre Archives
  • Support & Releases
    • General Server Support
    • Database
    • Scripting
    • Source
    • Plugin
    • Client-Side
    • Graphic Enhancements
    • Other Support & Releases
  • Hercules Community
    • General Discussion
    • Projects
    • Employment
    • Server Advertisement
    • Arts & Writings
    • Off Topic
  • 3CeAM Centre
    • News and Development
    • Community
  • International Communities
    • Filipino Community
    • Portuguese Community
    • Spanish Community
    • Other Communities


  • Client Resources
  • Graphic Resources
    • Sprites & Palettes
    • Maps & Textures
    • Other Graphics
  • Server Resources
    • Server Managers / Editors Releases
    • Script Releases
    • Source Modifications
    • Plugins
    • Pre-Compiled Server
  • Web Resources


  • Community Calendar

Found 17 results

  1. source

    Greetings, After a long break I'm returning back to the freelancing scene, I've been in the RO private servers scene since 2012, with over of 9 years of programming experience and 6 years of software development choosing me will ensure you would be getting an excellent quality of code/changes. What do i work on? Core Development (Source, C) Scripting and database editing Database Management System Administration (Linux only) I can also work on applications written in PHP, Node.js, Python, C++. Things I do"NOT" work with rAthena Pricing Hercules source editing starting from 10$ per request. Hercules scripting starting from 10$ per request. Hercules database editing from 5$ per request. Any other requests pricing would be calculated with 8$ per hour of work. For rush requests that takes place during the weekdays you will be charged a flat fee of 8USD per hour of work, a detailed bill of how many hours will be spent, the final sum and expected delivery date will be given before payment for any rush requests, and all rush requests are prepaid and can never be post paid. Contact methods Skype: hemagx Discord: Ema#8360 Payment methods Cryptocurrency (Most of it is accepted, BTC preferred) Western Union Paypal (Highly not-recommend, but accepted) Terms of Service I've a full time job therefore I do only work on weekends, I can only take up to 1 complex project or 3 medium-complexity projects per week. With every requests you get a guaranteed Hercules compatibility for 1 year, In-case any of hercules update during this period breaks my code you will be given an update upon request free of charge. After first year of the guaranteed compatibility period you will be charged a small fee for any updates, very simple updated may be still done for free and it's up to my judgement. In-case of paying with any other services than Crypto currency you're sole responsible of any fees the used service asks for, and that the net amount is at least equivalent to what i asked for. For medium/large projects a 50% deposit shall be paid, and it's nonrefundable as soon as i start working on it, rest being paid after project is done and delivered. May you have a good day!
  2. RO Open Setup About Enhanced alternative for the default game setup application shipped with every RagnarokOnline installation. Comes in several languages, is free of cost and works on every 32-bit and 64-bit Microsoft* Windows* platform. Known Issues None. Download & Website License This work is licensed under a Creative Commons Attribution-Noncommercial 3.0 Unported License.
  3. Hello, I was giving a researched and unfortunately I did not find it so I decided to post here. What I would like to do is that by going through any portal, or even using a @ go / @ warp command for a map other than the current one, you will see a message in a box on the "Please Wait" screen, then the loading screen enters. On the Official servers before entering the Charging Screen there is a Delay with the Waiting Box. In emulators this delay is skipped, simply ignored. If anyone knows how I can do this or be able to give me a light I thank you from now on.
  4. Hello! I have a problem and I have no idea how to solve it. I want to increase the area where main chat captures conversations. The way it is here it just picks up conversations from players next to each other, I want them to capture every conversation on the map the player is on, regardless of which position is on the map. Does anyone have any idea how to do this? PS: I believe that the modification will be in source, if not I ask that they move to the correct area.
  5. Hey, I have been checking divine-pride. I see that Monster DB from KRO listst MATK (MIN-MAX) as its own value. hercules DB (or IRO DB) does not list MATK as its own value. I have noticed that Magic Skills from monsters on pservers are a lot weaker than on Official servers. I want to know how Monster MATK is calculated and if its perhaps outdated and need to be checked again? I was told that MATK is solely calculated in source, so Id like to ask someone with the required knowledge to answer this question. Thank you very much Inzanity
  6. I am a returning server admin.. been a long while since I hosted any server. Would like to request the official source documentation for hercules [if there is any], since last time i remember during the eAthena days, there's this text document which tells what certain functions do [wd.damage] etc etc. Thank you.
  7. I have a clif->message I want to display in chat when a character begins casting a certain skill: clif->message(sd->fd, "Starting now!"); I want this to occur before the user starts casting the skill. I.e. order: 1. Player uses skill. 2. Player receives message in chat "Starting now!". 3. Player begins casting skill.
  8. Hello .. Good evening. I'm trying to compile the emulator after some modifications to the battleground system , and I'm running into me with the errors below : I'm trying to implement an old system that used on another emulator ( eAthena ) . The map server is giving crash , perhaps because of these errors, or some warnings also appear during compilation. PS : I would like to delve into the study to the core of the emulator, the wiki would be the best place for this? Or is there another type of existing documentation ? Thank you very much in advance! Big hug to everyone.
  9. ¡Hola! En esta guía vamos a tratar de forma rápida una pregunta muy frecuente: cómo activar y desactivar Renewal, y ligeramente se tratarán otras configuraciones más o menos igual de "ocultas" que funcionan de forma similar. No se entrará en el detalle de para qué sirve cada configuración: solo se indicará el camino y deberá ser el lector quien se enfrente a ellas, en inglés. Su lectura es recomendada a quien ignore la existencia de estas configuraciones, aunque no pretenda desactivar Renewal. Una vez se ha obtenido Hercules y antes de su compilación y puesta en marcha (guía aún en proyecto y redacción), es posible tocar unas configuraciones que no están tan a la vista que las de la carpeta /conf (donde están todas las configuraciones normales) pero que sí afectan al resultado de la compilación (es decir, para alterarlas efectivamente es necesario recompilar el emulador): se trata de la carpeta /src/config. ¿Qué hay en la carpeta /src/config que la hace tan importante? Pues, a fecha de publicación de la presente guía, esto: Todos los ficheros de esta carpeta contienen configuraciones importantes, salvo por el momento const.h. Todos siguen una estructura parecida: al abrirlo se ven mucho texto y algunas sentencias que empiezan por #, que de forma sencilla podría decirse que son órdenes para el compilador, que no forman parte del programa final. Nos interesan especialmente los #define (definiciones), pero no debemos tocar nada en las primeras (por el momento 5) líneas, ni el #endif del final al ser definiciones de control imprescindibles. Centrémonos en el fichero renewal.h, que es el principal de la guía. Este fichero contiene las siguientes definiciones, y cada una de ellas maneja algún tipo de mecánica Renewal (todas juntas para ahorrar espacio): #define RENEWAL#define RENEWAL_CAST#define RENEWAL_DROP#define RENEWAL_EXP#define RENEWAL_LVDMG#define RENEWAL_EDP#define RENEWAL_ASPD ¿Cómo desactivarlas? Muy sencillo: se desactivan una a una anteponiendo una doble barra (//) delante de cada definición. A la doble barra, en el lenguaje del código fuente de Hércules © se le llama comentario de línea, y lo que hace el compilador es ignorar todo lo que esté en la misma línea a su derecha. O sea, si queremos eliminar todo rastro de Renewal de nuestro servidor tenemos que comentar (hacer comentario) todos esos #define, de tal forma que queden tal que así: //#define RENEWAL//#define RENEWAL_CAST//#define RENEWAL_DROP//#define RENEWAL_EXP//#define RENEWAL_LVDMG//#define RENEWAL_EDP//#define RENEWAL_ASPD Así pues, al (re)compilar nuestro servidor Hercules, éste será totalmente pre-renewal pero dispondrá de todas las características únicas de Hercules. ¿Hay más que hacer? Pues no con renewal.h, pero sí se recomienda revisar cualquier configuración contenida en esta carpeta. Además del tipo de #define arriba descrito hay otros dos tipos: Unos que vienen comentados pero puedes descomentar si quieres: siguen el mismo procedimiento que el ya descrito, pero a la inversa. Unos que van acompañados de un espacio y posteriormente un número (o una constante, que en este caso también actúa como un número): Si te interesa, puedes cambiarle el número con el que vienen acompañados (¡Importante: estos #define no debes comentarlos!). Es posible que te indiquen los valores posibles, como la única configuración actualmente disponible en /classes/general.h o te permitan elegir un valor numérico a tu gusto. Se recomienda no usar 0 salvo que se indique expresamente como valor posible (como el ejemplo anterior en /classes/general.h), porque no significará "ilimitado" como alguien puede estar acostumbrado a que así sea en otras configuraciones, sino que es literalmente 0(*). Ejemplo de este tipo de #define es el ya mencionado en /classes/general.h o este, situado en core.h:/// Max number of items on @autolootid list#define AUTOLOOTITEM_SIZE 10(*) No estoy seguro, pero todo indica a ello. Igualmente no deberíais ni probar a hacerlo, ya que es potencialmente peligroso para el servidor que dicho ajuste no funcione bien. Si queréis profundizar más en qué son y para qué sirven estas órdenes que se dan al compilador, estas que empiezan por #, podéis visitar este enlace en la Wikipedia que os proveerá de información completa sobre ello (se recomienda leer como mucho hasta el apartado 3, sin comenzar el 3.1) Por último, no te olvides de que después de modificar cualquiera estas configuraciones, es necesario (re)compilar el servidor para que los cambios surtan efecto. Eso es todo.
  10. No Delay Grf Protection NDG Protection is a src modification to make sure NDG,speed hack, WPE Users still follow the rules. History: This is a simple code, which we have made since long to minimize the NDG User. The first way to solve NDG, we add a cooldown for skills that dosn't has a fixed cooldown (Sonic Blow, Cross Impact, etc). But the player doesn't allowed to do double cast. Finaly we made this code that minimize the NDG users, but still keep the original feature that is double cast for some skills (Sonic Blow, Cross Impact, etc). Implementation: Download 2 files above Use manual way to diff (first file) the core and recompile. Copy Paste the second file to "conf/import/" And you will see the effect Feature: -The user still able to use double SB / CI / etc. -You may switch on and off. -Very simple Any comments, suggestions, even critism in order to make this feature better is opened. Thank You. Note: I've been testing NoDelayGrf on augst 2013 and doesn't work, i've tested this using WPE i've got the numbers from comparing with and without *cheat DOWNLOAD src: Herc - NDG Protection.diff import/ battle_conf.txt
  11. Rationale: This is part of a larger source cleanup project. Following the code style guidelines we decided to adopt (linux kernel guidelines), typedefs should be avoided except where necessary. At the same time, we noticed that we have far too many explicit casts through the code, that might easily hide a coding error (for example a variable that changed type), so we're going to try and remove as many of those as possible as well. Contents: The various TBL_* typedefs are completely unnecessary (they're only needed for internal use by the BL_CAST() macro). As such, they shouldn't be used through the code, so they have been deprecated (they're not marked as deprecated yet, due to technical reasons, but you can assume they are). Taking the chance, the BL_CAST() macro was changed to a family of macros (BL_CAST, BL_CCAST, BL_UCAST, BL_UCCAST), each with different behavior and purpose: - BL_CAST(): Casts its argument to the specified type, after ensuring the block list was of the correct type. The argument must be non-constant, and it may be evaluated more than once (i.e. unsafe to use with mapit->next(x)) - BL_CCAST(): Same as BL_CAST, but it takes a const block list pointer, and returns a const object. - BL_UCAST(): Casts its argument to the specified type, without verifying the source block list (it is the caller's care to do that). The argument is guaranteed to be evaluated only once, making it suitable to be used with mapit->next(x) or similar functions. - BL_UCCAST(): Same as BL_UCAST(), but takes a const block list pointer, and returns a const object. Impact: Custom code may stop compiling until the appropriate changes are made. Changes are easy/trivial (mostly doable as a find and replace) Details: Any use of the TBL_* typedefs must be replaced with the corresponding struct: - TBL_PC -> struct map_session_data - TBL_NPC -> struct npc_data - TBL_MOB -> struct mob_data - TBL_ITEM -> struct flooritem_data - TBL_CHAT -> struct chat_data - TBL_SKILL -> struct skill_unit - TBL_PET -> struct pet_data - TBL_HOM -> struct homun_data - TBL_MER -> struct mercenary_data - TBL_ELEM -> struct elemental_data Any explicit casts of a struct block_list to any of the above types, should be replaced with the most appropriate BL_CAST() variant (as described above). Merge Date: Wed, 6 Jan 2016 17:36:33 +0300 Related Pull Requests: - #1034 - - Changed all TBL_* to the appropriate structs [Haru] - #1024 - - Change all TBL_* to actual struct to follow unix kernel syntax [hemagx] Related Commits: - b69f7b8 - - Sat, 26 Dec 2015 11:17:14 +0200 Change all TBL_PC to struct map_session_data as per style guidelines [hemagx] - 1249dc2 - - Sat, 26 Dec 2015 11:17:14 +0200 Change all TBL_MOB to struct mob_data as per strly guidelines [hemagx] - 3364658 - - Sat, 26 Dec 2015 11:17:14 +0200 Change all TBL_HOM to struct homun_data as per style guidelines [hemagx] - 00c95f6 - - Sat, 26 Dec 2015 11:17:14 +0200 Change all TBL_MER to struct mercenary_data as per style guidelines [hemagx] - b040c61 - - Sat, 26 Dec 2015 11:17:14 +0200 Change all TBL_SKILL to struct skill_data as per style guidelines [hemagx] - 829ebdd - - Sat, 26 Dec 2015 11:17:14 +0200 Change all TBL_PET to struct pet_data as per style guidelines [hemagx] - 1f71f41 - - Sat, 26 Dec 2015 11:17:14 +0200 Change all TBL_ELEM to struct elemental_data as per style guidelines [hemagx] - 3007a37 - - Sat, 26 Dec 2015 11:17:14 +0200 Change all TBL_NPC to struct npc_data as per style guidelines [hemagx] - a1b0dae - - Sun, 27 Dec 2015 17:35:25 +0100 Introduced the BL_UCAST() macro as an alternative to explicit casts [Haru] - aa574e3 - - Mon, 28 Dec 2015 15:14:22 +0100 Added const variants of BL_CAST/BL_UCAST: BL_CCAST/BL_UCCAST [Haru] - b3c722e - - Sun, 27 Dec 2015 18:17:24 +0100 Replaced some explicit casts with BL_UCAST/BL_UCCAST [Haru] - f878d5e - - Mon, 28 Dec 2015 00:16:39 +0100 Replaced some explicit casts with BL_UCAST/BL_UCCAST [Haru] - 2055585 - - Mon, 28 Dec 2015 00:24:24 +0100 Replaced some map->id2sd calls with the proper map->id2XX function [Haru] - 5db8be9 - - Mon, 28 Dec 2015 02:05:09 +0100 Moved status_get_homXXX macros to status.c [Haru] - 0e05c1e - - Mon, 28 Dec 2015 15:13:02 +0100 Replaced some explicit casts with BL_UCAST [Haru] - e3eac13 - - Mon, 28 Dec 2015 15:41:36 +0100 Replaced the remaining explicit casts with BL_CAST/BL_UCAST [Haru] - d5199ce - - Wed, 6 Jan 2016 17:36:33 +0300 Merge pull request #1034 from HerculesWS/bl_cast [Andrei Karas] - f0fb759 - - Wed, 6 Jan 2016 15:37:16 +0100 HPM Hooks Update [] - 0772dd0 - - Wed, 6 Jan 2016 23:56:48 +0300 Fix null pointer access after previous commits. [Andrei Karas] - 2af2132 - - Fri, 8 Jan 2016 16:51:59 +0100 Fixed a mapserver crash (too small allocation) [Haru] Trivia: While many of the changes here would have been possible with find and replace, I decided to review each and every of them (the actual replacement was mostly done with a vim macro, but not fully automated so I could see what the code was, and possibly do additional cleanup by hand), in order to review up some old, wrong code. It turned out that we were casting things that we didn't need to cast, or using wrong map->bl2XX() functions in several places. It costed some hours of work, but it was definitely worth it.
  12. Hello Community, i was wondering why the Hecules isnot optimezed to use all the thread of the cpu... Hands on that, i try by myself doing some mods at the source and got no problems while compiling and using the modified source to play, here is a example: /src/char/char.c original: int mapif_sendall(unsigned char *buf, unsigned int len){ int i, c; nullpo_ret(buf); c = 0; for(i = 0; i < ARRAYLENGTH(chr->server); i++) { int fd; if ((fd = chr->server[i].fd) > 0) { WFIFOHEAD(fd,len); memcpy(WFIFOP(fd,0), buf, len); WFIFOSET(fd,len); c++; } } return c;} parallel: #include <omp.h>int mapif_sendall(unsigned char *buf, unsigned int len){ int i, c; nullpo_ret(buf); c = 0; #pragma omp parallel reduction(+:c) //reduction to prevent race condition on c { #pragma omp for schedule(static) //will devide i/thread for(i = 0; i < ARRAYLENGTH(chr->server); i++) { int fd; if ((fd = chr->server[i].fd) > 0) { WFIFOHEAD(fd,len); memcpy(WFIFOP(fd,0), buf, len); WFIFOSET(fd,len); c++; } } } return c;} So... Why not use? Just by respecting some rules and including one more library we can make a very efficient code with the same code...
  13. Hi guys! Would you like to learn more about the source, could explain to me what siginica these variables? sd fd bl val &sd
  14. Which files change, to add new labels and where I find the implementation of existing? example: OnPCKillEvent Ps: I found the statements, but not i found the implementations.
  15. Hi! Is there a way to make plants immune to both magic and neutral skills like acid demo and stuff? Thanks in advance!
  16. Okay! I've disabled auto respawning after 2nd death and/or death inside WoE Maps Now, I need to enable resurrection on woe maps. Any thoughts? Also! I couldn't resurrect my allies after their second death. Thanks in advance!
  17. Olá amigos, tudo bem? Sou novo no Hercules, pretendo evoluir cada vez mais por aqui... Tenho algumas duvidas, vocês podem me ajudar? Eu gostaria de saber como estão as formulas das SKILLS das classes 3.. Estao todas conforme o kRO/iRO? Gostaria de saber tbm, sobre os scripts dos npcs..Scripts do rAthena funcionam no Hercules?? Ou existe algum tipo de conversão? Desde já, sou grato.