Project1

标题: RGSS1一些BUG 欢迎补充~ [打印本页]

作者: 芯☆淡茹水    时间: 2015-2-4 12:16
标题: RGSS1一些BUG 欢迎补充~
本帖最后由 恐惧剑刃 于 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 之前


欢迎补充~


作者: taroxd    时间: 2015-2-4 12:43
1. https://rpg.blue/thread-368836-1-1.html

2. 私以为 999 个敌群已经足够用了。设置敌群负担并不重。
作者: 芯☆淡茹水    时间: 2015-2-4 12:56
taroxd 发表于 2015-2-4 12:43
1. https://rpg.blue/thread-368836-1-1.html

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

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

作者: 芯☆淡茹水    时间: 2015-2-4 14:14
本帖最后由 芯☆淡茹水 于 2015-2-4 14:18 编辑

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

Project1.zip (202.59 KB, 下载次数: 95)
作者: 精灵使者    时间: 2015-2-4 16:15
本帖最后由 精灵使者 于 2015-2-4 16:18 编辑

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

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

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

4.使用“脚本”命令写返回值为nil或false的表达式,例如写$game_switches[1] = false,而后面什么也不做的话,游戏会卡死。虽然已经有了解决方法,但是仍然算RGSS的BUG。
精灵有两个解决方法。
1.脚本最后一行命令一定要写单独的true
2.脚本命令后面追加等待1帧后再执行其他事件
作者: taroxd    时间: 2015-2-4 19:06
精灵使者 发表于 2015-2-4 16:15
1,载入新地图时,事件的初始化。
           比如某个打酱油的NPC,设置为随机移动。无论其随机移动到哪儿 ...

为什么不直接进攻事件解释器,强行加上一个 true 呢……?
作者: 恐惧剑刃    时间: 2015-2-4 20:09
本帖最后由 恐惧剑刃 于 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-21 20:48
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

作者: jiahui5592986    时间: 2015-6-29 19:11
芯☆淡茹水 发表于 2015-2-4 14:14
关于 敌人队伍随机 的问题,刚依照想法做了一个。
测试时有一句感概:这个真适合懒人,做敌人队伍时只需要 ...

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




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