设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 5147|回复: 3
打印 上一主题 下一主题

[已经解决] 关于反作弊引擎

[复制链接]

Lv1.梦旅人

梦石
0
星屑
23
在线时间
1 小时
注册时间
2020-7-30
帖子
2
跳转到指定楼层
1
发表于 2020-7-30 19:05:00 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
是否有脚本或某种方式可以防止CHEAT ENGINE软件使用? 我尝试在rpgmakerforum上搜索,但这不是很可行。 感谢大家。
我使用Google翻译,所以中文非常糟糕,抱歉。

Lv4.逐梦者

梦石
0
星屑
8624
在线时间
1465 小时
注册时间
2012-6-6
帖子
349
2
发表于 2020-7-30 19:46:19 | 只看该作者
本帖最后由 流浪杰哥 于 2020-7-30 19:59 编辑

这个脚本嘛勉强只能糊弄下不怎么会用CE的,会用CE的人随随便便修改,这个脚本未经大幅度测试,可能存在一些问题。
需要的话,可以随便拿去用。。。。。实在不行的话,楼主可以考虑氪金去找大佬们写一个脚本。老实说,我总觉得单机游戏没有必要去刻意
反修改作弊,玩家们总有自己的玩法,他们可能只是想快速体验一下剧情,又或者是没时间玩只能修改快速通关,你不能去左右玩家的想法。






RUBY 代码复制
  1. #简单防修改,防止基本数据被修改 by:抠脚大汉 2020.7.10
  2. #仅针对金钱数量、物品武器护甲数量、角色基础能力值、角色等级
  3. #对存档进行简单的压缩保护,防止RM存档通用修改器修改
  4. #因为抠脚也是小白,所以本脚本仅仅针对小白,防不了大佬。
  5. #encoding:utf-8
  6. #==============================================================================
  7. # ■ DataManager
  8. #------------------------------------------------------------------------------
  9. #  数据库和游戏实例的管理器。所有在游戏中使用的全局变量都在这里初始化。
  10. #==============================================================================
  11. module DataManager
  12.   #--------------------------------------------------------------------------
  13.   # ● 执行存档(没有错误处理)
  14.   #--------------------------------------------------------------------------
  15.   def self.save_game_without_rescue(index)
  16.     File.open(make_filename(index), "wb") do |file|
  17.       $game_system.on_before_save
  18.       Marshal.dump(Zlib::Deflate.deflate(Marshal.dump(make_save_header)).reverse, file)
  19.       Marshal.dump(Zlib::Deflate.deflate(Marshal.dump(make_save_contents)).reverse, file)
  20.       @last_savefile_index = index
  21.     end
  22.     return true
  23.   end
  24.   #--------------------------------------------------------------------------
  25.   # ● 执行读档(没有错误处理)
  26.   #--------------------------------------------------------------------------
  27.   def self.load_game_without_rescue(index)
  28.     File.open(make_filename(index), "rb") do |file|
  29.       Marshal.load(file)
  30.       extract_save_contents(Marshal.load((Zlib::Inflate.inflate(Marshal.load(file).reverse))))
  31.       reload_map_if_updated
  32.       @last_savefile_index = index
  33.     end
  34.     return true
  35.   end
  36.   #--------------------------------------------------------------------------
  37.   # ● 读取存档的头数据(没有错误处理)
  38.   #--------------------------------------------------------------------------
  39.   def self.load_header_without_rescue(index)
  40.     File.open(make_filename(index), "rb") do |file|
  41.       return Marshal.load(Zlib::Inflate.inflate(Marshal.load(file).reverse))
  42.     end
  43.     return nil
  44.   end
  45. end
  46. #encoding:utf-8
  47. #==============================================================================
  48. # ■ Game_System
  49. #------------------------------------------------------------------------------
  50. #  处理系统附属数据的类。保存存档和菜单的禁止状态之类的数据。
  51. #   本类的实例请参考 $game_system 。
  52. #==============================================================================
  53.  
  54. class Game_System
  55.   #--------------------------------------------------------------------------
  56.   # ● 定义实例变量
  57.   #--------------------------------------------------------------------------
  58.   attr_accessor :gold_data                   # 储存金钱数据
  59.   attr_accessor :item_data                   # 储存物品数据
  60.   attr_accessor :params_data                 # 储存角色数据
  61.   #--------------------------------------------------------------------------
  62.   # ● 初始化对象
  63.   #--------------------------------------------------------------------------
  64.   alias kjdh_initialize initialize
  65.   def initialize
  66.     kjdh_initialize
  67.     @gold_data   = 1888
  68.     @item_data   = 666
  69.     @params_data = 1
  70.   end
  71. end
  72. #encoding:utf-8
  73. #==============================================================================
  74. # ■ Game_Actor
  75. #------------------------------------------------------------------------------
  76. #  管理角色的类。
  77. #   本类在 Game_Actors 类 ($game_actors) 的内部使用。
  78. #   具体使用请查看 Game_Party 类 ($game_party) 。
  79. #==============================================================================
  80.  
  81. class Game_Actor < Game_Battler
  82.   #--------------------------------------------------------------------------
  83.   # ● 获取普通能力值之和
  84.   #--------------------------------------------------------------------------
  85.   def all_param_base
  86.     param_base(0) + param_base(1) + param_base(2) + param_base(3) +
  87.     param_base(4) + param_base(5) + param_base(6) + param_base(7)
  88.   end
  89.   #--------------------------------------------------------------------------
  90.   # ● 获取附加能力值之和
  91.   #--------------------------------------------------------------------------
  92.   def all_param_plus
  93.     param_plus(0) + param_plus(1) + param_plus(2) + param_plus(3) +
  94.     param_plus(4) + param_plus(5) + param_plus(6) + param_plus(7)
  95.   end
  96.   #--------------------------------------------------------------------------
  97.   # ● 获取普通能力值(百分比)之和
  98.   #--------------------------------------------------------------------------
  99.   def all_param_rate
  100.     param_rate(0) + param_rate(1) + param_rate(2) + param_rate(3) +
  101.     param_rate(4) + param_rate(5) + param_rate(6) + param_rate(7)
  102.   end
  103.   #--------------------------------------------------------------------------
  104.   # ● 获取所有能力值之和 + 等级
  105.   #--------------------------------------------------------------------------
  106.   def all_params
  107.     all_param_base + all_param_plus + all_param_rate + @level
  108.   end
  109.   #--------------------------------------------------------------------------
  110.   # ● 等级上升
  111.   #--------------------------------------------------------------------------
  112.   alias kjdh_level_up level_up
  113.   def level_up
  114.     kjdh_level_up
  115.     $game_system.params_data = $game_party.all_params / 2 + 1
  116.   end
  117.   #--------------------------------------------------------------------------
  118.   # ● 等级下降
  119.   #--------------------------------------------------------------------------
  120.   alias kjdh_level_down level_down
  121.   def level_down
  122.     kjdh_level_down
  123.     $game_system.params_data = $game_party.all_params / 2 + 1
  124.   end
  125.   #--------------------------------------------------------------------------
  126.   # ● 等级变化
  127.   #     show : 等级上升显示的标志
  128.   #--------------------------------------------------------------------------
  129.   alias kjdh_change_level change_level
  130.   def change_level(level, show)
  131.     kjdh_change_level(level, show)
  132.     $game_system.params_data = $game_party.all_params / 2 + 1
  133.   end
  134.   #--------------------------------------------------------------------------
  135.   # ● 更换装备
  136.   #     slot_id : 装备栏 ID
  137.   #     item    : 武器/护甲(为 nil 时装备解除)
  138.   #--------------------------------------------------------------------------
  139.   alias kjdh_change_equip change_equip
  140.   def change_equip(slot_id, item)
  141.     kjdh_change_equip(slot_id, item)
  142.     $game_system.params_data = $game_party.all_params / 2 + 1
  143.   end
  144.   #--------------------------------------------------------------------------
  145.   # ● 强制更换装备
  146.   #     slot_id : 装备栏 ID
  147.   #     item    : 武器/护甲(为 nil 时装备解除)
  148.   #--------------------------------------------------------------------------
  149.   alias kjdh_force_change_equip force_change_equip
  150.   def force_change_equip(slot_id, item)
  151.     kjdh_force_change_equip(slot_id, item)
  152.     $game_system.params_data = $game_party.all_params / 2 + 1
  153.   end
  154.   #--------------------------------------------------------------------------
  155.   # ● 丢弃装备
  156.   #     item : 丢弃的武器/护甲
  157.   #--------------------------------------------------------------------------
  158.   alias kjdh_discard_equip discard_equip
  159.   def discard_equip(item)
  160.     kjdh_discard_equip(item)
  161.     $game_system.params_data = $game_party.all_params / 2 + 1
  162.   end
  163.   #--------------------------------------------------------------------------
  164.   # ● 应用“能力提升”效果
  165.   #--------------------------------------------------------------------------
  166.   alias kjdh_item_effect_grow item_effect_grow
  167.   def item_effect_grow(user, item, effect)
  168.     kjdh_item_effect_grow(user, item, effect)
  169.     $game_system.params_data = $game_party.all_params / 2 + 1
  170.   end
  171. end
  172. #encoding:utf-8
  173. #==============================================================================
  174. # ■ Game_Party
  175. #------------------------------------------------------------------------------
  176. #  管理队伍的类。保存有金钱及物品的信息。本类的实例请参考 $game_party 。
  177. #==============================================================================
  178.  
  179. class Game_Party < Game_Unit
  180.   #--------------------------------------------------------------------------
  181.   # ● 增加/减少持有金钱
  182.   #--------------------------------------------------------------------------
  183.   alias kjdh_gain_gold gain_gold
  184.   def gain_gold(amount)
  185.     kjdh_gain_gold(amount)
  186.     $game_system.gold_data = ($game_party.gold + 111) * 3 + 1555
  187.   end
  188.   #--------------------------------------------------------------------------
  189.   # ● 取得所有物品数
  190.   #--------------------------------------------------------------------------      
  191.   def all_item_num
  192.     (@items.values + @weapons.values + @armors.values).inject(0){|m,n| m + n }
  193.   end
  194.   #--------------------------------------------------------------------------
  195.   # ● 增加/减少物品
  196.   #     include_equip : 是否包括装备
  197.   #--------------------------------------------------------------------------
  198.   alias kjdh_gain_item gain_item
  199.   def gain_item(item, amount, include_equip = false)
  200.     kjdh_gain_item(item, amount, include_equip = false)
  201.     $game_system.item_data = ($game_party.all_item_num + 101) * 3 + 363
  202.   end
  203.   #--------------------------------------------------------------------------
  204.   # ● 获取队伍成员的属性值之和
  205.   #--------------------------------------------------------------------------
  206.   def all_params
  207.     all_members.collect {|actor| actor.all_params }.inject(0){|m,n| m + n}
  208.   end
  209.   #--------------------------------------------------------------------------
  210.   # ● 角色入队
  211.   #--------------------------------------------------------------------------
  212.   alias kjdh_add_actor add_actor
  213.   def add_actor(actor_id)
  214.     kjdh_add_actor(actor_id)
  215.     $game_system.params_data = $game_party.all_params / 2 + 1
  216.   end
  217.   #--------------------------------------------------------------------------
  218.   # ● 角色离队
  219.   #--------------------------------------------------------------------------
  220.   alias kjdh_remove_actor remove_actor
  221.   def remove_actor(actor_id)
  222.     kjdh_remove_actor(actor_id)
  223.     $game_system.params_data = $game_party.all_params / 2 + 1
  224.   end
  225. end
  226.  
  227. class << Input
  228.   alias kjdh_update update
  229.   def update
  230.     kjdh_update
  231.     unless SceneManager.scene_is?(Scene_Battle)
  232.     if $game_system.gold_data != ($game_party.gold + 111) * 3 + 1555 ||
  233.         $game_system.item_data != ($game_party.all_item_num + 101) * 3 + 363 ||
  234.          $game_system.params_data != $game_party.all_params / 2 + 1
  235.           msgbox "数据校验失败!游戏无法正常运行!"
  236.           exit
  237.      end
  238.    end
  239.   end
  240. end
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
23
在线时间
1 小时
注册时间
2020-7-30
帖子
2
3
 楼主| 发表于 2020-7-31 14:15:08 | 只看该作者
流浪杰哥 发表于 2020-7-30 19:46
这个脚本嘛勉强只能糊弄下不怎么会用CE的,会用CE的人随随便便修改,这个脚本未经大幅度测试,可能存在一些 ...

我用一个全新的项目尝试了您的SCRIPT,但由于这个原因我无法启动游戏
"数据校验失败!游戏无法正常运行!"
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
8624
在线时间
1465 小时
注册时间
2012-6-6
帖子
349
4
发表于 2020-7-31 14:52:30 | 只看该作者
1nsane 发表于 2020-7-31 14:15
我用一个全新的项目尝试了您的SCRIPT,但由于这个原因我无法启动游戏
"数据校验失败!游戏无法正常运行! ...

留成空的,需要加入队友的话,用事件加入队友,如果还是不行的话,咱也无能为力,这个脚本可能起不了什么太大作用,勉勉强强糊弄一下小白,楼主也不要抱有太高的希望,如果楼主仍然执着于反修改作弊,那我还是建议楼主氪金找站内的大佬们定制你想要的效果。

回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-16 04:19

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表