Yep its this script for the THIRD time, and i think this time i will comment and not create a fourth post for this script. This time, it says "attempt to inde item" even tough i defined it. so i had the same problem on the last post, but that fix couldnt fix this one.
Problem is on Line 44
local m = {} --get item local items = require(game.ReplicatedStorage.Items) ---variables local player = game.Players.LocalPlayer local gui = player("WaitForChild","PlayerGui") local ui = gui("WaitForChild","Ui") local elements = gui("WaitForChild","Elements") --function function m.getRarity(type) for a,b in ipairs(items.Rarities) do if b.name==type then return b end end end function m.createItem() local object = elements("WaitForChild","item"):Clone() local scaledSize = math.floor((object.Size.X.Scale*m.settings.cUI.AbsoluteSize.Y)+0.5)/m.settings.cUI.AbsoluteSize.X --Get / Set Types local types = {} for a,b in ipairs(m.settings.case.items) do for d,c in ipairs(items.Items) do if c.name==b then local r = m:getRarity(c.rarityType) if r then for t=1,r.rarity*10 do table.insert(types,c) if not r then --r = nil print "None" end end end end end end --select item local item = types[m.settings.prng:NextInteger(1,#types)] local itemType = m:getRarity(item.rarityType) --set other properties object.BorderColor3 = itemType.Color object.rarityMark.BackgroundColor3 = itemType.Color object.Name = item.name object.itemImage = "rbxassetid//"..item.imageID --set position object.Position = (m.settings.lastObject and m.settings.lastObject.Position+UDim2.new(scaledSize,0,0,0)+m.settings.offset) or UDim2.new(-scaledSize/2,0,0.5,0) --set parent object.parent = m.settings.cUI --set few variables m.settings.lastObject = object table.insert(m.settings.objects, object) end function m:check() for a,b in ipairs(m.settings.objects)do local scaledSize = b.AbsoluteSize if b.AbsolutePosition.X <= -scaledSize.x+m.settings.offset.X.Offset then table.remove(m.settings.objects,a) b:Destroy() m.createItem() m.check() break end end end function m:update() m.settings.speed = math.max(m.settings.speed-(0.03/m.settings.spinLength),0) m.settings.newAccel = m.settings.accel*math.sin((math.pi/2)*m.settings.speed) for a,b in ipairs(m.settings.objects)do b.Position = b.Position-UDim2.new(m.settings.newAccel/m.settings.cUI.AbsoluteSize.X,0,0,0) end if m.settings.newAccel==0 then m:result() end end function m:result() --disconnect m.render:disconnect() --get selected item local item for a,b in ipairs(m.settings.objects) do local left,right = b.AbsolutePosition.X/m.settings.cUI.AbsoluteSize.X,(b.AbsolutePosition.X+b.AbsoluteSize.X)/m.settings.cUI.AbsoluteSize.X if left <=0.5 and right >=0.5 then item=b break end end if item then m.newResult = item else local closestItems = {} for a,b in ipairs(m.settings.objects) do table.insert(closestItems,{ mag=(Vector2.new(b.AbsolutePosition.X/m.settings.cUI.AbsoluteSize.X,0)-Vector2.new(0.5,0)).magnitude; item=b; }) end table.sort(closestItems,function(a,b) return a.mag<b.mag end) m.newResult = closestItems[1].item end end function m:create(caseType) --Setings m.settings = { case=items.Cases[caseType]; cUI=elements("WaitForChild","caseUI"):Clone(); objects={}; prng=Random.new(); offset=UDim2.new(0,25,0,0); accel=30; speed=1; spinLength=5; } m.newResult=nil --presetup m.settings.cUI.Parent = ui for t=1,15 do m:createItem() end --services m.render = game("GetService","RunService").RenderStepped:connect(function() m:update() m:check() end) --wait for result repeat wait() until m.newResult --getrid of Ui spawn(function() wait(1) m.settings.cUI.TweenPosition(UDim2.new(0,0,1.15,0),"Out","Sine",1,true,function() m.settings.cUI:Destroy() end) end) --return result return m.newResult end return m