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

Project1

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

[讨论] XP的奇怪现象...(有可能我还不完全了解RGSS)

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
129 小时
注册时间
2009-3-29
帖子
432
跳转到指定楼层
1
发表于 2011-4-16 16:27:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
今天在写一个脚本,从头到尾很顺利,但是到最后测试的时候发现个很是奇怪的现象
那就是:自定义一个全局变量$bianliang,然后判断
  1. $bianliang = false
  2. if $bianliang
  3.    p 888
  4. end
复制代码
类似于这样的,但是 不完全是!
测试发现没反应.........


然后无奈 改为
  1. if $game_switches[1]
  2.    p 888
  3. end
复制代码
嘿!这次可以了!各位大大看看有什么见解吗?

你可能不明白我在说啥,举个简单的例子:
就是在事件中插入一句脚本“$bianliang = false”,然后发现事件卡那了!!!!


但是直接操作开关就没事,不知道这是怎么会事!!!

PS:事件脚本把事件卡住了是什么原因造成的???
     顺便问一下,如果一个变量:$a = 3,如果我想在这个变量发生改变的时候执行一句脚本应该怎么写??
类似于:if $a.changed? 这样的代码有吗??
做一个游戏也用这么长时间........
PS:说我自己呢

Lv1.梦旅人

梦石
0
星屑
55
在线时间
323 小时
注册时间
2010-8-21
帖子
666
2
发表于 2011-4-16 17:07:34 | 只看该作者
回复 失去的记忆 的帖子

1.解释器bug(也不能算)
    result = eval(script)
   # 返回值为 false 的情况下
    if result == false
      # 结束
      return false
    end
      # 尝试执行事件列表、返回值为 false 的情况下
      if execute_command == false
        return
      end
      # 推进索引
      @index += 1

没有"推进索引"会反复执行 $bianliang = false
解决方法:

$bianliang = false
true

让其返回true即可
2:
先$b = $a
若在事件里,加个独立开关,让它不再执行

用的时候
if $b != $a
XXXXXXXXX
end就好了
>>猛戳>>MetalSagaR游戏主页<<这里<<
欢迎提供您的意见
回复 支持 反对

使用道具 举报

Lv2.观梦者

虚構歪曲

梦石
0
星屑
309
在线时间
1194 小时
注册时间
2010-12-18
帖子
3928

贵宾

3
发表于 2011-4-16 17:53:50 | 只看该作者
  1. $bianliang = false
  2. return
复制代码
= = ……如果不对的话无视我吧。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

酱油的

梦石
0
星屑
975
在线时间
2161 小时
注册时间
2007-12-22
帖子
3271

贵宾

4
发表于 2011-4-17 01:28:43 | 只看该作者
本帖最后由 禾西 于 2011-4-17 01:30 编辑

這個是bug來的,以前說過了。事件使用的腳本最後一行一定要是
  1. true
复制代码
沉影還是wy做過討論的- -
不做頭像做簽名,看我囧冏有神(多謝山人有情提供 )
回复 支持 反对

使用道具 举报

Lv3.寻梦者

小柯的徒弟

梦石
0
星屑
1440
在线时间
1157 小时
注册时间
2008-5-24
帖子
3085

贵宾

5
发表于 2011-4-17 11:37:22 | 只看该作者
0 0各位可以告诉我那个到底有什么用途嘛?有时被那个烦到都是直接选择消灭它的~~
回复 支持 反对

使用道具 举报

Lv2.观梦者

虚構歪曲

梦石
0
星屑
309
在线时间
1194 小时
注册时间
2010-12-18
帖子
3928

贵宾

6
发表于 2011-4-17 11:59:44 | 只看该作者
禾西 发表于 2011-4-17 01:28
這個是bug來的,以前說過了。事件使用的腳本最後一行一定要是沉影還是wy做過討論的- - ...

不是一定吧?……
有时候也不会死掉的……
我试过的只有改窗口的visible的时候……
加了个return true就可以了(II说的……)
然后又改成了return也可以……
回复 支持 反对

使用道具 举报

Lv3.寻梦者

酱油的

梦石
0
星屑
975
在线时间
2161 小时
注册时间
2007-12-22
帖子
3271

贵宾

7
发表于 2011-4-17 12:20:13 | 只看该作者
回复 忧雪の伤 的帖子

啊,應該說,最後一行不能是 false 比較準確= =

点评

啊……没错啦,就是改visible为false就卡住了……  发表于 2011-4-17 12:21
不做頭像做簽名,看我囧冏有神(多謝山人有情提供 )
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6695
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

8
发表于 2011-4-17 15:42:27 | 只看该作者
这个问题只出现于 1 行脚本的情况下.
1.
事件里插入脚本指令
p 123
@wait_count = 80
false
再插入一个脚本指令
p 456

然后运行 先出现 123  过一会就出现 456

2.
事件指令插入脚本
p 123;@wait_count = 80;false
再插入一个脚本指令
p 456

然后运行.只会出现 123

事件指令的BUG我记得谁总结过 忘记了 好像是 DeathKing ? 记不太清楚了











你知道得太多了

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
129 小时
注册时间
2009-3-29
帖子
432
9
 楼主| 发表于 2011-4-17 18:11:04 | 只看该作者
感谢各位的捧场,至于原因我想我已经明白了,解释器BUG。。。
大不了以后不用事件脚本,或者事件脚本叫上true吧...嘿嘿
做一个游戏也用这么长时间........
PS:说我自己呢
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

精灵族の天使

梦石
0
星屑
1697
在线时间
3038 小时
注册时间
2007-3-16
帖子
33731

开拓者贵宾

10
发表于 2011-4-18 07:57:14 | 只看该作者
我都是果断的插入等待1帧来继续让脚本运行……

点评

多谢精灵大人!  发表于 2011-4-20 16:32
这个早已经在某柳的时代就已经成规则了,怎么大家都没发现呐?  发表于 2011-4-19 08:43
强悍!!我咋没想到呢?  发表于 2011-4-18 17:17
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-18 20:13

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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