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

Project1

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

[已经过期] 怎么样实现这样的技能

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
106 小时
注册时间
2011-9-26
帖子
23
跳转到指定楼层
1
发表于 2016-3-3 11:45:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
第一个:第一次用原伤害,第二次用1.5倍伤害,第三次2.25倍伤害。
第二个:某个队友存在后1.5倍伤害。
第三个:某个编号敌人存在1.5倍伤害。
第四个:造成的伤害在增加对方收到的状态的数量除以3
第五个:使用后,敌方使用的伤害技能(魔法)无效并回复同等的数值(一回合)。

Lv3.寻梦者

梦石
0
星屑
1293
在线时间
995 小时
注册时间
2014-12-14
帖子
3016

开拓者

2
发表于 2016-3-3 15:46:20 | 只看该作者
参考有“Battler”的原脚本;应该说阁下要的都在里面了吧?!
另外参考“第四届RM考试”的问卷,也对阁下的问题进行了考核和提示,具体在下就不深入写了,要看好一会儿脚本的。
【RMVA教程】
---------------------
欲买桂花同载酒,终不似,少年游.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
39 小时
注册时间
2014-1-24
帖子
20
3
发表于 2016-3-5 12:48:41 | 只看该作者
本帖最后由 q727866714250 于 2016-3-5 12:49 编辑

第一个:a.atk-b.def*[1],然后在公共事件里添加每次使用变量一+1,这样每次伤害就会加一倍
第二个:话说能在公式里判断一个角色是否在队伍中吗?如果可以就用 ?(好的我是萌新并不知道……)?a.atk*1.5:a.atk这样的公式可以判断
第三个:并没理解……
第四个:= =?还是没看懂、如果是在特定状态下伤害增加就a.state?(41)?a.atk*10:(a.atk*4-b.def),如果使用者在41号状态就无视防御造成攻击的十倍伤害……,否则就是四倍攻击减防御,吧a.state,改成b.state.就可以判断敌人的状态
第五个:在脚本库找到value = item.damage.eval(user, self, $game_variables)
在下面加
if self.state?(100) && user.enemy?
      value = -item.damage.eval(user, self, $game_variables)
      self.remove_state(100)
    end
如果处在100号状态,技能释放者是敌人那么就逆转效果,加血变减血……减血变加血=。=
(PS:顺便第五个是某个大大教咱的呢(抱歉并不记得名字……)……- -)
立于浮华之世
   奏响天籁之音
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
106 小时
注册时间
2011-9-26
帖子
23
4
 楼主| 发表于 2016-3-5 16:50:11 | 只看该作者
q727866714250 发表于 2016-3-5 12:48
第一个:a.atk-b.def*[1],然后在公共事件里添加每次使用变量一+1,这样每次伤害就会加一倍
第二个:话说能 ...

谢谢了。
关于第一个,我找到个别人的连续斩的脚本,然后技能公式大致跟你说的是一样的吧,就是变量每次使用加0.5,然后判断了下是否连续使用,然后战斗结束开始变量初始化。公式大致为 伤害*((变量+=0.5)-0.5)
第二个,不知道是不是判断队伍成员1~4号角色ID是否等于特定角色的ID,不知道怎么写。
第三个,可能没写清楚,就是说对面1~7号敌人里,是否存在一个敌人,它的ID号为特定敌人的ID号。有的话这技能就加伤害。估计光技能公式也判断不出来。
第四个,是想判断敌人BUFF数量,多的话伤害就高,没有就正常伤害。也是多一个多0.5倍伤害吧。不过就判断1个特定状态能加伤害的技能也不错啊。
第五个,就直接拿去了。

点评

3的这个敌人是什么特征?进入战斗的时候判断比较好,如果有某敌人则全体敌人都附加一个状态,然后技能公式里写对该状态的敌人伤害为150%……  发表于 2016-3-5 17:25
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
106 小时
注册时间
2011-9-26
帖子
23
5
 楼主| 发表于 2016-3-5 17:00:33 | 只看该作者
附上找到的连续斩脚本吧
#==============================================================================
# ■ Game_Battler第一次为 使用者攻击力*1.5,第二次为 *2 ,第三次为 *2.5
#--------------伤害公式a.atk*(a.chainhit+=0.5)----------------------------------------------------------------
#==============================================================================
class Game_Battler < Game_BattlerBase
  $chainhit = [236] # 在里面添加每次使用增加伤害类型技能的ID
  #--------------------------------------------------------------------------
  # ● 定义实例变量
  #--------------------------------------------------------------------------
  attr_accessor   :chainhit                       # chainhit
  #--------------------------------------------------------------------------
  # ● 初始化对象
  #--------------------------------------------------------------------------
  alias oldinit_chainhit initialize
  def initialize
    oldinit_chainhit
    @chainhit = 1
  end
  #--------------------------------------------------------------------------
  # ● 战斗结束处理
  #--------------------------------------------------------------------------
  alias old_battleend_chainhit on_battle_end
  def on_battle_end
    @chainhit = 1
    old_battleend_chainhit
  end
end#==============================================================================
# ■ Game_Action
#------------------------------------------------------------------------------
#  处理战斗中的行动的类。本类在 Game_Battler 类的内部使用。
#==============================================================================
class Game_Action
  #--------------------------------------------------------------------------
  # ● 设置技能
  #--------------------------------------------------------------------------
  def set_skill(skill_id)
    @item.object = $data_skills[skill_id]
    if !$chainhit.include?(skill_id) #没有使用连续斩类型技能
    @subject.chainhit = 1  #还原连续斩类型技能的额外伤害
   end
    self
  end
end
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
120
在线时间
486 小时
注册时间
2007-5-27
帖子
807
6
发表于 2016-3-5 17:28:23 | 只看该作者
本帖最后由 紫苍焰 于 2016-3-5 17:31 编辑

第三找到了一个笨办法……战斗处理时用公共事件判定是否存在某敌人,是则对所有敌人附加一个状态,然后某技能对所有有该状态的目标均造成150%伤害,无该状态则正常造成伤害……
然后第二个也可以这么办……
这两个效果如果不叠加的话可以用同一个状态实现。
不过这么做的话就需要在第四条判断的时候剔除这两个状态了……除非你打算把这两个做成可见状态,并且可见也没啥不对的……就像口袋妖怪,小电狮在对手上场时降低对手物攻的特性,写清楚反而更好……
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-20 01:39

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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