Ogłoszenie 

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


Administracja Forum


Poprzedni temat «» Następny temat
HUD Ekwipunku na mapie [VX]
Autor Wiadomość
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Nie 31 Sty, 2010 23:18
HUD Ekwipunku na mapie [VX]
~ HUD Ekwipunku na mapie [VX] ~

Krótki opis
Skrypt wyświetla HUD (okno) z ekwipunkiem na mapie (patrz screenshot).

Autor skryptu do XP
Moghunter

Tłumaczenie i konwersja na VX
Ayene [yurika@o2.pl]

Kompatybilność
Tylko VX

Skrypt
Spoiler:

Kod:

#==============================================================================
# MOG HUD Equip V1.1 VX           
# Autor XP: Moghunter         
# Przełożone na VX przez Ayene (mam nadzieję, że będzie 'śmigać' :P
#==============================================================================
if true # True = wyświetla HUD / False = nie wyświetla

module MOG
  # Położenie HUD - współrzędne x i y
  EQPMAPX = 340 # współrzędna x
  EQPMAPY = 320 # współrzędna y
 
  # Przełącznik, kontrolujący wyświetlanie HUD
  EQPMAPVIS = 5 
 
  # Okno
  EQPMAPSKIN = "Window"
 
  # Przezroczystość okna HUD
  EQPMAPOPA = 0
end

$mogscript = {} if $mogscript == nil
$mogscript["mpequip"] = true

#==============================================================================
# Window_Base
#==============================================================================
class Window_Base < Window 
  def draw_equip_map(item, x, y)
    if item == nil
      return
    end
    draw_icon(item.icon_index , x + 3 , y + 34)
  end

  def draw_mequip(x, y)
    mequip = Cache.picture("Mequip")   
    cw = mequip.width
    ch = mequip.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x , y - ch + 65 ,mequip, src_rect)
  end
end

#==============================================================================
# Window_Equip_Map
#==============================================================================
class Window_Equipmap < Window_Base
  def initialize(actor)
    super(0, 0, 190, 100)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.opacity = MOG::EQPMAPOPA
    self.windowskin = Cache.system(MOG::EQPMAPSKIN)
    @actor = actor
    refresh
  end 
  def refresh
    self.contents.clear
    draw_mequip(0,0)
    @data = []
    @data.push($data_weapons[@actor.weapon_id])
    @data.push($data_armors[@actor.armor1_id])
    @data.push($data_armors[@actor.armor2_id])
    @data.push($data_armors[@actor.armor3_id])
    @data.push($data_armors[@actor.armor4_id])
    self.contents.font.color = system_color
    draw_equip_map(@data[0], 32 * 0, 0)
    draw_equip_map(@data[1], 32 * 1, 0)
    draw_equip_map(@data[2], 32 * 2, 0)
    draw_equip_map(@data[3], 32 * 3, 0)
    draw_equip_map(@data[4], 32 * 4, 0)
  end
end

#==============================================================================
# Scene_Map
#==============================================================================
class Scene_Map
  alias ayene_start start
  def start   
    @actor = $game_party.members[0]
    @eqmap = Window_Equipmap.new(@actor)
    @eqmap.x = MOG::EQPMAPX
    @eqmap.y = MOG::EQPMAPY
    if $game_switches[MOG::EQPMAPVIS] == false
      @eqmap.visible = true 
    else
      @eqmap.visible = false     
    end
    ayene_start
  end
 
  alias ayene_terminate terminate
  def terminate
    ayene_terminate
    @eqmap.dispose
  end
 
  alias mog8_update update
  def update
    if $game_switches[MOG::EQPMAPVIS] == false
      @eqmap.visible = true 
    else
      @eqmap.visible = false     
    end 
    if $eref == true
      @eqmap.refresh
      $eref = false
    end
    mog8_update
  end 
end 

#==============================================================================
# Game_Map
#==============================================================================
class Game_Map
  attr_accessor :eref
end

class Game_Interpreter
  def eref
    $eref = true
  end
  alias mog319ref command_319
  def command_319
    eref
    return mog319ref
  end
end
end


Dodatki
Skrypt wymaga umieszczenia w folderze Graphics/Pictures poniższego obrazka:
Spoiler:


Mequip.png
- wersja ang
- wersja pl


Demo



Screenshot
Spoiler:


Instrukcja
1. Wklej skrypt nad "Main" w Edytorze Skryptu.
2. Reszta instrukcji znajduje się w treści skryptu.

Piszcie w razie problemów.

HUD_equip.txt
Pobierz SKRYPT
Pobierz Plik ściągnięto 559 raz(y) 3,54 KB

Equip HUD.rar
Pobierz DEMO
Pobierz Plik ściągnięto 762 raz(y) 237,31 KB

________________________


 
 
 
alintes 




Preferowany:
RPG Maker XP

Dołączył: 20 Gru 2009
Posty: 41
Skąd: Strzelin
Wysłany: Pon 01 Lut, 2010 08:26
Wow! Fajny ten skrypt tylko szkoda, że na VX, czy mogłabyś Ayene przerobic ten skrypt na Xp, bo by mi się przydał w projekcie?
________________________
http://footballteam.pl/in...olecil=108205#v
 
 
 
KillYou 




Preferowany:
RPG Maker VX

Dołączył: 27 Gru 2009
Posty: 49
Skąd: Wolsztyn
Wysłany: Pon 01 Lut, 2010 12:55
Ayene, czy da się/którym klawiszem przełączyć ekwipunek na innego bohatera?
________________________
Pozdrawiam, bo nie chcę zawsze pisać powyżej - KillYou
PS Jeżeli nie rozumiesz (pomoc) co jest napisane powyżej, to wrzucę screeny :)
The Elect
Twórca: KillYou
Pomocnicy Pr0mes, Spino333, Janus, Kacperer
============================================================

============================================================
Tekst Podpisu:
Podpis - dozwolona ilość znaków:500

Drogi użytkowniku, jeżeli czytasz te napisy to wejdź w moją galerię!
http://www.ultimateam.pl/...p?p=19178#19178

^_^
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Pon 01 Lut, 2010 14:00
Chyba da radę :-> Zmień skrypt na poniższy:
Spoiler:

Kod:
#==============================================================================
# MOG HUD Equip V1.1 VX           
# Autor XP: Moghunter         
# Przełożone na VX przez Ayene (mam nadzieję, że będzie 'śmigać' :P
#==============================================================================
if true # True = wyświetla HUD / False = nie wyświetla

module MOG
  # Położenie HUD - współrzędne x i y
  EQPMAPX = 340 # współrzędna x
  EQPMAPY = 320 # współrzędna y
 
  # Przełącznik, kontrolujący wyświetlanie HUD
  EQPMAPVIS = 5 
 
  # Okno
  EQPMAPSKIN = "Window"
 
  # Przezroczystość okna HUD
  EQPMAPOPA = 0
end

$mogscript = {} if $mogscript == nil
$mogscript["mpequip"] = true

#==============================================================================
# Window_Base
#==============================================================================
class Window_Base < Window 
  def draw_equip_map(item, x, y)
    if item == nil
      return
    end
    draw_icon(item.icon_index , x + 3 , y + 34)
  end

  def draw_mequip(x, y)
    mequip = Cache.picture("Mequip")   
    cw = mequip.width
    ch = mequip.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x , y - ch + 65 ,mequip, src_rect)
  end
end

#==============================================================================
# Window_Equip_Map
#==============================================================================
class Window_Equipmap < Window_Base
  def initialize(actor)
    super(0, 0, 190, 100)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.opacity = MOG::EQPMAPOPA
    self.windowskin = Cache.system(MOG::EQPMAPSKIN)
    @actor = actor
    refresh
  end 
  def refresh
    self.contents.clear
    draw_mequip(0,0)
    @data = []
    @data.push($data_weapons[@actor.weapon_id])
    @data.push($data_armors[@actor.armor1_id])
    @data.push($data_armors[@actor.armor2_id])
    @data.push($data_armors[@actor.armor3_id])
    @data.push($data_armors[@actor.armor4_id])
    self.contents.font.color = system_color
    draw_equip_map(@data[0], 32 * 0, 0)
    draw_equip_map(@data[1], 32 * 1, 0)
    draw_equip_map(@data[2], 32 * 2, 0)
    draw_equip_map(@data[3], 32 * 3, 0)
    draw_equip_map(@data[4], 32 * 4, 0)
  end
end

#==============================================================================
# Scene_Map
#==============================================================================
class Scene_Map
  alias ayene_start start
  def start 
    @index = 0
    new_equip_hud 
    ayene_start
  end
 
  alias ayene_terminate terminate
  def terminate
    ayene_terminate
    @eqmap.dispose
  end
 
  alias mog8_update update
  def update
    if $game_switches[MOG::EQPMAPVIS] == false
      @eqmap.visible = true 
    else
      @eqmap.visible = false     
    end 
    if $eref == true
      @eqmap.refresh
      $eref = false
    end
    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_equip_hud if @index != @actor.index
    mog8_update
  end
  def new_equip_hud
    @actor = $game_party.members[@index]
    @eqmap.dispose if !@eqmap.nil?
    @eqmap = Window_Equipmap.new(@actor)
    @eqmap.x = MOG::EQPMAPX
    @eqmap.y = MOG::EQPMAPY
    if $game_switches[MOG::EQPMAPVIS] == false
      @eqmap.visible = true 
    else
      @eqmap.visible = false     
    end
  end   
end 

#==============================================================================
# Game_Map
#==============================================================================
class Game_Map
  attr_accessor :eref
end

class Game_Interpreter
  def eref
    $eref = true
  end
  alias mog319ref command_319
  def command_319
    eref
    return mog319ref
  end
end
end


Wyświetlany ekwipunek zmienia się za pomocą klawiszy L i R (domyślnie Page Up i Down)
________________________


 
 
 
KillYou 




Preferowany:
RPG Maker VX

Dołączył: 27 Gru 2009
Posty: 49
Skąd: Wolsztyn
Wysłany: Pon 01 Lut, 2010 18:26
Dzięki Ayene! Klawisze działają!
________________________
Pozdrawiam, bo nie chcę zawsze pisać powyżej - KillYou
PS Jeżeli nie rozumiesz (pomoc) co jest napisane powyżej, to wrzucę screeny :)
The Elect
Twórca: KillYou
Pomocnicy Pr0mes, Spino333, Janus, Kacperer
============================================================

============================================================
Tekst Podpisu:
Podpis - dozwolona ilość znaków:500

Drogi użytkowniku, jeżeli czytasz te napisy to wejdź w moją galerię!
http://www.ultimateam.pl/...p?p=19178#19178

^_^
 
 
krychapl 



Preferowany:
RPG Maker XP

Dołączył: 05 Sty 2010
Posty: 38
Wysłany: Sro 10 Lut, 2010 21:40
Dałoby się przerobić ten skrypt żeby pokazywał to co dodaje rozszerzenie ekwipunku?
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Sro 10 Lut, 2010 22:03
Nie wszystkie skrypty są ze sobą kompatybilne. To o co prosisz wymagałoby zbyt wielu przeróbek.
________________________


 
 
 
krychapl 



Preferowany:
RPG Maker XP

Dołączył: 05 Sty 2010
Posty: 38
Wysłany: Sro 10 Lut, 2010 22:23
Dobra użyje tego co jest.
 
 
Asantos 




Preferowany:
RPG Maker VX

Ranga RM:
1 gra

Pomógł: 15 razy
Dołączył: 31 Sty 2010
Posty: 236
Skąd: Gniezno
Wysłany: Nie 21 Lut, 2010 15:08
a jak można ustawić, że kiedy wciśniemy "u" to okno się ukryje/pojawi?
to samo pytanie dotyczy okienka hp,mp i pd bohatera (HUD)
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Nie 21 Lut, 2010 15:27
Okienko ukrywa się, gdy wciśniesz 'D' (U nie jest domyślnie obsługiwane przez program):
Sprawdź, czy o to Tobie chodziło:
Spoiler:

Kod:
#==============================================================================
# MOG HUD Equip V1.1 VX           
# Autor XP: Moghunter         
# Przełożone na VX przez Ayene (mam nadzieję, że będzie 'śmigać' :P
#==============================================================================
if true # True = wyświetla HUD / False = nie wyświetla

module MOG
  # Położenie HUD - współrzędne x i y
  EQPMAPX = 340 # współrzędna x
  EQPMAPY = 320 # współrzędna y
 
  # Przełącznik, kontrolujący wyświetlanie HUD
  EQPMAPVIS = 5
 
  # Okno
  EQPMAPSKIN = "Window"
 
  # Przezroczystość okna HUD
  EQPMAPOPA = 0
 
  PRZYCIK_UKRYCIA = Input::Z   # "D" na klawiaturze
end

$mogscript = {} if $mogscript == nil
$mogscript["mpequip"] = true

#==============================================================================
# Window_Base
#==============================================================================
class Window_Base < Window
  def draw_equip_map(item, x, y)
    if item == nil
      return
    end
    draw_icon(item.icon_index , x + 3 , y + 34)
  end

  def draw_mequip(x, y)
    mequip = Cache.picture("Mequip")   
    cw = mequip.width
    ch = mequip.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x , y - ch + 65 ,mequip, src_rect)
  end
end

#==============================================================================
# Window_Equip_Map
#==============================================================================
class Window_Equipmap < Window_Base
  def initialize(actor)
    super(0, 0, 190, 100)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.opacity = MOG::EQPMAPOPA
    self.windowskin = Cache.system(MOG::EQPMAPSKIN)
    @actor = actor
    refresh
  end
  def refresh
    self.contents.clear
    draw_mequip(0,0)
    @data = []
    @data.push($data_weapons[@actor.weapon_id])
    @data.push($data_armors[@actor.armor1_id])
    @data.push($data_armors[@actor.armor2_id])
    @data.push($data_armors[@actor.armor3_id])
    @data.push($data_armors[@actor.armor4_id])
    self.contents.font.color = system_color
    draw_equip_map(@data[0], 32 * 0, 0)
    draw_equip_map(@data[1], 32 * 1, 0)
    draw_equip_map(@data[2], 32 * 2, 0)
    draw_equip_map(@data[3], 32 * 3, 0)
    draw_equip_map(@data[4], 32 * 4, 0)
  end
end

#==============================================================================
# Scene_Map
#==============================================================================
class Scene_Map
  alias ayene_start start
  def start
    @index = 0
    new_equip_hud
    ayene_start
  end
 
  alias ayene_terminate terminate
  def terminate
    ayene_terminate
    @eqmap.dispose
  end
 
  alias mog8_update update
  def update
    if $game_switches[MOG::EQPMAPVIS] == false
      @eqmap.visible = true
    else
      @eqmap.visible = false     
    end
    if Input.trigger?(MOG::PRZYCIK_UKRYCIA)     
      if $game_switches[MOG::EQPMAPVIS] == false
        $game_switches[MOG::EQPMAPVIS] = true
      else
        $game_switches[MOG::EQPMAPVIS] = false
      end       
      return
    end   
    if $eref == true
      @eqmap.refresh
      $eref = false
    end
    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
   
    if Input.trigger?(Input::F5) 
        @actor.change_equip(0, nil)   
    end     
   
    new_equip_hud # if @index != @actor.index
    mog8_update
  end
  def new_equip_hud
    @actor = $game_party.members[@index]
    @eqmap.dispose if !@eqmap.nil?
    @eqmap = Window_Equipmap.new(@actor)
    @eqmap.x = MOG::EQPMAPX
    @eqmap.y = MOG::EQPMAPY
    if $game_switches[MOG::EQPMAPVIS] == false
      @eqmap.visible = true
    else
      @eqmap.visible = false     
    end
    if Input.trigger?(MOG::PRZYCIK_UKRYCIA)     
      if $game_switches[MOG::EQPMAPVIS] == false
        $game_switches[MOG::EQPMAPVIS] = true
      else
        $game_switches[MOG::EQPMAPVIS] = false
      end       
      return
    end 
  end   
end

#==============================================================================
# Game_Map
#==============================================================================
class Game_Map
  attr_accessor :eref
end

class Game_Interpreter
  def eref
    $eref = true
  end
  alias mog319ref command_319
  def command_319
    eref
    return mog319ref
  end
end
end

________________________


 
 
 
Asantos 




Preferowany:
RPG Maker VX

Ranga RM:
1 gra

Pomógł: 15 razy
Dołączył: 31 Sty 2010
Posty: 236
Skąd: Gniezno
Wysłany: Nie 21 Lut, 2010 15:47
a jeśli chodzi o HUD z informacjami bohatera?
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Nie 21 Lut, 2010 17:02
Wejdź w skrypt i znajdź (linijka 6):
Kod:
POŁOŻENIE_HUD = 2

i po nim dodaj:
Kod:
PRZYCIK_UKRYCIA = Input::Z   # "D" na klawiaturze


Następnie znajdź (linijka 184):
Kod:
return if !HUD_HP_MP_EXP_NAME_FACE_LEVEL::CYCLE

po tym dodaj:
Kod:
    if Input.trigger?(AYENE::PRZYCIK_UKRYCIA)       
      if @hp_mp_exp_name_face_hud.visible
        hud(false)
      else
        hud(true)
      end     
      return
    end 
________________________


 
 
 
Asantos 




Preferowany:
RPG Maker VX

Ranga RM:
1 gra

Pomógł: 15 razy
Dołączył: 31 Sty 2010
Posty: 236
Skąd: Gniezno
Wysłany: Nie 21 Lut, 2010 18:19
nie muszę chyba mówić


ale powiem! DziĘkujĘ Ayene :)
 
 
HESEE 




Preferowany:
RPG Maker VX

Pomógł: 1 raz
Dołączył: 31 Mar 2010
Posty: 145
Wysłany: Sob 05 Mar, 2011 09:55
Da radę go na środek przenieść.
Dół środek.
________________________
http://www.poomoc.pl/
Kilka kliknięć a pomożesz innym!
Czy naprawdę to jest duża strata czasu?
W ten sposób pomożesz innym!

Pomagam bezinteresownie!
 
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Sob 05 Mar, 2011 10:10
HESEE, czytaj instrukcję :->
Kod:
  EQPMAPX = 340 # współrzędna x
  EQPMAPY = 320 # współrzędna y
________________________


 
 
 
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