Go Back   EQEmulator Home > EQEmulator Forums > Archives > Archive::Development > Archive::Bugs

Archive::Bugs Archive area for Bugs's posts that were moved here after an inactivity period of 90 days.

Reply
 
Thread Tools Display Modes
  #1  
Old 03-20-2002, 04:23 AM
Drawde
Dragon
 
Join Date: Jan 2002
Posts: 521
Default Request - need a zone server with aggroing code disabled

I really hope this isn't too much trouble, but would it be possible for someone to
compile a modified version of the zone or world server .exe (whichever one has
the AI code in it; I think it's the zone server) with the AI "aggroing" disabled? (i.e monsters only attack when
you attack them, like in earlier versions). The aggroing is a really great addition
but the lag caused by the AI searching makes the game virtually unusable for me when it
is working; currently I have to keep camping and logging in again until the AI stops working for
some reason, at which point the lag disappears and I can consider, summon, cast spells etc.
properly.
To do this I think you'd just need to add a "return false" at the start of the AddHatetoCloseMobs() routine in npcai.cpp.
This would make it exit without performing the search routine.
I do know C/C++ programming but only have an old version of the MS Visual C++ compiler
(version 4.0) and can't get the EQEmu source to compile.
Reply With Quote
  #2  
Old 03-20-2002, 05:15 AM
Shawn319
Demi-God
 
Join Date: Jan 2002
Posts: 2,073
Default

ahh maby a mySQL variable would be great for this (true/false)

moving this thread to feature request forum...
__________________
Shawn319
Semi-Retired EQ Addict

(Retired)EQEmu Lead Tester
(Retired)EQEmu Tech Support

(Retired)Host/ServerOP - [LIVE] Official EQEmu Test Server
(Retired)Host/ServerOP - Shawn319's All-GM Dev Test Server
(Retired)ServerOP - EQEmu Beta Server
(Retired)ServerOP - GuildWars Server
(Retired)ServerOP - Raid Addicts
--------------------------
Reply With Quote
  #3  
Old 03-20-2002, 05:16 AM
Shawn319
Demi-God
 
Join Date: Jan 2002
Posts: 2,073
Default

btw drawde, why not join the chatroom in your spare time?
__________________
Shawn319
Semi-Retired EQ Addict

(Retired)EQEmu Lead Tester
(Retired)EQEmu Tech Support

(Retired)Host/ServerOP - [LIVE] Official EQEmu Test Server
(Retired)Host/ServerOP - Shawn319's All-GM Dev Test Server
(Retired)ServerOP - EQEmu Beta Server
(Retired)ServerOP - GuildWars Server
(Retired)ServerOP - Raid Addicts
--------------------------
Reply With Quote
  #4  
Old 03-20-2002, 06:02 AM
Drawde
Dragon
 
Join Date: Jan 2002
Posts: 521
Default

It would be a really good idea to have AI switchable on/off via a DB variable or in-game command, but the reason I asked if someone could compile it for me is that I didn't want to wait for the next EQEmu version (which might be a while due to the new EQLive patch) to be able to reliably run EQEmu - I want to test out my DB changes a bit more before I release the next world data version .
Reply With Quote
  #5  
Old 03-20-2002, 06:11 AM
Shawn319
Demi-God
 
Join Date: Jan 2002
Posts: 2,073
Default

Quote:
which might be a while due to the new EQLive patch
Hehe glad u asked... 0.2.6 already made but still working out a couple small disconnect/crash bugs. tradeskills soon also (MABY in 0.2.6, maby not). u can try out 0.2.6 on Hogiebane/Hogies test server or Lyenu's Playground.
__________________
Shawn319
Semi-Retired EQ Addict

(Retired)EQEmu Lead Tester
(Retired)EQEmu Tech Support

(Retired)Host/ServerOP - [LIVE] Official EQEmu Test Server
(Retired)Host/ServerOP - Shawn319's All-GM Dev Test Server
(Retired)ServerOP - EQEmu Beta Server
(Retired)ServerOP - GuildWars Server
(Retired)ServerOP - Raid Addicts
--------------------------
Reply With Quote
  #6  
Old 03-20-2002, 06:16 AM
ScotchTape
Fire Beetle
 
Join Date: Mar 2002
Posts: 12
Default

Dunno if anyone has done it yet, but this is some simple code that sets up a "IsHateful" property. If you're hateful, then you'll agro. If not, you won't (and it'll return false out of AddHateToNpcs,etc.)

Code:
npc.cpp:80
	//turn off hate by default
	//todo: lookup value from table later

	IsHateful(false);
Code:
npc.h
class NPC : public Mob
{
public:

....

	//********************************************************//
	//Can this npc agro?
	//on_or_off: true, yes the npc uses hate
	//			 false, no the npc does not use hate
	//********************************************************//
	bool	IsHateful() { return _IsHateful;}			
	void	IsHateful(bool on_or_off){_IsHateful=on_or_off;}

private:

	bool _IsHateful;	//Can this NPC agro?
};
Lastly..
Code:
NpcAI.cpp:19
	if (!sender->IsHateful())
		return false;
hth,
-ST
Reply With Quote
  #7  
Old 03-23-2002, 09:04 AM
DeletedUser
Fire Beetle
 
Join Date: Sep 2002
Posts: 0
Default

Actually NPC Attack and PC Attack is the most memory intensive because everyones so damn obsessed with floats
Reply With Quote
  #8  
Old 03-23-2002, 09:40 AM
Merkur
Sarnak
 
Join Date: Mar 2002
Posts: 53
Default

the bigger problem (in AI) was that factioncheck needed a SQL Query though - its fixed in 0.2.6
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 04:47 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 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3