[FIXED] Z error bug
- Xuri
- Site Admin
- Posts: 3704
- Joined: Mon Jun 02, 2003 9:11 am
- Location: Norway
- Has thanked: 48 times
- Been thanked: 8 times
- Contact:
Btw, xantier - sorry for the delay, but I'm hoping to have time to look at the walking-stuff you did over this coming weekened. Just to let you know it's not completely forgotten. 
-= Ho Eyo He Hum =-
- Xuri
- Site Admin
- Posts: 3704
- Joined: Mon Jun 02, 2003 9:11 am
- Location: Norway
- Has thanked: 48 times
- Been thanked: 8 times
- Contact:
I finally had some time to look at your changes, xantier, and it looks great
Seems to fix a lot of the issues we have with walking in UOX3, including static locations like the ones mentioned in both this and similar forum-threads (basements, crypts/dungeon stairs, ladders), as well as issues with multi-story player houses (those using ladders in particular). Great work!
I did find a few issues, though, which would be great if you could have a look at before I submit your code to the CVS:

Edit: Also, another one - not sure if this is in both old and new code, but it's present in new: when walking up the ladder/ramp at 5745 3210 -1 in Papua, T2A lands, you go from -1 (ground) to 7 (standing on ladder) to -1 (on floor)
I did find a few issues, though, which would be great if you could have a look at before I submit your code to the CVS:
- NPCs with tag MOVEMENT=WATER in creatures.dfn are able to move on land. Example: 'ADD NPC seaserpent, or 'ADD NPC dolphin. This was not the case with the old walking code. Example of creatures that can walk on both LAND and WATER (through MOVEMENT=BOTH): 'ADD NPC waterele
- Two-Story Log Cabin - When moving up the rope-ladder inside this house ('add item 2storylogcabindeed), the first step up will take you from Z 8 (ground floor) to Z 13. Take another step up onto the floor above, and you'll be back at Z 8 (but visually on the second floor in the client). This is also present in the old walking code, so not a new bug. The ladder used in this house is kind of a special case, as it's just one item, whereas the other ladders are usually composed of several bits.
- Unable to walk onto "plateueu" surrounding ladders down to Britain Sewers at 1497 1642 20 (character becomes too tall when stepping up, or some such?). In old walking code this seemed possible, but was actually bugged - since it would actually put you at Z 40, which is the roof - but the teleport code would still kick in when you walked over the ladders since that teleport location has a very flexible Z range.
Edit: Also, another one - not sure if this is in both old and new code, but it's present in new: when walking up the ladder/ramp at 5745 3210 -1 in Papua, T2A lands, you go from -1 (ground) to 7 (standing on ladder) to -1 (on floor)
-= Ho Eyo He Hum =-
i will take a look at these. in some points, it is not always walkcheck code's fault, it can be about uo map. even runuo has to put some additional rocks or stairs at some points. if you post exact coordinates of problemmed locations...
-
dragon slayer
- UOX3 Guru
- Posts: 776
- Joined: Thu Dec 21, 2006 7:37 am
- Has thanked: 4 times
- Been thanked: 26 times
He is right about runuo the have added extra items in world for places the walking code can't handle that uo map was bugged or the added a teleporter in some spots.
- Xuri
- Site Admin
- Posts: 3704
- Joined: Mon Jun 02, 2003 9:11 am
- Location: Norway
- Has thanked: 48 times
- Been thanked: 8 times
- Contact:
Updated list of issues:
- NPCs with tag MOVEMENT=WATER in creatures.dfn are able to move on land. Example: 'ADD NPC seaserpent, or 'ADD NPC dolphin. This was not the case with the old walking code. Example of creatures that can walk on both LAND and WATER (through MOVEMENT=BOTH): 'ADD NPC waterele
- Two-Story Log Cabin - When moving up the rope-ladder inside this house ('add item 2storylogcabindeed), the first step up will take you from Z 8 (ground floor) to Z 13. Take another step up onto the floor above, and you'll be back at Z 8 (but visually on the second floor in the client). This is also present in the current walking code (0.98-4.0i), so not really a new bug. The ladder used in this house is kind of a special case, as it's just one item, whereas the other ladders in the game that take you from one floor to the next are usually composed of several bits.
Update: This seems more related to rope ladders (0x08A5, 0x08A6) in general than this house in particular. - Unable to walk onto "plateueu" surrounding ladders down to Britain Sewers at 1497 1642 20 (character becomes too tall when stepping up, or some such?). In current walking code (0.98-4.0i) this seems possible, but is actually also somewhat bugged - since it will actually put you at Z 40, which is the roof - but the teleport code will still kick in when you walk over the ladders since that teleport location has a very flexible Z range.
Update: This seems to be fixable by changing the various checks for maximum height from 16 to 15. After doing so, walking in this area was no longer a problem. - Unable to walk up wooden ladder at 5745 3210 -1 in Papua, T2A-lands. This is possible in the current (0.98-4.0i) walking code, but in the new code it resets your Z to -1 when you step off top of ladder. A similar setup not far off, at 5730 3205 -6 seems to be working properly, the differences seem to be the character's starting point as he climbs onto the ladder. The working ladder starts you off at Z -6 on the ground, and you end up at Z 8 (difference of Z 14 from start to end) after stepping off. The non-working version starts you off at Z -1, and you're supposed to end up at Z 15 (difference of Z 16 from start to end) after stepping off.
- The new walking code no longer seems to take overrides from DFNDATA/MAPS/tiles.dfn into account. It has possible to override tiledata-flags in this file for any item, and in the current code (0.98-4.0i) it does for instance not allow walking over an item which had its BLOCKING/IMPASSABLE flag set to 1 in this file. This override-functionality can be extremely helpful when it comes to fixing issues caused by missing or incorrect flags (height-values, for instance) in tiledata.mul, and can also be used to eliminate special-cases from code if they are there because of such missing flags (doors that are missing door-flag could be added in this file, for instance).[/b]
-= Ho Eyo He Hum =-