设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3930|回复: 14
打印 上一主题 下一主题

区域遇敌改版

 关闭 [复制链接]

Lv1.梦旅人

WG后援团
此人已死 有事烧纸

梦石
0
星屑
69
在线时间
12 小时
注册时间
2008-1-12
帖子
1829

贵宾

跳转到指定楼层
1
发表于 2008-7-1 19:36:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
这个遇敌版本主要是用于我和yangff的游戏Pokemon For Xp里的草丛的设定。之前的类似脚本感觉没我们的好,,,,,,,,(pia飞自己)
并且这是我上任版主的第一个脚本,汗个~~~~~~
以下覆盖同名脚本的同名部分
Game_Map
  1. #--------------------------------------------------------------------------
  2.   # ● 刷新画面
  3.   #--------------------------------------------------------------------------
  4.   def update
  5.     # 循环
  6.     loop do
  7.       # 按照地图、实例、主角的顺序刷新
  8.       # (本更新顺序不会在满足事件的执行条件下成为给予角色瞬间移动
  9.       #  的机会的重要因素)
  10.       $game_map.update
  11.       $game_system.map_interpreter.update
  12.       $game_player.update
  13.       # 系统 (计时器)、画面刷新
  14.       $game_system.update
  15.       $game_screen.update
  16.       # 如果主角在场所移动中就中断循环
  17.       unless $game_temp.player_transferring
  18.         break
  19.       end
  20.       # 执行场所移动
  21.       transfer_player
  22.       # 处理过渡中的情况下、中断循环
  23.       if $game_temp.transition_processing
  24.         break
  25.       end
  26.     end
  27.     # 刷新活动块
  28.     @spriteset.update
  29.     # 刷新信息窗口
  30.     @message_window.update
  31.     # 游戏结束的情况下
  32.     if $game_temp.gameover
  33.       # 切换的游戏结束画面
  34.       $scene = Scene_Gameover.new
  35.       return
  36.     end
  37.     # 返回标题画面的情况下
  38.     if $game_temp.to_title
  39.       # 切换到标题画面
  40.       $scene = Scene_Title.new
  41.       return
  42.     end
  43.     # 处理过渡中的情况下
  44.     if $game_temp.transition_processing
  45.       # 清除过渡处理中标志
  46.       $game_temp.transition_processing = false
  47.       # 执行过渡
  48.       if $game_temp.transition_name == ""
  49.         Graphics.transition(20)
  50.       else
  51.         Graphics.transition(40, "Graphics/Transitions/" +
  52.           $game_temp.transition_name)
  53.       end
  54.     end
  55.     # 显示信息窗口中的情况下
  56.     if $game_temp.message_window_showing
  57.       return
  58.     end
  59.     # 遇敌计数为 0 且、且遇敌列表不为空的情况下
  60.     if ($game_player.encounter_count == 0 and ($game_player.terrain_tag == 1 or in_array($game_map.map_id,[2,3,4]))) and $game_map.encounter_list != []
  61.       # 不是在事件执行中或者禁止遇敌中
  62.       unless $game_system.map_interpreter.running? or
  63.              $game_system.encounter_disabled
  64.         # 确定队伍
  65.         n = rand($game_map.encounter_list.size)
  66.         troop_id = $game_map.encounter_list[n]
  67.         
  68.         # 队伍有效的话
  69.         if $data_troops[troop_id] != nil
  70.           # 设置调用战斗标志
  71.           $game_temp.battle_calling = true
  72.           $game_temp.battle_troop_id = troop_id
  73.           $game_temp.battle_can_escape = true
  74.           $game_temp.battle_can_lose = false
  75.           $game_temp.battle_proc = nil
  76.         end
  77.       end
  78.     end
  79.     # 按下 B 键的情况下
  80.     if Input.trigger?(Input::B)
  81.       # 不是在事件执行中或菜单禁止中
  82.       unless $game_system.map_interpreter.running? or
  83.              $game_system.menu_disabled
  84.         # 设置菜单调用标志以及 SE 演奏
  85.         $game_temp.menu_calling = true
  86.         $game_temp.menu_beep = true
  87.       end
  88.     end
  89.     # 调试模式为 ON 并且按下 F9 键的情况下
  90.     if $DEBUG and Input.press?(Input::F9)
  91.       # 设置调用调试标志
  92.       $game_temp.debug_calling = true
  93.     end
  94.     # 不在主角移动中的情况下
  95.     unless $game_player.moving?
  96.       # 执行各种画面的调用
  97.       if $game_temp.battle_calling
  98.         call_battle
  99.       elsif $game_temp.shop_calling
  100.         call_shop
  101.       elsif $game_temp.name_calling
  102.         call_name
  103.       elsif $game_temp.menu_calling
  104.         call_menu
  105.       elsif $game_temp.save_calling
  106.         call_save
  107.       elsif $game_temp.debug_calling
  108.         call_debug
  109.       end
  110.     end
  111.   end
  112.   #--------------------------------------------------------------------------
  113.   # ● 调用战斗
  114.   #--------------------------------------------------------------------------
  115.   def call_battle
  116.     # 清除战斗调用标志
  117.     $game_temp.battle_calling = false
  118.     # 清除菜单调用标志
  119.     $game_temp.menu_calling = false
  120.     $game_temp.menu_beep = false
  121.     # 生成遇敌计数
  122.     $game_player.make_encounter_count
  123.     # 记忆地图 BGM 、停止 BGM
  124.     $game_temp.map_bgm = $game_system.playing_bgm
  125.     $game_system.bgm_stop
  126.     # 演奏战斗开始 SE
  127.     $game_system.se_play($data_system.battle_start_se)
  128.     # 演奏战斗 BGM
  129.     $game_system.bgm_play($game_system.battle_bgm)
  130.     # 矫正主角姿势
  131.     $game_player.straighten
  132.     # 切换到战斗画面
  133.     $scene = Scene_Battle.new
  134.   end
  135.   #--------------------------------------------------------------------------
复制代码
  1. #--------------------------------------------------------------------------
  2.   # ● 获取遇敌列表
  3.   #--------------------------------------------------------------------------
  4.   def encounter_list
  5.     return @map.encounter_list
  6.   end
  7.   #6666666666666666666666666666666
  8.   def encounter_list=(array)
  9.     @map.encounter_list = array
  10.   end
  11.   #6666666666666666666666666666666
复制代码

以下脚本可以增加到Scene_Map中或者在main之前插入
  1. def in_array(a,array)
  2.   for i in array
  3.     if array == i
  4.       return true
  5.     end
  6.   end
  7.   return false
  8. end
复制代码



好了,以下是脚本的应用。这里大家可以自己具体参考下我这的图,用法具体大家自己决定

用事件围成一个区域,这里面才可以遇敌,外面不能遇敌。事件里的脚本照下面这张图去写

在$game_map.encounter_list=[1,2,3]中,数组中的1,2,3代表你遇到的敌人的队伍ID。可以根据大家的实际需要去更改,即使你在一个地方可以遇见100种敌人都可以(除非你想)
感觉我们的脚本还是不错的,之前我测试了好一下~希望能对大家有用吧
郑重声明:
1.本人是文盲,以上内容文字均不认识,也看不懂是什么意思。
2.此事与本人一点关系都没有,只是本着“看贴(虽然看不懂)回贴,利人利己的中华民族优秀传统美德”,顺便赚1个RP。
3. 本人在此留言均为网络上复制,并不代表本人同意、支持或者反对楼主观点。  
4. 如本人留言违反国家有关法律,请网络管理员及时删除本人跟贴。  
5. 因删贴不及时所产生的任何法律(包括宪法,民法,刑法,书法,公检法,基本法,劳动法,婚姻法,输入法,没办法,国际法,今日说法,吸星大-法,与台湾关系法及文中涉及或可能涉及以及未涉及之法,各地治安管理条例)纠纷或责任本人概不负责。
6. 本人谢绝任何跨省追捕行为,如有需要请直接联系楼主、原作者以及网络管理员或法人代表。  
7. 此声明最终解释权归本人所有。

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3299
在线时间
3619 小时
注册时间
2006-9-6
帖子
37400

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

2
发表于 2008-7-1 20:08:35 | 只看该作者
用这种方法大家一定要使用防卡脚本……
免的事件放的太多掉FPS—……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

WG后援团
此人已死 有事烧纸

梦石
0
星屑
69
在线时间
12 小时
注册时间
2008-1-12
帖子
1829

贵宾

3
 楼主| 发表于 2008-7-1 20:19:09 | 只看该作者
恩,这个就是我弄的时候决定缩减地图大小增加地图张数的原因
郑重声明:
1.本人是文盲,以上内容文字均不认识,也看不懂是什么意思。
2.此事与本人一点关系都没有,只是本着“看贴(虽然看不懂)回贴,利人利己的中华民族优秀传统美德”,顺便赚1个RP。
3. 本人在此留言均为网络上复制,并不代表本人同意、支持或者反对楼主观点。  
4. 如本人留言违反国家有关法律,请网络管理员及时删除本人跟贴。  
5. 因删贴不及时所产生的任何法律(包括宪法,民法,刑法,书法,公检法,基本法,劳动法,婚姻法,输入法,没办法,国际法,今日说法,吸星大-法,与台湾关系法及文中涉及或可能涉及以及未涉及之法,各地治安管理条例)纠纷或责任本人概不负责。
6. 本人谢绝任何跨省追捕行为,如有需要请直接联系楼主、原作者以及网络管理员或法人代表。  
7. 此声明最终解释权归本人所有。
回复 支持 反对

使用道具 举报

Lv2.观梦者

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

4
发表于 2008-7-1 20:21:46 | 只看该作者
请修改
    if ($game_player.encounter_count == 0 and ($game_player.terrain_tag == 1 or in_array($game_map.map_id,[2,3,4]))) and $game_map.encounter_list != []
中的
2,3,4为任何区域遇敌的地图id
其他地图的遇敌区域的地形id设置成1
哎呀,蛋疼什么的最有爱了
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3299
在线时间
3619 小时
注册时间
2006-9-6
帖子
37400

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

5
发表于 2008-7-1 20:22:45 | 只看该作者
话说VX的话就自带这个系统了……(而且不掉FPS)
回复 支持 反对

使用道具 举报

Lv1.梦旅人

WG后援团
此人已死 有事烧纸

梦石
0
星屑
69
在线时间
12 小时
注册时间
2008-1-12
帖子
1829

贵宾

6
 楼主| 发表于 2008-7-1 20:24:59 | 只看该作者
以下引用yangff于2008-7-1 12:21:46的发言:

请修改
   if ($game_player.encounter_count == 0 and ($game_player.terrain_tag == 1 or in_array($game_map.map_id,[2,3,4]))) and $game_map.encounter_list != []
中的
2,3,4为任何区域遇敌的地图id
其他地图的遇敌区域的地形id设置成1

我忘记了,对了,加上
以下引用越前リョーマ于2008-7-1 12:22:45的发言:

话说VX的话就自带这个系统了……(而且不掉FPS)

5555,这些都是我喜欢的功能,还有自动生成门啊什么的都是我喜欢的55555555555
郑重声明:
1.本人是文盲,以上内容文字均不认识,也看不懂是什么意思。
2.此事与本人一点关系都没有,只是本着“看贴(虽然看不懂)回贴,利人利己的中华民族优秀传统美德”,顺便赚1个RP。
3. 本人在此留言均为网络上复制,并不代表本人同意、支持或者反对楼主观点。  
4. 如本人留言违反国家有关法律,请网络管理员及时删除本人跟贴。  
5. 因删贴不及时所产生的任何法律(包括宪法,民法,刑法,书法,公检法,基本法,劳动法,婚姻法,输入法,没办法,国际法,今日说法,吸星大-法,与台湾关系法及文中涉及或可能涉及以及未涉及之法,各地治安管理条例)纠纷或责任本人概不负责。
6. 本人谢绝任何跨省追捕行为,如有需要请直接联系楼主、原作者以及网络管理员或法人代表。  
7. 此声明最终解释权归本人所有。
回复 支持 反对

使用道具 举报

Lv2.观梦者

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

7
发表于 2008-7-1 20:26:35 | 只看该作者
可素vx的大部分功能我bs

vx的功能我也有办法模仿
绝对不掉fps

拿起vb
哎呀,蛋疼什么的最有爱了
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
39016
在线时间
5717 小时
注册时间
2006-11-10
帖子
6619
8
发表于 2008-7-2 23:08:13 | 只看该作者
话说...用地形标志判断范围不好吗?非要铺事件?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

WG后援团
此人已死 有事烧纸

梦石
0
星屑
69
在线时间
12 小时
注册时间
2008-1-12
帖子
1829

贵宾

9
 楼主| 发表于 2008-7-2 23:35:04 | 只看该作者
这个有写过,方法不是很好
郑重声明:
1.本人是文盲,以上内容文字均不认识,也看不懂是什么意思。
2.此事与本人一点关系都没有,只是本着“看贴(虽然看不懂)回贴,利人利己的中华民族优秀传统美德”,顺便赚1个RP。
3. 本人在此留言均为网络上复制,并不代表本人同意、支持或者反对楼主观点。  
4. 如本人留言违反国家有关法律,请网络管理员及时删除本人跟贴。  
5. 因删贴不及时所产生的任何法律(包括宪法,民法,刑法,书法,公检法,基本法,劳动法,婚姻法,输入法,没办法,国际法,今日说法,吸星大-法,与台湾关系法及文中涉及或可能涉及以及未涉及之法,各地治安管理条例)纠纷或责任本人概不负责。
6. 本人谢绝任何跨省追捕行为,如有需要请直接联系楼主、原作者以及网络管理员或法人代表。  
7. 此声明最终解释权归本人所有。
回复 支持 反对

使用道具 举报

Lv2.观梦者

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

10
发表于 2008-7-5 05:11:19 | 只看该作者
以下引用灯笼菜刀王于2008-7-2 15:08:13的发言:

话说...用地形标志判断范围不好吗?非要铺事件?

每個區域的遇敵列表不同,如果用地形導致遇敵列表的單一,明顯不適合口袋妖怪這種大地圖 {/wx}
哎呀,蛋疼什么的最有爱了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-16 13:27

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表