Ogłoszenie
Administracja Forum
Okno HP MP EXP
Autor
Wiadomość
kongi93
Preferowany:
Dołączył: 08 Lip 2010 Posty: 24
Wysłany: Czw 08 Lip, 2010 22:09
Jestem nowy i mam pytanie czy da się zrobić żeby Okno Hp Mp Exp pokazywało się na rpg maker xp?
Ulvran
Preferowany:
Dołączył: 05 Lip 2010 Posty: 15 Skąd: Otwock
kongi93
Preferowany:
Dołączył: 08 Lip 2010 Posty: 24
Wysłany: Pią 09 Lip, 2010 09:56
A. Dzięki za pomoc.
PtasiAGrypAA
Preferowany:
Dołączył: 25 Sie 2010 Posty: 4
Wysłany: Sro 25 Sie, 2010 22:37
A wiec ja mam prosbe z innej manki otoz nie moge obczaic jak tworzyc misje w stylu -Misja 1 -idz i zaciukaj 4pelzaki - Misja 2 idz i zaciukaj 4 pszczoly blagam pomoz ktos bo sie z tym mecze... z gory wielkie T.H.X.
________________________ Yo
cj2
Preferowany:
Ranga RM:
Pomógł: 6 razy Dołączył: 07 Mar 2010 Posty: 261 Skąd: Gliwice
Wysłany: Czw 26 Sie, 2010 07:54
Po zabiciu pszczoły czy pełzka dodaj 1 do zmiennej, a w innym warunku że równe 4
Lub
Wszystko po ustalonej drodze.
________________________ Porady dla twórców gier
Nie ma śniegu, a zgubiłem normalny avatar :I
PtasiAGrypAA
Preferowany:
Dołączył: 25 Sie 2010 Posty: 4
Wysłany: Pią 10 Wrz, 2010 19:49
jajco2 napisał/a: Po zabiciu pszczoły czy pełzka dodaj 1 do zmiennej, a w innym warunku że równe 4
Lub
Wszystko po ustalonej drodze.
Dzieki ze wogole odpowiedziales , ale jesli mozna by troche jasniej dla nowicjuszy
________________________ Yo
Tjef
Preferowany:
Pomógł: 12 razy Dołączył: 21 Wrz 2010 Posty: 163 Skąd: Wolsztyn
Ayene
Ranga RM:
Pomogła: 232 razy Dołączyła: 18 Wrz 2007 Posty: 2424
Wysłany: Sob 02 Paź, 2010 19:07
Znajdź w skrypcie:
Kod: draw_actor_face_picture(@actor, 0, 0, FACE_OPACITY)
i zamień na:
Kod: draw_actor_graphic(@actor, 0, 0)
________________________
Tjef
Preferowany:
Pomógł: 12 razy Dołączył: 21 Wrz 2010 Posty: 163 Skąd: Wolsztyn
Marvolo37
Preferowany:
Dołączył: 04 Wrz 2010 Posty: 12
Wysłany: Pon 11 Paź, 2010 20:12
Yo?
________________________ Jak pomogłem to kliknij "Pomógł"
Itaki
Preferowany:
Ranga RM:
Pomógł: 8 razy Dołączył: 07 Maj 2010 Posty: 278 Skąd: z Arvorii.
PaKiTos
Preferowany:
Ranga RM:
Pomógł: 16 razy Dołączył: 05 Lis 2009 Posty: 359 Skąd: spytaj innych
Wysłany: Sro 20 Paź, 2010 15:29
Fajny HUD, przydaje się na ABSy!
________________________ po co to kopiujesz? ;d
Spoiler:
Fakty:
1.Widzisz mój podpis
2.Jesteś w internecie
3.Czytasz
4.Siedzisz przy komputerze
5.Jesteś na UltimaForum
6.Twój nick to Gość
kiedys tu bylo fajniej... coz gospoda rma forever
chwala tym ktorzy nadal robia w 2k
Angius
Nie wkurzać
Preferowany:
Pomógł: 104 razy Dołączył: 30 Paź 2010 Posty: 1276 Skąd: wROCK
Wysłany: Pon 08 Lis, 2010 18:14
A ja mam pytanko... Czy dałoby się maksymalnie zminimalizować tego HUD-a?
W sensie, same paski, bez żadnych napisów. I kolory jakoś zmienić (MP niebieskie, HP czerwone, EXP żółty)?
Ayene
Ranga RM:
Pomogła: 232 razy Dołączyła: 18 Wrz 2007 Posty: 2424
Wysłany: Pon 08 Lis, 2010 22:01
Sprawdź to:
Spoiler:
Kod: ################################################################################
# #
# ~~~~~ Copyright 2009 SojaBird ~~~~~ #
# #
################################################################################
# Tłumaczenie i korekta by Ayene
#
# By wyświetlić/ukryć HUD, wywołaj skrypt "hud"
# By wyświetlić/ukryć HUD, wywołaj skrypt "hud(true)" lub "hud(false)"
module AYENE
# 0 - lewy górny róg
# 1 - lewy dolny róg
# 2 - prawy górny róg
# 3 - prawy dolny róg
POŁOŻENIE_HUD = 2
GRADIENT_HP = [Color.new(255,0,0), Color.new(252,111,111)]
GRADIENT_MP = [Color.new(0,18,255), Color.new(97,108,255)]
GRADIENT_EXP = [Color.new(255,246,0), Color.new(253,249,146)]
end
module HUD_HP_MP_EXP_NAME_FACE_LEVEL
HUD_WIDTH = 152 # Szerokość okna
FACE_OPACITY = 50 # przezroczystość twarzy bohatera [0~255]
BG_DISPLAY = true # Ukrywa / wyświetla tło [true/false]
EXP_NAME = "PD" # Tekst wyświetlany jako punkty doświadczenia
ACTOR_ID = 0 # ID bohatera, którego statystyki mają się wyświetlać
#(actor1=0, actor2=1...actorN=N-1)
HIDE = true # Ukryj okno, gdy bohater jest za nim [true/false]
OPACITY = 100 # Przezroczystość, gdy ukryty [0~255]
HUD_START_DISPLAY = true # Wyświetlanie HUD od początku gry [true/false]
CYCLE = true # Włącza / wyłącza zmianę bohaterów w drużynie za pomocą L&R
end
################################################################################
def hud(arg = nil)
$game_system.hud_display = !$game_system.hud_display if arg == nil
$game_system.hud_display = arg if arg != nil
end
################################################################################
class Window_HUD_HP_MP_EXP_NAME_FACE_LEVEL < Window_Base
include HUD_HP_MP_EXP_NAME_FACE_LEVEL
attr_reader :index
def initialize(index)
@index = index
@height = WLH * 4 + 32
case AYENE::POŁOŻENIE_HUD
when 0
super(0, 0, HUD_WIDTH, @height)
when 1
super(0, 416-@height, HUD_WIDTH, @height)
when 2
super(544-HUD_WIDTH, 0, HUD_WIDTH, @height)
when 3
super(544-HUD_WIDTH, 416-@height, HUD_WIDTH, @height)
end
self.visible = $game_system.hud_display
self.opacity = OPACITY
self.opacity = 0 if !BG_DISPLAY
@actor = $game_party.members[@index]
@width = HUD_WIDTH - 32
hide_status
refresh
end
def refresh
contents.clear
@hp = @actor.hp
@mp = @actor.mp
@exp = @actor.exp
@name = @actor.name
@level = @actor.level
@face = [@actor.face_name, @actor.face_index]
draw_actor_face_picture(@actor, 0, 0, FACE_OPACITY)
draw_actor_name_and_level(@actor, 0, WLH * 0)
draw_actor_hp_HUD(@actor, 0, WLH * 1, @width)
draw_actor_mp_HUD(@actor, 0, WLH * 2, @width)
draw_actor_exp_HUD(@actor, 0, WLH * 3, @width)
end
def hide_status
if HIDE == true
if $game_player.screen_x + 16 > self.x and
$game_player.screen_y + 4 > self.y and
$game_player.screen_x - 16 < self.x + self.width and
$game_player.screen_y - 28 < self.y + self.height
self.opacity = OPACITY if BG_DISPLAY
self.contents_opacity = OPACITY
else
self.opacity = 255 if BG_DISPLAY
self.contents_opacity = 255
end
end
end
def draw_actor_face_picture(actor, x, y, opacity, size = 94)
bitmap = Cache.face(actor.face_name)
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
self.contents.blt(x, y, bitmap, rect, opacity)
bitmap.dispose
end
def draw_actor_name_and_level(actor, x, y)
self.contents.font.color = hp_color(actor)
self.contents.draw_text(x, y, @width - 20 - 24, WLH, actor.name)
self.contents.font.color = system_color
x = @width / 2
width = (@width.to_f / 2) / (32 + 24)
self.contents.draw_text(x, y, width * 32, WLH, Vocab::level_a)
self.contents.font.color = normal_color
self.contents.draw_text(x + width * 32, y, width * 24, WLH, actor.level, 2)
end
def draw_actor_hp_HUD(actor, x, y, width = 120)
gw = width * actor.hp / actor.maxhp
gc1 = AYENE::GRADIENT_HP[0]
gc2 = AYENE::GRADIENT_HP[1]
self.contents.fill_rect(x, y + WLH - 13, width, 8, Color.new(0,0,0))
self.contents.fill_rect(x + 1, y + WLH - 12, width - 2, 6, gauge_back_color)
self.contents.gradient_fill_rect(x + 1, y + WLH - 12, gw - 2, 6, gc1, gc2)
end
def draw_actor_mp_HUD(actor, x, y, width = 120)
gw = width * actor.mp / [actor.maxmp, 1].max
gc1 = AYENE::GRADIENT_MP[0]
gc2 = AYENE::GRADIENT_MP[1]
self.contents.fill_rect(x, y + WLH - 13, width, 8, Color.new(0,0,0))
self.contents.fill_rect(x + 1, y + WLH - 12, width - 2, 6, gauge_back_color)
self.contents.gradient_fill_rect(x + 1, y + WLH - 12, gw - 2, 6, gc1, gc2)
end
def draw_actor_exp_HUD(actor, x, y, width = 120)
s1 = actor.gained_exp(actor.level, actor.exp)
s2 = actor.needed_exp(actor.level)
gw = (s1 < s2 ? s1 * width / s2 : width)
gc1 = AYENE::GRADIENT_EXP[0]
gc2 = AYENE::GRADIENT_EXP[1]
self.contents.fill_rect(x, y + WLH - 13, width, 8, Color.new(0,0,0))
self.contents.fill_rect(x + 1, y + WLH - 12, width - 2, 6, gauge_back_color)
self.contents.gradient_fill_rect(x + 1, y + WLH - 12, gw - 2, 6, gc1, gc2)
end
def update
self.visible = $game_system.hud_display
return if !self.visible
if @hp != @actor.hp or
@mp != @actor.mp or
@exp != @actor.exp or
@name != @actor.name or
@level != @actor.level or
@face != [@actor.face_name, @actor.face_index]
refresh
end
hide_status
end
end
#------------------------------------------------------------
# * Scene_Map: Attach HUD to map
#------------------------------------------------------------
class Scene_Map < Scene_Base
alias start_hmexp_name_face_lvl start
alias terminate_hmexp_name_face_lvl terminate
alias update_hmexp_name_face_lvl update
def start
start_hmexp_name_face_lvl
@index = HUD_HP_MP_EXP_NAME_FACE_LEVEL::ACTOR_ID
new_hud
end
def terminate
@hp_mp_exp_name_face_hud.dispose
terminate_hmexp_name_face_lvl
end
def update
update_hmexp_name_face_lvl
@hp_mp_exp_name_face_hud.update
return if !HUD_HP_MP_EXP_NAME_FACE_LEVEL::CYCLE
return if !@hp_mp_exp_name_face_hud.visible
if Input.trigger?(Input::R)
if @index == $game_party.members.size - 1
@index = 0
else
@index += 1
end
elsif Input.trigger?(Input::L)
if @index == 0
@index = $game_party.members.size - 1
else
@index -= 1
end
end
new_hud if @index != @hp_mp_exp_name_face_hud.index
end
def new_hud
@hp_mp_exp_name_face_hud.dispose if !@hp_mp_exp_name_face_hud.nil?
@hp_mp_exp_name_face_hud = Window_HUD_HP_MP_EXP_NAME_FACE_LEVEL.new(@index)
end
end
#------------------------------------------------------------
# * Game_System: Check for display
#------------------------------------------------------------
class Game_System
alias hud_initialize initialize
attr_accessor :hud_display
def initialize
hud_initialize
@hud_display = HUD_HP_MP_EXP_NAME_FACE_LEVEL::HUD_START_DISPLAY
end
end
class Game_Actor < Game_Battler
def gained_exp(current_level, current_exp)
return (current_exp - @exp_list[current_level])
end
def needed_exp(current_level)
return (@exp_list[current_level + 1] - @exp_list[current_level])
end
end
Jeśli nie chcesz imienia i poziomu usuń linijkę:
Kod: draw_actor_name_and_level(@actor, 0, WLH * 0)
________________________
Angius
Nie wkurzać
Preferowany:
Pomógł: 104 razy Dołączył: 30 Paź 2010 Posty: 1276 Skąd: wROCK
Wysłany: Wto 09 Lis, 2010 18:08
Dzięki bardzo :)
________________________ "Na trolla pewne są tylko dwie pewne metody, jedna samopowtarzalna i druga, wymagająca przeładowania ręcznego."
Nie możesz pisać nowych tematówNie możesz odpowiadać w tematachNie możesz zmieniać swoich postówNie możesz usuwać swoich postówNie możesz głosować w ankietachNie możesz załączać plików na tym forumMożesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych Wersja do druku