发新话题
打印

[魔力私服分享] 解析技能学习到释放的全过程.

解析技能学习到释放的全过程.

最近想和自己小伙伴一起玩魔力, 由于个人动手能力比较强, 所以搭建服务器的工作就落在我身上了, 从找服务端到架设(单机两键端开的服, 个人电脑+花生壳内网穿透) 中间经历的坑真的是不计其数, 随便写一些心得 , 也欢迎大家来一起讨论
  k8 P$ d% q6 j' g0 l5 ~) sQQ:15203009
( H$ ]& P( s' V  m$ }6 f! e& H0 ?妖城在线论坛—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート' v+ R* R7 N9 h
那么聊正题 , 关于技能这个东西 , 在魔力这个游戏的框架下 , 到底是怎么来的...
) \! a, W4 Y; R* u魔力私服,最新魔力宝贝私服技术交流5 Y% b0 q' h6 H; D9 n# k
首先, 从学习技能开始3 I- H  \6 Q2 r7 B
学习技能 , 需要修改的是NPC.txt这个data文件, 注意, 修改服务端任何文件时, 最好用专门的修改工具/或者excel ,并且最好在修改之后用另一个相同功能的工具来校验, 最次也要用np++这种 , 千万不要用文本文档的方式 , 因为魔力的服务端data文件中 ,除了你能看到的数字, 还包含了各种坑人的空格, 而且有些文件里的格式并不是你想的那样改了数字就能生效, 所以单纯的改, 很可能导致这行语法错误, 为了一个文件反复的开启关闭服务器特别折磨人的耐心, 这也是大多数人选择要别人改好的文件或者单纯复制粘贴的原因 , 因为觉得自己怎么改都改不好. 其实只要格式正确, 改文件是很简单的事儿, 而格式正确最主要的就是不要用太简单的编辑工具. 其实很多时候往excel粘贴一下, 然后用表格修改, 然后再copy回来, 远比在文档里浪费时间来的实际.魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表' A8 p9 F% m- D3 D1 ?. Y$ H

5 Y$ k1 k0 L+ i3 r& M2 q. w妖城在线论坛言归正传 , 回到npc这个data文件魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表5 R+ n9 U) o; P
妖城在线论坛, I/ Y+ m- Z5 ?; w
NPC类型           名字       未知 NPCID  未知 未知 未知 未知 地图ID 坐标 坐标 坐标 坐标 坐标 坐标 坐标 坐标 未知   未知  朝向       图档       未知   未知   未知      功能
7 R6 V* E+ ~) a1 gbbs.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|
; e/ E4 I7 V2 T0 W/ n' b' u妖城在线论坛
  C, T0 c& g- U$ B8 bbbs.mocwww.com这就是一个很常见的技能学习NPC魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表- {+ W( C: z4 G- |3 ^/ k
NPC类型
5 `$ Z" r% a* v* l- T2 }bbs.mocwww.com决定我们和这个NPC交互的基本模板.妖城在线论坛7 D6 l  F8 H' C6 d$ k" G
名字 bbs.mocwww.com2 T6 H$ _* \% J8 e; R0 R% J! T' j
就是鼠标放上去的时候左下角显示的名字.
' a2 N7 C6 ^. I& P5 D9 W—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートNPC编号 —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート! ?* B0 {: E) L
就是辨识这个NPC的唯一编码,注意修改的时候,不要重复,建议在自己搭服务器的时候,去找一个相对比较长的空白段,然后自己添加的NPC放在一个区块, 并且ID都在这个空白段内.这样怎么弄都很方便bbs.mocwww.com: K6 c8 z" w3 y7 P; y4 G. {
地图ID
$ B0 l8 q; R# Y8 H魔力私服,最新魔力宝贝私服技术交流NPC所在地图ID坐标有4个—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート2 R- T% _- u# O9 S' v
划了一个区域是NPC出现的范围 , 写一样的话就固定了bbs.mocwww.com" C' r$ }# f# F4 m
朝向
* A, F: j) S5 d1 ~6 Y2 H( c, Q魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表从朝左上顺时针一圈, 分别对应 0-7 , 比如0是左上 , 4是右下
$ A, I, i8 a5 ]- D8 \魔力私服,最新魔力宝贝私服技术交流图档 6 m. h4 W! s% P* j
NPC的外形所用的图片编号, 想用什么自己查魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表- I. Q9 _% g' w! q9 @  W* }7 T9 h2 ]$ [
功能
- ?3 H4 i5 A2 Ybbs.mocwww.comSKillmaster的功能一般是5个数字 , 分别对应 , 技能skill号|msgID1|msgID2|msgID3|msgID4| (这个类型的NPC最后要用|结尾 , 交换和商人不用.). {- q/ p2 x  F, y: E: R
魔力私服,最新魔力宝贝私服技术交流/ A  }$ X- S* g3 N
而4个msg分别对应
2 X6 e. z2 N/ ?. M8 G/ d, N妖城在线论坛msg1 ,
- t6 c% E2 e  x! g+ e魔力私服,最新魔力宝贝私服技术交流 —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート2 h0 A' |! }; d0 \/ ]
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表/ G: h3 |( e- [0 S
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート+ [( @# d% k1 E1 W/ G8 F
msg2 3
, e7 N1 C: f0 z' b
; b/ g" S. s" s$ a3 m5 hbbs.mocwww.com
0 q$ g: a! e& f5 |bbs.mocwww.com
7 E! x0 w3 E+ d! g) M魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表msg 4
" z$ f+ \  H$ @( v0 E( G2 w& J魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表 魔力私服,最新魔力宝贝私服技术交流% K: g4 T2 g, m3 e/ R) T. S

. E  p' m4 m  I5 u/ D$ L% N0 l魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
# D! W. C" ?9 l! {; |% w$ E6 L) ybbs.mocwww.com这里 一个学技能的NPC , 就解释完了 , 接下来解释skill 和skilllv(关于skill 和skillID的具体格式解释 搜索一下论坛有很多, 而且没什么歧义或者不好懂的地方, 这里就不解释了)
# G" h2 Y+ z: O) W: g魔力私服,最新魔力宝贝私服技术交流魔力私服,最新魔力宝贝私服技术交流8 J! [" U$ s5 I
当一个角色向一个技能NPC选择想学习技能的时候, 这时候服务器首先会读取这个NPC的功能数据 , 取出skill号 , 比如上述例子中的skill ID "11", 然后根据玩家角色的jobID+skillID , 去找到skilllv文件中的数据, 如果对应的级别数据是0 则提示 , 该技能并不适合你; |: v2 `  J% W" L

1 j- f+ F9 z- I  sbbs.mocwww.com如果没有找到数据 , 则会返回查询skill文件中这个技能的default level (skill中第5个参数, 很多老技能都是10) , 如果这里>0 , 那么这个角色就可以学到这个技能
# x' \8 O! _, i4 z! w9 I妖城在线论坛如果这里=0 , 那么也会提示 , 该技能并不适合你.魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表; ~  L# h+ [; p  ^! W$ i% w& c
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表: R( i! u! E6 q/ X& G& I( M+ a
所以 如果你新做了一个技能 / 职业 , 既不想写超长的skilllv data , 又不想让无关的职业学到这个技能 / 不想让这个职业学到一堆无关技能 , 把所有的default级别都改成0; c: n: u4 K5 r& L) n

' a1 R7 X0 y" K—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート接下来 , 角色学到了技能 , 打开技能列表, 看到的东西首先是这个技能的skill名..然后在列表点击之后 , 就进入了这个技能所对应的tech数据了
3 ^& d% ?8 M# p! M* r9 Z) N( sbbs.mocwww.combbs.mocwww.com( n7 R! _1 |) H* Y" x: ?
首先, 服务端会查询,该技能所关联的tech相关的数据都取出来
% C! g& J& Z2 y/ ]" i; t# Obbs.mocwww.com
6 {' f$ k0 T+ s+ X; w# h—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
技能名称技术ID技能参数
. C3 J& W, E8 t5 U+ abbs.mocwww.com
6 k9 f% U5 g( n8 ]$ k  ^
图档ID/技能ID

" n4 Q1 c" H2 p- f妖城在线论坛msgID

' R6 k: \6 g) t) c/ P# kbbs.mocwww.comskill_ID

$ P0 K+ @9 b: G1 v9 O魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表使用等级
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表+ a2 L) _; [0 i6 V
技能类型

5 t+ T! e. c. s& ~魔力私服,最新魔力宝贝私服技术交流使用对象
学习价格 —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート% Q! E9 v2 k' G& e2 {* E( U
使用耗魔

4 ^. Y5 E+ D$ m4 kbbs.mocwww.com人物/宠物技能
连击·舞LV1TECH_ContinuationAttackAS:0,AN:2,AM:2,DD:-50,01300000111141  101
, N$ N+ l% J+ K3 f& J

! o/ Z1 ^! t! ~  }—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート首先会根据你当前的技能等级, 去把tech中的使用等级<=技能等级的技能都显示出来 (自创技能的tech必须包含1级 , 否则无法练级...虽然能学习, 但进去看到的列表是空白的)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表/ P! f2 `1 P% j- m: l, d

- Q) k, P7 B9 m& @# k& }bbs.mocwww.com然后角色根据技能的使用对象选择技能目标 , 接下来 就是tech中其他参数的解析了
* y1 ]0 H/ q, C# ]5 {—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
) W$ V9 e  @8 o# X: h! J) x+ s* T# S% lbbs.mocwww.com名称 , 不重要魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表0 o" L3 O9 a5 s5 Y$ C' ~
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表4 z) Y% R" M' M0 }7 A2 ^
技术ID , 这个是技能的核心参数之一 , 当角色在战斗中选择了该技能 , 那么服务端接收到该请求先判断服务端是否有该技术参数, 这个是保存在gmsv中的...如果你的服务器上某个技能 , 点了之后直接就跳过该回合 , 并且服务器报错 非法tech参数(Illegal tech use)的时候, 恭喜你 这个技能在你的服务端根本就不存在 , 你不需要试了 , 并不是参数或者图档问题...只是你服务器不支持罢了魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表( v) m2 M5 a% J( I. T

' d, Q7 W3 t! m2 @: T7 N魔力私服,最新魔力宝贝私服技术交流毕竟很多人对编程是不通的 , 我们来做个简单的解释, —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート3 G1 m/ t3 A9 {$ N4 Z8 ?
魔力私服,最新魔力宝贝私服技术交流9 B0 c# [4 M) l) ^. O1 ]* K( d
服务器 就像是一个黑盒子 , 里面编写了各种的方法 , 比如我 投入参数 , 1 和 1 , 然后方法是加 , 当这两个数字丢进去的时候, 服务器就会把2丢出来...这就是服务器的运行原理..
( k# z' d% _$ }, G' R妖城在线论坛而有时候 , 比如你说 , 3 和5 , 方法是乘法 , 服务器并不会这个方法 , 他就会说 , 不好意思我听不懂, 我不知道乘法是什么, 当然 也不会返回正确的结果
; o" c; d, D+ i& S1 ^) i魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
0 r- l' p5 \# R1 H. j3 p接着往下..魔力私服,最新魔力宝贝私服技术交流1 @7 D& J2 P, s( _/ l
, R, s3 ~4 Y; v/ v" e
技能参数 , 这个参数决定了技能的伤害 , 具体的内容论坛一搜就搜到 , 不多赘述 , 很好玩 , 也是我们比较能玩花样的地方.
& Y4 n  }6 g: M. n魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表bbs.mocwww.com* d  ]/ k2 ^& C- ?
图档ID/技能ID
/ p& V$ \2 _2 C4 f
8 v( L8 `+ l- g; L4 G魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表这个参数是另一个核心参数 , 这个参数决定了技能释放时的动画 , 比如我选择释放一个乾坤 , 那我起手的动画是什么样 , 人物怎么过去 , 打到怪的时候的特效是怎样的.
( e1 [7 O$ W: g" D" E6 e
% f5 G. V6 l6 F% C& }8 A; ?( `1 J9 T—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート这个ID其实分成2部分 , 技能ID , 决定了同一种技能到底是哪级的效果 , 图档ID , 什么技能
. ~$ Y: e" m% f0 L! C/ W2 m魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表. t0 e2 O0 g, {
例如乾坤一掷lv5 , 这个技能的图档/技能ID =305 , 1 q. F8 ^" \" E7 I. m
首先把这个数字分成 2部分 , 03 和 05
+ K. R2 z! t. Y& s7 }魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
/ S% x, a# j" t/ T% N魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表03决定了是什么技能 , 05 决定了什么等级
. w7 p) e% b5 B+ jbbs.mocwww.com
& |5 t8 r! _# A& x魔力私服,最新魔力宝贝私服技术交流再拿一个例子来说 强力陨石魔法-X , ID=2339 , 23 决定这个技能是陨石魔法 , 39 , 决定这个技能的等级特效
: V9 Q$ B9 E0 Q/ D, I) \6 Mbbs.mocwww.com妖城在线论坛6 w* \* x- M1 e& U- u
连击最可怕 , 1级连击这个ID是0 , 其实就等于 0000
! u$ h" w4 j1 g# d4 m7 U* Kbbs.mocwww.combbs.mocwww.com' u/ ?/ g2 s2 f/ Q7 K7 Y: G) T
00=连击 , 00=1级
! {* n  ^9 M0 F2 _8 l7 S/ _3 ~魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
1 V  H. _- w' L, x7 l* p# Abbs.mocwww.com这里的技能ID 不等于skill.txt里的 skill ID , 这两个东西不存在关联关系 , 所以skill ID随便写没关系 , 但是技能ID是写在gmsv里面的..不能通过data里的文件更改bbs.mocwww.com! `; f5 l; x' x, b( v% a
魔力私服,最新魔力宝贝私服技术交流6 {: ^# n! T7 `% U/ U3 P
那么什么情况会导致图档不存在崩溃呢. 一般是因为客户端图档不全 , 例如服务端支持15级技能的特效 , 但是客户端不支持 , 客户端不包含这个动画的图档 , 当服务端返回信息要求客户端播放这个动画图档的时候 , 客户端做不到 ...就会卡住死循环...
) }/ c9 e8 ]+ ]  O+ E. P3 ]* N妖城在线论坛
6 \! y+ f6 \* k) m& `% p魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表所以 当我们想做一个新技能的时候, 只要考虑到以上的这些要素 , 就可以正常的完成一个技能从学习到释放的全过程, 不会陷入无止境的坑里面了..妖城在线论坛8 x2 v8 q- R3 n% C7 `0 I! _4 T

/ \& e1 t/ A; C% c& [" ?* t0 H魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表[ 本帖最后由 晴天老不点 于 2018-4-25 19:03 编辑 ]
本帖最近评分记录
  • sin 妖力 +5 原创内容 2018-4-25 23:25

TOP

厉害,但我笨,暂时没看懂,

TOP

写的很好 学习到了!!!

TOP

做新技能 既要改gmsv 也要改cg 还要在data文件里面改参数

TOP

直接改特效cg.就说是新技能不就行了吗?把编号的特效改了...

TOP

谢谢无私的分享

TOP

技术贴,多谢分享,楼主能分享下架设外网过程就更好了

TOP

发新话题