Project1

标题: 关于玩游戏时碰到的问题 [打印本页]

作者: wzh611    时间: 2020-9-3 20:14
标题: 关于玩游戏时碰到的问题
本帖最后由 wzh611 于 2020-9-3 22:52 编辑

[小白求助] 昨晚在玩一款游戏最精彩部分的时候,突然显示报错,本来以为会像是word一样会显示错误的地方 然后百度一波就能修复了,但是好像并不是这样,用了龙头maker看了一哈发现根本就看不懂。听朋友说这里大神蛮多的特地来求助一下,毕竟这种玩一半报错是最难受的。

(3.41 KB, 下载次数: 30)

9D4ZXHG_D7Q)9LRSTL5~O%T.png (4.64 KB, 下载次数: 29)

9D4ZXHG_D7Q)9LRSTL5~O%T.png

9JO{[XENHC5B_N_V4O$XYB1.png (8.22 KB, 下载次数: 28)

9JO{[XENHC5B_N_V4O$XYB1.png

U9TM6ROO}KC0`N`DL{HSS8O.png (4.75 KB, 下载次数: 34)

U9TM6ROO}KC0`N`DL{HSS8O.png

YJ3K4P`MLWY`[QPB39IR~UC.png (5.75 KB, 下载次数: 32)

YJ3K4P`MLWY`[QPB39IR~UC.png

作者: wzh611    时间: 2020-9-3 20:17
我也不知道截图该截些啥 就把错误里头的截下来了
作者: alexncf125    时间: 2020-9-3 20:36
某事件用的事件脚本少了个)号
作者: wzh611    时间: 2020-9-3 21:08
alexncf125 发表于 2020-9-3 20:36
某事件用的事件脚本少了个)号

那我该怎么找呐 有什么方法 在哪找啊

作者: hyrious    时间: 2020-9-5 10:03
可以在 Main 前添加下面的脚本,打开显示控制台并进游戏触发一下报错,出错的时候报错信息和相关的事件位置会显示在控制台里

  1. # coding: utf-8
  2. #==============================================================================
  3. # FullError.rb
  4. #==============================================================================
  5. # @plugindesc Show full backtrace when error occurs.
  6. # @author hyrious
  7. #
  8. # @help This plugin does not provide plugin commands.

  9. # @mod rgss_main
  10. alias _full_error_rgss_main rgss_main
  11. def rgss_main(*args, &blk)
  12.   _full_error_rgss_main(*args, &blk)
  13. rescue Exception => e
  14.   puts "#{e.class}: #{e.message}"
  15.   e.backtrace.each do |c|
  16.     break if c.start_with?(':1:')
  17.     if parts = c.match(/^(?<file>.+):(?<line>\d+)(?::in `(?<code>.*)')?$/)
  18.       next if parts[:file] == __FILE__
  19.       cd = Regexp.escape(File.join(Dir.getwd, ''))
  20.       file = parts[:file].sub(/^#{cd}/, '')
  21.       if inner = file.match(/^\{(?<rgss>\d+)\}$/)
  22.         id = inner[:rgss].to_i
  23.         file = "[#{$RGSS_SCRIPTS[id][1]}]"
  24.       end
  25.       code = parts[:code] && ": #{parts[:code]}"
  26.       puts "   #{file} #{parts[:line]}#{code}"
  27.     else
  28.       puts "   #{c}"
  29.     end
  30.   end
  31.   rgss_stop
  32. end

  33. class Game_Interpreter
  34.   # @mod Game_Interpreter#command_355
  35.   alias _full_error_command_355 command_355
  36.   def command_355
  37.     begin
  38.       _full_error_command_355
  39.     rescue Exception => e
  40.       event = get_character(0)
  41.       name = event.instance_variable_get(:@event).name
  42.       print "at map #@map_id #{$game_map.display_name}"
  43.       puts ", event #@event_id #{name} (#{event.x}, #{event.y})"
  44.       raise
  45.     ensure
  46.       [email protected] if $@
  47.     end
  48.   end
  49. end
复制代码

作者: wzh611    时间: 2020-9-7 01:41
本帖最后由 wzh611 于 2020-9-7 16:45 编辑
hyrious 发表于 2020-9-5 10:03
可以在 Main 前添加下面的脚本,打开显示控制台并进游戏触发一下报错,出错的时候报错信息和相关的事件位置 ...


NoMethodError: undefined method `name' for nil:NilClass
   [Game_Interpreter] 196: execute_command
   [Game_Interpreter] 102: run
   [Game_Interpreter] 59: block in create_fiber           不懂这是什么意思诶...或者说该怎么修改呢
作者: wzh611    时间: 2020-9-17 16:16
有人嘛。。




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