fanton95 Posted October 1, 2009 Share Posted October 1, 2009 (edited) Upload e Download con RGSS Descrizione Naturalmente funziona con una rete internet. Permette di collegarsi ad un sito web e scaricare un componente di questo (Banner, loghi etc..). Utile per sistemi come gli extra infatti le immagini vengono scaricate direttamente nella cartella del gioco. AutoreBerkaAllegati La Demo non è in italiano ma è comprensibilissima Net Module #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # Download & Upload Files with RGSS # par berka v 2.1 rgss 1 # 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 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(Berka::NetErrorErr::ConIn)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 # A modifier ! identifiant="user" # motdepasse="password" # #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-# @fb=IC.call(IOA,ftp,port,identifiant,motdepasse,1,0,0) ftp,port,identifiant,motdepasse=[nil]*4 # efface les ids par sécurité (print(Berka::NetError::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(Berka::NetErrorErr::ErrDownFtp)if FGF.call(@fb,c,"#{int}/#{c}",0,32,2,0)==0 else print(Berka::NetErrorErr::ErrNoFFtpIn) end end def mkdir(rep) init if @fb.nil? print(Berka::NetErrorErr::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(Berka::NetErrorErr::ErrUpFtp)if FPF.call(@fb,int,ext,2,0)==0 else print(Berka::NetErrorErr::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='');@read[i];end def transfered;@dloaded;end def transfers;@dls;end def progress(i='');(@read[i].to_f/@size[i]*100);end def loaded?(i='');@read[i]>=@size[i]rescue nil;end def temps(i='');@tps[i]if loaded?(i);end def size(i='');@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(Berka::NetErrorErr::ErrNoFile)if fich.nil? @dls[fich]=Thread.start(url,int){|url,int|txt='';t=Time.now Berka::NetErrorErr::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 txt << buf[0,n] @read[fich]=txt.size end (File.open(int+fich,'wb')< @dloaded+=@read[fich] ICH.call(f);sleep(0.01) @tps[fich]=Time.now-t} end end end Scene di esempio: #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # Téléchargement de fichiers en Rgss # par berka v 2.1 rgss 1 # www.rpgmakervx-fr.com #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # EXEMPLES ! #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- class Window_Barre def initialize super(100,50,440,380) self.contents=Bitmap.new(width-32,height-32) self.contents.font.name=$fontface self.contents.font.size=$fontsize # on initialise un tableau de téléchargement @dls=Net::HTTP.transfers refresh end def refresh i=0 self.contents.clear self.contents.font.size=22 self.contents.draw_text(-16,0,self.width,24,"Http: Gestionnaire de téléchargement",1) self.contents.font.size=20 # pour chaque téléchargement @dls.each_key{|file| self.contents.draw_text(0,56*(i+=1),200,24,"--> #{file}") self.contents.fill_rect(131,56*i+25,202,10,Color.new(0,0,0,150)) self.contents.font.size=14 # on récupere le pourcentage du téléchargement pr=Net::HTTP.progress(file)/100 # on écrit le rapport: octets téléchargés / taille totale rat="#{Net::HTTP.sizeloaded(file)/1024}/#{Net::HTTP.size(file)/1024} ko" self.contents.draw_text(132,56*i+32,150,24,rat,1) # on récupère le temps de téléchargement du fichier s=Net::HTTP.temps(file) # on l'écrit self.contents.draw_text(20,56*i+20,self.width,24,"Fait en #{s} secs") # on écrit le pourcentage de progression self.contents.draw_text(342,56*i+26,self.width,24,"#{(pr*100).to_i}%")rescue nil # et on trace la barre self.contents.fill_rect(132,56*i+26,pr*200,8,Color.new(0,255,0)) self.contents.font.size=20} end end #-=-=-=-=-=-=-=-=-=-=-=-=-=-=- class Scene_Download def main @fond=Spriteset_Map.new # chargement des fichiers Net::HTTP.download('http://download59.mediafire.com/313lzxpdytpg/gyok0vgmm2m/hero+creator.zip') Net::HTTP.download('http://www.google.fr/intl/fr_fr/images/logo.gif') Net::HTTP.download('http://www.rpgrevolution.com/forums/banner3.gif') Net::HTTP.download('http://i42.servimg.com/u/f42/12/32/03/86/bannie11.jpg') #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- @barre=Window_Barre.new Graphics.transition loop do Input.update Graphics.update update break if $scene != self end Graphics.freeze @fond.dispose @barre.dispose end def update @barre.refresh $scene=Scene_Map.new if Input.trigger?(Input::B) end end Bugs e Conflitti Noti La prima volta che lo ho lanciato ha dato errore poi lo ho eseguito dal progetto ed è andato tutto bene Altri Dettagli Lo script scaricherà il logo di google e il banner del forum dove è stato postato, niente di pericoloso non preoccupatevi. A presto lo script anche per il VX. Edited April 26, 2013 by Dilos Script monoriga sistemato. "Oh perché dobbiamo essere così, noi? – ci domandiamo talvolta allo specchio - con questa faccia, con questo corpo? – alziamo una mano, nell'incoscienza; e il gesto ci resta sospeso. Ci pare strano che l'abbiamo fatto noi. Ci vediamo vivere. […] In certi momenti di silenzio interiore, in cui l'anima nostra si spoglia di tutte le funzioni abituali, e gli occhi nostri diventano più acuti e più penetranti, noi vediamo noi stessi nella vita, e in se stessa la vita, quasi in una modalità arida, inquietante; ci sentiamo assaltare da una strana impressione, come se, in un baleno, ci si chiarisse una realtà diversa da quella che normalmente percepiamo, una realtà vivente oltre la vista umana, fuori delle forme dell'umana ragione." [L.P.] http://img43.imageshack.us/img43/4231/vgmiud3f.png http://rpg2s.net/gif/SCContest1Oct.gif http://www.rpg2s.net/img/fablecontest3rd.png http://rpg2s.net/gif/SCContest1Oct.gif RPG by forum http://img59.imageshack.us/img59/6/av2w.png Nome: Erech (In elfico "lancia solitaria", da er (ereb) = "solitario" e ech = "lancia") Età : 19 Razza: Umani Descrizione: Erech è un ragazzo alto e slanciato, dalla corporatura tonica e scattante. Ha capelli lunghi e violacei come gli occhi che però sono spesso coperti in parte da un elegante cappello nero. Veste con uno stile classico, una camicetta bianca sotto una giacca nera e un fiocco al collo ornato con un'immancabile piuma azzurra. Gli piace leggere e scrivere e ama tradurre testi in lingue antiche. Carattere: Il ragazzo ha un carattere chiuso e introverso, è di poche parole e preferisce i fatti alle parole. Non si relaziona spesso con i coetanei o se lo fa significa che si fida cecamente della persona che ha davanti; è diffidente e tende a non raccontare fatti del suo passato, belli o brutti che siano. Link to comment Share on other sites More sharing options...
nihil-omen Posted October 1, 2009 Share Posted October 1, 2009 No non ho capito a che serve ò_o http://i30.tinypic.com/xehois.gif} 2rA - web site {E' disponibile il primo capitolo completo di 2rA!} 2rA: Capitolo I { Link to comment Share on other sites More sharing options...
fanton95 Posted October 2, 2009 Author Share Posted October 2, 2009 No non ho capito a che serve ò_o Editato il primo post adesso è più chiaro "Oh perché dobbiamo essere così, noi? – ci domandiamo talvolta allo specchio - con questa faccia, con questo corpo? – alziamo una mano, nell'incoscienza; e il gesto ci resta sospeso. Ci pare strano che l'abbiamo fatto noi. Ci vediamo vivere. […] In certi momenti di silenzio interiore, in cui l'anima nostra si spoglia di tutte le funzioni abituali, e gli occhi nostri diventano più acuti e più penetranti, noi vediamo noi stessi nella vita, e in se stessa la vita, quasi in una modalità arida, inquietante; ci sentiamo assaltare da una strana impressione, come se, in un baleno, ci si chiarisse una realtà diversa da quella che normalmente percepiamo, una realtà vivente oltre la vista umana, fuori delle forme dell'umana ragione." [L.P.] http://img43.imageshack.us/img43/4231/vgmiud3f.png http://rpg2s.net/gif/SCContest1Oct.gif http://www.rpg2s.net/img/fablecontest3rd.png http://rpg2s.net/gif/SCContest1Oct.gif RPG by forum http://img59.imageshack.us/img59/6/av2w.png Nome: Erech (In elfico "lancia solitaria", da er (ereb) = "solitario" e ech = "lancia") Età : 19 Razza: Umani Descrizione: Erech è un ragazzo alto e slanciato, dalla corporatura tonica e scattante. Ha capelli lunghi e violacei come gli occhi che però sono spesso coperti in parte da un elegante cappello nero. Veste con uno stile classico, una camicetta bianca sotto una giacca nera e un fiocco al collo ornato con un'immancabile piuma azzurra. Gli piace leggere e scrivere e ama tradurre testi in lingue antiche. Carattere: Il ragazzo ha un carattere chiuso e introverso, è di poche parole e preferisce i fatti alle parole. Non si relaziona spesso con i coetanei o se lo fa significa che si fida cecamente della persona che ha davanti; è diffidente e tende a non raccontare fatti del suo passato, belli o brutti che siano. Link to comment Share on other sites More sharing options...
kekkorider Posted October 2, 2009 Share Posted October 2, 2009 è figo Bisogno di creare un sito internet?Vai a visitare il White Rabbit ;DScreen contest #23http://rpg2s.net/gif/SCContest3Oct.gifPartecipante al Rpg2s.net Game Contest 2008/2009http://www.rpg2s.net/contest/GameContest0809/gc0809-bannerino.jpgGioco in Sviluppo: Restricted : Project 15 Link to comment Share on other sites More sharing options...
nihil-omen Posted October 2, 2009 Share Posted October 2, 2009 E' spettacolare allora! *_* http://i30.tinypic.com/xehois.gif} 2rA - web site {E' disponibile il primo capitolo completo di 2rA!} 2rA: Capitolo I { Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now