VX 스크립트

#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/ ◆ 드롭 아이템 확장 - KGC_ExtraDropItem ◆ VX ◆
#_/ ◇ Last update : 2012/02/24 ◇
#_/----------------------------------------------------------------------------
#_/ 적이 떨어뜨리는 아이템의 종류를 늘립니다.
#_/============================================================================
#_/ 【특수 시스템】≪전투 난이도≫ 보다 위에 도입해 주세요.
#_/ 【메뉴】≪몬스터 도감≫ 보다 아래에 도입해 주세요.
#_/ ※ 사용 방법
#_/ 메모 칸에 [드롭 타입:ID 확률]을 적어 주세요.
#_/ [타입]에는 아이템 = I(Item) 무기 = W(Weapon) 방어구 = A(Armor)
#_/ [ID]에는 적이 떨어뜨리는 아이템/무기/방어구의 ID를 기입해 주세요.
#_/ [확률]엔 아이템을 떨어뜨리는 확률을 지정합니다. n으로 하면 1/n확률입니다.
#_/ [확률]에 %를 붙이면, 드롭율을 백분율로 지정할 수 있습니다.
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

$imported = {} if $imported == nil
$imported["ExtraDropItem"] = true

module KGC
module ExtraDropItem
# 정규 표현
module Regexp
# 에너미
module Enemy
# 드롭 아이템
DROP_ITEM = /<(?:DROP|드롭)\s*([IWA]):(\d+)\s+(\d+)([%%])?>/i
end
end
end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ RPG::Enemy
#==============================================================================

class RPG::Enemy
#--------------------------------------------------------------------------
# ○ 드롭 아이템 확장의 캐쉬 생성
#--------------------------------------------------------------------------
def create_extra_drop_item_cache
@__extra_drop_items = []

self.note.each_line { |line|
case line
when KGC::ExtraDropItem::Regexp::Enemy::DROP_ITEM
# 드롭 아이템
item = RPG::Enemy::DropItem.new
case $1.upcase
when "I" # 아이템
item.kind = 1
item.item_id = $2.to_i
when "W" # 무기
item.kind = 2
item.weapon_id = $2.to_i
when "A" # 방어구
item.kind = 3
item.armor_id = $2.to_i
else
next
end
# 드롭율
if $4 != nil
item.drop_prob = $3.to_i
else
item.denominator = $3.to_i
end
@__extra_drop_items << item
end
}
end
#--------------------------------------------------------------------------
# ○ 확장 드롭 아이템
#--------------------------------------------------------------------------
def extra_drop_items
create_extra_drop_item_cache if @__extra_drop_items == nil
return @__extra_drop_items
end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ RPG::Enemy::DropItem
#==============================================================================

unless $@
class RPG::Enemy::DropItem
#--------------------------------------------------------------------------
# ● 공개 인스턴스 변수
#--------------------------------------------------------------------------
attr_writer :drop_prob # 드롭율
#--------------------------------------------------------------------------
# ○ 드롭율 취득
#--------------------------------------------------------------------------
def drop_prob
@drop_prob = 0 if @drop_prob == nil
return @drop_prob
end
end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Game_Enemy
#==============================================================================

class Game_Enemy < Game_Battler
#--------------------------------------------------------------------------
# ○ 확장 드롭 아이템의 취득
#--------------------------------------------------------------------------
def extra_drop_items
return enemy.extra_drop_items
end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Game_Troop
#==============================================================================

class Game_Troop < Game_Unit
#--------------------------------------------------------------------------
# ● 드롭 아이템의 배열 작성
#--------------------------------------------------------------------------
alias make_drop_items_KGC_ExtraDropItem make_drop_items
def make_drop_items
drop_items = make_drop_items_KGC_ExtraDropItem

dead_members.each { |enemy|
enemy.extra_drop_items.each_with_index { |di, i|
next if di.kind == 0
if di.drop_prob > 0
# 확률 지정
next if di.drop_prob < rand(100)
else
# 분모 지정
next if rand(di.denominator) != 0
end
if di.kind == 1
drop_items.push($data_items[di.item_id])
elsif di.kind == 2
drop_items.push($data_weapons[di.weapon_id])
elsif di.kind == 3
drop_items.push($data_armors[di.armor_id])
end
# 드롭이 끝난 플래그를 세트
if $imported["EnemyGuide"]
KGC::Commands.set_enemy_item_dropped(enemy.enemy.id, i + 2)
end
}
}
return drop_items
end
end

 

 

 

사용법은 주석을 참고하시길^^

Comment '6'
  • profile
    HWANG.S.G 2012.03.25 14:47

    감사합니다

  • ?
    반내림 2012.04.25 18:39

    몬스터 메모에 넣는거 맞죠? 적용이 안되는거같은데..ㅜㅜ

  • ?
    크리티컬 2012.05.31 11:40

    꼭 필요했던거!!!!!!!!! 정말 감사합니다

  • ?
    크리티컬 2012.05.31 11:46

    어떻게 사용하죠? ㅠㅠ
    [I:7 100%] 했는데 안되요..

  • ?
    아이미르 2012.05.31 16:59

    메모 칸에 [드롭 타입:ID 확률]을 적어 주세요... 라고 되어 있네요.

    <드롭 I:7 100%> 로 해보세요

  • ?
    크리티컬 2012.06.01 13:20

    아하 드롭타입을 적으라는건 줄 알았는데 그랬군요..

    정말 감사합니다 ㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎ 잘되네요


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 3 습작 2012.12.24 5402
277 기타 [요청자료] 유즈미짱 님께서 요청한 그림표시 입니다. 5 file 허걱 2009.07.08 2976
276 메시지 [완성]RPG Maker VX용 한글 조사 자동결정 10 file 시릴캣 2009.08.13 4598
275 장비 [스크립트]무기에 옵션을 부가하자 18 아방이 2008.01.29 5381
274 변수/스위치 [무한응용가능]스위치/변수 저장/로딩 스크립트 7 카리스 2010.03.31 2854
273 전투 [덮어씌우기]Window_ActorCommand_EX 4 맛난호빵 2011.03.12 2344
272 기타 [XP / VX 공용] rand() 함수 확장 스크립트 4 허걱 2011.09.13 2363
271 직업 [VX] Blue Mage by Fomar0153 9 WMN 2008.04.06 2785
270 전투 [vx] ATB 시스템. 10 만들어보자꾸나 2008.07.05 4925
269 기타 [VX] Anti-Lag 1.2c by Anaryu[예제첨부] 3 file WMN 2008.04.06 2371
268 스킬 [ultimate series]스킬,아이템 데미지계산식을 자기입맛에 맞게 고치는 스크립트 16 file EuclidE 2010.05.04 4373
267 이름입력 [rpg vx]한글 스크립트(저번 것보단 업그레이드 된 것입니다.^^) 17 file 레시온 2008.03.28 4736
266 전투 [RPG VX]기술에 쿨타임을 부여하는 스크립트 3 스리아씨 2013.12.05 2350
265 스킬 [RPG VX] 턴알 스킬 쿨타임 스크립트! (잘돌아감) 5 듀란테 2015.08.18 1671
264 타이틀/게임오버 [NO.0 간단 스크립트] 타이틀에 제작자 정보 올려보기 14 file NO.0 2011.01.30 3362
263 기타 [KGC]한계돌파 9 방콕족의생활 2008.06.13 3599
262 기타 [kcg] 슬립 데미지 상세화 19 BoneheadedAlien 2009.02.22 3242
261 HUD Zelda Health System 11 file 비극ㆍ 2010.04.18 2851
260 스킬 YERD - 커스텀 스킬 이펙트 13 file 훈덕 2009.11.08 4080
259 상점 YERD - 커먼이벤트 샵 12 file 훈덕 2009.11.08 3961
258 메뉴 YERD - 커먼 이벤트 메뉴 4 file 훈덕 2009.11.08 3850
Board Pagination Prev 1 ... 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ... 32 Next
/ 32