Jump to content

Source Modifications

Source Mods & Code Snippets located here.

146 files

  1. Free

    Bg consume

    Recode of Brian's Item consumption mapflag.
    It allows to use BG consumables only in Battleground under bg_consume mapflag.
    More information here:
    http://rathena.org/board/topic/97556-bg-consume-items-tlema-comes-to-rathena/
    Compatible with: 20ff69e

    412 downloads

    Updated

  2. Free

    No-Drop +7 or higher items

    A small request I responded to from the eAthena forums ages ago, it's very simple and even though the last time it was tested was on eAthena r14410, there shouldn't be any problems.
    I used msg slot "520" but again this can be changed, as well as the refine rate of dropping too. Someone with no src knowledge can easily configure it. Enjoy.

    409 downloads

    Submitted

  3. More information about "Keitenai Resistance Capping"

    Free

    Keitenai Resistance Capping

    File Name: Keitenai_Delay_System
    File Submitter: keitenai
    File Submitted: 27 Nov 2017
    File Category: Src Modification
    Content Author: keitenai
    Information:
          Resistance capping applies to item effects which have "bSubEle, bSubSize, bSubRace2, bSubRace, bSubClass, bNearAtkDef, and bLongAtkDef".
          This modification can be set to less than 100 resistance cap to avoid too resistance heal, or set over 100 upto max of 200 if the dev would like to enable resistance heal.
    Features:
    Configurable Maximum resistance capping. Resistance capping can be applied to different resistance bonus types with different values. Resistance capping is applied to all items with resistance bonus scripts. By buying this scr modification code, you agree to these terms:
    You are not allowed to redistribute this src code modification in any way, shape, or form. Chargeback scams are not tolerated and will get you punished on rAthena. I @Keitenai still retain all rights to this src modification. Terms above may be changed or adjusted without prior notification.  

    409 downloads

    Updated

  4. Free

    No @go when Player died

    Information
    This simple modification that players will not allow to use @go when they died in a battle.
    User may apply the patch and re-compile.
    Mirror
    No @go when players died

    405 downloads

    Submitted

  5. More information about "guildgetitem2 & guildgetitembound2"

    Free

    guildgetitem2 & guildgetitembound2

    This command sends items to the guild storage without the need of server restart.
    Example:
    prontera,100,100,5 script guildgetitem2 100,{ //guildgetitem2 <item id>,<amount>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>{,<account ID>}; switch ( guildgetitem2(1218, 1, 1, 1, 10, 4305, 0, 0, 0) ) { case 1: dispbottom "Item added to your guild storage."; end; case 0: dispbottom "Unknown Error."; break; case -1: dispbottom "Cannot open both storages."; break; case -2: dispbottom "Player doesn't have a guild."; break; case -3: dispbottom "Player doesn't have a guild storage."; break; case -4: dispbottom "Guild storage being used by someone else."; break; case -5: dispbottom "Guild storage is full."; break; } end; }   Works much like getitem2 and it uses the attached players guildstorage.

    389 downloads

    Updated

  6. Free

    [rAthena] & [eAthena] cell_noskill.patch

    This mod won't allow you to cast any skills on the selected cells.
    This mod helps alot if you have pvp maps like UFC Arena and other PvP Colosseum.
    Tested/Compatible with rAthena SVN r17325 and eAthena SVN.
    Sample Script:
    - script Function#noskill -1,{OnWhisperGlobal:OnInit: setcell "prontera",147,174,164,162,cell_noskill,1; end;}

    386 downloads

    Submitted

  7. More information about "OnPCLootEvent"

    Free

    OnPCLootEvent

    New NPC Label
    OnPCLootEvent: This label triggers when a player picks up an item from the ground in a map marked with the 'lootevent' mapflag. This works with @autoloot and @alootid, this does not work for items given by script. When in a party with shared loot, only the player who looted the item from the ground will trigger this label. The information of the item picked up will be stored in an array called '@looted_data', check the script_commands.txt for the order of the data stored.
    Usage Sample: lootevent_sample.txt

    383 downloads

    Updated

  8. More information about "[Mapflag] Mobitemadder"

    Free

    [Mapflag] Mobitemadder

    This mapflag sets more drops for monsters at the map that it's been attached.
    Sintax:

    mapname<TAB>mapflag<TAB>mobitemadder<TAB>mob_id,item_id,drop_per{,item_id,drop_per(...)}
    You can set up to ~50 more items for mobs.
    "drop_per" is the chance of drop, from 1 (0,01%) to 10000 (100%).
    There's an example at the screenshot, I setted a Yggdrasil Berry with 100% of chance for the Poring at prt_fild08 map.
    You can set a lot of mobs, but you have to set more mapflags for your maps.

    372 downloads

    Updated

  9. More information about "Hide announcements/broadcasts command @blockbc"

    Free

    Hide announcements/broadcasts command @blockbc

    Hi,

    This is a response from this post : 
     
    Requirements:
    Basic knowledge how to apply diff on your server files. How to use the command:
    @blockbc <param>.
    Parameters:
    PARTY - block incoming broadcasts from party. GUILD - block incoming broadcasts from guild. BG - block incoming broadcasts from battleground. CLAN - block incoming broadcasts from clan. MAP - block all incoming broadcasts from the current map. ALL - block all incoming broadcasts. @unblockbc. - as per the command name suggest
    Disclaimer:
    This is tested on latest server files as of the day it was posted. May or may not work on older server files. Keeping this up-to-date or vice-versa won't be my responsibility. Compatibility is your responsibility. Use at your own risk.

    367 downloads

    Submitted

  10. More information about "Sonic Blow and Arrow Vulcan v3.patch for 2018/12/19 Up Client"

    Free

    Sonic Blow and Arrow Vulcan v3.patch for 2018/12/19 Up Client

    thanks to ckx_, syon, gidz, sadre
     
    Video_2024_08_04-5_edit_0.webm

    326 downloads

    Updated

  11. More information about "Hotkey Scripts"

    Free

    Hotkey Scripts

    New Script Commands
    gethotkeys({<char_id>}); updatehotkey(<type>,<id>,<lv>,<pos>{,<flag>,<char_id>}); clearhotkeys({<char_id>}); These are just simple commands, that gets, sets, and clears your hotkeys(skill bar).
    Usage Sample: hotkey_sample.txt

    303 downloads

    Updated

  12. More information about "@command pack"

    Free

    @command pack

    ¦¦¦¦¦¦ ¦¦¦¦¦¦ ¦¦¦¦¦¦ ¦¦¦¦¦¦¦¦ ¦¦ ¦¦ ¦¦ ¦¦¦¦¦¦ ¦¦ ¦¦ ¦¦ ¦¦ ¦¦ ¦¦ ¦¦ ¦¦¦ ¦¦ ¦¦ ¦¦¦ ¦¦ ¦¦¦¦¦¦ ¦¦ ¦¦ ¦¦ ¦¦ ¦¦ ¦¦¦¦¦ ¦¦ ¦¦¦ ¦¦¦ ¦¦ ¦¦ ¦¦ ¦¦ ¦¦ ¦¦ ¦¦ ¦¦ ¦¦ ¦¦ ¦¦¦ ¦¦¦ ¦¦¦ ¦¦¦ ¦¦¦¦¦¦ ¦¦¦¦¦¦ ¦¦ ¦¦ ¦¦ ¦¦ ¦¦¦¦¦¦¦ @command pack. (@runlabel, @allchat, @emo, @allemo, @alleffect) //////////////////////////////////////////////////////////////////////////////////////////////// [src/map/atcommand.c] is the only file needed to be editted. Set your account group permissions as desired. You're assumed to know how to implement these. However, if you have further questions, feel free to contact me. //////////////////////////////////////////////////////////////////////////////////////////////// ACMD_DEF(runlabel), //rootKid ACMD_DEF(allchat), //rootKid ACMD_DEF(emo), //rootKid ACMD_DEF(allemo), //rootKid ACMD_DEF(alleffect), //rootKid /*========================================== * @runlabel by [rootKid] * Makes invoker run an 'On' label from within an npc * @runlabel Healer#OnMinute44 *------------------------------------------*/ ACMD_FUNC(runlabel) { char label_output[256],npcname[100],label[100]; nullpo_retr(-1, sd); if (!message || !*message) { sprintf(atcmd_output, "Usage: @runlabel <npc name>, <label>"); clif_displaymessage(fd, atcmd_output); return -1; } if (sscanf(message, "%23[^,], %99[^\n]", npcname, label) < 2) { clif_displaymessage(fd, "Please, enter the correct info (usage: @runlabel <npc name>, <label>)."); return -1; } if (npc_name2id(npcname) != NULL) { sprintf(label_output, "%s::%s", npcname, label); npc_event( sd, label_output, 0 ); clif_displaymessage(fd, "Label was triggered."); return 0; } else { clif_displaymessage(fd, "NPC doesn't exist."); return -1; } } /*========================================== * @allchat by [rootKid] * Makes all players, except the invoker, send out a desired message * eg. @allchat blahblah *------------------------------------------*/ ACMD_FUNC(allchat) { struct map_session_data* iter_sd; struct s_mapiterator* iter; char tempmes[200]; iter = mapit_getallusers(); nullpo_retr(-1, sd); memset(tempmes, '\0', sizeof(tempmes)); memset(atcmd_output, '\0', sizeof(atcmd_output)); if (!message || !*message || sscanf(message, "%199[^\n]", tempmes) < 0) { clif_displaymessage(fd, "Please, enter a message (usage: @me <message>)."); return -1; } for (iter_sd = (TBL_PC*)mapit_first(iter); mapit_exists(iter); iter_sd = (TBL_PC*)mapit_next(iter)) if (iter_sd != sd){ //Triggers on all players except the one who initiates it. sprintf(atcmd_output, "%s : %s", iter_sd->status.name, tempmes); // *%s %s* clif_disp_overhead(&iter_sd->bl, atcmd_output); } mapit_free(iter); return 0; } /*========================================== * @emo by [rootKid] * Makes invoker send out an emote * @emo 3 *------------------------------------------*/ ACMD_FUNC(emo) { if (!message || !*message) { clif_displaymessage(fd, "Usage: @emo 1-81"); return -1; } clif_emotion(&sd->bl, atoi(message)); return 0; } /*========================================== * @allemo by [rootKid] * Makes all players, except the invoker, send out a desired emote * eg. @allemo 1 *------------------------------------------*/ ACMD_FUNC(allemo) { struct map_session_data* iter_sd; struct s_mapiterator* iter; iter = mapit_getallusers(); if (!message || !*message) { clif_displaymessage(fd, "Usage: @emo 1-81"); return -1; } for (iter_sd = (TBL_PC*)mapit_first(iter); mapit_exists(iter); iter_sd = (TBL_PC*)mapit_next(iter)) if (iter_sd != sd){ //Triggers on all players except the one who initiates it. clif_emotion(&iter_sd->bl, atoi(message)); } mapit_free(iter); return 0; } /*========================================== * @alleffect by [rootKid] * Makes all players, except the invoker, send out a desired special effect * eg. @alleffect 89 *------------------------------------------*/ ACMD_FUNC(alleffect) { struct map_session_data* iter_sd; struct s_mapiterator* iter; int type = 0, flag = 0; iter = mapit_getallusers(); nullpo_retr(-1, sd); if (!message || !*message || sscanf(message, "%d", &type) < 1) { clif_displaymessage(fd, "Please, enter an effect number (usage: @effect <effect number>)."); return -1; } for (iter_sd = (TBL_PC*)mapit_first(iter); mapit_exists(iter); iter_sd = (TBL_PC*)mapit_next(iter)) if (iter_sd != sd){ //Triggers on all players except the one who initiates it. clif_specialeffect(&iter_sd->bl, type, (send_target)flag); } mapit_free(iter); return 0; }  

    298 downloads

    Updated

  13. More information about "Admin's Custom Broadcast"

    Free

    Admin's Custom Broadcast

    That Mod adds a Custom Admin's Broadcast with a Custom Label:
    The format to this command is: @adm <message>
    For Example: If you write @adm Hello World, that's my Custom Command for rAthena.
    The result is: [Admin] Name: Hello World, that's my Custom Command for rAthena.
    If you want modify the broadcast's color you need change the hexadecimal color in that line for the color that you like it, in this case from Admin's Custom Label:
    0x99CCFF
    If you want modify the Label, you need to change the label intro [ ], in this case is Admin:
    "[Admin] %s : %s", sd->status.name, message);
    What's the New?
    Added GM's Custom Broadcast
    Added Super User's Custom Broadcast
    Used revision 17132
    Bug fixed

    293 downloads

    Updated

  14. Free

    No @command while talking NPC

    This mod is inspired by HERE and disable_items
    I made this mod to prevent using @command while talking to NPC.
    The default is prevent @command while talking to NPC
    to allow @command while talking to npc.

    enablecommand; // To allow @command while talking to NPC
    This is first version, Bug is normal.
    My suggestion
    -add setting in conf file

    291 downloads

    Submitted

  15. More information about "Account bound achievement"

    Free

    Account bound achievement

    This patch has been made for the June 2018 version of rAthena. It doesn't work with the latest version of rAthena. I do not provide support anymore for it.
    This patch allows you to create account OR character bound achievement instead of only character bound achievement.
    - Rewards are available once per account for account bound achievement
    - All characters and newly created characters on the account will get the unlocked titles from account bound achievement
    I provide you the patch and a README.txt which explains you how to use it. You also need to add a column in the achievement table. I provide you the SQL commands as well.
    BEFORE to apply any patch, make a save of the current state of your server.
    If you have issue applying this patch, I will provide support for free for you to have it working and if your emulator is not too old to handle this (have at least the classic achievement working).
    Exemple of yml achievement account bound (the one in the screen):
      - ID: 200000
        Bound: "Account"
        Group: "AG_GOAL_LEVEL"
        Name: "Acquire the first aura!!!!"
        Condition: " BaseLevel >= 99 "
        Reward:
          ItemID: 12549
          Script: " specialeffect2 EF_BLESSING; sc_start SC_BLESSING,30000,10; "
          TitleID: 1000
        Score: 50
    By buying this patch, you agree to these terms:
    - You are not allowed to redistribute this script in any way, shape, or form.
    - Chargeback scams are not tolerated and will get you punished on rAthena.
    - I still retain all rights to this script.
    - Terms above may be changed or adjusted without prior notification.

    286 downloads

    Updated

  16. Free

    [Config] Min/Max Boss Equip Drop Rates

    Information
    Separates the item_drop_equip min and max configurations for normal and boss mobs in conf/battle/drops.conf
    Ie. New config settings: item_drop_equip_min and item_drop_equip_max
    Documentation
    Credits
    Created by Xantara
    Requested by GoldGloryRO

    This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
    Do not mirror without my consent.

    283 downloads

    Submitted

  17. Free

    @novendingboards / @novenders

    Request: @nndsl
    Post: http://rathena.org/board/topic/80231-notrade/#entry187456
    See on YouTube:
    @novendingboards
    http://www.youtube.com/watch?v=sHIT1pRSQZU&feature=youtu.be
    @novenders
    http://www.youtube.com/watch?v=1UajUvlzAAc&feature=youtu.be
    Enjoy

    280 downloads

    Updated

  18. More information about "@AutoBuyAmmo"

    Free

    @AutoBuyAmmo

    Preview:

    -----------------------------------------------------
    After You use @autobuyammo to active this system,
    you will auto-buy some ammo when it is going run out.

    275 downloads

    Updated

  19. More information about "@norecall command"

    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
     

    273 downloads

    Updated

  20. More information about "AnyMapDrops"

    Free

    AnyMapDrops

    This mod made in map_drops.yml now allows you to add drops globally (without specifying a map), I also added a parameter where the added item can go directly to the player's inventory if there is space.
    Example of use ( db\import\map_drops.yml )
    Header: Type: MAP_DROP_DB Version: 2 Body: - Map: ANY GlobalDrops: - Index: 0 Item: Union_Token Rate: 50000 DirectInventory: true - Index: 1 Item: Flower Rate: 100000 SpecificDrops: - Monster: Fabre Drops: - Index: 0 Item: White_Gold_Coin Rate: 50000 DirectInventory: true - Index: 1 Item: Izidor Rate: 50000 - Monster: Poring Drops: - Index: 0 Item: Crystal_Jewel__ Rate: 50000 Note 1: To be valid across all maps, set the map name to ANY.
    Note 2: The new parameter DirectInventory ( false | true ) allows the item to go directly to the inventory.
    Note 3: I created 2 new mapflags (nomapdrops and mapdrops), the first is self-explanatory (does not drop any items from map_drops 😅), the second will be effective for instances, as now map_drops does not drop items in instances, so just apply the second mapflag on the instance (in the instance maps) to make it work again.
      Example of use:
    OnInstanceInit: setmapflag instance_mapname("1@nyd"),mf_mapdrops; setmapflag instance_mapname("2@nyd"),mf_mapdrops;
    Next updates I will add a parameter to mapdrops.yml if you want the item to be dropped in instances too instead of having to use the mapdrops mapflag.
     

    273 downloads

    Updated

  21. More information about "Glicko-2 rating system - Now on rAthena"

    Free

    Glicko-2 rating system - Now on rAthena

    This source edit provides two script commands for you to get and sets rating of a player, and adjust them relative to another player after two of them battled.
    This implementation uses Glicko-2 rating system, an improvement of Elo system.
    If you still have no idea what you could do with this, this source mod is not for you.
    You can also get the code on GitHub.
    Licenses:
    The rAthena implementation of Glicko2 itself fell under the GNU GPLv3 license that rAthena uses.
    Glicko2 library by Taylor Petrick:
    tldr of the license here.

    267 downloads

    Updated

  22. More information about "Max Trap Control"

    Free

    Max Trap Control

    This mod allows you to control the number of traps that the player can use.
    conf/battle/skill.conf
    // Max Trap [Hyroshima] // Functionality to control the number of active traps. // Note: // skill_max_trap > Controls the number of individual active trap skills that were not been to defined parameter ActiveInstance in skill_db.yml // global_max_trap > Controls the maximum active trap skills for all skill traps (listed in skill.cpp -> trap_skill_id), this option overrides skill_max_trap if the definer is smaller than it //- // skill_max_trap: 0 (disabled) // global_max_trap: 0 (disabled) //- skill_max_trap: 0 global_max_trap: 0 the option skill_max_trap only affects skills that do not have the parameter ActiveInstance in skill_db.yml the option global_max_trap affects all trap skills mentioned above in the code box, the skills are listed in the function as I also inform in the description of the code box above.  
    Note: i am making 2 diff files available:
    _A = Closest to current revision. _B = A little older compared to the current review As there have been some changes to how some functions receive/send parameters, I will try to maintain this standard when sending diff files.
     

    263 downloads

    Updated

  23. More information about "Usefull Status Icons (EC, Bragi, Pneuma, Sunset, Idun,...)"

    12.00 USD

    Usefull Status Icons (EC, Bragi, Pneuma, Sunset, Idun,...)

    Easy for the player and good looking.
    The pack contain source modification + icons made by me (with the color palette which reminds the skill).
    6 usefull main icons availables :
    Emergency Call Cooldown Pneuma Bragi Don't forget me Assassin of the Sunset Apple of the idun DEMO Video for Emergency Call :
     

    53 purchases   258 downloads

    Updated

  24. More information about "DuplicateCreate and DuplicateRemove command"

    Free

    DuplicateCreate and DuplicateRemove command

    Apply the patch manually
    These commands allow you to create duplicates at run time.

    duplicatecreate("sourcename", "targetnameshown", "targetnamehidden", "targetmap", targetx, targety, targetdir{, targetspriteid{, targetxs, targetys}});
    duplicateremove("npcname");

    258 downloads

    Updated

  25. More information about "Race AntiSkill"

    Free

    Race AntiSkill

    ======== Compatible ==========
    Compatible With rAthena, other emulator just PM me
    I made this code in purpose to event
    ======== How To Use ==========
    example:
    1002,PORING,Poring,Poring,1,50,0,2,1,1,7,10,0,5,1,1,1,0,6,30,10,12,1,3,21,0x83,..;
    change to
    1002,PORING,Poring,Poring,1,50,0,2,1,1,7,10,0,5,1,1,1,0,6,30,10,12,1,13,21,0x83,...;
    And your poring will immune again Skill (offensives).
    Note:
    3 = Race Plant
    13 = Race Anti Skill
    ======== Suggestion ==========
    Suggestions are welcome.

    254 downloads

    Updated

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...