図書館スクリプトを整理 — Book Organizer

  • 14:31, 23.06.2026

図書館スクリプトを整理 — Book Organizer

図書館を整理するスクリプトは、ゲームの主要な目的である本の整理と正しい場所への返却を中心に構築されています。その「Organize Book」機能は、単調なルーチンの大部分を取り除き、本の配置をスムーズにすることで、プレイヤーが棚の間を手動で移動する必要がなくなります。

このツールを使えば、図書館の掃除がはるかに時間を節約できます。ゲームの大部分を本を一つずつ動かすことに費やす代わりに、タスクを早く完了し、アップグレードを早く解除し、より強力な能力やリーダーボードの良い結果に進むことができます。これは報酬を効率的に集めたい人や、図書館の広いエリアを短時間でクリアしたい人にとって実用的なオプションです。

目次

Clean The Library スクリプトのダウンロード方法

当サイトでは、Clean The Library用のスクリプトを追加条件なしで自由にアクセスできます。広告を見たり、登録したり、追加のステップを踏む必要はありません。ファイルのダウンロードも不要で、用意されたコードをコピーして任意のRobloxエグゼキューターに貼り付けるだけです。

Robloxでスクリプトを扱ったことがない方は、スクリプトを実行するためにエグゼキューターという別のツールが必要であることを知っておくことが重要です。これは、外部コマンドや様々なチート機能をゲームに追加するためのプログラムです。

このようなソリューションは多く存在し、それぞれの目的は一般的に似ていますが、間に明らかな違いがあります。複雑なスクリプトに強いものもあれば、ゲームプレイ中に安定しているものもあり、無料で利用できるものもあれば、有料機能を持つものもあります。また、プラットフォームを考慮することも重要です。特定のエグゼキューターはコンピューターに適しているものもあれば、モバイルデバイス専用のものもあります。

エグゼキューター
対応プラットフォーム
欠点
リンク
Windows PC
AndroidとiOSのバージョンがない。弱く、一部のスクリプトをサポートしない可能性がある
https://xeno-executor.com
Android, iOS, PC
Robloxのパッチ後に手動でアップデートが必要
https://delta-executor.com/
KRNL Executor
AndroidとiOS
Windows PCをサポートしない
https://krnlexecutor.com/
Arceus X Neo
AndroidとiOS
Windows PCをサポートしない
https://arceusx.com/
デモノロジースクリプト:ESP、証拠表示、無限スタミナなど!
デモノロジースクリプト:ESP、証拠表示、無限スタミナなど!   
Article

Clean The Library スクリプト一覧

Script Clean The Library Script (No Key) – Auto Organize Books
-- シンプルな本のオーガナイザーとシングルトグル local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local Workspace = game:GetService("Workspace") local CollectionService = game:GetService("CollectionService") local UserInputService = game:GetService("UserInputService") -- 設定 local Settings = { Enabled = false, FastMode = false -- オプション: サブトグルとして追加可能 } -- GUI作成 local function CreateUI() local screenGui = Instance.new("ScreenGui") screenGui.Name = "BookOrganizerGUI" screenGui.Parent = Players.LocalPlayer:WaitForChild("PlayerGui") -- メインフレーム local mainFrame = Instance.new("Frame") mainFrame.Size = UDim2.new(0, 300, 0, 120) mainFrame.Position = UDim2.new(0.5, -150, 0.5, -60) mainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 35) mainFrame.BackgroundTransparency = 0.05 mainFrame.BorderSizePixel = 0 mainFrame.ClipsDescendants = true mainFrame.Parent = screenGui -- タイトル local title = Instance.new("TextLabel") title.Size = UDim2.new(1, 0, 0, 35) title.Position = UDim2.new(0, 0, 0, 0) title.BackgroundColor3 = Color3.fromRGB(50, 50, 70) title.BackgroundTransparency = 0.3 title.Text = "📚 Book Organizer" title.TextColor3 = Color3.fromRGB(255, 255, 255) title.TextSize = 16 title.Font = Enum.Font.GothamBold title.BorderSizePixel = 0 title.Parent = mainFrame -- 閉じるボタン local closeBtn = Instance.new("TextButton") closeBtn.Size = UDim2.new(0, 25, 0, 25) closeBtn.Position = UDim2.new(1, -30, 0, 5) closeBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50) closeBtn.BackgroundTransparency = 0.5 closeBtn.Text = "✕" closeBtn.TextColor3 = Color3.fromRGB(255, 255, 255) closeBtn.TextSize = 14 closeBtn.Font = Enum.Font.GothamBold closeBtn.BorderSizePixel = 0 closeBtn.Parent = mainFrame -- ステータスラベル local statusLabel = Instance.new("TextLabel") statusLabel.Size = UDim2.new(1, -20, 0, 25) statusLabel.Position = UDim2.new(0, 10, 0, 40) statusLabel.BackgroundTransparency = 1 statusLabel.Text = "🔴 Disabled" statusLabel.TextColor3 = Color3.fromRGB(255, 100, 100) statusLabel.TextSize = 14 statusLabel.Font = Enum.Font.Gotham statusLabel.TextXAlignment = Enum.TextXAlignment.Left statusLabel.Parent = mainFrame -- トグルボタン local toggleBtn = Instance.new("TextButton") toggleBtn.Size = UDim2.new(0, 80, 0, 35) toggleBtn.Position = UDim2.new(1, -90, 0, 70) toggleBtn.BackgroundColor3 = Color3.fromRGB(200, 60, 60) toggleBtn.BackgroundTransparency = 0.2 toggleBtn.Text = "START" toggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255) toggleBtn.TextSize = 14 toggleBtn.Font = Enum.Font.GothamBold toggleBtn.BorderSizePixel = 0 toggleBtn.Parent = mainFrame -- ドラッグ local dragging = false local dragStart, startPos mainFrame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = mainFrame.Position end end) mainFrame.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) UserInputService.InputChanged:Connect(function(input) if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then local delta = input.Position - dragStart mainFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) closeBtn.MouseButton1Click:Connect(function() Settings.Enabled = false screenGui:Destroy() end) return screenGui, toggleBtn, statusLabel end -- メインスクリプトロジック local gui, toggleBtn, statusLabel = CreateUI() local isRunning = false local currentCoroutine = nil local Loader = require(ReplicatedStorage.Packages.Loader) local ReplicaController = require(Loader.Shared.Utility.ReplicaController) local BooksData = require(Loader.Shared.Data.Books) local LibraryReplica = nil for _, r in pairs(ReplicaController._replicas) do if r.Class == "Library" then LibraryReplica = r break end end if not LibraryReplica then ReplicaController.ReplicaOfClassCreated("Library", function(replica) LibraryReplica = replica end) while not LibraryReplica do task.wait() end end local Library = Workspace.Library local BooksFolder = Library.Books local player = Players.LocalPlayer -- カメラ設定 player.CameraMode = Enum.CameraMode.Classic player.CameraMinZoomDistance = 20 task.spawn(function() task.wait(0.1) player.CameraMinZoomDistance = 0.5 end) local shelfModels = {} for _, shelfModel in ipairs(CollectionService:GetTagged("Shelf")) do shelfModels[shelfModel.Name] = shelfModel end local function getShelfAssignedSeries(shelfId) local shelfData = LibraryReplica.Data.Shelves[shelfId] if not shelfData then return nil end for _, placedBook in pairs(shelfData.Books) do local bookName = typeof(placedBook) == "Instance" and placedBook.Name or placedBook local seriesName = bookName:match("^(.-)_(.+)$") if seriesName then return seriesName end end end local function findShelfForSeries(seriesName, genreName, volumeCount) for shelfId, shelfData in pairs(LibraryReplica.Data.Shelves) do if not shelfData.Completed and shelfData.Category == genreName then local shelfModel = shelfModels[shelfId] if shelfModel and shelfModel:GetAttribute("Width") == volumeCount then if getShelfAssignedSeries(shelfId) == seriesName then return shelfModel end end end end for shelfId, shelfData in pairs(LibraryReplica.Data.Shelves) do if not shelfData.Completed and shelfData.Category == genreName then local shelfModel = shelfModels[shelfId] if shelfModel and shelfModel:GetAttribute("Width") == volumeCount then if not getShelfAssignedSeries(shelfId) and next(shelfData.Books) == nil then return shelfModel end end end end end local function teleportTo(obj) local char = player.Character local root = char and char:FindFirstChild("HumanoidRootPart") local part = obj:IsA("Model") and (obj.PrimaryPart or obj:FindFirstChildOfClass("BasePart")) or obj if root and part then root.CFrame = CFrame.new(part.Position + Vector3.new(0, 2, 0)) task.wait(0.05) end end local function organizeBooks() for _, book in ipairs(BooksFolder:GetChildren()) do if not isRunning then break end task.wait(0.02) local seriesName, volumeStr = book.Name:match("^(.-)_(.+)$") local volumeNum = tonumber(volumeStr) if seriesName and volumeNum then local genreName, bookInfo = BooksData.GetCategory(seriesName) if genreName and bookInfo then local shelfModel = findShelfForSeries(seriesName, genreName, bookInfo.VolumeCount) if shelfModel then local shelfData = LibraryReplica.Data.Shelves[shelfModel.Name] if not (shelfData and shelfData.Books[tostring(volumeNum)]) then teleportTo(book) LibraryReplica:FireServer("Grab", book) task.wait(0.1) teleportTo(shelfModel) LibraryReplica:FireServer("Place", shelfModel, volumeNum - 1) task.wait(0.4) end end end end end end -- トグル機能 local function toggleScript() isRunning = not isRunning if isRunning then toggleBtn.Text = "STOP" toggleBtn.BackgroundColor3 = Color3.fromRGB(60, 200, 60) statusLabel.Text = "🟢 Running..." statusLabel.TextColor3 = Color3.fromRGB(100, 255, 100) Settings.Enabled = true if currentCoroutine then task.cancel(currentCoroutine) end currentCoroutine = task.spawn(function() while isRunning do local success, err = pcall(organizeBooks) if not success then warn("Error: " .. err) statusLabel.Text = "❌ Error: " .. err statusLabel.TextColor3 = Color3.fromRGB(255, 100, 100) task.wait(2) end task.wait(5) -- 次のサイクルまで待機 end end) else toggleBtn.Text = "START" toggleBtn.BackgroundColor3 = Color3.fromRGB(200, 60, 60) statusLabel.Text = "🔴 Disabled" statusLabel.TextColor3 = Color3.fromRGB(255, 100, 100) Settings.Enabled = false if currentCoroutine then task.cancel(currentCoroutine) currentCoroutine = nil end end end toggleBtn.MouseButton1Click:Connect(toggleScript) -- クリーンアップ game:GetService("Players").LocalPlayer:WaitForChild("PlayerGui").ChildRemoved:Connect(function(child) if child.Name == "BookOrganizerGUI" and isRunning then isRunning = false if currentCoroutine then task.cancel(currentCoroutine) end end end) print("✅ Book Organizer loaded! Click START to begin organizing.")
Clean The Library Organize Book Script
getgenv().Running = true local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local Workspace = game:GetService("Workspace") local CollectionService = game:GetService("CollectionService") local Loader = require(ReplicatedStorage.Packages.Loader) local ReplicaController = require(Loader.Shared.Utility.ReplicaController) local BooksData = require(Loader.Shared.Data.Books) local LibraryReplica = nil for _, r in pairs(ReplicaController._replicas) do if r.Class == "Library" then LibraryReplica = r break end end if not LibraryReplica then ReplicaController.ReplicaOfClassCreated("Library", function(replica) LibraryReplica = replica end) while not LibraryReplica do task.wait() end end local Library = Workspace.Library local BooksFolder = Library.Books local player = Players.LocalPlayer player.CameraMode = Enum.CameraMode.Classic player.CameraMinZoomDistance = 20 task.spawn(function() task.wait(0.1) player.CameraMinZoomDistance = 0.5 end) local shelfModels = {} for _, shelfModel in ipairs(CollectionService:GetTagged("Shelf")) do shelfModels[shelfModel.Name] = shelfModel end local function getShelfAssignedSeries(shelfId) local shelfData = LibraryReplica.Data.Shelves[shelfId] if not shelfData then return nil end for _, placedBook in pairs(shelfData.Books) do local bookName = typeof(placedBook) == "Instance" and placedBook.Name or placedBook local seriesName = bookName:match("^(.-)_(.+)$") if seriesName then return seriesName end end end local function findShelfForSeries(seriesName, genreName, volumeCount) for shelfId, shelfData in pairs(LibraryReplica.Data.Shelves) do if not shelfData.Completed and shelfData.Category == genreName then local shelfModel = shelfModels[shelfId] if shelfModel and shelfModel:GetAttribute("Width") == volumeCount then if getShelfAssignedSeries(shelfId) == seriesName then return shelfModel end end end end for shelfId, shelfData in pairs(LibraryReplica.Data.Shelves) do if not shelfData.Completed and shelfData.Category == genreName then local shelfModel = shelfModels[shelfId] if shelfModel and shelfModel:GetAttribute("Width") == volumeCount then if not getShelfAssignedSeries(shelfId) and next(shelfData.Books) == nil then return shelfModel end end end end end local function teleportTo(obj) local char = player.Character local root = char and char:FindFirstChild("HumanoidRootPart") local part = obj:IsA("Model") and (obj.PrimaryPart or obj:FindFirstChildOfClass("BasePart")) or obj if root and part then root.CFrame = CFrame.new(part.Position + Vector3.new(0, 2, 0)) task.wait(0.05) end end task.spawn(function() for _, book in ipairs(BooksFolder:GetChildren()) do if not getgenv().Running then break end task.wait(0.02) local seriesName, volumeStr = book.Name:match("^(.-)_(.+)$") local volumeNum = tonumber(volumeStr) if seriesName and volumeNum then local genreName, bookInfo = BooksData.GetCategory(seriesName) if genreName and bookInfo then local shelfModel = findShelfForSeries(seriesName, genreName, bookInfo.VolumeCount) if shelfModel then local shelfData = LibraryReplica.Data.Shelves[shelfModel.Name] if not (shelfData and shelfData.Books[tostring(volumeNum)]) then teleportTo(book) LibraryReplica:FireServer("Grab", book) task.wait(0.1) teleportTo(shelfModel) LibraryReplica:FireServer("Place", shelfModel, volumeNum - 1) task.wait(0.4) end end end end end getgenv().Running = false end)
Clean The Library Finish Game And More Scripts
loadstring(game:HttpGet("https://raw.githubusercontent.com/2desp/flya/refs/heads/main/loader.lua"))()

Clean The Libraryでスクリプトを実行する方法

ステップ1

まず、スクリプトを実行するためのエグゼキューターを準備します。デバイスにこのようなプログラムがない場合は、Xeno Executorを使用できます。指定されたウェブサイトを開き、ダウンロードをクリックして、プログラムのアーカイブをコンピューターにダウンロードします。

  • https://www.xeno.now/
Xeno Executorをダウンロードするサイト
Xeno Executorをダウンロードするサイト
フィッシュフィッシュフェスト2の全カニの場所
フィッシュフィッシュフェスト2の全カニの場所   
Guides

ステップ2

ファイルがダウンロードされたら、アーカイブをデスクトップなどの便利なフォルダーに解凍し、Xeno.exeを開きます。他のRobloxエグゼキューターを選んだ場合は、そのプログラムのメインファイルを実行してください。

初回起動時に、.NET SDKやVisual C++ Runtimeなどの追加のWindowsコンポーネントが必要であることが通知されることがあります。これらをインストールまたは更新しないと、エグゼキューターが起動しなかったり、正しく動作しない可能性があります。

Xeno.exeの起動ファイル
Xeno.exeの起動ファイル

ステップ3

次に、Clean The Libraryを開き、ゲームをエグゼキューターと一緒に実行したままにします。その後、プログラムウィンドウに戻り、Attachボタンを使用してエグゼキューターをRobloxに接続します。すべてが正しく行われていれば、インターフェースの下部にAttached Ingame!というステータスが表示されます。

Clean The Libraryでのエグゼキューターの実行
Clean The Libraryでのエグゼキューターの実行

ステップ4

次に、利用可能なオプションのリストから希望のスクリプトを選択し、コピーしてエグゼキューター内のコードフィールドに貼り付けます。実行するには、Executeをクリックします。これで、スクリプトがClean The Libraryでアクティブ化されるはずです。

Clean The Libraryでのスクリプトの実行
Clean The Libraryでのスクリプトの実行
Merge a Nukeスクリプト — 自動マージ、自動アップグレードなど!
Merge a Nukeスクリプト — 自動マージ、自動アップグレードなど!   1
Article

ステップ5

スクリプトメニューがすぐに表示されないことがありますが、数秒後に表示されることがあります。これはコード自体と使用しているエグゼキューターに依存します。GUIが表示されると、利用可能な機能を管理し、希望する機能を有効にし、ゲームスタイルに合わせて設定を調整することができます。

Clean The Library スクリプトの主な機能

機能
その機能が何をするか
自動本整理
本を自動的に整理して並べ替える
Clean The LibraryスクリプトのGUIメニュー
Clean The LibraryスクリプトのGUIメニュー

Clean The Library スクリプトが動作しない理由

Grow a Garden:管理者の乱用はいつ始まる?
Grow a Garden:管理者の乱用はいつ始まる?   23
Article

Clean The Library スクリプトの古さ

Clean The Libraryスクリプトが正しく動作しなくなる最も一般的な理由の一つは、ゲームの最新バージョンと互換性がないことです。アップデート後、開発者は内部ロジック、要素の名前、インタラクションシステム、または個々のゲームメカニクスを変更することがあり、古いコードが互換性を失うことがあります。

その結果、スクリプトは予測できない動作をすることがあります:一部の機能は動作し、他の機能は反応せず、一部のボタンがフリーズし、特定の機能がエラーを引き起こすことがあります。スクリプトが長い間更新されていない場合、それを実行するのに時間をかける価値は通常ありません。検証済みのオプションのリストから新しい代替案を選ぶ方が良いでしょう。

エグゼキューターの問題

時々、問題はスクリプト自体ではなく、それを実行するプログラムにあります。エグゼキューターは互換性のレベルが異なり、コードを異なる方法で処理し、同じコマンド、ライブラリ、または追加機能を常にサポートしているわけではありません。

そのため、同じスクリプトがあるツールでは安定して動作し、別のツールではエラーを引き起こしたり、一部しか動作しなかったりすることがあります。XenoやSOLARのようなシンプルなエグゼキューターは、より複雑なスクリプトのサポートに制限があることがあります。例えば、Xenoはその便利さと簡単な起動でよく選ばれますが、問題が発生した場合は、別のエグゼキューターでスクリプトの性能を確認する価値があります。

サーバーまたはゲームからの切断

プレイヤーが直面する可能性のあるもう一つの状況は、スクリプトをアクティブ化した後のサーバーからの即時切断です。これは、Clean The Libraryの現在のバージョンとのコードの非互換性、ゲームの内部システムとの競合、または保護メカニズムのトリガーによって発生します。

サーバーに再度入って起動を繰り返すことができますが、問題が再発する場合、それはスクリプトが正しく動作していないか、現在のアップデートに適していないことの明確なサインです。このような場合、常にエラーが発生したり、ゲームのパフォーマンスが不安定になったり、アカウントの制限のリスクを避けるために使用を中止する方が安全です。

追加コンテンツが利用可能
Twitterのbo3.ggへ行く
コメント
日付順