Found Error in your Upgrade Scene...
To prevent odd behavior of crash when you click on the the blank entry
No_Selected_Item = "Have anything for me to see?", crashes if allowed.
def enable?(item)
return false unless item # I added this
return true if item.is_a?(RPG::EquipItem) && item.can_level unless item.level == 0 or item.max_level == 10
end
Alternate Fix
def include?(item)
if item.is_a?(RPG::EquipItem) && item.can_level
!item.is_a?(RPG::Item)
end
end
Additional Fix, for reverse repair, Upgrade Scene
def pre_upgrade_corrections
item.exp = 250 * (item.level-1) if $imported[:Sel_Equip_Exp_Leveling]
#item.exp = item.exp_to_level if $imported[:Sel_Equip_Exp_Leveling]
end
end
#--------------When Using The Level Down or Up Too I guess ---------------
ef on_item_ok
$game_party.lose_gold(item.level_upgrade_price) unless item.level == (item.max_level-9)
pre_upgrade_corrections
item.level_down # item.level_up
@gold_window.refresh
#----FOR Script: Instance Equip Leveling by Exp Ver. 1.03----
Default_Exp_Curve = '(level+1)*250'
---Lastly a patch for TheoAllen - Limited Inventory
# Version : 1.4c---
ForceGain = true
----REMOVE THE OVERWRITE WITH #'s--------# Overwrite : Trade item with party---------
#----Add #'s----This fixes alot of conflicts
#def lose_item(item, amount, include_equip = false)
#force_gain_item(item, -amount, include_equip)
#end
---------------------------------------------------------
UPGRADE SCENE allows all items to be treated as Durability Repairing.
While Keeping EXP AMOUNT TO ADD LVUP WORKING, so you just need...
Level_Prefix = -'%s'
Or Level_Prefix = '%s' Just # as I'm doing, where I simply marked all repairable equips with a - in their name directly which bypasses the issue of adding a custom lvl up, place a +in the name such as "Sword+"
For "Sword-"These Blades Need to be Repaired.
<can level>
<mult level atk: 0.70>
<mult level mat: 0.70>
if say<max level: 9> is default
For "Sword+"These Blades Need to be Repaired.
<can level>
<static level atk: 10>
<static level mat: 2>
<max level: 10> or whatever #
You can follow up with codes like in Upgrade Script
def enable?(item)
return false unless item
return true if item.is_a?(RPG::EquipItem) && item.can_level unless item.level == 0 or item.max_level == 10
end
def update_help#Modified :If Can_Not_Upgrade, item lv/max lv == #'s
else
if !item.can_level || item.level == 0 or item.max_level == 10
@help_window.set_text(TH_Instance::Scene_EquipUpgrade::Can_Not_Upgrade)
FINALLY EDIT THE ARROWS IN UPGRADE SCRIPT
def draw_param_name_arrow(x, y, param)
draw_param_name(x, y*line_height, param)
draw_right_arrow(x+172, y*line_height)
end
def draw_param_name(x, y, param_id)
change_color(system_color)
draw_text(x, y, 160, line_height, Vocab:

aram(param_id))
end
def draw_current_param(x, y, param)
change_color(normal_color)
draw_text(x, y, 160, line_height, param.to_s, 2)
end
def draw_right_arrow(x, y)
change_color(system_color)
draw_text(x, y, 22, line_height, "→", 1)
end
def draw_new_param(x, y, old_param, new_param)
change_color(param_change_color(new_param - old_param))
draw_text(x, y, 10, line_height, new_param, 2)
end
-----------------------------------------------
Weapon Evolutions can be tossed in for good measure for special weapons.
<exp to evolve: 50000>
<evolve to: 29>
Which won't conflict, then if you have another crafting SCRIPTto can make
TEMPERED +1 WEAPONS EXAMPLES SUCH AS....
ID 24"Sword+1"
ID 25"Sword+2"
ID 26"Sword+3"
ID 27"Sword+4"
ID 28"Sword+5"
ID29"Magic Sword" Text Does Not Break.
^These are the same as the Exp LVing + Weapons above where + is in the name, as these at +1. custom database items not Instance Items, & to lv them down you simply as <exp to evolve: 29>weapon
<evolve to: 27># whatever data base.
Now you have a repair & fortify system using -/+names & set upgrade pathes & special evolutions, all which are pretty complex uses of your scripts combined with each other working in conjunction to setup a system that normally doesn't work. well, which is why I opted not to use your default DURABILILTY SCRIPTS.