发新话题
打印

修改gmsv制造出我们想要的脚本语句【第三篇】

修改gmsv制造出我们想要的脚本语句【第三篇】

示范帖子在这里:http://bbs.mocwww.com/thread-20416-1-1.html
5 T  d5 t) C3 ?% G魔力私服,最新魔力宝贝私服技术交流这是第三篇,我的目的是大家在大概明白第二篇的意思的基础上再来看这篇,所以这一篇就不是一句一句地分析了。' u, D6 z# |9 A3 b' ^0 N) @3 [$ u
接着上一篇遗留下来的问题,找到set_level下面的一个函数,add_gold_level。
- b1 N9 W5 i& N/ l—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート我很疑惑gmsv开发这个脚本语句做什么用,说实话我是觉得没什么用。妖城在线论坛1 j, P* n% j+ x' g2 H
bbs.mocwww.com9 c% j6 o( x4 E7 d2 e
大家都知道这个这个脚本语句:addgold
. n1 |! b- G6 ]! D( H) @妖城在线论坛addgoldlevel addgold 其实只差了一点,前者给予金钱的数目是脚本内设定值 * 等级。
7 e" k& O. Y3 P" ]& o2 k妖城在线论坛两者的格式都是一样的: addgold   num1,(num2)
/ z! K3 Y" @' G! W妖城在线论坛
num1是设定给予的金钱数,num2是对应msg的编号,可省略。num2必须加括号。
; j, |; S0 @" r妖城在线论坛num2的意义就是如果你不想在这个脚本结束之后让玩家看到类似:失去(得到)了xxxx金币之类的提示,你可以让客户端显示自己想要的提示。妖城在线论坛- X  B8 D5 m0 U$ d0 g

& }) e6 D2 |7 r# F# c) }魔力私服,最新魔力宝贝私服技术交流下面加了下划线的是函数名称,没加下划线的是脚本语句。魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表, m9 r1 ?) e# @2 Q# W
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート% I: u6 F! X; }9 V" s! c: o' K) M1 L
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
3 [& p8 b/ }( O8 Q9 ^2 d—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート5 X6 j( x$ |- x7 l% ~: ]
下面我们就拿这个函数来开刀!看图:
! o- x. o* L" I* T魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表先说明一下:这个图是我拼成的(真难拼,比上篇的函数长……),蓝色的框是该函数没改之前的样子,框对应位置应该能看懂吧?bbs.mocwww.com6 r7 A4 ~) ~* Q% j3 X
注1:魔力私服,最新魔力宝贝私服技术交流( u3 z$ r0 L1 ~. h1 v
这个我不多说了。参见上一篇。—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート8 p( ^$ i) L! G) Z( @
注2:妖城在线论坛1 R  h- u# r  e5 Z9 N. D3 _
参见注1。不过这里是第2个参数。妖城在线论坛) R" |! w0 h6 R/ [/ N; p2 K& V7 C/ V
注3:
: a8 z' o% D: x3 Q& K/ ^- E- [魔力私服,最新魔力宝贝私服技术交流这里4个nop对应于右边蓝色框里面的第一句话。bbs.mocwww.com: y/ @5 w2 D  L3 L7 z( p. W+ M
imul  ebx,[esi+2Ch]   是将等级与脚本设定给予金钱值相乘。这句话也是 add_gold_level 跟 add_gold 唯一不同的地方哦!魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表3 r( U* o- X  Z& F
注4:) \/ x: }0 n; J2 R
为什么把原来的 E0 改成 B0 参见上一篇的注7部分。—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート9 p! K/ f) r0 `/ X9 ~+ c
注5:魔力私服,最新魔力宝贝私服技术交流: T. G+ t3 T( Y# d
换算一下:0F4240h == 1000000,而1B3CE68h == 28561000,是130的四次方除以10,我的F设定的是130级满级10倍经验。) I  x1 L; G$ ~' t, [0 Q6 |
至于上面框里的 js 就是档小于零则跳转,实现了经验不能为负数;魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表3 H- S- {+ p, j% I7 d: I
这个框里的 jle 是小于等于则跳转,实现了经验上限控制。注意这里两个跳转的红绿线走向。
3 q. F3 K: ?7 H; qbbs.mocwww.com注6:魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表: T6 O0 m* C& H8 m7 J: h
参见注4。
+ ?, z/ x+ k( R6 W* p: ybbs.mocwww.com注7:
8 i9 q  F" V8 Jbbs.mocwww.com这里原本是80000000h,改成0FFFFFFFFh,这样才能在经验改变之后立即显示出来,这里晕了我下……
/ @1 N# h6 [! O4 a+ |魔力私服,最新魔力宝贝私服技术交流注8注9:魔力私服,最新魔力宝贝私服技术交流# z. [+ `4 U! L1 P% T
这里是获得和减少经验值的提示语句,我把它放到了偏移地址为13E358h和13E36Ch的位置。我写的是:
6 e$ X: u9 H# j$ L魔力私服,最新魔力宝贝私服技术交流偏移地址为13E358h的位置,写:“获得了%d经验值。”魔力私服,最新魔力宝贝私服技术交流' l" a- N: i" k
偏移地址为13E36Ch的位置,写:“失去了%d经验值。”bbs.mocwww.com' A0 v6 A3 F( p5 |8 k( I
好了,如果你的 gmsv 改到这里了,那么只要你在你的脚本里面写诸如:addgoldlevel +5000之类的,那么就会增加5000经验了。—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート' h$ k6 s1 }5 W
我们不是想要自己的脚本语句吗!
3 g0 Q6 T+ E/ }/ Abbs.mocwww.com那么用UE打开 gmsv ,我们搜索 addgoldlevel ,只有2处,嘿嘿,好办,我们改成 addplayerexp (长度跟addgoldlevel相等即可)。
) ^8 ?  x5 u1 @bbs.mocwww.com改了运行一下,嘿嘿,成功了!
$ z: ?( e% x& ebbs.mocwww.com我们上篇遗留的问题也解决了,能控制上下限,能有自己想要的提示。至于格式,参见上面咯。
5 o, ?; ^( C: a魔力私服,最新魔力宝贝私服技术交流妖城在线论坛. \% P( m4 |4 W/ [
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------bbs.mocwww.com: }0 b# P5 @- F2 L0 ^/ N# x% B1 i

, c$ U4 y1 S7 h8 T/ p妖城在线论坛但是马上问题来了,gm命令 level 用不了,脚本内如果有判断等级的语句,服务端会报错!bbs.mocwww.com4 F9 C# x- e" H4 C- C) R: T
但是改成 erexp 就能用!靠!看来是 gmsv 调用了这个地方的 level 进行等级判断和gm命令的识别!妖城在线论坛/ O4 s" Z. _! B8 T. |
我们看看 addgoldlevel 这个短语的绝对地址是08186114h,那么这里的 level 就是0818611Bh—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート# A+ s0 }4 ]) a
我们在gmsv内搜索:1B 61 18 08,搜索到3个,用IDA看看位置,其中最后一个偏移地址15F9A0h是对我们是有用的。bbs.mocwww.com- p& _; R5 ^* X
现在我们要把它移开,移到 setlevel 短语的 level 去吧,即 1B 改成 2C 。测试,成功。那么我们的 addplayerexp 在脚本内就可用了。
/ i8 o8 S  D" C. j6 y" i6 y% o魔力私服,最新魔力宝贝私服技术交流这里感谢 兰纳的弟弟IKKI 提供的思路。魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表( X/ V! G1 m( `5 [5 \8 ~7 e5 T4 {
- Q0 ~& ]3 B& P# v7 [2 z
我之所以说这堆废话,是希望大家在这方面有更宽广的思路。2 v) ~, t/ n6 P0 L5 z! v) T/ h7 Z
这就是修改 gmsv 实现加经验脚本语句的全过程,其中的地址和修改的地方都给出了。希望大家一起学习讨论,做出自己更好的东西。
) e/ _) ]- J0 _+ R9 q魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表  {1 M/ b5 L8 G4 Q& F; B" R9 N
##########################################################################################################################魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表' H" e( ~* r) H& o& b  y# i, h
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート7 B, [, y( t- H& v
我这是最后一篇了,暂时不准备再发另外的了。魔力私服,最新魔力宝贝私服技术交流. {& a5 Q* f, Y+ N+ r$ H- d

" i+ i! I. p- i4 K妖城在线论坛如果想修改成万能脚本,这里说一下我的思路:
, j" Q6 K( p" ^4 h1 w, t魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
/ P- X! m; K* p2 p& X9 i: K3 asetcharxxxx  a,b,c,d- I; E& G8 j3 J, X+ }5 \* n  n
魔力私服,最新魔力宝贝私服技术交流- x2 x6 @# V$ k- v% }4 Z3 q
setcharxxxx这里根据实际情况长度再定。妖城在线论坛7 X9 G; {  Z( w, P
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート+ ~) l) Q4 ^/ e
a是要修改的项目的数据值,格式+number,-number,number,分别表示增加,减少,直接修改;
. l7 q1 L/ \* K& b2 m; I魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表b是数据范围下界,-1表示不限制;
! y* |5 `- m0 R3 o/ T- D魔力私服,最新魔力宝贝私服技术交流c是数据范围上界,-1表示不限制;
6 P8 L! U) H* B6 Q# x; }, {1 m9 ibbs.mocwww.comd是数据栏位,如9就是修改等级。% _8 g# _+ n' l: R
妖城在线论坛! O* n4 g% R7 |! V/ j
或者a和d的位置颠倒一下也行。妖城在线论坛8 V3 }8 ^. m$ m$ G- W# L# b
这个命令带了4个参数,我们很容易考虑到一个脚本语句:warp。看看这个函数怎么执行的,绝对对想做万能脚本的同学有帮助。
: L. X4 F' z5 G9 A8 |* r! g% H妖城在线论坛
( Z7 b! c! P, s6 C: T妖城在线论坛$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$魔力私服,最新魔力宝贝私服技术交流& c1 _9 _, M1 Y1 e1 I% Q

' [3 H- w4 c$ {魔力私服,最新魔力宝贝私服技术交流附傻瓜修改法,当然自己修改的话就省点钱咯,哈哈。 傻瓜修改法.rar (531 Bytes)
4 V% `; j* T; Y8 X8 o8 sbbs.mocwww.com
$ `9 Y; a" ^% s+ v( |0 h[ 本帖最后由 feifei1937 于 2009-8-9 16:02 编辑 ]

附件

addgoldlevel.jpg (430.07 KB)

2009-8-9 01:35

addgoldlevel.jpg

本帖最近评分记录
  • orochi0531 妖力 +10 这个绝对的是最大限度上实现gmsv的功能了的 2009-8-13 16:07

TOP

引用:
原帖由 sin 于 2009-8-9 13:16 发表 魔力私服,最新魔力宝贝私服技术交流* q4 p# W5 i2 _: w7 ]& n& l+ A
很强大是不用说了,看不懂也是事实~
1 l/ m& w* d" O0 z3 }' \) w魔力私服,最新魔力宝贝私服技术交流我真失败……不过有傻瓜修改法……

TOP

发新话题