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

Project1

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

[已经解决] 如何把角色的经验变成条并且显示在地图上

[复制链接]

Lv4.逐梦者

梦石
5
星屑
1823
在线时间
339 小时
注册时间
2014-4-1
帖子
270
跳转到指定楼层
1
发表于 2017-7-23 20:13:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
如题,想做一个ARPG(XAS系统),但是xas系统的hud没有显示经验条的,所以我想请教有没有办法把角色的经验变成条状然后显示在地图上,我使用过"地图显示血条魔条"这个脚本进行改造,但是发现这个脚本只能显示一个角色的经验,而且不能同步,大概就是在地图上有一个事件,对话能加经验,但是在那个脚本加上的经验不能显示出来,需要打开菜单再关闭才能同步,脚本如下,经验变成条的脚本
RUBY 代码复制
  1. #  ●設定區域
  2. #===================================
  3.  
  4. module WD
  5. module Exp_Gauge
  6.   #EXP條COLOR,請修改成TEXT文字
  7.   EXP_GAUGE_COLOR1 = 6
  8.   EXP_GAUGE_COLOR2 = 14
  9.  
  10. #EXP條文字顯示設定,true為打開,false為關閉
  11.    EXP_TEXT_DISPLAY = true
  12. end
  13. end
  14.  
  15. #==============================================================================
  16. # ■ Window_Base
  17. #------------------------------------------------------------------------------
  18. #  ゲーム中の全てのウィンドウのスーパークラスです。
  19. #==============================================================================
  20.  
  21. class Window_Base < Window
  22.   include WD::Exp_Gauge
  23.  
  24.   def exp_gauge_color1;   text_color(EXP_GAUGE_COLOR1);  end;    # EXP ゲージ 1
  25.   def exp_gauge_color2;   text_color(EXP_GAUGE_COLOR2);  end;    # EXP ゲージ 2
  26.  
  27.   #--------------------------------------------------------------------------
  28.   # ● シンプルなステータスの描画
  29.   #--------------------------------------------------------------------------
  30.   def draw_actor_simple_status(actor, x, y)
  31.     draw_actor_name(actor, x, y + line_height * 0.5)
  32.     draw_actor_level(actor, x, y - line_height * 0.5)
  33.     draw_actor_icons(actor, x, y + line_height * 1.5)
  34.     draw_actor_class(actor, x + 120, y - line_height * 0.5)
  35.     draw_actor_hp(actor, x + 120, y + line_height * 0.5)
  36.     draw_actor_mp(actor, x + 120, y + line_height * 1.5)
  37.     draw_actor_exp(actor, x, y + line_height * 2.5, EXP_TEXT_DISPLAY)
  38.   end
  39.   #--------------------------------------------------------------------------
  40.   # ● EXP の描画
  41.   #--------------------------------------------------------------------------
  42.   def draw_actor_exp(actor, x, y, display = true, width = 244)
  43.     this_level = actor.exp - actor.past_level_exp
  44.     next_level = actor.next_level_exp - actor.past_level_exp
  45.     draw_gauge(x, y, width, actor.exp_rate, exp_gauge_color1, exp_gauge_color2)
  46.     change_color(system_color)
  47.     if display
  48.       draw_text(x, y, 30, line_height, "EXP")
  49.       draw_current_and_max_values(x, y, width, this_level, next_level, mp_color(actor), normal_color)
  50.     end
  51.   end
  52. end
  53.  
  54. class Game_Actor < Game_Battler
  55.   #--------------------------------------------------------------------------
  56.   # ● EXP の割合を取得
  57.   #--------------------------------------------------------------------------
  58.   def exp_rate
  59.     this_level = exp - past_level_exp
  60.     next_level = next_level_exp - past_level_exp
  61.     next_level > 0 ? this_level.to_f / next_level : 0
  62.   end
  63.   #--------------------------------------------------------------------------
  64.   # ● 前のレベルの経験値を取得
  65.   #--------------------------------------------------------------------------
  66.   def past_level_exp
  67.     @level > 1 ? exp_for_level(@level - 1) : 0
  68.   end
  69. end

地图显示经验条的脚本
RUBY 代码复制
  1. #============================================================================
  2. #  〇 地图显示血条魔条
  3. #                   ——By.冰舞蝶恋
  4. #----------------------------------------------------------------------------
  5. #     说明:显示的文字可自由更动来达到游戏需要的效果。
  6. #----------------------------------------------------------------------------
  7. #     以下是作者的白痴留言,尽管无视吧!
  8. #     啊哈哈!这可是咱第一个独立完成的脚本吖!!
  9. #     一时无聊做的……兴许可以用在ARPG之类的地方吧。偶然看到有不少人在拿RM做
  10. #     ARPG,又发现似乎没有(除了邪恶的fux2字眼的那个- -||b),做了个比较完善
  11. #     的……排版不是很好看,坐标可以自己调整。
  12. #============================================================================
  13. #   ○ACE移植
  14. #                   ——By.米酒獭酱
  15. #只是把这个脚本移植到了ACE上,因为找不到ACE代表魔攻魔防的系统变量所以舍去了,
  16. #若大家找到了也可以加上~
  17. #总之这个脚本就是集显示图片显示头像显示变量显示金钱什么的为一体的脚本~
  18. #(话说本人也是第一次弄脚本竟然就移植成功了)
  19. # 坐标可以自由调整+1~
  20. $LBA = 20  # 当这个开挂开启时,地图状态才显示。
  21. #==============================================================================
  22. # ■ Scene_Map
  23. #------------------------------------------------------------------------------
  24. #  处理地图画面的类。
  25. #==============================================================================
  26. class Scene_Map < Scene_Base
  27.   #--------------------------------------------------------------------------
  28.   # ● 開始処理
  29.   #--------------------------------------------------------------------------
  30.   alias map_windpwz_start start
  31.   def start
  32.     map_windpwz_start
  33.     @mapz_window = Window_MapZ.new(0, 0)
  34.     @mapz_window.refresh
  35.     @mapz_window.hide
  36.   end
  37.   alias map_windpwz_update update
  38.   def update
  39.     map_windpwz_update
  40.     @mapz_window.visible = $game_switches[$LBA]
  41.   end
  42. end
  43. class Window_MapZ < Window_Base
  44.   #--------------------------------------------------------------------------
  45.   # ● 初始化对像
  46.   #--------------------------------------------------------------------------
  47.   def initialize(x,y)
  48.     super(-12, -12, 544+16,416+16)
  49.     self.opacity = 0
  50.     update
  51.   end
  52.   #--------------------------------------------------------------------------
  53.   # ● 刷新
  54.   #--------------------------------------------------------------------------
  55.   def refresh
  56.    self.contents.clear
  57. #~    draw_actor_face($game_actors[1],0 ,0 )
  58.    #$game_map.screen.pictures[1].show("你要显示的图片名", 0, 0, 0, 100, 100, 255, 0) #若要使用请取消注释
  59. #~    draw_actor_hp($game_actors[1], 80+12, 0, 160)
  60. #~    draw_actor_mp($game_actors[1], 80+12, 32, 160)
  61.    draw_actor_exp($game_actors[1], 10, 300, 160)
  62.    self.contents.font.color = normal_color
  63. #~    self.contents.draw_text(84+12, 52+8, 544, 24, "#{$game_actors[1].name}  Lv.#{$game_actors[1].level}")
  64.    self.contents.font.color = system_color
  65. #~    self.contents.draw_text(0+96+120+40, 0-4, 544, 24, "攻:")
  66. #~    self.contents.draw_text(0+96+120+40, 22-4, 544, 24, "防:")
  67. #~    self.contents.draw_text(0+96+120+96+40, 0-4, 544, 24, "所持金钱:")
  68. #~    self.contents.draw_text(-18, 22-4, 544, 24, "G", 2)
  69.    self.contents.font.color = normal_color
  70. #~    self.contents.draw_text(-456+96+120+40, 0-4, 544, 24, $game_actors[1].atk, 2)
  71. #~    self.contents.draw_text(-456+96+120+40, 22-4, 544, 24, $game_actors[1].def, 2)
  72. #~    self.contents.draw_text(-36, 22-4, 544, 24, $game_party.gold, 2)   
  73.    self.contents.font.color = text_color(5)#改颜色什么的~
  74. #~    self.contents.draw_text(0,380 , 534, 24, "显示变量的名字:#{ $game_variables[13]}")
  75.   end
  76. end

谢谢大神们

Lv1.梦旅人

梦石
0
星屑
50
在线时间
7 小时
注册时间
2017-7-8
帖子
23
2
发表于 2017-7-23 20:50:20 | 只看该作者
弄一个并行处理的事件来指向它试试?

点评

请问指向什么意思  发表于 2017-7-23 20:59
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7230
在线时间
1685 小时
注册时间
2017-4-28
帖子
85

开拓者

3
发表于 2017-7-23 21:17:43 | 只看该作者
本帖最后由 gforce 于 2017-7-23 21:21 编辑

XAS的hud有顯示經驗條
如果你用的是66rpg上的XAS漢化版
把XAS脚本中   -> Active HUD 的部分
第267行及699行的
  1. rate = @actor.now_exp.to_f / @actor.next_exp
复制代码

改為
  1. rate = (@actor.exp - @actor.now_exp.to_f) / (@actor.next_exp - @actor.now_exp.to_f)
复制代码

你就可以看見那精美的粉紅色的經驗條。

点评

这个可行!  发表于 2017-7-23 21:36
请问这个经验条有没有办法改得长一点粗一点呢  发表于 2017-7-23 21:27

评分

参与人数 1星屑 +200 收起 理由
RaidenInfinity + 200 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
5
星屑
1823
在线时间
339 小时
注册时间
2014-4-1
帖子
270
4
 楼主| 发表于 2017-7-23 21:37:14 | 只看该作者
gforce 发表于 2017-7-23 21:17
XAS的hud有顯示經驗條
如果你用的是66rpg上的XAS漢化版
把XAS脚本中   -> Active HUD 的部分

请问有没有办法把经验条改得长一点粗一点

点评

你可以試試修改"Hud_Layout"及"Hud_Exp_Meter"兩張圖片,"Hud_Exp_Meter"圖片大小直接影響经验条的大小  发表于 2017-7-23 21:45
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-7-19 14:16

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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