赞 | 0 |
VIP | 15 |
好人卡 | 21 |
积分 | 7 |
经验 | 24727 |
最后登录 | 2021-10-29 |
在线时间 | 2184 小时 |
- 梦石
- 0
- 星屑
- 672
- 在线时间
- 2184 小时
- 注册时间
- 2009-12-6
- 帖子
- 607

|
本帖最后由 ML4455739 于 2012-4-14 20:02 编辑 + q# f" s2 S( F7 O7 c$ T4 q
( y0 y/ d' S5 j: n在Extra Skill里按1~5是设置' p0 l' u: K8 q% g8 e% @
设置好后回到地图按1~5就是……切换。
1 L7 v- m$ Q' P; a% T' i7 o$ q6 Z* E: L% \3 n8 r
请问是要改成直接使用吗?) [6 I$ h, c6 Y8 x* `! f
3 t3 X0 r# X" A- S+ F那就用这个吧、记得改XAS_HUDDISABLE_HUD_SWITCH。6 i) B- O ^; j& i
#=============================================================================== # XAS - Hot Key HUD #=============================================================================== # By Mr_Wiggles # Version 1.3 # 7/6/10 #------------------------------------------------------------------------------- # Instructions: # Fill in the constants bellow, paste this script above main and bellow XAS in # your script data base. BE SURE TO SET TO THE RIGHT XAS VERSION!! # # Place the "Hot_Keys_HUD" picture file into your game directory # Graphics/Pictures folder. #------------------------------------------------------------------------------- # Directions of Use: # Simple just press a number key (1 - 5) when the quick skill or item menu is # Showing. #=============================================================================== HUD_X = 0 # X pos of HUD HUD_Y = 0 # Y pos of HUD XAS_HUDDISABLE_HUD_SWITCH = 1 # Set true if XAS 3.7f # set false if XAS 3.6 XASVER_37 = true #=============================================================================== # Numkeys Module #=============================================================================== module Input Numkey = {1 => 1049, 2 => 1050, 3 => 1051, 4 => 1052, 5 => 1053} class << self Key = Win32API.new('user32','GetAsyncKeyState',['i'],'i') def testkey(key) Key.call(key) & 0x01 == 1 end alias hud_key_update update def update hud_key_update @pressed = [] for key in Numkey.values key -= 1000 @pressed.push(key) if testkey(key) end end def pressed?(key) key -= 1000 @pressed = [] if @pressed.nil? return true if @pressed.include?(key) return false end alias hud_key_press? press? def press?(key) return pressed?(key) if key.to_f > 1000 hud_key_press?(key) end end end #=============================================================================== # Game Player #=============================================================================== class Game_Player < Game_Character attr_accessor :hud_equip attr_accessor :hud_item_id attr_accessor :hud_skill_id alias hot_key_hud_init initialize def initialize hot_key_hud_init @hud_equip = [] @hud_item_id = [] @hud_skill_id = [] end def equip_item_to_hud(n, item) if item.nil? $game_system.se_play($data_system.buzzer_se) return end $game_system.se_play($data_system.decision_se) @hud_equip[@hud_equip.index(item)] = nil if @hud_equip.include?(item) @hud_equip[n] = item @hud_item_id[n] = XAS::XASITEM_ID[item.id] @hud_skill_id[n] = item.id end end #=============================================================================== # Quick Skill Window #=============================================================================== if XASVER_37 == false class Xas_Scene_Skill alias hud_quick_menu_main main def main @hot_key_hud = Hot_Key_HUD.new hud_quick_menu_main @hot_key_hud.dispose end alias hotkey_hud_qucik_menu_update update def update hotkey_hud_qucik_menu_update # Hot Key num 1 if Input.press?(Input::Numkey[1]) $game_player.equip_item_to_hud(0, @skill_window.skill) # Hot Key num 2 elsif Input.press?(Input::Numkey[2]) $game_player.equip_item_to_hud(1, @skill_window.skill) # Hot Key num 3 elsif Input.press?(Input::Numkey[3]) $game_player.equip_item_to_hud(2, @skill_window.skill) # Hot Key num 4 elsif Input.press?(Input::Numkey[4]) $game_player.equip_item_to_hud(3, @skill_window.skill) # Hot Key num 5 elsif Input.press?(Input::Numkey[5]) $game_player.equip_item_to_hud(4, @skill_window.skill) end @hot_key_hud.update end end else class Quick_Menu_Skill alias hud_quick_menu_main main def main @hot_key_hud = Hot_Key_HUD.new hud_quick_menu_main @hot_key_hud.dispose end alias hotkey_hud_qucik_menu_update update def update hotkey_hud_qucik_menu_update # Hot Key num 1 if Input.press?(Input::Numkey[1]) $game_player.equip_item_to_hud(0, @skill_window.skill) # Hot Key num 2 elsif Input.press?(Input::Numkey[2]) $game_player.equip_item_to_hud(1, @skill_window.skill) # Hot Key num 3 elsif Input.press?(Input::Numkey[3]) $game_player.equip_item_to_hud(2, @skill_window.skill) # Hot Key num 4 elsif Input.press?(Input::Numkey[4]) $game_player.equip_item_to_hud(3, @skill_window.skill) # Hot Key num 5 elsif Input.press?(Input::Numkey[5]) $game_player.equip_item_to_hud(4, @skill_window.skill) end @hot_key_hud.update end end end #=============================================================================== # Quick Item Window #=============================================================================== if XASVER_37 == false class Xas_Scene_Item alias hud_quick_menu_main main def main @hot_key_hud = Hot_Key_HUD.new hud_quick_menu_main @hot_key_hud.dispose end alias hud_key_update update def update hud_key_update # Hot Key num 1 if Input.press?(Input::Numkey[1]) $game_player.equip_item_to_hud(0, @item_window.item) # Hot Key num 2 elsif Input.press?(Input::Numkey[2]) $game_player.equip_item_to_hud(1, @item_window.item) # Hot Key num 3 elsif Input.press?(Input::Numkey[3]) $game_player.equip_item_to_hud(2, @item_window.item) # Hot Key num 4 elsif Input.press?(Input::Numkey[4]) $game_player.equip_item_to_hud(3, @item_window.item) # Hot Key num 5 elsif Input.press?(Input::Numkey[5]) $game_player.equip_item_to_hud(4, @item_window.item) end @hot_key_hud.update end end else class Quick_Menu_Item alias hud_quick_menu_main main def main @hot_key_hud = Hot_Key_HUD.new hud_quick_menu_main @hot_key_hud.dispose end alias hud_key_update update def update hud_key_update # Hot Key num 1 if Input.press?(Input::Numkey[1]) $game_player.equip_item_to_hud(0, @item_window.item) # Hot Key num 2 elsif Input.press?(Input::Numkey[2]) $game_player.equip_item_to_hud(1, @item_window.item) # Hot Key num 3 elsif Input.press?(Input::Numkey[3]) $game_player.equip_item_to_hud(2, @item_window.item) # Hot Key num 4 elsif Input.press?(Input::Numkey[4]) $game_player.equip_item_to_hud(3, @item_window.item) # Hot Key num 5 elsif Input.press?(Input::Numkey[5]) $game_player.equip_item_to_hud(4, @item_window.item) end @hot_key_hud.update end end end #=============================================================================== # HUD Window #=============================================================================== class Hot_Key_HUD < Window_Base def initialize(x = HUD_X - 10, y = HUD_Y - 15) super(x, y, 220, 80) self.contents = Bitmap.new(width - 32, height - 32) self.opacity = 0 @actor = $game_party.actors[0] refresh end def refresh self.contents.clear bitmap = RPG::Cache.picture("Hot_Keys_HUD") self.contents.blt(0, 0, bitmap, Rect.new(0, 0, 160, 32)) for i in 0..4 x = 32 * i + 4 item = $game_player.hud_equip[i] next if item.nil? if item.is_a?(RPG::Weapon) item = nil if $game_party.weapon_number(item.id) == 0 and @actor.weapon_id != item.id elsif item.is_a?(RPG::Armor) item = nil if $game_party.armor_number(item.id) == 0 and @actor.armor1_id != item.id elsif item.is_a?(RPG::Item) item = nil if $game_party.item_number(item.id) == 0 or !$game_party.item_can_use?(item.id) end bitmap = RPG::Cache.icon(item.icon_name) self.contents.blt(x, 4, bitmap, Rect.new(0, 0, 24, 24)) end end def equip(item) if item.nil? $game_system.se_play($data_system.buzzer_se) return end if item.is_a?(RPG::Skill) if !@actor.skill_can_use?(item.id) $game_system.se_play($data_system.buzzer_se) return end #$game_system.xas_skill_id = item.id @item_type = false elsif item.is_a?(RPG::Weapon) @actor.equip(0, item.id) elsif item.is_a?(RPG::Armor) @actor.equip(1, item.id) elsif item.is_a?(RPG::Item) item_tool_id = XAS::XASITEM_ID[item.id] if item_tool_id != nil unless $game_party.item_can_use?(item.id) $game_system.se_play($data_system.buzzer_se) return end #$game_system.xas_item_id = item.id @item_type = true end end #$game_system.se_play($data_system.equip_se) end def use_hud_item(i) if @item_type $game_temp.force_action_id = $game_player.hud_item_id[i] else $game_temp.force_action_id = $game_player.hud_skill_id[i] end end def update @actor = $game_party.actors[0] @hot_keys = $game_player.hud_equip refresh return if !$scene.is_a?(Scene_Map) if Input.press?(Input::Numkey[1]) equip($game_player.hud_equip[0]) use_hud_item(0) elsif Input.press?(Input::Numkey[2]) equip($game_player.hud_equip[1]) use_hud_item(1) elsif Input.press?(Input::Numkey[3]) equip($game_player.hud_equip[2]) use_hud_item(2) elsif Input.press?(Input::Numkey[4]) equip($game_player.hud_equip[3]) use_hud_item(3) elsif Input.press?(Input::Numkey[5]) equip($game_player.hud_equip[4]) use_hud_item(4) end end end #=============================================================================== # Scene Map #=============================================================================== class Scene_Map alias hot_key_hud_init main def main @hot_key_hud = Hot_Key_HUD.new @hot_key_hud.visible = !$game_switches[XAS_HUDDISABLE_HUD_SWITCH] hot_key_hud_init @hot_key_hud.dispose end alias hot_key_hud_update update def update hot_key_hud_update @hot_key_hud.update @hot_key_hud.visible = !$game_switches[XAS_HUDDISABLE_HUD_SWITCH] @hot_key_hud.update if !$game_switches[XAS_HUDDISABLE_HUD_SWITCH] end end
#===============================================================================
6 i% _; h' l. V7 v# XAS - Hot Key HUD : U. }: h( T0 u7 A$ t, G
#=============================================================================== - [/ o0 E d0 Q: e* G7 x1 `+ {
# By Mr_Wiggles
% L9 r+ D6 M6 d: b0 G3 W2 P# Version 1.3
. D5 d1 t2 w5 s# O4 P7 D# 7/6/10
! ~, S( X; v6 ^# [2 t7 s#------------------------------------------------------------------------------- + E( x3 p8 Q v3 B' \. r- m
# Instructions: 4 [# L8 a8 B; d3 K8 o. {% W% ?4 k
# Fill in the constants bellow, paste this script above main and bellow XAS in P% X9 h% U% W3 T& j
# your script data base. BE SURE TO SET TO THE RIGHT XAS VERSION!! / s% E' O: X4 x( \9 C& e
# % m$ P# D/ F0 ]+ X8 v# U6 P
# Place the "Hot_Keys_HUD" picture file into your game directory 6 X8 q) a/ a& @, B( f& ^* e
# Graphics/Pictures folder.
: C, Y; D3 y# d& `, }! `6 ?#------------------------------------------------------------------------------- * F" j$ H, o* j, L. ~
# Directions of Use:
- y6 @! X; Q( ^3 ~# Simple just press a number key (1 - 5) when the quick skill or item menu is
# l# u5 |/ G r# Showing.
, x) J2 R# q8 e1 u. H#===============================================================================
, J- o4 O& t# X3 p/ B. j' rHUD_X = 0 # X pos of HUD
( C( \2 u6 `) j7 S# b9 ]HUD_Y = 0 # Y pos of HUD
* x: C! v8 z# |3 N/ DXAS_HUDDISABLE_HUD_SWITCH = 1 % A$ N8 y# Z; d) ?2 U
8 q) B* `: g F6 C
# Set true if XAS 3.7f 5 C$ B+ E6 ^5 h( L {
# set false if XAS 3.6 ' z& w+ p7 s; R2 z
XASVER_37 = true
" O/ C2 @# Q4 m9 T8 g. d* T. }
5 ?/ n/ x9 I+ Q$ P; Y1 j#=============================================================================== 8 Y; ` a% c3 Z7 s# d' g; T9 ~
# Numkeys Module
) g& n. h; g* m/ I' ~' Z% f#=============================================================================== # n+ P- V; `: O% n7 w* m8 E
module Input
" j; ?! ?; W! a Numkey = {1 => 1049, 2 => 1050, 3 => 1051, 4 => 1052, 5 => 1053}
: V( |1 W1 ?; S& E5 S! c8 G9 A class << self
( P7 {3 r2 s; R* [# ]( N# r Key = Win32API.new('user32','GetAsyncKeyState',['i'],'i')
- M. e+ V# g+ ^+ Z6 s5 V# S F # j2 g6 [5 S/ j |
def testkey(key) & {1 ^* z( x8 |; e4 d
Key.call(key) & 0x01 == 1 7 \. t0 U- b6 |; n, U% ?% g# W
end 7 `. t% W+ y2 s t4 o; u# X7 d
5 w" F3 v# D& Y5 N alias hud_key_update update
: v3 f1 A* D! r# d- W0 j7 B, ] def update 9 K3 n/ d: R' Q8 R3 r% w
hud_key_update & Z' X1 S* I6 \% L) ~
@pressed = [] . I5 j: b# v2 q1 s+ b c
for key in Numkey.values 8 F: G/ K$ r3 _7 d- C4 ~+ G9 A: y
key -= 1000
, x: L6 |8 U& W. Y @pressed.push(key) if testkey(key)
7 V# v7 y* V7 L r end 7 C: J9 E- A) x3 t1 B2 ^$ H, n
end
( n* k/ f% l3 c
& u4 p" Q7 S! Z, ]2 J) ^: Y def pressed?(key)
2 A% _1 p% `, K2 r3 ` key -= 1000
! E' Y, f! v- ~& B @pressed = [] if @pressed.nil?
. p, q2 X ]4 }: } return true if @pressed.include?(key)
( @9 S0 R9 l5 k, S, P return false
) X: U1 [* }) P- e end 5 @5 z# ?/ I# A4 S" {) u2 q
# ]3 Q- Q& s; Y alias hud_key_press? press?
7 H* O4 O) L6 `7 N* `: f) L def press?(key)
# l( ?3 }( F; x0 P, |7 |+ @. @ return pressed?(key) if key.to_f > 1000 : R- a9 \1 k( Z5 A
hud_key_press?(key) 0 J X* e M* |- w2 D% E
end
7 X6 V: {& N8 a& t5 l- A% o6 u5 i end : W' m: E" T, d" j" I
end
7 z7 u5 Z* w0 L6 g
( H, M! a! f4 Y. P" L6 G#===============================================================================
" {2 D1 y5 S6 p1 w6 S# Game Player 2 h, D! `; ^; |9 G
#=============================================================================== 4 v5 G. d- u6 G- I7 |
class Game_Player < Game_Character
9 Q5 P$ B& O! f6 z' X* O0 \ attr_accessor :hud_equip
8 b: U( Q, O' X7 f5 c$ | attr_accessor :hud_item_id u9 g4 Z: }& ^/ D+ c _' O/ H) n' m
attr_accessor :hud_skill_id % z# q- ]/ B% `
2 `) C4 A# C9 [1 R% R alias hot_key_hud_init initialize
% C# ]( ?3 N, b% v' Q9 G def initialize
8 M1 L& J; H- y8 z5 e" { hot_key_hud_init 3 y, R6 |( X' a
@hud_equip = []
; n/ }2 K+ e2 O& B8 {7 Y& _ @hud_item_id = []
* n( b9 k# s3 n2 y @hud_skill_id = [] " i* E0 y# r* M
end
1 G+ H! @) ]' \: s
8 z$ i; x; ^+ P6 H def equip_item_to_hud(n, item) - V- z7 x. c" a. Z& y: Q y) J8 P
if item.nil? - x) P7 h' \0 h9 ^8 m
$game_system.se_play($data_system.buzzer_se)
, Y6 A5 l, V0 q; a0 G return
) X$ B/ q! ~ @! B; j. Y9 h end $ H G Q( Q" F9 R4 A
$game_system.se_play($data_system.decision_se)
6 o$ N- @ U% N3 X1 R+ ?5 s7 p @hud_equip[@hud_equip.index(item)] = nil if @hud_equip.include?(item) + f- ?; C8 ~6 K8 ]: V4 f6 C
@hud_equip[n] = item
% a) i7 ?% V/ x i @hud_item_id[n] = XAS::XASITEM_ID[item.id]
' o7 H( y( e0 u# D" l @hud_skill_id[n] = item.id
1 ~+ y, _/ s: e end
9 @8 \7 C" U P7 qend % D7 F& p! Y/ A* u4 Q8 {3 o7 ^. x! v
( P- T1 e* V% v8 }& D( Y |
#===============================================================================
$ `4 x0 `) T' Z- C* P- m# Quick Skill Window . ?% f9 @9 A: \" W2 A" O7 w" B: o
#=============================================================================== / F8 R9 y5 ]! P( I8 ~5 L+ h+ G
if XASVER_37 == false
: E. g3 @5 [& U2 {: [- q class Xas_Scene_Skill
! r3 G- E5 c& v7 Y! C1 a# D alias hud_quick_menu_main main
; N1 H% c$ N3 f( O1 U def main & u z# j7 p) H
@hot_key_hud = Hot_Key_HUD.new 4 X' w) I. N3 Q5 y- k% E
hud_quick_menu_main & Q/ g w2 j/ P( l" D4 i7 V
@hot_key_hud.dispose 1 x. g, U, s" Y6 X2 V
end & n* l" B$ Q& J* H( J1 z6 o" X
5 P( l" M" c+ |% ]& { alias hotkey_hud_qucik_menu_update update
. E r6 u/ N. J1 @ def update $ P0 `7 e! R" t8 D2 Y
hotkey_hud_qucik_menu_update ( O. C" v: \6 U& n
# Hot Key num 1 1 d/ i/ f: E$ K b
if Input.press?(Input::Numkey[1])
) z' n. C6 }* Z8 m/ s2 d; U1 _ $game_player.equip_item_to_hud(0, @skill_window.skill) 7 g+ L. N4 \) @/ `4 {1 e# ^% Z
# Hot Key num 2
5 [# P. F" o2 t2 n% Z7 Y elsif Input.press?(Input::Numkey[2]) 7 `! d) u+ b X u0 G7 D
$game_player.equip_item_to_hud(1, @skill_window.skill) ; E% d) V$ r7 j
# Hot Key num 3
0 o+ V+ f, C- | elsif Input.press?(Input::Numkey[3]) 0 p6 p6 W( Z! z# D8 g
$game_player.equip_item_to_hud(2, @skill_window.skill) 2 f# o* {, y8 a" e! b3 ?$ q& ]- x/ m
# Hot Key num 4 ) C" T. K/ `5 j w$ T9 U( K0 V5 Z6 t
elsif Input.press?(Input::Numkey[4]) * V3 ^! Y# ~& v- h$ L
$game_player.equip_item_to_hud(3, @skill_window.skill)
1 q+ e# r) M7 V* a, o! j # Hot Key num 5
8 d8 x# W" m( [2 ?. o elsif Input.press?(Input::Numkey[5])
3 h# _+ A$ O2 ?0 ]" _% p $game_player.equip_item_to_hud(4, @skill_window.skill) # S; L( b+ c* m/ |
end
8 F: X \4 m0 w4 b0 D# x7 n @hot_key_hud.update
5 L* m7 T! W4 \' Q1 P end
3 y1 V i, t* K ~ end $ \ B/ h# \; |) ^% s1 B
else 7 I" r! x. r( W- e
class Quick_Menu_Skill
) C$ H, ]$ d% j' O' U( i alias hud_quick_menu_main main
/ ~3 T) I+ A9 m# T5 ] def main
- Z8 ~8 _# X9 ~: v, i7 e9 O" s5 z @hot_key_hud = Hot_Key_HUD.new % c% P, I' m1 N$ o
hud_quick_menu_main " Q2 I1 W' ?7 |& M f C1 Q
@hot_key_hud.dispose
0 l4 i1 ]/ `" d& ~! C- j9 W' { end
) m5 U0 V' R5 H l; `! T q" D # ^- A* f* s1 P6 R) s# X; A: A
alias hotkey_hud_qucik_menu_update update & w6 i4 c" F0 g/ C2 B6 w9 N# Z4 K
def update 2 ~. t$ e, ~& w/ Q# D/ ^
hotkey_hud_qucik_menu_update
; M. y4 N6 N& k2 K # Hot Key num 1
3 y; p- B7 _2 n% [+ _! ], \ if Input.press?(Input::Numkey[1]) ) O3 D) m' X8 I" E2 e4 v7 _0 H
$game_player.equip_item_to_hud(0, @skill_window.skill) & u) v& B( q4 U$ X) W( B
# Hot Key num 2 2 y, A7 A0 U D7 l
elsif Input.press?(Input::Numkey[2])
- i: Y5 ~2 P' }3 H3 N9 \( M $game_player.equip_item_to_hud(1, @skill_window.skill) - u0 O. h% l- [ v0 b, [' j
# Hot Key num 3 * g' h% j( G6 d+ B# s
elsif Input.press?(Input::Numkey[3])
) z0 v! ^0 k& L: z $game_player.equip_item_to_hud(2, @skill_window.skill)
]/ G1 E% Z0 r. ^ |2 r1 ` # Hot Key num 4
, d1 t0 s5 F+ V" f* \' N8 m& j elsif Input.press?(Input::Numkey[4]) 6 V: M# u3 u n) P" L, g0 E
$game_player.equip_item_to_hud(3, @skill_window.skill)
K1 G6 J- g& {, z& d$ O e # Hot Key num 5 # c3 _% h: O4 Z, v1 y/ C1 a
elsif Input.press?(Input::Numkey[5]) 1 B1 Y7 k) o: `* T; C$ B
$game_player.equip_item_to_hud(4, @skill_window.skill)
. j8 p# X. O2 g" e9 o& Q end
8 a2 _7 l# z% B3 ` @hot_key_hud.update
; E2 c) f. Y" A: h/ i9 j end
( S7 s& a' x) ^# M" }, u end 7 W7 B0 j [4 Y& T
end + b: G1 m- D, |, R: g, H
^4 z( C$ v! X6 b+ v, ]+ [: n#===============================================================================
- d! s! p. F. w5 v# Quick Item Window
1 | t( n% N, W7 A#===============================================================================
! B! L: W4 U8 P: G) wif XASVER_37 == false - V9 M5 t6 o$ o% z9 b
class Xas_Scene_Item
# A- y! O$ L7 {2 x3 A alias hud_quick_menu_main main & t! w6 b6 R$ E8 q5 J" L- I
def main
) q9 z" A/ C8 ]9 p# K @hot_key_hud = Hot_Key_HUD.new
$ l3 V( z& b* D0 H* D hud_quick_menu_main
5 V; r4 D9 d" }0 U+ R4 `) s @hot_key_hud.dispose # T9 f5 _1 h) P0 L4 g. F& B, s
end
, a5 w3 H' W, w9 s ! t9 |& a) A% O2 ^5 v+ K- q
alias hud_key_update update 7 i: D5 ?: v& c* a6 v
def update ! M3 [3 T5 h% G. K$ s7 b! V
hud_key_update
4 V$ n& X! A% r& x# Z # Hot Key num 1 5 b1 p$ }( ^/ b) {0 }9 r, ]
if Input.press?(Input::Numkey[1])
3 V6 S6 S5 r9 m0 s, F. m/ U! s $game_player.equip_item_to_hud(0, @item_window.item) ! O# K! z# i) |5 ^
# Hot Key num 2
! D) m1 i! {/ ?! n elsif Input.press?(Input::Numkey[2])
7 b) m' m- i$ F4 N7 h $game_player.equip_item_to_hud(1, @item_window.item) / {% f; G, J! L& s6 V1 t
# Hot Key num 3
4 t; H3 g( M _ elsif Input.press?(Input::Numkey[3]) , u/ i7 P8 p: w6 P G7 @! U, O
$game_player.equip_item_to_hud(2, @item_window.item) 4 }* X, E9 ] [$ {1 Q8 N
# Hot Key num 4
% o/ Z2 \/ o L' B3 M1 O/ ^ elsif Input.press?(Input::Numkey[4])
+ z* `, g4 a' t! G/ R+ Y. L $game_player.equip_item_to_hud(3, @item_window.item) + C* @ a) A3 x; P/ N, _& U
# Hot Key num 5
- y* Z; j% i4 k6 G/ X. H elsif Input.press?(Input::Numkey[5]) , L8 h8 s% l! } c( \! V
$game_player.equip_item_to_hud(4, @item_window.item) 5 g* @, _! M t& ~8 M$ [
end " s1 q+ x5 Q' S+ z
@hot_key_hud.update
9 f g1 F6 O4 B1 z end
2 o# H7 u p* C% X1 y* N. \% C end
" o, }* w$ A6 j0 Oelse
6 p R' U. s( l! J) r4 q class Quick_Menu_Item
& Z' }- g" V% S( X" `- i alias hud_quick_menu_main main 1 N6 X( j& n, v/ e& T( |
def main + E. P3 [7 {4 p( M8 l
@hot_key_hud = Hot_Key_HUD.new
6 M! U# n: C0 z% C. V& {8 h hud_quick_menu_main
& o8 _' B- h; |! h& a, I @hot_key_hud.dispose
$ N7 f& P$ w. M7 M9 z P2 Z* Y) d* a end
$ J; e9 O" |! m# F1 ^& ? 2 i. C4 L, |7 i1 U) C
alias hud_key_update update |# K8 n6 w2 h/ I& m
def update 6 ?" d- K- E2 E. T+ g. n# d: H0 ]! H
hud_key_update
# c4 S! }, M; J5 k* h) p" z" [( U # Hot Key num 1
' ^3 O7 |* I0 a" r! e if Input.press?(Input::Numkey[1])
8 f! z$ Y! S9 b* j3 u; S2 B $game_player.equip_item_to_hud(0, @item_window.item)
. @0 ~9 X% ?6 F # Hot Key num 2 $ E% A" O0 D6 K, A
elsif Input.press?(Input::Numkey[2]) ( c9 C: b, \; }
$game_player.equip_item_to_hud(1, @item_window.item) 0 Z' N6 R3 B4 K& K2 i
# Hot Key num 3 D4 T% }# z0 J. K, _8 b
elsif Input.press?(Input::Numkey[3]) # H( r, l% T% Y2 j. g) _& A
$game_player.equip_item_to_hud(2, @item_window.item)
- p6 E9 h: H- [4 C7 F6 E' R # Hot Key num 4 / x1 m9 Y. E8 v' [( v: Z+ b$ U
elsif Input.press?(Input::Numkey[4]) " d! f1 Q2 H! Z4 F' I( v# T2 g
$game_player.equip_item_to_hud(3, @item_window.item) 5 B! X' @; O' @5 y2 y7 |
# Hot Key num 5 9 X! p" g) y0 r8 k' C
elsif Input.press?(Input::Numkey[5])
6 n. s7 G( t1 f$ b $game_player.equip_item_to_hud(4, @item_window.item) 3 V! m0 I" G6 w
end
# \) z. j* D, g @hot_key_hud.update
& A! z4 ^1 d: E. ~4 u end
$ k3 b" v* U: B6 g end
: z: d9 |5 \1 l. l8 zend 3 p* A9 g1 {+ r- o& }) J
* A' b8 t. r1 ]9 y) s+ Z* t
#=============================================================================== 6 U; L" L5 r/ l/ g8 `0 C
# HUD Window 6 b' O `2 ]# M( i
#=============================================================================== % H( H: Q# U% q, Q- S1 k
class Hot_Key_HUD < Window_Base
7 Z0 G: Z$ z# J( \# H0 w( P def initialize(x = HUD_X - 10, y = HUD_Y - 15)
1 [) r. |, h) j% M- U super(x, y, 220, 80)
9 p) G5 I1 {, C- P; u self.contents = Bitmap.new(width - 32, height - 32)
+ k. j/ b5 s3 k+ _3 Y/ X self.opacity = 0 3 p9 b, w' n) [
@actor = $game_party.actors[0] * h) q2 b7 k% Z' ?- o0 Z
refresh
+ Y0 N9 z \# \# y* O0 [2 {& z/ W end
1 d6 u, M7 o ` U 5 s0 R- a7 u' E
def refresh ) Z+ k( a% G6 z b9 g6 W1 O( G" T
self.contents.clear " \2 j: P! b0 M" S+ c
bitmap = RPG::Cache.picture("Hot_Keys_HUD") / W! _4 `2 j7 @. l6 c9 Q
self.contents.blt(0, 0, bitmap, Rect.new(0, 0, 160, 32)) 4 J7 f6 U! W' _& P/ {, a
for i in 0..4 5 i+ l5 E0 o, ?) D( X& @
x = 32 * i + 4 9 N1 I9 ]& g* `+ f7 _! U$ v
item = $game_player.hud_equip[i]
0 R7 B7 F7 X, b2 E next if item.nil?
2 i) ?4 B; G/ c* ]' y0 J4 P5 y if item.is_a?(RPG::Weapon)
! ]+ j6 v' O! B8 K6 U* J: V% | item = nil if $game_party.weapon_number(item.id) == 0 and 0 T4 w! {* y9 l
@actor.weapon_id != item.id ) H" a7 A3 u- h+ q+ P! Q
elsif item.is_a?(RPG::Armor) 4 z5 x2 J" \3 l9 U# t6 C& O6 s
item = nil if $game_party.armor_number(item.id) == 0 and 0 C( o+ {0 _, b7 l9 d5 t
@actor.armor1_id != item.id & v: Y0 q2 R# W M- R
elsif item.is_a?(RPG::Item)
$ Z9 r8 ]5 V/ u: Z item = nil if $game_party.item_number(item.id) == 0 or
. X1 G5 Z3 W1 t !$game_party.item_can_use?(item.id)
4 K! ^7 A* i) I% M0 v/ O# P" ?4 b end 7 w& h* _0 E" k; v9 S8 |3 b
bitmap = RPG::Cache.icon(item.icon_name)
4 b4 l5 L! k, i& ~* ]0 b self.contents.blt(x, 4, bitmap, Rect.new(0, 0, 24, 24)) / t) b* s3 \# j% [2 P
end
% ^6 `' f& s& ~ end
( \5 P, r: [" C5 }" M. ]$ | - {" Z+ r( @2 q, q& C1 Z& j
def equip(item) % H. g6 W- u9 V2 M) @
if item.nil? # \7 D' f" L& b3 I! u5 g
$game_system.se_play($data_system.buzzer_se)
# \! u; z0 m/ G* n g return
& {7 _7 n. }- n9 I1 x2 ^ O& A) w2 N end - d) t$ V6 l$ I& [# T& W6 o ?
if item.is_a?(RPG::Skill) " _' g( D1 k: G: x/ X
if !@actor.skill_can_use?(item.id) $ m* P6 F! l: a! c' h
$game_system.se_play($data_system.buzzer_se) 5 s. T5 [! R$ ?. s. q- q
return % n8 g6 N0 |& m# D; e
end
, W; V8 }" Q+ o& r x; r #$game_system.xas_skill_id = item.id 8 B6 P4 p: S7 Q& b' A
@item_type = false
( p7 Z0 C$ O9 x6 F* c. ] elsif item.is_a?(RPG::Weapon) , W; x! @7 h( U& B9 s
@actor.equip(0, item.id) 2 a0 S6 r) x& M) A3 f- o! \
elsif item.is_a?(RPG::Armor)
8 o7 P: V- n3 E" T* w. g @actor.equip(1, item.id)
# ^' i) T7 Q7 k3 P elsif item.is_a?(RPG::Item)
# e5 Y$ I1 j6 L- f$ O; T item_tool_id = XAS::XASITEM_ID[item.id] / {7 |1 A T8 J
if item_tool_id != nil
9 p* V, ^& [9 H" q3 r0 R; R6 _9 r unless $game_party.item_can_use?(item.id) ) P0 Y9 e$ C' ?5 C% s6 {7 I' U9 q
$game_system.se_play($data_system.buzzer_se) 2 \* W! _$ N0 @- [
return 8 h2 c& o3 s# b6 y& a
end % @# C2 S" _' w5 |( k ^: x
#$game_system.xas_item_id = item.id
+ `+ `" R; q, s+ W @item_type = true 0 o) n2 v5 R% H" S+ ?' k$ q4 f
end
9 n' h0 F; Z; T2 q! x3 S end 1 ]( Z* u* O$ g
#$game_system.se_play($data_system.equip_se) 9 X& l- v9 ?/ Q+ E
end
8 o7 b' \% P4 Z" I u: @+ _
2 V' q3 q8 f- ^ def use_hud_item(i) 6 G) r/ ~3 P- t/ O9 o/ A7 ] r% q
if @item_type ) H# a4 J/ A I b- q
$game_temp.force_action_id = $game_player.hud_item_id[i]
$ c0 A ~. Z$ O7 @6 i& j+ r6 ?* K x else & | d( J: N) S6 Q8 N
$game_temp.force_action_id = $game_player.hud_skill_id[i]
/ F( X* t( N1 J: u end $ Y5 ?) A6 @4 x3 t/ M
end
4 W. ]/ I" Z# u6 w, D4 j5 @
1 A- d! S, y; x: A0 q+ i def update . r6 u3 v+ J7 p% J" p
@actor = $game_party.actors[0] % w+ R- V3 T% w+ N& y% I
@hot_keys = $game_player.hud_equip ) n5 u" X' c# v
refresh
) O/ p- Z9 R+ Y. `6 K& w" j: g4 ?8 l. I return if !$scene.is_a?(Scene_Map) 3 S0 v6 m9 K7 O b
if Input.press?(Input::Numkey[1]) $ M; u/ O1 v; \( E- |+ n' k
equip($game_player.hud_equip[0]) 1 t7 h, N: H v- ^# o/ F6 @" C
use_hud_item(0) 7 Q" A$ T$ a5 B9 _/ Q) ?% T
elsif Input.press?(Input::Numkey[2])
9 d! _9 I. u: D1 |) b( E equip($game_player.hud_equip[1])
" h. c, L/ {( u% H; l: L( f use_hud_item(1)
" ]9 h8 `) S) S" U* i elsif Input.press?(Input::Numkey[3])
1 t3 ~) h' V$ d& M, z equip($game_player.hud_equip[2]) 3 _/ P f: u5 S' A) [6 D
use_hud_item(2)
% a4 y) \- A! ~) S+ Y- r elsif Input.press?(Input::Numkey[4]) 9 G- c6 q/ d; ^: q" f7 C
equip($game_player.hud_equip[3]) - y! a5 I( W7 S& |
use_hud_item(3)
" |) t' T5 ?5 J8 I9 ~" C4 `" Y elsif Input.press?(Input::Numkey[5])
% }4 }6 m1 ?" Q& o) Y( e equip($game_player.hud_equip[4])
/ d5 e; g9 o# i& ^ use_hud_item(4)
/ _8 Z7 W7 N3 j6 J! Z4 }6 g end
% R' a9 b( R" J, Q( V$ { end $ m! r3 |" ^: D: c, W# ^
end 0 n3 j q: x# A- Z) e, M
# k9 @2 `( o" M7 T" U9 ~( R#=============================================================================== " J* i. |+ ` t
# Scene Map ! ]9 E* i4 u; m' e% T. b
#===============================================================================
/ W- E+ J; x d; h! v8 Dclass Scene_Map ) o7 w# H7 x3 n5 K2 p3 q
alias hot_key_hud_init main % _0 o) E/ S ^9 ^
def main ( M1 {9 R3 U ~. `' W
@hot_key_hud = Hot_Key_HUD.new * `+ w+ }" v2 `9 |6 g
@hot_key_hud.visible = !$game_switches[XAS_HUDDISABLE_HUD_SWITCH] 9 v; Z5 b# z# g- P$ `# A1 X) Z, d1 c0 A
hot_key_hud_init 6 @6 P9 W, v" R R/ p. U G
@hot_key_hud.dispose + m! w2 C# A6 E4 [& V7 q
end
5 B8 g9 `5 D; ?2 N
) j! e. ^. l1 K2 y* B; J alias hot_key_hud_update update
% W# }; J* h3 C def update
' `4 c9 I6 T2 {9 s+ \ hot_key_hud_update . J7 u! R {# O
@hot_key_hud.update 1 C4 U9 y( N9 [% t9 y
@hot_key_hud.visible = !$game_switches[XAS_HUDDISABLE_HUD_SWITCH]
, P5 o9 c8 j, X# X$ x# j: d: C @hot_key_hud.update if !$game_switches[XAS_HUDDISABLE_HUD_SWITCH]
- D: ^: B% m+ o/ s$ y end
7 g/ o4 ^: F- K. o8 dend
# T0 ?& [- }: ~7 ]+ S6 r9 ^; C
|
|