iPhone App Directory
RPG Maker VX
 
Gallery Members Search Calendar Help


Welcome Guest ( Log In | Register )

Collapse

>Announcement

Keep an eye out for the upcoming 3rd Quarter Contest!
 
Reply to this topicStart new topic
> Sky's Quest System V. 1.0, Sorry for the delay.
Sky00Valentine
post Jul 25 2010, 04:51 AM
Post #1


Cold Fire
Group Icon


Type: Coder
Alignment: Neutral Good




Sky's Quest System Version 1.0
Created By Sky00Valentine


Introduction
Well this basically is a requested version of a quest script. Though I think it does things most others do.

Features

CODE
Features :
Version 1.0 - (May 27)
- Infinite Amount of Quests
- 2 Category systems working Simultaneously
1. Sorting Quest Type
2. Sorting Quest Progresses
- Can automatically get quest location names
- Can automatically get quest NPC Name
- Still need to be complete List
- Gives Quest Completion
- Skipping or even going back on a task.
- retrying a quest


Updates

None So far

Screenshots





How to use

You need the SAATW Script Located in the demo and here
You also need the resources Blank,Failed,Finished,Ongoing,mini_blank,mini_failed,mini_finished,mini_ongoing,Quest_Borders,Quest_
Background
Quest_Borders and Quest_Background are not needed however without them you won't have background images.
Quest_Borders and Quest_Background can be changed to whatever pics you want just make sure the images are 544x416

CODE
Instructions & Installation
---------------------------
- Place under Materials

- use this script call to call the script:
$scene = Scene_Quest.new

- Set Max_Current_Quests to the number you want shown on the
quest pages to do list.

- Set Return to the Scene you want to go to when you exit
the Quest_Scene.

- Edit you primary Categories by changing the Categories Hash
ex.
category_id => [Category Name, false],
be carefull to leave in the All Category

- Next you should update the Quests_Categories Hash, by adding in
Each of your categories
ex.
Category => [],
be sure to add in all of your categories.

- Lastly add in your Quests, this is the most complicated part, only
until you understand the setup.
ex.

quest_id => [quest_name, status, Category,
quest_information
task 1
task 2
task 3
(task etc.) <=== this just means you can make as many
tasks as you want
last task],

1. Where quest_id is the quests number,
2. Where quest_name is the name of the quest.
3. Where status is do you want to start with this quest when
you start a new game.(true/false)
4. Where Category is the Category you want the quest in.
5. Where quest_information is basically the information
about your quest.
6. Where task is each task you require before the quest is completed.

----- ------------ -------------- ---------- ------------- ------
- Here are the quest commands you can call in game through events.

1. $quest.begin(quest_id,style = 2)
will begin your quest
unless you have already started it. Setting style to
2 will include your quest's npc beginning location and
name. Setting style to 1 will include only the npc's
name. Setting style to 0 will not include either.
(if you want both included you only 'need' to use)
$quest.begin(quest_id)

2. $quest.fail(quest_id)
will list the quest as failed now.

3. $quest.next_task(quest_id)
will move you onto the next task. This is used
to progress in quests.

4. $quest.skip_to_task(quest_id, task)
will skip to a task if the quest is in progress. Set
task to the task you want to be skipped to.

5. $quest.name
will return the quests name.

6. $quest.task_complete?(quest_id, task_number)
will return true if you have completed that task and
false if not.
(this works well for conditional branches.)

7. $quest.quest_complete?(quest_id)
will return true if you
have completed the quest and false if you haven't also
will return false if you failed the mission.

8. $quest.redo(quest_id,task = 1)
will let you redo a quest
or just a task. Set task to the number you want to go
to.
(Only works if you failed.)
(If you want to start all over you only 'need' to have)
$quest.redo(quest_id)

9. $quest.delete_quest(quest_id)
will remove the quest from
your list all together, and you have the chance to begin
again.

10. $quest.current_step(quest_id)
will give you number of the task you are on.

11. $quest.started?(quest_id)
will return true if you are currently doing a quest.
and false otherwise.


Demo

Mediafire

Script

See attatchment

FAQ

Will update as necessary

Bugs & Compatability

No known bugs atm please let me know. This is the first script that I actually began implementing a few error messages. That way it is easier to help a user of this script to figure out what is wrong. So there may be a few things that explain themselves.

Unsure on compatibility but I think it should work.

Credit
Sky00Valentine for making the script
ShadoweD for requesting script here
//mitchi.exe for part of the background

Extra notes


This post has been edited by Sky00Valentine: Jul 25 2010, 05:38 PM
Attached File(s)
Attached File  Quest.txt ( 40.86K ) Number of downloads: 203
 


--------------------
Go to the top of the page
 
+Quote Post
   
Kaimi
post Jul 25 2010, 11:46 AM
Post #2


RPGMakerVX.net's official Seranille lover
Group Icon


Type: Writer
Alignment: Lawful Good




It looks fabulous! I'm going the check it out, when demo will be released. tongue.gif

EDIT: Because the script is too long it can't be scrolling normally from Spoiler: try uploading it on PasteBin, or somethin' like this.

This post has been edited by Kaimi: Jul 25 2010, 11:48 AM


--------------------

Thanks to Kaviator for the signature


My resources
Spoiler:
Go to the top of the page
 
+Quote Post
   
Hoopsnake Games
post Jul 25 2010, 11:54 AM
Post #3


That's how I roll.
Group Icon


Type: Writer
Alignment: Chaotic Evil




Oh. Wow.
If there was ever a system to compete with modernalgebra's great Quest Journal, this is it. You know what? I'm changing my system right now. This is too good to miss.


--------------------
My Project:
Founder of:

which is developing...

I support:



Who am I?
Spoiler:



Go to the top of the page
 
+Quote Post
   
SowS
post Jul 25 2010, 12:17 PM
Post #4


I'm still smiling. My jaw hurts now.
Group Icon


Type: Coder
Alignment: Neutral Good




Try putting it in a .txt file and attach it. wink.gif


--------------------
Go to the top of the page
 
+Quote Post
   
mitchi.exe
post Jul 25 2010, 01:37 PM
Post #5


Welcome to RMVX.net, B*tch
Group Icon


Type: Designer
Alignment: Chaotic Evil




Okay. I think I have to update the bg image. XD


--------------------


Spoiler:

CoA Playable Character Spr completion: 7/13 (~54%)
Spoiler:



Go to the top of the page
 
+Quote Post
   
Hanzo Kimura
post Jul 25 2010, 02:25 PM
Post #6



Group Icon


Type: Artist
Alignment: Lawful Good




Nice one, I'll try this later, and if its good, Look forward for me to use it on my project, and if you don't mind, I might modify your scripts since I'm using a 640x480 Resolution
and might redesign the whole User Interface smile.gif happy.gif two thumbs up


--------------------
Go to the top of the page
 
+Quote Post
   
SowS
post Jul 25 2010, 02:30 PM
Post #7


I'm still smiling. My jaw hurts now.
Group Icon


Type: Coder
Alignment: Neutral Good




I just I remembered that BG image from resource request. biggrin.gif


--------------------
Go to the top of the page
 
+Quote Post
   
Sky00Valentine
post Jul 25 2010, 04:19 PM
Post #8


Cold Fire
Group Icon


Type: Coder
Alignment: Neutral Good




Thanks everyone for your support I am glad you like it. It's my longest script yet. By that I mean I physically typed all the code and thats a lot of lines lol. As for editing the code that is cool with me. I just heard about the resolution thing in any future scripts I will add that compatibility and maybe in fixes.


--------------------
Go to the top of the page
 
+Quote Post
   
SowS
post Jul 25 2010, 10:36 PM
Post #9


I'm still smiling. My jaw hurts now.
Group Icon


Type: Coder
Alignment: Neutral Good




Regarding the resolution, I think you should use Graphics.width and Graphics.height then subtract values or make formulas from that so users don't need to edit the window sizes.


--------------------
Go to the top of the page
 
+Quote Post
   
Lockheart
post Aug 3 2010, 02:37 AM
Post #10



Group Icon


Type: Designer




This is a really good script, and I'm enjoying using it. However if I could make a suggestion, Perhaps some sort of on screen notification? So say you get a new quest or one is updated, a little box appears up in the corner of the screen stating that the quest book/journal has been updated. This way the player would know that its worth looking into the journal for something new rather then looking to see if anything has changed.

Of course this could EASILY be evented to work, but I'm thinking this could be done through the script to allow some more dynamic updates to the quests.
Go to the top of the page
 
+Quote Post
   
Hexagon
post Aug 4 2010, 09:39 AM
Post #11



Group Icon


Type: Designer
Alignment: True Neutral




Could you make this script work with "KGC_CustomMenuCommand"?

the KGC script note that we can creating additional menu commands and adding them into the command menu.

I really want to use your Script but i have no script skill to edit it myself.



KGC_CustomMenuCommand :
Spoiler:
CODE
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/ ◆ Command Menu Customization - KGC_CustomMenuCommand ◆ VX ◆
#_/ ◇ Last Update: 2008/08/28 ◇
#_/ ◆ Translation & Extended Updates by Mr. Anonymous ◆
#_/ ◆ KGC Site: ◆
#_/ ◆ http://f44.aaa.livedoor.jp/~ytomy/tkool/rp...echlist_vx.html
#_/ ◆ Translator's Blog: ◆
#_/ ◆ http://mraprojects.wordpress.com
#_/----------------------------------------------------------------------------
#_/ Installation: This script should be inserted above most custom scripts -
#_/ specifically scripts that add items to the main command menu.
#_/ Insert below KGC_HelpExtension, DrawFormatText, MathReinforce, Win32API,
#_/ LimitBreak, and ScreenCapture.
#_/============================================================================
#_/ This script allows you to customize the order in which items in the main
#_/ command menu are displayed. Also, it extends the ability of easily creating
#_/ additional menu commands and adding them into the command menu, with a
#_/ little scripting skill.
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

#=============================================================================#
# ★ Customization ★ #
#=============================================================================#

module KGC
module CustomMenuCommand
# ◆ Default Menu Items ◆
# Each menu item is assigned a number. These can be rearranged to your liking
# in MENU_COMMANDS.
# 0..Items 1..Skills 2..Equipment 3..Status 4..Save 5..Quit
#
# ◆ KGC Menu Items ◆
# ** If the corresponding scripts are not installed, don't bother with
# using its listed option.
# 10: Party (KGC_LargeParty)
# 11: View AP (KGC_EquipLearnSkill)
# 12: Skill Slots (KGC_SkillCPSystem)
# 13: Difficulty (KGC_BattleDifficulty)
# 14: Level Up (KGC_DistributeParameter)
# 15: Beastiary (KGC_MonsterGuide)
# 16: Outline (KGC_Outline)
# 17: Enu ATB Options (RPG Tankentai Sideview ATB)
#
# ◆ Extra Menu Items ◆
# ** [ExMenu_CustomCommand]
# ** These are for future use for scripters.
# 100: Extra Command 1
# 101: Extra Command 2
# 102: Extra Command 3
# (Up to 199 available slots.)
# ◆ Menu Commands Order ◆
# Arrange your menu commands with the cooresponding number here.
# Example: MENU_COMMANDS = [0, 1, 2, 3, 12, 14, 11, 10, 13, 100, 15, 4, 5]
MENU_COMMANDS = [0, 1, 12, 2, 3, 10, 15, 16, 4, 17, 5]

# ◆ Menu Items Row Maximum ◆
# Designate the amount of command menu items are in use here.
# If there are more menu commands than is designated below, the menu command
# box effectively becomes a scroll box.
ROW_MAX = 11
end
end

#=================================================#
# IMPORT #
#=================================================#

$imported = {} if $imported == nil
$imported["CustomMenuCommand"] = true

#=================================================

module KGC::CustomMenuCommand
# [ExMenu_CustomCommand] definitions
EXMNU_CTCMD_OK = defined?(EXMNU_CTCMD_COMMANDS)
end

#=================================================

#==============================================================================
# □ KGC::Commands
#==============================================================================

module KGC
module Commands
module_function
#--------------------------------------------------------------------------
# ○ Call Item Scene
#--------------------------------------------------------------------------
def call_item
return if $game_temp.in_battle
$game_temp.next_scene = :menu_item
$game_temp.next_scene_actor_index = 0
$game_temp.menu_command_index = {}
end
#--------------------------------------------------------------------------
# ○ Call Skill Scene
# actor_index : Actor index in the database
#--------------------------------------------------------------------------
def call_skill(actor_index = 0)
return if $game_temp.in_battle
$game_temp.next_scene = :menu_skill
$game_temp.next_scene_actor_index = actor_index
$game_temp.menu_command_index = {}
end
#--------------------------------------------------------------------------
# ○ Call Equip Scene
# actor_index : Actor index in the database
#--------------------------------------------------------------------------
def call_equip(actor_index = 0)
return if $game_temp.in_battle
$game_temp.next_scene = :menu_equip
$game_temp.next_scene_actor_index = actor_index
$game_temp.menu_command_index = {}
end
#--------------------------------------------------------------------------
# ○ Call Status Scene
# actor_index : Actor index in the database
#--------------------------------------------------------------------------
def call_status(actor_index = 0)
return if $game_temp.in_battle
$game_temp.next_scene = :menu_status
$game_temp.next_scene_actor_index = actor_index
$game_temp.menu_command_index = {}
end
end
end

#=================================================

class Game_Interpreter
include KGC::Commands
end

#=================================================

#==============================================================================
# ■ Game_Temp
#==============================================================================

class Game_Temp
#--------------------------------------------------------------------------
# ● Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :menu_command_index # Menu Command Index
attr_accessor :next_scene_actor_index # Next Scene (Actor) Index
#--------------------------------------------------------------------------
# ● Initialization
#--------------------------------------------------------------------------
alias initialize_KGC_CustomMenuCommand initialize
def initialize
initialize_KGC_CustomMenuCommand

@menu_command_index = {}
@next_scene_actor_index = 0
end
end

#=================================================

#==============================================================================
# ■ Scene_Map
#==============================================================================

class Scene_Map < Scene_Base
#--------------------------------------------------------------------------
# ● Update Scene Change
#--------------------------------------------------------------------------
alias update_scene_change_KGC_CustomMenuCommand update_scene_change
def update_scene_change
return if $game_player.moving? # Return if the player is in motion.

case $game_temp.next_scene
when :menu_item
call_menu_item
when :menu_skill
call_menu_skill
when :menu_equip
call_menu_equip
when :menu_status
call_menu_status
else
update_scene_change_KGC_CustomMenuCommand
end
end
#--------------------------------------------------------------------------
# ○ Call Item Menu
#--------------------------------------------------------------------------
def call_menu_item
$game_temp.next_scene = nil
$scene = Scene_Item.new
end
#--------------------------------------------------------------------------
# ○ Call Skill Menu
#--------------------------------------------------------------------------
def call_menu_skill
$game_temp.next_scene = nil
$scene = Scene_Skill.new($game_temp.next_scene_actor_index)
$game_temp.next_scene_actor_index = 0
end
#--------------------------------------------------------------------------
# ○ Call Equip Menu
#--------------------------------------------------------------------------
def call_menu_equip
$game_temp.next_scene = nil
$scene = Scene_Equip.new($game_temp.next_scene_actor_index)
$game_temp.next_scene_actor_index = 0
end
#--------------------------------------------------------------------------
# ○ Call Status Scene
#--------------------------------------------------------------------------
def call_menu_status
$game_temp.next_scene = nil
$scene = Scene_Status.new($game_temp.next_scene_actor_index)
$game_temp.next_scene_actor_index = 0
end
end

#=================================================

#==============================================================================
# ■ Scene_Menu
#==============================================================================

class Scene_Menu < Scene_Base
#--------------------------------------------------------------------------
# ● Create Command Window
#--------------------------------------------------------------------------
def create_command_window
commands = create_command_list
@command_window = Window_Command.new(160, commands)
@command_window.height = [@command_window.height,
KGC::CustomMenuCommand::ROW_MAX * Window_Base::WLH + 32].min
@command_window.index = [@menu_index, commands.size - 1].min
set_command_enabled
end
#--------------------------------------------------------------------------
# ○ Create Command List
# Defines command list names for command selections.
#--------------------------------------------------------------------------
def create_command_list
commands = []
index_list = {}
@exmenu_command_scene = {}
@disabled_command_index = []

KGC::CustomMenuCommand::MENU_COMMANDS.each_with_index { |c, i|
case c
when 0 # Item
index_list[:item] = commands.size
commands << Vocab.item
when 1 # Skill
index_list[:skill] = commands.size
commands << Vocab.skill
when 2 # Equip
index_list[:equip] = commands.size
commands << Vocab.equip
when 3 # Status
index_list[:status] = commands.size
commands << Vocab.status
when 4 # Save
index_list[:save] = commands.size
commands << Vocab.save
when 5 # Game End
index_list[:game_end] = commands.size
commands << Vocab.game_end
when 10 # Large Party
next unless $imported["LargeParty"]
index_list[:partyform] = commands.size
@__command_partyform_index = commands.size
commands << Vocab.partyform
when 11 # AP Viewer
next unless $imported["EquipLearnSkill"]
index_list[:ap_viewer] = commands.size
@__command_ap_viewer_index = commands.size
commands << Vocab.ap_viewer
when 12 # CP Skill System
next unless $imported["SkillCPSystem"]
index_list[:set_battle_skill] = commands.size
@__command_set_battle_skill_index = commands.size
commands << Vocab.set_battle_skill
when 13 # Battle Difficulty
next unless $imported["BattleDifficulty"]
index_list[:set_difficulty] = commands.size
@__command_set_difficulty_index = commands.size
commands << KGC::BattleDifficulty.get[:name]
when 14 # Distribute Parameter
next unless $imported["DistributeParameter"]
index_list[:distribute_parameter] = commands.size
@__command_distribute_parameter_index = commands.size
commands << Vocab.distribute_parameter
when 15 # Enemy Guide
next unless $imported["EnemyGuide"]
index_list[:enemy_guide] = commands.size
@__command_enemy_guide_index = commands.size
commands << Vocab.enemy_guide
when 16 # Outline
next unless $imported["Outline"]
index_list[:outline] = commands.size
@__command_outline_index = commands.size
commands << Vocab.outline
when 17 # Enu ATB Options
index_list[:atb_options] = commands.size
commands << N02::ATB_CUSTOMIZE_NAME
when 100..199 # ExMenu_CustomCommand
next unless KGC::CustomMenuCommand::EXMNU_CTCMD_OK # ExMenu Comm enable
excommand = EXMNU_CTCMD_COMMANDS[c - 100] # ExMenu Comm index
unless command_visible?(excommand) || command_inputable?(excommand)
next # Invisible commands
end
index_list[excommand[2]] = commands.size
commands << excommand[2]
@exmenu_command_scene[excommand[2]] = excommand[3]
end
}
$game_temp.menu_command_index = index_list
return commands
end
#--------------------------------------------------------------------------
# ○ Set Command Enabled
#--------------------------------------------------------------------------
def set_command_enabled
disable_items = []
# If Party Members = 0, disable buttons.
if $game_party.members.size == 0
disable_items.push(:item, :skill, :equip, :status, :partyform,
:ap_viewer, :set_battle_skill, :distribute_parameter)
end
# Disable save
if $game_system.save_disabled
disable_items.push(:save)
end

# Disable partyform
if $imported["LargeParty"] && !$game_party.partyform_enable?
disable_items.push(:partyform)
end

# [ExMenu_CustomCommand] disablement
if KGC::CustomMenuCommand::EXMNU_CTCMD_OK
disable_items += get_exmenu_disable_commands
end

# Set up disabled items
disable_items.each { |i|
if $game_temp.menu_command_index.has_key?(i)
index = $game_temp.menu_command_index[i]
@command_window.draw_item(index, false)
@disabled_command_index << index
end
}
end
#--------------------------------------------------------------------------
# ○ Obtain Disabled [ExMenu_CustomCommand] Commands
#--------------------------------------------------------------------------
def get_exmenu_disable_commands
disable_items = []
$game_temp.menu_command_index.each { |k, v|
next unless k.is_a?(String)
# Assign commands
command = EXMNU_CTCMD_COMMANDS.find { |c| c[2] == k }
next if command == nil
# Disable commands
unless command_inputable?(command)
disable_items.push(k)
end
}
return disable_items
end
#--------------------------------------------------------------------------
# ● Update Command Selection
#--------------------------------------------------------------------------
def update_command_selection
if Input.trigger?(Input::cool.gif
Sound.play_cancel
$scene = Scene_Map.new
elsif Input.trigger?(Input::C)
index = @command_window.index
unless command_enabled?(index) # Unless Command is enabled, cancel
Sound.play_buzzer
return
end
Sound.play_decision

# [ExMenu_CustomCommand]
excommand = nil
if KGC::CustomMenuCommand::EXMNU_CTCMD_OK
excommand = @command_window.commands[index]
end

# Set up @command_window.index
case index
when $game_temp.menu_command_index[:item] # Item
$scene = Scene_Item.new
when $game_temp.menu_command_index[:skill], # Skill, equip, status
$game_temp.menu_command_index[:equip],
$game_temp.menu_command_index[:status]
start_actor_selection
when $game_temp.menu_command_index[:save] # Save
$scene = Scene_File.new(true, false, false)
when $game_temp.menu_command_index[:game_end] # Game End
$scene = Scene_End.new
when $game_temp.menu_command_index[:atb_options]
$scene = Scene_ATB.new
when $game_temp.menu_command_index[excommand] # [ExMenu_CustomCommand]
$game_party.last_menu_index = index
$scene = eval("#{@exmenu_command_scene[excommand]}.new")
end
end
end
#--------------------------------------------------------------------------
# ○ Command Enabled Flag
# index : command_window index
#--------------------------------------------------------------------------
def command_enabled?(index)
# Save
if $game_system.save_disabled &&
index == $game_temp.menu_command_index[:save]
return false
end

# [ExMenu_CustomCommand]
if KGC::CustomMenuCommand::EXMNU_CTCMD_OK
command = @command_window.commands[index]
if @disabled_command_index.include?($game_temp.menu_command_index[command])
return false
end
end

# Disable commands if party size = 0
if $game_party.members.size == 0 &&
@disabled_command_index.include?(index)
return false
end

return true
end
#--------------------------------------------------------------------------
# ● Update Actor Selection
#--------------------------------------------------------------------------
def update_actor_selection
if Input.trigger?(Input::cool.gif
Sound.play_cancel
end_actor_selection
elsif Input.trigger?(Input::C)
$game_party.last_actor_index = @status_window.index
Sound.play_decision

case @command_window.index
when $game_temp.menu_command_index[:skill] # Skill
$scene = Scene_Skill.new(@status_window.index)
when $game_temp.menu_command_index[:equip] # Equip
$scene = Scene_Equip.new(@status_window.index)
when $game_temp.menu_command_index[:status] # Status
$scene = Scene_Status.new(@status_window.index)
end
end
end
end

#=================================================

#==============================================================================
# ■ Scene_Item
#==============================================================================

class Scene_Item < Scene_Base
#--------------------------------------------------------------------------
# ● Return Scene
#--------------------------------------------------------------------------
def return_scene
if $game_temp.menu_command_index.has_key?(:item)
$scene = Scene_Menu.new($game_temp.menu_command_index[:item])
else
$scene = Scene_Map.new
end
end
end

#=================================================

#==============================================================================
# ■ Scene_Skill
#==============================================================================

class Scene_Skill < Scene_Base
#--------------------------------------------------------------------------
# ● Return Scene
#--------------------------------------------------------------------------
def return_scene
if $game_temp.menu_command_index.has_key?(:skill)
$scene = Scene_Menu.new($game_temp.menu_command_index[:skill])
else
$scene = Scene_Map.new
end
end
end

#=================================================

#==============================================================================
# ■ Scene_Equip
#==============================================================================

class Scene_Equip < Scene_Base
#--------------------------------------------------------------------------
# ● Return Scene
#--------------------------------------------------------------------------
def return_scene
if $game_temp.menu_command_index.has_key?(:equip)
$scene = Scene_Menu.new($game_temp.menu_command_index[:equip])
else
$scene = Scene_Map.new
end
end
end

#=================================================

#==============================================================================
# ■ Scene_Status
#==============================================================================

class Scene_Status < Scene_Base
#--------------------------------------------------------------------------
# ● Return Scene
#--------------------------------------------------------------------------
def return_scene
if $game_temp.menu_command_index.has_key?(:status)
$scene = Scene_Menu.new($game_temp.menu_command_index[:status])
else
$scene = Scene_Map.new
end
end
end

#=================================================

#==============================================================================
# ■ Scene_File
#==============================================================================

class Scene_File < Scene_Base
#--------------------------------------------------------------------------
# ● Return Scene
#--------------------------------------------------------------------------
alias return_scene_KGC_CustomMenuCommand return_scene
def return_scene
if @from_title || @from_event
return_scene_KGC_CustomMenuCommand
elsif $game_temp.menu_command_index.has_key?(:save)
$scene = Scene_Menu.new($game_temp.menu_command_index[:save])
else
$scene = Scene_Map.new
end
end
end

#=================================================

#==============================================================================
# ■ Scene_End
#==============================================================================

class Scene_End < Scene_Base
#--------------------------------------------------------------------------
# ● Return Scene
#--------------------------------------------------------------------------
def return_scene
if $game_temp.menu_command_index.has_key?(:game_end)
$scene = Scene_Menu.new($game_temp.menu_command_index[:game_end])
else
$scene = Scene_Map.new
end
end
end

class Scene_ATB < Scene_Base # Enu ATB
def return_scene
$scene = Scene_Menu.new($game_temp.menu_command_index[:atb_options])
end
end




--------------------
Darkness is not the only thing that surrounds you

New Version Now Release!!
Let's Roll !!

Dance with Vocaloid! [Soon!]
Go to the top of the page
 
+Quote Post
   
Sky00Valentine
post Aug 4 2010, 09:47 AM
Post #12


Cold Fire
Group Icon


Type: Coder
Alignment: Neutral Good




QUOTE (Hexagon @ Aug 4 2010, 05:39 AM) *
Could you make this script work with "KGC_CustomMenuCommand"?

the KGC script note that we can creating additional menu commands and adding them into the command menu.

I really want to use your Script but i have no script skill to edit it myself.



KGC_CustomMenuCommand :
Spoiler:
CODE
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/ ◆ Command Menu Customization - KGC_CustomMenuCommand ◆ VX ◆
#_/ ◇ Last Update: 2008/08/28 ◇
#_/ ◆ Translation & Extended Updates by Mr. Anonymous ◆
#_/ ◆ KGC Site: ◆
#_/ ◆ http://f44.aaa.livedoor.jp/~ytomy/tkool/rp...echlist_vx.html
#_/ ◆ Translator's Blog: ◆
#_/ ◆ http://mraprojects.wordpress.com
#_/----------------------------------------------------------------------------
#_/ Installation: This script should be inserted above most custom scripts -
#_/ specifically scripts that add items to the main command menu.
#_/ Insert below KGC_HelpExtension, DrawFormatText, MathReinforce, Win32API,
#_/ LimitBreak, and ScreenCapture.
#_/============================================================================
#_/ This script allows you to customize the order in which items in the main
#_/ command menu are displayed. Also, it extends the ability of easily creating
#_/ additional menu commands and adding them into the command menu, with a
#_/ little scripting skill.
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

#=============================================================================#
# ★ Customization ★ #
#=============================================================================#

module KGC
module CustomMenuCommand
# ◆ Default Menu Items ◆
# Each menu item is assigned a number. These can be rearranged to your liking
# in MENU_COMMANDS.
# 0..Items 1..Skills 2..Equipment 3..Status 4..Save 5..Quit
#
# ◆ KGC Menu Items ◆
# ** If the corresponding scripts are not installed, don't bother with
# using its listed option.
# 10: Party (KGC_LargeParty)
# 11: View AP (KGC_EquipLearnSkill)
# 12: Skill Slots (KGC_SkillCPSystem)
# 13: Difficulty (KGC_BattleDifficulty)
# 14: Level Up (KGC_DistributeParameter)
# 15: Beastiary (KGC_MonsterGuide)
# 16: Outline (KGC_Outline)
# 17: Enu ATB Options (RPG Tankentai Sideview ATB)
#
# ◆ Extra Menu Items ◆
# ** [ExMenu_CustomCommand]
# ** These are for future use for scripters.
# 100: Extra Command 1
# 101: Extra Command 2
# 102: Extra Command 3
# (Up to 199 available slots.)
# ◆ Menu Commands Order ◆
# Arrange your menu commands with the cooresponding number here.
# Example: MENU_COMMANDS = [0, 1, 2, 3, 12, 14, 11, 10, 13, 100, 15, 4, 5]
MENU_COMMANDS = [0, 1, 12, 2, 3, 10, 15, 16, 4, 17, 5]

# ◆ Menu Items Row Maximum ◆
# Designate the amount of command menu items are in use here.
# If there are more menu commands than is designated below, the menu command
# box effectively becomes a scroll box.
ROW_MAX = 11
end
end

#=================================================#
# IMPORT #
#=================================================#

$imported = {} if $imported == nil
$imported["CustomMenuCommand"] = true

#=================================================

module KGC::CustomMenuCommand
# [ExMenu_CustomCommand] definitions
EXMNU_CTCMD_OK = defined?(EXMNU_CTCMD_COMMANDS)
end

#=================================================

#==============================================================================
# □ KGC::Commands
#==============================================================================

module KGC
module Commands
module_function
#--------------------------------------------------------------------------
# ○ Call Item Scene
#--------------------------------------------------------------------------
def call_item
return if $game_temp.in_battle
$game_temp.next_scene = :menu_item
$game_temp.next_scene_actor_index = 0
$game_temp.menu_command_index = {}
end
#--------------------------------------------------------------------------
# ○ Call Skill Scene
# actor_index : Actor index in the database
#--------------------------------------------------------------------------
def call_skill(actor_index = 0)
return if $game_temp.in_battle
$game_temp.next_scene = :menu_skill
$game_temp.next_scene_actor_index = actor_index
$game_temp.menu_command_index = {}
end
#--------------------------------------------------------------------------
# ○ Call Equip Scene
# actor_index : Actor index in the database
#--------------------------------------------------------------------------
def call_equip(actor_index = 0)
return if $game_temp.in_battle
$game_temp.next_scene = :menu_equip
$game_temp.next_scene_actor_index = actor_index
$game_temp.menu_command_index = {}
end
#--------------------------------------------------------------------------
# ○ Call Status Scene
# actor_index : Actor index in the database
#--------------------------------------------------------------------------
def call_status(actor_index = 0)
return if $game_temp.in_battle
$game_temp.next_scene = :menu_status
$game_temp.next_scene_actor_index = actor_index
$game_temp.menu_command_index = {}
end
end
end

#=================================================

class Game_Interpreter
include KGC::Commands
end

#=================================================

#==============================================================================
# ■ Game_Temp
#==============================================================================

class Game_Temp
#--------------------------------------------------------------------------
# ● Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :menu_command_index # Menu Command Index
attr_accessor :next_scene_actor_index # Next Scene (Actor) Index
#--------------------------------------------------------------------------
# ● Initialization
#--------------------------------------------------------------------------
alias initialize_KGC_CustomMenuCommand initialize
def initialize
initialize_KGC_CustomMenuCommand

@menu_command_index = {}
@next_scene_actor_index = 0
end
end

#=================================================

#==============================================================================
# ■ Scene_Map
#==============================================================================

class Scene_Map < Scene_Base
#--------------------------------------------------------------------------
# ● Update Scene Change
#--------------------------------------------------------------------------
alias update_scene_change_KGC_CustomMenuCommand update_scene_change
def update_scene_change
return if $game_player.moving? # Return if the player is in motion.

case $game_temp.next_scene
when :menu_item
call_menu_item
when :menu_skill
call_menu_skill
when :menu_equip
call_menu_equip
when :menu_status
call_menu_status
else
update_scene_change_KGC_CustomMenuCommand
end
end
#--------------------------------------------------------------------------
# ○ Call Item Menu
#--------------------------------------------------------------------------
def call_menu_item
$game_temp.next_scene = nil
$scene = Scene_Item.new
end
#--------------------------------------------------------------------------
# ○ Call Skill Menu
#--------------------------------------------------------------------------
def call_menu_skill
$game_temp.next_scene = nil
$scene = Scene_Skill.new($game_temp.next_scene_actor_index)
$game_temp.next_scene_actor_index = 0
end
#--------------------------------------------------------------------------
# ○ Call Equip Menu
#--------------------------------------------------------------------------
def call_menu_equip
$game_temp.next_scene = nil
$scene = Scene_Equip.new($game_temp.next_scene_actor_index)
$game_temp.next_scene_actor_index = 0
end
#--------------------------------------------------------------------------
# ○ Call Status Scene
#--------------------------------------------------------------------------
def call_menu_status
$game_temp.next_scene = nil
$scene = Scene_Status.new($game_temp.next_scene_actor_index)
$game_temp.next_scene_actor_index = 0
end
end

#=================================================

#==============================================================================
# ■ Scene_Menu
#==============================================================================

class Scene_Menu < Scene_Base
#--------------------------------------------------------------------------
# ● Create Command Window
#--------------------------------------------------------------------------
def create_command_window
commands = create_command_list
@command_window = Window_Command.new(160, commands)
@command_window.height = [@command_window.height,
KGC::CustomMenuCommand::ROW_MAX * Window_Base::WLH + 32].min
@command_window.index = [@menu_index, commands.size - 1].min
set_command_enabled
end
#--------------------------------------------------------------------------
# ○ Create Command List
# Defines command list names for command selections.
#--------------------------------------------------------------------------
def create_command_list
commands = []
index_list = {}
@exmenu_command_scene = {}
@disabled_command_index = []

KGC::CustomMenuCommand::MENU_COMMANDS.each_with_index { |c, i|
case c
when 0 # Item
index_list[:item] = commands.size
commands << Vocab.item
when 1 # Skill
index_list[:skill] = commands.size
commands << Vocab.skill
when 2 # Equip
index_list[:equip] = commands.size
commands << Vocab.equip
when 3 # Status
index_list[:status] = commands.size
commands << Vocab.status
when 4 # Save
index_list[:save] = commands.size
commands << Vocab.save
when 5 # Game End
index_list[:game_end] = commands.size
commands << Vocab.game_end
when 10 # Large Party
next unless $imported["LargeParty"]
index_list[:partyform] = commands.size
@__command_partyform_index = commands.size
commands << Vocab.partyform
when 11 # AP Viewer
next unless $imported["EquipLearnSkill"]
index_list[:ap_viewer] = commands.size
@__command_ap_viewer_index = commands.size
commands << Vocab.ap_viewer
when 12 # CP Skill System
next unless $imported["SkillCPSystem"]
index_list[:set_battle_skill] = commands.size
@__command_set_battle_skill_index = commands.size
commands << Vocab.set_battle_skill
when 13 # Battle Difficulty
next unless $imported["BattleDifficulty"]
index_list[:set_difficulty] = commands.size
@__command_set_difficulty_index = commands.size
commands << KGC::BattleDifficulty.get[:name]
when 14 # Distribute Parameter
next unless $imported["DistributeParameter"]
index_list[:distribute_parameter] = commands.size
@__command_distribute_parameter_index = commands.size
commands << Vocab.distribute_parameter
when 15 # Enemy Guide
next unless $imported["EnemyGuide"]
index_list[:enemy_guide] = commands.size
@__command_enemy_guide_index = commands.size
commands << Vocab.enemy_guide
when 16 # Outline
next unless $imported["Outline"]
index_list[:outline] = commands.size
@__command_outline_index = commands.size
commands << Vocab.outline
when 17 # Enu ATB Options
index_list[:atb_options] = commands.size
commands << N02::ATB_CUSTOMIZE_NAME
when 100..199 # ExMenu_CustomCommand
next unless KGC::CustomMenuCommand::EXMNU_CTCMD_OK # ExMenu Comm enable
excommand = EXMNU_CTCMD_COMMANDS[c - 100] # ExMenu Comm index
unless command_visible?(excommand) || command_inputable?(excommand)
next # Invisible commands
end
index_list[excommand[2]] = commands.size
commands << excommand[2]
@exmenu_command_scene[excommand[2]] = excommand[3]
end
}
$game_temp.menu_command_index = index_list
return commands
end
#--------------------------------------------------------------------------
# ○ Set Command Enabled
#--------------------------------------------------------------------------
def set_command_enabled
disable_items = []
# If Party Members = 0, disable buttons.
if $game_party.members.size == 0
disable_items.push(:item, :skill, :equip, :status, :partyform,
:ap_viewer, :set_battle_skill, :distribute_parameter)
end
# Disable save
if $game_system.save_disabled
disable_items.push(:save)
end

# Disable partyform
if $imported["LargeParty"] && !$game_party.partyform_enable?
disable_items.push(:partyform)
end

# [ExMenu_CustomCommand] disablement
if KGC::CustomMenuCommand::EXMNU_CTCMD_OK
disable_items += get_exmenu_disable_commands
end

# Set up disabled items
disable_items.each { |i|
if $game_temp.menu_command_index.has_key?(i)
index = $game_temp.menu_command_index[i]
@command_window.draw_item(index, false)
@disabled_command_index << index
end
}
end
#--------------------------------------------------------------------------
# ○ Obtain Disabled [ExMenu_CustomCommand] Commands
#--------------------------------------------------------------------------
def get_exmenu_disable_commands
disable_items = []
$game_temp.menu_command_index.each { |k, v|
next unless k.is_a?(String)
# Assign commands
command = EXMNU_CTCMD_COMMANDS.find { |c| c[2] == k }
next if command == nil
# Disable commands
unless command_inputable?(command)
disable_items.push(k)
end
}
return disable_items
end
#--------------------------------------------------------------------------
# ● Update Command Selection
#--------------------------------------------------------------------------
def update_command_selection
if Input.trigger?(Input::cool.gif
Sound.play_cancel
$scene = Scene_Map.new
elsif Input.trigger?(Input::C)
index = @command_window.index
unless command_enabled?(index) # Unless Command is enabled, cancel
Sound.play_buzzer
return
end
Sound.play_decision

# [ExMenu_CustomCommand]
excommand = nil
if KGC::CustomMenuCommand::EXMNU_CTCMD_OK
excommand = @command_window.commands[index]
end

# Set up @command_window.index
case index
when $game_temp.menu_command_index[:item] # Item
$scene = Scene_Item.new
when $game_temp.menu_command_index[:skill], # Skill, equip, status
$game_temp.menu_command_index[:equip],
$game_temp.menu_command_index[:status]
start_actor_selection
when $game_temp.menu_command_index[:save] # Save
$scene = Scene_File.new(true, false, false)
when $game_temp.menu_command_index[:game_end] # Game End
$scene = Scene_End.new
when $game_temp.menu_command_index[:atb_options]
$scene = Scene_ATB.new
when $game_temp.menu_command_index[excommand] # [ExMenu_CustomCommand]
$game_party.last_menu_index = index
$scene = eval("#{@exmenu_command_scene[excommand]}.new")
end
end
end
#--------------------------------------------------------------------------
# ○ Command Enabled Flag
# index : command_window index
#--------------------------------------------------------------------------
def command_enabled?(index)
# Save
if $game_system.save_disabled &&
index == $game_temp.menu_command_index[:save]
return false
end

# [ExMenu_CustomCommand]
if KGC::CustomMenuCommand::EXMNU_CTCMD_OK
command = @command_window.commands[index]
if @disabled_command_index.include?($game_temp.menu_command_index[command])
return false
end
end

# Disable commands if party size = 0
if $game_party.members.size == 0 &&
@disabled_command_index.include?(index)
return false
end

return true
end
#--------------------------------------------------------------------------
# ● Update Actor Selection
#--------------------------------------------------------------------------
def update_actor_selection
if Input.trigger?(Input::cool.gif
Sound.play_cancel
end_actor_selection
elsif Input.trigger?(Input::C)
$game_party.last_actor_index = @status_window.index
Sound.play_decision

case @command_window.index
when $game_temp.menu_command_index[:skill] # Skill
$scene = Scene_Skill.new(@status_window.index)
when $game_temp.menu_command_index[:equip] # Equip
$scene = Scene_Equip.new(@status_window.index)
when $game_temp.menu_command_index[:status] # Status
$scene = Scene_Status.new(@status_window.index)
end
end
end
end

#=================================================

#==============================================================================
# ■ Scene_Item
#==============================================================================

class Scene_Item < Scene_Base
#--------------------------------------------------------------------------
# ● Return Scene
#--------------------------------------------------------------------------
def return_scene
if $game_temp.menu_command_index.has_key?(:item)
$scene = Scene_Menu.new($game_temp.menu_command_index[:item])
else
$scene = Scene_Map.new
end
end
end

#=================================================

#==============================================================================
# ■ Scene_Skill
#==============================================================================

class Scene_Skill < Scene_Base
#--------------------------------------------------------------------------
# ● Return Scene
#--------------------------------------------------------------------------
def return_scene
if $game_temp.menu_command_index.has_key?(:skill)
$scene = Scene_Menu.new($game_temp.menu_command_index[:skill])
else
$scene = Scene_Map.new
end
end
end

#=================================================

#==============================================================================
# ■ Scene_Equip
#==============================================================================

class Scene_Equip < Scene_Base
#--------------------------------------------------------------------------
# ● Return Scene
#--------------------------------------------------------------------------
def return_scene
if $game_temp.menu_command_index.has_key?(:equip)
$scene = Scene_Menu.new($game_temp.menu_command_index[:equip])
else
$scene = Scene_Map.new
end
end
end

#=================================================

#==============================================================================
# ■ Scene_Status
#==============================================================================

class Scene_Status < Scene_Base
#--------------------------------------------------------------------------
# ● Return Scene
#--------------------------------------------------------------------------
def return_scene
if $game_temp.menu_command_index.has_key?(:status)
$scene = Scene_Menu.new($game_temp.menu_command_index[:status])
else
$scene = Scene_Map.new
end
end
end

#=================================================

#==============================================================================
# ■ Scene_File
#==============================================================================

class Scene_File < Scene_Base
#--------------------------------------------------------------------------
# ● Return Scene
#--------------------------------------------------------------------------
alias return_scene_KGC_CustomMenuCommand return_scene
def return_scene
if @from_title || @from_event
return_scene_KGC_CustomMenuCommand
elsif $game_temp.menu_command_index.has_key?(:save)
$scene = Scene_Menu.new($game_temp.menu_command_index[:save])
else
$scene = Scene_Map.new
end
end
end

#=================================================

#==============================================================================
# ■ Scene_End
#==============================================================================

class Scene_End < Scene_Base
#--------------------------------------------------------------------------
# ● Return Scene
#--------------------------------------------------------------------------
def return_scene
if $game_temp.menu_command_index.has_key?(:game_end)
$scene = Scene_Menu.new($game_temp.menu_command_index[:game_end])
else
$scene = Scene_Map.new
end
end
end

class Scene_ATB < Scene_Base # Enu ATB
def return_scene
$scene = Scene_Menu.new($game_temp.menu_command_index[:atb_options])
end
end



If this script works the way I think it does you have to do this yourself, its not a question of compatibility.


--------------------
Go to the top of the page
 
+Quote Post
   
new
post Aug 4 2010, 03:48 PM
Post #13



Group Icon


Type: Designer
Alignment: Chaotic Evil




impressive


--------------------
download here
(Ask before using a bar from someone's sig -Touchfuzzy)
Go to the top of the page
 
+Quote Post
   
Edelle1
post Aug 16 2011, 12:22 PM
Post #14



Group Icon


Type: Undisclosed




Hi
The scirpt works very well and I've made a good amount of quests with ease because of it.
However, when I save a game and reload it, the current quests will dissapear entirley from the menu, as if they were never started!
Do you know a way to fix this?
Go to the top of the page
 
+Quote Post
   
Giorgio141995
post Mar 18 2012, 05:36 PM
Post #15



Group Icon


Type: Musician




...and if i want to add a task? not on the script but on a call script? ( i'm sorry i'm not english)
Go to the top of the page
 
+Quote Post
   
Regless
post Oct 1 2012, 07:40 AM
Post #16


That one guy... You know the one.
Group Icon


Type: Artist
Alignment: Chaotic Evil




QUOTE (Edelle1 @ Aug 16 2011, 07:22 AM) *
Hi
The scirpt works very well and I've made a good amount of quests with ease because of it.
However, when I save a game and reload it, the current quests will dissapear entirley from the menu, as if they were never started!
Do you know a way to fix this?

Did you ever figure that out? I'm trying to work around it myself right now but I keep hitting dead ends. doesn't even work on the demo even though every scripting tutorial and diagram says it should. Plus the lack of other people having an issue kinda makes me wonder what's up. so I'm just going through everything I can.

This post has been edited by Regless: Oct 1 2012, 09:24 AM
Go to the top of the page
 
+Quote Post
   
jesse120
post Oct 4 2012, 04:50 PM
Post #17


Master Eventer, Novice scripter, pathetic spriter
Group Icon


Type: Designer
Alignment: Chaotic Good




I would like to request an update. Could you make it so when you complete a stage of a quest ($quest.stage_complete(quest_id, stage_number). It would be nice if it was greyed out(quest step) or check marked or striked through (quest stage)

This post has been edited by jesse120: Oct 4 2012, 04:55 PM


--------------------
I might not post anything for a while, but I am still here, watching. You may not see me, but I see you.
Still taking event requests. Still watching topics. I will see comments to my posts and respond.
I will probably not update any of my scripts for a while.

I have not gone!!!

Spoiler:

Master eventer
Need an unusual event call me and i might be able to make it
ex vehicle, pet
search number
I do take event requests
search number 10519195120
Please don't put this number on any of your own posts or topics
note: the search number will be on any post I make to aid in searching by author. If I forget to put it on a topic please notify me.

I will try to check any posts/PMs around 7:30 AM, 3:00 PM, and after 6 PM most days (time in Pacific Time)

The ultimate video game

Legend of, Elder, Fear, of Fabled, Fallout, Call, of Modern, Gears, of Halo, Metal, Ghost, Assassin, Mass, Homicide, Fantasy, 5
That stands for
Legend of Zelda, Elder Scrolls, ?????, Fable, Fallout, Call of Duty, Modern Warfare, Gears of War, Halo, Metal Gears, Ghost Recon, Assassin's Creed, Mass Effect, Auto Homicide, Final Fantasy, 5
Let me know if you want a game added to the list

If you are a believer of Jesus Christ, believe he is the only way to heaven, and are 100% proud of it, put this in your sig.
Go to the top of the page
 
+Quote Post
   
Amycha
post Oct 5 2012, 10:54 PM
Post #18



Group Icon


Type: Undisclosed
Alignment: Unaligned




Been working with this now and I'm sure to say I love this...
Though, I kept getting errors because I forgot to use comma's dry.gif

Ah, well...

Would you please make an option so that people who don't need categories can choose if categories are on/off and thus shown or not??
I got this error because I deleted all user-defined categories. But actually, I only need about 1 category. Solved it by making one Main and one Side...

So, don't care that much, just might be useful sleep.gif


--------------------
Go to the top of the page
 
+Quote Post
   
ShinGamix
post Oct 6 2012, 03:36 AM
Post #19


...now loading...
Group Icon


Type: Designer
Alignment: Unaligned




I can't wait to put this to good use.


--------------------
The Maker of Battle Dungeons!!


 

Go to the top of the page
 
+Quote Post
   
Arlic von Vaelli
post Oct 13 2012, 12:20 AM
Post #20


The Legendary Engineer!
Group Icon


Type: Spriter
Alignment: Neutral Good




Would you be able to make a version of the script that's fit for games with 640x480 resolution?


--------------------
~Arlic von Vaelli



Check out my RPG here!
Epoch de Valeria: Transcendent Wings


Excerpt of an everyday conversation:

Arlic: *munch munch*
Brian: Hey there, what are you up to?
Arlic: I'm feasting on the disfigured corpses of the damned.
Brian: I see.
Brian: So do all disfigured corpses of the damned look like apples?
Arlic: ...
Arlic: Totally.
Go to the top of the page
 
+Quote Post
   

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 

Lo-Fi Version Time is now: 24th July 2014 - 01:26 AM

RPGMakerVX.net is an Privacy Policy, Legal.