#Is there a good tutorial and or resources on how to read and edit flowscript files?

29 messages · Page 1 of 1 (latest)

little agate
#

I'm trying to dip my toes into the magical world of eventing, but it's absolutely wild and I have no idea where to start. Gamebanana has a wonderful tutorial that covers editing .msg files for text editing purposes, but after looking around I haven't been able to find any similar tutorials for .flow files. I've gotten as far as decompiling the .bf and taking a look at the output in Notepad++, but I have no idea how to interpret what I'm seeing or how what I'm seeing interacts with the text flow in the corresponding .bmd.

Any kind of tutorial, or link to documentation that provides a list of functions and what they do, would be very much appreciated. If it matters, I'm no programming expert, but I've taken a number of classes over the years do have at least a simple understanding of basic programming concepts, which I assume would be needed for this.

desert halo
echo canyon
#

oh i went to go look for the link but i got sniped

desert halo
#

Yeah that

echo canyon
#

but I have no idea how to interpret what I'm seeing or how what I'm seeing interacts with the text flow in the corresponding .bmd.

when you decompile it via atlus toolchain, it gives you a corresponding header file. sometimes messages are referred by the ID defined in that header file rather than the actual name of the message, so you can refer to that

#

it'll either be directly the name you see in the messagescript (i.e. SEL_SOME_EXAMPLE) or the ID you see in the header file (could be in hex representation though! compiler optimizations and all).

little agate
#

I feel like I can get a general idea of what these functions do from the name but then I don't understand the arguments being passed to them.

echo canyon
#

ye you'll have to just figure it out by context

#

though if you have anything specific in mind you can always ask, people probably have used it before

#

most of the time its pretty self explanatory when you see it used in the code. but if you want to use a function that you don't have an example for you can look for it in https://shrinefox.com/apps/TextSearch to find examples

little agate
#

Well the event I'm looking at right now is Ryuji's Rank 10 event. Specifically I was looking into changing the skill he learns upon evolution.

// Procedure Index: 3
void e707_100_03_persona_evolution()
{
    PERSONA_EVOLUTION( 2 );
    BIT_ON( 153 );
    SKILL_ADD_CMM( 8, 0 );
    BIT_OFF( 153 );
}

I'm assuming the skill is added by the SKILL_ADD_CMM() function,since its the only function in this script whose name implies a relation to skills, and I know the skill that gets added is Evade Elec. I have no idea how the arguments being passed translate to that, though.

echo canyon
#

if you're thinking of adding a custom skill that way it doesn't work

#

its SKILL_ADD_CMM( confidant_id, skill )

#

iirc the skill is just 0, 1, 2, 3

#

er maybe just 0, 1, 2

wild cometBOT
#
Jump

[Go to message!](#1048419478494523554 message)

echo canyon
#

someone pretty much asked the exact same question a while back so you can take a look there if you want context to that screenshot

little agate
#

So the zero refers to the rank 10 confidant skill. I think I understand that. But then how do I change what skill that is?

echo canyon
#

you can't via flowscript

#

its hardcoded in the executable

little agate
#

Ah, I see. Well that's rather disappointing.

echo canyon
#

you can just use SKILL_ADD though i think

little agate
#

From what I can see in that other post, that would make the skill unable to be relearned?

echo canyon
#

ye i think so

little agate
#

There was one other specific topic I was curious about. Is it possible to change which Persona is unlocked by max confidant rank via flowscript, or is that hardcoded as well?

echo canyon
#

dont think that can be done in flowscript