revisa el script a ver si el problemas es que el script usa una fuente de texto que tu no tienes instalada.
entra en el editor de script y busca algo como
$fontface = "Harrington"
cambia lo que esta entre comillas por alguna fuente que tengas instalada como arial o alguna que te guste, espero haberte ayudado
no se pordonde andara, pasamelo y busco a ver por donde anda la linea de comandos esa
Sino prueba con este, los creditos al script a su respectivo dueño.
Spoiler
Hola gente!!.. jeje
a ver scripts para q salgan las caras hay muxos, pero ste q he hexo yo facilita el uso. No hace falta poner en los mensajes codigo tipo "\face[direccion]" ya me entendeis ste script lee el nombre del propio texto escrito.Por ejemplo:
"Basil: Hola y dw" pues en ste caso saldria la cara de Basil ,no hace falta dar direcciones a cada mensaje. Hay mas consideraciones como: si Basil necesita mas de un mensaje para decir lo q tenga q decir no hace falta poner Basil: otra vez. Por ejemplo:
en un evento: -Mostrar mensaje:
"Basil: Hola bla bla bla......" =>sale la cara de basil
-Mostrar mensaje:
"bla bla bla bla ble bli blo y acabo de halbar" =>sale la cara de basil
-Mostrar mensaje:
"Esther: hola q tal....." =>sale la cara de Esther
pues asi va spero q se haya entendido...
Mas cosas, si el personaje q habla no tiene imagen(un pescador q dice dos frases, la chica de tal casa q dice "chica: que calor hace hoy") sale en el recuadro el texto"sin imagen".En caso de q no se quiera q salga ningun cuadro se escribe al principio de todo un caracter 'especial' q por defecto es "|"(se puede cambiar), esto ultimo sirve para narraciones por ejemplo o para evitar q salga el recuadro "sin imagen".Si se tocan las opciones de mensaje (posicion o lo de mostrar) no hay problema.
El criterio para q vaya bien es q siempre q hable un personaje nuevo se ponga nombre: si se quiere q salga el recuadro cn la imagen(creo q es el criterio mas común y intuitivo) si no se quiere recuadro se usa el caracter 'especial' del q ya he hablado.
Con respecto al tamaño de las imagenes el tamaño optimo es 136x136 pixels pero se puede usar cualquier otro tamaño.... cuanto mas diferente sea del recomendado peor calidad, de todas formas se puede evitar q estire o encoja las imagenes, si alguien lo quere q postee aqui y le dire lo q tiene q modificar.
En el propio script sta indicado q variables (son solo 2) hay q tocar para cambiar lo del tamaño y el caracter 'especial'.
Las caras tienen q star en "Graphics/pictures" y cada cara tiene q tener por nombre la del personaje q representa. PJ la cara de Basil, es decir, la imagen q es la cara de Basil se llama "Basil" este es el nombre de la imagen (con las mayusculas y minusculas q toca).
Buuuuuuuuf..... Creo q no me dejo nada... a si..
Para ponerlo debeis substituir Window_Message por este codigo:
CODE
#================================================= ===
# ¦ Window_Message
#------------------------------------------------------------------------------
class Window_Message < Window_Selectable
#--------------------------------------------------------------------------
def initialize (x=80,y=304,width=480,height=160)
super(x, y, width, height)
self.contents = Bitmap.new(width - 32, height - 32)
self.visible = false
self.z = 9998
@fade_in = false
@fade_out = false
@contents_showing = false
@cursor_width = 0
self.active = false
self.index = -1
@imagen = Game_Picture.new(1)
@viewport = Viewport.new(0,0,640,480)
@viewport.z = 200
@ventana_cara = Window_Base.new(0,304,160,160)
@ventana_cara.opacity = 0
@ventana_cara.contents = Bitmap.new(160-32,160-32)
@ventana_cara.back_opacity = 160
@carct_centinela = "|"#aqui se decide el caracter para q no se vea la ventana
#de imagenes
@tamaño_imagenes = 128# ste es el tamaño de TODAS vuestras imagenes
#(pixels)
end
#--------------------------------------------------------------------------
def dispose
terminate_message
$game_temp.message_window_showing = false
if @input_number_window != nil
@input_number_window.dispose
end
super
end
#--------------------------------------------------------------------------
def terminate_message
self.active = false
self.pause = false
self.index = -1
self.contents.clear
@contents_showing = false
if $game_temp.message_proc != nil
$game_temp.message_proc.call
end
$game_temp.message_text = nil
$game_temp.message_proc = nil
$game_temp.choice_start = 99
$game_temp.choice_max = 0
$game_temp.choice_cancel_type = 0
$game_temp.choice_proc = nil
$game_temp.num_input_start = 99
$game_temp.num_input_variable_id = 0
$game_temp.num_input_digits_max = 0
if @gold_window != nil
@gold_window.dispose
@gold_window = nil
end
end
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.font.color = normal_color
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
x = y = 0
@cursor_width = 0
if $game_temp.choice_start == 0
x = 8
end
if $game_temp.message_text != nil
text = $game_temp.message_text
begin
last_text = text.clone
text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
end until text == last_text
text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
$game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
end
text.gsub!(/\\\\/) { "\000" }
# "\\C" ? "\001" ??"\\G" ? "\002" ???
text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
text.gsub!(/\\[Gg]/) { "\002" }
@mtexto = ""
while ((c = text.slice!(/./m)) != nil)
if c == "\000"
c = "\\"
end
if c == "\001"
text.sub!(/\[([0-9]+)\]/, "")
color = $1.to_i
if color >= 0 and color <= 7
self.contents.font.color = text_color(color)
end
next
end
if c == "\002"
if @gold_window == nil
@gold_window = Window_Gold.new
@gold_window.x = 560 - @gold_window.width
if $game_temp.in_battle
@gold_window.y = 192
else
@gold_window.y = self.y >= 128 ? 32 : 384
end
@gold_window.opacity = self.opacity
@gold_window.back_opacity = self.back_opacity
end
next
end
if c == "\n"
if y >= $game_temp.choice_start
@cursor_width = [@cursor_width, x].max
end
y += 1
x = 0
if y >= $game_temp.choice_start
x = 8
end
next
end
if c != @carct_centinela
self.contents.draw_text(4 + x, 32 * y, 40, 32, c)
x += self.contents.text_size(c).width
end
@mtexto = @mtexto + c
end
end
if $game_temp.choice_max > 0
@item_max = $game_temp.choice_max
self.active = true
self.index = 0
end
if $game_temp.num_input_variable_id > 0
digits_max = $game_temp.num_input_digits_max
number = $game_variables[$game_temp.num_input_variable_id]
@input_number_window = Window_InputNumber.new(digits_max)
@input_number_window.number = number
@input_number_window.x = self.x + 8
@input_number_window.y = self.y + $game_temp.num_input_start * 32
end
cambiar_imagen
end
#--------------------------------------------------------------------------
def reset_window
if $game_temp.in_battle
self.y = 16
@ventana_cara.y = 16
else
case $game_system.message_position
when 0
self.y = 16
@ventana_cara.y = 16
when 1
self.y = 160
@ventana_cara.y = 160
when 2
self.y = 304
@ventana_cara.y = 304
end
end
if $game_system.message_frame == 0
self.opacity = 255
else
self.opacity = 0
end
self.back_opacity = 160
end
#--------------------------------------------------------------------------
def update
super
if @fade_in
self.contents_opacity += 24
visualizar_imagen
if @input_number_window != nil
@input_number_window.contents_opacity += 24
end
if self.contents_opacity == 255
@fade_in = false
end
return
end
if @input_number_window != nil
@input_number_window.update
if Input.trigger?(Input::C)
$game_system.se_play($data_system.decision_se)
$game_variables[$game_temp.num_input_variable_id] =
@input_number_window.number
$game_map.need_refresh = true
@input_number_window.dispose
@input_number_window = nil
terminate_message
end
return
end
if @contents_showing
if $game_temp.choice_max == 0
self.pause = true
end
if Input.trigger?(Input::B)
if $game_temp.choice_max > 0 and $game_temp.choice_cancel_type > 0
$game_system.se_play($data_system.cancel_se)
$game_temp.choice_proc.call($game_temp.choice_canc el_type - 1)
terminate_message
end
end
if Input.trigger?(Input::C)
if $game_temp.choice_max > 0
$game_system.se_play($data_system.decision_se)
$game_temp.choice_proc.call(self.index)
end
terminate_message
end
return
end
if @fade_out == false and $game_temp.message_text != nil
@contents_showing = true
$game_temp.message_window_showing = true
reset_window
refresh
Graphics.frame_reset
if self.opacity == 255 and !@narracion
ventana_cara(true)
elsif @narracion
ventana_cara(false,false)
else
ventana_cara(false,true)
end
self.visible = true
self.contents_opacity = 0
if @input_number_window != nil
@input_number_window.contents_opacity = 0
end
@fade_in = true
return
end
if self.visible
@fade_out = true
self.opacity -= 48
ocultar_ventana_cara
ocultar_imagen(true)
if self.opacity == 0
ocultar_imagen(false)
self.visible = false
@fade_out = false
$game_temp.message_window_showing = false
end
return
end
end
#--------------------------------------------------------------------------
def update_cursor_rect
if @index >= 0
n = $game_temp.choice_start + @index
self.cursor_rect.set(8, n * 32, @cursor_width, 32)
else
self.cursor_rect.empty
end
end
#--------------------------------------------------------------------
def decidir_imagen
i=0
@nom_imagen = ""
while @mtexto[i,1] != ":" and @mtexto[i,1] != nil and @mtexto[i,1] != @carct_centinela
@nom_imagen = @nom_imagen + @mtexto[i,1]
i = i + 1
end
self.x = 160
@narracion = false
if @mtexto[i,1] != ":" and @mtexto[i,1] != @carct_centinela
@cambio_imagen = false
elsif @mtexto[i,1] == @carct_centinela
self.x = 80
@cambio_imagen = true
@narracion = true
else
@cambio_imagen = true
end
end
#---------------------------------------------------------------------
def cambiar_imagen
decidir_imagen
if @cambio_imagen or (@ventana_cara.y+14) != @imagen.y
if @impresion_imagen != nil
@impresion_imagen.dispose
end
poner_cara
end
end
#-------------------------------------------------------------------
def poner_cara
begin
@ventana_cara.contents.clear
if @cambio_imagen
@imagen.show(@nom_imagen,0,14,@ventana_cara.y+14,1 32*100/@tamaño_imagenes,132*100/@tamaño_imagenes,0,0)
else
@imagen.move(1, 0, 14, @ventana_cara.y+14, 132*100/@tamaño_imagenes, 132*100/@tamaño_imagenes, 0,0)
@imagen.update
end
@hay_cara = true
@impresion_imagen = Sprite_Picture.new(@viewport,@imagen)
rescue
@hay_cara = false
@ventana_cara.contents.clear
@ventana_cara.contents.font.color = Color.new(255, 255, 255, 255)
@ventana_cara.contents.font.name = $fontface
@ventana_cara.contents.font.size = $fontsize
@ventana_cara.contents_opacity = 255
@ventana_cara.contents.draw_text((160-32)/2-16,(160-32)/2-32,32,32,"Sin")
@ventana_cara.contents.draw_text((160-32)/2-32,(160-32)/2,64,32,"Imagen")
end
end
#---------------------------------------------------------------------
def ventana_cara(ver,contenido = true)
if ver
@ventana_cara.visible = true
@ventana_cara.opacity = 255
@ventana_cara.back_opacity = 160
elsif contenido
@ventana_cara.opacity = 0
@ventana_cara.contents_opacity = 255
else
@ventana_cara.visible = false
@ventana_cara.contents.clear
end
end
#---------------------------------------------------------------------
def visualizar_imagen
if @hay_cara
if @impresion_imagen.opacity != 255
@impresion_imagen.opacity += 24
end
end
end
#-----------------------------------------------------------
def ocultar_imagen(lento)
if @hay_cara
if lento
@impresion_imagen.opacity -= 48
else
@impresion_imagen.opacity = 0
end
end
end
#--------------------------------------------------------------
def ocultar_ventana_cara
if @ventana_cara.opacity != 0
@ventana_cara.opacity -= 48
@ventana_cara.contents_opacity -= 48
end
end
#-------------------------------------------------------------
end
a ver me he empanao pq es el primer code q pongo y hay saltos de linea en sitios q no tiene q haverlos en def decidir_imagen en la condicion del while @carct_centinelo va arriba despues de != , en def poner_cara todo lo q sta entre parentesi va despues de imagen.show y imagen.move sin hacer saltos de linea, por ultimo en def update @input_number_window.number va despues del = de arriba , sin salto de linea... puede q me deje alguno si da error posteeadlo aqui q le doy solucion.
Bueno spero q ste script le sirva a alguien sino almenos el metodo ste de eleccion de imagenes se puede añadir a algun otro script de ventanas de mensajes.
Bueno ya me e cansao de escribir enga
dwwwwwwwwwwwww
Si el problema de que no ves los textos no es del script de AMS. es posible que tengas que ir al Main y sustituirlo por este
Spoiler
#================================================= =============================
# ■ Main
#------------------------------------------------------------------------------
# Despues de la definicion de cada clase...El proceso real empieza aqui
#================================================= =============================
begin
# Fuente que usará el juego
$fontface = "Arial"
$fontsize = 25
# Preparar transicion
Graphics.freeze
# Crear objeto de escena (Pantalla de Titulo)
$scene = Scene_Title.new
# Limitacion efectiva de $scene. Llamar metodo principal
while $scene != nil
$scene.main
end
# Fundido
Graphics.transition(20)
rescue Errno::ENOENT
# Complementar la exepcion con Errno::ENOENT
# Cuando no se puede abrir un archivo, mostrar un mensaje y cerrar.
filename = $!.message.sub("No se encontó el archivo o directorio - ", "")
print("Error RGSS: #{filename}")
end
Si hay algun Script que ponga FONT encima de el de main lo borras. en teoria tendria que funcionar.
es que hay 2 cosas. La version 1 del RPG maker XP incluia el tipo de letra en el main, y en la version 2 vienen separados
Fonts
Main
Version 1
Version 2
Espero que te sirva de ayuda.
PD: si sustituyes el main no se te olvide ponerle de nombre MAIN y dejaro al final de la lista de scripts
Última edición por dony1990 fecha: 23-jun-2009 a las 11:35.
gracias
si me vuelve a pasar voy a hacer eso
pero pase todo el proyecto que tenia a uno nuevo
y ya funciono
raro
a lo mejor el problema era que puse una caja de texto nueva
o quien sabe
pero muchas gracias por la yuda
en especial a ti donny1990