Project1
标题:
麻烦帮忙修改一个脚本,让它受某个开关的控制脚本是否...
[打印本页]
作者:
zl245479821
时间:
2013-6-20 15:59
标题:
麻烦帮忙修改一个脚本,让它受某个开关的控制脚本是否...
#===============================================================================
# MOG_Location_Name_VX V1.0
#===============================================================================
# By Moghunter 汉化:火鸡三毛老大
#===============================================================================
module MOG
#地图名字体.
MPFONT = "Georgia"
#------------------------------------------------
#消失 ON/OFF(True - False).
MPNMFD = true
#------------------------------------------------
#窗口消失时间.
MPNMTM = 10
#------------------------------------------------
#窗口提示位置.
# 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 = -300
@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 < 0
@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
复制代码
作者:
zl245479821
时间:
2013-6-20 16:01
就是让他受20号开关控制,20开,脚本才能起作用。20关,脚本就无效。
作者:
gaofei677
时间:
2013-6-20 18:17
楼主只要把第24行改为WM_SWITCH_VIS_DISABLE = 20,那么就是第20号开关打开,这个脚本停止工作
PS,上次我帮楼主解决了两个问题,楼主不要自行把帖子类型改为"已经解决",这样版主容易忘记加分,如果楼主有时间,麻烦把那两个帖子改回"有事请教"
作者:
gaofei677
时间:
2013-6-20 21:07
zl245479821 发表于 2013-6-20 16:01
就是让他受20号开关控制,20开,脚本才能起作用。20关,脚本就无效。
打开20号开关,脚本停止
关闭20好开关,脚本工作
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1