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
61 타이틀/게임오버 타이틀 화면 커스터마이즈 (타이틀 메뉴 바꾸는 스크립트) 9 file №1 2012.08.04 4390
60 메뉴 메뉴를 바꾸는 스크립트 14 №1 2012.08.04 4207
59 전투 Minkoff's Animated Battlers - Enhanced 13.8 by DerVVulfman 1 Alkaid 2012.08.26 1832
58 스킬 Miriam's Handicrafts! 1.3 by DerVVulfman Alkaid 2012.08.26 1204
57 그래픽 Composite Window Skins by PK8 (XP/VX/VXA) Alkaid 2012.08.26 1559
56 전투 Mr.Mo's ABS Ultimate 7.0 by DerVVulfman 4 Alkaid 2012.08.26 2587
55 전투 Etude87_Custom_Slip_Damage_XP ver.1.0 5 습작 2012.08.26 1856
54 그래픽 Event Transparency by DerVVulfman (XP/VX/VXA) Alkaid 2012.09.01 1485
53 그래픽 Pictures below Characters by PK8 (XP/VXA) Alkaid 2012.09.07 1640
52 메뉴 Leidy's Ring Command Window 1.2 by DerVVulfman Alkaid 2012.09.09 1430
51 장비 Auto Equipment Optimization for Guillaume777's Multi Slot Script by DerVVulfman Alkaid 2012.09.09 1497
50 맵/타일 Editor Tiles by PK8 (XP/VX/VXA) Alkaid 2012.09.11 1868
49 그래픽 부드럽게 화면이 움직이는 스크립트 입니다. 16 GangSin 2012.09.12 4589
48 변수/스위치 The Self Data Suite by PK8 (XP/VX/VXA) Alkaid 2012.09.14 1232
47 변수/스위치 Initial Switches and Variables by PK8 (XP/VX/VXA) Alkaid 2012.09.14 1296
46 변수/스위치 Switchless Common Events by PK8(XP/VX/VXA) Alkaid 2012.09.15 1199
45 스킬 Trickster's Bag of Skill Effects (SDK 필요) Alkaid 2012.09.17 1289
44 전투 Trickster씨의 전투 시스템 (SDK 필수?) Alkaid 2012.09.18 3256
43 오디오 Audio Module Rewrite mciSendString 1.1 by DerVVulfman Alkaid 2012.09.18 1367
42 그래픽 WhiteFlute - BitmapEX 4 file JACKY 2012.12.10 2951
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