- Joined
- Jun 12, 2016
- Messages
- 8
- Reaction score
- 3
- First Language
- Danish
- Primarily Uses
For my own project, I wanted to have a 2x zoom when walking on the map, but not in menues, windows or combat. I've used Masked's MBS_Mapzoom plugin until now, but it's buggy and doesn't get updated anymore. I feel like I've searched every single corner of the internet for a solution, but I couldn't find anything about how to go about it. I found SumRndmDde's video on Youtube, and it shows how to zoom in on events and the player, but not the screen as a whole. After messing with his script for a long time, I finally figured it out. Lots of credit to SumRndmDde!
Have all of you maps start an event as a parallel process (or make a common event as a parallel process that is turned on at the start of the game). In this event, do the following script call:
$gameScreen.setZoom(Graphics.width / 2, Graphics.height / 2, 2);
This effectively zooms in the view of the screen by a scale of 2, or whatever you input instead. It can also be used to zoom out if you input a scale that is less than 1. It only zooms in the view of the player walking around the map and shown images. It does not zoom in on menues, combat, or any windows. It does have an undesirable side effect, though:
Because it simply zooms in the screen, the 4 tiles (depending on your zoom scale) along the edge of the map are not shown, though. This can be resolved by making 4 buffer tiles along all edges of the map. The 5th tile from the edge can be treated as the new edge tile. If you don't do this, the player will be able to walk out of the camera.
The only bug I've found is that when entering combat, the screen fully zooms out before then zooming in for combat. This can be fixed by using SumRndmDde's plugin:
Other than that, it is clean, bug-free, doesn't do anything funky, and doesn't break compatibility with any plugins. Even Galv's camera control works just fine on top of this.
The script can of course be controlled by switches in the same way any event can.
If you want to do a more local zoom on a single event, look at SumRndmDde's video in the link above.
Once again, thanks to SumRndmDde for providing a script that zooms in the screen at all resolutions.
Have all of you maps start an event as a parallel process (or make a common event as a parallel process that is turned on at the start of the game). In this event, do the following script call:
$gameScreen.setZoom(Graphics.width / 2, Graphics.height / 2, 2);
This effectively zooms in the view of the screen by a scale of 2, or whatever you input instead. It can also be used to zoom out if you input a scale that is less than 1. It only zooms in the view of the player walking around the map and shown images. It does not zoom in on menues, combat, or any windows. It does have an undesirable side effect, though:
Because it simply zooms in the screen, the 4 tiles (depending on your zoom scale) along the edge of the map are not shown, though. This can be resolved by making 4 buffer tiles along all edges of the map. The 5th tile from the edge can be treated as the new edge tile. If you don't do this, the player will be able to walk out of the camera.
The only bug I've found is that when entering combat, the screen fully zooms out before then zooming in for combat. This can be fixed by using SumRndmDde's plugin:
In order to fix this, you could use my Custom Battle Intro Plugin (shameless plug).
Simply remove the "ResetZoom" in the Frame 2 Action.
Other than that, it is clean, bug-free, doesn't do anything funky, and doesn't break compatibility with any plugins. Even Galv's camera control works just fine on top of this.
The script can of course be controlled by switches in the same way any event can.
If you want to do a more local zoom on a single event, look at SumRndmDde's video in the link above.
Once again, thanks to SumRndmDde for providing a script that zooms in the screen at all resolutions.
Last edited by a moderator:

