首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过MouseOver事件编写Rainmeter脚本

通过MouseOver事件编写Rainmeter脚本
EN

Stack Overflow用户
提问于 2019-03-06 18:56:19
回答 1查看 550关注 0票数 0

我有一个Lua脚本,我试图运行的雨表。当前脚本正在运行,我可以看到我的.txt文件的一行"Notes“得到一个应用于它的凯撒密码,然后Update()函数将更改ScriptMeter Text字段以匹配输出密码。

我似乎无法找到的是如何在MouseOver事件上调用这个脚本。我的计划是在鼠标结束时在鼠标事件上循环应用密码,并在删除鼠标时将密码解压到难以辨认的文本中。

MyLua.ini

代码语言:javascript
复制
[ScriptMeasure]
Measure=Script
ScriptFile="#@#Scripts\MyLua.lua"

[StringStyle]
 FontFace=Trebuchet MS
 FontColor=255,245,207,255
 SolidColor=0,0,0,1
 StringStyle=Bold
 StringAlign=Center
 AntiAlias=1
 FontSize=20

[ScriptMeter]
Meter=String
MeterStyle=StringStyle
MeasureName=ScriptMeasure
Text=""
x=100
y=40

MyLua.lua

代码语言:javascript
复制
function Initialize()
    FilePath = SKIN:ReplaceVariables("#@#Scripts/MyLua.txt")
    f = io.open(FilePath) --open the file, ovewrites the file each time
    str = f:read('*l') --read line
    f:close()
    --number = string.match(str, 1) --use a pattern search to find the first number in the file
    print(str) --test code


    encrypted = caesar.encrypt(str, 7)
    decrypted = caesar.decrypt(encrypted, 7)
    print("Original text:  ", str)
    print("Encrypted text: ", encrypted)
    print("Decrypted text: ", decrypted)
    output = encrypted


end --funciton Initialize

function Update()

    print(output)
    SKIN:Bang('!SetOption', 'ScriptMeter', 'Text', output)
    --return(output) --return the string

end

function encrypt(text, key)
    return text:gsub("%a", function(t)
            local base = (t:lower() == t and string.byte('a') or string.byte('A'))

            local r = t:byte() - base
            r = r + key
            r = r%26 -- works correctly even if r is negative
            r = r + base
            return string.char(r)
        end)
end

local function decrypt(text, key)
    return encrypt(text, -key)
end

caesar = {
    encrypt = encrypt,
    decrypt = decrypt,
}

MyLua.txt

代码语言:javascript
复制
Notes
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-07 09:55:00

Reddit的一个名为/u/GlobTwo的成员帮助我解决了这个问题,所以我想我也应该在这里发布他的回复。

代码语言:javascript
复制
MouseOverAction=[!CommandMeasure "ScriptMeasure" "encrypt('sometext', '1')"]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55030327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档