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

Project1

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

战斗系统的一些问题

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
82 小时
注册时间
2006-1-28
帖子
996
跳转到指定楼层
1
发表于 2007-8-14 16:23:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
1.如果制作敌人死亡后立即复活
我试过用某敌人HP=0的时候改变另外一个敌人的状态:死亡-正常
不过可耻得失败了....

如何制作失去攻击目标的状态:
比如敌人钻地或者飞起打不到


版务信息:本贴由楼主自主结贴~

Lv1.梦旅人

梦石
0
星屑
50
在线时间
82 小时
注册时间
2006-1-28
帖子
996
2
 楼主| 发表于 2007-8-14 16:23:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
1.如果制作敌人死亡后立即复活
我试过用某敌人HP=0的时候改变另外一个敌人的状态:死亡-正常
不过可耻得失败了....

如何制作失去攻击目标的状态:
比如敌人钻地或者飞起打不到


版务信息:本贴由楼主自主结贴~

Lv1.梦旅人

梦石
0
星屑
50
在线时间
192 小时
注册时间
2007-7-14
帖子
2746
3
发表于 2007-8-14 17:41:17 | 只看该作者
第一个问题你可以设置当敌人死了,然后又添了一个同样的敌人,效果看起来就像该敌人复活了.(具体自己设置,其实我也不太懂)
关于敌人钻地或者飞起打不到,很难做到,你干脆设置自己的命中率低.
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-8-14
帖子
17
4
发表于 2007-8-14 18:00:03 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
15 小时
注册时间
2007-2-18
帖子
2464
5
发表于 2007-8-14 18:37:44 | 只看该作者
1其实这个在RATB的系统中有的,我试了下,在默认的系统中无法使用,不过那脚本不长,参照那个脚本不难改的

2战斗事件让敌人变身
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
82 小时
注册时间
2006-1-28
帖子
996
6
 楼主| 发表于 2007-8-14 19:44:46 | 只看该作者
RATB的系统中有吗?我是没看到过,能不能告知是哪个脚本,谢谢
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
15 小时
注册时间
2007-2-18
帖子
2464
7
发表于 2007-8-14 19:55:45 | 只看该作者
  1. # ▼▲▼ XRXS27. 特殊効果 SuperEX「リレイズ」 ▼▲▼
  2. # by シムナフ

  3. #==============================================================================
  4. # □ カスタマイズポイント
  5. #==============================================================================
  6. class Game_Battler
  7.   RERAISE_STATE_NAME            = "自动复活"   # 「自动复活」状态名
  8. end
  9. class Scene_Battle
  10.   RERAISE_STATE_NAME            = "自动复活"   # 「自动复活」状态名
  11.   RERAISE_HP                    =   1          # 「自动复活」复活时的HP
  12.   RERAISE_HP_PERCENT            =   0          # 「自动复活」复活时的HP%
  13.   RERAISE_ANIMATION_ID          =  26          # 「自动复活」复活时的动画ID
  14. end

  15. #=============================================================================
  16. # ◇ リレイズステート by シムナフ
  17. #=============================================================================
  18. class Game_Battler
  19.   #--------------------------------------------------------------------------
  20.   # ● HP の変更
  21.   #--------------------------------------------------------------------------
  22.   def hp=(hp)
  23.     @hp = [[hp, maxhp].min, 0].max
  24.     # 戦闘不能を付加または解除
  25.     for i in 1...$data_states.size
  26.       if $data_states[i].zero_hp
  27.         if self.dead?
  28.           # 追加
  29.           for x in 1...$data_states.size
  30.             # ステート名は変更可。
  31.             if $data_states[x].name[RERAISE_STATE_NAME] != nil
  32.               reraise_id = $data_states[x].id
  33.               break
  34.             end
  35.           end
  36.           # リレイズ復活
  37.           if reraise_id != nil && self.state?(reraise_id)
  38.             self.remove_state(reraise_id)
  39.             @reraised = true
  40.             @reraise_state = 0
  41.             # 戦闘不能マイナスステートに設定されているものを解除
  42.             if $data_states[i].minus_state_set != []
  43.               for j in $data_states[i].minus_state_set
  44.                 remove_state(j)
  45.               end
  46.             end
  47.           elsif
  48.             # ここまで
  49.             add_state(i)
  50.           end
  51.         else
  52.           remove_state(i)
  53.         end
  54.       end
  55.     end
  56.   end
  57. end

  58. class Game_Enemy < Game_Battler
  59.   #--------------------------------------------------------------------------
  60.   # ● オブジェクト初期化
  61.   #--------------------------------------------------------------------------
  62.   alias reraise_initialize initialize
  63.   def initialize(troop_id, member_index)
  64.     reraise_initialize(troop_id, member_index)
  65.     @reraised = false
  66.     @reraise_state = 0
  67.   end
  68. end
  69. class Scene_Battle
  70.   #--------------------------------------------------------------------------
  71.   # ● フレーム更新 (メインフェーズ ステップ 2 : アクション開始)
  72.   #--------------------------------------------------------------------------
  73.   alias reraise_update_phase4_step2 update_phase4_step2
  74.   def update_phase4_step2(battler)
  75.     #リレイズ判定
  76.     next_phase_ok = true
  77.     next_phase_ok = update_reraise_effect(battler)#@active_battler
  78.     if next_phase_ok
  79.       # ステップ 2 へ
  80.       reraise_update_phase4_step2(battler)
  81.     end
  82.   end
  83.   #--------------------------------------------------------------------------
  84.   # ● フレーム更新 (メインフェーズ ステップ 6 : リレイズ表示→リフレッシュ)
  85.   #--------------------------------------------------------------------------
  86.   alias reraise_update_phase4_step6 update_phase4_step6
  87.   def update_phase4_step6(battler)
  88.     next_phase_ok = true
  89.     #リレイズ判定
  90.     for enemy in $game_troop.enemies
  91.       next_phase_ok = update_reraise_effect(enemy)
  92.       if !next_phase_ok
  93.         return
  94.       end
  95.     end
  96.     for actor in $game_party.actors
  97.       next_phase_ok = update_reraise_effect(actor)
  98.       if !next_phase_ok
  99.         return
  100.       end
  101.     end
  102.     reraise_update_phase4_step6(battler)
  103.   end
  104.   #===================================================
  105.   #リレイズエフェクト
  106.   #===================================================
  107.   def update_reraise_effect(battler)
  108.       if battler.reraised  == true
  109.         case battler.reraise_state
  110.         when 0
  111.           battler.reraise_state = 1 # コラプス待ち
  112.           @wait_count = 16
  113.           return false
  114.         when 1
  115.           battler.reraise_state = 2 # 復活アニメーション
  116.           ##IDは好きなアニメーションIDを指定
  117.           battler.animation.push([RERAISE_ANIMATION_ID])
  118.           @wait_count = 8
  119.           return false#
  120.         when 2
  121.           #復活処理
  122.           battler.hp = battler.maxhp * RERAISE_HP_PERCENT / 100 + RERAISE_HP
  123.           battler.reraise_state = 3 #アピアーアニメーション
  124.           @wait_count = 8
  125.           return false#
  126.         when 3
  127.           battler.reraise_state = 0 #終了・通常処理に戻る
  128.           battler.reraised = false  #フラグを初期値へ
  129.           @status_window.refresh
  130.           return true
  131.         end
  132.       else
  133.         return true
  134.       end
  135.   end
  136. end
  137. class Game_Battler
  138.   #--------------------------------------------------------------------------
  139.   # ● 追加公開インスタンス変数
  140.   #--------------------------------------------------------------------------
  141.   attr_accessor :reraise_state
  142.   attr_accessor :reraised                 # リレイズしたかどうか
  143. end
复制代码

系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-6-27 05:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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