질문과 답변

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 13188
RMVX 배포용게임작성시 RTP데이터포함은 어떤기능이 있나요 2 Lamancha 2012.07.19 1327
RMVX 얀파이 Variable Controlled Discounts 사용 질문 2 하늘바라KSND 2012.07.19 931
RMVX VX에서 자동전투를 구현할수 없나요. 3 Lamancha 2012.07.17 1497
RMXP 글씨가 다 날아갔어요... 3 래식 2012.07.15 1215
RMVXA 특정 사운드 재생시 튕김현상.. 7 파튤라 2012.07.15 1470
RMVXA 스페이스 키 입력 설정 방법?! 4 파튤라 2012.07.14 1310
RMVXA 지형에 관한 질문입니다 6 zerlo 2012.07.14 1358
RMXP 파티의 동료 4명이상 추가/최대 채력 증가 질문 3 아이리수 2012.07.13 1583
RMVX 테스트 플레이에서 방향키가 안되요 3 파라디클로로벤젠 2012.07.12 2595
RMVX 유즈미짱님의 시야범위 스크립트 질문입니다. 1 카온 2012.07.10 1771
RMVX 후레쉬같은 이벤트 질문 2 노이치 2012.07.08 3449
RMVX 포켓몬 맵칩 가지고 계신분 없나요?? 1 메론파이 2012.07.08 2174
RMVXA 업그레이드 배틀 시스템에 대해 질문이 있습니다. 1 빙룡군 2012.07.08 995
RMVX 캐릭터칩 만들어서 적용시킬때 2 file 스레누시 2012.07.07 1635
RMVX 랜덤으로 대화를 걸때 지정된 이벤트가 발생하는 것에 대해 물어보려 합니다. 2 file 다라 2012.07.07 1189
RMVX 마우스 입력의 각개인식 7 file 하늘바라KSND 2012.07.07 1068
RMVX vampyr sbabs 스크립트 관련 질문 드립니다 1 존스노우 2012.07.07 1120
RMVX 아방스님의 맵 타이틀 스크립트 질문합니다. 2 file 카온 2012.07.07 1494
RMVXA RPG VX ACE 윈도우 7유저의 한글 깨짐 현상. 3 kila233 2012.07.07 8634
GM 게임 스타트 누를 때 실행않되고 이상한 오류 뜨는거 시작하는방법 1 file 오매갓 2012.07.06 1681
Board Pagination Prev 1 ... 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 ... 517 Next
/ 517