查看: 3897|回复: 3

[原创发布] 防F12

[复制链接]
梦石
0
星屑
13562
在线时间
2753 小时
注册时间
2014-10-4
回帖
705

R考场第七期纪念奖

发表于 2015-8-27 11:21:39 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 SixRC 于 2017-9-12 12:39 编辑

插到随便什么地方 只要是在正式调用Graphics.update  前即可

[pre lang="ruby"]class << Graphics
  alias update2 update
  RGSSEval=Win32API.new('RGSS103J','RGSSEval','p','v')
  def update
    RGSSEval.call("Graphics.update2")
  end
end[/pre]

虽然简单 不过是有bug的 第一就是按红叉叉不能关闭游戏,只能用任务管理器和exit… 所以让游戏正常地从菜单退出也好嘛 我不管了
第二个是假如按着F12的话 Graphics.update 的时间不能维持到(1/秒帧数)秒
所以会有这么一个问题:按着F12的时候 游戏刷新速度会极快
不过应该没谁这么蛋疼吧 大概 所以我也不管了...
其余的未知 有问题再说

另外
调用RGSSEval的话 不存在十秒限制 即不会出现脚本已被备份的问题 只要在脚本最后面加上Graphics.update就好了
比如
[pre lang="ruby"]RGSSEval=Win32API.new('RGSS103J','RGSSEval','p','v')
code=<<EOF
sleep 11
Graphics.update
EOF
RGSSEval.call(code)[/pre]
是不会弹错的


8.21 更新
RGSS103J.zip (539.69 KB, 下载次数: 47)
修改版dll
除了按F12无效
其余没变
在脚本里可以自定义F12的功能

8.22 接上
RGSS103J.zip (539.7 KB, 下载次数: 47)
按F12会执行模块SixRC中的f12
可以自定义其作用
不定义就不会发生什么

梦石
0
星屑
9292
在线时间
2504 小时
注册时间
2011-5-20
回帖
14521

开拓者

发表于 2015-8-27 11:54:47 | 显示全部楼层
插入以后右上角的红X无效了···
目前没发现其它问题

点评

恩 红×的问题 判断鼠标位置和按下否可以解决 不过..这真是一个蛋疼的bug 刚刚忘记写了 调用RGSSEval 不会有10秒限制  发表于 2015-8-27 11:58
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复

使用道具 举报

○赛

梦石
0
星屑
1254
在线时间
1276 小时
注册时间
2013-1-22
回帖
2078

贵宾

发表于 2015-8-27 12:02:01 | 显示全部楼层
能否解释一下原理……
回复

使用道具 举报

梦石
0
星屑
13562
在线时间
2753 小时
注册时间
2014-10-4
回帖
705

R考场第七期纪念奖

 楼主| 发表于 2015-8-27 12:22:31 | 显示全部楼层
天地有正气 发表于 2015-8-27 12:02
能否解释一下原理……

自己调用RGSSEval和它调用 是不一样的
这个自己做实验可以知道 自己调用的和它调用的假如分别称为区域a和区域b的话
a的变量和b的不通用
但是全局变量和类是连着的
它在调用RGSSEval的同时做了别的什么处理 额 我现在不知道
不过那些处理在自己调用的时候不会发生 所以可以避开
而F12每次检测都是在Graphics.update的时候(?我猜测)
所以让区域a去撞F12这条线 然后区域a会弹出转到区域b
大概就是这样
突然又想到一个bug 蛋疼了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部