local http = game:GetService('HttpService') local data = http:GetAsync('http://www.roproxy.tk/Asset/AvatarAccoutrements.ashx?userId=156')
That data gets all assets worn by builderman, but I need to find a way to get that data into a table, possibly through methods of string manipulation, but I'm not entirely sure how to do this.
You could treat them as semicolon separated strings.
In that case, :gmatch
is a good bet:
local list = {}; for url in data:gmatch("[^;]+") do -- Explanation of pattern: -- ; -- Semicolons -- [;] -- A "character class" consisting of only semicolons -- [^;] -- a class of all NOT semicolons -- [^;]+ -- one or more contiguous not-semicolons table.insert(list, url); end
The only way I can think of how to do this is with a little bit of string manipulation. If you look the string GetAsync is returning, you'll notice that each asset is separated by a semi-colon [ ; ]. Using this, we can use some loops to find out how many assets there are (the last one does not have a semi-colon, so we'll need to add one) and then extract the asset ids from the string.
local http = game:GetService('HttpService') local data = http:GetAsync('http://www.roproxy.tk/Asset/AvatarAccoutrements.ashx?userId=156') function createTable() local array = {} local assetSeparators = {} -- Find number of assets for value in string.gmatch(data, ";") do table.insert(assetSeparators, value) end -- Extract assets local lastEnd = 1 for i = 1, #assetSeparators do table.insert(array, string.sub(data, lastEnd, string.find(data, ";", lastEnd) - 1)) lastEnd = string.find(data, ";", lastEnd + 1) + 1 end table.insert(array, string.sub(data, lastEnd)) -- The asset without a semi-colon return array end local array = createTable()