Source Modifications
Source Mods & Code Snippets located here.
135 files
-
Guild Activity Logging
By Ninja
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
-
Instakill Mapflag
By Ninja
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
-
ALL monster drop item with Random Option
By nutminemz
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
-
@command pack
By rootKid
¦¦¦¦¦¦ ¦¦¦¦¦¦ ¦¦¦¦¦¦ ¦¦¦¦¦¦¦¦ ¦¦ ¦¦ ¦¦ ¦¦¦¦¦¦ ¦¦ ¦¦ ¦¦ ¦¦ ¦¦ ¦¦ ¦¦ ¦¦¦ ¦¦ ¦¦ ¦¦¦ ¦¦ ¦¦¦¦¦¦ ¦¦ ¦¦ ¦¦ ¦¦ ¦¦ ¦¦¦¦¦ ¦¦ ¦¦¦ ¦¦¦ ¦¦ ¦¦ ¦¦ ¦¦ ¦¦ ¦¦ ¦¦ ¦¦ ¦¦ ¦¦ ¦¦¦ ¦¦¦ ¦¦¦ ¦¦¦ ¦¦¦¦¦¦ ¦¦¦¦¦¦ ¦¦ ¦¦ ¦¦ ¦¦ ¦¦¦¦¦¦¦ @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
-
(HANSIP) Skill Spam Protection
By Kichi
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
-
@autopots
By goddameit
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
-
@afk with AFK Hat
By Rebel
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
-
@partybuff / @spb
By Lilith
@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
-
@AutoAttack
By goddameit
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
-
[Label] OnPCAttackMobEvent
By Zephyr
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
-
Fix to auto-close on wrong password/id for new clients
By EvilPuncker
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
-
Account Bound Items
By Xantara
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
-
[Release] Script Command *equip2
By Xantara
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
-
Block items from @item
By herenow
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
-
No @go when Player died
By EliteBlack
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
-
Reflect "Reflection damage"
By goddameit
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
-
[rAthena] & [eAthena] cell_noskill.patch
By Jaburak
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
-
@ignorebattle
By goddameit
When Someone use this command, all player in that map will not be attacked by mobs
112 downloads
Submitted
-
[Mapflag] Mobitemadder
By Zephyr
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
-
Ping ''IP address''
By goddameit
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
-
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
-
Main Chat Modification
By Cookie
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
-
No-Drop +7 or higher items
By Elliott
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
-
Advanced common drop system
By dreamunreal
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
-
Normal + VIP Storage
By Emistry
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
-
Recently Browsing 0 members
- No registered users viewing this page.