XP 스크립트

전투시에 획득한 포인트로 아이템을 구입할 수 있게 한다든가...... 그러니까 FF7에서 골드소서의 배틀스퀘어에 있는 그걸 생각하면 될 겁니다.(죽어라 포인트 모아서 초구무신패참 구하기)


입수가능한 아이템과 입수하는데 필요한 포인트는 스크립트를 직접 편집해서 변경해야 합니다.


#==================================
#Scene_Prize v1.0
#by Rubymatt
#==================================
#Insert in a new script-x above Main.
#HOW TO USE:
#in the Def Main section, edit the names of the items and points required.
#Change the wording and prices of the things inside the "".
#-------------------------------------------------------------------
#in def update, the prize variations and variable number need changing to your game.
#Remove the # on lines 54-56 to make the final prize only obtainable once.
#-------------------------------------------------------------------
#VERSION HISTORY
#v2.0 (This ver)
#Variable now referred to as @points for easiness
#Prices now displayed in another window instead of random aligning
#Switch to prevent re-buying of the final item on the list
#------
#v1.0
#Sucky....
#==================================
class Scene_Prize
def main
@spriteset = Spriteset_Map.new
@points = $game_variables[1] #Change the points variable here
s1 = "Potion" #Edit your item names here.
s2 = "Elixir"
s3 = "Bronze Armour"
s4 = "Ring of Strength"
s5 = "Saint Robe"
s6 = "Steel Sword"
s7 = "Screw Thrust"
s8 = "Cancel"
@command_window = Window_Command.new(220, [s1, s2, s3, s4, s5, s6, s7, s8])
@command_window.x = 100
@command_window.y = 100
@command_window.back_opacity = 200
if @points < 100
@command_window.disable_item(0)
end
if @points < 250
@command_window.disable_item(1)
end
if @points < 500
@command_window.disable_item(2)
end
if @points < 1000
@command_window.disable_item(3)
end
if @points < 5000
@command_window.disable_item(4)
end
if @points < 10000
@command_window.disable_item(5)
end
if @points < 20000
@command_window.disable_item(6)
end
#if $game_switches[50] == true
# @command_window.disable_item(6) #Disables the best item
#end
@points_window = Window_Points.new
@points_window.back_opacity = 200
@points_window.x = 200
@points_window.y = 4
@needed_window = Window_PointsNeeded.new
@needed_window.x = 320
@needed_window.y = 100
@needed_window.back_opacity = 200
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@command_window.dispose
@spriteset.dispose
@points_window.dispose
@needed_window.dispose
if $scene.is_a?(Scene_Title)
Graphics.transition
Graphics.freeze
end
end #of def main
def update
@command_window.update
@spriteset.update
@points_window.update
@needed_window.update
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
end
if Input.trigger?(Input::C)
case @command_window.index
when 0
if @points < 100
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.shop_se)
$game_party.gain_item(1, 1)
@points -= 100
$scene = Scene_Map.new
when 1
if @points < 250
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.shop_se)
$game_party.gain_item(7, 1)
@points -= 250
$scene = Scene_Map.new
when 2
if @points < 500
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.shop_se)
$game_party.gain_armor(13, 1)
@points -= 500
$scene = Scene_Map.new
when 3
if @points < 1000
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.shop_se)
$game_party.gain_armor(25, 1)
@points -= 1000
$scene = Scene_Map.new
when 4
if @points < 5000
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.shop_se)
$game_party.gain_armor(24, 1)
@points -= 5000
$scene = Scene_Map.new
when 5
if @points < 10000
$game_system.se_play($data_system.buzzer_se)
else
$game_system.se_play($data_system.shop_se)
$game_party.gain_weapon(3, 1)
@points -= 10000
$scene = Scene_Map.new
end
when 6
if @points < 20000
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.shop_se)
$game_party.actors[2].learn_skill(64)
$game_switches[50] = true #Remove the # if you want this to only be obtainable once.
@points -= 20000
$scene = Scene_Map.new
when 7 #cancel
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
end
end
$game_variables[1] = @points.to_i
end
end# of class
class Window_Points < Window_Base
def initialize
super(0, 0, 200, 96)
self.back_opacity = 255
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = "Arial"
self.contents.font.size = 24
refresh
end
def refresh
self.contents.clear
self.contents.font.color = Color.new(192, 224, 255)
self.contents.draw_text(0, 0, 400, 32, "Current Points:")
self.contents.font.color = Color.new(255, 255, 255)
self.contents.draw_text(4, 32, 160, 32, $game_variables[1].to_s, 2) #This needs changing
end
end
class Window_PointsNeeded < Window_Base
def initialize
super(0, 0, 140, 256)
self.back_opacity = 255
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = "Arial"
self.contents.font.size = 24
refresh
end
def refresh
self.contents.clear
self.contents.font.color = Color.new(192, 224, 255)
self.contents.draw_text(0, 0, 100, 32, "100pts", 2) #First prize
self.contents.draw_text(0, 0, 100, 96, "250pts", 2) #Second prize
self.contents.draw_text(0, 0, 100, 160, "500pts", 2) #Third prize
self.contents.draw_text(0, 0, 100, 224, "1,000pts", 2) #Fourth prize
self.contents.draw_text(0, 0, 100, 288, "5,000pts", 2) #Fifth prize
self.contents.draw_text(0, 0, 100, 352, "10,000pts", 2) #Sixth prize
#if $game_switches[50] == true
#self.contents.draw_text(0, 0, 100, 416, "Bought!", 2) #cannot buy twice
#else
self.contents.draw_text(0, 0, 100, 416, "20,000pts", 2) #Final / Special Prize
#end
end
end

Who's 백호

?

이상혁입니다.

http://elab.kr

Atachment
첨부 '1'
Comment '3'

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 6203
134 전투 에너미 HP&SP 스크립트 4 파이널판타지 2011.08.16 2902
133 전투 액티브 타임 배틀(보행그래픽) file 백호 2009.02.21 2104
132 전투 액알 스크립트 24 백호 2009.02.22 6017
131 전투 심플액알 더더 수정(스위치, 변수) 17 file 백호 2009.02.21 3046
130 전투 시뮬레이션 턴알 3 file 백호 2009.02.21 3055
129 전투 숙력도 시스템 스크립트 2 백호 2009.02.21 1409
128 전투 사이트뷰 전투 스크립트 (CBS R1) 8 file 백호 2009.02.21 3499
127 전투 사이비 CTB 1 file 백호 2009.02.21 1701
126 전투 사이드뷰 전투(보행그래픽) 15 file 백호 2009.02.21 4244
125 전투 사이드뷰 배틀 (2003 형식으 전투)| 12 file 아방스 2007.11.09 4747
124 전투 사이드뷰 방식 스크립트. 8 file 백호 2009.02.21 4640
123 전투 보행그래픽으로 싸우는 턴알 17 백호 2009.02.22 3782
122 전투 버틀러 색조 변경 5 file 백호 2009.02.21 1552
121 전투 배틀포인트 + 배틀샵 1 file 백호 2009.02.21 1272
120 전투 배틀샵 스크립트 1 백호 2009.02.22 1126
119 전투 배틀 포인트 1 백호 2009.02.22 918
118 전투 배틀 스테이터스·클리어 디자인 13 file 백호 2009.02.21 2468
117 전투 배틀 리포트 화면 변경 스크립트 2 file 백호 2009.02.21 1444
116 전투 방어시회복하는거래요. 8 카르닉스 2010.02.26 1579
115 전투 방어시에 속성 저항,스테이트무시 스크립트 1 백호 2009.02.22 1018
Board Pagination Prev 1 2 3 4 5 6 7 8 9 Next
/ 9