Graal Forums

Graal Forums (https://forums.graalonline.com/forums/index.php)
-   NPC Scripting (https://forums.graalonline.com/forums/forumdisplay.php?f=8)
-   -   Could someone please explain move wallcheck to me? (https://forums.graalonline.com/forums/showthread.php?t=84175)

Tyhm 02-13-2009 05:29 AM

Could someone please explain move wallcheck to me?
 
Nearest I can figure it means, rather than "stop when you hit a wall", "when you hit a wall, stop a moment and teleport to the destination".

That about sum it up?

-Ramirez- 02-13-2009 05:53 AM

It does. Do you still think it's wonderful for baddy movement?

Tyhm 02-13-2009 05:58 AM

Yes, I just have to take it into account.

I can't think of any circumstances under which this sort of wall check-and-ignore would be useful Stefan, but it's easy enough to write a "see if there's going to be a wall in your future and stop before you reach it" routine.

-Ramirez- 02-13-2009 06:18 AM

Quote:

Originally Posted by Tyhm (Post 1465992)
but it's easy enough to write a "see if there's going to be a wall in your future and stop before you reach it" routine.

Which wastes more server CPU time as a result of being done via script, rather than native code. Sure, it works, but nobody should have to bother.

Have fun with sending multiple move() calls without previous ones finishing. It looks awesome, unless the pathetic skippiness has actually been fixed.

cbk1994 02-13-2009 06:40 AM

Quote:

Originally Posted by Tyhm (Post 1465992)
Yes, I just have to take it into account.

I can't think of any circumstances under which this sort of wall check-and-ignore would be useful Stefan, but it's easy enough to write a "see if there's going to be a wall in your future and stop before you reach it" routine.

If you're going to do that, you should be sure to turn off the wall check in the move function. That way you aren't doing the work twice.

Tyhm 02-13-2009 06:58 AM

Quote:

Originally Posted by cbk1994 (Post 1465999)
If you're going to do that, you should be sure to turn off the wall check in the move function. That way you aren't doing the work twice.

Yes, of course.

Quote:

Originally Posted by -Ramirez- (Post 1465997)
Which wastes more server CPU time as a result of being done via script, rather than native code. Sure, it works, but nobody should have to bother.

Have fun with sending multiple move() calls without previous ones finishing. It looks awesome, unless the pathetic skippiness has actually been fixed.

Yeah, and about a year after I do it the hard way, despite having said nothing the whole time I was working, Stefan will release move3, which does exactly what move said it would do.

In fact, the Multiple Move Calls seems to be what kills the Wallcheck: It sends a "Go from 10,10 to 30,30, and stop if you hit a wall." It hits a wall at 20,20, and runs a new move call: "Go from 30,30 to 40,10, and stop if you hit a wall", so it warps to 30,30 (never figuring it maybe stopped when it hit the wall?) and continues its route unimpeded...

It all sounds quite familiar...I think there was a mailman NPC on one of the servers that was always getting stuck behind players; it seems as though Move was rewritten so that NPC could go about its business regardless of impedence...though frankly they should have just turned off the wallcheck for that one NPC rather than destroying the move command...but maybe I'm wrong.

In any case, it's easy enough for me to use timeout for move-monitoring. The only downside is, of course, I've used the only timeout the NPC has.

xXziroXx 02-13-2009 11:37 AM

Last time I checked, if wallcheck is enabled, and there's something blocking in the path, it completely halts all movement and the NPC is warped back to it's last used position before using move().

Quote:

Originally Posted by -Ramirez- (Post 1465997)
unless the pathetic skippiness has actually been fixed.

That so called "skippiness" of yours only happens for clients with a poor connection speed, and is the direct result of server <--> client synchronization delay. You can even see the exact same effect in other very popular MMORPG's, including one made by Blizzard.

-Ramirez- 02-13-2009 12:20 PM

Quote:

Originally Posted by xXziroXx (Post 1466030)
That so called "skippiness" of yours only happens for clients with a poor connection speed, and is the direct result of server <--> client synchronization delay. You can even see the exact same effect in other very popular MMORPG's, including one made by Blizzard.

The way you think you know definitively what I"m talking about is baffling. There can be multiple sources of what I'm referring to, one of which is what you're describing. However, I am fully aware of server/client communication and how it functions in general. That is not what I was referring to. I'm pretty sure Tyhm knows what I was talking about, and that's all I'm concerned with.

xXziroXx 02-13-2009 12:54 PM

Quote:

Originally Posted by -Ramirez- (Post 1466034)
The way you think you know definitively what I"m talking about is baffling.

What's your issue? It's not like we can read minds, you know, so stop being so defensive.

-Ramirez- 02-13-2009 01:30 PM

Quote:

Originally Posted by xXziroXx (Post 1466044)
What's your issue? It's not like we can read minds, you know, so stop being so defensive.

My only issue is with things being stated as fact when they aren't. Anyway, this is going off topic, as usual.


All times are GMT +2. The time now is 06:49 AM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
Copyright (C) 1998-2019 Toonslab All Rights Reserved.