Main Menu
  • Welcome to The RPG Maker Resource Kit.

Simple Script Shop

Started by Rune, May 26, 2007, 11:12:37 PM

0 Members and 6 Guests are viewing this topic.

Shinami

Ya welcome. It shouldn't be difficult to do a sort command if I use elements to denote what's what. As stated, a break from tweaking Minkoff's cbs will do me good. =^-^=

Zeldrak

i'm only going to be able to provide face sets of those when  you give me the specitifcs on what size they fit in the screen like that.

the top you said where it shows the name of the menu can be any size you want, as long as it shows the title on a readable font.

Rune

#377
Okay, then. ;8

I've set the face in the equip screen as 128x128 pixels. If you'd like this changing, please say. ;)
Could you please send an example of the character picture at the side of the status screen? Just so I can see where exactly to put it. Thanks ;)
Sincerely,
Your conscience.

Zeldrak

willget one done tomorrow, since it's late around here.

Rune

Okay, then. ;8

So far, I've done the Status and Equip screens as far as I can. I'm having a little trouble with the command window, as it's somehow conflicting with another window. I may need Shinami's help there.
Sincerely,
Your conscience.

Shinami

Rune, get on MSN and I'll work with yas. =^-^=

Zeldrak

forgot to mention that the party select screen needs to be able to hold 12 characters total.

Halestorm5

I'm using the first script on Page7, which was actually my own request for a lost game :bean:, but then I had to take it apart cos of errors. Now that its working, I found its got an error(s) I can't seem to fix. >.<
So, does NAMKCOR still happen to be on? Well, actually there are 3 errors :(

NAMKCOR, if you are still able to go on here, can you fix these errors?
1. There are two rectangles under the two battler images and theyre not being used. And theyre ment to be used for somethin, but I forgot  :-\
2. The Map Name is all bold and blurry.
3. This is rather annoying, this one is. When I go onto the Items in the menu, whilst I have a item, weapon and armour but different amounts of each one like...
    2 potions
    1 Bronze sword
    3 bronze shields
The script reads it as having
    2 Potions
    2 Bronze Swords
    2 Bronze Shields.

It might be cos of modifications done to the script by me to fit me needs, or cos of actual errors in the finished versions, but I need them fixed.
In the spoilers are all of my versions of the scripts.
[spoiler=Status]#-------------------------------------------------------------------------------
# Status : Has : Battler/etc, Stats
#-------------------------------------------------------------------------------
class Status_Actor < Window_Base
  def initialize(actor)
    super(0, 70, 319, 340)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh(actor)
  end
  def refresh(actor)
    self.contents.clear
    draw_actor_name(actor, 0,0)
    draw_actor_class(actor,175,0)
    draw_actor_level(actor, 0, 24)
    draw_actor_graphic(actor, 210, 90)
    battler= RPG::Cache.battler(actor.battler_name, actor.battler_hue)
    self.contents.blt(40, 75, battler, Rect.new(0, 0, 319, 340))
    draw_actor_state(actor, 105, 280)
  end
end
class Actor_Stats < Window_Base
  def initialize(actor)
    super(319,70,320,340)
    self.contents = Bitmap.new(width-32, height-32)
    refresh(actor)
  end
  def refresh(actor)
    self.contents.clear
    self.contents.draw_text(0,0,80,32,"________________")
    self.contents.draw_text(0, 0, 80, 32, "STATS")   
    draw_actor_hp(actor, 60,32,172)
    draw_actor_sp(actor, 60,64,172)
    for i in 0...6
      draw_actor_parameter(actor,60, 96+32*i, i)
    end
  end
end
class Scene_Status
  def initialize(actor_index = 0, equip_index = 0)
    @actor_index = actor_index
  end
  def main
    @spriteset = Spriteset_Map.new
    # Acquiring the actor
    @actor = $game_party.actors[@actor_index]
    # Drawing up the actor's image Window and stats window
    @window_actor = Status_Actor.new(@actor)
    @window_stats = Actor_Stats.new(@actor)
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    @window_actor.dispose
    @window_stats.dispose
    @spriteset.dispose
  end
end
[/spoiler]
[spoiler=Inventory]class Window_Selectable
  alias initialize_old initialize
  def initialize(x, y, width, height)
    initialize_old(x, y, width, height)
    @column_max = 1
  end
end

class Window_Help < Window_Base
  def initialize
    super(0, 0, 640, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $fontface
    self.contents.font.size = $fontsize
  end
end

class Window_Item < Window_Selectable
  def initialize
     if !$game_temp.in_battle
      super(320, 64, 320, 416)
      @column_max = 1
       refresh
      self.index = 0
    else
      super(0, 64, 640, 416)
      @column_max = 2
      refresh
      self.index = 0
      self.y = 64
      self.height = 256
      self.back_opacity = 160
    end
  end
 
    def draw_item(index)
    item = @data[index]
    case item
    when RPG::Item
      number = $game_party.item_number(item.id)
    when RPG::Weapon
      number = $game_party.weapon_number(item.id)
    when RPG::Armor
      number = $game_party.armor_number(item.id)
    end
    if item.is_a?(RPG::Item) and
       $game_party.item_can_use?(item.id)
      self.contents.font.color = normal_color
    else
      self.contents.font.color = disabled_color
    end
    if !$game_temp.in_battle
      x = 4
      y = index * 32
    else
        x = 4 + index % 2 * (288 + 32)
        y = index / 2 * 32
    end     
    rect = Rect.new(x, y, self.width / @column_max - 32, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    bitmap = RPG::Cache.icon(item.icon_name)
    opacity = self.contents.font.color == normal_color ? 255 : 128
    if !$game_temp.in_battle
      self.contents.blt(x+256, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
      self.contents.draw_text(x, y, 212, 32, item.name, 0)
      self.contents.draw_text(x + 240, y, 16, 32, "|", 1)
    else
      self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
      self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
      self.contents.draw_text(x + 240, y, 16, 32, ":", 1)
      self.contents.draw_text(x + 256, y, 24, 32, number.to_s, 2)
    end
  end
end

class Window_Target < Window_Selectable
  def initialize
    super(0, 0, 336, 480)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $fontface
    self.contents.font.size = $fontsize
    self.z += 10
    @item_max = $game_party.actors.size
    refresh
  end
 
  def refresh
    self.contents.clear
    for i in 0...$game_party.actors.size
      x = 4
      y = i * 116
      actor = $game_party.actors[i]
      draw_actor_name(actor, x, y)
      draw_actor_class(actor, x + 144, y)
      draw_actor_level(actor, x + 8, y + 32)
      draw_actor_state(actor, x + 8, y + 64)
      draw_actor_hp(actor, x + 152, y + 32)
      draw_actor_sp(actor, x + 152, y + 64)
      draw_actor_graphic(actor, x + 80, y + 55)
    end
  end
end

class Window_Stock < Window_Base
  def initialize
    super(0, 355,320, 125)
    self.contents = Bitmap.new(width - 32, height - 32)
  end
 
  def update_stock(item)
    self.contents.clear
    self.contents.font.name = $fontface
    number = $game_party.item_number(item.id)
    if item == nil
      @price = 0
    else
      @price = item.price / 2
    end
    self.contents.draw_text(0,0,168,32, "Stock  :", 0)
    self.contents.draw_text(200, 0, 24, 32, number.to_s, 2)
    self.contents.draw_text(0,40, 320, 32, "Sell Price:",0)
    self.contents.draw_text(176, 40, 48, 32, @price.to_s, 2)
  end
end

class Scene_Item
  def main
    @spriteset = Spriteset_Map.new
    @help_window = Window_Help.new
    @item_window = Window_Item.new
    if !$game_temp.in_battle
      @stock_window = Window_Stock.new
    end
    @item_window.help_window = @help_window
    @target_window = Window_Target.new
    @target_window.visible = false
    @target_window.active = false
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    if !$game_temp.in_battle
      @stock_window.dispose
    end
    @spriteset.dispose
    @help_window.dispose
    @item_window.dispose
    @target_window.dispose
  end

  alias update_old update_item
  def update_item
    @item = @item_window.item
    if !$game_temp.in_battle
      @stock_window.update_stock(@item)
    end
    update_old
  end
end
[/spoiler]
[spoiler=Menu]#-------------------------------------------------------------------------------
# Features:
# > Upgraded Item Menu
#   -- Displays all items, how many in stock, and their sell price
# > Upgraded Status Menu
#   -- Streamlined design shows all necessary character information
# > Upgraded Main Menu
#   -- Shows both characters, icons for all their equipment, location window
#      gold and time windows
#   -- Icon display designed for use with Gullaime777's Multi-Slot-Equipment
#       if you aren't using the aforementioned script, but wish to use this
#       menu, PM/email me and I'll make a version for use without it
#-------------------------------------------------------------------------------
# Compatability:
#   Most likely incompatable with other CMSes
#   Most likely SDK compatable
#   Battler display WILL bug with ANY Animated Side View CBS
#   -No Known Incompatability Issues-
#-------------------------------------------------------------------------------
# Versions History:
#   1.00 - Finished all features, most likely bug free
#-------------------------------------------------------------------------------
# Bugs and Incompatability:
#  If you find bugs or incompatability issues with this script, contact me and
#  I will do what I can to make it compatable/fix whatever bugs you find
#-------------------------------------------------------------------------------
# Contact Info:
#   RMRK - NAMKCOR
#   ChaosProject - NAMKCOR
#   IMGHQ - NAMKCOR
#   E-Mail - Rockman922@aol.com -or- rockmanamkcor@yahoo.com
#-------------------------------------------------------------------------------
# Special Thanks:
#   Halestorm5 - for giving me my first CMS request :D
#-------------------------------------------------------------------------------
# This menu was created for Halestorm5 on rmrk
# This menu is only to be posted on RPG Maker Resource Kit, Chaos Project, and
# Infernal Monkey Games IQ (rmrk.net, chaosproject.co.nr, imghq.co.nr)
# if this script is posted on any site other than the ones mentioned above
# it is stolen and I would like to be contacted immediately
#===============================================================================

#===============================================================
#DO NOT EDIT BELOW THIS LINE UNLESS YOU KNOW WHAT YOU ARE DOING!
#===============================================================

#-------------------------------------------------------------------------------
# Main Menu : Has : WindowStatus, Location, Gold, Time, Command Window
#-------------------------------------------------------------------------------
class Window_MenuStatus < Window_Selectable
  def initialize
    super(0, 0, 440, 240)
    @column_max = 2
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $fontface
#    self.contents.font.size = $fontsize
    refresh
    self.active = false
    self.index = -1
  end
  def refresh
    self.contents.clear
    @item_max = $game_party.actors.size
    for i in 0...$game_party.actors.size
      x = 10 + 200 * i
      y = 5
      actor = $game_party.actors[i]
      if actor != nil
          battler= RPG::Cache.battler(actor.battler_name, actor.battler_hue)
          self.contents.blt(25 + 200*i, 23, battler, Rect.new(0, 0, 319, 340))
          draw_actor_name(actor, x, y)
          draw_actor_hp(actor, x,150,172)
          draw_actor_sp(actor, x, 170, 172)
      end
    end
  end
  def update_cursor_rect
    if @index < 0
      self.cursor_rect.empty
    else
      self.cursor_rect.set(@index * 200, 0, 200, self.height - 32)
    end
  end
end

class EQ_Window < Window_Base
  def initialize(id)
    super(0,0,220,60)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh(id)
  end
  def refresh(id)
    actor = $game_party.actors[id]
#    item = actor.equipments
#    for i in 0...item.size
#      if item[i] != nil
#        bitmap = RPG::Cache.icon(item[i].icon_name)
#        self.contents.blt(30*i, 0, bitmap, Rect.new(0, 0, 24, 24))
      end
    end
#  end
#end

class Location_Window < Window_Base
  def initialize
    super(200,360,250,60)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end
  def refresh
    data = load_data("Data/MapInfos.rxdata")
    self.contents.draw_text(0,0,227,28,data[$game_map.map_id].name, 0)
  end
end

class Scene_Menu
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end
  def main
    @spriteset = Spriteset_Map.new
    # Drawing up the command window
    s1 = $data_system.words.item
    s2 = $data_system.words.skill
    s3 = $data_system.words.equip
    s4 = "Status"
    s5 = "End Game"
    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5])
    @command_window.index = @menu_index
    @command_window.x = 472
    @command_window.y = 30
    # When party number of people 0 is
    if $game_party.actors.size == 0
      # Nullifying the item, skill, equipment and status
      @command_window.disable_item(0)
      @command_window.disable_item(1)
      @command_window.disable_item(2)
      @command_window.disable_item(3)
    end
    # In case of saving prohibition
    if $game_system.save_disabled
      # Saving is made invalid
      @command_window.disable_item(4)
    end
    @p1_window = EQ_Window.new (0)
    @p1_window.x = 25
    @p1_window.y = 290
    @p2_window = EQ_Window.new (1)
    @p2_window.x = 245
    @p2_window.y = 290
    @locationiseverything = Location_Window.new
    # Drawing up the play time window
    @playtime_window = Window_Steps.new
    @playtime_window.x = 25
    @playtime_window.y = 360
    # Drawing up the Goldwyn dough
    @gold_window = Window_Gold.new
    @gold_window.x = 472
    @gold_window.y = 360
    # Drawing up the status window
    @status_window = Window_MenuStatus.new
    @status_window.x = 25
    @status_window.y = 50
    # Transition execution
    Graphics.transition
    # Main loop
    loop do
      # Renewing the game picture
      Graphics.update
      # Updating the information of input
      Input.update
      # ??????
      update
      # When the picture changes, discontinuing the loop
      if $scene != self
        break
      end
    end
    # Transition preparation
    Graphics.freeze
    # Releasing the window
    @command_window.dispose
    @playtime_window.dispose
    @gold_window.dispose
    @status_window.dispose
    @p1_window.dispose
    @p2_window.dispose
    @locationiseverything.dispose
    @spriteset.dispose
  end
  def update
    # Renewing the window
    @command_window.update
    @playtime_window.update
    @gold_window.update
    @status_window.update
    @p1_window.refresh(0)
    @p2_window.refresh(1)
    @locationiseverything.refresh
    @spriteset.update
    # When the command window is active,: Update_command is called
    if @command_window.active
      update_command
      return
    end
    # When the status window is active,: Update_status is called
    if @status_window.active
      update_status
      return
    end
  end
end
[/spoiler]

So NAMKCOR (Or anyone who can help), can you help with this? Also, I dunno if I should make a new thread or not for this, so I posted here  :-\
(And Im betting NAMKCOR can't get on here)

Rune

#383
@Zeldrak - That party select screen in the link can already hold quite a few characters. I know, for my game 'Apocalypse' uses it.

~Edit
Are you changing variables, switches, or anything at all when you start a quest. If so, say which, and what ID they start at.

Also, how's that example coming along?
Sincerely,
Your conscience.

Zeldrak

i got nearly all the faces hand drawn now, i'll just scan them and put one here so that you can use as a sample.

Zeldrak

here they are, use these as mockups for now:

Code Geass

wow, those look good zeldrak

well, you look busy, so sorry to bother, but could you take a look at this?

http://rmrk.net/index.php/topic,25832.0.html

I'm having a really hard time finding people to help me with it >_>

Rune

Quote from: Zeldrak on April 10, 2008, 12:19:46 AM
here they are, use these as mockups for now:

Um... Sorry to mention this, but I meant the character picture at the side of the status screen xD
Though, those may be helpful for the Menu screen. :D
Sincerely,
Your conscience.

Zeldrak

the picture on the status screen... hmm. i have only 1 made, but it can do perfectly. What's the preferable size?

I have a full body, which would be the perfect pics to put on the status screen.

Shinami

Thanks to a few RL wrenches, I'm not done with my end yet. I don't think you'll be disappointed though.

Rune

#390
Quote from: Zeldrak on April 10, 2008, 06:50:10 PM
the picture on the status screen... hmm. i have only 1 made, but it can do perfectly. What's the preferable size?

I have a full body, which would be the perfect pics to put on the status screen.
In the long run, it's up to you, it's your status screen. But try not to make it larger than 240x448 pixels if you can. ;)
Imo, a character pic from the waist up would look great, but again, it's your game.
Sincerely,
Your conscience.

Zeldrak

have that be the character size then, i'll make waist-up sketches to fit there.

Rune

#392
Okay then ;8
I'll start that part tomorrow, I'm getting kicked off computer now >_>

~Edit
Ugh, sorry, I meant 240x448 pixels >_>
Hope that ain't too late...
Sincerely,
Your conscience.

Rune

Zeldrak. Would it be okay if you used variables to start/end quests? If so, which variables would be the most convenient to use? (Gimme a range, for example: 50-150)
Sincerely,
Your conscience.

Zeldrak

the first 50, since i haven't created any variables yet.

i'll save the first 50 spots for variables and about 100 switches. ig you wante me to save some more, tell me.

Rune

Around how many quests are you going to have altogether? Something tells me 50 ain't gonna do it, and switches aren't enough unless you're planning on using two or three for each quest, which I ain't planning to script. ;8

Variables would be better, just decide around how many quests you're going to have altogether, and save that many variables (preferably grouped together).

Could you tell me:
1) Around how many main quests you're going to have
2) The same, but with Subquests
3) Then Summon Quests

This is just so I can get a rough idea of where to start with the variables in each section.
Sincerely,
Your conscience.

Zeldrak

at this point it's hard to say how many main quests i'll have.

As i haven't structered the full story to an extention where that can be predicted, it's very hard for em to get an accurate number.

as for summon quests, i'll only have about 6 quests. you should decide on the variables.

Side quests are still being planed. but i'd like to have a good amount of them to keep the player entertained through a good part of the game before progressing further into the main story.

Just add me to MSN like shinami did, it' easier to discuss things this way.
I might have a number for those tomorrow, if i get some more ideas for the main part of the story.

brandonjenkins

#397
I have a cms request... I need a new ring menu script...
If possible I would like it to zoom in when it is opened. I have some pics to help you understand what I need...
[spoiler]http://img252.imageshack.us/img252/2771/mainscreenhd1.png[/spoiler]
My main screen will look similiar to this. The light gray will be icons or pictures with text under them saying the name of the option. The dark gray will be the game info; it should have the following info: play time, location, steps, and money. When an option is selected the pics or icons for the choices move out and the new scene info is displayed within the ring. Basically the options(item, skill, equip, etc) are always visible and new info is always placed in the ring(like the jak and daxter series^^) I would also like a quest system for my menu

If you need more info, ask what you need^^

EDIT*
I forgot... it is a one hero menu request...


Caesis

Chibedisetiny( I know I spelled your name wrong.)

I know a CMs similar to that. You won't be disapointed.

http://www.hbgames.org/forums/index.php?topic=36228

Rune

Quote from: chibidestiny on July 15, 2008, 11:20:48 PM
(...I just realized this hasn't been updated since april.)
I know, Shinami and myself have been busy with Zeldrak's request.
Speaking of which, have you finished what I couldn't do, Shinami?

I can't seem to get that link to work, but if you need it editing in any way, chibidestiny, send me the script and the edit, and I'll be happy to help ;)

Also, just a reminder that this place ain't dead, the Script Shop is still open. If anyone has any requests, either myself or one of my slaves associates will be more than happy to fulfill it, provided it isn't too complicated for the maker.
Sincerely,
Your conscience.