May I see your entire script setup for this?
Heres the script when for when i was trying the first one (edit, no longer moves it aswell for some reason)
local player = game.Players.LocalPlayer
local hoverinv = script.Parent.Parent.Parent.HoverInfo
local mouse = player:GetMouse()
local K = script.Parent
K.MouseEnter:Connect(function()
hoverinv.Visible = true
repeat
hoverinv.Position = UDim2.new(mouse.X, 0, mouse.Y, 0)
task.wait()
until K.MouseLeave
end)
K.MouseLeave:Connect(function()
hoverinv.Visible = false
end)
And heres the second one
local player = game.Players.LocalPlayer
local hoverinv = script.Parent.Parent.Parent.HoverInfo
local mouse = player:GetMouse()
local connection
local K = script.Parent
K.MouseEnter:Connect(function()
hoverinv.Visible = true
connection = mouse.Move:Connect(function()
hoverinv.Position = UDim2.new(mouse.X, 0, mouse.Y, 0)
end)
end)
K.MouseLeave:Connect(function()
hoverinv.Visible = false
if (connection) then
connection:Disconnect()
end
end)
Alright try this:
local frame = script.Parent:WaitForChild("Frame")
local textButton = script.Parent:WaitForChild("TextButton")
local mouse = game.Players.LocalPlayer:GetMouse()
local connection
textButton.MouseEnter:Connect(function()
frame.Visible = true
connection = mouse.Move:Connect(function()
frame.Position = UDim2.new(0,mouse.X,0,mouse.Y)
end)
end)
textButton.MouseLeave:Connect(function()
frame.Visible = false
if (connection) then
connection:Disconnect()
end
end)
It’s the same ish as the second one but the issue was with the Udim2.
Edit: Make sure to edit the names in the script.
Alright this worked!
Although one more question, whenever i go fast through the guis This happens
Sometimes the gui doesnt appear, it isnt a big issue although im just wondering if theres a fix to this or am i stuck with it
I could be wrong but this might be an issue with roblox (aka .MouseEnter
event)
I’ll take a look anyway give me a second.
Try this:
local frame = script.Parent:WaitForChild("Frame")
local textButton = script.Parent:WaitForChild("TextButton")
local mouse = game.Players.LocalPlayer:GetMouse()
frame:SetAttribute("AmountSelectedBy",0)
for index,item in pairs(script.Parent:WaitForChild("ScrollingFrame"):GetChildren()) do
if (item:IsA("TextButton")) then
item.MouseEnter:Connect(function()
frame.Visible = true
frame:SetAttribute("AmountSelectedBy",frame:GetAttribute("AmountSelectedBy")+1)
end)
item.MouseLeave:Connect(function()
frame:SetAttribute("AmountSelectedBy",frame:GetAttribute("AmountSelectedBy")-1)
if (frame:GetAttribute("AmountSelectedBy") == 0) then
frame.Visible = false
end
end)
end
end
mouse.Move:Connect(function()
frame.Position = UDim2.new(0,mouse.X,0,mouse.Y)
end)
ill try it out in a bit, although is there a way to get the code to work in this function
for i, v in ipairs(CurrentInv) do
local K = C:Clone()
K.Text = v.Name
K.Visible = true
K.Parent = C.Parent
K.MouseButton1Click:Connect(function()
equipitem(v)
K:Destroy()
end)
K.MouseEnter:Connect(function()
connection = mouse.Move:Connect(function()
hoverinv.Position = UDim2.new(0,mouse.X,0,mouse.Y)
end)
end)
K.MouseLeave:Connect(function()
hoverinv.Visible = false
if (connection) then
connection:Disconnect()
end
end)
end
i tried pasting it over, and it doesnt really work
May I see the entire script? I’m not sure what C is equal to.
local player = game.Players.LocalPlayer
local inv = game.ReplicatedStorage.PlayerInvetorys:WaitForChild(player.Name .. "Folder")
local CurrentInv = inv:GetChildren()
local C = script.Parent.ItemFrame
local hoverinv = script.Parent.Parent.HoverInfo
local mouse = player:GetMouse()
local connection
print(CurrentInv)
function equipitem(item)
if not item then warn("Wheres My Gun At?") return end
game.ReplicatedStorage.TotallyCoolEvents.EquipGun:FireServer(item)
end
for i, v in ipairs(CurrentInv) do
local K = C:Clone()
K.Text = v.Name
K.Visible = true
K.Parent = C.Parent
K.MouseButton1Click:Connect(function()
equipitem(v)
K:Destroy()
end)
K.MouseEnter:Connect(function()
connection = mouse.Move:Connect(function()
hoverinv.Position = UDim2.new(0,mouse.X,0,mouse.Y)
end)
end)
K.MouseLeave:Connect(function()
hoverinv.Visible = false
if (connection) then
connection:Disconnect()
end
end)
end
inv.ChildAdded:Connect(function(Child)
local K = C:Clone()
K.Text = Child.Name
K.Visible = true
K.Parent = C.Parent
K.MouseButton1Click:Connect(function()
equipitem(Child)
K:Destroy()
end)
end)
Try This:
local player = game.Players.LocalPlayer
local inv = game.ReplicatedStorage.PlayerInvetorys:WaitForChild(player.Name .. "Folder")
local CurrentInv = inv:GetChildren()
local C = script.Parent.ItemFrame
local hoverinv = script.Parent.Parent.HoverInfo
local mouse = player:GetMouse()
print(CurrentInv)
hoverinv:SetAttribute("AmountSelectedBy",0)
function equipitem(item)
if not item then warn("Wheres My Gun At?") return end
game.ReplicatedStorage.TotallyCoolEvents.EquipGun:FireServer(item)
end
for i, v in ipairs(CurrentInv) do
local K = C:Clone()
K.Text = v.Name
K.Visible = true
K.Parent = C.Parent
K.MouseButton1Click:Connect(function()
equipitem(v)
K:Destroy()
end)
K.MouseEnter:Connect(function()
hoverinv.Visible = true
hoverinv:SetAttribute("AmountSelectedBy",hoverinv:GetAttribute("AmountSelectedBy")+1)
end)
K.MouseLeave:Connect(function()
hoverinv:SetAttribute("AmountSelectedBy",hoverinv:GetAttribute("AmountSelectedBy")-1)
if (hoverinv:GetAttribute("AmountSelectedBy") == 0) then
hoverinv.Visible = false
end
end)
end
inv.ChildAdded:Connect(function(Child)
local K = C:Clone()
K.Text = Child.Name
K.Visible = true
K.Parent = C.Parent
K.MouseButton1Click:Connect(function()
equipitem(Child)
K:Destroy()
end)
end)
mouse.Move:Connect(function()
hoverinv.Position = UDim2.new(0,mouse.X,0,mouse.Y)
end)
i tried it and the hover gui didnt appear
May I see what happens when you hover over the guns?
^with hover gui visibility pre disabled
^with hover gui visibility pre enabled
Try this:
local player = game.Players.LocalPlayer
local inv = game.ReplicatedStorage.PlayerInvetorys:WaitForChild(player.Name .. "Folder")
local CurrentInv = inv:GetChildren()
local C = script.Parent.ItemFrame
local hoverinv = script.Parent.Parent.HoverInfo
local mouse = player:GetMouse()
print(CurrentInv)
hoverinv:SetAttribute("AmountSelectedBy",0)
function equipitem(item)
if not item then warn("Wheres My Gun At?") return end
game.ReplicatedStorage.TotallyCoolEvents.EquipGun:FireServer(item)
end
for i, v in ipairs(CurrentInv) do
local K = C:Clone()
K.Text = v.Name
K.Visible = true
K.Parent = C.Parent
K.MouseButton1Click:Connect(function()
equipitem(v)
K:Destroy()
end)
K.MouseEnter:Connect(function()
hoverinv.Visible = true
hoverinv:SetAttribute("AmountSelectedBy",hoverinv:GetAttribute("AmountSelectedBy")+1)
end)
K.MouseLeave:Connect(function()
hoverinv:SetAttribute("AmountSelectedBy",hoverinv:GetAttribute("AmountSelectedBy")-1)
if (hoverinv:GetAttribute("AmountSelectedBy") == 0) then
hoverinv.Visible = false
end
end)
end
inv.ChildAdded:Connect(function(Child)
local K = C:Clone()
K.Text = Child.Name
K.Visible = true
K.Parent = C.Parent
K.MouseButton1Click:Connect(function()
equipitem(Child)
K:Destroy()
end)
K.MouseEnter:Connect(function()
hoverinv.Visible = true
hoverinv:SetAttribute("AmountSelectedBy",hoverinv:GetAttribute("AmountSelectedBy")+1)
end)
K.MouseLeave:Connect(function()
hoverinv:SetAttribute("AmountSelectedBy",hoverinv:GetAttribute("AmountSelectedBy")-1)
if (hoverinv:GetAttribute("AmountSelectedBy") == 0) then
hoverinv.Visible = false
end
end)
end)
mouse.Move:Connect(function()
hoverinv.Position = UDim2.new(0,mouse.X,0,mouse.Y)
end)
this does work, althought it still has the same problem with the other script, where if you move too fast it doesnt show up
May I see a screenshot of your user interface? e.g:
Try this:
local player = game.Players.LocalPlayer
local inv = game.ReplicatedStorage.PlayerInvetorys:WaitForChild(player.Name .. "Folder")
local CurrentInv = inv:GetChildren()
local C = script.Parent.ItemFrame
local hoverinv = script.Parent.Parent.HoverInfo
local mouse = player:GetMouse()
print(CurrentInv)
hoverinv:SetAttribute("AmountSelectedBy",0)
local connections = {}
function equipitem(item)
if not item then warn("Wheres My Gun At?") return end
game.ReplicatedStorage.TotallyCoolEvents.EquipGun:FireServer(item)
end
for i, v in ipairs(CurrentInv) do
local K = C:Clone()
K.Text = v.Name
K.Visible = true
K.Parent = C.Parent
K.MouseButton1Click:Connect(function()
equipitem(v)
K:Destroy()
end)
K.MouseEnter:Connect(function()
hoverinv.Visible = true
hoverinv:SetAttribute("AmountSelectedBy",hoverinv:GetAttribute("AmountSelectedBy")+1)
end)
K.MouseLeave:Connect(function()
hoverinv:SetAttribute("AmountSelectedBy",hoverinv:GetAttribute("AmountSelectedBy")-1)
if (hoverinv:GetAttribute("AmountSelectedBy") == 0) then
hoverinv.Visible = false
end
end)
table.insert(connections,K)
end
inv.ChildAdded:Connect(function(Child)
local K = C:Clone()
K.Text = Child.Name
K.Visible = true
K.Parent = C.Parent
K.MouseButton1Click:Connect(function()
equipitem(Child)
K:Destroy()
end)
if (not connections[K]) then
K.MouseEnter:Connect(function()
hoverinv.Visible = true
hoverinv:SetAttribute("AmountSelectedBy",hoverinv:GetAttribute("AmountSelectedBy")+1)
end)
K.MouseLeave:Connect(function()
hoverinv:SetAttribute("AmountSelectedBy",hoverinv:GetAttribute("AmountSelectedBy")-1)
if (hoverinv:GetAttribute("AmountSelectedBy") == 0) then
hoverinv.Visible = false
end
end)
end
end)
mouse.Move:Connect(function()
hoverinv.Position = UDim2.new(0,mouse.X,0,mouse.Y)
end)
eh, at this point its probably just a problem with roblox, tried it and it still yields the same results as before
Ah alright. I’ll link you this module I found.
It might help you with better detection. Sorry I couldn’t help.