[FIXED] Refresh issue immediately after logging in
- Xuri
- Site Admin
- Posts: 3704
- Joined: Mon Jun 02, 2003 9:11 am
- Location: Norway
- Has thanked: 48 times
- Been thanked: 8 times
- Contact:
Refresh issue immediately after logging in
Using the latest version off of the CVS (0.98-3.1e), UOX3 seems to fail to refresh the client immediately after logging in. No amount of waiting will fix the problem, but a 'RESEND will.
EDIT: *non-working screenshots removed*
EDIT: *non-working screenshots removed*
Last edited by Xuri on Sat Dec 03, 2005 9:46 am, edited 3 times in total.
-= Ho Eyo He Hum =-
-
Grimson
- Developer
- Posts: 802
- Joined: Sat Jun 04, 2005 1:52 am
- Location: Germany
- Has thanked: 0
- Been thanked: 0
The links don't workXuri wrote:The following two screenshots show the issue, before and after a 'RESEND is used:
Before RESEND
After RESEND
- 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 noticed that when I used Razor to start up my UO client, it displayed the following system messages when I logged in:
"Queuing action request 1... 1.2 seconds left.
Finished 2 queued actions in 0.7 seconds."
Is it Razor doing that "queuing" of actions, or is it something UOX3 does? If the latter, could it be related to the error mentioned in this thread (and in viewtopic.php?t=695 )?
"Queuing action request 1... 1.2 seconds left.
Finished 2 queued actions in 0.7 seconds."
Is it Razor doing that "queuing" of actions, or is it something UOX3 does? If the latter, could it be related to the error mentioned in this thread (and in viewtopic.php?t=695 )?
-= Ho Eyo He Hum =-
I don't know if this is the same thing you are talking about:
In my worldfile, next to SkaraBrae I've construced a pretty nice PC castle using Xuri's worldbuilder. I haven't hardcoded it into the .mul file yet so it is a LOT of individual tiles that are being sent to the client.
If you log in as a PC inside the castle, UOx3 only sends about half the information on login. floors and walls are missing and you can even fall through the floor.
If you 'refresh, it only re-draws what is on screen, and as soon as you move, it won't draw the new tiles. You must constantly 'refresh.
The fix? Walk away, and re-walk towards it. Then refresh works and you get the entire castle. If you log in as a PC away from the castle and walk towards it, the entire castle shows and you don't even need refresh. The issue seems to happen with a local log in. Does this make sense? Sorry if I didn't explain it well.
Sounds similar to the above issue.
It's not a big deal, I wonder if 'resend would be faster, never tried.
In my worldfile, next to SkaraBrae I've construced a pretty nice PC castle using Xuri's worldbuilder. I haven't hardcoded it into the .mul file yet so it is a LOT of individual tiles that are being sent to the client.
If you log in as a PC inside the castle, UOx3 only sends about half the information on login. floors and walls are missing and you can even fall through the floor.
If you 'refresh, it only re-draws what is on screen, and as soon as you move, it won't draw the new tiles. You must constantly 'refresh.
The fix? Walk away, and re-walk towards it. Then refresh works and you get the entire castle. If you log in as a PC away from the castle and walk towards it, the entire castle shows and you don't even need refresh. The issue seems to happen with a local log in. Does this make sense? Sorry if I didn't explain it well.
Sounds similar to the above issue.
It's not a big deal, I wonder if 'resend would be faster, never tried.
-
giwo
- Developer
- Posts: 1780
- Joined: Fri Jun 18, 2004 4:17 pm
- Location: California
- Has thanked: 0
- Been thanked: 0
Most likely this is happening because of the client. I remember once apon a time people could create "black holes" in UO, where if you went nearby you immediately crashed. This was caused by stacking hundreds (thousands?) of items on a single tile (or in a small area). OSI's fix for this was to only allow loading of a certain amount of tiles at a time. When you walk near an area, we send only items that update at the end of the visibility range, rather than all at the same time. Quite likely if you teleported directly into the castle from some other part of the world you would experience the same issue.
Scott
-
giwo
- Developer
- Posts: 1780
- Joined: Fri Jun 18, 2004 4:17 pm
- Location: California
- Has thanked: 0
- Been thanked: 0
Well we send items in a square, in the case of walking, we send only new items that have come into range on either the x or y axis (or both if we move diagonal). It's been thought (though we have no way to verify) that the client adds new items to your view in a circle, rather than a square, which would cause some items at the corners to be left out.
Scott
-
Grimson
- Developer
- Posts: 802
- Joined: Sat Jun 04, 2005 1:52 am
- Location: Germany
- Has thanked: 0
- Been thanked: 0
If I'm not wrong the objInRange code uses a circle (or at least something close to a circle) to calculate whether an item is in range. So it shouldn't be to hard to change it to a square using this code as a basis. Basicly make two objInRange calls first one with the current update range the if the object is in range a second one with the current update range minus 1. Then if it's in range of the first call but not in range of the second call send it to the player. For removing it from the sight just make the second call using the current update range plus 1 instead.giwo wrote:Well we send items in a square, in the case of walking, we send only new items that have come into range on either the x or y axis (or both if we move diagonal). It's been thought (though we have no way to verify) that the client adds new items to your view in a circle, rather than a square, which would cause some items at the corners to be left out.
On the other side, I haven't had a problem with missing items, when walking, for a long time. And since I have changed the SendWalkToOtherPlayers() (it also uses a square) I haven't had a problem with missing/shadow NPCs.
The only problem seems the inital login, there it is sometimes missing one or two items that should be on screen. A possible (but maybe not practical) solution for this might be to use two squares/circles, the normal one and a smaller one, for the first steps after a login. The smaller one would resend items that cross it, but not remove them from sight like the normal one.