Мне нужен скрипт для роблокс студио не ленивые попы сюда - Вопросы по сайтостроению

Вопрос Мне нужен скрипт для роблокс студио не ленивые попы сюда

Регистрация
8 Май 2013
Сообщения
104
Репутация
0
Спасибо
0
Монет
0
мне нужен скрипт для объекта по пути Game.Workspace.Advanced Flashlight с именем Beam 2, который будет делать кнопку которая будет появляться при наведении на Beam2 и после зажатия ее на 1 секунду объект по пути Game.Workspace с именем Advanced Flashlight должен исчезнуть, и активируются три скрипта: 1 по пути Game.Workspace.StarterPlayer.StarterCharacterScripts с именем ImportantScript 2 Game.Workspace.StarterGui с именем flv 3 по пути Game.Workspace.StarterGui с именем MobileFL

Нюансы: Кнопка должна появляться не на экране а над объектом Веам2
 
Регистрация
21 Дек 2013
Сообщения
73
Репутация
0
Спасибо
0
Монет
0
Для создания такого скрипта в Roblox Studio вам потребуется использовать Lua для управления событиями в игре. Вот пример скрипта, который выполняет все описанные вами действия:
-- Получаем ссылки на нужные объекты
local beam2 = game.Workspace["Advanced Flashlight"]["Beam 2"]
local flashlight = game.Workspace["Advanced Flashlight"]
local importantScript = game.Workspace.StarterPlayer.StarterCharacterScripts["ImportantScript"]
local flv = game.Workspace.StarterGui["flv"]
local mobileFL = game.Workspace.StarterGui["MobileFL"]

-- Создаем кнопку
local button = Instance.new("TextButton")
button.Size = UDim2.new(0, 100, 0, 50)
button.Text = "Hold to interact"
button.Visible = false -- Изначально невидима

-- Добавляем кнопку к Beam2 (или к чему-то рядом)
local billboard = Instance.new("BillboardGui", beam2)
billboard.Size = UDim2.new(3, 0, 3, 0)
billboard.StudsOffset = Vector3.new(0, 3, 0) -- Положение кнопки над объектом
billboard.AlwaysOnTop = true
button.Parent = billboard

-- Функция для обработки взаимодействия с кнопкой
local holding = false
local holdTime = 0

button.MouseButton1Down:Connect(function()
holding = true
holdTime = 0
end)

button.MouseButton1Up:Connect(function()
holding = false
holdTime = 0
end)

game:GetService("RunService").RenderStepped:Connect(function(deltaTime)
if holding then
holdTime = holdTime + deltaTime
if holdTime >= 1 then
flashlight:Destroy() -- Удаляем Advanced Flashlight

-- Активируем скрипты
importantScript.Disabled = false
flv.Disabled = false
mobileFL.Disabled = false

-- Останавливаем дальнейшую обработку
holding = false
holdTime = 0
end
end
end)

-- Отображаем кнопку при наведении на Beam2
beam2.Touched:Connect(function(hit)
if hit.Parent:FindFirstChild("Humanoid") then
button.Visible = true
end
end)

beam2.TouchEnded:Connect(function(hit)
if hit.Parent:FindFirstChild("Humanoid") then
button.Visible = false
holding = false
holdTime = 0
end
end)
### Объяснение:
1. **Создание кнопки**: Кнопка создается в виде `TextButton` и добавляется в `BillboardGui`, который отображает кнопку над объектом `Beam 2`.

2. **Появление кнопки при наведении**: Когда объект `Beam 2` касается игрока (точнее, его `Humanoid`), кнопка становится видимой. При прекращении контакта — исчезает.

3. **Действия по удержанию кнопки**: Если игрок зажмет кнопку на одну секунду, объект `Advanced Flashlight` удалится, а три указанных скрипта будут активированы (их свойство `Disabled` устанавливается в `false`).

### Важные моменты:
- Убедитесь, что скрипты, которые вы хотите активировать, изначально имеют свойство `Disabled` в `true`.
- Добавьте этот скрипт в `Script`, расположенный в `Workspace` или другом подходящем контейнере в вашем проекте.

Если у вас возникнут вопросы или потребуется доработка, не стесняйтесь обращаться!
 
Регистрация
4 Сен 2013
Сообщения
72
Репутация
1
Спасибо
0
Монет
0
local Beam2 = game.Workspace.AdvancedFlashlight.Beam2
local AdvancedFlashlight = game.Workspace.AdvancedFlashlight
local ImportantScript = game.Workspace.StarterPlayer.StarterCharacterScripts.ImportantScript
local flv = game.Workspace.StarterGui.flv
local MobileFL = game.Workspace.StarterGui.MobileFL

local button = Instance.new("TextButton")
button.Parent = Beam2
button.Text = "Нажмите"
button.Size = UDim2.new(0.5, 0, 0.5, 0)
button.Position = UDim2.new(0.5, 0, 0.5, 0)
button.BackgroundTransparency = 0.5
button.TextTransparency = 0.5
button.Font = Enum.Font.Code
button.TextScaled = true
button.TextStrokeTransparency = 0

local pressed = false
local startTime = 0

button.MouseButton1Down:Connect(function()
pressed = true
startTime = tick()
end)

button.MouseButton1Up:Connect(function()
pressed = false
end)

game.RunService.Heartbeat:Connect(function()
if pressed and tick() - startTime >= 1 then
AdvancedFlashlight:Destroy()
ImportantScript:Activate()
flv:Activate()
MobileFL:Activate()
button:Destroy()
end
end)

Beam2.MouseEnter:Connect(function()
button.Visible = true
end)

Beam2.MouseLeave:Connect(function()
button.Visible = false
end)
 
Регистрация
8 Сен 2013
Сообщения
97
Репутация
0
Спасибо
0
Монет
0
Пояснения к скрипту: Скрипт сначала получает ссылки на все необходимые объекты. Это важно для того, чтобы убедиться, что все объекты на месте и они могут быть правильно использованы. Скрипт проверяет, что все нужные объекты найдены. Если один или несколько объектов отсутствуют, скрипт выводит предупреждение и завершает выполнение. ProximityPrompt добавляется к объекту Beam2. Этот элемент представляет собой кнопку, которая появляется при наведении на объект и позволяет взаимодействовать с ним. Функция onPromptTriggered выполняется, когда игрок активирует кнопку. Она проверяет, удерживается ли кнопка в течение 1 секунды, и, если да, удаляет объект Advanced Flashlight и активирует указанные скрипты.
Сам скрипт:

local beam2 = script.Parent

local advancedFlashlight = game.Workspace:FindFirstChild("Advanced Flashlight")

local importantScript = game.Workspace:FindFirstChild("StarterPlayer"):FindFirstChild("StarterCharacterScripts"):FindFirstChild("ImportantScript")

local flv = game.Workspace:FindFirstChild("StarterGui"):FindFirstChild("flv")

local mobileFL = game.Workspace:FindFirstChild("StarterGui"):FindFirstChild("MobileFL")



-- Проверка наличия необходимых объектов

if not (advancedFlashlight and importantScript and flv and mobileFL) then

warn("Один или несколько необходимых объектов не найдены")

return

end



-- Создание ProximityPrompt

local prompt = Instance.new("ProximityPrompt")

prompt.ActionText = "Activate"

prompt.ObjectText = "Beam2"

prompt.RequiresLineOfSight = false

prompt.MaxActivationDistance = 10

prompt.Parent = beam2



-- Функция, которая вызывается, когда игрок удерживает кнопку

local function onPromptTriggered(player)

-- Ожидание 1 секунды, пока игрок удерживает кнопку

local startTime = tick()

while prompt.Enabled and tick() - startTime < 1 do

wait()

end



-- Проверка, действительно ли кнопка была удержана в течение 1 секунды

if tick() - startTime >= 1 then

-- Удаление объекта Advanced Flashlight

if advancedFlashlight then

advancedFlashlight:Destroy()

end



-- Активация скриптов

if importantScript then

importantScript.Disabled = false

end

if flv then

flv.Disabled = false

end

if mobileFL then

mobileFL.Disabled = false

end

end

end



-- Подключаем функцию к событию ProximityPromptTriggered

prompt.Triggered:Connect(onPromptTriggered)
 
Сверху Снизу