@KOBE No problem, feel free to ask questions if you ever need to.
@Kane Hart If you mean freely move as in just basic pixel based movement. Then the performance would be very close as default movement as the calculations are exactly the same except you're running them more frequently. In my plugin the most performant parts are collisions since I completely rewrote it to use colliders. Using colliders over the default collision checking was about 10x slower. But default collision checking is something very basic, while with colliders it has different shapes and more pixel precision. Now using the collision map is probably like 5x+ slower then my collider checking ( so like 50x slower then basic collision checking ) and that's because it has to check the pixel color surrounding the characters colliders edge.
( I did do some performance testing long ago, but I don't remember if the 10x, 5x, ect slower numbers are correct. But if i remember correctly those number should be close. )
@RedAkerston Sorry I completely missed your post!
Anyways, for the map edge events, can't you set them up something like this?
I used regions just to help show where I would put the touch events.
So region 8 on map 1 would transfer to the region 8 locations on map 2.
And region 9 on map 2 would transfer to region 9 on map 1.
So all you have to do is add some extra bleed area on the edges, you can even add a lot more to make it look like it's 1 single map, instead of 2.
As for the transfers, there is a plugin command you can use for a pixel based map transfer:
quasi transfer mapId pixelX pixelY retain? fade?
retain and fade can be left out.
possible retain values: 0, 2, 4, 6, 8 ( which direction to face when transfering, 0 to keep current direction, 0 is default )
fade values: 0, 1, 2 ( 0 is black (default), 1 is white, 2 is none )
@AurionMaverick Sorry I completely missed your post as well!
Well when a player gets in a vehicle, it doesn't change it's class. So checking if the constructor is a vehicle won't do anything. You want to check if the player is on a vehicle. You can check if the player is in a vehicle by using the function
.isInVehicle() and you can check it's vehicle type by using the player property
._vehicleType