Gave this a test, tried it a couple different ways, and just couldn't get the list data to store the SteamUGCContentID. Always came out as -1. So, on a whim, I also added a number array to store the values, and they came out with the negative values I got when trying to store the value as a string.
MFA attached.
This is not normal, are you sure you used the correct index?
Well, negative values are OK as they are correctly converted when they are passed as parameter to the Steamworks object (what was not OK was the floating point value returned by Val).
Sorry I can't test your app, it doesn't display anything on my machine (I guess because I don't own the Steam app?), but I'm pretty sure this works (I tried with a simple Download File action from the value that's in your example, via a List line data, and I didn't get the error message).
My setup looks like this:
* SteamWorks : On loop through search content results in session "subs"
List : Set line SteamLastUGCLoopIndex( "SteamWorks" ) data to SteamLastUGCContentId( "SteamWorks" ) [The line # = the SteamLastUGCLoop Index]
steamData : Write Value SteamLastUGCContentId( "SteamWorks" ) to (SteamLastUGCLoopIndex( "SteamWorks" )) [This writes the last ContentID value to to the loop index X spot on the array]
steamChecker : Set lineDataValue to List Data( "List", SteamLastUGCLoopIndex( "SteamWorks" ) ) [This is the alterable value that checks the line data value]
I'll reactivate the download function again pull the values from the array instead and see what happens there.Well, negative values are OK as they are correctly converted when they are passed as parameter to the Steamworks object (what was not OK was the floating point value returned by Val).
Edit: No dice. I made some small changes to add a "numberOfFiles" value to the active. Then it's supposed to download the workshop file at the ContentID in the corresponding array X position, and stop when fileNumber("steamChecker") == numberOfFiles("steamChecker") but I get the statusErrorFailedToDownloadFile message again. I think what was preventing the error from appearing this time was comparing the fileNumber value to the number of lines, and since there were no lines, it basically started out finished.
Lemme know if you want a key.Sorry I can't test your app, it doesn't display anything on my machine (I guess because I don't own the Steam app?), but I'm pretty sure this works (I tried with a simple Download File action from the value that's in your example, via a List line data, and I didn't get the error message).![]()
Hmm, it doesn't display anything in the list box even after activating the product. Is this normal? How can I test it?
I was having that same problem too. It does if you convert the values to strings and add them as a line, but not if you add line data.
Make sure though that you've gone over to workshop and subscribed to one or two items, because the Steam object's loop looks specifically for subscribed items, not all items.
Yes you have to add a line before being able to set its data. But anyway I'm trying to test the Array solution, I add the item ID to the list at the same time just to see it on screen, but after suscribing to 3 items it doesn't list anything (I've added a counter that is incremented on each loop, just to be sure). I'm using the first example you posted.
Alright I spiced things up a little bit, the results are the same but the data is a little clearer. It now starts with an Add Line function, which lists the Workshop item title. Each line stores the ContentID number, but they're still coming out negative. I also added a counter at top to display the ContentID.
Here's the updated MFA, it should work as is but just in case make sure the Steam AppID is set to 1087050.