# =============================================================================
# TheoAllen - Non-RPG Actor Biography
# Version : 1.0
# Contact : www.rpgmakerid.com (or) http://theolized.blogspot.com
# (This script documentation is written in informal indonesian language)
# =============================================================================
($imported ||= {})[:Theo_NonRPGBioGraphy] = true
# =============================================================================
# CHANGE LOGS:
# -----------------------------------------------------------------------------
# 2013.07.14 - Finished script
# =============================================================================
=begin
Perkenalan :
Script ini merubah menu status untuk game yang bertema non-RPG (no level,
no exp, no stats)
Cara penggunaan :
Pasang script ini dibawah material namun diatas main
Actor biography dibagi menjadi 2. Yaitu biografi atas, dan bawah.
Untuk penggunaan tag biografi, gunakan pada note actor kek gini
Biografi atas (maksimal 4 baris)
fullname : Eric Hakon
info lain : Tambahin sendiri
Biografi bawah (maksimal 6 baris)
Biografi :
Line 1 disini
Line 2 disini
Line 3 disini
Fave Quote :
United we stand
Kamu bebas nambahin info apa aja yang ada disana. Jika text dipisah dengan
titik dua (:) maka kata sebelumnya akan ditulis dengan warna biru / system
Terms of use :
Credit gw, TheoAllen. Kalo semisal u bisa ngedit2 script gw trus jadi lebih
keren, terserah. Ane bebasin. Asal ngga ngeklaim aja. Kalo semisal mau
dipake buat komersil, jangan lupa, gw dibagi gratisannya.
=end
# =============================================================================
# Tidak ada konfigurasi
# =============================================================================
class << DataManager
alias pre_load_bio_db load_database
def load_database
pre_load_bio_db
load_actor_biography
end
def load_actor_biography
$data_actors.compact.each do |actor|
actor.load_biography
end
end
end
class RPG::Actor < RPG::BaseItem
attr_accessor :bio1
attr_accessor :bio2
BIO1_REG_ON = /<(?:BIO1|bio1)>/i
BIO1_REG_OFF = /<\/(?:BIO1|bio1)>/i
BIO2_REG_ON = /<(?:BIO2|bio2)>/i
BIO2_REG_OFF = /<\/(?:BIO2|bio2)>/i
def load_biography
@bio1 = []
@bio2 = []
read_bio1 = false
read_bio2 = false
self.note.split(/[\r\n]+/).each do |line|
case line
when BIO1_REG_ON
read_bio1 = true
when BIO2_REG_ON
read_bio2 = true
when BIO1_REG_OFF
read_bio1 = false
when BIO2_REG_OFF
read_bio2 = false
else
@bio1.push(line) if read_bio1
@bio2.push(line) if read_bio2
end
end
end
end
class Game_Actor < Game_Battler
def bio1
$data_actors[id].bio1
end
def bio2
$data_actors[id].bio2
end
end
class Window_Status < Window_Selectable
BIO_REGEXP = /(.*):(.*)/i
def draw_block2(y)
draw_actor_face(@actor, 8, y)
draw_basic_info(136, y)
end
def draw_block3(y)
draw_bio2(20, y)
end
def draw_basic_info(x,y)
ypos = y
@actor.bio1.each do |bio|
case bio
when BIO_REGEXP
text = bio.split(/:/)
size = text_size(text[0]).width
change_color(system_color)
draw_text(x,ypos,contents.width,line_height,text[0]+":")
change_color(normal_color)
draw_text(x+size,ypos,contents.width,line_height,text[1])
else
change_color(normal_color)
draw_text(x,ypos,contents.width,line_height,bio)
end
ypos += line_height
end
end
def draw_bio2(x,y)
ypos = y
@actor.bio2.each do |bio|
case bio
when BIO_REGEXP
text = bio.split(/:/)
size = text_size(text[0]).width
change_color(system_color)
draw_text(x,ypos,contents.width,line_height,text[0]+":")
change_color(normal_color)
draw_text(x+size,ypos,contents.width,line_height,text[1])
else
change_color(normal_color)
draw_text(x,ypos,contents.width,line_height,bio)
end
ypos += line_height
end
end
end