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

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....
|
 |
|
 |

03-17-2008, 05:02 AM
|
|
Discordant
|
|
Join Date: May 2006
Posts: 356
|
|
Here is your Illusionist_Nomad Quest
Code:
#Illusionist_Nomaad.pl
#zone:poknowledge
#Magicdragon
sub EVENT_SAY
{
if($text=~/hail/i)
{
$npc->SetAppearance(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->SetAppearance(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->SetAppearance(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->SetAppearance(0);
quest::say("Yes, for someone of your level, I can cast [intellectual superiority] for 1 Platinum.");
quest::emote("begins to cry over the loss of income");
}
if($text=~/crap buffs/i && $ulevel<=10)
{
$npc->SetAppearance(0);
quest::say("Yes, fucking crap buffs. I can cast this [intellectual advancement] buff on you for 1 Platinum.");
quest::emote("begins to cry over the loss of income");
}
if($text=~/intellectual superiority/i)
{
$npc->SetAppearance(0);
quest::say("Intellectual Superiority: Increases your Effective Casting by 6, and lasts for 27 minutes. Open trade and hand me 1 Platinum for the buff.");
}
if($text=~/intellectual advancement/i)
{
$npc->SetAppearance(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 Platinum for the buff.");
}
}
sub EVENT_ITEM
{
if ($platinum >= '1' && $ulevel <= '10')
{
$npc->SetAppearance(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($platinum >= '1' && $ulevel >= '11')
{
$npc->SetAppearance(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 ...");
}
}
__________________
Random Segments of Code....
|
 |
|
 |
 |
|
 |

03-17-2008, 05:37 AM
|
|
Discordant
|
|
Join Date: May 2006
Posts: 356
|
|
Here's a working version of your Illusionist_Mindbender.pl
Code:
#Illusionist_Mindbender.pl
#zone:poknowledge
#Magicdragon
sub EVENT_SAY
{
if(($text=~/hail/i))
{
$npc->SetAppearance(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->SetAppearance(0);
quest::say("Well my friend, your [will] is only proficient for [breeze], it will cost you 1 platinum.");
}
if($text=~/bend/i && $ulevel>= 15 && $ulevel<= 29)
{
$npc->SetAppearance(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 platinum.");
}
if($text=~/bend/i && $ulevel>= 30 && $ulevel<= 45)
{
$npc->SetAppearance(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 platinum if you want it.");
}
if($text=~/bend/i && $ulevel>= 46 && $ulevel<= 50)
{
$npc->SetAppearance(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 platinum.");
}
if($text=~/bend/i && $ulevel>= 51 && $ulevel<= 55)
{
$npc->SetAppearance(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 platinum if you want it. [tranquility] is 35 platinum.");
}
if($text=~/bend/i && $ulevel>= 56 && $ulevel<= 59)
{
$npc->SetAppearance(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 platinum if you want it. [VOQ] is 40 platinum.");
}
if($text=~/bend/i && $ulevel>= 60)
{
$npc->SetAppearance(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 platinum 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 platinum.");
}
if($text=~/will/i)
{
$npc->SetAppearance(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->SetAppearance(0);
quest::say("Breeze: 4 to 6 mana per tick, and lasts 27 minutes. This spell will cost you 1 platinum.");
}
if($text=~/clarity/i)
{
$npc->SetAppearance(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 platinum.");
}
if($text=~/clarity 2/i)
{
$npc->SetAppearance(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 platinum.");
}
if($text=~/KEI/i)
{
$npc->SetAppearance(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 platinum.");
}
if($text=~/tranquility/i)
{
$npc->SetAppearance(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 platinum.");
}
if($text=~/VOQ/i)
{
$npc->SetAppearance(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 platinum.");
}
if($text=~/clairvoyance/i)
{
$npc->SetAppearance(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 platinum.");
}
}
sub EVENT_SPAWN
{
$x = $npc->GetX();
$y = $npc->GetY();
quest::set_proximity($x - 90, $x + 90, $y - 90, $y + 90);
}
sub EVENT_ENTER
{
$npc->SetAppearance(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($platinum >= '1' && $platinum <= '4' && $ulevel <= '45')
{
$npc->SetAppearance(0);
quest::selfcast(697);
quest::say("Thanks for the donation, check with Vicar Qadar for health buffs.");
}
if($platinum >= '5' && $platinum <= '9' && $ulevel <= '45' && $ulevel >= '15')
{
$npc->SetAppearance(0);
quest::selfcast(174);
quest::say("Thanks for the donation, check with Vicar Qadar for health buffs.");
}
if($platinum >= '10' && $platinum <= '29' && $ulevel <= '45' && $ulevel >= '30')
{
$npc->SetAppearance(0);
quest::selfcast(1693);
quest::say("Thanks for the donation, check with Vicar Qadar for health buffs.");
}
if($platinum >= '30' && $platinum <= '34' && $ulevel >= '46')
{
$npc->SetAppearance(0);
quest::selfcast(2570);
quest::say("Thanks for the donation, check with Vicar Qadar for health buffs.");
}
if($platinum >= '35' && $platinum <= '39' && $ulevel >= '51')
{
$npc->SetAppearance(0);
quest::selfcast(3350);
quest::say("Thanks for the donation, check with Vicar Qadar for health buffs.");
}
if($platinum >= '40' && $platinum <= '49' && $ulevel >= '56')
{
$npc->SetAppearance(0);
quest::selfcast(3360);
quest::say("Thanks for the donation, check with Vicar Qadar for health buffs.");
}
if($platinum >= '50' && $ulevel >= '60')
{
$npc->SetAppearance(0);
quest::selfcast(5522);
quest::say("Thanks for the donation, check with Vicar Qadar for health buffs.");
}
}
__________________
Random Segments of Code....
|
 |
|
 |

03-17-2008, 04:40 PM
|
|
Sarnak
|
|
Join Date: Feb 2008
Posts: 72
|
|
Wow, was it just the word Appearance in all of the code? I really suck at spelling, wow I can't believe it. Where there any other errors in the code? I really do want to learn what I did wrong as I plan to do many quest scripts in the future.
|

03-17-2008, 09:26 PM
|
|
Discordant
|
|
Join Date: May 2006
Posts: 356
|
|
Quote:
Originally Posted by Ut0pia
Wow, was it just the word Appearance in all of the code? I really suck at spelling, wow I can't believe it. Where there any other errors in the code? I really do want to learn what I did wrong as I plan to do many quest scripts in the future.
|
It turned out to be a little bit more than that. Appearance was causing the Hail's to not work, but Platinum was also misspelled. Check out the differences in sub EVENT_ITEM area to see where I made other changes.
__________________
Random Segments of Code....
|
 |
|
 |

03-17-2008, 11:21 PM
|
|
Sarnak
|
|
Join Date: Feb 2008
Posts: 72
|
|
Yeah, I figured that out after I posted the original scripts.
Well now that my scripts work, I want to take it a little further.
My mindbender script works very nicely, except for the fact that when you hail her, she responds to her own name. Since bend is a trigger, when she says something and since her name has the word bend in it, is there a way to script a trigger that says if something is said && player said it? I also run into this same problem with the soulbinders. Which is why I can't use "bind: as a trigger unless I change their names.
I also wanted to ask another question, but I honestly can't remember what it was, so I'll just ask it later.
Also I wanted to give credit where it is deserved. Aramid thanks a lot for correcting my scripts so that all I had to do was copy and paste. GeorgeS also helped out by helping me getting his script editor to work so I can check my syntax. But although it's not obvious here on this post, leslamarch helped me out a lot by explaining to me the uses of elsif's through private messages. He almost had both my scripts completely correctly, but Aramid beat him to it.
|
 |
|
 |
 |
|
 |

03-18-2008, 12:14 AM
|
|
Dragon
|
|
Join Date: May 2006
Location: Cincinnati, OH
Posts: 689
|
|
I have a script similar to that. I turned my girlfriend into an NPC vendor on our server, and have her use custom sayings for everyone on our server (all friends) who come up to her:
Code:
sub EVENT_SAY {
if($text =~ /hail/i && $name =~ /Greenmistlolz/) {
quest::say("You're so scaly! <3");
}
elsif($text =~ /hail/i && $name =~ /Tissirja/) {
quest::say("My favorite cleric! <3");
}
elsif($text =~ /hail/i && $name =~ /Chinc/) {
quest::say("Haha. You're hung like a five year old. Go back to playing Starcraft, we all hate you.");
}
elsif($text =~ /hail/i && $name =~ /Mabey/) {
quest::say("Either step away from me, or I'm going to Rambo your throat.");
}
elsif($text =~ /hail/i && $name =~ /Snacko/) {
quest::say("You're a tiny troll Jesus. Best shaman evar <3'");
}
elsif($text =~ /hail/i && $name =~ /Panthro/) {
quest::say("A black panther? You effing racist.");
}
elsif($text =~ /hail/i) {
quest::say("Welcome to the Order of Hasson server, how can I help you today?");
}
}
sub EVENT_ITEM {
if(($platinum==1) && ($gold==3) && ($silver==3) && ($copper==7)) {
quest::selfcast(6593);
quest::say("Hehe, enjoy!");
}
else{
quest::say("What the hell am I supposed to do with that? Take it back. And get away from me, freak!");
plugin::return_items(\%itemcount);
}
}
#Submitted by Jim Mills
Edited out a few of the more harshly worded ones :P
She has a basic hail that works for anyone, and then customized ones that work for anyone with a specific name. Hope this gets you on the right track.
|
 |
|
 |
| 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 10:14 AM.
|
|
 |
|
 |
|
|
|
 |
|
 |
|
 |