Страница 98 из 190 ПерваяПервая ... 488896979899100108148 ... ПоследняяПоследняя
Показано с 971 по 980 из 1899

Тема: Поиск скриптов

  1. #971
    Маститый Аватар для HopeBree
    Информация о пользователе
    Регистрация
    27.03.2013
    Сообщений
    1,204
    Записей в дневнике
    6
    Репутация: 38 Добавить или отнять репутацию

    По умолчанию

    Item Almanac v1.2
    Спойлер Item Almanac v1.2:
    PHP код:
    =begin
    ================================================================================
                                  
    Item Almanac v1.2
                                    by wltr3565
    ================================================================================
    This is mainly for my projectNo item library scripts or something for items?
    Come onwhy only enemies?! We need an item library for hardcore collecting 
    challenges
    you know!
    ================================================================================
    Features:
    Auto flag for acquired items!
    Customizeable for list showing between itemsweapons, and armors!
    Integration with variables!
    Easy use of script commands!
    Auto command install! (Thanks to KGC)
    Commentary for items! (Thanks to Yanfly)
    Flag between collectible items and uncollectible itemsIn case for key items.
    PLUG AND PLAY! If you're lazy to setup this.
    ================================================================================
    How it will work:
    This script tracks your item collection. If you get an item, the item will be
    flaged that you already had it. And your collected items will be shown in the
    almanac. You can check the item collecting progession via script command that
    will be instructed below.
    ================================================================================
    How to Use:
    There are several functions available in the items'
    (ItemsWeapons, and Armors)
    note tags:

    - <
    Almanac out>
    If 
    an item has that tag includedthat item will not be added in the almanac
    no matter whatSuggested if the item is a key itemMore information can be
    read at DEFAULT_DOCUMENTATION
    .

    - <
    Almanac com_ontext <Almanac com_off>
    That tag will make the comment for the itemThe comment will be shown in the 
    almanac
    The text between the tags will be the one to be shown as the comment.
    You can use several message functions for the text like /and /vDon't forget
    to add | for each new lines. The use is like this:

    <almanac com_on>
    comment
    <almanac com_off>

    - <Almanac graphic name>
    The items' 
    imageOnly useful when GRAPHIC_USE below is trueThe item's image 
    must be added in Graphics/Pictures folder. 
    Example:
    <Almanac graphic club>
    You'
    ll have an image with a filename "club" for the item's image.

    And some script commands to access the almanac for events (inside [] is 
    optional):

    - $game_system.complete_almanac
    That command will make the almanac to be fully completed. I suggest to NOT use
    it for the main gameplay. That command will ruin the collecting fun because 
    the collection is already complete!

    - $game_system.check_item_get(code, id)
    This will check if the item has been recorded in the almanac. Suggested to use
    in conditional branches. Code is the item code, between "I", "W", and "A". "I"
    for items, "W" for weapons, and "A" for armors. The id is for the item'
    s id to
    check
    Example:
    $game_system.check_item_get("A"5)
    That will check if you've already got the Armor ID 5.

    - $game_system.flag_item_get(code, id[, flag])
    This will alter the almanac record. between "I", "W", and "A". "I"
    for items, "W" for weapons, and "A" for armors. The id is for the item'
    s id
    like this:

    $game_system.flag_item_get("I"2false)
    That will alter the record of getting Item ID 2 to false (Like you haven't got
    it). 
    If you write it like this:

    $game_system.flag_item_get("W", 2)
    That will alter the record of getting Weapon ID 2 to true (Like you already got
    it, even if you haven'
    t).

    $game_system.check_item_completition[(code)]
    This will check if you've already completed the almanac. Returns to true if
    the almanac is already completed. Vice versa if the almanac has not yet been
    completed. Code represents the item code, "I", "W", and "A". You can mix them
    like "IW" (checks both items and weapons) or "WA" (checks both weapons and 
    armors). Writing simply $game_system.check_item_completition will check all 
    items (Items, weapons, and armors).

    - $game_system.check_item_completition_rate[(code, variable)]
    This will get the completition rate of the almanac of the said code. Variable
    represents the variable to store the rate, like this:

    $game_system.check_item_completition_rate("IA", 10)
    That will calculate the completition rate of items and armors, and the rate 
    will be recorded in variable ID 10. Simply write 
    $game_system.check_item_completition_rate will check all items (Items, weapons,
    and armors) without storing the rate to a variable. For conditional branches.
    I don'
    t really suggest to store the rate to a variable since the rate will be
    in a decimal value 
    and might give errors while using that. Use this function
    at your own risk!

    $game_system.check_item_total[(codevariable)]
    This will check the total of available items to be recorded of the said code,
    like this:

    $game_system.check_item_total("A"5)
    That will count the total of collectible armors and store the count in variable
    ID 5.

    $game_system.check_item_get_total[(codevariable)]
    Like abovebut for counting the collected items.

    $scene Scene_Almanac.new[(code)]
    This will open the almanac scene.

    You can do more configurations below.
    ================================================================================
    Install:
    Insert this above main.
    ================================================================================
    Terms of Use:
    Credit mewltr3565. For commercial usescontact me so your game can be 
    included in my free
    -to-play lists :DCrediting who I thanked will be a good
    idea
    .
    ================================================================================
    Thanks:
    CapcomMegaman Battle Network's chip collecting frenzy!
    Yanfly: Method for commenting.
    KGC: Method for adding command in the menu.
    ================================================================================
    =end
    #===============================================================================
    #   COMMENCING COMPATIBILITY FLAG
    #===============================================================================
    $imported = {} if $imported == nil
    $imported["wltr3565'
    s_Item_Almanac"] = true
    #===============================================================================
    #   END COMPATIBILITY FLAG
    #===============================================================================
    module WLTR
      module ALMANAC_SETUP
    #===============================================================================
    # The letter used if the corresponding item is not yet known. Defaultly "
    ?".
    # If the unknown item is named Calibur, the result will be ???????.
    #===============================================================================
        UNKNOWN_WORD = "
    ?"
        
    #===============================================================================
    # The icon id used if the item is not yet known.
    #===============================================================================
        UNKNOWN_ICON = 50

    #===============================================================================
    # Help description for unknown items. Write it in a string.
    #===============================================================================
        UNKNOWN_HELP = "
    ???"
        
    #===============================================================================
    # This will toggle the <Almanac out>'s function. 
    #   true   : Items with <Almanac out> tag will not be added in the almanac.
    #   false  : Items without <Almanac out> tag will not be added in the almanac.
    #===============================================================================
        DEFAULT_DOCUMENTATION = true
        
    #===============================================================================
    # Comment for unknown items. Write it in the string. 
    #===============================================================================
        UNKNOWN_COMMENT = ""
      
    #===============================================================================
    # Image filename for unknown items. Write it in a string. Useable only if
    # GRAPHIC_USE is true.
    #===============================================================================
        UNKNOWN_GRAPHIC = ""
        
    #===============================================================================
    # Space for the item graphic.
    #===============================================================================
        ITEM_GRAPH_HEIGHT = 208
      
    #===============================================================================
    # Text for the page 1 that will tell the item's type. Page 1 will only be 
    # shown if GRAPHIC_USE is true. Add %s for the type.
    #===============================================================================
        PAGE_1_TEXT = "
    Type = %s"

    #===============================================================================
    # The almanac type for show in menu. Type is for deciding the items available 
    # to be shown.
    #   "
    I" = Show items only.
    #   "
    W" = Show weapons only.
    #   "
    A" = Show armors only.
    #   "
    IW" = Show both items and weapons.
    #   "
    IA" = Show both items and armors.
    #   "
    WA" = Show both weapons and armors.
    #   "
    IWA" = Show all of them.
    #===============================================================================
        ALMANAC_SHOW_MENU = "
    IWA"
        
    #===============================================================================
    # Checks if you want to use graphics for items.
    #   true  = use
    #   false = don't use
    #===============================================================================
        GRAPHIC_USE = false
      
    #===============================================================================
    # The sfx while flipping between item pages. The format is:
    # PAGE_FLIP_SE = [filename, volume, pitch]
    #===============================================================================
        PAGE_FLIP_SE = ["
    Book", 80, 100]
        
    #===============================================================================
    # The background image while opening the almanac. The image must be put in 
    # Graphics/System folder. Just write "" if you don't want to use one.
    #===============================================================================
        BACKGROUND = ""
        
    #===============================================================================
    # Checks if you want to let the option for opening the almanac via menu.
    #    true   = make it available to access via menu.
    #    false  = make it not available to access via menu.
    #===============================================================================
        ADD_TO_MENU = true
        
    #===============================================================================
    # The command's name for opening the almanac. Write it in a string.
    #===============================================================================
        ALMANAC_NAME = "
    Item Almanac"
        
    #===============================================================================
    # These will set the icons for coressponding attributes.
    #===============================================================================
        ITEM_ICON = 144 # Item
        WEAPON_ICON = 2 # Weapon
        ARMOR_ICON = 41 # Armor
          
        ELEMENT_ICONS  = {
        #   id => icon_id
            9  => 104, # Fire
            10 => 105, # Ice
            11 => 106, # Thunder
            12 => 107, # Water
            13 => 108, # Earth
            14 => 109, # Wind
            15 => 110, # Holy
            16 => 111, # Darkness
          }
    #===============================================================================
    # Set's the elements available to be shown
    #===============================================================================
        ELEMENTS_SHOWN = [9, 10, 11, 12, 13, 14, 15, 16]
      
    #===============================================================================
    # Setting the icons again.
    #===============================================================================
        PRICE_ICON = 85
        HRECOVERY_PER_ICON = 64
        HRECOVERY_ICON = 64
        MRECOVERY_PER_ICON = 65
        MRECOVERY_ICON = 65
        HP_ICON = 96
        MP_ICON = 97
        ATK_ICON = 1
        DEF_ICON = 52
        SPI_ICON = 18
        MDF_ICON = 57
        AGI_ICON = 48
        
    #===============================================================================
    # This will set the words for corresponding attributes. Always add the % things
    # if there's one. Like "
    HP Heal = %d". Keep the %d in the new one.
    #===============================================================================
        HP_REC_TEXT = "
    HP Heal = %d"
        HP_PER_TEXT = "
    HP Heal = %d%"
        HP_TEXT     = "
    MaxHP = %d"
        MP_REC_TEXT = "
    MP Heal = %d"
        MP_PER_TEXT = "
    MP Heal = %d%"
        MP_TEXT     = "
    MaxMP = %d"
        ATK_TEXT    = "
    Attack = %d"
        DEF_TEXT    = "
    Defense = %d"
        SPI_TEXT    = "
    Intellegence = %d"
        MDF_TEXT    = "
    Resistance = %d"
        AGI_TEXT    = "
    Speed = %d"
        STATUS_ADD_TEXT = "
    Status Effects"
        STATUS_REMOVE_TEXT ="
    Status Remove"
        STATUS_GUARD_TEXT = "
    Status Resistance"
        ELEMENT_ADD = "
    Attack Elements"
        ELEMENT_GUARD = "
    Element Resistance"
        PRICE_TEXT  = "
    Cost = %%s"
        PARAMETER_TEXT = "
    Parameter Boost"
        NO_STATUS_TEXT = "
    None"
        PERCENTAGE_SHOW = "
    Collection Rate = %10.2f%"
      end

    "
    =============================================================================="
    "   
    BELOW IS TOO DANGEROUS TO READ WITHOUT PROPER SCRIPTING SKILLSTHEREFOR,  "
    "                            
    EDIT AT YOUR OWN RISK!                            "
    "
    =============================================================================="
      
      module ALMANAC_REGEXP
        DONT_INCLUDE = /<Almanac out>/i
        COMMENT_ON = /<Almanac com_on>/i
        COMMENT_OFF = /<Almanac com_off>/i
        GRAPHIC = /<Almanac graphic[ ]*(\w+)>/i
      end
    end


    module RPG
      class BaseItem
        attr_accessor :include_flag
        attr_accessor :comment
        attr_accessor :graphic
        
        def scan_almanac_property
          @include_flag = WLTR::ALMANAC_SETUP::DEFAULT_DOCUMENTATION
          @comment = ""; @graphic = "";
          start_comment_scan
          self.note.split(/[\r\n]+/).each { |line|
          case line
          when WLTR::ALMANAC_REGEXP::DONT_INCLUDE
            @include_flag = (!WLTR::ALMANAC_SETUP::DEFAULT_DOCUMENTATION)
          when WLTR::ALMANAC_REGEXP::GRAPHIC
            @graphic = $1.to_s
          end
          }
        end
        
        def start_comment_scan
          read = false
          self.note.split(/[\r\n]+/).each { |line|
          case line
          when WLTR::ALMANAC_REGEXP::COMMENT_ON
            read = true
          when WLTR::ALMANAC_REGEXP::COMMENT_OFF
            read = false
          else
            if read
              @comment += line
            end
          end
          }
          @comment = WLTR::ALMANAC_SETUP::UNKNOWN_COMMENT if @comment == ""
        end
      end
    end

    class Game_System
      attr_accessor :almanac
      
      alias almanac_make initialize
      def initialize
        almanac_make
        
        @almanac = {
        "
    I" => make_item_blank_record,
        
        "
    W" => make_weapon_blank_record,
        
        "
    A" => make_armor_blank_record,
        }
      end
      
      def make_item_blank_record
        result = {}
        (1...
    $data_items.size).each { |i|
            item = 
    $data_items[i]

            item.scan_almanac_property
            result[item.id] = false if item.include_flag
        }
        return result
      end
      
      def make_weapon_blank_record
        result = {}
        (1...
    $data_weapons.size).each { |i|
            item = 
    $data_weapons[i]

            item.scan_almanac_property
            result[item.id] = false if item.include_flag
        }
        return result
      end
      
      def make_armor_blank_record
        result = {}
        (1...
    $data_armors.size).each { |i|
            item = 
    $data_armors[i]

            item.scan_almanac_property
            result[item.id] = false if item.include_flag
        }
        return result
      end
      
      def complete_almanac
        (1...
    $data_items.size).each { |i|
            item = 
    $data_items[i]

            next if !item.include_flag
            @almanac["
    I"][item.id] = true
        }
        (1...
    $data_weapons.size).each { |i|
            item = 
    $data_weapons[i]

            next if !item.include_flag
            @almanac["
    W"][item.id] = true
        }
        (1...
    $data_armors.size).each { |i|
            item = 
    $data_armors[i]

            next if !item.include_flag
            @almanac["
    A"][item.id] = true
        }
      end
      
      def check_item_get(code, id)
        return @almanac[code][id]
      end
      
      def flag_item_get(code, id, flag = true)
        @almanac[code][id] = flag
      end
      
      def check_item_completition(code = "
    IWA")
        if code.include?("
    I")
          (1...
    $data_items.size).each { |i|
            item = 
    $data_items[i]

            next if !item.include_flag
            return false unless @almanac["
    I"][item.id] == true
          }
        end
        if code.include?("
    W")
          (1...
    $data_weapons.size).each { |i|
            item = 
    $data_weapons[i]

            next if !item.include_flag
            return false unless @almanac["
    W"][item.id] == true
          }
        end
        if code.include?("
    A")
          (1...
    $data_armors.size).each { |i|
            item = 
    $data_armors[i]

            next if !item.include_flag
            return false unless @almanac["
    A"][item.id] == true
          }
        end
        return true
      end
      
      def check_item_completition_rate(code = "
    IWA", variable = nil)
        total = 0
        total += @almanac["
    I"].size if code.include?("I")
        total += @almanac["
    W"].size if code.include?("W")
        total += @almanac["
    A"].size if code.include?("A")
        get = 0
        if code.include?("
    I")
          (1...
    $data_items.size).each { |i|
            item = 
    $data_items[i]

            next if !item.include_flag
            get += 1 if @almanac["
    I"][item.id] == true
          }
        end
        if code.include?("
    W")
          (1...
    $data_weapons.size).each { |i|
            item = 
    $data_weapons[i]

            next if !item.include_flag
            get += 1 if @almanac["
    W"][item.id] == true
          }
        end
        if code.include?("
    A")
          (1...
    $data_armors.size).each { |i|
            item = 
    $data_armors[i]

            next if !item.include_flag
            get += 1 if @almanac["
    A"][item.id] == true
          }
        end
        result = 100.0 * get / total
        
    $game_variables[variable] = result if variable != nil
        return result
      end
      
      def check_item_total(code = "
    IWA", variable = nil)
        total = 0
        total += @almanac["
    I"].size if code.include?("I")
        total += @almanac["
    W"].size if code.include?("W")
        total += @almanac["
    A"].size if code.include?("A")
        
    $game_variables[variable] = total if variable != nil
        return total
      end
      
      def check_item_get_total(code = "
    IWA", variable = nil)
        get = 0
        if code.include?("
    I")
          (1...
    $data_items.size).each { |i|
            item = 
    $data_items[i]

            next if !item.include_flag
            get += 1 if @almanac["
    I"][item.id] == true
          }
        end
        if code.include?("
    W")
          (1...
    $data_weapons.size).each { |i|
            item = 
    $data_weapons[i]

            next if !item.include_flag
            get += 1 if @almanac["
    W"][item.id] == true
          }
        end
        if code.include?("
    A")
          (1...
    $data_armors.size).each { |i|
            item = 
    $data_armors[i]

            next if !item.include_flag
            get += 1 if @almanac["
    A"][item.id] == true
          }
        end
        
    $game_variables[variable] = get if variable != nil
        return get
      end
    end

    class Game_Party < Game_Unit
      alias item_record gain_item
      def gain_item(item, n, include_equip = false)
        item_record(item, n, include_equip)
        
        case item
        when RPG::Item
          
    $game_system.almanac["I"][item.id] = true
        when RPG::Weapon
          
    $game_system.almanac["W"][item.id] = true
        when RPG::Armor
          
    $game_system.almanac["A"][item.id] = true
        end
      end
    end

    class Window_Item_Almanac_List < Window_Selectable
      def initialize(x, y, width, height, type = "
    I")
        super(x, y, width, height)
        @type = type
        if type.size == 2
          if type == "
    IW"
            @item_max = 
    $game_system.almanac["I"].size + $game_system.almanac["W"].size
          elsif type == "
    IA"
            @item_max = 
    $game_system.almanac["I"].size + $game_system.almanac["A"].size
          elsif type == "
    WA"
            @item_max = 
    $game_system.almanac["W"].size + $game_system.almanac["A"].size
          end
        elsif type == "
    IWA"
          @item_max = (
    $game_system.almanac["I"].size + $game_system.almanac["W"].size + $game_system.almanac["A"].size)
        else
          @item_max = 
    $game_system.almanac[@type].size
        end
        create_contents
        self.opacity = 0 if WLTR::ALMANAC_SETUP::BACKGROUND != ""
        @real_index = 0
        @real_item_id = []
        @index = 0
        draw_list
      end
      
      def item
        case @type
        when "
    I"; return $data_items[@real_item_id[@index]]
        when "
    W"; return $data_weapons[@real_item_id[@index]]
        when "
    A"; return $data_armors[@real_item_id[@index]]
        end
        if @type.size == 2
          if @type == "
    IW"
            if @index > 
    $game_system.almanac["I"].size - 1
              return 
    $data_weapons[@real_item_id[@index]]
            else
              return 
    $data_items[@real_item_id[@index]]
            end
          elsif @type == "
    IA"
            if @index > 
    $game_system.almanac["I"].size - 1
              return 
    $data_armors[@real_item_id[@index]]
            else
              return 
    $data_items[@real_item_id[@index]]
            end
          elsif @type == "
    WA"
            if @index > 
    $game_system.almanac["W"].size - 1
              return 
    $data_armors[@real_item_id[@index]]
            else
              return 
    $data_weapons[@real_item_id[@index]]
            end
          end
        end
        if @type == "
    IWA"
          if @index > 
    $game_system.almanac["I"].size + $game_system.almanac["W"].size - 1
            return 
    $data_armors[@real_item_id[@index]]
          elsif @index > 
    $game_system.almanac["I"].size - 1
            return 
    $data_weapons[@real_item_id[@index]]
          else
            return 
    $data_items[@real_item_id[@index]]
          end
        end
      end
      
      def draw_list
        case @type
        when "
    I"; size = $data_items.size
        when "
    W"; size = $data_weapons.size
        when "
    A"; size = $data_armors.size
        end
        if @type.size == 2
          if @type == "
    IW"
            size = 
    $data_items.size + $data_weapons.size
          elsif @type == "
    IA"
            size = 
    $data_items.size + $data_armors.size
          elsif @type == "
    WA"
            size = 
    $data_weapons.size + $data_armors.size
          end
          size -= 1
        end
        if @type == "
    IWA"
          size = 
    $data_items.size + $data_weapons.size + $data_armors.size
          size -= 2
        end
        for index in 1...size
          case @type
          when "
    I"; item = $data_items[index]
          when "
    W"; item = $data_weapons[index]
          when "
    A"; item = $data_armors[index]
          end
          if @type.size == 2
            if @type == "
    IW"
              if index > 
    $data_items.size - 1
                item = 
    $data_weapons[index - $data_items.size + 1]
              else
                item = 
    $data_items[index]
              end
            elsif @type == "
    IA"
              if index > 
    $data_items.size - 1
                item = 
    $data_armors[index - $data_items.size + 1]
              else
                item = 
    $data_items[index]
              end
            elsif @type == "
    WA"
              if index > 
    $data_weapons.size - 1
                item = 
    $data_armors[index - $data_weapons.size + 1]
              else
                item = 
    $data_weapons[index]
              end
            end
          end
          if @type == "
    IWA"
            if index > 
    $data_items.size + $data_weapons.size - 2
              item = 
    $data_armors[index - $data_weapons.size - $data_items.size + 2]
            elsif index > 
    $data_items.size - 1
              item = 
    $data_weapons[index - $data_items.size + 1]
            else
              item = 
    $data_items[index]
            end
          end
          draw_item(index) if item.include_flag
        end
      end
      
      def draw_item(index)
        @real_index += 1
        case @type
        when "
    I"; item = $data_items[index]
        when "
    W"; item = $data_weapons[index]
        when "
    A"; item = $data_armors[index]
        end
          if @type.size == 2
            if @type == "
    IW"
              if index > 
    $data_items.size - 1
                item = 
    $data_weapons[index - $data_items.size + 1]
              else
                item = 
    $data_items[index] 
              end
            elsif @type == "
    IA"
              if index > 
    $data_items.size - 1
                item = 
    $data_armors[index - $data_items.size + 1]
              else
                item = 
    $data_items[index]
              end
            elsif @type == "
    WA"
              if index > 
    $data_weapons.size - 1
                item = 
    $data_armors[index - $data_weapons.size + 1]
              else
                item = 
    $data_weapons[index]
              end
            end
          end
        
          if @type == "
    IWA"
            if index > 
    $data_items.size + $data_weapons.size - 2
              item = 
    $data_armors[index - $data_weapons.size - $data_items.size + 2]
            elsif index > 
    $data_items.size - 1
              item = 
    $data_weapons[index - $data_items.size + 1]
            else
              item = 
    $data_items[index]
            end
          end
        rect = item_rect(@real_index - 1)
        self.contents.clear_rect(rect)
        if item != nil
          case item
          when RPG::Item
            code = "
    I"
          when RPG::Weapon
            code = "
    W"
          when RPG::Armor
            code = "
    A"
          end
          known = 
    $game_system.almanac[code][item.id]
          @real_item_id << item.id
          name = item.name
          icon = item.icon_index
          if !known
            count = name.size + 1
            icon = WLTR::ALMANAC_SETUP::UNKNOWN_ICON
            name = ""
            for i in 1...count
              name += WLTR::ALMANAC_SETUP::UNKNOWN_WORD
            end
          end
          rect.width -= 4
          self.contents.draw_text(0, rect.y, 24, rect.height, sprintf("
    %2d", @real_index), 2)
          draw_icon(icon, 24, rect.y, true)
          self.contents.draw_text(rect.x + 48, rect.y, 172, WLH, name)
        end
      end
      
      def update_help
        des = item.description
        case item
        when RPG::Item
          code = "
    I"
        when RPG::Weapon
          code = "
    W"
        when RPG::Armor
          code = "
    A"
        end
        des = WLTR::ALMANAC_SETUP::UNKNOWN_HELP if !
    $game_system.check_item_get(code, item.id)
        @help_window.set_text(item == nil ? "" : des)
      end
    end

    class Window_Almanac_Item_Status < Window_Base
      attr_accessor :item
      attr_accessor :page
      
      def initialize(x, y, width, height, item, page = 1)
        super(x, y, width, height)
        @item = item
        @page = page
        refresh(@page)
        self.opacity = 0 if WLTR::ALMANAC_SETUP::BACKGROUND != ""
      end
      
      def refresh(page)
        @page = page
        self.contents.clear
        case item
        when RPG::Item
          code = "
    I"
        when RPG::Weapon
          code = "
    W"
        when RPG::Armor
          code = "
    A"
        end
        known = 
    $game_system.almanac[code][item.id]
        if !known
          draw_icon(WLTR::ALMANAC_SETUP::UNKNOWN_ICON, 0, 0, true)
          count = item.name.size + 1
          name = ""
          for i in 1...count
            name += WLTR::ALMANAC_SETUP::UNKNOWN_WORD
          end
          self.contents.draw_text(24, 0, 172, WLH, name)
          # Took from Yanfly's
            dy = WLH * 2
            x = 8
            y = WLH * 2
            text = WLTR::ALMANAC_SETUP::UNKNOWN_COMMENT
            return if text == nil
            txsize = 24
            nwidth = 500
            dx = 28; dy = WLH * 2
        
            text.gsub!(/\\V\[([0-9]+)\]/i) { 
    $game_variables[$1.to_i] }
            text.gsub!(/\\V\[([0-9]+)\]/i) { 
    $game_variables[$1.to_i] }
            text.gsub!(/\\N\[([0-9]+)\]/i) { 
    $game_actors[$1.to_i].name }
            lines = text.split(/(?:[|]|\\n)/i)
            lines.each_with_index { |l, i|
            l.gsub!(/\\__(\[\d+\])/i) { "
    \\N#{$1}" }
              
    self.contents.draw_text(0txsize dynwidthWLHl0)}
        else
          
    draw_item_name(item00)
          case 
    item
          when RPG
    ::Item
            icon 
    WLTR::ALMANAC_SETUP::ITEM_ICON
          when RPG
    ::Weapon
            icon 
    WLTR::ALMANAC_SETUP::WEAPON_ICON
          when RPG
    ::Armor
            icon 
    WLTR::ALMANAC_SETUP::ARMOR_ICON
          end
          draw_icon
    (iconself.width 600true)
          
    page += if !WLTR::ALMANAC_SETUP::GRAPHIC_USE
          
    case page
          when 1
            graph 
    Cache.picture(item.graphic)
            
    graph.width
            self
    .contents.blt((self.width 2) - (2) , WLHgraphgraph.rect)
            case 
    item
            when RPG
    ::Item
              type 
    Vocab::item
            when RPG
    ::Weapon
              type 
    Vocab::weapon
            when RPG
    ::Armor
              type 
    Vocab::armor3
            end
            y 
    WLTR::ALMANAC_SETUP::ITEM_GRAPH_HEIGHT
            y 
    WLH if item.graphic == ""
            
    self.contents.draw_text(0yself.width24sprintf(WLTR::ALMANAC_SETUP::PAGE_1_TEXTtype))
          
    when 2
            
    case item
            when RPG
    ::Item
              draw_icon
    (WLTR::ALMANAC_SETUP::HRECOVERY_ICON0WLH*2true)
              
    self.contents.draw_text(24WLH 227224sprintf(WLTR::ALMANAC_SETUP::HP_REC_TEXTitem.hp_recovery))
              
    draw_icon(WLTR::ALMANAC_SETUP::HRECOVERY_PER_ICON0WLH*3true)
              
    self.contents.draw_text(24WLH 327224sprintf(WLTR::ALMANAC_SETUP::HP_PER_TEXTitem.hp_recovery_rate))
              
    draw_icon(WLTR::ALMANAC_SETUP::MRECOVERY_ICON0WLH*4true)
              
    self.contents.draw_text(24WLH 427224sprintf(WLTR::ALMANAC_SETUP::MP_REC_TEXTitem.mp_recovery))
              
    draw_icon(WLTR::ALMANAC_SETUP::MRECOVERY_PER_ICON0WLH*5true)
              
    self.contents.draw_text(24WLH 527224sprintf(WLTR::ALMANAC_SETUP::MP_PER_TEXTitem.mp_recovery_rate))
              
              
    self.contents.draw_text(24WLH 627224WLTR::ALMANAC_SETUP::STATUS_ADD_TEXT)
              
    0
              
    for state in item.plus_state_set   
                status 
    $data_states[state]
                
    draw_icon(status.icon_indexxWLH 7true)
                
    += 24
              end
              self
    .contents.draw_text(24WLH 827224WLTR::ALMANAC_SETUP::STATUS_REMOVE_TEXT)
              
    0
              
    for state in item.minus_state_set
                status 
    $data_states[state]
                
    draw_icon(status.icon_indexxWLH 9true)
                
    += 24
              end
              
              draw_icon
    (WLTR::ALMANAC_SETUP::PRICE_ICON0WLH*10true)
              
    self.contents.draw_text(24WLH 1027224sprintf(WLTR::ALMANAC_SETUP::PRICE_TEXTitem.priceVocab::gold))
              
              
    self.contents.draw_text(0WLH 1127224WLTR::ALMANAC_SETUP::PARAMETER_TEXT1)
              case 
    item.parameter_type
              when 0
                self
    .contents.draw_text(0WLH 1227224WLTR::ALMANAC_SETUP::NO_STATUS_TEXT1)
              
    when 1
                draw_icon
    (WLTR::ALMANAC_SETUP::HP_ICON0WLH 12true)
                
    self.contents.draw_text(24WLH 1227224sprintf(WLTR::ALMANAC_SETUP::HP_TEXTitem.parameter_points))
              
    when 2
                draw_icon
    (WLTR::ALMANAC_SETUP::MP_ICON0WLH 12true)
                
    self.contents.draw_text(24WLH 1227224sprintf(WLTR::ALMANAC_SETUP::MP_TEXTitem.parameter_points))
              
    when 3
                draw_icon
    (WLTR::ALMANAC_SETUP::ATK_ICON0WLH 12true)
                
    self.contents.draw_text(24WLH 1227224sprintf(WLTR::ALMANAC_SETUP::ATK_TEXTitem.parameter_points))
              
    when 4
                draw_icon
    (WLTR::ALMANAC_SETUP::DEF_ICON0WLH 12true)
                
    self.contents.draw_text(24WLH 1227224sprintf(WLTR::ALMANAC_SETUP::DEF_TEXTitem.parameter_points))
              
    when 5
                draw_icon
    (WLTR::ALMANAC_SETUP::SPI_ICON0WLH 12true)
                
    self.contents.draw_text(24WLH 1227224sprintf(WLTR::ALMANAC_SETUP::SPI_TEXTitem.parameter_points))
              
    when 6
                draw_icon
    (WLTR::ALMANAC_SETUP::AGI_ICON0WLH 12true)
                
    self.contents.draw_text(24WLH 1227224sprintf(WLTR::ALMANAC_SETUP::AGI_TEXTitem.parameter_points))
              
    end
            
            when RPG
    ::Weapon
              draw_icon
    (WLTR::ALMANAC_SETUP::ATK_ICON0WLH 2true)
              
    self.contents.draw_text(24WLH 220024sprintf(WLTR::ALMANAC_SETUP::ATK_TEXTitem.atk), 2)
              
    draw_icon(WLTR::ALMANAC_SETUP::DEF_ICON0WLH 3true)
              
    self.contents.draw_text(24WLH 320024sprintf(WLTR::ALMANAC_SETUP::DEF_TEXTitem.def), 2)
              
    draw_icon(WLTR::ALMANAC_SETUP::SPI_ICON0WLH 4true)
              
    self.contents.draw_text(24WLH 420024sprintf(WLTR::ALMANAC_SETUP::SPI_TEXTitem.spi), 2)
              if 
    defined?(CSU) != nil
                draw_icon
    (WLTR::ALMANAC_SETUP::AGI_ICON0WLH 6true) if CSU::SCRIPTLIST.include?("Ultimate Battler Stat")
                
    self.contents.draw_text(24WLH 620024sprintf(WLTR::ALMANAC_SETUP::AGI_TEXTitem.agi), 2) if CSU::SCRIPTLIST.include?("Ultimate Battler Stat")
              else
                
    draw_icon(WLTR::ALMANAC_SETUP::AGI_ICON0WLH 5true)
                
    self.contents.draw_text(24WLH 520024sprintf(WLTR::ALMANAC_SETUP::AGI_TEXTitem.agi), 2)
              
    end
              
    if defined?(CSU)
                
    draw_icon(WLTR::ALMANAC_SETUP::MDF_ICON0WLH 5true) if CSU::SCRIPTLIST.include?("Ultimate Battler Stat")
                
    self.contents.draw_text(24WLH 520024sprintf(WLTR::ALMANAC_SETUP::MDF_TEXTitem.mdf), 2) if CSU::SCRIPTLIST.include?("Ultimate Battler Stat")
              
    end 
              
              self
    .contents.draw_text(24WLH 720024WLTR::ALMANAC_SETUP::ELEMENT_ADD)
              
    0
              
    for el in item.element_set
                next unless WLTR
    ::ALMANAC_SETUP::ELEMENTS_SHOWN.include?(el)
                
    draw_icon(WLTR::ALMANAC_SETUP::ELEMENT_ICONS[el], xWLH 8true)
                
    += 24
              end
              self
    .contents.draw_text(24WLH 920024WLTR::ALMANAC_SETUP::STATUS_ADD_TEXT)
              
    0
              
    for state in item.state_set
                status 
    $data_states[state]
                
    draw_icon(status.icon_indexxWLH 10true)
                
    += 24
              end
            
              draw_icon
    (WLTR::ALMANAC_SETUP::PRICE_ICON0WLH*11true)
              
    self.contents.draw_text(24WLH 1127224sprintf(WLTR::ALMANAC_SETUP::PRICE_TEXTitem.priceVocab::gold))
            
    when RPG::Armor
              draw_icon
    (WLTR::ALMANAC_SETUP::ATK_ICON0WLH 2true)
              
    self.contents.draw_text(24WLH 220024sprintf(WLTR::ALMANAC_SETUP::ATK_TEXTitem.atk), 2)
              
    draw_icon(WLTR::ALMANAC_SETUP::DEF_ICON0WLH 3true)
              
    self.contents.draw_text(24WLH 320024sprintf(WLTR::ALMANAC_SETUP::DEF_TEXTitem.def), 2)
              
    draw_icon(WLTR::ALMANAC_SETUP::SPI_ICON0WLH 4true)
              
    self.contents.draw_text(24WLH 420024sprintf(WLTR::ALMANAC_SETUP::SPI_TEXTitem.spi), 2)
              if 
    defined?(CSU) != nil
                draw_icon
    (WLTR::ALMANAC_SETUP::AGI_ICON0WLH 6true) if CSU::SCRIPTLIST.include?("Ultimate Battler Stat")
                
    self.contents.draw_text(24WLH 620024sprintf(WLTR::ALMANAC_SETUP::AGI_TEXTitem.agi), 2) if CSU::SCRIPTLIST.include?("Ultimate Battler Stat")
              else
                
    draw_icon(WLTR::ALMANAC_SETUP::AGI_ICON0WLH 5true)
                
    self.contents.draw_text(24WLH 520024sprintf(WLTR::ALMANAC_SETUP::AGI_TEXTitem.agi), 2)
              
    end
              
    if defined?(CSU)
                
    draw_icon(WLTR::ALMANAC_SETUP::MDF_ICON0WLH 5true) if CSU::SCRIPTLIST.include?("Ultimate Battler Stat")
                
    self.contents.draw_text(24WLH 520024sprintf(WLTR::ALMANAC_SETUP::MDF_TEXTitem.mdf), 2) if CSU::SCRIPTLIST.include?("Ultimate Battler Stat")
              
    end 
            
              self
    .contents.draw_text(24WLH 720024WLTR::ALMANAC_SETUP::ELEMENT_GUARD)
              
    0
              
    for el in item.element_set
                next unless WLTR
    ::ALMANAC_SETUP::ELEMENTS_SHOWN.include?(el)
                
    draw_icon(WLTR::ALMANAC_SETUP::ELEMENT_ICONS[el], xWLH 8true)
                
    += 24
              end
              self
    .contents.draw_text(24WLH 920024WLTR::ALMANAC_SETUP::STATUS_GUARD_TEXT)
              
    0
              
    for state in item.state_set
                status 
    $data_states[state]
                
    draw_icon(status.icon_indexxWLH 10true)
                
    += 24
              end
            
              draw_icon
    (WLTR::ALMANAC_SETUP::PRICE_ICON0WLH*11true)
              
    self.contents.draw_text(24WLH 1127224sprintf(WLTR::ALMANAC_SETUP::PRICE_TEXTitem.priceVocab::gold))
            
    end
          when 3
            
    # Took from Yanfly's
            
    dy WLH 2
            x 
    8
            y 
    WLH 2
            text 
    = @item.comment
            
    return if text == nil
            txsize 
    24
            nwidth 
    500
            dx 
    28dy WLH 2
        
            text
    .gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] }
            
    text.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] }
            
    text.gsub!(/\\N\[([0-9]+)\]/i) { $game_actors[$1.to_i].name }
            
    lines text.split(/(?:[|]|\\n)/i)
            
    lines.each_with_index { |li|
            
    l.gsub!(/\\__(\[\d+\])/i) { "\\N#{$1}}
              
    self.contents.draw_text(0txsize dynwidthWLHl0)}
          else
            
    custom_page(page)
          
    end
        end
      end
      
      def custom_page
    (page)
    #===============================================================================
    #   Add your own custom script here if you want to add extra part of item pages.
    #===============================================================================


      
    end

    end

    class Scene_Almanac Scene_Base
      def initialize
    (type "IWA")
        @
    type type
      end

      def start
        super
        create_menu_background
        
    if WLTR::ALMANAC_SETUP::BACKGROUND != ""
          
    @background Sprite.new
          @
    background.bitmap Cache.system(WLTR::ALMANAC_SETUP::BACKGROUND)
        
    end
        
    @viewport Viewport.new(00544416)
        @
    help_window Window_Help.new
        @
    help_window.viewport = @viewport
        
    @help_window.opacity if WLTR::ALMANAC_SETUP::BACKGROUND != ""
        
    @collection_list Window_Item_Almanac_List.new(056272360 48, @type)
        @
    collection_list.viewport = @viewport
        
    @collection_status Window_Almanac_Item_Status.new(27256272360, @collection_list.item)
        @
    collection_status.viewport = @viewport
        
    @collection_list.help_window = @help_window
        
    @percentage_window Window_Base.new(0416 4827248)
        @
    percentage_window.contents.draw_text(0027220sprintf(WLTR::ALMANAC_SETUP::PERCENTAGE_SHOW$game_system.check_item_completition_rate(@type)))
        @
    collection_list.active true
        
    @page 1
      end

      def terminate
        super
        dispose_menu_background
        
    @background.dispose if @background != nil
        
    @help_window.dispose
        
    @collection_list.dispose
        
    @collection_status.dispose
        
    @percentage_window.dispose
      end

      def return_scene
        $scene 
    Scene_Menu.new
      
    end

      def update
        super
        update_menu_background
        
    @help_window.update
        
    @collection_list.update
        
    @collection_status.update
        
    @percentage_window.update
        update_collection
      end

      def update_collection
        
    if @collection_status.item != @collection_list.item
          
    @collection_status.item = @collection_list.item 
          
    @collection_status.refresh(@page)
        
    end
        
    @collection_status.refresh(@page) if @page != @collection_status.page
        
    if Input.trigger?(Input::B)
          
    Sound.play_cancel
          return_scene
        elsif Input
    .trigger?(Input::RIGHT)
          return if @
    page == and !WLTR::ALMANAC_SETUP::GRAPHIC_USE
          
    return if @page == 3
          Audio
    .se_play("Audio/SE/" WLTR::ALMANAC_SETUP::PAGE_FLIP_SE[0], WLTR::ALMANAC_SETUP::PAGE_FLIP_SE[1], WLTR::ALMANAC_SETUP::PAGE_FLIP_SE[2])
          @
    page += 1
        elsif Input
    .trigger?(Input::LEFT)
          return if @
    page == 1
          Audio
    .se_play("Audio/SE/" WLTR::ALMANAC_SETUP::PAGE_FLIP_SE[0], WLTR::ALMANAC_SETUP::PAGE_FLIP_SE[1], WLTR::ALMANAC_SETUP::PAGE_FLIP_SE[2])
          @
    page -= 1
        end
      end
    end

    #==============================================================================
    # ¦ Window_Command
    #==============================================================================
    # Stole this from KGC...
    class Window_Command Window_Selectable
      unless method_defined
    ?(:add_command)
      
    #--------------------------------------------------------------------------
      # ? ???????
      #    ?????????
      #--------------------------------------------------------------------------
      
    def add_command(command)
        @
    commands << command
        
    @item_max = @commands.size
        item_index 
    = @item_max 1
        refresh_command
        draw_item
    (item_index)
        return 
    item_index
      end
      
    #--------------------------------------------------------------------------
      # ? ???????????
      #--------------------------------------------------------------------------
      
    def refresh_command
        buf 
    self.contents.clone
        
    self.height = [self.heightrow_max WLH 32].max
        create_contents
        self
    .contents.blt(00bufbuf.rect)
        
    buf.dispose
      end
      
    #--------------------------------------------------------------------------
      # ? ???????
      #--------------------------------------------------------------------------
      
    def insert_command(indexcommand)
        @
    commands.insert(indexcommand)
        @
    item_max = @commands.size
        refresh_command
        refresh
      end
      
    #--------------------------------------------------------------------------
      # ? ???????
      #--------------------------------------------------------------------------
      
    def remove_command(command)
        @
    commands.delete(command)
        @
    item_max = @commands.size
        refresh
      end
      end
    end

    class Scene_Menu Scene_Base
      
    # Stole this from KGC's enemy guide.
      
    if WLTR::ALMANAC_SETUP::ADD_TO_MENU
      
    #--------------------------------------------------------------------------
      # ? ????????????
      #--------------------------------------------------------------------------
      
    alias create_command_window_item_almanac create_command_window
      def create_command_window
        create_command_window_item_almanac

        
    return if $imported["CustomMenuCommand"]

        @
    __command_item_almanac =
          @
    command_window.add_command(WLTR::ALMANAC_SETUP::ALMANAC_NAME)
        if @
    command_window.oy 0
          
    @command_window.oy -= Window_Base::WLH
        end
        
    @command_window.index = @menu_index
      end
      end
      
    #--------------------------------------------------------------------------
      # ? ?????????
      #--------------------------------------------------------------------------
      
    alias update_command_selection_item_almanac update_command_selection
      def update_command_selection
        current_menu_index 
    = @__command_item_almanac
        call_item_almanac 
    false

        
    if Input.trigger?(Input::C)
          case @
    command_window.index
          when 
    @__command_item_almanac  # ???????
            
    call_enemy_guide_flag true
          end
        end

        
    # ??????????
        
    if call_enemy_guide_flag
          Sound
    .play_decision
          $scene 
    Scene_Almanac.new(WLTR::ALMANAC_SETUP::ALMANAC_SHOW_MENU)
          return
        
    end

        update_command_selection_item_almanac
      end
    end
    #===============================================================================
    #
    # END OF SCRIPT

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

  2. #972

    По умолчанию

    Ни у кого нет скрипты на xp для настройки более умного AI? Или хотя бы кто нибудь знает как сделать так, чтобы если у врага не хватает маны на заклинания он не пропускал ход, а использовал что то другое?
    Что за прикол с едой?

  3. #973
    Познающий Аватар для DeadElf79
    Информация о пользователе
    Регистрация
    09.08.2013
    Сообщений
    276
    Записей в дневнике
    12
    Репутация: 22 Добавить или отнять репутацию

    По умолчанию

    А не пробовал настроить это через условия на вкладке "Группы врагов"("Troops" в англ.версии)? Зачем же такие меры прям сразу - скрипты?

  4. #974

    По умолчанию

    Цитата Сообщение от DeadElf79 Посмотреть сообщение
    А не пробовал настроить это через условия на вкладке "Группы врагов"("Troops" в англ.версии)? Зачем же такие меры прям сразу - скрипты?
    Я люблю скрипты)
    Что за прикол с едой?

  5. #975

    По умолчанию

    Как называется этот скрипт?
    Ну или ссылку, можно?
    431188941.png

  6. #976
    Местный Аватар для Наблюдатель
    Информация о пользователе
    Регистрация
    01.01.2013
    Адрес
    Мрак
    Сообщений
    189
    Записей в дневнике
    25
    Репутация: 4 Добавить или отнять репутацию

    По умолчанию

    Ребят, нужен скрипт на прикольное вскрытие замков. xp

  7. #977
    Маститый Аватар для HopeBree
    Информация о пользователе
    Регистрация
    27.03.2013
    Сообщений
    1,204
    Записей в дневнике
    6
    Репутация: 38 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Феня Посмотреть сообщение
    Как называется этот скрипт?
    Ну или ссылку, можно?
    431188941.png
    точно не скажу, но что-то типо Item Popup
    можно найти поинтереснее того что на скрине

    Цитата Сообщение от Наблюдатель Посмотреть сообщение
    Ребят, нужен скрипт на прикольное вскрытие замков. xp
    http://www.atelier-rgss.com/RGSS/System/XP_SYS11.html

  8. #978
    Познающий Аватар для DeadElf79
    Информация о пользователе
    Регистрация
    09.08.2013
    Сообщений
    276
    Записей в дневнике
    12
    Репутация: 22 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от aslanator Посмотреть сообщение
    Я люблю скрипты)
    Любишь - так пиши

  9. #979

    По умолчанию

    Цитата Сообщение от DeadElf79 Посмотреть сообщение
    Любишь - так пиши
    Уже написал.
    У меня все заклинания тратят от 30 до 60 маны.

    Я заменил строчку
    if $game_party.max_level < action.condition_level
    next
    end


    На
    if self.sp < action.condition_level
    next
    end

    И все)
    Последний раз редактировалось aslanator; 31.08.2013 в 11:24.
    Что за прикол с едой?

  10. #980
    Маститый Аватар для HopeBree
    Информация о пользователе
    Регистрация
    27.03.2013
    Сообщений
    1,204
    Записей в дневнике
    6
    Репутация: 38 Добавить или отнять репутацию

    По умолчанию

    давненько находил скрипт на ограничение переноса количества итемов (например: максимум 10 одинаковых флесок), не подумал что пригодится он мне, и забил на него.

Страница 98 из 190 ПерваяПервая ... 488896979899100108148 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 32 (пользователей: 0 , гостей: 32)

Метки этой темы

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Поиск скриптов