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 6153
761 기타 Near Fantastica's SDK Test Bed 3 file 백호 2009.02.22 885
760 온라인 NetPlay Evolution v3 여러분이 고대하시던 NPE v3입니다! 5 file 심영 2010.10.29 3993
759 온라인 NetRPGXP Client Core 일부분임 8 백호 2009.10.06 2883
758 키입력 No F1, F12 and Alt+Return (Kein F1, F12 und Alt+Eingabe) by cremno 습작 2013.04.19 995
757 기타 Note Editor for RMXP by NEWOLD 1 Alkaid 2012.01.15 2101
756 기타 NPC Details Window by SephirothSpawn (SDK호환) 1 file 백호 2009.02.22 1209
755 메뉴 Options System by slipknot 3 file 백호 2009.02.22 2101
754 온라인 ORPG 여러분이 원하는 온라인 스크립트 한글화해서 다시 배포! 20 file 심영 2010.10.16 5573
753 파티 Party & Class Changing script 1 file 백호 2009.02.21 962
752 파티 Party Changer 4.0 by Dargor (SDK2.3 호환) 3 WMN 2008.04.06 1572
751 파티 Party Switching Screen by exseiken file 백호 2009.02.22 1300
750 미니맵 Passability Minimap by squall@rmxp.org 백호 2009.02.22 1125
749 기타 Phylomortis.com 스크립트들. file Alkaid 2010.09.02 1775
748 그래픽 Pictures below Characters by PK8 (XP/VXA) Alkaid 2012.09.07 1640
» 전투 Prize Point System 2.0 by Dark Ruby@rmxp.org 3 file 백호 2009.02.22 1742
746 기타 Project RGSS3 by joe5491 6 습작 2013.05.06 1969
745 기타 Quick Animations by SephirothSpawn (SDK호환) 백호 2009.02.22 851
744 기타 Random Character Generator by SephirothSpawn (SDK호환) 1 백호 2009.02.22 1040
743 맵/타일 Random Map Generator by Wachunga@rmxp.net file 백호 2009.02.22 1096
742 기타 Rataime's Multi Demo 1 file 백호 2009.02.22 834
Board Pagination Prev 1 ... 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ... 52 Next
/ 52