- InvitéInvité
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?
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
(plein de bisous et des cookies à la clé :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?
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
(plein de bisous et des cookies à la clé :3)
- EekounMembre
- Nombre de messages : 86
Distinction : aucune
Date d'inscription : 06/03/2014
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).
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.
- InvitéInvité
Re: Fichier rvdata2
Mer 18 Oct 2017 - 15:44
Merci pour vos réponses à tout les deux!
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:
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.
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.
- EekounMembre
- Nombre de messages : 86
Distinction : aucune
Date d'inscription : 06/03/2014
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.
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).
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).
- InvitéInvité
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
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.
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.
- EekounMembre
- Nombre de messages : 86
Distinction : aucune
Date d'inscription : 06/03/2014
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).
"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).
- InvitéInvité
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.
Merci, pour toutes les réponses en tous cas, je passe en résolu^^
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.
Merci, pour toutes les réponses en tous cas, je passe en résolu^^
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|