QPlugins - Latest: QABS

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

  1. Vetmora

    Vetmora Villager Member

    Messages:
    17
    Likes Received:
    2
    First Language:
    English
    Primarily Uses:
    RMMV
    Yes direction fix would be a great addition.

    Also is there any plans for adding a flash enemy to the skill settings? Similar to what is currently available in the animations section where you can make the default enemy sprites flash.
     
  2. Xalezar

    Xalezar Villager Member

    Messages:
    8
    Likes Received:
    0
    First Language:
    English
    Primarily Uses:
    RMMV
    Coincidentally, I've thrown together a really hacky target flash custom function. It's not the best way probably, but it seems to get the job done for now.

    Step 1 The following code goes into my personal master plugin JavaScript file that I use to override other plugins or write my custom functions. It goes at the bottom of all my plugins to ensure it will be the last to run.

    Code:
        Skill_Sequencer.prototype.targetFlash = function(action, targets) {
            if ( targets.length ) {
                // TODO: find more efficient way to make sprite blink
                targets[0].setOpacity(0);
                setTimeout( function(){ targets[0].setOpacity(0); } , 100 );
                setTimeout( function(){ targets[0].setOpacity(255); } , 150 );
                setTimeout( function(){ targets[0].setOpacity(0); } , 200 );
                setTimeout( function(){ targets[0].setOpacity(255); }, 250 );
                setTimeout( function(){ targets[0].setOpacity(0); } , 300 );
                setTimeout( function(){ targets[0].setOpacity(255); } , 350 );
                setTimeout( function(){ targets[0].setOpacity(0); } , 400 );
                setTimeout( function(){ targets[0].setOpacity(255); } , 450 );
            }
        }
    I used targets[0] temporarily to just target the first enemy in the array of possible enemies within attack range. To target all enemies in range, you can use a loop iterating on variable i, and replace targets[0] with targets[i ]

    Then I aliased the "startOnDamageTargetAction" function to add this extra switch case:

    Code:
        var _Skill_Sequencer_startOnDamageTargetAction = Skill_Sequencer.prototype.startOnDamageTargetAction;
        Skill_Sequencer.prototype.startOnDamageTargetAction = function(action, targets) {
            var cmd = action[0].toLowerCase();
            if ( cmd === 'flash' ) {
                return this.targetFlash(action, targets);
            }
            _Skill_Sequencer_startOnDamageTargetAction.call(this, action, targets);
        };
    
    Edited again to prevent action.shift() from happening twice. It seems if I use action[0] to reference the first action item but not remove it from the array, then action.shift() from the original plugin function can still run without error. Otherwise, action.shift() will return null, and toLowerCase() cannot be used on a null object, which throws an error. Oddly, the call() function at the end of this example runs even though there's a return statement above. Does anyone know why?

    Please let me know if there's a better way to go about this anyone. Thanks.

    Step 2

    For the skill where you want this animation to happen, place somewhere between the <absOnDamage> note tag

    Code:
    target flash
     
    Last edited: Feb 8, 2018
  3. Quxios

    Quxios Veteran Veteran

    Messages:
    1,055
    Likes Received:
    780
    First Language:
    English
    Primarily Uses:
    RMMV
    @Arise what I was trying to get to is that you don't need to go to the Game_Interpreter, just call the function from the class. Seems like what you're doing in some cases is:
    Game_CharacterBase > Game_Interpreter > Game_CharacterBase > QPathfind
    There's no need for those 1st 2 steps since you can go from the Game_CharacterBase to QPathfind. So if 'this' returns the Game_CharacterBase, call the w.e. pathfind func u need from it, like 'this.chase(parameter)' and not create an interpreter to run a plugin command. If 'this' is the Game_Interpreter then use the .character(0) to grab the character and call it's pathfind func or run the plugincommand func and pass the args so it runs the qpathfind command

    @Shiko it worked fine for me. Make sure you set the x and y or a bindTo

    @melonkoi Atm no, you would need to create an addon. I have it this way so you can use those single frame enemies that are direction fixed but can still fire their skills in any direction

    @Xalezar You'll need to find a better event spawning plugin, one that clones an event off a different map preferably .

    @Suv It's intentional. That skill bar is more of a basic hud. It's not something I recommend anyone to actually use but to build off / make their own hud from.

    @Vetmora Not without creating an addon @Xalezar's post is pretty much how it'd be done, though you didn't use the alias which I suggest you do.
    Code:
       var _Skill_Sequencer_startOnDamageTargetAction = Skill_Sequencer.prototype.startOnDamageTargetAction;
       Skill_Sequencer.prototype.startOnDamageTargetAction = function(action, targets) {
           var cmd = action.shift().toLowerCase();
           if (cmd === 'flash') {
             return this.targetFlash(action, targets);
           }
          _Skill_Sequencer_startOnDamageTargetAction.call(this, actions, targets);
       };
    
     
    Shiko and Xalezar like this.
  4. HasdrubalBarca

    HasdrubalBarca Veteran Veteran

    Messages:
    160
    Likes Received:
    56
    First Language:
    English
    Hey Quxios, I have a question. How do you set up region events on QEvents? I know on QuasiEvents you only needed to set up the comment <region:x> after you set up an event but this doesn't seem to be the case with the new QEvents.
     
  5. Arise

    Arise Veteran Veteran

    Messages:
    131
    Likes Received:
    18
    @Quxios: I did some testing and it looks like the pathfinding has some issues when it has to run in diagonal. Like running between some diagonal tunnel. If the tunnel is oriented from left to right or top down all looks fine with pathfinding, but if the tunnel is rotated 45 degrees (isometric actually) the pathfinding seems to have issues as the character starts walking, walks a bit, then stops for 1 second (probably to recalculate the pathfind) then walks again and so on.
     
  6. Vetmora

    Vetmora Villager Member

    Messages:
    17
    Likes Received:
    2
    First Language:
    English
    Primarily Uses:
    RMMV
    @Xalezar @Quxios Thanks for the help guys, much appreciated. However not exactly sure where to put the code in the QABS file?
     
  7. jayray

    jayray Jay Ray Games and Art Design- Oklahoma City, OK Veteran

    Messages:
    132
    Likes Received:
    97
    Location:
    Oklahoma City, OK
    First Language:
    English
    Primarily Uses:
    RMMV
    I have a question about your QMAP Editor - actually, a function request. I know a lot of people enjoy this editor because of the freeform tile-less ability to add items...

    BUT, what about a snap-to-grid idea? where a map object can be forced to start at a grid point?

    Just a thought, as I'm trying to create "super-Tiles of 10x10 as little mini-parallaxes and foregrounds and think this would be awesome to have.
     
    ZcheK likes this.
  8. Etori

    Etori Villager Member

    Messages:
    5
    Likes Received:
    0
    First Language:
    English
    Primarily Uses:
    RMMV
    Anyone know of a way of making specific events unable to move diagonally? I know that you can change the parameter to turn off diagonal movement altogether, but that doesn't really help here.

    Also, is there anyway of making specific events restricted to grid movement?

    Edit:

    Another question - is there a way of detecting player/event pixel position? For example, for standard grid-movement, player/event position can be acquired through Control Variables (Map X/Y of Event/Player). However, I can't seem to find a way to find the X and Y *pixel* coordinates of events and players, which can be troublesome for eventing.
     
    Last edited: Feb 9, 2018
  9. Xalezar

    Xalezar Villager Member

    Messages:
    8
    Likes Received:
    0
    First Language:
    English
    Primarily Uses:
    RMMV
    Hi @Vetmora, I've updated my earlier post with my approach. Open to suggestions, thanks.
     
  10. Suv

    Suv The average user Veteran

    Messages:
    97
    Likes Received:
    53
    First Language:
    Polish
    There may be a problem with the collision detection for QMovement since last patch. It's suddenly possible to pass through some of the colliders I set up in MapEditor. I think it may be due to intersecting with other collision/interaction areas but I can't pinpoint the exact cause myself.

    I'd post a screenshot but all those red layers make it unreadable.
     
  11. Sleepy Kitten Games

    Sleepy Kitten Games Veteran Veteran

    Messages:
    426
    Likes Received:
    186
    First Language:
    English
    Primarily Uses:
    RMMV
    @Suv I have the same issue on one of my maps. They're both behind other QMap objects, but I have plenty of other maps where a QMap object behind another object still acts as expected.
    I'm not sure if this is related to the issue @Suv mentioned, but the last time I checked one of my maps had a bizarre spot where it acted like it had a collider in a spot where there wasn't one (no events, no QMap objects, and the collider image didn't have anything there either).
     
  12. Quxios

    Quxios Veteran Veteran

    Messages:
    1,055
    Likes Received:
    780
    First Language:
    English
    Primarily Uses:
    RMMV
    QMap 2.0.1
    • Fixed issue with Map objects meta not being created. Should fix all issues with the map objects notes being ignored
    Also forgot to mention here. But I'm slowly stopping support with my MV plugins. You can read more here.

    @HasdrubalBarca I left region events out of QEvents. Was going to readd but ended up forgetting. Not sure if I will add back in though

    @Arise It might depend on how wide that angled path is. Because it's still calculating by grid spaces, so if there's not enough room it can fail even though the character should fix ideally. Ex: if I made a character with a collider 48x48 and had a path that was 48 pixels tall but had that path offset a bit, the pathfind can fail.

    @Vetmora You can put it inside it's own file (open any txt, paste it in and set the ex as .js, or if you saved it as a .txt just rename it to .js) and load it to the plugin manager. Or paste it at the very bottom of QABS, though note you'd have to paste it every time there's an update

    @jayray It originally had grid snapping but it didn't work too well. I do plan on readding it though

    @Etori You'd have to make changes to the plugin to enable/disable options for specific events.
    To get pixel coordinates you can use the .px / .px values. So like:
    $gamePlayer.px

    @Suv Should be fixed in 2.0.1

    @GameFire are you still able to find that spot / can it be reproduced?
     
  13. Sleepy Kitten Games

    Sleepy Kitten Games Veteran Veteran

    Messages:
    426
    Likes Received:
    186
    First Language:
    English
    Primarily Uses:
    RMMV
    Well, that's interesting. Looks like QUpdate isn't working for me anymore. So I'm having to go through the github repo and manually find all the plugins that I need to update. Will update my post once all the plugins are updated, since with just updating to QMap 2.0.1 my game is stuck on loading after selecting "new game".
    Edit: Okay, I think I updated them all. QUpdate still doesn't work, though. I can hit f9 on the title screen and it pulls up a window. The window's just empty. And still, selecting "new game" just leads to the game being stuck on loading.
     
    Last edited: Feb 11, 2018
    Etori likes this.
  14. Arise

    Arise Veteran Veteran

    Messages:
    131
    Likes Received:
    18
    Yes, I think is something fishy with qupdate under nwjs. It seems the ssl cert has some issues and as a result it refuse to load it.

    Failed to load resource: net::ERR_SSL_VERSION_OR_CIPHER_MISMATCH

    GET https://quxios.github.io/data/pluginsMin.json net::ERR_SSL_VERSION_OR_CIPHER_MISMATCH
    QUpdate.js:111 QUpdate.getRepoPlugins
    QUpdate.js:243 (anonymous function)
    QUpdate.js:257 (anonymous function)
     
    Last edited: Feb 11, 2018
  15. Suv

    Suv The average user Veteran

    Messages:
    97
    Likes Received:
    53
    First Language:
    Polish
    Didn't help unfortunately. I think my problem shows up only when an event overlaps a map object placed by your map editor.
     
  16. Sleepy Kitten Games

    Sleepy Kitten Games Veteran Veteran

    Messages:
    426
    Likes Received:
    186
    First Language:
    English
    Primarily Uses:
    RMMV
    Turned off QMap, now the game doesn't get stuck loading after selecting "new game". But turning QMap back on makes the game go back to being stuck.
     
  17. blakebishop1989

    blakebishop1989 Villager Member

    Messages:
    27
    Likes Received:
    4
    First Language:
    english
    Are there any plugin commands to make Qsprite render images? Maybe im missing something here.
     
  18. BraveGhost

    BraveGhost Villager Member

    Messages:
    8
    Likes Received:
    0
    First Language:
    English
    Primarily Uses:
    RMMV
    Ive encountered a strange problem, my part members are frozen in place when I start a playtest, the only plugins I have installed for this test are Qplus, Qmovement and Qabs
     
  19. Suv

    Suv The average user Veteran

    Messages:
    97
    Likes Received:
    53
    First Language:
    Polish
    I think I've read somewhere that the party members that follow the leader just don't work well with Qmovement (might have been other plugin though).
     
  20. Sleepy Kitten Games

    Sleepy Kitten Games Veteran Veteran

    Messages:
    426
    Likes Received:
    186
    First Language:
    English
    Primarily Uses:
    RMMV
    Also, with the latest version of the QMap Editor (4.0.0), it seems I'm no longer able to type a . directly into the anchor point boxes. I can type it into something else and paste it into the box, at least.
     

Share This Page