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

Project1

 找回密码
 注册会员
搜索
查看: 5773|回复: 9

[讨论] RGSS1一些BUG 欢迎补充~

[复制链接]

Lv5.捕梦者

梦石
0
星屑
31679
在线时间
5077 小时
注册时间
2012-11-19
帖子
4877

开拓者

发表于 2015-2-4 12:16:58 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 恐惧剑刃 于 2015-3-26 20:47 编辑


芯☆淡茹水



       玩RM两年多,个人发现些RM的一些小瑕疵。当然这些瑕疵无关大局,只是有些觉得别扭,有些
又觉得不合常理,有些可能降低游戏的耐玩性,,,,

      个人提出发现的两点所谓的“瑕疵”,RMer 有空时可以改进这些弊端,当然也可以提出自己发现的
不合理的地方。

      1,载入新地图时,事件的初始化。
           比如某个打酱油的NPC,设置为随机移动。无论其随机移动到哪儿,切换地图后,再切换回来,这
        个NPC始终在初始位置。

           又比如一个明雷怪,追主角都追到换场景的门口了,主角换场景后,又改变主意回去消灭这个怪,于
       是地图又切换回来。嘛~~,怪呢,,?不是刚刚都追到门口了么?(初始化地图事件,怪已经在初始位置)。


      2,敌人队伍的单一化 。
          虽然说敌人队伍可以自由搭配,位置可以随意调。但想要弄出多变的队伍,会加重的作者的负担。队伍太少
       的话,又会觉得非常枯燥(嘛~,每次都是这几个XX,吾眼角膜都看起茧疤了)。

          个人想法:敌人队伍出现的敌人随机,个数随机(当然与角色队伍人数成比例,1V8不是那么好玩的),敌人
       位置先定义好1~8号位的坐标,然后随机。作者只需要把将要随机出的敌人添加到敌人队伍即可。


RyanBern


使用“脚本”命令写返回值为nil或false的表达式,例如写$game_switches[1] = false,而后面什么也不做的话,游戏会卡死。
解决方法:by RyanBern
脚本下随便打一些空格或者“#”
解决方法:by 精灵使者
1.脚本最后一行命令一定要写单独的true
2.脚本命令后面追加等待1帧后再执行其他事件



恐惧剑刃


使用物品提升MAXHP或者MAXSP,让角色先离开队伍,然后再加入队伍并且勾选“初始化”,会出现HP SP大于 MAXHP MAXSP的现象!
解决方法
找到Game_Actor将setup中@maxhp_plus = 0 和 @maxsp_plus = 0 剪切到 @hp = maxhp 之前


欢迎补充~

评分

参与人数 2星屑 +30 梦石 +1 收起 理由
化螺耕 + 30 精品文章
恐惧剑刃 + 1 精品文章

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2207
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

发表于 2015-2-4 12:43:19 | 显示全部楼层
1. https://rpg.blue/thread-368836-1-1.html

2. 私以为 999 个敌群已经足够用了。设置敌群负担并不重。

点评

随机敌人队伍的话,至少说同一个战斗事件,有N种变化。没有了那种“又是你”的赶脚。  发表于 2015-2-4 12:52
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
31679
在线时间
5077 小时
注册时间
2012-11-19
帖子
4877

开拓者

 楼主| 发表于 2015-2-4 12:56:50 | 显示全部楼层
taroxd 发表于 2015-2-4 12:43
1. https://rpg.blue/thread-368836-1-1.html

2. 私以为 999 个敌群已经足够用了。设置敌群负担并不重 ...

至于事件储存,本人是仿照 Game_Actors 把事件整个储存,场景转换时执行储存。

点评

也可以在储存之前把 暂时消失 全部关掉。  发表于 2015-2-4 14:08
这样,“暂时消除事件”一指令就会废掉。建议离开地图时仅存储位置,然后载入地图后仍然应用setup方法,并统一修改位置即可。  发表于 2015-2-4 14:05
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

梦石
0
星屑
9467
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

发表于 2015-2-4 13:16:30 | 显示全部楼层
我再补充几个:
3.事件中可以更改“禁止遇敌”,此指令执行过后,在地图上就不会遇到暗雷敌人。但是设置“禁止遇敌”之后,主角在此地图上溜达了一会,再关闭这个效果,则主角必定在下一步遇敌。原因是在“禁止遇敌”生效时,遇敌步数依然累计,只是跳过了战斗处理的那部分。应该有时间修改下。这一点引用自牛排的考场第四期、
4.使用“脚本”命令写返回值为nil或false的表达式,例如写$game_switches[1] = false,而后面什么也不做的话,游戏会卡死。虽然已经有了解决方法,但是仍然算RGSS的BUG。

点评

不会出现 3 情况的,会生成新的步数。  发表于 2015-2-5 17:51
3在VA中也修正了  发表于 2015-2-4 14:04
3 在某期的考场貌似有这个问题。  发表于 2015-2-4 13:46
4 在 VA 中已经修正,VX 不清楚  发表于 2015-2-4 13:20

评分

参与人数 1星屑 +200 收起 理由
恐惧剑刃 + 200 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
31679
在线时间
5077 小时
注册时间
2012-11-19
帖子
4877

开拓者

 楼主| 发表于 2015-2-4 14:14:12 | 显示全部楼层
本帖最后由 芯☆淡茹水 于 2015-2-4 14:18 编辑

关于 敌人队伍随机 的问题,刚依照想法做了一个。
测试时有一句感概:这个真适合懒人,做敌人队伍时只需要把需要出现的敌人添加一个到队伍里就行了。
不知道还有其他一些没有想到的东西,比如冲突,BUG 什么的。

Project1.zip (202.59 KB, 下载次数: 95)

点评

如果用了 真.战斗移位 的战斗的话, 对方的普通攻击有问题,,,你应该能想到是啥情况。  发表于 2015-6-29 19:09
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

精灵族の天使

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

开拓者贵宾

发表于 2015-2-4 16:15:12 | 显示全部楼层
本帖最后由 精灵使者 于 2015-2-4 16:18 编辑

1,载入新地图时,事件的初始化。
           比如某个打酱油的NPC,设置为随机移动。无论其随机移动到哪儿,切换地图后,再切换回来,这
        个NPC始终在初始位置。

           又比如一个明雷怪,追主角都追到换场景的门口了,主角换场景后,又改变主意回去消灭这个怪,于
       是地图又切换回来。嘛~~,怪呢,,?不是刚刚都追到门口了么?(初始化地图事件,怪已经在初始位置)。

这个很简单。在移动之前做一个处理,用两个变量记录下事件的xy坐标
然后移动回来的时候,自动处理事件【移动事件,X,Y】,然后暂时消除事件。
这样即使是你初始化过,事件依然是移动的位置上。
缺点是,首次进入地图的时候【之前】需要设定好坐标什么的。
这个方法对所有版本都有效,纯事件,不含防腐剂

4.使用“脚本”命令写返回值为nil或false的表达式,例如写$game_switches[1] = false,而后面什么也不做的话,游戏会卡死。虽然已经有了解决方法,但是仍然算RGSS的BUG。
精灵有两个解决方法。
1.脚本最后一行命令一定要写单独的true
2.脚本命令后面追加等待1帧后再执行其他事件

点评

变量有9999个,应该足够使用了。另外温馨提示:使用脚本的话,可以突破变量上限  发表于 2015-2-4 17:06
↓问题是:这张地图用来记录NPC坐标的变量,不可能再用来记录另一张地图的NPC,所以说只能计算整个游戏。  发表于 2015-2-4 17:01
另外设定怪物位置的事件不在公共事件里,而是在地图里  发表于 2015-2-4 16:56
你不要计算游戏……你算一张地图的就OK。除了变量消耗有些大  发表于 2015-2-4 16:55
表示工作量颇大。不算固定NPC,一个游戏至少,有多少个随机移动的NPC?再乘以2,,,,做明雷怪的就更惨了。  发表于 2015-2-4 16:52

评分

参与人数 1星屑 +200 收起 理由
恐惧剑刃 + 200 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2207
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

发表于 2015-2-4 19:06:12 | 显示全部楼层
精灵使者 发表于 2015-2-4 16:15
1,载入新地图时,事件的初始化。
           比如某个打酱油的NPC,设置为随机移动。无论其随机移动到哪儿 ...

为什么不直接进攻事件解释器,强行加上一个 true 呢……?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

薄凉看客

梦石
0
星屑
50
在线时间
1269 小时
注册时间
2010-6-20
帖子
1316
发表于 2015-2-4 20:09:15 | 显示全部楼层
本帖最后由 恐惧剑刃 于 2015-2-4 20:10 编辑

4.使用“脚本”命令写返回值为nil或false的表达式,例如写$game_switches[1] = false,而后面什么也不做的话,游戏会卡死。虽然已经有了解决方法,但是仍然算RGSS的BUG。

这个BUG我早在13年就已经发现了。。当时找不到解决方法。

我推荐一种解决方法:

找到 Interpreter 1
  1. if execute_command == false
复制代码
改为
  1. if execute_command == false and not @list[@index + 1]
复制代码
据我估计 应该是无限false而只有true才会继续执行所以。。卡死

点评

可以,不过多打两个#也不算啥麻烦事  发表于 2015-2-4 20:40
不能让 execute_command 在解释脚本指令的时候强行返回 true 么- - 我没看过XP脚本不清楚  发表于 2015-2-4 20:33
好神奇  发表于 2015-2-4 20:17
$game_switches[1] = false ; ####随便加个注释就好了,此BUG不改凑合用也可以  发表于 2015-2-4 20:13
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
375
在线时间
602 小时
注册时间
2014-5-8
帖子
699
发表于 2015-2-21 20:48:37 | 显示全部楼层
1,载入新地图时,事件的初始化。
           比如某个打酱油的NPC,设置为随机移动。无论其随机移动到哪儿,切换地图后,再切换回来,这
        个NPC始终在初始位置。

           又比如一个明雷怪,追主角都追到换场景的门口了,主角换场景后,又改变主意回去消灭这个怪,于
       是地图又切换回来。嘛~~,怪呢,,?不是刚刚都追到门口了么?(初始化地图事件,怪已经在初始位置)。


---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

早都有解决的方法了
RUBY 代码复制
  1. #=============================================================================
  2. # 简易地图记忆功能
  3. #-----------------------------------------------------------------------------
  4. # By:RyanBern
  5. #=============================================================================
  6.  
  7. #=============================================================================
  8. # 说明
  9. #-----------------------------------------------------------------------------
  10. # 切换地图后,重新进入地图会重新装载一遍地图,导致事件还在原位。这里经过简单
  11. # 修改可使得某些地图的事件位置信息会保存下来。
  12. #=============================================================================
  13.  
  14. # 需要记忆的地图 ID,如果需要记忆1号地图和2号地图,就在方括号里面输入1,2
  15. # 例如 MAPS_NEED_MEMORIZE = [1,2]
  16. MAPS_NEED_MEMORIZE = []
  17.  
  18. # 用于储存所记忆地图的变量 ID,这是为了地图信息能保存到下次读档之后,注意,一
  19. # 旦设置了某变量用于记忆地图,则此变量不可作为他用(即不能出现在事件操作或者
  20. # 事件出现条件中)。例如,将1号变量用于储存记忆地图,则写 MEMORIZED_POS = 1
  21. MEMORIZED_POS = 1
  22.  
  23. class Game_Map
  24.   alias ryan_setup setup
  25.   def setup(map_id)
  26.     unless $game_variables[MEMORIZED_POS].is_a?(Hash)
  27.       $game_variables[MEMORIZED_POS] = {}
  28.     end
  29.     if MAPS_NEED_MEMORIZE.include?($game_map.map_id)
  30.       $game_variables[MEMORIZED_POS][$game_map.map_id] = $game_map.clone
  31.     end
  32.     if $game_variables[MEMORIZED_POS].include?(map_id)
  33.       $game_map = $game_variables[MEMORIZED_POS][map_id]
  34.       return
  35.     end
  36.     ryan_setup(map_id)
  37.   end
  38. end
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1546
在线时间
625 小时
注册时间
2010-8-5
帖子
451
发表于 2015-6-29 19:11:41 | 显示全部楼层
芯☆淡茹水 发表于 2015-2-4 14:14
关于 敌人队伍随机 的问题,刚依照想法做了一个。
测试时有一句感概:这个真适合懒人,做敌人队伍时只需要 ...

和 真.战斗移位 有冲突吧,算是。。。敌人普通攻击的话会不正常。
另外 暗雷的话,做随机战斗队伍的话,怎么处理。
这个想法其实不错,能把这两个给完善就更不错了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-3-28 19:19

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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