Jump to content

IndieRO

Members
  • Content Count

    286
  • Joined

  • Last visited

  • Days Won

    13

Reputation Activity

  1. Like
    IndieRO reacted to Ridley in Deprecated Features   
    Related commit:
    https://github.com/HerculesWS/Hercules/pull/2440
     
    consolemes()
    debugmes()
     
     
     
    Format and Values:
    consolemes("<type>", "<format string>"{,<param>{, ...}}) List of available <type> are: CONSOLEMES_DEBUG = 0 CONSOLEMES_ERROR = 1 CONSOLEMES_WARNING = 2 CONSOLEMES_INFO = 3 CONSOLEMES_STATUS = 4 CONSOLEMES_NOTICE = 5 Example:
    Old: 
    debugmes("Please check your special warp menu settings on the Warpra."); New:
    consolemes(CONSOLEMES_WARNING, "Please check your special warp menu settings on the Warpra."); consolemes(CONSOLEMES_DEBUG, "%s has clicked me!", strcharinfo(PC_NAME)); consolemes(CONSOLEMES_DEBUG, "\033[0;32mHello World"); // supports ANSI escape sequences  
  2. Like
    IndieRO reacted to Happy in Happy Devs: Bring out the best Ragnarok in you.   
    Update: 3/3 slots full. Still feel free to send your task/project details in-case a slot gets freed.
     
    Website domain changed to: https://devhappy.online/
    preferred contact Discord: rbg87#6238
     
    Thanks!  Stay awesome!
  3. Like
    IndieRO reacted to DaviLord in [Showcase] Weapons, Shields and more   
    More auras.
     
          
  4. Like
    IndieRO reacted to Aethelingaeg in Skill effect not showing   
    Hexed: 2018-04-18bRagexeRE
     
    The following skills are not showing any effect when casted:
    Ignition Break King's Grace The damage is applied correctly.
    Cloud kill visual effect is bigger than expected. Where can i change this?

     
    Also, elemental shield is not working at all.
    I'm using the last version of stable branch (hercules).
    Can you help me find where my problem may be? Which lua files should i look for to fix this?
     
     
  5. Like
    IndieRO reacted to DaviLord in [Showcase] Weapons, Shields and more   
    I have been ripping sprites from other games and transforming into ragnarok items. What you guys think?

      
          
      
     


     
           
     
           
     
        
     

     
         
     
        
     
        
     
         
       
     
          

     
      
     
       
     
      
     
        
     
  6. Like
    IndieRO reacted to Neffletics in Http support in hercules (merged to hercules)   
    This is the first time I've seen this post. As a way of saying thank you to Herc, I'll be donating on a regular basis. This is the emulator that we've been using for SolaceRO.

    Thanks for your dedication! 

    Update: I just realized, my payment was declined. Not sure if this is connected with the situation in Eastern Europe. Sucks, I don't have crypto.
  7. Like
    IndieRO reacted to Ai4rei in Elurair, v2.13.2.354 - last updated 2023/12/31   
    Updated to 2.1.0, adds support for ZIP archives and reflects builder and configuration improvements based on community feedback.
     
    Updated to 2.2.0, adds support for self-updating and fixes ZIP archives would not be extracted.
  8. Like
    IndieRO reacted to pan in Multi-threaded Hercules   
    Long time no see!
    I've been dabbling with adding multi-thread support to Hercules for quite some time and even started quite a few server projects from scratch, and having failed in most of my attempts - last year I tried again with a new core design and it seems to be working so far. A lot of the systems that the server core is reliant were reworked, I believe some of these changes can even be used upstream but they would need to be revised first. This is mostly a proof of concept.
    I'm still planning on finishing the map-server but as of now only login and char servers have multi-thread enabled - I didn't test with multiple users yet. There's no linux / FreeBSD support because I want to have everything in working condition before trying to add another I/O paradigm, the architecture is very reliant on the way that this module works so I thought it'd better to implement the whole server before trying to add other paradigms.
    Lately I haven't got much free time to finish the map-server, but sometime later this year I think I can finish it.
    The code is at https://github.com/panikon/HerculesMT , I forked from stable v2021.08.04
     
    Server architecture

    Hercules employs a multi-server approach in order to better load balance player requests, so for each game world there'll be at least three separate program instances running at all times. These instrances are: login-server, char-server and map-server. Each of which can only access a subset of the world's SQL tables and is responsible for a different step of the game experience.

    Authentication and account database changes are segregated to the login-server, while character selection and character specific information are to the char-server, and the actual gameplay to the map-server.
    The login-server is the player entry-point and can be responsible for multiple different world instances, so it's possible to use the same account table (login) for multiple worlds (char-server + map-server) and to dynamically change their IP without needing to push a new patch. After authentication the player is queried for which service they'll use and then the server relays the proper address so the client can connect.
    In the char-server the player usually is queried again for a four digit PIN (PACKETVER >= 20180124), after which they can select which playable character will be used to play. The server then relays the address of the proper map-server to the client.
    A single world instance can have multiple map-servers where each is responsible for a zone (set of maps), all inter map connectivity is managed by the char-server. When the player requests to change character the char-server IP is then relayed.
    A single map-server can be responsible for multiple different zones, and each will be a different thread.
     
    Relationship of each of the possible server instances

     Brown - Game world | White - program instances
     
    Core design
    All servers are multi-threaded. Basic server functions are assigned to different threads:

    Console (../src/common/console.c):
    This thread is responsible for all console input operations. Timer (../src/common/timer.c):
    The timer thread manages the `timer_heap` and dequeues timer actions from the `timer_queue`. Each timer can be ran in a different thread depending on the `timer_target`, this is accomplished by either queuing an action in one of the available action queues (`target_id`) or by running the specified function in the main timer loop (`do_timer`).
    Other threads queue different timer actions (add, delete, set tick) to the `timer_queue`.
    The timer module is also responsible for tick acquiral via (`timer->gettick` and `timer->gettick_nocache`). Message(../src/common/showmsg.c):
    The message thread is used to synchronize the output of multiple different threads, each call to `Show*` instead of being directly outputted to `STDOUT` is queued in the `showmsg_queue` and then dequeued by the main thread function `showmsg_worker`. I/O Worker(../src/common/socket.c):
    All I/O operations are asynchronous and implemented via I/O completion ports and a thread pool. The main workers are defined in `socket_worker` and after a operation is dequeued it's converted into an action (`socket_operation_process`) that is then queued to the proper action worker (each session has a responsible worker, and it's obtained by the I/O worker via `action->queue_get`).
    These workers don't execute any "business logic" so we can minimize the time that they are blocked by any given operation, and also so we can better isolate different session groups without having to take into account in I/O operations (e.g. in map-server each zone has a different action worker and multiple actions can be queued simultaneously without having to block any of the threads for a longer period of time). Action Worker(../src/common/action.c):
    Action workers perform all the "business logic" of each of the servers, and each is responsible for a different session group. After every action loop all send actions are queued to the completion port.

    Login-server:
    Each char-server connection has a different worker. Player connections are randomly assigned. Char-server:
    Each map-server connection has a different worker. Player connections are randomly assigned. Map-server:
    Player connections are assigned depending on the current map according to the different configured zones. The char-server connection is randomly assigned.



    Thread relationships

  9. Like
    IndieRO reacted to loong in [showcase]Gold Saints   
  10. Upvote
    IndieRO got a reaction from JackTheGorrion in Storm Gust   
    i thinks this happen when you use emulator with gepard injected and LGP

    but actualy your license doesnt have LGP
  11. Like
    IndieRO got a reaction from evilpuncker in Http support in hercules (merged to hercules)   
    I'll try to donate this month be waiting
  12. Like
    IndieRO reacted to dreinor in Custom Classes Sprites   
    added reworked custom sprite.. my new project..



  13. Like
    IndieRO got a reaction from dnote98 in Guild Storage   
    I just share my guild storage for Hercules
     
  14. Like
    IndieRO reacted to smiths12 in Animated Headgear: Hat Valkyrie Randgris   
    View File Animated Headgear: Hat Valkyrie Randgris
    Hat Valkyrie Randgris MVP ( Ragnarok Online )
    Submitter smiths12 Submitted 01/07/22 Category Sprites & Palettes  
  15. Like
    IndieRO reacted to AnnieRuru in Error when getunitdata from died unit   
    yeah we don't have *unitexists script command like rathena
    although I am also not sure want to implement or not
    because since the monster is set with a variable
    upon the monster died, the event label can reset the variable back to 0
     
    EDIT: ... maybe implement it then,
    with *unitexists script command maybe the .mobid there can become .@mobid
    PS: the script command setunitdata/getunitdata has more than 70% are not functioning,
    https://github.com/HerculesWS/Hercules/compare/stable...AnnieRuru:34-setunitdata
    and its not yet complete
     
  16. Like
    IndieRO reacted to AnnieRuru in get mob id on event   
    prontera,155,185,5 script jsdfksdjf 1_F_MARIA,{ if ( .mobid ) end; .mobid = monster( "this", -1, -1, "--ja--", 1002, 1, strnpcinfo(3)+"::Onaaa" ); setunitdata .mobid, UDT_MAXHP, 1000000; setunitdata .mobid, UDT_HP, 1000000; while ( .mobid ) { npctalk "Poring HP is now "+( getunitdata( .mobid, UDT_HP ) / 10000 )+"%"; sleep 2000; } end; Onaaa: .mobid = 0; end; } ... although this script is working but ... my map-server.exe spam error ...
    check the script command in script.c
    ... Line 19671 } break; default: ShowError("buildin_getunitdata: Unknown object!\n"); script_pushint(st, 0); return false; } // end of bl->type switch #undef getunitdata_sub return false; <<----- WTF PUT A RETURN FALSE FOR WHAT REASON !!! }  
  17. Like
    IndieRO reacted to 4144 in Nemo patcher   
  18. Like
    IndieRO reacted to Ai4rei in Future of ROCred and RO Patcher Lite   
    The project has been released as "Elurair", so this topic can be closed.
  19. Like
    IndieRO reacted to Ai4rei in Elurair, v2.13.2.354 - last updated 2023/12/31   
    Elurair Patching Launcher
    (RO Patcher Lite+ROCred Merge)
     

     
    About
    Universal auto-patcher for all your updating needs combined with a launcher, which is fully skinnable, highly customizable and easy on resources. It is free of any cost and works on every 32-bit and 64-bit Microsoft* Windows* platform. How this came to be: Future of ROCred and RO Patcher Lite
     
    Known Issues
    None.
     
    FAQ
    Q: Does the patcher support encrypted GRFs?
    A: Yes, common GRF encryption schemes are supported.
    Q: Can I use the Patcher part without the Launcher part?
    A: Yes, the Launcher mechanics and UI can be disabled in configuration.
    Q: Can I use the Launcher part without the Patcher part?
    A: Yes, remove all Patcher sections from the configuration.
     
    Download & Website
    http://ai4rei.net/p/skal
     
    License

    This work is licensed under a Creative Commons Attribution-Noncommercial 4.0 International License.
  20. Like
    IndieRO reacted to 4144 in New hercules feature: Expanded barter shop   
    also fix is here https://github.com/HerculesWS/Hercules/pull/3103
  21. Like
    IndieRO reacted to 4144 in Nemo patcher   
  22. Like
    IndieRO reacted to AnnieRuru in cell_pvp   
    yeah I forgot to add BCT_ENEMY check in battle_check_target function
     
    1.6 - plugin
    - fix party/guild skill (eg: Magnificat/Gloria) not working with CELL_PVP_SKILL_ALLOW due to missing BCT_ENEMY check
  23. Like
    IndieRO reacted to AnnieRuru in @packetfilter   
    PLEASE GIVE ME YOUR COMPILER
    I want my visual studio 2019 also display error like yours
    btw I'm guessing that's CentOS, this happened before on my OnPCUseSkillEvent
     
    0.3 - plugin
    - add missing FILTER_CLAN flag
    - implement block_item type 'I' flag
    - fix FILTER_OTHER not working properly when the player doesn't have a party or guild
    - fix [C]hat type shouldn't able to filter self, since the client always shows you are talking anyway
    - and attempt to fix the above stupid error that doesn't show on Visual Studio
  24. Like
    IndieRO reacted to Ai4rei in RAGP Extractor, v1.0 - last updated 2021/12/27   
    RAGP Extractor

     
    About
    Rudimentary command-line tool to extract RAGP files (such as the assets in Ragnarok: Valkyrie Uprising).
     
    Usage
    unragp <file> Extracts <file> into current directory.
     
    Known Issues
    Because I wrote it on a whim to check out Ragnarok: Valkyrie Uprising game resources, there are no error messages. Either the program ends in OK or NG.
     
    Download
    Find attached. Source for reference: https://github.com/ai4rei/unragp
     
    License
    CC0 1.0 Universal
    2021-12-27ragp-1.0.zip
  25. Like
    IndieRO reacted to 4144 in Nemo patcher   
×
×
  • Create New...

Important Information

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