QPlugins - Latest: QABS

Discussion in 'JS Plugin Releases (RMMV)' started by Quxios, Jan 2, 2017.

  1. Shiko

    Shiko Villager Member

    Messages:
    27
    Likes Received:
    8
    Location:
    Portugal
    First Language:
    English
    Primarily Uses:
    RMMV
    @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?
     
  2. blakebishop1989

    blakebishop1989 Villager Member

    Messages:
    27
    Likes Received:
    4
    First Language:
    english
    @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.
     
  3. Quxios

    Quxios Veteran Veteran

    Messages:
    1,055
    Likes Received:
    780
    First Language:
    English
    Primarily Uses:
    RMMV
    @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!)

    Updates
    QMovement 1.6.2
    • Slight changes to collision check, ColliderManager
    • Fix for Event with max Freq using move random
    QABS 1.6.4
    • Changes to Actions (new class instead of aliasing Game_Action)
    • Skill common event now runs
    QSight 1.1.14
    • Slight change for Collider Sprites
    QEvent 1.0.1
    • Fixed a crash
     
    Last edited: Jan 21, 2018
    Fafs, ZcheK and Shiko like this.
  4. Arise

    Arise Veteran Veteran

    Messages:
    131
    Likes Received:
    18
    @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.

    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.
     
    Last edited: Jan 21, 2018
  5. Shiko

    Shiko Villager Member

    Messages:
    27
    Likes Received:
    8
    Location:
    Portugal
    First Language:
    English
    Primarily Uses:
    RMMV
    @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.
     
  6. Quxios

    Quxios Veteran Veteran

    Messages:
    1,055
    Likes Received:
    780
    First Language:
    English
    Primarily Uses:
    RMMV
    @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.
     
    Shiko likes this.
  7. Arise

    Arise Veteran Veteran

    Messages:
    131
    Likes Received:
    18
    @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...
     
  8. Hillarien

    Hillarien Warper Member

    Messages:
    3
    Likes Received:
    1
    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 :(
     
  9. melonkoi

    melonkoi Warper Member

    Messages:
    2
    Likes Received:
    0
    First Language:
    english
    Primarily Uses:
    RMMV
    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.
     
    Last edited: Jan 25, 2018
  10. Kraden96

    Kraden96 Friendly Fox Veteran

    Messages:
    31
    Likes Received:
    10
    First Language:
    English
    Primarily Uses:
    RMMV
    @Quxios
    So do you know how to make it work?
     
  11. Arise

    Arise Veteran Veteran

    Messages:
    131
    Likes Received:
    18
    @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...
     
    Last edited: Jan 26, 2018
  12. quester

    quester Warper Member

    Messages:
    3
    Likes Received:
    0
    First Language:
    english
    Primarily Uses:
    RMMV
    @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.
     
    Last edited: Jan 26, 2018
  13. HasdrubalBarca

    HasdrubalBarca Veteran Veteran

    Messages:
    160
    Likes Received:
    56
    First Language:
    English
    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.
     
    Last edited: Jan 27, 2018
  14. Arise

    Arise Veteran Veteran

    Messages:
    131
    Likes Received:
    18
    @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 added
    Code:
    this.checkEventTriggerTouchFront(dir);
    also inside the if block.
     
  15. Quxios

    Quxios Veteran Veteran

    Messages:
    1,055
    Likes Received:
    780
    First Language:
    English
    Primarily Uses:
    RMMV
    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
     
  16. Arise

    Arise Veteran Veteran

    Messages:
    131
    Likes Received:
    18
    @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:
    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(" "));
    
    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.

    Example:
    Inside Game_Interpreter.prototype.qPathfindCommand = function(args) {
    Code:
        var chara;
        if (args[0].toLowerCase() === 'this') {
          chara = this.character(0);
        } else {
          chara = QPlus.getCharacter(args[0]);
        }
        if (!chara) return;
    
    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.
    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:
    qEventSave unsave e1
    
    works fine.

    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? :)
     
    Last edited: Jan 31, 2018
  17. Shiko

    Shiko Villager Member

    Messages:
    27
    Likes Received:
    8
    Location:
    Portugal
    First Language:
    English
    Primarily Uses:
    RMMV
    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.
     
  18. melonkoi

    melonkoi Warper Member

    Messages:
    2
    Likes Received:
    0
    First Language:
    english
    Primarily Uses:
    RMMV
    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
     
  19. Xalezar

    Xalezar Villager Member

    Messages:
    8
    Likes Received:
    0
    First Language:
    English
    Primarily Uses:
    RMMV
    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!
     
  20. Suv

    Suv The average user Veteran

    Messages:
    97
    Likes Received:
    53
    First Language:
    Polish
    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?
     

Share This Page