SIMPLE REQUEST IN MODIFYING THE VXACE BATTLE SYSTEM

Posts

Pages: 1
Greetings all,

So, I'm being drawn into the allure of VXAce and all of its impressive functions, but I would really like to modify the default battle system and make it my own. The trouble is, I'm still quite a novice at scripting in Ruby; my previous experience was all with XP, and that mostly consisted of shuffling integers around.

After taking a crash course in Ruby, I am familiar with the terminology, but I am still having trouble with what I imagine to be a very simple problem. I would like to add face portraits to the battle window. That is easily done, just by editing Window_BattleStatus and adding:

draw_actor_face(actor, 100, 0,actor.alive?)

But while this works fine for a single actor, as you can imagine multiple actors cause the face graphics to stack in the same place. I have tried to find the appropriate method to have only one graphic be displayed when a given character is selected, but after two hours of reading guides and searching through the scrips I have not found said method. I would be extremely grateful if any of you wise, knowledgeable and all-around attractive people could point out what a newbie like me is overlooking.

Alternatively, I considered having face or battle graphics for the different actors displayed outside of the menu, but then I run into the problem of how to assign them individual coordinates, as I don't know the method for having individual face and battle graphics positioned, only for having them ALL be positioned.

I apologize if these questions have already been answered before, but I didn't see them when I did a search before making this topic. Once again, any insight you guys have would be greatly appreciated.
I'll help you np...however, you're going to need to clarify one thing before that happens. I'm not really sure what you mean by this statement:

author=Lucidstillness
But while this works fine for a single actor, as you can imagine multiple actors cause the face graphics to stack in the same place. I have tried to find the appropriate method to have only one graphic be displayed when a given character is selected


Question: Did you want only one faceset to appear when a character is (You mentioned something about selecting) selected? Or, did you want the faceset to be drawn in a different place for each actor that is selected to be drawn at that moment?

If the second one is the case, then you just need to change the 2nd and 3rd setting in the method call, this is the x & y. These would need to be unique locations for each actor.

If however, you're looking for a solution for the first scenario that I suggested just let me know. That one would require a bit more work, but basically you need to find out which actor is currently selected and you may find this by querying the "BattleManager.actor.index". However, this is a more involved process so I would rather not post a step by step until I'm fully sure (wouldn't want to waste your time).
Thank you very much for the offer of help! I would actually like to know how to do both for different reasons; I know that I need to change the method call for the x and y, but I have not yet been able to figure out how to do that for this case (I usually get errors when I try to call individual actors to set unique locations). I believe I am overlooking something rather straightforward, so any clarification you could provide would be very helpful.

In scenario 2, I was considering displaying a single portrait when a given character is selected, to avoid a cluttered interface. Knowing that I should query the BattleManager.actor.index is already a big help, so if you don't mind taking the time I would be quite grateful for a step-by-step guide. I am guessing that others attempting to make similar systems for the first time would benefit from it as well.

Thanks again!
Scenario 1 - Heh, well it's pretty simple. I am of course lying, as it is pretty difficult, so I'll only post the explanation for Scenario 1 and hope that you have a good enough understanding to tackle Scenario 2 by yourself. I would recommend looking up some tutorials on scripting for a better understanding.

1. First just think to yourself: "Ok, self-- what do I want to edit?".
2. The answer should be: "Whatever draws the HUD for the batters current stats", in this case that is the "Battle Status Window".
3. We mosey on over to the battle status window and look through it a bit.
4. Then we scroll down to find the function that actually draws each area for an actor; so we should look for this: "draw_item(index)".
5. This function will draw all of the associated "items" for the battle status window, but as we can see-- it branches off to different parts.
6. To establish a good coding practice, a good idea would be to make a new method for this...but to make this simple we'll just stick in the "draw_actor_face(actor, 100, 0,actor.alive?)" part below "draw_gauge_area".
7. Then for a simple effect you can just use the index variable and multiply that by like 20 to create a new setting for the x/y part of the draw_actor_face function.

The more I look at this the more I think you should definitely look up some tutorials, as this really isn't good scripting. However, I'm not interested in posting a 3 page explanation on this, lol. I just hope this will lead you in the right direction. It's just when I read your response I realized that you might be clueless as to what I'm even saying. Try playing around with this more to see what you can do. If there is any SPECIFIC questions just let me know!
Thank you very much MakoInfused; you've given me much to think about and helped me get started with this!
author=Lucidstillness
Thank you very much MakoInfused; you've given me much to think about and helped me get started with this!


Hey, no problem at all. I hope I did help...the more I wrote, the more I realized that this would be complicated. Please let me know if you have any other questions once you have a general understanding of how the process works.
Pages: 1