|
小妖

- UID
- 42564
- 精华
- 0
- 积分
- 22
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2018-4-25 19:00 显示全部帖子
 
解析技能学习到释放的全过程.
最近想和自己小伙伴一起玩魔力, 由于个人动手能力比较强, 所以搭建服务器的工作就落在我身上了, 从找服务端到架设(单机两键端开的服, 个人电脑+花生壳内网穿透) 中间经历的坑真的是不计其数, 随便写一些心得 , 也欢迎大家来一起讨论
6 H8 D! R9 c, rbbs.mocwww.comQQ:15203009
! c$ r/ k- A, M# e魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
1 S7 a0 V- u9 M, }* B魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表那么聊正题 , 关于技能这个东西 , 在魔力这个游戏的框架下 , 到底是怎么来的... 妖城在线论坛' j3 j4 M+ K5 ]$ Z$ T3 a
bbs.mocwww.com0 V: d \2 \5 r7 h' R
首先, 从学习技能开始
4 x2 R. k# N: H( z8 l3 _妖城在线论坛学习技能 , 需要修改的是NPC.txt这个data文件, 注意, 修改服务端任何文件时, 最好用专门的修改工具/或者excel ,并且最好在修改之后用另一个相同功能的工具来校验, 最次也要用np++这种 , 千万不要用文本文档的方式 , 因为魔力的服务端data文件中 ,除了你能看到的数字, 还包含了各种坑人的空格, 而且有些文件里的格式并不是你想的那样改了数字就能生效, 所以单纯的改, 很可能导致这行语法错误, 为了一个文件反复的开启关闭服务器特别折磨人的耐心, 这也是大多数人选择要别人改好的文件或者单纯复制粘贴的原因 , 因为觉得自己怎么改都改不好. 其实只要格式正确, 改文件是很简单的事儿, 而格式正确最主要的就是不要用太简单的编辑工具. 其实很多时候往excel粘贴一下, 然后用表格修改, 然后再copy回来, 远比在文档里浪费时间来的实际. $ K( A( S; X( a$ W# ^6 m3 a
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表* x! A% B, ?7 S: x5 O
言归正传 , 回到npc这个data文件
4 w1 d1 b7 M- a- U0 U' U% S2 J- Y魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
+ e2 m9 X4 X& o$ P, \; ~' n0 ^魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表NPC类型 名字 未知 NPCID 未知 未知 未知 未知 地图ID 坐标 坐标 坐标 坐标 坐标 坐标 坐标 坐标 未知 未知 朝向 图档 未知 未知 未知 功能 3 h6 M/ s2 J4 d" n2 E6 g
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| 妖城在线论坛# c4 r, F+ e3 }; A, Q, `) |
2 T, m/ N' C! c, x—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート这就是一个很常见的技能学习NPC 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表 K; Y& V& F! t
NPC类型 —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート0 ]. @) ?: H$ @; [
决定我们和这个NPC交互的基本模板.
3 C9 \% j1 r1 c- P: F2 l5 H [9 x妖城在线论坛名字 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表$ k! N& _1 Z4 ~
就是鼠标放上去的时候左下角显示的名字. 妖城在线论坛% C, w0 G9 p5 | Z
NPC编号 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表* F' Y6 y3 |# w4 z6 h
就是辨识这个NPC的唯一编码,注意修改的时候,不要重复,建议在自己搭服务器的时候,去找一个相对比较长的空白段,然后自己添加的NPC放在一个区块, 并且ID都在这个空白段内.这样怎么弄都很方便
5 I" ?% x* V3 ?3 [# Y C0 Pbbs.mocwww.com地图ID 妖城在线论坛) f$ p$ P& k! b6 M( I: V% L
NPC所在地图ID坐标有4个
* o! r) @8 Z" F. p* \; G—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート划了一个区域是NPC出现的范围 , 写一样的话就固定了
6 l+ M5 h3 @/ c" h7 u魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表朝向
- g S( z: V0 R3 V: M—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート从朝左上顺时针一圈, 分别对应 0-7 , 比如0是左上 , 4是右下 —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート; N1 ?9 g% n% f! }) z$ A$ E* ]6 E
图档 魔力私服,最新魔力宝贝私服技术交流& Z0 N/ J) S" U! i" G6 K
NPC的外形所用的图片编号, 想用什么自己查
8 h+ A4 {8 W1 b \8 d—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート功能
4 Y, o/ E3 k5 x8 s% w- g魔力私服,最新魔力宝贝私服技术交流SKillmaster的功能一般是5个数字 , 分别对应 , 技能skill号|msgID1|msgID2|msgID3|msgID4| (这个类型的NPC最后要用|结尾 , 交换和商人不用.) 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表 m1 k# M& F% q% u: P1 y
魔力私服,最新魔力宝贝私服技术交流; u( v) }' ]! h0 X) C9 U' Z1 T
而4个msg分别对应 J. Z" e( K4 X) p! z. ?
msg1 ,
7 g7 w" h- H: bbbs.mocwww.com
$ F( V# g3 Y f. T- ^) }9 {妖城在线论坛魔力私服,最新魔力宝贝私服技术交流. V- X2 D# Z2 F
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表* A8 g( z% y3 ?
msg2 3 # U) a1 H* Q: F8 _
# ?' j/ N" I, F6 y魔力私服,最新魔力宝贝私服技术交流妖城在线论坛5 [8 ~$ x% S5 ]7 |
* U- S+ Q1 b, C, z6 [) M—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートmsg 4 妖城在线论坛' R* ^# M* l% Y0 H. y: ]. h" t
1 y9 h. Q1 ~2 s
; @: y T F+ d) w. S, N. b; b3 A魔力私服,最新魔力宝贝私服技术交流4 w& e- s! K& i
这里 一个学技能的NPC , 就解释完了 , 接下来解释skill 和skilllv(关于skill 和skillID的具体格式解释 搜索一下论坛有很多, 而且没什么歧义或者不好懂的地方, 这里就不解释了) # P9 k- F" v6 T" z7 D
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート3 Q6 C, B( ^4 f
当一个角色向一个技能NPC选择想学习技能的时候, 这时候服务器首先会读取这个NPC的功能数据 , 取出skill号 , 比如上述例子中的skill ID "11", 然后根据玩家角色的jobID+skillID , 去找到skilllv文件中的数据, 如果对应的级别数据是0 则提示 , 该技能并不适合你 妖城在线论坛9 b: W% r2 X" V# z4 }" `
! \7 x* X5 _/ g( E- X. I8 |8 \0 F
如果没有找到数据 , 则会返回查询skill文件中这个技能的default level (skill中第5个参数, 很多老技能都是10) , 如果这里>0 , 那么这个角色就可以学到这个技能 魔力私服,最新魔力宝贝私服技术交流) e# X% N |3 n' K9 a% }% U2 ^; u
如果这里=0 , 那么也会提示 , 该技能并不适合你.
( A1 S( \* P3 }0 @7 P
: R+ d( K1 C7 v2 _6 X8 f—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート所以 如果你新做了一个技能 / 职业 , 既不想写超长的skilllv data , 又不想让无关的职业学到这个技能 / 不想让这个职业学到一堆无关技能 , 把所有的default级别都改成0—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート/ n1 }& N9 k! T" C9 P# l/ ^% d+ N* p. [; e
% W+ S4 F/ o, Q' @+ u- e' S魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表接下来 , 角色学到了技能 , 打开技能列表, 看到的东西首先是这个技能的skill名..然后在列表点击之后 , 就进入了这个技能所对应的tech数据了
- \5 v+ @/ b4 J* ^, ^# P& m妖城在线论坛bbs.mocwww.com2 F! s0 T2 u# }' j% l* g
首先, 服务端会查询,该技能所关联的tech相关的数据都取出来
z O9 j' V4 T妖城在线论坛& s1 {) E9 {- Q# _4 \
| 技能名称 | 技术ID | 技能参数
`, j# i) _" q2 Y' V0 Y | 魔力私服,最新魔力宝贝私服技术交流 H6 K. {' _# e. a, k
图档ID/技能ID |
$ ]7 f8 O# D1 l7 c4 x9 E% w魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表msgID | bbs.mocwww.com+ T. Z% z9 ^# p+ [( |2 Q S5 R
skill_ID |
6 M; J( @& n5 M魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表使用等级 |
) _4 O$ i) S: v5 s2 k魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表技能类型 | bbs.mocwww.com3 s: Q5 e- Y g: _
使用对象 | 学习价格 | | bbs.mocwww.com; N9 C9 j' V0 K ]( f5 u# w6 n
使用耗魔 | 魔力私服,最新魔力宝贝私服技术交流, Z) M4 e" m; q. D
人物/宠物技能 | | 连击·舞LV1 | TECH_ContinuationAttack | AS:0,AN:2,AM:2,DD:-50, | 0 | 130000 | 0 | 1 | 1 | 1141 | | | 10 | 1 | 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表2 H* ]7 w5 u. Y R, _
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表: h6 d C0 t' g; z
首先会根据你当前的技能等级, 去把tech中的使用等级<=技能等级的技能都显示出来 (自创技能的tech必须包含1级 , 否则无法练级...虽然能学习, 但进去看到的列表是空白的) 妖城在线论坛5 `$ i7 I1 j! Y; B( D4 N
! F/ B! m4 k6 z1 d; {7 v; L妖城在线论坛然后角色根据技能的使用对象选择技能目标 , 接下来 就是tech中其他参数的解析了 妖城在线论坛: n8 W. I2 Q8 c. x0 x
1 Z7 S* @) W& s9 p$ w5 L魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表名称 , 不重要 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表2 K w+ u& w1 a7 r6 H
妖城在线论坛; S; a- n, N, x7 |9 _/ V0 u
技术ID , 这个是技能的核心参数之一 , 当角色在战斗中选择了该技能 , 那么服务端接收到该请求先判断服务端是否有该技术参数, 这个是保存在gmsv中的...如果你的服务器上某个技能 , 点了之后直接就跳过该回合 , 并且服务器报错 非法tech参数(Illegal tech use)的时候, 恭喜你 这个技能在你的服务端根本就不存在 , 你不需要试了 , 并不是参数或者图档问题...只是你服务器不支持罢了 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表+ }4 {3 G0 l8 @& z( e- ]+ h; p
$ l7 [( r& }( G) b' K' D—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート毕竟很多人对编程是不通的 , 我们来做个简单的解释, 9 o+ }) P& l; N
: }- U, o6 m) J$ G6 D) V
服务器 就像是一个黑盒子 , 里面编写了各种的方法 , 比如我 投入参数 , 1 和 1 , 然后方法是加 , 当这两个数字丢进去的时候, 服务器就会把2丢出来...这就是服务器的运行原理.. 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表# r1 U F/ O5 K# Z7 [/ [9 _
而有时候 , 比如你说 , 3 和5 , 方法是乘法 , 服务器并不会这个方法 , 他就会说 , 不好意思我听不懂, 我不知道乘法是什么, 当然 也不会返回正确的结果
& ~* E5 l; k6 U. o( O$ n3 j( e* p—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート妖城在线论坛) J+ p& p) X* w* N7 d
接着往下..
3 J% G: i% a) M+ k7 G9 p2 ebbs.mocwww.com0 Y; m* E( j) R* Q; v) t
技能参数 , 这个参数决定了技能的伤害 , 具体的内容论坛一搜就搜到 , 不多赘述 , 很好玩 , 也是我们比较能玩花样的地方.
; H6 \2 n( P2 y魔力私服,最新魔力宝贝私服技术交流
+ U( e5 V1 N( V$ d1 n$ w魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表图档ID/技能ID
/ `0 y9 W; @( O j* b2 O* W$ g魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表0 w/ j8 s, @- v2 `9 `
这个参数是另一个核心参数 , 这个参数决定了技能释放时的动画 , 比如我选择释放一个乾坤 , 那我起手的动画是什么样 , 人物怎么过去 , 打到怪的时候的特效是怎样的. 魔力私服,最新魔力宝贝私服技术交流4 s& a) ~, M3 w. o! i3 a3 N
1 w0 q" a6 M9 ^9 k7 B' I1 k) g) x% W—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート这个ID其实分成2部分 , 技能ID , 决定了同一种技能到底是哪级的效果 , 图档ID , 什么技能 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表; k* T/ j7 x4 D# f+ e+ S% d9 @+ c
妖城在线论坛1 f3 f2 @3 `" s$ p! B
例如乾坤一掷lv5 , 这个技能的 图档/技能ID =305 ,
3 }2 z' E7 Q7 s8 A4 e/ q妖城在线论坛首先把这个数字分成 2部分 , 03 和 05
+ B. i& X, W" J- m6 X魔力私服,最新魔力宝贝私服技术交流
a6 M* x4 I- c: e, _妖城在线论坛03决定了是什么技能 , 05 决定了什么等级
6 e, y! @! g. x8 {—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表3 u% G' @) x F
再拿一个例子来说 强力陨石魔法-X , ID=2339 , 23 决定这个技能是陨石魔法 , 39 , 决定这个技能的等级特效
" h+ Y/ P! R- f( x" n5 |% d妖城在线论坛
i' I3 ]" I4 m. o, r5 _3 Q魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表连击最可怕 , 1级连击这个ID是0 , 其实就等于 0000 魔力私服,最新魔力宝贝私服技术交流( n) \: o+ s1 c! i. {9 i
% i" Y3 n5 g0 N9 j2 V7 s2 g% l+ W! S—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート00=连击 , 00=1级 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表% k$ Z* }6 t% [5 {9 L1 W' i
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表9 ?; D3 J, K/ j5 ~2 n
这里的技能ID 不等于skill.txt里的 skill ID , 这两个东西不存在关联关系 , 所以skill ID随便写没关系 , 但是技能ID是写在gmsv里面的..不能通过data里的文件更改
3 Z ^1 w4 u- ?) t—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
5 L. h! N9 O+ U妖城在线论坛那么什么情况会导致图档不存在崩溃呢. 一般是因为客户端图档不全 , 例如服务端支持15级技能的特效 , 但是客户端不支持 , 客户端不包含这个动画的图档 , 当服务端返回信息要求客户端播放这个动画图档的时候 , 客户端做不到 ...就会卡住死循环... 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表8 c7 H: u& Y3 Q; w/ @% h& p" t
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート0 v9 a# C5 G% I! W2 r; o Y
所以 当我们想做一个新技能的时候, 只要考虑到以上的这些要素 , 就可以正常的完成一个技能从学习到释放的全过程, 不会陷入无止境的坑里面了..
# Z0 ~ n$ L6 y9 b魔力私服,最新魔力宝贝私服技术交流
* W/ S3 z" Q% D$ E+ B) C魔力私服,最新魔力宝贝私服技术交流[ 本帖最后由 晴天老不点 于 2018-4-25 19:03 编辑 ]
|