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
-
Instanced Emperium Test Breaker + Ranker/Ladder
By Mabuhay
As the title says.
Records break time of the player.
Ranks them with who had the fastest time.
Uses only a custom emperium mob duplicate.
The script would be as is. Use this freely and edit it as much as you need.
Compatibility is your responsibility.
No backward compatibility support.
Enjoy!
1045 downloads
Submitted
-
Emperium Breaker Ladder + Points + Shop
By Mabuhay
The title says it all..
This would record a player's emp break count
GM can easily reset the table
This method is more optimized because the data is properly indexed on a table.
Added emp breaker point shop - Account bounded..
Enjoy!
Installation instructions :
637 downloads
Updated
-
Euphy's WoE Controller + Gepard Check + Minor fix
By Mabuhay
As the title says.
I added some fix on checkweight part where it will throw some error when item mailing is disabled. ( I literally have uploaded the wrong file for months and only been known recently) Added gepard id check support.
457 downloads
Updated
-
Freebies NPC with Gepard Function (UniqueID)
By BeWan
Freebies NPC with gepard function (UniqueID)
In response to this post :
950 downloads
Updated
-
CashShop Manager
By bruno05
Well I searched this script a lot but I did not find any free,
I found another on another site made by CarlosKiller, but for another emulator, so I adapted it to rathena.
It has 2 script, one in English and one in Portuguese.
Modifications made by me:
Add item:
A category has been added, a protection not to add the same item twice, after adding an item you will be asked if you want to add another item and at the end you will be asked if you want to do @reloaditemdb.
Category:
For example, 0 ~ 8 if you enter 9 you will receive a message stating that there is no such category and will ask you to retype the category.
Delete item:
The items in the store with the id appear in the list, making it easier to delete the desired item.
Reload CashShop:
After adding or removing an item in the cash shop is necessary to upgrade the store and must be logged in to be able to see the changes.
It really took a lot of work, I hope you enjoy it.
Note: I am not the creator of this script just adapted and modified many things in it to be compatible with rAthena.
Note2: If it is allowed to put the original script link, let me know that post here.
Below is the original script without modification. (remembering that does not work in rathena this script)
There is a function that I removed, because I could not adapt correctly, that you could see the store items in npc, I was able to modify but when removing some item, he did not remove from the store, only giving restart, and when updating the store doubled the items as well.
546 downloads
Updated
-
Item/Variable(Points) reward function for beginners or lazy!
By Mabuhay
Hi, there! this functions is ideal for newbie scripters or just someone who wants to "add" or "modify" scripts with rewards. It may be item or variables such as points or stuff...
This function can also be used by experienced scripters who are lazy to code and stuff xD. Easy to use and all ?
Here are the sample npcs on how to use it. (included in the downloadable files)
// Sample NPC for using F_Reward_Item and F_Reward_Var // For beginners. prontera,150,180,0 script F_Reward_Test 123,{ mes "What do you want to get?"; switch(select("Item","Points")) { case 1: F_Reward_Item("501:10,502:5,503:10"); break; case 2: F_Reward_Var("#CASHPOINTS","Cash Points",100); break; } mes "Enjoy!"; close; } // This is just a pseudo-code, you can understand what I mean by this xD // For advance scripters. You can do something like. prontera,150,180,0 script F_Reward_Test 123,{ mes "get items"; close2; F_Reward_Item(.itemlist$); end; OnInit: .itemlist$ = "501:10,502:5,503:10"; end; }
I hope this will help! Keep those upvotes coming to motivate me moooore ?
Enjoy the rest of the day!
484 downloads
Updated
-
[FREE] Event Manager
By Mabuhay
Ehh since my event scripts are piling up, I decided to make an Event Manager
// Basic Event Manager // By Mabuhay /*-=-=-=-=-=-=-=-=-=-=-=-=-=- Currently added are the ff : {#} NAME - "NPC_NAME" [1] Bombring - "Event_Bombring" [2] Dice - "Event_Dice" [3] Last Man Standing - "Event_LMS" [4] Novice V Zombie - "Event_NvZ" [5] Poring Catcher - "Poring_Catcher" [6] Poring Hunter - "Poring_Hunter" (Added 12-15-2019) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/ // For easier management of Event NPCs ///////////////////////////////////// // NOTE: // ///////////////////////////////////// // I don't support any modifications unless I want to. // But if you want to change things especially the rewards, // Please refer to my F_Reward Functions // https://rathena.org/board/files/file/4068-itemvariablepoints-reward-function-for-beginners-or-lazy/ // You should be able to easily change the rewards // If you have basic scripting knowledge Header Settings:
OnInit: // 1 = item reward // 2 = variable/cashpoints reward // If you want to set item and variable/cashpoints rewards, do 1|2. // If you only want 1, just choose between 1 or 2 $event_options = 1|2; // If item reward enabled // What items will be rewarded setarray $event_item_reward, 501, 10, 502, 5; // If variable reward.. set to your variable. // If cashpoints.. set to #CASHPOINTS / #KAFRAPOINTS (Free Cash Points) $event_var$ = "#EVENTVARIABLE"; // Variable name? // If cash points, set to Cash Points // If your custom var, set to the name of that thing. $event_var_name$ = "Custom Points"; // How much points gain if #VAR / #CASHPOINTS / #KAFRAPOINTS? $event_var_gain = 1; $event_item_arr = getarraysize($event_item_reward); // @eventstart for GM bindatcmd "eventstart", strnpcinfo(0)+"::OnStart",60,60; // @eventjoin bindatcmd "eventjoin", strnpcinfo(0)+"::OnJoinEvent"; end;
You may now use @eventstart for GMs to select which ones to start.
@eventjoin for players to enter and see which event is currently active
Event timers / Clock are to be set here :
// OnClock<hour><minute>: donpcevent "<npc_name>::OnStart"; OnClock0000: donpcevent "Event_Bombring::OnStart"; end; //----- 12 mn OnClock0100: donpcevent "Event_Dice::OnStart"; end; OnClock0200: donpcevent "Event_LMS::OnStart"; end; OnClock0300: donpcevent "Poring_Catcher::OnStart"; end; OnClock0400: donpcevent "Event_NvZ::OnStart"; end; OnClock0500: donpcevent "Poring_Hunter::OnStart"; end; OnClock0600: donpcevent "Event_Bombring::OnStart"; end; //----- 6 am OnClock0700: donpcevent "Event_Dice::OnStart"; end; OnClock0800: donpcevent "Event_LMS::OnStart"; end; OnClock0900: donpcevent "Poring_Catcher::OnStart"; end; OnClock1000: donpcevent "Event_NvZ::OnStart"; end; OnClock1100: donpcevent "Poring_Hunter::OnStart"; end; OnClock1200: donpcevent "Event_Bombring::OnStart"; end; //----- 12 nn OnClock1300: donpcevent "Event_Dice::OnStart"; end; OnClock1400: donpcevent "Event_LMS::OnStart"; end; OnClock1500: donpcevent "Poring_Catcher::OnStart"; end; OnClock1600: donpcevent "Event_NvZ::OnStart"; end; OnClock1700: donpcevent "::OnStart"; end; OnClock1800: donpcevent "Event_Bombring::OnStart"; end; //----- 6 pm OnClock1900: donpcevent "Event_Dice::OnStart"; end; OnClock2000: donpcevent "Event_LMS::OnStart"; end; OnClock2100: donpcevent "Poring_Catcher::OnStart"; end; OnClock2200: donpcevent "Event_NvZ::OnStart"; end; OnClock2300: donpcevent "Poring_Hunter::OnStart"; end; //----- 11 pm Currently I just alternately activate events per hour. You can change the event time as you wish. You may choose any of the ff:
OnClock<hour><minute>: OnMinute<minute>: OnHour<hour>: On<weekday><hour><minute>: OnDay<month><day>:
I hope this helps. If you want me to add more, just PM me on an event script that needs to be updated. Thank you. ?
Compatibility is your responsibility.
No backward Compatibility Support.
Enjoy!
NOTE : If you find this useful, please click the Upvote button to motivate me to do stuffs like this ? And you are welcome!
1060 downloads
Updated
-
Item Trader - as requested
By Mabuhay
This is a reply from this post :
Can trade multiple item with success or fail rates.
// < ITEM FOR TRADE >, < AMOUNT >, < ITEM TRADED >, < AMOUNT >, < SUCCESS RATE >.. setarray .@trade, 501, 10, 502, 1, 50, // 10 red potions = 1 orange potion @ 50 % 601, 10, 902, 1, 100, // and so on.. @ 100% 701, 10, 702, 1, 75; // 75%
I will fix any old scripts that arent working as of date. Just leave me DM so I can check. I dont attend any modifications unless I am interested to add it myself.
I also work for free for the interest of many. If you have any personal request for your own personal work and asking for free fix, i will ignore you right away.
Thanks and enjoy!
309 downloads
Updated
-
Ticket Refine Script
By thunginamue
This is not mine this is sir @Euphy's script, i just tried using it and tried fixing it, im noob at scripting and anything else, but tried and fixed the script to my liking, you can add single npc for single +1 upgrade. i dont know how to say this maybe just look at screenshot :3 i just posted this because i think many ppl wants ticket refining like this or i dont know..
item + ticket = item
+4 +5 +5
does not let you refine if ur item is lower than the desirable refine..and does not let you refine if ur item and ticket is the same.
468 downloads
Submitted
-
@itemrain command
By Mabuhay
I know it exists somewhere in the forum but for the sake of lazy people searching in forum, here is @itemrain command
as what the command name says, it will make / drop items around the one who used the command on 14 cells wide ( about the size of the screen )
@item <item_id> <amount>
Items created by this command is limited to 100 only just to put a little bit of cap into it.
use at your own risk.
Compatibility is your responsibility.
468 downloads
Submitted
-
@giveitem command
By Mabuhay
Just a simple command for events or compensation reward to all online players.
@giveitem <item id> <amount> <area|map|all>
Area - ppl around your screen size
Map - ppl in the map of the invoking character
All - self explanatory
876 downloads
Updated
-
Random Option Global Functions
By Easycore
Random Option Global Functions
I have made two new global functions for Random Option:
F_GetRDMOPT_Name,<ROA_ID>
Returns the Random Option name from <ROA_ID>. (Names are based on zackdreaver's translation) F_GetRDMOPT_Value,<ROA_ID>,<VALUE>
Returns VALUE plus (+), (-) or (%) depending in the Random Option. VALUE is returned as string. Examples:
mes callfunc("F_GetRDMOPT_Name",9;)+" "+callfunc("F_GetRDMOPT_Value",9,15);
will display "MaxHP +15%"
mes callfunc("F_GetRDMOPT_Name",16;)+" "+callfunc("F_GetRDMOPT_Value",16,32);
will display "Delay after attack -32%"
767 downloads
Submitted
-
[UnOfficial] Skyfortress Drop/reroll enchantment Functions
By sader1992
README FIRST!
those are UnOfficial
there is 2 main scripts
the first one (you need to add it first to your .conf file)
SkyFortress_Functions
this have the main functions
HEADER >> (read it before you use the script)
the 2nd main file is SkyFortress_reroll
this for the reroll npc
this npc requir https://github.com/rathena/rathena/pull/4195
if you didn't apply this PR the npc will give you error!
the 3rd file SkyFortress_Test is just for test , do not use it unless you want to test and edit the script
to add the drop to your instance , you need to edit the instance script it self , as this not normal drop , it's on event kill drop.
if you have problem with the script , you can use the forum post to report it to me, and me or someone else will help you fix it.
637 downloads
Updated
-
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:
639 downloads
Updated
-
Geffen Magic Tournament Enchanter
By NotKappa
Geffen Magic Tournament armors and accessories enchanter.
Note: Magic Reflector and Revised Encyclopedia are disabled from enchanting since I'm not sure if they can be enchanted or not. Also increase healing received by 5~10% for armor is disabled since I'm not sure what's the random option for that.
Credits: kRO, iRO, NovaRO and Divine-pride
425 downloads
Updated
-
Illusion Items Enchanter
By NotKappa
Illusion items Enchanter conversion.
Note that this is converted from multiple servers, so stats and rates can vary. Stats and rates are taken from wikis/devs.
Credits: kRO, iRO, Shining-moon RO, NovaRO and Divine-Pride.
965 downloads
Submitted
-
set and get and delete Variable for Gepard
By sader1992
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; */
825 downloads
Updated
-
iRO - Ben Recycle NPC
By Emistry
Ben Recycle in Prontera allows players to turn certain equipment into Rough Elunium and Rough Oridecon.
How to use:
func_AddItem(<equipment_id>, <item1>, <amount1>, <item2>, <amount2>); // WEAPONS func_AddItem(1421, 757, 4, 756, 4); func_AddItem(1822, 757, 2, 756, 2); func_AddItem(1625, 757, 5, 756, 5); func_AddItem(1819, 757, 3, 756, 3); func_AddItem(1269, 757, 4, 756, 4); func_AddItem(1142, 757, 3, 756, 3); func_AddItem(1624, 757, 5, 756, 5); func_AddItem(1626, 757, 5, 756, 5); func_AddItem(13404, 757, 5, 756, 5); func_AddItem(13027, 757, 6, 756, 6); func_AddItem(1821, 757, 1, 756, 1); func_AddItem(1268, 757, 5, 756, 5); // ARMORS func_AddItem(2422, 757, 3, 756, 3); func_AddItem(2104, 757, 1, 756, 1); func_AddItem(5124, 757, 2, 756, 1); func_AddItem(2406, 757, 3, 756, 3); func_AddItem(5122, 757, 2, 756, 1); func_AddItem(5126, 757, 2, 756, 1); func_AddItem(2504, 757, 2, 756, 1); func_AddItem(2353, 757, 15, 756, 15); func_AddItem(2514, 757, 6, 756, 6); func_AddItem(2404, 757, 2, 756, 1); func_AddItem(2315, 757, 2, 756, 1); func_AddItem(2102, 757, 2, 756, 1); func_AddItem(2114, 757, 2, 756, 2); Additional:
// if enable shop UI (only work if items can sell to npc shop) .shop_npc$ = "ben_recycle_shop#iro";
Mirror Link: https://pastebin.com/cCBdevB5
476 downloads
Updated
-
Infinity Gauntlet - Snap
By Emistry
Spoiler Alert !!!
The following content consists of info for the recent Avengers: Endgame movie.
View and download at your own discretion, I am not responsible for anything if you're so weak heart and so easily get spoiled with such contents.
Real fans never afraid of spoiler contents!
Use at your own risk ....
Mirror Link: https://pastebin.com/6GX0LmW2
172 downloads
Updated
-
Autoloot Settings
By crazyarashi
A rather simple autoloot settings function that I made, It's made to store 10 autoloot ID, there can be more than 10 as long as you adjust it.
I made this function to store all ID in one variable rather than multiple ones.
855 downloads
Updated
-
Guild Storage & Guild Storage log npc
By sader1992
you need at least 55acdb9863382d8935d9df25e1462d5d1ebd7d54 or above
this npc let the players check the guild storage log
to access the guild storage log the player must have guild storage permission
531 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:
735 downloads
Updated
-
@restock everywhere from your storage
By Vykimo
One version of @restock. Create a list of items to restock automatically from your storage. Available everywhere
Usage :
@restock <itemid> <itemid> ... : add items to restock list @restock off : disable restocking Config :
Consume 1 coin if non VIP Player, but you can disable it. You can set maps where restocking isn't allowed.1269 downloads
Updated
-
Campfire
By Emistry
Original Topic: http://herc.ws/board/topic/16037-campfire-to-regenerate-hpsp/
Herc Script Link : https://pastebin.com/fksPdpFQ
The Idea:
Camp Fire to restore / regenerate HP & SP.
When you sit by the Camp fire, you start feeling the warmth and the comfort, so your HP & SP begin to regenerate.
How to use :
1. add the source mode provided in the script. (or here)
2. make a usable item_db with these bonus script.
callfunc("func_CreateCampFire", <range>, <duration>, <heal_rate>); // create campfire callfunc("func_UpdateCampFire", <range>, <duration>, <heal_rate>); // update the campfire duration/heal rate.
Preview:
Credits : @Dastgir & @Radian for the src mod and @Habilis for the idea
1082 downloads
Updated
-
mapusers count Functions IP/GePard
By sader1992
You need at lest rAthena 10e7035bebdbc2ec25a392ee2cf14172ecf169e5 or above! (for old rAthena you should add the pr manually!)
SCRIPT HEADER (INFO)
//===== rAthena Script ======================================= //= getgpmapunits command //= getipmapunits command //===== By: ================================================== //= Sader1992 //= Free!! // https://rathena.org/board/profile/30766-sader1992/ //===== Current Version: ===================================== //= 1.0 //===== Compatible With: ===================================== //= rAthena Project // https://github.com/sader1992/sader_scripts //===== Description: ========================================= // getgpmapunits("map"); return the number of players with the same GePard id in the given map. (You must have GePard to work!) // getipmapunits("map"); return the number of players with the same IP in the given map. //============================================================ //==== please report any error you find //============================================================ //============================================================
you should add the functions to your rAthena/npc/other/Global_Functions.txt to work (add it in that file where ever you like, no need for guide for that ?!)
Examples:
scenario ? >
you want a Warper NPC (or maybe event NPC) that allow only one player per IP in the map ?
//============================================== //NPC EXAMPLE FOR IP FUNCTION //============================================== prontera,152,183,5 script Warper IP Test 446,{ if(getipmapunits("prontera") > 0){ mes "you already have a char inside this map"; }else{ warp "prontera",152,183; } end; } //==============================================
Same as above but per GePard ID not IP
//============================================== //NPC EXAMPLE FOR GEPARD FUNCTION //============================================== prontera,155,183,5 script Warper GePard Test 446,{ if(getipmapunits("prontera") > 0){ mes "you already have a char inside this map"; }else{ warp "prontera",155,183; } end; } //==============================================
BONUS Test:
pvp warper
prontera,158,183,5 script PVP Warper IP Test 446,{ mes "would you like to teleport to the pvp map?"; if(select("yes:no") == 2) close; if(getipmapunits("pvp_n_1-1") > 0){ mes "there is another character with the same ip inside the map!"; mes "only 1 character per IP allowed in this map!"; }else{ warp "pvp_n_1-1",0,0; } end; }
365 downloads
Updated
-
Recently Browsing 0 members
- No registered users viewing this page.