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

197 files

  1. 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.

    173 downloads

    Updated

  2. 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.

    218 downloads

    Updated

  3. 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

    184 downloads

    Submitted

  4. Free

    Mvp Cards Log

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

    248 downloads

    Updated

  5. Free

    simple select item from Box/Egg

    This is a simple function I'm using for custom box/egg items to allow players selecting an item.
    Example usage:
    - Id: 100717 AegisName: Fluffy_Semi_Long_Box Name: Costume Fluffy Semi-long Hair Type: DelayConsume Buy: 10 Weight: 100 Script: | callfunc("muh_eggpick","Fluffy_Semi_Long_Box",420036,420037,420038,420039,420040,420041,420042,420043);  

    171 downloads

    Submitted

  6. 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

     

    418 downloads

    Updated

  7. Free

    Area Whisper System

    Script Header:

    I'd watch out for any interesting script request and might post it here.

    68 downloads

    Submitted

  8. Free

    Dungeon of the Day

    Each day a random dungeon will be picked, monsters killed inside the dungeon of the day will give extra EXP, Items and Zeny, the percentage to get these is configurable within the script.


    Accepting suggestions to improve this script.

    548 downloads

    Updated

  9. Free

    Super Convex Mirror

    Description :
    The NPC are capable to search for MVP in the whole server or specific maps.
    Back in eAthena, there exists a script command (forgotten the name, perhaps a mobcount(...) with parameter changed) which allow us to check for specific monster id exists in the map or not, but it was removed.
    Then we could use mobcount(...) script command to get similar results, but we need to manually append an NPC event to each monster.
    Now, we could also do the same by using getunits(...) / getmapunits(...) script commands.
    Of course there are pro and cons for each version, I'll just leave it to you to decide for yourself whether to use it or not.
    The origin of script came from @Brian
     
    Preview :

     
    Settings :
    // Enable player to warp to MVP? // 0 = disabled // 1 = enabled // 2 = enabled + SC_BOSSMAPINFO .warp_to_mvp = 2; Enable this setting if you wish to allow NPC to warp into the monster map.
    // enable this setting to fully utilize the NPC script. (use at your own risk) // read more info at /conf/battle/monster.conf setbattleflag("dynamic_mobs", 0); By default, the dynamic_mobs configuration are set to yes. This help you save some server resources if the maps aren't access by any players recently by saving the monster data into the cache.
    The downside of using dynamic_mobs, monsters are cached, NPC can't search for the monster data if they are cached. FYI, monsters that spawned by NPC scripts aren't cached.
    // list of MVP map. setarray .map$, // enable this if you want it search whole server. (unable to use warp to mvp option) // "all", Enable this if you wish to enable to NPC to search the whole server, incase you missed what other maps have MVP (including showing mvp from restricted areas, like Guild Dungeon) 
    FYI, searching the whole server would take a longer time, use at your own risk.
     
    Notes :
    The NPC are capable to search any MVP monsters in the map, including monster summoned by Bloody Branch, or Class Change Skill (from Sage's Abracadabra), as long as the monster have MVP EXP.
     
    Why do we need this if we already have Convex Mirror Item?
    I am sure everyone has used Convex Mirror before, but there are few reason that its frustrating to use it:
    Each convex mirror only can search current map of player. Convex mirror are wasted if the map doesn't have any MVP or killed. Convex mirror can't search for monster that summoned by NPC script. This NPC could serve as compensation for player, imagine the use case where you spend a Convex Mirror to know which MVPs are still alive instead of letting it go wasted knowing that the MVP in current map is dead or not found.
     

    448 downloads

    Updated

  10. Free

    Custom Stat Seller

    This is an old script and its just a basic script that everyone can use.
    This npc has a bug before where the npc can keep deducting zeny and the stat is already at limit.
    So I've made a minor tweaks and the script is good to go!
    Note: Please read the guide inside the script for making changes!

    180 downloads

    Updated

  11. Free

    @dance

    @dance
    A script-ported-version of source mod @dance. (I don't know the original author)

    Usage
    @dance <1-9> ________________________________________________
    Feel free to Donate if you want to support me

    ________________________________________________

    215 downloads

    Submitted

  12. 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/

    905 downloads

    Updated

  13. Free

    ChangeSuit Function

    ChangeSuit Function
    Function to change player's sprite appearance to 3rd Job & Alternative 3rd Job.
    Only working for Rebirth Jobs and Expanded Classes (if you want to use it for normal classes edit it by yourself).
    Usage
    callfunc("F_ChangeSuit",0) //<-- Enable callfunc("F_ChangeSuit",1) //<-- Disable callfunc("F_ChangeSuitAlt",0) //<-- Enable callfunc("F_ChangeSuitAlt",1) //<-- Disable ________________________________________________
    Feel free to Donate if you want to support me.

    ________________________________________________

    341 downloads

    Submitted

  14. Free

    Password on storage

    Bug Report on discord: KyoSasuke#5401

    233 downloads

    Updated

  15. Free

    ep 17.2 custom npc

    in this file,
    automatic enchant npc,
    automatic modul exchange,
    varmeal ticket exchange,
    automatic armor exchange,
    note : this is custom made, feel free to download and modify as u like.
    ep 17.2 item_db not included, its already in newest rathena server emulator.
    thx

    1695 downloads

    Submitted

  16. Free

    Runes

    A simple system of runes, each time you kill a monster there will be a chance to activate one of them:
    Double Damage Regeneration Movement Speed Attack Speed Illusions Kyrie Eleison Full Critical Configuration:
    set .Duration,60; // Duration of runes set .Chance,7; // Chance to get a rune set .Sounds,0; // Use of custom sounds 1 = Enabled, 0 = Disabled  

    633 downloads

    Updated

  17. Free

    Control Barricade

    I just want to share to everybody this simple script. Hope you guys like it!

    Kudos to llchrisll for explaining everything!

    656 downloads

    Submitted

  18. Free

    @restock - get items from storage with a command

    My take on the @restock command. 
    This script allows you to set a list of item to restock from your storage, for example 100 blue gemstones and 300 white potions.
    When using the command, a ticket item will be consumed to get the specified items from storage.
    This script is so that you'll always have the needed quantity of items in the list. for example, if you have 22 gemstones in your inventory and you use @restock, you'll get the 78 gemstones missing to the full 100
    any feedback is appreciated.

    463 downloads

    Updated

  19. Free

    Rental NPC Support 3rd/4th job Suit Mado Gear and Dragon

    *Don't forget to add required skill on your suit item
    skill "RK_DRAGONTRAINING",5;
    skill "NC_MADOLICENCE",5;

    Report all error/bugs in the forum post not in the PM for faster fix, Thanks!

    By downloading this file, you agree with my Terms of Service:
    • You are not allowed remove my signature from any of the included files.
    • You are not allowed claim my work as yours.
    • I can give you support, but please, do not message me.

    If you like it, give me a 

    486 downloads

    Updated

  20. Free

    Compendium

    Compendium - A levelable battle pass inspired majority of games out there. 

    Feature :
    Easy customizable settings.
    Three types of selectable daily quest.
    Daily quest requirements are randomized.
    Daily quest count resets everyday.
    Compendium resets on the first day of the month.
    Rewards are sent via mail.
    '@compendium' command to access the compendium

    Settings :
     
    Adding a reward on the compendium Rewards : "Level | Reward ID, Amount, Reward ID, Amount,... ==| Level order doesn't matter but 'duplicates' will bug out the script. setarray .compendium_reward$, "1|501:10,502:20", "10|501:20,502:30", "5|501:100,502:500"; Adding a monster/item/mvp to hunt or collect Just add the ID on the following line. setarray .mvp_list setarray .hunt_list setarray .gather_list Changing EXP given on the quest types. .gathering_exp = 50; .hunt_exp = 50; .mvp_hunt_exp = 100;
     

    710 downloads

    Updated

  21. Free

    Equipment Recycle NPC

    A recycle NPC that uses the shop interface.

    Changing the rewards
    .reward_id = 501; .reward_point$ = "#KAFRAPOINT";
    Adding a recyclable equipment.
    /* *=============================================================================| * .@r = Refine | .@b = Bonus =| * list_add("<Equip ID>,<Value>{,<Starting .@r for .@b>,.@b1:.@b2:.@b3:..."); =| *=============================================================================| * Cotton_Shirt w/ +8 Starting .@r bonus =| * .@r = 8 : 1 Bonus Item/Point =| * .@r = 9 : 5 Bonus Item/Point =| * .@r >= 10 : 7 Bonus Item/Point. =| *=============================================================================| * list_add(2301,8,"1:5:7"); =| ==============================================================================| */ function list_create { //= Remove samples and add here. list_add(2301,10,8,"1:5:7"); //Cotton_Shirt list_add(1201,10,7,"1:2:3:4:5"); //Knife list_add(2504,5); //Muffler_ return; }  

    563 downloads

    Updated

  22. Free

    Instance @cd/@cooldown Command

    A simple command for managing instance cooldowns or any other quest that you feel like adding.
    Adding new quest/instance should be simple enough for everyone.

    617 downloads

    Updated

  23. Free

    Party Search

    Allow player to announce in the channel that they are looking for party.

    Add this to your channel.conf
    { name: "#recruit" alias: "[ RECRUIT ]" color: "Recruit" type: "CHAN_TYPE_PUBLIC" autojoin: true leave: false chat: false }, If there is a problem or request for the script you can contact me on the following:
    Skype: nasagnilac.leiron
    Facebook: nl073092

    224 downloads

    Submitted

  24. Free

    Automatic Buffs

    Automatic buff the character who enable it.
     
    set .lvreq, 50; //- Character Level limit set .viplvreq, 80; //- VIP Level limit set .bsec,900; //- Automatic buffs will start every 900sec = 15 minutes set .bdur,60; //- Automatic buffs duration time in seconds 60sec = 1 minute bindatcmd "ab", "Auto_Buffs::OnAtcommand", 0, 100;  
    If there is a problem or request for the script you can contact me on the following:
    Skype: nasagnilac.leiron
    Facebook: nl073092

    550 downloads

    Submitted

  25. Free

    Master Of Alchemist

    A npc where you can convert potion to another potions or you can use other items to convert to another. //- <ItemID>|<Zeny>|<ItemReq>|<ItemReqAmount>|<ItemIDReq1>|,.... setarray .Alchemist_List$[0], "11503|250|32371|5", "11504|500|32372|5", "11501|500|11503|2", "11502|750|11504|2"; Example 1: 11503 is the item you want to be exchange with 250 zeny requirements each then it will require 5pcs if 32371 item.

    If there is a problem or request for the script you can contact me on the following:
    Skype: nasagnilac.leiron
    Facebook: nl073092

    200 downloads

    Updated


×
×
  • Create New...