Go to Page... |
Compatibility: | base-game patch (9.1.5) |
Updated: | 08/21/23 04:06 PM |
Created: | 04/01/14 04:21 PM |
Monthly downloads: | 4,108 |
Total downloads: | 1,118,039 |
Favorites: | 1,180 |
MD5: |
File Name |
Version |
Size |
Uploader |
Date |
10.9 |
53kB |
iFedix |
06/12/23 11:16 AM |
|
10.8 |
60kB |
iFedix |
06/16/21 11:09 AM |
|
10.7 |
60kB |
iFedix |
04/19/21 01:37 PM |
|
10.6 |
59kB |
iFedix |
03/13/21 11:00 AM |
|
10.5 |
59kB |
iFedix |
09/23/20 02:20 PM |
|
10.4 |
55kB |
iFedix |
08/26/20 04:11 PM |
|
10.3 |
55kB |
iFedix |
06/05/20 02:52 AM |
|
10.2 |
54kB |
iFedix |
04/19/20 07:40 AM |
|
10.1 |
54kB |
iFedix |
04/10/20 05:24 PM |
|
10 |
54kB |
iFedix |
04/06/20 11:24 AM |
|
9.8.2 |
51kB |
iFedix |
04/05/20 06:38 AM |
|
9.8.1 |
51kB |
iFedix |
03/31/20 12:53 PM |
|
9.8 |
51kB |
iFedix |
03/31/20 10:50 AM |
|
9.7.2 |
48kB |
iFedix |
08/27/19 09:16 AM |
|
9.7.1 |
48kB |
iFedix |
08/27/19 08:50 AM |
|
9.7 |
52kB |
iFedix |
08/23/19 04:53 PM |
|
9.6.3 |
55kB |
iFedix |
02/26/19 01:53 PM |
|
9.6.2 |
55kB |
iFedix |
10/28/18 09:03 AM |
|
9.6.1 |
102kB |
iFedix |
08/16/18 02:59 AM |
|
9.6 |
102kB |
iFedix |
08/01/18 12:03 PM |
|
9.5 |
101kB |
iFedix |
06/25/18 04:42 PM |
|
9.4.1 |
100kB |
iFedix |
06/17/18 10:19 AM |
|
9.4 |
99kB |
Ayantir |
10/28/17 10:35 AM |
|
9.3 |
98kB |
Ayantir |
10/27/17 04:57 PM |
|
9.2 |
99kB |
Ayantir |
10/26/17 05:03 PM |
|
9.1 |
97kB |
Ayantir |
09/30/17 04:43 AM |
|
9 |
97kB |
Ayantir |
09/24/17 09:38 AM |
|
8 |
97kB |
Ayantir |
08/14/17 02:07 PM |
|
7.5 |
95kB |
Ayantir |
06/28/17 12:29 PM |
|
7.4 |
96kB |
Ayantir |
06/18/17 01:31 PM |
|
7.3 |
96kB |
Ayantir |
06/18/17 10:43 AM |
|
7.2 |
95kB |
Ayantir |
06/10/17 09:01 PM |
|
7.1 |
95kB |
Ayantir |
06/05/17 02:56 PM |
|
7 |
95kB |
Ayantir |
06/03/17 08:06 AM |
|
6.2 |
94kB |
Ayantir |
02/26/17 09:40 AM |
|
6.1 |
94kB |
Ayantir |
02/15/17 07:32 AM |
|
6 |
94kB |
Ayantir |
02/13/17 08:40 PM |
|
5.4 |
94kB |
Ayantir |
12/14/16 04:36 AM |
|
5.3 |
94kB |
Ayantir |
12/11/16 12:31 AM |
|
5.2 |
86kB |
Ayantir |
10/17/16 06:35 AM |
|
5.1 |
86kB |
Ayantir |
10/17/16 04:10 AM |
|
5 |
86kB |
Ayantir |
10/16/16 07:48 PM |
|
4 |
79kB |
Ayantir |
09/05/16 08:04 AM |
|
3.8 |
79kB |
Ayantir |
08/24/16 05:03 AM |
|
3.7 |
79kB |
Ayantir |
08/23/16 05:38 AM |
|
3.6 |
79kB |
Ayantir |
08/12/16 10:32 AM |
|
3.5 |
74kB |
Ayantir |
08/01/16 06:18 PM |
|
3.4 |
74kB |
Ayantir |
07/31/16 10:20 AM |
|
3.3 |
74kB |
Ayantir |
07/31/16 08:50 AM |
|
3.2 |
74kB |
Ayantir |
07/30/16 11:22 AM |
|
3.1 |
78kB |
Ayantir |
06/01/16 01:12 AM |
|
3 |
78kB |
Ayantir |
05/31/16 10:14 PM |
|
2.4 |
73kB |
Ayantir |
03/20/16 01:01 PM |
|
2.3 |
72kB |
Ayantir |
03/17/16 10:16 AM |
|
2.2 |
72kB |
Ayantir |
03/11/16 08:55 AM |
|
2..1 |
72kB |
Ayantir |
03/07/16 01:35 PM |
|
2 |
72kB |
Ayantir |
03/07/16 01:28 AM |
|
1.9.2 |
70kB |
Ayantir |
12/06/15 11:34 AM |
|
1.9.1 |
70kB |
Ayantir |
11/21/15 04:25 AM |
|
1.9 |
70kB |
Ayantir |
11/19/15 09:44 AM |
|
1.8.2 |
70kB |
Ayantir |
11/07/15 05:25 PM |
|
1.8.1 |
70kB |
Ayantir |
11/05/15 06:48 PM |
|
1.8 |
70kB |
Garkin |
11/02/15 06:17 AM |
|
1.7.4 |
70kB |
Ayantir |
09/19/15 01:47 PM |
|
1.7.2 |
70kB |
Ayantir |
09/03/15 10:40 AM |
|
1.7.1 |
70kB |
Ayantir |
09/02/15 02:45 AM |
|
1.7 |
70kB |
Ayantir |
09/01/15 05:18 AM |
|
1.6 |
69kB |
Ayantir |
08/20/15 05:32 PM |
|
1.5 |
66kB |
Ayantir |
07/08/15 02:39 AM |
|
1.4 |
65kB |
Ayantir |
06/28/15 03:22 AM |
|
1.3.9 |
64kB |
Ayantir |
06/26/15 12:55 AM |
|
1.3.7 |
65kB |
Ayantir |
06/26/15 12:52 AM |
|
1.3.7 |
58kB |
Ayantir |
06/13/15 08:28 AM |
|
1.3.6 |
56kB |
Garkin |
04/18/15 07:05 PM |
|
1.3.5 |
55kB |
Garkin |
04/13/15 08:26 PM |
|
1.3.4 |
56kB |
Garkin |
04/13/15 07:03 AM |
|
1.3.3 |
55kB |
Garkin |
03/26/15 08:28 AM |
|
1.3.2 |
55kB |
Garkin |
03/08/15 05:52 PM |
|
1.3.1 |
54kB |
Garkin |
03/04/15 10:49 AM |
|
1.3.0 |
54kB |
Garkin |
03/03/15 02:46 PM |
|
1.2.1 |
50kB |
Garkin |
02/09/15 03:54 PM |
|
1.2.0 |
50kB |
Garkin |
01/21/15 03:23 PM |
|
1.1.0 |
49kB |
Garkin |
01/20/15 07:08 PM |
|
1.0.2 |
49kB |
Garkin |
12/16/14 11:42 AM |
|
1.0.1 |
49kB |
Garkin |
11/04/14 08:05 PM |
|
1.0.0 |
49kB |
Garkin |
11/03/14 10:00 AM |
|
0.9.9 |
47kB |
Garkin |
11/01/14 02:05 PM |
|
0.9.8 |
45kB |
Garkin |
09/16/14 03:08 PM |
|
0.9.7 |
45kB |
Garkin |
08/15/14 06:42 PM |
|
0.9.6 |
43kB |
Garkin |
08/07/14 08:31 AM |
|
0.9.5 |
44kB |
Garkin |
08/06/14 08:27 PM |
|
0.9.5 |
44kB |
Garkin |
08/05/14 08:42 AM |
|
0.9.4 |
44kB |
Garkin |
08/04/14 11:06 AM |
|
0.9.3 |
44kB |
Garkin |
07/31/14 10:31 AM |
|
0.9.2 |
43kB |
Garkin |
07/26/14 04:49 PM |
|
0.9.1 |
41kB |
Garkin |
06/27/14 07:56 PM |
|
0.9 |
42kB |
Garkin |
06/25/14 07:45 AM |
|
0.8 |
41kB |
Garkin |
06/15/14 03:41 AM |
|
0.7.3 |
14kB |
Garkin |
05/18/14 05:49 AM |
|
0.7.2 |
14kB |
Garkin |
05/09/14 07:25 PM |
|
0.7.1 |
13kB |
Garkin |
05/08/14 11:14 AM |
|
0.7 |
13kB |
Garkin |
05/08/14 10:28 AM |
|
0.6 |
2kB |
Garkin |
04/17/14 11:32 AM |
|
0.5.2 |
2kB |
Garkin |
04/12/14 12:47 PM |
|
0.5.1 |
2kB |
Garkin |
04/08/14 07:08 AM |
|
0.5 |
2kB |
Garkin |
04/07/14 08:27 AM |
|
0.4 |
989B |
Garkin |
04/02/14 03:45 PM |
|
0.2 |
959B |
Garkin |
04/02/14 10:21 AM |
|
0.1 |
751B |
04/01/14 04:21 PM |
Comment Options |
02/15/17, 08:48 AM | |
Forum posts: 0
File comments: 38
Uploads: 0
|
Tested after last update. Working as intended. Thanks!
|
|
Mulcibur |
View Public Profile |
Send a private message to Mulcibur |
Find More Posts by Mulcibur |
Add Mulcibur to Your Buddy List |
Mulcibur |
View Public Profile |
Send a private message to Mulcibur |
Find More Posts by Mulcibur |
Add Mulcibur to Your Buddy List |
02/15/17, 07:21 AM | ||
|
||
|
Ayantir |
View Public Profile |
Send a private message to Ayantir |
Visit Ayantir's homepage! |
Find More Posts by Ayantir |
Add Ayantir to Your Buddy List |
02/15/17, 07:02 AM | |
Forum posts: 0
File comments: 38
Uploads: 0
|
Something seems to have broken with you latest update. So far, Ornate items and intricate items are not being automatically marked as junk despite this setting being set. Only items that seem to be marked correctly are those that were marked as User-Before
[14:58] Dustman has marked [Recipe: Markarth Mead] as junk (USER-BEFORE). |
|
Mulcibur |
View Public Profile |
Send a private message to Mulcibur |
Visit Mulcibur's homepage! |
Find More Posts by Mulcibur |
Add Mulcibur to Your Buddy List |
02/14/17, 08:56 PM | ||
the slotId in the SINGLE_SLOT_UPDATE event page is the slotIndex used everywhere, that's all. If you still don't believe this, just look at esoui code. For your problem, I don't have any track. I don't even know if it's dustman. you say the addon deleted an item, you say addon sold it, I look at the code, there is more than checks everywhere to do not do this. Yes I can agree that it may be possible that there is something leading to this, because I am a coder and my deep me says me to never close a possibility especially for bugs, but for now, I have strictly nothing which could explain this. And for others addons, I could quote Roomba, which is almost same than Dustman.. code didn't changed since months, almost year.. and all is still working.
Last edited by Ayantir : 02/14/17 at 08:57 PM.
|
||
|
Ayantir |
View Public Profile |
Send a private message to Ayantir |
Visit Ayantir's homepage! |
Find More Posts by Ayantir |
Add Ayantir to Your Buddy List |
02/14/17, 06:47 PM | |
Forum posts: 15
File comments: 14
Uploads: 0
|
it's been 3 or 4 posts that i'm talking about the var passed by the event on slot update.
Have you double checked that the "slotId" in the event args (yes taken from that ZOS text for example "ESOUIDocumentationP13.txt" ) is still the same thing as slotIndex and not the result of a browsing in ipairs à la GenerateFullSlotData? I haven't. But if it is, a new item would most likely use the next free slotindex so in the majority of cases it would coincide, but it could in some case be different. Now, what you are explaining to me i know this, I understand this, but it doesn't explain the deleted items and the screenshots of the Dustman outputs. And if other addons were involved, back to the leak hypothesis. |
|
Haho |
View Public Profile |
Send a private message to Haho |
Send email to Haho |
Visit Haho's homepage! |
Find More Posts by Haho |
Add Haho to Your Buddy List |
02/14/17, 06:26 PM | |||
Even still, take this entry from that document released by ZOS: * GetItemName(*integer* _bagId_, *integer* _slotIndex_) ** _Returns:_ *string* _name_ Yes, we usually use names which match the given parameter names for the sake of consistency. But the only requirement for an author to do so is his or her own commitment to that consistency. The only concrete requirement for any of the parameters is that their data type matches. One of the constants provided by the game is BAG_BACKPACK. It represents the bagId for a player's inventory. BAG_BACKPACK is equal to the integer 1. A slotIndex, sometimes also referred to as slotId, is the position at which an item is stored in a bag. slotIndex is an integer somewhere in the range from 1 to the maximum number of spaces in the player's inventory. You don't need to name your variables exactly the same as they are named in a function's parameter list. Heck, you don't even have to pass a variable name to functions at all. You can call GetItemName(1, 5) and get back the name of the item in slot 5 of the player's inventory, assuming there is in fact an item in position 5 of the player's inventory. Now, since the sticking point is the variable slotId as it is used in Dustman, have a look at this: In Lua, you can have a for loop declare two variables when iterating through a table. The function ipairs can iterate over a well-formed array (i.e. the the first value is stored at index 1 and there are no gaps in the table indicies). Paired with a for loop, it looks like this: Lua Code:
The variable value represents the data pointed to by arrayName[index]. These two variable names are created by the for loop declaration. These variables exist only for the life of the for loop and are not influenced by any variable which might happen to have the same name outside of the for loop. They also do not influence any variable which might have the same name outside of the for loop. In Lua, using an underscore as a variable name is a convention which means "we do not care about the value which would be stored in this variable, so we have not given it a meaningful name". Often, an underscore is seen as the first variable declared in a for loop that iterates over an array because we don't care about what position the data is stored at, we just care about the data. So let's update the example for loop to the following: Lua Code:
If you wanted to print the itemlink to chat and then sell each item to a vendor, the body of the for loop could look like this: Lua Code:
I want to circle back here and stress that the following snippet would perform exactly the same as the previous snippet: Lua Code:
Now let's revisit the junk selling function from Dustman: Lua Code:
Look at line 19. That line begins a for loop which ends on line 66. The for loop declares two variables, slotId and data which exist only for the life of the for loop and are not influenced by any variable which might happen to have the same name outside of the for loop. They also do not influence any variable which might have the same name outside of the for loop. For brevity, here again is the paired down snippet from a few replies ago: Lua Code:
Is slotId ever used in the body of the for loop? No. Paste the full function into a text editor and ctrl-f for slotId if you don't believe this shorter snippet is representative. So then, based on my example for loop above, couldn't Dustman's for loop be written as: Lua Code:
And if that is the case, does it matter if the first variable in the Dustman for loop has a name or not? No. All of this is to say, again, that Dustman has no bug related to misuse of the array returned by GenerateFullSlotData and that an author's local variable names are completely arbitrary with respect to outside scopes. Edit: it is most likely that the reason the first variable name in Dustman's for loop is still slotId is that Ayantir simply did not change it to an underscore when he initially fixed the code to work with the updated GenerateFullSlotData function. No big deal.
Last edited by Randactyl : 02/14/17 at 06:29 PM.
|
|||
|
Randactyl |
View Public Profile |
Send a private message to Randactyl |
Send email to Randactyl |
Visit Randactyl's homepage! |
Find More Posts by Randactyl |
Add Randactyl to Your Buddy List |
02/14/17, 05:09 PM | ||
Forum posts: 15
File comments: 14
Uploads: 0
|
Sometimes slotId is used, sometimes slotIndex. I'm pretty sure it's not random. |
|
|
Haho |
View Public Profile |
Send a private message to Haho |
Send email to Haho |
Visit Haho's homepage! |
Find More Posts by Haho |
Add Haho to Your Buddy List |
02/14/17, 04:59 PM | ||
local randomVarNameToProveAPoint = data.slotIndex randomVarNameToProveAPoint would be a valid slotIndex and calling GetItemLink(BAG_BACKPACK, randomVarNameToProveAPoint) or any other function that takes a bagId and slotIndex as arguments would all be perfectly valid. There's a fundamental misunderstanding here. Just suffice it to say your initial report about how GenerateFullSlotData has changed over time is valid, however Dustman has already accounted for it in at least the most recent update. |
||
|
Randactyl |
View Public Profile |
Send a private message to Randactyl |
Send email to Randactyl |
Visit Randactyl's homepage! |
Find More Posts by Randactyl |
Add Randactyl to Your Buddy List |
02/14/17, 04:34 PM | ||
Forum posts: 15
File comments: 14
Uploads: 0
|
I don't use any slot update event in my version of Zolans, but if last year slotId and slotIndex were the same but not anymore (see screenshot), executing check function as IsItemStolen(bagId, slotIndex) with the return value of the Event (which is according to the wiki slotId and not slotindex) would generate the same kind of mixup. Error which would have been masked until a few month ago but not anymore. Now idk if the event really returns slotId or slotIndex, as I said, not my part to do the legwork here. Edit, also, CDGbankstacker, Restacker if you wanna verify for yourself that something that was working last year isn't anymore due to this.
Last edited by Haho : 02/14/17 at 04:52 PM.
|
|
|
Haho |
View Public Profile |
Send a private message to Haho |
Send email to Haho |
Visit Haho's homepage! |
Find More Posts by Haho |
Add Haho to Your Buddy List |
02/14/17, 04:20 PM | ||||||
2. Lua is lexically scoped. If slotId were ever actually used within the for loop, it would use the immediate one declared in "for slotId, data ..." not some other variable named slotId which was leaked to the global scope. |
||||||
|
Randactyl |
View Public Profile |
Send a private message to Randactyl |
Send email to Randactyl |
Visit Randactyl's homepage! |
Find More Posts by Randactyl |
Add Randactyl to Your Buddy List |
02/14/17, 03:42 PM | |||||
Forum posts: 15
File comments: 14
Uploads: 0
|
The users reports with screenshots are very clear about gloden stuff deleted or other weird occurrences. It's a lead, now i wont do the legwork. |
||||
|
Haho |
View Public Profile |
Send a private message to Haho |
Send email to Haho |
Visit Haho's homepage! |
Find More Posts by Haho |
Add Haho to Your Buddy List |
02/14/17, 03:19 PM | ||||
Lua Code:
From Dustman's sell junk function. I yanked out the irrelevant parts for length. Dustman uses the correct slotIndex from data.slotIndex. slotId in the for loop is never use and could just as easily be _. |
||||
|
Randactyl |
View Public Profile |
Send a private message to Randactyl |
Send email to Randactyl |
Visit Randactyl's homepage! |
Find More Posts by Randactyl |
Add Randactyl to Your Buddy List |
02/14/17, 03:00 PM | |||
Forum posts: 15
File comments: 14
Uploads: 0
|
GenerateFullSlotData used to return slotIndexes as indexes but not anymore since at least the update before Homestead. GetOrCreateBagCache still does this though. I assume they changed it to be able to ipair on one of both methods. And all of Garkin's addons involving bags use GenerateFullSlotData btw. |
||
|
Haho |
View Public Profile |
Send a private message to Haho |
Send email to Haho |
Visit Haho's homepage! |
Find More Posts by Haho |
Add Haho to Your Buddy List |
02/14/17, 02:44 PM | ||
GenerateFullSlotData creates an array of all of the data tables that back items in the bags passed to the function. An index in the returned array cannot be assumed to be equal to data.slotIndex at any given array position. |
||
|
Randactyl |
View Public Profile |
Send a private message to Randactyl |
Send email to Randactyl |
Visit Randactyl's homepage! |
Find More Posts by Randactyl |
Add Randactyl to Your Buddy List |
You have just downloaded by the author . If you like this AddOn why not consider supporting the author? This author has set up a donation account. Donations ensure that authors can continue to develop useful tools for everyone.