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

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

Арсений Пресняков Знаток (380), открыт 3 недели назад
У меня есть код прыжка модели в 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
2 ответа
♡$ⴎG@r₱u₷sყ♡ Искусственный Интеллект (157190) 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)
Sergio 2.1 Оракул (67267) 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)
Похожие вопросы