E ae galera, remexendo o pc aki,
achei esse script, olha ai.
Radom Encounters Enimes by lvlDescrição Bom esse Script tem duas partes:
1° Você encontra monstros determinados para seu lvl, e que você possa matar ou não na concepção do Maker.
2° O Modo Random Enimes, que ira fazer com que você ache,
varios tipos de monstros, tipo na sorte.
Juntando essas duas propostas, deu um resultado em que
os players encontraram monstros automaticamente
e em lvls que consigam matar, assim sendo quando for evoluindo durante
o game, irão aparecer monstros mais fortes de acordo com seus lvls.
Recursos * Permite ajustar os níveis para cada inimigo na base de dados;
* Apenas permite ao jogador lutar contra as tropas de monstro dentro de seu nível de força;
* Permite que você defina o que a grande nível é, em qualquer momento com um script simples chamada;
* Pode ser desativado e reativado na vontade;
* Fácil configuração do banco de dados.
ScriptSpoiler(Clique para mostrar/esconder)
#==============================================================================
# Random Encouters Enimes by lvl
# Tradução= Encotrar monstros randonicamente por lvl no mapa
# Version: 1.5
# Author: Modern Algebra
# Tradução: ~Eragon~
# Date: February 5, 2010
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Instruções:
#
# Para dar inimigos níveis, tudo o que você precisa fazer é ir para a caixa de Notas
# do inimigo no banco de dados e adicionar este código:
#
# Elvl \ [level]
#
# Se você não fizer isso, então o nível de inadimplência a ser a mesma identificação do inimigo.
#
# Em seguida, configure o encontro regular mapa listas (áreas incluídas) com todos os
# Monstros que você sempre quer aparecer nessa área ou um mapa.
#
# O sistema funciona basicamente dando níveis de monstros e definindo um
# Intervalo de nível no qual todos os encontros devem residir. Então, para cada tropa,
# Um médio é calculado a partir de todos os inimigos da tropa. Assim, esatos
# número como o nível de tropas, eo script de obras, tornando-a de modo que
# Número deve ser em um determinado intervalo de nível médio da party para que
# a tropa possa ser encontrada. Por padrão, o intervalo é entre este nível (Actor's
# Nível médio - 5) e média (Actor's Level + 5). O intervalo pode ser alterado
# Em qualquer momento para fazer certos mapas mais difícil ou mais fácil usando o seguinte
# Código em um script de chamada:
#
# $game_system.min_level = x
# $game_system.max_level = y
#
# Se x, y são os valores que estão a mudar-lhes.
# Tenha em mente que o nível minimo, como o nível máximo, é adicionado à média
# do nivel da party. Então, se você definir $ game_system.min_level = 5,
# então o nível mínimo de encontros seria nível médio do partido + 5,
# não o nível médio do partido - 5.
#
# Você também pode ativar o recurso de nivelamento e desligar completamente à vontade, usando
# Este código:
#
# $game_system.level_boolean = true (to turn it on)
# $game_system.level_boolean = false (to turn it off)
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Compatibilidade:
# Deve ser compatível com qualquer script que não modifica o
# método make_encounter_troop_id de Game_Player (e eu não consigo pensar em nenhum
# script que iria querer além de um como este).
#==============================================================================
# ** RPG::Troop
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Summary of Changes:
# new method - level
#==============================================================================
class RPG::Troop
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Level
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def level
return @level unless @level == nil
avg = 0
@members.each { |mem|
e_data = $data_enemies[mem.enemy_id]
avg += e_data.note[/\\elvl\[(\d+)\]/i] != nil ? $1.to_i : mem.enemy_id
}
@level = avg / @members.size
return @level
end
end
#==============================================================================
# ** Game_System
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Summary of Changes:
# aliased method - initialize
# new instance variables - level_boolean, min_level, max_level
#==============================================================================
class Game_System
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Public Instance Variables
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
attr_accessor :level_boolean # Turns on and off the level range function
attr_accessor :min_level # The lower limit of the encounter range
attr_accessor :max_level # The upper limit of the encounter range
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Object Initialization
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias ma_initialize_levels_regions initialize
def initialize
ma_initialize_levels_regions
@min_level = -5
@max_level = 5
@level_boolean = true
end
end
#==============================================================================
# ** Game_Player
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Summary of Changes:
# overwritten methods - make_encounter_troop_id
#==============================================================================
class Game_Player
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Make Encounter Troop ID
# Returns the troop to be encountered
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def make_encounter_troop_id
encounter_list = $game_map.encounter_list.clone
# Add area encounters to the list
$data_areas.values.each {|i| encounter_list += i.encounter_list if in_area?(i)}
# If level feature active
if $game_system.level_boolean
encounters = []
# Calculate Party Level Average
average_level = 0
$game_party.members.each {|i| average_level += i.level}
average_level /= $game_party.members.size
# Set Range
min = [average_level + $game_system.min_level,1].max
max = [average_level + $game_system.max_level,99].min
unless min > max
# Test average agains all troops in the list
encounter_list.each {|i|
# Add to the returning array If troop level within range
encounters.push (i) if $data_troops[i].level.between? (min, max)
}
end
else
# Return the full encounter list
encounters = encounter_list
end
# If there are no encounters
if encounters.empty?
make_encounter_count
return 0
end
return encounters[rand(encounters.size)]
end
end
ScrennshotsAcho que não será preciso, pelo fato de ser melhor esplicada
em uma demo.
DemoSe alguem tiver duvidas sobre o funcionamento do script,
post aqui, que eu faço uma demo.
Creditos*Modern Algebran, por fazer.
*E eu, ~Eragon~ por disponibilizar e traduzir.
Obs: Fiz uma procura no indice de RGSS2 e não achei nada,
perguntei a alguns membros e nunca viram um script tipo esse,
mais se alguem já viu, pode falar e mostrar aonde viu.
ok, vlu,abraços.
Tomara que gostem.
---------------------------------------------------------------------------------
Edit:
pronto, ["code"][/code] adicionado quero meu +cred Rock Lee Gui,
hehehe,
e eu butei sem aspa, pra niguem falar ai, hehe