Этот скрипт сделает так, что парт исчезнет для всех игроков на сервере. В Roblox Studio, если объект удаляется, он удаляется для всех игроков, так как изменения в серверной части распространяются на всех клиентов.
Если ты хочешь, чтобы парт исчезал только для игрока, который к нему прикоснулся, необходимо использовать локальный скрипт и RemoteEvent для взаимодействия между клиентом и сервером. Вот пример, как это можно сделать:
Серверный скрипт (вставь в ServerScriptService)
local RemoteEvent = Instance.new("RemoteEvent")
RemoteEvent.Name = "PartTouchedEvent"
RemoteEvent.Parent = game.ReplicatedStorage
local part = script.Parent
part.Touched:Connect(function(hit)
local player = game.Players:GetPlayerFromCharacter(hit.Parent)
if player then
RemoteEvent:FireClient(player, part)
end
end)
Локальный скрипт (вставить в StarterPlayerScripts или в GUI-элемент)
local RemoteEvent =
game.ReplicatedStorage:WaitForChild("PartTouchedEvent")
RemoteEvent.OnClientEvent:Connect(function(part)
part:Destroy() -- Удаление только на клиенте
end)
При касании парта игроком сервер вызывает событие RemoteEvent, которое отправляет сигнал клиенту, чтобы удалить парт только для этого игрока. Таким образом, парт будет исчезать только для того игрока, который к нему прикоснулся.
script.Parent.Touched:Connect(function()
script.Parent:Remove()
end)
Что он даёт: он делает, чтобы при прикосновении к парту он исчезал. Ну и сам вопрос: этот парт исчезнет для всех игроков сервера или только для того ,кто к нему прикоснулся? И если первое, то каким скриптом сделать, чтобы он исчезал только для игрока ,который касается парта?
Заранее спасибо.
Если нужно, приложу фото.