修改Lua函数

修改Lua函数,lua,Lua,我正在尝试修改Lua游戏(CtGW)。有一个函数,engine:GetSavegames,它返回一个字符串数组,我无法访问。我需要修改返回的结果。我尝试了以下操作,但收到了一个“在“引擎”附近需要函数参数”错误 engine:GetSavegames是方法调用的唯一有效语法,不适用于赋值。正如@ChrisBeck在中所写的,您需要使用引擎.GetSavegame,但您还需要传递任何可以获得的参数,因为这些参数将包括实际对象 类似的方法可能会奏效: local getsaves = engine.

我正在尝试修改Lua游戏(CtGW)。有一个函数,
engine:GetSavegames
,它返回一个字符串数组,我无法访问。我需要修改返回的结果。我尝试了以下操作,但收到了一个“在“引擎”附近需要函数参数”错误


engine:GetSavegames
是方法调用的唯一有效语法,不适用于赋值。正如@ChrisBeck在中所写的,您需要使用
引擎.GetSavegame
,但您还需要传递任何可以获得的参数,因为这些参数将包括实际对象

类似的方法可能会奏效:

local getsaves = engine.GetSavegames
engine.GetSavegames = function(...)
  return getsaves(...)
end

此操作通常被调用。

您可以尝试的一件事是
engine.GetSavegames=…
,这将修复语法。这是否真的会起作用,做你想做的事情,取决于其他东西是如何编码的。谢谢,这在Lua演示页面上起了作用。但是我认为没有任何参数是可能的。如果它被称为
引擎:GetSavegames
,那么至少会有一个参数,因为它相当于
引擎。GetSavegames(引擎)
,所以代码需要考虑到这一点。再次感谢,我确实需要添加它,并且现在就可以工作了。
local getsaves = engine.GetSavegames
engine.GetSavegames = function(...)
  return getsaves(...)
end