Vai al contenuto

Rilevato Ad-Blocker. Per favore disabilita il tuo adblocker quando navighi su makerando.com - Non c'è nessun annuncio invasivo.

  • Chatbox

    You don't have permission to chat.
    Load More
Dogghy

RGSS3 Font personalizzato - formattazione

Recommended Posts

Dunque, ho inserito la cartella "font" con il relativo .ttf all'interno del progetto.
Successivamente ho inserito queste due righe come script:
 

begin
$defaultfonttype = $fontface = $fontname = Font.default_name = "CustomFont"
$defaultfontsize = $fontsize = Font.default_size = 30
end

Effettivamente il font è cambiato, la grandezza la posso anche regolare ma..avviato il gioco le scritte vengono mozzate. Vi allego una foto.

PS - Ho provato ad aumentare/diminuire il size ma il risultato non cambia. Cos'altro dovrei modificare?

post-1184-0-18424000-1436308233.png

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

E' esattamente così come l'ho postato. L'alternativa sarebbe stata sostituire le righe all'interno di MAIN con queste;

#==============================================================================
# ** Main
#------------------------------------------------------------------------------
# This processing is executed after module and class definition is finished.
#==============================================================================

Font.default_name = ["Arial"] # Edit as you see fit.
Font.default_size = 22 # Edit as you see fit.

rgss_main { SceneManager.run }

Il risultato non cambia comunque. Il gioco tende a tagliare parte del testo!

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Guarda questa cosa che taglia parti del font lo sempre detestata, io ti consiglierei di utilizzare il Core Script di Nicke. In poche parole allarga un pò la finestra del gioco, puoi anche personalizzare il font, e non da neanche questi brutti errori che taglia bruscamente le lettere :)

 

Te lo metto qui nello Spoiler ;)

 

 

#==============================================================================

#   XaiL System - Core
#   Author: Nicke
#   Created: 07/01/2012
#   Edited: 08/10/2013
#   Version: 2.1f
#==============================================================================
# Instructions
# -----------------------------------------------------------------------------
# To install this script, open up your script editor and copy/paste this script
# to an open slot below ? Materials but above ? Main. Remember to save.
#
# Core script for XaiL System.
# Caution! This needs to be located before any other XS scripts.
#
# *** Only for RPG Maker VX Ace. ***
#==============================================================================
($imported ||= {})["XAIL-XS-CORE"] = true
 
module Colors
  #--------------------------------------------------------------------------#
  # * Colors
  #--------------------------------------------------------------------------#
  White = Color.new(255,255,255)
  LightRed = Color.new(255,150,150)
  LightGreen = Color.new(150,255,150)
  LightBlue = Color.new(150,150,255)
  DarkYellow = Color.new(225,225,20)
  Alpha = Color.new(0,0,0,128)
  AlphaMenu = 100
end
module XAIL
  module CORE
  #--------------------------------------------------------------------------#
  # * Settings
  #--------------------------------------------------------------------------#
  # Graphics.resize_screen(width, height ) 
  Graphics.resize_screen(1930,1080) 
  
  # FONT DEFAULTS:
  Font.default_name = ["VL Gothic"]
  Font.default_size = 20
  Font.default_bold = false
  Font.default_italic = false
  Font.default_shadow = true
  Font.default_outline = true
  Font.default_color = Colors::White
  Font.default_out_color = Colors::Alpha
  
  # USE_TONE = true/false:
  # Window tone for all windows ingame. Default: true.
  USE_TONE = false
  
  # SAVE
  SAVE_MAX = 20       # Default 16.
  SAVE_FILE_VIS = 4   # Default 4.
  
  # JAPANESE = true/false
  JAPANESE = false
  
  end
end
# *** Don't edit below unless you know what you are doing. ***
#==============================================================================#
# ** Game_System
#==============================================================================#
class Game_System
  
  # // Method to determine japanese game.
  def japanese? ; return XAIL::CORE::JAPANESE ; end
  
end
#==============================================================================#
# ** String
#==============================================================================#
class String
  
  def to_class(parent = Kernel)
    # // Method to convert string to class.
    chain = self.split "::"
    klass = parent.const_get chain.shift
    return chain.size < 1 ? (klass.is_a?(Class) ? klass : nil) : chain.join("::").to_class(klass)
    rescue
    nil
  end
  
  def cap_words
    # // Method to capitalize every word.
    self.split(' ').map {|w| w.capitalize }.join(' ')
  end
  
  def slice_char(char)
    # // Method to slice char.
    self.split(char).map {|w| w.sub(char, " ") }.join(" ")
  end
 
end
#==============================================================================#
# ** Vocab
#==============================================================================#
class << Vocab
  
  def xparam(id)
    # // Method to return xparam name.
    case id
    when 0 ; "Hit Chance"
    when 1 ; "Evasion"
    when 2 ; "Critical Chance"
    when 3 ; "Critical Evasion"
    when 4 ; "Magic Evasion"
    when 5 ; "Magic Reflection"
    when 6 ; "Counter Attack"
    when 7 ; "HP Regeneration"
    when 8 ; "MP Regeneration"
    when 9 ; "TP Regeneration"
    end
  end
  
end
#==============================================================================
# ** Sound
#==============================================================================
class << Sound
  
  def play(name, volume, pitch, type = :se)
    # // Method to play a sound. If specified name isn't valid throw an error.
    case type
    when :se   ; RPG::SE.new(name, volume, pitch).play rescue valid?(name)
    when :me   ; RPG::ME.new(name, volume, pitch).play rescue valid?(name)
    when :bgm  ; RPG::BGM.new(name, volume, pitch).play rescue valid?(name)
    when :bgs  ; RPG::BGS.new(name, volume, pitch).play rescue valid?(name)
    end
  end
  
  def valid?(name)
    # // Method to raise error if specified sound name is invalid.
    msgbox("Error. Unable to find sound file: " + name)
    exit 
  end
  
end
#==============================================================================
# ** DataManager
#==============================================================================
class << DataManager
 
  def savefile_max
    # // Method override, save file max.
    return XAIL::CORE::SAVE_MAX
  end
  
end
#==============================================================================
# ** SceneManager
#==============================================================================
class << SceneManager
  
  def call_ext(scene_class, args = nil)
    # // Method to call a scene with arguments.
    @stack.push(@scene)
    @scene = scene_class.new(args)
  end
  
end
#==============================================================================
# ** Scene_File
#==============================================================================
class Scene_File < Scene_MenuBase
  
  def visible_max
    # // Method override, visible_max for save files.
    return XAIL::CORE::SAVE_FILE_VIS
  end
  
end
#==============================================================================
# ** Window_Base
#------------------------------------------------------------------------------
# Importing font fix that will remove weird characters.
# Adding new methods such as new gauge, actor param, font text, icon drawing,
# big icon drawing and a line with a shadow.
#==============================================================================
class Window_Base < Window
  
  # // Importing Custom font fix. (Credit Lone Wolf).
  alias :process_normal_character_vxa :process_normal_character
  def process_normal_character(c, pos)
    return unless c >= ' '
    process_normal_character_vxa(c, pos)
  end unless method_defined? :process_normal_character
  
  def draw_text_ex_no_reset(x, y, text)
    # // Method to draw ex text without resetting the font.
    text = convert_escape_characters(text)
    pos = {:x => x, :y => y, :new_x => x, :height => calc_line_height(text)}
    process_character(text.slice!(0, 1), text, pos) until text.empty?
  end 
  
  alias xail_core_winbase_upt_tone update_tone
  def update_tone(*args, &block)
    # // Method to change tone of the window.
    return unless XAIL::CORE::USE_TONE
    xail_core_winbase_upt_tone(*args, &block)
  end
  
  def draw_gauge_ex(x, y, width, height, rate, color1, color2)
    # // Method to draw a gauge.
    fill_w = (width * rate).to_i
    gauge_y = y + line_height - 8
    contents.fill_rect(x, gauge_y, width + 1, height + 1, Color.new(255,255,255,64))
    contents.fill_rect(x, gauge_y, width, height, Color.new(0,0,0,100))
    contents.gradient_fill_rect(x, gauge_y, fill_w, height, color1, color2)
  end
  
  def draw_actor_param_gauge(actor, x, y, width, param_id, font, size, bar_color1, bar_color2, txt_color1, txt_color2)
    # // Method to draw actor parameters with a gauge.
    case param_id
    when 2 ; param_rate = actor.param(2) / actor.param_max(2).to_f
    when 3 ; param_rate = actor.param(3) / actor.param_max(3).to_f
    when 4 ; param_rate = actor.param(4) / actor.param_max(4).to_f
    when 5 ; param_rate = actor.param(5) / actor.param_max(5).to_f
    when 6 ; param_rate = actor.param(6) / actor.param_max(6).to_f
    when 7 ; param_rate = actor.param(7) / actor.param_max(7).to_f
    end
    contents.font.name = font
    contents.font.size = size
    contents.font.bold = true
    contents.font.shadow = false
    draw_gauge_ex(x, y - 14, width, 20, param_rate, bar_color1, bar_color2)
    contents.font.color = txt_color1
    draw_text(x + 10, y, 120, line_height, Vocab::param(param_id))
    contents.font.color = txt_color2
    draw_text(x + width - 38, y, 36, line_height, actor.param(param_id), 2)
    reset_font_settings
  end
  
  def draw_actor_xparam_gauge(actor, x, y, width, xparam_id, font, size, bar_color1, bar_color2, txt_color1, txt_color2)
    # // Method to draw actor xparameters with a gauge.
    case xparam_id
    when 0
      xparam_rate = actor.xparam(0) / 100.to_f
      xparam_name = Vocab.xparam(0)
    when 1
      xparam_rate = actor.xparam(1) / 100.to_f
      xparam_name = Vocab.xparam(1)
    when 2
      xparam_rate = actor.xparam(2) / 100.to_f
      xparam_name = Vocab.xparam(2)
    when 3
      xparam_rate = actor.xparam(3) / 100.to_f
      xparam_name = Vocab.xparam(3)
    when 4
      xparam_rate = actor.xparam(4) / 100.to_f
      xparam_name = Vocab.xparam(4)
    when 5
      xparam_rate = actor.xparam(5) / 100.to_f
      xparam_name = Vocab.xparam(5)
    when 6
      xparam_rate = actor.xparam(6) / 100.to_f
      xparam_name = Vocab.xparam(6)
    when 7
      xparam_rate = actor.xparam(7) / 100.to_f
      xparam_name = Vocab.xparam(7)
    when 8
      xparam_rate = actor.xparam(8) / 100.to_f
      xparam_name = Vocab.xparam(8)
    when 9
      xparam_rate = actor.xparam(9) / 100.to_f
      xparam_name = Vocab.xparam(9)
    end
    contents.font.name = font
    contents.font.size = size
    contents.font.bold = true
    contents.font.shadow = false
    draw_gauge_ex(x, y - 14, width, 20, xparam_rate, bar_color1, bar_color2)
    contents.font.color = txt_color1
    draw_text(x + 10, y, 120, line_height, xparam_name)
    contents.font.color = txt_color2
    draw_text(x + width - 38, y, 36, line_height, "#{actor.xparam(xparam_id)}%", 2)
    reset_font_settings 
  end
  
  def draw_line_ex(x, y, color, shadow)
    # // Method to draw a horizontal line with a shadow.
    line_y = y + line_height / 2 - 1
    contents.fill_rect(x, line_y, contents_width, 2, color)
    line_y += 1
    contents.fill_rect(x, line_y, contents_width, 2, shadow)
  end
  
  def draw_box(x, y, width, height, color, shadow)
    # // Method to draw a box with shadow.
    contents.fill_rect(x, y, width, height, color)
    x += 1
    y += 1
    contents.fill_rect(x, y, width, height, shadow)
  end
  
  def draw_vertical_line_ex(x, y, color, shadow)
    # // Method to draw a vertical line with a shadow.
    line_x = x + line_height / 2 - 1
    contents.fill_rect(line_x, y, 2, contents_height, color)
    line_x += 1
    contents.fill_rect(line_x, y, 2, contents_height, shadow)
  end
  
  def draw_icons(icons, alignment, x = 0, y = 0, offset_icon = [])
    # // Method to draw icons in a horizonal or vertical alignment.
    icons.each {|icon| 
      next if icon.nil?
      # // If included in offset do extra spacing.
      offset_icon.each {|offset|
        if icon == offset
          y += line_height * 1 if alignment == :vertical
          x += line_height * 1 if alignment == :horizontal
        end
      }
      draw_icon(icon.nil? ? nil : icon, x.nil? ? 0 : x, y.nil? ? 0 : y) rescue nil
      y += line_height if alignment == :vertical
      x += line_height if alignment == :horizontal
    }
  end
  
  def draw_big_icon(icon, x, y, width, height, opacity = 255)
    # // Method to draw a big icon.
    bitmap = Cache.system("Iconset")
    rect = Rect.new(icon % 16 * 24, icon / 16 * 24, 24, 24)
    rect2 = Rect.new(x, y, width, height)
    contents.stretch_blt(rect2, bitmap, rect, opacity)
  end
  
  def draw_font_text(text, x, y, width, alignment, font, size, color, bold = true, shadow = true)
    # // Method to draw font text.
    contents.font.name = font
    contents.font.size = size
    contents.font.color = color
    contents.font.bold = bold
    contents.font.shadow = shadow
    contents.font.out_color = Color.new(0,0,0,255)
    draw_text(x, y, width, calc_line_height(text), text, alignment)
    reset_font_settings
  end
  
  def draw_font_text_ex(text, x, y, font, size, color, bold = true, shadow = true)
    # // Method to draw font text ex.
    contents.font.name = font
    contents.font.size = size
    contents.font.color = color
    contents.font.bold = bold
    contents.font.shadow = shadow
    contents.font.out_color = Color.new(0,0,0,255)
    text = convert_escape_characters(text)
    pos = {:x => x, :y => y, :new_x => x, :height => calc_line_height(text)}
    process_character(text.slice!(0, 1), text, pos) until text.empty?
    reset_font_settings
  end
  
end
#==============================================================================#
# ** Window_Selectable
#------------------------------------------------------------------------------
#  Adding support for pageleft and pageright for window selectable.
#==============================================================================#
class Window_Selectable < Window_Base
  
  def cursor_pageright ; end
  def cursor_pageleft ; end
 
  alias xail_core_winselect_process_cursor_move process_cursor_move
  def process_cursor_move(*args, &block)
    # // Method to process cursor movement.
    xail_core_winselect_process_cursor_move(*args, &block)
    cursor_pageright if !handle?(:pageright) && Input.trigger?(:RIGHT)
    cursor_pageright if !handle?(:pageleft) && Input.trigger?(:LEFT)
  end
  
  alias xail_core_winselect_process_handling process_handling
  def process_handling(*args, &block)
    # // Method to process handling.
    xail_core_winselect_process_handling(*args, &block)
    return process_pageright if handle?(:pageright) && Input.trigger?(:RIGHT)
    return process_pageleft if handle?(:pageleft) && Input.trigger?(:LEFT)
  end
    
  def process_pageright
    # // Method to process page right.
    Sound.play_cursor
    Input.update
    deactivate
    call_handler(:pageright)
  end
  
  def process_pageleft
    # // Method to process page left.
    Sound.play_cursor
    Input.update
    deactivate
    call_handler(:pageleft)
  end
  
end
#==============================================================================#
# ** Window_Icon
#------------------------------------------------------------------------------
#  New Window :: Window_Icon - A window for drawing icon(s).
#==============================================================================#
class Window_Icon < Window_Base
  
  attr_accessor :enabled
  attr_accessor :alignment
  
  def initialize(x, y, window_width, hsize)
    # // Method to initialize the icon window.
    super(0, 0, window_width, window_height(hsize))
    @icons = []
    @index = 0
    @enabled = true
    @alignment = 0
    refresh
  end
  
  def window_height(hsize)
    # // Method to return the height.
    fitting_height(hsize)
  end
  
  def refresh
    # // Method to refresh the icon window.
    contents.clear
  end
  
  def draw_cmd_icons(icons, index)
    # // Draw all of the icons.
    return if !@enabled
    count = 0
    for i in icons
      align = 0
      x = 110
      next if i[index].nil?
      case @alignment
      when 1, 2 ; align = -110
      end
      draw_icon(i[index], x + align, 24 * count)
      count += 1
      break if (24 * count > height - 24)
    end
  end
  
end
#==============================================================================
# ** Game_Party
#------------------------------------------------------------------------------
# Adding check item method to return a item based on the type.
#==============================================================================
class Game_Party < Game_Unit
  
  def check_item?(item, type)
    # // Method to return a item based on the type.
    case type
    when :items    ; $data_items[item]
    when :weapons  ; $data_weapons[item]
    when :armors   ; $data_armors[item]
    when :gold     ; item
    when :exp      ; item
    end
  end
 
end 
#==============================================================================
# ** Game_Event
#------------------------------------------------------------------------------
# Adding methods to check for comments on events.
#==============================================================================
class Game_Event < Game_Character
  
  def comment?(comment)
    # // Method to check if comment is included in event.
    unless empty? or @list.nil?
      for evt in @list
        if evt.code == 108 or evt.code == 408
          if evt.parameters[0].include?(comment)
            return true
          end
        end
      end
    end
    return false
  end
  
  def comment_int?(comment)
    # // Method to check for a integer in event.
    unless empty? or @list.nil?
      for evt in @list
        if evt.code == 108 or evt.code == 408
          if evt.parameters[0] =~ /<#{comment}:[ ]?(\d*)>?/
            return ($1.to_i > 0 ? $1.to_i : 0)
          end
        end
      end
    end
  end
  
  def comment_string?(comment)
    # // Method to check for a string in event.
    unless empty? or @list.nil?
      for evt in @list
        if evt.code == 108 or evt.code == 408
          if evt.parameters[0] =~ /<#{comment}:[ ]?(\w*)>?/
            return $1.to_s
          end
        end
      end
    end
  end
 
 
end # END OF FILE
 
#=*==========================================================================*=#
# ** END OF FILE

#=*==========================================================================*=#

 

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Provato ed il risultato non cambia!

Aumenta effettivamente la risoluzione ma credo che il problema sia nelle finestre ingame.

Forse sono quelle che devono essere allargate?!

 

P.S. - Osservando meglio sembra quasi che il testo sia troppo a sinistra rispetto alla sua giusta posizione.

 

P.P.S. - RISOLTO CON LO SCRIPT TEXT CACHE

 

Grazie a tutti per l'aiuto ;)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Il thread è stato chiuso perchè risolto. Per riaprirlo, manda un messaggio privato a un membro dello Staff indicandone la motivazione. Grazie.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
Ospite
Questa discussione è chiusa.

  • Contenuti simili

    • Da MoonShadow
      Ciao a tutti, sto utilizzando questo abs Bullpup shooting engine, (si lo so è portoghese) funziona molto bene ma ho un problema: nello script è presente la funzione di allerta in prossimità di nemici e io vorrei disattivarla ma di default nn si può fare. La pagina di script è questa:
       
       
       
       
      in particolare questo è il comando che imposta la distanza di "allerta" dei nemici
      Default_Follow = 0 # Valor padrão para visão dos inimigos lo impostato a 0 ma rimane comunque attivo. Qualcuno può aiutarmi? Grazie in anticipo.
       
    • Da Deyan87
      Non capisco perchè mi da questo errore, mi sapete aiutare?

    • Da Deyan87
      Sto provando il BS Tankentai sapete se c'è un modo per far animare anche i mostri?
    • Da Brainmax
      Salve di nuovo
      ho riscontrato un problema con i light scripts di victor.
      quando provo ad andare sul sito per gli script, dropbox mi fa errore 404
      (il file e' stato temporaneamente rimosso)
      volevo domandare se qualcuno li aveva per gentimente offirmeli
      ringrazio in anticipo
    • Da gianchy
      Salve ragazzi avrei un problema con uno script.
      In pratica l'errore è questo:  Script 'Window_BattleStatus' line 52: TypeError occurred. no implicit conversion from nil to integer
      E si verifica quando uso l'evocazione durante il combattimento qualcuno sa come risolverlo?
       
      Gli script che attualmente ho installato sono:
      -Yami Engine Symphony
      -Victor Engine - Basic Module
      -8 Direzioni
      -Enemy HUD (By Pacman)
      -Battle Command List v1.09b
      -Skill Restrictions v1.03
      -Ace Menu Engine v1.07
      -Crystal Engine - Basic Module
      -Guardian Forces
      -GF Junction
      -GF Menu
      -GF Items
      -GF Summon
      -Hide Skill Types
       
      Mi affido alla vostra maggior conoscenza degli script
×