covou
05-11-2009, 02:02 PM
OK this is my first attempt at a player quest, and it isnt functionin as intended.
Whenever someone who has a $spelllevel != 150000 their spells script seems to loop. unscribing the spells. scribing them and displaying the message id...
Anyone hazard a guess as to why?
sub EVENT_ENTERZONE
{
my $spelllevel = $qglobals{spellspent};
if(!defined $qglobals{SpellRescribe})
{
if($class eq 'Enchanter' || $class eq 'Magician' || $class eq 'Shadowknight' || $class eq 'Wizard' || $class eq 'Necromancer' || $class eq 'Druid' || $class eq 'Shaman' || $class eq 'Cleric' || $class eq 'Paladin' || $class eq 'Ranger' || $class eq 'Beastlord' || $class eq 'Bard')
{
quest::unscribespells();
if($spelllevel == 0 && $ulevel =< 29)
{
quest::scribespells($ulevel);
}
if($spelllevel => 2200 && $spelllevel =< 2399)
{
quest::scribespells(30);
}
if($spelllevel => 2400 && $spelllevel =< 2599)
{
quest::scribespells(31);
}
if($spelllevel => 2600 && $spelllevel =< 2799)
{
quest::scribespells(32);
}
if($spelllevel => 2800 && $spelllevel =< 2999)
{
quest::scribespells(33);
}
if($spelllevel => 3000 && $spelllevel =< 3199)
{
quest::scribespells(34);
}
if($spelllevel => 3200 && $spelllevel =< 3399)
{
quest::scribespells(35);
}
if($spelllevel => 3400 && $spelllevel =< 3599)
{
quest::scribespells(36);
}
if($spelllevel => 3600 && $spelllevel =< 3799)
{
quest::scribespells(37);
}
if($spelllevel => 3800 && $spelllevel =< 3999)
{
quest::scribespells(38);
}
if($spelllevel => 4000 && $spelllevel =< 4199)
{
quest::scribespells(39);
}
if($spelllevel => 4200 && $spelllevel =< 4399)
{
quest::scribespells(40);
}
if($spelllevel => 4400 && $spelllevel =< 4599)
{
quest::scribespells(41);
}
if($spelllevel => 4600 && $spelllevel =< 4799)
{
quest::scribespells(42);
}
if($spelllevel => 4800 && $spelllevel =< 4999)
{
quest::scribespells(43);
}
if($spelllevel => 5000 && $spelllevel =< 5199)
{
quest::scribespells(44);
}
if($spelllevel => 5200 && $spelllevel =< 5399)
{
quest::scribespells(45);
}
if($spelllevel => 5400 && $spelllevel =< 5599)
{
quest::scribespells(46);
}
if($spelllevel => 5600 && $spelllevel =< 5799)
{
quest::scribespells(47);
}
if($spelllevel => 5800 && $spelllevel =< 5999)
{
quest::scribespells(48);
}
if($spelllevel => 6000 && $spelllevel =< 6199)
{
quest::scribespells(49);
}
if($spelllevel => 6200 && $spelllevel =< 6399)
{
quest::scribespells(50);
}
if($spelllevel => 6400 && $spelllevel =< 6599)
{
quest::scribespells(51);
}
if($spelllevel => 6600 && $spelllevel =< 6799)
{
quest::scribespells(52);
}
if($spelllevel => 6800 && $spelllevel =< 6999)
{
quest::scribespells(53);
}
if($spelllevel => 7000 && $spelllevel =< 7199)
{
quest::scribespells(54);
}
if($spelllevel => 7200 && $spelllevel =< 7399)
{
quest::scribespells(55);
}
if($spelllevel => 7400 && $spelllevel =< 7599)
{
quest::scribespells(56);
}
if($spelllevel => 7600 && $spelllevel =< 7799)
{
quest::scribespells(57);
}
if($spelllevel => 7800 && $spelllevel =< 7999)
{
quest::scribespells(58);
}
if($spelllevel => 8000 && $spelllevel =< 8299)
{
quest::scribespells(59);
}
if($spelllevel => 8400 && $spelllevel =< 8499)
{
quest::scribespells(60);
}
if($spelllevel => 8500 && $spelllevel =< 8999)
{
quest::scribespells(61);
}
if($spelllevel => 9000 && $spelllevel =< 9999)
{
quest::scribespells(62);
}
if($spelllevel => 10000 && $spelllevel =< 10999)
{
quest::scribespells(63);
}
if($spelllevel => 11000 && $spelllevel =< 11999)
{
quest::scribespells(64);
}
if($spelllevel => 12000 && $spelllevel =< 12999)
{
quest::scribespells(65);
}
if($spelllevel => 13000 && $spelllevel =< 14999)
{
quest::scribespells(66);
}
if($spelllevel => 15000 && $spelllevel =< 15999)
{
quest::scribespells(67);
}
if($spelllevel => 16000 && $spelllevel =< 17999)
{
quest::scribespells(68);
}
if($spelllevel => 18000 && $spelllevel =< 19999)
{
quest::scribespells(69);
}
if($spelllevel => 20000 && $spelllevel =< 21499)
{
quest::scribespells(70);
}
if($spelllevel => 21500 && $spelllevel =< 39999)
{
if($ulevel == 71)
{
quest::scribespells(71);
}
if($ulevel == 72)
{
quest::scribespells(72);
}
if($ulevel > 72)
{
quest::scribespells(73);
}
}
if($spelllevel => 40000 && $spelllevel =< 41999)
{
quest::scribespells(74);
}
if($spelllevel => 42000 && $spelllevel =< 43999)
{
quest::scribespells(75);
}
if($spelllevel => 44000 && $spelllevel =< 45999)
{
quest::scribespells(76);
}
if($spelllevel => 46000 && $spelllevel =< 49999)
{
quest::scribespells(77);
}
if($spelllevel => 50000 && $spelllevel =< 109999)
{
quest::scribespells(78);
}
if($spelllevel => 110000 && $spelllevel =< 114999)
{
quest::scribespells(79);
}
if($spelllevel => 115000 && $spelllevel =< 119999)
{
quest::scribespells(80);
}
if($spelllevel => 120000 && $spelllevel =< 124999)
{
quest::scribespells(81);
}
if($spelllevel => 125000 && $spelllevel =< 129999)
{
quest::scribespells(82);
}
if($spelllevel => 130000 && $spelllevel =< 134999)
{
quest::scribespells(83);
}
if($spelllevel => 135000 && $spelllevel =< 149999)
{
quest::scribespells(84);
}
if($spelllevel == 150000)
{
quest::scribespells(85);
}
$client->Message(15, "Your spells have been reset due to a new spell file implementation. Apologies.");
quest::setglobal("SpellRescribe",1,5,F);
}
}
}
Whenever someone who has a $spelllevel != 150000 their spells script seems to loop. unscribing the spells. scribing them and displaying the message id...
Anyone hazard a guess as to why?
sub EVENT_ENTERZONE
{
my $spelllevel = $qglobals{spellspent};
if(!defined $qglobals{SpellRescribe})
{
if($class eq 'Enchanter' || $class eq 'Magician' || $class eq 'Shadowknight' || $class eq 'Wizard' || $class eq 'Necromancer' || $class eq 'Druid' || $class eq 'Shaman' || $class eq 'Cleric' || $class eq 'Paladin' || $class eq 'Ranger' || $class eq 'Beastlord' || $class eq 'Bard')
{
quest::unscribespells();
if($spelllevel == 0 && $ulevel =< 29)
{
quest::scribespells($ulevel);
}
if($spelllevel => 2200 && $spelllevel =< 2399)
{
quest::scribespells(30);
}
if($spelllevel => 2400 && $spelllevel =< 2599)
{
quest::scribespells(31);
}
if($spelllevel => 2600 && $spelllevel =< 2799)
{
quest::scribespells(32);
}
if($spelllevel => 2800 && $spelllevel =< 2999)
{
quest::scribespells(33);
}
if($spelllevel => 3000 && $spelllevel =< 3199)
{
quest::scribespells(34);
}
if($spelllevel => 3200 && $spelllevel =< 3399)
{
quest::scribespells(35);
}
if($spelllevel => 3400 && $spelllevel =< 3599)
{
quest::scribespells(36);
}
if($spelllevel => 3600 && $spelllevel =< 3799)
{
quest::scribespells(37);
}
if($spelllevel => 3800 && $spelllevel =< 3999)
{
quest::scribespells(38);
}
if($spelllevel => 4000 && $spelllevel =< 4199)
{
quest::scribespells(39);
}
if($spelllevel => 4200 && $spelllevel =< 4399)
{
quest::scribespells(40);
}
if($spelllevel => 4400 && $spelllevel =< 4599)
{
quest::scribespells(41);
}
if($spelllevel => 4600 && $spelllevel =< 4799)
{
quest::scribespells(42);
}
if($spelllevel => 4800 && $spelllevel =< 4999)
{
quest::scribespells(43);
}
if($spelllevel => 5000 && $spelllevel =< 5199)
{
quest::scribespells(44);
}
if($spelllevel => 5200 && $spelllevel =< 5399)
{
quest::scribespells(45);
}
if($spelllevel => 5400 && $spelllevel =< 5599)
{
quest::scribespells(46);
}
if($spelllevel => 5600 && $spelllevel =< 5799)
{
quest::scribespells(47);
}
if($spelllevel => 5800 && $spelllevel =< 5999)
{
quest::scribespells(48);
}
if($spelllevel => 6000 && $spelllevel =< 6199)
{
quest::scribespells(49);
}
if($spelllevel => 6200 && $spelllevel =< 6399)
{
quest::scribespells(50);
}
if($spelllevel => 6400 && $spelllevel =< 6599)
{
quest::scribespells(51);
}
if($spelllevel => 6600 && $spelllevel =< 6799)
{
quest::scribespells(52);
}
if($spelllevel => 6800 && $spelllevel =< 6999)
{
quest::scribespells(53);
}
if($spelllevel => 7000 && $spelllevel =< 7199)
{
quest::scribespells(54);
}
if($spelllevel => 7200 && $spelllevel =< 7399)
{
quest::scribespells(55);
}
if($spelllevel => 7400 && $spelllevel =< 7599)
{
quest::scribespells(56);
}
if($spelllevel => 7600 && $spelllevel =< 7799)
{
quest::scribespells(57);
}
if($spelllevel => 7800 && $spelllevel =< 7999)
{
quest::scribespells(58);
}
if($spelllevel => 8000 && $spelllevel =< 8299)
{
quest::scribespells(59);
}
if($spelllevel => 8400 && $spelllevel =< 8499)
{
quest::scribespells(60);
}
if($spelllevel => 8500 && $spelllevel =< 8999)
{
quest::scribespells(61);
}
if($spelllevel => 9000 && $spelllevel =< 9999)
{
quest::scribespells(62);
}
if($spelllevel => 10000 && $spelllevel =< 10999)
{
quest::scribespells(63);
}
if($spelllevel => 11000 && $spelllevel =< 11999)
{
quest::scribespells(64);
}
if($spelllevel => 12000 && $spelllevel =< 12999)
{
quest::scribespells(65);
}
if($spelllevel => 13000 && $spelllevel =< 14999)
{
quest::scribespells(66);
}
if($spelllevel => 15000 && $spelllevel =< 15999)
{
quest::scribespells(67);
}
if($spelllevel => 16000 && $spelllevel =< 17999)
{
quest::scribespells(68);
}
if($spelllevel => 18000 && $spelllevel =< 19999)
{
quest::scribespells(69);
}
if($spelllevel => 20000 && $spelllevel =< 21499)
{
quest::scribespells(70);
}
if($spelllevel => 21500 && $spelllevel =< 39999)
{
if($ulevel == 71)
{
quest::scribespells(71);
}
if($ulevel == 72)
{
quest::scribespells(72);
}
if($ulevel > 72)
{
quest::scribespells(73);
}
}
if($spelllevel => 40000 && $spelllevel =< 41999)
{
quest::scribespells(74);
}
if($spelllevel => 42000 && $spelllevel =< 43999)
{
quest::scribespells(75);
}
if($spelllevel => 44000 && $spelllevel =< 45999)
{
quest::scribespells(76);
}
if($spelllevel => 46000 && $spelllevel =< 49999)
{
quest::scribespells(77);
}
if($spelllevel => 50000 && $spelllevel =< 109999)
{
quest::scribespells(78);
}
if($spelllevel => 110000 && $spelllevel =< 114999)
{
quest::scribespells(79);
}
if($spelllevel => 115000 && $spelllevel =< 119999)
{
quest::scribespells(80);
}
if($spelllevel => 120000 && $spelllevel =< 124999)
{
quest::scribespells(81);
}
if($spelllevel => 125000 && $spelllevel =< 129999)
{
quest::scribespells(82);
}
if($spelllevel => 130000 && $spelllevel =< 134999)
{
quest::scribespells(83);
}
if($spelllevel => 135000 && $spelllevel =< 149999)
{
quest::scribespells(84);
}
if($spelllevel == 150000)
{
quest::scribespells(85);
}
$client->Message(15, "Your spells have been reset due to a new spell file implementation. Apologies.");
quest::setglobal("SpellRescribe",1,5,F);
}
}
}