Jump to content

Utilities

Scripts that are set up to help players and GMs alike should be posted in this category
Examples: Buffers, Refining Systems, GM Tools, Shops

207 files

  1. 10.00 USD

    New @security system for item and zeny protection [no src mod required]

    The new @security system does all those old and clunky security systems did (not so well) in the past and much more, without source modifications!
    Protects the player items and zeny with a password (that can be as long and complex as the player wants), if hacked or they share their account Allows the player to temporary disable the system and play as usual, so when the player logs out, the system reactivates When an intruder fails to enter the password X times (configurable), the system resets the player's account password and kicks the intruder out Available in English and Spanish PS.: If you have any idea or suggestion for new features or improvements, feel free to tell me and I'll add them to the system!
     
    By buying this script, you agree to these terms:
    You are not allowed to redistribute this script in any way, shape, or form. Chargeback scams are not tolerated and will get you punished on rAthena. I (Daegaladh) still retain all rights to this script. Terms above may be changed or adjusted without prior notification. © Daegaladh 2017

    20 purchases   68 downloads

    Updated

  2. Free

    Shops Selling All Costumes Available in Rathena

    This script has NPC shops that sell all available costume items in rAthena as of March 2025. 
    Costumes are categorized based on their equipment slot (Upper, Middle, Lower and Garment) and distributed across multiple shops (150 item per shop), Ensuring a well-organized and accessible shopping experience. 
    The item list is filtered to include only valid costumes from latest iteminfo_EN.lua (English Translation), preventing missing or invalid entries. 
    if you remove the commented shops it will sell all costumes available in the database (item_equip_db.yml).
    Ideal for servers looking to provide a complete costume collection for players!

    267 downloads

    Submitted

  3. 15.00 USD

    Shadow gear crafting NPC

    NPC that can craft 4th job shadow gears
    - added more dialog to make the npc convinient to use and easy to understand
    - Added effects
    - Make the requirements for renewal server
     
    If you have some suggestion to make the npc better or any support feel free to ask me 🙂

    0 purchases   3 downloads

    Submitted

  4. Free

    Equipment Upgrade System

    A multi-level upgrade system for your equipment similar to ROM:EL equipment upgrades. Easily manage the upgrade bonuses of your equipment without duplicating them. The only downside is, the upgrade system doesn't support any 4 slotted equipment.

    For easy explanation, we will go with 2 equipment samples:
    Equipment 50103 (Costume Fate Magic Book) and Equipment 50107 (Costume Fate Wand)

    How to Use:
    Go and edit your file equipment_upgrades.txt
    1. You add your upgrade bonuses at section II. EQUIPMENT BONUSES and list the item bonus just like the 2 samples.
    2. Enumerate all the requirements for upgrading the equipment at section III. EQUIPMENT REQUIREMENTS and list it just like the 2 samples.
    (3.) Optional. If you are planning to add more than 5 upgrades or if you modified the item ID of enchant stones, you must also update the section I. EQUIPMENT UPGRADE LEVEL MODIFIERS.
    Go and edit your file item_db.yml
    1. You must add this first:
    # UPGRADE ENCHANT CARD SLOTS   - Id: 50108     AegisName: S_Upgrade_I     Name: Upgrade - I     Type: Card     SubType: Enchant   - Id: 50109     AegisName: S_Upgrade_II     Name: Upgrade - II     Type: Card     SubType: Enchant   - Id: 50110     AegisName: S_Upgrade_III     Name: Upgrade - III     Type: Card     SubType: Enchant   - Id: 50111     AegisName: S_Upgrade_IV     Name: Upgrade - IV     Type: Card     SubType: Enchant   - Id: 50112     AegisName: S_Upgrade_V     Name: Upgrade - V     Type: Card     SubType: Enchant (2.) Optional. If you are planning to add more than 5 upgrades or if you modified the item ID of enchant stones, you must add/update the necessary item_db entry for those just like the above entries. (with the correct enchantIDs of course)
    3. IMPORTANT: Every time you add an equipment upgrade bonus to an item, you must also add this line: callfunc("GetUpgradeBonus");
    Here are some sample entry using the 2 equipment samples for your reference:
    - Id: 50103     AegisName: C_Fate_MagicBook     Name: Costume Fate Magic Book     Type: ShadowGear     Weight: 100     View: 115     Jobs:       Sage: true     Locations:       Shadow_Weapon: true     Script: |       bonus bAspdRate,50;       bonus2 bSubEle,Ele_Ghost,5;       bonus3 bAutoSpell,"MG_THUNDERSTORM",10,200;       callfunc("GetUpgradeBonus");   - Id: 50107     AegisName: C_Fate_Wand     Name: Costume Fate Wand     Type: ShadowGear     Weight: 100     View: 119     Jobs:       SoulLinker: true     Locations:       Shadow_Weapon: true     Script: |       bonus bAspdRate,50;       bonus2 bSubEle,Ele_Neutral,5;       bonus2 bMagicAtkEle,Ele_Dark,5;       callfunc("GetUpgradeBonus"); Lastly, go and edit your file iteminfo.lua
    1. You must add this first:
    [50108] = {         unidentifiedDisplayName = "Upgrade - I",         unidentifiedResourceName = "Wolf_Orb_M_Counter_1",         unidentifiedDescriptionName = { "" },         identifiedDisplayName = "Upgrade - I",         identifiedResourceName = "Wolf_Orb_M_Counter_1",         identifiedDescriptionName = { "^0066FFThis equipment is currently at Upgrade - I^000000" },         slotCount = 0,         ClassNum = 0,         costume = false     },     [50109] = {         unidentifiedDisplayName = "Upgrade - II",         unidentifiedResourceName = "Wolf_Orb_Mag_1",         unidentifiedDescriptionName = { "" },         identifiedDisplayName = "Upgrade - II",         identifiedResourceName = "Wolf_Orb_Mag_1",         identifiedDescriptionName = { "^404DD9This equipment is currently at Upgrade - II^000000" },         slotCount = 0,         ClassNum = 0,         costume = false     },     [50110] = {         unidentifiedDisplayName = "Upgrade - III",         unidentifiedResourceName = "Wolf_Orb_Robust_1",         unidentifiedDescriptionName = { "" },         identifiedDisplayName = "Upgrade - III",         identifiedResourceName = "Wolf_Orb_Robust_1",         identifiedDescriptionName = { "^8033B3This equipment is currently at Upgrade - III^000000" },         slotCount = 0,         ClassNum = 0,         costume = false     },     [50111] = {         unidentifiedDisplayName = "Upgrade - IV",         unidentifiedResourceName = "Wolf_Orb_Str_1",         unidentifiedDescriptionName = { "" },         identifiedDisplayName = "Upgrade - IV",         identifiedResourceName = "Wolf_Orb_Str_1",         identifiedDescriptionName = { "^BF1A8CThis equipment is currently at Upgrade - IV^000000" },         slotCount = 0,         ClassNum = 0,         costume = false     },     [50112] = {         unidentifiedDisplayName = "Upgrade - V",         unidentifiedResourceName = "Wolf_Orb_Hp_1",         unidentifiedDescriptionName = { "" },         identifiedDisplayName = "Upgrade - V",         identifiedResourceName = "Wolf_Orb_Hp_1",         identifiedDescriptionName = { "^FF0066This equipment is currently at Upgrade - V^000000" },         slotCount = 0,         ClassNum = 0,         costume = false     }, (2.) Optional. If you are planning to add more than 5 upgrades or if you modified the item ID of enchant stones, you must add/update the necessary iteminfo entry for those just like the above entries. (with the correct enchantIDs of course)
    3. Then add your equipment upgrade description. Here are some sample entry using the 2 equipment samples for your reference:
    [50103] = {         unidentifiedDisplayName = "Costume Fate Magic Book",         unidentifiedResourceName = "Fate_MagicBook",         unidentifiedDescriptionName = { "Unknown Item, can be identified by using a ^6666CCMagnifier^000000." },         identifiedDisplayName = "Costume Fate Magic Book",         identifiedResourceName = "Fate_MagicBook",         identifiedDescriptionName = {             "Slightly increase attack speed",             "+5% Resistance to Ghost element",             "Adds a chance of autocasting Thunder Storm when physically attacking",             "+1% Matk per ^0000FFupgrade^000000",             "+1 Allstats per ^0000FFupgrade^000000",             "________________________",             "^0000FF[Upgrades]",             "^0066FFI: +2% Ignore Mdef",             "^404DD9II: +4 Attack Range",             "^8033B3III: Adds a chance of autocasting Heaven's Drive when physically attacking",             "^BF1A8CIV: +3% Ignore Mdef",             "^FF0066V: Has a low chance of autocasting Spider Web when physically attacking, +5% Ghost Resistance",             "^000000________________________",             "Class:^6666CC Costume Weapon^000000",             "Weight:^009900 10^000000",             "Jobs:^6666CC Sage^000000"         },         slotCount = 0,         ClassNum = 115,         costume = true     },     [50107] = {         unidentifiedDisplayName = "Costume Fate Wand",         unidentifiedResourceName = "Fate_Wand",         unidentifiedDescriptionName = { "Unknown Item, can be identified by using a ^6666CCMagnifier^000000." },         identifiedDisplayName = "Costume Fate Wand",         identifiedResourceName = "Fate_Wand",         identifiedDescriptionName = {             "Slightly increase attack speed",             "+5% Resistance to Neutral element",             "+5% Shadow Magical DMG",             "+1% Matk per ^0000FFupgrade^000000",             "+1 Allstats per ^0000FFupgrade^000000",             "________________________",             "^0000FF[Upgrades]",             "^0066FFI: +5% Shadow Magical DMG",             "^404DD9II: +5% Demi-Human Resistance",             "^8033B3III: +10% Shadow Magical DMG",             "^BF1A8CIV: Reduces any reflected damage from enemies by 50%",             "^FF0066V: +20% Ignore Mdef, +5% Neutral Resistance",             "^000000________________________",             "Class:^6666CC Costume Weapon^000000",             "Weight:^009900 10^000000",             "Jobs:^6666CC Soul Linker^000000"         },         slotCount = 0,         ClassNum = 119,         costume = true     }, That's basically it! You may implement it to an existing equipment to make it more relevant and usable 🙂

    DM me on Discord for questions and clarification.

    216 downloads

    Updated

  5. Free

    Selection Buffer

    This is just a buffer NPC that I made for someone in the script request section. It's pretty versatile and sturdy so instead of it being depreciated I thought others might use it.
    Description:

    Select from a list of buffs the ones you want to purchase each time you buff. Double click to reselect buffs.
    Everything is stored in one character variable.



    ( preview slowed to increase loading times )


    867 downloads

    Updated

  6. Free

    set and get and delete Variable for Gepard

    with this you can add a "like" variable that hooked to the unique id that Gepard provide
    ofc the script wont work without Gepard Shield
    Faster Explanation:
    all you need to know if you already know how to script: TO SET EXAMPLE: Account Variable in rAthena EX: #VAR = 10; Character Variable in rAthena EX: VAR = 10; Gepard Variable ? > with this functions EX: gepard_int_set("VAR",10); AFTER THE ABOVE THE RESULT WOULD BE> TO GET EXAMPLE: Account Variable in rAthena EX: mes "" + #VAR;// = 10 Character Variable in rAthena EX: mes "" + VAR;// = 10 Gepard Variable ? > with this functions EX: mes "" + gepard_int_get("VAR");// = 10 Extra: Delete from all players a Gepard Variable gepard_delete("VAR");//delete "VAR" with any index from all players Delete from all players a Gepard Variable with an index gepard_delete("VAR",1);//delete "VAR" with index 1 from all players  
    Download the test NPCs for more Explanation:
     
    Script Header:
    //===== rAthena Script ======================================= //= set and get for gepard //===== By: ================================================== //= Sader1992 //https://rathena.org/board/profile/30766-sader1992/ //===== Current Version: ===================================== //= 1.0 //===== Compatible With: ===================================== //= rAthena Project //= https://github.com/sader1992/sader_scripts //===== Description: ========================================= <<<<<<< READ ME! //= YOU MUST RUN THE SQL SCRIPT IN YOUR MAIN SQL FIRST!!!!! //= you should add this to the end of your 'rathena/npc/other/Global_Functions.txt' //= gepard_int_get(<"key">{,<index>{,<"unique id">}}); //= gepard_string_get(<"key">{,<index>{,<"unique id">}}); //= gepard_int_set(<"key">,<value>{,<index>{,<"unique id">}}); //= gepard_string_set(<"key">,<"value">{,<index>{,<"unique id">}}); //= gepard_delete(<"key">{,<index>}); //============================================================ /* //ADD THIS TO YOUR SQL! CREATE TABLE IF NOT EXISTS `gepard_reg_num` ( `unique_id` int(11) unsigned NOT NULL default '0', `key` varchar(32) binary NOT NULL default '', `index` int(11) unsigned NOT NULL default '0', `value` int(11) NOT NULL default '0', PRIMARY KEY (`unique_id`,`key`,`index`), KEY `unique_id` (`unique_id`) ) ENGINE=MyISAM; CREATE TABLE IF NOT EXISTS `gepard_reg_str` ( `unique_id` int(11) unsigned NOT NULL default '0', `key` varchar(32) binary NOT NULL default '', `index` int(11) unsigned NOT NULL default '0', `value` varchar(254) NOT NULL default '0', PRIMARY KEY (`unique_id`,`key`,`index`), KEY `unique_id` (`unique_id`) ) ENGINE=MyISAM; */  
     

    829 downloads

    Updated

  7. Free

    Guild Package Manager

    An automated guild package manager that will help your server manage the distribution of guild package. Currently the script checks the following:
    Must be a new guild on the server Must have at least {.@min-1} Guild Members ({.@min} including the Guild Leader) Guild Members must be online Guild Members must have a unique IP (duals are not counted and won't be receiving any rewards) {.@bypassipcheck == 0} Both Guild Leader and Guild Members must be at their maximum level {.@blvl}/{.@jlvl} Both Guild Leader and Guild Members must not participated on any Guild Recruitment on the past Configurations:
    .@min = 5; // Minimum Guild Count Requirement
    .@blvl = 255; // Required Base Level
    .@jlvl = 120; // Required Job Level
    .@bypassipcheck = 0; // Bypass IP Check
    Notes:
     » All contents must be Guild-bounded
     » Sharable within the guild by using @gstorage or trading guildmates
     » Guildmates who left the guild will have their guild-bounded items automatically transfer into @gstorage (including compounded cards)
    Example Packages: (feel free to modify the packages in functions getrlp, getrap, getrwp, always use getitembound/getitembound2 with Bound_Guild flag)
     » Recruitment Leader Pack (for Guild Leader only) - 1x BTS Armor Set
     » Recruitment Armor Pack (for Guild Members only) - 1x Quest Valkyrie Set of choice
     » Recruitment Weapon Pack (for All) - 1x +7 Custom Weapon of choice (Quest Weapon)
    ItemDB Packages:
    - Id: {YOUR .@rlpid ID HERE} AegisName: Recruitment_Leader_Pack Name: Recruitment Leader Pack Type: Delayconsume Buy: 2 Script: | callfunc "getrlp"; - Id: {YOUR .@rapid ID HERE} AegisName: Recruitment_Armor_Pack Name: Recruitment Armor Pack Type: Delayconsume Buy: 2 Script: | callfunc "getrap"; - Id: {YOUR .@rwpid ID HERE} AegisName: Recruitment_Weapon_Pack Name: Recruitment Weapon Pack Type: Delayconsume Buy: 2 Script: | callfunc "getrwp";

    181 downloads

    Updated

  8. Free

    Abyss_04 and Odin Past (Working) Script + Sprites

    This file allows you to activate the Odin Past and Abyss4 maps in your game. Tested on a Renewal server.
    Includes monster sprites, maps, monster database and skills.

    262 downloads

    Submitted

  9. Free

    getStartOfDayTick function

    getStartOfDayTick(<Day of the week>)
    This function returns what the timetick would be on the provided next day of the week
    Accept: SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
     
    DO NOT PM ME FOR ERRORS
    Use the forum post to report for any bugs and errors HERE(Click Me)
     
    I recommend to copy/paste the function to the end of the file 'rathena/npc/other/Global_Functions.txt'
    This will make the function usable without 'callfunc' command
     if you used the function inside an item or didn't put it to load first you will
     need to use 'callfunc("getStartOfDayTick", <Day of the week>)' instead of 'getStartOfDayTick(<Day of the week>)'
     

    https://sader1992.com/

    60 downloads

    Updated

  10. Free

    Advanced Safe Refiner

    Just sharing my own safe refiner NPC that mimics the Safe Refinement System of ROM:EL. As the item increases its refinement level, the materials required will grow exponentially as it requires the copy of the item you are refining based on its next refinement level. The NPC can only refine the item if its next refinement process is not safe anymore for Hollgrehenn.
    Settings:
    .@npc_name$ = Name of your NPC
    .@price - The required zeny for refining.
    .@canfail - Refining can fail but keeps the target equipment and stays at the current refinement level (0 = disabled; 1 = enabled)
    .@same - Check if the materials has the same refinement level (0 = disabled; 1 = enabled)
    .@startsafe - Start counting materials after the safe refine on Hollgrehenn (0 = disabled; 1 = enabled)
    .@mineralcostmultiplier - The Oridecon/Elunium required per refine based on [.@startsafe] settings (0 = disabled)

    [ START SAFE TABLE ]
    At Weapon Lvl 4 / Armor Lvl 1
    +4 -> +5 = 1 copy
    +5 -> +6 = 2 copies
    +6 -> +7 = 3 copies
    +7 -> +8 = 4 copies
    +8 -> +9 = 5 copies
    +9 -> +10 = 6 copies

    477 downloads

    Updated

  11. Free

    ConvertMapName Function - Enhance how map names are addressed in-game NPCs/Announcers!

    As the title says, it will convert the server side name to client side name (or as you configure - I'm just using the mapnametable.txt as reference)

    Usage - ConvertMapName(<mapname>);

    mapname is the server side map name used in mapindex

    Practical usage of this function is just to fancy up the mapnames on script. For example on mvp or pvp announcers, instead of announcing 'prt_fild08', it will show as 'Prontera Field F8' as per the default listed in the Loader NPC.
    You can modify the Loader NPC as much  as you want. It is best to add both the function and the loader npc on 'Global_function.txt' so it will always be loaded first.
    This script is only for those who are just very particular on fancy details, otherwise, don't use this function if you have no idea what I mean.
    Sample NPCs are attached in the script itself.

    109 downloads

    Submitted

  12. Free

    Card Recycler

    This is my version of king poring 
    if someone can improve this script 
    just leave the script with your improvement changes 

    The NPC script for Card Recycler allows players to recycle cards with the following functionalities:
    Requirements: Players need 2,500,000 Zeny and must submit 4 different cards for recycling.
    Validation and Prohibitions: Checks if players have enough Zeny and verifies if submitted cards are not on the prohibited list ()..@forbidden_card$
    Card Types and Rates: Offers three card types with specific probabilities:
    Normal Cards: 99% chance ()..@rate_normal_card = 9900 Mini Boss Cards: 3% chance ()..@rate_mini_boss_card = 300 MVP Cards: 1% chance ()..@rate_mvp_card = 100 Functionality: Allows players to recycle cards, deducts Zeny, removes submitted cards, and randomly gives a new card based on defined probabilities.
    Additional Features: Connects to a shop () and handles transactions related to card recycling and potentially other items.card_merge_shop
    This script enhances gameplay by providing a mechanism to recycle unwanted cards into potentially more valuable ones, adding depth and strategy to the game economy.

    330 downloads

    Updated

  13. Free

    [ Script ] Stats Point for Rebirth & Reset Stats / Skills / Map SG .

    This Ragnarok Online NPC script primarily focuses on the rebirth process and resetting stats, skills, and specific maps. Below is a summary of its functions:
    Initial Configurations
    Rebirth Cost: set .@cost, 5000000; Minimum Base Level for Rebirth: set .@blvl, 99; Maximum Number of Rebirths: set .@max_rebirth, 5; Additional Stat Points per Rebirth: setarray .@bstats[0], 200, 400, 600, 800, 1000; Required Items for Rebirth: IDs: setarray .@items_id[0], 501, 502, 503; Quantities: setarray .@items_qty[0], 1, 1, 1; Cash Points Required for 4th and 5th Rebirth: 4th Rebirth: set .@cashpoint_cost[3], 500; 5th Rebirth: set .@cashpoint_cost[4], 1000; Enable/Disable Cash Points for 4th and 5th Rebirth: set .@use_cash_points, 1; Allowed Classes for Rebirth: setarray .@allowed_classes[0], 23, 24, 25, 4047, 4049, 4008, 4009, 4010, 4011, 4012, 4013, 4015, 4016, 4017, 4018, 4019, 4020, 4021; Reset Costs: setarray .@Reset, 5000, 5000, 9000, 15000; NPC Functions
    Welcome Message and Introduction: Introduces the NPC and its main functions: rebirth and resetting stats, skills, and specific maps.
    Main Menu: Offers three options:
    Rebirth Reset Stats/Skills/Maps SG Cancel Rebirth:
    Checks if the player has reached the maximum number of rebirths. Explains the rebirth process and requirements. Verifies necessary requirements (base level, class, Zeny, items, and Cash Points if applicable). Performs the rebirth if all requirements are met, including: Deducting the required Zeny and items. Changing job to Hight Novice. Resetting level to 1. Allocating additional stat points. Incrementing the rebirth counter. Reset Stats, Skills, and Maps SG:
    Displays reset costs for stats, skills, and both. Checks if the player has sufficient Zeny. Performs the reset based on the selected option, including: Resetting skills. Resetting stats. Resetting designated maps for Star Gladiator if the player’s class is Star Gladiator. Cancel Option: Closes the dialog without performing any action.
    Dialog Flows
    Rebirth:
    Requirement verification. Process confirmation. Perform rebirth if requirements are met. Reset:
    Present options and costs. Check sufficient Zeny. Perform the reset based on the selected option. The script ensures players meet all requirements before allowing them to rebirth or reset their stats and skills, providing a structured and balanced in-game experience.


     

    197 downloads

    Updated

  14. Free

    Mir4 Enchant

    It allows you to enchant equipment using a random system between possibilities, and each registered title has 4 categories of rarity: S,A,B,C and each one with its respective chances.
     
     

    533 downloads

    Submitted

  15. Free

    All In One - Random Options Script

    The goal in this script is to allow you to create any random option enchantment system by just creating a new copy of this script , change the script name and setting
    You should be able to create any random option system exist currently in the game
    DO NOT PM ME FOR ERRORS
    Use the forum post to report for any bugs and errors HERE(Click Me)
     
    the script allow you to
    create a group of items  > you can create as many groups as you want
    each group has it's own options
    allow reroll or not
    put price for first time and price for the reroll after the first time
    the price can be zeny, cashpoints, custom points, items
    put random options for all slots or specific slot of the random options slot
     
    put exclusive random options groups so they cannot coexist in the same item
     
     
    The script config and example AT LINE 290 in the script file >
    OnInit: .exv = true;//DO NOT REMOVE THIS. .KeepItemData = true;//if this is 'false , the player will loss the refine+cards from the item when he use this npc. .CustomPointsVariable$ = "#COSTUMPOINTS";//The variable name of the costum points. .CustomPointsName$ = "Server RO Points";//The name of the costum points, this what the player will see. .HardBalance = true;//if this is true , it would be much harder to get high value in the random option. //AddGroup(<Group ID>,<ItemID>,<ItemID>,<ItemID>,<ItemID>,<ItemID>); /* AddGroup Doc <Group ID> = a number between 1 and MAX_INT64 DO NOT REUSE THE GROUP ID IN THE SAME FILE CONFIG! DO NOT REUSE THE SAME ITEM ID IN DIFFERENT GROUP! will create a group id you can add as many as you want items inside a group. */ //AddGroupOption(<Group ID>,<Allow ReRoll?true:false>,<Allow reuse already gotten option?true:false>,<Zeny Cost>,<CashPoint Cost>,<Custom Points Cost>,<Item1 ID Cost>,<Item1 Amount Cost>,<Item2 ID Cost>,<Item2 Amount Cost>,<....ETC>); /* AddGroupOption Doc <Group ID> = A group id that is already created in AddGroup()!. <Allow ReRoll?true:false> = allow reroll an item with random option or not <Allow reuse already gotten option?true:false> = for exammple if you have str in the options and the player gor it , can he get it again in another slot? */ //AddGroupCost(<Group ID>,<Zeny Cost>,<CashPoint Cost>,<Custom Points Cost>,<Item1 ID Cost>,<Item1 Amount Cost>,<Item2 ID Cost>,<Item2 Amount Cost>,<....ETC>); /* AddGroupCost Doc <Group ID> = A group id that is already created in AddGroup()!. <Zeny Cost> = the zeny cost (can be 0) <CashPoint Cost> = the cashpoints cost (can be 0) <Custom Points Cost> = if you are using costum points in the script , check out .CustomPointsVariable$ and .CustomPointsName$ at the start of the script (can be 0) <Item1 ID Cost> = the item cost <Item1 Amount Cost> = the item amount cost You can use as many item,amount cost at the end of the function. */ //AddGroupReRollCost(<Group ID>,<Zeny Cost>,<CashPoint Cost>,<Custom Points Cost>,<Item1 ID Cost>,<Item1 Amount Cost>,<Item2 ID Cost>,<Item2 Amount Cost>,<....ETC>); /* AddGroupReRollCost Doc <Group ID> = A group id that is already created in AddGroup()!. <Zeny Cost> = the zeny cost (can be 0) <CashPoint Cost> = the cashpoints cost (can be 0) <Custom Points Cost> = if you are using costum points in the script , check out .CustomPointsVariable$ and .CustomPointsName$ at the start of the script (can be 0) <Item1 ID Cost> = the item cost <Item1 Amount Cost> = the item amount cost You can use as many item,amount cost at the end of the function. */ //AddGroupChance(<Group ID>,<1st Option Chance>,<2nd Option Chance>,<3rd Option Chance>,<4th Option Chance>,<5th Option Chance>); /* AddGroupChance Doc <Group ID> = A group id that is already created in AddGroup()!. <1st Option Chance> = the Chance to get one of the random options in the slot 1 (can be 0) <2nd Option Chance> = the Chance to get one of the random options in the slot 2 (can be 0) <3rd Option Chance> = the Chance to get one of the random options in the slot 3 (can be 0) <4th Option Chance> = the Chance to get one of the random options in the slot 4 (can be 0) <5th Option Chance> = the Chance to get one of the random options in the slot 5 (can be 0) Keep inmind that if the player didn't get lucky for example at the slot 2 , all the chances after will be ignored you cannot skip a random option slot that would bug the game client. */ //AddOpt(<Group ID>,<Location>,<Random Option ID>,<Minimum Value>,<Maximum Value>); /* AddOpt Doc <Group ID> = A group id that is already created in AddGroup()!. <Location> = you can spisfiy random option to a location from 1 to 5 , but you can use 0 , if you used 0 it will apply to all locations that doesn't have spisfied random options. <Random Option ID> = random option id , you can use the id or the variable , check out the file /rathena/db/re/item_randomopt_db.yml <Minimum Value> = the minimum value <Maximum Value> = the maximum value */ //AddExclusiveOpt(<Random Option ID>,<Random Option ID>,<Random Option ID>,<Random Option ID>,<Random Option ID>); /* AddExclusiveOpt Doc this will help you to prevent a group of random opions typs in the same item in different slots for example RDMOPT_DAMAGE_PROPERTY_NOTHING_TARGET RDMOPT_DAMAGE_PROPERTY_WATER_TARGET RDMOPT_DAMAGE_PROPERTY_GROUND_TARGET RDMOPT_DAMAGE_PROPERTY_FIRE_TARGET RDMOPT_DAMAGE_PROPERTY_WIND_TARGET RDMOPT_DAMAGE_PROPERTY_POISON_TARGET RDMOPT_DAMAGE_PROPERTY_SAINT_TARGET RDMOPT_DAMAGE_PROPERTY_DARKNESS_TARGET RDMOPT_DAMAGE_PROPERTY_TELEKINESIS_TARGET RDMOPT_DAMAGE_PROPERTY_UNDEAD_TARGET if the player got 1 of them in a slot , he wont get another one to another slot */ //Example!!!> //this is just an example , this script allow you to create any random option system you want. //Creating Group id 1 , with Hat items inside. AddGroup(1,2220,2221,2222,2223); //Group id 1 Options AddGroupOption(1,true,false); //Group id 1 Cost AddGroupCost(1,50,0,0,502,1,503,2); //Group id 1 ReRoll Cost AddGroupReRollCost(1,50,0,0,502,5,503,2); //Group id 1 Chances. AddGroupChance(1,100,75,60,40,20);AddGroupChance(1,100,100,100,100,100); //Group id 1 Random Option List. location 0 mean all the slot locations AddOpt(1,0,RDMOPT_VAR_STRAMOUNT,1,100); AddOpt(1,0,RDMOPT_VAR_INTAMOUNT,1,100); AddOpt(1,0,RDMOPT_VAR_VITAMOUNT,1,100); AddOpt(1,0,RDMOPT_VAR_LUKAMOUNT,1,100); AddOpt(1,0,RDMOPT_VAR_AGIAMOUNT,1,100); AddOpt(1,0,RDMOPT_VAR_DEXAMOUNT,1,100); AddOpt(1,0,RDMOPT_VAR_MAXHPPERCENT,1,100); AddOpt(1,0,RDMOPT_VAR_MAXSPPERCENT,1,100); //those enchantment you wont get unless in slot 5 AddOpt(1,5,RDMOPT_DAMAGE_PROPERTY_NOTHING_TARGET,1,100); AddOpt(1,5,RDMOPT_DAMAGE_PROPERTY_WATER_TARGET,1,100); AddOpt(1,5,RDMOPT_DAMAGE_PROPERTY_GROUND_TARGET,1,100); AddOpt(1,5,RDMOPT_DAMAGE_PROPERTY_FIRE_TARGET,1,100); AddOpt(1,5,RDMOPT_DAMAGE_PROPERTY_WIND_TARGET,1,100); AddOpt(1,5,RDMOPT_DAMAGE_PROPERTY_POISON_TARGET,1,100); AddOpt(1,5,RDMOPT_DAMAGE_PROPERTY_SAINT_TARGET,1,100); AddOpt(1,5,RDMOPT_DAMAGE_PROPERTY_DARKNESS_TARGET,1,100); AddOpt(1,5,RDMOPT_DAMAGE_PROPERTY_TELEKINESIS_TARGET,1,100); AddOpt(1,5,RDMOPT_DAMAGE_PROPERTY_UNDEAD_TARGET,1,100); //this mean those random options cannot coexist in the same item!. AddExclusiveOpt(RDMOPT_DAMAGE_PROPERTY_NOTHING_TARGET, RDMOPT_DAMAGE_PROPERTY_WATER_TARGET, RDMOPT_DAMAGE_PROPERTY_GROUND_TARGET, RDMOPT_DAMAGE_PROPERTY_FIRE_TARGET, RDMOPT_DAMAGE_PROPERTY_WIND_TARGET, RDMOPT_DAMAGE_PROPERTY_POISON_TARGET, RDMOPT_DAMAGE_PROPERTY_SAINT_TARGET, RDMOPT_DAMAGE_PROPERTY_DARKNESS_TARGET, RDMOPT_DAMAGE_PROPERTY_TELEKINESIS_TARGET, RDMOPT_DAMAGE_PROPERTY_UNDEAD_TARGET); end;  

    https://sader1992.com/

    1427 downloads

    Updated

  16. Free

    Advance Punching Bag with DPS counter + Parameter Settings

    Hi guys, 
    Its been a while since I left and came back. Here is my latest release for now for the community :
     
     
    In addition to setting the dummy's parameters, you can also simulate a monster's stat by adding the MOB ID.
    You will need to put your mob_db/mob_db_re sql tables in-order for the script to retrieve the mob's information.

    Since this is a free release, compatibility is your responsibility.
    If there are any bugs/issues, just post on the support page and not thru my DMs.

    Credits goes to @Secrets DPS counter script. I was using that script and modified to make this script possible.
     
    Hope this small contribution would be a great help!
     
    - pajodex
     
    Thanks to @_Terra for sharing the fix on clif_send error.

     

    996 downloads

    Updated

  17. Free

    Pet Combination System (RO Landverse Concept)

    Hi,
    Just dropping some random scripts on my drive.
    Enjoy!
     
    Script Info: https://maxion-1.gitbook.io/ragnarok-landverse-whitepaper/beginner-guide/pets-system
     
    NOTE: This is only a replication attempt. This doesn't have the pet combination UI as per the link showing. This will use NPC Shop UI instead. This is NOT limited to pet combination, you can be creative and change this to item tier combination if you wish. If you know how to read and basic scripting knowledge, then you can edit this script without problem. Use at your own risk.

    429 downloads

    Updated

  18. Free

    Item Collector NPC / Item Sink Strategy

    Introduction :
    The NPC is designed to accept items from players, with contributions being non-recoverable but meticulously logged. A straightforward ranking system showcases players based on their item contributions. Game Masters have the flexibility to leverage and reset these rankings for custom events or creative initiatives at their discretion.

    **  Consider this a deviously delightful item sinking event for your server, complete with devilish flair and strategic mischief. 

    486 downloads

    Updated

  19. Free

    Build Manager

    A NPC that allow your Characters to Switch Build from time to time.
    Players are able to save his current status build , so that he/she can switch back to the saved build whenever he/she want.
    Players no need to keep memorize their status build upon changed.
     
    Configuration :
    // maximum build player can store (0 = disable) .max_build = 3; // check player weight limit before switching stat (0 = disable) .check_weight_limit = 1;  

    2383 downloads

    Updated

  20. Free

    Freebies NPC with Gepard Function (UniqueID)

    Freebies NPC with gepard function (UniqueID)

    In response to this post : 
     

    950 downloads

    Updated

  21. Free

    Class Restriction

    This is a script that Prevent / Block certain job from entering specific maps.
     
    Configuration : (v2)
    Refer to db/[pre-]re/job_noenter_map.txt
     
     

    1282 downloads

    Updated

  22. Free

    Market Clone (No SRC modification needed)

    This is exactly the same concept as the original file by Annieruru/Dastgir which is found on this post : 
     
    @marketclone - creates a clone of your self as if you are making a chatroom.
    @marketkill - removes the clone you spawned.
     
    Yes, there is no need for SRC modification. This is purely done script wise but this will only work for latest server files. Any server files later than October 2, 2022 shouldn't have any troubles running this script. Otherwise, you are required to apply this commit: https://github.com/rathena/rathena/commit/9c2576f47ac12f54738bc714b858fde3a9d6315b to work.

    Any issues regarding the script, leave me a message or tag me on the support page of this script. If there is any good suggestions for improvements 
    I do wont give support if compatibility is the issue. Compatibility is your responsibility. Use at your own risk.

    351 downloads

    Updated

  23. Free

    Healer - Selective Buff

    A healer that allow player to receive the buffs they want.
    Player could decide the combination of buff they want.

    * Notes: For demo purpose, I only write a simple script to demo the rough idea, imagine the buff system you could do with your own creative imagination. 
    Feel free to share with us if you have any nice idea.
     
    Preview:
     
     

    735 downloads

    Updated

  24. Free

    Mvp Cards Log

    a simple log of all the Mvp cards on the server saved in a table

    395 downloads

    Updated

  25. Free

    Buff donation (using zeny)

    Here i want share my modifying script (original script are from floating rate donation script created by lupus)
    to change the duration change at this part (line 206)
    // Up to you whether you want to add an extra hour or not, as otherwise the event will be below 24 hours. $Buff_hours_left = 6;  
    to change zeny amount at this part  (line 221)
    .targetdonation = 10000; you can add or remove buff skills at line 21 ~ 148

    307 downloads

    Submitted


×
×
  • Create New...