장비

Equipment Set Bonus

by Man... posted Oct 25, 2008
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
Compatibility
This script rewrites def change_equip(equip_type, item, test = false).
If you have any other script that does something with def change_equip (alias or rewrite), just add this right before the "end" of that method

CODE
@bonus_set = []
    for i in 1..Sets.size
      weapons = [nil,Sets[i][0]]
      armors = [Sets[i][1],Sets[i][2],Sets[i][3],Sets[i][4]]
      if Sets[i].include?(@weapon_id)
        @bonus_set.push(i) if !@bonus_set.include?(i)
      end
      if Sets[i].include?(@armor4_id)
        @bonus_set.push(i) if !@bonus_set.include?(i)
      end
      if Sets[i].include?(@armor3_id)
        @bonus_set.push(i) if !@bonus_set.include?(i)
      end
      if Sets[i].include?(@armor2_id)
        @bonus_set.push(i) if !@bonus_set.include?(i)
      end
      if Sets[i].include?(@armor1_id)
        @bonus_set.push(i) if !@bonus_set.include?(i)
      end
    end
    @bonus_set_pieces = []
    for i in 0...@bonus_set.size
      @bonus_set_pieces.push(0)
    end
    if !@bonus_set.empty?
      for i in 0...@bonus_set.size
        weapons = [nil,Sets[@bonus_set[i]][0]]
        armors = [Sets[@bonus_set[i]][1],Sets[@bonus_set[i]][2],
                  Sets[@bonus_set[i]][3],Sets[@bonus_set[i]][4]]
        @bonus_set_pieces[i] += weapons.include?(@weapon_id) ? 1 : 0
        @bonus_set_pieces[i] += armors.include?(@armor1_id) ? 1 : 0
        @bonus_set_pieces[i] += armors.include?(@armor2_id) ? 1 : 0
        @bonus_set_pieces[i] += armors.include?(@armor3_id) ? 1 : 0
        @bonus_set_pieces[i] += armors.include?(@armor4_id) ? 1 : 0
      end
    end
여기 있고,
여기 또 있음 왜 그런지 모르곘승ㅁ
FontSize_Header = 20
FontSize = 12
X_position = 150
Y_position = 285
LineHeight = 15

class Window_Status < Window_Base
alias show_set_bonus_refresh refresh
  def refresh
    show_set_bonus_refresh
    draw_set_bonus(@actor)
  end
  def draw_set_bonus(actor)
    self.contents.font.color = system_color
    self.contents.font.size = FontSize_Header
    self.contents.draw_text(X_position,Y_position,100,WLH,"Set Bonus")
    self.contents.font.color = normal_color
    
    sets = actor.bonus_set #array with the sets listing
    set_pieces = actor.bonus_set_pieces # array with pieces number for each set
    bonus_set = [0,0,0,0,0,0,0,0,0] #different attribute listing
    for i in 0...sets.size
      bonus_array = Set_Bonus[sets[i]] #array with bonus
      pieces = set_pieces[i] #how many pieces
      for j in 0...pieces
        bonus_set[bonus_array[j][0]] += bonus_array[j][1] # [att,amount]
      end
    end
    
    
    
    #bonus_set = Set_Bonus[actor.bonus_set] #array of bonusses
    #bonus_pieces = actor.bonus_set_pieces #number of pieces
    y_pos = Y_position + 6
    self.contents.font.size = FontSize
    for i in 1...bonus_set.size
      y_pos += LineHeight if !(bonus_set[i] <= 0)
      self.contents.draw_text(X_position,y_pos,100,LineHeight,print_set_bonus([i,bonus_set[i]])) if !(bonus_set[i] <= 0)
    end    
  end
  def print_set_bonus(bonus_set)
    case bonus_set[0]
    when 1 then word = Vocab::atk
    when 2 then word = Vocab::def
    when 3 then word = Vocab::spi
    when 4 then word = Vocab::agi
    when 5 then word = Vocab::hp
    when 6 then word = Vocab::mp
    when 7 then word = "Critical"
    when 8 then word = "Evasion"
    end
    return word + " " + bonus_set[1].to_s + "%"
  end
end
무슨 스크립트 인지 모름