九娱私改奇迹MU镶嵌装备的全面分析和可能存在的后果!

九娱!奇迹MU中国大陆官方代理,第九城市的子公司.无数中国奇迹MU玩家心中垃圾的代名词.

疯狂捞钱圈钱,服务器态度极差.各式各样的骗钱活动,服务器三天两头出问题.无视玩家的利益.搞的玩家怨声载道,无数玩家流向私服,台服,国际服.

自从九娱的奇迹MU更新到第四季后,更是变本加厉.为了捞钱圈钱九娱甚至干出了最为可耻的一件事,私改游戏数据.把本不该出现在游戏里的拥有5个镶孔可以添加任意属性的镶嵌装备给弄了出来.而其本质就是为了疯狂的捞钱圈钱.因为正常设置下的镶嵌装备与原来的套装卓越等装备比没什么优势,甚至可能还不如原来的套装好.9Y就无法在新装备上大捞一笔.经过这么一改再加上九娱卖镶嵌装备中使用了一系列无耻的骗钱手段,造成一套镶嵌装备不少于3000元人民币的最低成本.这仅仅是理论上的成本.由于九娱在其中大搞抽奖,合成的把戏,实际成本可能远远超过3000元.

下面我就从几个不同方面来分析下九娱私改的手段和可能存在的后果

9Y为什么改成5洞而不是6洞7洞?

说穿就是9Y只敢改改数据,不敢改数据库结构.奇迹MU是MSSQL数据库,会点的人猜都猜出是怎么回事情了.

说说白了是数据库里专门有个表是记录镶嵌装备的,由于韩国开发者把神羽弓定义成最多5孔.所以那个表的结构很好猜的,专门有5个字段是记录5个镶孔的.神羽弓5个字段全能写入数据.而其他装备第4,第5字段为空.

新装备一出,由于正统合法的新装备与原来的套装卓越等装备比没什么优势,甚至可能还不如原来的套装好.9Y就无法在新装备上大捞一笔.于是乎9Y就动起了改数据的脑筋.因为开发者最初定义的关系.除去神羽弓其他装备的第4,第5字段是空的.于是9Y的那几个三脚猫技术员通过外部ASP.NET页面来实现从外部修改奇迹MU的SQL数据库内的数据.简单来讲就是那个奇宝购买页面的操作.

所以也就导致了在奇宝页面购买打洞的新装备如果你在游戏里把属性洗了,第四,第五洞在游戏里是镶不上去东西的.因为游戏的程序代码里限制死了除神羽弓之外的镶嵌装备的第四,第五洞字段是不可写入数据的.

如果要给神羽弓也加孔,那么势必要破坏那个表的结构,要给那个表加字段,才可以实现第6,第7孔.9Y作为代理恐怕没这个胆子改擅自修改数据库结构.

另外还游戏的源代码对镶孔属性的读取执行语句里只能是读到第5个镶孔字段为止.第6,第7孔字段韩国人都没做源代码里怎么可能会有.改源代码这种事先别说9Y有没有那个胆了,就9Y那几个三脚猫技术能不能改都成问题.

话说来,要不是韩国佬把神羽弓的孔数弄的和别的装备不一样也就没9Y私出第4,5孔这挡子事了.

如果镶嵌装备和其他装备韩国人是用一个表来定义的,那完蛋...........

那就是说镶嵌装备还有八个字段是空的,两个字段是PVP属性,6个字段是卓越属性.

如果哪天现在的打孔赚不到什么钱了,9Y就会把手伸到那8个字段上去.已经有了第一次就会有第二第三次,这样不远的将来就会出现带PVP属性的卓越全属性镶嵌装备了.好像有些私服已经有这种东西了.

到时候,呵呵....................真TMD要日9Y的祖宗了.

另外造成目前出现私改出来的BT镶嵌装备的根本原因有二点.

其中之一无可非议的是9Y利欲熏心,为赚钱不择手段.丝毫不考虑游戏的实际平衡性.

另外还有更重要的一点是奇迹MU的韩国开发技术人员偷工减料造成的.如果韩国方面的源代码编写者能够把代码写的严谨一点,强壮一点,也就根本不会出现现在的局面.

我在这里可以大胆假设一下,镶嵌装备的5个字段里的数据很可能是0-27的数字.因为荧光石一共是27个种类.除神羽弓之外其他装备4,5字段是0或者空.

那么实际代码在执行的时候韩国开发者仅仅是用镶嵌字段里的数据来做语句来做判断.学过简单编程的人应该看的懂下面的语句.

Select Case 镶嵌字段1内数据
       Case 1
            执行(根据等级)增加攻击力/魔法攻击力
       Case 2
            执行提高攻击速度
       Case 3
            执行提高最大攻击力/魔法攻击力
       .........
       Case 27
            执行强化物品耐久
End Select

Select Case 镶嵌字段2内数据
       Case 1
            执行(根据等级)增加攻击力/魔法攻击力
       Case 2
            执行提高攻击速度
       Case 3
            执行提高最大攻击力/魔法攻击力
       .........
       Case 27
            执行强化物品耐久
End Select

............

Select Case 镶嵌字段5内数据
       Case 1
            执行(根据等级)增加攻击力/魔法攻击力
       Case 2
            执行提高攻击速度
       Case 3
            执行提高最大攻击力/魔法攻击力
       .........
       Case 27
            执行强化物品耐久
End Select

韩国佬仅仅用类似的一次简单判断来执行镶嵌装备属性读取运算,至于是武器还是防具,是5孔还是3孔,镶孔内的属性是否重复全部不做判断.当然实际上韩国在别的地方还是判断的,在
游戏中通过幻术园的荧之石研究员进行镶嵌的时候是判断的.韩国人认为在那里判断一次就够了.以后就用不着判断了,所以导致9Y的私改可以实现效果.

如果韩国写代码认真点,严谨点.不偷工减料少码几个字.用下面这段来读取镶嵌装备属性

if 装备="武器" then
   Select Case 镶嵌字段1内数据
          Case 1
               执行(根据等级)增加攻击力/魔法攻击力
          Case 2
               执行提高攻击速度
          Case 3
               执行提高最大攻击力/魔法攻击力
          (全部是武器属性编号防具编号不出现在该Select结构内)
    End Select
else
   Select Case 镶嵌字段1内数据
          Case 7
               执行提高自动恢复生命值
          Case 8
               执行提高最大生命值
          Case 9
               执行提高最大魔法值
          (全部是防具属性编号武器编号不出现在该Select结构内)
    End Select
end if

if 镶嵌字段2内数据<>镶嵌字段1内数据 then
   if 装备="武器" then
      Select Case 镶嵌字段2内数据
          Case 1
               执行(根据等级)增加攻击力/魔法攻击力
          Case 2
               执行提高攻击速度
          Case 3
               执行提高最大攻击力/魔法攻击力
          (全部是武器属性编号防具编号不出现在该Select结构内)
       End Select
   else
       Select Case 镶嵌字段2内数据
          Case 7
               执行提高自动恢复生命值
          Case 8
               执行提高最大生命值
          Case 9
               执行提高最大魔法值
          (全部是防具属性编号武器编号不出现在该Select结构内)
       End Select
   end if
end if

if 镶嵌字段3内数据<>镶嵌字段1内数据 and 镶嵌字段3内数据<>镶嵌字段2内数据 then
   if 装备="武器" then
      Select Case 镶嵌字段3内数据
          Case 1
               执行(根据等级)增加攻击力/魔法攻击力
          Case 2
               执行提高攻击速度
          Case 3
               执行提高最大攻击力/魔法攻击力
          (全部是武器属性编号防具编号不出现在该Select结构内)
       End Select
   else
       Select Case 镶嵌字段3内数据
          Case 7
               执行提高自动恢复生命值
          Case 8
               执行提高最大生命值
          Case 9
               执行提高最大魔法值
          (全部是防具属性编号武器编号不出现在该Select结构内)
       End Select
   end if
end if

if 武器名称="神羽之弓" then
   if 镶嵌字段4内数据<>镶嵌字段1内数据 and 镶嵌字段4内数据<>镶嵌字段2内数据 and 镶嵌字段4内数据<>镶嵌字段3内数据 then
      Select Case 镶嵌字段4内数据
          Case 1
               执行(根据等级)增加攻击力/魔法攻击力
          Case 2
               执行提高攻击速度
          Case 3
               执行提高最大攻击力/魔法攻击力
          (全部是武器属性编号防具编号不出现在该Select结构内)
       End Select
    end if
end if

如果是这样严谨的判断,那么九娱改数据库里的数据也没用,代码根本不给予执行.正因为韩国方面的程序员偷工减料,粗制滥造,仅仅在幻术园的荧之石研究员进行镶嵌的时候判断一次,才给九娱有机可乘之机.疯狂修改数据,疯狂的从玩家的口袋里捞钱,更为严重的是给他那么一改之前的所有套装卓越物品全部变成淘汰货.之前花了大量时间金钱的玩家到头来弄了一堆淘汰货.

也正因为韩国人偷工减料,粗制滥造.如果哪天九娱再次把手伸向镶嵌装备的那本该为0或空的PVP属性和卓越属性8个字段时,目前部分玩家所搞的5洞镶嵌装备将全部变成废品.

另外还有一种可怕的可能性存在,那就是如果哪天游戏里出现BUG.镶嵌装备合法的孔内出现不该出现的属性.而这种情况发生在韩服,那么韩国方面可能就要检查修正代码.在读取镶嵌装备属性时严格进行判断.那么目前部分玩家所搞的5洞镶嵌装备同样将全部变成废品.就韩国人写代码一贯偷工减料,粗制滥造的态度.难保哪里有BUG可以给武器第一孔弄防御属性什么的.所以这种可能性也同样存在.

PS:以上所有代码均为用ASP语言进行的原理演示,与实际奇迹MU源代码无关,也不可能有关,呵呵!!!
本文出自 7j45 > 奇迹一条龙