|
发表于 2023-9-11 15:25:59
|
显示全部楼层
本帖最后由 懒动行不行 于 2023-9-11 04:35 PM 编辑
请教下SetScrip如何传递出变量值,例如
a=0
local fs=CreateFrame("Frame")
fs:ResgisterEvent("CHAT_MSG_SYSTEM")
fs:SetScript("OnEvent",function(self,event,...)
local s=...
local b=string.find(s,"XXXX")
if b then a=a+1 print(a) else return end
end)
print(a)
如上面代码所述,先声明了一个变量a,然后通过监控系统消息中特定的字符数来对a+1处理,这样结果可以用于特定的用途
但是通过上述两个print发现,第一个print(a)可以正确打印出a+1后的值,但是第2个print打印出来a的值还是0
也就是说用SetScript处理后的变量值传递不出来,如果想用这个经过处理的变量,只能把用途写到SetScript的函数体里,比如上面第一个print(a)
这个是因为SetScript比较特殊吗?
|
|