질문과 답변

Extra Form
본문에 따르면 가게 이벤트 전에 PERCENT_BUY = Variable X = 또는 PERCENT_SELL = Variable X 을 어디 이벤트로 넣으라던데, 그게 무슨 뜻인 지 모르겠네요. '스크립트'에 뭘 써서 넣으라는 것인지, 주석에 넣으라는 것인지.


#===============================================================================
#
# Yanfly Engine RD - Variable Controlled Discounts
# Last Date Updated: 2009.06.03
# Level: Normal
#
# As much as I love price changer scripts and everything, it becomes a tedious
# job to manually adjust the price of each individual item (and calculating the
# new prices) for just one shop and then having to do it again for another. This
# script adjusts the prices of everything sold in the shop by a percentage and
# is controlled by a variable so you don't have to script event it each time.
#
#===============================================================================
# Updates:
# ----------------------------------------------------------------------------
# o 2009.06.03 - Increased compatibility with KGC Limit Break.
# o 2009.05.09 - Started script and finished.
#===============================================================================
# Instructions
#===============================================================================
#
# By default, the variables are as follows:
#
# PERCENT_BUY = Variable 67 = Affects the percentage that will affect the price
# the player will buy the item for.
# PERCENT_SELL = Variable 68 = Affects the percentage that will affect the price
# the player will sell the item for.
#
# Before processing a shop event, input the two variables into the event list
# and adjust the percentage rate you wish for the player to buy/sell items at.
# For normal shops, the rate should be 100 for buying and 50 for selling.
#
#===============================================================================
#
# Compatibility
# - Works With: KGC Limit Break
# - Alias: Scene_Shop: update_buy_selection, update_sell_selection
# - Overwrites: Scene_Shop: decide_number_input
#
#===============================================================================

$imported = {} if $imported == nil
$imported["VariableControlledDiscounts"] = true

module YE
module EVENT
module VARIABLE

# This determines the variables used to set the price percentage rate for
# buying and selling items.
PERCENT_BUY = 67
PERCENT_SELL = 68

# This is the common divisor for all percentage calculations.
PERCENT_DIVISOR = 100

end
end
end

#===============================================================================
# Editting anything past this point may potentially result in causing computer
# damage, incontinence, explosion of user's head, coma, death, and/or halitosis.
# Therefore, edit at your own risk.
#===============================================================================

#===============================================================================
# Scene Shop
#===============================================================================

class Scene_Shop < Scene_Base

#--------------------------------------------------------------------------
# alias update_buy_selection
#--------------------------------------------------------------------------
alias update_buy_selection_vcd update_buy_selection unless $@
def update_buy_selection
if Input.trigger?(Input::C)
@item = @buy_window.item
number = $game_party.item_number(@item)
price = @item.price * $game_variables[YE::EVENT::VARIABLE::PERCENT_BUY]
price /= YE::EVENT::VARIABLE::PERCENT_DIVISOR
if @item == nil or price > $game_party.gold or number == 99
Sound.play_buzzer
else
Sound.play_decision
if $imported["LimitBreak"]
max = (price == 0 ? @item.number_limit : $game_party.gold / price)
max = [max, @item.number_limit - number].min
else
max = price == 0 ? 99 : $game_party.gold / price
max = [max, 99 - number].min
end
@buy_window.active = false
@buy_window.visible = false
@number_window.set(@item, max, price)
@number_window.active = true
@number_window.visible = true
end
else
update_buy_selection_vcd
end
end

#--------------------------------------------------------------------------
# alias update_sell_selection
#--------------------------------------------------------------------------
alias update_sell_selection_vcd update_sell_selection unless $@
def update_sell_selection
if Input.trigger?(Input::C)
@item = @sell_window.item
@status_window.item = @item
if @item == nil or @item.price == 0
Sound.play_buzzer
else
price = @item.price * $game_variables[YE::EVENT::VARIABLE::PERCENT_SELL]
price /= YE::EVENT::VARIABLE::PERCENT_DIVISOR
Sound.play_decision
max = $game_party.item_number(@item)
@sell_window.active = false
@sell_window.visible = false
@number_window.set(@item, max, price)
@number_window.active = true
@number_window.visible = true
@status_window.visible = true
end
else
update_sell_selection_vcd
end
end

#--------------------------------------------------------------------------
# Overwrite decide_number_input
#--------------------------------------------------------------------------
def decide_number_input
Sound.play_shop
@number_window.active = false
@number_window.visible = false
case @command_window.index
when 0 # Buy
price = @item.price * $game_variables[YE::EVENT::VARIABLE::PERCENT_BUY]
price /= YE::EVENT::VARIABLE::PERCENT_DIVISOR
$game_party.lose_gold(@number_window.number * price)
$game_party.gain_item(@item, @number_window.number)
@gold_window.refresh
@buy_window.refresh
@status_window.refresh
@buy_window.active = true
@buy_window.visible = true
when 1 # sell
price = @item.price * $game_variables[YE::EVENT::VARIABLE::PERCENT_SELL]
price /= YE::EVENT::VARIABLE::PERCENT_DIVISOR
$game_party.gain_gold(@number_window.number * price)
$game_party.lose_item(@item, @number_window.number)
@gold_window.refresh
@sell_window.refresh
@status_window.refresh
@sell_window.active = true
@sell_window.visible = true
@status_window.visible = false
end
end

end

#===============================================================================
# Window ShopBuy
#===============================================================================

class Window_ShopBuy < Window_Selectable

#--------------------------------------------------------------------------
# overwrite draw_item
#--------------------------------------------------------------------------
def draw_item(index)
item = @data[index]
number = $game_party.item_number(item)
price = item.price * $game_variables[YE::EVENT::VARIABLE::PERCENT_BUY]
price /= YE::EVENT::VARIABLE::PERCENT_DIVISOR
if $imported["LimitBreak"]
max = (price == 0 ? item.number_limit : $game_party.gold / price)
max = [max, item.number_limit - number].min
else
max = price == 0 ? 99 : $game_party.gold / price
max = [max, 99 - number].min
end
enabled = (price <= $game_party.gold and number < max)
enabled = (price <= $game_party.gold and number < max)
rect = item_rect(index)
self.contents.clear_rect(rect)
draw_item_name(item, rect.x, rect.y, enabled)
rect.width -= 4
self.contents.draw_text(rect, price, 2)
end

end

#===============================================================================
#
# END OF FILE
#
#===============================================================================

Who's 하늘바라KSND

profile

하늘바라KSND

하늘

하늘이

늘바

바라

하바

하바케이

하바케이엔

하느님 

------------------------------

현재 하는 일 :



허걱님과 함꼐하는 하늘섬 환상세계 시나리오 작성 중.

자세한 경과는 이야기 연재란에서.

 

Lighna형과 함께하는 프로젝트, D.A 시나리오 작성 중.

프로젝트 D.A 많은 관심 부탁드려요~

http://projetda.tistory.com/

-------------------------------

 

ㅎㅎ. 안녕하세요 하늘바라 KSND 입니다. 

(96년생)

성별 : 남

사용툴 : VX

주요 활동 : 소설쓰기, 댓글, 뻘글, 글소글

 

블로그 주소 : http://hb_tjdtn.blog.me/                 

 

이전 준비 중

http://habakn.tistory.com/         

 

 

Comment '2'
  • ?
    아이미르 2012.07.19 16:19
    # This determines the variables used to set the price percentage rate for
    # buying and selling items.
    PERCENT_BUY = 67
    PERCENT_SELL = 68

    라니까 아마 상점의 처리 전에 구입시세, 판매시세 처리를 위해서 67번 변수와 68번 변수에 숫자를 넣으라는 뜻 아닐까요. 위의 67, 68을 바꿔주면 처리 변수를 다른 걸로 바꿀 수 있을 겁니다.
  • profile
    하늘바라KSND 2012.07.19 16:27
    아!

    버라이어블이 변수라는 뜻이었군요!

    그것도 모르고 전...(으잌.;)

List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 12456
기타 RMMV 메뉴창의 몇몇 것 들을 지우고 제 마음대로 나오게 하고 싶어요. 1 file 퐁핑퐁 2019.07.27 196
에러 해결 RMXP 순서변경이랑 메뉴 어떻게 줄이나요 1 file 초보maker 2019.02.20 196
RMVXA 아이템을만들었는데 퀘스트할때 아무아이템이나 선택해도 다 진행이되요... 4 file 캬하학 2017.05.18 196
RMVXA 글씨 진하게 하는 방법 2 콩부대 2017.08.10 196
GM 게임메이커 스튜디오 이벤트 실행 1 file nuclearjam 2016.11.06 196
RMMV 텍스트창 투명도 3 RainLN 2016.09.16 196
RMMV VX Ace와 MV 연동 질문 4 Luckypup1 2015.12.26 196
RMVXA 그래픽 소재를 활용하려고 다운 받았습니다 그런데.... 2 file KatapRACT 2015.05.15 196
RMVX 전투진행중 속도가 너무 느려서 좀더 빠르게 하고싶네요 3 리팝이 2015.04.04 196
RMXP 이벤트 도중 세이브 가능하게 만들수 있을까요? 2 서류향 2015.02.10 196
에러 해결 기타 울프툴 번역 도중 오류 발생 (Event 0 (common -1) ~) sman 2019.11.13 196
RMMV 모게코 게임처럼 시작하는 동시에 이미지만 나올 수 있는 방법이 있나요? 1 에러는내친구 2018.04.26 196
RMVXA 캐릭터칩제작 아반나 2017.09.09 196
턴제 전투 RMMV 전투 화면에서 나오는 대사 위치를 수정하고 싶습니다. file 마이럼 2022.06.27 195
플러그인 사용 RMMV 플러그인 스위치? 매개변수? 조작에 관하여 2 XB 2019.11.20 195
RMMV cannot read property 'name' of undefined 1 the추장 2017.08.15 195
RMVXA 파티에는 있지만 전투에 참가하지 않는 멤버를 만들 수 있나요? 2 중립국 2016.12.26 195
기타 RMVXA쯔꾸르 사용중 맵타일에 관하여 질문 드립니다 4 등심몬 2016.11.21 195
RMMV 타이틀 화면 메뉴 선택 추가.. 닌텐도원숭이 2016.06.04 195
RMVX VX 캐릭터 생성사이트가 막혔어요 file Leonis 2016.04.13 195
Board Pagination Prev 1 ... 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 ... 516 Next
/ 516