Project Simulation: https://www.roblox.com/games/8657886672/Tower-of-Hell-Advance-Obby
# Insert the block, then go to explorer. Right click then
Rename Model become LavaFloor
Rename script become KillPlayer
# Click part of LavaFloor, then edit the properties/setting the appearance
BrickColor :NeonOrange
CastShadow : Checklist
Color :(215,115,60)
Material :Neon
Reflectance :0
#Insert the following script:
local lava = script.Parent
local function killPlayer(otherPart)
local partParent = otherPart.Parent
local humanoid = partParent:FindFirstChild("Humanoid")
if humanoid then
humanoid.Health = 0
end
end
lava.Touched:Connect(killPlayer)
# Debug and Run
StarterGui==>Spinners
local CollectionService = game:GetService("CollectionService")
for i, Part in pairs(CollectionService:GetTagged("Spinner")) do
TweenService = game:GetService("TweenService")
spininfo = TweenInfo.new(2,Enum.EasingStyle.Linear)
Spin1 = TweenService:Create(Part,spininfo,{CFrame = Part.CFrame * CFrame.Angles(math.rad(120),0,0)})
Spin2 = TweenService:Create(Part,spininfo,{CFrame = Part.CFrame * CFrame.Angles(math.rad(240),0,0)})
Spin3 = TweenService:Create(Part,spininfo,{CFrame = Part.CFrame * CFrame.Angles(math.rad(360),0,0)})
Spin1:Play()
Spin1.Completed:Connect(function()Spin2:Play() end)
Spin2.Completed:Connect(function()Spin3:Play() end)
Spin3.Completed:Connect(function()Spin1:Play() end)
end
StarterGui==>Progress==>LocalScript
-- Progress Bar
-- 1.43.08
local GUI = script.Parent
local Frame = GUI:WaitForChild("Frame")
local PlayerList = GUI:WaitForChild("PlayerList")
local PlayerTemplate = GUI:WaitForChild("PlayerTemplate")
local function getHeadshot(userID)
return "https://www.roblox.com/bust-thumbnail/image?userId="..userID.."&width=420&height=420&format=png"
end
local function generateTemplate(player)
local newTemplate = PlayerTemplate:Clone()
newTemplate.Image = getHeadshot(player.UserId)
-- Get the percentage of the whole tower climbed
if player.Character then
if player.Character:FindFirstChild("HumanoidRootPart") then
if player == game.Players.LocalPlayer then
newTemplate.ZIndex = 10
end
local TopOfTowerPositionY = (72*game.ReplicatedStorage.NumTowers.Value)
local PlayerPositionY = player.Character.HumanoidRootPart.Position.Y
local PercentClimbed = PlayerPositionY / TopOfTowerPositionY
newTemplate.Position = UDim2.new(0,0,1-PercentClimbed,0)
newTemplate.Visible = true
newTemplate.Parent = PlayerList
end
end
end
game:GetService("RunService").RenderStepped:Connect(function()
local players = game.Players:GetPlayers()
PlayerList:ClearAllChildren()
for i, player in pairs(players) do
pcall(function()
generateTemplate(player)
end)
end
end)
ServerScriptService
local CollectionService = game:GetService("CollectionService")
for i, v in pairs(CollectionService:GetTagged("KillBricks")) do
v.Touched:Connect(function(hit)
local character = game.Players:GetPlayerFromCharacter(hit.Parent)
if character then
hit.Parent.Humanoid.Health = 0
end
end)
end
-- Stack towers ontop of eachother
local SSTowers = game.ServerStorage:WaitForChild("Towers")
local WorkspaceTowers = game.Workspace.Towers
local MainTower = WorkspaceTowers:WaitForChild("MainTower")
local previousTower = game.Workspace.Towers.Tower1
local Towerz = SSTowers:GetChildren()
local function Shuffle(tabl)
for i=1,#tabl-1 do
local ran = math.random(i,#tabl)
tabl[i],tabl[ran] = tabl[ran],tabl[i]
end
end
Shuffle(Towerz)
for i, v in pairs(Towerz) do
print("Previous tower"..previousTower.Name)
local clonedTower = v:Clone()
clonedTower.Parent = WorkspaceTowers
local CF = previousTower.PrimaryPart.CFrame + Vector3.new(0,previousTower.PrimaryPart.Size.Y/2,0) + Vector3.new(0,clonedTower.PrimaryPart.Size.Y/2,0)
clonedTower:SetPrimaryPartCFrame(CF)
previousTower = clonedTower
end
-- Non player collisions
local PhysicsService = game:GetService("PhysicsService")
game.Players.PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function(char)
for i, v in pairs(char:GetDescendants()) do
if v:IsA("BasePart") then
PhysicsService:SetPartCollisionGroup(v,"Players")
end
end
end)
end)