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 10 usuarios en línea: 0 Registrados, 0 Ocultos y 10 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: