gilgamar

Veteran
Veteran
Joined
Jan 28, 2016
Messages
132
Reaction score
60
First Language
English
Primarily Uses
State Common Events v1.02


Instruction
State add/remove common events via notetags. Ex:

<StateCE Event: 1 onadd>
<StateCE Event: 2 onremove>


<StateCE Event: 3 onexpire>


The preceding lines will run common event ID 0001 on add, common event ID 0002 on remove, and common event ID 0003 on expire for the state tagged. The expire flag will cause the common event to occur if the state is removed by walking/damage/turn/tick or action removal based on the state settings.


I could take this one step further and add flags for each of the above mentioned removal cases for finer control over progressive states.


Version 1.02


Added 2 new parameters that assign information to game variables. Parameter Actor will store the actor ID in the chosen game variable. Parameter Occurs will store if state is add remove or expire (1, 2, and 3)  in the chosen game variable. You can then check these variables in the state's common event.


Compatibility


Should be compatible with most everything but let me know if you encounter issues. Verified working with Yanfly's ATB and turn-based battle engine.


Use Case Examples


Want to have Haste remove Slow? Stop remove Haste? Venom become the more deadly Poison? Poison inflict death after 10 turns? These are some of the things you can do with state events.


Tips


- Use Tsukihime's CommonEventQueue if you want to queue multiple events.


http://himeworks.com/2015/10/common-event-queue-mv/


Script v1.02

/*=============================================================================
* Gilgamar - State Common Event
* By Gilgamar
* G_StateCE.js
* Version: 1.02
* Free for commercial and non commercial use.
*=============================================================================*/

var Imported = Imported || {};
Imported.G_StateCE = true;

var StateCE = {};

/*:
* @plugindesc v1.02 Enable state common events.
* @author Gilgamar
*
* @param Actor
* @desc ID of game variaable to use.
* Contains ID of actor affected by state change.
* @default 0
*
* @param Occurs
* @desc ID of game variaable to use.
* Shows if state is onadd, onremove or onexpire.
* @default 0
*
* @help
* ============================================================================
* Introduction
* ============================================================================
* Enables state add/remove common events via notetags. Ex:
*
* <StateCE Event: 1 onadd>
* <StateCE Event: 2 onremove>
* <StateCE Event: 3 onexpire>
*
* The precedling lines will run common event ID 001 on state add, ID 002
* on state remove, and ID 003 on state expire for the state tagged.
*
* Use the game variable assigned in param Actor to determine which actor was
* affected by state change in your common event.
*
* Use the game variable assigned in param Occurs to determine which state
* change was applied. You can use this instead of separate common events.
* 1 = onadd
* 2 = onremove
* 3 = onexpire
*
* ============================================================================
* Changelog
* ============================================================================
* Version 1.02:
* - Added Actor param so we can see who was affected by state change
* - Added Occurs param so we can if state is add/remove or expire
*
* Version 1.01:
* - Added onexpire notetag for progressive states
* - Compatibile with Yanfly BattleEngine (turn-based and tick-based)
*
* Version 1.00:
* - Enables state add/remove common events via notetags
*/

//=============================================================================
// Parameters
//=============================================================================

StateCE.Parameters = PluginManager.parameters('G_StateCE');
StateCE.Param = StateCE.Param || {};
StateCE.Param.Actor = String(StateCE.Parameters['Actor']);
StateCE.Param.Occurs = String(StateCE.Parameters['Occurs']);

//=============================================================================
// Notetags
//=============================================================================

StateCE.DataManager_isDatabaseLoaded = DataManager.isDatabaseLoaded;
DataManager.isDatabaseLoaded = function() {
if (!StateCE.DataManager_isDatabaseLoaded.call(this)) return false;
DataManager.processSTATECENotetags1($dataStates);
return true;
};

DataManager.processSTATECENotetags1 = function(group) {
// Check if function called more than once
if (DataManager.processSTATECENotetags1.calledTimes++ > 1) return;

var note1 = /<(?:STATECE EVENT):[ ](\d+)[ ](ONADD)>/i;
var note2 = /<(?:STATECE EVENT):[ ](\d+)[ ](ONREMOVE)>/i;
var note3 = /<(?:STATECE EVENT):[ ](\d+)[ ](ONEXPIRE)>/i;

for (var n = 1; n < group.length; n++) {
var obj = group[n];
var notedata = obj.note.split(/[\r\n]+/);
// console.log(notedata)
obj.commonEvents = [];
for (var i = 0; i < notedata.length; i++) {
var line = notedata;
if (line.match(note1)) {
obj.commonEvents.push({
eventId: parseInt(RegExp.$1),
occurs: 'onadd'
});
} else if (line.match(note2)) {
obj.commonEvents.push({
eventId: parseInt(RegExp.$1),
occurs: 'onremove'
});
} else if (line.match(note3)) {
obj.commonEvents.push({
eventId: parseInt(RegExp.$1),
occurs: 'onexpire'
});
}
}
}
// console.log(group)

};
DataManager.processSTATECENotetags1.calledTimes = 0;

//=============================================================================
// StateCE Functions
//=============================================================================

// Queue the common event associated with the state
StateCE.changeState = function(actor, stateId, occurs) {
var state = $dataStates[stateId];
for (var i = 0; i < state.commonEvents.length; i++){
var commonEvent = state.commonEvents;
if (commonEvent.occurs === occurs) {

// DEBUGGING
console.log('Actor', actor._actorId)
console.log('State', occurs)
console.log(commonEvent)

// Saving ID of actor affected by state change
$gameVariables.setValue(StateCE.Param.Actor, actor._actorId);
// Saving state occurs
if (occurs === 'onadd') $gameVariables.setValue(StateCE.Param.Occurs, 1);
if (occurs === 'onremove') $gameVariables.setValue(StateCE.Param.Occurs, 2);
if (occurs === 'onexpire') $gameVariables.setValue(StateCE.Param.Occurs, 3);
// Update common events
$gameTemp.reserveCommonEvent(commonEvent.eventId);
}
}
}
StateCE.onAdd = function(actor, stateId) {this.changeState(actor, stateId, 'onadd')}
StateCE.onRemove = function(actor, stateId) {this.changeState(actor, stateId, 'onremove')}
StateCE.onExpire = function(actor, stateId) {this.changeState(actor, stateId, 'onexpire')}

// Borrowed this function from Himeworks progressive states
Game_Battler.prototype.compareStates = function(oldStates, newStates) {
for (var i = 0, len = oldStates.length; i < len; i++) {
var stateId = oldStates;
var state = $dataStates[stateId];
if (!newStates.contains(stateId)) {
StateCE.onExpire(this, stateId);
}
}
}

//=============================================================================
// RPG Maker Overrides for State Add/Remove
//=============================================================================

StateCE.Game_Battler_removeState = Game_Battler.prototype.removeState;
Game_Battler.prototype.removeState = function(stateId) {
StateCE.Game_Battler_removeState.call(this, stateId);
StateCE.onRemove(this, stateId);
};

StateCE.Game_Battler_addState = Game_Battler.prototype.addState;
Game_Battler.prototype.addState = function(stateId) {
StateCE.Game_Battler_addState.call(this, stateId);
StateCE.onAdd(this, stateId);
};

//=============================================================================
// RPG Maker Overrides for State Expiry
//=============================================================================

/* Remove by walking */
StateCE.GameActor_updateStateSteps = Game_Actor.prototype.updateStateSteps;
Game_Actor.prototype.updateStateSteps = function(state) {
StateCE.GameActor_updateStateSteps.call(this, state);
if (!this.isStateAffected(state.id)) { StateCE.onExpire(this, state.id) }
};

/* Remove by damage */
StateCE._GameBattler_removeStatesByDamage = Game_Battler.prototype.removeStatesByDamage;
Game_Battler.prototype.removeStatesByDamage = function() {
var oldStates = this._states.clone();
StateCE._GameBattler_removeStatesByDamage.call(this);
var newStates = this._states;
this.compareStates(oldStates, newStates);
};

/* Remove by turn end and action end */
if (Imported.YEP_BattleEngineCore) {

StateCE.Game_BattlerBase_updateStateTurnTiming = Game_BattlerBase.prototype.updateStateTurnTiming;
Game_BattlerBase.prototype.updateStateTurnTiming = function(timing) {
var oldStates = this._states.clone();
StateCE.Game_BattlerBase_updateStateTurnTiming.call(this, timing);
var newStates = this._states;
this.compareStates(oldStates, newStates);
};

StateCE.Game_BattlerBase_updateStateTicks = Game_BattlerBase.prototype.updateStateTicks;
Game_BattlerBase.prototype.updateStateTicks = function() {
var oldStates = this._states.clone();
StateCE.Game_BattlerBase_updateStateTicks.call(this);
var newStates = this._states;
this.compareStates(oldStates, newStates);
};

} else {

StateCE._GameBattler_removeStatesAuto = Game_Battler.prototype.removeStatesAuto;
Game_Battler.prototype.removeStatesAuto = function(timing) {
var oldStates = this._states.clone();
StateCE._GameBattler_removeStatesAuto.call(this, timing);
var newStates = this._states;
this.compareStates(oldStates, newStates);
};

};

//=============================================================================
// RPG Maker Code References
//=============================================================================

// Game_Actor.prototype.updateStateSteps = function(state) {
// if (state.removeByWalking) {
// if (this._stateSteps[state.id] > 0) {
// if (--this._stateSteps[state.id] === 0) {
// this.removeState(state.id);
// }
// }
// }
// };
//
// Game_Battler.prototype.removeStatesByDamage = function() {
// this.states().forEach(function(state) {
// if (state.removeByDamage && Math.randomInt(100) < state.chanceByDamage) {
// this.removeState(state.id);
// }
// }, this);
// };
//
// Game_Battler.prototype.removeStatesAuto = function(timing) {
// this.states().forEach(function(state) {
// if (this.isStateExpired(state.id) && state.autoRemovalTiming === timing) {
// this.removeState(state.id);
// }
// }, this);
// };
//
// Game_Battler.prototype.removeState = function(stateId) {
// if (this.isStateAffected(stateId)) {
// if (stateId === this.deathStateId()) {
// this.revive();
// }
// this.eraseState(stateId);
// this.refresh();
// this._result.pushRemovedState(stateId);
// }
// };
//
// Game_Battler.prototype.addState = function(stateId) {
// if (this.isStateAddable(stateId)) {
// if (!this.isStateAffected(stateId)) {
// this.addNewState(stateId);
// this.refresh();
// }
// this.resetStateCounts(stateId);
// this._result.pushAddedState(stateId);
// }
// };






Script v1.01

/*=============================================================================
* Gilgamar - State Common Event
* By Gilgamar
* G_StateCE.js
* Version: 1.01
* Free for commercial and non commercial use.
*=============================================================================*/

var Imported = Imported || {};
Imported.G_StateCE = true;

var StateCE = {};

/*:
* @plugindesc v1.01 Enable state common events.
* @author Gilgamar
*
* @help
* ============================================================================
* Introduction
* ============================================================================
* Enables state add/remove common events via notetags. Ex:
*
* <StateCE Event: 1 onadd>
* <StateCE Event: 2 onremove>
* <StateCE Event: 3 onexpire>
*
* The precedling lines will run common event ID 001 on state add and common
* event ID 002 on state removal for the state tagged.
*
* ============================================================================
* Changelog
* ============================================================================
* Version 1.01:
* - Added onexpire notetag for progressive states
* - Compatibile with Yanfly BattleEngine (turn-based and tick-based)
*
* Version 1.00:
* - Enables state add/remove common events via notetags
*/

//=============================================================================
// Notetags
//=============================================================================

StateCE.DataManager_isDatabaseLoaded = DataManager.isDatabaseLoaded;
DataManager.isDatabaseLoaded = function() {
if (!StateCE.DataManager_isDatabaseLoaded.call(this)) return false;
DataManager.processSTATECENotetags1($dataStates);
return true;
};

DataManager.processSTATECENotetags1 = function(group) {
// Check if function called more than once
if (DataManager.processSTATECENotetags1.calledTimes++ > 1) return;

var note1 = /<(?:STATECE EVENT):[ ](\d+)[ ](ONADD)>/i;
var note2 = /<(?:STATECE EVENT):[ ](\d+)[ ](ONREMOVE)>/i;
var note3 = /<(?:STATECE EVENT):[ ](\d+)[ ](ONEXPIRE)>/i;

for (var n = 1; n < group.length; n++) {
var obj = group[n];
var notedata = obj.note.split(/[\r\n]+/);
// console.log(notedata)
obj.commonEvents = [];
for (var i = 0; i < notedata.length; i++) {
var line = notedata;
if (line.match(note1)) {
obj.commonEvents.push({
eventId: parseInt(RegExp.$1),
occurs: 'onadd'
});
} else if (line.match(note2)) {
obj.commonEvents.push({
eventId: parseInt(RegExp.$1),
occurs: 'onremove'
});
} else if (line.match(note3)) {
obj.commonEvents.push({
eventId: parseInt(RegExp.$1),
occurs: 'onexpire'
});
}
}
}
console.log(group)

};
DataManager.processSTATECENotetags1.calledTimes = 0;

//=============================================================================
// StateCE Functions
//=============================================================================

StateCE.changeState = function(stateId, occurs) {
var state = $dataStates[stateId];
for (var i = 0; i < state.commonEvents.length; i++){
var commonEvent = state.commonEvents;
if (commonEvent.occurs === occurs) {
console.log(commonEvent)
switch (occurs) {
case 'onadd':
console.log('state add')
break;
case 'onremove':
console.log('state remove')
break;
case 'onexpire':
console.log('state expire')
break;
}
$gameTemp.reserveCommonEvent(commonEvent.eventId);
}
}
}
StateCE.onAdd = function(stateId) {this.changeState(stateId, 'onadd')}
StateCE.onRemove = function(stateId) {this.changeState(stateId, 'onremove')}
StateCE.onExpire = function(stateId) {this.changeState(stateId, 'onexpire')}

// Borrowed this function from Himeworks progressive states
Game_Battler.prototype.compareStates = function(oldStates, newStates) {
for (var i = 0, len = oldStates.length; i < len; i++) {
var stateId = oldStates;
var state = $dataStates[stateId];
if (!newStates.contains(stateId)) {
StateCE.onExpire(stateId);
}
}
}

//=============================================================================
// RPG Maker Overrides for State Add/Remove
//=============================================================================

StateCE.Game_Battler_removeState = Game_Battler.prototype.removeState;
Game_Battler.prototype.removeState = function(stateId) {
StateCE.Game_Battler_removeState.call(this, stateId);
StateCE.onRemove(stateId);
};

StateCE.Game_Battler_addState = Game_Battler.prototype.addState;
Game_Battler.prototype.addState = function(stateId) {
StateCE.Game_Battler_addState.call(this, stateId);
StateCE.onAdd(stateId);
};

//=============================================================================
// RPG Maker Overrides for State Expiry
//=============================================================================

/* Remove by walking */
StateCE.GameActor_updateStateSteps = Game_Actor.prototype.updateStateSteps;
Game_Actor.prototype.updateStateSteps = function(state) {
StateCE.GameActor_updateStateSteps.call(this, state);
if (!this.isStateAffected(state.id)) { StateCE.onExpire(state.id) }
};

/* Remove by damage */
StateCE._GameBattler_removeStatesByDamage = Game_Battler.prototype.removeStatesByDamage;
Game_Battler.prototype.removeStatesByDamage = function() {
var oldStates = this._states.clone();
StateCE._GameBattler_removeStatesByDamage.call(this);
var newStates = this._states;
this.compareStates(oldStates, newStates);
};

/* Remove by turn end and action end */
if (Imported.YEP_BattleEngineCore) {

StateCE.Game_BattlerBase_updateStateTurnTiming = Game_BattlerBase.prototype.updateStateTurnTiming;
Game_BattlerBase.prototype.updateStateTurnTiming = function(timing) {
var oldStates = this._states.clone();
StateCE.Game_BattlerBase_updateStateTurnTiming.call(this, timing);
var newStates = this._states;
this.compareStates(oldStates, newStates);
};

StateCE.Game_BattlerBase_updateStateTicks = Game_BattlerBase.prototype.updateStateTicks;
Game_BattlerBase.prototype.updateStateTicks = function() {
var oldStates = this._states.clone();
StateCE.Game_BattlerBase_updateStateTicks.call(this);
var newStates = this._states;
this.compareStates(oldStates, newStates);
};

} else {

StateCE._GameBattler_removeStatesAuto = Game_Battler.prototype.removeStatesAuto;
Game_Battler.prototype.removeStatesAuto = function(timing) {
var oldStates = this._states.clone();
StateCE._GameBattler_removeStatesAuto.call(this, timing);
var newStates = this._states;
this.compareStates(oldStates, newStates);
};

};

//=============================================================================
// RPG Maker Code References
//=============================================================================

// Game_Actor.prototype.updateStateSteps = function(state) {
// if (state.removeByWalking) {
// if (this._stateSteps[state.id] > 0) {
// if (--this._stateSteps[state.id] === 0) {
// this.removeState(state.id);
// }
// }
// }
// };
//
// Game_Battler.prototype.removeStatesByDamage = function() {
// this.states().forEach(function(state) {
// if (state.removeByDamage && Math.randomInt(100) < state.chanceByDamage) {
// this.removeState(state.id);
// }
// }, this);
// };
//
// Game_Battler.prototype.removeStatesAuto = function(timing) {
// this.states().forEach(function(state) {
// if (this.isStateExpired(state.id) && state.autoRemovalTiming === timing) {
// this.removeState(state.id);
// }
// }, this);
// };
//
// Game_Battler.prototype.removeState = function(stateId) {
// if (this.isStateAffected(stateId)) {
// if (stateId === this.deathStateId()) {
// this.revive();
// }
// this.eraseState(stateId);
// this.refresh();
// this._result.pushRemovedState(stateId);
// }
// };
//
// Game_Battler.prototype.addState = function(stateId) {
// if (this.isStateAddable(stateId)) {
// if (!this.isStateAffected(stateId)) {
// this.addNewState(stateId);
// this.refresh();
// }
// this.resetStateCounts(stateId);
// this._result.pushAddedState(stateId);
// }
// };






Script v1.00

/*=============================================================================
* Gilgamar - State Common Event
* By Gilgamar
* G_StateCE.js
* Version: 1.00
* Free for commercial and non commercial use.
*=============================================================================*/

var Imported = Imported || {};
Imported.G_StateCE = true;

var StateCE = {};

/*:
* @plugindesc v1.00 Enable state common events.
* @author Gilgamar
*
* @help
* ============================================================================
* Introduction
* ============================================================================
* Enables state add/remove common events via notetags. Ex:
*
* <StateCE Event: 1 onadd>
* <StateCE Event: 2 onremove>
*
* The precedling lines will run common event ID 001 on state add and common
* event ID 002 on state removal for the state tagged.
*
* ============================================================================
* Changelog
* ============================================================================
* Version 1.00:
* - Enables state add/remove common events via notetags
*/

//=============================================================================
// Notetags
//=============================================================================

StateCE.DataManager_isDatabaseLoaded = DataManager.isDatabaseLoaded;
DataManager.isDatabaseLoaded = function() {
if (!StateCE.DataManager_isDatabaseLoaded.call(this)) return false;
DataManager.processSTATECENotetags1($dataStates);
return true;
};

DataManager.processSTATECENotetags1 = function(group) {
// Check if function called more than once
if (DataManager.processSTATECENotetags1.calledTimes++ > 1) return;

var note1 = /<(?:STATECE EVENT):[ ](\d+)[ ](ONADD)>/i;
var note2 = /<(?:STATECE EVENT):[ ](\d+)[ ](ONREMOVE)>/i;

for (var n = 1; n < group.length; n++) {
var obj = group[n];
var notedata = obj.note.split(/[\r\n]+/);
// console.log(notedata)
obj.commonEvents = [];
for (var i = 0; i < notedata.length; i++) {
var line = notedata;
if (line.match(note1)) {
obj.commonEvents.push({
eventId: parseInt(RegExp.$1),
occurs: 'onadd'
});
} else if (line.match(note2)) {
obj.commonEvents.push({
eventId: parseInt(RegExp.$1),
occurs: 'onremove'
});
}
}
}
console.log(group)

};
DataManager.processSTATECENotetags1.calledTimes = 0;

//=============================================================================
// StateCE Functions
//=============================================================================

StateCE.changeState = function(stateId, occurs) {
var state = $dataStates[stateId];
for (var i = 0; i < state.commonEvents.length; i++){
var commonEvent = state.commonEvents;
if (commonEvent.occurs === occurs) {
console.log(commonEvent)
$gameTemp.reserveCommonEvent(commonEvent.eventId);
}
}
}
StateCE.onAdd = function(stateId) {this.changeState(stateId, 'onadd')}
StateCE.onRemove = function(stateId) {this.changeState(stateId, 'onremove')}

//=============================================================================
// RPG Maker Overrides
//=============================================================================

StateCE.Game_Battler_removeState = Game_Battler.prototype.removeState;
Game_Battler.prototype.removeState = function(stateId) {
StateCE.Game_Battler_removeState.call(this, stateId);
console.log('removing state')
StateCE.onRemove(stateId);
};

StateCE.Game_Battler_addState = Game_Battler.prototype.addState;
Game_Battler.prototype.addState = function(stateId) {
StateCE.Game_Battler_addState.call(this, stateId);
console.log('adding state')
StateCE.onAdd(stateId);
};

// Game_Battler.prototype.removeState = function(stateId) {
// if (this.isStateAffected(stateId)) {
// if (stateId === this.deathStateId()) {
// this.revive();
// }
// this.eraseState(stateId);
// this.refresh();
// this._result.pushRemovedState(stateId);
// }
// };
//
// Game_Battler.prototype.addState = function(stateId) {
// if (this.isStateAddable(stateId)) {
// if (!this.isStateAffected(stateId)) {
// this.addNewState(stateId);
// this.refresh();
// }
// this.resetStateCounts(stateId);
// this._result.pushAddedState(stateId);
// }
// };






Terms of use and Credits


Free to use in any project.


Credit me as Gilgamar if you use this!


Thanks to Tsukihime also.
 
Last edited by a moderator:

styx92

Veteran
Veteran
Joined
Jan 7, 2016
Messages
310
Reaction score
39
First Language
German
Primarily Uses
Thanks!!


You are the best! It works!
 

xaviarsly

Villager
Member
Joined
Mar 13, 2016
Messages
21
Reaction score
1
First Language
einglish
Primarily Uses
could i use this to make a skill/spell that might infect targets with status effects that the user of the skill/spelll has?
 

jjleroy

I love bananas
Veteran
Joined
Aug 5, 2017
Messages
184
Reaction score
34
First Language
German, English
Primarily Uses
RMMV
Unfortunately it doesn't work for me... I added the notetags in the state note section, added the common event, but when an enemy gets this state then nothing happens....
 

NatuElChido

Rookie Dreamer
Veteran
Joined
Nov 13, 2017
Messages
38
Reaction score
6
First Language
Spanish
Primarily Uses
RMMV
I get "Type Error: Undefined is not a fuction", any solution? This only works if this script is actived.
 

Shaz

Global Moderators
Global Mod
Joined
Mar 2, 2012
Messages
42,203
Reaction score
14,681
First Language
English
Primarily Uses
RMMV
This generally means you have added a script or plugin, then resumed a game that you'd saved prior to adding it. Try starting a new game and see if it still does it. If it does, please open the developer tools (F8) and grab a screenshot of the console.

@gilgamar you should use code tags when you insert scripts. Look at what it's done to the formatting just pasting it in without the code tags. In some situations, the forum software will also convert specific character sequences to emojis, making the script unusable without fixing, which a lot of people would not know how to do.
 

NatuElChido

Rookie Dreamer
Veteran
Joined
Nov 13, 2017
Messages
38
Reaction score
6
First Language
Spanish
Primarily Uses
RMMV
I actually find the error...
By default, this options are set in 0, so, this crash the game.
My bad for no read the entire thing, but still, this plugin doesn't work, like @jjleroy say it.
 

Attachments

  • param.png
    param.png
    39.5 KB · Views: 55

Kes

Veteran
Veteran
Joined
Aug 3, 2012
Messages
22,305
Reaction score
11,735
First Language
English
Primarily Uses
RMVXA
@gilgamar Although this is in Plugins in Development, it looks like a completed plugin.
Would you please confirm its status.
Thank you.
 

gilgamar

Veteran
Veteran
Joined
Jan 28, 2016
Messages
132
Reaction score
60
First Language
English
Primarily Uses
@Kes Hi it was working at the time it was made although RPG Maker has gone through several revisions I have not yet confirmed it's working to date. If it appears to be working it may well be. It was one of the more stable plugins I had developed.

I need to reconfigure my system and get back into development so it'll be awhile before I can check on my plugins. Hope to have it done by month end.

@Shaz I think the forums went through many revisions as well! I think my post has been altered as I'm sure I would have used a format to produce useful code before although I see what you mean. I will revise my plugin posts after I confirm the code works.
 
Last edited:

Shaz

Global Moderators
Global Mod
Joined
Mar 2, 2012
Messages
42,203
Reaction score
14,681
First Language
English
Primarily Uses
RMMV
I think the forums went through many revisions as well! I think my post has been altered

You may be right. There were a lot of posts with code where all the line breaks were removed (these were when the code tag was used), and that may have been after your initial post. I've never seen any that were converted though that removed the code block. And all the ones I can recall were for Ace and not MV - I wonder if different languages were affected in different ways ...
 

NatuElChido

Rookie Dreamer
Veteran
Joined
Nov 13, 2017
Messages
38
Reaction score
6
First Language
Spanish
Primarily Uses
RMMV
Thank you! I really need this plugin :)
 

mlogan

Global Moderators
Global Mod
Joined
Mar 18, 2012
Messages
16,008
Reaction score
8,897
First Language
English
Primarily Uses
RMMV
@gilgamar I'm going to go ahead and move this to Plugin Releases. If that is incorrect, please let me know.
 

NatuElChido

Rookie Dreamer
Veteran
Joined
Nov 13, 2017
Messages
38
Reaction score
6
First Language
Spanish
Primarily Uses
RMMV
So, i think the plugin isn't going to work, right?
 

BreakerZero

Veteran
Veteran
Joined
Jul 8, 2018
Messages
993
Reaction score
425
First Language
English (USA)
Primarily Uses
RMMV
Similar but more annoying problem here - crashes my game every time. I have v1.02 saved (will try 1.01 as I can't fall all the way back because Yanfly) and all I get is the same "Type Error: Undefined is not a fuction" bull**** that @NatuElChido got a year ago but in the form of a boot loop.

EDIT: No difference. I really need this kind of solution because I need to do this for my training battle sequence. I'll try again with just the event itself and see if I can get my implementation going that way. For now, at least have someone check the plugin to see what may be at fault.

As a side note (and for the avoidance of doubt) I also have a mix of stuff from SRD, Hime, DKTools and waynee95 among others.

EDIT: Still nothing. For my case I ended up doing a common event linked to a skill to do what I needed but it doesn't change that using this plugin needs verification that it will actually do its **** and not boot loop the game.
 
Last edited:

TheMouse

Warper
Member
Joined
Feb 23, 2021
Messages
2
Reaction score
0
First Language
English
Primarily Uses
RMMV
So does this plugin work anymore or no?
Because I've been messing with it for the last 2 hours trying to get it to do ANYTHING,
If it does work can someone please explain how to use it because the code I put in does nothing.
 

JGreene

Veteran
Veteran
Joined
Oct 24, 2015
Messages
452
Reaction score
360
First Language
English
Primarily Uses
RMMV
The OP hasn't been active here for 3 years, and this plugin is over 5 years old at the last update. There may be alternatives to this by now.. But if you want this one in particular to work, your MV would have to be at a version prior to 1.3. Cant verify as the forum posts don't go back that far. Maybe @Archeia has it archived or knows the answer.

Edit: Upon reading some of the other posts here, it looks like it may have been released with a lot of bugs the author never fixed. Probably better off finding an alternative.
 

BreakerZero

Veteran
Veteran
Joined
Jul 8, 2018
Messages
993
Reaction score
425
First Language
English (USA)
Primarily Uses
RMMV
Yeah... it has been awhile since there's been any kind of activity on this plugin. This does kind of answer my question from back then, however. As it has been way more than 30 days since then I'm going to turn this over to the mods for any advisement on how to handle this so that there's no confusion going forward.

Granted, the necropost rule is not usually enforced for support matters but given the state of the plugin (and complete lack of updates from the OP) it may not be worth keeping things going.

EDIT: I have delivered the message and now leave it to an official decision. I wish I was able to get a response on this back when I posted my own question but seemingly that is no longer possible, so I totally get the lack of direction on this. But sadly there is nothing we can do about it.
 
Last edited:

slimmmeiske2

Little Red Riding Hood
Global Mod
Joined
Sep 6, 2012
Messages
8,395
Reaction score
5,546
First Language
Dutch
Primarily Uses
RMXP

The necroposting rules don't count for the Plugin Releases forum, so there's no harm posting in here (even if you are bumping up a thread that has a faulty plugin).

 

BreakerZero

Veteran
Veteran
Joined
Jul 8, 2018
Messages
993
Reaction score
425
First Language
English (USA)
Primarily Uses
RMMV
[mod]The necroposting rules don't count for the Plugin Releases forum, so there's no harm posting in here (even if you are bumping up a thread that has a faulty plugin).[/mod]
Which I also acknowledged myself if you read the previous post. But given the state of the plugin I wasn't sure if this was even worth any further discussion.

With that said, you can always use a common event or other mechanism to check for a state and then do whatever you need to have done.
 
Last edited:

Latest Threads

Latest Profile Posts

Generate Actors, Dark Fantasy Monsters, & I Heard There Was a Chosen One, | RPG Maker News #42

Work on Cat Quest: The Last Catmancer continues slowly but surely. :kaopride: Today I received the Game Over screen from @Finnuval!
GameOver.png
Hey everyone! No Studio Blue RPG Maker Critiques Stream today! But you can always check the playlist for old streams you've missed!

I ran out of paper sheets to draw, so I guess I'm forced to do digital for a while now...
x778xt8.jpg

Still haven0t found a colouring style that I like :kaoswt:

Forum statistics

Threads
111,443
Messages
1,061,145
Members
144,806
Latest member
HowlingMeteor277
Top