您的位置:首页 > 其它

游戏做任务的基本流程

2012-07-03 23:44 573 查看
一般的任务流程如下:

(1)看到npc头顶有个叹号,表示有可接任务。点击npc,打开对话窗口,点击接取任务。

(2)接取任务后,在任务跟踪窗口显示任务计数,比如消灭野猪5个,当前计数为“0/5”。

(3)选中野猪,进入攻击状态,野猪持续掉血,直至死亡。

(4)消灭一只野猪后,计数加1,如“1/5”。

(5)消灭五只野猪后,任务完成,任务跟踪显示“消灭野猪5个(已完成)”。

(6)找到交任务的npc,头顶显示问号,表示有可交的任务。点击npc,提交任务,获取奖励。

对应的程序流程如下:

(1)当npc进入玩家附近范围后,收到服务器发送的npc数据,包括npc的id、位置、等级、类型等信息,同时也有npc挂载的任务信息。

(2)根据收到的npc数据,在客户端创建npc对象,显示一个npc模型在指定位置。根据npc的任务信息,在头顶显示叹号或问号或不显示。

(3)点击npc后,根据npc的挂载功能列表以及数据,显示对话信息以及文字链接。点击任务的文字链接显示任务描述窗口,点击“接取”按钮,接取任务。

(4)向服务器发送接取任务消息,服务器判断是否够条件接取任务。若通过,返回添加任务消息,客户端在任务跟踪窗口显示任务完成状态。

(5)玩家自由活动,比如攻击一个怪物(可能是任务相关的怪物,也可能不是),进入攻击状态。玩家使用技能,服务器计算伤害数值,并实时返回给客户端。 客户端负责刷新怪物与玩家血量、显示伤害数值、播放技能动作及特效与音效、怪物攻击及被攻击动作。

(6)当怪物血量小于等于0时,在服务器端触发怪物死亡事件。 程序里预置了一些与事件绑定的函数,比如怪物死亡事件绑定了刷新任务函数,当怪物死亡时,自动刷新任务,不同事件传入的参数不一样,比如杀死野猪一个的参数可能是 dead(10001,1) ,这里10001是野猪的id,1表示死亡一个。

(7)服务器修改当前玩家的任务数据,并将修改后的结果发送给客户端。比如发送一个任务修改数据 questModify(12345, 10001, 5, 1),这里12345是杀死野猪任务的id,10001是野猪的id,5是总数,1是已完成的数目。

(8)客户端收到任务更新数据后,刷新任务跟踪说明,玩家能够知道任务完成进度。

这算是做任务的基本流程,在此基础上的组队任务、副本任务也差不多。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: