¡Bienvenido a Universo Maker!
¿Es esta la primera vez que visitas el foro? Si es así te recomendamos que te registres para tener completo acceso a todas las áreas y secciones del foro, así también podrás participar activamente en la comunidad. Si ya tienes una cuenta, conectate cuanto antes.
Iniciar Sesión Registrarme

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo Mensaje [Página 1 de 1.]

Reputación del mensaje :100% (3 votos)

Wecoc

avatar

ENEMY GOLD & EXP DROP VARIATION
RPG Maker XP
Sobre el Script:
Este script permite añadir cierta variancia al oro y exp que suelta cada enemigo, según su tipo.
Imágenes:
(No para este tipo de script)
Instrucciones:
♦️ Paso 1: Poned el script encima de main con el nombre que queráis.
♦️ Paso 2: En la parte inicial del script hay que configurar los parámetros de variancia tal como se indica en las instrucciones del script.
Código:

Código:
#==============================================================================
# ** [XP] Enemy Gold & Exp Drop Variance
#------------------------------------------------------------------------------
#  Autor: Wecoc (no requiere créditos)
#------------------------------------------------------------------------------
#  Este script permite añadir cierta variancia al oro y exp que suelta cada
#  enemigo, de modo que no sea siempre el mismo.
#  Se puede definir el valor genérico de variancia que afecte a todos cambiando
#  las globales GOLD_VARIANCE y EXP_VARIANCE al inicio del script, o bien
#  definir una concreta para cada ID de enemigo en los hash GOLD_ENEMY_VAR y
#  EXP_ENEMY_VAR.
#
#  La variancia va de 0 (mínimo) a 100 (máximo).
#  Supongamos un enemigo que suelta 200G.
#  Si su variancia es 0 siempre suelta 200G.
#  Si su variancia es 50 puede soltar entre 100G y 300G.
#  Si su variancia es 100 puede soltar entre 0G y 400G.
#==============================================================================

module Enemy_Gold
  # Default variance
  GOLD_VARIANCE = 0
  EXP_VARIANCE = 0
  
  # Enemy variance { ID Enemy => Variance }
  GOLD_ENEMY_VAR = {1 => 20, 2 => 30}
  EXP_ENEMY_VAR  = {}
end

class Scene_Battle
  include Enemy_Gold
  #----------------------------------------------------------------------------
  #  Fase de Victoria
  #----------------------------------------------------------------------------
  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
        #------------------------------------------
        enemy_gold = enemy.gold
        gold_var = GOLD_VARIANCE
        if GOLD_ENEMY_VAR.keys.include?(enemy.id)
          gold_var = GOLD_ENEMY_VAR[enemy.id]
        end
        if gold_var > 0
          gold_p = (enemy_gold.to_f * gold_var / 100).floor
          enemy_gold = enemy_gold + rand(gold_p) - rand(gold_p)
        end
        enemy_exp = enemy.exp
        exp_var = EXP_VARIANCE
        if EXP_ENEMY_VAR.keys.include?(enemy.id)
          exp_var = EXP_ENEMY_VAR[enemy.id]
        end
        if exp_var > 0
          exp_p = (enemy_exp.to_f * exp_var / 100).floor
          enemy_exp = enemy_exp + rand(exp_p) - rand(exp_p)
        end        
        gold += enemy_gold
        exp += enemy_exp
        #------------------------------------------
        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
Créditos:
Wecoc (opcionales)

xXIsrael0499Xx

avatar
Oh excelente Wecoc Ópalo Reputación, me gusto mucho la idea, es bastante útil y eso, creo que se podría utilizar para reutilizar enemigos, como por ejemplo que tengas un lobo nivel 3 y uno nivel 5 y que el 5 de mas oro que el 3, y técnica mente es el mismo grafico y eso.

Así que si mas preámbulos te doy mi Ópalo Reputación

Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

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