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

|
本帖最后由 ML4455739 于 2012-4-14 20:02 编辑 3 F# d4 c. [5 n
6 i+ S9 j: _+ S! H) N- B在Extra Skill里按1~5是设置
7 B, y8 |! G7 L' g0 k7 |$ X; h" F设置好后回到地图按1~5就是……切换。" M. C6 c$ r3 y' y
6 Y6 p" t% S: M2 d S- C4 S9 s$ }* i
请问是要改成直接使用吗?* g) ~7 w, X" ]- U6 s5 ~
1 Q- d9 e8 }# r: D
那就用这个吧、记得改XAS_HUDDISABLE_HUD_SWITCH。 m: ~4 M% q/ H: C$ I8 b# a5 }
#=============================================================================== # 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
#===============================================================================
1 U' Q/ h0 H' W' H( i# XAS - Hot Key HUD 6 J- T0 J4 Z0 u) X% P
#=============================================================================== 8 f% S6 e- r" ] Y, I
# By Mr_Wiggles 4 N7 }) z: ]2 A6 R
# Version 1.3
% i& S: |: x( c* K* C# 7/6/10 ?. J' g3 p- o$ y
#------------------------------------------------------------------------------- ; f% Y* @$ v& \) r1 X9 L/ G
# Instructions: 2 ?7 D0 n1 @& v- m9 s2 C
# Fill in the constants bellow, paste this script above main and bellow XAS in
- Y( K1 @/ r# I! @9 H* x# your script data base. BE SURE TO SET TO THE RIGHT XAS VERSION!! 6 M2 f2 m0 _ T9 B! g- G: P& Q
#
. y6 T1 u0 R" b. H$ A# Place the "Hot_Keys_HUD" picture file into your game directory
, h! o' i( x9 G$ l9 W2 G& u# Graphics/Pictures folder.
/ O, @4 y6 `& R% o i+ a) c#-------------------------------------------------------------------------------
+ C1 b% _9 g3 B# Directions of Use: 6 A' x/ f. |6 \$ I- ^5 [9 O, f
# Simple just press a number key (1 - 5) when the quick skill or item menu is
# i+ f7 u0 P# d* h/ G# Showing.
+ ^* k9 h1 r3 _$ C) x#=============================================================================== & Y3 @* K: s& T; V
HUD_X = 0 # X pos of HUD , _2 H8 M( Q7 J, i
HUD_Y = 0 # Y pos of HUD % w! Z9 m5 d' ?+ @4 h
XAS_HUDDISABLE_HUD_SWITCH = 1 , W$ u- q3 n. C% q( M) N
3 Y( w3 T1 s% ^5 b
# Set true if XAS 3.7f ! \8 m, r/ j8 K. V" S/ A8 j( ^
# set false if XAS 3.6
+ W( Q/ x0 D% v: N$ k3 C- U8 gXASVER_37 = true
$ v8 v7 Q9 m+ q9 x, Y 3 Z0 V# y# F" G3 v- ~& J E* h# ?
#===============================================================================
5 t: a. t3 D- z6 Y( v7 D# Numkeys Module 9 O& ^/ H" t& f5 O
#===============================================================================
( O J- e7 t. _module Input
1 u3 |' H2 I* I7 e" |0 _/ A Numkey = {1 => 1049, 2 => 1050, 3 => 1051, 4 => 1052, 5 => 1053} 1 A5 z. Y0 x: E+ X6 k+ _
class << self
) Z, \5 X+ b8 t' b5 y: ^4 k% q# H Key = Win32API.new('user32','GetAsyncKeyState',['i'],'i') / l& G3 F7 _+ A s4 G
! c; R5 I- j* I& g' O
def testkey(key) : X2 r+ u! G- e3 k# k: e6 L: z
Key.call(key) & 0x01 == 1 / q6 [/ [0 t/ K; E
end
, c: h+ |4 u- R, g [ 1 U' p8 f H8 e$ S
alias hud_key_update update
; @, i% Q+ F$ Z; L* J9 V3 b5 Y def update & N4 \, c+ t4 i" z1 O: O
hud_key_update
4 f$ i7 L1 N+ ^ @pressed = [] % X; a; W/ D* q5 l
for key in Numkey.values 3 H' O! d2 h! z! X* C
key -= 1000 8 q5 _, K& L" U& ^
@pressed.push(key) if testkey(key)
' c" u7 T J' b6 S5 p7 l; f end
2 z0 @) d/ `- N+ x/ V0 z$ K end
3 [$ Y" l: G* i' i* V
$ u. D7 }# [* b# c2 I6 G def pressed?(key) , t4 z J1 J1 N: x6 }0 S& X
key -= 1000 8 p# c$ h1 O, R5 E, t( Q
@pressed = [] if @pressed.nil? 5 A+ ~5 z8 l8 U
return true if @pressed.include?(key) ( c: q" L+ F( C
return false
) u% V+ b% B9 e, }9 U9 n4 ] end
% c8 h- y% D1 y4 q! a# X
6 o# m" I- f2 w) Y; }7 [ alias hud_key_press? press? / T& M# v/ B3 a7 A a3 t! V
def press?(key)
8 @3 `) k0 T% L* x* E$ W/ \3 x3 k return pressed?(key) if key.to_f > 1000
5 j# H; [! f- D6 |3 b) l0 |# p4 j hud_key_press?(key) H( {* i' [/ l( S! b% q6 N$ B. f
end
t3 A% a% ^0 i; R' W end
6 _0 v ^8 `( a& p2 |9 T- i! ~end - h/ l' K7 H' P8 y% O9 V/ p1 `6 {
; }+ }- H4 k; @$ N5 a$ J9 {, e2 E#===============================================================================
$ o* z6 |4 k( }9 L# Game Player ! \5 e7 X1 w9 L, ]2 }9 y
#===============================================================================
* a' ]0 B$ V# g. s& ~. I/ |3 dclass Game_Player < Game_Character
! h2 d; ~( N9 ?" k( J attr_accessor :hud_equip & _+ m8 { V- b. T
attr_accessor :hud_item_id 6 E) k( v4 G0 w* |4 e0 u, j3 p
attr_accessor :hud_skill_id
8 z. t' o! n. Q9 e$ O. ]9 o 2 g: \% g& B3 n; V1 q* v
alias hot_key_hud_init initialize ( c% R# W* a- c0 F! d' A
def initialize ( [7 I0 f- q4 F- X4 q. j
hot_key_hud_init
0 u+ I! y9 g% L5 T* h; P- s. p w ~+ ] @hud_equip = [] , L8 g, G) y7 @1 I9 I( d6 d4 ^
@hud_item_id = []
* N4 y I! R( N0 W2 I0 _% N8 Y8 a @hud_skill_id = []
9 ]- y) j) O9 t/ w7 g6 r4 `" ~ end
9 s: L3 M6 P; `+ B
3 H# D* g/ S: X) g( F0 P- y def equip_item_to_hud(n, item) # U0 I% D& z$ G: p
if item.nil?
# E# I( Q: x8 i0 z $game_system.se_play($data_system.buzzer_se)
' s; S- d+ w r9 F0 _ return 8 i" W! m, o; i+ Q/ G4 K' D6 {
end
8 @2 o# W3 j! G, T0 z* c, d7 J. o $game_system.se_play($data_system.decision_se)
* e; J, O' H, ~+ o5 E$ B5 F8 g @hud_equip[@hud_equip.index(item)] = nil if @hud_equip.include?(item) + H; k; `& ]2 y, a5 Z
@hud_equip[n] = item , H" v. H( B( G [4 u
@hud_item_id[n] = XAS::XASITEM_ID[item.id] 8 l/ e: ~$ J7 S9 A3 M: ]! a; U5 E
@hud_skill_id[n] = item.id
! k7 I2 w) O! q* ]1 s: p- S end
8 ?" e1 S/ w9 F1 X8 Vend 2 Y; E+ W$ t2 d
( D4 A9 N5 E/ A) R
#=============================================================================== _7 z) e2 O1 x
# Quick Skill Window 4 M& ?* E+ n, A' A( W0 o$ ` d# b
#=============================================================================== ) Z! Y8 w& ?+ W. ^; M4 |
if XASVER_37 == false
, n( s9 E' E9 y: G class Xas_Scene_Skill
8 g) G& G. j% ~7 L' }/ S alias hud_quick_menu_main main ( J) v: R+ W: i* W" H. x
def main
/ }; o1 p! E% Y/ O& G" E4 u2 P @hot_key_hud = Hot_Key_HUD.new
: \2 z( C+ U' g8 s2 q0 u hud_quick_menu_main $ G8 m6 a5 C1 u# ~- [+ E2 M$ V k
@hot_key_hud.dispose
; {# E5 ` c: H# p" |* R end
( ?; o! U1 V) \
5 R& g! w& |: _. \1 Y# x* T8 ~' T alias hotkey_hud_qucik_menu_update update
2 l( V9 R z0 l: R def update
" _5 }. Q `" V1 y, A$ r3 [7 l5 c hotkey_hud_qucik_menu_update
* F. i6 B0 T3 D1 } # Hot Key num 1
0 l; e/ k* b) R) d if Input.press?(Input::Numkey[1]) 7 U3 s2 j: O6 Y6 X ?- R# N2 G# _
$game_player.equip_item_to_hud(0, @skill_window.skill)
5 t) W& Q' }& a8 K P! K # Hot Key num 2 ; t. f, k6 ^, G6 z5 C" a; J
elsif Input.press?(Input::Numkey[2]) " T7 U" A7 ?7 Q# s
$game_player.equip_item_to_hud(1, @skill_window.skill) # {# P3 s& k4 g, F% R; X
# Hot Key num 3 # s. S# D* G4 e ~- d6 `$ A4 j& e
elsif Input.press?(Input::Numkey[3]) . x( N' D) b. `6 p# _# G4 M9 q
$game_player.equip_item_to_hud(2, @skill_window.skill)
& ~! F# S( w, J/ T, R, Q # Hot Key num 4 0 p+ X" Y3 ?; z: F: Y! W% v7 j) G0 f
elsif Input.press?(Input::Numkey[4])
7 k7 N. m* U, H( s( w7 K h $game_player.equip_item_to_hud(3, @skill_window.skill) 2 I9 a7 W/ S/ h- K4 U- @
# Hot Key num 5
( D, L+ C) a, d$ r2 c elsif Input.press?(Input::Numkey[5]) 2 @" x! K0 {$ }& m. y
$game_player.equip_item_to_hud(4, @skill_window.skill)
: {# U9 f7 ]' [ Y end
1 O" Z, I, W: d& B Q; L @hot_key_hud.update 8 v" }' ?% B- y/ w4 {" e3 r& O
end $ T' B# s* A/ [! i: B# M
end
* |7 _/ R% [- f/ Y0 k2 ]else & Y2 H' u! Z3 n9 q( K6 W
class Quick_Menu_Skill
9 m7 P5 u/ k T: V4 X alias hud_quick_menu_main main
( E& n. T1 @+ I def main ' b7 V3 ?$ `& K; h& j
@hot_key_hud = Hot_Key_HUD.new
0 H& a, d& b; @. r/ f W hud_quick_menu_main
$ p2 y# Z3 x- ?0 C- b ] r @hot_key_hud.dispose
: L/ ?% e7 I8 _9 J end
2 e9 [7 ]9 e1 u & ]6 Z1 B# y0 r5 ~! V
alias hotkey_hud_qucik_menu_update update
) C9 L, z3 |) C& m2 n def update 8 ~ k* j4 @3 K% n- L: y
hotkey_hud_qucik_menu_update ) m. }& Y$ G2 P& ?1 N
# Hot Key num 1 3 E( k4 B3 u, {% [% \
if Input.press?(Input::Numkey[1])
8 S2 V7 m4 }+ b+ T8 L $game_player.equip_item_to_hud(0, @skill_window.skill) ]7 l( S) F% r7 F2 M G4 v) H
# Hot Key num 2
. t: z' z9 l4 i4 R5 H elsif Input.press?(Input::Numkey[2]) % Y5 V0 C/ g9 C
$game_player.equip_item_to_hud(1, @skill_window.skill)
9 [& o% p' B, O/ j2 m9 j # Hot Key num 3
1 u" o% q/ p1 p8 V elsif Input.press?(Input::Numkey[3])
* o, ?8 m% K' l $game_player.equip_item_to_hud(2, @skill_window.skill)
. z$ C Q+ U0 Y* v # Hot Key num 4
! n- h8 C2 R% [6 @$ }; _ elsif Input.press?(Input::Numkey[4]) 9 {+ w2 ?3 c, S* _
$game_player.equip_item_to_hud(3, @skill_window.skill)
: k: ^2 ]& @9 c) O0 E$ e3 @ # Hot Key num 5 {6 a2 J. L( a! ^
elsif Input.press?(Input::Numkey[5]) 5 j( R1 a! \* p ?
$game_player.equip_item_to_hud(4, @skill_window.skill) * y% W2 p7 \( U8 x3 |0 Z# E2 ]. ]
end : C# E, _* A/ ~* b, K9 w2 [6 ^
@hot_key_hud.update
/ x4 `! p, _9 e' w/ ?: x end
. U* R( S. T4 F' L3 C end
& P g# A2 X1 q; l* b( o; c4 O1 Xend
9 k* c. u' o, b( C" A " x9 n- u% M+ y+ r1 D* ]
#===============================================================================
9 [# j/ x2 q$ S& }# Quick Item Window * q' s9 V1 z8 M
#=============================================================================== ( D0 U4 w4 A* m9 k% \, I7 z
if XASVER_37 == false
% C$ L# [. M+ F" e4 u class Xas_Scene_Item
/ W! d0 H C8 d7 o7 R: F9 S1 o alias hud_quick_menu_main main
" V2 E& n9 V/ t" V def main * [! V6 h* Z8 z$ K
@hot_key_hud = Hot_Key_HUD.new / e' Q. {7 R! q1 ~$ I
hud_quick_menu_main 8 M1 _0 B0 Z9 d( C' \( |
@hot_key_hud.dispose
1 h' R7 C* \7 X: j8 x7 |8 _) l" \3 ~ end
* E' s$ ~ Y4 o+ b0 W
+ C9 C' b$ g6 W5 [) | alias hud_key_update update
# K3 g+ N2 M- I; S, B$ l- r" I# C. ~ def update
4 I2 e0 E, \4 f3 A. C( ^$ I hud_key_update
: d) I/ G1 o% H/ c # Hot Key num 1 : p7 {; o5 `9 y3 @* ? m7 X4 E: z% ?
if Input.press?(Input::Numkey[1])
& R8 X& z# J9 W4 R+ h; z" b% r $game_player.equip_item_to_hud(0, @item_window.item) ! {* ] J( b5 g- D7 [
# Hot Key num 2 + `# g+ Z- O7 B5 ~/ u
elsif Input.press?(Input::Numkey[2])
- h) @( P. Q1 n3 e $game_player.equip_item_to_hud(1, @item_window.item)
# X0 q" ~5 |2 z/ d # Hot Key num 3 . ~3 {; d, C- T' G8 s+ D! h0 ?
elsif Input.press?(Input::Numkey[3]) 1 B! ^# p9 U6 B. B
$game_player.equip_item_to_hud(2, @item_window.item) ! K1 L# I/ f0 ]/ ^* z
# Hot Key num 4 + K5 f) K* H: U5 l. ^
elsif Input.press?(Input::Numkey[4]) + F& @2 I7 }# I2 I D; }
$game_player.equip_item_to_hud(3, @item_window.item) 9 I5 h0 e4 ^+ Y7 l6 m4 N
# Hot Key num 5 + i* p: |9 t( b/ ^+ ~$ z" S+ p
elsif Input.press?(Input::Numkey[5])
x- y7 ~3 ~) E $game_player.equip_item_to_hud(4, @item_window.item) # L1 n6 `5 _. m; z7 u
end
& V9 f) r. |( ?) W3 ]" }1 Z* j( E @hot_key_hud.update
$ J' M( S/ T6 ^ end ) r' R% W* f- ?# u
end - E, Q5 D1 ^/ A C/ D7 D
else
0 ~5 p% r! ]# s* n/ M class Quick_Menu_Item * ~+ g& `- i& Z9 h
alias hud_quick_menu_main main ( s; `! Q" s0 W; Q$ m
def main 9 O* M! V% {. V" {+ d! w$ i
@hot_key_hud = Hot_Key_HUD.new
+ C9 q( E* p! s' M hud_quick_menu_main
+ f5 A" K# h' v! ^* A% c! F' v" T @hot_key_hud.dispose
) t9 w) [) L1 Z' U end & [8 A1 o7 q. U8 ]. X/ E
) A; U5 ?! F# w! D5 D6 f3 W alias hud_key_update update
( y. |- K0 l, e6 s/ k def update
: V/ g/ [5 b( j+ c5 {6 W5 ? hud_key_update 1 ~* ]; @- k8 a' D% r( B# \) _
# Hot Key num 1
2 n; R# ]" z5 [" M' `1 W* K8 J# s if Input.press?(Input::Numkey[1]) G+ e1 J9 d6 s
$game_player.equip_item_to_hud(0, @item_window.item)
7 r. f5 Q, Q m% _% t: q # Hot Key num 2 : l B$ T f1 U/ B1 d/ x
elsif Input.press?(Input::Numkey[2])
( a0 C9 H) [1 p3 x$ ^( \ $game_player.equip_item_to_hud(1, @item_window.item)
' I y' }/ X* G8 |+ u, R* } # Hot Key num 3
0 u! n/ x( U/ d. s& q4 Z elsif Input.press?(Input::Numkey[3]) * V$ I9 D, @: @7 ^
$game_player.equip_item_to_hud(2, @item_window.item) # ~/ Z4 `8 {1 s7 \6 @2 }' P% A
# Hot Key num 4
3 l0 Y, r0 c; G2 T, L elsif Input.press?(Input::Numkey[4]) 8 u, i& N0 O) f1 A. {
$game_player.equip_item_to_hud(3, @item_window.item) " d4 E/ M5 }' h. O( w' z8 z
# Hot Key num 5 $ f. r3 j0 z0 R2 Y* T v3 p
elsif Input.press?(Input::Numkey[5])
; L3 x, f# T. j $game_player.equip_item_to_hud(4, @item_window.item) % w p$ y l+ B$ S# a( G
end
' T. |6 H" ]# y4 y( p: n8 k @hot_key_hud.update * ?9 `% n# U% ^+ e+ [2 G
end ) k# d" E8 d( y
end
7 L- F0 d8 u1 {7 Lend
" g$ x: Y3 _6 \7 e$ u9 P" w , N5 B1 }/ }4 U$ _
#=============================================================================== 9 e6 K! I- e! O- N) [" t* U3 J
# HUD Window 6 S3 B. s% B% Z3 l- |; ^# A
#=============================================================================== h) {: G+ I+ A) u0 [% V/ H
class Hot_Key_HUD < Window_Base 1 s% t' T6 F. K% z. M
def initialize(x = HUD_X - 10, y = HUD_Y - 15) 7 m* {$ B/ e( s2 G
super(x, y, 220, 80)
2 r$ Q9 z# C& U* ?' \. H$ [ self.contents = Bitmap.new(width - 32, height - 32)
7 E' {: R& {! E/ A self.opacity = 0
K* Q& e: W* W. N5 w7 @) ? @actor = $game_party.actors[0] * L, s8 t& a- H6 F
refresh
; ]! [- j H4 K end ) g% R# U( T* `) k
- a d5 ?) Y! V0 n def refresh
5 n/ n+ |$ A. V3 o% ^ self.contents.clear
$ J' J/ ?! m0 w. w7 [; w; U, P bitmap = RPG::Cache.picture("Hot_Keys_HUD") & r! o8 K- U ?! M7 A! o
self.contents.blt(0, 0, bitmap, Rect.new(0, 0, 160, 32))
8 V) G! V @* a( k for i in 0..4 3 b: _% o- D9 m, F
x = 32 * i + 4
. ~* u: s% ^$ ^4 K9 }& ~ item = $game_player.hud_equip[i]
) G! K4 g" U/ g# u: h next if item.nil?
/ I( B/ `5 }' n0 N if item.is_a?(RPG::Weapon)
( Y ]& n# ~3 w; ?9 o* f' E item = nil if $game_party.weapon_number(item.id) == 0 and ! v0 r& i x) A. u, }6 I+ a7 y
@actor.weapon_id != item.id
3 T; f2 l" a. b3 L! e elsif item.is_a?(RPG::Armor)
1 ]; Q/ d5 {) z, R! H% \ item = nil if $game_party.armor_number(item.id) == 0 and
, E& t7 W1 Q; n, c" w @actor.armor1_id != item.id * [2 E$ T: j9 M. @: n z( \- b
elsif item.is_a?(RPG::Item) ; H9 P8 H3 L9 `1 v* @. k3 w2 ~
item = nil if $game_party.item_number(item.id) == 0 or ! J& M3 f9 e3 w- A
!$game_party.item_can_use?(item.id) + p- z' R8 u2 g9 R. d& c7 U
end
- R) K ^% p( k4 D3 Z% }3 e& q$ K bitmap = RPG::Cache.icon(item.icon_name)
4 s5 `9 Y# K' a. o' O self.contents.blt(x, 4, bitmap, Rect.new(0, 0, 24, 24)) 3 r/ a/ Z5 b$ `5 n6 u( x
end 4 q) f: _ ^; _8 R5 G; p
end
' d% \0 F6 b7 f$ B8 a# b, `2 f2 U + c( C3 Z& S6 [ `# ^
def equip(item)
5 X5 i& ?0 x5 W- b! a if item.nil?
) C! W6 l) ]# I& H $game_system.se_play($data_system.buzzer_se) 8 {. a G7 C* D8 J) V
return
9 d( R( @& {* c6 A% C end
( A+ S5 w+ w n- y0 K3 }8 B if item.is_a?(RPG::Skill) # k3 _) O$ _" F7 W8 U h: E( |
if !@actor.skill_can_use?(item.id)
2 v' o* A* m* q' O2 R $game_system.se_play($data_system.buzzer_se) / o |$ h M7 w2 p/ H1 l
return # N9 ~1 {3 i' V' l
end ! p% X: \: J/ S
#$game_system.xas_skill_id = item.id ' j0 A' w" D9 m) @. Q. ~
@item_type = false # m# r- V1 e" A U3 L
elsif item.is_a?(RPG::Weapon)
9 }5 i( Y( @) c @actor.equip(0, item.id)
5 I/ A/ u2 J9 k# b elsif item.is_a?(RPG::Armor) + E4 D& p6 p. N
@actor.equip(1, item.id) # K7 }* K R) \) I$ K# b1 N8 s
elsif item.is_a?(RPG::Item)
: R0 {6 n* E% M: {* ^0 e0 u item_tool_id = XAS::XASITEM_ID[item.id] : n6 `0 |" _# `7 _8 ^& H' R- q9 \
if item_tool_id != nil
; C# d% H- K- e unless $game_party.item_can_use?(item.id) 6 ?9 }, ? D: d9 f
$game_system.se_play($data_system.buzzer_se) 3 i6 F0 k, `4 y, U
return
8 I( @' w5 x5 ~/ d: V. B, k% M end
. i/ e; H# A" _% X6 ? #$game_system.xas_item_id = item.id
% M5 L7 _* a& W @item_type = true ) l2 I+ L# |6 ^& Q; U
end
" X( M% i3 y: c ` i5 N& Z7 H end
! T3 U3 V/ b3 S: k. J" B/ o #$game_system.se_play($data_system.equip_se)
9 p; J- ^# v/ e" J* J; H+ k end
) @# r4 ^. s( u6 K/ ^$ @
" b; {( X+ }( I( q, u' T* \8 l2 N def use_hud_item(i)
: M. Q' E' n+ i6 P8 M" r6 d# r if @item_type ' O2 ]; M/ ~! W0 e; R5 I; G. {$ h
$game_temp.force_action_id = $game_player.hud_item_id[i]
" T j1 P0 f* \0 d% w, P* P( z! ?4 K( ? else
. w2 ^& g5 L& E# B$ e $game_temp.force_action_id = $game_player.hud_skill_id[i]
5 N$ N" F6 ~9 t/ X& m end 1 s3 P$ N8 ]/ R; E3 v
end , k1 G: H0 o* Q
4 _3 j" {- X7 N q! }6 P4 J
def update - Q9 }, R2 r9 z
@actor = $game_party.actors[0]
' F1 B3 }/ C1 E2 O- m, y7 n @hot_keys = $game_player.hud_equip / _6 o- t' I/ ]% {. J
refresh * z' x; V. P7 A; N8 g y
return if !$scene.is_a?(Scene_Map) 0 |2 d- V0 e, W. W
if Input.press?(Input::Numkey[1])
1 ?0 J3 K* e5 L" O4 g7 J, ]" B equip($game_player.hud_equip[0])
' v& \2 K }; Y/ n3 I use_hud_item(0) 3 d/ v6 X! U* E, o$ r
elsif Input.press?(Input::Numkey[2]) & n6 x3 s! e* u: s# c: \; v1 a
equip($game_player.hud_equip[1])
. d2 v9 {& E% X" V" m use_hud_item(1)
( h, B$ V2 O" Q" \5 l elsif Input.press?(Input::Numkey[3])
( W$ J$ q. F6 O9 P equip($game_player.hud_equip[2]) - Q8 m3 _8 Q3 z' u
use_hud_item(2) 1 z+ [ }. F _5 g- l
elsif Input.press?(Input::Numkey[4]) 1 l: ~7 [" ]% ?1 l; o2 n
equip($game_player.hud_equip[3]) + k& i$ j7 e. k) k8 ~) q( M
use_hud_item(3) ! G C( T' L$ i. {# {0 h
elsif Input.press?(Input::Numkey[5]) : z' i H1 `9 e) O
equip($game_player.hud_equip[4]) ' W5 ]/ P* @; O3 D6 \9 } i
use_hud_item(4)
& A6 n1 X: P- A9 ~* V end
$ w! T# v @. Z end
- P) J5 F8 \" Y, Bend + k, M1 i6 t0 r, A: b7 B3 ~+ ?
! N1 y# p' c0 `' t: F( t7 Z7 i#=============================================================================== # v& k. J$ r- w2 w+ b( h
# Scene Map ' M: w* S" F4 e0 [) M
#===============================================================================
( M' D& k( y! t4 Vclass Scene_Map
* ]! |/ I) |% S" q* } alias hot_key_hud_init main 2 G, N" B* |2 Z( O0 ^$ h+ e' M- P* U
def main " y* |( h4 [( b8 o0 F
@hot_key_hud = Hot_Key_HUD.new 6 r1 ~2 a4 J( D9 o; X" c! R: |9 v
@hot_key_hud.visible = !$game_switches[XAS_HUDDISABLE_HUD_SWITCH]
& X* z( b/ p! i# I+ Y. o hot_key_hud_init
: v5 w2 x5 `/ \* Y/ z @hot_key_hud.dispose + c( L( R( k% [0 E' ~# |
end
6 c% c9 r8 [: U! ~, _4 C6 a
4 v+ X/ z% J6 k1 Y, O alias hot_key_hud_update update
; x% u6 L- ^# {# [" x def update - T( w# `8 W: \6 Y
hot_key_hud_update
8 ]7 j/ t# D7 l @hot_key_hud.update * [6 n# T) T4 ~9 k& ^4 [9 O
@hot_key_hud.visible = !$game_switches[XAS_HUDDISABLE_HUD_SWITCH] 9 p4 X' j+ F* c9 @
@hot_key_hud.update if !$game_switches[XAS_HUDDISABLE_HUD_SWITCH] * j8 ]4 M" J9 Z% o2 \# `
end 4 A3 t2 D/ [+ d7 F3 u3 f7 w5 I
end . S) R2 t, y& S8 X! ^7 p
|
|