赞 | 0 |
VIP | 186 |
好人卡 | 0 |
积分 | 1 |
经验 | 5829 |
最后登录 | 2012-12-21 |
在线时间 | 83 小时 |
Lv1.梦旅人 龙皇
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 83 小时
- 注册时间
- 2007-8-8
- 帖子
- 2956
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
■ RM_VX地形标志V3.5_图块版本
前言:
在XP上有地形标誌的功能,但在VX却取消了该功能,
以至於要在VX地图上做一些特殊效果不容易达成,
不久前 我发了XP纯事件推箱子完美(无等待)效果
http://rpg.blue/viewthread.php?tid=114571
精灵问说没地形标誌的VX怎麼办.....
利用图块做出 的 地形标志脚本
现在都已经解决了
而且方法名称跟XP一样
第一次发的地形标志帖子过期帖处里!!
地形标志设置方法:
A~E每张图块ID都是从最左上方开始计算(由左到右)
001,002,003,004,005,006,007,008
009,010,011,012,013,014,015,016
...............................
249,250,251,252,253,254,255,256
{ 图块ID=>地形标志值 ,图块ID=>地形标志值 ,.......}
如果没设置地形标志值 调用后默认值为0
------------------------------------------------------
★注意事项:
[B页]的第一格空白图块是"不能"设置地形标志的
因为它是专门清理图块B~E的工具 而非图块
所以图块[B页]的部分 ID从第二格002开始计算
001[X设置不能],002,003,004,005,006,007,008
...............................
另外如果图层地形标志重叠,
以高图层的B~E为主!!
------------------------------------------------------
调用方法:
获取角色当前所在地形标誌
$game_player.terrain_tag
获取某事件当前所在地形标誌
$game_map.events[事件编号].terrain_tag
------------------------------------------------------
事件脚本中常用的使用方法:
角色当前所在地形标誌 帶入 某变量中
$game_variables[变量编号] = $game_player.terrain_tag
某事件当前所在地形标誌 帶入 某变量中
$game_variables[变量编号] = $game_map.events[事件编号].terrain_tag
------------------------------------------------------
事件条件分歧脚本中常用的使用方法:
角色当前所在地形标誌 是否等于 值
$game_player.terrain_tag == 值
某事件当前所在地形标誌 是否等于 值
$game_map.events[事件编号].terrain_tag == 值
(V3.5感谢流星姐的脚本优化)
- #==============================================================================
- # ■ RM_VX地形标志V3.0_图块版本 By TERENCE(龙皇)
- #------------------------------------------------------------------------------
- # 地形标志设置方法:
- # A~E每张图块ID都是从最左上方开始计算(由左到右)
- # 001,002,003,004,005,006,007,008
- # 009,010,011,012,013,014,015,016
- # ...............................
- # 249,250,251,252,253,254,255,256
- #
- # { 图块ID=>地形标志值 ,图块ID=>地形标志值 ,.......}
- # 如果没设置地形标志值 调用后默认值为0
- #------------------------------------------------------
- # ★注意事项:
- # [B页]的第一格空白图块是"不能"设置地形标志的
- # 因为它是专门清理图块B~E的工具 而非图块
- # 所以图块[B页]的部分 ID从第二格002开始计算
- #
- # 001[X设置不能],002,003,004,005,006,007,008
- # ...............................
- #------------------------------------------------------
- # 调用方法:
- #
- # 获取角色当前所在地形标誌
- # $game_player.terrain_tag
- #
- # 获取某事件当前所在地形标誌
- # $game_map.events[事件编号].terrain_tag
- #------------------------------------------------------
- # 事件脚本中常用的使用方法:
- #
- # 角色当前所在地形标誌 帶入 某变量中
- # $game_variables[变量编号] = $game_player.terrain_tag
- #
- # 某事件当前所在地形标誌 帶入 某变量中
- # $game_variables[变量编号] = $game_map.events[事件编号].terrain_tag
- #------------------------------------------------------
- # 事件条件分歧脚本中常用的使用方法:
- #
- # 角色当前所在地形标誌 是否等于 值
- # $game_player.terrain_tag == 值
- #
- # 某事件当前所在地形标誌 是否等于 值
- # $game_map.events[事件编号].terrain_tag == 值
- #
- #==============================================================================
- class Game_Character
- #--------------------------------------------------------------------------
- # ● 地形标志设置区
- #--------------------------------------------------------------------------
- # 图块A的部分_ID (ID:1~256)
- MAP_TILE_A = {1=>0 ,256=>0}
- MAP_TILE_A.default = 0
- # 图块B的部分_ID (ID:2~256) ★
- MAP_TILE_B = {2=>0 ,256=>0}
- MAP_TILE_B.default = 0
- # 图块C的部分_ID (ID:1~256)
- MAP_TILE_C = {1=>0 ,256=>0}
- MAP_TILE_C.default = 0
- # 图块D的部分_ID (ID:1~256)
- MAP_TILE_D = {1=>0 ,256=>0}
- MAP_TILE_D.default = 0
- # 图块E的部分_ID (ID:1~256)
- MAP_TILE_E = {1=>0 ,256=>0}
- MAP_TILE_E.default = 0
- #--------------------------------------------------------------------------
- # ● 获取地形标志
- #--------------------------------------------------------------------------
- def terrain_tag
- # 计算图块ID数值
- a = $game_map.data[@x, @y, 0]-2000
- map_tile_id_0 = (a >= 0) ? a/48 : (a+593)
- map_tile_id_1 = ($game_map.data[@x, @y, 1]-2000) / 48
- map_tile_id_2 = ($game_map.data[@x, @y, 2]+1)
-
- map_tile_id_0 = 0 if map_tile_id_0 == -42 # A
- map_tile_id_1 = 0 if map_tile_id_1 == -42 # I
- map_tile_id_2 = 0 if map_tile_id_2 == -42 # B~E
-
- map_tile_id_0 = map_tile_id_1 if map_tile_id_1 > 0 # 图块A的ID矫正
-
- case map_tile_id_2
- when 1
- # 获取图块A部分的地形标志
- return MAP_TILE_A[map_tile_id_0] if ( (1..256) === map_tile_id_0)
- when 2..256
- # 获取图块B部分的地形标志
- return MAP_TILE_B[map_tile_id_2]
- when 257..512
- # 获取图块C部分的地形标志
- return MAP_TILE_C[map_tile_id_2-256]
- when 513..768
- # 获取图块D部分的地形标志
- return MAP_TILE_D[map_tile_id_2-512]
- when 769..1024
- # 获取图块E部分的地形标志
- return MAP_TILE_E[map_tile_id_2-768]
- else
- # 黑屏区未定义(尚未规划任何)图块区域 回传0
- return 0
- end
- end
- end
复制代码
范例工程:(V3.0)
http://rpg.blue/upload_program/d/TERENCE_VX_111976575.rar
另P.S.
感谢snstar2006提供美兽写的计算图块ID的脚本
另SORRY!!~连帖~我不是故意的
图块编辑器脚本在此:http://rpg.blue/viewthread.php?tid=115381 |
|