Night.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace
RM MV/MZ

Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Sorties: Star Trek: Glorious Wolf - (...) / Sorties: Dread Mac Farlane - episode 3 / News: Plein d'images cools créées par (...) / Sorties: Star Trek: Glorious Wolf - (...) / Jeux: Final Fantasy 2.0 / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

208 connectés actuellement

29188706 visiteurs
depuis l'ouverture

3757 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Lunae - le bazar d'Emz0

Kingdom Ultimate

Guelnika & E-magination

Hellsoft

Tous nos partenaires

Devenir
partenaire



forums

Index du forum > Entraide > [RESOLU] [Rpg Maker MV] Supprimer un fichier en jeu


Ecko - posté le 15/02/2023 à 19:00:12 (634 messages postés) -

❤ 0

Contente OwO

Domaine concerné: Script, Js
Logiciel utilisé: Rpg Maker MV
Première fois que je créé un topic entraide mais comme j'ai rien trouvé sur internet je me suis dit que si on trouve la réponse ici, ça aidera peut-être des gens.

Explication : Je cherche à supprimer un fichier dans les dossier du jeu après une action du joueur. (Pour être plus précise, il s'agit de sprites et de facettes) Je cherche donc une commande en Js qui serait capable de faire ça. J'ai trouvé des codes pour supprimer des sauvegardes mais je ne serais pas les appliquer dans le cas d'un fichier. S'il existe des plugins pour cela je veux bien mais je n'ai rien trouvé. Quelqu'un aurait une idée?

S'il y a bien une chose que j'aime sur Oniro, c'est que c'est le seul endroit sur internet où personne n'a déjà mon pseudo X)


AzRa - posté le 15/02/2023 à 20:17:07 (11193 messages postés)

❤ 0

Je suis pas sûr d'avoir une réponse pour toi vu que je ne fais pas de JS sur MV mais déjà c'est quoi la commande pour supprimer les sauvegardes ?
Aussi, est-ce qu'on peut importer des bibliothèques externes ? Si oui c'est simple : suffit d'utiliser fs. Sinon heu j'ai probablement pas de réponse.

EDIT : A priori, oui, y a l'air d'avoir fs : https://forums.rpgmakerweb.com/index.php?threads/rpgmakermv-node-js-part-1-reading-and-writing-files.80140/
Là ils expliquent comment lire et écrire dans des fichiers. Pour en supprimer un c'est unlink la commande.

Le cyclisme c'est quand tu fais du vélo.


Ecko - posté le 15/02/2023 à 21:25:25 (634 messages postés) -

❤ 0

Contente OwO

J'ai copier le js donner et créer un plugins avec mais je comprends pas comment l'use, les exemples sont pas très clairs :/

Après bon c'est pas très grave c'était pour rajouter du Lore et briser un peu le 4ème murs...

S'il y a bien une chose que j'aime sur Oniro, c'est que c'est le seul endroit sur internet où personne n'a déjà mon pseudo X)


AzRa - posté le 15/02/2023 à 22:34:41 (11193 messages postés)

❤ 0

En Node.js faut d'abord installer fs, et ensuite l'importer et l'utiliser comme ça :

Portion de code : Tout sélectionner

1
2
3
4
5
const fs = require('fs');
 
fs.unlink("myfolder/myfile.txt", (err => {
  if (err) console.log(err);
}));


Ou, dans du code sync (le sien est sync) :

Portion de code : Tout sélectionner

1
2
3
const fs = require('fs');
 
fs.unlinkSync("myfolder/myfile.txt");



Je ne sais pas trop comment l'implémenter en pratique sur MV. A l'aveugle je dirais ça :
Essaye déjà de voir si son script pour ouvrir et modifier le contenu d'un fichier fonctionne, ensuite essaye de rajouter ça dedans pour supprimer le fichier :

Portion de code : Tout sélectionner

1
2
3
4
5
6
//Wrapper for Node.js unlinkSync
MVNodeFS.unlinkFile = function (filePath, filename) {
  filePath = this.createPath("/" + filePath +"/");
  this.fs.unlinkSync(filePath + filename);
  console.log("Remove File: " + filename);
};


Si ça ne marche pas c'est probablement que sur MV, comme dans Node.js, la première étape serait d'installer fs. C'est pas écrit dans son tuto par contre. Mais ça doit être googlable comme ça : "RPG maker MV install fs".

Le cyclisme c'est quand tu fais du vélo.


Ecko - posté le 15/02/2023 à 23:53:49 (634 messages postés) -

❤ 0

Contente OwO

Je testerai ça, merci!

S'il y a bien une chose que j'aime sur Oniro, c'est que c'est le seul endroit sur internet où personne n'a déjà mon pseudo X)


Kisth - posté le 16/02/2023 à 07:34:03 (997 messages postés)

❤ 0

Yeoun, mage-archère-louve

Etant donné qu'il s'agit d'images et qu'a priori tu peux faire un switch à un moment donné, est-il possible d'ajouter des conditions et de remplacer les images par une image intégralement transparente ?
Si oui, ça peut même se faire au chargement de l'image dans le code de MV pour ne pas avoir à refaire tous tes events.

Ou bien tu veux briser le 4e mur et faire remarquer au joueur que ses actions ont une conséquence sur son ordinateur ?

M.V.


Ecko - posté le 16/02/2023 à 11:24:42 (634 messages postés) -

❤ 0

Contente OwO

Citation:

Ou bien tu veux briser le 4e mur et faire remarquer au joueur que ses actions ont une conséquence sur son ordinateur ?



Exacte. J'ai déjà fait les modif in game, après avoir fait une action si tu recommence le jeu, tes action on toujours leur conséquence, effacer les images ne serait que la cerise sur le gateau.

Azra :
La commande que tu m'as donnée peux potentiellement marcher mais comme ça utilise un chemin absolue et pas un chemin relatif, ça marchera sur mon PC mais pas sur celui des autres. En plus je ne sais pas comment Steam gère les fichier donc il se peut que même avec un chemin relatif ça marche pas. Merci quand même de l'aide mais c'est pas très grave, c'était juste pour un détail.

S'il y a bien une chose que j'aime sur Oniro, c'est que c'est le seul endroit sur internet où personne n'a déjà mon pseudo X)


AzRa - posté le 16/02/2023 à 12:39:37 (11193 messages postés)

❤ 0

Tu peux utiliser un chemin relatif si tu veux, et Steam n'y change rien.
Le seul endroit où ça ne marchera pas c'est si tu veux permettre à tes joueurs d'y jouer dans le navigateur, vu que dans un navigateur y aura pas Node.js, et donc pas fs.

Le cyclisme c'est quand tu fais du vélo.


Ecko - posté le 16/02/2023 à 14:30:25 (634 messages postés) -

❤ 0

Contente OwO

AzRA ca marche!

Du coup j'ai un code JS qui ressemble à ça :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
//=============================================================================
//  RMMVNodeP1.js
//=============================================================================
 
/*:
* @author PluginDev
* @plugindesc A plugin to read and write files using Node.js
*
*/
(function () {
 
  //Setup function in case we want to split up our code further  
  function setup() {
//=============================================================================
//  MVNodeFS
//=============================================================================    
    function MVNodeFS() {
 
    }
 
      MVNodeFS.fs = require("fs");
 
      const fs = require('fs');
 
      fs.unlink("myfolder/myfile.txt", (err => {
          if (err) console.log(err);
      }));
 
    //Method for creating the proper file path from the relative file path
    MVNodeFS.createPath = function (relativePath) {
      //Checks if MV is in dev mode, or production, then decides the appropriate path
      relativePath = (Utils.isNwjs() && Utils.isOptionValid("test")) ? relativePath : "/www/" + relativePath;
      //Creates the path using the location pathname of the window and replacing certain characters
      var path = window.location.pathname.replace(/(\/www|)\/[^\/]*$/, relativePath);
      if(path.match(/^\/([A-Z]\:)/)) {
        path = path.slice(1);
      }
      //Decode URI component and finally return the path
      path = decodeURIComponent(path);
      return path;
      };
 
      //Wrapper for Node.js unlinkSync
      MVNodeFS.unlinkFile = function (filePath, filename) {
          filePath = this.createPath(filePath + "/");
          this.fs.unlinkSync(filePath + filename);
          console.log("Remove File: " + filename);
      };
    //Export Our Class so it can be used anywhere
    window.MVNodeFS = MVNodeFS;
  }
 
  //Execute setup function to run our code after setup
    setup();
})();



Et in game j'ai mis ça :

Portion de code : Tout sélectionner

1
MVNodeFS.unlinkFile("./img/characters","$Lanser.png")



Faudra juste que je test à l'exporte vu que quand tu exportes le fichier .exe et pas au même endroit mais globalement ce devrait marché.

Merci!

S'il y a bien une chose que j'aime sur Oniro, c'est que c'est le seul endroit sur internet où personne n'a déjà mon pseudo X)


Ecko - posté le 16/02/2023 à 16:00:38 (634 messages postés) -

❤ 0

Contente OwO

Alors ça marche tout bien, sauf quand j'exporte. La fonction MVNodeFS.createPath

me créer un chemin absolue mais à moitier qui donne E:/www/img/characters/

sauf qu'entre le E:/ et le /www il y a des fichier mais l'a création du chemin ne les fait pas :/

Le problème doit venir de ce bout de code

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
 
relativePath = (Utils.isNwjs() && Utils.isOptionValid("test")) ? relativePath : "/www/" + relativePath;
 
var path = window.location.pathname.replace(/(\/www|)\/[^\/]*$/, relativePath);
          if (path.match(/^\/([A-Z]\:)/)) {
              path = path.slice(1);
          }



Le premier bout rajoute le /www/ mais ça efface aussi tout le reste. J'ai réussie à faire marché le code en supprimant

Portion de code : Tout sélectionner

1
relativePath = (Utils.isNwjs() && Utils.isOptionValid("test")) ? relativePath : "/www/" + relativePath;

et en rajoutant manuellement le www dans rpg maker mais du coup je suis obliger de test mes trucs en exportant le jeu ce qui est ma fois un peu relou.

S'il y a bien une chose que j'aime sur Oniro, c'est que c'est le seul endroit sur internet où personne n'a déjà mon pseudo X)

Index du forum > Entraide > [RESOLU] [Rpg Maker MV] Supprimer un fichier en jeu

repondre up

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers