Cargar Scripts desde archivo

Hola a todos, este es un script que solicité en el foro Mundo Maker para así hacer más fácil el trabajo
con los scripts, consiste en poder cargar los mismos desde una carpeta sin la necesidad de tener que
colocarlos uno por uno en en el editor de nuestro proyecto, este script facilita esa etapa de diseño.

Muestra del script

PD1: Toda la información necesaria para utilizar este script, pueden revisar el archivo PDF adjunto
PD2: Recuerden dar créditos a su creador NEWOLD
 
Script
NOTA 1: Recuerden que los script deben estar en formato “Ruby”, o sea, en formato (.rb)
NOTA 2: La ubicación de la carpeta de scripts puede cambiarse, pero para los que no saben de
programación ruby, les sugierno no cambiarlo.
NOTA 3: Recuerden dar créditos a NEWOLD por el script
# ruta donde guardas los scripts acabada e
n /
directorio_scripts = "Data/scripts/"
#==============================================================================
class Find_Files # << by NEWOLD
#
--------------------------------------------------------------------------
# Este bonito método encuentra todos los archivos en una carpeta dada.
# Busca a través de todas las subcarpetas y devuelve todas las rutas de
# los archivos. La ruta del directorio que se le pasa a este método
# debe acabar en / (Ejemplo: c:/carpe
ta de archivos/ )
# Este método puede recibir tres parámetros:
# d = Directorio a analizar (Acabado en /). Este parámetro es obligatorio.
# filter = Un array que contendrá las extensiones de archivo permitidas.
# (Solo las extensiones sin
el .) Este parámetro es opcional.
# check_sub_dir = Puede ser true o false. Cuando es true, también buscará
# archivos en todos los subdirectorios que encuentre dentro
# del directorio actual (y en todos los directorio
s que
# encuentre). Cuando es false solo buscará archivos en el
# directorio dado sin mirar en los subdirectorios.
# Este parámetro es opcional.
#
--------------------------------------------------------------------------
def dir(d,filter=[],check_sub_dir=true,i=0)
data = []
Dir[d + '*'].each do |path|
 
if FileTest.directory?(path) and check_sub_dir
data2 = Find_Fil
es.new.dir(path + "/",filter,check_sub_dir,i)
data.concat(data2)
end
path.downcase.match(/
\
.(
\
w*)
\
z/)
next_path = (filter.size > 0) ? true : false
filter.each {|ext| (next_path = false and break) if ext.downcase == $1}
next if next_path
data.push(path) if FileTest.file?(path)
i += 1
if i == 1000
Graphics.update; i = 0
end
end
return data
end
#
--------------------------------------------------------------------------
end
#==============================================================================
# Cargar scripts en la carpeta
-
directorio_scripts
begin
files = Find_Files.new.dir(directorio_scripts)
rescue
files = []
end
files.each{|file|
begin
f = File.ope
n(file, "rb")
data = f.readlines.join("")
f.close
begin
eval(data)
rescue
next
end
rescue
next
end
}
#===========================================================
# Si hay cualquier error en algún script que vaya a cargar,
# simplemente se lo salta y no te muestra ningún error.
# Si quieres que se te muestre un error tan solo cambia el
# código a partir de la línea 56 por éste otro:
#
# files.each{|file|
#
begin
# f = File.open(file, "rb")
# data = f.readlines.join("")
# f.close
# begin
# eval(data)
 
# rescue => e
# msgbox e
# next
# end
# rescue
# next
# end
# }
#
# Eso te mostrará
una ventana de error si hay algo mal
#===========================================================
Share

2 comentarios

  1. Prueba a encriptarlo y me dices del resultado

    1. encriptarlo por qué?

Deja un comentario

Tu email nunca se publicará.