Ace Shop Options Add-on - Items States

Mur

Veteran
Veteran
Joined
Oct 22, 2014
Messages
32
Reaction score
7
First Language
RU
Primarily Uses
RMMV
Hello dear friends.

I'm not a programmer, and do not know ruby, and generally only start to understand rgss3 and of course i don't know english very well.

But i didn't found similar script and my friend help me with my first steps.

Here a bit modification for the Ace Shop Options:

   


   


As you see, my modification has added six additional slots with colored information (red - bad, green good) about item.

Information was taken from section features and show only first six kinds:



Unfortunately limitation is due to the small screen, but you can certainly improve the script yourself.

Script also has support colorizing with Hime Item Rarity

Should you find any errors, inaccuracies or improvement, then I will gladly listen to them.

Ace Shop Options Add-on - Items States.txt
 

Attachments

Last edited by a moderator:

bgillisp

Global Moderators
Global Mod
Joined
Jul 2, 2014
Messages
13,522
Reaction score
14,255
First Language
English
Primarily Uses
RMVXA
Looks useful. What are the terms of use? Same as Yanflys? If so you should add that in the script (so there is no confusion later on).
 

Sixth

Veteran
Veteran
Joined
Jul 4, 2014
Messages
2,162
Reaction score
822
First Language
Hungarian
Primarily Uses
RMVXA
Useful, but looks pretty un-organized. Yeah, I am picky in this regard. :p


Try to align the stuffs shown.


Left align for the feature type's name, right align for the actual effect, just like Yanfly's original effects shown.


You can also shorten some terms to save some place in the little boxes. For example, "S.Types" instead of "Skill Types", etc.


The "Can Equip" thing can be changed to W.Type and A.Type, which looks more "professional", in my opinion.


You could put in a button press to toggle pages of that little feature display box you made if you want to show even more effects.


It would be even better if instead of adding extra height for that status window, you would make a page toggle effect. As it looks now, this might work for games with only 1 party member, but for anything else (on default resolution), it kills off another potential feature from the shop scene due to lack of space to display it (the effective changes relative to the actor's current equipment).


And with the paging system, even if you put in only one page, you could show 8 features instead of 6.


I recently worked on something similar (well, the same if we look at the end results) and did exactly that. I made separate pages for each chunk of info shown in an encyclopedia.


Thou, that much info shouldn't be necessary in a shop, I guess. :D


Still, good job for a beginner!


I don't know if it is just a typo, but "states" and "stats" are different things.


But "Item Features" would be a more suitable topic title, in my opinion.


Sorry for the wall of text, I waited for a download and was bored, so I wrote this much. :D
 

Mur

Veteran
Veteran
Joined
Oct 22, 2014
Messages
32
Reaction score
7
First Language
RU
Primarily Uses
RMMV
Useful, but looks pretty un-organized. Yeah, I am picky in this regard. :p
In truth also do not very like how this looks too  >_>  

Try to align the stuffs shown.

Left align for the feature type's name, right align for the actual effect, just like Yanfly's original effects shown.
Actually it was made specifically to be able to write a proposal in other language, so there is no alignment.

Also another reason is that if the basic parameters, such as HP, MP, AGI, LUK, the player known and understood,

but the extra features I would like to explain in more detail.

Of course with the screen's limit it not easy to make.

You can also shorten some terms to save some place in the little boxes. For example, "S.Types" instead of "Skill Types", etc.

The "Can Equip" thing can be changed to W.Type and A.Type, which looks more "professional", in my opinion.
In vocab's section you can anything to change as you wish: name of properties, reduction, how will be look message and etc.

for example info message fot the "attack state":

# Atk State# Applies a state change effect for normal attacks. Specify the target# effect and the success variability (0 to 1000%). A 100% setting means# no variability.:atk_state => "Atk State %s %s%%",The first "%s" will be replaced with name of state and second "%s" will be replaced with value of it.

You could put in a button press to toggle pages of that little feature display box you made if you want to show even more effects.

It would be even better if instead of adding extra height for that status window, you would make a page toggle effect. As it looks now, this might work for games with only 1 party member, but for anything else (on default resolution), it kills off another potential feature from the shop scene due to lack of space to display it (the effective changes relative to the actor's current equipment).

And with the paging system, even if you put in only one page, you could show 8 features instead of 6.
Yes, that would be fine.

It remains to find out how to do it :)

I recently worked on something similar (well, the same if we look at the end results) and did exactly that. I made separate pages for each chunk of info shown in an encyclopedia.

Thou, that much info shouldn't be necessary in a shop, I guess. :D
Maybe you could show me how to do it?

Still, good job for a beginner!
Thanks.

I don't know if it is just a typo, but "states" and "stats" are different things.

But "Item Features" would be a more suitable topic title, in my opinion.
Oops! Of course you are right. "Item Features" sounds more correctly.

Sorry for the wall of text, I waited for a download and was bored, so I wrote this much. :D
Thank you very much for your detailed response.
 

bgillisp

Global Moderators
Global Mod
Joined
Jul 2, 2014
Messages
13,522
Reaction score
14,255
First Language
English
Primarily Uses
RMVXA
Probably yes.
You should decide on that now, as unclear terms turn people off on using a script. So, I would suggest figuring out your terms of use now, so as to avoid confusion later, or turning people off who refuse to use scripts with unclear terms (like me).
 

Mur

Veteran
Veteran
Joined
Oct 22, 2014
Messages
32
Reaction score
7
First Language
RU
Primarily Uses
RMMV
You should decide on that now,...
Ok, ok. I understand. Like an Yanfly, script is free for use with both free and commercial RPG Maker games.
 

Sixth

Veteran
Veteran
Joined
Jul 4, 2014
Messages
2,162
Reaction score
822
First Language
Hungarian
Primarily Uses
RMVXA
Ohh, sorry, I haven't downloaded the script when I wrote that, I just judged on the screenshots.

I see now that everything can be renamed, which is cool, good job on that!

Sure, I can help you with the page toggle setup.

As a matter of fact, I already made a basic toggler for a sample, but it involves a lot of edits.

I haven't separated those edits from the original shop options script, and I need to go to work for a few hours now, but when I come back, I will separate it and post it here, so you can see how can you make a page toggler thing easily in any scene.

Edit:

Ok, finished the separation.

Here is the snippet:

#===============================================================================# Sixth's Page Trigger Snippet Demonstration#===============================================================================#===============================================================================# Settings Below!#===============================================================================module YEA::SHOP MAX_PAGE = 3 # Maximum available pages to toggle # If you want only one page toggle button, set one of the triggers to 'nil'. PREV_TRIGGER = :kA # Button for the previous page trigger NEXT_TRIGGER = :kD # Button for the next page trigger # Depending on what do you want to show, and how many pages you have, it might # be helpful for the player to know where he is. # These icons can show, for example, a left arrow on the left side and a right # arrow at the right side. The left icon will get the disabled color if the # player is on the first page, and the right icon will get the disabled color # if the player navigates to the last page. USE_ICONS = true # You can enable/disable the icon display here. PAGE_HELP_ICON = [2824, 2826] # The left number is the left icon's ID. # The right number is the right icon's ID. LEFT_ICON_X = 10 # Every icon is different in size and appearance. RIGHT_ICON_X = 606 # These settings will help you to overcome weird placements. ICON_Y = 10 # Set up the X placements of each icon and the Y position. end#==============================================================================# Settings Ends Here! Ohh, noes!#==============================================================================#==============================================================================# ■ Window_ShopData#==============================================================================class Window_ShopData < Window_Base include YEA::SHOP #-------------------------------------------------------------------------- # new: public instance variables #-------------------------------------------------------------------------- attr_accessor :toggler, :enabler #-------------------------------------------------------------------------- # alias method: initialize #-------------------------------------------------------------------------- # We initialize the new variables for the page toggle effect here # New variables: @toggler - controls the page number # @enabler - enables/disables the page trigger buttons #-------------------------------------------------------------------------- alias sixth_ini121 initialize def initialize(dx, dy, item_window) @toggler = 0 @enabler = false sixth_ini121(dx, dy, item_window) end #-------------------------------------------------------------------------- # alias method: update #-------------------------------------------------------------------------- # Making the new button triggers effective on the shop scene. # See 'refresh_button_input_custom' for more info. #-------------------------------------------------------------------------- alias sixth_upi121 update def update sixth_upi121 refresh_button_input_custom end #-------------------------------------------------------------------------- # overwrite method: refresh #-------------------------------------------------------------------------- # This is where the most important part of our "magic" happens. # See all those 'if/elsif @toggler == X' conditional checks? # That decides what will be displayed in the window. # If the page number (@toggler) is equal to 0, it shows the basic data. # If it is higher, it draws something else. # # For the sake of example, I just added 2 very basic text display for the # other pages, but you can display anything, as long as you can code it. # You can add as many pages as you want with simply adding more 'elsif' # conditions and raising the MAX_PAGE setup above. # # Caution: This is an overwrite method! #-------------------------------------------------------------------------- def refresh contents.clear reset_font_settings return draw_empty if @item.nil? contents.font.size = YEA::SHOP::STATUS_FONT_SIZE if @toggler == 0 draw_item_image draw_item_stats draw_item_effects elsif @toggler == 1 draw_something_else1 elsif @toggler == 2 draw_something_else2 end draw_toggle_icons if YEA::SHOP::USE_ICONS == true end #-------------------------------------------------------------------------- # new method: draw_toggle_icons #-------------------------------------------------------------------------- # This method draws the page icons if they are enabled. #-------------------------------------------------------------------------- def draw_toggle_icons x = YEA::SHOP::LEFT_ICON_X w = YEA::SHOP::RIGHT_ICON_X y = YEA::SHOP::ICON_Y if @toggler == YEA::SHOP::MAX_PAGE - 1 draw_icon(YEA::SHOP::pAGE_HELP_ICON[0],x,y) draw_icon(YEA::SHOP::pAGE_HELP_ICON[1],w-24,y,false) elsif @toggler == 0 draw_icon(YEA::SHOP::pAGE_HELP_ICON[1],w-24,y) draw_icon(YEA::SHOP::pAGE_HELP_ICON[0],x,y,false) else draw_icon(YEA::SHOP::pAGE_HELP_ICON[0],x,y) draw_icon(YEA::SHOP::pAGE_HELP_ICON[1],w-24,y) end end #-------------------------------------------------------------------------- # new method: draw_something_else1 #-------------------------------------------------------------------------- # Just to demonstrate the page changing. # Feel free to delete/change this however you like. #-------------------------------------------------------------------------- def draw_something_else1 draw_text(0,contents.height/2,contents.width-12,line_height,"This is something else version 1!",1) end #-------------------------------------------------------------------------- # new method: draw_something_else2 #-------------------------------------------------------------------------- # Just to demonstrate the page changing. # Feel free to delete/change this however you like. #-------------------------------------------------------------------------- def draw_something_else2 draw_text(0,contents.height/2,contents.width-12,line_height,"This is something else version 2!",1) end #-------------------------------------------------------------------------- # new method: refresh_button_input_custom #-------------------------------------------------------------------------- # This is where we define what happens when the player press the defined # button. # If the page number goes lower than 0, it will be set to the last page. # If the page number is higher than the maximum page setup number, it will # go to the first page. # If it can go to the next/previous page without any of the above conditions # described, it simply switches to the next/previous page. # # The 'print ...' lines are there for debugging only. # Feel free to change/delete them. #-------------------------------------------------------------------------- def refresh_button_input_custom if YEA::SHOP::pREV_TRIGGER != nil && Input.trigger?(YEA::SHOP::pREV_TRIGGER) && @enabler == true if @toggler <= 0 @toggler = YEA::SHOP::MAX_PAGE - 1 else @toggler -= 1 end print "Prev: "; p @toggler Sound.play_ok update_item(@item_window.item) refresh elsif YEA::SHOP::NEXT_TRIGGER != nil && Input.trigger?(YEA::SHOP::NEXT_TRIGGER) && @enabler == true if @toggler < YEA::SHOP::MAX_PAGE - 1 @toggler += 1 else @toggler = 0 end print "Next: "; p @toggler Sound.play_ok update_item(@item_window.item) refresh end endend#==============================================================================# ■ Scene_Shop#==============================================================================class Scene_Shop < Scene_MenuBase #-------------------------------------------------------------------------- # alias method: activate_buy_window #-------------------------------------------------------------------------- # This part is important. We will enable/disable the page toggle effect in # the following aliased methods, as well as set the page number to the first # if the cancel button is being pressed. # # This method happens when the player presses the confirm button on the "Buy" # command. We want to enable the page toggle effect then, so we do just that. #-------------------------------------------------------------------------- alias sixth_enabler121 activate_buy_window def activate_buy_window sixth_enabler121 @data_window.enabler = true end #-------------------------------------------------------------------------- # alias method: activate_sell_window #-------------------------------------------------------------------------- # This method happens when the player presses the confirm button on the # "Item Categories" selection window, which happens after the player presses # the confirm button on the "Sell" command. # We want to enable the page toggle effect then, so we do just that. #-------------------------------------------------------------------------- alias sixth_ac_sell121 activate_sell_window def activate_sell_window sixth_ac_sell121 @data_window.enabler = true end #-------------------------------------------------------------------------- # alias method: on_buy_ok #-------------------------------------------------------------------------- # This method happens when the player presses the confirm button on any # enabled item in the "Buy" window, aka when the number selection comes up. # If you are like me, and want to set the button triggers to "left" and "right", # then having the page toggle effect activated will make some weird effects. # That is why I choose to disable the effect here. # # This part, as well as any of the following methods, will first disable the # page toggle effect, then set the page number to the first page, and after # that, it will refresh the info window to reflect the changes (if any). #-------------------------------------------------------------------------- alias sixth_on_buy121 on_buy_ok def on_buy_ok @data_window.enabler = false @data_window.toggler = 0 @data_window.refresh sixth_on_buy121 end #-------------------------------------------------------------------------- # alias method: on_buy_cancel #-------------------------------------------------------------------------- # Happens when the player cancels the number input window while buying. # Same effect as above. #-------------------------------------------------------------------------- alias sixth_on_buy_c121 on_buy_cancel def on_buy_cancel @data_window.enabler = false @data_window.toggler = 0 @data_window.refresh sixth_on_buy_c121 end #-------------------------------------------------------------------------- # alias method: on_sell_ok #-------------------------------------------------------------------------- # Happens when the player presses the confirm button on any enabled item # while selling stuffsl, aka when the number input window shows up. # Same effect as above. #-------------------------------------------------------------------------- alias sixth_on_sell_o121 on_sell_ok def on_sell_ok @data_window.enabler = false @data_window.toggler = 0 @data_window.refresh sixth_on_sell_o121 end #-------------------------------------------------------------------------- # alias method: on_sell_cancel #-------------------------------------------------------------------------- # Happens when the player cancels the number input window while selling. # Same effect as above. #-------------------------------------------------------------------------- alias sixth_sell_cancel121 on_sell_cancel def on_sell_cancel @data_window.enabler = false @data_window.toggler = 0 @data_window.refresh sixth_sell_cancel121 endend
I made a lot of comment, read them and you can implement this nice system you made with simple page toggle effects, which saves hell of a lot of precious space.

You can also implement this page toggle effect to every single scene you want with mimicking the methods I used.

I used only one overwrite method, the rest are aliases.

I only showed how can it be done, I did not insert your feature display methods in it.

But that should be a piece of cake if you read the comments I made. :)

Ohh, and edit the settings, because I left everything how it operates in my project.

Those settings won't work in every project (the buttons especially).

Have fun with it! :)
 
Last edited by a moderator:
  • Like
Reactions: Mur

Mur

Veteran
Veteran
Joined
Oct 22, 2014
Messages
32
Reaction score
7
First Language
RU
Primarily Uses
RMMV
Ohh, sorry, I haven't downloaded the script when I wrote that, I just judged on the screenshots.


I see now that everything can be renamed, which is cool, good job on that!
np.

Ok, finished the separation.


Here is the snippet:
Big thanks, i will try it with the next version.
 

Mojo907

Veteran
Veteran
Joined
May 21, 2013
Messages
164
Reaction score
38
First Language
English
Primarily Uses
RMMV
Very solid addition, even if no one has posted in quite some time. This does deserve some extra attention as it makes Yanfly's Shop Options just that more enticing.
 

Mur

Veteran
Veteran
Joined
Oct 22, 2014
Messages
32
Reaction score
7
First Language
RU
Primarily Uses
RMMV
Very solid addition, even if no one has posted in quite some time. This does deserve some extra attention as it makes Yanfly's Shop Options just that more enticing.
Thank you very much for your kind words. It's very kind of you.
 
Joined
May 31, 2015
Messages
2
Reaction score
0
First Language
English
Primarily Uses
Help! i tried the script and it said

Script " line 558: SyntaxError  occurred

unexpected $end, expecting keyword_end

     end

some one help plz  :(
 

Andar

Veteran
Veteran
Joined
Mar 5, 2013
Messages
31,365
Reaction score
7,676
First Language
German
Primarily Uses
RMMV
Script " line 558: SyntaxError  occurred
Please always name your scripts - the '' in your message is missing the name between them, and that makes bughunting problematical.
1) have you added all required scripts or only this one?


2) have you added all scripts completely without missing lines?


because syntax errors usually mean that you haven't copied everything you need...
 

J_C

Veteran
Veteran
Joined
Jan 21, 2015
Messages
192
Reaction score
45
First Language
Hungarian
Primarily Uses
N/A
Hi, is this script still available? The download link doesn't work for me.
 
Last edited by a moderator:

J_C

Veteran
Veteran
Joined
Jan 21, 2015
Messages
192
Reaction score
45
First Language
Hungarian
Primarily Uses
N/A
Hello. Very strange, content has deleted from forum?

Here re-upload it.
Thank you very much. This is a great script. :)
 

Talonos

Veteran
Veteran
Joined
Jun 10, 2014
Messages
49
Reaction score
39
First Language
English
Primarily Uses
This was quite useful in VX Ace. Will it be ported to Javascript so it can be used in MV? If you have no interest in doing so, may I try my hand at it?
 

Mur

Veteran
Veteran
Joined
Oct 22, 2014
Messages
32
Reaction score
7
First Language
RU
Primarily Uses
RMMV
This was quite useful in VX Ace. Will it be ported to Javascript so it can be used in MV? If you have no interest in doing so, may I try my hand at it?


This script was written a long time ago.


Lack sufficient knowledge and experience has allowed me to only slightly alter other people's scripts.


Now I have an experience and have few other ideas and own vision of how shop is can look in the game and i have a plan to write own script for RPG maker MV.


So if you have the time and desire, of course, you can try your hand for create something like this but for rpg maker mv.
 

Users Who Are Viewing This Thread (Users: 1, Guests: 1)

Latest Threads

Latest Profile Posts

so hopefully tomorrow i get to go home from the hospital i've been here for 5 days already and it's driving me mad. I miss my family like crazy but at least I get to use my own toiletries and my own clothes. My mom is coming to visit soon i can't wait to see her cause i miss her the most. :kaojoy:
Couple hours of work. Might use in my game as a secret find or something. Not sure. Fancy though no? :D
Holy stink, where have I been? Well, I started my temporary job this week. So less time to spend on game design... :(
Cartoonier cloud cover that better fits the art style, as well as (slightly) improved blending/fading... fading clouds when there are larger patterns is still somewhat abrupt for some reason.
Do you Find Tilesetting or Looking for Tilesets/Plugins more fun? Personally I like making my tileset for my Game (Cretaceous Park TM) xD

Forum statistics

Threads
105,868
Messages
1,017,072
Members
137,578
Latest member
JamesLightning
Top