软件简介:- i/ z7 R0 ? _! |2 H! Y
教程第一课7 l9 K/ B2 K: D3 R
DBC2000数据库的介绍以及单机游戏的架设以及外网游戏的架设方法7 ~) M W Q- m
安装DBC2000数据库
+ J, V; b# x- E" K' v5 m1 @0 Y7 x建立DBC2000数据库与服务端mirserver/mud2/DB文件夹的数据库连接
! T1 Q0 I. d, D- {9 O5 l+ s5 m" L* E启动Gamecenter 选择控制向导 数据库名称 heroDB(对应DB数据库名称)
& ~/ w* |8 m, u填写服务端路径 并正确填写DBC正确路径4 m2 Y1 c N* I- `1 p
内网IP地址为 127.0.0.1( R( `; H0 B1 A! g; E) `3 l
查询外网IP并填写启动服务端+ S" R0 I8 Y0 r* z6 ~& W
www.ip138.com4 E2 X6 u+ N5 O, v1 o* h
填写我们查询到的IP地址并启动服务端. E$ l! ?$ E" U5 m9 c! @. |- U
架设外网成功$ S/ R6 ?7 w m4 Y9 `. h
3 U# d2 `/ X% [6 n
第二课/ l3 S, Q8 Z6 h
一机多区的架设方法以及对服务器进行合区* [* n1 Y7 Y9 U- d0 m4 i
更换我们的所有端口 然后启动服务器 在登陆器上面对应每个区的网关端口
% h9 t7 D3 v' J7 x! b使用引擎合区工具进行合区
9 g& h) W3 T: d" P8 [' p( T+ g0 A& ^: t4 T3 t0 u6 b4 o% L: W
第三课$ D7 V' i, ^# H2 e0 }- J9 N
游戏NPC的添加 NPC脚本代码对应位置
1 o3 {8 U( D: r0 W) G/ k& l7 D找到mirserver/mir200/envir/MerChant.txt
! V$ ?% B2 B. w! c+ }' v在最下面添加NPC/ J u- f1 ~7 n8 s) x1 D
Market_Def下面的哪个文件夹/脚本文件名称地图号 X坐标 Y坐标 NPC名称 NPC外观代码
2 [7 \7 D0 r8 y2 }! a; l' s脚本文件开头' @; l1 t2 n2 j S2 `6 h% R
[@main](所有脚本通用开头)- y+ H( E& |4 d* I" z8 j, Q
第四课8 x' Y S5 s, t9 X) l/ n
装备的添加
\& h3 H2 k+ P' H9 q+ B1 ~* O物品代码6 ?$ _; f& t3 b. u
装备属性、隐藏属性代码、套装功能、装备名字颜色代码。
% G2 J% W' E5 ~* h2 q% M装备属性使用万游编辑器修改 隐藏属性(万游) 详见M2引擎说明书物品代码表( L7 H3 {( U* G% i/ k* b
套装功能对应M2server - 查看 - 列表信息 - 其他设置 - 套装功能 6 X5 x( I7 D5 s6 q
套装功能中套装编号对应数据库 (特殊属性栏数值) 套装属性为10-255
2 f8 o. s+ G/ E0 E* ^- W* H* L
' ]$ q$ [" R6 }1 O+ T7 u8 D第五课
, p! s# t( ?9 J脚本的编写、登陆脚本、实战冲级奖励的编写。
' j8 C5 G0 X' `: b; `9 O( V0 d3 L脚本文件对应NPC创建
. D- P) ?6 s' j ]8 v7 V以[@main]开头8 t" D+ N0 t0 s" ^& i
下面一#IF开始 #ACT执行 #elseact否则执行
8 j b' O! F, N5 Q, s登陆脚本
1 J0 x$ z+ y# I# q* v) Hmirserver/mir200/envir/MapQuest_def/QManage.txt
1 w! Y3 g! N! Y5 ksengmsg 0 全服提示 谁谁上线
% j" {2 j0 q1 @' ~第五课
( _- ?, [4 {( s3 f6 `% A2 y- ]装备外观的添加计算方法、以及装备内观+ q" Q) a- A1 _+ }% X
工具:wil编辑器/ f5 X, `5 e& P2 P Q, ^
背包物品外观在items.wil 掉落地上的外观在dnitems.wil 装备栏的外观在:stateitem.wil' Y/ U5 Q8 [* S( M& r* _
武器动作在 热血传奇目录:Graphics下 weapon文件夹代表武器 human文件夹代表衣服7 k9 R, l( \6 o7 C, ]
文件名字对应万游中武器衣服的外观代码
2 t! E! Y$ @% d补丁文件后面加1的情况 HERO的引擎是图片代码+100007 l6 z8 u+ m% y" B+ w' Z
NPC外观代码, 6 U0 n* O; o2 W( n: i
怪物补丁的计算方法以及添加怪物
8 K5 f- @/ W" z* kmon*.wil (*-1)X10= 然后WIL编辑器打开怪物文件 z; e; x: ?) d# r5 }
mon14.wil (14-1)X10=130 蛇蝎=130赤月恶魔=131幻影蜘蛛=1328 x, z' M ^% E
第一个怪物就在个位用0 第二个用1 依次类推4 C* t3 G$ i6 I; J7 T1 Q2 s3 A& F
怪物补丁为热血传奇目录下面的DATA文件夹下MON.wil-mon99.wil文件
* n8 J- h6 n- S$ R. ^) O8 |) l攻击图像详见传奇怪物攻击图像代码( P$ u8 F! d2 W; v
具体怪物攻击带特殊属性详见攻击代码. F2 {& m. O: Y7 G4 ]" R
人型怪物
& Z" [0 [' W Z$ m8 Z$ F[BaseInfo]# t/ ]' t4 |1 x% k! J' Z; Z
;职业
8 J- w% L: X$ x" ?3 XJob=0
& B9 Y( @& v. {" G% R" p;性别4 c! T. K- f6 u" f# L
Gender=00 I# |& d7 I; M$ z
;头发
) J+ {; }3 t# y7 ]) c) lHair=0$ d( f2 m! v Z- E( c2 Z4 }& g
;使用魔法' i G+ U# u0 F) o2 W' i
;注意:人形怪必须有相关技能才可以正常使用技能.* a8 Y7 g* M$ R" `8 q
Magic=基本剑术,攻杀剑术,烈火剑法,野蛮冲撞,开天斩,逐日剑法,刺杀剑术刺杀剑术: {9 t9 J1 |" Q; p9 x! P" M
;是否掉了身上物品 0=不掉 1=掉落
/ y, w( b8 y0 V7 e- q- a; cDropItem=0. p8 {" h7 r7 Q; s
;活动范围,0时不限制活动范围.超过活动范围自动返回出生点.
! |% q0 `$ b! j4 ]1 ITerritory=0
# U) Z" F# Z/ Y;是否允许挖去身上装备1=0,0=否
7 O' S3 s/ }5 \! N; o+ _" c4 mButchUseItem=1
* M" s9 p3 R8 _;挖去身上装备几率:0为百分百,数字越大机率越小.
" j4 r9 Y) V2 X. e9 X, ^+ n;注意:设置0并不代表可以100%挖到身上物品.
! T% m7 r, P) p- S3 kButchRate=80
7 u% t5 z6 K, i0 k6 m# L Q: O[UseItems]
. _. n$ t9 W+ E+ W;衣服! H; P- p7 y( z* ]
DRESSNAME=主宰神甲
! R* f, L$ R+ \4 C2 E6 d;武器, X( _# G* C+ e& s7 G6 [+ s
WEAPONNAME=倚天
0 P, ^, ^' E4 v2 ]! X0 ?; E! A;照明物
, ^' E+ E& l5 X& @) NRIGHTHANDNAME=虎威战勋
* b. Q5 W1 L e- r3 V;项链
9 R3 X) r& J# r7 bNECKLACENAME=虎威项链(战)& \/ J# E) {; M
;头盔
, H' Q7 S" r6 S u( o% |HELMETNAME=虎威战盔( l" L/ o/ N3 r* r
;左手镯
7 w3 W, k8 I: u( f* |ARMRINGLNAME=虎威护腕(战)9 ^/ q5 w' @+ [6 T+ Q* z
;右手镯
0 p$ y* H2 l O, r7 M5 |ARMRINGRNAME=虎威护腕(战)# v# |& ]# w+ M! g% V
;左戒指
7 X% j9 u: O- H7 i( U2 D! J1 J6 s8 LRINGLNAME=虎威战戒: Z5 [4 B1 e# v! ` @- \
;右戒指& i: \; D8 p3 u$ a* I1 u
RINGRNAME=虎威战戒; d2 v1 D4 {. y G$ o# Y
;物品
. ]# s5 E( G: {* _0 j. kBUJUKNAME=* C o" W# {% N" m7 j. ]5 q
;腰带" v1 ~8 c; A9 X' L U& v% I
BELTNAME=虎威腰带(战)/ ]3 s1 l; n- ^) Q6 V
;鞋子
. [# G" F" k0 @3 X$ o+ o4 [( b. |BOOTSNAME=虎威战靴
. \) ?6 \9 z9 I( R;宝石9 x+ P2 B4 B& X
CHARMNAME=虎威战石8 t$ t9 o% o0 A3 Q5 c2 W
;死亡掉装备几率 数字越小掉装备几率越高+ R% }$ G3 L* J
DieDropUseItemRate=500" x3 e! u# F0 Q7 E
第六课" ]6 d9 b: e' y. n* C$ z) U& e
地图的添加以及地图限制代码的方式、地图与地图之间的连接、地图刷怪" g# e( v9 @8 n0 M* p
首先把地图素材修改名字(字母跟数字组合)然后放到mirserver/mir200/map当中# w7 a* i4 O( N
地图信息添加在mirserver/mir200/envir 下面的MapInfo.txt当中4 ^! L ~& q9 H, U' o; ?/ m
格式:[地图号|地图文件名(地图文件在mirserver下面的mir200下面的MPA文件夹) 地图名称] 后面以空格跟上地图限制代码或功能代码) A" j' i5 {& N3 H: o
加入盟重土城地图# S0 K9 o$ v& A0 ?, `% {
找到我们盟重土城调用的地图文件,按照上面的格式添加地图
& I% K/ J" X, x( @( V找到我们需要进行连接的两个地图的地图号2 ?" j! [3 H7 S+ g* F/ `! l
A地图号 X坐标 Y坐标 - B地图号 X坐标 Y坐标- ~. ?$ K J9 s! q8 y$ X
刷怪:
0 o8 c) `+ b# r5 y) r/ E. V# \; I地图号 X坐标 Y坐标 怪物名称 刷怪范围 刷怪数量 刷怪间隔时间(分钟)3 P2 u- [7 O2 i( N( ~* A
+ c0 ^, W! D+ ]+ `7 q0 L5 | J% i第九课& b8 f4 @! B; r7 `( j
利用M2引擎 铸造装备 快速写合成
* }0 b0 h, h; p! c2 _# }在mirserver/mir200/envir/ 下面的FoundryList.txt文档中
5 W1 K7 E: I5 H) Z$ _+ q% ~3 w格式为:6 n# f% E) v- y: Q9 u) Y0 E4 X$ T
合成物品 数量 成功率(100%) 需要物品 数量 失败是否消失 元宝 数量 失败是否消失
3 v+ \% j- i A' s- k& t6 g( ~开天 1 100 屠龙 1 1 元宝 100 1
$ }; |, q, b' ]0 R' NNPC内的脚本格式为:
* k/ b' R; Q2 c6 [0 C/ ~/ C. k$ y) K8 L#IF7 {9 n; o3 f! M1 r' Z
CheckFoundryItem 开天7 e4 s* K4 \$ ^1 `
#ACT
7 H; O) p' {+ R$ rGiveFoundryItem 开天
c6 P i- l! {7 OSENDMSG 1 公告:$USERNAME 成功打造开天 一代天骄即将纵横出世!!颠覆整个玛法大陆!!!! ?. R) G$ L, H5 s% z! s6 S9 S
#ELSEACT3 v ~0 V+ s1 ]2 d: P
SendMsg 5 缺少合成物品%Item
. r4 q; q: |" }4 t[@FoundryFail]
; R1 F% c G( g5 u#ACT
, ?* W; i/ g- h$ R6 u* `. Q8 WSendMsg 5 合成 %Item 失败!
9 [7 u3 z' F6 N/ q8 b" V6 F0 A合成装备脚本的快速写法-运用铸造功能写合成装备
. o/ v# N1 R6 {+ M# I( B/ j6 R, k' n4 u7 D
第十课
3 t, l' b9 ?, P8 a! m+ ~8 p9 h人物头上的图标封号介绍
% F" S |+ W, t- s7 `在登陆脚本中检查特定的人物
9 M. V6 t+ r! k2 b. N. @. Q) q5 b然后使用ICON.WIL中的图片数字
0 b. ?1 F; X4 `/ ~格式为:5 _ a% E& F& y, f* c2 b! k
#IF' L) U0 S$ N6 P) W( v$ t0 }
[217] 1
! P% m; ~5 N' q% l4 b) M) `6 c+ t#ACT3 K, g) \/ n# S' c8 v5 t/ z- R
SetIcon 3300 1
% Q2 S+ E" a: ^第十一课" o! V8 K2 I4 o X5 m5 ?! J
人物变色以及怪物触发功能脚本
2 r7 R; S9 l6 T8 M/ f[@stdmodefunc*] *号为1-999 不可重复已经有的
" m2 o( ~; |6 F同NPC脚本一样!6 }3 o3 Y! P& O& D7 a; I
#if* ~& h2 n1 T1 f" T2 `6 q+ B" B$ V
#act
' z5 `& j8 T K% t! f: R#elseact# c7 S8 R, Z+ s. S
在mirserver文档写触发文档 格式为
% N6 J2 N5 C9 e6 Z7 Z假定人物不是变色的 那么 [679] 的标志位就应该是0继续检查幸运为多少& `5 W& M5 u' m7 ?
如果满足9 就对2 y6 L: x4 y, F3 M
[@TAKEON1]' ^: F$ }# u( i t& l7 r
#IF' M; S S5 k4 X* D: \1 Q3 C
CheckLuckPoint 9* W( W" n* V; T# x' N) F
#ACT( {0 H. ?4 M, W9 F$ J
GMexecute TestStatus 4 65535 变成金黄色
" ?0 P" L, O# tSENDMSG 0 给力玩家 $USERNAME带上终极幸运套风云变色1 s# F1 U/ f' k' R: c8 ?5 k
goto @1
1 _( ]) v7 t8 W8 m" Q- G; cbreak; H# ^# K+ ~3 r. h F- K
怪物触发脚本 / e; u" m! `0 p
首先来到mirserver\mir200\envir 找到下面的MapQuest.txt - 怪物触发脚本
" a4 `7 v3 g' G. z, B2 d) o3 @6 x脚本格式为6 Q9 Q- I( }$ ]9 B. b# Q B
地图号 怪物死亡触发序号 0 怪物名称 * Q0-Q800, ?, {; J, a- y8 i/ A0 v0 Q. K
mirserver\mir200\envir\mapquest_def' G+ j. B9 N, S
[@TAKEON2]
! A9 R& @' l9 f+ D! J" O; h0 E1 f#IF, K0 j& A' K+ _! E/ m2 p/ o
checkluckpoint 107 _5 k; B) {0 p% t _
#ACT
6 a) ~. M2 N! a% {! CGMexecute TestStatus 4 变回原来的/ K) V4 x) x2 A9 W$ h1 a: D' G
break
^* y& b0 k7 j这个因为我这个麦有问题 就先到这里 录像结束 等一下看能弄好就继续 # o6 M4 t8 x6 z) w' ~
不能的话明天讲那个变色吧 也就是说一般传奇里面的 幸运9特征, x: W0 b( T4 B4 k1 t) _& Y
当人物达到运9的时候进行全服提示给他头上加上一个图标或者说把他的人物6 J4 o/ m7 }; ]
变成黄金色或者其他的颜色比如紫色。9 X9 i5 @. b! Q
第十二课2 u" {; J* b% a9 v% ]8 z- T
沙巴克城战的添加以及攻城时间设定/ V" `% k E+ N9 ~- Z
在m2server上面点击 管理-城堡管理-沙巴克-攻城设置
% ?( q# `/ a7 X申请所有行会攻城-确定5 }% D6 v. b$ g( S; D
修改-参数设置-时间设置
* J$ K/ U( { r8 ^- k第十三课9 c) S/ f7 H- d$ D- T5 ~/ o2 \2 K
自定义脚本变量" I3 c u5 ^9 p4 L; t3 p
首先在QMannge当中产生变量 格式为:8 c# \0 }& @7 @% {4 x9 }5 T
VAR Integer HUMAN YY(变量名称)) [. g( B( `/ t; N
加下来继续写读取变量,格式为:
( H0 p3 Y8 L7 g& x5 LLOADVAR HUMAN YY ..\QuestDiary\测试\Q123.txt7 B( k& z/ R2 J1 [' q
在QuestDiary\测试 下新建一个名字为YY.txt的文档, E9 \. ~+ X# M7 J8 S; _& I
接下来使用变量即可* ?( ]8 _" W8 T9 f* L
详见使用说明书:自定义变量
# E) z" r- f& `0 r* q
7 J1 ~% t/ o" w- i5 c, T) X第十四课
3 E; j \+ [& C% S c- e0 `游戏界面的修改以及登陆界面的修改
t Q3 K# J# j* a( Cgameplan.wil
: b& ]# _7 d: M+ l! |3 n游戏登陆过场动画 1034 H2 D" w5 X1 V8 `
游戏下方的窗口图片 53 70 98
3 }; ^2 E) l/ v( u! `. s第十五课
8 i+ }; Z! d* l3 }) P机器人脚本(也就是自动执行脚本). i: V8 h5 h0 U, {
mirserver\mir200\envir\Robot_def
* g' f! h9 j- R3 fAutoRunRobot.txt 自动执行 RobotManage.txt( j4 t' R0 d" Z
在AutoRunbot.txt 当中格式为- C: R) [) m9 A: T1 X! k
#AutoRun NPC 时间类型(MIN分钟 ** / SEC秒数 ** / RUNONDAY **:** / RUNONWEEK *:**:**) @****(RobotManage.txt 脚本段), Z) B: N! p" C% U9 W$ K9 p
第十六课
- U" T9 \1 h- F升级宝石的添加以及打不死的经验怪5 p, O+ t3 P6 J2 h8 {
StdMode=57(升级符合类型的装备)( G0 F8 _6 n' w) z6 L
Source=(等于2)+ \ F' }: y% C0 o
Shape=(等于0升级符合类型的装备,指定类型时填写待升级装备的StdMode值)
/ ]' R/ S1 K7 g$ S7 ]6 d" l, i; K注意:此类宝石只增加攻击,道术和魔法.7 H/ X6 r& u4 W; Z4 ~
DC2,MC2,SC2=(升级装备的攻击,魔法等,必须是可增加攻击和魔法等属性的装备才可以升级,例如:武器,项链等)
0 |$ Y6 l8 c* R. U9 g) N! l3 Zduramax为升级成功率 Anicount为可使用该物品升级次数
7 P4 x$ v& a x" I+ F宝石类型6:
' x0 \6 f# U5 f2 h9 J: aStdMode=59(增加升级成功率)
# v2 H: L; p* N- }+ ~Shape=(0表示所有类型,指定类型时填写待升级装备的StdMode值); e8 X0 p2 |0 @
DuraMax=(提高成功机率,例如:设定5即为提高5%的机率)$ z" D* i1 l/ W
+ L0 A& E" F7 Y8 b2 r
把怪加在哪个地图 找到地图号 后面加参数 HITMON(@XXXX)+ c) G6 ]( }' `1 k4 {
在QFunction-0.txt里加入触发脚本段 [@XXXX]$ R, u6 [( |: C$ J
在万游设置器里添加怪物数据1 U! ] c5 t7 ^1 b; ~1 P$ d r' ~
攻击类型 120 攻击图像 18
6 l4 Y5 G6 V8 o: M2 i1 Vcheckhitmonname 怪物名字1 M/ w1 t4 Q! }& X8 @( `# W! r
刷怪文件 Mir200\Envir\MonGen.txt. S3 I v6 ^0 W9 R6 q7 R. r( U
! B/ q+ S5 q. F* J( Q
实战效果课程! m! g) H/ p( Z2 L" n
自定义变量 G A I S 4 W2 d0 ~1 j- u( L
G变量为数字型系统保存, S$ b% j% V" `; M. k6 d: w
A变量为数字型脚本保存
) B+ k( Y" Q3 |+ s1 k! v/ c- n: eI变量为文字型系统保存 ~/ I+ [ Z3 H9 |- j5 `/ x
S变量为文字型脚本保存2 u7 u* ~) B! P" o. X; |$ a
$变量名称; S$ [3 F6 r2 |/ J8 R5 a
首先把奖励名额(变量)进行赋值
0 o3 B" a: w' m t3 j$ a7 f& B8 P首先我们把他所点击的等级移动到一个脚本保存变量4 z7 q3 q' i3 x5 E$ T5 s5 w$ l. C2 r A
可以用S0 S0=他所点击的那个奖励的等级8 o/ P% m: m% n9 c" p! A
接下来检查该等级奖励名额的变量是否没有了 也就是等于0
# j5 Z+ d2 z8 h) I" _+ J$ C如果是的就进行一个 跳转告诉他领完了
- L: |+ y) \+ ^7 J# S2 ~' |如果不是的就跳转到 领取的地方 再进行检测 因为我们还没有检测他的等级 以及他是否领取过
- G( \6 |! f) T9 z首先检测他的等级是否小于该奖励的等级(S0)1 _: I1 I9 Z* j H7 D/ B6 Q
如果是的就告诉他等级不够 也可以使用 $STR(S0)等级不够9 e5 c* n! C8 r' }
再用break进行连接再进行检测
; \9 I$ W. B: x6 ^接下来再进行检查他是否已经领取过 可以是标志位 可以检查文本文档4 S0 h# W, T) o0 Y/ t) J8 s% L
CheckNameList ..\QuestDiary\奖励\升级领奖\$STR(S0)级.txt
% g- ~2 l9 h, i& ^# ~/ ^$ b如果他在这个文档当中就告诉他 他已经领取过$STR(S0)级的奖励了0 u7 d: O) l L3 G
如果他的名字没有在我们的那个奖励记录的txt当中的话 我们就让他去领取
9 w9 X9 V" O# a# m6 w下载地址:
|