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