# * 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 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
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
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
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
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?
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
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
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