=begin presented by Çã°Æ °ÔÀÓ ¾ÆÀÌÅÛµéÀÇ ÃÖ´ë ¹«°Ô¿Í ÃÖ´ë ¼ÒÁö¼ö¸¦ Àû¿ë½Ãŵ´Ï´Ù. ½ÃÀ۽à ÃÖ´ë ¹«°Ô´Â ¾Æ·¡ ¼³Á¤¿¡¼­ ¹Ù²ãÁÙ ¼ö ÀÖ°í °ÔÀÓÁß ¹Ù²Ù·Á¸é $game_party.weight_max += n ½ÄÀ¸·Î Àû¾îÁÖ¸é µË´Ï´Ù. ¾ÆÀÌÅÛº° ÃÖ´ë ¼ÒÁö¼ö¸¦ Á¤ÇÏ·Á¸é ¾ÆÀÌÅÛ ¸Þ¸ðºÎºÐ¿¡ Àû¾îÁÖ½Ã¸é µË´Ï´Ù. <¹«°Ô n> # ¾ÆÀÌÅÛ ÇÑ°³ÀÇ ¹«°Ô¸¦ ¼³Á¤ÇØ ÁÝ´Ï´Ù. #¹«°Ô¸¦ ¾ÈÀû¾îÁÙ °æ¿ì ÇØ´ç ¾ÆÀÌÅÛÀÇ ¹«°Ô´Â 0À¸·Î ¼³Á¤µË´Ï´Ù. <¼ÒÁö¼ö n> # ÇØ´ç ¾ÆÀÌÅÛÀÇ ÃÖ´ë ¼ÒÁö¼ö¸¦ ¼³Á¤ÇØ ÁÝ´Ï´Ù. #ÃÖ´ë ¼ÒÁö¼ö¸¦ ¾ÈÀûÀ» °æ¿ì ÇØ´ç ¾ÆÀÌÅÛÀÇ ÃÖ´ë ¼ÒÁö¼ö´Â ±âº»°ªÀ¸·Î(99) ¼³Á¤µË´Ï´Ù. =end module HG_LIMIT_CARRY BASE_WEIGHT_MAX = 100 # °ÔÀÓ ½ÃÀ۽à ÃÖ´ë ¼ÒÁö ¹«°Ô¸¦ Á¤ÇÕ´Ï´Ù. end #============================================================================== # ¡á Game_Party #------------------------------------------------------------------------------ # ¡¡ÆÄƼ¸¦ Ãë±ÞÇϴ Ŭ·¡½ºÀÔ´Ï´Ù.°ñµå³ª ¾ÆÀÌÅÛµîÀÇ Á¤º¸°¡ Æ÷ÇԵ˴ϴÙ.ÀÌ Äí # ¶ó½ºÀÇ ÀνºÅϽº´Â $game_party ·Î ÂüÁ¶µË´Ï´Ù. #============================================================================== class Game_Party < Game_Unit attr_accessor :weight_max #-------------------------------------------------------------------------- # ¡Ü ¿ÀºêÁ§Æ® ÃʱâÈ­ #-------------------------------------------------------------------------- alias old_initialize initialize def initialize old_initialize @weight = 0 # @weight_max = HG_LIMIT_CARRY::BASE_WEIGHT_MAX # end #-------------------------------------------------------------------------- # ¡Ü ¾ÆÀÌÅÛÀÇ Áõ°¡ (°¨¼Ò) # item : ¾ÆÀÌÅÛ # n : °³¼ö # include_equip : ÀåºñÇ°µµ Æ÷ÇÔÇÑ´Ù #-------------------------------------------------------------------------- alias old_gain_item gain_item def gain_item(item, n, include_equip = false) n = gain_item_fix_n(item, n) # old_gain_item(item, n, include_equip) end #-------------------------------------------------------------------------- # ¡Ü ¾ÆÀÌÅÛÀÇ Áõ°¡ ÃÖ´ë¼ö Á¶Àý - gain_item ¹Ù·Î ¹Ø¿¡ Àû¾îÁÜ. # item : ¾ÆÀÌÅÛ # n : °³¼ö #-------------------------------------------------------------------------- def gain_item_fix_n(item, n) return n if item == nil or n == 0 # °è»êÇÒ°Ô ¾øÀ¸¸é ±×´ë·Î µ¹·ÁÁØ´Ù item_num = item_number(item) # ¼ÒÁö¼ö n = [item.carry_max - item_num, n].min # ¼ÒÁö °¡´ÉÇÑ ÃÖ´ë ¼ö¿Í ºñ±³ item_weight = item.weight # ¹«°Ô return n if item_weight == 0 # ¹«°Ô°¡ 0ÀÏ°æ¿ì ¼ÒÁö¼ö °è»êÇÑ°ÍÀ» µ¹·ÁÁØ´Ù weight_empty = [@weight_max - @weight, 0].max # ¼ÒÁö °¡´ÉÇÑ ÃÖ´ë ¹«°Ô n = [n, weight_empty / item_weight].min # ¹«°Ô·Î ¼ÒÁö °¡´ÉÇÑ ÃÖ´ë¼ö ºñ±³ @weight += [-item_num, n].max * item_weight # ¹«°Ô Á¶Àý return n # °á°ú nÀ» µ¹·ÁÁØ´Ù. end end module RPG # °¢ ¾ÆÀÌÅÛ ¸Þ¸ð ºÎºÐ¿¡ Àû¾îÁÙ°Í. class BaseItem def weight # ¹«°ÔÀû¿ë = <¹«°Ô n> nÀº ¾ÆÀÌÅÛ ÇϳªÀÇ ¹«°Ô if @note =~ /<¹«°Ô (\d+)>/ return [0, $1.to_i].max else return 0 # ¾ÈÀûÀ¸¸é 0À¸·Î ÆÇ´Ü. end end def carry_max # ÃÖ´ë ¼ÒÁö¼ö = <¼ÒÁö n> nÀº ÇØ´ç ¾ÆÀÌÅÛÀÇ ÃÖ´ë ¼ÒÁö¼ö if @note =~ /<¼ÒÁö¼ö (\d+)/ return [99, $1.to_i].min # ±âº» ÃÖ´ë ¼ÒÁö¼ö¿Í ºñ±³ else return 99 # ¾ÈÀûÀ¸¸é ±âº» ÃÖ´ë ¼ÒÁö¼ö(99)·Î ÆÇ´Ü end end end end # created by Çã°Æ