赞 | 1 |
VIP | 0 |
好人卡 | 0 |
积分 | 3 |
经验 | 2639 |
最后登录 | 2020-8-22 |
在线时间 | 252 小时 |
Lv2.观梦者
- 梦石
- 0
- 星屑
- 325
- 在线时间
- 252 小时
- 注册时间
- 2014-4-11
- 帖子
- 265
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 眼中目之瞳 于 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
|
|