PDA

View Full Version : Perl Quest Script Help


Irreverent
09-12-2008, 11:08 AM
OK, I'm trying to do this quest for spell turn ins...its not working...any help?


sub EVENT_ITEM {
if((plugin::check_handin(\%itemcount, 11622 => 1)) ||
(plugin::check_handin(\%itemcount, 94071 => 1)) ||
(plugin::check_handin(\%itemcount, 11602 => 1))
)
{
quest::emote("Congratulations! You will now get one of your lvl 66 spells!");
If($class = 'Druid')
{quest::summonitem(quest::ChooseRandom(77084,77085 ,77087,77088,77852));}
if($class = 'Bard')
{quest::summonitem(quest::ChooseRandom(77111,77112 ,77113));}
if($class = 'Beastlord')
{quest::summonitem(quest::ChooseRandom(77255,77256 ));}
if($class = 'Cleric')
{quest::summonitem(quest::ChooseRandom(77001,77002 ,77003,77004,77005,77275,77843));}
if($class = 'Enchanter')
{quest::summonitem(quest::ChooseRandom(77233,77234 ,77235,77238,77272));}
if($class = 'Magician')
{quest::summonitem(quest::ChooseRandom(77202,77203 ,77208,77209,77210));}
if($class = 'Necromancer')
{quest::summonitem(quest::ChooseRandom(77157,77158 ,77159,77846));}
if($class = 'Ranger')
{quest::summonitem(quest::ChooseRandom(77047,77048 ,77049));}
if($class = 'Shadowknight')
{quest::summonitem(quest::ChooseRandom(77065,77066 ,77067,77849));}
if($class = 'Shaman')
{quest::summonitem(quest::ChooseRandom(77129,77130 ,77131,77132,77133));}
if($class = 'Paladin')
{quest::summonitem(quest::ChooseRandom(77028,77029 ,77031));}
if($class = 'Wizard')
{quest::summonitem(quest::ChooseRandom(77178,77179 ,77180,77182));}
}
else
{
quest::say("I don't need this or your class hasn't been implemented yet so check the forums.");
plugin::return_items(\%itemcount);
return 1;
}
}#Done

Angelox
09-12-2008, 11:23 AM
Are you checking for typos , etc, with something like Engine Site Perl Editor (http://enginsite.com/Perl.htm)?

Irreverent
09-12-2008, 11:30 AM
Hah, nope...I'm an old mainframe programmer...so do the compile and go...but will check that out!

I was thinking perhaps I wasn't using the $class correctly or something...

Angelox
09-12-2008, 11:51 AM
Always start with the easy stuff first (like typos), I've wasted days on stupid stuff because I didn't, and thought it was OK.
I'm not saying it is, but I just like to narrow things down.

Angelox
09-12-2008, 11:54 AM
I just remembered something ; replace the '=' with 'eq' as in If($class eq 'Druid')

Andrew80k
09-12-2008, 12:26 PM
I just remembered something ; replace the '=' with 'eq' as in If($class eq 'Druid')
If is capitalized. So make that lower cased. To do what Angelox said, you should use " instead of '. While it will probably work with the single quote, it is much more efficient to use the ".

Angelox
09-12-2008, 12:40 PM
I don't hardly look at the script they're having problems with, until I know they checked for typos, which is usually the case.
That's why you hardly ever see me stung up with a problem and posting for a solution. I look for the dumbest of mistakes first, which usually if not always, thats what it is.
My scripts get all screwy and don't work too :)
My favorite mistake is when I copy/paste a script (to save time), then get hidden characters that break the script; always happens when I forget to check for it, always takes me a day or two to figure it out again (I really saved a lot of time!).

Irreverent
09-12-2008, 12:42 PM
Well, the combination of all reccomendations fixed the problem! Thank you very much!