|
小妖

- UID
- 42564
- 精华
- 0
- 积分
- 22
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2018-4-25 19:00 只看该作者
 
解析技能学习到释放的全过程.
最近想和自己小伙伴一起玩魔力, 由于个人动手能力比较强, 所以搭建服务器的工作就落在我身上了, 从找服务端到架设(单机两键端开的服, 个人电脑+花生壳内网穿透) 中间经历的坑真的是不计其数, 随便写一些心得 , 也欢迎大家来一起讨论 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表/ S' c- g" M( S- x9 {6 B; z
QQ:15203009 魔力私服,最新魔力宝贝私服技术交流6 g4 }' w: R v; Q+ S, x7 p- L! ]
* O9 k, Y% z8 a4 r3 f
那么聊正题 , 关于技能这个东西 , 在魔力这个游戏的框架下 , 到底是怎么来的... 魔力私服,最新魔力宝贝私服技术交流6 Y1 T+ r$ {2 g9 r1 r) e6 f4 d
妖城在线论坛5 F' E, ]7 s; w
首先, 从学习技能开始 4 [! r. x8 k- Q4 G0 c: Z* L$ g
学习技能 , 需要修改的是NPC.txt这个data文件, 注意, 修改服务端任何文件时, 最好用专门的修改工具/或者excel ,并且最好在修改之后用另一个相同功能的工具来校验, 最次也要用np++这种 , 千万不要用文本文档的方式 , 因为魔力的服务端data文件中 ,除了你能看到的数字, 还包含了各种坑人的空格, 而且有些文件里的格式并不是你想的那样改了数字就能生效, 所以单纯的改, 很可能导致这行语法错误, 为了一个文件反复的开启关闭服务器特别折磨人的耐心, 这也是大多数人选择要别人改好的文件或者单纯复制粘贴的原因 , 因为觉得自己怎么改都改不好. 其实只要格式正确, 改文件是很简单的事儿, 而格式正确最主要的就是不要用太简单的编辑工具. 其实很多时候往excel粘贴一下, 然后用表格修改, 然后再copy回来, 远比在文档里浪费时间来的实际. —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート: s9 C) |: K8 C8 {. Y0 E
) b/ h/ s* c2 @ r/ w" y5 O. R
言归正传 , 回到npc这个data文件
) K1 Z" x* K9 `% J6 j" U. W. p3 O6 Z4 Z/ O1 W0 f
NPC类型 名字 未知 NPCID 未知 未知 未知 未知 地图ID 坐标 坐标 坐标 坐标 坐标 坐标 坐标 坐标 未知 未知 朝向 图档 未知 未知 未知 功能
) ?+ C' \& g3 I: n( \魔力私服,最新魔力宝贝私服技术交流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| —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート# }5 P, u' ?# V/ @
魔力私服,最新魔力宝贝私服技术交流) d" E7 {8 A9 u
这就是一个很常见的技能学习NPC
* v7 _1 d5 r& E/ f6 {' r魔力私服,最新魔力宝贝私服技术交流NPC类型 魔力私服,最新魔力宝贝私服技术交流% b$ A6 U) T% Q, O# n
决定我们和这个NPC交互的基本模板. 魔力私服,最新魔力宝贝私服技术交流. g I) T' s( B1 h
名字 妖城在线论坛( Y% Q! M5 d/ x1 P9 R" O5 _; o5 n
就是鼠标放上去的时候左下角显示的名字. 魔力私服,最新魔力宝贝私服技术交流- b6 ^ z7 q8 S, R' k( t
NPC编号
* K2 D- K; ^, e8 h3 c0 i魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表就是辨识这个NPC的唯一编码,注意修改的时候,不要重复,建议在自己搭服务器的时候,去找一个相对比较长的空白段,然后自己添加的NPC放在一个区块, 并且ID都在这个空白段内.这样怎么弄都很方便
/ S% r! M9 C, O* E; I妖城在线论坛地图ID 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表. Z- P, {+ C6 D7 j3 h. K1 o9 x: f: ]. n
NPC所在地图ID坐标有4个
8 [$ D+ [8 t6 G划了一个区域是NPC出现的范围 , 写一样的话就固定了 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表; b! [2 K7 e: U' |& ^
朝向
: Z6 n" a$ {0 k8 V2 s r2 \魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表从朝左上顺时针一圈, 分别对应 0-7 , 比如0是左上 , 4是右下
' E9 N/ m1 N7 Q7 t" H魔力私服,最新魔力宝贝私服技术交流图档
, z5 F- Q2 {% d+ BNPC的外形所用的图片编号, 想用什么自己查
$ [5 {8 p) g3 ~5 A妖城在线论坛功能
8 |: q7 j, {) ^/ r5 v魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表SKillmaster的功能一般是5个数字 , 分别对应 , 技能skill号|msgID1|msgID2|msgID3|msgID4| (这个类型的NPC最后要用|结尾 , 交换和商人不用.) 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表0 s( q0 z2 j* M+ s. A
魔力私服,最新魔力宝贝私服技术交流4 q7 p/ \1 r% U2 U( i& u, |
而4个msg分别对应 bbs.mocwww.com2 N' x8 {. q* N+ D8 ^, R
msg1 ,
' J2 Q+ Z0 F7 v& W* l& S/ Kbbs.mocwww.com
魔力私服,最新魔力宝贝私服技术交流. ]! n$ e$ c! ~' t; r4 z* y9 C
5 j) w. R2 o. m {) F% N8 Q
& z& u. \( ?; nbbs.mocwww.commsg2 3
: w1 n, O4 z6 n0 Y
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート7 k1 l2 t' d/ }) s9 J
# h9 y$ v" t* s: J5 y* R—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
+ E9 \7 t3 `/ U+ A& k—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートmsg 4 魔力私服,最新魔力宝贝私服技术交流" n; K+ G, c) O
& O+ ` N% b5 @8 I8 u# I! i0 z—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート妖城在线论坛) ~/ a+ ^0 z* \- \
7 E- E R. ~+ x0 Y" @3 }# Q0 d妖城在线论坛这里 一个学技能的NPC , 就解释完了 , 接下来解释skill 和skilllv(关于skill 和skillID的具体格式解释 搜索一下论坛有很多, 而且没什么歧义或者不好懂的地方, 这里就不解释了) ; `/ a$ C& T* w. C9 z0 B4 Q' e6 U
妖城在线论坛* \' l- r1 h" y0 t7 R
当一个角色向一个技能NPC选择想学习技能的时候, 这时候服务器首先会读取这个NPC的功能数据 , 取出skill号 , 比如上述例子中的skill ID "11", 然后根据玩家角色的jobID+skillID , 去找到skilllv文件中的数据, 如果对应的级别数据是0 则提示 , 该技能并不适合你 —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート1 W+ b, ?& n! _3 q" W
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート4 R! B) @3 S- c7 o9 R% O" K
如果没有找到数据 , 则会返回查询skill文件中这个技能的default level (skill中第5个参数, 很多老技能都是10) , 如果这里>0 , 那么这个角色就可以学到这个技能
! E; p6 L; [2 ]如果这里=0 , 那么也会提示 , 该技能并不适合你. 魔力私服,最新魔力宝贝私服技术交流5 ]+ k$ q# `$ Y/ M0 O
5 z; X4 ]6 J' K/ p0 w! H) o所以 如果你新做了一个技能 / 职业 , 既不想写超长的skilllv data , 又不想让无关的职业学到这个技能 / 不想让这个职业学到一堆无关技能 , 把所有的default级别都改成0
4 Q& \4 o( l& g$ I1 `" H) \妖城在线论坛—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート( p$ x E. ^9 ]
接下来 , 角色学到了技能 , 打开技能列表, 看到的东西首先是这个技能的skill名..然后在列表点击之后 , 就进入了这个技能所对应的tech数据了
8 L4 j v! y4 A魔力私服,最新魔力宝贝私服技术交流—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート8 o; I) D8 s5 o6 I+ {" B
首先, 服务端会查询,该技能所关联的tech相关的数据都取出来 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表1 _" T* K, F" t0 e
3 |8 o; I5 O/ q7 I+ S- g魔力私服,最新魔力宝贝私服技术交流| 技能名称 | 技术ID | 技能参数
* M7 Y3 I' y$ \3 l8 ?—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート |
, o- H* n6 B" }3 c! z5 k) B$ B妖城在线论坛图档ID/技能ID | 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表; S3 G( A ^- M& ]: x/ E& P
msgID |
, J! T: b& q/ Vskill_ID |
. {4 v# J0 M% {& |( G. D+ I8 d使用等级 | —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート/ ^' ?$ @" a; v) ~
技能类型 | P0 v5 X* M% q$ g" j
使用对象 | 学习价格 | |
* R, H2 v# }- z$ c T2 X魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表使用耗魔 |
; T( k' g% a# [魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表人物/宠物技能 | | 连击·舞LV1 | TECH_ContinuationAttack | AS:0,AN:2,AM:2,DD:-50, | 0 | 130000 | 0 | 1 | 1 | 1141 | | | 10 | 1 | bbs.mocwww.com: O- h. t# p% [- {& v
2 T. @: K: P* b! jbbs.mocwww.com首先会根据你当前的技能等级, 去把tech中的使用等级<=技能等级的技能都显示出来 (自创技能的tech必须包含1级 , 否则无法练级...虽然能学习, 但进去看到的列表是空白的)
% ~/ y3 y, ?9 O, m魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
9 h- s/ m9 u2 ?" N: X$ B—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート然后角色根据技能的使用对象选择技能目标 , 接下来 就是tech中其他参数的解析了
: c( m" O* L, h+ C2 G tbbs.mocwww.com魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表* T; I3 ?9 r1 t8 [1 K
名称 , 不重要
0 h6 s7 x& ^) k5 w B- abbs.mocwww.com魔力私服,最新魔力宝贝私服技术交流# X# u4 [& k: A! a
技术ID , 这个是技能的核心参数之一 , 当角色在战斗中选择了该技能 , 那么服务端接收到该请求先判断服务端是否有该技术参数, 这个是保存在gmsv中的...如果你的服务器上某个技能 , 点了之后直接就跳过该回合 , 并且服务器报错 非法tech参数(Illegal tech use)的时候, 恭喜你 这个技能在你的服务端根本就不存在 , 你不需要试了 , 并不是参数或者图档问题...只是你服务器不支持罢了 妖城在线论坛# b& z4 U/ z- Q$ Z* i' }
* X- E& r* L* n
毕竟很多人对编程是不通的 , 我们来做个简单的解释, 魔力私服,最新魔力宝贝私服技术交流- p( W7 O# \# I- @; P- e4 y0 k
妖城在线论坛* D1 `1 X! I, H9 U" }
服务器 就像是一个黑盒子 , 里面编写了各种的方法 , 比如我 投入参数 , 1 和 1 , 然后方法是加 , 当这两个数字丢进去的时候, 服务器就会把2丢出来...这就是服务器的运行原理.. 魔力私服,最新魔力宝贝私服技术交流: X; {4 D# c, c A" ?
而有时候 , 比如你说 , 3 和5 , 方法是乘法 , 服务器并不会这个方法 , 他就会说 , 不好意思我听不懂, 我不知道乘法是什么, 当然 也不会返回正确的结果
' H7 K% g' p9 W2 W+ ~! z7 ~% l- Ubbs.mocwww.com魔力私服,最新魔力宝贝私服技术交流$ ~2 J0 m: o, [4 E6 m
接着往下.. 妖城在线论坛9 _6 V1 O1 `$ B: z$ m& D
4 U6 V# E- Z+ {, N: \0 y
技能参数 , 这个参数决定了技能的伤害 , 具体的内容论坛一搜就搜到 , 不多赘述 , 很好玩 , 也是我们比较能玩花样的地方.
+ D$ f8 \# B" X% ?bbs.mocwww.com
% a! X: ^" w( U' p) h* C1 v7 ^妖城在线论坛图档ID/技能IDbbs.mocwww.com2 Z+ A, W8 X8 I( G3 S2 D
' H8 N' p" ^3 J* D3 M妖城在线论坛这个参数是另一个核心参数 , 这个参数决定了技能释放时的动画 , 比如我选择释放一个乾坤 , 那我起手的动画是什么样 , 人物怎么过去 , 打到怪的时候的特效是怎样的. 魔力私服,最新魔力宝贝私服技术交流3 t7 l. H G6 {8 y' ^, ~& U; T
. c) `$ y2 L2 |6 o) q5 N/ R7 J这个ID其实分成2部分 , 技能ID , 决定了同一种技能到底是哪级的效果 , 图档ID , 什么技能
6 X' y5 l6 }$ l魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート! p& c2 P( Z; z
例如乾坤一掷lv5 , 这个技能的 图档/技能ID =305 , 魔力私服,最新魔力宝贝私服技术交流: G$ e: X( ?( x+ P
首先把这个数字分成 2部分 , 03 和 05
+ _, a% i1 Y2 \- M7 T P—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表% f i1 Y, x4 k
03决定了是什么技能 , 05 决定了什么等级
- v1 L: D" i: ~—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート妖城在线论坛) D5 w% X5 U; m
再拿一个例子来说 强力陨石魔法-X , ID=2339 , 23 决定这个技能是陨石魔法 , 39 , 决定这个技能的等级特效 6 l$ \+ z E1 e3 d7 S' P
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート5 n7 ]4 o* Z& G) D$ R# g
连击最可怕 , 1级连击这个ID是0 , 其实就等于 0000
8 m3 Q1 G8 P# R5 s魔力私服,最新魔力宝贝私服技术交流
. ?+ g, r8 B% r妖城在线论坛00=连击 , 00=1级 —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート5 R* u# u1 _1 I2 M- h
# I" f# }1 \# m% R3 _% D/ P魔力私服,最新魔力宝贝私服技术交流这里的技能ID 不等于skill.txt里的 skill ID , 这两个东西不存在关联关系 , 所以skill ID随便写没关系 , 但是技能ID是写在gmsv里面的..不能通过data里的文件更改 —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート/ ]% _( P- r' i8 r" g/ y
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート- q/ `6 ]. C# C% P. ?, W
那么什么情况会导致图档不存在崩溃呢. 一般是因为客户端图档不全 , 例如服务端支持15级技能的特效 , 但是客户端不支持 , 客户端不包含这个动画的图档 , 当服务端返回信息要求客户端播放这个动画图档的时候 , 客户端做不到 ...就会卡住死循环...
1 M4 t. q& l; Z( C9 x* c' Bbbs.mocwww.com妖城在线论坛" h c4 |6 \/ d/ L8 [
所以 当我们想做一个新技能的时候, 只要考虑到以上的这些要素 , 就可以正常的完成一个技能从学习到释放的全过程, 不会陷入无止境的坑里面了..
9 i$ ]2 f1 L' M- v$ R—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート魔力私服,最新魔力宝贝私服技术交流% S. Z9 p8 f% n Z- u( ~
[ 本帖最后由 晴天老不点 于 2018-4-25 19:03 编辑 ]
|