41 files
-
Party Script Plugins
By Mhalicot
Works only in HERCULES.
Due to insistent public demand
HPM party script complete package released.
Compatible with Windows System Only
if you are using Linux, ignore other files and use only partyscript.c
Instruction.
1. Download and extract files using 7z or any application that can extract it.
2. extract it in your server directory ex: C:/RO Server/Hercules/
2.1. edit conf/plugins.conf and add partyscript
3. Your done. you can now try your plugins
if you are using VS2010/VS2009/vs2013 or whatsoever and you are failing to compile because of platform issue.
this is what you need to do.
In Recompiling:
If you are using other MSVS/C
Note: Recompile if you modify the script.
List of Script Commands
List of AtCommands
If you have any questions feel free to drop a comment.
NOTE: I do not own the whole script, I only convert it into plugins. Thanks to Mr. Ind, Mumbles, Haru, for making this Plugins possible.
for more info on how to to use HPM visit Here
(Tested on Hercules rev. 141**)
Special thanks to the original Author Cydh
258 downloads
- Party Script
- @leaveparty
- (and 1 more)
0 comments
Updated
-
@arealoot
By Dastgir
Hello,
I wanna release this awesome @arealoot plugin.
Credits to Streusel for providing the Source diff, I converted it to a plugin, for easy to install and use
For Changing the Arealoot Range: Either change it via source:
int arealoot_range = 3; //x BY x Range
Or Add this to any one of conf file in conf/battle
// Arealoot, determine the range of arealoot// Min: 1, Max: 10// Default: 3// 2 -> 2x2 range, 3 -> 3x3 rangearealoot_range: 3
391 downloads
- arealoot
- loot by area
- (and 1 more)
0 comments
Updated
-
Instance Check Commands
By GmOcean
Additional Instance Check Commands to go along with the existing instance_check_party.
Commands:
*instance_check_guild(<guild_id>{,<amount>{,<min>{,<max>}}});This function checks if a guild meets certain requirements, returning 1 ifall conditions are met and 0 otherwise. it will only check online characters.amount - number of online guild members (default is 1).min - minimum level of all characters in the guild (default is 1).max - maximum level of all characters int he guild (default is max level in conf).Example:if( instance_check_guild(getcharid(2), 2, 1, 150) ){ mes "Your guild meets the Memorial Dungeon requirements.", mes "All online members are between levels 1-150 and at least two are online."; close;} else { mes "Sorry, your guild does not meet requirements."; close;}
*instance_check_ready(<IOT_TYPE>,<owner_id>{,amount{,min{,max}}});This function checks if the Char, Party, Guild, etc... meets certain requirements, returning 1 ifall conditions are met and 0 otherwise. It will only check online characters.IOT_TYPE: IOT_NONE - Not sure what this is, but will return 1 regardless of settings due to it being unknown. IOT_CHAR - Character ( Will only check for min or max level. Amount doesn't matter since only 1 character can enter IOT_CHAR instance ). IOT_PARTY - Party IOT_GUILD - Guildamount - number of online party members (default is 1).min - minimum level of all characters in the party (default is 1).max - maximum level of all characters in the party (default is max level in conf).Example:if( instance_check_ready(IOT_CHAR, getcharid(0), 1, 75) ){ mes "The player has met all the requirements to enter the instance.", mes "The player is at least level 75 and is online."; close;} else { mes "The player does not meet all the requirements or is offline."; close;}Example 2:if( instance_check_ready(IOT_PARTY, getcharid(1), 5, 10, 50) ){ mes "The party meets all the requirements to enter the instance.", mes "All online members are between the levels 10-50 and at least 5 members are online."; close;} else { mes "Sorry, your party does not meet all the requirements."; close;}Example 3:if( instance_check_ready(IOT_GUILD, getcharid(2), 36, 140, 150) ){ mes "The guild meets all the requirements to enter the instance."; mes "All online members are between the levels 140-150 and at least 36 of them are online."; close;} else { mes "Sorry, your guild does not meet the requirements."; close;}
[Credits: malufett for providing the base for which these commands were derived from].
24 downloads
0 comments
Submitted
-
check_bound command
By GmOcean
A simple command to check if the player currently has a bound item in their inventory. Thus eliminating the need to use getinventorylist; to do the check. Additionally, you can check for a number of parameters regarding that item.
*checkbound(<item_id>{,<bound_type>{,<refine>{,<attribute>{,<card_1>{,<card_2>{,<card_3>{,<card_4>}}}}}}});This command allows you to check whether or not the attached player has the specified bound item in their inventory.Valid bound types are: 1 - Account Bound 2 - Guild Bound 3 - Party Bound 4 - Character BoundOptional Parameters: refine - checks to see if the item is refined to the given number. attribute - whether the item is broken (1) or not (0) card 1,2,3,4 - checks to see if the specified cards are compounded on the item as well.
Example:
if( checkbound(1205) ){ mes "You have a bound Cutter"; close;} else { mes "You do not have a bound Cutter"; close;}
Example 2:
if( checkbound(1205, 2) ){ mes "You have a guild_bound Cutter"; close;} else { mes "You don't have the required item."; close;}
Example 3:
if( checkbound(1205, 2, 7) ){ mes "You have a +7 guild_bound Cutter."; close;} else { mes "You don't have the required item."; close;}
26 downloads
0 comments
Updated
-
plugin Restock System
By Dastgir
It is a restock system(which I apparently made 5-6 months ago) [Also its a Plugin - Yay]
So I am just releasing it, as I feel its been useful for many servers.
Though there can be some optimizations on script-side(will be applied later on).
You need to enable plugin as well as script provided in the download.
2 commands:
@restock - Enables/Disables Restock System
@restock2 - To Add/Remove item
Usage:@restock2 <itemid> <quantity> <type1> <type2>Type 1:1 = Storage2 = GStorageType 2:1 = Add2 = Remove3 = Help4 = List5 = Empty The List@restock2 x y z 3 For Help@restock2 x y z 4 For Current Restocking List@restock2 x y z 5 For Removing All Items From Restockx,y,z Can be any number, e.g: @restock2 0 0 0 3 will give you help option,@restock2 x y z 5 will Empty your list
It Support Restocking of All Kinds of Item.
752 downloads
0 comments
Updated
-
plugin Warp Hit Delay
By Dastgir
It is warp delay plugin
Once you get a hit(not a miss) , you will be attached by a timer of x seconds, only after that you will be able to warp(be it be any wings,warp command,go command, npc or skill)
You can have a battle_config on any of the files in conf/battle/ with
warp_delay_mob: Seconds*1000warp_delay_pet: Seconds*1000warp_delay_homun: Seconds*1000warp_delay_merc: Seconds*1000warp_delay: Seconds*1000 //For Playerswarp_delay_others: Seconds*1000 //(For All Other Hits except mob/pet/homunc/merc)
Building Plugin for Linux: http://herc.ws/wiki/Building_HPM_Plugin_for_gcc
Building Plugin for Windows: http://herc.ws/wiki/Building_HPM_Plugin_for_MSVC
P.S: You need HPMHooking Enabled.
165 downloads
0 comments
Updated
-
plugin Magic Critical Strike
By Dastgir
Its a plugin for Critical Strike on Skills
Critical Strike Calculation is as per normal calculations
You can have a battle_config on any of the files in conf/battle/ with
magic_critical_color: 1 or 2
1 = Red Critical Strike
2 = Blue Critical Strike
Method to Change Delay:
Either add the config in conf/battle/ as stated above or change "blue_red_critical" value in plugin
Building Plugin for Linux: http://herc.ws/wiki/Building_HPM_Plugin_for_gcc
Building Plugin for Windows: http://herc.ws/wiki/Building_HPM_Plugin_for_MSVC
P.S: You need HPMHooking Enabled.
173 downloads
- plugin
- magic attack
- (and 2 more)
0 comments
Updated
-
plugin Duplicate NPC Commands
By Dastgir
2 Self Explanatory Commands:
duplicatenpc("NpcName", "DuplicateName", "DupHiddenName", "map", x, y, dir{, sprite{, xs, ys}});duplicateremove({"NPCname"});
Example Script:
prontera,150,150,5 script DupTest 999,{mes strnpcinfo(0);close;OnInit:duplicatenpc(strnpcinfo(0),"Duplicated","","prontera",150,148,5,998);end;OnWhisperGlobal:duplicateremove();}
^ Above script will self-duplicate itself with name "Duplicated" to prontera,150,148 with Sprite ID 998, and upon whispering to any of those npc, the duplicate will be removed.
Requested by GMOcean @ http://herc.ws/board/topic/7718-duplicatenpc-duplicateremove/?view=getnewpost
135 downloads
- plugin
- duplicatenpc
- (and 4 more)
0 comments
Updated
-
[Script] storage{mod}item
By Tranquility
Greetings!
The past week I've been messing around with processing how to utilise the storage better for my in-game NPCs & scripts.
Coming from rA, I noticed we didn't have the script commands "storageadditem", "storagecountitem", "storagedelitem".
Because of that I thought I should give it a try and aim to develop a plugin or a means, to make it possible to use this functionality again.
How to use:
you can use storageadditem to add an item name or itemid to a players storage.
storageadditem <item id>, <amount>{, <account id>}
storageadditem<item name>, <amount>{, <account id>}
Example: storageadditem(501,10);
you can use storagecountitem to count a specific item name or itemid in a players storage.
storagecountitem(nameID,{accountID})
returns number of items that meet the conditions
Example: .@pots = storagecountitem(501);
you can use storagedeltitem to delete a specific item name or itemid in a players storage.
storagedelitem <item id>,<amount>{,<account id>}
storagedelitem "<item name>",<amount>{,<account id>}
Deletes items from the target/attached player.
Example: storagedelitem(501,.@pots);
Read the Hercules Plugin Manager wiki page if you don't know how to add this functionality to your server.
If you have any questions, suggestions or notice any bugs, kindly let me know and I'll see what I can do about it.
Uploaded to my Git Repo now for easier access.
155 downloads
0 comments
Updated
-
Emo.c
By samsudin
-This is just atcommand emo, i just learn and try to convert it into plugin
-Original code by OnPlay
Usage: @emo <1-81>
65 downloads
0 comments
Submitted
-
FluxCP Credits for In-Game Shop
By Guest
Plugin for using credits from FluxCP donations in your in-game shop.
How to install?
https://github.com/HerculesWS/Hercules/wiki/Hercules-Plugin-Manager
145 downloads
0 comments
Updated
-
bonus3 bAtkEnemyStat
By Guest
Hercules Plugin
bonus3 bAtkEnemyStat
Description:
Will increase Damage by z% if Enemy Stat is >= y
Repo Link:
https://github.com/Normynator/Ragnarok/blob/master/HPM-Plugins/bonustargetstats/bonustargetstats.c
Credits:
Senpai Dastgir, for giving me inspiration
How to install?
https://github.com/HerculesWS/Hercules/wiki/Hercules-Plugin-Manager
How to use?
Format:
STR = 1
AGI = 2
VIT = 3
INT = 4
DEX = 5
LUK = 6
bonus3 bAtkEnemyStat, x, y, z;
x = Stat
y = Stat enemy must have
z = damage increase (10 = 10%);
e.g:
bonus3 bAtkEnemyStat, 3, 50, 10;
Increase Damage by 10% if enemy vit >= 50.
32 downloads
0 comments
Updated
-
Channel Fee Plugin
By Murilo BiO'
With this plugin you be able to set required Zeny and/or Items to players be able to send messages on channels.
The idea came from this post, thank you @blaze.
How to configure channels:
// FIXME: make a better way to add fee on channels (directly on channels.conf) const struct { char name[HCS_NAME_LENGTH]; int zeny; int nameid; int amount; } channels_fee[] = { // -- Add channels with fee like the example: {"name", zeny, item id, item count}; {"main" , 1000, 0 , 0}, // #main - 1000z and no item }; Find 'channels_fee[]' declaration, and add an element just like the example.
If you find any bugs please report them! Hope you enjoy it.
57 downloads
0 comments
Updated
-
SetQuest2
By KirieZ
NOTE: This functionality got merged into Hercules (check setquest and getcalendartime). That being said, I'm NOT maintaining this plugin anymore.
Hello,
This plugin adds the setquest2 script command that allows you to add a quest with your own time limit, ignoring the one in quest_db, thus allowing you to, for example, make a quest end at a determined time next day independently of when it was originally given.
*setquest(<ID>,<Time Limit>)Place quest of <ID> that will expire at <Time Limit> in the users quest log, the state of which is "active".
Examples:
- Ask the player to come back in a random number of minutes (1 ~ 3)
prontera,150,150,4 script SetQuest2 1_m_01,{ .@p = questprogress(7128,PLAYTIME); if (.@p == 1) { mes "Come back later!"; } else { if (.@p == 2) { mes "You came back!"; getitem Red_Potion, 1; erasequest 7128; } .@i = rand(1, 3); mes "Come back in " + .@i + " minutes"; setquest2 7128, gettimetick(2) + (.@i * 60); } close;}
- Ask the player to come back tomorrow (next day at 00:00)
prontera,150,152,4 script SetQuest2b 1_m_01,{ .@p = questprogress(7126,PLAYTIME); if (.@p == 1) { mes "Come back later!"; } else { if (.@p == 2) { mes "You came back!"; getitem Red_Potion, 1; erasequest 7126; } .@i = 86400 - gettimetick(1); mes "Come back tomorrow"; setquest2 7126, gettimetick(2) + .@i; } close;}
If you find any bug let me know.
36 downloads
0 comments
Updated
-
plugin Hash table
By meko
This plugin exposes the internal hash table (strdb) to the script engine to provide a key-value store.
See documentation on hercules-hashtable/doc/script_commands.txt
Download here: https://github.com/Helianthella/hercules-hashtable
7 downloads
0 comments
Updated
-
race_resist
By Kuroe
A simple plugin that adds race_resist() into your emulator (Checks race resist of a player).
//===== Description ========================================== //= Checks how much resistance a character has to a particular // race. // //= race_resist(<type>{, <account id>}); //= E.g. race_resist(RC_Player); //= E.g. race_resist(RC_Player, getcharid(CHAR_ID_ACCOUNT)); Its just actually a rip off plugin from @bWolfie's check_resist() plugin full credits goes to him.
134 downloads
0 comments
Updated