Project1

标题: 求《即时遇敌系统》的VA移植 [打印本页]

作者: 芥末菌    时间: 2012-2-17 19:06
标题: 求《即时遇敌系统》的VA移植
首先感谢原版作者:小玖
脚本里有一处BUG后来改掉了,不过在这个范例里仍然存在,在哪一行就忘了,总之冲进怪物堆里遇敌会弹出。

希望能有一版相对完美的移植

即时遇敌系统.rar (243.03 KB, 下载次数: 154)


作者: 雪流星    时间: 2012-2-17 19:06
本帖最后由 雪流星 于 2012-3-7 22:58 编辑

我來試試看
------------------------------------------------------------------------------
完成....部分:
http://rpg.blue/forum.php?mod=viewthread&tid=224644
作者: 谢朋123    时间: 2012-2-17 20:11
加载失败了= =
请重新上传
作者: 芥末菌    时间: 2012-2-17 20:37
本帖最后由 芥末菌 于 2012-2-20 21:42 编辑

好的,没问题






‘‘──芥末菌于2012-2-20 21:43补充以下内容

是很难吗?还是我开价太低了{:4_132:}
’’

即时遇敌系统.rar

243.03 KB, 下载次数: 3505


作者: 杂兵天下    时间: 2012-3-8 15:41
雪流星 发表于 2012-3-8 13:40
我來試試看
------------------------------------------------------------------------------
...
  1. #===============================================================
  2. # ■ 即时遇敌,
  3. #---------------------------------------------------------------
  4. #    碰到什么怪物,周围是什么怪物战斗中就是什么怪物
  5. #    与雪流星版本简直是完全不同的一个版本
  6. #===============================================================
  7. $win_common_event_id = 1    # 战胜时的公共事件
  8. $lose_common_event_id = 2   # 战败时的公共事件
  9. $escape_common_event_id = 3 # 逃跑时的公共事件
  10. class Game_Event < Game_Character
  11.   alias old_initialize initialize
  12.   def initialize(map_id, event)
  13.     old_initialize(map_id, event)
  14.     name = event.name
  15.     @enemy_id = 0
  16.     if name =~ /(?:敌人),(?:\s)(\d+)/
  17.       @enemy_id = $1.to_i
  18.       setup_as_enemy
  19.     end
  20.   end
  21.   def setup_as_enemy
  22.     command = RPG::EventCommand.new(301, 0, [0, 1, true, true])
  23.     @list.push(command)
  24.     command = RPG::EventCommand.new(601, 0, [])
  25.     @list.push(command)
  26.     command = RPG::EventCommand.new(117, 1, [$win_common_event_id])
  27.     @list.push(command)
  28.     command = RPG::EventCommand.new(602, 0, [])
  29.     @list.push(command)
  30.     command = RPG::EventCommand.new(117, 1, [$escape_common_event_id])
  31.     @list.push(command)
  32.     command = RPG::EventCommand.new(603, 0, [])
  33.     @list.push(command)
  34.     command = RPG::EventCommand.new(117, 1, [$lose_common_event_id])
  35.     @list.push(command)
  36.     command = RPG::EventCommand.new(604, 0, [])
  37.     @list.push(command)
  38.     command = RPG::EventCommand.new
  39.     @list.push(command)
  40.   end
  41.   def exist?
  42.     return !@erased
  43.   end
  44.   def isEnemy?
  45.     return @enemy_id > 0
  46.   end
  47.   attr_reader :enemy_id # 指定的敌人ID
  48. end
  49. class Game_Map
  50.   ENCOUNTER_RANGE = 3 #这个代表遇到敌人的范围大小
  51.   def scope_event
  52.     scope_event = []
  53.     x = $game_player.x
  54.     y = $game_player.y
  55.     for event in $game_map.events.values
  56.       next unless event.isEnemy?
  57.       if (event.x - x).abs + (event.y - y).abs <=ENCOUNTER_RANGE and event.exist?
  58.         scope_event.push(event.id)
  59.         break if scope_event.size >= 8
  60.       end
  61.     end
  62.     return scope_event
  63.   end
  64. end
  65. module BattleManager
  66.   class << self
  67.     alias instant_encounter_battle_end battle_end
  68.     def battle_end(result)
  69.       if result == 0
  70.         scope_event = $game_map.scope_event
  71.         $game_troop.members.size.times{ |i|
  72.           $game_map.events[scope_event[i]].erase
  73.         }
  74.       end
  75.       instant_encounter_battle_end(result)
  76.     end
  77.     alias instant_encounter_setup setup
  78.     def setup(troop_id, can_escape = true, can_lose = false)
  79.       if troop_id == 1
  80.         $data_troops[1].members = []
  81.         scope_event = $game_map.scope_event
  82.         for i in 1..scope_event.size
  83.           temp = RPG::Troop::Member.new
  84.           temp.enemy_id = $game_map.events[scope_event[i-1]].enemy_id
  85.           temp.x = Graphics.width * (i - 0.5) / scope_event.size
  86.           temp.y = 288
  87.           $data_troops[1].members.push(temp)
  88.         end
  89.       end
  90.       instant_encounter_setup(troop_id, can_escape, can_lose)
  91.     end
  92.   end
  93. end
复制代码
与您的脚本结构不一样的脚本。已经实现战斗后消除事件
作者: 雪流星    时间: 2012-3-8 21:56
杂兵天下 发表于 2012-3-8 01:41
与您的脚本结构不一样的脚本。已经实现战斗后消除事件

本来想睡醒了再继续制作....现在不用了
还有设置1-10号是能手动设置座标的
你确定8个敌人排一排好看吗...




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