PlaneShift
Support => Technical Help: IN GAME bugs (after loading world) => Topic started by: Quaestor on October 27, 2005, 09:51:54 pm
-
At some point or an other my status bar (displaying Life, Mana, XP, etc.) simply freezes. What I took for granted \"invulnerability\" at first is in fact not, for XP are being added and I die in combat with \"100% Life\" as it seems. Is there any way of \"restarting\" the status bar? (opening and closing it during the game didn\'t do the trick)
-
I am afraid the bug is a bit complex and depends from network problems that are encountered these days by PS.
I think that if you check the bugtracker you will find a similar bug already written.
My only suggestion at the moment is to try to restart the client and have patience :\\
-
I had a similar issue last night, that didn\'t seem to be caused by lag.
I ran out of Hydlaa towards Ojaveda. I notices that my stamina bar was not dropping, although it had been functioning earlier. I got just past the end of the forest (near the mushroom), when I stopped moving. I looked at my endurance, and it was at 0%. I had been running the entire time. Normally I can not run once I hit 20%, but this time I ran all the way to 0%, and then my stamina did not increase.
This didn\'t seem to be a lag issue, because I was not \"frozen\". I was able to turn, I could cast spells, and basically do anything that didn\'t involve moving. I tried /unstick to see if that would \"reset\" me, but it did nothing but teleport me a few feet. I waited for a full five minutes before /unsticking myself to the DR. Unfortunately, I crashed at that point, so I don\'t know if the trip to the DR would have fixed me. When I logged back in, I was in the DR and everything was back at 100%.
-
Yes, there was a bug with the status window, the client asks the server for updates on stamina,hp,exp and so forth, but it was ignoring all replies after 255. So if you run around for a while your bar will stop updating. I\'ve fixed the code for this, but it might be a while before it\'s avaialbe. For now, you won\'t be able to trust what the bars say, I\'m afraid.
Being unable to regain stamina if you hit 0 is a seperate bug.
-
The change in the CVS HEAD version does not fix it.
if (counter > msg.counter || counter - msg.counter > 240)
If counter is 255 and msg.counter is 0, then the first part of the IF statement is still TRUE, the message is ignored and counter not updated.
This is how I fixed my client:
if ((unsigned char)(msg.counter - counter) > 127)
-
Aha, I was wondering why the statement was so out of place, I have re-order it so it matches all the other DR counter checks. And that\'s a pretty poor check you have, you might as well be ignoring the counters :P
-
With values wrapping over there is always the question, which value is \"older\" and which value is \"newer\" 8)
If you look at the drawing here, then I took the approach that if the current counter is 140 and the new message counter is from 141-255 and 0-11, it is considered as \"new\" and is accepted. Anything between 12 and 140 is \"old\" and should be dropped.
(http://www.vaikene.net/img/counter.jpg)
-
*Slaps forehead* of course that would work, I was still working on the converting of the two systems, so what you posted didn\'t come out right. That is more or less what I was thinking of changing the check to before, but was more concerned about getting it to work before I got it to work well, and forgot about that.
-
is that someting one with no programation knowledge can implement in is client ? or shall we just wait for the update to be compiled and putten online ?
-
Originally posted by SeinTex
is that someting one with no programation knowledge can implement in is client ? or shall we just wait for the update to be compiled and putten online ?
You do need the Planeshift source code and tools to compile it. If you don\'t have them, then yes, you have to wait for an update that hopefully comes soon(tm) :)