¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.
Conectarse

Recuperar mi contraseña

Temas importantes
----------------------------------------
Páginas con recursos RPG Maker
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
Afiliados
Estadísticas
Tenemos 3396 miembros registrados.
El último usuario registrado es Discorded.

Nuestros miembros han publicado un total de 79807 mensajes en 11256 argumentos.
Navega con Google Chrome
[DESCARGA]

¿Como eliminar los niveles en el maker?

 :: RPG Maker :: Ayuda RPG

Ver el tema anterior Ver el tema siguiente Ir abajo

¿Como eliminar los niveles en el maker?

Mensaje por joseanjim el 2015-09-23, 10:36

Pues eso, quiero que no existan niveles. ¿Se puede hacer?

joseanjim
Iniciado
Iniciado

0/3

Créditos 16

Gracias : 2

Volver arriba Ir abajo

Re: ¿Como eliminar los niveles en el maker?

Mensaje por BlazeCrimson el 2015-09-23, 10:57

Supongo que no sería mucho problema, aunque la pregunta puede ser un poco ambigua.

Por un lado deberías hacer algunas modificaciones visuales del menú y tal si no quieres que se vea el "Lvl1". Probablemente lo más complicado si no sabes un poco de scripting.

Por otro lado también estaría la parte jugable, que presentaría dos casos:

1) Juego con combates: En estos podrías hacer que para "Crecer" los personajes sin niveles, hubieran equipos mejores u objetos que suban estadísticas.
Si eliminas los niveles, ten en cuenta que has de ser muy preciso a la hora de repartir en la base de datos los atributos de personajes o enemigos, pues en caso contrario más de uno se puede encontrar sin salida y acabe abandonado el juego.

2) Juegos sin combates o con combates poco convencionales: En este caso ya varía mucho la cosa.

Espero que te sirva de algo.
Saludos gcool


Última edición por BlazeCrimson el 2015-09-23, 14:52, editado 1 vez

_________________
Image and video hosting by TinyPic

BlazeCrimson
Analista
Analista

0/3

Créditos 609

Gracias : 92

Volver arriba Ir abajo

Re: ¿Como eliminar los niveles en el maker?

Mensaje por joseanjim el 2015-09-23, 14:31

Sí exacto lo que yo quiero es basar el juego en las stats y skills, q son entrenables (y el equipo). Y efectivamente con poner level maximo 1 ya lo tengo hecho pero queda mal el que en el menu ponga siempre level 1. Alguien q sepa tocar los scripts me podría ayudar? Yo lo he intentado pero me da errores.

joseanjim
Iniciado
Iniciado

0/3

Créditos 16

Gracias : 2

Volver arriba Ir abajo

Re: ¿Como eliminar los niveles en el maker?

Mensaje por akito_squall el 2015-09-23, 14:57

Es muy fácil..
Reemplaza tu script llamado "Window_Base" por este:
Código:
#==============================================================================
# ** Window_Base sin level - Akito_Squall modificación
#------------------------------------------------------------------------------
#  This class is for all in-game windows.
#==============================================================================

class Window_Base < Window
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     x      : window x-coordinate
  #     y      : window y-coordinate
  #     width  : window width
  #     height : window height
  #--------------------------------------------------------------------------
  def initialize(x, y, width, height)
    super()
    @windowskin_name = $game_system.windowskin_name
    self.windowskin = RPG::Cache.windowskin(@windowskin_name)
    self.x = x
    self.y = y
    self.width = width
    self.height = height
    self.z = 100
  end
  #--------------------------------------------------------------------------
  # * Dispose
  #--------------------------------------------------------------------------
  def dispose
    # Dispose if window contents bit map is set
    if self.contents != nil
      self.contents.dispose
    end
    super
  end
  #--------------------------------------------------------------------------
  # * Get Text Color
  #     n : text color number (0-7)
  #--------------------------------------------------------------------------
  def text_color(n)
    case n
    when 0
      return Color.new(255, 255, 255, 255)
    when 1
      return Color.new(128, 128, 255, 255)
    when 2
      return Color.new(255, 128, 128, 255)
    when 3
      return Color.new(128, 255, 128, 255)
    when 4
      return Color.new(128, 255, 255, 255)
    when 5
      return Color.new(255, 128, 255, 255)
    when 6
      return Color.new(255, 255, 128, 255)
    when 7
      return Color.new(192, 192, 192, 255)
    else
      normal_color
    end
  end
  #--------------------------------------------------------------------------
  # * Get Normal Text Color
  #--------------------------------------------------------------------------
  def normal_color
    return Color.new(255, 255, 255, 255)
  end
  #--------------------------------------------------------------------------
  # * Get Disabled Text Color
  #--------------------------------------------------------------------------
  def disabled_color
    return Color.new(255, 255, 255, 128)
  end
  #--------------------------------------------------------------------------
  # * Get System Text Color
  #--------------------------------------------------------------------------
  def system_color
    return Color.new(192, 224, 255, 255)
  end
  #--------------------------------------------------------------------------
  # * Get Crisis Text Color
  #--------------------------------------------------------------------------
  def crisis_color
    return Color.new(255, 255, 64, 255)
  end
  #--------------------------------------------------------------------------
  # * Get Knockout Text Color
  #--------------------------------------------------------------------------
  def knockout_color
    return Color.new(255, 64, 0)
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    # Reset if windowskin was changed
    if $game_system.windowskin_name != @windowskin_name
      @windowskin_name = $game_system.windowskin_name
      self.windowskin = RPG::Cache.windowskin(@windowskin_name)
    end
  end
  #--------------------------------------------------------------------------
  # * Draw Graphic
  #     actor : actor
  #     x     : draw spot x-coordinate
  #     y     : draw spot y-coordinate
  #--------------------------------------------------------------------------
  def draw_actor_graphic(actor, x, y)
    bitmap = RPG::Cache.character(actor.character_name, actor.character_hue)
    cw = bitmap.width / 4
    ch = bitmap.height / 4
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
  end
  #--------------------------------------------------------------------------
  # * Draw Name
  #     actor : actor
  #     x     : draw spot x-coordinate
  #     y     : draw spot y-coordinate
  #--------------------------------------------------------------------------
  def draw_actor_name(actor, x, y)
    self.contents.font.color = normal_color
    self.contents.draw_text(x, y, 120, 32, actor.name)
  end
  #--------------------------------------------------------------------------
  # * Draw Class
  #     actor : actor
  #     x     : draw spot x-coordinate
  #     y     : draw spot y-coordinate
  #--------------------------------------------------------------------------
  def draw_actor_class(actor, x, y)
    self.contents.font.color = normal_color
    self.contents.draw_text(x, y, 236, 32, actor.class_name)
  end
  #--------------------------------------------------------------------------
  # * Draw Level
  #     actor : actor
  #     x     : draw spot x-coordinate
  #     y     : draw spot y-coordinate
  #--------------------------------------------------------------------------
  def draw_actor_level(actor, x, y)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 32, 32, "")
    self.contents.font.color = normal_color
  end
  #--------------------------------------------------------------------------
  # * Make State Text String for Drawing
  #     actor       : actor
  #     width       : draw spot width
  #     need_normal : Whether or not [normal] is needed (true / false)
  #--------------------------------------------------------------------------
  def make_battler_state_text(battler, width, need_normal)
    # Get width of brackets
    brackets_width = self.contents.text_size("[]").width
    # Make text string for state names
    text = ""
    for i in battler.states
      if $data_states[i].rating >= 1
        if text == ""
          text = $data_states[i].name
        else
          new_text = text + "/" + $data_states[i].name
          text_width = self.contents.text_size(new_text).width
          if text_width > width - brackets_width
            break
          end
          text = new_text
        end
      end
    end
    # If text string for state names is empty, make it [normal]
    if text == ""
      if need_normal
        text = "[Normal]"
      end
    else
      # Attach brackets
      text = "[" + text + "]"
    end
    # Return completed text string
    return text
  end
  #--------------------------------------------------------------------------
  # * Draw State
  #     actor : actor
  #     x     : draw spot x-coordinate
  #     y     : draw spot y-coordinate
  #     width : draw spot width
  #--------------------------------------------------------------------------
  def draw_actor_state(actor, x, y, width = 120)
    text = make_battler_state_text(actor, width, true)
    self.contents.font.color = actor.hp == 0 ? knockout_color : normal_color
    self.contents.draw_text(x, y, width, 32, text)
  end
  #--------------------------------------------------------------------------
  # * Draw EXP
  #     actor : actor
  #     x     : draw spot x-coordinate
  #     y     : draw spot y-coordinate
  #--------------------------------------------------------------------------
  def draw_actor_exp(actor, x, y)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 24, 32, "E")
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 24, y, 84, 32, actor.exp_s, 2)
    self.contents.draw_text(x + 108, y, 12, 32, "/", 1)
    self.contents.draw_text(x + 120, y, 84, 32, actor.next_exp_s)
  end
  #--------------------------------------------------------------------------
  # * Draw HP
  #     actor : actor
  #     x     : draw spot x-coordinate
  #     y     : draw spot y-coordinate
  #     width : draw spot width
  #--------------------------------------------------------------------------
  def draw_actor_hp(actor, x, y, width = 144)
    # Draw "HP" text string
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 32, 32, $data_system.words.hp)
    # Calculate if there is draw space for MaxHP
    if width - 32 >= 108
      hp_x = x + width - 108
      flag = true
    elsif width - 32 >= 48
      hp_x = x + width - 48
      flag = false
    end
    # Draw HP
    self.contents.font.color = actor.hp == 0 ? knockout_color :
      actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
    self.contents.draw_text(hp_x, y, 48, 32, actor.hp.to_s, 2)
    # Draw MaxHP
    if flag
      self.contents.font.color = normal_color
      self.contents.draw_text(hp_x + 48, y, 12, 32, "/", 1)
      self.contents.draw_text(hp_x + 60, y, 48, 32, actor.maxhp.to_s)
    end
  end
  #--------------------------------------------------------------------------
  # * Draw SP
  #     actor : actor
  #     x     : draw spot x-coordinate
  #     y     : draw spot y-coordinate
  #     width : draw spot width
  #--------------------------------------------------------------------------
  def draw_actor_sp(actor, x, y, width = 144)
    # Draw "SP" text string
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 32, 32, $data_system.words.sp)
    # Calculate if there is draw space for MaxHP
    if width - 32 >= 108
      sp_x = x + width - 108
      flag = true
    elsif width - 32 >= 48
      sp_x = x + width - 48
      flag = false
    end
    # Draw SP
    self.contents.font.color = actor.sp == 0 ? knockout_color :
      actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
    self.contents.draw_text(sp_x, y, 48, 32, actor.sp.to_s, 2)
    # Draw MaxSP
    if flag
      self.contents.font.color = normal_color
      self.contents.draw_text(sp_x + 48, y, 12, 32, "/", 1)
      self.contents.draw_text(sp_x + 60, y, 48, 32, actor.maxsp.to_s)
    end
  end
  #--------------------------------------------------------------------------
  # * Draw Parameter
  #     actor : actor
  #     x     : draw spot x-coordinate
  #     y     : draw spot y-coordinate
  #     type  : parameter type (0-6)
  #--------------------------------------------------------------------------
  def draw_actor_parameter(actor, x, y, type)
    case type
    when 0
      parameter_name = $data_system.words.atk
      parameter_value = actor.atk
    when 1
      parameter_name = $data_system.words.pdef
      parameter_value = actor.pdef
    when 2
      parameter_name = $data_system.words.mdef
      parameter_value = actor.mdef
    when 3
      parameter_name = $data_system.words.str
      parameter_value = actor.str
    when 4
      parameter_name = $data_system.words.dex
      parameter_value = actor.dex
    when 5
      parameter_name = $data_system.words.agi
      parameter_value = actor.agi
    when 6
      parameter_name = $data_system.words.int
      parameter_value = actor.int
    end
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 120, 32, parameter_name)
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 120, y, 36, 32, parameter_value.to_s, 2)
  end
  #--------------------------------------------------------------------------
  # * Draw Item Name
  #     item : item
  #     x    : draw spot x-coordinate
  #     y    : draw spot y-coordinate
  #--------------------------------------------------------------------------
  def draw_item_name(item, x, y)
    if item == nil
      return
    end
    bitmap = RPG::Cache.icon(item.icon_name)
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 28, y, 212, 32, item.name)
  end
end
Espero que te sirva
(A mi aveces el foro no me deja copiar scripts, si así fuese tu caso, descargalo de acá que lo acabo de subir mediafire.com/view/2nz5vkf63j52lqq/Window_base_modificada_-_akito_squall.txt)

akito_squall
Novato
Novato

0/3

Créditos 101

Gracias : 10

Volver arriba Ir abajo

Re: ¿Como eliminar los niveles en el maker?

Mensaje por Sakarisei el 2015-09-23, 19:55

Yo personalmente no recomiendo tirar los niveles, excepto si tu juego es uno al estilo de la casa de la bruja o cualquier otro juego cuyo objetivo es interactuar con el entorno que hay sin necesidad de luchar. Vamos, el típico juego de actuar y pensar. En ese caso, la respuesta del compañero akito_squall es la mejor opción para hacer eso.

No obstante, en el caso de que quieras un juego con combates, ¿Cómo harías el que los personajes crecieran? Date cuenta que cuanto más luche un personaje, mejor desarrollará sus habilidades. No necesariamente tiene que ser un gran héroe, y eso lo entiendo, pero aun así, si yo estuviera 3 o 4 meses luchando constantemente (para darte un ejemplo), habría de un punto en el cual, mis reflejos serían superiores, mi puntería, también sería superior.

Mi post no es sinónimo de imponer tu idea para tu proyecto, sino más bien una pregunta de que es lo que harías si no pusieras nivel a tu juego.

Saludos.

Sakarisei
Novato
Novato

0/3

Créditos 65

Gracias : 2

Volver arriba Ir abajo

Re: ¿Como eliminar los niveles en el maker?

Mensaje por akito_squall el 2015-09-23, 20:15

Por cierto, el script modificado que puse es para XP, no sé por que supuse que usabas ese, creo que es por que es lo primero que se me vino a la mente al que no aclararas cual usas xD.
Si es para XP va a funcionar, caso contrario lo dudo mucho..
Saludos

akito_squall
Novato
Novato

0/3

Créditos 101

Gracias : 10

Volver arriba Ir abajo

Re: ¿Como eliminar los niveles en el maker?

Mensaje por joseanjim el 2015-09-23, 23:09

Gracias por el intento Akito_Squall, pero yo uso el VX Ace =(
En cuanto a lo que plantea Sakarisei sobre la viabilidad de un juego sin niveles... El mundo de los RPG está lleno de ejemplos en los que el progreso se hace aumentando directamente las stats y las skills sin usar niveles. A este tipo de juego se les llama 'skill based'. Y personalmente me gusta más que lo típico de subir niveles. Aunque es verdad que los niveles acompañan al rol desde q apareció el primer juego de rol el Dungeons&Dragons. Per no es la única alternativa.

joseanjim
Iniciado
Iniciado

0/3

Créditos 16

Gracias : 2

Volver arriba Ir abajo

Re: ¿Como eliminar los niveles en el maker?

Mensaje por ICF-Soft el 2015-09-23, 23:15

Aquí lo tienes para VX Ace:
En Window_Base localizas y sustituyes íntegramente la función def draw_actor_simple_status por esta:
Código:
  def draw_actor_simple_status(actor, x, y)
    draw_actor_name(actor, x, y)
    draw_actor_icons(actor, x, y + line_height * 2)
    draw_actor_class(actor, x + 120, y)
    draw_actor_hp(actor, x, y + line_height * 1, 244)
    draw_actor_mp(actor, x, y + line_height * 2, 244)
  end

Y en Window_Status:
Sustituyes def draw_block2 y def draw_basic_info por
Código:
  def draw_block2(y)
    draw_actor_face(@actor, 8, y)
    draw_basic_info(136, y)
  end

Código:
  def draw_basic_info(x, y)
    draw_actor_icons(@actor, x, y + line_height * 1)
    draw_actor_hp(@actor, x, y + line_height * 2, 244)
    draw_actor_mp(@actor, x, y + line_height * 3, 244)
  end

Con esto eliminas los niveles y rellenas un poco el hueco que deja la exp.

Espero que te sirva.

ICF-Soft
Novato
Novato

0/3

Créditos 110

Gracias : 24

http://icfsoft.blogspot.com.es/

Volver arriba Ir abajo

Re: ¿Como eliminar los niveles en el maker?

Mensaje por Contenido patrocinado Hoy a las 05:01


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 :: RPG Maker :: Ayuda RPG

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