游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5200|回复: 17

[讨论] 跑环任务如何实现

[复制链接]

2

主题

13

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2010-3-1 09:33:00 | 显示全部楼层 |阅读模式
请教各位高人,跑环任务和全局变量的问题,如何使用全局变量实现跑环任务,求详解~

70

主题

2251

帖子

2283

积分

金牌会员

Rank: 6Rank: 6

积分
2283
QQ
发表于 2010-3-1 09:43:00 | 显示全部楼层

Re:跑环任务如何实现

呃 全局变量? 这种东西需要策划去考虑?

2

主题

13

帖子

13

积分

新手上路

Rank: 1

积分
13
 楼主| 发表于 2010-3-1 09:48:00 | 显示全部楼层

Re:跑环任务如何实现

跑环任务不是通过脚本实现的吗?

70

主题

2251

帖子

2283

积分

金牌会员

Rank: 6Rank: 6

积分
2283
QQ
发表于 2010-3-1 09:57:00 | 显示全部楼层

Re:跑环任务如何实现

每个公司脚本的细节都不一样啊。。
公司不一样 程序暴露给你的接口不一样 开发方式就不一样。。
我们公司用LUA
任务编辑脚本 几乎就是填表 不需要写什么东西

15

主题

727

帖子

736

积分

高级会员

Rank: 4

积分
736
发表于 2010-3-1 10:00:00 | 显示全部楼层

Re:跑环任务如何实现

实现方式都不一样的。
我之前那家公司也是LUA,不过似乎不是纯脚本,至少脚本内容要编译一次。

2

主题

13

帖子

13

积分

新手上路

Rank: 1

积分
13
 楼主| 发表于 2010-3-1 10:01:00 | 显示全部楼层

Re:跑环任务如何实现

恩,懂了,那跑环任务一般如何实现的呢~

15

主题

727

帖子

736

积分

高级会员

Rank: 4

积分
736
发表于 2010-3-1 10:10:00 | 显示全部楼层

Re:跑环任务如何实现

这个要看你提需求的啦。
比如说我之前那个脚本有一个重要的功能:自定义变量,包括全局变量(不会因为单个任务结束,就中止变量寿命,每个人的变量都是独立的)。
伪脚本就类似:
<quest npc=0001>
<如果已声明全局变量A />
  <相关处理 />
<如果未声明全局变量A />
  <则声明之 />
</quest>
因为有这玩意,你就可以利用它在不同的任务里面进行适当的信息交流。比如说单纯做个简单的计数器。
当该值=1时,可接受任务1
当该值=2时,可接受任务2
……
……

2

主题

13

帖子

13

积分

新手上路

Rank: 1

积分
13
 楼主| 发表于 2010-3-1 10:35:00 | 显示全部楼层

Re:跑环任务如何实现

不是用LUA的,怎么实现跑环~

70

主题

2251

帖子

2283

积分

金牌会员

Rank: 6Rank: 6

积分
2283
QQ
发表于 2010-3-1 10:38:00 | 显示全部楼层

Re:跑环任务如何实现

您把我们问住了。。推荐你去请教你们以前的脚本策划 或者直接去问程序会比较好

15

主题

727

帖子

736

积分

高级会员

Rank: 4

积分
736
发表于 2010-3-1 10:47:00 | 显示全部楼层

Re:跑环任务如何实现

还是看你需求。我们最简化一个跑环需求。我们每个角色只允许最多一个的跑环任务,并且这个跑环任务的子任务也只有一个。
就是简化到同一个任务做一定次数。在这个简化后的问题之下,我们需要记录两个相关的东西,一个是子任务的完成状况。一个是环任务的完成状况。我们假定两个变量分别代表这两个状况的计数器:子任务subQuestCount和环任务cycleQuestCount。这两个值为-1时,表示未接受;为0时表示已接受,但未完成;为1时表示已完成,但未提交。
那么在子任务已完成,提交时,也就是在subQuestCount这个技术器从1置为-1的情况下,我们将cycleQuestCount+1。
在子任务未接受,而玩家申请接受时,也就是subQuestCount从-1置为0时,需要检测cycleQuestCount是否<=环数。如果满足,自然可以接受该子任务。如果不满足那就是环数已跑满。
这个就是我随便凑的最简思路。如果你有更多的需求,加入更多计数器去描述就是了。
比如说:cycleQuestCount有3个:cycleQuestCount_1、cycleQuestCount_2、cycleQuestCount_3。这样你就可以跑3个环。
比如说:用cycleQuestId、cycleQuestCount记录跑环,这样你就可以让玩家可选择的接受几个环任务(用cycleQuestId记录环任务的ID)。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-8-15 03:27

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表