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

187 files

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

    ________________________________________________

    27 downloads

    Submitted

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

    67 downloads

    Updated

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

    ________________________________________________

    60 downloads

    Submitted

  4. Free

    Password on storage

    Bug Report on discord: KyoSasuke#5401

    93 downloads

    Updated

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

    730 downloads

    Submitted

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

    300 downloads

    Updated

  7. Free

    Control Barricade

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

    Kudos to llchrisll for explaining everything!

    296 downloads

    Submitted

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

    182 downloads

    Updated

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

    204 downloads

    Updated

  10. 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;
     

    279 downloads

    Updated

  11. 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.
    /* *=============================================================================| * [email protected] = Refine | [email protected] = Bonus =| * list_add("<Equip ID>,<Value>{,<Starting [email protected] for [email protected]>,[email protected]:[email protected]:[email protected]:..."); =| *=============================================================================| * Cotton_Shirt w/ +8 Starting [email protected] bonus =| * [email protected] = 8 : 1 Bonus Item/Point =| * [email protected] = 9 : 5 Bonus Item/Point =| * [email protected] >= 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; }  

    257 downloads

    Updated

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

    281 downloads

    Updated

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

    127 downloads

    Submitted

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

    223 downloads

    Submitted

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

    115 downloads

    Updated

  16. Free

    Nasagnilac Reset NPC

    A reset npc where similar to official reset npc with some customize feature like monthly free reset and event reset with schedule. The file include sql table so make sure that you add it. If there is a problem or request for the script you can contact me on the following:
    Skype: nasagnilac.leiron
    Facebook: nl073092

    66 downloads

    Updated

  17. Free

    Healer & Buffs NPC

    A npc where you can heal and buffs. There's also a settings that you can change. set .LevelPay, 60; // Maximum level for free access or else you will pay zeny based on your level. set .Price, 50; // Zeny required for heal but premium user will not require it. set .Buffs, 1; // Also buff players? (1: yes / 0: no) set .Delay, 10; // Heal delay, in seconds If there is a problem or request for the script you can contact me on the following:
    Skype: nasagnilac.leiron
    Facebook: nl073092

    275 downloads

    Updated

  18. $30.00

    PRO-Card Trader.txt

    PRO-Card Trader.txt


    This npc can exchange 10 random card to an Coin. Each card need to be different from each other.You can exchange your coin to get a chance to win a rare card! . This NPC is based on Philippine Ragnarok Online Kard Trader ( EN "Card Trader") . 

    2nd Feature of this NPC is you can have a chance to win a rare card's . 

    Easy to Configuration
     
        setarray .reward, // <item_id>,<chances rate%>;     // Add more cards with your likings     // Normal Cards: 100%     4001,100,    // Poring Card     4002,100,    // Fabre Card     // Mini Boss Cards: 30%     4174,30,    // Deviling Card     4054,30,    // Angeling Card     // MvP Cards: 1%     4399,1,        // Thanatos Card     4302,1;        // Tao Gunka Card  

    1 purchase   5 downloads

    Updated

  19. Free

    convertertrader.txt

    Elemental Converter Trader
    ______________________________________
    This is just a NPC wherein you can trade an etc item for elemental converters. 
    Features:
    • Converts an etc item(any items but etc is recommended) to elemental converter of choice.
    • You can set the amount of conversion.
    ToDoList:
    Change item requirement and amount conversion depending on your preferred.
    By downloading this script, you agree to these terms:
    • You are not allowed to redistribute this script in any way, shape, or form.
    • I still retain all rights to this script.
    • Terms above may be changed or adjusted without prior notification.
     
     

    88 downloads

    Submitted

  20. Free

    fishslicemaker.txt

    Fish Slice Maker
    ______________________________________
    This is just a NPC basically creates fishslice with prerequisite items.
    Features:
    • Creates fishslice with prerequisites. 
    • You can set the amount of conversion.
    ToDoList:
    Change item requirement and amount conversion depending on your preferred.
    By downloading this script, you agree to these terms:
    • You are not allowed to redistribute this script in any way, shape, or form.
    • I still retain all rights to this script.
    • Terms above may be changed or adjusted without prior notification.

    78 downloads

    Submitted

  21. Free

    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 [email protected] 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 [email protected],1,2,3,4,5,6,7,8,9,10,11,12; for([email protected]=0;[email protected]<getarraysize([email protected]);[email protected]++){ debugmes "" + [email protected][[email protected]]; } debugmes "================================================"; debugmes "Split and randomize the elements of [email protected] into [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] arrays"; debugmes "================================================"; F_Randomizer([email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected]); for([email protected]=0;[email protected]<getarraysize([email protected]);[email protected]++){ debugmes "[email protected] " + [email protected][[email protected]]; } for([email protected]=0;[email protected]<getarraysize([email protected]);[email protected]++){ debugmes "[email protected] " + [email protected][[email protected]]; } for([email protected]=0;[email protected]<getarraysize([email protected]);[email protected]++){ debugmes "[email protected] " + [email protected][[email protected]]; } for([email protected]=0;[email protected]<getarraysize([email protected]);[email protected]++){ debugmes "[email protected] " + [email protected][[email protected]]; } for([email protected]=0;[email protected]<getarraysize([email protected]);[email protected]++){ debugmes "[email protected] " + [email protected][[email protected]]; } for([email protected]=0;[email protected]<getarraysize([email protected]);[email protected]++){ debugmes "[email protected] " + [email protected][[email protected]]; } debugmes "=================================================================================="; end; }  
    the best place to put the function in is at the end of rathena/npc/other/Global_Functions.txt file

    31 downloads

    Submitted

  22. Free

    Junk Seller

    Junk Seller will scan your inventory and sell everything at the same time. 
    The list of items will display in a window so the player has a chance to confirm. 
    If the player has the skill "Overcharge" it will add zeny to the sale amount accordingly. 
    INSTALLATION AND CUSTOMISATION:
    1. SQL DB required for personal blacklist, run this command to create the necessary table in your DB:
    CREATE TABLE `junkerblacklist` ( `char_id` varchar(100) DEFAULT NULL, `item_name` varchar(100) DEFAULT NULL, `item_id` varchar(100) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; 2. Add junkseller.txt to whichever directory you store your NPCs, and update scripts_custom.conf. 
    3. Modify this array at line 54 to configure your permanent global blacklist. 
    setarray @Blacklist[0], 4. Uncomment / Comment the code at lines 541 and 544 if you would like the script to include Cards. 
    // Checks if item is an Etc item (3) // Comment this line and uncomment the line below if you want Cards to be included if(getiteminfo([email protected],2) == 3){ // Comment the above line and uncomment this line if you want Cards to be included //if(getiteminfo([email protected],2) == 3 || getiteminfo([email protected],2) == 6){ 5. Modify [email protected] to 0 at line 39 if you don't want the message displaying how many items were removed by the blacklist system. 
    [email protected] = 1; // Shows how many items were removed by the blacklist system.  

    132 downloads

    Updated

  23. Free

    @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 [email protected]$ and [email protected]$
    F_GET_REAL_OWNER_NAME(<"string table">,<id>) get the name for id

    218 downloads

    Updated

  24. Free

    Dazzu's Guild Package NPC with optional Gepard support

    Please do not remove my signature from the file, claim my work as your own, nor sell this script. Please provide credit where it's due. I may or may not update this script to address below limitation in the future.
    If you like this script, please drop a like! 🥰
     
    Description:
    The code flow is similar to benching's guild package npc script and uses his SQL CREATE TABLE statements. However, this script is written from the ground up and supports optional checks based on either IP address or Gepard's unique id. By default, ONLY IP checks are enabled. Any code blocks that uses get_unique_ip has been commented out. However, there are instructions on how to enable unique id related functions provided in the changelogs section of the script and this thread. Allows either IP or unique id based checks. IP check is used by default. Please refer to the initialization section on how to toggle between checking modes. This script allows a guild and all her guild members to receive a predetermined package through redeeming a code. Only requires the guild master to interact with the NPC. Package code is generated by an authorized game master (authorization is based on the minimum gm level set in the script). Package code can only be generated by a game master. The code is communicated by the game master to the guild master which is then redeemed. Both guild master and his/her members will receive the same package contents. Supplied equipment is account-bound. Multiple codes can be generated and claimed for a guild. However, claim restrictions are enforced by either IP or unique id checks. Performs (some optional) checks. Claim is cancelled and certain messages are displayed if one of these checks fail: Weight Limit - Displays name of members whose weight limit can not accommodate the package contents. Repeat claim per unique IP (Optional) - Display names of a member's alternate character who has already made a previous claim (using account id and ip address/unique id). Multi-client claim (Optional) - Display names of a member's characters they are controlling through multi-clienting on a single system (using ip address or unique id). All members online requirements (Optional) - Self explanatory display. Optional checks can be toggled within the script. Requirement:
    Gepard Shield if using unique id checks. Initialization:
    Variables are set under the OnInit label (line 331) Set .disableMultiLogging to true to restrict players from claiming a guild package when they are logged into multiple clients in the same guild on a single machine. Set .disableRepeatClaim to true to restrict players from claiming a guild package when they have claimed a package previously. Set .allMembersOnline to true to require all guild members be online when claiming the package. If set to false, only online guild members will receive the package. .useGepard - stores and uses unique ids for checks. If set to false, IP address is used instead. (default false). IMPORTANT: If possible, do not change after claims are made, otherwise players may be able to re-claim or unable to first-time claim. Please refer to the limitations section for additional information. .codeLength - length of the guild package code (default 10). .minMembers - minimum number of guild members to redeem the code. .minGMLevel - minimum Game Master level to access the GM menu. .package[0] - array of the guild package Item IDs. .packwgt[0] - array that denotes the amount of items to be dispensed that corresponds to the item IDs in .package Limitations:
    Unique id check works well through VPN. However, attempts to bypass checks using a Virtual Machine has not been tested. Code generation is manually done by a game master. This was done by design, however it is an obvious limitation. Toggling between gepard and ip checks after some use may have the following effects: Players with previous claim may be able to perform a reclaim (IP to gepard toggle). Players with NO previous claim may NOT be able to perform a claim if someone else under the same IP has made a claim. (Gepard to IP toggle). To comply with rAthena submission standards, all unique id calls have been commented out and replaced with charip calls instead. However, instructions to easily enable unique id calls have been included in the script. Please refer to the changelogs section on how to perform this change.  
     
     

    253 downloads

    Updated

  25. Free

    ROM Safe Refiner

    Just sharing my own safe refiner NPC that mimics the Safe Refinement System of ROM:EL. As the item increases its refinement level, the materials required will grow exponentially as it requires the copy of the item you are refining based on its next refinement level. The NPC can only refine the item if its next refinement process is not safe anymore for Hollgrehenn.
     
    Configurations:
    [email protected]_name$ = Name of your NPC
    [email protected] = The required zeny for refining.

    196 downloads

    Updated


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.