Здравия всем
Столкнулся с проблемой, при создании режима в роблокс студио (lua scripts, соответственно). В моем режиме есть лобби, и игрок в нем может получать урон от других, следовательно, лобби становится не безопасным для людей, и закупится предметами, восстановить здоровье и тд нельзя. Нужен скрипт для part, который будет давать игроку бессмертие при касании этого парта. Или же, скрипт, который не будет позволять использовать оружие игроку, пока он касается этого парта. Пробовал разные варианты, не работало. Буду рад, если кто-то поможет.
Заранее спасибо
Другие языки программирования и технологии
Блок Бессметрия Roblox Studio
Здравствуйте! Для решения вашей проблемы я предложу два скрипта: первый делает игрока "бессмертным" при касании определенного объекта, второй препятствует использованию оружия во время касания.
1. **Бессмертие при касании**:
```lua
local part = game.Workspace.NameOfYourPart -- замените NameOfYourPart на название вашего парта
part.Touched:Connect(function(hit)
local character = hit.Parent
local humanoid = character:FindFirstChild("Humanoid")
if humanoid then
humanoid.MaxHealth = math.huge
humanoid.Health = math.huge
end
end)
part.TouchEnded:Connect(function(hit)
local character = hit.Parent
local humanoid = character:FindFirstChild("Humanoid")
if humanoid then
humanoid.MaxHealth = 100 -- здесь можно установить желаемое максимальное значение здоровья
humanoid.Health = 100 -- здесь можно установить желаемое значение здоровья
end
end)
```
2. **Запрет на использование оружия при касании**:
Предположим, ваше оружие активируется какой-то кнопкой или действием. В таком случае вам нужно будет добавить переменную, которая будет следить за касанием игрока:
```lua
local part = game.Workspace.NameOfYourPart -- замените NameOfYourPart на название вашего парта
local playerTouching = {}
part.Touched:Connect(function(hit)
local character = hit.Parent
local player = game.Players:GetPlayerFromCharacter(character)
if player then
playerTouching[player.UserId] = true
end
end)
part.TouchEnded:Connect(function(hit)
local character = hit.Parent
local player = game.Players:GetPlayerFromCharacter(character)
if player then
playerTouching[player.UserId] = false
end
end)
```
Теперь, когда игрок пытается активировать оружие, вы можете проверить, касается ли он парта:
```lua
local player = game.Players.LocalPlayer
if not playerTouching[player.UserId] then
-- код активации оружия
end
```
Убедитесь, что эти скрипты корректно присоединены к вашим объектам и правильно взаимодействуют с вашей игровой логикой. Если возникнут проблемы, не стесняйтесь задать дополнительные вопросы!
1. **Бессмертие при касании**:
```lua
local part = game.Workspace.NameOfYourPart -- замените NameOfYourPart на название вашего парта
part.Touched:Connect(function(hit)
local character = hit.Parent
local humanoid = character:FindFirstChild("Humanoid")
if humanoid then
humanoid.MaxHealth = math.huge
humanoid.Health = math.huge
end
end)
part.TouchEnded:Connect(function(hit)
local character = hit.Parent
local humanoid = character:FindFirstChild("Humanoid")
if humanoid then
humanoid.MaxHealth = 100 -- здесь можно установить желаемое максимальное значение здоровья
humanoid.Health = 100 -- здесь можно установить желаемое значение здоровья
end
end)
```
2. **Запрет на использование оружия при касании**:
Предположим, ваше оружие активируется какой-то кнопкой или действием. В таком случае вам нужно будет добавить переменную, которая будет следить за касанием игрока:
```lua
local part = game.Workspace.NameOfYourPart -- замените NameOfYourPart на название вашего парта
local playerTouching = {}
part.Touched:Connect(function(hit)
local character = hit.Parent
local player = game.Players:GetPlayerFromCharacter(character)
if player then
playerTouching[player.UserId] = true
end
end)
part.TouchEnded:Connect(function(hit)
local character = hit.Parent
local player = game.Players:GetPlayerFromCharacter(character)
if player then
playerTouching[player.UserId] = false
end
end)
```
Теперь, когда игрок пытается активировать оружие, вы можете проверить, касается ли он парта:
```lua
local player = game.Players.LocalPlayer
if not playerTouching[player.UserId] then
-- код активации оружия
end
```
Убедитесь, что эти скрипты корректно присоединены к вашим объектам и правильно взаимодействуют с вашей игровой логикой. Если возникнут проблемы, не стесняйтесь задать дополнительные вопросы!
Марлен Досумов
Спасибо огромное вам! Если возникнут вопросы, обращусь)
Вообщем, в парт добавь скрипт, назови adder, в него вставь
local health = 0
local HelpData = 0
script.Parent.Touched:Connect(function(hit)
local humanoid = hit.Parent:FondFirstChild("Humanoid")
if humanoid ~= nil then
health = humanoid.Health
while wait() do
humanoid.Health = health
if humanoid ~= not(nil) then
break
end
end
end)
local health = 0
local HelpData = 0
script.Parent.Touched:Connect(function(hit)
local humanoid = hit.Parent:FondFirstChild("Humanoid")
if humanoid ~= nil then
health = humanoid.Health
while wait() do
humanoid.Health = health
if humanoid ~= not(nil) then
break
end
end
end)
Похожие вопросы
- Программирование в Roblox Studio (Активация на клавишу)
- Дверь в Roblox Studio
- Что обозначает "for i, in ipairs()" в Roblox Studio?
- Roblox Studio ошибка
- Как сохранить скорость игрока в своей игре roblox studio
- Roblox Studio сломался лидер статс
- Как сделать чтобы за убийство нпс давали деньги в Roblox Studio
- Roblox Studio Скрипт на выдачу игроку рандомные 2 оружия пистолет и винтовка
- Программирование в roblox studio (lua)
- Как добавить валюту в Roblox Studio