상점

상점 무기, 방어구 능력치 비교 스크립트!

by 불독 posted Dec 25, 2008
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
 상점에서 무기, 방어구를 살때 보면

 무기를 살때에는 현제 공격력에 비해 그 무기를 꼈을때 공격력이 얼마만큼 쌘지(혹은 약한지) 를 +(또는-)? 으로 표기 해주고

 방어구를 살때에는 방어력을 비교하여 표기해주잖아요.

 그래서 특수 효과가 있는 아이템들은 아이템 설명에 일일히 특수 효과를 써넣어야 합니다.

 예를 들어 어떤 갑옷을 입으면 민첩성이 떨어지는데 유저는 그것을 모르고 그냥 사잖아요. 그리고 입어보면 막상 손해보는 것 같구... 그걸 방지하기 위해 아이템 설명 처음이나 끝부분에 민첩성 -1이라든지 이렇게 넣어줘야하는 번거로움이 있죠?

 사용법- 일단 Window_ShopStatus의 액터의 현장비와 능력치 변화의 묘화의 내용을
              제목 빼고 과감하게 지워버립니다!!!!(어우, 야~~!)
              그리고 그 곳에 아래에 스크립트를 넣어줍니다.

  def draw_actor_parameter_change(actor, x, y)
    return if @item.is_a?(RPG::Item)
    enabled = actor.equippable?(@item)
    self.contents.font.color = normal_color
    self.contents.font.color.alpha = enabled ? 255 : 128
    self.contents.draw_text(x, y, 200, WLH, actor.name)
    if @item.is_a?(RPG::Weapon)
      item1 = weaker_weapon(actor)
    elsif actor.two_swords_style and @item.kind == 0
      item1 = nil
    else
      item1 = actor.equips[1 + @item.kind]
    end
    if enabled
      if @item.is_a?(RPG::Weapon)
        atk1 = item1 == nil ? 0 : item1.atk
        atk2 = @item == nil ? 0 : @item.atk
        def1 = item1 == nil ? 0 : item1.def
        def2 = @item == nil ? 0 : @item.def
        spi1 = item1 == nil ? 0 : item1.spi
        spi2 = @item == nil ? 0 : @item.spi
        agi1 = item1 == nil ? 0 : item1.agi
        agi2 = @item == nil ? 0 : @item.agi
        change1 = atk2 - atk1
        change2 = def2 - def1
        change3 = spi2 - spi1
        change4 = agi2 - agi1
      else
        atk1 = item1 == nil ? 0 : item1.atk
        atk2 = @item == nil ? 0 : @item.atk
        def1 = item1 == nil ? 0 : item1.def
        def2 = @item == nil ? 0 : @item.def
        spi1 = item1 == nil ? 0 : item1.spi
        spi2 = @item == nil ? 0 : @item.spi
        agi1 = item1 == nil ? 0 : item1.agi
        agi2 = @item == nil ? 0 : @item.agi
        change1 = atk2 - atk1
        change2 = def2 - def1
        change3 = spi2 - spi1
        change4 = agi2 - agi1
        change5 = change1, change2, change3, change4
      end
      self.contents.draw_text(x, y, 200, WLH, sprintf("%+d", change4), 2)
      self.contents.draw_text(x - 40 , y, 200, WLH, sprintf("%+d", change3), 2)
      self.contents.draw_text(x - 80, y, 200, WLH, sprintf("%+d", change2), 2)
      self.contents.draw_text(x - 120, y, 200, WLH, sprintf("%+d", change1), 2)
    end
    draw_item_name(item1, x, y + WLH, enabled)
  end

 만약 이것을 해봤는데 마음에 안들거나 오류가 떴을경우에는 아래 방법을 써주세요.

1. 새 프로잭트를 연다.
2. 새 프로잭트의 스크립트에 들어가서 오류가 떴던 부분의 스크립트를 복사한다.
3. 오류가 났던 부분을 지워주고 아까 복사한것을 붙여넣는다.

Who's 불독

?

아, 중학생이구요. 스크립트는 만질 줄 모르고... 뽀샵도 못하고... 음악도 못만드는... 그런 녀석입니다.

맵 만드는 샌스도 꽝이지만... 시나리오 짜는 것 하나는 자신있구요. 시나리오는 머릿속에서 떠오르는데

그에 상응하는 재밌는 게임이 안나오네요...ㅜㅜ