QPlugins - Latest: QABS

Quxios

Veteran
Veteran
Joined
Jan 8, 2014
Messages
1,055
Reaction score
785
First Language
English
Primarily Uses
RMMV
@GameFire there is a plugin command already I just forgot to test it / document it. Though I've told a few people about it and they didn't report any issues so must work.
Code:
qabs disable [LIST OF CHARAIDS SEPARATED WITH A SPACE]
Where CHARAID is the character you want to disable (pretty sure you know what it means since it's in like all my plugins help), but for event it would be: eventEVENTID
ex:
qabs disable event1 event2 event5
or just
qabs disable event1

then to re-enable:
Code:
qabs enable CHARAID
note that if theres no CHARAIDS, it'll disable ABS for everything, ex using "qabs disable"
 
Joined
Feb 18, 2015
Messages
562
Reaction score
297
First Language
English
Primarily Uses
RMMV
I just tested it, it seems that the plugin command "qabs disable" doesn't work without specifying an event ID. The game just skips over the plugin command as if it's not even there. It does work when an event ID is specified, however.
 

Ziddeth

Warper
Member
Joined
Nov 9, 2015
Messages
4
Reaction score
2
Primarily Uses
Using only Plugin Command "qabs disable" worked for me, but only to stop attacks from being used. Enemies will still Pathfind and Chase, but are unable to attack. Same applies for Player. Pressing F10 for Collisions shows that enemy Range/Sight is still active.
 

Arise

Veteran
Veteran
Joined
Aug 31, 2016
Messages
132
Reaction score
19
Primarily Uses
I'm trying to use the desktop app Map Editor, but after I make a map an add objects to it, I can't save.

It tells me
Code:
ERROR
Uncaught TypeError: Converting circular structure to JSON
...... \app.asar\js\store\actionMain.js:116
Managed to some sort of a workaround the above issue by editing the QMap.json file, I added another map body into the [ ] of the last map I've added.

But now when loading the project now it gives me this error:
Code:
Uncaught TypeError: Cannot read property 'getElementByClassName' of null
...... \app.asar\js\components\toolbarObjList.js:118
 
Last edited:

Quxios

Veteran
Veteran
Joined
Jan 8, 2014
Messages
1,055
Reaction score
785
First Language
English
Primarily Uses
RMMV
@GameFire and @Ziddeth thanks for the report, yeah I knew something in that plugin command was incomplete lol, will fix soon + add it to the docs

@Arise What QMap Editor version are you using? I know there was a saving issue in 3.0.0 but if you have 3.0.1 or 3.0.2 and still have that issue let me know and send me your QMap.json files (original and edited)

Updates
QABS 1.4.0
  • Fix for `qabs disable` plugin cmd
  • Added `qabs override SKILLKEY SKILLID` plugin cmd
QABS+Skillbar 1.0.2
  • Small patch for 1.4.0
  • This plugin still needs a massive rewrite, but too lazy to do so, sorry!
 
Last edited:

Arise

Veteran
Veteran
Joined
Aug 31, 2016
Messages
132
Reaction score
19
Primarily Uses
Sorry, you were right, the QMap Editor was older version, 3.0 that I had downloaded somewhere back in August I think.
It works ok now. Thanks!
 

Arise

Veteran
Veteran
Joined
Aug 31, 2016
Messages
132
Reaction score
19
Primarily Uses
Got a new question, I have a sprite for an event (a huge door), each frame has 320x320px. Now I want a custom collider for this, but not sure how exactly to define it. I've tried to get the numbers from photoshop, but it looks the polygon has a huge offset comparing to where I expect it to be.

I think the polygon 0,0 points starts at the bottom of the event somewhere near the middle, maybe I need to substract half from 48 pixels from the half of the width of the image?

Anyway how I can quickly get the collision polygon coordinates without getting a pen an paper and doing the math for the offsetting?
 

Quxios

Veteran
Veteran
Joined
Jan 8, 2014
Messages
1,055
Reaction score
785
First Language
English
Primarily Uses
RMMV
@Arise Cool! as for your question, is that for a QMap object or event? You said event in your msg but just want to make sure. And also just want to ask, does it have to be a poly? A door, in most cases should be a rect unless it's at an angle then it'd be a rotated rect which would be a polygon in my plugin.
 

Arise

Veteran
Veteran
Joined
Aug 31, 2016
Messages
132
Reaction score
19
Primarily Uses
Yes, is a game event, and yes, it is some sort of a door at an angle, so it can't be a simple rectangle.

I think I falsely assumed that the 0,0 point would be the image (sprite) top left corner, but because this is probably an actual game event then the origin point is somewhere at the bottom of the image at half of the x axis (minus half the tile width/height I think?).
 

Arise

Veteran
Veteran
Joined
Aug 31, 2016
Messages
132
Reaction score
19
Primarily Uses
I got stuck... it seems the colliders are available only for events and for the player?

The samples/examples don't explain the syntax to add a poly collider inside QMovement Presets. Even more, if I try to add a new preset I get only box and circle as options. So can't add poly. If I would try to add a poly as a block of text, what would be the syntax? Because it looks like json to me, not like xml tags.

But I would prefer to have a separate collider for the map. I know that I can add a separate image with some color different than white and transparent but I've read that is not an efficient way to do that.
So I would rather attempt and define my polygons for collision...

I think it would be better to define the colliders "also" at the map level because you have the Note field which is much more "generous" with the space being a multiline editor.

The only way I was able to add a poly collider so far was to add it in the Note field of an event positioned exactly at 0,0. Other events seems to bring me an extra offset, and if this is a big polygon it will mean a lot of math involved... :)
 

Quxios

Veteran
Veteran
Joined
Jan 8, 2014
Messages
1,055
Reaction score
785
First Language
English
Primarily Uses
RMMV
@Arise Yeah there's no info for how to set poly colliders for characters which is why I asked if it was a QMap object. And you can only add poly colliders through the notefield like you've figured out, but I don't have it in the doc's because it's "unsupported" and should be avoided since like you've also figured out, it's a lot of work lol. So sorry, there's no easy way for polygons. You could create a spriteless QMap object at that event location and create the polygon collider on that empy QMap, then setup the conditions so that QMap object is only active when the door is closed so you can pass through it when it's open.
Though with QMap, you still need to edit the values, but at least you have a visual when making it.
 

Arise

Veteran
Veteran
Joined
Aug 31, 2016
Messages
132
Reaction score
19
Primarily Uses
@Quxios sorry for creating confusion.

I sort of kinda fixed the door... it works ok for me, as a normal event, I try to stay away from Qmap. Not sure exactly what QMap is good for me, however I like the fact I can use the half transparency trick when behind the objects, but that is all.

But now I'm talking about creating collision maps for the maps in the game. I know I can use a white/red color map for example, but you said in the docs that using polygons should be much faster, less computations.
I found an "easy" way to create polygons, I just make some paths in Photoshop then I run a script to process the paths and give me all coordinates.

So, is it possible to use a polygon (actually multiple polygons) for a map instead of images in QM+CollisionMap.js ???

For reference this is the script I'm using to quickly get the poly coordinates:
Code:
#target photoshop
//original script here: https://github.com/pdizz/Photoshop-Scripts/blob/master/get%20selection%20coordinate%20points.jsx


// Save the current unit preferences (optional)
var startRulerUnits = app.preferences.rulerUnits
var startTypeUnits = app.preferences.typeUnits

// Set units to PIXELS
app.preferences.rulerUnits = Units.PIXELS
app.preferences.typeUnits = TypeUnits.PIXELS

// Use the top-most document
var doc = app.activeDocument; 

var width = parseInt(app.activeDocument.width.toString().replace(' px', ''));
var height = parseInt(app.activeDocument.height.toString().replace(' px', ''));

var paths = app.activeDocument.pathItems;
var pathsLength = paths.length;


var coords = new File("~/Desktop/coords.txt");
coords.open("w");
for(var i = 0; i < pathsLength; i++)
{
   var wPath = doc.pathItems[paths[i].name];
   var stride = 1; // 2 means every 2nd, 3 means every 3rd, etc. Minimum 1

   coords.writeln(paths[i].name);
   coords.write('<collider:poly');
    // Loop through all path points and add their anchor coordinates to the output text
    for (var j=0; j<wPath.subPathItems[0].pathPoints.length; j++) {
        if (j % stride === 0) {
            //alert(wPath.subPathItems[0].pathPoints[j].anchor);
            var anchor_string = wPath.subPathItems[0].pathPoints[j].anchor+'';
            var anchor_xy = anchor_string.split(',');
           
            //for map use this
            var anchor_x =  parseInt(anchor_xy[0]);
            var anchor_y =  parseInt(anchor_xy[1]);
           
            //for events with offsets use this
            //var anchor_x =  parseInt(anchor_xy[0]) - (width/2-24);
            //var anchor_y =  parseInt(anchor_xy[1]) - (height-48);           
           
           
            coords.write(',('+anchor_x+','+anchor_y+')');
        }
    }
    coords.write('>\n');
   
}

coords.close();

// Alert the output text
alert(coords);

// Reset to previous unit prefs (optional)
app.preferences.rulerUnits = startRulerUnits;
app.preferences.typeUnits = startTypeUnits;
 

Silenity

Veteran
Veteran
Joined
Dec 17, 2013
Messages
677
Reaction score
271
First Language
English
Primarily Uses
RMMV
Qtouch used to let sound effects play when going over menu options didnt it?
 

Quxios

Veteran
Veteran
Joined
Jan 8, 2014
Messages
1,055
Reaction score
785
First Language
English
Primarily Uses
RMMV
@Arise Yeah you would have to create some addon that loads in a bunch of polygon colliders into the map on load. Or you can create some autorun event that creates them with script calls. You can try this add on I made a long time ago:
Link
I don't know if it still works with current versions though since I created that a long time ago and apparently never released it.

@Silenity Idk I always have RM sounds off, but I'll patch that up if that's the case.
 

Silenity

Veteran
Veteran
Joined
Dec 17, 2013
Messages
677
Reaction score
271
First Language
English
Primarily Uses
RMMV
@Arise Yeah you would have to create some addon that loads in a bunch of polygon colliders into the map on load. Or you can create some autorun event that creates them with script calls. You can try this add on I made a long time ago:
Link
I don't know if it still works with current versions though since I created that a long time ago and apparently never released it.

@Silenity Idk I always have RM sounds off, but I'll patch that up if that's the case.
To be fair the last time I used the plugin was when it was QuasiQuickTouch which played sound whenever moving between options.
 

Arise

Veteran
Veteran
Joined
Aug 31, 2016
Messages
132
Reaction score
19
Primarily Uses
Tested the plugin and it works fine, at least in my preliminary tests.

I just had to adapt my scripts to output some json syntax, instead of the old xml tags like format and all is set...

What can I say? You are just awesome.
 

Danteus

Random Encounter
Veteran
Joined
Oct 1, 2014
Messages
57
Reaction score
29
First Language
English
Primarily Uses
Is there any chance that you will eventually update Sprite Costumes?
 

Quxios

Veteran
Veteran
Joined
Jan 8, 2014
Messages
1,055
Reaction score
785
First Language
English
Primarily Uses
RMMV
@Arise No problem!

@Danteus Sorry but sadly I probably won't

Updates
QPicture 1.1.0
  • Public release (was actually out a few days ago, I just forgot!)
  • Added through alpha function. Lets mouse events ignore transparent areas of an image.
QTouch 1.1.2
  • Fixed cursor sounds on hover
Also want to remind everyone that there's a formatted help for all my plugins on my site - Link -

More Updates
QABS 1.4.1
  • Fixed issue with event notes being ignored for some of my plugins
  • Fixed issue with skills pictures initial position
 
Last edited:

djmckay

Warper
Member
Joined
Mar 4, 2017
Messages
1
Reaction score
0
First Language
English
Primarily Uses
RMMV
Thanks for the great plugins, Quxios! I have a question - sorry if it's a dumb question, I am brand new to RPG Maker. With QABS, how do I change the movement speed of the enemies?
 

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

Latest Threads

Latest Posts

Latest Profile Posts

Just beat the last of us 2 last night and starting jedi: fallen order right now, both use unreal engine & when I say i knew 80% of jedi's buttons right away because they were the same buttons as TLOU2 its ridiculous, even the same narrow hallway crawl and barely-made-it jump they do. Unreal Engine is just big budget RPG Maker the way they make games nearly identical at its core lol.
Can someone recommend some fun story-heavy RPGs to me? Coming up with good gameplay is a nightmare! I was thinking of making some gameplay platforming-based, but that doesn't work well in RPG form*. I also was thinking of removing battles, but that would be too much like OneShot. I don't even know how to make good puzzles!
one bad plugin combo later and one of my followers is moonwalking off the screen on his own... I didn't even more yet on the new map lol.
time for a new avatar :)

Forum statistics

Threads
106,018
Messages
1,018,358
Members
137,803
Latest member
andrewcole
Top