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

回复:E+代码分析讨论

取消只看楼主收藏回复

养成MOD定位
1 以正常玩法为前提,优化UI,自动化操作,大幅减少玩家重复操作,实现轻松养成。
2 自动化养成(俗称挂机练技能)中不包含“愚公移山”式的低效练级。
3 MOD仅为优化操作,一切正常游戏不可变相实现的结果,本MOD亦不会涉及。
统计下目前MOD已经可以做到的改动。
①【角色资料输出】
1 生成范围包括PC和全部在队队友
2 生成信息包括属性/技能/魔法以及重要的基本信息
3 可自定义潜力提醒功能,根据技能的当前潜力和重要级别而判定是否提醒。
4 可计算BUFF魔法效果,魔法消耗魔力/库存,抗性减伤效果。
②【怪物合成系列相关】
1 牧场素材资料输出 (可结合合成计算器基于任意素材设计合成表)
2 非珍贵(不可抛弃)型队友作为合成素材时可按键屏蔽肢体增加。(效果同二章博士改造)
3 牧场全部素材根据属性质量分为三类,可按键自动分类排队。(便于多次筛选优化整体素材质量)
③【其他细节改动】
1 重要物品名称前增加提醒。(便于商店采购,地图拾取)
2 空间垂钓技能动画时间缩减。(便于各种使用空间垂钓的场合)
3 变动不同任务生成概率。(提高白金币收获效率)
4 大爹地生成概率大幅提升。(非S/L党可无视此条)
另外MOD的是基于E+custom之下反编译的。所以Custom1.66原有的功能也会完全继承。包括:
1 自定义宠物AI
2 宠物自动进食,喂食宠物,宠物可医疗其他宠物。
3 各类UI(*号技能追踪功能大幅完善)
后续改动预想:
0 完善角色资料输出,考虑将该部分内容通过反编译改为游戏内显示。
思路:仿照并改进Custom及原版方式,但并不排除继续通过Excel完善显示和计算。
优先度:低
1 MOD增加选项界面,可自由选择是否开启任意改动。
思路:仿照Custom Tweaks功能选项。
优先度:中
2 各类自动化AI。包括但不限于:地城自动索敌/拾取战利品。自动化练级
思路1: 战斗索敌仿照敌对NPCor队友 AI。拾取战利品根据当前地图物品信息进行判定。
思路2: 增加PC自动进食功能,潜力不足时自动兑换白金币增加潜力功能
思路3:考虑到长期挂机各种风险,可睡眠状态下自动停止挂机
优先度:高
3 自动化采购,农牧业。
思路1:增加自定义选项(类似写书),符合玩家设置的物品自动全部买下。
思路2:对农场相关区域进行判定,如果可收获状态时PC自动前往收获。
思路3:增加按键整理牧场相关物品功能,增加根据子代牧场相关能力自动分类功能,优化种畜。
思路4:增加按键更替化肥物品功能。
优先度:最高
4 其他细节改动,优化养成操作。
思路1:考虑将文本框输入特定字符实现不同功能更改为选项方式选择。
思路2:增加归还卷轴的城市选择范围。
思路3:增加任务相关NPC的导航信息。(如该NPC位于玩家南5格,东12格)
思路4:增加生物钟功能,玩家规律睡眠后,同时刻睡醒的概率大幅增加。
思路5:生成黑星时立刻给予提示。
思路6:物品列表中给予物品价值基本信息(以便玩家背包有限时优先丢弃渣渣物品)
优先度:待定
版本相关说明
1 本MOD目前为自用型,仅基于1.66版本制作,不考虑存档版本向下兼容问题。
2 待原版1.67及后续版本稳定后,会制作相关版本MOD。
3 同版本号下,MOD可与原版存档通用。
欢迎任何小伙伴帮忙一起制作,楼主一个人慢慢做的话怕是要做到明年w


IP属地:湖南71楼2017-05-03 11:18
收起回复
    大地图每走一步gdata(180)路程数+4(未确认其他判定条件)
    如果回家时累积路程数不小于300,则进入判定。
    旅行技能经验增加量为:
    5+路程数*2/5,下限0,上限1000。
    旅行技能所带来的所有技能增加机制为:
    i.进入一个次数为路程数的循环,
    ii,每次循环时,随机挑一个技能,如果技能等级不为0,
    那么将获得 有效旅行等级/4+3 的经验,下限为1,上限为50
    循环结束后,路程数归0
    结论:
    1 旅行技能接近200级后,收益达到饱和。
    2 旅行技能未饱和前,每次出门不要走太久,600+步后,单次旅行经验达到饱和。
    3 频繁回家对判定没有影响,路程数够才会进入判定。每次进入判定宠物还会收集一点素材。
    P.S. 道场则正好与之相反。可以积累很长路程数来获得全技能的大幅经验增长。
    适用于...后期长时间放置宠物
    版本号1.66


    IP属地:湖南72楼2017-05-03 13:04
    收起回复
      2025-05-24 21:29:54
      广告
      仿照Custom做好了设置界面。


      这样以后就可以通过这里来存储各类功能的FLAG开关了。
      话说Custom的作者Anna写的代码真是炒鸡良心...


      IP属地:湖南73楼2017-05-03 17:34
      回复
        啊哈哈哈,咱们老百姓,今儿个真高兴。
        今天尝试做商店自动采购,结果看到代码时一下就傻了...喵的作者把所有的人际互动选项都做在一起了萌新根本傻傻分不清楚好不好。
        就在快要绝望放弃的时候,莫名找到了筛选物品的段落...
        然后就成功做出了只显示特定物品的效果。

        而所有这些功能都是可选开关的w

        像是之前71楼提到的所有增强功能,都已经完全做成了开关式选项。

        比如生活类里面,就有
        b 提高讨伐任务概率
        c 降低费时任务概率
        d 标示重要物品(如上图,最重要的标示■■■■■, 比较重要的标示▲▲▲▲▲)
        而这里列举的商店只显示重要物品就是选项e,用途是只在出售列表中显示d中的重要物品。
        而关掉这个开关后,就是正常的显示列表,并没有缺少任何东西w

        所以进入这个模式后,只要一直回车回车,就能采购完毕啦w
        (以后考虑做个自动回车回车的功能23333)
        至于重要物品列表如何构成,目前是根据LZ的喜好写在代码里。
        以后也会用类似写魔法书的方式让玩家自主选择(2类,每类各25个),嗯嗯,就是这么(遥遥无期)的亲民!
        话说做到现在发现生活类的选项越做越多,说好的自动化MOD要变成生活流MOD了吗?
        楼主准备这两天歇一歇,周末再继续撸MOD_(:зゝ∠)_


        IP属地:湖南74楼2017-05-04 00:37
        收起回复
          【魔改-扩大回归魔法的传送范围】
          咳咳,在大家的呼吁下,优先做出来归还增强功能
          共计增加的传送点包括:
          11Port Kapulポート・カプール卡普尔港
          32the Embassyパルミア大使館帕罗米亚大使馆
          33Noyelノイエル诺耶尔
          36Lumiestルミエスト鲁米艾斯特
          57Ludusルードゥス路多斯
          53Kurualmクルアルム克莱阿尔玛
          54Valmヴァルム瓦卢姆
          80Dock眠れる神艦・船渠沉睡的神舰·船坞
          72Sacred Library of Irvaイルヴァ神立図書館伊尔瓦神立图书馆
          82Irma and Thalia's Workshop隠れ工房イルマ・サリム隐蔽的工房艾露玛·萨利姆
          75Mirage Tower陽牢の塔阳牢之塔

          这个是 北提里斯 的使用效果。
          其中自家是可以跨地图传送的。就是说你在三副地图中都可以选择回家。
          然而三幅地图中目前可以传送的地方包括:



          黑圈代表原有,红圈代表新增。
          并没有给所有城市都增加传送,毕竟拆除全部的门槛也等于放弃了大半的乐趣。
          另外,在考虑设置MOD功能使用的限制。
          比如归还增强功能需要在LV30级以后才能开启,类似这样。
          其实有可能的话还是希望把MOD做的更合情合理一些,比如归还增强,是触发了什么任务,得到了什么神器之类才能导致增强。不过个人精力有限,如果还是一个人做的话就只好拿这些等级限制做简单的门槛了。
          另外,自家时无法更变该项功能的FLAG开关,得离家以后才能设置。这是为了避免BUG嗯嗯~


          IP属地:湖南75楼2017-05-04 19:16
          收起回复
            【魔改-农场自动收获功能&一键BUFF套装】
            自动牧场功能算是做好了
            http://player.youku.com/player.php/sid/XMjc0NzEzODAyNA==/v.swf
            结果如上面的视频所示
            具备查找目标,判别类型,然后移动+拾取的功能。
            按下大写H可以出输入框
            一开始输入b是为了通过一键BUFF来看回合数变化
            然后输入h就是执行自动收获了


            IP属地:湖南76楼2017-05-05 22:00
            回复
              这里稍微强调一下,本MOD自动化的核心原理并非直接在数据上做手脚。
              通过改变数据来达到与人工操作一样的“结果”。
              而仅仅是对PC在接下来的回合所需执行的动作进行逻辑判断,然后具体执行由原始代码完成。
              简而言之,就是告诉PC下一步做什么,而PC具体怎么做,完全由原版代码说的算。
              因此,无论是从结果而言还是从过程而言,MOD都能与人工操作保持一致。并没有因为MOD本身而在数据操作方面有任何失真(当然因LZ才疏学浅而被忽略掉的BUG除外)。按网游的说法通俗来讲,这MOD就是外挂,而不是修改器,不会因自动化而丧失任何平衡。
              MOD最大的意义,就是将玩家从无尽的重复工作中解放出来,减轻各种千级技能养成/资源积累的人力负担。从而能够把更多的精力和焦点放在更具挑战性的项目上(如击败强敌等)。换句话说,如果能帮助大家完成台下10年功,让大家能够更顺利的享受台上10分钟,就是本MOD最大的价值和希望所在了。


              IP属地:湖南77楼2017-05-05 22:16
              回复
                【魔改-黑星生成时立刻提示功能】

                一个早就应该加上而且实现起来也不难的改进。原理就是把神谕中新追加的内容及时输出到日志上。
                上图为生成苏摩来举例。红框后是正常造出苏摩后显示的内容,而红框则为新追加的显示内容。
                也就是说,任何黑星刚生成时(尤其是进入新地图的一刻)玩家都可以从日志上看到是否有黑星生成。
                呃...不知道这样够不够明显,因为英文版是不支持很多全角字符所以黑色五角星显示不出来只能拿星号代替。如果还不够醒目我可以考虑加多到左右各20-30个


                IP属地:湖南78楼2017-05-06 14:09
                回复
                  2025-05-24 21:23:54
                  广告
                  【魔改-快速拾取功能&快速睡觉】

                  增加了两个不是很适合单独成立的功能。一个是在拾取时按t自动一键全获得(虽然按住回车可以达到同样效果)。不过在自动化上会很需要。
                  另一个是缩减睡觉时的时间等待...勾选该功能后,你会真正感觉到什么叫一闭眼天就亮了...


                  IP属地:湖南79楼2017-05-06 18:00
                  回复
                    @50301a
                    哦哦,我更新了执行文件!欢迎来测试,有任何问题尽管找我w
                    功能的话按ESC最后一项可以自主选择激活任意功能。里面有简短的英文介绍。
                    另外平时按h可以输入指令集。
                    目前的指令集有:(""中内容为输入指令)
                    "" 输出角色资料。 配合本帖62楼有奇效w
                    "1" 输出怪物牧场资料。 合成怪物时用
                    "2" 非重要队友做合成素材时不会增加肢体(相当于找博士做了手术)。 合成怪物时用
                    "3" 怪物牧场按质量归类。 介绍见70L
                    "h" 农场自动收获(目前仅限除草和收获)
                    "b" 一键触发全部BUFF (如果吟唱失败或者部分BUFF过期,再来一遍就会自动补齐)
                    欢迎来捉虫哈~


                    IP属地:湖南81楼2017-05-08 17:40
                    收起回复
                      【魔改】自动寻路代码
                      根据最小生成树的TSP问题算法(别问LZ是什么,LZ不懂图论全是瞎编的...)
                      编写了同时路径多个目标的近似最佳路线计算方法。
                      最小生成树的算法最大优点就是简单,适合低数量节点。
                      因此在不超过50个节点时,MOD会自动采用这种算法。
                      那么这个算法效果如何呢?我们看图说话。
                      以20*20格子为例,途径不超过50个格子的复数目标,最终回到原点。
                      左边TOTAL代表共计48步,右边的Saved代表如果以先前农场式那种逐行顺序锁定目标的方式所需要多走的步数。
                      因为逐行锁定目标从代码上来讲编写最简单,属于保底情况。因此在图中列举可说明新算法的优化程度。
                      P.S. 最笨的扫地毯方式,对该图来说最多也就20*20=400步。
                      首先是规律分布。
                      我们知道规律分布(类似农场),且每个格子都需要路过执行动作的情况下。回字形走法是最佳的。
                      然而如下图所示,回字形走法需要走11*7=77步。而图中的走法只需要48步。
                      这个是由于在E+中,斜向行走一步等同于正向行走x-y方向各一步。
                      所以,很多时候几何距离与实际所需要步数并不完全一致。
                      而这种方式一般很少有玩家会习惯采用的。(玩格子游戏大家都比较喜欢横平竖直)
                      图1中的方式能够充分利用这个优势,达成最佳的自动寻路效果。

                      图1 斜向棋盘分布
                      正向分布(更多横平竖直)且多个节点间距相等的情况下,回字形走法需要48步,而自动算法需要56步,相比较于80步的逐行扫描自动算法来说。虽然看上去路径很怪异,但是所需要的步数与理想情况差距并不大,根源就在于图1所提到的[斜向行走优势]。

                      图二 正向棋盘分布
                      回字形走法45步,自动算法48步,逐行扫描...差不多多一倍吧...

                      图三 密集型农场式分布
                      接下来是更为重要的随机型分布。
                      每个情况都有两幅图,前一副为自动算法的结果,后一副为人工修正的优化结果。
                      在图四情况下,自动算法结果基本达到理想情况。同时可以看出该算法几乎节省了一半的步数。


                      图四 10节点随机分布
                      18节点时,自动算法路径较为怪异,并不是最优解。但是7步的差距比起90步总量而言并不算多。


                      图五 18节点随机分布
                      30节点情况同上,路径更怪异,但是依然与最优解保持只有10%的差距。


                      图六 30节点随机分布
                      结论
                      1 自动寻路算法比较令人满意的给出了各种随机情况下的多目标最佳路径。今后MOD将统一采用这种算法。
                      2 该自动算法适合节点数不超过100的情况。考虑到游戏流畅度,MOD中目标数量不超过50时才会用该算法。如果20*20格子范围内目标数量超过50(主要情况就是农场),那么还是执行逐行扫描办法。(农场改进版为回字形搜索)
                      3 自动算法只能提供近似解,与最优解情况大概误差为总步数的0-10%(随格点数增多而变化),然而考虑到计算效率和LZ的编程水平问题,该自动算法已经可以说是当前最实用的方案了。


                      IP属地:湖南82楼2017-05-09 18:14
                      收起回复
                        【魔改_一键快速料理】
                        E+中目前料理的UI是相对来说比较糟糕的。既没有连续料理(即料理一次后不退出界面),也没有复数料理(像合成壶那样可以选择合成几个)。对于手头有很多料理素材的玩家来说,想做完所有料理相对还是比较费事儿的。
                        因此追加了一键快速料理功能。使用方式很简单。
                        1 预先用快捷键(快捷键对应烹饪道具那种)料理一次。
                        2 再次料理时即可使用快速料理。可使用状态时右下角会出现 t [Fast operation]提示。
                        3 使用快速料理时,游戏会自动从当前光标位置的料理开始循环做料理。直到:(a)体力小于50时,或(b)本次已快速料理30次。 二者之一满足条件后停止。
                        4 如果一次不够,可以重复步骤2,一键继续快速料理30次。
                        P.S. 目前有个小BUG,就是进入料理界面后再按其他快捷键,然后料理。会有可能导致快速料理时激活其他快捷键的功能。技术原因无法消除。请大家平时用快捷键开启料理就好(这也是步骤一的存在原因),进了料理界面就不要再无聊用其他快捷键啦!



                        IP属地:湖南83楼2017-05-11 00:16
                        收起回复
                          【魔改】自定义偏好物品
                          这个算是之前"重要物品醒目显示" 和“商店快速购买”的升级版。
                          改进之处在于玩家现在可以根据自己喜好自定义需要特殊对待的物品了。
                          自家招女仆,对话可以自定义物品偏好。

                          偏好界面类似预约魔法书。

                          具备光标记忆功能,分类索引功能,如果玩家没想好如何设置偏好,也可以按q键读取一份默认的偏好设置。
                          分类索引方式(t键改变分类)和平时物品列表的几种方式完全对应。包括:
                          1 全部物品(无任何筛选)
                          2 仅显示食物
                          3 仅显示装备
                          4 仅显示读物
                          5 仅显示饮料
                          6 仅显示魔杖
                          7 仅显示(可使用)工具
                          8 仅显示(可打开)容器
                          每个物品的偏好可以为三种状态(之一)。0 无偏好 1 喜欢(like) 2 最爱(favorite) 每次选中即可改变状态。
                          最多可以记忆80个物品的偏好(无偏好不算),超过上限时会提醒。


                          IP属地:湖南84楼2017-05-12 06:57
                          回复
                            【魔改-自动化农场完全版
                            http://player.youku.com/player.php/sid/XMjc2MTc0ODAzNg==/v.swf

                            可以在收获同时,分别自定义是否要除草,施肥,还有制作新肥料。
                            肥料不够会自动省略施肥环节。
                            制作肥料采用腐烂的食物。如果没有腐烂食物的话,就中断自动替换肥料。
                            基本上算是考虑全了各种情况,目测无BUG2333


                            IP属地:湖南85楼2017-05-13 11:51
                            回复
                              2025-05-24 21:17:54
                              广告
                              【魔改】自动化果实收获
                              http://player.youku.com/player.php/Type/Folder/Fid//Ob//sid/XMjc2NDI1NjY2OA==/v.swf

                              采用了 82L 新的路径算法,即使目标随机分布也可以智能化设计路径。只追踪以PC为中心21*21矩形范围内可以收获的果树(不超过49个)。
                              另外,如果果树和果实重叠(果树处于最下一格),那么仅收获果实,而不会连果树一起捡起。


                              IP属地:湖南86楼2017-05-14 18:35
                              收起回复