I have improved the performance once again.
The first thing I did was create a blank array in the character and then I put all the arrays for the level into the room creation script (didn’t know there was one until recently). I then went to another room and did the same thing with the arrays, except I used different instances.
This now lets me reuse already existing array slots for when the object is no longer there, because the player transferred rooms. Meaning I can save 1000s of lines of unused code across multiple levels.
With this enhancement I save 3 lines of code per dialogue box use in each room. Example: 2 rooms 10 dialogue boxes. I would save 30 lines of code. If I was making a full game, I could have 25 levels with 10 dialogue boxes each, meaning saving a grand total of 720 lines of code. A small decrease, but a decrease nonetheless.
Literally all a user needs to do now is add in a Interact_square, double left click it, change all values to what they want, aka text shown and how many pages. Then open the creation code for the current room duplicate the top line of code, grab the instance code from the object they just placed and replace the = value to the new instance code. Then the user will have a full working dialogue system.
They can append the code easily as well with the notes I’ve left them.