Project1

标题: 敌人上限突破8人 [打印本页]

作者: dujian15    时间: 2013-1-15 17:49
标题: 敌人上限突破8人
本帖最后由 dujian15 于 2013-1-15 20:07 编辑

XP和VX是否可用,没有试过,想尝试的小盆友可以拷进去试一下,举手之劳,我没试的原因是因为我没装那两个软件,嘿嘿。

这个脚本的功能是上敌人的上限突破8人,想来多少来多少,直到爆内存。
  1. # 脚本作者 dujian15
  2. module TroopE #设置敌群
  3.   
  4.   
  5.   #设置这一部分,下面的如果不懂脚本可以不用管。

  6. AddEnemy = [] #对应的数组是一个二元数组。

  7. #troop_id 是你想插入的对应的敌群id
  8. #enemy_id 是你想插入的敌人的id可以重复



  9. #AddEnemy[troop_id] = [enemy_id1,enemy_id2...] 可以重复

  10. AddEnemy[33] = [34,32,35] #33号敌群需要增加的敌人的id名 可以重复 剩下的你可以自己来写.

  11. end






  12. #encoding:utf-8
  13. #==============================================================================
  14. # ■ Game_Troop
  15. #------------------------------------------------------------------------------
  16. #  管理敌群和战斗相关资料的类,也可执行如战斗事件管理之类的功能。
  17. #   本类的实例请参考 $game_troop 。
  18. #==============================================================================

  19. class Game_Troop < Game_Unit
  20.   
  21.   def setup(troop_id)
  22.     clear
  23.     @troop_id = troop_id
  24.     @enemies = []
  25.    
  26.      
  27.     troop.members.each do |member|
  28.       next unless $data_enemies[member.enemy_id]
  29.       enemy = Game_Enemy.new(@enemies.size, member.enemy_id)
  30.       enemy.hide if member.hidden
  31.       enemy.screen_x = member.x
  32.       enemy.screen_y = member.y
  33.       @enemies.push(enemy)
  34.       
  35.   
  36.     end
  37.    
  38.    
  39.     add_enemy( troop_id )  
  40.      
  41.     init_screen_tone
  42.     make_unique_names
  43.   end  
  44.   
  45.   #--------------------------------------------------------------------------
  46.   # ● 敌人上限破8 总合 15
  47.   #--------------------------------------------------------------------------  


  48.   def add_enemy( troop_id )
  49.        @troop_id = troop_id
  50.        if TroopE::AddEnemy[@troop_id].size != 0 then
  51.        for i in  1 .. TroopE::AddEnemy[@troop_id].size
  52.           @enemy1_id = TroopE::AddEnemy[@troop_id][i - 1]
  53.           enemy1 = Game_Enemy.new(@enemies.size, @enemy1_id)   
  54.           @enemies.push(enemy1)   
  55.           end
  56.        end
  57.        end
  58.   end
复制代码
下面这个脚本不是我写的,我转发,用于让显示效果更sexy
  1. #==============================================================================
  2. # ■ VX 敌人战斗坐标永续固定的设定。
  3. # By:小E
  4. #==============================================================================
  5. #==============================================================================
  6. # ■ module Eienshinken Ver1.1
  7. #    版本更新履历
  8. #    Ver1.1: 添加开关控制,想自动排列时再自动排列。
  9. #------------------------------------------------------------------------------
  10. #  敌人X,Y坐标的设定模块。
  11. #==============================================================================
  12. module Eienshinken
  13. #--------------------------------------------------------------------------
  14. # ● 敌人的X坐标改变。
  15. #    顺序排列依次:敌人成员一,敌人成员二,敌人成员三等等。
  16. #    扩展请自己添加数组。
  17. #--------------------------------------------------------------------------
  18.   #ENEMY_X = [200,100,40,280,145,235,270,320]
  19.   ENEMY_X = [240,250,260,270,280,160,170,180,190,200,80,90,100,110,120]
  20. #--------------------------------------------------------------------------
  21. # ● 敌人的Y坐标改变。
  22. #    顺序排列依次:敌人成员一,敌人成员二,敌人成员三等等。
  23. #    扩展请自己添加数组。
  24. #--------------------------------------------------------------------------
  25.   #ENEMY_Y = [180,100,260,180,270,80,310,70]
  26.   ENEMY_Y = [300,250,200,150,100,300,250,200,150,100,300,250,200,150,100]
  27. #--------------------------------------------------------------------------
  28. # ● 改变敌人位置的坐标开关
  29. #    设置开关编号。游戏中用开关控制是否打开功能。
  30. #--------------------------------------------------------------------------
  31.   ENEMY_XY_SWITCH = 1
  32. end
  33. #==============================================================================
  34. # ■ Scene_Battle
  35. #------------------------------------------------------------------------------
  36. #  处理战斗画面的类。
  37. #==============================================================================
  38. class Scene_Battle < Scene_Base
  39.   alias :eienshinken_start :start
  40.   def start
  41.     if true #$game_switches[Eienshinken::ENEMY_XY_SWITCH]
  42.       for i in 0...$game_troop.members.size
  43.         $game_troop.members[i].screen_x = Eienshinken::ENEMY_X[i]
  44.         $game_troop.members[i].screen_y = Eienshinken::ENEMY_Y[i]
  45.       end
  46.       eienshinken_start
  47.     else
  48.       eienshinken_start
  49.     end
  50.   end
  51. end
复制代码

image.jpg (111.43 KB, 下载次数: 20)

image.jpg

作者: 无名小兵    时间: 2013-1-16 00:34
这样会不会卡死????
作者: dujian15    时间: 2013-1-16 09:35
无名小兵 发表于 2013-1-16 00:34
这样会不会卡死????

真的会卡........
作者: cjlzbb    时间: 2013-1-16 15:16
dujian15 发表于 2013-1-16 09:35
真的会卡........

如果想像数据库里那样设置中途加入的话,没办法吧?不知道哪里可以设置特定怪物一开始就是无法战斗状态

可以设置的话就可以在战斗中用事件去掉无法战斗状态并且回满血来假装成中途加入了
作者: dujian15    时间: 2013-1-16 16:31
cjlzbb 发表于 2013-1-16 15:16
如果想像数据库里那样设置中途加入的话,没办法吧?不知道哪里可以设置特定怪物一开始就是无法战斗状态

...

现在这个脚本不行...但数据库里设置的隐藏依然有效。
作者: hcm    时间: 2013-1-16 19:57
cjlzbb 发表于 2013-1-16 15:16
如果想像数据库里那样设置中途加入的话,没办法吧?不知道哪里可以设置特定怪物一开始就是无法战斗状态

...

这样也有问题啊,因为顶上有字幕提示,
难道要把字幕提示全删了用直接蹦出的数字代替?




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1