Accueil du SiteAccueil du Site  AccueilAccueil  Dernières imagesDernières images  RechercherRechercher  ConnexionConnexion  S'enregistrerS'enregistrer  



Le Deal du moment :
Pokémon EV06 : où acheter le Bundle Lot ...
Voir le deal

Partagez
 

 [RMVX Ace] Extraction et compilation des scripts

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
tonyryu
Paysan (niveau 4)
Paysan (niveau 4)
tonyryu

Masculin
Messages postés : 39
Date d'inscription : 14/09/2012
Jauge LPC :
[RMVX Ace] Extraction et compilation des scripts 891527140037 / 10037 / 100[RMVX Ace] Extraction et compilation des scripts 8915271400


[RMVX Ace] Extraction et compilation des scripts Empty
MessageSujet: [RMVX Ace] Extraction et compilation des scripts   [RMVX Ace] Extraction et compilation des scripts EmptyLun 26 Nov 2012 - 18:49

Comme sur mon projet perso, nous bossons à plusieurs scripteurs, il a fallu développer des solutions afin de ne pas écraser les modifications des uns et des autres. Le mieux étant de transmettre uniquement le ou les scripts modifiés et non le fichier Scripts.rvdata2. Pour cela, j'ai créé 2 scripts Ruby, l'un permettant d'extraire tous les scripts et de les copier dans un dossier Scripts, et l'autre permettant de réinjecter dans le Scripts.rvdata2, les fichiers scripts se trouvant dans le dossier Scripts.

Pour les faire fonctionner, il faut avoir l'interpreteur Ruby 1.9.3 d'installer

Extract.rb
Code:
#encoding: utf-8
require "zlib"

URL_SCRIPT = "./Data/"

def load_data(fic)
  File.open(fic, "rb") { |f|
    return ( Marshal.load(f))
  }
end

def inflate(string)
  zstream = Zlib::Inflate.new()
  buf = zstream.inflate(string)
  zstream.finish
  zstream.close
  buf
end

def deflate(string, level = Zlib::BEST_COMPRESSION)
  z = Zlib::Deflate.new(level)
  dst = z.deflate(string, Zlib::FINISH)
  z.close
  dst
end

# Si dossier n'existe pas
if Dir["Scripts"] != ["Scripts"]
  # Créer le dossier
  Dir.mkdir("Scripts")
end


obj_script = load_data(URL_SCRIPT + "Scripts.rvdata2")

num = 0

obj_script.each do |unScript |
  num += 1
  nom = unScript[1]
  code = inflate(unScript[2])

  if code.size > 10
    nom_fic = nom + ".rb"
    print "Création fichier : #{nom_fic}\n"
    fic = File.new("./Scripts/" +  nom_fic, "wb")
    fic.write(code)
    fic.close
  end
end

Compil.rb
Code:
#encoding: utf-8
require "zlib"

URL_SCRIPT = "./Data/"

#----------------------------------------------------------------------------
# save_data
#---------------------------------------------------------------------------- 
def save_data(data,fic)
  File.open(fic, "wb") { |f|
    Marshal.dump(data, f)
  }
end

def load_data(fic)
  File.open(fic, "rb") { |f|
    return ( Marshal.load(f))
  }
end

def inflate(string)
  zstream = Zlib::Inflate.new()
  buf = zstream.inflate(string)
  zstream.finish
  zstream.close
  buf
end

def deflate(string, level = Zlib::BEST_COMPRESSION)
  z = Zlib::Deflate.new(level)
  dst = z.deflate(string, Zlib::FINISH)
  z.close
  dst
end

# Si dossier n'existe pas
if Dir["Scripts"] != ["Scripts"]
  # Créer le dossier
  Dir.mkdir("Scripts")
end


obj_script = load_data(URL_SCRIPT + "Scripts.rvdata2")

num = 0

obj_script.each do |unScript |
  num += 1
  nom = unScript[1]

 
  nom_fic = nom + ".rb"
  if FileTest.exists?( "./Scripts/" +  nom_fic )
    fic = File.new("./Scripts/" +  nom_fic, "rb")
    code = fic.read
    fic.close
    unScript[2] = deflate(code)
  end

end

save_data(obj_script, URL_SCRIPT + "Scripts.rvdata2")
Revenir en haut Aller en bas
Elekami
Fondateur
Fondateur
Elekami

Masculin
Messages postés : 19071
Date d'inscription : 19/07/2008
Jauge LPC :
[RMVX Ace] Extraction et compilation des scripts 8915271400100 / 100100 / 100[RMVX Ace] Extraction et compilation des scripts 8915271400

[RMVX Ace] Extraction et compilation des scripts Pater_10
[RMVX Ace] Extraction et compilation des scripts Staffe10
[RMVX Ace] Extraction et compilation des scripts Mythe_10
[RMVX Ace] Extraction et compilation des scripts Membre11
[RMVX Ace] Extraction et compilation des scripts Doyen10
[RMVX Ace] Extraction et compilation des scripts Scanar10
[RMVX Ace] Extraction et compilation des scripts Compos10
[RMVX Ace] Extraction et compilation des scripts Testeu10
[RMVX Ace] Extraction et compilation des scripts Membre15
[RMVX Ace] Extraction et compilation des scripts Partag10
[RMVX Ace] Extraction et compilation des scripts Projet10
[RMVX Ace] Extraction et compilation des scripts Projet16
[RMVX Ace] Extraction et compilation des scripts Riche_10
[RMVX Ace] Extraction et compilation des scripts Travai10
[RMVX Ace] Extraction et compilation des scripts Collec10
[RMVX Ace] Extraction et compilation des scripts Collec11
[RMVX Ace] Extraction et compilation des scripts Collec12
[RMVX Ace] Extraction et compilation des scripts Collec13
[RMVX Ace] Extraction et compilation des scripts Connar10


[RMVX Ace] Extraction et compilation des scripts Empty
MessageSujet: Re: [RMVX Ace] Extraction et compilation des scripts   [RMVX Ace] Extraction et compilation des scripts EmptyMar 27 Nov 2012 - 0:17

Merci du partage !
J'ajoute des points.
Revenir en haut Aller en bas
https://www.ledijonshow.fr https://twitter.com/EleKoptes
 
[RMVX Ace] Extraction et compilation des scripts
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Rgssad bug extraction (résolu)
» [Résolu] Problème avec l'extraction d'un projet
» [RMVX Ace] PNJ Name
» Help scripts =)
» RMVX Ace Domumentation ( .chm )

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Le Palais Créatif :: ~ PARTAGE ~ :: Scripts et plugins :: RPG Maker VXAce :: Autres-
Sauter vers: