Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Вопрос по коду Roblox Studio(Lua)

Арсений Пресняков Знаток (396), на голосовании 2 месяца назад
У меня есть код прыжка модели в StarterPlayerScripts:


local model = game.Workspace.firstplayer
local pos1 = model:GetPivot()
local UserInputService = game:GetService("UserInputService")

UserInputService.InputBegan:Connect(function(Key)
if Key.KeyCode == Enum.KeyCode.W
then
model:PivotTo(model:GetPivot() * CFrame.new (0, 1, 0))
wait(0.01)
model:PivotTo(model:GetPivot() * CFrame.new (0, 1, 0))
wait(0.01)
model:PivotTo(model:GetPivot() * CFrame.new (0, 1, 0))
wait(0.01)
model:PivotTo(model:GetPivot() * CFrame.new (0, 1, 0))
wait(0.01)
model:PivotTo(model:GetPivot() * CFrame.new (0, 1, 0))
wait(0.01)
model:PivotTo(model:GetPivot() * CFrame.new (0, 1, 0))
wait(0.01)
model:PivotTo(model:GetPivot() * CFrame.new (0, 1, 0))
wait(0.1)
model:PivotTo(model:GetPivot() * CFrame.new (0, -1, 0))
wait(0.01)
model:PivotTo(model:GetPivot() * CFrame.new (0, -1, 0))
wait(0.01)
model:PivotTo(model:GetPivot() * CFrame.new (0, -1, 0))
wait(0.01)
model:PivotTo(model:GetPivot() * CFrame.new (0, -1, 0))
wait(0.01)
model:PivotTo(model:GetPivot() * CFrame.new (0, -1, 0))
wait(0.01)
model:PivotTo(model:GetPivot() * CFrame.new (0, -1, 0))
wait(0.01)
model:PivotTo(model:GetPivot() * CFrame.new (0, -1, 0))
end
end)


Так вот, мне нужно что бы он не мог прыгать если позиция модели в воздухе, то есть что бы его позиция по Y была 0
Голосование за лучший ответ
♡$ⴎG@r₱u₷sყ♡ Искусственный Интеллект (184297) 3 месяца назад
  
local model = game.Workspace.firstplayer
local UserInputService = game:GetService("UserInputService")

UserInputService.InputBegan:Connect(function(Key)
if Key.KeyCode == Enum.KeyCode.W then
local currentY = model:GetPivot().Position.Y

-- Проверяем, находится ли модель на земле (Y == 0)
if currentY == 0 then
-- Выполнение прыжка
for i = 1, 6 do
model:PivotTo(model:GetPivot() * CFrame.new(0, 1, 0))
wait(0.01)
end

wait(0.1)

for i = 1, 7 do
model:PivotTo(model:GetPivot() * CFrame.new(0, -1, 0))
wait(0.01)
end
end
end
end)
S.H.I. Оракул (71178) 3 месяца назад
 local model = game.Workspace.firstplayer    
local UserInputService = game:GetService("UserInputService")

UserInputService.InputBegan:Connect(function(Key)
if Key.KeyCode == Enum.KeyCode.W then
-- Получаем текущую позицию
local currentPosition = model:GetPivot().Position

-- Проверяем, находится ли модель на земле (Y ≈ 0)
-- Используем небольшой допуск (0.1), чтобы учесть погрешности
if math.abs(currentPosition.Y) < 0.1 then
-- Код прыжка
for i = 1, 7 do
model:PivotTo(model:GetPivot() * CFrame.new(0, 1, 0))
wait(0.01)
end

wait(0.1)

for i = 1, 7 do
model:PivotTo(model:GetPivot() * CFrame.new(0, -1, 0))
wait(0.01)
end
end
end
end)
Похожие вопросы