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
74 전투 Single/All Target Switching by RPG Advocate 백호 2009.02.22 816
73 전투 SimpleAction (출처 -RPGXP 포럼 비밀소년님의 자작품) 1 file 백호 2009.02.21 1194
72 전투 SG_Batte Retry ver.4 by sandgolem 2 백호 2009.02.22 1457
71 전투 SG_Auto battle by sandgolem (SDK호환) 백호 2009.02.22 1031
70 전투 SG_Attack Break by sandgolem (SDK호환) 백호 2009.02.22 813
69 전투 SBABS게이지바 file 백호 2009.02.21 2285
68 전투 SBABS 버전3.2 - 액알 스크립트 시스템 설명 13 아방스 2007.11.09 5685
67 전투 SBABS v4 (A-RPG) 5 file 백호 2009.02.22 2055
66 전투 SBABS v3 6 file 백호 2009.02.22 2046
65 전투 S.G DamageShield Script 백호 2009.02.22 935
64 전투 S ABS_NonSDK(구버전용) 5 file 백호 2009.02.22 1494
63 전투 S ABS_NonSDK ver 1 file 백호 2009.02.22 1458
62 전투 RTAB방식의 CBS 스크립트 Final-2 5 file 백호 2009.02.22 1943
61 전투 RTAB/CRB 단축키 1.0.0ver 3 file 백호 2009.02.22 2527
60 전투 RTAB 1.16ver 12 file 백호 2009.02.22 3960
59 전투 RTAB 1.15와 애드온 from 歯車の城 4 file 백호 2009.02.22 1186
58 전투 RPG Advocate의 데모에서 발췌한 사이드뷰용 전투상태창 4 file 백호 2009.02.22 3597
57 전투 Real Time Active Battle(RTAB) 1.14 from 歯車の城 3 file 백호 2009.02.22 1315
» 전투 Prize Point System 2.0 by Dark Ruby@rmxp.org 3 file 백호 2009.02.22 1742
55 전투 MrMo DVV Add-On #13: Tinuke's Smart Missiles 2 Alkaid 2011.01.24 1843
Board Pagination Prev 1 2 3 4 5 6 7 8 9 Next
/ 9