Emula Juegos
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

Ir abajo
Night Shade
Night Shade
Emu-aprendiz
Emu-aprendiz
Mensajes : 106
Fecha de inscripción : 19/07/2013

[XP]-Ganar Oro y Experiencia al azar- Empty [XP]-Ganar Oro y Experiencia al azar-

Sáb Ago 03, 2013 4:18 am
Aquí traigo este script que hace ganar Oro y Experiencia al azar.

Script:

Código:
#===============================================================================
# Creado por: Northro
# Para: RPG Maker XP
# Nombre del Script: System Rand Exp Gold
# Versión del Script: 1.0
# Descripción: Recibes experiencia y dinero aleatoria.
#===============================================================================

#===============================================================================
# Instrucciones: Pegar arriba del script "Main".
#===============================================================================

#===============================================================================
# Modulo "SysRan_ExpGol"
#===============================================================================

module SysRan_ExpGol
#-------------------------------------------------------------------------------
# * Experiencia por defecto que dará el enemigo sí es menor a 1.
#-------------------------------------------------------------------------------
  EXP_DEFAULT = 1
#-------------------------------------------------------------------------------
# * Dinero por defecto que dará el enemigo sí es menor a 1.
#-------------------------------------------------------------------------------
  GOLD_DEFAULT = 1
#-------------------------------------------------------------------------------
# * Experiencia que darán los enemigos por defecto.
#
#  A = Valor negativo que se restará.
#  B = Valor positivo que se sumará.
#
#  ENEMY_EXP_RAND_DEFAULT = [A, B]
#
#  Nota: Si el enemigo te dará 20 de experiencia y si el valor por defecto es:
#        "[-5, 5]", el le restará un aleatorio desde -5 hasta 0 y le sumará un
#        aleatorio desde 5 hasta 0.
#-------------------------------------------------------------------------------
  ENEMY_EXP_RAND_DEFAULT = [-5, 5]
#-------------------------------------------------------------------------------
# * Dinero que darán los enemigos por defecto.
#
#  A = Valor negativo que se restará.
#  B = Valor positivo que se sumará.
#
#  ENEMY_GOLD_RAND_DEFAULT = [A, B]
#
#  Nota: Si el enemigo te dará 20 de dinero y si el valor por defecto es:
#        "[-5, 5]", el le restará un aleatorio desde -5 hasta 0 y le sumará un
#        aleatorio desde 5 hasta 0.
#-------------------------------------------------------------------------------
  ENEMY_GOLD_RAND_DEFAULT = [-5, 5]
#-------------------------------------------------------------------------------
# * Experiencia que dará un enemigo especifico.
#
#  A = Id del enemigo.
#  B = Valor negativo que se restará.
#  C = Valor positivo que se sumará.
#
#  ENEMY_RAND_EXP = {A => [B, C]}
#
#  Nota: Si el enemigo te dará 20 de experiencia y si el valor por defecto es:
#        "[-5, 5]", el le restará un aleatorio desde -5 hasta 0 y le sumará un
#        aleatorio desde 5 hasta 0.
#-------------------------------------------------------------------------------
  ENEMY_RAND_EXP = {
  1 => [-5, 5]
  }
#-------------------------------------------------------------------------------
# * Dinero que dará un enemigo especifico.
#
#  A = Id del enemigo.
#  B = Valor negativo que se restará.
#  C = Valor positivo que se sumará.
#
#  ENEMY_RAND_GOLD = {A => [B, C]}
#
#  Nota: Si el enemigo te dará 20 de dinero y si el valor por defecto es:
#        "[-5, 5]", el le restará un aleatorio desde -5 hasta 0 y le sumará un
#        aleatorio desde 5 hasta 0.
#-------------------------------------------------------------------------------
  ENEMY_RAND_GOLD = {
  1 => [-5, 5]
  }
end

#===============================================================================
# Clase "Scene_Battle"
#===============================================================================

class Scene_Battle
  def start_phase5
    @phase = 5
    $game_system.me_play($game_system.battle_end_me)
    $game_system.bgm_play($game_temp.map_bgm)
    exp = 0
    gold = 0
    treasures = []
    for enemy in $game_troop.enemies
      unless enemy.hidden
        if SysRan_ExpGol::ENEMY_RAND_EXP.include?(enemy.id)
          exp_rand = SysRan_ExpGol::ENEMY_RAND_EXP[enemy.id]
        else
          exp_rand = SysRan_ExpGol::ENEMY_RAND_EXP_DEFAULT
        end
        if SysRan_ExpGol::ENEMY_RAND_GOLD.include?(enemy.id)
          gold_rand = SysRan_ExpGol::ENEMY_RAND_GOLD[enemy.id]
        else
          gold_rand = SysRan_ExpGol::ENEMY_RAND_GOLD_DEFAULT
        end
        exp2 = rand(exp_rand[0].abs)
        exp3 = rand(exp_rand[1])
        exp += (enemy.exp - exp2) + exp3
        exp = SysRan_ExpGol::EXP_DEFAULT if exp < 1
        gold2 = rand(gold_rand[0].abs)
        gold3 = rand(gold_rand[1])
        gold += (enemy.gold - gold2) + gold3
        gold = SysRan_ExpGol::GOLD_DEFAULT if gold < 1
        if rand(100) < enemy.treasure_prob
          if enemy.item_id > 0
            treasures.push($data_items[enemy.item_id])
          end
          if enemy.weapon_id > 0
            treasures.push($data_weapons[enemy.weapon_id])
          end
          if enemy.armor_id > 0
            treasures.push($data_armors[enemy.armor_id])
          end
        end
      end
    end
    treasures = treasures[0..5]
    for i in 0...$game_party.actors.size
      actor = $game_party.actors[i]
      if actor.cant_get_exp? == false
        last_level = actor.level
        actor.exp += exp
        if actor.level > last_level
          @status_window.level_up(i)
        end
      end
    end
    $game_party.gain_gold(gold)
    for item in treasures
      case item
      when RPG::Item
        $game_party.gain_item(item.id, 1)
      when RPG::Weapon
        $game_party.gain_weapon(item.id, 1)
      when RPG::Armor
        $game_party.gain_armor(item.id, 1)
      end
    end
    @result_window = Window_BattleResult.new(exp, gold, treasures)
    @phase5_wait_count = 100
  end
end


Las instrucciones vienen dentro del script y esta en español.

De igual forma si no entienden algo pueden enviarme un MP.

Saludos.
Volver arriba
Permisos de este foro:
No puedes responder a temas en este foro.