XP 스크립트

#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/  ◆전투 관련 회수 취득 - KGC_BattleCount◆
#_/----------------------------------------------------------------------------
#_/ 전투 관련의 각종 회수를 취득하는 처리를 추가합니다.
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

#$game_system.battle_count # 전투 회수
#$game_system.victory_count # 승리 회수
#$game_system.escape_count # 도주 회수
#가 됩니다.
#변수에 대입하는 경우:
#$game_variables[변수id] = $game_system.battle_count
#와 같이 쓰면 OK입니다.

#참고로 에너미(적군)의 격파수는
#$game_system.defeat_count(id)
#으로 취득합니다.
#여기서 id는 취득하는 에너미ID입니다.

#총 격파수를 취득하는 경우는
#$game_system.total_defeat_count
#을 사용합니다.


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

#======================================================================
# ■ Game_System
#======================================================================

class Game_System
#--------------------------------------------------------------------------
# ● 오브젝트 초기화
#--------------------------------------------------------------------------
alias initialize_KGC_BattleCount initialize
def initialize
# 원의 처리를 실행
initialize_KGC_BattleCount

@battle_count, @victory_count, @escape_count = 0, 0, 0
@defeat_count, @dead_count = [], []
end
#--------------------------------------------------------------------------
# ● 전투 회수 취득
#--------------------------------------------------------------------------
def battle_count
@battle_count = 0 if @battle_count == nil
return @battle_count
end
#--------------------------------------------------------------------------
# ● 전투 회수 조작
#--------------------------------------------------------------------------
def battle_count=(count)
@battle_count = 0 if @battle_count == nil
@battle_count = count
end
#--------------------------------------------------------------------------
# ● 승리 회수 취득
#--------------------------------------------------------------------------
def victory_count
@victory_count = 0 if @victory_count == nil
return @victory_count
end
#--------------------------------------------------------------------------
# ● 승리 회수 조작
#--------------------------------------------------------------------------
def victory_count=(count)
@victory_count = 0 if @victory_count == nil
@victory_count = count
end
#--------------------------------------------------------------------------
# ● 도주 회수 취득
#--------------------------------------------------------------------------
def escape_count
@escape_count = 0 if @escape_count == nil
return @escape_count
end
#--------------------------------------------------------------------------
# ● 도주 회수 조작
#--------------------------------------------------------------------------
def escape_count=(count)
@escape_count = 0 if @escape_count == nil
@escape_count = count
end
#--------------------------------------------------------------------------
# ● 격파수 취득
# id : 에너미ID
#--------------------------------------------------------------------------
def defeat_count(id)
@defeat_count = [] if @defeat_count == nil
@defeat_count[id] = 0 if @defeat_count[id] == nil
return @defeat_count[id]
end
#--------------------------------------------------------------------------
# ● 격파수 가산
# id : 에너미ID
# count : 가산량
#--------------------------------------------------------------------------
def add_defeat_count(id, count = 1)
@defeat_count = [] if @defeat_count == nil
@defeat_count[id] = 0 if @defeat_count[id] == nil
@defeat_count[id] += count
end
#--------------------------------------------------------------------------
# ● 총 격파수 취득
#--------------------------------------------------------------------------
def total_defeat_count
@defeat_count = [] if @defeat_count == nil
n = 0
for i in @defeat_count.compact
n += i
end
return n
end
#--------------------------------------------------------------------------
# ● 사망 회수 취득
# id : 엑터ID
#--------------------------------------------------------------------------
def dead_count(id)
@dead_count = [] if @dead_count == nil
@dead_count[id] = 0 if @dead_count[id] == nil
return @dead_count[id]
end
#--------------------------------------------------------------------------
# ● 사망 회수 가산
# id : 엑터ID
# count : 가산량
#--------------------------------------------------------------------------
def add_dead_count(id, count = 1)
@dead_count = [] if @dead_count == nil
@dead_count[id] = 0 if @dead_count[id] == nil
@dead_count[id] += count
end
#--------------------------------------------------------------------------
# ● 총 사망 회수 취득
#--------------------------------------------------------------------------
def total_dead_count
@dead_count = [] if @dead_count == nil
n = 0
for i in @dead_count.compact
n += i
end
return n
end
end

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

#======================================================================
# ■ Sprite_Battler
#======================================================================

class Sprite_Battler < RPG::Sprite
#--------------------------------------------------------------------------
# ● 코라프스
#--------------------------------------------------------------------------
def collapse
super
$game_system.add_dead_count(@battler.id) if @battler.is_a?(Game_Actor)
end
end

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

#======================================================================
# ■ Scene_Battle (분할 정의 1)
#======================================================================

class Scene_Battle
#--------------------------------------------------------------------------
# ● 메인 처리
#--------------------------------------------------------------------------
alias main_KGC_BattleCount main
def main
# 전투 회수 가산
$game_system.battle_count += 1

# 원의 처리를 실행
main_KGC_BattleCount
end
#--------------------------------------------------------------------------
# ● 배틀 종료
# result : 결과 (0:승리 1:도주 2:패배)
#--------------------------------------------------------------------------
alias battle_end_KGC_BattleCount battle_end
def battle_end(result)
unless @battle_count_added
# 결과에 의해 분기
case result
when 0 # 승리했을 경우
# 승리 회수 가산
$game_system.victory_count += 1
@a = true
when 1 # 도주했을 경우
# 도주 회수 가산
$game_system.escape_count += 1
end
# 격파 판정
for enemy in $game_troop.enemies.compact
# 숨어 있는(도주한), 생존하고 있는 경우는 무시
next if enemy.hidden || !enemy.dead?
# 격파수를 가산
$game_system.add_defeat_count(enemy.id)
end
# 다중 가산을 억제
@battle_count_added = true
end

# 원의 처리를 실행
battle_end_KGC_BattleCount(result)
end
end

Who's 백호

?

이상혁입니다.

http://elab.kr


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 6203
114 전투 KGC_Active Count Battle (7/30일자) 7 file 백호 2009.02.22 1846
113 전투 적의 여러차례 행동 스크립트 1 백호 2009.02.22 1324
112 전투 방어시에 속성 저항,스테이트무시 스크립트 1 백호 2009.02.22 1018
111 전투 S.G DamageShield Script 백호 2009.02.22 935
110 전투 매턴 자동 회복이나 도트힐 3 file 백호 2009.02.22 1352
109 전투 Prize Point System 2.0 by Dark Ruby@rmxp.org 3 file 백호 2009.02.22 1742
108 전투 Battle Report 1.6 by Raziel@rmxp.org 1 file 백호 2009.02.22 1672
107 전투 [신기술 체험] Tactical Battle System 9 file 백호 2009.02.22 2034
106 전투 Active Time Battle 2.57 by パラ犬 6 file 백호 2009.02.22 2371
105 전투 중복일지도 모르는 ATB 전투 11 file 백호 2009.02.22 4057
104 전투 랜덤 전투음악 by Fomar0153@rmxp.org 1 백호 2009.02.22 1008
103 전투 [신기술 체험]액션배틀1탄 6 file 백호 2009.02.22 2767
102 전투 SG_Attack Break by sandgolem (SDK호환) 백호 2009.02.22 814
101 전투 Stealing/Mugging/Scanning 6.0 Final by Trickster (SDK호환) file 백호 2009.02.22 885
100 전투 RTAB 1.15와 애드온 from 歯車の城 4 file 백호 2009.02.22 1186
99 전투 [신기술 체험] 강회된 횡스크롤 액알 13 file 백호 2009.02.22 6842
98 전투 Real Time Active Battle(RTAB) 1.14 from 歯車の城 3 file 백호 2009.02.22 1315
97 전투 FFX, X-2, FFXII 식으로 대미지 표시하기 by squall@rmxp.org 백호 2009.02.22 1115
96 전투 레벨업시 능력치 표시 2 백호 2009.02.22 1621
95 전투 FF10 전투 대미지 공식 by hydro@rmxp.org 백호 2009.02.22 1141
Board Pagination Prev 1 2 3 4 5 6 7 8 9 Next
/ 9