Lua RPG Maker
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

[RGSS2] Pedido

2 participantes

Ir para baixo

[RGSS2] Pedido Empty [RGSS2] Pedido

Mensagem por Tkilla Seg Ago 09, 2010 1:38 pm

Alguem poderia me disponibilizar um script pra dividir status
Estilo diablo cada level que você passa vc ganha 5 pontos (pontos editaveis)
procurei mais não achei por favor se eu não tiver procurado direito



por favor me avisem e me desculpem

Vlww
Tkilla
Tkilla

Mensagens : 49
Data de inscrição : 01/08/2010
Idade : 29

Ir para o topo Ir para baixo

[RGSS2] Pedido Empty Re: [RGSS2] Pedido

Mensagem por kalormano Seg Ago 09, 2010 2:03 pm

você quer coloca-lo em um menu normal? se for é só colocar esses três scripts na parte de scripts adcionais

Código:
=begin

==================================  INTRUÇÕES  =================================

--------------------------------------------------------------------------------
                    Stat points distribution system 1.7                 
                                By Lettuce.                               
--------------------------------------------------------------------------------
                                                                             
  Chame usando: $scene = Scene_Stat_Dist.new(0)                               
                                                                             
  Você pode dar pontos ao ator usando o código:                             
    $game_party.members[<member ID>].points += <amount of pt>
   
  Onde <member ID> deve ser substituido pelo id do membro.
  E <amount of pt> deve ser substituido pelo número de pontos;
                                                                             
                                                                             
--------------------------------------------------------------------------------
                              Custom Options Menu
                                    By Akin
--------------------------------------------------------------------------------

  Chame usando: "$scene = Scene_Options.new"


--------------------------------------------------------------------------------
                            ● ◦ Monster Book II ◦ ●
                                  By Woratana
                                 
  Chame usando: $scene = Scene_MonsterBook.new

  Complete com a informação de todos os inimigos chamando:
  $game_system.set_monbook_complete

  Apage a informação de todos os inimigos chamando:
  $game_system.reset_monbook

  Complete a informação de um inimigo chamando:
  $game_system.monbook[enemy_id] = true
  Onde enemy_id é o id do inimigo.

  Apage a informação de um inimigo chamando:
  $game_system.monbook[enemy_id] = false
  Onde enemy_id é o id do inimigo.

--------------------------------------------------------------------------------                                   
=end

#==============================================================================#
#                              CONFIGURE AQUI                                  #
#==============================================================================#

#-------------  Stat Points Distribuition System Configuration ----------------#
StartPoints = 20 #Pontos iniciais
$ptsperlv = 5    # Quantos pontos ganha por level?
# Stats Máximos
MaxStat = 255
MaxHP = 9999 # HP
MaxMP = 999  # MP
MaxHIT = 80  # 100 = nunca erra
MaxEVA = 60  # 100 = sempre desvia
MaxCRIT = 15 # 100 = sempre crítico

#Quantos pontos são nescessários para evoluir 1 nível de:
PointsPerHP = 2  #HP
PointsPerMP = 2  #MP
PointsPerHIT = 15 #HIT
PointsPerEVA = 7  #Evasão
PointsPerCRIT = 5 #Critico

#Quanto de cada irá aumentar por cada ponto dado
IncreaseBy = 2
HPIncreaseBy = 25  #HP
MPIncreaseBy = 15  #MP
HITIncreaseBy = 5  #Hit
EVAIncreaseBy = 1  #Evasão
CRITIncreaseBy = 1  #Critico

#Fonte
Fontname = Font.default_name # Nome da fonte
Fontsize = 20                # Tamanho da fonte

#------------------------------  Menu 2.0  ------------------------------------#


#------------------------------  Menu de opções  ------------------------------#
module OptionCommand
# Opções da aba principal
  Audio        = 'Audio'    # Nome da aba que controla o audio
  Controls      = 'Controles' # Nome da aba de controles
  Resolution    = 'Resolução' # Nome da aba de resolução
  Exit_Options  = 'Voltar'    # Nome da opção voltar
 
# Controle de audio (VOLUME)
 Audiobgm = 'Volume da música'            # Nome da aba da música
 Audiobgs = 'Volume dos efeitos de fundo' # Nome da aba dos efeitos de fundo
 Audiome  = 'Volume dos efeitos musicais' # Nome da aba dos efeitos musicais
 Audiose  = 'Volume dos efeitos de som'  # Nome da aba dos efeitos de som
 
#BGM Options
  AudiobgmV = ["  -", "  +"] # Simbolos Aumentar \ Diminuir
#BGS Options
  AudiobgsV = ['  -', '  +'] # Simbolos Aumentar \ Diminuir
#SE Options
  AudioseV  = ['  -', '  +'] # Simbolos Aumentar \ Diminuir
#ME Options
  AudiomeV  = ['  -', '  +'] # Simbolos Aumentar \ Diminuir
 
#Opções de resolução
  ResolutionS = ['Padrão', '800x600', '1024x768', '1280x1024', '1600x1200']
  # Obs.: Mesmo que você mude aqui, somente os nomes que aparecem na janela
  #      irão mudar, a resolução de cada uma das opções fica a mesma.
  #      Ou seja, não adianta nada mudar aqui.
end

MA_AMS = false # Defina isso com True se você usa o "Modern Algebra's Advanced
              # Text System"

#-----------------------------  Monster Book II  ------------------------------#
module Wora_Monbook

 TEXT_TITLE = 'Bestiário' # Nome do Bestiário (Será mostrado no canto superior
                          # esquerdo)
                         
 TEXT_FOUND = 'Encontrados: '# Texto que vem antes de mostrar quantos monstros
                            # foram encontrados
                           
 TEXT_COMPLETED = 'Completo: ' # Texto que mostra a porcentagem de quantos mons.
                              # foram encontrados
 
 TEXT_DOT = '.' # Texto que vai depois do nome do monstro.
 
 COMPARE_STATUS = true # Usar sistema de comparação?
  # Isso irá comparar cada monstro com o ator mais forte do grupo
  # Vai monstrar números verdes, se o monstro for comparado como fraco.
  # Vai monstrar números vermelhos, se o monstro for comparado como forte.
  # Use true para sim e false para não
 
 NO_RECORD_SWITCH = 10 # Switch de registro nulo. Se esta switch estiver ligada
                      # todos os monstros que o grupo\Ator batalhar, não serão
                      # catalogados.
 
 NO_DATA_MONSTER = [] # ID dos monstros que de jeito nenhum irão ser catalogados
            # EXEMPLO:
            # Se você deseja que os monstros 3,6 e 9 não sejam listados, coloque
            # NO_DATA_MONSTER = [3,6,9]
           
          end
       
#============================  Fim da configuração  ============================

Código:
#==============================================================================
#  Essa janela mostra a mensagem de inicio
#==============================================================================

LayoutMode = 2
OFFSET = -10
Mode = 1

def return_scene
    $scene = Scene_Menu.new
  end

class Lettuce_Window_Top < Window_Base
  def initialize
  super(0,0,544,70)
  self.contents = Bitmap.new(width-32,height-32)
  self.contents.font.name = Fontname
  self.contents.font.size = Fontsize
  refresh
  end
 
  def refresh
  self.contents.clear
  self.contents.font.size = Fontsize-4
  self.contents.draw_text(0,-10,544-32,32,"Distribuição de pontos",1)
  self.contents.font.size = Fontsize-6
  self.contents.draw_text(0,10,544-32,32,"Direita ou esquerda para mudar o personagem",1)
  end
 
end

  class Game_Actor < Game_Battler
    def change_exp(exp, show)
        last_level = @level
        last_skills = skills
        @exp = [[exp, 9999999].min, 0].max
       
        while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
          level_up
        end
       
        while @exp < @exp_list[@level]
          level_down
        end
       
        @hp = [@hp, maxhp].min
        @mp = [@mp, maxmp].min
       
        if show and @level > last_level
          display_level_up(skills - last_skills)
        end
       
      difference = @level - last_level
      if (difference == 1)
        $game_actors[@actor_id].points += ($ptsperlv)
      end
    end
  end

#==============================================================================
#  Essa janela mostra os pontos do membro
#==============================================================================
class Lettuce_Window_Points < Window_Base
  def initialize(member_index)
  super(401,320,144,52)
  self.contents = Bitmap.new(width-32,height-32)
  self.contents.font.name = Fontname
  self.contents.font.size = Fontsize
  refresh(member_index)
  end
 
  def refresh(member_index)
  actor = $game_party.members[member_index]
  points = actor.points
  self.contents.clear
  self.contents.draw_text(0,0,162,20,"Pontos: "+points.to_s) 
  end
end

#==============================================================================
#  Essa janela mostra os status do membro
#==============================================================================
 
class Lettuce_Window_Info < Window_Base
  def initialize(member_index)
  super(0,71,400,346)
  self.contents = Bitmap.new(width-32,height-32)
  self.contents.font.name = Fontname
  self.contents.font.size = Fontsize
  @exo = 25  #equipment section X coordinate offset
  @exo2 = 35 #equipment section X coordinate offset
  @eyo = -10 #equipment section Y coordinate offset
  refresh(member_index)
  end
 
  def refresh(member_index)
  actor = $game_party.members[member_index]
  self.contents.clear
  self.contents.font.size = Fontsize
  draw_actor_face(actor,10,10,92)
  draw_actor_name(actor,120,10)
  self.contents.font.size = Fontsize
  self.contents.draw_text(190,30,200,20,"Classe: "+actor.class.name)
  self.contents.draw_text(120,30,200,20,"Lv. "+actor.level.to_s)
 
  if LayoutMode == 1
    draw_actor_state(actor,200,280,168)
  elsif LayoutMode == 2
    draw_actor_state(actor,220,10)
  end
 
  s1 = actor.exp_s          # Exp Total
  s2 = actor.current_lvl_exp # Experiencia ganha no level atual
  if s1.is_a?(Numeric)
    s3 = s1-s2                # Progresso
    s4 = actor.next_lvl_exp  # Exp necessária para evoluir
    self.contents.font.size = Fontsize - 5
    self.contents.draw_text(230,74,90,20,"EXP: "+s3.to_s+"/"+s4.to_s,0)
    self.contents.font.size = Fontsize
  else
    self.contents.draw_text(230,74,85,20,"-----/-----",2)
  end
 
  #Preparando barras de cores
  back_color = Color.new(30, 30, 30, 255)
 
  str_color1 = Color.new(229, 153, 73, 255)
  str_color2 = Color.new(255, 72, 0, 255)
 
  def_color1 = Color.new(210, 255, 0, 255)
  def_color2 = Color.new(85, 129, 9, 255)
 
  spi_color1 = Color.new(99, 133, 161, 255)
  spi_color2 = Color.new(10, 60,107, 255)
 
  agi_color1 = Color.new(167, 125, 180, 255)
  agi_color2 = Color.new(90, 11, 107, 255)
 
  hp_color1 = Color.new(66, 114, 164, 255)
  hp_color2 = Color.new(122, 175, 229, 255)
 
  mp_color1 = Color.new(93, 50, 158, 255)
  mp_color2 = Color.new(145, 122, 229, 255)
 
  exp_color1 = Color.new(246, 243, 224, 255)
  exp_color2 = Color.new(255, 182, 0, 255)
 
  if s1.is_a?(Numeric)
    self.contents.fill_rect(230,90,89,7,back_color)
    self.contents.gradient_fill_rect(232,92,(85*s3)/s4,3,exp_color1,exp_color2)

  else
    self.contents.fill_rect(230,60,89,7,back_color)
  end
 
 
  self.contents.fill_rect(120,67,104,7,back_color)
  self.contents.gradient_fill_rect(122,69,100*actor.hp/actor.maxhp,3,str_color1,str_color2)
  self.contents.draw_text(120,44,100,30,"HP",0)
  self.contents.draw_text(120,44,100,30,actor.hp.to_s + "/" + actor.maxhp.to_s,2)
 
  self.contents.fill_rect(120,90,104,7,back_color)
  self.contents.gradient_fill_rect(122,92,100*actor.mp/actor.maxmp,3,spi_color1,spi_color2)
  self.contents.draw_text(120,67,100,30,"MP",0)
  self.contents.draw_text(120,67,100,30,actor.mp.to_s + "/" + actor.maxmp.to_s,2)
 
  #Armas
 
  weapon = $data_weapons[actor.weapon_id]
  shield = $data_armors[actor.armor1_id]
  helm =$data_armors[actor.armor2_id]
  body =$data_armors[actor.armor3_id]
  accessory =$data_armors[actor.armor4_id]
 
  bonus_atk = 0
  bonus_def = 0
  bonus_spi = 0
  bonus_agi = 0
  evasion = 0
  crit = 4
 
  if $data_actors[actor.id].critical_bonus
    crit +=4
  end
 
  if weapon
    bonus_atk += weapon.atk
    bonus_def += weapon.def
    bonus_spi += weapon.spi
    bonus_agi += weapon.agi
    if weapon.critical_bonus
      crit += 4
    end
  end
  if shield
    bonus_atk += shield.atk
    bonus_def += shield.def
    bonus_spi += shield.spi
    bonus_agi += shield.agi
    evasion += shield.eva
  end
    if helm
    bonus_atk += helm.atk
    bonus_def += helm.def
    bonus_spi += helm.spi
    bonus_agi += helm.agi
    evasion += helm.eva
  end
    if body
    bonus_atk += body.atk
    bonus_def += body.def
    bonus_spi += body.spi
    bonus_agi += body.agi
    evasion += body.eva
  end
    if accessory
    bonus_atk += accessory.atk
    bonus_def += accessory.def
    bonus_spi += accessory.spi
    bonus_agi += accessory.agi
    evasion += accessory.eva
  end
  if LayoutMode == 1
    draw_item_name(weapon,160+@exo,125+@eyo,true)
    if weapon
      two_hand = true if weapon.two_handed == true
    end
    if two_hand   
      draw_item_name(weapon,160+@exo,155+@eyo,true) 
    else
      draw_item_name(shield,160+@exo,155+@eyo,true)
    end
    draw_item_name(helm,160+@exo,185+@eyo,true)
    draw_item_name(body,160+@exo,215+@eyo,true)
    draw_item_name(accessory,160+@exo,245+@eyo,true)
 
 
    self.contents.font.color = Color.new(87,87,87,255)
    if !weapon
      #draw_icon(216,160+@exo,125+@eyo,true)
      self.contents.draw_text(184+@exo,107+@eyo,200,20,"  Arma")
      self.contents.draw_text(184+@exo,127+@eyo,200,20,"Não equipada")
    end
    if !shield
      #draw_icon(217,160+@exo,155+@eyo,true)
      if !two_hand
      self.contents.draw_text(184+@exo,137+@eyo,200,20,"Segunda arma") 
      self.contents.draw_text(184+@exo,157+@eyo,200,20,"Não equipada")
      end
    end
    if !helm
      #draw_icon(218,160+@exo,185+@eyo,true)
      self.contents.draw_text(184+@exo,167+@eyo,200,20,"  Capacete")
      self.contents.draw_text(184+@exo,187+@eyo,200,20,"Não equipado")
    end
    if !body
      #draw_icon(219,160+@exo,215+@eyo,true)
      self.contents.draw_text(184+@exo,197+@eyo,200,20,"  Armadura")
      self.contents.draw_text(184+@exo,217+@eyo,200,20,"Não equipada")
    end
    if !accessory
      #draw_icon(220,160+@exo,245+@eyo,true)
      self.contents.draw_text(184+@exo,227+@eyo,200,20,"Não equipado")
      self.contents.draw_text(184+@exo,247+@eyo,200,20,"Não equipado")
    end
    self.contents.font.color = Color.new(255,255,255,255)
 
  elsif LayoutMode == 2
    draw_item_name(weapon,160+@exo2,125+OFFSET+@eyo,true)
  if weapon
    two_hand = true if weapon.two_handed
  end
      if two_hand
      draw_item_name(weapon,160+@exo2,165+OFFSET+@eyo,true)
    else
      draw_item_name(shield,160+@exo2,165+OFFSET+@eyo,true)
      end
   
    draw_item_name(helm,160+@exo2,205+OFFSET+@eyo,true)
    draw_item_name(body,160+@exo2,245+OFFSET+@eyo,true)
    draw_item_name(accessory,160+@exo2,285+OFFSET+@eyo,true)
 

   
      self.contents.font.color = Color.new(87,87,87,255)
    if !weapon
      #draw_icon(216,160+@exo2,125+OFFSET+@eyo,true)
      self.contents.draw_text(184+@exo2,127+OFFSET+@eyo,200,20,"    Arma")
      self.contents.draw_text(184+@exo2,147+OFFSET+@eyo,200,20,"Não equipada")
    end
    if weapon
    if !shield and weapon.two_handed == false
      #draw_icon(217,160+@exo2,165+OFFSET+@eyo,true)
      self.contents.draw_text(184+@exo2,167+OFFSET+@eyo,200,20,"Segunda arma")
      self.contents.draw_text(184+@exo2,187+OFFSET+@eyo,200,20,"Não equipado")
    end
    else
    if !shield
      #draw_icon(217,160+@exo2,165+OFFSET+@eyo,true)
      self.contents.draw_text(184+@exo2,167+OFFSET+@eyo,200,20,"  Escudo")
      self.contents.draw_text(184+@exo2,187+OFFSET+@eyo,200,20,"Não equipada")
    end
    end
 
    if !helm
      #draw_icon(218,160+@exo2,205+OFFSET+@eyo,true)
      self.contents.draw_text(184+@exo2,207+OFFSET+@eyo,200,20,"    Elmo")
      self.contents.draw_text(184+@exo2,227+OFFSET+@eyo,200,20,"Não equipado")
    end
    if !body
      #draw_icon(219,160+@exo2,245+OFFSET+@eyo,true)
      self.contents.draw_text(184+@exo2,247+OFFSET+@eyo,200,20,"  Armadura")
      self.contents.draw_text(184+@exo2,267+OFFSET+@eyo,200,20,"Não equipada")
    end
    if !accessory
      #draw_icon(220,160+@exo2,285+OFFSET+@eyo,true)
      self.contents.draw_text(184+@exo2,287+OFFSET+@eyo,200,20," Acessório")
      self.contents.draw_text(184+@exo2,307+OFFSET+@eyo,200,20,"Não equipado")
    end
    self.contents.font.color = Color.new(255,255,255,255)
  end
 
 

  self.contents.font.size = Fontsize - 5
  self.contents.draw_text(10,120,100,20,"Atk.: ")
  self.contents.draw_text(10,120,100,20,(actor.atk-bonus_atk).to_s+" + "+bonus_atk.to_s,2)
 
  self.contents.fill_rect(10,140,104,7,back_color)
  self.contents.gradient_fill_rect(12,142,((actor.atk-bonus_atk)*100)/MaxStat,3,hp_color1,hp_color2)
 
  self.contents.draw_text(10,150,100,20,"Def.: ")
  self.contents.draw_text(10,150,100,20,(actor.def-bonus_def).to_s+" + "+bonus_def.to_s,2)
 
  self.contents.fill_rect(10,170,104,7,back_color)
  self.contents.gradient_fill_rect(12,172,((actor.def-bonus_def)*100)/MaxStat,3,def_color1,def_color2)
 
  self.contents.draw_text(10,180,100,20,"Int.: ")
  self.contents.draw_text(10,180,100,20,(actor.spi-bonus_spi).to_s+" + "+bonus_spi.to_s,2)
 
  self.contents.fill_rect(10,200,104,7,back_color)
  self.contents.gradient_fill_rect(12,202,((actor.spi-bonus_spi)*100)/MaxStat,3,mp_color1,mp_color2)
 
  self.contents.draw_text(10,210,100,20,"Agi.: ")
  self.contents.draw_text(10,210,100,20,(actor.agi-bonus_agi).to_s+" + "+bonus_agi.to_s,2)
 
  self.contents.fill_rect(10,230,104,7,back_color)
  self.contents.gradient_fill_rect(12,232,((actor.agi-bonus_agi)*100)/MaxStat,3,agi_color1,agi_color2)
 
  if weapon
    hit_rate = weapon.hit
  else
    hit_rate = 95
  end
 
  self.contents.font.size = Fontsize - 5
  self.contents.font.color = Color.new(162,212,98,255)
  self.contents.draw_text(1,245,100,20,"Ataque Maximo :",2)
  self.contents.draw_text(1,260,100,20,"Taxa de Acer. (%) :",2)
  self.contents.draw_text(1,275,100,20,"Taxa de Eva.  (%) :",2)
  self.contents.draw_text(1,290,100,20,"Taxa de Crit. (%) :",2)
 
  self.contents.draw_text(105,245,60,20,(actor.atk*4).to_s,0)
  self.contents.draw_text(105,260,60,20,actor.base_hit.to_s + "+" + actor.hitr.to_s,0)
  self.contents.draw_text(105,275,60,20,actor.base_eva.to_s + "+" +actor.evar.to_s,0)
  self.contents.draw_text(105,290,60,20,actor.base_cri.to_s + "+" + actor.crir.to_s,0)
 
  self.contents.font.size = Fontsize-6
  self.contents.font.color = text_color(16)
  self.contents.draw_text(135,260,60,20,"[Req:"+PointsPerHIT.to_s+"pt.]",2)
  self.contents.draw_text(135,275,60,20,"[Req:"+PointsPerEVA.to_s+"pt.]",2)
  self.contents.draw_text(135,290,60,20,"[Req:"+PointsPerCRIT.to_s+"pt.]",2)
 
  if LayoutMode == 1
 
  self.contents.font.color = Color.new(155,199,206,255)
  self.contents.font.size = Fontsize - 8
  if weapon
  self.contents.draw_text(185+@exo,140+@eyo,100,20,Vocab::atk+"+"+weapon.atk.to_s)
  self.contents.draw_text(219+@exo,140+@eyo,100,20,Vocab::def+"+"+weapon.def.to_s)
  self.contents.draw_text(253+@exo,140+@eyo,100,20,Vocab::spi+"+"+weapon.spi.to_s)
  self.contents.draw_text(287+@exo,140+@eyo,100,20,Vocab::agi+"+"+weapon.agi.to_s)
  end

  if shield
  self.contents.draw_text(185+@exo,170+@eyo,100,20,Vocab::atk+"+"+shield.atk.to_s)
  self.contents.draw_text(219+@exo,170+@eyo,100,20,Vocab::def+"+"+shield.def.to_s)
  self.contents.draw_text(253+@exo,170+@eyo,100,20,Vocab::spi+"+"+shield.spi.to_s)
  self.contents.draw_text(287+@exo,170+@eyo,100,20,Vocab::agi+"+"+shield.agi.to_s)
  end
 
  if helm
  self.contents.draw_text(185+@exo,200+@eyo,100,20,Vocab::atk+"+"+helm.atk.to_s)
  self.contents.draw_text(219+@exo,200+@eyo,100,20,Vocab::def+"+"+helm.def.to_s)
  self.contents.draw_text(253+@exo,200+@eyo,100,20,Vocab::spi+"+"+helm.spi.to_s)
  self.contents.draw_text(287+@exo,200+@eyo,100,20,Vocab::agi+"+"+helm.agi.to_s)
  end
 
  if body
  self.contents.draw_text(185+@exo,230+@eyo,100,20,Vocab::atk+"+"+body.atk.to_s)
  self.contents.draw_text(219+@exo,230+@eyo,100,20,Vocab::def+"+"+body.def.to_s)
  self.contents.draw_text(253+@exo,230+@eyo,100,20,Vocab::spi+"+"+body.spi.to_s)
  self.contents.draw_text(287+@exo,230+@eyo,100,20,Vocab::agi+"+"+body.agi.to_s)
  end
 
  if accessory
  self.contents.draw_text(185+@exo,260+@eyo,100,20,Vocab::atk+"+"+accessory.atk.to_s)
  self.contents.draw_text(219+@exo,260+@eyo,100,20,Vocab::def+"+"+accessory.def.to_s)
  self.contents.draw_text(253+@exo,260+@eyo,100,20,Vocab::spi+"+"+accessory.spi.to_s)
  self.contents.draw_text(287+@exo,260+@eyo,100,20,Vocab::agi+"+"+accessory.agi.to_s)
  end
  end
 
  if Mode == 2
    self.contents.font.size = Fontsize - 8
    self.contents.font.color = Color.new(155,199,206,255)
    self.contents.draw_text(23,100,125,20,"PONTOS",2)
    self.contents.draw_text(29,110,125,20,"REQUERIDOS",2)
    self.contents.font.size = Fontsize - 4
    self.contents.draw_text(20,125,115,20,required(actor.atk-bonus_atk).to_s,2)
    self.contents.draw_text(20,155,115,20,required(actor.def-bonus_def).to_s,2)
    self.contents.draw_text(20,185,115,20,required(actor.spi-bonus_spi).to_s,2)
    self.contents.draw_text(20,215,115,20,required(actor.agi-bonus_agi).to_s,2)
  end

  if LayoutMode == 2
  self.contents.font.color = Color.new(155,199,206,255)
  self.contents.font.size = Fontsize - 8
  if weapon
  self.contents.draw_text(185+@exo2,140+OFFSET+@eyo,100,20,Vocab::atk+"+"+weapon.atk.to_s)
  self.contents.draw_text(185+@exo2,150+OFFSET+@eyo,100,20,Vocab::def+"+"+weapon.def.to_s)
  self.contents.draw_text(243+@exo2,140+OFFSET+@eyo,100,20,Vocab::spi+"+"+weapon.spi.to_s)
  self.contents.draw_text(243+@exo2,150+OFFSET+@eyo,100,20,Vocab::agi+"+"+weapon.agi.to_s)
  end

  if shield
  self.contents.draw_text(185+@exo2,180+OFFSET+@eyo,100,20,Vocab::atk+"+"+shield.atk.to_s)
  self.contents.draw_text(185+@exo2,190+OFFSET+@eyo,100,20,Vocab::def+"+"+shield.def.to_s)
  self.contents.draw_text(243+@exo2,180+OFFSET+@eyo,100,20,Vocab::spi+"+"+shield.spi.to_s)
  self.contents.draw_text(453+@exo2,190+OFFSET+@eyo,100,20,Vocab::agi+"+"+shield.agi.to_s)
  end
 
  if helm
  self.contents.draw_text(185+@exo2,220+OFFSET+@eyo,100,20,Vocab::atk+"+"+helm.atk.to_s)
  self.contents.draw_text(185+@exo2,230+OFFSET+@eyo,100,20,Vocab::def+"+"+helm.def.to_s)
  self.contents.draw_text(243+@exo2,220+OFFSET+@eyo,100,20,Vocab::spi+"+"+helm.spi.to_s)
  self.contents.draw_text(243+@exo2,230+OFFSET+@eyo,100,20,Vocab::agi+"+"+helm.agi.to_s)
  end
 
  if body
  self.contents.draw_text(185+@exo2,260+OFFSET+@eyo,100,20,Vocab::atk+"+"+body.atk.to_s)
  self.contents.draw_text(185+@exo2,270+OFFSET+@eyo,100,20,Vocab::def+"+"+body.def.to_s)
  self.contents.draw_text(243+@exo2,260+OFFSET+@eyo,100,20,Vocab::spi+"+"+body.spi.to_s)
  self.contents.draw_text(243+@exo2,270+OFFSET+@eyo,100,20,Vocab::agi+"+"+body.agi.to_s)
  end
 
  if accessory
  self.contents.draw_text(185+@exo2,300+OFFSET+@eyo,100,20,Vocab::atk+"+"+accessory.atk.to_s)
  self.contents.draw_text(185+@exo2,310+OFFSET+@eyo,100,20,Vocab::def+"+"+accessory.def.to_s)
  self.contents.draw_text(243+@exo2,300+OFFSET+@eyo,100,20,Vocab::spi+"+"+accessory.spi.to_s)
  self.contents.draw_text(243+@exo2,310+OFFSET+@eyo,100,20,Vocab::agi+"+"+accessory.agi.to_s)
  end
  end
end

  def required(base)
  return (((base-1)/10)+2).floor
  end
 
end

#==============================================================================
#  Essa janela mostra a propriedade de cada atributo
#==============================================================================
class Lettuce_Window_Help < Window_Base
  def initialize(index)
  super(401,372,144,44)
  self.contents = Bitmap.new(width-32,height-32)
  self.contents.font.size = Fontsize - 6
  refresh(index)
  end
 
  def refresh(index)
  self.contents.clear
  self.contents.font.color = text_color(16)

    case index
    when 0
      self.contents.draw_text(0,-5,112,20,"HP + "+HPIncreaseBy.to_s)
    when 1
      self.contents.draw_text(0,-5,112,20,"MP + "+MPIncreaseBy.to_s)
    when 2
      self.contents.draw_text(0,-5,112,20,Vocab::atk+" + "+IncreaseBy.to_s)
    when 3
      self.contents.draw_text(0,-5,112,20,Vocab::def+" + "+IncreaseBy.to_s)
    when 4
      self.contents.draw_text(0,-5,112,20,Vocab::spi+" + "+IncreaseBy.to_s)
    when 5
      self.contents.draw_text(0,-5,112,20,Vocab::agi+" + "+IncreaseBy.to_s)
    when 6
      self.contents.draw_text(0,-5,112,20,"HIT + "+HITIncreaseBy.to_s)
    when 7
      self.contents.draw_text(0,-5,112,20,"EVA + "+EVAIncreaseBy.to_s)
    when 8
      self.contents.draw_text(0,-5,112,20,"CRIT + "+CRITIncreaseBy.to_s)
    end
 
  end
end

if Input.trigger?(Input::X)
  return_scene
end

#==============================================================================
#  Faz a distribuição de pontos
#==============================================================================
class Scene_Stat_Dist < Scene_Base
  def initialize(menu_index)
  @menu_index = menu_index
  end
 
  def start
  super
  create_menu_background
  ihp = Vocab::hp
  imp = Vocab::mp
  i1 = Vocab::atk
  i2 = Vocab::def
  i3 = Vocab::spi
  i4 = Vocab::agi
  i5 = "HIT"
  i6 = "EVA"
  i7 = "CRIT"
  @window_select = Window_Command.new(144,[ihp,imp,i1,i2,i3,i4,i5,i6,i7])
  if $position
    @window_select.index = $position - 1
  else
    @window_select.index = 0
  end
 
  @window_select.active = true
  @window_select.x = 401
  @window_select.y = 71
 
  @window_top = Lettuce_Window_Top.new
  @window_points = Lettuce_Window_Points.new(@menu_index)
  @window_info = Lettuce_Window_Info.new(@menu_index)
  @window_help = Lettuce_Window_Help.new(@window_select.index)
  end
 
  def terminate
  super
  dispose_menu_background
  @window_top.dispose
  @window_points.dispose
  @window_info.dispose
  @window_help.dispose
  @window_select.dispose
  end
 
  def update
  update_menu_background
 
  @window_select.update
  if Input.trigger?(Input::UP) or Input.trigger?(Input::DOWN)
    @window_help.refresh(@window_select.index)
  end
 
  @changes = 0
  if Input.trigger?(Input::B)
    Sound.play_cancel
    $scene = Scene_Menu.new
  elsif Input.trigger?(Input::R) or Input.trigger?(Input::RIGHT)
    @menu_index += 1
    @menu_index %= $game_party.members.size
    $scene = Scene_Stat_Dist.new(@menu_index)
  elsif Input.trigger?(Input::L) or Input.trigger?(Input::LEFT)
    @menu_index += $game_party.members.size - 1
    @menu_index %= $game_party.members.size
    $scene = Scene_Stat_Dist.new(@menu_index)
  elsif Input.trigger?(Input::C)

    if Mode == 1
      do_point_reg
    elsif Mode == 2
      do_point_rag
    end
  end

  end
 
  def do_point_reg
  @att = @window_select.index
 
  actor = $game_party.members[@menu_index]
 
 #Armas
  weapon = $data_weapons[actor.weapon_id]
  shield = $data_armors[actor.armor1_id]
  helm =$data_armors[actor.armor2_id]
  body =$data_armors[actor.armor3_id]
  accessory =$data_armors[actor.armor4_id]
 
  bonus_atk = 0
  bonus_def = 0
  bonus_spi = 0
  bonus_agi = 0
 
  if weapon
    bonus_atk += weapon.atk
    bonus_def += weapon.def
    bonus_spi += weapon.spi
    bonus_agi += weapon.agi
  end
  if shield
    bonus_atk += shield.atk
    bonus_def += shield.def
    bonus_spi += shield.spi
    bonus_agi += shield.agi
  end
    if helm
    bonus_atk += helm.atk
    bonus_def += helm.def
    bonus_spi += helm.spi
    bonus_agi += helm.agi
  end
    if body
    bonus_atk += body.atk
    bonus_def += body.def
    bonus_spi += body.spi
    bonus_agi += body.agi
  end
    if accessory
    bonus_atk += accessory.atk
    bonus_def += accessory.def
    bonus_spi += accessory.spi
    bonus_agi += accessory.agi
  end
 
    case @att
 
    when 0 #HP
      if actor.points < PointsPerHP
        Sound.play_cancel
      elsif actor.maxhp >= MaxHP
        Sound.play_cancel
      else
      Sound.play_use_item
        $game_party.members[@menu_index].maxhp += HPIncreaseBy
      if $game_party.members[@menu_index].maxhp > MaxHP
        $game_party.members[@menu_index].maxhp = MaxHP
      end
        actor.points -= PointsPerHP
        @changes += 1
      $position = 1
      end
 
    when 1 #MP
      if actor.points < PointsPerMP
        Sound.play_cancel
      elsif actor.maxmp >= MaxMP
        Sound.play_cancel
      else
      Sound.play_use_item
        $game_party.members[@menu_index].maxmp += MPIncreaseBy
      if $game_party.members[@menu_index].maxmp > MaxMP
        $game_party.members[@menu_index].maxmp = MaxMP
      end
        actor.points -= PointsPerMP
        @changes += 1
      $position = 1
      end
 
    when 2 #ATK
      if actor.points < 1
        Sound.play_cancel
      elsif (actor.atk-bonus_atk) >= MaxStat
        Sound.play_cancel
      else
      Sound.play_use_item
        $game_party.members[@menu_index].atk += IncreaseBy
      if ($game_party.members[@menu_index].atk-bonus_atk) > MaxStat
        $game_party.members[@menu_index].atk = MaxStat+bonus_atk
      end
        actor.points -= 1
        @changes += 1
      $position = 1
      end
     
    when 3 #DEF
      if actor.points < 1
        Sound.play_cancel
      elsif (actor.def-bonus_def) >= MaxStat
        Sound.play_cancel
      else
      Sound.play_use_item
        $game_party.members[@menu_index].def += IncreaseBy
      if ($game_party.members[@menu_index].def-bonus_def) > MaxStat
        $game_party.members[@menu_index].def = MaxStat+bonus_def
      end
        actor.points -= 1
        @changes += 1
      $position = 2
      end
     
    when 4 #SPI
      if actor.points < 1
        Sound.play_cancel
      elsif (actor.spi-bonus_spi) >= MaxStat
        Sound.play_cancel
      else
      Sound.play_use_item
        $game_party.members[@menu_index].spi += IncreaseBy
      if ($game_party.members[@menu_index].spi-bonus_spi) > MaxStat
        $game_party.members[@menu_index].spi = MaxStat+bonus_spi
      end
        actor.points -= 1
        @changes += 1
      $position = 3
      end
    when 5 #AGI
      if actor.points < 1
        Sound.play_cancel
      elsif (actor.agi-bonus_agi) >= MaxStat
        Sound.play_cancel
      else
      Sound.play_use_item
        $game_party.members[@menu_index].agi += IncreaseBy
      if ($game_party.members[@menu_index].agi-bonus_agi) > MaxStat
        $game_party.members[@menu_index].agi = MaxStat+bonus_agi
      end
        actor.points -= 1
        @changes += 1
      $position = 4
      end
   
   
    when 6 #HIT
      if actor.points < PointsPerHIT
        Sound.play_cancel
      elsif actor.hitr >= MaxHIT
        Sound.play_cancel
      else
      Sound.play_use_item
        $game_party.members[@menu_index].hitr += HITIncreaseBy
      if $game_party.members[@menu_index].hitr > MaxHIT
        $game_party.members[@menu_index].hitr = MaxHIT
      end
        actor.points -= PointsPerHIT
        @changes += 1
      $position = 1
      end
    when 7 #EVA
      if actor.points < PointsPerEVA
        Sound.play_cancel
      elsif actor.evar >= MaxEVA
        Sound.play_cancel
      else
      Sound.play_use_item
        $game_party.members[@menu_index].evar += EVAIncreaseBy
      if $game_party.members[@menu_index].evar > MaxEVA
        $game_party.members[@menu_index].evar = MaxEVA
      end
        actor.points -= PointsPerEVA
        @changes += 1
      $position = 1
      end
    when 8 #CRIT
      if actor.points < PointsPerCRIT
        Sound.play_cancel
      elsif actor.crir >= MaxCRIT
        Sound.play_cancel
      else
      Sound.play_use_item
        $game_party.members[@menu_index].crir += CRITIncreaseBy
      if $game_party.members[@menu_index].crir > MaxCRIT
        $game_party.members[@menu_index].crir = MaxCRIT
      end
        actor.points -= PointsPerCRIT
        @changes += 1
      $position = 1
      end
  end
 
  if @changes > 0
      @window_info.refresh(@menu_index)
      @window_points.refresh(@menu_index)
    end
  end
 
  def do_point_rag
  @att = @window_select.index
  actor = $game_party.members[@menu_index]
 
 #Armas
  weapon = $data_weapons[actor.weapon_id]
  shield = $data_armors[actor.armor1_id]
  helm =$data_armors[actor.armor2_id]
  body =$data_armors[actor.armor3_id]
  accessory =$data_armors[actor.armor4_id]
 
  bonus_atk = 0
  bonus_def = 0
  bonus_spi = 0
  bonus_agi = 0
 
  if weapon
    bonus_atk += weapon.atk
    bonus_def += weapon.def
    bonus_spi += weapon.spi
    bonus_agi += weapon.agi
  end
  if shield
    bonus_atk += shield.atk
    bonus_def += shield.def
    bonus_spi += shield.spi
    bonus_agi += shield.agi
  end
    if helm
    bonus_atk += helm.atk
    bonus_def += helm.def
    bonus_spi += helm.spi
    bonus_agi += helm.agi
  end
    if body
    bonus_atk += body.atk
    bonus_def += body.def
    bonus_spi += body.spi
    bonus_agi += body.agi
  end
    if accessory
    bonus_atk += accessory.atk
    bonus_def += accessory.def
    bonus_spi += accessory.spi
    bonus_agi += accessory.agi
  end
 
    case @att
 
    when 0 #HP
      if actor.points < PointsPerHP
        Sound.play_cancel
      elsif actor.maxhp >= MaxHP
        Sound.play_cancel
      else
      Sound.play_use_item
        $game_party.members[@menu_index].maxhp += HPIncreaseBy
      if $game_party.members[@menu_index].maxhp > MaxHP
        $game_party.members[@menu_index].maxhp = MaxHP
      end
        actor.points -= PointsPerHP
        @changes += 1
      $position = 1
      end
 
    when 1 #MP
      if actor.points < PointsPerMP
        Sound.play_cancel
      elsif actor.maxmp >= MaxMP
        Sound.play_cancel
      else
      Sound.play_use_item
        $game_party.members[@menu_index].maxmp += MPIncreaseBy
      if $game_party.members[@menu_index].maxmp > MaxMP
        $game_party.members[@menu_index].maxmp = MaxMP
      end
        actor.points -= PointsPerMP
        @changes += 1
      $position = 1
      end
 
    when 2 #ATK
      base_value = actor.atk-bonus_atk
      points = actor.points
      if enough_point(base_value,points)
        Sound.play_cancel
      elsif (actor.atk-bonus_atk) >= MaxStat
        Sound.play_cancel
      else
      Sound.play_use_item
        $game_party.members[@menu_index].atk += IncreaseBy
      if ($game_party.members[@menu_index].atk-bonus_atk) > MaxStat
        $game_party.members[@menu_index].atk = MaxStat+bonus_atk
      end
        actor.points -= required(base_value)
        @changes += 1
        $position = 1
      end
     
    when 3 #DEF
      base_value = actor.def-bonus_def
      points = actor.points
      if enough_point(base_value,points)
        Sound.play_cancel
      elsif (actor.def-bonus_def) >= MaxStat
        Sound.play_cancel
      else
      Sound.play_use_item
        $game_party.members[@menu_index].def += IncreaseBy
      if ($game_party.members[@menu_index].def-bonus_def) > MaxStat
        $game_party.members[@menu_index].def = MaxStat+bonus_def
      end
        actor.points -= required(base_value)
        @changes += 1
        $position = 2
      end
     
    when 4 #SPI
      base_value = actor.spi-bonus_spi
      points = actor.points
      if enough_point(base_value,points)
        Sound.play_cancel
      elsif (actor.spi-bonus_spi) >= MaxStat
        Sound.play_cancel
      else
      Sound.play_use_item
        $game_party.members[@menu_index].spi += IncreaseBy
      if ($game_party.members[@menu_index].spi-bonus_spi) > MaxStat
        $game_party.members[@menu_index].spi = MaxStat+bonus_spi
      end
        actor.points -= required(base_value)
        @changes += 1
        $position = 3
      end
    when 5 #AGI
      base_value = actor.agi-bonus_agi
      points = actor.points
      if enough_point(base_value,points)
        Sound.play_cancel
      elsif (actor.agi-bonus_agi) >= MaxStat
        Sound.play_cancel
      else
      Sound.play_use_item
        $game_party.members[@menu_index].agi += IncreaseBy
      if ($game_party.members[@menu_index].agi-bonus_agi) > MaxStat
        $game_party.members[@menu_index].agi = MaxStat+bonus_agi
      end
        actor.points -= required(base_value)
        @changes += 1
        $position = 4
      end
    when 6 #HIT
      if actor.points < PointsPerHIT
        Sound.play_cancel
      elsif actor.hitr >= MaxHIT
        Sound.play_cancel
      else
      Sound.play_use_item
        $game_party.members[@menu_index].hitr += HITIncreaseBy
      if $game_party.members[@menu_index].hitr > MaxHIT
        $game_party.members[@menu_index].hitr = MaxHIT
      end
        actor.points -= PointsPerHIT
        @changes += 1
      $position = 1
      end
    when 7 #EVA
      if actor.points < PointsPerEVA
        Sound.play_cancel
      elsif actor.evar >= MaxEVA
        Sound.play_cancel
      else
      Sound.play_use_item
        $game_party.members[@menu_index].evar += EVAIncreaseBy
      if $game_party.members[@menu_index].evar > MaxEVA
        $game_party.members[@menu_index].evar = MaxEVA
      end
        actor.points -= PointsPerEVA
        @changes += 1
      $position = 1
      end
    when 8 #CRIT
      if actor.points < PointsPerCRIT
        Sound.play_cancel
      elsif actor.crir >= MaxCRIT
        Sound.play_cancel
      else
      Sound.play_use_item
        $game_party.members[@menu_index].crir += CRITIncreaseBy
      if $game_party.members[@menu_index].crir > MaxCRIT
        $game_party.members[@menu_index].crir = MaxCRIT
      end
        actor.points -= PointsPerCRIT
        @changes += 1
      $position = 1
      end
    end
    if @changes > 0
      @window_points.refresh(@menu_index)
      @window_info.refresh(@menu_index)
    end
  end
 
  def enough_point(base,points)
  required = (((base-1)/10)+2).floor
  if required > points
    return true
  elsif required <= points
    return false
  end
  end
 
  def required(base)
  return (((base-1)/10)+2).floor
  end
 
end

if Input.trigger?(Input::X)
  return_scene
end

#==============================================================================
#  Dando pontos ao ator X
#  -> $game_party.member[x].points
#==============================================================================

class Game_Actor < Game_Battler

  attr_accessor :points
  attr_accessor :hit_bonus
  attr_accessor :eva_bonus
  attr_accessor :cri_bonus
  attr_accessor :hitr
  attr_accessor :evar
  attr_accessor :crir
  alias Lettuce_Game_Actor_Ini initialize
 
  def initialize(actor_id)
    Lettuce_Game_Actor_Ini(actor_id)
    @points = StartPoints
    @hitr = 0
    @evar = 0
    @crir = 0
  end

  def points
    return @points
  end
 
  #--------------------------------------------------------------------------
  # * Pega taxa de HIT
  #--------------------------------------------------------------------------
  def hit
    if two_swords_style
      n1 = weapons[0] == nil ? 95 : weapons[0].hit
      n2 = weapons[1] == nil ? 95 : weapons[1].hit
      n = [n1, n2].min
    else
      n = weapons[0] == nil ? 95 : weapons[0].hit
    end
    if n+@hitr <= MaxHIT
    return n+@hitr
  else return MaxHIT
    end
  end
  #--------------------------------------------------------------------------
  # * pega taxa de Evasão
  #--------------------------------------------------------------------------
  def eva
    n = 5
    for item in armors.compact do n += item.eva end
    if n+@evar <= MaxEVA
    return n+@evar
  else return MaxEVA
    end
  end
  #--------------------------------------------------------------------------
  # * Pega taxa de Critico
  #--------------------------------------------------------------------------
  def cri
    n = 4
    n += 4 if actor.critical_bonus
    for weapon in weapons.compact
      n += 4 if weapon.critical_bonus
    end
    if n+@crir <= MaxCRIT
      return n+@crir
    else return MaxCRIT
      end
  end
 
  #--------------------------------------------------------------------------
  # * Pega taxa de HIT base
  #--------------------------------------------------------------------------
  def base_hit
    if two_swords_style
      n1 = weapons[0] == nil ? 95 : weapons[0].hit
      n2 = weapons[1] == nil ? 95 : weapons[1].hit
      n = [n1, n2].min
    else
      n = weapons[0] == nil ? 95 : weapons[0].hit
    end
    return n
  end
  #--------------------------------------------------------------------------
  # * Pega taxa de Evasão base
  #--------------------------------------------------------------------------
  def base_eva
    n = 5
    for item in armors.compact do n += item.eva end
    return n
  end
  #--------------------------------------------------------------------------
  # * Pega taxa de Critico Base
  #--------------------------------------------------------------------------
  def base_cri
    n = 4
    n += 4 if actor.critical_bonus
    for weapon in weapons.compact
      n += 4 if weapon.critical_bonus
    end
    return n
  end
 
 
  #--------------------------------------------------------------------------
  # * Taxas Bonus
  #-------------------------------------------------------------------------- 
  def hitr
    return @hitr
  end
 
  def evar
    return @evar
  end
 
  def crir
    return @crir
  end
 
 
 
  def current_lvl_exp
    return @exp_list[@level]
  end
 
  def next_lvl_exp
    return @exp_list[@level+1]-@exp_list[@level]
  end
end

if Input.trigger?(Input::X)
  return_scene
end

Código:
#==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
#  This class performs the menu screen processing.
#==============================================================================

class Scene_Menu < Scene_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #    menu_index : command cursor's initial position
  #--------------------------------------------------------------------------
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end
  #--------------------------------------------------------------------------
  # * Start processing
  #--------------------------------------------------------------------------
  def start
    super
    create_menu_background
    create_command_window
    @gold_window = Window_Gold.new(0, 360)
    @status_window = Window_MenuStatus.new(160, 0)
  end
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  def terminate
    super
    dispose_menu_background
    @command_window.dispose
    @gold_window.dispose
    @status_window.dispose
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    update_menu_background
    @command_window.update
    @gold_window.update
    @status_window.update
    if @command_window.active
      update_command_selection
    elsif @status_window.active
      update_actor_selection
    end
  end
  #--------------------------------------------------------------------------
  # * Create Command Window
  #--------------------------------------------------------------------------
  def create_command_window
    s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::status
    s5 = Vocab::save
    s6 = Vocab::game_end
    s7 = 'Pontos'
    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s7, s5, s6])
    @command_window.index = @menu_index
    if $game_party.members.size == 0          # If number of party members is 0
      @command_window.draw_item(0, false)    # Disable item
      @command_window.draw_item(1, false)    # Disable skill
      @command_window.draw_item(2, false)    # Disable equipment
      @command_window.draw_item(3, false)    # Disable status
    end
    if $game_system.save_disabled            # If save is forbidden
      @command_window.draw_item(4, false)    # Disable save
    end
  end
  #--------------------------------------------------------------------------
  # * Update Command Selection
  #--------------------------------------------------------------------------
  def update_command_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      if $game_party.members.size == 0 and @command_window.index < 4
        Sound.play_buzzer
        return
      elsif $game_system.save_disabled and @command_window.index == 4
        Sound.play_buzzer
        return
      end
      Sound.play_decision
      case @command_window.index
      when 0
        $scene = Scene_Item.new
      when 1,2,3
        start_actor_selection
      when 4
        $scene = Scene_Stat_Dist.new(0)
      when 5
        $scene = Scene_File.new(true,false,false)
      when 6
        $scene = Scene_End.new
      end
    end
  end
  #--------------------------------------------------------------------------
  # * Start Actor Selection
  #--------------------------------------------------------------------------
  def start_actor_selection
    @command_window.active = false
    @status_window.active = true
    if $game_party.last_actor_index < @status_window.item_max
      @status_window.index = $game_party.last_actor_index
    else
      @status_window.index = 0
    end
  end
  #--------------------------------------------------------------------------
  # * End Actor Selection
  #--------------------------------------------------------------------------
  def end_actor_selection
    @command_window.active = true
    @status_window.active = false
    @status_window.index = -1
  end
  #--------------------------------------------------------------------------
  # * Update Actor Selection
  #--------------------------------------------------------------------------
  def update_actor_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      end_actor_selection
    elsif Input.trigger?(Input::C)
      $game_party.last_actor_index = @status_window.index
      Sound.play_decision
      case @command_window.index
      when 1  # skill
        $scene = Scene_Skill.new(@status_window.index)
      when 2  # equipment
        $scene = Scene_Equip.new(@status_window.index)
      when 3  # status
        $scene = Scene_Status.new(@status_window.index)
      end
    end
  end
end
kalormano
kalormano

Mensagens : 58
Data de inscrição : 13/07/2010
Idade : 34
Localização : Rio Grande do Sul

Ir para o topo Ir para baixo

[RGSS2] Pedido Empty Re: [RGSS2] Pedido

Mensagem por Tkilla Seg Ago 09, 2010 2:17 pm

Bom Cara eu to usando esse menu,se puder tem como vc dar um geito no script ? ele não precisa de imagens

Código:
#==============================================================================
# Menu de Único Personagem
#==============================================================================
# Por: Matheus2
# Menu apenas para um personagem
# A janela do nome do mapa, o tempo e a posição
# da janela das opções retirados do Menu Personalizavel do Shepher
#==============================================================================
# Todas as outras alterações foram feitas por mim
#==============================================================================
# Creditos:
# Matheus2 - DuploMaker por: Fazer o menu e reuinir todos os itens
# Shepher por: Fazer o Menu Personalizavel daonde eu pude tirar as coisas que eu não sabia fazer
#==============================================================================

#------------------------------------------------------------------------------#
#                          Game_Party                                        #
#------------------------------------------------------------------------------#
class Game_Party < Game_Unit
  MAX_MEMBERS = 1
end

#------------------------------------------------------------------------------#
#                          Game_Map                                          #
#------------------------------------------------------------------------------#
class Game_Map
  attr_reader  :map_id
  def namemap
    $name_map = load_data("Data/MapInfos.rvdata")
    $name_map[@map_id].name
  end
end

#------------------------------------------------------------------------------#
#                          Window_Stats                                      #
#------------------------------------------------------------------------------#

class Window_Stats < Window_Base
  def initialize(actor)
    super(250, 240, 294, 176)
    @actor = actor
    refresh
  end
 
  def refresh
    self.contents.clear
    draw_actor_parameter(@actor, 0, 0 + WLH * 0, 0)
    draw_actor_parameter(@actor, 0, 0 + WLH * 1, 1)
    draw_actor_parameter(@actor, 0, 0 + WLH * 2, 2)
    draw_actor_parameter(@actor, 0, 0 + WLH * 3, 3)
  end
end

#------------------------------------------------------------------------------#
#                          Window_Time                                        #
#------------------------------------------------------------------------------#

class Window_Time < Window_Base
 
  def initialize(x,y)
    super(x, y, 144, 56)
    self.x = x # Cordenada X
    self.y = y # Cordenada Y
    refresh
  end
 
  def refresh
    self.contents.clear
    self.contents.font.color = system_color
    @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, 0, 120, 24, text)
  end
 
  def update
    super
    if Graphics.frame_count / Graphics.frame_rate != @total_sec
      refresh
    end
  end
end

#------------------------------------------------------------------------------#
#                          Window_Map                                        #
#------------------------------------------------------------------------------#

class Window_Map < Window_Base
  def initialize(x,y)
    super(x, y, 240, 56)
    refresh
  end
 
  def refresh

    self.contents.clear
    self.contents.font.color = system_color
    self.contents.font.color = normal_color
    self.contents.draw_text(0, -8, 200, 32, $game_map.namemap.to_s)
  end
end

#------------------------------------------------------------------------------#
#                          Window_Equips                                      #
#------------------------------------------------------------------------------#
class Window_Equips < Window_Base
  def initialize(actor)
    super(0, 240, 250, 176)
    @actor = actor
    refresh
  end
 
  def refresh
    self.contents.clear
    @data = []
    for item in @actor.equips do @data.push(item) end
      @item_max = @data.size
      self.contents.font.color = system_color
      draw_item_name(@data[0], 0, WLH * 0)
      draw_item_name(@data[1], 0, WLH * 1)
      draw_item_name(@data[2], 0, WLH * 2)
      draw_item_name(@data[3], 0, WLH * 3)
      draw_item_name(@data[4], 0, WLH * 4)
    end
  end
 
#------------------------------------------------------------------------------#
#                          Window_MenuStatus                                  #
#------------------------------------------------------------------------------#

class Window_MenuStatus < Window_Selectable
  def initialize(x, y)
    super(0, 57, 544, 128)
    refresh
    self.active = false
    self.index = -1
  end

  def refresh
    self.contents.clear
    @item_max = $game_party.members.size
    for actor in $game_party.members
      draw_actor_face(actor, 2, actor.index * 96 + 2, 92)
      x = 104
      y = actor.index * 96 + WLH / 2
      draw_actor_name(actor, x, y)
      draw_actor_class(actor, x + 120, y)
      draw_actor_level(actor, x, y + WLH * 1)
      draw_actor_state(actor, x, y + WLH * 2)
      draw_actor_hp(actor, x + 120, y + WLH * 1)
      draw_actor_mp(actor, x + 120, y + WLH * 2)
    end
  end

  def update_cursor
    if @index < 0              # Sem cursor
      self.cursor_rect.empty
    elsif @index < @item_max    # Padrão
      self.cursor_rect.set(0, @index * 96, contents.width, 96)
    elsif @index >= 100        # Si
      self.cursor_rect.set(0, (@index - 100) * 96, contents.width, 96)
    else                        # O todo
      self.cursor_rect.set(0, 0, contents.width, @item_max * 96)
    end
  end
end

#------------------------------------------------------------------------------#
#                          Scene_Menu                                        #
#------------------------------------------------------------------------------#

class Scene_Menu < Scene_Base
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end
  def start
    super
    create_menu_background
    create_command_window
    @gold_window = Window_Gold.new(0, 184)
    @status_window = Window_MenuStatus.new(160, 0)
    @map_window = Window_Map.new(160, 184)
    @equips_window = Window_Equips.new($game_party.members[0])
    @time_window = Window_Time.new(400, 184)
    @stats_window = Window_Stats.new($game_party.members[0])
  end

  def terminate
    super
    dispose_menu_background
    @command_window.dispose
    @gold_window.dispose
    @status_window.dispose
    @map_window.dispose
    @equips_window.dispose
    @time_window.dispose
    @stats_window.dispose
  end

  def update
    super
    update_menu_background
    @command_window.update
    @gold_window.update
    @status_window.update
    @time_window.update
    if @command_window.active
      update_command_selection
    elsif @status_window.active
      update_actor_selection
    end
  end

  def create_command_window
    s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::status
    s5 = Vocab::save
    s6 = Vocab::game_end
    @command_window = Window_Command.new(544,[s1, s2, s3, s4, s5, s6],6,0,10)
    @command_window.index = @menu_index
    if $game_party.members.size == 0          # Se não houver membros na equipe
      @command_window.draw_item(0, false)    # Desabilita "Items"
      @command_window.draw_item(1, false)    # Desabilita "Habilidades"
      @command_window.draw_item(2, false)    # Desabilita "Equipamentos"
      @command_window.draw_item(3, false)    # Desabilita "Status"
    end
    if $game_system.save_disabled            # Se salvar for proibido
      @command_window.draw_item(4, false)    # Desabilita "Salvar"
    end
  end

  def update_command_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      if $game_party.members.size == 0 and @command_window.index < 4
        Sound.play_buzzer
        return
      elsif $game_system.save_disabled and @command_window.index == 4
        Sound.play_buzzer
        return
      end
      Sound.play_decision
      case @command_window.index
      when 0      # Item
        $scene = Scene_Item.new
      when 1,2,3  # Habilidades, equipamento, status
        start_actor_selection
      when 4      # Salvar
        $scene = Scene_File.new(true, false, false)
      when 5      # Fim de jogo
        $scene = Scene_End.new
      end
    end
  end

  def start_actor_selection
    @command_window.active = false
    @status_window.active = true
    if $game_party.last_actor_index < @status_window.item_max
      @status_window.index = $game_party.last_actor_index
    else
      @status_window.index = 0
    end
  end

  def end_actor_selection
    @command_window.active = true
    @status_window.active = false
    @status_window.index = -1
  end

  def update_actor_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      end_actor_selection
    elsif Input.trigger?(Input::C)
      $game_party.last_actor_index = @status_window.index
      Sound.play_decision
      case @command_window.index
      when 1  # Habilidades
        $scene = Scene_Skill.new(@status_window.index)
      when 2  # Equipamento
        $scene = Scene_Equip.new(@status_window.index)
      when 3  # Status
        $scene = Scene_Status.new(@status_window.index)
      end
    end
  end
end
Tkilla
Tkilla

Mensagens : 49
Data de inscrição : 01/08/2010
Idade : 29

Ir para o topo Ir para baixo

[RGSS2] Pedido Empty Re: [RGSS2] Pedido

Mensagem por kalormano Seg Ago 09, 2010 2:45 pm

substitui o que tu ta usando por esse e tira o terceiro script que eu coloquei antes

Código:
#==============================================================================
# Menu de Único Personagem
#==============================================================================
# Por: Matheus2
# Menu apenas para um personagem
# A janela do nome do mapa, o tempo e a posição
# da janela das opções retirados do Menu Personalizavel do Shepher
#==============================================================================
# Todas as outras alterações foram feitas por mim
#==============================================================================
# Creditos:
# Matheus2 - DuploMaker por: Fazer o menu e reuinir todos os itens
# Shepher por: Fazer o Menu Personalizavel daonde eu pude tirar as coisas que eu não sabia fazer
#==============================================================================

#------------------------------------------------------------------------------#
#                          Game_Party                                        #
#------------------------------------------------------------------------------#
class Game_Party < Game_Unit
  MAX_MEMBERS = 1
end

#------------------------------------------------------------------------------#
#                          Game_Map                                          #
#------------------------------------------------------------------------------#
class Game_Map
  attr_reader  :map_id
  def namemap
    $name_map = load_data("Data/MapInfos.rvdata")
    $name_map[@map_id].name
  end
end

#------------------------------------------------------------------------------#
#                          Window_Stats                                      #
#------------------------------------------------------------------------------#

class Window_Stats < Window_Base
  def initialize(actor)
    super(250, 240, 294, 176)
    @actor = actor
    refresh
  end
 
  def refresh
    self.contents.clear
    draw_actor_parameter(@actor, 0, 0 + WLH * 0, 0)
    draw_actor_parameter(@actor, 0, 0 + WLH * 1, 1)
    draw_actor_parameter(@actor, 0, 0 + WLH * 2, 2)
    draw_actor_parameter(@actor, 0, 0 + WLH * 3, 3)
  end
end

#------------------------------------------------------------------------------#
#                          Window_Time                                        #
#------------------------------------------------------------------------------#

class Window_Time < Window_Base
 
  def initialize(x,y)
    super(x, y, 144, 56)
    self.x = x # Cordenada X
    self.y = y # Cordenada Y
    refresh
  end
 
  def refresh
    self.contents.clear
    self.contents.font.color = system_color
    @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, 0, 120, 24, text)
  end
 
  def update
    super
    if Graphics.frame_count / Graphics.frame_rate != @total_sec
      refresh
    end
  end
end

#------------------------------------------------------------------------------#
#                          Window_Map                                        #
#------------------------------------------------------------------------------#

class Window_Map < Window_Base
  def initialize(x,y)
    super(x, y, 240, 56)
    refresh
  end
 
  def refresh

    self.contents.clear
    self.contents.font.color = system_color
    self.contents.font.color = normal_color
    self.contents.draw_text(0, -8, 200, 32, $game_map.namemap.to_s)
  end
end

#------------------------------------------------------------------------------#
#                          Window_Equips                                      #
#------------------------------------------------------------------------------#
class Window_Equips < Window_Base
  def initialize(actor)
    super(0, 240, 250, 176)
    @actor = actor
    refresh
  end
 
  def refresh
    self.contents.clear
    @data = []
    for item in @actor.equips do @data.push(item) end
      @item_max = @data.size
      self.contents.font.color = system_color
      draw_item_name(@data[0], 0, WLH * 0)
      draw_item_name(@data[1], 0, WLH * 1)
      draw_item_name(@data[2], 0, WLH * 2)
      draw_item_name(@data[3], 0, WLH * 3)
      draw_item_name(@data[4], 0, WLH * 4)
    end
  end
 
#------------------------------------------------------------------------------#
#                          Window_MenuStatus                                  #
#------------------------------------------------------------------------------#

class Window_MenuStatus < Window_Selectable
  def initialize(x, y)
    super(0, 57, 544, 128)
    refresh
    self.active = false
    self.index = -1
  end

  def refresh
    self.contents.clear
    @item_max = $game_party.members.size
    for actor in $game_party.members
      draw_actor_face(actor, 2, actor.index * 96 + 2, 92)
      x = 104
      y = actor.index * 96 + WLH / 2
      draw_actor_name(actor, x, y)
      draw_actor_class(actor, x + 120, y)
      draw_actor_level(actor, x, y + WLH * 1)
      draw_actor_state(actor, x, y + WLH * 2)
      draw_actor_hp(actor, x + 120, y + WLH * 1)
      draw_actor_mp(actor, x + 120, y + WLH * 2)
    end
  end

  def update_cursor
    if @index < 0              # Sem cursor
      self.cursor_rect.empty
    elsif @index < @item_max    # Padrão
      self.cursor_rect.set(0, @index * 96, contents.width, 96)
    elsif @index >= 100        # Si
      self.cursor_rect.set(0, (@index - 100) * 96, contents.width, 96)
    else                        # O todo
      self.cursor_rect.set(0, 0, contents.width, @item_max * 96)
    end
  end
end

#------------------------------------------------------------------------------#
#                          Scene_Menu                                        #
#------------------------------------------------------------------------------#

class Scene_Menu < Scene_Base
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end
  def start
    super
    create_menu_background
    create_command_window
    @gold_window = Window_Gold.new(0, 184)
    @status_window = Window_MenuStatus.new(160, 0)
    @map_window = Window_Map.new(160, 184)
    @equips_window = Window_Equips.new($game_party.members[0])
    @time_window = Window_Time.new(400, 184)
    @stats_window = Window_Stats.new($game_party.members[0])
  end

  def terminate
    super
    dispose_menu_background
    @command_window.dispose
    @gold_window.dispose
    @status_window.dispose
    @map_window.dispose
    @equips_window.dispose
    @time_window.dispose
    @stats_window.dispose
  end

  def update
    super
    update_menu_background
    @command_window.update
    @gold_window.update
    @status_window.update
    @time_window.update
    if @command_window.active
      update_command_selection
    elsif @status_window.active
      update_actor_selection
    end
  end

  def create_command_window
    s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::status
    s5 = Vocab::save
    s6 = Vocab::game_end
    s7 = 'Pontos'
    @command_window = Window_Command.new(544,[s1, s2, s3, s4, s7, s5, s6],7,0,10)
    @command_window.index = @menu_index
    if $game_party.members.size == 0          # Se não houver membros na equipe
      @command_window.draw_item(0, false)    # Desabilita "Items"
      @command_window.draw_item(1, false)    # Desabilita "Habilidades"
      @command_window.draw_item(2, false)    # Desabilita "Equipamentos"
      @command_window.draw_item(3, false)    # Desabilita "Status"
    end
    if $game_system.save_disabled            # Se salvar for proibido
      @command_window.draw_item(4, false)    # Desabilita "Salvar"
    end
  end

  def update_command_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      if $game_party.members.size == 0 and @command_window.index < 4
        Sound.play_buzzer
        return
      elsif $game_system.save_disabled and @command_window.index == 4
        Sound.play_buzzer
        return
      end
      Sound.play_decision
      case @command_window.index
      when 0      # Item
        $scene = Scene_Item.new
      when 1,2,3  # Habilidades, equipamento, status
        start_actor_selection
      when 4
        $scene = Scene_Stat_Dist.new(0)
      when 5
        $scene = Scene_File.new(true,false,false)
      when 6
        $scene = Scene_End.new
      end
    end
  end

  def start_actor_selection
    @command_window.active = false
    @status_window.active = true
    if $game_party.last_actor_index < @status_window.item_max
      @status_window.index = $game_party.last_actor_index
    else
      @status_window.index = 0
    end
  end

  def end_actor_selection
    @command_window.active = true
    @status_window.active = false
    @status_window.index = -1
  end

  def update_actor_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      end_actor_selection
    elsif Input.trigger?(Input::C)
      $game_party.last_actor_index = @status_window.index
      Sound.play_decision
      case @command_window.index
      when 1  # Habilidades
        $scene = Scene_Skill.new(@status_window.index)
      when 2  # Equipamento
        $scene = Scene_Equip.new(@status_window.index)
      when 3  # Status
        $scene = Scene_Status.new(@status_window.index)
      end
    end
  end
end
kalormano
kalormano

Mensagens : 58
Data de inscrição : 13/07/2010
Idade : 34
Localização : Rio Grande do Sul

Ir para o topo Ir para baixo

[RGSS2] Pedido Empty Re: [RGSS2] Pedido

Mensagem por Tkilla Seg Ago 09, 2010 2:56 pm

A mano
Vlw vc salvo minha pele eu não sei se aqui tem sistema de creditos mais se eu descobrir
ta com +1 =DD
cheers cheers
Tkilla
Tkilla

Mensagens : 49
Data de inscrição : 01/08/2010
Idade : 29

Ir para o topo Ir para baixo

[RGSS2] Pedido Empty Re: [RGSS2] Pedido

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos