Mundo Maker
¡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 3763 miembros registrados.
El último usuario registrado es Carlos Rodriguez.

Nuestros miembros han publicado un total de 85780 mensajes en 12216 argumentos.

Atajos de script

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker XP Atajos de script

Mensaje por silvanash el 2016-10-25, 15:05

Y aquí un cutri-aporte que no va a servir de mucho al resto del mundo (feel like Wecoc).

Mientras hacía MonsterSimulator tuve que escribir mucho código, así que apañé algunos atajos de script para poder hacer lo mismo más rápido.

Código:
class Array
  
  def push_once(item)
    self.push(item) unless self.include?(item)
  end
  
  def rand_value
    return self[rand(self.size)]
  end
  
end

Eso añade "push_once(item)" y "rand_value" a los arrays.

a.push_once(item) es lo mismo que a.push(item) if not a.include?(item).

a.rand_value es lo mismo que a[rand(a.size)].

Código:
class Window_Selectable < Window_Base

  def switch(mode = :on)
    if mode == :on
      self.visible = true
      self.active = true
    else
      self.visible = false
      self.active = false
    end
  end

end

Eso añade "switch(:on)" y "switch(:off)" a todas las ventanas que hereden de Window_Selectable.

a.switch(:on) es lo mismo que a.active = true y a.visible = true juntos. a.switch(:off) hace lo contrario.

Para usarlos, pega los scripts al principio de la lista de scripts y ya. Puedes poner los dos en el mismo script, aunque si alguna vez llegas a necesitarlos no crea que haga falta que te diga eso.
avatar
silvanash
Aventurero
Aventurero

0/3

Créditos 1627

Gracias : 229

Volver arriba Ir abajo

RPG Maker XP Re: Atajos de script

Mensaje por kyonides-arkanthos el 2016-11-04, 06:57

Y no te gustó la opción de hacer que esos valores cambiaran automáticamente cada vez que los llamaras? Digamos con un...

self.visible = !self.visible
self.active = !self.active
avatar
kyonides-arkanthos
Principiante
Principiante

0/3

Créditos 476

Gracias : 69

Volver arriba Ir abajo

RPG Maker XP Re: Atajos de script

Mensaje por Wecoc el 2016-11-05, 05:16

Eso sería más bien como una opción toggle pero no le veo mucho sentido en éste caso.

Añado alguno más de mi propia cosecha:

Código:
class String
  #------------------------------------------------------------------------
  # * Devolver el primer carácter y quitarlo de la string
  #------------------------------------------------------------------------
  def shift
    array = self.clone.scan(/./)
    array.shift
    self.replace(array.join)
  end
  #------------------------------------------------------------------------
  # * Devolver el último carácter y quitarlo de la string
  #------------------------------------------------------------------------
  def pop
    array = self.clone.scan(/./)
    array.pop
    self.replace(array.join)
  end
end

Ésto añade a String los métodos shift y pop que hasta ahora solo estaban disponibles en array.

Código:
module Kernel
  #--------------------------------------------------------------------------
  # * Obtener clases definidas
  #--------------------------------------------------------------------------
  def classes
    classes = Object.constants.clone
    return classes.select{|k| eval(k).is_a?(Class)}
  end
  #--------------------------------------------------------------------------
  # * Obtener módulos definidos
  #--------------------------------------------------------------------------
  def modules
    modules = Object.constants.clone
    return modules.select{|k| eval(k).is_a?(Module)} - classes
  end
end

Ésto permite obtener las clases y módulos definidos usando directamente "classes" y "modules" en los scripts.

Código:
class Array
  #------------------------------------------------------------------------
  # * Contar cuantas veces sale un valor en la array
  #------------------------------------------------------------------------
  def count(value)
    result = 0
    for i in 0...self.size
      if self[i] == value
        result += 1
      end
    end
    return result
  end
end

Éste añade el método count a la Array, que cuenta cuantas veces sale un determinado valor. Creo que ya lo había puesto en mi post de Array+ pero es de los que más usé de esa lista (también me ha sido util el sort_by y algún otro alguna vez... pero no tanto).

Código:
class Bitmap
  #------------------------------------------------------------------------
  # Rellenar toda la bitmap con un color
  #------------------------------------------------------------------------
  def fill_color(color)
    fill_rect(0, 0, self.width, self.height, color)
  end
end

Finalmente un clásico xD, el fill_color para Bitmap. Recolorea toda la bitmap de un determinado color.
avatar
Wecoc
Administrador
Administrador



Créditos 9370

Gracias : 517

Volver arriba Ir abajo

RPG Maker XP Re: Atajos de script

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


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