local Button = VisualTab:CreateButton({
Name = "test",
Callback = function()
local UserInputService = game:GetService("UserInputService")
local Workspace = game:GetService("Workspace")
local Debris = game:GetService("Debris")
local function createTracer(startPosition, endPosition)
local directionVector = (endPosition - startPosition)
local distance = directionVector.Magnitude
-- Создаем трейсер
wait(0.2)
local tracer = Instance.new("Part")
tracer.Color = CTRCLR or Color3.fromRGB(255, 0, 0) -- Замените на нужный цвет или определите CTRCLR
tracer.Size = Vector3.new(0.2, 0.2, distance)
tracer.Anchored = true
tracer.CanCollide = false
tracer.Material = Enum.Material.Neon
tracer.CFrame = CFrame.lookAt(
startPosition + directionVector/2, -- Центр трейсера
endPosition -- Направление взгляда
)
tracer.Parent = Workspace
for i = 0.1, 1, 0.1 do
wait(0.001)
tracer.Transparency = i
end
Debris:AddItem(tracer, 1) -- Автоматически удалит трейсер через 1 секунду
end
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local rootPart = character:WaitForChild("HumanoidRootPart")
local mouse = player:GetMouse()
game.ReplicatedStorage.Events.Shoot.OnClientEvent:Connect(function()
if mouse.Target then
createTracer(rootPart.Position, mouse.Hit.p)
print("sosal?")
else
print("Mouse target is nil")
end
end)
end,
})
local CTRCLR = Color3.fromRGB(255, 0, 0) -- Определяем цвет для трейсера
local Button = VisualTab:CreateButton({
Name = "test",
Callback = function()
local UserInputService = game:GetService("UserInputService")
local Workspace = game:GetService("Workspace")
local function createTracer(startPosition, endPosition)
local directionVector = (endPosition - startPosition)
local distance = directionVector.Magnitude
-- Ждем перед созданием трейсера (если это необходимо)
wait(0.2)
local tracer = Instance.new("Part")
tracer.Color = CTRCLR
tracer.Size = Vector3.new(0.2, 0.2, distance)
tracer.Anchored = true
tracer.CanCollide = false
tracer.Material = Enum.Material.Neon
tracer.CFrame = CFrame.lookAt(
startPosition + directionVector/2, -- Центр трейсера
endPosition -- Направление взгляда
)
tracer.Parent = Workspace
-- Изменяем прозрачность по шагам
wait(1)
tracer.Transparency = 0.1
wait(0.001)
tracer.Transparency = 0.2
wait(0.001)
tracer.Transparency = 0.3
wait(0.001)
tracer.Transparency = 0.4
wait(0.001)
tracer.Transparency = 0.5
wait(0.001)
tracer.Transparency = 0.6
wait(0.001)
tracer.Transparency = 0.7
wait(0.001)
tracer.Transparency = 0.8
wait(0.001)
tracer.Transparency = 0.9
wait(0.001)
tracer.Transparency = 1
-- Удаляем трейсер через 2 секунды
game:GetService("Debris"):AddItem(tracer, 2)
end
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local rootPart = character:FindFirstChild("HumanoidRootPart")
if not rootPart then
warn("HumanoidRootPart не найден!")
return
end
local mouse = player:GetMouse()
game.ReplicatedStorage.Events.Shoot.OnClientEvent:Connect(function()
createTracer(rootPart.Position, mouse.Hit.Position)
print("sosal?")
end)
end,
})
Ошибка в том, что переменная CTRCLR не определена. При попытке задать цвет трейсеру вы пишете: tracer.Color = CTRCLR
но нигде ранее в скрипте переменная CTRCLR не была создана и ей не присвоено значение типа Color3. game.ReplicatedStorage.Events.Shoot.OnClientEvent:Connect(function()
Надо заменить на: game.ReplicatedStorage.Events.Shoot.Event:Connect(function()
Вставить полный код не могу из-за ограничения, сделайте изменение сами.
local Button = VisualTab:CreateButton({
Name = "test",
Callback = function()
local UserInputService = game:GetService("UserInputService")
local Workspace = game:GetService("Workspace")
-- Определяем цвет трейсера, например – белый
local CTRCLR = Color3.fromRGB(255, 255, 255)
local function createTracer(startPosition, endPosition)
local directionVector = (endPosition - startPosition)
local distance = directionVector.Magnitude
-- Небольшая задержка перед созданием трейсера
wait(0.2)
local tracer = Instance.new("Part")
tracer.Color = CTRCLR
tracer.Size = Vector3.new(0.2, 0.2, distance)
tracer.Anchored = true
tracer.CanCollide = false
tracer.Material = Enum.Material.Neon
tracer.CFrame = CFrame.lookAt(
startPosition + directionVector/2, -- Центр трейсера
endPosition -- Направление взгляда
)
tracer.Parent = Workspace
-- Пример изменения прозрачности (можете заменить на свою логику)
wait(1)
tracer.Transparency = 0.1
wait(0.001)
tracer.Transparency = 0.2
wait(0.001)
tracer.Transparency = 0.3
wait(0.001)
tracer.Transparency = 0.4
wait(0.001)
tracer.Transparency = 0.5
wait(0.001)
tracer.Transparency = 0.6
wait(0.001)
tracer.Transparency = 0.7
wait(0.001)
tracer.Transparency = 0.8
wait(0.001)
tracer.Transparency = 0.9
wait(0.001)
tracer.Transparency = 1
game:GetService("Debris"):AddItem(tracer)
end
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local rootPart = character:WaitForChild("HumanoidRootPart")
local mouse = player:GetMouse()
game.ReplicatedStorage.Events.Shoot.OnClientEvent:Connect(function()
createTracer(rootPart.Position, mouse.Hit.Position)
print("sosal?")
end)
end,
})
Но почему то он не создает трейсер, ошибок в консоли нету
Помогите найти ошибку