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
74 전투 전투 특수효과 ActionEX 스크립트 1 file 백호 2009.02.21 1660
73 전투 KGC_FusionEnemy(에너미 융합) 1 백호 2009.02.22 1660
72 전투 Active Time Battle 2.62 by パラ犬 file Alkaid 2010.09.06 1660
71 전투 KGC_RateDamage(비율 데미지) 3 file 백호 2009.02.22 1657
70 전투 전투시 아이콘 윈도우 2 file 백호 2009.02.21 1650
69 전투 Minkoff's Animated Battlers - Enhanced 13.3 by DerVVulfman file Alkaid 2010.10.14 1646
68 전투 DerVVulfman's addons for Mr.Mo's ABS file Alkaid 2010.09.10 1645
67 전투 Mr. Mo's ABS Ultimate 1.2 by DerVVulfman Alkaid 2011.11.13 1640
66 전투 KGC_SPdamage (SP데미지) 3 file 백호 2009.02.22 1631
65 전투 레벨업시 능력치 표시 2 백호 2009.02.22 1621
64 전투 전투 특수효과 DamageEX 스크립트 1 file 백호 2009.02.21 1590
63 전투 방어시회복하는거래요. 8 카르닉스 2010.02.26 1579
62 전투 버틀러 색조 변경 5 file 백호 2009.02.21 1552
61 전투 KGC_SPdeath (SP전투불능) file 백호 2009.02.22 1527
60 전투 KGC_RandomTarget(랜덤 타겟) 1 file 백호 2009.02.22 1500
59 전투 S ABS_NonSDK(구버전용) 5 file 백호 2009.02.22 1494
58 전투 Minkoff's Animated Battler Enhanced 11.2 by DerVVulfman 1 쉴더 2009.02.21 1483
57 전투 전투배경확장 한글 3 백호 2009.02.22 1472
56 전투 전투시 미묘한 효과 스크립트 file 백호 2009.02.21 1468
55 전투 SG_Batte Retry ver.4 by sandgolem 2 백호 2009.02.22 1460
Board Pagination Prev 1 2 3 4 5 6 7 8 9 Next
/ 9