UltimaForum

Wsparcie [XP] - HUD przedmiotów i ekwipunku

krychu18 - Sob 10 Kwi, 2010 18:38
Temat postu: HUD przedmiotów i ekwipunku
Potrzebuję skryptu i obrazku (jeżeli będzie potrzebny) dzięki któremu będzie widać na mapie wszystkie przedmioty i ekwipunek. Wykona ktoś?
Ayene - Sob 10 Kwi, 2010 19:03

Jest HUD Ekwipunku XP :arrow: http://www.ultimateam.pl/viewtopic.php?t=2454
krychu18 - Nie 11 Kwi, 2010 16:25

wiem , ale mi chodzi o wszystkie przedmioty widoczne np. mikstury.
Ayene - Pon 12 Kwi, 2010 09:56

To gdzie ma być je widać? Wszystkie ikony na mapie? Przecież to przesada.
Bezel - Pon 12 Kwi, 2010 20:11

mu chyba chodzi o taki pasek na dole czy na gorze gdzie są przedmioty :P
krychu18 - Czw 15 Kwi, 2010 19:48

Tak , o to mi chodzi. (Ayene chodzi mi oto , że na przykład mam 3 takie same przedmioty i pokazuje mi się ikona tego przedmiotu i jego ilość) i najlepiej żeby była ograniczona ilość przedmiotów np. 15
Ayene - Wto 20 Kwi, 2010 12:50

Spróbuj to:
Spoiler:

Kod:
#==============================================================================
# MOG MPW Equip V1.1  /   HUD Przedmiotów XP         
#==============================================================================
# Autor: Moghunter   
#==============================================================================
# Tłumaczenie i korekta (wyświetlanie przedmiotów zamiast ekwipunku): Ayene   
# Skrypt przerobiony tak, aby pokazywał przedmioty, a nie elementy ekwipunku.
#==============================================================================
# Skrypt wyświetla na mapie HUD z przedmiotami.
# Instalacja: Umieść skrypt nad Main.
#==============================================================================

if true # True = wyświetla HUD / False = nie wyświetla

module MOG
  module Ayene
 
  # Przełącznik, kontrolujący wyświetlanie HUD
   EQPMAPVIS = 5
 
  # położenie HUD:
   # 0 - lewy górny róg
   # 1 - prawy górny róg
   # 2 - lewy dolny róg
   # 3 - prawy dolny róg
   # 4 - ręczne
   EQPMAPPO = 2   
   
  # Położenie HUD (gdy wybrano ręczne) - współrzędne x i y
   EQPMAPX = 210 # współrzędna x
   EQPMAPY = 290 # współrzędna y
   
  # ID przedmiotów, które będą wyświetlane w pasku
   ID_PRZEDMIOTÓW = [16, 2, 3, 5, 17, 13, 19, 24]   
   
  # Wielkość dopasowana do ilości przedmiotów
   DOPASOWANA_WIELKOŚĆ_HUD = true
   
  # Ilość slotów na przedmioty, gdy wybrano false
   ILOŚĆ_SLOTÓW = 19
 end
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
    bitmap = RPG::Cache.icon(item.icon_name)
    self.contents.blt(x + 3, y + 3, bitmap, Rect.new(0, 0, 24, 24))   
   
    number = $game_party.item_number(item.id)
    self.contents.font.color = normal_color
    self.contents.font.size = 16
    self.contents.draw_text(x + 4, y + 3, 24, 32, number.to_s, 2)
  end
 
  def draw_mequip(x, y)   
    mequip = RPG::Cache.picture("sqequip")   
    cw = mequip.width
    ch = mequip.height
    src_rect = Rect.new(0, 0, cw, ch)     
    @data = []
    for i in 0...$data_items.size     
      if $game_party.item_number(i) > 0 && MOG::Ayene::ID_PRZEDMIOTÓW.include?(i)
        @data.push($data_items[i])             
      end
    end 
    if MOG::Ayene::DOPASOWANA_WIELKOŚĆ_HUD
      for i in 0...@data.size
        self.contents.blt(32 * i, y, mequip, src_rect)         
      end   
    else
      for i in 0...MOG::Ayene::ILOŚĆ_SLOTÓW
        self.contents.blt(32 * i, y, mequip, src_rect)         
      end 
    end   
  end
end

class Window_Equipmap < Window_Base
  def initialize(width)
    super(0, 0, width, 100)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.opacity = 0
    @width = width
    refresh
  end
  def refresh
    self.contents.clear
    draw_mequip(0,0)       
    @data = []
    for i in 0...$data_items.size     
      if $game_party.item_number(i) > 0 && MOG::Ayene::ID_PRZEDMIOTÓW.include?(i)
        @data.push($data_items[i])             
      end
    end     
    @item_max = @data.size
    if @item_max > 0   
      for i in 0...@item_max
        draw_equip_map(@data[i], 32 * i, 0)         
      end     
    end     
  end
end

#==============================================================================
# Scene_Map
#==============================================================================
class Scene_Map
  alias mog8_main main
  def main   
    @data = []
    for i in 0...$data_items.size     
      if $game_party.item_number(i) > 0 && MOG::Ayene::ID_PRZEDMIOTÓW.include?(i)
        @data.push($data_items[i])             
      end
    end
    if MOG::Ayene::DOPASOWANA_WIELKOŚĆ_HUD     
      eqmap_slots = 32 + @data.size * 32
    else
      eqmap_slots = 32 + MOG::Ayene::ILOŚĆ_SLOTÓW * 32
    end   
    @eqmap = Window_Equipmap.new(190 + eqmap_slots)       
    case MOG::Ayene::EQPMAPPO
    when 0
      @eqmap.x = 0
      @eqmap.y = 0     
    when 1
      @eqmap.x = 640 - eqmap_slots
      @eqmap.y = 0     
    when 2
      @eqmap.x = 0
      @eqmap.y = 420       
    when 3         
      @eqmap.x = 640 - eqmap_slots
      @eqmap.y = 420   
    when 4
      @eqmap.x = MOG::Ayene::EQPMAPX
      @eqmap.y = MOG::Ayene::EQPMAPY
    end   
    if $game_switches[MOG::Ayene::EQPMAPVIS] == false
      @eqmap.visible = true
    else
      @eqmap.visible = false     
    end     
    mog8_main
    @eqmap.dispose
  end
 
  alias mog8_update update
  def update
    if $game_switches[MOG::Ayene::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 Interpreter
  def eref
    $eref = true
  end
  alias mog319ref command_319
  def command_319
    eref
    return mog319ref
  end
 
  alias mog126ref command_126
  def command_126
    eref
    return mog126ref
  end
end
end


Umieść w folderze Graphics/Pictures poniższy obrazek:
Spoiler:

sqequip.png


A całość powinna wyglądać tak:
Spoiler:


krychu18 - Sob 24 Kwi, 2010 09:14

Dzięki Ayene , ale mogłabyś mi powiedzieć jak się aktywuje ten przełącznik EQPMAPVIS = 5 ( bo nie wiem)
Czeliosss - Sob 24 Kwi, 2010 09:15

To jest zwykły przełącznik.
Pzdr.

pw115 - Sob 24 Kwi, 2010 09:18

Dodam jeszcze że to przełącznik o id 5 ;-)

Powered by phpBB modified by Przemo © 2003 phpBB Group