|
小妖

- UID
- 42564
- 精华
- 0
- 积分
- 22
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2018-4-25 19:00 显示全部帖子
 
解析技能学习到释放的全过程.
最近想和自己小伙伴一起玩魔力, 由于个人动手能力比较强, 所以搭建服务器的工作就落在我身上了, 从找服务端到架设(单机两键端开的服, 个人电脑+花生壳内网穿透) 中间经历的坑真的是不计其数, 随便写一些心得 , 也欢迎大家来一起讨论
8 Y" }5 F0 Z6 B9 B' ~QQ:15203009
9 U( G1 m& C) b& L8 x# s—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート魔力私服,最新魔力宝贝私服技术交流- W% r0 k- @; m( D) [, f( P! H B
那么聊正题 , 关于技能这个东西 , 在魔力这个游戏的框架下 , 到底是怎么来的... 魔力私服,最新魔力宝贝私服技术交流 h6 R6 k! W2 G( F! p8 [
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート& U5 g9 |) ^% z2 t. f- A+ L$ V
首先, 从学习技能开始
5 R$ P/ ^! U j4 {魔力私服,最新魔力宝贝私服技术交流学习技能 , 需要修改的是NPC.txt这个data文件, 注意, 修改服务端任何文件时, 最好用专门的修改工具/或者excel ,并且最好在修改之后用另一个相同功能的工具来校验, 最次也要用np++这种 , 千万不要用文本文档的方式 , 因为魔力的服务端data文件中 ,除了你能看到的数字, 还包含了各种坑人的空格, 而且有些文件里的格式并不是你想的那样改了数字就能生效, 所以单纯的改, 很可能导致这行语法错误, 为了一个文件反复的开启关闭服务器特别折磨人的耐心, 这也是大多数人选择要别人改好的文件或者单纯复制粘贴的原因 , 因为觉得自己怎么改都改不好. 其实只要格式正确, 改文件是很简单的事儿, 而格式正确最主要的就是不要用太简单的编辑工具. 其实很多时候往excel粘贴一下, 然后用表格修改, 然后再copy回来, 远比在文档里浪费时间来的实际. bbs.mocwww.com* k$ K+ W d3 F4 t
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表5 d- r' V' I' T4 w8 ^ q @
言归正传 , 回到npc这个data文件 —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート5 o' p# v2 ^3 b; h
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート* _/ }' x W6 Z9 Z& b; K3 h
NPC类型 名字 未知 NPCID 未知 未知 未知 未知 地图ID 坐标 坐标 坐标 坐标 坐标 坐标 坐标 坐标 未知 未知 朝向 图档 未知 未知 未知 功能
+ ]; h ~4 R% ?: a2 @! c6 r! |9 Dbbs.mocwww.comSkillmaster 反击学习石像 0 990001 0 1 1 0 777 92 1 92 1 92 1 92 1 1 60000 4 17233 0 1 0 11|9|10|11|12| —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート- `& _ b+ x% f3 l4 |6 u
6 z+ ^. R- G5 c* V# w3 L+ Cbbs.mocwww.com这就是一个很常见的技能学习NPC 妖城在线论坛7 l6 @4 `4 Z: F- g7 F. p8 c, G
NPC类型
# c/ }3 G4 u# n+ S5 c+ t9 e决定我们和这个NPC交互的基本模板.
1 o. F6 {3 P" T) ~3 w名字 bbs.mocwww.com1 T; U% n _0 _- ]3 O% g' O; E
就是鼠标放上去的时候左下角显示的名字.
" j& q8 O4 g+ C9 R. h—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートNPC编号 —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート( r2 e$ K: Y: [- `# A) b- t1 {
就是辨识这个NPC的唯一编码,注意修改的时候,不要重复,建议在自己搭服务器的时候,去找一个相对比较长的空白段,然后自己添加的NPC放在一个区块, 并且ID都在这个空白段内.这样怎么弄都很方便 魔力私服,最新魔力宝贝私服技术交流9 z3 Q1 a9 ]9 ?# E* J( a/ K
地图ID
3 I8 K' G3 C7 bbbs.mocwww.comNPC所在地图ID坐标有4个 魔力私服,最新魔力宝贝私服技术交流9 `+ m4 S# n' B4 ~
划了一个区域是NPC出现的范围 , 写一样的话就固定了 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表( V1 |2 s9 o4 w3 O3 ~4 x3 `, D& r1 `
朝向
: b4 R& A) q6 i S0 w魔力私服,最新魔力宝贝私服技术交流从朝左上顺时针一圈, 分别对应 0-7 , 比如0是左上 , 4是右下 妖城在线论坛6 J/ @& r0 ?2 H& C5 h
图档 妖城在线论坛8 t% Z8 @; i/ t1 l; E* O) C
NPC的外形所用的图片编号, 想用什么自己查 ' n- E9 E# p- j4 _
功能 魔力私服,最新魔力宝贝私服技术交流2 i0 U% B0 r& W- L# }
SKillmaster的功能一般是5个数字 , 分别对应 , 技能skill号|msgID1|msgID2|msgID3|msgID4| (这个类型的NPC最后要用|结尾 , 交换和商人不用.) 魔力私服,最新魔力宝贝私服技术交流# u3 R+ }6 d' W* H {3 Y
3 h# D' K. t8 V0 {6 n3 d0 \0 g5 K9 T而4个msg分别对应
$ ?: w- o" E) f9 J—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートmsg1 ,
* k% j5 q! M) E1 D5 |: u魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート) {3 i% ?% D8 o; \
6 L: l1 J3 k0 Z& _) f$ S" p—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
4 f0 N/ Y- Z: f, |妖城在线论坛msg2 3
- D# W4 A6 _# b2 ]魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
2 }" S' _: @9 x3 N魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
+ U+ y3 } h! m: m% b1 S) k妖城在线论坛
8 c' }' r" r/ x y/ d! g8 a7 W妖城在线论坛msg 4
- m% |( t9 b* K1 T1 y4 s$ @% J魔力私服,最新魔力宝贝私服技术交流
* C. _. B; a0 M/ a: Z( U$ ~3 z7 U魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表bbs.mocwww.com, h7 {8 a% T- U+ Y1 s
7 f! u' T0 u" C' ?/ Z3 ]妖城在线论坛这里 一个学技能的NPC , 就解释完了 , 接下来解释skill 和skilllv(关于skill 和skillID的具体格式解释 搜索一下论坛有很多, 而且没什么歧义或者不好懂的地方, 这里就不解释了) 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表, V; x' h* q, c' Q
* V: \ ]1 q: y当一个角色向一个技能NPC选择想学习技能的时候, 这时候服务器首先会读取这个NPC的功能数据 , 取出skill号 , 比如上述例子中的skill ID "11", 然后根据玩家角色的jobID+skillID , 去找到skilllv文件中的数据, 如果对应的级别数据是0 则提示 , 该技能并不适合你 bbs.mocwww.com3 |" |% ^" p$ S0 X% _
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート6 O7 s8 @) w% [6 V8 Z
如果没有找到数据 , 则会返回查询skill文件中这个技能的default level (skill中第5个参数, 很多老技能都是10) , 如果这里>0 , 那么这个角色就可以学到这个技能
9 i7 N% M4 `: p0 |妖城在线论坛如果这里=0 , 那么也会提示 , 该技能并不适合你.
+ o# }( @0 M8 ~" q8 y5 m, Lbbs.mocwww.com
- H& _' ~; s& k7 c: q- u; @$ {+ \bbs.mocwww.com所以 如果你新做了一个技能 / 职业 , 既不想写超长的skilllv data , 又不想让无关的职业学到这个技能 / 不想让这个职业学到一堆无关技能 , 把所有的default级别都改成0. B) v( f8 ?. X4 f. g ]
' K0 ] g# M' N; ?1 M% w3 x/ v接下来 , 角色学到了技能 , 打开技能列表, 看到的东西首先是这个技能的skill名..然后在列表点击之后 , 就进入了这个技能所对应的tech数据了 —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート: J, F) @$ W5 G3 D' w) j
5 [% A8 ?9 c- R0 gbbs.mocwww.com首先, 服务端会查询,该技能所关联的tech相关的数据都取出来 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表' t( a5 n2 w5 E3 D
; n- c' Q& |" v- J& a- A9 E/ u" m| 技能名称 | 技术ID | 技能参数bbs.mocwww.com: M% T( g5 Q" c
| —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート9 }6 l: k) r+ h
图档ID/技能ID | 魔力私服,最新魔力宝贝私服技术交流% z6 F8 d( w$ ?: ^& C1 ~
msgID |
2 F4 `5 e# M( y8 j+ F) K i—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートskill_ID |
9 }' v+ U9 i+ {5 a4 B, v7 j使用等级 |
5 ?; J1 [ H" m! V5 e魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表技能类型 | bbs.mocwww.com% ^6 q3 a2 |6 `" n9 `
使用对象 | 学习价格 | |
: w- v6 V3 T9 F0 [8 o( o妖城在线论坛使用耗魔 |
: S9 w/ X, O! p—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート人物/宠物技能 | | 连击·舞LV1 | TECH_ContinuationAttack | AS:0,AN:2,AM:2,DD:-50, | 0 | 130000 | 0 | 1 | 1 | 1141 | | | 10 | 1 | 妖城在线论坛: c( y. k( g) q# c% l3 _
) z' @: I) [2 i- I" ~—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート首先会根据你当前的技能等级, 去把tech中的使用等级<=技能等级的技能都显示出来 (自创技能的tech必须包含1级 , 否则无法练级...虽然能学习, 但进去看到的列表是空白的)
, \+ G& \/ P$ Y1 Dbbs.mocwww.com魔力私服,最新魔力宝贝私服技术交流4 b6 @% X' U9 T! e8 Z0 _7 l
然后角色根据技能的使用对象选择技能目标 , 接下来 就是tech中其他参数的解析了
# E$ O6 f; ^; V0 Tbbs.mocwww.com% Z% m4 W9 Z" g+ B/ [( j
名称 , 不重要 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表" d% P1 i8 T7 C$ g* D( H% m; I
妖城在线论坛: E3 Y) _/ p* T3 n5 l
技术ID , 这个是技能的核心参数之一 , 当角色在战斗中选择了该技能 , 那么服务端接收到该请求先判断服务端是否有该技术参数, 这个是保存在gmsv中的...如果你的服务器上某个技能 , 点了之后直接就跳过该回合 , 并且服务器报错 非法tech参数(Illegal tech use)的时候, 恭喜你 这个技能在你的服务端根本就不存在 , 你不需要试了 , 并不是参数或者图档问题...只是你服务器不支持罢了
! R% X5 W( l. k$ u; S1 H8 \妖城在线论坛
* q6 o, ~; O& C; W" H2 N3 B! u- Sbbs.mocwww.com毕竟很多人对编程是不通的 , 我们来做个简单的解释,
7 Y& W4 B5 p$ j& I' H. F魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
! z# ~; s8 N8 R. ?妖城在线论坛服务器 就像是一个黑盒子 , 里面编写了各种的方法 , 比如我 投入参数 , 1 和 1 , 然后方法是加 , 当这两个数字丢进去的时候, 服务器就会把2丢出来...这就是服务器的运行原理.. * [& v1 c& [) b# L
而有时候 , 比如你说 , 3 和5 , 方法是乘法 , 服务器并不会这个方法 , 他就会说 , 不好意思我听不懂, 我不知道乘法是什么, 当然 也不会返回正确的结果 —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート9 `+ r8 \' H, w- _# V
. w# Z2 Y& m/ J# j—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート接着往下.. 7 ?: o, B2 P( l5 }$ q7 G6 w
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート$ o. y& Y4 d: ^ E9 p
技能参数 , 这个参数决定了技能的伤害 , 具体的内容论坛一搜就搜到 , 不多赘述 , 很好玩 , 也是我们比较能玩花样的地方.
$ `; `3 `: d4 W7 C! o& P魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
; u2 F+ n8 k8 M! y) B3 V魔力私服,最新魔力宝贝私服技术交流图档ID/技能ID妖城在线论坛( W, n/ Z m4 H9 L7 N
. s9 W1 n/ H' |4 z% L妖城在线论坛这个参数是另一个核心参数 , 这个参数决定了技能释放时的动画 , 比如我选择释放一个乾坤 , 那我起手的动画是什么样 , 人物怎么过去 , 打到怪的时候的特效是怎样的.
1 N- X2 }1 y+ I: C$ v& fbbs.mocwww.com魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表4 Y0 G4 f2 e# \( C
这个ID其实分成2部分 , 技能ID , 决定了同一种技能到底是哪级的效果 , 图档ID , 什么技能 bbs.mocwww.com X" C" T, L7 C: x! J
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート+ t( g) T7 h; U
例如乾坤一掷lv5 , 这个技能的 图档/技能ID =305 ,
7 \/ [4 C* E9 l, k: k魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表首先把这个数字分成 2部分 , 03 和 05
" Q7 x. E1 n c) S0 X) {- s—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート魔力私服,最新魔力宝贝私服技术交流4 w( n, X T: ?+ X
03决定了是什么技能 , 05 决定了什么等级
8 T0 z/ g, Z# S# j( B7 r/ \! V: e/ l—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
0 }8 V! T U+ s& y7 A/ p' y妖城在线论坛再拿一个例子来说 强力陨石魔法-X , ID=2339 , 23 决定这个技能是陨石魔法 , 39 , 决定这个技能的等级特效
3 ]7 n$ H/ ^4 g+ w- y( S- `魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート% F; `; c5 i# e' G
连击最可怕 , 1级连击这个ID是0 , 其实就等于 0000 魔力私服,最新魔力宝贝私服技术交流- a- N% E5 x3 ?1 Q5 A
3 ~' ^, T' M9 p5 P/ d—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート00=连击 , 00=1级
% E" F! h7 h9 R' `# e% y魔力私服,最新魔力宝贝私服技术交流, j' F+ O: H) s* s, g: n6 N
这里的技能ID 不等于skill.txt里的 skill ID , 这两个东西不存在关联关系 , 所以skill ID随便写没关系 , 但是技能ID是写在gmsv里面的..不能通过data里的文件更改
% Z4 @" O- X7 i) ]. r魔力私服,最新魔力宝贝私服技术交流bbs.mocwww.com' R1 x4 q( @ s
那么什么情况会导致图档不存在崩溃呢. 一般是因为客户端图档不全 , 例如服务端支持15级技能的特效 , 但是客户端不支持 , 客户端不包含这个动画的图档 , 当服务端返回信息要求客户端播放这个动画图档的时候 , 客户端做不到 ...就会卡住死循环... 魔力私服,最新魔力宝贝私服技术交流4 C9 W7 {4 a; \4 r9 B
bbs.mocwww.com" ^9 d* c! O9 ?" x2 I4 A0 O
所以 当我们想做一个新技能的时候, 只要考虑到以上的这些要素 , 就可以正常的完成一个技能从学习到释放的全过程, 不会陷入无止境的坑里面了.. 魔力私服,最新魔力宝贝私服技术交流4 X" T% S2 m; Y+ P! @* J, ?- x, M
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表+ H0 A* t; m* R6 @
[ 本帖最后由 晴天老不点 于 2018-4-25 19:03 编辑 ]
|