Jump to content
New account registrations are disabed. This website is now an archive. Read more here.
  • 0
Sign in to follow this  
Guest

An error and a question. :)

Question

Guest

Hi its me again and i have a problem and a question :P

 

I use leons menu script but i cannot get it to work =/

I created a new quest and then set the comment in an event: $game_party.mission["0"] = 2 but nothing happens in the menu.

 

ill paste the script down here...

btw please scroll down after this there is another question xD

 

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

# Leon's Mission Script v2.0

#----------------------------------------------------------------------

# 2006-09-22

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

=begin

Description:

I did a drastic overhaul on this Mission/Quest script to make it much better and user friendly.

 

Features:

There is 2 new features:

1. If the user doesn't know of the mission, it doesn't appear in the list, nor does a slot for it.

2. Completed missions are in green.

3. Number of missions. (X/Y) X is completed missions, Y can be either known missions,

or your game's total missions. Set Mission_Setup to 'true' if you want known missions,

false for total.

 

Instructions:

Put it above main.

 

The instructions have changed alot more than the features. Just go through

the short list below, and you'll know. Just remember, go in order, and if you have 10

different missions in 1 spot, you must have the same number in each other segment

of the module, with the exception of the lines of text. (Yes, i made that one all the easier.)

 

Changing the status of the missions is different than before as well.

 

$game_party.mission[mission_id] = x

 

Mission ID: The ID of the mission, as defined in the module. In this example,

"Lost Cat" would be 0

 

X:

1 = they do not know the mission exists. This is optional, unless they forget a mission.

2 = they know the mission, but it is incomplete

3 = the mission is complete.

 

BY DEFAULT, ALL MISSIONS ARE UNKNOWN unless specified in the script before the game begins.

 

Do NOT post my work in any other forums without my permission, and NEVER take credit

for my work.

=end

 

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

# ** Mission_Menu

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

module Mission_Menu

#--------------------------------------------------------------------

# * Mission Name- Write the mission number, and the name you want to appear.

# ~ mission_id => "mission name"

#--------------------------------------------------------------------

Mission_Name = {

0 => "To Breanor!",

1 => "Old Blade",

2 => "Seize Sentries",

3 => "Hidden Heirloom",

4 => "A Gooey Mess.",

5 => "Hidden Horror"

}

#--------------------------------------------------------------------

# * Mission_Sprite. holds data on the name of the sprite, it's hue, name, locale, and

# * reward all in one.

# ~ mission_id => ["sprite name", hue, name, location, Reward]

#--------------------------------------------------------------------

Mission_Sprite = {

0 => ["022-Hunter03", 0, "Alexis", "Howling Hills", "None"],

1 => ["005-Fighter05", 0, "L'eric", "Logres", "Rusty Sword"],

2 => ["002-Fighter02", 0, "Wallace", "Resistance H.Q.", "500 Gold"],

3 => ["122-Civilian22", 30, "Old Woman", "Cyris Home", "Sound Effect"],

4 => ["011-Lancer03", 0, "Soldier", "Cyris Barracks", "Kite Shield"],

5 => ["006-Fighter06", 0, "Lady", "Cyris", "Lion's Head Earring"]

}

#--------------------------------------------------------------------

# * Defines the mission. Remember, if it is too long for 1 line, you can drop it

# * down to line 2.

# ~ mission_id => "Line One"

#--------------------------------------------------------------------

Mission_L1 = {

0 => "You have met with Alexis. She asked to travel",

1 => "Somebody said they saw L'eric's blade",

2 => "Head north toward enemy territory, and",

3 => "Seek out the caverns south of Cyris. There",

4 => "A monster to the west of the town every",

5 => "Somewhere in the Belin Caverns, there is a"

}

#--------------------------------------------------------------------

# * Same as the above one.

# ~ mission_id => "Line Two"

#--------------------------------------------------------------------

Mission_L2 = {

0 => "with you to Breanor",

1 => "just south of here by the river. He ",

2 => "capture two sentry towers. Be careful ",

3 => "you will find a blue chest. Retrieve its",

4 => "now and then terrorizes the caravans.",

5 => "creature holding an item the lady in"

}

#--------------------------------------------------------------------

# * Same as the above one.

# ~ mission_id => "Line Three"

#--------------------------------------------------------------------

Mission_L3 = {

1 => "wants Will to confirm the story, and",

2 => "and don't get caught. Return to Wallace",

3 => "contents and bring it back to the old",

4 => "A soldier in the barracks has asked you",

5 => "Cyris is looking for. She said the monster"

}

#--------------------------------------------------------------------

# * Same as the above one.

# ~ mission_id => "Line Four"

#--------------------------------------------------------------------

Mission_L4 = {

1 => "if it is true, bring back the sword.",

2 => "once this job is complete.",

3 => "woman.",

4 => "to exterminate it.",

5 => "would be hiding."

}

#--------------------------------------------------------------------

# * Same as the above one.

# ~ mission_id => "Line Five"

#--------------------------------------------------------------------

Mission_L5 = {

}

#--------------------------------------------------------------------

# * Same as the above one.

# ~ mission_id => "Line Six"

#--------------------------------------------------------------------

Mission_L6 = {

}

#--------------------------------------------------------------------

# * Same as the above one.

# ~ mission_id => "Line Seven"

#--------------------------------------------------------------------

Mission_L7 = {

}

#--------------------------------------------------------------------

# * Same as the above one.

# ~ mission_id => "Line Eight"

#--------------------------------------------------------------------

Mission_L8 = {

}

#--------------------------------------------------------------------

# * Mission Set-up

#--------------------------------------------------------------------

Mission_Setup = true

end

 

#----------------------------------------------------------------------

# * Game_Party

#----------------------------------------------------------------------

class Game_Party

#--------------------------------------------------------------------

# * Attributes

#--------------------------------------------------------------------

attr_accessor :mission

#--------------------------------------------------------------------

# * Alias Listings

#--------------------------------------------------------------------

alias leon_gp_mission_initialize initialize

#--------------------------------------------------------------------

# * Object initialization

#--------------------------------------------------------------------

# Leon_Edit add an array for each mission in @mission.

# [mission_id, 1]

#--------------------------------------------------------------------

def initialize

leon_gp_mission_initialize

@mission = {

0 => 1,

1 => 2,

2 => 3,

3 => 2

}

end

end

#--------------------------------------------------------------------

# * Ends Game_Party

#--------------------------------------------------------------------

 

#----------------------------------------------------------------------

# * Window_Missionhelp

#----------------------------------------------------------------------

class Window_Missionhelp < Window_Base

#--------------------------------------------------------------------

# * Object Initialization

#--------------------------------------------------------------------

def initialize

super(0, 0, 400, 60)

self.contents = Bitmap.new(width - 32, height - 32)

end

#--------------------------------------------------------------------

# * Update

#--------------------------------------------------------------------

def update(help_text)

self.contents.clear

self.contents.draw_text(0, 0, 440, 32, help_text)

end

 

end

#----------------------------------------------------------------------

# * End Window_Missionhelp

#----------------------------------------------------------------------

 

#----------------------------------------------------------------------

# Window_MissionNum

#----------------------------------------------------------------------

class Window_MissionNum < Window_Base

#--------------------------------------------------------------------

# * Object Initialization

#--------------------------------------------------------------------

def initialize

super(400, 0, 240, 64)

self.contents = Bitmap.new(width - 32, height - 32)

refresh

end

 

#--------------------------------------------------------------------

# * Refresh

#--------------------------------------------------------------------

def refresh

self.contents.clear

mis = Mission_Menu

self.contents.font.color = system_color

self.contents.draw_text(0, 0, 120, 32, "Missions:")

self.contents.font.color = normal_color

@mission_comp = []

@mission_know = []

#Calls Mission number of completed missions

for i in 0...$game_party.mission.keys.size

if $game_party.mission[$game_party.mission.keys] == 3

@mission_comp.push(i)

end

end

#Calls Mission number of missions

for j in 0...$game_party.mission.keys.size

if $game_party.mission[$game_party.mission.keys[j]] > 1

@mission_know.push(j)

end

end

#if Mission_Setup is false...

if mis::Mission_Setup == false

if @mission_comp.size == $game_party.mission.size

self.contents.font.color = Color.new(40, 250, 40, 255)

self.contents.draw_text(0, 0, 208, 32, @mission_comp.size.to_s +

"/" + $game_party.mission.size.to_s, 2)

self.contents.font.color = normal_color

else

self.contents.draw_text(0, 0, 208, 32, @mission_comp.size.to_s +

"/" + $game_party.mission.size.to_s, 2)

end

#if Mission_Setup is true...

elsif mis::Mission_Setup == true

if @mission_comp.size == @mission_know.size

self.contents.font.color = Color.new(40, 250, 40, 255)

self.contents.draw_text(0, 0, 208, 32, @mission_comp.size.to_s +

"/" + @mission_know.size.to_s, 2)

self.contents.font.color = normal_color

else

self.contents.draw_text(0, 0, 208, 32, @mission_comp.size.to_s +

"/" + @mission_know.size.to_s, 2)

end

end

end

end

#----------------------------------------------------------------------

# * End Window_Missionnum

#----------------------------------------------------------------------

 

 

#----------------------------------------------------------------------

# Window_Missionlist

#----------------------------------------------------------------------

class Window_Missionlist < Window_Selectable

#--------------------------------------------------------------------

# * Attribute listings

#--------------------------------------------------------------------

attr_accessor :mission

#--------------------------------------------------------------------

# * Object Initialization

#--------------------------------------------------------------------

def initialize

super(0, 60, 260, 420)

self.contents = Bitmap.new(width - 32, height - 32)

self.index = 0

refresh

end

#--------------------------------------------------------------------

# * Mission

#--------------------------------------------------------------------

def mission

return @data[self.index]

end

#--------------------------------------------------------------------

# * Refresh

#--------------------------------------------------------------------

def refresh

if self.contents != nil

self.contents.dispose

self.contents = nil

end

mis = Mission_Menu

@data = []

for i in 0...$game_party.mission.keys.size

if $game_party.mission[$game_party.mission.keys] > 1

@data.push($game_party.mission.keys)

end

end

@item_max = @data.size

if @item_max > 0

self.contents = Bitmap.new(width - 32, row_max * 32)

for i in 0...@item_max

draw_item(i)

end

end

end

#--------------------------------------------------------------------

# * Draw_Item

#--------------------------------------------------------------------

def draw_item(index)

mis = Mission_Menu

mission_name = @data[index]

x = 4

y = index * 32

rect = Rect.new(x, y, self.width - 32, 32)

self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))

if $game_party.mission[mission_name] == 3

self.contents.font.color = Color.new(40, 250, 40, 255)

self.contents.draw_text(x, y, 228, 32, mis::Mission_Name[mission_name])

else

self.contents.font.color = normal_color

self.contents.draw_text(x, y, 228, 32, mis::Mission_Name[mission_name])

end

end

 

end

#----------------------------------------------------------------------

# * End Window_Missionlist

#----------------------------------------------------------------------

 

#----------------------------------------------------------------------

# Window_Missioncomp

#----------------------------------------------------------------------

class Window_Missioncomp < Window_Base

#--------------------------------------------------------------------

# * Object Initialization

#--------------------------------------------------------------------

def initialize(mission)

super(260, 365, 380, 115)

self.contents = Bitmap.new(width - 32, height - 32)

refresh(mission)

end

#--------------------------------------------------------------------

# * Refresh

#--------------------------------------------------------------------

def refresh(mission)

self.contents.clear

self.contents.font.color = system_color

self.contents.draw_text(0, 52, 440, 32, "Status:")

self.contents.draw_text(170, 52, 440, 32, "Reward:")

self.contents.font.color = normal_color

#person place status reward

mis = Mission_Menu

if mis::Mission_Sprite.has_key?(mission)

if $game_party.mission[mission] > 1

self.contents.draw_text(36, 6, 440, 32,

mis::Mission_Sprite[mission][2] + ", " + mis::Mission_Sprite[mission][3])

case $game_party.mission[mission]

when 1

self.contents.draw_text(62, 52, 400, 32, "")

when 2

self.contents.draw_text(62, 52, 400, 32, "Incomplete")

self.contents.draw_text(242, 52, 138, 32, "Unknown")

when 3

self.contents.font.color = Color.new(40, 250, 40, 255)

self.contents.draw_text(62, 52, 400, 32, "Complete")

self.contents.draw_text(242, 52, 138, 32, mis::Mission_Sprite[mission][4])

end

bitmap = RPG::Cache.character(mis::Mission_Sprite[mission][0],

mis::Mission_Sprite[mission][1])

cw = bitmap.width / 4

ch = bitmap.height / 4

facing = 0

src_rect = Rect.new(0, facing * ch, cw, ch)

self.contents.blt(0, 0, bitmap, src_rect)

end

end

end

 

def clear

self.contents.clear

end

 

end

#--------------------------------------------------------------------

# * Ends Window_Missioncomp

#--------------------------------------------------------------------

 

 

#----------------------------------------------------------------------

# Window_Missiondesc

#----------------------------------------------------------------------

class Window_Missiondesc < Window_Base

#--------------------------------------------------------------------

# * Object Initialization

#--------------------------------------------------------------------

def initialize(mission)

super(260, 60, 380, 305)

self.contents = Bitmap.new(width - 32, height - 32)

end

#--------------------------------------------------------------------

# * Refresh

#--------------------------------------------------------------------

def refresh(mission)

self.contents.clear

mis = Mission_Menu

self.contents.draw_text(0, 0, 348, 32, mis::Mission_L1[mission].to_s)

self.contents.draw_text(0, 32, 348, 32, mis::Mission_L2[mission].to_s)

self.contents.draw_text(0, 64, 348, 32, mis::Mission_L3[mission].to_s)

self.contents.draw_text(0, 96, 348, 32, mis::Mission_L4[mission].to_s)

self.contents.draw_text(0, 128, 348, 32, mis::Mission_L5[mission].to_s)

self.contents.draw_text(0, 160, 348, 32, mis::Mission_L6[mission].to_s)

self.contents.draw_text(0, 192, 348, 32, mis::Mission_L7[mission].to_s)

self.contents.draw_text(0, 224, 348, 32, mis::Mission_L8[mission].to_s)

end

end

#--------------------------------------------------------------------

# * Ends Window_Missiondesc

#--------------------------------------------------------------------

 

 

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

# Scene_MissionMenu

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

class Scene_MissionMenu

#--------------------------------------------------------------------

# * Object Initialization

#--------------------------------------------------------------------

def initialize(menu_index = 0)

@menu_index = menu_index

end

#--------------------------------------------------------------------

# * Main

#--------------------------------------------------------------------

def main

 

@missionhelp_window = Window_Missionhelp.new

@missionlist_window = Window_Missionlist.new

@missionnum_window = Window_MissionNum.new

@missioncomp_window = Window_Missioncomp.new(@missionlist_window.mission)

@missiondesc_window = Window_Missiondesc.new(@missionlist_window.mission)

@mission = @missionlist_window.mission

 

@missiondesc_window.refresh(@missionlist_window.mission)

@missioncomp_window.refresh(@missionlist_window.mission)

 

Graphics.transition

loop do

Graphics.update

Input.update

update

if $scene != self

break

end

end

Graphics.freeze

@missionhelp_window.dispose

@missiondesc_window.dispose

@missioncomp_window.dispose

@missionlist_window.dispose

@missionnum_window.dispose

end

#--------------------------------------------------------------------

# * Update

#--------------------------------------------------------------------

def update

mis = Mission_Menu

@missionlist_window.update

@missionnum_window.update

@missionhelp_window.update("Select a mission to see details.")

if Input.trigger?(Input::UP) or Input.trigger?(Input::DOWN) or Input.repeat?(Input::DOWN) or Input.repeat?(Input::UP)

@missiondesc_window.refresh(@missionlist_window.mission)

@missioncomp_window.refresh(@missionlist_window.mission)

end

if Input.trigger?(Input::B)

$game_system.se_play($data_system.cancel_se)

$scene = Scene_Map.new

end

end

 

end

#--------------------------------------------------------------------

# * Ends Scene_Missionmenu

#--------------------------------------------------------------------

 

 

 

I also got a question/request.

Does anyone know a book script?

Just like in oblivion that you can pick up a random book and start reading it!

So a script that would be called if you use an item and that will show a txt

 

thank you for reading :)

Share this post


Link to post
Share on other sites

5 answers to this question

Recommended Posts

  • 0

First of all you said you used "comment" in an event. You have to use Script it's the very last option on the 3rd page. Also below is how I have mine set up seeing as I'm using the exact same script.

Part 1: Which is the common event linked with the item part1i.png

Part 2: Is an example in an event

2ndpart.png

 

Hope that helps.

Edited by Dragon324

Share this post


Link to post
Share on other sites
  • 0
Guest

Wow that helped!

I feel like a complete noob xD

But thanks for helping me :)

Uhm...

I have 1 more question. Does anyone know a book script? Like in Oblivion you can grab a random book and you can start reading it?

Well what i need is that if you use a book you start reading it like a txt with multiple pages.

Sorry if im asking to much questions but im really really new to this program :)

Share this post


Link to post
Share on other sites
  • 0

Np about helping and it's ok we were all new at one point. As far as your second question I sent you a message with the answer but I can post it here to.

"It's far easier to do this in events and depending on how fancy you want to get with I'll explain 2 ways.

1st. Have a book event sprite set to when the player pushes the action key a SE plays (they are titled book I believe) then just do show text commands ending with the other book SE.

2nd. This way is more fancy but would look nicer. Same as before with the action command except this time you are going to use the show picture command (This requires you to find a photo of a opened book or something). To make it different you can write the text in Photoshop or something if you have that available to you. Then just play the SE's like before and wahla. Then whether the player keeps the books in items or not is up to you if so you would have to make each separate book either a switch with 1 or 2 common events or make each book their own common event.

P.S to make it more fancy you can even get 1~3 pictures of a page turning and then use those with the appropriate SE.

~ Hope that helps."

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...