Jump to content

Source Modifications

Source Mods & Code Snippets located here.

135 files

  1. Free

    Charm item (New Code Source)

    I took a modified version of the original and fixed it for the current version of rathena 2020+, I saw that there were a lot of people asking for it, so I decided to post my diff, the project is not mine nor the code, I just fixed it for the new emulator.

    799 downloads

    Submitted

  2. 3.50 USD

    Item Use, Drop & Pickup Events

    A handy extra set of script events and variables for you to maximise your event and quest scripts!
    New Variables: DroppedItemID, DroppedItemQTY, UsedItemID, PickedItemID
    New Scripted Event Triggers: OnItemDropEvent, OnItemUseEvent, OnItemPickupEvent
    Includes 3 Test NPC scripts e.g.
    - script onusetest -1,{ end; OnItemUseEvent: dispbottom "Found item use event"; dispbottom "Using on "+ UsedItemID; switch(UsedItemID){ case 501: dispbottom "You used a Red Potion!"; break; } end; } As an example use-case, I've previously used this code in an Easter event script where each time you pickup any 1 of the 13 different eggs, specific code will run for effects, item swapping, costume changes, play sounds, etc. The possibilities are enormous!

    18 purchases   45 downloads

    Submitted

  3. Free

    Inject - Allows running dynamic scripts in running time

    This script commands allow you to "Inject" scripts inside other scripts.
    But Zell, why I want this?

    Well, you can use a script code from a SQL table! Imagine that now you can change scripts code blocks without reloading scripts direct from your database or you can even do like me where I'm building scripts from a API!

    Sample Script:

     
    prontera,150,150,5 Script Inject Test 91,{ .@test = rand(1, 100); mes "Let's test Inject"; mes "I will declare variable .@test as " + .@test + "."; mes "My npc id is " + getnpcid(0), " "; mes "[Inject Code Start]", " "; // This script text coud be loaded from a SQL table! Inject( "mes \"Running NPC is \" + getnpcid(0); " + "mes \"Value of .@test is \" + .@test; " + "next; " + ".@test = rand(200, 500); " + "mes \"Now value of .@test will be \" + .@test;" + "close2; " ); mes "[Inject Code End]", " "; mes "Inject was ok and .@test is now " + .@test; close; }  

    81 downloads

    Updated

  4. Free

    [QOL] Costume/Shadow no weight

    This small src modif make you don't worry if you have some costume items in your item_db with some weight, they'll all be calculated at 0.
    CostumeNoWeight.diff
    Make only the costume having no weight on the player
    ShadowAndCostumeNoWeight.diff
    Make costume and shadow having no weight on the player
     

    167 downloads

    Submitted

  5. Free

    [Mapflag/QOL] NoDeath_Count

    A mapflag that doesn't increment death count when a player dies. Usefull to preserve super novice bonus.

    75 downloads

    Submitted

  6. Free

    (QOL) Taekwon Mission printing % every monster killed for the mission

    A small QOL some players asked me to add.
    It justs print each time a monster is killed for the taekwon mission the % completed

    115 downloads

    Updated

  7. Free

    [Script Command] viewcondition

    This mod allows you to set some conditions to a player can see or interact with a NPC.

    Command:
    viewcondition( npc_name, int_variable_name, compare_method, value_1, { value_2 } );

    Compara Methods Avaiable:
    EVC_LESS - If player variable is < value_1
    EVC_EQUALS - if player variable is == value_1
    EVC_MORE - if player variable is  > value_1
    EVC_BETWEEN - if player variable is  >= value_1 and <= value_2
    EVC_DIFFERENT - if player variable is != value_1

    You can apply more than one condition to a npc, but if one condition fail, the npc will not be seeing by the player.

    Script Sample:

     
    new_1,55,111,5 Script Lupina#1 10078,{ mes "You can see and talk with me because your @teste variable is less than one!"; next; mes "Now, I will set @teste to 2 and you will no longe see me when goes outsight me or if use @refesh!"; close2; @teste = 2; end; OnInit: viewcondition( strnpcinfo(0), "@teste", EVC_LESS, 1 ); end; }  

    144 downloads

    Updated

  8. Free

    [Script Command] getdconst & setdconst

    First of all, yes, I know that this break the "const" concept, but I really miss "static values" in script engine.
    Yes, I know that we can use $vars but it's a lot pretty using const logic.
    If you don't know what is a "const", open your db/const.txt file
    In the end of file, you can add something like this:
    X_VALUE%TAB%1005

    And now, you can call X_VALUE in any script and the script will know that X_VALUE is not a player script, it's a """"global"""" variable, so you can call it with or without a player attached.

    And now we came to my commands.
    getdsconst allow you to get a constant dynamically like getd.

    For sample:

    .@var = getdconst( "X" + "_" + "VALUE" );
    This would return 1005.
    And now with setdconst we can change those as well.

    setdconst( "X_VALUE", 2020 );
    Remember, when you restar t your server, this constant will be 1005 again!
     
    Here another sample script:
    prontera,150,150,5 Script CommandsTest 90,{ .@const$[0] = "SWORDCLAN"; .@const$[1] = "ARCWANDCLAN"; .@const$[2] = "GOLDENMACECLAN"; for( ; .@i < getarraysize( .@const$ ); .@i++ ) mes "Contant Value of [" + .@const$[.@i] + "] is " + getdconst( .@const$[.@i] ); next; mes "I will now, change all const values to +1"; for( .@i = 0; .@i < getarraysize( .@const$ ); .@i++ ) setdconst( .@const$[.@i], getdconst( .@const$[.@i] ) + 1 ); close; }  

    33 downloads

    Submitted

  9. Free

    [Script Command] npcisnear

    This commands verify if any NPC is near the distance of a player. Can be useful for some script restrictions.
    Script Sample:
    prontera,150,150,5 Script Curious Boy 90,{ .@n$ = "[Curious Boy]"; .@distance = 5; mes .@n$; if(isnpcsnear(getcharid(0), .@distance)) mes "Sorry, I will only talk with you when no NPC is near you!"; else mes "Hi!"; close; }  

    74 downloads

    Submitted

  10. Free

    [Script Command] isselling - Discovery if a npc is selling a item by ID

    This commands verify if a npc is selling, returning 1 to yes and 0 to no.
    Its very useful to black market scripts for players who knows item id and don't want to lost time searching where items are sold.
    Obs: Didn't test the sample script, but you can have a idea in how to use.
    Sample Script:
    prontera,150,150,5 Script Who's Selling 90,{ .@n$ = "[Who is Selling]"; mes .@n$; // Its nice to put a delay in this script if you use a lot of stores in one map and in your .npc$ array // I'm using 5 seconds in this sample. if((gettimetick(2) - whosell_delay) < 5) { mes "You have to wait 5 seconds to use me again."; close; } mes "Tell me the item ID you want to know what npc's is selling it!"; input .@id; // You can test this sample with 607 ID whosell_delay = gettimetick(2); for( .@i = 1; .@i < getarraysize(.npcs$); .@i++) { .@found = isselling( getcharid(0), .npcs$[.@i], .@id ); if( .@found ) { next; mes "Ha, this item is " + getitemname( .@id ) + ", right?"; next; mes .@n$; mes "Who is selling it is " + .npcs$[.@i] + "!"; close2; showevent QTYPE_EVENT,QMARK_YELLOW,getcharid(0),.npcs$[.@i]; // Show in npc a ballon to player end; } } next; mes .@n$; mes "No npc selling it :)"; end; OnInit: setarray .npcs$[1],"Store 1","Store 2"; end; } prontera,151,150,5 shop Store 1 90,607:1000 prontera,152,150,5 shop Store 2 90,610:1000  


     

     

     

    133 downloads

    Updated

  11. Free

    @market clone update patch

    This is my updated @market clone as per this topic:
    Im currently using a sever file from December 2019. But I dont think it would not work on latest server files.
    Enjoy

    458 downloads

    Submitted

  12. Free

    Event Consumables (a Telma patch update)

    So, I decided to update this patch :
     
    However, I didnt realize that this is already available just right after I finished updating it from this :
     
    But... I gonna release this anyways... But made some modifications...
    So, what I did was I made my own consumable named 'Event'. These consumables can only be used on maps with "event_consume" mapflags.
    This patch is NOT to be diffed if you have Extended BG Pre-installed or If you are planning to install it in the future ESPECIALLY IF YOU DON'T KNOW A SINGLE THING ON SRC. This is likely for Servers who dont/wont have the Extended BG but wants to have this feature. Unless you know what you're doing. You can actually add this to Extended BG by Easycore. I intentionally coded it similarly and avoided conflicts to it for people who wants to add this but have Extended BG installed in their servers.
    Enjoy! I hope this will be to any use of any of you.
    Compatibility is your responsibility.
    No backward compatibility support.

    139 downloads

    Updated

  13. Free

    @go/@warp delay when hit - Updated

    Here is an updated @go and @warp delay when hit.

    660 downloads

    Submitted

  14. Free

    [UPDATE] +7 and above refined item no drop

    This is an update to the original post :
     
     
    and a response to this topic :
     
     
    Currently working on Git Hash : ea54670

    145 downloads

    Submitted

  15. Free

    Multilevel Range

    Tired of multilevel ON and go to level 63 by killing a poring?
    Use this to give a more real levelling experience with multilevel. Useful for highrates and to avoid abuse on Original Quests Exp.

    224 downloads

    Updated

  16. Free

    @voteleader for the Battleground

    Min votes configured: 3 // Can be changed
    Can vote on yourself: Disabled // Can be activated.

    165 downloads

    Updated

  17. Free

    PK mode if MVP is alive.

    When a mvp spawns on his natural map, the pk mode goes on, when he dies, off.
    @monster or script commands doesn't trigger.

    811 downloads

    Updated

  18. Free

    Fake Icon Stats

    This commands allow you to add fake icon stats. Right now the command does not clean the effect automatically after the time, cause who order this command want to be like this, so you can add sleep and remove the icon.

    Sample Script:
     
    prontera,150,150,5    Script    FakeIcon    90,{
        mes "[Fake Icon Stats]";
        mes "Hey.";
        switch(select("Receive Fake Icon 1 with 5 seconds (display only)","Receive Icon 2 for 10 seconds (display only)","Disable Icon 1 and 2"))
        {
            case 1:
                fakeIcon(getcharid(0),1,5000,1);
                break;
                
            case 2:
                fakeIcon(getcharid(0),2,10000,1);
                break;
                
            case 3:
                fakeIcon(getcharid(0),1,0,0);
                fakeIcon(getcharid(0),2,0,0);
                break;
        }
        close;
    }

    4490 downloads

    Submitted

  19. Free

    [SCRIPT COMMAND] Fake Player

    This modification allows you to create fake players without further using mob_avail for such behavior.

    Usage:
    .@monsterGID = fakeplayer( map, x, y, name, job_id, sex, hair_style, hair_color, weapon, shield, head_top, head_mid, head_bottom, option, cloth_color );

    1550 downloads

    Updated

  20. Free

    Sader Attendance Requirement

    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
     

    587 downloads

    Submitted

  21. 15.00 USD

    @autostore - Picked item will be sent to storage automatically

    IMPORTANT: I will announce you that there is no support advantage, no more compability updates for this file on this rAthena store. Since my account credits is stuck since June 2019. Thank you for your patronage.
     
    Type (at)autostore Choose the option Kill monster, pick item  
     

    12 purchases   42 downloads

    Updated

  22. Free

    Script command: itemlink to generate <ITEML>

    To simple generate <ITEML> string by using itemlink. <ITEML> is string that auto-parsed by client that support item link feature, when user SHIFT+Click the item or equipment.
     
    Credits:
    These people from OpenKore: lututui, exaxia, and jchcc

    772 downloads

    Updated

  23. 25.00 USD

    Stormbreaker

    Introduction
    Stormbreaker is a large modification system which adds a collection of new features, bonuses and script commands to your own rAthena server. This package is designed to augment your server with new features which can breathe new life into your gameplay, and comes with a getting started guide, a Git patch file, and some optional client resources. Stormbreaker is developed against the latest version of rAthena, and will be continually updated to the latest on a weekly basis. (Videos will be coming soon highlighting each feature.)
    Features
    This package includes the following:
    New item bonuses (83) New script commands (10) New GM commands (9) Item Bazaar Shop system Item Durability system Item Craft system Item Enchantment system Item Passive Script system Item Passive Status system More features are actively being developed and will be released in the near future.
    Item Bonuses
    All item bonuses are the same as those found on the Bonus Expansion Pack thread. If you're looking to acquire this package solely for the item bonuses, please be advised that these will be released soon for free on that thread. Stormbreaker will be updated with newer item bonuses as more are recommended.
    Script Commands
     
    Item Bazaar Shop
    The bazaar shop system functions similar to that featured in Final Fantasy XII. As a player accumulates and sells items to shops, you can configure items which become available for purchase at specialist bazaar shops by the sale of certain combinations of items. These can be items which become permanently unlocked, can be unlocked multiple times, or those which can only be purchased the once and can never be unlocked again. This feature provides a great way to reward players for farming and killing monsters, and unlocks great potential for introducing unique items and equipment available only after acquiring and selling combinations of materials.
    Item Durability

    The item durability system works much like the Witcher 3 durability for equipment. All equipment has a durability score (a percentage) which determines how much more stress it can take before breaking. As players engage in battle, their equipment will slowly degrade (completely configurable), which can lead to weakened bonuses, weakened ATK and DEF modifiers, and chances of breaking. All equipment can be repaired through special NPCs (using new script commands described above) and can also receive protection with the Chemical Protect skills (configurable.) Item durability can be configured to decrease on a fixed percentage per attack (a denomination as low as 0.0001%) or based on the amount of damage dealt/received.
    Note: For the item durability percentage to be visible as in the screenshot, this requires client version 2015-02-25aRagexeRE or later.
    Item Craft

    The item craft system uses the new refine user interface with a completely custom crafting database. Players can drag a source material and catalyst material into the refine window to be given the opportunity to craft something new. This feature isn't restricted to just equipment, but any other sort of item too! Your players could be upgrading their basic Red Potions to Orange Potions using Jellopies or Grapes, or could be upgrading their Knife[3] to a Knife[4] by combining it with a special material. The crafting database allows for a lot of flexibility, including key features like equipment being able to retain their refine level, cards, random options, and even item durability!
    Note: For the new refine interface and the crafting system, this requires client version 2016-10-12aRagexeRE or later.
    Item Enchantment
    The enchantment system similarly uses the new refine user interface to provide a beautiful and unique point for being able to upgrade equipment with random options! The custom enchantment database lets you build your own system for allowing players to add unique or powerful random options to their equipment, restricted at a per-item level. Every item supports up to a maximum of 4 different enchantment types, and can be configured with custom chance rates and costs, which can further be configured depending on the current number of enchantments already on the equipment! New server configurations let you control how many enchantments can be added to each type of equipment to add finer control. With this system, players could enchant their boring Knife with ATK + 10% by using some rare or valuable material.
    Note: For the new refine interface and the enchanting system, this requires client version 2016-10-12aRagexeRE or later.
    Item Passive Script
    The passive script system is designed to augment and empower the already powerful item database. The bespoke item passive script file lets you add new "equipment" scripts which are active while an item is stored in the players inventory! A player holding a rare coin in their miscellaneous item tab might find themselves with a constantly active HP + 5%, or perhaps they have acquired a sword which provides a permanent HIT - 30 while the item is held by the player. The system could also be used to reward players with EXP or Zeny increasing items. This system works with any existing or new items, and just needs a line adding to the file!
    Item Passive Status
    The passive status system works similar to the passive script system, except that the player receives a permanent (cannot be dispelled nor removed by death, nor cured from healing items) status effect while an item is held in their inventory. You could grant players a permanent Increase Agility effect while holding a magic feather, or perhaps afflict them with Poison while they carry some cursed tome. The passive status system is designed to improve on existing mechanics where equipments can provide permanent bonuses, with special flags indicating whether equipment provides the status only when equipped or when in the inventory.
    Support
    I intend to provide continual support with Stormbreaker by keeping the files up-to-date, on a weekly basis, with the latest hash of rAthena. Each week I will upload a new version of the Stormbreaker archive, along with any new augmentations (such as item bonuses, script commands) and bug fixes. If you encounter problems when running or using the new Stormbreaker features, please feel free to contact me directly on here, to my email address [email protected], or on our Discord server, and I will respond as soon as I am able (usually on the day, otherwise within 1-2 days.) For support on applying the Stormbreaker project to an older version of rAthena, again please contact me directly on here or on the Discord server.
    Click here to join the Discord server.
    Copyright
    Stormbreaker © Chris Copeland 2019. All rights reserved. By purchasing this package you agree that you will not share or redistribute any and all files included in the package without the express written consent of myself (Epoque, Chris Copeland), and that you will not upload this package onto any secure or unsecure file sharing websites.

    36 purchases   198 downloads

    Updated

  24. Free

    Snatch Modification

    SRC Modification of skill "RG_INTIMIDATE, Snatch".
    Teleport the player near a mob with the same id or near a monster with the same race present on the current map (if none, on random location).
    That's only a patch to apply on your rathena folder.
    Don't forget to thumbs up me if you like my content~

    95 downloads

    Updated

  25. Free

    @norecall command

    @norecall/@nr : Don't be recalled by Emergency Call skill.

    It's only a .diff file to Apply on your rAthena folder.
    I made this free release starting of the idea of @YtalloNv here : https://rathena.org/board/topic/117304-i-need-to-add-the-norecall-command-on-my-server/#comment-353203
     

    259 downloads

    Updated


×
×
  • Create New...