Project1
标题: 防F12 [打印本页]
作者: SixRC 时间: 2015-8-27 11:21
标题: 防F12
本帖最后由 SixRC 于 2017-9-12 12:39 编辑
插到随便什么地方 只要是在正式调用Graphics.update 前即可
class << Graphics
alias update2 update
RGSSEval=Win32API.new('RGSS103J','RGSSEval','p','v')
def update
RGSSEval.call("Graphics.update2")
end
end
class << Graphics
alias update2 update
RGSSEval=Win32API.new('RGSS103J','RGSSEval','p','v')
def update
RGSSEval.call("Graphics.update2")
end
end
虽然简单 不过是有bug的 第一就是按红叉叉不能关闭游戏,只能用任务管理器和exit… 所以让游戏正常地从菜单退出也好嘛 我不管了
第二个是假如按着F12的话 Graphics.update 的时间不能维持到(1/秒帧数)秒
所以会有这么一个问题:按着F12的时候 游戏刷新速度会极快
不过应该没谁这么蛋疼吧 大概 所以我也不管了...
其余的未知 有问题再说
另外
调用RGSSEval的话 不存在十秒限制 即不会出现脚本已被备份的问题 只要在脚本最后面加上Graphics.update就好了
比如
RGSSEval=Win32API.new('RGSS103J','RGSSEval','p','v')
code=<<EOF
sleep 11
Graphics.update
EOF
RGSSEval.call(code)
RGSSEval=Win32API.new('RGSS103J','RGSSEval','p','v')
code=<<EOF
sleep 11
Graphics.update
EOF
RGSSEval.call(code)
是不会弹错的
8.21 更新
RGSS103J.zip
(539.69 KB, 下载次数: 47)
修改版dll
除了按F12无效
其余没变
在脚本里可以自定义F12的功能
8.22 接上
RGSS103J.zip
(539.7 KB, 下载次数: 47)
按F12会执行模块SixRC中的f12
可以自定义其作用
不定义就不会发生什么
作者: chd114 时间: 2015-8-27 11:54
插入以后右上角的红X无效了···
目前没发现其它问题
作者: 天地有正气 时间: 2015-8-27 12:02
能否解释一下原理……
作者: SixRC 时间: 2015-8-27 12:22
天地有正气 发表于 2015-8-27 12:02
能否解释一下原理……
自己调用RGSSEval和它调用 是不一样的
这个自己做实验可以知道 自己调用的和它调用的假如分别称为区域a和区域b的话
a的变量和b的不通用
但是全局变量和类是连着的
它在调用RGSSEval的同时做了别的什么处理 额 我现在不知道
不过那些处理在自己调用的时候不会发生 所以可以避开
而F12每次检测都是在Graphics.update的时候(?我猜测)
所以让区域a去撞F12这条线 然后区域a会弹出转到区域b
大概就是这样
突然又想到一个bug 蛋疼了
欢迎光临 Project1 (https://rpg.blue/) |
Powered by Discuz! X3.1 |