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

Ребята пофиксите ошибку в roblox studio Workspace.Script:37: attempt to index nil with 'Character' плис

gooden x Ученик (183), на голосовании 6 месяцев назад
вот код

-- Parameters for creating platforms
local platformHeight = 10
local platformSpacing = 15

-- Create a list to store platforms
local platforms = {}

-- Get the baseplate where we will create platforms
local baseplate = game.Workspace.Baseplate

-- Function to create a new platform
local function createPlatform()
local platform = Instance.new ("Part")
platform.Size = Vector3.new (10, 1, 10)

-- Randomly set the position of the platform
local randomX = math.random(-50, 50)
local randomZ = math.random(-50, 50)
platform.Position = Vector3.new (randomX, baseplate.Size.Y, randomZ)

platform.Anchored = true
platform.Parent = baseplate

-- Customize the appearance of the platform (optional)
platform.BrickColor = BrickColor.new ("Bright blue")
platform.Material = Enum.Material.SmoothPlastic

return platform
end

-- Create the first platform
local currentPlatform = createPlatform()
table.insert(platforms, currentPlatform)

-- Infinite loop to handle character movement
while true do
local character = game.Players.LocalPlayer.Character
local humanoid = character:FindFirstChild("Humanoid")

if humanoid then
-- If the character is in freefall state, create the next platform
if humanoid:GetState() == Enum.HumanoidStateType.Freefall and humanoid:GetState() ~= Enum.HumanoidStateType.Seated then
local nextPlatform = createPlatform()
table.insert(platforms, nextPlatform)

-- Remove the previous platform (if any)
if #platforms > 1 then
local previousPlatform = table.remove(platforms, 1)
previousPlatform:Destroy()
end
end
end

wait(0.1) -- Wait for some time before the next check
end
Голосование за лучший ответ
♡$ⴎG@r₱u₷sყ♡ Искусственный Интеллект (157730) 7 месяцев назад
Ошибка в том, что скрипт пытается получить доступ к `Character` игрока до того, как он полностью загружен. Исправить это можно, добавив событие, которое будет ждать полной загрузки персонажа. Вот как это сделать:

 
-- Infinite loop to handle character movement
while true do
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:FindFirstChild("Humanoid")

if humanoid then
-- Тут оставляем всё без изменений
end

wait(0.1) -- Wait for some time before the next check
end


Здесь мы добавили `player.Character or player.CharacterAdded:Wait()`, чтобы дождаться, когда персонаж игрока загрузится, прежде чем продолжить выполнение скрипта.
gooden xУченик (183) 7 месяцев назад
не помогло
Похожие вопросы