Yo i ve got some trouble with making a fireball ability for my game. When i activate tool it says “Unable to cast double with Vector3” .
‘’'lua
local Tool = script.Parent
local Player = game.Players.LocalPlayer
local cooldown = 0 – Перезарядка
local fireEffect = nil – Эффект огня
– Функция для активации инструмента
local function onActivated()
if cooldown > 0 then return end – Если перезарядка идет, выходим из функции
local character = Player.Character or Player.CharacterAdded:Wait()
local humanoid = character:FindFirstChildWhichIsA("Humanoid")
if not humanoid then return end
local camera = workspace.CurrentCamera
local mousePosition = camera:WorldToScreenPoint(camera.ViewportSize.X / 2, camera.ViewportSize.Y / 2)
local direction = CFrame.new(character.Head.Position, mousePosition).LookVector
-- Создаем огненный шар
local Fireball = game.ReplicatedStorage.Fireball:Clone()
Fireball.Parent = workspace
Fireball.CFrame = character.Head.CFrame * CFrame.new(0, 0.5, 1) * CFrame.Angles(0, math.rad(90), 0)
-- Запускаем анимацию огненного шара
local speed = 20
local growFactor = 0.2
local fadeFactor = 0.05
local function animateFireball()
local FireballSize = Fireball.Size
local FireballTransparency = Fireball.Transparency
while Fireball and Fireball.Parent do
Fireball.CFrame = Fireball.CFrame:lerp(Fireball.CFrame + Fireball.CFrame.lookVector * speed, 1, 0.1)
FireballSize = FireballSize + Vector3.new(growFactor, growFactor, growFactor)
Fireball.Size = FireballSize
FireballTransparency = FireballTransparency + fadeFactor
Fireball.Transparency = math.clamp(FireballTransparency, 0, 1)
if FireballTransparency >= 1 then
Fireball:Destroy()
end
task.wait()
end
end
animateFireball()
-- Запускаем перезарядку
cooldown = 5
task.wait(5)
cooldown = 0
end
– Функция для активации прицела
local function onMouseClick()
if cooldown > 0 then return end
local camera = workspace.CurrentCamera
end
– Функция для урона от огненного шара
local function onFireballTouched(hit)
if hit.Parent:FindFirstChild(“Humanoid”) then
local humanoid = hit.Parent:FindFirstChild(“Humanoid”)
humanoid.Health -= 10 – Нанесение урона
-- Создание эффекта огня на персонаже
fireEffect = Instance.new("Fire", hit.Parent)
fireEffect.Size = Vector3.new(1, 1, 1)
-- Удаление эффекта через 7 секунд
task.wait(7)
fireEffect:Destroy()
end
end
– Функция для нанесения меньшего урона в течение 7 секунд
local function applyDamageOverTime(hit)
if hit.Parent:FindFirstChild(“Humanoid”) then
local humanoid = hit.Parent:FindFirstChild(“Humanoid”)
while humanoid.Health > 0 do
humanoid.Health -= 1 – Нанесение урона в течение 7 секунд
task.wait(1) – Задержка между нанесениями урона
end
end
end
– Обработка события касания огненным шаром
local Fireball = game.ReplicatedStorage.fireball:Clone()
Fireball.fireball.Touched:Connect(onFireballTouched)
– Обработка события при активации инструмента
Tool.Activated:Connect(onActivated)
the line where error is
local mousePosition = camera:WorldToScreenPoint(camera.ViewportSize.X / 2, camera.ViewportSize.Y / 2)
any help priceless