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

Project1

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

[已经过期] 求教此視界制限脚本如何在事件使用?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1248
在线时间
409 小时
注册时间
2012-8-7
帖子
1536
跳转到指定楼层
1
发表于 2012-8-31 14:19:27 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 harinlen 于 2012-8-31 15:53 编辑

这里有一个从外站找到的一个脚本:
但是,这个脚本要求在职业、武器或者防具的注释里加入視界補正才能启用该脚本,求教下在事件中如何写脚本才能启用这个效果??

最好带范例或者截图示范。

脚本在3L,而且这个脚本放在1L就会让浏览器无法显示,应该是一个论坛的一个bug吧。
也不知道是哪句变成这样的- -

点评

- -一个脚本导致的浏览器崩溃- -  发表于 2012-8-31 16:20

评分

参与人数 2星屑 +108 收起 理由
54酱 + 118 摸摸头
zhixin1997 -10 无内容自重

查看全部评分



Lv1.梦旅人

梦石
0
星屑
55
在线时间
177 小时
注册时间
2011-6-7
帖子
88
2
发表于 2012-8-31 14:59:16 | 只看该作者
为什么我看不到楼主的脚本 我的浏览器又卖萌了????

点评

脚本在3L,这个脚本不能放在1L,添加了这个脚本就会出现浏览器无法显示的bug。  发表于 2012-8-31 15:53
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1248
在线时间
409 小时
注册时间
2012-8-7
帖子
1536
3
 楼主| 发表于 2012-8-31 15:50:08 | 只看该作者
本帖最后由 harinlen 于 2012-8-31 15:57 编辑

将此PNG放在Graphic\System\下命名为sight_shadow.png

插入这个脚本:
RUBY 代码复制
  1. #==============================================================================
  2. # ★ RGSS3_視界制限 Ver1.11
  3. #==============================================================================
  4. =begin
  5.  
  6. 作者:tomoaky
  7. webサイト:ひきも記 ([url]http://hikimoki.sakura.ne.jp/[/url])
  8.  
  9. 設定した番号のマップだけ視界を制限します。
  10.  
  11. アクター、職業、武器(防具)のメモ欄に下のようなタグを書き込むことで
  12. 視界制限のサイズを補正することができます。
  13. 例)<視界補正 32>
  14. 視界が 32 ドット広がります。
  15. 視界補正値の計算をおこなうのは戦闘メンバーのみとなります。
  16.  
  17. ゲーム変数(初期設定では9番)を使って視界のサイズを補正できます。
  18.  
  19. 実際の視界制限サイズは上記の設定値をすべて加算したものになります。
  20. ただし、マップに視界制限値が設定されていない場合はすべて無効です。
  21.  
  22. 画面全体を覆うスプライトを毎フレーム再描画しているため
  23. 多少重くなります。
  24.  
  25. 動作に必要な画像
  26.   Graphics/System/sight_shadow.png
  27.  
  28. 使用するゲーム変数(初期設定)
  29.   0009
  30.  
  31. 2012.03.07  Ver1.11
  32.  ・メニューから復帰したときに視界制限が途切れる不具合を修正
  33.  
  34. 2012.02.05  Ver1.1
  35.   ・タイマーが隠れてしまわないようにZ座標を調整
  36.   ・ゲーム変数を使って視界制限サイズを補正する機能を追加
  37.  
  38. 2012.01.20  Ver1.0
  39.   公開
  40.  
  41. =end
  42.  
  43. #==============================================================================
  44. # □ 設定項目
  45. #==============================================================================
  46. module TMBLSIGHT
  47.   # 何番のマップをどれだけ視界制限するか
  48.   # 例)SIGHT[3] = 128  # 3番のマップの視界を128ドット四方に制限する
  49.   SIGHT = {}
  50.   SIGHT[3] = 256
  51.  
  52.   VN_SIGHT = 10    # 視界のサイズ補正に利用するゲーム変数番号
  53. end
  54.  
  55. #==============================================================================
  56. # □ RPG::BaseItem
  57. #==============================================================================
  58. class RPG::BaseItem
  59.   #--------------------------------------------------------------------------
  60.   # ○ 視界制限の補正値
  61.   #--------------------------------------------------------------------------
  62.   def sight_power
  63.     unless @sight_power
  64.       @sight_power = /<視界補正\s*(\-*\d+)\s*>/ =~ @note ? $1.to_i : 0
  65.     end
  66.     @sight_power
  67.   end
  68. end
  69.  
  70. #==============================================================================
  71. # ■ Game_Actor
  72. #==============================================================================
  73. class Game_Actor
  74.   #--------------------------------------------------------------------------
  75.   # ○ 視界制限の補正値
  76.   #--------------------------------------------------------------------------
  77.   def sight_power
  78.     result = 0
  79.     feature_objects.each {|object| result += object.sight_power}
  80.     result
  81.   end
  82. end
  83.  
  84. #==============================================================================
  85. # □ Sprite_SightShadow
  86. #==============================================================================
  87. class Sprite_SightShadow < Sprite
  88.   #--------------------------------------------------------------------------
  89.   # ● オブジェクト初期化
  90.   #--------------------------------------------------------------------------
  91.   def initialize(viewport = nil)
  92.     super(viewport)
  93.     self.z = 199
  94.     self.bitmap = Bitmap.new(Graphics.width, Graphics.height)
  95.     @bitmap_shadow = Bitmap.new("Graphics/System/sight_shadow")
  96.   end
  97.   #--------------------------------------------------------------------------
  98.   # ● 解放
  99.   #--------------------------------------------------------------------------
  100.   def dispose
  101.     self.bitmap.dispose
  102.     @bitmap_shadow.dispose
  103.     super
  104.   end
  105.   #--------------------------------------------------------------------------
  106.   # ● フレーム更新
  107.   #--------------------------------------------------------------------------
  108.   def update
  109.     super
  110.     if TMBLSIGHT::SIGHT[$game_map.map_id]
  111.       self.visible = true
  112.       self.bitmap.clear
  113.       w = TMBLSIGHT::SIGHT[$game_map.map_id]
  114.       $game_party.battle_members.each{|actor| w = [w + actor.sight_power, 48].max}
  115.       w = [w + $game_variables[TMBLSIGHT::VN_SIGHT], 48].max
  116.       x = $game_player.screen_x - w / 2
  117.       y = $game_player.screen_y - w / 2 - 16
  118.       rect = Rect.new(x, y, w, w)
  119.       self.bitmap.stretch_blt(rect, @bitmap_shadow, @bitmap_shadow.rect)
  120.       color = Color.new(0, 0, 0)
  121.       self.bitmap.fill_rect(0, 0, Graphics.width, y, color)
  122.       self.bitmap.fill_rect(0, y + w, Graphics.width, Graphics.height - y - w,
  123.         color)
  124.       self.bitmap.fill_rect(0, y, x, w, color)
  125.       self.bitmap.fill_rect(x + w, y, Graphics.width - x - w, w, color)
  126.     else
  127.       self.visible = false
  128.     end
  129.   end
  130. end
  131.  
  132. #==============================================================================
  133. # ■ Spriteset_Map
  134. #==============================================================================
  135. class Spriteset_Map
  136.   #--------------------------------------------------------------------------
  137.   # ● オブジェクト初期化
  138.   #--------------------------------------------------------------------------
  139.   alias tmblsight_spriteset_map_initialize initialize
  140.   def initialize
  141.     tmblsight_spriteset_map_initialize
  142.     create_sight_shadow
  143.   end
  144.   #--------------------------------------------------------------------------
  145.   # ○ 視界制限スプライトの作成
  146.   #--------------------------------------------------------------------------
  147.   def create_sight_shadow
  148.     @sight_shadow_sprite = Sprite_SightShadow.new(@viewport2)
  149.     update_sight_shadow
  150.   end
  151.   #--------------------------------------------------------------------------
  152.   # ● 解放
  153.   #--------------------------------------------------------------------------
  154.   alias tmblsight_spriteset_map_dispose dispose
  155.   def dispose
  156.     tmblsight_spriteset_map_dispose
  157.     dispose_sight_shadow
  158.   end
  159.   #--------------------------------------------------------------------------
  160.   # ○ 視界制限スプライトの解放
  161.   #--------------------------------------------------------------------------
  162.   def dispose_sight_shadow
  163.     @sight_shadow_sprite.dispose
  164.   end
  165.   #--------------------------------------------------------------------------
  166.   # ● フレーム更新
  167.   #--------------------------------------------------------------------------
  168.   alias tmblsight_spriteset_map_update update
  169.   def update
  170.     update_sight_shadow
  171.     tmblsight_spriteset_map_update
  172.   end
  173.   #--------------------------------------------------------------------------
  174.   # ○ 視界制限スプライトの更新
  175.   #--------------------------------------------------------------------------
  176.   def update_sight_shadow
  177.     @sight_shadow_sprite.update if @sight_shadow_sprite
  178.   end
  179. end
���


回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1248
在线时间
409 小时
注册时间
2012-8-7
帖子
1536
4
 楼主| 发表于 2012-8-31 15:55:02 | 只看该作者
@zhixin1997 刚发现这个bug啊- -发在1L连评分按钮都按不下去- -是怎么评分的- -

点评

写错了- -是点评按钮- -JavaScript脚本都直接出来了- -  发表于 2012-9-1 17:14
- -你怎么能给自己评分?  发表于 2012-9-1 17:10
在线翻译工具  发表于 2012-8-31 16:27
自己不能给自己评分而已  发表于 2012-8-31 16:01


回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1248
在线时间
409 小时
注册时间
2012-8-7
帖子
1536
5
 楼主| 发表于 2012-8-31 16:03:34 | 只看该作者
@Luciffer写错了- -不是评分是点评- -

点评

[url=home.php?mod=space&username=Luciffer]@Luciffer[/url]大大能不能看下咋用这段啊……或者说事件里怎么写能调用这段代码- -  发表于 2012-8-31 16:16
现在是有了- -重发了- -  发表于 2012-8-31 16:06
无意中连帖了- -我浏览器傲娇了是么- -  发表于 2012-8-31 16:05
有点评啊,话说别连帖。  发表于 2012-8-31 16:04


回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1248
在线时间
409 小时
注册时间
2012-8-7
帖子
1536
6
 楼主| 发表于 2012-8-31 17:49:54 | 只看该作者
@54酱最好了~~>_<~~


回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1248
在线时间
409 小时
注册时间
2012-8-7
帖子
1536
7
 楼主| 发表于 2012-8-31 18:08:12 | 只看该作者
看来,还是要靠自己还发现啊!!


回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
8184
在线时间
971 小时
注册时间
2010-10-10
帖子
2777
8
发表于 2012-9-2 04:53:17 | 只看该作者
harinlen 发表于 2012-8-31 10:08
看来,还是要靠自己还发现啊!!

捏,此题无解,沉掉。

点评

自己重新写了一个- -就先这样吧- -  发表于 2012-9-2 09:38
2014.7.6,晚上03.41分,他死于脑癌。
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-10 22:01

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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