Avangs

  • 게임 정보
    • 게임 소개
    • 게임 리뷰
    • 게임 실황
    • 게임 공략
    • 모바일 테스트
  • 게임 작품new
    • 완성작 게임
    • 체험판 게임
    • 한글판 게임new
    • 온라인 게임
    • 추천작 제작자 저장소
  • 투표선정 작품
    • 아방스 추천작
    • 완성 기대작
    • 투표 신청
    • 투표소
    • 투표 결과
  • 강좌
    • 아방스 칼럼
    • 비주얼노벨 강좌
    • 알만툴 강좌
      • MZ 강좌
      • MV 강좌
      • VX Ace 강좌
      • VX 강좌
      • XP 강좌
      • 2003 강좌
      • 2000 강좌
    • 게임메이커 강좌
    • 울프툴 강좌
    • 3D 게임제작 강좌
    • 2D 게임제작 강좌
    • 그래픽 제작 강좌
    • 기타 강좌
  • 질문과 답변
    • 자주 묻는 질문
    • 질문과 답변
    • 제작의뢰
  • 커뮤니티
    • 구인·구직·외주
    • 테스트 요청
    • 자유게시판
    • 게임계 소식
    • 유머&정보
    • 사이트링크
    • 이벤트&대회
  • 창작
    • 게임 기획
    • 맵배치
    • 글쓰기
    • 그리기
    • 음악
  • 자료실
    • 게임제작툴
    • 예제 및 샘플
    • 그래픽 소재
      • 오리지널 소재
      • 이차창작 소재
      • 수정·개조 소재
      • 외부 소재
    • 사운드 소재
    • 확장·플러그인·스크립트
      • MZ 플러그인
      • MV 플러그인
      • Ace 스크립트
      • VX 스크립트
      • XP 스크립트
      • 2k3 플러그인
      • VN 플러그인·확장
    • 외부 소재사이트
    • 기타 자료
      • 한글화툴
      • 무료 폰트
      • 유틸리티
    • 디자인 참고자료
  • 고객센터
    • 공지사항
    • 건의 및 신고
    • 핫 이슈
로그인 회원가입
Avangs
  • 게임 정보
    • 게임 소개
    • 게임 리뷰
    • 게임 실황
    • 게임 공략
    • 모바일 테스트
  • 게임 작품new
    • 완성작 게임
    • 체험판 게임
    • 한글판 게임new
    • 온라인 게임
    • 추천작 제작자 저장소
  • 투표선정 작품
    • 아방스 추천작
    • 완성 기대작
    • 투표 신청
    • 투표소
    • 투표 결과
  • 강좌
    • 아방스 칼럼
    • 비주얼노벨 강좌
    • 알만툴 강좌
      • MZ 강좌
      • MV 강좌
      • VX Ace 강좌
      • VX 강좌
      • XP 강좌
      • 2003 강좌
      • 2000 강좌
    • 게임메이커 강좌
    • 울프툴 강좌
    • 3D 게임제작 강좌
    • 2D 게임제작 강좌
    • 그래픽 제작 강좌
    • 기타 강좌
  • 질문과 답변
    • 자주 묻는 질문
    • 질문과 답변
    • 제작의뢰
  • 커뮤니티
    • 구인·구직·외주
    • 테스트 요청
    • 자유게시판
    • 게임계 소식
    • 유머&정보
    • 사이트링크
    • 이벤트&대회
  • 창작
    • 게임 기획
    • 맵배치
    • 글쓰기
    • 그리기
    • 음악
  • 자료실
    • 게임제작툴
    • 예제 및 샘플
    • 그래픽 소재
      • 오리지널 소재
      • 이차창작 소재
      • 수정·개조 소재
      • 외부 소재
    • 사운드 소재
    • 확장·플러그인·스크립트
      • MZ 플러그인
      • MV 플러그인
      • Ace 스크립트
      • VX 스크립트
      • XP 스크립트
      • 2k3 플러그인
      • VN 플러그인·확장
    • 외부 소재사이트
    • 기타 자료
      • 한글화툴
      • 무료 폰트
      • 유틸리티
    • 디자인 참고자료
  • 고객센터
    • 공지사항
    • 건의 및 신고
    • 핫 이슈
로그인 회원가입

NOTICE

공지사항
더보기
  • 서버 안정성 및 보안 강화 조치 04.20

Recently Added Games

최근 등록 게임
  • 어드벤쳐 고철에 파묻힌 데모나 (屑鉄まとうデモナ) newfile 08.19
  • 어드벤쳐 비올레 저택의 시온 : 꽃눈의 저택|RPG Maker MZ 단편 심리공포 어드벤처 file 08.17
  • 기타 (똥 주의)그저 똥을 누러 가는 게임 Re:Boot updatefile 08.16
  • 롤플레잉 SACCHARINE SYNC (DEMO) 배포 file 08.12
  • 기타 (완성작) 야구장에 가자4 file 2 07.07
기타
2010.09.16 22:20

Drop Options 1.1 by Modern Algebra

Alkaid
조회 수 1601 추천 수 0 댓글 4
크게 작게 위로 아래로 댓글로 가기 인쇄
크게 작게 위로 아래로 댓글로 가기 인쇄

Source Thread: http://rmrk.net/index.php/topic,40114.0.html

  전투후 몬스터가 드롭하는 아이템의 가짓수를 확장하는 스크립트입니다.  추가 드롭아이템이 나올 확률, 입수하는 돈의 액수 범위등을 조정할 수 있습니다.

 

**이 스크립트는 사용하는 전투 시스템과 호환성이 없을 수도 있습니다.  또한 스크립트로 추가된 루트 아이템은 몬스터 정보 스크립트(도감류)에 표시되지 않을 수 있습니다.

 

#==============================================================================
#    Drop Options
#    Version: 1.1
#    Author: modern algebra (rmrk.net)
#    Date: September 11, 2010
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Description:
#
#    This script is very simple. All it does is allow you to make item drops a
#   little less static in some very simple ways: 
#   (a) you can make more than two drops for each enemy, so enemies can drop a 
#      greater variety of loot; 
#   (b) you can place a cap on the amount of these extra drops, so if you want 
#      a boss to have a 100% chance of dropping one of three items, but only 
#      one,then you can do that; and
#   (c) you can randomize the amount of gold dropped by setting a range within
#      which it can fall.
#
#    If you are using any scripts that show loot drops of enemies (such as a 
#   bestiary), the effects of this script will not be reflected in that without
#   direct modifications. If you are using such a script, please feel free to 
#   post a link to it in this script's thread in RMRK and I will write a patch
#   for it.
#
#    This script may not work with some custom battle systems, particularly 
#   ones that do not use troops.
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Instructions:
#
#    Place this script above Main and below any other scripts in the Script 
#   Editor (F11).
#
#    All configuration happens in the note boxes of enemies. If you wish to add
#   a new drop, place this code in a note box for the enemy:
#      drop[type id, probability]
#        type        : the type, either Item, Weapon, or Armor. Armour is also
#                     accepted.
#        id          : This is the ID of the item, weapon, or armor.
#        probability : This is the probability the item, weapon, or armor will
#                     drop. If you put a % sign after the number, then it will
#                     drop that percentage of the time. If not, then the number
#                     you put here will be the denominator, same as with 
#                     regular drops. The number has to be an integer.
#    EXAMPLES:
#      drop[Item 1, 65%]
#          This will mean that the item with ID 1 (Potion by default) will drop
#         65% of the time when you kill this enemy.
#      drop[armor 5, 8]
#          This will mean that the armor with ID 5 (Mithril Shield by default)
#         will drop 1/8 times you kill this enemy.
#
#    To set a maximum on the number of extra drops (note that this only applies
#   to extra drops set up in the note field - the two default drops are exempt 
#   from this cap), you can use the code:
#      max_drop[x]
#         x : the maximum amount of extra drops that you want.
#   EXAMPLE:
#    If an enemy is set up like this:
#      drop[weapon 20, 100%]
#      drop[weapon 21, 100%]
#      max_drop[1]
#    Then that means that the enemy will definitely drop either Weapon 20 
#   (Mythril Spear) or Weapon 21 (Mythril Blade), but will not drop both since 
#   the max_drop code prevents it from dropping more than one of the notebox
#   drops.
#
#    To randomize the amount of gold an enemy drops, place the following code 
#   in its note box:
#      gold[variance]
#        variance : this is an integer, and the amount of gold dropped is 
#          calculated by randomly selecting a number between 0 and this value,
#          and then adding it to the regular gold drop you set in the database.
#    EXAMPLE:
#      If an enemy has 5 gold set as its drop in the database, then the 
#     following note:
#        gold[12]
#      will mean that the enemy will drop anywhere between 5 and 17 gold upon
#     its death.
#==============================================================================

#==============================================================================
# ** RPG::Enemy
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    aliased method - gold
#    new method - random_gold, extra_drops
#==============================================================================

class RPG::Enemy
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Gold
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias ma_drpopt_gold_2go9 gold unless self.method_defined? (:ma_drpopt_gold_2go9)
  def gold (*args)
    return (rand (random_gold + 1)) + ma_drpopt_gold_2go9 (*args)
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Random Gold
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def random_gold
    (@rand_gold = self.note[/GOLD[(d+)]/i] != nil ? $1.to_i : 0) if !@rand_gold
    return @rand_gold
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Extra Drops
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def extra_drops
    if @extra_drops.nil?
      @extra_drops = []
      self.note.gsub (/DROP[(item|weapon|armou?r)s*(d+),?s*(d+)(%?)]/i) {
        drop = RPG::Enemy::DropItem.new
        case $1.downcase
        when "item"
          drop.kind = 1
          drop.item_id = $2.to_i
        when "weapon"
          drop.kind = 2
          drop.weapon_id = $2.to_i
        else
          drop.kind = 3
          drop.armor_id = $2.to_i
        end
        drop.denominator = $4.empty? ? $3.to_i : $3.to_f
        @extra_drops.push (drop)
      }
    end
    return @extra_drops
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Max Drops
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def max_drops
    if !@max_drops
      @max_drops = self.note[/MAX[ _]DROPS?[(d+)]/i].nil? ? 999 : $1.to_i
    end
    return @max_drops
  end
  # If using Note Editor
  if self.method_defined? (:ma_reset_note_values)
    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    # * Reset Note Values
    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    alias mala_nedo_restnte_9yn2 ma_reset_note_values
    def ma_reset_note_values (*args)
      mala_nedo_restnte_9yn2 (*args) # Run Original Method
      @rand_gold, @extra_drops, @max_drops = nil, nil, nil
    end
  end
end

#==============================================================================
# ** Game_Troop
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    aliased method - make_drop_items
#==============================================================================

class Game_Troop
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Create Array of Dropped Items
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias mlgb_drpop_mkeitm_4rx1 make_drop_items
  def make_drop_items (*args)
    drop_items = mlgb_drpop_mkeitm_4rx1 (*args)
    for enemy in dead_members
      ie_drops = []
      for di in enemy.enemy.extra_drops
        next if di.kind == 0
        if di.denominator.is_a? (Float)
          next if rand (100) > di.denominator
        else
          next if rand(di.denominator) != 0
        end
        case di.kind
        when 1 then ie_drops.push($data_items[di.item_id])
        when 2 then ie_drops.push($data_weapons[di.weapon_id])
        when 3 then ie_drops.push($data_armors[di.armor_id])
        end
      end
      while ie_drops.size > enemy.enemy.max_drops
        ie_drops.delete_at (rand (ie_drops.size))
      end
      drop_items += ie_drops
    end
    return drop_items
  end
end

 

0 추천 0 비추천
Facebook Twitter Google Pinterest KakaoStory Band
위로 아래로 댓글로 가기 인쇄
에디터 선택하기
✔ 텍스트 모드 ✔ 에디터 모드
?
댓글 쓰기 권한이 없습니다. 로그인 하시겠습니까?
Comment '4'
  • ?
    크런키맛아듀크림 2010.09.16 22:40

    사용법이..

    댓글
  • ?
    Alkaid 2010.09.16 22:58

    스크립트 헤더에 있습니다.  몬스터 데이터베이스 편집할 때 오른쪽 아래에 있는 노트창에다가 추가로 드롭할 아이템과 한번에 드롭할 갯수를 다음처럼 쓰면 됩니다:

     

    drop[아이템 유형 아이템 ID, 확률] <- 아이템 유형과 ID사이에 쉼표 없음에 주의

    max_drop[갯수]

    댓글
  • ?
    시트르산 2010.09.17 00:47

    아항. 몹이 떨어뜨리는 아이템의 제한을 없애는게 가능한 스크립트였군요.

    유용할듯

    댓글
  • ?
    잉여잉어빵 2010.09.18 16:37

    전 안되는데..

    댓글

Category
  • 그래픽(10)
  • 맵/타일(20)
  • 메뉴(44)
  • 메시지(29)
  • 미니맵(6)
  • 버그픽스(3)
  • 변수/스위치(10)
  • 상점(12)
  • 상태/속성(7)
  • 스킬(26)
  • 아이템(16)
  • 액터(6)
  • 원경(1)
  • 영상(4)
  • 오디오(3)
  • 온라인(8)
  • 이동 및 탈것(25)
  • 이름입력(11)
  • 장비(23)
  • 저장(8)
  • 전투(81)
  • 제작도구(5)
  • 직업(3)
  • 퀘스트(7)
  • 키입력(8)
  • 타이틀/게임오버(27)
  • 파티(10)
  • HUD(16)
  • 기타(130)
List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 3 습작 2012.12.24 9258
637 아이템 현재있는 파티원 선택 레벨업 아이템 만들기 1 file 싸패 2016.06.06 897
636 저장 세이브 파일 개수 16개로 늘리기 (기본 세이브 엔진용) 1 file Bunny_Boy 2015.09.07 989
635 스킬 [RPG VX] 턴알 스킬 쿨타임 스크립트! (잘돌아감) 5 듀란테 2015.08.18 1831
634 메뉴 KGC - 커스텀 메뉴 커멘드 (번역) 1 듀란테 2015.07.27 1244
633 메뉴 Etude87's Menu Editor for VX 25 습작 2015.01.14 1646
632 기타 Gamepad Extender VX 습작 2015.01.02 781
631 버그픽스 DerVVulfman's Tileset Reader VX Bug Fix 습작 2014.11.16 811
630 장비 방어구 착용시 최대HP, MP증가 스크립트(턴알) 3 file 기관차 2014.11.06 1381
629 메뉴 Etude87_Ace_Style_Formation_Change ver.1.01 습작 2014.10.05 878
628 키입력 해외 제작자 He Who Jets님의 마우스 스크립트(mouse system) 1 file 보자기군 2014.09.30 1429
627 메시지 Etude87 Dialogue History Scene file 습작 2014.07.07 1183
626 메뉴 MOG - Scroll Bar for VX file 습작 2014.07.06 1251
625 이동 및 탈것 이동 기능 파워업 (장애물 등을 피하는 이동방식) 8 file 파노 2014.04.27 1867
624 타이틀/게임오버 Title Skip System : 타이틀 스킵 file 허걱 2014.03.19 1638
623 버그픽스 Graphical Object Global Reference VX by Mithran Alkaid 2014.03.03 1148
622 기타 장애물을 피하고 다가오게 하는 스크립트 5 file 박력남 2014.02.25 2055
621 버그픽스 애니메이션 표시 위치 수정 (Fix Animation Position) 2 file AltusZeon 2014.02.12 1435
620 전투 [RPG VX]기술에 쿨타임을 부여하는 스크립트 3 스리아씨 2013.12.05 2516
619 HUD 아방스님이 올린 HUD를 개조했습니다. 7 file 스리아씨 2013.09.30 2867
618 전투 SRPGコンバータ for VX by AD.Bank 습작 2013.05.13 3105
쓰기
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 32 Next
/ 32
AVANGS

게임 제작, 창작, 자료, 강좌를 연결하는 커뮤니티

  • 개인정보 취급방침

Copyright © 2026 Avangs