Trying to make it give an item when you level up
sub EVENT_LEVEL_UP {
quest::scribespells($ulevel); if($ulevel = 2)) && ($class, 'Shaman');{ quest::summonitem(7881); } if($ulevel = 3)) && ($class, 'Shaman');{ quest::summonitem(7881); } if($ulevel = 4)) && ($class, 'Shaman');{ quest::summonitem(7881); } } } What am I doing wrong here? |
You are trying to set the level. You should do:
Code:
if (($ulevel == 2) && ($class eq "Shaman")) { |
Try this;
Code:
sub EVENT_LEVEL_UP { |
joligario: The extra bracket is an accident I was pretty sure I plopped one too many but I knew my coding was off to begin with so I didn't worry about it!
antioch: Works perfectly! Thanks both of you! |
Not working exactly as planned
It gives the item for two classes but skips one of them and I have tons more to add, should I be incorporating elsif somehow?
sub EVENT_LEVEL_UP { quest::scribespells($ulevel); quest::addskill(0,400); quest::addskill(1,400); quest::addskill(2,400); quest::addskill(3,400); quest::addskill(4,400); quest::addskill(5,400); quest::addskill(6,400); quest::addskill(7,400); quest::addskill(8,400); quest::addskill(9,400); quest::addskill(10,400); quest::addskill(11,400); quest::addskill(12,400); quest::addskill(13,400); quest::addskill(14,400); quest::addskill(15,400); quest::addskill(16,400); quest::addskill(17,400); quest::addskill(18,400); quest::addskill(19,400); quest::addskill(20,400); quest::addskill(21,400); quest::addskill(22,400); quest::addskill(23,400); quest::addskill(24,400); quest::addskill(25,400); quest::addskill(26,400); quest::addskill(27,400); quest::addskill(28,400); quest::addskill(29,400); quest::addskill(30,400); quest::addskill(31,400); quest::addskill(32,400); quest::addskill(33,400); quest::addskill(34,400); quest::addskill(35,400); quest::addskill(36,400); quest::addskill(37,400); quest::addskill(38,400); quest::addskill(39,400); quest::addskill(40,400); quest::addskill(41,400); quest::addskill(42,400); quest::addskill(43,400); quest::addskill(44,400); quest::addskill(45,400); quest::addskill(46,400); quest::addskill(47,400); quest::addskill(48,400); quest::addskill(49,400); quest::addskill(50,400); quest::addskill(51,400); quest::addskill(52,400); quest::addskill(53,400); quest::addskill(54,400); quest::addskill(55,400); quest::addskill(56,400); quest::addskill(57,400); quest::addskill(58,400); quest::addskill(59,400); quest::addskill(60,400); quest::addskill(61,400); quest::addskill(62,400); quest::addskill(63,400); quest::addskill(64,400); quest::addskill(65,400); quest::addskill(66,400); quest::addskill(67,400); quest::addskill(68,400); quest::addskill(69,400); quest::addskill(70,400); quest::addskill(71,400); quest::addskill(72,400); quest::addskill(73,400); if ($ulevel == 2 && $class eq "Warrior"){ quest::summonitem(5157); } if ($ulevel == 3 && $class eq "Warrior"){ quest::summonitem(32150); } if ($ulevel == 4 && $class eq "Warrior"){ quest::summonitem(31084); } if ($ulevel == 5 && $class eq "Warrior"){ quest::summonitem(31085); } if ($ulevel == 6 && $class eq "Warrior"){ quest::summonitem(31086); } if ($ulevel == 7 && $class eq "Warrior"){ quest::summonitem(31087); } if ($ulevel == 8 && $class eq "Warrior"){ quest::summonitem(31087); } if ($ulevel == 9 && $class eq "Warrior"){ quest::summonitem(31088); } if ($ulevel == 10 && $class eq "Warrior"){ quest::summonitem(31089); } if ($ulevel == 11 && $class eq "Warrior"){ quest::summonitem(31090); } if ($ulevel == 12 && $class eq "Warrior"){ quest::summonitem(17403); } if ($ulevel == 13 && $class eq "Warrior"){ quest::summonitem(17403); } if ($ulevel == 14 && $class eq "Warrior"){ quest::summonitem(17403); } if ($ulevel == 15 && $class eq "Warrior"){ quest::summonitem(17403); } if ($ulevel == 16 && $class eq "Warrior"){ quest::summonitem(1727); } if ($ulevel == 17 && $class eq "Warrior"){ quest::summonitem(27200); } if ($ulevel == 18 && $class eq "Warrior"){ quest::summonitem(28284); } if ($ulevel == 19 && $class eq "Warrior"){ quest::summonitem(32334); } if ($ulevel == 20 && $class eq "Warrior"){ quest::summonitem(68239); } if ($ulevel == 21 && $class eq "Warrior"){ quest::summonitem(51268); } if ($ulevel == 22 && $class eq "Warrior"){ quest::summonitem(7398); } if ($ulevel == 23 && $class eq "Warrior"){ quest::summonitem(7945); } if ($ulevel == 24 && $class eq "Warrior"){ quest::summonitem(1620); } if ($ulevel == 25 && $class eq "Warrior"){ quest::summonitem(25077); } if ($ulevel == 26 && $class eq "Warrior"){ quest::summonitem(6415); } if ($ulevel == 27 && $class eq "Warrior"){ quest::summonitem(4318); } if ($ulevel == 28 && $class eq "Warrior"){ quest::summonitem(24736); } if ($ulevel == 29 && $class eq "Warrior"){ quest::summonitem(6417); } if ($ulevel == 30 && $class eq "Warrior"){ quest::summonitem(25294); } if ($ulevel == 31 && $class eq "Warrior"){ quest::summonitem(6428); } if ($ulevel == 32 && $class eq "Warrior"){ quest::summonitem(31759); } if ($ulevel == 33 && $class eq "Warrior"){ quest::summonitem(9205); } if ($ulevel == 34 && $class eq "Warrior"){ quest::summonitem(2747); } if ($ulevel == 35 && $class eq "Warrior"){ quest::summonitem(30377); } if ($ulevel == 36 && $class eq "Warrior"){ quest::summonitem(8210); } if ($ulevel == 37 && $class eq "Warrior"){ quest::summonitem(1745); } if ($ulevel == 38 && $class eq "Warrior"){ quest::summonitem(51261); } if ($ulevel == 39 && $class eq "Warrior"){ quest::summonitem(31307); } if ($ulevel == 40 && $class eq "Warrior"){ quest::summonitem(27126); } if ($ulevel == 41 && $class eq "Warrior"){ quest::summonitem(27258); } if ($ulevel == 42 && $class eq "Warrior"){ quest::summonitem(7524); } if ($ulevel == 43 && $class eq "Warrior"){ quest::summonitem(7850); } if ($ulevel == 44 && $class eq "Warrior"){ quest::summonitem(25561); } if ($ulevel == 45 && $class eq "Warrior"){ quest::summonitem(89255); } if ($ulevel == 46 && $class eq "Warrior"){ quest::summonitem(87070); } if ($ulevel == 47 && $class eq "Warrior"){ quest::summonitem(87071); } if ($ulevel == 48 && $class eq "Warrior"){ quest::summonitem(87072); } if ($ulevel == 49 && $class eq "Warrior"){ quest::summonitem(87072); } if ($ulevel == 50 && $class eq "Warrior"){ quest::summonitem(87073); } if ($ulevel == 51 && $class eq "Warrior"){ quest::summonitem(87074); } if ($ulevel == 52 && $class eq "Warrior"){ quest::summonitem(87075); } if ($ulevel == 53 && $class eq "Warrior"){ quest::summonitem(87076); } if ($ulevel == 54 && $class eq "Warrior"){ quest::summonitem(25022); } if ($ulevel == 55 && $class eq "Warrior"){ quest::summonitem(14679); } if ($ulevel == 56 && $class eq "Warrior"){ quest::summonitem(14679); } if ($ulevel == 57 && $class eq "Warrior"){ quest::summonitem(14703); } if ($ulevel == 58 && $class eq "Warrior"){ quest::summonitem(25210); } if ($ulevel == 59 && $class eq "Warrior"){ quest::summonitem(17869); } if ($ulevel == 60 && $class eq "Warrior"){ quest::summonitem(109210); } if ($ulevel == 61 && $class eq "Warrior"){ quest::summonitem(10909); } if ($ulevel == 62 && $class eq "Warrior"){ quest::summonitem(86705); } if ($ulevel == 63 && $class eq "Warrior"){ quest::summonitem(86671); } if ($ulevel == 64 && $class eq "Warrior"){ quest::summonitem(86685); } if ($ulevel == 65 && $class eq "Warrior"){ quest::summonitem(60321); } if ($ulevel == 2 && $class eq "Necromancer"){ quest::summonitem(31069); } if ($ulevel == 3 && $class eq "Necromancer"){ quest::summonitem(31068); } if ($ulevel == 4 && $class eq "Necromancer"){ quest::summonitem(31067); } if ($ulevel == 5 && $class eq "Necromancer"){ quest::summonitem(31066); } if ($ulevel == 6 && $class eq "Necromancer"){ quest::summonitem(31066); } if ($ulevel == 7 && $class eq "Necromancer"){ quest::summonitem(31065); } if ($ulevel == 8 && $class eq "Necromancer"){ quest::summonitem(31064); } if ($ulevel == 9 && $class eq "Necromancer"){ quest::summonitem(31063); } if ($ulevel == 10 && $class eq "Necromancer"){ quest::summonitem(5316); } if ($ulevel == 11 && $class eq "Necromancer"){ quest::summonitem(13401); } if ($ulevel == 12 && $class eq "Necromancer"){ quest::summonitem(29115); } if ($ulevel == 13 && $class eq "Necromancer"){ quest::summonitem(17403); } if ($ulevel == 14 && $class eq "Necromancer"){ quest::summonitem(55299); } if ($ulevel == 15 && $class eq "Necromancer"){ quest::summonitem(55298); } if ($ulevel == 16 && $class eq "Necromancer"){ quest::summonitem(14742); } if ($ulevel == 17 && $class eq "Necromancer"){ quest::summonitem(25294); } if ($ulevel == 18 && $class eq "Necromancer"){ quest::summonitem(31759); } if ($ulevel == 19 && $class eq "Necromancer"){ quest::summonitem(1742); } if ($ulevel == 20 && $class eq "Necromancer"){ quest::summonitem(25555); } if ($ulevel == 21 && $class eq "Necromancer"){ quest::summonitem(68239); } if ($ulevel == 22 && $class eq "Necromancer"){ quest::summonitem(31355); } if ($ulevel == 23 && $class eq "Necromancer"){ quest::summonitem(68282); } if ($ulevel == 24 && $class eq "Necromancer"){ quest::summonitem(29615); } if ($ulevel == 25 && $class eq "Necromancer"){ quest::summonitem(24039); } if ($ulevel == 26 && $class eq "Necromancer"){ quest::summonitem(20548); } if ($ulevel == 27 && $class eq "Necromancer"){ quest::summonitem(24001); } if ($ulevel == 28 && $class eq "Necromancer"){ quest::summonitem(86904); } if ($ulevel == 29 && $class eq "Necromancer"){ quest::summonitem(90036); } if ($ulevel == 30 && $class eq "Necromancer"){ quest::summonitem(63053); } if ($ulevel == 31 && $class eq "Necromancer"){ quest::summonitem(9946); } if ($ulevel == 32 && $class eq "Necromancer"){ quest::summonitem(11305); } if ($ulevel == 33 && $class eq "Necromancer"){ quest::summonitem(11305); } if ($ulevel == 34 && $class eq "Necromancer"){ quest::summonitem(13622); } if ($ulevel == 35 && $class eq "Necromancer"){ quest::summonitem(15785); } if ($ulevel == 36 && $class eq "Necromancer"){ quest::summonitem(19023); } if ($ulevel == 37 && $class eq "Necromancer"){ quest::summonitem(20430); } if ($ulevel == 38 && $class eq "Necromancer"){ quest::summonitem(28947); } if ($ulevel == 39 && $class eq "Necromancer"){ quest::summonitem(43397); } if ($ulevel == 40 && $class eq "Necromancer"){ quest::summonitem(7771); } if ($ulevel == 41 && $class eq "Necromancer"){ quest::summonitem(24782); } if ($ulevel == 42 && $class eq "Necromancer"){ quest::summonitem(62206); } if ($ulevel == 43 && $class eq "Necromancer"){ quest::summonitem(9960); } if ($ulevel == 44 && $class eq "Necromancer"){ quest::summonitem(43434); } if ($ulevel == 45 && $class eq "Necromancer"){ quest::summonitem(40293); } if ($ulevel == 46 && $class eq "Necromancer"){ quest::summonitem(65524); } if ($ulevel == 47 && $class eq "Necromancer"){ quest::summonitem(55221); } if ($ulevel == 48 && $class eq "Necromancer"){ quest::summonitem(62197); } if ($ulevel == 49 && $class eq "Necromancer"){ quest::summonitem(70227); } if ($ulevel == 50 && $class eq "Necromancer"){ quest::summonitem(69203); } if ($ulevel == 51 && $class eq "Necromancer"){ quest::summonitem(69864); } if ($ulevel == 52 && $class eq "Necromancer"){ quest::summonitem(26009); } if ($ulevel == 53 && $class eq "Necromancer"){ quest::summonitem(7363); } if ($ulevel == 54 && $class eq "Necromancer"){ quest::summonitem(10875); } if ($ulevel == 55 && $class eq "Necromancer"){ quest::summonitem(43437); } if ($ulevel == 56 && $class eq "Necromancer"){ quest::summonitem(71429); } if ($ulevel == 57 && $class eq "Necromancer"){ quest::summonitem(71558); } if ($ulevel == 58 && $class eq "Necromancer"){ quest::summonitem(71341); } if ($ulevel == 59 && $class eq "Necromancer"){ quest::summonitem(87075); } if ($ulevel == 60 && $class eq "Necromancer"){ quest::summonitem(20544); } if ($ulevel == 61 && $class eq "Necromancer"){ quest::summonitem(86694); } if ($ulevel == 62 && $class eq "Necromancer"){ quest::summonitem(86794); } if ($ulevel == 63 && $class eq "Necromancer"){ quest::summonitem(86714); } if ($ulevel == 64 && $class eq "Necromancer"){ quest::summonitem(86734); } if ($ulevel == 65 && $class eq "Necromancer"){ quest::summonitem(62581); } my $maxlvl = 5; my @classlist = ("Warrior", "Cleric", "Paladin", "Ranger", "ShadowKnight", "Druid", "Monk", "Bard", "Rogue", "Shaman", "Necromancer", "Wizard", "Magician", "Enchanter", "Beastlord", "Berserker"); foreach my $curclass (@classlist) { if(!defined($qglobals{$curclass."maxlvl"}) && $ulevel == $maxlvl && $curclass eq $class) { quest::setglobal($curclass."maxlvl",$name,2,"F"); quest::shout2("I have obtained the servers first level $ulevel $class!"); return; } } my $maxlvl = 10; my @classlist = ("Warrior", "Cleric", "Paladin", "Ranger", "ShadowKnight", "Druid", "Monk", "Bard", "Rogue", "Shaman", "Necromancer", "Wizard", "Magician", "Enchanter", "Beastlord", "Berserker"); foreach my $curclass (@classlist) { if(!defined($qglobals{$curclass."maxlvl"}) && $ulevel == $maxlvl && $curclass eq $class) { quest::setglobal($curclass."maxlvl",$name,2,"F"); quest::shout2("I have obtained the servers first level $ulevel $class!"); return; } } my $maxlvl = 15; my @classlist = ("Warrior", "Cleric", "Paladin", "Ranger", "ShadowKnight", "Druid", "Monk", "Bard", "Rogue", "Shaman", "Necromancer", "Wizard", "Magician", "Enchanter", "Beastlord", "Berserker"); foreach my $curclass (@classlist) { if(!defined($qglobals{$curclass."maxlvl"}) && $ulevel == $maxlvl && $curclass eq $class) { quest::setglobal($curclass."maxlvl",$name,2,"F"); quest::shout2("I have obtained the servers first level $ulevel $class!"); return; } } my $maxlvl = 20; my @classlist = ("Warrior", "Cleric", "Paladin", "Ranger", "ShadowKnight", "Druid", "Monk", "Bard", "Rogue", "Shaman", "Necromancer", "Wizard", "Magician", "Enchanter", "Beastlord", "Berserker"); foreach my $curclass (@classlist) { if(!defined($qglobals{$curclass."maxlvl"}) && $ulevel == $maxlvl && $curclass eq $class) { quest::setglobal($curclass."maxlvl",$name,2,"F"); quest::shout2("I have obtained the servers first level $ulevel $class!"); return; } } my $maxlvl = 25; my @classlist = ("Warrior", "Cleric", "Paladin", "Ranger", "ShadowKnight", "Druid", "Monk", "Bard", "Rogue", "Shaman", "Necromancer", "Wizard", "Magician", "Enchanter", "Beastlord", "Berserker"); foreach my $curclass (@classlist) { if(!defined($qglobals{$curclass."maxlvl"}) && $ulevel == $maxlvl && $curclass eq $class) { quest::setglobal($curclass."maxlvl",$name,2,"F"); quest::shout2("I have obtained the servers first level $ulevel $class!"); return; } } my $maxlvl = 30; my @classlist = ("Warrior", "Cleric", "Paladin", "Ranger", "ShadowKnight", "Druid", "Monk", "Bard", "Rogue", "Shaman", "Necromancer", "Wizard", "Magician", "Enchanter", "Beastlord", "Berserker"); foreach my $curclass (@classlist) { if(!defined($qglobals{$curclass."maxlvl"}) && $ulevel == $maxlvl && $curclass eq $class) { quest::setglobal($curclass."maxlvl",$name,2,"F"); quest::shout2("I have obtained the servers first level $ulevel $class!"); return; } } my $maxlvl = 35; my @classlist = ("Warrior", "Cleric", "Paladin", "Ranger", "ShadowKnight", "Druid", "Monk", "Bard", "Rogue", "Shaman", "Necromancer", "Wizard", "Magician", "Enchanter", "Beastlord", "Berserker"); foreach my $curclass (@classlist) { if(!defined($qglobals{$curclass."maxlvl"}) && $ulevel == $maxlvl && $curclass eq $class) { quest::setglobal($curclass."maxlvl",$name,2,"F"); quest::shout2("I have obtained the servers first level $ulevel $class!"); return; } } my $maxlvl = 40; my @classlist = ("Warrior", "Cleric", "Paladin", "Ranger", "ShadowKnight", "Druid", "Monk", "Bard", "Rogue", "Shaman", "Necromancer", "Wizard", "Magician", "Enchanter", "Beastlord", "Berserker"); foreach my $curclass (@classlist) { if(!defined($qglobals{$curclass."maxlvl"}) && $ulevel == $maxlvl && $curclass eq $class) { quest::setglobal($curclass."maxlvl",$name,2,"F"); quest::shout2("I have obtained the servers first level $ulevel $class!"); return; } } my $maxlvl = 45; my @classlist = ("Warrior", "Cleric", "Paladin", "Ranger", "ShadowKnight", "Druid", "Monk", "Bard", "Rogue", "Shaman", "Necromancer", "Wizard", "Magician", "Enchanter", "Beastlord", "Berserker"); foreach my $curclass (@classlist) { if(!defined($qglobals{$curclass."maxlvl"}) && $ulevel == $maxlvl && $curclass eq $class) { quest::setglobal($curclass."maxlvl",$name,2,"F"); quest::shout2("I have obtained the servers first level $ulevel $class!"); return; } } my $maxlvl = 50; my @classlist = ("Warrior", "Cleric", "Paladin", "Ranger", "ShadowKnight", "Druid", "Monk", "Bard", "Rogue", "Shaman", "Necromancer", "Wizard", "Magician", "Enchanter", "Beastlord", "Berserker"); foreach my $curclass (@classlist) { if(!defined($qglobals{$curclass."maxlvl"}) && $ulevel == $maxlvl && $curclass eq $class) { quest::setglobal($curclass."maxlvl",$name,2,"F"); quest::shout2("I have obtained the servers first level $ulevel $class!"); return; } } my $maxlvl = 55; my @classlist = ("Warrior", "Cleric", "Paladin", "Ranger", "ShadowKnight", "Druid", "Monk", "Bard", "Rogue", "Shaman", "Necromancer", "Wizard", "Magician", "Enchanter", "Beastlord", "Berserker"); foreach my $curclass (@classlist) { if(!defined($qglobals{$curclass."maxlvl"}) && $ulevel == $maxlvl && $curclass eq $class) { quest::setglobal($curclass."maxlvl",$name,2,"F"); quest::shout2("I have obtained the servers first level $ulevel $class!"); return; } } my $maxlvl = 60; my @classlist = ("Warrior", "Cleric", "Paladin", "Ranger", "ShadowKnight", "Druid", "Monk", "Bard", "Rogue", "Shaman", "Necromancer", "Wizard", "Magician", "Enchanter", "Beastlord", "Berserker"); foreach my $curclass (@classlist) { if(!defined($qglobals{$curclass."maxlvl"}) && $ulevel == $maxlvl && $curclass eq $class) { quest::setglobal($curclass."maxlvl",$name,2,"F"); quest::shout2("I have obtained the servers first level $ulevel $class!"); return; } } my $maxlvl = 65; my @classlist = ("Warrior", "Cleric", "Paladin", "Ranger", "ShadowKnight", "Druid", "Monk", "Bard", "Rogue", "Shaman", "Necromancer", "Wizard", "Magician", "Enchanter", "Beastlord", "Berserker"); foreach my $curclass (@classlist) { if(!defined($qglobals{$curclass."maxlvl"}) && $ulevel == $maxlvl && $curclass eq $class) { quest::setglobal($curclass."maxlvl",$name,2,"F"); quest::shout2("I have obtained the servers first level $ulevel $class!"); return; } } } sub EVENT_ENTERZONE { if(!defined($qglobals{Wayfarer}) && $ulevel >= 15) { $client->Message(15,"A mysterious voice whispers to you, 'If you can feel me in your thoughts, know this -- something is changing in the world and I reckon you should be a part of it. I do not know much, but I do know that in every home city and the wilds there are agents of an organization called the Wayfarers Brotherhood. They are looking for recruits . . . If you can hear this message, you are one of the chosen. Rush to your home city, or search the West Karanas and Rathe Mountains for a contact if you have been exiled from your home for your deeds, and find out more. Adventure awaits you, my friend.'"); } } |
Any time you only want one statement to be executed, you should use elsifs. In this case, you can be sure that only one statement will ever be executed (you can't be both a warrior and necro for example, and you won't be more than one lvl at the same time), so you should use elsifs there.
Using elsifs can reduce server load since once one if is found true, it won't check any of the other elsifs. |
I haven't tested this script yet, so there may be some issues with it, but it should be pretty close to being functional for what you are wanting. This should clean up your script considerably and make it easier to read and edit as needed. It should also make it considerably easier for you to add more classes to it. If this works correctly, it should mean you can adjust it with less chance of breaking something in the script and then having a hard time figuring out which of the hundreds of lines is the problem :)
Code:
sub EVENT_LEVEL_UP { |
All times are GMT -4. The time now is 11:28 PM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.