elona吧 关注:76,080贴子:1,131,123

回复:E+代码分析讨论

只看楼主收藏回复

丧心病狂水

配合喵神和黑天使用春雨太太的美图扣了一些立绘和头像。
从边缘的仔细程度可以看出楼主对两者喜爱程度的差别(好吧其实都是 随便乱扣的...)
为了达到最佳效果,以后分辨率统一用1152*760了。

每位有5-6张,预览图就不放了。文件放在 美化素材/队友素材 里。


IP属地:湖南41楼2017-04-13 18:54
收起回复
    诶,简单做个临时小记录吧。
    1.66更新有个最大坑爹的地方就是稀有道具击杀掉落的模式改变了。
    The equipment that NPCs spawn with and rare drops that have a 1/100 chance of getting generated or less now have 5-20 times the rate of getting generated. However, there is a trigger that decides if they will get generated, and this has a 1/4 chance of being turned on at the start of each day. Once [a rare piece of artifact equipment or rare drop] spawns, this trigger is turned off. These items will never drop/spawn when the trigger is off.
    虽然本身掉率上升,但是受FLAG控制。一旦掉落后FLAG置0当天就再也不可能掉落了。
    刚才看了下代码,发现...几乎所有的稀有击杀掉落都TM被同一个FLAG控制!同一个!
    ....也就是说你要是不小心刷出了个兔子尾巴...呵呵,那你真是走运了...
    基本上这段时间下面这一串道具就同时跟你绝缘了:
    库米罗妮的秘密经验
    再构造宝玉
    《封印·骑士盾》
    《地龙棍》
    《精灵手甲》
    《新巴拉利亚的头》
    星芒光笔
    《常春藤刺》
    被原爆杀死的狮子
    《席娜的内裤》
    《乞丐的项链》
    《梦魇》
    《香草石》
    《落椿》
    《红凛》
    《黄金·大葱》
    《大剑》
    《双刃》
    《弩张》
    《GAU-17 Minigun 改》
    《新星·手榴弹》
    《卡尔内阿德斯之板》
    《英雄的披风》
    《辉月之光》
    《Eagle&Lion》
    《杀人Joker》
    《深渊》
    《斩铁剑》
    《HL-KRSW》
    《鬼之短裤》
    《离子环刃》
    幸福床
    《迷之贝》
    进化药水
    而FLAG重新置100的概率是25%(每天判定一次),更令人发指的是即使重新置100了,第二天仍然有75%的概率重新置0。没错,也就是说每天FLAG开不开的概率都是单算的,不会因为等了好几天后FLAG打开的概率就会有任何提高...
    所以,这个改动的最终效果是...每天有1/4的概率,大伙可以从上面所有击杀道具中看脸碰到相应怪物,再反复击杀杀看脸获得一件,同时也就仅此一件了。剩下3/4的概率,把脸洗蜕皮也是什么都没有的...
    那么问题来了,你知道当天你的概率是那1/4还是3/4吗?
    唉,这个变量的地址是 gdata(250 + 347),也就是说用ME的PLAYER表里,偏移量597*4=2388就是。
    开的时候是100,关的时候是0。
    如果锁定成100呢...
    咳咳,总之我怀疑这个坑爹变动后续版本还会改,如果真不改...那么楼主也就只能帮大家到这里了...


    IP属地:湖南42楼2017-04-14 10:40
    收起回复
      2025-05-24 11:19:11
      广告
      【魔改-修改任务生成概率】
      众所周知,E+中期开始PC的成长取决于技能,而技能的潜力几乎取决于白金币(以及少数稀有道具)。
      白金币的主流获取途径,除了邪道降速外,主要靠任务获取。
      那么高效刷任务获取白金币,就是补偿木桶短板的最有效途径。
      本次魔改的目标有二:
      1 降低费时任务的生成概率
      2 提高省时任务的生成概率
      修改前,我们需要先了解任务的类型(编号及代码)
      编号 代码 中文
      1001 HUNT 清理森林
      1002 DELIVER 运送物品
      1003 COOK 料理系列
      1004 SUPPLY 上交礼物
      1005 - -
      1006 HARVEST 收获农作
      1007 ESCORT 护卫系列
      1008 CONQUER 讨伐单一怪
      1009 PARTY 演奏系列
      1010 HUNTEX 危机群体怪
      1011 COLLECT 上交物品
      在上述任务中:
      1001 清理森林难度低,配合宠物+影步很好做。只是白金币奖励少。
      1008 讨伐单一怪限定声望>50000才触发,配合空间垂钓是最好做白金币奖励也最多的任务。
      1004 上交礼物很多是送块矿石当礼物,很好做。
      1011 上交物品与1004的区别是物品已存在于某另一NPC手里,可偷可换。也很好做。
      1010 危机群体怪限定声望>30000才触发,由于中期开始怪物实力整体增加很大,比较费时,不推荐。
      1009 演奏任务游戏耗时长,新版有修正(可不用等到最后直接离开),但还是不够效率。
      1006 收获农作类似演奏,游戏耗时长,不够效率。
      1003 料理系列,手头有材料就好做,没有就懵逼。但综合考虑还是有些费脑子,最好减少。
      1002 运送物品,就是坑爹,坚决抵制。
      1007 护卫系列,更是坑爹,果断取缔。
      1005 这个任务类型是不存在的
      综上,大幅提高 讨伐单一怪 概率;大幅减少 料理,运送,护卫 概率。即可达成目的。
      具体的改法是: 搜索 qdata(3, 这个变量代表任务类型

      找到那些对该变量赋值的语句,这些就是在生成任务时,定义新任务类型的位置。
      那么往前看 IF 这里,就是对条件进行判定的地方。
      任务生成是看概率的,所以频繁用到rnd(x)==0这个条件。
      这个条件的意思是:有1/X(X为正整数)的概率,满足判定条件。
      所以,把X改小,就相当于增加了该任务的生成概率,反之亦然。
      任务类型是逐个判定,如果上个任务类型不满足条件,那么跳到下一个任务类型继续判定。
      如果都不满足,那就定义为 1002 运送任务 兜底。
      所以不要只把任务概率改低,有的也要改高,不然就是满屏的运送任务。

      楼主这里的改法是把该提高的提高到5倍概率,该降低的降低到1/10概率。
      多一个1/14提升到1/7的上交物品任务,不过影响不大。
      最终效果如下图所示:


      可以看出Challenge(讨伐单一怪) 任务明显升高,相应该降低的任务也有降低。
      冒出很多Party演奏任务是因为楼主看的王城告示板,天生有演奏任务概率加成(rnd(2)=0)。
      换到其他城就更加正常了~


      IP属地:湖南43楼2017-04-15 07:33
      回复
        丧心病狂水2.0

        由于晴天娃娃性别是♂,考虑再三...还是我家素素最有气质。
        布偶也是娃娃,陨石术就是素素的大绝“怒火烧尽九重天”,简直毫无违和嗯嗯。

        素素辣么萌,LZ抠图都扣得更有精神了!哈哈
        可惜木有配套行走图,只好自己搞了个静态的长图像...


        IP属地:湖南44楼2017-04-15 22:27
        收起回复
          【反编译次级索引】(请勿回复次级索引)
          如何反编译和再次编译E+呢。 百度搜索 elona 反编译 第一个就是巫女控的教程。
          英文版教程可以看这里:http://elona.wikia.com/wiki/Thread:17104
          简单说,准备好:
          反编译软件 (推荐新版;hspdecom110,可显示变量名称)
          编译软件 http://hsp.tv/make/downlist.html 最新的安定版就OK
          然后一个比较靠谱的代码编写软件(可以看超长几十万行的那种最好)
          反编译比较简单,连续两次把相关文件拖动到反编译软件里就好(第二次时要把第一次的生成文件拖进去)
          目的是获得source.hsp这个主程序(10M+大小)
          然后再编译的话就用编译软件中hsed3.exe 打开主程序
          F5是查错,如果有错会报让你改。改好后就可以用Ctrl+F9来生成exe执行文件。
          呃,顺便一说新手改反编译的错有点不太靠谱...所以最好是能拿到一份已经改好的hsp。(见楼中楼)
          有了exe执行文件后放到游戏根目录里打开就行了。
          中途魔改的话,就是在无错的hsp基础上对代码进行一些编辑调整,然后生成exe就生效了。
          『如果以上内容有更新,会在楼中楼内提示,请感兴趣的小伙伴注意查看!』


          IP属地:湖南46楼2017-04-22 14:05
          收起回复
            【代码研究次级索引】(请勿回复次级索引)
            鉴于反编译软件更新后可显示变量名,为代码研究提供极大便利。
            从此以后,所有整理后代码研究内容统一以下述格式发布。
            如果没有按该格式发布的研究内容,那一定是LZ还没有研究清楚(用来骗水的)...
            ---------格式分隔符---------
            【研究内容标题】
            源码版本:指明反编译所基于的代码版本,便于与后续更新区别&比较
            测试环境:指明相关测试所基于的游戏版本,便于与后续更新区别&比较
            代码备份:研究内容相关代码的下载路径,便于与后续更新区别&比较
            内容正文:按代码顺序展开的注释,便于对照理解代码内容
            简要结论:基于正文获得的主要结论,便于快速了解研究内容。
            ---------格式分隔符---------
            『如果以上内容有更新,会在楼中楼内提示,请感兴趣的小伙伴注意查看!』


            IP属地:湖南47楼2017-04-22 14:15
            收起回复
              【Snack-ME研究次级索引】(请勿回复次级索引)
              任何游戏的进行都时刻伴随着大量数据的变动,由此涉及到对数据表的操作,Elona也必然如此。
              基于数据表查询修改的两大传统软件:
              (1)Elosnack(针对存档)以及(2)Eloma ME(针对内存)
              就是理解&监控E+数据表的重要工具。同时也算是研究代码时必不可少的辅助工具。
              因为代码很大程度上作用,就是修改数据表,而代码的结果,也可以从数据表中显现。
              所以能够清晰追踪数据表,明确理解相关信息的话,自然研究起代码来也是事半功倍。
              然而由于两者皆是只存在英文版,不少玩家并不十分熟悉其功能。
              同时更多的玩家仅仅是把两者当成简单的游戏修改器,这不免有些大材小用之感。
              本帖将对两者的“基础”与“应用”进行针对性说明,目的不是为了单纯的修改角色变强。
              而是试图实现“想怎么玩,就怎么玩”,让玩家能够沿着自己的思路玩出想要的风格!
              『如果以上内容有更新,会在楼中楼内提示,请感兴趣的小伙伴注意查看!』


              IP属地:湖南48楼2017-04-22 14:30
              收起回复
                【丧心病狂次级索引】(请勿回复次级索引)
                呃,其实就是一些不属于上述三大类别的杂七杂八内容。
                费劲搞出来不发出去总感觉亏了,但是内容和技术很LOW又自觉不是很上得台面。
                所以就低调的在这里丧心病狂的来一发索引吧。
                『如果以上内容有更新,会在楼中楼内提示,请感兴趣的小伙伴注意查看!』


                IP属地:湖南49楼2017-04-22 14:56
                收起回复
                  2025-05-24 11:13:11
                  广告
                  【skillexp经验获取函数完整版V1.1】
                  源码版本:E+1.66Custom
                  测试环境:同上
                  代码备份:00代码相关/050L skillexp.txt
                  内容正文:
                  #deffunc skillexp int P1, int P2, int P3, int P4, int P5
                  这个函数的作用在于将某个原始经验增加量(参考等级,潜力等各种因素)修正为实际增加量。
                  属性,技能,魔法的经验增加都由此函数控制。
                  值得一提的是,经验减少同样由该函数控制,此时增加量为负值。
                  其中参数P1代表技能编号,P2代表角色编号,P3代表原始经验增加量(以下简称原始增加量)
                  P4与技能对应属性经验获取有关,P5与角色LV经验EXP获取相关。
                  在本函数中,技能等级如未特殊说明,一律采用裸装等级。(考虑各种加成时描述为[有效技能/属性])
                  (01) 如果对应技能等级为0,那么完全不增加经验,程序结束。(就是说一定要先学技能才可以)
                  (02) 如果原始增加量为0,那么完全不增加经验,程序结束。(呃...好有道理我竟无言以对)
                  (03) 技能对应的属性,增加参数P3/ (2 + P4) 经验。(以此处结果为原始增加量重新执行skillexp函数,增加对应属性经验)
                  (04) 如果对应技能潜力为0,那么完全不增加经验,程序结束。(该塞钱塞钱,该嗑药嗑药,你懂哒)
                  (05) 由此开始正式计算:
                  经验A=原始增加量*技能潜能/(100+技能等级*10)
                  <i>如果八维,速度,幸运处于成长期。(存在效果为正整数m的BUFF),那么经验A(重新赋值为)=经验A*(100+m)/100
                  <ii>如果此时经验A为0,那么有1/(int(技能等级/10)+1)的概率,经验A上调为1,(程序继续)。否则完全不增加经验,程序结束。
                  此外,如果原始增加量为负值(即经验减少的情况),那么<i>-<ii>不参与计算,经验A直接=原始增加量(该值为负)。
                  <iii>如果使用了技能高速猛攻(gdata(193) == 1200),那么有70%概率经验A归0;
                  如果身处巨蛋空间(当前map=35),或者身为沙包状态(cbit25为1),那么经验A归0
                  <iv>如果技能编号大于等于100(属性以外的技能or魔法),且不是在城镇魔法实习(gdata(175) != 11111111 ))那么执行奖励经验修正,奖励修正发生条件为rnd([有效学习属性]+50)>rnd(1000)。rnd(r)表示从0到r-1的随机整数。效果为将经验A修正为经验A*B,其中B=int(sqrt([有效学习属性])/10)+2,B值下限为2,上限为5
                  <v>如果技能编号大于等于100(属性以外的技能or魔法)且为队友,那么经验A扩大为4倍。
                  <vi>此时经验A大于20000时会修正为20000上限。
                  <vii>如果游戏模式为20倍经验模式,那么此时经验A扩大为20倍。
                  <viii>如果困倦度大于等于49(达到红色睡眠提醒),那么PC和队友都不会增加经验。
                  <ix>(根据经验A做)一些关于EXP经验的修正。
                  如果技能编号大于等于100(属性以外的技能or魔法),且参数P5不等于1000,则
                  对于EXP最大值(LV升级所需经验)小于1000的情况:
                  经验B=rnd(LV升级所需经验 *经验A / 1000 / (角色当前LV + P5) + 1) + rnd(2)
                  对于其他情况:
                  经验B=rnd(LV升级所需经验 / 1000 * 经验A / (角色当前LV + P5) + 1) + rnd(2)
                  然后角色当前EXP追加经验B,同时gdata(92) 追加经验B。
                  gdata(92) 的作用在于统计距离上次睡眠累积的总经验值(包括PC和队友)
                  该值越多的话,睡眠醒来时恢复的潜力越多。(睡醒时有%号潜力恢复的提示)
                  <x>最后,将当前技能的经验千分比(即等级后小数点后三位)叠加到经验A上。
                  (06)根据此时的经验A,对技能等级,经验千分比,潜力做调整。调整规律为:
                  <i>如果经验A满1000,达成升级条件,那么每升一级:
                  潜力*0.9处理,如果技能编号>=400(即魔法),则再次*0.9处理
                  如果此时潜力小于1,那么重置为1。
                  然后是一些文字输出提醒玩家有升级。
                  <ii> 如果经验A小于0,即达成降级条件,那么每降一级:
                  潜力*1.1+1处理(注意魔法降级没有再次*1.1,虽然比起魔法可能只有属性才会降级)。
                  如果潜力>400,则修正为400上限。
                  另外,降级最多只能降到1级,经验千分比为0的情况。
                  然后是一些文字输出提醒玩家有降级。
                  <iii>其他情况(不升级也不降级)时,直接将等级千分比赋值为经验A,实现了经验的获取。
                  此时没有文字输出。
                  简要结论:(各种细节还请自行阅览正文)
                  (01) 潜能越高越好,但是升级会消耗潜能。
                  (02) 等级越高,修正后经验越少。不过就算再少,也有极小概率增长1点经验。
                  (03) 正常来说,不要在特殊情况练技能(红色困倦,巨蛋空间,潜力低or技能等级太高),不然血亏。
                  (04) 如果你在正常状态修正后得不到经验,那么20倍经验模式一样不可以。
                  (05) 魔法升级潜力消耗更快
                  以上便是skillexp的全部代码解析。欢迎小伙伴们一起来围观吐槽哈~
                  @农农酱 28L关于EXP的小误会我补完了~


                  IP属地:湖南50楼2017-04-22 18:58
                  收起回复
                    【elosnack&Elona Me】基础理论篇
                    在介绍两者前,首先需要简单说明下E+的数据表。
                    E+的数据表分两种,一种是写死在主程序里的(非魔改不能变动),
                    另一种在存档里,记录着玩家的操作所引发的各种结果。我们要研究的,就是这种。
                    打开你的存档,你会发现以下几类文件:
                    其中一些为唯一性文件,同类仅此一个:
                    gdata.s1 记录着重要的全局变量信息,比如时间,地点,击杀数,困倦度,游戏模式,天气,剧情FLAG等等。
                    mat.s1 记录着各种原材料的持有情况。
                    kitem.s1 记录着PC各种魔法的库存量。
                    trait.s1 记录着PC各种特征及天赋。
                    spact.s1 记录着PC各种特殊技能的掌握情况(没有级别)。
                    qdata.s1 记录着近一段时间的各种告示板任务信息。
                    knpc.s1 记录着各种类型NPC的累积生成数量和击杀数量。
                    kitem.s1 记录着各种类型道具的鉴定情况和累积生成数量。
                    另一些为复数性质文件,几乎每个地图都有一个甚至更多:
                    cdata.s1 记录着每位角色的个人信息。比如位置,等级,饱食度,身高体重,金币,技能点,INIT,PVDV等等。
                    cdatan.s1 记录着每位角色的文字信息。比如名称/化名/种族/职业/语调等。
                    sdata.s1 记录着每位角色的属性信息。包括可升级,有潜能的各种基本属性/技能/抗性/魔法。裸装值和有效值。
                    inv.s1 记录着当前背包里道具的各种信息。比如道具种类,数量,装备属性,附魔情况,食物类型等。
                    上面这些s1和其他地图相关的同类文件的区别就是s1只针对当前PC,队友,以及游戏中其他冒险者。
                    而地图同类文件针对的是身处该地图的NPC。
                    不要问我是怎么知道这些...如果你从网上找到Elosnack的合集包,你可以了解得更多。
                    因为标准的snack配置文件首行就是针对的存档文件,以及数据表数组类型声明
                    而下面每行则是数组中每个变量的说明和偏移地址。

                    这些内容完全可以自行增减修改DIY,所以站在前人的肩膀上,大家完全可以做的更好。
                    当然,退而求其次,至少能活用前人留下的经验,也是很好的。
                    然后snack和ME之间又有什么关联呢?
                    我们在48L【Snack-ME研究次级索引】提到过,两者都是监控E+数据表的工具。
                    从本质讲,两者针对的,都是同一个东西。只是Snack从存档编辑,而ME直接从内存编辑。
                    因此,大家在ME中使用的几个表,完全可以从存档或者Snack的配置文件找到对应。
                    而且更关键的是,两者内含所有变量的位置对应关系完!全!相!同!可以对照理解。
                    毕竟两者从一开始所应对的,就是同一批数据表嘛。
                    LZ来列举一下两者的对应关系:
                    ME↔snack
                    Player↔gdata.s1 全局变量信息
                    States↔cdata.s1 角色个人信息
                    Skills↔sdata.s1 角色属性信息
                    Item↔inv.s1 背包里道具信息
                    以此类推...
                    由于两者都可以自行DIY。也就是说,snack表中各个变量的注释,可以用在Me上,反之亦然。
                    你明白其中一个,另一个完全可以照猫画虎根据对应位置自己制作出来。
                    所以剩下大家要做的,就是学好英语看懂注释了...(大雾)


                    IP属地:湖南51楼2017-04-22 20:43
                    收起回复
                      【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
                        收起回复
                          【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
                            收起回复
                              2025-05-24 11:07:11
                              广告
                              【论声望的重要性】
                              源码版本: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
                              收起回复