Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::General Support

Support::General Support Post all topics here having to do with errors while trying to connect to an EQEMu server but not about the setup/running of the Server itself.

Reply
 
Thread Tools Display Modes
  #1  
Old 06-26-2008, 01:51 AM
spider661
Discordant
 
Join Date: Oct 2005
Location: michigain
Posts: 260
Default healing spells not agroing?

i was watching a raid the tonight and they wiped after the clr healing alot but never hitting. but none of the npcs in the raid agroed the clr even after they wiped the clr walked over rezzed them all and medded back up never getting agro.

i asked about it and they sayed heal spells are not grabing agro they never reported becuase they thought thats the way i set it..

so my question is y are the heal spells not grabing agro?
Reply With Quote
  #2  
Old 06-26-2008, 01:59 AM
ChaosSlayer
Demi-God
 
Join Date: May 2007
Posts: 1,032
Default

there are server rules which server admin can set. One of them is such that spells generate 0 agro
Reply With Quote
  #3  
Old 06-26-2008, 02:10 AM
spider661
Discordant
 
Join Date: Oct 2005
Location: michigain
Posts: 260
Default

i looked there is not one for healing spells or if there is i missed it but all the agro stuff had something set in it unless there is one for healing that is not in my db then maybe thats y?
Reply With Quote
  #4  
Old 06-26-2008, 02:20 AM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

It's a known problem with healing spells, they wont generate aggro unless the character has established aggro already.
Reply With Quote
  #5  
Old 06-26-2008, 02:23 AM
spider661
Discordant
 
Join Date: Oct 2005
Location: michigain
Posts: 260
Default

is there a fix? or maybe if i add extra hate to the spell its self with a spell editor will that do it?
Reply With Quote
  #6  
Old 06-26-2008, 03:12 AM
ChaosSlayer
Demi-God
 
Join Date: May 2007
Posts: 1,032
Default

dang thats makes raids ultra easy...
basicly the logic of heal agro should work like this:

if player X has agro with mob Y, then ANY beneficial spell cast on player X will be tracked to ist soruce (the caster) and caster placed on mobs hate list
Reply With Quote
  #7  
Old 06-26-2008, 03:20 AM
spider661
Discordant
 
Join Date: Oct 2005
Location: michigain
Posts: 260
Default

i wonder if you could use the quest system to make them get agro then if its like it says once they are on the hate list then they build agro..

i remember seeing something about when a spell is cast on the npc.. maybe check if its a heal spell then if it is put them on the hate list with some agro from the heal type. then there on the hate list and build agro?
Reply With Quote
  #8  
Old 06-26-2008, 03:29 AM
spider661
Discordant
 
Join Date: Oct 2005
Location: michigain
Posts: 260
Default

ya would this not working looking at it i think it would

Added on 4/26/08 quest event EVENT_CAST_ON will trigger if a player casts on a npc.

then use the mob quest object
AddToHateList(other, hate= 0, damage= 0, iYellForHelp= true, bFrenzy= false, iBuffTic= false)

im not sure what other means though
Reply With Quote
  #9  
Old 06-26-2008, 03:20 PM
spider661
Discordant
 
Join Date: Oct 2005
Location: michigain
Posts: 260
Default

ok so far i have this to test

Code:
sub EVENT_CAST_ON
{
$mob->AddToHateList(other, hate= 100, damage= 1)
}
prob is im still learning the scripting for eqemu.

what is other, would that be the player? and how would i get the player object its the one that last cast the spell so is there an object for that or would it jsut be $client?
Reply With Quote
  #10  
Old 06-26-2008, 04:08 PM
Congdar
Developer
 
Join Date: Jul 2007
Location: my own little world
Posts: 751
Default

if the heal aggro code is currently broke, maybe fix it like this:

Code:
Existing Code:

else if (IsBeneficialSpell(spell_id) && spelltar->GetHateAmount(this) > 1)
		entity_list.AddHealAggro(spelltar, this, chekHealAggroAmount(spell_id));
Code:
Option A:
else if (IsBeneficialSpell(spell_id) && spelltar->IsEngaged()) {
        Mob* targetstarget = spelltar->GetTarget();
        targetstarget->AddToHateList(this->CastToMob(), CheckHealAggroAmount(spell_id));
}
Code:
Option B:
else if (IsBeneficialSpell(spell_id) && spelltar->IsEngaged()) {
        Mob* targetstarget = spelltar->GetTarget();
        entity_list.AddHealAggro(targetstarget, this, CheckHealAggroAmount(spell_id));
}
Reply With Quote
  #11  
Old 06-26-2008, 04:25 PM
spider661
Discordant
 
Join Date: Oct 2005
Location: michigain
Posts: 260
Default

Quote:
Originally Posted by Congdar View Post
if the heal aggro code is currently broke, maybe fix it like this:

Code:
Existing Code:

else if (IsBeneficialSpell(spell_id) && spelltar->GetHateAmount(this) > 1)
		entity_list.AddHealAggro(spelltar, this, chekHealAggroAmount(spell_id));
Where did you get this code from?

is it in one of the source files?
Reply With Quote
  #12  
Old 06-26-2008, 04:26 PM
Congdar
Developer
 
Join Date: Jul 2007
Location: my own little world
Posts: 751
Default

I think getTarget() could be exploited so maybe use one of the hatelist options GetHateTop() GetHateMost() or GetHateRandom()
Code:
spells.cpp

Option C:
else if (IsBeneficialSpell(spell_id) && spelltar->IsEngaged()) {
        Mob* targetstarget = spelltar->GetHateTop();
        targetstarget->AddToHateList(this->CastToMob(), CheckHealAggroAmount(spell_id));
}
Reply With Quote
  #13  
Old 06-26-2008, 05:30 PM
spider661
Discordant
 
Join Date: Oct 2005
Location: michigain
Posts: 260
Default

ok i tried adding this and compiling it but i cant get it working this is the first time i tried...

i have a few versions

visual c++ 9.0
vs 6.0 pro
and vs 2008 pro

and none of them work

i even downloaded the dev kit on the forums here im guessing its out of date on the dependency's becuase that did not work either lol

i know this is prob not the best place to ask this but i figure you guys know how to set it up.

what program would be best to use and how should i go about setting it up to compile the latest source on the main site there..

you an just give a quick rundown i know how to use the programs already so its not like explaining it to a complete newbie just newbie to compiling this code itself lol
Reply With Quote
  #14  
Old 06-26-2008, 05:38 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

The dev kit works just fine if you follow the directions. Though, it doesn't hurt to have a little technical experience with compiling in VB when using it. If you got errors while compiling, then most likely the changes you made are what is causing the errors. It is very particular about how changes to the source get handled and they have to be done right or you will get errors. I haven't tried these code changes suggestions, so I don't know if they work or not.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #15  
Old 06-26-2008, 06:15 PM
spider661
Discordant
 
Join Date: Oct 2005
Location: michigain
Posts: 260
Default

i followed the directions 100%
Code:
#### Dev Kit ####
1)install VC++2008.exe
2)this entire folder needs to be place in C:/EQEmu
3)open Server.sln with VC++ 2008
4)open tools menu click options
5)select Projects and Solutions drop down menu
6)click VC++ and add the Dependencys folder as Executable files,Include Files,Library files
7)on the top bar it will proly see debug change it to Release and then Build Solution
8)watch as its compiled you will notice many warnings this is normal
9)the newly compiled files will be in the Build folder

Notes: This kit includes build files for Pearl 5.8, zlib 1.2.3, mysql 6.0.4, VC++ 8.0, EQEmu 1110. They are the latest working build files that i know of. This Dev Kit was made by Opyrus. This kit is easy to update simply paste the latest source over the current files and if you wish to update any of the other required Build files you can paste them inthe Dependancys folder.
i even tried using a clean version without the changes and still error all over the place and then fails with no zonedebug.exe file or anything in the debug folder

maybe there a ver version of the dev kit i missed somewhere? the file sayed devkit2.0.exe

ill tr again from scratch see what happens
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 02:05 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 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3