csol灾变吧 关注:20,971贴子:769,475
  • 5回复贴,共1

【更正】关于紫肥机制

取消只看楼主收藏回复


刚才的帖子确实存在谬误,因为这一句代码一开始没看懂,被我忽略了:

这一句的含义是:杀怪数不应少于30....
这么重要的代码,居然被我忽略了


IP属地:广东1楼2021-08-12 22:36回复
    所以重新总结如下:
    1.第一次判断是否出紫肥是第一次触发怪线以后30秒(半分钟),如果你不触发第一条怪线,显然永远不会出紫肥;(此项是每一个场景而言,如果过关读图了,那就不应算你踩过怪线)
    2.第一次判断是否出紫肥时,无所谓是不是刷满39只小怪,但是房间总杀敌数必须多于30,如果一直杀怪数不超过30,则永远不会出鹿泉亲妈;
    3.第一次判断,出紫肥的概率为9%(这里也改了,为什么是这样我等下楼下讲);
    4.如果第一次判定不出紫肥,则第二次判定概率+1%,往后每一次判定以此类推,直到出紫肥为止;
    5.第一次判定后,每次判定间隔30秒;
    6.从判定是否出第二只紫肥开始,概率公式如下:(此处为什么是这样同第三点,楼下会讲解)
    ① 第二只到第十一只紫肥,出紫肥的概率为5%;
    ② 第十二只到第第二十一只紫肥概率为4%;
    再往后出会不会变成0有待考证..


    IP属地:广东2楼2021-08-12 22:37
    回复
      上层之所以与之前发的帖子概率改了,是因为我发现之前那个模型有错误,具体如下:

      这里看起来就是一个普普通通的随机数概率判定对吧,棒子设计的也满理想的
      但是问题是,我发现他上面那句代码:
      cvtdq2ps xmm0,xmm0
      这个是sse2的指令,意思是把int转换成float,也就是说xmm0永远是整数
      那你拿一个整数和一个小数比大小,那和你把小数去掉小数化成整数有什么区别?
      ***醉了


      IP属地:广东3楼2021-08-12 22:37
      回复
        最后说明一点,这个是用这个版本的steam服测试的
        不是最新版本,而且国服是否和steam完全一样我也无从得知,但是我个人不太相信那群懒狗会去改这个挺复杂的东西


        IP属地:广东4楼2021-08-12 22:37
        回复
          另外把之前写的ceaa复制过来:
          另外,秉着共享的精神(其实是因为紫肥过于恶心),我干脆分享一个ceaa,你们可以如果谁在玩新版本的私服的话,可以考虑用这个脚本屏蔽掉紫肥,当然最好是你用od或者ida直接编译到dll里,当然工程量不大,你直接用notpead++改也可以,这样的话就不用每次启动还开ce
          下面ceaa(理论上可以用于2.4以后任意版本),你自己去导入,严禁用于官服:
          [ENABLE]
          aobscanmodule(aobLouisMa,mp.dll,33 C0 8B 0D * * * * BE 01 00 00 00 )
          registersymbol(aobLouisMa)
          aobLouisMa-E:
          db 90 E9
          [DISABLE]
          aobLouisMa-E:
          db 0F 86
          unregistersymbol(aobLouisMa)
          {
          // ORIGINAL CODE - INJECTION POINT: mp.dll+6C5AD8
          mp.dll+6C5AA1: 83 F8 0F - cmp eax,0F
          mp.dll+6C5AA4: 0F 85 AE 02 00 00 - jne mp.dll+6C5D58
          mp.dll+6C5AAA: A1 D8 7B 59 41 - mov eax,[mp.dll+1627BD8]
          mp.dll+6C5AAF: 80 B8 2C 02 00 00 00 - cmp byte ptr [eax+0000022C],00
          mp.dll+6C5AB6: 0F 84 9C 02 00 00 - je mp.dll+6C5D58
          mp.dll+6C5ABC: F3 0F 10 87 14 01 00 00 - movss xmm0,[edi+00000114]
          mp.dll+6C5AC4: A1 64 7A 59 41 - mov eax,[mp.dll+1627A64]
          mp.dll+6C5AC9: F3 0F 58 05 18 DD 2C 41 - addss xmm0,[mp.dll+135DD18]
          mp.dll+6C5AD1: F3 0F 10 08 - movss xmm1,[eax]
          mp.dll+6C5AD5: 0F 2F C8 - comiss xmm1,xmm0
          mp.dll+6C5AD8: 0F 86 7A 02 00 00 - jbe mp.dll+6C5D58//将这一句改成jmp
          mp.dll+6C5ADE: F3 0F 11 8F 14 01 00 00 - movss [edi+00000114],xmm1
          // ---------- INJECTING HERE ----------//检索的特征码
          mp.dll+6C5AE6: 33 C0 - xor eax,eax
          mp.dll+6C5AE8: 8B 0D 64 7A 59 41 - mov ecx,[mp.dll+1627A64]
          mp.dll+6C5AEE: BE 01 00 00 00 - mov esi,00000001
          // ---------- DONE INJECTING ----------
          mp.dll+6C5AF3: 89 45 FC - mov [ebp-04],eax
          mp.dll+6C5AF6: 39 B1 90 00 00 00 - cmp [ecx+00000090],esi
          mp.dll+6C5AFC: 7C 49 - jl mp.dll+6C5B47
          mp.dll+6C5AFE: 33 FF - xor edi,edi
          mp.dll+6C5B00: 56 - push esi
          mp.dll+6C5B01: E8 B7 09 96 FF - call mp.cronoboteffect+1E
          }


          IP属地:广东6楼2021-08-12 22:47
          收起回复
            另外,高达图BOSS关刚才有人问我我去看了一下,不知道为什么,第一次出机甲以前他是会出紫肥的,出机甲以后就不会出了,call他都没用,懒得看代码了,你们知道就行了


            IP属地:广东来自Android客户端7楼2021-08-12 22:55
            回复