访问在另一个 object/script 中找到的数据
Accessing data found in another object/script
在桌面模拟器中,如何在对象之间交换信息?
有没有办法,例如,创建一个全局变量?
据我所知,没有全局变量,您不能创建 public 对象属性。但你并不是运气不好。
您可以使用 .getVar
/.getTable
和 .setVar
/.setTable
获取和设置对象的 属性。 Docs.
例如,
对象aaaaaa
function onChat(message, player)
local o = getObjectFromGUID("bbbbbb")
local x = o.getVar("x")
x = x + 1
o.setVar("x", x)
print(x)
end
对象bbbbbb
x = 0
也可以用Global.getVar(...)
等
或者,您可以创建一个方法,然后使用 .call
调用。这提供了更好的封装。
例如,
对象aaaaaa
function onChat(message, player)
local o = getObjectFromGUID("82fbcf")
local x = o.call("getX")
x = x + 1
o.call("setX", { value = x })
print(x)
end
对象bbbbbb
x = 0
function getX(args)
return x
end
function setX(args)
x = args["value"]
end
参数只能是table.
您也可以使用Global.call(...)
。
在桌面模拟器中,如何在对象之间交换信息?
有没有办法,例如,创建一个全局变量?
据我所知,没有全局变量,您不能创建 public 对象属性。但你并不是运气不好。
您可以使用 .getVar
/.getTable
和 .setVar
/.setTable
获取和设置对象的 属性。 Docs.
例如,
对象aaaaaa
function onChat(message, player)
local o = getObjectFromGUID("bbbbbb")
local x = o.getVar("x")
x = x + 1
o.setVar("x", x)
print(x)
end
对象bbbbbb
x = 0
也可以用Global.getVar(...)
等
或者,您可以创建一个方法,然后使用 .call
调用。这提供了更好的封装。
例如,
对象aaaaaa
function onChat(message, player)
local o = getObjectFromGUID("82fbcf")
local x = o.call("getX")
x = x + 1
o.call("setX", { value = x })
print(x)
end
对象bbbbbb
x = 0
function getX(args)
return x
end
function setX(args)
x = args["value"]
end
参数只能是table.
您也可以使用Global.call(...)
。