赞 | 40 |
VIP | 559 |
好人卡 | 234 |
积分 | 47 |
经验 | 251834 |
最后登录 | 2024-12-24 |
在线时间 | 5241 小时 |
Lv3.寻梦者 (版主) 八宝粥的基叔
- 梦石
- 0
- 星屑
- 4704
- 在线时间
- 5241 小时
- 注册时间
- 2009-4-29
- 帖子
- 14318
|
本帖最后由 protosssonny 于 2012-7-10 20:25 编辑
总思路:让死去或逃跑的敌人回到战场,并让它变身成指定的敌人。
首先,要保证每次战斗的敌人数量为最大,默认是8个。如果需要少于8个,可以在战斗一开始就设置不需要出现的敌人逃跑,用脚本- $game_troop.members[i].hidden
复制代码 来实现,逃跑的实质就是将敌人隐藏起来。
再次,设计一个变量,用于控制敌人呼叫同伴的敌人种类,这里使用10号变量:$game_variables[10]
然后在脚本最后,main之前添加定义:- def call_friends
- #如果敌人当前数量等于敌人最大数量,则什么也不做并返回。
- return if $game_troop.existing_members.size == $game_troop.members.size
- for i in 0...$game_troop.members.size
- #计算死去或逃走的敌人,并为此空位增加敌人作准备。
- enemy = $game_troop.members[i] unless $game_troop.members[i].exist?
- end
- enemy.turn_back #让当前空位逃跑的敌人回到战场
- enemy.hp = 1 #让当前死去的敌人复活
- for state in enemy.states #解除包括死亡在内的任何状态
- enemy.remove_state(state.id)
- end
- if enemy != nil
- #下面请你自己设计呼叫同伴的种类,在执行本脚本之前,必须让10号变量变到想呼叫敌人对应的数值。
- #呼叫同伴的实质就是变更敌人enemy.transform()。
- case $game_variables[10]
- when 0 #如果10号变量为0,则敌人呼叫15号敌人为同伴。
- enemy.transform(15)
- when 1 #如果10号变量为1,则敌人呼叫637号敌人为同伴。
- enemy.transform(637)
- when 2 #如果10号变量为2,则敌人呼叫120号敌人为同伴。
- enemy.transform(120)
- end
- end
- #让被呼叫的敌人满血满蓝
- enemy.hp += 999999
- enemy.mp += 999999
- $game_troop.make_unique_names
- end
- class Game_Enemy < Game_Battler
- #--------------------------------------------------------------------------
- # ● 重回战场
- #--------------------------------------------------------------------------
- def turn_back
- @hidden = false
- end
- end
复制代码 最后,设计某号技能调用公共事件1,而公共事件1的内容就是执行脚本:call_friends
在事件脚本中写上call_friends即可,而某某敌人被呼叫等的文字,请LZ自行编写,在此不赘述。
{:2_259:}
附带范例:
Project2.rar
(238.7 KB, 下载次数: 90)
|
|