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

Project1

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

[已经过期] 关于“无敌”状态的修改。

[复制链接]

Lv3.寻梦者

梦石
0
星屑
3176
在线时间
1442 小时
注册时间
2009-7-27
帖子
1454
跳转到指定楼层
1
发表于 2015-8-19 01:52:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
  就是说这个无敌状态脚本,如何修改成对 某些 属性的敌人才有效?比如说,1号敌人属性为没有或者其他的,攻击角色才有伤害。2号角色属性为某某某,攻击角色就没有伤害了。也就是说一些我设置了特殊的敌人攻击我方附有 无敌 状态的角色才没有伤害。请问这样说能懂吗?而且我方附有 无敌 状态时被特殊属性的敌人攻击时显示某个动画。请高手帮忙修改一下。

RUBY 代码复制
  1. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
  2. #_/  ◆无敌状态 - KGC_Invincible◆
  3. #_/----------------------------------------------------------------------------
  4. #_/ 在状态中设置个“无敌”二字的状态即可使用。
  5. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
  6.  
  7. $imported = {} if $imported == nil
  8. $imported["Invincible"] = true
  9.  
  10. if $game_special_states == nil
  11.   $game_special_states = {}
  12.   $data_states = load_data("Data/States.rxdata")
  13. end
  14. # 無敵状態ステートIDa取得
  15. state = $data_states.compact.find { |s| s.name == "无敌" }
  16. $game_special_states["invincible"] = state != nil ? state.id : 0
  17.  
  18. #==============================================================================
  19. # ■ Game_Battler (分割定義 2)
  20. #==============================================================================
  21.  
  22. class Game_Battler
  23.   #--------------------------------------------------------------------------
  24.   # ● ステート [無敵] 判定
  25.   #     act : 処理対象
  26.   #--------------------------------------------------------------------------
  27.   def invincible?(act = nil)
  28.     # ステート[無敵]が付加されている場合
  29.     if self.states.include?($game_special_states["invincible"])
  30.       # 処理対象で分岐
  31.       case act
  32.       when RPG::Skill
  33.         return true if act.scope == 1 || act.scope == 2
  34.       when RPG::Item
  35.         return true if act.scope == 1 || act.scope == 2
  36.       when nil
  37.         return true
  38.       end
  39.     end
  40.     return false
  41.   end
  42. end
  43.  
  44. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
  45.  
  46. #==============================================================================
  47. # ■ Game_Battler (分割定義 3)
  48. #==============================================================================
  49.  
  50. class Game_Battler
  51.   #--------------------------------------------------------------------------
  52.   # ● 通常攻撃の効果適用
  53.   #--------------------------------------------------------------------------
  54.   alias attack_effect_KGC_Invincible attack_effect
  55.   def attack_effect(attacker)
  56.     # 無敵状態の場合
  57.     if self.invincible?
  58.       # ダメージに "Miss" を設定
  59.       self.damage = "Miss"
  60.       # クリティカルフラグをクリア
  61.       self.critical = false
  62.       # 偽を返す
  63.       return false
  64.     end
  65.  
  66.     # 元の処理を実行
  67.     return attack_effect_KGC_Invincible(attacker)
  68.   end
  69.   #--------------------------------------------------------------------------
  70.   # ● スキルの効果適用
  71.   #--------------------------------------------------------------------------
  72.   alias skill_effect_KGC_Invincible skill_effect
  73.   def skill_effect(user, skill)
  74.     # 無敵状態の場合
  75.     if self.invincible?(skill)
  76.       # ダメージに "Miss" を設定
  77.       self.damage = "Miss"
  78.       # クリティカルフラグをクリア
  79.       self.critical = false
  80.       # 偽を返す
  81.       return false
  82.     end
  83.  
  84.     # 元の処理を実行
  85.     return skill_effect_KGC_Invincible(user, skill)
  86.   end
  87.   #--------------------------------------------------------------------------
  88.   # ● アイテムの効果適用
  89.   #--------------------------------------------------------------------------
  90.   alias item_effect_KGC_Invincible item_effect
  91.   def item_effect(item)
  92.     # 無敵状態の場合
  93.     if self.invincible?(item)
  94.       # ダメージに "Miss" を設定
  95.       self.damage = "Miss"
  96.       # クリティカルフラグをクリア
  97.       self.critical = false
  98.       # 偽を返す
  99.       return false
  100.     end
  101.  
  102.     # 元の処理を実行
  103.     return item_effect_KGC_Invincible(item)
  104.   end
  105. end

博客:我的博客

Lv2.观梦者

梦石
0
星屑
946
在线时间
61 小时
注册时间
2019-12-10
帖子
97
2
发表于 2021-5-6 11:34:04 | 只看该作者
用上了,真的无敌了
想玩我做的游戏加我qq947128749
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-10 22:03

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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