Mirage Source
NPC's stop responding. - Printable Version

+- Mirage Source (https://mirage-engine.uk/forums)
+-- Forum: Mirage Source (Nostalgia) (https://mirage-engine.uk/forums/forumdisplay.php?fid=61)
+--- Forum: Archive (2006-2011) (https://mirage-engine.uk/forums/forumdisplay.php?fid=18)
+---- Forum: General (https://mirage-engine.uk/forums/forumdisplay.php?fid=17)
+---- Thread: NPC's stop responding. (/showthread.php?tid=952)



NPC's stop responding. - Nemesis - 25-05-2007

I've got this bug, as does/did everyone who has worked/is working with MS Source that causes NPC's to stop responding or "freeze" when two players are on a map and one logs off. If anyone knows of a fix please post or I will eat your head like a fat guy eats pie. Thanks


Re: NPC's stop responding. - Tony - 25-05-2007

Nemesis Wrote:I've got this bug, as does/did everyone who has worked/is working with MS Source that causes NPC's to stop responding or "freeze" when two players are on a map and one logs off. If anyone knows of a fix please post or I will eat your head like a fat guy eats pie. Thanks

Eat our head like a fat guy eats pie? No.
If you want help post what you added to your source
cause I've been using MS for a while and I never got
that kind of an error.


- Robin - 25-05-2007

Mhhh. I do agree with Kuja, but I seem to remember from a while ago that there was a problem with NPC movement where a 1 had been used instead of a 0.

I only have a tiny recollection of such a thing, and it could just be me thinking of something completely different...


- Anthony - 25-05-2007

Actually, I am pretty sure it has been a problem with Mirage since Consty released it. I think Shannara did fix it at one time but it's not a fix in the current 3.0.3 or MSE releases. I did just test it and I am running 2gb of ram and a dual core intel 6400, pretty sure it's not my system being slow. What happens is when two players or more are on a map and one logs out and nobody else enters/leaves the map all the npcs on the map freeze. They don't move or attack back, I am not sure why this happens but it is a bug that MS has. So then people can kill the npcs without getting hurt at all. Pretty useful bug for players I used to use it a lot in Mirage haha. But the map stays frozen until somebody enters it making it or it respawns.


- Da Undead - 25-05-2007

Dave Wrote:If it's happening every time, you've changed something.

I always thought it was more an issue of processor speed than anything else. It usually doesn't happen when running it on a good computer when you're not busy.

Nemesis computer specs are amazing. I highly doubt its lag because I've been on his server with 15+ people and it was so smooth.


- Rian - 25-05-2007

I know how to fix the problem, but I can't remember exactly what line of code causes it. I could post it when I get home, or if you don't feel like waiting, I have yahoo messenger at work. If you have MSN or Yahoo add mailto:mvrckoffspring88@yahoo.com and I can help you out.


- Da Undead - 25-05-2007

He has MSN but hes not on alot :p


- Rian - 25-05-2007

Verrigan has it right for the most part. I'm not sure that it's in the leave game sub though. But I do know that it stops npc processing when someone logs off if there is only one other person on the map. So basically, there is a 1 that needs to be changed to a 0.


- Robin - 25-05-2007

Ah, so I wasn't making it up when I recalled something like that.

Thanks for proving I'm not becoming schizophrenic.

Smile


- Da Undead - 26-05-2007

Is that because it counts as 0 then 1?

Like ADMIN_MONITOR is 1 and member is 0


- Da Undead - 26-05-2007

nice fix Big Grin


- Rian - 26-05-2007

I haven't tested your method. But that is the code I was talking about.

Just for good measure, here's how I did it. This is actually copied and pasted from what you posted Verrigan.

Code:
If GetTotalMapPlayers(GetPlayerMap(Index)) = 1 Then

Needs to be

Code:
If GetTotalMapPlayers(GetPlayerMap(Index)) = 0 Then



- Nemesis - 28-05-2007

Sorry I haven't been around to read this post in the past few days. I'm quitting my current job so to compensate for time time which I'll be unemployed/on vacation has been dedicated to 12+ hour shifts for the past week and a half (60 hours a week lately). I really appreciate everyone's help with all of this and yeah, I knew it couldn't be my PC. I have a custom built PC with, as Undead said, insane specs with a dual core CPU clocked stable at 3.8GHz. My 3dmark06 score is 13690 just to give you an idea of what my system is capable of. So yeah but anyways, I really appreciate all the help. Thanks guys.


- Nemesis - 29-05-2007

It was the
Code:
If GetTotalMapPlayers(GetPlayerMap(index)) = 1 Then
that needed to be changed. It seems to work fine for me now.