State Common Events

gilgamar

Veteran
Veteran
Joined
Jan 28, 2016
Messages
132
Reaction score
58
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
38
First Language
German
Primarily Uses
Thanks!!


You are the best! It works!
 

xaviarsly

Villager
Member
Joined
Mar 13, 2016
Messages
13
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
33
Reaction score
4
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

Veteran
Veteran
Joined
Mar 2, 2012
Messages
38,533
Reaction score
12,057
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
33
Reaction score
4
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

Kes

Global Moderators
Global Mod
Joined
Aug 3, 2012
Messages
21,634
Reaction score
10,932
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
58
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

Veteran
Veteran
Joined
Mar 2, 2012
Messages
38,533
Reaction score
12,057
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 ...
 

mlogan

Global Moderators
Global Mod
Joined
Mar 18, 2012
Messages
14,153
Reaction score
7,804
First Language
English
Primarily Uses
RMMV
@gilgamar So, the plugin is complete, but may need to be updated due to MV updates?
 

NatuElChido

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

mlogan

Global Moderators
Global Mod
Joined
Mar 18, 2012
Messages
14,153
Reaction score
7,804
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
33
Reaction score
4
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
707
Reaction score
282
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:

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

Integrating Jason Perry's japan tile set while listening to Murray Atkinson's Heaven and Earth background music.
I forgot I had an account on rpgmakercentral lol
"What do you think the best place to visit on this cold days?" "Hell..."
Been so busy lately that I wonder if I should slowly start preparing the advent calendar resources so I have enough in december.
Man, I wish it was harder for mean d-holes to make me feel like crying.

Forum statistics

Threads
94,538
Messages
921,721
Members
124,402
Latest member
KINGty
Top