-
I wanna settle when something typed in search bar items will show up to his rarity priority


function RankItems(Type, item, search)
local GetItemRarity = require(ReplicatedStorage.InfoModules.ItemRanks)
local RarityTable = GetItemRarity:GetRank()
local int = 9
local int2 = 9
local function Loop()
for i,v in ipairs(Assets:FindFirstChild(Type):GetChildren()) do
if v.ItemRarity.Value == RarityTable[int] then
SetItemStat(v, Type)
end
end
int = int - 1
if not (int <= 0) then
Loop()
end
end
local function LoopSearch()
for i,v in ipairs(Assets:FindFirstChild(Type):GetChildren()) do
local item1 = string.lower(tostring(item.ItemName.Value))
local item2 = string.lower(tostring(v.ItemName.Value))
if string.find(item2, search) and v.ItemRarity.Value == RarityTable[int] and string.match(item2, item1) then
SetItemStat(item, Type)
end
end
int2 = int2 - 1
if not (int2 <= 0) then
LoopSearch()
end
end
if item == 1 then
Loop()
else
LoopSearch()
end
end
function SetItemStat(item, Type)
local PlayerItem = script.PlayerItem:Clone()
PlayerItem.Heading.Text = item.ItemName.Value
PlayerItem.ItemImage.Image = item.ItemImage.Value
PlayerItem.Parent = PlayerItems
if FirstButton == true then
positionX = positionX + 90
if positionX > 270 then
positionX = 0
positionY = positionY + 110
end
else
FirstButton = true
end
PlayerItem.Position = UDim2.new(
PlayerItem.Position.X.Scale,
positionX,
PlayerItem.Position.Y.Scale,
positionY
)
PlayerItem.BackgroundColor3 = item.ItemRarity.Color3.Value
PlayerItem.MouseButton1Click:Connect(function()
CreateStatsGUI(Type, item)
end)
end
function CreateItem(item, Type, search)
local PlayerItem = script.PlayerItem:Clone()
warn(item, Type, search)
if item ~= nil then
RankItems(Type, 1)
else
RankItems(Type, item, search)
end
end
function DeleteItems()
for i,item in ipairs(PlayerItems:GetChildren()) do
item:Destroy()
FirstButton = false
positionX = 0
positionY = 0
end
end
function SearchInventory()
local search = string.lower(SearchBox.Text)
for i, folder in ipairs(Assets:GetChildren()) do
if folder:IsA("Folder") then
for i, item in ipairs(folder:GetChildren()) do
if search ~= "" then
local item2 = string.lower(tostring(item.ItemName.Value))
if string.find(item2, search) then
if folder.Name == "Knife" then
CreateItem(item, "Knife", search)
end
if folder.Name == "Weapon" then
CreateItem(item, "Weapon", search)
end
end
else
DeleteItems()
return
end
end
end
end
end