MARREND'S PROFILE

Marrend
Guardian of the Description Thread
21806
Life is a story. Which is the one that defines you?
Baclyae Revolution
A humble tribute to the Suikoden series!

Search

Filter

[RMMV] Save file description

Like, how to make a plugin at all? You can use NotePad, WordPad, or like software. I've seen plugins that just plow right into the code, and no fluff. I've also seen plugins with headers (out of lack of a better term to use) that look something like...

/*
* @plugindesc Save File Description
* @author Marrend
* @help
* Makes save files relay more information when selected.
*/


...this. Writing a header might be useful to identify the plugin in your project's plugin manager, but, it might also depend on how many other plugins you have as well. If you do have a header, the code would be after it. If not, well, you just... write the code?

[RMMV] Save file description

I assume this is all in rpg_windows.js? is there any specific line it has to be under or do i just plop it anywhere?


Well, if I want to be honest, I'd suggest making a new JS file, and add the resulting file into the project with the plug-in manager. That way, the default programming still exists. In the worst-case scenario where you'd end up removing the snippet, you'd still have that original programming in case something goes amiss.

And to be fair, it's not a complete code, so a copy-paste shouldn't necessarily work to begin with, even if you did write it into rpg_windows.js.

Also, there's a total of 10 characters. I assume for that, I just need to repeat the code of each of them?


You could write a for loop based on the Actor ID? Off the top of my head, it might look like...

for (let i=0; i<$dataActors.length; i++) {
  actor = @dataActors[i+1]
  this.drawText(actor.name, 0, this.lineHeight()*i, this.contents().width);
};


...so. Though, writing that, I'm not 100% sure if the object `@dataActors` would contain the values that it should have at the point of the title screen. Anywhere else, absolutely.

Also, for the code...

this.drawText("Ranmaru:", 0, this.lineHeight(), this.contents().width);
this.drawText("Alice:", 0, this.lineHeight()*2, this.contents().width);


...is there only supposed to be one 0 followed by "this.lineHeight"?


Yes. The `drawText` function needs at least four parameters to be passed into it. The first parameter represents the text to write. The next two parameters are the initial x/y coordinates of where the text starts to write. The fourth parameter represents the maximum width that is utilized for the text. There is a fifth optional parameter that determines the alignment of the text. The default behavior is for the text to be left-aligned, but can be set to right-aligned (as per the example in my previous post) or centered.

[RMMV] Save file description

The function `Window_SavefileList.drawItem` creates the list of files to load/save. The information we want to display would probably go into an instance of `Window_Base`. I'm not entirely prepared to write out the entire thing, but...

DataManager.makeSavefileInfo = function() {
    var info = {};
    info.globalId   = this._globalId;
    info.title      = $dataSystem.gameTitle;
    info.characters = $gameParty.charactersForSavefile();
    info.faces      = $gameParty.facesForSavefile();
    info.playtime   = $gameSystem.playtimeText();
    info.timestamp  = Date.now();
    info.switches   = $gameSwitches;
    return info;
};

Window_SaveInfo.prototype.drawItem = function(index) {
  id = index + 1;
  info = DataManager.loadSavefileInfo(id);
  
  this.drawText("Anzu:", 0, 0, this.contents().width);
  this.drawText("Ranmaru:", 0, this.lineHeight(), this.contents().width);
  this.drawText("Alice:", 0, this.lineHeight()*2, this.contents().width);
  
  if (info.switches(36) {
    this.deathColor();
    this.drawText("Dead", 0, 0, this.contents().width, 'right');
  } else {
    this.normalColor();
    this.drawText("Alive", 0, 0, this.contents().width, 'right');
  };
  
  if (info.switches(37) {
    this.deathColor();
    this.drawText("Dead", 0, 0, this.contents().width, 'right');
  } else {
    this.normalColor();
    this.drawText("Alive", 0, 0, this.contents().width, 'right');
  };
  
  if (info.switches(38) {
    this.deathColor();
    this.drawText("Dead", 0, 0, this.contents().width, 'right');
  } else {
    this.normalColor();
    this.drawText("Alive", 0, 0, this.contents().width, 'right');
  };
};

...here's a basic idea of what I had in mind, based on what you wrote, and certain assumptions.

[RMMV] Save file description

I personally wouldn't edit `rpg_winsdows.js` directly. I'd put together a small plug-in, or put it into a plug-in collection.

Either way, the save-file description that includes time elapsed I think is part of the header? That's defined in `DataManager`, as defined in `rpg_managers.js`.

DataManager.makeSavefileInfo = function() {
    var info = {};
    info.globalId   = this._globalId;
    info.title      = $dataSystem.gameTitle;
    info.characters = $gameParty.charactersForSavefile();
    info.faces      = $gameParty.facesForSavefile();
    info.playtime   = $gameSystem.playtimeText();
    info.timestamp  = Date.now();
    return info;
};


The sub-thought in my head is that you could do something like...

DataManager.makeSavefileInfo = function() {
    var info = {};
    info.globalId   = this._globalId;
    info.title      = $dataSystem.gameTitle;
    info.characters = $gameParty.charactersForSavefile();
    info.faces      = $gameParty.facesForSavefile();
    info.playtime   = $gameSystem.playtimeText();
    info.timestamp  = Date.now();
    info.switches   = $gameSwitches;
    return info;
};


...to be able to refer to the save file's particular instance of `$gameSwitches`. `Window_SavefileList` uses the lines...

var id = index + 1;
var info = DataManager.loadSavefileInfo(id);


...to read the info that is does read, so, I image that whatever instance of `Window_Base` that you are using for the text box at the bottom of the screen would get that data in a similar fashion through `Scene_Load`.

Finally, a Progress Chart

author=Dyhalto
This progress chart doesn't look like something I can fight >:( hmph!


Multiple layers of health bars, though?

Finally, a Progress Chart

Good too see the progress nautilus chart, and where things are at in development. Don't worry about not having a demo yet, or even an ETA for one. Just know that, whenever it is ready, I am more than willing to give it a go.

Old/Lost RpgMaker Games - SegNin's Rare/Obscure RM Games Request Topic

author=EgyLynx
rpg maker 2k3 at SIDEWIEV at default.
rpgmaker 95 get se 4 maptile pieceat at maps ( some knows how put more pieces)and L100 and frontwiev.


It's true that 2K3 had a side-view system by default. But, they never mentioned 2K3. What they did mention was 2K or 95. Though, if your comment is meant to err more on 2K being the engine it was made it, I would tend to agree.

Old/Lost RpgMaker Games - SegNin's Rare/Obscure RM Games Request Topic

author=SegNin
https://rpgmaker.net/forums/topics/22883/?post=917535#post917535
wondering about a certain song I heard that I thought was in Synthetic Odyssey*. Turns out it was Moon & Star, Preludes*. Maybe not quite what this thread is supposed to be about, but, the packed-in credits for the game give don't specify which file is from where, nor do the file-names (or metadata) give hints either.
https://rpgmaker.net/media/content/users/8200/locker/Holy_Plains.mp3

I want to reply to this, because I found out through the site's Discord (more specifically, OldPat), that the song in question was a cut of Lindsey Sterling's "Spontaneous Me". I don't know/remember if I posted this finding earlier, so I apologize for allowing this to hang around.

Demo of content up to the end of Chapter 3!

Slowly trying to pick this up again. I've managed to write a few more exchanges with Mayu, though, each one that isn't specifically tied to an in-game event were getting harder to write as I went.

Though, perhaps the mindset of such dialogs being "filler" isn't a good place to be in the first place. If one wants to be technical about it, all the dialogs are "filler" by virtue of being tied to optional content. Optional content that might not have any in-game benefit(s). I mean, I suppose I could make them have in-game benefits but, the solution that comes to mind (invisible accessories that grant additional Features, like status resistance, or elemental defense buffs, for the girls?), is one I do not want to mess with. I dunno, I just get flashbacks of getting the Unite mechanic together for Baclyae Revolution, and that stops any further thought on the matter.

Sweet Middleground 5 ~the cave~

When I saw this gamepage, I recalled that I have only played the fourth installment of this series. This issue has now been rectified, and looking forward to the continuation!