Ogłoszenie 

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


Administracja Forum


Poprzedni temat «» Następny temat
Okno HP MP EXP
Autor Wiadomość
Avara 





Pomogła: 32 razy
Dołączyła: 15 Gru 2010
Posty: 331
Skąd: Łódź
Wysłany: Czw 16 Gru, 2010 13:10
Po dodaniu tego skryptu do gry przy próbie jej uruchomienia wyskakuje mi błąd



Pomógłby mi ktoś zrozumieć dlaczego?
 
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Czw 16 Gru, 2010 13:14
A masz w ogóle jakiegoś bohatera w drużynie?
________________________


 
 
 
Avara 





Pomogła: 32 razy
Dołączyła: 15 Gru 2010
Posty: 331
Skąd: Łódź
Wysłany: Czw 16 Gru, 2010 14:51
Tak jednego
________________________


Drakensang - przeglądarkowa gra RPG online
Spoiler:

 
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Czw 16 Gru, 2010 14:57
A próbowałaś umieścić skrypt w czystym projekcie? Spróbuj, może to problem kompatybilności. Ewentualnie możesz spakować swój projekt, shostować go na www.mediafire.com i wysłać mi link na PW. Zobaczę wtedy, co w nim jest "nie tak".
________________________


 
 
 
Avara 





Pomogła: 32 razy
Dołączyła: 15 Gru 2010
Posty: 331
Skąd: Łódź
Wysłany: Czw 16 Gru, 2010 15:43
W nowym projekcie jest wszystko ok. W tej chwili bawię się różnymi skryptami i któryś musi się najwyraźniej z tym kłócić. Sprawdzę z którym i zobaczymy. Dzięki za pomoc.
________________________


Drakensang - przeglądarkowa gra RPG online
Spoiler:

 
 
 
Killerczyc 




Preferowany:
RPG Maker VX

Pomógł: 8 razy
Dołączył: 20 Lip 2010
Posty: 199
Skąd: (Brak info.)
Wysłany: Sro 19 Sty, 2011 07:54
A dałoby się usunąć okno - windowskin - wokół HUD'a, by zostały same paski HP/MP?
________________________
Szukam kogoś do grania ze mną w Minecraft Multiplayer przez Hamachi - coś więcej w temacie
 
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Sro 19 Sty, 2011 15:11
A nie możesz zmienić wartości?
Kod:
OPACITY = 100 # Przezroczystość, gdy ukryty [0~255]

Daj 0, a okienko będzie przezroczyste.
________________________


 
 
 
Killerczyc 




Preferowany:
RPG Maker VX

Pomógł: 8 razy
Dołączył: 20 Lip 2010
Posty: 199
Skąd: (Brak info.)
Wysłany: Sro 19 Sty, 2011 18:29
Tylko to zadziała jak główny bohater będzie za Hud'em - i właśnie w tym momencie gdy ustawiłem OPACITY = 100 # Przezroczystość, gdy ukryty [0~255] - Okno całkiem znikło...
Chodziło mi o usunięcie tła a pozostawienie pasków HP/MP i nie gdy bohater wejdzie za Hud.
Mam nadzieje że pomożesz Ayene, bo nie chce mi się tak nabijać postów...
________________________
Szukam kogoś do grania ze mną w Minecraft Multiplayer przez Hamachi - coś więcej w temacie
 
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Wto 25 Sty, 2011 14:58
Podmień skrypt na ten:
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
end

module HUD_HP_MP_EXP_NAME_FACE_LEVEL
  HUD_WIDTH = 152   # Szerokość okna
  FACE_OPACITY = 100 # 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 = 0
    self.contents_opacity = OPACITY
    self.contents_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(@actor, 0, WLH * 1, @width)
    draw_actor_mp(@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.contents_opacity = OPACITY if BG_DISPLAY
        self.contents_opacity = OPACITY
      else
        self.contents_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_exp_HUD(actor, x, y, width)
    s1 = actor.exp_s
    s2 = actor.next_rest_exp_s + s1
    if s1.is_a? String or s2.is_a? String
      s1 = actor.exp
      s2 = actor.exp
    end
    draw_actor_exp_gauge(actor, x, y, s1, s2, width)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 30, WLH, EXP_NAME)
    self.contents.font.color = normal_color
    last_font_size = self.contents.font.size
    xr = x + width   
    self.contents.draw_text(xr - 120, y, 120, WLH, s1, 2)   
  end
 
  def draw_actor_exp_gauge(actor, x, y, s1, s2, width)
    gw = width * s1 / s2
    gc1 = text_color(31)
    gc2 = text_color(27)
    self.contents.fill_rect(x, y + WLH - 8, width, 6, gauge_back_color)
    self.contents.gradient_fill_rect(x, y + WLH - 8, gw, 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

________________________


 
 
 
Azux 



Preferowany:
RPG Maker VX

Pomógł: 8 razy
Dołączył: 28 Lut 2011
Posty: 87
Wysłany: Czw 03 Mar, 2011 17:24
skrypcik fajny ale mam taki pomysl ze na poczatku gry pojawia sie obrazek ze wstepem (w malej wiosc zyl..bleblebel)ten obrazek chcialbym miec na calej mapie lecz zaslania go wlasnie te okienko da sie zrobic jakos zeby on nie pojawial sie na samym poczatku gry tylko po zniknieciu obrazka (obrazek raz sie wyswietla w grze wiec zeby po zmianie mapy okienko bylo odrazu )
________________________
Spoiler:


Pracuje nad "Rakrato"
Mapki: 0,3%
Skrypty: !?!?-%
Przedmioty: 0,1%
Quest: 0,3%
 
 
Seyfer 




Preferowany:
RPG Maker VX

Dołączył: 27 Sty 2011
Posty: 14
Wysłany: Sob 19 Mar, 2011 12:15
A dałoby radę przerobić tak ten skrypt, aby HUD pokazywał się po iluś tam sekundach jeżeli nie ruszamy naszym bohaterem?
________________________
 
 
Azzazeal 




Preferowany:
RPG Maker VX

Dołączył: 07 Kwi 2011
Posty: 7
Skąd: Pruszcz Gdański
Wysłany: Nie 10 Kwi, 2011 11:06
Witam.
Mam 2 sprawy co do tego skryptu.

Uno:
Dla mojej gry muszę mieć pustą drużynę startową i chciałbym się dowiedzieć co muszę zrobić żeby nie wywalało błędu jak nie mam żadnego bohatera w drużynie.

Drugo:
Chciałbym zmienić odstępy między tymi paskami.najlepiej jak by były minimalne :)

Pozdrawiam.
________________________
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Nie 10 Kwi, 2011 16:11
Można przed wyrzuceniem wszystkich graczy z drużyny wywołać za pomocą polecenia 'Script' w zdarzeniu odpowiednio:
Kod:
# By wyświetlić/ukryć HUD, wywołaj skrypt "hud(true)" lub "hud(false)"

Albo można wrzucić trzy warunki w skrypt:
znajdź linijikę:
Kod:
@index = HUD_HP_MP_EXP_NAME_FACE_LEVEL::ACTOR_ID

linijkę pod nią:
Kod:
new_hud

zamień na:
Kod:
new_hud if $game_party.members.size > 0   

następnie znajdź:
Kod:
@hp_mp_exp_name_face_hud.dispose

zamień na:
Kod:
@hp_mp_exp_name_face_hud.dispose if $game_party.members.size > 0

kolejno znajdź:
Kod:
@hp_mp_exp_name_face_hud.update

przed tą linijką dodaj:
Kod:
return if $game_party.members.size == 0


Żeby zmniejszyć odległości między paskami (swoją drogą sprawi to, że napisy będą na siebie nachodzić), wystarczy znaleźć fragment:
Kod:
draw_actor_hp(@actor, 0, WLH * 1, @width)
draw_actor_mp(@actor, 0, WLH * 2, @width)
draw_actor_exp_HUD(@actor, 0, WLH * 3, @width)

na przykładzie pierwszej linijki, argumenty w nawiasie odpowiadają kolejno:
@actor - bohater, którego parametry mają zostać wyświetlone
0 - współrzędna x paska,
WLH * 1 - współrzędna y paska, gdzie WLH to stała wartość odległości między kolejnymi liniami w oknach, taka interlinia, która domyślnie wynosi 24.
@width - długość paska.
Spróbuj edytować tę wartość WLH * 1, np. na '15*1' albo na stałą wartość - 20, itd.
Zastanów się do tego, czy nie lepiej by było skorzystać z tego przerobionego już skryptu :arrow: http://www.ultimateam.pl/...p?p=52482#52482
________________________


 
 
 
Azzazeal 




Preferowany:
RPG Maker VX

Dołączył: 07 Kwi 2011
Posty: 7
Skąd: Pruszcz Gdański
Wysłany: Wto 31 Maj, 2011 09:08
Ok dzięki, poradziłem sobie z tym błędem odrobinę inaczej :) a dokładniej w drużynie na początku jest bohater bez twarzy, a potem kiedy ma się gra zacząć to jest dodawany główny bohater i usuwany ten już nie potrzebny pusty :)
________________________
 
 
mazik 



Preferowany:
RPG Maker VX

Dołączył: 21 Cze 2011
Posty: 17
Wysłany: Czw 23 Cze, 2011 18:19
THX Zaje skrypt !!! bardzo mi pomogles :)
________________________
Mazik ;)
 
 
 
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