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

Project1

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

[已经过期] 如何让技能先执行“使用效果”,再执行技能本身?

[复制链接]

Lv2.观梦者

梦石
0
星屑
325
在线时间
252 小时
注册时间
2014-4-11
帖子
265
跳转到指定楼层
1
发表于 2016-11-19 22:24:54 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 眼中目之瞳 于 2016-11-19 22:30 编辑

一般的顺序不都是:播放技能动画(然后对目标造成效果)→“使用效果”栏目下的各项
改成:“使用效果”栏目下的各项→播放技能动画(然后对目标造成效果)

Lv2.观梦者

梦石
0
星屑
325
在线时间
252 小时
注册时间
2014-4-11
帖子
265
5
 楼主| 发表于 2016-11-20 21:49:26 | 只看该作者
本帖最后由 眼中目之瞳 于 2016-11-20 21:54 编辑
RaidenInfinity 发表于 2016-11-20 20:58
把我提供的脚本放在失效脚本的上面即可。


放在上面了,失效的脚本没问题了,但依旧没有效果,释放技能时的说明依旧像上图那样全部显示,不消失
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

梦石
0
星屑
6901
在线时间
7028 小时
注册时间
2013-11-2
帖子
1344

开拓者剧作品鉴家

4
发表于 2016-11-20 20:58:32 | 只看该作者
把我提供的脚本放在失效脚本的上面即可。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
325
在线时间
252 小时
注册时间
2014-4-11
帖子
265
3
 楼主| 发表于 2016-11-20 20:54:24 | 只看该作者
RaidenInfinity 发表于 2016-11-20 09:45
class Scene_Battle < Scene_Base
  
  def use_item

出了点问题……在添加了脚本后原本一个根据使用者ID更改变量的脚本无效了,而且出现了敌我双方的行动栏不消失的情况


这个是被无效了的脚本
RUBY 代码复制
  1. class Scene_Battle < Scene_Base
  2.       #--------------------------------------------------------------------------
  3.       # ● 使用技能/物品
  4.       #--------------------------------------------------------------------------
  5.       alias sny46_161005_use_item use_item
  6.       def use_item
  7.         # 如果使用者是我方角色,11号变量在释放的时候赋值为使用者ID
  8.         $game_variables[11] = @subject.id if @subject.is_a?(Game_Actor)
  9.         $game_variables[12] = @subject.enemy_id if @subject.is_a?(Game_Enemy)
  10.         sny46_161005_use_item
  11.       end
  12.     end
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

梦石
0
星屑
6901
在线时间
7028 小时
注册时间
2013-11-2
帖子
1344

开拓者剧作品鉴家

2
发表于 2016-11-20 09:45:33 | 只看该作者
RUBY 代码复制
  1. class Scene_Battle < Scene_Base
  2.  
  3.   def use_item
  4.         item = @subject.current_action.item
  5.         @log_window.display_use_item(@subject, item)
  6.         @subject.use_item(item)
  7.         refresh_status
  8.         targets = @subject.current_action.make_targets.compact
  9.     if item.is_a?(RPG::Skill) && [5,6,7,8].include?(item.id) #技能,ID:5,6,7,8
  10.       targets.each {|target| item.repeats.times { invoke_item(target, item) } }
  11.       show_animation(targets, item.animation_id)
  12.     else  
  13.       show_animation(targets, item.animation_id)
  14.       targets.each {|target| item.repeats.times { invoke_item(target, item) } }
  15.     end  
  16.         end
  17.  
  18. end


使用此插件脚本,并更改技能ID。如果要物品或者物品和技能都有的话请注明。

此脚本的原理是在Scene_Battle(战斗场景)的use_item(使用物品)方法(就是掌控执行使用效果和播放动画的地方)内增加判定,让某些技能的播放动画/技能效果执行顺序反过来。
if item.is_a?(RPG::Skill)是判定使用的是否技能。如果是物品的话,要放RPG::Item。&& 是“和”的符号,而 [1,2,3,4].include?(item.id) 是如果数组 [1,2,3,4] 里面包含技能/物品的ID的话,判定就成功。

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 01:46

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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