查看: 1450|回复: 3

[已经解决] VX显示地图名称脚本問題

[复制链接]
梦石
0
星屑
50
在线时间
31 小时
注册时间
2013-3-26
回帖
28
发表于 2013-5-12 11:24:31 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 rain9420622 于 2013-5-12 11:28 编辑

[pre lang="ruby" line="1"]#===============================================================================
# MOG_Location_Name_VX V1.0
#===============================================================================
# By Moghunter 汉化:火鸡三毛老大
#===============================================================================
module MOG
#地图名字体.
MPFONT = "Georgia"
#------------------------------------------------
#消失 ON/OFF(True - False).
MPNMFD = true
#------------------------------------------------
#窗口消失时间.
MPNMTM = 13
#------------------------------------------------
#窗口提示位置.
# 0 = 左上角.
# 1 = 左下角.
# 2 = 右上角.
# 3 = 右下角.
MPNMPS = 0
#------------------------------------------------
# 关闭开启显示提示(ID).
WM_SWITCH_VIS_DISABLE = 1
end
#------------------------------------------------
###############
# Game_System #
###############
class Game_System
attr_accessor :fdtm
attr_accessor :mpnm_x
attr_accessor :mpnm_y
alias mog_vx06_initialize initialize
def initialize
mog_vx06_initialize
@fdtm = 255 + 40 * MOG::MPNMTM
if MOG::MPNMPS == 0
@mpnm_x = -340
@mpnm_y = 0
elsif MOG::MPNMPS == 1
@mpnm_x = -300
@mpnm_y = 320
elsif MOG::MPNMPS == 2
@mpnm_x = 640
@mpnm_y = 0
else
@mpnm_x = 640
@mpnm_y = 320
end
end
def mpnm_x
return @mpnm_x
end
def mpnm_y
return @mpnm_y
end
def fdtm
if @fdtm <= 0
@fdtm = 0
end
return @fdtm
end
end
############
# Game_Map #
############
class Game_Map
attr_reader :map_id
def mpname
$mpname = load_data("Data/MapInfos.rvdata")
$mpname[@map_id].name
end
end
###############
# Window Base #
###############
class Window_Base < Window
def nd_mapic
mapic = Cache.system("")
end
def draw_mpname(x,y)
mapic = Cache.system("Mpname") rescue nd_mapic
cw = mapic.width
ch = mapic.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x , y - ch + 65, mapic, src_rect)
self.contents.font.name = MOG::MPFONT
self.contents.font.size = 22
self.contents.font.bold = true
self.contents.font.shadow = true
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x + 76, y + 27, 110, 32, $game_map.mpname.to_s,1)
self.contents.font.color = Color.new(255,255,255,255)
self.contents.draw_text(x + 75, y + 26, 110, 32, $game_map.mpname.to_s,1)
end
end
##########
# Mpname #
##########
class Mpname < Window_Base
def initialize(x , y)
super($game_system.mpnm_x, $game_system.mpnm_y, 250, WLH + 70)
self.opacity = 0
refresh
end
def refresh
self.contents.clear
draw_mpname(10,0)
end
end
#############
# Scene_Map #
#############
class Scene_Map
alias mog_vx06_start start
def start
@mpnm = Mpname.new($game_system.mpnm_x, $game_system.mpnm_y)
@mpnm.contents_opacity = $game_system.fdtm
if $game_switches[MOG::WM_SWITCH_VIS_DISABLE] == false
@mpnm.visible = true
else
@mpnm.visible = false
end
mog_vx06_start
end
alias mog_vx06_terminate terminate
def terminate
mog_vx06_terminate
@mpnm.dispose
end
alias mog_vx06_update update
def update
mog_vx06_update
location_name_update
end
def location_name_update
$game_system.mpnm_x = @mpnm.x
$game_system.mpnm_y = @mpnm.y
if $game_switches[MOG::WM_SWITCH_VIS_DISABLE] == true or $game_system.fdtm <= 0
@mpnm.visible = false
else
@mpnm.visible = true
end
if MOG::MPNMPS == 0 or MOG::MPNMPS == 1
#改动在这里,数值越大越靠近屏幕的右侧
if @mpnm.x < 300
@mpnm.x += 5 #这个数值越大移动速度越快
#elsif @mpnm.x >= 0 #这两句是原来脚本的,现在可以去掉了
#@mpnm.x = 0
end
else
if @mpnm.x > 300
@mpnm.x -= 5
elsif @mpnm.x <= 300
@mpnm.x = 300
end
end
@mpnm.contents_opacity = $game_system.fdtm
if MOG::MPNMFD == true
$game_system.fdtm -= 3
end
end
alias mog_vx06_update_transfer_player update_transfer_player
def update_transfer_player
return unless $game_player.transfer?
@mpnm.contents_opacity = 0
mog_vx06_update_transfer_player
if MOG::MPNMPS == 0
$game_system.mpnm_x = -340
$game_system.mpnm_y = 0
elsif MOG::MPNMPS == 1
$game_system.mpnm_x = -340
$game_system.mpnm_y = 320
elsif MOG::MPNMPS == 2
$game_system.mpnm_x = 640
$game_system.mpnm_y = 0
else
$game_system.mpnm_x = 640
$game_system.mpnm_y = 320
end
@mpnm.y = $game_system.mpnm_y
@mpnm.x = $game_system.mpnm_x
$game_system.fdtm = 255 + 60 * MOG::MPNMTM
@mpnm.refresh
end
end
$mogscript = {} if $mogscript == nil
$mogscript["location_name_vx"] = true[/pre]

这个是显示地图名称的脚本,
就是从画面左方移动到右方后淡出,
但我现在的问题是,他前两个地图有很成功的出现了,
可是第三个跟第四个地图却没出现,

但用在另一个我拿来测试脚本用的游戏时,
却成功的都有出现,
不懂啊!

原帖:http://rpg.blue/forum.php?mod=viewthread&tid=122754
梦石
0
星屑
2004
在线时间
1869 小时
注册时间
2009-8-17
回帖
239
发表于 2013-5-12 13:14:28 | 显示全部楼层
那就应该附上你的工程,这样才能有效的帮你解决问题吧。。

点评

不好意思不能附上...因为这是我朋友最近才开始做的游戏 他说不可以那么我也没办法给  发表于 2013-5-12 22:20
回复

使用道具 举报

梦石
1
星屑
2088
在线时间
920 小时
注册时间
2012-10-18
回帖
416

开拓者

发表于 2013-5-12 15:44:55 | 显示全部楼层
注意第24行的WM_SWITCH_VIS_DISABLE = 1
是否打开了1号开关?

评分

参与人数 1星屑 +40 收起 理由
怪蜀黍 + 40 我很赞同

查看全部评分

回复

使用道具 举报

梦石
0
星屑
50
在线时间
31 小时
注册时间
2013-3-26
回帖
28
 楼主| 发表于 2013-5-12 16:19:23 | 显示全部楼层
芙蕾娅 发表于 2013-5-12 15:44
注意第24行的WM_SWITCH_VIS_DISABLE = 1
是否打开了1号开关?

1号开关?是指什麼?

点评

嗯嗯...那么我用0好了,0应该不会有任何影响了吧?  发表于 2013-5-12 22:18
把那数字1改成别的开关ID就行了,只不过此开关一旦打开就会关闭地图名称功能,关闭开关就恢复原样  发表于 2013-5-12 21:38
那麼我該怎麼改呢...  发表于 2013-5-12 19:06
就事件里ID为1的开关啊= =  发表于 2013-5-12 16:32
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部