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 10-07-2011, 12:24 AM
BooPlumb
Fire Beetle
 
Join Date: Aug 2011
Posts: 13
Default Class Changing NPC

So I've been working on this NPC that will allow players to change their classes on a character and reset them to lvl 1 etc... What I want to do though is somehow right in the quest that remembers what lvl the player left off at on w/e class and regrant them it when they go back to that class, but I have no idea where to even start on that remembering part. If anyone has ever played FFXI, that is what I'm kinda trying to recreate, but in EQ. This is all I have and right now heh

Code:
sub EVENT_SAY {

my $interested = quest::saylink ("interested", 1);
my $WARNING = quest::saylink ("WARNING", 1);

my $Bard = quest::saylink ("Bard", 1);
my $Beastlord = quest::saylink ("Beastlord", 1);
my $Berserker = quest::saylink ("Berserker", 1);
my $Cleric = quest::saylink ("Cleric", 1);
my $Druid = quest::saylink ("Druid", 1);
my $Enchanter = quest::saylink ("Enchanter", 1);
my $Necromancer = quest::saylink ("Necromancer", 1);
my $Magician = quest::saylink ("Magician", 1);
my $Monk = quest::saylink ("Monk", 1);
my $Paladin = quest::saylink ("Paladin", 1);
my $Ranger = quest::saylink ("Ranger", 1);
my $Rogue = quest::saylink ("Rogue", 1);
my $Shadowknight = quest::saylink ("Shadowknight", 1);
my $Shaman = quest::saylink ("Shaman", 1);
my $Warrior = quest::saylink ("Warrior", 1);
my $Wizard = quest::saylink ("Wizard", 1);

	if ($text =~/Hail/i){
		quest::say ("I was sent to this planet with the power to allow you creatures to change your class. Are you [$interested]? Before moving along though, you should head my [$WARNING]!");
	}

	if ($text =~/WARNING/i){
		quest::say ("You will keep all your skill ups and spells, BUT, I will bring you back to level 1 till I'm given permission to keep your classes at their current level. Are you still [$interested]?");
	}

	if ($text =~/interested/i){
		quest::say ("What would you like to become?");
		quest::say ("[$Bard]");
		quest::say ("[$Beastlord]");
		quest::say ("[$Berserker]");
		quest::say ("[$Cleric]");
		quest::say ("[$Druid]");
		quest::say ("[$Enchanter]");
		quest::say ("[$Necromancer]");
		quest::say ("[$Magician]");
		quest::say ("[$Monk]");
		quest::say ("[$Paladin]");
		quest::say ("[$Ranger]");
		quest::say ("[$Rogue]");
		quest::say ("[$Shadowknight]");
		quest::say ("[$Shaman]");
		quest::say ("[$Warrior]");
		quest::say ("[$Wizard]");
	}

	if ($text =~/Bard/i){
		quest::level(1);
		quest::permaclass(8);
	}

	if ($text =~/Beastlord/i){
		quest::level(1);
		quest::permaclass(15);
	}

	if ($text =~/Berserker/i){
		quest::level(1);
		quest::permaclass(16);
	}

	if ($text =~/Cleric/i){
		quest::level(1);
		quest::permaclass(2);
	}

	if ($text =~/Druid/i){
		quest::level(1);
		quest::permaclass(6);
	}

	if ($text =~/Enchanter/i){
		quest::level(1);
		quest::permaclass(14);
	}

	if ($text =~/Necromancer/i){
		quest::level(1);
		quest::permaclass(11);
	}

	if ($text =~/Magician/i){
		quest::level(1);
		quest::permaclass(13);
	}

	if ($text =~/Monk/i){
		quest::level(1);
		quest::permaclass(7);
	}

	if ($text =~/Paladin/i){
		quest::level(1);
		quest::permaclass(3);
	}

	if ($text =~/Ranger/i){
		quest::level(1);
		quest::permaclass(4);
	}

	if ($text =~/Rogue/i){
		quest::level(1);
		quest::permaclass(9);
	}

	if ($text =~/Shadowknight/i){
		quest::level(1);
		quest::permaclass(5);
	}

	if ($text =~/Shaman/i){
		quest::level(1);
		quest::permaclass(10);
	}

	if ($text =~/Warrior/i){
		quest::level(1);
		quest::permaclass(1);
	}

	if ($text =~/Wizard/i){
		quest::level(1);
		quest::permaclass(12);
	}


}
Reply With Quote
  #2  
Old 10-07-2011, 01:12 AM
ChaosSlayerZ's Avatar
ChaosSlayerZ
Demi-God
 
Join Date: Mar 2009
Location: Umm
Posts: 1,492
Default

use a global variable to store their current level
Reply With Quote
  #3  
Old 10-07-2011, 02:41 AM
BooPlumb
Fire Beetle
 
Join Date: Aug 2011
Posts: 13
Default

Ok Ty. Thought it might have something to do with global but not fully understanding global yet. Will toy with it though now that I know global is the way to go. Tyvm
Reply With Quote
  #4  
Old 11-27-2011, 10:44 AM
pepsiphreak79
Sarnak
 
Join Date: Sep 2011
Posts: 70
Default

OHH wow this is a script im looking for is it working as it is withought any remembering lvl andsuch?
I want to use it to override race class limist
Reply With Quote
  #5  
Old 11-27-2011, 04:19 PM
pepsiphreak79
Sarnak
 
Join Date: Sep 2011
Posts: 70
Default

Hey the code you had there was working for me just fine till i modified it

It is specifically the
Code:
 		quest::rebind(2,603.198,-132.003,-14);
Part that is keeping it from woking when i take that out it works fine...
but when i change race and class i want to change bind point and also port him but the commands are failing

Code:
sub EVENT_SAY {

my $interested = quest::saylink ("interested", 1);
my $WARNING = quest::saylink ("WARNING", 1);

my $Bard = quest::saylink ("Bard", 1);
my $Beastlord = quest::saylink ("Beastlord", 1);
my $Berserker = quest::saylink ("Berserker", 1);
my $Cleric = quest::saylink ("Cleric", 1);
my $Druid = quest::saylink ("Druid", 1);
my $Enchanter = quest::saylink ("Enchanter", 1);
my $Necromancer = quest::saylink ("Necromancer", 1);
my $Magician = quest::saylink ("Magician", 1);
my $Monk = quest::saylink ("Monk", 1);
my $Paladin = quest::saylink ("Paladin", 1);
my $Ranger = quest::saylink ("Ranger", 1);
my $Rogue = quest::saylink ("Rogue", 1);
my $Shadowknight = quest::saylink ("Shadowknight", 1);
my $Shaman = quest::saylink ("Shaman", 1);
my $Warrior = quest::saylink ("Warrior", 1);
my $Wizard = quest::saylink ("Wizard", 1);

	if ($text =~/Hail/i){
		quest::say ("I was sent to this planet with the power to allow you creatures to change your class. Are you [$interested]? Before moving along though, you should head my [$WARNING]!");
	}

	if ($text =~/WARNING/i){
		quest::say ("You will keep all your skill ups and spells, BUT, I will bring you back to level 1 till I'm given permission to keep your classes at their current level. Are you still [$interested]?");
	}

	if ($text =~/interested/i){
		quest::say ("What would you like to become?");
		quest::say ("[$Bard]");
		quest::say ("[$Beastlord]");
		quest::say ("[$Berserker]");
		quest::say ("[$Cleric]");
		quest::say ("[$Druid]");
		quest::say ("[$Enchanter]");
		quest::say ("[$Necromancer]");
		quest::say ("[$Magician]");
		quest::say ("[$Monk]");
		quest::say ("[$Paladin]");
		quest::say ("[$Ranger]");
		quest::say ("[$Rogue]");
		quest::say ("[$Shadowknight]");
		quest::say ("[$Shaman]");
		quest::say ("[$Warrior]");
		quest::say ("[$Wizard]");
	}

	if ($text =~/Bard/i){
		quest::level(1);
		quest::permaclass(8);
	}

	if ($text =~/Beastlord/i){
		quest::level(1);
		quest::permaclass(15);
	}

	if ($text =~/Berserker/i){
		quest::level(1);
		quest::permaclass(16);
	}

	if ($text =~/Cleric/i){
		quest::level(1);
		quest::setstat(0,80);
		quest::setstat(1,85);
		quest::setstat(2,75);
		quest::setstat(3,75);
		quest::setstat(4,75);
		quest::setstat(5,110);
		quest::setstat(6,75);
		quest::rebind(2,603.198,-132.003,-14);
		quest::permaclass(2);
	}

	if ($text =~/Druid/i){
		quest::level(1);
		quest::permaclass(6);
	}

	if ($text =~/Enchanter/i){
		quest::level(1);
		quest::setstat(0,75);
		quest::setstat(1,75);
		quest::setstat(2,75);
		quest::setstat(3,75);
		quest::setstat(4,90);
		quest::setstat(5,75);
		quest::setstat(6,110);
		quest::rebind(1,-664.904,300.932,1);
		quest::permaclass(14);
	}

	if ($text =~/Necromancer/i){
		quest::level(1);
		quest::setstat(0,75);
		quest::setstat(1,80);
		quest::setstat(2,75);
		quest::setstat(3,85);
		quest::setstat(4,110);
		quest::setstat(5,75);
		quest::setstat(6,75);
		quest::rebind(45,-303.112,299.525,-41.969);
		quest::permaclass(11);
	}

	if ($text =~/Magician/i){
		quest::level(1);
		quest::setstat(0,75);
		quest::setstat(1,90);
		quest::setstat(2,75);
		quest::setstat(3,75);
		quest::setstat(4,110);
		quest::setstat(5,75);
		quest::setstat(6,75);
		quest::rebind(1,-665.487,326.763,1);
		quest::permaclass(13);
	}

	if ($text =~/Monk/i){
		quest::level(1);
		quest::setstat(0,80);
		quest::setstat(1,80);
		quest::setstat(2,105);
		quest::setstat(3,85);
		quest::setstat(4,75);
		quest::setstat(5,75);
		quest::setstat(6,75);
		quest::rebind(2,301.081,341.925,0);
		quest::permaclass(7);
	}

	if ($text =~/Paladin/i){
		quest::level(1);
		quest::setstat(0,85);
		quest::setstat(1,100);
		quest::setstat(2,75);
		quest::setstat(3,75);
		quest::setstat(4,75);
		quest::setstat(5,80);
		quest::setstat(6,85);
		quest::rebind(2,-678.183,-202.713,-14);
		quest::permaclass(3);
	}

	if ($text =~/Ranger/i){
		quest::level(1);
		quest::permaclass(4);
	}

	if ($text =~/Rogue/i){
		quest::level(1);
		quest::setstat(0,100);
		quest::setstat(1,75);
		quest::setstat(2,85);
		quest::setstat(3,90);
		quest::setstat(4,75);
		quest::setstat(5,75);
		quest::setstat(6,75);
		quest::rebind(2,148.978 30.997 -31);
		quest::permaclass(9);
	}

	if ($text =~/Shadowknight/i){
		quest::level(1);
		quest::setstat(0,85);
		quest::setstat(1,100);
		quest::setstat(2,75);
		quest::setstat(3,75);
		quest::setstat(4,85);
		quest::setstat(5,75);
		quest::setstat(6,80);
		quest::rebind(45,-370.828,429.554,-41.969);
		quest::permaclass(5);
	}

	if ($text =~/Shaman/i){
		quest::level(1);
		quest::permaclass(10);
	}

	if ($text =~/Warrior/i){
		quest::level(1);
		quest::setstat(0,85);
		quest::setstat(1,110);
		quest::setstat(2,80);
		quest::setstat(3,75);
		quest::setstat(4,75);
		quest::setstat(5,75);
		quest::setstat(6,75);
		quest::rebind(1,-551.646,56.166,0);
		quest::permaclass(1);
	}

	if ($text =~/Wizard/i){
		quest::level(1);
		quest::setstat(0,75);
		quest::setstat(1,90);
		quest::setstat(2,75);
		quest::setstat(3,75);
		quest::setstat(4,110);
		quest::setstat(5,75);
		quest::setstat(6,75);
		quest::rebind(1,-674.143,314.821,0);
		quest::permaclass(12);
	}


}
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 08:20 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 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3