地方网

搜索

[魔域服务端] 中国GM门户发布魔域源代码

[复制链接]
admin 发表于 2008-8-21 13:02:39 | 显示全部楼层 |阅读模式
软件简介:+ c- O$ h2 r3 e
争霸网络 中国GM门户站 为感谢各位GM门的支持$ C! d. m0 Z$ G' G; E" E/ w" e
特此 站长:单身仔仔 " _$ \& r- E/ {- h
把魔域 的源代码 发布出来给所有喜欢魔域0 v6 q& W& ?# N5 _* J9 |
的各位GM研究使用.在研究使用过程中; s$ \$ [' o* C
本站不会提供技术咨询自行研究
7 K8 H# i; o% S9 ~5 J内部有相关说明文件.希望制作出的各家特色后
8 }* }/ x: E5 F8 ~% e发布www.20921.com/bbs中国GM门户 共享使用  N, i- f. R: B. a! C
更希望那些卖端的请不要那么自信的卖出高价格
, @9 v1 f5 G9 T1 A- o' X) E, r给GM门经济上增加难度。祝GM们2008新春快乐
' k! A* ^  }6 }  S* m' R中国GM门户站 是中国最具有权威性.的GM门户站/ s; ?6 V+ d$ B
地址:www.20921.com
- b4 r$ J9 z8 B6 F. rGM门户 GM资源 以及游戏源代码的起源地!" x2 J6 l" x6 Y$ s' a7 V

6 B2 K% V, W( Z1 s5 Q0 Y// AI框架说明' w% ]( X/ F0 P1 g6 [, q, `* a! A
// ,2007.8.3
8 {/ j" E% k' w" }( }。暂不支持AGENT切屏
" Y( H# _- @. l/ U) A: T
; o* e1 E' @; o  J。模式规划:- m4 r7 u6 H. D9 \
。0_dead// 死亡模式
! ?: W/ z0 M. e) X/ D。1_idle// 休闲模式
3 R! r5 Y; t0 I; w9 i。0_wait// 休闲模式中,又细分为等待组队模式
, {" {' r2 e7 S' e$ C. B  V, S。1_follow//和组队跟随模式
4 y+ `2 f' M4 j。2_fight// 战斗模式:分析战况,选择目标,同时跟随队长
; M# p: W6 n; l9 `  U/ D6 H。3_attack// 攻击模式:补血、发攻击命令、脱离危险
, {) E2 s& g7 x) U# X. F1 V! d. u9 w# T$ t% I4 f% ~( q1 q7 f
。事件2 ^( N' l) H, w/ g
。死亡事件:接到死亡消息时,改变模式为Dead
: ]7 _7 ]1 @6 |5 H+ w' ]- z; u. O。组队事件:接收到组队成功消息,增加TeamOK,增加IsMyLeader
: ^( N$ R, y8 o5 s9 l8 N6 Y1 f) q。队伍解散事件:删除TeamOK8 c3 b/ i. ]( c+ p! d5 {$ k0 L
。---! u. O6 O1 u) M: v
。装满药品消息:增加ItemFull,增加HaveItem
/ B; a- M* y! e9 R2 w+ N1 r, h3 t。物品删除消息:如果药品少于2个时,增加NeedBuyItem) {; T; D. L$ |: ~
。物品删除消息:如果药品没有了,删除HaveItem$ G6 m8 W5 ~! P4 J3 m) \& P
。---% f  t& I% ]2 _6 j
。移动消息:和药店距离少于8时,增加NearShop,否则删除NearShop$ S1 q5 G' _1 v: W: p
。CPlayer消息:有队长标志,增加IsLeader" p- j  b& F, o$ U( y( W
。CPlayer消息:是怪物,增加IsEvil
. h: J4 N# i- i5 [) e! [$ K9 B。CPlayer消息:是玩家且装备好,增加IsCoolMan
, \7 `) I6 R6 O0 O/ q。---) u  N, L4 U8 D9 O7 \2 E) {5 A
。CPlayer消息:是自己的队长,增加IsMyLeader
/ }- W& u, K# c! A: s: K* h2 |。移动消息:清除并重新添加所有的IsLookTarget8 S; O& K# B( G5 r6 P
。移动消息:清除并重新添加所有的IsCloseTarget: E, L' K' w3 b) [; Q# t, t. q5 Z
。失血消息:如果血够少,增加NeedCure
: \# J* }4 c" X' `& {。被攻击消息:增加AttackMe(10),增加IsEvil(20),如果人数超过3人则增加Dangerous(10)
) F1 e( ^2 ~2 W。收到队长坐标:如果太远,就增加MyLeaderAway
4 c  W- d0 u/ |# W! I5 F* q0 P) \
2 P  @! l# b( f3 v/ h: _* x+ k。动作' F: I8 A1 b8 I1 t- T& p
。RandomMove:随机选择可达点,设置移动目标点。& z7 H9 O/ W' z0 d- s
。BuyAllItem:发MSG_ACTION消息,要求装满药。; c5 r6 _. m* ~5 m7 K
。AnalyseTalk:如果串中有药,增加TalkAboutItem8 L  B# Y, _" W$ R, Y! ~* L# E
。TalkTo:发送MSG_TALK消息给对方。1 I% \" i6 ?) p6 C' S
。TeamAcceptInvite:发送组队申请。9 d- O) y  H/ u* g# K
。TeamAllyJoin:发送组队申请。# X  [4 X3 C8 g( S
。CheckMyLeaderAway:检查队长是不是走开了,如走开了就发QUERY消息。( p0 b3 H6 d  C, s' k( Y  o
。ChangeMap:如果距离近,就跑过去,远了就CHGMAP。" \) S; d! [2 ?% {; U! i* B
。FastToLookPos:连续跳向能看到指定坐标的地方。
, f& a: H$ ~" D! U# i  f。LeavePos:和该坐标保持一定距离,否则会跳开或跑开。
9 h) U# @% {- o8 @& m; Z。备忘:
- v# F- t$ U' s/ m' w。目前通过EVENT和ACTION来维护FACT_SET,允许同类FACT有多少个同时存在于库中。  s2 b+ c3 z" c" H9 Z
。动作的调度按类似WIN的进程调度模式,高优先级先执行,低优先级的时间长了优先级会自动提高。
. V# f' i# e- f) X' Y+ f。匹配符号时,系统函数-游戏函数-fact库的顺序可优化CPU效率,但灵活性稍差。) l+ ]$ t# ]+ ]
, b0 ^; Y( e+ c+ U% g! ]
。规则编写说明:" G' W9 P# V9 y' G- p
。规则中的符号的风格为大写字母打头的单词的组合。例如 RuleStyle 。(风格:是指不强求,只是建议如此。下同)
* Y0 ~0 T8 J' |0 ]7 `。符号后都可能有用圆括号包围的参数表。例如:RuleStyle(TYPE)。9 E6 V( j- w+ |$ |3 F) O# W$ i
。符号分为两类,一类是FACT,另一类是系统函数。(系统函数类相当于C的关键字,FACT的符号名不能和系统函数类的名相同。)0 y% W; |* b6 |5 ^; J6 a) A3 s
。系统函数不能放在RESULT部分,只能在CONDITION部分。7 g) H; |1 K7 Y/ F% m0 {
。系统函数都是小写风格,以区别于符号。例如:less(SMALL,BIG)。
4 W/ j& r, a# {. J: ]' Y。RESULT的参数表中的参数。用括起来的是KEY参数。KEY参数和圆括号中的参加合并为完整的参数表。例如:TalkToTargetROLE(你好。)
; c0 e" j1 T1 ]2 ~4 Y" v( @。通过RESULT添加FACT时,KEY值相同的FACT会被冲掉。
$ Q, i. O& v9 g- w( [。通过RESULT添加FACT时,如果没有KEY列表,符号相同的FACT只允许存在一个。; y! @) a% h6 G; a( e2 X
。参数表中的参数分为两大类。一类是直接量,如1234,或者string,类型分为INT类型和STRING类型。另一类是哑变量。1 R/ f/ @" N) o* x6 }8 \5 E; I
。INT类型的直接量,只接收数字串。数字串后面允许紧接符号,但符号会被忽略。(后接符号的目的是提供数字的可读性,有点象enum)
3 s2 B2 C2 d; ]- C6 d1 Z5 k。STRING类型的直接量,必须用双引号()括起来。
: I% z- r  P* L# s3 u。哑变量会在运行期被替换成相应的值。哑变量的风格是全部大写的符号串。例如:ROLE、DATA。
/ j! _+ U& L  _8 Y( G。INT类型的哑变量和STRING类型的哑变量不能混合使用。也就是说,一个哑变量只能是一种类型,不能即是INT又是STRING。6 Z+ `7 [* |; T& p1 S" A- R
。变量(_)表示不需要匹配的变量。
8 z  T# h2 g. c' J, M% ?7 ?。条件列表中的FACT分为三类。一类是存放在FACT_SET中的FACT,另一类是可调用的游戏核心函数,还有就是系统自带的函数。
9 m) |1 S/ J, z+ c7 X. Q。目前MODE部分不支持为空。# @" z/ `) H) C/ L- R: U; t
。目前暂不支持游戏函数和系统函数的多重匹配。
& d* g! X# N+ Y: b; b- |) a7 b( a。目前暂不支持游戏函数和系统函数是的(_)符号。7 w/ ]: y0 C, d: c* V/ u
。相关连的FACT的优先级最好和RULE的优先级相同,否则要么不能触发,要么会触发多次。. ^; g3 A) i& v
。符号检查顺序是:先看是否系统函数,再看是否游戏函数,最后在fact库中查找。9 y( x0 h+ h1 p9 x+ v7 c0 p1 q
。系统限制:" y# J  [  o, Q% W
。整数的范围是-20亿到+20亿。( O. \; A9 I5 e0 Y
。规则文本长度不超过1024。(可修改)% Q' ~: Z/ d0 W9 F
。规则设计方法:; w' g0 f# [+ W7 i" E7 }0 F) U
。符号从设计逻辑上大体可分为两类,一类是由EVENT提交的,一类是规则运算时添加的。
/ I8 k5 D; h/ `- Z5 y$ r。建议EVENT提交的符号由EVENT维护,规则运算产生的符号由规则运算来维护。交叉维护容易出错。, _- f# k$ Y% G' s
。需要互斥的FACT,都做成同一个FACT,后面带KEY变量。3 H0 x1 _' z, ~2 x. V
下载地址:
2008-8-21 13:02 上传
文件大小:
未知
下载次数:
0
下载权限:
版本vip会员
VIP专享 检测资源
有些游戏资源需要vip下载开通请点击开通vip
回复

使用道具 举报

全部回复0 显示全部楼层

发表回复

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

本版积分规则

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