赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 1048 |
最后登录 | 2023-1-7 |
在线时间 | 18 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 95
- 在线时间
- 18 小时
- 注册时间
- 2008-1-22
- 帖子
- 46
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 土撥撥 于 2012-1-7 16:54 编辑
大约一年半以前吧,我和我所属团队的朋友合力制作出了一个能够防止数值遭到修改器修改的脚本,
后来犹豫了很久之后,才决定要发出来给大家研究:lol缩排被去掉了...那我贴脚本连结。
大概说明一下原理好了。想说太多变量名字都乱取,怕大家会看得吃力。
脚本大致定义的内容:
先随机产生一个数值,用以当作类似「浮动数值」的效果(这里暂称为浮动数值)。
另外再产生一个Array用来放置经过系统所变动的内容。
一个Scene的main过程开始的时候先让系统读取一次「目前的变量及金钱」(这里暂称为旧值),
并将旧值和浮动数值相乘,这时候再修改Scene_Map的内容:
系统刷新(update)的时候检查一次,
若存放变动量的Array有新的东西就加进旧值并重新读取一次,
「旧值÷浮动数值」 ≠ Scene刚开始时的金钱或变量加上值的变动量
就弹出警告窗口并退出游戏。
(切换Scene的时候也会再检查一次)
这时候这个脚本所呈现出来的效果就是:
在地图上的时候只要遭到修改,就会立刻弹出通知;
若是在其它画面遭到修改则切换Scene的时候弹出通知。
(如果每个Scene的update过程都要检查一次,会很容易与其它脚本造成冲突)
若要保护HP、MaxHP、MP、MaxMP、STR、DEX、AGI、INT……也可以如法炮制。
|
|