发新话题
打印

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

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

最近想和自己小伙伴一起玩魔力, 由于个人动手能力比较强, 所以搭建服务器的工作就落在我身上了, 从找服务端到架设(单机两键端开的服, 个人电脑+花生壳内网穿透) 中间经历的坑真的是不计其数, 随便写一些心得 , 也欢迎大家来一起讨论5 V- R* x0 P  J2 J% P# \* {1 ]
QQ:15203009
" V/ M4 S' Q* ^6 ?/ t- N+ p妖城在线论坛
& d  r2 @7 X+ m1 L% q魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表那么聊正题 , 关于技能这个东西 , 在魔力这个游戏的框架下 , 到底是怎么来的...
% o# N) ?: Z0 e/ W* k+ K4 t3 d
7 L  M# e0 @$ r/ N: r; D魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表首先, 从学习技能开始
3 z8 I0 h  F4 w; O6 ^: C" M2 [4 mbbs.mocwww.com学习技能 , 需要修改的是NPC.txt这个data文件, 注意, 修改服务端任何文件时, 最好用专门的修改工具/或者excel ,并且最好在修改之后用另一个相同功能的工具来校验, 最次也要用np++这种 , 千万不要用文本文档的方式 , 因为魔力的服务端data文件中 ,除了你能看到的数字, 还包含了各种坑人的空格, 而且有些文件里的格式并不是你想的那样改了数字就能生效, 所以单纯的改, 很可能导致这行语法错误, 为了一个文件反复的开启关闭服务器特别折磨人的耐心, 这也是大多数人选择要别人改好的文件或者单纯复制粘贴的原因 , 因为觉得自己怎么改都改不好. 其实只要格式正确, 改文件是很简单的事儿, 而格式正确最主要的就是不要用太简单的编辑工具. 其实很多时候往excel粘贴一下, 然后用表格修改, 然后再copy回来, 远比在文档里浪费时间来的实际.bbs.mocwww.com. X9 N& `. c- e
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート8 V- I8 n/ n* \+ b( X. {
言归正传 , 回到npc这个data文件4 H* T8 {% o% t  ]& Y! y' h. c
bbs.mocwww.com3 o9 R9 x; q: Y+ ]! D; ]
NPC类型           名字       未知 NPCID  未知 未知 未知 未知 地图ID 坐标 坐标 坐标 坐标 坐标 坐标 坐标 坐标 未知   未知  朝向       图档       未知   未知   未知      功能
1 e; w3 [9 J7 X5 M0 Z妖城在线论坛Skillmaster 反击学习石像  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|
0 T+ A+ ]! U: ]8 w; J! R
9 Q, C5 v' F: r7 T0 p这就是一个很常见的技能学习NPC
# V, T+ [4 X# L6 r3 K- @bbs.mocwww.comNPC类型
7 I) q9 O$ p; A) I( Y妖城在线论坛决定我们和这个NPC交互的基本模板.魔力私服,最新魔力宝贝私服技术交流4 x6 H$ H7 [5 D) S  F7 a( d
名字
! b# ]. `& X) |, I# X5 N4 P9 h3 [魔力私服,最新魔力宝贝私服技术交流就是鼠标放上去的时候左下角显示的名字.
: D$ c0 |; r, P. S# K—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートNPC编号
3 y, K: n7 [3 K0 Z, R/ H0 g' Abbs.mocwww.com就是辨识这个NPC的唯一编码,注意修改的时候,不要重复,建议在自己搭服务器的时候,去找一个相对比较长的空白段,然后自己添加的NPC放在一个区块, 并且ID都在这个空白段内.这样怎么弄都很方便bbs.mocwww.com3 K' G5 M' M7 K  R: B' g2 J
地图ID
. F' }3 Z9 ^) B7 [! p0 h& W—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートNPC所在地图ID坐标有4个魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表0 X* P) z8 o8 J% S' t
划了一个区域是NPC出现的范围 , 写一样的话就固定了" p' i3 \$ j! d" L, x, e% @
朝向 —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート# I9 u# R+ a, H+ j* T
从朝左上顺时针一圈, 分别对应 0-7 , 比如0是左上 , 4是右下魔力私服,最新魔力宝贝私服技术交流1 Y2 V8 e) v, `
图档 魔力私服,最新魔力宝贝私服技术交流$ Z  g. V6 W7 ?( m2 u
NPC的外形所用的图片编号, 想用什么自己查
, A% H9 L6 A1 m# T魔力私服,最新魔力宝贝私服技术交流功能bbs.mocwww.com) w) H- y% B) a( l
SKillmaster的功能一般是5个数字 , 分别对应 , 技能skill号|msgID1|msgID2|msgID3|msgID4| (这个类型的NPC最后要用|结尾 , 交换和商人不用.)
5 F9 }: ^* u, ~7 P6 D+ p8 y魔力私服,最新魔力宝贝私服技术交流
; _2 S' e+ g, M3 @魔力私服,最新魔力宝贝私服技术交流而4个msg分别对应
5 V1 k9 ?4 e1 s# S8 b9 Q2 N& \—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートmsg1 ,
* L2 k/ ~" n3 }9 \8 {+ z, p8 B! abbs.mocwww.com —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート) a1 }4 N- q$ o0 `: U/ Z! J: }

) E. x5 ?/ k, n& j魔力私服,最新魔力宝贝私服技术交流5 j  `5 Q" V3 C  U* }# B  `; ]
msg2 3
' J. C& Z, k$ a* A, W —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート0 [& v$ \+ a+ i  r

, p3 z2 `. u  A+ p+ r& b妖城在线论坛
9 a/ C8 X$ q! }! vmsg 4
0 R$ H* _; p  @: w; Y; p* i4 e魔力私服,最新魔力宝贝私服技术交流
3 [$ O. ]; O6 u0 S9 rbbs.mocwww.com% j, t5 x9 n' l' E0 `/ y# ?; H/ q, x
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート$ U! M2 g# k1 ?7 K7 F* U
这里 一个学技能的NPC , 就解释完了 , 接下来解释skill 和skilllv(关于skill 和skillID的具体格式解释 搜索一下论坛有很多, 而且没什么歧义或者不好懂的地方, 这里就不解释了)
- |' {' z9 `: o. x妖城在线论坛$ f9 i7 H# @8 h+ N" U; V2 i/ p7 p: a
当一个角色向一个技能NPC选择想学习技能的时候, 这时候服务器首先会读取这个NPC的功能数据 , 取出skill号 , 比如上述例子中的skill ID "11", 然后根据玩家角色的jobID+skillID , 去找到skilllv文件中的数据, 如果对应的级别数据是0 则提示 , 该技能并不适合你5 u0 [8 G% \* |& i

) D; F" l, ^+ t4 z, {bbs.mocwww.com如果没有找到数据 , 则会返回查询skill文件中这个技能的default level (skill中第5个参数, 很多老技能都是10) , 如果这里>0 , 那么这个角色就可以学到这个技能
' Y, j) D( x, p2 [: R2 m! E如果这里=0 , 那么也会提示 , 该技能并不适合你.妖城在线论坛2 _# P3 K% H- U; f8 G" e
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート% W5 B  ~, z4 ]; g0 h* g1 l
所以 如果你新做了一个技能 / 职业 , 既不想写超长的skilllv data , 又不想让无关的职业学到这个技能 / 不想让这个职业学到一堆无关技能 , 把所有的default级别都改成0—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート! `2 g* `/ y$ k, v

. D/ f6 G+ g( V8 ], U魔力私服,最新魔力宝贝私服技术交流接下来 , 角色学到了技能 , 打开技能列表, 看到的东西首先是这个技能的skill名..然后在列表点击之后 , 就进入了这个技能所对应的tech数据了妖城在线论坛9 Z9 ?& A1 ~# p) \! Q

) H6 R. Y. u5 O6 J" ?4 ^: s! [. d妖城在线论坛首先, 服务端会查询,该技能所关联的tech相关的数据都取出来魔力私服,最新魔力宝贝私服技术交流3 c% i7 |; f. |% ~) v" i# X
魔力私服,最新魔力宝贝私服技术交流9 |/ \9 X; {. C) K# m
技能名称技术ID技能参数
0 [1 \- ]7 }. C' P0 i( _  V$ }6 a魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表

, r4 L$ L. Q4 g( c$ S. [1 o魔力私服,最新魔力宝贝私服技术交流图档ID/技能ID
' y& Y0 S" }2 k9 u8 i5 _( }
msgID

0 Z6 n" C0 ~* b( P- Ebbs.mocwww.comskill_ID

/ p. w5 O* Q' _8 U使用等级
妖城在线论坛9 y- Q+ h) k5 @# w/ S9 [
技能类型
bbs.mocwww.com5 D5 n8 z+ R- |' \, I6 z
使用对象
学习价格 
5 H1 _6 q. a- r7 Y# {" z使用耗魔
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート' n% j: j2 u/ u4 u
人物/宠物技能
连击·舞LV1TECH_ContinuationAttackAS:0,AN:2,AM:2,DD:-50,01300000111141  101
妖城在线论坛( b) Y* \. S  f

, U- L7 u, a! W- i0 C首先会根据你当前的技能等级, 去把tech中的使用等级<=技能等级的技能都显示出来 (自创技能的tech必须包含1级 , 否则无法练级...虽然能学习, 但进去看到的列表是空白的)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表' F2 U6 p1 d; v4 S

" v: E7 f" o0 k6 h魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表然后角色根据技能的使用对象选择技能目标 , 接下来 就是tech中其他参数的解析了魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表. S9 x2 Q5 u& Y* U$ K3 b
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表. k# T/ e- T& H7 k2 O/ W; S
名称 , 不重要
6 W$ \5 `' h" D5 n' vbbs.mocwww.combbs.mocwww.com2 B& e" T0 ?3 u
技术ID , 这个是技能的核心参数之一 , 当角色在战斗中选择了该技能 , 那么服务端接收到该请求先判断服务端是否有该技术参数, 这个是保存在gmsv中的...如果你的服务器上某个技能 , 点了之后直接就跳过该回合 , 并且服务器报错 非法tech参数(Illegal tech use)的时候, 恭喜你 这个技能在你的服务端根本就不存在 , 你不需要试了 , 并不是参数或者图档问题...只是你服务器不支持罢了魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表0 }1 ^) |$ k) b0 B* n
妖城在线论坛! _2 `4 E! x. u# k( \' m
毕竟很多人对编程是不通的 , 我们来做个简单的解释,
& ]1 o. O! W. o. J妖城在线论坛
/ b4 l* H8 y" m1 y妖城在线论坛服务器 就像是一个黑盒子 , 里面编写了各种的方法 , 比如我 投入参数 , 1 和 1 , 然后方法是加 , 当这两个数字丢进去的时候, 服务器就会把2丢出来...这就是服务器的运行原理..
% J0 Q3 l8 L+ J' }2 M而有时候 , 比如你说 , 3 和5 , 方法是乘法 , 服务器并不会这个方法 , 他就会说 , 不好意思我听不懂, 我不知道乘法是什么, 当然 也不会返回正确的结果
$ R0 l" K& K8 d/ B+ C  n* ~魔力私服,最新魔力宝贝私服技术交流
5 U9 d5 X* `  {7 C8 B魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表接着往下..魔力私服,最新魔力宝贝私服技术交流: F  M9 {# l$ Q2 x

! `7 i/ Z! c- @7 z3 d妖城在线论坛技能参数 , 这个参数决定了技能的伤害 , 具体的内容论坛一搜就搜到 , 不多赘述 , 很好玩 , 也是我们比较能玩花样的地方.—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート' M9 h7 }( c' H3 m7 r" p

: R, T- Z& f4 W" [  \2 w$ T, g魔力私服,最新魔力宝贝私服技术交流图档ID/技能ID
% L# }" Q; S) `5 c" ]- D魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表bbs.mocwww.com: Y$ S, ]4 A+ A8 p2 U- V
这个参数是另一个核心参数 , 这个参数决定了技能释放时的动画 , 比如我选择释放一个乾坤 , 那我起手的动画是什么样 , 人物怎么过去 , 打到怪的时候的特效是怎样的.魔力私服,最新魔力宝贝私服技术交流2 T* @% ^; K4 @5 v  G* a
魔力私服,最新魔力宝贝私服技术交流2 p& {( A2 o2 Q' Z" K4 F+ O3 B
这个ID其实分成2部分 , 技能ID , 决定了同一种技能到底是哪级的效果 , 图档ID , 什么技能
, M$ u, I$ a; ?1 D9 Cbbs.mocwww.com妖城在线论坛6 y  \3 E: Y% Y+ q$ n
例如乾坤一掷lv5 , 这个技能的图档/技能ID =305 , —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート* d" V7 x( v+ F* s7 {/ ~- T' }1 Z4 j
首先把这个数字分成 2部分 , 03 和 05bbs.mocwww.com& s7 G$ M3 y' o( \2 L
妖城在线论坛4 R4 k/ O& A* {2 H4 d8 a; ?7 \
03决定了是什么技能 , 05 决定了什么等级- s/ c% a2 u+ p# h# T
3 L( z) Y0 d! s) V. b9 Y
再拿一个例子来说 强力陨石魔法-X , ID=2339 , 23 决定这个技能是陨石魔法 , 39 , 决定这个技能的等级特效
( _* n$ r+ ?% J! K/ A$ n" x魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表1 g  l; ~% M$ T; U# f# W; u, n& l+ Z
连击最可怕 , 1级连击这个ID是0 , 其实就等于 0000
* U' Z% H0 [2 `( @# R8 C9 J魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表魔力私服,最新魔力宝贝私服技术交流% y) Z& a1 u7 q' K1 x2 U( \
00=连击 , 00=1级—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート* i: ?$ l- X- p( M. ]/ Y. v. f9 d
bbs.mocwww.com8 n: S4 ^9 _- v6 H" V2 b
这里的技能ID 不等于skill.txt里的 skill ID , 这两个东西不存在关联关系 , 所以skill ID随便写没关系 , 但是技能ID是写在gmsv里面的..不能通过data里的文件更改
3 z9 s& Z1 r6 qbbs.mocwww.com
5 g( A& V  T5 G; xbbs.mocwww.com那么什么情况会导致图档不存在崩溃呢. 一般是因为客户端图档不全 , 例如服务端支持15级技能的特效 , 但是客户端不支持 , 客户端不包含这个动画的图档 , 当服务端返回信息要求客户端播放这个动画图档的时候 , 客户端做不到 ...就会卡住死循环...bbs.mocwww.com8 [; m1 Z/ k* m7 _/ \: J

/ V; j1 w- D) l妖城在线论坛所以 当我们想做一个新技能的时候, 只要考虑到以上的这些要素 , 就可以正常的完成一个技能从学习到释放的全过程, 不会陷入无止境的坑里面了..妖城在线论坛# W9 C: D3 ]  m5 U' J2 I  H

! j8 V1 Q: E. R) {9 Z( S8 w$ e! F8 W妖城在线论坛[ 本帖最后由 晴天老不点 于 2018-4-25 19:03 编辑 ]
本帖最近评分记录
  • sin 妖力 +5 原创内容 2018-4-25 23:25

TOP

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

TOP

写的很好 学习到了!!!

TOP

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

TOP

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

TOP

谢谢无私的分享

TOP

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

TOP

发新话题