Submit Your Article


 
RPG Maker

Welcome Guest ( Log In | Register )


  Games Resources RPG Maker VX RPG Maker XP Scripts Tutorials Downloads

> MOG-Styled Menus (Item, Equip & Skills)
Selacius
post Oct 8 2008, 09:11 PM
Post #1


Level 4
Group Icon

Group: Member
Posts: 53
Type: Event Designer
RM Skill: Beginner




MOG & SEL SCENE MENUS
Version: 2.0
By Selacius


Introduction
This demo contains the original MOG Menu & Status Scenes, with the VX versions of the ITEM, SKILL, EQUIP, and SHOP XP scripts. Also contained is an adjustment to the Skill Shop by Nechigawara Sanzenin to fit the SEL style.

Screenshots







Demo
Rapidshare Demo
Mediafire Demo

FAQ
Ask here and they will be fixed.

Compatibility
Any additions to the menu will need new graphics and also slight modification of the MOG menu script.

Credits and Thanks
Selacius (Scripting)
Lomastul (Images)
MOGHUNTER (XP Scripts & Images)

Terms and Conditions
Free for use but make sure to credit those who deserve it.

This post has been edited by Selacius: Oct 20 2008, 08:09 AM
Go to the top of the page
 
+Quote Post
   
 
Start new topic
Replies
lomastul
post Nov 13 2008, 10:52 PM
Post #2


Level 7
Group Icon

Group: Member
Posts: 95
Type: Artist
RM Skill: Advanced




ok here it is:
[Show/Hide] Skills shop fix

#==============================================================================
# Skill Shop for RMVX Ver 3.5
#==============================================================================
# By Nechigawara Sanzenin
# WARNING!! : This script can use on RPG Maker VX Only!! (XP Not Support)
#==============================================================================
# Buy Skill Option For RMVX
#==============================================================================
#Version Log
#==============================================================================
#2.0 Add Level requirement - Change Hero Select Window
#3.0 Change How to set Price , Add wait Level Up option
#3.5 Updated to match SEL SCENE Styles & offer skills based on class not actor
#==============================================================================
=begin

How to Use:

You will add "$skill_shop =[Id of Skill]"
To Call Script to set id of skill for sell.
You will add "$scene = Scene_Skill_Shop.new"
To Call Skill Shop Windows.

Example:
$skill_shop = [1,2,3,6,7]
$scene = Scene_Skill_Shop.new

You can turn on/off option under "# Setting".
You can set text to use in Skill Shop under "# Learn Text".
You can add "\p[Price]" for set Skill Price at Note in Skill Database.
You can set Skill that the fighter each person can learn under "# Hero Data".

You will setting look like this in Hero Data
[ID of skill, Level requirement for learn]

Example : if you want actor id 1 can learn skill id 1 at Lv 4
and can learn skill id 2 at lv 3. You will setting look like this

1 => [ #Id of Actor

[1,4],[2,3],

],

=end

module Cache
def self.menu(filename)
load_bitmap("Graphics/Menus/", filename)
end
end
#==============================================================================
#module SKILL_SHOP
#==============================================================================
module SKILL_SHOP
# Setting
Wait_Lv_Up = false # Wait 1 Lv up for use skill from buy
Show_cha = true # Show Charactor Graphic in Select Window
# Learn Text
How_Learn = "Who can learn?"
Can_Learn = "Can Learn"
Can_Learn_Lv = "On Lv"
Cant_Learn = "Can't Learn"
Learnt = "Learnt"
Teach = "Teach"
Cancel = "Cancel"
Next_Lv = "Next Lvl"
Can_use = "%s can use now!"
# Price Data For Non Set
PRICE = 100
# Hero Data
SKILL_BUY = {
# Add what skill can hero buy Here
# Class ID => [ID of skill,Level]
1 => [[33,1],[2,3],[3,1],],
2 => [[1,4],[2,3],[3,1],],
3 => [[5,1],[2,3],[3,1],],
}
# Add Price
def self.skill_price(id)
text = $data_skills[id].note
if (/\A\\[Pp]\[([0-9]+)\]/.match(text)) != nil then
price = $1.to_i
else
price = PRICE
end
return price
end
# Add Hero id
def self.skill_buy(id)
if SKILL_BUY.include?(id)
return SKILL_BUY[id]
else
return []
end
end
end
#==============================================================================
#class Game_Actor
#==============================================================================
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
def setup(actor_id)
actor = $data_actors[actor_id]
@actor_id = actor_id
@name = actor.name
@character_name = actor.character_name
@character_index = actor.character_index
@face_name = actor.face_name
@face_index = actor.face_index
@class_id = actor.class_id
@weapon_id = actor.weapon_id
@armor1_id = actor.armor1_id
@armor2_id = actor.armor2_id
@armor3_id = actor.armor3_id
@armor4_id = actor.armor4_id
@level = actor.initial_level
@exp_list = Array.new(101)
make_exp_list
@exp = @exp_list[@level]
@skills = []
@le_skills = []
@le = []
for i in self.class.learnings
learn_skill(i.skill_id) if i.level <= @level
end
clear_extra_values
recover_all
end
#--------------------------------------------------------------------------
def le_skills
result = []
for i in @le_skills
result.push($data_skills[i])
end
return result
end
#--------------------------------------------------------------------------
def learn_le_skill(skill_id)
unless skill_learn?($data_skills[skill_id])
@le_skills.push(skill_id)
@le_skills.sort!
end
end
#--------------------------------------------------------------------------
def forget_skill(skill_id)
@skills.delete(skill_id)
@le_skills.delete(skill_id)
end
#--------------------------------------------------------------------------
def skill_learn?(skill)
if @skills.include?(skill.id)
return true
elsif @le_skills.include?(skill.id)
return true
else
return false
end
end
#--------------------------------------------------------------------------
def le_learn_skill(skill_id)
unless @skills.include?(skill_id)
@skills.push(skill_id)
@skills.sort!
end
end
#--------------------------------------------------------------------------
def skill_can_use?(skill)
return false if @le_skills.include?(skill.id)
return false unless skill_learn?(skill)
return super
end
#--------------------------------------------------------------------------
def learn?(skill)
learn = skill_learn?(skill)
if learn == true
return false
else
return true
end
end
#--------------------------------------------------------------------------
def le_skill?(skill)
return @le_skills.include?(skill.id)
end
#--------------------------------------------------------------------------
def display_level_up(new_skills)
$game_message.new_page
text = sprintf(Vocab::LevelUp, @name, Vocab::level, @level)
$game_message.texts.push(text)
for skill in new_skills
unless @le.include?(skill.id)
text = sprintf(Vocab::ObtainSkill, skill.name)
$game_message.texts.push(text)
end
end
for i in 0...@le.size
id = @le[i]
name = $data_skills[id].name
text = sprintf(SKILL_SHOP::Can_use, name)
$game_message.texts.push(text)
end
@le = []
end
#--------------------------------------------------------------------------
alias inc_level_up level_up
def level_up
inc_level_up
@le = []
for i in 0...@le_skills.size
id = @le_skills[i]
le_learn_skill(id)
@le.push(id)
end
@le_skills = []
end
end
#==============================================================================
#class Window_Skill_ShopBuy
#==============================================================================
class Window_Skill < Window_Selectable
#--------------------------------------------------------------------------
def refresh
@data = []
for skill in @actor.skills
@data.push(skill)
if skill.id == @actor.last_skill_id
self.index = @data.size - 1
end
end
for skill in @actor.le_skills
@data.push(skill)
end
@item_max = @data.size
create_contents
for i in 0...@item_max
draw_item(i)
end
end
#--------------------------------------------------------------------------
def draw_item(index)
rect = item_rect(index)
self.contents.clear_rect(rect)
skill = @data[index]
if skill != nil
rect.width -= 4
enabled = @actor.skill_can_use?(skill)
draw_item_name(skill, rect.x, rect.y, enabled)
if @actor.le_skill?(skill)
text = SKILL_SHOP::Next_Lv
else
text = @actor.calc_mp_cost(skill)
end
self.contents.draw_text(rect, text, 2)
end
end
end
#==============================================================================
#class Window_Skill_ShopBuy
#==============================================================================
class Window_Skill_ShopBuy < Window_Selectable
#--------------------------------------------------------------------------
def initialize(x, y)
super(x, y, 250, 225)
@skill_shop_goods = $skill_shop
refresh
self.index = 0
end
#--------------------------------------------------------------------------
def skill
return @data[self.index]
end
#--------------------------------------------------------------------------
def refresh
@data = []
for i in 0...@skill_shop_goods.size
skill = $data_skills[@skill_shop_goods[i]]
if skill != nil
@data.push(skill)
end
end
@item_max = @data.size
create_contents
for i in 0...@item_max
draw_item(i)
end
end
#--------------------------------------------------------------------------
def draw_item(index)
skill = @data[index]
price = SKILL_SHOP.skill_price(skill.id)
enabled = (price <= $game_party.gold)
rect = item_rect(index)
self.contents.clear_rect(rect)
draw_item_name(skill, rect.x, rect.y, enabled)
rect.width -= 4
self.contents.draw_text(rect, price, 2)
end
#--------------------------------------------------------------------------
def update_help
@help_window.set_text(skill == nil ? "" : skill.description)
end
end
#==============================================================================
#class Window_Skill_ShopStatus
#==============================================================================
class Window_Skill_ShopStatus < Window_Selectable
#--------------------------------------------------------------------------
def initialize(x, y)
super(x, y, 270, 240)
@item = nil
refresh
self.active = false
self.index = -1
end
#--------------------------------------------------------------------------
def refresh
self.contents.clear
@item_max = $game_party.members.size
if @item != nil
self.contents.font.color = system_color
self.contents.draw_text(4, 0, 200, WLH, SKILL_SHOP::How_Learn)
for actor in $game_party.members
x = 4
y = WLH * (1 + actor.index * 2)
draw_actor_can_learn(actor, x, y)
end
end
end
#--------------------------------------------------------------------------
def draw_actor_can_learn(actor, x, y)
can = false
lv = false
ac_lv = 0
can_learn = SKILL_SHOP.skill_buy(actor.class_id)
id = @item.id
for i in 0...can_learn.size
if can_learn[i][0] == id
can = true
if can_learn[i][1] <= actor.level
lv = true
else
lv = false
ac_lv = can_learn[i][1]
end
break
else
can = false
end
end
enabled = (can and lv and actor.learn?(@item))
self.contents.font.color = normal_color
self.contents.font.color.alpha = enabled ? 255 : 128
if SKILL_SHOP::Show_cha
name = actor.character_name
index = actor.character_index
size = contents.text_size(actor.name).width
draw_character(name, index, x + 20 + size , y + 30)
end
self.contents.draw_text(x, y, 200, WLH, actor.name)
if can == false
text = SKILL_SHOP::Cant_Learn
elsif can == true and lv == false
ac = ac_lv.to_s
text = SKILL_SHOP::Can_Learn_Lv + " " + ac + "+"
elsif actor.learn?(@item) == false
text = SKILL_SHOP::Learnt
else
text = SKILL_SHOP::Can_Learn
end
self.contents.draw_text(x, y, 200, WLH, text, 2)
end
#--------------------------------------------------------------------------
def item=(item)
if @item != item
@item = item
refresh
end
end
#--------------------------------------------------------------------------
def update_cursor
if @index < 0
self.cursor_rect.empty
elsif @index < @item_max
y = WLH * (2 + @index * 2)
unless SKILL_SHOP::Show_cha
self.cursor_rect.set(0, y , contents.width, WLH)
else
self.cursor_rect.set(0, y - 4, contents.width,34)
end
end
end
end
#==============================================================================
#class Scene_Skill_Shop
#==============================================================================
class Scene_Skill_Shop < Scene_Base
#--------------------------------------------------------------------------
def start
super
@msk_back1 = Plane.new
@msk_back1.bitmap = Cache.menu("Background")
@msk_lay = Sprite.new
@msk_lay.bitmap = Cache.menu("Shop_lay")
@viewport = Viewport.new(0, 0, 544, 416)
@help_window = Window_Help.new(42,360)
@gold_window = Window_Gold.new(384, -5)
@dummy_window = Window_Base.new(0, 112, 544, 304)
@buy_window = Window_Skill_ShopBuy.new(-10, 140)
@buy_window.active = true
@buy_window.visible = true
@buy_window.help_window = @help_window
@status_window = Window_Skill_ShopStatus.new(275, 128)
@status_window.visible = true
@status_window.active = false
@help_window.opacity = 0
@status_window.opacity = 0
@buy_window.opacity = 0
@gold_window.opacity = 0
@dummy_window.opacity = 0
end
#--------------------------------------------------------------------------
def terminate
super
@help_window.dispose
@gold_window.dispose
@dummy_window.dispose
@buy_window.dispose
@status_window.dispose
end
#--------------------------------------------------------------------------
def update
super
@msk_back1.ox += 1
@help_window.update
@gold_window.update
@dummy_window.update
@buy_window.update
@status_window.update
if @buy_window.active
update_buy_selection
elsif @status_window.active
update_target_selection
end
if Input.trigger?(Input::cool.gif
Sound.play_cancel
$scene = Scene_Map.new
end
end
#--------------------------------------------------------------------------
def update_buy_selection
@status_window.item = @buy_window.skill
if Input.trigger?(Input::cool.gif
Sound.play_cancel
@dummy_window.visible = true
@buy_window.active = false
@buy_window.visible = false
@status_window.visible = false
@status_window.item = nil
return
end
if Input.trigger?(Input::C)
@item = @buy_window.skill
@price = SKILL_SHOP.skill_price(@item.id)
enabled = (@price <= $game_party.gold)
if not enabled
Sound.play_buzzer
else
Sound.play_decision
show_target_window
end
end
end
#--------------------------------------------------------------------------
def update_target_selection
if Input.trigger?(Input::cool.gif
Sound.play_cancel
hide_target_window
elsif Input.trigger?(Input::C)
@actor = $game_party.members[@status_window.index]
can = false
lv = false
can_learn = SKILL_SHOP.skill_buy(@actor.id)
id = @item.id
for i in 0...can_learn.size
if can_learn[i][0] == id
can = true
if can_learn[i][1] <= @actor.level
lv = true
else
lv = false
end
break
else
can = false
end
end
enabled = (can and lv and @actor.learn?(@item))
if not enabled
Sound.play_buzzer
else
learn_target(@item.id)
end
end
end
#--------------------------------------------------------------------------
def learn_target(skill_id)
Sound.play_shop
unless SKILL_SHOP::Wait_Lv_Up
@actor.learn_skill(skill_id)
else
@actor.learn_le_skill(skill_id)
end
$game_party.lose_gold(@price)
@buy_window.refresh
@gold_window.refresh
@status_window.refresh
hide_target_window
end
#--------------------------------------------------------------------------
def show_target_window
@buy_window.active = false
@status_window.active = true
@status_window.index = 0
end
#--------------------------------------------------------------------------
def hide_target_window
@buy_window.active = true
@status_window.active = false
@status_window.index =- 1
end
end

-LoMastul.

This post has been edited by lomastul: Nov 14 2008, 07:19 AM


__________________________
Working On: Tears Of Destiny


Go to the top of the page
 
+Quote Post
   

Posts in this topic
- Selacius   MOG-Styled Menus (Item, Equip & Skills)   Oct 8 2008, 09:11 PM
- - mars111   QUOTE (Selacius @ Oct 8 2008, 09:33 PM) H...   Oct 8 2008, 09:39 PM
- - lomastul   menu and status screens dont need to be converted ...   Oct 9 2008, 01:17 AM
- - Selacius   lomastul yea they did have a lot of bugs. As for t...   Oct 9 2008, 03:02 PM
- - Selacius   So I finished the Equip script although it is goin...   Oct 9 2008, 08:47 PM
- - Selacius   Alright, so I have finished all 3 MOG scripts that...   Oct 10 2008, 09:17 PM
- - Selacius   Alrightie, Its been a while since my last post. Bu...   Oct 19 2008, 04:58 PM
- - Allight   Ummm, this is really awesome but there's a sma...   Oct 19 2008, 06:28 PM
- - prinnydood02   RE: MOG-Styled Menus (Item, Equip & Skills)   Oct 23 2008, 06:56 PM
- - Selacius   What are the problems being experienced with the T...   Oct 23 2008, 08:02 PM
|- - prinnydood02   QUOTE (Selacius @ Oct 23 2008, 09:02 PM) ...   Oct 25 2008, 08:58 PM
- - zolaga   If it becomes with party changing and side view ba...   Oct 26 2008, 08:45 AM
- - Selacius   The reason it doesn't have the Party option is...   Oct 26 2008, 07:54 PM
|- - prinnydood02   QUOTE (Selacius @ Oct 26 2008, 08:54 PM) ...   Oct 27 2008, 01:11 PM
- - Ginbu7   I found a major problem. Wile in battle or when yo...   Nov 12 2008, 11:01 PM
- - the_predator9104   Another thing that isn't a major issue, but wo...   Nov 13 2008, 06:57 PM
- - evil joesph   One problem... when you view the equipment screen,...   Nov 14 2008, 08:39 PM
- - the_predator9104   It gives me a syntax error in line 447   Nov 14 2008, 11:19 PM
- - lomastul   can you specify on which of the script? there atle...   Nov 15 2008, 04:50 AM
- - the_predator9104   I'm pretty sure it's the fix that was just...   Nov 15 2008, 06:45 PM
- - vavalar   could you make a version without the snowfalke tha...   Nov 19 2008, 05:17 PM
- - enix2   all the script really does is look for that image,...   Nov 19 2008, 05:49 PM
- - vavalar   i tried editing the picture but whenever it went i...   Nov 20 2008, 02:49 PM
|- - lomastul   QUOTE (vavalar @ Nov 20 2008, 02:49 PM) i...   Nov 20 2008, 10:16 PM
- - RPGManiac3030   Is this compatible with the Skill Upgrade System b...   Jan 12 2009, 02:39 PM
- - Valnar   Could it be possible to get the Scripts posted,bec...   Jan 13 2009, 07:31 AM
- - FaytSaratome   God I love MOG's scripts they are so beautiful...   Jan 13 2009, 03:30 PM
- - quikster301   QUOTE (evil joesph @ Nov 14 2008, 08:39 P...   Jan 14 2009, 07:08 PM
- - RPGManiac3030   I noticed that if there are too many items in the ...   Jan 17 2009, 03:29 PM
- - kaleygatore   i got a problem when encounter a battle using tank...   Jan 19 2009, 01:22 AM
- - Metamorphoze   please make it compatible with Vlad's Requiem ...   Mar 4 2009, 03:05 PM
- - ninjaheldransom   this is awsome man , this is a great asset to just...   Mar 6 2009, 02:40 PM
- - houtman   is this script support 6 battlers? I have the scri...   Mar 24 2009, 03:01 AM
- - GhostPrince   does anyone knows how to add the materia system sc...   Oct 7 2009, 12:29 PM
- - rikku123123   Um I have the same problem with the save thing.Whe...   Oct 8 2009, 08:18 PM
- - Tierress   QUOTE (RPGManiac3030 @ Jan 18 2009, 06:29...   Oct 9 2009, 04:12 AM
- - Locke   The script looks awesome i,ll take it   Oct 17 2009, 09:56 AM
- - Goth Star Child   Gotta like these menu's. I hope when i start m...   Nov 25 2009, 08:50 PM
- - Xander_koh   QUOTE (Selacius @ Oct 26 2008, 10:54 PM) ...   Feb 4 2010, 12:43 PM
- - Oliverskx   Um my game crashes after I select one of the empty...   Dec 9 2010, 02:56 PM
- - chrismccoy   Okay, there's a very nasty glitch in this. Mor...   Jun 3 2011, 10:03 AM
|- - Aedales   QUOTE (chrismccoy @ Jun 3 2011, 11:03 AM)...   Jun 6 2011, 07:02 PM
|- - chrismccoy   QUOTE (Aedales @ Jun 6 2011, 08:02 PM) QU...   Jun 6 2011, 09:06 PM
- - Kread-EX   @Aedales: Please don't minimod. Use the report...   Jun 7 2011, 12:55 AM
- - incarnum   RE: MOG-Styled Menus (Item, Equip & Skills)   Sep 26 2011, 08:29 PM
|- - incarnum   QUOTE (incarnum @ Sep 26 2011, 08:29 PM) ...   Sep 29 2011, 08:37 PM
- - Toonbob20   Sry, I'm a little new to Rpg Maker, and I...   Nov 4 2011, 04:03 PM
- - hit268   Can someone please help me? I keep getting these e...   Dec 20 2011, 03:58 PM
- - lightspeed15   Can someone reupload this? Sorry for the necro :/   Jul 10 2012, 05:52 PM


Closed TopicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 

Lo-Fi Version Time is now: 25th May 2013 - 01:41 AM
RPG RPG Revolution is an Privacy Policy and Legal
eXTReMe Tracker