Problem:
Game_Interpreter Line 1411 is usually a bane or our existence. It's an error that points out to Game_Interpreter line 1411, which it's on its own has nothing to do with the error. it just a line that handles the script call, and even
the full backtracer usually
don't print the full stack error for script call.
Solution:
I made a shared method that works as a method on its own, not script call. So the error tracing works properly. Performance-wise, it MIGHT hit a little more to the script call. So, it might best to only use this for debugging.
This is the only code you need and
it does not automatically solve your problem. It just to for better tracking.
Code:
- class Game_Interpreter
-
- def command_355
- script = @list[@index].parameters[0] + "\n"
- while next_event_code == 655
- @index += 1
- script += @list[@index].parameters[0] + "\n"
- end
- name = "command_ex"
- eval("create_method(:#{name}) {#{script}}")
- method(name).call
- end
-
- def create_method(name, &block)
- self.class.send(:define_method, name, &block)
- end
-
- end
复制代码
How did I test this?
I made two slots of script
- Game_Interpreter: is my snippet above
- Faulty: where the error happens. it basically just
And the last, I test it with a simple script call
Without my script, it goes like this
With my script, it goes like this
Terms of Service:
Why would you even bother to put ToS for debugging tools? Do whatever you want.
Yes, it means free for everything.
本贴来自国际rpgmaker官方论坛作者:TheoAllen处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:
https://forums.rpgmakerweb.com/threads/a-better-game_interpreter-line-1411-error-backtracer.112849/