赞 | 5 |
VIP | 71 |
好人卡 | 22 |
积分 | 6 |
经验 | 32145 |
最后登录 | 2013-8-9 |
在线时间 | 184 小时 |
Lv2.观梦者 天仙
- 梦石
- 0
- 星屑
- 620
- 在线时间
- 184 小时
- 注册时间
- 2008-4-15
- 帖子
- 5023
|
以下引用柳无双于2009-1-10 23:06:29的发言:
主要是便利性上,有可视化界面方便的多,雪流星赞助龙皇一个编辑器吧。。。
恩,已经在做了
主要是A图块好难算
@@! 终於把A1部分算完了
显示的部分都弄完了 @@
明天继续弄输出的部分
顺便贴一下优化的脚本:
- #==============================================================================
- # ■ 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
复制代码 |
|