I’m trying to make a UI physics engine but my script never prints “HI” any help?
local rs = game:GetService("RunService")
rs.RenderStepped:Connect(function()
if script.Parent:FindFirstChild("Cube") then
for index, instance in pairs(script.Parent:GetDescendants()) do
if instance.Name == "Hit" then
local tall = script.Parent.Cube.AbsoluteSize.Y
local bottomFACE = tall / 2
local bottom = script.Parent.Cube.AbsolutePosition.Y - bottomFACE
local HITtall = instance.AbsoluteSize.Y
local HITtopFACE = tall / 2
local HITtop = instance.AbsolutePosition.Y + HITtopFACE
if bottom == HITtop then
print("hi")
end
end
end
end
end)
Are you sure that the script is reaching the last if statement? I would add more prints after every if statement to make sure that none of them are failing first.
You should try to add a print that prints HITtop and bottom, print(HITtop, bottom), and make sure that they match. If they don’t match the if won’t be true and “hi” won’t be printed. Make sure not to put this print inside the if statement. If they’re off just slightly (eg. 1.1005, 1.1009) you can use math.round() to round them.
What are you rounding the numbers to? If you want to round 360.00558676 to 360 do this: math.round(360.00558676, 360) This will round the number to 360.