IDEAS FOR PLUGINS IN DYNRPG
Posts
author=BurningTygerauthor=SpellcraftQuillYOU should be able to set that inthe menu, i thought.
I would like know if using the attack animation for a battler can use the weapon graphic. IE Fire Slash uses the weapon instead of the character simply punching the foe.
Well the problem is that my characters can use multiple weapons and the same skill but if Hero A uses Skill A, he will punch his foe instead of using a sword or a spear depending on what he has equipped.
author=BurningTygerauthor=SpellcraftQuillYOU should be able to set that inthe menu, i thought.
I would like know if using the attack animation for a battler can use the weapon graphic. IE Fire Slash uses the weapon instead of the character simply punching the foe.
Well the problem is that my characters can use multiple weapons and the same skill but if Hero A uses Skill A, he will punch his foe instead of using a sword or a spear depending on what he has equipped.
i have a small request, i know it's kind of lame but here is the thing: i'm looking for a quick, painless and "flexible" way to detect how much experience a certain character needs in order to get to the next level (NOT including the experience already gained - i'm going to find that myself with the normal events).
so anyway what i would like is a plugin that - on call - simply detects how many xp a hero need to level up and stores that value in a variabile; if i remember correctly, the exp required formula is Primary + (Secondary * level) + Tertiary so the plugin should make so that if i put a comment such as:
@exp_detect x, y
it will take the exp needed to levelup for the hero n° x (in database) and store that value in the variable y
is something like that possibile?
so anyway what i would like is a plugin that - on call - simply detects how many xp a hero need to level up and stores that value in a variabile; if i remember correctly, the exp required formula is Primary + (Secondary * level) + Tertiary so the plugin should make so that if i put a comment such as:
@exp_detect x, y
it will take the exp needed to levelup for the hero n° x (in database) and store that value in the variable y
is something like that possibile?
Now that wouldn't be "flexible" if you assume the exp formula wasn't altered (or alternate exp charts weren't used).
You don't actually need to calculate it:
download ExpDetectBug-in
Yes the exp will be the "... / exp" thing in the default menu. Subtract current exp to get the exp difference.
You don't actually need to calculate it:
download ExpDetectBug-in
@exp_detect [1], [2]
[1] = Hero_ID (from actor/hero tab in F8-database)
[2] = Var_ID to store the required experience into
@exp_detect_alt [1], [2], [3]
[1] = Hero_ID
[2] = Level to get required experience from
[3] = Var_ID to store the experience needed into
Yes the exp will be the "... / exp" thing in the default menu. Subtract current exp to get the exp difference.
#include <DynRPG/DynRPG.h>
bool onComment ( const char* text,
const RPG::ParsedCommentData* parsedData,
RPG::EventScriptLine* nextScriptLine,
RPG::EventScriptData* scriptData,
int eventId,
int pageId,
int lineId,
int* nextLineId )
{
std::string cmd = parsedData->command;
if(!cmd.compare("exp_detect") && parsedData->parametersCount == 2
&& parsedData->parameters[0].type == RPG::PARAM_NUMBER
&& parsedData->parameters[1].type == RPG::PARAM_NUMBER)
{
int a = parsedData->parameters[0].number; //Hero_ID
int b = parsedData->parameters[1].number; //Var_ID
int DBActorAmount = ( *reinterpret_cast<int ****> (0x4CDDC8) )[0][2][2];
if(a > 0 && a <= DBActorAmount)
{
int eax = ( *reinterpret_cast<int *****> (0x4CDDC8) )[0][2][1][(a)-1]; //pointer on RPG::actor
int edx = ( reinterpret_cast<int *> (eax))[61]; //get current level
edx ++;
int out = 0;
asm volatile("call *%%esi"
: "=a" (out)
: "S" (0x4B6B74), "a" (eax), "d" (edx)
: "cc", "memory");
RPG::variables[b] = out;
} else {RPG::variables[b] = -1;} //error message: "invalid Hero_ID"
} else {
if(!cmd.compare("exp_detect_alt") && parsedData->parametersCount == 3
&& parsedData->parameters[0].type == RPG::PARAM_NUMBER
&& parsedData->parameters[1].type == RPG::PARAM_NUMBER
&& parsedData->parameters[2].type == RPG::PARAM_NUMBER)
{
int a = parsedData->parameters[0].number; //Hero_ID
int b = parsedData->parameters[1].number; //level
int c = parsedData->parameters[2].number; //Var_ID
int DBActorAmount = ( *reinterpret_cast<int ****> (0x4CDDC8) )[0][2][2];
if(a > 0 && a <= DBActorAmount)
{
int eax = ( *reinterpret_cast<int *****> (0x4CDDC8) )[0][2][1][(a)-1]; //pointer on RPG::actor
int edx = b;
int out = 0;
asm volatile("call *%%esi"
: "=a" (out)
: "S" (0x4B6B74), "a" (eax), "d" (edx)
: "cc", "memory");
RPG::variables[c] = out;
} else {RPG::variables[b] = -1;} //error message: "invalid Hero_ID"
}
}
return true;
}
author=bugmenot
Now that wouldn't be "flexible" if you assume the exp formula wasn't altered (or alternate exp charts weren't used).
You don't actually need to calculate it:
download ExpDetectBug-in
yeah that's what i ment by "flexible": if i'd change the exp curve somewhere along the line, i would have to reedit the whole event (let alone the fact that it would consist in something like 98 fork conditions - so much for being painless *lol*)
thanks for the plugin man, that exactly what i was looking for :)))
19) music Player plugin
For adding a pause and resume a song when is played. For example when you enter in the custom menu, and resume it when you exit
For adding a pause and resume a song when is played. For example when you enter in the custom menu, and resume it when you exit
20) A transparency picture effect.
As in something like this.
You start with a black and transparent picture with something like this.
Normally, you'd see this. The transparent not showing up, the black showing up as black.

Which is nice for a dark hole, but not if I want to, say make a hole in the mountain. Instead, I want the black to simply erase the layer by the comment
@void_picture "black_circle.png"
(and remove with @void_picture_clear)

Like so. Don't fall in the pit! You could do this with tiles, but it would always look square, and I could see using this for stuff like people bursting through walls and leaving Superman-shaped holes. Or for creepy portals that suddenly appear.
As in something like this.
You start with a black and transparent picture with something like this.
Normally, you'd see this. The transparent not showing up, the black showing up as black.

Which is nice for a dark hole, but not if I want to, say make a hole in the mountain. Instead, I want the black to simply erase the layer by the comment
@void_picture "black_circle.png"
(and remove with @void_picture_clear)

Like so. Don't fall in the pit! You could do this with tiles, but it would always look square, and I could see using this for stuff like people bursting through walls and leaving Superman-shaped holes. Or for creepy portals that suddenly appear.

















