EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Bug Reports (https://www.eqemulator.org/forums/forumdisplay.php?f=591)
-   -   Client-Server Item Desyncronization Bugs (https://www.eqemulator.org/forums/showthread.php?t=35531)

Uleat 10-28-2012 05:29 PM

This whole 'ResyncInv' thing is just a band-aid to keep issues at bay, and eliminate item deletions, until all of the code can be found and corrected that causes
desync's.

I'm pretty sure my work on the Bandolier patch alleviated it as being a source of desync's, but it can still faulter and delete items if the client was already in a
desync'd condition when the player uses it. Of course, any moveitem call would cause that under the same conditions.

Even less supportive: If a player were to switch items around in their bank while desync'd, they may travel half-way around the world and be in the middle of a
raid before they discover that the stack of poison-resist potions they thought they had is actually a stack of rabbit meat.

I'm just trying to ensure that this method actually does what it says, is all.

lerxst2112 10-28-2012 11:41 PM

Well, if the client does not handle it properly, then you're on a fool's errand.

Uleat 10-30-2012 03:16 PM

Lol! You have no idea Lerxst!

My past life incarnations include: village idiot, court jester, and dancing fool...

Uleat 11-02-2012 10:04 PM

The resyncinv method does appear to do what I want it to, so hopefully all that is left is tweaking it.


I'd like to move on to the remaining issues, but I still need some help with the 'Loot All' feature in clients > SoF.

Specifically:

- What OP_Code is used for this action?

- Does the client send a request for each item in the loot window, or just one?

- Does a failure on the server cancel the client action, or does it continue?

- When an character's inventory is 'over-loaded,' does the corpse still have items on it, and then a re-loot shows it empty?


Any help would be appreciated. With some basic behavior knowledge, I might be able to figure out what exactly is wrong with this process.

Thanks!


(sidenote: I know SOE doesn't condone/support eqemu..but I wonder if they could be convinced to allow Steam to sell the UF client again. It wouldn't hurt
their current online offering and it would bring in a little more revenue from an obselete piece of software...)

Uleat 11-05-2012 12:21 PM

Two quick questions...

First:
Is there something wrong with this? (trying to track down inventory issues)
Code:

uint8 ItemInst::FirstOpenSlot() const {

        int8 slots=m_item->BagSlots,i;

        for(i=0;i<slots;i++) {
                if (!GetItem(i))
                        break;
        }

        return (i<slots) ? i : 0xff;
}

I though that I had read that assignments were not allowed in multi-declaration statements.

Is that true? Or, was it true in the past?


Second:
Is there a problem with this delegate?
Code:

static std::list<type> Class::Function(type arg);
It compiles with no errors, but something I did is crashing zone after I select the character. I can trace the cause by process of elimination, but re-compiling takes
time. If there's a simple answer...


Thanks!

Uleat 11-05-2012 06:32 PM

Duh! disregard the second question... I forgot to return the function result...

First question still stands though.

Uleat 01-01-2013 12:11 AM

Ok, I think I have a pretty good handle on where the causes of CSD's occur and don't see a need to keep this thread active any longer.

After I finish up the current projects that I'm working on, and as soon as some consensus is reached on any rework of the inventory system, I will
start pushing the changes to correct these issues.

Please post any desync issues as new threads.

(If an admin wants to lock this thread, they can..it will keep me from rambling on :) )

sorvani 01-01-2013 12:44 AM

Quote:

Originally Posted by Uleat (Post 215838)
(If an admin wants to lock this thread, they can..it will keep me from rambling on :) )

This is not possible.

Uleat 01-01-2013 12:49 AM

Hey! Even a monkey gets lucky once in awhile if he hits the keyboard enough times!


All times are GMT -4. The time now is 11:16 AM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.