|
小妖

- UID
- 42564
- 精华
- 0
- 积分
- 22
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2018-4-25 19:00 只看该作者
 
解析技能学习到释放的全过程.
最近想和自己小伙伴一起玩魔力, 由于个人动手能力比较强, 所以搭建服务器的工作就落在我身上了, 从找服务端到架设(单机两键端开的服, 个人电脑+花生壳内网穿透) 中间经历的坑真的是不计其数, 随便写一些心得 , 也欢迎大家来一起讨论 妖城在线论坛7 D- v: X; y* Q# c6 A; \+ E* }7 o
QQ:15203009
- Q" f9 `2 `' |& `" ]. x( I魔力私服,最新魔力宝贝私服技术交流
! x9 Y" [& O0 X; q那么聊正题 , 关于技能这个东西 , 在魔力这个游戏的框架下 , 到底是怎么来的... 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表' A7 r/ B0 \4 j2 R; A
9 b% b/ Q! k4 E妖城在线论坛首先, 从学习技能开始
/ @8 a- M* ?* N. P- L魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表学习技能 , 需要修改的是NPC.txt这个data文件, 注意, 修改服务端任何文件时, 最好用专门的修改工具/或者excel ,并且最好在修改之后用另一个相同功能的工具来校验, 最次也要用np++这种 , 千万不要用文本文档的方式 , 因为魔力的服务端data文件中 ,除了你能看到的数字, 还包含了各种坑人的空格, 而且有些文件里的格式并不是你想的那样改了数字就能生效, 所以单纯的改, 很可能导致这行语法错误, 为了一个文件反复的开启关闭服务器特别折磨人的耐心, 这也是大多数人选择要别人改好的文件或者单纯复制粘贴的原因 , 因为觉得自己怎么改都改不好. 其实只要格式正确, 改文件是很简单的事儿, 而格式正确最主要的就是不要用太简单的编辑工具. 其实很多时候往excel粘贴一下, 然后用表格修改, 然后再copy回来, 远比在文档里浪费时间来的实际. —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート0 P* V% ^% t; _! b( }
魔力私服,最新魔力宝贝私服技术交流+ f- J+ M4 u5 J# e
言归正传 , 回到npc这个data文件 —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート# m2 [8 h8 R3 E3 R' H4 y! O
魔力私服,最新魔力宝贝私服技术交流# F- m# T1 A0 T) N v
NPC类型 名字 未知 NPCID 未知 未知 未知 未知 地图ID 坐标 坐标 坐标 坐标 坐标 坐标 坐标 坐标 未知 未知 朝向 图档 未知 未知 未知 功能 * T$ p0 E5 x" ^& b% n6 w
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| * m9 z. H! ~! B+ F) ?% ~
% h7 Z! e# ?) ~6 D8 ]妖城在线论坛这就是一个很常见的技能学习NPC
( I6 P% P) h' Y0 i ^. Y1 W魔力私服,最新魔力宝贝私服技术交流NPC类型
- k- V$ B, u! ?bbs.mocwww.com决定我们和这个NPC交互的基本模板.
2 e4 `) d: x, n7 w* V [) x% B5 ]. o妖城在线论坛名字
, I& |- J; ?. P. v& n0 [- L6 r魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表就是鼠标放上去的时候左下角显示的名字. —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート C) j4 G' Y; _- A; L- ~
NPC编号
, j* Z) K8 k, J) J( t就是辨识这个NPC的唯一编码,注意修改的时候,不要重复,建议在自己搭服务器的时候,去找一个相对比较长的空白段,然后自己添加的NPC放在一个区块, 并且ID都在这个空白段内.这样怎么弄都很方便 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表/ ]3 g* H2 ]% j2 }. f, j% R
地图ID . z" O# ?" b( w* T7 N$ a: |- }
NPC所在地图ID坐标有4个 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表 s6 V, @$ s8 x' O& X
划了一个区域是NPC出现的范围 , 写一样的话就固定了
$ C0 e6 s% l7 u; hbbs.mocwww.com朝向
1 i8 V* [8 Q# J妖城在线论坛从朝左上顺时针一圈, 分别对应 0-7 , 比如0是左上 , 4是右下
0 N# |& w8 ~" C2 N( ]妖城在线论坛图档 —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート- Z5 _, F+ X. a: i) B @
NPC的外形所用的图片编号, 想用什么自己查
9 d* u, ]- z' M& S$ S. \功能 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表 @1 v: |5 B& S$ _8 i1 |4 U
SKillmaster的功能一般是5个数字 , 分别对应 , 技能skill号|msgID1|msgID2|msgID3|msgID4| (这个类型的NPC最后要用|结尾 , 交换和商人不用.)
5 ]1 G9 h7 M8 l( q! h" f( u) a# I0 S# v, j m4 U% L
而4个msg分别对应
# i( W! e5 \. p9 \% Cmsg1 ,
! \2 U3 w5 M( D3 c& Q# ^妖城在线论坛
. N1 H3 \6 x. f4 @; ^2 v) i
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表 X$ |- w n; L
* u" i. _9 X- }9 I& \9 j; i魔力私服,最新魔力宝贝私服技术交流msg2 3 妖城在线论坛9 Z5 p4 P: O% n) w6 O1 {
% t) r; A. a$ M5 R! V2 i魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
' i1 ]" u. y f# a' ^: g魔力私服,最新魔力宝贝私服技术交流bbs.mocwww.com$ `% R' c+ n* Y' O7 T0 P4 ]
msg 4 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表# l9 o0 ^* H& S" ]
; X$ H) C, Y {: {—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表8 Q W( v$ {8 {5 I
bbs.mocwww.com1 u( Y. c! i9 i$ W. e# g, X
这里 一个学技能的NPC , 就解释完了 , 接下来解释skill 和skilllv(关于skill 和skillID的具体格式解释 搜索一下论坛有很多, 而且没什么歧义或者不好懂的地方, 这里就不解释了) bbs.mocwww.com/ R+ J& m3 q: z2 `
% k h; x+ n) k4 l4 }9 z魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表当一个角色向一个技能NPC选择想学习技能的时候, 这时候服务器首先会读取这个NPC的功能数据 , 取出skill号 , 比如上述例子中的skill ID "11", 然后根据玩家角色的jobID+skillID , 去找到skilllv文件中的数据, 如果对应的级别数据是0 则提示 , 该技能并不适合你
2 d: s2 r$ n. s$ h—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート妖城在线论坛& S* k7 m; E) ?# |/ Y+ w
如果没有找到数据 , 则会返回查询skill文件中这个技能的default level (skill中第5个参数, 很多老技能都是10) , 如果这里>0 , 那么这个角色就可以学到这个技能 妖城在线论坛0 i2 y. i2 m& x7 r& I4 d
如果这里=0 , 那么也会提示 , 该技能并不适合你.
/ M( W$ V% m2 Z7 e—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
5 g F7 {# R3 Y2 C* e—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート所以 如果你新做了一个技能 / 职业 , 既不想写超长的skilllv data , 又不想让无关的职业学到这个技能 / 不想让这个职业学到一堆无关技能 , 把所有的default级别都改成0, I7 n: m: y6 b& |
- Y' Z% M0 G$ b- d, ~bbs.mocwww.com接下来 , 角色学到了技能 , 打开技能列表, 看到的东西首先是这个技能的skill名..然后在列表点击之后 , 就进入了这个技能所对应的tech数据了
9 D; g* F& q \( U
( Q- p4 d2 i7 u5 {3 }4 h+ O9 ^4 C& f魔力私服,最新魔力宝贝私服技术交流首先, 服务端会查询,该技能所关联的tech相关的数据都取出来 妖城在线论坛4 n/ F' ?, d: e' l3 ^3 c# N
0 R9 @$ a' ~( X8 h& v3 [0 l5 _, `
| 技能名称 | 技术ID | 技能参数—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート- E4 @" h: T: k* P0 E/ N
| 3 p. ?* n6 k, `) s5 {
图档ID/技能ID | —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート& [ v$ d6 y% J4 _' Q9 H7 X. y& _
msgID |
3 Q- k! Q, B. z# `8 {魔力私服,最新魔力宝贝私服技术交流skill_ID |
7 X: n6 C. R2 ~% ~ X—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート使用等级 |
9 N. f. w5 ]8 g; M6 J1 N魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表技能类型 |
3 ^3 P% C( D" {2 W/ ]—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート使用对象 | 学习价格 | | 妖城在线论坛3 w( B z+ s! K* f; v: n
使用耗魔 | —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート2 T3 G% l& @0 e, r3 L
人物/宠物技能 | | 连击·舞LV1 | TECH_ContinuationAttack | AS:0,AN:2,AM:2,DD:-50, | 0 | 130000 | 0 | 1 | 1 | 1141 | | | 10 | 1 |
2 a K P% W5 B妖城在线论坛
- j x- R% {! D. v4 C) X魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表首先会根据你当前的技能等级, 去把tech中的使用等级<=技能等级的技能都显示出来 (自创技能的tech必须包含1级 , 否则无法练级...虽然能学习, 但进去看到的列表是空白的)
/ Y; E# l m2 h" e- o. D妖城在线论坛$ \8 _2 p7 K4 e; r: y6 r: M
然后角色根据技能的使用对象选择技能目标 , 接下来 就是tech中其他参数的解析了
8 c& \# d8 @" m- t+ m
" }: j0 m3 p1 `+ j! K( z/ ~魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表名称 , 不重要 —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート6 C5 F( A2 i( @* J$ {& Y! i1 @
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート1 E: h- t2 B( I x, [
技术ID , 这个是技能的核心参数之一 , 当角色在战斗中选择了该技能 , 那么服务端接收到该请求先判断服务端是否有该技术参数, 这个是保存在gmsv中的...如果你的服务器上某个技能 , 点了之后直接就跳过该回合 , 并且服务器报错 非法tech参数(Illegal tech use)的时候, 恭喜你 这个技能在你的服务端根本就不存在 , 你不需要试了 , 并不是参数或者图档问题...只是你服务器不支持罢了 —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート7 t4 g$ w9 G7 L
/ p ^1 L( Z" d魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表毕竟很多人对编程是不通的 , 我们来做个简单的解释, bbs.mocwww.com6 C$ Z/ ?- b! P
6 C0 \" g; }! w5 i
服务器 就像是一个黑盒子 , 里面编写了各种的方法 , 比如我 投入参数 , 1 和 1 , 然后方法是加 , 当这两个数字丢进去的时候, 服务器就会把2丢出来...这就是服务器的运行原理.. 妖城在线论坛9 R9 x1 S9 x2 r9 K2 c* V" r
而有时候 , 比如你说 , 3 和5 , 方法是乘法 , 服务器并不会这个方法 , 他就会说 , 不好意思我听不懂, 我不知道乘法是什么, 当然 也不会返回正确的结果 * Y# _3 ~7 H; y+ R5 G* R
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート0 x; @9 _. [! o
接着往下.. —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート/ [) S2 z" a( a1 w0 I9 }9 j# O# ^
魔力私服,最新魔力宝贝私服技术交流) y B. B0 g! p4 K! V
技能参数 , 这个参数决定了技能的伤害 , 具体的内容论坛一搜就搜到 , 不多赘述 , 很好玩 , 也是我们比较能玩花样的地方. 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表8 d) x+ W8 X4 ~2 Y: Q
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表* ?: v: y" t! K( r& \' v6 k
图档ID/技能ID8 [# Y: R. H; x- n
魔力私服,最新魔力宝贝私服技术交流" \# ?8 K. z; t" N5 u3 G9 _
这个参数是另一个核心参数 , 这个参数决定了技能释放时的动画 , 比如我选择释放一个乾坤 , 那我起手的动画是什么样 , 人物怎么过去 , 打到怪的时候的特效是怎样的.
. E3 t8 D" M9 {$ H& m, Nbbs.mocwww.com
* D9 o: v( ~6 f' R8 j7 q& O—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート这个ID其实分成2部分 , 技能ID , 决定了同一种技能到底是哪级的效果 , 图档ID , 什么技能 bbs.mocwww.com2 K( d. K0 P* s6 r8 S7 W0 Y" A0 d% ~9 {
妖城在线论坛- B% S# e/ {# v/ h2 ]- w, t
例如乾坤一掷lv5 , 这个技能的 图档/技能ID =305 ,
, y4 O. l9 M" x7 C& R4 h2 q# A妖城在线论坛首先把这个数字分成 2部分 , 03 和 05
/ p( I! d& I- Q+ w5 c4 J& |/ E9 F魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表- n, d% I' Z% d% O ?" E3 a
03决定了是什么技能 , 05 决定了什么等级
4 P$ W% c* \. qbbs.mocwww.com魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表) f+ L! |" q& r7 g x0 l/ }
再拿一个例子来说 强力陨石魔法-X , ID=2339 , 23 决定这个技能是陨石魔法 , 39 , 决定这个技能的等级特效 妖城在线论坛! ~7 @) g) Y6 y8 J" F
2 W0 \( H! T" g! |" U) x. k ^/ v妖城在线论坛连击最可怕 , 1级连击这个ID是0 , 其实就等于 0000 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表' ~- O: q/ d/ | O# u
魔力私服,最新魔力宝贝私服技术交流- F, D, q+ F* Q( P
00=连击 , 00=1级 9 Z! S% _4 v$ s3 v8 s& f \ f7 q9 C
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表" q0 R9 H+ [7 u; U
这里的技能ID 不等于skill.txt里的 skill ID , 这两个东西不存在关联关系 , 所以skill ID随便写没关系 , 但是技能ID是写在gmsv里面的..不能通过data里的文件更改 —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート9 G: ~; f0 z9 `1 ?7 ^; u6 ?6 R; B
( ?- W6 q4 Y3 K" }魔力私服,最新魔力宝贝私服技术交流那么什么情况会导致图档不存在崩溃呢. 一般是因为客户端图档不全 , 例如服务端支持15级技能的特效 , 但是客户端不支持 , 客户端不包含这个动画的图档 , 当服务端返回信息要求客户端播放这个动画图档的时候 , 客户端做不到 ...就会卡住死循环...
( _" W2 y1 W; Y c魔力私服,最新魔力宝贝私服技术交流
' G5 s9 @) Z, F3 M# e/ p; g魔力私服,最新魔力宝贝私服技术交流所以 当我们想做一个新技能的时候, 只要考虑到以上的这些要素 , 就可以正常的完成一个技能从学习到释放的全过程, 不会陷入无止境的坑里面了..
' }! P1 [) _& E! S8 d3 V" v
t+ F1 g# a1 u ~9 Q, dbbs.mocwww.com[ 本帖最后由 晴天老不点 于 2018-4-25 19:03 编辑 ]
|