3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 17514|回复: 41
打印 上一主题 下一主题

[原创] [ElonaEXE*研究系列*之(一)]找出属性和技能的成长公式

  [复制链接]

18

主题

662

帖子

945

积分

超级玩家

Rank: 5Rank: 5

贡献度
94
金元
5590
积分
945
精华
1
注册时间
2009-4-24
跳转到指定楼层
主题
发表于 2011-4-11 08:29 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 gsky1986 于 2011-4-12 02:15 编辑

本文长,很长,非常长,如果你想在游戏之外找点乐子,比如接触技术,不妨看看。

  感谢whiteling 童鞋 提出质疑,公式得到再次修正:)。
   
  目前此公式并不十分完善,已知的适用范围还是仅限于打怪带来的成长,吃肉、喝药的还待于继续研究:)。

  Elona很好玩,不是么,连我这个上了岁数的老人都对其痴迷不已,想修改?想Mod?,源代码没公布怎么办?

   嗯....在这残酷的时刻,我们只能慢慢研究它的EXE,看看能不能发现些什么。

   本文旨在抛砖引玉,希望坛子里的达人们能火爆研究,打造自己的MOD。

   有错的地方也请指出哈!

   开场!











>>Elona技能和属性等等的数据格式

   先看看角色属性图:

   

   红色标记的力量(Str),再看看内存中的数据:

   

  嗯,红色部分[value = 142648400],就代表力量的有关数据,我们划分一下:

  ->: [Head,142][Middle,648][Last,400]

  其中Head很好理解,就是我们属性栏显示的部分,那Middle和Last又分别代表什么呢?

  看看技能的图:

  

  和相关的内存数据:

  

  对比下即可发现Last = 414 代表潜能,多对比一下其他技能即可确认。

  那么剩下Middle是干什么的呢?

  纠结啊,Middle其实是个很神奇的数据,有多神奇?

  嗯....喝口水先.

  Middle = 836 神奇在它是个小数!

  为了让我们的属性和技能有所成长,靠小数是不行的,不靠小数更是万万不行的,小数们勇往直前,总有一天会成为整数的,苏格拉底说...............

  咳咳,走神了,既然它这么神奇,我们就看看它是怎么影响属性成长的吧。为了尽量通俗,系列1中代码部分不做过分强调。













>>Elona,属性、技能成长逻辑

  看图说话:

  

  嗯这个数值貌似很熟悉哈,不错,它就是我们的 解剖学技能的数据。

  一段微小的运行后,看看内存:

  

  好神奇,变成了44!44是什么呢?聪明的你,一定想到这就是 Head!(额,恶心了)

  嗯,代码如下:

<

  原来Head = 44是这么来的,汗,不复杂么!不复杂?好,继续走着:

  

  嗯嗯,Last = 414出来了哈!小样想干嘛?

  

  注意!注意!注意!(我为什么连说3个呢?

  绿色部分是414,红色变成了4140!我勒个去,差了10倍啊!怎么着?来点代码?

<

  要是人民币能这么乘多好!嗯,人民币确实是好东西,可以买烟买酒买小妹妹....................咳咳,权且记下来:

  temp1 = Last*10

  嗯,接着走:

  

  注意!注意!注意!注意!(额,为啥老衲如此师太!)

  Head = 44和一个神秘力量,哦不,是数据15出现了!

  此时,4140 和 44 还有这个神秘的不知神马来头的龌龊数据相会了!他们之间将会发生什么样的暧昧情节?喔,这个真是太恶心了.................

  

  嗯,他们合体了?他们生出个金刚葫芦娃 = 660?

  远目之后,还是回到660上来,你懂的,代码依然在下面:

<

  惊天动地、地动山摇、摇钱树般的合体啊,合出个660,嗯,权且记下:

  temp2 = Head*15













  接下来的故事想听么?想就挺住,刺激的在后面:

  

  注意!嗯,这次我很拿得住哦,Good for me,又出现了另一个神秘数据 760!

  o(︶︿︶)o 唉,复杂的1-13啊,代码:

<

   一句代码也复杂?嗯,其实真的很复杂.................此处略去xx字。













   temp3 = Head*15+100

   为啥是+100?为啥?为啥为啥?

   还记得前面的图里有个100么,不记得?翻去。

   其实它就是个常量而已。

   不要纠结,继续走着:

   

   发现什么了?什么?发现了个5?5姑娘...

   嗯,这个5不是一般的5,它来自遥远的................遥远的Elona............解开你的枷锁............我瘦了

   且看:

  <

   嗯,这个 5 的来头搞清了,就是4140一杠子打到760头上,760 一巴掌煽到4140脸上的那个印子....什么?760有6个指头?我去..............

  5要干什么呢?你想知道,我也想知道,那咱继续往下看:

  

  出来了836?836?嗯,Middle = 836?什么?你不知道?我也才知道嘛。。

  

  嗯,出来了1000000,摇奖机子中奖1000000!

  

  嗯,神奇的地方来了,841*1000000 = 841000?

  不对,那1000000是给老大准备的,841就是836+5,你还费解么?

  841000就是841*1000你还费解么?费解?我少截图一章1000的,你就费解了?嗯...............我不是解释.............我瘦了............


  


  有趣吗?哈哈,













  44*1000000+(836+5)*1000 = 44841000

  嗯,老大Head和我们口耐小数836姑娘以及神秘力量5开始合体了,遗传学Max啊!!!!

  

  注意!注意!注意!(额,又没刹住) 我们的Last = 414再次华丽出现!


  抢镜中!

  


  Bingo!  
    ->: 44*1000000+(836+5)*1000 + 414 = 44841414

  Formular:

  newAttr = Head*1000000 + (Middle+Math.Floor(Last*OneOf(0,10]/(Head*15+100) ?Rand[0,1]))*1000 + Last.

  Last代表潜力,Head代表整数部分,Middle代表小数,Math.Floor代表向下取整(取商),OneOf(0,10]代表从0到10取一个整数。?代表为0时,随机选取0到1,随机规则比较复杂,以后再研究。
  到底,一段惊天动地、地震海啸、哮天犬的故事结束,我们完成了由44836414到44841414的创举!

  Hoorai(y?)!

019.jpg (14.46 KB, 下载次数: 6)

019.jpg

评分

1

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2026-3-28 20:37 , Processed in 0.037856 second(s), 25 queries , Memcached On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表