Changelog# v1.02a(GMT 0100 27-10-2015): |
# 1. Lets uers set the conditions and labels for tracing objects |
# v1.01b(GMT 1300 13-7-2015): |
# 1. Fixed not tracing klass linked to klass linked to queried object bug |
# 2. Fixed some Script Call Info and Implementation documentation typos |
# 3. Added more info in Prerequisites and Script Call Info |
# 4. Increased this script's compactness |
# v1.01a(GMT 1300 6-7-2015): |
# 1. Instance methods can be traced as well |
# 2. Increased this script's compactness and readability |
# v1.00b(GMT 0800 1-7-2015): |
# 1. Fixed object having Range and/or Structs not tracing klass properly bug|
# v1.00a(GMT 1200 27-6-2015): |
# 1. 1st version of this script finished |
AuthorDoubleX
CreditsDoubleX(Optional)
PurposeTraces all objects belonging to a queried class linked to a queried object
Designed as a bug diagnosis tool used by scripters with debug experience
Exampleobj.inspect
200 Scripts 30 Scripters Inspect Example 1obj.trace_obj(Proc); obj.obj_trace[Proc].inspect
200 Scripts 30 Scripters Obj Trace Proc Example 1
Configurations
#--------------------------------------------------------------------------|
# Object Trace Condition Method |
# - Setups cond used by trace_obj(cond, label) |
#--------------------------------------------------------------------------|
# cond must be the symbol of a method taking the currently traced object as
# the only arguement
# The below examples are added to help you setup your own cond methods
# Checks if the currently traced object belongs to klass
def self.cond_klass(obj)
obj.is_a?(klass)
end # cond_klass
# Add your own cond methods here
#--------------------------------------------------------------------------|
# Object Trace Label Method |
# - Setups label used by trace_obj(cond, label) |
#--------------------------------------------------------------------------|
# label must be the symbol of a method taking the currently traced object as
# the only arguement
# The below examples are added to help you setup your own label methods
# Labels all traced objects using their class symbol
def self.label_klass(obj)
:"#{obj.class}"
end # label_klass
# Add your own label methods here
Script Calls# * Object manipulations |
# 1. trace_obj(cond, label) |
# - Traces all objects meeting cond method linked to this object |
# - Labels all traced objects using label method |
# - cond and label are method symbols in Object Trace Condition Method |
# and Object Trace Label Method respectively |
# 2. obj_trace[cond] |
# - Returns all traced objects meeting cond method linked to this object |
# - cond is a method symbol in Object Trace Condition Method |
# 3. (v1.01a+)trace_idef |
# - Traces all instance methods linked to this object |
# 4. (v1.01a+)idef_trace |
# - Returns the trace of all instance methods linked to this object |
PrerequisitesAbilities:
1. Basic knowledge of inspecting objects in Ruby
2. Some RGSS3 scripting proficiency to fully utilize this script
Terms Of UseYou shall:
1. Keep this script's Script Info part's contents intact
You shalln't:
1. Claim that this script is written by anyone other than DoubleX or his aliases
None of the above applies to DoubleX or his/her aliases
InstructionsOpen the script editor and put this script into an open slot between Materials and Main. Save to take effect.