Log in

View Full Version : Anyone have a script for Spell scriber bot ?


everlastnmn
01-09-2010, 07:39 PM
Would prefer one that scribes all spells, but will take any if someone has thanks :)

Lillu
01-09-2010, 08:10 PM
http://www.eqemulator.net/forums/showthread.php?t=29781&highlight=spell+scriber

a lot more out there. do a search on the forum.

neiv2
01-10-2010, 09:33 PM
This is the spell-scriber script from AX:

############################################
# ZONE: All Starter Zones, PoK and Bazaar
# DATABASE: AX_CLASSIC Custom
# By Angelox
#
#
sub EVENT_SAY {
if ($text=~/hail/i){
quest::say("Hello $name! I can scribe certain [spells] your bots may require ");}
elsif ($text=~/spells/i){
quest::say("I can scribe [Circle] or [Portal] spells, Also [Temperance], [Lesser Summon Corpse], [Summon Corpse], [Conjure Corpse] - But you need to bring me the spell");}
elsif ($text=~/lesser summon corpse/i){
quest::say("Buy it from the spell merchant, it and hand it to me. I'll scribe the spell for your bot.");}
elsif ($text=~/summon corpse/i){
quest::say("That is a dropped spell, you can find it on The Ishva Mal, who resides in South Karana's caves of the Infected Paw ");}
elsif ($text=~/conjure corpse/i){
quest::say("That is a dropped spell, you can find it on a cliff golem, a mature wurm, or most mobs in Sebilis ");}
elsif (($text=~/circle/i)&&($ulevel>=50)){
quest::say("I have the ability to scribe all of your druids' Circle spells, but I see you are too high a level level for Norrath Adventurers' quests.");
quest::say("I can still scribe your needed spells, if you bring me what I [need].");}
elsif (($text=~/portal/i)&&($ulevel>=50)){
quest::say("I have the ability to scribe all of your Wizards' Portal spells, but I see you are too high a level level for Norrath Adventurers' quests.");
quest::say("I can still scribe your needed spells, if you bring me what I [need].");}
elsif (($text=~/need/i)&&($ulevel>=50)){
quest::say("If you can bring me the required spells, I will scribe the spells for [Druid] or [Wizard]");}
elsif (($text=~/Druid/i)&&($ulevel>=50)){
quest::say("For your Druids circle spells, I require four spells; Circle of The Great Divide, Circle of Wakening Lands, Circle of Cobalt Scar, and Circle of Bloodfields.");
quest::say("Bring me the Spells, and I will finish scribing your gate spells");}
elsif (($text=~/Wizard/i)&&($ulevel>=50)){
quest::say("For your Wizards' Portal spells, I require four spells; Wakening Lands Portal, Great Divide Portal, Cobalt Scar Portal, and Bloodfields Portal.");
quest::say("Bring me the Spells, and I will finish scribing your gate spells");}
elsif ($text=~/circle/i){
quest::say("I have the ability to scribe all of your druids' merchant-bought Circle spells, but I need [proof] that you are worthy, and have traveled Norrath without the need of portals.");
quest::say("Go and see the Norrath Adventurer, his quests will provide [proof] of your worthiness.");}
elsif ($text=~/portal/i){
quest::say("I have the ability to scribe all of your wizards' merchant-bought Portal spells, but I need [proof] that you are worthy, and have traveled Norrath without the need of portals. Go and see the Norrath Adventurer, his quests will provide proof of your worthiness.");
quest::say("Go and see the Norrath Adventurer, his quests will provide [proof] of your worthiness.");}
elsif ($text=~/proof/i){
quest::say("The Norrath Adventurer has three quests for you, completition of a quest will reward you two moonstones- one for your Druid's Circle spells and one for your Wizard's Portal spells.");
quest::say("Bring me the Moonstones, and I will scribe a portion of the gate spells");
quest::say("Complete all three quests, and you will have all possible gate spells scribed.");}
elsif ($text=~/temperance/i){
quest::say("Go to the Gulf of [Gunthak], and see an Erudite Palladin named Millius Darkwater. He's near the Lighthouse with the merchants. ");}
elsif ($text=~/gunthak/i){
quest::say("Entrance to Gulf of Gunthak is in an old ship docked on the east coast of Stonbrunt Mountains.");}
}

sub EVENT_ITEM{
## Summon Corpse
if (($itemcount{28216} == 1) && ($bot_spell_1 == 1) | ($bot_spell_1 == 2) | ($bot_spell_1 == 3)){
quest::say("Those spells are already scribed.");
quest::summonitem(28216);}
elsif (($itemcount{15003} == 1) && ($bot_spell_1 == 2) | ($bot_spell_1 == 3)){
quest::say("Those spells are already scribed.");
quest::summonitem(15003);}
elsif (($itemcount{19307} == 1) && ($bot_spell_1 == 3)){
quest::say("Those spells are already scribed.");
quest::summonitem(19307);}
elsif (plugin::check_handin(\%itemcount,28216 => 1)){ #Lesser Summon Corpse
quest::say("Excellent, Thank you, $class. Your spell has been scribed.");
quest::setglobal("bot_spell_1",1,5,"F");
$client->Message(6,"Your have scribed the spell Lesser Summon Corpse!");}
elsif (plugin::check_handin(\%itemcount,15003 => 1)){ #Summon Corpse
quest::say("Excellent, Thank you, $class. Your spell has been scribed.");
quest::setglobal("bot_spell_1",2,5,"F");
$client->Message(6,"Your have scribed the spell Summon Corpse!");}
elsif (plugin::check_handin(\%itemcount,19307 => 1)){ #Conjure Corpse
quest::say("Excellent, Thank you, $class. Your spell has been scribed.");
quest::setglobal("bot_spell_1",3,5,"F");
$client->Message(6,"Your have scribed the spell Conjure Corpse!");}

## Temperance
elsif (($itemcount{59011} == 1) && ($bot_spell_4 == 1) | ($bot_spell_4 == 2)){
quest::say("Those spells are already scribed.");
quest::summonitem(59011);}
elsif (($itemcount{59572} == 1) && ($bot_spell_4 == 2)){
quest::say("Those spells are already scribed.");
quest::summonitem(59572);}
elsif (plugin::check_handin(\%itemcount,59011 => 1)){ #Temperance
quest::say("Excellent, Thank you, $class. Your spell has been scribed.");
quest::setglobal("bot_spell_4",1,5,"F");
$client->Message(6,"Your have scribed the spell Temperance!");}
elsif (plugin::check_handin(\%itemcount,59572 => 1)){ #Blessing of Temperance (not complete yet , just have the script ready).
quest::say("Excellent, Thank you, $class. Your spell has been scribed.");
quest::setglobal("bot_spell_4",2,5,"F");
$client->Message(6,"Your have scribed the spell Blessing of Temperance!");}

## Circle Spells
elsif (($ulevel>=50) && ($itemcount{30438} == 1) && ($itemcount{30398} == 1) &&
($itemcount{30440} == 1)&& ($itemcount{77662} == 1) && ($bot_spell_2 == 3)){
quest::say("You already have all these needed spells scribed.");
quest::summonitem(129);
quest::summonitem(30438);
quest::summonitem(30398);
quest::summonitem(30440);
quest::summonitem(77662);}
elsif (($itemcount{129} == 1) && ($bot_spell_2 == 1) | ($bot_spell_2 == 2) | ($bot_spell_2 == 3)){
quest::say("Those spells are already scribed.");
quest::summonitem(129);}
elsif (($itemcount{135} == 1) && ($bot_spell_2 == 2) | ($bot_spell_2 == 3)){
quest::say("Those spells are already scribed.");
quest::summonitem(135);}
elsif (($itemcount{131} == 1) && ($bot_spell_2 == 3)){
quest::say("Those spells are already scribed.");
quest::summonitem(131);}
elsif (($ulevel>=50) && ($itemcount{30438} == 1) && ($itemcount{30398} == 1) &&
($itemcount{30440} == 1)&& ($itemcount{77662} == 1) && ($bot_spell_2 == 0)){
$client->Message(6,"Your have scribed the spell Circle of Karana!");
$client->Message(6,"Your have scribed the spell Circle of Commons!");
$client->Message(6,"Your have scribed the spell Circle of Toxxulia!");
$client->Message(6,"Your have scribed the spell Circle of Butcherblock!");
$client->Message(6,"Your have scribed the spell Circle of Lavastorm!");
$client->Message(6,"Your have scribed the spell Circle of Ro!");
$client->Message(6,"Your have scribed the spell Circle of Ferrott!");
$client->Message(6,"Your have scribed the spell Circle of Steamfont!");
$client->Message(6,"Your have scribed the spell Circle of Iceclad Ocean!");
$client->Message(6,"Your have scribed the spell Circle of Surefall Glade!");
$client->Message(6,"Your have scribed the spell Circle of Grimling Forest!");
$client->Message(6,"Your have scribed the spell Circle of The Nexus!");
$client->Message(6,"Your have scribed the spell Circle of Stonbrunt Mountains!");
$client->Message(6,"Your have scribed the spell Circle of Misty!");
$client->Message(6,"Your have scribed the spell Circle of The Great Divide!"); #19516
$client->Message(6,"Your have scribed the spell Circle of Wakening Lands!"); #30398
$client->Message(6,"Your have scribed the spell Circle of Knowledge!");
$client->Message(6,"Your have scribed the spell Wind of the South!");
$client->Message(6,"Your have scribed the spell Wind of the North!");
$client->Message(6,"Your have scribed the spell Circle of Twilight!");
$client->Message(6,"Your have scribed the spell Circle of Dawnshroud!");
$client->Message(6,"Your have scribed the spell Circle of Cobalt Scar!"); #30440
$client->Message(6,"Your have scribed the spell Circle of The Combines!");
$client->Message(6,"Your have scribed the spell Circle of Slaughter!");
$client->Message(6,"Your have scribed the spell Circle of Bloodfields!"); #77662
quest::say("Excellent, Thank you, $class. Your Bots Circle spells have been scribed.");
quest::summonitem(129);
quest::setglobal("bot_spell_2",3,5,"F");
$bot_spell_2=undef;}
elsif (($ulevel>=50) && ($itemcount{30438} == 1) && ($itemcount{30398} == 1) &&
($itemcount{30440} == 1)&& ($itemcount{77662} == 1) && ($bot_spell_2 == 1)){
$client->Message(6,"Your have scribed the spell Circle of Misty!");
$client->Message(6,"Your have scribed the spell Circle of The Great Divide!"); #19516
$client->Message(6,"Your have scribed the spell Circle of Wakening Lands!"); #30398
$client->Message(6,"Your have scribed the spell Circle of Knowledge!");
$client->Message(6,"Your have scribed the spell Wind of the South!");
$client->Message(6,"Your have scribed the spell Wind of the North!");
$client->Message(6,"Your have scribed the spell Circle of Twilight!");
$client->Message(6,"Your have scribed the spell Circle of Dawnshroud!");
$client->Message(6,"Your have scribed the spell Circle of Cobalt Scar!"); #30440
$client->Message(6,"Your have scribed the spell Circle of The Combines!");
$client->Message(6,"Your have scribed the spell Circle of Slaughter!");
$client->Message(6,"Your have scribed the spell Circle of Bloodfields!"); #77662
quest::say("Excellent, Thank you, $class. Your Bots Circle spells have been scribed.");
quest::summonitem(129);
quest::setglobal("bot_spell_2",3,5,"F");
$bot_spell_2=undef;}
elsif (($ulevel>=50) && ($itemcount{30438} == 1) && ($itemcount{30398} == 1) &&
($itemcount{30440} == 1)&& ($itemcount{77662} == 1) && ($bot_spell_2 == 2)){
$client->Message(6,"Your have scribed the spell Circle of Slaughter!");
$client->Message(6,"Your have scribed the spell Circle of Bloodfields!"); #77662
quest::say("Excellent, Thank you, $class. Your Bots Circle spells have been scribed.");
quest::summonitem(129);
quest::setglobal("bot_spell_2",3,5,"F");
$bot_spell_2=undef;}
elsif (plugin::check_handin(\%itemcount,129 => 1)){ #Lesser Moonstone of Circles for the spell scriber
$client->Message(6,"Your have scribed the spell Circle of Karana!");
$client->Message(6,"Your have scribed the spell Circle of Commons!");
$client->Message(6,"Your have scribed the spell Circle of Toxxulia!");
$client->Message(6,"Your have scribed the spell Circle of Butcherblock!");
$client->Message(6,"Your have scribed the spell Circle of Lavastorm!");
$client->Message(6,"Your have scribed the spell Circle of Ro!");
$client->Message(6,"Your have scribed the spell Circle of Ferrott!");
$client->Message(6,"Your have scribed the spell Circle of Steamfont!");
$client->Message(6,"Your have scribed the spell Circle of Iceclad Ocean!");
$client->Message(6,"Your have scribed the spell Circle of Surefall Glade!");
$client->Message(6,"Your have scribed the spell Circle of Grimling Forest!");
$client->Message(6,"Your have scribed the spell Circle of The Nexus!");
$client->Message(6,"Your have scribed the spell Circle of Stonbrunt Mountains!");
quest::say("Excellent, Thank you, $class. Your Bots Lesser Moonstone of Circles spells have been scribed.");
quest::setglobal("bot_spell_2",1,5,"F");
$bot_spell_2=undef;}
elsif (plugin::check_handin(\%itemcount,135 => 1)){ #Moonstone of Circles for the spell scriber
$client->Message(6,"Your have scribed the spell Circle of Misty!");
$client->Message(6,"Your have scribed the spell Circle of The Great Divide!"); #19516
$client->Message(6,"Your have scribed the spell Circle of Wakening Lands!"); #30398
$client->Message(6,"Your have scribed the spell Circle of Knowledge!");
$client->Message(6,"Your have scribed the spell Wind of the South!");
$client->Message(6,"Your have scribed the spell Wind of the North!");
$client->Message(6,"Your have scribed the spell Circle of Twilight!");
$client->Message(6,"Your have scribed the spell Circle of Dawnshroud!");
$client->Message(6,"Your have scribed the spell Circle of Cobalt Scar!"); #30440
$client->Message(6,"Your have scribed the spell Circle of The Combines!");
quest::say("Excellent, Thank you, $class. Your Bots Moonstone of Circles spells have been scribed.");
quest::setglobal("bot_spell_2",2,5,"F");
$bot_spell_2=undef;}
elsif (plugin::check_handin(\%itemcount,131 => 1)){ #Greater Moonstone of Circles for the spell scriber
$client->Message(6,"Your have scribed the spell Circle of Slaughter!");
$client->Message(6,"Your have scribed the spell Circle of Bloodfields!"); #77662
quest::say("Excellent, Thank you, $class. Your Bots Greater Moonstone of Circles spells have been scribed.");
quest::setglobal("bot_spell_2",3,5,"F");
$bot_spell_2=undef;}
## Portal Spells
elsif (($ulevel>=50) && ($itemcount{30399} == 1) && ($itemcount{30423} == 1)&& ($itemcount{30425} == 1)&&
($itemcount{77661} == 1) && ($bot_spell_3 == 3)){
quest::say("You already have all these needed spells scribed.");
quest::summonitem(130);
quest::summonitem(30399);
quest::summonitem(30423);
quest::summonitem(30425);
quest::summonitem(77661);}
elsif (($itemcount{130} == 1) && ($bot_spell_3 == 1) | ($bot_spell_3 == 2) | ($bot_spell_3 == 3)){
quest::say("Those spells are already scribed.");
quest::summonitem(130);}
elsif (($itemcount{136} == 1) && ($bot_spell_3 == 2) | ($bot_spell_3 == 3)){
quest::say("Those spells are already scribed.");
quest::summonitem(136);}
elsif (($itemcount{132} == 1) && ($bot_spell_3 == 3)){
quest::say("Those spells are already scribed.");
quest::summonitem(132);}
elsif (($ulevel>=50) && ($itemcount{30399} == 1) && ($itemcount{30423} == 1)&& ($itemcount{30425} == 1)&&
($itemcount{77661} == 1) && ($bot_spell_3 == 0)){
$client->Message(6,"Your have scribed the spell Fay Portal!");
$client->Message(6,"Your have scribed the spell Ro Portal!");
$client->Message(6,"Your have scribed the spell Toxxula Portal!");
$client->Message(6,"Your have scribed the spell North Karana Portal!");
$client->Message(6,"Your have scribed the spell Nektulos Portal!");
$client->Message(6,"Your have scribed the spell West Karana Portal!");
$client->Message(6,"Your have scribed the spell Dawnshroud Portal!");
$client->Message(6,"Your have scribed the spell Nexus Portal!");
$client->Message(6,"Your have scribed the spell Plane of Knowledge Portal!");
$client->Message(6,"Your have scribed the spell Stonebrunt Portal!");
$client->Message(6,"Your have scribed the spell Grimling Forest Portal!");
$client->Message(6,"Your have scribed the spell Twilight Portal!");
$client->Message(6,"Your have scribed the spell Iceclad Ocean Portal!");
$client->Message(6,"Your have scribed the spell Commons Portal!");
$client->Message(6,"Your have scribed the spell Wakening Lands Portal!"); #30399
$client->Message(6,"Your have scribed the spell Emerald Jungle Portal!");
$client->Message(6,"Your have scribed the spell Hate Plane Portal!");
$client->Message(6,"Your have scribed the spell Airplane Portal!");
$client->Message(6,"Your have scribed the spell Skyfire Portal!");
$client->Message(6,"Your have scribed the spell Great Divide Portal!"); #30423
$client->Message(6,"Your have scribed the spell Cobalt Scar Portal!"); #30425
$client->Message(6,"Your have scribed the spell Combines Portal!");
$client->Message(6,"Your have scribed the spell Wall of Slaughter Portal!");
$client->Message(6,"Your have scribed the spell Bloodfields Portal!"); # 77661
quest::say("Excellent, Thank you, $class. Your Bots Portal spells have been scribed.");
quest::summonitem(130);
quest::setglobal("bot_spell_3",3,5,"F");}
elsif (($ulevel>=50) && ($itemcount{30399} == 1) && ($itemcount{30423} == 1)&& ($itemcount{30425} == 1)&&
($itemcount{77661} == 1) && ($bot_spell_3 == 1)){
$client->Message(6,"Your have scribed the spell Twilight Portal!");
$client->Message(6,"Your have scribed the spell Iceclad Ocean Portal!");
$client->Message(6,"Your have scribed the spell Commons Portal!");
$client->Message(6,"Your have scribed the spell Wakening Lands Portal!"); #30399
$client->Message(6,"Your have scribed the spell Emerald Jungle Portal!");
$client->Message(6,"Your have scribed the spell Hate Plane Portal!");
$client->Message(6,"Your have scribed the spell Airplane Portal!");
$client->Message(6,"Your have scribed the spell Skyfire Portal!");
$client->Message(6,"Your have scribed the spell Great Divide Portal!"); #30423
$client->Message(6,"Your have scribed the spell Cobalt Scar Portal!"); #30425
$client->Message(6,"Your have scribed the spell Combines Portal!");
quest::say("Excellent, Thank you, $class. Your Bots Portal spells have been scribed.");
quest::summonitem(130);
quest::setglobal("bot_spell_3",3,5,"F");}
elsif (($ulevel>=50) && ($itemcount{30399} == 1) && ($itemcount{30423} == 1)&& ($itemcount{30425} == 1)&&
($itemcount{77661} == 1) && ($bot_spell_3 == 2)){
$client->Message(6,"Your have scribed the spell Wall of Slaughter Portal!");
$client->Message(6,"Your have scribed the spell Bloodfields Portal!"); # 77661
quest::say("Excellent, Thank you, $class. Your Bots Portal spells have been scribed.");
quest::summonitem(130);
quest::setglobal("bot_spell_3",3,5,"F");}
elsif (plugin::check_handin(\%itemcount,130 => 1)){ #Lesser Moonstone of Portals for the spell scriber
$client->Message(6,"Your have scribed the spell Fay Portal!");
$client->Message(6,"Your have scribed the spell Ro Portal!");
$client->Message(6,"Your have scribed the spell Toxxula Portal!");
$client->Message(6,"Your have scribed the spell North Karana Portal!");
$client->Message(6,"Your have scribed the spell Nektulos Portal!");
$client->Message(6,"Your have scribed the spell West Karana Portal!");
$client->Message(6,"Your have scribed the spell Dawnshroud Portal!");
$client->Message(6,"Your have scribed the spell Nexus Portal!");
$client->Message(6,"Your have scribed the spell Plane of Knowledge Portal!");
$client->Message(6,"Your have scribed the spell Stonebrunt Portal!");
$client->Message(6,"Your have scribed the spell Grimling Forest Portal!");
quest::say("Excellent, Thank you, $class. Your Bots Lesser Moonstone of Portal spells have been scribed.");
quest::setglobal("bot_spell_3",1,5,"F");}
elsif (plugin::check_handin(\%itemcount,136 => 1)){ #Moonstone of Portals for the spell scriber
$client->Message(6,"Your have scribed the spell Twilight Portal!");
$client->Message(6,"Your have scribed the spell Iceclad Ocean Portal!");
$client->Message(6,"Your have scribed the spell Commons Portal!");
$client->Message(6,"Your have scribed the spell Wakening Lands Portal!"); #30399
$client->Message(6,"Your have scribed the spell Emerald Jungle Portal!");
$client->Message(6,"Your have scribed the spell Hate Plane Portal!");
$client->Message(6,"Your have scribed the spell Airplane Portal!");
$client->Message(6,"Your have scribed the spell Skyfire Portal!");
$client->Message(6,"Your have scribed the spell Great Divide Portal!"); #30423
$client->Message(6,"Your have scribed the spell Cobalt Scar Portal!"); #30425
$client->Message(6,"Your have scribed the spell Combines Portal!");
quest::say("Excellent, Thank you, $class. Your Bots Moonstone of Portal spells have been scribed.");
quest::setglobal("bot_spell_3",2,5,"F");}
elsif (plugin::check_handin(\%itemcount,132 => 1)){ #Greater Moonstone of Portals for the spell scriber
$client->Message(6,"Your have scribed the spell Wall of Slaughter Portal!");
$client->Message(6,"Your have scribed the spell Bloodfields Portal!"); # 77661
quest::say("Excellent, Thank you, $class. Your Bots Greater Moonstone of Portal spells have been scribed.");
quest::setglobal("bot_spell_3",3,5,"F");}
else {
quest::say("I have no use for this");
plugin::return_items(\%itemcount);}
}

# END of FILE Zone:many -- #Anita_Thrall.pl

Tilar
02-01-2010, 04:52 PM
Actually this one is simple and seems to work alright.

sub EVENT_SAY {
if($text=~/Hail/i){
quest::say("Greetings $name, I can scribe all of your [spells] if you wish.") ;}

if ($text=~/spells/i) { quest::say("Scribing your spells $name!");
quest::scribespells(65); }
}


#END of FILE Zone:poknowledge