PDA

View Full Version : ignore_primary_assist not working?


eviakhan
09-24-2011, 05:40 PM
Hi all,
I have a private lan server up and running and I was following some of the advice from the Solo Server Strategies
http://www.eqemulator.net/wiki/wikka.php?wakka=How

I found that this particular part with ignore_primary_assist does not seem to work on my server. I have run the following sql code on my peq database and I have confirmed all rows have been successfully updated to 1:
UPDATE npc_faction SET ignore_primary_assist=1;


I tried attacking an Orc camp in Nektulos with my Necro and was subsequently stampeded by the whole camp completely pummeled into the cold Nektulos earth.

Thinking maybe this was only a Nektulos issue, I tried attacking a group of goblins with my Barbarian Shaman in everfrost peaks with the exact same results.

I have done quite a bit of searching today and cannot find much on this subject other than that one solo guide. So has anyone had any success with setting ignore_primary_assist=1 and it working?

Thanks

eviakhan
09-26-2011, 03:26 PM
wanted to add an update -
I added the following update to my database (also from the solo server guide)
UPDATE npc_types SET aggroradius = 15 WHERE aggroradius > 16;

and now I have the desired result, which is that I can pull a single mob from a group. I successfully tested this with my Shaman in Blackburrow, I will have to test the areas that did not work for me before.

So now I am wondering if the ignore_primary_assist flag is doing anything at all or maybe its a combination of the low aggroradius and the ignore_primary_assist flag that produces this result. I would be interested if anyone has tested this as well.

I will follow up with results of testing old areas that did not work and also I want to set the ignore_primary_assist back to 0 to see if I can still single mob pull with just the aggroradius set low.

Caryatis
09-26-2011, 04:44 PM
It works fine.

ChaosSlayerZ
09-26-2011, 04:47 PM
it was working by itself, given that:
-you set it up properly and
-nothing got broken in emu code for last year

eviakhan
09-28-2011, 06:26 PM
Thanks for reply guys at least I know it worked at some point.

I started with eqeum revision 2018 and PEQ database revision 1900 (the one with db_dump.sql instead of the rev #) then sourced in all eqemu changes starting with 1908_required_npc_types_definitions.sql up through 2004_charges_alt_currency.sql. I also later found you need to include two *special* sql files even after db version 1900:
1711_account_restricted_aa.sql
1723_required_sql_corruption.sql

This is a very recent set up, I started this around 9/22/2011 and most guides are pretty old by version standard so it is possible that something was broken in the db or the eqemu along the way with stops ignore_primary_assist=1 from being effective.

I am a little wary of the main PEQ database setup file revisionion changed from the format "peqdb_Rev1667.sql" to "db_dump.sql" seems like there is some loss of continuity there and most likey the place something changed making the ignore_primary_assist=1 not work.

If anyone has this ignore_primary_assist=1 without reducing aggroradius using the most current peq database I would be interested to hear. For now using the combination is good enough :D

Thanks

lerxst2112
09-28-2011, 06:28 PM
It's not that it doesn't work, but it doesn't work how you think it should.

You should look at the code that uses it. It is not the only thing that decides if a mob assists as you seem to think.

eviakhan
09-28-2011, 08:42 PM
Thanks lerxst2112, I was hoping it was something like that and not something I missed or did wrong in my setup. Sounds like it is more complicated then I had first thought.

I don't know c++ but I was able to find reference to ignore_primary_assist in the server solution in file shareddb.cpp at the SharedDatabase::DBLoadNPCFactionLists part. Looks like it is pulling in faction lists from the db and checking to see if the flag is any non zero to know if the mob should assist.
//if we have ignore_primary_assist set to non-zero then we will not assist our own faction
//else we will assist (this is the default)
tmpnfl.assistprimaryfaction = (atoi(row[2]) == 0) ? true : false;
if (!EMuShareMemDLL.NPCFactionList.cbAddNPCFactionLis t(tmpnfl.id, &tmpnfl)) {
mysql_free_result(result);
cout << "Error: SharedDatabase::DBLoadNPCFactionLists: !EMuShareMemDLL.NPCFactionList.cbAddNPCFactionList" << endl;
return false; ...

Then the file aggro.cpp looks like it may be involved, pretty complicated stuff and past my skill level. So at this point searching the code for other factors involved is beyond my comprehension but the search was interesting nevertheless. Thanks again for your response.