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

Project1

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

[已经解决] 请问如何做个无敌技能

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
155
在线时间
0 小时
注册时间
2011-8-15
帖子
2
跳转到指定楼层
1
发表于 2011-10-4 21:28:06 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
就是主角用了这个技能。能在这个回合不受任何伤害

Lv2.观梦者

梦石
0
星屑
271
在线时间
2088 小时
注册时间
2011-7-28
帖子
1145
2
发表于 2011-10-4 21:39:32 | 只看该作者
无聊范例.rar (237.56 KB, 下载次数: 114) 看范例!
[color=Red][b]我没有签名[/b][/color]
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
155
在线时间
0 小时
注册时间
2011-8-15
帖子
2
3
 楼主| 发表于 2011-10-4 22:10:05 | 只看该作者
不会脚本 发表于 2011-10-4 21:39
看范例!

经测试,没有效果
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
43 小时
注册时间
2011-10-1
帖子
29
4
发表于 2011-10-4 23:36:12 | 只看该作者
你直接将“防御力强化术”加强的防御力加到9999不久相当于无敌了吗?
R
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1165
在线时间
274 小时
注册时间
2011-7-24
帖子
272
5
发表于 2011-10-5 11:34:16 | 只看该作者
脚本:
  1. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
  2. #_/    ◆ 無敵ステート - KGC_Invincible ◆ VX ◆
  3. #_/    ◇ Last update : 2009/09/13 ◇
  4. #_/----------------------------------------------------------------------------
  5. #_/  無敵状態になるステートを作成します。
  6. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

  7. $imported = {} if $imported == nil
  8. $imported["Invincible"] = true

  9. module KGC
  10. module Invincible
  11.   module Regexp
  12.     # 無敵タイプ
  13.     INV_TYPE = /<(?:INVINCIBLE_TYPE|無敵タイプ)\s*([^>]+)>/i

  14.     module State
  15.       # 無敵
  16.       INVINCIBLE = /<(物理|魔法)?(?:INVINCIBLE|無敵)(_PHYSIC|_MAGIC)?>/i
  17.     end
  18.   end
  19. end
  20. end

  21. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  22. #==============================================================================
  23. # ■ RPG::UsableItem
  24. #==============================================================================

  25. class RPG::UsableItem < RPG::BaseItem
  26.   #--------------------------------------------------------------------------
  27.   # ○ 無敵ステートのキャッシュを生成
  28.   #--------------------------------------------------------------------------
  29.   def create_invincible_cache
  30.     @__inv_type = nil

  31.     self.note.each_line { |line|
  32.       if line =~ KGC::Invincible::Regexp::INV_TYPE
  33.         @__inv_type = $1
  34.       end
  35.     }

  36.     @__inv_cached = true
  37.   end
  38.   #--------------------------------------------------------------------------
  39.   # ○ 無敵タイプ
  40.   #--------------------------------------------------------------------------
  41.   def invincible_type
  42.     create_invincible_cache unless @__inv_cached
  43.     return @__inv_type
  44.   end
  45. end

  46. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  47. #==============================================================================
  48. # ■ RPG::State
  49. #==============================================================================

  50. class RPG::State
  51.   #--------------------------------------------------------------------------
  52.   # ○ 無敵ステートのキャッシュを生成
  53.   #--------------------------------------------------------------------------
  54.   def create_invincible_cache
  55.     @__inv_all    = false
  56.     @__inv_physic = false
  57.     @__inv_magic  = false
  58.     @__inv_type   = nil

  59.     self.note.each_line { |line|
  60.       if line =~ KGC::Invincible::Regexp::INV_TYPE
  61.         @__inv_type = $1
  62.       end
  63.       if line =~ KGC::Invincible::Regexp::State::INVINCIBLE
  64.         valid = false
  65.         if $1 == "物理" || ($2 && $2.upcase == "_PHYSIC")
  66.           @__inv_physic = true
  67.           valid = true
  68.         end
  69.         if $1 == "魔法" || ($2 && $2.upcase == "_MAGIC")
  70.           @__inv_magic = true
  71.           valid = true
  72.         end
  73.         @__inv_all = true unless valid
  74.       end
  75.     }

  76.     @__inv_cached = true
  77.   end
  78.   #--------------------------------------------------------------------------
  79.   # ○ 無敵ステートか
  80.   #--------------------------------------------------------------------------
  81.   def is_invincible?
  82.     return (all_invincible? ||
  83.       physic_invincible? ||
  84.       magic_invincible? ||
  85.       invincible_type != nil
  86.     )
  87.   end
  88.   #--------------------------------------------------------------------------
  89.   # ○ 無敵タイプ
  90.   #--------------------------------------------------------------------------
  91.   def invincible_type
  92.     create_invincible_cache unless @__inv_cached
  93.     return @__inv_type
  94.   end
  95.   #--------------------------------------------------------------------------
  96.   # ○ 完全無敵
  97.   #--------------------------------------------------------------------------
  98.   def all_invincible
  99.     create_invincible_cache if @__inv_all == nil
  100.     return @__inv_all
  101.   end
  102.   alias all_invincible? all_invincible
  103.   #--------------------------------------------------------------------------
  104.   # ○ 物理無敵
  105.   #--------------------------------------------------------------------------
  106.   def physic_invincible
  107.     create_invincible_cache if @__inv_physic == nil
  108.     return @__inv_physic
  109.   end
  110.   alias physic_invincible? physic_invincible
  111.   #--------------------------------------------------------------------------
  112.   # ○ 魔法無敵
  113.   #--------------------------------------------------------------------------
  114.   def magic_invincible
  115.     create_invincible_cache if @__inv_magic == nil
  116.     return @__inv_magic
  117.   end
  118.   alias magic_invincible? magic_invincible
  119. end

  120. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  121. #==============================================================================
  122. # ■ Game_Battler
  123. #==============================================================================

  124. class Game_Battler
  125.   #--------------------------------------------------------------------------
  126.   # ● 公開インスタンス変数
  127.   #--------------------------------------------------------------------------
  128.   attr_accessor :invincible               # 無敵判定フラグ
  129.   #--------------------------------------------------------------------------
  130.   # ● 行動効果の保持用変数をクリア
  131.   #--------------------------------------------------------------------------
  132.   alias clear_action_results_KGC_Invincible clear_action_results
  133.   def clear_action_results
  134.     clear_action_results_KGC_Invincible

  135.     @invincible = false
  136.   end
  137.   #--------------------------------------------------------------------------
  138.   # ● 通常攻撃の効果適用
  139.   #     attacker : 攻撃者
  140.   #--------------------------------------------------------------------------
  141.   alias attack_effect_KGC_Invincible attack_effect
  142.   def attack_effect(attacker)
  143.     invincible_effect(attacker)
  144.     return if @skipped

  145.     attack_effect_KGC_Invincible(attacker)
  146.   end
  147.   #--------------------------------------------------------------------------
  148.   # ● スキルの効果適用
  149.   #     user  : スキルの使用者
  150.   #     skill : スキル
  151.   #--------------------------------------------------------------------------
  152.   alias skill_effect_KGC_Invincible skill_effect
  153.   def skill_effect(user, skill)
  154.     invincible_effect(user, skill)
  155.     return if @skipped

  156.     skill_effect_KGC_Invincible(user, skill)
  157.   end
  158.   #--------------------------------------------------------------------------
  159.   # ● アイテムの効果適用
  160.   #     user : アイテムの使用者
  161.   #     item : アイテム
  162.   #--------------------------------------------------------------------------
  163.   alias item_effect_KGC_Invincible item_effect
  164.   def item_effect(user, item)
  165.     invincible_effect(user, item)
  166.     return if @skipped

  167.     item_effect_KGC_Invincible(user, item)
  168.   end
  169.   #--------------------------------------------------------------------------
  170.   # ○ 無敵効果の適用
  171.   #     user : 行動者
  172.   #     obj  : スキル/アイテム (nil なら通常攻撃)
  173.   #--------------------------------------------------------------------------
  174.   def invincible_effect(user, obj = nil)
  175.     @invincible = false
  176.     clear_action_results
  177.     return unless invincible?(user, obj)

  178.     @skipped    = true
  179.     @invincible = true
  180.   end
  181.   #--------------------------------------------------------------------------
  182.   # ○ 無敵判定
  183.   #     user : 行動者
  184.   #     obj  : スキル/アイテム (nil なら通常攻撃)
  185.   #--------------------------------------------------------------------------
  186.   def invincible?(user, obj = nil)
  187.     if !(actor? ^ user.actor?) && obj != nil
  188.       return false if obj.for_friend?         # 味方なら無効化しない
  189.     end

  190.     physic = (obj == nil ? true : obj.physical_attack)  # 物理フラグ
  191.     type   = (obj == nil ? nil  : obj.invincible_type)  # 無敵タイプ

  192.     states.each { |state|
  193.       next unless state.is_invincible?

  194.       return true if state.all_invincible?
  195.       if type != nil
  196.         # 無敵タイプ指定あり
  197.         return true if state.invincible_type == type
  198.       else
  199.         # 無敵タイプ指定なし
  200.         return true if  physic && state.physic_invincible?
  201.         return true if !physic && state.magic_invincible?
  202.       end
  203.     }
  204.     return false
  205.   end
  206. end

  207. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  208. #==============================================================================
  209. # ■ Scene_Battle
  210. #==============================================================================

  211. class Scene_Battle < Scene_Base
  212.   #--------------------------------------------------------------------------
  213.   # ● 行動結果の表示
  214.   #     target : 対象者
  215.   #     obj    : スキルまたはアイテム
  216.   #--------------------------------------------------------------------------
  217.   alias display_action_effects_KGC_Invincible display_action_effects
  218.   def display_action_effects(target, obj = nil)
  219.     display_action_effects_KGC_Invincible(target, obj)

  220.     display_invincible(target, obj) if target.invincible
  221.   end
  222.   #--------------------------------------------------------------------------
  223.   # ○ 無敵時のメッセージを表示
  224.   #     target : 対象者
  225.   #     obj    : スキルまたはアイテム
  226.   #--------------------------------------------------------------------------
  227.   def display_invincible(target, obj)
  228.     line_number = @message_window.line_number
  229.     display_failure(target, obj)
  230.     @message_window.back_to(line_number)
  231.   end
  232. end
复制代码
......在数据库 状态的备注里写上<無敵>   技能附加这个状态就行了
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
234 小时
注册时间
2010-10-6
帖子
768
6
发表于 2011-10-5 11:37:21 | 只看该作者
要说无敌技能,MS有很多办法的说,最简单的就是附加状态,闪避率提升到100%就OK了...
回复

使用道具 举报

Lv1.梦旅人

雨狸

梦石
0
星屑
48
在线时间
625 小时
注册时间
2011-3-19
帖子
1296
7
发表于 2011-10-5 20:08:56 | 只看该作者
设置两个状态,把脚本放进去(注意,一个状态只能放一个)
物理反弹:
  1. <extensions>
  2. physical reflect: 39
  3. </extensions>
复制代码
魔法无效:
  1. <extensions>
  2. null magic: 39
  3. </extensions>
复制代码
设置为1回合后解除。
技能里附加这两个状态就行了,设置速度补正值为999。OK
明夕,何夕
回复

使用道具 举报

Lv1.梦旅人

派大星

梦石
0
星屑
195
在线时间
2133 小时
注册时间
2011-9-18
帖子
2652
8
发表于 2011-10-6 02:03:16 | 只看该作者
在编辑事件的伤害处理处设置一下就行了。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
116 小时
注册时间
2008-5-12
帖子
264
9
发表于 2011-10-6 14:58:58 | 只看该作者
本帖最后由 shinliwei 于 2011-10-6 15:00 编辑

就是5楼给的那个脚本

这个 脚本是KGC的

使用方法是在状态的备注栏里写上 <無敵> 或 <物理無敵> 或 <魔法無敵>。

我使用时发现了一点问题,主角使用了无敌之后,敌人将不再攻击主角。无敌效果没了也不会再攻击主角。

点评

经测试...不会出现此问题  发表于 2011-10-6 17:06
回复

使用道具 举报

Lv1.梦旅人

萝莉控

梦石
0
星屑
170
在线时间
226 小时
注册时间
2011-8-19
帖子
924
10
发表于 2011-10-7 12:04:02 | 只看该作者
本帖最后由 文军诺 于 2011-10-7 12:04 编辑

你把技能的属性调到最高!只要属性比对方高就行了。除非你把敌人弄成不死之身。不过,你这么做有什么用?
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-8 04:36

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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