查看: 3472|回复: 4

[已经解决] 如何打死带状态的敌人后获得对方的状态

[复制链接]
梦石
10
星屑
5748
在线时间
1849 小时
注册时间
2013-2-14
回帖
327

开拓者

发表于 2020-4-13 11:21:08 | 显示全部楼层 |阅读模式

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

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

×
想要做个特定的角色和敌人自带某状态,然后战斗中打败这种角色和敌人就获得该状态,谢谢大家。。
梦石
3
星屑
7336
在线时间
608 小时
注册时间
2019-9-15
回帖
112

R考场第七期金奖

发表于 2020-4-14 19:28:37 | 显示全部楼层
本帖最后由 Cupidk爱呗茶 于 2020-4-14 22:47 编辑

那个 石头叔叔你好 (为什么是叔叔啊喂 )我是师父雷君的徒弟小茶  
有点抱歉由于小茶的技术原因和拖延症【误 原定应该昨天发给石头叔叔的系统现在才完成
基本上小茶写的原版脚本可以说是不堪入目了【 多亏了师父帮忙才有了现在规范的版本  
使用方法已经在备注里写清楚乐 有任何意外状况请联系小茶吧【虽说联系师父应该更能解决问题的说(啊啊啊因为这边确实有些技术堪忧)不过我会加油的
[pre lang="ruby" line="1"]#使用说明:
#1.附加敌人初始状态需在数据库敌人里备注
#【<附加 状态编号>】或【<状态 状态编号>】【<STATE 状态编号>】  例:备注<状态 2>  战斗开始时该敌人会自带中毒状态
#2.数据库-状态备注【<击杀夺取>】【<ROB>】
#战斗时若打败拥有该状态的对手 则攻击方获得该状态
#3.数据库-状态备注【<石头的眷顾> 】什么鬼、【<防止清除>】 【<KEEP>】
#事件中【完全恢复】指令将无法清除这些状态,并且死亡时它们也不会消失
#==============================================================================
# ■ Game_BattlerBase
#==============================================================================
class Game_BattlerBase
  #--------------------------------------------------------------------------
  # ● 完全恢复
  #--------------------------------------------------------------------------
  alias robstate_recover_all recover_all
  def recover_all
    regexp = /<(?:石头的眷顾|防止清除|KEEP)>/i
    backup = [@states.select {|id| $data_states[id].note =~ regexp},
    @state_turns.select {|id| $data_states[id].note =~ regexp},
    @state_steps.select {|id| $data_states[id].note =~ regexp}]
    robstate_recover_all
    @states |= backup[0]
    @state_turns.merge!(backup[1]) {|k, old| old}
    @state_steps.merge!(backup[2]) {|k, old| old}
  end  
end
#==============================================================================
# ■ Game_Battler
#==============================================================================
class Game_Battler < Game_BattlerBase
  #--------------------------------------------------------------------------
  # ● 应用技能/物品的效果
  #--------------------------------------------------------------------------
  alias robstate_item_apply item_apply
  def item_apply(user, item)
   last_states = @states
   robstate_item_apply(user, item)
   return if alive?
   last_states.each {|id| user.add_state(id) if
   $data_states[id].note =~/<(?:击杀夺取|ROB)>/i }
  end
  #--------------------------------------------------------------------------
  # ● 死亡
  #--------------------------------------------------------------------------
  alias robstate_die die
  def die
    regexp = /<(?:石头的眷顾|防止清除|KEEP)>/i
    backup = [@states.select {|id| $data_states[id].note =~ regexp},
    @state_turns.select {|id| $data_states[id].note =~ regexp},
    @state_steps.select {|id| $data_states[id].note =~ regexp}]
    robstate_die
    @states |= backup[0]
    @state_turns.merge!(backup[1]) {|k, old| old}
    @state_steps.merge!(backup[2]) {|k, old| old}
  end
end  
#==============================================================================
# ■ Game_Enemy
#==============================================================================
class Game_Enemy < Game_Battler
  alias robstate_initialize initialize
  def initialize(index, enemy_id)
    robstate_initialize(index, enemy_id)
    enemy.note.scan(/<(?:附加|状态|STATE)\s*(\d+)>/i) { add_state($1.to_i) }
  end  
end[/pre]

评分

参与人数 3赞 +3 收起 理由
york0818 + 1 认可答案
hijl1990 + 1 认可答案
gqxastg + 1 精品文章

查看全部评分

********
回复 2 0

使用道具 举报

梦石
10
星屑
5748
在线时间
1849 小时
注册时间
2013-2-14
回帖
327

开拓者

 楼主| 发表于 2020-4-15 10:41:20 | 显示全部楼层
Cupidk爱呗茶 发表于 2020-4-14 19:28
那个 石头叔叔你好 (为什么是叔叔啊喂 )我是师父雷君的徒弟小茶  
有点抱歉由于小茶的技术原因和拖延症【 ...

是石头哥哥,别听雷妹妹怂恿,话说雷妹妹说你是她的首席爱徒呢,真是名师出高徒呀。。
回复

使用道具 举报

梦石
3
星屑
7336
在线时间
608 小时
注册时间
2019-9-15
回帖
112

R考场第七期金奖

发表于 2020-4-15 12:45:27 | 显示全部楼层
本帖最后由 Cupidk爱呗茶 于 2020-4-15 13:15 编辑
hijl1990 发表于 2020-4-15 10:41
是石头哥哥,别听雷妹妹怂恿,话说雷妹妹说你是她的首席爱徒呢,真是名师出高徒呀。。 ...


啊哈哈哈 师父应该没有小茶这么无聊的啦【也算是个自己的小癖好吧(都不是什么好习惯比如起外号之类的) 如果有给叔叔带来困扰小茶一定会改正的
虽说感觉还是有很多地方差得远【写给叔叔最开始的脚本及其不规范还是得靠师父把关【小受打击
不过小茶会努力跟师父学习的  也许在将来的某一天也可以帮上石头叔叔吧【又开始做梦了
  
********
回复

使用道具 举报

梦石
10
星屑
5748
在线时间
1849 小时
注册时间
2013-2-14
回帖
327

开拓者

 楼主| 发表于 2020-4-15 13:36:31 | 显示全部楼层
Cupidk爱呗茶 发表于 2020-4-15 12:45
啊哈哈哈 师父应该没有小茶这么无聊的啦【也算是个自己的小癖好吧(都不是什么好习惯比如起外号之类的)  ...

相信你可以的,你雷师傅当年也是这么过来的,一眨眼她已经成宗师了,我还在原地,哎

评分

参与人数 1赞 +1 收起 理由
Cupidk爱呗茶 + 1 石头叔叔,加油

查看全部评分

回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部