发新话题
打印

[魔力私服分享] 解析技能学习到释放的全过程.

解析技能学习到释放的全过程.

最近想和自己小伙伴一起玩魔力, 由于个人动手能力比较强, 所以搭建服务器的工作就落在我身上了, 从找服务端到架设(单机两键端开的服, 个人电脑+花生壳内网穿透) 中间经历的坑真的是不计其数, 随便写一些心得 , 也欢迎大家来一起讨论
1 r: O+ J" e. ~2 L' G8 V& @QQ:15203009# w) G/ n: g! N8 ?% B. c+ J& q
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表  \: b2 l' I) C3 @8 o4 X- @
那么聊正题 , 关于技能这个东西 , 在魔力这个游戏的框架下 , 到底是怎么来的...魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表1 j# r2 q5 ]! S
bbs.mocwww.com6 k' o0 Q+ R  \2 h6 q$ X) \
首先, 从学习技能开始
& B. X6 z4 M" X; B* cbbs.mocwww.com学习技能 , 需要修改的是NPC.txt这个data文件, 注意, 修改服务端任何文件时, 最好用专门的修改工具/或者excel ,并且最好在修改之后用另一个相同功能的工具来校验, 最次也要用np++这种 , 千万不要用文本文档的方式 , 因为魔力的服务端data文件中 ,除了你能看到的数字, 还包含了各种坑人的空格, 而且有些文件里的格式并不是你想的那样改了数字就能生效, 所以单纯的改, 很可能导致这行语法错误, 为了一个文件反复的开启关闭服务器特别折磨人的耐心, 这也是大多数人选择要别人改好的文件或者单纯复制粘贴的原因 , 因为觉得自己怎么改都改不好. 其实只要格式正确, 改文件是很简单的事儿, 而格式正确最主要的就是不要用太简单的编辑工具. 其实很多时候往excel粘贴一下, 然后用表格修改, 然后再copy回来, 远比在文档里浪费时间来的实际.—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート: N) h3 u7 `  p) F

- t+ c9 S$ P4 ~* G% Q+ Q8 ]  e—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート言归正传 , 回到npc这个data文件妖城在线论坛+ }' n1 g2 g7 ?/ Q# t: ~: w
妖城在线论坛& n$ t. D3 `+ h1 f( Q8 L
NPC类型           名字       未知 NPCID  未知 未知 未知 未知 地图ID 坐标 坐标 坐标 坐标 坐标 坐标 坐标 坐标 未知   未知  朝向       图档       未知   未知   未知      功能魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表$ K+ k6 }' Z$ j" Y0 E% X
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编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート) ]; z7 {( J5 s8 ?/ z$ z) T" {0 o
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート% Z) j; x( h$ U9 V! F$ X
这就是一个很常见的技能学习NPC
% u* H/ o) i9 u* xbbs.mocwww.comNPC类型
, J+ L* r; |3 U" f! E3 m1 k. X魔力私服,最新魔力宝贝私服技术交流决定我们和这个NPC交互的基本模板.
* k( B8 j. P( Y9 t7 ~% x—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート名字 ) w2 W' S0 n3 p, G# Y6 L: j
就是鼠标放上去的时候左下角显示的名字.
/ D% H3 A/ M* r" Y魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表NPC编号
/ a7 ~( @4 [4 b: d/ m妖城在线论坛就是辨识这个NPC的唯一编码,注意修改的时候,不要重复,建议在自己搭服务器的时候,去找一个相对比较长的空白段,然后自己添加的NPC放在一个区块, 并且ID都在这个空白段内.这样怎么弄都很方便
" A0 k2 M# n4 Q6 ?$ T) j妖城在线论坛地图ID 魔力私服,最新魔力宝贝私服技术交流' r! w! L  Y7 }0 p' z
NPC所在地图ID坐标有4个—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート5 x! j: u! `1 x5 x! v. J4 l
划了一个区域是NPC出现的范围 , 写一样的话就固定了
  d  n+ K- M" \3 ~5 ]' K' F朝向 魔力私服,最新魔力宝贝私服技术交流$ S  O( k: U2 x
从朝左上顺时针一圈, 分别对应 0-7 , 比如0是左上 , 4是右下" d' Y5 h. L! ]" U+ _8 l3 M
图档
8 b0 Q3 d% j1 Y6 F妖城在线论坛NPC的外形所用的图片编号, 想用什么自己查—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート$ ^/ H. v% e& z( y% ~6 P
功能
. }% ?# j0 X0 P- b( x5 m; wSKillmaster的功能一般是5个数字 , 分别对应 , 技能skill号|msgID1|msgID2|msgID3|msgID4| (这个类型的NPC最后要用|结尾 , 交换和商人不用.)
# ]3 m- C" O  Q9 t  x5 r妖城在线论坛
% g$ x6 y% ]# a' R. F8 A" k0 F妖城在线论坛而4个msg分别对应
3 G# P$ ]- C$ ~/ m; r& y) E% p魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表msg1 ,
$ T, z8 c( o7 {) d  l—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表! @2 f) F0 L9 I

9 V3 J- f2 u9 i0 d: m+ |9 Z! t妖城在线论坛
0 {( d3 j6 j/ ]& Ubbs.mocwww.commsg2 3 + X" t# h+ ?8 g

- ?# X. F& q4 {1 D" D—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート魔力私服,最新魔力宝贝私服技术交流- E5 y+ H" a& {, N* M2 ]9 X% k& j

5 P3 M2 r5 H# I8 M8 h—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートmsg 4—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート8 R$ U+ t& R1 z" I- X

* A$ p2 @2 p7 @7 W* v$ o$ Y
# H6 q: k5 |( w& b0 V: t—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート魔力私服,最新魔力宝贝私服技术交流8 p, A1 H. S( u6 a. f
这里 一个学技能的NPC , 就解释完了 , 接下来解释skill 和skilllv(关于skill 和skillID的具体格式解释 搜索一下论坛有很多, 而且没什么歧义或者不好懂的地方, 这里就不解释了)
4 `7 P( m6 T0 h. B9 f& h4 R6 l- D
当一个角色向一个技能NPC选择想学习技能的时候, 这时候服务器首先会读取这个NPC的功能数据 , 取出skill号 , 比如上述例子中的skill ID "11", 然后根据玩家角色的jobID+skillID , 去找到skilllv文件中的数据, 如果对应的级别数据是0 则提示 , 该技能并不适合你
& c5 B. J: w! C# F魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表魔力私服,最新魔力宝贝私服技术交流( k% F( q- ], ^: t
如果没有找到数据 , 则会返回查询skill文件中这个技能的default level (skill中第5个参数, 很多老技能都是10) , 如果这里>0 , 那么这个角色就可以学到这个技能
  K% ]4 ?7 P1 {5 s$ D5 x  T如果这里=0 , 那么也会提示 , 该技能并不适合你.
' `5 ~. T- V( s% }* M魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
' K  A0 k1 ?& F* J. q魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表所以 如果你新做了一个技能 / 职业 , 既不想写超长的skilllv data , 又不想让无关的职业学到这个技能 / 不想让这个职业学到一堆无关技能 , 把所有的default级别都改成0
7 C9 }' X' _! A8 r* j" ^7 Q' d1 v妖城在线论坛
) x* U: f7 p+ I) R. |! ]魔力私服,最新魔力宝贝私服技术交流接下来 , 角色学到了技能 , 打开技能列表, 看到的东西首先是这个技能的skill名..然后在列表点击之后 , 就进入了这个技能所对应的tech数据了
2 ^3 K9 k3 V6 t; s: C! B& e! y妖城在线论坛' Y( `5 {+ V8 Q4 W: R- `
首先, 服务端会查询,该技能所关联的tech相关的数据都取出来魔力私服,最新魔力宝贝私服技术交流7 D! ~/ i+ K, {7 Z; z  D6 {/ M

! e" X& {6 y# @7 f2 M
技能名称技术ID技能参数
1 p+ B* Y& a* l4 ]4 d) ~魔力私服,最新魔力宝贝私服技术交流
bbs.mocwww.com- G$ z, g; N% c3 D, w. ~
图档ID/技能ID
妖城在线论坛9 w; T' Y* Y3 z6 p* f2 S1 B% |
msgID
& Z/ j) e, o9 O! P  t6 q1 P
skill_ID
: ^- h( e" B3 h5 d; t4 e
使用等级

6 L' Y/ v! ?1 x! r/ V—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート技能类型
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート- X; ?' m& U& w- i! l  Q; _. C9 j
使用对象
学习价格 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表9 h: T9 @7 p; u0 q& z
使用耗魔

& K& |9 H7 c& K4 u. Z% J8 [( u/ h妖城在线论坛人物/宠物技能
连击·舞LV1TECH_ContinuationAttackAS:0,AN:2,AM:2,DD:-50,01300000111141  101
妖城在线论坛! P' d& U$ f! ]1 k6 O5 G

4 T7 ^/ J0 q+ H# ^2 J. l魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表首先会根据你当前的技能等级, 去把tech中的使用等级<=技能等级的技能都显示出来 (自创技能的tech必须包含1级 , 否则无法练级...虽然能学习, 但进去看到的列表是空白的)妖城在线论坛8 C) ?" }% k% A% b  J4 a

& p: Q+ v3 q0 C妖城在线论坛然后角色根据技能的使用对象选择技能目标 , 接下来 就是tech中其他参数的解析了
7 z4 G2 |1 K! d" ?  t( M( ebbs.mocwww.com
- Y  Z- ~7 u3 n6 N! E  q  Y% A3 {妖城在线论坛名称 , 不重要妖城在线论坛7 v( ]2 s# x5 j

# u1 G* f3 V5 r/ |妖城在线论坛技术ID , 这个是技能的核心参数之一 , 当角色在战斗中选择了该技能 , 那么服务端接收到该请求先判断服务端是否有该技术参数, 这个是保存在gmsv中的...如果你的服务器上某个技能 , 点了之后直接就跳过该回合 , 并且服务器报错 非法tech参数(Illegal tech use)的时候, 恭喜你 这个技能在你的服务端根本就不存在 , 你不需要试了 , 并不是参数或者图档问题...只是你服务器不支持罢了
, |/ C& g; _0 e/ M; \) a+ I$ Y魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
  j+ J) O# ~% b2 w' u; I# E2 T—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート毕竟很多人对编程是不通的 , 我们来做个简单的解释, 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表* }3 i5 k( w& q% ]
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表) t8 w- Q: d' {& v! u8 A0 ]
服务器 就像是一个黑盒子 , 里面编写了各种的方法 , 比如我 投入参数 , 1 和 1 , 然后方法是加 , 当这两个数字丢进去的时候, 服务器就会把2丢出来...这就是服务器的运行原理..
, E# X/ Y7 M3 [1 O7 w魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表而有时候 , 比如你说 , 3 和5 , 方法是乘法 , 服务器并不会这个方法 , 他就会说 , 不好意思我听不懂, 我不知道乘法是什么, 当然 也不会返回正确的结果
" }7 F0 J6 X% l: @+ [8 U6 [bbs.mocwww.com魔力私服,最新魔力宝贝私服技术交流1 ~+ |' j5 B3 @* Q3 y
接着往下..
& B. I) I% l! J2 [8 ?2 [% u8 Y& W7 ~—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート妖城在线论坛+ T* _  V1 O. E2 ]9 x, S0 ]1 c* u- g
技能参数 , 这个参数决定了技能的伤害 , 具体的内容论坛一搜就搜到 , 不多赘述 , 很好玩 , 也是我们比较能玩花样的地方.
- |$ v3 u; m/ k- }* j, a# Abbs.mocwww.com妖城在线论坛5 ~; c* a/ N' P8 D) t6 m
图档ID/技能ID
3 S" O# A  `5 {! E魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
6 d  Y) S4 Y# n- o魔力私服,最新魔力宝贝私服技术交流这个参数是另一个核心参数 , 这个参数决定了技能释放时的动画 , 比如我选择释放一个乾坤 , 那我起手的动画是什么样 , 人物怎么过去 , 打到怪的时候的特效是怎样的.
" p9 s1 S& w3 R- u; L6 _/ M8 e8 g魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
7 S' `# V6 l9 [% g1 _2 d- @  Y' j) Z2 Q这个ID其实分成2部分 , 技能ID , 决定了同一种技能到底是哪级的效果 , 图档ID , 什么技能
( C7 [  h2 v+ P魔力私服,最新魔力宝贝私服技术交流
  c: {* L$ B4 {例如乾坤一掷lv5 , 这个技能的图档/技能ID =305 , 魔力私服,最新魔力宝贝私服技术交流; F/ X* z. S* J& u" ^* z
首先把这个数字分成 2部分 , 03 和 05—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート7 h" \) L) J( h
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表# t; i* r! A; h- Z5 D! H1 e" u4 S
03决定了是什么技能 , 05 决定了什么等级* h% q! v# Y9 i% O; U5 f: s

1 k6 i5 a+ |0 v9 V再拿一个例子来说 强力陨石魔法-X , ID=2339 , 23 决定这个技能是陨石魔法 , 39 , 决定这个技能的等级特效—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート+ A* ?+ i; j4 ]1 q! R* g
; Q: y1 F8 i. q  P6 ^
连击最可怕 , 1级连击这个ID是0 , 其实就等于 0000魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表: M& c' ~! `! U7 O, H; h
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート6 W, G, @, a) ^9 P- f3 ?
00=连击 , 00=1级
% u- Q6 t$ n; _$ O+ `" o魔力私服,最新魔力宝贝私服技术交流—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート. \9 ?+ X* y; |0 U% q
这里的技能ID 不等于skill.txt里的 skill ID , 这两个东西不存在关联关系 , 所以skill ID随便写没关系 , 但是技能ID是写在gmsv里面的..不能通过data里的文件更改
5 u0 S8 k6 C, C4 `6 o妖城在线论坛
' R: U4 n# B/ G* V: Ebbs.mocwww.com那么什么情况会导致图档不存在崩溃呢. 一般是因为客户端图档不全 , 例如服务端支持15级技能的特效 , 但是客户端不支持 , 客户端不包含这个动画的图档 , 当服务端返回信息要求客户端播放这个动画图档的时候 , 客户端做不到 ...就会卡住死循环...
& f* f3 R0 z) @! u魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表: K5 i6 c/ X" y+ s" \9 D5 ^5 ~
所以 当我们想做一个新技能的时候, 只要考虑到以上的这些要素 , 就可以正常的完成一个技能从学习到释放的全过程, 不会陷入无止境的坑里面了..
) U0 B. T9 `: R9 M2 Xbbs.mocwww.com
" v6 n5 j  c( q/ g8 Z$ q; O魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表[ 本帖最后由 晴天老不点 于 2018-4-25 19:03 编辑 ]
本帖最近评分记录
  • sin 妖力 +5 原创内容 2018-4-25 23:25

TOP

厉害,但我笨,暂时没看懂,

TOP

写的很好 学习到了!!!

TOP

做新技能 既要改gmsv 也要改cg 还要在data文件里面改参数

TOP

直接改特效cg.就说是新技能不就行了吗?把编号的特效改了...

TOP

谢谢无私的分享

TOP

技术贴,多谢分享,楼主能分享下架设外网过程就更好了

TOP

发新话题