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

Project1

 找回密码
 注册会员
搜索
楼主: 千葉玖濑
打印 上一主题 下一主题

[RMVA发布] 【ACE移植】地图显示加强脚本,血魔条、头像、变量什么的~

[复制链接]

Lv1.梦旅人

梦石
0
星屑
68
在线时间
931 小时
注册时间
2009-5-25
帖子
430

开拓者

11
发表于 2012-3-11 21:33:34 | 只看该作者
好吧,这个脚本还是得说说发现了两个问题……

第一个是这个
http://rpg.blue/thread-224209-1-3.html
一开始接触va的时候,我一度觉得比之前的vx游戏节奏快了很多,甚至达到诡异的程度,
所以就发了上面一个帖子,后来直到今天才发现,
原来因为这个脚本让游戏的进行速度变快了很多,之前就觉得那60帧根本就不够1秒,
所以整个游戏的等待,过场,效果的帧数我都比本来需要的调大了,所以不用这个脚本的话,
我的游戏就会回到正常速度,整个像慢动作一样。

第二个问题是这个
http://rpg.blue/thread-224776-1-1.html
这个脚本无论用脚本开关控制开启还是关闭都好,
地图过场显示地图名字的默认功能会被消除,
就是设定好显示名字和地图显示名字开关开启也好,
地图过场时地图名字一样是不会显示的。

因为我个人对脚本的知识几乎为0,所以也不知道这两个问题究竟出在哪里,
更不知道会不会在后面发现新的问题……如果有人能解决的话,在下无限感激……

点评

做了点更新,数值变化时刷新窗口,顺便优化了一下脚本  发表于 2012-3-20 10:34
确实是游戏速度加快了的说  发表于 2012-3-11 22:17

评分

参与人数 1星屑 +40 收起 理由
千葉玖濑 + 40 谢找BUG

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

天仙

梦石
0
星屑
620
在线时间
184 小时
注册时间
2008-4-15
帖子
5023

贵宾

12
发表于 2012-3-13 07:32:13 | 只看该作者
修改版
不仅快了很多,而且删掉很多不必要的代码
  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.    self.contents.font.color = normal_color
  62.    self.contents.draw_text(84+12, 52+8, 544, 24, "#{$game_actors[1].name}  Lv.#{$game_actors[1].level}")
  63.    self.contents.font.color = system_color
  64.    self.contents.draw_text(0+96+120+40, 0-4, 544, 24, "攻:")
  65.    self.contents.draw_text(0+96+120+40, 22-4, 544, 24, "防:")
  66.    self.contents.draw_text(0+96+120+96+40, 0-4, 544, 24, "所持金钱:")
  67.    self.contents.draw_text(-18, 22-4, 544, 24, "G", 2)
  68.    self.contents.font.color = normal_color
  69.    self.contents.draw_text(-456+96+120+40, 0-4, 544, 24, $game_actors[1].atk, 2)
  70.    self.contents.draw_text(-456+96+120+40, 22-4, 544, 24, $game_actors[1].def, 2)
  71.    self.contents.draw_text(-36, 22-4, 544, 24, $game_party.gold, 2)   
  72.    self.contents.font.color = text_color(5)#改颜色什么的~
  73.    self.contents.draw_text(0,380 , 534, 24, "显示变量的名字:#{ $game_variables[13]}")
  74.   end
  75. end
复制代码

点评

出现bug了……这个脚本不能实时更新画面上的信息,要把34和55行的refresh改成update才能实时更新  发表于 2012-3-19 23:53
测试好了,以上两个问题完全解决的,谢谢修复  发表于 2012-3-13 13:01
谢雪流星前辈了~  发表于 2012-3-13 12:16
感激……回去试一下  发表于 2012-3-13 08:34
VA脚本开工中...
偷窃脚本1.0 - 已完成
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
30 小时
注册时间
2012-2-24
帖子
18
13
发表于 2012-3-16 01:48:09 | 只看该作者
我用了之后怎么只是显示了头像,别的什么也没显示啊

点评

难道是冲突?  发表于 2012-3-16 12:12
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
66
在线时间
140 小时
注册时间
2012-2-6
帖子
384
14
发表于 2012-3-16 09:51:54 | 只看该作者
本帖最后由 杂兵天下 于 2012-3-16 14:00 编辑

求加快帧率的方法,谢谢。
用了frame = 1000  最后帧率还是很低哭了
附注:似乎连此脚本也无法提高哪怕一点帧率
RUBY 代码复制
  1. $canud = 0
  2. if $TEST
  3.   class << Graphics
  4.     alias ud update
  5.     def update
  6.       if $canud >= 5
  7.         ud
  8.         $canud = 0
  9.       else
  10.         $canud += 1
  11.       end
  12.     end
  13.   end
  14. end

点评

内啥 问问雪流星君吧。我只是个脚本盲T T  发表于 2012-3-16 12:16
签名是什么?可以吃么?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
30 小时
注册时间
2012-2-24
帖子
18
15
发表于 2012-3-16 12:54:16 | 只看该作者
@米酒獭酱我也不知道是不是冲突,要是把35行35.    @mapz_window.hide注释掉。在进入游戏时,可以显示血魔条1秒钟。之后消失,不注释掉根本就不出现


回复 支持 反对

使用道具 举报

Lv2.观梦者

天仙

梦石
0
星屑
620
在线时间
184 小时
注册时间
2008-4-15
帖子
5023

贵宾

16
发表于 2012-3-16 13:35:29 | 只看该作者
杂兵天下 发表于 2012-3-15 19:51
求加快帧率的方法,谢谢。
用了frame = 1000  最后帧率还是很低哭了
附注:似乎连此脚本也无法提高哪怕一点 ...

最主要是不应该用 update 来绘制文字和图像
update 是每一祯都执行,只有随时需要变化的文字才需要调用
但是绘制文字并不需要立即刷新,而且每次绘制都会花费大量时间,一般情况能不绘制就不要绘制
所以用refresh来绘制就行了

如果是要用这个脚本来制作ARPG,那才需要在 update中判断数值是否有变化
有变化时才调用 refresh 执行绘制


‘‘──雪流星于2012-3-19 20:33补充以下内容
  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. $display_var_id = 13 # 要顯示的變量ID

  22. #==============================================================================
  23. # ■ Scene_Map
  24. #------------------------------------------------------------------------------
  25. #  处理地图画面的类。
  26. #==============================================================================
  27. class Scene_Map < Scene_Base
  28.   #--------------------------------------------------------------------------
  29.   # ● 開始処理
  30.   #--------------------------------------------------------------------------
  31.   alias map_windpwz_start start
  32.   def start
  33.     map_windpwz_start
  34.     @mapz_window = Window_MapZ.new(0, 0)
  35.     @mapz_window.refresh
  36.     @mapz_window.hide
  37.   end
  38.   alias map_windpwz_update update
  39.   def update
  40.     map_windpwz_update
  41.     @mapz_window.visible = $game_switches[$LBA]
  42.     @mapz_window.refresh if check_update_mapz
  43.   end
  44.   def check_update_mapz
  45.     actor = $game_party.leader
  46.     # 變量變化時刷新
  47.     if @show_actor_var != $game_variables[$display_var_id]
  48.       @show_actor_var = $game_variables[$display_var_id]
  49.       return true
  50.     end
  51.     # 金錢變化時刷新
  52.     if @show_actor_gold != $game_party.gold
  53.       @show_actor_gold = $game_party.gold
  54.       return true
  55.     end
  56.     # 領隊換人時刷新
  57.     if @show_actor != actor
  58.       @show_actor = actor
  59.       return true
  60.     end
  61.     # 等級變化時刷新
  62.     if @show_actor_lv != actor.level
  63.       @show_actor_lv = actor.level
  64.       return true
  65.     end
  66.     # 攻擊變化時刷新
  67.     if @show_actor_atk != actor.atk
  68.       @show_actor_atk = actor.atk
  69.       return true
  70.     end
  71.     # 防禦變化時刷新
  72.     if @show_actor_def != actor.def
  73.       @show_actor_def = actor.def
  74.       return true
  75.     end
  76.     return false
  77.   end
  78. end
  79. class Window_MapZ < Window_Base
  80.   #--------------------------------------------------------------------------
  81.   # ● 初始化对像
  82.   #--------------------------------------------------------------------------
  83.   def initialize(x,y)
  84.     super(x-8, y-8, Graphics.width+16 ,Graphics.height+16)
  85.     self.opacity = 0
  86.     update
  87.   end
  88.   #--------------------------------------------------------------------------
  89.   # ● 刷新
  90.   #--------------------------------------------------------------------------
  91.   def refresh
  92.    self.contents.clear
  93.    actor = $game_party.leader
  94.    draw_pict_name = "Leaves" # 要顯示的圖片名
  95.    contents.blt(0, 0, Cache.picture(draw_pict_name), contents.rect)
  96.    fw = 100 # 獲取角色頭像+空格
  97.    lh = line_height # 獲取行高
  98.    gw = Graphics.width # 獲取遊戲窗口寬度
  99.    gh = Graphics.height # 獲取遊戲窗口高度
  100.    
  101.    # 繪製領隊角色頭像、體力和魔力
  102.    draw_actor_face(actor,0 ,0 )
  103.    draw_actor_hp(actor, fw, 4 , 160)
  104.    draw_actor_mp(actor, fw, lh+4, 160)
  105.    
  106.    # 繪製標題
  107.    change_color(system_color)
  108.    contents.draw_text(fw+170, 4   , gw, lh, "攻:")
  109.    contents.draw_text(fw+170, lh+4  , gw, lh, "防:")
  110.    gold_text = "所持金钱:"
  111.    contents.draw_text(fw+170, lh*2+4, gw, lh, gold_text)
  112.    gdx = text_size(gold_text).width
  113.    cudx = gdx + text_size($game_party.gold).width
  114.    contents.draw_text(fw+176+cudx, lh*2+4, gw, lh, Vocab.currency_unit)
  115.    
  116.    # 繪製文字
  117.    change_color(normal_color)
  118.    lv_text = "#{actor.name} #{Vocab.level_a} #{actor.level}"
  119.    contents.draw_text(fw, lh*2+4, gw, lh, lv_text)
  120.    contents.draw_text(fw+lh*2+170, 4, gw, lh, actor.atk)
  121.    contents.draw_text(fw+lh*2+170, lh+4, gw, lh, actor.def)
  122.    contents.draw_text(fw+176+gdx, lh*2+4, gw, lh, $game_party.gold)
  123.    
  124.    # 繪製要顯示的系統變量
  125.    change_color(text_color(5)) #改颜色什么的~
  126.    var_id = $display_var_id
  127.    var_text = "#{$data_system.variables[var_id]}:#{ $game_variables[var_id]}"
  128.    contents.draw_text(0, gh-lh-8 , 534, lh, var_text)
  129.   end
  130. end
复制代码

’’

点评

你好~~想请问一下 如果想在地图上多显示几个变量的数值 显示在划面右侧 脚本要怎么改动呢? 谢谢  发表于 2013-12-14 15:37
原来是这样,谢谢!回去也把我那个年月日脚本优化一下  发表于 2012-3-16 15:48
VA脚本开工中...
偷窃脚本1.0 - 已完成
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
0 小时
注册时间
2012-6-22
帖子
5
17
发表于 2012-6-22 17:53:26 | 只看该作者
谢谢了,我不是脚本党,所以能不能麻烦LZ兄弟一下,把那框框调小一点……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
0 小时
注册时间
2012-6-22
帖子
5
18
发表于 2012-6-22 17:57:54 | 只看该作者
$LBA = 20  # 当这个开挂开启时,地图状态才显示。     怎么开启?我地图上显示不出来额!?

点评

打开开关就可以了0 0  发表于 2012-6-22 18:42
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
52
在线时间
704 小时
注册时间
2011-12-27
帖子
941
19
发表于 2012-8-7 09:20:12 | 只看该作者
為何我只能顯示頭像,,,
圖:
可不可以幫幫我><
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
124 小时
注册时间
2012-2-15
帖子
17
20
发表于 2012-8-7 10:10:14 | 只看该作者
  1. class Window_Main < Window_Base
  2.   @chp = 0
  3.   @cmp = 0
  4.   def initialize
  5.     super(0,(Graphics.height-140),window_width,140)
  6.     self.opacity = 255
  7.     self.windowskin = Bitmap.new(10,10)
  8.     update
  9.   end
  10.   
  11.   def update
  12.     super
  13.     @actor = $game_party.leader
  14.     if (@chp != @actor.hp)
  15.       @chp = @actor.hp
  16.       draw_all_info
  17.       return;
  18.     end
  19.     if (@cmp != @actor.mp)
  20.       @cmp = @actor.mp
  21.       draw_all_info
  22.       return;
  23.     end
  24.   end
  25.   
  26.   def draw_all_info
  27.     self.contents.clear
  28.     draw_face(@actor.face_name, @actor.face_index, 10, 10)
  29.     draw_hp
  30.     draw_mp
  31.   end
  32.   
  33.   def draw_face(face_name, face_index, x, y)
  34.     bitmap = Cache.face(face_name)
  35.     rect = Rect.new(face_index % 4 * 96, face_index / 4 * 96, 96, 96)
  36.     self.contents.blt(x, y, bitmap, rect, 255)
  37.     bitmap.dispose
  38.   end

  39.   def draw_hp
  40.     cper = @actor.mhp / 80
  41.     self.contents.draw_text(110, 20, 30, 30, "HP")
  42.     self.contents.fill_rect(145,27,80,8,Color.new(0,0,0,150))
  43.     if ((@actor.hp/cper) > 80)
  44.       cp = 80
  45.     else
  46.       cp [email protected]/cper
  47.     end
  48.     self.contents.fill_rect(145,27,cp,8,Color.new(255,0,0,150))
  49.   end
  50.   
  51.   def draw_mp
  52.     mper = @actor.mmp / 80
  53.     self.contents.draw_text(110, 40, 30, 30, "PP")
  54.     self.contents.fill_rect(145,47,80,8,Color.new(0,0,0,150))
  55.     if ((@actor.mp/mper) > 80)
  56.       cp = 80
  57.     else
  58.       cp [email protected]/mper
  59.     end
  60.     self.contents.fill_rect(145,47,cp,8,Color.new(0,0,255,150))
  61.   end
  62.   
  63.   
  64.   def window_height
  65.     return Graphics.height
  66.   end
  67.   def window_width
  68.     return Graphics.width
  69.   end
  70. end
复制代码
好吧,这是一个很新手的写法,莫喷。。。。{:2_272:}
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 13:47

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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