Jump to content

All Activity

This stream auto-updates     

  1. Today
  2. Yesterday
  3. gleisondosreis

    3vs3

    How are you, my friends? This is my first post on the forum.. I haven't tried new emulators for a long time. Since a lot has changed, I decided to go back to using my super old emulator HAHA and I wanted to ask for your help. my party vs party script worked perfectly years ago.. now I decided to put my server online and do some tests, I'm having this problem. When the two parties register for the first time, everything goes very well. everyone is teleported When the game ends they register again, only the leaders of each party enter.. and I'm having this error when the first game ends [Erro]: script_rid2sd: erro fatal! no associated players! [Depurar]: Function: getcharid (1 parametro): [Depurar]: Dado: number value=1 [Depurar]: Source (NPC): 3 vs 3 Party on arena_room (105,93) I have all the necessary modifications in the src. Thank you in advance for any help.
  4. Last week
  5. You are welcome Regarding a roadmap, not really. We do track missing features and bugs in GitHub issues: https://github.com/HerculesWS/Hercules/issues There are some milestones regarding content, but they are more for organization purposes, as we don't have a roadmap like "We are trying to get X done next"
  6. KirieZ, your reply is amazing. Not only does this help me better understand the interactions between the server and client, but it really helps me understand Hercules a bit more as a whole. Thank you so much for putting the time and effort into this response. I can't thank you enough! That said, I have one last question- Is there any chance Hercules has something like a roadmap available for viewing? While the changelogs are a great help in understanding what content is released in recent builds, viewing a roadmap would really help in understanding the current and future planned content. Is there anything like this available? Regards, Geras
  7. Hi Devs Team, I had this script in my server : https://gist.githubusercontent.com/darrensapalo/f0c5dec2b988f7c4d9be8d24d91b6e90/raw/dc0aabca79dc8ffe44cc04f60a2f1ddfedef64b2/DailyReward.txt It worked very well before. Now it gives me the following error and I don't know why. [Warning]: Unexpected type for argument 1. Expected variable, got C_INT. [Debug]: Data: number value=45224 [Debug]: Function: __setr [Debug]: Source (NPC): LOGIN (invisible/not on a map) [Error]: script:set: not a variable [Debug]: Data: number value=45224 [Debug]: Source (NPC): LOGIN (invisible/not on a map) I tested on a Local server and it works, but on my cloud server it stopped working out of nowhere. Do you have any clue as to why I get the error?
  8. Well, the short answer is: It depends. But let's go for the long answer: RO is a game that uses client/server model, and the server (in our case, Hercules) is the one which holds most of the game logic. What this mean is, pretty much everything only happens in the game because the server tells the client to do so. To name a few examples: - When you click to walk, Hercules is the one saying the client it can walk, and Hercules is the one letting other knows the player is walking - A monster spawn only happens because Hercules is creating it and just letting the client knows the monster is there - An attack (and a skill) only happens because Hercules calculated it and told the client that it happened - A NPC is only shown in the screen because Hercules created it and told the client about its existence - A Quest is received by the player because, for example, a NPC in Hercules added a quest to the player, and thus Hercules told the client about that So, as you can see, pretty much everything requires something on Hercules side to work. The client also plays some part on this: - There are hardcoded limits of which IDs can be used - For example, an item which has an ID > 32k would only work on clients that supports IDs above 32k - Certain IDs for monsters/NPCs/etc won't be properly recognized in certain client versions - There are some hardcoded logic on how skills works or shows up - For example, the old, ground-based effect of bard/dancer performances doesn't show in 2019 clients and newer (unless you use a patch to restore the old code in client). The ground effect would still happen (Because Hercules is controlling it), but the player would see nothing in the ground. - UI elements are part of the client, so an older client may not have certain windows - But depending on the window, Hercules also needs to implement the network code to allow that window to work (e.g. Achievements, RoDEX, Equipment switch, etc) Going back to your example about 4th jobs. Having a 2022 client means: 1. The visual effect for the 4th job skills are there 2. If the server says your job is one of the 4th jobs, you will see the sprite and it will be treated as a player sprite 3. You can see the new attributes window 4. You can see the new AP bar But: 1. You don't have job change quests (Hercules must have the NPCs, which we don't as of April/2024) 2. You don't have a working skill tree and skills (Hercules must have the skill trees and skills coded, which we don't as of April/2024) 3. You don't have the effect of the new attributes being applied to your damage (Hercules must have new formulas for it, which we don't as of April/2024) So: Base client: kRO 2023 08 04 This means your resource files (sprites, luas, textures, maps, etc. the "visual" content and config files are from how kRO looked like in 2023-08-04). For example, if a new hat is released in 2023-05, you will have the .spr file in your data.grf (but you can't get it in game if Hercules doesn't have it) Client exe: 2022-04-06_Ragexe_1648707856 This means that your client will process client sided things as kRO did in 2022-04-06, this means it will be affected by client limitations from this date, and it will only load files that were expected at that time. For example: - if a new UI was released in 2023, you won't see it in a 2022 client, because the code was not there yet. (even if you have the images for that UI in your data.grf, you don't have the code to actually use them) - if there is a new map format released in 2023 (map format meaning the structure of the files in the data.grf), this map file won't work here. On the other hand, if a map was released in 2023 using a structure that is compatible with a 2022 client, you can use it just fine. Generally, having too different dates between Client exe and Base client may give you issues, because: 1. You have incompatible lua files (usually worked around by using translation projects) 2. You have new resources that are not compatible with your client (usually worked around by replacing the files or avoiding certain things) Hercules: v2024.03 This is Hercules release date. This just means this is the state of Hercules code as of March/2024. Hercules makes a new release every month, which may include bug fixes, new features, some custom code for something Hercules thinks is worth having, etc. You can see the changelog here: https://github.com/HerculesWS/Hercules/blob/stable/CHANGELOG.md This date has pretty much nothing to do with the other 2. The only thing that it may suggest is that a 2018 Hercules will probably not work with a 2020 client, because we couldn't even imagine what 2020 client would look like when developing code in 2018. But a 2024 Hercules doesn't mean it supports features from 2024 official servers, nor that a 2024 client would flawlessly work in Hercules. Currently, Hercules v2024.03 is a mix of content: 1. NPC/quest/job/monsters wise, I think we are around kRO 2015 2. Our client support is better, I think a 2022 client should work fine most of the time (some buttons won't work, though -- e.g. Equipment Switch is not there) Hope this clarifies a bit
  9. hpm overloading i mean hookPre/hookPost Direct overloading i mean for example clif->special_popup = my_special_popup direct overloading may break other plugins.
  10. Hello, I have a quick question that's probably simplistic to ask, but complicated to answer. How does one understand what in-game features are available to their server setup? I hate to use the classic example, since it's probably like beating a dead horse, but let's use 4th jobs as an example. My server setup is: Base client: kRO 2023 08 04 Client exe: 2022-04-06_Ragexe_1648707856 Hercules: v2024.03 With 4th classes being released in kRO around 2020, my instinct would be to assume that all of these versions allow for them to be present in the game. However, I don't know this for sure and posts appear to indicate otherwise. What part of the server determines what content is available to the players? While the content may be present in the base client, does Hercules need to implement the content as well, or do we simply gain access to features based on what version of the client we place Hercules on? Apologies, since this definitely indicates a misunderstanding of how Hercules fundamentally works on my part, but I'd really like to fix this by better understanding how these components work together. I'm not finding any immediate answer to the question, so I figured I'd ask here. If anyone has any documentation or a location to read up on this, I'm happy to take this in place of an answer- I'm just not having any luck finding something like this even after successfully establishing my server. Any help would be appreciated! Regards, Geras
  11. Fou-lu

    @arealoot

    I'm using this @arealoot plugin attached and it's working perfectly. (Collecting all items at once) arealoot.c
  12. Perfect. I have now submitted the change on GitHub. I share the same doubt as KirieZ. As far as I know and have learned about HPM Plugins, the only method to overwrite/replace a function is through this way. I know about HookPre and HookPost, however, in some situations where you want to remove a piece of code within the function, these solutions don't work, forcing you to resort to overloading. Of course, whenever possible, I will adhere to HookPre and HookPost, and I can identify well when this is necessary.
  13. I'm looking to pay someone to create a custom MVP/Boss sprite based on our server mascot, the Jawless Fish who is known for its silly expression . Please contact me if anyone has interest.
  14. Earlier
  15. by "hpm overload things" you mean hookPre/hookPost? As far as I remember, overloading, as in "I want to completely skip hercules original function" (maybe it should actually be called override?) were always made with a direct assignment to the interface (like in the original post here), while hookPre/hookPost would be used if you want to keep the original code running, but wants to do something else before/after it. Example: https://github.com/HerculesWS/Hercules/blob/stable/src/plugins/db2sql.c#L1180 I am not aware of another method for overloading/overriding. I do agree that you should only do it if you have a reason to, but is there a better way to overload/override than a direct assignment?
  16. gleynn

    @arealoot

    same here using the latest Hercules as of this writing, does anyone can help to fix this issue?
  17. better not do direct overloading without reason. Because it may break other plugins if you not do correct overloading. better use hpm overload things
  18. Yes, you can look into inventory expansion ( npc/others/inventory_expansion.txt ) for details on how to do it via script. You probably can also do it via source, but it would need a bit more of digging through code.
  19. You are right, looks like "server_ready" is not part of the HPM events, so it is never called. I think the docs actually meant "server_online" (which means the server is ready / online). I generally prefer using plugin_init, as you said, since server_online runs after several processing already happened (e.g. config loading). So the tutorial should probably use "plugin_init" instead. Nice finding! Do you want to PR a fix to the docs? If not, I can edit it later
  20. Hello, From what I understand, the inventory has a limit of 100 different items. Is there any way to remove this limit or increase it? Any search on this topic doesn't seem to yield any details, so any help would be appreciated! Regards, Geras
  21. I apologize if this is posted in the wrong location. When programming a plugin that uses overloading, I realized that the way it is in the Hercules tutorial doesn't work. When reproducing what the tutorial asks for, placing it inside the "server_ready" function, overloading does not work. I needed to put it in the "plugin_init" function for it to work.
  22. it's works ..!! thank you to ALL.. Just a question, how can I make the "@storage 2" or "@storage vip" command only be used by vip players.?????? help me
  23. it's works ..!! thank you to ALL.. Just a question, how can I make the "@storage 2" or "@storage vip" command only be used by vip players.?????? help me
  24. specifically 0726 from 2007 but I'll take anything I can get. been trying to catalogue and save Ragnarok-related content and apparently much of it was lost throughout the years. rapidshare, megaupload, filefactory. official proxies. torrents. all dead...
  25. Ooh... no. Its no hercules. Didnt know that differences. Anyways, you helped me. THX!
  26. Your script is most likely creating a new item (delitem + getitem) instead of identifying it, and it is likely doing a basic item ignoring all of its enchants. Thus, it is a complete new item and loses everything. To properly identify items via script you should use one of these commands: - identify -- https://github.com/HerculesWS/Hercules/blob/stable/doc/script_commands.txt#L3656 - identifyidx -- https://github.com/HerculesWS/Hercules/blob/stable/doc/script_commands.txt#L3665
  27. All, I wanted to post my findings: All items (at least that are dropped from Sky Fortress monsters/have not tested others yet) which are identified by (my) healer npc script, do not have enchants. However, when identified through traditional means, such as a magnifier, have all of the stats loaded on them. Thanks!
  28. Hello all! I'm looking for some help. I've used the 2022 offline server pack and have had a great time so far messing with my own server, but I've noticed that with any Vicious Mind Weapon, there are no enchants on them. I was under the impression that these weapons always (?) come pre-loaded with up to 3 different enchants and so far I've not found a single weapon with any enchants. Is this due to me having a poor understanding of the instance/weapons in the instance, or is this an error on my server? Thanks in advance!
  1. Load more activity
×
×
  • Create New...

Important Information

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