查看: 2635|回复: 1

[已经解决] tomoaky的連續戰鬥腳本的問題

[复制链接]
梦石
0
星屑
4250
在线时间
2672 小时
注册时间
2012-3-1
回帖
680
发表于 2017-3-24 11:37:30 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 卡奥尼特 于 2017-3-24 11:41 编辑

問題是這樣的,我使用的分辨率是640X480。
妮特想要實現連戰。測試的時候出現問題。

使用了tomoaky的這個腳本並且觸發連戰之後,敵人的座標還是默認的544X416 ,請問如何修正?


[pre lang="ruby"]#==============================================================================
# ★ RGSS3_連続バトル Ver1.0
#==============================================================================
=begin

作者:tomoaky
webサイト:ひきも記は閉鎖しました。 (http://hikimoki.sakura.ne.jp/)

バトル勝利時に別のトループとのバトルを開始します。

同じトループを指定した場合、無限ループになってしまうため、
バトルイベントなどで抜け道を用意する必要があります。

敵グループの名前に <roop 1> という文字列が含まれていれば
バトル勝利時に敵グループ1番とのバトルが開始されます。

2015/09/25  Ver1.0
公開

=end

#==============================================================================
# ■ BattleManager
#==============================================================================
module BattleManager
  #--------------------------------------------------------------------------
  # ● 勝利の処理【再定義】
  #--------------------------------------------------------------------------
  def self.process_victory
    if /<roop\s*(\d+)>/i =~ $game_troop.troop.name
      display_exp
      gain_gold
      gain_drop_items
      gain_exp
      $game_troop.setup_loop($1.to_i)
      $game_troop.enemy_names.each do |name|
        $game_message.add(sprintf(Vocab::Emerge, name))
      end
      wait_for_message
      return false
    else
      play_battle_end_me
      replay_bgm_and_bgs
      $game_message.add(sprintf(Vocab::Victory, $game_party.name))
      display_exp
      gain_gold
      gain_drop_items
      gain_exp
      SceneManager.return
      battle_end(0)
      return true
    end
  end
end

#==============================================================================
# ■ Game_Troop
#==============================================================================
class Game_Troop
  #--------------------------------------------------------------------------
  # ○ 連続バトルのセットアップ
  #--------------------------------------------------------------------------
  def setup_loop(troop_id)
    @event_flags.clear
    @turn_count = 0
    @troop_id = troop_id
    @enemies = []
    troop.members.each do |member|
      next unless $data_enemies[member.enemy_id]
      enemy = Game_Enemy.new(@enemies.size, member.enemy_id)
      enemy.hide if member.hidden
      enemy.screen_x = member.x
      enemy.screen_y = member.y
      enemy.sprite_effect_type = :appear
      @enemies.push(enemy)
    end
    make_unique_names
    SceneManager.scene.setup_loop
  end
end

#==============================================================================
# ■ Spriteset_Battle
#==============================================================================
class Spriteset_Battle
  #--------------------------------------------------------------------------
  # ○ 連続バトル開始時のスプライトリセット
  #--------------------------------------------------------------------------
  def setup_loop
    dispose_enemies
    create_enemies
  end
end

#==============================================================================
# ■ Scene_Battle
#==============================================================================
class Scene_Battle
  #--------------------------------------------------------------------------
  # ○ 連続バトルのセットアップ
  #--------------------------------------------------------------------------
  def setup_loop
    @spriteset.setup_loop
  end
end
[/pre]
梦石
0
星屑
55
在线时间
407 小时
注册时间
2011-4-10
回帖
352
发表于 2017-3-24 23:08:44 | 显示全部楼层
脚本第72、73行,赋值时加上修正值,多测试几遍就能找出合适的值。

评分

参与人数 2星屑 +180 收起 理由
RaidenInfinity + 150 认可答案
卡奥尼特 + 30 填了1.15算是好多了。

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部