地方网

搜索

[传奇教程] 凌天科技系列教程-怪物触发以及任务脚本的简单编写

[复制链接]
admin 发表于 2012-1-11 12:09:03 | 显示全部楼层 |阅读模式
软件简介:7 J- r& g, U( E0 u( x; l
凌天科技系列教程 & W# `7 `. f' P- y0 \) O

& g! g  s5 G5 v$ \教程第一课$ J$ B( I* s$ N  c( H
DBC2000数据库的介绍以及单机游戏架设以及外网游戏的架设方法3 t8 D2 M7 p  W
安装DBC2000数据库
7 P! z( i5 r. _2 Z建立DBC2000数据库与服务端mirserver/mud2/DB文件夹的数据库连接, {) Q2 k4 l0 `0 P1 ^9 u# M4 s
启动Gamecenter 选择控制向导 数据库名称 heroDB(对应DB数据库名称)$ o& B' A. v- @' {* R3 p- N
填写服务端路径 并正确填写DBC正确路径4 R0 ^8 e) c1 J. e& `8 h, z
内网IP地址为 127.0.0.1- m, @- c, M, l7 N" ]% }
查询外网IP并填写启动服务端9 a1 |- T/ p% U$ g0 ~8 X
www.ip138.com$ A' W7 H" r$ K" ?# w; w3 ]. y% h
填写我们查询到的IP地址并启动服务端
% C# ^, u: x1 B: l2 M架设外网成功; e; N0 m2 h" t, R

4 \; [& O, N. N% ^) n- W/ j第二课
" r4 ?' l1 U/ k% y( l1 `一机多区的架设方法以及对服务器进行合区: r$ A% t$ ~! k7 Q
更换我们的所有端口 然后启动服务器 在登陆器上面对应每个区的网关端口
/ J, A) [0 S5 D  V& _$ ^使用引擎合区工具进行合区, G' c8 X' E1 E) \, a
* L& q  D- w4 @. Q7 A
第三课
( E4 _# `5 p2 V2 N( i' R2 n游戏NPC的添加 NPC脚本代码对应位置
- s& G$ H' S$ D' X2 O0 ^9 Z3 |* Y找到mirserver/mir200/envir/MerChant.txt) L7 P7 b# s: C& b5 g
在最下面添加NPC% m5 C0 k$ R2 g# Q9 O1 g* r
Market_Def下面的哪个文件夹/脚本文件名称地图号 X坐标 Y坐标 NPC名称 NPC外观代码
) U6 u- B  i5 ?8 t& Q+ I* P8 n6 ~+ d脚本文件开头  z. R6 [6 E0 U2 g( F" R
[@main](所有脚本通用开头)
: M1 {/ `* T* M4 z) S( v' W第四课/ M" g. k, z( Q, e8 m
装备的添加, ^' j# q& B% c! M0 z
物品代码3 R3 R  o- f, y3 j3 l6 z
装备属性、隐藏属性代码、套装功能、装备名字颜色代码。7 {% o1 _" {4 m) s! q! d7 |  @! p
装备属性使用万游编辑器修改 隐藏属性(万游) 详见M2引擎说明书物品代码表
- `( ^- B1 O0 K. m: ]套装功能对应M2server - 查看 - 列表信息 - 其他设置 - 套装功能 8 A) e' t& v0 J2 m) ^% N7 u+ N5 d1 g
套装功能中套装编号对应数据库 (特殊属性栏数值) 套装属性为10-255
% }. _5 U' ?0 a5 Q7 n* W( O. G( G2 i1 \
第五课8 t# E0 o* J- W% i7 w2 b
脚本的编写、登陆脚本、实战冲级奖励的编写。: h$ i% b1 A. Z, q
脚本文件对应NPC创建
8 g! n# B. F" }! A+ H以[@main]开头# h+ t6 k' }) ~5 N
下面一#IF开始 #ACT执行 #elseact否则执行) M) T% F1 ^/ @; p7 [2 [2 M
登陆脚本
( m2 Z$ c/ E/ l1 rmirserver/mir200/envir/MapQuest_def/QManage.txt
% a  d) y3 Q9 b' m' ?5 K1 ~sengmsg 0 全服提示 谁谁上线
9 b4 w6 |% ^0 p2 Z$ a- M  q第六课+ y) Y- v  p4 s: S' [" J$ P
装备外观的添加计算方法、以及装备内观
; ?1 ^$ Y; H! |1 M工具:wil编辑器: D& _1 s0 r* `
背包物品外观在items.wil 掉落地上的外观在dnitems.wil 装备栏的外观在:stateitems.wil
& V7 Y& S' Q% G1 W; i& b3 G9 n武器动作在 热血传奇目录:Graphics下 weapon文件夹代表武器 human文件夹代表衣服
" X3 v' s- q0 O8 _% c文件名字对应万游中武器衣服的外观代码
, ?1 [$ A% r" k- X9 r8 F4 n补丁文件后面加1的情况 HERO的引擎是图片代码+100001 L7 M  [5 B* H0 U$ x
NPC外观代码,
) L# i" i9 z8 U& V怪物补丁的计算方法以及添加怪物
. m2 ?( t0 c5 s4 R; dmon*.wil (*-1)X10= 然后WIL编辑器打开怪物文件  U7 \# {# b; g- @9 T
mon14.wil (14-1)X10=130 蛇蝎=130赤月恶魔=131幻影蜘蛛=132
% a3 K! {% ~6 ?% a! v/ u: ?$ p# J& G第一个怪物就在个位用0 第二个用1 依次类推
8 x, {6 u( U, S) C8 Z* Y怪物补丁为热血传奇目录下面的DATA文件夹下MON.wil-mon99.wil文件
" r$ z$ g" o) O, s+ J% A; r# I攻击图像详见传奇怪物攻击图像代码
: U+ r3 }. i' H/ H: F具体怪物攻击带特殊属性详见攻击代码5 ~. x6 [- L( x* c
第七课! W7 h: f/ b8 o8 i+ t, ?
地图的添加以及地图限制代码的方式、地图与地图之间的连接、地图刷怪
* P7 N% b9 ^! [# R& k首先修改地图素材名字(字母跟数字组合)然后放到mirserver/mir200/map当中& [: Z0 e; v( y$ C- ^
地图信息添加在mirserver/mir200/envir 下面的MapInfo.txt当中2 I+ z4 d/ X* ^  f- b8 _6 p
格式:[地图号|地图文件名(地图文件在mirserver下面的mir200下面的MPA文件夹) 地图名称] 后面以空格跟上地图限制代码或功能代码
' s4 q9 ^0 M5 ]( a1 `4 d" b加入盟重土城地图' }0 V3 x2 w( ?% A) ~' f
找到我们盟重土城调用的地图文件,按照上面的格式添加地图
' t7 X# e# N& h& o( h' l+ G0 d找到我们需要进行连接的两个地图的地图号: _6 J) w0 Y, A: i8 O9 i
A地图号 X坐标 Y坐标 - B地图号 X坐标 Y坐标
/ D2 M+ X2 U% ]9 v, J3 C刷怪:) b3 R/ U9 y3 O8 p& n: q. v9 B
地图号 X坐标 Y坐标 怪物名称 刷怪范围 刷怪数量 刷怪间隔时间(分钟)
3 z# q9 U+ c9 j% i# u8 C+ C$ B3 h1 Q
第八课. W, c# p% x1 L2 J
利用M2引擎 铸造装备 快速写合成
6 F6 T7 u; l- Z4 H7 p# k2 h在mirserver/mir200/envir/ 下面的FoundryList.txt文档中! a% O5 d, e' o6 x& @/ m
格式为:
4 P3 C0 g' u6 S; F8 o+ q1 A& S合成物品 数量 成功率(100%) 需要物品 数量 失败是否消失 元宝 数量 失败是否消失
) i5 ?$ q0 N; S5 x( w( _# I3 q% j开天 1 100 屠龙 1 1 元宝 100 1$ G% u  W& k' k  E6 G. v
NPC内的脚本格式为:; W7 J  A/ y8 O# R9 X- ]  m$ n
#IF0 i" Y& |. k; \3 \! I. A* m( b, u
CheckFoundryItem 开天
9 m0 R) c: g9 C. q#ACT
: ~' C! u4 C* pGiveFoundryItem 开天
% `- h0 u) y* J' `8 vSENDMSG 1 公告:$USERNAME 成功打造开天 一代天骄即将纵横出世!!颠覆整个玛法大陆!!!
, u( O6 b! A, L  F+ B+ x, f#ELSEACT
# W" I9 s+ c9 ISendMsg 5 缺少合成物品%Item4 O8 F, p1 B5 A& O4 k
[@FoundryFail]
7 o  |+ ~; x9 R( v#ACT3 v: i3 U& E1 a9 Y" \5 G% w
SendMsg 5 合成 %Item 失败!& m8 g1 R% S4 `! B4 P; p3 z
合成装备脚本的快速写法-运用铸造功能写合成装备) z6 @2 z( j" H6 I

7 ^0 ]8 d; W! A! H! i第九课, a+ ]$ |+ l/ [$ I, `
转生等级的设置以及转生名字变色。5 U* B  o0 W( B7 c1 S3 s9 Z- @
通过转生来设置会员
' F0 x. A# Z& d( h8 R调整转生等级NPC脚本代码: RENEWLEVEL 1 0 100 最高转生限制是255转
- Y  Z2 H: \  c8 d检查转生等级NPC脚本代码: CHECKRENEWLEVEL = 5* R) G( V) n! C* [

  c2 f7 ]& w' U# |% F$ A/ ?第十课3 b/ F1 ~4 F- K- `- P
人物头上的图标封号介绍
2 a& n9 |+ o' W$ s在登陆脚本中检查特定的人物
, p$ m3 I6 ^# ]7 c5 j* l6 r& I- r然后使用ICON.WIL中的图片数字 data\icon.wil ; r( E; y& j, t6 L) a
格式为:/ i& i; ], \, U9 D
#IF
* P# Z$ _2 z' Y; [7 b$ l. `2 V: ]$ w#ACT
% Z& ]/ P; o) F, ^3 I. ~' zSetIcon 0 1 -25 -10
1 M; l, w( a4 CSetIcon 位置(0-4) 头像编号(0-65535) X Y
/ g3 D0 S( Q6 R8 ^1 L$ b第十一课" _6 g' |$ p( Z
人物幸运触发变色脚本7 X3 }& H/ k/ ]3 |" P! f! w7 e. g
QFunction-0
4 _( ^+ B1 A, s! @- G/ I! h[@TAKEON1]
2 @$ t. `# n) _9 P#IF9 v  N( |. y, X9 m: U
CHECK [135] 1
9 V+ |7 m) p5 K) |! x- y8 g' }#ACT
. d! m, P4 G$ n; v; t4 r- w/ Jgoto @12355" [/ E) }6 u5 Y( t3 M+ O/ {
break5 v9 v: c& }+ A# Y$ K5 n  f
#IF- ]. f9 h6 j* k0 g5 x( K1 j
CheckLuckPoint  81 K6 y& a, ]; H( g, Y. w
#ACT0 b% a  c7 A! ~" B( y: U( e$ W
set [135] 15 \' s* V8 w! |2 Y$ h
GMexecute TestStatus 4 655357 w  A% G# m. T% L  D+ w
SendMsg 0 玩家【%s】全身幸运+9的触发人物最佳状态,各位小心此人物危险.
6 F+ {6 u9 {+ g% u) WBREAK
& u! \8 s" [) ~4 I) g+ f[@TAKEON3]
2 B3 r; |3 z: R, `#IF7 E1 H9 s+ Z7 @+ V( m
CHECK [135] 1
3 A, B+ D: f/ F8 r. G! }/ t#ACT
/ U+ T* a) z) H" ]% e6 |goto @12355( J3 o$ e8 b* h3 G$ p) U+ X
break
1 w+ C+ m; r2 U6 B7 r#IF
+ m1 X, Z( m. }5 A# oCheckLuckPoint  8# `7 @1 I  S& k: e. z. Z
#ACT! J; k- n2 f( M
set [135] 1
' h3 U4 O4 ^4 a7 {& `GMexecute TestStatus 4 65535
7 w: Z# D  }, j3 z5 W5 H9 s4 E5 OSendMsg 0 玩家【%s】全身幸运+9的触发人物最佳状态,各位小心此人物危险.
1 W0 b+ }2 H: f6 n5 f3 W/ f, }BREAK* M# g" ^0 W1 }. S- J. D7 n
[@12355]
0 ]! m- `3 ^0 g) _7 s) U( Z! K' W% w, K#IF
; r2 Z% U2 I2 g7 X- A( ~CHECK [135] 0
& O6 P& x) m' b6 g0 V& J' a% ~#ACT1 K) k2 l' s# A0 g) l6 Y  l1 Q
BREAK: `. U7 D* z- [- f0 K9 p
#IF
! c/ R! h9 H4 D2 u/ q: DCheckLuckPoint  8/ j: Y3 j, G; P' t
#ACT* D9 }& A* d, D  ^" D
SET [135] 0( n. }- d# t+ c1 X  \
GMexecute TestStatus 4 0# V" z- {7 ]" u8 |) _8 }, [* \0 D
BREAK
- l! q7 N0 g$ z+ j2 ~% p# e3 Q[@TAKEOFF1]' e( q) a  s9 A: C3 t
#IF
- Y) J. g( O7 w  {+ TCHECK [135] 1
# S# n, o. \8 q4 @1 w/ @#ACT
7 P! Z$ K4 b. R+ E1 r# ~' Mgoto @12355, q3 ?3 X9 [- Q& k
break. }- o( @& U+ S  N9 W' w% H5 ^
[@TAKEOFF3]. y: j* O4 {1 q
#IF4 Z4 a4 X$ I# X$ s9 e" \; x- h
CHECK [135] 19 m) s8 N: \' W6 l6 T# y0 U
#ACT
8 G, V% f+ ]7 C# Wgoto @12355! p* B  e3 }9 V$ J
break
- J$ U* A0 o/ _/ U1 {3 m4 ^+ B, {# w第十二课
7 z  m4 @8 a9 z2 Q1 a+ {; N( K标志位的详细讲解& M, _+ @  H. K- V6 ]( Q
1-255
7 _7 s+ r8 d% ^8 v( \1 vcheck
. R5 c! L7 |$ mset
0 M2 e  f4 W. Qreset
3 J; O, I# F) @. }4 w
1 ]( m# I- N8 l# z3 }6 x第十三课
6 U0 ~* h, G( ?" |/ e怪物触发脚本
; ^2 A( S0 }7 z0 k& h5 I6 M- W+ z- G首先来到mirserver\mir200\envir 找到下面的MapQuest.txt - 怪物触发脚本
# x) ^7 H7 U' n; O4 A: b脚本格式为
5 U/ m5 D/ f8 C; @& U地图号 怪物死亡触发序号 0 怪物名称 * Q0-Q800
6 \' p6 j  @1 @) @/ t' }' p文件来自于 mirserver\mir200\envir\mapquest_def4 o# Q; d" l5 f7 x' Z
第十二课
; \# V0 x& D  R+ l沙巴克城战的添加以及攻城时间设定6 G  ^$ W  g: ]: f* }2 V# B
在m2server上面点击 管理-城堡管理-沙巴克-攻城设置
& p, ?! N. S. Y; j申请所有行会攻城-确定
9 t  \% q: l8 \* c/ s修改-参数设置-时间设置% i* \; F; m+ ~! K8 c0 c% y
第十三课7 g  @  c: D, v
自定义脚本变量
9 |. ]: G+ L; f0 R( y首先在QMannge当中产生变量 格式为:
. m0 X7 C, ~1 F! g6 l& \" h& p! BVAR Integer HUMAN YY(变量名称), S& A6 C! C& ]+ M: c
加下来继续写读取变量,格式为:4 {) }* k' N- @( i4 \
LOADVAR HUMAN YY ..\QuestDiary\测试\Q123.txt
( J  k- _' j3 A8 V在QuestDiary\测试 下新建一个名字为YY.txt的文档% `' v# P9 Y1 R2 e0 m3 D  z
接下来使用变量即可9 g1 R+ t( m3 g3 O
详见使用说明书:自定义变量
/ m) T$ s0 X2 p5 {2 R4 u% H- F7 X% A2 C* h- m* M7 ?3 K# i& }% O
第十四课) ?- U2 q" w! m0 J5 n4 c4 y8 I
游戏界面的修改以及登陆界面的修改- `) X; c6 y5 D3 [. Z7 j
gameplan.wil
; G, ^0 H" r- Q8 G2 ?游戏登陆过场动画 1035 |0 _5 r" ~" Q! ~' j0 t  r2 ~$ S
游戏下方的窗口图片 53& T7 }# l/ A% k1 F
第十五课
0 H% x5 V4 a* W" e机器人脚本(也就是自动执行脚本)6 I8 M0 p8 N* P
mirserver\mir200\envir\Robot_def
! K* a. b6 G- d/ m. {AutoRunRobot.txt 自动执行 RobotManage.txt. {1 V# h3 j! p# o9 f3 B4 a
在AutoRunbot.txt 当中格式为- m8 @2 i1 M0 l& F
#AutoRun NPC 时间类型(MIN分钟 ** / SEC秒数 ** / RUNONDAY **:** / RUNONWEEK *:**:**) @****(RobotManage.txt 脚本段)
: d9 ?/ b- h( x; ^7 Z第十六课
) p6 l* a  {" Q/ V1 Q, \' ^升级宝石的添加以及打不死的经验怪& S5 i/ H6 z, j$ n; R9 @
StdMode=57(升级符合类型的装备)6 f- H- L* t7 K: w
Source=(等于2)- U' ~4 J9 U: }, h
Shape=(等于0升级符合类型的装备,指定类型时填写待升级装备的StdMode值)1 g5 B7 L: m% L% D5 }* T" a
注意:此类宝石只增加攻击,道术和魔法.8 O* p( }! ?1 g% a) [# `9 P5 J7 a
DC2,MC2,SC2=(升级装备的攻击,魔法等,必须是可增加攻击和魔法等属性的装备才可以升级,例如:武器,项链等)
+ \) V* [% q0 m% [3 gduramax为升级成功率 Anicount为可使用该物品升级次数
8 x9 l8 B( O5 j& M, G2 `8 {宝石类型6:
7 {% W2 M& d$ ?. M7 M% |StdMode=59(增加升级成功率)
6 B8 u$ A( w+ f+ }2 F  Y2 f& ?; M3 GShape=(0表示所有类型,指定类型时填写待升级装备的StdMode值)
7 p; D' Z: b: ?4 Z; Q; oDuraMax=(提高成功机率,例如:设定5即为提高5%的机率)
* J0 P8 y9 ?1 u. H8 E6 I; k
" P" g# h, H3 h4 b! G3 ~8 e+ _把怪加在哪个地图 找到地图号 后面加参数 HITMON(@XXXX)
* v4 c4 A# i4 D. Q- z* |在QFunction-0.txt里加入触发脚本段 [@XXXX]
, Y$ B  s  W& N/ f在万游设置器里添加怪物数据' J- a/ O/ Q2 z/ s4 Q. K
攻击类型 120 攻击图像 18; L, j" u, r$ R: i; n
checkhitmonname 怪物名字) S' A5 P; |8 V: S
刷怪文件 Mir200\Envir\MonGen.txt
. l% R% K) D' N6 v6 k4 b/ w1 V9 D1 O" q% B1 x2 t) D/ g/ \5 J
实战效果课程6 |) y' k/ o: q( n9 t3 }* f
自定义变量 G A I S
5 v0 L# a0 w6 xG变量为数字型系统保存/ o, A$ _- j2 ?7 U2 Y9 m; B! x& \
A变量为数字型脚本保存
+ E% D/ d$ z7 q& W: l/ uI变量为文字型系统保存
7 Y9 T+ i) x$ f: H' V( G; z: k9 \S变量为文字型脚本保存
0 h1 T* B1 q/ I- b$变量名称
/ R" U+ l: [$ L# P' {1 p4 H2 V首先把奖励名额(变量)进行赋值
* D! B0 q/ l/ J3 R# `9 W首先我们把他所点击的等级移动到一个脚本保存变量
2 ?+ q; Z1 M8 T1 `可以用S0 S0=他所点击的那个奖励的等级/ A0 K' |5 S# P! \" i9 l
接下来检查该等级奖励名额的变量是否没有了 也就是等于0
9 Y( x, g) X# P$ `如果是的就进行一个 跳转告诉他领完了 2 s9 s" \+ }. D
如果不是的就跳转到 领取的地方 再进行检测 因为我们还没有检测他的等级 以及他是否领取过( i) u( E- A! e; U" R
首先检测他的等级是否小于该奖励的等级(S0)" N; t" V, O3 z
如果是的就告诉他等级不够 也可以使用 $STR(S0)等级不够* a0 V2 C0 A+ e: R
再用break进行连接再进行检测& u9 N% ]3 j% P2 E" e. e3 Y, r
接下来再进行检查他是否已经领取过 可以是标志位 可以检查文本文档
! K2 {5 a6 t" V. R* J+ Q. aCheckNameList ..\QuestDiary\奖励\升级领奖\$STR(S0)级.txt9 F6 Y1 Z# D5 P
如果他在这个文档当中就告诉他 他已经领取过$STR(S0)级的奖励了% u& N; m! Y! F- c! P2 O' ]
如果他的名字没有在我们的那个奖励记录的txt当中的话 我们就让他去领取
" p  s1 _( r3 |2 F& Z下载地址:
2012-1-11 12:09 上传
文件大小:
未知
下载次数:
0
下载权限:
版本vip会员
VIP专享 检测资源
有些游戏资源需要vip下载开通请点击开通vip
回复

使用道具 举报

全部回复0 显示全部楼层

发表回复

您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

联系客服 关注微信 下载APP 返回顶部 返回列表