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

Project1

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

[已经解决] 如何禁止角色无法被复活的状态

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
97 小时
注册时间
2015-3-27
帖子
225
跳转到指定楼层
1
发表于 2015-4-26 20:35:16 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
如何做出类似梦幻 死亡召唤  几回合无法被复活的状态

评分

参与人数 1星屑 +35 收起 理由
RyanBern + 35 手动认可奖励

查看全部评分

我的博客:http://wang1212.github.io/

Lv5.捕梦者

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

开拓者

2
发表于 2015-4-26 20:56:55 | 只看该作者
复活法术 + 公共事件
公共事件判断角色如果处于 禁止复活状态  , 减少HP 999999

点评

我在脚本里判断如果目标附加该状态而且HP==0 那么复活法术造成的伤害为0 结果可以复活只是复活后血量为1  发表于 2015-4-26 21:14
能不能具体点  发表于 2015-4-26 21:12
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
97 小时
注册时间
2015-3-27
帖子
225
3
 楼主| 发表于 2015-4-26 21:16:18 | 只看该作者
芯☆淡茹水 发表于 2015-4-26 20:56
复活法术 + 公共事件
公共事件判断角色如果处于 禁止复活状态  , 减少HP 999999 ...

我不知道如何才能让复活法术的解除死亡状态失效
我的博客:http://wang1212.github.io/
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

梦石
0
星屑
2315
在线时间
5539 小时
注册时间
2011-1-10
帖子
6619

青铜编剧史诗剧作家剧作品鉴家

4
发表于 2015-4-26 23:17:56 | 只看该作者
578783944 发表于 2015-4-26 21:16
我不知道如何才能让复活法术的解除死亡状态失效

试试这个……



虽然会有点缺陷但是应该是不使用脚本情况下的最佳方案了……

点评

这就直接死亡了  发表于 2015-5-2 21:23
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
97 小时
注册时间
2015-3-27
帖子
225
5
 楼主| 发表于 2015-4-27 10:57:11 | 只看该作者
H·H·Y 发表于 2015-4-26 23:17
试试这个……

这个状态一附加目标就直接死亡了吧,我要的效果是目标在有该状态期间如果死亡无法被复活

点评

有解除条件的,设置3回合100%解除,不过我没试过。  发表于 2015-4-27 18:18
我的博客:http://wang1212.github.io/
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1232
在线时间
1017 小时
注册时间
2011-4-30
帖子
1516
6
发表于 2015-4-27 17:32:45 | 只看该作者
附加一个状态,此状态不会被战斗不能解除 ,如2号
修改脚本中的
  def hp=(hp)
    @hp = [[hp, maxhp].min, 0].max
    @hp = 0 if state?(2) and state?(1)
    # 解除附加的战斗不能状态
    for i in 1...$data_states.size
      if $data_states[i].zero_hp
        if self.dead?
          add_state(i)
        else
          remove_state(i)
        end
      end
    end
  end
  def remove_state(state_id, force = false)
    # 无法附加本状态的情况下
    if state?(state_id)
      return if state?(2) and state_id==1
      # 被强制附加的状态、并不是强制解除的情况下
      if @states_turn[state_id] == -1 and not force
        # 过程结束
        return
      end
      # 现在的 HP 为 0 当作选项 [当作 HP 0 的状态]有效的场合
      if @hp == 0 and $data_states[state_id].zero_hp
        # 判断是否有另外的 [当作 HP 0 的状态]状态
        zero_hp = false
        for i in @states
          if i != state_id and $data_states[i].zero_hp
            zero_hp = true
          end
        end
        # 如果可以解除战斗不能、将 HP 更改为 1
        if zero_hp == false
          @hp = 1
        end
      end
      # 将状态 ID 从 @states 队列和 @states_turn hash 中删除
      @states.delete(state_id)  
      @states_turn.delete(state_id)
    end

    # 检查 HP 及 SP 的最大值
    @hp = [@hp, self.maxhp].min
    @sp = [@sp, self.maxsp].min
  end
当 2号存在时,死亡不能复活。额,直接附加的死亡状态。正常死亡不知如何。

评分

参与人数 1星屑 +100 收起 理由
RyanBern + 100 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者

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

开拓者

7
发表于 2015-5-2 13:31:54 | 只看该作者
  1. #==============================================================================
  2. class Game_Battler
  3.   #--------------------------------------------------------------------------
  4.   alias old_remove_state_xr remove_state
  5.   def remove_state(state_id, force = false)
  6.     return if $data_states[state_id].zero_hp and ! force and state?(不可复活状态ID)
  7.   end
  8. end
  9. #==============================================================================
复制代码

点评

我已经解决了  发表于 2015-5-3 18:14
我试试  发表于 2015-5-2 21:24

评分

参与人数 1星屑 +100 收起 理由
RyanBern + 100 认可答案

查看全部评分

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

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
97 小时
注册时间
2015-3-27
帖子
225
8
 楼主| 发表于 2015-5-3 17:37:23 | 只看该作者
芯☆淡茹水 发表于 2015-5-2 13:31

我现在的问题是 只要法术作用对象是己方HP为0 就算状态不勾选消除战斗不能状态  也能复活  改来改去都能复活。。。。
我的博客:http://wang1212.github.io/
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-23 10:52

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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