Help for scripting something

Hello! I need help from you, the community of scripters. I don’t know if you know the game: Bee Swarm Simulator, but I tried to make this game, the problem is that it’s not the same rendering compared to the tools. Here is a comparison :

Bee Swarm:
https://gyazo.com/18605d00d972bbe454c914b8d7009455

My game:
https://gyazo.com/7758e495d0087d8384416c8970a1744d

The difference is that diagonally, the tool in Bee Swarm chooses either to go up, or to the sides, while my tool goes diagonally. Do you have any ideas how to make my tool look like in Bee Swarm?

Here is the script of the tool:

local plr = game.Players.LocalPlayer
local char = plr.Character or plr.CharacterAdded:Wait()
local anim
local UIS = game:GetService("UserInputService")
local tool = script.Parent
local used = false
local db = false
local rate = 0.1
local player = game.Players.LocalPlayer
local earnings = 1

tool.Activated:Connect(function()
	local hum = plr.Character.Humanoid
	if not used then
		used = true
		local anim = hum:LoadAnimation(script.Use)
		db = true
		anim:Play()
		wait(script.Parent.Time.Value)
		db = false
		used = false
	end
end)

script.Parent:WaitForChild("Hitbox").Touched:connect(function(part)
	if game.Players.LocalPlayer:FindFirstChild("Farm").Value == true then
		if part.Parent.Parent.Name == "Flowers" then
			player.Pollen.Value = player.Pollen.Value + earnings
			for i = 0,5 do
				part.CFrame = CFrame.new(part.Position + Vector3.new(0, -rate, 0))
				wait()
			end



			wait(script.Parent.Time.Value)
			wait(math.random(10,25))
			for i = 0,5 do
				part.CFrame = CFrame.new(part.Position + Vector3.new(0, rate, 0))
				wait()
			end
		end
	end
end)
2 Likes