Maker Palace

¡El Reino del RpgMaker y del Ocio!
 
ÍndiceBuscarGrupos de UsuariosScriptsRecursosTutorialesPalaceJuegosPalaceWikiFAQRegistrarseConectarse
Conectarse
Nombre de Usuario:
Contraseña:
Entrar automáticamente en cada visita: 
:: Recuperar mi contraseña
Temas similares
Buscar
 
 

Resultados por:
 
Rechercher Búsqueda avanzada
Últimos temas
» Reparación de Conjuros
por kyonides-arkanthos Jue Oct 12, 2017 12:22 am

» Screenshot del nuevo KUnits XP oon menú
por LinkLuis55 Sáb Sep 23, 2017 10:03 pm

» Dando una vuelta por acá
por LinkLuis55 Dom Ago 20, 2017 2:56 pm

» Heroes del Crimen 2 DEMO
por jasuso Mar Ago 01, 2017 12:04 am

» The Legend of Celestia II: A World of Twilight Shadows Demo
por Jlopez_96 Vie Jul 28, 2017 6:20 pm

» The Legend of Celestia: Four Cristals
por Jlopez_96 Mar Abr 25, 2017 4:59 pm

» [VXAce] Burando Doragon
por gantzer49 Dom Abr 23, 2017 7:43 pm

Recomendados
RPG en RPG Maker
La importancia de un Backup
Que requiere un sistema de Batalla para ser exitoso
9 Minutos de Juegos por fans
Guía de Subforos para Tontos de Maker Palace
Indice de Scripts Locales XP
Falcao Pearl ABS Liquid
¿Quién está en línea?
En total hay 6 usuarios en línea: 0 Registrados, 0 Ocultos y 6 Invitados :: 1 Motor de búsqueda

Ninguno

La mayor cantidad de usuarios en línea fue 179 el Mar Ago 30, 2011 10:06 pm.
MiniChat
Mejores posteadores
Raiden (3346)
 
DaviX (2740)
 
Frikilangelo (2461)
 
SagahonArturo (1806)
 
Falcao (1775)
 
kyonides-arkanthos (1768)
 
Mur-mai-der (1755)
 
Ares (1613)
 
LinkLuis55 (1558)
 
Webmaster24 (1354)
 
Afiliados
Crear foro Mundo Maker Foro de anime y RM2k3/XP/VX Computer mix
Flag Counter
free counters
Visitas


Comparte | 
 

 WNA Level Up

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
kyonides-arkanthos
Lord Guru Maker
Lord Guru Maker
avatar

Cantidad de envíos : 1768
Miembro desde : 03/02/2010
Sexo : Masculino

Maker : RMXP


MensajeTema: WNA Level Up   Lun Jun 23, 2014 11:37 pm

WNA Level Up
por Kyonides-Arkanthos

Este script les permitiria poder subirle el nivel a sus armas entre mas golpeen a los monstruos y demas enemigos, pero no incluye ningun sistema de batalla.

Les dejare el script y las plantillas que se pueden utilizar para las diferentes armas o armaduras que pueden subir de nivel.

El Script...
Código:
#  WNA Level Up
#  v 1.0 - 2014-06-21
#  Scripter: Kyonides-Arkanthos

module Setup
  WEAPONS = "Data/WeaponsLevelUp.rxdata"
  ARMORS = "Data/ArmorsLevelUp.rxdata"
  ATK_DIV = 1.2
  EVA_DIV = 1.3
  # Values : true - make list, false or nil - do not make it
  @make_weapons_list = true
  @make_armors_list = nil
  # Preset experience, attack and evasion values for all levels
  # Values : true - preset experience levels are read from file
  #          false or nil - experience levels are setup automatically
  @preset_exp_values = true
  @preset_atk_values = true
  @preset_eva_values = nil
end

module WarItem
  attr_accessor :initial_level, :exp_basis, :exp_inflation
  attr_reader :exp, :level, :level_max
  def setup
    @level = 0
    @level_max = 1
    @exp_list = [0]
    @exp = 0
    @exp_basis = 0
    @exp_inflation = 0
  end

  def auto_make_exp_list
    pow_i = 2.4 + @exp_inflation / 100.0
    1.upto(@level_max){|i| var1 = i < 7 ? 3 : 2.4
      var2 = i < 7 ? 5 : 24
      n = @exp_basis * ((i + var1) ** pow_i) / (var2 ** pow_i)
      @exp_list[i] = @exp_list[i-1] + n.round }
  end

  def preset_exp_list(arg) @exp_list = arg end

  def exp=(exp)
    @exp = [[exp, @exp_list[@level_max]].min, 0].max
    # Level up
    @level += 1 while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
    # Level down
    @level -= 1 while @exp < @exp_list[@level]
  end
end

module GameWeapon
  attr_accessor :base_atk, :atk_inflation, :atk_list
  def atk() @atk_list[@level] end

  def initial_level=(val) @initial_level = @level = val end

  def level_max=(level)
    @level_max = level
    @exp_list = Array.new(@level_max + 1, 0)
    first = @initial_level == 0 ? @atk : 0
    @atk_list = [first] + Array.new(@level_max, 0)
  end

  def level=(level)
    @level = [[level, @level_max].min, 0].max
    @exp = @exp_list[@level]
  end

  def auto_make_atk_list
    pow_i = 0.8 + @atk_inflation / 100.0
    div = Setup::ATK_DIV
    @atk_list[@initial_level] = @base_atk = @atk
    min = @initial_level + 1
    min.upto(@level_max) {|i| n = @atk * ((i + 2.4) ** pow_i) / (30 ** pow_i)
      @atk_list[i] = @atk_list[i-1] + (i < 6 ? n : n / div).round }
  end

  def preset_atk_list(arg)
    @base_atk = @atk = arg[@initial_level]
    @atk_list = arg
  end
end

module GameArmor
  attr_accessor :base_eva, :eva_inflation, :eva_list
  def eva() @eva_list[@level] end

  def level_max=(level)
    @level_max = level
    @exp_list = Array.new(@level_max + 1, 0)
    @eva_list = [@eva] + Array.new(@level_max, 0)#
  end

  def level=(level)
    @level = [[level, @level_max].min, 1].max
    @exp = @exp_list[@level]
  end

  def auto_make_eva_list
    @eva_list[0] = @eva
    pow_i = 0.6 + @eva_inflation / 100.0
    div = Setup::EVA_DIV
    @eva_list[@initial_level] = @base_eva = @eva
    min = @initial_level + 1
    min.upto(@level_max) {|i| n = @eva * ((i + 2.2) ** pow_i) / (30 ** pow_i)
      @eva_list[i] = @eva_list[i-1] + (i < 6 ? n : n / div).round }
  end

  def preset_eva_list(arg)
    @base_eva = @eva = arg[@initial_level]
    @eva_list = arg
  end
end

class String
  def scan_i(regexp) scan(regexp).map {|str| str.to_i } end
end

module Setup
  def self.weapons() @weapons end
  def self.armors() @armors end
  def self.make_weapons_data
    return unless @make_weapons_list
    weapons = load_data("Data/Weapons.rxdata")
    file_weapons = File.open('weapons.txt','r')
    old_weapons = file_weapons.readlines("\n\n")
    old_weapons.size.times {|n| id = n + 1
      weapons[id].extend WarItem, GameWeapon
      weapons[id].setup
      base_level = /Base Level\: ([0-9]+)/
      max_level = /Max Level\: ([0-9]+)/
      weapons[id].initial_level = old_weapons[n].scan(base_level)[0][0].to_i
      weapons[id].level_max = old_weapons[n].scan(max_level)[0][0].to_i
      if @preset_exp_values
        exp = "EXP Values: "
        val = ''
        old_weapons[n].each {|ln| val = ln.scan_i(/\d+/) if ln.include?(exp) }
        weapons[id].preset_exp_list(val)
      else
        base_exp = /Base EXP\: ([0-9]+)/
        exp_inf = /EXP Inflation\: ([0-9]+)/
        weapons[id].exp_basis = old_weapons[n].scan(base_exp)[0][0].to_i
        weapons[id].exp_inflation = old_weapons[n].scan(exp_inf)[0][0].to_i
        weapons[id].auto_make_exp_list
      end
      if @preset_atk_values
        atk = "ATK Values: "
        val = ''
        old_weapons[n].each {|ln| val = ln.scan_i(/\d+/) if ln.include?(atk) }
        weapons[id].preset_atk_list(val)
      else
        atk_inf = /ATK Inflation\: ([0-9]+)/
        weapons[id].atk_inflation = old_weapons[n].scan(atk_inf)[0][0].to_i
        weapons[id].auto_make_atk_list
      end }
    save_data(weapons, WEAPONS)
  end

  def self.make_armors_data
    return unless @make_armors_list
    armors = load_data("Data/Armors.rxdata")
    file_armors = File.open('armors.txt','r')
    old_armors = file_armors.readlines("\n\n")
    old_armors.size.times {|n| id = n + 1
      armors[id].extend WarItem, GameArmor
      armors[id].setup
      base_level = /Base Level\: ([0-9]+)/
      max_level = /Max Level\: ([0-9]+)/
      base_exp = /Base EXP\: ([0-9]+)/
      exp_inf = /EXP Inflation\: ([0-9]+)/
      eva_inf = /EVA Inflation\: ([0-9]+)/
      armors[id].initial_level = old_armors[n].scan(base_level)[0][0].to_i
      armors[id].level_max = old_armors[n].scan(max_level)[0][0].to_i
      armors[id].exp_basis = old_armors[n].scan(base_exp)[0][0].to_i
      armors[id].exp_inflation = old_armors[n].scan(exp_inf)[0][0].to_i
      armors[id].eva_inflation = old_armors[n].scan(eva_inf)[0][0].to_i
      if @preset_exp_values
        exp = "EXP Values: "
        val = ''
        old_armors[n].each {|ln| val = ln.scan_i(/\d+/) if ln.include?(exp) }
        armors[id].preset_exp_list(val)
      else
        base_exp = /Base EXP\: ([0-9]+)/
        exp_inf = /EXP Inflation\: ([0-9]+)/
        armors[id].exp_basis = old_armors[n].scan(base_exp)[0][0].to_i
        armors[id].exp_inflation = old_armors[n].scan(exp_inf)[0][0].to_i
        armors[id].auto_make_exp_list
      end
      if @preset_eva_values
        eva = "EVA Values: "
        val = ''
        old_armors[n].each {|ln| val = ln.scan_i(/\d+/) if ln.include?(eva) }
        armors[id].preset_eva_list(val)
      else
        eva_inf = /EVA Inflation\: ([0-9]+)/
        armors[id].atk_inflation = old_armors[n].scan(eva_inf)[0][0].to_i
        armors[id].auto_make_eva_list
      end }
    save_data(armors, ARMORS)
  end
  self.make_weapons_data
  self.make_armors_data
end

class Scene_Title
  alias scn_title_cng command_new_game
  def command_new_game
    $data_weapons = load_data(Setup::WEAPONS) if File.exist?(Setup::WEAPONS)
    $data_armors = load_data(Setup::ARMORS) if File.exist?(Setup::ARMORS)
    scn_title_cng
  end
end

class Scene_Weapon
  def main
    
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      break if $scene != self
    end
    Graphics.freeze
    
  end

  def update
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Map.new
      return
    end
  end
end

Plantilla Armas EXP y ATK Automatizado

ID: 1
Name: Espada Corta
Base Level: 0
Max Level: 5
Base EXP: 32
EXP Inflation: 19
ATK Inflation: 10

...y asi sucesivamente. Entre cada entrada, o sea, entre cada grupo de datos de cada arma o armadura debe de haber 2 renglones en blanco de espacio, tambien deben de quedar 2 renglones en blanco al final del archivo.

Plantilla Armas con EXP y ATK definido por Uds.

ID: 1
Name: Espada Corta
Base Level: 0
Max Level: 5
EXP Values: 0, 32, 55, 78, 101, 124
ATK Values: 41, 56, 71, 86, 101, 116

Plantilla Armadura con EXP y EVA automatizado

ID: 1
Name: Escudo de Madera
Base Level: 0
Max Level: 5
Base EXP: 32
EXP Inflation: 19
EVA Inflation: 10

Para definir el EXP y EVA por Uds. mismos, solo deben hacer lo que harian con las armas.
Volver arriba Ir abajo
Ver perfil de usuario http://deloquesea.mforos.com/forums/
 
WNA Level Up
Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.
 Temas similares
-
» TESTEO DEL PRC EN ARTHENA/PRC TEST
» Excuse me, which level of hell is this? [Micah]

Permisos de este foro:No puedes responder a temas en este foro.
Maker Palace :: RGSS Scripts :: Scripts Maker XP-
Cambiar a: