On line 61, Why can't the script find the HumanoidRootPart of the player? [closed]
Asked by
5 years ago Edited 5 years ago
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local ServerStorage = game:GetService("ServerStorage")
local MapsFolder = ServerStorage:WaitForChild("Maps")
local Status = ReplicatedStorage:WaitForChild("Status")
local GameLength = 120
local Reward = 1
while true do
Status.Value = "Minimum Player Requirement Not Met"
repeat wait(1) until game.Players.NumPlayers >= 4
Status.Value = "Intermission"
wait(10)
local plrs = {}
for i, player in pairs(game.Players:GetPlayers()) do
if player then
table.insert(plrs,player)
end
end
wait(2)
local AvailableMaps = MapsFolder:GetChildren()
local ChosenMap = AvailableMaps[math.random(1,#AvailableMaps)]
Status.Value = ChosenMap.Name.." Is The Map"
local ClonedMap = ChosenMap:Clone()
ClonedMap.Parent = workspace
local SpawnPoints = ClonedMap:FindFirstChild("SpawnPoints")
if not SpawnPoints then
print("Spawnpoints not found!")
end
local AvailableSpawnPoints = SpawnPoints:GetChildren()
for i, player in pairs(plrs) do
if player then
character = player.Character
if character then
-- Teleport them
character.HumanoidRootPart.CFrame = AvailableSpawnPoints[1].CFrame
table.remove(AvailableSpawnPoints,1)
-- There is no char
if not player then
table.remove(plrs,i)
end
-- Give them a sword
local Sword = ServerStorage.Sword:Clone()
Sword.Parent = player.Backpack
local GameTag = Instance.new("BoolValue")
GameTag.Name = "GameTag"
GameTag.Parent = player.Character
else
if not player then
table.remove(plrs,i)
end
end
end
end
Status.Value = "Game Starting"
wait(2)
for i = GameLength,0,-1 do
for x, player in pairs(plrs) do
if player then
character = player.Character
if not character then
else
if character:FindFirstChild("GameTag") then
print(player.Name.." still in game")
else
table.remove(plrs,x)
print(player.Name.."has been removed!")
end
end
else
table.remove(plrs,x)
print(player.Name.." has been removed")
end
end
Status.Value = i.." Seconds Remaining, "..#plrs.." Are Still Alive!"
if #plrs == 1 then
Status.Value = plrs[1].Name.." Has Won!"
plrs[1].leaderstats.Wins.Value = plrs[1].leaderstats.Wins.Value + Reward
break
elseif #plrs == 0 then
Status.Value = "Nobody Has Won!"
break
elseif i == 0 then
Status.Value = "Time's Up!"
break
end
wait(1)
end
print("Game Ended!")
for i, player in pairs(game.Players:GetPlayers()) do
character = player.Character
if not character then
else
if character:FindFirstChild("GameTag") then
character.GameTag:Destroy()
end
if player.Backpack:FindFirstChild("Sword") then
player.Backpack.Sword:Destroy()
end
if character:FindFirstChild("Sword") then
character.Sword:Destroy()
end
end
player:LoadCharacter()
end
ClonedMap:Destroy()
Status.Value = "Game Ended"
wait(2)
end
Closed as Not Constructive by docrobloxman52, User#24403, and climethestair
This question has been closed because it is not constructive to others or the asker. Most commonly, questions that are requests with no attempt from the asker to solve their problem will fall into this category.
Why was this question closed?