RMRK is retiring.
Registration is disabled. The site will remain online, but eventually become a read-only archive. More information.

RMRK.net has nothing to do with Blockchains, Cryptocurrency or NFTs. We have been around since the early 2000s, but there is a new group using the RMRK name that deals with those things. We have nothing to do with them.
NFTs are a scam, and if somebody is trying to persuade you to buy or invest in crypto/blockchain/NFT content, please turn them down and save your money. See this video for more information.
Note Editor

0 Members and 2 Guests are viewing this topic.

*
Rep:
Level 97
2014 Most Unsung Member2014 Best RPG Maker User - Engine2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Use of Avatar and Signature Space2011 Best RPG Maker User (Scripting)2011 Most Mature Member2011 Favourite Staff Member2011 Best Veteran2010 Most Mature Member2010 Favourite Staff Member
Note Editor
Version: 1.0
Author: modern algebra
Date: December 17, 2009

Version History


  • <Version 1.0> 12.17.2009 - Original Release

Description


This script allows you to edit the note field of an item with script calls in-game. This is useful for editing features of other scripts that use the note field for adding features; this will allow you to add those features as part of the gameplay. The edits will only apply within the same game file, so the note field will be clean whenever the player starts a new game. It does not overwrite the regular note field - anything written in note field in the database will be permanent in every save file.

Features

  • Allows you to add things to the note field
  • Useful when using scripts that use note fields, as you can add those features to things in-game
  • Can delete any of the added things from the note field - cannot alter the database note fields

Instructions

Paste this script into the editor below the default scripts but above Main

To use this script, simply use these codes in a call script:

  add_note (type, id, note)
    type : refers to the database tab you want to change the notes of. It is an integer, and broke down like this:
       0 => Item
       1 => Weapon
       2 => Armor
       3 => Skill
       4 => Enemy
       5 => State
    id   : the specific ID of the particular item, weapon, armor, skill, enemy, or state you want to edit the note field of.
    note : this is the string that you want to add to the note field.
 delete_note (type, id, note)
    type : same as for add_note
    id   : same as for add_note
    note : this is the note you want to delete. It can be either the  string itself, or it can be an integer if (and onlt if) you know the order it was added in - if you put in the integer 2 here, it will delete the third string you added to the item's note.

delete_note will only delete notes that have been added to the note field in-game - it will not delete notes you set in the database directly.

Script


Code: [Select]
#==============================================================================
#  Note Editor
#  Version: 1.0
#  Author: modern algebra (rmrk.net)
#  Date: December 16, 2009
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Description:
#
#    This script allows you to edit the note field of an item with script calls
#   in-game. This is useful for editing features of other scripts that use the
#   note field for adding features; this will allow you to add those features
#   as part of the gameplay. The edits will only apply within the same game
#   file, so the note field will be clean whenever the player starts a new
#   game. It does not overwrite the regular note field - anything written in
#   note field in the database will be permanent in every save file.
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Instructions:
#
#    Paste this script into the editor below the default scripts but above Main
#
#    To use this script, simply use these codes in a call script:
#
#       add_note (type, id, note)
#         type : refers to the database tab you want to change the notes of.
#               It is an integer, and broke down like this:
#                 0 => Item
#                 1 => Weapon
#                 2 => Armor
#                 3 => Skill
#                 4 => Enemy
#                 5 => State
#         id   : the specific ID of the particular item, weapon, armor, skill,
#               enemy, or state you want to edit the note field of.
#         note : this is the string that you want to add to the note field.
#       delete_note (type, id, note)
#         type : same as for add_note
#         id   : same as for add_note
#         note : this is the note you want to delete. It can be either the
#               string itself, or it can be an integer if (and onlt if) you
#               know the order it was added in - if you put in the integer 2
#               here, it will delete the third string you added to the item's
#               note.
#
#  delete_note will only delete notes that have been added to the note field
# in-game - it will not delete notes you set in the database directly.
#
#    EXAMPLES:
#      add_note (0, 1, "new \\ note")
#        This would add "new \ note" to the note field of a potion (first item)
#      add_note (4, 6, "Default wisp")
#        This would add "Default wisp" to the note field of the sixth enemy in
#         the database (coincidentally a willowisp by default)
#      delete_note (2, 45, "\\CG[Evil, 5]")
#        This would delete the note "\CG[Evil, 5]" from the note field of the
#         45th weapon in the database if it had been added in-game through the
#         add_note script. It would not delete it if you set it in the database
#         itself.
#==============================================================================

module RPG
#==============================================================================
# ** RPG::BaseItem
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    aliased method - note
#==============================================================================

class BaseItem
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Return Note
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias malgb_acigd_ntedit_7jb3 note
  def note (*args)
    type = case self
    when RPG::Item then 0
    when RPG::Weapon then 1
    when RPG::Armor then 2
    when RPG::Skill then 3
    end
    # Return Original Method + edited additions
    return malgb_acigd_ntedit_7jb3 (*args) + $game_system.ma_added_notes(type, self.id)
  end
end

#==============================================================================
# ** RPG::Enemy
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    aliased method - note
#==============================================================================

class Enemy
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Return Note
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias ma_asciigod_noteedit_enmy_5hv2 note
  def note (*args)
    # Return Original Method + edited additions
    return ma_asciigod_noteedit_enmy_5hv2 (*args) + $game_system.ma_added_notes(4, self.id)
  end
end

#==============================================================================
# ** RPG::State
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    aliased method - note
#==============================================================================

class State
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Return Note
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias modalg_gdasci_nted_stte_4xs2 note
  def note (*args)
    # Return Original Method + edited additions
    return modalg_gdasci_nted_stte_4xs2 (*args) + $game_system.ma_added_notes(5, self.id)
  end
end
end

#==============================================================================
# ** Game System
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    new instance variable - ma_note_edits
#    aliased method - initialize
#    new method - ma_add_note, ma_delete_note
#==============================================================================

class Game_System
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Object Initialization
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias modabra_ascod_init_ntedtr_8nn2 initialize
  def initialize (*args)
    @ma_note_edits = [ {}, {}, {}, {}, {}, {} ]
    # Run Original Method
    modabra_ascod_init_ntedtr_8nn2 (*args)
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Add Note
  #    type : the type of item (Item, Weapon, Armor, Skill, State, Enemy)
  #    id   : the ID of the specific item in its type
  #    note : the note you want to add
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def ma_add_note (type, id, note)
    @ma_note_edits[type][id] = [] if @ma_note_edits[type][id] == nil
    @ma_note_edits[type][id].push (note)
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Delete Note
  #    type : the type of item (Item, Weapon, Armor, Skill, State, Enemy)
  #    id   : the ID of the specific item in its type
  #    note : the note you want to delete
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def ma_delete_note (type, id, note)
    @ma_note_edits[type][id] = [] if @ma_note_edits[type][id] == nil
    note.is_a? (String) ? @ma_note_edits[type][id].delete (note) : @ma_note_edits[type][id].delete_at (note)
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Added Notes
  #``````````````````````````````````````````````````````````````````````````
  #  Returns the notes added to that item
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def ma_added_notes (type, id)
    return "" if @ma_note_edits[type][id] == nil
    note_string = ""
    @ma_note_edits[type][id].each { |note| note_string += "\n #{note}" }
    return note_string
  end
end

#==============================================================================
# ** Game Interpreter
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    new method - add_note, delete_note
#==============================================================================

class Game_Interpreter
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Add Note
  #    type : the type of item (Item, Weapon, Armor, Skill, State, Enemy)
  #    id   : the ID of the specific item in its type
  #    note : the note you want to add
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def add_note (type, id, note)
    $game_system.ma_add_note (type, id, note)
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Delete Note
  #    type : the type of item (Item, Weapon, Armor, Skill, State, Enemy)
  #    id   : the ID of the specific item in its type
  #    note : the note you want to delete
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def delete_note (type, id, note)
    $game_system.ma_delete_note (type, id, note)
  end
end

Credit


  • modern algebra

Thanks

  • ASCIIGod, for the request

Support


Please post in this topic in RMRK for support. Do not PM me

Known Compatibility Issues

Spoiler for General Compatibility Patch:
Many, many scripts interpret notes only once upon the start of the game. This confounds the purpose of the Note Editor, as the changes to the notes will only impact the relevant scripts the next time the player starts up the game. Thus, I wrote this General Compatibility patch in an effort to take a number of the popular scripts that do this and "reset" the values whenever a note is changed, in order that the changes desired may take effect immediately. I apologize for its length, but I had to individually accomodate each script, and there are a lot of scripts as you will see.

The following scripts that do this are made compatible by this patch: (Note that this list only includes scripts that would not, by default, work properly with the Note Editor. The fact that a particular script is not included here does not imply that it is incompatible, as it may by compatible by default).
  • Actor-Specific Item Effects, by modern algebra
  • Advanced State Probability, by Mithran
  • Apply State Equipment, by modern algebra
  • Critical Skills, by Mithran
  • Cursed Equipment, by modern algebra
  • Element Efficiency States, by modern algebra
  • Grid Inventory, by modern algebra
  • KGC Categorize Item
  • KGC Categorize Skill
  • KGC Equip Extension
  • KGC Hidden Skill
  • KGC Item Drop Expansion
  • KGC Learn Skill By State
  • KGC Limit Break
  • KGC Overdrive
  • KGC Rate Damage
  • KGC Reproduce Functions
  • KGC Reverse Damage State
  • KGC Slip Damage Extension
  • KGC Steal
  • KGC Usable Equipment
  • Learn Skills By Use, by modern algebra
  • Minto's Monster Collapse, by modern algebra
  • Monster Catalogue, by modern algebra
  • Revive State, by modern algebra
  • Skill Functions, by Mithran
  • SSS Break Max Stats, by Shanghai
  • SSS Counterattack State, by Shanghai
  • SSS Critical Buffs, by Shanghai
  • SSS Death Common Events, by Shanghai
  • SSS Disassemble Shop, by Shanghai
  • SSS Draw Skills, by Shanghai
  • SSS Enemy Autostates, by Shanghai
  • SSS Enemy Critical Image, by Shanghai
  • SSS Enemy Linked Deaths, by Shanghai
  • SSS Equipment Break, by Shanghai
  • SSS Equipment Skills, by Shanghai
  • SSS Fancy Deaths, by Shanghai
  • SSS Field Effects, by Shanghai
  • SSS Friendly Monsters, by Shanghai
  • SSS Hospital Fees, by Shanghai
  • SSS Learn & Forget Skills, by Shanghai
  • SSS Overkill, by Shanghai
  • SSS Passive Skills, by Shanghai
  • SSS Pick Item Event, by Shanghai
  • SSS Skill Crack, by Shanghai
  • SSS Skill Shop, by Shanghai
  • SSS Spell Steal, by Shanghai
  • SSS Teach Skill Items, by Shanghai
  • SSS Temporary Stat Boosts, by Shanghai
  • SSS Vampiric Weapons, by Shanghai
  • SSS Weapon Attack Replace, by Shanghai
  • SSS Wereforms, by Shanghai
  • YEM Battle Engine Melody, by Yanfly
  • YEM Core Fixes and Upgrades, by Yanfly
  • YEM Enemy Levels, by Yanfly
  • YEM Extended Movement, by Yanfly
  • YEM Equipment Overhaul, by Yanfly
  • YEM Item Overhaul, by Yanfly
  • YEM New Battle Stats, by Yanfly
  • YEM Skill Equip System, by Yanfly
  • YEM Skill Fusion System, by Yanfly
  • YEM Skill Overhaul, by Yanfly
  • YEM Status Menu Melody, by Yanfly
  • YEM Swap Random Monster, by Yanfly
  • YERD Actor Item Synthesis, by Yanfly
  • YERD Animation Fix, by Yanfly
  • YERD Battler Stat Aggro, by Yanfly
  • YERD Battler Stat Morale, by Yanfly
  • YERD Bestiary + Display Scanned Enemy, by Yanfly
  • YERD Custom Damage Formula, by Yanfly
  • YERD Custom Element Affinity, by Yanfly
  • YERD Custom Item Abilities, by Yanfly
  • YERD Custom Skill Effects, by Yanfly
  • YERD Custom Status Properties, by Yanfly
  • YERD Custom Target Select, by Yanfly
  • YERD Custom Turn Order, by Yanfly
  • YERD Display Item Query, by Yanfly
  • YERD Display Skill Query, by Yanfly
  • YERD Enemy Level Control, by Yanfly
  • YERD Skill Slots, by Yanfly
  • YERD Subclass Selection System, by Yanfly
  • YERD Scene Battle Redux, by Yanfly
  • YERD Show Skill Fix, by Yanfly

Code: [Select]
#==============================================================================
#    General Compatibility Patch for Note Editor
#    Version: 1.0
#    Author: modern algebra (rmrk.net)
#    Date: September 11, 2010
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Description:
#
#    A lot of scripts that use notes interpret them only once the game starts
#   up and this confounds the purpose of the Note Editor, since by the time the
#   notes are added, the data is already interpreted and loaded, and so the
#   additions will only be noticable upon reloading the game. This is a General
#   Compatibility Patch, intended to fix that problem by resetting the relevant
#   values when a new note is added for a number of popular scripts.
#
#    A lot of scripts that use note tags already work with the Note Editor. The
#   following list is only of those scripts that are not by default compatible
#   but are made compatible by using this compatibility patch. The fact that a
#   particular script is not included in this list does not mean that that
#   script is incompatible with the Note Editor. Anyway, the scripts that this
#   patch makes compatible are:
#      Actor-Specific Item Effects, by modern algebra
#      Advanced State Probability, by Mithran
#      Apply State Equipment, by modern algebra
#      Critical Skills, by Mithran
#      Cursed Equipment, by modern algebra
#      Element Efficiency States, by modern algebra
#      Grid Inventory, by modern algebra
#      KGC Categorize Item
#      KGC Categorize Skill
#      KGC Equip Extension
#      KGC Hidden Skill
#      KGC Item Drop Expansion
#      KGC Learn Skill By State
#      KGC Limit Break
#      KGC Overdrive
#      KGC Rate Damage
#      KGC Reproduce Functions
#      KGC Reverse Damage State
#      KGC Slip Damage Extension
#      KGC Steal
#      KGC Usable Equipment
#      Learn Skills By Use, by modern algebra
#      Minto's Monster Collapse, by modern algebra
#      Monster Catalogue, by modern algebra
#      Revive State, by modern algebra
#      Skill Functions, by Mithran
#      SSS Break Max Stats, by Shanghai
#      SSS Counterattack State, by Shanghai
#      SSS Critical Buffs, by Shanghai
#      SSS Death Common Events, by Shanghai
#      SSS Disassemble Shop, by Shanghai
#      SSS Draw Skills, by Shanghai
#      SSS Enemy Autostates, by Shanghai
#      SSS Enemy Critical Image, by Shanghai
#      SSS Enemy Linked Deaths, by Shanghai
#      SSS Equipment Break, by Shanghai
#      SSS Equipment Skills, by Shanghai
#      SSS Fancy Deaths, by Shanghai
#      SSS Field Effects, by Shanghai
#      SSS Friendly Monsters, by Shanghai
#      SSS Hospital Fees, by Shanghai
#      SSS Learn & Forget Skills, by Shanghai
#      SSS Overkill, by Shanghai
#      SSS Passive Skills, by Shanghai
#      SSS Pick Item Event, by Shanghai
#      SSS Skill Crack, by Shanghai
#      SSS Skill Shop, by Shanghai
#      SSS Spell Steal, by Shanghai
#      SSS Teach Skill Items, by Shanghai
#      SSS Temporary Stat Boosts, by Shanghai
#      SSS Vampiric Weapons, by Shanghai
#      SSS Weapon Attack Replace, by Shanghai
#      SSS Wereforms, by Shanghai
#      YEM Battle Engine Melody, by Yanfly
#      YEM Core Fixes and Upgrades, by Yanfly
#      YEM Enemy Levels, by Yanfly
#      YEM Extended Movement, by Yanfly
#      YEM Equipment Overhaul, by Yanfly
#      YEM Item Overhaul, by Yanfly
#      YEM New Battle Stats, by Yanfly
#      YEM Skill Equip System, by Yanfly
#      YEM Skill Fusion System, by Yanfly
#      YEM Skill Overhaul, by Yanfly
#      YEM Status Menu Melody, by Yanfly
#      YEM Swap Random Monster, by Yanfly
#      YERD Actor Item Synthesis, by Yanfly
#      YERD Animation Fix, by Yanfly
#      YERD Battler Stat Aggro, by Yanfly
#      YERD Battler Stat Morale, by Yanfly
#      YERD Bestiary + Display Scanned Enemy, by Yanfly
#      YERD Custom Damage Formula, by Yanfly
#      YERD Custom Element Affinity, by Yanfly
#      YERD Custom Item Abilities, by Yanfly
#      YERD Custom Skill Effects, by Yanfly
#      YERD Custom Status Properties, by Yanfly
#      YERD Custom Target Select, by Yanfly
#      YERD Custom Turn Order, by Yanfly
#      YERD Display Item Query, by Yanfly
#      YERD Display Skill Query, by Yanfly
#      YERD Enemy Level Control, by Yanfly
#      YERD Skill Slots, by Yanfly
#      YERD Subclass Selection System, by Yanfly
#      YERD Scene Battle Redux, by Yanfly
#      YERD Show Skill Fix, by Yanfly
#
#    Note that this is not tested with all of these. While I took care to make
#   sure that each data object has the values reset immediately upon changing
#   its note, this may not apply immediately if another more relevant object
#   has already inherited the value and saved it separately. For scripts that
#   do that, this compatibility patch will not be sufficient, even if that
#   script is included in the above list.
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Instructions:
#
#    Simply place this script under the Note Editor.
#==============================================================================

module RPG
#==============================================================================
# ** RPG::BaseItem
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    new method - ma_reset_note_values
#==============================================================================

class BaseItem
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Reset Note Values
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def ma_reset_note_values
    if $imported
      @equipment_skills = nil if $imported["EquipmentSkills"]
      @dash_speed_bonus = nil if $imported["ExtendedMovement"]
      @break_limits = nil if $imported["BreakMaxStats"]
      @disassembled_items = nil if $imported["DisassembleShop"]
      @passive_traits = nil if $imported["PassiveSkills"]
      @key_item = nil if $imported["PickItemEvent"]
      @teach_skills = nil if $imported["TeachSkillItems"]
      @hide_skill = nil if $imported["ShownSkillsFix"]
      create_limit_break_cache if $imported["LimitBreak"]
      create_equip_extension_cache if $imported["EquipExtension"]
      create_extra_drop_item_cache if $imported["ExtraDropItem"]
      create_categorize_item_cache if $imported["CategorizeItem"]
      create_steal_cache if $imported["Steal"]
      yanfly_cache_baseitem_ess if $imported["EquipSkillSlots"]
      yanfly_cache_baseitem_sss if $imported["SubclassSelectionSystem"]
      yanfly_cache_bsa if $imported["BattlerStatAggro"]
      yanfly_cache_baseitem_bsm if $imported["BattlerStatMorale"]
      yanfly_cache_cdf if $imported["CustomDmgFormulaRD"]
      yanfly_cache_skill_cea if $imported["CustomElementAffinity"]
      create_usable_equipment_cache if $imported["UsableEquipment"]
      yanfly_cache_baseitem_cse if $imported["CustomSkillEffects"]
      yanfly_cache_cts if $imported["CustomTargetSelect"]
      yanfly_cache_baseitem_cto if $imported["CustomTurnOrder"]
      yanfly_cache_baseitem_elc if $imported["EnemyLevelControl"]
      yanfly_cache_baseitem_ais if $imported["ActorItemSynthesis"]
      yanfly_cache_baseitem_cia if $imported["CustomItemAbilities"]
      yanfly_cache_baseitem_dse if $imported["DisplayScannedEnemy"]
      yanfly_cache_dsq if $imported["DisplaySkillQuery"]
      yanfly_cache_diq if $imported["DisplayItemQuery"]
      if $imported["ReproduceFunctions"]
        create_reproduce_functions_cache
        create_auto_state_cache
      end
      if $imported["TemporaryStatBoosts"]
        @target_temp_boost = nil
        @user_temp_boost = nil
        @clear_temp_stats = nil
      end
      if $imported["CriticalBuff"]
        @critical_buffs = nil
        @critical_states = nil
      end
      if $imported["EquipmentOverhaul"]
        @cached_baseitem_eo = false
        yem_cache_baseitem_eo
      end
      if $imported["BattleEngineMelody"]
        @cached_baseitem_bem = false
        yem_cache_baseitem_bem
      end
      if $imported["DEX Stat"] || $imported["RES Stat"]
        @cached_state_nbs = false
        yem_cache_baseitem_nbs
      end
      if $imported["ItemOverhaul"]
        @cached_baseitem_io = false
        yem_cache_baseitem_io
      end
      if $imported["SkillEquipSystem"]
        @cached_baseitem_ses = false
        yem_cache_baseitem_ses
      end
    end
    @ma_equip_states = nil if self.class.method_defined? (:ma_equip_states) # Apply State Equipment
    if Window_Item.method_defined? (:ma_inventory) # Grid Inventory
      @gi_width = nil
      @gi_height = nil
      @gi_maxstack = nil
      @gi_pic = nil
      @gi_pic_hue = nil
      @gi_colour = nil
      @gi_disc = nil
    end
    make_skill_function_cache if self.class.method_defined? (:make_skill_function_cache) # Skill Function
    make_advanced_state_probability_cache if self.class.method_defined? (:make_advanced_state_probability_cache) # Advanced State Probability
  end
end

#==============================================================================
# ** RPG::UsableItem
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    modified super method - ma_reset_note_values
#==============================================================================

class UsableItem
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Reset Note Values
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def ma_reset_note_values
    super
    if $imported
      @steal_spells = nil if $imported["SpellSteal"]
      create_rate_damage_cache if $imported["RateDamage"]
      if $imported["Wereforms"]
        @wereform = nil
        @wereform_image = nil
        @wereform_face = nil
        @wereform_revert = nil
      end
      if $imported["FieldEffects"]
        @field_effect = nil
        @remove_field_effect = nil
      end
      if $imported["BattleEngineMelody"]
        @cached_usableitem_bem = false
        yem_cache_usableitem_bem
      end
      if $imported["EnemyLevels"]
        @cached_usableitem_el = false
        yem_cache_usableitem_el
      end
    end
    @uncurse = nil if self.class.method_defined? (:remove_curse?) # Cursed Equipment
  end
end

#==============================================================================
# ** RPG::Item
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    modified super method - ma_reset_note_values
#==============================================================================

class Item
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Reset Note Values
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def ma_reset_note_values
    super
    if $imported
      if $imported["StatusMenuMelody"]
        @cached_item_smm = false
        yem_cache_item_smm
      end
      if $imported["DEX Stat"] || $imported["RES Stat"]
        @cached_item_nbs = false
        yem_cache_item_nbs
      end
    end
    @actor_favourites = nil if self.class.method_defined? (:actor_favourites) # Actor Specific Item Effects
  end
end

#==============================================================================
# ** RPG::Weapon
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    modified super method - ma_reset_note_values
#==============================================================================

class Weapon
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Reset Note Values
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def ma_reset_note_values
    super
    if $imported
      @attack_skills = nil if $imported["WeaponAttackReplace"]
      yanfly_cache_wpn_cea if $imported["CustomElementAffinity"]
      if $imported["VampiricWeapons"]
        @siphonic = nil
        @vampiric = nil
      end
      if $imported["EquipmentOverhaul"]
        @cached_weapon_eo = false
        yem_cache_weapon_eo
      end
    end
    @cursed = nil if self.class.method_defined? (:cursed?) # Cursed Equipment
  end
end

#==============================================================================
# ** RPG::Armor
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    modified super method - ma_reset_note_values
#==============================================================================

class Armor
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Reset Note Values
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def ma_reset_note_values
    super
    if $imported
      yem_cache_armour_eo if $imported["EquipmentOverhaul"]
      yanfly_cache_arm_cea if $imported["CustomElementAffinity"]
    end
    @cursed = nil if self.class.method_defined? (:cursed?) # Cursed Equipment
  end
end

#==============================================================================
# ** RPG::Skill
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    modified super method - ma_reset_note_values
#==============================================================================

class Skill
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Reset Note Values
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def ma_reset_note_values
    super
    if $imported
      @forget_upon_learning = nil if $imported["Learn&ForgetSkill"]
      @skill_crack = nil if $imported["SkillCrack"]
      create_hidden_skill_cache if $imported["HiddenSkill"]
      create_overdrive_cache if $imported["OverDrive"]
      if $imported["CategorizeSkill"]
        create_categorize_skill_cache
        create_categorize_skill_battle_cache
      end
      if $imported["SkillShop"]
        @buy_skill_cost = nil
        @buy_for_class_skill = nil
        @buy_for_actor_skill = nil
        @buy_skill_level_requirement = nil
      end
      if $imported["EquipmentBreak"]
        @equipment_break = nil
        @equipment_repair = nil
      end
      if $imported["DrawSkills"]
        @draw_skill = nil
        @draw_classes = nil
        @cannot_draw = nil
      end
      if $imported["SkillOverhaul"]
        @cached_skill_so = false
        yem_cache_skill_so
      end
      if $imported["SkillEquipSystem"]
        @cached_skill_ses = false
        yem_cache_skill_ses
      end
      if $imported["SkillFusionSystem"]
        @cached_skill_sfs = false
        yem_cache_skill_sfs
      end
    end
    if self.class.method_defined? (:ma_root_skills) # Learn Skills By Use
      @ma_root_skills = nil
      @ma_prohibited_classes = nil
      @ma_level_req = nil
      @ma_descendant_skills = nil
    end
    create_critical_skill_cache if self.class.method_defined? (:create_critical_skill_cache)
  end
end

#==============================================================================
# ** RPG::State
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    new method - ma_reset_note_values
#==============================================================================

class State
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Reset Note Values
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def ma_reset_note_values
    if $imported
      @counterattack = nil if $imported["CounterattackState"]
      @hospital_fee = nil if $imported["HospitalFees"]
      create_slip_damage_extension_cache if $imported["SlipDamageExtension"]
      create_state_learn_skill_cache if $imported["StateLearnSkill"]
      create_reverse_damage_cache if $imported["ReverseDamage"]
      yem_cache_state_cfu if $imported["CoreFixesUpgradesMelody"]
      yem_cache_state_eo if $imported["EquipmentOverhaul"]
      yanfly_cache_state_battlerd if $imported["SceneBattleReDux"]
      yanfly_cache_state_ess if $imported["EquipSkillSlots"]
      yanfly_cache_state_sss if $imported["SubclassSelectionSystem"]
      yanfly_cache_state_bsm if $imported["BattlerStatMorale"]
      yanfly_cache_state_cea if $imported["CustomElementAffinity"]
      yanfly_cache_state_cse if $imported["CustomSkillEffects"]
      yanfly_cache_csp if $imported["CustomStatusProperties"]
      yanfly_cache_state_cto if $imported["CustomTurnOrder"]
      if $imported["ReproduceFunctions"]
        create_reproduce_functions_cache
        create_parameter_rate_cache
      end
      if $imported["SkillOverhaul"]
        @cached_state_so = false
        yem_cache_state_so
      end
      if $imported["BattleEngineMelody"]
        @cached_state_bem = false
        yem_cache_state_bem
      end
      if $imported["DEX Stat"] || $imported["RES Stat"]
        @cached_state_nbs = false
        yem_cache_state_nbs
      end
    end
    @ees_element_efficiency = nil if self.class.method_defined? (:ees_element_efficiency) # Element Efficiency States
    if self.class.method_defined? (:revival_health) # Revive State
      @revival_health = nil
      @revival_se = nil
      @revival_message = nil
    end
    make_advanced_state_probability_cache if self.class.method_defined? (:make_advanced_state_probability_cache) # Advanced State Probability
  end
end

#==============================================================================
# ** RPG::Enemy
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    new method - ma_reset_note_values
#==============================================================================

class Enemy
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Reset Note Values
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def ma_reset_note_values
    if $imported
      @death_event = nil if $imported["DeathCommonEvents"]
      @autostates = nil if $imported["EnemyAutostates"]
      @critical_image = nil if $imported["EnemyCriticalImage"]
      @fancy_death = nil if $imported["FancyDeaths"]
      @attack_ani = nil if $imported["AnimationFix"]
      create_reproduce_functions_cache if $imported["ReproduceFunctions"]
      create_steal_cache if $imported["Steal"]
      yanfly_cache_enemy_sss if $imported["SubclassSelectionSystem"]
      yanfly_cache_enemy_bsm if $imported["BattlerStatMorale"]
      yanfly_cache_enemy_cea if $imported["CustomElementAffinity"]
      yanfly_cache_enemy_elc if $imported["EnemyLevelControl"]
      yanfly_cache_enemy_dse if $imported["DisplayScannedEnemy"]
      if $imported["Overkill"]
        @overkill_requirement = nil
        @overkill_exp = nil
        @overkill_gold = nil
        @overkill_items = nil
      end
      if $imported["FriendlyMonsters"]
        @friendly_monster = nil
        @friendly_exp = nil
        @friendly_gold = nil
        @friendly_drops = nil
      end
      if $imported["EnemyLinkedDeaths"]
        @linked_death = nil
        @linked_death_all = nil
      end
      if $imported["VampiricWeapons"]
        @siphonic = nil
        @vampiric = nil
      end
      if $imported["SkillOverhaul"]
        @cached_enemy_so = false
        yem_cache_enemy_so
      end
      if $imported["BattleEngineMelody"]
        @cached_enemy_bem = false
        yem_cache_enemy_bem
      end
      if $imported["EnemyLevels"]
        @cached_enemy_el = false
        yem_cache_enemy_el
      end
      if $imported["DEX Stat"] || $imported["RES Stat"]
        @cached_enemy_nbs = false
        yem_cache_enemy_nbs
      end
      if $imported["SwapRandomMonster"]
        @cached_enemy_srm = false
        yem_cache_enemy_srm
      end
    end
    if self.class.method_defined? (:ma_species_name) # Monster Catalogue
      @species_name = nil
      @species_icon = nil
      @ma_icon = nil
      @ma_desc = nil
      @ma_cat_y = nil
    end
    @collapse_anim = nil if self.class.method_defined? (:collapse_animation) # Monster Collapse
    make_advanced_state_probability_cache if self.class.method_defined? (:make_advanced_state_probability_cache) # Advanced State Probability
  end
end

end # End module RPG

#==============================================================================
# ** Game_System
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    aliased method - ma_add_note
#==============================================================================

class Game_System
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Add Note
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias modalg_adnoterset_5th3 ma_add_note
  def ma_add_note (type, id, *args)
    modalg_adnoterset_5th3 (type, id, *args) # Run Original Method
    ma_reset_note (type, id)
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Delete Note
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias mnab_ne_deltnt_6yi2 ma_add_note
  def ma_delete_note (type, id, *args)
    mnab_ne_deltnt_6yi2 (type, id, *args) # Run Original Method
    ma_reset_note (type, id)
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Reset Note Properties
  #    type : the type of item (Item, Weapon, Armor, Skill, State, Enemy)
  #    id   : the ID of the specific item in its type
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def ma_reset_note (type, id)
    item = case type
    when 0 then $data_items[id]
    when 1 then $data_weapons[id]
    when 2 then $data_armors[id]
    when 3 then $data_skills[id]
    when 4 then $data_states[id]
    when 5 then $data_enemies[id]
    end
    item.ma_reset_note_values
  end
end

Spoiler for Composite Characters:
If you change the note field of an item to add an extra graphic, it will not immediately show it on the character if it is currently equipped. To fix it, just add this script below both the Comp. Chars script and the Note Editor script in the Script Editor

Code: [Select]
class Game_Interpreter
  alias mrnal_compchars_nteditor_adnt_5fz2 add_note
  def add_note (type, *args)
    mrnal_compchars_nteditor_adnt_5fz2 (type, *args)
    $game_player.refresh if type < 3
  end
  alias moden_ccve_edtnot_dltnte_1gh5 delete_note
  def delete_note (type, *args)
    moden_ccve_edtnot_dltnte_1gh5 (type, *args)
    $game_player.refresh if type < 3
  end
end

Author's Notes


I haven't really tested this script. But it should be fine.


Creative Commons License
This script by modern algebra is licensed under a Creative Commons Attribution-Non-Commercial-Share Alike 2.5 Canada License.
« Last Edit: September 11, 2010, 02:58:21 PM by modern algebra »

****
Rep:
Level 83
is there a day that modern doesn't create a script???

Quote from: modern algebra
I haven't really tested this script. But it should be fine.

Look at such confidence in your work...
Spoiler for:
METALFRESH is a paint contractor that specializes in refinishing metal and vinyl siding. We paint metal buildings as well as siding on homes.

We also

    Refinish decks
    Do custom interior painting
    Strip wallpaper
    Refinish cedar siding
    Metal front doors and sidelights
    Metal garage and service doors
    Grained fiberglass doors

    If your structure is *RUSTED *FADED *CHALKING *IN NEED OF COLOR CHANGE, we can fix it with a guarentee!

northern Illinois and southern Wisconsin.

http://metalfreshcoatings.com


***
Rep:
Level 84
It's human to misdo
This is really good.
I wish there was this kind of script for XP

*
Rep:
Level 97
2014 Most Unsung Member2014 Best RPG Maker User - Engine2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Use of Avatar and Signature Space2011 Best RPG Maker User (Scripting)2011 Most Mature Member2011 Favourite Staff Member2011 Best Veteran2010 Most Mature Member2010 Favourite Staff Member
There aren't any note fields in XP :P

**
Rep: +0/-0Level 82
Whoa!

perfect as always, another script from you that i'm going to put on my game xD
this is really good for item upgrading o/

just have to learn how to make an "select item menu" and how to get the current equiped item now =p

**
Rep: +0/-0Level 85
When trying to run this script with "Item Drop Ranks" I get the error:

Script 'Note Editor' line 81: NoMethodError occurred.
Undefined method 'ma_added_notes' for nil:NilClass

I am able to run with either Note Editor or Item Drop Ranks, but not both.

For additional testing I have loaded only the two scripts above in a new game and get the same error.

Love your work!

*
Rep:
Level 97
2014 Most Unsung Member2014 Best RPG Maker User - Engine2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Use of Avatar and Signature Space2011 Best RPG Maker User (Scripting)2011 Most Mature Member2011 Favourite Staff Member2011 Best Veteran2010 Most Mature Member2010 Favourite Staff Member
Here, try replacing it with the following:

Code: [Select]
#==============================================================================
#  Note Editor
#  Version: 1.0
#  Author: modern algebra (rmrk.net)
#  Date: December 16, 2009
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Description:
#
#    This script allows you to edit the note field of an item with script calls
#   in-game. This is useful for editing features of other scripts that use the
#   note field for adding features; this will allow you to add those features
#   as part of the gameplay. The edits will only apply within the same game
#   file, so the note field will be clean whenever the player starts a new
#   game. It does not overwrite the regular note field - anything written in
#   note field in the database will be permanent in every save file.
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Instructions:
#
#    Paste this script into the editor below the default scripts but above Main
#
#    To use this script, simply use these codes in a call script:
#
#       add_note (type, id, note)
#         type : refers to the database tab you want to change the notes of.
#               It is an integer, and broke down like this:
#                 0 => Item
#                 1 => Weapon
#                 2 => Armor
#                 3 => Skill
#                 4 => Enemy
#                 5 => State
#         id   : the specific ID of the particular item, weapon, armor, skill,
#               enemy, or state you want to edit the note field of.
#         note : this is the string that you want to add to the note field.
#       delete_note (type, id, note)
#         type : same as for add_note
#         id   : same as for add_note
#         note : this is the note you want to delete. It can be either the
#               string itself, or it can be an integer if (and onlt if) you
#               know the order it was added in - if you put in the integer 2
#               here, it will delete the third string you added to the item's
#               note.
#
#  delete_note will only delete notes that have been added to the note field
# in-game - it will not delete notes you set in the database directly.
#
#    EXAMPLES:
#      add_note (0, 1, "new \\ note")
#        This would add "new \ note" to the note field of a potion (first item)
#      add_note (4, 6, "Default wisp")
#        This would add "Default wisp" to the note field of the sixth enemy in
#         the database (coincidentally a willowisp by default)
#      delete_note (2, 45, "\\CG[Evil, 5]")
#        This would delete the note "\CG[Evil, 5]" from the note field of the
#         45th weapon in the database if it had been added in-game through the
#         add_note script. It would not delete it if you set it in the database
#         itself.
#==============================================================================

module RPG
#==============================================================================
# ** RPG::BaseItem
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    aliased method - note
#==============================================================================

class BaseItem
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Return Note
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias malgb_acigd_ntedit_7jb3 note
  def note (*args)
    type = case self
    when RPG::Item then 0
    when RPG::Weapon then 1
    when RPG::Armor then 2
    when RPG::Skill then 3
    end
    plus_note = $game_system.nil? ? "" : $game_system.ma_added_notes(type, self.id)
    # Return Original Method + edited additions
    return malgb_acigd_ntedit_7jb3 (*args) + plus_note
  end
end

#==============================================================================
# ** RPG::Enemy
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    aliased method - note
#==============================================================================

class Enemy
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Return Note
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias ma_asciigod_noteedit_enmy_5hv2 note
  def note (*args)
    # Return Original Method + edited additions
    plus_note = $game_system.nil? ? "" : $game_system.ma_added_notes(4, self.id)
    return ma_asciigod_noteedit_enmy_5hv2 (*args) + plus_note
  end
end

#==============================================================================
# ** RPG::State
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    aliased method - note
#==============================================================================

class State
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Return Note
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias modalg_gdasci_nted_stte_4xs2 note
  def note (*args)
    # Return Original Method + edited additions
    plus_note = $game_system.nil? ? "" : $game_system.ma_added_notes(5, self.id)
    return modalg_gdasci_nted_stte_4xs2 (*args) + plus_note
  end
end
end

#==============================================================================
# ** Game System
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    new instance variable - ma_note_edits
#    aliased method - initialize
#    new method - ma_add_note, ma_delete_note
#==============================================================================

class Game_System
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Object Initialization
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias modabra_ascod_init_ntedtr_8nn2 initialize
  def initialize (*args)
    @ma_note_edits = [ {}, {}, {}, {}, {}, {} ]
    # Run Original Method
    modabra_ascod_init_ntedtr_8nn2 (*args)
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Add Note
  #    type : the type of item (Item, Weapon, Armor, Skill, State, Enemy)
  #    id   : the ID of the specific item in its type
  #    note : the note you want to add
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def ma_add_note (type, id, note)
    @ma_note_edits[type][id] = [] if @ma_note_edits[type][id] == nil
    @ma_note_edits[type][id].push (note)
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Delete Note
  #    type : the type of item (Item, Weapon, Armor, Skill, State, Enemy)
  #    id   : the ID of the specific item in its type
  #    note : the note you want to delete
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def ma_delete_note (type, id, note)
    @ma_note_edits[type][id] = [] if @ma_note_edits[type][id] == nil
    note.is_a? (String) ? @ma_note_edits[type][id].delete (note) : @ma_note_edits[type][id].delete_at (note)
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Added Notes
  #``````````````````````````````````````````````````````````````````````````
  #  Returns the notes added to that item
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def ma_added_notes (type, id)
    return "" if @ma_note_edits[type][id] == nil
    note_string = ""
    @ma_note_edits[type][id].each { |note| note_string += "\n #{note}" }
    return note_string
  end
end

#==============================================================================
# ** Game Interpreter
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    new method - add_note, delete_note
#==============================================================================

class Game_Interpreter
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Add Note
  #    type : the type of item (Item, Weapon, Armor, Skill, State, Enemy)
  #    id   : the ID of the specific item in its type
  #    note : the note you want to add
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def add_note (type, id, note)
    $game_system.ma_add_note (type, id, note)
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Delete Note
  #    type : the type of item (Item, Weapon, Armor, Skill, State, Enemy)
  #    id   : the ID of the specific item in its type
  #    note : the note you want to delete
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def delete_note (type, id, note)
    $game_system.ma_delete_note (type, id, note)
  end
end

I should note that the two scripts probably won't work together very well though as is :( The IDR saves what the ranks of items are in an array as soon as the game loads up, which means changes to item ranks in the notes will only be reflected after the player shuts down the game and then returns to it.

If you wish to use the Note Editor to affect drop ranks, I can write a fix for you; just say the word.

**
Rep: +0/-0Level 85
Thank you for the speedy reply and quick solution!

I mostly just wanted to be able to run both scripts at the same time, hadn't even thought about using the note editor to change the drop rates. I would definitely use that ability if it didn't rely on reloading.

Thanks again  ;D

*
Rep:
Level 97
2014 Most Unsung Member2014 Best RPG Maker User - Engine2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Use of Avatar and Signature Space2011 Best RPG Maker User (Scripting)2011 Most Mature Member2011 Favourite Staff Member2011 Best Veteran2010 Most Mature Member2010 Favourite Staff Member
Well, the IDR already contains an option that you can set the rank of the item to be tied to a variable, so you are able to change the rank in game that way

**
Rep: +0/-0Level 83
well thank you modern algebra... do you still knew me??? its me ASCIIgod at RRR... nice work

**
Rep:
Level 81
?????????????
;D ;D ;D GREAT, COOL AND MASTERIOUS SCRIPT... ;D ;D ;D
遠い銀河からのスーパー戦士。
本は、セバスチャンです。
これは強力で、手に負えない。
彼の物理レベルのスキルは驚嘆です。[/b]

**
Rep: +0/-0Level 82
Oh well... I have a problem with this and your "enemy stat variance" script :/

maybe it's the tankentai script? (i'm using kaduki's tankentai) but the enemy variance was working...


the problem I get is that the enemys just ignore the new notes I put into then... they appear with the same stats from the database

ps: the enemy variance DO work if I put the code direct in the DB, but it doesn't when I use this script to add tags

ps2: I have tons of script but the only battle related is the tankentai ;/


====Edit

yeah, I did a test right now on a new project and this script doesn't work or is incompatible with yanfly's synthesis ;/
« Last Edit: April 24, 2010, 11:55:27 PM by h3llh0und »

*
Rep:
Level 97
2014 Most Unsung Member2014 Best RPG Maker User - Engine2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Use of Avatar and Signature Space2011 Best RPG Maker User (Scripting)2011 Most Mature Member2011 Favourite Staff Member2011 Best Veteran2010 Most Mature Member2010 Favourite Staff Member
Well, I'm not on a computer where I can test them out, but you have to remember that to make a backslash in a "" string, you have to use \\. So, instead of just:

Code: [Select]
add_note (4, 1, "\variance_hp[20]")

it has to be:

Code: [Select]
add_note (4, 1, "\\variance_hp[20]")

That seems like the most likely thing to be going wrong, but I will test it out once I'm on a comp that I can.

**
Rep: +0/-0Level 82
Yeah that was the problem xD

thanx for the help modern o/

**
Rep:
Level 83
プログラマです
Hello. I know it's been a while, but you mentioned that the note changes don't register until the player shuts down and reboots. I'm wondering if you'd be able to change this so the note updates whilst the player plays the game.

I'm using the YERD Skill Slot script and I'd love to be able to change the notes of a skill to change a passive skill's bonus.

This way I won't have to keep making new skills of the same skill but gradually getting better, I can just add a new note giving the extra boost :)

I'd be grateful for any help with this. Thank you for reading. (Just say if anything's not clear enough and I'll try to elaborate ^_^ )

SeeM.

EDIT: I'm using the altered version of this script with the Drop Ranks compatibility in case you needed to know.
« Last Edit: July 07, 2010, 09:11:05 AM by SeMcDun »

*
Rep:
Level 97
2014 Most Unsung Member2014 Best RPG Maker User - Engine2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Use of Avatar and Signature Space2011 Best RPG Maker User (Scripting)2011 Most Mature Member2011 Favourite Staff Member2011 Best Veteran2010 Most Mature Member2010 Favourite Staff Member
Well, notes do register immediately upon editing them though. The problem arises in that most scripts that use note fields only interpret them once upon startup or when they're first accessed.
There's nothing I could do to this script to fix that problem; I would need a link to the YERD script and edit that script.

**
Rep:
Level 83
プログラマです
Ah I get you.

http://www.mediafire.com/?mhkmzzdwzcz

There's a link to the script.

:)

*
Rep:
Level 97
2014 Most Unsung Member2014 Best RPG Maker User - Engine2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Use of Avatar and Signature Space2011 Best RPG Maker User (Scripting)2011 Most Mature Member2011 Favourite Staff Member2011 Best Veteran2010 Most Mature Member2010 Favourite Staff Member
I've written a large Compatibility patch for this script, as many, many scripts interpret notes only once upon the start of the game. This confounds the purpose of the Note Editor, as the changes to the notes will only impact the relevant scripts the next time the player starts up the game. Thus, I wrote this General Compatibility patch in an effort to take a number of the popular scripts that do this and "reset" the values whenever a note is changed, in order that the changes desired may take effect immediately. I apologize for its length, but I had to individually accomodate each script, and there are a lot of scripts as you will see.

The following scripts that do this are made compatible by this patch: (Note that this list only includes scripts that would not, by default, work properly with the Note Editor. The fact that a particular script is not included here does not imply that it is incompatible, as it may by compatible by default).
  • Actor-Specific Item Effects, by modern algebra
  • Advanced State Probability, by Mithran
  • Apply State Equipment, by modern algebra
  • Critical Skills, by Mithran
  • Cursed Equipment, by modern algebra
  • Element Efficiency States, by modern algebra
  • Grid Inventory, by modern algebra
  • KGC Categorize Item
  • KGC Categorize Skill
  • KGC Equip Extension
  • KGC Hidden Skill
  • KGC Item Drop Expansion
  • KGC Learn Skill By State
  • KGC Limit Break
  • KGC Overdrive
  • KGC Rate Damage
  • KGC Reproduce Functions
  • KGC Reverse Damage State
  • KGC Slip Damage Extension
  • KGC Steal
  • KGC Usable Equipment
  • Learn Skills By Use, by modern algebra
  • Minto's Monster Collapse, by modern algebra
  • Monster Catalogue, by modern algebra
  • Revive State, by modern algebra
  • Skill Functions, by Mithran
  • SSS Break Max Stats, by Shanghai
  • SSS Counterattack State, by Shanghai
  • SSS Critical Buffs, by Shanghai
  • SSS Death Common Events, by Shanghai
  • SSS Disassemble Shop, by Shanghai
  • SSS Draw Skills, by Shanghai
  • SSS Enemy Autostates, by Shanghai
  • SSS Enemy Critical Image, by Shanghai
  • SSS Enemy Linked Deaths, by Shanghai
  • SSS Equipment Break, by Shanghai
  • SSS Equipment Skills, by Shanghai
  • SSS Fancy Deaths, by Shanghai
  • SSS Field Effects, by Shanghai
  • SSS Friendly Monsters, by Shanghai
  • SSS Hospital Fees, by Shanghai
  • SSS Learn & Forget Skills, by Shanghai
  • SSS Overkill, by Shanghai
  • SSS Passive Skills, by Shanghai
  • SSS Pick Item Event, by Shanghai
  • SSS Skill Crack, by Shanghai
  • SSS Skill Shop, by Shanghai
  • SSS Spell Steal, by Shanghai
  • SSS Teach Skill Items, by Shanghai
  • SSS Temporary Stat Boosts, by Shanghai
  • SSS Vampiric Weapons, by Shanghai
  • SSS Weapon Attack Replace, by Shanghai
  • SSS Wereforms, by Shanghai
  • YEM Battle Engine Melody, by Yanfly
  • YEM Core Fixes and Upgrades, by Yanfly
  • YEM Enemy Levels, by Yanfly
  • YEM Extended Movement, by Yanfly
  • YEM Equipment Overhaul, by Yanfly
  • YEM Item Overhaul, by Yanfly
  • YEM New Battle Stats, by Yanfly
  • YEM Skill Equip System, by Yanfly
  • YEM Skill Fusion System, by Yanfly
  • YEM Skill Overhaul, by Yanfly
  • YEM Status Menu Melody, by Yanfly
  • YEM Swap Random Monster, by Yanfly
  • YERD Actor Item Synthesis, by Yanfly
  • YERD Animation Fix, by Yanfly
  • YERD Battler Stat Aggro, by Yanfly
  • YERD Battler Stat Morale, by Yanfly
  • YERD Bestiary + Display Scanned Enemy, by Yanfly
  • YERD Custom Damage Formula, by Yanfly
  • YERD Custom Element Affinity, by Yanfly
  • YERD Custom Item Abilities, by Yanfly
  • YERD Custom Skill Effects, by Yanfly
  • YERD Custom Status Properties, by Yanfly
  • YERD Custom Target Select, by Yanfly
  • YERD Custom Turn Order, by Yanfly
  • YERD Display Item Query, by Yanfly
  • YERD Display Skill Query, by Yanfly
  • YERD Enemy Level Control, by Yanfly
  • YERD Skill Slots, by Yanfly
  • YERD Subclass Selection System, by Yanfly
  • YERD Scene Battle Redux, by Yanfly
  • YERD Show Skill Fix, by Yanfly

Code: [Select]
#==============================================================================
#    General Compatibility Patch for Note Editor
#    Version: 1.0
#    Author: modern algebra (rmrk.net)
#    Date: September 11, 2010
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Description:
#
#    A lot of scripts that use notes interpret them only once the game starts
#   up and this confounds the purpose of the Note Editor, since by the time the
#   notes are added, the data is already interpreted and loaded, and so the
#   additions will only be noticable upon reloading the game. This is a General
#   Compatibility Patch, intended to fix that problem by resetting the relevant
#   values when a new note is added for a number of popular scripts.
#
#    A lot of scripts that use note tags already work with the Note Editor. The
#   following list is only of those scripts that are not by default compatible
#   but are made compatible by using this compatibility patch. The fact that a
#   particular script is not included in this list does not mean that that
#   script is incompatible with the Note Editor. Anyway, the scripts that this
#   patch makes compatible are:
#      Actor-Specific Item Effects, by modern algebra
#      Advanced State Probability, by Mithran
#      Apply State Equipment, by modern algebra
#      Critical Skills, by Mithran
#      Cursed Equipment, by modern algebra
#      Element Efficiency States, by modern algebra
#      Grid Inventory, by modern algebra
#      KGC Categorize Item
#      KGC Categorize Skill
#      KGC Equip Extension
#      KGC Hidden Skill
#      KGC Item Drop Expansion
#      KGC Learn Skill By State
#      KGC Limit Break
#      KGC Overdrive
#      KGC Rate Damage
#      KGC Reproduce Functions
#      KGC Reverse Damage State
#      KGC Slip Damage Extension
#      KGC Steal
#      KGC Usable Equipment
#      Learn Skills By Use, by modern algebra
#      Minto's Monster Collapse, by modern algebra
#      Monster Catalogue, by modern algebra
#      Revive State, by modern algebra
#      Skill Functions, by Mithran
#      SSS Break Max Stats, by Shanghai
#      SSS Counterattack State, by Shanghai
#      SSS Critical Buffs, by Shanghai
#      SSS Death Common Events, by Shanghai
#      SSS Disassemble Shop, by Shanghai
#      SSS Draw Skills, by Shanghai
#      SSS Enemy Autostates, by Shanghai
#      SSS Enemy Critical Image, by Shanghai
#      SSS Enemy Linked Deaths, by Shanghai
#      SSS Equipment Break, by Shanghai
#      SSS Equipment Skills, by Shanghai
#      SSS Fancy Deaths, by Shanghai
#      SSS Field Effects, by Shanghai
#      SSS Friendly Monsters, by Shanghai
#      SSS Hospital Fees, by Shanghai
#      SSS Learn & Forget Skills, by Shanghai
#      SSS Overkill, by Shanghai
#      SSS Passive Skills, by Shanghai
#      SSS Pick Item Event, by Shanghai
#      SSS Skill Crack, by Shanghai
#      SSS Skill Shop, by Shanghai
#      SSS Spell Steal, by Shanghai
#      SSS Teach Skill Items, by Shanghai
#      SSS Temporary Stat Boosts, by Shanghai
#      SSS Vampiric Weapons, by Shanghai
#      SSS Weapon Attack Replace, by Shanghai
#      SSS Wereforms, by Shanghai
#      YEM Battle Engine Melody, by Yanfly
#      YEM Core Fixes and Upgrades, by Yanfly
#      YEM Enemy Levels, by Yanfly
#      YEM Extended Movement, by Yanfly
#      YEM Equipment Overhaul, by Yanfly
#      YEM Item Overhaul, by Yanfly
#      YEM New Battle Stats, by Yanfly
#      YEM Skill Equip System, by Yanfly
#      YEM Skill Fusion System, by Yanfly
#      YEM Skill Overhaul, by Yanfly
#      YEM Status Menu Melody, by Yanfly
#      YEM Swap Random Monster, by Yanfly
#      YERD Actor Item Synthesis, by Yanfly
#      YERD Animation Fix, by Yanfly
#      YERD Battler Stat Aggro, by Yanfly
#      YERD Battler Stat Morale, by Yanfly
#      YERD Bestiary + Display Scanned Enemy, by Yanfly
#      YERD Custom Damage Formula, by Yanfly
#      YERD Custom Element Affinity, by Yanfly
#      YERD Custom Item Abilities, by Yanfly
#      YERD Custom Skill Effects, by Yanfly
#      YERD Custom Status Properties, by Yanfly
#      YERD Custom Target Select, by Yanfly
#      YERD Custom Turn Order, by Yanfly
#      YERD Display Item Query, by Yanfly
#      YERD Display Skill Query, by Yanfly
#      YERD Enemy Level Control, by Yanfly
#      YERD Skill Slots, by Yanfly
#      YERD Subclass Selection System, by Yanfly
#      YERD Scene Battle Redux, by Yanfly
#      YERD Show Skill Fix, by Yanfly
#
#    Note that this is not tested with all of these. While I took care to make
#   sure that each data object has the values reset immediately upon changing
#   its note, this may not apply immediately if another more relevant object
#   has already inherited the value and saved it separately. For scripts that
#   do that, this compatibility patch will not be sufficient, even if that
#   script is included in the above list.
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Instructions:
#
#    Simply place this script under the Note Editor.
#==============================================================================

module RPG
#==============================================================================
# ** RPG::BaseItem
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    new method - ma_reset_note_values
#==============================================================================

class BaseItem
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Reset Note Values
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def ma_reset_note_values
    if $imported
      @equipment_skills = nil if $imported["EquipmentSkills"]
      @dash_speed_bonus = nil if $imported["ExtendedMovement"]
      @break_limits = nil if $imported["BreakMaxStats"]
      @disassembled_items = nil if $imported["DisassembleShop"]
      @passive_traits = nil if $imported["PassiveSkills"]
      @key_item = nil if $imported["PickItemEvent"]
      @teach_skills = nil if $imported["TeachSkillItems"]
      @hide_skill = nil if $imported["ShownSkillsFix"]
      create_limit_break_cache if $imported["LimitBreak"]
      create_equip_extension_cache if $imported["EquipExtension"]
      create_extra_drop_item_cache if $imported["ExtraDropItem"]
      create_categorize_item_cache if $imported["CategorizeItem"]
      create_steal_cache if $imported["Steal"]
      yanfly_cache_baseitem_ess if $imported["EquipSkillSlots"]
      yanfly_cache_baseitem_sss if $imported["SubclassSelectionSystem"]
      yanfly_cache_bsa if $imported["BattlerStatAggro"]
      yanfly_cache_baseitem_bsm if $imported["BattlerStatMorale"]
      yanfly_cache_cdf if $imported["CustomDmgFormulaRD"]
      yanfly_cache_skill_cea if $imported["CustomElementAffinity"]
      create_usable_equipment_cache if $imported["UsableEquipment"]
      yanfly_cache_baseitem_cse if $imported["CustomSkillEffects"]
      yanfly_cache_cts if $imported["CustomTargetSelect"]
      yanfly_cache_baseitem_cto if $imported["CustomTurnOrder"]
      yanfly_cache_baseitem_elc if $imported["EnemyLevelControl"]
      yanfly_cache_baseitem_ais if $imported["ActorItemSynthesis"]
      yanfly_cache_baseitem_cia if $imported["CustomItemAbilities"]
      yanfly_cache_baseitem_dse if $imported["DisplayScannedEnemy"]
      yanfly_cache_dsq if $imported["DisplaySkillQuery"]
      yanfly_cache_diq if $imported["DisplayItemQuery"]
      if $imported["ReproduceFunctions"]
        create_reproduce_functions_cache
        create_auto_state_cache
      end
      if $imported["TemporaryStatBoosts"]
        @target_temp_boost = nil
        @user_temp_boost = nil
        @clear_temp_stats = nil
      end
      if $imported["CriticalBuff"]
        @critical_buffs = nil
        @critical_states = nil
      end
      if $imported["EquipmentOverhaul"]
        @cached_baseitem_eo = false
        yem_cache_baseitem_eo
      end
      if $imported["BattleEngineMelody"]
        @cached_baseitem_bem = false
        yem_cache_baseitem_bem
      end
      if $imported["DEX Stat"] || $imported["RES Stat"]
        @cached_state_nbs = false
        yem_cache_baseitem_nbs
      end
      if $imported["ItemOverhaul"]
        @cached_baseitem_io = false
        yem_cache_baseitem_io
      end
      if $imported["SkillEquipSystem"]
        @cached_baseitem_ses = false
        yem_cache_baseitem_ses
      end
    end
    @ma_equip_states = nil if self.class.method_defined? (:ma_equip_states) # Apply State Equipment
    if Window_Item.method_defined? (:ma_inventory) # Grid Inventory
      @gi_width = nil
      @gi_height = nil
      @gi_maxstack = nil
      @gi_pic = nil
      @gi_pic_hue = nil
      @gi_colour = nil
      @gi_disc = nil
    end
    make_skill_function_cache if self.class.method_defined? (:make_skill_function_cache) # Skill Function
    make_advanced_state_probability_cache if self.class.method_defined? (:make_advanced_state_probability_cache) # Advanced State Probability
  end
end

#==============================================================================
# ** RPG::UsableItem
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    modified super method - ma_reset_note_values
#==============================================================================

class UsableItem
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Reset Note Values
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def ma_reset_note_values
    super
    if $imported
      @steal_spells = nil if $imported["SpellSteal"]
      create_rate_damage_cache if $imported["RateDamage"]
      if $imported["Wereforms"]
        @wereform = nil
        @wereform_image = nil
        @wereform_face = nil
        @wereform_revert = nil
      end
      if $imported["FieldEffects"]
        @field_effect = nil
        @remove_field_effect = nil
      end
      if $imported["BattleEngineMelody"]
        @cached_usableitem_bem = false
        yem_cache_usableitem_bem
      end
      if $imported["EnemyLevels"]
        @cached_usableitem_el = false
        yem_cache_usableitem_el
      end
    end
    @uncurse = nil if self.class.method_defined? (:remove_curse?) # Cursed Equipment
  end
end

#==============================================================================
# ** RPG::Item
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    modified super method - ma_reset_note_values
#==============================================================================

class Item
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Reset Note Values
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def ma_reset_note_values
    super
    if $imported
      if $imported["StatusMenuMelody"]
        @cached_item_smm = false
        yem_cache_item_smm
      end
      if $imported["DEX Stat"] || $imported["RES Stat"]
        @cached_item_nbs = false
        yem_cache_item_nbs
      end
    end
    @actor_favourites = nil if self.class.method_defined? (:actor_favourites) # Actor Specific Item Effects
  end
end

#==============================================================================
# ** RPG::Weapon
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    modified super method - ma_reset_note_values
#==============================================================================

class Weapon
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Reset Note Values
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def ma_reset_note_values
    super
    if $imported
      @attack_skills = nil if $imported["WeaponAttackReplace"]
      yanfly_cache_wpn_cea if $imported["CustomElementAffinity"]
      if $imported["VampiricWeapons"]
        @siphonic = nil
        @vampiric = nil
      end
      if $imported["EquipmentOverhaul"]
        @cached_weapon_eo = false
        yem_cache_weapon_eo
      end
    end
    @cursed = nil if self.class.method_defined? (:cursed?) # Cursed Equipment
  end
end

#==============================================================================
# ** RPG::Armor
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    modified super method - ma_reset_note_values
#==============================================================================

class Armor
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Reset Note Values
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def ma_reset_note_values
    super
    if $imported
      yem_cache_armour_eo if $imported["EquipmentOverhaul"]
      yanfly_cache_arm_cea if $imported["CustomElementAffinity"]
    end
    @cursed = nil if self.class.method_defined? (:cursed?) # Cursed Equipment
  end
end

#==============================================================================
# ** RPG::Skill
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    modified super method - ma_reset_note_values
#==============================================================================

class Skill
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Reset Note Values
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def ma_reset_note_values
    super
    if $imported
      @forget_upon_learning = nil if $imported["Learn&ForgetSkill"]
      @skill_crack = nil if $imported["SkillCrack"]
      create_hidden_skill_cache if $imported["HiddenSkill"]
      create_overdrive_cache if $imported["OverDrive"]
      if $imported["CategorizeSkill"]
        create_categorize_skill_cache
        create_categorize_skill_battle_cache
      end
      if $imported["SkillShop"]
        @buy_skill_cost = nil
        @buy_for_class_skill = nil
        @buy_for_actor_skill = nil
        @buy_skill_level_requirement = nil
      end
      if $imported["EquipmentBreak"]
        @equipment_break = nil
        @equipment_repair = nil
      end
      if $imported["DrawSkills"]
        @draw_skill = nil
        @draw_classes = nil
        @cannot_draw = nil
      end
      if $imported["SkillOverhaul"]
        @cached_skill_so = false
        yem_cache_skill_so
      end
      if $imported["SkillEquipSystem"]
        @cached_skill_ses = false
        yem_cache_skill_ses
      end
      if $imported["SkillFusionSystem"]
        @cached_skill_sfs = false
        yem_cache_skill_sfs
      end
    end
    if self.class.method_defined? (:ma_root_skills) # Learn Skills By Use
      @ma_root_skills = nil
      @ma_prohibited_classes = nil
      @ma_level_req = nil
      @ma_descendant_skills = nil
    end
    create_critical_skill_cache if self.class.method_defined? (:create_critical_skill_cache)
  end
end

#==============================================================================
# ** RPG::State
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    new method - ma_reset_note_values
#==============================================================================

class State
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Reset Note Values
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def ma_reset_note_values
    if $imported
      @counterattack = nil if $imported["CounterattackState"]
      @hospital_fee = nil if $imported["HospitalFees"]
      create_slip_damage_extension_cache if $imported["SlipDamageExtension"]
      create_state_learn_skill_cache if $imported["StateLearnSkill"]
      create_reverse_damage_cache if $imported["ReverseDamage"]
      yem_cache_state_cfu if $imported["CoreFixesUpgradesMelody"]
      yem_cache_state_eo if $imported["EquipmentOverhaul"]
      yanfly_cache_state_battlerd if $imported["SceneBattleReDux"]
      yanfly_cache_state_ess if $imported["EquipSkillSlots"]
      yanfly_cache_state_sss if $imported["SubclassSelectionSystem"]
      yanfly_cache_state_bsm if $imported["BattlerStatMorale"]
      yanfly_cache_state_cea if $imported["CustomElementAffinity"]
      yanfly_cache_state_cse if $imported["CustomSkillEffects"]
      yanfly_cache_csp if $imported["CustomStatusProperties"]
      yanfly_cache_state_cto if $imported["CustomTurnOrder"]
      if $imported["ReproduceFunctions"]
        create_reproduce_functions_cache
        create_parameter_rate_cache
      end
      if $imported["SkillOverhaul"]
        @cached_state_so = false
        yem_cache_state_so
      end
      if $imported["BattleEngineMelody"]
        @cached_state_bem = false
        yem_cache_state_bem
      end
      if $imported["DEX Stat"] || $imported["RES Stat"]
        @cached_state_nbs = false
        yem_cache_state_nbs
      end
    end
    @ees_element_efficiency = nil if self.class.method_defined? (:ees_element_efficiency) # Element Efficiency States
    if self.class.method_defined? (:revival_health) # Revive State
      @revival_health = nil
      @revival_se = nil
      @revival_message = nil
    end
    make_advanced_state_probability_cache if self.class.method_defined? (:make_advanced_state_probability_cache) # Advanced State Probability
  end
end

#==============================================================================
# ** RPG::Enemy
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    new method - ma_reset_note_values
#==============================================================================

class Enemy
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Reset Note Values
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def ma_reset_note_values
    if $imported
      @death_event = nil if $imported["DeathCommonEvents"]
      @autostates = nil if $imported["EnemyAutostates"]
      @critical_image = nil if $imported["EnemyCriticalImage"]
      @fancy_death = nil if $imported["FancyDeaths"]
      @attack_ani = nil if $imported["AnimationFix"]
      create_reproduce_functions_cache if $imported["ReproduceFunctions"]
      create_steal_cache if $imported["Steal"]
      yanfly_cache_enemy_sss if $imported["SubclassSelectionSystem"]
      yanfly_cache_enemy_bsm if $imported["BattlerStatMorale"]
      yanfly_cache_enemy_cea if $imported["CustomElementAffinity"]
      yanfly_cache_enemy_elc if $imported["EnemyLevelControl"]
      yanfly_cache_enemy_dse if $imported["DisplayScannedEnemy"]
      if $imported["Overkill"]
        @overkill_requirement = nil
        @overkill_exp = nil
        @overkill_gold = nil
        @overkill_items = nil
      end
      if $imported["FriendlyMonsters"]
        @friendly_monster = nil
        @friendly_exp = nil
        @friendly_gold = nil
        @friendly_drops = nil
      end
      if $imported["EnemyLinkedDeaths"]
        @linked_death = nil
        @linked_death_all = nil
      end
      if $imported["VampiricWeapons"]
        @siphonic = nil
        @vampiric = nil
      end
      if $imported["SkillOverhaul"]
        @cached_enemy_so = false
        yem_cache_enemy_so
      end
      if $imported["BattleEngineMelody"]
        @cached_enemy_bem = false
        yem_cache_enemy_bem
      end
      if $imported["EnemyLevels"]
        @cached_enemy_el = false
        yem_cache_enemy_el
      end
      if $imported["DEX Stat"] || $imported["RES Stat"]
        @cached_enemy_nbs = false
        yem_cache_enemy_nbs
      end
      if $imported["SwapRandomMonster"]
        @cached_enemy_srm = false
        yem_cache_enemy_srm
      end
    end
    if self.class.method_defined? (:ma_species_name) # Monster Catalogue
      @species_name = nil
      @species_icon = nil
      @ma_icon = nil
      @ma_desc = nil
      @ma_cat_y = nil
    end
    @collapse_anim = nil if self.class.method_defined? (:collapse_animation) # Monster Collapse
    make_advanced_state_probability_cache if self.class.method_defined? (:make_advanced_state_probability_cache) # Advanced State Probability
  end
end

end # End module RPG

#==============================================================================
# ** Game_System
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    aliased method - ma_add_note
#==============================================================================

class Game_System
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Add Note
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias modalg_adnoterset_5th3 ma_add_note
  def ma_add_note (type, id, *args)
    modalg_adnoterset_5th3 (type, id, *args) # Run Original Method
    ma_reset_note (type, id)
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Delete Note
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias mnab_ne_deltnt_6yi2 ma_add_note
  def ma_delete_note (type, id, *args)
    mnab_ne_deltnt_6yi2 (type, id, *args) # Run Original Method
    ma_reset_note (type, id)
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Reset Note Properties
  #    type : the type of item (Item, Weapon, Armor, Skill, State, Enemy)
  #    id   : the ID of the specific item in its type
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def ma_reset_note (type, id)
    item = case type
    when 0 then $data_items[id]
    when 1 then $data_weapons[id]
    when 2 then $data_armors[id]
    when 3 then $data_skills[id]
    when 4 then $data_states[id]
    when 5 then $data_enemies[id]
    end
    item.ma_reset_note_values
  end
end

***
Rep:
Level 76
~Crazy Lazy Workaholic~
Thank you for your hard work MA ^_^ You're an awesome guy.

~My Projects~

~ VocaloidVX ~ Second Life Project ~
~ RPG Maker Collective ~
To support this forum, it's the first place that will gets posted some updates of mine, check it out ^_~

**
Rep:
Level 83
プログラマです
Wow. An unbelievable update MA. This gives me the creative freedom I was looking for to power many of my ideas! Thank you again kind sir.

**
Rep: +0/-0Level 75
RMRK Junior

***
Rep:
Level 84
---> LOL <---
I apologize for some serious necroposting but I found an issue that isn't solved by your compatibility patch:

Information:

I have pasted the script and its compatibility above the following scripts that are listed in the compatibility script documentation such as:

  • YEM Equipment Overhaul, by Yanfly
  • YEM Item Overhaul, by Yanfly
  • YERD Custom Damage Formula, by Yanfly
  • YERD Enemy Level Control, by Yanfly

** These scripts are not listed in the order they are in my game.

so essentially the script and its compatibility sit above ALL my script to make sure its the first one run (from my understanding). How ever:

-- See Image Attached --

I still get this issue....which from this forum thread should have been fixed by your compatibility patch - but wasn't.

Ideas?




*
Rep:
Level 97
2014 Most Unsung Member2014 Best RPG Maker User - Engine2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Use of Avatar and Signature Space2011 Best RPG Maker User (Scripting)2011 Most Mature Member2011 Favourite Staff Member2011 Best Veteran2010 Most Mature Member2010 Favourite Staff Member
Well, no, in terms of general script order, both the script and its compatibility patch should be below other custom scripts, not above them. However, the problem in this case doesn't stem from script order.

My best guess is that one of your other scripts is calling the note method of an item or skill before $game_system has been defined. Given that it could be any script you have and not necessarily the four listed, it would not be ideal to tailor a fix in terms of a particular incompatibility. No matter what script is incompatible though, it should be fixed by inserting the following lines.

Go to the Note Editor Script (not the Compatibility Patch). Go to around line 80 and see:

Code: [Select]
    # Return Original Method + edited additions
    return malgb_acigd_ntedit_7jb3 (*args) + $game_system.ma_added_notes(type, self.id)

Change it to:

Code: [Select]
    # Return Original Method + edited additions
    return malgb_acigd_ntedit_7jb3 (*args) if $game_system.nil?
    return malgb_acigd_ntedit_7jb3 (*args) + $game_system.ma_added_notes(type, self.id)

Go to around line 99 and see:

Code: [Select]
    # Return Original Method + edited additions
    return ma_asciigod_noteedit_enmy_5hv2 (*args) + $game_system.ma_added_notes(4, self.id)

Change it to:

Code: [Select]
    # Return Original Method + edited additions
    return ma_asciigod_noteedit_enmy_5hv2 (*args) if $game_system.nil?
    return ma_asciigod_noteedit_enmy_5hv2 (*args) + $game_system.ma_added_notes(4, self.id)

Go to around line 118 and see:

Code: [Select]
    # Return Original Method + edited additions
    return modalg_gdasci_nted_stte_4xs2 (*args) + $game_system.ma_added_notes(5, self.id)

Change it to:

Code: [Select]
    # Return Original Method + edited additions
    return modalg_gdasci_nted_stte_4xs2 (*args) if $game_system.nil?
    return modalg_gdasci_nted_stte_4xs2 (*args) + $game_system.ma_added_notes(5, self.id)

**
Rep: +0/-0Level 83
oh heya guys its me ASCIIgod from RRR... also Tamahome_zitser from prg maker vx community. so maybe ill go "off the topic" for a little bit. see i got the DnD system for GTBS... making my game based on the old and well renowned DnD. so i got everything set up i even fixed it so it will work with actor clone... so here is my problem now... after making my own stats and adjust everything code-wise, i made 1 trial weapon to test it in action. however there seem to be a bit of error... i found it here at Dmg Formula: inside def self.get_dv(value)... the error is that when i start my game it let me go in the new game but after that it crashes... it says undefined method delete for nilclass. if i do recall that error is caused by some sort of alias failure...  but it cant be alias failure as for it is a new def... the error direct me to this line

a = value[/[\d*]+/].delete('d').to_i
b = value[/d[\d*]+/].delete('d').to_i <<<< that line
result = [a, b]

i cant seem to find the error in this for i dont know how to read that kind of code...

can you lend me a hand here MA buddy

*
Rep:
Level 97
2014 Most Unsung Member2014 Best RPG Maker User - Engine2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Use of Avatar and Signature Space2011 Best RPG Maker User (Scripting)2011 Most Mature Member2011 Favourite Staff Member2011 Best Veteran2010 Most Mature Member2010 Favourite Staff Member
Err, I'm not sure what that has to do with the Note Editor. Can you clarify?