I'm making a diagnostic script for when things go wrong, but it says "Core:8: unexpected symbol near '='." For me, I already checked everything and there's nothing wrong here. What could it be?

this = script.Parent

local autoDestroy

diagnostic = {"Aero Diagnostic: "}

function core:init()
 if script.Parent.Name == "surf_aero" then
  script:FindFirstChild(script.Sky.Parent) = game.Lighting
  script:FindFirstChild(script.Name) = "Core"
  script:FindFirstChild(script.Creator) = "GabrielSGamerG9"
  script:FindFirstChild(script.DisplayName) = "Aero"
  game.Lighting.Outlines = false
 end	
	
   if script.Parent.Name ~= "surf_aero" then 
     if not this:FindFirstChild(this.Sliders) and this:FindFirstChild(this.Other) and this:FindFirstChild(this.Decorations) and this:FindFirstChild(this.Creator) and this:FindFirstChild(this.DisplayName) and script.Name ~= "Core"  then
	 autoDestroy = true
	 table.insert(diagnostic, "[Corrupted] ")
   end
   elseif script.Parent.Name == "surf_aero" then
   if script.Parent.Creator.Value ~= "GabrielSGamerG9" then
     script.Parent.Creator.Value = "GabrielSGamerG9"
     table.insert(diagnostic, "Map Creator Name, ")
   elseif script.Parent.DisplayName.Value ~= "Aero" then
	 script.Parent.DisplayName.Value = "Aero"
	 table.insert(diagnostic, "Map Name, ")
   elseif not this:FindFirstChild(game.Lighting.Sky) then
	 script.Sky.Parent = game.Lighting
	 table.insert(diagnostic, "Skybox, ")
   elseif not game:FindFirstChild(this.Other.MapStart.Sound) then
	 table.insert(diagnostic, "Music, ")
   end
  end
  local msg = Instance.new("Message", game.Workspace)
  msg.Text = table.concat(diagnostic)
  wait(5)
  msg:Destroy()
  if autoDestroy == true then
	script:Destroy()
  end
end