Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Bots

Development::Bots Forum for bots.

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #1  
Old 07-20-2009, 06:13 PM
Krugus
Sarnak
 
Join Date: Dec 2005
Location: the Void
Posts: 40
Default Bot Quest Script

Ok I was just sitting around yesterday and an Idea hit me.

Why not add the bot commands via saylinks to a quest script and put them in the templates folder? Since all the saylinks does is make you say the #bot command there was really very little scripting needed for it. Granted I'm just a newbie and I'm still at my crawling stages when it comes to perl scripting...

Here is what I have so far:

Code:
#Bot Event Script
#Just Hail and click!
#Most of the bot commands are listed here if you see one missing click the #bot help to find the missing command.

sub EVENT_SAY
{
my $help = quest::saylink("help");
my $general = quest::saylink("general");
my $bh = quest::saylink("#bot help");
my $bhc = quest::saylink("#bot help create");
my $bla = quest::saylink("#bot list all");
my $bu = quest::saylink("#bot update");
my $bga = quest::saylink("#bot group add");
my $bgr = quest::saylink("#bot group remove");
my $bgof = quest::saylink("#bot group order follow");
my $bgog = quest::saylink("#bot group order guard");
my $bgoa = quest::saylink("#bot group order attack");
my $bil = quest::saylink("#bot inventory list");
my $bgs = quest::saylink("#bot group summon");
my $bst = quest::saylink("#bot summon");
my $class = quest::saylink("class");
my $bmez = quest::saylink("#bot ai mez");
my $bplk = quest::saylink("#bot picklock");
my $bcup = quest::saylink("#bot cure poison");
my $bcud = quest::saylink("#bot cure disease");
my $bcuc = quest::saylink("#bot cure curse");
my $bcub = quest::saylink("#bot cure blindness");
my $bbme = quest::saylink("#bot bindme");
my $btrk = quest::saylink("#bot track");
my $btclm = quest::saylink("#bot target calm");
my $bil = quest::saylink("#bot inventory list");
my $bgs = quest::saylink("#bot group summon");
my $bst = quest::saylink("#bot summon");
my $bevc = quest::saylink("#bot evac");
my $brez = quest::saylink("#bot resurrectme");
my $bcorp = quest::saylink("#bot corpse summon");
my $blre = quest::saylink("#bot lore");
my $bsowr = quest::saylink("#bot sow regular");
my $bsowg = quest::saylink("#bot sow group");
my $bsoww = quest::saylink("#bot sow wolf");
my $binvs = quest::saylink("#bot invis");
my $blevi = quest::saylink("#bot levitate");
my $brune = quest::saylink("#bot runeme");
my $bshk = quest::saylink("#bot shrinkme");
my $bend = quest::saylink("#bot endureb");
my $bchr = quest::saylink("#bot charm");
my $bdire = quest::saylink("#bot dire charm");
my $bpetr = quest::saylink("#bot pet remove");
my $bdgl = quest::saylink("List Druid Gate Locations");
my $bwgl = quest::saylink("List Wizard Gate Locations");
my $bdgkar = quest::saylink("#bot gate karana");
my $bdgcom = quest::saylink("#bot gate commons");
my $bdgtox = quest::saylink("#bot gate tox");
my $bdgbut = quest::saylink("#bot gate butcher");
my $bdglav = quest::saylink("#bot gate lava");
my $bdgro = quest::saylink("#bot gate ro");
my $bdgfee = quest::saylink("#bot gate feerrott");
my $bdgste = quest::saylink("#bot gate steamfont");
my $bdgmis = quest::saylink("#bot gate misty");
my $bdgwak = quest::saylink("#bot gate wakening");
my $bdgice = quest::saylink("#bot gate iceclad");
my $bdgdiv = quest::saylink("#bot gate divide");
my $bdgcob = quest::saylink("#bot gate cobalt");
my $bdgcomb = quest::saylink("#bot gate combines");
my $bdgsur = quest::saylink("#bot gate surefall");
my $bdggri = quest::saylink("#bot gate grimling");
my $bdgtwi = quest::saylink("#bot gate twilight");
my $bdgdaw = quest::saylink("#bot gate dawnshroud");
my $bdgnex = quest::saylink("#bot gate nexus");
my $bdgsto = quest::saylink("#bot gate stonebrunt");
my $bdgblo = quest::saylink("#bot gate bloodfields");
my $bdgeme = quest::saylink("#bot gate emerald");
my $bdgsky = quest::saylink("#bot gate skyfire");
my $bdgwos = quest::saylink("#bot gate wos");
my $bmage = quest::saylink("#bot magepet earth");
my $bmagw = quest::saylink("#bot magepet water");
my $bmaga = quest::saylink("#bot magepet air");
my $bmagf = quest::saylink("#bot magepet fire");
my $bmagm = quest::saylink("#bot magepet monster");
my $other = quest::saylink("other");
my $braid = quest::saylink("#bot raid help");
my $bsvr = quest::saylink("#bot saveraid");
my $bspnr = quest::saylink("#bot spawnraid");
my $bgprd = quest::saylink("#bot groupraid");
my $barch = quest::saylink("#bot archery");
my $bwgfay = quest::saylink("#bot gate fay");
my $bwgnk = quest::saylink("#bot gate nk");
my $bwgwk = quest::saylink("#bot gate wk");
my $bwghate = quest::saylink("#bot gate hateplane");
my $bwgair = quest::saylink("#bot gate airplane");
my $brstp = quest::saylink("#bot resist poison");
my $brstd = quest::saylink("#bot resist disease");
my $brstf = quest::saylink("#bot resist fire");
my $brstc = quest::saylink("#bot resist cold");
my $brstm = quest::saylink("#bot resist magic");

 if($text =~ /Hail/i)
	{
	quest::say("Do you need $help $name?");
	}
 if($text =~ /help/i)
	{
	quest::say("Do you need help with $general, $class or $other commands ");
	}
 if($text =~ /general/i)
	{
	quest::say("$bh, $bhc, $bla");
	quest::say("$bu, $bil");
	quest::say("$bga(target), $bgr(target)");
	quest::say("$bgs or $bst(target)");
	quest::say("$bgof(target)");
	quest::say("$bgog(target)");
	quest::say("$bgoa(target)");
	quest::say("Or can I $help you with something else?");	
	}
if($text =~ /class/i)
	{
	quest::say("$bmez(target)");
	quest::say("$bplk(target & stand right on door)");
	quest::say("$bcup, $bcud, $bcuc");
	quest::say("$bcub, $bbme, $btrk");
	quest::say("$btclm, $bevc, $brez");
	quest::say("$bcorp, $blre");
	quest::say("$bsowr, $bsowg, $bsoww");
	quest::say("$binvs, $blevi");
	quest::say("$brune, $bshk, $bend");
	quest::say("$bchr, $bdire, $bpetr");
	quest::say("$bdgl, $bwgl");
	quest::say("$bmage, $bmagw");
	quest::say("$bmaga, $bmagf, $bmagm");
	quest::say("$brstm, $brstp, $brstd");
	quest::say("$brstf, $brstc");
	quest::say("Or can I $help you with something else?");	
	}
if($text =~ /other/i)
	{
	quest::say("$braid, $bsvr");
	quest::say("$bspnr, $bgprd, $barch");
	quest::say("Or can I $help you with something else?");	
	}
if($text =~ /List Druid Gate Locations/i)
	{	
	quest::say("$bdgkar, $bdgcom");
	quest::say("$bdgtox, $bdgbut");
	quest::say("$bdglav, $bdgro");
	quest::say("$bdgfee, $bdgste");
	quest::say("$bdgmis, $bdgwak");
	quest::say("$bdgice, $bdgdiv");
	quest::say("$bdgcob, $bdgcomb");
	quest::say("$bdgsur, $bdggri");
	quest::say("$bdgtwi, $bdgdaw");
	quest::say("$bdgnex, $bdgsto");
	quest::say("$bdgblo, $bdgeme");
	quest::say("$bdgsky, $bdgwos");
	quest::say("Or can I $help you with something else?");	
	}
if($text =~ /List Wizard Gate Locations/i)
	{
	quest::say("$bdgcom, $bdgtox");
	quest::say("$bdgro, $bdgwak");
	quest::say("$bdgice, $bdgdiv");
	quest::say("$bdgcob, $bdgcomb");
	quest::say("$bdggri, $bdgtwi");
	quest::say("$bdgdaw, $bdgnex");
	quest::say("$bdgsto, $bdgblo");
	quest::say("$bdgeme, $bdgsky");
	quest::say("$bdgwos, $bwgfay");
	quest::say("$bwgnk, $bwgwk");
	quest::say("$bwghate, $bwgair");
	quest::say("Or can I $help you with something else?");	
	}
}
Here are some screens of it in action:










It works but the only problem so far is: You would need one for each BOT. Yikes! Works great on small servers like mine where there are only a few people.

One problem I did run into with Bots having quests is if I try to use the bots NPCID (999138.pl) it will not work but if I use their name (Zargoth.pl) it works just fine.
The bot quest script is located in the templates folder. Not sure where to go from here? Any thoughts?
Reply With Quote
 


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 05:38 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