jackhf吧 关注:10,234贴子:35,394

从代码角度分析对游戏的理解 + Cheating slave 技能经验

只看楼主收藏回复

@巨蟹座生哥 的需求, 开个新帖, 具体讲数值的hacking
系列第二弹
请确保在理解游戏代码的情况下才可进行对自己的qsp文件更改,避免改着改着把存档改坏了(x)
上一篇文章在7569864310,两篇文章同步进行更新中
nekopara镇楼~


IP属地:上海1楼2021-10-12 01:11回复
    大概今日早上10点之后或者明天下午2:40之后更新, 先睡觉去


    IP属地:上海2楼2021-10-12 01:13
    回复
      来辣
      下面先上变量寻找思路

      这是master的面板, 我们可以从悬停状态中看到一些不会变动的单词
      这里选择Brand Status, 进入Qsp搜索关键词

      我们发现该字段赋值给$atr_name['brand_reputation'], 那如果要在文本中引用, 必定将是<<$atr_name['brand_reputation']>>的字符串形式出现
      Qsp编辑器不支持正则表达式 所以我们只能猜测其索引是一个变量(废话) 然后以 <<$atr_name[' 的字段进行下一步搜索


      IP属地:上海3楼2021-10-12 10:55
      回复
        打错了, 应该搜索的是 <<$arr_name[ 或者 <<$arr_name[$ 而不是 <<$arr_name[' 因为这样会找到静态调用, 可能会跑到demo去(确信)


        IP属地:上海4楼2021-10-12 10:59
        收起回复
          我们找到长得比较像的关键函数辣!
          名为$addon, 形如:

          然后搜索 func('$addon', 字段样找到了许多调用口, 最像的一个是 master_stat (Action名就长得很像)
          这是其中最关键的调用口, 请注意, 这是直接写html代码进入引擎的

          ...那么找到这些之后我们要干什么呢?


          IP属地:上海5楼2021-10-12 11:06
          回复
            先进行测试更改, 更改除变量以外的部分(常量)
            例如这个 'Brand Status' 改为 'Status of brand'

            重载文件, 发现该位置已经更改


            IP属地:上海6楼2021-10-12 11:14
            收起回复
              之后我们转到变量分析的部分 ~~ 请系好安全带
              我们定位到
              $tooltip_text = func('$addon', 'no_rate_stat_tooltip_text', 'brand_reputation', brand_reputation, 1)
              这行代码, 其中func('$addon'的参数为:
              args[0] = 'no_rate_stat_tooltip_text'
              args[1] = 'brand_reputation'
              args[2] = brand_reputation
              args[3] = 1
              下一句话就将其打印在屏幕上: (包含其说明的判定一起,早期代码比较简陋)
              *nl '<a class="tooltip-right" tooltip-data="<<$tooltip_text>>" href="EXEC: msg $brand_chart & $info_text = $brand_help & gt $curloc"><<$brand[brand_reputation]>></a>'
              翻阅func('$addon' 源代码:

              ahhhh好吧这家伙只是个显示悬停的颜色而已....
              那么等级到底在哪里呢? 答案是$brand[brand_reputation]
              于是:


              改动完成


              IP属地:上海7楼2021-10-12 11:35
              回复
                你以为这样就结束了
                --吃完饭回来更


                IP属地:上海8楼2021-10-12 11:37
                回复
                  根据上面的改动, 你会发现仅在看分数的时候会"假装"变为最高的brand_reputation等级
                  但是在和客户谈话的时候你又变为炮灰了 ( 通过调试查到 )
                  这是因为原始数据brand_rate并未改动, 而在每次对话开始时会重新判定你的brand_reputation等级
                  逻辑见下图


                  IP属地:上海9楼2021-10-12 12:44
                  收起回复
                    啊框错了, 应该是231~236这几行


                    IP属地:上海10楼2021-10-12 12:45
                    回复
                      为此, 为了维持一个高位的印记等级, 你必须要赶在 gs '$calculate_attributes' 前维持你的brand_rate也就是你的印记"率"
                      可以参照下列标准 ( 来自Action # variative ):
                      brand_rate_cap[0] = 5
                      brand_rate_cap[1] = 10
                      brand_rate_cap[2] = 20
                      brand_rate_cap[3] = 40
                      brand_rate_cap[4] = 80
                      依照判定, 你可以选择直接定到80
                      因此我们可以在原本修改的位置写上:
                      brand_rate = 80
                      进行赋值
                      --接下去晚上更,上课去


                      IP属地:上海11楼2021-10-12 12:50
                      回复
                        首先感谢楼主!那么如何做到主人给下属上一课技能升一级呢?据说满技能S+的主人给满智力的下属上一课经验值是5,怎样能做到主人上一课,下属技能经验值涨80呢?以前有个人说他把公牛戒指该成满技能的,做到了主人给上一课下属技能就升一级。但是具体怎么该的他也没讲。


                        IP属地:辽宁12楼2021-10-12 18:30
                        收起回复
                          我只能做到把一件服装改成这样,上一课经验值7或8。想要经验值80还得改文件内容但是方法未知。


                          IP属地:辽宁13楼2021-10-12 18:51
                          回复

                            我本以为这个就是技能S++后的经验值,我把7改成80却没效果。


                            IP属地:辽宁14楼2021-10-12 18:55
                            收起回复
                              给资源被封了一天....已深刻反省
                              先在这里注明一下: 本吧杜绝一切资源贴
                              (但是这有什么办法嘛别人又没办法把头探出wall外, 我也希望更多人玩)
                              晚上更新--
                              @巨蟹座生哥 不好意思这几天耽搁着了


                              IP属地:上海来自Android客户端15楼2021-10-14 09:50
                              回复