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

Project1

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

[已经解决] 怎么改血条的样子啊?

[复制链接]

Lv2.观梦者

梦石
0
星屑
787
在线时间
247 小时
注册时间
2014-7-19
帖子
64
跳转到指定楼层
1
发表于 2014-11-23 13:46:10 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
就这个东西https://rpg.blue/forum.php?mod=attachment&aid=MjY4Mjk1fDA5ZTVhOGJmYzgwYWRhMjZlY2ZmNGFlNWQ3NTM2OThjfDE3Mzk3MjA4MzY%3D&request=yes&_f=.jpg
不太喜欢默认的我想换成别的样子,请问要怎么办?

QQ图片20141123134427.jpg (5.1 KB, 下载次数: 29)

QQ图片20141123134427.jpg

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

2
发表于 2014-11-23 13:52:04 | 只看该作者
重定义 Window_Base#draw_actor_hp 方法。

不要问我具体怎么做……
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
787
在线时间
247 小时
注册时间
2014-7-19
帖子
64
3
 楼主| 发表于 2014-11-23 13:54:57 | 只看该作者
taroxd 发表于 2014-11-23 13:52
重定义 Window_Base#draw_actor_hp 方法。

不要问我具体怎么做……

不等于没说么(;´Д`)

点评

针对你的问题,2L的回答就是完整的回答了。  发表于 2014-11-23 14:19
可我是真的很想改啊但是我脚本一点看不懂(;´Д`)  发表于 2014-11-23 14:17
你的问题不也等于没说么(;´Д`)  发表于 2014-11-23 14:04
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
98
在线时间
1617 小时
注册时间
2013-8-15
帖子
4459
4
发表于 2014-11-23 14:19:56 | 只看该作者
个人觉得这个美...
  1. #===============================================================================
  2. #
  3. # Neo Gauge Ultimate Ace (1.1a)
  4. # 21/02/2012
  5. # Ported to Ace by Pacman (original script by Woratana and edited by Pacman)
  6. # This script changes the way gauges are drawn. This script supports drawing
  7. # gauges horizontally and vertically, uses a 3-colour gradient, has a very
  8. # simple setup and two brilliant methods to change the bitmap.
  9. # Note that much of this work is Woratana's, you should credit him the same as
  10. # (if not more than) me. I do not claim writing this script entirely, I edited
  11. # the VX version a while back, and this is the VXA port of that.
  12. #
  13. # Detailed instructions on the configuration are below.
  14. #
  15. #===============================================================================

  16. class Window_Base < Window  # DO NOT TOUCH THIS
  17.   
  18.   #==========================================================================
  19.   # NEO GAUGE SETTING #
  20.   # Color: Color.new(Red, Green, Blue) # Each number you can put integer 0-255
  21.   # * You can use this site to get RGB color:
  22.   # http://web.njit.edu/~kevin/rgb.txt.html
  23.   #==========================================================================
  24.   GAUGE_GLOW_EFFECT = true # Use glow effect?
  25.   GAUGE_GLOW_COLOR = Color.new(0,0,0) # Glow color

  26.   GAUGE_OUTSIDE_BORDER = true # Use outside border?
  27.   GAUGE_OUTSIDE_BORDER_COLOR = Color.new(255,255,255)
  28.   GAUGE_OUTSIDE_BORDER_COLOR2 = Color.new(255,255,255)
  29.   GAUGE_CLEAR_CORNER_OUTSIDE_BORDER = true

  30.   GAUGE_INSIDE_BORDER = false # Use inside border?
  31.   GAUGE_INSIDE_BORDER_COLOR = Color.new(255, 255, 255)
  32.   GAUGE_INSIDE_BORDER_COLOR2 = Color.new(0, 0, 0)
  33.   #=============================================================
  34.   # NEO HP/MP/TP/STATS GAUGE SETTING #
  35.   #=============================================================
  36.   # Note: The HPMP options also apply to the TP gauge.
  37.   HPMP_GAUGE_HEIGHT = 8 # gauge height (minumum: 6)
  38.   # Recommend to use HPMP_GAUGE_HEIGHT at least 8,
  39.   # if you're using GAUGE_INSIDE_BORDER in Neo-Gauge
  40.   HPMP_GAUGE_X_PLUS = 0 # Move gauge horizontally (+,-)
  41.   HPMP_GAUGE_Y_PLUS = ((-1)*(HPMP_GAUGE_HEIGHT - 6)) # (+,-)
  42.   # Change '((-1)*(HPMP_GAUGE_HEIGHT - 6))' to number to move gauge vertically

  43.   # BACK GAUGE COLORS
  44.   BACK_GCOLOR_1 = Color.new(0, 0, 0) # Black [Color1]
  45.   BACK_GCOLOR_2 = Color.new(100, 100, 100) # Dark Gray [Color2]
  46.   BACK_GCOLOR_3 = Color.new(200, 200, 200) # Light Gray [Color3]

  47.   USE_HP_GAUGE = true # Use HP Gauge? (true/false)
  48.   USE_MP_GAUGE = true # Use MP Gauge?
  49.   USE_TP_GAUGE = true # Use TP Gauge?
  50.   USE_STATS_GAUGE = true # Use Attack/Defense/Spirit/Agility/Luck Gauge?

  51.   # HP GAUGE COLORS
  52.   HP_GCOLOR_1 = Color.new(139,0,0) # Dark Red
  53.   HP_GCOLOR_2 = Color.new(255,0,0) # Pure Red
  54.   HP_GCOLOR_3 = Color.new(255,193,37) # Goldenrod

  55.   # MP GAUGE COLORS
  56.   MP_GCOLOR_1 = Color.new(0,0,128) # Dark Blue
  57.   MP_GCOLOR_2 = Color.new(0,191,255) # Blue
  58.   MP_GCOLOR_3 = Color.new(46,139,87) # Light Green
  59.   
  60.   # TP GAUGE COLORS
  61.   TP_GCOLOR_1 = Color.new(0, 100, 0)  # Dark Green
  62.   TP_GCOLOR_2 = Color.new(191, 255, 0)  # Lime Green
  63.   TP_GCOLOR_3 = Color.new(173, 255, 47) # Yellow Green

  64.   # STAT GAUGE COLORS
  65.   STAT_GCOLOR_1 = Color.new(0,0,128)
  66.   STAT_GCOLOR_2 = Color.new(0,191,255)
  67.   STAT_GCOLOR_3 = Color.new(152,251,152)

  68. #===============================================================================
  69. #
  70. # END CONFIGURATION
  71. #
  72. #===============================================================================

  73. #==============================================================================
  74. # ■ Window_Base
  75. #------------------------------------------------------------------------------
  76. #  ゲーム中の全てのウィンドウのスーパークラスです。
  77. #==============================================================================
  78.   #--------------------------------------------------------------------------
  79.   # * Get Gauge Back Colours
  80.   #--------------------------------------------------------------------------
  81.   def neo_gauge_back_color
  82.     return BACK_GCOLOR_1, BACK_GCOLOR_2, BACK_GCOLOR_3
  83.   end
  84.   #--------------------------------------------------------------------------
  85. if USE_HP_GAUGE
  86.   #--------------------------------------------------------------------------
  87.   # * Draw Actor HP
  88.   #--------------------------------------------------------------------------
  89.   def draw_actor_hp(actor, x, y, width = 124)
  90.     gwidth = width * actor.hp / actor.mhp
  91.     cg = neo_gauge_back_color
  92.     c1, c2, c3 = cg[0], cg[1], cg[2]
  93.     draw_neo_gauge(x + HPMP_GAUGE_X_PLUS, y + line_height - 8 +
  94.       HPMP_GAUGE_Y_PLUS, width, HPMP_GAUGE_HEIGHT, c1, c2, c3)
  95.     (1..3).each {|i| eval("c#{i} = HP_GCOLOR_#{i}")}
  96.     draw_neo_gauge(x + HPMP_GAUGE_X_PLUS, y + line_height - 8 +
  97.       HPMP_GAUGE_Y_PLUS, gwidth, HPMP_GAUGE_HEIGHT, c1, c2, c3, false, false,
  98.       width, 30)
  99.     change_color(system_color)
  100.     draw_text(x, y, 30, line_height, Vocab::hp_a)
  101.     draw_current_and_max_values(x, y, width, actor.hp, actor.mhp,
  102.       hp_color(actor), normal_color)
  103.   end
  104.   #--------------------------------------------------------------------------
  105. end
  106. if USE_MP_GAUGE
  107.   #--------------------------------------------------------------------------
  108.   # * Draw Actor MP
  109.   #--------------------------------------------------------------------------
  110.   def draw_actor_mp(actor, x, y, width = 124)
  111.     gwidth = width * actor.mp / [actor.mmp, 1].max
  112.     cg = neo_gauge_back_color
  113.     c1, c2, c3 = cg[0], cg[1], cg[2]
  114.     draw_neo_gauge(x + HPMP_GAUGE_X_PLUS, y + line_height - 8 +
  115.       HPMP_GAUGE_Y_PLUS, width, HPMP_GAUGE_HEIGHT, c1, c2, c3)
  116.     (1..3).each {|i| eval("c#{i} = MP_GCOLOR_#{i}")}
  117.     draw_neo_gauge(x + HPMP_GAUGE_X_PLUS, y + line_height - 8 +
  118.       HPMP_GAUGE_Y_PLUS, gwidth, HPMP_GAUGE_HEIGHT, c1, c2, c3, false, false,
  119.       width, 40)
  120.     change_color(system_color)
  121.     draw_text(x, y, 30, line_height, Vocab::mp_a)
  122.     draw_current_and_max_values(x, y, width, actor.mp, actor.mmp,
  123.       mp_color(actor), normal_color)
  124.   end
  125.   #--------------------------------------------------------------------------
  126. end
  127. if USE_TP_GAUGE
  128.   #--------------------------------------------------------------------------
  129.   # * Draw Actor TP
  130.   #--------------------------------------------------------------------------
  131.   def draw_actor_tp(actor, x, y, width = 124)
  132.     gwidth = width * actor.tp / 100
  133.     cg = neo_gauge_back_color
  134.     c1, c2, c3 = cg[0], cg[1], cg[2]
  135.     draw_neo_gauge(x + HPMP_GAUGE_X_PLUS, y + line_height - 8 +
  136.       HPMP_GAUGE_Y_PLUS, width, HPMP_GAUGE_HEIGHT, c1, c2, c3)
  137.     (1..3).each {|i| eval("c#{i} = TP_GCOLOR_#{i}")}
  138.     draw_neo_gauge(x + HPMP_GAUGE_X_PLUS, y + line_height - 8 +
  139.       HPMP_GAUGE_Y_PLUS, gwidth, HPMP_GAUGE_HEIGHT, c1, c2, c3, false, false,
  140.       width, 40)
  141.     change_color(system_color)
  142.     draw_text(x, y, 30, line_height, Vocab::tp_a)
  143.     change_color(tp_color(actor))
  144.     draw_text(x + width - 42, y, 42, line_height, actor.tp.to_i, 2)
  145.   end
  146.   #--------------------------------------------------------------------------
  147. end
  148. if USE_STATS_GAUGE
  149.   #--------------------------------------------------------------------------
  150.   # * Draw Actor Stats
  151.   #--------------------------------------------------------------------------
  152.   def draw_actor_param(actor, x, y, param_id)
  153.     param_name = Vocab::param(param_id)
  154.     param_value = actor.param(param_id)
  155.     param_max = actor.neo_param_max(param_id)
  156.     width = 156
  157.     gwidth = width * param_value / [param_max, 1].max
  158.     cg = neo_gauge_back_color
  159.     draw_neo_gauge(x + HPMP_GAUGE_X_PLUS, y + line_height - 8 +
  160.       HPMP_GAUGE_Y_PLUS, width, HPMP_GAUGE_HEIGHT, cg[0], cg[1], cg[2])
  161.     c1, c2, c3 = STAT_GCOLOR_1, STAT_GCOLOR_2, STAT_GCOLOR_3
  162.     draw_neo_gauge(x + HPMP_GAUGE_X_PLUS, y + line_height - 8 +
  163.       HPMP_GAUGE_Y_PLUS, gwidth, HPMP_GAUGE_HEIGHT, c1, c2, c3, false, false,
  164.       width, 40)
  165.     change_color(system_color)
  166.     draw_text(x, y, 120, line_height, param_name)
  167.     change_color(normal_color)
  168.     draw_text(x + 120, y, 36, line_height, param_value, 2)
  169.   end
  170.   #--------------------------------------------------------------------------
  171. end
  172.   #--------------------------------------------------------------------------
  173.   # * Draw Neo Gauge
  174.   #     c1, c2, c3  : 3 Colours in the gradient
  175.   #     vert  : Whether the gauge is vertical or not.
  176.   #     outline   : Draw an outline of the gauge?
  177.   #     max_width : Maximum width the gauge can reach.
  178.   #     c2_spot   : Point where the second colour is drawn.
  179.   #--------------------------------------------------------------------------
  180.   def draw_neo_gauge(x, y, width, height, c1, c2, c3, vert = false,
  181.       outline = true, max_width = nil, c2_spot = 50)  
  182.     if max_width.nil? # Get Max Width
  183.       max_width = vert ? height : width
  184.     end
  185.     glow = GAUGE_GLOW_EFFECT
  186.     dx = x; dy = y
  187.     x = y = 0
  188.     bitmap = Bitmap.new(max_width, height)
  189.     if glow # If drawing glow
  190.       if outline  # If drawing outline
  191.         if vert; rect = Rect.new(x, y, width, max_width)  # Make vertical gauge
  192.         else; rect = Rect.new(x, y, max_width, height)  # Make horizontal gauge
  193.         end
  194.         bitmap.fill_rect(rect, GAUGE_GLOW_COLOR)  # Make glow
  195.         bitmap.neo_clear_corner(rect.x, rect.y, rect.width, rect.height) # Clear
  196.       else  # No outline
  197.         height -= 2; width -= 2; x += 1; y += 1
  198.         if GAUGE_INSIDE_BORDER
  199.           height -= 2; width -= 2; x += 1; y += 1
  200.         end
  201.       end
  202.     end
  203.   #--------------------------------------------------------------------------
  204.   # I'm not going to comment every line. There's a lot of stuff here. It may
  205.   # look daunting, but it's actually not that diffciult to get your head
  206.   # around. If you really want to figure this all out, just look at it a lot.
  207.   # Failing that, you could probably just ask a more experienced scripter or
  208.   # myself.
  209.   #--------------------------------------------------------------------------
  210.     if vert
  211.       if glow; gx = gx2 = x + 1; gy = y
  212.       else; gx = gx2 = x; gy = y
  213.       end
  214.       gy2 = gy - 1 + ((c2_spot * max_width) / 100)
  215.       gw = gw2 = width - 2; gh = ((c2_spot * max_width) / 100)
  216.       gh2 = max_width - gh - 2
  217.       bitmap.gradient_fill_rect(gx, gy, gw, gh, c1, c2, true)
  218.       bitmap.gradient_fill_rect(gx2, gy2, gw2, gh2, c2, c3, true)
  219.       gh = (gh + gh2)
  220.     else
  221.       if glow; gx = x; gy = gy2 = y
  222.         gx = x + 1; gy = gy2 = y + 1
  223.       else; gx = x; gy = gy2 = y
  224.       end
  225.       gx2 = gx - 1 + ((c2_spot *  max_width) / 100)
  226.       gw = ((c2_spot * max_width) / 100); gh = gh2 = (height - 2)
  227.       gw2 = max_width - gw - 2
  228.       bitmap.gradient_fill_rect(gx, gy, gw, gh, c1, c2)
  229.       bitmap.gradient_fill_rect(gx2, gy2, gw2, gh2, c2, c3)
  230.       gw = (gw + gw2)
  231.     end
  232.     if outline
  233.       if GAUGE_OUTSIDE_BORDER
  234.         bitmap.draw_neo_border(gx, gy, gw, gh, GAUGE_OUTSIDE_BORDER_COLOR,
  235.           GAUGE_OUTSIDE_BORDER_COLOR2)
  236.         if GAUGE_CLEAR_CORNER_OUTSIDE_BORDER
  237.           bitmap.neo_clear_corner(gx, gy, gw, gh)
  238.         end
  239.       end
  240.       if GAUGE_INSIDE_BORDER
  241.         gx += 1; gy += 1; gw -= 2; gh -= 2
  242.         bitmap.draw_neo_border(gx, gy, gw, gh, GAUGE_INSIDE_BORDER_COLOR,
  243.           GAUGE_INSIDE_BORDER_COLOR2)
  244.       end
  245.     end
  246.     rect = Rect.new(0, 0, width, bitmap.height)
  247.     self.contents.blt(dx, dy, bitmap, rect)
  248.     bitmap.dispose
  249.   end
  250. end

  251. #==============================================================================
  252. # ■ Bitmap
  253. #------------------------------------------------------------------------------
  254. #  かわいいですね。
  255. #==============================================================================

  256. class Bitmap
  257.   #--------------------------------------------------------------------------
  258.   # * Draw border of Neo Gauge
  259.   #--------------------------------------------------------------------------
  260.   def draw_neo_border(x, y, width, height, color, color2 = color, size = 1)
  261.     gradient_fill_rect(x, y, width, size, color, color2)
  262.     fill_rect(x, y, size, height, color)
  263.     fill_rect(x + width - size, y, size, height, color2)
  264.     gradient_fill_rect(x, y + height - size, width, size, color, color2)
  265.   end
  266.   #--------------------------------------------------------------------------
  267.   # * Clear Corner of Neo Gauge
  268.   #--------------------------------------------------------------------------
  269.   def neo_clear_corner(x, y, width, height, size = 1)
  270.     clear_rect(x, y, size, size)
  271.     clear_rect(x + width - size, y, size, size)
  272.     clear_rect(x, y + height - size, size, size)
  273.     clear_rect(x + width - size, y + height - size, size, size)
  274.   end
  275. end

  276. #==============================================================================
  277. # ■ Game_Battler
  278. #------------------------------------------------------------------------------
  279. #  スプライトや行動に関するメソッドを追加したバトラーのクラスです。このクラス
  280. # は Game_Actor クラスと Game_Enemy クラスのスーパークラスとして使用されます。
  281. #==============================================================================

  282. class Game_Battler < Game_BattlerBase
  283.   #--------------------------------------------------------------------------
  284.   # * Get class (simpler method)
  285.   #--------------------------------------------------------------------------
  286.   def klass
  287.     self.class if self.is_a?(Game_Actor)
  288.   end
  289.   #--------------------------------------------------------------------------
  290.   # * Get Neo Parameter Max
  291.   #--------------------------------------------------------------------------
  292.   def neo_param_max(param_id)
  293.     case param_id
  294.     when 2; maxatk
  295.     when 3; maxdef
  296.     when 4; maxspi
  297.     when 5; maxmdef
  298.     when 6; maxagi
  299.     when 7; maxluk
  300.     end
  301.   end
  302.   #--------------------------------------------------------------------------
  303.   # * Max attack
  304.   #--------------------------------------------------------------------------
  305.   def maxatk
  306.     n = atk
  307.     if self.is_a?(Game_Actor)
  308.       n = n - klass.params[2, @level] + klass.params[2, 99]
  309.     end
  310.     return n
  311.   end
  312.   #--------------------------------------------------------------------------
  313.   # * Max defense
  314.   #--------------------------------------------------------------------------
  315.   def maxdef
  316.     n = atk
  317.     if self.is_a?(Game_Actor)
  318.       n = n - klass.params[3, @level] + klass.params[3, 99]
  319.     end
  320.     return n
  321.   end
  322.   #--------------------------------------------------------------------------
  323.   # * Max magic
  324.   #--------------------------------------------------------------------------
  325.   def maxspi
  326.     n = atk
  327.     if self.is_a?(Game_Actor)
  328.       n = n - klass.params[4, @level] + klass.params[4, 99]
  329.     end
  330.     return n
  331.   end
  332.   #--------------------------------------------------------------------------
  333.   # * Max magic defense
  334.   #--------------------------------------------------------------------------
  335.   def maxmdef
  336.     n = atk
  337.     if self.is_a?(Game_Actor)
  338.       n = n - klass.params[5, @level] + klass.params[5, 99]
  339.     end
  340.     return n
  341.   end
  342.   #--------------------------------------------------------------------------
  343.   # * Max agility
  344.   #--------------------------------------------------------------------------
  345.   def maxagi
  346.     n = atk
  347.     if self.is_a?(Game_Actor)
  348.       n = n - klass.params[6, @level] + klass.params[6, 99]
  349.     end
  350.     return n
  351.   end
  352.   #--------------------------------------------------------------------------
  353.   # * Max luck
  354.   #--------------------------------------------------------------------------
  355.   def maxluk
  356.     n = atk
  357.     if self.is_a?(Game_Actor)
  358.       n = n - klass.params[7, @level] + klass.params[7, 99]
  359.     end
  360.     return n
  361.   end
  362. end

  363. $imported ||= {}
  364. $imported[:neo_gauge_ultimate]

  365. #===============================================================================
  366. #
  367. # END OF SCRIPT
  368. #
  369. #===============================================================================
复制代码

点评

亲你这个都被字挡上了看不清啊TVT  发表于 2014-11-23 15:12
神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
22391
在线时间
8597 小时
注册时间
2011-12-31
帖子
3364
5
发表于 2014-11-23 14:34:46 | 只看该作者
參考
汎用ゲージ描画(VXAce専用)
http://ytomy.sakura.ne.jp/tkool/ ... c_gauge#GAUGE_IMAGE
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
98
在线时间
1617 小时
注册时间
2013-8-15
帖子
4459
6
发表于 2014-11-23 15:21:47 | 只看该作者
永燃的狂炎 发表于 2014-11-23 14:19
个人觉得这个美...
  1. #===============================================================================
  2. #
  3. # Neo Gauge Ultimate Ace (1.1a)
  4. # 21/02/2012
  5. # Ported to Ace by Pacman (original script by Woratana and edited by Pacman)
  6. # This script changes the way gauges are drawn. This script supports drawing
  7. # gauges horizontally and vertically, uses a 3-colour gradient, has a very
  8. # simple setup and two brilliant methods to change the bitmap.
  9. # Note that much of this work is Woratana's, you should credit him the same as
  10. # (if not more than) me. I do not claim writing this script entirely, I edited
  11. # the VX version a while back, and this is the VXA port of that.
  12. #
  13. # Detailed instructions on the configuration are below.
  14. #
  15. #===============================================================================

  16. class Window_Base < Window  # DO NOT TOUCH THIS
  17.   
  18.   #==========================================================================
  19.   # NEO GAUGE SETTING #
  20.   # Color: Color.new(Red, Green, Blue) # Each number you can put integer 0-255
  21.   # * You can use this site to get RGB color:
  22.   # http://web.njit.edu/~kevin/rgb.txt.html
  23.   #==========================================================================
  24.   GAUGE_GLOW_EFFECT = true # Use glow effect?
  25.   GAUGE_GLOW_COLOR = Color.new(0,0,0) # Glow color

  26.   GAUGE_OUTSIDE_BORDER = true # Use outside border?
  27.   GAUGE_OUTSIDE_BORDER_COLOR = Color.new(255,255,255)
  28.   GAUGE_OUTSIDE_BORDER_COLOR2 = Color.new(255,255,255)
  29.   GAUGE_CLEAR_CORNER_OUTSIDE_BORDER = true

  30.   GAUGE_INSIDE_BORDER = false # Use inside border?
  31.   GAUGE_INSIDE_BORDER_COLOR = Color.new(255, 255, 255)
  32.   GAUGE_INSIDE_BORDER_COLOR2 = Color.new(0, 0, 0)
  33.   #=============================================================
  34.   # NEO HP/MP/TP/STATS GAUGE SETTING #
  35.   #=============================================================
  36.   # Note: The HPMP options also apply to the TP gauge.
  37.   HPMP_GAUGE_HEIGHT = 8 # gauge height (minumum: 6)
  38.   # Recommend to use HPMP_GAUGE_HEIGHT at least 8,
  39.   # if you're using GAUGE_INSIDE_BORDER in Neo-Gauge
  40.   HPMP_GAUGE_X_PLUS = 0 # Move gauge horizontally (+,-)
  41.   HPMP_GAUGE_Y_PLUS = ((-1)*(HPMP_GAUGE_HEIGHT - 6)) # (+,-)
  42.   # Change '((-1)*(HPMP_GAUGE_HEIGHT - 6))' to number to move gauge vertically

  43.   # BACK GAUGE COLORS
  44.   BACK_GCOLOR_1 = Color.new(0, 0, 0) # Black [Color1]
  45.   BACK_GCOLOR_2 = Color.new(100, 100, 100) # Dark Gray [Color2]
  46.   BACK_GCOLOR_3 = Color.new(200, 200, 200) # Light Gray [Color3]

  47.   USE_HP_GAUGE = true # Use HP Gauge? (true/false)
  48.   USE_MP_GAUGE = true # Use MP Gauge?
  49.   USE_TP_GAUGE = true # Use TP Gauge?
  50.   USE_STATS_GAUGE = true # Use Attack/Defense/Spirit/Agility/Luck Gauge?

  51.   # HP GAUGE COLORS
  52.   HP_GCOLOR_1 = Color.new(139,0,0) # Dark Red
  53.   HP_GCOLOR_2 = Color.new(255,0,0) # Pure Red
  54.   HP_GCOLOR_3 = Color.new(255,193,37) # Goldenrod

  55.   # MP GAUGE COLORS
  56.   MP_GCOLOR_1 = Color.new(0,0,128) # Dark Blue
  57.   MP_GCOLOR_2 = Color.new(0,191,255) # Blue
  58.   MP_GCOLOR_3 = Color.new(46,139,87) # Light Green
  59.   
  60.   # TP GAUGE COLORS
  61.   TP_GCOLOR_1 = Color.new(0, 100, 0)  # Dark Green
  62.   TP_GCOLOR_2 = Color.new(191, 255, 0)  # Lime Green
  63.   TP_GCOLOR_3 = Color.new(173, 255, 47) # Yellow Green

  64.   # STAT GAUGE COLORS
  65.   STAT_GCOLOR_1 = Color.new(0,0,128)
  66.   STAT_GCOLOR_2 = Color.new(0,191,255)
  67.   STAT_GCOLOR_3 = Color.new(152,251,152)

  68. #===============================================================================
  69. #
  70. # END CONFIGURATION
  71. #
  72. #===============================================================================

  73. #==============================================================================
  74. # ■ Window_Base
  75. #------------------------------------------------------------------------------
  76. #  ゲーム中の全てのウィンドウのスーパークラスです。
  77. #==============================================================================
  78.   #--------------------------------------------------------------------------
  79.   # * Get Gauge Back Colours
  80.   #--------------------------------------------------------------------------
  81.   def neo_gauge_back_color
  82.     return BACK_GCOLOR_1, BACK_GCOLOR_2, BACK_GCOLOR_3
  83.   end
  84.   #--------------------------------------------------------------------------
  85. if USE_HP_GAUGE
  86.   #--------------------------------------------------------------------------
  87.   # * Draw Actor HP
  88.   #--------------------------------------------------------------------------
  89.   def draw_actor_hp(actor, x, y, width = 124)
  90.     gwidth = width * actor.hp / actor.mhp
  91.     cg = neo_gauge_back_color
  92.     c1, c2, c3 = cg[0], cg[1], cg[2]
  93.     draw_neo_gauge(x + HPMP_GAUGE_X_PLUS, y + line_height - 8 +
  94.       HPMP_GAUGE_Y_PLUS, width, HPMP_GAUGE_HEIGHT, c1, c2, c3)
  95.     (1..3).each {|i| eval("c#{i} = HP_GCOLOR_#{i}")}
  96.     draw_neo_gauge(x + HPMP_GAUGE_X_PLUS, y + line_height - 8 +
  97.       HPMP_GAUGE_Y_PLUS, gwidth, HPMP_GAUGE_HEIGHT, c1, c2, c3, false, false,
  98.       width, 30)
  99.     change_color(system_color)
  100.   end
  101.   #--------------------------------------------------------------------------
  102. end
  103. if USE_MP_GAUGE
  104.   #--------------------------------------------------------------------------
  105.   # * Draw Actor MP
  106.   #--------------------------------------------------------------------------
  107.   def draw_actor_mp(actor, x, y, width = 124)
  108.     gwidth = width * actor.mp / [actor.mmp, 1].max
  109.     cg = neo_gauge_back_color
  110.     c1, c2, c3 = cg[0], cg[1], cg[2]
  111.     draw_neo_gauge(x + HPMP_GAUGE_X_PLUS, y + line_height - 8 +
  112.       HPMP_GAUGE_Y_PLUS, width, HPMP_GAUGE_HEIGHT, c1, c2, c3)
  113.     (1..3).each {|i| eval("c#{i} = MP_GCOLOR_#{i}")}
  114.     draw_neo_gauge(x + HPMP_GAUGE_X_PLUS, y + line_height - 8 +
  115.       HPMP_GAUGE_Y_PLUS, gwidth, HPMP_GAUGE_HEIGHT, c1, c2, c3, false, false,
  116.       width, 40)
  117.     change_color(system_color)
  118.   end
  119.   #--------------------------------------------------------------------------
  120. end
  121. if USE_TP_GAUGE
  122.   #--------------------------------------------------------------------------
  123.   # * Draw Actor TP
  124.   #--------------------------------------------------------------------------
  125.   def draw_actor_tp(actor, x, y, width = 124)
  126.     gwidth = width * actor.tp / 100
  127.     cg = neo_gauge_back_color
  128.     c1, c2, c3 = cg[0], cg[1], cg[2]
  129.     draw_neo_gauge(x + HPMP_GAUGE_X_PLUS, y + line_height - 8 +
  130.       HPMP_GAUGE_Y_PLUS, width, HPMP_GAUGE_HEIGHT, c1, c2, c3)
  131.     (1..3).each {|i| eval("c#{i} = TP_GCOLOR_#{i}")}
  132.     draw_neo_gauge(x + HPMP_GAUGE_X_PLUS, y + line_height - 8 +
  133.       HPMP_GAUGE_Y_PLUS, gwidth, HPMP_GAUGE_HEIGHT, c1, c2, c3, false, false,
  134.       width, 40)
  135.     change_color(system_color)
  136.    
  137.     change_color(tp_color(actor))
  138.    
  139.   end
  140.   #--------------------------------------------------------------------------
  141. end
  142. if USE_STATS_GAUGE
  143.   #--------------------------------------------------------------------------
  144.   # * Draw Actor Stats
  145.   #--------------------------------------------------------------------------
  146.   def draw_actor_param(actor, x, y, param_id)
  147.     param_name = Vocab::param(param_id)
  148.     param_value = actor.param(param_id)
  149.     param_max = actor.neo_param_max(param_id)
  150.     width = 156
  151.     gwidth = width * param_value / [param_max, 1].max
  152.     cg = neo_gauge_back_color
  153.     draw_neo_gauge(x + HPMP_GAUGE_X_PLUS, y + line_height - 8 +
  154.       HPMP_GAUGE_Y_PLUS, width, HPMP_GAUGE_HEIGHT, cg[0], cg[1], cg[2])
  155.     c1, c2, c3 = STAT_GCOLOR_1, STAT_GCOLOR_2, STAT_GCOLOR_3
  156.     draw_neo_gauge(x + HPMP_GAUGE_X_PLUS, y + line_height - 8 +
  157.       HPMP_GAUGE_Y_PLUS, gwidth, HPMP_GAUGE_HEIGHT, c1, c2, c3, false, false,
  158.       width, 40)
  159.     change_color(system_color)
  160.    
  161.     change_color(normal_color)
  162.    
  163.   end
  164.   #--------------------------------------------------------------------------
  165. end
  166.   #--------------------------------------------------------------------------
  167.   # * Draw Neo Gauge
  168.   #     c1, c2, c3  : 3 Colours in the gradient
  169.   #     vert  : Whether the gauge is vertical or not.
  170.   #     outline   : Draw an outline of the gauge?
  171.   #     max_width : Maximum width the gauge can reach.
  172.   #     c2_spot   : Point where the second colour is drawn.
  173.   #--------------------------------------------------------------------------
  174.   def draw_neo_gauge(x, y, width, height, c1, c2, c3, vert = false,
  175.       outline = true, max_width = nil, c2_spot = 50)  
  176.     if max_width.nil? # Get Max Width
  177.       max_width = vert ? height : width
  178.     end
  179.     glow = GAUGE_GLOW_EFFECT
  180.     dx = x; dy = y
  181.     x = y = 0
  182.     bitmap = Bitmap.new(max_width, height)
  183.     if glow # If drawing glow
  184.       if outline  # If drawing outline
  185.         if vert; rect = Rect.new(x, y, width, max_width)  # Make vertical gauge
  186.         else; rect = Rect.new(x, y, max_width, height)  # Make horizontal gauge
  187.         end
  188.         bitmap.fill_rect(rect, GAUGE_GLOW_COLOR)  # Make glow
  189.         bitmap.neo_clear_corner(rect.x, rect.y, rect.width, rect.height) # Clear
  190.       else  # No outline
  191.         height -= 2; width -= 2; x += 1; y += 1
  192.         if GAUGE_INSIDE_BORDER
  193.           height -= 2; width -= 2; x += 1; y += 1
  194.         end
  195.       end
  196.     end
  197.   #--------------------------------------------------------------------------
  198.   # I'm not going to comment every line. There's a lot of stuff here. It may
  199.   # look daunting, but it's actually not that diffciult to get your head
  200.   # around. If you really want to figure this all out, just look at it a lot.
  201.   # Failing that, you could probably just ask a more experienced scripter or
  202.   # myself.
  203.   #--------------------------------------------------------------------------
  204.     if vert
  205.       if glow; gx = gx2 = x + 1; gy = y
  206.       else; gx = gx2 = x; gy = y
  207.       end
  208.       gy2 = gy - 1 + ((c2_spot * max_width) / 100)
  209.       gw = gw2 = width - 2; gh = ((c2_spot * max_width) / 100)
  210.       gh2 = max_width - gh - 2
  211.       bitmap.gradient_fill_rect(gx, gy, gw, gh, c1, c2, true)
  212.       bitmap.gradient_fill_rect(gx2, gy2, gw2, gh2, c2, c3, true)
  213.       gh = (gh + gh2)
  214.     else
  215.       if glow; gx = x; gy = gy2 = y
  216.         gx = x + 1; gy = gy2 = y + 1
  217.       else; gx = x; gy = gy2 = y
  218.       end
  219.       gx2 = gx - 1 + ((c2_spot *  max_width) / 100)
  220.       gw = ((c2_spot * max_width) / 100); gh = gh2 = (height - 2)
  221.       gw2 = max_width - gw - 2
  222.       bitmap.gradient_fill_rect(gx, gy, gw, gh, c1, c2)
  223.       bitmap.gradient_fill_rect(gx2, gy2, gw2, gh2, c2, c3)
  224.       gw = (gw + gw2)
  225.     end
  226.     if outline
  227.       if GAUGE_OUTSIDE_BORDER
  228.         bitmap.draw_neo_border(gx, gy, gw, gh, GAUGE_OUTSIDE_BORDER_COLOR,
  229.           GAUGE_OUTSIDE_BORDER_COLOR2)
  230.         if GAUGE_CLEAR_CORNER_OUTSIDE_BORDER
  231.           bitmap.neo_clear_corner(gx, gy, gw, gh)
  232.         end
  233.       end
  234.       if GAUGE_INSIDE_BORDER
  235.         gx += 1; gy += 1; gw -= 2; gh -= 2
  236.         bitmap.draw_neo_border(gx, gy, gw, gh, GAUGE_INSIDE_BORDER_COLOR,
  237.           GAUGE_INSIDE_BORDER_COLOR2)
  238.       end
  239.     end
  240.     rect = Rect.new(0, 0, width, bitmap.height)
  241.     self.contents.blt(dx, dy, bitmap, rect)
  242.     bitmap.dispose
  243.   end
  244. end

  245. #==============================================================================
  246. # ■ Bitmap
  247. #------------------------------------------------------------------------------
  248. #  かわいいですね。
  249. #==============================================================================

  250. class Bitmap
  251.   #--------------------------------------------------------------------------
  252.   # * Draw border of Neo Gauge
  253.   #--------------------------------------------------------------------------
  254.   def draw_neo_border(x, y, width, height, color, color2 = color, size = 1)
  255.     gradient_fill_rect(x, y, width, size, color, color2)
  256.     fill_rect(x, y, size, height, color)
  257.     fill_rect(x + width - size, y, size, height, color2)
  258.     gradient_fill_rect(x, y + height - size, width, size, color, color2)
  259.   end
  260.   #--------------------------------------------------------------------------
  261.   # * Clear Corner of Neo Gauge
  262.   #--------------------------------------------------------------------------
  263.   def neo_clear_corner(x, y, width, height, size = 1)
  264.     clear_rect(x, y, size, size)
  265.     clear_rect(x + width - size, y, size, size)
  266.     clear_rect(x, y + height - size, size, size)
  267.     clear_rect(x + width - size, y + height - size, size, size)
  268.   end
  269. end

  270. #==============================================================================
  271. # ■ Game_Battler
  272. #------------------------------------------------------------------------------
  273. #  スプライトや行動に関するメソッドを追加したバトラーのクラスです。このクラス
  274. # は Game_Actor クラスと Game_Enemy クラスのスーパークラスとして使用されます。
  275. #==============================================================================

  276. class Game_Battler < Game_BattlerBase
  277.   #--------------------------------------------------------------------------
  278.   # * Get class (simpler method)
  279.   #--------------------------------------------------------------------------
  280.   def klass
  281.     self.class if self.is_a?(Game_Actor)
  282.   end
  283.   #--------------------------------------------------------------------------
  284.   # * Get Neo Parameter Max
  285.   #--------------------------------------------------------------------------
  286.   def neo_param_max(param_id)
  287.     case param_id
  288.     when 2; maxatk
  289.     when 3; maxdef
  290.     when 4; maxspi
  291.     when 5; maxmdef
  292.     when 6; maxagi
  293.     when 7; maxluk
  294.     end
  295.   end
  296.   #--------------------------------------------------------------------------
  297.   # * Max attack
  298.   #--------------------------------------------------------------------------
  299.   def maxatk
  300.     n = atk
  301.     if self.is_a?(Game_Actor)
  302.       n = n - klass.params[2, @level] + klass.params[2, 99]
  303.     end
  304.     return n
  305.   end
  306.   #--------------------------------------------------------------------------
  307.   # * Max defense
  308.   #--------------------------------------------------------------------------
  309.   def maxdef
  310.     n = atk
  311.     if self.is_a?(Game_Actor)
  312.       n = n - klass.params[3, @level] + klass.params[3, 99]
  313.     end
  314.     return n
  315.   end
  316.   #--------------------------------------------------------------------------
  317.   # * Max magic
  318.   #--------------------------------------------------------------------------
  319.   def maxspi
  320.     n = atk
  321.     if self.is_a?(Game_Actor)
  322.       n = n - klass.params[4, @level] + klass.params[4, 99]
  323.     end
  324.     return n
  325.   end
  326.   #--------------------------------------------------------------------------
  327.   # * Max magic defense
  328.   #--------------------------------------------------------------------------
  329.   def maxmdef
  330.     n = atk
  331.     if self.is_a?(Game_Actor)
  332.       n = n - klass.params[5, @level] + klass.params[5, 99]
  333.     end
  334.     return n
  335.   end
  336.   #--------------------------------------------------------------------------
  337.   # * Max agility
  338.   #--------------------------------------------------------------------------
  339.   def maxagi
  340.     n = atk
  341.     if self.is_a?(Game_Actor)
  342.       n = n - klass.params[6, @level] + klass.params[6, 99]
  343.     end
  344.     return n
  345.   end
  346.   #--------------------------------------------------------------------------
  347.   # * Max luck
  348.   #--------------------------------------------------------------------------
  349.   def maxluk
  350.     n = atk
  351.     if self.is_a?(Game_Actor)
  352.       n = n - klass.params[7, @level] + klass.params[7, 99]
  353.     end
  354.     return n
  355.   end
  356. end

  357. $imported ||= {}
  358. $imported[:neo_gauge_ultimate]

  359. #===============================================================================
  360. #
  361. # END OF SCRIPT
  362. #
  363. #===============================================================================
复制代码
没有字的

评分

参与人数 1梦石 +1 收起 理由
taroxd + 1 认可答案

查看全部评分

神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-2-16 23:47

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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