PDA

View Full Version : auto add skills and spells on level up


rdurbin
05-09-2011, 04:31 PM
here is a levelup script that i made that will automatically add new skills that you would learn when you reach a certain level. For example, if you reach level 10 and you are a shadowknight it will automatically add dodge and set it to 10 just like a guildmaster would. It will also automatically add spells too when you level. The only problem is that for skills it will not work if you skipped a level. For example if you were level 9 and jumped to 11, you would not get dodge at 10. For general uses tho it works out well. You should stick this in the player.pl of the template folder and in any player.pl files that exist in other zone folders


sub EVENT_LEVEL_UP
{
quest::scribespells($ulevel);
quest::traindiscs($ulevel);
$myclass=$class;
if($myclass=~/ShadowKnight/i)
{
if($ulevel==6){quest::setskill("10",($ulevel));}
if($ulevel==10){quest::setskill("19",($ulevel));}
if($ulevel==17){quest::setskill("34",($ulevel));}
if($ulevel==20){quest::setskill("20",($ulevel));}
if($ulevel==30){quest::setskill("37",($ulevel));}
if($ulevel==40){quest::setskill("16",($ulevel));}
}

if($myclass=~/Warrior/i)
{
if($ulevel==6)
{
quest::setskill("10",($ulevel));
quest::setskill("19",($ulevel));
}
if($ulevel==10){quest::setskill("34",($ulevel));}
if($ulevel==13){quest::setskill("22",($ulevel));}
if($ulevel==15){quest::setskill("20",($ulevel));}
if($ulevel==25){quest::setskill("37",($ulevel));}
if($ulevel==35){quest::setskill("16",($ulevel));}
}
if($myclass=~/Necro/i||$myclass=~/Enchanter/i||
$myclass=~/Magician/i||$myclass=~/Wizard/i)
{
if($ulevel==16)
{
quest::setskill("58",($ulevel));
}
if($ulevel==20){quest::setskill("43",($ulevel));}
if($ulevel==20){quest::setskill("44",($ulevel));}
if($ulevel==20){quest::setskill("45",($ulevel));}
if($ulevel==20){quest::setskill("46",($ulevel));}
if($ulevel==20){quest::setskill("47",($ulevel));}
if($ulevel==20){$client->Message(5,"Remember you can only get 1 specializtion
over 50, the first one over 50 becomes your specialization");}

if($ulevel==22){quest::setskill("19",($ulevel));}
}
if($myclass=~/Cleric/i){if($ulevel==25){quest::setskill("10",($ulevel));}}
if($myclass=~/Shaman/i){if($ulevel==25){quest::setskill("59",($ulevel));}}
if($myclass=~/Druid/i)
{
if($ulevel==5){quest::setskill("27",($ulevel));}
if($ulevel==20){quest::setskill("53",($ulevel));}
}
if($myclass=~/Druid/i||$myclass=~/Shaman/i||$myclass=~/Cleric/i)
{
if($ulevel==15){quest::setskill("19",($ulevel));}
if($ulevel==30){quest::setskill("43",($ulevel));}
if($ulevel==30){quest::setskill("44",($ulevel));}
if($ulevel==30){quest::setskill("45",($ulevel));}
if($ulevel==30){quest::setskill("46",($ulevel));}
if($ulevel==30){quest::setskill("47",($ulevel));}
if($ulevel==30){$client->Message(5,"Remember you can only get 1 specialization
over 50, the first one over 50 becomes your specialization");}
}
if($myclass=~/rogue/i)
{
if($ulevel==4){quest::setskill("19",($ulevel));}
if($ulevel==5){quest::setskill("35",($ulevel));}
if($ulevel==7){quest::setskill("48",($ulevel));}
if($ulevel==10){quest::setskill("62",($ulevel));}
if($ulevel==10){quest::setskill("8",($ulevel));}
if($ulevel==12){quest::setskill("34",($ulevel));}
if($ulevel==12){quest::setskill("39",($ulevel));}
if($ulevel==13){quest::setskill("22",($ulevel));}
if($ulevel==15){quest::setskill("17",($ulevel));}
if($ulevel==16){quest::setskill("20",($ulevel));}
if($ulevel==18){quest::setskill("6",($ulevel));}
if($ulevel==20){quest::setskill("56",($ulevel));}
if($ulevel==22){quest::setskill("71",($ulevel));}
if($ulevel==27){quest::setskill("16",($ulevel));}
}
if($myclass=~/ranger/i)
{
if($ulevel==5){quest::setskill("30",($ulevel));}
if($ulevel==8){quest::setskill("19",($ulevel));}
if($ulevel==10){quest::setskill("42",($ulevel));}
if($ulevel==17){quest::setskill("22",($ulevel));}
if($ulevel==18){quest::setskill("34",($ulevel));}
if($ulevel==20){quest::setskill("20",($ulevel));}
if($ulevel==35){quest::setskill("17",($ulevel));}
if($ulevel==35){quest::setskill("37",($ulevel));}
}
if($myclass=~/monk/i)
{
if($ulevel==3){quest::setskill("39",($ulevel));}
if($ulevel==5){quest::setskill("38",($ulevel));}
if($ulevel==8){quest::setskill("42",($ulevel));}
if($ulevel==10){quest::setskill("52",($ulevel));}
if($ulevel==12){quest::setskill("11",($ulevel));}
if($ulevel==15){quest::setskill("20",($ulevel));}
if($ulevel==17){quest::setskill("28",($ulevel));}
if($ulevel==18){quest::setskill("71",($ulevel));}
if($ulevel==20){quest::setskill("23",($ulevel));}
if($ulevel==25){quest::setskill("21",($ulevel));}
if($ulevel==27){quest::setskill("17",($ulevel));}
if($ulevel==30){quest::setskill("26",($ulevel));}
if($ulevel==35){quest::setskill("37",($ulevel));}
}
if($myclass=~/bard/i)
{
if($ulevel==5){quest::setskill("70",($ulevel));}
if($ulevel==8){quest::setskill("49",($ulevel));}
if($ulevel==10){quest::setskill("31",($ulevel));}
if($ulevel==10){quest::setskill("35",($ulevel));}
if($ulevel==11){quest::setskill("12",($ulevel));}
if($ulevel==12){quest::setskill("27",($ulevel));}
if($ulevel==14){quest::setskill("54",($ulevel));}
if($ulevel==15){quest::setskill("62",($ulevel));}
if($ulevel==17){quest::setskill("22",($ulevel));}
if($ulevel==17){quest::setskill("42",($ulevel));}
if($ulevel==20){quest::setskill("17",($ulevel));}
if($ulevel==24){quest::setskill("39",($ulevel));}
if($ulevel==25){quest::setskill("29",($ulevel));}
if($ulevel==26){quest::setskill("71",($ulevel));}
if($ulevel==35){quest::setskill("53",($ulevel));}
if($ulevel==53){quest::setskill("34",($ulevel));}
if($ulevel==58){quest::setskill("37",($ulevel));}
}
if($myclass=~/paladin/i)
{
if($ulevel==6){quest::setskill("10",($ulevel));}
if($ulevel==10){quest::setskill("19",($ulevel));}
if($ulevel==17){quest::setskill("34",($ulevel));}
if($ulevel==20){quest::setskill("20",($ulevel));}
if($ulevel==30){quest::setskill("37",($ulevel));}
if($ulevel==40){quest::setskill("16",($ulevel));}
}
if($myclass=~/beastlord/i)
{
if($ulevel==5){quest::setskill("30",($ulevel));}
if($ulevel==10){quest::setskill("19",($ulevel));}
if($ulevel==17){quest::setskill("22",($ulevel));}
if($ulevel==25){quest::setskill("11",($ulevel));}
if($ulevel==40){quest::setskill("37",($ulevel));}
}
if($myclass=~/berserker/i)
{
if($ulevel==6){quest::setskill("74",($ulevel));}
if($ulevel==10){quest::setskill("19",($ulevel));}
if($ulevel==12){quest::setskill("34",($ulevel));}
if($ulevel==15){quest::setskill("20",($ulevel));}
if($ulevel==30){quest::setskill("37",($ulevel));}
if($ulevel==35){quest::setskill("16",($ulevel));}
}


}

scarboni
07-15-2011, 05:34 PM
Just something i noticed with your script you might wanna change

if($myclass=~/ShadowKnight/i)

to

if($myclass eq "Shadowknight")


This could be added if you want to scribe the previous levels spells or even further back, it might generate some spam so i dont suggest you go to far back.
$prelevel = $ulevel -1;

for($count = $prelevel; $count <= $ulevel; $count++) {
quest::scribespells($count);
quest::traindiscs($count);
}

bodi
10-15-2011, 05:38 PM
Using this and it works great. thanks a ton!