Go Back   EQEmulator Home > EQEmulator Forums > Quests > Quests::Custom

Quests::Custom Custom Quests here

Reply
 
Thread Tools Display Modes
  #1  
Old 05-01-2015, 04:06 PM
serivoth1234
Sarnak
 
Join Date: Aug 2009
Location: bum f*#k egypt
Posts: 37
Default Quest question.

Okay I searched the forums i probably just missed it if so I apologize for this post. Is there a way too add AA exp through a quest? I've tried the few ideas that I had none of them seem to work.
Reply With Quote
  #2  
Old 05-01-2015, 04:14 PM
chrsschb's Avatar
chrsschb
Dragon
 
Join Date: Nov 2008
Location: GA
Posts: 905
Default

It's my understanding that there is only one way to earn/give exp:

Code:
quest::exp(0);
Whether or not the player receives AA or Regular exp would be based on their individual setting for AA/Exp ratio.
__________________
Clumsy's World: Resurgence
Clumsy's World [2006-2012]
Reply With Quote
  #3  
Old 05-01-2015, 04:43 PM
serivoth1234
Sarnak
 
Join Date: Aug 2009
Location: bum f*#k egypt
Posts: 37
Default

I was afraid of that, was hoping since you can add it via GM command we could pass it to the client through quest. Well thank you for your time.
Reply With Quote
  #4  
Old 05-01-2015, 08:42 PM
serivoth1234
Sarnak
 
Join Date: Aug 2009
Location: bum f*#k egypt
Posts: 37
Default

Is there a way to turn on AA exp gain before 51?
Reply With Quote
  #5  
Old 05-01-2015, 08:47 PM
dagulus2
Hill Giant
 
Join Date: Feb 2013
Posts: 220
Default

Quote:
Originally Posted by serivoth1234 View Post
Is there a way to turn on AA exp gain before 51?
AFAIK, there is no way to move the slider that means exp will be diverted to AA before 51, that is hardcoded in the client.

However, you can have quests reward AA points (or even specific AA abilities), so you could have, for example, an NPC that gives AA points in exchange for plat that would work at any level.
Reply With Quote
  #6  
Old 05-01-2015, 09:03 PM
ghanja's Avatar
ghanja
Dragon
 
Join Date: Aug 2012
Location: Hershey, PA
Posts: 499
Default

You can use GetEXP/GetAAEXP and SetEXP.

Code:
my $currentaaexp = $client->GetAAEXP();
my $currentregularexp = $client->GetEXP();
my $aaexptogive = 1000;
$client->SetEXP($currentregularexp,($currentaaexp+$aaexptogive));
Did unnecessary declaration to show you what's going on but:

Code:
$client->SetEXP($client->GetEXP(),($client->GetAAEXP()+1000));
Would be less code.
Reply With Quote
  #7  
Old 05-01-2015, 10:28 PM
serivoth1234
Sarnak
 
Join Date: Aug 2009
Location: bum f*#k egypt
Posts: 37
Default

I appreciate the replies, however It doesn't seem to work. I'm calling it on the event death of a mob, not awarding any AA exp though.
Reply With Quote
  #8  
Old 05-01-2015, 11:24 PM
ghanja's Avatar
ghanja
Dragon
 
Join Date: Aug 2012
Location: Hershey, PA
Posts: 499
Default

No, it wouldn't, there is quite a bit more code than one line to do what I think you're after, and it's hackery/exploitable at best.

Quote:
Is there a way too add AA exp through a quest?
I answered based on that, figured it was the normal everyday type of quest, but NPC's script would be different and what you're after.
Reply With Quote
  #9  
Old 05-01-2015, 11:32 PM
ghanja's Avatar
ghanja
Dragon
 
Join Date: Aug 2012
Location: Hershey, PA
Posts: 499
Default

It's not a very elegant way to do it and it is certainly untested (not even sure the NPC hasn't already cleared the hate list before the EVENT_DEATH call or not -- would need to look at the source) but, it may give you an idea:

Code:
sub EVENT_DEATH {
	my @hate_list = $npc->GetHateList();
	my $hate_count = @hate_list;
	if ($hate_count > 0) {
		foreach $ent (@hate_list) {
			$hate_entity = $ent->GetEnt();
			$hate_client = $hate_entity->CastToClient();
			if (($hate_entity->IsClient()) && (!$hate_client->IsBecomeNPC())) {
				$hate_client->SetEXP($hate_client->GetEXP(),($hate_client->GetAAExp()+1000));
			}
		}
	}
}
If the hate list is clear by the time EVENT_DEATH is called, then, well, even more coding will be necessary but, I'm not quite up to that tonight (have a few projects piling up).

Last edited by ghanja; 05-02-2015 at 09:04 PM.. Reason: case sensativity sucks
Reply With Quote
  #10  
Old 05-02-2015, 03:16 AM
serivoth1234
Sarnak
 
Join Date: Aug 2009
Location: bum f*#k egypt
Posts: 37
Default

Thank you ghanja I appreciate it all. I will test it tomorrow and see how it goes. Again thank you for taking the time.
Reply With Quote
  #11  
Old 05-02-2015, 11:02 AM
serivoth1234
Sarnak
 
Join Date: Aug 2009
Location: bum f*#k egypt
Posts: 37
Default

That doesn't work so I have a different question, is there a way to track a kill count on any mob that would award exp to player, then say after a set amount of kills award an AA point? Then reset the counter and start again? Basically give the illusion of AA exping?
Reply With Quote
  #12  
Old 05-02-2015, 02:52 PM
NatedogEZ's Avatar
NatedogEZ
Developer
 
Join Date: Dec 2012
Posts: 515
Default

I just noticed but you have at least one typo in that quest.

GetAAEXP should be GetAAExp


If you want to use AA Exp before level 51... changing this line.. might work.. might not :p

https://github.com/EQEmu/Server/blob...e/exp.cpp#L404


I might test this right now.. as it would allow me to use AAs without raising my level cap passed 50~


This works. The code above had a typo
Code:
$client->SetEXP($client->GetEXP(),($client->GetAAExp()+5000));

It works.. the AA Exp bar moves nicely

Reply With Quote
  #13  
Old 05-02-2015, 09:07 PM
ghanja's Avatar
ghanja
Dragon
 
Join Date: Aug 2012
Location: Hershey, PA
Posts: 499
Default

Was a night for typos for me last night I guess <grin> TY for finding that, I admit, I started with SetEXP first and copy/pasted it and added an "AA" in between Set and EXP. Case sensitivity FTW.

Was the source line change turn out to be necessary?
Reply With Quote
  #14  
Old 05-03-2015, 09:44 AM
serivoth1234
Sarnak
 
Join Date: Aug 2009
Location: bum f*#k egypt
Posts: 37
Default

For me it works however the exp bar does not update, the actual exp isn't reflected unless I zone and I never actually receive an aa point it just fills the exp bar.
Reply With Quote
  #15  
Old 05-03-2015, 03:49 PM
NatedogEZ's Avatar
NatedogEZ
Developer
 
Join Date: Dec 2012
Posts: 515
Default

You need to remove that level check I posted.. it needs to SendAAStats();or whatever to characters at any level, then it will work just fine
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 01:16 PM.


 

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