¡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 3399 miembros registrados.
El último usuario registrado es agapitovillaporca_803.

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

Heretic's Caterpillar (Tren de charas)

 :: RPG Maker :: Scripts

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker XP Heretic's Caterpillar (Tren de charas)

Mensaje por Wecoc el 2012-07-10, 10:24

Autor: Heretic
Post con toda la info: Link (rmrk)


(no se ven en la screen la infinidad de propiedades que tiene xD)

Explicación:
Permite un alto control para cada uno de los componentes del tren de charas; activar/desactivar el seguimiento con interruptor, hacer cutscenes con movimientos de cada uno, z (altura de los eventos) alterables, color alterable (según si está muerto) y un largo etcétera de funciones útiles. Está hecho a partir del caterpillar de Zeliab (así que dadle créditos también)

Demo:
Para descargar la demo con el script (es muy largo y no puedo ponerlo aquí) id a este link: http://www.775.net/~heretic/downloads/rmxp/cat.php
y clicad el botón de descarga que está puesto debajo la screen.

Sobre la demo:
La demo incluye muchos otros scripts a parte del Caterpillar.

Entre ellos he visto que hay un link de Autofont que os podría dar problemas porque requiere el fileutils, si se diera el caso cambiad el script de Auto Font Install por este que no lo requiere porque ya lo incluye:

Código:
#------------------------------------------------------------------------------
# Auto Font Install Version 1.2
#------------------------------------------------------------------------------
# by Wachunga (+FileUtils by Minero Aoki)
#------------------------------------------------------------------------------

module FileUtils
  def self.private_module_function(name)
    module_function name
    private_class_method name
  end
  OPT_TABLE = {}
  def pwd
    Dir.pwd
  end
  module_function :pwd

  alias getwd pwd
  module_function :getwd

  def cp(src, dest, options = {})
    fu_check_options options, :preserve, :noop, :verbose
    fu_output_message "cp#{options[:preserve] ? ' -p' : ''} #{[src,dest].flatten.join ' '}" if options[:verbose]
    return if options[:noop]
    fu_each_src_dest(src, dest) do |s, d|
      copy_file s, d, options[:preserve]
    end
  end
  module_function :cp

  alias copy cp
  module_function :copy

  OPT_TABLE['cp']  =
  OPT_TABLE['copy'] = %w( noop verbose preserve )

  def cp_r(src, dest, options = {})
    fu_check_options options, :preserve, :noop, :verbose, :dereference_root
    fu_output_message "cp -r#{options[:preserve] ? 'p' : ''} #{[src,dest].flatten.join ' '}" if options[:verbose]
    return if options[:noop]
    options[:dereference_root] = true unless options.key?(:dereference_root)
    fu_each_src_dest(src, dest) do |s, d|
      copy_entry s, d, options[:preserve], options[:dereference_root]
    end
  end
  module_function :cp_r

  OPT_TABLE['cp_r'] = %w( noop verbose preserve dereference_root )

  def copy_entry(src, dest, preserve = false, dereference_root = false)
    Entry_.new(src, nil, dereference_root).traverse do |ent|
      destent = Entry_.new(dest, ent.rel, false)
      ent.copy destent.path
      ent.copy_metadata destent.path if preserve
    end
  end
  module_function :copy_entry

  def copy_file(src, dest, preserve = false, dereference = true)
    ent = Entry_.new(src, nil, dereference)
    ent.copy_file dest
    ent.copy_metadata dest if preserve
  end
  module_function :copy_file

  def copy_stream(src, dest)
    fu_copy_stream0 src, dest, fu_stream_blksize(src, dest)
  end
  module_function :copy_stream

  class Entry_  #:nodoc: internal use only
    def copy(dest)
      case
      when file?
        copy_file dest
      when directory?
        begin
          Dir.mkdir dest
        rescue
          raise unless File.directory?(dest)
        end
      when symlink?
        File.symlink File.readlink(path()), dest
      when chardev?
        raise "cannot handle device file" unless File.respond_to?(:mknod)
        mknod dest, ?c, 0666, lstat().rdev
      when blockdev?
        raise "cannot handle device file" unless File.respond_to?(:mknod)
        mknod dest, ?b, 0666, lstat().rdev
      when socket?
        raise "cannot handle socket" unless File.respond_to?(:mknod)
        mknod dest, nil, lstat().mode, 0
      when pipe?
        raise "cannot handle FIFO" unless File.respond_to?(:mkfifo)
        mkfifo dest, 0666
      when door?
        raise "cannot handle door: #{path()}"
      else
        raise "unknown file type: #{path()}"
      end
    end

    def copy_file(dest)
      st = stat()
      File.open(path(),  'rb') {|r|
        File.open(dest, 'wb', st.mode) {|w|
          fu_copy_stream0 r, w, (fu_blksize(st) || fu_default_blksize())
        }
      }
    end

    def copy_metadata(path)
      st = lstat()
      File.utime st.atime, st.mtime, path
      begin
        File.chown st.uid, st.gid, path
      rescue Errno::EPERM
        # clear setuid/setgid
        File.chmod st.mode & 01777, path
      else
        File.chmod st.mode, path
      end
    end
  end  # class Entry_
  def fu_check_options(options, *optdecl)  #:nodoc:
    h = options.dup
    optdecl.each do |name|
      h.delete name
    end
    raise ArgumentError, "no such option: #{h.keys.join(' ')}" unless h.empty?
  end
  private_module_function :fu_check_options

  def fu_update_option(args, new)  #:nodoc:
    if args.last.is_a?(Hash)
      args[-1] = args.last.dup.update(new)
    else
      args.push new
    end
    args
  end
  private_module_function :fu_update_option

  @fileutils_output = $stderr
  @fileutils_label  = ''

  def fu_output_message(msg)  #:nodoc:
    @fileutils_output ||= $stderr
    @fileutils_label  ||= ''
    @fileutils_output.puts @fileutils_label + msg
  end
  private_module_function :fu_output_message

  METHODS = singleton_methods() - ['private_module_function']

  def FileUtils.commands
    OPT_TABLE.keys
  end

  def FileUtils.options
    OPT_TABLE.values.flatten.uniq
  end

  def FileUtils.have_option?(mid, opt)
    li = OPT_TABLE[mid.to_s] or raise ArgumentError, "no such method: #{mid}"
    li.include?(opt.to_s)
  end

  def FileUtils.options_of(mid)
    OPT_TABLE[mid.to_s]
  end

  def FileUtils.collect_method(opt)
    OPT_TABLE.keys.select {|m| OPT_TABLE[m].include?(opt.to_s) }
  end

  module Verbose
    include FileUtils
    @fileutils_output  = $stderr
    @fileutils_label  = ''
    ::FileUtils.collect_method('verbose').each do |name|
      module_eval(<<-EOS, __FILE__, __LINE__ + 1)
        def #{name}(*args)
          super(*fu_update_option(args, :verbose => true))
        end
        private :#{name}
      EOS
    end
    extend self
    class << self
      ::FileUtils::METHODS.each do |m|
        public m
      end
    end
  end

  module NoWrite
    include FileUtils
    @fileutils_output  = $stderr
    @fileutils_label  = ''
    ::FileUtils.collect_method('noop').each do |name|
      module_eval(<<-EOS, __FILE__, __LINE__ + 1)
        def #{name}(*args)
          super(*fu_update_option(args, :noop => true))
        end
        private :#{name}
      EOS
    end
    extend self
    class << self
      ::FileUtils::METHODS.each do |m|
        public m
      end
    end
  end

  module DryRun
    include FileUtils
    @fileutils_output  = $stderr
    @fileutils_label  = ''
    ::FileUtils.collect_method('noop').each do |name|
      module_eval(<<-EOS, __FILE__, __LINE__ + 1)
        def #{name}(*args)
          super(*fu_update_option(args, :noop => true, :verbose => true))
        end
        private :#{name}
      EOS
    end
    extend self
    class << self
      ::FileUtils::METHODS.each do |m|
        public m
      end
    end
  end
end

module Fonts
  Filenames = ['segoeui.ttf']
  Names = ['Segoe UI']
  Notify = false
  Source = 'Fonts/'
  Dest = ENV['SystemRoot'] + '\Fonts\\'
end

class Scene_Title
 
 AFR = Win32API.new('gdi32', 'AddFontResource', ['P'], 'L')
 WPS = Win32API.new('kernel32', 'WriteProfileString', ['P'] * 3, 'L')
 SM = Win32API.new('user32', 'SendMessage', ['L'] * 4, 'L')
 WM_FONTCHANGE = 0x001D
 HWND_BROADCAST = 0xffff

 alias wachunga_autofontinstall_st_main main
 def main
 success = []
 for i in 0...Fonts::Filenames.size
 f = Fonts::Filenames[i]
 # check if already installed...
 if not FileTest.exists?(Fonts::Dest + f)
 # check to ensure font is in specified location...
 if FileTest.exists?(Fonts::Source + f)
 # copy file to fonts folder
 FileUtils.cp(Fonts::Source + f, Fonts::Dest + f)
 # add font resource
 AFR.call(Fonts::Dest + f)
 # add entry to win.ini/registry
 WPS.call('Fonts', Fonts::Names[i] + ' (TrueType)', f)
 SM.call(HWND_BROADCAST,WM_FONTCHANGE,0,0)
 if FileTest.exists?(Fonts::Dest + f)
 success.push(Fonts::Names[i])
 else
 Â print "Auto Font Install:\n\n No se pudo instalar " +
 Fonts::Names[i] + '.'
 end
 else
 print "Auto Font Install:\n\nFont " + f + " No se ha encontrado"
 end
 end
 end
 if success != []
 if Fonts::Notify
 fonts = ''
 success.each do |f|
 fonts << f << ', '
 end
 print "Auto Font Install:\n\nInstalada satisfactoriamente" + fonts[0..-3] +
 '.'
 end
 # new fonts aren't recognized in RMXP until the program is
 # restarted, so this is (unfortunately) necessary
 a = Thread.new { system('Game') }
 exit
 end
 wachunga_autofontinstall_st_main
 end
end
El "cambio" lo he hecho yo mismo xDD pero no me deis créditos por ello porque no tiene mérito...

Wecoc
Administrador
Administrador



Créditos 8272

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.