Life RPG Maker 2.0
Bem vindo a LRM, forum de ajuda Maker
Registre-se em nosso forum e aproveite Very Happy
esperamos que você seja ajudado e esperamos que nos ajude Very Happy

Participe do fórum, é rápido e fácil

Life RPG Maker 2.0
Bem vindo a LRM, forum de ajuda Maker
Registre-se em nosso forum e aproveite Very Happy
esperamos que você seja ajudado e esperamos que nos ajude Very Happy
Life RPG Maker 2.0
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Life RPG Maker 2.0

2ª versão do forum life rpg maker

Os membros mais ativos do mês
Nenhum usuário

Últimos assuntos
» Kingdon 1.6
HL-Dificult Option 2.1 EmptyTer Jun 09, 2015 3:02 pm por MasterKill

» Tempo dinâmico e Hora do Sistema
HL-Dificult Option 2.1 EmptySeg Dez 09, 2013 5:42 pm por jonathas

» Sistema de Natação
HL-Dificult Option 2.1 EmptySáb Dez 07, 2013 5:14 pm por jonathas

» Classificar Inventario
HL-Dificult Option 2.1 EmptySáb Dez 07, 2013 12:07 pm por Samuka_Adm

» VOLTEI ALELUIA :D
HL-Dificult Option 2.1 EmptySáb Dez 07, 2013 10:35 am por Samuka_Adm

» Netplay Master v4.0.7
HL-Dificult Option 2.1 EmptyQua Jun 26, 2013 1:32 pm por xdario

» The League Of War [Season 1]
HL-Dificult Option 2.1 EmptySex Jan 18, 2013 6:02 pm por Warrior

» Meu primeiro desenho que posto :D
HL-Dificult Option 2.1 EmptyQua Jan 09, 2013 1:37 pm por PedroMatoso

» Window Configurações
HL-Dificult Option 2.1 EmptyQua Jan 09, 2013 1:36 pm por PedroMatoso

Parceiros
Fórum grátis

Fórum grátis


Mundo RPG Maker
MMORPG BRASIL

Você não está conectado. Conecte-se ou registre-se

HL-Dificult Option 2.1

Ir para baixo  Mensagem [Página 1 de 1]

1HL-Dificult Option 2.1 Empty HL-Dificult Option 2.1 Sáb Nov 24, 2012 11:55 am

Samuka_Adm

Samuka_Adm
Admin
Admin

Edit.: Atualizei o script [27/11/2010]

HL-Dificult Option 2.1
[color:e25c=#36f]introdução Dramática:
Eu ia lançar um Hl-Update Pack, com todos os scripts q eu fiz, só q melhorados, com os novos conhecimentos q adquiri ao longo de minha vida de scripter.xD. Porém parei de usar o RmXp, pelo menos por enquanto, n deu pra terminar tds os scripts, mas pelo menos fiz 2, e estou disponibilzando.
[Momento Emo]Esses podem ser os meus últimos scripts [o outro eu ja postei], então espero q gostem.[/Momento Emo]
[color:e25c=#36f]Descrição:Cria as opções de dificuldade, onde você define quanto porcento o monstro ficará mais/menos forte, dará a mais/menos em ouro e exp e chances terá a mais/menos de derrubar um item, não esqueça de configurar o script.
[color:e25c=#36f]Histórico de Updates:
Na Versão 2.0
=> Pode-se aumentar número de dificuldades;
=> Pode-se especificar uma porcentagem de desvantagem/vantagem para os atributos desejados;
=> Pode-se criar uma probabilidade exata para cair o item, em cada dificuldade;
=> Pode-se ativar uma switch quando o jogador escolher a dificuldade;
=> Uma melhora no código em si, através do uso do alias.
Na Versão 2.1
=> Quando botava 0, o inimigo ficava 2x mais fraco (corrigido)
=> Quando o inimigo tinha vantagem, dava erro no momento da batalha (corrigido)

[color:e25c=#36f]Função:Dar chance de jogadores não tão experientes ganharem experiencia.XD

[color:e25c=#36f]Screens:
Spoiler:
[color:e25c=#36f]MiniFaq:
- Como Adicionar Scripts ao Rpg Maker Xp??
Simplesmente clique em um ícone(papel e lápis) que está na área
superior, direita.Abrirá uma janela(a janela de scripts), terá uma lista
do lado esquerdo,o último item é o main.Apartir daí, você pode fazer
2 coisas:
1º- Ou clica com o botão direito em mais e selecione inserir,
aparecerá na lista um espaço em branco, selecione, e no espaço
do lado esquerdo, cole o Script(Texto).
2º- Ou abre a demo(projeto de demonstração) do script, abre a
janela de scripts e clica com o botão direito no item "HL-Dificult
Option" e seleciona copiar, agora abra seu projeto, abra a janela
de scripts e clique com o botão direito no item "main" da lista e
selecione colar.
[color:e25c=#36f]Download:
Não é necessário uma demo
Texto
Código:
#==============================================================================
# HL - Dificult Option 2.1 (2 Bugs Corrigidos)
#------------------------------------------------------------------------------
# Este script faz com que haja opções de dificuldade.
#------------------------------------------------------------------------------
# Autor: HugoLinux/HugoLnx (http://hugolnx.wordpress.com/)
# Colaboração: Black ( encontrou os bugs ;) )
#==============================================================================

#Defina aqui o Nome das Dificuldades, par adicionar dificuldades
#adicione , "<nome da dificuldade>" se eu quiser adicionar a
#dificuldade "Impossível", eu escrevo:
#DIFI = ["Fácil","Médio","Difícil","Muito Difícil","Impossível"]
#lembre-se que sempre que adicionar/retirar uma dificuldade,
#tem que adicionar/retirar uma "casa" ao resto dos Atributos...
DIFI = ["Fácil","Médio","Difícil","Muito Difícil"]
#Defina aqui a porcentagem de desvantagem/vantagem que o monstro
#terá, em porcentagem.Por exemplo, no caso a baixo...
#-25 é negativo, então está representando que o monstro tera uma
#desvantagem de 25%(escreva 0 para que não tenha desvantagem/vantagem),
#e já que é o 1º então esta desvantagem será aplicada ao 1º nível
#citado, no caso é "Facil".
DIFI_L = [-25,0,50,100]
#Defina aqui o ID da switch que será ativada caso o nível seja
#escolhido, deixe 0 para que não seja ativada nenhuma
DIFI_S = [1,2,3,4]
#Se você quiser uma desvantagem/vantagem individual para cada
#atributo do inimigo defina abaixo, se não quiser deixe nil mesmo:
HP = [nil,nil,nil,nil] # Hp
MP = [nil,nil,nil,nil] # Mp
FOR = [nil,nil,nil,nil] # Força
DES = [nil,nil,nil,nil] # Destreza
AGI = [nil,nil,nil,nil] # Agilidade
MAG = [nil,nil,nil,nil] # Magia
ATK = [nil,nil,nil,nil] # Ataque
DEF_FIS = [nil,nil,nil,nil] # Defesa Física
DEF_MAG = [nil,nil,nil,nil] # Defesa Mágica
ESQ = [nil,nil,nil,nil] # Esquiva
EXP = [nil,nil,nil,nil] # Experiência
DIN = [nil,nil,nil,nil] # Dinheiro
ITEM_PROB = [nil,nil,nil,nil] # Probabilidade de cair item

#Se você quiser uma probabilidade exata de probabilidade
#escreva-a abaixo:
ITEM_PROB_EXACT = [nil,nil,nil,nil]

class Game_Enemy < Game_Battler
 
  #--------------------------------------------------------------------------
  # - Inicialização de Objetos
  #
  #    troop_id    : ID do Grupo de Inimigos
  #    member_index : Índice de Inimigos
  #--------------------------------------------------------------------------
 
  def initialize(troop_id, member_index)
    super()
    @troop_id = troop_id
    @member_index = member_index
    troop = $data_troops[@troop_id]
    @enemy_id = troop.members[@member_index].enemy_id
    enemy = $data_enemies[@enemy_id]
    @battler_name = enemy.battler_name
    @battler_hue = enemy.battler_hue
    @hp = maxhp
    @sp = maxsp
    @hidden = troop.members[@member_index].hidden
    @immortal = troop.members[@member_index].immortal
  end
  def calc_difi_vant(vants,type)
    if vants[$difi_op] < 0
      difi = 100 - vants[$difi_op].abs
      difi2 = 100 + vants[$difi_op].abs
    elsif vants[$difi_op] == 0
      difi = 100
      difi2 = 100
    else
      difi = 100 + vants[$difi_op]
      difi2 = 100 - vants[$difi_op]
    end
    return type == 0 ? difi : difi2
  end
  def base_maxhp
    mult = HP[$difi_op] == nil ? $difi : calc_difi_vant(HP,0)
    return Integer(($data_enemies[@enemy_id].maxhp * mult)/100)
  end
 
  #--------------------------------------------------------------------------
  # - Selcionar Base do MaxMP
  #--------------------------------------------------------------------------
 
  def base_maxsp
    mult = MP[$difi_op] == nil ? $difi : calc_difi_vant(MP,0)
    return Integer(($data_enemies[@enemy_id].maxsp * mult)/100)
  end
 
  #--------------------------------------------------------------------------
  # - Selecionar Base da Força
  #--------------------------------------------------------------------------
 
  def base_str
    mult = FOR[$difi_op] == nil ? $difi : calc_difi_vant(FOR,0)
    return Integer(($data_enemies[@enemy_id].str * mult)/100)
  end
 
  #--------------------------------------------------------------------------
  # - Selecionar Base da Destreza
  #--------------------------------------------------------------------------
 
  def base_dex
    mult = DES[$difi_op] == nil ? $difi : calc_difi_vant(DES,0)
    return Integer(($data_enemies[@enemy_id].dex * mult)/100)
  end
  #--------------------------------------------------------------------------
  # - Selecionar Base da Agilidade
  #--------------------------------------------------------------------------
 
  def base_agi
    mult = AGI[$difi_op] == nil ? $difi : calc_difi_vant(AGI,0)
    return Integer(($data_enemies[@enemy_id].agi * mult)/100)
  end
 
  #--------------------------------------------------------------------------
  # - Selecionar Base da Magia
  #--------------------------------------------------------------------------
 
  def base_int
    mult = MAG[$difi_op] == nil ? $difi : calc_difi_vant(MAG,0)
    return Integer(($data_enemies[@enemy_id].int * mult)/100)
  end
 
  #--------------------------------------------------------------------------
  # - Selecionar Base do Ataque
  #--------------------------------------------------------------------------
 
  def base_atk
    mult = ATK[$difi_op] == nil ? $difi : calc_difi_vant(ATK,0)
    return Integer(($data_enemies[@enemy_id].atk * mult)/100)
  end
 
  #--------------------------------------------------------------------------
  # - Selecionar Base da Defesa
  #--------------------------------------------------------------------------
 
  def base_pdef
    mult = DEF_FIS[$difi_op] == nil ? $difi : calc_difi_vant(DEF_FIS,0)
    return Integer(($data_enemies[@enemy_id].pdef * mult)/100)
  end
 
  #--------------------------------------------------------------------------
  # - Selecionar Base da Defesa Mágica
  #--------------------------------------------------------------------------
 
  def base_mdef
    mult = DEF_MAG[$difi_op] == nil ? $difi : calc_difi_vant(DEF_MAG,0)
    return Integer(($data_enemies[@enemy_id].mdef * mult)/100)
  end
 
  #--------------------------------------------------------------------------
  # - Selecionar Base da Esquiva
  #--------------------------------------------------------------------------
 
  def base_eva
    mult = ESQ[$difi_op] == nil ? $difi : calc_difi_vant(ESQ,0)
    return Integer(($data_enemies[@enemy_id].eva * mult)/100)
  end
    def exp
      mult = EXP[$difi_op] == nil ? $difi2 : calc_difi_vant(EXP,1)
    return Integer(($data_enemies[@enemy_id].exp * mult)/100)
  end
 
  #--------------------------------------------------------------------------
  # - Selecionar Dinheiro
  #--------------------------------------------------------------------------
 
  def gold
    mult = DIN[$difi_op] == nil ? $difi2 : calc_difi_vant(DIN,1)
    return Integer(($data_enemies[@enemy_id].gold * mult)/100)
  end
  def treasure_prob
    mult = ITEM_PROB[$difi_op] == nil ? $difi2 : calc_difi_vant(ITEM_PROB,1)
    return ITEM_PROB_EXACT[$difi_op] == nil ? Integer(($data_enemies[@enemy_id].treasure_prob * mult)/100) : ITEM_PROB_EXACT[$difi_op]
  end
end
#==============================================================================
# Scene_Title
#------------------------------------------------------------------------------
# Esta classe trata da Tela de Título
#==============================================================================

class Scene_Title
  def main
    if $BTEST
      battle_test
      return
    end
    # Carregar o Banco de Dados
    $data_actors        = load_data("Data/Actors.rxdata")
    $data_classes      = load_data("Data/Classes.rxdata")
    $data_skills        = load_data("Data/Skills.rxdata")
    $data_items        = load_data("Data/Items.rxdata")
    $data_weapons      = load_data("Data/Weapons.rxdata")
    $data_armors        = load_data("Data/Armors.rxdata")
    $data_enemies      = load_data("Data/Enemies.rxdata")
    $data_troops        = load_data("Data/Troops.rxdata")
    $data_states        = load_data("Data/States.rxdata")
    $data_animations    = load_data("Data/Animations.rxdata")
    $data_tilesets      = load_data("Data/Tilesets.rxdata")
    $data_common_events = load_data("Data/CommonEvents.rxdata")
    $data_system        = load_data("Data/System.rxdata")
    # Criar um Sistema
    $game_system = Game_System.new
 
    # Criar um gráfico de título
    @sprite = Sprite.new
    @sprite.bitmap = RPG::Cache.title($data_system.title_name)
    # Criar uma janela de comandos
    s1 = "Novo Jogo"
    s2 = "Continuar"
    s3 = "Sair"
    @command_window = Window_Command.new(192, [s1, s2, s3])
    @command_window.back_opacity = 160
    @command_window.x = 224
    @command_window.y = 288
    @command_window.y -= (DIFI.size - 5) * 32 if DIFI.size > 5
    op = []
    for i in 0..DIFI.size - 1
      op << DIFI[i]
    end
    bigest = check_bigest(DIFI)
    @difi_window = Window_Command.new(w_w(bigest) + 48 ,op)
    @difi_window.height = 1
    @difi_window.visible = false
    @difi_window.active = false
    @difi_window.back_opacity = 160
    @difi_window.x = @command_window.x + @command_window.width
    @difi_window.y = @command_window.y
    @continue_enabled = false
    for i in 0..3
      if FileTest.exist?("Saves/Save#{i+1}.rxdata")
        @continue_enabled = true
      end
    end
    if @continue_enabled
      @command_window.index = 1
    else
      @command_window.disable_item(1)
    end
    $game_system.bgm_play($data_system.title_bgm)
    Audio.me_stop
    Audio.bgs_stop
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    @command_window.dispose
    @difi_window.dispose
    @sprite.bitmap.dispose
    @sprite.dispose

  end
  def check_bigest(words)
    bigest = words[0]
    for i in 0..words.size - 2
      if w_w(words[i]) < w_w(words[i+1])
        bigest = words[i+1]
      end
    end
    return bigest
  end
  def w_w(word)
    m_bitmap = Bitmap.new(32,32)
    return m_bitmap.text_size(word).width
  end
  def update
    if @difi_window.visible == true and @difi_window.height <= DIFI.size * 32 + 32 - 4
      @difi_window.height += 5
    elsif @difi_window.visible
      @difi_window.height = DIFI.size * 32 + 32
      @difi_window.active = true
      if Input.trigger?(Input::B)
        @difi_window.active = false
        @difi_window.visible = false
        @difi_window.height = 1
        @command_window.active = true
      end
      if Input.trigger?(Input::C)
        $difi_op = @difi_window.index
        if DIFI_L[@difi_window.index] < 0
          $difi = 100 - DIFI_L[@difi_window.index].abs
          $difi2 = 100 + DIFI_L[@difi_window.index].abs
        elsif DIFI_L[@difi_window.index] == 0
          $difi = 100
          $difi2 = 100
        else
          $difi = 100 + DIFI_L[@difi_window.index]
          $difi2 = 100 - DIFI_L[@difi_window.index]
        end
        #$difi = Integer($difi)
        command_new_game
      end
   
    end
    # Atualizar a janela de comandos
    @command_window.update
    @difi_window.update
    # Se o botão C for pressionado
    if Input.trigger?(Input::C)
      # ramificação pela posição do cursor
      case @command_window.index
      when 0  # Novo Jogo
      @difi_window.visible = true
      @difi_window.active = false
      @command_window.active = false
      $game_system.se_play($data_system.decision_se)
      when 1  # Continuar
        command_continue
      when 2  # Sair
        command_shutdown
      end
    end
  end
 
  alias ali_new_game command_new_game
  def command_new_game
    ali_new_game 
    $game_switches[DIFI_S[@difi_window.index]] = true if DIFI_S[@difi_window.index] != 0 
    $scene = Scene_Map.new
  end

end

[color:e25c=#36f]Créditos:HugoLinux/HugoLnx, criei o script xD
Black, localizou bugs Wink

[TAGS]
Script
HL-scripts
dificuldade
HugoLinux
HugoLnx
2.0
2.1

https://liferpgmakerv2.forumeiros.com

Ir para o topo  Mensagem [Página 1 de 1]

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