Mundo Maker
¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.
Conectarse

Recuperar mi contraseña

Últimos temas
» [Ayuda] Cuenta atras
por Wecoc Ayer a las 21:07

» Necesito tilesets con nieve.
por plergoth Ayer a las 20:49

» Sobrepasar el límite de caracteres permitidos.
por Wecoc Ayer a las 20:25

» Un regalo de bienvenida - Pack de scripts
por Wecoc Ayer a las 20:14

» Concurso 1º Aniversario FFSK!!!
por Wecoc Ayer a las 18:09

» Hola Hola <3
por AlemánGift Ayer a las 02:13

» Hola nuevo mundo
por Gacoro 2018-04-19, 00:30

» Cambiar color sistema de texto
por Lithium 2018-04-17, 22:21

» PETICION DE LINKS ROTOS
por RinerV 2018-04-17, 15:57

» una ayudita porfavor
por Gacoro 2018-04-17, 13:34

Afiliados

Problema con un script (Battle BGM Anti-Reset).

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker XP Problema con un script (Battle BGM Anti-Reset).

Mensaje por Lance Amano el 2014-06-27, 19:04

Saludos. Tengo este script que impide que la música del mapa empieze de nuevo tras una batalla.

Código:
#==============================================================================
#????Battle BGM Anti-Reset ver. 1.00???
#??Script by ParaDog
#??http://2d6.parasite.jp/
#------------------------------------------------------------------------------
# Prevents the music from starting over when entering combat if both the field
# map's and battlesystem's BMG are the same.  Likewise, the music will not re-
# set upon escaping combat,  or after victory if the  'battle end ME' has been
# turned off (set to 'None).
#------------------------------------------------------------------------------
# For best results of this system, please set the 'Battle End ME'  to ("None)"
# in either the SYSTEM section or through an event command.
#==============================================================================

#==============================================================================
# ** Scene_Map
#------------------------------------------------------------------------------
#  This class performs map screen processing.
#==============================================================================

class Scene_Map
  #--------------------------------------------------------------------------
  # * Battle Call
  #--------------------------------------------------------------------------
  def call_battle
    # Clear battle calling flag
    $game_temp.battle_calling = false
    # Clear menu calling flag
    $game_temp.menu_calling = false
    $game_temp.menu_beep = false
    # Make encounter count
    $game_player.make_encounter_count
    # Memorize map BGM and stop BGM
    $game_temp.map_bgm = $game_system.playing_bgm
    # Play battle start SE
    $game_system.se_play($data_system.battle_start_se)
    # Play battle BGM
    #If Switch 1 is ON
    if $game_switches[1] == true
      # Play same battle BGM as the map BGM
      $game_system.battle_bgm = $game_temp.map_bgm
      $game_system.bgm_play($game_system.battle_bgm)
    #If Switch 2 is ON
    elsif $game_switches[2] == true
      # Play the basic battle BGM
      # ! WILL RESET THE MAP BGM AFTER BATTLE ! #
      # I use this for bosses, so that the battle BGM can loop.
      $game_system.bgm_play($game_system.battle_bgm)
    #Else, if Switch 1 and Switch 2 are OFF
    elsif $game_switches[1] == false and $game_switches[2] == false
    #Play battle BGM as ME (won't loop)
    Audio.me_play("Audio/BGM/" + $game_system.battle_bgm.name, $game_system.battle_bgm.volume, $game_system.battle_bgm.pitch)
    end
    # Straighten player position
    $game_player.straighten
    # Switch to battle screen
    $scene = Scene_Battle.new
  end
end

#==============================================================================
# ** Scene_Battle
#------------------------------------------------------------------------------
#  This class performs battle screen processing.
#==============================================================================

class Scene_Battle
  #--------------------------------------------------------------------------
  # * Start After Battle Phase
  #--------------------------------------------------------------------------
  def start_phase5
    # Shift to phase 5
    @phase = 5
    if $game_system.battle_end_me.name != ""
      # Play battle end ME
      $game_system.me_play($game_system.battle_end_me)
    end
    # Return to BGM before battle started
    $game_system.bgm_play($game_temp.map_bgm)
    # Initialize EXP, amount of gold, and treasure
    exp = 0
    gold = 0
    treasures = []
    # Loop
    for enemy in $game_troop.enemies
      # If enemy is not hidden
      unless enemy.hidden
        # Add EXP and amount of gold obtained
        exp += enemy.exp
        gold += enemy.gold
        # Determine if treasure appears
        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 
    # Treasure is limited to a maximum of 6 items
    treasures = treasures[0..5]
    # Obtaining EXP
    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
    # Obtaining gold
    $game_party.gain_gold(gold)
    # Obtaining treasure
    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
    # Make battle result window
    @result_window = Window_BattleResult.new(exp, gold, treasures)
    if $game_system.battle_end_me.name != ""
      # Set wait count
      @phase5_wait_count = 100
    else
      # Set wait count
      @phase5_wait_count = 20
    end
  end
end



Lo he probado and parecía funcionar bien... Hasta que descubrí que si tu escapas de una batalla, la música de combate sigue tocando hasta que termina. ¿Hay una manera de solucionar este problema?

Si no es posible, ¿Qué otro script con el mismo objetivo me recomiendan?
avatar
Lance Amano
Soñador
Soñador

0/3

Créditos 218

Gracias : 23

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


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