EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Quests::Q&A (https://www.eqemulator.org/forums/forumdisplay.php?f=599)
-   -   Trying to make it give an item when you level up (https://www.eqemulator.org/forums/showthread.php?t=30228)

Terethian2 01-02-2010 11:24 AM

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?

joligario 01-02-2010 11:52 AM

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.

antioch 01-02-2010 11:58 AM

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);
        }
}


Terethian2 01-02-2010 12:08 PM

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!

Terethian2 01-02-2010 03:16 PM

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.'");
}
}

pfyon 01-02-2010 04:47 PM

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.

trevius 01-03-2010 03:01 AM

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.


All times are GMT -4. The time now is 11:28 PM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.