De Jogador para jogador
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.


Fórum que fala sobre qualquer jogo, com o foco em criação de jogos!
 
InícioPortalÚltimas imagensProcurarRegistarEntrar
Entrar
Nome de usuário:
Senha:
Entrar automaticamente: 
:: Esqueci-me da senha
Navegação
 Portal
 Índice
 Membros
 Perfil
 FAQ
 Buscar
Últimos assuntos
» SCRIPT: Sistema de Luz v1.1
Distribuição de Atributos v1.6 EmptySáb Fev 01, 2014 3:20 pm por lotis1250

» travando menos...
Distribuição de Atributos v1.6 EmptySex Mar 22, 2013 9:04 am por lordchaos157

» prisiso de chars do ash de pokemon pro rmvx
Distribuição de Atributos v1.6 EmptyDom Dez 23, 2012 5:01 pm por guiniderle

» Preciso de gente dedicada para me ajudar a criar todas as edições de conan o barbaro
Distribuição de Atributos v1.6 EmptyDom Dez 23, 2012 4:32 pm por guiniderle

» Adaptamento de Tilesets de xp para vx...
Distribuição de Atributos v1.6 EmptyDom Jan 15, 2012 10:42 am por luansan14

» como eu coloco fotos aqui no meu perfil?
Distribuição de Atributos v1.6 EmptySáb Jan 14, 2012 7:34 pm por luansan14

» Posso criar um char?
Distribuição de Atributos v1.6 EmptySáb Jan 14, 2012 7:32 pm por luansan14

» Pacote de Scripts
Distribuição de Atributos v1.6 EmptyTer Fev 01, 2011 8:25 am por Aluno

» stage de estrada
Distribuição de Atributos v1.6 EmptyQui Jan 13, 2011 10:38 am por traver

Parceiros
Distribuição de Atributos v1.6 Bannerdjj
Anime Chaos


 

 Distribuição de Atributos v1.6

Ir para baixo 
5 participantes
AutorMensagem
Toyota
Membro
Membro
Toyota


Mensagens : 54
Créditos : 13
Idade : 27
Localização : Rio de Janeiro - RJ
Frase Pessoal : " Scripter dos Makers "

Distribuição de Atributos v1.6 Empty
MensagemAssunto: Distribuição de Atributos v1.6   Distribuição de Atributos v1.6 EmptySáb Jan 30, 2010 3:51 pm

Esse script é encssencial no jog, pelo menos eu acho... ele distr255ibui os pontos de atributos: Força, Defesa, Inteligência, Agilidade, Crítico, Esquiva, Acerto, Hp e Mp...

Instrução : Cole o script acima do script Main, no Menu de Scripts ( Aperte F11 )... CHAME O SCRIPT USANDO : $scene = Scene_Stat_Dist.new(0)

Modificações: Você pode dar pontos a seus personagens usando isto:

$game_party.members[<ID do herói>].points += <quantidade de pontos>

Se você deseja que seu personagem ganhe pontos depois de aumentar de level:
Em Game_Actor, na def change_exp, em baixo da linha level_up (Linha 525)
cole isto (Modo 1):

difference = @level - last_level
$game_actors[@actor_id].points += <amount of points>

ou se você desejar o Modo 2(explicado abaixo)

difference = @level - last_level
$game_actors[@actor_id].points += ((@level/5).floor+2).floor*difference


**Nota**
Este script não para de dar os pontos de atributos definidos do database
Coloque todos os atributos dos personagens no databse em 1
para desativar.

**Modos**
1 : Adiciona um ponto no atributo por ponto.
2 : Usa o sistema de ragnarok, atributos com valores mais altos necessita de mais pontos.
Explicação: Em Ragnarok, se você possui um atributo com valor alto, você vai precisar de mais pontos para aumentar ele. Então se você tem 90 de ataque e 5 de inteligência... Você pode escolher entre usar 10 pontos para aumentar em 1 ponto o ataque ou usar 10 pontos para aumentar um ponto de inteligência.



Script:
Código:
=begin
#------------------------------------------------------------------------------#
#                  Sistema de distribuição de Atributos 1.6                  #
#                                   Por Lettuce.                                  #
#------------------------------------------------------------------------------#
#                        Disponibilizado, Traduzido e Modificado por          #
#                                      Toyota.                                #
#------------------------------------------------------------------------------#
# Este script possibilita que você distribua pontos entre os atributos do
# jogador.
#
# Chame o script assim: $scene = Scene_Stat_Dist.new(0)
#     
#                           
#  Você pode dar pontos a seus personagens usando isto: 
#                     
#    $game_party.members[<ID do herói>].points += <quantidade de pontos> 
#                     
#  Se você deseja que seu personagem ganhe pontos depois de aumentar de level: 
#  Em Game_Actor, na def change_exp, em baixo da linha level_up (Linha 525;
#  cole isto (modo 1):
#                                   
#          difference = @level - last_level 
#    $game_actors[@actor_id].points += <amount of points>
#                                   
#            ou se você desejar o modo 2 (explicado abaixo)
#                                   
#      difference = @level - last_level           
#      $game_actors[@actor_id].points += ((@level/5).floor+2).floor*difference
#                                             
#                                               
#  **Nota**                 
#  Este script não para de dar os pontos de atributos definidos do database
#  Coloque todos os atributos dos personagens no databse em 1
#  para desativar.
#------------------------------------------------------------------------------#
#  **Modos**
#  1 : Adiciona um ponto no atributo por ponto.
#  2 : Usa o sistema de ragnarok, atributos com valores mais altos necessita de
#  mais pontos.
#    Explicação: Em Ragnarok, se você possui um atributo com valor alto, você
#    vai precisar de mais pontos para aumentar ele. Então se você tem 90 de ataque
#  e 5 de inteligência... Você pode escolher entre usar 10 pontos para aumentar
#    em 1 ponto o ataque ou usar 10 pontos para aumentar um ponto de inteligência.
#------------------------------------------------------------------------------#
=end
#----------------------------- Configuração ----------------------------------#
#Pontos Iniciais; quantos pontos dar ao personagem no ínicio do game
StartPoints = 5
#Valor máximo do atributo no jogo.
MaxStat = 300
MaxHP = 9999
MaxMP = 999
#Taxa de acerto, esquiva e crítico máxima em porcentagem
MaxHIT = 90 # 100 significa que nunca erra
MaxEVA = 50 #100 significa que SEMPRE esquiva; 50-70 é um bom número
MaxCRIT = 50 #100 significa que sempre irá causa dano crítico

#Quantos pontos necessários por nível de aumento
PointsPerHP = 5
PointsPerMP = 5
PointsPerHIT = 4
PointsPerEVA = 7
PointsPerCRIT = 5

#Quantos pontos irão aumentar por ponto gasto no aumento de nível?
IncreaseBy = 10
HPIncreaseBy = 100
MPIncreaseBy = 50
HITIncreaseBy = 1
EVAIncreaseBy = 1
CRITIncreaseBy = 1


#1 para modo normal, ou 2 para modo ragnarok [pontos requiridos calculados por
#fórmula]
Mode = 1
#Você pode mudar a fonte e o tamanho dela aqui
Fontname = "Calibri"
Fontsize = 20

#Modo do Layout, se você utiliza palavras longas para atq, int, def ou agi;
#coloque LayoutMode em 2
LayoutMode = 2

#========================== Fim da configuração=================================
OFFSET = -10 #moves equipment part up and down XD
#==============================================================================
# ** Lettuce_Window_Top
#------------------------------------------------------------------------------
#  This window displays Title message
#==============================================================================

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.draw_text(0,-10,544-32,32,"Distribuição de pontos de atributos",1)
   self.contents.font.size = Fontsize-4
   self.contents.draw_text(0,10,544-32,32,"Pressione esquerda ou direita para mudar o personagem",1)
  end
   
end
#==============================================================================
# ** Lettuce_Window_Points
#------------------------------------------------------------------------------
#  This window displays the attributes of a party member
#==============================================================================
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

#==============================================================================
# ** Lettuce_Window_Info
#------------------------------------------------------------------------------
#  This window displays the attributes of a party member
#==============================================================================

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,"Nvl. "+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 #total exp
  s2 = actor.current_lvl_exp #exp to get to this level
  if s1.is_a?(Numeric)
    s3 = s1-s2 #progress in this level
    s4 = actor.next_lvl_exp #exp needed for next level
    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
   
   #Preparing bar colours
   back_color = Color.new(39, 58, 83, 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,hp_color1,hp_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,mp_color1,mp_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)
 
  ##weapons
  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_handed == true
      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)
   
    #Testing area for Weapon upgrade script
    #self.contents.font.size = Fontsize - 7
    #self.contents.draw_text(160+@exo,135,30,20,"[+"+weapon.level.to_s+"]",0)
   
    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,127+@eyo,200,20,"Desequipado")
    end
    if !shield
      draw_icon(217,160+@exo,155+@eyo,true)
      self.contents.draw_text(184+@exo,157+@eyo,200,20,"Desequipado")
    end
    if !helm
      draw_icon(218,160+@exo,185+@eyo,true)
      self.contents.draw_text(184+@exo,187+@eyo,200,20,"Desequipado")
    end
    if !body
      draw_icon(219,160+@exo,215+@eyo,true)
      self.contents.draw_text(184+@exo,217+@eyo,200,20,"Desequipado")
    end
    if !accessory
      draw_icon(220,160+@exo,245+@eyo,true)
      self.contents.draw_text(184+@exo,247+@eyo,200,20,"Desequipado")
    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_handed == true
      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,"Desequipado")
    end
    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,"Desequipado")
    end
    if !helm
      draw_icon(218,160+@exo2,205+OFFSET+@eyo,true)
      self.contents.draw_text(184+@exo2,207+OFFSET+@eyo,200,20,"Desequipado")
    end
    if !body
      draw_icon(219,160+@exo2,245+OFFSET+@eyo,true)
      self.contents.draw_text(184+@exo2,247+OFFSET+@eyo,200,20,"Desequipado")
    end
    if !accessory
      draw_icon(220,160+@exo2,285+OFFSET+@eyo,true)
      self.contents.draw_text(184+@exo2,287+OFFSET+@eyo,200,20,"Desequipado")
    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,Vocab::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,str_color1,str_color2)
   
   self.contents.draw_text(10,150,100,20,Vocab::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,Vocab::spi+": ")
   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,spi_color1,spi_color2)
   
   self.contents.draw_text(10,210,100,20,Vocab::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(10,245,100,20,"Atq Máximo :",2)
  self.contents.draw_text(10,260,100,20,"Acerto (%) :",2)
  self.contents.draw_text(10,275,100,20,"Esquiva (%) :",2)
  self.contents.draw_text(10,290,100,20,"Crítico (%) :",2)
 
  self.contents.draw_text(120,245,60,20,(actor.atk*4).to_s,0)
  self.contents.draw_text(120,260,60,20,actor.base_hit.to_s + "+" + actor.hitr.to_s,0)
  self.contents.draw_text(120,275,60,20,actor.base_eva.to_s + "+" +actor.evar.to_s,0)
  self.contents.draw_text(120,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)
 
  #self.contents.draw_text(120,260,60,20,(hit_rate+actor.hit_bonus).to_s,0)
  #self.contents.draw_text(120,275,60,20,(evasion+actor.eva).to_s,0)
  #self.contents.draw_text(120,290,60,20,(crit+actor.cri_bonus).to_s,0)
 
  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(253+@exo2,140+OFFSET+@eyo,100,20,Vocab::spi+"+"+weapon.spi.to_s)
  self.contents.draw_text(253+@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(253+@exo2,180+OFFSET+@eyo,100,20,Vocab::spi+"+"+shield.spi.to_s)
  self.contents.draw_text(253+@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(253+@exo2,220+OFFSET+@eyo,100,20,Vocab::spi+"+"+helm.spi.to_s)
  self.contents.draw_text(253+@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(253+@exo2,260+OFFSET+@eyo,100,20,Vocab::spi+"+"+body.spi.to_s)
  self.contents.draw_text(253+@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(253+@exo2,300+OFFSET+@eyo,100,20,Vocab::spi+"+"+accessory.spi.to_s)
  self.contents.draw_text(253+@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

#==============================================================================
# ** Lettuce_Window_Help
#------------------------------------------------------------------------------
#  This window displays property of each attribute
#==============================================================================
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,"Acerto + "+HITIncreaseBy.to_s)
    when 7
      self.contents.draw_text(0,-5,112,20,"Esquiva + "+EVAIncreaseBy.to_s)
    when 8
      self.contents.draw_text(0,-5,112,20,"Critíco + "+CRITIncreaseBy.to_s)
    end

 
  end
 
end
 

#==============================================================================
# ** Scene_Stat_Dist
#------------------------------------------------------------------------------
#  Performs stat distribution process :)
#==============================================================================
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 = "Acerto"
  i6 = "Esquiva"
  i7 = "Crítico"
   @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_points.refresh(@menu_index)
 
   @window_select.update
   #@window_help.refresh(@window_select.index)
  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_Map.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)
     #Points addition begins
     #which attribute
     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]
 
##weapons
  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)
        #$scene = Scene_Stat_Dist.new(@menu_index)
     end
  end
 
  def do_point_rag
   @att = @window_select.index
 
  actor = $game_party.members[@menu_index]
 
##weapons
  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)
      #$scene = Scene_Stat_Dist.new(@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


#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
#  Giving game actor a point attribute
#  -> $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
  #attr_accessor :current_lvl_exp
  #attr_accessor :next_lvl_exp
  alias Lettuce_Game_Actor_Ini initialize
 
  def initialize(actor_id)
    Lettuce_Game_Actor_Ini(actor_id)
    @points = StartPoints
    @hitr = 0
    @evar = 0
    @crir = 0
    #@current_lvl_exp = @exp_list[@level-1]
    #@next_lvl_exp = @exp_list[@level]
  end

  def points
    return @points
  end
 
  #--------------------------------------------------------------------------
  # * Get Hit Rate
  #--------------------------------------------------------------------------
  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
  #--------------------------------------------------------------------------
  # * Get Evasion Rate
  #--------------------------------------------------------------------------
  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
  #--------------------------------------------------------------------------
  # * Get Critical Ratio
  #--------------------------------------------------------------------------
  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
 
 #--------------------------------------------------------------------------
  # * Get Hit Rate
  #--------------------------------------------------------------------------
  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
  #--------------------------------------------------------------------------
  # * Get Evasion Rate
  #--------------------------------------------------------------------------
  def base_eva
    n = 5
    for item in armors.compact do n += item.eva end
    return n
  end
  #--------------------------------------------------------------------------
  # * Get Critical Ratio
  #--------------------------------------------------------------------------
  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
 
 
  #--------------------------------------------------------------------------
  # * bonus rates
  #-------------------------------------------------------------------------- 
  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

Créditos: Lettuce( Criação )
Toyota ( Tradução e Modificação )

Mais intruções no script.
Ir para o topo Ir para baixo
AND_RYO
Moderador
Moderador
AND_RYO


Mensagens : 177
Créditos : 19
Idade : 31
Localização : RS
Frase Pessoal : O Conselheiro dos Makers...

Distribuição de Atributos v1.6 Empty
MensagemAssunto: Re: Distribuição de Atributos v1.6   Distribuição de Atributos v1.6 EmptySáb Jan 30, 2010 4:00 pm

Esse sistema é muito interessante...você decide como serão os atributos do seu char...podendo fazer um mago mega forte fisicamente ou fazer com que um char tenha um de seus atributos como especialidade...
muito bom! (estou devendo créditos...quando der eu credito^^)
Ir para o topo Ir para baixo
traver
Membro
Membro
traver


Mensagens : 106
Créditos : 7
Idade : 26
Localização : Goiás

Distribuição de Atributos v1.6 Empty
MensagemAssunto: Re: Distribuição de Atributos v1.6   Distribuição de Atributos v1.6 EmptySáb Jan 30, 2010 6:34 pm

È o bom de distribuidor de pontos é q vc q escolhe em q vc quer melhorar e ñ automatico qualquer 1 lá ,tipo O ULTIMO GUERREIRO
do ADM BOB tbm tem esse sistema Wink
Ir para o topo Ir para baixo
xSMUGx
Membro
Membro
xSMUGx


Mensagens : 62
Créditos : 14
Idade : 32
Localização : Rio de Janeiro

Distribuição de Atributos v1.6 Empty
MensagemAssunto: Re: Distribuição de Atributos v1.6   Distribuição de Atributos v1.6 EmptyQua Fev 10, 2010 4:55 pm

Muito bom script.

+1créd

Pergunta: Conhece algum script para mudar os atributos ou colocar atributos novos?
Ir para o topo Ir para baixo
Bob
Admin
Admin
Bob


Mensagens : 108
Créditos : 30
Idade : 32
Localização : Goiás
Frase Pessoal : "I'm god of events!"

Distribuição de Atributos v1.6 Empty
MensagemAssunto: Re: Distribuição de Atributos v1.6   Distribuição de Atributos v1.6 EmptyQua Fev 10, 2010 5:06 pm

Dê uma olhada neste script que eu postei aqui.
Script!
Ir para o topo Ir para baixo
https://dejogador.forumeiros.com
Conteúdo patrocinado





Distribuição de Atributos v1.6 Empty
MensagemAssunto: Re: Distribuição de Atributos v1.6   Distribuição de Atributos v1.6 Empty

Ir para o topo Ir para baixo
 
Distribuição de Atributos v1.6
Ir para o topo 
Página 1 de 1
 Tópicos semelhantes
-
» Distribuir atributos
» Faz Aparecer Atributos Baseados em Variáveis na Tela de Status

Permissões neste sub-fórumNão podes responder a tópicos
De Jogador para jogador :: Rpg maker VX :: Scripts-
Ir para: