boomy

Veteran
Veteran
Joined
Jan 6, 2013
Messages
220
Reaction score
210
First Language
English
Primarily Uses
RMMV
how do we "remove" units? like retreating after reaching a specific point, teleporting out, etc. enemy or ally
The easy way is to "kill" the unit (I used gainHp(-9999) when they reach a specific point. If you dont like this method, then you can manually remove the unit from $gameSystem._EventToUnit, $gameSystem._srpgAllActors and then erase the event ($gameMap.event(eventId).erase())

As for making an event to remove such units, the easiest way is to make a "vanishing point" event, have it set to <type:afterAction> and then check if an srpgUnit is standing on top of it (same X and Y coordinates)

example:
for (var i = 0; i < $gameMap.eventsXy($gameMap._events[this._eventId].posX(), $gameMap._events[this._eventId].posY()).length; i++) {
if ($gameMap.eventsXy($gameMap._events[this._eventId].posX(), $gameMap._events[this._eventId].posY()).eventId() !== this._eventId) {
if ($gameSystem.isSRPGMode()) {
if ($gameMap.eventsXy($gameMap._events[this._eventId].posX(), $gameMap._events[this._eventId].posY()).isType() == "enemy") {
$gameSystem._EventToUnit[$gameMap.eventsXy($gameMap._events[this._eventId].posX(), $gameMap._events[this._eventId].posY()).eventId()][1].gainHp(-9999);
$gameSystem._EventToUnit[$gameMap.eventsXy($gameMap._events[this._eventId].posX(), $gameMap._events[this._eventId].posY()).eventId()][1].event().erase()
}
}
}
}
 

monkey1031

Villager
Member
Joined
Jul 3, 2022
Messages
12
Reaction score
0
First Language
japanese
Primarily Uses
RMMV
hello.
How do I make a skill that targets all adjacent allies?
I'd like to set the number of targets for skills that reactivate allies to 4.
 
Joined
Jul 8, 2021
Messages
91
Reaction score
76
First Language
English
Primarily Uses
RMMZ
I tried searching the forum and this thread, but is there a known compatibility issue with yanfly/other plugin makers menu plugins? From what I see the plugins seem to override the menu on the battle maps as well, making the plugin unusable. I plan to commission a menu script regardless, but was curious if anyone has ever had a workaround.
I ran into the same problem as well. I don't know enough about JavaScript editing to fix this issue, so I've been searching for other plugins that don't have compatibility issues. For the most part, I've been able to find plugins that can do what I need them to do that aren't Yanfly-based, but it is definitely a hassle.
 

TheLastYuriSamurai

TheLastYuriSamurai
Veteran
Joined
Dec 26, 2013
Messages
96
Reaction score
119
First Language
English
Primarily Uses
RMMV
I ran into the same problem as well. I don't know enough about JavaScript editing to fix this issue, so I've been searching for other plugins that don't have compatibility issues. For the most part, I've been able to find plugins that can do what I need them to do that aren't Yanfly-based, but it is definitely a hassle.
I've managed to get a simple plugin like Mr T's menu to work, but I'll likely have to commission something that can play nicely with it haha
 

handoffire21

Villager
Member
Joined
Mar 24, 2022
Messages
17
Reaction score
6
First Language
english
Primarily Uses
RMMV
Introducing
SRPG-Engine-MV.png

credits : Gakuto Mikagami, Doctor_Q
https://github.com/Echizen-ham/SRPGcore
https://github.com/RyanBram/SRPGcore

SRPG-MV.jpg

Hi, everyone.
Do you like Turn Based Strategy RPG games?
If so, then I'm also like it so much just like you.

Therefore, on this occasion, let me introduce a collection of plugins called SRPG_Converter. As the name implies, these plugins will change the RPG Maker MV engine that you have as an editor for Turn Based Strategy genre games like Fire Emblems or Shining Force.

DOWNLOAD

The following are the features of these plugins:
  • Provides feature complete of basic SRPG engine. Only one plugin then you can watch your RPG Maker MV turn into a Turn Based Strategy engine;
  • High compatibility with any plugins. There are almost no RPG Maker MV Core function that was altered, so you can still use RPG Maker MV and your favorite plugins as usual;
  • Easy to customize. Every character, weapon, skill, or class can be customized using note tag;
  • Turn based events trigger. Enjoy rich story customization, by choosing any event to trigger at the moments: Start of Battle, Start of Actor Phase, Start of Enemy Phase, End of Turn, Start of Action, and End of Action,
  • Can be extended with extension. If you know can write Javascript plugin, you can easily add features that are not yet available. Let us know if you made public extension;
  • Royalty free for commercial purposes. With the MIT license, anyone can use this plugin without worrying about legal issues. As long as you comply with the provisions of the MIT license, this plugin can be used for any purpose.
Making the SRPG Engine is a complex thing, even comparable to making a new engine that is equivalent to the RPG Maker MV Core scripts itself. Before I introduce this system to this forum, I am using this plugin internally for my own projects. I don't want to become the only one who get the benefits of this plugin, which become the reason I translated it and share it to this forum.

New feature:
  • On map battle as part of core plugin.
  • SRPG_AgiAttackPlus, SRPG_UncounterableAttack, and SRPGconverter_with_YEP_BattleEngineCore now become part of core plugin.
  • DynamicAction for performing action sequence in both Sideview battle and Mapview battle.
  • Mouse System as alternative to control your game without using keyboard at all.

Planned feature:
  • (Please suggest it)
Since the era of RPG Maker XP, I have never seen a SRPG system that is truly complete. There are at least two possibilities for that: 1) Kadokawa had already made a new version of RPG Maker before the SRPG System was completed, or 2) The creator of the SRPG System was busy or had other interests that caused the project to be abandoned. Then I decided to offer myself to the author by helping him pushing the system forward, because I am afraid I never see this system finish before being abandoned again.
If you are a Javascript programmer, you can always help by creating extension for this system.

Best regards
Ryan

  • Author: Gakuto Mikagami, Doktor_Q, RyanBram
  • Translation: Me (RyanBram)
  • License: MIT
  • Non-commercial use: free
  • Commercial use: free
  • Redistribution: OK
  • Editing: OK
  • Redistribution after editing: OK
  • Series: RPG Maker MV

Special Thanks:
  • Dopan and Boomy for endless support for the community
 

ultraed

Villager
Member
Joined
Jun 15, 2022
Messages
9
Reaction score
0
First Language
español
Primarily Uses
RMMV
cannot read property agi of undefined ...

I don't get states like Attracted

 
Last edited:

ThePsychoBear

Villager
Member
Joined
Nov 28, 2014
Messages
9
Reaction score
0
First Language
English
Primarily Uses
1663828824071.png
Been trying to get an AOE Animation plugin to work on my end, one sort of does, but after I used the attack and the enemies move, it gives me this error.

Edit: I'm a potato. I just needed to update the core plugin
 
Last edited:

PARCB

GAN's Professor
Veteran
Joined
Apr 8, 2018
Messages
139
Reaction score
46
First Language
Spanish
Primarily Uses
RMMV
1663953490113.png

Allow me to explain my bug:
I was creating a project and I copied some data from the demo (imgs, js) into it. When I try to start Ch1 or the Feature reference map, this appears. As I have loads of plugins there, i do not exactly where the problem is...


I MAY HAVE FIND THE PROBLEM IS IN THE CHARSET SIZES... BUT THERE IS NO INFO ABOUT THAT AS FAR AS I KNOW, AND I WONT READ 123 MORE POSTS ON THIS THREAD
May I ask if there is also an option about bigger characters/enemies?
I am not asking this quote
@CharlieMetal said:
3. Is it possible to create units whose size is bigger than the standard 1 tile?
I am asking if the sprite could be bigger
 
Last edited:

PARCB

GAN's Professor
Veteran
Joined
Apr 8, 2018
Messages
139
Reaction score
46
First Language
Spanish
Primarily Uses
RMMV
I have the same bug by switching to OFF YEP and SRDude Plugins i was using, and i believe the problem is in the charset sizes...
TypeError: Cannot read property 'width' of undefined
at Sprite_Character.updateCharacterFrame (SRPG_core.js:3790)
how can it be solved?
 

dopan

Veteran
Veteran
Joined
Mar 27, 2020
Messages
1,220
Reaction score
641
First Language
German
Primarily Uses
RMMV
I have the same bug by switching to OFF YEP and SRDude Plugins i was using, and i believe the problem is in the charset sizes...
TypeError: Cannot read property 'width' of undefined
at Sprite_Character.updateCharacterFrame (SRPG_core.js:3790)
how can it be solved?
it probbably means that the img which should be read is not defined..
what char imgs are you using and which srpg core version (&from which demo came that core) are you using?

how much frames(default is 3x4) are used ect .. give a few more infos pls
 

PARCB

GAN's Professor
Veteran
Joined
Apr 8, 2018
Messages
139
Reaction score
46
First Language
Spanish
Primarily Uses
RMMV
it probbably means that the img which should be read is not defined..
what char imgs are you using and which srpg core version are you using?

how much frames(default is 3x4) are used ect .. give a few more infos pls
3 columns 4 rows frames, custom images that are bigger than default one.
SRPG core... i dunno really, i picked the Shoukang 1,32Q demo and started modifying from there. The demo that appears in this thread, not the one of the blog page.

I had this same problem with RyanBram version too: Once i changed the images from the ones i want to used, the same error bumps off. At first i thought it was due to the appearance of YEP and SRD plugins, but now that i switched off the YEP ones (as it was mention on the game that they had compatibility issues) this error still lingers...

The error message:
moreerrorsandbugs.png
It is obvious from the sprites... but they have been charged correctly as far as i know.
 
Last edited:

dopan

Veteran
Veteran
Joined
Mar 27, 2020
Messages
1,220
Reaction score
641
First Language
German
Primarily Uses
RMMV
3 columns 4 rows frames, custom images that are bigger than default one.
SRPG core... i dunno really, i picked the Shoukang 1,32Q demo and started modifying from there. The demo that appears in this thread, not the one of the blog page.

I had this same problem with RyanBram version too: Once i changed the images from the ones i want to used, the same error bumps off. At first i thought it was due to the appearance of YEP and SRD plugins, but now that i switched off the YEP ones (as it was mention on the game that they had compatibility issues) this error still lingers...

The error message:
View attachment 241739
It is obvious from the sprites... but they have been charged correctly as far as i know.
can you send me one of the sprite-imgs via mail? any is fine its just as example img

i dont promise that i can solve your problem but ill look into it
 

NatePlays

Veteran
Veteran
Joined
Dec 12, 2018
Messages
96
Reaction score
54
First Language
English
Primarily Uses
RMMV
Sharing a quick plugin I made that helped my workflow a lot: setting enemy levels via notetags.
It works with Eli's Enemy Classes, and *should* work with YEP Enemy Levels but I don't have that one to test. There's a github link and an attached file.
Hope it's any useful for y'all.
 

Attachments

  • SRPG_EnemyLevelTag.js
    2 KB · Views: 1

RK DracoRoy

Fire Emblem RPG Gamer
Veteran
Joined
Jun 29, 2017
Messages
360
Reaction score
120
First Language
English
Primarily Uses
RMMV
How do I go about adding the critical hit rate into the prediction window? I'm wanting to place "Critical: value" on the bottom right side.

I've already adjusted the damage value being closer to the text, based on the Hit rate value position code.

Also, turning Switch 2 on will cause noticeable lag when the event engages a battle transitioning to it. I thought it was something I did wrong on my end, but it's also in the demo (Enable the switch on the Battle Start event, start Chapter 1, just end turn, notice the lag when the enemy gets to you). Switch 2 is named "Battle Skip" in that demo and I use sideview battles.
 

xabileug

Veteran
Veteran
Joined
Jul 1, 2014
Messages
439
Reaction score
128
How do I go about adding the critical hit rate into the prediction window? I'm wanting to place "Critical: value" on the bottom right side.

I've already adjusted the damage value being closer to the text, based on the Hit rate value position code.

Also, turning Switch 2 on will cause noticeable lag when the event engages a battle transitioning to it. I thought it was something I did wrong on my end, but it's also in the demo (Enable the switch on the Battle Start event, start Chapter 1, just end turn, notice the lag when the enemy gets to you). Switch 2 is named "Battle Skip" in that demo and I use sideview battles.
JavaScript:
    Window_SrpgPrediction.prototype.drawContents = function() {
        var windowWidth = this.windowWidth();
        var lineHeight = this.lineHeight();
        var x = 40;
        // attacker
        var actor = this._actionArray[1];
        var target = this._targetArray[1];
        var action = actor.currentAction();
        var damage = action.srpgPredictionDamage(target);
        var hit = action.itemHit(target);
        var eva = action.itemEva(target);
        var cri = action.itemCri(target); // show cri
        this.drawSrpgBattleActionName(actor, action, windowWidth / 2 + x, lineHeight * 0, true);
        this.drawSrpgBattleHit(hit, eva, windowWidth / 2 + x, lineHeight * 1);
        this.drawSrpgBattleCri(cri, windowWidth / 2 + x, lineHeight * 2); // show cri
        this.drawSrpgBattleDistance(actor, action, windowWidth / 2 + 160 + x, lineHeight * 1);
        this.drawSrpgBattleDamage(damage, windowWidth / 2 + x + 160, lineHeight * 2); // show cri
        // target
        var actor = this._targetArray[1];
        var target = this._actionArray[1];
        var action = actor.currentAction();
        if (!this._targetArray[1].canUse(action.item())) {
            action = null;
        }
        if (!action || actor == target) {
            this.drawSrpgBattleActionName(actor, action, x, lineHeight * 0, false);
            return;
        }
        var damage = action.srpgPredictionDamage(target);
        var hit = action.itemHit(target);
        var eva = action.itemEva(target);
        var cri    = action.itemCri(target); // show cri
        this.drawSrpgBattleActionName(actor, action, x, lineHeight * 0, true);
        this.drawSrpgBattleHit(hit, eva, x, lineHeight * 1);
        this.drawSrpgBattleCri(cri, x, lineHeight * 2); // show cri
        this.drawSrpgBattleDistance(actor, action, x + 160, lineHeight * 1);
        this.drawSrpgBattleDamage(damage, x + 160, lineHeight * 2); // show cri
        this._targetArray[1].clearActions();
    };

    Window_SrpgPrediction.prototype.drawSrpgBattleActionName = function(actor, action, x, y, flag) {
        if (action && flag == true) {
            var skill = action.item();
            if (skill) {
                var costWidth = this.costWidth();
                this.changePaintOpacity(this.isEnabled(actor, skill));
                if (DataManager.isSkill(skill) && skill.id == actor.attackSkillId() &&
                    !actor.hasNoWeapons()) {
                    if (actor.isActor()) {
                        var item = actor.weapons()[0];
                    } else {
                        var item = $dataWeapons[Number(actor.enemy().meta.srpgWeapon)];
                    }
                    this.drawItemName(item, x + 4, y, 280 - costWidth);
                } else {
                    this.drawItemName(skill, x + 4, y, 280 - costWidth);
                }
                this.drawSkillCost(actor, skill, x, y, 288);
                this.changePaintOpacity(1);
                
                // is attack effective
                if (actor.isActor()) {
                    if ($gameSystem.EventToUnit($gameTemp.targetEvent().eventId())[1].elementRate($gameSystem.EventToUnit($gameTemp.activeEvent().eventId())[1].currentAction().item().damage.elementId) > 1) {
                        this.drawIcon(73, x - 28, y + 2);
                    } else if ($gameSystem.EventToUnit($gameTemp.targetEvent().eventId())[1].elementRate($gameSystem.EventToUnit($gameTemp.activeEvent().eventId())[1].currentAction().item().damage.elementId) < 1) {
                        this.drawIcon(74, x - 28, y + 2);
                    }
                } else if (!actor.isActor()) {
                    if ($gameSystem.EventToUnit($gameTemp.activeEvent().eventId())[1].elementRate($gameSystem.EventToUnit($gameTemp.targetEvent().eventId())[1].currentAction().item().damage.elementId) > 1) {
                        this.drawIcon(73, x - 28, y + 2);
                    } else if ($gameSystem.EventToUnit($gameTemp.activeEvent().eventId())[1].elementRate($gameSystem.EventToUnit($gameTemp.targetEvent().eventId())[1].currentAction().item().damage.elementId) < 1) {
                        this.drawIcon(74, x - 28, y + 2);
                    }
                }
                
            } else {
                this.drawText('------------', x + 52, y, 96, 'right');
            }
        } else {
            this.drawText('------------', x + 52, y, 96, 'right');
        }
        

    };
 

RK DracoRoy

Fire Emblem RPG Gamer
Veteran
Joined
Jun 29, 2017
Messages
360
Reaction score
120
First Language
English
Primarily Uses
RMMV
@xabileug Thank you for that. Where would I go about putting in a custom name like "Crt" in place of "Hit". I currently have two hits displayed. One for the hit rate, one for the critical hit rate.
 

xabileug

Veteran
Veteran
Joined
Jul 1, 2014
Messages
439
Reaction score
128
just comment out the drawSrpgBattleHit like this
Code:
//this.drawSrpgBattleHit(hit, eva, windowWidth / 2 + x, lineHeight * 1);

then adjust the line display x, y. i've already comment which side of the window is the attacker and the target, so you can edit add stuff you like
 

RK DracoRoy

Fire Emblem RPG Gamer
Veteran
Joined
Jun 29, 2017
Messages
360
Reaction score
120
First Language
English
Primarily Uses
RMMV
Ah. I found one way to do it based on existing hit code. Just had to change the textmanager part to 'Crt: ' and good to go.
Code:
    Window_SrpgPrediction.prototype.drawSrpgBattleCri = function(cri, x, y) {
        var val = Math.max(0, 1.0 * cri);
        this.changeTextColor(this.systemColor());
        this.drawText('Crt: ', x, y, 98);
        this.resetTextColor();
        this.drawText(Math.floor(val * 100) + '%', x + 32, y, 96, 'right');
    };

------------------

Anyone else tested the demo or their project by adding and turning on SwitchId 2 in Chapter 1's Battle Start event? The slight lag is a bit noticeable when you choose to fight the enemy, but very when the enemy touches you in Enemy Phase. Any switch (except SwitchId 2 for some strange reason) can be enabled and the transition to battle goes smoothly.

Edit:
Found the line with "$gameSwitches.value(2)" in the Srpg_core where it checks if the 2nd switch is enabled, which causing noticeable lag when beginning the battle transition. So I commented only the first condition out and solved.
 
Last edited:

Latest Threads

Latest Profile Posts

working on an A/V sync system for my game! was NOT expecting the first roadblock to be accessing a variable from a public class!! Computers are so finicky sometimes :kaosigh:
For the first real time since my game's inception I found myself actually having fun playing around with my party's skills while testing out some battles! So much so, that I actually forgot what I was doing for a minute and had to force myself to move on to the next thing! :guffaw:

That's got to be a good sign considering it only has place holder animations, enemy skills, troop comps, etc. right now. Feels good!
Bex
Finally upgraded to RMMZ.
ScreenShot_11_28_2022_7_52_34.png
FINALLY, I figured out how to get the "tail" to appear IN the window and not directly below it lol. now it looks like it's part of the window and not hanging from the bottom of it.
Twitch! Stream is about to go live with some Dark Souls 2! Feel free to drop by!

Forum statistics

Threads
126,923
Messages
1,182,389
Members
166,755
Latest member
Hahah520
Top