Source Modifications
Source Mods & Code Snippets located here.
146 files
-
[Skill] Coup de Grace
By goddameit
When you use this, it will give you 100% critical.
Preview :
skill_db set :
998,0,6,4,0,0x3,-1,5,1,yes,0,0,0,magic,0, DOTA_COUPDEGRACE,Coup de Grace
skill_require_db set :
998,0,0,10,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
skill_cast_db set :
998,0,0,0,5000,0,30000,0
Add new skill (Clinet) :
http://rathena.org/wiki/Adding_new_skills#XRay_support
http://rathena.org/wiki/Adding_new_skills#Renewal.2FNon-Xray_Support
133 downloads
Submitted
-
[Script Command] isselling - Discovery if a npc is selling a item by ID
By Zell
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
146 downloads
Updated
-
bonus bXDefReturn
By Easycore
bonus bXDefReturn
Add resistances against return damages.
::Structure::
bonus bPhysicalDefReturn,n; +n% damage reduction against physical reflect attack
bonus bMagicalDefReturn,n; +n% damage reduction against magical reflect attack
::Video::
206 downloads
Updated
-
Item "allowed" restriction
By Anubis-K
With this mapflag you say where a certain item is allowed
Example:
seting:
prontera mapflag customevent 1
and
500,1
item id 500 just can be used in prontera.
More info here.
http://rathena.org/board/topic/97437-item-event-mapflag/
Compatible with: 20ff69e
137 downloads
Updated
-
Command MesClose
By LyDe
Command used in the scripts of NPCs whose ultimate goal is to unite the two commands,Mes and Close, an example down:
prontera,150,150,5<TAB>script<TAB>Testing Command<TAB>748,{ mes "[Testing Command]"; mesclose "Testing command MesClose"; }
This command will open a window of speech and the Close button appears immediately.
79 downloads
Submitted
-
@go/@warp delay when hit - Updated
By Mabuhay
Here is an updated @go and @warp delay when hit.
743 downloads
Submitted
-
Stores Hom & Merc SC duration, Scripts: homexp, hom_heal, hom_sc_start
By Cydh
New Script Commands
homexp <exp>{,<char_id>}; based on idea on https://rathena.org/board/topic/115769-getexp-for-homunculus/ hom_heal <hp>,<sp>{,<char_id>}; hom_sc_start <type>,<tick>,<val1>,<val2>,<val3>,<val4>{,<char_id>}; Edited Script Commands
mercenary_sc_start <type>,<tick>,<val1>,<val2>,<val3>,<val4>{,<char_id>}; Feature added
Stores SC Datas for Mercenary and Homunculus to covers Issue: 3070 (assumed Mercenary and Homunculus are always char bound)
Important, don't forget to execute the SQL upgrade (included in .diff file)
ALTER TABLE `sc_data` ADD COLUMN `bl_type` VARCHAR(3) NOT NULL DEFAULT '1'; Sample NPC homscript.txt
PS: The screenshots are just random pics
161 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/).
86 downloads
Updated
-
Display Battle Ground information (@bginfo), Display the BG settings you made for your server!
By Aeromesi
Atcommand @bginfo displays the flee penalty, long, short, weapon, and magic rates all in one command.
232 downloads
Submitted
-
@at with afk hat very easy Modify
By systemD2540
Inside file have Notice_Board .spr .act and image item for some one No have in data kRO Offcial
*** Only use for autotrade you can modify New @afk Just need some more from the old version.
473 downloads
Submitted
-
Fixed Cast and Delay Adjustment Mapflag
By Akinari
This mapflag modification allows you to set a mapflag to reduce fixed cast time and delay by a percentage placed after the mapflag. I made this for a server I ran for awhile and used it specifically to reduce cast time and delay on standard (Non PvP or GvG) maps. It gives the game a quicker pace, without forcing you to modify a set config that changes the whole server. It's great for events, PvP, PvM... just about anything you can think of since you can modify this to your heart's content between maps.
Example:prontera mapflag pvmcast 50 // Any player who goes to map 'prontera' has a 50% reduction in fixed cast time and delay
This modification is dynamic, so you should be able to go between any map and have the correct reduction applied when necessary. Please test before releasing in a production server as I have ported it with a few different features in the latest GIT compared to what I use to have it set as.
Also note the modification only adjusts fixed cast delay, it does not change variable cast time. This means it will only work in RENEWAL as well. Also, feel free to modify and re-release if you add some extra functionality to it.
179 downloads
Submitted
-
Inject - Allows running dynamic scripts in running time
By Zell
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; }
98 downloads
Updated
-
No @command while talking NPC
By Kichi
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
-
@hidepet / @hidepetall commands
By Daegaladh
@hidepet allows to hide all pets except the player's, whereas @hidepetall hides all pets, including the player's.
This mod also allows to set a default parameter in battle_conf, just add
hide_pet: 1 To set all pets hidden except the player's, or 2 for all pets period.
476 downloads
Updated
-
Multilevel Range
By Chun3
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.
245 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
405 downloads
Submitted
-
DuplicateCreate and DuplicateRemove command
By Zell
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
-
Drop Rate Seprator
By Rayan
Firstly ,
This mod is totally based on xantara's patch.
I HAVE NO CREADITS AT ALL FOR THIS.
I JUST USED MY BRAIN A LITTLE AND DID IT.
everyone having even little knowledge of src can do it.
just uploading it for other who are unknown to src can actually get a proper Droprate correction.
This file would seprate boss/miniboss equip and card droprate from normal monsters, so that you can set min/max values with
exact parameters.
THIS FILE IS TESTED. so if anything goes wrong , its your fault.
BACKUP BEFORE YOU APPLY!!
again...ALL CREDITS TO XANTARA.
LICENSED UNDER a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
Do not mirror without XANTARA's consent.
ORIGNAL TOPIC :http://rathena.org/board/files/file/2241-config-minmax-boss-equip-drop-rates/
P.S just do it mannaully ,auto-patch might not work.
203 downloads
Submitted
-
Snatch Modification
By Vykimo
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~
102 downloads
Updated
-
[QOL] Costume/Shadow no weight
By Kreustoo
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
180 downloads
Submitted
-
@sann (Custom Broadcast Command)
The commands is @sann (contraction of staff announced), but you can use 3 types of sintaxis (because was add in the atcommand_eathena.conf 2 alias).
The sintaxis is:
@sann
@astaff
@staff
What's new in versión 3.1?
And auto detect what group belongs the GM and will add their label; all this using whatever you want in the sintaxis. So, if you'll use @sann, astaff or @staff the result will be the same.
Note: Don't remove the credits, please
156 downloads
Submitted
-
Script Command: getrandmob()
By Akinari
Another quick package up of a small command I've had lying around for a long time. Grabs a random monster from one of the branch databases. Useful for hunter quests, disguise events, and anything else you can think of. Uses database stored in memory, so it's faster and more efficient than running SQL queries and doesn't require you to use SQL dbs for items and mobs.
/*==========================================
* Fetches a random mob_id
* getrandmob(num,type);
*
* type: Where to fetch from:
* 0: dead branch list
* 1: poring list
* 2: bloody branch list
* num: Mob level to check against (0 = all)
*------------------------------------------*/
To add, simply place the files into the src/custom folder. If you already use those files, add the new code into your existing populated files and do a clean make.
173 downloads
Updated
-
[rAthena] & [eAthena] nopub.patch
By Jaburak
This mod hides the chat boards ingame.
Tested/Compatible with rAthena SVN r17324 and eAthena SVN.
Idea Credited To: http://rathena.org/board/topic/80276-novendingboards-novenders/
162 downloads
Submitted
-
Script command: Dynprompt
By Talis
Works like prompt(), but lets you specify return values by adding a pipe symbol.
Examples:
dynprompt("Menu Entry");
Return Value: 1
@menu: 1
@menustr$: Menu Entry
@menunum: 1
dynprompt("^EE0000Menu Entry^000000|Test");
Return Value: 1
@menu: 1
@menustr$: Test
@menunum: 1
dynprompt("Shazam|5 Shazam");
Return Value: 5
@menu: 1
@menustr$: 5 Shazam
@menunum: 5
Script example:
// Dynprompt usage - Advanced example// Probably the best way to use thisfunction script dynprompt_sample3 { // The real power of dynprompt is that you can specify the return value for each menu element. // The return value is a atoi of the string following the pipe | - the full string can be accessed through @menustr$ // The atoi val can also be accessed through @menunum // If you want to use both number & string, the number has to come first else atoi won't work // Use the pipe character | to denote the return value - best to work with numbers, but strings work as well set .@menu$[0], "^009900Hello!^000000|1Hello"; set .@menu$[1], "^0000EEInfo~^000000|2Info"; set .@menu$[2], "^222222Test.^000000|3Test"; // This time we'll just add a element based on a condition if(.@somecondition) set .@menu$[3], "^EE0000- Admin -^000000|4Admin"; set .@menu$[4], "^990099G'bye^000000|5Bye"; // Lets implode & switch/case switch(dynprompt(implode(.@menu$, ":"))) { case 1: mes "Oh, Hello to you too!"; break; case 2: mes "You want info? How about the time?"; mes gettimestr("%Y-%m/%d %H:%M:%S",21); mes "Also, you selected option #" + @menu; // @menu still works break; case 3: mes "Debug info:"; mes "@menu is " + @menu; mes "@menustr$ is " + @menustr$; mes "@menunum is " + @menunum; break; case 4: mes "Wow, a admin!"; break; case 5: mes "Bye bye~"; break; case 255: // Cancel button mes "Hey, don't ignore me!!"; break; } close;}
I havn't tested it yet in production, but so far I havn't been able to encounter any issues with it.
Also, I do all my eAthena devving on a windows box so I can't guarantee that it'll work with linux.
Performance of dynprompt is going to be naturally worse than prompt, select or menu, but it might perform equally well in a dynamic setting if you take into consideration the array looping usually required - but I have not yet done any benchmarking or anything, so don't take my word for it. ( and to be honest, being able to create super clean code using switch / case is worth a tiny performance hit for me )
I hope it will make your scripting less painful - it sure has for me!
35 downloads
Submitted
-
Hide announcements/broadcasts command @blockbc
By pajodex
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.365 downloads
Submitted
-
Recently Browsing 0 members
- No registered users viewing this page.