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

Project1

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

[已经解决] 关于写轮眼的实现

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
20 小时
注册时间
2014-2-6
帖子
34
跳转到指定楼层
1
发表于 2014-2-15 18:21:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 xiaojiahuo3 于 2014-2-19 15:45 编辑

就是模仿对方技能的技能,考虑使用公共事件,但是缺少对对方技能的取样手段,特来求助!

Lv1.梦旅人

薄凉看客

梦石
0
星屑
50
在线时间
1269 小时
注册时间
2010-6-20
帖子
1316
2
发表于 2014-2-15 19:46:42 | 只看该作者
本帖最后由 恋′挂机 于 2014-2-15 21:31 编辑

不管对方使用什么特技
不管该特技的效果范围

使用写轮眼技能只能对目标起作用(就是本来敌人的技能是全体的,现在你复制的技能只能攻击那一个敌人!!!)

PS 如果对方使用加血技能 。。。  不说了 自己测试看看吧

#==============================================================================
# ■ Scene_Battle (分割定义 4)
#------------------------------------------------------------------------------
#  处理战斗画面的类。
#==============================================================================
class Game_Enemy < Game_Battler
  attr_accessor :skill
end

class Scene_Battle
  #--------------------------------------------------------------------------
  # ● 生成特技行动结果
  #--------------------------------------------------------------------------
  def make_skill_action_result
   
    # 获取特技
  @skill = $data_skills[@active_battler.current_action.skill_id]
   
    # ------------------------------------
    # 设置id
    # ------------------------------------
   
    写轮眼 = 100 # 写轮眼特技id
   
    if @skill.id == 写轮眼
      set_target_battlers(@skill.scope)
      if !@target_battlers[0].skill.nil?
        @skill = @target_battlers[0].skill
        @target_battlers[0].skill = nil
        @active_battler.sp -= @skill.sp_cost
        @status_window.refresh
        @help_window.set_text(@skill.name, 1)
        @animation1_id = @skill.animation1_id
        @animation2_id = @skill.animation2_id
        @common_event_id = @skill.common_event_id
        for target in @target_battlers
          target.skill_effect(@active_battler, @skill)
        end
        return
      end
    end
   
   
    # 如果不是强制行动
    unless @active_battler.current_action.forcing
      # 因为 SP 耗尽而无法使用的情况下
      unless @active_battler.skill_can_use?(@skill.id)
        # 清除强制行动对像的战斗者
        $game_temp.forcing_battler = nil
        # 移至步骤 1
        @phase4_step = 1
        return
      end
    end
   
    # 消耗 SP
    @active_battler.sp -= @skill.sp_cost
    # 刷新状态窗口
    @status_window.refresh
    # 在帮助窗口显示特技名
    @help_window.set_text(@skill.name, 1)
    # 设置动画 ID
    @animation1_id = @skill.animation1_id
    @animation2_id = @skill.animation2_id
    # 设置公共事件 ID
    @common_event_id = @skill.common_event_id
    # 设置对像侧战斗者
    set_target_battlers(@skill.scope)
    # 应用特技效果
    for target in @target_battlers
      target.skill_effect(@active_battler, @skill)
    end
   
   
    # ------------------------------------
    # 记录 施放的特技与施放特技的战斗者
    # ------------------------------------
    return if @active_battler.is_a? Game_Actor
    @active_battler.skill = @skill
   
   
  end
end

点评

好顶赞!!!  发表于 2014-2-17 15:43
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
185
在线时间
0 小时
注册时间
2014-2-15
帖子
1
3
发表于 2014-2-16 10:50:39 | 只看该作者



  知道了 ~~~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
20 小时
注册时间
2014-2-6
帖子
34
4
 楼主| 发表于 2014-2-16 16:09:26 | 只看该作者
恋′挂机 发表于 2014-2-15 19:46
不管对方使用什么特技
不管该特技的效果范围

谢谢,可用。不过有点小问题,如果先手的话会失效……不过问题不大,我在脚本里改成必定后手就好了。再次谢谢大神指教。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
20 小时
注册时间
2014-2-6
帖子
34
5
 楼主| 发表于 2014-2-16 16:25:42 | 只看该作者
恋′挂机 发表于 2014-2-15 19:46
不管对方使用什么特技
不管该特技的效果范围

……脚本没问题,强制追加后手发动后,写轮眼直接无效果了,我的错!之前说会无效是因为对面用的普通攻击,我看错了,不好意思!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-18 09:49

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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