--执行云脚本 Sky.load=function(sr) return pcall(load(gg['makeRequest'](sr)['content'])) end --返回云端内容 Sky.Content=function(sr) return gg['makeRequest'](sr)['content'] end
时间: 2024-01-21 07:02:04 浏览: 181
你的问题是关于如何执行云脚本和返回云端内容的。在这段代码中,`Sky.load`函数用于执行云脚本,它接受一个参数 `sr`,该参数表示脚本的URL地址。函数体内部使用 `gg['makeRequest'](sr)['content']` 来获取脚本内容,并通过 `load` 函数进行加载和执行。函数返回一个布尔值和脚本的执行结果。
另外,`Sky.Content`函数用于返回云端内容,它也接受一个参数 `sr`,表示要获取内容的URL地址。函数体内部同样使用 `gg['makeRequest'](sr)['content']` 来获取并返回云端的内容。
请注意,这段代码使用了一个名为 `gg['makeRequest']` 的函数来发送HTTP请求并获取返回的内容。在实际使用中,你需要确保该函数存在并正确地实现了发送请求的功能。
相关问题
2023-07-15 17:03:16 脚本错误: luaj.n: /storage/emulated/0/跑图适配o内存.lua:159 ` return pcall(load(gg['makeRequest'](sr)['content']))` bad argument #1 to 'load' (string or function expected, got nil) (global 'load') level = 1, const = 5, proto = 0, upval = 1, vars = 5, code = 11 CALL v2..v3 SET_TOP ; PC 7 CODE 0100009D OP 29 A 2 B 2 C 0 Bx 1024 sBx -130047 stack traceback: /storage/emulated/0/跑图适配o内存.lua:159 in function 'Sky.load' /storage/emulated/0/跑图适配o内存.lua:192 in main chunk [Java]: in ? at luaj.LuaValue.a(Unknown Source:2) at luaj.lib.BaseLib$load.a_(Unknown Source:39) at luaj.LuaClosure.a(Unknown Source:1729) at luaj.LuaClosure.a(Unknown Source:16) at luaj.LuaClosure.a(Unknown Source:1775) at luaj.LuaClosure.l(Unknown Source:7) at android.ext.Script.d(Unknown Source:493) at android.ext.Script$ScriptThread.run(Unknown Source:16)
这个错误是由于在文件`/storage/emulated/0/跑图适配o内存.lua`的第159行使用了`load`函数,但是传入的参数是`nil`,而不是一个字符串或函数。`load`函数需要一个字符串或者函数作为参数来加载代码,所以出现了这个错误。
你可以检查一下你的代码,在调用`load`函数之前,确保传入的参数不为`nil`。另外,你也可以查看一下`gg['makeRequest'](sr)['content']`的返回值是否正确,是否包含了你要加载的代码。
local bool,error = pcall(function () while true do Unit.State.Name = ProcessState(Unit.State , Unit.State.Name , Unit.Param[Unit.State.Name]) --lr.log("当前状态--->"..Unit.State.Name) if lr.time_timer("主流程运行",20) then toast("主流程运行-->"..Unit.State.Name,0,0,12) end if lr.time_timer("任务检测",15) then local code,ret = Link.Cloud(Link.cid,Link.udid,Link.devid) -- local list=json.decode(ret) --解Json格式 --print(list) -- {"code":100,"msg":"云控无任务请继续等待。。","data":""} -- {"code":201,"msg":"开始任务","data":{"Ui":{}}} -- {"code":202,"msg":"停止任务","data":""} -- {"code":203,"msg":"运行中","data":""} --[===[ if list~=nil then if tonumber(list.code)==100 then Link.thread=0 print(list.code) toast("暂停脚本",0,0,12) Unit.State.Name="暂停脚本" sleep(5000) return Unit.State.Name elseif tonumber(list.code)==202 then Link.thread=0 print(list.code) toast("暂停脚本",0,0,12) Unit.State.Name="暂停脚本" sleep(5000) return Unit.State.Name else Link.thread=1 end end]===] end if lr.time_timer("开始检查热更新",120) then print("开始检查热更新.."..Unit.jobid.."--"..Unit.ver) Link.UpFile(Unit.jobid,Unit.ver) end sleep(30) end end) 原理
这段代码使用了 Lua 语言,其中使用了一个名为 pcall 的函数来捕获执行过程中的错误。代码中包含了一个 while 循环,在循环中调用了 ProcessState 函数,并将其返回值作为 Unit.State.Name 的值。同时还包含了一些计时器,用于定时执行一些操作,例如检查任务、检查热更新等。最后,使用 sleep 函数暂停执行一段时间,以免占用过多资源。
阅读全文