当前位置:首页 > 技术分析 > 正文内容

《宝可梦》三代的时钟电路漏洞,会影响到游戏的方方面面?

ruisui8819小时前技术分析6

我们都知道,三代有一个时间的设定,游戏的一开始主角的妈妈就会叫主角去自己的房间里调时间,小二以前还小的时候不太懂这一个步骤的意义,而实际上这是因为三代引入了时间的相关概念,通过游戏开始的调整时间就可以确保游戏里的时间和现实的时间一致,但是,也就是因为这样的一个小小的程序,出现了三代比较有名的时钟电路漏洞,这个漏洞的延伸非常广,所以可能会分成比较多的篇章来写,那么,就让我们先来大致了解一下这个漏洞是怎样的吧。

PS:本文可能并不具有太大的严谨性,如有错误,敬请指正。

游戏运行了一年后会产生的漏洞:

此现象在游戏发售早期发生,只会在已经运行了1年以上的《红宝石/蓝宝石》中出现,漏洞会在游戏开始后第366天开始出现,具体的现象表现为即便时钟运作,以下事件依然不会随时间触发:树果的生长、每日刷新的随机事件、彩票的开奖、绿岭宇宙中心火箭成功发射的次数增加;但以下事件依然会正常触发:浅滩洞穴的潮汐、伊布进化为太阳伊布和月亮伊布。

漏洞产生的原因:

三代游戏卡使用精工S-3511石英晶振进行电路驱动,但此晶振电路无法获取真实的日期时间,其时间计算方式是由一串规则计算而来,时钟的运作只是一个“相对值”,类似石英钟,比如游戏卡的时钟电路启动后3小时(电路时间为2000年1月1日3时0分)玩家开始了新游戏,而玩家一开始在主角家中调整钟表的时间为上午12点(距离游戏内钟表默认时间上午10点相差2小时),并在此时报告,游戏会以此时作为“起始时间0时”开始计算游戏的经过时间,而在5天后的下午1点再开机并存档的时候,此时时钟电路的时间则是2000年1月6日4时0分,即便游戏实际只运行了1分钟,游戏存档的时间戳记录的时间仍然是5天1小时。如果在此时种下一颗橙橙果,而第三世代中橙橙果的成熟时间是12个小时,那么时间戳会记录下这株橙橙果的成熟时间戳是“5天13小时”,当时钟电路走到“2000年1月6日16时”的时候,这株橙橙果便会成熟。

由于《红宝石/蓝宝石》中此函数的运算缺陷,时钟电路内的“2000年”的时候,存档的时间戳会忽略累计年份,导致时间戳如果在时钟电路的这两个年份内运作超过一个闰年到“第367天”的时候,漏洞会导致该日不会变为“第367天”,而是自动重置到“第1天”,游戏中当时间电路和存档时间戳会发生错位,而在“第366天”触发的周期性事件和种下的隔日成熟的树果,本应在“第367天”刷新和成熟,但由于时钟电路的“第367天”错误的变为“第1天”,因此所有事件的刷新和树果的成熟将因为没有到达重置的时间而被冻结,直到366天之后,时钟电路进行到“2002年1月2日”之后,时间戳累积到“第367天”到来的时候才会解除。而游戏启动时时钟电路已经运行到2001年1月1日之后的报告则不会触发漏洞。

好了,以上就是这个漏洞的大致内容了,关于其延伸的内容我们就留着下一篇再说吧!

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/3989.html

分享给朋友:

“《宝可梦》三代的时钟电路漏洞,会影响到游戏的方方面面?” 的相关文章

冷库存储费管理系统——货架收费版

冷库存储费管理系统——货架收费版headerfooter《冷库存储费管理系统——货架收费版》是根据冷链存储的管理进行开发的一款软件,该软件操作简单,界面简洁。区别于其他同类软件的主要特点是:按所用货架个数及存放时间收费。软件界面设计简洁、美观、其人性化的管理可以使用户轻易上手,提升服务质量,提高工作...

「2022」打算跳槽涨薪,必问面试题及答案——VUE篇

1、为什么选择VUE,解决了什么问题?vue.js 正如官网所说的,是一套构建用户界面的渐进式框架。与其它重量级框架不同的是,vue 被设计为可以自底向上逐层应用。vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另外一方面,当与现代化工具链以及各种支持类库结合使用时,vu...

Vue.js 组件通信的 3 大妙招

在 Vue.js 中,组件化是其核心概念之一,允许你将复杂的界面拆分成多个独立的、可复用的组件。在构建大型应用时,如何高效地在组件之间传递数据和触发事件是非常重要的。Vue.js 提供了多种方式来处理组件间的通信,下面是最常用的 3 种方式:1.父子组件通信:通过 Props 和 Events在 V...

代码分支规范

一.gitflow工作流说明:主分支:master,稳定版本代码分支,对外可以随时编译发布的分支,不允许直接Push代码,只能请求合并(pull request),且只接受hotfix、release分支的代码合并。gitlab上做限制。热修复分支:hotfix,针对现场紧急问题、bug修复的代码分...

国产操作系统上Vim的详解03--安装和使用插件 | 统信 | 麒麟 | 中科方德

原文链接:国产操作系统上Vim的详解03--使用Vundle插件管理器来安装和使用插件 | 统信 | 麒麟 | 中科方德Hello,大家好啊!今天给大家带来一篇在国产操作系统上使用Vundle插件管理器来安装和使用Vim插件的详解文章。Vundle是Vim的一款强大的插件管理器,可以帮助我们轻松地安...

摄影后期必看 | PS插件camera raw 16.4教程 | 范围蒙版

范围蒙版Camera Raw 【蒙版】模块中提供了三个范围蒙版工具,可以通过特定的范围来创建蒙版。此次新增的【范围蒙版】大大加强了acr插件对局部调整的能力。点击下拉小箭头可以看到【颜色范围】,可用于快速选择想要编辑的颜色。快捷键:Shift + C【明亮度范围】,可用于快速选择想要调整的明亮度。快...