Partagez
Aller en bas
avatar
Skillo
Staffeux retraité

Nombre de messages : 526
Age : 29
Localisation : Rennes
Distinction : J'aime ce gars :P
(by Coco')
Scripteur apprenti, futur Berka !
(par Tretian)
Membre anonyme de la communauté, caché derrière son PC
(???)
super prof de script
[Dudu']
Résident permanent de la Chat Box
[Autoproclamé]
Adepte du XDDD [Yak' Very Happy]
Fanatique hystérique de Raymond le français [Un connu]
Date d'inscription : 19/01/2008

[RGSS3] Copier les ressources utilisé par votre jeu lors de son execution dans un dossier

le Ven 16 Déc 2011 - 21:28
Voilà un script français pour RPG Maker Vx Ace qui comme le dit la description, copie les ressources utilisé par votre jeu lors de son exécution dans un dossier en gardant l’arborescence des RTP.
Pour ce faire rien de plus simple, il vous suffit de copier ce fichier dans votre projet et de modifier les deux adresse dans le script:
- ORIGINEL qui désigne l’emplacement des RTP
- EMPLACEMENT qui désigne le dossier où vous voulez copier les ressources
http://www.mediafire.com/?5vb67m24z1dvp98

A placer au dessus de Main:
Code:

#==============================================================================
# Listing de Skillo
#----------------------------------------------------------
#  Ceci est un script RGSS3 à utilisé dans RPG Maker VX ACE
#  Placer le fichier ftools.rb dans le dossier de votre projet
#  et ce script au dessus de Main
#==============================================================================

#==============================================================================
# ** Require
#==============================================================================
module Require
 
  # Dossier contenant les RTP
  # ( faire attention à mettre des / et pas de \ si jamais vous copier coller l'adresse
  # à partir de la barre d'adresse windows ou autre)
  # Ne pas oublier le / en fin
  ORIGINEL = "C:/Program Files/Enterbrain/RPGVXAce-Trial/Trial/"
 
  # Dossier de destination
  # ( faire attention à mettre des / et pas de \ si jamais vous copier coller l'adresse
  # à partir de la barre d'adresse windows ou autre)
  # Ne pas oublier le / en fin
  # Pour integrer directement les ressources à votre projet indiquer ici l'emplacement de votre projet
  EMPLACEMENT = "C:/ressources/"
 
  #--------------------------------------------------------------------------
  # * Methode require de Berka
  #--------------------------------------------------------------------------
  def self.require(dll)
    $LOAD_PATH<<"./"
    Kernel.send(:require,dll)
  end

end


#==============================================================================
# ** Cache
#==============================================================================
module Cache
 
  @listing = []
 
  #--------------------------------------------------------------------------
  # * Listing
  #--------------------------------------------------------------------------
    def self.listing
    return @listing
  end
 
  #--------------------------------------------------------------------------
  # * Listing Bitmap
  #--------------------------------------------------------------------------
  def self.listing
    t=[]
    Require.require "ftools"
  @listing.each{|v| 
    t.push(v)}
    @listing = []
    t.uniq!
    t.sort!
    t.each{|v|
    File.makedirs Require::EMPLACEMENT+v[0]
    File.syscopy(Require::ORIGINEL+v[0]+v[1]+".png", Require::EMPLACEMENT+v[0]) }
  end
 
  #--------------------------------------------------------------------------
  # ● Chargement d'un bitmap
  #--------------------------------------------------------------------------
  def self.load_bitmap(folder_name, filename, hue = 0)
    @cache ||= {}
    if filename.empty?
      empty_bitmap
    elsif hue == 0
      @listing.push([folder_name,filename])
      normal_bitmap(folder_name + filename)
    else
      @listing.push([folder_name, filename])
      hue_changed_bitmap(folder_name + filename, hue)
    end
  end
end

#==============================================================================
# ** Audio
#==============================================================================
module Audio
 
  @cache = []
 
  #--------------------------------------------------------------------------
  # ● Cache audio
  #--------------------------------------------------------------------------
  def self.cache
    return @cache
  end
 
  #--------------------------------------------------------------------------
  # * Listing
  #--------------------------------------------------------------------------
  def self.listing
    t=[]
    Require.require "ftools"
  @cache.each{|v| 
    t.push(v)}
    t.uniq!
    t.sort!
    t.each{|v|
    File.makedirs  Require::EMPLACEMENT+v[0]
    File.syscopy(Require::ORIGINEL+v[0]+v[1]+".ogg", Require::EMPLACEMENT+v[0]) }
    @cache = []
  end
end

#==============================================================================
# ** RPG
#==============================================================================
module RPG
 
  #=============================================================================
  # ** BGM
  #=============================================================================
  class BGM < AudioFile
   
    def play(pos = 0)
      if @name.empty?
        Audio.bgm_stop
        @@last = RPG::BGM.new
      else
        Audio.bgm_play('Audio/BGM/' + @name, @volume, @pitch, pos)
        Audio.cache.push(["Audio/BGM/",@name])
        @@last = self.clone
      end
    end
   
  end
 
  #=============================================================================
  # ** BGS
  #=============================================================================
  class BGS < AudioFile
   
    def play(pos = 0)
      if @name.empty?
        Audio.bgs_stop
        @@last = RPG::BGS.new
      else
        Audio.bgs_play('Audio/BGS/' + @name, @volume, @pitch, pos)
        Audio.cache.push(["Audio/BGS/",@name])
        @@last = self.clone
      end
    end

 end
 
  #=============================================================================
  # ** ME
  #=============================================================================
  class ME < AudioFile
   
    def play
      if @name.empty?
        Audio.me_stop
      else
        Audio.me_play("Audio/ME/" + @name, @volume, @pitch)
        Audio.cache.push(["Audio/ME/", @name])
      end
    end
  end
 
  #=============================================================================
  # ** SE
  #=============================================================================
  class SE < AudioFile
    def play
      unless @name.empty?
        Audio.se_play("Audio/SE/" + @name, @volume, @pitch)
        Audio.cache.push(["Audio/SE/", @name])
      end
    end
  end
end

#==============================================================================
# ■ SceneManager
#------------------------------------------------------------------------------
#  Ce module gère les transitions entre les scènes. Par exemple, les éléments de l'écran du menu principal
#==============================================================================

module SceneManager
 
  def self.run
    DataManager.init
    Audio.setup_midi if use_midi?
    @scene = first_scene_class.new
    @scene.main while @scene
    Audio.listing; Cache.listing if @scene == nil
  end
end

Attention le fait que le RGSS est un langage interprété, les ressources enregistrées seront celle chargées en mémoire. Donc par exemple, si vous n'aller pas dans une map ou si vous n'activez pas le menu, les ressources ne seront pas copiées. Donc ce script est à mettre dès le début de la conception de votre jeu, pour être sur de tout avoir.

Et ne pas oublier de supprimer le fichier ftools, et ce script avant de compiler votre jeux.


Voilà laissez vos coms et n'oubliez pas de lire le mode d'emploi ^^



Dernière édition par Skillo le Ven 16 Déc 2011 - 22:54, édité 1 fois
avatar
Mist'
Staffeux retraité

Nombre de messages : 3298
Age : 25
Localisation : France // Auvergne // Cantal
Distinction : Ours Barbu é_è [/Shamu']
Artiste de talent [Yama']
Date d'inscription : 22/12/2007
http://www.rpgmakervx-fr.com

Re: [RGSS3] Copier les ressources utilisé par votre jeu lors de son execution dans un dossier

le Ven 16 Déc 2011 - 22:34
Joli script Ski'!
Premier script français VXAce, qui plus est, chapeau bas, reste plus qu'à attendre la version complète pour le tester dans les conditions optimales (compilation d'un projet avec le dossier de ressources).

GG! Wink

_________________
avatar
Skillo
Staffeux retraité

Nombre de messages : 526
Age : 29
Localisation : Rennes
Distinction : J'aime ce gars :P
(by Coco')
Scripteur apprenti, futur Berka !
(par Tretian)
Membre anonyme de la communauté, caché derrière son PC
(???)
super prof de script
[Dudu']
Résident permanent de la Chat Box
[Autoproclamé]
Adepte du XDDD [Yak' Very Happy]
Fanatique hystérique de Raymond le français [Un connu]
Date d'inscription : 19/01/2008

Re: [RGSS3] Copier les ressources utilisé par votre jeu lors de son execution dans un dossier

le Ven 16 Déc 2011 - 22:52
Tiens, ça me fait pensé que j'ai pas parler du fait que vu que le RGSS est un langage interprété, les ressources enregistrées seront celle chargées en mémoire donc si vous n'allez pas dans une map ou si vous n'activez pas le menu par exemple les ressources ne seront pas copié. Donc ce script est à mettre dès le début de la conception de votre jeu, pour être sur de tout avoir.

Et ne pas oublier de supprimer le fichier ftools, et ce script avant de compiler votre jeux.
avatar
Balbereith
Staffeux retraité

Nombre de messages : 4129
Age : 25
Localisation : dans l'ombre...
Distinction : Péripatéticienne à temps perdu
Helly n°666 [Coco' ;D]
mon ptit balbounet p'tit jardinier en herbe(les râteaux ça le connait) [tonton Adurna]
Cultivateur professionnel de la commu' (il a de bons outils en de nombreux exemplaires ) [Coco' Smile]
Date d'inscription : 13/05/2009

Re: [RGSS3] Copier les ressources utilisé par votre jeu lors de son execution dans un dossier

le Dim 18 Déc 2011 - 17:10
+5 points pour ce script merci du partage ^^
avatar
Coco'
Staffeux retraité

Nombre de messages : 6580
Age : 24
Localisation : Nord/Douai
Distinction : EL DICTATOR COCO'
Coco-Dieu en puissance

Grand gourou suppléant de la secte des MAGIKARP
Leader charismatique des 2beStaffieux

N°1 du forum
Président, vice-présidents et membres honoraires de la cour suprême du forum
Président de l'association des grosses distinctions CMB
Date d'inscription : 02/07/2008
http://www.rpgmakervx-fr.com

Re: [RGSS3] Copier les ressources utilisé par votre jeu lors de son execution dans un dossier

le Dim 18 Déc 2011 - 22:14
J'ai pas compris à quoi il servait x)

Mais merci du partage :3
avatar
UltimaSasuke
Membre

Nombre de messages : 88
Age : 22
Localisation : France, 05
Distinction : aucune
Date d'inscription : 27/07/2011

Re: [RGSS3] Copier les ressources utilisé par votre jeu lors de son execution dans un dossier

le Dim 18 Déc 2011 - 22:17
Merci du partage. =)

Ce script sert (si j'ai compris) à récupérer les ressources utilisé par ton jeux et uniquement les ressources utilisé, pour éviter les jeux trop gros. Par contre pour récupérer les ressources il faut jouer à ton jeux de A à Z pour récupérer les ressources.
avatar
Coco'
Staffeux retraité

Nombre de messages : 6580
Age : 24
Localisation : Nord/Douai
Distinction : EL DICTATOR COCO'
Coco-Dieu en puissance

Grand gourou suppléant de la secte des MAGIKARP
Leader charismatique des 2beStaffieux

N°1 du forum
Président, vice-présidents et membres honoraires de la cour suprême du forum
Président de l'association des grosses distinctions CMB
Date d'inscription : 02/07/2008
http://www.rpgmakervx-fr.com

Re: [RGSS3] Copier les ressources utilisé par votre jeu lors de son execution dans un dossier

le Dim 18 Déc 2011 - 22:24
Ah ouais j'ai compris, c'est utile en effet :3
Le seul défaut que je peux voir, c'est si le joueur ne possède pas VXAce ainsi que ses RTP, non?
avatar
Skillo
Staffeux retraité

Nombre de messages : 526
Age : 29
Localisation : Rennes
Distinction : J'aime ce gars :P
(by Coco')
Scripteur apprenti, futur Berka !
(par Tretian)
Membre anonyme de la communauté, caché derrière son PC
(???)
super prof de script
[Dudu']
Résident permanent de la Chat Box
[Autoproclamé]
Adepte du XDDD [Yak' Very Happy]
Fanatique hystérique de Raymond le français [Un connu]
Date d'inscription : 19/01/2008

Re: [RGSS3] Copier les ressources utilisé par votre jeu lors de son execution dans un dossier

le Dim 18 Déc 2011 - 22:30
C'est pas un script pour les joueur c'est un script pour les dev ça permet de recup les ressources que t'as utilisé pour faire ton jeu et du coup ne pas être obligé de mettre toutes tes ressources lors de la compilation de ton projet. C'est pour ça qu'il faut le virer avant de complier son jeu.
avatar
Radiuss11
Membre

Nombre de messages : 48
Age : 27
Localisation : France, Moselle
Distinction : aucune
Date d'inscription : 27/04/2008

Re: [RGSS3] Copier les ressources utilisé par votre jeu lors de son execution dans un dossier

le Lun 19 Déc 2011 - 20:59
Utile, un peu wierd a mon avis car se taper 100 % de son jeu avant de recompiler et le tout d'une traite si je comprends bien.. tout dépends du jeu, la bonne vieille méthode de l'organisation et du suivi de ses ressources fonctionne plus ? Sales jeunes ^^" huh. j'm'emporte sry., mais bon ça doit avoir son utilité quand meme, +1 ^^
avatar
Skillo
Staffeux retraité

Nombre de messages : 526
Age : 29
Localisation : Rennes
Distinction : J'aime ce gars :P
(by Coco')
Scripteur apprenti, futur Berka !
(par Tretian)
Membre anonyme de la communauté, caché derrière son PC
(???)
super prof de script
[Dudu']
Résident permanent de la Chat Box
[Autoproclamé]
Adepte du XDDD [Yak' Very Happy]
Fanatique hystérique de Raymond le français [Un connu]
Date d'inscription : 19/01/2008

Re: [RGSS3] Copier les ressources utilisé par votre jeu lors de son execution dans un dossier

le Lun 19 Déc 2011 - 22:08
Oula!!! j'ai pas dis que ça devait être en une seule fois, ça copie les ressources au fur et à mesure que tu les utilises dans un dossier, ça les supprimes pas après.
Par example, tu tests ta map 1, ça save les ressources utilisé ensuite tu test les combats etc... ça copie à chaque fois que tu lance l’exécution (cliquer sur le lecture vert). et faut le viré avant de compiler ton jeu parce que le mec kan il va tester ton jeu il aura pas forcement les RTP ou autre donc il se tapera un message d'erreur, c'est tout, je vois pas ce qu'il y a de weird là dedans.

Du coup logiquement si tu le met dès le début du développement et que tu test assez régulièrement ce que tu fais t'as pas à te faire chier à récup les ressources, ça le fait pour toi.
avatar
MrD2rk
Membre

Nombre de messages : 148
Age : 20
Localisation : Dans un tiroir (Aie)
Distinction : aucune
Date d'inscription : 24/10/2011

Re: [RGSS3] Copier les ressources utilisé par votre jeu lors de son execution dans un dossier

le Mar 20 Déc 2011 - 11:33
Merci du partage Smile
avatar
toshio03
Membre

Nombre de messages : 9
Distinction : aucune
Date d'inscription : 26/12/2011

Re: [RGSS3] Copier les ressources utilisé par votre jeu lors de son execution dans un dossier

le Mar 27 Déc 2011 - 16:26
Voilà un script vraiment utile, pour moi indispensable à tous maker ! Niveau gain de temps on ne fait pas mieux, chapeau à toi !
avatar
Azuma-01
Membre

Nombre de messages : 94
Age : 26
Localisation : Amos
Distinction : aucune
Date d'inscription : 22/09/2009

Re: [RGSS3] Copier les ressources utilisé par votre jeu lors de son execution dans un dossier

le Lun 23 Jan 2012 - 22:08
Il y aune chose que je comprend pas: pourquoi créé
Code:
class Cache
  def self.listing
    return @listing
  end
end
si la tu la réécris immédiatement après
Code:
  def self.listing
    t=[]
    Require.require "ftools"
  @listing.each{|v| 
    ...

Au prie appelle la première "self.cache" pour avoir une similitude avec le module Audio...


@Skillo a écrit:C'est pas un script pour les joueur c'est un script pour les dev ça permet de recup les ressources que t'as utilisé pour faire ton jeu et du coup ne pas être obligé de mettre toutes tes ressources lors de la compilation de ton projet. C'est pour ça qu'il faut le virer avant de complier son jeu.
Le code
Code:
(Audio.listing; Cache.listing) if @scene == nil && $TEST
pourrait permettre aux personnes qui, comme moi, oublie de virer le script, que leur jeux soit tout de même jouable.

c'est presque un nécro ça...
Contenu sponsorisé

Re: [RGSS3] Copier les ressources utilisé par votre jeu lors de son execution dans un dossier

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