发新话题
打印

[魔力私服分享] 关于技能经验倍数的完美修改及其他

关于技能经验倍数的完美修改及其他

查看工具妖城在线论坛1 `% d4 Q4 ]2 _$ {8 n
             IDA Pro版——看雪论坛有下载和相关教程
* m$ o( f4 I* f; J魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表   编辑工具魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表2 e- J# o) k: ]) z% D
             FlexHEX魔力私服,最新魔力宝贝私服技术交流) T* l# U* a  P
    妖城在线论坛* {( f2 q- D; _
             1.技能经验倍数的完美修改,淘汰以前那个带有后遗症的修改方法法—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート2 a* h. a% l8 g4 Q& H/ T: |# z1 A# x
             2.调教技能的修改,主要是针对100+以上宠物的忠诚问题,圆满解决方法和不圆满解决方法的介绍。
; t$ M; j1 P" q  A- v! F" q% R. y—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート             3.高等级技能的修改提示。+ P' n+ p* i% H. U% W- y" F2 [
第一部分,技能经验倍数
# J& H. U3 b& O% hbbs.mocwww.com   说到技能经验,练过法师的人估计都会深恶痛绝,烧技能简直就是自杀,就算是你有外挂,那也要在坎村留下你深深的足印再说。经验的修改我历经了两个过程,首先我想到的是改一个数值就达到这个要求,但是我没有办到,最后由此发展的第一次修改方法就是修改生产系的获得经验,修改战斗系获得的经验,这样子做不但相当的繁琐,而且还有一个严重的bug,那就是职业的双倍效果不见了,偏离了魔力的原来逻辑,深为遗憾。接着我找到了第二种修改方法,那就是现在这种不改变原数值的数据,在取得经验的基础上进行加倍处理放大,灵活性上面可能会比前一次要低,但是它能换来最初的想法和良好的程序结构,故惜之。
" J8 ]' C6 E: [$ S—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート   由于第一种修改方法太过繁琐,这里我们直接对第二种方法进行说明,这次我们要关注的函数是SKILLEXP_AmplifySkillExp(int, int, float)。这个函数的具体作用是对原经验数值进行放大和修正等处理。下面是我们摘录的一部分用得到的部分:4 ]" `; J8 E0 I8 \
   fld     [ebp+arg_8]
5 Z" L" R/ e/ I' I6 a魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表    push ebx魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表7 U$ D3 r3 m! E
    fstp [ebp+var_28]bbs.mocwww.com! W8 u( T$ ^$ s3 h$ C7 ]8 Q1 L
    mov     esi, [ebp+arg_4]
4 L: B5 ]* f* R8 V: v. v0 ^! ]bbs.mocwww.com    call CHAR_IsFeverTime
3 ]' y# H. ^! i: k/ @5 Q魔力私服,最新魔力宝贝私服技术交流    add     esp, 10h
9 F# H0 ^7 L4 T" @—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート    dec     eax妖城在线论坛! M4 G5 \5 r. M; Q0 s- }6 P
    fld     [ebp+var_28]
3 C% C6 Z( |0 r4 ~* B/ K    jz     loc_810A340bbs.mocwww.com- x) b. \+ Q, F% z7 D0 C2 h

, @/ S. _8 ?  ~妖城在线论坛   loc_810A24F:* g1 Y/ t3 b5 A  y  _$ H- F
   mov     ecx, ds:8C7BFA4h
. j3 ~6 m2 N! fbbs.mocwww.com    ……
5 R' a$ \+ W1 N9 ~. g2 I8 w0 A魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表   loc_810A340:
& e% _& p% I$ R3 N' M魔力私服,最新魔力宝贝私服技术交流   fadd st, st魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表% z1 h" r# ^+ P( o" ^
    jmp    loc_810A24F
2 a% W$ R& Q' S魔力私服,最新魔力宝贝私服技术交流
5 {5 u$ ~3 d% {1 w    这一部分主要的操作是对获得的经验进行打卡的双倍修正,之所以选择这一部分是因为这一部分经验恰好寄存在高速寄存器中,操作起来比较方便。我们可以把这个操作放在jz这个指令之前,fld指令之后增加fmul ds:倍数地址。剩下的就简单了,我们要做出能够挪这个指令的空间——6个指令空间。光是靠程序的夹缝空间是不够的,要凑够6个机器码位置我决定改变程序指令位置来取消某些跳转达到要求,把指令fadd st, st提前看来想个好主意。,提到前来我们就会取消其相关的jmp跳转指令(五个机器码),以及将现在的jz长指令(五个机器码)转换为jnz短指令(两个机器码)。如此一来我们就获得了需要的机器码位置,同时没有破坏原来的程序逻辑。改变后的程序结构:7 A( U/ p* z+ l/ R: |3 y( d
   fld     [ebp+arg_8]
1 z/ f2 M$ M' K8 y0 pbbs.mocwww.com    push ebxbbs.mocwww.com6 W# F  B9 x+ Z" z- g& ~  @) m: y
    fstp [ebp+var_28]魔力私服,最新魔力宝贝私服技术交流3 a8 r3 K, r3 p7 _
    mov     esi, [ebp+arg_4]
/ {( G) M& K# A. K% W) H+ h魔力私服,最新魔力宝贝私服技术交流    call CHAR_IsFeverTime
5 i' d" D. v* T8 @—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート    add     esp, 10h妖城在线论坛3 z7 U" m" r) N+ C9 z8 i4 i
    dec     eax—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート. O& W) S2 {7 {. |( L
    fld     [ebp+var_28]妖城在线论坛: v7 y0 N" W0 W* E7 G* o8 o2 P8 C* C
    fmul ds:倍数地址魔力私服,最新魔力宝贝私服技术交流0 x5 t8 [2 @! ^9 h% |3 R! Z8 s
   jnz    short loc_810A257
( l; x4 V- B& Obbs.mocwww.com    fadd st, st$ X! z3 d5 p8 ^" \7 @2 w6 ?; k7 [$ G% a
    short loc_810A257:
3 d1 u- ]; s! |$ h   mov     ecx, ds:8C7BFA4h
  }7 f) c) o8 v- S    ……妖城在线论坛) V9 a! t$ l* \' }9 r' k$ F
   接下来就是找一个地方来存放倍数,我们假设要设置为20倍,即为2.0e1,机器码为00 00 A0 41,不妨在空白的位置比如前几次用到过的位置184A00h输入00 00 F0 41,这样fmul ds:184A00h就可以做到经验翻倍了。
9 e) V# h& d2 M2 y, g6 Q- X0 s魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表第二部分 调教技能修改
/ R8 Q+ D8 k( u8 l2 a4 U   说到魔力就不能不谈谈它的宠物,说道宠物就会让我们想到一个职业——驯兽,还有驯兽的职业技能——宠物调教,让宠物百分之百听话超级技能。然而,随着100+等级的出现,10的调教远远制约不了100+宠物的行为,他们还是染上了外语病——只会说“NO”。本部分就此作出两种解决方案,并一一道来。1 b- W1 X9 S% ~- [' I' m' o8 R
   关于宠物忠诚的只有一个函数需要改动,那就是CHAR_CheckTrainSkill函数。截取重要部分如下:【已分析】
" U" p+ K9 r* F' n妖城在线论坛   mov     edx, 0Ah   //目前技能开放的最高等级
' f% d( g9 I* u7 H, a, w—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート   mov     eax, ebx   //将ebx中teach的id【7100-7109】送至eax
* R/ L' q. S  [3 z1 @* f妖城在线论坛    mov     ecx, edx   //为除数赋值
& a; Y. `& U% w) `. v: W3 U+ r% R7 b2 `—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート   cdq //被除数合成edx:eax
+ X5 _$ O+ d" b: P# a- f. n- B妖城在线论坛    idiv ecx //相除,商存放在eax,余数【即技能等级-1】存放在edx
, ?" M; b+ o  b2 _' b妖城在线论坛   lea     edx, [edx+edx*4+5] //5倍【技能等级】
( P" {1 o* l3 X* Bbbs.mocwww.com   lea     edx, [edx+edx*4] //25倍【技能等级】
" O* P0 \$ K0 z魔力私服,最新魔力宝贝私服技术交流   lea     edx, [edx+edx*4] //125倍【技能等级】魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表- [% J- d; x* i9 p: b$ ?
   lea     eax, ds:0[edx*8] //1000倍【技能等级】魔力私服,最新魔力宝贝私服技术交流% i5 _  m& d4 \' B9 q
   cdq
" p& k2 n/ D, Q7 B: d魔力私服,最新魔力宝贝私服技术交流    mov     ecx, [ebp+arg_4] 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表. w5 H' ^8 ?8 {% _. u4 _* D
    idiv dword ptr [ecx+2Ch] 妖城在线论坛/ v; P# N7 S- Y" l! ^) B
    add     esp, 10h  
. A* ?9 Q4 R0 A0 {" z- [5 G3 }* G妖城在线论坛    cmp     eax, 3Bh  
) Y) z* r) [6 @# Q( Q4 W魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表    jg    short loc_806F56F 6 L5 E4 `+ J3 Z9 n, ^3 ~
    下面没有写分析的这份我猜测是取出宠物等级,然后相除。只看看前面分析的部分,我们已经找到了答案,lea引发的一段公式是我们最终锁定的关键代码。由于这个函数整体结构已经十分的紧凑,要想从结构上获取更多的机器码空间机会很小,不过还是在程序的最末尾,我们找了一个可以实现从长指令到短指令转换机会:
$ v7 M+ H, ~; V, O5 C# J* z魔力私服,最新魔力宝贝私服技术交流   cmp     eax, [ebp+arg_8]
- q9 }+ f( w! g4 u5 u% f    jle     loc_806F453bbs.mocwww.com7 I9 E/ x' c/ Y. l3 d* c4 @. ^
    mov     eax, [ebp+arg_8]
5 p/ M1 ?+ _* E7 V+ w魔力私服,最新魔力宝贝私服技术交流    mov     ecx, [ebp+arg_4]$ p5 k. s7 C1 q; P8 e: A7 U! ?7 u9 Y0 e
    mov     [ecx+610h], eax妖城在线论坛8 f) N, s  L, D3 g) j* c) x
    mov     eax, 0FFFFFFFFh" F7 d: F" J& h9 Q0 ^" Z
    jmp     loc_806F453魔力私服,最新魔力宝贝私服技术交流0 y& b, a( h( }8 h6 F5 F9 u4 w( z4 [
    这里的jle用的长指令,我们修改为短指令,并把它指向下面的jmp指令,其作用是一样的,但能为我们节约了4个机器码空间,清除程序花指令,最后我们确定能用的的机器码空间最大为7个机器码空间。魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表$ L5 G$ i: y6 \: }3 O9 e% Z
   好了,到此关于源程序的分析和整理已经结束了,现在开始介绍如何去实现我们的功能。关于忠诚度的调节有两个不同的分支,其中一种分支是:1级到9级调教和官方一样,只改变10级的调教,使其能把所有等级的宠物忠诚提高到100;另一种分支是提升每一等级的所能控制宠物100忠的等级,每一级控制最高等级的十分之一。这两种方法都能实现宠物忠诚度100,但是因为原理不一样,其优劣也各异。
: b8 a5 s  k4 C* B! l) |魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表   下面我们以120级和160级为例子分别先来以第二种原理实现宠物忠诚的100。这种方法的好处是我们不必判断当前技能的等级,只要修改公式部分就可以了【上面加红的那部分】。我们首先实现120级公式,即1200【技能等级】的实现:bbs.mocwww.com& e" y! t1 h8 @$ |  G# e: {! d, l8 Y: c
   原100级的公式
  z$ X6 A" `% x; Kbbs.mocwww.com   【4】lea     edx, [edx+edx*4+5] //5倍【技能等级】
, e! O3 ]5 L2 r( \* abbs.mocwww.com   【3】lea     edx, [edx+edx*4] //25倍【技能等级】
! F6 h8 G1 f$ G   【3】lea     edx, [edx+edx*4] //125倍【技能等级】魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表  u1 b* F7 x0 w6 T, }# b) z9 o
   【7】lea     eax, ds:0[edx*8] //1000倍【技能等级】—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート/ H* I/ Y; ~7 p- w2 [3 L: v- N/ a* y
   共17个机器码。
$ K( K) K- Z; O: ]) ^. S+ n! D妖城在线论坛   120级的公式
4 y: n0 |; u7 M: @5 ebbs.mocwww.com   【4】lea     edx, [edx+edx*4+5] //5倍【技能等级】
8 c; U, D* S1 n! M4 O2 L2 S- m魔力私服,最新魔力宝贝私服技术交流   【3】lea     edx, [edx+edx*4] //25倍【技能等级】魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表; _; `9 ~4 t; U2 @. f5 x0 f; l
   【3】lea     edx, [edx+edx*2] //75倍【技能等级】
0 c# \  [- y8 D/ q/ X  D% o( ]) R魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表   【7】lea     edx, ds:0[edx*2] //150倍【技能等级】bbs.mocwww.com, C# {; h4 n/ H* R8 N
   【7】lea     eax, ds:0[edx*8] //1200倍【技能等级】" R* f7 n7 R( Z4 o+ q0 l
   共24个机器码,比原来的多了7的机器码,因为整理出了7个机器码位置,所以可以。—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート! C7 c8 ]& {4 Y7 W0 K
   160级的公式
  e) E! ?3 ]7 R# K" s$ m% {魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表   【4】lea     edx, [edx+edx*4+5] //5倍【技能等级】—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート+ m; d$ U7 k3 j. W- N  Y2 _
   【3】lea     edx, [edx+edx*4] //25倍【技能等级】
, M+ w! b! L4 `3 e) [' F( a1 Ubbs.mocwww.com   【7】lea     edx, ds:0[edx*8] //200倍【技能等级】
9 P" H1 C( a$ B* V/ p+ j! b- \4 B魔力私服,最新魔力宝贝私服技术交流   【7】lea     eax, ds:0[edx*8] //1600倍【技能等级】妖城在线论坛$ I+ d" r* d( t; D$ c: g+ a
   21个机器码,比原来的多了4的机器码,因为整理出了7个机器码位置,所以可以。
- l9 B, ^" ?+ vbbs.mocwww.com   由此也可以看出此方法修改暴露出来的缺点,那就是公式的限制使得最高等级不能随心所欲,必须要在指定的机器码范围内实现的等级才可以由此方法修改。修改后的改变如下:
" G! P% t% P( b5 ?& a   忠诚100的最高等级魔力私服,最新魔力宝贝私服技术交流; {+ r  y9 v  \0 O
   100级的公式—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート/ ^* Z: [: ?! t/ x2 E1 @
   1/10 2/20 3/30 4/40 5/50 6/60 7/70 8/80 9/90 10/100
2 G8 ?3 z8 S1 ^9 _0 v0 Z妖城在线论坛    120级的公式
  Y7 J: E2 w  w5 @魔力私服,最新魔力宝贝私服技术交流   1/12 2/24 3/36 4/48 5/60 6/72 7/84 8/96 9/108 10/120
- Y4 b. g0 H/ Y1 @—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート    160级的公式
6 N6 f8 t2 F: x/ C( x" \8 R—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート   1/16 2/32 3/48 4/64 5/80 6/96 7/112 8/128 9/144 10/160 —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート$ J: P' f, J* L: \+ d  E
    下面介绍第一种原理的修改方法,这个也是让我绞尽脑汁的一种修改方法,原因很简单,找不到地方放代码!想想我们不修改公式,因为前9级还要用,所以用七个机器码要实现的功能如下:
4 A8 b, K4 H: m0 z: F' v魔力私服,最新魔力宝贝私服技术交流   判断是否到了10级
, d% |& e- b5 ]6 s1 L) s   如果到了10级则用一种方法实现宠物忠诚100
$ a, o3 v! x. E* A' E4 w, t—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート    如果没到10级,则继续进行原来的操作—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート! \; M# u* |' ]
   所以必不可少的语句包括cmp edx,9这个比较,还要有比较结果的处理jl源程序的地址,这两个语句下来共有5个机器码消耗掉,还剩下2个机器码,经过慎重考虑,我决定给这两个机器码添做mov edx,eax。此时,eax存放着techid和最高等级的商,所以我想它的值应该在710左右,也就是说,这种改法最高能使7100级的宠物忠诚100,但是我想7100级很少有人会超过,应该没什么问题的。修改后程序如下:
5 I5 p7 K+ l6 n. w6 S3 }—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート   mov     edx, 0Ah   //目前技能开放的最高等级bbs.mocwww.com3 Q0 _* u6 y6 y3 ?' j
   mov     eax, ebx   //将ebx中teach的id【7100-7109】送至eax: l/ p! H+ r6 j# V  m
    mov     ecx, edx   //为除数赋值妖城在线论坛9 h+ Z/ o/ ?# |0 c9 I
   cdq //被除数合成edx:eaxbbs.mocwww.com* U% W" q. o% b+ x* _
    idiv ecx //相除,商存放在eax,余数【即技能等级-1】存放在edx
. ^$ w! ^2 k) k4 n妖城在线论坛魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表# ^7 J, g7 a7 @! T4 s1 _" N7 c4 a
   cmp     edx,9
2 r/ O  u1 I) j# l* A5 w    jl    公式: |0 L5 d: y$ j, q. a. a
   mov    edx,eax5 [" V( ^* o& S: ~( r& U/ k
1 t2 A' ?. u) u& K& H
    公式:
& c  X, g3 l4 B" K/ E  L4 ]! p魔力私服,最新魔力宝贝私服技术交流   lea     edx, [edx+edx*4+5] //5倍【技能等级】
- g% s2 q+ \/ @, m' u0 Z   lea     edx, [edx+edx*4] //25倍【技能等级】
: \6 _" J/ b4 R4 C妖城在线论坛   lea     edx, [edx+edx*4] //125倍【技能等级】魔力私服,最新魔力宝贝私服技术交流  A. E: }. `5 Y) [% @; Q! x) i9 T
   lea     eax, ds:0[edx*8] //1000倍【技能等级】
: B8 F$ V% X8 o# z& c魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表   cdq
: m9 z$ i; m. ?8 E4 h4 }妖城在线论坛    mov     ecx, [ebp+arg_4]
0 `- ?5 A: b0 K  x3 a# z魔力私服,最新魔力宝贝私服技术交流    idiv dword ptr [ecx+2Ch]
9 }0 S' @& |. j  g- H: H妖城在线论坛    add     esp, 10h  魔力私服,最新魔力宝贝私服技术交流% w! P- t4 G2 I: C, o
    cmp     eax, 3Bh  
) `2 O" _. Y- @7 V' k9 p—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート    jg    short loc_806F56F魔力私服,最新魔力宝贝私服技术交流$ R8 \1 }  w: ?+ A
    这种修改方法的弊端只有一个,就是7100级的限制问题,这个应该问题不大。至此,第二部分,调教的修改方法结束。妖城在线论坛3 U, z9 q5 i1 T3 U$ ]
第三部分 高等级技能的修改提示7 l5 e* X+ t0 f5 N7 V
   由于一些其他的原因,这个部分只是象征性的提一下,大家不要较真,我每次可能会说一点,这次主要说输入部分,即txt文本中的10级以上的经验如何入读进去内存中。这次我们关注的函数SKILLEXP_initSkillExp(char *filename)函数,这个函数默认是读取280个地址,即7行10列数值,为了不对其他的内存中数值造成影响,我选则高变原来的布局,即从7行变为四行,而读取的数值为60*4=240个空间。由此对应的文本文件skill.txt也要做出相应的修改,以避免不必要的麻烦。下面是几个需要的改动,我只能简略的说下改动原因,毕竟这是个不完整的修改,只是某个修改中的一部分。
  L- z- x' ]# I% q—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート   第一个修改:bbs.mocwww.com. t1 s6 V* n7 r8 @. F5 g1 T# e
   lea     edx, [ebp+s]
) ]6 J3 \3 _# p- g4 M魔力私服,最新魔力宝贝私服技术交流    这里注意s此时的值已经改变了,从原来的-118更改为-f0,这个是经验值获取的起点,所以必须的修改。
4 N* \) z3 Q. m- V9 t. d" P0 w—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート   mov     al, [ebp+s]
/ Y7 c6 G$ M$ c! ]7 G魔力私服,最新魔力宝贝私服技术交流    理由同上。妖城在线论坛% q) L" J  L( ]* v3 r9 {
   cmp     ecx, 9,
% O3 \$ t! y, q3 b1 H   这个出现了好几次,因为我们已经把每行改成了15列,所以这个值相应的更改为0e。
3 J- W& A$ M) a. S/ W* _' |# m—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート   add     eax, 2Chbbs.mocwww.com" P9 E/ k% E4 B6 D& X6 I
    add     edi, 2Ch魔力私服,最新魔力宝贝私服技术交流. w( r7 E% g# y4 ?& R
    这两个值也是必须修改的,原理同上,此时数值应该是40。还有其下面的公式也要变更为15列。

TOP

发新话题