Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Various

1
Hello chaos-project community.
ive been busy with a edit of a the item description window which i use in a new menu layout (resident evil styled)
but the problem is that the original item description is 1 big line.

but i need it to divide itself to another line if it reaches the end of my box (its 403 px)
because i am now getting this:
Spoiler: ShowHide


and i want it to be like
Spoiler: ShowHide



this is the script itself. (small edits)
Spoiler: ShowHide

#===============================================================================
# * Window_Item_Help
#-------------------------------------------------------------------------------
#  It is the window which indicates the item description the skill and the
#  status etc. of the actor.
#===============================================================================

class Window_Item_Help < Window_Base
 
 #-----------------------------------------------------------------------------
 # - Object initialization
 #-----------------------------------------------------------------------------
 def initialize
   super(0, 352, 403, 128)
   self.contents = Bitmap.new(width - 32, height - 32)
 end
 
 #-----------------------------------------------------------------------------
 # - Text setting
 #     text  : The character string which is indicated in the window
 #     align : Alignment:
 #  0. The left arranging
 #  1. Central arranging
 #  2. The right it arranges
 #-----------------------------------------------------------------------------
 def set_text(text, align = 0)
   # When at least one side of the text and the alignment it is different
   #  from the last time
   if text != @text or align != @align
     # Redrawing the text
     self.contents.clear
     self.contents.font.color = normal_color
     self.contents.draw_text(4, 0, self.width - 40, 32, text, align)
     @text = text
     @align = align
     @actor = nil
   end
   self.visible = true
 end
 
 #-----------------------------------------------------------------------------
 # - Actor setting
 #     actor : The actor who indicates status
 #-----------------------------------------------------------------------------
 def set_actor(actor)
   if actor != @actor
     self.contents.clear
     draw_actor_name(actor, 4, 0)
     draw_actor_state(actor, 140, 0)
     draw_actor_hp(actor, 284, 0)
     draw_actor_sp(actor, 460, 0)
     @actor = actor
     @text = nil
     self.visible = true
   end
 end
 
 #-----------------------------------------------------------------------------
 # - Enemy setting
 #     enemy : The enemy which indicates name and the state
 #-----------------------------------------------------------------------------
 def set_enemy(enemy)
   text = enemy.name
   state_text = make_battler_state_text(enemy, 112, false)
   if state_text != ""
     text += "  " + state_text
   end
   set_text(text, 1)
 end
end


can anyone help me with this?

greets, various
2
RMVX Ace Script Database / [VXA] Auction House
January 25, 2013, 06:56:40 am
Auction House
Authors: Ninjamida
Version: 1.0
Type: Auction house
Key Term: Misc Add-on



Introduction

this script makes a auction house for items, weapons and armours
complete with AI bidders that can overbid you


Features


  • normal, fast and rare auction

  • can get overbid by computer bidders

  • change bidders max money, how agressive they bid and more




Screenshots

if people want a screenshot i will add, but it doesnt make sence to add a screenshot of some bidders


Demo

sorry no demo


Script

Spoiler: ShowHide
################################
## Auction House Scene Script ##
################################
##        By Ninjamida        ##
################################

### Compatibility: This operates in its own scene. Therefore, it should
###                be compatible with just about anything. However, it may
###                have issues with scripts that modify how windows work. It
###                is compatible with resolution-changing scripts. However you
###                may need to adjust the size of the windows to suit any other
###                resolution but the standard one (they will still fill the
###                screen, but the offer window will be disproportionately large).
###
### Dependancies: None. This script will work in vanilla RMVXA projects.

### Configuration:
###
### Most of the configuration is below and explained next to the options.
### However, the prices for items is set in the database via notetag.
### <start price: xxx>
### <reserve price: xxx>
### <max price: xxx>
### <increment: xxx>
### Use these notetags to set the prices for an item.
### An item will start at the start price. The final sale price will be
### no less than the reserve and no more than the maximum.
### The increment is how much the value goes up with each bid.
### If any of these are not set for an item, the default ones from the
### configuration below will be used.
###
### If you want an item to only be winnable once, this is also set via
### notetags. Add the following notetag to an item:
### <unique>
### If you set this, the item can only be won in an auction once ever,
### even if there's more than one hash containing it. This does not in
### any way prevent another one of it from being obtained elsewhere in
### the game, whether pre- or post- winning it in an auction. Just for
### the record, this tag will apply across all auction types, not just
### special auctions.

######################
### Config Options ###
######################

module Ninjamida
  module Auction
   
    ##############################
    ### Auction General Config ###
    ##############################
   
    ### Width of Auction Type and Gold Windows
    TYPE_WINDOW_WIDTH = 200
    ### You can set Special Auctions to be disabled (by turning off the switch
    ### that enables them) when they've been won or lost. Note that this disables
    ### the set as a whole. If you just want to make one item not winnable again,
    ### set it as unique using the notetag described above.
    DISABLE_SPECIAL_ON_LOSE = false
    DISABLE_SPECIAL_ON_WIN = false
    ### Reserved switch. This switch is used by the script, do not use elsewhere
    ### in your project.
    RESERVED_SWITCH = 1
    ### Set the names of the auction types
    NORMAL_AUCTION = "Normal Auction"
    FAST_AUCTION = "Quick Auction"
    SPECIAL_AUCTION = "Rare Auction"
    ### Set the description of the auction types
    NORMAL_DESC = "A standard auction."
    FAST_DESC = "A higher-speed auction."
    SPECIAL_DESC = "A special auction with rare items."
    ### Set the text to appear in the help window once the auction starts.
    FIRST_LINE = "Press OK button to bid."
    SECOND_LINE = "Time Remaining: "
    ### Display remaining time at end of 2nd line in help window? This will
    ### show in minutes/seconds, not frames.
    SHOW_REMAINING_TIME = true
    ### Text expressions for various events.
    BID_TEXT = "%1$s bids %2$s%3$s." #%1$s = bidder, %2$s = amount, %3$s = currency
    PLAYER_NAME = "$game_party.leader.name" #Player name. You can use Ruby code here.
    WIN_TEXT = "Bought %1$s for %3$s %4$s!" #%1$s = item, %2$s = player name, %3$s = amount, %4$s = currency
    LOSE_TEXT = "%2$s bought %1$s for %3$s %4$s." #Same as above, %2$s = winning bidder
    FINISHED_HELP_TEXT = "The auction has ended! Press OK button to exit." #Plain text only.
    ### Sound effects for various events. (Filename, Volume, Pitch)
    PLAYER_BID_SFX = RPG::SE.new("Confirm (FF7)", 100, 100) #When player bids
    AI_BID_SFX = RPG::SE.new("Decision1", 100, 100) #When an AI bids
    CANT_BID_SFX = RPG::SE.new("Buzzer (FF7)", 100, 100) #When player cannot bid
    WIN_ITEM_SFX = RPG::SE.new("Distant Worlds II - Victory Theme", 100, 100) #When player wins
    LOSE_ITEM_SFX = RPG::SE.new("Failed Dance (FF7)", 100, 100) #When an AI wins
    ### Duration of the auctions. This is in frames. Assuming you don't have
    ### any script that changes it, 1 second = 60 frames.
    NORMAL_DURATION = 3600
    FAST_DURATION = 900
    SPECIAL_DURATION = 3600
    ### If a bid is placed (whether by the player or by AI) when the auction
    ### is close to ending, the auction can extend. Set the number of frames
    ### to extend by here. The extension will only occur if the auction already
    ### has fewer than that many frames remaining. Set this to 0 if you want
    ### no extensions. (eg: if set to 180, and auction has less than 180 frames
    ### remaining and a bid is placed, auction will extend by 180 frames)
    NORMAL_EXTEND = 0
    FAST_EXTEND = 0
    SPECIAL_EXTEND = 0
    ### Set the default prices. These will be used for any item that doesn't
    ### have its own prices set.
    DEFAULT_START_PRICE = 500
    DEFAULT_RESERVE_PRICE = 1000
    DEFAULT_MAX_PRICE = 1500
    DEFAULT_INCREMENT = 50
   
    ####################
    ### Prize Config ###
    ####################
   
    ### Each prize hash should be surrounded by [ ]
    ### Inside this, set [x, y] where x is item type and y is item ID
    ### Item type is 0 for items, 1 for weapons, 2 for armors
    ### The minimum number of prizes in a set is 1
    ### There is no maximum number of prizes in a set
    ### You may have a different amount of items in different sets
    NORMAL_PRIZE =  [ # For normal prizes, simply set each item
                     [[0, 1], [0, 8], [0, 13], [0, 31]], # X-Potion/Dry Ether/Phoenix Ember/Remedy
                     [[0, 4], [0, 5], [0, 6], [0, 140]], # Al Bhed Items
                     [[0, 15], [0, 16], [0, 17], [0, 10]], # Special Battle Items
                     [[0, 33], [0, 36], [0, 39], [0, 42]], # Elemental Items
                     [[0, 57], [0, 59], [0, 61], [0, 64]], # State Items
                     [[0, 3], [0, 8], [0, 31], [0, 79]], # Deconstructor Special
                     [[0, 83], [0, 84], [0, 144], [0, 146]], # ALL UNIQUE
                     [[0, 66], [0, 67], [0, 70], [0, 128]], # Fixed Dice Special
                     [[1, 6], [1, 25], [1, 55], [1, 69]], # Weapons
                     [[2, 6], [2, 33], [2, 34], [2, 69]], # Shield
                     [[2, 66], [2, 68], [2, 70], [2, 146]], # Armor
                     [[1, 80], [1, 108], [2, 7], [2, 8]], # Weapon & Shield
                     [[2, 111], [2, 125], [2, 135], [2, 148]] # Relics & Armor
                    ]
    FAST_PRIZE =    [ # If fast prizes is left blank, it will copy normal
                     
                    ]
    SPECIAL_PRIZE = [ # For special auctions, the lone number is the switch
                     [2, [2, 231]],
                     [3, [2, 240]]
                    ]
                   
    #########################             
    ### AI Bidders Config ###
    #########################
   
    ### To add a bidder, use the following format:
    ### ["NAME", Min, Max, Agr, Std, Rbd, Nrm, Fst, Spc]
    ### "NAME" is the name of the bidder. Must be in quotes!
    ### Min is the minimum starting price of an item for them to bid on.
    ###    If an item's starting price is below this, that bidder will never
    ###    appear in the auction.
    ### Max is the highest amount that bidder will ever bid on an item.
    ###    Note that the bidder may still participate even if the max or reserve
    ###    price is higher than their maximum, as long as the starting price
    ###    is equal to or less than it.
    ### Agr determines how aggresively the bidder will bid for an
    ###    item. This is a value from 0 to 100. A value of 0 means they will never
    ###    bid once the reserve has been reached, a value of 100 means they will
    ###    bid without fail once their delay is up unless it would exceed their
    ###    maximum price.
    ### Std is how many frames from the start of the auction until this
    ###    bidder will place a starting bid. Note that the starting bid is 100%
    ###    guaranteed to occur, provided no other bid has been placed by that
    ###    time. So basically, unless the player does first, whichever AI bidder
    ###    has the lowest StartDelay will end up placing the starting bid.
    ### Rbd is how many frames from a previous bid the bidder will wait
    ###    before possibly placing their next bid. Whether or not they actually
    ###    place one is random, dependant on their aggressiveness.
    ### Nrm, Fst and Spc are whether that bidder will take part in normal, fast
    ###    and special auctions respectively.
    ### Note that AI bidders may bid more often than their aggressiveness would
    ###    usually allow for if it's to ensure the reserve price is met. They
    ###    will not exceed their maximum to do so unless you enable them to.
    ### If you need to access them outside this script for any reason, they get
    ###    loaded into $ninjamida_bidders. @name, @min_gold, @max_gold, @aggression,
    ###    @start_delay, @rebid_delay, @auction_types[0=normal, 1=fast, 2=special].
    ###    $ninjamida_bidders is used for both the data and the actively-used object.
    ###
    AI_BIDDERS = [
                  ["Stella", 1, 10000, 35, 30, 240, true, true, true],
                  ["Dona", 1, 22000, 60, 40, 240, true, true, true],
                  ["Gordon", 1, 30000, 33, 30, 240, true, true, true],
                  ["Raine", 1, 32000, 25, 300, 120, true, true, true],
                  ["Maechen", 1, 35000, 80, 300, 240, true, true, true],
                  ["Brahne", 1, 45000, 50, 240, 60, true, true, true],
                  ["Goldor", 1, 75000, 75, 600, 180, false, false, true],
                  ["Setzer", 1, 40000, 40, 120, 30, true, true, false],
                  ["Gestahl", 1, 50000, 15, 60, 90, true, true, true],
                  ["Ellone", 1, 60000, 50, 256, 120, true, true, true],
                  ["Don Corneo", 1, 100000, 90, 450, 150, false, false, true],
                  ["Shera", 1, 20000, 20, 150, 60, true, true, true]
                 ]
    ### To ensure that the reserve price is met, you can allow AI bidders to
    ### exceed their maximum bid if the going price is less than reserve. They
    ### still will only do so if none of the AI bidders in the auction have a
    ### maximum price higher than the reserve. It's reccomended to enable this
    ### just in case you set an item's reserve higher than any of your bidders.
    ALLOW_EXCESS_BID = true
    ### Select how many AI bidders will be present in an auction. The bidders
    ### who enter will be randomly selected, and when possible at least one will
    ### have a maximum price equal or higher than the item's reserve price. Note
    ### that if not enough valid bidders (by price range or auction type) exist,
    ### fewer than this may end up being selected. If enough are available, this
    ### amount will always be picked.
    NUM_AI_BIDDERS = 4
    ### You can set points at which the AI bidders will get more aggressive to
    ### ensure the reserve is met. This is a global setting to all AI bidders.
    ### These are set as a % of the remaining auction time. Once the reserve is
    ### met, aggressiveness returns to normal. If any is set to 0, it will
    ### not occur.
    LOW_AGR_POINT = 75   # At this point, aggressiveness increases
    MID_AGR_POINT = 50   # At this point, aggressiveness raises to 100%
    HIGH_AGR_POINT = 25  # At this point, rebid delay is halved
    ### Please note that no check is performed at the end to ensure that reserve
    ### is met. Therefore, if your bidders aren't aggressive enough and/or these
    ### high aggression points aren't used, there is a chance the player will be
    ### able to buy items for lower than the reserve price.
    ### If anyone wants to know, the increase at the low agression point will
    ### halve their chance of *not* bidding. So basically:
    ### new_agr = 100 - ((100 - agr) / 2)
   
  end
end

### Auction Scene

class Scene_Auction < Scene_Base
 
  ### Setup Scene ###
  def start
    super
    pick_auction_offers
    $game_switches[Ninjamida::Auction::RESERVED_SWITCH] = not(@special_offer.nil?)
    create_help_window
    create_atype_window
    create_gold_window
    create_offer_window
    create_process_window
    finish_setup_atype_window
  end
 
  ### Pick the prize selections
  def pick_auction_offers
    normaloffers = Ninjamida::Auction::NORMAL_PRIZE.clone
    fastoffers = Ninjamida::Auction::FAST_PRIZE.clone
    specialoffers = Ninjamida::Auction::SPECIAL_PRIZE.clone
    fastoffers = normaloffers if fastoffers.empty?
   
    @normal_offer = normaloffers[rand(normaloffers.size)]
    @fast_offer = fastoffers[rand(fastoffers.size)]
   
    specialpool = []
    specialoffers.each do |spof|
      specialpool += [spof] if $game_switches[spof[0]]
    end
   
    if specialpool.empty?
      @special_offer = nil
    else
      @special_offer = specialpool[rand(specialpool.size)].clone
      @special_offer.delete_at(0)
      $game_party.unique_items_won.each do |it|
        @special_offer.delete(it)
      end
      @special_offer = nil if @special_offer.empty?
    end

  end
 
  ### Create Help Window
  def create_help_window
    @help_window = Window_AuctionHelp.new
    @help_window.viewport = @viewport
  end
 
  ### Create Auction Type Window
  def create_atype_window
    @atype_window = Window_AuctionType.new
    @atype_window.set_handler(:standard,  method(:start_standard_auction))
    @atype_window.set_handler(:fast,      method(:start_fast_auction))
    @atype_window.set_handler(:special,   method(:start_special_auction))
    @atype_window.set_handler(:cancel,    method(:return_scene))
  end
 
  ### These need to be run for atype after ALL windows set up.
  def finish_setup_atype_window
    @atype_window.offers = [@normal_offer, @fast_offer, @special_offer]
    @atype_window.offer_window = @offer_window
    @atype_window.help_window = @help_window
  end
 
  ### Create Gold Window
  def create_gold_window
    @gold_window = Window_AuctionGold.new
    @gold_window.y = @help_window.height + @atype_window.height
  end
 
  ### Create Offer Window
  def create_offer_window
    @offer_window = Window_AuctionOffer.new
    @offer_window.unselect
    @offer_window.deactivate
    @offer_window.set_handler(:cancel,    method(:return_type))
    @offer_window.set_handler(:ok,        method(:start_auction))
    @offer_window.help_window = @help_window
  end
 
  ### Create Process Window
  def create_process_window
    @process_window = Window_AuctionProcess.new
    @process_window.help_window = @help_window
  end
 
  ### Select Standard Auction
  def start_standard_auction
    @auction_type = 0
    @duration = Ninjamida::Auction::NORMAL_DURATION
    @extend = Ninjamida::Auction::NORMAL_EXTEND
    to_offer_window
  end
 
  ### Select Fast Auction
  def start_fast_auction
    @auction_type = 1
    @duration = Ninjamida::Auction::FAST_DURATION
    @extend = Ninjamida::Auction::FAST_EXTEND
    to_offer_window
  end
 
  ### Select Special Auction
  def start_special_auction
    @auction_type = 2
    @duration = Ninjamida::Auction::SPECIAL_DURATION
    @extend = Ninjamida::Auction::SPECIAL_EXTEND
    to_offer_window
  end
 
  ### Activate Item Selection
  def to_offer_window
    @atype_window.deactivate
    @offer_window.select(0)
    @offer_window.activate
  end
 
  ### Return to Type Selection
  def return_type
    @offer_window.unselect
    @offer_window.deactivate
    @atype_window.activate
  end
 
  ### Start The Auction
  def start_auction
    case @auction_type
    when 0
      @prize = @normal_offer[@offer_window.index]
    when 1
      @prize = @fast_offer[@offer_window.index]
    when 2
      @prize = @special_offer[@offer_window.index]
    end
    case @prize[0]
    when 0
      @prize = $data_items[@prize[1]]
    when 1
      @prize = $data_weapons[@prize[1]]
    when 2
      @prize = $data_armors[@prize[1]]
    end
    @process_window.start_point = Graphics.frame_count
    @process_window.duration = @duration
    @process_window.display_help_message
    @opponents = select_other_bidders
    @auction_length = @duration
    reset_other_bidders
    run_auction
  end
 
  def select_other_bidders
    start_price = @prize.auction_start_price
    potentials = []
    $ninjamida_bidders.each do |bidder|
      bidder_okay = bidder.auction_types[@auction_type]
      bidder_okay = false if start_price > bidder.max_gold
      bidder_okay = false if start_price < bidder.min_gold
      potentials += [bidder] if bidder_okay
    end
    return [$ninjamida_bidders[0]] if potentials.empty?
    until potentials.size <= Ninjamida::Auction::NUM_AI_BIDDERS
      potentials.delete_at(rand(potentials.size))
    end
    return potentials
  end
 
  def reset_other_bidders
    @opponents.each do |opp|
      opp.reset
    end
  end   
 
  ### Run The Auction
  def run_auction
    @price = @prize.auction_start_price
    @reserve = @prize.auction_reserve_price
    @maxprice = @prize.auction_max_price
    @increm = @prize.auction_increment
    @gold = $game_party.gold
   
    @leading_bidder = -2
    @messages = ['', '', '']
   
    update_action_time(true)
   
    until @duration == 0
      check_player_bid
      check_cpu_bid
      check_aggression_updates if @price < @reserve
      next_frame
      @process_window.display_help_message if Ninjamida::Auction::SHOW_REMAINING_TIME
    end
   
    if @leading_bidder == -1
      process_player_win
    else
      process_cpu_win
    end
  end
 
  def process_player_win
    winmsg = sprintf(Ninjamida::Auction::WIN_TEXT, @prize.name, eval(Ninjamida::Auction::PLAYER_NAME), @price, $data_system.currency_unit)
    new_line(winmsg)
    $game_party.gain_item(@prize, 1)
    $game_party.lose_gold(@price)
    Ninjamida::Auction::WIN_ITEM_SFX.play
    wait_for_ok
  end
 
  def process_cpu_win
    losemsg = sprintf(Ninjamida::Auction::LOSE_TEXT, @prize.name, $ninjamida_bidders[@leading_bidder].name, @price, $data_system.currency_unit)
    new_line(losemsg)
    Ninjamida::Auction::LOSE_ITEM_SFX.play
    wait_for_ok
  end
 
  def wait_for_ok
    @help_window.set_text(Ninjamida::Auction::FINISHED_HELP_TEXT)
    until Input.trigger?(:C)
      update_basic
    end
    return_scene
  end
 
  def check_player_bid
    if Input.trigger?(:C)
      if not(@price + @increm > @gold or @leading_bidder == -1)
        update_action_time
        @leading_bidder = -1
        Ninjamida::Auction::PLAYER_BID_SFX.play
        increase_bid
      else
        Ninjamida::Auction::CANT_BID_SFX.play
      end
    end
  end
 
  def check_cpu_bid
    return false if @price >= @prize.auction_max_price
    @opponents.each do |ai_bidder|
      unless @leading_bidder == ai_bidder.id
        if ai_bidder.place_bid?(@price + @increm)
          update_action_time
          @leading_bidder = ai_bidder.id
          increase_bid
          Ninjamida::Auction::AI_BID_SFX.play
        end
      end
    end
  end
 
  def check_aggression_updates
    set_aggression(1) if @duration == (@auction_length * 100 / Ninjamida::Auction::LOW_AGR_POINT).to_i
    set_aggression(2) if @duration == (@auction_length * 100 / Ninjamida::Auction::MID_AGR_POINT).to_i
    set_aggression(3) if @duration == (@auction_length * 100 / Ninjamida::Auction::HIGH_AGR_POINT).to_i
  end
 
  def check_first_bid
    if @leading_bidder == -2
      @opponents.each do |ai_bidder|
        ai_bidder.first_bid
      end
    end
  end
 
  def set_reserve_met
    @opponents.each do |ai_bidder|
      ai_bidder.reserve_met
    end
  end
 
  def set_aggression(agrlevel)
    @opponents.each do |ai_bidder|
      ai_bidder.set_aggression_level(agrlevel)
    end
  end
 
  def increase_bid
    @price += @increm
    if @leading_bidder == -1
      new_line(make_bid_text(eval(Ninjamida::Auction::PLAYER_NAME), @price))
    else
      new_line(make_bid_text($ninjamida_bidders[@leading_bidder].name, @price))
    end
    set_reserve_met if @price >= @reserve
    check_extension
  end
 
  def check_extension
    if @duration < @extend
      @duration += @extend
      @auction_length += @extend
      @process_window.duration = @auction_length
    end
  end
 
  def update_action_time(initializing = false)
    check_first_bid if not initializing
    @opponents.each do |ai_bidder|
      ai_bidder.set_last_action(Graphics.frame_count)
    end
  end
 
  def make_auction_message(updatewindow=true)
    outmsg = @messages[0] + "\n" + @messages[1] + "\n" + @messages[2]
    @process_window.update_message(outmsg) if updatewindow
    return outmsg
  end
 
  def new_line(nltext, updatewindow=true)
    @messages.delete_at(2)
    @messages = [nltext] + @messages
    make_auction_message if updatewindow
  end
 
  def make_bid_text(bidder, bidamt)
    bidtxt = sprintf(Ninjamida::Auction::BID_TEXT, bidder, bidamt, $data_system.currency_unit)
    return bidtxt
  end
 
  ### Advance Frame
  def next_frame
    @duration -= 1
    update_basic
  end
 
end

class Game_Party < Game_Unit
 
  attr_accessor :unique_items_won
 
  alias ninjamida_auction_initialize initialize
  def initialize
    ninjamida_auction_initialize
    @unique_items_won = []
  end
 
end

class Ninjamida_AuctionBidder
 
  attr_accessor :id
  attr_accessor :name
  attr_accessor :min_gold
  attr_accessor :max_gold
  attr_accessor :aggression
  attr_accessor :start_delay
  attr_accessor :rebid_delay
  attr_accessor :auction_types
 
  def initialize(id)
    @id = id
    @name = Ninjamida::Auction::AI_BIDDERS[id][0]
    @min_gold = Ninjamida::Auction::AI_BIDDERS[id][1]
    @max_gold = Ninjamida::Auction::AI_BIDDERS[id][2]
    @aggression = Ninjamida::Auction::AI_BIDDERS[id][3]
    @start_delay = Ninjamida::Auction::AI_BIDDERS[id][4]
    @rebid_delay = Ninjamida::Auction::AI_BIDDERS[id][5]
    normal_auction = Ninjamida::Auction::AI_BIDDERS[id][6]
    fast_auction = Ninjamida::Auction::AI_BIDDERS[id][7]
    special_auction = Ninjamida::Auction::AI_BIDDERS[id][8]
    @auction_types = [normal_auction, fast_auction, special_auction]
    reset
  end
 
  def reset
    @last_action = Graphics.frame_count
    @aggression_level = 0
    @first_bid_placed = false
    @reserve_met = false
  end
 
  def set_last_action(action_time)
    @last_action = action_time
  end
 
  def set_aggression_level(level)
    @aggression_level = level
  end
 
  def first_bid
    @first_bid_placed = true
  end
 
  def reserve_met
    @aggression_level = 0
    @reserve_met = true
  end
   
  def place_bid?(item_price)
    return false if not check_bid_time
    return false if not check_bid_price(item_price)
    set_last_action(Graphics.frame_count)
    return determine_bid
  end
 
  def aggression
    case @aggression_level
    when 0
      return @aggression
    when 1
      return 100 - ((100 - @aggression) / 2)
    else
      return 100
    end
  end
 
  def check_bid_time
    delay = @rebid_delay
    delay = @start_delay if not @first_bid_placed
    delay /= 2 if @aggression_level == 3
    return true if Graphics.frame_count >= @last_action + delay
    return false
  end
 
  def check_bid_price(item_price)
    return true if Ninjamida::Auction::ALLOW_EXCESS_BID and not(@reserve_met)
    return true if item_price < @max_gold
    return false
  end
 
  def determine_bid
    return true if rand(100) < aggression
    return false
  end 
 
end

module DataManager
  class << self
   
    alias ninjamida_auction_create_game_objects create_game_objects
    def create_game_objects
      ninjamida_auction_create_game_objects
      $ninjamida_bidders = self.load_auction_bidders
    end
   
    def load_auction_bidders
      bidders = []
      Ninjamida::Auction::AI_BIDDERS.each_index do |id|
        bidders += [Ninjamida_AuctionBidder.new(id)]
      end
      return bidders
    end
  end
end

###### Auction Windows ######

### Customized Help Window
class Window_AuctionHelp < Window_Help

end

### Customized Gold Window
class Window_AuctionGold < Window_Gold
 
  ### Change Width
  def window_width
    return Ninjamida::Auction::TYPE_WINDOW_WIDTH
  end
 
end

### New window: Auction Type Window
class Window_AuctionType < Window_Command
 
  ### Setup Window
  def initialize
    super(0, fitting_height(2))
    @help_texts = [Ninjamida::Auction::NORMAL_DESC,
                   Ninjamida::Auction::FAST_DESC,
                   Ninjamida::Auction::SPECIAL_DESC]
  end
   
  ### Add The Options
  def make_command_list
    spswitch = $game_switches[Ninjamida::Auction::RESERVED_SWITCH]
    add_command(Ninjamida::Auction::NORMAL_AUCTION, :standard, true)
    add_command(Ninjamida::Auction::FAST_AUCTION, :fast, true)
    add_command(Ninjamida::Auction::SPECIAL_AUCTION, :special, spswitch)
  end
 
  ### Show Help Comments
  def update_help
    @help_window.set_text(@help_texts[@index])
    @offer_window.set_item_hash(@offers[@index])
  end
 
  ### Change The Width
  def window_width
    return Ninjamida::Auction::TYPE_WINDOW_WIDTH
  end
 
  ### Change The Height
  def window_height
    return Graphics.height - (fitting_height(2) + fitting_height(3) + fitting_height(1))
  end
 
  ### Set Hashes
  def offers=(offers)
    @offers = offers
  end
 
  ### Set Offer Window
  def offer_window=(offwin)
    @offer_window = offwin
  end
 
end

### New window: Auction Offer Window
class Window_AuctionOffer < Window_ItemList
 
  ### Setup Window
  def initialize
    super(Ninjamida::Auction::TYPE_WINDOW_WIDTH, fitting_height(2), window_width, window_height)
  end
 
  ### Change The Width
  def window_width
    return Graphics.width - Ninjamida::Auction::TYPE_WINDOW_WIDTH
  end
 
  ### Change The Height
  def window_height
    return Graphics.height - (fitting_height(2) + fitting_height(3))
  end
 
  ### Change Displayed Hash
  def set_item_hash(itemhash)
    @itemset = []
    if not itemhash.nil?
      itemhash.each do |thishash|
        case thishash[0]
        when 0
          @itemset += [$data_items[thishash[1]]]
        when 1
          @itemset += [$data_weapons[thishash[1]]]
        when 2
          @itemset += [$data_armors[thishash[1]]]
        end
      end
    end
    refresh
    return @itemset
  end
 
  ### Show Current Offers
  def make_item_list
    @data = @itemset
  end

  ### Override Showing Item By Type
  def include?(item)
    return true
  end
 
  ### Don't show items side-by-side
  def col_max
    return 1
  end
 
  ### Replace number display with starting price. Heh. Kludgy but works.
  def draw_item_number(rect, item)
    draw_text(rect, sprintf(item.auction_start_price.to_s + $data_system.currency_unit), 2)
  end
 
  ### Override the enable setting
  def enable?(item)
    $game_party.gold >= item.auction_start_price
  end
 
end

### Auction Processing Window
class Window_AuctionProcess < Window_Base
 
  def initialize
    super(0, Graphics.height - fitting_height(3), window_width, window_height)
    self.y = Graphics.height - fitting_height(3)
    self.openness = 255
  end
 
  def window_width
    Graphics.width
  end
 
  def window_height
    fitting_height(3)
  end
 
  def help_window=(help_window)
    @help_window = help_window
  end
 
  def start_point=(start_point)
    @start_point = start_point
  end
 
  def duration=(duration)
    @duration = duration
  end
 
  def display_help_message
    text = Ninjamida::Auction::FIRST_LINE + "\n" + Ninjamida::Auction::SECOND_LINE
    if Ninjamida::Auction::SHOW_REMAINING_TIME
      remtime = (Graphics.frame_count - @start_point)
      remtime = @duration - remtime
      remtime /= 60
      text += remtime.to_s + "s"
    end
    @help_window.set_text(text)
  end
 
  def update_message(text)
    create_contents
    draw_text_ex(0, 0, text)
  end
 
end
 

### Modify item structure so it can include auction data
class RPG::BaseItem
 
  def auction_start_price
    if @auction_start_price.nil?
      if @note =~ /<(?:start price):[ ](\d+)>/i
        @auction_start_price = $1.to_i
      else
        @auction_start_price = Ninjamida::Auction::DEFAULT_START_PRICE
      end
    end
    @auction_start_price
  end
 
  def auction_reserve_price
    if @auction_reserve_price.nil?
      if @note =~ /<(?:reserve price):[ ](\d+)>/i
        @auction_reserve_price = $1.to_i
      else
        @auction_reserve_price = Ninjamida::Auction::DEFAULT_RESERVE_PRICE
      end
    end
    @auction_reserve_price
  end
 
  def auction_max_price
    if @auction_max_price.nil?
      if @note =~ /<(?:max price):[ ](\d+)>/i
        @auction_max_price = $1.to_i
      else
        @auction_max_price = Ninjamida::Auction::DEFAULT_MAX_PRICE
      end
    end
    @auction_max_price
  end
 
  def auction_increment
    if @auction_increment.nil?
      if @note =~ /<(?:increment):[ ](\d+)>/i
        @auction_increment = $1.to_i
      else
        @auction_increment = Ninjamida::Auction::DEFAULT_INCREMENT
      end
    end
    @auction_increment
  end
 
  def auction_unique
    if @auction_unique.nil?
      if @note =~ /<(?:unique)>/i
        @auction_unique = true
      else
        @auction_unique = false
      end
    end
    @auction_unique
  end
 
end



Instructions

can be found inside the script


Compatibility

it may not work properly when changing window files


Credits and Thanks


  • Ninjamida




Author's Notes

this was used in a final fantasy game, so thats why the final fantasy music
3
RMVX Ace Script Database / [VXA] Custom Save File
January 25, 2013, 06:43:56 am
Custom Save File
Authors: various
Version: 1.0
Type: save file editor
Key Term: Title / Save / Load / GameOver Add-on



Introduction

this script changes your extension/name to the one you desire


Features


  • have your own custom savefile suchs as "Save.variouss" or anything else you want




Screenshots

screenshots of a save file is kinda boring...


Demo

not needed since its only for save files


Script

Spoiler: ShowHide
#==================#
# Custom Save File #
#==================#===========================#
# This script allows you to easily change your #
# save file name and extension                 #
#                                              #
# Instructions:                                #
#  add it in script database and change        #
#  here extension and filename                 #
#==============================================#

module DataManager
#================#
# Customization: #
#================#==================================================#
# SAVEFILENAME is the details before the number and extension       #
# SAVEFILEEXTENSION is the extension of the file, defail is Rvdata2 #
#===================================================================#
  SAVEFILENAME   = "SAVE"
  SAVEFILEEXTENSION = "Rvdata2"
  def self.save_file_exists?
    !Dir.glob(SAVEFILENAME + "*" + SAVEFILEEXTENSION).empty?
  end
  def self.make_filename(index)
    sprintf(SAVEFILENAME + "%02d." + SAVEFILEEXTENSION, index + 1)
  end
end



Instructions

add the script in your script database and fill in the extension and filename


Credits and Thanks


  • Various




Author's Notes

i dont know if this is compatible with xp and vx , i dont own xp anymore so if someone tests and it works please tell me
4
First Person Labyrint Explorer
Authors: MGC
Version: V1.5
Type: First Person System
Key Term: Custom Environment System



Introduction

First of all, this is not my script, i just add it because it isnt on the forum yet

this is a first person system made by MGC


Features


  • Supports compatability with H-mode7 (V.1.4.4)

  • Activable only on certain maps

  • Supports forward/backward movement, strafe left/right and 90° rotation

  • Mapping with RMXP editor

  • 4 different resolutions to prevent lag

  • Supports events opacity and blending type




Limitations


  • This engine is not suited for moving events (it may work though)

  • Idem for animations : launched animations are displayed above all

  • No more than 8 different textures per tileset (8 for walls / 8 for ceiling / 8 for floor)

  • No jump




Screenshots




Demo

http://www.mediafire.com/?ci88bxoqs7o7tvl


Instructions

Mapping

Floor, walls and ceiling
In the RMXP editor, the first layer represents the floor, the second layer the walls and the third layer the ceiling.
A FPLE tileset has three lines of 8 tiles, and each line must have a corresponding file of textures.
The first line of the tileset is used for the floor, the second line for walls, and the third for the ceiling.
Passages must be set to these values :



The three files of textures that you have to create must be named tileset_name_Ground, tileset_name_Wall and tileset_name_Ceiling (height = 8 * width).
The three must have the same dimensions per tileset.
You can obtain the maximal quality by using 640 * 5120px files (in the demo the textures have a width of 480px).

To activate FPLE mode for a map, add [FPLE] to its name.

Events

Events chraracters are displayed vertically (like walls), centered and always facing the player by default.
Using the "Comment..." event command, you can modify the rendering :
"Type 0" : the character surface always face the player (default value)
"Type 1" : in the RMXP editor's view, the character surface is horizontal. So if the player's direction is up or down in the absolute frame of reference, the surface will be facing the player, and if the direction is left or right, the surface will be rendered like a "side" wall.
"Type 2" : in the RMXP editor's view, the character surface is vertical.
"Stretch" : the picture is stretched to fit a wall's dimensions. This option is set by default if the dimensions of the picture to display are too big.
"V-Align 0" : vertical alignment : top (only if not stretched).
"V-Align 1" : vertical alignment : center - default value (only if not stretched).
"V-Align 2" : vertical alignment : down (only if not stretched).
"D-Align 0", "D-Align 1", "D-Align 2" : depth alignment, only for types 1 and 2, see diagram below.



Technical parameters

The resolution affects the quality of the rendering only during movements.
You can adjust the value in the Game_System class (fple_resolution).

Surfaces are rendered within a fixed distance, arbitrarily defaulted to 6 squares.
You can adjust the default value in the Game_System class (fple_view_distance) or use the event command :
$game_temp.set_view(value)
Use lower values to increase performances.

To prevent surfaces popping, a "light" distance specify in how much squares the opacity of surfaces will be null. This fading works with OPACITY : without panorama, as the background is black, surfaces will be darker and darker with the distance.
This fading distance is arbitrarily defaulted to 5 squares. You can adjust the default value in the Game_System class (fple_light_distance) or use the event command :
$game_temp.set_light(value)

There are two other events commands that modify progressively this distance (+/- 1) :
$game_temp.increase_light
$game_temp.decrease_light

This fading effect can be deactivated with a distance value of 0;


Compatibility

Not compatible with any script that modifies the maps


Credits and Thanks


  • 99.9% credits to MGC for making the script

  • 0.1% credits to me for posting it

5
hi people :P

ive found a Show Event Name script that was perfect for my game but i got an error when trying

this script uses a ''Comment : Show Name'' to show the name of the event but i got this error

''Script 'Show event name' line 210: typeError occurred.''
''cannot convert nil into string''

line 210 is part of this :
Spoiler: ShowHide

 #--------------------------------------------------------------------------
 # * Draw Name
 #--------------------------------------------------------------------------
 def draw_name
   if defined? Bitmap.draw_hemming_text
     @name_event.bitmap.draw_hemming_text(0, 0, 100, 20, @char ,4)
   else
     @name_event.bitmap.draw_text(0, 0, 100, 20, @char ,4)
   end
 end


this is line 210      @name_event.bitmap.draw_text(0, 0, 100, 20, @char ,4)


this is the full script (if maybe more is wrong)

Spoiler: ShowHide
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# [Xp/Vx] Show Event Name
# Version: 3.14
# Author : LiTTleDRAgo
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:
#
# Explanation:
#
#   - This script shows event name in map
#
# Instructions:
#
#   - Setup the few configurations below.  
#   - This script uses comments in the event's pages at any line.
#    
#     Comment : Show Name
#
#   That's all
#
#   To show name actor, set the event name to \a[ ActorID ]
#   To show value of variable, set to \v[ VariableID ]
#
#  Extra Function
#     \fontsize[ Size ]
#     \bold
#     \italic
#     \fontname[ Fontname ]
#     \color[ R, G, B, ALPHA ]
#     \sn[ Name ]
#
#  Press Z and C together to turn on the name on / off
#
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:

module EventName

 FONT        = ['Calibri',12]   # Font Name and Font Size
 BOLD        = true             # Toggle Bold
 ITALIC      = true             # Toggle Italic
 PLAYER_NAME = true             # Show the player name too?
 SWITCH      = 50               # Switch for Disable Show Event Name
 PRESS_BTN   = [Input::A,       # (Z Keyboard XP) (Shift Keyboard VX)
                Input::C]       # (C/Enter Keyboard XP) (Z/Enter Keyboard VX)
 COLOR       = Color.new(255,255,255,240) # Color Default
 POSITION    = "A"              # A = Above, B = Below
 RANGE       = 3                # Range from character to show the name

end



#------------------------------------------------------------------------------
# SDK Check
#------------------------------------------------------------------------------
if Object.const_defined?('SDK')
SDK.log('Show Event Name', 'LiTTleDRAgo', 3, '03.02.11')
@event_name_disabled = !SDK.enabled?('Show Event Name')
end

if !@event_name_disabled
 
Sprite_Base = RPG::Sprite  if !defined? Sprite_Base
#==============================================================================
# ** Sprite_EventName
#------------------------------------------------------------------------------
#  This sprite is used to display Event Name. It observes a instance of the
# Game_Character class and automatically changes sprite conditions.
#==============================================================================
class Sprite_EventName < Sprite_Base
 
 FONT          = EventName::FONT
 BOLD          = EventName::BOLD
 ITALIC        = EventName::ITALIC
 PLAYER_NAME   = EventName::PLAYER_NAME
 DIS_EV_SWITCH = EventName::SWITCH
 PRESS_BTN     = EventName::PRESS_BTN
 COLOR         = EventName::COLOR
 POS           = EventName::POSITION
 RANGE         = EventName::RANGE
 #--------------------------------------------------------------------------
 # * Public Instance Variables
 #--------------------------------------------------------------------------
 attr_accessor :character
 #--------------------------------------------------------------------------
 # * Object Initialization
 #     viewport  : viewport
 #     character : character (Game_Character)
 #--------------------------------------------------------------------------
 def initialize(v,character)
   super(v)
   @character = character
   @name_event = Sprite.new
   @name_event.bitmap = Bitmap.new(100,280)
   @name_event.visible = true
   refresh_name
   update
 end
 #--------------------------------------------------------------------------
 # * Coloring
 #--------------------------------------------------------------------------
 def coloring
   size, name, bold, italic, color = FONT[1], FONT[0], BOLD, ITALIC, COLOR
     if $xrxs_xas
       @char.gsub!(/<Enemy(\d+)>/i) do color = Color.new(255,0,0,240) end
     elsif $BlizzABS && @character.is_a?(Map_Battler)
       case @character.ai.group
       when 1 then color = Color.new(0  , 0  , 255, 240)
       when 2 then color = Color.new(255, 0  , 0  , 240)
       when 3 then color = Color.new(128, 128, 128, 240)
       when 4 then color = Color.new(128, 128, 128, 240)
       when 5 then color = Color.new(255, 255, 0  , 240)
       when 6 then color = Color.new(0  , 255, 0  , 240)
       end
     end
     @char.gsub!(/\\fontsize\[(\d+)\]/) do size   = $1.to_i  end
     @char.gsub!('\\bold')              do bold   = true     end
     @char.gsub!('\\italic')            do italic = true     end
     @char.gsub!(/\\fontname\[(.*?)\]/) do name   = $1.to_s  end
     @char.gsub!(/\\color\[(\d+),(\d+),(\d+),(\d+)\]/) do
       color = Color.new($1.to_i,$2.to_i,$3.to_i,$4.to_i)    end
   @name_event.bitmap.font.name   = name
   @name_event.bitmap.font.bold   = bold
   @name_event.bitmap.font.italic = italic
   @name_event.bitmap.font.size   = size
   @name_event.bitmap.font.color  = color
 end
 #--------------------------------------------------------------------------
 # * Check Name
 #--------------------------------------------------------------------------
 def event_name_check
   @char.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
   @char.gsub!(/\\[Aa]\[([0-9]+)\]/) { !$game_actors[$1.to_i].nil? ?
                                       $game_actors[$1.to_i].name : ''}
   @char.gsub!(/\\fontsize\[(\d+)\]/) {''}
   @char.gsub!('\\bold')              {''}
   @char.gsub!('\\italic')            {''}
   @char.gsub!(/\\fontname\[(.*?)\]/) {''}
   @char.gsub!(/\\color\[(\d+),(\d+),(\d+),(\d+)\]/) {''}
   if $xrxs_xas
     @char.gsub!(/<Footstep>/i) {''}
     @char.gsub!(/<Throw(\d+)>/i) {''}
     @char.gsub!(/<Somaria(\d+)>/i) {''}
     @char.gsub!(/<Hookshot(\d+)>/i) {''}
     @char.gsub!(/<Enemy(\d+)>/i) { !$data_enemies[$1.to_i].nil? ?
                                    $data_enemies[$1.to_i].name : ''}
   end
   @char.gsub!(/\\[Ss][Nn]\[(.*?)\]/) do @char = $1.to_s end
 end
 #--------------------------------------------------------------------------
 # * Update
 #--------------------------------------------------------------------------
 def update
   super
   if @tile_id != @character.tile_id or
       @character_name != @character.character_name or
       (!rpgvx? && @character_hue != @character.character_hue)
     @tile_id, @character_name = @character.tile_id, @character.character_name
     @character_hue = @character.character_hue  if !rpgvx?
     refresh_name
   end
   return @name_event.visible = false if !DIS_EV_SWITCH.nil? and
      (@character.opacity < 50 or $game_switches[DIS_EV_SWITCH])
   visibility if !PRESS_BTN.nil?
   if @name_event.visible
     refresh_name if @cw.nil?
     @name_event.x = @character.screen_x - (@cw.nil? ? 0 : @cw /2)
     @name_event.y = @character.screen_y - (POS == "A" ? @ch : 0)
     @name_event.z = 1
     @name_event.opacity    = @character.opacity
     @name_event.blend_type = @character.blend_type
     @name_event.bush_depth = @character.bush_depth
   end
 end
 #--------------------------------------------------------------------------
 # * Refresh
 #--------------------------------------------------------------------------
 def refresh_name
   return if @name_event.nil? or @name_event.bitmap.nil? or
   @name_event.disposed? or !@name_event.visible or @character.name_effect.nil?
   @name_event.bitmap.clear
   @character.name_effect.each {|@char| coloring; event_name_check }
   draw_name if ($BlizzABS && @character.is_a?(Map_Actor) && PLAYER_NAME) or
           ($BlizzABS && @character.is_a?(Map_Enemy) && @character.nametag) or
           (@character.is_a?(Game_Event) && @character.nametag) or
           (@character.is_a?(Game_Player) && PLAYER_NAME) or
           ($xas_caterpillar && @character.is_a?(Game_Party) && PLAYER_NAME)
   @x_frame, @y_frame = 4, 4
   if POS == "A"
     if rpgvx?
       @cw = @name_event.bitmap.width / @x_frame / 2
       @ch = @name_event.bitmap.height / @y_frame - 40
       return
     end
     bit = RPG::Cache.character(@character.character_name,
         @character.character_hue)
     @cw = bit.width / @x_frame / 2
     @ch = bit.height / @y_frame + 15
   else
     @cw = @name_event.bitmap.width / @x_frame / 2
     @ch = @name_event.bitmap.height / @y_frame - 40
   end
 end
 #--------------------------------------------------------------------------
 # * Draw Name
 #--------------------------------------------------------------------------
 def draw_name
   if defined? Bitmap.draw_hemming_text
     @name_event.bitmap.draw_hemming_text(0, 0, 100, 20, @char ,4)
   else
     @name_event.bitmap.draw_text(0, 0, 100, 20, @char ,4)
   end
 end
 #--------------------------------------------------------------------------
 # * Dispose
 #--------------------------------------------------------------------------
 def dispose
   super
   @name_event.dispose
 end
 #--------------------------------------------------------------------------
 # * Visibility
 #--------------------------------------------------------------------------
 def visibility
   pressed = Input.press?(PRESS_BTN[0]) && Input.trigger?(PRESS_BTN[1])
   if RANGE != nil && !@pressed
     x = ($game_player.x-@character.x).abs+($game_player.y-@character.y).abs
     @name_event.visible = (x <= RANGE)
   end
   if !@pressed && pressed
     @name_event.visible, @pressed = false, true
   elsif @pressed && pressed
     @name_event.visible, @pressed = true, false
   end
 end  
end

#==============================================================================
# ** Kernel
#==============================================================================
module Kernel
 def rpgvx?() return (defined? Graphics.resize_screen) end
end
 
Cache = RPG::Cache if !defined? Cache
#==============================================================================
# ** Game_Party
#------------------------------------------------------------------------------
#  This class handles the party. It includes information on amount of gold
# and items. The instance of this class is referenced by $game_party.
#==============================================================================
class Game_Party
 #--------------------------------------------------------------------------
 # * Name
 #--------------------------------------------------------------------------
 def name_effect() leader_name  end
 #--------------------------------------------------------------------------
 # * Leader Name
 #--------------------------------------------------------------------------
 def leader_name
   return @actors[0].nil? ? '' : @actors[0].name if !rpgvx?
   return members[0].nil? ? '' : members[0].name
 end  
end

#==============================================================================
# ** Game_Event
#------------------------------------------------------------------------------
#  This class deals with events. It handles functions including event page
# switching via condition determinants, and running parallel process events.
# It's used within the Game_Map class.
#==============================================================================
class Game_Event
 #--------------------------------------------------------------------------
 # * Name
 #--------------------------------------------------------------------------
 def name_effect() @event.name  end
 #--------------------------------------------------------------------------
 # * Nametag
 #--------------------------------------------------------------------------
 def nametag
   return (!@list.nil? && @list.any? {|i| i.code == 108 &&
     i.parameters == ['Show Name']})
 end
end

#==============================================================================
# ** Game_Player
#------------------------------------------------------------------------------
#  This class handles maps. It includes event starting determinants and map
# scrolling functions. The instance of this class is referenced by $game_map.
#==============================================================================
class Game_Player
 #--------------------------------------------------------------------------
 # * Name
 #--------------------------------------------------------------------------
 def name_effect() return $game_party.leader_name end
end

#==============================================================================
# ** Map Battler
#------------------------------------------------------------------------------
#  This class handles battlers in Blizz ABS
#==============================================================================
if $BlizzABS  
 class Map_Battler
   def name_effect() return @battler.name end
   def nametag
     return (!@list.nil? && @list.any? {|i| i.code == 108 &&
       i.parameters == ['Show Name']})
   end
 end
end

#==============================================================================
# ** Scene_Map
#------------------------------------------------------------------------------
#  This class performs the map screen processing.
#==============================================================================
class Scene_Map
 attr_accessor :spriteset
end

 #--------------------------------------------------------------------------
 # * Refresh Name
 #--------------------------------------------------------------------------
 def refresh_name(val=nil)  
   return $scene.spriteset.eventname[val].refresh_name if !val.nil?
   $scene.spriteset.eventname.each {|i| i.refresh_name}
 end
 
#==============================================================================
# ** Spriteset_Map
#------------------------------------------------------------------------------
#  This class brings together map screen sprites, tilemaps, etc. It's used
# within the Scene_Map class.
#==============================================================================
class Spriteset_Map
 
 PRESS_BTN     = EventName::PRESS_BTN
 #--------------------------------------------------------------------------
 # * Public Instance Variables
 #--------------------------------------------------------------------------
 attr_accessor :eventname
 #--------------------------------------------------------------------------
 # * Main Processing
 #--------------------------------------------------------------------------
 def init_eventname
   @eventname = []
   @eventname[0] = Sprite_EventName.new(@viewport1,$game_player)  
   ($game_map.events.keys.sort).each {|i|
     @eventname[i] = Sprite_EventName.new(@viewport1,$game_map.events[i])}
 end
 #--------------------------------------------------------------------------
 # * Frame Update
 #--------------------------------------------------------------------------
 alias update_eventname_earlier update
 def update
   @eventname.nil? ? init_eventname : @eventname.each {|i|i.update if !i.nil?}
   update_eventname_earlier
 end  
 #--------------------------------------------------------------------------
 # * Dispose
 #--------------------------------------------------------------------------
 alias dispose_eventname dispose
 def dispose
   @eventname.each {|i| i.dispose if !i.nil?}
   dispose_eventname
 end
end
#--------------------------------------------------------------------------
# SDK Check End
#--------------------------------------------------------------------------
end
#--------------------------------------------------------------------------
# END OF SCRIPT
#--------------------------------------------------------------------------


in my eyes it would be perfect and would have no problem, does someone know whats wrong ? or is it something i use

''Scripts i use''
Spoiler: ShowHide

Item storage - game_guy
Anti Event Lag System - Zeriab
Blacksmith System - ForeverZer0
Multi Slot - Guillaume777
Quest System - (sorry dunno the author)


Maybe the script aint compatible with one of the scripts im using

greets, various
6
hi people :P
im using an multi slot script and an visual equipment script but the problem is
im having more slots and so i want more visual equipment things (i tryd to change some things myself but it didnt worked

underneath i have the scripts, maybe someone has time to change it so it works

Visual Equipment
Spoiler: ShowHide
#==============================================================================
# ** Visual_Equipment Re-Edited (version Lambda)
#------------------------------------------------------------------------------
#    Written by Rataime
#    New Edits by DerVVulfman
#    February 25, 2008
#------------------------------------------------------------------------------
#
#------------------------------------------------------------------------------
# Revisions to note:
#  1) Added formatted headers and comments throughout the script.
#  2) Encapsulated the working code in a Visual Equipment module.
#  3) Set the equipment array into an instance value to lower resource costs.
#  4) Discovered a 'nil' $game_party bug.  Added 'return if...' statements.
#  5) Removed unnecessary Window_SaveFile edit.
#  6) Interpreter routine for 'Change Equipment' now aliased.
#  7) Interpreter routine for 'Change Equipment' now changes visible equipment.
#  8) Support for 'Change Party Members' now works, even w/ Large Party systems.
#  9) 'Change Equipment' now compatible with Fukuyama's Train Actor script.
# 10) System should now be usable with or without RMXP SDK.
# 11) Support for cancelled 'Continues' in the Title Menu.
#------------------------------------------------------------------------------
# ** Changing party members or equipment while still visible on the map will
# ** force the map to refresh, giving a slight pause.
#==============================================================================



#==============================================================================
# ** module Visual Equipment
#------------------------------------------------------------------------------
#  This module handles the image name and equipment drawing process.
#==============================================================================

module Visual_Equipment
 module_function
 
  #========================================================================
  #  **  C  O  N  F  I  G  U  R  A  T  I  O  N      S  Y  S  T  E  M  **  #
  #========================================================================
   # Caterpillar Systems
   CATERPILLAR_COMPATIBLE      = false   # Toggle for Fukuyama's original  
   SQUAD_MOVE_COMPATIBLE       = false   # Toggle for Near Fantastica's SBABS
   CCOA_CATER_COMPATIBLE       = false    # Toggle for Ccoa's Caterpillar
   TRICKSTER_CATER_COMPATIBLE  = false   # Toggle for Trickster's Caterpillar
   
 #--------------------------------------------------------------------------
 # * Get image file
 #     type     : type of equipment (if specified)
 #     item_id  : WeaponID or Armor_ID passed
 #--------------------------------------------------------------------------
 def get_file(type, item_id)
   case type
     # Weapons
     when 5
       return ""   if item_id == 1
     # Body Armor
     when 1
       return ""  if item_id == 20

     # Helmets
     when 2
       return ""     if item_id == 6      
       
     # Shields
     when 3
       
     # Accessories
     when 4
     
     else

     end    
     return nil
   end
 #--------------------------------------------------------------------------
 # * Add Sprite to Visual Array
 #--------------------------------------------------------------------------
 def add_sprite(i, type, item_id)
   sprite = get_file(type, item_id)
   return if sprite == nil
   @visual_equipment[i + 1].push(sprite)
 end
 #--------------------------------------------------------------------------
 # * Update Visual Equipment
 #--------------------------------------------------------------------------
 def equip_update
   @visual_equipment = Array.new
   return if $game_party == nil
   for i in 0..$game_party.actors.size
     @visual_equipment[i + 1] = []
   end
   # Sort through actors
   for i in 0...$game_party.actors.size
     add_sprite(i, 5, $game_party.actors[i].weapon_id) # Add the Weapon
     add_sprite(i, 1, $game_party.actors[i].armor3_id) # Add the Body Armor
     add_sprite(i, 2, $game_party.actors[i].armor2_id) # Add the Helmet
     add_sprite(i, 3, $game_party.actors[i].armor4_id) # Add the Accessory
     add_sprite(i, 4, $game_party.actors[i].armor1_id) # Add the Shield
   end
   #------------------------------------------------------------------------
   # * Visual Equipment Functions
   #------------------------------------------------------------------------
   RPG::Cache.clear
   return if $game_party == nil
   for i in 0...$game_party.actors.size
     for img in @visual_equipment[i + 1]
       bitmap = RPG::Cache.character($game_party.actors[i].character_name,
                     $game_party.actors[i].character_hue)
       if img != true and img != false
         add_equip(bitmap, img, i)
       end
     end
   end
 end
 #--------------------------------------------------------------------------
 # * Add Equipment
 #     sprite    : Original sprite bitmap
 #     to_add    : Equipment characterset
 #     character : Member in party
 #--------------------------------------------------------------------------
 def add_equip(sprite, to_add, character)
   return if $game_party == nil
   bmp = Sprite.new
   bmp.visible = false
   bmp.bitmap  = RPG::Cache.character(to_add,
                     $game_party.actors[character].character_hue)
   color = bmp.bitmap.get_pixel(0, 0)
   x = sprite.width
   y = sprite.height
   if @visual_equipment[0]
     x = x/4
     y = y/4
   end
   for i in 0..x
     for j in 0..y
       color_get = bmp.bitmap.get_pixel(i, j)
       if color_get != color
         sprite.set_pixel(i, j ,color_get)
       end
     end
   end
   bmp = nil
 end
end  



#==============================================================================
# ** Game_Temp
#------------------------------------------------------------------------------
#  This class handles temporary data that is not included with save data.
#  Refer to "$game_temp" for the instance of this class.
#==============================================================================

class Game_Temp
 #--------------------------------------------------------------------------
 # * Public Instance Variables
 #--------------------------------------------------------------------------
 attr_accessor :visual_transfer          # Equipment changed in field switch
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 alias visual_initialize initialize
 def initialize
   # Perform the original call
   visual_initialize
   @visual_transfer = false              # Equipment changed in field
 end
end



#==============================================================================
# ** Sprite_Character
#------------------------------------------------------------------------------
#  This sprite is used to display the character.It observes the Game_Character
#  class and automatically changes sprite conditions.
#==============================================================================

class Sprite_Character < RPG::Sprite
 #--------------------------------------------------------------------------
 # * Frame Update
 #--------------------------------------------------------------------------
 alias visual_update update
 def update
   
   # Perform the original call
   visual_update
   # Update with the equipment
   if @character.direction != @character.old_d
     Visual_Equipment.equip_update
     @character.old_d = @character.direction
   end
 end
end

#==============================================================================
# ** Scene_Equip
#------------------------------------------------------------------------------
#  This class performs equipment screen processing.
#==============================================================================

class Scene_Equip
 #--------------------------------------------------------------------------
 # * Alias Listings
 #--------------------------------------------------------------------------  
 alias visual_update_right update_right
 #--------------------------------------------------------------------------
 # * Frame Update (when right window is active)
 #--------------------------------------------------------------------------
 def update_right
   # If B button was pressed
   if Input.trigger?(Input::B)
     # Update with the equipment
     Visual_Equipment.equip_update
     # Play cancel SE
     $game_system.se_play($data_system.cancel_se)
     # Switch to menu screen
     $scene = Scene_Menu.new(2)
     return
   end
   # Perform the original call
   visual_update_right
 end
end



#==============================================================================
# ** Game_Player
#------------------------------------------------------------------------------
#  This class handles the player. Its functions include event starting
#  determinants and map scrolling. Refer to "$game_player" for the one
#  instance of this class.
#==============================================================================

class Game_Player < Game_Character
 #--------------------------------------------------------------------------
 # * Alias Listings
 #--------------------------------------------------------------------------  
 alias visual_update update
 #--------------------------------------------------------------------------
 # * Frame Update
 #--------------------------------------------------------------------------  
 def update
   # Do not perform during equipment transfer
   return if $game_temp.visual_transfer == true
   # Perform the original call
   visual_update
 end
end



#==============================================================================
# ** Interpreter
#------------------------------------------------------------------------------
#  This interpreter runs event commands. This class is used within the
#  Game_System class and the Game_Event class.
#==============================================================================
class Interpreter
 #--------------------------------------------------------------------------
 # * Alias Listings
 #--------------------------------------------------------------------------  
 alias visual_command_129 command_129
 alias visual_command_319 command_319
 #--------------------------------------------------------------------------
 # * Change Party Member
 #--------------------------------------------------------------------------
 def command_129
   # Perform the original call
   visual_command_129
   # Update with the equipment
   Visual_Equipment.equip_update
   # Continue
   return true    
 end
 #--------------------------------------------------------------------------
 # * Change Equipment
 #--------------------------------------------------------------------------
 def command_319
   # Perform the original call
   visual_command_319
   # Update with the equipment
   Visual_Equipment.equip_update
   # Turns the transfer system on
   $game_temp.visual_transfer = true
   # Switch to map screen
   $scene = Scene_Map.new    
   # Continue
   return true
 end
end



#==============================================================================
# ** Scene_Map
#------------------------------------------------------------------------------
#  This class performs map screen processing.
#==============================================================================

class Scene_Map
 #--------------------------------------------------------------------------
 # * Alias Listings
 #--------------------------------------------------------------------------  
 alias visual_update update
 #--------------------------------------------------------------------------
 # * Frame Update
 #--------------------------------------------------------------------------  
 def update
   # Perform the original call
   visual_update
   # Turns equipment transfer system off
   $game_temp.visual_transfer = false if $game_temp.visual_transfer == true
 end
end



#==============================================================================
# ** Game_Character
#------------------------------------------------------------------------------
#  This class deals with characters. It's used as a superclass for the
#  Game_Player and Game_Event classes.
#==============================================================================

class Game_Character
 #--------------------------------------------------------------------------
 # * Public Instance Variables
 #--------------------------------------------------------------------------  
 attr_accessor :character_hue
 attr_accessor :old_d
end



#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
#  This class handles the actor. It's used within the Game_Actors class
#  ($game_actors) and refers to the Game_Party class ($game_party).
#==============================================================================

class Game_Actor < Game_Battler
 #--------------------------------------------------------------------------
 # * Alias Listings
 #--------------------------------------------------------------------------  
 alias visual_setup setup
 #--------------------------------------------------------------------------
 # * Setup
 #     actor_id : actor ID
 #--------------------------------------------------------------------------  
 def setup(actor_id)
   # Perform the original call
   visual_setup(actor_id)
   @character_hue = (@character_hue+1)%256
 end
end



#==============================================================================
# ** Scene_Load
#------------------------------------------------------------------------------
#  This class performs load screen processing.
#==============================================================================

class Scene_Load < Scene_File
 #--------------------------------------------------------------------------
 # * Alias Listings
 #--------------------------------------------------------------------------  
 alias visual_read_save_data read_save_data
 alias visual_on_cancel on_cancel
 #--------------------------------------------------------------------------
 # * Cancel Processing
 #--------------------------------------------------------------------------  
 def on_cancel
   # Update with the equipment
   Visual_Equipment.equip_update
   # Perform the original call
   visual_on_cancel
 end
 #--------------------------------------------------------------------------
 # * Read Save Data
 #     file : file object for reading (opened)
 #--------------------------------------------------------------------------
 def read_save_data(file)
   # Perform the original call
   visual_read_save_data(file)
   # Update with the equipment
   Visual_Equipment.equip_update
 end
end



#==============================================================================
# ** Scene_Save
#------------------------------------------------------------------------------
#  This class performs save screen processing.
#==============================================================================

class Scene_Save < Scene_File
 #--------------------------------------------------------------------------
 # * Alias Listings
 #--------------------------------------------------------------------------  
 alias visual_on_decision on_decision
 alias visual_on_cancel on_cancel
 #--------------------------------------------------------------------------
 # * Cancel Processing
 #--------------------------------------------------------------------------  
 def on_cancel
   # Update with the equipment
   Visual_Equipment.equip_update
   # Perform the original call
   visual_on_cancel
 end
 #--------------------------------------------------------------------------
 # * Decision Processing
 #--------------------------------------------------------------------------  
 def on_decision(file)
   # Update with the equipment
   Visual_Equipment.equip_update
   # Perform the original call
   visual_on_decision(file)
 end
end



#==============================================================================
# ** Scene_Title
#------------------------------------------------------------------------------
#  This class performs title screen processing.
#==============================================================================

class Scene_Title
 #--------------------------------------------------------------------------
 # * Alias Listings
 #--------------------------------------------------------------------------  
 alias visual_command_new_game command_new_game
 #--------------------------------------------------------------------------
 # * Command: New Game
 #--------------------------------------------------------------------------  
 def command_new_game
   # Perform the original call
   visual_command_new_game
   # Update with the equipment
   Visual_Equipment.equip_update
 end
end



Multi slot module
Spoiler: ShowHide
#==============================================================================
# Multi-slot equipment script
#------------------------------------------------------------------------------
# Section 1:  Modules
#------------------------------------------------------------------------------
# Guillaume777
# 6.2.2
# 2006/02/14
#==============================================================================

# To change slots of character
#     $game_actors[1].weapon_slots = [0,0]
#     $game_actors[1].armor_slots = [2,3,4,5,6,7]
#
# To make armor equipable in new slot :
#     Add (5) in its name, where 5 is its slot number
# To make 2handed weapons :
#     Add an element called 2handed to a weapon
#     or, adds its id in TWO_HANDED_WEAPONS = []
#     or, adds (2handed) in its name
# To make a weapon double attack
#     Add an element called 2attacks to a weapon
#     or, adds its id in DOUBLE_ATTACK_WEAPONS = []
#     or, adds (2atks) in its name
# To make a weapon/armor cursed
#     Adds its id in CURSED_WEAPONS or CURSED_ARMORS, or
#     put (cursed) in its name
# To make a weapon require an offhand instead of any weapon
#     Adds its id in NEEDS_OFFHAND or
#     Adds (needs_offhand) in its name

#==============================================================================
# *** MODULE:  Guillaume777's Multi-Slot Module
#------------------------------------------------------------------------------
#  This is the configuration module of the Multi-Slot system.  It allows you to
#  set the default names of your slots, tag your weapons and/or armors for many
#  types of enhancements and features, and etc.
#==============================================================================
module G7_MS_MOD
 
 #--------------------------------------------------------------------------
 # * Configuration Section
 #--------------------------------------------------------------------------
 #========Set weapon/armor properties ======================================
 CURSED_WEAPONS        = []             # ids of weapons to be cursed
 CURSED_ARMORS         = []             # ids of armors to be cursed
 TWO_HANDED_WEAPONS    = [98]             # ids of 2handed weapons
 DOUBLE_ATTACK_WEAPONS = [87]             # ids of double attack weapons
 NEEDS_OFFHAND         = []             # ids of weapons requiring an offhand

 SWITCH_EQUIP_WEAPONS  = []  # ids of weapons switched when equipped
 SWITCH_EQUIP_ARMORS   = []  # ids of switched armors(same above)
 # Use 1 array, first value of array = false item, second value = true item
 #
 # First value in the above arrays is displayed in the weapons/armors you can
 # choose.  When the weapon/armor is chosen, the second id value IS the weapon
 # or armor that you've chosen.  Example:  Trick someone to equip a cursed bow.

 #=========Set weapon/armor properties with element tagging and name edit===
 CURSED_STRING = 'cursed'  # put (cursed) in item name for it to be cursed
 HANDS_ELEMENT = 'handed'  # no. of hands in front of HANDS_ELEMENT in database
 HANDS_STRING  = 'handed'  # name of string in item name like (2handed)

 MULTI_ATTACK_ELEMENT = 'attacks' # name of element to tag to multi attacks
                                  # like (2attacks)
 MULTI_ATTACK_STRING = 'atks'     # string in item name, like (3atks)

 NEEDS_OFFHAND_STRING = 'needs_offhand' #string in item name if the weapon
                                        #needs an offhand like (needs_offhand)
                                       
 #=====Set character slots properties =======================================
 WEAPON_KINDS = [0]                     # number of weapons,  0 = weapon
 WEAPON_KIND_NAMES = []  # custom name of extra weapon slots
 WEAPON_KIND_POWERS = [100]           # 100 = normal power, 90 = 90% power
                                           # Leave empty or put nil inside
                                           # if you want the default names.
 ARMOR_KINDS = [1,2,3,5,6,7,8,9,10,]
 # 1 = shield
 # 2 = helmet
 # 3 = armor
 # 4 = acc
 # 5 = and more : extra slot
 EXTRA_SLOT_NAMES = ['Leg armor','Cape','Gauntlet','Boots','Amulet','Ring']
 # Name of the extra slots in equip window
 # You need as many words as there are '5' or more in armor_kinds
 # The first order of the slots names reflect the order of the 5 in armor_kinds
 # Put (5) or more to in the armor name to have it assigned to the extra slot


 #=============Set multi-weapon behavior====================================
 IGNORE_OFFHAND          = false # ignore off_hand support
 TWOHANDED_IN_OFFHAND    = true  # If false don't show two handed weapons in
                                 # the offhand window
 ALL_WEAPONS_FOR_SKILLS  = true  # true  = combined pwr of all weaps for skills
                                 # false = only power of first weapon
 SHIELD_HAND_SLOT        = 1     # slot number to be used for shield hand
 WEAPON_SHIELD_SHARE     = false  # if true, can't use a shield and a second
                                 # weapon at the same time
 SHIELD_HAND_WIELD       = true  # true = can use shield hand for 2handed weap.
 WEAPON_HAND_WIELD       = true  # true = can use weapon hand for 2handed weap.
 MULTI_WEAPONS_PENALITY  = 0     # percent of atk that will be subtracted if
                                 # you use two weapons at the same time.
                                 
 #============Set appearance properties ====================================
 FONT_NAME       = 'Arial'      # Font to use
 CURSED_COLOR    = Color.new(255, 50, 50)  # Color of cursed equiped items
 SHOW_REMOVE     = false                   # Show empty in offhand window

 WINDOWS_STRETCH = true    # true : equip_right stretch to adjust to # of slots
 MAX_SHOW_SLOTS  = 6       # Maximum number of slots in 1 screen in equip right
                           # window.  Useless if windows_stretch = false
 HELP_AT_BOTTOM  = false   # If true,  will leave place for help window at bot-
                           # tom.  Useless if you didn't modify the help window
                           # y-coordinate.

 STATUS_WINDOW_ARRANGE = true  # If true, you get a new status window.
 STATUS_WINDOW_SPACING = 24    # Space between each item in new status window.
 EVADE                 = false # If draw_actor_parameter is configured to
                               # receive parameter number 7 (evade), then it
                               # will show in new status window.
 # EVADE = true has no effect if STATUS_WINDOW_ARRANGE is false
 
 #================ end of settings =========================================

 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 def initialize
   super
   RPG.set_new_item_types #fix armor and weapon properties at start of game
 end
 #--------------------------------------------------------------------------
 # * End of MODULE:  Guillaume777's Multi-Slot Module
 #--------------------------------------------------------------------------
end



#============================================================================
# ** MODULE:  RPG Module
#----------------------------------------------------------------------------
#  This sprite is used as an arrow cursor for the battle screen. This class
#  is used as a superclass for the Arrow_Enemy and Arrow_Actor classes.
#============================================================================
module RPG
 #--------------------------------------------------------------------------
 # * Set New Item Types
 #--------------------------------------------------------------------------
 def RPG.set_new_item_types
   if @initialized_item_types then return end
   for armor in $data_armors     # for each armor
     unless armor == nil         # if armor
       armor.set_adv_type        # set new type
       armor.set_cursed          # set if item is cursed or not
     end
   end
   for weapon in $data_weapons  # for each armor
     unless weapon == nil       # if armor
       weapon.set_needs_offhand # set if it needs an offhand or not
       weapon.set_nb_hands      # set the number of hands to wield it
       weapon.set_nb_attacks    # set the number of attacks it can do
       weapon.set_cursed        # set if item is cursed or not
     end
   end
   @initialized_item_types = true
 end
 #--------------------------------------------------------------------------
 # * Initialized Item Types
 #     bool      : boolean value (true/false)
 #--------------------------------------------------------------------------  
 def RPG.initialized_item_types=(bool)
   @initialized_item_types = bool
 end
   
 #==========================================================================
 # ** Armor
 #--------------------------------------------------------------------------
 # Data class for armors, adds new armor types
 #==========================================================================
 class Armor
   attr_accessor :cursed
   #------------------------------------------------------------------------
   # * Set Adv Type
   #------------------------------------------------------------------------  
   def set_adv_type
     pattern =  /\((\d+)\)/
     if @name.sub!(pattern, '') != nil
       # Set kind to the number in name of armor
       @kind = $1.to_i - 1
     end
   end
   #------------------------------------------------------------------------
   # * Set Cursed
   #------------------------------------------------------------------------    
   def set_cursed
     pattern = '('+G7_MS_MOD::CURSED_STRING+')'    
     if @name.sub!(pattern, '') != nil then cursed = true end
     if G7_MS_MOD::CURSED_ARMORS.include?(@id) then cursed = true end
     @cursed = cursed
   end
   #------------------------------------------------------------------------
   # * End of Armor Class
   #------------------------------------------------------------------------
 end

 #==========================================================================
 # ** Weapon
 #--------------------------------------------------------------------------
 # Data class for weapons, adds new weapon types
 #==========================================================================
 class Weapon
   #------------------------------------------------------------------------
   # * Public Instance Variables
   #------------------------------------------------------------------------
   attr_accessor :needs_offhand  # does it need an offhand weapon
   attr_accessor :nb_hands       # numbers of hands it requires
   attr_accessor :nb_attacks     # number of attacks it can do
   attr_accessor :cursed         # true if item is cursed
   #------------------------------------------------------------------------
   # * Set Cursed
   #------------------------------------------------------------------------  
   def set_cursed
     pattern = '('+G7_MS_MOD::CURSED_STRING+')'
     if @name.sub!(pattern, '') != nil then cursed = true end
     if G7_MS_MOD::CURSED_WEAPONS.include?(@id) then cursed = true end
     @cursed = cursed
   end
   #------------------------------------------------------------------------
   # * Set Needs OffHand
   #------------------------------------------------------------------------    
   def set_needs_offhand
     pattern = '('+G7_MS_MOD::NEEDS_OFFHAND_STRING+')'
     if @name.sub!(pattern, '') != nil then
       @needs_offhand = true
     elsif G7_MS_MOD::NEEDS_OFFHAND.include?(self.id) then
       @needs_offhand = true
     elsif @needs_offhand== nil then
       @needs_offhand = false
     end
   end
   #------------------------------------------------------------------------
   # * Returns number of hands needed for weapons
   #------------------------------------------------------------------------
   def set_nb_hands
     if G7_MS_MOD::TWO_HANDED_WEAPONS.include?(self.id) then
        nb_hands = 2
     end
     pattern = /\((\d+)#{G7_MS_MOD::HANDS_STRING}\)/
     if @name.sub!(pattern, '') != nil
       nb_hands = $1.downcase.delete('a-z')
       nb_hands = $1.to_i
     end
     # Search through the elements
     for elementnb in self.element_set
       elementname = $data_system.elements[elementnb].downcase
       # If the weapon has an element for another attack
       if elementname.delete('0-9') == G7_MS_MOD::HANDS_ELEMENT.downcase
         # Get the number of attacks
         elementname = elementname.delete('a-z')
         if elementname != '' then
           nb_hands = elementname.to_i
           # Delete the element
           self.element_set.delete(elementnb)
         end
       end
     end
     if nb_hands.is_a?(Integer) == false or nb_hands <= 0 then nb_hands = 1 end
     @nb_hands = nb_hands
   end
   #------------------------------------------------------------------------
   # * Returns the number of attack the weapon can do
   #------------------------------------------------------------------------
   def set_nb_attacks
     if G7_MS_MOD::DOUBLE_ATTACK_WEAPONS.include?(self.id) then
       nb_attacks = 2
     else
       nb_attacks = 1
     end
     pattern = /\((\d+)#{G7_MS_MOD::MULTI_ATTACK_STRING}\)/
     if @name.sub!(pattern, '') != nil
       nb_attacks = $1.downcase.delete('a-z')
       nb_attacks = $1.to_i
     end
     # Search elements that could add more attacks  
     for elementnb in self.element_set
       elementname = $data_system.elements[elementnb].downcase
       # If the weapon has an element for another attack
       if elementname.delete('0-9') == G7_MS_MOD::MULTI_ATTACK_ELEMENT.downcase
         # Get the number of attacks
         elementname = elementname.delete('a-z')
         if elementname != '' then
           nb_attacks = elementname.to_i
           # Delete the element
           self.element_set.delete(elementnb)
         end
       end
     end
     if nb_attacks.is_a?(Integer) == false or nb_attacks <= 0 then nb_attacks = 1 end
     @nb_attacks = nb_attacks
   end
   #------------------------------------------------------------------------
   # * End of CLASS:  Weapon
   #------------------------------------------------------------------------
 end
 #--------------------------------------------------------------------------
 # * End of MODULE:  RPG Module
 #--------------------------------------------------------------------------
end
7
hi everybody

some know im busy with a runescape rpg game
but im having a trouble with the menu and things like that
i want a new menu and some other things for ingame

it must be compatible with blizz-abs !

instead of the old thing : items, equipment, status etc.
i want it like this :

Items
Prayer
Magic
Skills
Equip
Worldmap
Save
Logout


Head menu, prayer, skills and magic

i want it to be like this
(sorry if it sucks but i had to make it with paint lol)
Spoiler: ShowHide


the 1st is the menu
no played time count and no step count
also :
see the character, no SP and no status, like i want it only HP , lvl and prayer lvl
see the gold, no GP or something, a picture of coins instead of text

2nd are the skills
i want it a bit like that, but not that u can click on it, and for a certain ammount of xp you go lvl up (constitution is your level)
like for fishing a lobster : 40xp, and it has to be like the lvl up xp, 1st u need 30 next u need 40 or something (for 21 skills)
it also has to change from 1/1 to 2/2 and higher till 99/99

3th is prayer
prayer has to be like the skills on a normal rpgxp game, but then it consumes prayer instead of SP, u also need a certain level before u can use a prayer


magic
im planning on using the skills on normal rpgxp as a magic book but i need it so you need runes or a staff to cast the spells


equip
im using an special module that allows me to have more equipments so no further things there


worldmap
i want this to call a picture of the worldmap that can be closed by pressing a button


save
dont need a custom thing


logout
this is like quit, but since i want to make it online later i prefer logout



so im asking for allot of stuff
i think it isnt that hard cause with a blacksmith script it can be done like :

Quotedef self.prayer(id)
    return case id
    when 1 then [ID] # prayer 1
    when 2 then [ID] # prayer 2
    when 3 then [ID] # prayer 3
    when 4 then [ID] # prayer 4
    when 5 then [ID] # prayer 5
    when 6 then [ID] # prayer 6
    end
  end


so with prayer it could be the same but then not for items or weapons or something
but for the skills on rpgxp


is this clear or dont ya understand it (my english isnt that great lol)

if someone is willing to make it or has already something that only needs some edits, please reply

thanks, greetings, various
8
Resource Requests / [xp] runescape cannon and stair
November 13, 2011, 03:33:46 pm
okay some know im busy with a rs rpg, but i need some things, a cannon character for on the castle

like this

Spoiler: ShowHide


and i need those stairs on the left and right but then as tile (for tileset)
and for inside i need this kind of stairs

Spoiler: ShowHide


i dunno if it is possible cause the runescape and rpg collors are different (im using most of the normal rpg tiles i can find so it wont look to much like runescape)

if someone can make it, thanks then :P


greets various



[update]

2 more requests

a bank deposit box in rpg style
Spoiler: ShowHide


a  bank booth in rpg style
Spoiler: ShowHide


if possible not for 1 side but like a character for all sides
9
Troubleshooting / Help / [XP]RPG Maker - Portable problem
November 09, 2011, 02:23:52 pm
okay so i downloaded the rpg maker portable and placed it on my usb (i want to make my game at school since i got bored at the computer there -.-)

so i was at school, placed my usb in the port, went to the map and runned the program
and then it started ...

Quotefailed to obtain serial number from ntitles server


so i was thinking, run as admin...
WRONG im already on admin
change compatability ? WRONG IM HAVING WINDOWS XP

so i checked the internet, resetted my router, still error
even tryd to make a shortcut for the program, also failed

when i try to run it at home, also the same error, so i tryd my rpg maker xp, and it worked

why does the rpg maker portable not work for me ?


please some1 that know, best is ForeverZer0 cause its his program



Greets, Various
10
okay as side project im making a city with cars etc
what i did is : i added blizz abs

then added the following to the car

(it doesnt show your name at the change hp []cause u can choose your name)


but now when the car hits me i get the following error



this is the line its saying

    
1349   def get_variable(type, value)
1350      # initialize
1351      var = 1
1352      # branch handling based on variable type
1353      case type
1354      when VARGame # game variable



anyone knows how to fix this ?

greets various :P
11
Script Requests / [xp] Improved equip screen
November 01, 2011, 02:48:35 pm
okay im searching for some scripts/neccesary programs for a improved rpg-xp equip screen

RPGXP

for now rpgxp is limited by :


  • shield

  • helmet

  • body armour

  • accessory






and i want it to be this :


  • shield

  • helmet

  • body armour

  • legs armour*

  • cape

  • boots

  • amulet

  • ring

  • gloves





* Legs and skirts


and for ingame

equip screen now :

Spoiler: ShowHide


equip screen after script :

Spoiler: ShowHide


down on the left is where the equipment would be, maybe a scrolldown box ?


Compatability

Must be compatable with :


  • BLIZZ-ABS

  • RMX-OS





Is there such a script ? or does anyone wanna try to make this ? if yes, thanks, if its to hard then post it underneath (i dont have any idea of how hard scripting is)

Greets various
12
New Projects / [xp] Runescape - RPG
October 30, 2011, 11:51:25 am


okay so this is my 1st project but im already going to use RMX-OS

i know it isnt very good decision to use it that quick but runescape is also online :P

Characters :

i have a few characters that i use devided in 4 clases

Armour for boys (WARRIOR)



Armour for girls (WARRIOR)



Armour for boys (ARCHER)



Armour for girls (ARCHER)




Armour for boys (MAGE)



Armour for girls (MAGE)




Armour for boys (ADVENTURER)



Armour for girls (ADVENTURER)




Items

most of the items that are underneath already have been updated and added more

Weapons




Ores and Bars


bronze bar = 1 copper ore + 1 tin ore
iron bar = 1 iron ore
steel bar = 1 iron ore + 2 coal
mithril bar = 1 mithril ore + 4 coal
adamant bar = 1 adamant ore + 6 coal
rune bar = 1 rune ore + 8 coal

Pickaxes



Working skills
Smithing
Mining
Crafting
Fishing
Cooking
Firemaking
Woodcutting
Fletching
Summoning


Demo Video (V1)

http://www.youtube.com/watch?v=1G2vY4w4FEI



playable demo

http://www.mediafire.com/?tbqupt1qpab8ch9
13
Troubleshooting / Help / [xp] price above 999999
October 30, 2011, 11:43:26 am
okay hi everybody :P

im having a problem with my newest project made by rpg-xp


Whats the problem :

im making a runescape style game with a max cash of  2,147,483,647 coins
but my problem is for adding a shop

the rpgxp maker provides only up to 999.999 coins (999999) of price but i want to have a item with a price of 1.247.994 coins (1247994) what cant be placed on the bar



Is there a possibility that u people know how to get it above 999999 ?

this is my 1st project but i have pretty much already

smithing working
mining working
crafting working
fishing working
cooking working
firemaking working
woodcutting working
fletching working
summoning working

but the max of 999999 as price is my big problem

hope to get something

greets variouss :P