I can't even wrap my head around it because i'm not sure where to start the math.
An explanation will be enough, no need to show anything.
This is my starting code(if you're curious, nothing right now though), what i'm trying to do is a path of exile/diablo style inventory.
--Services
local RunService = game:GetService("RunService")
--Variables
local player = game.Players.LocalPlayer
local mouse = player:GetMouse()
--Inv
local slots = script.Parent.Slots
local getSlots = slots:GetChildren()
local mouseSizeX = 1
local mouseSizeY = 1
local columns = 12
local rows = 5
local pickup = script.Parent.Parent.Pickup
local pickupX = pickup.SizeX.Value
local pickupY = pickup.SizeY.Value
local modifiers = pickup.Modifiers
local items = script.Parent.Items
local characterUI = script.Parent.Character
mouse.Move:Connect(function()
for i = 1, #getSlots do
if getSlots[i].ClassName ~= "UIGridLayout" then
getSlots[i].MouseEnter:Connect(function()
if pickupX > 1 or pickupY > 1 then
mouseSizeX = pickupX
mouseSizeY = pickupY
elseif pickupX == 1 and pickupY == 1 then
mouseSizeX = 1
mouseSizeY = 1
end
getSlots[i].ImageColor3 = Color3.fromRGB(225,225,225)
if getSlots[i].ImageColor3 == Color3.fromRGB(225,225,225) then
--34Y difference in each slot
--34.5X to 34.6X difference in each slot
print(getSlots[i].AbsolutePosition)
end
end)
getSlots[i].MouseLeave:Connect(function()
getSlots[i].ImageColor3 = Color3.fromRGB(255,255,255)
end)
end
end
end)
