Substiruir Habilidades [Evoluir]

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Substiruir Habilidades [Evoluir]

Mensagem por Ykkyto em Ter 1 Mar - 17:13

Papo furado!!!
Bom pessoal lá estava eu doido pa fazer skill + fortes e tipow excuir automaticamente os fraquim do mesmo tipo porem...
Como? de q jeito faria isso?
Dai dei uma pesquisada no Tio Google e achei esse ae
Dai pensei n vi esse script no MRM meu forum do S2...
Vou disponibilizalo lá...
Espero tes ajudado...
Ass: Ykkyto....

OBS: Não Fui eu quem fiz...Apenas Disponibilizei, postei o topico tipo d jeito q axei com cred tdo +.. mudifikei pq era em inglês.
Testei e funciono no meu VX e ainda era e pego no NP tbm... :yay:


Substituir Skill
Versão: 1,0
Autor: Modern Algebra
Data: 29 de outubro de 2010


Histórico da Versão

1.0>

Descrição


Este script é muito simples. Ele permite que você especifique habilidades para esquecer quando uma certa habilidade é aprendida. Como corolário, você também não vai aprender uma nova habilidade, se você já tem uma habilidade que teria o substituiu.

Parece inútil? Mais ou menos. Mas pode ser útil se, por exemplo, você quer dar a impressão de uma habilidade nivelamento por cima. Digamos que você tenha uma série de habilidades: Heal eu é aprendido no nível 2, Cura II é aprendido no nível 14, III e Heal é aprendido no nível 32. Com este script, você pode defini-lo assim que eu Heal é esquecido quando você aprende Heal II, II e Heal é esquecido quando você aprende Heal III.

Além disso, desde que ele foi concebido tendo em conta a idéia de que seria usado para dar a ilusão de que as competências foram nivelamento, uma verificação de desvio condicional para ver se uma habilidade é aprendida retornará true contanto que você quer ter a habilidade do pedido ou toda a habilidade que faria com que você esqueça a habilidade pediu. Assim, se seu ramo condicional é a verificação da habilidade que Heal, ele retornará verdadeiro se você tem Cura I, II Heal ou Cure III.


Características


Permite que você se esqueça de habilidades específicas quando você aprende uma nova, dando a aparência de nivelar as competências
Desvios condicionais em habilidade aprendida retornará true contanto que você quer ter a habilidade de ser verificada ou uma habilidade que faria com que você esqueça a habilidade a ser aprendida
Não permitirá que um ator para aprender uma habilidade, se uma das habilidades que ele / ela já poderia causar essa habilidade para ser esquecido


Instruções

Coloque o script acima e abaixo de Materiais principal no Editor de Script. Se usar o meu script Nota do editor com a compatibilidade geral Patch, em seguida, esse script deve ser colocado abaixo. Se você encontrar quaisquer problemas, tente colocar este script abaixo de cada outro script personalizado que você está usando. Se ainda é problemático e, em seguida encontrar o tema em RMRK.net e relatá-lo.

O script é fácil de configurar: tudo que você precisa fazer é colocar o seguinte código no notebox de uma habilidade:

\forget[x, y, ..., z]

onde: xz são as identificações das habilidades que você quer esquecer de quando essa habilidade é aprendida. Ela permite a múltiplos de modo que, com habilidades de série, você pode garantir que todos os níveis inferiores não podem ser aprendidos quando você tem um nível superior de que skil. Assim, para a Cura I, II, III exemplo (e digamos que a identificação de Cura I é de 34, a identificação de Cura II é de 35, ea identificação de Cura II é de 36 - eles não tem que ser sequencial, mas são aqueles por padrão):
Heal eu ficaria vazia;
Cura II teria o código: \forget[34]
Heal III teria o código: \forget[34, 35]


Imagem
Spoiler:


Script
Código:
#==============================================================================
#    Replace Skill
#    Version: 1.0
#    Author: modern algebra (rmrk.net)
#    Date: October 29, 2010
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Description:
#
#    This script is very simple. It allows you to specify skills to forget when
#  a certain skill is learned. As a corollary, you also will not learn a new
#  skill if you already have a skill that would have replaced it.
#
#    Sounds useless? Kind of. But it can be helpful if, say, you want to give
#  the impression of a skill levelling up. Say you have a series of skills:
#  Heal I is learned at level 2, Heal II is learned at level 14, and Heal III
#  is learned at level 32. With this script, you can set it so that Heal I is
#  forgotten when you learn Heal II, and Heal II is forgotten when you learn
#  Heal III.
#
#    Also, since it was designed with consideration to the idea that it would
#  be used to give the illusion that skills were levelling, a conditional
#  branch check to see if a skill is learned will return true as long as you
#  have either the skill asked for or any skill that would cause you to forget
#  the skill asked for. So, if your conditional branch is checking for the
#  Heal I skill, it will return true if you have Heal I, Heal II, or Heal III.
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Instructions:
#
#    Place the script above Main and below Materials in the Script Editor. If
#  using my Note Editor script with the General Compatibility Patch, then this
#  script must be placed below that. If you encounter any problems, try
#  placing this script below every other custom script you are using. If it
#  is still troublesome, then find the topic at RMRK.net and report it.
#
#    The script is easy to setup: all you need to do is put the following code
#  into the notebox of a skill:
#
#        \forget[x, y, ..., z]
#
#  where: x-z are the IDs of the skills you want to forget when this skill is
#  learned. It allows for multiples so that, with serial skills, you can ensure
#  that all lower levels will not be learnable when you have a higher level of
#  that skil. So, for the Heal I, II, III example (and let's say the ID of Heal
#  I is 34, the ID of Heal II is 35, and the ID of Heal II is 36 - they don't
#  have to be sequential, but they are those by default):
#    Heal I would be empty;
#    Heal II would have the code:  \forget[34]
#    Heal III would have the code: \forget[34, 35]
#==============================================================================

#==============================================================================
# ** RPG::Skill
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    new method - mars_forget_skills
#==============================================================================

class RPG::Skill
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Forget Skills
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def mars_forget_skills
    if !@mars_forget_skills
      @mars_forget_skills = []
      if self.note[/\\FORGET\[(.+?)\]/i] != nil
        $1.scan (/\d+/).each { |id| @mars_forget_skills.push (id.to_i) }
      end
    end
    return @mars_forget_skills
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Compatibility with Note Editor + General Compatibility Patch
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  if self.method_defined? (:ma_reset_note_values)
    alias morlg_relcskl_reset_6hw1 ma_reset_note_values
    def ma_reset_note_values (*args)
      morlg_relcskl_reset_6hw1 (*args) # Run Original Method
      @mars_forget_skills = nil
    end
  end
end

#==============================================================================
# ** Game_Actor
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    aliased method - learn_skill; skill_learn?
#==============================================================================

class Game_Actor
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Skill Learn?
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias malab_replce_skllrn_8uj3 skill_learn?
  def skill_learn? (skill, *args)
    (@skills - skill.mars_forget_skills).each { |s_id|
      return true if $data_skills[s_id].mars_forget_skills.include? (skill.id)
    }
    return malab_replce_skllrn_8uj3 (skill, *args)
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Learn Skill
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias mlg_rplskl_lernskl_7yh3 learn_skill
  def learn_skill (skill_id, *args)
    mlg_rplskl_lernskl_7yh3 (skill_id, *args) # Run Original method
    $data_skills[skill_id].mars_forget_skills.each { |s_id| forget_skill (s_id) } if @skills.include? (skill_id)
  end
end


Crédito

Modern Algebra

Obrigado...
Ykkyto por disponibilizar :-P
S n ja existir aki... :'-(
:-D
Flw galera...
:ok:


Ykkyto
Membro
Membro

Reputação : 9

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum