| 赞 | 40  | 
 
| VIP | 559 | 
 
| 好人卡 | 234 | 
 
| 积分 | 47 | 
 
| 经验 | 251834 | 
 
| 最后登录 | 2025-10-7 | 
 
| 在线时间 | 5233 小时 | 
 
 
 
 
 
Lv3.寻梦者 (版主) 八宝粥的基叔 
	- 梦石
 - 0 
 
        - 星屑
 - 4687 
 
        - 在线时间
 - 5233 小时
 
        - 注册时间
 - 2009-4-29
 
        - 帖子
 - 14320
 
 
  
 
 | 
	
 本帖最后由 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, 下载次数: 87)
 |   
 
 
 
 |