Submit Your Article


 
RPG Maker

Welcome Guest ( Log In | Register )


  Games Resources RPG Maker VX RPG Maker XP Scripts Tutorials Downloads

70 Pages V  « < 63 64 65 66 67 > »   
Reply to this topicStart new topic
> Submission: Blue Magic, by Prexus
Taiine
post Sep 7 2010, 09:24 AM
Post #1281


Level 17
Group Icon

Group: Revolutionary
Posts: 333
Type: Mapper
RM Skill: Advanced




QUOTE (mattfriends @ Sep 7 2010, 03:18 AM) *
Hey guys, the question you are still asking that why it shows ??? as a reward because you haven't finished the quest yet.
If you don't want it to show the reward without ??? at all time find these:
self.contents.draw_text(t3, 250, self.width, 32, TNDqb::Unknown)
self.contents.font.color = TNDqb::Incmp_Color
self.contents.draw_text(t4, 282, self.width, 32, TNDqb::Incomplete)

and replace with this:
self.contents.draw_text(t3, 250, self.width, 32, msg[4])
self.contents.font.color = TNDqb::Cmp_Color
self.contents.draw_text(t4, 282, self.width, 32, TNDqb::Complete)

Hope it works. happy.gif


Sorry to say but that throws out an error when you try to view the quest (open window fine, but select a quest and)
cannot convirt nil into string
self.contents.draw_text(t3, 250, self.width, 32, msg[4])

and would still like to auto change between quests as you scroll down and not have to 'select' them each time. new players wont know you have to select the next one to change the quest text and may think it's a bug or something.

This post has been edited by Taiine: Sep 7 2010, 09:26 AM


__________________________

an RMXP Game utilizing Blizz-ABS


Concept Projects: DASH! The Masters Game | Finny Adventures (temp title)
My first RMXP Script: Taiine's Solo Player Custom Menu System v0.6 (UPDATED 13th of Nov 10)

Go to the top of the page
 
+Quote Post
   
mattfriends
post Sep 7 2010, 11:38 PM
Post #1282


Level 3
Group Icon

Group: Member
Posts: 43
Type: Scripter
RM Skill: Advanced




I will work on it later so please wait and sorry.


__________________________
The new adventure - Real time action battle game.

Lastest Version - Demo v2.0

MY WEBSITE: I have moved to my website now. I'm not usually activate here anymore.

http://rpgxpultimate.darkbb.com/
Please register.
Go to the top of the page
 
+Quote Post
   
Lethal Visions
post Sep 16 2010, 11:01 AM
Post #1283


Level 4
Group Icon

Group: Member
Posts: 59
Type: None
RM Skill: Undisclosed




I've tried and tried again, and No, can't say that it works... if a better scripter foud a way, they'd be welcome to enlighten us...


Also, in response to my own statement before about the thing where YOU move but the map does not...

During transition from one map to another, you are no longer able to simply move from point a to point b anymore through this method...

Set up an event to dim the screen, like 10 frames should work, wait ten frames, and then transfer. Once in the new map, you need to set where CENTER of your screen would be... that means tthat where your guy transfers to, automatically becomes the center of the screen... Then, in the same Auto Event, set player Event location to where you actually want him to appear... then erase that event... or do a self-switch and another page or something, to go on to your other auto event settings before releasing the map into parallel events. And then have your screen lighten back to its normal mode.


That's how I got it to work.

This post has been edited by Lethal Visions: Sep 16 2010, 11:02 AM


__________________________
Go to the top of the page
 
+Quote Post
   
Taiine
post Sep 16 2010, 07:27 PM
Post #1284


Level 17
Group Icon

Group: Revolutionary
Posts: 333
Type: Mapper
RM Skill: Advanced




Any update for it? these last few tidbits are all that's keeping me from using this, it's a shame, this is the most simplest quest system I've seen.


__________________________

an RMXP Game utilizing Blizz-ABS


Concept Projects: DASH! The Masters Game | Finny Adventures (temp title)
My first RMXP Script: Taiine's Solo Player Custom Menu System v0.6 (UPDATED 13th of Nov 10)

Go to the top of the page
 
+Quote Post
   
mattfriends
post Sep 16 2010, 11:29 PM
Post #1285


Level 3
Group Icon

Group: Member
Posts: 43
Type: Scripter
RM Skill: Advanced




Yeah.. Sorry for that. I will update it later with some fixes.


__________________________
The new adventure - Real time action battle game.

Lastest Version - Demo v2.0

MY WEBSITE: I have moved to my website now. I'm not usually activate here anymore.

http://rpgxpultimate.darkbb.com/
Please register.
Go to the top of the page
 
+Quote Post
   
gamer999
post Sep 19 2010, 06:49 AM
Post #1286



Group Icon

Group: Member
Posts: 4
Type: None
RM Skill: Undisclosed




can someone make a demo of this? please..

thanks!
Go to the top of the page
 
+Quote Post
   
Taiine
post Sep 20 2010, 05:52 PM
Post #1287


Level 17
Group Icon

Group: Revolutionary
Posts: 333
Type: Mapper
RM Skill: Advanced




QUOTE (mattfriends @ Sep 17 2010, 12:29 AM) *
Yeah.. Sorry for that. I will update it later with some fixes.



*light nudge*


__________________________

an RMXP Game utilizing Blizz-ABS


Concept Projects: DASH! The Masters Game | Finny Adventures (temp title)
My first RMXP Script: Taiine's Solo Player Custom Menu System v0.6 (UPDATED 13th of Nov 10)

Go to the top of the page
 
+Quote Post
   
Neosky5k
post Sep 22 2010, 01:44 AM
Post #1288


Level 2
Group Icon

Group: Member
Posts: 18
Type: None
RM Skill: Undisclosed




I know this is old, but I was wondering if you were still working on this? Just curious if you knew why it would kill the FPS? It goes from 60fps to 45 or so... You think it's cause it's a static window on screen, or is there something to edit? Also how can I get two variables next to eachother like this:

Time: 2:30 Day: Monday

instead of

Time: 2:30
Day: Monday

I did it before, but deleted the script because it was the older one with the saving problem.... Now I forgot what I did...
Go to the top of the page
 
+Quote Post
   
Night_Runner
post Sep 22 2010, 06:00 AM
Post #1289


Level 50
Group Icon

Group: +Gold Member
Posts: 1,519
Type: Scripter
RM Skill: Undisclosed




I thought I broke it when it didn't show the text, lol.

CODE
#===========================================================================
#===========================================================================
#                            Tornado Quest Book
#                               Version 1.0
#                              Author: Storm
#                      http://rpgxpultimate.darkbb.com
#  Edited by: Night_Runner ( as seen at RPGRevolution.com :p )
#
# Instructions:
# Place the script above main.
#
# Use $scene = Scene_QuestBook.new to call it.
#
# Use $game_party.add_quest(id) to add quest.
#
# Use $game_party.delete_quest(id) to delete quest.
#
# Use $game_party.finish_quest(id) to finish quest.
#
# Use $game_party.unfinish_quest(id) to unfinish quest.
#
# In condition branch, at the script tab enter $game_party.quest_complete?(id)
# to check if that quest have completed yet.
#
# Features:
# Can custom menus name.
# Opacity configable.
# Customable complete quest color.
# Customable incomplete quest color.
# Able to set return scene.
# Auto replace text in the message.
# Replacements configable.
#
# Compatibility:
# Most of things. (Haven't test to any yet. :P)
#
# Credits and Thanks:
# Storm     - For making it.
# Game_Guy  - For teach me how to use array.
#
#===========================================================================
#===========================================================================
module TNDqb
  #==========================================================================
=
  # START CONFIG
  #==========================================================================
  
  #============================== General Config ==============================
  # General Config.
  #=========================================================================
  QB_Name     = "Quest Book" #Quest Book name
  Author_Name = "Author" #Author name
  Title_Name  = "Title" #Title name
  Reward_Name = "Reward" #Reward name
  Status_Name = "Status" #Reward name
  Complete    = "Complete" #Complete name
  Incomplete  = "Incomplete" #Incomplete name
  Unknown     = "???" #Unknown Name
  Opacity     = 200 #Windows Opacity
  Screen      = 1 #(0 = black,1 = map,"quoted string" = picture)
  ShowCompleteQuests = true # true / false , Show Complete Quests in the book?
  
  Cmp_Color   = Color.new(0, 255, 0, 255) #Complete color
  Incmp_Color = Color.new(255, 0, 0, 255) #Incomplete Color
  
  Return      = Scene_Map #Return Scene
  
  #================================ Ignore Part ===============================
  # Ignore Parts Under This.
  #=========================================================================
  Quest       = []
  
  #============================ Replacement Config ===========================
  # Replacements, this will auto replace texts in your message
  #
  # Replace = ["text","replace"]
  # NOTE: Maximum of replaces is 10. Replaces cannot be add or remove.
  #       Cannot include {name1}, {name2}, {name3} and {name4}
  #
  #       Completed Replacements: (Do not add)
  #       {name1} = 1st actor's name
  #       {name2} = 2nd actor's name
  #       {name3} = 3rd actor's name
  #       {name4} = 4th actor's name
  #========================================================================
  Replace1 = ["",""]
  Replace2 = ["",""]
  Replace3 = ["",""]
  Replace4 = ["",""]
  Replace5 = ["",""]
  Replace6 = ["",""]
  Replace7 = ["",""]
  Replace8 = ["",""]
  Replace9 = ["",""]
  Replace10 = ["",""]
  
  #=============================== Quest Config ===============================
  # Config quests here.
  #
  # Quest[id] = ["title","author's name","text","reward"]
  #=========================================================================
  
  #PART 1
  Quest[1]    = ["Missing Puppy","Mr.Bean","Mr.Bean wants you to go and find his missing puppy.","1000 G"]
  Quest[2]    = ["Mountain Explore","Tom","Tom asked {name1} to go and explore Mt.River.","A thing (What thing?)"]
  
  #=========================================================================
  # END CONFIG
  #=========================================================================
end

#====================
# Game_Party
#====================
class Game_Party
  attr_accessor :quest
  attr_accessor :qComplete
  alias tnd_qb_init initialize
  def initialize
    @quest = []
    @qComplete = []
    tnd_qb_init
  end
  
  def add_quest(id)
    msg = TNDqb::Quest[id]
    return if msg == nil
    unless @quest.include?(id)
      @qComplete.delete(id)
      @quest.push(id)
    end
  end
  
  def delete_quest(id)
    msg = TNDqb::Quest[id]
    return if msg == nil
    if @quest.include?(id)
      @qComplete.delete(id)
      @quest.delete(id)
    end
  end
  
  def finish_quest(id)
    msg = TNDqb::Quest[id]
    return if msg == nil
    if @quest.include?(id)
      @qComplete.push(id)
    end
  end
  
  def unfinish_quest(id)
    msg = TNDqb::Quest[id]
    return if msg == nil
    if @quest.include?(id)
      @qComplete.delete(id)
    end
  end
  
  def quest_complete?(id)
    return if id == nil
    msg = TNDqb::Quest[id]
    return if msg == nil
    if @qComplete.include?(id)
      return true
    else
      return false
    end
  end
  
end

#====================
# Bitmap
#====================
class Bitmap
  def format_text(text, width)
    words = text.split(' ')
    return words if words.size == 1
    result, current_text = [], words.shift
    words.each_index {|i|
        if self.text_size("#{current_text} #{words[i]}").width > width
          result.push(current_text)
          current_text = words[i]
        else
          current_text = "#{current_text} #{words[i]}"
        end
        result.push(current_text) if i >= words.size - 1}
    return result
  end
end

#====================
# Window_QuestTitle
#====================
class Window_QuestTitle < Window_Base
  def initialize
    super(0, 0, 640, 60)
    self.back_opacity = TNDqb::Opacity
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end
  def refresh
    self.contents.clear
    self.contents.font.color = normal_color
    self.contents.font.size = 25
    cx = contents.text_size(TNDqb::QB_Name).width
    self.contents.draw_text(0, 0, cx, 37, TNDqb::QB_Name)
  end
end

#====================
# Window_QuestMain
#====================
class Window_QuestMain < Window_Base
  def initialize
    super(35, 100, 380, 340)
    self.back_opacity = TNDqb::Opacity
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end
  def refresh
    return if @quest_id == nil
    msg = TNDqb::Quest[@quest_id]
    return if msg == nil
    self.contents.clear
    self.contents.font.size = 20
    t = self.contents.text_size(TNDqb::Title_Name+": ").width
    t2 = self.contents.text_size(TNDqb::Author_Name+": ").width
    t3 = self.contents.text_size(TNDqb::Reward_Name+": ").width
    t4 = self.contents.text_size(TNDqb::Status_Name+": ").width
    self.contents.font.color = system_color
    self.contents.draw_text(0, 0, self.width, 32, TNDqb::Title_Name+": ")
    self.contents.draw_text(0, 32, self.width, 32, TNDqb::Author_Name+": ")
    self.contents.draw_text(0, 250, self.width, 32, TNDqb::Reward_Name+": ")
    self.contents.draw_text(0, 282, self.width, 32, TNDqb::Status_Name+": ")
    self.contents.font.color = normal_color
    self.contents.draw_text(t, 0, self.width, 32, msg[0])
    self.contents.draw_text(t2, 32, self.width, 32, msg[1])
    
    @text = msg[2]
    
    @text = @text.gsub(TNDqb::Replace1[0], TNDqb::Replace1[1])
    @text = @text.gsub(TNDqb::Replace2[0], TNDqb::Replace2[1])
    @text = @text.gsub(TNDqb::Replace3[0], TNDqb::Replace3[1])
    @text = @text.gsub(TNDqb::Replace4[0], TNDqb::Replace4[1])
    @text = @text.gsub(TNDqb::Replace5[0], TNDqb::Replace5[1])
    @text = @text.gsub(TNDqb::Replace6[0], TNDqb::Replace6[1])
    @text = @text.gsub(TNDqb::Replace7[0], TNDqb::Replace7[1])
    @text = @text.gsub(TNDqb::Replace8[0], TNDqb::Replace8[1])
    @text = @text.gsub(TNDqb::Replace9[0], TNDqb::Replace9[1])
    @text = @text.gsub(TNDqb::Replace10[0], TNDqb::Replace10[1])
    
    for i in 0...[$game_party.actors.size, 4].min
      actor = $game_party.actors[i]
      @text = @text.gsub("{name#{i+1}}", actor.name)
    end
    
    draw_msg(@text, 0, 64)
    
    if $game_party.qComplete.include?(@quest_id)
      self.contents.draw_text(t3, 250, self.width, 32, msg[3])
      self.contents.font.color = TNDqb::Cmp_Color
      self.contents.draw_text(t4, 282, self.width, 32, TNDqb::Complete)
    else
      self.contents.draw_text(t3, 250, self.width, 32, msg[3])
      self.contents.font.color = TNDqb::Incmp_Color
      self.contents.draw_text(t4, 282, self.width, 32, TNDqb::Incomplete)
    end
  end
  def draw_msg(msg, x, y)
    text = self.contents.format_text(msg, 380)
    text.each_index {|i|self.contents.draw_text(x, y + i*32, 544, 32, text[i])}
  end
  def set_quest(id)
    return if @quest_id == id
    @quest_id = id
    refresh
  end
end

#====================
# Scene_QuestBook
#====================
class Scene_QuestBook
  def main
    
    # Create a variable for the last index of the RHS Menu
    @last_displayed_quest_index = -2
    
    if TNDqb::Screen.is_a?(Integer)
      if TNDqb::Screen == 1
        @back = Spriteset_Map.new
      end
    else
      @back = Sprite.new
      @back.bitmap = RPG::Cache.picture(TNDqb::Screen)
    end
    
    #Command window setup
    @quest = $game_party.quest.clone
    if not TNDqb::ShowCompleteQuests
      @quest.each {|id| @quest.delete(id) if $game_party.qComplete.include?(id)}
      @quest.compact!
    end
    
    @msg = []
    @quest.each {|i|
      next if $game_party.qComplete.include?(i)
      @msg.push(TNDqb::Quest[i][0])
    }
    @msg = [""] if @msg.size < 1
    
    #Create command window
    @command_window = Window_Command.new(180, @msg)
    @command_window.x = 460
    @command_window.back_opacity = TNDqb::Opacity
    @command_window.height = 420
    @command_window.y = 60
    j = 0
    @quest.each{|i|
    if $game_party.qComplete.include?(i)
      @command_window.draw_item(j, TNDqb::Cmp_Color)
    end
    j += 1}
    
    #Make main windows
    @title = Window_QuestTitle.new
    @main = Window_QuestMain.new
    
    #Refresh quest data
    @main.set_quest(@quest[@command_window.index])
    #Goto command_refresh
    command_refresh
    
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      #Update windows and inputs
      update
      inputUpdate
      #Break if scene is not Scene_QuestBook
      if $scene != self
        break
      end
    end
    Graphics.freeze
    
    #Dispose windows
    if TNDqb::Screen == 1
      @back.dispose
    end
    @command_window.dispose
    @title.dispose
    @main.dispose
  end
  
  def command_refresh
    @newIndex = @command_window.index
    @msg = []
    @command_window.dispose
    @command_window = nil
    @quest.each {|i|
    @msg.push(TNDqb::Quest[i][0])
    }
    @msg = [""] if @msg.size < 1
    @command_window = Window_Command.new(180, @msg)
    @command_window.x = 460
    @command_window.back_opacity = TNDqb::Opacity
    @command_window.height = 420
    @command_window.y = 60
    @command_window.index = @newIndex
    j = 0
    @quest.each{|i|
    if $game_party.qComplete.include?(i)
      @command_window.draw_item(j, TNDqb::Cmp_Color)
    end
    j += 1}
  end
  
  def inputUpdate
    if Input.trigger?(Input::B)
      #Play Cancel SE
      $game_system.se_play($data_system.cancel_se)
      #Return to set scene
      $scene = TNDqb::Return.new
    elsif @last_displayed_quest_index != @command_window.index
      #Refresh quest data
      @main.set_quest(@quest[@command_window.index])
      #Goto command_refresh
      command_refresh
      @last_displayed_quest_index = @command_window.index
    end
  end
  
  def update
    #Updates
    @command_window.update
    @title.update
    @main.update
  end
end


And I added an extra customisation option, to stop drawing complete quests smile.gif


__________________________
K.I.S.S.
Want help with your scripting problems? Upload a demo! Or at the very least; provide links to the scripts in question.

Most important guide ever: Newbie's Guide to Switches
Go to the top of the page
 
+Quote Post
   
Taiine
post Sep 25 2010, 04:30 AM
Post #1290


Level 17
Group Icon

Group: Revolutionary
Posts: 333
Type: Mapper
RM Skill: Advanced




NR.....I love you. <3


__________________________

an RMXP Game utilizing Blizz-ABS


Concept Projects: DASH! The Masters Game | Finny Adventures (temp title)
My first RMXP Script: Taiine's Solo Player Custom Menu System v0.6 (UPDATED 13th of Nov 10)

Go to the top of the page
 
+Quote Post
   
tresheriff
post Sep 25 2010, 09:12 AM
Post #1291


Level 2
Group Icon

Group: Member
Posts: 16
Type: None
RM Skill: Undisclosed




Thank you. For my next project, i'm attempting to do a game kinda like the disgaea's games, but, i needed an upgrade skill script, *Kinda like the third one* this will help me out alot.



There are bugs in the script, but i did fix them.

sorry, last one also had a bug, now, its fixed.

CODE
#======================================================================
========
# Upgrade Skill Shop para RMVX
#==============================================================================
# By Nechigawara Sanzenin
# Editado e traduzido por Raphinha
# Translated from Portuguese to English by 69HotStuff96
# Fixed by tresheriff
#==============================================================================
#==============================================================================
=begin

To call the event just post the following code:

$scene = Scene_Skill_Upgrade.new

If you want to make a skill upgrade to another one, all you have to do is post
[up(ID if the name it will upgrade to)]

Example - If you want skill 1 to be upgraded to skill 2, just insert the code
below in the notes section of skill 1:
[up2]

In that same notes section, you can also input a price for the upgrade

Example - If you want the price to be 150, just insert the code below:

[pu150]

=end
#==============================================================================
#module SKILL_SHOP
#==============================================================================
module UP_SKILL_SHOP
# Setting
Wait_Lv_Up = false # Wait one level to upgrade skill?
Show_cha = true # Show hero battler?
# Upgrade Text
How_Upgrade = "Select Character"
Upgrade = "Upgrade"
Cant_Upgrade = ""
Cancel = "Cancel"
Next_Lv = "Next Lv"
Can_use = "%s usable"
Upgrade_to = "Next"
None = "None"
# Price Data For Non Set
PRICE = 100
# Id of Next Skill
def self.skill_upgrade(id)
text = $data_skills[id].note
text.scan(/\[up([0-9]+)\]/)
upgrade = $1.to_i
return upgrade
end
# Add Price
def self.skill_upgrade_price(id)
text = $data_skills[id].note
ene = self.skill_upgrade(id)
enable = (ene != 0)
if enable == true
text.scan(/\[pu([0-9]+)\]/)
if $1.to_i != 0 then
price = $1.to_i
else
price = PRICE
end
return price
elsif enable == false
price = 0
end
return price
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 = []
@up_skills = []
@up = []
for i in self.class.learnings
learn_skill(i.skill_id) if i.level <= @level
end
clear_extra_values
recover_all
end
#--------------------------------------------------------------------------
def up_skills
result = []
for i in @up_skills
result.push($data_skills[i])
end
return result
end
#--------------------------------------------------------------------------
def learn_up_skill(skill_id)
unless skill_learn?($data_skills[skill_id])
@up_skills.push(skill_id)
@up_skills.sort!
end
end
#--------------------------------------------------------------------------
def forget_skill?(skill_id)
@skills.delete(skill_id)
@up_skills.delete(skill_id)
end
#--------------------------------------------------------------------------
def skill_learn?(skill)
if @skills.include?(skill.id)
return true
if @up_skills.include?(skill.id)
return true
end
else
return false
end
end
#--------------------------------------------------------------------------
def up_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 @up_skills.include?(skill.id)
return false unless skill_learn?(skill)
return super
end
#--------------------------------------------------------------------------
def up_skill?(skill)
return @up_skills.include?(skill.id)
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.up_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.up_skill?(skill)
text = UP_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_Upgrade
#==============================================================================
class Window_Skill_Upgrade < Window_Selectable
#--------------------------------------------------------------------------
def initialize(x, y, width, height)
super(x, y, width, height)
@actor = nil
self.index = 0
refresh
end
#--------------------------------------------------------------------------
def actor=(actor)
if @actor != actor
@actor = actor
refresh
end
end
#--------------------------------------------------------------------------
def skill
return @data[self.index]
end
#--------------------------------------------------------------------------
def refresh
self.contents.clear
unless @actor == nil
@data = []
for skill in @actor.skills
@data.push(skill)
end
@item_max = @data.size
create_contents
for i in 0...@item_max
draw_item(i)
end
end
end
#--------------------------------------------------------------------------
def draw_item(index)
rect = item_rect(index)
self.contents.clear_rect(rect)
skill = @data[index]
if skill != nil
rect.width -= 4
enabled1 = UP_SKILL_SHOP.skill_upgrade(skill.id) != 0
id_2 = UP_SKILL_SHOP.skill_upgrade(skill.id)
skill2 = $data_skills[id_2]
enabled2 = @actor.skill_learn?(skill2) == false
price = UP_SKILL_SHOP.skill_upgrade_price(skill.id)
enabled3 = (price != 0 and $game_party.gold >= price)
enabled = (enabled1 and enabled2 and enabled3)
draw_item_name(skill, rect.x, rect.y, enabled)
unless enabled1 and enabled2
self.contents.draw_text(rect, UP_SKILL_SHOP::Cant_Upgrade , 2)
else
self.contents.draw_text(rect, price , 2)
end
end
end
#--------------------------------------------------------------------------
def update_help
@help_window.set_text(skill == nil ? "" : skill.description)
end
end
#==============================================================================
#class Window_Next_Skill_Upgrade
#==============================================================================
class Window_Next_Skill_Upgrade < Window_Selectable
#--------------------------------------------------------------------------
def initialize(x, y)
super(x, y, 304, WLH + 32)
@skill = nil
refresh
end
#--------------------------------------------------------------------------
def refresh
self.contents.clear
if @skill != nil
self.contents.font.color = system_color
text = UP_SKILL_SHOP::Upgrade_to
cx = contents.text_size(text).width
self.contents.draw_text(4, 0, cx, WLH, text)
enabled = UP_SKILL_SHOP.skill_upgrade(@skill.id) != 0
unless enabled
none_text = UP_SKILL_SHOP::None
self.contents.draw_text(4, 0, 200, WLH, none_text , 2)
else
id_2 = UP_SKILL_SHOP.skill_upgrade(@skill.id)
skill2 = $data_skills[id_2]
sx = contents.text_size(skill2.name).width
set_x = sx + 24
draw_item_name(skill2, self.contents.width - set_x, 0, enabled)
end
end
end
#--------------------------------------------------------------------------
def skill=(skill)
if @skill != skill
@skill = skill
refresh
end
end
end
#==============================================================================
#class Window_Skill_Hero_Upgrade
#==============================================================================
class Window_Skill_Hero_Upgrade < Window_Selectable
#--------------------------------------------------------------------------
def initialize(x, y)
super(x, y, 240, 304)
refresh
self.active = false
self.index = 0
end
#--------------------------------------------------------------------------
def refresh
self.contents.clear
@item_max = $game_party.members.size
self.contents.font.color = system_color
self.contents.draw_text(4, 0, 200, WLH, UP_SKILL_SHOP::How_Upgrade)
for actor in $game_party.members
x = 4
y = WLH * (2 + actor.index * 2)
draw_actor(actor, x, y)
end
end
#--------------------------------------------------------------------------
def draw_actor(actor, x, y)
self.contents.font.color = normal_color
if UP_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)
end
#--------------------------------------------------------------------------
def update_cursor
if @index < 0
self.cursor_rect.empty
elsif @index < @item_max
y = WLH * (2 + @index * 2)
unless UP_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_Upgrade
#==============================================================================
class Scene_Skill_Upgrade < Scene_Base
#--------------------------------------------------------------------------
def start
super
create_menu_background
create_command_window
@viewport = Viewport.new(0, 0, 544, 416)
@help_window = Window_Help.new
@gold_window = Window_Gold.new(384, 56)
@dummy_window = Window_Base.new(0, 112, 544, 304)
@skill_window = Window_Skill_Upgrade.new(240, 112, 304 , 248)
@skill_window.active = false
@skill_window.visible = false
@skill_window.help_window = @help_window
@hero_window = Window_Skill_Hero_Upgrade.new(0, 112)
@hero_window.visible = false
@hero_window.active = false
@upgrade_window = Window_Next_Skill_Upgrade.new(240,360)
@upgrade_window.visible = false
end
#--------------------------------------------------------------------------
def terminate
super
dispose_menu_background
dispose_command_window
@help_window.dispose
@gold_window.dispose
@dummy_window.dispose
@skill_window.dispose
@hero_window.dispose
@upgrade_window.dispose
end
#--------------------------------------------------------------------------
def update
super
update_menu_background
@help_window.update
@command_window.update
@gold_window.update
@dummy_window.update
@skill_window.update
@hero_window.update
@upgrade_window.update
if @command_window.active
update_command_selection
elsif @skill_window.active
update_skill_selection
elsif @hero_window.active
update_hero_selection
end
end
#--------------------------------------------------------------------------
def create_command_window
s1 = UP_SKILL_SHOP::Upgrade
s2 = UP_SKILL_SHOP::Cancel
@command_window = Window_Command.new(384, [s1, s2], 2)
@command_window.y = 56
end
#--------------------------------------------------------------------------
def dispose_command_window
@command_window.dispose
end
#--------------------------------------------------------------------------
def update_command_selection
@help_window.set_text("")
if Input.trigger?(Input::B)
Sound.play_cancel
$scene = Scene_Map.new
elsif Input.trigger?(Input::C)
case @command_window.index
when 0
Sound.play_decision
@command_window.active = false
@dummy_window.visible = false
@skill_window.visible = true
@hero_window.visible = true
@hero_window.active = true
@upgrade_window.visible = true
when 1
Sound.play_decision
$scene = Scene_Map.new
end
end
end
#--------------------------------------------------------------------------
def update_skill_selection
skill = @skill_window.skill
@upgrade_window.skill = skill
if Input.trigger?(Input::B)
Sound.play_cancel
@skill_window.active = false
@hero_window.active = true
elsif Input.trigger?(Input::C)
enabled1 = UP_SKILL_SHOP.skill_upgrade(skill.id) != 0
id_2 = UP_SKILL_SHOP.skill_upgrade(skill.id)
skill2 = $data_skills[id_2]
enabled2 = @actor.skill_learn?(skill2) == false
@price = UP_SKILL_SHOP.skill_upgrade_price(skill.id)
enabled3 = (@price != 0 and $game_party.gold >= @price)
enabled = (enabled1 and enabled2 and enabled3)
unless enabled
Sound.play_buzzer
else
Sound.play_decision
learn_target(id_2,skill.id)
end
end
end
#--------------------------------------------------------------------------
def update_hero_selection
@help_window.set_text("")
@actor = $game_party.members[@hero_window.index]
@skill_window.actor = @actor
skill = @skill_window.skill
@upgrade_window.skill = skill
if Input.trigger?(Input::B)
Sound.play_cancel
@command_window.active = true
@dummy_window.visible = true
@skill_window.visible = false
@hero_window.visible = false
@hero_window.active = false
@upgrade_window.visible = false
elsif Input.trigger?(Input::C)
Sound.play_decision
@skill_window.active = true
@hero_window.active = false
end
end
#--------------------------------------------------------------------------
def learn_target(skill_id1,skill_id2)
Sound.play_shop
unless UP_SKILL_SHOP::Wait_Lv_Up
@actor.learn_skill(skill_id1)
else
@actor.learn_up_skill(skill_id1)
end
@actor.forget_skill(skill_id2)
$game_party.lose_gold(@price)
@skill_window.refresh
@gold_window.refresh
@hero_window.refresh
@upgrade_window.refresh
end
end


This post has been edited by tresheriff: Sep 25 2010, 02:57 PM


__________________________
Go to the top of the page
 
+Quote Post
   
Garge
post Sep 25 2010, 07:55 PM
Post #1292


Level 2
Group Icon

Group: Member
Posts: 18
Type: None
RM Skill: Beginner




This script has been posted here before Skill Upgrade Shop


__________________________
Go to the top of the page
 
+Quote Post
   
Resource Dragon
post Sep 25 2010, 10:50 PM
Post #1293


Dragon has RAWR. So... RAWR.
Group Icon

Group: Local Mod
Posts: 984
Type: Developer
RM Skill: Masterful
Rev Points: 95




necropost... dry.gif

EDIT: ah crap i just did to... >.< sorry.


__________________________
click me ->Signup for Digital Hijinks!<- click me
Go to the top of the page
 
+Quote Post
   
luigi400000
post Sep 28 2010, 07:48 PM
Post #1294


Level 2
Group Icon

Group: Member
Posts: 27
Type: Mapper
RM Skill: Intermediate




umm...
1: the script isn't there.

2: the demo leads to a random website wich has nothing to do with rpg maker XP.
can you help?
Go to the top of the page
 
+Quote Post
   
Craze
post Sep 29 2010, 02:04 AM
Post #1295


Level 8
Group Icon

Group: Revolutionary
Posts: 119
Type: Developer
RM Skill: Advanced




Craze's Script Asylum
Access all of the scripts here.

All of the scripts are by me, for you. Don't be idiots about them and they'll love you. I don't take requests.

These are all complete, but I am willing to perhaps sneak in features suggested. Again, any requests will be ruthlessly mocked. Most of them require Battle Engine Melody, and all are meant to work alongside Melody as a whole.

Boss Options Make enemies universally resist states or damage (or be weak to them!), and have states/skills that ignore this defense. Also includes a handy <boss> tag, mostly useful for scripting dabblers
Elemental Damage Boosts Let your states and equipment improve or hinder the amount of damage a battler does with specific elements. Good for equipment variety and party synergy
Elemental HEC Boosts Easily tag your states and equipment to affect an actor's accuracy, evasion and critical rate while using or being targeted with different elements. This is much more interesting for equipment than stuff like "ATK+5"
EXP & Gold Boosts And now, your states and equipment can raise or lower the EXP and/or Gold you win in battle
State Infliction Rates Want a skill like Eye Jab to only have a 50% chance to inflict Blind, while the Darkness spell should have a 150% chance, penetrating enemy resistances to the state? You'll want this script


Not really supported now, I guess:
Encounter Management Lets you create repelling/attracting items and skills that affect the random encounter rate for a while. Melody has a better version by Yanfly himself, now

Future projects:
-Critical Suite (Everything and anything having to do with critical hits)
-Elemental Conversion (Like Fire Eater and whatnot from Final Fantasy, this causes the actor to absorb elemental damage)
-Capacity Cores (Based on Tales of the Abyss. When you level up, you get your C.Core's stats on top of anything set in the database and other scripts)


Enjoy, or something.


__________________________
Go to the top of the page
 
+Quote Post
   
Morngalad
post Sep 29 2010, 11:55 AM
Post #1296


Level 1
Group Icon

Group: Member
Posts: 6
Type: Scripter
RM Skill: Undisclosed




Here's a link to the last version of the Neo Mode 7 :
DEMO

And the addon (NeoMode7+) :
Script + DLL
Go to the top of the page
 
+Quote Post
   
Taiine
post Sep 30 2010, 05:13 AM
Post #1297


Level 17
Group Icon

Group: Revolutionary
Posts: 333
Type: Mapper
RM Skill: Advanced





Taiine's Solo Player Custom Menu System

Author Taiine
Version 0.6
Updated Nov, 13th, 10
First Release Date Sep 30th, 10

Updates
Corrected a big that caused an error if player saving was disabled.
Fixed EXP Value alignment, it now centers like HP/SP
Window now properly shifts over to center if you select Icons Only.
(Demo is Properly Updated with these fix's)


Known Bugs
None Reported for current version.

Introduction
This Custom Menu System can be used if your game is planed to have no additional party members but the main hero. It displays all of the players Information on the first screen, eliminating the need for the old 'statis' screen.

This however does not prevent you from having a party, and there is an addishenal script command that can allow you to show the info of another party member in game. This does not truly 'switch' players, just what players info is shown. To truly switch between party members, you can use a party switch script along with this to achive that goal.

Features
Removes the 'Status' window and places all information on the main window.
Displays the players portrate.
Ingame Script call to change witch party members info is shown (does not acually switch player)
Option to change the menu to use Text + Icons, or Icons only

Script
Script
CODE
#==============================================================================
# ** Solo Player Custom Menu System v0.6
#  * by Taiine
#  * Updated: Nov, 13th, 10
#------------------------------------------------------------------------------
#  This Custom Menu System can be used if your game is planed to have no
#  additional party members but the main hero. It displays all of the players
#  Information on the first screen, eliminating the need for the old 'statis'.
#
#  This however does not prevent you from having a party, and there is an
#  addishenal script command that can allow you to show the info of another
#  party member in game. This does not truly 'switch' players, just what players
#  info is shown. To truly switch between party members, you can use a party
#  switch script along with this to achive that goal.
#
#------------------------------------------------------------------------------
#  Requires the following images to be in the Pictures Folder of your project
#
#  Player Portrait:    96x96 File name of the player ID   Example: 1.png
#  Gold Coin Icon:     24x24  Gold.png
#
#  Requires the following images to be in the Icons Folder of your project
#
#  Menu Icons: 24x24
#
#  Menu0.png (Inventory)  
#  Menu1.png (Abilities)
#  Menu2.png (Equipment)
#  Menu3.png (Save Game)
#  Menu4.png (Quit Game)
#
#------------------------------------------------------------------------------
# * Credit:
#   The Law G14  - Player Portrait, Gold & Menu Icons
#   Night_Runner - General Godliness :P
#==============================================================================


#==============================================================================
# * Menu Status bar configuration
#==============================================================================

module Taiine_CMS
  Main_player_id = 1
  # ID Of the player as it is in the Database
  # To change in game use call script and place Taiine_CMS::Main_player_id = ID
  # Where ID is the ID of the player as it is in the Database
  
  Menu_style = true
  # Sets rather to have the Menu be icons only or Icons and Text
  # Icons Only:     true
  # Icons & Text:   false
end


#==============================================================================
# ** Game_Map
#------------------------------------------------------------------------------
#  Edited to have the name of the map.
#==============================================================================

class Game_Map
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_reader   :name
  #--------------------------------------------------------------------------
  # * Setup
  #--------------------------------------------------------------------------
  alias taiine_soloMenu_setup  setup unless $@
  def setup(*args)
    # Run the normal setup
    returnValue = taiine_soloMenu_setup(*args)
    # Get the name of the map
    @name = load_data("Data/MapInfos.rxdata")[@map_id].name
    # Returnt the original raturnValue
    return returnValue
  end
end


#==============================================================================
# ** Window Base
#------------------------------------------------------------------------------
#  Edited to draw the actors face.
#==============================================================================

class Window_Base
  #--------------------------------------------------------------------------
  # * Draw EXP
  #     actor : actor
  #     x     : draw spot x-coordinate
  #     y     : draw spot y-coordinate
  #--------------------------------------------------------------------------
  def write_actor_exp(actor, x, y)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 24, 32, "EXP")
    self.contents.font.color = normal_color
    self.contents.draw_text(x + -2, y, 84, 32, actor.exp_s, 2)
    self.contents.draw_text(x + 82, y, 12, 32, "/", 1)
    self.contents.draw_text(x + 95, y, 84, 32, actor.next_exp_s)
  end
  #--------------------------------------------------------------------------
  # * Alias draw_actor_exp
  #--------------------------------------------------------------------------
  # If BlizzABS is active
  if method_defined?(:draw_actor_exp_original)
    # Do the preceeding code instead of draw_actor_exp_original
    alias draw_actor_exp_original  write_actor_exp  unless $@
  # If BlizzABS is not active
  else
    # Do the preceeding code instead of draw_actor_exp
    alias draw_actor_exp           write_actor_exp  unless $@
  end
  #--------------------------------------------------------------------------
  # * Draw Face Graphic
  #     actor : actor
  #     x : draw spot x-coordinate
  #     y : draw spot y-coordinate
  #--------------------------------------------------------------------------
  def draw_actor_face_graphic(actor, x, y)
    bitmap = RPG::Cache.picture(actor.id.to_s)
    self.contents.blt(x, y, bitmap, Rect.new(0, 0, 96, 96))
  end
  #--------------------------------------------------------------------------
  # * Draw Picture
  #--------------------------------------------------------------------------  
  def draw_picture(picture_name, x, y)
    bitmap = RPG::Cache.picture(picture_name)
    cw = bitmap.width
    ch = bitmap.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x, y, bitmap, src_rect)
  end
end



#===============================================================================
# ** Window_Command_Taiine_CMS
#-------------------------------------------------------------------------------
# This code allows the command window in the menu to display icons.
#===============================================================================

class Window_Command_Taiine_CMS < Window_Selectable
  #-----------------------------------------------------------------------------
  # * Public Instance Variables
  #-----------------------------------------------------------------------------
  attr_reader :continue
  #-----------------------------------------------------------------------------
  # * Object Initialization
  #-----------------------------------------------------------------------------
  def initialize(index, continue)
    # Icons only?
    @icons_only = Taiine_CMS::Menu_style
    # If @icons_only is true: set the width to 64, otherwise, set the width
    # to 160
    width = @icons_only ? 64 : 160
    commands = ['Inventory' , 'Abilities', 'Equipment', 'Save', 'End Game']
    super(0, 0, width, commands.size * 32 + 32) # window size
    @item_max = commands.size
    @commands = commands
    self.contents = Bitmap.new(width - 32, @item_max * 32)
    refresh
    self.index = 0
  end
  #-----------------------------------------------------------------------------
  # * Draw Item
  #-----------------------------------------------------------------------------
  def draw_item(i, color)
    self.contents.fill_rect(0, i*32, 148, 32, Color.new(0, 0, 0, 0))
    bitmap = RPG::Cache.icon("Menu#{i}")
    opacity = (color == normal_color ? 255 : 128)
    # Set the x offset of the icons based on the @icons_only
    # If the @icons_only is true, set the x of the icons to 5
    # Otherwise, set the x of the icons to 104
    x_icons = @icons_only ? 5 : 104
    self.contents.blt(x_icons, 4 + i*32, bitmap, Rect.new(0, 0, 24, 24), opacity)
    # Skip the rest of it if it is in @icons_only mode
    return if @icons_only
    self.contents.font.color = color
    self.contents.draw_text(-49, i*32, 148, 32, @commands[i], 2)
  end
  #-----------------------------------------------------------------------------
  # * Refresh
  #-----------------------------------------------------------------------------
  def refresh
    self.contents.clear
    for i in 0...@item_max
      draw_item(i, normal_color)
    end
  end
  #--------------------------------------------------------------------------
  # * Disable Item
  #     index : item number
  #--------------------------------------------------------------------------
  def disable_item(index)
    draw_item(index, disabled_color)
  end
end


#==============================================================================
# * Window_PlayTime
#------------------------------------------------------------------------------
#  Edited to right-align the text "Play Time".
#==============================================================================

class Window_PlayTime
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    self.contents.font.color = system_color
    self.contents.draw_text(4, 0, 120, 32, "Play Time", 2)
    @total_sec = Graphics.frame_count / Graphics.frame_rate
    hour = @total_sec / 60 / 60
    min = @total_sec / 60 % 60
    sec = @total_sec % 60
    text = sprintf("%02d:%02d:%02d", hour, min, sec)
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 32, 120, 32, text, 2)
  end
end


#==============================================================================
# * Window MenuStatus
#------------------------------------------------------------------------------
#  Edited to be ubiquitous for the menu.
#==============================================================================

class Window_MenuStatus < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(20, 0, 440, 480) #left, top, right, bottom
    self.z = 6000
    self.contents = Bitmap.new(width - 32, height - 32)
    @playtime_sprite = Sprite.new()
    @playtime_sprite.bitmap = Bitmap.new(120, 32)
    @total_sec = 0
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    actor = $game_actors[Taiine_CMS::Main_player_id]
    # If Taiine_CMS::Main_player_id is to a actor that doesn't exist
    if actor.nil?
      # Tell the developer
      p "Your Taiine_CMS::Main_player_id (#{Taiine_CMS::Main_player_id}) actor does not exist."
      # Set the main actor the the 1st player in the party.
      actor = $game_party.actors[0]
    end
    # Draw the actors face/battler
    draw_actor(actor, 0, 10)
    # Draw the actors name (with shadow)
    draw_actor_name(actor, 100, 0)
    # Draw the actors level
    draw_actor_level(actor, 100, 40)
    # Draw the actors class
    draw_actor_class(actor, 100, 60)
    # Draw the actors state
    draw_actor_status(actor, 100, 80)
    # Draw the actors vitality & experience
    draw_actor_vitality(actor, 240, 8)
    # Draw the actors equipment
    draw_actor_equipment(actor, 5, 130)
    # Draw the actors parameters
    self.contents.font.size = 16
    for i in 0..6
      draw_actor_parameter(actor, 240, 130 + 32 * i, i)
    end
    self.contents.font.size = 22
    # Draw location, Gold & Playtime
    draw_location(0, 384)
    draw_gold(150, 384)
    draw_playtime(300, 384)
  end
  #--------------------------------------------------------------------------
  # * Draw Actor Graphic (Face / Battler)
  #--------------------------------------------------------------------------
  def draw_actor(actor, x, y)
    draw_actor_face_graphic(actor, x, y)
  end
  #--------------------------------------------------------------------------
  # * Draw Actor Name
  #--------------------------------------------------------------------------
  def draw_actor_name(actor, x, y)
    self.contents.font.size = 30
    self.contents.font.color = Color.new(0, 0, 0, 255)
    self.contents.draw_text(x + 1, y, 110, 40, actor.name)
    self.contents.font.color = normal_color
    self.contents.draw_text(x, y + 1, 110, 40, actor.name)
    self.contents.font.size = 22
  end
  #--------------------------------------------------------------------------
  # * Draw Actor Level
  #--------------------------------------------------------------------------
  def draw_actor_level(actor, x, y)
    self.contents.font.size = 16
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 96, 32, "Level:")
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 40, y, 24, 32, actor.level.to_s, 0)
    self.contents.font.size = 22
  end
  #--------------------------------------------------------------------------
  # * Draw Actor Class
  #--------------------------------------------------------------------------
  def draw_actor_class(actor, x, y)
    self.contents.font.size = 16
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 96, 32, "Class:")
    self.contents.font.color = normal_color
    # Call Window_Base's draw_actor_class to draw the text for the class naem
    super(actor, x + 40, y)
    self.contents.font.size = 22
  end
  #--------------------------------------------------------------------------
  # * Draw Actor Status
  #--------------------------------------------------------------------------
  def draw_actor_status(actor, x, y)
    self.contents.font.size = 16
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 96, 32, "State:")
    self.contents.font.color = normal_color
    draw_actor_state(actor, x + 40, y)
    self.contents.font.size = 22
  end
  #--------------------------------------------------------------------------
  # * Draw Actor Vitality
  #--------------------------------------------------------------------------
  def draw_actor_vitality(actor, x, y)
    self.contents.font.size = 16
    draw_actor_hp(actor, x, y)
    draw_actor_sp(actor, x, y + 32)
    draw_actor_exp(actor, x, y + 64)
    self.contents.font.size = 22
  end
  #--------------------------------------------------------------------------
  # * Draw Actor Equipment
  #--------------------------------------------------------------------------
  def draw_actor_equipment(actor, x, y)
    dy = 32
    self.contents.font.size = 22
    self.contents.font.color = system_color
    self.contents.draw_text(x + 35, y, 96, 32, "Equipment")
    self.contents.font.color = normal_color
    draw_item_name($data_weapons[actor.weapon_id], x, y + 1 * dy)
    draw_item_name($data_armors[actor.armor1_id], x, y + 2 * dy)
    draw_item_name($data_armors[actor.armor2_id], x, y + 3 * dy)
    draw_item_name($data_armors[actor.armor3_id], x, y + 4 * dy)
    draw_item_name($data_armors[actor.armor4_id], x, y + 5 * dy)
  end
  #--------------------------------------------------------------------------
  # * Draw Location
  #--------------------------------------------------------------------------
  def draw_location(x, y)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 120, 32, "Location", 1)
    self.contents.font.color = normal_color
    self.contents.draw_text(x, y + 32, 150, 32, $game_map.name, 1)
  end
  #--------------------------------------------------------------------------
  # * Draw Gold
  #--------------------------------------------------------------------------
  def draw_gold(x, y)
    self.contents.font.color = system_color
    # Set the width of the gold word & gold_amount texts
    text_width = 120
    # Set the name of the picture to use for the gold icon
    gold_icon_name = 'Gold'
    # Draw the text for the word for gold
    self.contents.draw_text(x, y, text_width, 32, $data_system.words.gold, 1)
    self.contents.font.color = normal_color
    # Get the string for the amount of gold
    gold_amount = $game_party.gold.to_s
    wg = contents.text_size(gold_amount).width
    # Get the width of the icon
    wi = RPG::Cache.picture(gold_icon_name).width
    # Calculate the starting x of the text
    st_x = x + text_width / 2 - wi / 2 - wg / 2 # Used hand calculations!
    # Draw the gold
    self.contents.draw_text(st_x, y + 32, 120, 32, gold_amount)
    # Draw the icon next to the text
    draw_picture(gold_icon_name, st_x + wg, y + 37)
  end
  #--------------------------------------------------------------------------
  # * Draw Playtime
  #--------------------------------------------------------------------------
  def draw_playtime(x, y)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 120, 32, "Play Time", 1)
    @playtime_sprite.x = x + self.x + 16
    @playtime_sprite.y = y + 32 + self.y + 16
    @playtime_sprite.z = self.z
    redraw_playtime
  end
  #--------------------------------------------------------------------------
  # * Redraw Playtime
  #--------------------------------------------------------------------------
  def redraw_playtime
    @playtime_sprite.bitmap.clear
    @total_sec = Graphics.frame_count / Graphics.frame_rate
    hour = @total_sec / 60 / 60
    min = @total_sec / 60 % 60
    sec = @total_sec % 60
    text = sprintf("%02d:%02d:%02d", hour, min, sec)
    @playtime_sprite.bitmap.font.color = normal_color
    @playtime_sprite.bitmap.draw_text(0, 0, 120, 32, text, 1)
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    # If the playtime needs to be updated
    if @total_sec != Graphics.frame_count / Graphics.frame_rate
      redraw_playtime
    end
    super
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def x=(val)
    # Move the @playtime_sprite
    @playtime_sprite.x += (val - self.x) unless @playtime_sprite.nil?
    # Run the super
    super(val)
  end
  #--------------------------------------------------------------------------
  # * Dispose
  #--------------------------------------------------------------------------
  def dispose
    @playtime_sprite.bitmap.dispose
    @playtime_sprite.dispose
    super
  end
end


#==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
#  Edited.
#==============================================================================

class Scene_Menu
  #--------------------------------------------------------------------------
  # * Classwide Variables
  #--------------------------------------------------------------------------
  @@menu_index = 0
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     menu_index : command cursor's initial position
  #--------------------------------------------------------------------------
  def initialize(menu_index = 0)
    @menu_index = $scene.is_a?(Scene_Map) ? menu_index : @@menu_index
  end
  #--------------------------------------------------------------------------
  # * Main Processing
  #--------------------------------------------------------------------------
  def main
    Graphics.freeze
    # Makes the Map appear in the background
    @spriteset = Spriteset_Map.new
    # Navigation
    s1 = "Inventory"
    s2 = "Abilities"
    s3 = "Equipment"
    s4 = "Save Game"
    s5 = "Quit Game"
    @command_window = Window_Command_Taiine_CMS.new(180, [s1, s2, s3, s4, s5,])
    @command_window.index = @menu_index
    @command_window.y = 140 - @command_window.height / 2 #Height
    @command_window.x = 450 #Left-Right placement
    @command_window.z = 6000
    # If number of party members is 0
    if $game_party.actors.size == 0
      # Disable items, skills, equipment, and status
      @command_window.disable_item(0)
      @command_window.disable_item(1)
      @command_window.disable_item(2)
    end
    # If save is forbidden
    if $game_system.save_disabled
      # Disable save
      @command_window.disable_item(3)
    end
    # Make status window
    @status_window = Window_MenuStatus.new
    # Move the windows if the menu is in icon only mode
    if Taiine_CMS::Menu_style == true
      @command_window.x += 53
      @status_window.x += 53
    end
    # Execute transition
    Graphics.transition
    # Main loop
    loop do
      # Update game screen
      Graphics.update
      # Update input information
      Input.update
      # Frame update
      update
      # Abort loop if screen is changed
      if $scene != self
        break
      end
    end
    # Prepare for transition
    Graphics.freeze
    # Store the menu index
    @@menu_index = @command_window.index
    # Dispose of windows
    @command_window.dispose
    @spriteset.dispose
    @status_window.dispose
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    # Update windows
    @command_window.update
    @status_window.update
    @spriteset.update
    # If command window is active: call update_command
    if @command_window.active
      update_command
      return
    end
    # If status window is active: call update_status
    if @status_window.active
      update_status
      return
    end
  end
  #--------------------------------------------------------------------------
  # * Frame Update (when command window is active)
  #--------------------------------------------------------------------------
  def update_command
    # If B button was pressed
    if Input.trigger?(Input::B)
      # Play cancel SE
      $game_system.se_play($data_system.cancel_se)
      @command_window.active = true
      @status_window.active = false
      # Switch to map screen
      $scene = Scene_Map.new
      return
    end
    # If C button was pressed
    if Input.trigger?(Input::C)
      # If command other than save or end game, and party members = 0
      if $game_party.actors.size == 0 and @command_window.index < 4
        # Play buzzer SE
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      # Get the index in the party of teh leading actor
      actor_index = $game_party.actors.index($game_actors[Taiine_CMS::Main_player_id])
      # If the Taiine_CMS::Main_player_id is not in the party
      if actor_index.nil?
        # Tell the developer
        p "Your Taiine_CMS::Main_player_id (#{Taiine_CMS::Main_player_id}) actor is not in the party."
        # Set the actor_id to the first player in the party so it doesn't error
        actor_index = 0
      end
      # Branch by command window cursor position
      case @command_window.index
      when 0  # item
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        # Switch to item screen
        $scene = Scene_Item.new
      when 1  # skill
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        @command_window.active = false
        @status_window.active = true
        # Switch to skill screen
        $scene = Scene_Skill.new(actor_index)
      when 2  # equipment
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        @command_window.active = false
        @status_window.active = true
        # Switch to equip screen
        $scene = Scene_Equip.new(actor_index)
      when 3  # save
        # If saving is forbidden
        if $game_system.save_disabled
          # Play buzzer SE
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        # Switch to save screen
        $scene = Scene_Save.new
      when 4  # end game
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        # Switch to end game screen
        $scene = Scene_End.new
      end
      return
    end
  end
end


Customization
Requires the following images to be in the Pictures Folder of your project

Player Portrait: 96x96 File name of the player ID Example: 1.png
Gold Coin Icon: 24x24 Gold.png

Requires the following images to be in the Icons Folder of your project

Menu Icons: 24x24

Menu0.png (Inventory)
Menu1.png (Abilities)
Menu2.png (Equipment)
Menu3.png (Save Game)
Menu4.png (Quit Game)

* Note: The icons used in the demo (not seen in the screenshot) are quick and rather 'ugly' this is to encourage YOU to pick your own rather then use the ones supplied in the demo. :3

Compatibility
Not compatible with other Scripts that modify the main window (Scene_Menu).
Can be used with other CMS's that do not modify the 'main' window.

Screenshot
Menu System Icons + Text & Icons Only


Note: The bars are NOT part of the script, they are from COGWHEEL's Plug 'n' Play Menu Bars
The smaller text has been tested with various fonts, even some very fancy, and is still clear and readable.


DEMO
File Download

Installation
Paste the Script above Main.
Place the images as mentioned under Customization

Terms and Conditions
Can be used in Commercial & Non Commercial Games
Credit MUST be given, not just in a forum topic but in the game as well (as all credits should be shown)

Credits
The Law G14 - Player Portrait, Gold & Menu Icons
Night_Runner - General Godliness :P

Added Notes
This is the very first script I have attempted to create, and am very pleased with it.
Yes, I will be attempting to extend this or make additional scrips that edit the rest of the menu systems (Inventory, Equipment, etc)


__________________________

an RMXP Game utilizing Blizz-ABS


Concept Projects: DASH! The Masters Game | Finny Adventures (temp title)
My first RMXP Script: Taiine's Solo Player Custom Menu System v0.6 (UPDATED 13th of Nov 10)

Go to the top of the page
 
+Quote Post
   
carnie_natas
post Sep 30 2010, 08:49 AM
Post #1298


~Noctem~Shinai~
Group Icon

Group: Revolutionary
Posts: 261
Type: Developer
RM Skill: Advanced




Looks very interesting, i don't think i'd need it personally. Good job though smile.gif


__________________________
Light one up!
You can run.....But you'll only die tired!
Go to the top of the page
 
+Quote Post
   
Voidwalker
post Oct 1 2010, 08:37 AM
Post #1299



Group Icon

Group: Member
Posts: 4
Type: None
RM Skill: Intermediate




Umm.. it s possible? Change the size of a Icon to make it more bigger in battle (Only Weapons)?
Need some help with this sweat.gif happy.gif wink.gif

Weapons for this Charas
Attached File  _aatester.png ( 6.23K ) Number of downloads: 16

unsure.gif
Go to the top of the page
 
+Quote Post
   
TimmahX
post Oct 1 2010, 02:24 PM
Post #1300


Level 6
Group Icon

Group: Member
Posts: 82
Type: Event Designer
RM Skill: Skilled




QUOTE (Voidwalker @ Oct 1 2010, 12:37 PM) *
Umm.. it s possible? Change the size of a Icon to make it more bigger in battle (Only Weapons)?
Need some help with this sweat.gif happy.gif wink.gif

Weapons for this Charas
Attached File  _aatester.png ( 6.23K ) Number of downloads: 16

unsure.gif


This should be in the script support section. However, if you are using the standard sideview script, just make an action sequence where the weapon size is scaled to whatever size you want (x2 I'd assume) in the configuration parts.


__________________________
This is a signature. I know right?
Go to the top of the page
 
+Quote Post
   

70 Pages V  « < 63 64 65 66 67 > » 
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: 18th May 2013 - 09:12 PM
RPG RPG Revolution is an Privacy Policy and Legal
eXTReMe Tracker