¡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
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
Últimos temas
» Hola mucho gusto
por Hk Diamond Hoy a las 13:49

» [AYUDA]Hootshot de moghunter
por Rudy_kinneas Hoy a las 12:03

» Holaaa a tod@s!!!
por nacho Hoy a las 09:47

» SoraDeathss se presenta!
por chronoMxx Hoy a las 07:50

» {AYUDA}Blizz-ABS Script
por chronoMxx Hoy a las 06:45

» las cosas como son...
por Bleuw Hoy a las 04:18

» Busco artistas graficos para proyecto serio
por Rudy_kinneas Ayer a las 20:52

» Duda con música en RPG MV
por Fleabass Ayer a las 20:25

» Recopilación de páginas con recursos RPG Maker
por RiKennedy-Maker Ayer a las 20:00

» [DUDA] Titulo de RPGM XP con varias imagenes
por Wecoc Ayer a las 08:38

Afiliados
Estadísticas
Tenemos 3381 miembros registrados.
El último usuario registrado es Hk Diamond.

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

[RMXP] Comprobar la cantidad de items poseídos

 :: RPG Maker :: Scripts

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker XP [RMXP] Comprobar la cantidad de items poseídos

Mensaje por silvanash el 2013-02-16, 22:02

No estoy muy seguro de dónde colocar esto, pero creo que lo dejaré aquí porque viene con un script.

==========================================================================

Muchos de vosotros habréis necesitado comprobar en algún momento si el personaje tenía determinado objeto para superar determinada zona del juego, como una llave o una carta. Ahora bien, el Maker, por defecto, sólo permite comprobar si posees ese objeto en cuestión, no la cantidad de ellos que tengas. Imaginemos que el jugador debe conseguir reunir 5 piedras para desbloquear una sala secreta. ¿Cómo lo haríamos?

Opción 1: comprobarlo desde el punto de origen:
Muchos makeros acabarán haciendo algo de este estilo. Dado que las 5 piedras son imprescindibles, lo lógico es que sólo puedan conseguirse en 5 sitios. Lo único que habría que hacer sería comprobar si ha conseguido las piedras de esos cinco sitios, sea con una variable que suma +1 cada vez que consigue la piedra de un lugar o mediante cinco interruptores. Sin embargo, este método no resulta útil en el caso de que sea posible obtener ese objeto en más sitios, o más de una vez en el mismo lugar. Imaginemos que hay cinco canteras en el mapa, y que el jugador puede sacar todas las piedras que quiera de cada cantera. El método de los interruptores quedaría inutilizado, porque el jugador podría optar por sacar las cinco piedras del mismo sitio, activando un sólo interruptor. La opción de la variable sería viable, dado que se sumaría +1 en todas las canteras. Sin embargo, esto sigue obligando al jugador a hacer 5 eventos, y copiarlos en las cinco canteras del juego.

Opción 2: comprobarlo en el punto final:
Este método lo desarrollé mientras hacía una misión así en TCS (no, el engine no tiene copyright... todavía). El jugador debía encontrar 5 hojas de helecho en un bosque, en el que había 6 helechos y cada uno daba una sola hoja. Al terminar, debía hablar con una persona para entregarle las hojas. El engine es básicamente un ciclo que comprueba si el personaje tiene la hoja de helecho. En caso de tenerla, suma +1 a una variable y quita 1 hoja al jugador. Después, comprueba si esa variable llega a 5, que sería lo mismo que haber entregado las cinco hojas. En caso de ser así, rompe el ciclo y sigue con el evento. En la excepción, se devolvían al jugador tantas hojas como indicara esa variable y fin del asunto. Este método es más eficaz (requiere un solo engine frente a los cinco del método 1), pero requiere de más habilidad con el Maker.

Opción 3: el script:
Y llegamos al punto final de esto. ¿Por qué romperse la cabeza haciendo engines pudiendo hacer un simple script? Un script que permite comprobar la cantidad de items, armas y armaduras con total y absoluta comodidad.

Código:
class Game_Party
 
  def check_item?(id, amount)
    if item_number(id) >= amount
      return true
    end
  return false
  end

  def check_weapon?(id, amount)
    if weapon_number(id) >= amount
      return true
    end
  return false
  end

  def check_armor?(id, amount)
    if armor_number(id) >= amount
      return true
    end
  return false
  end

end

Imaginemos que la piedra en cuestión tiene la ID 1. Para usar ese script, habría que usar un comando de condiciones y efectos, script "$game_party.check_item?(1, 5)". Es decir, comprobar si tiene 5 copias del objeto con la ID 1. Fácil y sencillo, ¿verdad?

Nota: no, no pido créditos por el script ni por los engines xD. Los engines son muy simples, y el script es un edit cutre del RTP.

silvanash
Aventurero
Aventurero

0/3

Créditos 1417

Gracias : 176

Volver arriba Ir abajo

RPG Maker XP Re: [RMXP] Comprobar la cantidad de items poseídos

Mensaje por Wecoc el 2013-12-06, 21:59

No había visto ésto, pero ya que has revivido el tema en otro topic voy a comentar que mucho no ganas con eso (es cambiar una línea por otra), y más teniendo en cuenta que en realidad ese script puedes simplificarlo más.

Código:
class Game_Party
  def check_item?(id, amount)
    return item_number(id) >= amount
  end
  def check_weapon?(id, amount)
    return weapon_number(id) >= amount
  end
  def check_armor?(id, amount)
    return armor_number(id) >= amount
  end
end
Y a mi me parece más intuitivo usar
if $game_party.armor_number(2) >= 5
que usar
if $game_party.check_armor?(2, 5)

(se ve mejor qué es id y qué cantidad, a parte de permitirte más opciones: >, <=, <, !=, ==)

Pero bueno como práctica de engine es interesante, y para los RPG maker sin scripts seguramente sean de utilidad las dos primeras opciones, jejeje-ejem ni idea xD.

Wecoc
Administrador
Administrador



Créditos 8263

Gracias : 372

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 :: RPG Maker :: Scripts

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