10-21-2021, 01:38 PM (This post was last modified: 11-07-2021, 08:23 AM by zlsl.
Edit Reason: DerVV translated into English
)
Hi there,
I am using Add-On: HP/SP/TP/EXP Meter (REVISED FOR ACBS)of Atoa Custom Battle System.
Is there a way to change graph image from HP/SP/TP/EXP Meter to Actor ID?
The image is an example. I want to decorate the battle window with a warrior with a green SP graph, a priest with a yellow CP graph, and a wizard with a blue MP graph.
Each actor succeeded in changing the SP name.
If Actor.name != "Hilda"
;Another
self.contents.draw_text(x + 1, y + 4, 32, 32, "MP")
End
Now all you need to do is figure out how to change the graph image with the Actor ID.
I'm sorry to come here often and ask questions, but can you help me?
I am using Add-On: HP/SP/TP/EXP Meter (REVISED FOR ACBS)of Atoa Custom Battle System.
Is there a way to change graph image from HP/SP/TP/EXP Meter to Actor ID?
The image is an example. I want to decorate the battle window with a warrior with a green SP graph, a priest with a yellow CP graph, and a wizard with a blue MP graph.
Each actor succeeded in changing the SP name.
If Actor.name != "Hilda"
;Another
self.contents.draw_text(x + 1, y + 4, 32, 32, "MP")
End
Now all you need to do is figure out how to change the graph image with the Actor ID.
I'm sorry to come here often and ask questions, but can you help me?
10-21-2021, 04:24 PM (This post was last modified: 10-21-2021, 04:30 PM by DerVVulfman.)
Welcome back. Long time no see!!!
I took more time translating your post from Korean to English than I did figuring this out.
So you just want the "SP" for your default points to change based on the actor? THAT'S EASY!!!! Just a case of knowing where it is!!!
Now, normally you would go to the Window_Base class to alter the 'draw_actor_sp' method. But Vic rewrote that with his battlesystem. You will find that it is in the Battle Windows script .... WHICH I UPGRADED FOR YOU to add the TP points. So where I suggest will be based upon the new script.
In the Battle Windows script, you will find the draw_actor_sp method begin on line 290. To be more specific, that is where the 'alias' command begins for that method. With that, you will find the offending statement.....
...on line 297. It is here where simple magic can be made.
Now I just made this little bit of code... and it replaces the line on 297 itself, though it of course utilizes the same draw_text command.
Code:
# CHANGE BEGINS HERE---------------------------------------------------
sp_replace = "SP"
case actor.id
when 2; sp_replace = "MP"
when 4; sp_replace = "CP"
end
self.contents.draw_text(x, y, 32, 32, sp_replace)
# CHANGE ENDS HERE ----------------------------------------------------
This replaces the original line on 297, and should look like this in your script.
Code:
self.contents.font.color = system_color
self.contents.font.name = SP_Text[2]
self.contents.font.size = SP_Text[3]
self.contents.font.bold = SP_Text[4]
# CHANGE BEGINS HERE---------------------------------------------------
sp_replace = "SP"
case actor.id
when 2; sp_replace = "MP"
when 4; sp_replace = "CP"
end
self.contents.draw_text(x, y, 32, 32, sp_replace)
# CHANGE ENDS HERE ----------------------------------------------------
if width - 32 >= 108
sp_x = x + width - 108
flag = true
elsif width - 32 >= 48
sp_x = x + width - 48
flag = false
end
It is keyed to use the Actor's ID rather than the actor's name. Any changes/additions to the list of actors with alternate versions of SP will need to be done here.
And note you can do a variation above with the HP stats, or further down with the TP system replacing the line that references the MOG::TP_NAME value.
Up is down, left is right and sideways is straight ahead. - Cord "Circle of Iron", 1978 (written by Bruce Lee and James Coburn... really...)
10-22-2021, 07:09 AM (This post was last modified: 10-22-2021, 07:11 AM by zlsl.)
(10-21-2021, 04:24 PM)DerVVulfman Wrote: Welcome back. Long time no see!!!
I took more time translating your post from Korean to English than I did figuring this out.
So you just want the "SP" for your default points to change based on the actor? THAT'S EASY!!!! Just a case of knowing where it is!!!
Now, normally you would go to the Window_Base class to alter the 'draw_actor_sp' method. But Vic rewrote that with his battlesystem. You will find that it is in the Battle Windows script .... WHICH I UPGRADED FOR YOU to add the TP points. So where I suggest will be based upon the new script.
In the Battle Windows script, you will find the draw_actor_sp method begin on line 290. To be more specific, that is where the 'alias' command begins for that method. With that, you will find the offending statement.....
...on line 297. It is here where simple magic can be made.
Now I just made this little bit of code... and it replaces the line on 297 itself, though it of course utilizes the same draw_text command.
Code:
# CHANGE BEGINS HERE---------------------------------------------------
sp_replace = "SP"
case actor.id
when 2; sp_replace = "MP"
when 4; sp_replace = "CP"
end
self.contents.draw_text(x, y, 32, 32, sp_replace)
# CHANGE ENDS HERE ----------------------------------------------------
This replaces the original line on 297, and should look like this in your script.
Code:
self.contents.font.color = system_color
self.contents.font.name = SP_Text[2]
self.contents.font.size = SP_Text[3]
self.contents.font.bold = SP_Text[4]
# CHANGE BEGINS HERE---------------------------------------------------
sp_replace = "SP"
case actor.id
when 2; sp_replace = "MP"
when 4; sp_replace = "CP"
end
self.contents.draw_text(x, y, 32, 32, sp_replace)
# CHANGE ENDS HERE ----------------------------------------------------
if width - 32 >= 108
sp_x = x + width - 108
flag = true
elsif width - 32 >= 48
sp_x = x + width - 48
flag = false
end
It is keyed to use the Actor's ID rather than the actor's name. Any changes/additions to the list of actors with alternate versions of SP will need to be done here.
And note you can do a variation above with the HP stats, or further down with the TP system replacing the line that references the MOG::TP_NAME value.
uh...?
I obviously used a translator to post in English, but did it come out in Korean? Why...? Ah... is this my mistake?
I'm really sorry. I made a stupid mistake...
Ummm... First of all, thanks for the reply.
Thanks for the expert advice on how to rename actors by name! The script I wrote was very rudimentary... (XD...)
I'm very sorry, but what I was asking for help was how to change the image of the graph to a file.
Yes, in the HP/SP/TP/EXP Meter (REVISED FOR ACBS) script ((https://save-point.org/thread-8381.html))
HP_Meter = 'HPMeter' # Name of the HP meter graphic file
SP_Meter = 'SPMeter' # Name of the SP meter graphic file
TP_Meter = 'TPMeter' # Name of the TP meter graphic file
EXP_Meter = 'EXPMeter' # Name of the EXP meter graphic file
this part!
I hope the graph file for this part is different for each actor.
For each actor ID, a warrior using a green SP graph image, a priest using a yellow SP graph image, a wizard using a blue SP graph image...
Yes, my explanation was lacking, which made it cumbersome. I am really sorry
10-22-2021, 01:56 PM (This post was last modified: 10-22-2021, 01:58 PM by DerVVulfman.)
Oh oh oh.... the colored meter bar you want altered as well. The image you provided (below) did show that the Actors did have differing options for SP, the Gloria and Hilda actors having CP and SP in the example.
That and your post contained (once translated)
Quote:Each actor succeeded in changing the SP name.
If Actor.name != "Hilda"
;Another
self.contents.draw_text(x + 1, y + 4, 32, 32, "MP")
End
I guess I neglected to notice the bar itself was different for each. Well, the edit... THIS time... will be in the subsequently replaced HP/SP/TP Meter replacement script you just received. And it is actually quite similar.
In the meter script, you will find the draw_actor_sp method begin on line 93. To be more specific, that is where the 'alias' command begins for that method. With that, you will find the offending statement.....
@skin = RPG::Cache.windowskin(SP_Meter)
...on line 97. It is here where simple magic can be made.
(Um, yeah... I actually COPY/PASTED THE ABOVE EXPLANATION FROM YESTERDAY'S POST!)
Now I just made this little bit of code... and it replaces the line on 97 itself, though it of course utilizes the same RPG::Cache command.
Code:
# CHANGE BEGINS HERE---------------------------------------------------
sp_replace = "SP_Meter"
case actor.id
when 2; sp_replace = "Gold_Meter"
when 4; sp_replace = "Blue_Meter"
end
@skin = RPG::Cache.windowskin(sp_replace)
# CHANGE ENDS HERE ----------------------------------------------------
Now, you may be thinking "What the? Is this the same code?" Basically yes! Since this too alters the draw_actor_sp method as the previous reply, it too can use the actor ID. And this just substitutes the SP_Meter string used when generating the windowskin much like replacing the "SP" string in the previous.
So this took even LESS time for me than before... And again, you can use this for the above HP, or below TP and EXP bars.
Up is down, left is right and sideways is straight ahead. - Cord "Circle of Iron", 1978 (written by Bruce Lee and James Coburn... really...)
10-23-2021, 06:43 AM (This post was last modified: 10-23-2021, 06:50 AM by zlsl.)
ah ha ha ha...
Looking at DerVVulfman's code, I knew I needed a lot of study.
(I was thinking in a difficult direction. In fact, it was a little embarrassing because it was a very simple method. )
The code works just as I wanted it to! thank you!
Winter is coming soon. Take Care of yourself