мЭkяΘÐ ツLun Jul 30, 2012 3:44 am
Usuario Nv10
suena raro ?¡ NO es raro es real , la verdad es que esto es una joya.. con un retoque rgss podras hacer que tus juegos se autoactualizen¡¡
el script en si permiten añadir cosas a tu game bajandolas de internet y super rapido¡¡ ,asi remplazas las originales y chan actualizacion completa , o podras añadir nuevas tu decides.
IMAGENES:
SCRIPT¡
- Spoiler:
- Código:
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# Download & Upload Files with RGSS
# par berka v 2.1 rgss 2
# http://www.rpgmakervx-fr.com
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# thanks to: http://www.66rpg.com for documentation on wininet
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# ! do not use ftp which contains privates data
# ! this scripts need ftp account information !
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# Ftp :
# â–¼ receive :
# Net::Ftp.download("dir_on_ftp/file.zip","./Graphics")
# â–¼ send :
# Net::Ftp.upload("./Graphics/file.zip","/dir_on_ftp/file.zip")
# â–¼ make directory :
# Net::Ftp.mkdir("/dir_on_ftp")
# Http :
# â–¼ receive :
# Net::Http.download("url","./Graphics")
# â–¼ total octets downloaded :
# Net::HTTP.dloaded
# â–¼ size of file :
# Net::HTTP.size("test.zip")
# â–¼ % dl progress :
# Net::HTTP.progress("test.zip")
# â–¼ transfer time:
# Net::HTTP.temps("test.zip")
# â–¼ list files :
# Net::HTTP.transfers
# â–¼ file loaded? :
# Net::HTTP.loaded?("test.zip")
# â–¼ octets transfered :
# Net::HTTP.transfered
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
module Berka
module NetError
ErrConIn="Unable to connect to Internet"
ErrConFtp="Unable to connect to Ftp"
ErrConHttp="Unable to connect to the Server"
ErrNoFFtpIn="The file to be download doesn't exist"
ErrNoFFtpEx="The file to be upload doesn't exist"
ErrTranHttp="Http Download is failed"
ErrDownFtp="Ftp Download is failed"
ErrUpFtp="Ftp Upload is failed"
ErrNoFile="No file to be download"
ErrMkdir="Unable to create a new directory"
end
end
include Berka::NetError
module Net
W='wininet'
SPC=Win32API.new('kernel32','SetPriorityClass','pi','i').call(-1,128)
IOA=Win32API.new(W,'InternetOpenA','plppl','l').call('',0,'','',0)
IC=Win32API.new(W,'InternetConnectA','lplpplll','l')
print(ErrConIn)if IOA==0
module FTP
FSCD=Win32API.new(W,'FtpSetCurrentDirectoryA','lp','l')
FGF=Win32API.new(W,'FtpGetFileA','lppllll','l')
FPF=Win32API.new(W,'FtpPutFile','lppll','l')
FCD=Win32API.new(W,'FtpCreateDirectoryA','lp','l')
module_function
def init
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-#
ftp="ftp.server.com" #
port=21 # Modify !
identifiant="user" #
motdepasse="password" #
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-#
@fb=IC.call(IOA,ftp,port,identifiant,motdepasse,1,0,0)
ftp,port,identifiant,motdepasse=[nil]*4 # clear ftp ids !
(print(ErrConFtp))if @fb==0
end
def download(ext,int='./')
init if @fb.nil?
c=ext.split('/').pop
if FSCD.call(@fb,ext.gsub(c,''))!=0
print(ErrDownFtp)if FGF.call(@fb,c,"#{int}/#{c}",0,32,2,0)==0
else
print(ErrNoFFtpIn)
end
end
def mkdir(rep)
init if @fb.nil?
print(ErrMkdir)if FCD.call(@fb,rep)==0
end
def upload(int,ext)
init if @fb.nil?
if FSCD.call(@fb,ext)&&File.exist?(int)
print(ErrUpFtp)if FPF.call(@fb,int,ext,2,0)==0
else
print(ErrNoFFtpEx)
end
end
end
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
module HTTP
IOU=Win32API.new(W,'InternetOpenUrl','lppllp','l')
IRF=Win32API.new(W,'InternetReadFile','lpip','l')
ICH=Win32API.new(W,'InternetCloseHandle','l','l')
HQI=Win32API.new(W,'HttpQueryInfo','llppp','i')
module_function
def sizeloaded(i=0);@read[i];end
def transfered;@dloaded;end
def transfers;@dls;end
def progress(i=0);(@read[i].to_f/@size[i]*100);end
def loaded?(i=0);@read[i]>=@size[i];end
def temps(i=0);@tps[i];end
def size(i=0);@size[i];end
def download(url,int='./')
@dloaded||=0;@dls||={};@i||=-1;@size||={};@read||={};@tps={}
a=url.split('/');serv,root,fich=a[2],a[3..a.size].join('/'),a[-1]
print(ErrNoFile)if fich.nil?
@dls[fich]=Thread.start(url,int){|url,int|txt='';t=Time.now
ErrConHttp if(e=IC.call(IOA,serv,80,'','',3,1,0))==0
f=IOU.call(IOA,url,nil,0,0,0)
HQI.call(f,5,k="\0"*1024,[k.size-1].pack('l'),nil)
@read[fich],@size[fich]=0,k.delete!("\0").to_i
loop do
buf,n=' '*1024,0
r=IRF.call(f,buf,1024,o=[n].pack('i!'))
n=o.unpack('i!')[0]
break if r&&n==0
@read[fich]=(txt<<buf[0,n]).size
end
(File.open(int+fich,'wb')<<txt).close
@dloaded+=@read[fich]
ICH.call(f)
@tps[fich]=Time.now-t
sleep(0.001)}
end
end
end
INSTRUCCIONES:
BIEN... aqui tienen q modificar los campos decuerdo a lo que ocupen.. regularmente modificaran el de abajo q dice http si qieren esto para lo q es en si, en url iria el link de la imagen o archivo (link directo no mediafire o algo asi xd), y eso que dice graphics es la carpeta del game donde se guardan.
Ftp :
receive : Net::FTP.download("file_on_ftp","./Graphics")
send : Net::FTP.upload("file_in_project","dir_on_ftp")
Http :
receive : Net::HTTP.download("url","./Graphics")
(si tienen mas dudas no duden en preguntar)
bien amigos eso es todo ¡¡ subire tambien la version para XP, vx ace ya la solicite haber si me la dan se las paso .