|
小妖

- UID
- 42564
- 精华
- 0
- 积分
- 22
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2018-4-25 19:00 只看该作者
 
解析技能学习到释放的全过程.
最近想和自己小伙伴一起玩魔力, 由于个人动手能力比较强, 所以搭建服务器的工作就落在我身上了, 从找服务端到架设(单机两键端开的服, 个人电脑+花生壳内网穿透) 中间经历的坑真的是不计其数, 随便写一些心得 , 也欢迎大家来一起讨论 " F2 o* q6 u; |! _6 T# H7 u4 ~
QQ:15203009
+ {" M5 f+ [: \ r妖城在线论坛妖城在线论坛) ]* C# h# `) S- O* g
那么聊正题 , 关于技能这个东西 , 在魔力这个游戏的框架下 , 到底是怎么来的...
6 u# R# P7 D* B$ B$ N魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
* |3 m0 O" l: v6 ?% F: {—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート首先, 从学习技能开始
: K# b3 K. _$ L魔力私服,最新魔力宝贝私服技术交流学习技能 , 需要修改的是NPC.txt这个data文件, 注意, 修改服务端任何文件时, 最好用专门的修改工具/或者excel ,并且最好在修改之后用另一个相同功能的工具来校验, 最次也要用np++这种 , 千万不要用文本文档的方式 , 因为魔力的服务端data文件中 ,除了你能看到的数字, 还包含了各种坑人的空格, 而且有些文件里的格式并不是你想的那样改了数字就能生效, 所以单纯的改, 很可能导致这行语法错误, 为了一个文件反复的开启关闭服务器特别折磨人的耐心, 这也是大多数人选择要别人改好的文件或者单纯复制粘贴的原因 , 因为觉得自己怎么改都改不好. 其实只要格式正确, 改文件是很简单的事儿, 而格式正确最主要的就是不要用太简单的编辑工具. 其实很多时候往excel粘贴一下, 然后用表格修改, 然后再copy回来, 远比在文档里浪费时间来的实际. 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表; Y. L% ]6 j7 r8 v* w
妖城在线论坛' E @( @+ \0 A6 `! S
言归正传 , 回到npc这个data文件 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表+ |% X, L, f) D7 O
9 C% E. V7 \, Q. w" ubbs.mocwww.comNPC类型 名字 未知 NPCID 未知 未知 未知 未知 地图ID 坐标 坐标 坐标 坐标 坐标 坐标 坐标 坐标 未知 未知 朝向 图档 未知 未知 未知 功能
; s9 N6 L( d8 V: XSkillmaster 反击学习石像 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| 6 J6 P& X( |5 y8 e
妖城在线论坛8 }( @; S3 x9 N X" C V! W
这就是一个很常见的技能学习NPC —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート& |7 ]2 u0 j M! O; h
NPC类型 —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート: F% n, m6 S; ~, X6 a+ \7 {# J' s. l
决定我们和这个NPC交互的基本模板.
: M9 v$ M* _ X6 s& E$ Z3 I: z魔力私服,最新魔力宝贝私服技术交流名字 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表/ Y/ R5 r `' |6 S( b' i
就是鼠标放上去的时候左下角显示的名字. 妖城在线论坛1 e4 i) F5 G3 V' ^/ e2 G1 z4 g
NPC编号
8 J( m9 \, r! y0 A2 `7 G, z, o: T魔力私服,最新魔力宝贝私服技术交流就是辨识这个NPC的唯一编码,注意修改的时候,不要重复,建议在自己搭服务器的时候,去找一个相对比较长的空白段,然后自己添加的NPC放在一个区块, 并且ID都在这个空白段内.这样怎么弄都很方便 —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート8 i: q- r2 w& N! r
地图ID bbs.mocwww.com/ M9 o' E4 u( M6 G
NPC所在地图ID坐标有4个
! G0 j$ |. W/ s0 \, S魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表划了一个区域是NPC出现的范围 , 写一样的话就固定了 —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート+ I0 I& E( b- p
朝向 魔力私服,最新魔力宝贝私服技术交流; D! o, S# X* U! f- J. j, p. q$ Q/ D
从朝左上顺时针一圈, 分别对应 0-7 , 比如0是左上 , 4是右下 —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート9 ?1 O1 y+ ?, p- |' W1 G6 L, k2 H
图档 魔力私服,最新魔力宝贝私服技术交流' _! N& q( a, q4 N q3 X1 w1 G
NPC的外形所用的图片编号, 想用什么自己查 妖城在线论坛& r6 V5 X1 t8 k, p
功能 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表) F) B0 e% o5 n8 ~! i+ f3 ?5 k0 }
SKillmaster的功能一般是5个数字 , 分别对应 , 技能skill号|msgID1|msgID2|msgID3|msgID4| (这个类型的NPC最后要用|结尾 , 交换和商人不用.) 妖城在线论坛: j. X" s- s! J1 Z3 O; E6 A
魔力私服,最新魔力宝贝私服技术交流8 @. ~, }. r6 o
而4个msg分别对应
+ v# M$ r2 n; \0 `4 {9 o魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表msg1 , 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表. R1 I& a- `4 ?3 z, [
妖城在线论坛7 T5 h5 r2 j3 k$ k& p; |6 @
( U$ j; r, `# Z
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート$ `; n+ m! N9 E5 z
msg2 3 妖城在线论坛+ X6 m4 |: Z& V$ {1 d6 K
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表* P4 b8 {0 P& _% {3 l+ i) ?
# }% @% H8 w' o& S1 K% Z魔力私服,最新魔力宝贝私服技术交流7 Q1 Q8 ~4 Z6 k
msg 4
1 p' k) {) ~0 p9 q妖城在线论坛
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表" e7 \3 k: |8 g- G1 \
& P3 i1 ^ I0 d8 O* L3 T" P—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
/ Y) V' F, Y4 abbs.mocwww.com这里 一个学技能的NPC , 就解释完了 , 接下来解释skill 和skilllv(关于skill 和skillID的具体格式解释 搜索一下论坛有很多, 而且没什么歧义或者不好懂的地方, 这里就不解释了)
0 @% {" x% O7 k4 L( Q" M9 U1 Q8 v妖城在线论坛魔力私服,最新魔力宝贝私服技术交流5 H: ^( N* t \9 z
当一个角色向一个技能NPC选择想学习技能的时候, 这时候服务器首先会读取这个NPC的功能数据 , 取出skill号 , 比如上述例子中的skill ID "11", 然后根据玩家角色的jobID+skillID , 去找到skilllv文件中的数据, 如果对应的级别数据是0 则提示 , 该技能并不适合你
' T: ]7 |: \! ]
. P/ i" g, p& M$ \魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表如果没有找到数据 , 则会返回查询skill文件中这个技能的default level (skill中第5个参数, 很多老技能都是10) , 如果这里>0 , 那么这个角色就可以学到这个技能 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表% H, w1 o( r1 o4 g$ e9 n
如果这里=0 , 那么也会提示 , 该技能并不适合你. bbs.mocwww.com% P. R+ P/ d' M
妖城在线论坛8 @+ l! e2 q7 C
所以 如果你新做了一个技能 / 职业 , 既不想写超长的skilllv data , 又不想让无关的职业学到这个技能 / 不想让这个职业学到一堆无关技能 , 把所有的default级别都改成0魔力私服,最新魔力宝贝私服技术交流% |. b5 H8 U4 b
bbs.mocwww.com0 b! M% j/ u9 C" Z7 X
接下来 , 角色学到了技能 , 打开技能列表, 看到的东西首先是这个技能的skill名..然后在列表点击之后 , 就进入了这个技能所对应的tech数据了 —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート/ O! z5 S" [( o3 }+ n
魔力私服,最新魔力宝贝私服技术交流5 m. F% I7 j( a, }7 J% `( V
首先, 服务端会查询,该技能所关联的tech相关的数据都取出来
) z2 f8 ]7 {( t+ f9 Abbs.mocwww.com魔力私服,最新魔力宝贝私服技术交流) _5 u+ e2 _! J: y5 P% V4 n
| 技能名称 | 技术ID | 技能参数
/ w& h8 v7 T8 A; l* w魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表 | 魔力私服,最新魔力宝贝私服技术交流6 J7 i9 H1 q% o" P$ n+ |
图档ID/技能ID |
8 ~. y: [( }# I5 Y3 v魔力私服,最新魔力宝贝私服技术交流msgID |
6 g8 M/ f' k* M$ y( T+ ~, L' b—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートskill_ID |
2 m9 v7 t6 Q& G4 p( [; h使用等级 |
4 [4 H6 k t q$ K2 F0 f ~; K( C) Pbbs.mocwww.com技能类型 |
; I9 s e* {' b6 A* C使用对象 | 学习价格 | | 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表& w2 W0 b1 B9 R- k
使用耗魔 | 8 y, d( C5 m" t- X$ g. V+ H1 l* g
人物/宠物技能 | | 连击·舞LV1 | TECH_ContinuationAttack | AS:0,AN:2,AM:2,DD:-50, | 0 | 130000 | 0 | 1 | 1 | 1141 | | | 10 | 1 | 妖城在线论坛8 C" E/ e) ?: v
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表0 o6 c* S9 _ P0 g3 {5 X6 r5 Z
首先会根据你当前的技能等级, 去把tech中的使用等级<=技能等级的技能都显示出来 (自创技能的tech必须包含1级 , 否则无法练级...虽然能学习, 但进去看到的列表是空白的)
+ m: b8 K7 x5 e( D l2 A8 W魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
* w3 L& w# u0 Z- N, {- c2 Zbbs.mocwww.com然后角色根据技能的使用对象选择技能目标 , 接下来 就是tech中其他参数的解析了 —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート! r( h$ j) M/ k% ]. U
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート9 H |( w* W8 _" |. u# ]
名称 , 不重要 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表& G" }( B4 t! C* b3 Y5 {
1 R. `5 T" C/ ?4 U8 ^. i魔力私服,最新魔力宝贝私服技术交流技术ID , 这个是技能的核心参数之一 , 当角色在战斗中选择了该技能 , 那么服务端接收到该请求先判断服务端是否有该技术参数, 这个是保存在gmsv中的...如果你的服务器上某个技能 , 点了之后直接就跳过该回合 , 并且服务器报错 非法tech参数(Illegal tech use)的时候, 恭喜你 这个技能在你的服务端根本就不存在 , 你不需要试了 , 并不是参数或者图档问题...只是你服务器不支持罢了
: c( F3 N% [5 ]2 _# \1 F魔力私服,最新魔力宝贝私服技术交流
Z! q4 s: s- y" W魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表毕竟很多人对编程是不通的 , 我们来做个简单的解释, —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート7 W( C& u2 R2 F. w
魔力私服,最新魔力宝贝私服技术交流0 k0 K, B8 R5 s( ?
服务器 就像是一个黑盒子 , 里面编写了各种的方法 , 比如我 投入参数 , 1 和 1 , 然后方法是加 , 当这两个数字丢进去的时候, 服务器就会把2丢出来...这就是服务器的运行原理..
) y9 x1 i1 C p9 k3 Dbbs.mocwww.com而有时候 , 比如你说 , 3 和5 , 方法是乘法 , 服务器并不会这个方法 , 他就会说 , 不好意思我听不懂, 我不知道乘法是什么, 当然 也不会返回正确的结果 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表! L' m l/ c v- U
$ o" Y$ K* o. e) P% A* X
接着往下..
$ t6 @! b' {- s. e, _$ @$ n8 d—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートbbs.mocwww.com% I( s) I% z+ T+ y5 s1 Q i
技能参数 , 这个参数决定了技能的伤害 , 具体的内容论坛一搜就搜到 , 不多赘述 , 很好玩 , 也是我们比较能玩花样的地方. bbs.mocwww.com, F Y0 ?/ g6 L1 v
妖城在线论坛& J# Z s- @9 ?; b( }4 V2 c* ^# Y
图档ID/技能IDbbs.mocwww.com. D- w G5 g$ T, i* Y: Q' M
妖城在线论坛) [$ l' J- C# J t" b4 e
这个参数是另一个核心参数 , 这个参数决定了技能释放时的动画 , 比如我选择释放一个乾坤 , 那我起手的动画是什么样 , 人物怎么过去 , 打到怪的时候的特效是怎样的.
/ ?# ^) h/ B S6 B# g8 L2 T魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート7 C6 Z4 Q( N8 J8 L- T; V/ R
这个ID其实分成2部分 , 技能ID , 决定了同一种技能到底是哪级的效果 , 图档ID , 什么技能 bbs.mocwww.com5 Y) S& o* z! x7 _
3 t0 I0 N4 @4 O1 s) Z魔力私服,最新魔力宝贝私服技术交流例如乾坤一掷lv5 , 这个技能的 图档/技能ID =305 , 妖城在线论坛# q; r* @8 O8 i0 T
首先把这个数字分成 2部分 , 03 和 05
& \: l( H* `. P' fbbs.mocwww.combbs.mocwww.com% t2 _+ t3 v$ }; U8 ~' ~% ?
03决定了是什么技能 , 05 决定了什么等级
. X' O* ]4 V V9 _& O魔力私服,最新魔力宝贝私服技术交流魔力私服,最新魔力宝贝私服技术交流& @7 c9 X6 g* t3 d2 C& _
再拿一个例子来说 强力陨石魔法-X , ID=2339 , 23 决定这个技能是陨石魔法 , 39 , 决定这个技能的等级特效
5 w7 z7 R+ {& H; H; U魔力私服,最新魔力宝贝私服技术交流: Q9 a0 R! X/ W) r
连击最可怕 , 1级连击这个ID是0 , 其实就等于 0000
4 l( Z4 z7 g+ u1 B7 c魔力私服,最新魔力宝贝私服技术交流
- @! {0 Y- A( @% c魔力私服,最新魔力宝贝私服技术交流00=连击 , 00=1级 2 T9 V3 Y& x/ \; w
6 a9 P# l+ B2 V4 ^0 _$ z& [- q! v妖城在线论坛这里的技能ID 不等于skill.txt里的 skill ID , 这两个东西不存在关联关系 , 所以skill ID随便写没关系 , 但是技能ID是写在gmsv里面的..不能通过data里的文件更改 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表$ U. ~8 K5 g, ?( L. G
妖城在线论坛2 r6 R3 ^( B' j0 T3 l$ C/ b3 Z) L
那么什么情况会导致图档不存在崩溃呢. 一般是因为客户端图档不全 , 例如服务端支持15级技能的特效 , 但是客户端不支持 , 客户端不包含这个动画的图档 , 当服务端返回信息要求客户端播放这个动画图档的时候 , 客户端做不到 ...就会卡住死循环...
: N; f: s1 a2 Y( |% A. g' ~1 N魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
' w, u' P. K3 x3 F& r4 u2 e; R所以 当我们想做一个新技能的时候, 只要考虑到以上的这些要素 , 就可以正常的完成一个技能从学习到释放的全过程, 不会陷入无止境的坑里面了.. —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート# v$ `! e b0 E1 d; g# ~
妖城在线论坛( T& }& e6 ?( E, _6 ?, w0 n6 t
[ 本帖最后由 晴天老不点 于 2018-4-25 19:03 编辑 ]
|