VX 스크립트

메뉴
2009.02.20 11:44

CogWheelBars 시스템.

조회 수 4362 추천 수 1 댓글 13
Atachment
첨부 '1'

CogWheelBars.jpg
이런식으로 변경됩니다.
체력이 부족하면 빨간색 중간은 노르스름한. 풀이면 초록색.이렇게 나오죠.. 자주 쓰이는 시스템.
물론 저는 이거 안써요.^^;;  출처 : House Slasher


# ** COGWHEEL Style Menu Bars
#------------------------------------------------------------------------------
# by Syvkal
# Version 1.9
# 04-26-08
#==============================================================================
#
# USAGE:
#
# This system is Plug 'N' Play
# It has been made so it will work as soon as you put it in the Script Editor
#
# However, it has also been made so you can easily make your own bars
# To draw a bar use:
# draw_custom_gauge
#
# Followed by:
# (value, max, x, y, width, height, color1, color2, use_windowskin)
#
# Value - is the thing your bar is made to draw
# Max - is the max value of what your bar is made to draw
# x, y - are the x and y values
# width, height - are the width and height values
# use_windowskin - if set to true it will take the colours from the windowskin
# it is set to false if not specified
# Color1, Color2 - these are the two colours to be used for the gradient
# Specify with Color.new(r,g,b,a) to set a colour
# If use_windowskin is set, simply put the number of the
# colour you want to use from the windowskin
#
#==============================================================================

#=================================================#
# ** C O N F I G U R A T I O N ** #
#=================================================#

module COG
# Use built in RTP colors taken from the current system skin
USE_WINDOWSKIN = true
# Parameter Max Value
P_MAX = 500
# Gauge Border Colors
COLOR1 = Color.new(0, 0, 0, 192) # Outer Border
COLOR2 = Color.new(255, 255, 192, 192) # Inner Border
# Gauge Empty filler
COLOR3 = Color.new(0, 0, 0, 12) # Half of Inner Shading
COLOR4 = Color.new(64, 0, 0, 92) # Half of Inner Shading
end

#=================================================#

class Window_Base < Window
alias draw_actor_hp_gauge_original draw_actor_hp_gauge
def draw_actor_hp_gauge(actor, x, y, width = 120)
if actor.maxhp != 0
rate = actor.hp.to_f / actor.maxhp
else
rate = 0
end
if actor.maxhp != 0
gw = width * actor.hp / actor.maxhp
else
gw = 0
end
gc1 = Color.new(80 - 24 * rate, 80 * rate, 14 * rate, 192)
gc2 = Color.new(240 - 72 * rate, 240 * rate, 62 * rate, 192)
self.contents.fill_rect(x-2, y + WLH - 10, width+4, 10, COG::COLOR1)
self.contents.fill_rect(x-1, y + WLH - 9, width+2, 8, COG::COLOR2)
self.contents.gradient_fill_rect(x, y + WLH - 8, width, 6, COG::COLOR3, COG::COLOR4)
self.contents.gradient_fill_rect(x, y + WLH - 8, gw, 6, gc1, gc2)
end

alias draw_actor_mp_gauge_original draw_actor_mp_gauge
def draw_actor_mp_gauge(actor, x, y, width = 120)
if actor.maxmp != 0
rate = actor.mp.to_f / [actor.maxmp, 1].max
else
rate = 1
end
if actor.maxmp != 0
gw = width * actor.mp / [actor.maxmp, 1].max
else
gw = width
end
gc1 = Color.new(14 * rate, 80 - 24 * rate, 80 * rate, 192)
gc2 = Color.new(62 * rate, 240 - 72 * rate, 240 * rate, 192)
self.contents.fill_rect(x-2, y + WLH - 10, width+4, 10, COG::COLOR1)
self.contents.fill_rect(x-1, y + WLH - 9, width+2, 8, COG::COLOR2)
self.contents.gradient_fill_rect(x, y + WLH - 8, width, 6, COG::COLOR3, COG::COLOR4)
self.contents.gradient_fill_rect(x, y + WLH - 8, gw, 6, gc1, gc2)
end

alias draw_actor_parameter_original draw_actor_parameter
def draw_actor_parameter(actor, x, y, type)
draw_actor_parameter_gauge(actor, x, y, type)
draw_actor_parameter_original(actor, x, y, type)
end

def draw_actor_parameter_gauge(actor, x, y, type)
case type
when 0
e1 = actor.atk
COG::USE_WINDOWSKIN ? gc1 = text_color(20) : gc1 = Color.new(253, 53, 56, 192)
COG::USE_WINDOWSKIN ? gc2 = text_color(2) : gc2 = Color.new(242, 74, 6, 192)
when 1
e1 = actor.def
COG::USE_WINDOWSKIN ? gc1 = text_color(21) : gc1 = Color.new(238, 254, 124, 192)
COG::USE_WINDOWSKIN ? gc2 = text_color(17) : gc2 = Color.new(228, 253, 48, 192)
when 2
e1 = actor.spi
COG::USE_WINDOWSKIN ? gc1 = text_color(31) : gc1 = Color.new(119, 203, 254, 192)
COG::USE_WINDOWSKIN ? gc2 = text_color(30) : gc2 = Color.new(8, 160, 253, 192)
when 3
e1 = actor.agi
COG::USE_WINDOWSKIN ? gc1 = text_color(4) : gc1 = Color.new(124, 254, 155, 192)
COG::USE_WINDOWSKIN ? gc2 = text_color(12) : gc2 = Color.new(33, 253, 86, 192)
end
# Calculate Bar Gradiation
e2 = COG::P_MAX
if e1.to_f >= e2.to_f
rate = 1
elsif e1.to_f != 0
rate = e1.to_f / e2.to_f
else
rate = 1
end
# Adjust Bar Color based on Gradiation & Parameter Type
for i in 0..3
r = gc2.red * rate
g = (gc2.green - 72) * rate
b = gc2.blue * rate
a = gc2.alpha
end
# Calculate Bar Width
width = 168
if e1.to_f >= e2.to_f
par = width
elsif e1.to_f != 0
par = width * e1.to_f / e2.to_f
else
par = width
end
self.contents.fill_rect(x-2, y + WLH - 10, width+4, 10, COG::COLOR1)
self.contents.fill_rect(x-1, y + WLH - 9, width+2, 8, COG::COLOR2)
self.contents.gradient_fill_rect(x, y + WLH - 8, width, 6, COG::COLOR3, COG::COLOR4)
self.contents.gradient_fill_rect(x, y + WLH - 8, par, 6, Color.new(r, g, b, a), gc1)
end


def draw_custom_gauge(value, max, x, y, width, height, color1, color2, use_windowskin = false)
if value.to_f >= max.to_f
rate = 1
elsif value.to_f != 0
rate = value.to_f / max.to_f
else
rate = 1
end
use_windowskin ? gc1 = text_color(color1) : gc1 = color1
use_windowskin ? gc2 = text_color(color2) : gc2 = color2
r = gc2.red * rate
g = (gc2.green - 72) * rate
b = gc2.blue * rate
a = gc2.alpha
if value.to_f >= max.to_f
custom = width
elsif value.to_f != 0
custom = width * value.to_f / max.to_f
else
custom = width
end
self.contents.fill_rect(x-2, y + WLH - 10, width+4, height+4, COG::COLOR1)
self.contents.fill_rect(x-1, y + WLH - 9, width+2, height+2, COG::COLOR2)
self.contents.gradient_fill_rect(x, y + WLH - 8, width, height, COG::COLOR3, COG::COLOR4)
self.contents.gradient_fill_rect(x, y + WLH - 8, custom, height, gc1, Color.new(r, g, b, a))
end
end


class Window_SkillStatus < Window_Base
alias refresh_original refresh
def refresh
draw_actor_name(@actor, 4, 0)
draw_actor_level(@actor, 140, 0)
draw_actor_hp(@actor, 238, 0)
draw_actor_mp(@actor, 390, 0)
end
end

Comment '13'
  • ?
    나렌시아 2009.02.20 11:46
    스크립트를 안쓰심에도 불구하고 많은 스크립트를 구하시네요

    혹시 스크립트 수집가신가 ≡ㅅ≡ .. ??
  • ?
    할렘 2009.02.20 11:54
    뭐랄까...스크립터로써..아 이사람은 이렇게 짰구나..하면서 보는재미도 있고..흥미있는 스크립트를 모으기도 하는데...
    스크립트 수집가인가...흠...생각해보겠습니다.저의 자아에대해서..ㄷㄷ;;
  • ?
    닭장군 2009.04.07 17:57
    이거 괜찮네요 ㅎㅎ.
  • ?
    초록불빛 2009.05.24 18:29

    오옷 감사합니당~!

  • ?
    줄리안 2009.06.26 20:49

    파일이 없다고 나오는데 그 파일은 어디에...?

  • ?
    mymy 2009.11.14 19:32

    와우 굿인데요?ㄳㄳ

  • ?
    이렐 2010.02.20 22:54

    잘쓰겠습니다~~

  • profile
    Ravenwild 2010.07.08 13:53

    감사합니다!

  • ?
    ijsh515 2010.07.09 22:45

    와웅 감사요 ㅎㅎ

  • ?
    따메츠나 2010.07.25 18:00

    우옷 간지!! 잘쓰겠씁니다

  • ?
    따메츠나 2010.07.25 18:09

    아포인트 ㅜㅡ

  • ?
    봉시기 2010.07.26 05:13

    잘쓸께여

  • ?
    블랙로즈 2013.06.12 21:40
    잘 썼습니다. 좋아요. 아주 좋아요.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 3 습작 2012.12.24 5408
24 메뉴 [자작]명성치 사용 시스템(메뉴 출력) 16 Rainsy 2009.03.22 4361
23 메뉴 몬스터도감 Tankentai사이드뷰에 작동하도록 수정 13 카르와푸딩의아틀리에 2009.05.22 3775
22 메뉴 시스템 옵션 스크립트의 사용방법 6 아방스 2009.06.04 2834
21 메뉴 스테이터스 화면 개조 - 커스텀 버전 13 file 훈덕 2009.06.15 4932
20 메뉴 전투승리시 아이템 경험치팝업창 스크립트 18 file 카르와푸딩의아틀리에 2009.06.23 3760
19 메뉴 몬스터도감 심플버전! 52 file 카르와푸딩의아틀리에 2009.06.30 6907
18 메뉴 전투 결과 팝업 스크립트 12 file 카르와푸딩의아틀리에 2009.06.30 3381
17 메뉴 전투결과 상세 표시 스크립트 24 file 카르와푸딩의아틀리에 2009.07.07 4143
16 메뉴 확장 스테이터스 화면 - KGC 23 file 카르와푸딩의아틀리에 2009.08.19 5057
15 메뉴 YERD - 시스템 옵션 5 file 훈덕 2009.11.08 3136
14 메뉴 YERD - 커먼 이벤트 메뉴 4 file 훈덕 2009.11.08 3850
13 메뉴 전투 결과 상세 표시 스크립트 (한글화) 15 file 강진수 2010.02.26 3344
12 메뉴 윈도우 색변경 스크립트 7 file 비극ㆍ 2010.03.01 2598
11 메뉴 몬스터도감(유즈미짱님의엘카르디아같은종류) 1 작은샛별 2010.03.07 4201
10 메뉴 Final Fantasy VII Menu System 8 비극ㆍ 2010.04.19 3506
9 메뉴 매우 간단명료한 메뉴. 32 file 비극ㆍ 2010.04.23 6619
8 메뉴 스타일 크로노 트리거 메뉴 31 file 콩밥 2010.07.19 4536
7 메뉴 자작 메뉴 스크립트 for VX(L's Simple Custom Menu VX ver.) 5 Alkaid 2010.09.02 4705
6 메뉴 kgc 파라미터 배분 09/07/25 13 시트르산 2010.09.24 2327
5 메뉴 기본메인 메뉴 아이콘 추가 10 아방스 2010.12.11 4573
Board Pagination Prev 1 2 3 Next
/ 3