| 赞 | 164 |
| VIP | |
| 好人卡 | |
| 积分 | 299 |
| 经验 | |
| 最后登录 | 2026-10-2 |
| 在线时间 | 5734 小时 |
- 梦石
- 0
- 星屑
- 29901
- 在线时间
- 5734 小时
- 注册时间
- 2016-3-8
- 回帖
- 1653
|
发表于 2020-8-25 21:07:49
|
显示全部楼层
本帖最后由 alexncf125 于 2020-9-7 11:26 编辑
国內大神的
https://rpg.blue/thread-410790-1-1.html
日站的
http://cacaosoft.webcrow.jp/script/rgss3/shadow.html
点击展开/收起■在使用以下脚本前,你必须得做的准备:备份
在执行此操作之前,请确保进行备份,因为您将直接修改文件。
备份方法:复制一份将要更改的工程或整个“Data”文件夹。
■使用方法
■清除所有阴影
remove_shadow(* map_id)
#消除地图2和8的阴影。
remove_shadow(2,8)
■再次添加阴影
auto_shadow(* map_id)
#重新映射地图1、3和11的阴影。
auto_shadow(1、3、11)
- #******************************************************************************
- #
- # * 影編集
- #
- # --------------------------------------------------------------------------
- # バージョン : 1.0.1
- # 対 応 : RPGツクールVX Ace : RGSS3
- # 制 作 者 : CACAO
- # 配 布 元 : http://cacaosoft.webcrow.jp/
- # --------------------------------------------------------------------------
- # == 概 要 ==
- #
- # : 影を付け直したり、消したりする機能を追加します。
- #
- # --------------------------------------------------------------------------
- # == 注意事項 ==
- #
- # ※ 開発・編集用のスクリプトです。
- # ※ マップデータを上書きするので、実行前にバックアップをお取りください。
- # ※ エディタには、開き直すまで反映されません。
- #
- # --------------------------------------------------------------------------
- # == 使用方法 ==
- #
- # ★ 影を付け直す
- # auto_shadow(*map_id)
- # auto_shadow!(map_id)
- #
- # ★ 影をすべて消す
- # remove_shadow(*map_id)
- # remove_shadow!(map_id)
- #
- #
- #******************************************************************************
- #/////////////////////////////////////////////////////////////////////////////#
- # #
- # 下記のスクリプトを変更する必要はありません。 #
- # #
- #/////////////////////////////////////////////////////////////////////////////#
- module Kernel
- #--------------------------------------------------------------------------
- # ● 影を付け直す
- #--------------------------------------------------------------------------
- def auto_shadow!(map_id)
- filename = sprintf("Data/Map%03d.rvdata2", map_id)
- map = load_data(filename)
- map.width.times do |x|
- map.height.times do |y|
- map.data[x, y, 3] = map.data[x, y, 3] / 256 * 256
- next if x == 0 || y == 0
- next unless (4352..8191) === map.data[x - 1, y, 0]
- next unless (4352..8191) === map.data[x - 1, y - 1, 0]
- tile_id = map.data[x, y, 0]
- next if (3152..3199) === tile_id
- next if (3536..3583) === tile_id
- next if (3920..3967) === tile_id
- next if (4304..4351) === tile_id
- next if !((2816..4351) === tile_id) && !((1552..1663) === tile_id)
- map.data[x, y, 3] += 5
- end
- end
- save_data(map, filename)
- end
- def auto_shadow(*args)
- msgbox "マップデータを上書き保存します。\n",
- "実行前にバックアップをお取りください。"
- args.each {|map_id| auto_shadow!(map_id) }
- end
- #--------------------------------------------------------------------------
- # ● 影をすべて消す
- #--------------------------------------------------------------------------
- def remove_shadow!(map_id)
- filename = sprintf("Data/Map%03d.rvdata2", map_id)
- map = load_data(filename)
- map.width.times do |x|
- map.height.times do |y|
- map.data[x, y, 3] = map.data[x, y, 3] / 256 * 256
- end
- end
- save_data(map, filename)
- end
- def remove_shadow(*args)
- msgbox "マップデータを上書き保存します。\n",
- "実行前にバックアップをお取りください。"
- args.each {|map_id| remove_shadow!(map_id) }
- end
- end
复制代码 |
|