设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 4731|回复: 11
打印 上一主题 下一主题

[已经解决] 请问关于计时器的问题~

[复制链接]

Lv3.寻梦者

梦石
0
星屑
4668
在线时间
685 小时
注册时间
2013-1-18
帖子
710
跳转到指定楼层
1
发表于 2013-3-21 21:07:38 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 nhycs01 于 2013-3-22 17:44 编辑

我在游戏里设置了一个物品,使用以后开始倒计时,时间一到就可以获得物品.
一切都顺利.
但是我发现进入战斗以后计时器依然在走,这倒没什么,要命的是时间一到,就马上跳回地图画面得到物品.强制性地中断战斗.
请问各位大神,有没有什么解决办法?
@j433463  

Lv3.寻梦者

梦石
0
星屑
4668
在线时间
685 小时
注册时间
2013-1-18
帖子
710
2
 楼主| 发表于 2013-3-21 21:10:33 | 只看该作者
还有就是,如果正在跟人物对话,时间一到也会立即打断对话,显示得到物品,然后继续对话.很不舒服.最好是能够在战斗以后或者事件结束以后再显示得到物品,这样就完美了.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
687 小时
注册时间
2012-10-29
帖子
1543
3
发表于 2013-3-21 21:28:29 | 只看该作者
计时器归零跳出战斗是正常的啊!在 Game_Timer 最后面有个计时器为零时的处理 def on_expire
它什么都没做,只有一个 BattleManager.abort 就是跳出中止战斗,所以计时器归零不跳出战斗画面才怪了,
不要跳出就把它注释起来,不过这样与战斗有关的计时结束功能也会被关掉。

较好的方式是修改战斗脚本,在进入战斗时加个判断是否计时器在工作 $game_timer.working?
如果是就把计时器当下的时间存到一个变量,然后停止计数器,等战斗结束时,再依变量重启计数器,
这样战斗时就不会受到计数器的干扰了。
修改劇本中,仔細審查原來的劇情大綱,覺得有點不太滿意,嘗試編寫不同主角不同主線的劇情,希望能寫得出來。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4668
在线时间
685 小时
注册时间
2013-1-18
帖子
710
4
 楼主| 发表于 2013-3-21 21:42:57 | 只看该作者

@

本帖最后由 nhycs01 于 2013-3-21 21:44 编辑
j433463 发表于 2013-3-21 21:28
计时器归零跳出战斗是正常的啊!在 Game_Timer 最后面有个计时器为零时的处理 def on_expire
它什么都没做 ...


大大,我知道每次你的回答都是很详细的,看了你的回复受益匪浅.
我真的在之前设置了限时战斗的剧情,也就是说时间一到,战斗即使未结束,也会任务失败.
现在我又设置了这个到时间开礼包的物品,
问题是我没法预测玩家什么时候会开这个礼包,万一他就在战斗前开了,那么就会打断战斗.
难道这两个功能真的不能并存吗?
大大你有没有好的主意啊?
@j433463
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
687 小时
注册时间
2012-10-29
帖子
1543
5
发表于 2013-3-22 00:18:49 | 只看该作者
时间许可的情况下,我是会尽量把事情说得清楚些,毕竟看明白了的话,就不必反覆问答,双方都省事。

我觉得您忽略了计时器本身只是计时归零而已,开不开礼包是另外的事件指令,并不是计时器归零时主动去做的工作,
一般程式设计者习惯上忽略了旗标的作用,都直接计时器操作后下面直接是指定动作,其实应该先设置一个缓冲的旗标,
这旗标的作用既是避免直接指定动作引起的冲突,也是给程式设计增加不同操作上的空间,能有更多更灵活的选择。

所以您大可以安排在计时器归零时用一个变量记录起来,或者一个开关也行,譬如用开关 36 号为是否有礼包待开启?
此时还不要直接去开礼包,而是先侦测是玩家否处在战斗中,战斗中不允许开礼包,等到战斗之后才去开礼包,
您可以用 $game_party.in_battle 取得是否在战斗中的 true/false 值,如果 false 而且开关 36 号开启,就进行开礼包,
开完礼包后记得把开关 36 关闭,这个在事件指令上其实并不难做到吧,那就不必担心玩家在战斗中开礼包的问题了。
修改劇本中,仔細審查原來的劇情大綱,覺得有點不太滿意,嘗試編寫不同主角不同主線的劇情,希望能寫得出來。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
200
在线时间
120 小时
注册时间
2007-8-17
帖子
147
6
发表于 2013-3-22 01:20:13 | 只看该作者
智商君已死····


也许你的意思是  计时器 到0    得到恢复剂
然后进入了战斗  计时器又到0  就强制退出了战斗 得到恢复剂?

那你 为什么不把 不需要的事件用个开关换成另一页空白的事件
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4668
在线时间
685 小时
注册时间
2013-1-18
帖子
710
7
 楼主| 发表于 2013-3-22 10:25:51 | 只看该作者
j433463 发表于 2013-3-22 00:18
时间许可的情况下,我是会尽量把事情说得清楚些,毕竟看明白了的话,就不必反覆问答,双方都省事。

我觉得 ...

谢谢你的回答,不过你说的我看得只能懂一半.我是初学者啊.
如何加那个脚本命令?在哪里怎么加.
可以做一个简单的例子参考一下吗?万分感谢!!

点评

喔,初学者,那是有点难度了,好吧,我弄个范例,稍等一会..  发表于 2013-3-22 12:04
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
687 小时
注册时间
2012-10-29
帖子
1543
8
发表于 2013-3-22 12:31:05 | 只看该作者
本帖最后由 j433463 于 2013-3-22 12:43 编辑

計時測試.part1.rar (878.91 KB, 下载次数: 95)

計時測試.part2.rar (570.42 KB, 下载次数: 95)

范例中设定计时器最早是一分二十秒,也就是八十秒的时间,不是自动开始的,要和女NPC接触按确认键才会启动计时。


先向女NPC接触,启动计时器,开关 1 号开始计时被开启,再去找狗NPC启动战斗,看计时器时间是 34 秒,截图时还没进入战斗画面,有几秒的延误。


战斗中,计时器不见了,因为已经因为战斗而停止,但剩余时间存到变量 1 号计数时间中。


战斗完之后回到地图,时间不是回到一分二十秒,而是从记录的 34 秒开始继续倒数计时。
计时器可以用脚本指令 $game_timer.start(count) 去启动,count 是总帧数,
所以范例的 () 中用 秒数 乘以 每秒帧数,$game_variables[1] 的秒数去乘上 Graphics.frame_rate 每秒帧数。


回头再找狗NPC挑战,一共挑战三次,最后一次战斗结束时,计时器从 11 秒开始起动。

最后归零时会跳出一个对话框,那是用来代替开礼包的。


测试的档案是借用以前物品菜单修改用的工程,不过压缩打包前已经把无关的修正恢复到新建工程的程度,是同一个工程。


那个测是否在战斗中的脚本指令是用在数据库敌人的事件指令,因为进入战斗画面时,地图上和公共事件都是没动作的,只能从战斗指令去做,
要不就得用脚本来写了,但既然是新学者,还是尽量用事件吧,那一页要复制给所有敌人。
修改劇本中,仔細審查原來的劇情大綱,覺得有點不太滿意,嘗試編寫不同主角不同主線的劇情,希望能寫得出來。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4668
在线时间
685 小时
注册时间
2013-1-18
帖子
710
9
 楼主| 发表于 2013-3-22 12:47:59 | 只看该作者
j433463 发表于 2013-3-22 12:31
范例中设定计时器最早是一分二十秒,也就是八十秒的时间,不是自动开始的,要和女NPC接触按确认键才会 ...

大大,很感谢你抽时间回复.但是压缩包似乎无法解压缩啊,两个都解不开.

点评

先执行 122049coua318auaz0k9o8.rar 等到出现讯息时,再选 122039wb0uuy1u30hjgrgr.rar 继续,这是论坛把档名改了,档案没坏。  发表于 2013-3-22 12:53
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4668
在线时间
685 小时
注册时间
2013-1-18
帖子
710
10
 楼主| 发表于 2013-3-22 13:09:26 | 只看该作者
哦!好的!谢谢,我先研究一下!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-24 20:57

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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