-
Posts
1689 -
Joined
-
Last visited
-
Days Won
76
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Files posted by sader1992
-
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; */
814 downloads
Updated
-
Sader's Other Dimension Tree Of Savior
By sader1992 in Games, Events, Quests
What Included :
a small map for the system
the script
what you should put in the instance db (you are free to change the id!)
Description:
if you play Tree Of Savior , you might know The Other Dimension.
The main idea is the player can join The Other Dimension it's a solo instance
he can join as much as he want , the Goal is to reach the Highest Stage impossible in 20 min or until he die!
in Tree Of Savior The Other Dimension is one stage monsters and the 2nd stage boss
endless (i didn't finish it before but the idea is to not finish it!)
The rewards are sent to the mail at the end of the week
see the config to edit it (search for OnInit)
in Tree Of Savior the rewards are coins that you get each week
you can do that and activate the shop option
there is 1 array for the items id and 2 array for the counts
the first count array is for any Participant
the other count array is if the player was the first in his class and the Participants from his class is more than .MiniParticipants
you can block classes , or even make the monsters per class (Check Add for more info)
there is a rank option to check the players's max stage per classes
there is no drop nor exp in the system!
i Added 40 stage for testing and as example for you , just remove it all and build your own!
the stages i added has no balance! add it to what best for your server.
i suggest making +100 stage , make sure that no player can reach the final stage but
make it really hard not impossible!!
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.
752 downloads
Updated
-
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/
52 downloads
Updated
-
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/
1326 downloads
Updated
-
Customize your iteminfo with import
By sader1992 in Client Resources
Version 2 Information:
now support more then 2 iteminfo , you can check line 17 to add as much as you want!
IInfo = {"System.import_iteminfo","System.kro_iteminfo5","System.kro_iteminfo4","System.kro_iteminfo3","System.kro_iteminfo2","System.kro_iteminfo1","System.kro_iteminfo"} now it's much much much faster for big files!
remove functions.lua
move url functions to the iteminfo itself
2 Big files loading test :
this test is not loading in the client , but loading in the debugger!
If you are new to this >
Details:
this an example and template on how you Customize your iteminfo
read the ReadMe!! file before you ask anything
this work as the import folders in rathena (if you don't know what i mean than i suggest you use rathena search or google)
ALL THE FILES MUST BE .lua !!!
the way it work:
you add your custom and edited items in the import iteminfo file
you add kro iteminfo file
you add the server url in the function file
the client will read the iteminfo import first than the kro iteminfo
than you can update your kro iteminfo at anytime you need without any edit to it
without the need to re-add your custom and edited items to a new kro iteminfo
the kro_iteminfo included is from https://github.com/zackdreaver/ROenglishRE (which is old , I suggest you use the one from https://github.com/llchrisll/ROenglishRE)
this file is added for example on how you use it
I suggest you get the last iteminfo after you make sure there is no error!
I would highly suggest you check out his great project every time you want to update your iteminfo!
Please report any error in the forum post not in the PM , Thanks.
1598 downloads
Updated
-
Ragnarök Login Background Generator
By sader1992 in Client Tools
resize , convert and slice the image to fit Ragnarok Login Background
Drag and drop the image you want onto the exe application.
Do not double click the application, just drag and drop the image onto the application.
A 'data' folder will be created next to the image (not the application unless they are in the same folder).
You can add that folder as it is in your '.grf' file.
This application requires .Net Framework 4.7.2
I know there is other tools, however it didn't work for me, and I am bored of debugging every time I want to create a login background ?
Source Code: https://github.com/sader1992/Sader-Ragnarok-Login-Background
https://sader1992.com/
1390 downloads
Updated
-
@petstats command
By sader1992 in Source Modifications
this command will show you the pet stats
see the screenshot for more info
you can add it inside /rAthena/src/map/atcommand.cpp or if you use old rathena add it at /rAthena/src/map/atcommand.c file
add it like you add any new atcommand
and recompile
436 downloads
Updated
-
sader's Garment Files Generator
By sader1992 in Spriting & Paletting Tools
how it work :
it make data folder and copy the Garment files in it and rename them
since Garment need to renamed on the name of every classes boy and girl
you will need :
main spirit file, main act file, drop spirit file, drop act file, item bmp, collection bmp
in Version 2 ,you will have 2 files , boys_list.txt and girls_list.txt , in it you will have a list of all the classes in the game (up to before the Summoner Update) , you can add any new class there.
the files will be named with Korean
at the place where the program is it will create the data folder
inside it all the files after it done
keep in mind that you need to edit spriterobename.lua/spriterobename.lub , spriterobeid.lua/spriterobeid.lub and transparentItem.lua/transparentItem.lub
iteminfo.lua/iteminfo.lub [<ItemID>] = { unidentifiedDisplayName = "<unidentified InGame Name>", unidentifiedResourceName = "<unidentified_File_Name>", unidentifiedDescriptionName = { "Description", "^ffffff_^000000", "Weight: ^7777777^000000", }, identifiedDisplayName = = "<InGame Name>", identifiedResourceName = "<File_Name>", identifiedDescriptionName = { "Description", "^ffffff_^000000", "Weight: ^7777777^000000", }, slotCount = 0, ClassNum = <ViewID> }, spriterobename.lua/spriterobename.lub RobeNameTable = { [SPRITE_ROBE_IDs.ROBE_<File_Name>] = "<File_Name>" } spriterobeid.lua/spriterobeid.lub SPRITE_ROBE_IDs = { ROBE_<File_Name> = <ViewID> } transparentItem.lua/transparentItem.lub transparentItemlist = { { <ViewID>, 255, 255, 25500 }, }
Source code: https://github.com/sader1992/Garment_Files_Generator
My Website: https://sader1992.com/
Contact me for Errors
1841 downloads
Updated
-
sader's hunting quest
By sader1992 in Games, Events, Quests
This system is simple
the player choose the categories, he gets a hunting quest to kill a monster (random monster from the list that you put in the config)
when he complete the quest , he will get a exp/job exp and if you want you can add items to the reward too
and he will get cooldown , he can do more then 1 categories at the time
you can add as much as you want categories/monsters
the quest are ether account base or character based , it's up to you (seethe config at the end of the script)
the quests not for party , if you want it to work with parties , you need to edit it your self
in version 5 of the script , a full rewrite what changed the configuration completely
you can now add as much as you want categories following this example:
AddCata(<"name">,<.var>,<mini level>,<max level>,<cooldown in hours>,<base exp reward>,<job exp reward>,<point reward>,<ITEM ID>,<COUNT>{,<ITEM ID>,<COUNT>{,<ITEM ID>,<COUNT>}}) AddCata("Normal",.Normal,25,75,5,10000,1000,100); you can add as much as you want monsters in each categories following this example:
AddMob(<.var>,<mob id>,<min count>,<max count>); AddMob(.Normal,1002,150,150);
1500 downloads
Updated
-
[Not For Sell 2020-10-22] Sader's Renewal Mode [PRE-RE Only]
By sader1992 in Source Modifications
[Not For Sell anymore , after rAthena item YAML update 2020-10-22]
You can do it your self in less then 60 seconds in the new YAML update!
quest here rathena/quest_db.yml at master · rathena/rathena (github.com)
skills here rathena/skill_db.yml at master · rathena/rathena (github.com)
items here rathena/item_db.yml at master · rathena/rathena (github.com)
mob coming soon
if you already did buy this file , you can download it , however if you use the latest rathena , this file does not support that
it's easy to do what my mod does , in yml , you don't need this files anyway if you use the latest rathena
which mean , you don't need this mod anymore
License :
by downloading this file you are agree on the following:
i will Back Up my server before using this file. i will use this file for my own private server only , not for a group of servers . i will never share this file with anyone . i will never upload this file to public and i wont leave it on shared storage . i will report any bugs or errors to sader1992 . all the rights retain to sader1992 . Charge-back scams are not tolerated and will get you punished on rAthena. Terms above may be changed or adjusted without prior notification .
21 purchases 111 downloads
Updated
-
F_Randomizer randomize and split array into arrays
this function can be used to randomize and split thr first array passed in to it to the other arrays
Warning! the main array size must be divided by the count of the other arrays
for example , you have .@main size 4, you should not send 3 arrays cuz 4/3 = 1 and 1 left , it will fail!
the example npc from the photo is included in the file
also here it is
- script Randomizer_test -1,{ OnInit: debugmes "================================================"; setarray .@main,1,2,3,4,5,6,7,8,9,10,11,12; for(.@i=0;.@i<getarraysize(.@main);.@i++){ debugmes "" + .@main[.@i]; } debugmes "================================================"; debugmes "Split and randomize the elements of .@main into .@a .@b .@c .@d .@e .@f .@g arrays"; debugmes "================================================"; F_Randomizer(.@main,.@a,.@b,.@c,.@e,.@f,.@g); for(.@i=0;.@i<getarraysize(.@a);.@i++){ debugmes ".@a " + .@a[.@i]; } for(.@i=0;.@i<getarraysize(.@b);.@i++){ debugmes ".@b " + .@b[.@i]; } for(.@i=0;.@i<getarraysize(.@c);.@i++){ debugmes ".@c " + .@c[.@i]; } for(.@i=0;.@i<getarraysize(.@e);.@i++){ debugmes ".@e " + .@e[.@i]; } for(.@i=0;.@i<getarraysize(.@f);.@i++){ debugmes ".@f " + .@f[.@i]; } for(.@i=0;.@i<getarraysize(.@g);.@i++){ debugmes ".@g " + .@g[.@i]; } debugmes "=================================================================================="; end; }
the best place to put the function in is at the end of rathena/npc/other/Global_Functions.txt file
60 downloads
Submitted
-
@AnalyzeItem count item in your server
@aitem this command allows you to check how many of the item in the server
command @aitem2 allows you to check also who have the items
@aitem is fast, but @aitem2 will take some time to finish
the time depend on how big your database is!
Keep in mind that this script work with sql , so if you got an item you will need to wait xtime(default 30 sec) to save in sql so you can see it with the command (or relogin or any act in the server that force you data to be saved , it's all depends on your server setting and your usage)
you should wait until the command is done , do not logout/talk to npc/ anything until you get the results!
'@AnalyzeItem' return the count of the item in the server.
'@AnalyzeItem2' return the count of the item and the lst of who have it in the server (take more time).
USAGE:
@AnalyzeItem <ITEM_ID>
@AnalyzeItem2 <ITEM_ID>
OR
@AItem <ITEM_ID>
@AItem2 <ITEM_ID>
Wait until you get the results in your chat
to add more tables (like other storages) check the array .@tables$ and .@id$
F_GET_REAL_OWNER_NAME(<"string table">,<id>) get the name for id
518 downloads
Updated
-
Sader's File Verifier
By sader1992 in Client Tools
Sader's Files Verifier
Version 2.0.2: Adding get_information.php with it you can generate the information.txt directly in your webhost use it carefully DO NOT ALLOW IT TO BE PUBLICLY ACCESSIBLE!!!!!!!! you can change the file name or put a password, or create a cron job for it change '$verify_dir' to the dir of your files. change the '$informationfile' to the name of your information file. the information file will be created in the same dir as the php file. Version 2.0.1: Adding Pre-Compiled Version so Visual Studio is not needed if you only want it to run without any customization . Version 2.0: Adding Design . Adding support for Multiple folder layer .
Adding Pre-Compiled Version
pre_compiled_generator.zip
no need for visual studio , you just need to fill out the information and generate the file >> it will build Sader Files Verifier.exe and get_information.exe in the directory you run the program from
this how it look
an application that check the files you want to check and download if they are missing or corrupt
this program in C# , Visual Studio 2019 , and need .Net 4.5 (you can lower the version if you put some work in to it)
https://github.com/sader1992/sader_files_verifier
Video on how to setup (slow it down if you can't follow my steps) [This video with the non design version 1.0 but it's the same thing]
this file made for Ragnarok private servers community
you should not add the data.grf and rdata.grf as files as the player better just re-download the full client again
do not add your custom.grf as you will edit it every update , unless you are planing to generate new information file every update
same thing for your .dat from Thor Patcher don't add it
if you have custom.grf that you will never change with the updates , you can add it i would recommend that
you better not add files that you update them a lot like iteminfo.lua , unless you are planning to update the information file and the files in the webhost every time you change it!
DO NOT ADD THE PROGRAM IT SELF TO THE information FILE!!!
this to do list i may or may not do it , however you are free to do it your self!
TODO:
Encrypt information.txt
Compress uploaded files and decompress after download
294 downloads
Updated
-
sader's Enchantment NPC
Note: it's recommended to not use All-In-One scripts like this one , it's better if you create a npc that does only what you want from it!
Information:
with this script you can add any item and any ore to enchant in exchange of zeny/items.
read the configuration carefully
the configuration start at line 238
to remove example: Armor you need to delete Armor and EQI_ARMOR
if you want to remove the weapon tab you may want to remove the shield tab too
etc
I did plan to rewrite this script , however I backed out of it
the script work the way it is
I have no plan to rewrite it, and I am impressed by my self writing this script with too many config
If I rewrite this now i would spend 99% of the time just preparing the new config , so i don't see any point of rewriting it
yes the script could be written better , but it's not worth it.
for any error contact me plz
for faster update https://github.com/sader1992/sader_scripts
2142 downloads
Updated
-
sader's Monster Mode Generator
By sader1992 in Server Managers/Editors
this application help you calculate the monster mode
for more info about the monster mode
https://github.com/rathena/rathena/blob/master/doc/mob_db_mode_list.txt
Update v2.0:
this update only for rAthena +2016
support sql , support reverse result , add reset button
Contact me for Errors
https://github.com/sader1992/sader_scripts
899 downloads
Updated
-
[UnOfficial] Skyfortress Drop/reroll enchantment Functions
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.
631 downloads
Updated
-
Sader Attendance Requirement
By sader1992 in Source Modifications
this patch make the player must have a variable true to claim his attendance reward
the variable is
#Attendance_YYYYMMDD ofc the variable change each day
this will allow you to create a script to make for example a quest that the player must do every day to claim the attendance
like for example the player must kill 500 monster before he can claim his attendance
or must gather items
or must be x level
or must player x amount of time in the day so he can claim the reward
of all the above
the file include an information script file
that have 2 function , one to set the variable and one to get the variable value (if you want to use them , just add them to your rathena/npc/other/Global_Functions.txt)
it also include 2 example quests for you to get some inspiration to create your own script
TODO: create function for gepard
633 downloads
Submitted
-
Guild Storage & Guild Storage log npc
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
513 downloads
Updated
-
TreeOfSavior Tombstone With Numbers MiniGame
By sader1992 in Games, Events, Quests
script header
//===== rAthena Script ======================================= //= Tree Of Savior 'Tombstone With Numbers' //===== By: ================================================== //= Sader1992 //https://rathena.org/board/profile/30766-sader1992/ //https://github.com/sader1992/sader_scripts //= Email [email protected] //===== Compatible With: ===================================== //= rAthena Project //============================================================ //= Variables Info: //= 'COOLDOWN_TOMBSTONE_WITH_NUMBERS' the cool-down timer //============================================================ //= Description: //= This NPC is in a lot of tree of savior maps //= with deferent attempt number and deferent rage //= the rewards normally buff/items //= the NPC cool-down on winning is 20min and on losing is none //= if you want more than 1 copy from this NPC you need to use deferent variable for each NPC , or else they will share the same cool-down. //============================================================
406 downloads
Submitted
-
Sader's Account/Guild Buff Rental
buff rental
2 options (menu for each option)
account option = you rent the buff for your own account
guild option where the guild leader can rent a buff for all his guild
you rent the buff for x time
in this time you can get the buff from the buffer npc anytime you want as long as the rent time did not end
you can add the guild buffs and the account buffs to your normal healer so the players only talk to the healer to get all the buffs they rent
the players can disable buffs they already rent or their guild rent and enable them again via the manage option in the npc so if they don't want a kind of buff they can disable it without problem
if there is no buffs for the account buffs the npc will say to the player `this service not available yet!` when choosing the account option // same thing for the guild option
for guild option only guild leader can use it and only the guild leader can buy buffs for his guild in the guild option
V2 Changes:
you can now use item as requirement to rent the buff > the item amount will be removed from the player.
you can now use a variable as requirement for renting a buff > like cash points.
adding an option to Extend the rent time for the buff.
no better explain that giving you the file header
//===== rAthena Script ======================================= //= Paid Script //= sader's Buff Rental Npc //===== By: ================================================== //= Sader1992 //https://rathena.org/board/profile/30766-sader1992/ //= Email [email protected] //===== Compatible With: ===================================== //= rAthena Project //============================================================ //= Version 2.0 //============================================================ //= Support only sc_start and specialeffect2 (sc_start2-3-4 not supported) /*============================================================ !!!!!! WORNING !!!!!! DO NOT CHANGE/DELETE THE BUFF ORDER AFTER YOU ADD THEM OR ELSE YOUR PLAYERS WHO RENT IT WILL GET THE NEXT ONE IN ORDER You Can edit add delete what ever you want before you put the npc to the players. You can add more at the end if you want but do not change the ORDER after the players rent from the npc. //================== How To Add A Buff ===================== Go down to 'OnInit:' lebal you will see something like this .VariableName$: the variable name that the player would see in the npc message . .VariableID$: the variable it self. .Acc_Extend_Option: For Account. .Gld_Extend_Option: For Guild. true = enabled | false = disabled this for if the player want to Extend the buff rent time while he already have time left. AddBuffs(<TYPE>,<SC_ID>,<"Buff_Name">,<SC_LEVEL>,<SC_TIME(in seconds)>,<RENT_TIME(in days)>,<ZENY_PRICE>,<ITEM_ID>,<ITEM_COUNT>,<VARIABLE_AMMOUNT_PRICE>,<Effect_ID>) TYPE : 1 = Account Buffs || 2 = Guild Buffs SC_ID: is the Stat ID YOU can see all the status in this file rAthena/src/map/status.hpp Buff_Name: the buff name is what the player see in the menus (string) SC_LEVEL: is the status level ( the buff level ) SC_TIME: this is the buff duration in Seconds RENT_TIME: the rent tile for the buff in Days ZENY_PRICE: the buff rent price in Zeny. if not you can put 0. ITEM_ID: if you want an item requirement cost for the buff here you put the item id. if not you can put 0. ITEM_COUNT: the item count requirement for the item id above. VARIABLE_AMMOUNT_PRICE: if you want i variable cost for the buff , put the amount , the variable name is .VariableName$ .VariableID$ see the read above to know more. if not you can put 0. Effect_ID: The effect that will play on the charcter when get the buff use 0 if you don't want it you can see all the effects in this file rAthena/doc/effect_list.txt Example: AddBuffs(1,30,"Blessing",10,1200,1,500000,512,10,50,42); 1 = Account Buff "BLESSING" = the name that the player see 30 = the stat ID of SC_BLESSING 10 = the level 1200 = duration 20 minutes 1 = 1 days rent time 500000 = 500000 zeny price 512 = THE APPLE ID 10 = the apple count required 50 = the amount of points required (in case of .VariableID$ = "#CASHPOINTS"; than it would be 50 cash points) 42 = the effect id of EF_BLESSING to Add the buffs to your Own healer just add this line at the end of your healer for Account Buffs doevent "SaderBuffRental::OnAccBuffs"; for Guild Buffs doevent "SaderBuffRental::OnGldBuffs"; */ //============================================================
and the video
License :
by downloading this file you are agree on the following:
i will Back Up my server before using this file. i will use this file for my own private server only , not for a group of servers . i will never share this file with anyone . i will never upload this file to public and i wont leave it on shared storage . i will report any bugs or errors to sader1992 . all the rights retain to sader1992 . Charge-back scams are not tolerated and will get you punished on rAthena. The Script supported but don't Expect me to be 24/24 7/7 support . Terms above may be changed or adjusted without prior notification .
10 purchases 28 downloads
Updated
-
mapusers count Functions IP/GePard
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; }
362 downloads
Updated
-
sader's Vote Manager (support Gepard or IP)
//===== rAthena Script ======================================= //= saders Vote Manager //===== By: ================================================== //= Sader1992 //https://rathena.org/board/profile/30766-sader1992/ //===== Current Version: ===================================== //= 1.0 //===== Compatible With: ===================================== //= rAthena Project //https://github.com/sader1992/sader_scripts //===== Description: ========================================= //==== GEPARD OR IP (NOT BOTH!) [SEE THE LINES UNDER THE NPC NAME TO ENABLE ONE AND DISABLE ANOTHER!] //==== vote npc , you can add up to 5 options for each vote and you can add multiple votes //==== test it before using it so you know how it work //==== if you use 'false' as an option the option would be empty so you can use less than 5 options //==== [email protected] //============================================================ //==== I DON'T SUPPORT FREE SCRIPTS ON MY PM , IF YOU HAVE QUESTION YOU CAN POST AT THE TOPIC IN RATHENA! //============================================================
374 downloads
Updated
-
Sader's MvP Rank
this script need
https://github.com/rathena/rathena/commit/151c8476afb3adf7901bf2efc66086edc25a0d79
or above to work
this rank system work on the mvp drop log
if the log not enabled the npc wont work
the rank update every hour
you can use @rankupdate to update the rank
717 downloads
Updated
-
who4 command script for gepard
this only for GePard
this command allow you to see how many players per PC connected to the server
something like this
if someone have for example 2 account opened
the first named name1 and 2nd name2
it will show
(the unique id from gepard) + name1
name2 wont be shown in the list
and the number of players found is the number of the unique ids that connected to the server
so maybe @who3 have 9999 players and @who4 have 10 players mean there is 10 PCs connected to the server no more
321 downloads
Updated
-
sader's Level Up Reward Job/Base
Level Up Reward Job/Base
config
LevelUpReward(1,<base level>,<job id>,<zeny>,<item id>,<count>,<item id>,<count>,<item id>,<count>,etc); LevelUpReward(2,<job level>,<job id>,<zeny>,<item id>,<count>,<item id>,<count>,<item id>,<count>,etc); Example: LevelUpReward(1,5,1,999,1002,5,1005,2); //give 999 zeny 5 1002 and 2 1005 to Swordman (job id 1) when he level up to base level 5 LevelUpReward(2,10,1,999,1002,5,1005,2); //give 999 zeny 5 1002 and 2 1005 to Swordman (job id 1) when he level up to job level 10 header
//===== rAthena Script ======================================= //= saders LvUpRewards //===== 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: ========================================= //==== level up rewards //==== if the player is over he can use @LevelUpReward command //==== to get the rewards //============================================================ //==== please report any error you find //============================================================ //============================================================
646 downloads
Submitted