Ogłoszenie 

Uwaga! To forum jest w trybie offline.
Wszelką pomoc uzyskasz pod adresem
forum.ultimateam.pl


Administracja Forum


Poprzedni temat «» Następny temat
Celianna's Custom HUD
Autor Wiadomość
Loki 




Preferowany:
RPG Maker VX

Pomógł: 12 razy
Dołączył: 25 Kwi 2012
Posty: 162
Wysłany: Czw 19 Lip, 2012 13:05
Celianna's Custom HUD
~ Celianna's Custom HUD ~


Krótki opis:
Hud który pokazuje życie (HP), manę (MP), Lv i imię bohatera w 1 i 2 hudzie. W 3 pokazuje samo życie i manę.

Autor:
BigEd781 i Celianna

Kompatybilność:
RPG Maker VX

Dodatkowe informacje:
Nowoczesny HUD:


Demo

Gwiezdny HUD:


Demo

Munkis HUD:


Demo
 
 
tracersgta 




Preferowany:
RPG Maker VX

Pomógł: 45 razy
Dołączył: 10 Sty 2011
Posty: 612
Skąd: mam wiedzieć?
Wysłany: Czw 19 Lip, 2012 13:22
Super! Dwa pierwsze podobają mi się najbardziej. Oby więcej takich materiałów :-D
________________________
I'm a tiger! I roar. I hunt, I climb, I eat, I wash, I sleep!

Gość, jeżeli pomogłem daj "Pomógł" ;-)
 
 
 
Konrad112 




Preferowany:
RPG Maker XP

Pomógł: 2 razy
Dołączył: 18 Gru 2011
Posty: 32
Skąd: Stargard Szczeciński
Wysłany: Czw 19 Lip, 2012 21:47
Celianna's Custom HUD
To jest po prostu wspaniałe! Munkis HUD najfajniejszy. :dzieki:
 
 
 
tracersgta 




Preferowany:
RPG Maker VX

Pomógł: 45 razy
Dołączył: 10 Sty 2011
Posty: 612
Skąd: mam wiedzieć?
Wysłany: Pią 20 Lip, 2012 08:15
Eee... W demie HUD'a nowoczesnego są tylko zdjęcia, a skryptu, ani dema nie ma :shock:
________________________
I'm a tiger! I roar. I hunt, I climb, I eat, I wash, I sleep!

Gość, jeżeli pomogłem daj "Pomógł" ;-)
 
 
 
Loki 




Preferowany:
RPG Maker VX

Pomógł: 12 razy
Dołączył: 25 Kwi 2012
Posty: 162
Wysłany: Pią 20 Lip, 2012 10:06
Sorka za niedopatrzenie, znalazłem skrypt oto on: (ten skrypt powinien działać też do innych które dodałem)

Skrypt
 
 
CrasheR 




Pomógł: 123 razy
Dołączył: 20 Gru 2010
Posty: 609
Skąd: Nibelheim
Wysłany: Pią 20 Lip, 2012 10:18
Ten Munkis HUD jest trochę taki Diablowaty ^^
________________________



 
 
 
INRE 




Preferowany:
RPG Maker VX

Ranga RM:
1 gra

Pomógł: 1 raz
Dołączył: 03 Sie 2010
Posty: 45
Wysłany: Nie 22 Lip, 2012 13:02
Wyglądają ładnie. Munkis faktycznie trochę jak z Diablo. :-D
Mam taką prośbę. Czy mógłby wrzucić cały skrypt na UF?
Na rpgmakervx.net coś nie tak z moim kontem. :cry:
________________________

 
 
CrasheR 




Pomógł: 123 razy
Dołączył: 20 Gru 2010
Posty: 609
Skąd: Nibelheim
Wysłany: Nie 22 Lip, 2012 13:21
Cytat:
rpgmakervx.net


Przecież masz w pierwszym poście wszystkie dema.
________________________



 
 
 
INRE 




Preferowany:
RPG Maker VX

Ranga RM:
1 gra

Pomógł: 1 raz
Dołączył: 03 Sie 2010
Posty: 45
Wysłany: Nie 22 Lip, 2012 15:56
Pobrałem wszystkie i w każdym są tylko grafiki.
Nic więcej
________________________

 
 
Loki 




Preferowany:
RPG Maker VX

Pomógł: 12 razy
Dołączył: 25 Kwi 2012
Posty: 162
Wysłany: Nie 22 Lip, 2012 16:28
W demie są tylko grafiki a sam skrypt powinieneś skopiować z linku który dałem w 4 komentarzu, a jak masz problemy z logowaniem na rpgmakervx.net to spróbuj to:
Spoiler:

#--------------------------------------------------------------------
# A list of colors that you may use to configure the font and gauge
# colors in the config section. Simply replace the last part of each
# statement, i.e., the part in the brackets <> below:
#
# Colors::<White>
#--------------------------------------------------------------------
# Continue below for the configuration section
#--------------------------------------------------------------------
# * Revisions
# 10/10/09 - Creation
# 10/19/09 - Added show_hud command.
# Added visibility options by switch, map name, or leader
# 11/05/09 - Added fadout option
# 11/08/09 - Fixed bug caused by stale event listeners
#--------------------------------------------------------------------
# * Basic Commands
#--------------------------------------------------------------------
# * You can force the HUD to hide by using the "Script..."
# event command with this text:
#
# $scene.hide_hud
#
# You can show the hud once again by using this line:
#
# $scene_show_hud
#--------------------------------------------------------------------
module Colors

AliceBlue = Color.new(240,248,255)
AntiquaWhite = Color.new(250,235,215)
Aqua = Color.new(0,255,255)
Aquamarine = Color.new(127,255,212)
Azure = Color.new(240,255,255)
Beige = Color.new(245,245,220)
Bisque = Color.new(255,228,196)
Black = Color.new(0,0,0)
BlanchedAlmond = Color.new(255,255,205)
Blue = Color.new(0,0,255)
BlueViolet = Color.new(138,43,226)
Brown = Color.new(165,42,42)
BurlyWood = Color.new(222,184,135)
CadetBlue = Color.new(95,158,160)
Chartreuse = Color.new(127,255,0)
Chocolate = Color.new(210,105,30)
Coral = Color.new(255,127,80)
CornFlowerBlue = Color.new(100,149,237)
Cornsilk = Color.new(255,248,220)
Crimson = Color.new(220,20,60)
Cyan = Color.new(0,255,255)
DarkBlue = Color.new(0,0,139)
DarkCyan = Color.new(0,139,139)
DarkGoldenrod = Color.new(184,134,11)
DarkGray = Color.new(169,169,169)
DarkGreen = Color.new(0,100,0)
DarkKhaki= Color.new(189,183,107)
DarkMagenta = Color.new(139,0,139)
DarkOliveGreen = Color.new(85,107,47)
DarkOrange = Color.new(255,140,0)
DarkRed = Color.new(139,0,0)
DarkSalmon = Color.new(233,150,122)
DarkSeaGreen = Color.new(143,188,143)
DarkSlateBlue = Color.new(72,61,139)
DarkSlateGray = Color.new(40,79,79)
DarkTurquoise = Color.new(0,206,209)
DarkViolet = Color.new(148,0,211)
DeepPink = Color.new(255,20,147)
DeepSkyBlue = Color.new(0,191,255)
DimGray = Color.new(105,105,105)
DodgerBlue = Color.new(30,144,255)
FireBrick = Color.new(178,34,34)
FloralWhite = Color.new(255,255,240)
ForestGreen = Color.new(34,139,34)
Fuschia = Color.new(255,0,255)
Gainsboro = Color.new(220,220,220)
GhostWhite = Color.new(248,248,255)
Gold = Color.new(255,215,0)
Goldenrod = Color.new(218,165,32)
Gray = Color.new(128,128,128)
Green = Color.new(0,128,0)
GreenYellow = Color.new(173,255,47)
Honeydew = Color.new(240,255,240)
HotPink = Color.new(255,105,180)
IndianRed = Color.new(205,92,92)
Indigo = Color.new(75,0,130)
Ivory = Color.new(255,240,240)
Khaki = Color.new(240,230,140)
Lavender = Color.new(230,230,250)
LavenderBlush = Color.new(255,240,245)
LawnGreen = Color.new(124,252,0)
LemonChiffon = Color.new(255,250,205)
LightBlue = Color.new(173,216,230)
LightCoral = Color.new(240,128,128)
LightCyan = Color.new(224,255,255)
LightGoldenrodYellow = Color.new(250,250,210)
LightGreen = Color.new(144,238,144)
LightGray = Color.new(211,211,211)
LightPink = Color.new(255,182,193)
LightSalmon = Color.new(255,160,122)
LightSeaGreen = Color.new(32,178,170)
LightSkyBlue = Color.new(135,206,250)
LightSlateGray = Color.new(119,136,153)
LightSteelBlue = Color.new(176,196,222)
LightYellow = Color.new(255,255,224)
Lime = Color.new(0,255,0)
LimeGreen = Color.new(50,205,50)
Linen = Color.new(250,240,230)
Magenta = Color.new(255,0,255)
Maroon = Color.new(128,0,0)
MediumAquamarine = Color.new(102,205,170)
MediumBlue = Color.new(0,0,205)
MediumOrchid = Color.new(186,85,211)
MediumPurple = Color.new(147,112,219)
MediumSeaGreen = Color.new(60,179,113)
MediumSlateBlue = Color.new(123,104,238)
MediumSpringGreen = Color.new(0,250,154)
MediumTurquoise = Color.new(72,209,204)
MediumVioletRed = Color.new(199,21,112)
MidnightBlue = Color.new(25,25,112)
MintCream = Color.new(245,255,250)
MistyRose = Color.new(255,228,225)
Moccasin = Color.new(255,228,181)
NavajoWhite = Color.new(255,222,173)
Navy = Color.new(0,0,128)
OldLace = Color.new(253,245,230)
Olive = Color.new(128,128,0)
OliveDrab = Color.new(107,142,45)
Orange = Color.new(255,165,0)
OrangeRed = Color.new(255,69,0)
Orchid = Color.new(218,112,214)
PaleGoldenRod = Color.new(238,232,170)
PaleGreen = Color.new(152,251,152)
PaleTurquoise = Color.new(175,238,238)
PaleVioletRed = Color.new(219,112,147)
PapayaWhip = Color.new(255,239,213)
PeachPuff = Color.new(255,218,155)
Peru = Color.new(205,133,63)
Pink = Color.new(255,192,203)
Plum = Color.new(221,160,221)
PowderBlue = Color.new(176,224,230)
Purple = Color.new(128,0,128)
Red = Color.new(255,0,0)
RosyBrown = Color.new(188,143,143)
RoyalBlue = Color.new(65,105,225)
SaddleBrown = Color.new(139,69,19)
Salmon = Color.new(250,128,114)
SandyBrown = Color.new(244,164,96)
SeaGreen = Color.new(46,139,87)
Seashell = Color.new(255,245,238)
Sienna = Color.new(160,82,45)
Silver = Color.new(192,192,192)
SkyBlue = Color.new(135,206,235)
SlateBlue = Color.new(106,90,205)
SlateGray = Color.new(112,128,144)
Snow = Color.new(255,250,250)
SpringGreen = Color.new(0,255,127)
SteelBlue = Color.new(70,130,180)
Tan = Color.new(210,180,140)
Teal = Color.new(0,128,128)
Thistle = Color.new(216,191,216)
Tomato = Color.new(253,99,71)
Turquoise = Color.new(64,244,208)
Violet = Color.new(238,130,238)
Wheat = Color.new(245,222,179)
White = Color.new(255,255,255)
WhiteSmoke = Color.new(245,245,245)
Yellow = Color.new(255,255,0)
YellowGreen = Color.new(154,205,50)

GaugeGreen = Color.new(202,241,126)
GaugeBlue = Color.new(137,222,254)

end

#--------------------------------------------------------------------
# do not touch this
class Point
attr_reader :x
attr_reader :y
def initialize(x, y)
@x, @y = x, y
end
def to_a
[@x, @y]
end
end
# or this
class ScrollDirection
Left = 0
Right = 1
end
#--------------------------------------------------------------------

#--------------------------------------------------------------------
# * Configuration Section
#--------------------------------------------------------------------
module HudConfig

# The actor id of the main character in your game.
# This will be the character in the main hud window.
PLAYER_ID = 1

# if this is set to 'true' the HUD will go opaque.
# when the player is walking.
TRANSPARENT_WHEN_MOVING = true
# this is the minimum opacity value reached while walking.
# this should be a value between 0 and 255.
TRANSPARENCY_WHEN_MOVING = 64
# this value determines how fast the HUD will fade out and in.
# this is in incremenets per frame (60 frames per second).
TRANSPARENCY_SWITCH_SPEED = 2

# If this switch is 'ON' the hud will not appear at all.
# Set this to 'nil' to disable the feature completely
NO_SHOW_SWITCH = nil

# If this text is found in a map name the hud will
# be disabled for that map at all times. This text
# will be removed from the map name proper in case
# you are using a map name script or somethin like that.
NO_SHOW_TEXT = 'hud no show'

# Display an empty hud if there is no party leader?
SHOW_IF_NO_LEADER = false

# Name of the player (main character) hud graphic
PLAYER_HUD_IMAGE_NAME = 'player_hud'
# Use the gren and blue mp/hp gauges?
# You may use your own graphics, but they must
# adhere to the same format as the originals, i.e.,
#
# hud_bar_hp_000.png
#
# Where the '000' part is a multiple of five, from 0-100.
PLAYER_USE_CUSTOM_GAUGE = true

# The physical location of the hud sprite.
# All of the other graphic locations are relative to this one.
PLAYER_HUD_LOC = Point.new(0, 0)
# The relative location of the hud image to the hud sprite.
PLAYER_HUD_IMAGE_LOCATION = Point.new(0, 0)

# The starting location of each peice of the HP gauge.
PLAYER_HP_GAUGE_LOCATION = Point.new(0, 0)
# the starting location of each peice of the MP gauge.
PLAYER_MP_GAUGE_LOCATION = Point.new(0, 0)

SHOW_PLAYER_FACE_IMAGE = true
# The location of the face graphic.
FACE_LOCATION = Point.new(35, 0)

# Show all party members? (THESE FEATURES ARE NOT YET IMPLEMENTED)
USE_MEMBER_WINDOW = true
MEMBER_HUD_IMAGE_NAME = 'member_hud'
MEMBER_USE_CUSTOM_GAUGE = false

# Allow the player to hide the HUD by pressing a button?
ALLOW_HUD_HIDE = true
# The button which will trigger a hud move.
HIDE_HUD_INPUT = Input::X
# The speed at which to move the hud.
HUD_HIDE_SPEED = 7
# replace "Left" with "Right" below to change the scroll direction
HUD_SCROLL_DIRECTION = ScrollDirection::Left

# Global values which are convenient for setting
# multiple values to the same thing.
GLOBAL_FONT_NAME = ['Magneto', 'Consolas', 'Verdana', 'Ariel', 'Courier New']
GLOBAL_PLAYER_FONT_SIZE = 22
GLOBAL_MEMBER_FONT_SIZE = 22

SHOW_PLAYER_NAME = true
# The rest of the settings deal with setting the
# location and style of the text displayed in the HDU
PLAYER_NAME_FONT = GLOBAL_FONT_NAME
PLAYER_NAME_COLOR = Colors::Silver
PLAYER_NAME_USE_ITALICS = false
PLAYER_NAME_USE_BOLD = false
PLAYER_NAME_USE_SHADOW = true
PLAYER_NAME_FONT_SIZE = 20
PLAYER_NAME_LOCATION = Point.new(125,0)
PLAYER_NAME_WIDTH = 90
PLAYER_NAME_HEIGHT = 22

MEMBER_NAME_FONT = GLOBAL_FONT_NAME
MEMBER_NAME_COLOR = Colors::White
MEMBER_NAME_FONT_SIZE = GLOBAL_MEMBER_FONT_SIZE
MEMBER_NAME_LOCATION = Point.new(0,0)

USE_HP_TEXT_DISPLAY = true
PLAYER_HP_FONT = ['Consolas', 'Verdana', 'Ariel', 'Courier New']
PLAYER_FULL_HP_COLOR = Colors::GaugeGreen
PLAYER_HP_FONT_USE_ITALICS = false
PLAYER_HP_FONT_USE_BOLD = true
PLAYER_HP_FONT_USE_SHADOW = true
PLAYER_HP_FONT_SIZE = 14
PLAYER_HP_LOCATION = Point.new(130,66)
PLAYER_HP_WIDTH = 76
PLAYER_HP_HEIGHT = 11

MEMBER_HP_FONT = GLOBAL_FONT_NAME
MEMBER_HP_FONT_SIZE = GLOBAL_MEMBER_FONT_SIZE
MEMBER_HP_LOCATION = Point.new(0,0)

USE_MP_TEXT_DISPLAY = USE_HP_TEXT_DISPLAY
PLAYER_MP_FONT = PLAYER_HP_FONT
PLAYER_FULL_MP_COLOR = Colors::GaugeBlue
PLAYER_MP_FONT_USE_ITALICS = PLAYER_HP_FONT_USE_ITALICS
PLAYER_MP_FONT_USE_BOLD = PLAYER_HP_FONT_USE_BOLD
PLAYER_MP_FONT_USE_SHADOW = PLAYER_HP_FONT_USE_SHADOW
PLAYER_MP_FONT_SIZE = PLAYER_HP_FONT_SIZE
PLAYER_MP_LOCATION = Point.new(PLAYER_HP_LOCATION.x, PLAYER_HP_LOCATION.y + PLAYER_HP_HEIGHT + 1)
PLAYER_MP_WIDTH = PLAYER_HP_WIDTH
PLAYER_MP_HEIGHT = PLAYER_HP_HEIGHT

MEMBER_MP_FONT = GLOBAL_FONT_NAME
MEMBER_MP_FONT_SIZE = GLOBAL_MEMBER_FONT_SIZE
MEMBER_MP_LOCATION = Point.new(0,0)

SHOW_PLAYER_LEVEL = true
PLAYER_LEVEL_FONT = GLOBAL_FONT_NAME
PLAYER_LEVEL_COLOR = Colors::Gold
PLAYER_LEVEL_USE_ITALICS = false
PLAYER_LEVEL_USE_BOLD = false
PLAYER_LEVEL_USE_SHADOW = true
PLAYER_LEVEL_FONT_SIZE = 18
PLAYER_LEVEL_LOCATION = Point.new(136,24)
PLAYER_LEVEL_WIDTH = 36
PLAYER_LEVEL_HEIGHT = 35

MEMBER_LEVEL_FONT = GLOBAL_FONT_NAME
MEMBER_LEVEL_COLOR = PLAYER_LEVEL_COLOR
MEMBER_LEVEL_FONT_SIZE = 10
MEMBER_LEVEL_LOCATION = Point.new(0,0)

#-------
# don't change the values below unless you know what you are doing.

# Shows above the map and below the message window by default
PLAYER_HUD_Z = 199

# The text format used for gauage images.
HEALTH_GAUGE_FORMAT = 'hud_bar_%s_%.3d'

# the name of the image file used as a mask for the face graphic
PLAYER_FACE_MASK_NAME = 'player_face_mask'

end

class EventHandler

def initialize
@client_map = {}
end

def add_listener(id, func)
(@client_map[id.hash] ||= []) << func
end

def remove_listener(id)
return @client_map.delete(id.hash)
end

def alert_listeners(*args)
@client_map.each_value { |v| v.each { |func| func.call(*args) } }
end

def dispose
@client_map = nil
end

end

class Game_Actor < Game_Battler

attr_reader :hp_changed
attr_reader :mp_changed
attr_reader :maxhp_changed
attr_reader :maxmp_changed

alias :pre_confhud_ga_init :initialize unless $@
def initialize(*args)
@hp_changed = EventHandler.new
@mp_changed = EventHandler.new
@maxhp_changed = EventHandler.new
@maxmp_changed = EventHandler.new
pre_confhud_ga_init(*args)
end

def on_hp_changed(*args)
@hp_changed.alert_listeners(*args)
end

def on_mp_changed(*args)
@mp_changed.alert_listeners(*args)
end

def on_maxhp_changed(*args)
@maxhp_changed.alert_listeners(*args)
end

def on_maxmp_changed(*args)
@maxmp_changed.alert_listeners(*args)
end

alias :pre_confhud_ga_hpequ :hp= unless $@
def hp=(*args)
temp = @hp
pre_confhud_ga_hpequ(*args)
on_hp_changed(@hp) unless temp == @hp
end

alias :pre_confhud_ga_maxhpequ :maxhp= unless $@
def maxhp=(*args)
temp = self.maxhp
pre_confhud_ga_maxhpequ(*args)
cur_max = self.maxhp
on_maxhp_changed(cur_max) unless temp == cur_max
end

alias :pre_confhud_ga_mpequ :mp= unless $@
def mp=(*args)
temp = @mp
pre_confhud_ga_mpequ(*args)
on_mp_changed(@mp) unless temp == @mp
end

alias :pre_confhud_ga_maxmpequ :maxmp= unless $@
def maxmp=(*args)
temp = self.maxmp
pre_confhud_ga_maxmpequ(*args)
cur_max = self.maxmp
on_maxmp_changed(cur_max) unless temp == cur_max
end

alias :pre_confhud_ga_recover_all :recover_all unless $@
def recover_all(*args)
temp_hp, temp_mp = @hp, @mp
pre_confhud_ga_recover_all(*args)
on_hp_changed if temp_hp != @hp
on_mp_changed if temp_mp != @mp
end

end

class Game_Party

attr_reader :party_leader_changed

alias :pre_confhud_gp_init :initialize
def initialize(*args)
pre_confhud_gp_init(*args)
@party_leader_changed = EventHandler.new
end

def on_party_leader_changed(*args)
party_leader_changed.alert_listeners(*args)
end

alias :pre_confhud_gp_add_actor :add_actor
def add_actor(*args)
leader = $game_party.members.first
pre_confhud_gp_add_actor(*args)
on_party_leader_changed unless leader == $game_party.members.first
end

alias :pre_confhud_gp_remove_actor :remove_actor
def remove_actor(*args)
leader = $game_party.members.first
pre_confhud_gp_remove_actor(*args)
on_party_leader_changed unless leader == $game_party.members.first
end

end

class Game_Player < Game_Character

attr_reader :move_begun
attr_reader :move_end

alias :pre_confhud_gp_init :initialize
def initialize(*args)
@move_begun = EventHandler.new
@move_end = EventHandler.new
@move_started = false
pre_confhud_gp_init(*args)
end

def on_move_begun
@move_started = true
@move_begun.alert_listeners
end

def on_move_end
@move_started = false
@move_end.alert_listeners
end

alias :pre_confhud_gp_update :update
def update
on_move_end if !moving? && @move_started
pre_confhud_gp_update
end

alias :pre_conf_hud_gp_move_d :move_down
def move_down(*args)
on_move_begun if passable?(@x, @y + 1)
pre_conf_hud_gp_move_d(*args)
end

alias :pre_conf_hud_gp_move_l :move_left
def move_left(*args)
on_move_begun if passable?(@x - 1, @y)
pre_conf_hud_gp_move_l(*args)
end

alias :pre_conf_hud_gp_move_u :move_up
def move_up(*args)
on_move_begun if passable?(@x, @y - 1)
pre_conf_hud_gp_move_u(*args)
end

alias :pre_conf_hud_gp_move_r :move_right
def move_right(*args)
on_move_begun if passable?(@x + 1, @y)
pre_conf_hud_gp_move_r(*args)
end

end

class Window_Base < Window

alias :pre_confhud_wb_hp_color :hp_color unless $@
def hp_color(actor, for_hud=false)
return HudConfig::PLAYER_FULL_HP_COLOR if for_hud && actor.hp == actor.maxhp
return pre_confhud_wb_hp_color(actor)
end

alias :pre_confhud_wb_mp_color :mp_color unless $@
def mp_color(actor, for_hud=false)
return HudConfig::PLAYER_FULL_MP_COLOR if for_hud && actor.mp == actor.maxmp
return pre_confhud_wb_mp_color(actor)
end

end

class MainHud < Sprite_Base
include HudConfig

WLH = Window_Base::WLH

attr_accessor :actor

def initialize(location, viewport=nil, actor=nil, visible=true)
$game_player.move_begun.add_listener(self, lambda { player_begin_move })
$game_player.move_end.add_listener(self, lambda { player_end_move })
@hud_visible = visible
@new_opacity = 255
super(viewport)
self.bitmap = Bitmap.new(Graphics.width, Graphics.height)
self.x, self.y = location.x, location.y
self.actor = actor
end

def player_end_move
@new_opacity = 255
end

def player_begin_move
@new_opacity = TRANSPARENCY_WHEN_MOVING
end

def update
if TRANSPARENT_WHEN_MOVING && self.opacity != @new_opacity
incr = TRANSPARENCY_SWITCH_SPEED
if @new_opacity < self.opacity
new_opacity = [self.opacity - incr, @new_opacity].max
else
new_opacity = [self.opacity + incr, @new_opacity].min
end
self.opacity = new_opacity
end
super
end

def actor=(value)
# allow nil values to cause a refresh so that the hud
# is painted at all times, even when there are no party members.
return if @actor == value unless value.nil?
remove_listeners(@actor)
add_listeners(value)
@actor = value
create_player_face_image
refresh
end

def hud_visible?
@hud_visible
end

def hud_visible=(value)
if @hud_visible != value
@hud_visible = value
refresh
end
end

def image_rect
ret = hud_image.rect
ret.x, ret.y = *PLAYER_HUD_LOC.to_a
return ret
end

def create_dummy_window
win = Window_Base.new(0, 0, 64, 64)
win.visible = false
return win
end

# Stupid hack to get standard text colors because
# I did not feel like copy & pasting those methods.
def hp_color
return (@window ||= create_dummy_window).hp_color(@actor, true)
end

def mp_color
return (@window ||= create_dummy_window).mp_color(@actor, true)
end

def hud_image
return Cache.picture(PLAYER_HUD_IMAGE_NAME)
end

def hud_location
return PLAYER_HUD_IMAGE_LOCATION
end

def hp_gauge_location
return PLAYER_HP_GAUGE_LOCATION
end

def mp_gauge_location
return PLAYER_MP_GAUGE_LOCATION
end

def name_draw_rect
return Rect.new(
PLAYER_NAME_LOCATION.x,
PLAYER_NAME_LOCATION.y,
PLAYER_NAME_WIDTH,
PLAYER_NAME_HEIGHT
)
end

def level_draw_rect
return Rect.new(
PLAYER_LEVEL_LOCATION.x,
PLAYER_LEVEL_LOCATION.y,
PLAYER_LEVEL_WIDTH,
PLAYER_LEVEL_HEIGHT
)
end

def hp_draw_rect
return Rect.new(
PLAYER_HP_LOCATION.x,
PLAYER_HP_LOCATION.y,
PLAYER_HP_WIDTH,
PLAYER_HP_HEIGHT
)
end

def mp_draw_rect
return Rect.new(
PLAYER_MP_LOCATION.x,
PLAYER_MP_LOCATION.y,
PLAYER_MP_WIDTH,
PLAYER_MP_HEIGHT
)
end

def name_font
font = Font.new(PLAYER_NAME_FONT, PLAYER_NAME_FONT_SIZE)
font.color = PLAYER_NAME_COLOR
font.italic = PLAYER_NAME_USE_ITALICS
font.bold = PLAYER_NAME_USE_BOLD
font.shadow = PLAYER_NAME_USE_SHADOW
return font
end

def hp_font
font = Font.new(PLAYER_HP_FONT, PLAYER_HP_FONT_SIZE)
font.color = hp_color
font.italic = PLAYER_HP_FONT_USE_ITALICS
font.bold = PLAYER_HP_FONT_USE_BOLD
font.shadow = PLAYER_HP_FONT_USE_SHADOW
return font
end

def mp_font
font = Font.new(PLAYER_MP_FONT, PLAYER_MP_FONT_SIZE)
font.color = mp_color
font.italic = PLAYER_MP_FONT_USE_ITALICS
font.bold = PLAYER_MP_FONT_USE_BOLD
font.shadow = PLAYER_MP_FONT_USE_SHADOW
return font
end

def level_font
font = Font.new(PLAYER_LEVEL_FONT, PLAYER_LEVEL_FONT_SIZE)
font.color = PLAYER_LEVEL_COLOR
font.italic = PLAYER_LEVEL_USE_ITALICS
font.bold = PLAYER_LEVEL_USE_BOLD
font.shadow = PLAYER_LEVEL_USE_SHADOW
return font
end

def player_face_mask_image
return Cache.picture(PLAYER_FACE_MASK_NAME)
end

def create_player_face_image(size=96)
if @actor.nil?
@face_image = Bitmap.new(size, size)
return
end
rect = Rect.new(0, 0, 0, 0)
rect.x = @actor.face_index % 4 * 96 + (96 - size) / 2
rect.y = @actor.face_index / 4 * 96 + (96 - size) / 2
rect.width = size
rect.height = size
face = Cache.face(@actor.face_name)
mask = player_face_mask_image
@face_image = Bitmap.new(rect.width, rect.height)
@face_image.blt(0, 0, face, rect)
for y in 0...rect.height
for x in 0...rect.width
mask_color = mask.get_pixel(x, y)
@face_image.set_pixel(x, y, mask_color) if mask_color.alpha.zero?
end
end
end

def add_listeners(actor)
return if actor.nil?
func = lambda { refresh }
actor.hp_changed.add_listener(self, func)
actor.maxhp_changed.add_listener(self, func)
actor.mp_changed.add_listener(self, func)
actor.maxmp_changed.add_listener(self, func)
end

def hp_value_changed

refresh
end

def remove_listeners(actor)
return if actor.nil?
actor.hp_changed.remove_listener(self)
actor.maxhp_changed.remove_listener(self)
actor.mp_changed.remove_listener(self)
actor.maxmp_changed.remove_listener(self)
end

def draw_hud
draw_custom_mp_gauge
draw_custom_hp_gauge
image = hud_image
location = hud_location
self.bitmap.blt(location.x, location.y, image, image.rect)
end

def draw_custom_hp_gauge
cur, max = *(@actor.nil? ? [0,1] : [@actor.hp,@actor.maxhp])
draw_gauge(hp_gauge_location, 'hp', cur, max)
end

def draw_custom_mp_gauge
cur, max = *(@actor.nil? ? [0,1] : [@actor.mp,@actor.maxmp])
draw_gauge(mp_gauge_location, 'mp', cur, max)
end

def draw_gauge(location, stat_name, current, max)
percent_health = (current / max.to_f) * 100
multiple = 5
percent_health = check_health_bounds(percent_health, multiple)
percent_health = round_to_multiple_of(multiple, percent_health.round)
file_name = HEALTH_GAUGE_FORMAT % [stat_name, percent_health]
image = Cache.picture(file_name)
self.bitmap.blt(location.x, location.y, image, image.rect)
end

def round_to_multiple_of(multiple_of, num)
# why in the fuck did I do this this way?
# leave comments for yourself in the future dumbass.
leftover = num % multiple_of
return num if leftover.zero?
if leftover > multiple_of / 2
sym = :+
else
sym = :-
end
ret = num
loop do
ret = ret.send sym, 1
break if ret % multiple_of == 0
end
return ret
end

def check_health_bounds(num, multiple)
# dont allow the gauge to read 100 or 0 unless
# the current health actually is 100 or 0.
next_lower = 100 - multiple
if num > next_lower && num < 100
return next_lower
elsif num < multiple && num > 0
return multiple
else
return num
end
end

def draw_face
self.bitmap.blt(FACE_LOCATION.x, FACE_LOCATION.y, @face_image, @face_image.rect)
end

def draw_name
return if @actor.nil?
name = @actor.name
rect = name_draw_rect
font = name_font
temp_font = self.bitmap.font
self.bitmap.font = font
self.bitmap.draw_text(rect, name)
self.bitmap.font = temp_font
end

def draw_level
return if @actor.nil?
level = @actor.level
rect = level_draw_rect
font = level_font
temp_font = self.bitmap.font
self.bitmap.font = font
self.bitmap.draw_text(rect, level, 1)
self.bitmap.font = temp_font
end

def use_custom_gauges?
return PLAYER_USE_CUSTOM_GAUGE
end

def health_text(prefix, cur, max)
return "#{prefix}: #{cur}/#{max}"
end

def draw_health(rect, font, prefix, cur, max)
self.bitmap.font = font
xr = rect.x + rect.width
health_width = (rect.width * 0.33).round
spacer_width = (health_width / 2.1).round
temp_font = self.bitmap.font
prefixf = prefix + ':'
# fuck this pile of shit, move along, this will just hurt your head
self.bitmap.draw_text(rect.x, rect.y, self.bitmap.text_size(prefixf).width, rect.height, prefixf)
self.bitmap.draw_text(xr - spacer_width - health_width * 2 + (health_width * 0.15).round, rect.y, health_width, rect.height, cur, 2)
self.bitmap.draw_text(xr - spacer_width - health_width, rect.y, spacer_width, rect.height, "/", 2)
self.bitmap.draw_text(xr - health_width, rect.y, health_width, rect.height, max, 2)
self.bitmap.font = temp_font
end

def draw_hp
return if @actor.nil?
draw_health(hp_draw_rect, hp_font, Vocab.hp_a, @actor.hp, @actor.maxhp)
end

def draw_mp
return if @actor.nil?
draw_health(mp_draw_rect, mp_font, Vocab.mp_a, @actor.mp, @actor.maxmp)
end

def refresh
self.bitmap.clear
return unless hud_visible?
draw_face if SHOW_PLAYER_FACE_IMAGE
draw_hud
draw_name if SHOW_PLAYER_NAME
draw_level if SHOW_PLAYER_LEVEL
draw_hp if USE_HP_TEXT_DISPLAY
draw_mp if USE_MP_TEXT_DISPLAY
end

def dispose
remove_listeners(@actor)
$game_player.move_begun.remove_listener(self)
$game_player.move_end.remove_listener(self)
unless @window.nil?
@window.dispose
@window = nil
end
super
end

end

class SubHud < MainHud



end

class Game_Map

alias :pre_confhud_gm_setup :setup
def setup(*args)
id = *args
@info = load_data('Data/MapInfos.rvdata')[id]
pre_confhud_gm_setup(*args)
end

def display_hud?
return !@info.name.include?(HudConfig::NO_SHOW_TEXT)
end

end

class Scene_Map < Scene_Base
include HudConfig

attr_reader :player_hud

# used to keep track of the hud location between
# setups and teardowns, i.e., if you enter the menu or battle.
@@last_hud_ox = 0

alias :pre_confhud_sm_start :start unless $@
def start
pre_confhud_sm_start
initialize_hud
$game_party.party_leader_changed.add_listener(self, lambda { @player_hud.actor = $game_party.members.first })
end

def initialize_hud
@hud_viewport = Viewport.new(0, 0, 544, 416)
@hud_viewport.z = PLAYER_HUD_Z
@hud_viewport.ox = @@last_hud_ox
@@target_hud_location ||= @hud_viewport.ox
actor = $game_party.members.first
@player_hud = MainHud.new(
PLAYER_HUD_LOC,
@hud_viewport,
actor,
hud_enabled?(actor)
)
end

alias :pre_confhud_sm_update :update unless $@
def update
pre_confhud_sm_update
update_hud
update_hud_input
update_hud_transition
end

alias :pre_confhud_sm_update_basic :update_basic unless $@
def update_basic(*args)
pre_confhud_sm_update_basic
update_hud
end

def show_hud
trigger_scroll
end

def hide_hud
trigger_scroll(true)
end

def trigger_scroll(force_hide=false)
@@hud_moving = true
if @hud_viewport.ox.zero?
hud_rect = @player_hud.image_rect
left = HUD_SCROLL_DIRECTION == ScrollDirection::Left
offset = left ? hud_rect.width + hud_rect.x : -(Graphics.width - hud_rect.x)
@@target_hud_location = @hud_viewport.ox + offset
elsif !force_hide
@@target_hud_location = 0
end
end

def update_hud
@player_hud.hud_visible = hud_enabled?
@player_hud.update
@hud_viewport.update
end

def hud_enabled?(actor=nil)
return false if !SHOW_IF_NO_LEADER && (actor ||= @player_hud.actor).nil?
return false unless $game_map.display_hud?
return false unless NO_SHOW_SWITCH.nil? || !$game_switches[NO_SHOW_SWITCH]
return true
end

def update_hud_input
trigger_scroll if ALLOW_HUD_HIDE && Input.trigger?(HIDE_HUD_INPUT)
end

def update_hud_transition
@@hud_moving = @hud_viewport.ox != @@target_hud_location
return unless @@hud_moving
incr = @hud_viewport.ox < @@target_hud_location ? HUD_HIDE_SPEED : -HUD_HIDE_SPEED
@hud_viewport.ox += [incr, (@hud_viewport.ox - @@target_hud_location).abs].min
end

alias :pre_confhud_sm_terminate :terminate unless $@
def terminate
pre_confhud_sm_terminate
$game_party.party_leader_changed.remove_listener(self)
@player_hud.dispose
@@last_hud_ox = @hud_viewport.ox
end

end

 
 
Leoś 




Pomógł: 2 razy
Dołączył: 13 Maj 2010
Posty: 45
Wysłany: Nie 22 Lip, 2012 20:04
Hudy są za jaskrawe. Mi się nie podobają no może ten ostatni ujdzie, ale ta obwódka kuli jest paskudna.
 
 
INRE 




Preferowany:
RPG Maker VX

Ranga RM:
1 gra

Pomógł: 1 raz
Dołączył: 03 Sie 2010
Posty: 45
Wysłany: Nie 22 Lip, 2012 21:11
igor napisał/a:
jak masz problemy z logowaniem na rpgmakervx.net to spróbuj to:

Dziękuję za pomoc.
________________________

 
 
DavShero 



Preferowany:
RPG Maker VX

Dołączył: 13 Lip 2012
Posty: 12
Wysłany: Pon 23 Lip, 2012 12:08
CO mam zrobic by wyświetliło "Good Luck" bez dodawania/usuwana przedmiotu itp. jaka komendą?
 
 
Loki 




Preferowany:
RPG Maker VX

Pomógł: 12 razy
Dołączył: 25 Kwi 2012
Posty: 162
Wysłany: Pon 23 Lip, 2012 13:59
DavShero napisał/a:
CO mam zrobic by wyświetliło "Good Luck" bez dodawania/usuwana przedmiotu itp. jaka komendą?


Ten temat napisz w dziale ,,wsparcie''.
 
 
Hertil 



Preferowany:
RPG Maker VX

Dołączył: 25 Lip 2012
Posty: 14
Wysłany: Pią 27 Lip, 2012 20:00
A jak go zainstalować?
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group | Template Klam by Ayene