じ☆ve冰风 发表于 2024-4-19 21:17:24

装备附带技能

说明:
使装备附带技能,使用装备时习得技能,卸下装备后即遗忘该技能。
对于事件中的“变更装备”也一样有效。=begin装备附带技能V1.0作者:失落的乐章说明:使装备附带技能,使用装备时习得技能,卸下装备后即遗忘该技能。对于事件中的“变更装备”也一样有效。=endmodule SGS_ES#以下是对装备及其附属技能的设定。格式为“武器ID => 技能ID”,如下。#WPSKILL ={ 4 => 60, #武器附带技能            3 => 59            }A1SKILL = { }       #防具1(默认为盾)附带技能A2SKILL = { }       #防具2(默认为头部防具)附带技能A3SKILL = { }       #防具3(默认为身体防具)附带技能A4SKILL = { 29 => 7 }       #防具4(默认为装饰品)附带技能def self.forget_skill(actor)      WPSKILL.each { |wq,sk| actor.forget_skill(sk) if actor.weapon_id == wq }    A1SKILL.each { |wq,sk| actor.forget_skill(sk) if actor.armor1_id == wq }    A2SKILL.each { |wq,sk| actor.forget_skill(sk) if actor.armor2_id == wq }    A3SKILL.each { |wq,sk| actor.forget_skill(sk) if actor.armor3_id == wq }    A4SKILL.each { |wq,sk| actor.forget_skill(sk) if actor.armor4_id == wq }enddef self.learn_skill(actor)      WPSKILL.each { |wq,sk| actor.learn_skill(sk) if actor.weapon_id == wq }    A1SKILL.each { |wq,sk| actor.learn_skill(sk) if actor.armor1_id == wq }    A2SKILL.each { |wq,sk| actor.learn_skill(sk) if actor.armor2_id == wq }    A3SKILL.each { |wq,sk| actor.learn_skill(sk) if actor.armor3_id == wq }    A4SKILL.each { |wq,sk| actor.learn_skill(sk) if actor.armor4_id == wq }endendclass Interpreter#--------------------------------------------------------------------------# ● 变更装备#--------------------------------------------------------------------------def command_319    # 获取角色    actor = $game_actors[@parameters]    # 变更角色    if actor != nil      SGS_ES.forget_skill(actor)            actor.equip(@parameters, @parameters)            SGS_ES.learn_skill(actor)    end    # 继续    return trueendendclass Scene_Equipdef update_item    if Input.trigger?(Input::B)      $game_system.se_play($data_system.cancel_se)      @right_window.active = true      @item_window.active = false      @item_window.index = -1      return    end    if Input.trigger?(Input::C)      $game_system.se_play($data_system.equip_se)      item = @item_window.item            actemp = $game_actors[@actor_index+1]      SGS_ES.forget_skill(actemp)      @actor.equip(@right_window.index, item == nil ? 0 : item.id)      SGS_ES.learn_skill(actemp)      @right_window.active = true      @item_window.active = false      @item_window.index = -1      @right_window.refresh      @item_window.refresh      return    endendend复制代码范例:
             本帖来自P1论坛作者失落的乐章,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=308441若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。
页: [1]
查看完整版本: 装备附带技能