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

[RMVX] Loja de Habilidades

+5
allzero
Sasuke Uchiha15
wagnercgil
MestreJujuba
Jhonn
9 participantes
Ir para baixo
Jhonn
Jhonn
Novo Membro
Novo Membro
Masculino Mensagens : 114
Reputação : 48

[RMVX] Loja de Habilidades Empty [RMVX] Loja de Habilidades

Qui Jul 15, 2010 11:33 am
Reputação da mensagem: 75% (4 votos)
Loja de Habilidades v1.0.0
por lb_guilherme


Introdução
Cria uma loja em que pode-se comprar magias para os personagens


Screenshot
[RMVX] Loja de Habilidades Skillshop01


Como usar
Colocar o script acima de main. As configurações estão no inicio.
Para ativar use o código $scene = Scene_Magics.new


Script
Código:
          ###########################################################
          ################### COMPRA DE MAGIAS ######################
          #### V 1.0.0 ##############################################
          ################################### Por: lb_guilherme #####
          ###########################################################

module Refiner
 
  Grupos_mags = []
  Grupos_g = []
  # ----------------------------------------------------
  # ID das magias que fazem parte dos grupos:
  # Max = 15 por grupo
  # Grupos_mags[ID DO HEROI] = [MAGIAS]
 
  Grupos_mags[1] = [1,2,3,4,5]
  Grupos_mags[2] = [6,7,8,9,10]
  Grupos_mags[3] = [11,12,13]
  Grupos_mags[4] = [14,15,16,17,18,19,20,21,22,23]
 
  # ----------------------------------------------------
  # Preço das habilidades
  # Deve seguir a mesma ordem do "Grupos_mags".
  # Grupos_g[ID DO HEROI] = [VALORES]
 
  Grupos_g[1] = [5000,500,500,500,500]
  Grupos_g[2] = [500,500,5000,500,500]
  Grupos_g[3] = [500,500,5000]
  Grupos_g[4] = [500,500,500,500,500,500,500,500,500,500]
 
  # ---------------------------------------------------- #
  #      FIM DAS CONFIGURAÇÕES - INICIO DO SCRIPT        #
  # ---------------------------------------------------- #
 
end
class Game_Party < Game_Unit
  attr_reader:actors
end
class Scene_Magics < Scene_Base
  def start
    super
    create_menu_background
    start_vars
    @grupo_window = Window_Command.new(160, @pers_names)
    @grupo_window.x = 5
    @grupo_window.y = 5
    @gold_window = Window_Gold.new(5,(@pers_names.size * 24 + 42))
    @equips_window = Window_Command.new(160, [""])
    @equips_window.visible = false
    @equips_window.active = false
    @confirm_window = Window_Confirm.new
    @confirm_window.x = 5
    @confirm_window.y = 331
    @confirm_op_window = Window_Command.new(75, ["Sim","Não"])
    @confirm_op_window.x = 90
    @confirm_op_window.y = 331
    @confirm_op_window.opacity = 0
    @confirm_window.visible = false
    @confirm_op_window.visible = false
    @confirm_op_window.active = false
    @confirm_op_window.index = 1
  end
  def start_vars
    @groups_names = []
    @groups_icons = []
    @groups_value = []
    @groups_ids = []
    @pers_names = []
    @pers_ids = []
    for a in 0...$game_party.members.size
      b = $game_party.actors[a]
      @groups_names[b][size=15] = []
      @groups_icons[b][size=15] = []
      @groups_value[b][size=15] = []
      @groups_ids[b][size=15] = []
      @pers_names[a] = $data_actors[b][size=15].name
      @pers_ids[a] = b
      for i in 0...Refiner::Grupos_mags[b][size=15].size
        id = Refiner::Grupos_mags[b][size=15][i]
        @groups_names[b][size=15][i] = $data_skills[id].name
        @groups_icons[b][size=15][i] = $data_skills[id].icon_index
        @groups_value[b][size=15][i] = Refiner::Grupos_g[b][size=15][i]
        @groups_ids[b][size=15][i] = id
      end
    end
  end
  def terminate
    super
    dispose_menu_background
    @equips_window.dispose
    @grupo_window.dispose
    @confirm_op_window.dispose
    @confirm_window.dispose
    @gold_window.dispose
  end
  def update
    super
    update_menu_background
    @equips_window.update
    @grupo_window.update
    @gold_window.update
    @confirm_op_window.update
    @confirm_window.update
    if @grupo_window.active == true
      grupo_update
    elsif @equips_window.active == true
      equips_update
    elsif @confirm_window.visible == true
      confirm_update
    end
  end
  def confirm_update
    if Input.trigger?(Input::B)
        Sound.play_cancel
        un_active
    elsif Input.trigger?(Input::C)
      case @confirm_op_window.index
      when 0
        Sound.play_decision
        refinar
        un_active
        @icon_window.dispose
        desactive_options
        @confirm_op_window.index = 1
      when 1
        Sound.play_cancel
        un_active
      end
    end
  end
  def refinar
    per = @pers_ids[@grupo_window.index]
    $game_party.lose_gold(@groups_value[per][@equips_window.index])
    $game_actors[per].learn_skill(@groups_ids[per][@equips_window.index])
    @gold_window.refresh
  end
  def un_active
    @confirm_window.visible = false
    @confirm_op_window.visible = false
    @confirm_op_window.active = false
    @equips_window.active = true
    @confirm_window.contents.clear
    @confirm_window.contents.draw_text(0, 0, 80, 24, "Confirma?")
  end
  def equips_update
    if Input.trigger?(Input::B)
      Sound.play_cancel
      @equips_window.visible = false
      @equips_window.active = false
      @grupo_window.active = true
      @icon_window.dispose
    end
    if Input.trigger?(Input::C)
      Sound.play_decision
      trocar
    end
  end
  def grupo_update
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      Sound.play_decision
      @equips_window.dispose
      @equips_window = Window_Command2.new(369, @groups_names[@pers_ids[@grupo_window.index]])
      @equips_window.x = 170
      @equips_window.y = 5
      @grupo_window.active = false
      desactive_options
    end
  end
  def desactive_options
    @troc = []
    @icon_window = Window_Icon.new
    @icon_window.opacity = 0
    x = 0
    y = -24
    id = @pers_ids[@grupo_window.index]
    for a in 0...@groups_ids[id].size
      v = @groups_value[id][a]
      if v == nil
        v = 0
      end
      if $game_party.gold < v
        @equips_window.draw_item(a, false)
        @troc[a] = false
      else
        @troc[a] = true
      end
      y = y + 24
      icon = @groups_icons[id][a]
      @icon_window.draw_icon(icon, x, y, @troc[a])
      @icon_window.draw_currency_value(@groups_value[id][a].to_s, x + 250, y, 80, @troc[a])
    end
  end
  def trocar
    if @troc[@equips_window.index] == false
      Sound.play_cancel
      @confirm_window.visible = true
      @equips_window.active = false
      @confirm_window.contents.clear
      @confirm_window.contents.draw_text(0, 0, 130, 24, "Você não tem di-")
      @confirm_window.contents.draw_text(0, 24, 130, 24, "nheiro suficiente")
    else
      @confirm_window.visible = true
      @confirm_op_window.visible = true
      @confirm_op_window.active = true
      @equips_window.active = false
    end
  end
end
class Window_Confirm < Window_Base
  def initialize
    super (0, 0, 160, WLH * 2 + 32)
    self.contents.draw_text(0, 0, 80, 24, "Confirma?")
  end
end
class Window_Icon < Window_Base
  def initialize
    super (170, 5, 369, WLH * 14 + 32)
  end
end
class Window_Command2 < Window_Selectable
  attr_reader:commands
  def initialize(width, commands)
    super(0, 0, width, commands.size * WLH + 32, 32)
    @commands = commands
    @item_max = commands.size
    refresh
    self.index = 0
  end
  def refresh
    self.contents.clear
    for i in 0...@item_max
      draw_item(i)
    end
  end
  def draw_item(index, enabled = true)
    rect = item_rect(index)
    rect.x += 30
    rect.width -= 8
    self.contents.clear_rect(rect)
    self.contents.font.color = normal_color
    self.contents.font.color.alpha = enabled ? 255 : 128
    self.contents.draw_text(rect, @commands[index])
  end
end
class Window_Base < Window
  def draw_currency_value(value, x, y, width, enabled = true)
    cx = contents.text_size(Vocab::gold).width
    self.contents.font.color = normal_color
    self.contents.font.color.alpha = enabled ? 255 : 128
    self.contents.draw_text(x, y, width-cx-2, WLH, value, 2)
    self.contents.font.color = system_color
    self.contents.font.color.alpha = enabled ? 255 : 128
    self.contents.draw_text(x, y, width, WLH, Vocab::gold, 2)
  end
end


Créditos e Agradecimentos
  • Criado por lb_guilherme
  • Backup da antiga RMB restaurado por Jhonn


Última edição por Jhonn em Qua Ago 04, 2010 6:22 pm, editado 2 vez(es) (Motivo da edição : Adequar script ao modelo do RafaelSOPA)
MestreJujuba
MestreJujuba
Membro
Membro
Masculino Mensagens : 413
Reputação : 66
http://www.lokosmaniacos.blogspot.com

[RMVX] Loja de Habilidades Empty Re: [RMVX] Loja de Habilidades

Qui Jul 15, 2010 11:46 am
Realmente eu vou usar...

Estou cansado de te dar reputação, sabia?
Spoiler:
wagnercgil
wagnercgil
Membro
Membro
Masculino Mensagens : 203
Reputação : 24

[RMVX] Loja de Habilidades Empty Re: [RMVX] Loja de Habilidades

Qui Jul 15, 2010 2:31 pm
esse ai ja vi em algum lugar mas +rep por por no forum
Sasuke Uchiha15
Sasuke Uchiha15
Novato
Novato
Masculino Mensagens : 8
Reputação : 10

[RMVX] Loja de Habilidades Empty Re: [RMVX] Loja de Habilidades

Sáb Jul 17, 2010 5:59 pm
Muito Bom o Script! Add no Projeto! :D
allzero
allzero
Novo Membro
Novo Membro
Masculino Mensagens : 198
Reputação : 16

[RMVX] Loja de Habilidades Empty Re: [RMVX] Loja de Habilidades

Ter Jul 20, 2010 7:37 pm
gostei! bom rep
Dr.Lucas
Dr.Lucas
Novato
Novato
Masculino Mensagens : 4
Reputação : 10

[RMVX] Loja de Habilidades Empty Re: [RMVX] Loja de Habilidades

Ter Set 07, 2010 2:40 am
Super hiper mega legal esse sistema.

Acho que vou usar em meus projetos.
eduardofel
eduardofel
Novo Membro
Novo Membro
Masculino Mensagens : 163
Reputação : 14

[RMVX] Loja de Habilidades Empty Re: [RMVX] Loja de Habilidades

Qui Set 16, 2010 3:09 pm
Cara vlw dnv , e Dnv e Dnv
Cansei de agradeçer =]


+rep
douglaslc
douglaslc
Novato
Novato
Masculino Mensagens : 31
Reputação : 14
https://www.facebook.com/sjdoug

[RMVX] Loja de Habilidades Empty Re: [RMVX] Loja de Habilidades

Sex Dez 30, 2011 6:50 pm
Muito bom o script. Pena que ta dando erro aqui na linha 66 :(
Alucard_2
Alucard_2
Administrador
Administrador
Masculino Mensagens : 823
Reputação : 57
http://www.não tenho site ainda.com.nada

[RMVX] Loja de Habilidades Empty Re: [RMVX] Loja de Habilidades

Sáb Dez 31, 2011 3:39 am
@douglaslc
Verei o problema assim que chegar em casa ;)
Conteúdo patrocinado

[RMVX] Loja de Habilidades Empty Re: [RMVX] Loja de Habilidades

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