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

Project1

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

[已经解决] 如何让一种武器普通攻击时发动技能?

[复制链接]

Lv5.捕梦者 (版主)

梦石
20
星屑
1840
在线时间
6925 小时
注册时间
2012-12-14
帖子
11485

短篇十战斗者组别冠军开拓者贵宾短篇九勇士组亚军

跳转到指定楼层
1
发表于 2013-3-17 23:14:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 美丽晨露 于 2013-3-18 14:54 编辑

普通攻击时,一定概率发动某个技能但不进行普通攻击?
怎么做?
大家好,这里是晨露的说。请多多指教。
刚入门RM软件制作,请大家多多帮助我哦。
落雪君的欢乐像素教程,欢迎查阅。

Lv5.捕梦者

梦石
0
星屑
33442
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

2
发表于 2013-3-18 03:12:15 | 只看该作者
本帖最后由 芯☆淡茹水 于 2013-3-18 03:35 编辑

  花了 1 个小时给 小露露 写了个脚本,测试了 20 分钟,没发现 BUG ,完全符合要求,效果还不错。

脚本里都有注释,方便理解,改动。

其实可用该脚本做一个特别的游戏:特技不是角色习得,而是武器自身携带,一定几率发动。

只需要注意一点:这个武器发动特技,不消耗 sp 哦!
  1. #==============================================================================
  2. # 【 武器攻击发动特技 】
  3. #==============================================================================
  4. #  by ->  芯☆淡茹水
  5. #==============================================================================
  6. # ** 使用方法 **
  7. #                  复制该脚本,插入到 main 前。
  8. #==============================================================================
  9. ### 设置 ##
  10. #------------------------------------------------------------------------------
  11. # 攻击时有几率发动特技的武器 ID
  12. WEAPON_ID = [1, 2, 3]
  13. # 发动的特技 ID,与上面武器 ID 相对应。上面的第一个,对应下面的第一个,,,,
  14. SKILL_ID  = [10, 16, 22]
  15. # 攻击时发动特技的几率百分比  %  。
  16. PERCENT = 50
  17. #==============================================================================
  18. class Scene_Battle
  19.   def update_phase4_step2
  20.     # 如果不是强制行动
  21.     unless @active_battler.current_action.forcing
  22.       # 限制为 [敌人为普通攻击] 或 [我方为普通攻击] 的情况下
  23.       if @active_battler.restriction == 2 or @active_battler.restriction == 3
  24.         # 设置行动为攻击
  25.         @active_battler.current_action.kind = 0
  26.         @active_battler.current_action.basic = 0
  27.       end
  28.       # 限制为 [不能行动] 的情况下
  29.       if @active_battler.restriction == 4
  30.         # 清除行动强制对像的战斗者
  31.         $game_temp.forcing_battler = nil
  32.         # 移至步骤 1
  33.         @phase4_step = 1
  34.         return
  35.       end
  36.     end
  37.     # 清除对像战斗者
  38.     @target_battlers = []
  39.     # 行动种类分支
  40.     case @active_battler.current_action.kind
  41.     when 0  # 基本
  42. #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  43.       # 如果战斗者是角色
  44.       if @active_battler.is_a?(Game_Actor)
  45.          # 如果 WEAPON_ID 数组有战斗者当前的武器ID
  46.         if WEAPON_ID.include?(@active_battler.weapon_id)
  47.           # 随机 100 小于 百分比 的情况下
  48.           if rand(100) < PERCENT
  49.             # 将 i 代入 0 到 WEAPON_ID 的最大个数
  50.             for i in 0...WEAPON_ID.size
  51.               # 如果战斗者的武器 ID 等于 WEAPON_ID[i]
  52.               if @active_battler.weapon_id == WEAPON_ID[i]
  53.                 # 获取与 WEAPON_ID 相对应的特技ID SKILL_ID
  54.                 skill = $data_skills[SKILL_ID[i]]
  55.                 # 帮助窗口显示特技名
  56.                 @help_window.set_text(skill.name, 1)
  57.                 # 获取特技动画
  58.                 @animation1_id = skill.animation1_id
  59.                 @animation2_id = skill.animation2_id
  60.                 # 获取公共事件
  61.                 @common_event_id = skill.common_event_id
  62.                 # 特技有效范围
  63.                 set_target_battlers(skill.scope)
  64.                 # 应用特技效果
  65.                 for target in @target_battlers
  66.                   target.skill_effect(@active_battler, skill)
  67.                 end
  68.               end
  69.             end
  70.             # 其他情况,全部为基本行动类
  71.           else
  72.             make_basic_action_result
  73.           end
  74.         else
  75.           make_basic_action_result
  76.         end
  77.       else
  78.         make_basic_action_result
  79.       end
  80. #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  81.     when 1  # 特技
  82.       make_skill_action_result
  83.     when 2  # 物品
  84.       make_item_action_result
  85.     end
  86.     # 移至步骤 3
  87.     if @phase4_step == 2
  88.       @phase4_step = 3
  89.     end
  90.   end
  91. end
  92. #==============================================================================
复制代码
有疑问请 @

有糖就不用 @ ,直接给。v_v!

评分

参与人数 3星屑 +170 收起 理由
hcm + 100 认可答案
明特·布兰马修 + 60 认可答案
美丽晨露 + 10 十分感谢

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
20
星屑
1840
在线时间
6925 小时
注册时间
2012-12-14
帖子
11485

短篇十战斗者组别冠军开拓者贵宾短篇九勇士组亚军

3
 楼主| 发表于 2013-3-18 14:54:20 | 只看该作者
芯☆淡茹水 发表于 2013-3-18 03:12
花了 1 个小时给 小露露 写了个脚本,测试了 20 分钟,没发现 BUG ,完全符合要求,效果还不错。

脚本里 ...

谢谢你啊
效果很好耶
大家好,这里是晨露的说。请多多指教。
刚入门RM软件制作,请大家多多帮助我哦。
落雪君的欢乐像素教程,欢迎查阅。

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
865 小时
注册时间
2010-6-27
帖子
131
4
发表于 2013-3-21 11:07:06 | 只看该作者
本帖最后由 hcm 于 2013-4-3 19:04 编辑
芯☆淡茹水 发表于 2013-3-18 03:12
花了 1 个小时给 小露露 写了个脚本,测试了 20 分钟,没发现 BUG ,完全符合要求,效果还不错。

脚本里 ...


不错不错,那个概率能不能分开下,就是设置每一种武器的发动概率都不一样。还有一个小小的缺陷,如果用了连环动画脚本的话那特技也只能显示数据库那个动画,附上连环动画脚本:
  1. #==============================================================================
  2. # 本脚本来自[url]www.66rpg.com[/url],转载与使用请保留此内容。
  3. #==============================================================================
  4. # 连环动画        Ver.2.1.0       by Claimh
  5. #------------------------------------------------------------------------------
  6. # [url]http://www.k3.dion.ne.jp/~claimh/[/url]
  7. #==============================================================================
  8. class Scene_Battle
  9.   S_COMB = []
  10.   #==============================================================================
  11.   # 自定义内容开始
  12.   #==============================================================================
  13.   # 连环动画属性编号。也就是说,所有需要使用连环动画的特技添加上20号属性
  14.   COMBO_ID = 20
  15.   # 连环动画设置方法:
  16.   # S_COMB[0] = [特技编号, [动画ID1,动画ID2,动画ID3...]]
  17.   S_COMB[0] = [1,[159, 67]]
  18.    S_COMB[1] = [2,[221, 167,111,120]]
  19.    S_COMB[2] = [3,[169, 111,133]]
  20.    S_COMB[3] = [4,[331,167]]   
  21.   #==============================================================================
  22.   # 自定义内容结束
  23.   #==============================================================================

  24.   #--------------------------------------------------------------------------
  25.   #--------------------------------------------------------------------------
  26.   alias make_skill_action_result_combo make_skill_action_result
  27.   def make_skill_action_result
  28.     make_skill_action_result_combo    # 尨宍
  29.     @combo = false
  30.      if @skill.element_set.include?(COMBO_ID)
  31.       for i in 0...S_COMB.size
  32.         combo = S_COMB[i]
  33.         if @skill.id == combo[0]
  34.           @combo = true
  35.           @anime_counter = 0
  36.           @anime = combo[1]
  37.           @combo_counter = @anime.size
  38.           return
  39.         end
  40.       end
  41.     end
  42.   end
  43.   #--------------------------------------------------------------------------
  44.   #--------------------------------------------------------------------------
  45.   alias update_phase4_step4_n_combo update_phase4_step4
  46.   def update_phase4_step4
  47.     if @combo
  48.       for target in @target_battlers
  49.         target.animation_id = @animation2_id
  50.         target.animation_hit = (target.damage != "Miss")
  51.       end
  52.       @animation2_id = @anime[@anime_counter]
  53.       @anime_counter += 1
  54.       if @anime_counter > @combo_counter
  55.         @combo = false
  56.         @wait_count = 8
  57.         @phase4_step = 5
  58.       end
  59.     else
  60.       update_phase4_step4_n_combo
  61.     end
  62.   end
  63. end
复制代码

评分

参与人数 1星屑 +44 收起 理由
明特·布兰马修 + 44 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
92 小时
注册时间
2011-3-15
帖子
54
5
发表于 2013-3-24 17:16:32 | 只看该作者
{:2_270:}肿么我放在脚本里木有反应的?新人求解惑~

点评

技能跟武器的ID设定正确了吗?还是跟其他的脚本冲突了?  发表于 2013-3-24 17:18
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
92 小时
注册时间
2011-3-15
帖子
54
6
发表于 2013-3-24 17:33:12 | 只看该作者
我都是新开的工程,技能和武器的ID?我都没有改过的~还需要重新设定么?抑或要在原脚本改的?
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
20
星屑
1840
在线时间
6925 小时
注册时间
2012-12-14
帖子
11485

短篇十战斗者组别冠军开拓者贵宾短篇九勇士组亚军

7
 楼主| 发表于 2013-3-24 17:37:41 | 只看该作者
rocent 发表于 2013-3-24 17:33
我都是新开的工程,技能和武器的ID?我都没有改过的~还需要重新设定么?抑或要在原脚本改的? ...

这儿表示一点问题都没有

攻击发动特技.zip (202.09 KB, 下载次数: 42)
大家好,这里是晨露的说。请多多指教。
刚入门RM软件制作,请大家多多帮助我哦。
落雪君的欢乐像素教程,欢迎查阅。

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
92 小时
注册时间
2011-3-15
帖子
54
8
发表于 2013-3-24 17:48:26 | 只看该作者
{:2_267:}打开了你的工程后可行,然后回去打开我的以后发现也可以了……难道说要重启一次XP才能初始化?不管怎么说,太感谢大大了!我看看能不能改成普通攻击触发状态的获得~

点评

自己好好摸索一下吧  发表于 2013-3-24 17:50
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
95
在线时间
440 小时
注册时间
2012-6-5
帖子
96
9
发表于 2013-5-21 12:58:34 | 只看该作者
求VA版本
@芯☆淡茹水   
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-18 07:34

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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