elona吧 关注:76,081贴子:1,131,328

回复:E+代码分析讨论

取消只看楼主收藏回复

【elosnack&Elona Me】基础操作篇1
统一下载地址 :https://pan.baidu.com/s/1bpqr5H9 代码备份见文件夹 00代码相关
先说说Snack,下好Snack后,打开Elosnack.jar或Elosnack.cmd

你需要读取存档文件夹和配置文件。(后缀名为snack)
配置文件这里推荐新人们使用前辈留下的整合版:E+ALL.snack
而存档文件夹就选中你想要编辑的存档文件夹就行,注意是选中文件夹,而不是打开文件夹。
这里有个小技巧就是你先用Win浏览器拷贝地址栏,然后粘贴到Elosnack里,就省得自己从根目录一层层点了。
如果一切顺利,你会看到这样的界面。

于是就可以对着说明开始自己改了。
最上方Index那里可以自己调编号,这适用于改cdata或inv这样需要给定不同角色or道具编号的数据表。
Snack的DIY方式也很简单。大家可以查看文件夹E+里面的txt文档照猫画虎。
LZ来介绍下最简单的那种。

搞定这四个后,拖动文件到根目录converter.cmd上。
如果顺利,会生成一个和txt大小差不多的elosnack-config.snack 配置文件。
如果你发现生成的配置文件大小近乎于0,甚至根本不生成,那么一定是你的姿势水平还需要提高(大雾)
生成以后按照上述方法读取就可以使用了。
Snack有两个地方特别好。
1 是DIY简单方便,可以和EXCEL等表格工具搭配使用,可以快速生成大量变量地址的说明和偏移量。更夸张一点,当你对想要了解的变量所知甚少时,甚至可以穷举法把数组中所有变量逐一列举,从而找到自己感兴趣的变量及其位置。
2 是可以拷贝结果。对着一个表Ctrl+A,Ctrl+C 然后直接放到Excel中 Ctrl+V,三次快捷键就可以把一个特制数组结果全部COPY到其他软件中,便于后续处理计算。后文中,就有许多重要应用都是基于这点的。


IP属地:湖南52楼2017-04-22 21:26
收起回复
    【elosnack&Elona Me】基础操作篇1-2
    统一下载地址 :https://pan.baidu.com/s/1bpqr5H9 代码备份见文件夹 00代码相关
    再来说Elona Me。这个可能大家相对比较熟了,因为吧里已经不止一枚教程贴,而且还曾有大神更新来着。
    https://tieba.baidu.com/p/2112429756 关于Elona_Me 道具修改的教程
    https://tieba.baidu.com/p/1115842371 使用elona me动态查看(修改)物品属性
    https://tieba.baidu.com/p/1115842371 打造自己的Elona ME 用Cheat Engine 快速查找ME基址
    内容丰富详实,搞得楼主都没啥好补充的了...
    ME类似CE等内存编辑器,优点就是方便,现玩现改。缺点嘛,就是不便导出结果进行后续计算处理。
    而DIY的方式也很简单,就是随便选中一项,然后单选框中想增加项就选ADD,删除就是DEL,改变就是MOD
    楼主的目的不是翻译,所以就此打住。
    需要说明的是,ME的内存修改需要找数据表指针(见上文第三篇查找基址)。
    对于E+原版来说,其实是不需要每次游戏更新版本都重找一次的。
    问题出在汉化版基于E+原版的变体涉及到反编译和再编译,这种经过二次加工的版本,才需要麻烦大家每次更新都要重新矫正指针。
    而如果大家阅读了51L基础理论理解了ME和Snack间关联以及两者对同一数据表编辑的本质后,再自行DIY也就不难了。
    用ME的好处是可以游戏中即时追踪各种变量,只要你设置好变量地址,那么想看其变动只要点刷新就好了。
    还有就是配合CE快速确认地址锁定数值,达到锁饱食等目的。
    但由于本文不是为了教大家修改,所以后续关于Me的应用几乎木有。
    而且相信不久以后,一个可以代替Me,名为HUD的中文神器就将在吧里面世,到时候大家应该就更不需要啦~


    IP属地:湖南53楼2017-04-22 22:03
    收起回复
      2025-05-24 18:53:01
      广告
      【Snack土法炼钢第一蛋】自定义角色信息面板。
      52L我们说过,Snack便于提取数据表信息,那么本篇的自定义角色面板表格就是基于此的一(tu)个(fa)应(lian)用(gang)。使用Excel是因为Excel的公式功能对数组的计算十分强大。
      那么从snack提取数据后,我们就可以在Excel中进行各种想要的计算。比如:
      1 对复数技能的自定义排序。(按等级/潜力/类型/库存/是否BUFF/自评重要度等排序)
      2 自定义潜力提醒。(结合等级,当前潜力,自定义重要度等共同决定)
      3 比较数据前后变化,便于了解这段时间养成的成果。
      4 魔法的强度,效果计算,技能的强度计算。(如开锁能力判定等)
      当然,土法炼钢,免不了各种凑合。本工具作用更多也仅是抛砖引玉,还请大家领会精神。
      最后能够自己动手丰衣足食,改出自己的风格才是最好的结果。
      使用流程:
      下载S&Cdata.snack 配置文件(注意是否是最新版)
      下载DIYUI.xlsx 自定义角色面板表格
      然后Snack走起...可以读取sdata和cdata两个表
      我们主要需要读取sdata,所以关掉cdata表

      然后Ctrl+A全选,Ctrl+C复制,
      在sdata表中蓝色左上角Ctrl+V粘贴数据,我们就完成了游戏数据在Excel的导入。(熟练以后也不算太麻烦)

      这里蓝色背底表示PC的数据,红色表示队友1的数据(默认喵神),绿色表示队友2的数据。(默认晴天娃娃)
      由于LZ目前只养了两只宠物,所以只做了这3个(其实还有紫色黑天使四个,但是实在养不过来了)
      回到Display表,大致可以分成4个区

      属性区和技能区顾名思义。
      设置区是对相关参数的一些设置,决定如何提醒玩家PC技能/属性/魔法潜力情况,以及对施法的一些影响。
      抗性区,就是可以帮着找找哪些抗性肉还没吃全。老司机应该用不到。
      OK,下面说说如何使用这个LowB的界面。
      【属性区】
      如果你选中B列,然后快捷键COPY到E列(注意用数值,而不是连公式一起COPY过去)就可以更新参考值
      具体操作是,选中B列,Ctrl+C,右键E列,在出右键菜单的时候按下v键,就可以只COPY数值。
      ←这个时候按v
      结果就是这样:

      这样下回再导入游戏数据后,就可以看出当前值相对于参考值的变化。
      作为生活流玩家,配合灵草套餐+哑铃看看自己角色一片绿油油的成长还是蛮欢乐的。
      有效等级就是附加了装备BUFF等当前有效属性,为什么楼主的LZ属性这么高?
      因为LZ改了一把八维+1200的神器防身...(等到脱手那天基本就算是萌新毕业了吧,远目)
      另外想要更新有效等级,需要提取cdata数据到excel中,方法同上,不再赘述。
      【技能区】
      最上方可以为角色改名。改后左边属性区也会自动改。

      然后各种(顺序逆序)排序点箭头就好了。
      按No.列排序是按照游戏顺序排列,当然这里完全可以随便排。
      潜能这里,有两种提醒方式。
      一种是在右侧设置区,大于上限的就是绿色√,介于之间就是黄色!,小于下限的就是红色×。
      另一种是自定义提醒,结合了当前等级,潜力,以及自定义重要度,不达标的就会在名称上用红底红字显示。
      什么,你问自定义重要度在哪里?
      请把N列和P列之间的O列取消隐藏,然后自行往上改就是了。
      越高就代表在更高的潜能状态就会提醒玩家注意。
      大部分没有填写的,就是默认重要度为0。每多一个重要度,那么潜能提醒阈值就会高20。
      另外设置区还有个全局重要度,对所有技能都有效,也是每重要度提升20提醒阈值。

      【设置区】
      呃,基本上都是类似的设置,属性,魔法上下限类似技能上下限。
      宠物这里,因为有训练费的存在,所以属性和技能统一共享同一判定。
      右上角的中文,可以点出下来菜单改为English英文界面(不过这里大多数人应该用不上吧2333)
      剩下的和魔法部分相关,因为楼主后来懒得完善了,所以也就不介绍了。
      【魔法表】
      由于E+魔法和技能养成机制很类似,所以LZ也做了Magic表来自定义显示魔法界面

      其中威力一列,是默认魔法增强附魔满值情况的,而魔法装备(中装备技能)是否成立,可以参考上面【设置区】
      施法成功率是cast rate。简单列举了是否有骑乘(Riding),是否是魔剑士职业(warmage)的情况。
      而消耗魔力则考虑了是否是法师职业。都可以在设置区设置。
      库存这里,需要玩家自行从Snack中提取库存数据到cdata表中相应的Stock三列中
      然后有两列的原因是可以把前者数值粘贴到后者上,从而比较库存的变化。
      这样可以看出哪些魔法目前库存最少,然后预约写书就是了。
      BOOK代表是否有书,0代表没书,1代表可以写书,9代表有书但是不能写
      剩下就没什么啦,记得调整阈值,然后看到名称变绿就狠狠练就好啦~
      @破殘 搞定收工~


      IP属地:湖南54楼2017-04-22 23:22
      收起回复
        【Snack土法炼钢第二蛋】获取废弃牧场的怪物编号
        之前在系列第一篇里谈到了实用合成通过Snack从废弃牧场读取怪物数据从而无脑计算合成路线。
        因为根据过往经验预料到帖子没什么人细看,所以偷了个懒没有写这方面教程。
        结果最近(好吧,其实已经快一个月前了)被小伙伴私信问了 @458739154
        现在终于有空把来龙去脉都介绍到,所以这里也就顺理成章的把这个应用也说明下吧。
        准备工作:原理和基础操作部分请参考51-54楼内容
        这里因为每个人的废弃牧场地图编号都不尽相同,而且不止一个。所以只介绍方法,具体配置文件就要靠大家自己做啦~
        在LZ自带的snack包里,user文件夹中有个H_Monster.txt文件,大伙儿可以根据需要在此基础上修改。

        这里大家唯一要修改的就是,地图编号307,那么怎么知道自己地图的编号呢。
        打开Me, 进地图。然后在Player 页面找到 Current Map 那个值就是你的地图编号。
        当然如果你只会用Snack,那方法也是类似的,啥都不会的话还是请从51L开始看吧。
        还有种简单粗暴的,进地图,存档,然后在存档目录下按修改时间逆序排列,
        最新的那个地图文件名就是你需要的。
        好了,总之,你找到了对应的地图文件,做好了snack配置文件。
        然后Snack之,复制粘贴到excel,从

        这里,到GeneCal.xlsx Sheet1表中E列粘贴

        然后J-K列就是由此生成的数据。(就是把每两行整合成同一行,给出每个怪物的编号和等级)
        这里我们在前一列和后一列添加了NO.和Position,用于人工标定这是位于哪个牧场(Position)的第几只怪物(No.)
        然后把这150行的I-L列数值粘贴到O-R列中,就实现了游戏数据到Excel的最终导入。
        (不过最好把之前O-R列遗留的数据删掉,以免影响当前数据)
        同理,把其他几个怪物牧场的数据同样粘贴到O-R列中(放在已有数据下面,别互相覆盖了),就大功告成可以开始无脑计算了。
        联动: https://tieba.baidu.com/p/4889518466 25L
        呃,因为这些都是LZ自用,所以对Excel的操作有一定要求,不怎么用这个软件的玩家肯定用起来会不太方便,LZ也很不好意思啦~还请大家多多包涵,熟悉熟悉就好了。
        顺便 @張飛易得 不好意思我浏览器有问题,私信都不能用(消息发布出去)。如果有问题下次请直接在帖子里回复我就好啦。 巫师其实就是法师职业,当初我玩英文版不懂汉化翻译,所以就把Wizard职业给直译成巫师了。


        IP属地:湖南55楼2017-04-23 00:13
        收起回复
          【论声望的重要性】
          源码版本:1.66CustomU
          测试环境:然而这回并没有测试
          承接本帖43L,这个白金币啊,实在是太重要了...想稍微培养下技能,几千白金币也是少不了的。
          但是呢,获得途径和数量实在是有限,十分有限!
          那么,怎么才能最高效获得白金币呢。
          LZ 大概翻了下,发现可重复获取白金币的手段,真的主要只剩平时做任务了。
          其他的方式:1. 剧情奖励太过一次性;2.击穿地城只给3太少;3.财富神雕像和神仆都被作者加了密,限时限量供应,杯水车薪; 4.其他还有啥楼主没想起来的,估计也是作用十分有限。
          那么任务白金币奖励和什么有关呢?对1.目前版本而言:
          1009 演奏任务固定1白金币
          1008 讨伐单一怪 和 1010 危机群体怪 随机给2-10白金币,公式为:
          白金币数量=limit(rnd(2 + 声望 / 20000), 2, 10)
          其他任务给1-3白金币,公式为:
          limit(rnd(1 + cdata(34, 0) / 10000), 1, 3)
          也就是说,30W声望,平均下来前一种每次给6.94枚,后一种每次给2.7枚。
          如果操作熟练的话,应该是比其他任何方式都要来的高效的。
          那么问题来了,刷高声望除了能获得更多任务白金币奖励,还有什么利弊?毕竟如果声望和地城难度挂钩刷高以后搞得出门寸步难行那就坑了对不对。所以在刷上去之前最好能稍微多了解下。
          LZ粗看了下大概有以下一些方面(水平有限不一定全,有误的话欢迎大家指出)
          高声望获取途径:
          1 击穿地城(大致增加地城等级水平的声望)
          2 宠物/PC竞技场每百连胜 (直接+2W)
          高声望优势:
          1 击杀金铃获得更多金币: 2500 + rnd(声望 + 1000) ,怪不得每次杀了金铃都给好多money!
          2 更高概率击穿地城小勋章奖励(1-3枚),概率为:rnd(声望 + 1) > rnd(100000)
          也就是10W声望以后,获得小勋章奖励的概率越为1-50000/声望。
          3 更高工资,声望对于工资的追加公式为:声望工资=limit(声望 / 10, 100, 25000)
          声望>25000后再额外追加(声望 - 25000) / 100 的金币
          呃...其实比起一只金铃也不是很多...
          高声望弊端:
          1 任务难度增加,对于中期常用任务影响为:
          1008 讨伐单一怪难度:rnd(地城最深等级 / 2 + 10) + rnd(声望 / 2500 + 1)
          1009 演奏任务难度:limit(rnd(PC演奏等级 + 10), int(1.5 * sqrt(PC演奏等级)) + 1, 声望 / 1000 + 10)
          1001 清理森林难度:limit(rnd(地城最深等级 / 2 + 10) + rnd(声望/ 500 + 1) + 1, 1, 80)
          呃,难度和怪物等级的关系涉及到角色生成机制,LZ目前并没有搞清楚...不过两者应该是成比例的。
          也就是说如果你觉得50难度的讨伐任务很轻松,那么80难度的讨伐任务应该也能做。大概...
          2 旅粮的价格(最高好像不超过800,不过也没啥人会买吧...)
          3 声望减少时减更多
          4 道德减少时减更多(未确认
          5 护卫任务的敌人等级 (反正LZ从来不做护卫,太低效)
          6 特殊访客NPC爽一爽时从PC处要求的金钱量...更多了(呃,碰到这种NPCLZ都是直接干掉的...)
          大概就是这些,好像也没发现什么了不得的弊端。
          于是宠物百连斩果断走起!


          IP属地:湖南56楼2017-04-25 11:18
          收起回复
            【Meの重大突破】中间变量基址与P2的对应关系
            ME的最主要优点就是可以方便追踪gdata,cdata,sdata这样的全局数组中任何变量,这个优点要归功于ME已经做好了各个指针间的对应关系。
            但是对于非以上各大数组中的变量,在ME已有的构架下似乎无法方便的给出其地址。
            最近跟小伙伴们讨论过程中,终于解决了这个难题。现将相关内容整理如下。
            [E+ ME已有基本指针关系]
            有过因版本更新而自食其力手动调整ME指针的童鞋应该了解,E+的各层指针关系对应如下:
            指针地址=>指针对应值
            0+修正1=>P1
            P1+修正2=>P2
            P2+修正3.1=>数组基址CS
            P2+修正3.2=>数组基址CA
            ...
            数组基址CS+修正4=>数组CS变量值
            修正1-4为各级偏移量(以下用10进制表示),其中,
            修正1要通过查找进程名来锁定其大致范围。修正2在主流版本中固定为44,一般不做变动。
            而修正3会随着二次加工(反编译+再编译)版本的不同而有所差别,
            这就是每次需要玩家逐个表一一手动校对的罪魁祸首。(也就是找到新版本的修正3.1;修正3.2...以此类推)
            但是这条也说明数组基址指针的地址,与P2是有固定对应关系的。
            修正4其实就是数组中各个变量与该数组基址的偏移量(offset)。对于一个单纯由整型(int)(←ME里大部分都是这样的)变量构成的数组。
            每相邻两个变量间地址相差4。因此数组中第k个变量的地址就是(从0开始,k=0代表第一个变量):
            数组(k)=数组基址+4*k
            一个很重要的发现就是:每个数组本身的地址,除了对应基址指针之外,数组基址偏移-12的地方也会储存着数组的基址。
            这个规律不仅适用于数组,同时也适用于中间变量的。(未验证所有数组和中间变量是否全部符合)
            同时,中间变量类似数组,也拥有自身的基址指针。
            因此,我们想要每次开游戏就找到中间变量的值,只要找到:
            P2+修正3=>中间变量基址
            中间变量基址=>中间变量值
            里面的修正3,就可以说是大功告成。
            那么下面以*号锁定目标为例,说明如何找到这一修正值。

            在代码中,记录*号目标的,是i@m187这一变量。显然这个变量并不是几个基本数组中的变量。
            想要找到其对应的指针,我们需要用CE改变*号目标来锁定。
            因为*号目标和cdata角色编号有关。比如0是PC,1-15是队友,16以后是其他冒险者。
            大致60以后是该地图其他NPC。
            那么只要清楚其编号,自然可以自如改变该变量从而锁定其地址。
            一般来说,我们最终会找到两个地址:

            这两个值其中一个就是i@m187,另一个是变量tc
            因此在*号锁定时,这两个值永远一致。所以我们暂时不去区分,找到其中一个基址指针位置即可。
            根据指针储存基址地址的特性。我们用16进制搜索022c4488

            可以看到两个结果。其中一个是指针,另一个就是我们提到过的,基址偏移-12所储存的基址地址。
            那么显然,16进制的488与16进制的47c相差12,所以第一个是基址偏移-12地址。
            而第二个,就是指针的地址。
            由此,我们得到了指针的地址,再通过其与P2值的差异,就可以获得 修正3。
            为了验证这一概念,我们可以在ME里增加两个基于P2的指针

            可以看到现在和上述两个地址是符合的。
            如果我们成功,那么重启游戏再次锁定该变量后,ME应该可以自动得到两变量的新地址。
            重启游戏,重新锁定,这是新的变量地址:

            而ME里给出的地址是:

            完全一致,搞定收工~


            IP属地:湖南57楼2017-04-25 20:21
            收起回复
              【未完成の魔改】提高大跌地出现概率&减少空间垂钓技能动画时间。

              看图说话。左边为修改后,右边为修改前。
              adata(32,gdata(20)) 代表地城类型,大于等于100为觉醒地城。gdata(20)代表当前地图编号。
              增加这个判定条件,是因为一般觉醒地城比较难打,专注战斗时很难顾及小妹妹事件。
              故排除大跌地出现在觉醒地城的情况。如果想刷小妹妹,可以专心在普通地城刷。
              由于 bdderu = limit(15 + gdata(810) * 2, 15, 35)
              改判定为 rnd(bdderu) <30 则可大幅提高大跌地生成概率。
              使用空间垂钓时,要以此进行4次判定。而每次判定都会类似钓鱼有个循环语句来随机消耗时间。
              那么把 /*await cfg_wait1 * 2*/ 这句注释掉。
              就可以大幅缩减动画时间。于是玩家就可以欢脱的在觉醒地城和怪物们单挑了(我们一群单挑你一个!)。
              因为未理清相关代码所有关系,顾简单整理如上。


              IP属地:湖南61楼2017-04-27 15:42
              收起回复
                【俺样の魔改】数据查看器v0.9
                功能:请参考本帖54L。
                下载地址:00代码相关/DIYUIV0.9.rar
                使用方式:
                0. 下载压缩包并解压hsptmp.exe到游戏根目录。
                1. 打开执行文件hsptmp.exe,读取任一存档。
                2. 按下F11后,将记事本中生成的数据COPY到DIYUI0.9.xlsx表格文件Custom表左上角中。
                3. 在Display表中即可查看结果。
                ⑨ 本MOD与E+1.66版完全兼容,玩家可在两者间自由切换存档。
                !!!重要提示!!!
                本MOD兼容1.66及之前全部E+存档,但旧版本存档会自动升级。
                为免不测,使用本MOD前请提前备份存档。
                欢迎小伙伴们使用围观,如果有好的建议或意见,还请不吝指教。
                功能更新:
                1 (3列)队友栏可通过下拉菜单方式自由选择想要查看的队友数据。

                2 数据采样时仅收录PC和当前队伍中存活的队友。
                3 左侧属性信心栏更新:①经验需求代表属性锻炼难度
                4 如果想要实现新旧数据对比,请将旧数据备份到Customold表中。
                5 cdata sdata数据载入方式已更新校对完毕。(魔法表未更新)
                [更新内容]
                V0.9
                1. 大幅简化数据收集方式。游戏中F11一键获取所需数据,复制到Excel即可完成导入。
                2. 实现全队友读取,实现下拉菜单自由选择队友数据。
                3. 属性信息列表增加生命力/法力等基本项。


                IP属地:湖南62楼2017-04-28 23:35
                收起回复
                  2025-05-24 18:47:01
                  广告
                  1.67新增削弱INIT机制
                  类似链接之网,属性和技能大于50.000时,每次除2处理。
                  然后重算属性和速度INIT。(生命力法力相关不变)
                  PC和宠物都是同理
                  定位可以找:sdata(cnt + 600, r1) = limit(sdata(cnt + 600, r1) / 2, 1000 * 50000, 1000 * 1000000)


                  IP属地:湖南63楼2017-04-29 12:06
                  收起回复
                    神族队友削弱机制
                    当NPC类型为:神,机械神,猫神,狗神和死灵神,
                    cdatan(2, rc) == "god" | cdatan(2, rc) == "machinegod" | cdatan(2, rc) == "catgod" | cdatan(2, rc) == "doggod" | cdatan(2, rc) == "undeadgod"
                    或者八维INIT+3*速度INIT>4000时,成为队友会被强制削弱(奇怪的是如果是牧场子代就不会被削弱,当然从道场带出来的神队友也不会)。
                    削弱时,等级/2处理。八维+幸运速度如果大于50,除5处理。(结果下限50,上限400)
                    技能除2处理,上限200。
                    然后输出提示:
                    1. 如果原始八维INIT+3*速度INIT>4000,则是:的神力被瞬间吸取了…。
                    2. 如果上述条件不满足,则是:之力的一部分被吸入世界的缝隙间了……。
                    OK,接下来就是屏蔽削弱机制,开始准备制作怪物表了。


                    IP属地:湖南64楼2017-04-29 13:00
                    收起回复
                      承接64L
                      想要获得全部怪物的数据。可以用精灵球召唤,配合怪物牧场储存。
                      每个牧场可以存150只。从1号商人开始,到目前902号。(1.66版),共需要6+个牧场。

                      快速生成的办法是。每次使用精灵球时默认精灵球怪物编号+1
                      位置大概在:
                      if ( _switch_val == 33 | _switch 以及 "This ball is empty."), "", "", "", "", "", 附近。
                      在角色生成语句 characreate 56, inv(23, ci), -3, 0 之前插入
                      inv(23, ci)++
                      即可实现。非常方便。从上图可见生成150个怪物只需要2-4分钟。
                      下一步便是提取这900号怪物的数据了。


                      IP属地:湖南65楼2017-04-29 16:15
                      回复
                        合成机制属性变化
                        当素材等级>宠物等级且素材不为CNPC时, if ( cdata(38, tc) > cdata(38, rc) ) {
                        宠物等级增加为int((素材等级-宠物等级)/2)+1
                        属性变化规则相对复杂一些:
                        首先将裸装八维换算成等级,依次储存在列表中,然后从小到大排序。
                        接下来从列表最末尾开始往前循环三次。
                        每次循环时如果素材该项属性大于宠物该项属性,那么宠物该项属性增加值为
                        属性增加量=属性差*5/等级增加量
                        属性差代表素材和宠物在该项属性上的裸装等级差,为正整数。
                        等级增加量,就是合成前后宠物等级变化量,亦为正整数,但是由下限2,上限10的修正。
                        属性增加量截取到后三位小数部分,且下限为1.000,上限为10.000
                        简而言之:
                        (1)如果素材出现复数同等级的第三位属性,那么后面的属性优先参与强化。
                        (2)属性增加量并非整数。多次合成后,偶可能积累的小数部分也足够让属性继续提升几个点。
                        (3)属性增加量并非严格等于属性差,但低等级素材合成效果明显更好。
                        好了,有了这部分代码整理后,1.66怪物表的准备工作也算是全部完成了w
                        最后附带一点记录。
                        类似CNPC中的格斗强度,每个角色可以选择一种属性作为格斗附加属性伤害。这个值是储存在cdata(230中的。

                        具体规则如上图,前面代表属性代码,后面代表属性强度。


                        IP属地:湖南67楼2017-04-30 11:25
                        回复
                          【怪物表V0.9For1.66】
                          内容:ID1-900号怪物的全部属性/技能/耐性/AI/BIT数据。
                          生成方式:精灵球生成,然后提取数据分析整理。
                          使用方式。打开表格,可以根据需要分级显示或隐藏具体单项数据。(点击红框内+号即可)

                          使用建议:
                          1 活用排序,可以快速了解单项数值的全NPC排序。
                          2 活用Ctrl+F,可以快速定位想要获悉的内容。
                          3 可根据AI相关和BIT获悉宠物的特性信息。并结合1 查找具有某项特定BIT或主动技能的宠物。
                          4 另外特别制作了神宠削弱版,更加符合合成情况。
                          目前不足:
                          1 个别BIT无法排除默认装备的影响。
                          2 CBIT,AI相关未做分类整理。
                          呃,欢迎大家使(shi)用(du)。有任何疑问,需求或意见欢迎留言。
                          如果没啥反馈的话,这个版本就先这么放着了。
                          LZ自己合成宠物的话,这个版本基本够用了。


                          IP属地:湖南68楼2017-04-30 22:50
                          收起回复
                            【反编译】屏蔽合成素材增加肢体

                            如上图红框部分,按下F11,类似许愿输入"2"时。
                            进入循环。所有在队伍中的生存,且未有指定为重要队友(不能抛弃那种)。
                            那么在AP-BIT中,会让19位flag开启。
                            这个FLag决定在合成时素材是否会增加肢体。如果为1,则屏蔽合成时素材对宠物可能的肢体数影响。
                            在游戏中对应为素材是否在第二章博士处增加过肢体。
                            那么,以后只要执行一遍这个循环,就不需要特意跑到第二章博士那里“加工”素材啦~


                            IP属地:湖南69楼2017-05-01 12:00
                            回复
                              2025-05-24 18:41:01
                              广告
                              【反编译】自动筛选分类废弃牧场生物
                              中期开始,最快的合成素材来源是魔物召唤+支配。
                              然而,一个很尴尬的问题是:良莠不齐的大量素材会造成选择困难,大为增加时间成本。
                              所以,一个比较理想的解决方式是:
                              让素材能够自动分成若干类。比如A类为优秀素材(前20%),B类为普通素材(20%-50%),C类为渣渣素材。(后50%)
                              每次招满牧场后可以将C类渣渣素材全部清空,仅留下B类及以上素材。
                              然后再次大量召唤+支配。循环往复,从而达到优化素材质量的效果。
                              ←楼主目前的分类区域。

                              如上图所示,按h键输入3后执行自动分类。
                              可以看到渣渣素材们全部整齐的排列在了中间区域。配合楼上屏蔽肢体,可以边修炼基因工程边优化素材~

                              ↑A类素材区域

                              ↑B类素材区域


                              IP属地:湖南70楼2017-05-03 05:09
                              回复