I thought that I would share my delevel script, as it does not require the person to be a set level, or an item to turn back in... If you want to modify it, you can allow this to be purchased or.. whatever you can imagine. I just thought I would share it, since not everyone wants to have to carry around an item that could be lost, duped, ect.
Code:
sub EVENT_SAY {
my $delevel = quest::saylink("delevel", 1);
my $ready = quest::saylink("ready", 1);
my $a = quest::saylink("1", 1);
my $b = quest::saylink("25", 1);
my $c = quest::saylink("50", 1);
my $d = quest::saylink("70", 1);
my $e = quest::saylink("85", 1);
my $plvl = $qglobals{"delevel"};
$client->Message(7, " ");
my $NPCName = $npc->GetCleanName();
if ($text=~/hail/i) {
if ($qglobals{"delevel"} < 1) {
$client->Message(315, "Larren says to you: 'Hello $name, would you like to [$delevel]? You can return to level $ulevel at any time!'");
} else {
$client->Message(315, "Larren says to you: 'Are you [$ready] to come back to level $plvl?");
}
}
if ($text eq "delevel") {
$client->Message(315, "Larren says to you: 'What level would you like to delevel to?");
if ($ulevel > 1) {$client->Message(315, "Level: $a");}
if ($ulevel > 25) {$client->Message(315, "Level: $b");}
if ($ulevel > 50) {$client->Message(315, "Level: $c");}
if ($ulevel > 70) {$client->Message(315, "Level: $d");}
if ($ulevel > 85) {$client->Message(315, "Level: $e");}
}
if ($text eq "1") {
if ($ulevel > 1) {
quest::setglobal("delevel",$ulevel,5,"F");
quest::level(1);
} else {
#obviously this can't happen...
}
}
if ($text eq "25") {
if ($ulevel > 25) {
quest::setglobal("delevel",$ulevel,5,"F");
quest::level(25);
} else {
$client->Message(315, "Larren says to you: 'Nice try, but no.");
}
}
if ($text eq "50") {
if ($ulevel > 50) {
quest::setglobal("delevel",$ulevel,5,"F");
quest::level(50);
} else {
$client->Message(315, "Larren says to you: 'Nice try, but no.");
}
}
if ($text eq "70") {
if ($ulevel > 70) {
quest::setglobal("delevel",$ulevel,5,"F");
quest::level(70);
} else {
$client->Message(315, "Larren says to you: 'Nice try, but no.");
}
}
if ($text eq "85") {
if ($ulevel > 85) {
quest::setglobal("delevel",$ulevel,5,"F");
quest::level(85);
} else {
$client->Message(315, "Larren says to you: 'Nice try, but no.");
}
}
if ($text eq "ready") {
$client->Message(315, "Larren says to you: 'Let me know if you need me again!");
quest::level($plvl);
quest::setglobal("delevel",0,5,"F");
}
}