|
小妖

- UID
- 42564
- 精华
- 0
- 积分
- 22
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2018-4-25 19:00 显示全部帖子
 
解析技能学习到释放的全过程.
最近想和自己小伙伴一起玩魔力, 由于个人动手能力比较强, 所以搭建服务器的工作就落在我身上了, 从找服务端到架设(单机两键端开的服, 个人电脑+花生壳内网穿透) 中间经历的坑真的是不计其数, 随便写一些心得 , 也欢迎大家来一起讨论 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表: t" ~' L, i1 T- s
QQ:15203009 bbs.mocwww.com5 u+ N/ C' g/ D4 V+ d$ a
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート- v7 _* ~. |6 Y/ }$ Y
那么聊正题 , 关于技能这个东西 , 在魔力这个游戏的框架下 , 到底是怎么来的... 6 Y4 I. k7 ?4 ?/ ~( j4 h
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート* Z1 ~& W" Q0 h: O" }
首先, 从学习技能开始
x8 R9 a0 Y9 |8 p9 @' b1 u妖城在线论坛学习技能 , 需要修改的是NPC.txt这个data文件, 注意, 修改服务端任何文件时, 最好用专门的修改工具/或者excel ,并且最好在修改之后用另一个相同功能的工具来校验, 最次也要用np++这种 , 千万不要用文本文档的方式 , 因为魔力的服务端data文件中 ,除了你能看到的数字, 还包含了各种坑人的空格, 而且有些文件里的格式并不是你想的那样改了数字就能生效, 所以单纯的改, 很可能导致这行语法错误, 为了一个文件反复的开启关闭服务器特别折磨人的耐心, 这也是大多数人选择要别人改好的文件或者单纯复制粘贴的原因 , 因为觉得自己怎么改都改不好. 其实只要格式正确, 改文件是很简单的事儿, 而格式正确最主要的就是不要用太简单的编辑工具. 其实很多时候往excel粘贴一下, 然后用表格修改, 然后再copy回来, 远比在文档里浪费时间来的实际. —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート o- l: z# O) U+ {$ |6 H
* o; P5 \0 W( F& g# N魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表言归正传 , 回到npc这个data文件
* `* [: {$ J5 u1 s. Abbs.mocwww.com
1 z, v. N; k$ W妖城在线论坛NPC类型 名字 未知 NPCID 未知 未知 未知 未知 地图ID 坐标 坐标 坐标 坐标 坐标 坐标 坐标 坐标 未知 未知 朝向 图档 未知 未知 未知 功能
$ l+ t J& ]; J3 d: S魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表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| 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表! ]0 q9 v. D- G, G4 Z$ }* D
5 }3 @1 _" ]; w妖城在线论坛这就是一个很常见的技能学习NPC —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート& X& T ]$ g3 i7 ?' r
NPC类型 妖城在线论坛3 y6 f& ^' e3 r6 C* H7 G3 \6 I& d
决定我们和这个NPC交互的基本模板. bbs.mocwww.com9 z5 _9 i, B( U. Q& T
名字 魔力私服,最新魔力宝贝私服技术交流, f5 B$ v6 {0 x: ]% v
就是鼠标放上去的时候左下角显示的名字.
" z: n( `8 r1 p6 g7 V" u3 H& Tbbs.mocwww.comNPC编号 —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート7 J# e0 C5 o" H3 H2 o" y9 p) v+ }
就是辨识这个NPC的唯一编码,注意修改的时候,不要重复,建议在自己搭服务器的时候,去找一个相对比较长的空白段,然后自己添加的NPC放在一个区块, 并且ID都在这个空白段内.这样怎么弄都很方便 bbs.mocwww.com) ?+ X9 S( Y% ]8 s, w. p
地图ID 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表! g( H; g5 a1 }$ R0 e5 a, e1 M6 X
NPC所在地图ID坐标有4个 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表" {7 G6 O1 f' A/ o
划了一个区域是NPC出现的范围 , 写一样的话就固定了
! Z% } ?9 p; q5 K6 cbbs.mocwww.com朝向 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表 ?1 c1 I3 ` {/ Z# o# U
从朝左上顺时针一圈, 分别对应 0-7 , 比如0是左上 , 4是右下 魔力私服,最新魔力宝贝私服技术交流' E& J( @- Z2 r# ?- _$ k9 R% L: S
图档 妖城在线论坛5 m# v: L: K* e" F/ k
NPC的外形所用的图片编号, 想用什么自己查 bbs.mocwww.com) d$ g. r: K, K, T6 } ]* x
功能
" W$ g+ c& |0 V, r uSKillmaster的功能一般是5个数字 , 分别对应 , 技能skill号|msgID1|msgID2|msgID3|msgID4| (这个类型的NPC最后要用|结尾 , 交换和商人不用.) bbs.mocwww.com% K- [, I4 I* ^6 ?& x
, n) L: p% e/ W2 h# k( q" _魔力私服,最新魔力宝贝私服技术交流而4个msg分别对应
" W3 }+ }# s9 V I3 Hbbs.mocwww.commsg1 , —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート0 y: T8 p9 h1 O
a* {7 ?6 h% `% Y7 D—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート8 n$ C, a0 Y' ~! u+ [
! w, O! ~4 Z/ @8 B% Y魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表msg2 3
8 t' C! b: t9 t% F魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート1 r9 D4 i) U" k8 R/ O0 W& ^' O2 v
魔力私服,最新魔力宝贝私服技术交流% X4 X u" R' q2 P
& @: p% `% {9 C5 y魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表msg 4
, O; U" X! t) B2 Ybbs.mocwww.com
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート% _8 U! M% @; v! l7 R
4 U- m/ N# f* N5 L$ i8 Lbbs.mocwww.com妖城在线论坛, w% `6 x; B# R/ s
这里 一个学技能的NPC , 就解释完了 , 接下来解释skill 和skilllv(关于skill 和skillID的具体格式解释 搜索一下论坛有很多, 而且没什么歧义或者不好懂的地方, 这里就不解释了)
7 m/ }! F. v% ]魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート5 O3 j$ K: y, v
当一个角色向一个技能NPC选择想学习技能的时候, 这时候服务器首先会读取这个NPC的功能数据 , 取出skill号 , 比如上述例子中的skill ID "11", 然后根据玩家角色的jobID+skillID , 去找到skilllv文件中的数据, 如果对应的级别数据是0 则提示 , 该技能并不适合你 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表4 Z5 R# F" ~# ~
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート/ ~% o4 y d3 K+ B& {) b& |8 Q
如果没有找到数据 , 则会返回查询skill文件中这个技能的default level (skill中第5个参数, 很多老技能都是10) , 如果这里>0 , 那么这个角色就可以学到这个技能 魔力私服,最新魔力宝贝私服技术交流2 j' O8 h5 X/ U+ d; q6 K9 }
如果这里=0 , 那么也会提示 , 该技能并不适合你. 魔力私服,最新魔力宝贝私服技术交流# l- m+ {: N7 [& O8 d, H4 {
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表% V% D! _% f1 d+ a1 V) _, p
所以 如果你新做了一个技能 / 职业 , 既不想写超长的skilllv data , 又不想让无关的职业学到这个技能 / 不想让这个职业学到一堆无关技能 , 把所有的default级别都改成0
* ]2 x! [" @% ^& T( Y6 e魔力私服,最新魔力宝贝私服技术交流
7 V# N B/ K& g/ O- k, I; h接下来 , 角色学到了技能 , 打开技能列表, 看到的东西首先是这个技能的skill名..然后在列表点击之后 , 就进入了这个技能所对应的tech数据了
/ s2 M6 \) x3 K# i9 c8 U$ ~5 |妖城在线论坛
7 A7 H) x6 b; G3 p2 K魔力私服,最新魔力宝贝私服技术交流首先, 服务端会查询,该技能所关联的tech相关的数据都取出来 —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート# t: `0 J1 @5 `
- r* g8 U9 F% h$ Y, K& Z妖城在线论坛| 技能名称 | 技术ID | 技能参数魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表9 ~* d0 d, I3 f2 R
| 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表0 Z9 g7 y o: n
图档ID/技能ID | 妖城在线论坛5 f: m& b5 K( G
msgID |
) f5 j8 G6 ?% E! d0 ybbs.mocwww.comskill_ID |
/ k- Q& ]+ O. @( l; R. v妖城在线论坛使用等级 | 魔力私服,最新魔力宝贝私服技术交流+ A$ w0 K' l% r
技能类型 | 妖城在线论坛" g2 W9 v. J5 V$ @' A" L, ]' C
使用对象 | 学习价格 | | ' i0 D5 j% t3 b
使用耗魔 |
$ T& u: r8 p: c% ~* S魔力私服,最新魔力宝贝私服技术交流人物/宠物技能 | | 连击·舞LV1 | TECH_ContinuationAttack | AS:0,AN:2,AM:2,DD:-50, | 0 | 130000 | 0 | 1 | 1 | 1141 | | | 10 | 1 |
* a# h8 T4 p7 z$ H2 B& ~, T; m魔力私服,最新魔力宝贝私服技术交流魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表; }) b" m6 J! X6 {$ D8 O, t9 l
首先会根据你当前的技能等级, 去把tech中的使用等级<=技能等级的技能都显示出来 (自创技能的tech必须包含1级 , 否则无法练级...虽然能学习, 但进去看到的列表是空白的)
! l* [) r+ p& Z' s& z' z2 h, d1 W魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート9 [. U P7 E5 U3 G# m l i
然后角色根据技能的使用对象选择技能目标 , 接下来 就是tech中其他参数的解析了
8 Z. T0 @" N+ b) S魔力私服,最新魔力宝贝私服技术交流
& i- e4 ]! \/ i9 N8 d妖城在线论坛名称 , 不重要 bbs.mocwww.com$ P/ {! F: g- @5 K: m( q
3 z$ M# T" W2 A+ v" v妖城在线论坛技术ID , 这个是技能的核心参数之一 , 当角色在战斗中选择了该技能 , 那么服务端接收到该请求先判断服务端是否有该技术参数, 这个是保存在gmsv中的...如果你的服务器上某个技能 , 点了之后直接就跳过该回合 , 并且服务器报错 非法tech参数(Illegal tech use)的时候, 恭喜你 这个技能在你的服务端根本就不存在 , 你不需要试了 , 并不是参数或者图档问题...只是你服务器不支持罢了 3 i' J, L6 ?& n# b* Z/ {9 y0 Z
魔力私服,最新魔力宝贝私服技术交流2 L- m( N- ] X( F3 O
毕竟很多人对编程是不通的 , 我们来做个简单的解释,
% [. X& M8 Q# N7 q& p3 c, b魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
, {2 B6 R# c9 }) Y5 Jbbs.mocwww.com服务器 就像是一个黑盒子 , 里面编写了各种的方法 , 比如我 投入参数 , 1 和 1 , 然后方法是加 , 当这两个数字丢进去的时候, 服务器就会把2丢出来...这就是服务器的运行原理.. bbs.mocwww.com) e* c2 W+ g8 {! s% Y% h- ]; `
而有时候 , 比如你说 , 3 和5 , 方法是乘法 , 服务器并不会这个方法 , 他就会说 , 不好意思我听不懂, 我不知道乘法是什么, 当然 也不会返回正确的结果 魔力私服,最新魔力宝贝私服技术交流6 @% K5 ~; Q3 E
魔力私服,最新魔力宝贝私服技术交流) R/ R0 u5 T8 O! f' w
接着往下.. ' Q" V3 G4 c- [+ U& n7 V
妖城在线论坛: _2 s7 }3 U; \& e6 V
技能参数 , 这个参数决定了技能的伤害 , 具体的内容论坛一搜就搜到 , 不多赘述 , 很好玩 , 也是我们比较能玩花样的地方.
( u, ]/ ^- t4 S0 S
0 \2 X8 x/ |. V! H魔力私服,最新魔力宝贝私服技术交流图档ID/技能ID魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表" d3 f: z" p- |; P1 I
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート& O- V" V9 p- g0 x
这个参数是另一个核心参数 , 这个参数决定了技能释放时的动画 , 比如我选择释放一个乾坤 , 那我起手的动画是什么样 , 人物怎么过去 , 打到怪的时候的特效是怎样的.
9 S. a& E1 b5 i4 {' g" _$ ~4 X# }—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート4 \# n) d. i) J4 n F* h! x/ [
这个ID其实分成2部分 , 技能ID , 决定了同一种技能到底是哪级的效果 , 图档ID , 什么技能
. z* ^0 ?7 T+ W( D. a+ p9 O妖城在线论坛
: _6 I; z4 E9 ^2 Z5 P例如乾坤一掷lv5 , 这个技能的 图档/技能ID =305 , 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表; x: _# ^0 R3 s5 K
首先把这个数字分成 2部分 , 03 和 05
9 F+ Z7 q" L/ g" j3 F% f妖城在线论坛魔力私服,最新魔力宝贝私服技术交流8 p9 r0 W9 D d9 @( W* B
03决定了是什么技能 , 05 决定了什么等级
5 o6 g4 ?4 D& X魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
) m' U! Q6 v( S8 y! n U魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表再拿一个例子来说 强力陨石魔法-X , ID=2339 , 23 决定这个技能是陨石魔法 , 39 , 决定这个技能的等级特效 妖城在线论坛3 P+ s8 ]$ j! h( k; B* D7 J1 K
魔力私服,最新魔力宝贝私服技术交流9 x+ C" O5 Y; A& j3 g/ ~
连击最可怕 , 1级连击这个ID是0 , 其实就等于 0000
% b: B) V" ~8 G/ L( C( C6 q妖城在线论坛
b# L/ F0 y) @1 N8 {, e+ E妖城在线论坛00=连击 , 00=1级
# S+ R! y4 U7 B; z/ Y( O9 k
/ x" f3 |% b7 h. W" @; u$ ^" }魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表这里的技能ID 不等于skill.txt里的 skill ID , 这两个东西不存在关联关系 , 所以skill ID随便写没关系 , 但是技能ID是写在gmsv里面的..不能通过data里的文件更改 bbs.mocwww.com0 A) T9 R G& s
2 o- \# ~" x1 H4 M7 U( N q% r$ Z) c$ Q
那么什么情况会导致图档不存在崩溃呢. 一般是因为客户端图档不全 , 例如服务端支持15级技能的特效 , 但是客户端不支持 , 客户端不包含这个动画的图档 , 当服务端返回信息要求客户端播放这个动画图档的时候 , 客户端做不到 ...就会卡住死循环...
7 o- s/ |# ^8 d/ Y
8 e9 J# O4 E: d& L妖城在线论坛所以 当我们想做一个新技能的时候, 只要考虑到以上的这些要素 , 就可以正常的完成一个技能从学习到释放的全过程, 不会陷入无止境的坑里面了.. —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート: B+ C& f8 e3 h+ L' Q& S1 L6 l
1 F$ G5 a/ p$ @ }- ~[ 本帖最后由 晴天老不点 于 2018-4-25 19:03 编辑 ]
|