XP 스크립트

http://www.dubealex.com/asylum/index.php?showtopic=5011
난이도와 난이도에 따른 몬스터의 스테이터스 비율을 조절하는 스크립트입니다. (즉, 쉬운 난이도에서는 DB설정값의 0.5배이던 것이 어려운 난이도일 때는 DB설정값이 2배가 된다든가....)


#==============================================================================
# Difficulty Options
#--------------------------------------------------------------------------
# Created By SephirothSpawn (11.11.05)
# Last Updated: 11.11.05
#==============================================================================

#==============================================================================
# Module RPG
#==============================================================================
module RPG
#=========================================================================
# Class Enemy
#=========================================================================
class Enemy
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :b_maxhp, :b_maxsp, :b_str, :b_dex, :b_agi, :b_int
attr_accessor :b_atk, :b_pdef, :b_mdef, :b_eva, :b_exp, :b_gold
#--------------------------------------------------------------------------
# * Set Bases
#--------------------------------------------------------------------------
def set_bases
@b_maxhp, @b_maxsp = @maxhp, @maxsp
@b_str, @b_dex, @b_agi, @b_int = @str, @dex, @agi, @int
@b_atk, @b_pdef, @b_mdef, @b_eva = @atk, @pdef, @mdef, @eva
@b_exp, @b_gold = @exp, @gold
end
end
end

#==============================================================================
# Class Difficulty Options
#==============================================================================
class Difficulty_Options
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
normal_difficulty
end
#--------------------------------------------------------------------------
# * Very Easy Difficulty
#--------------------------------------------------------------------------
def very_easy_difficulty
@constant = 0.5
set_attributes
end
#--------------------------------------------------------------------------
# * Easy Difficulty
#--------------------------------------------------------------------------
def easy_difficulty
@constant = 0.75
set_attributes
end
#--------------------------------------------------------------------------
# * Normal Difficulty
#--------------------------------------------------------------------------
def normal_difficulty
@constant = 1
set_attributes
end
#--------------------------------------------------------------------------
# * Hard Difficulty
#--------------------------------------------------------------------------
def hard_difficulty
@constant = 1.5
set_attributes
end
#--------------------------------------------------------------------------
# * Very Hard Difficulty
#--------------------------------------------------------------------------
def very_hard_difficulty
@constant = 2
set_attributes
end
#--------------------------------------------------------------------------
# * Set Attributes
#--------------------------------------------------------------------------
def set_attributes
for i in 1...$data_enemies.size
$data_enemies[i].maxhp = $data_enemies[i].b_maxhp * @constant
$data_enemies[i].maxsp = $data_enemies[i].b_maxsp * @constant
$data_enemies[i].str = $data_enemies[i].b_str * @constant
$data_enemies[i].dex = $data_enemies[i].b_dex * @constant
$data_enemies[i].agi = $data_enemies[i].b_agi * @constant
$data_enemies[i].int = $data_enemies[i].b_int * @constant
$data_enemies[i].atk = $data_enemies[i].b_atk * @constant
$data_enemies[i].pdef = $data_enemies[i].b_pdef * @constant
$data_enemies[i].mdef = $data_enemies[i].b_mdef * @constant
$data_enemies[i].eva = $data_enemies[i].b_eva * @constant
$data_enemies[i].exp = $data_enemies[i].b_exp * @constant
$data_enemies[i].gold = $data_enemies[i].b_gold * @constant
end
end
end

#==============================================================================
# Class Scene Title
#==============================================================================
class Scene_Title
#--------------------------------------------------------------------------
# * Alias' New Game Method
#--------------------------------------------------------------------------
alias new_game command_new_game
#--------------------------------------------------------------------------
# * Adds Difficulty Game Variables
#--------------------------------------------------------------------------
def command_new_game
for i in 1...$data_enemies.size
$data_enemies[i].set_bases
end
$difficulty_options = Difficulty_Options.new
new_game
end
end

#==============================================================================
# Scene_Save
#==============================================================================
class Scene_Save < Scene_File
#--------------------------------------------------------------------------
# * Alias Save Data
#--------------------------------------------------------------------------
alias new_save write_save_data
#--------------------------------------------------------------------------
# * Write Save Data
#--------------------------------------------------------------------------
def write_save_data(file)
new_save(file)
Marshal.dump($difficulty_options, file)
end
end

#==============================================================================
# Scene_Load
#==============================================================================
class Scene_Load < Scene_File
#--------------------------------------------------------------------------
# * Alias Read Save Data
#--------------------------------------------------------------------------
alias new_load read_save_data
#--------------------------------------------------------------------------
# * Read Save Data
#--------------------------------------------------------------------------
def read_save_data(file)
new_load(file)
$difficulty_options = Marshal.load(file)
end
end


난이도 변경 스크립트 호출법:
$difficulty_options.very_easy_difficulty
$difficulty_options.easy_difficulty
$difficulty_options.normal_difficulty
$difficulty_options.hard_difficulty
$difficulty_options.very_hard_difficulty

Who's 백호

?

이상혁입니다.

http://elab.kr


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 6203
121 메뉴 제가 쓰는 메뉴 14 file 백호 2009.02.21 2319
120 메뉴 제가추천하는 메뉴스크립트 11 file 백호 2009.02.22 5299
119 기타 제련시스템 수정본입니다. 3 file 백호 2009.02.21 1021
118 기타 제작한 게임의 파일을 모두 exe파일 하나에 쓸어담기 by sheefo@Creation Asylum 1 file 백호 2009.02.22 1240
117 스킬 제한시간내 커맨드를 입력해야 스킬이 발동~ 3 file 백호 2009.02.22 2614
116 이동 및 탈것 젤다 스타일 맵스크롤 5 file 백호 2009.02.21 1839
115 기타 좌표 스크립트 2 백호 2009.02.21 908
114 좌표 표시 하는 스크랩트 1 WMN 2008.03.17 1214
113 HUD 주인공,NPC이름 머리 나타내기 49 file 송긔 2010.11.28 6067
112 타이틀/게임오버 죽엇을경우 마을로이동하기 스크립트 16 file 백호 2009.02.22 3326
111 타이틀/게임오버 죽었을떄 마을로이동하기&생명초 사용하기 9 WMN 2008.03.17 2098
110 전투 중복일지도 모르는 ATB 전투 11 file 백호 2009.02.22 4057
109 변수/스위치 지정범위안에 들어오면 특정 스위치를 온/오프/교환 한다!! 2 백호 2009.02.21 1365
108 기타 지정범위안에 들어오면 특정한 움직임을 취한다!! 1 백호 2009.02.21 920
107 아이템 지정한 아이템 갯수 제한 3 백호 2009.02.22 1288
106 직업 직업 10 file 이안 2010.01.17 2843
105 직업 직업마다 다른 성장 2 백호 2009.02.22 1725
104 HUD 직업명띄우기 스크립트 2 백호 2009.02.21 1123
103 장비 착용한 장비에 따라 모습이 달라지는 스크립트 예제 5 file 게임애호가 2015.02.14 2018
102 기타 참 시스템 완성! 1 file 백호 2009.02.22 1523
Board Pagination Prev 1 ... 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 Next
/ 52