Go Back   EQEmulator Home > EQEmulator Forums > Quests > Quests::Plugins & Mods

Quests::Plugins & Mods Completed plugins for public use as well as modifications.

Reply
 
Thread Tools Display Modes
  #1  
Old 05-29-2011, 11:55 PM
Akkadius's Avatar
Akkadius
Administrator
 
Join Date: Feb 2009
Location: MN
Posts: 2,071
Talking Master Plugins List

I am going to start a list here for plugin functions, so that it is more obvious as to what functions we have available in the repository and to inspire others to contribute their own plugins as well.

Plugins are basically Perl sub routine functions that are located in the ServerDirectory/plugins directory where the source code defines where the plugin:: functions are pulled from.

I will start by listing all of the functions in the repository for a quick access list of their syntax and their functions/examples. If the explanation is too bloated or is thoroughly described in another thread I will provide a link to it.

Instances.pl

plugin::SendToInstance("solo/guild/group/public", "Zone Short Name", Version, X, Y, Z, "Identifier", duration in seconds");
Explanation located: http://www.eqemulator.org/forums/showthread.php?t=32609

plugin::ListZoneSNToID("Zone Short Name Here");
* This plugin returns the ID of a zone's shortname. (Used by the above instance plugin.

Usage:
Code:
my $ZoneID = plugin::ListZoneSNToID("highkeep");
          $client->Message(15, "Your zone ID for Highkeep is $ZoneID!");
It will respond with:
Quote:
Your zone ID for Highkeep is 6!



Quest_Credit.pl

Refer to this thread for Qglobal based credit system functionality:
http://www.eqemulator.org/forums/sho...526#post200526



anim.pl
Code:
plugin::DoAnim && plugin::SetAnim
Examples located here: http://eqemulator.org/forums/showthread.php?t=31241



check_handin.pl
Examples located here: http://code.google.com/p/projecteqqu...of_Elements.pl
See Sub EVENT_ITEM


check_hasitem.pl
Used to check if a player has an item, goes through inventory, bags, cursor, bank, shared bank etc.
Code:
plugin::check_hasitem($client, itemid);

client_functions.pl
Code:
plugin::ClientCheck();
Returns the client in a string: my $ClientVer = plugin::ClientCheck(); would return "Seeds of Destruction" if I had the Seeds of Destruction client, and same for Titanium, SoF, HoT etc.



client_messages.pl
Code:
plugin::Whisper("Message"); & plugin::ClientSay("Message");
Whisper outputs "NPC whispers, 'Message'"
ClientSay outputs "NPC says, 'Message'" and also has a space of empty text right below the message.


formation_tools.pl
Huge array of NPC marching utilities created by Trevius. Usage and examples can be found here: http://www.eqemulator.org/forums/showthread.php?t=32586


illusion_tools.pl
Code:
plugin::RandomFeatures(Mob);
plugin::CloneAppearance(MobA, MobB, CloneName=false);
Examples can be found here: http://www.eqemulator.org/forums/showthread.php?t=33511


mob_utils.pl
Code:
#Usage: plugin::MobHealPercentage(Numberofpercent);
#Usage: plugin::MobHealPoints(Hitpoints to heal);
#Usage: plugin::SpawnInPlace(NPCID to spawn in place, [1 = Don't depop what spawns in place]);
#Usage: plugin::SpawnChest(Chest NPCID to spawn in place, [the integer range you want the chest to randomly spawn from the dead mob]);
#Similar to plugin::SpawnInPlace, this plugin will spawn a chest in the same place, or will spawn a chest within a random generated desired range defined in the second arguement
#Usage: plugin::SetLeashMob();
#Usage: plugin::CheckLeashMob(Range); - This script will check the parameters in which the Leash was set and check against the arguement declared, if comes back true, the mob is reset to its leash set point.
#Usage plugin::AERampageEffect($Scale, $Skill, $Max_Distance, $Max_Damage, $Min_Damage); Use scale alone to modifiy ramapage damage by a set amount IE 50% max hit, would be 50 and not set Max/Min -Max Distance is AE rampage radius
#Usage: plugin::ModSpecialAttack("Abilities", Remove?=0);
# Add or remove one or more special attacks to an NPC.
# Abilities is a special ATK value ie "A" or "AB" or "ABH" ect
# Remove is an optional field that defaults to 0 (add).  (1 = remove, 0 = add)
# Example1: plugin::ModSpecialAttack("ABH");

npc_tools.pl
Code:
#Usage plugin::SetProx(X/Y Axis Range, Z Axis Range);
path_tools.pl
Code:
#Usage: plugin::RandomRoam(MaxXVariance, MaxYVariance, MaxZVariance, LoSMobSize);
#Usage: plugin::StraightPath(MaxXVariance, MaxYVariance);
#Usage: plugin::RandomSwim(MaxXVariance, MaxYVariance, WaterSurfaceZ);
#Usage: my @DestArray = plugin::CalcDestFromHeading(Heading, Distance, [Mob, MaxZDiff]);
For Examples: http://www.eqemulator.org/forums/showthread.php?t=30420


popup_window_utils.pl
Code:
###plugin::PWAutoCenter("Text to be centered in popup window", ([Send Character length to window? = 1] [Use AutoCenter based on given character length = 2]));
###If the second arguement is 2, the first arguement has to declare how many characters there are in the line you are presenting. And then it will push the 
plugin::PWBreak(); - Sends a break to the popup window
plugin::PWIndent(); - Sends an indent to the popup window
#Usage plugin::PWHyperLink("http://www.google.com", "Google Search it!"); - Creates a hyperlink
###Usage plugin::PWColor("Color Name"); - See list of color names at the bottom of http://code.google.com/p/eqemupluginsrepo/source/browse/trunk/popup_window_utils.pl
quest_handin.pl
Code:
###Usage: plugin::QuestHandIn(ItemRewardID, RewardMessageofNPC, NPCAnimation, Case(How many separate items you want handed in) ItemID1, HowManyItem1, [ItemID2, HowManyItem2, ItemID3, HowManyItem3, ItemID4, HowManyItem4]);
Example here: http://www.eqemulator.org/forums/showthread.php?t=32080


random_message.pl
Code:
###Usage: plugin::RandomSay(chance(1-100), "message1","message2", etc..);
###Usage: plugin::RandomEmote(chance(1-100), "message1","message2", etc..);
###Usage: plugin::RandomGroupEmote(chance(1-100), "message1","message2", etc..);

random_range.pl
Code:
#Usage: plugin::RandomRange(minvalue, maxvalue);

spawn_utils.pl
Code:
#plugin::moelib_spawn_block(npctypeid, fromx, tox, fromy, toy, space, zposition=20, heading=0, grid=0)
#plugin::moelib_spawn_block_center(npctypeid, centerx, centery, range, amount, zposition=20, heading=0, grid=0)
#plugin::moelib_spawn_circle(npctypeid, centerx, centery, radius, amount, zposition=20, heading=0, grid=0)

text_formatting.pl
Code:
###Usage plugin::commify(12302302); Would output value 12,302,302

time_tools.pl
Code:
###Usage: my $EndTime = plugin::GetEndTime("TypeDur", localtime=false);
# Example: GetEndTime("M60");   # Add 60 minutes to the current timestamp and return in unix time
# Example: GetEndTime("H5", 1); # Add 5 hours to the current timestamp and return in readable local time
# TypeDur is set just like as it is for QGlobals
# S | seconds | "S15" = 15 seconds |
# M | minutes | "M30" = 30 minutes |
# H | hours   | "H12" = 12 hours   |
# D | days    | "D90" = 90 days    |
# Y | years   | "Y5" = 5 years     |
# localtime is an optional field
# If set to 1, it will return a readable date/time stamp, otherwise 0 (default) is unix time

###Usage: my $TimeLeft = plugin::GetTimeLeft(UnixTime, ReturnType=0);
# Example: GetTimeLeft(1285623342);     # Check current time against a Unix Timestamp and return secs/mins/hours/days/years remaining
# Example: GetTimeLeft(1285623342, "H");        # Check current time against a Unix Timestamp and return hours remaining
# Returns 0 if no time is left
# ReturnType is one of the following: S seconds, M minutes, H hours, D days, Y years
See: http://www.eqemulator.org/forums/showthread.php?t=33443


voicetell.pl
Code:
###plugin::vtell("message","race-name","sex(malefemale)"); - Sends Voice Tell
###plugin::vtell("battle","barbarian","male"); - Sends Voice Tell
##plugin::Autovtell("greet/battle/disagree/follow/greet/heal/help/laugh/part/retreat/stop/thanks");
##Automatically converts the race ID and Gender into a format the voicetell object understands

weapon_tools.pl
Code:
#Usage: plugin::RandomWeapons(MinModelNum, MaxModelNum, MyChance, MinShieldNum, MaxShieldNum, NoDualWield?, IgnoreClass? );
#Example: plugin::RandomWeapons(1, 11169, 50, 200, 230, 0, 0);
#MinModelNum - Minimum Model Number to use for selecting Primary/Offhand Weapons
#MaxModelNum - Maximum Model Number to use for selecting Primary/Offhand Weapons
#MyChance - The percent chance that the NPC will wield any weapons (1 - 100)
#MinShieldNum - Minimum Model Number to use for selecting Shields
#MaxShieldNum - Maximum Model Number to use for selecting Shields
#NoDualWield? - 1 = NPCs won't dual wield or use shield, 0 = They have a chance to dual wield / shield
#IgnoreClass? - 1 = Weapon selection will choose any random model number within the range given, 0 = Smart weapon selection based on NPC class

#Usage: plugin::SetWeapons(PrimaryModel, SecondaryModel, EnableRemoving? );
#Example: plugin::SetWeapons(11, 200);
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 07:31 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3