じ☆ve冰风 发表于 2025-2-3 02:56:22

还是因为删除技能的问题【已解决】

因为论坛回档,以前的帖子没了,连大佬的脚本都丢了一个

#==============================================================================
# ■ RPG::UsableItem
#==============================================================================
class RPG::UsableItem
#--------------------------------------------------------------------------
# ● 偷窃技能的技能かどうかを返す
#--------------------------------------------------------------------------
def steal_skill?
    .include?(@id)
end
end
#==============================================================================
# ■ RPG::Item
#==============================================================================
class RPG::Item
#--------------------------------------------------------------------------
# ● 盗めるスキルかどうかを返す
#--------------------------------------------------------------------------
def can_steal?
    false
end
end
#==============================================================================
# ■ Game_ActionResult
#==============================================================================
class Game_ActionResult
#--------------------------------------------------------------------------
# ● 公開インスタンス変数
#--------------------------------------------------------------------------
attr_accessor :steal_skills
#--------------------------------------------------------------------------
# ● クリア
#--------------------------------------------------------------------------
alias tmsksteal_game_actionresult_clear clear
def clear
    tmsksteal_game_actionresult_clear
    @steal_skills = []
end
#--------------------------------------------------------------------------
# ● 何らかのステータス(能力値かステート)が影響を受けたかの判定
#--------------------------------------------------------------------------
alias tmsksteal_game_actionresult_status_affected? status_affected?
def status_affected?
    tmsksteal_game_actionresult_status_affected? || !@steal_skills.empty?
end
end
#==============================================================================
# ■ Game_Battler
#==============================================================================
class Game_Battler
#--------------------------------------------------------------------------
# ● スキル/アイテムの効果適用
#--------------------------------------------------------------------------
alias tmsksteal_game_battler_item_apply item_apply
def item_apply(user, item)
    tmsksteal_game_battler_item_apply(user, item)
    return if user.enemy?
    if item.steal_skill? && @result.hit?
      if enemy?
      enemy.actions.each do |action|
          skill = $data_skills
          next if user.skill_learn?(skill)
          @result.steal_skills.push(skill.id)
          user.learn_steal_skill(skill.id)
      end
      else
      skills.each do |skill|
          next if user.skill_learn?(skill)
          @result.steal_skills.push(skill.id)
          user.learn_steal_skill(skill.id)
      end
      end
    end
end
end
#==============================================================================
# ■ Game_Actor
#==============================================================================
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# ● スキルの初期化
#--------------------------------------------------------------------------
alias tmsksteal_game_actor_init_skills init_skills
def init_skills
    @steal_skills = []
    tmsksteal_game_actor_init_skills
end
#--------------------------------------------------------------------------
# ● 追加スキルの取得
#--------------------------------------------------------------------------
alias tmsksteal_game_actor_added_skills added_skills
def added_skills
    result = tmsksteal_game_actor_added_skills
    @steal_skills.each {|id| result.push(id) }
    result
end
#--------------------------------------------------------------------------
# ● スキルの習得済み判定
#--------------------------------------------------------------------------
alias tmsksteal_game_actor_skill_learn? skill_learn?
def skill_learn?(skill)
    return true if tmsksteal_game_actor_skill_learn?(skill)
    skill.is_a?(RPG::Skill) && @steal_skills.include?(skill.id)
end
#--------------------------------------------------------------------------
# ● 盗んだスキルの習得
#--------------------------------------------------------------------------
def learn_steal_skill(skill_id)
    @steal_skills.push(skill_id)
end
end
#==============================================================================
# ■ Window_BattleLog
#==============================================================================
class Window_BattleLog < Window_Selectable
#--------------------------------------------------------------------------
# ● 能力強化/弱体の表示
#--------------------------------------------------------------------------
alias tmsksteal_window_battlelog_display_changed_buffs display_changed_buffs
def display_changed_buffs(target)
    tmsksteal_window_battlelog_display_changed_buffs(target)
    display_steal_skill(target)
end
#--------------------------------------------------------------------------
# ● 盗んだスキルの表示
#--------------------------------------------------------------------------
def display_steal_skill(target)
    target.result.steal_skills.each do |id|
      replace_text(sprintf("%sを盗んだ!", $data_skills.name))
      wait
    end
end
end
            本帖来自P1论坛作者间桐樱,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=496638若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。
页: [1]
查看完整版本: 还是因为删除技能的问题【已解决】