Project1
标题: 求“扩展”一下增加敌人数量的脚本…… [打印本页]
作者: 眼中目之瞳 时间: 2017-2-9 19:54
标题: 求“扩展”一下增加敌人数量的脚本……
本帖最后由 眼中目之瞳 于 2017-2-9 19:56 编辑
脚本原地址https://rpg.blue/forum.php?mod=viewthread&tid=276996
代码中有“敌人成员一,敌人成员二,敌人成员三”的设定,能否做到当“敌人成员一”死亡后开启一个指定的开关【后续敌人成员的开关依次类推】?
# 脚本作者 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
# 脚本作者 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
#==============================================================================
# ■ 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[i].screen_x = Eienshinken::ENEMY_X[i]
$game_troop.members[i].screen_y = Eienshinken::ENEMY_Y[i]
end
eienshinken_start
else
eienshinken_start
end
end
end
#==============================================================================
# ■ 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[i].screen_x = Eienshinken::ENEMY_X[i]
$game_troop.members[i].screen_y = Eienshinken::ENEMY_Y[i]
end
eienshinken_start
else
eienshinken_start
end
end
end
作者: 眼中目之瞳 时间: 2017-2-11 21:08
自顶一次吧……
欢迎光临 Project1 (https://rpg.blue/) |
Powered by Discuz! X3.1 |