查看: 1980|回复: 1

[已经过期] 求“扩展”一下增加敌人数量的脚本……

[复制链接]
梦石
0
星屑
325
在线时间
252 小时
注册时间
2014-4-11
回帖
184
发表于 2017-2-9 19:54:03 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 眼中目之瞳 于 2017-2-9 19:56 编辑

脚本原地址https://rpg.blue/forum.php?mod=viewthread&tid=276996
代码中有“敌人成员一,敌人成员二,敌人成员三”的设定,能否做到当“敌人成员一”死亡后开启一个指定的开关【后续敌人成员的开关依次类推】?

[pre lang="ruby"]# 脚本作者 dujian15
module TroopE #设置敌群
  
  
  #设置这一部分,下面的如果不懂脚本可以不用管。

AddEnemy = [] #对应的数组是一个二元数组。

#troop_id 是你想插入的对应的敌群id
#enemy_id 是你想插入的敌人的id可以重复



#AddEnemy[troop_id] = [enemy_id1,enemy_id2...] 可以重复

AddEnemy[33] = [34,32,35] #33号敌群需要增加的敌人的id名 可以重复 剩下的你可以自己来写.

end






#encoding:utf-8
#==============================================================================
# ■ Game_Troop
#------------------------------------------------------------------------------
#  管理敌群和战斗相关资料的类,也可执行如战斗事件管理之类的功能。
#   本类的实例请参考 $game_troop 。
#==============================================================================

class Game_Troop < Game_Unit
  
  def setup(troop_id)
    clear
    @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
      @enemies.push(enemy)
      
  
    end
   
   
    add_enemy( troop_id )  
     
    init_screen_tone
    make_unique_names
  end  
  
  #--------------------------------------------------------------------------
  # ● 敌人上限破8 总合 15
  #--------------------------------------------------------------------------  


  def add_enemy( troop_id )
       @troop_id = troop_id
       if TroopE::AddEnemy[@troop_id].size != 0 then
       for i in  1 .. TroopE::AddEnemy[@troop_id].size
          @enemy1_id = TroopE::AddEnemy[@troop_id][i - 1]
          enemy1 = Game_Enemy.new(@enemies.size, @enemy1_id)   
          @enemies.push(enemy1)   
          end
       end
       end
  end[/pre]

[pre lang="ruby"]#==============================================================================
# ■ VX 敌人战斗坐标永续固定的设定。
# By:小E
#==============================================================================
#==============================================================================
# ■ module Eienshinken Ver1.1
#    版本更新履历
#    Ver1.1: 添加开关控制,想自动排列时再自动排列。
#------------------------------------------------------------------------------
#  敌人X,Y坐标的设定模块。
#==============================================================================
module Eienshinken
#--------------------------------------------------------------------------
# ● 敌人的X坐标改变。
#    顺序排列依次:敌人成员一,敌人成员二,敌人成员三等等。
#    扩展请自己添加数组。
#--------------------------------------------------------------------------
  #ENEMY_X = [200,100,40,280,145,235,270,320]
  ENEMY_X = [240,250,260,270,280,160,170,180,190,200,80,90,100,110,120]
#--------------------------------------------------------------------------
# ● 敌人的Y坐标改变。
#    顺序排列依次:敌人成员一,敌人成员二,敌人成员三等等。
#    扩展请自己添加数组。
#--------------------------------------------------------------------------
  #ENEMY_Y = [180,100,260,180,270,80,310,70]
  ENEMY_Y = [300,250,200,150,100,300,250,200,150,100,300,250,200,150,100]
#--------------------------------------------------------------------------
# ● 改变敌人位置的坐标开关
#    设置开关编号。游戏中用开关控制是否打开功能。
#--------------------------------------------------------------------------
  ENEMY_XY_SWITCH = 1
end
#==============================================================================
# ■ Scene_Battle
#------------------------------------------------------------------------------
#  处理战斗画面的类。
#==============================================================================
class Scene_Battle < Scene_Base
  alias :eienshinken_start :start
  def start
    if true #$game_switches[Eienshinken::ENEMY_XY_SWITCH]
      for i in 0...$game_troop.members.size
        $game_troop.members.screen_x = Eienshinken::ENEMY_X
        $game_troop.members.screen_y = Eienshinken::ENEMY_Y
      end
      eienshinken_start
    else
      eienshinken_start
    end
  end
end[/pre]


梦石
0
星屑
325
在线时间
252 小时
注册时间
2014-4-11
回帖
184
 楼主| 发表于 2017-2-11 21:08:59 | 显示全部楼层
自顶一次吧……
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部