@Tsukihime You can use the "$gameMap.getCharactersAt(collider, ignore)" function, ignore parameter is optional and you can manually filter.
Every character has a collider that can be accessed with the .collider() function for example:
var collider = $gamePlayer.collider();
var characters = $gameMap.getCharactersAt(collider);
characters will returns an array filled with events, players, followers that overlap with the players collider which you can manually filter. Or you can use the ignore parameter like:
var collider = $gamePlayer.collider();
var characters = $gameMap.getCharactersAt(collider, function(chara) {
if (chara === $gamePlayer) {
return true; // ignore if character is $gamePlayer
}
if (chara.constructor === Game_Follower) {
return true; // ignore if character is a game follower class
}
return false;
});
The ignore function is a bit confusing, Not sure why I wrote it that way lol.
Quasi Movement
● ARCHIVED · READ-ONLY
-
-
What if I wanted to check there were any characters at a specific map position?
-
In that case you can create a new collider, and move it to that position. Example:
Code:var testingCollider = new QuasiMovement.Box_Collider(48, 48, 0, 0); // width, height, ox, oy testingCollider.moveto(x, y); // x and y in pixel terms var characters = $gameMap.getCharactersAt(testingCollider); -
I see!!! I kept reading those kind of collider-related stuffs in the help part of the plugin and was wondering what would be the use of such things! Lucky some people here are actually trying to use it so now I can see how useful those functions could be!!! Keep up the great work! It's just amazing!
-
Any thoughts on moving the colliders into their own plugin?
So we can have collision detection for other purposes where it may be useful to check if, for example, two arbitrary objects collide, provided they have appropriate colliders set up and implement some sort of "collidable" interface. -
@basicleaderYeah I use a lot of those in the addon's, and specially for the ABS =p
@Tsukihime Sure splitting it shouldn't be much work. And it could provide help to build "mini-games" since these colliders are pixel based and doesn't need to be on the map. Though that "$gameMap.getCharactersAt()" function is a Movement only function since my movement puts all characters on a grid array for easier access, as we discussed over at twitter. -
Ah yes. I was thinking of creating a region like event too and adding support for region maps. It will probably be released early February.
The creation has already started? )) -
@PTS Not yet, I will start on it this weekend. Most of my free time for MV is on Saturdays - Mondays.
-
Strange issue. Just got the latest version.
Here's a demo: http://www.mediafire.com/download/loodj890o9f8gd0/QM_bug.7z
Just start the game, walk over to the corner shown in pic, press left normally, then hold shift and press left.
It seems to only occur in the top-left corner of two intersecting walls, and the collision is very thin. If you try to do that at the counter, it doesn't work. -
Thanks for the report!
I confirmed it in your demo, but apparently it's fixed in my current dev version. I don't even know where I fixed that lol since only difference from my dev and current released is a graphical issue with zooming colliders. But at least it's gone, or at least for that situation.
Also I thought about separating my collider classes, but decided against it. Instead I'll probably write a quick tutorial on how to use pixi's "colliders" which I would have gone with if I hadn't already written my own stuff from ace. This is mostly because my colliders are not completely accurate, I just made them so they're accurate enough for most cases.
To everyone else,
I'll probably release an update batch this weekend ( probably Sunday or Monday ). There'll be a new version of Movement with a few more bug fixes, new Region Lock functions, Region Events addon. If it there's time I may start writing Tutorials on using my Movement plugin since it seems people are still having trouble setting up, even with the documentation and demo. -
In terms of usability, would you say it is better that move routes automatically default to tile-based movement (assuming 48 pixels), or just sticking with whatever grid the player has decided?
Also, this happens to my chicken that turns at random. Something in the movement system seems to cause this to happen lol -
Probably would be a lot easier for users if it moved according to grid. I should add this in, I can just have it run a qmove based on grid.
And lol that video made me laugh more then it should have. And I see the problem, I just considered event frequency only for moving. -
I'm having trouble getting your plugins to work with YEP Event Chase Players. For some reason the event won't active an Event Touch. Basically what I want to do is have an event that patrols a certain area and when seen by the event using your line of sight i have it actived to chase the player, the event chases just fine, but when it gets to the player it just runs around like a chicken with it's head cut off and doesn't active the event until I decide to move the player into the event. Also is there a way to make the self switch that was activated by the player being seen turn off when the player is no longer being seen by the player? So that when it is done chasing it goes back to it's regular patrolling? One last question, how hard would it be to get your line of sight plugin to recognize other events too? I want to have the event recognize foot print events and to follow the foot prints until the run out.
Thanks for your help in advance! Love the plugins! -
@rootbeerking You can use the event chase from my Pathfind instead.
...self switch that was activated by the player being seen turn off when the player is no longer being seen by the player?
I'm assuming you mean when the player is no longer seen by the event?
And the sight plugin already does this by default. It only turns on the self switch when the event see's its target, and turns off the self switch it if doesn't
...get your line of sight plugin to recognize other events too?
Would be very easy. Though the sight can only have 1 target, and I probably won't add the ability for multiple targets because of possible performance issues.
Also if you haven't looked, the demo has 3 sample maps that sample using the line of sight. 2 have chases with touch triggers. -
Hi Quasi, I was trying to make a npc(event patrolling), I try use the custom/route. I think the quasimovement also have an effect on the events, I tried mmove but I think only works on actors, I'm right?
-
@Folkner mmove and qmove should work for all characters, events and players included. Though thanks to Hime's suggestion, the next version changes the move left, right, up, down to call a qmove, so it moves based off tile size instead of grid size. So with that change you won't have to rely on qmove, mmove unless you want exact pixel based movements.
Updates + new addons will be released today. I just have to write the Doc's. You can feel free to keep an eye out on my Github or my Site, since I'll be uploading them there first, before I add / edit a post here with all the links.
Updates
Movement 1.25
https://github.com/quasixi/RPG-Maker-MV/blob/master/Systems/QuasiMovement.js
- Few bug fixes
- Collider update method, for delta rotating / scaling
- Tileset Collision maps ( Need to write help / documentation on that still )
- Rewrote some regex, should work better now.
Sight 1.05
http://quasixi.com/quasi-sight/
- Bug where retain direction wasn't working correct
- Self switches weren't changing correct
- Polygons use the delta rotating for better detection when turning
Region Lock 1.04
http://quasixi.com/quasi-region-lock/
- Extended to work on Players as well
- Added plugin calls to change / remove region locks with events
Region Events 1.00
http://quasixi.com/quasi-region-events/
- Initial release
There's also Q Events, but that doesn't require Movement to work. But link is:
http://quasixi.com/quasi-q-events/
I'll be creating a post / page on my site for all the addons to the movement plugin with help / documentation on how to use that individual addon. Movement documentation will be edited today hopefully. - Few bug fixes
-
All Links are working. My site's server went unstable right as I posted my last updates, so many of you may have disregarded them since the links didn't work. So if you haven't checked out those last updates / addons you should do so!
Also some of this weeks updates:
Movement 1.252
https://github.com/quasixi/RPG-Maker-MV/blob/master/Systems/QuasiMovement.js
http://quasixi.com/quasi-movement-documentation/
- Some Fix for Collision / Region map regex. ( Some filenames wouldn't load )
- Documentation is reformatted, but only like 20% done. Still need to add examples for pages 3, 4, and 5
- Edited: Fix for passability levels / boats / ships being able to move on grass tiles
Sight 1.06
https://github.com/quasixi/RPG-Maker-MV/blob/master/Systems/QuasiSight.js
http://quasixi.com/quasi-sight/
- Tile and Event shadows should now properly work.
Pathfind 1.09
https://github.com/quasixi/RPG-Maker-MV/blob/master/Systems/QuasiPathfind.js
http://quasixi.com/quasi-pathfind/
- Small fix for Chase function that would cause it to stop chasing.
* Quasixi.com for instructions / Examples
* Github.com for the script file - Some Fix for Collision / Region map regex. ( Some filenames wouldn't load )
-
Amazing scripts!
is this support to make parallax/layering map? -
Thanks and no this doesn't add any parallax features. But you should be able to use this with any parallax / picture binding plugins and using the collision maps to setup the collisions for the parallax.
-
@rondchild = Just like Quasi said, his plugin will enable you to map the player's collisions precisely using his collision map system! And it just worked with any parallax mapping plugin I've used!