PortalPortal  InícioInício  FAQFAQ  BuscarBuscar  Registrar-seRegistrar-se  Conectar-se  

Compartilhe|

Tales of Symphonia Menu

Ver o tópico anterior Ver o tópico seguinte Ir em baixo
AutorMensagem
Douglanilo
avatar
Mestre
Mestre

Masculino Postagens : 959
Data de inscrição : 02/04/2009


Ver perfil do usuário http://www.twevergrand.com
MensagemAssunto: Tales of Symphonia Menu Dom Out 11, 2009 4:09 pm

Tales of Symphonia Menu
por Vash-X


Introdução
Este script muda o estilo do menu para o estilo do famoso jogo Tales of Symphonia.

Como usar
Renomeie a imagem abaixo para "cursor" e coloque-a dentro da pasta de Windowskins:


Crie um novo script acima do Main e coloque o script dentro dele.

Vá até o Scene_Title e abaixo de $data_system = load_data("Data/System.rxdata"), adicione:
Citação :
$data_map_infos = load_data("Data/MapInfos.rxdata")

script
Código:
#============================================================
# Tales of Symphonia Menu
# Compilado por: Vash (aka Vash-X, Edward Elric, Gadguard)
# Criado em: 27 de Dezembro de 2005
# Última atualização: 4 de Janeiro de 2006
# Versão: 1.2
# Créditos do autor: Vários sites japoneses e os membros do RMXP.net
# Este menu foi feito à tempo atrás junto e eu fui acrecentando varios scripts mas não
# lembro de todos os lugares e quais scripts usei.
# Traduzido por: Darkjouse 
#============================================================

class Window_Base < Window

def draw_actor_hp_meter_line(actor, x, y, width = 156, height = 4)
w = width * actor.hp / actor.maxhp
hp_color_1 = Color.new(255, 0, 0, 192)
hp_color_2 = Color.new(255, 255, 0, 192)
self.contents.fill_rect(x+8, y+4, width, (height/4).floor, Color.new(0, 0, 0, 128))
draw_line(x, y, x + w, y, hp_color_1, (height/4).floor, hp_color_2)
x -= 1
y += (height/4).floor
self.contents.fill_rect(x+8, y+4, width, (height/4).ceil , Color.new(0, 0, 0, 128))
draw_line(x, y, x + w, y, hp_color_1, (height/4).ceil , hp_color_2)
x -= 1
y += (height/4).ceil
self.contents.fill_rect(x+8, y+4, width, (height/4).ceil , Color.new(0, 0, 0, 128))
draw_line(x, y, x + w, y, hp_color_1, (height/4).ceil , hp_color_2)
x -= 1
y += (height/4).ceil
self.contents.fill_rect(x+8, y+4, width, (height/4).floor, Color.new(0, 0, 0, 128))
draw_line(x, y, x + w, y, hp_color_1, (height/4).floor, hp_color_2)
end

def draw_actor_sp_meter_line(actor, x, y, width = 156, height = 4)
w = width * actor.sp / actor.maxsp
hp_color_1 = Color.new( 0, 0, 255, 192)
hp_color_2 = Color.new( 0, 255, 255, 192)
self.contents.fill_rect(x+8, y+4, width, (height/4).floor, Color.new(0, 0, 0, 128))
draw_line(x, y, x + w, y, hp_color_1, (height/4).floor, hp_color_2)
x -= 1
y += (height/4).floor
self.contents.fill_rect(x+8, y+4, width, (height/4).ceil , Color.new(0, 0, 0, 128))
draw_line(x, y, x + w, y, hp_color_1, (height/4).ceil , hp_color_2)
x -= 1
y += (height/4).ceil
self.contents.fill_rect(x+8, y+4, width, (height/4).ceil , Color.new(0, 0, 0, 128))
draw_line(x, y, x + w, y, hp_color_1, (height/4).ceil , hp_color_2)
x -= 1
y += (height/4).ceil
self.contents.fill_rect(x+8, y+4, width, (height/4).floor, Color.new(0, 0, 0, 128))
draw_line(x, y, x + w, y, hp_color_1, (height/4).floor, hp_color_2)
end

alias xrxs_bp7_draw_actor_name draw_actor_name
def draw_actor_name(actor, x, y)
xrxs_bp7_draw_actor_name(actor, x, y) if @draw_ban != true
end

alias xrxs_bp7_draw_actor_state draw_actor_state
def draw_actor_state(actor, x, y, width = 120)
xrxs_bp7_draw_actor_state(actor, x, y, width) if @draw_ban != true
end

alias xrxs_bp7_draw_actor_hp draw_actor_hp
def draw_actor_hp(actor, x, y, width = 144)
xrxs_bp7_draw_actor_hp(actor, x, y, width) if @draw_ban != true
end

alias xrxs_bp7_draw_actor_sp draw_actor_sp
def draw_actor_sp(actor, x, y, width = 144)
xrxs_bp7_draw_actor_sp(actor, x, y, width) if @draw_ban != true
end
end

class Window_Base

def draw_line(start_x, start_y, end_x, end_y, start_color, width = 1, end_color = start_color)
distance = (start_x - end_x).abs + (start_y - end_y).abs
if end_color == start_color
for i in 1..distance
x = (start_x + 1.0 * (end_x - start_x) * i / distance).to_i
y = (start_y + 1.0 * (end_y - start_y) * i / distance).to_i
self.contents.fill_rect(x, y, width, width, start_color)
end
else
for i in 1..distance
x = (start_x + 1.0 * (end_x - start_x) * i / distance).to_i
y = (start_y + 1.0 * (end_y - start_y) * i / distance).to_i
r = start_color.red * (distance-i)/distance + end_color.red * i/distance
g = start_color.green * (distance-i)/distance + end_color.green * i/distance
b = start_color.blue * (distance-i)/distance + end_color.blue * i/distance
a = start_color.alpha * (distance-i)/distance + end_color.alpha * i/distance
self.contents.fill_rect(x, y, width, width, Color.new(r, g, b, a))
end
end
end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

class Bitmap

ShadowIndent = 2 # Size of the shadow (usually 1..3)
ShadowColour = Color.new(0, 0, 0, 255)# the colour of the shadow
# the 4th value is transparency (0-255)

unless @ja_ta_feito == 1 # Fix for F12 Reboot by P@nCHo
alias draw_text_plain draw_text
@ja_ta_feito = 1
end

def draw_text(arg1 = 0, arg2 = 0, arg3 = 0, arg4 = 0, arg5 = 0, arg6 = 0)
if arg1.is_a?(Rect)
x = arg1.x
y = arg1.y
width = arg1.width
height = arg1.height
string = arg2
align = arg3
else
x = arg1
y = arg2
width = arg3
height = arg4
string = arg5
align = arg6
end
colour = self.font.color.dup
self.font.color = ShadowColour
draw_text_plain(x + ShadowIndent, y + ShadowIndent, width, height, string, align)
draw_text_plain(x + 1, y + 1, width, height, string, align)
draw_text_plain(x + 1, y - 1, width, height, string, align)
draw_text_plain(x - 1, y - 1, width, height, string, align)
draw_text_plain(x - 1, y + 1, width, height, string, align)
self.font.color = colour
draw_text_plain(x, y, width, height, string, align)
end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

module PARA_LEFT_CURSOR
FILE_NAME = "cursor"
TYPE = 0

end

class Window_Base
alias cursor_rect_para_lcr cursor_rect
def cursor_rect=(rect)
if PARA_LEFT_CURSOR::TYPE == 1
super(rect)
end
empty = Rect.new(0,0,0,0)
if rect != empty and self.visible != false and @index != -1
if @cursor == nil or @cursor.disposed?
@cursor = Sprite.new
@cursor.bitmap = RPG::Cache.windowskin(PARA_LEFT_CURSOR::FILE_NAME)
end
@cursor.x = self.x + rect.x
cy = (rect.height-32) / 2
@cursor.y = self.y + cy + rect.y + 16
@cursor.z = self.z + 2
elsif @cursor != nil
@cursor.dispose
end
end
alias dispose_para_cur dispose
def dispose
super
if @cursor != nil
@cursor.dispose
end
end
def visible=(bool)
super
if @cursor != nil and bool == false
@cursor.dispose
end
end
def x=(x)
super
if @index != nil
update_cursor_rect
end
end
def y=(y)
super
if @index != nil
update_cursor_rect
end
end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

module PARA_BATTLE_COUNT

TYPE = 1
NAME_ENCOUNT = "Encounters"
NAME_DEFEAT = "Defeats"
NAME_ESCAPE = "Escapes"
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

class Game_Party
attr_reader :battle_count
attr_reader :defeat_count
attr_reader :escape_count
alias initialize_para_battle_count initialize
def initialize
initialize_para_battle_count
@battle_count = 0
@defeat_count = 0
@escape_count = 0
end
def increase_battle_count
@battle_count = [@battle_count + 1, 9999999].min
end
def increase_defeat_count(count)
@defeat_count = [@defeat_count + count, 9999999].min
end
def increase_escape_count
@escape_count = [@escape_count + 1, 9999999].min
end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

class Scene_Battle

alias start_phase1_para_battle_count start_phase1
def start_phase1
@enemies_count = $game_troop.enemies.size
start_phase1_para_battle_count
end
alias battle_end_para_battle_count battle_end
def battle_end(result)
case result
when 0
$game_party.increase_battle_count
$game_party.increase_defeat_count(@enemies_count)
when 1
$game_party.increase_battle_count
$game_party.increase_escape_count
exist_enemy = 0
for enemy in $game_troop.enemies
if enemy.exist?
exist_enemy += 1
end
end
@enemies_count = @enemies_count - exist_enemy
$game_party.increase_defeat_count(@enemies_count)
end
battle_end_para_battle_count(result)
end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

class Window_Other < Window_Base

def initialize
super(0, 0, 170, 386)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $defaultfonttype
self.contents.font.size = $defaultfontsize
refresh
end

def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(1, -7, 120, 32, "Time")
@total_sec = Graphics.frame_count / Graphics.frame_rate
hour = @total_sec / 60 / 60
min = @total_sec / 60 % 60
sec = @total_sec % 60
text = sprintf("%02d:%02d:%02d", hour, min, sec)
self.contents.font.color = normal_color
self.contents.draw_text(4, 10, 120, 32, text, 2)

self.contents.font.color = system_color
self.contents.draw_text(1, 30, 120, 32, "Steps")
self.contents.font.color = normal_color
self.contents.draw_text(2, 32, 120, 32, $game_party.steps.to_s, 2)

cx = contents.text_size($data_system.words.gold).width
self.contents.font.color = normal_color
self.contents.draw_text(4, 216, 122.5-cx-6, 32, $game_party.gold.to_s, 2)
self.contents.font.color = system_color
self.contents.draw_text(124-cx, 220, cx, 25, $data_system.words.gold, 2)

self.contents.font.color = system_color
self.contents.draw_text(2, 64, 120, 32, PARA_BATTLE_COUNT::NAME_ENCOUNT)
self.contents.font.color = normal_color
self.contents.draw_text(3, 66, 120, 32, $game_party.battle_count.to_s, 2)

self.contents.font.color = system_color
self.contents.draw_text(2, 95, 120, 32, "Location")
self.contents.font.color = normal_color
self.contents.draw_text(- 2, 115, 124, 32, $data_map_infos[$game_map.map_id].name, 2)

end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

class Window_MenuStatus < Window_Selectable
def initialize
super(0, 0, 470, 386)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $defaultfonttype
self.contents.font.size = $defaultfontsize
refresh
self.active = false
self.index = -1
end
def refresh
self.contents.clear
@item_max = $game_party.actors.size
for i in 0...$game_party.actors.size
x = 64
y = i * 93
actor = $game_party.actors[i]
draw_actor_graphic(actor, x - 32, y + 65)
draw_actor_name(actor, x + 5, y - 8)
draw_actor_class(actor, x + 5, y + 18)
draw_actor_level(actor, x, y + 45)
draw_actor_state(actor, x + 95, y + 45)
draw_actor_hp_meter_line(actor, x + 223, y + 9, 116, 8)
draw_actor_sp_meter_line(actor, x + 223, y + 37, 116, 8)
draw_actor_hp(actor, x + 195, y + - 8)
draw_actor_sp(actor, x + 195, y + 20)
self.contents.font.color = system_color
self.contents.draw_text(x + 175, y + 45, 84, 32, "Next")
self.contents.font.color = normal_color
self.contents.draw_text(x + 310, y + 45, 84, 32, actor.next_exp_s)
end
end
def update_cursor_rect
if @index < 0
self.cursor_rect.empty
else
self.cursor_rect.set(5, @index * 90, 32, 32)
end
end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

class Window_MenuCommand < Window_Selectable
    #--------------------------------------------------------------------------
    def initialize(commands)
    col_max = 4
        super(0, 0, 640, (commands.size / col_max + 2) * 21.5 + 32)
    @column_max = col_max
        @item_max = commands.size
        @commands = commands
        self.contents = Bitmap.new(width - 32, height - 32)
        refresh
        self.index = 0
    end
    #--------------------------------------------------------------------------
    def refresh(commands = nil)
    @commands = commands if commands != nil
    self.contents.font.name = $defaultfonttype
    self.contents.font.size = $defaultfontsize
        self.contents.clear
        for i in 0...@item_max
            draw_item(i, normal_color)
        end
    end
    #--------------------------------------------------------------------------
    def draw_item(index, color)
        self.contents.font.color = color
        rect = Rect.new((index % @column_max) * ((width - 32) / @column_max),
      index / @column_max * 32, (width - 32) / @column_max, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
        self.contents.draw_text(rect, @commands[index], 1)
    end
  #--------------------------------------------------------------------------
  def disable_item(index)
    draw_item(index, disabled_color)
  end
  #--------------------------------------------------------------------------
  def update_cursor_rect
    if @index < 0
      self.cursor_rect.empty
      return
    end
    row = @index / @column_max
    if row < self.top_row
      self.top_row = row
    end
    if row > self.top_row + (self.page_row_max - 1)
      self.top_row = row - (self.page_row_max - 1)
    end
    cursor_width = (self.width - 55) / @column_max
    x = @index % @column_max * (cursor_width + 3)
    y = @index / @column_max * 32 - self.oy
    self.cursor_rect.set(x, y, 32, 32)
  end
end


#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

class Window_Base < Window

def draw_actor_level(actor, x, y)
self.contents.font.color = system_color
self.contents.draw_text(x, y, 40, 32, " Lv.")
self.contents.font.color = normal_color
self.contents.draw_text(x + 32, y, 24, 32, actor.level.to_s, 2)
end

def draw_actor_name(actor, x, y)
self.contents.font.color = normal_color
self.contents.draw_text(x, y, 120, 32, actor.name)
end

def draw_actor_class(actor, x, y)
self.contents.font.color = normal_color
self.contents.draw_text(x, y, 236, 32, actor.class_name)
end


def draw_actor_state(actor, x, y, width = 120)
text = make_battler_state_text(actor, width, true)
self.contents.font.color = actor.hp == 0 ? knockout_color : normal_color
self.contents.draw_text(x, y, width, 32, text)
end

def draw_actor_exp(actor, x, y)
self.contents.font.color = system_color
self.contents.draw_text(x, y, 24, 32, "Exp")
self.contents.font.color = normal_color
self.contents.draw_text(x + 24, y, 84, 32, actor.exp_s, 2)
self.contents.draw_text(x + 108, y, 12, 32, "/", 1)
self.contents.draw_text(x + 120, y, 84, 32, actor.next_exp_s)
end

def draw_actor_hp(actor, x, y, width = 144)
self.contents.font.color = system_color
self.contents.draw_text(x, y, 32, 32, $data_system.words.hp)
if width - 32 >= 108
hp_x = x + width - 108
flag = true
elsif width - 32 >= 48
hp_x = x + width - 48
flag = false
end
self.contents.font.color = actor.hp == 0 ? knockout_color :
actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
self.contents.draw_text(hp_x, y, 48, 32, actor.hp.to_s, 2)
if flag
self.contents.font.color = normal_color
self.contents.draw_text(hp_x + 48, y, 12, 32, "/", 1)
self.contents.draw_text(hp_x + 60, y, 48, 32, actor.maxhp.to_s)
end
end

def draw_actor_sp(actor, x, y, width = 144)
self.contents.font.color = system_color
self.contents.draw_text(x, y, 32, 32, $data_system.words.sp)
if width - 32 >= 108
sp_x = x + width - 108
flag = true
elsif width - 32 >= 48
sp_x = x + width - 48
flag = false
end
self.contents.font.color = actor.sp == 0 ? knockout_color :
actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
self.contents.draw_text(sp_x, y, 48, 32, actor.sp.to_s, 2)
if flag
self.contents.font.color = normal_color
self.contents.draw_text(sp_x + 48, y, 12, 32, "/", 1)
self.contents.draw_text(sp_x + 60, y, 48, 32, actor.maxsp.to_s)
end
end

def draw_actor_parameter(actor, x, y, type)
case type
when 0
parameter_name = $data_system.words.atk
parameter_value = actor.atk
when 1
parameter_name = $data_system.words.pdef
parameter_value = actor.pdef
when 2
parameter_name = $data_system.words.mdef
parameter_value = actor.mdef
when 3
parameter_name = $data_system.words.str
parameter_value = actor.str
when 4
parameter_name = $data_system.words.dex
parameter_value = actor.dex
when 5
parameter_name = $data_system.words.agi
parameter_value = actor.agi
when 6
parameter_name = $data_system.words.int
parameter_value = actor.int
end
self.contents.font.color = system_color
self.contents.draw_text(x, y, 120, 32, parameter_name)
self.contents.font.color = normal_color
self.contents.draw_text(x + 120, y, 36, 32, parameter_value.to_s, 2)
end

def draw_item_name(item, x, y)
if item == nil
return
end
bitmap = RPG::Cache.icon(item.icon_name)
self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
self.contents.font.color = normal_color
self.contents.draw_text(x + 28, y, 212, 32, item.name)
end
end

class Scene_Menu
MA_MENU_TRANSITION = "015-Diamond01"
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

class Scene_Menu
  def initialize(menu_index = 0)
    @menu_index = menu_index
    @changer = 0
    @where = 0
    @checker = 0
  end
def main
@commands = []
@commands[0] = $data_system.words.item
@commands[1] = $data_system.words.skill
@commands[2] = $data_system.words.equip
@commands[3] = "Status"
@commands[4] = "Party"
@commands[5] = "Save"
@commands[6] = "End"
@command_window = Window_MenuCommand.new(@commands)
@command_window.back_opacity = 160
@command_window.index = @menu_index
if $game_party.actors.size == 0
@command_window.disable_item(0)
@command_window.disable_item(1)
@command_window.disable_item(2)
@command_window.disable_item(3)
end
if $game_system.save_disabled
@command_window.disable_item(4)
end
@other_window = Window_Other.new
@other_window.back_opacity = 160
@other_window.x = 470
@other_window.y = 96
@status_window = Window_MenuStatus.new
@status_window.back_opacity = 160
@status_window.x = 0
@status_window.y = 96

@mapset = Spriteset_Map.new

win1=Window_Base.new(0, 96, 470, 100)
win2=Window_Base.new(0, 196, 470, 93)
win3=Window_Base.new(0, 289, 470, 93)
win4=Window_Base.new(0, 382, 470, 98)
win1.back_opacity= 0
win2.back_opacity= 0
win3.back_opacity= 0
win4.back_opacity= 0
win1.z=9999
win2.z=9999
win3.z=9999
win4.z=9999
Graphics.transition(30, "Graphics/Transitions/" + MA_MENU_TRANSITION)
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
win1.dispose
win2.dispose
win3.dispose
win4.dispose
@command_window.dispose
@other_window.dispose
@status_window.dispose

end
def update
@command_window.update
@other_window.update
@status_window.update

if @command_window.active
update_command
return
end
if @status_window.active
update_status
return
end
if @difficulty_window != nil && @difficulty_window.active
update_difficulty
return
end
end
def update_command
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
return
end
if Input.trigger?(Input::C)
if $game_party.actors.size == 0 and @command_window.index < 4
$game_system.se_play($data_system.buzzer_se)
return
end
case @command_window.index
      when 0  # Item
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Item.new
      when 1  # Skill
        $game_system.se_play($data_system.decision_se)
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      when 2  # Equip
        $game_system.se_play($data_system.decision_se)
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      when 3  # Status
        $game_system.se_play($data_system.decision_se)
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      when 4 # Party Changer
        $game_system.se_play($data_system.decision_se)
        @checker = 0
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      when 5 # Save
        if $game_system.save_disabled
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Save.new
      when 6  # End
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_End.new
      end
    return
      end
    end
# --------------------------------
  def update_status
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @command_window.active = true
      @status_window.active = false
      @status_window.index = -1
      return
    end
    if Input.trigger?(Input::C)
      case @command_window.index
      when 1
        if $game_party.actors[@status_window.index].restriction >= 2
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Skill.new(@status_window.index)
      when 2
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Equip.new(@status_window.index)
      when 3
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Status.new(@status_window.index)
      when 4
        $game_system.se_play($data_system.decision_se)
        if @checker == 0
          @changer = $game_party.actors[@status_window.index]
          @where = @status_window.index
          @checker = 1
        else
          $game_party.actors[@where] = $game_party.actors[@status_window.index]
          $game_party.actors[@status_window.index] = @changer
          @checker = 0
          @status_window.refresh
        end
      end
      return
    end
  end
end

Créditos e Agradecimentos
1. Criado por Vash-X
2. Postagem por Douglanilo
Voltar ao Topo Ir em baixo

Tales of Symphonia Menu

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo
Página 1 de 1

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
The World of EverGrand :: Programação em Linguagens :: Ruby Game Scripting System :: Scripts :: RPG Maker XP-