Nous sommes actuellement le 11 Décembre 2018, 09:04

[Tuto] éditer son fichier de sauvegarde

Postez ici vos tutoriels, vos impressions, etc... Retrouvez aussi les vidéos tutoriels de Youtube!

[Tuto] éditer son fichier de sauvegarde

Message par skypop » 02 Août 2015, 13:37

Cette astuce peut aussi bien servir à tricher, réparer une injustice ou palier à une fonctionnalité manquante du jeu (à vous de voir)
En tout cas ça peut rendre bien des services.

Il s'agit de modifier des valeurs dans son fichier de sauvegarde.
Pour cela vous aurez besoin d'un éditeur "texte brut", comme notepad (windows) ou simpletext (mac). Cependant, je vous recommande Notepad++ (gratuit, sous licence libre), qui est plus agréable à utiliser.
N'utilisez pas Word, Wordpad, OpenOffice ou autre logiciels de traitement de texte : ils sont à base d'un format de texte enrichi (on peut mettre le texte en gras, choisir la police etc.). Le risque étant de corrompre votre sauvegarde, en plus d'être très peu pratique et approprié.

Autre outil potentiellement utile, notamment si vous dépassez du cadre de ce tutoriel : Winmerge (gratuit, licence libre) ou autre logiciel semblable : il permet d'ouvrir deux fichiers texte-brut (ou deux versions d'un même fichier) et de comparer facilement ce qui est identique, de ce qui diffère.

Vous devrez aussi, bien identifier vos fichiers de sauvegarde.
Où : Trouver le dossier du jeu. Si vous êtes sur Steam : C:\Program Files\Steam\ :arrow: dossier SteamApps :arrow: dossier common :arrow: dossier Kerbal Space Program
Si vous y êtes, identifiez l'emplacement des sauvegardes : dossier saves :arrow: Là se trouve un dossier pour chacune des parties que vous avez lancé. Ouvrez celui correspondant à la partie que vous souhaitez éditer

Quoi : Le fichier principal est nommé persistent.sfs qui correspond aux sauvegardes automatiques
Il y a également le ficher quicksave.sfs qui correspond aux sauvegardes rapides (Quicksave quand vous appuyez sur la touche F5 en jeu)
Ainsi qu'autant de fichier au nom référant aux différentes sauvegardes que vous aurez créé.

Avertissement :
Par précaution, faites toujours une copie originale d'un fichier avant d'aller trifouiller dedans. Comme ça, en cas d'erreur, supprimez le fichier et remplacez-le par cette copie de sécurité.


Tutoriels déjà dispo dans le forum sur ce thème :

Pour éviter de m'éparpiller, je vais faire un sommaire par cas de figure.
Sommaire : (chaque lien vous mènera à un post du topic, traitant ce sujet)
(note: je pourrais en rajouter au fur et à mesure. car je ne peux pas remplir un topic exhaustif d'une traite...)
Dernière édition par skypop le 03 Août 2015, 20:29, édité 7 fois.
Avatar de l’utilisateur
Message(s) : 65
Inscription : 07 Février 2014, 05:36
Localisation : Non renseignée

Re: [Tuto] éditer son fichier de sauvegarde

Message par skypop » 02 Août 2015, 14:38

Ravitailler un vaisseau
Par exemple, approvisionner 100 unités de monopropellant.

  • Bien noter le nom du vaisseau (de façon à le pas risquer de le confondre)
  • Bien noter le nom d'un des réservoirs de monopropellant dans lequel on compte injecter les 100 unité, et s'assurer qu'il peut effectivement contenir cette quantité.
  • Faire une copie du fichier "persistent.sfs" et la garder de côté (au cas où, pour réparer une bêtise de faite)
  • Ouvrir le fichier persistent.sfs avec Notepad++ (ou lancer Notepadd++ et glisser le fichier dedans)

Tout d'abord il s'agira de retrouver la portion correspondant au vaisseau que vous comptez ravitailler.
Pour ne pas perdre de temps, utilisez la fonction de recherche : Menu Recherche :arrow: Rechercher (Ctrl + F)
Dans le champs de recherche inscrivez VESSEL
Si cette option est disponible, cochez "Respecter la casse" (ce qui veut dire que la recherche tiendra compte des lettres en majuscules/minuscules)

Cliquez sur le bouton Suivant
Et vous verrez défiler chacun de vos vaisseaux en cours de vol.
Dans le code, cherchez la mention suivante :
Code : Tout sélectionner
         name = Minmus SkyCrane

Elle indique le nom que vous avez donné au vaisseau (ici : Minmus SkyCrane)
Image

Maintenant il s'agit de parcourir le contenu de ce vaisseau, trouver un réservoir approprié, et y injecter la quantité de carburant souhaité.
Pour que ce soit plus pratique, je vous invite à cliquer sur l'accolade qui se trouve juste en dessous du mot VESSEL (de placer le curseur du texte à cet endroit)
Image
Cela a pour effet de surligner en rouge le cran de tabulation jusqu'à ce que cette accolade soit refermée. Comme ça vous ne manquerez pas de remarquer si vous passez à un autre vaisseau.

Entre ces deux accolade, vous ne tarderez pas à trouver un bon nombre de sous-parties intitulées PART. Ces sous-parties sont également ouvertes puis refermées par des accolades. Ces sous-parties définissent chaque pièce de votre vaisseau, en partant (à priori) du haut vers le bas.
Faites défiler le fichier en restant attentif, jusqu'à trouver une sous-partie PART correspondant à un réservoir.

Encore une fois, fiez-vous à la propriété name = qui désigne le nom de code de la pièce.
En principe, le nom de code reste assez explicite. Voici le premier réservoir que j'ai trouvé :
Image

"RCSTank1-2" comme ça, je ne sais pas trop à quel type de réservoir il correspond.
Il faut être malin :
  • soit trouver sur internet une liste des pièces avec leur nom de code (peut-être dans une documention des créateurs de mods)
  • soit se remémorer l'ordre et la construction de son vaisseau (quitte à retourner en jeu vérifier)
  • soit deviner, en examinant le code à la recherche d'indices

Là par exemple, vers la fin de la sous-partie PART je découvre un très bon indice :
Code : Tout sélectionner
            RESOURCE
            {
               name = MonoPropellant
               amount = 293.116581885469
               maxAmount = 750
               flowState = False
               isTweakable = True
               hideFlow = False
               flowMode = Both
            }

La propriété maxAmount indique la contenance maximale, elle est de 750. Je comprend qu'il s'agit du FL-R1 RCS Fuel Tank (le gros réservoir de monopropellant)
ça tombe bien, c'est celui que je comptais ravitailler.

Pour ça, il suffit de modifier la valeur assignée à la propriété amount qui correspond à la quantité de carburant actuellement dans le réservoir.
Je peux remplacer le nombre 293.116581885469 par 750, comme ça le réservoir sera plein. Mais mon projet était juste de rajouter 100 unités, je peux aussi bien inscrire 393.116581885469 (la même quantité +100)

Je sauvegarde le fichier.
Plus qu'à relancer le jeu, et vérifier que tout est OK.
Si ce n'est pas le cas : supprimez le fichier persistent.sfs pour le remplacer par la copie de sécurité que vous aviez fait au préalable.

Dans le cas où vous souhaiteriez ravitailler autre chose que du monopropellant :
Procédez de la même façon pour identifier la pièce à ravitailler, et inspectez la sous-sous-partie RESOURCE
Par exemple :

Cas particulier pour le carburant qui combine Liquid fuel et Oxidizer : la sous-partie PART contiendra deux sous-sous-parties RESOURCE. C'est à dire une pour chaque fluide. Songez donc à ravitailler les deux, à égales proportions.
Code : Tout sélectionner
            RESOURCE
            {
               name = LiquidFuel
               amount = 0
               maxAmount = 360
               flowState = True
               isTweakable = True
               hideFlow = False
               flowMode = Both
            }
            RESOURCE
            {
               name = Oxidizer
               amount = 0
               maxAmount = 440
               flowState = True
               isTweakable = True
               hideFlow = False
               flowMode = Both
            }


Ravitaillement en électricité
Code : Tout sélectionner
         RESOURCE
            {
               name = ElectricCharge
               amount = 34.7751339269755
               maxAmount = 120
               flowState = True
               isTweakable = True
               hideFlow = False
               flowMode = Both
            }


Minerais
Code : Tout sélectionner
            RESOURCE
            {
               name = Ore
               amount = 1500
               maxAmount = 1500
               flowState = True
               isTweakable = True
               hideFlow = False
               flowMode = Both
            }


Je n'ai pas dans ma sauvegarde de vaisseau utilisant le carburant pour avions, mais je suppose qu'il s'agira simplement de LiquidFuel.
Je n'ai pas non plus de vaisseau équipés de propulseurs ioniques, mais je crois que ces quelques exemples suffiront à vous aider à identifier ce carburant.
Avatar de l’utilisateur
Message(s) : 65
Inscription : 07 Février 2014, 05:36
Localisation : Non renseignée

Re: [Tuto] éditer son fichier de sauvegarde

Message par Lingerchef » 02 Août 2015, 16:34

Merci
En faite j'essayais d'ouvrir le fichier persistent avec Word pour profiter de la fonction recherche de Word. ( Je savais pas que le bloc-note en avait une).
Bref, trop de caractère ou trop de page, mon Word plantait systématiquement.
"Rien ne se perd, rien ne se crée, tout se transforme" Lavoisier, 1777
"Ça sert à rien d'être écolo, vaut mieux être raisonnable" Moi, 2010
Avatar de l’utilisateur
Message(s) : 192
Inscription : 04 Juin 2015, 21:25
Localisation : s'est encore perdu en cherchant Duna

Re: [Tuto] éditer son fichier de sauvegarde

Message par skypop » 02 Août 2015, 17:03

Word n'est pas un éditeur de texte brut, mais un éditeur de texte enrichi (ce qui signifie qu'on peut mettre le texte en gras, choisir la police, etc.)
C'est complètement inapproprié pour ce genre de chose : il faut que le fichier soit et reste en texte brut (c'est à dire du texte point barre), au risque de corrompre ta sauvegarde, car le format de fichier est différent.
Les meilleurs outils sont les éditeurs conçu pour les codeurs. Notepad++ est le compromis idéal entre le bloc note de base et les éditeurs blindés de fonctionnalités des codeurs.

Du coups j'ai édité le premier post pour insister sur ce point.
Avatar de l’utilisateur
Message(s) : 65
Inscription : 07 Février 2014, 05:36
Localisation : Non renseignée

Re: [Tuto] éditer son fichier de sauvegarde

Message par Slift » 03 Août 2015, 16:03

Je rencontre un problème avec cette edition de sauvegarde justement..

je voudrais renommer quelques Kerbals..

Et je le fais dans le fichier de sauvegarde via notepad (paragraphe "ROSTER").

Je comprend pas quand je lance le jeu les kerbals sont bien renommés mais changent de classe (passent de pilot à enginer ,de enginer à scientifique etc..)

Comment se fait il qu'ils changent de métier comme ca ??


edit..

Ok je viens de voir sur le net que leurs professions sont en fonction de leurs noms..et que c'est un peu au petit bonheur la chance ..^^
https://steamcommunity.com/app/220200/discussions/0/627456486252639390/

Désolé de vous dire que si c'est ça ...c'est du Grand N'importe Quoi..

Redit (qui pourrait servir à ce tuto.)

la team Alpha (jebedhia ...et compagnie) ont des rôles assignés et fixes..

les autres c'est que du Random , donc chaque changement de nom sur un Kerbal lui réassignera une classe au pif..
--La route est longue...Mais la voie est libre--
Avatar de l’utilisateur
Message(s) : 143
Inscription : 18 Juillet 2015, 12:04
Localisation : Non renseignée

Re: [Tuto] éditer son fichier de sauvegarde

Message par skypop » 03 Août 2015, 19:16

OK, en effet, j'avais remarqué que la profession ne figurait pas dans les données.
Merci pour en avoir démystifié les conséquences. J'ajoute ça au sommaire. ;)

Je complète.

Donc les Kerbals sont définis dans le bloc ROSTER, situé à la fin du fichier.
Voici un exemple :
Code : Tout sélectionner
      KERBAL
      {
         name = Jebediah Kerman
         gender = Male
         type = Crew
         brave = 0.5
         dumb = 0.5
         badS = True
         tour = False
         state = Available
         ToD = 0
         idx = 0
         CAREER_LOG
         {
            flight = 35
            0 = Recover
            1 = ExitVessel,Kerbin
            1 = Land,Kerbin
            1 = Flight,Kerbin
            1 = BoardVessel,Kerbin
            1 = Recover
            2 = Flight,Kerbin
            2 = Land,Kerbin
            2 = ExitVessel,Kerbin
            2 = BoardVessel,Kerbin
            2 = Recover
            3 = Flight,Kerbin
            3 = Land,Kerbin
            3 = Recover
            4 = Flight,Kerbin
            4 = Suborbit,Kerbin
            4 = Land,Kerbin
            4 = Recover
            5 = Flight,Kerbin
            5 = Suborbit,Kerbin
            5 = Orbit,Kerbin
            5 = Land,Kerbin
            5 = Recover
            6 = Land,Kerbin
            6 = Flight,Kerbin
            6 = Suborbit,Kerbin
            6 = Recover
            7 = Land,Kerbin
            7 = Flight,Kerbin
            7 = Suborbit,Kerbin
            7 = Orbit,Kerbin
            7 = Recover
            8 = Recover
            9 = Land,Kerbin
            9 = Flight,Kerbin
            9 = Suborbit,Kerbin
            9 = Orbit,Kerbin
            9 = ExitVessel,Kerbin
            9 = BoardVessel,Kerbin
            9 = Recover
            10 = Flight,Kerbin
            10 = Suborbit,Kerbin
            10 = Land,Kerbin
            10 = Recover
            11 = Flight,Kerbin
            11 = Suborbit,Kerbin
            11 = Orbit,Kerbin
            11 = Land,Kerbin
            11 = Recover
            12 = Flight,Kerbin
            12 = Suborbit,Kerbin
            12 = Orbit,Kerbin
            12 = Land,Kerbin
            12 = Recover
            13 = Flight,Kerbin
            13 = Suborbit,Kerbin
            13 = Orbit,Kerbin
            13 = ExitVessel,Kerbin
            13 = BoardVessel,Kerbin
            13 = Flyby,Mun
            13 = Escape,Mun
            13 = Flyby,Kerbin
            13 = Land,Kerbin
            13 = Recover
            14 = Flight,Kerbin
            14 = Suborbit,Kerbin
            14 = Orbit,Kerbin
            14 = Land,Kerbin
            14 = ExitVessel,Kerbin
            14 = BoardVessel,Kerbin
            14 = Recover
            15 = ExitVessel,Kerbin
            15 = Land,Kerbin
            15 = Flight,Kerbin
            15 = BoardVessel,Kerbin
            15 = Recover
            16 = Flight,Kerbin
            16 = Suborbit,Kerbin
            16 = Orbit,Kerbin
            16 = Land,Kerbin
            16 = Recover
            17 = Flight,Kerbin
            17 = Suborbit,Kerbin
            17 = Orbit,Kerbin
            17 = Flyby,Mun
            17 = Escape,Mun
            17 = Flyby,Kerbin
            17 = Land,Kerbin
            17 = ExitVessel,Kerbin
            17 = BoardVessel,Kerbin
            17 = Recover
            18 = Land,Kerbin
            18 = Recover
            19 = Flight,Kerbin
            19 = Suborbit,Kerbin
            19 = Orbit,Kerbin
            19 = Land,Kerbin
            19 = Recover
            20 = Flight,Kerbin
            20 = Suborbit,Kerbin
            20 = Orbit,Kerbin
            20 = Land,Kerbin
            20 = Recover
            21 = Flight,Kerbin
            21 = Suborbit,Kerbin
            21 = Orbit,Kerbin
            21 = Flyby,Minmus
            21 = Escape,Minmus
            21 = ExitVessel,Minmus
            21 = BoardVessel,Minmus
            21 = Flyby,Kerbin
            21 = Land,Kerbin
            21 = Recover
            22 = Flight,Kerbin
            22 = Suborbit,Kerbin
            22 = Orbit,Kerbin
            22 = Flyby,Mun
            22 = Escape,Mun
            22 = Orbit,Mun
            22 = Suborbit,Mun
            22 = Land,Mun
            22 = ExitVessel,Mun
            22 = PlantFlag,Mun
            22 = BoardVessel,Mun
            22 = Flyby,Kerbin
            22 = Land,Kerbin
            22 = Recover
            23 = Flight,Kerbin
            23 = Suborbit,Kerbin
            23 = Orbit,Kerbin
            23 = ExitVessel,Kerbin
            23 = BoardVessel,Kerbin
            23 = Flyby,Minmus
            23 = Escape,Minmus
            23 = Orbit,Minmus
            23 = ExitVessel,Minmus
            23 = BoardVessel,Minmus
            23 = Suborbit,Minmus
            23 = Flyby,Kerbin
            23 = Land,Kerbin
            23 = Recover
            24 = Recover
            25 = Flight,Kerbin
            25 = Suborbit,Kerbin
            25 = Orbit,Kerbin
            25 = Flyby,Minmus
            25 = Escape,Minmus
            25 = Orbit,Minmus
            25 = Suborbit,Minmus
            25 = Land,Minmus
            25 = ExitVessel,Minmus
            25 = PlantFlag,Minmus
            25 = BoardVessel,Minmus
            25 = Flyby,Kerbin
            25 = Flyby,Mun
            25 = Escape,Mun
            25 = Land,Kerbin
            25 = Recover
            26 = Flight,Kerbin
            26 = Suborbit,Kerbin
            26 = Orbit,Kerbin
            26 = Land,Kerbin
            26 = Recover
            27 = Land,Kerbin
            27 = Recover
            28 = Flight,Kerbin
            28 = Suborbit,Kerbin
            28 = Orbit,Kerbin
            28 = Flyby,Minmus
            28 = Escape,Minmus
            28 = Orbit,Minmus
            28 = Flyby,Kerbin
            28 = Land,Kerbin
            28 = Recover
            29 = Flight,Kerbin
            29 = Suborbit,Kerbin
            29 = Orbit,Kerbin
            29 = Flyby,Mun
            29 = Escape,Mun
            29 = Flyby,Kerbin
            29 = Flyby,Minmus
            29 = Escape,Minmus
            29 = Escape,Kerbin
            29 = Flyby,Sun
            29 = Orbit,Sun
            29 = ExitVessel,Sun
            29 = BoardVessel,Sun
            29 = Land,Kerbin
            29 = Recover
            30 = Flight,Kerbin
            30 = Suborbit,Kerbin
            30 = Orbit,Kerbin
            30 = Flyby,Minmus
            30 = Escape,Minmus
            30 = Orbit,Minmus
            30 = Suborbit,Minmus
            30 = Flyby,Kerbin
            30 = Land,Kerbin
            30 = Recover
            31 = Flight,Kerbin
            31 = Suborbit,Kerbin
            31 = Land,Kerbin
            31 = Recover
            32 = Land,Kerbin
            32 = Recover
            33 = Land,Kerbin
            33 = Recover
            34 = Land,Kerbin
            34 = Recover
         }
         FLIGHT_LOG
         {
            flight = 35
         }
      }


Je n'ai pas eu l'occasion de tester des modifications très avancées dessus, hormis de ramener certains Kerbals à la vie (pour ceux injustement assassinés par un bug)

Voici une base de documentation (mais attention, car elle n'a pas l'air très fraîche) : http://wiki.kerbalspaceprogram.com/wiki ... statistics
Qui explicite les propriétés ainsi :
  • name = (string) Nom complet, visuellement limité à 18 caractères environ.
  • brave = (float) Courage, nombre compris entre 0 et 1.
  • dumb = (float) Stupidité, nombre compris entre 0 et 1.
  • badS = (bool) Personalité "Badass", la valeur est vrai ou fausse (true or false).
  • state = Statut du kerbal. Pren comme valeur “unassigned”, “On mission”, “EVA” ou “Dead”.
    :!: J'ai un gros doute, car ce que je lis dans ma propre sauvegarde c'est plutôt "Available" ou "Assigned" (mais je ne suis pas exhaustif)
  • ToD = Time of death. Cette documentation recommande de ne pas modifier cette valeur (ou de recopier celle d'un Kerbal préexistant)
  • idx = La doc recommande également de ne pas modifier cette valeur. Pour les nouveaux kerbal (?) elle est définie à -1.
Dernière édition par skypop le 03 Août 2015, 20:33, édité 2 fois.
Avatar de l’utilisateur
Message(s) : 65
Inscription : 07 Février 2014, 05:36
Localisation : Non renseignée

Re: [Tuto] éditer son fichier de sauvegarde

Message par skypop » 03 Août 2015, 20:28

Ramener un Kerbal à la vie
Utile s'il vous arrivait ce genre de mésaventure (Bug, comme si le kerbal s'est retrouvé aspiré dans un trou noir..)

Méthode habituelle :
  • Bien noter le nom du Kerbal concerné (ce qui permet de le retrouver directement)
  • Faire une copie du fichier "persistent.sfs" et la garder de côté (au cas où, pour réparer une bêtise de faite)
  • Ouvrir le fichier persistent.sfs avec Notepad++ (ou lancer Notepadd++ et glisser le fichier dedans)

Tout d'abord il s'agira de retrouver la portion correspondant au différents kerbals recrutés.
Pour ne pas perdre de temps, utilisez la fonction de recherche : Menu Recherche :arrow: Rechercher (Ctrl + F)
Dans le champs de recherche, plusieurs solutions :
:arrow: inscrivez state = Dead et vous tomberez sur le premier cadavre que contient votre sauvegarde
:arrow: inscrivez name = Bill Kerman c'est à dire "name = " suivi du nom du kerbal (ça évite de tomber sur chaque mentions du nom dans les données d'autres objets. Par ex: les drapeaux qui enregistrent le nom du kerbal qui l'a planté)
:arrow: soit vous inscivez ROSTER et vous tomberez au début de la liste des kerbals

Un bloc contenant toutes les données d'un kerbal commence par le mot KERBAL, suivi d'accolade contenant toutes ses données.
Voici un exemple :
Code : Tout sélectionner
      KERBAL
      {
         name = Jebediah Kerman
         gender = Male
         type = Crew
         brave = 0.5
         dumb = 0.5
         badS = True
         tour = False
         state = Dead
         ToD = 0
         idx = 0
         CAREER_LOG
         {
            flight = 2
            0 = Recover
            1 = ExitVessel,Kerbin
            1 = Land,Kerbin
            1 = Flight,Kerbin
            1 = BoardVessel,Kerbin
            1 = Recover
            2 = Flight,Kerbin
            2 = Land,Kerbin
            2 = ExitVessel,Kerbin
            2 = Flight,Kerbin
            2 = Escape,Kerbin
            2 = Die
         }
         FLIGHT_LOG
         {
            flight = 2
         }
      }


Il suffit de replacer la ligne suivante :
Code : Tout sélectionner
         state = Dead

Par :
Code : Tout sélectionner
         state = Available


Pour bien faire, vous pouvez aussi effacer ce triste épisode de sa carrière.
Dans la sous-partie CAREER_LOG, se trouve une liste numérotés de chaque mission et les étapes effectuées.
Le numéro correspond à la mission, donc si plusieurs lignes indiquent le même numéro c'est que chacune de ces étapes ont eu lieu lors du même vol.

Dans cet exemple, la mission tragique est la n°2 (attention, en programmation on ne commence pas à compter à partir de 1, mais à partir de zéro. Donc le vol n°2 est le 3e vol de sa carrière)
J'efface juste ces quelques lignes :
Code : Tout sélectionner
            2 = Flight,Kerbin
            2 = Land,Kerbin
            2 = ExitVessel,Kerbin
            2 = Flight,Kerbin
            2 = Escape,Kerbin
            2 = Die


NB: dans l'élément CAREER_LOG et FLIGHT_LOG, se trouve cette ligne :
Code : Tout sélectionner
            flight = 2

Ce que j'ai remarqué, c'est que lorsque le kerbal est "Available", la valeur de flight est égale au nombre de missions de sa carrière +1
Lorsqu'il est en mission, ou mort, la valeur de flight correspond au numéro de la mission en cours (ou la mission où il a trouvé la mort)
Je pense que flight est un compteur, auquel est ajouté +1 à chaque fois que le kerbal est récupéré (recover)

Résultat final :
Code : Tout sélectionner
      KERBAL
      {
         name = Jebediah Kerman
         gender = Male
         type = Crew
         brave = 0.5
         dumb = 0.5
         badS = True
         tour = False
         state = Available
         ToD = 0
         idx = 0
         CAREER_LOG
         {
            flight = 2
            0 = Recover
            1 = ExitVessel,Kerbin
            1 = Land,Kerbin
            1 = Flight,Kerbin
            1 = BoardVessel,Kerbin
            1 = Recover
         }
         FLIGHT_LOG
         {
            flight = 2
         }
      }
Avatar de l’utilisateur
Message(s) : 65
Inscription : 07 Février 2014, 05:36
Localisation : Non renseignée


Retour vers Tutoriels

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit