» 您尚未 登录   注册 | 社区银行 | 社区婚姻 | 社区成就 | 帮助 | 社区 | 无图版


火花天龙剑 -> 火炎之纹章 -> 火花学园 -> [原创] 776 经验值计算的简单静态修改
 XML   RSS 2.0   WAP 

本页主题: [原创] 776 经验值计算的简单静态修改 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题
tata2007

头衔:孤独之狼孤独之狼
该用户目前不在线
级别: 火花会员
编号: 88604
精华: 6
发帖: 420
威望: 30 点
配偶: 单身
火 花 币: 20592 HHB
注册时间:2008-05-13
最后登陆:2015-04-27
艾雷布的骑士(I)
查看作者资料 发送短消息 引用回复这个帖子
[原创] 776 经验值计算的简单静态修改

这个修改原本只是为了个人娱乐,不过考虑到对某些朋友可能有用,还是贴出来了。只是没有经过严格验证,所以还请大家帮忙进行测试。

如果只是为了快速升级,直接改成打一下升一级更简单方便,但是这样做有点太bt了。而修改公式则可以控制获取经验值的多少,还能达到一些其它目的,比如减少EXP什么的。

引用一下主页上的计算公式:
1、基础经验值=(31-等级)/自身职业强度               //计算结果取整,最高取值100
2、击破经验值=基础经验值+max(击破加成,0)+盗窃修正+BOSS修正         //最高取值100
3、击破加成=(对方等级*对方职业强度+对方阶级修正)-(我方等级*我方职业强度+我方阶级修正)+20
4、BOSS修正:对方为BOSS单位时该值为40,否则为0
5、盗窃修正:对方拥有盗窃特技时该值为20,否则为0


如果你掌握了一定的汇编技术,可以给这些公式来个大改造,变成另外一种形式,但是这对一般人来说不大现实。实际上我们可以从公式中那几个常数入手,比如1中的31、3中的20之类,如果想获取更多的EXP只要增大其数值就行了,这个方法更适合于普通玩家。下面就来简要地介绍一下如何修改它们。

首先需要找出这些常数的rom地址,为此不得不动用令本人颇为头大的反汇编,一番努力之后总算找到了与公式相关的源代码:

83/E4F5:     AD30A5       LDA $A530
83/E4F8:     29C000       AND #$00C0
83/E4FB:     D008       BNE $E505
83/E4FD:     A2EFA4       LDX #$A4EF
83/E500:     A060A5       LDY #$A560
83/E503:     8011       BRA $E516
83/E505:     ADA1A5       LDA $A5A1
83/E508:     29C000       AND #$00C0
83/E50B:     D008       BNE $E515
83/E50D:     A260A5       LDX #$A560
83/E510:     A0EFA4       LDY #$A4EF
83/E513:     8001       BRA $E516
83/E515:     60         RTS
83/E516:     9C95A6       STZ $A695
83/E519:     B90A00       LDA $000A,Y
83/E51C:     29FF00       AND #$00FF
83/E51F:     D009       BNE $E52A
83/E521:     2030E5       JSR $E530
83/E524:     2043E5       JSR $E543
83/E527:     2056E5       JSR $E556
83/E52A:     C230       REP #$30
83/E52C:     2078E5       JSR $E578
83/E52F:     60         RTS
83/E530:     B90000       LDA $0000,Y
83/E533:     CD210E       CMP $0E21
83/E536:     D00A       BNE $E542
83/E538:     AD95A6       LDA $A695
83/E53B:     18         CLC
83/E53C:     692800       ADC #$0028
83/E53F:     8D95A6       STA $A695
83/E542:     60         RTS
83/E543:     B91C00       LDA $001C,Y
83/E546:     890200       BIT #$0002
83/E549:     F00A       BEQ $E555
83/E54B:     AD95A6       LDA $A695
83/E54E:     18         CLC
83/E54F:     691400       ADC #$0014
83/E552:     8D95A6       STA $A695
83/E555:     60         RTS
83/E556:     860D       STX $0D
83/E558:     22ECA983     JSR $83A9EC
83/E55C:     852D       STA $2D
83/E55E:     840D       STY $0D
83/E560:     22ECA983     JSR $83A9EC
83/E564:     18         CLC
83/E565:     691400       ADC #$0014
83/E568:     38         SEC
83/E569:     E52D       SBC $2D
83/E56B:     1003       BPL $E570
83/E56D:     A90000       LDA #$0000
83/E570:     18         CLC
83/E571:     6D95A6       ADC $A695
83/E574:     8D95A6       STA $A695
83/E577:     60         RTS
83/E578:     BD0200       LDA $0002,X
83/E57B:     22E09383     JSR $8393E0
83/E57F:     ADEE50       LDA $50EE
83/E582:     29FF00       AND #$00FF
83/E585:     8527       STA $27
83/E587:     BD0700       LDA $0007,X
83/E58A:     29FF00       AND #$00FF
83/E58D:     850B       STA $0B
83/E58F:     A91F00       LDA #$001F
83/E592:     38         SEC
83/E593:     E50B       SBC $0B
83/E595:     8525       STA $25
83/E597:     22C3AA80     JSR $80AAC3
83/E59B:     AD95A6       LDA $A695
83/E59E:     18         CLC
83/E59F:     6525       ADC $25
83/E5A1:     8D95A6       STA $A695
83/E5A4:     60         RTS

大致意思就是先判断对手是否战死,是的话就加上各种击破修正,否则就跳过它们只计算基础经验值。仔细研究之后初步判断公式1、3、4、5的几个常数的rom地址应该分别在1E790、1E766、1E73D、1E750。

下面就以游戏的第一章来进行简单的测设。先引用几个职业的相关数据:
职业         职业强度     阶级修正
枪兵         3         0
领主         2         0
斧战士         3         0

1、基础经验值公式的修改测试
假设将基础经验公式里面的31改成101,也就是将地址1E790的原始数值1F改为65(16进制)。进入游戏后用利夫(LV1)攻击一个LV1的枪兵,没有击倒,战斗后察看一下人物状态发现利夫获得经验值33点。
而按照公式,应该可以获得经验
    (101-1)/3=33,
对比一下,正好相等。
另外一次,利夫发动连续干掉了那个枪兵,获得经验值52点。与公式计算的
    (101-1)/3+[1*2+0-(1*3+0)+20]=33+19=52
相比也一样,可见这个地址应该是对的。

2、击破加成公式的修改测试
假设将公式3里面的20换成40,也就是将1E766地址的原始数据14改为28(16进制)。用奥辛(LV1)击倒LV1的枪兵后,获得经验值49点。
用公式计算如下:
    (31-1)/3+[1*2+0-(1*3+0)+40]=49,
结果也相同。

BOSS修正和盗窃修正我没有测试,大家可以再试试看。

最后提醒一下:
测试中的数值只是为了验证,实际修改的时候需注意不要改得太大,否则数据溢出就适得其反了。


[ 此贴被tata2007在2008-07-10 13:51重新编辑 ]


圣战系谱TS改造版

[楼 主] | Posted:2008-07-09 13:50| 顶端
1+1

头衔:追寻风的少年追寻风的少年
该用户目前不在线
级别: 火花会员
编号: 86990
精华: 0
发帖: 722
威望: 0 点
配偶: 单身
火 花 币: 1243 HHB
注册时间:2008-02-18
最后登陆:2016-09-14
查看作者资料 发送短消息 引用回复这个帖子


好贴,问一下改哪里能把"最高取值100"去掉?


[ 此贴被1+1在2008-07-09 14:13重新编辑 ]


[1 楼] | Posted:2008-07-09 14:08| 顶端
tata2007

头衔:孤独之狼孤独之狼
该用户目前不在线
级别: 火花会员
编号: 88604
精华: 6
发帖: 420
威望: 30 点
配偶: 单身
火 花 币: 20592 HHB
注册时间:2008-05-13
最后登陆:2015-04-27
艾雷布的骑士(I)
查看作者资料 发送短消息 引用回复这个帖子


下面是引用1+1于2008-07-09 14:08发表的:
好贴,问一下改哪里能把"最高取值100"去掉?

建议最好不要去掉这个限制,否则也许会导致未知的问题。


[ 此贴被tata2007在2008-07-10 01:02重新编辑 ]


圣战系谱TS改造版

[2 楼] | Posted:2008-07-09 22:58| 顶端
realwky



该用户目前不在线
级别: 火花会员
编号: 44164
精华: 0
发帖: 214
威望: 0 点
配偶: 单身
火 花 币: 337 HHB
注册时间:2005-09-25
最后登陆:2024-05-04
查看作者资料 发送短消息 引用回复这个帖子


原创技术帖既不加分也不加精吗?
[3 楼] | Posted:2008-07-17 21:51| 顶端
sunshin



该用户目前不在线
级别: 注册会员
编号: 47744
精华: 0
发帖: 30
威望: 0 点
配偶: 单身
火 花 币: 17173 HHB
注册时间:2005-12-21
最后登陆:2024-04-03
查看作者资料 发送短消息 引用回复这个帖子


楼主 使用仗的经验怎么改啊
[4 楼] | Posted:2008-09-04 15:52| 顶端
tata2007

头衔:孤独之狼孤独之狼
该用户目前不在线
级别: 火花会员
编号: 88604
精华: 6
发帖: 420
威望: 30 点
配偶: 单身
火 花 币: 20592 HHB
注册时间:2008-05-13
最后登陆:2015-04-27
艾雷布的骑士(I)
查看作者资料 发送短消息 引用回复这个帖子


下面是引用sunshin于2008-09-04 15:52发表的:
楼主 使用仗的经验怎么改啊

使用杖的经验基础值的地址在1F17F,原始数据是0a,改成你想要的数值就行了,不过别改得太大以免出问题。


圣战系谱TS改造版

[5 楼] | Posted:2008-09-06 17:39| 顶端
sunshin



该用户目前不在线
级别: 注册会员
编号: 47744
精华: 0
发帖: 30
威望: 0 点
配偶: 单身
火 花 币: 17173 HHB
注册时间:2005-12-21
最后登陆:2024-04-03
查看作者资料 发送短消息 引用回复这个帖子


下面是引用tata2007于2008-09-06 17:39发表的:

使用杖的经验基础值的地址在1F17F,原始数据是0a,改成你想要的数值就行了,不过别改得太大以免出问题。

谢谢楼主 再请教下系谱里这个地址在哪啊 麻烦你了

[6 楼] | Posted:2008-09-07 16:20| 顶端
tata2007

头衔:孤独之狼孤独之狼
该用户目前不在线
级别: 火花会员
编号: 88604
精华: 6
发帖: 420
威望: 30 点
配偶: 单身
火 花 币: 20592 HHB
注册时间:2008-05-13
最后登陆:2015-04-27
艾雷布的骑士(I)
查看作者资料 发送短消息 引用回复这个帖子


下面是引用sunshin于2008-09-07 16:20发表的:

谢谢楼主 再请教下系谱里这个地址在哪啊 麻烦你了

根据日站资料,应该在4fbd0地址,你试试。


圣战系谱TS改造版

[7 楼] | Posted:2008-09-07 17:42| 顶端
lincutt

头衔:FE & TO FansFE & TO Fans
该用户目前不在线
级别: 火花会员
编号: 20280
精华: 1
发帖: 456
威望: 0 点
配偶: 单身
火 花 币: 18274 HHB
注册时间:2004-06-30
最后登陆:2018-12-12
查看作者资料 发送短消息 引用回复这个帖子


下面是引用tata2007于2008-09-07 17:42发表的:

根据日站资料,应该在4fbd0地址,你试试。

哪個日站? tata兄可以分享一下嗎?
謝謝


[8 楼] | Posted:2008-09-07 20:01| 顶端
tata2007

头衔:孤独之狼孤独之狼
该用户目前不在线
级别: 火花会员
编号: 88604
精华: 6
发帖: 420
威望: 30 点
配偶: 单身
火 花 币: 20592 HHB
注册时间:2008-05-13
最后登陆:2015-04-27
艾雷布的骑士(I)
查看作者资料 发送短消息 引用回复这个帖子


就是那个febin.so.land.to啊,lincutt兄应该知道吧。

圣战系谱TS改造版

[9 楼] | Posted:2008-09-07 21:50| 顶端
lincutt

头衔:FE & TO FansFE & TO Fans
该用户目前不在线
级别: 火花会员
编号: 20280
精华: 1
发帖: 456
威望: 0 点
配偶: 单身
火 花 币: 18274 HHB
注册时间:2004-06-30
最后登陆:2018-12-12
查看作者资料 发送短消息 引用回复这个帖子


喔喔, 之前有看過
不過忘了把網址記下
有空再好好研究下
tata兄謝了


[10 楼] | Posted:2008-09-07 23:21| 顶端

火花天龙剑 -> 火花学园




Powered by PHPWind v3.0.1 Code © 2003-05 PHPWind
辽ICP备05016763号
Gzip enabled

You can contact us