|
|
 |
 |
 |
 |
|
 |
 |
|
 |
 |
|
 |
|
Quests::Q&A This is the quest support section |
 |
|
 |

03-16-2008, 10:32 AM
|
Sarnak
|
|
Join Date: Feb 2008
Posts: 72
|
|
My Buff Bot, isn't working
These are my Buff Bots that I created using AnalogX's Illusionist_Nomaad.pl as a reference.
However, neither of them work and I don't know why.
Code:
#Illusionist_Nomaad.pl
sub EVENT_SAY
{
if(($text=~/hail/i))
{
$npc->SetApperance(0);
quest::emote("sighs at $name");
quest::say("Once upon a time, I was a very powerful Enchanter. However, during one of my Druken rampages I slaughtered the guards in High Keep. They started to hate me so much that they would [kill] me on sight.");
}
elsif(($text=~/kill/i))
{
$npc->SetApperance(0);
quest::emote("shakes his fists in anger");
quest::say("Then one of those damn nobles got me from behind. She killed me.... ME!!! I wanted to [hurt] myself!");
}
elsif(($text=~/hurt/i))
{
$npc->SetApperance(0);
quest::say("I went to bed that night. Sadly, in my durken mess, I forgot that I bound my soul right there in High Keep. The guards slaughtered me over and over till I woke up and I was level 17. Now instead of KEI, all I have for you are these [crap buffs]");
}
elsif(($text=~/crap buffs/i)&&($ulevel>=11))
{
$npc->SetApperance(0);
quest::say("Yes, for someone of your level, I can cast [intellectual superiority] for 1 platnium.");
quest::emote("begins to cry over the loss of income");
}
elsif(($text=~/crap buffs/i)&&($ulevel<=10))
$npc->SetApperance(0);
quest::say("Yes, fucking crap buffs. I can cast this [intellectual advancement] buff on you for 1 platnium.");
quest::emote("begins to cry over the loss of income");
}
elsif(($text=~/intellectual superiority/i))
{
$npc->SetApperance(0);
quest::say("Intellectual Superiority: Increases your Effective Casting by 6, and lasts for 27 minutes. Open trade and hand me 1 platnium for the buff.");
}
elsif(($text=~/intellectual advancement/i))
{
$npc->SetApperance(0);
quest::say("Intellectual Advancement: Increases your Effective Casting by 3, and lasts for 27 minutes. There is an upgraded version once you come back here at level 11. Open trade and hand me 1 platnium for the buff.");
}
}
sub EVENT_ITEM
{
if (($platnium>=1)&&($ulevel<=10))
{
$npc->SetApperance(0);
quest::selfcast(2561);
quest::say("Thanks for the donation, check with Illusionist Mindbender for some mind buffs or Vicar Qadar for health buffs.");
}
elsif(($platnium>=1)&&($ulevel>=11))
{
$npc->SetApperance(0);
quest:selfcast(2562);
quest::say("Thanks for the donation, check with Illusionist Mindbender for some mind buffs or Vicar Qadar for health buffs.");
}
else
{
quest::say("Thanks for the donation, but it sucked ...");
}
}
and of course:
Code:
sub EVENT_SAY
{
if(($text=~/hail/i))
{
$npc->SetApperance(0);
quest::emote("waves at $name");
quest::say("Welcome, welcome, I am the mighty Illusionist Mindbender and I'll happily bend your [mind] for a price");
}
elsif(($text=~/bend/i)&&($ulevel>= 1)&&($ulevel<= 14))
$npc->SetApperance(0);
quest::say("Well my friend, your [will] is only proficient for [breeze], it will cost you 1 platnium.");
}
elsif(($text=~/bend/i)&&($ulevel>= 15)&&($ulevel<= 29))
$npc->SetApperance(0);
quest::say("A lot of puney rats want my mind buffs, sadly their [will] is not as advanced, sadly you fall in this line and can only optain [clarity] from me, this spell will cost you 5 platnium.");
}
elsif(($text=~/bend/i)&&($ulevel>= 30)&&($ulevel<= 45))
$npc->SetApperance(0);
quest::say("Ha, I'd call you a Mid-be, in other words your [will] is strong enough to handle my [clarity 2] spell but still sucks. It's 10 platnium if you want it.");
}
elsif(($text=~/bend/i)&&($ulevel>= 46)&&($ulevel<= 50))
$npc->SetApperance(0);
quest::say("Nice, you can now forget Illusionist Orange here to my right, your [will] is quite powerful enough for [KEI]. However, it will cost you 30 platnium.");
}
elsif(($text=~/bend/i)&&($ulevel>= 51)&&($ulevel<= 55))
$npc->SetApperance(0);
quest::say("You have come to the right place friend, your [will] is capable of [tranquility]. It's better then [KEI], but does not last as long. [KEI] is still 30 platnium if you want it. [tranquility] is 35 platnium.");
}
elsif(($text=~/bend/i)&&($ulevel>= 56)&&($ulevel<= 59))
$npc->SetApperance(0);
quest::say("Wow, your [will] is quite strong, I can sense it pulse with energy. I can offer you [VOQ] which is much better then [KEI], but does not last as long. [KEI] is still 30 platnium if you want it. [VOQ] is 40 platnium.");
}
elsif(($text=~/bend/i)&&($ulevel>= 60))
$npc->SetApperance(0);
quest::emote("looks quite happy");
quest::say("FINALLY, Someone that I can respect! Your [will] is as powerful as mine. If you want [KEI] it's still 30 platnium as always. But why not take advantage of [clairvoyance]. It's much powerful then [KEI] but doesn't last as long. I can cast it on you for just 50 platnium.");
}
elsif(($text=~/will/i))
$npc->SetApperance(0);
quest::say("I can offer [breeze] starting at level 1, [clarity] at level 15, [clarity 2] at level 30, [KEI] at level 46, [tranquility] at level 51, [VOQ] at level 56, and finally and definitely something that will keep you up at night, [clairvoyance] at level 60.");
}
elsif(($text=~/breeze/i))
$npc->SetApperance(0);
quest::say("Breeze: 4 to 6 mana per tick, and lasts 27 minutes. This spell will cost you 1 platnium.");
}
elsif(($text=~/clarity/i))
$npc->SetApperance(0);
quest::say("Clarity: 7 to 9 mana per tick, and lasts 27 minutes. You need a will of at least level 15 to handle it. This spell will cost you 5 platnium.");
}
elsif(($text=~/clarity 2/i))
$npc->SetApperance(0);
quest::say("Clarity 2: 9 to 11 mana per tick, and lasts 35 minutes. You will need a will of at least level 30 to handle it. This spell will cost you 10 platnium.");
}
elsif(($text=~/KEI/i))
$npc->SetApperance(0);
quest::say("Koadic's Endless Intelligence: Increases mana pool by 250, 14 mana per tick, +25 WIS, +25 INT, and lasts 2 hours and 30 minutes. You will need a will of at least level 46 to handle this spell. It will cost you 30 platnium.");
}
elsif(($text=~/tranquility/i))
$npc->SetApperance(0);
quest::say("Tanquility: Increases mana pool by 260, 16 mana per tick, +26INT, +26WIS, and lasts 1 hour and 20 minutes. You will need a will of at least level 51. This spell will cost you 35 platnium.");
}
elsif(($text=~/VOQ/i))
$npc->SetApperance(0);
quest::say("Voice of Quellious: Increases mana pool by 275, 18 mana per tick, +28WIS, +28INT, and lasts 1 hour and 20 minutes. You will need a will of at least 56. This spell will cost you 40 platnium.");
}
elsif(($text=~/clairvoyance/i))
$npc->SetApperance(0);
quest::say("Clairvoyance: Increases mana pool by 400, 20 mana per tick, +32WIS, +32INT, and lasts 1 hour and 20 minutes. You will need a will of at least 60. This spell will cost you 50 platnium.");
}
}
sub EVENT_SPAWN
{
$x = $npc->GetX();
$y = $npc->GetY();
quest::set_proximity($x - 90, $x + 90, $y - 90, $y + 90);
}
sub EVENT_ENTER
{
$npc->SetApperance(1);
my $random_result = int(rand(100));
if ($random_result<=75)
{
quest::shout("Casting Mind Buffs for donations on the rock behind the main bank!");
}
else
{
#Do Nothing
}
}
sub EVENT_ITEM
{
if (($platnium>=1)&&($platnium<=4)&&($ulevel<=45))
{
$npc->SetApperance(0);
quest::selfcast(697);
quest::say("Thanks for the donation, check with Vicar Qadar for health buffs.");
}
elseif (($platnium>=5)&&($platnium<=9)&&($ulevel<=45)&&($ulevel>=15))
{
$npc->SetApperance(0);
quest::selfcast(174);
quest::say("Thanks for the donation, check with Vicar Qadar for health buffs.");
}
elseif (($platnium>=10)&&($platnium<=29)&&($ulevel<=45)&&($ulevel>=30))
{
$npc->SetApperance(0);
quest::selfcast(1693);
quest::say("Thanks for the donation, check with Vicar Qadar for health buffs.");
}
elseif (($platnium>=30)&&($platnium<=34)&&($ulevel>=46))
{
$npc->SetApperance(0);
quest::selfcast(2570);
quest::say("Thanks for the donation, check with Vicar Qadar for health buffs.");
}
elseif (($platnium>=35)&&($platnium<=39)&&($ulevel>=51))
{
$npc->SetApperance(0);
quest::selfcast(3350);
quest::say("Thanks for the donation, check with Vicar Qadar for health buffs.");
}
elseif (($platnium>=40)&&($platnium<=49)&&($ulevel>=56))
{
$npc->SetApperance(0);
quest::selfcast(3360);
quest::say("Thanks for the donation, check with Vicar Qadar for health buffs.");
}
elseif (($platnium>=50)&&($ulevel>=60))
{
$npc->SetApperance(0);
quest::selfcast(5522);
quest::say("Thanks for the donation, check with Vicar Qadar for health buffs.");
}
My questions are:
Why do my buff bots not work?
Is there a column in the npc_type table (or any other) that if set to a specific value will prevent scripts from running?
Thanks 
|
 |
|
 |

03-16-2008, 03:54 PM
|
Sarnak
|
|
Join Date: Feb 2008
Posts: 72
|
|
Just to post a quick note. I'm aware there are a few spelling errors in the script, all of which I've done my best to correct after I made this post. But the problem is the script does not work at all. Which leads me to my 3rd question.
If there is 1 error in the script, does it prevent the whole script from working?
Sorry, I'm really new at this.
|
 |
|
 |

03-16-2008, 10:00 PM
|
Sarnak
|
|
Join Date: Feb 2008
Posts: 72
|
|
Ok, after getting a little help and using the quest editor from GeorgeS, I was able to solve all the syntax problems. But they still don't work, oh joy.
So here is what I have so far:
Code:
#Illusionist_Nomaad.pl
#zone:poknowledge
#Magicdragon
sub EVENT_SAY
{
if($text=~/hail/i)
{
$npc->SetApperance(0);
quest::emote("sighs at $name");
quest::say("Once upon a time, I was a very powerful Enchanter. However, during one of my Drunken rampages I slaughtered the guards in High Keep. They started to hate me so much that they would [kill] me on sight.");
}
if($text=~/kill/i)
{
$npc->SetApperance(0);
quest::emote("shakes his fists in anger");
quest::say("Then one of those damn nobles got me from behind. She killed me.... ME!!! I wanted to [hurt] myself!");
}
if($text=~/hurt/i)
{
$npc->SetApperance(0);
quest::say("I went to bed that night. Sadly, in my drunken mess, I forgot that I bound my soul right there in High Keep. The guards slaughtered me over and over till I woke up and I was level 17. Now instead of KEI, all I have for you are these [crap buffs]");
}
if($text=~/crap buffs/i && $ulevel>=11)
{
$npc->SetApperance(0);
quest::say("Yes, for someone of your level, I can cast [intellectual superiority] for 1 platnium.");
quest::emote("begins to cry over the loss of income");
}
if($text=~/crap buffs/i && $ulevel<=10)
{
$npc->SetApperance(0);
quest::say("Yes, fucking crap buffs. I can cast this [intellectual advancement] buff on you for 1 platnium.");
quest::emote("begins to cry over the loss of income");
}
if($text=~/intellectual superiority/i)
{
$npc->SetApperance(0);
quest::say("Intellectual Superiority: Increases your Effective Casting by 6, and lasts for 27 minutes. Open trade and hand me 1 platnium for the buff.");
}
if($text=~/intellectual advancement/i)
{
$npc->SetApperance(0);
quest::say("Intellectual Advancement: Increases your Effective Casting by 3, and lasts for 27 minutes. There is an upgraded version once you come back here at level 11. Open trade and hand me 1 platnium for the buff.");
}
}
sub EVENT_ITEM
{
if ($platnium>=1 && $ulevel<=10)
{
$npc->SetApperance(0);
quest::selfcast(2561);
quest::say("Thanks for the donation, check with Illusionist Mindbender for some mind buffs or Vicar Qadar for health buffs.");
}
if($platnium>=1 && $ulevel>=11)
{
$npc->SetApperance(0);
quest:selfcast(2562);
quest::say("Thanks for the donation, check with Illusionist Mindbender for some mind buffs or Vicar Qadar for health buffs.");
}
else
{
quest::say("Thanks for the donation, but it sucked ...");
}
}
Now I know the code kind of works, he may not say a darn thing when you hail him. But he does say "Thanks for the donation, but it sucked... no matter how much platnium you give him. So blah. Of course I just realized I spelled PLATINUM wrong.. but that still does not give a reason why his hails won't work. Please get back to me on that one. Thanks
Here is the updaded Illusionist Mindbender:
Code:
#Illusionist_Mindbender.pl
#zone:poknowledge
#Magicdragon
sub EVENT_SAY
{
if(($text=~/hail/i))
{
$npc->SetApperance(0);
quest::emote("waves at $name");
quest::say("Welcome, welcome, I am the mighty Illusionist Mindbender and I'll happily [bend] your mind for a price");
}
if($text=~/bend/i && $ulevel>= 1 && $ulevel<= 14)
{
$npc->SetApperance(0);
quest::say("Well my friend, your [will] is only proficient for [breeze], it will cost you 1 platnium.");
}
if($text=~/bend/i && $ulevel>= 15 && $ulevel<= 29)
{
$npc->SetApperance(0);
quest::say("A lot of puney rats want my mind buffs, sadly their [will] is not as advanced, sadly you fall in this line and can only obtain [clarity] from me, this spell will cost you 5 platnium.");
}
if($text=~/bend/i && $ulevel>= 30 && $ulevel<= 45)
{
$npc->SetApperance(0);
quest::say("Ha, I'd call you a Mid-be, in other words your [will] is strong enough to handle my [clarity 2] spell which still sucks. It's 10 platnium if you want it.");
}
if($text=~/bend/i && $ulevel>= 46 && $ulevel<= 50)
{
$npc->SetApperance(0);
quest::say("Nice, you can now forget Illusionist Orange here to my right, your [will] is quite powerful enough for [KEI]. However, it will cost you 30 platnium.");
}
if($text=~/bend/i && $ulevel>= 51 && $ulevel<= 55)
{
$npc->SetApperance(0);
quest::say("You have come to the right place friend, your [will] is capable of [tranquility]. It's better then [KEI], but does not last as long. [KEI] is still 30 platnium if you want it. [tranquility] is 35 platnium.");
}
if($text=~/bend/i && $ulevel>= 56 && $ulevel<= 59)
{
$npc->SetApperance(0);
quest::say("Wow, your [will] is quite strong, I can sense it pulse with energy. I can offer you [VOQ] which is much better then [KEI], but does not last as long. [KEI] is still 30 platnium if you want it. [VOQ] is 40 platnium.");
}
if($text=~/bend/i && $ulevel>= 60)
{
$npc->SetApperance(0);
quest::emote("looks quite happy");
quest::say("FINALLY, Someone that I can respect! Your [will] is as powerful as mine. If you want [KEI] it's still 30 platnium as always. But why not take advantage of [clairvoyance]. It's much more powerful then [KEI] but doesn't last as long. I can cast it on you for just 50 platnium.");
}
if($text=~/will/i)
{
$npc->SetApperance(0);
quest::say("I can offer [breeze] starting at level 1, [clarity] at level 15, [clarity 2] at level 30, [KEI] at level 46, [tranquility] at level 51, [VOQ] at level 56, and finally and definitely something that will keep you up at night, [clairvoyance] at level 60.");
}
if($text=~/breeze/i)
{
$npc->SetApperance(0);
quest::say("Breeze: 4 to 6 mana per tick, and lasts 27 minutes. This spell will cost you 1 platnium.");
}
if($text=~/clarity/i)
{
$npc->SetApperance(0);
quest::say("Clarity: 7 to 9 mana per tick, and lasts 27 minutes. You need a will of at least level 15 to handle it. This spell will cost you 5 platnium.");
}
if($text=~/clarity 2/i)
{
$npc->SetApperance(0);
quest::say("Clarity 2: 9 to 11 mana per tick, and lasts 35 minutes. You will need a will of at least level 30 to handle it. This spell will cost you 10 platnium.");
}
if($text=~/KEI/i)
{
$npc->SetApperance(0);
quest::say("Koadic's Endless Intelligence: Increases mana pool by 250, 14 mana per tick, +25 WIS, +25 INT, and lasts 2 hours and 30 minutes. You will need a will of at least level 46 to handle this spell. It will cost you 30 platnium.");
}
if($text=~/tranquility/i)
{
$npc->SetApperance(0);
quest::say("Tanquility: Increases mana pool by 260, 16 mana per tick, +26INT, +26WIS, and lasts 1 hour and 20 minutes. You will need a will of at least level 51. This spell will cost you 35 platnium.");
}
if($text=~/VOQ/i)
{
$npc->SetApperance(0);
quest::say("Voice of Quellious: Increases mana pool by 275, 18 mana per tick, +28WIS, +28INT, and lasts 1 hour and 20 minutes. You will need a will of at least 56. This spell will cost you 40 platnium.");
}
if($text=~/clairvoyance/i)
{
$npc->SetApperance(0);
quest::say("Clairvoyance: Increases mana pool by 400, 20 mana per tick, +32WIS, +32INT, and lasts 1 hour and 20 minutes. You will need a will of at least 60. This spell will cost you 50 platnium.");
}
}
sub EVENT_SPAWN
{
$x = $npc->GetX();
$y = $npc->GetY();
quest::set_proximity($x - 90, $x + 90, $y - 90, $y + 90);
}
sub EVENT_ENTER
{
$npc->SetApperance(1);
my $random_result = int(rand(100));
if($random_result<=75)
{
quest::shout("Casting Mind Buffs for donations on the rock behind the main bank!");
}
else
{
#Do Nothing
}
}
sub EVENT_ITEM
{
if($platnium>=1 && $platnium<=4 && $ulevel<=45)
{
$npc->SetApperance(0);
quest::selfcast(697);
quest::say("Thanks for the donation, check with Vicar Qadar for health buffs.");
}
if($platnium>=5 && $platnium<=9 && $ulevel<=45 && $ulevel>=15)
{
$npc->SetApperance(0);
quest::selfcast(174);
quest::say("Thanks for the donation, check with Vicar Qadar for health buffs.");
}
if($platnium>=10 && $platnium<=29 && $ulevel<=45 && $ulevel>=30)
{
$npc->SetApperance(0);
quest::selfcast(1693);
quest::say("Thanks for the donation, check with Vicar Qadar for health buffs.");
}
if($platnium>=30 && $platnium<=34 && $ulevel>=46)
{
$npc->SetApperance(0);
quest::selfcast(2570);
quest::say("Thanks for the donation, check with Vicar Qadar for health buffs.");
}
if($platnium>=35 && $platnium<=39 && $ulevel>=51)
{
$npc->SetApperance(0);
quest::selfcast(3350);
quest::say("Thanks for the donation, check with Vicar Qadar for health buffs.");
}
if($platnium>=40 && $platnium<=49 && $ulevel>=56)
{
$npc->SetApperance(0);
quest::selfcast(3360);
quest::say("Thanks for the donation, check with Vicar Qadar for health buffs.");
}
if($platnium>=50 && $ulevel>=60)
{
$npc->SetApperance(0);
quest::selfcast(5522);
quest::say("Thanks for the donation, check with Vicar Qadar for health buffs.");
}
}
Now again, these scripts were based off AnalogX's Illusionist_Nomaad.pl scripts as a reference. Aighty, thanks a bunch 
|
 |
|
 |

03-16-2008, 10:55 PM
|
Sarnak
|
|
Join Date: Feb 2008
Posts: 72
|
|
Just as a another note, AnalogX... sorry..
Correction: Angelox 
|

03-17-2008, 12:35 AM
|
Dragon
|
|
Join Date: May 2006
Location: Cincinnati, OH
Posts: 689
|
|
Saw this in the first file: "quest:selfcast(2562);"
Need to have another colon there. "quest::selfcast(2562);"
|

03-17-2008, 04:36 AM
|
Discordant
|
|
Join Date: May 2006
Posts: 356
|
|
It's not working because the word Apperance is misspelled. It should be Appearance. Once I changed that it works on my system.
__________________
Random Segments of Code....
|
Thread Tools |
|
Display Modes |
Hybrid Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 06:38 PM.
|
|
 |
|
 |
|
|
|
 |
|
 |
|
 |