RMRK is retiring.
Registration is disabled. The site will remain online, but eventually become a read-only archive. More information.
[RMXP] Items Book and Bestiary

0 Members and 1 Guest are viewing this topic.

*
Rep: +0/-0Level 84
Bestiary and Items Book
by Cold

If you use this script, it’s essential that you give the credits to the creator.

Characteristics

This script creates a Bestiary and Items Book that is possible to see information of monsters and items. It have also a system the monsters drop limitless items. And also a system of treasures.

Screenshots
Spoiler for Screnshots:




Instructions

Customization in Script. Like too has the system of treasure, to the item to be considered a treasure, it must have a attribute called treasure. (Customizable in Script)

Scripts

Insert this Script above main (Cold Module):
Code: [Select]
################################################################################
################################################################################
########################### Cold Module ########################################
################################################################################
################################################################################
#===============================================================================
# By Cold Strong
#===============================================================================
# Cold Module
#-------------------------------------------------------------------------------
# This script count some functions used by my scripts
# Obs: It is some imcomplete...
#===============================================================================

class Customs_Data
 
  attr_accessor   :actors       
  attr_accessor   :classes     
  attr_accessor   :skills       
  attr_accessor   :items         
  attr_accessor   :weapons       
  attr_accessor   :armors       
  attr_accessor   :enemies       
  attr_accessor   :troops       
  attr_accessor   :states       
  attr_accessor   :animations   
  attr_accessor   :tilesets     
  attr_accessor   :common_events
  attr_accessor   :system
  attr_accessor   :map_infos
  attr_accessor   :maps
 
  def initialize
    @actors        = load_data("Data/Actors.rxdata")
    @classes       = load_data("Data/Classes.rxdata")
    @skills        = load_data("Data/Skills.rxdata")
    @items         = load_data("Data/Items.rxdata")
    @weapons       = load_data("Data/Weapons.rxdata")
    @armors        = load_data("Data/Armors.rxdata")
    @enemies       = load_data("Data/Enemies.rxdata")
    @troops        = load_data("Data/Troops.rxdata")
    @states        = load_data("Data/States.rxdata")
    @animations    = load_data("Data/Animations.rxdata")
    @tilesets      = load_data("Data/Tilesets.rxdata")
    @common_events = load_data("Data/CommonEvents.rxdata")
    @system        = load_data("Data/System.rxdata")
    @maps = {}
    for i in 1..999
      number = sprintf("%03d", i)
      if FileTest.exist?("Data/Map#{number}.rxdata")
        @maps[i] = load_data("Data/Map#{number}.rxdata")
      else
        break
      end
    end
    @map_infos     = load_data("Data/MapInfos.rxdata")
  end
 
  def [](str)
    return @customs_data[str]
  end
 
end

module Cold
   
  $data = Customs_Data.new
 
end

class Window_Base < Window
 
 
  #--------------------------------------------------------------------------
  # - Desenhar Gráfico
  #
  #     t     : Texto a ser feita as linhas
  #     width : Largura máxima da linha
  #     
  #     - Ele retorna uma array, em que cada elemento é uma string
  #       com a largura desejada.
  #--------------------------------------------------------------------------
 
  def lines(t, width)
    text = t.clone
    x = self.contents.text_size(text).width / width
    x += 1 if self.contents.text_size(text).width % width > 0
    texts = []
    for i in 0...x
      texts.push("")
    end
    for i in 0...texts.size
      words = text.split(" ")
      return_text = ""
      for w in 0...words.size
        word = words[w]
        x = "!@$%¨&*()"
        return_text += word + x + " "
        return_text2 = return_text.gsub(x,"")
        t_width = self.contents.text_size(return_text2).width
        if t_width > width
          texts[i] = return_text.gsub(" "+word+x, "")
          text.gsub!(texts[i], "")
          break
        elsif w == words.size - 1
          texts[i] = return_text.gsub(x+" ", "")
          text.gsub!(texts[i], "")
          break
        else
          return_text.gsub!(word+x, word)
        end
      end
    end
    return texts
  end
 
  def draw_text_in_lines(x, y_initial, width, height, text)
    lines = lines(text, width)
    y = y_initial
    for text_line in lines
      self.contents.draw_text(x, y, width, height, text_line)
      y += height
    end
  end
   
end

After, insert this other script above main and below previous script:
Script is Attachments cause it's very big

How to use:

To call the Items Menu:
    $scene = Scene_ItemsBook.new

To call the Bestiary Menu:
    $scene = Bestiary.new

Obs.: It's necessary a picture in the directory Graphics/Pictures to be a background of menus. To change the name of picture, go to the line 42 of Script.

Demo



Credits

Cold Strong (me)

**
Rep: +0/-0Level 84
Kool script i love it!
but i cant download the demo error in finding link  :-\



*
Rep: +0/-0Level 83
I got small problem with bestiary part...
Items book works good but I get this error when trying Bestiary:
NameError occurred while running script

uninitialized constant Interpreter::Bestiary

Help please!

*
Rep: +0/-0Level 83
I got small problem with bestiary part...
Items book works good but I get this error when trying Bestiary:
NameError occurred while running script

uninitialized constant Interpreter::Bestiary

Help please!

I get that problem aswell... Cold, can you help please? Thanks in advance  :)

**
Rep: +0/-0Level 83
Yes, I get an error with the beastiary too, it keep throwing up an error at line 51, something about an "undefined method" did anyone else have this issue?
The things we do for pizza!

*****
Rep:
Level 84
This text is way too personal.
Bronze - GIAW 11 (Hard)Silver - GIAW Halloween
I got small problem with bestiary part...
Items book works good but I get this error when trying Bestiary:
NameError occurred while running script

uninitialized constant Interpreter::Bestiary

Help please!

I get that problem aswell... Cold, can you help please? Thanks in advance  :)
Instead of writing $scene = Bestiary.new, write $scene = Scene_Bestiary.new. I think that should fix up the problem. It worked for me!
Yes, I get an error with the beastiary too, it keep throwing up an error at line 51, something about an "undefined method" did anyone else have this issue?
Before you place the bestiary in, place the add on of the bestiary on top of the main bestiary class. That should fix it up.

**
Rep: +0/-0Level 76
SuperSpecialAwesome
Sorry for necroing, can someone reupload this script?



*****
my name is Timothy what's yours
Rep:
Level 79
Hello
2014 Most Missed Member2014 Zero to Hero2014 Best IRC Quote2012 Zero To HeroSecret Santa 2012 ParticipantContestant - GIAW 9For frequently finding and reporting spam and spam bots2011 Zero to Hero
This thread is a zombie! :zombie:
If you follow this link for the demo, you will find that "The file link that you requested is not valid.", but if you just click on the attachment that will work. You don't really need the demo anyway, it's quite self-explanatory (even though I work with VX.).
it's like a metaphor or something i don't know