Project1

标题: 请教:如何控制暗雷遇敌模式的敌人出现与否 [打印本页]

作者: alonescud    时间: 2008-10-21 18:31
标题: 请教:如何控制暗雷遇敌模式的敌人出现与否
也就是默认的遇敌方式

在某个特定的地图,某种情况下(比如某个开关打开),然后在这个地图此敌人有机会出现,
如果这个开关关了,这敌人则不出现

如果是明雷很好办,暗雷。。。。- -e

请赐教,谢谢 [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: dbshy    时间: 2008-10-21 18:34
请在scene_map中找到随机遇敌的那一段

然后if判断

手上没vx,而且对vx的脚本不熟,请lz自己找
作者: 雪流星    时间: 2008-10-21 18:35
请注意看事件指令
里面就有这个功能
作者: alonescud    时间: 2008-10-21 18:40
以下引用snstar2006于2008-10-21 10:35:27的发言:

请注意看事件指令
里面就有这个功能


没有啊,,暗雷怎么设.在框里只能设定整个地图的敌人遇不遇敌,


作者: alonescud    时间: 2008-10-21 18:42
以下引用dbshy于2008-10-21 10:34:52的发言:

请在scene_map中找到随机遇敌的那一段

然后if判断

手上没vx,而且对vx的脚本不熟,请lz自己找


这设置很多这样的地图........估计,,,- -

作者: 雪流星    时间: 2008-10-21 18:49
事件.....我说事件!!!
作者: alonescud    时间: 2008-10-21 18:52
以下引用snstar2006于2008-10-21 10:49:45的发言:

事件.....我说事件!!!


{/gg}那就是明雷了,设一个事件,接触后是战斗,事件再设个出现的开关...这没问题啊

可是暗雷呢,不明白啊!{/fd}
作者: 雪流星    时间: 2008-10-21 19:38
{/kuk}{/kuk}{/kuk}{/kuk}
事件命令第三页
作者: alonescud    时间: 2008-10-21 20:39
以下引用snstar2006于2008-10-21 11:38:40的发言:


事件命令第三页



战斗处理中可以变量指定,不过..这个可如何指定?

这个变量要做何处理?代了什么值?


P.S 还是不行...- -b  

作者: 雪流星    时间: 2008-10-21 20:46
你眼睛就只看的到战斗处理吗?

作者: alonescud    时间: 2008-10-21 20:55
以下引用snstar2006于2008-10-21 12:46:04的发言:

你眼睛就只看的到战斗处理吗?


{/gg} 是不是我没表达清楚....

1.数据库中有队伍1 队伍2 队伍3

2.在地图mp001上,如果我打开了开关1,那么,我有机率和队伍3碰上,如果没打开开关1,那么只有可能碰上队伍1,队伍2 ,再则,如果开关1打开,队伍3碰上,且成功消灭后,以后在地图上无论开关1打不打开,都不可能再碰到队伍3,要做的效果就是队伍3已经被消灭了.....

3.但是在4楼我的图片里,这个地图出现什么敌人,不可能在我把队伍3消灭后而取消遇队伍3

4.禁止遇敌,是禁止遇所有敌,,没有禁止遇某些敌....所以{/gg}
作者: 雪流星    时间: 2008-10-21 21:11
如果不多的话,就在Game_Player里面设定

  def make_encounter_troop_id
    encounter_list = $game_map.encounter_list.clone
    for area in $data_areas.values
      encounter_list += area.encounter_list if in_area?(area)
    end
  
   # 在这里插入

    if encounter_list.empty?
      make_encounter_count
      return 0
    end
    return encounter_list[rand(encounter_list.size)]
  end





如果是所有地图都一样设定
插入
encounter_list.push(敌人队伍ID) if $game_switches[开关ID]


如果不同地图有不同的设定
插入
case $game_map.map_id
when 地图ID
  encounter_list.push(敌人队伍ID) if $game_switches[开关ID]
when XX
  encounter_list.push(敌人队伍ID) if $game_switches[开关ID]
.....
....
...
..
end [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: alonescud    时间: 2008-10-21 21:26
以下引用snstar2006于2008-10-21 13:11:18的发言:

如果不多的话,就在Game_Player里面设定

def make_encounter_troop_id
   encounter_list = $game_map.encounter_list.clone
   for area in $data_areas.values
     encounter_list += area.encounter_list if in_area?(area)
   end

  # 在这里插入

   if encounter_list.empty?
     make_encounter_count
     return 0
   end
   return encounter_list[rand(encounter_list.size)]
end





如果是所有地图都一样设定
插入
encounter_list.push(敌人队伍ID) if $game_switches[开关ID]


如果不同地图有不同的设定
插入
case $game_map.map_id
when 地图ID
encounter_list.push(敌人队伍ID) if $game_switches[开关ID]
when XX
encounter_list.push(敌人队伍ID) if $game_switches[开关ID]
.....
....
...
..
end


[本贴由作者于 2008-10-21 13:13:18 最后编辑]



多次测试..还是为遇敌

如下,我用2号地图做测试,设置成ID为002的地图,开关2号打开后,本不会遇队伍1,2.可是还是会

PS.开关关了也测试过,也会, when 2改成 when 002也会

   case $game_map.map_id
when 1
encounter_list.push(3) if $game_switches[1]
when 2
  encounter_list.push(1) if $game_switches[2]
encounter_list.push(2) if $game_switches[2]

end



作者: 雪流星    时间: 2008-10-21 21:29
忘了说
地图设定中不要把「原本不会遇到的敌人」加进去
作者: alonescud    时间: 2008-10-21 21:44
以下引用snstar2006于2008-10-21 13:29:25的发言:

忘了说
地图设定中不要把「原本不会遇到的敌人」加进去


了解,就是在脚本里指定的队伍,不通过地图设置来控制,完全依靠开关了.

多谢流星不厌其烦的解答,追加100分 - -b
作者: 雪流星    时间: 2008-10-22 05:45
orz
你还是不了解
我是说,在地图设置中设定随机遇敌 1, 2 号敌队
脚本中设定开启三号开关时遇到3号敌队

这样平时在地图上就只会随机遇到1, 2号敌队
不会遇到3号敌队
开启开关时,就会遇到1, 2, 3号敌队


作者: alonescud    时间: 2008-10-22 07:52
以下引用snstar2006于2008-10-21 21:45:24的发言:

orz
你还是不了解
我是说,在地图设置中设定随机遇敌 1, 2 号敌队
脚本中设定开启三号开关时遇到3号敌队

这样平时在地图上就只会随机遇到1, 2号敌队
不会遇到3号敌队
开启开关时,就会遇到1, 2, 3号敌队


我就是这个意思啦 - -b  地图上只设1,2号敌人,不设3号,3号由开关控制出不出现!


看我的原话:

了解,就是在脚本里指定的队伍,不通过地图设置来控制,完全依靠开关了.

就是在脚本里指定的队伍就是在脚本里指定队伍   的区别,多一个的字意思差好多 {/cy}


总之,非常感谢流星的耐心解答!!{/cy}






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