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

Project1

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

[已经解决] 请问这个脚本怎么用,忘记了1

[复制链接]

Lv1.梦旅人

梦石
0
星屑
146
在线时间
17 小时
注册时间
2022-3-12
帖子
13
跳转到指定楼层
1
发表于 2022-4-28 19:24:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
RUBY 代码复制
  1. #◆◇◆◇◆  鏡床スクリプトVXA ver 1.00  ◇◆◇◆◇
  2. #  サポート掲示板 http://www2.ezbbs.net/21/minto-aaa/
  3. #   by みんと
  4.  
  5. =begin
  6.  
  7. ■ 更新履歴
  8.  
  9. ○ ver 1.00(2010/11/23)
  10. 公開
  11.  
  12. ■ 説明
  13.  
  14. 現在キャラクターが立っている
  15. 「一歩下」のタイルが、特定のタイルだった場合、
  16. 一歩下のタイルにキャラクターの半透明の映像を映し出します。
  17. 水面などの演出に向いています。
  18.  
  19. 鏡床とみなされるタイルの登録には地形タグを使用します。
  20. タイルセットの地形タグを任意の値に設定してください。
  21.  
  22. イベントの場合は、「最初の」実行内容が
  23. 「注釈」で、注釈の内容が 鏡床描写 のみの場合、同様に映し出します。
  24. 設定していない場合は映し出さないので、
  25. 映し出したいイベントにだけ設定してください。
  26.  
  27. 導入場所の注意
  28. エイリアスで構成されていますので、
  29. 出来るだけ下のほうに導入してください。
  30.  
  31. =end
  32.  
  33. #==============================================================================
  34. # ☆ MINTO
  35. #------------------------------------------------------------------------------
  36. #   様々なフラグを扱うメインモジュールです。
  37. #==============================================================================
  38.  
  39. module MINTO
  40.  
  41.   # 鏡床スクリプトVXを有効化 ( true で有効 / false で無効 )
  42.   RGSS["鏡床スクリプトVX"] = true
  43.  
  44.   # 鏡床のタイルとして扱う地形タグのID
  45.   # キャラクターが立っている一歩下のレイヤー1~3の中で、
  46.   # 1つでも該当する地形タグがあれば鏡床を作成します
  47.   Mirror_Tile_ID = 1
  48.  
  49.   # 鏡床無効のタイルとして扱う地形タグのID
  50.   # キャラクターが立っている一歩下のレイヤー1~3の中で、
  51.   # 1つでも該当する地形タグがあれば鏡床を無効化します
  52.   # 無効化タイルを使用しない場合は nil を収納してください
  53.   Not_Mirror_Tile_ID = 2
  54.  
  55.   # 機能を一時的に無効化するスイッチ
  56.   # このスイッチが オン の時、機能を無効化します
  57.   Not_Mirror_Switch = 0
  58.  
  59. end
  60.  
  61. # 鏡床スクリプトVXが有効な場合に以降の処理を実行する
  62. if MINTO::RGSS["鏡床スクリプトVX"] == true then
  63.  
  64. #==============================================================================
  65. # ■ Game_Map
  66. #------------------------------------------------------------------------------
  67. #  マップを扱うクラスです。スクロールや通行可能判定などの機能を持っています。
  68. # このクラスのインスタンスは $game_map で参照されます。
  69. #==============================================================================
  70.  
  71. class Game_Map
  72.   #--------------------------------------------------------------------------
  73.   # ● 公開インスタンス変数
  74.   #--------------------------------------------------------------------------
  75.   attr_reader   :map                      # マップの情報
  76.   #--------------------------------------------------------------------------
  77.   # ● 地形タグの取得
  78.   #    x   : 指定 X 座標
  79.   #    y   : 指定 Y 座標
  80.   #    tag : 指定地形タグ
  81.   #--------------------------------------------------------------------------
  82.   def terrain_tag_include?(x, y, tag)
  83.     # 無効なタイルの場合
  84.     unless valid?(x, y)
  85.       # メソッドを返す
  86.       return false
  87.     end
  88.     # 全レイヤーを検索
  89.     for tile_id in layered_tiles(x, y) do
  90.       # タグを取得
  91.       t = tileset.flags[tile_id] >> 12
  92.       # 地系タグが一致した場合
  93.       if tag == t
  94.         # メソッドを返す
  95.         return true
  96.       end
  97.     end
  98.     # メソッドを返す
  99.     return false
  100.   end
  101. end
  102. #==============================================================================
  103. # ■ Sprite_Character
  104. #------------------------------------------------------------------------------
  105. #  キャラクター表示用のスプライトです。
  106. #   Game_Character クラスのインスタンスを監視し、
  107. #   スプライトの状態を自動的に変化させます。
  108. #==============================================================================
  109.  
  110. class Sprite_Character < Sprite_Base
  111.   #--------------------------------------------------------------------------
  112.   # ● 解放
  113.   #    alias : dispose_MINTO_Mirror_Tile
  114.   #--------------------------------------------------------------------------
  115.   alias :dispose_MINTO_Mirror_Tile :dispose
  116.   def dispose
  117.     # 鏡床が存在する場合
  118.     if @mirror_tile_sprite != nil then
  119.       # 鏡床を解放
  120.       @mirror_tile_sprite.bitmap.dispose
  121.       @mirror_tile_sprite.dispose
  122.     end
  123.     # 元の処理を実行
  124.     dispose_MINTO_Mirror_Tile
  125.   end
  126.   #--------------------------------------------------------------------------
  127.   # ● 鏡床有効判定
  128.   #    x  : X 座標
  129.   #    y  : Y 座標
  130.   #--------------------------------------------------------------------------
  131.   def mirror_tile_include?(x, y)
  132.     # 目標のタイルが鏡床の場合
  133.     if $game_map.terrain_tag_include?(x, y, MINTO::Mirror_Tile_ID)
  134.       # 鏡床無効化タイルが有効な場合
  135.       unless MINTO::Not_Mirror_Tile_ID.nil?
  136.         # 鏡床が無効化されていない場合
  137.         unless $game_map.terrain_tag_include?(x, y, MINTO::Not_Mirror_Tile_ID)
  138.           # メソッドを返す
  139.           return true
  140.         end
  141.       # 無効化タイルを使用していない場合
  142.       else
  143.         # メソッドを返す
  144.         return true
  145.       end
  146.     end
  147.     # メソッドを返す
  148.     return false
  149.   end
  150.   #--------------------------------------------------------------------------
  151.   # ● 鏡床の作成
  152.   #--------------------------------------------------------------------------
  153.   def mirror_tile_set
  154.     # 鏡床が存在する場合
  155.     if @mirror_tile_sprite != nil then
  156.       # 鏡床を解放
  157.       @mirror_tile_sprite.bitmap.dispose
  158.       @mirror_tile_sprite.bitmap = nil
  159.       @mirror_tile_sprite.dispose
  160.       @mirror_tile_sprite = nil
  161.     end
  162.     # 最終ファイル名を更新
  163.     @last_tile_id = @character.tile_id
  164.     @last_character_name = @character.character_name.dup
  165.     # 鏡床用のスプライトを生成
  166.     @mirror_tile_sprite = self.dup
  167.     # 座標を調節する
  168.     @mirror_tile_sprite.y = self.y - (self.oy / 6)
  169.     @mirror_tile_sprite.z = self.z
  170.     # 色を白っぽくする
  171.     @mirror_tile_sprite.tone.red = 64
  172.     @mirror_tile_sprite.tone.green = 64
  173.     @mirror_tile_sprite.tone.blue = 64
  174.     # 半透明にする
  175.     @mirror_tile_sprite.opacity = self.opacity * 62 / 100
  176.     # 180度回転させる
  177.     @mirror_tile_sprite.angle = 180
  178.     # 左右を反転させる
  179.     @mirror_tile_sprite.mirror = (not self.mirror == true)
  180.   end
  181.   #--------------------------------------------------------------------------
  182.   # ● 鏡床の更新
  183.   #--------------------------------------------------------------------------
  184.   def update_mirror_tile
  185.     # キャラクターの現在位置を取得
  186.     x = @character.x
  187.     y = @character.y
  188.     # 元々鏡床が存在しない場合
  189.     if @mirror_tile_sprite == nil then
  190.       # メソッドを返す
  191.       return
  192.     end
  193.     # 機能が無効化されている場合
  194.     if $game_switches[MINTO::Not_Mirror_Switch] == true then
  195.       # 不可視状態にする
  196.       @mirror_tile_sprite.visible = false
  197.       # メソッドを返す
  198.       return
  199.     end
  200.     # プレイヤーの場合
  201.     unless @character.is_a?(Game_Event) then
  202.       # 機能が無効化されている場合
  203.       if $game_map.airship.driving == true then
  204.         # 不可視状態にする
  205.         @mirror_tile_sprite.visible = false
  206.         # メソッドを返す
  207.         return
  208.       end
  209.     end
  210.     # 下のタイルが鏡床以外の場合
  211.     if mirror_tile_include?(x, (y + 1)) == false then
  212.       # 鏡床を不可視状態にする
  213.       @mirror_tile_sprite.visible = false
  214.       # メソッドを返す
  215.       return
  216.     # 下のタイルが鏡床の場合
  217.     else
  218.       # Y座標補正値を初期化する
  219.       @y_plus = 6
  220.       #@mirror_tile_sprite.wave_amp = 1
  221.       #@mirror_tile_sprite.wave_length = 60
  222.       #@mirror_tile_sprite.wave_speed = 320
  223.     end
  224.     # 各情報を更新する
  225.     @mirror_tile_sprite.src_rect = self.src_rect.dup
  226.     @mirror_tile_sprite.x = self.x
  227.     @mirror_tile_sprite.y = self.y - (self.oy / 6) + @y_plus
  228.     @mirror_tile_sprite.opacity = self.opacity * 62 / 100
  229.     @mirror_tile_sprite.z = self.z - 1
  230.     @mirror_tile_sprite.visible = self.visible
  231.     @mirror_tile_sprite.update
  232.   end
  233.   #--------------------------------------------------------------------------
  234.   # ● フレーム更新
  235.   #    alias : update_MINTO_Mirror_Tile
  236.   #--------------------------------------------------------------------------
  237.   alias :update_MINTO_Mirror_Tile :update
  238.   def update
  239.     # ファイル名、色相のどれかが現在のものと異なる場合
  240.     if @last_tile_id != @character.tile_id or
  241.       @last_character_name != @character.character_name
  242.       # 鏡床が存在する場合
  243.       if @mirror_tile_sprite != nil then
  244.         # 元の処理を実行
  245.         update_MINTO_Mirror_Tile
  246.         # 鏡床を再作成
  247.         mirror_tile_set
  248.         # 鏡床を更新
  249.         update_mirror_tile
  250.         # メソッドを返す
  251.         return
  252.       end
  253.     end
  254.     # 元の処理を実行
  255.     update_MINTO_Mirror_Tile
  256.     # まだ鏡床を作成していない場合
  257.     if @mirror_tile == nil then
  258.       # キャラクターがイベントの場合
  259.       if @character.is_a?(Game_Event) == true then
  260.         # 有効なイベントの場合
  261.         if @character.list != nil then
  262.           # 最初の内容が注釈の場合
  263.           if @character.list[0].code == 108 then
  264.             # 注釈の内容が「鏡床描写」だった場合
  265.             if @character.list[0].parameters == ["鏡床描写"] then
  266.               # 鏡床を作成
  267.               mirror_tile_set
  268.               # 作成済みフラグをオン
  269.               @mirror_tile = true
  270.             end
  271.           end
  272.         end
  273.       # キャラクターがプレイヤーの場合
  274.       else
  275.         # 鏡床を作成
  276.         mirror_tile_set
  277.         # 作成済みフラグをオン
  278.         @mirror_tile = true
  279.       end
  280.     end
  281.     # 鏡床を更新
  282.     update_mirror_tile
  283.   end
  284. end
  285.  
  286. end

评分

参与人数 1星屑 -10 收起 理由
alexncf125 -10 标题内容不清晰明确

查看全部评分

Lv6.析梦学徒

老鹰

梦石
40
星屑
34745
在线时间
6741 小时
注册时间
2012-5-26
帖子
3259

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

2
发表于 2022-4-28 20:05:25 | 只看该作者
你把 说明 部分翻译一下不就可以了……
大概就是:
对于图块,如果地形标志为 1,就是可以显示倒影
对于事件,事件页第一个指令为注释,里面写 鏡床描写,就能把这个事件变成也能在图块上显示倒影的角色

评分

参与人数 1星屑 +40 +1 收起 理由
alexncf125 + 40 + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
146
在线时间
17 小时
注册时间
2022-3-12
帖子
13
3
 楼主| 发表于 2022-4-28 20:07:45 | 只看该作者
百里_飞柳 发表于 2022-4-28 20:05
你把 说明 部分翻译一下不就可以了……
大概就是:
对于图块,如果地形标志为 1,就是可以显示倒影

怎么地形标志为1

点评

数据库-图块 里面有专门的一项是设置各个图块的地形标志  发表于 2022-4-28 20:19
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-27 21:01

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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