Project1

标题: 脚本中如何写“并行事件”? [打印本页]

作者: 失去的记忆    时间: 2009-5-16 00:58
标题: 脚本中如何写“并行事件”?
用脚本怎么写下面一段程序?
当变量 1 号为 100的时候,5分钟后强制使变量 1 号为 0 !
脚本: if $game_variables[1] = 100
      时间计时5分钟
     $game_variables[1] = 0
    end
PS:期间角色可以行动!!!
红色部分应当怎么写?{/fd}{/fd}
作者: 66rpg学习    时间: 2009-5-16 01:15
提示: 作者被禁止或删除 内容自动屏蔽
作者: 失去的记忆    时间: 2009-5-16 01:24
def update 是刷新的意思是吧!{/fd}{/fd}
那如果我自己想在公共事件中写脚本应当怎么办?{/gg}
还有我想知道像这样的“刷新数据”在哪个脚本中添加是最好的!!{/cy}
作者: 66rpg学习    时间: 2009-5-16 01:29
提示: 作者被禁止或删除 内容自动屏蔽
作者: 失去的记忆    时间: 2009-5-16 01:48
谢谢楼上回答!上班的时候哈能认证回答,难得啊!!{/wx}{/cy}
不过我看得迷迷糊糊的,一点也看不懂!!!{/bz}{/bz}
就比如我的帖子里说的那段脚本应当怎么写呢? 在哪地方添加刷新比较好呢?
作者: 66rpg学习    时间: 2009-5-16 02:54
提示: 作者被禁止或删除 内容自动屏蔽
作者: 失去的记忆    时间: 2009-5-16 03:01
再次感谢LS!
这样吧你看看这个链接:
http://rpg.blue/viewthread.php?t ... 5%2D15+18%3A59%3A37
也是我提的问题,就是想知道怎么解决这个问题而发这个帖子的!道理是相同的!{/fd}{/fd}
作者: 魔神之影    时间: 2009-5-16 03:09
if $game_variables[1] == 100
   $game_variables[2] += 1
  if $game_variables[2] == 1200
  $game_variables[1] = 0
  $game_variables[2] = 0
  end
end
然后扔到 Scene_Map 47行以下
不过要多个判断时间的变量,一秒等于40帧。
作者: 失去的记忆    时间: 2009-5-16 03:21
LS的 啥啥啥啊? 完全晕菜! 说就说玩哈!怎么还留一句不说呢?{/kuk}
我想知道的就是这个时间变量用脚本怎么加。。。{/fd}{/fd}
作者: 魔神之影    时间: 2009-5-16 03:27
脚本我无能的很,最多修修改改。要是追求效果就按上面我说的用。
要我写一套完整独立的,我根本没戏了。
我用的是变量来判断时间,不是用计时器。不过你可以给计时器设置同样的时间来追求同步。
想要同时使用计时器来判断的话,就参考2楼。
作者: 66rpg学习    时间: 2009-5-16 03:34
提示: 作者被禁止或删除 内容自动屏蔽
作者: 魔神之影    时间: 2009-5-16 03:37
以下引用66rpg学习于2009-5-15 19:34:04的发言:

汗。。。还能这么算?佩服
请问阁下 如果我的电脑非常卡 工程非常大 每秒只能30多针 怎么办呢? 或者 一会不卡一会卡呢。。。
还是用计时器最靠谱吧


……如果你机器很卡。那么计时器也是一样的,同样的是内部时间判断。你可以自己做下实验。
作者: 66rpg学习    时间: 2009-5-16 03:41
提示: 作者被禁止或删除 内容自动屏蔽
作者: 天使喝可乐    时间: 2009-5-16 04:09
LZ这么麻烦就是为了不用并行处理的公共事件?
是怕占内存吗?告诉你 这么用脚本更浪费内存
作者: 失去的记忆    时间: 2009-5-16 04:34
以下引用天使喝可乐于2009-5-15 20:09:32的发言:

LZ这么麻烦就是为了不用并行处理的公共事件?
是怕占内存吗?告诉你 这么用脚本更浪费内存

第一次听说脚本比事件更占用内存!!!!{/fd}{/fd}
算了,实在不行就只能用并行处理了!!{/fn}{/fn}
再等等看有高手没{/cy}{/cy}
作者: 66rpg学习    时间: 2009-5-16 05:46
提示: 作者被禁止或删除 内容自动屏蔽
作者: 紫苏    时间: 2009-5-16 05:55
常用的有三种:
1、66rpg学习的方法,用 Grphics 中每帧增加的静态变量判断,事件的计时器就是这样实现的,窗口失去焦点时不再刷新;

2、开始计时时初始化一个 Time 系统时间对象,然后再反复判断当前时间和这个对象的差值,就可以达到计时的效果;

3、自开线程,让一个变量 ++,然后睡眠 1 秒,也是一个计时的过程,参考
http://rpg.blue/viewthread.php?tid=122139&ntime=2009%2D5%2D15+21%3A55%3A16

无论哪种方法,都无法避过程序“并行”判断的本质~
作者: 66rpg学习    时间: 2009-5-16 05:58
提示: 作者被禁止或删除 内容自动屏蔽
作者: 失去的记忆    时间: 2009-5-16 06:03
啊 调用系统时间?? 也对啊!{/fd}{/fd}
可是怎么调用。。。{/gg}{/gg}
作者: 66rpg学习    时间: 2009-5-16 06:07
提示: 作者被禁止或删除 内容自动屏蔽
作者: 失去的记忆    时间: 2009-5-16 06:14
LS的你这的这个脚本我看得有点迷糊! 你这个是已进入游戏就开始倒计时10秒!
那如果我想在事件中调用计时应当怎么改?
就是加个计时器触发条件开关而已!{/cy}
可是怎么加!{/fd}
作者: 66rpg学习    时间: 2009-5-16 06:40
提示: 作者被禁止或删除 内容自动屏蔽
作者: 失去的记忆    时间: 2009-5-16 06:46
哇哇哇! 太详细了! 除了用鸟语 Thank you very much 外,
我无法表达对你的感谢!! {/qiang}去睡觉了! {/cy}早点睡哦! 再见{/wx}
P:睡觉之前问一句,这样和公共事件中的并行处理有区别吗??

作者: 失去的记忆    时间: 2009-5-16 16:00
一夜就这么的过去啦! 可是我的问题。。。{/fd}{/fd}
算了,继续去试验!!{/wx}{/wx}




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