| 
 
| 赞 | 0 |  
| VIP | 0 |  
| 好人卡 | 1 |  
| 积分 | 1 |  
| 经验 | 1659 |  
| 最后登录 | 2014-4-18 |  
| 在线时间 | 17 小时 |  
 Lv1.梦旅人 
	梦石0 星屑50 在线时间17 小时注册时间2013-11-10帖子28 | 
3楼
 
 
 楼主|
发表于 2014-2-7 09:07:51
|
只看该作者 
| 余烬之中 发表于 2014-2-7 09:02 ![]() 不使用这个脚本就可以了啊
 你把脚本发上来 里面应该有开关的
#==============================================================================
 # ★ RGSS3_視界制限 Ver1.11
 #==============================================================================
 =begin
 
 作者:tomoaky
 webサイト:ひきも記 (http://hikimoki.sakura.ne.jp/)
 
 設定した番号のマップだけ視界を制限します。
 
 アクター、職業、武器(防具)のメモ欄に下のようなタグを書き込むことで
 視界制限のサイズを補正することができます。
 例)<視界補正 32>
 視界が 32 ドット広がります。
 視界補正値の計算をおこなうのは戦闘メンバーのみとなります。
 
 ゲーム変数(初期設定では9番)を使って視界のサイズを補正できます。
 
 実際の視界制限サイズは上記の設定値をすべて加算したものになります。
 ただし、マップに視界制限値が設定されていない場合はすべて無効です。
 
 画面全体を覆うスプライトを毎フレーム再描画しているため
 多少重くなります。
 
 動作に必要な画像
 Graphics/System/sight_shadow.png
 
 使用するゲーム変数(初期設定)
 0009
 
 2012.03.07  Ver1.11
 ・メニューから復帰したときに視界制限が途切れる不具合を修正
 
 2012.02.05  Ver1.1
 ・タイマーが隠れてしまわないようにZ座標を調整
 ・ゲーム変数を使って視界制限サイズを補正する機能を追加
 
 2012.01.20  Ver1.0
 公開
 
 =end
 
 #==============================================================================
 # □ 設定項目
 #==============================================================================
 module TMBLSIGHT
 # 何番のマップをどれだけ視界制限するか
 # 例)SIGHT[3] = 128  # 3番のマップの視界を128ドット四方に制限する
 SIGHT = {}
 
 SIGHT[1] = 200
 SIGHT[2] = 200
 SIGHT[3] = 500
 SIGHT[4] = 350
 SIGHT[5] = 350
 SIGHT[6] = 200
 SIGHT[7] = 200
 SIGHT[8] = 200
 SIGHT[9] = 200
 SIGHT[10] = 200
 SIGHT[11] = 200
 SIGHT[12] = 200
 SIGHT[13] = 200
 SIGHT[14] = 200
 SIGHT[15] = 200
 SIGHT[16] = 200
 SIGHT[17] = 400
 SIGHT[18] = 400
 SIGHT[19] = 200
 SIGHT[20] = 200
 SIGHT[21] = 250
 SIGHT[22] = 250
 SIGHT[23] = 250
 SIGHT[24] = 200
 SIGHT[25] = 200
 SIGHT[26] = 250
 SIGHT[27] = 250
 SIGHT[28] = 250
 SIGHT[29] = 250
 SIGHT[30] = 250
 SIGHT[31] = 200
 SIGHT[32] = 250
 SIGHT[33] = 250
 SIGHT[34] = 200
 SIGHT[35] = 250
 SIGHT[36] = 250
 SIGHT[37] = 250
 SIGHT[38] = 250
 SIGHT[39] = 450
 SIGHT[40] = 200
 SIGHT[41] = 250
 SIGHT[42] = 250
 SIGHT[43] = 250
 SIGHT[44] = 200
 SIGHT[45] = 150
 SIGHT[46] = 200
 SIGHT[47] = 200
 SIGHT[48] = 200
 SIGHT[49] = 200
 SIGHT[50] = 150
 SIGHT[51] = 150
 
 VN_SIGHT = 999   # 視界のサイズ補正に利用するゲーム変数番号
 end
 
 #==============================================================================
 # □ RPG::BaseItem
 #==============================================================================
 class RPG::BaseItem
 #--------------------------------------------------------------------------
 # ○ 視界制限の補正値
 #--------------------------------------------------------------------------
 def sight_power
 unless @sight_power
 @sight_power = /<視界補正\s*(\-*\d+)\s*>/ =~ @note ? $1.to_i : 0
 end
 @sight_power
 end
 end
 
 #==============================================================================
 # ■ Game_Actor
 #==============================================================================
 class Game_Actor
 #--------------------------------------------------------------------------
 # ○ 視界制限の補正値
 #--------------------------------------------------------------------------
 def sight_power
 result = 0
 feature_objects.each {|object| result += object.sight_power}
 result
 end
 end
 
 #==============================================================================
 # □ Sprite_SightShadow
 #==============================================================================
 class Sprite_SightShadow < Sprite
 #--------------------------------------------------------------------------
 # ● オブジェクト初期化
 #--------------------------------------------------------------------------
 def initialize(viewport = nil)
 super(viewport)
 self.z = 50#199
 self.bitmap = Bitmap.new(Graphics.width, Graphics.height)
 @bitmap_shadow = Bitmap.new("Graphics/System/sight_shadow")
 end
 #--------------------------------------------------------------------------
 # ● 解放
 #--------------------------------------------------------------------------
 def dispose
 self.bitmap.dispose
 @bitmap_shadow.dispose
 super
 end
 #--------------------------------------------------------------------------
 # ● フレーム更新
 #--------------------------------------------------------------------------
 def update
 super
 if TMBLSIGHT::SIGHT[$game_map.map_id]
 self.visible = true
 self.bitmap.clear
 w = TMBLSIGHT::SIGHT[$game_map.map_id]
 $game_party.battle_members.each{|actor| w = [w + actor.sight_power, 48].max}
 w = [w + $game_variables[TMBLSIGHT::VN_SIGHT], 48].max
 x = $game_player.screen_x - w / 2
 y = $game_player.screen_y - w / 2 - 16
 rect = Rect.new(x, y, w, w)
 self.bitmap.stretch_blt(rect, @bitmap_shadow, @bitmap_shadow.rect)
 color = Color.new(0, 0, 0)
 self.bitmap.fill_rect(0, 0, Graphics.width, y, color)
 self.bitmap.fill_rect(0, y + w, Graphics.width, Graphics.height - y - w,
 color)
 self.bitmap.fill_rect(0, y, x, w, color)
 self.bitmap.fill_rect(x + w, y, Graphics.width - x - w, w, color)
 else
 self.visible = false
 end
 end
 end
 
 #==============================================================================
 # ■ Spriteset_Map
 #==============================================================================
 class Spriteset_Map
 #--------------------------------------------------------------------------
 # ● オブジェクト初期化
 #--------------------------------------------------------------------------
 alias tmblsight_spriteset_map_initialize initialize
 def initialize
 tmblsight_spriteset_map_initialize
 create_sight_shadow
 end
 #--------------------------------------------------------------------------
 # ○ 視界制限スプライトの作成
 #--------------------------------------------------------------------------
 def create_sight_shadow
 @sight_shadow_sprite = Sprite_SightShadow.new(@viewport2)
 update_sight_shadow
 end
 #--------------------------------------------------------------------------
 # ● 解放
 #--------------------------------------------------------------------------
 alias tmblsight_spriteset_map_dispose dispose
 def dispose
 tmblsight_spriteset_map_dispose
 dispose_sight_shadow
 end
 #--------------------------------------------------------------------------
 # ○ 視界制限スプライトの解放
 #--------------------------------------------------------------------------
 def dispose_sight_shadow
 @sight_shadow_sprite.dispose
 end
 #--------------------------------------------------------------------------
 # ● フレーム更新
 #--------------------------------------------------------------------------
 alias tmblsight_spriteset_map_update update
 def update
 update_sight_shadow
 tmblsight_spriteset_map_update
 end
 #--------------------------------------------------------------------------
 # ○ 視界制限スプライトの更新
 #--------------------------------------------------------------------------
 def update_sight_shadow
 @sight_shadow_sprite.update if @sight_shadow_sprite
 end
 end
 
 
 
 | 
 |