Everything else would need to be dealt with on an individual basis.
"Notetags" themselves don't do anything since they are just strings. It's when a note-tag causes a script to run certain pieces of code which are vulnerable to infinite loops.
There are several pieces of vulnerable code in the default project that would run into issues if you are not careful, particularly the "refresh" methods in Game_BattlerBase which are called during the initialization: if you happen to need to refresh while it is refreshing, well, there's your infinite loop.
The Class Graphics script, for example, is vulnerable to this refresh problem.
I've caught some cases, but there could be more issues that I didn't think of.
when i replace this with main
#==============================================================================
# ** Main
#------------------------------------------------------------------------------
# This processing is executed after module and class definition is finished.
#==============================================================================
begin
rgss_main do
begin
SceneManager.run
rescue RGSSReset
Graphics.transition(10)
retry
end
end
rescue SystemExit
exit
rescue Exception => error
scripts_name = load_data('Data/Scripts.rvdata2')
scripts_name.collect! {|script| script[1] }
backtrace = []
error.backtrace.each_with_index {|line,i|
if line =~ /{(.*)}(.*)/
backtrace << (scripts_name[$1.to_i] + $2)
elsif line.start_with?(':1:')
break
else
backtrace << line
end
}
error_line = backtrace.first
backtrace[0] = ''
print error_line, ": ", error.message, " (#{error.class})", backtrace.join("\n\tfrom "), "\n"
raise error.class, "Error ocurred, check the debug console for more information.", [error.backtrace.first]
end
like you do it says i get "Game_ActionResult:38"