Page 1 of 1

MoveObjectToLocation realm-to-realm problem

Posted: Sat Sep 02, 2006 1:58 pm
by Rogdush
Hi, I've discovered a little problem with MoveObjectToLocation

When I try to move item from ilshenar, location 1212, 1122, -25, 2 to 6000, 1200, 0, 0 I've got:
error{ errortext = "Location (6000,1200,0) is out of bounds" }
like MoveObjectToLocation is comparing bound of ilshenar to location in britannia. When I try to move at 1000, 1200,0,0 its no problem.
The same thing occurs when item is equipped or in backpack of a person in ilshenar realm.
When my char is in brit realm, there is no problem at all ofc.

Second thing, when item in backpack or item equiped is moved far away from client location (not seenable by client) there is no update sent to him, so he thinks that he still got item, but that item is not accessible. So, this is only visual aspect. In backpack, problem can be fixed by reopening it. When item is equipped, there is not much u can do (except moving original item in location seenable by client, so he can learn where the proper location of an item is)

Edit: one more thing. MoveObjectToLocation do not send current lightlevel, its always set to 0. This is a little odd problem with lightlevel. I fixed it manually, but I need to set different lightlevel from current (i mean, last set) client lightlevel, or else it will ignore it. Is it pol fault? or client? dunno.
After all, I need to do this, to restore current light level:
who.setlightlevel(31, 1);
who.setlightlevel(current_level, 1);
But.. weather state (rain/snow) is properly updated here.
Another thing, are seasons. Hm.. but there is no implementation for seasons, is it? I use packets to change season, so I need to send it always when client is moving from realm to realm. The same problem.
My sugesstion is to create a function SetClientSeason, which would remember current season should client have and update it on moving, or global season state like SetSeason.

Re: MoveObjectToLocation realm-to-realm problem

Posted: Sat Sep 02, 2006 3:06 pm
by MuadDib
Rogdush wrote:When I try to move item from ilshenar, location 1212, 1122, -25, 2 to 6000, 1200, 0, 0
Ishlenar is not that big. Check your realms.cfg for the Ishlenar map for it's dimensions. Map sizes are unfortunately hardcoded in the client.
Rogdush wrote: Second thing, when item in backpack or item equiped is moved far away from client location (not seenable by client) there is no update sent to him, so he thinks that he still got item, but that item is not accessible. So, this is only visual aspect. In backpack, problem can be fixed by reopening it. When item is equipped, there is not much u can do (except moving original item in location seenable by client, so he can learn where the proper location of an item is)
I will look into this tonight if I get time. Doing some optimization work, but should have time I hope, to get it in before next beta. Expect this in the 096.3 release too, since this would be a bug in 096 core too.
Rogdush wrote: Edit: one more thing. MoveObjectToLocation do not send current lightlevel, its always set to 0. This is a little odd problem with lightlevel. I fixed it manually, but I need to set different lightlevel from current (i mean, last set) client lightlevel, or else it will ignore it. Is it pol fault? or client? dunno.
After all, I need to do this, to restore current light level:
who.setlightlevel(31, 1);
who.setlightlevel(current_level, 1);
But.. weather state (rain/snow) is properly updated here.
Another thing, are seasons. Hm.. but there is no implementation for seasons, is it? I use packets to change season, so I need to send it always when client is moving from realm to realm. The same problem.
My sugesstion is to create a function SetClientSeason, which would remember current season should client have and update it on moving, or global season state like SetSeason.
Same here, this would also be a 096.x bug, and as thus, will try to work on this soon for both 96 and 97. I can't promise I will have these before the next releases, but will do what I can.

Re: MoveObjectToLocation realm-to-realm problem

Posted: Sat Sep 02, 2006 3:17 pm
by Xandros
MuadDib wrote: Ishlenar is not that big. Check your realms.cfg for the Ishlenar map for it's dimensions. Map sizes are unfortunately hardcoded in the client.
As far as I understand him, he's moving the item from Ilshenar to
Britannia. Yet the server is checking the boundaries for the Ilshenar
map instead of those for the target map of the movement.

Xandros

Posted: Sat Sep 02, 2006 4:34 pm
by MuadDib
If that's the case, it SHOULD simply be a mistype on the realm vs oldrealm checks. At any rate, I'll be looking into a lot of it tonight

Posted: Sat Sep 02, 2006 4:44 pm
by MuadDib
Fixed: Core now checks for changes in light level for a character whenever
the MoveObjectToLocation() is used on a player.
First one done, and will be in the next beta. On to the next :)

Posted: Sat Sep 02, 2006 7:39 pm
by MuadDib
All I can say is.........

GOD I HATE REALMS WHEN IT COMES TO CONTAINERS!
This isn't the first container bug we've squashed involving realms, hopefully it is the last there is, hehe.

That being said... the issue with it not sending remove object has been fixed. :)

Posted: Sat Sep 02, 2006 8:08 pm
by MuadDib
Ok, the realm coordinate issue, has also been found and will try to get it in before the next beta.

All seems to be resolved here then. Locking thread :)