Go Back   EQEmulator Home > EQEmulator Forums > Archives > Archive::Development > Archive::Database/World Building

Archive::Database/World Building Archive area for General Discussion's posts that were moved here after an inactivity period of 90 days.

Reply
 
Thread Tools Display Modes
  #1  
Old 07-15-2003, 02:12 PM
tcsmyworld's Avatar
tcsmyworld
Discordant
 
Join Date: Feb 2002
Posts: 452
Default Question to Devs about waypoint commands

Is the random setting for pause (2) supposed to use a random pause based from the initial assigned pause , or is it just a random pause in general?
My npcs seem to do fine most of the time , but when I start getting the larger zones closer to finished , the npcs seem to randomly stop running thier waypoints like they are on an indefinite pause.
Any info on this will help me alot.
Thanks
Reply With Quote
  #2  
Old 07-15-2003, 05:14 PM
Guest
 
Posts: n/a
Default Zone capacities...

I am having the same problem. I was under the impression that it was due to the fact that I'm running the server software and the terminal all on the same computer (only a piii 450, LoL).

None of my NPC's would follow waypoints with a full spawn2 database. However, due to my storyline, I am having to ace everything (including factions) and starting from scratch. I now have no problems with waypoint programming and am currently testing my capacity for each zone I've included.
Reply With Quote
  #3  
Old 07-15-2003, 05:36 PM
tcsmyworld's Avatar
tcsmyworld
Discordant
 
Join Date: Feb 2002
Posts: 452
Default

I run the server on a seperate machine.
1.3 ghz athalon with 512mb DDR ram, so shouldn't be a problem.
Reply With Quote
  #4  
Old 07-16-2003, 03:24 AM
Guest
 
Posts: n/a
Default I figured...

I knew you were right. I suppose this limitation is pointing it's finger at the programming. I wonder if it is a limitation of the mysql database (as a free program)?
Reply With Quote
  #5  
Old 07-17-2003, 06:30 AM
cannonalldex
Sarnak
 
Join Date: Jun 2003
Posts: 88
Default

im not for sure on how the pause is implemented, but from what i seen doing grids and waypoints, either the mobs are using a random pause in general, or the more mobs you get on grids in the zone seems like they are all taking turns moving, but then again i have 7 mobs in crystal caverns that are all assigned to thier own grid, they all follow thier waypoints ( each having approximatly 5 waypoints) all up and down through the caves. just marvelous if i do say so myself

Note i put a way point at each turn in the cave for them to avoid hitting the walls.

i am as well baffled at how the pause works, especially when you random pause for 5 seconds and the mob stands there for 30 and then goes to next point.

one more thing, TCS, i noticed your asking for help on setting up mobs ect. stop in to my server sometime and check out my work. im willing to work something out with you. thanks

cannon's fury
Reply With Quote
  #6  
Old 07-17-2003, 06:49 AM
tcsmyworld's Avatar
tcsmyworld
Discordant
 
Join Date: Feb 2002
Posts: 452
Default

What's your servers name?
Reply With Quote
  #7  
Old 07-17-2003, 07:15 AM
Bigpull
Discordant
 
Join Date: Feb 2003
Posts: 305
Default

It's not your imagination, first in first out. All entities take turns in the main proccess loop executing thier ::Proccess() function

Now you may be thinking well thats f**ked up, why don't you just thread those off. Well because I for one know my machine can't handle spawning 100+ threads every couple of seconds, some zones have way over 100 npc (Haven for instance has over 350)
Reply With Quote
  #8  
Old 07-17-2003, 07:29 AM
tcsmyworld's Avatar
tcsmyworld
Discordant
 
Join Date: Feb 2002
Posts: 452
Default

So.... , If I shorten the pause times , they should all get thier turn alittle quicker ?
Only one grid at a time kinda defeats the purpose of moving "NPC's".
I also now have been having trouble with none of the pathing functioning on zone-in, I have to actually do a #repop to even get any of the npc's to move.
Reply With Quote
  #9  
Old 07-19-2003, 09:00 PM
used_pawn
Sarnak
 
Join Date: Apr 2003
Posts: 53
Default

Actually, I fixed this on my server...
The problem is (sorry Im not looking at my code, bear with the abstracts) a variable used as a flag to mark whether or not the timer has expired. All NPCs were using the SAME FLAG.
So, simple fix was to add the flag definition in the header for the NPCs (Mob.h i believe) and take the def. out of the main thread.
Voila, worked like a dream. Hunt through the code, you will see what I mean.
Reply With Quote
  #10  
Old 07-20-2003, 06:55 AM
tcsmyworld's Avatar
tcsmyworld
Discordant
 
Join Date: Feb 2002
Posts: 452
Default

Ok , I'm not a coder , but I think I found what you're talking about.
Is this correct??
Remove the line in MobAi.cpp -
under void Mob: :AI_Init() {

AImovement_timer = 0;

and move it into the Mob.h under the defines?
Reply With Quote
  #11  
Old 07-20-2003, 11:01 AM
Bigpull
Discordant
 
Join Date: Feb 2003
Posts: 305
Default

bool timercompleted=true;

Near the top of the file.
Reply With Quote
  #12  
Old 07-20-2003, 01:26 PM
tcsmyworld's Avatar
tcsmyworld
Discordant
 
Join Date: Feb 2002
Posts: 452
Default

used_pawn> Could you post your changes for me?
Would help me a bunch with moving npc DB.
Reply With Quote
  #13  
Old 07-23-2003, 10:49 AM
tcsmyworld's Avatar
tcsmyworld
Discordant
 
Join Date: Feb 2002
Posts: 452
Default

Can anybody help me out here?
Reply With Quote
  #14  
Old 07-23-2003, 11:08 AM
krich
Hill Giant
 
Join Date: May 2003
Location: The Great Northwest
Posts: 150
Default

Quote:
Originally Posted by tcsmyworld
Can anybody help me out here?
Alright, I'm not a Mob expert by any stretch, but I think this is what you need to do based on the above posts...try it and let me know what happens.

Back up MobAI.cpp and mob.h because I've been known to be frequently and catastrophically wrong
MobAI.cpp, Line 32, select, copy, delete the line
mob.h, Line 103, insert a blank line and paste
recompile

This removes the variable with global scope and makes it part of the Mob object, giving it one instance of this variable for each Mob. Don't know enough about what this variable does to determine if this variable should be public or private, but public will work for now.

Please, anyone, correct me if I'm totally wrong...I might be...but I thought I would try to help.

Regards,

krich
Reply With Quote
  #15  
Old 07-23-2003, 11:49 AM
tcsmyworld's Avatar
tcsmyworld
Discordant
 
Join Date: Feb 2002
Posts: 452
Default

returns 47 errors -

C:\Program Files\Microsoft Visual Studio\Source\Zone\mob.h(65 : error C2258: illegal pure syntax, must be '= 0'
C:\Program Files\Microsoft Visual Studio\Source\Zone\mob.h(65 : error C2252: 'timercompleted' : pure specifier can only be specified for functions

23 of each of those as it compiles , triggered from mob.h

and this one in MobAI.cpp

C:\Program Files\Microsoft Visual Studio\Source\Zone\MobAI.cpp(715) : error C2065: 'timercompleted' : undeclared identifier

any ideas?
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 12:34 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