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 6153
34 기타 Free Window Demo 1 file 백호 2009.02.22 1002
33 기타 FPLE 2 - First Person Labyrinth Explorer by MGC 1 Alkaid 2012.01.17 3415
32 기타 Etude87_Bone_Animation_Character ver.1.2 4 습작 2012.07.06 1255
31 기타 endroll 주석 번역 6 file insertend 2010.05.15 1638
30 기타 Encounter Control by SephirothSpawn (SDK호환) 4 file 백호 2009.02.22 1157
29 기타 Economy System by Nick@Creation Asylum 1 file 백호 2009.02.22 934
28 기타 Dynamic Stores by Astro_mech@rmxp.net 1 file 백호 2009.02.22 878
27 기타 Drago - Custom Resolution by LiTTleDRAgo Alkaid 2014.02.13 1110
» 기타 Difficulty Options by SephirothSpawn 백호 2009.02.22 869
25 기타 Defining Encounter Areas by RPG Advocate (사용법 첨부) file 백호 2009.02.22 1201
24 기타 Damage Reductions by SephirothSpawn (SDK호환) 1 백호 2009.02.22 779
23 기타 Crafting/Recipe system script by Axe Man Deke 백호 2009.02.22 829
22 기타 Complete Climate and Time System 1.2 by ForeverZer0 1 Alkaid 2010.09.17 1310
21 기타 Character Creator by Leon@Creation Asylum 2 file 백호 2009.02.22 1511
20 기타 Chaos Project Debug System 1.06b by Blizzard file Alkaid 2010.09.07 1367
19 기타 CG모드 도입 스크립트 file 백호 2009.02.21 1383
18 기타 CG그림 감상 스크립트 file 백호 2009.02.21 1735
17 기타 Book Event v2 by Bruth 5 백호 2009.02.22 1694
16 기타 Boat Script 백호 2009.02.21 729
15 기타 ATS-Advanced Time System 1 file 백호 2009.02.21 964
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 Next
/ 13