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

Project1

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

[已经解决] 关于状态触发的技能,求助

[复制链接]

Lv1.梦旅人

梦石
0
星屑
87
在线时间
92 小时
注册时间
2011-10-2
帖子
52
跳转到指定楼层
1
发表于 2014-5-10 19:56:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
就是有一个基本判定,之后如果敌人有XX状态,就可以实现触发XX技能
用公共事件里的分支条件,当敌人是XX状态时,请问这个敌人1,2之类的,是如何判断的?
或者有什么更好的办法么?

Lv1.梦旅人

梦石
0
星屑
120
在线时间
486 小时
注册时间
2007-5-27
帖子
807
2
发表于 2014-5-10 20:11:18 | 只看该作者
……
我倒是根据某帖子里教的技能公式做出过对存在某状态的敌人使用不同伤害公式……
这么一弄的话同一个技能对有状态跟没状态的敌人用简直都他喵的能是两个技能……
不过你说的这个我没办法……
回复 支持 反对

使用道具 举报

Lv5.捕梦者

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

开拓者

3
发表于 2014-5-10 20:22:14 | 只看该作者
问题是关键是:XX状态触发XX技能,这个“触发”,是自动释放?还是可以使用?
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
87
在线时间
92 小时
注册时间
2011-10-2
帖子
52
4
 楼主| 发表于 2014-5-12 10:28:55 | 只看该作者
自动施放就可以了……
关键在于我不知道如何用事件准确的判断敌人身上是否有状态。。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1019 小时
注册时间
2012-4-25
帖子
799
5
发表于 2014-5-12 11:43:39 | 只看该作者
参考救世小树的公式就行。

比如目标身上有66号状态时就附加67号状态,默认的伤害公式,则公式为a.atk*4-b.def.2;b.add_state(67).to_i if b.state(66)?


理论是这样,不过我一般都是直接写在脚本上,所以直接写在技能计算栏的不知道有没有错。

点评

直接写上不会有效果  发表于 2014-5-13 22:19
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
87
在线时间
92 小时
注册时间
2011-10-2
帖子
52
6
 楼主| 发表于 2014-5-12 12:57:45 | 只看该作者
恩。伤害公式我明白的……
我本来的设想是:
技能触发公共事件,分支:当敌人有状态时,强制动作技能;没有则空。。
但是分支条件里的敌人1,敌人2,我弄不明白。
楼上的大大说的伤害公式我是明白的……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1019 小时
注册时间
2012-4-25
帖子
799
7
发表于 2014-5-12 18:30:27 | 只看该作者
baijingxue00 发表于 2014-5-12 12:57
恩。伤害公式我明白的……
我本来的设想是:
技能触发公共事件,分支:当敌人有状态时,强制动作技能;没有 ...

那可以这样,设置公共事件,当某开关开启时,强制战斗,目标为上一个目标。

在公式中设定为假如目标存在某状态,则开关打开,否则则开关关闭。



a.atk*4-b.def.2;b.state?(编号) ?$game_switches[编号] = true : $game_switches[编号] = false

很明显,这样的公式太长,无法写在公示栏,恐怕必须得写在脚本里。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
87
在线时间
92 小时
注册时间
2011-10-2
帖子
52
8
 楼主| 发表于 2014-5-13 21:46:05 | 只看该作者
lirn 发表于 2014-5-12 18:30
那可以这样,设置公共事件,当某开关开启时,强制战斗,目标为上一个目标。

在公式中设定为假如目标存在 ...

关键就在于。。我是一个非常出色的。。脚本忙。。T.T
所以我的目标只能在公共事件里解决。。
如果必须用脚本的话,可以问一下应该在哪里改么?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1019 小时
注册时间
2012-4-25
帖子
799
9
发表于 2014-5-14 10:34:39 | 只看该作者
本帖最后由 lirn 于 2014-5-14 10:48 编辑
baijingxue00 发表于 2014-5-13 21:46
关键就在于。。我是一个非常出色的。。脚本忙。。T.T
所以我的目标只能在公共事件里解决。。
如果必须用 ...


这个你还是看看那个救世小树的帖子吧,咱那里我有问到公示栏写不下的时候该怎么办。


在脚本Game_Battler下找到
#--------------------------------------------------------------------------
  # ● 计算伤害
  #--------------------------------------------------------------------------
def make_damage_value(user, item)
    value = item.damage.eval(user, self, $game_variables)#在这一句下面添加

if item.is_a?(RPG::Skill) #===== 从这里添加
      case item.id
      when 27,31,32,34,646,647,648,655,656#这里是技能ID
     if self.state?(编号)# 在脚本中,a要置换成user,b要置换成self
       $game_switches[编号] = true
       else
        $game_switches[编号] = false
     end
when 777 #这是777号技能
   if self.state?(编号A) #这公式是对方有状态A时附加状态B
     self.add_state(编号B).to_i
  end
end#===如果在无其他公式的话

评分

参与人数 1梦石 +1 收起 理由
taroxd + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-25 09:38

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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