Le deal à ne pas rater :
Display Star Wars Unlimited Ombres de la Galaxie : où l’acheter ?
Voir le deal

Aller en bas
Anonymous
Invité
Invité

Résolu Fichier rvdata2

Mar 17 Oct 2017 - 11:52
Plop! Chalut tout le monde! :3

Je reviens avec une petite ribamdelle de questions que certains se seront peut-être déjà posé...

À savoir:

- Que sont les fichiers rvdata2 au commencement? Comment sont-ils structurés? Et est-ce qu'on peut y accéder à ces fichus machins? Fichier rvdata2 728442

J'avais fait quelques recherche et avais découvert qu'il fallait les "unserialiser" pour les lire... pas compris -_-

J'ai essayé aussi de l'ouvrir directement avec ruby pour voir la tête qu'il avait mais on m'a dit module RPG non trouvé... pas compris non plus. Pourquoi est-ce que c'est nécessaire de charger le module simplement pour les lire? ('fin, voir tout simplement ce qu'il y a dedans même)

Et puis aussi, est-ce légal d'aller modifier ça et chercher comment ça fonctionne ou bien, c'est interdit? (Comme avec les résolutions qu'on a pas le droit de modifier légalement par ex)

Je vous remercie d'avance pour la réponse Fichier rvdata2 522164
(plein de bisous et des cookies à la clé :3)


Dernière édition par Shamugan le Mer 18 Oct 2017 - 17:03, édité 1 fois
Eekoun
Eekoun
Membre

Nombre de messages : 86
Distinction : aucune
Date d'inscription : 06/03/2014

Résolu Re: Fichier rvdata2

Mar 17 Oct 2017 - 14:52
Les fichiers rvdata2 sont des données RPGMaker qui sont "transformée" en chaine de caractères au moyen du module Marshal. Tu peux extraire ces données en utilisant la fonction Marshal.load ou alors load_data (qui fonctionne même si les données sont cryptées).
Dany
Dany
Membre

Nombre de messages : 784
Age : 27
Distinction : aucune
Date d'inscription : 16/11/2010
http://gamers-studio.forumofficiel.fr/

Résolu Re: Fichier rvdata2

Mar 17 Oct 2017 - 15:13
J'ai déjà réussi à lire un fichier rvdata2 pour le log Quest Maker (VX Ace Quest). La structure est à peu près pareil que MV. Simplement qui ne peut pas charger des données sans avoir la structure des données. Voilà pourquoi il te demande le module RPG. En gros le module est la class qui stocke les donnees, le fichier lui contient ces données pour le stocker dans la class.
Anonymous
Invité
Invité

Résolu Re: Fichier rvdata2

Mer 18 Oct 2017 - 15:44
Merci pour vos réponses à tout les deux! Very Happy
Et désolé de pas avoir répondu tout de suite, j'ai essayé de chercher un peu pour comprendre parce j'étais un peu à ce niveau et je voulais pas trop poser de questions bêtes =s

Du coup, les rvdata2 sont des données transformées en "chaînes de caractère" mais sans leurs "structures"? C'est donc pas du cryptage mais plutôt de la compression? On sépare les données en deux parties: 1) le contenu qui est transformé en chaînes de caractère et 2) la structure qui agit comme une clé de décompression d'une certaine manière? Ou pas du tout?

Et puis pour charger et explorer un peu ces données, en fait, j'étais parti du principe que je pouvais les analyser hors de VX Ace, via Interactive Ruby (avec ruby 1.9.2 du coup), et j'avais utilisé le code suivant pour les charger:

Code:
File.open(filename, "rb") { |f|
  obj = Marshal.load(f)
}

Mais c'est à ce moment que je bloque, je comprend pas comment amener le module RPG -_-. Est-ce que je suis sur la bonne piste ou bien pas du tout et c'est pas possible d'analyser les données comme ça?

PS: Ne pas hésitez à m'envoyer bouler si il faut que j'analyse mieux les bases de ruby et de rgss3.

Eekoun
Eekoun
Membre

Nombre de messages : 86
Distinction : aucune
Date d'inscription : 06/03/2014

Résolu Re: Fichier rvdata2

Mer 18 Oct 2017 - 16:04
Ce n'est ni du cryptage ni de la compression, c'est comme tu l'as dit, de la sérialisation. Donc grosso-modo, une manière de transformer quelque chose de spécifique à un langage dans quelque chose de plus générique pour l'importer dans un autre programme (par exemple).
Un format "connu et populaire" de sérialisation et le Json.

Code:
File.open(filename, "rb") { |f|
  obj = Marshal.load(f)
}

Si tu es dans un contexte RPGMaker, ce code devrait te renvoyer une instance de ce qui a été sérialisé. Par exemple; donc pas besoin de "faire autre chose", tu peux lier ton expression à une valeur et te servir de cette valeur.

Si par contre tu es dans un autre programme Ruby; il faudra que ton programmes connaisse la structure de données vers quoi désérialiser, en général, il s'agit de classes habitantes dans le module RPG, et le code est situé dans l'aide de RPGMaker (F1).
Anonymous
Invité
Invité

Résolu Re: Fichier rvdata2

Mer 18 Oct 2017 - 16:27
D'accord, c'est ça la sérialisation et c'est à ça que ça sert en fait Oo


Eekoun a écrit:Si par contre tu es dans un autre programme Ruby; il faudra que ton programmes connaisse la structure de données vers quoi désérialiser, en général, il s'agit de classes habitantes dans le module RPG, et le code est situé dans l'aide de RPGMaker (F1).

Wait x). Tu veux dire que la partie Définition de chaque RPG::, c'est tout ce qu'il me faut?? Je charge tout ça au préalable et puis, Paf, c'est bon??

Waaaahhh, si c'est ça, je viens d'avoir une illumination là x). Et du coup, je voulais analyser System.rvdata2. Si je veux faire ça, il faudra que je charge seulement les RPG::system ou bien, il faut que je charge le module entier?

Merci infiniment pour tes réponses, elles m'aident beaucoup. Very Happy
Eekoun
Eekoun
Membre

Nombre de messages : 86
Distinction : aucune
Date d'inscription : 06/03/2014

Résolu Re: Fichier rvdata2

Mer 18 Oct 2017 - 16:41
Il n y a rien de bien compliqué et tu n'as même pas besoin de "Marshalizer" ton fichier. Tu peux simplement aller lire la documentation (section RPG::System) ou alors dans un appel de script, faire un
"p $data_system".

Par contre, si tu veux désérializer en dehors de RPGmaker, tu peux te servire de ça : https://raw.githubusercontent.com/RMEx/RMEGit/master/lib/rgss.rb (qui te permettra de désérialiser toutes les données built-in de VXace).
Anonymous
Invité
Invité

Résolu Re: Fichier rvdata2

Mer 18 Oct 2017 - 17:02
Yay! x)

Infinite thanks. Je crois que j'avais mal compris la docu, en fait (je croyais, comme il n'y avait pas grand-chose, qu'il y avait des trucs que la docu expliquait pas directement mais en fait si x) ). Mais bon, au moins, j'ai quand même appris des trucs qui me seront utiles pour plus plus tard. Notamment pourvoir bidouiller et tester plus tranquillement en dehors RM. Very Happy

Merci, pour toutes les réponses en tous cas, je passe en résolu^^
Contenu sponsorisé

Résolu Re: Fichier rvdata2

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