赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 1575 |
最后登录 | 2016-8-12 |
在线时间 | 25 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 25 小时
- 注册时间
- 2013-8-14
- 帖子
- 31
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
#==============================================================================
# ■ RGSS3 ショップステータス表示変更 ver 1.01
#------------------------------------------------------------------------------
# 配布元:
# 白の魔 http://izumiwhite.web.fc2.com/
#
# 利用規約:
# RPGツクールVX Aceの正規の登録者のみご利用になれます。
# 利用報告・著作権表示とかは必要ありません。
# 改造もご自由にどうぞ。
# 何か問題が発生しても責任は持ちません。
#==============================================================================
#--------------------------------------------------------------------------
# ★ 初期設定。
# アクター預かり所併用時の処理等の設定
#--------------------------------------------------------------------------
module WD_shopstatus_ini
MemberChange = false #アクター預かり所のスクリプトを併用し、
#預かり所のアクターも表示する場合はtrue
E_type_slot_id = []#この行は消さないで下さい。
Chara_view = true #ショップで歩行グラフィックを表示する場合はtrue
Face_view = true #ショップで顔グラフィックを表示する場合はtrue
#各装備タイプと対応するスロットID
#ショップではここで指定したスロットIDに装備した時の
#スタース変動を表示します。
#nilに指定した場合は、変動を表示しません。(例: E_type_slot_id[4] = nil)
E_type_slot_id[0] = 0 #武器ステータス比較時に入れ替える装備スロットID
E_type_slot_id[1] = 1 #盾ステータス比較時に入れ替える装備スロットID
E_type_slot_id[2] = 2 #頭ステータス比較時に入れ替える装備スロットID
E_type_slot_id[3] = 3 #身体ステータス比較時に入れ替える装備スロットID
E_type_slot_id[4] = 4 #装飾品ステータス比較時に入れ替える装備スロットID
end
class Window_ShopStatus < Window_Base
#-------------------------------------------------------------------
# ● 装備情報の描画
#--------------------------------------------------------------------------
def draw_equip_info(x, y)
@actor = status_member
@temp_actor = nil
draw_actor_equip_info(x, y, @actor)
end
#--------------------------------------------------------------------------
# ● 装備情報を描画するアクターの配列
#--------------------------------------------------------------------------
def status_member
status_members[@page_index]
end
#--------------------------------------------------------------------------
# ● 装備情報を描画するアクターの配列
#--------------------------------------------------------------------------
def status_members
if WD_shopstatus_ini::MemberChange
members = []
$data_actors.each do |actor|
if actor
if $game_switches[WD_memberchange_ini::Initial_switch+actor.id-1]
members.push($game_actors[actor.id])
end
end
end
return members
else
$game_party.members
end
end
#--------------------------------------------------------------------------
# ● 最大ページ数の取得
#--------------------------------------------------------------------------
def page_max
status_members.size
end
#-------------------------------------------------------------------
# ● 装備情報の描画
#--------------------------------------------------------------------------
def draw_equip_info(x, y)
@actor = status_member
@slot_id = nil
@slot_id = WD_shopstatus_ini::E_type_slot_id[@item.etype_id]
if @slot_id
if @actor
temp_actor = Marshal.load(Marshal.dump(@actor))
temp_actor.force_change_equip(@slot_id, @item)
set_temp_actor(temp_actor)
i = 0
draw_actor_name(@actor, 4, line_height*2)
if WD_shopstatus_ini::Chara_view
draw_actor_graphic(@actor, 140, line_height*3)
end
if WD_shopstatus_ini::Face_view
draw_actor_face(@actor, 4, line_height*4)
end
6.times {|i| draw_item(4, line_height * (3.5 + i), 2 + i) }
end
contents.font.size = 16
change_color(normal_color)
draw_text(x, y+200, 200, line_height, , 0)
contents.font.size = 24
end
end
#--------------------------------------------------------------------------
# ● 装備変更後の一時アクター設定
#--------------------------------------------------------------------------
def set_temp_actor(temp_actor)
return if @temp_actor == temp_actor
@temp_actor = temp_actor
end
#--------------------------------------------------------------------------
# ● 項目の描画
#--------------------------------------------------------------------------
def draw_item(x, y, param_id)
draw_param_name(x + 4, y, param_id)
draw_current_param(x + 94, y, param_id) if @actor
draw_right_arrow(x + 126, y)
draw_new_param(x + 150, y, param_id) if @temp_actor
end
#--------------------------------------------------------------------------
# ● 能力値の名前を描画
#--------------------------------------------------------------------------
def draw_param_name(x, y, param_id)
change_color(system_color)
draw_text(x, y, 80, line_height, Vocab::param(param_id))
end
#--------------------------------------------------------------------------
# ● 現在の能力値を描画
#--------------------------------------------------------------------------
def draw_current_param(x, y, param_id)
change_color(normal_color)
draw_text(x, y, 32, line_height, @actor.param(param_id), 2)
end
#--------------------------------------------------------------------------
# ● 右向き矢印を描画
#--------------------------------------------------------------------------
def draw_right_arrow(x, y)
change_color(system_color)
draw_text(x, y, 22, line_height, "→", 1)
end
#--------------------------------------------------------------------------
# ● 装備変更後の能力値を描画
#--------------------------------------------------------------------------
def draw_new_param(x, y, param_id)
if @actor.equippable?(@item)
new_value = @temp_actor.param(param_id)
change_color(param_change_color(new_value - @actor.param(param_id)))
else
new_value = "-"
change_color(normal_color)
end
draw_text(x, y, 32, line_height, new_value, 2)
end
#--------------------------------------------------------------------------
# ● ページの更新
#--------------------------------------------------------------------------
def update_page
if visible && Input.repeat?(:RIGHT) && page_max > 1
Sound.play_cursor
@page_index = (@page_index + 1) % page_max
refresh
elsif visible && Input.repeat?(:LEFT) && page_max > 1
Sound.play_cursor
@page_index = (@page_index - 1) % page_max
refresh
end
end
end
|
|