Project1

标题: 自己做了一个单体特技变全员范围的特效,有一个问题 [打印本页]

作者: 幻耶    时间: 2012-3-31 21:53
标题: 自己做了一个单体特技变全员范围的特效,有一个问题
本帖最后由 幻耶 于 2012-4-1 00:12 编辑

做了一个单体特技变全员范围的特效,当角色处于20号状态时,所有的单体特技攻击变成全员的范围,但是有一个问题:当角色刚刚附加20号状态,第一次单体特技依然是单体范围,同样的特技要等到第二次攻击开始才会变成全员范围,这是为什么?看不明白的请下载附件吧。。脚本改动了两个地方:

改动1在 Game_Battler 3 的 ● 应用特技效果下,# 防御修正 上面:
      # 伤害符号正确的情况下
      if self.damage > 0
        if user.is_a?(Game_Actor) and self.damage.to_i > 0
          if user.states.include?(20)
            $attack_all1 = true
          else
            $attack_all1 = false
          end
        end
        
        # 防御修正
        if self.guarding?
          self.damage /= 2
        end
      end



改动2在 Scene_Battle 4 的● 设置物品或特技对像方的战斗者 下:
    # 行动方的战斗者是角色的情况下
    if @active_battler.is_a?(Game_Actor)
      # 效果范围分支
      case scope
      when 1  # 敌单体
          index = @active_battler.current_action.target_index
           if $attack_all1 == true
          for enemy in $game_troop.enemies
            if enemy.exist?
              @target_battlers.push(enemy)
            end
          end
        else
          @target_battlers.push($game_troop.smooth_target_enemy(index))
        end
        
        @target_battlers.push($game_troop.smooth_target_enemy(index))
      when 2  # 敌全体dsu_plus_rewardpost_czw

Project2.zip

202.11 KB, 下载次数: 16


作者: 羞射了    时间: 2012-4-1 11:03
我来吐槽一下你第一段基本是多余的,其实只要在第二段判断范围分支的这里,判断@active_battler的states就可以了。

你之所以会第一次无效第二次才有效,那是因为使用技能是先执行范围判断,再执行效果判断的。
作者: though110112113    时间: 2012-4-21 04:41
我的是按键切换敌我…自己打自己,给敌人加血……




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