|
小妖

- UID
- 42564
- 精华
- 0
- 积分
- 22
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2018-4-25 19:00 只看该作者
 
解析技能学习到释放的全过程.
最近想和自己小伙伴一起玩魔力, 由于个人动手能力比较强, 所以搭建服务器的工作就落在我身上了, 从找服务端到架设(单机两键端开的服, 个人电脑+花生壳内网穿透) 中间经历的坑真的是不计其数, 随便写一些心得 , 也欢迎大家来一起讨论 —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート& V0 D; @$ o& X: O1 X: r
QQ:15203009 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表. h& L7 M# w9 V* \1 I& [+ o) a
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート0 N- ]3 u- H! j5 E5 }6 p- K/ y0 n' G
那么聊正题 , 关于技能这个东西 , 在魔力这个游戏的框架下 , 到底是怎么来的... 妖城在线论坛/ z3 u7 Y3 @4 t; s+ \ ~/ q
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表; M7 C. G( z" h# j, k+ p9 F
首先, 从学习技能开始
" z1 B/ {3 z" B, G. U8 d7 I妖城在线论坛学习技能 , 需要修改的是NPC.txt这个data文件, 注意, 修改服务端任何文件时, 最好用专门的修改工具/或者excel ,并且最好在修改之后用另一个相同功能的工具来校验, 最次也要用np++这种 , 千万不要用文本文档的方式 , 因为魔力的服务端data文件中 ,除了你能看到的数字, 还包含了各种坑人的空格, 而且有些文件里的格式并不是你想的那样改了数字就能生效, 所以单纯的改, 很可能导致这行语法错误, 为了一个文件反复的开启关闭服务器特别折磨人的耐心, 这也是大多数人选择要别人改好的文件或者单纯复制粘贴的原因 , 因为觉得自己怎么改都改不好. 其实只要格式正确, 改文件是很简单的事儿, 而格式正确最主要的就是不要用太简单的编辑工具. 其实很多时候往excel粘贴一下, 然后用表格修改, 然后再copy回来, 远比在文档里浪费时间来的实际.
5 r6 } w0 l1 }/ M& V* j* |bbs.mocwww.com—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート7 K" N' C' b$ W" ~. ^5 Y S3 b
言归正传 , 回到npc这个data文件
+ L( Y. O, R' V! y5 `魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
* S" J2 ?$ M9 P. l _: S' k. b5 H魔力私服,最新魔力宝贝私服技术交流NPC类型 名字 未知 NPCID 未知 未知 未知 未知 地图ID 坐标 坐标 坐标 坐标 坐标 坐标 坐标 坐标 未知 未知 朝向 图档 未知 未知 未知 功能
: U; ]+ i8 ^0 M魔力私服,最新魔力宝贝私服技术交流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| bbs.mocwww.com h* P; A0 E' c; u# s. d v& n" \
( x! o N9 @7 f ^/ Q0 e$ f% A0 O, _—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート这就是一个很常见的技能学习NPC
5 k- W' s/ ^7 B0 S" g, e—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートNPC类型
' E( |" W" l4 S& u3 A/ l8 K% E2 F魔力私服,最新魔力宝贝私服技术交流决定我们和这个NPC交互的基本模板. bbs.mocwww.com% y4 }3 T! D6 Z1 _+ r" g
名字 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表% G- E2 w0 S. T' e6 z
就是鼠标放上去的时候左下角显示的名字.
5 H; H/ d: T1 L* v# M+ g- z3 wNPC编号
4 U9 s$ E( K- o3 U" j就是辨识这个NPC的唯一编码,注意修改的时候,不要重复,建议在自己搭服务器的时候,去找一个相对比较长的空白段,然后自己添加的NPC放在一个区块, 并且ID都在这个空白段内.这样怎么弄都很方便
; _. I4 @7 b+ X+ a1 d/ X+ L" z—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート地图ID
8 R& Y! p" b2 L0 mNPC所在地图ID坐标有4个
5 L& d8 y' f4 }$ w+ t( A妖城在线论坛划了一个区域是NPC出现的范围 , 写一样的话就固定了 魔力私服,最新魔力宝贝私服技术交流" h$ |) I$ B, `
朝向
+ o3 j8 Q' x3 a$ I魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表从朝左上顺时针一圈, 分别对应 0-7 , 比如0是左上 , 4是右下
3 \% D3 x: R4 \. ]( x Q—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート图档
! U8 k' b& Y+ Z—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートNPC的外形所用的图片编号, 想用什么自己查
- d z: ~/ t7 T( O7 f( w# [* q魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表功能
+ g- S# i9 g0 |6 J* ~—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートSKillmaster的功能一般是5个数字 , 分别对应 , 技能skill号|msgID1|msgID2|msgID3|msgID4| (这个类型的NPC最后要用|结尾 , 交换和商人不用.)
$ Y6 h, N6 f+ q L# L
5 J6 V+ I3 ~) Y% X, ~- q3 |魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表而4个msg分别对应 bbs.mocwww.com! Y2 U# \ ^6 e* w6 J, s7 [; x
msg1 ,
; P/ n; n# ?5 d4 i% j$ |- ^bbs.mocwww.com
# T$ G) y3 ^- J; ^. n魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
8 G* K/ n4 D4 |+ P7 a2 \2 f5 m# R魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
( U0 n9 T; w; }, R: x* Jmsg2 3
% t; A) T) p9 b2 j V/ r—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
+ ?6 \; e5 w) e: V" z1 u, x/ g魔力私服,最新魔力宝贝私服技术交流) _9 s2 P% b" y4 W; N" M
+ V+ r* q4 ]- M- e$ W! W! m! w* x妖城在线论坛msg 4
) e2 z3 W o5 N2 j- i) \—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
! W7 _6 f7 ^. U, z% ?2 Z# h# s—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
9 h& z' B: o0 [" Q2 _—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
6 R+ E0 @" b# [/ C: k. \妖城在线论坛这里 一个学技能的NPC , 就解释完了 , 接下来解释skill 和skilllv(关于skill 和skillID的具体格式解释 搜索一下论坛有很多, 而且没什么歧义或者不好懂的地方, 这里就不解释了) bbs.mocwww.com1 y9 @0 h2 _, C8 F
3 k! q3 M" I# m# O9 y4 p/ E4 Y& d
当一个角色向一个技能NPC选择想学习技能的时候, 这时候服务器首先会读取这个NPC的功能数据 , 取出skill号 , 比如上述例子中的skill ID "11", 然后根据玩家角色的jobID+skillID , 去找到skilllv文件中的数据, 如果对应的级别数据是0 则提示 , 该技能并不适合你
1 Q* Q. F5 Z8 M: T0 B) u) Y( d( }妖城在线论坛
( a+ }2 j$ }3 o. J" H/ S魔力私服,最新魔力宝贝私服技术交流如果没有找到数据 , 则会返回查询skill文件中这个技能的default level (skill中第5个参数, 很多老技能都是10) , 如果这里>0 , 那么这个角色就可以学到这个技能 bbs.mocwww.com: {2 q6 J9 L% d3 l
如果这里=0 , 那么也会提示 , 该技能并不适合你. bbs.mocwww.com0 `& e) c5 \8 J$ j
bbs.mocwww.com2 {% }. ^4 t& Z
所以 如果你新做了一个技能 / 职业 , 既不想写超长的skilllv data , 又不想让无关的职业学到这个技能 / 不想让这个职业学到一堆无关技能 , 把所有的default级别都改成0
' Q' c9 [. ?% l6 D' A. ~bbs.mocwww.com—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート$ [7 Q( G+ u& p. }4 l
接下来 , 角色学到了技能 , 打开技能列表, 看到的东西首先是这个技能的skill名..然后在列表点击之后 , 就进入了这个技能所对应的tech数据了
+ ?9 U, U. G. }3 Fbbs.mocwww.com
6 {+ d8 g+ [. d魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表首先, 服务端会查询,该技能所关联的tech相关的数据都取出来
/ S! }7 F$ Z/ M+ `9 W6 s—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
7 q8 M7 o' p! t; }—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート| 技能名称 | 技术ID | 技能参数
: R p8 P5 {( X! o$ k6 W1 [bbs.mocwww.com |
% o! c% F3 O8 u v魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表图档ID/技能ID |
, t9 ]! R: F ^* c) ^5 b7 u% U5 H魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表msgID | 魔力私服,最新魔力宝贝私服技术交流7 T( M& ] w K
skill_ID |
. C& ?. @( d, }9 P! l( r4 {! ]魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表使用等级 |
" _% g3 j8 J1 N! {( g妖城在线论坛技能类型 |
" e3 z8 b8 o: J9 v魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表使用对象 | 学习价格 | |
: Y0 k$ Z% U; L: A% l0 D妖城在线论坛使用耗魔 |
6 r1 a7 @6 _7 g, Y& C% c0 T—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート人物/宠物技能 | | 连击·舞LV1 | TECH_ContinuationAttack | AS:0,AN:2,AM:2,DD:-50, | 0 | 130000 | 0 | 1 | 1 | 1141 | | | 10 | 1 | 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表8 e' S/ w& K1 j; p2 s
妖城在线论坛& J: l% D9 }- j( A A2 L
首先会根据你当前的技能等级, 去把tech中的使用等级<=技能等级的技能都显示出来 (自创技能的tech必须包含1级 , 否则无法练级...虽然能学习, 但进去看到的列表是空白的)
) i8 @. Q- u) T( K0 H魔力私服,最新魔力宝贝私服技术交流bbs.mocwww.com8 G2 w1 X4 K3 [
然后角色根据技能的使用对象选择技能目标 , 接下来 就是tech中其他参数的解析了
4 Y/ p2 }+ W0 z0 \. Z! y/ y* p* i魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
1 T! F/ Z+ ~+ n/ u a2 fbbs.mocwww.com名称 , 不重要 + y! t/ l+ P; `; ^2 X+ `
妖城在线论坛* g$ x+ H) q) I9 c/ Q. u" O
技术ID , 这个是技能的核心参数之一 , 当角色在战斗中选择了该技能 , 那么服务端接收到该请求先判断服务端是否有该技术参数, 这个是保存在gmsv中的...如果你的服务器上某个技能 , 点了之后直接就跳过该回合 , 并且服务器报错 非法tech参数(Illegal tech use)的时候, 恭喜你 这个技能在你的服务端根本就不存在 , 你不需要试了 , 并不是参数或者图档问题...只是你服务器不支持罢了 . U5 T4 o; |4 G; N- d% C0 h
魔力私服,最新魔力宝贝私服技术交流) [0 p( l& l1 f7 X8 j! r" ]
毕竟很多人对编程是不通的 , 我们来做个简单的解释,
! g& }, n! r' T( y/ ]3 [$ U, e魔力私服,最新魔力宝贝私服技术交流妖城在线论坛$ S1 }9 ~4 r, T& a
服务器 就像是一个黑盒子 , 里面编写了各种的方法 , 比如我 投入参数 , 1 和 1 , 然后方法是加 , 当这两个数字丢进去的时候, 服务器就会把2丢出来...这就是服务器的运行原理..
4 k9 M9 ?! m+ |! a0 s# |+ }3 E—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート而有时候 , 比如你说 , 3 和5 , 方法是乘法 , 服务器并不会这个方法 , 他就会说 , 不好意思我听不懂, 我不知道乘法是什么, 当然 也不会返回正确的结果
" j9 U+ @; {# c. `妖城在线论坛
. g" d' _. }2 @. ]' n5 _7 hbbs.mocwww.com接着往下..
0 O z! z \" R+ s' _. N. dbbs.mocwww.com
1 i4 G( g4 Z% @1 g' ]- Q, {( r6 x妖城在线论坛技能参数 , 这个参数决定了技能的伤害 , 具体的内容论坛一搜就搜到 , 不多赘述 , 很好玩 , 也是我们比较能玩花样的地方.
- c" _6 Z! R0 @' I1 c! m; T4 K# o—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート; N8 Q1 g3 C7 b9 }* C8 X5 B1 e
图档ID/技能ID
2 i; m& H. l1 R2 [—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表9 c, B/ j |3 E. J; C6 g1 Q
这个参数是另一个核心参数 , 这个参数决定了技能释放时的动画 , 比如我选择释放一个乾坤 , 那我起手的动画是什么样 , 人物怎么过去 , 打到怪的时候的特效是怎样的. 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表% t* l/ s0 S; f" N- n; a* C8 q
7 e' ^' @' G3 V& W* U魔力私服,最新魔力宝贝私服技术交流这个ID其实分成2部分 , 技能ID , 决定了同一种技能到底是哪级的效果 , 图档ID , 什么技能 & M1 s! `$ c9 W& J8 Y
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート) }3 ]5 `" _4 L. c
例如乾坤一掷lv5 , 这个技能的 图档/技能ID =305 , 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表' ]& }$ m ]. V6 c
首先把这个数字分成 2部分 , 03 和 05
/ C- t4 l1 x* O% b, @8 T! rbbs.mocwww.com妖城在线论坛3 W* w; V* B* C4 o: x# S: V' l
03决定了是什么技能 , 05 决定了什么等级 妖城在线论坛& C2 w7 D7 V1 P8 b! Y/ x0 X$ _# q
; ?, _) a3 z' i! \, b, d—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート再拿一个例子来说 强力陨石魔法-X , ID=2339 , 23 决定这个技能是陨石魔法 , 39 , 决定这个技能的等级特效
* H5 }. K! Q6 u! w2 J$ k- k3 |9 {魔力私服,最新魔力宝贝私服技术交流bbs.mocwww.com$ Z( B! t% Y7 r4 ^9 N# G+ \
连击最可怕 , 1级连击这个ID是0 , 其实就等于 0000
, p+ k* c- K8 o9 b% J2 Q—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
3 h( U1 s$ y) p$ v妖城在线论坛00=连击 , 00=1级
+ \# K/ j/ E4 Y, p- v2 h2 kbbs.mocwww.com
3 Q I: Q. ~7 _9 q( R4 x这里的技能ID 不等于skill.txt里的 skill ID , 这两个东西不存在关联关系 , 所以skill ID随便写没关系 , 但是技能ID是写在gmsv里面的..不能通过data里的文件更改 —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート3 K8 l) N/ a, |& Y: D8 y! D
妖城在线论坛9 e$ S: J1 A# a4 i8 r
那么什么情况会导致图档不存在崩溃呢. 一般是因为客户端图档不全 , 例如服务端支持15级技能的特效 , 但是客户端不支持 , 客户端不包含这个动画的图档 , 当服务端返回信息要求客户端播放这个动画图档的时候 , 客户端做不到 ...就会卡住死循环...
, s' ]8 j* i0 G—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート+ T7 D. r# s& m$ v6 ]" X. A4 h
所以 当我们想做一个新技能的时候, 只要考虑到以上的这些要素 , 就可以正常的完成一个技能从学习到释放的全过程, 不会陷入无止境的坑里面了.. / n' j2 n* w' H1 w& I6 _* b
8 ?' {2 p. [6 | e5 b9 R魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表[ 本帖最后由 晴天老不点 于 2018-4-25 19:03 编辑 ]
|