Bug #1241
Incorrect Item.Quantity when item moves to hangar from cancelled order
Description
Steps to reproduce:
1. Put part of items from stack to sell order. Example - initial stack is 15 "Defective Current Pump", place 10 of them to sell order.
2. Move other part of stack to ship cargo. Example - move 5 of remaining "Defective Current Pump" to cargohold
3. Undock, and then dock again.
4. Move items from ship cargo to station hangar. Example - move 5 of "Defective Current Pump" to station hangar.
5. Cancell initial sell order. Example - cancell previously placed sell order of 10 "Defective Current Pump".
6. Stack hangar items.
7. Despite number the items showed in hangar in GUI, next script shows only a quantity of items previously being in cargohold.
Me:GetHangarItems[HangarItems]
for (i:Set[1]; ${i} <= ${HangarItems.Used}; i:Inc)
{
if ${HangarItems.Get[${i}].Name.EqualCS["Defective Current Pump"]}
{
echo ${HangarItems.Get[${i}].Name} ${HangarItems.Get[${i}].Quantity}
}
}
Example: "Defective Current Pump 5", while there are 15 in hangar
Files
Updated by Amadeus about 10 years ago
- Priority changed from High to Normal
I will test this and see what I can find out. If I had to guess it's a caching issue.
Updated by Ramzeth about 10 years ago
Also when after all that operations you move this stack from one place to another (example - to ship cargo and back), quantity becomes as it should be.
Updated by rogeruk about 10 years ago
Dunno if any help but confirmed, tried it and exactly as Ramzeth has explained.
I used:
function main()
{
variable index:item MyItems
variable iterator CargoIterator
if !${Me.InStation}
{
echo "Must be docked"
return
}
EVE:Execute[OpenHangarFloor]
Wait 3
Me:GetHangarItems[MyItems]
MyItems:GetIterator[CargoIterator]
if ${CargoIterator:First(exists)}
do
{
echo "Item ${CargoIterator.Value.Name} - ${CargoIterator.Value.Quantity}";
}
while ${CargoIterator:Next(exists)}
}
Updated by Amadeus about 10 years ago
- File ISXEVE.dll ISXEVE.dll added
- Status changed from New to Feedback Required
Please test the attached ISXEVE.dll and let me know if it fixes the issue or has any effect one way or another.
Updated by Ramzeth about 10 years ago
1. I Copied Dll to C:\Program Files (x86)\InnerSpace\Extensions\ISXDK34, replacing the old one.
2. Start InnerSpace.
3. Start default eve profile
But it seems there is no effect, things not changed.
Updated by rogeruk about 10 years ago
Amadeus wrote:
Please test the attached ISXEVE.dll and let me know if it fixes the issue or has any effect one way or another.
Version: 20141001.0026 ?
Still the same issue if so
Updated by Amadeus about 10 years ago
Can anyone find another way to duplicate this bug (that's perhaps more simple?) Or, is following those 6 steps in the initial posting the only way anyone has found to create this particular phenomenon?
Updated by CyberTech about 10 years ago
Rogeruk, does closing and re-opening the cargo solve the issue, or only re-stacking.
Updated by rogeruk about 10 years ago
CyberTech wrote:
Rogeruk, does closing and re-opening the cargo solve the issue, or only re-stacking.
Nope, closing and reopening the item hangar does nothing.
It seems to only happen when you undock/dock because if you simply add item to market, run the script, and then cancel order and re-run script, it picks up the correct values.
Updated by Turist over 9 years ago
Problem gets deeper. Item quantity stays the same after: moving to ship cargo part of item stack, selling part of item stack, using in industry part of item stack. And earlier after redock item quantity becomes correct, but now it becomes only after relog. Is there any ideas how to solve this issue ?
Update: after moving to ship cargo and back quantity becomes correct too.
Updated by Amadeus over 9 years ago
This will probably have to wait until the summer when I have more time to work on it. And, even then it's fairly low priority. People have been doing market scripts for years and this has never been a concern. So, either they aren't experiencing this bug, or they have designed their scripts so that the item quantity is not vital to the success of the script after the order has been cancelled.
The code that ISXEVE uses for item.quantity is very simple, so that means that this is not something that would be easily fixable. In fact, it could very well be a bug within the game code itself that shows itself only because we're doing something the devs never tested with the client.
From what I can see in this thread, the way to duplicate this bug is pretty complex, involving docking/undocking, etc.. No one has provided a simple way to recreate the bug, as I have requested. My suggestion is avoid the situation that causes the bug.
Anyway, as I said, people been using market scripts for years without issues, probably because they kept it simple. I think that it's possible to do quite a bit with the market without hitting the specific set of circumstances that cause this bug. Think outside the box or keep it simple. I'll look into it more when/if I have time; however, for now, I make no promises on when it might be addressed (if ever.) At this point, I'm not even sure if it IS an isxeve bug...or if it's just that we're doing something that is showcasing an EVE bug that I cannot fix.