@Quxios Thanks! Works great, but do I have to write every Popup that's not loot manually?
Is there a way to automatically show the items I get from other events with the Change Items command?
QPlugins - Latest: QABS
● ARCHIVED · READ-ONLY
-
-
@AUXturnA You would have to create some JS to find a spot where the player won't get stuck, then move him there before changing his collider
@Arise I took a look at your demo, and that's slightly incorrect. The sight range on the first page should be shorter then the range on the 2nd page. Also for the script call in the autonomous movement should just be:
Code:As for that other "bug" it's not a bug, it's completely intentional. Most of my plugins don't use the full algorithms or full checks because they're designed for MV. So using a full check is unneeded most of the time unless the dev is planning on creating some crazy action like game with full custom sprites, in which case they should just hire a programmer to make the systems instead of using plugins.this.chase(0);
@GameFire Will look into it
@blakebishop1989 some of those images aren't loading. But here's the main questions either way:
1. Push F8 are there any errors?
2. Whats the filename, are you identifying it correct? Looking at your screenshots your config is named Test, So if you're using the default identifier in the plugin parameters then your filename should be something like:
%Test-mychara.png
@Shiko Use the QPopup plugin and it'll add the popups for you
@Quxios In my Qsprite editor i've made the config name Test, i've named my mastersheet character sheet " %Test-Example " and set the plugin options to " %Test " I seem to get two results when tinkering around, the first one creates an unknown sheet like " %258%24Test-Example.png "
or it displays the Qsprite but as shown in my previous photo in a row of 6 images instead of one solid character figure. -
@Arise In the autonomous movement "this" should be the Game_Event, it was for me when testing. For the event command move route it is the Game_Interpreter. And if it's the interpreter you can change it to:
Code:this.character().chase(0)
@Shiko Yeah you'll have to manually do it for every other pop up you want. You just need to do a plugin command like:
qPopup start "\I[ICON_INDEX_HERE] Gained some item" presetQABS-ITEM
(Assuming you want to use same preset that QABS will use)
Here are some extra info on QABS popups:
The duration is 80 frames
transition is:
'50 30 fadeout'
'0 80 slideup 24'
@blakebishop1989 Keep the plugin parameter "%{config}-" the {config} part will get replaced will capture which config to use, so it's like a "wildcard" in a way. If you're still having issues send me a demo either here or PM so I can take a look myself.
(Might edit this post in a few mins if there's no replies to avoid double posting, few updates on the way!)
UpdatesQMovement 1.6.2
- Slight changes to collision check, ColliderManager
- Fix for Event with max Freq using move random
- Changes to Actions (new class instead of aliasing Game_Action)
- Skill common event now runs
- Slight change for Collider Sprites
- Fixed a crash
-
@Quxios: I feel a bit confused right now, and I still don't understand events and pages, but in my projects when I do a console.log(this) I get exactly backwards. In the the autonomous movement "this" is actually a Game_Interpreter.@Arise In the autonomous movement "this" should be the Game_Event, it was for me when testing. For the event command move route it is the Game_Interpreter. And if it's the interpreter you can change it to:
Code:this.character().chase(0)
this.character() is not defined, but this._character works. So I tried this._character.chase() and another error for chase() not being defined there.
Also I think there is some incompatibility with YEP plugins, for some reasons I get different errors if I move QMovement above YEP_CoreEngine, or between YEP_CoreEngine and YEP_X_AttachAugments or after them.
Last thing... QUpdate is not working for me this round of updates, I'll try to investigate why is missing the new plugins.
Later edit:
Found the issue... There are two versions of the QUpdate.js file, both with revision 1.2.
One version asks for https://quxios.github.io/data/plugins.json which is an object containing other objects so the matching is not working properly becuase the root object has no length property, while the plugin asking for https://quxios.github.io/data/pluginsMin.json is an array of objects which has the length property, so QUpdate.comparePlugins actually works.
Don't know how I managed to get different versions of QUpdate.js file in multiple projects... very confusing. -
@Quxios I don't know if I'm doing something wrong but the qPopup start command is not working for me. I even made a new project and still isn't working.
-
@Arise I could have got it backwards, i didn't test it. And yeh keep my plugins below the YEP_Core because that plugin will override some functions that will cause QMovement not to work, like the update func in Game_CharacterBase.
As for the QUpdate, ah right. Before the plugins.json was also an Array which is why an outdated QUpdate still worked. But I changed it to an object data type for site performance (faster to get a value from an obj with a given key vs looping an array for the one u want). So I never "updated" QUpdate's version I just did some changes thinking it wouldn't effect anything. My bad! So everyone should update their QUpdate because there's no way for me to "ping" an update for it due to my mistake.
@Shiko Will test the plugin commands in a bit and let you know. -
@Quxios: Got it!
For the QPathfind, what are the guidelines to make the polygons, to define those so the actor dont go in zig-zags?
Your sample for colliders worked much better, but I wasnt able to understand why... -
Found weird compability bug between your main Qplus plugin and Yanfly's Selection Controll. When Qplus is enabled, you can't select all enemies via clicking on the button. Minor bug for pc, but for mobile :(
-
Is it possible to call a skill for enemies without ai? I'm making a Megaman Battle Network inspired game, so in order to keep enemies bound to the grid, I disabled ai. Without it enabled though, they won't use skills. Is there some kind of script call I can use to include skills in a custom move route? Either way, the plugin's are fantastic, so thanks regardless. Here's a vid that might help >>>>
>>> Figured it out, might as well toss another q in the ring then.
Is it possible to have grid tiles with a different length and width? I've tried using 96, 40 as an example, but all it seems to do is disable grid based movement all together, thanks again m8. -
@Quxios
So do you know how to make it work? -
@Quxios: Hi!
Found another bug... :)
If QMovement is enabled and Grid is 1px (pixel movement) then I can't start a battle based on region range.
Map Settings > Encounters > Range (Specify by Region ID).
If I set grid back at default MV 48px, then Map Encounters works fine when walking in that area.
Later edit: Changed the function in Qmovement with this:
Code:Game_CharacterBase.prototype.regionId = function() { return $gameMap.regionId(Math.floor(this.x),Math.floor(this.y)); };
I assume making a polygon intersection check would be overkill... -
@Quxios Any love regarding vehicles? Last update according to your patreon made the collider boxes 0x0. So technically you could hop on a vehicle but at a very precise pixel.
Is it possible to change player collision mid game via event?
Also I believe the qmovement plugin screws up with event frequency? For example NPCs will completely ignore the frequency option and go on highest. -
Found a bug with QParams. Using the <ratesFormular></ratesFormula> causes an error and any other variation won't work.
Also trying to use the <param> feature on weapons causes another error. -
@Quxios: no words from you in tha last couple of days... but I've found some more issues with the plugins... (actually I think I already reported this when I said is possible to walk through the entire collision polygon and if not stopping then it will not trigger).
I tried to fix some of them/understand why those not working.
The trigger for EventTouch (for example when the Event pathfinds/chase the player and catch the player) is not properly working.
As it is now,
Game_Event.prototype.checkEventTriggerTouch function is doing the check based on
Code:var collider = this.collider('collision');
Not sure if this is best solution, but I've added some extra code to take into account the interaction collider, which should be bigger.
Code:if (this._colliders.interaction != undefined){ collider = this.collider('interaction'); }
Then, I also found this function which seems to be executed frequently:
Game_CharacterBase.prototype.fixedRadianMove
and I addedCode:also inside the if block.this.checkEventTriggerTouchFront(dir); -
Sorry I was sick for the past few days! So quite a bit to reply to, if i miss anything feel free to let me know (also feel free to re report any previous reports from last week as I probably completely forgot about them by now)
@Arise The basic guideline is to keep the polygons small. If it's too large break it into multiple parts. For collision optimization a rect is created around the polygon that represents which tiles it may be on. So for example if you had a large L shaped tile that had a grid rect of 5x5, lot of those rect spaces would actually be empty. So in that case it would be better to break it into 2 rects instead of a polygon.
That fix is fine, though using the center values would probably work better. Will include that in next patch! thanks!
Those 2 changes look fine, did it fix your issue? If not let me know what it was again
@Hillarien Will look into it
@melonkoi Not possible without editing / making an addon
@Kraden96 Sorry but don't remember what you were asking about
@quester Nothing for vehicles yet not sure if I'll ever get around to them. You should be able to change characters colliders using the plugin command
Tested freq, and yeh it seems to have broken, will look into soon
@HasdrubalBarca Will look into -
@Quxios: glad to have you back! :)
Some of your plugins use the "this" string when you can specify the event, either as a number or "this" string to refer to exactly that event.
This approach works in many cases, but not always...
I've figured out why it won't work for example when calling the plugin from Autonomous Movement > Custom > Route...
When in the Event Page (Right Hand) the this keyword is a Game_Interpreter instance. This looks and works nice in almost every situation.
But when talking about the Autonomous Movement > Custom > Route... then this keyword is a Game_Event instance.
That complicates things a bit, because the scope is different, also initialization of some extra variable members is required.
My solution at that time was to create a new Game_Interpreter object as a member of the event.
Everything below goes on a single line in the script, formatted for easier reading.
Code:The last 3 initializations in the if block are required, because Q Plugins need those values in order to properly process the "this" string that appear in the plugin line. But I also suspect more data could be required, maybe more stuff should be set up for a proper Game_Interpreter instance.if (this.gameInterp===undefined){ this.gameInterp = new Game_Interpreter(); this.gameInterp._character=this; this.gameInterp._eventId=this._eventId; this.gameInterp._mapId = $gameMap.mapId(); } this.gameInterp.pluginCommand('qPathfind', 'this chase p smart2'.split(" "));
Example:
Inside Game_Interpreter.prototype.qPathfindCommand = function(args) {
Code:The above code assumes that character is a member/attribute of the this keyword, But simply creating a new Game_Interpreter() won't give you the _character field initialized, nor will give it the _eventId or _mapId.var chara; if (args[0].toLowerCase() === 'this') { chara = this.character(0); } else { chara = QPlus.getCharacter(args[0]); } if (!chara) return;
Just saying...
Other example, and this one I think is buggy... in every instance.
Code:qEventSave unsave this
For some reason the above command throws an error when I use it in a map initialization event, that sets up a few things, and starts on autorun.
However, doing a
Code:works fine.qEventSave unsave e1
Later edit: I think I found the issue in this last case, "this" string is just not processed inside the QPlus.getCharacter() function, is missing support for it.
Later Edit2: Because the Game_Interpreter.prototype.qPathfindCommand function is processing the string "this" on its own and is not relaying on QPlus.getCharacter() for this, then probably Game_Interpreter.prototype.qEventSaveCommand should do the same, and include the code:
Code:var chara ; if (args[1].toLowerCase() === 'this') { chara = this.character(0); } else { chara = QPlus.getCharacter(args[1]); }
BTW, did you had time to look in the Electron thread? :) -
Since you you said you might have forgotten, can you test the qPopup start command on your end? Because I can't seem to make it work even on a new project.
-
Is direction fix compatible with qmovement? I'll call for an event that turns direction fix on for the player, but skills still launch in the wrong direction whenever the player takes a step in the opposite direction. Is there any sort of workaround for this? Hope you're feeling better btw
-
Hi Quxios, I am trying to spawn enemy events dynamically (using another plugin), but when these events are spawned, they are created as "GAME_CUSTOM_EVENT" objects and behave like normal events (as if they don't have the <enemy:#> note tag). It seems that only enemies placed on the map manually in the RPG Maker MV editor will be detected as enemy sprites. Do you know how I can achieve dynamic spawning of enemies, or is that currently not supported? Thanks in advance!
-
I don't know if that's intentional or not, but I've noticed that when use QABS skillbar there's no way to control which skill will show up on it, it just displays the entire default skills list, even if the character doesn't know the skill. What it means is that if you have any weapons that change skill keys, they will always be displayed on the skillbar, no matter if you have the weapon equipped or not.
Would it be possible to add a feature to the skillbar plugin to hide certain skills from the default skills list?