赞 1
VIP 116
好人卡 40
积分 4
经验 19804
最后登录 2017-12-13
在线时间 4175 小时
Lv2.观梦者
梦石 0
星屑 432
在线时间 4175 小时
注册时间 2010-6-26
帖子 6474
本帖最后由 eve592370698 于 2012-3-28 00:03 编辑
代码先拿出来给大家看看=begin ===========================================
# 本脚本来自www.66rpg.com,用于任何游戏请保留此信息。别以为加密就可以del哦
#===================================
# 本脚本来自www.66rpg.com,用于任何游戏请保留此信息。别以为加密就可以del哦
# 鉴定为古老脚本,作者不明。 By 絮语 2011.2
# 改订 By 絮语 2011.4
=end #=========================================================================
XY_SWITCH = 28 # 当3号开关关闭,本脚本才开始工作。
#BACK_PNG = RPG::Cache.system('游戏边框右下.png') #背景
=begin #============================================================
□ 交通工具添加一点内容不解释
=end #===================================================
class Game_Vehicle < Game_Character
# 预读交通工具所在的地图位置!
attr_reader :map_id
attr_reader :name_display
end
#==============================================================================
# ■ Window_XY
#------------------------------------------------------------------------------
# 显示坐标的窗口。
#==============================================================================
class Window_xy < Window_Base#注意前面那个window_xy是文件名
#--------------------------------------------------------------------------
# ● 初始化窗口
#--------------------------------------------------------------------------
def initialize
=begin ==============
其实说真的,真不愿意用在默认分辨率上,
因为VX这种可怜的分辨率,最好把分辨率扩展一下
=end #==============
super(0, Graphics.height - 99, 820, 696)#最后面那个数字是宽要显示多个需要改大,前面一个是长~
self.contents = Bitmap.new(width - 32, height - 32)
self.back_opacity = 255 # 这个是背景透明
self.opacity = 255 # 这个是边框和背景都透明
self.contents_opacity = 255 # 这个是内容透明
self.visible = false
self.z = 1000
refresh
@x = $game_player.x
@y = $game_player.y
@id = $game_map.map_id
end
def main_color
return Color.new(-210, -210, -210, 255)
end
def main2_color
return Color.new(-180, -170, -170, 255)
end
def else_color
return Color.new(-140, -140, -140, 255)
end
#---------------------------------
def get_map_name
#这个是从XP移植过来的用法
$mapnames = load_data("Data/MapInfos.rvdata2") #读取地图名文件
#获取玩家所在地图的信息
@x = $game_player.x #获取角色X坐标
@y = $game_player.y #获取角色Y坐标
@id = $game_map.map_id #获取地图编号
@player_map = load_data(sprintf("Data/Map%03d.rvdata2", @id))
#获得地图名
unless @player_map.display_name == nil
@for_player = @player_map.display_name
else
@for_player = $mapnames[@id].name #←玩家角色所在地图
end
#获取飞船所在地图的信息
@airship_x = $game_map.airship.x
@airship_y = $game_map.airship.y
@airship_map_id = $game_map.airship.map_id
@airship_map = load_data(sprintf("Data/Map%03d.rvdata2", @airship_map_id))
if @airship_map.display_name == nil
@for_airship = $mapnames[@airship_map_id].name
else
@for_airship = @airship_map.display_name
end
end
=begin --------------------------------------------------------
# ● 刷新
=end #-----------------------------------------------------------
def refresh
#确定开关是否打开,可以自己改变开关
unless $game_switches[XY_SWITCH]
self.contents.clear #清除以前的东西
if @back != nil
if @back.visible
@back.dispose
end
end
get_map_name
self.contents.font.size = 20
self.contents.font.color = text_color(0)#颜色
self.contents.draw_text(0, 0, 160, 32, @for_player)
self.contents.font.color = text_color(0)
self.contents.draw_text(10, 32, 120, 32, "X:")#显示X这个字的位置,引号里面的内容随便改,比如"X坐标地址"
self.contents.font.color = main2_color
self.contents.draw_text(10, 32, 52, 32, @x.to_s,2)
self.contents.font.color = text_color(0)#上面那个是X坐标的变量,可以自己更改变量名~
self.contents.draw_text(74, 32, 128, 32, "Y:")#显示Y这个字~
self.contents.font.color = main2_color
self.contents.draw_text(10, 32, 116, 32, @y.to_s,2)
#添加交通工具的坐标
self.contents.font.size = 20
self.contents.font.color = text_color(1)#颜色
self.contents.draw_text(100, 00, 160, 32, "飞船在:" + @for_airship ,2)
self.contents.font.color = text_color(0)
self.contents.draw_text(140, 32, 120, 32, "X:")#显示X这个字的位置,引号里面的内容随便改,比如"X坐标地址"
self.contents.font.color = main2_color
self.contents.draw_text(140, 32, 52, 32, @airship_x.to_s,2)
#上面那个是X坐标的变量,可以自己更改变量名~
self.contents.font.color = text_color(0)
self.contents.draw_text(204, 32, 128, 32, "Y:")#显示Y这个字~
self.contents.font.color = main2_color
self.contents.draw_text(140, 32, 116, 32, @airship_y.to_s,2)
end
end
#--------------------------------------------------------------------------
# ● 判断文字刷新。节约内存用
#--------------------------------------------------------------------------
def judge
return true if @x != $game_player.x
return true if @y != $game_player.y
return true if @id != $game_map.map_id
return true if @airship_x != $game_map.airship.x
return true if @airship_y != $game_map.airship.y
return false
end
end
###########################################################################
# 下面的东西不需要掌握~ #
###########################################################################
class Scene_Map
alias xy_66rpg_main main
def main
@xy_window = Window_xy.new
#原来这里是设置坐标的啊,不过下面两个是内容
#@xy_window.x = 800 - 190
#@xy_window.y = 600 - 96
@xy_window.opacity = 0
xy_66rpg_main
@xy_window.dispose
end
#--------------------------------------------------------------------------
# ● 刷新画面
#--------------------------------------------------------------------------
alias xy_66rpg_update update
def update
xy_66rpg_update
unless $game_switches[XY_SWITCH]
@xy_window.visible = true
if @边框右下 != nil and @边框右下.visible
@边框右下.dispose
end
if @边框左上 != nil and @边框左上.visible
@边框左上.dispose
end
@边框右下 = Sprite.new
@边框右下.x = 0 #- 256
@边框右下.y = 0
#@边框右下.bitmap = RPG::Cache.system('游戏边框.png')
@xy_window.refresh if @xy_window.judge
else
@xy_window.visible = false
end
end
end
#==========================================================================
# 本脚本来自www.66rpg.com,用于任何游戏请保留此信息。别以为加密就可以del哦
#==========================================================================
复制代码 可以识别VA特有的地图游戏中显示名称了 ,如果地图设置了VA专用的名称就显示,如果那里空白就显示通用的地图名称,效果凑合吧,自己把飞船的坐标和地图名称也加进来了,这样也方便玩家能快速找到自己的交通工具。小船和大船自己因为时间和精力有限暂时搁置。
但是,仔细想想,VA自己自带的切换地图短暂显示地图名称那个功能还是有限,怎么办呢?
结束时间: 2012-4-20 23:55 裁判: Fux2
正方观点 (1)
取代那个功能吧!毕竟出了这个脚本,RM默认的显示地图名称实在是有点鸡肋,而且正好这个脚本正好挺适合“启用/禁止显示地图名称”这个判定,省了自己单独设定开关。
反方观点 (2)
鸠占鹊巢,这可不行!毕竟VX那种默认的小分辨率,算上主角和3个交通工具根本没必要全用上,否则给人眼花缭乱的感觉,只要不同场合开启部分功能就可以了,毕竟RM开关多着呢,不能省事就一概而论。
支持
辩手:0 ( 加入 )
辩手:0 ( 加入 )
支持