local f1 = { { "\159\143\159\143\139\143", "ffffff", "000000", }, { "\128\149\159\137\143\155", "00ffff", "ff0000", }, { "\130\151\128\148\148\148", "000000", "ffffff", }, { "\136\135\159\133\149\138", "00f00f", "ff0ff0", }, } local f2 = { { "\159\143\159\143\139\143", "ffffff", "000000", }, { "\128\149\151\157\153\151", "00ffff", "ff0000", }, { "\130\151\157\140\136\140", "00ffff", "ff0000", }, { "\136\135\149\142\134\145", "00f00f", "ff0ff0", }, } local f3 = { { "\159\143\132\159\128\148", "ff0f00", "00f0ff", }, { "\159\133\144\144\129\149", "ff0000", "00ffff", }, { "\128\129\144\130\143\157", "0f00f0", "f0ff0f", }, { "\130\149\128\131\128\149", "0f0000", "f0ffff", }, } local f4 = { { "\128\148\128\128\148\128", "000000", "ffffff", }, { "\130\151\130\131\151\131", "000000", "ffffff", }, { "\136\151\149\131\131\149", "00f000", "ff0fff", }, { "\159\149\143\153\153\143", "f0f0ff", "0f0f00", }, } local n = {" ","ffffff","ffffff"} -- 创建 img 表结构 local img = {} for i1 = 1, 8 do img[i1] = {} for i2 = 1, 4 do img[i1][i2] = {} end end -- ✅ 关键修复:将 logon 改为函数,每次返回新表 local function logon() return { " ", "fffffffffffffffffffffffff", "fffffffffffffffffffffffff" } end -- 定义 logo 为普通表(不是函数) local logo = { { " \139 ", "fffffff0000000f000fffffff", "ffffffffffffff0ffffffffff" }, { " \143\129\149 \132 ", "fffffff0000ff00000fffffff", "fffffffffff00f00fffffffff" }, { " \159\135 \149\143\158\135\149 ", "fffffff0ff00000ff0fffffff", "ffffffff00000ff00ffffffff" }, { " \149 \143\150\144 \131\133 ", "ffffffff00000f0000fffffff", "fffffff00000f0fffffffffff" }, { " \149 \136 \149 \131\144 ", "ffffffff00f00f0f00fffffff", "fffffff0000ff000fffffffff" }, { " \138 \131\133 \149 ", "fffffff00000ff0000fffffff", "ffffffff00000000fffffffff" }, { " \130\139\144 \149 ", "fffffff000f0000000fffffff", "ffffffffff000000fffffffff" }, { " \143\131 \135 ", "fffffff00ff0000000fffffff", "fffffffff000000ffffffffff" }, { " \143\131 ", "fffffff00000000000fffffff", "fffffffff000fffffffffffff" }, { " \143\135\129 ", "fffffff00000000000fffffff", "fffffffffffffffffffffffff" }, } local logo1 = {{},{},{},{}} -- 第一组 for i = 1, 3 do table.insert(logo1[1], logon()) end -- 插入 logo 的每一帧 for _, frame in ipairs(logo) do table.insert(logo1[1], frame) end for i = 1, 2 do table.insert(logo1[1], logon()) end logo1[1].duration = 1 -- 第二组 for i = 1, 2 do table.insert(logo1[2], logon()) end for _, frame in ipairs(logo) do table.insert(logo1[2], frame) end for i = 1, 3 do table.insert(logo1[2], logon()) end -- 第三组 table.insert(logo1[3], logon()) for _, frame in ipairs(logo) do table.insert(logo1[3], frame) end for i = 1, 4 do table.insert(logo1[3], logon()) end -- 第四组 for _, frame in ipairs(logo) do table.insert(logo1[4], frame) end for i = 1, 5 do table.insert(logo1[4], logon()) end -- 填充 img 前 4 行 for i = 1, 4 do img[i] = logo1[i] end -- 清理临时变量 logo1 = nil logo = nil -- 构建 img[5] 到 img[8] for i=1,3 do img[5][1][i] = n[i] .. f2[4][i] .. n[i] .. f4[4][i] end for i=1,3 do img[5][2][i] = n[i] .. n[i] .. n[i] .. n[i] end for i=1,3 do img[5][3][i] = n[i] .. n[i] .. n[i] .. n[i] end for i=1,3 do img[5][4][i] = f1[1][i] .. n[i] .. f3[1][i] .. n[i] end for i=1,3 do img[6][1][i] = n[i] .. f2[3][i] .. n[i] .. f4[3][i] end for i=1,3 do img[6][2][i] = n[i] .. f2[4][i] .. n[i] .. f4[4][i] end for i=1,3 do img[6][3][i] = f1[1][i] .. n[i] .. f3[1][i] .. n[i] end for i=1,3 do img[6][4][i] = f1[2][i] .. n[i] .. f3[2][i] .. n[i] end for i=1,3 do img[7][1][i] = n[i] .. f2[2][i] .. n[i] .. f4[2][i] end for i=1,3 do img[7][2][i] = f1[1][i] .. f2[3][i] .. f3[1][i] .. f4[3][i] end for i=1,3 do img[7][3][i] = f1[2][i] .. f2[4][i] .. f3[2][i] .. f4[4][i] end for i=1,3 do img[7][4][i] = f1[3][i] .. n[i] .. f3[3][i] .. n[i] end for i=1,3 do img[8][1][i] = f1[1][i] .. f2[1][i] .. f3[1][i] .. f4[1][i] end for i=1,3 do img[8][2][i] = f1[2][i] .. f2[2][i] .. f3[2][i] .. f4[2][i] end for i=1,3 do img[8][3][i] = f1[3][i] .. f2[3][i] .. f3[3][i] .. f4[3][i] end for i=1,3 do img[8][4][i] = f1[4][i] .. f2[4][i] .. f3[4][i] .. f4[4][i] end -- 清理 f1 = nil f2 = nil f3 = nil f4 = nil n = nil img.animation = true img.secondsPerFrame = 0.1 -- ✅ 现在可以安全序列化 print(textutils.serialize(img[1])) local function drawFrame(frame, term) for y, row in ipairs(frame) do term.setCursorPos(1, y) term.blit(table.unpack(row)) end if frame.palette then for i = 0, #frame.palette do local c = frame.palette[i] if type(c) == "table" then term.setPaletteColor(2^i, table.unpack(c)) else term.setPaletteColor(2^i, c) end end end if img.multiMonitor then term.setTextScale(img.multiMonitor.scale or 0.5) end end term.clear() for i, frame in ipairs(img) do drawFrame(frame, term) if img.animation then sleep(frame.duration or img.secondsPerFrame or 0.05) else read() break end end read() term.setBackgroundColor(colors.black) term.setTextColor(colors.white) term.clear() term.setCursorPos(1, 1) for i = 0, 15 do term.setPaletteColor(2^i, term.nativePaletteColor(2^i)) end