Takahashi Rei
Mensagens : 77 Gold : 2147483645 Data de inscrição : 20/07/2010 Idade : 27
Dados do personagem Especialidade: Eventos Nível de especialidade: (93/100) Comentário: RMXP vs RMVX
| Assunto: Script para ultrapassar level 99, itens, golds, experiência e outros parâmetros. Sáb Out 09 2010, 21:39 | |
| ->>>Introdução<<<-
Este script muda todos os parâmetros do herói e do inimigo aumentando o nível maximo quanto você quiser, total de itens maximos e etc... Em fim, modifica todos os parâmetros dos heróis e inimigos. ->>>Screenshots<<<- ->>>Detalhes<<<-
Funciona Online: Não Incompativel com algum script conhecido: Não ->>>Script<<<- - Código:
-
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ #_/ ? ???? - KGC_LimitBreak ? VX ? #_/ ? Last update : 2008/01/09 ? #_/---------------------------------------------------------------------------- #_/ ????????????????? #_/============================================================================ #_/ KGC Level_Limit Chain #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ #_/ Criado por:KGC Softwares #_/ Traduzido por:NaRuToMaKeR #============================================================================== # Burla o limite de level e parametros #==============================================================================
module KGC module LimitBreak
PARAMETER_CALC_METHOD = 0
#~ Caucula os parametros PARAMETER_CALC_EXP = "(param[99] - param[98]) * (level - 99)"
ACTOR_FINAL_LEVEL = [] # ? ?????????? #~ Level final do char #~ 1 é o ID do Char ACTOR_FINAL_LEVEL[1] = 999
#~ Level Final: ACTOR_FINAL_LEVEL_DEFAULT = 999 #~ Maximo de experiencia ACTOR_EXP_LIMIT = 99999999
#~ Maximo do HP ACTOR_MAXHP_LIMIT = 99999 #~ Maximo MP ACTOR_MAXMP_LIMIT = 99999 #~ Maximo dos Parametros ACTOR_PARAMETER_LIMIT = 9999
#~ HP MAximo do inimigo ENEMY_MAXHP_LIMIT = 9999999 #~ MP maximo do inimigo ENEMY_MAXMP_LIMIT = 9999999 #~ Maximo do parametro inimigo ENEMY_PARAMETER_LIMIT = 9999
# ? ?????????? # ?????????????????? ?? ????? # ?????????????? 100 ???????? ENEMY_MAXHP_RATE = 100 # MaxHP ENEMY_MAXMP_RATE = 100 # MaxMP ENEMY_ATK_RATE = 100 # ??? ENEMY_DEF_RATE = 100 # ??? ENEMY_SPI_RATE = 100 # ??? ENEMY_AGI_RATE = 100 # ???
#~ Limite de Dinheiro GOLD_LIMIT = 99999999
#~ Limite de Itens ITEM_NUMBER_LIMIT = 99
module_function #~ Fim da Paarte Editavel #-------------------------------------------------------------------------- # ? ???????? # ?????? MaxHP ????????????????? # ???????????????????????????????? #-------------------------------------------------------------------------- def set_enemy_parameters # <?> ID:10 ??? MaxHP ? 2000000 ????? # $data_enemies[10].maxhp = 2000000 # <?> ID:16 ??????? 5000 ????? # $data_enemies[16].atk = 5000 # <?> ID:20 ?????????????? # $data_enemies[20].def *= 2 end end end
#???????????????????????????????????????
$imported = {} if $imported == nil $imported["LimitBreak"] = true
module KGC::LimitBreak # ??????? module Regexp # ??????? module BaseItem # ????? # NUMBER_LIMIT = /^<(?:NUMBER_LIMIT|?????)[ ]*(\d+)>/i end end
module_function #-------------------------------------------------------------------------- # ? ????????? #-------------------------------------------------------------------------- def revise_enemy_parameters (1...$data_enemies.size).each { |i| enemy = $data_enemies[i] enemy.maxhp = enemy.maxhp * ENEMY_MAXHP_RATE / 100 enemy.maxmp = enemy.maxmp * ENEMY_MAXMP_RATE / 100 enemy.atk = enemy.atk * ENEMY_ATK_RATE / 100 enemy.def = enemy.def * ENEMY_DEF_RATE / 100 enemy.spi = enemy.spi * ENEMY_SPI_RATE / 100 enemy.agi = enemy.agi * ENEMY_AGI_RATE / 100 } end end
#???????????????????????????????????????
#============================================================================== # ? RPG::BaseItem #==============================================================================
class RPG::BaseItem #-------------------------------------------------------------------------- # ? ???????????? #-------------------------------------------------------------------------- def create_limit_break_cache @__number_limit = KGC::LimitBreak::ITEM_NUMBER_LIMIT
@note.split(/[\r\n]+/).each { |line| if line =~ KGC::LimitBreak::Regexp::BaseItem::NUMBER_LIMIT # ????? @__number_limit = $1.to_i end } end #-------------------------------------------------------------------------- # ? ??????? #-------------------------------------------------------------------------- def number_limit create_limit_break_cache if @__number_limit == nil return @__number_limit end end
#???????????????????????????????????????
#============================================================================== # ? Game_Battler #==============================================================================
class Game_Battler #-------------------------------------------------------------------------- # ? MaxHP ?????? #-------------------------------------------------------------------------- def maxhp_limit return KGC::LimitBreak::ENEMY_MAXHP_LIMIT end #-------------------------------------------------------------------------- # ? MaxMP ?????? #-------------------------------------------------------------------------- def maxmp_limit return KGC::LimitBreak::ENEMY_MAXMP_LIMIT end #-------------------------------------------------------------------------- # ? MaxMP ??? #-------------------------------------------------------------------------- def maxmp return [[base_maxmp + @maxmp_plus, 0].max, maxmp_limit].min end #-------------------------------------------------------------------------- # ? ????????????? #-------------------------------------------------------------------------- def parameter_limit return KGC::LimitBreak::ENEMY_PARAMETER_LIMIT end #-------------------------------------------------------------------------- # ? ?????? #-------------------------------------------------------------------------- def atk n = [base_atk + @atk_plus, 1].max states.each { |state| n *= state.atk_rate / 100.0 } n = [[Integer(n), 1].max, parameter_limit].min return n end #-------------------------------------------------------------------------- # ? ?????? #-------------------------------------------------------------------------- def def n = [base_def + @def_plus, 1].max states.each { |state| n *= state.def_rate / 100.0 } n = [[Integer(n), 1].max, parameter_limit].min return n end #-------------------------------------------------------------------------- # ? ?????? #-------------------------------------------------------------------------- def spi n = [base_spi + @spi_plus, 1].max states.each { |state| n *= state.spi_rate / 100.0 } n = [[Integer(n), 1].max, parameter_limit].min return n end #-------------------------------------------------------------------------- # ? ?????? #-------------------------------------------------------------------------- def agi n = [base_agi + @agi_plus, 1].max states.each { |state| n *= state.agi_rate / 100.0 } n = [[Integer(n), 1].max, parameter_limit].min return n end #-------------------------------------------------------------------------- # ? MaxHP ??? # new_maxhp : ??? MaxHP #-------------------------------------------------------------------------- def maxhp=(new_maxhp) @maxhp_plus += new_maxhp - self.maxhp @maxhp_plus = [[@maxhp_plus, -maxhp_limit].max, maxhp_limit].min @hp = [@hp, self.maxhp].min end #-------------------------------------------------------------------------- # ? MaxMP ??? # new_maxmp : ??? MaxMP #-------------------------------------------------------------------------- def maxmp=(new_maxmp) @maxmp_plus += new_maxmp - self.maxmp @maxmp_plus = [[@maxmp_plus, -maxmp_limit].max, maxmp_limit].min @mp = [@mp, self.maxmp].min end #-------------------------------------------------------------------------- # ? ?????? # new_atk : ?????? #-------------------------------------------------------------------------- def atk=(new_atk) @atk_plus += new_atk - self.atk @atk_plus = [[@atk_plus, -parameter_limit].max, parameter_limit].min end #-------------------------------------------------------------------------- # ? ?????? # new_def : ?????? #-------------------------------------------------------------------------- def def=(new_def) @def_plus += new_def - self.def @def_plus = [[@def_plus, -parameter_limit].max, parameter_limit].min end #-------------------------------------------------------------------------- # ? ?????? # new_spi : ?????? #-------------------------------------------------------------------------- def spi=(new_spi) @spi_plus += new_spi - self.spi @spi_plus = [[@spi_plus, -parameter_limit].max, parameter_limit].min end #-------------------------------------------------------------------------- # ? ?????? # agi : ?????? #-------------------------------------------------------------------------- def agi=(new_agi) @agi_plus += new_agi - self.agi @agi_plus = [[@agi_plus, -parameter_limit].max, parameter_limit].min end end
#???????????????????????????????????????
#============================================================================== # ? Game_Actor #==============================================================================
class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # ? ????? #-------------------------------------------------------------------------- def make_exp_list @exp_list = Array.new(final_level + 2) @exp_list[1] = @exp_list[final_level + 1] = 0 m = actor.exp_basis n = 0.75 + actor.exp_inflation / 200.0 (2..final_level).each { |i| @exp_list[i] = @exp_list[i-1] + Integer(m) m *= 1 + n n *= 0.9 } end #-------------------------------------------------------------------------- # ? ???????? #-------------------------------------------------------------------------- def final_level n = KGC::LimitBreak::ACTOR_FINAL_LEVEL[self.id] return (n != nil ? n : KGC::LimitBreak::ACTOR_FINAL_LEVEL_DEFAULT) end #-------------------------------------------------------------------------- # ? MaxHP ?????? #-------------------------------------------------------------------------- def maxhp_limit return KGC::LimitBreak::ACTOR_MAXHP_LIMIT end #-------------------------------------------------------------------------- # ? MaxMP ?????? #-------------------------------------------------------------------------- def maxmp_limit return KGC::LimitBreak::ACTOR_MAXMP_LIMIT end #-------------------------------------------------------------------------- # ? ????????????? #-------------------------------------------------------------------------- def parameter_limit return KGC::LimitBreak::ACTOR_PARAMETER_LIMIT end #-------------------------------------------------------------------------- # ? ????????? #-------------------------------------------------------------------------- def exp_limit return KGC::LimitBreak::ACTOR_EXP_LIMIT end #-------------------------------------------------------------------------- # ? ?????? # exp : ?????? # show : ??????????? #-------------------------------------------------------------------------- def change_exp(exp, show) last_level = @level last_skills = skills @exp = [[exp, exp_limit].min, 0].max while @exp >= @exp_list[@level+1] && @exp_list[@level+1] > 0 level_up end while @exp < @exp_list[@level] level_down end @hp = [@hp, maxhp].min @mp = [@mp, maxmp].min if show && @level > last_level display_level_up(skills - last_skills) end end #-------------------------------------------------------------------------- # ? ?????? # level : ?????? # show : ??????????? #-------------------------------------------------------------------------- def change_level(level, show) level = [[level, final_level].min, 1].max change_exp(@exp_list[level], show) end #-------------------------------------------------------------------------- # ? ?????????? #-------------------------------------------------------------------------- def base_parameter(type) case KGC::LimitBreak::PARAMETER_CALC_METHOD when 0 # ???? if @level >= 100 calc_text = KGC::LimitBreak::PARAMETER_CALC_EXP.dup calc_text.gsub!(/level/i) { "@level" } calc_text.gsub!(/param\[(\d+)\]/i) { "actor.parameters[type, #{$1.to_i}]" } return actor.parameters[type, 99] + eval(calc_text) end when 1 # ???? a = actor.parameters[type, 1] b = actor.parameters[type, 2] c = actor.parameters[type, 3] return ((a * @level + b) * @level + c) when 2 # ???? b = actor.parameters[type, 2] c = actor.parameters[type, 3] return (b * @level + c) end return actor.parameters[type, @level] end #-------------------------------------------------------------------------- # ? ?? MaxHP ??? #-------------------------------------------------------------------------- def base_maxhp return base_parameter(0) end #-------------------------------------------------------------------------- # ? ?? MaxMP ??? #-------------------------------------------------------------------------- def base_maxmp return base_parameter(1) end #-------------------------------------------------------------------------- # ? ???????? #-------------------------------------------------------------------------- def base_atk n = base_parameter(2) equips.compact.each { |item| n += item.atk } return n end #-------------------------------------------------------------------------- # ? ???????? #-------------------------------------------------------------------------- def base_def n = base_parameter(3) equips.compact.each { |item| n += item.def } return n end #-------------------------------------------------------------------------- # ? ???????? #-------------------------------------------------------------------------- def base_spi n = base_parameter(4) equips.compact.each { |item| n += item.spi } return n end #-------------------------------------------------------------------------- # ? ???????? #-------------------------------------------------------------------------- def base_agi n = base_parameter(5) equips.compact.each { |item| n += item.agi } return n end end
#???????????????????????????????????????
#============================================================================== # ? Game_Party #==============================================================================
class Game_Party < Game_Unit #-------------------------------------------------------------------------- # ? ????????? #-------------------------------------------------------------------------- def gold_limit return KGC::LimitBreak::GOLD_LIMIT end #-------------------------------------------------------------------------- # ? ??????? (??) # n : ?? #-------------------------------------------------------------------------- def gain_gold(n) @gold = [[@gold + n, 0].max, gold_limit].min end #-------------------------------------------------------------------------- # ? ??????? (??) # item : ???? # n : ?? # include_equip : ??????? #-------------------------------------------------------------------------- def gain_item(item, n, include_equip = false) number = item_number(item) case item when RPG::Item @items[item.id] = [[number + n, 0].max, item.number_limit].min when RPG::Weapon @weapons[item.id] = [[number + n, 0].max, item.number_limit].min when RPG::Armor @armors[item.id] = [[number + n, 0].max, item.number_limit].min end n += number if include_equip && n < 0 members.each { |actor| while n < 0 && actor.equips.include?(item) actor.discard_equip(item) n += 1 end } end end end
#???????????????????????????????????????
#============================================================================== # ? Window_ShopBuy #==============================================================================
class Window_ShopBuy < Window_Selectable #-------------------------------------------------------------------------- # ? ????? # index : ???? #-------------------------------------------------------------------------- def draw_item(index) item = @data[index] number = $game_party.item_number(item) enabled = (item.price <= $game_party.gold && number < item.number_limit) rect = item_rect(index) self.contents.clear_rect(rect) draw_item_name(item, rect.x, rect.y, enabled) rect.width -= 4 self.contents.draw_text(rect, item.price, 2) end end
#???????????????????????????????????????
#============================================================================== # ? Scene_Title #==============================================================================
class Scene_Title < Scene_Base #-------------------------------------------------------------------------- # ? ?????????? #-------------------------------------------------------------------------- alias load_database_KGC_LimitBreak load_database def load_database load_database_KGC_LimitBreak
set_enemy_parameters end #-------------------------------------------------------------------------- # ? ???????????????? #-------------------------------------------------------------------------- alias load_bt_database_KGC_LimitBreak load_bt_database def load_bt_database load_bt_database_KGC_LimitBreak
set_enemy_parameters end #-------------------------------------------------------------------------- # ? ??????????? #-------------------------------------------------------------------------- def set_enemy_parameters KGC::LimitBreak.revise_enemy_parameters KGC::LimitBreak.set_enemy_parameters end end
#???????????????????????????????????????
#============================================================================== # ? Scene_File #==============================================================================
class Scene_File < Scene_Base #-------------------------------------------------------------------------- # ? ??????????? # file : ??????????????? (??????) #-------------------------------------------------------------------------- alias read_save_data_KGC_LimitBreak read_save_data def read_save_data(file) read_save_data_KGC_LimitBreak(file)
(1...$data_actors.size).each { |i| actor = $game_actors[i] actor.make_exp_list # ????????? if actor.level > actor.final_level while actor.level > actor.final_level actor.level_down end # ???? HP ???????????????? actor.change_level(actor.final_level, false) end } end end
#???????????????????????????????????????
#============================================================================== # ? Scene_Shop #==============================================================================
class Scene_Shop < Scene_Base #-------------------------------------------------------------------------- # ? ??????????? #-------------------------------------------------------------------------- def update_buy_selection @status_window.item = @buy_window.item if Input.trigger?(Input::B) Sound.play_cancel @command_window.active = true @dummy_window.visible = true @buy_window.active = false @buy_window.visible = false @status_window.visible = false @status_window.item = nil @help_window.set_text("") return end if Input.trigger?(Input::C) @item = @buy_window.item number = $game_party.item_number(@item) if @item == nil || @item.price > $game_party.gold || number == @item.number_limit Sound.play_buzzer else Sound.play_decision max = (@item.price == 0 ? @item.number_limit : $game_party.gold / @item.price) max = [max, @item.number_limit - number].min @buy_window.active = false @buy_window.visible = false @number_window.set(@item, max, @item.price) @number_window.active = true @number_window.visible = true end end end end | |
|
manoruan Conselheiro
Mensagens : 11 Gold : 34 Data de inscrição : 11/10/2010 Idade : 27 Localização : RPG Game Brasil
Dados do personagem Especialidade: Criar sites/Forum e editar imgaes Nível de especialidade: (99/100) Comentário:
| Assunto: Re: Script para ultrapassar level 99, itens, golds, experiência e outros parâmetros. Seg Out 11 2010, 23:34 | |
| Perfeito era o que eu tava procurando | |
|