dota2吧 关注:6,432,481贴子:177,424,096

浅谈一下为什么点金BUG这么难修复

只看楼主收藏回复

点金素来就是容易出bug的一个物品,之前就有多个点金不共CD,3点金1刷新的蓝胖,后面又有过60块钱无限白嫖经验的末日(点金2200,点完怪九折卖出去亏60,然后买新的CD直接好了);最主要的原因就是之前的一个版本,哪个设计师突发奇想把点金做成了唯一一个有充能点数的装备。
其他的装备像BKB 刷新,用了一次之后进入CD,卖了再买还在CD中;点金默认买的时候就有一个点数,之前就一直存在卖了用完充能点的点金,然后买新的点金自带一个点数,但是成本太高,半价卖出,点个金160块,血亏940经济;但是后面大更新的天命技能和命石,出现了60块钱无限白嫖经验的末日。
我估计是当初修复末日点金bug的时候费了蛮大劲,让同一个英雄买的点金能够和自己之前的点金同步充能状态。但是还是低估了玩家的创造力,用完的点金扔地上,新买的点金触发了针对之前bug的修复,能够同步充能状态;然后储物栏和英雄的格子应该是两套独立系统(估计信使的格子也是独立的),而且充能的同步状态可能是以英雄格子为准,因为只有在英雄格子的点金才会有充能点数的减少。
最后从地上捡起原来的点金进英雄格子相当于进来一个新的物品,它应该又触发了之前末日那个bug'的修复,不过这一次同步充能状态的时候出问题了,搞代码的都知道,同一个对象被多次调用很容易出bug的。有人会说那一直把点金扔出去再捡回来不一样吗?那肯定不一样,每次捡到背包的点金都会刷新一下比较充能状态的对象,所以扔了捡每次都是只调用了一个比较对象。
这里的bug是储物栏新买的点金调用了用过的点金手同步状态,捡回来的点金又调用了自己来同步状态,这样多次调用出bug。要彻底修复这个bug,大概率要重新设计当初修复末日bug时候的改动,所以迟迟没有一个完美方案出来。万恶之源就是这个充能点数的设计,取消这个设计就能彻底解决所有问题,不过为了这个设计,估计当初是把点金手从装备代码里面给独立开来了,想要让他们把之前费时费力搞出的设计完全推翻那是很难了。


IP属地:北京1楼2024-08-28 15:46回复
    点金像魔晶一样只能买一个,第二个图标灰的直接没法买,游戏全局每个英雄只能买一次,身上不能同时持有2个点金(不论另一个是不是自己的,硬塞直接掉地上),就完事了。
    很难吗?


    IP属地:上海2楼2024-08-28 16:04
    收起回复
      2026-01-18 03:16:16
      广告
      不感兴趣
      开通SVIP免广告
      他这个机制就有点像打野的时候绿鞋放在地上一个样。


      IP属地:内蒙古来自Android客户端3楼2024-08-28 16:52
      回复
        V色:不想修复,我直接删除这个道具


        IP属地:陕西4楼2024-08-28 16:57
        收起回复
          点金改唯一完事 就是懒得改 也没多少人需要两个点金吧


          IP属地:江西来自Android客户端5楼2024-08-28 17:01
          收起回复
            确实是一个很难实现的代码,不仅不共享CD,而且还加了充能!


            IP属地:广东6楼2024-08-28 17:16
            回复
              这种的都好修复,他和刷装备没互动关联,一句代码的事


              IP属地:北京来自Android客户端9楼2024-08-28 18:24
              回复
                从来就没修过末日点金吧


                IP属地:山东来自Android客户端10楼2024-08-28 19:11
                回复
                  2026-01-18 03:10:16
                  广告
                  不感兴趣
                  开通SVIP免广告
                  这种是最基本的测试用例吧,这种实现也不难,改了没认真仔细测试是这样的


                  IP属地:广东来自Android客户端11楼2024-08-28 19:28
                  回复
                    点金卷轴进野区商店。


                    IP属地:上海来自iPhone客户端12楼2024-08-28 19:51
                    收起回复
                      买了不能卖就行,就跟当年bkb一样


                      IP属地:山东来自Android客户端13楼2024-08-28 21:50
                      回复
                        但是点金改成充能点真的很好,再也不用担心亏点金了,方便很多


                        IP属地:江苏来自iPhone客户端14楼2024-08-28 22:31
                        回复
                          屎山代码啦
                          我们就几个类型的产品做校验 已经搞了好几个属性 套了好几层for if了


                          IP属地:江苏来自iPhone客户端15楼2024-08-28 22:50
                          回复
                            每个英雄就第一次买的时候有一个充能,其他时候都是共享 cd 不就好了。


                            IP属地:江苏来自Android客户端16楼2024-08-28 23:39
                            回复
                              2026-01-18 03:04:16
                              广告
                              不感兴趣
                              开通SVIP免广告
                              nnd我昨天玩蓝胖正常出点金还遇见bug了,两层充能的点金我死了复活出来点了一下直接120秒cd了,我看着剩下的那一层充能陷入了沉思


                              IP属地:北京来自Android客户端17楼2024-08-29 01:26
                              回复