RMMZ Cinematic camera

XGuarden

Veteran
Veteran
Joined
May 10, 2016
Messages
446
Reaction score
17
First Language
French
Primarily Uses
I looking for a script that allow to keep player centered while using the map movement.
Curently if I use the map movement for cinematic player will not follow. (I use frenchversion so i surely did't have the right word for map movement).

I know I can use move player and do it all this way and it's what i curently do but it's make code lot harder to read.
Making a lopp for lot of movement is imposible to keep neet. That why i thinking using camera movement.

It's can be a plugging or a code I can add as script jsut before the call of the camera movement and after. Actually it will be good if it can be activated or desactivated.

Thanks you for you help. Also I got many question so I ask myself if im better post sepate question one by oneleaving time between each of them. Post all of time one after other or post all of them in same post.
 

estriole

Veteran
Veteran
Joined
Jun 27, 2012
Messages
1,300
Reaction score
525
First Language
indonesian
i think this plugin suits your need
use the focus player feature.

hope this help.
 

XGuarden

Veteran
Veteran
Joined
May 10, 2016
Messages
446
Reaction score
17
First Language
French
Primarily Uses
i think this plugin suits your need
use the focus player feature.

hope this help.
Thanks you for your suggestion. I tryed it, that plugging in really nice but I get unable to make it do what I want. The problem is that if I use it to force focus on player, then the move camera even just after did't work. I was looking for a way that if I use move camera that "bring" with it the player to create a airship cinematic withouht have to use the trace route.

Thanks you.
 

ramza

Lunatic Coder
Veteran
Joined
Jan 28, 2013
Messages
776
Reaction score
485
First Language
English
Primarily Uses
RMMV
Sounds to me like changing the actor graphic to an airship, enabling pass through, hiding followers, and moving the player via event will also move the camera in the way you want. Since you want the player to remain on screen, turning the player into thing you're tracking is the easiest way to do that, and doesn't require a plugin at all.

Unless I'm not fully understanding what you want.
 

XGuarden

Veteran
Veteran
Joined
May 10, 2016
Messages
446
Reaction score
17
First Language
French
Primarily Uses
Sounds to me like changing the actor graphic to an airship, enabling pass through, hiding followers, and moving the player via event will also move the camera in the way you want. Since you want the player to remain on screen, turning the player into thing you're tracking is the easiest way to do that, and doesn't require a plugin at all.

Unless I'm not fully understanding what you want.
that's exactly what I want to avoid. The reason it's that the scene is really long and as move player didt allow to move like (89 tiles to the left) I need to put it on a loop. Actually a script that allow me to make move player for a certain ammounth of step on a direction may do the job to.
 

estriole

Veteran
Veteran
Joined
Jun 27, 2012
Messages
1,300
Reaction score
525
First Language
indonesian
that's exactly what I want to avoid. The reason it's that the scene is really long and as move player didt allow to move like (89 tiles to the left) I need to put it on a loop. Actually a script that allow me to make move player for a certain ammounth of step on a direction may do the job to.
sorry i'm a bit confused on your explaination.

correct me if i'm wrong. you want the loop event command (perhaps plus scriptcall) that move the player to certain coordinate before continuing the next event command?

if yes maybe try this:1603873660564.png
 

Attachments

XGuarden

Veteran
Veteran
Joined
May 10, 2016
Messages
446
Reaction score
17
First Language
French
Primarily Uses
sorry i'm a bit confused on your explaination.

correct me if i'm wrong. you want the loop event command (perhaps plus scriptcall) that move the player to certain coordinate before continuing the next event command?

if yes maybe try this:View attachment 165661
It's exactly the code I curently using but the problem with it it's lisibility. It's a lot of line just to tel playe move a certain amount of step. It's will be lot more pretty to jsut have one line with a script call telling to move like 50 step to the right.
 

estriole

Veteran
Veteran
Joined
Jun 27, 2012
Messages
1,300
Reaction score
525
First Language
indonesian
It's exactly the code I curently using but the problem with it it's lisibility. It's a lot of line just to tel playe move a certain amount of step. It's will be lot more pretty to jsut have one line with a script call telling to move like 50 step to the right.
but what i use above is only one line script call telling to move until reach certain coordinate... :D.
of course not counting the loop... so you mean you want to NOT use any event page loop option?

it WILL be really HARD in my opinion... why? yes you can include the loop inside a script call. ex:
Code:
for (let i = 0; i < 50; i++) {
$gamePlayer.moveStraight($gamePlayer.findDirectionTo(5, 4));
i++;
};
will move the player to coordinate 50 times... BUT... since it's on autorun event... it will executed TOO FAST... and we cannot easily put wait inside that script call loop... that's why the easiest option is using built in Event Loop option... since we can easily add wait command so it will execute normally.

hope this help.
 
Last edited:

XGuarden

Veteran
Veteran
Joined
May 10, 2016
Messages
446
Reaction score
17
First Language
French
Primarily Uses
but what i use above is only one line script call telling to move until reach certain coordinate... :D.
of course not counting the loop... so you mean you want to NOT use any event page loop option?

it WILL be really HARD in my opinion... why? yes you can include the loop inside a script call. ex:
Code:
for (let i = 0; i < 50; i++) {
$gamePlayer.moveStraight($gamePlayer.findDirectionTo(5, 4));
i++;
};
will move the player to coordinate 50 times... BUT... since it's on autorun event... it will executed TOO FAST... and we cannot easily put wait inside that script call loop... that's why the easiest option is using built in Event Loop option... since we can easily add wait command so it will execute normally.

hope this help.
I see. as my idea its to make the cimematic easy to read in the code, this code work but did't really make it more easy to read hehehe

The best right now I thing to use the traceroute.
Inside of it they have a script call option.

All I need its a little pluggin to add to the projet that let me in only one line to play player from a certain amount of tile. I notive that a plugin already do that but also ask us to put a loop in the traceroute so it require 3 lines for every movement.

I look for a script line i can call this way:

$gamePlayer.moveForward(50,3,4)

like modifing the default moveforward to allow a parameter to be number of step and speed and requency.
 

XGuarden

Veteran
Veteran
Joined
May 10, 2016
Messages
446
Reaction score
17
First Language
French
Primarily Uses
I guess I can use a move route plugging to reach each location, but i think its gonan make the code heavier for nothing.

Edit: I found what i looking for in yanfly pluggin move route for rpg maker mv, but i use mz. i will give a try in case it work.
 
Last edited:

Fen_Star

Villager
Member
Joined
Oct 17, 2020
Messages
17
Reaction score
8
First Language
English (Americ
Primarily Uses
RMVXA
Is there a specific reason you want to keep the code neater? As in, is it so that other people collaborating on the project can use it better? Or is it more about the default interface being clunky? Because if it is the latter I think there are some ways to import/export the events into text files that should allow you to work in an IDE you are more familiar with like netbeans or eclipse.

I don't know if that helps. It probably doesn't, but it is the only thing I can think of. Also, I work with VX ACE so I could be wrong.
 

estriole

Veteran
Veteran
Joined
Jun 27, 2012
Messages
1,300
Reaction score
525
First Language
indonesian
I see. as my idea its to make the cimematic easy to read in the code, this code work but did't really make it more easy to read hehehe

The best right now I thing to use the traceroute.
Inside of it they have a script call option.

All I need its a little pluggin to add to the projet that let me in only one line to play player from a certain amount of tile. I notive that a plugin already do that but also ask us to put a loop in the traceroute so it require 3 lines for every movement.

I look for a script line i can call this way:

$gamePlayer.moveForward(50,3,4)

like modifing the default moveforward to allow a parameter to be number of step and speed and requency.
the script call won't work using default RM code. so i guess you're using another plugin that added that method. and like i said it won't work that easily... since calling using script call to move forward 50 times will be executed so fast ignoring the frequency because of how the game interpreter works.
your player will move too fast and even when you first enter cinematic your player will already almost reach destination. :D.

another solution that i can share might be using built in custom move route... use script call there... add wait there... and flipping a self switch when arriving at destination... all the other event that you want to execute after reaching destination need to be placed in another page.

1604183966355.png
the first move route is script (most bottom right command):
Code:
$gamePlayer.moveStraight($gamePlayer.findDirectionTo(5, 4));
change 5 and 4 to coordinate you want.

the second is wait 30 (most bottom left command) to make it not executed so fast.
you can change it to lower number for faster movement or higher number for slower movement

then in event page:
1604184757266.png
it's a conditional branch -> script:
Code:
$gamePlayer.x == 5 && $gamePlayer.y == 4
change 5 and 4 to the same x and y as the move route above.
and inside the conditional branch flip a selfswitch A so it will break outside the autorun event page and enter the next page.

then in second page... add condition selfswitch A and put whatever you want to happen after
the move finished
1604184779938.png
inside that page at the end flip a selfswitch B to finally end the autorun event to empty page with condition selfswitch B with action trigger.
1604184834057.png

Hope this help.
 

Attachments

Last edited:

XGuarden

Veteran
Veteran
Joined
May 10, 2016
Messages
446
Reaction score
17
First Language
French
Primarily Uses
the script call won't work using default RM code. so i guess you're using another plugin that added that method. and like i said it won't work that easily... since calling using script call to move forward 50 times will be executed so fast ignoring the frequency because of how the game interpreter works.
your player will move too fast and even when you first enter cinematic your player will already almost reach destination. :D.

another solution that i can share might be using built in custom move route... use script call there... add wait there... and flipping a self switch when arriving at destination... all the other event that you want to execute after reaching destination need to be placed in another page.

View attachment 166104
the first move route is script (most bottom right command):
Code:
$gamePlayer.moveStraight($gamePlayer.findDirectionTo(5, 4));
change 5 and 4 to coordinate you want.

the second is wait 30 (most bottom left command) to make it not executed so fast.
you can change it to lower number for faster movement or higher number for slower movement

then in event page:
View attachment 166108
it's a conditional branch -> script:
Code:
$gamePlayer.x == 5 && $gamePlayer.y == 4
change 5 and 4 to the same x and y as the move route above.
and inside the conditional branch flip a selfswitch A so it will break outside the autorun event page and enter the next page.

then in second page... add condition selfswitch A and put whatever you want to happen after
the move finished
View attachment 166109
inside that page at the end flip a selfswitch B to finally end the autorun event to empty page with condition selfswitch B with action trigger.
View attachment 166110

Hope this help.
thanks for the idea but as the ain point is to make it more simple to read its not really what i look for.
Im surprise rpg maker didt uncluse by default the posibility to told how many step to move lol.
 

estriole

Veteran
Veteran
Joined
Jun 27, 2012
Messages
1,300
Reaction score
525
First Language
indonesian
thanks for the idea but as the ain point is to make it more simple to read its not really what i look for.
Im surprise rpg maker didt uncluse by default the posibility to told how many step to move lol.
that because the built in Game_Interpreter itself is working that way :D.
basically EVERYTIME the game call update method... the interpreter also UPDATED... so they build the interpreter to parse a command... execute it... set a wait... parse the next command... execute it... set a wait... and so on...

technically we can told how many steps to move using script call using for... BUT... since the update interpreter is called EVERYTIME the game call update method... thus it will move so fast... because the interpreter think it's ONE event command thus did not set a wait between every 'movement' :D.

so to solve your problem... either
1. rewrite how game_intepreter works...
2. replacing Game_Interpreter this._list when found a script call with certain code (or comment with certain text also work).... replace it in the this._list with move route for certain times... using array.splice method.

both require making a proper plugin for that... second one might be more feasible to be done since doing the first one might be hard and possibility to break many things :D.
 

XGuarden

Veteran
Veteran
Joined
May 10, 2016
Messages
446
Reaction score
17
First Language
French
Primarily Uses
that because the built in Game_Interpreter itself is working that way :D.
basically EVERYTIME the game call update method... the interpreter also UPDATED... so they build the interpreter to parse a command... execute it... set a wait... parse the next command... execute it... set a wait... and so on...

technically we can told how many steps to move using script call using for... BUT... since the update interpreter is called EVERYTIME the game call update method... thus it will move so fast... because the interpreter think it's ONE event command thus did not set a wait between every 'movement' :D.

so to solve your problem... either
1. rewrite how game_intepreter works...
2. replacing Game_Interpreter this._list when found a script call with certain code (or comment with certain text also work).... replace it in the this._list with move route for certain times... using array.splice method.

both require making a proper plugin for that... second one might be more feasible to be done since doing the first one might be hard and possibility to break many things :D.
Thanksyou for your explanation. I should be so much enoying with my perpetual question hahaha.
I actually found a pluggin that do what i want. it's:

But for some reason im so dump that I fail to use it, I write the wrong line in script call for sure because its alway return error.

I get able to make it work on the demo projet. Did't work on my projet. Actually it's when i add pluggin that stop working so I will troubleshout it to try understand.

I find out the issue why game scratch and get able to make it work.


For unknow reason game crash with the pluging if specific code are writed in common event1 and 2.
That really special.

Just create a new projet and add the plugin I told and activate it and add this common event to the projet and we got the error. The problem its that I need these common event ahhaahah.
 

Attachments

Last edited:

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

So which forum do I use if I want to showcase graphics? I've been using AML forum, but I'm not sure it's correct.
I am trying to get my game published with Aldorlea Games so that I make sales from their website and the game being on Steam. They have said that their published games rarely make less than a few hundred dollars.
DoubleXP wrote on Tonbi's profile.
Hello Wondering if you take commissions?
I should make an itch.io page one of these days...Maybe for my next large update.

Forum statistics

Threads
105,780
Messages
1,016,413
Members
137,475
Latest member
pedroko005
Top