发新话题
打印

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

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

最近想和自己小伙伴一起玩魔力, 由于个人动手能力比较强, 所以搭建服务器的工作就落在我身上了, 从找服务端到架设(单机两键端开的服, 个人电脑+花生壳内网穿透) 中间经历的坑真的是不计其数, 随便写一些心得 , 也欢迎大家来一起讨论0 s4 {& I( V+ F9 u3 S" H
QQ:15203009魔力私服,最新魔力宝贝私服技术交流& l5 [2 J  U* y" h' u6 a% A' |4 o1 `/ Y

+ O% D8 W6 R* h' V: w% q+ E: Y, v妖城在线论坛那么聊正题 , 关于技能这个东西 , 在魔力这个游戏的框架下 , 到底是怎么来的...bbs.mocwww.com6 t5 H& V0 P5 @- U1 _: ^9 Z( R
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート# J8 j9 ^9 ~/ C; c3 \+ Z6 ^
首先, 从学习技能开始bbs.mocwww.com4 K) o' a8 F/ ?
学习技能 , 需要修改的是NPC.txt这个data文件, 注意, 修改服务端任何文件时, 最好用专门的修改工具/或者excel ,并且最好在修改之后用另一个相同功能的工具来校验, 最次也要用np++这种 , 千万不要用文本文档的方式 , 因为魔力的服务端data文件中 ,除了你能看到的数字, 还包含了各种坑人的空格, 而且有些文件里的格式并不是你想的那样改了数字就能生效, 所以单纯的改, 很可能导致这行语法错误, 为了一个文件反复的开启关闭服务器特别折磨人的耐心, 这也是大多数人选择要别人改好的文件或者单纯复制粘贴的原因 , 因为觉得自己怎么改都改不好. 其实只要格式正确, 改文件是很简单的事儿, 而格式正确最主要的就是不要用太简单的编辑工具. 其实很多时候往excel粘贴一下, 然后用表格修改, 然后再copy回来, 远比在文档里浪费时间来的实际.魔力私服,最新魔力宝贝私服技术交流8 e$ k# S5 P9 A# C: w2 O, t

  `" m1 g( b; K. R# {: ?# E—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート言归正传 , 回到npc这个data文件—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート. j0 L" z+ f% d5 V) V$ P. V
bbs.mocwww.com; E) M8 G1 y$ H3 I- N& x
NPC类型           名字       未知 NPCID  未知 未知 未知 未知 地图ID 坐标 坐标 坐标 坐标 坐标 坐标 坐标 坐标 未知   未知  朝向       图档       未知   未知   未知      功能—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート. M" G4 u4 [4 ~4 f
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' f* y9 T0 b; C
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表4 D9 I2 ^) \# {5 o$ P6 }2 k- ]
这就是一个很常见的技能学习NPC
0 u; t5 F5 [0 I8 u* ]  pbbs.mocwww.comNPC类型
) B1 }6 @1 X. t6 w* {—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート决定我们和这个NPC交互的基本模板.
3 X$ q+ }/ G( Z, ^# Z8 U& I6 R妖城在线论坛名字
2 F( m! C! q( Q- L3 O; d3 s" @" y就是鼠标放上去的时候左下角显示的名字.魔力私服,最新魔力宝贝私服技术交流8 M; l% E/ ~2 V( I
NPC编号 bbs.mocwww.com6 j0 Z8 J; [- i$ R! |$ d# b
就是辨识这个NPC的唯一编码,注意修改的时候,不要重复,建议在自己搭服务器的时候,去找一个相对比较长的空白段,然后自己添加的NPC放在一个区块, 并且ID都在这个空白段内.这样怎么弄都很方便! ~  A. w3 U) B
地图ID 魔力私服,最新魔力宝贝私服技术交流( \$ f2 r# ]: U7 ]
NPC所在地图ID坐标有4个
9 z+ ]* A+ b+ p% U8 X0 q5 z妖城在线论坛划了一个区域是NPC出现的范围 , 写一样的话就固定了妖城在线论坛; n9 h5 b2 K% i9 N
朝向 0 h  ?/ \8 F. c# R% W
从朝左上顺时针一圈, 分别对应 0-7 , 比如0是左上 , 4是右下魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表1 }7 b$ d. ~- T% J
图档
8 B: g- S8 M6 l5 m妖城在线论坛NPC的外形所用的图片编号, 想用什么自己查妖城在线论坛9 v. G. W! E# g, h
功能魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表$ ?9 ]8 I0 f4 s& A5 a$ ?
SKillmaster的功能一般是5个数字 , 分别对应 , 技能skill号|msgID1|msgID2|msgID3|msgID4| (这个类型的NPC最后要用|结尾 , 交换和商人不用.)
9 O5 l" n* Y- g9 }4 M1 |bbs.mocwww.com& B. x3 O9 ^4 l' z) p$ x! t
而4个msg分别对应—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート' }7 {5 `9 ]  N2 q# [
msg1 ,
+ p3 Y2 z! c4 ]: W妖城在线论坛 魔力私服,最新魔力宝贝私服技术交流  X2 w, v; S0 C! N
魔力私服,最新魔力宝贝私服技术交流' b: U$ b# Q, [; w0 G% n3 X

9 U& h7 ]3 J& G/ ?& h妖城在线论坛msg2 3 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表5 h& A+ F6 V1 g9 ]% B

" L$ H& R! o" @' t—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート魔力私服,最新魔力宝贝私服技术交流/ m) O0 v! @% N" L, D( e- x* R1 |1 {
bbs.mocwww.com; K  e) o& {0 ?" e+ o
msg 4妖城在线论坛) \6 o4 Z1 H2 t$ o7 W( }

% F3 h5 i; ?" S% R妖城在线论坛bbs.mocwww.com) m- Z7 Y. H2 z3 V9 B

, k) U2 N+ W: M8 C这里 一个学技能的NPC , 就解释完了 , 接下来解释skill 和skilllv(关于skill 和skillID的具体格式解释 搜索一下论坛有很多, 而且没什么歧义或者不好懂的地方, 这里就不解释了)
" y: t( y/ G; ^) q1 c# }1 s$ M3 C魔力私服,最新魔力宝贝私服技术交流
0 X  j3 j% M) ?( P$ q$ I9 |+ n& u妖城在线论坛当一个角色向一个技能NPC选择想学习技能的时候, 这时候服务器首先会读取这个NPC的功能数据 , 取出skill号 , 比如上述例子中的skill ID "11", 然后根据玩家角色的jobID+skillID , 去找到skilllv文件中的数据, 如果对应的级别数据是0 则提示 , 该技能并不适合你魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表! I" \9 ^7 {* E9 f8 x
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート% p2 a: H! k2 S4 n1 }4 Q3 t
如果没有找到数据 , 则会返回查询skill文件中这个技能的default level (skill中第5个参数, 很多老技能都是10) , 如果这里>0 , 那么这个角色就可以学到这个技能
( f& I8 k2 ]6 A# F, Z7 L—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート如果这里=0 , 那么也会提示 , 该技能并不适合你.2 H- v: ], k9 n1 I4 K6 Z
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート4 q7 m1 M5 }( o2 }
所以 如果你新做了一个技能 / 职业 , 既不想写超长的skilllv data , 又不想让无关的职业学到这个技能 / 不想让这个职业学到一堆无关技能 , 把所有的default级别都改成0
0 }6 L3 [4 L' p4 t5 {5 ?—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート魔力私服,最新魔力宝贝私服技术交流% W1 [% \6 Y9 X+ l: k1 }5 Z8 M# n7 z7 T
接下来 , 角色学到了技能 , 打开技能列表, 看到的东西首先是这个技能的skill名..然后在列表点击之后 , 就进入了这个技能所对应的tech数据了魔力私服,最新魔力宝贝私服技术交流! r7 c4 S% K+ _4 j$ X

+ F( ^4 l% V9 L妖城在线论坛首先, 服务端会查询,该技能所关联的tech相关的数据都取出来( M/ W: b& x9 P# P! t9 r

+ `) W' e6 m, R. p
技能名称技术ID技能参数
3 Z- J5 }) A1 [2 u! |妖城在线论坛

* `6 x; u" g$ K" |$ r+ U# vbbs.mocwww.com图档ID/技能ID

9 A* _: ^  Y8 P6 {魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表msgID

- l  j2 h( H. k' \  T0 Hskill_ID
bbs.mocwww.com! E4 h5 U9 R$ T1 a: X4 A& g# X# a1 @
使用等级

& Q7 H# \# z' z5 V魔力私服,最新魔力宝贝私服技术交流技能类型

" D5 b5 w8 N5 h5 `% Ibbs.mocwww.com使用对象
学习价格 
3 b; |1 ], ^% j& i0 c& E5 |妖城在线论坛使用耗魔

' L' x7 K# n& G6 m/ r9 X魔力私服,最新魔力宝贝私服技术交流人物/宠物技能
连击·舞LV1TECH_ContinuationAttackAS:0,AN:2,AM:2,DD:-50,01300000111141  101

$ @, V6 O0 g$ g$ I* T6 M6 Y妖城在线论坛8 y* ]% |  v* ~& A% w. f
首先会根据你当前的技能等级, 去把tech中的使用等级<=技能等级的技能都显示出来 (自创技能的tech必须包含1级 , 否则无法练级...虽然能学习, 但进去看到的列表是空白的)
' C, }4 J. d1 {4 m妖城在线论坛
7 r% i4 Z: C6 a5 I  [然后角色根据技能的使用对象选择技能目标 , 接下来 就是tech中其他参数的解析了魔力私服,最新魔力宝贝私服技术交流4 ?  ~% j# E) t- R6 g! ^% x

8 ?5 c6 N8 n' C' x# S+ m魔力私服,最新魔力宝贝私服技术交流名称 , 不重要—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート+ `( j+ q" T# Q

5 {7 q& G1 `9 r$ s3 K魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表技术ID , 这个是技能的核心参数之一 , 当角色在战斗中选择了该技能 , 那么服务端接收到该请求先判断服务端是否有该技术参数, 这个是保存在gmsv中的...如果你的服务器上某个技能 , 点了之后直接就跳过该回合 , 并且服务器报错 非法tech参数(Illegal tech use)的时候, 恭喜你 这个技能在你的服务端根本就不存在 , 你不需要试了 , 并不是参数或者图档问题...只是你服务器不支持罢了
$ ]& ^9 r: W8 X/ wbbs.mocwww.com魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表. W6 ~2 G9 O) K5 p
毕竟很多人对编程是不通的 , 我们来做个简单的解释,
( P, J) W0 y* T2 T魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表魔力私服,最新魔力宝贝私服技术交流, ?4 k; c1 ^/ s6 q$ T" a0 m
服务器 就像是一个黑盒子 , 里面编写了各种的方法 , 比如我 投入参数 , 1 和 1 , 然后方法是加 , 当这两个数字丢进去的时候, 服务器就会把2丢出来...这就是服务器的运行原理..
3 ?2 F1 z+ g- z' t' o' Jbbs.mocwww.com而有时候 , 比如你说 , 3 和5 , 方法是乘法 , 服务器并不会这个方法 , 他就会说 , 不好意思我听不懂, 我不知道乘法是什么, 当然 也不会返回正确的结果
2 u0 O4 q" j+ @$ t* B/ hbbs.mocwww.com妖城在线论坛! D4 B% }* y$ L
接着往下..魔力私服,最新魔力宝贝私服技术交流+ y. W  }0 V  d8 Y5 e" k: x7 q

( H9 G: s* U4 f$ Q+ pbbs.mocwww.com技能参数 , 这个参数决定了技能的伤害 , 具体的内容论坛一搜就搜到 , 不多赘述 , 很好玩 , 也是我们比较能玩花样的地方.
* Z1 b8 I3 y8 Q+ S6 h# ?/ o- G- m妖城在线论坛
3 E9 l- O' z8 E" \$ Z% E% _. z, J妖城在线论坛图档ID/技能ID
. K5 {$ u$ R  z3 p) mbbs.mocwww.com
9 A; L2 L- y/ E2 P7 r6 q1 Tbbs.mocwww.com这个参数是另一个核心参数 , 这个参数决定了技能释放时的动画 , 比如我选择释放一个乾坤 , 那我起手的动画是什么样 , 人物怎么过去 , 打到怪的时候的特效是怎样的.
5 H( f8 T5 q6 c7 \3 W—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
0 r+ G2 ^3 D; y- G$ d魔力私服,最新魔力宝贝私服技术交流这个ID其实分成2部分 , 技能ID , 决定了同一种技能到底是哪级的效果 , 图档ID , 什么技能魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表- |' A7 J# Y8 h+ h. M5 O
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表$ X/ g. }' e# T- F
例如乾坤一掷lv5 , 这个技能的图档/技能ID =305 , bbs.mocwww.com- {$ E+ |. l3 D' e: x
首先把这个数字分成 2部分 , 03 和 05
" n  M9 [+ t1 Q$ v. {魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
% W/ u! j3 l' k* E- a: v魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表03决定了是什么技能 , 05 决定了什么等级6 s6 o: R  G, G( O! T3 V8 b$ L( L3 Q

$ J& s* T) `1 U$ w) v) C0 H, I—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート再拿一个例子来说 强力陨石魔法-X , ID=2339 , 23 决定这个技能是陨石魔法 , 39 , 决定这个技能的等级特效魔力私服,最新魔力宝贝私服技术交流" F* x  R& D% ^

5 ~; C3 f) A+ }+ Q2 I# M1 T连击最可怕 , 1级连击这个ID是0 , 其实就等于 0000妖城在线论坛5 G* }- V  A) a6 _- A) O* a

# f" K. C( {# E6 L/ h00=连击 , 00=1级bbs.mocwww.com: J! K" Z4 c  q$ Q. k& @
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート/ |! x4 }0 c, M+ R: d) ^1 v
这里的技能ID 不等于skill.txt里的 skill ID , 这两个东西不存在关联关系 , 所以skill ID随便写没关系 , 但是技能ID是写在gmsv里面的..不能通过data里的文件更改. L3 J4 A' A, C/ ~

- L5 c3 v% M+ D/ p8 B—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート那么什么情况会导致图档不存在崩溃呢. 一般是因为客户端图档不全 , 例如服务端支持15级技能的特效 , 但是客户端不支持 , 客户端不包含这个动画的图档 , 当服务端返回信息要求客户端播放这个动画图档的时候 , 客户端做不到 ...就会卡住死循环...bbs.mocwww.com3 S8 m6 q/ m1 W) q4 M/ M7 t$ S2 X" F
# p+ i1 w' u6 M3 E& Q) ?
所以 当我们想做一个新技能的时候, 只要考虑到以上的这些要素 , 就可以正常的完成一个技能从学习到释放的全过程, 不会陷入无止境的坑里面了..
. z( D8 N+ ^4 n; Dbbs.mocwww.combbs.mocwww.com, b+ ^' S/ N1 U( i# f& E; _
[ 本帖最后由 晴天老不点 于 2018-4-25 19:03 编辑 ]
本帖最近评分记录
  • sin 妖力 +5 原创内容 2018-4-25 23:25

TOP

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

TOP

写的很好 学习到了!!!

TOP

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

TOP

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

TOP

谢谢无私的分享

TOP

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

TOP

发新话题