设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2313|回复: 2
打印 上一主题 下一主题

[已经过期] 单技能连击脚本 物理技能攻击无效!怎么设置

[复制链接]

Lv2.观梦者

梦石
0
星屑
365
在线时间
31 小时
注册时间
2014-12-28
帖子
13
跳转到指定楼层
1
发表于 2019-6-6 19:27:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
module RPG
  class Skill
    def name
      name = @name.split(/,/)[0]
      return name != nil ? name : ""
    end
    def hit_count
      name = @name.split(/,/)[1]
      return name != nil ? name.to_i.abs : 0
    end
    def attack_count
      name = @name.split(/,/)[2]
      return name != nil ? name.to_i.abs : 0
    end
  end
end

class Spriteset_Battle
def damage_effect?
   for sprite in @enemy_sprites + @actor_sprites
     return true if sprite.damage_effect?
   end
   return false
end
end  
class Scene_Battle
alias sailcat_update_phase4_step1 update_phase4_step1
alias sailcat_make_skill_action_result make_skill_action_result
alias sailcat_update_phase4_step5 update_phase4_step5

def update_phase4_step1
   @hit_count = 0
   @attack_count = 0
   sailcat_update_phase4_step1
end
def make_skill_action_result
   sailcat_make_skill_action_result
   @attack_count = @skill.attack_count
   @hit_count = @skill.hit_count
   #规定可以法术连击的技能id
   can_use_skill = [133,72,308,309,339,382,390,335]
   #检测法术连击技能
   if can_use_skill.include?(@skill.id)
     if @active_battler.skill_learn?(93)
       if rand(100) < 80
         @hit_count = 6
       end
     elsif @active_battler.skill_learn?(92)
       if rand(100) < 80
         @hit_count = 2
       end
     elsif @active_battler.states.include?(73)
       if rand(100) < 80
         @hit_count = 1
       end
     end
   end
end
  def update_phase4_step5
   
    sailcat_update_phase4_step5
    if @common_event_id > 0
      common_event = $data_common_events[@common_event_id]
      $game_system.battle_interpreter.setup(common_event.list, 0)
    end
    if @attack_count > 0
      for target in @target_battlers
        if target.damage != nil
          @phase4_step = 5
          target.damage = nil
          return
        end
        target.errorDead = true
        for i in 0...@attack_count
          target.errorDead = true
          target.skill_effect(@active_battler, @skill)
        end
      end
      @attack_count = 0
    end
    if @hit_count > 0
      for target in @target_battlers.clone
        if target.dead?
          if @target_battlers.size > 1
            @target_battlers.delete(target)
          else
            @target_battlers.delete(target)
            if target.is_a?(Game_Enemy)
              target = $game_troop.smooth_target_enemy(target.index)
            else
              target = $game_party.smooth_target_actor(target.index)
            end
            if target.is_a?(Game_Battler)
              @target_battlers.push(target)
            end
          end
        end
      end
      if @target_battlers.size == 0
        return
      end
      for target in @target_battlers
        if target.damage != nil and false
          @phase4_step = 5
          return
        end
        target.skill_effect(@active_battler, @skill)
      end
      @hit_count -= 1
      @phase4_step = 3
    end
  end
end

Lv2.观梦者

梦石
0
星屑
365
在线时间
31 小时
注册时间
2014-12-28
帖子
13
2
 楼主| 发表于 2019-6-6 19:28:42 | 只看该作者
物理技能连击效果 无效 只有人物施法动画。没有人物攻击动画
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
14626
在线时间
2197 小时
注册时间
2019-1-24
帖子
1123

R考场第七期纪念奖

3
发表于 2019-6-8 11:36:35 | 只看该作者
可否把范例工程上传一份共同参详下,你发这个代码不知所云啊。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-27 10:00

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表