Jump to content

Source Modifications

Source Mods & Code Snippets located here.

135 files

  1. Free

    Guild Activity Logging

    About This File
    Tested and working with: c212b2ed053d60855ce584a0368d98cff94c5059
    This source edit is intended for my experiments. Feel free to have fun with it but I wouldn't be held accountable for damages that it may create for your server.
    No support will be given other than the specified rAthena version above.
    Purpose
    To improve the Guild Activity Logging of rAthena. 
    It works for the following Guild Logging activities:
    1. Guild Creation
    2. Guild Breakage
    3. Guild Member Addition
    4. Guild Member Removal/Leave
    5. Guild Alliance Formation
    6. Guild Alliance Breakage
    7. Guild Antagonist Formation
    8. Guild Antagonist Breakage
    9. Guild Castle Occupancy
    10. Guild Castle Abandonment
    Usage
    1. Tracking guild activities of a character
    SELECT origin, target, `activity`, COUNT(`activity`) as "Times Done" FROM interlog WHERE origin = "this" or target = "this" GROUP BY `activity`   2. Tracking a guild's WoE Castle occupancy rate SELECT castle_id, COUNT(`activity`) as "Times Done" FROM interlog WHERE `origin` = "ThisGuild" and `activity` like "%Occupied%" GROUP BY castle_id  

    107 downloads

    Updated

  2. Free

    Instakill Mapflag

    Tested and working with: 3e625dfdf9868690e36677701cbebe1b379a7485
    This source edit is intended for my experiments. Feel free to have fun with it but I wouldn't be held accountable for damages that it may create for your server.
    No support will be given other than the specified rAthena version above.
    Purpose
    Create a mapflag for instakill. As it would suggest, all damages done within the map will be amplified to max damage, thus instakilling the target.
    It works both for the following use cases:
    1. Player attacking a Monster
    2. Player attacking another Player
    3. Monster attacking a Player
    4. Monster attacking another monster
    Where "Monster" can be a normal mob or a Homunculus
    Usage
    In-game
    @mapflag instakill [0|1] Script as mapflag
    prontera<tab>mapflag<tab>instakill Script as used in setmapflag
    setmapflag .EventMap$, mf_instakill; Example
    Tag, You're Dead Script
    Source In Action
    Source file
     
    1. I will retain all the rights in all the scripts that I create
    2. Client cannot redistribute nor resell the scripts that I provide
    3. No refunds
    4. Maintenance of scripts does not include modification of the original intended behavior. If the script has been broken due to prior modification of the original behavior then it would mean a new service request
    5. Modification of the original intended behavior would mean a new service request and would go through the process mentioned above
    2. This can be redistributed anywhere in any form.
    3. This shall not be in any way be branded for sale anywhere in any form.
    4. Maintenance will not be provided. Feel free to use the support section.
    5. See #3.
    6. Ninja has the right to post all my free services to the release section and make it available for everybody to use
    7. Maintenance of scripts will be provide free of charge
    8. I will not keep any sensitive information from your server nor any credentials that you lend me
    9. I will backup all my server files before I use this.
    10. Ninja will not be liable in any way at any time.
    11. The moment I use anything from here, I accept all the terms of services stated above.
    Where the script author is Ninja (https://rathena.org/board/profile/7005-ninja/).

    82 downloads

    Updated

  3. Free

    ALL monster drop item with Random Option

    ALL equipment drop by monster has chance of getting Random-Option.
    Like MU online every item you found have some (random) option .. now in rathena.
    /////////////
    News update
    28/04/2107
    due to #2065 one of the requirement was merged in to rathena master so
    we no longer need any source modification for those who using latest release.
    /////////////////
    UPDATE
    V.1.0 - 3 random option in each item.
    V.1.1 - has chance of getting 0-3 option in stead of fixed 3option.
    V.1.2 - drop chance is lower according to option quantity. Now 3option is rare (not yet applied to weapon).
             - Fixed error message.
             
    pre-re user still getting error message refer to Invalid monster ID.
    but random-drop-system work fine with this error.
    get in touch with next update.
    /////////
    Requirement (for athena before  bf2461f  28/04/2107)
    Initial release item random option for monster drop #2065 ////////////////
    Installation
    replace the following files.
    db/re(pre-re)/item_randomopt_group.txt
    db/re(pre-re)/mob_drop.txt

    make sure your   /db/re(pre-re)/item_randomopt_db.txt is 201 lines (200 sloc)  16.7 KB.
    add following 6 line at the end of /db/const.txt

    RDMOPTG_WEP    1
    RDMOPTG_EQARM    2
    RDMOPTG_EQSH    3
    RDMOPTG_EQGAR    4
    RDMOPTG_EQFOOT    5
    RDMOPTG_EQACC    6
     
    //////////////////
    Option Description (DEFAULT)
    ///////////
    Drop rate (DEFAULT)
    same rate as you can see in db/re/item_db.txt
    customize your droprate by editing db/re(pre-re)/mob_drop.txt
    /////////
     
    Feel free to PM me
     

    3237 downloads

    Updated

  4. 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; }  

    281 downloads

    Updated

  5. Free

    (HANSIP) Skill Spam Protection

    Info & History

    Info:
    HANSIP Protection is a src modification to make sure NDG,speed hack, WPE Users still follow the rules.

    History:
    This is a simple code, which we have made since long to minimize the NDG User.
    The first way to solve NDG, we add a cooldown for skills that dosn't has a fixed cooldown (Sonic Blow, Cross Impact, etc).

    But the player doesn't allowed to do double cast.
    Finaly we made this code that minimize the NDG users, but still keep the original feature that is double cast for some skills (Sonic Blow, Cross Impact, etc).



    Implementation & Feature

    Implementation:
    Download the file Apply manual "rA - Hansip Protection.diff" to your src. Paste "battle_conf.txt" to conf/import/ Don't forget to recompile your server. All done

    Features:
    The user still able to use double SB / CI / etc. You may switch on and off. Very simple Skill Packet Spam detector

    .

    Note:

    2013 client already detect modified file (after act delay).
    so i've tested this using WPE.
    i got the number from comparing with and without *cheat.



    Supported Skills:Bash Sonic Blow Arrow Vulcan Double Strave Bowling Bash Ninja Kouenka Ninja Hyousensou Jupitel Thunder Cross Impact Dragon Breath Fire & Water

    Change Log:
    1.1
    -Add archer double strave skill

    1.2
    -Add support for some skills

    1.3
    -Change name from NDG to Hansip
    -Add skill packet spam detector & punishment
    -Support PRE-RE

    1717 downloads

    Updated

  6. Free

    @autopots

    Preview :
    http://bit.ly/XzIQJj

    When HP/SP lower than you set, it will auto use that item.
    Command :
    PS :
    Test and create on rA 17132

    1422 downloads

    Updated

  7. Free

    @afk with AFK Hat

    Using @afk with AFK Hat. (Notice Board)
    I just modified it and put the AFK Hat effect.
    Changelog:
    v1.0 - Initial Release - Need to open a chat room to use @afk command and it is disabled to use in prontera
    v1.1 - No need to create a chat room to use @afk command as suggested by Mysterious (disabled to use in prontera)
    v1.2 (eA and rA) - Added a config in misc.conf. afk_timeout: 0 (0 is default) Tested with the latest rathena - Revision 17156
    v1.3 (rA ONLY) - Working with latest revision 17306 - Now you can't use @afk when you are dead.

    2969 downloads

    Updated

  8. 10.00 USD

    @partybuff / @spb

    @partybuff (@spb) can display party member's special buffs in party list (Alt+Z)
    Buffs are:
    Look like
    [BAFS+]Player name
    Watch on YouTube
    http://www.youtube.com/watch?v=YS4G18DoqUY&feature=youtu.be

    45 purchases   113 downloads

    Updated

  9. Free

    @AutoAttack

    Idea : http://rathena.org/b...k-close-enemys/
    Preview :
    Use this command you can turn on or off auto-attack.
    It will auto-search 9x9 and attack the near one
    if there is no monster in area, you will auto-walk randomly.

    2358 downloads

    Updated

  10. Free

    [Label] OnPCAttackMobEvent

    This label is invoked everytime a player attacks in a certain map flagged with "attackmobevent".
    Sintax:

    OnPCAttackMobEvent: (...)
    Mapflag:
    mapname<TAB>mapflag<TAB>attackmobevent
    It works ONLY in the maps with the mapflag "attackmobevent".

    488 downloads

    Submitted

  11. Free

    Fix to auto-close on wrong password/id for new clients

    Well, the code is kinda simple and since most people don't know about it yet, I'm releasing a diff for those who want it, it is just a piece of code copied from char.c and pasted into login.c to make the client send "rejected from the server" on wrong password, so it will not close anymore, and you can edit your msgstringtable.txt to show "wrong password/rejected from the server", hope you enjoy.

    605 downloads

    Updated

  12. Free

    Account Bound Items

    Information
    This system would allow (non-stackable, non-pet-egg) items to be bounded onto a player's account. This means that the bounded items cannot be traded, dropped, auctioned, nor mailed. But, they can be storaged so that it can be shared among the characters of that account.
    Features:
    - Item coloration to distinguish bounded items and non-bounded ones (see screenshot)
    - Script commands (getitembound, getitembound2, equipisbounded) to create and check for bounded items
    - At commands (@itembound, @itembound2) to create bounded items
    - New group permission (can_trade_bounded) to allow the group to distribute these bounded items if enabled (mostly just for High GMs / Admins)
    - Changes to the SQL files to track bounded items. This would effect cart, inventory, and storage databases.
    Tested on rAthena revision 17294 (using v1.5.1).
    Script Command Documentations
    At Commands Documentations
    Known Issues
    - When moving a bounded item to storage, item colouration is gone. However, re-opening the storage or re-logging will fix this issue.1
    - When moving a bounded item to the cart inventory, item colouration is gone. However, re-logging will fix this issue.1
    1 If you are able to find these packets (ie. PACKET_ZC_ADD_ITEM_TO_STORE3 and/or PACKET_ZC_ADD_ITEM_TO_CART3), please let me know!
    Credits
    Created by @Xantara
    Popularized by Zephyrus
    Idea by Ragnarok Online
    License

    This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
    Like my work?
    Rate/vote this download
    Rep up my support topic post


    Do not mirror without my consent.

    1081 downloads

    Updated

  13. Free

    [Release] Script Command *equip2

    Information
    This command will equip a specific item on the invoking character.
    It will only equip if the player is online and the item is in his/her inventory.
    It does not bypass the item properties such as equippable, player job class, and level requirements.
    Works best with the getitem2 script command.
    Syntax

    equip2 <item id>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>{,<account ID>};
    Documentation
    Example Snippet:

    // Receive a +2 Quadruple Lucky Sword (4 poring cards) getitem2 1101,1,1,2,0,4001,4001,4001,4001; // Equip the specific item on the character who has the account ID of 2000000 equip2 1101,2,0,4001,4001,4001,4001,2000000;
    Credits
    Created by Xantara
    Requested by kevinchen (here)

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

    168 downloads

    Updated

  14. Free

    Block items from @item

    A mod to prevent some items from being get on @item, good for full pvp servers.
    You can add the item, and the min gm level to bypass
    Instructions:
    1 - Add the item_block_atcmd.txt to the db/ folder
    2 - Apply the diffs.
    How to use:
    Just add line by line each item to be blocked.
    Item_Id, Min_gmlv_to_bypass

    417 downloads

    Updated

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

    399 downloads

    Submitted

  16. Free

    Reflect "Reflection damage"

    preview : http://bit.ly/169dTxy
    -
    When you attack someone and he give you damage cause reflection,
    you will also give him a reflection damage if you're wearing some equip which will do this

    213 downloads

    Submitted

  17. 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;}

    365 downloads

    Submitted

  18. Free

    @ignorebattle

    When Someone use this command, all player in that map will not be attacked by mobs

    112 downloads

    Submitted

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

    366 downloads

    Updated

  20. Free

    Ping ''IP address''

    Preview :

    !! WARNING !!
    I don't know anything about ping.c (in this patch file)
    and I have no idea what will happen after install this.
    I only know this command will do and return message about ping answer.
    Main function author : http://goo.gl/tZ4fu
    Modify : Goddameit
    .
    This script command will return a string to let you know what is answer
    about this server use 'ping' to specify IP address

    ping("IP adress")
    .
    SAMPLE : http://pastebin.com/download.php?i=tWnafFc9

    449 downloads

    Updated

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

    280 downloads

    Updated

  22. Free

    Main Chat Modification

    This modification will allow the user to set a main chat delay (in seconds) for flood protection and a main chat color (in hexadecimal color format).
    The user will apply the patch and re-compile. Then, in /rAthenaroot/conf/battle/client.conf refer to the main_chat_delay and main_chat_color sections.

    401 downloads

    Submitted

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

    401 downloads

    Submitted

  24. Free

    Advanced common drop system

    Ind's Special item drop system can't do it.
    so. I base on Ind's work to finish this to solve xazax's probrom.
    this patch. base on eAthena r15049 trunk.
    that is all,. enjoy it.

    519 downloads

    Updated

  25. Free

    Normal + VIP Storage

    Enable Account with GM Level 20 and above ( default ) to have extra slot for Storage.
    the GM Level are configurable in the diff..
    Original Post Link
    http://www.eathena.w...dpost&p=1496268
    made by AnnieRuru at eAthena

    570 downloads

    Updated


×
×
  • Create New...