Jump to content


Popular Content

Showing content with the highest reputation on 12/16/20 in all areas

  1. 1 point

    RPatchur, a customizable patcher

    Hi, A few days ago I released the first version of an open-source patcher I've been working on. The project has been developed in Rust and the UI is based on the webview project. The project also includes a cross-platform, command-line THOR patch generator. The patcher's current features are the following: * Customizable, web-based UI * Cross-platform (Windows 7/8/10, Linux, macOS) * Configurable through an external YAML file * HTTP/HTTPS support * GRF file patching (version 0x101, 0x102, 0x103 and 0x200) * THOR patch format support * Drop-in replacement for the Thor patcher * SSO login support (i.e., can act as a launcher) * Manual patching * Can use multiple patch mirrors The project's repository can be found here: https://github.com/L1nkZ/rpatchur (and documentation can be found here). Contributions are welcome! Releases v0.3.0: https://github.com/L1nkZ/rpatchur/releases/tag/v0.3.0 v0.2.3: https://github.com/L1nkZ/rpatchur/releases/tag/v0.2.3 v0.2.2: https://github.com/L1nkZ/rpatchur/releases/tag/v0.2.2 v0.2.1: https://github.com/L1nkZ/rpatchur/releases/tag/v0.2.1 v0.2.0: https://github.com/L1nkZ/rpatchur/releases/tag/v0.2.0 v0.1.0: https://github.com/L1nkZ/rpatchur/releases/tag/v0.1.0
  2. 1 point

    Please check you message box thanks

    Please check you message box thanks
  3. 1 point
    Você tem isso no seu Iteminfo? main = function() for ItemID,DESC in pairs(tbl) do result, msg = AddItem(ItemID, DESC.unidentifiedDisplayName, DESC.unidentifiedResourceName, DESC.identifiedDisplayName, DESC.identifiedResourceName, DESC.slotCount, DESC.ClassNum) if not result then return false, msg end for k,v in pairs(DESC.unidentifiedDescriptionName) do result, msg = AddItemUnidentifiedDesc(ItemID, v) if not result then return false, msg end end for k,v in pairs(DESC.identifiedDescriptionName) do result, msg = AddItemIdentifiedDesc(ItemID, v) if not result then return false, msg end end end return true, "good" end
  4. 1 point
    from there. You click the OPEN SQL SCRIPT FILE. After you saw the texts generated in your query window hit the lightning logo. Do the same with logs.
  5. 1 point

    Botong-ui | FluxCP Theme

    View File Botong-ui | FluxCP Theme Hi! This is kind of my "sorry for appearing and disappearing, please accept my apology" beta release. It's not exactly a theme, there are changes to some of the library files as well as changes to the configuration files. Very minor, really. You can see all the changes here: https://github.com/marqroldan/FluxCP There are also fixes that support the changes to the structures of the tables, if I missed any please notify me. Note that this is currently for Hercules version of FluxCP and not compatible with rAthena's. This theme is based on Bootstrap 4 (so it still includes jQuery). It is responsive. What you see on the main page isn't something I created. It's just a random Bootstrap 4 template that I downloaded. That Bootstrap 4 Template Details: Theme Name: Rapid Theme URL: https://bootstrapmade.com/rapid-multipurpose-bootstrap-business-template/ Author: BootstrapMade.com License: https://bootstrapmade.com/license/ Video Preview: FAQ: Why is the file so big? Yeah normally it's less than 20MB but it's due to the inclusion of the item icons and thumbnails. Where are the images? You can get them from here: https://github.com/marqroldan/FluxCP/tree/dataImages or http://rathena.org/board/files/file/2509-item-images/ It's not working! Nani? Well it should be working fine (if you've installed all the necessary and required tables). Should you encounter any bugs or problems feel free to reply on this topic so I could patch it on the repo. Will you update your Stellar FluxCP skin? No. It will forever stay that way and will not provide any support. This Botong-ui theme however will be updated from time to time. How frequent is the update to this theme? Always check the repository for recent changes, not this forum's download section. For faster updates. How to change to another theme? Simple, open your browser's developer tools and go to the console and type: updatePreferredTheme("[themename]") where you replace the bold text to the name of the theme you want to switch to. Can I contribute? Of course! Just make a pull request on the repo Your repository is so messy. I have no valid excuse for this. I'm still learning how to properly use Git / version control system and would greatly appreciate it if you have tips. Thank you! Submitter Hyvraine Submitted 07/12/19 Category Web Resources  
  6. 1 point

    Hairstyle Package

    Version 1.0.0


    Introduction: This package are currently contains around 90~100 hairstyles for both male/female character. I obtained these from various sources like old eAthena, rAthena, Hercules, TheSpriteRepository and other member who shared these sprites with me etc. I don't remember who exactly made each of the sprites, or who even shared these... tell me if you know who are them. If any of these hairstyles are custom work that are meant for private use, kindly contact me, so that I could remove it from the listing. I do have more than this amount, but since my current test client (2018-06-20) can only support up to 100 sprites, so I randomly picked 100 and only upload it here. It included the default 31 hairstyle from kRO, but I think I replaced the 1~20+ hairstyles from JRO which dyed the hair in dark color, the rest are custom hair styles. How to use: You can either merge the provided GRF into your own GRF Load it as another individual GRF using the DATA.ini file Extract it and put it in your Data folder * Depend on your client hexed with whatever settings. Search forum for all these guides. Disclaimer: You're free to share with everyone but do not monetize the contents in any way! These materials are meant for study or research purpose. Use these at your own risk, and always give credit to original author. If there exists issue with sprite file, for example: sprite misalignment, error, etc, kindly ask help from any member who have knowledge with sprite edit. If there exists issue with palette color file, for example: messed up color, error, etc, kindly ask help from any member who have knowledge with palette color edit. Fun Fact: Do you know you can actually combine all male and female hairstyle (including doram) to create a list of universal hairstyles that could be used by any gender of player and doram?
  7. 1 point

    double drop on random mobs

    I'm done with it, but I haven't tested. Would like to release it, that's the reason of doing the script in a more general and configurable way than what you just asked. Upaste mirror: http://upaste.me/fb7712684462cbaf3 //===== Hercules Script =======================================================//= Multiple droprate on mob elements from a set (default set: elements).//===== By: ===================================================================//= jaBote//===== Current Version: ======================================================//= 0.9.0 alpha//===== Changelog =============================================================//= 0.9.0 Initial version [jaBote]//===== Description: ==========================================================//= Implements multiple drop rates on mob sets that change each week.//===== Warning: ==============================================================//= -> addmonsterdrop/delmonsterdrop script commands don't work well with mobs//= that drop the same item more than once.//= -> Doesn't work well with @reloadscript and/or server restarts (it will//= reassign a new set).//===== Additional information: ===============================================//= Configurations are located from line 22 (OnInit label).//=============================================================================- script element_drops -1,{OnInit: // Configurations START. // Add in mob IDs on the place of the numbers setarray .set_0[0], 1001, 1002, 1004, 1005, 1007; // Neutral setarray .set_1[0], 1001, 1002, 1004, 1005, 1007; // Water setarray .set_2[0], 1001, 1002, 1004, 1005, 1007; // Earth setarray .set_3[0], 1001, 1002, 1004, 1005, 1007; // Fire setarray .set_4[0], 1001, 1002, 1004, 1005, 1007; // Wind setarray .set_5[0], 1001, 1002, 1004, 1005, 1007; // Poison setarray .set_6[0], 1001, 1002, 1004, 1005, 1007; // Holy setarray .set_7[0], 1001, 1002, 1004, 1005, 1007; // Shadow setarray .set_8[0], 1001, 1002, 1004, 1005, 1007; // Ghost setarray .set_9[0], 1001, 1002, 1004, 1005, 1007; // Undead // Set to the name of the type of each set of [email protected]_X // BEWARE! Number of set of this array MUST be the same than the total // amount of sets (which is quite obvious). This is VERY IMPORTANT. setarray .names$[0], "Neutral", "Water", "Earth", "Fire", "Wind", "Poison", "Holy", "Shadow", "Ghost", "Undead"; // Set to the multiplication rate of drops (should be >= 1) // Examples: 100 = x1 (useless); 200 = x2; 50 = x0.5 // Based on final drop rates after battle conf calculations. .multiplicator = 200; // Force change of element each week? (1 = Yes; 0 = No) .force_change = 1; // Text message. You can change or translate it if you want, but be careful // not to touch the %s since you'll screw the dynamic formatting .announce_format$ = "The element %s has been doubled for this week."; // Atcommand name you want to use for keeping your users informed .atcommand$ = "ddw"; // Configurations END. Don't touch unless you know what you're doing. // Bind an atcommand bindatcmd .atcommand$,strnpcinfo(3)+"::OnCommand"; // Get the amount of sets and use an impossible set .amount = getarraysize(.names$); .set = -1; // Let it fall through the OnMon0000: label to assign first set on server // startup (or reloadscript)OnMon0000: [email protected]_set = .set; // Force the change of set if required if (.force_change) { do { .set = rand(.amount); } while (.set == [email protected]_set); } else { .set = rand(.amount); } // Restore old drops and assign new ones... if set hasn't changed if ([email protected]_set != .set) { freeloop(1); // We could be needing it // Restoring old sets, just if there was an old set if ([email protected]_set >= 0) { [email protected]_set_size = getarraysize(getd( ".set_" + [email protected]_set)); for ([email protected] = 0; [email protected] < [email protected]_set_size; [email protected]++) { // This is pretty ugly, but there's no other mean to do this. [email protected] = getd( ".set_" + [email protected]_set + "[" + [email protected] + "]" ); [email protected]_count = getd(".mobdrop_count_[" + [email protected] + "]"); for ([email protected] = 0; [email protected] <= [email protected]_count; [email protected]++) { // We only have to restore previously saved originals [email protected]_item = getd(".mobdrop_item_" + [email protected] + "[" + [email protected] + "]"); [email protected]_rate = getd(".mobdrop_rate_" + [email protected] + "[" + [email protected] + "]"); // This updates monster drop back to original state addmonsterdrop([email protected], [email protected]_item, [email protected]_rate); } } } // Applying multiplicator to new set for ([email protected] = 0; [email protected] < getarraysize( getd( ".set_" + .set ) ); [email protected]++) { // Get original mob drops [email protected] = getd( ".set_" + .set + "[" + [email protected] + "]" ); getmobdrops([email protected]); setd ".mobdrop_count_[" + [email protected] + "]", [email protected]_count; // We'll need it for ([email protected] = 0; [email protected] <= [email protected]_count; [email protected]++) { // We only have to save originals setd ".mobdrop_item_" + [email protected] + "[" + [email protected] + "]", [email protected]_item[[email protected]]; setd ".mobdrop_rate_" + [email protected] + "[" + [email protected] + "]", [email protected]_rate[[email protected]]; // Calculate new rate. If it gives a value out of bounds, // addmonsterdrop will then take care of capping it inbounds // along with a warning we can safely ignore. [email protected]_rate = ([email protected]_rate[[email protected]] * .multiplicator) / 100; // This updates monster drop item if the mob already drops it addmonsterdrop([email protected], [email protected]_item[[email protected]], [email protected]_rate); } } freeloop(0); } // Announce new set for everyone and finish. [email protected]_text$ = sprintf(.announce_format$, .names$[.set]); announce [email protected]_text$, bc_all|bc_blue; end;OnCommand: // Announce set just for yourself and finish. [email protected]_text$ = sprintf(.announce_format$, .names$[.set]); announce [email protected]_text$, bc_self|bc_blue; end;} Please test it and point any bugs or errors you can find on it. P.S.: I've made an effort to make it extra readable so that anybody could modify it if they wanted.
  • Create New...

Important Information

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