00002贪婪洞窟.001

地牢类游戏我喜欢的有不少,比如《厕所穿越记》、《地下城冒险》等等,以及这次的研究对象《贪婪洞窟》。

从玩法上来说,《贪婪洞窟》不够上进,刷多了就显得单调、腻人。在那么几次更新中,除了“梦境”之外,都是相同模式下、内容的单调增加。即便是梦境,也只是“一条命看你能闯到多少关,然后给你个排名”的无聊游戏,玩法和主线还是一模一样的。我要看看能不能修改它,如果能,就再看看能修改到什么程度。我个人的愿念,不仅仅是平衡性(比如主角属性、水晶、装备属性等)上的修改,更是玩法上的变更、完善(当然,如果可行,这将是一项比较耗时的操作,我不会一次性完成并给出文章,将会不定时更新。大家可通过标签分类“贪婪洞窟”查看)。

闲话不多说,进入正题。

要想修改游戏,首先就得拿到游戏。在电脑时代,这是个笑话:都玩上游戏了,还能没拿到游戏?你以为你在虚拟桌面么?安卓游戏还好,网上应当比较好找。苹果比较麻烦,手机越狱了可以找找越狱版的,修改完直接越狱安装。那没越狱的怎么办?对于iOS8.3以下,可以通过iTools、PP助手等的备份程序功能,导出游戏程序;iOS8.3及其以上,通过iTune备份+iBackupBot也应当能够提取出游戏程序。另外,还可以通过iTunes直接在AppStore中下载游戏程序。游戏修改后,如何在非越狱机上安装呢?如果你有一台Mac电脑,可以通过Xcode进行安装。如果你有一台Windows电脑,则通过PP助手5进行安装。获取程序和安装程序的具体操作过程,此处不赘述,如有问题,请自行解决。

拿到的游戏程序文件,安卓的是一个apk,苹果的是一个ipa。它们都是压缩包,用WinRAR之类的解压出来即可。我们将文件修改后,替换掉原文件即可。对于apk,需要重新打包(有些游戏会对签名进行验证,重新打包的就无法正常游戏了。对于这类游戏,就得找到验证的代码,看能不能破解掉)。对于ipa,重新压缩打包好像有问题,不过可以用WinRAR直接替换掉ipa中的原文件(而不要解压再压缩)。

以下开始正式讲解贪婪洞窟的修改,以iOS上的1.5.0版为基础,而非最新版。

解压ipa后,打开到Payload\Cave iOS CN.app\,可以看到里面有很多文件和文件夹。文件有mp3、json、pvr.ccz、atlas、plist、png等类型:

如果对游戏开发有所了解,那么就可以很容易看出那些含有bundle的文件夹是第三方开发包,这个没什么好弄的;含有lproj的文件夹(比如de.lproj、en.lproj等)是语言包,也没有什么好弄的;_CodeSignature从名字上看是大概是数字签名之类的,还是没什么好弄的。

好了,文件就这么全过滤掉了,下面看看文件。

Mp3和png显然不是我们关心的重点。名称相同的pvr.ccz、plist组合为一个整体,是TexturePacker生成的图像,已被加密(在研究过程中虽然顺手拿到了密码,但我是不会公开的,也别找我要)。名称相同的json、atlas也组合为一个整体(具体使用时还要加上刚刚说的pvr.ccz图片),构成spine动画。有个_vungle.db,这是一个sqlite数据库,但也属于一个第三方SDK中,暂时不用管。经过这么过滤,还剩下一些单独的plist文件和为数不多的几个文件:PkgInfo、README.txt、key_words.txt、LICENSE、Cave iOS CN、Cave iOS CN.entitlements等等。Cave iOS CN是游戏的可执行程序(相当于Windows中的exe文件);key_words.txt是要过滤的关键字(一些伟人的名字是不能乱说的、脏话也是不能乱讲的)。其他的PkgInfo等看起来就不像游戏的配置或者逻辑。这样一来,也就剩下那些单独的plist文件了。好吧,其实如果对苹果开发有点了解,我们就会知道plist叫做属性列表文件,和Windows中cfg、ini等配置文件差不多,便会首先定位到它们。

继续分析plist,就看看名称,就不难发现里面有一些是用来定义界面(名称中包含ui)的;还有一些是系统的。剩下的便是我们所关心的。

打开plist看看。

Plist有好几种格式,二进制的、文本的、xml的。后两种都可以用文本编辑器打开,但很难看。Xml还可以用xml工具打开,同样很难看。二进制的,很不幸,需要使用xcode或其他专用工具打开。如果使用Xcode打开的话,非常直观,比如成就表:

上图中的第一项,210004大概是成就的id,它的子条目,名称具有很好的可读性,让我们很容易就知道要改啥了。Des、name之类的值是一串数字而非明文的描述性文本,这是为了方便本地化,那串数字是语言包中的id。

经过一定的研究,发现各plist文件的作用如下:

l        achievementAttribute.plist:成就

l        battleRewardEquipments_dl.plist:梦境奖励

l        battleRewardItems_dl.plist:梦境奖励

l        crystalBox.plist:开水晶箱子所需的水晶数目

l        drama.plist:故事碎片(地牢捡起的那些纸张,可在背包-)日志-》故事中查看)

l        dramaCatalogue.plist:故事分类

l        equipmentAttribute.plist、equipmentAttribute_dl.plist:前者是主线中的装备属性、后者是梦境的

l        equipmentZone.plist:各等级+0装备的基本属性随机范围

l        face.plist、face_2.plist:创建角色时捏脸用到的眼睛、头发之类的

l        guide.plist:操作教学

l        happyClub.plist:某种充值活动?奖励

l        heroAttribute.plist、heroAttribute_dl.plist:

l        itemsAttribute.plist、itemsAttribute_dl.plist:物品

l        level_1.plist、level_1_dl.plist:普通难度地牢生成规则。后者为梦境

l        level_2.plist、level_2_dl.plist:噩梦难度地牢生成规则。后者无效

l        level_3.plist、level_3_dl.plist:地狱难度地牢生成规则。后者无效

l        levelReward.plist:爬塔(到达地牢指定层)奖励

l        LocalString_zh.plist:简体中文语言包

l        makeRuneLimit.plist:各层地牢生成符文的数量上限

l        mapConfig.plist:???????????

l        mapElement.plist:???????????

l        missionAttribute.plist:任务

l        monstersAttribute_1.plist、monstersAttribute_1_dl.plist:普通难度下的怪物属性。后者为梦境

l        monstersAttribute_2.plist:噩梦难度下的怪物属性

l        monstersAttribute_3.plist:地狱难度下的怪物属性

l        playerNames.plist:创建角色时的随机名称列表

l        pointMax.plist:一些属性的极限值(未具体研究,不知道用在哪里)

l        pointShop_dl.plist:梦境积分商店

l        prizePoolAttribute.plist、prizePoolAttribute_dl.plist:奖池(用于怪物的掉落列表等)

l        purchasePresent.plist:首充奖励

l        rareMonster_1.plist:普通难度精英怪生成规则

l        rareMonster_2.plist:

l        rareMonster_3.plist:

l        secretshop_1.plist:普通难度时的老婆婆商店

l        secretshop_2.plist:

l        secretshop_3.plist:

l        shopincave.plist、shopincave_dl.plist:地牢商店

l        skill.plist:人物技能

l        skillEffect.plist:

l        skilllvup.plist:

l        suitSkill.plist:物品技能

l        TestConfig_Cave.plist:正式版改了会生效么?

l        TestConfig_Town.plist:正式版改了会生效么?

l        treasureAttribute_1.plist、treasureAttribute_1_dl.plist:怪物、密室、钱包、箱子掉落(可能掉落的物品列表和几率在prizePoolAttribute中定义)

l        treasureAttribute_2.plist:

l        treasureAttribute_3.plist:

l        triggerObject.plist、triggerObject_dl.plist:陷阱

l        triggerType.plist:

l        turntableAttribute_1.plist:普通难度时的转盘

l        turntableAttribute_2.plist:

l        turntableAttribute_3.plist:

l        turntableBingoAttribute.plist:转盘转满指定次数时的奖励

l        updatePurchase.plist:老婆婆商店中的3种药水(未具体研究,不保证)

l        upGrade.plist:强化装备时装备附加属性的提升值

l        upGrade_base.plist:强化装备时装备基本属性的提升值

TestConfig的内容如下:

上述内容可能有所遗漏甚至错误,欢迎大家指正。

习惯性吐槽CSDN:我只想从MS Office Word中Ctrl+C,在html编辑器中Ctrl+V,希望能够保留Word中的格式(图片和OLE内容另计),这个功能啥时能够实现?



00002 贪婪洞窟.001相关推荐

  1. 00002 贪婪洞窟.003

     00002 贪婪洞窟.003 我玩贪婪洞窟的时间不多,对其的了解也不多,对其配置文件的研究也只是走马观花,因此,一些设想可能根本就无法实现.而且本人只有半瓶水的水平,又有点急性子,难免出错.遇到 ...

  2. 00002 贪婪洞窟.003.3:物品

     00002 贪婪洞窟.003.3:物品 <贪婪洞窟>中的物品比较简单: id 名称 rare level mpcost des 90010 逃脱卷轴 1 1 0 离开洞窟 90020 ...

  3. 00002 贪婪洞窟.003.6:怪物、宝箱和掉落

     00002 贪婪洞窟.003.6:怪物.宝箱和掉落 怪物的定义在monstersAttribute_X.plist中,各个字段都很容易理解.唯一要说明的是那些攻防属性,它们都是拥有2个元素的数组 ...

  4. 00002 贪婪洞窟.003.2:技能

     00002 贪婪洞窟.003.2:技能 在"00002 贪婪洞窟.003"中只是列出了技能的简要描述.这次我们试着找出技能的具体效果和相关的plist字段的作用.当然,我只研 ...

  5. 00002 贪婪洞窟.003.5:地牢商店

     00002 贪婪洞窟.003.5:地牢商店 地牢商店在shopincave.plist中定义.格式如下: { 6001= { 1= { gems= 1; itemId= 10030; num= ...

  6. 00002 贪婪洞窟.003.4:地牢生成

     00002 贪婪洞窟.003.4:地牢生成 每层地牢由程序根据一定的规则随机生成.生成选项包括:地图大小.普通怪物数量.精英怪物数量.符文数量.密室.箱子.点金.附魔等等. 地图大小.怪物.箱子 ...

  7. 00002 贪婪洞窟.003.3:装备

     00002 贪婪洞窟.003.3:装备 装备表的结构比物品表稍微复杂一点.为方便说明,特意找了一个套装部件(科恩的神奇面具): 20410= { speed= 0; "suit_des ...

  8. 系统服务器异常0,贪婪洞窟云服务器异常0

    贪婪洞窟云服务器异常0 内容精选 换一换 获取云服务器列表.GET /v2/cvr/servers状态码为200时响应Body参数参数参数类型描述countInteger云服务器数量.serversA ...

  9. 贪婪洞窟2服务器维护,《贪婪洞窟2》11月30日更新维护多久 贪婪洞窟2更新维护公告...

    原标题:<贪婪洞窟2>11月30日更新维护多久 贪婪洞窟2更新维护公告 斗玩网(d.chinaz.com)报道:<贪婪洞窟2> 11 月 30 日更新维护多久?一起来看看贪婪洞 ...

最新文章

  1. 深入剖析防火墙策略的执行过程
  2. 测量ATMEGA8单片机IO口的输入输出内阻
  3. 360 与QQ 互掐 受害的却是用户
  4. 对话推荐系统_RSPapers | 对话推荐系统论文合集
  5. Transformer模型深度解读
  6. firefox-Developer开发者站点——关于Object.create()新方法的介绍
  7. 奔小康赚大钱(HDU-2255)
  8. mysql数据备份数据解决方案_MYSQL数据备份解决方案
  9. hdu 1099 Lottery
  10. 拓端tecdat|R语言中的Nelson-Siegel模型在汇率预测的应用
  11. HBase权威指南(百度云免费下载)
  12. Python 图片压缩
  13. 百度地图坐标转换及跨域
  14. 计算机网络无法连接共享打印机驱动,Windows 10 安装网络共享打印机失败,提示0x00009c4a 无法连接到打印机解决办法...
  15. python迷宫地图代码_python实现的生成随机迷宫算法核心代码分享(含游戏完整代码)...
  16. 翼支付个人账单查询接口
  17. 关于Node.js中内存管理的思考与实践
  18. c语言龟兔赛跑程序,c语言龟兔赛跑
  19. 布局练习——网易新闻
  20. HDFS 的权限管理不可怕,一篇文章搞懂它

热门文章

  1. K8s之Pod的健康检查
  2. oracle中怎么查看索引,查看oracle中表的索引
  3. python调用百度API实现中英文互译
  4. ArrayList的remove()方法解读
  5. 数据化分析简单实例——销售预测
  6. 事业单位人事招聘考务管理系统+功能介绍+HRSaaS软件系统服务平台+系统5.0版升级上线
  7. 花一分钟来看看Worktile是如何为团队协作而生的
  8. 微型计算机computer,《微型计算机》(Micro Computer)更新至2004增刊2004年24期
  9. ADO连接Access数据库,Access版本问题
  10. ipv6地址数中/32,/48,/64含义