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

Project1

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

求一个白花恋诗·外传里面技能的脚本..

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-7-11
帖子
85
跳转到指定楼层
1
发表于 2009-4-26 21:55:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽

Lv1.梦旅人

梦石
0
星屑
50
在线时间
60 小时
注册时间
2008-8-27
帖子
531
2
发表于 2009-4-26 22:15:37 | 只看该作者
只给角色设置一个技能 然后用那个技能升级的脚本

回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-7-11
帖子
85
3
 楼主| 发表于 2009-4-26 22:51:40 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-7-11
帖子
85
4
 楼主| 发表于 2009-4-27 00:17:08 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
61
在线时间
24 小时
注册时间
2008-8-5
帖子
1924
5
发表于 2009-4-29 17:43:42 | 只看该作者
实现这个的方法就是在刷新角色命令窗口的时候,当在[特技]选项上按 C 后,不弹出特技窗口而直接使用某个技能,所以需要改一下 start_skill_select,把原来生成特技窗口的代码替换为直接应用某种技能(直接从 update_phase3_skill_select 中复制粘贴按下 C 键判断下面的代码),然后在 end_skill_select 中也注释掉特技窗口相关的部分~

但仅仅这样做会有一些问题——使用特技选择目标时,按取消默认是回到特技窗口,而我们这样改了之后当然是不能回到特技窗口的,而是应该直接回到战斗命令窗口~所以还需要修改 end_actor_select 和 end_enemy_select,追加判断当前的指令是否特技,是的话就把焦点转移到战斗命令窗口,并设其为可见……

具体方法,插入这段脚本,留意红色部分是关键(这里是取职业数据库的第一个技能直接使用,如果当前没有学会的技能则无法使用特技):
class Scene_Battle
  #--------------------------------------------------------------------------
  # ● 开始选择特技
  #--------------------------------------------------------------------------
  def start_skill_select
    # 生成特技窗口
    #@skill_window = Window_Skill.new(@active_battler)
    # 关联帮助窗口
    #@skill_window.help_window = @help_window

    # 无效化角色指令窗口
    @actor_command_window.active = false
    @actor_command_window.visible = false   
    # 获取角色第一个特技
    if @active_battler.skills.length != 0
      @skill = $data_skills[@active_battler.skills[0]]
    end

    # 无法使用的情况下
    if @skill == nil or not @active_battler.skill_can_use?(@skill.id)
      # 演奏冻结 SE
      $game_system.se_play($data_system.buzzer_se)
      # 选择特技结束
      end_skill_select

      return
    end
    # 演奏确定 SE
    $game_system.se_play($data_system.decision_se)
    # 设置行动
    @active_battler.current_action.skill_id = @skill.id
    # 效果范围是敌单体的情况下
    if @skill.scope == 1
      # 开始选择敌人
      start_enemy_select
    # 效果范围是我方单体的情况下
    elsif @skill.scope == 3 or @skill.scope == 5
      # 开始选择角色
      start_actor_select
    # 效果范围不是单体的情况下
    else
      # 选择特技结束
      end_skill_select
      # 转到下一位角色的指令输入
      phase3_next_actor
    end
  end
  #--------------------------------------------------------------------------
  # ● 选择特技结束
  #--------------------------------------------------------------------------
  def end_skill_select
    # 释放特技窗口
    #@skill_window.dispose
    #@skill_window = nil

    # 隐藏帮助窗口
    @help_window.visible = false
    # 有效化角色指令窗口
    @actor_command_window.active = true
    @actor_command_window.visible = true
  end
  #--------------------------------------------------------------------------
  # ● 结束选择敌人
  #--------------------------------------------------------------------------
  def end_enemy_select
    # 释放敌人箭头
    @enemy_arrow.dispose
    @enemy_arrow = nil
    # 指令为 [战斗] 的情况下
    #if @actor_command_window.index == 0
    # 指令为 [攻击] 或 [特技] 的情况下

    if @actor_command_window.index == 0 or @actor_command_window.index == 1
      end_skill_select
    end

  end
  #--------------------------------------------------------------------------
  # ● 结束选择角色
  #--------------------------------------------------------------------------
  def end_actor_select
    # 指令为 [特技] 的情况下
    if @actor_command_window.index == 1
      end_skill_select
    end

    # 释放角色箭头
    @actor_arrow.dispose
    @actor_arrow = nil
  end
end

系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-16 02:01

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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