出现这样的问题原因是主角正穿戴的装备和你要变更的装备相同。
请避免这样的操作。如果无法避免,请改成这样(相应部分增加即可):
if @parameters[1] == 0
n = $game_party.weapon_number(@parameters[2])
$game_party.gain_weapon(@parameters[2], 1) if n == 0 && actor.weapon_id != @parameters[2]
else
n = $game_party.armor_number(@parameters[2])
$game_party.gain_armor(@parameters[2], 1) if n == 0 && eval("actor.armor#{@parameters[1]}_id != @parameters[2]")
end