One of the problems with the autotiles in RPG maker XP is each tileset only has 7 autotile slots. That limit is probably one of the most difficult to break in the program, but at least some tricks can be used to optimize their use.
Today I will present a few here, some more obvious than others. You can share your tricks here if you want.
Spoiler: Important side note
Before starting, don't get me wrong: In most cases 7 slots should be enough, so you won't have to do any of this.
These tricks are for cases where you REALLY would want to make use of a few extra slots, and God knows this has happened to all of us at some point.
1) Use the slots only with animated autotiles, move others to the tileset
Although later in the editor it is more laborious to assemble the map using deconstructed autotiles, it is a good way to limit the slots only to those that cannot really be recreated using normal tiles.
To deconstruct an autotile to its autotiles the only thing you have to do is double-click the autotile slot on the map editor. A window will display with all the tiles. You can screenshot those and paste them on the tileset.
Spoiler: Screen
[/quote]
Spoiler: Alternative[quote]A better way to get this set when it includes transparency is using WecTools. The tool Simple Image Editor has an Engine called Deconstruct Autotile that does exactly that, not only with XP autotiles but also with VX/Ace.
2) Divide the autotile into two separate layers
This one is for more complex cases, for example a world map. Let's say you have two (or more) autotiles that share the animated part, for example
001-G_Water01 and
028-Sn_Water01 on the RTP.
We can divide the autotiles into two parts, one for the animation and one for the static part.
Spoiler: Example
[/quote]
This way we can apply the first trick of this tutorial again; we use the animated part as a unique slot and the others as tiles, saving (at least) one slot in the process. The downside of this is we have to use two map layers on the borders instead of one, but on world maps that usually won't be a problem, and for the exceptions since the tileset has unlimited size we can combine two layers into one tile.
3) Use autotiles as a set of mini-autotiles
Autotiles can have a width and height of 32px. RTP doesn't have any example of that, but you may've seen it on some places.
This for example is a valid RPG maker XP animated autotile.
Spoiler: Alternatives[quote]In some cases you could use an event instead, but if there are many flowers that can be a problem real fast. Also, the way the events are animated is not completely in sync with autotile animation. I made a little bugfix for that some time ago, you can check it here.
You could also use Doodads instead, but I'll leave that aside.
The trick here would be using the autotile as a set of independent animated mini-autotiles, with the only condition that they must all have the same number of animation frames. This way in just one slot you can fit up to eleven mini-autotiles.
Then on the editor if you double-click the slot you can pick which one you want to use, and do it like it was a normal tile.
Spoiler: Example
In green, each of the independent mini-autotiles you can pick.
If you assemble them in a way combinations are also valid, you can optimize that slot even more.
4) Use EMSTA autotiles with transparency based on layer
The script
EMSTA allows to break the autotile slots limit in various ways. Even so, it is quite complex to define a new autotile on the map manually because of how the IDs work, so the script has some shortcuts. Here I will explain how to use one of them to expand the possibilities of our autotiles in a more automated way.
On this map there are two puddles, but one of them is on the lower layer and the other in the middle layer, since it has grass underneath.
To solve the fact that it looks cut, we would normally make a version with transparent floor of that same water autotile, and we would use different autotiles in each puddle.
Spoiler: Example
[/quote]
With the script, we can make the version with floor and the transparent share an autotile slot, and use them according to the layer in which they are.
First create a new empty tileset on the Database and assign there the transparent version of the autotile. Don't bother about the passability there.
Since the autotile is non-passable, we need to make a little fix consisting of defining an invisible tile on the main tileset as non-passable. We need to get the Tile ID of that tile, in this case 477.
Spoiler: How to get the Tile ID[quote]Use the formula X + Y * 8 + 384 where X and Y is the column and the row of that tile on the tileset.
On the map create an event in Parallel Process with:
Code:
@> Script: $game_map.change_autotile_layer(1, 1, 7, 1, 477, true) @> Stop Event Process
Where:
1 - Slot of the autotile that will be changed, from 1 to 7
1 - Map layer, from 0 to 2
7 - ID of the empty tileset on the Database
1 - Slot of the autotile on the empty tileset, from 1 to 7
And because the result is non-passable, we had to add:
477 - Tile ID of the non-passable tile
true - Change the old autotile to this new tile
(don't change this)
Here's the result:
All this saves only one slot, but could be potentially used to extend each slot two times (one for each upper layer), thus having a total of 21 autotile slots in one map.
I hope this tutorial helps you!
本贴来自国际rpgmaker官方论坛作者:Wecoc处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:
https://forums.rpgmakerweb.com/threads/some-tricks-to-optimize-the-autotile-slots.138589/