设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2322|回复: 2
打印 上一主题 下一主题

[已经解决] 请问RPGVX怎么在地图显示地图名!

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
8 小时
注册时间
2011-5-29
帖子
7
跳转到指定楼层
1
发表于 2011-10-22 18:39:10 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽

Lv2.观梦者

梦石
0
星屑
457
在线时间
1409 小时
注册时间
2010-9-23
帖子
557
2
发表于 2011-10-22 20:15:15 | 只看该作者
楼主您可以试试这个,脚本用法,直接插入 【外来RGSS插件脚本】和 【主处理】之间就可以了。
不过不知道楼主是否使用了其他脚本,所以如果有脚本冲突一类的问题只能等别人来帮忙了。

脚本如下:
  1. #==============================================================================
  2. # 地图名及区域名显示 by Beside
  3. #------------------------------------------------------------------------------
  4. # 功能: 动态显示玩家所在区域及地图名。
  5. #==============================================================================
  6. class Window_Map < Window_Base
  7.   #--------------------------------------------------------------------------
  8.   # ● 以下是窗口的相关设置
  9.   #--------------------------------------------------------------------------
  10. MWINDOW_X = 12                                # 窗口X坐标
  11. MWINDOW_Y = 10                                # 窗口Y坐标
  12. WEIGH = 160                                   # 窗口宽度      
  13. START_TIME = 30                               # 窗口出现时间
  14. COUN_TIME = 60                                # 窗口持续时间
  15. FADE_TIME = 30                                # 窗口淡去时间
  16. TEXT1_SIZE = 20                               # 地图名的字体大小
  17. TEXT2_SIZE = 18                               # 区域名的字体大小
  18. TEXT3_SIZE = 18                               # 附加名的字体大小
  19. TEXT1_COLOR = Color.new(255,255,255)          # 地图名的默认颜色
  20. TEXT2_COLOR = 3                               # 区域名的默认颜色代码(0-31)
  21. TEXT3_COLOR = 5                               # 附加名的默认颜色代码(0-31)
  22. SKIN = "window"                               # 窗口皮肤的文件名
  23. HEIGHT = TEXT1_SIZE + TEXT2_SIZE + TEXT3_SIZE + 32   
  24.   #--------------------------------------------------------------------------
  25.   # ● 初始化对像
  26.   #--------------------------------------------------------------------------
  27.   def initialize
  28.     @id = 0
  29.     @a_id = 0
  30.     super(MWINDOW_X, MWINDOW_Y, WEIGH, HEIGHT)
  31.     self.opacity = 0
  32.     self.contents_opacity = 0
  33.     self.windowskin = Cache.system(SKIN)
  34.     refresh
  35.   end
  36.   #--------------------------------------------------------------------------
  37.   # ● 刷新
  38.   #--------------------------------------------------------------------------
  39.   def refresh
  40.     @map_id = $game_map.map_id
  41.     locationname = load_data("Data/MapInfos.rvdata")[@map_id].name
  42.     if $game_player.area_id.is_a?(Numeric)
  43.       if $game_player.area_id != @a_id or @map_id != @id
  44.         self.contents.clear
  45.         if @map_id != @id
  46.          @id = @map_id
  47.          @time_count = START_TIME + COUN_TIME + FADE_TIME  
  48.          self.contents.font.color = TEXT1_COLOR
  49.          self.contents.font.size = TEXT1_SIZE
  50.          self.contents.draw_text(0, 0, WEIGH-32, TEXT1_SIZE, locationname, 1)
  51.         end
  52.         @time_count = START_TIME + COUN_TIME + FADE_TIME
  53.         @a_id = $game_player.area_id
  54.         area_name = $data_areas[@a_id].name_p1
  55.         other_name = $data_areas[@a_id].name_p2
  56.         self.contents.font.size = TEXT2_SIZE
  57.         self.contents.font.color = text_color($data_areas[@a_id].color_1)
  58.         self.contents.draw_text(0, TEXT1_SIZE, WEIGH-32, TEXT2_SIZE, area_name, 1)
  59.         self.contents.font.size = TEXT3_SIZE
  60.         self.contents.font.color = text_color($data_areas[@a_id].color_2)
  61.         self.contents.draw_text(0, TEXT1_SIZE+TEXT2_SIZE, WEIGH-32, TEXT3_SIZE, other_name, 1)
  62.       end
  63.     elsif @map_id != @id
  64.       @id = @map_id
  65.       @time_count = START_TIME + COUN_TIME + FADE_TIME  
  66.       self.contents.clear
  67.       self.contents.font.color = TEXT1_COLOR
  68.       self.contents.font.size = TEXT1_SIZE
  69.       self.contents.draw_text(0, (HEIGHT-TEXT1_SIZE)/2-16, WEIGH-32, TEXT1_SIZE, locationname, 1)
  70.     elsif @a_id != 0
  71.       @a_id = 0
  72.       @time_count = START_TIME + COUN_TIME + FADE_TIME  
  73.       self.contents.clear
  74.       self.contents.font.color = TEXT1_COLOR
  75.       self.contents.font.size = TEXT1_SIZE
  76.       self.contents.draw_text(0, (HEIGHT-TEXT1_SIZE)/2-16, WEIGH-32, TEXT1_SIZE, locationname, 1)
  77.     end
  78.     if @time_count > COUN_TIME + FADE_TIME
  79.       self.opacity += 255 / START_TIME
  80.       self.contents_opacity += 255 / START_TIME
  81.       @time_count -= 1
  82.     elsif @time_count > FADE_TIME
  83.       self.opacity = 255
  84.       self.contents_opacity = 255
  85.       @time_count -= 1
  86.     elsif @time_count > 0
  87.       self.opacity -= 255 / FADE_TIME
  88.       self.contents_opacity -= 255 / FADE_TIME
  89.       @time_count -= 1
  90.     else
  91.       @time_count = 0
  92.       self.opacity = 0
  93.       self.contents_opacity = 0
  94.     end
  95.   end
  96. end

  97. #==============================================================================
  98. # ■ Scene_Map
  99. #------------------------------------------------------------------------------
  100. #  处理地图画面的类。
  101. #==============================================================================

  102. class Scene_Map < Scene_Base
  103.   alias _start start
  104.   #--------------------------------------------------------------------------
  105.   # ● 开始处理
  106.   #--------------------------------------------------------------------------
  107.   def start
  108.     @map_window = Window_Map.new
  109.     _start
  110.   end
  111.   
  112.   alias _terminate terminate
  113.   def terminate
  114.     @map_window.dispose
  115.     _terminate
  116.   end
  117.   
  118.   alias _update update
  119.   def update
  120.     @map_window.refresh
  121.     _update
  122.   end
  123. end

  124. module RPG
  125.   class Area
  126.     def name_p1
  127.       name = @name.split(/#/)[0]
  128.       return name != nil ? name : ""
  129.     end
  130.     def name_p2
  131.       name = @name.split(/#/)[1]
  132.       return name != nil ? name : ""
  133.     end
  134.     def color_1
  135.       color = @name.split(/#/)[2]
  136.       return color != nil ? color.to_i : TEXT2_COLOR
  137.     end
  138.     def color_2
  139.       color = @name.split(/#/)[3]
  140.       return color != nil ? color.to_i : TEXT3_COLOR
  141.     end
  142.   end
  143. end

  144. class Game_Character
  145.   def area_id
  146.     for area in $data_areas.values
  147.      if in_area?(area)
  148.      return area.id
  149.      end
  150.     end
  151.   end
  152. end
复制代码
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
134 小时
注册时间
2009-3-29
帖子
470
3
发表于 2011-10-23 01:28:50 | 只看该作者






把这个图片扔到你的system文件夹里面:



窗口提示位置.

# 0 = 左上角.
# 1 = 左下角.
# 2 = 右上角.
# 3 = 右下角.

MPNMPS = 0


关闭开启显示提示(ID).
WM_SWITCH_VIS_DISABLE = 1
  1. #===============================================================================

  2. # MOG_Location_Name_VX V1.0            

  3. #===============================================================================

  4. # By Moghunter       汉化:火鸡三毛老大

  5. #===============================================================================

  6. module MOG

  7. #地图名字体.

  8. MPFONT = "Georgia"

  9. #------------------------------------------------

  10. #消失 ON/OFF(True - False).

  11. MPNMFD = true

  12. #------------------------------------------------

  13. #窗口消失时间.

  14. MPNMTM = 10

  15. #------------------------------------------------

  16. #窗口提示位置.

  17. # 0 = 左上角.

  18. # 1 = 左下角.

  19. # 2 = 右上角.

  20. # 3 = 右下角.

  21. MPNMPS = 0

  22. #------------------------------------------------

  23. # 关闭开启显示提示(ID).

  24. WM_SWITCH_VIS_DISABLE = 1

  25. end

  26. #------------------------------------------------

  27. ###############

  28. # Game_System #

  29. ###############

  30. class Game_System

  31. attr_accessor :fdtm

  32. attr_accessor :mpnm_x

  33. attr_accessor :mpnm_y

  34. alias mog_vx06_initialize initialize

  35. def initialize

  36. mog_vx06_initialize

  37. @fdtm = 255 + 40 * MOG::MPNMTM

  38. if MOG::MPNMPS == 0

  39. @mpnm_x = -300

  40. @mpnm_y = 0

  41. elsif MOG::MPNMPS == 1

  42. @mpnm_x = -300

  43. @mpnm_y = 320

  44. elsif MOG::MPNMPS == 2

  45. @mpnm_x = 640

  46. @mpnm_y = 0

  47. else

  48. @mpnm_x = 640

  49. @mpnm_y = 320

  50. end  

  51. end

  52. def mpnm_x

  53. return @mpnm_x

  54. end

  55. def mpnm_y

  56. return @mpnm_y

  57. end

  58. def fdtm

  59. if @fdtm <= 0

  60. @fdtm = 0

  61. end

  62. return @fdtm

  63. end

  64. end

  65. ############

  66. # Game_Map #

  67. ############

  68. class Game_Map

  69. attr_reader   :map_id  

  70. def mpname

  71. $mpname = load_data("Data/MapInfos.rvdata")

  72. $mpname[@map_id].name

  73. end

  74. end

  75. ###############

  76. # Window Base #

  77. ###############

  78. class Window_Base < Window

  79. def nd_mapic

  80. mapic = Cache.system("")     

  81. end  

  82. def draw_mpname(x,y)

  83. mapic = Cache.system("Mpname") rescue nd_mapic   

  84. cw = mapic.width  

  85. ch = mapic.height

  86. src_rect = Rect.new(0, 0, cw, ch)

  87. self.contents.blt(x , y - ch + 65, mapic, src_rect)

  88. self.contents.font.name = MOG::MPFONT

  89. self.contents.font.size = 22

  90. self.contents.font.bold = true

  91. self.contents.font.shadow = true

  92. self.contents.font.color = Color.new(0,0,0,255)

  93. self.contents.draw_text(x + 76, y + 27, 110, 32, $game_map.mpname.to_s,1)

  94. self.contents.font.color = Color.new(255,255,255,255)

  95. self.contents.draw_text(x + 75, y + 26, 110, 32, $game_map.mpname.to_s,1)

  96. end

  97. end

  98. ##########

  99. # Mpname #

  100. ##########

  101. class Mpname < Window_Base

  102. def initialize(x , y)

  103. super($game_system.mpnm_x, $game_system.mpnm_y, 250, WLH + 70)

  104. self.opacity = 0

  105. refresh

  106. end

  107. def refresh

  108. self.contents.clear

  109. draw_mpname(10,0)   

  110. end

  111. end

  112. #############

  113. # Scene_Map #

  114. #############

  115. class Scene_Map

  116. alias mog_vx06_start start

  117. def start

  118. @mpnm = Mpname.new($game_system.mpnm_x, $game_system.mpnm_y)

  119. @mpnm.contents_opacity = $game_system.fdtm

  120. if $game_switches[MOG::WM_SWITCH_VIS_DISABLE] == false

  121. @mpnm.visible = true

  122. else

  123. @mpnm.visible = false  

  124. end  

  125. mog_vx06_start  

  126. end  

  127. alias mog_vx06_terminate terminate

  128. def terminate

  129. mog_vx06_terminate

  130. @mpnm.dispose

  131. end

  132. alias mog_vx06_update update

  133. def update

  134. mog_vx06_update  

  135. location_name_update

  136. end

  137. def location_name_update

  138. $game_system.mpnm_x = @mpnm.x

  139. $game_system.mpnm_y = @mpnm.y

  140. if $game_switches[MOG::WM_SWITCH_VIS_DISABLE] == true or $game_system.fdtm <= 0

  141. @mpnm.visible = false  

  142. else

  143. @mpnm.visible = true

  144. end

  145. if MOG::MPNMPS == 0 or MOG::MPNMPS == 1

  146. if @mpnm.x < 0

  147. @mpnm.x += 5

  148. elsif @mpnm.x >= 0

  149. @mpnm.x = 0

  150. end   

  151. else

  152. if @mpnm.x > 300

  153. @mpnm.x -= 5

  154. elsif @mpnm.x <= 300

  155. @mpnm.x = 300

  156. end     

  157. end

  158. @mpnm.contents_opacity = $game_system.fdtm

  159. if MOG::MPNMFD == true

  160. $game_system.fdtm -= 3

  161. end

  162. end

  163. alias mog_vx06_update_transfer_player update_transfer_player

  164. def update_transfer_player

  165. return unless $game_player.transfer?

  166. @mpnm.contents_opacity = 0

  167. mog_vx06_update_transfer_player

  168. if MOG::MPNMPS == 0

  169. $game_system.mpnm_x = -340

  170. $game_system.mpnm_y = 0

  171. elsif MOG::MPNMPS == 1

  172. $game_system.mpnm_x = -340

  173. $game_system.mpnm_y = 320

  174. elsif MOG::MPNMPS == 2

  175. $game_system.mpnm_x = 640

  176. $game_system.mpnm_y = 0

  177. else

  178. $game_system.mpnm_x = 640

  179. $game_system.mpnm_y = 320

  180. end  

  181. @mpnm.y = $game_system.mpnm_y

  182. @mpnm.x = $game_system.mpnm_x

  183. $game_system.fdtm = 255 + 60 * MOG::MPNMTM

  184. @mpnm.refresh

  185. end

  186. end

  187. $mogscript = {} if $mogscript == nil

  188. $mogscript["location_name_vx"] = true
复制代码
黑之结界勇士
回复

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-1-8 05:12

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表