DYNDATAACCESS

A DynRPG plugin to allow access (get and set) to RPG Maker 2003 data which is normally hidden from the developer

The DynDataAccess plugin allows access to data in RPG Maker 2003 that is ordinarily hidden from developers. It contains commands for copying internal data into RPG Maker 2003 variables, and sometimes the other way around. It has also picked up a few extra commands, such as making an enemy flash or pop up text.

DynDataAccess is a living project, intended to expand as needed. The task of creating commands for every possible data access would be a very large one, and much of it would likely go unused. Hence, I am leaving it to individual developers to add new commands when they find they want to access new parts of RPG Maker 2003's internal data. To learn how to contribute, download DynDataAccess.zip, open the readme.html file, and read the How to Contribute section.

Current Command List

Actor (AKA hero) data commands

@dyndataaccess_get_party_member_id <variable number>, <party member number (1-4)>
@dyndataaccess_get_party_member_all_ids <variable number>
@dyndataaccess_set_party_member_critical_rate <number>, <party member number (1-4)>
@dyndataaccess_set_party_member_guard_type <number>, <party member number (1-4)>
@dyndataaccess_get_party_member_database_attribute_resistance <variable number>, <party member number (1-4)>, <attribute number>
@dyndataaccess_set_party_member_database_attribute_resistance <number>, <party member number (1-4)>, <attribute number>
@dyndataaccess_get_party_member_current_attribute_resistance <variable number>, <party member number (1-4)>, <attribute number>
@dyndataaccess_set_party_member_current_attribute_resistance <variable number>, <party member number (1-4)>, <attribute number>
@dyndataaccess_get_party_member_condition_turns <variable number>, <party member number (1-4)>, <condition number>
@dyndataaccess_get_party_member_condition_turns_total <variable number>, <party member number (1-4)>, <priority number>
@dyndataaccess_get_party_member_condition_total <variable number>, <party member number (1-4)>, <priority number>
@dyndataaccess_get_party_member_database_condition_resistance <variable number>, <party member number (1-4)>, <condition number>
@dyndataaccess_set_party_member_database_condition_resistance <number>, <party member number (1-4)>, <condition number>
@dyndataaccess_set_party_member_combo <command number>, <party member number (1-4)>, <repetition number>
@dyndataaccess_get_party_member_animation2 <variable number>, <party member number (1-4)>
@dyndataaccess_set_party_member_animation2 <animation2 number>, <party member number (1-4)>
@dyndataaccess_get_party_member_defeated_count <variable number>

Battle data commands

@dyndataaccess_set_battle_bg <filename>

Database Troop (AKA monster group) data commands

@dyndataaccess_get_troop_initial_size <variable number>

Item data commands

@dyndataaccess_get_item_attribute <variable number>, <item number>, <attribute number>

Enemy (AKA monster) data commands

@dyndataaccess_get_enemy_database_id <variable number>, <enemy number>
@dyndataaccess_get_enemy_current_hp <variable number>, <enemy number>
@dyndataaccess_set_enemy_current_hp <data value>, <enemy number>
@dyndataaccess_get_enemy_current_mp <variable number>, <enemy number>
@dyndataaccess_set_enemy_current_mp <data value>, <enemy number>
@dyndataaccess_get_enemy_max_hp <variable number>, <enemy number>
@dyndataaccess_get_enemy_max_mp <variable number>, <enemy number>
@dyndataaccess_get_enemy_attack <variable number>, <enemy number>
@dyndataaccess_get_enemy_defense <variable number>, <enemy number>
@dyndataaccess_get_enemy_intelligence <variable number>, <enemy number>
@dyndataaccess_get_enemy_agility <variable number>, <enemy number>
@dyndataaccess_get_enemy_all_stats <first variable number>, <enemy number>
@dyndataaccess_get_enemy_database_id
@dyndataaccess_get_enemy_current_hp
@dyndataaccess_set_enemy_current_hp
@dyndataaccess_get_enemy_current_mp
@dyndataaccess_set_enemy_current_mp
@dyndataaccess_get_enemy_max_hp
@dyndataaccess_get_enemy_max_mp
@dyndataaccess_get_enemy_attack
@dyndataaccess_get_enemy_defense
@dyndataaccess_get_enemy_intelligence
@dyndataaccess_get_enemy_agility
@dyndataaccess_get_enemy_all_stats
@dyndataaccess_get_enemy_database_stats <variable number>, <enemy number (1-8)>
@dyndataaccess_set_enemy_attack <number>, <enemy number (1-8)>
@dyndataaccess_set_enemy_defense <number>, <enemy number (1-8)>
@dyndataaccess_set_enemy_intelligence <number>, <enemy number (1-8)>
@dyndataaccess_set_enemy_agility <number>, <enemy number (1-8)>
@dyndataaccess_get_enemy_attribute_resistance <variable number>, <enemy number (1-8)>, <attribute number>
@dyndataaccess_get_enemy_condition_resistance <variable number>, <enemy number (1-8)>, <condition number>
@dyndataaccess_get_enemy_atb <variable number>, <enemy number (1-8)>
@dyndataaccess_set_enemy_atb <number>, <enemy number (1-8)>
@dyndataaccess_enemy_text_popup <text>, <enemy number (1-8)>
@dyndataaccess_enemy_number_popup <number>, <enemy number (1-8)>
@dyndataaccess_enemy_flash <enemy number (1-8)>, <red number>, <green number>, <blue number>, <intensity number>, <frame number>
@dyndataaccess_set_enemy_sprite <filename>, <enemy number (1-8)>
@dyndataaccess_get_enemy_defeated_count <variable number>
@dyndataaccess_get_enemy_undefeated_count <variable number>

Map data commands

@dyndataaccess_get_encounter_rate_current <variable number>
@dyndataaccess_set_encounter_rate_current <number>
@dyndataaccess_get_database_encounter_rate <variable number>

Skill data commands

@dyndataaccess_get_skill_cost <variable number>, <skill number>
@dyndataaccess_set_skill_cost <number>, <skill number>
@dyndataaccess_set_skill_attack_influence <number>, <skill number>
@dyndataaccess_set_skill_effect_rating <number>, <skill number>

Terrain data commands

@dyndataaccess_set_terrain_initiative_rate <number>, <terrain number>


Change Log

v1.1 (10/23/2018):
  • Added contribution by DJC containing comment commands for actors, battle, database troop, items, more enemy commands, map, skills, and terrain.


v1.0 (02/10/2018):
  • First public release.
  • Added section for enemy data comment commands.

Details

  • 750.8 KB
  • 135
  • 12/23/2023 04:30 PM

Actions

Posts

Pages: 1
amazing! it works perfectly
Edit:
the link to this tread present in the readme.html is wrong
https://rpgmaker.net/engines/rmmv/utilities/193/

the correct one is:
https://rpgmaker.net/engines/rm2k3/utilities/194/

Is there a way to add commands to get the amount of EXP and Gold a monster gives?

EDIT: The download link also seems to be broken.
I mistakenly submitted this as an RPG Maker 2003 utility, where it should've been RPG Tsukuru 2003 (our name for the fan-port version as opposed to the official English translation, which currently has no DynRPG patch). Site staff was kind enough to fix that error for me, but it seems the download link was broken by the shift. I had to upload a new version anyway with the links in the readme.html pointing to the new utility page address, and that seems to have fixed the download link.

Regarding commands to get the EXP and Gold for a monster, yes, that should be possible! But I'm not going to be the one to do it. ;) I made this to be an open project so I don't have to be the one fulfilling every request. Download the project and take a look in the readme.html for directions on how to contribute, it's simple enough that you may be able to get it done even if you're not familiar with C++.

I'll give a tip for this case, though. The EXP and Gold for a monster isn't held in the RPG::monsters catalog because it's information that's shared by all monsters of a given type (ex., all Slimes carry 5 Gold, not just monster number 2 in the current combat). That sort of information is held in the RPG::dbMonsters catalog (the database of monsters). To access the info for a particular monster in the current combat, first you'll need to look up that monster's ID, then use that to look up the dbMonsters entry.
Hmm...okay. Is it possible for these values I mentioned to be set in addition to being retrieved? Reason I ask is because I set up my EXP/G gain in my game to happen AFTER combat in a custom battle summary window I set up, so I could skip the "Gained X exp", "Gained X G", "X leveled up", "X was learned" etc. at the end of a battle. However this meant I had to set a monster's EXP and G to 0 in the database, and set their XP and G values in a custom event that gets called.

EDIT: I guess what I'm saying is if there was a way to remove those messages at the end of a battle, that'd be awesome xD
That sounds feasible, yes. I wouldn't be surprised if there was a patch somewhere for skipping those messages, though.
If I could get my hands on something like that, it would help immensely.

EDIT: Is it possible to use this to get the XP needed for the next level?
That would be possible, though a touch more involved than what's generally intended for this plugin. What's available are the level of the actor (which you can already get easily enough without a plugin) and the primary, secondary, and tertiary experience curve parameters of the dbActor. You'd need to get those values and then use them to calculate what the XP needed for the next level is. If you really wanted to, you could include a comment command in the plugin that takes care of all of that before sending the result to an RM2K3 variable, although you'll need a tiny bit of C++ know-how for that.

But hey, why am I doing the research for you? X) Go look at the available data yourself.
Pages: 1