¡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.]

#1 Scrip para ver nombre de grupo el Dom Jul 12, 2015 1:45 am

Wigan

avatar
Plataforma: Rpg Maker vx Ace
Hola a todos! Vengo con una pequeña duda. En mi proyecto el usuario puede formar grupo con otros npc para ir a matar Bosses, el asunto es que quiero que aparezca el nombre del grupo en el que se encuentra el usuario en la ventana del menú principal justo al lado del nombre de mi personaje.
Esto no creo que implique demasiado trabajo, es por ello que me animé a meter mano en el asunto (porque la única manera es por medio de scripts) y decidí buscar en qué parte del editor de scripts aparece la creación del menú principal. Esto último para saber en qué parte comienza la elaboración del nombre del personaje para finalmente ver como ubicar el nombre del grupo por aquella ventana.

El asunto es que no encuentro en qué parte se elabora el menú principal, además hay demasiadas variables o métodos con la palabra "name" y por ende se me complica ver exactamente en qué clase se ubican los datos del menú principal.

Si alguien sabe le pido encarecidamente me pueda brindar donde se encuentran los datos de la ventana del menú principal (recuerden que mi finalidad es añadir el nombre del grupo al lado del nombre del personaje).

Algo que no aclaré es que el personaje puede concertar grupo con varios Npc, es decir puede salir de un grupo y unirse a otro pero no podrá tener dos grupos al mismo tiempo.

Pretendo poner el nombre de los grupos en diversas variables. Por ejemplo: var1 = "Grupo1", var2 = "Grupo2", var3 = "GrupoWigan", etc

No tengo experiencia programando en rgss3 (sé bien lo que es una clase, una variable un array, todo lo básico lo sé bien), pero creo que el script deberá quedar algo así

def NombreDelGrupo ( x, y, width)
draw_text(x, y, width, line_height, grupo.name)
end
no sé dónde debería incrustar ese código que además está bastante mal creo, pero eso es lo de menos.

Gracias

#2 Re: Scrip para ver nombre de grupo el Dom Jul 12, 2015 2:03 am

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

XSerozY

avatar
Hola!

En Ace la escena del menú es Scene_Menu y la ventana que muestra la info de los personajes es Window_MenuStatus.

Yo lo que haría sería un script que escriba un texto en el menú indicando el nombre del grupo, algo como esto (abajo, en al esquina izquierda):

(Imagen de mi juego)

Podría crearte algo similar, pero creo que necesitas especificar más como lo quieres.

Saludos!

PD: Tu script mal no está, pero yo pondría aquel 'draw_text' en una de las ventanas de Scene_Menu, y cambiaría el texto por medio de una llamada al script en Game_Interpreter algo como esto:

set_groupname("Grupo Wigan")

Igual hay muchas otras soluciones para tu problema, pero preferiría que dijeras como lo quieres antes de hacer algo..

#3 Re: Scrip para ver nombre de grupo el Dom Jul 12, 2015 2:41 am

Wigan

avatar
WTF com hiciste para hacer el scrip tan rápido, a mi me lleva horas desifrar qué quiere decir una sola linea de código. En fin, está genial como lo hiciste, mucho mejor de lo que yo me imaginaba. Te agradecería si me podés pasar ese scrip pliz y decirme en qué variables o array guardas los nombres de los grupos (puesto que en el juego tendré que citarlos para generar condiciones. Por ejemplo: Si Eric esta en el Grupo Wigan entonces dar poción o Si var 1 = Grupo Wigan entonces dar poción). De todos modos tengo pensado solo hacer un total de 4 grupos en mi proyecto así que creo que no será necesario implementar un array, pero vos sabés mucho más que yo, lo dejo a tu criterio. Ópalo Reputación Ópalo Reputación Ópalo Reputación Ópalo Reputación Ópalo Reputación Ópalo Reputación

#4 Re: Scrip para ver nombre de grupo el Dom Jul 12, 2015 3:34 am

XSerozY

avatar
Código:

#==============================================================================
# ** Grupos Wigan
#  Author : XSerozY
#  Credits: Xail Systems (Nicke) por metodos del script original
#------------------------------------------------------------------------------
#  Este script configura una escena de Introducción como la de Gerraria.
#
#   Changelog:
#     ~ 11-07-2015: Inicio y fin del script.
#
#   Condiciones de uso:
#     ~ Eres libre de alterar el script a tu gusto.
#     ~ Bugs/Problemas de compatibilidad/Sugerencias son bienvenidos.
#     ~ NO puedes borrar este encabezado.
#     ~ Da créditos a XSerozY y a los mencionados en 'Credits' en tu juego.
#
#   Instalación:
#     ~ Copia y pega el script abajo de "Materials" y arriba de "Main".
#
#   Requisitos:
#     ~ Ninguno.
#
#   Compatibilidad:
#     ~ Ningún problema conocido.
#
#   Uso:
#     ~ Configura el script en la Zona Configurable.
#     ~ Usa el Script Call: set_groupname(name)     para cambiar el nombre del
#       grupo. 'name' es el nombre del grupo.
#     ~ Suerte Wigan!
#
#==============================================================================

module XZY
  module MenuAddon
    
  
    
    # ---- ZONA CONFIGURABLE ----
    
    #Aquí configura el nombre del primer grupo, osea, con el que comienza
    # el juego.
    DEFAULT_GROUP = "Grupo Normal"
    
    #Te añado esto que tenia mi script de menu. Lo que hace cada linea es:
    # Mostrar nombre del grupo
    # Mostrar oro
    # Mostrar tiempo de juego
    #En ese orden. Pon un '#' a la izquierda de la linea de lo que no quieres
    #mostrar.
    def self.info #no toques esto
      [ #no toques esto
       $game_party.grupo_wigan,
      "#{$game_party.gold}",
      "#{$game_system.playtime_s}",
      ] #no toques esto
    end
    
    # Aqui configura los iconos a mostrar en la info, igual que en la imagen.
    # Separa los id de los iconos con coma:
    ICONS = [1,2,3]
    
    # FIN ZONA CONFIGURABLE

    
  end
end

class Game_Party < Game_Unit
  
  attr_accessor :grupo_wigan
  
  alias :xzy_grupowigan_gameparty_initialize :initialize
  def initialize
    xzy_grupowigan_gameparty_initialize()
    @grupo_wigan = XZY::MenuAddon::DEFAULT_GROUP
  end
  
end


class Window_MenuInfo < Window_Base
  
  def initialize
    super(0,0,160,line_height * 4)
    @playtime = $game_system.playtime_s
    refresh
  end
  
  def icon(icons)
    x = 2; y = line_height * 0 + 2; list = []
    icons.each {|icon|
      next if icon.nil?
      list.each {|offset|
        if icon == offset
          y += line_height * 1
        end
      }
      draw_icon(icon.nil? ? nil : icon, x.nil? ? 0 : x, y.nil? ? 0 : y) rescue nil
      y += line_height
    }
  end
  
  def refresh
    contents.clear
    y = -10
    XZY::MenuAddon::info.each_index {|i|
      t = XZY::MenuAddon::info[i]
      contents.font.name = "Times new roman"
      contents.font.size = 18
      contents.font.bold = true
      draw_text(30, line_height * i + 4, contents_width, calc_line_height(t), t)
      reset_font_settings
    }
    icon(XZY::MenuAddon::ICONS)
  end
  
  def update
    super
    @playtime = $game_system.playtime_s
    refresh
  end
  
end  

class Scene_Menu < Scene_MenuBase
  
  alias :xzy_grupowigan_scenemenu_start :start
  def start
    xzy_grupowigan_scenemenu_start()
    create_menu_info_window
  end
  
  def create_menu_info_window
    @w_info = Window_MenuInfo.new
    @w_info.x = 0
    @w_info.y = Graphics.height
    @w_info.height = 0
    for i in XZY::MenuAddon::info
      @w_info.y -= 35
      @w_info.height += 35
    end
    
  end
    
  def create_gold_window; ; end


  end    
  
  
class Game_Interpreter
  
  def set_groupname(name)
    $game_party.grupo_wigan = name
  end
  
end
  
  
  

Ahi tienes el script amigo, lo que hace es añadir el cuadrito de abajo que te mostré en la imagen. Este es configurable a tu gusto, claro. Un ejemplo de como se ve:



Los iconos puedes configurarlos en el script, también puedes eliminar el contador de tiempo jugado si lo deseas Ópalo Sonrisa Grande esta todo explicado en el script

Ah, y para cambiar el nombre del grupo, basta que uses el siguiente Script Call en un evento:

set_groupname(name)

donde name es el nombre del grupo.

Saludos! Opalo Hola

PD: Si los terminos de uso del encabezado te parecen estrictos, sorry, borre algunos, pero igual me parece estricto... es que es el que uso en todos los scripts Ópalo Sonrisa Grande tu sabes como son con los plagios en algunos lugares :Z



Última edición por XSerozY el Dom Jul 12, 2015 4:04 am, editado 1 vez

#5 Re: Scrip para ver nombre de grupo el Dom Jul 12, 2015 3:46 am

Reputación del mensaje :100% (1 voto)

XSerozY

avatar
kyonides-arkanthos escribió:El código parece funcional, pero qué vagabundería fue leer lo siguiente...

x = 2; y = line_height * 0 + 2; list = []

¿Tanto le costaba al scripter dejar la siguiente línea en su lugar en vez de utilizar punto y coma como separador? Eso realmente no es una buena práctica, lo que deba ir en otra línea, que vaya en esa otra línea. Eso es lo recomendable.

def create_gold_window; ; end

Eso tampoco debió pasar jamás. Si de veras quiere dejar el método en una línea a pesar de estar sin contenido, se debe hacer así:

def create_gold_window() end

Lo que pasa es que no es tan intuitivo en Ruby y RGSS porque los paréntesis no tienden a ser obligatorios.

Tomaré en cuenta eso la próxima vez. Lo que pasa es que a mí me resulta más fácil Ópalo Sonrisa Grande (la costumbre en C) sin duda no tomé en cuenta la forma típica de escribir en Ruby.

Saludos!

#6 Re: Scrip para ver nombre de grupo el Dom Jul 12, 2015 4:12 am

Wigan

avatar
@XSerozY escribió:
Código:

#==============================================================================
# ** Grupos Wigan
#  Author : XSerozY
#  Credits: Xail Systems (Nicke) por metodos del script original
#------------------------------------------------------------------------------
#  Este script configura una escena de Introducción como la de Gerraria.
#
#   Changelog:
#     ~ 11-07-2015: Inicio y fin del script.
#
#   Condiciones de uso:
#     ~ Eres libre de alterar el script a tu gusto.
#     ~ Bugs/Problemas de compatibilidad/Sugerencias son bienvenidos.
#     ~ NO puedes borrar este encabezado.
#     ~ Da créditos a XSerozY y a los mencionados en 'Credits' en tu juego.
#
#   Instalación:
#     ~ Copia y pega el script abajo de "Materials" y arriba de "Main".
#
#   Requisitos:
#     ~ Ninguno.
#
#   Compatibilidad:
#     ~ Ningún problema conocido.
#
#   Uso:
#     ~ Configura el script en la Zona Configurable.
#     ~ Usa el Script Call: set_groupname(name)     para cambiar el nombre del
#       grupo. 'name' es el nombre del grupo.
#     ~ Suerte Wigan!
#
#==============================================================================

module XZY
  module MenuAddon
    
  
    
    # ---- ZONA CONFIGURABLE ----
    
    #Aquí configura el nombre del primer grupo, osea, con el que comienza
    # el juego.
    DEFAULT_GROUP = "Grupo Normal"
    
    #Te añado esto que tenia mi script de menu. Lo que hace cada linea es:
    # Mostrar nombre del grupo
    # Mostrar oro
    # Mostrar tiempo de juego
    #En ese orden. Pon un '#' a la izquierda de la linea de lo que no quieres
    #mostrar.
    def self.info #no toques esto
      [ #no toques esto
       $game_party.grupo_wigan,
      "#{$game_party.gold}",
      "#{$game_system.playtime_s}",
      ] #no toques esto
    end
    
    # Aqui configura los iconos a mostrar en la info, igual que en la imagen.
    # Separa los id de los iconos con coma:
    ICONS = [1,2,3]
    
    # FIN ZONA CONFIGURABLE

    
  end
end

class Game_Party < Game_Unit
  
  attr_accessor :grupo_wigan
  
  alias :xzy_grupowigan_gameparty_initialize :initialize
  def initialize
    xzy_grupowigan_gameparty_initialize()
    @grupo_wigan = XZY::MenuAddon::DEFAULT_GROUP
  end
  
end


class Window_MenuInfo < Window_Base
  
  def initialize
    super(0,0,160,line_height * 4)
    @playtime = $game_system.playtime_s
    refresh
  end
  
  def icon(icons)
    x = 2; y = line_height * 0 + 2; list = []
    icons.each {|icon|
      next if icon.nil?
      list.each {|offset|
        if icon == offset
          y += line_height * 1
        end
      }
      draw_icon(icon.nil? ? nil : icon, x.nil? ? 0 : x, y.nil? ? 0 : y) rescue nil
      y += line_height
    }
  end
  
  def refresh
    contents.clear
    y = -10
    XZY::MenuAddon::info.each_index {|i|
      t = XZY::MenuAddon::info[i]
      contents.font.name = "Times new roman"
      contents.font.size = 18
      contents.font.bold = true
      draw_text(30, line_height * i + 4, contents_width, calc_line_height(t), t)
      reset_font_settings
    }
    icon(XZY::MenuAddon::ICONS)
  end
  
  def update
    super
    @playtime = $game_system.playtime_s
    refresh
  end
  
end  

class Scene_Menu < Scene_MenuBase
  
  alias :xzy_grupowigan_scenemenu_start :start
  def start
    xzy_grupowigan_scenemenu_start()
    create_menu_info_window
  end
  
  def create_menu_info_window
    @w_info = Window_MenuInfo.new
    @w_info.x = 0
    @w_info.y = Graphics.height
    @w_info.height = 0
    for i in XZY::MenuAddon::info
      @w_info.y -= 35
      @w_info.height += 35
    end
    
  end
    
  def create_gold_window; ; end


  end    
  
  
class Game_Interpreter
  
  def set_groupname(name)
    $game_party.grupo_wigan = name
  end
  
end
  
  
  

Ahi tienes el script amigo, lo que hace es añadir el cuadrito de abajo que te mostré en la imagen. Este es configurable a tu gusto, claro. Un ejemplo de como se ve:



Los iconos puedes configurarlos en el script, también puedes eliminar el contador de tiempo jugado si lo deseas Ópalo Sonrisa Grande esta todo explicado en el script

Ah, y para cambiar el nombre del grupo, basta que uses el siguiente Script Call en un evento:

set_groupname(name)

donde name es el nombre del grupo.

Saludos! Opalo Hola

PD: Si los terminos de uso del encabezado te parecen estrictos, sorry, borre algunos, pero igual me parece estricto... es que es el que uso en todos los scripts Ópalo Sonrisa Grande tu sabes como son con los plagios en algunos lugares :Z

No puedo creer el trabajo que te tomaste XSerozY, no esperaba que llegaras tan lejos je jey no puedo creer lo rápido que te slen hacer los scripts, sin lugar a duda estrás en los créditos de mi proyecto. Ópalo Reputación

#7 Re: Scrip para ver nombre de grupo el Dom Jul 12, 2015 4:41 am

Reputación del mensaje :100% (1 voto)

Tomate

avatar
Opalo Sorprendido
¡Madre Santa! ¡Qué buenos son en esto!

Vengo a felicitar a XSerozY y a Kyonides-Arkanthos por sus grandiosas intervenciones en materia de programación y códigos. No sé que decir, estoy asombrado de sus conocimientos. ¡¡Muchas felicidades!! Y también, muchísimas gracias por compartir con nosotros su conocimiento para ayudar a los demás.

Aquí tienen un punto de reputación para cada uno de ustedes: ¡Mentes Maestras!

Ópalo Reputación Ópalo Reputación

P/D: XSerozY ¡Qué menú tan bonito! *O* ¿Lo has hecho tú? ¿Es de tu proyecto! Tiene una pintaza Ópalo Guiño



#8 Re: Scrip para ver nombre de grupo el Dom Jul 12, 2015 6:48 pm

XSerozY

avatar
Me alegro que te haya servido Wigan Ópalo Contento

@Tomate escribió:¡Qué menú tan bonito! *O* ¿Lo has hecho tú?

Sip es mi juego proyecto Ópalo Sonrisa Grande fue uno de los primeros scripts que hice por mi cuenta jajaja está basado en XS - Menu Delux y en Yanfly Ace Menu Engine Ópalo Sonrisa Grande

#9 Re: Scrip para ver nombre de grupo el Lun Jul 13, 2015 12:26 am

Natalie

avatar
¡ Ópalo Reputación  y Ópalo Reputación para XSerozY y Kyonides! Se agradece el interés de ayudar a los demás Ópalo Contento

Pues si, es un menú bonito, sorprende tantas opciones!! Ópalo Lenguón

¡Saludos! Opalo Hola

Contenido patrocinado


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.