local lm = script.Parent:FindFirstChild("lightninMakers")
wait()
local function getIndex(tbl,item)
for index, value in pairs(tbl) do
if value == item then
return index
end
end
end
local function getHighTingz()
local Table = {}
local PlrTable = {}
for i,v in pairs(game.Workspace:GetDescendants()) do
if v:IsA("BasePart") then
if v.Position.Y >= 50 and v:FindFirstAncestor("mapTIngz") == nil and v.Name ~= "stormtig" and game.Players:GetPlayerFromCharacter(v.Parent) == nil then
table.insert(Table,(#Table+1),v)
print(v)
end
elseif v:IsA("Part") and v.Parent:FindFirstChild("Humanoid") ~= nil and v.Position.Y >= 50 then
print("hello")
table.insert(PlrTable,(#PlrTable+1),v)
local char = game.Players:GetPlayerFromCharacter(v.Parent)
print(char)
char.CharacterRemoving:connect(function()
local itemIndex = getIndex()
print(PlrTable[itemIndex])
table.remove(PlrTable,itemIndex)
end)
end
end
return Table, PlrTable
end
local function getMetallicThings()
--
end
for i = 0,math.random(1,20) do
local cl = game.ReplicatedStorage.stormtig:Clone()
cl.Parent = lm
end
local function floree(numb)
return math.floor(numb + 0.5)
end
local function tweenaroni(p)
local t = game:GetService("TweenService"):Create(p,TweenInfo.new(0.1,Enum.EasingStyle.Linear),{Transparency = 1})
t:Play()
t.Completed:connect(function()
p:Remove()
end)
end
local function ligamentationasmarianismistation(part)
local points = {}
local parts = {}
local foldor = Instance.new("Folder")
foldor.Name = "lll"
foldor.Parent = workspace
local raycastResult = workspace:Raycast(part,Vector3.new(0,-1000,0))
if raycastResult then
if raycastResult.Instance:FindFirstAncestor("mapTIngz") == nil and raycastResult.Instance:IsA("BasePart") and raycastResult.Instance ~= game.Workspace:FindFirstChild("thunderstormCloud") then
raycastResult.Instance:BreakJoints()
local exp = Instance.new("Explosion")
exp.BlastRadius = 2
exp.BlastPressure = 20 --Explosion at the Raycast Instance position
exp.Visible = false
exp.Position = raycastResult.Instance.Position
exp.Parent = workspace.Folder
exp.ExplosionType = Enum.ExplosionType.NoCraters
--raycastResult.Instance.Anchored = false
end
end
local roundedNumb
if raycastResult then
roundedNumb = floree((part - raycastResult.Position).Magnitude /8)
elseif raycastResult == nil then
return nil
end
for i = 0, roundedNumb do
local offset = Vector3.new(math.random(-5,5),math.random(-5,5),math.random(-5,5))
if i == 0 or i == roundedNumb then
offset = Vector3.new()
end
local lightBlock = game.ReplicatedStorage.lightningPart:Clone()
local pos = part + (raycastResult.Position-part).Unit * i * (raycastResult.Position-part).Magnitude / roundedNumb
lightBlock.Position = pos + offset
lightBlock.Parent = foldor
local tog = pos+offset
points[#points+1] = tog
lightBlock.Touched:connect(function(h)
if h.Parent:FindFirstChild("Humanoid") ~= nil then
h.Parent:FindFirstChild("Humanoid"):TakeDamage(100)
end
end)
end
for i = 1,#points do
if points[i+1] ~= nil then
local lin = game.ReplicatedStorage.lightningPart:Clone()
lin.CFrame = CFrame.new((points[i]+points[i+1])/2,points[i+1])
lin.Size = Vector3.new(.5,.5,(points[i]-points[i+1]).Magnitude)
lin.Parent = foldor
end
end
local exp = Instance.new("Explosion")
exp.BlastPressure = 20
exp.BlastRadius = 2
exp.Position = points[#points] --The explosion at the last Point of lightning
exp.DestroyJointRadiusPercent = 1
exp.Parent = workspace.Folder
exp.ExplosionType = Enum.ExplosionType.NoCraters
wait(.1)
for i,v in pairs(foldor:GetChildren()) do
tweenaroni(v)
end
wait(.1)
foldor:Remove()
end
while true do
wait()
local tingTable, plrTable = getHighTingz()
--spawn(function()
for i,v in pairs(lm:GetChildren()) do
if v:IsA("Part") then
ligamentationasmarianismistation(v.Position)
v.Position = v.Position + Vector3.new(0,-15,0)
end
end
--end)
for i,v in pairs(lm:GetChildren()) do
local ViktorRykov = Vector3.new(math.random(-254,254),200,math.random(-255,255))
spawn(function()
wait(math.random(1,3))
if v:IsA("Part") then
local n = math.random(1,20)
if n ~= 20 then
print("Not chosen")
v.Position = ViktorRykov
elseif n== 20 and #tingTable >= 1 or #plrTable >= 1 then
print(#tingTable)
local chosen = tingTable[math.random(1,#tingTable)]
local chosen1
if #plrTable >= 1 then
chosen1 = plrTable[math.random(1,#plrTable)]
end
local mr = math.random(1,2)
if mr == 1 then
print(mr)
v.Position = Vector3.new(chosen.Position.X,v.Position.Y,chosen.Position.Z)
elseif mr == 2 and #plrTable >= 1 then
print(mr)
v.Position = Vector3.new(chosen1.Position.X,v.Position.Y,chosen1.Position.Z)
end
end
end
end)
end
end
game.ServerScriptService.eventos.Event.Event:Connect(function(msg)
if msg == "noLightning" then
for i,v in pairs(lm:GetChildren()) do
v:Remove()
end
end
end)
This is a thunderstorm script. it does not print hello . I wont be answering right now but just leave answers pls and any errors or suggestions ill answer tmrw thanks bye
