Project1

标题: 每隔一段时间执行的脚本怎么写? [打印本页]

作者: 小空弟    时间: 2009-8-8 08:03
标题: 每隔一段时间执行的脚本怎么写?
例如:在脚本里。
非战斗状态下每隔100帧执行一次连续伤害的脚本是怎么写的?

PS 主要是从Game_Party的def on_player_walk得到的启发~
作者: 霜冻之狼    时间: 2009-8-8 08:21
一般都是在画面刷新那里加
每刷新一次增加变量,到一定程度就触发事件

有个缺点是刷新速度会有误差的
作者: 小空弟    时间: 2009-8-8 08:58
本帖最后由 小空弟 于 2009-8-8 09:02 编辑

有误差到无所谓。
方法不会只有这一个吧?个人感觉虽然简单,但是每刷新一次都要判断事件+状态 是不是会很卡?

PS  实在不行只好用事件+状态了
作者: 雪流星    时间: 2009-8-8 11:21
在 Game_Map 或 Scene_Map 的 update 里面写

  1. if Graphics.frame_count % 100 == 0
  2.      要执行的脚本
  3. end
复制代码

作者: 小空弟    时间: 2009-8-8 11:56
本帖最后由 小空弟 于 2009-8-8 12:10 编辑

4# 雪流星


试验下
作者: 小空弟    时间: 2009-8-8 13:54
在 Game_Map 或 Scene_Map 的 update 里面写
if Graphics.frame_count % 100 == 0
     要执行的脚本
end

雪流星 发表于 2009-8-8 11:21


出现问题:
例如我要作一个恢复药水。在Game_Map里面的update下加入脚本
if Graphics.frame_count % 60 == 0
      for aaa in $game_party.members
      if aaa.state?(18) # 如果角色中了18號狀態为回复药水
       aaa.mp+=2
       aaa.remove_state(18) if aaa.mp>=aaa.maxmp
      end
      end  
end

这个方案有问题:只能在大地图上执行回复脚本,在菜单里面就无法执行与时间同步的效果,非得按esc切回大地图才开始回复。如何改能仅随时间改变?
作者: 小空弟    时间: 2009-8-12 16:51
无奈~
只有公共事件+状态了。
其实就是并行处理让人感觉不爽~
作者: 龙行宇VS杰    时间: 2009-8-12 16:56
我有个奇怪的想法:有没有这个药水(5回合共恢复HP1000点,每回合恢复一定量的HP,5回合后总共恢复1000)
作者: zh99998    时间: 2009-8-18 16:58
这个方案有问题:只能在大地图上执行回复脚本,在菜单里面就无法执行与时间同步的效果,非得按esc切回大地图才开始回复。如何改能仅随时间改变?

那么就Scene_Base还是Graphics.update随你了




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1