Я хочу сделать скрипт, чтобы когда игрок вставал на объект он каждую секунду получал 1 очко. У меня уже есть скрипт который создает leaderstats и в нем Power, вот я хочу чтобы когда игрок вставал на объект он получал по 1 Power каждую секунду!
Помогите пожалуйста, нигде не могу найти ни кода, ни гайдов
Другие языки программирования и технологии
Програмирование Roblox Lua скрипт, чтобы когда игрок вставал на объект он каждую секунду получал 1 очко.
Вы можете использовать событие Touched для определения, когда игрок касается объекта. Затем вы можете использовать функцию wait в цикле while, чтобы увеличивать очки игрока каждую секунду, пока он находится на объекте. Вот пример кода, который вы можете использовать в качестве отправной точки:
Вот обновленный код, который должен работать так, как вы хотите:
local part = script.Parent -- Объект, на который игрок должен встать
local debounce = false
local function onTouched(hit)
local character = hit.Parent
local humanoid = character:FindFirstChild("Humanoid")
if humanoid and not debounce then
debounce = true
local player = game.Players:GetPlayerFromCharacter(character)
local leaderstats = player:FindFirstChild("leaderstats")
local power = leaderstats:FindFirstChild("Power")
while character.Humanoid.FloorMaterial == part.Material do
power.Value = power.Value + 1
wait(1)
end
debounce = false
end
end
part.Touched:Connect(onTouched)
Этот код должен быть помещен в скрипт, который находится внутри объекта, на который игрок должен встать. Он использует событие Touched, чтобы определить, когда игрок касается объекта, а затем увеличивает значение Power в leaderstats игрока каждую секунду, пока игрок находится на объекте.Вот обновленный код, который должен работать так, как вы хотите:
local part = script.Parent -- Объект, на который игрок должен встать
local debounce = false
local function onTouched(hit)
local character = hit.Parent
local humanoid = character:FindFirstChild("Humanoid")
if humanoid and not debounce then
debounce = true
local player = game.Players:GetPlayerFromCharacter(character)
local leaderstats = player:FindFirstChild("leaderstats")
local power = leaderstats:FindFirstChild("Power")
while character.Humanoid.FloorMaterial == part.Material do
power.Value = power.Value + 1
wait(1)
end
end
end
local function onEnded(hit)
local character = hit.Parent
local humanoid = character:FindFirstChild("Humanoid")
if humanoid then
debounce = false
end
end
part.Touched:Connect(onTouched)
part.TouchEnded:Connect(onEnded)
Этот код добавляет обработчик события TouchEnded, который устанавливает переменную debounce в false, когда игрок покидает объект. Это останавливает цикл while в обработчике события Touched, который увеличивает очки игрока. Теперь очки будут увеличиваться только тогда, когда игрок находится на объекте.
Сергей Евстратенков
Когда я ухожу от объекта очки продолжают капать, мне нужно чтобы когда только стоишь на нем давались очки, можешь добавить такую функцию
Сергей Евстратенков
очки просто бесконечно начисляются после наступания на объект
$Daulet$ 100% ^
Сергей Евстратенков
Спасибо!
Робоока ахахах тебе 10?
Похожие вопросы
- Roblox Studio Скрипт на выдачу игроку рандомные 2 оружия пистолет и винтовка
- скрипт php обновляет переменную. как с помошью JS каждую секунду запускать этот скрипт?
- Как создать скрипт замены строки для excel? Строка должна заменяться каждый день в час ночи в файле.
- Программирование в roblox studio (lua)
- Нужно что бы vbs скрипт запускал сам себя каждые десять секунд как это сделать?
- Нужна программа для заполнения таблицы 9*2, чтобы в ней не было повторяющихся столбцов на языке lua (можно на С++)
- Как сохранить скорость игрока в своей игре roblox studio
- Программирование в Roblox Studio (Активация на клавишу)
- Програмирование в VBA
- о програмировании