Project1

标题: 如何让角色每次更换武器都执行一次公共事件? [打印本页]

作者: CR~    时间: 2014-12-16 13:18
标题: 如何让角色每次更换武器都执行一次公共事件?
我修改了Game_Actor得363行,,,能够让角色每次更换装备都能执行一次201号公共事件,,,但是更换武器不执行,如何能让更换武器的时候也执行一次?
  1. #==============================================================================
  2. # ■ Game_Actor
  3. #------------------------------------------------------------------------------
  4. #  处理角色的类。本类在 Game_Actors 类 ($game_actors)
  5. # 的内部使用、Game_Party 类请参考 ($game_party) 。
  6. #==============================================================================

  7. class Game_Actor < Game_Battler
  8.   #--------------------------------------------------------------------------
  9.   # ● 定义实例变量
  10.   #--------------------------------------------------------------------------
  11.   attr_reader   :name                     # 名称
  12.   attr_reader   :character_name           # 角色 文件名
  13.   attr_reader   :character_hue            # 角色 色相
  14.   attr_reader   :class_id                 # 职业 ID
  15.   attr_reader   :weapon_id                # 武器 ID
  16.   attr_reader   :armor1_id                # 盾 ID
  17.   attr_reader   :armor2_id                # 头防具 ID
  18.   attr_reader   :armor3_id                # 身体体防具 ID
  19.   attr_reader   :armor4_id                # 装饰品 ID
  20.   attr_reader   :level                    # 等级
  21.   attr_reader   :exp                      # EXP
  22.   attr_reader   :skills                   # 特技
  23.   #--------------------------------------------------------------------------
  24.   # ● 初始化对像
  25.   #     actor_id : 角色 ID
  26.   #--------------------------------------------------------------------------
  27.   def initialize(actor_id)
  28.     super()
  29.     setup(actor_id)
  30.   end
  31.   #--------------------------------------------------------------------------
  32.   # ● 设置
  33.   #     actor_id : 角色 ID
  34.   #--------------------------------------------------------------------------
  35.   def setup(actor_id)
  36.     actor = $data_actors[actor_id]
  37.     @actor_id = actor_id
  38.     @name = actor.name
  39.     @character_name = actor.character_name
  40.     @character_hue = actor.character_hue
  41.     @battler_name = actor.battler_name
  42.     @battler_hue = actor.battler_hue
  43.     @class_id = actor.class_id
  44.     @weapon_id = actor.weapon_id
  45.     @armor1_id = actor.armor1_id
  46.     @armor2_id = actor.armor2_id
  47.     @armor3_id = actor.armor3_id
  48.     @armor4_id = actor.armor4_id
  49.     @level = actor.initial_level
  50.     @exp_list = Array.new(101)
  51.     make_exp_list
  52.     @exp = @exp_list[@level]
  53.     @skills = []
  54.     @hp = maxhp
  55.     @sp = maxsp
  56.     @states = []
  57.     @states_turn = {}
  58.     @maxhp_plus = 0
  59.     @maxsp_plus = 0
  60.     @str_plus = 0
  61.     @dex_plus = 0
  62.     @agi_plus = 0
  63.     @int_plus = 0
  64.     # 学会特技
  65.     for i in 1..@level
  66.       for j in $data_classes[@class_id].learnings
  67.         if j.level == i
  68.           learn_skill(j.skill_id)
  69.         end
  70.       end
  71.     end
  72.     # 刷新自动状态
  73.     update_auto_state(nil, $data_armors[@armor1_id])
  74.     update_auto_state(nil, $data_armors[@armor2_id])
  75.     update_auto_state(nil, $data_armors[@armor3_id])
  76.     update_auto_state(nil, $data_armors[@armor4_id])
  77.   end
  78.   #--------------------------------------------------------------------------
  79.   # ● 获取角色 ID
  80.   #--------------------------------------------------------------------------
  81.   def id
  82.     return @actor_id
  83.   end
  84.   #--------------------------------------------------------------------------
  85.   # ● 获取索引
  86.   #--------------------------------------------------------------------------
  87.   def index
  88.     return $game_party.actors.index(self)
  89.   end
  90.   #--------------------------------------------------------------------------
  91.   # ● 计算 EXP
  92.   #--------------------------------------------------------------------------
  93.   def make_exp_list
  94.     actor = $data_actors[@actor_id]
  95.     @exp_list[1] = 0
  96.     pow_i = 2.4 + actor.exp_inflation / 100.0
  97.     for i in 2..100
  98.       if i > actor.final_level
  99.         @exp_list[i] = 0
  100.       else
  101.         n = actor.exp_basis * ((i + 3) ** pow_i) / (5 ** pow_i)
  102.         @exp_list[i] = @exp_list[i-1] + Integer(n)
  103.       end
  104.     end
  105.   end
  106.   #--------------------------------------------------------------------------
  107.   # ● 取得属性修正值
  108.   #     element_id : 属性 ID
  109.   #--------------------------------------------------------------------------
  110.   def element_rate(element_id)
  111.     # 获取对应属性有效度的数值
  112.     table = [0,200,150,100,50,0,-100]
  113.     result = table[$data_classes[@class_id].element_ranks[element_id]]
  114.     # 防具能防御本属性的情况下效果减半
  115.     for i in [@armor1_id, @armor2_id, @armor3_id, @armor4_id]
  116.       armor = $data_armors[i]
  117.       if armor != nil and armor.guard_element_set.include?(element_id)
  118.         result /= 2
  119.       end
  120.     end
  121.     # 状态能防御本属性的情况下效果减半
  122.     for i in @states
  123.       if $data_states[i].guard_element_set.include?(element_id)
  124.         result /= 2
  125.       end
  126.     end
  127.     # 过程结束
  128.     return result
  129.   end
  130.   #--------------------------------------------------------------------------
  131.   # ● 获取属性有效度
  132.   #--------------------------------------------------------------------------
  133.   def state_ranks
  134.     return $data_classes[@class_id].state_ranks
  135.   end
  136.   #--------------------------------------------------------------------------
  137.   # ● 判定防御属性
  138.   #     state_id : 属性 ID
  139.   #--------------------------------------------------------------------------
  140.   def state_guard?(state_id)
  141.     for i in [@armor1_id, @armor2_id, @armor3_id, @armor4_id]
  142.       armor = $data_armors[i]
  143.       if armor != nil
  144.         if armor.guard_state_set.include?(state_id)
  145.           return true
  146.         end
  147.       end
  148.     end
  149.     return false
  150.   end
  151.   #--------------------------------------------------------------------------
  152.   # ● 获取普通攻击属性
  153.   #--------------------------------------------------------------------------
  154.   def element_set
  155.     weapon = $data_weapons[@weapon_id]
  156.     return weapon != nil ? weapon.element_set : []
  157.   end
  158.   #--------------------------------------------------------------------------
  159.   # ● 获取普通攻击状态变化 (+)
  160.   #--------------------------------------------------------------------------
  161.   def plus_state_set
  162.     weapon = $data_weapons[@weapon_id]
  163.     return weapon != nil ? weapon.plus_state_set : []
  164.   end
  165.   #--------------------------------------------------------------------------
  166.   # ● 获取普通攻击状态变化 (-)
  167.   #--------------------------------------------------------------------------
  168.   def minus_state_set
  169.     weapon = $data_weapons[@weapon_id]
  170.     return weapon != nil ? weapon.minus_state_set : []
  171.   end
  172.   #--------------------------------------------------------------------------
  173.   # ● 获取 MaxHP
  174.   #--------------------------------------------------------------------------
  175.   def maxhp
  176.     n = [[base_maxhp + @maxhp_plus, 1].max, 9999].min
  177.     for i in @states
  178.       n *= $data_states[i].maxhp_rate / 100.0
  179.     end
  180.     n = [[Integer(n), 1].max, 9999].min
  181.     return n
  182.   end
  183.   #--------------------------------------------------------------------------
  184.   # ● 获取基本 MaxHP
  185.   #--------------------------------------------------------------------------
  186.   def base_maxhp
  187.     return $data_actors[@actor_id].parameters[0, @level]
  188.   end
  189.   #--------------------------------------------------------------------------
  190.   # ● 获取基本 MaxSP
  191.   #--------------------------------------------------------------------------
  192.   def base_maxsp
  193.     return $data_actors[@actor_id].parameters[1, @level]
  194.   end
  195.   #--------------------------------------------------------------------------
  196.   # ● 获取基本力量
  197.   #--------------------------------------------------------------------------
  198.   def base_str
  199.     n = $data_actors[@actor_id].parameters[2, @level]
  200.     weapon = $data_weapons[@weapon_id]
  201.     armor1 = $data_armors[@armor1_id]
  202.     armor2 = $data_armors[@armor2_id]
  203.     armor3 = $data_armors[@armor3_id]
  204.     armor4 = $data_armors[@armor4_id]
  205.     n += weapon != nil ? weapon.str_plus : 0
  206.     n += armor1 != nil ? armor1.str_plus : 0
  207.     n += armor2 != nil ? armor2.str_plus : 0
  208.     n += armor3 != nil ? armor3.str_plus : 0
  209.     n += armor4 != nil ? armor4.str_plus : 0
  210.     return [[n, 1].max, 999].min
  211.   end
  212.   #--------------------------------------------------------------------------
  213.   # ● 获取基本灵巧
  214.   #--------------------------------------------------------------------------
  215.   def base_dex
  216.     n = $data_actors[@actor_id].parameters[3, @level]
  217.     weapon = $data_weapons[@weapon_id]
  218.     armor1 = $data_armors[@armor1_id]
  219.     armor2 = $data_armors[@armor2_id]
  220.     armor3 = $data_armors[@armor3_id]
  221.     armor4 = $data_armors[@armor4_id]
  222.     n += weapon != nil ? weapon.dex_plus : 0
  223.     n += armor1 != nil ? armor1.dex_plus : 0
  224.     n += armor2 != nil ? armor2.dex_plus : 0
  225.     n += armor3 != nil ? armor3.dex_plus : 0
  226.     n += armor4 != nil ? armor4.dex_plus : 0
  227.     return [[n, 1].max, 999].min
  228.   end
  229.   #--------------------------------------------------------------------------
  230.   # ● 获取基本速度
  231.   #--------------------------------------------------------------------------
  232.   def base_agi
  233.     n = $data_actors[@actor_id].parameters[4, @level]
  234.     weapon = $data_weapons[@weapon_id]
  235.     armor1 = $data_armors[@armor1_id]
  236.     armor2 = $data_armors[@armor2_id]
  237.     armor3 = $data_armors[@armor3_id]
  238.     armor4 = $data_armors[@armor4_id]
  239.     n += weapon != nil ? weapon.agi_plus : 0
  240.     n += armor1 != nil ? armor1.agi_plus : 0
  241.     n += armor2 != nil ? armor2.agi_plus : 0
  242.     n += armor3 != nil ? armor3.agi_plus : 0
  243.     n += armor4 != nil ? armor4.agi_plus : 0
  244.     return [[n, 1].max, 999].min
  245.   end
  246.   #--------------------------------------------------------------------------
  247.   # ● 获取基本魔力
  248.   #--------------------------------------------------------------------------
  249.   def base_int
  250.     n = $data_actors[@actor_id].parameters[5, @level]
  251.     weapon = $data_weapons[@weapon_id]
  252.     armor1 = $data_armors[@armor1_id]
  253.     armor2 = $data_armors[@armor2_id]
  254.     armor3 = $data_armors[@armor3_id]
  255.     armor4 = $data_armors[@armor4_id]
  256.     n += weapon != nil ? weapon.int_plus : 0
  257.     n += armor1 != nil ? armor1.int_plus : 0
  258.     n += armor2 != nil ? armor2.int_plus : 0
  259.     n += armor3 != nil ? armor3.int_plus : 0
  260.     n += armor4 != nil ? armor4.int_plus : 0
  261.     return [[n, 1].max, 999].min
  262.   end
  263.   #--------------------------------------------------------------------------
  264.   # ● 获取基本攻击力
  265.   #--------------------------------------------------------------------------
  266.   def base_atk
  267.     weapon = $data_weapons[@weapon_id]
  268.     return weapon != nil ? weapon.atk : 0
  269.   end
  270.   #--------------------------------------------------------------------------
  271.   # ● 获取基本物理防御
  272.   #--------------------------------------------------------------------------
  273.   def base_pdef
  274.     weapon = $data_weapons[@weapon_id]
  275.     armor1 = $data_armors[@armor1_id]
  276.     armor2 = $data_armors[@armor2_id]
  277.     armor3 = $data_armors[@armor3_id]
  278.     armor4 = $data_armors[@armor4_id]
  279.     pdef1 = weapon != nil ? weapon.pdef : 0
  280.     pdef2 = armor1 != nil ? armor1.pdef : 0
  281.     pdef3 = armor2 != nil ? armor2.pdef : 0
  282.     pdef4 = armor3 != nil ? armor3.pdef : 0
  283.     pdef5 = armor4 != nil ? armor4.pdef : 0
  284.     return pdef1 + pdef2 + pdef3 + pdef4 + pdef5
  285.   end
  286.   #--------------------------------------------------------------------------
  287.   # ● 获取基本魔法防御
  288.   #--------------------------------------------------------------------------
  289.   def base_mdef
  290.     weapon = $data_weapons[@weapon_id]
  291.     armor1 = $data_armors[@armor1_id]
  292.     armor2 = $data_armors[@armor2_id]
  293.     armor3 = $data_armors[@armor3_id]
  294.     armor4 = $data_armors[@armor4_id]
  295.     mdef1 = weapon != nil ? weapon.mdef : 0
  296.     mdef2 = armor1 != nil ? armor1.mdef : 0
  297.     mdef3 = armor2 != nil ? armor2.mdef : 0
  298.     mdef4 = armor3 != nil ? armor3.mdef : 0
  299.     mdef5 = armor4 != nil ? armor4.mdef : 0
  300.     return mdef1 + mdef2 + mdef3 + mdef4 + mdef5
  301.   end
  302.   #--------------------------------------------------------------------------
  303.   # ● 获取基本回避修正
  304.   #--------------------------------------------------------------------------
  305.   def base_eva
  306.     armor1 = $data_armors[@armor1_id]
  307.     armor2 = $data_armors[@armor2_id]
  308.     armor3 = $data_armors[@armor3_id]
  309.     armor4 = $data_armors[@armor4_id]
  310.     eva1 = armor1 != nil ? armor1.eva : 0
  311.     eva2 = armor2 != nil ? armor2.eva : 0
  312.     eva3 = armor3 != nil ? armor3.eva : 0
  313.     eva4 = armor4 != nil ? armor4.eva : 0
  314.     return eva1 + eva2 + eva3 + eva4
  315.   end
  316.   #--------------------------------------------------------------------------
  317.   # ● 普通攻击 获取攻击方动画 ID
  318.   #--------------------------------------------------------------------------
  319.   def animation1_id
  320.     weapon = $data_weapons[@weapon_id]
  321.     return weapon != nil ? weapon.animation1_id : 0
  322.   end
  323.   #--------------------------------------------------------------------------
  324.   # ● 普通攻击 获取对像方动画 ID
  325.   #--------------------------------------------------------------------------
  326.   def animation2_id
  327.     weapon = $data_weapons[@weapon_id]
  328.     return weapon != nil ? weapon.animation2_id : 0
  329.   end
  330.   #--------------------------------------------------------------------------
  331.   # ● 获取类名
  332.   #--------------------------------------------------------------------------
  333.   def class_name
  334.     return $data_classes[@class_id].name
  335.   end
  336.   #--------------------------------------------------------------------------
  337.   # ● 获取 EXP 字符串
  338.   #--------------------------------------------------------------------------
  339.   def exp_s
  340.     return @exp_list[@level+1] > 0 ? @exp.to_s : "-------"
  341.   end
  342.   #--------------------------------------------------------------------------
  343.   # ● 获取下一等级的 EXP 字符串
  344.   #--------------------------------------------------------------------------
  345.   def next_exp_s
  346.     return @exp_list[@level+1] > 0 ? @exp_list[@level+1].to_s : "-------"
  347.   end
  348.   #--------------------------------------------------------------------------
  349.   # ● 获取离下一等级还需的 EXP 字符串
  350.   #--------------------------------------------------------------------------
  351.   def next_rest_exp_s
  352.     return @exp_list[@level+1] > 0 ?
  353.       (@exp_list[@level+1] - @exp).to_s : "-------"
  354.   end
  355.   #--------------------------------------------------------------------------
  356.   # ● 更新自动状态
  357.   #     old_armor : 卸下防具
  358.   #     new_armor : 装备防具
  359.   #--------------------------------------------------------------------------
  360.   def update_auto_state(old_armor, new_armor)
  361.     ##################################################
  362.     $game_temp.common_event_id = 201
  363.     ##################################################
  364.     # 强制解除卸下防具的自动状态
  365.     if old_armor != nil and old_armor.auto_state_id != 0
  366.       remove_state(old_armor.auto_state_id, true)
  367.     end
  368.     # 强制附加装备防具的自动状态
  369.     if new_armor != nil and new_armor.auto_state_id != 0
  370.       add_state(new_armor.auto_state_id, true)
  371.     end
  372.   end
  373.   #--------------------------------------------------------------------------
  374.   # ● 装备固定判定
  375.   #     equip_type : 装备类型
  376.   #--------------------------------------------------------------------------
  377.   def equip_fix?(equip_type)
  378.     case equip_type
  379.     when 0  # 武器
  380.       return $data_actors[@actor_id].weapon_fix
  381.     when 1  # 盾
  382.       return $data_actors[@actor_id].armor1_fix
  383.     when 2  # 头
  384.       return $data_actors[@actor_id].armor2_fix
  385.     when 3  # 身体
  386.       return $data_actors[@actor_id].armor3_fix
  387.     when 4  # 装饰品
  388.       return $data_actors[@actor_id].armor4_fix
  389.     end
  390.     return false
  391.   end
  392.   #--------------------------------------------------------------------------
  393.   # ● 变更装备
  394.   #     equip_type : 装备类型
  395.   #     id    : 武器 or 防具 ID  (0 为解除装备)
  396.   #--------------------------------------------------------------------------
  397.   def equip(equip_type, id)
  398.     case equip_type
  399.     when 0  # 武器
  400.       if id == 0 or $game_party.weapon_number(id) > 0
  401.         $game_party.gain_weapon(@weapon_id, 1)
  402.         @weapon_id = id
  403.         $game_party.lose_weapon(id, 1)
  404.       end
  405.     when 1  # 盾
  406.       if id == 0 or $game_party.armor_number(id) > 0
  407.         update_auto_state($data_armors[@armor1_id], $data_armors[id])
  408.         $game_party.gain_armor(@armor1_id, 1)
  409.         @armor1_id = id
  410.         $game_party.lose_armor(id, 1)
  411.       end
  412.     when 2  # 头
  413.       if id == 0 or $game_party.armor_number(id) > 0
  414.         update_auto_state($data_armors[@armor2_id], $data_armors[id])
  415.         $game_party.gain_armor(@armor2_id, 1)
  416.         @armor2_id = id
  417.         $game_party.lose_armor(id, 1)
  418.       end
  419.     when 3  # 身体
  420.       if id == 0 or $game_party.armor_number(id) > 0
  421.         update_auto_state($data_armors[@armor3_id], $data_armors[id])
  422.         $game_party.gain_armor(@armor3_id, 1)
  423.         @armor3_id = id
  424.         $game_party.lose_armor(id, 1)
  425.       end
  426.     when 4  # 装饰品
  427.       if id == 0 or $game_party.armor_number(id) > 0
  428.         update_auto_state($data_armors[@armor4_id], $data_armors[id])
  429.         $game_party.gain_armor(@armor4_id, 1)
  430.         @armor4_id = id
  431.         $game_party.lose_armor(id, 1)
  432.       end
  433.     end
  434.   end
  435.   #--------------------------------------------------------------------------
  436.   # ● 可以装备判定
  437.   #     item : 物品
  438.   #--------------------------------------------------------------------------
  439.   def equippable?(item)
  440.     # 武器的情况
  441.     if item.is_a?(RPG::Weapon)
  442.       # 包含当前的职业可以装备武器的场合
  443.       if $data_classes[@class_id].weapon_set.include?(item.id)
  444.         return true
  445.       end
  446.     end
  447.     # 防具的情况
  448.     if item.is_a?(RPG::Armor)
  449.       # 不包含当前的职业可以装备武器的场合
  450.       if $data_classes[@class_id].armor_set.include?(item.id)
  451.         return true
  452.       end
  453.     end
  454.     return false
  455.   end
  456.   #--------------------------------------------------------------------------
  457.   # ● 更改 EXP
  458.   #     exp : 新的 EXP
  459.   #--------------------------------------------------------------------------
  460.   def exp=(exp)
  461.     @exp = [[exp, 9999999].min, 0].max
  462.     # 升级
  463.     while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
  464.       @level += 1
  465.       # 学会特技
  466.       for j in $data_classes[@class_id].learnings
  467.         if j.level == @level
  468.           learn_skill(j.skill_id)
  469.         end
  470.       end
  471.     end
  472.     # 降级
  473.     while @exp < @exp_list[@level]
  474.       @level -= 1
  475.     end
  476.     # 修正当前的 HP 与 SP 超过最大值
  477.     @hp = [@hp, self.maxhp].min
  478.     @sp = [@sp, self.maxsp].min
  479.   end
  480.   #--------------------------------------------------------------------------
  481.   # ● 更改等级
  482.   #     level : 新的等级
  483.   #--------------------------------------------------------------------------
  484.   def level=(level)
  485.     # 检查上下限
  486.     level = [[level, $data_actors[@actor_id].final_level].min, 1].max
  487.     # 更改 EXP
  488.     self.exp = @exp_list[level]
  489.   end
  490.   #--------------------------------------------------------------------------
  491.   # ● 觉悟特技
  492.   #     skill_id : 特技 ID
  493.   #--------------------------------------------------------------------------
  494.   def learn_skill(skill_id)
  495.     if skill_id > 0 and not skill_learn?(skill_id)
  496.       @skills.push(skill_id)
  497.       @skills.sort!
  498.     end
  499.   end
  500.   #--------------------------------------------------------------------------
  501.   # ● 遗忘特技
  502.   #     skill_id : 特技 ID
  503.   #--------------------------------------------------------------------------
  504.   def forget_skill(skill_id)
  505.     @skills.delete(skill_id)
  506.   end
  507.   #--------------------------------------------------------------------------
  508.   # ● 已经学会的特技判定
  509.   #     skill_id : 特技 ID
  510.   #--------------------------------------------------------------------------
  511.   def skill_learn?(skill_id)
  512.     return @skills.include?(skill_id)
  513.   end
  514.   #--------------------------------------------------------------------------
  515.   # ● 可以使用特技判定
  516.   #     skill_id : 特技 ID
  517.   #--------------------------------------------------------------------------
  518.   def skill_can_use?(skill_id)
  519.     if not skill_learn?(skill_id)
  520.       return false
  521.     end
  522.     return super
  523.   end
  524.   #--------------------------------------------------------------------------
  525.   # ● 更改名称
  526.   #     name : 新的名称
  527.   #--------------------------------------------------------------------------
  528.   def name=(name)
  529.     @name = name
  530.   end
  531.   #--------------------------------------------------------------------------
  532.   # ● 更改职业 ID
  533.   #     class_id : 新的职业 ID
  534.   #--------------------------------------------------------------------------
  535.   def class_id=(class_id)
  536.     if $data_classes[class_id] != nil
  537.       @class_id = class_id
  538.       # 避开无法装备的物品
  539.       unless equippable?($data_weapons[@weapon_id])
  540.         equip(0, 0)
  541.       end
  542.       unless equippable?($data_armors[@armor1_id])
  543.         equip(1, 0)
  544.       end
  545.       unless equippable?($data_armors[@armor2_id])
  546.         equip(2, 0)
  547.       end
  548.       unless equippable?($data_armors[@armor3_id])
  549.         equip(3, 0)
  550.       end
  551.       unless equippable?($data_armors[@armor4_id])
  552.         equip(4, 0)
  553.       end
  554.     end
  555.   end
  556.   #--------------------------------------------------------------------------
  557.   # ● 更改图形
  558.   #     character_name : 新的角色 文件名
  559.   #     character_hue  : 新的角色 色相
  560.   #     battler_name   : 新的战斗者 文件名
  561.   #     battler_hue    : 新的战斗者 色相
  562.   #--------------------------------------------------------------------------
  563.   def set_graphic(character_name, character_hue, battler_name, battler_hue)
  564.     @character_name = character_name
  565.     @character_hue = character_hue
  566.     @battler_name = battler_name
  567.     @battler_hue = battler_hue
  568.   end
  569.   #--------------------------------------------------------------------------
  570.   # ● 取得战斗画面的 X 坐标
  571.   #--------------------------------------------------------------------------
  572.   def screen_x
  573.     case self.index
  574.     when 0
  575.       return 480
  576.     when 1
  577.       return 515
  578.     when 2
  579.       return 550
  580.     when 3
  581.       return 600
  582.     else
  583.       return 640
  584.     end
  585.   end
  586.   #--------------------------------------------------------------------------
  587.   # ● 取得战斗画面的 Y 坐标
  588.   #--------------------------------------------------------------------------
  589.   def screen_y
  590.     case self.index
  591.     when 0
  592.       return 270
  593.     when 1
  594.       return 280
  595.     when 2
  596.       return 290
  597.     when 3
  598.       return 300
  599.     else
  600.       return 1000
  601.     end
  602.   end
  603.   #--------------------------------------------------------------------------
  604.   # ● 取得战斗画面的 Z 坐标
  605.   #--------------------------------------------------------------------------
  606.   def screen_z
  607.     # 返回计算后的队伍 Z 坐标的排列顺序
  608.     case self.index
  609.     when 0
  610.       return 0
  611.     when 1
  612.       return 1
  613.     when 2
  614.       return 2
  615.     when 3
  616.       return 3
  617.     else
  618.       return 0
  619.     end
  620.   end

  621.   
  622.   def skill_can_use?(skill_id)
  623.     return super
  624.   end
  625.   
  626.   def change_weapon(id)
  627.     @weapon_id = id
  628.   end
  629.   
  630. end
复制代码

作者: 芯☆淡茹水    时间: 2014-12-16 16:42
把你的那句加在 433与434 之间试试。
作者: Im剑侠客    时间: 2014-12-17 06:05
有感于公共事件是属于Scene_Map模块的,所以在菜单中用它是不会立即响应。建议露珠换一种实现方式~
作者: Im剑侠客    时间: 2014-12-18 06:10
今天学会了一个词语,叫做简单又粗暴。细细想想也有道理。露珠想要在公共事件中实现的功能,或许可以换成脚本语言写一段。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1