Go Back   EQEmulator Home > EQEmulator Forums > Quests > Quests::Q&A

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

Reply
 
Thread Tools Display Modes
  #1  
Old 01-02-2010, 11:24 AM
Terethian2
Sarnak
 
Join Date: Sep 2007
Posts: 30
Default 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?
Reply With Quote
  #2  
Old 01-02-2010, 11:52 AM
joligario's Avatar
joligario
Developer
 
Join Date: Mar 2003
Posts: 1,490
Default

You are trying to set the level. You should do:

Code:
if (($ulevel == 2) && ($class eq "Shaman")) {
FYI, you also have an extra closing bracket there for some reason.
Reply With Quote
  #3  
Old 01-02-2010, 11:58 AM
antioch
Fire Beetle
 
Join Date: Dec 2009
Posts: 23
Default

Try this;

Code:
sub EVENT_LEVEL_UP {
	quest::scribespells($ulevel);
	if ($ulevel == 2 && $class eq "Shaman"){
		quest::summonitem(7881);
	}
	if ($ulevel == 3 && $class eq "Shaman"){
		quest::summonitem(7881);
	}
	if ($ulevel == 4 && $class eq "Shaman"){
		quest::summonitem(7881);
	}
}
Reply With Quote
  #4  
Old 01-02-2010, 12:08 PM
Terethian2
Sarnak
 
Join Date: Sep 2007
Posts: 30
Default

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!
Reply With Quote
  #5  
Old 01-02-2010, 03:16 PM
Terethian2
Sarnak
 
Join Date: Sep 2007
Posts: 30
Default 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.'");
}
}
Reply With Quote
  #6  
Old 01-02-2010, 04:47 PM
pfyon's Avatar
pfyon
Discordant
 
Join Date: Mar 2009
Location: Ottawa
Posts: 495
Default

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.
Reply With Quote
  #7  
Old 01-03-2010, 03:01 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

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 {

	# Scribe spells up to their current level.
	quest::scribespells($ulevel);

	# Set all skills to 400.  Should only need to do this 1 time, so do it when they reach level 2.
	if ($ulevel == 2) {
		quest::setallskill(400);
	}

	# Create an Array of Item Rewards for each possible level.
	%Warrior = (
	2 => 5157,		# Item Name Note
	3 => 32150,		# Item Name Note
	4 => 31084,		# Item Name Note
	5 => 31085,		# Item Name Note
	6 => 31086,		# Item Name Note
	7 => 31087,		# Item Name Note
	8 => 31087,		# Item Name Note
	9 => 31088,		# Item Name Note
	10 => 31089,	# Item Name Note
	11 => 31090,	# Item Name Note
	12 => 17403,	# Item Name Note
	13 => 17403,	# Item Name Note
	14 => 17403,	# Item Name Note
	15 => 17403,	# Item Name Note
	16 => 1727,		# Item Name Note
	17 => 27200,	# Item Name Note
	18 => 28284,	# Item Name Note
	19 => 32334,	# Item Name Note
	20 => 68239,	# Item Name Note
	21 => 51268,	# Item Name Note
	22 => 7398,		# Item Name Note
	23 => 7945,		# Item Name Note
	24 => 1620,		# Item Name Note
	25 => 25077,	# Item Name Note
	26 => 6415,		# Item Name Note
	27 => 4318,		# Item Name Note
	28 => 24736,	# Item Name Note
	29 => 6417,		# Item Name Note
	30 => 25294,	# Item Name Note
	31 => 6428,		# Item Name Note
	32 => 31759,	# Item Name Note
	33 => 9205,		# Item Name Note
	34 => 2747,		# Item Name Note
	35 => 30377,	# Item Name Note
	36 => 8210,		# Item Name Note
	37 => 1745,		# Item Name Note
	38 => 51261,	# Item Name Note
	39 => 31307,	# Item Name Note
	40 => 27126,	# Item Name Note
	41 => 27258,	# Item Name Note
	42 => 7524,		# Item Name Note
	43 => 7850,		# Item Name Note
	44 => 25561,	# Item Name Note
	45 => 89255,	# Item Name Note
	46 => 87070,	# Item Name Note
	47 => 87071,	# Item Name Note
	48 => 87072,	# Item Name Note
	49 => 87072,	# Item Name Note
	50 => 87073,	# Item Name Note
	51 => 87074,	# Item Name Note
	52 => 87075,	# Item Name Note
	53 => 87076,	# Item Name Note
	54 => 25022,	# Item Name Note
	55 => 14679,	# Item Name Note
	56 => 14679,	# Item Name Note
	57 => 14703,	# Item Name Note
	58 => 25210,	# Item Name Note
	59 => 17869,	# Item Name Note
	60 => 109210,	# Item Name Note
	61 => 10909,	# Item Name Note
	62 => 86705,	# Item Name Note
	63 => 86671,	# Item Name Note
	64 => 86685,	# Item Name Note
	65 => 60321,	# Item Name Note
	);

	# Create the Necromancer Level Rewards Array.
	%Necromancer = (
	2 => 31069,		# Item Name Note
	3 => 31068,		# Item Name Note
	4 => 31067,		# Item Name Note
	5 => 31066,		# Item Name Note
	6 => 31066,		# Item Name Note
	7 => 31065,		# Item Name Note
	8 => 31064,		# Item Name Note
	9 => 31063,		# Item Name Note
	10 => 5316,		# Item Name Note
	11 => 13401,	# Item Name Note
	12 => 29115,	# Item Name Note
	13 => 17403,	# Item Name Note
	14 => 55299,	# Item Name Note
	15 => 55298,	# Item Name Note
	16 => 14742,	# Item Name Note
	17 => 25294,	# Item Name Note
	18 => 31759,	# Item Name Note
	19 => 1742,		# Item Name Note
	20 => 25555,	# Item Name Note
	21 => 68239,	# Item Name Note
	22 => 31355,	# Item Name Note
	23 => 68282,	# Item Name Note
	24 => 29615,	# Item Name Note
	25 => 24039,	# Item Name Note
	26 => 20548,	# Item Name Note
	27 => 24001,	# Item Name Note
	28 => 86904,	# Item Name Note
	29 => 90036,	# Item Name Note
	30 => 63053,	# Item Name Note
	31 => 9946,		# Item Name Note
	32 => 11305,	# Item Name Note
	33 => 11305,	# Item Name Note
	34 => 13622,	# Item Name Note
	35 => 15785,	# Item Name Note
	36 => 19023,	# Item Name Note
	37 => 20430,	# Item Name Note
	38 => 28947,	# Item Name Note
	39 => 43397,	# Item Name Note
	40 => 7771,		# Item Name Note
	41 => 24782,	# Item Name Note
	42 => 62206,	# Item Name Note
	43 => 9960,		# Item Name Note
	44 => 43434,	# Item Name Note
	45 => 40293,	# Item Name Note
	46 => 65524,	# Item Name Note
	47 => 55221,	# Item Name Note
	48 => 62197,	# Item Name Note
	49 => 70227,	# Item Name Note
	50 => 69203,	# Item Name Note
	51 => 69864,	# Item Name Note
	52 => 26009,	# Item Name Note
	53 => 7363,		# Item Name Note
	54 => 10875,	# Item Name Note
	55 => 43437,	# Item Name Note
	56 => 71429,	# Item Name Note
	57 => 71558,	# Item Name Note
	58 => 71341,	# Item Name Note
	59 => 87075,	# Item Name Note
	60 => 20544,	# Item Name Note
	61 => 86694,	# Item Name Note
	62 => 86794,	# Item Name Note
	63 => 86714,	# Item Name Note
	64 => 86734,	# Item Name Note
	65 => 62581,	# Item Name Note
	);

	# If they are over level 2 and match one of the classes that has reward arrays created for them, summon their reward.
	if ($ulevel >= 2 && ($class eq "Warrior" || $class eq "Necromancer")){

		my $rewarditemid = 0;

		# Generate the Item ID from the Class Arrays above
		if ($class eq "Warrior") {	
			$rewarditemid = $Warrior{$ulevel};
		}
		elsif ($class eq "Necromancer") {
			$rewarditemid = $Necromancer{$ulevel};
		}
		else {
			# Do Nothing
		}

		# Summon the appropriate Item ID
		quest::summonitem($rewarditemid);

		# Note, the following client message line is for testing purposes only, so you can see if the correct Item ID is being generated from the Arrays.
		# You can comment this line out or delete itonce you have verified that the script is functioning properly.
		$client->Message(15,"You should have been rewarded with the $class level $ulevel item with ID $rewarditemid.");
	}

	# Divide the character level by 5
	my $LevelDivided = $ulevel / 5;
	# Convert that output to an integer without decimals
	my $LevelDividedInt = int($LevelDivided);

	# If the divided level equals the integer version, then we know their current level is a multiple of 5
	if ($LevelDivided == $LevelDividedInt) { 
		if(!defined($qglobals{$class.$ulevel})) {
			quest::setglobal($class.$ulevel,$name,1,"F");
			quest::shout2("$name has obtained the servers first level $ulevel $class!");
		}
	}

}

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.'");
	}
	
}
Let me know if that doesn't work for ya.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!

Last edited by trevius; 01-03-2010 at 03:54 AM..
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 04:29 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3