New account registration is temporarily disabled.

IDEAS FOR PLUGINS IN DYNRPG

Posts

Pages: first prev 1234 last
author=BurningTyger
author=SpellcraftQuill
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.
YOU should be able to set that inthe menu, i thought.


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=BurningTyger
author=SpellcraftQuill
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.
YOU should be able to set that inthe menu, i thought.


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?
Rpg maker 2003 show that in Status menu, but with other way,
maybe using 5550 - 5012 = 538
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

@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
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.
Pages: first prev 1234 last