Partagez
Aller en bas
Berka
Berka
Administrateur

Nombre de messages : 1832
Age : 28
Localisation : Paris
Distinction : rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription : 16/12/2007
http://rpgruby.olympe-network.com

Telecharger des fichiers avec RMVX Empty Telecharger des fichiers avec RMVX

le Dim 22 Mar 2009 - 22:30
Bonsoir à tous !
Après un Week End de dur labeur, je suis arrivé a permettre le transfert de fichiers avec rmvx.
Je peux dire que le résultat est vraiment satisfaisant:
- Aucun fichier externe, tout est fait en APIs
- Très bonne vitesse de transfert.

J'ai fait une interface ftp et une http.
Je pense que ce script intéressera du monde au niveau des patches, mises a jour.
Je mettrai de nouvelles fonctions prochainement: verification de fichiers sur ftp...

Telecharger des fichiers avec RMVX Berka-10

Attention: si vous utilisez un serveur ftp, vous devez renseigner vos identifiants dans le script.
Sachez qu'en cas de piratage de votre projet, le ftp devient parfaitement accessible: donc ne mettez rien d'important et de confidentiel sur votre ftp !
Ce script est a coller au dessus de main:

Code:

#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
#                    Download & Upload Files with RGSS
#  par berka                      v 2.1                    rgss 2
#                          www.rpgmakervx-fr.com                                         
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# ! Ne pas utiliser de serveur ftp contenant ds données perso et confidentielles
# ! ce script possède vos identifiants ftp: un  crack du projet les rend publics
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# Ftp :
#    ▼ Recevoir :
#          Net::Ftp.download("dos_sur_ftp/fichier.zip","./Graphics")
#    ▼ Envoyer :
#          Net::Ftp.upload("./Graphics/fichier.zip","/dos_sur_ftp/fichier.zip")
#    ▼ Créer un répertoire distant :
#          Net::Ftp.mkdir("/dos_sur_ftp")
# Http :
#    ▼ recevoir :
#          Net::Http.download("url","./Graphics")
#    ▼ total octets téléchargés :
#          Net::HTTP.transfered
#    ▼ Taille du fichier :
#          Net::HTTP.size("test.zip")
#    ▼ % de progression :
#          Net::HTTP.progress("test.zip")
#    ▼ temps de transfert individuel:
#          Net::HTTP.temps("test.zip")
#    ▼ fichiers à télécharger :
#          Net::HTTP.transfers
#    ▼ fichier téléchargé ? :
#          Net::HTTP.loaded?("test.zip")
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
module Berka
  module NetError
    ErrConIn="Impossible de se connecter à Internet"
    ErrConFtp="Impossible de se connecter au Ftp"
    ErrConHttp="Impossible de se connecter au Serveur"
    ErrNoFFtpIn="Le fichier à recevoir n'existe pas"
    ErrNoFFtpEx="Le fichier à envoyer n'existe pas"
    ErrTranHttp="Le téléchargement Http a échoué"
    ErrDownFtp="Le téléchargement Ftp a échoué"
    ErrUpFtp="L'envoi Ftp a échoué"
    ErrNoFile="Aucun fichier à télécharger"
    ErrMkdir="Impossible de créer le répertoire distant"

    HTTPSync=false # si true, (pas recommandé) privilégie le jeu au telechargement

  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='');@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(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
        txt<<buf[0,n]
        @read[fich]=txt.size
        sleep(0.001)if HTTPSync
      end
      (File.open(int+fich,'wb')<<txt).close
      @dloaded+=@read[fich]
      ICH.call(f);sleep(0.01)
      @tps[fich]=Time.now-t}
    end
  end
end
la démo:c'est ici
en anglais... J'ai eu la flemme de la retraduire ^^

voila, les indications se trouvent au début du script, et je suis trop fatigué pour les recopier.
Ah, oui, je recherche des neurones, si vous en avez, mp moi !

berka


Dernière édition par berka le Sam 28 Mar 2009 - 11:10, édité 4 fois
LightNox
LightNox
Membre

Nombre de messages : 1759
Age : 28
Localisation : Chez Moi ^^
Date d'inscription : 10/04/2008

Telecharger des fichiers avec RMVX Empty Re: Telecharger des fichiers avec RMVX

le Lun 23 Mar 2009 - 1:29
AMEN! Berka ce script est super, sérieux on devrais te surnommer berka l'irremplaçable, tu nous étonnera toujours avec tes scripts,il y à que toi pour faire ça, encore merci!
kordarr
kordarr
Modérateur

Nombre de messages : 1838
Age : 29
Localisation : île de la réunion, Le Tampon.
Distinction : Auto-proclamé sex-symbol de la commu'
Frère jumeau de Jonathan ( Secret Story )
Exhibitionniste en herbe
[Mist' & Coco' Smile]
Fan n°1 de Coco'
Psychopathe en chef
Date d'inscription : 05/11/2008

Telecharger des fichiers avec RMVX Empty Re: Telecharger des fichiers avec RMVX

le Lun 23 Mar 2009 - 13:53
L'objectif secret de berka est de faire un second life VX...
Non et bien après tout les compliments de mon camarades plus haut, je ne saurais que dire si ce n'est....
BRAVO
Berka
Berka
Administrateur

Nombre de messages : 1832
Age : 28
Localisation : Paris
Distinction : rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription : 16/12/2007
http://rpgruby.olympe-network.com

Telecharger des fichiers avec RMVX Empty Re: Telecharger des fichiers avec RMVX

le Lun 23 Mar 2009 - 17:37
Merci a tous, je vais encore pas mal y bosser pour optimiser la regeneration de fichier en http.

berka
Berka
Berka
Administrateur

Nombre de messages : 1832
Age : 28
Localisation : Paris
Distinction : rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription : 16/12/2007
http://rpgruby.olympe-network.com

Telecharger des fichiers avec RMVX Empty Re: Telecharger des fichiers avec RMVX

le Ven 27 Mar 2009 - 15:56
Nouvelle version:
plus dur, plus mieux, plus rapide, plus fort ^^

(pas de CMB, merci ^^)

berka
Shadow Tr.
Shadow Tr.
Membre

Nombre de messages : 438
Age : 27
Localisation : au siège de la mog-poste
Distinction : Harceleur Sexuel et Voyeur
Est un Connard (avec un grand C)
Ne veut pas harceler par MP avec des images cochonnes x)
Date d'inscription : 12/10/2008

Telecharger des fichiers avec RMVX Empty Re: Telecharger des fichiers avec RMVX

le Dim 29 Mar 2009 - 12:38
CMB Very Happy

bon script (comme d'hab', hein vous me direz).
avatar
Az'
Membre

Nombre de messages : 3318
Age : 74
Date d'inscription : 22/12/2007

Telecharger des fichiers avec RMVX Empty Re: Telecharger des fichiers avec RMVX

le Dim 29 Mar 2009 - 14:30
Ouarf!
J'avais zappé, mais, ce script est vraiment très bon, merci Berka x)
Là c'est du taff' excellemment excellent ='P
Masouf
Masouf
Membre

Nombre de messages : 284
Age : 25
Localisation : Rennes
Distinction : aucune
Date d'inscription : 24/12/2008

Telecharger des fichiers avec RMVX Empty Re: Telecharger des fichiers avec RMVX

le Dim 29 Mar 2009 - 14:42
Bonjours,
Toujours moi, voila encore une de mes fameuses questions:
Je voudrais savoir si, on mettant en precessus parallèle l'apel de script que tu as mis dans ta demo:
_si ca télécharge continuellement les fichiers?
_si ca télécharge les fichiers et une fois télécharger, sa ne recommence pas tan que les fichiers ne sont pas changer sur le lien?
Merci, super script!
Berka
Berka
Administrateur

Nombre de messages : 1832
Age : 28
Localisation : Paris
Distinction : rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription : 16/12/2007
http://rpgruby.olympe-network.com

Telecharger des fichiers avec RMVX Empty Re: Telecharger des fichiers avec RMVX

le Dim 29 Mar 2009 - 18:44
Non cela ne télécharge le fichier qu'une seule fois, comme sur ton navigateur internet. Un fois fini, on peut le rétélécharger une seconde fois en répétant la commande.
Disons que si tu mets un appel, du genre:
Code:
Net::FTP("/mon projet/game.rgssad,"./")
au début de ton jeu, dans la scene title, il faudra relancer le jeu pour que les nouvelles données soient pirsent en charge !

Je ne te conseille pas de mettre l'appel en processus parallele. Pourquoi ? parce que ton fichier ne se chargera qu'un fois a la fois, certes, mais tu vas perdre pas mal de fps: en cours de téléchargement, le jeu fini a 5-7 FPS...
Donc, ce script ne permet pas de faire des transferts en temps rééls: trop long, trop gourmand...
Peut etre pour des petits fichiers... mais vraiment je suis sceptique.

berka
Masouf
Masouf
Membre

Nombre de messages : 284
Age : 25
Localisation : Rennes
Distinction : aucune
Date d'inscription : 24/12/2008

Telecharger des fichiers avec RMVX Empty Re: Telecharger des fichiers avec RMVX

le Dim 29 Mar 2009 - 19:25
Ok merci, c'est tres utile,
Et c'est le premier script que je vois comme celui la, meme sous rpg maker xp y'en a pas.
freezia
freezia
Staffeux retraité

Nombre de messages : 1734
Distinction : Elu membre de l'année 2009 haut la main.
Inventeur du Mapping Show.

caricaturatationeur de la comu'
[ Dudu']
Date d'inscription : 18/02/2008

Telecharger des fichiers avec RMVX Empty Re: Telecharger des fichiers avec RMVX

le Mar 31 Mar 2009 - 8:27
C'est vrai que l'idée est bien pensé . Je n'y avais jamais songé .
Toutes les ressources téléchargeable directement depuis le projet, ça rend la vie plus facile .
Ca va intéressé directement beaucoup de monde .
Publie le un peu partout, c'est pas seulement ici qu'il aura du succès .
Les crédits sur Berka vont pousser comme des champignons à ce compte là . Cool
Berka
Berka
Administrateur

Nombre de messages : 1832
Age : 28
Localisation : Paris
Distinction : rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription : 16/12/2007
http://rpgruby.olympe-network.com

Telecharger des fichiers avec RMVX Empty Re: Telecharger des fichiers avec RMVX

le Mar 31 Mar 2009 - 17:50
Merci !
t'en fais pas tu dois pouvoir le trouver un peu partout !

berka
Anonymous
Invité
Invité

Telecharger des fichiers avec RMVX Empty Re: Telecharger des fichiers avec RMVX

le Mer 1 Juil 2009 - 20:27
Euh sa a l'air vraiment super mais je ne comprend pas comment on l'utilise,pourrai-t-on plus m'expliquer comment cela fonctionne et comment on le fait fonctionner ? Merci d'avance
Yanouriou
Toujours personne ? je sais ce sujet est vieu , c'est peut être du necro post !! mais j'aimerai bien utiliser ce script !!!
Berka
Berka
Administrateur

Nombre de messages : 1832
Age : 28
Localisation : Paris
Distinction : rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription : 16/12/2007
http://rpgruby.olympe-network.com

Telecharger des fichiers avec RMVX Empty Re: Telecharger des fichiers avec RMVX

le Jeu 2 Juil 2009 - 12:43
je suis en train de faire un script pour mettre à jour les fichiers automatiquement. J'vais le poster très prochainement.
Anonymous
Invité
Invité

Telecharger des fichiers avec RMVX Empty Re: Telecharger des fichiers avec RMVX

le Mer 8 Juil 2009 - 17:59
D'accord merci , et pourrais-tu approfondir le tutoriel s'il te plait parce que j'ai pas tout saisit comment on fait pour mettre les fichier en telechargement !!!!!! Merci
leo99
leo99
Membre

Nombre de messages : 95
Localisation : Dans Espritland avec les dieux
Distinction : aucune
Date d'inscription : 29/05/2010

Telecharger des fichiers avec RMVX Empty Re: Telecharger des fichiers avec RMVX

le Mer 7 Juil 2010 - 17:58
J'ai pas tout pigé sur les MaJ
donc vite fait comme ça on peut mettre son jeu V1.0 avec le script puis sortir la V1.2 et faire une mise à jour pour ne pas perdre sa sauvegarde ?
Elisa'
Elisa'
Staffeux retraité

Nombre de messages : 2924
Age : 21
Localisation : Par là-bas !
Distinction : Mon héritière que je chéris Telecharger des fichiers avec RMVX 344805Telecharger des fichiers avec RMVX 344805
[Coco' Smile]
Plus que 2 ans avant d'épouser Coco' ! Compte à rebours lancé !
[Auto-distinction]

Adepte du "Je le savais" alors qu'elle le savait pas.
Date d'inscription : 30/05/2009

Telecharger des fichiers avec RMVX Empty Re: Telecharger des fichiers avec RMVX

le Mer 7 Juil 2010 - 18:30
Pour les questions, il y a la section entraide, là tu fais un nécropost de presque 1 an, ça fait un autre avertissement, donc tu vas relire le règlement maintenant, et au prochain averto c'est le bannissement d'un mois.

_________________


Cliquez ici pour voter pour la commu'
Telecharger des fichiers avec RMVX Banner
Contenu sponsorisé

Telecharger des fichiers avec RMVX Empty Re: Telecharger des fichiers avec RMVX

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum