发新话题
打印

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

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

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

" d' U# U* Y- M& K: n6 f( lbbs.mocwww.com   loc_810A24F:—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート( n7 r, P& ^! U
   mov     ecx, ds:8C7BFA4h魔力私服,最新魔力宝贝私服技术交流/ X; U" E! d3 V- H1 X
    ……
. {  q1 h# [* g& P  O! b" A! h2 q) Z0 Ebbs.mocwww.com   loc_810A340:魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表* |: _& ^) I) s% O& G9 P
   fadd st, st
) b2 |: A  D- L1 e. m妖城在线论坛    jmp    loc_810A24F
) _5 i2 w; I2 w( ?1 y2 J—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート- R% O* Z9 F/ \4 B
    这一部分主要的操作是对获得的经验进行打卡的双倍修正,之所以选择这一部分是因为这一部分经验恰好寄存在高速寄存器中,操作起来比较方便。我们可以把这个操作放在jz这个指令之前,fld指令之后增加fmul ds:倍数地址。剩下的就简单了,我们要做出能够挪这个指令的空间——6个指令空间。光是靠程序的夹缝空间是不够的,要凑够6个机器码位置我决定改变程序指令位置来取消某些跳转达到要求,把指令fadd st, st提前看来想个好主意。,提到前来我们就会取消其相关的jmp跳转指令(五个机器码),以及将现在的jz长指令(五个机器码)转换为jnz短指令(两个机器码)。如此一来我们就获得了需要的机器码位置,同时没有破坏原来的程序逻辑。改变后的程序结构:
% w7 {! ?, J4 p+ C6 B" I  ^bbs.mocwww.com   fld     [ebp+arg_8]
6 l" @# ]( _; H# ^, z    push ebxbbs.mocwww.com* J% ^* w. j) L8 j# W6 [
    fstp [ebp+var_28]
* t: |( I' o8 f( |4 r% L. D2 i魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表    mov     esi, [ebp+arg_4]
+ W- O1 M; E! P) mbbs.mocwww.com    call CHAR_IsFeverTime
% f- m: P: k8 i, O6 zbbs.mocwww.com    add     esp, 10h% p) m/ J0 c, P) U
    dec     eax—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート7 z) ]) C4 `0 C$ f; C6 N
    fld     [ebp+var_28]
8 m% n  y, q, |1 j; r妖城在线论坛    fmul ds:倍数地址
8 A4 }) D3 j/ @$ \- w) |魔力私服,最新魔力宝贝私服技术交流   jnz    short loc_810A257—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート4 y' z% G: E6 ^) e8 V
    fadd st, st—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート! b; ?/ ^+ k2 {# G. Z
    short loc_810A257:: v8 s. }, K8 g& q2 E4 M: b2 f; k
   mov     ecx, ds:8C7BFA4h0 a, _1 g  W2 G
    ……
4 x7 |& Q: b/ L) M妖城在线论坛   接下来就是找一个地方来存放倍数,我们假设要设置为20倍,即为2.0e1,机器码为00 00 A0 41,不妨在空白的位置比如前几次用到过的位置184A00h输入00 00 F0 41,这样fmul ds:184A00h就可以做到经验翻倍了。% ]! B9 v4 x( t
第二部分 调教技能修改
& o6 [& ?, u7 F# p  V   说到魔力就不能不谈谈它的宠物,说道宠物就会让我们想到一个职业——驯兽,还有驯兽的职业技能——宠物调教,让宠物百分之百听话超级技能。然而,随着100+等级的出现,10的调教远远制约不了100+宠物的行为,他们还是染上了外语病——只会说“NO”。本部分就此作出两种解决方案,并一一道来。
* ?0 E$ X  N  |7 |/ f" J, y魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表   关于宠物忠诚的只有一个函数需要改动,那就是CHAR_CheckTrainSkill函数。截取重要部分如下:【已分析】  t7 G" L3 @- u) q+ o
   mov     edx, 0Ah   //目前技能开放的最高等级
9 b+ d* v# H0 @* L0 S4 W. t3 ybbs.mocwww.com   mov     eax, ebx   //将ebx中teach的id【7100-7109】送至eax
/ L- l4 I2 \' e3 a# xbbs.mocwww.com    mov     ecx, edx   //为除数赋值
  R' b+ K. ~- p8 _5 t6 u" s: t: T5 Z魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表   cdq //被除数合成edx:eax
+ ~  P0 U  G4 w2 F8 r9 Y妖城在线论坛    idiv ecx //相除,商存放在eax,余数【即技能等级-1】存放在edx
$ _* U5 @1 Q7 m$ T  Cbbs.mocwww.com   lea     edx, [edx+edx*4+5] //5倍【技能等级】魔力私服,最新魔力宝贝私服技术交流; U, M2 Z8 c$ h- |7 a$ i
   lea     edx, [edx+edx*4] //25倍【技能等级】魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表! }$ a5 F: R- s
   lea     edx, [edx+edx*4] //125倍【技能等级】妖城在线论坛4 `1 A8 ]# _; E2 t  ?+ ^" K- |
   lea     eax, ds:0[edx*8] //1000倍【技能等级】
1 [9 W3 R) f- b) }, _3 S) f3 ~魔力私服,最新魔力宝贝私服技术交流   cdq
! l% k: U2 d- c2 \0 B" M: ]魔力私服,最新魔力宝贝私服技术交流    mov     ecx, [ebp+arg_4] bbs.mocwww.com* C$ }2 g5 r" h# ?# g1 K. p
    idiv dword ptr [ecx+2Ch] —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート' R0 A6 U! }1 v* }
    add     esp, 10h  & G2 p. j# ~" E3 ^' D  Q
    cmp     eax, 3Bh  bbs.mocwww.com- N% n0 Z; y. E
    jg    short loc_806F56F 妖城在线论坛+ U. ?4 {: L8 Y( P; M4 a+ p
    下面没有写分析的这份我猜测是取出宠物等级,然后相除。只看看前面分析的部分,我们已经找到了答案,lea引发的一段公式是我们最终锁定的关键代码。由于这个函数整体结构已经十分的紧凑,要想从结构上获取更多的机器码空间机会很小,不过还是在程序的最末尾,我们找了一个可以实现从长指令到短指令转换机会:—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート: @/ E% v' Q6 \+ T$ y0 }
   cmp     eax, [ebp+arg_8]魔力私服,最新魔力宝贝私服技术交流# K, n: e& f' w2 V) @4 k
    jle     loc_806F453
) e, A- o  B! l—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート    mov     eax, [ebp+arg_8]
7 b. O( y; Y# L9 g1 _# vbbs.mocwww.com    mov     ecx, [ebp+arg_4]魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表* |+ q; l) w4 x0 U3 j- p9 a
    mov     [ecx+610h], eax; b" |: @8 S1 X, }$ M
    mov     eax, 0FFFFFFFFh
3 M' }9 r( E0 d% R9 c& w+ z! s# abbs.mocwww.com    jmp     loc_806F453
0 {9 \) ]6 N9 g4 u魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表    这里的jle用的长指令,我们修改为短指令,并把它指向下面的jmp指令,其作用是一样的,但能为我们节约了4个机器码空间,清除程序花指令,最后我们确定能用的的机器码空间最大为7个机器码空间。bbs.mocwww.com# c9 \4 j" L$ ^
   好了,到此关于源程序的分析和整理已经结束了,现在开始介绍如何去实现我们的功能。关于忠诚度的调节有两个不同的分支,其中一种分支是:1级到9级调教和官方一样,只改变10级的调教,使其能把所有等级的宠物忠诚提高到100;另一种分支是提升每一等级的所能控制宠物100忠的等级,每一级控制最高等级的十分之一。这两种方法都能实现宠物忠诚度100,但是因为原理不一样,其优劣也各异。
) o- d; t, m3 L   下面我们以120级和160级为例子分别先来以第二种原理实现宠物忠诚的100。这种方法的好处是我们不必判断当前技能的等级,只要修改公式部分就可以了【上面加红的那部分】。我们首先实现120级公式,即1200【技能等级】的实现:—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート! U" z" N$ C; T( c( I& ^" w: d
   原100级的公式bbs.mocwww.com7 m: x1 J6 P+ _# w8 c( M
   【4】lea     edx, [edx+edx*4+5] //5倍【技能等级】妖城在线论坛3 ^7 r- W, l  y. ?% C  j
   【3】lea     edx, [edx+edx*4] //25倍【技能等级】魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表! c+ @/ W- n  }$ N( s7 {; [
   【3】lea     edx, [edx+edx*4] //125倍【技能等级】
% O; e: U8 c8 L* @   【7】lea     eax, ds:0[edx*8] //1000倍【技能等级】
% P, `. k8 U/ I5 u& [9 F3 Z% V/ |* R7 p魔力私服,最新魔力宝贝私服技术交流   共17个机器码。
5 _% ~$ r. D1 ~, P* P, @  fbbs.mocwww.com   120级的公式—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート5 h' g6 a2 o. F  V7 r. `1 d% d
   【4】lea     edx, [edx+edx*4+5] //5倍【技能等级】—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート* ^& @2 K$ \8 N2 H4 W8 R
   【3】lea     edx, [edx+edx*4] //25倍【技能等级】
' D* i5 Y+ D9 z" U—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート   【3】lea     edx, [edx+edx*2] //75倍【技能等级】bbs.mocwww.com3 m" S% ]4 }. }1 p4 P/ |0 k! e
   【7】lea     edx, ds:0[edx*2] //150倍【技能等级】魔力私服,最新魔力宝贝私服技术交流9 P( O2 Z; ^7 a( Q$ D) p
   【7】lea     eax, ds:0[edx*8] //1200倍【技能等级】魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表0 d2 R+ O: G- U; Z, P6 p. v) W
   共24个机器码,比原来的多了7的机器码,因为整理出了7个机器码位置,所以可以。bbs.mocwww.com4 _% K. b7 z4 s, C
   160级的公式魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表3 F% n2 e7 Z4 K1 \& _8 p
   【4】lea     edx, [edx+edx*4+5] //5倍【技能等级】
2 O7 Q5 _; J% L. x  ~$ l$ ?* `8 i1 t* X妖城在线论坛   【3】lea     edx, [edx+edx*4] //25倍【技能等级】妖城在线论坛: e3 \' t; @0 S' o
   【7】lea     edx, ds:0[edx*8] //200倍【技能等级】—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート& B1 x7 ]; o& L- V
   【7】lea     eax, ds:0[edx*8] //1600倍【技能等级】妖城在线论坛! E3 F7 a$ }5 \1 V+ p& S- H
   21个机器码,比原来的多了4的机器码,因为整理出了7个机器码位置,所以可以。
+ A# D3 ]3 B$ j. ]bbs.mocwww.com   由此也可以看出此方法修改暴露出来的缺点,那就是公式的限制使得最高等级不能随心所欲,必须要在指定的机器码范围内实现的等级才可以由此方法修改。修改后的改变如下:—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート4 M6 `" B+ Y' X. @# O; \7 F( V
   忠诚100的最高等级# i: W: S0 o; M, i1 V
   100级的公式
9 x! X2 U* G5 a魔力私服,最新魔力宝贝私服技术交流   1/10 2/20 3/30 4/40 5/50 6/60 7/70 8/80 9/90 10/100
5 l, v% C2 m) B4 J- o$ l9 t魔力私服,最新魔力宝贝私服技术交流    120级的公式
4 `6 o$ l2 m' y/ b+ a* h' D妖城在线论坛   1/12 2/24 3/36 4/48 5/60 6/72 7/84 8/96 9/108 10/120& `( P) z$ e0 q! I, {0 z% F
    160级的公式魔力私服,最新魔力宝贝私服技术交流: p! u) O8 j8 m1 ]/ \
   1/16 2/32 3/48 4/64 5/80 6/96 7/112 8/128 9/144 10/160
, C7 B% V9 W' j9 f& L6 D3 Z1 v+ j—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート    下面介绍第一种原理的修改方法,这个也是让我绞尽脑汁的一种修改方法,原因很简单,找不到地方放代码!想想我们不修改公式,因为前9级还要用,所以用七个机器码要实现的功能如下:
! s5 U1 d/ k! K! g) {—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート   判断是否到了10级  [) D1 f9 C# l+ E$ [2 T
   如果到了10级则用一种方法实现宠物忠诚100—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート* F" D5 ~* A  c0 e$ q4 c! m
    如果没到10级,则继续进行原来的操作魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表; h7 s9 k6 _) T0 d. c' a
   所以必不可少的语句包括cmp edx,9这个比较,还要有比较结果的处理jl源程序的地址,这两个语句下来共有5个机器码消耗掉,还剩下2个机器码,经过慎重考虑,我决定给这两个机器码添做mov edx,eax。此时,eax存放着techid和最高等级的商,所以我想它的值应该在710左右,也就是说,这种改法最高能使7100级的宠物忠诚100,但是我想7100级很少有人会超过,应该没什么问题的。修改后程序如下:
& m! t/ c! t0 `) [0 zbbs.mocwww.com   mov     edx, 0Ah   //目前技能开放的最高等级
9 O! Y1 c$ ?3 @! u* q7 N: b   mov     eax, ebx   //将ebx中teach的id【7100-7109】送至eax
3 Q* O$ S* [) j4 {: p3 A/ G魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表    mov     ecx, edx   //为除数赋值
3 D5 b" v$ q- Y, y9 }( Gbbs.mocwww.com   cdq //被除数合成edx:eax
0 v/ U& `& s* [) o: J* K% y妖城在线论坛    idiv ecx //相除,商存放在eax,余数【即技能等级-1】存放在edx& @1 i( M( z3 ~$ z/ T: c- k. U0 q0 ]9 n
$ y, a. e. n8 G" i
   cmp     edx,9魔力私服,最新魔力宝贝私服技术交流' @! w% h2 q8 R) a, [1 |
    jl    公式
+ H( G2 A* }' e" r3 K' K妖城在线论坛   mov    edx,eax
" h* i: e/ G( @( \$ k, X" ^妖城在线论坛
9 [3 A. J9 |9 J! Z& E3 @1 _6 [    公式:bbs.mocwww.com. l9 f) u( D5 a+ ^# S
   lea     edx, [edx+edx*4+5] //5倍【技能等级】
7 v6 A$ ~4 ]5 y8 b+ a0 Kbbs.mocwww.com   lea     edx, [edx+edx*4] //25倍【技能等级】
  ~) w5 n7 X3 `; N" ]魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表   lea     edx, [edx+edx*4] //125倍【技能等级】—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート  q/ I. m: q( G$ A$ v* f8 V' J% F" ]
   lea     eax, ds:0[edx*8] //1000倍【技能等级】
' |5 o5 q4 H1 }0 }% X  e  K   cdq
  |0 q3 q9 n2 ]2 l妖城在线论坛    mov     ecx, [ebp+arg_4] - k7 D5 g  P+ f) s; Y! a: }
    idiv dword ptr [ecx+2Ch]
+ i' v, A' I; b魔力私服,最新魔力宝贝私服技术交流    add     esp, 10h  
& X) ?& w+ n  o4 p7 c2 `/ L魔力私服,最新魔力宝贝私服技术交流    cmp     eax, 3Bh  魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表2 |( D) O, s/ C( f) {
    jg    short loc_806F56F—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート* _" u: t, I+ G. U- ]! g/ ]0 V
    这种修改方法的弊端只有一个,就是7100级的限制问题,这个应该问题不大。至此,第二部分,调教的修改方法结束。妖城在线论坛5 r# [; M6 c) G% r1 r( J- L4 U
第三部分 高等级技能的修改提示—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート. }% Z2 ^6 i  ^$ y5 u
   由于一些其他的原因,这个部分只是象征性的提一下,大家不要较真,我每次可能会说一点,这次主要说输入部分,即txt文本中的10级以上的经验如何入读进去内存中。这次我们关注的函数SKILLEXP_initSkillExp(char *filename)函数,这个函数默认是读取280个地址,即7行10列数值,为了不对其他的内存中数值造成影响,我选则高变原来的布局,即从7行变为四行,而读取的数值为60*4=240个空间。由此对应的文本文件skill.txt也要做出相应的修改,以避免不必要的麻烦。下面是几个需要的改动,我只能简略的说下改动原因,毕竟这是个不完整的修改,只是某个修改中的一部分。
1 V* b  m; }& \, q' Z—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート   第一个修改:妖城在线论坛+ v6 @! [% D6 t( u' |* H
   lea     edx, [ebp+s]
3 E; v( B( f9 G0 o* b3 P魔力私服,最新魔力宝贝私服技术交流    这里注意s此时的值已经改变了,从原来的-118更改为-f0,这个是经验值获取的起点,所以必须的修改。妖城在线论坛: a; [) [2 y, h. h  g) [7 S
   mov     al, [ebp+s]妖城在线论坛+ i; H4 d( [2 d  U
    理由同上。魔力私服,最新魔力宝贝私服技术交流9 j* I1 D# a. L9 ^6 A8 M- @
   cmp     ecx, 9,: Z/ C) y0 m6 j) e! t5 V
   这个出现了好几次,因为我们已经把每行改成了15列,所以这个值相应的更改为0e。
8 D+ i% b% `0 D: e0 h妖城在线论坛   add     eax, 2Ch
. A/ N. w7 }" D( r$ d7 w妖城在线论坛    add     edi, 2Ch
! C9 N. x7 C! A; i* }, w# N魔力私服,最新魔力宝贝私服技术交流    这两个值也是必须修改的,原理同上,此时数值应该是40。还有其下面的公式也要变更为15列。

TOP

复制?
分享大神美德呀!分享大神美德呀!分享大神美德呀!
难道只拿东西不回么?很疑问呐...

TOP

回复 沙发 的帖子

支持下,好东西。可惜看着汇编就头疼。

TOP

TOP

发新话题