|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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. |
06-26-2008, 01:51 AM
|
Discordant
|
|
Join Date: Oct 2005
Location: michigain
Posts: 260
|
|
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?
|
06-26-2008, 01:59 AM
|
Demi-God
|
|
Join Date: May 2007
Posts: 1,032
|
|
there are server rules which server admin can set. One of them is such that spells generate 0 agro
|
06-26-2008, 02:10 AM
|
Discordant
|
|
Join Date: Oct 2005
Location: michigain
Posts: 260
|
|
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?
|
06-26-2008, 02:20 AM
|
Administrator
|
|
Join Date: Sep 2006
Posts: 1,348
|
|
It's a known problem with healing spells, they wont generate aggro unless the character has established aggro already.
|
06-26-2008, 02:23 AM
|
Discordant
|
|
Join Date: Oct 2005
Location: michigain
Posts: 260
|
|
is there a fix? or maybe if i add extra hate to the spell its self with a spell editor will that do it?
|
06-26-2008, 03:12 AM
|
Demi-God
|
|
Join Date: May 2007
Posts: 1,032
|
|
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
|
06-26-2008, 03:20 AM
|
Discordant
|
|
Join Date: Oct 2005
Location: michigain
Posts: 260
|
|
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?
|
06-26-2008, 03:29 AM
|
Discordant
|
|
Join Date: Oct 2005
Location: michigain
Posts: 260
|
|
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
|
06-26-2008, 03:20 PM
|
Discordant
|
|
Join Date: Oct 2005
Location: michigain
Posts: 260
|
|
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?
|
06-26-2008, 04:08 PM
|
Developer
|
|
Join Date: Jul 2007
Location: my own little world
Posts: 751
|
|
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));
}
|
06-26-2008, 04:25 PM
|
Discordant
|
|
Join Date: Oct 2005
Location: michigain
Posts: 260
|
|
Quote:
Originally Posted by Congdar
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?
|
06-26-2008, 04:26 PM
|
Developer
|
|
Join Date: Jul 2007
Location: my own little world
Posts: 751
|
|
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));
}
|
06-26-2008, 05:30 PM
|
Discordant
|
|
Join Date: Oct 2005
Location: michigain
Posts: 260
|
|
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
|
06-26-2008, 05:38 PM
|
|
Developer
|
|
Join Date: Aug 2006
Location: USA
Posts: 5,946
|
|
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.
|
|
|
|
06-26-2008, 06:15 PM
|
Discordant
|
|
Join Date: Oct 2005
Location: michigain
Posts: 260
|
|
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
|
|
|
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 12:40 PM.
|
|
|
|
|
|
|
|
|
|
|
|
|