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 6205
281 스킬 스킬변화를 주는 스크립트 2 백호 2009.02.21 1204
280 스킬 스킬북 스크립트 8 WMN 2008.03.17 2452
279 스킬 스킬샵 스크립트 16 file 독도2005 2009.08.24 4223
278 스킬 스킬제휴 스크립트 file 백호 2009.02.21 1294
277 스킬 스킬창 업그레이드? ps인간 2009.01.23 3061
276 기타 스탭 롤 9 file 허걱 2009.08.13 2907
275 기타 스탯 13 file 이안 2010.01.17 2325
274 스탯 포인트 시스템 3차수정 ( ' 백호 ' 님이 올리신 자료 수정.) 26 카이어덱터 2010.01.04 3346
273 메뉴 스탯올리기 시스템 (액알가능) 27 file 백호 2009.02.22 3406
272 메뉴 스테이터스 일람 스크립트 file 백호 2009.02.21 1330
271 기타 스테이터스 표시 플러스 1.00ver 백호 2009.02.22 1141
270 메뉴 스테이터스 화면 from Harts Horn 2 백호 2009.02.22 1573
269 메뉴 스테이터스 화면에 넥스트 표시 1 file 백호 2009.02.21 1759
268 전투 시뮬레이션 턴알 3 file 백호 2009.02.21 3055
267 시스템2C 4 file 글러브111 2011.01.15 2119
266 기타 시작하자 마자 풀 스크린 2 백호 2009.02.21 1082
265 액터 시트르산의 XP용 감정 말풍선 표시 스크립트 37 file 시트르산 2011.01.25 6114
264 HUD 시트르산의 나침반 스크립트 19 file 시트르산 2011.01.23 3201
263 기타 실제시간표시스크립트입니다...[중뷁이면지성;;] 4 백호 2009.02.22 1352
262 타이틀/게임오버 심심해서 구현해본 타이틀음악만으로 게임 플레이하기 2 백호 2009.02.22 1621
Board Pagination Prev 1 ... 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 ... 52 Next
/ 52