Últimos temas
» Tileset de Sangre [VX/ACE]
por Santi_Lee Ayer a las 11:25 pm

» Pack 300 Charas: Game Character Hub Second Story (VX ACE)
por TRaFuGa Ayer a las 5:41 pm

» Ayuda, ¿Como hago que la imagen del fondo del menú cambie en un determinado momento?
por Muzgar Ayer a las 5:18 pm

» [Plugin MV] Curar al subir nivel
por Muzgar Ayer a las 5:06 pm

» Concurso de relatos - Diciembre 2019
por Lenny Ayer a las 4:48 pm

» LA BRÚJULA DE ZAZA [VXACE]
por Pocari Dom Dic 08, 2019 9:01 pm

» [MV] Story: Sombras en llamas 0.2.5
por Vesper Mar Dic 03, 2019 6:05 pm

» Dudas básicas: Crear habitaciones y añadir elementos...
por TRaFuGa Mar Dic 03, 2019 10:55 am

» [Publicidad] Story Sombras en llamas [beta]
por Muzgar Mar Dic 03, 2019 1:25 am

» KPocket VX
por kyonides Lun Dic 02, 2019 4:43 am

» KPocket XP
por kyonides Lun Dic 02, 2019 4:40 am

» Pokemon Destiny
por Greninja555 Dom Dic 01, 2019 10:09 pm


error de script (HUD)

Ir abajo

error de script (HUD) Empty error de script (HUD)

Mensaje por Klayer el Sáb Nov 09, 2019 9:27 pm

Tengo desde hace tiempo un script que muestra la HUD en pantalla y funcionaba bastante bien, hasta que metí otro que modificaba la pantalla de título.
Pasaré una imagen del error y ambos scripts, para ver si se puede hacer algo.

HUD script:
https://mega.nz/#!NcwQ0YRb!m9POPQIFrpCRC3zDIbJlZUXYiaWYzbyQzwkBuoGmnxE

Title script:
https://mega.nz/#!QMgURI5K!Q-VhSPFlCnfHLJSifBMuUMLK4npdVbUNgGr-XDj4Klk

Estos son los diferentes errores que obtengo:


Este error sale al cargar una partida:
error de script (HUD) 113


Este error aparece al empezar una nueva partida:
error de script (HUD) 212


Hay alguna posibilidad de poder mantener los 2 scripts a la vez? (Ya he trabajado en el del título y no me gustaría borrarlo...)


De todos modos, gracias por adelantado.


Saludos, Klayer.




EDIT: he cambiado el script de HUD por este otro, con lo cual he eliminado un problema de compatibilidad.
Ahora, este nuevo script me da este error:
error de script (HUD) 313

Aqui os dejo el nuevo script:

Link

Creo que ahora podría ser más fácil de arreglar...
Klayer
Klayer
PJ Secundario
PJ Secundario

Masculino
España
RPG Maker : Ace
Mensajes : 127
Monedas : 283
Reputación : 11
Edad : 19
Localización : Chaosworld

Volver arriba Ir abajo

error de script (HUD) Empty Re: error de script (HUD)

Mensaje por kyonides el Dom Nov 10, 2019 3:06 am

Primero que todo yo modificaría la parte de Scene_Map para que empiece así:

Código:
class Scene_Map < Scene_Base
  alias sixth_hpHUD7766 start
  def start
    leader = $game_party.members[0]
    @leadmp = [leader.mp, leader.mmp]
    @leadhp = [leader.hp, leader.mhp]
    @leadtp = [leader.tp, leader.max_tp]
    @leadxp = leader.get_xp_info
    @togglesw = $game_switches[SixthMapHUD::HUDSwitch]
    sixth_hpHUD7766
    init_HUD
    toggle_HUD(@togglesw)
  end

  def init_HUD
    @thehud = {}
    SixthMapHUD::HUDs.each{|sym,info| make_emHUD(sym,info) }
    update_fill_rates(true)
    init_icon_display
  end

Lo único realmente notorio es que identifiqué al héroe que busca como leader o líder en español. Esto en realidad sirve para no hacer el mismo llamado desde cero por cada línea que lo requiere. En este caso se nos permite comprender tu mensaje de error: No hay líder o incluso no hay un equipo de héroes...

No queda más que analizar en qué momento te quedaste sin un solo héroe para que lo agregues.

kyonides
PJ Secundario
PJ Secundario

Masculino
Costa Rica
RPG Maker : Xp
Mensajes : 127
Monedas : 338
Reputación : 4

Volver arriba Ir abajo

error de script (HUD) Empty Re: error de script (HUD)

Mensaje por Klayer el Dom Nov 10, 2019 12:33 pm

Después de todos los arreglos que hice en el script, quedó así:

Código:
#===============================================================================
# * [ACE] Map HUD EX
#===============================================================================
# * Made by: Sixth (www.rpgmakervxace.net, www.forums.rpgmakerweb.com)
# * Version: 1.3
# * Updated: 06/10/2015
# * Requires: -------
#-------------------------------------------------------------------------------
# * < Change Log >
#-------------------------------------------------------------------------------
# * Version 1.0 (13/06/2015)
#  - Initial release.
# * Version 1.1 (01/07/2015)
#  - Added compatibility with my Menu Engine script.
#  - You can now set the numeric display type for every gauge shown separately.
#  - Fixed an update method which updated constantly instead of only when
#    necessary.
# * Version 1.2 (10/07/2015)
#  - Made it impossible to toggle the visibility of the HUD during events.
# * Version 1.3 (06/10/2015)
#  - Added state/buff display.
#-------------------------------------------------------------------------------
# * < Description >
#-------------------------------------------------------------------------------
# * This script is aimed for games where the player can control only one actor
#  at a time, such as a game with an action battle system and the likes.
# * This script adds a map HUD which can display the following information:
#  - HP, MP, TP, XP, state/buff icons
# * All information displayed will be the party leader's data!
# * You can set what to show, where to show, how to show, and more!
# * The HUD is purely image based. You can use any images you want!
# * Two kinds of image bar filling is possible, can be horizontal or vertical.
# * Image based number drawing is possible too, with my Picture Drawing script!
# * Toggle the HUD with a single press of a button or by toggling a switch
#  anytime during the game!
# * A little bonus: play an animation on the player upon a level up!
# * Tons of settings for you to configure!
# * Say goodbye to the old and boring default bars and make your own!
#-------------------------------------------------------------------------------
# * < Usage Information >
#-------------------------------------------------------------------------------
# * This script uses a custom made folder setup to get the location of the
#  pictures used. All images used must be in that folder!
#  You can set the folder location with the 'ImgFolder' setting!
#-------------------------------------------------------------------------------
# * < Installation >
#-------------------------------------------------------------------------------
# * Place this script below Materials but above Main!
#-------------------------------------------------------------------------------
# * < Compatibility Info >
#-------------------------------------------------------------------------------
# * No known incompatibilities.
#-------------------------------------------------------------------------------
# * < Known Issues >
#-------------------------------------------------------------------------------
# * No known issues.
#-------------------------------------------------------------------------------
# * < Terms of Use >
#-------------------------------------------------------------------------------
# * Free to use for whatever purposes you want.
# * Credit me (Sixth) in your game, pretty please! :P
# * Posting modified versions of this script is allowed as long as you notice me
#  about it with a link to it!
#===============================================================================
$imported = {} if $imported.nil?
$imported["SixthMapHUD"] = true
#===============================================================================
# Settings:
#===============================================================================
module SixthMapHUD # <-- No touchy-touchy!
  #-----------------------------------------------------------------------------
  # Image Folder Settings:
  #-----------------------------------------------------------------------------
  # Set up a custom folder where your map HUD pictures will be read from.
  # All pictures used must be in this folder!
  #-----------------------------------------------------------------------------
  ImgFolder = "Graphics/MapHUD/"
 
  #-----------------------------------------------------------------------------
  # Switch Settings:
  #-----------------------------------------------------------------------------
  # Set up a switch used to toggle the HUD at will during the game.
  # Useful for eventing, I guess.
  # Enter the ID of the switch you want to use for this.
  # Don't forget that you MUST turn this switch ON to show the HUD!
  #-----------------------------------------------------------------------------
  HUDSwitch = 30
 
  #-----------------------------------------------------------------------------
  # Button Settings:
  #-----------------------------------------------------------------------------
  # Set up a button for toggling the HUD at will during the game.
  # In case you want to give the option of hiding the HUD for the player, this
  # is just the thing you need. And why wouldn't you give that option, right?
  # Enter the symbol of the button you want to use.
  # Enter nil to disable this feature (not really recommended by me, thou).
  #-----------------------------------------------------------------------------
  ToggleHUD = nil
 
  #-----------------------------------------------------------------------------
  # Animation Settings:
  #-----------------------------------------------------------------------------
  # In case you want to show an animation on the player when he/she levels up,
  # you can enter an animation ID here.
  # Set it to 0 to disable this feature.
  #-----------------------------------------------------------------------------
  LvlAnim = 113
 
  #-----------------------------------------------------------------------------
  # Horizontal Fill Rate Settings:
  #-----------------------------------------------------------------------------
  # You have two options to draw the current rate of a stat with the horizontal
  # filling type of the bars:
  #
  #  :rect = This is the same as how every vertical gauge will operate.
  #          You have a fill rate image, and depending on the current rate of
  #          the stat, only a certain portion of that image will be drawn from
  #          the left side of the image. So, if the player got 50% from MP, the
  #          bar will only draw half of the image from the left side as is.
  #          This is good for unusual shaped bars without a foreground image,
  #          for example.
  # :stretch = The second mode instead will pack the whole image into a box, and
  #            the width and height of the box will depend on the current rate
  #            of the stat. Generally takes more processing time, but should
  #            not be noticeable.
  #-----------------------------------------------------------------------------
  HorzMode = :rect
 
  #-----------------------------------------------------------------------------
  # Data Display Settings:
  #-----------------------------------------------------------------------------
  # You can define what data to show on the map HUD here.
  # You can also set the bar's filling type up here.
  #
  # Available keys are:
  #  :hp, :mp, :tp, :xp
  # All of these can have a bar/gauge shown.
  #
  # Available filling type symbols:
  #  :vert, :horz
  # It should be obvious which one does what, right?
  # The vertical fill type will fill from down to up.
  # The horizontal fill type will fill from left to right.
  #
  # Any key missing from this hash setting will not be shown on the HUD at all!
  # So, if you want to hide, let's say, the TP bar, just comment out the :tp
  # settings, and it won't show up ever on the HUD.
  #-----------------------------------------------------------------------------
  HUDs = { # <-- No touchy-touchy!
    :hp => :horz,
    :mp => :horz,
    :tp => :vert,
    :xp => :horz,
  } # <-- No touchy-touchy!
 
  #-----------------------------------------------------------------------------
  # Dynamic Text Color Settings:
  #-----------------------------------------------------------------------------
  # In the case of HP, MP and TP value displays, it is possible to set up
  # different colors for the text depending on the percentage of current HP, MP
  # and TP respectively.
  # You can set up infinite amount of color changes here for each data.
  # If you are using my Picture Number Drawing script to display the values,
  # you can seet up style changes too here.
  #
  # Format:
  #
  # 1. Regular text based format:
  # 
  #    percentage => [Red,Blue,Green,Alpha],
  #
  #  So, 4 integer numbers in an array.
  #  Valid values are from 0 to 255 for all of them!
  #  Replace the percentage with an integer value from 0 to 100.
  #  0 = 0%, 25 = 25%, 100 = 100%, and so on.
  #
  # 2. Picture number drawing format:
  #
  #    percentage => ["image_file",row_index],
  #
  #  Replace the image_file with the name of the image you want to use.
  #  Replace the row_index with the index of the style you want to use from the
  #  image.
  #  The percentage means the same thing like at the regular text based format.
  #  Remember that the images used here must be in the folder you set in my
  #  Picture Number Drawing script!
  #
  # The settings must be from lowest to highest percentage values!
  #-----------------------------------------------------------------------------
  TxtColors = { # <-- No touchy-touchy!
    :hp => { # Settings for the HP display.
      10 => [:Red],
      33 => [:Red],
      100 => [:Red],
    },
    :mp => { # Settings for the MP display.
      10 => [:Blue],
      33 => [:Blue],
      100 => [:Blue],
    },
    :tp => { # Settings for the TP display.
      99 => [:Alpha],
      100 => [:Alpha],
    }
  } # <-- No touchy-touchy!
 
  #-----------------------------------------------------------------------------
  # Advanced Data Display Settings:
  #-----------------------------------------------------------------------------
  # From here on, you can configure the details of your HP, MP, TP and XP bars.
  # Every data uses the same format!
  #
  # You can set up 3 static picture for each bar, but all of them are optional!
  # These are the :pic1, :pic2, and :pic3 settings.
  # You can simply omit any of them in case you don't wanna use all 3 for all
  # types of data.
  #
  # And you can set up a fill rate picture, that is the :fill setting.
  # The fill pictures got one simple rule to follow:
  # If you use the image for a vertical bar, the image used must not contain
  # any empty pixels on the top or on the bottom of the image, and if you use
  # it for a horizontal bar, it should not contain any empty pixels on the left
  # or right side of the picture!
  #
  # The settings for the :pic1, :pic2, :pic3 and :fill use the same format!
  # The available options are:
  #
  #  :img => "file name",
  # The name of the image file to use.
  # You don't have to use a boring, old and simple linear gauge image!
  # Spheres, swords, irregular shapes, all of them will work!
  #
  #  :pos => [x,y],
  # The X and Y position of the image.
  #
  #  :opa => value,
  # The opacity value for the image. Valid values: 0 - 255.
  #
  #  :z => value,
  # The Z value of the image, so you can set backgrounds and foregrounds too
  # for your fancy bars!
  #
  # The last setting is named :txt, and will let you set up the visuals of the
  # numeric displays for your HUD.
  # If you comment out or delete the :txt settings for a data, it will not have
  # a numeric display at all, only the bar itself!
  # The available options here are:
  #
  #  :style => type,
  # Two options here: :text or :picture.
  # :text will use the default text drawing method, while :picture will use my
  # picture number drawing method (requires my Picture Number Drawing script!).
  #
  #  :type => type,
  # This will determine how the numeric info will be shown.
  # You get 3 options (2 for the XP data!):
  #  :current = This will only display the current HP/MP/TP.
  #              Can NOT select this for the XP text!
  #  :direct = Will display the data like this: current / max .
  #  :percentage = Will display the data like this: percentage_value% .
  # In case you have set your :type to percentage, you will need to set up
  # another setting named :decimals for it.
  # Remember that you need a % and a . extra character set up in the Picture
  # Number Drawing script to show those characters for the :percentage type, and
  # you will need a / extra character set up for the :direct type!
  #
  #  :decimals => value,
  # The amount of decimals to display for the numeric data if the text's :type
  # is set to :percentage. Must be an integer number from 0 to infinity!
  # You don't need to set this up if the text's :type is not :percentage!
  #
  #  :img => ["image_file",row_index],
  # The style setup for the picture drawing method.
  # Replace the image_file with the name of the image you want to use.
  # Replace the row_index with the index of the style you want to use from the
  # image.
  #
  #  :pos1 => [x,y],
  # The X and Y position of the sprite which will contain the text display.
  #
  #  :pos2 => [x,y],
  # The text's X and Y position INSIDE the sprite used.
  # Since some text types got some unusual letters, it is wise to set the text's
  # position a few pixels from the edges, so it will be displayed correctly
  # without leftover pixels from the previous value display.
  #
  #  :size1 => [width,height],
  # The width and height of the bitmap created for the text.
  #
  #  :size2 => [width,height],
  # The width and height reserved for the text itself INSIDE the bitmap.
  # Do NOT use higher values than for the :size1 setup, or some text might get
  # cut down from the display!
  # The same reason as for :pos2, this ssetting has been made. If you see some
  # pixels left from a previous drawing, you might need to lower the size of
  # this setting and/or increase the size of the :size1 setting!
  # This should only matter for the regular drawing method, not for the image
  # based number drawing method!
  #
  #  :align => value,
  # The alignment used for the text. 0 = left, 1 = middle, 2 = right.
  #
  #  :font => [["type1","type2", ...],size],
  # The font settings for the text.
  # An array which contains another array and a single integer number.
  # Replace the "types" with the name of the font types you want to use.
  # Font types on the left in the font type array gets priority over the right
  # ones, so as soon as a valid type is detected on the system, that one will
  # be selected, the rest will be ignored.
  # Replace the size with the font size you want to use for the text.
  #
  #  :opa => value,
  # The opacity value for the text display. Valid values: 0 - 255.
  #
  #  :z => value,
  # The Z value of the sprite containing the text.
  #
  # And this is it! Have fun with designing cool gauges!
  #----------------------------------------------------------------------------- 
  HPBar = { # Settings for the HP display.
#~    :pic1 => {
#~      :img => "HPBackP2v2",
#~      :pos => [5,Graphics.height-59],
#~      :opa => 200,
#~      :z => 270,
#~    },
    :pic2 => {
      :img => "HPBackP2v2",
      :pos => [30,43],
      :opa => 150,
      :z => 240,
    },
    :pic3 => {
      :img => "hpfore2a",
      :pos => [35,18],
      :opa => 240,
      :z => 260,
    },
    :fill => {
      :img => "hpfill2a",
      :pos => [40,40],
      :opa => 240,
      :z => 255,
    },
    :txt => {
      :style => :picture, :type => :direct,
      :img => ["hpnums1va",1],
      :pos1 => [-39,31],
      :pos2 => [190,0],
      :size1 => [200,60],
      :size2 => [200,60],
      :font => [["Parry Hotter","Old English Text MT"],28],
      :align => 2,
      :opa => 240,
      :z => 272,
    }
  } # <-- No touchy-touchy!
 
  MPBar = { # Settings for the MP display.
#~    :pic1 => {
#~      :img => "MPBackP2v2",
#~      :pos => [Graphics.width-197,Graphics.height-59],
#~      :opa => 200,
#~      :z => 270,
#~    },
    :pic2 => {
      :img => "MPBackP2v2",
      :pos => [28,70],
      :opa => 150,
      :z => 240,
    },
    :pic3 => {
      :img => "mpfore2a",
      :pos => [28,50],
      :opa => 240,
      :z => 260,
    },
    :fill => {
      :img => "mpfill2a",
      :pos => [33,72],
      :opa => 240,
      :z => 255,
    },
    :txt => {
      :style => :picture, :type => :direct,
      :img => ["mpnums1va",1],
      :pos1 => [-46,63],
      :pos2 => [190,0],
      :size1 => [200,60],
      :size2 => [200,60],
      :font => [["Parry Hotter","Old English Text MT"],36],
      :align => 2,
      :opa => 240,
      :z => 272,
    }
  } # <-- No touchy-touchy!
 
  TPBar = { # Settings for the TP display.
    :pic1 => {
      :img => "tpback1a",
      :pos => [194,28],
      :opa => 150,
      :z => 220,
    },
    :pic3 => {
      :img => "tpfore2a",
      :pos => [216,104],
      :opa => 240,
      :z => 260,
    },
    :fill => {
      :img => "tpfill1a",
      :pos => [199,33],
      :opa => 240,
      :z => 255,
    },
  } # <-- No touchy-touchy!
 
  XPBar = { # Settings for the XP display.
    :pic1 => {
      :img => "xpback2a",
      :pos => [23,102],
      :opa => 150,
      :z => 200,
    },
    :pic3 => {
      :img => "xpfore2a",
      :pos => [23,82],
      :opa => 240,
      :z => 260,
    },
    :fill => {
      :img => "xpfill2a",
      :pos => [28,104],
      :opa => 240,
      :z => 220,
    },
    :txt => {
      :style => :picture, :type => :direct, :decimals => 2,
      :img => ["xpnums1va",0],
      :pos1 => [-51,95],
      :pos2 => [190,0],
      :size1 => [200,60],
      :size2 => [200,60],
      :font => [["Parry Hotter","Old English Text MT"],36],
      :align => 2,
      :opa => 240,
      :z => 272,
    }
  } # <-- No touchy-touchy!
 
  #-----------------------------------------------------------------------------
  # State/Buff Display Settings:
  #-----------------------------------------------------------------------------
  # Settings for the state/buff display.
  # All the state and buff icons will be displayed in an invisible window.
  # If there are more icons than what fits into the window, the icons will start
  # to scroll either horizontally or vertically.
  #
  #  :pos => [x,y],
  # The position of the state/buff display window.
  #
  #  :size => [width,height],
  # The size of the state/buff display window.
  #
  #  :opa => value,
  # The opacity of the state/buff display window. (0 - 255)
  #
  #  :z => value,
  # The Z value of the state/buff display window.
  #
  #  :anim => {:type => :horz/:vert, :speed => value, :wait => value},
  # The scrolling settings for the state/buff icons inside the window.
  # :type = The scroll type of the window.
  #        Can be :horz (horizontal) or :vert (vertical).
  # :speed = The speed of the scrolling. Measured in pixels.
  #          This many pixel will be scrolled in each frames when needed.
  #          Higher values mean quicker scrolling.
  # :wait = The wait time between changing scrolling directions.
  #        This many frames will the scrolling stop once it reached the
  #        last/first icon in the window. 60 = 1 second.
  #-----------------------------------------------------------------------------
  Icons = { # <-- No touchy-touchy!
    :pos => [78,104],
    :size => [4*24,24],
    :opa => 255,
    :z => 110,
    :anim => {:type => :horz, :speed => 2, :wait => 180},
  } # <-- No touchy-touchy!
 
end # <-- No touchy-touchy!
#===============================================================================
# End of settings! O.o
# Don't look below, someone may find out!
#===============================================================================
 
module Cache
 
  def self.maphud(filename)
    load_bitmap(SixthMapHUD::ImgFolder, filename)
  end
 
end
 
class Game_Actor < Game_Battler
 
  def get_xp_info
    s1 = exp - current_level_exp
    s2 = exp_for_level(level + 1) - current_level_exp
    if max_level?
      exp_rate = 1.0
    else
      exp_rate = s1.to_f / s2
    end
    return [s1,s2,exp_rate]
  end
 
  def xp_text(type,dec=0)
    inf = get_xp_info
    if max_level?
      txt = "-------"
    else
      case type
      when :direct
        t1 = inf[0]; t2 = inf[1]
        txt = t1.to_s + "/" + t2.to_s
      when :percentage
        txt = sprintf("%1.#{dec}f%",inf[2]*100)
      end
    end
    return txt
  end
 
  alias sixth_HUD7754 gain_exp
  def gain_exp(exp)
    if SceneManager.scene_is?(Scene_Map)
      change_exp(self.exp + (exp * final_exp_rate).to_i, false)
    else
      sixth_HUD7754(exp)
    end
  end
 
  alias sixth_HUD9908 level_up
  def level_up
    sixth_HUD9908
    if SceneManager.scene_is?(Scene_Map) && SixthMapHUD::LvlAnim != 0
      $game_player.animation_id = SixthMapHUD::LvlAnim
    end
  end
 
end
 
class Scene_Map < Scene_Base
 
  alias sixth_hpHUD7766 start
  def start
    @leadmp = [$game_party.members[0].mp,$game_party.members[0].mmp]
    @leadhp = [$game_party.members[0].hp,$game_party.members[0].mhp]
    @leadtp = [$game_party.members[0].tp,$game_party.members[0].max_tp]
    @leadxp = $game_party.members[0].get_xp_info
    @togglesw = $game_switches[SixthMapHUD::HUDSwitch]
    sixth_hpHUD7766
    init_HUD
    toggle_HUD($game_switches[SixthMapHUD::HUDSwitch])
  end
 
  def init_HUD
    @thehud = {}
    SixthMapHUD::HUDs.each do |sym,info|
      make_emHUD(sym,info)
    end
    update_fill_rates(true)
    init_icon_display
  end
 
  def init_icon_display
    pos = SixthMapHUD::Icons[:pos]
    sz = SixthMapHUD::Icons[:size]
    anim = SixthMapHUD::Icons[:anim]
    rect = Rect.new(pos[0],pos[1],sz[0],sz[1])
    @aicons = ScrollIcons.new(rect,$game_party.members[0],anim)
    @aicons.z = SixthMapHUD::Icons[:z]
  end
 
  def make_emHUD(sym,type)
    @thehud[sym] = {} if @thehud[sym].nil?
    case sym
    when :hp
      rate = $game_party.members[0].hp_rate
      inf = SixthMapHUD::HPBar
    when :mp
      rate = $game_party.members[0].mp_rate
      inf = SixthMapHUD::MPBar
    when :tp
      rate = $game_party.members[0].tp_rate
      inf = SixthMapHUD::TPBar
    when :xp
      rate = $game_party.members[0].get_xp_info[2]
      inf = SixthMapHUD::XPBar
    end
    [:pic1,:pic2,:pic3,:txt].each do |pic|
      next if inf[pic].nil?
      @thehud[sym][pic] = Sprite.new
      unless pic == :txt
      @thehud[sym][pic].bitmap = Cache.maphud(inf[pic][:img]) if !inf[pic][:img].nil?
        @thehud[sym][pic].x = inf[pic][:pos][0]
        @thehud[sym][pic].y = inf[pic][:pos][1]
      end
      @thehud[sym][pic].opacity = inf[pic][:opa]
      @thehud[sym][pic].z = inf[pic][:z]
    end
    if !inf[:txt].nil?
      @thehud[sym][:txt].bitmap = Bitmap.new(inf[:txt][:size1][0],inf[:txt][:size1][1])
      @thehud[sym][:txt].x = inf[:txt][:pos1][0]
      @thehud[sym][:txt].y = inf[:txt][:pos1][1]
      if inf[:txt][:style] == :picture
        @thehud[sym][:txt].bitmap.num_style = inf[:txt][:img] 
      else
        @thehud[sym][:txt].bitmap.font.name = inf[:txt][:font][0]
        @thehud[sym][:txt].bitmap.font.size = inf[:txt][:font][1]
      end
    end
    fillpic = Cache.maphud(inf[:fill][:img])
    yy = inf[:fill][:pos][1]; xx = inf[:fill][:pos][0]
    @thehud[sym][:fill] = SpritedBar1.new(xx,yy,fillpic,rate,sym) if type == :vert
    @thehud[sym][:fill] = SpritedBar2.new(xx,yy,fillpic,rate,sym) if type == :horz
    @thehud[sym][:fill].opacity = inf[:fill][:opa]
    @thehud[sym][:fill].z = inf[:fill][:z]
    @thehud[sym][:fill].update_fill_rate
  end
 
  alias sixth_hpHUD8888 update
  def update
    sixth_hpHUD8888
    update_HUD_fill
    update_fill_rates
    toggle_HUDinit if Input.trigger?(SixthMapHUD::ToggleHUD) && !$game_map.interpreter.running?
    if @togglesw != $game_switches[SixthMapHUD::HUDSwitch]
      toggle_HUD($game_switches[SixthMapHUD::HUDSwitch])
      @togglesw = $game_switches[SixthMapHUD::HUDSwitch]
    end
  end
 
  def update_HUD_fill
    @thehud.each do |sym,sprite|
      sprite[:fill].update
    end
  end
 
  def update_fill_rates(force=false)
    if ((@leadhp[0] != $game_party.members[0].hp || @leadhp[1] != $game_party.members[0].mhp) || force) && !@thehud[:hp][:txt].nil?
      change_txt_color(:hp,$game_party.members[0].hp_rate)
      case SixthMapHUD::HPBar[:txt][:type]
      when :direct
        txt = $game_party.members[0].hp.to_s + "/" + $game_party.members[0].mhp.to_s
      when :percentage
        txt = sprintf("%1.#{SixthMapHUD::HPBar[:txt][:decimals]}f%",$game_party.members[0].hp_rate*100)
      when :current
        txt = $game_party.members[0].hp
      end
      update_bar_txt(@thehud[:hp][:txt],SixthMapHUD::HPBar[:txt],txt)
      @leadhp = [$game_party.members[0].hp,$game_party.members[0].mhp]
    end
    if ((@leadmp[0] != $game_party.members[0].mp || @leadmp[1] != $game_party.members[0].mmp) || force) && !@thehud[:mp][:txt].nil?
      change_txt_color(:mp,$game_party.members[0].mp_rate)
      case SixthMapHUD::MPBar[:txt][:type]
      when :direct
        txt = $game_party.members[0].mp.to_s + "/" + $game_party.members[0].mmp.to_s
      when :percentage
        txt = sprintf("%1.#{SixthMapHUD::MPBar[:txt][:decimals]}f%",$game_party.members[0].mp_rate*100)
      when :current
        txt = $game_party.members[0].mp
      end
      update_bar_txt(@thehud[:mp][:txt],SixthMapHUD::MPBar[:txt],txt)
      @leadmp = [$game_party.members[0].mp,$game_party.members[0].mmp]
    end
    if ((@leadtp[0] != $game_party.members[0].tp || @leadtp[1] != $game_party.members[0].max_tp) || force) && !@thehud[:tp][:txt].nil?
      change_txt_color(:tp,$game_party.members[0].tp_rate)
      case SixthMapHUD::TPBar[:txt][:type]
      when :direct
        txt = $game_party.members[0].tp.to_i.to_s + "/" + $game_party.members[0].max_tp.to_s
      when :percentage
        txt = sprintf("%1.#{SixthMapHUD::TPBar[:txt][:decimals]}f%",$game_party.members[0].tp_rate*100)
      when :current
        txt = $game_party.members[0].tp.to_i
      end
      update_bar_txt(@thehud[:tp][:txt],SixthMapHUD::TPBar[:txt],txt)
      @leadtp = [$game_party.members[0].tp,$game_party.members[0].max_tp]
    end
    if (@leadxp != $game_party.members[0].get_xp_info || force) && !@thehud[:xp][:txt].nil?
      txt = $game_party.members[0].xp_text(SixthMapHUD::XPBar[:txt][:type],SixthMapHUD::XPBar[:txt][:decimals])
      update_bar_txt(@thehud[:xp][:txt],SixthMapHUD::XPBar[:txt],txt)
      @leadxp = $game_party.members[0].get_xp_info
    end   
  end
 
  def change_txt_color(sym,data)
    SixthMapHUD::TxtColors[sym].each do |key,val|
      if (data*100) <= key
        if val.size == 2
          @thehud[sym][:txt].bitmap.num_style = val
        else
          @thehud[sym][:txt].bitmap.font.color = Color.new(*val)
        end
        break
      end
    end
  end
 
  def update_bar_txt(bar,info,data)
    rect = Rect.new(0,0,info[:size1][0],info[:size1][1])
    bar.bitmap.clear_rect(rect)
    if info[:style] == :picture
      bar.bitmap.draw_numbers(info[:pos2][0],info[:pos2][1],data,255,info[:align])
    else
      rectt = Rect.new(info[:pos2][0],info[:pos2][1],info[:size2][0],info[:size2][1])
      bar.bitmap.draw_text(rectt,data,info[:align])
    end
  end
 
  def toggle_HUDinit
    $game_switches[SixthMapHUD::HUDSwitch] = !$game_switches[SixthMapHUD::HUDSwitch]
  end
 
  def toggle_HUD(opa)
    @thehud.each do |sym,sprites|
      if opa == true
        case sym
        when :hp
          inf = SixthMapHUD::HPBar
        when :mp
          inf = SixthMapHUD::MPBar
        when :tp
          inf = SixthMapHUD::TPBar
        when :xp
          inf = SixthMapHUD::XPBar
        end
      end
      sprites.each do |sym2,sprite|
        opac = opa == true ? inf[sym2][:opa] : 0
        sprite.opacity = opac
      end
    end
    opac = opa == true ? SixthMapHUD::Icons[:opa] : 0
    @aicons.contents_opacity = opac
  end
 
  def dispose_the_HUD
    @thehud.each do |sym,sprites|
      sprites.each do |sym2,sprite|
        sprite.bitmap.dispose
        sprite.dispose
      end
    end
  end
 
  alias sixth_hpHUD9986 dispose_spriteset
  def dispose_spriteset
    dispose_the_HUD
    sixth_hpHUD9986
  end
 
end
 
class SpritedBar1 < Sprite_Base
 
  def initialize(x,y,pic,rate,sym)
    super(nil)
    self.x = x; self.y = y
    @ori_y = self.y
    @rate = rate; @sym = sym
    self.bitmap = pic
    src_rect.height = self.bitmap.height * @rate
    src_rect.y = self.bitmap.height - src_rect.height
    self.y = @ori_y + src_rect.y
  end
 
  def update
    super
    update_rate
  end
 
  def update_rate
    case @sym
    when :hp
      if @rate != $game_party.members[0].hp_rate
        @rate = $game_party.members[0].hp_rate
        update_fill_rate
      end
    when :mp
      if @rate != $game_party.members[0].mp_rate
        @rate = $game_party.members[0].mp_rate
        update_fill_rate
      end
    when :tp
      if @rate != $game_party.members[0].tp_rate
        @rate = $game_party.members[0].tp_rate
        update_fill_rate
      end
    when :xp
      if @rate != $game_party.members[0].get_xp_info[2]
        @rate = $game_party.members[0].get_xp_info[2]
        update_fill_rate
      end
    when :timer
      if @rate != $game_timer.fill_rate
        @rate = $game_timer.fill_rate
        update_fill_rate
      end
    end
  end
 
  def update_fill_rate
    src_rect.height = self.bitmap.height * @rate
    src_rect.y = self.bitmap.height - src_rect.height
    self.y = @ori_y + src_rect.y
  end
 
end
 
class SpritedBar2 < Sprite_Base
 
  def initialize(x,y,pic,rate,sym)
    super(nil)
    self.x = x; self.y = y
    @rate = rate; @sym = sym; @pic = pic
    if SixthMapHUD::HorzMode == :rect
      self.bitmap = pic
    else
      self.bitmap = Bitmap.new(pic.width,pic.height)
    end
    update_fill_rate
  end
 
  def update
    super
    update_rate
  end
 
  def update_rate
    case @sym
    when :hp
      if @rate != $game_party.members[0].hp_rate
        @rate = $game_party.members[0].hp_rate
        update_fill_rate
      end
    when :mp
      if @rate != $game_party.members[0].mp_rate
        @rate = $game_party.members[0].mp_rate
        update_fill_rate
      end
    when :tp
      if @rate != $game_party.members[0].tp_rate
        @rate = $game_party.members[0].tp_rate
        update_fill_rate
      end
    when :xp
      if @rate != $game_party.members[0].get_xp_info[2]
        @rate = $game_party.members[0].get_xp_info[2]
        update_fill_rate
      end
    when :timer
      if @rate != $game_timer.fill_rate
        @rate = $game_timer.fill_rate
        update_fill_rate
      end
    end
  end
 
  def update_fill_rate
    if SixthMapHUD::HorzMode == :rect
      src_rect.width = self.bitmap.width * @rate
    else
      full_rect = Rect.new(0,0,@pic.width,@pic.height)
      new_rect = Rect.new(0,0,@pic.width*@rate,@pic.height)
      self.bitmap.clear_rect(full_rect)
      self.bitmap.stretch_blt(new_rect,@pic,full_rect,SixthMapHUD::XPBar[:fill][:opa])
    end
  end
 
end
 
unless $imported && $imported["SixthMenuEngine"]
class ScrollIcons < Window_Base
 
  def initialize(rect,actor,anim)
    @rect = rect
    @actor = actor; @icons = actor.state_icons; @anim = anim
    case @anim[:type]
    when :horz
      @w = @actor.state_icons.size*24; @h = rect.height
      @w = 1 if @w == 0
      @count = actor.state_icons.size > rect.width/24 ? @anim[:wait] : 0
    when :vert
      @w = rect.width; @h = @actor.state_icons.size*24
      @h = 1 if @h == 0
      @count = actor.state_icons.size > rect.height/24 ? @anim[:wait] : 0
    end
    @dir = :down
    super(rect.x,rect.y,rect.width,rect.height)
    self.opacity = 0
    self.arrows_visible = false
    draw_them_icons
  end
 
  def standard_padding
    0
  end
 
  def set_actor(actor)
    @actor = actor
    case @anim[:type]
    when :horz
      @count = @actor.state_icons.size > @rect.width/24 ? @anim[:wait] : 0
    when :vert
      @count = @actor.state_icons.size > @rect.height/24 ? @anim[:wait] : 0
    end
    self.ox = 0; self.oy = 0
    update_icons(true)
  end
 
  def contents_width
    @w
  end
 
  def contents_height
    @h
  end
 
  def draw_them_icons
    create_contents
    draw_actor_icons(@actor, 0, 0)
  end
 
  def draw_actor_icons(actor, x, y)
    icons = (actor.state_icons + actor.buff_icons)
    case @anim[:type]
    when :horz
      icons.each_with_index {|n, i| draw_icon(n, x + 24 * i, y) }
    when :vert
      icons.each_with_index {|n, i| draw_icon(n, x, y + 24 * i) }
    end
  end
 
  def update_scrolling_horz
    if @actor.state_icons.size > @rect.width/24
      if @count <= 0
        if @dir == :down
          if self.ox < (@actor.state_icons.size - @rect.width/24) * 24
            self.ox += @anim[:speed]
            self.ox = [self.ox,(@actor.state_icons.size - @rect.width/24) * 24].min
          end
          if self.ox == (@actor.state_icons.size - @rect.width/24) * 24
            @dir = :up
            @count = @anim[:wait]
          end
        elsif @dir == :up
          if self.ox > 0
            self.ox -= @anim[:speed]
            self.ox = [self.ox,0].max
          end
          if self.ox == 0
            @dir = :down
            @count = @anim[:wait]
          end
        end
      end
    elsif @actor.state_icons.size <= @rect.width/24
      self.ox = 0 if self.ox != 0
    end
    @count -= 1 if @count > 0
  end
 
  def update_scrolling_vert
    if @actor.state_icons.size > @rect.height/24
      if @count <= 0
        if @dir == :down
          if self.oy < (@actor.state_icons.size - @rect.height/24) * 24
            self.oy += @anim[:speed]
            self.oy = [self.oy,(@actor.state_icons.size - @rect.height/24) * 24].min
          end
          if self.oy == (@actor.state_icons.size - @rect.height/24) * 24
            @dir = :up
            @count = @anim[:wait]
          end
        elsif @dir == :up
          if self.oy > 0
            self.oy -= @anim[:speed]
            self.oy = [self.oy,0].max
          end
          if self.oy == 0
            @dir = :down
            @count = @anim[:wait]
          end
        end
      end
    elsif @actor.state_icons.size <= @rect.height/24
      self.oy = 0 if self.oy != 0
    end
    @count -= 1 if @count > 0
  end
 
  def update_icons(force=false)
    if @icons != @actor.state_icons || force
      case @anim[:type]
      when :horz
        @w = @actor.state_icons.size*24 if @w != @actor.state_icons.size*24
        @w = 1 if @w == 0
      when :vert
        @h = @actor.state_icons.size*24 if @h != @actor.state_icons.size*24
        @h = 1 if @h == 0
      end
      draw_them_icons
      @icons = @actor.state_icons
    end
  end
 
  def update
    super
    update_icons
    case @anim[:type]
    when :horz
      update_scrolling_horz
    when :vert
      update_scrolling_vert
    end
  end
 
end
end
#==============================================================================
# !!END OF SCRIPT - OHH, NOES!!
#==================================================================
y me da este error al comenzar una partida...
error de script (HUD) 112



Alguna idea?
Klayer
Klayer
PJ Secundario
PJ Secundario

Masculino
España
RPG Maker : Ace
Mensajes : 127
Monedas : 283
Reputación : 11
Edad : 19
Localización : Chaosworld

Volver arriba Ir abajo

error de script (HUD) Empty Re: error de script (HUD)

Mensaje por Klayer el Lun Nov 11, 2019 10:47 pm

Al final lo he arreglado a mi manera de rubio irremediablemente sexy...(?)

Así que... doy este tema como resuelto.
Klayer
Klayer
PJ Secundario
PJ Secundario

Masculino
España
RPG Maker : Ace
Mensajes : 127
Monedas : 283
Reputación : 11
Edad : 19
Localización : Chaosworld

Volver arriba Ir abajo

error de script (HUD) Empty Re: error de script (HUD)

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Volver arriba


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