Ogłoszenie 

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


Administracja Forum


Poprzedni temat «» Następny temat
Bestiariusz VX
Autor Wiadomość
Agumon 




Preferowany:
RPG Maker VX

Ranga RM:
1 gra

Pomógł: 53 razy
Dołączył: 30 Gru 2009
Posty: 515
Skąd: Ruda Śląska
Wysłany: Nie 31 Sty, 2010 11:43
Wszystko dobrze tylko jeszcze ten wyskakuje...

Inna linijka

PS : Ayene Pomożesz w tym proszę :
http://www.ultimateam.pl/viewtopic.php?t=2404
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Nie 31 Sty, 2010 13:24
A spróbuj podmienić wcześniejszy skrypt w całości na poniższy:
Spoiler:

Kod:
#===============================================================
# [VX] BESTIARIUSZ
#--------------------------------------------------------------
# by Woratana [woratana@hotmail.com]
# tłumaczenie i korekta by Ayene [yurika@o2.pl]
#--------------------------------------------------------------
# ** ZASTOSOWANIE
#--------------------------------------------------------------
# * By otworzyć Bestiariusz wywołaj skrypt:
#  $scene = Scene_MonsterBook.new

# * Kompletny wykaz potworów:
#  $game_system.set_monbook_complete

# * Zresetowanie wykazu bestii:
#  $game_system.reset_monbook
#--------------------------------------------------------------
# * Pokaż informacje o potworze z ID:
#  $game_system.monbook[id_potwora] = true

# * Ukryj informacje o potworze z ID:
#  $game_system.monbook[id_potwora] = false

# ^ Zmień 'id_potwora' na ID wybranej bestii
# ** e.g. $game_system.monbook[10] = true
#    pokazuje w Bestiariuszu dane potwora Z ID 10
#===============================================================

module Wora_Monbook

#===============================================================
# ** [Część do edycji] - Konfiguracja skryptu
#--------------------------------------------------------------
  SHOW_IN_MENU = false # Pokazuj Bestiariusz w Menu? (true / false)
  MENU_COMMAND = 'Bestiariusz' # Nazwa komendy w menu
  MENU_INDEX = 2 # Położenie w menu od góry (2 - czyli na trzeciej pozycji)
 
  TEXT_TITLE = 'Bestiariusz'
  # Tytuł Bestariusza (Wyświetla się w górnym lewym rogu okna)
  TEXT_FOUND = 'Znalezione: '
  # Tekst przed liczbą znalezionych potworów
  TEXT_COMPLETED = 'Pokonane: '
  # Tekst przed wykazem procentowym pokonanych bestii
 
  NO_RECORD_SWITCH = 10
  # Włączony przełącznik na ON -> nowo napotkane potwory nie będą dodawane do
  # bestiariusza.
 
  NO_DATA_MONSTER = [3]
  # Ukrywa bestie w bestariuszu. Wystarczy wpisać ID potwora.
  # np. [1, 3, 5] ukrywa potwory z ID 1, 3 i 5.
 
 
  module AYENE # <-- nie usuwać
   
  TEKST_ZLOTA = 'ZŁ'  # tekst ZŁOTA w bestiariuszu
  TEKST_PD = 'PD' # tekst PUNKTÓW DOŚWIADCZENIA
  TEKST_HIT = 'HIT' # tekst TRAFIENIA
  TEKST_UNIK = 'UNIK' # tekst UNIKU   
  TEKST_PRZEDMIOT_1 = 'Przedmiot 1'  # tekst pierwszego przedmiotu
  TEKST_PRZEDMIOT_2 = 'Przedmiot 2'  # tekst drugiego przedmiotu
 
  end # <-- nie usuwać
 
 
 
#===============================================================
end

# Koniec konfiguracji

#===============================================================
# ** [Alias] Game_System
#--------------------------------------------------------------
class Game_System
  attr_accessor :monbook
 
  def initialize
    @timer = 0
    @timer_working = false
    @save_disabled = false
    @menu_disabled = false
    @encounter_disabled = false
    @save_count = 0
    @version_id = 0
    create_monbook
  end
 
  def create_monbook
    @monbook ||= Array.new($data_enemies.size) {false}
  end
 
  def set_monbook_complete
    @monbook = Array.new($data_enemies.size) {true}
    @monbook[0] = false
  end
 
  def reset_monbook
    @monbook = Array.new($data_enemies.size) {false}
  end
end

#===============================================================
# ** [Alias] Game_Troop
#--------------------------------------------------------------
class Game_Troop < Game_Unit
  alias :wora_monbook_gamtroop_setup :setup
  def setup(*args)
    wora_monbook_gamtroop_setup(*args)
    $game_system.create_monbook
    unless $game_switches[Wora_Monbook::NO_RECORD_SWITCH]
      @enemies.each {|e| $game_system.monbook[e.enemy_id] = true }
    end
  end
end

#===============================================================
# ** Window_MonsterBHelp
#--------------------------------------------------------------
class Window_MonsterBHelp < Window_Base
  include Wora_Monbook
 
  def initialize
    super(0, 0, 544, WLH + 32)
    # Wyświetla tytuł Bestiariusza
    contents.font.color = system_color
    contents.draw_text(0, 0, contents.width, WLH, TEXT_TITLE)
    # Wylicza ilość znalezionych i pokonanych
    found_count = 0
    $game_system.monbook.each {|e| found_count += 1 if e }
    percent_count = (found_count * 100) / ($data_enemies.size - 1)   
    found_text = found_count.to_s + '/' + ($data_enemies.size - 1).to_s
    percent_text = percent_count.to_s + '%'
    mid_text = ' | '
    right_text = TEXT_FOUND + found_text + mid_text + TEXT_COMPLETED +
  percent_text
    # Wylicza długość tekstu
    found_t_width = contents.text_size(TEXT_FOUND).width
    found_width = contents.text_size(found_text).width
    percent_t_width = contents.text_size(TEXT_COMPLETED).width
    mid_width = contents.text_size(mid_text).width
    right_width = contents.text_size(right_text).width
    # Wyświetla ilość znalezionych i pokonanych
    contents.font.color = normal_color
    contents.draw_text(contents.width - right_width, 0, contents.width, WLH,
  TEXT_FOUND)
    contents.draw_text(contents.width - right_width + found_t_width +
  found_width, 0, contents.width, WLH, mid_text + TEXT_COMPLETED)
    contents.font.color = crisis_color
    contents.draw_text(contents.width - right_width + found_t_width, 0,
  contents.width, WLH, found_text)
    contents.draw_text(contents.width - right_width + found_t_width +
  found_width + mid_width + percent_t_width, 0, contents.width, WLH,
  percent_text)
  end
end

#===============================================================
# ** Window_MonsterBDetail
#--------------------------------------------------------------
class Window_MonsterBDetail < Window_Base
  def initialize(window_temp)
    super(window_temp.x, window_temp.y, window_temp.width, window_temp.height)
    self.opacity = 0
    @win_image = Window_Base.new(self.x, self.y, self.width, self.height)
    self.z = @win_image.z + 1
    @last_enemy = 0
  end
 
  def visible=(bool)
    super
    @win_image.visible = bool
  end
 
  def dispose
    @win_image.dispose
    super
  end
 
  def write_detail(enemy_id)
    return if @last_enemy == enemy_id
    contents.clear
    @win_image.contents.clear
    @last_enemy = enemy_id
    data = $data_enemies[enemy_id]
    # Grafika potwora
    bitmap = Cache.battler(data.battler_name, data.battler_hue)
    bw = bitmap.width < 160 ? (160 - bitmap.width) / 2 : 0
    bh = contents.height - bitmap.height
    @win_image.contents.blt(bw, bh, bitmap, bitmap.rect)
    bitmap.dispose
    # Wyświetl nazwę
    contents.font.color = normal_color
    contents.draw_text(0, 0, contents.width, WLH,
  data.id.to_s + '. ' + data.name)
    # Wyświetl status potwora
    hpx = 120
    draw_enemy_stat(data, contents.width - (hpx * 2) - 32, 0, hpx, 'hp')
    draw_enemy_stat(data, contents.width - hpx, 0, hpx, 'mp')
    draw_enemy_stat(data, contents.width - (hpx * 2) - 32, WLH * 2, hpx, 'atk')
    draw_enemy_stat(data, contents.width - hpx, WLH * 2, hpx, 'def')
    draw_enemy_stat(data, contents.width - (hpx * 2) - 32, WLH * 3, hpx, 'spi')
    draw_enemy_stat(data, contents.width - hpx, WLH * 3, hpx, 'agi')
    draw_enemy_stat(data, contents.width - (hpx * 2) - 32, WLH * 4, hpx, 'hit')
    draw_enemy_stat(data, contents.width - hpx, WLH * 4, hpx, 'eva')
    draw_enemy_stat(data, contents.width - (hpx * 2) - 32, WLH * 6, hpx, 'exp')
    draw_enemy_stat(data, contents.width - hpx, WLH * 6, hpx, 'gold')
    rect = Rect.new(contents.width - (hpx * 2) - 8, (WLH * 8) - 8, 216,
  (WLH * 4) + 16)
    contents.fill_rect(rect, Color.new(0,0,0,140))
    lsize = 2 # Wielkość linii
    lcolor = Color.new(255,255,255,160) # Kolor linii
    contents.fill_rect(rect.x, rect.y, lsize, rect.height, lcolor)
    contents.fill_rect(rect.x, rect.y, rect.width, lsize, lcolor)
    contents.fill_rect(rect.x + rect.width - lsize, rect.y, lsize,
  rect.height, lcolor)
    contents.fill_rect(rect.x, rect.y + rect.height - lsize, rect.width,
  lsize, lcolor)
    contents.font.color = system_color
    contents.draw_text(contents.width - (hpx * 2), WLH * 8, 200, WLH,
  Wora_Monbook::AYENE::TEKST_PRZEDMIOT_1)
    draw_enemy_drop(data, 1, contents.width - (hpx * 2), WLH * 9)
    contents.font.color = system_color
    contents.draw_text(contents.width - (hpx * 2), WLH * 10, 200, WLH,
  Wora_Monbook::AYENE::TEKST_PRZEDMIOT_2)
    draw_enemy_drop(data, 2, contents.width - (hpx * 2), WLH * 11)
  end
 
  def draw_enemy_info(actor, x, y, width, info)   
 contents.draw_text(270, 25, 80, WLH, Ayene::ENEMY_INFO[actor.id])
   
  end
 

  def draw_enemy_stat(actor, x, y, width, stat)
    color1 = system_color
    color2 = normal_color
    slash = false   
    case stat
    when 'hp'
      vocab = Vocab::hp
      number = actor.maxhp     
      slash = true
    when 'mp'
      vocab = Vocab::mp
      number = actor.maxmp     
      slash = true
    when 'atk'
      vocab = Vocab::atk
      number = actor.atk     
    when 'def'
      vocab = Vocab::def
      number = actor.def     
    when 'spi'
      vocab = Vocab::spi
      number = actor.spi     
    when 'agi'
      vocab = Vocab::agi
      number = actor.agi     
    when 'hit'
      vocab = Wora_Monbook::AYENE::TEKST_HIT
      number = actor.hit     
    when 'eva'
      vocab = Wora_Monbook::AYENE::TEKST_UNIK
      number = actor.eva     
    when 'exp'
      vocab = Wora_Monbook::AYENE::TEKST_PD
      number = actor.exp
      color2 = crisis_color
    when 'gold'
      vocab = Wora_Monbook::AYENE::TEKST_ZLOTA
      number = actor.gold
      color2 = crisis_color
    end   
    contents.font.color = color1
    contents.draw_text(x, y, 50, WLH, vocab)
    xr = x + width
    contents.font.color = color2
    if slash
      contents.draw_text(xr - 95, y, 40, WLH, number, 2)
      contents.draw_text(xr - 55, y, 11, WLH, '/', 2)
    end
    w_ava = slash ? 40 : 80
    contents.draw_text(xr - w_ava, y, w_ava, WLH, number, 2)
  end
 
  def draw_enemy_drop(actor, drop_id, x, y)
    drop = eval('actor.drop_item' + drop_id.to_s)
    if drop.kind.zero?
      contents.font.color = normal_color
      contents.draw_text(x, y, 200, WLH, "  ---------")
    else
      case drop.kind
      when 1; item = $data_items[drop.item_id]
      when 2; item = $data_weapons[drop.weapon_id]
      when 3; item = $data_armors[drop.armor_id]
      end
      draw_item_name(item, x, y)
    end
  end
end
#===============================================================
# ** Scene_MonsterBook
#--------------------------------------------------------------
class Scene_MonsterBook < Scene_Base
  def initialize(from_menu = false)
    @from_menu = from_menu
  end
 
  def start
    super
    create_menu_background
    $game_system.create_monbook
    @window_help = Window_MonsterBHelp.new
    # Tworzenie listy potworów
    monlist = []
    $game_system.monbook.each_index do |i|
      next if i == 0
      # Jeśli gracz znalazł potwora
      if $game_system.monbook[i] and
    !Wora_Monbook::NO_DATA_MONSTER.include?(i)
        montext = i.to_s + '. ' + $data_enemies[i].name
      else # Jeśli gracz nie znalazł
        montext = i.to_s + '.'       
      end
      monlist << montext
    end
    @window_monlist = Window_Command.new(544, monlist, 2)
    @window_monlist.y = @window_help.height
    @window_monlist.height = Graphics.height - @window_help.height
    @window_monlist.active = true
    @window_mondetail = Window_MonsterBDetail.new(@window_monlist)
    @window_mondetail.visible = false
  end
 
  def update
    super
    if @window_monlist.active
      @window_monlist.update
      if Input.trigger?(Input::C)
        # Wyświetlenie informacji o potworze
        if $game_system.monbook[@window_monlist.index + 1] and
        !Wora_Monbook::NO_DATA_MONSTER.include?(@window_monlist.index + 1)
          Sound.play_decision
          @window_monlist.active = false
          @window_monlist.visible = false
          @window_mondetail.active = true
          @window_mondetail.visible = true
          @window_mondetail.write_detail(@window_monlist.index + 1)
        else
          Sound.play_cancel
        end
      elsif Input.trigger?(Input::B)
        Sound.play_cancel
        # Powrót
        $scene = @from_menu ? Scene_Menu.new(Wora_Monbook::MENU_INDEX) :
      Scene_Map.new
      end
    elsif @window_mondetail.active
      if Input.trigger?(Input::B)
        Sound.play_cancel
        @window_monlist.active = true
        @window_monlist.visible = true
        @window_mondetail.active = false
        @window_mondetail.visible = false
      end
    end
  end
 
  def terminate
    super
    dispose_menu_background
    @window_help.dispose
    @window_monlist.dispose
    @window_mondetail.dispose
  end
end

________________________


 
 
 
cj2 




Preferowany:
RPG Maker VXAce

Ranga RM:
1 gra

Pomógł: 6 razy
Dołączył: 07 Mar 2010
Posty: 261
Skąd: Gliwice
Wysłany: Sro 10 Mar, 2010 14:35
A można zmienić nazwę bestiaurusza na np. Spis wrogów ?
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Sro 10 Mar, 2010 22:00
Tak, można w linijce:
Kod:
MENU_COMMAND = 'Bestiariusz' # Nazwa komendy w menu
________________________


 
 
 
FireBlade 




Preferowany:
RPG Maker VX

Pomogła: 8 razy
Dołączyła: 04 Kwi 2010
Posty: 243
Skąd: Opole
Wysłany: Wto 04 Maj, 2010 23:04
A mi nie wyświetla pokonanego potwora ale pisze że znalezione 1/30 po jego pokonaniu
jak to naprawić ? :/
________________________
"Nigdy się nie tłumacz, przyjaciele tego nie potrzebują a wrogowie i tak nie uwierzą.,"

"Oklaski są z łaski a brawa to wielka sprawa"

"Akcpetuję tylko wodę, mountain dew i coca colę zero..."

DeviantArt : http://divinekataroshie.deviantart.com/
 
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Sro 05 Maj, 2010 09:01
Jesteś pewna, że ID potworka nie jest wymienione tutaj:
Kod:
NO_DATA_MONSTER = [1, 3]

Jak wiadomo w powyższej tablicy wpisuje się ID potworów z Bazy danych po to, aby ich dane się nie wyświetlały.
________________________


 
 
 
sitax5 



Preferowany:
RPG Maker VX

Dołączył: 08 Cze 2010
Posty: 32
Wysłany: Wto 20 Lip, 2010 15:59
kiedy włączam kod do normalnego spisu wszystkich potworów i otwieram w menu przedmioty(bo zrobiłem książke z listą wszystkich potworów) to pojawia się błąd o takiej treści:
??? 'MonsterBook' ? 459 ??? NoMethodError ????????
undefined method `index' for nil:NilClass
________________________
Kliknij albo giń!!!
http://www.glitery.pl/polecam,sitax5
 
 
Flanagan 




Preferowany:
RPG Maker VX

Pomógł: 9 razy
Dołączył: 26 Sty 2010
Posty: 181
Skąd: Ziemia
Wysłany: Wto 20 Lip, 2010 16:18
napisałeś "MonsterBook
napisz to i będzie dobrze:
$scene = Scene_MonsterBook.new
 
 
sitax5 



Preferowany:
RPG Maker VX

Dołączył: 08 Cze 2010
Posty: 32
Wysłany: Wto 20 Lip, 2010 17:31
chodzi mi oto żebym nie musiał pokonywać potworów tylko odrazu będą wszystkie z informacjami i żeby niebyło napisów: Pokonane 0% Znalezione 0/30 bo jak próbuje wpisać kod aktywujący pełną liste potworów to nic się nie dzieje
________________________
Kliknij albo giń!!!
http://www.glitery.pl/polecam,sitax5
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Wto 20 Lip, 2010 18:43
Używając polecenia "Script" w edycji zdarzeń, wywołaj:
Kod:
$game_system.set_monbook_complete
________________________


 
 
 
sitax5 



Preferowany:
RPG Maker VX

Dołączył: 08 Cze 2010
Posty: 32
Wysłany: Sro 21 Lip, 2010 07:59
Songoxyz
Hyba skrypt koliduje z ring menu bo jak klikam przedmioty albo coś to mi to wyskakuje
Ayene
Cały czas używam tego kodu ale nic się nie dzieje jak by projekt wogóle nie zwracał uwagi na to
________________________
Kliknij albo giń!!!
http://www.glitery.pl/polecam,sitax5
 
 
Karlos 




Preferowany:
RPG Maker VX

Dołączył: 31 Lip 2010
Posty: 8
Wysłany: Nie 01 Sie, 2010 10:50
A jak zrobić tak, aby niektóre potwory nie pojawiały się w Bestiariuszu wogóle? Żeby nie było informcji Pokonane 10% Znalezione 1/10 gdy wygra się walkę z nowym stworem oraz żeby nie było miejsca na nie?
 
 
pokpo 




Preferowany:
RPG Maker VX

Pomógł: 1 raz
Dołączył: 29 Wrz 2010
Posty: 30
Wysłany: Sob 06 Lis, 2010 22:38
da się zrobić żeby ten skrypt działał ze skryptem WALKA W CZASIE RZECZYWISTYM
tzn. jak zabije potwora w czasie rzeczywistym to wyświetla się on w bestariuszu
 
 
Itaki 




Preferowany:
RPG Maker VX

Ranga RM:
1 gra

Pomógł: 8 razy
Dołączył: 07 Maj 2010
Posty: 278
Skąd: z Arvorii.
Wysłany: Wto 23 Lis, 2010 14:15
A można ten skrypt skonfigurować na menu środkowe??
________________________
Proponuje:

http://r9.fodey.com/2141/...37ef9c849.0.gif
http://grawbank.tk/959/dajcie_na_piwo
http://grawbank.tk/797/daj_dla_biedacka_ < tu musisz wcisnąć!



SIEMANO Gość
 
 
 
kylu31 



Preferowany:
RPG Maker VX

Dołączył: 20 Lis 2010
Posty: 16
Wysłany: Wto 23 Lis, 2010 19:31
mam pytanie co do tego bo fajnie i pięknie wszystko ale jak daje aby w bestariuszu nie widać jak dam putworka nr.1 nie wiem jak to wysłumaczyć jak jest :
1. 2.
3. 4.
5. 6.

to nie moge dac potworków pod 1,3,5 itd a z prawej stronie 1,4,6 itd. widać (nazwy ?) no ;p i lepiej tego wytłumaczyć nie umiem :D
 
 
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