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
-
All In One - Random Options Script
By sader1992
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/
1018 downloads
Updated
-
Advance Punching Bag with DPS counter + Parameter Settings
By pajodex
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.
567 downloads
Updated
-
Pet Combination System (RO Landverse Concept)
By pajodex
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.
270 downloads
Updated
-
Item Collector NPC / Item Sink Strategy
By Emistry
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.
438 downloads
Updated
-
Build Manager
By Emistry
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;2226 downloads
Updated
-
Freebies NPC with Gepard Function (UniqueID)
By BeWan
Freebies NPC with gepard function (UniqueID)
In response to this post :
881 downloads
Updated
-
Class Restriction
By Emistry
This is a script that Prevent / Block certain job from entering specific maps.
Configuration : (v2)
Refer to db/[pre-]re/job_noenter_map.txt
1193 downloads
Updated
-
Market Clone (No SRC modification needed)
By pajodex
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.
248 downloads
Updated
-
Healer - Selective Buff
By Emistry
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:
650 downloads
Updated
-
Mvp Cards Log
By Eyhra
a simple log of all the Mvp cards on the server saved in a table
283 downloads
Updated
-
Buff donation (using zeny)
By hendra814
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
219 downloads
Submitted
-
VIP System
By hendra814
This is for get VIP status with cash point
can edit at this point
don't forget to enable VIP system at
src\config\core.h
to add bonus for VIP edit this file
rathena\conf\battle\player.conf
2827 downloads
Updated
-
simple select item from Box/Egg
By munkrej
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);
189 downloads
Submitted
-
Goddess Blessing
By pajodex
Config Table:
function goddessblessing { // ----- Add your desired SCs below! ----- sc_start SC_FOOD_STR_CASH,8640000,10; sc_start SC_FOOD_AGI_CASH,8640000,10; sc_start SC_FOOD_DEX_CASH,8640000,10; sc_start SC_FOOD_LUK_CASH,8640000,10; sc_start SC_FOOD_INT_CASH,8640000,10; sc_start SC_FOOD_VIT_CASH,8640000,10; sc_start SC_ITEMBOOST,8640000,50; sc_start SC_EXPBOOST,8640000,50; // -------- end of adding SC --------- return; } OnInit: // ---- Configuration starts ------ .goal = 100000; // Goal to reach .delay_tick = 60 * 60 * 4; // Blessing time active : 4hrs (seconds * mins * hours) .item_offering = 501; // Item to offer //----- Configuration ends----- Special Credits for the Pseudocode by @Secrets
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 sell, resell or in any form for money or rewards using my work.
• You are not allowed claim my work as yours.
• I have the rights to change all the terms above without prior notice.
374 downloads
Updated
-
MVP Ladder only on MVP Maps with announcer
By pajodex
Yet another simple MVP Kill reward on MVP Maps Only with an announcer and now with a simple MVP Ladder
If player is in a party, the reward will be given randomly to online party members.
You can config the script easily at this part:
OnInit: setarray .p_rwd, 607,1; // Party reward <item>,<amount> setarray .s_rwd, 607,1; // Solo reward <item>,<amount> .chance = 50; // Drop rate chances % .gm = 10; // Prevents gm level and above to trigger the event // MVP Map list setarray .t_maps$[0],"// <MVP MAPS> This script will also help other in-game players see if an MVP has been slain.
I'm open for suggestions, comments, reactions and such for the betterment of this script and my skill.
Questions?
Q> Why only at MVP Maps? A> Because some server puts MVP Rooms which the reward can be abused.
1452 downloads
Updated
-
GuildPack NPC with Gepard Function (UniqueID)
By BeWan
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.
If you like it, give me a ?
583 downloads
Updated
-
SoloPack Command with Gepard Function (UniqueID)
By BeWan
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.
If you like it, give me a ?
724 downloads
Updated
-
Rental NPC Support 3rd/4th job Suit Mado Gear and Dragon
By BeWan
*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
513 downloads
Updated
-
Area Whisper System
By pajodex
Script Header:
I'd watch out for any interesting script request and might post it here.
75 downloads
Submitted
-
Manage @alootid - @alootid2
By Emistry
Introduction:
Due to the limitation of alootid that can only loot up to 10 items by default. (can change at /src/).
However players are always greedy, they want to loot almost everything, but not every items, so 10 slots can't fill their desires.
So this custom manager are introduced.
It help player to setup different combination of alootid settings. (Different hunting monster/maps could switch to different settings) player no longer worry what their previous alootid settings was. player can switch/save any settings whenever they want. alootid settings could be auto loaded when they join the game. * In short, just a macro to use to the alootid atcommand. To make it less confusing to player, disable the alootid and start using alootid2 instead.
Usage:
@alootid2 list @alootid2 <save/add/remove> <#> <item1> ... <item10> @alootid2 <load/clear/reset> <#> @alootid2 set <#> name <name> @alootid2 set <#> autoload <1/0> Example:
chatbox: @alootid2 save 3 609 608 607 Usage: @alootid2 save <3> - save successfully. chatbox: @alootid2 load 1 Your autolootitem list has been reset. Autolooting item: 'Green_Herb'/'Green Herb' {511} Autolooting item: 'Apple'/'Apple' {512} Autolooting item: 'Banana'/'Banana' {513} Autolooting item: 'Grape'/'Grape' {514} Autolooting item: 'Carrot'/'Carrot' {515} Usage: @alootid2 load <2> - loaded successfully. chatbox: @alootid2 list <1> - 501, 502, 503, 504, 505, 506, 507, 508, 509, 510 <2> - 511, 512, 513, 514, 515 (autoload upon login) <3> - 609, 608, 607 Usage: @alootid2 list - found 3 settings. Preview:
527 downloads
Updated
-
Dungeon of the Day
By cook1e
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.
585 downloads
Updated
-
Updated
-
Super Convex Mirror
By Emistry
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.
473 downloads
Updated
-
New @security system for item and zeny protection [no src mod required]
By Daegaladh
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 65 downloads
Updated
-
Dynamic WoE Reward Distributor
By Secrets
Information
This script let guild leaders receive WoE rewards after the end of each WoE by talking to the NPC. Rewards can be configured to be given to every online members automatically instead.
There is a menu for the GMs to configure reward for each castle individually.
Use Case
As a reward giver for WoE participation.
Although this script has been tested on an old build of Hercules, it is only guaranteed to support rAthena. If it somehow break on Hercules-based emulator, I could fix it at an additional price
Video
By downloading 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 still retain all rights to this script. You will not get any support if you are using an old build of rAthena from 6 months ago or earlier. Your rights to receive free supports may be revoked at my discretion if you are being abusive Terms above may be changed or adjusted without prior notification. Copyright - Secrets 2016-2017 - All Rights Reserved
172 downloads
Updated
-
Recently Browsing 0 members
- No registered users viewing this page.