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

|
本帖最后由 ML4455739 于 2012-4-14 20:02 编辑
# {# K7 c6 h( A$ e. d% ^/ w
; I# O0 S2 D7 V) P9 c1 N, ?! [在Extra Skill里按1~5是设置
* S1 H$ n% g3 _6 s! ^" |设置好后回到地图按1~5就是……切换。; t. {2 |) S8 B$ S5 q$ O
% L5 n8 ^! W" l请问是要改成直接使用吗?
) m% Q0 L. k' o9 C4 B ( }5 o1 s+ `( ~' B0 [
那就用这个吧、记得改XAS_HUDDISABLE_HUD_SWITCH。
0 Z, P1 o9 e% l) A6 d! H#=============================================================================== # 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
#===============================================================================
% r9 u; _/ V0 I# XAS - Hot Key HUD 3 T# D1 ]# s1 Y6 c
#=============================================================================== ) U! a3 O9 v' e/ R
# By Mr_Wiggles " D) @6 @% ^/ z: u6 {/ a( F6 K% f
# Version 1.3 3 Y4 o+ g' F8 r$ y7 U3 H
# 7/6/10
$ Q8 C W& Y8 {. j#-------------------------------------------------------------------------------
. @; g4 Y) H/ _( q; T# Instructions: # P( Z+ {) E u+ j3 H5 \
# Fill in the constants bellow, paste this script above main and bellow XAS in 3 R0 V. Z, r" S$ w
# your script data base. BE SURE TO SET TO THE RIGHT XAS VERSION!!
3 N4 P6 W9 I4 S0 q! Q0 G#
+ M; \0 [! ^6 Q' @3 l- g. ?+ c& N# Place the "Hot_Keys_HUD" picture file into your game directory
8 q8 p3 S4 H7 d/ m+ T$ Q: [5 ]# Graphics/Pictures folder. 7 c; R! x* B7 z0 `- h; W/ y$ Q
#-------------------------------------------------------------------------------
0 `' r% `) z$ J+ ?; I# Directions of Use:
8 |. z% f" [# K# ]8 V& l# Simple just press a number key (1 - 5) when the quick skill or item menu is + w6 d7 Z3 Q- F: B0 K% i
# Showing. 9 R6 K8 b, g8 P+ b
#=============================================================================== j! n. ]' w; G+ U( b% B
HUD_X = 0 # X pos of HUD
4 o, X9 j& l0 I* E! e. Q9 {HUD_Y = 0 # Y pos of HUD , v4 T7 k7 x5 f& w, C5 n
XAS_HUDDISABLE_HUD_SWITCH = 1 ) e. J; H+ O- L6 U& m
1 b, @" _- S% \+ f7 O: m% ~# q3 o
# Set true if XAS 3.7f 9 p' [1 V4 H7 u" r8 ?4 o$ g
# set false if XAS 3.6 8 X O# j6 a0 V' S7 H* o* Y
XASVER_37 = true B% g2 _( Y* Y/ Z4 \
- W) \7 I/ d) j$ K#=============================================================================== 3 s6 E; f+ X- X6 L2 r5 u$ k4 c
# Numkeys Module
3 }/ v- Z" Y( G, |) ^#===============================================================================
6 d& v; c; Y6 n3 Imodule Input 2 s+ U2 H5 p$ [; I Z
Numkey = {1 => 1049, 2 => 1050, 3 => 1051, 4 => 1052, 5 => 1053} ( j d9 D1 X. H+ u; X
class << self 0 W6 ?* H2 L. t; |( M$ z6 [5 V
Key = Win32API.new('user32','GetAsyncKeyState',['i'],'i') # U* X+ T7 z# ]# C$ c: J
% D3 s p: U+ s& ^& _3 S, n
def testkey(key)
1 ~8 _: r+ Y# t- [ Key.call(key) & 0x01 == 1 7 S2 `& c }" g& m; k; z- _1 y
end / F$ G5 A* q$ a- b" x+ i
7 Z }0 t9 o8 n" |4 I6 w& @0 D' d, P alias hud_key_update update
& X o! ~1 d0 j& ~; R9 \- t- n h8 E; f def update # [: R+ h, _, Y4 X5 \ \* I+ T0 L( ~
hud_key_update
* C( B3 u+ N! Q5 f9 d6 C2 K u @pressed = []
" R% \3 j) K! `+ {0 Z for key in Numkey.values
8 J$ M5 S/ n4 H: W! \ key -= 1000 3 j' a- A8 l4 {3 P
@pressed.push(key) if testkey(key)
& \2 ~' h8 q9 p& c end 3 t8 J( |5 Y/ c3 j# Z8 M# U
end
" E& |9 ?& f/ O8 k7 `
$ t7 r( f _& c. J& f% Y def pressed?(key)
( l5 l, x: l4 h0 H# o. G8 N key -= 1000
; G: T: k6 |0 L4 n3 N* f @pressed = [] if @pressed.nil? 7 O' e7 X: [5 Z- j# Q: x
return true if @pressed.include?(key) # z2 ]% T7 R9 G% g3 j5 E3 n
return false ; [3 p" ?6 z% p, l
end % m+ t1 k( r' B6 G7 |$ c
( G/ h; d, S5 v% u1 T
alias hud_key_press? press? ( c9 g& y% P4 l
def press?(key) f% O4 i/ _1 y/ C8 D# I( I, b$ q
return pressed?(key) if key.to_f > 1000
. t2 t9 g* b" ~+ y6 H2 p hud_key_press?(key)
. |3 ^ a$ P3 G, @8 N end ! a0 x* k$ T% |
end
8 K( s$ U) s4 h* Z; d% ^end 6 T3 e7 z. C2 r6 i1 I
+ m7 d# H$ X) s0 j9 G: M
#===============================================================================
. f5 R. f' e) D# Game Player
; `/ j9 f$ J, M#=============================================================================== 5 p6 B7 `' c7 S& p
class Game_Player < Game_Character " z+ C9 i/ E9 C
attr_accessor :hud_equip
, Y; f( P. I9 l m6 O attr_accessor :hud_item_id
# b+ ~6 X6 \* o3 _! U& s attr_accessor :hud_skill_id
1 F: S* `5 Z$ M' p. ~8 N9 [
6 }- |8 U2 Y- a+ r( g2 M9 S* L alias hot_key_hud_init initialize
; h4 f5 R5 g1 x# P def initialize % |! D% I6 f' ]+ F; N: L( X
hot_key_hud_init
6 q1 {" R6 e+ { @hud_equip = [] . h9 V/ k3 F/ P" E
@hud_item_id = []
8 ]) y2 A+ I4 h. ]" C' M) z0 j @hud_skill_id = [] 1 L8 s+ c) s( L+ R0 B# e
end
$ n6 @, q* h6 S7 t! ~, a
1 l7 h0 n8 j0 g7 n, d: i& T def equip_item_to_hud(n, item) / g0 n$ ^# X. _& u
if item.nil? 4 P, X4 p0 B# U b C+ u0 A) _
$game_system.se_play($data_system.buzzer_se)
]0 v, ]& ]* @$ y' b. j0 Q! h return
5 R' Q3 F9 c3 c end & B- r/ f, N" U' \' g
$game_system.se_play($data_system.decision_se) & w$ z: r" b; Z' I) c
@hud_equip[@hud_equip.index(item)] = nil if @hud_equip.include?(item) # L* g, A' D' X$ \/ d; y' A/ S! j. S
@hud_equip[n] = item
+ Q/ _# `! }, r% g7 D% k @hud_item_id[n] = XAS::XASITEM_ID[item.id]
7 @% ?/ o6 U d% z+ l, r @hud_skill_id[n] = item.id 4 R# I( b7 t# ^+ F* F& v1 N [" ]
end
2 _( M# c3 k4 {end 7 M* j5 T7 T1 _+ D# p1 D$ p5 H5 v
$ G# X$ U; w& S# T1 T
#===============================================================================
0 ]: V$ R- ]6 \7 @( e6 D, S3 l# Quick Skill Window
1 j2 k; c' W8 u. d#=============================================================================== 1 p3 |' \% r. d' |0 K5 r
if XASVER_37 == false % I2 o% u; i7 Z/ u
class Xas_Scene_Skill
: V% A0 _) `% N. H alias hud_quick_menu_main main 2 b" L8 p- k n) J6 X& U& l
def main , w( H1 q- z9 |; J- P
@hot_key_hud = Hot_Key_HUD.new
6 G% V" k3 Q! d; D: j hud_quick_menu_main 4 Y* l3 H- K! Y( q& s1 z
@hot_key_hud.dispose
" L: C) u7 {6 e+ \# Y; q1 V1 S% Y/ X end
; F+ T! Z4 s8 R5 G1 D- B ) r# @% X) _ D$ u6 c
alias hotkey_hud_qucik_menu_update update
7 s' c- F8 `. i/ C* ] def update
) q# P! I7 o* l hotkey_hud_qucik_menu_update
1 k: @/ c7 T0 E: H6 l7 V # Hot Key num 1 - ^5 e p; G7 h& O2 M- g. ]
if Input.press?(Input::Numkey[1])
- ~' e) f2 ^) X7 S9 n $game_player.equip_item_to_hud(0, @skill_window.skill) ; g1 t; p+ o' ?# U2 ]+ C
# Hot Key num 2
+ M& `) V9 w2 l) |5 O, p- ?& Y! m elsif Input.press?(Input::Numkey[2])
( L. a8 [% p3 b5 q; u7 m! o $game_player.equip_item_to_hud(1, @skill_window.skill) + v4 a8 |4 y) E" { u9 Y7 D' O7 d
# Hot Key num 3
7 b# k+ m5 t( f6 q0 d a% b4 H' E elsif Input.press?(Input::Numkey[3]) ( ?6 M, R1 w* O, W: K- C, G
$game_player.equip_item_to_hud(2, @skill_window.skill)
: u& n8 C. u4 @( p) ^ # Hot Key num 4
R/ X" H5 A/ r- t+ | elsif Input.press?(Input::Numkey[4]) ( K' L* d( r( N# G# j; q
$game_player.equip_item_to_hud(3, @skill_window.skill) % E9 \0 k& d$ v) n' s0 E$ q n% _. j
# Hot Key num 5 ( l _. t4 |9 B7 C* Q- \
elsif Input.press?(Input::Numkey[5]) . t0 \% F4 L/ E4 X# J) l0 ]
$game_player.equip_item_to_hud(4, @skill_window.skill)
% o/ `& i, d. k& I% ^ end ) z: ?: f& ~, l7 Z2 |8 a+ G3 T
@hot_key_hud.update
2 i2 E- L5 h( f/ R end
+ ?( {) ^0 {* W end
3 O. N, {! }% a g8 eelse ( Y2 {# D4 B; [# m: E
class Quick_Menu_Skill
5 m7 u& \/ Z- v/ U; g) y2 A- H( w alias hud_quick_menu_main main
& Q" E* M6 I7 U! g# L def main
, y* R) [6 {& j* Y @hot_key_hud = Hot_Key_HUD.new
~" E0 T" l0 X0 d) O& n, m hud_quick_menu_main 2 Z" V y8 A% x3 K9 |; @+ I1 g
@hot_key_hud.dispose
* y9 n/ L; D; v+ f7 ]- t end
7 X& J3 g# Q6 B; H# i* w8 U , Z; B: h; e0 v2 b3 m# u+ e. v
alias hotkey_hud_qucik_menu_update update , F$ ^3 V- S/ v) L2 Y
def update & k/ C& o4 N' Q3 z
hotkey_hud_qucik_menu_update . e) D8 k- `- j, U( @ V
# Hot Key num 1
. t! O7 N2 g# y$ i7 Y5 K if Input.press?(Input::Numkey[1]) , V. J2 w6 x$ J3 _. {' O+ O3 `' g) ~
$game_player.equip_item_to_hud(0, @skill_window.skill) 6 l0 Y9 |0 T! B* o+ I
# Hot Key num 2 % ~7 i' \& W& F2 E( Y% R; V
elsif Input.press?(Input::Numkey[2])
+ M: r" j8 D$ r! y6 z $game_player.equip_item_to_hud(1, @skill_window.skill)
, _! \# Y3 K8 b7 h( O+ g # Hot Key num 3
, W+ A% x) t: F2 u3 U! ?, H4 S, p elsif Input.press?(Input::Numkey[3]) . x$ Y& Q& A5 `( `- }1 `+ A0 g- u. `
$game_player.equip_item_to_hud(2, @skill_window.skill)
& n* G4 c5 m# H3 T # Hot Key num 4 7 X, t8 U1 k$ ?, f: z9 Z* `
elsif Input.press?(Input::Numkey[4]) 6 d1 d) Q: H/ S/ O* S
$game_player.equip_item_to_hud(3, @skill_window.skill)
9 _( ]: I$ T2 T, P # Hot Key num 5
% P1 c) c! E$ d elsif Input.press?(Input::Numkey[5])
/ v, h7 r" S+ p* Z $game_player.equip_item_to_hud(4, @skill_window.skill) ! G& X2 X8 j7 A' M3 A
end 4 T/ E, v0 W- E; h. t
@hot_key_hud.update 4 }( b- M- m1 u: c! x) q0 F/ n
end 0 C! b$ f' Q, U6 Y7 R: ]( E, D/ Z
end % g z/ \" @& p+ R- y6 l
end " u* Q0 k% j6 ?& I+ _
" p: B! ~) @8 y; L) F, ]8 `4 _
#=============================================================================== * O9 i+ E% w& _* z4 e( k7 ]
# Quick Item Window
; S1 g9 ?" a+ Y" w+ Y#=============================================================================== - w, J _7 d. K; P
if XASVER_37 == false ; Y: n8 i) A$ B7 I$ ]9 ~8 n! {$ ?
class Xas_Scene_Item + b" E" [; p5 }( P
alias hud_quick_menu_main main
" n4 f0 |9 A, @2 J) u, N) B2 l def main
/ t' D9 `; o5 Y7 s @hot_key_hud = Hot_Key_HUD.new & k" k, p S7 h/ p5 z% k( I
hud_quick_menu_main
' l( t- v% n5 Y3 Y @hot_key_hud.dispose $ }/ g* j/ W" B" O
end , v; w+ p- B: y* e$ E7 f: }- ~
# E1 ?( K/ u6 z- [) r$ [
alias hud_key_update update ( A5 T! Z5 s% f/ t: w* z
def update
2 h0 j R: |) `0 M6 N hud_key_update , x" I. D( W: n) @, |
# Hot Key num 1 9 w: W5 l' v! I. {
if Input.press?(Input::Numkey[1]) + S) _: e) e/ N+ e' L
$game_player.equip_item_to_hud(0, @item_window.item) + k; G+ a) ^: H. X. w) }
# Hot Key num 2 ! L. z" I) |) I/ @# B
elsif Input.press?(Input::Numkey[2])
9 ^$ `/ V* A& A0 t: U' ^2 p' h6 z $game_player.equip_item_to_hud(1, @item_window.item)
) }7 B; X n+ l1 G# A: N( ? # Hot Key num 3 : [- f" H+ F# m
elsif Input.press?(Input::Numkey[3])
. A# P, X. K) U/ I $game_player.equip_item_to_hud(2, @item_window.item)
/ P! A9 u& |0 b1 T# k9 g- b # Hot Key num 4 ; z: T8 D: X8 I( h
elsif Input.press?(Input::Numkey[4])
8 W: p7 s) N3 ?7 N3 ~" w! r $game_player.equip_item_to_hud(3, @item_window.item) 6 }% L8 M3 e3 F) A2 C' b( h
# Hot Key num 5
, I" n8 U1 |" _. B4 G j0 E' g elsif Input.press?(Input::Numkey[5])
: y( l _/ K* y* r $game_player.equip_item_to_hud(4, @item_window.item)
; W& E- v/ v. @1 H$ Z( U end
7 _0 N0 D. p7 Q# T8 g @hot_key_hud.update
( i# f1 ], \! _1 |$ {; G% U. m end $ {) o9 ?3 }: |
end 3 A% L* k) ~4 o5 S Q
else + z3 }" m: e7 S g8 t0 V. C
class Quick_Menu_Item % W) l" I: r# Q! X7 s* B8 ]
alias hud_quick_menu_main main , K& H2 @1 ~4 R/ S! E
def main
6 z2 T6 X2 l$ w$ K @hot_key_hud = Hot_Key_HUD.new
/ h( ?( L# m4 s0 K' N, C6 o hud_quick_menu_main
% D& q& V4 g4 S) T @hot_key_hud.dispose
# ?' ^0 f! f( H end 6 @! @. E) L) w l: r2 h
( A4 a9 M/ l: P/ N alias hud_key_update update ' ~! ]* X, z2 O* y0 u; J4 w$ g
def update
" p1 D/ t7 F. H5 Q6 e: J. A hud_key_update
{4 V q7 F" h! G; \ # Hot Key num 1
8 L7 r0 B# w# d: n, u) R: D if Input.press?(Input::Numkey[1]) ! D4 f* r- t( W* c; g4 y
$game_player.equip_item_to_hud(0, @item_window.item)
" o0 V( R4 p) [; K1 V3 v& k9 n # Hot Key num 2 + l$ t% Q' s! N% ~
elsif Input.press?(Input::Numkey[2]) . a- h. Q3 J4 ^( Z6 a% t
$game_player.equip_item_to_hud(1, @item_window.item) $ U) B/ [$ j. X. e
# Hot Key num 3
. V6 E. F- v/ c; @1 o elsif Input.press?(Input::Numkey[3])
! i0 [- n5 g5 a' v3 R/ L $game_player.equip_item_to_hud(2, @item_window.item) 6 @# H0 X9 T& |2 t& S
# Hot Key num 4 ! Q. E" G- @/ j8 R
elsif Input.press?(Input::Numkey[4]) 6 [4 X7 |3 H9 p+ B
$game_player.equip_item_to_hud(3, @item_window.item) * _0 |; G! x" W/ F0 F: I
# Hot Key num 5 9 z$ p# V$ a' y& ]
elsif Input.press?(Input::Numkey[5]) : C( `' W- w( B5 D3 \6 V
$game_player.equip_item_to_hud(4, @item_window.item) ( l4 H3 `/ ]3 _/ u' U* p, P& a( D0 ?
end ) v+ X/ v+ [% l; N
@hot_key_hud.update 0 y' I9 W( D$ C- e
end
. B/ V4 ]) T J5 G end
( ?1 c7 x$ S8 G, xend 2 n$ e+ z$ E0 z$ i- Y4 y
5 d' B4 ^0 {/ h) ]! p9 ^ w6 V
#===============================================================================
/ m, B. N1 v9 t! n# HUD Window 2 N8 }% q1 S- h% v
#===============================================================================
# X/ t% [, a9 p/ B% c; a) _class Hot_Key_HUD < Window_Base
$ Q/ ^5 Z+ Z2 O* ~! L/ ~9 E( |9 B0 k def initialize(x = HUD_X - 10, y = HUD_Y - 15) ( A% A3 j0 v0 c4 r2 f
super(x, y, 220, 80) 5 u3 d, U7 Z0 Y+ u0 a/ j8 S
self.contents = Bitmap.new(width - 32, height - 32)
, j* {" C( }: H P self.opacity = 0
) u; V) L Q9 J. N' I @actor = $game_party.actors[0]
. J2 }8 P) G% |9 C6 z& d1 d6 I8 b refresh
# d, _" q3 V8 g; ?( w0 ^! m end ) s" g, y+ h. p. k8 [ l* B
5 b. W' Z' Q0 ^* c- m; s- |
def refresh - G. }; C+ W/ [4 ?, P* A
self.contents.clear
. V8 d% {! @! l D bitmap = RPG::Cache.picture("Hot_Keys_HUD")
# [: D% Q/ o) i0 @ self.contents.blt(0, 0, bitmap, Rect.new(0, 0, 160, 32)) : Q% c" w; p1 P% Z$ u
for i in 0..4 ' i1 v) N5 F3 w) \3 \
x = 32 * i + 4 7 e8 H) n: D( x: Z0 ^2 h4 A* s; b5 @
item = $game_player.hud_equip[i]
; n- ?9 |0 e8 n: p! S next if item.nil? / D' M9 ?7 o6 O0 y( D9 w+ a
if item.is_a?(RPG::Weapon)
- m5 ^8 s5 @ E item = nil if $game_party.weapon_number(item.id) == 0 and / Z' G$ K; C, V) v2 O+ d9 C4 R
@actor.weapon_id != item.id
( w6 u8 w8 s. e! |7 L elsif item.is_a?(RPG::Armor) ' I" B. p$ ^4 V- Z
item = nil if $game_party.armor_number(item.id) == 0 and : n# Y+ P. y5 |# ^: E
@actor.armor1_id != item.id 3 v2 D# Q& W+ _2 G
elsif item.is_a?(RPG::Item)
/ u6 s: h; z3 w, }8 M item = nil if $game_party.item_number(item.id) == 0 or 0 ]+ E6 Z$ h1 X% H' g
!$game_party.item_can_use?(item.id) 4 D: P" N0 ?. s
end
: Y2 b0 |7 M7 {0 v0 X bitmap = RPG::Cache.icon(item.icon_name)
5 ]1 p: p9 x6 r* a self.contents.blt(x, 4, bitmap, Rect.new(0, 0, 24, 24)) 5 f* ?- b( f, Y) _5 f _( R
end
3 D, N! W5 E: _3 ]. J: S end ' s/ Q- ^, c! b- i" j7 I
) O+ I' y: f' {% {
def equip(item) 3 s, V/ s S2 ^# M& t
if item.nil? 3 x' M1 ?8 e" u5 Y0 l- o, I$ b5 o
$game_system.se_play($data_system.buzzer_se) " U4 E8 I% {# k y4 w7 \
return + E9 U8 L) k$ P+ Y6 G' x! P
end ) P1 |" U, `, Y o3 e K4 n
if item.is_a?(RPG::Skill) / `! y, P2 I0 J0 a
if !@actor.skill_can_use?(item.id) - T: t* x: Z. B3 }4 a/ v
$game_system.se_play($data_system.buzzer_se) * p; H9 Q/ ]; j0 E+ \) J! y
return
" ?; |2 q( E1 l! q8 V9 g$ f end # h! y$ Z- i$ b* `6 D8 a+ ]
#$game_system.xas_skill_id = item.id + x8 P! ~% t I0 o
@item_type = false " I) b! \* c% p+ U& H/ g: D
elsif item.is_a?(RPG::Weapon) ) C( c( c6 \" J/ c5 g2 E6 [
@actor.equip(0, item.id) , {6 x$ ?9 w/ l! D! }" c j% Q
elsif item.is_a?(RPG::Armor) 0 O5 l5 a7 G$ M6 C$ R) ?
@actor.equip(1, item.id)
$ L3 n1 @2 d! Y( N elsif item.is_a?(RPG::Item)
4 }8 Y2 k' F* z( x2 g! x* L item_tool_id = XAS::XASITEM_ID[item.id]
" V0 \' t5 |! |; g- }0 F if item_tool_id != nil
$ p* S G# S' b* d! E unless $game_party.item_can_use?(item.id)
3 M: {- q2 y) C- V $game_system.se_play($data_system.buzzer_se)
. g/ [+ t2 h2 q% i p/ T return
) C/ Q% T/ `, j( P' @% h5 y+ G# ] end
9 F7 [3 I: U1 c7 K; Z( I2 o #$game_system.xas_item_id = item.id
2 r* x+ Y+ {" a8 w( B; ~9 d @item_type = true
1 ^- g" ~) c7 P9 |. d9 _+ [ end 7 o( v# L! h, a! e9 I, a7 G6 a* V7 T
end " K9 w# \# m+ D. A0 k, a( C& p4 w
#$game_system.se_play($data_system.equip_se)
0 Q$ S' u8 Y$ l# ^; F' e end # e }! }. U" h6 R
& W. [, K8 `% G# b- y def use_hud_item(i)
4 J4 H7 y/ W& Z9 D4 d if @item_type ! P4 _( A7 f1 Y% E7 |2 B
$game_temp.force_action_id = $game_player.hud_item_id[i]
. y' S( X4 X6 B/ _ else
5 [* G& l" ]. r% h $game_temp.force_action_id = $game_player.hud_skill_id[i] : w. \- X$ ?" G9 c
end % x" O% O9 l# a; I! _* O
end
: p2 l3 `. @) t
7 ^( p8 O; @0 i( n! L& g$ i9 \2 s def update ; n& b& t6 j/ `
@actor = $game_party.actors[0]
& b+ P) ~9 O7 @ N @hot_keys = $game_player.hud_equip ( ]+ C+ n1 I: r, C [
refresh ; E* d: Q9 {$ r
return if !$scene.is_a?(Scene_Map) * d1 g3 ^ y4 U: I) i& d6 T8 S0 v5 n
if Input.press?(Input::Numkey[1]) . F; i& n9 ], R+ f
equip($game_player.hud_equip[0])
" h) H+ O5 ^% R1 j8 }, R use_hud_item(0) # f7 w$ j8 B+ w8 @- V3 |/ M
elsif Input.press?(Input::Numkey[2]) - E' U2 Q5 l7 r! l2 [9 g7 R; E
equip($game_player.hud_equip[1]) * \) ?4 V! |5 @4 ]3 F9 Y1 D8 p
use_hud_item(1)
0 A( s1 B( u" s$ F elsif Input.press?(Input::Numkey[3]) & J2 i4 }; Y: c; y! S, }6 M2 ~$ H
equip($game_player.hud_equip[2])
& U( B5 E1 g0 V$ L# R5 V2 s use_hud_item(2) , |% ~5 G- A I* H* |7 d" {
elsif Input.press?(Input::Numkey[4]) 0 F, A' i9 ]* V1 A- \# M
equip($game_player.hud_equip[3]) % H8 ^' S- E# T6 N
use_hud_item(3) - y) J( F, B4 B. c! Q6 E
elsif Input.press?(Input::Numkey[5]) : P8 y% o, v0 C+ ]5 z4 }
equip($game_player.hud_equip[4])
; k' O7 y: y# V& l) N& {' v- J use_hud_item(4)
* j; e' B! t. Z; |4 ` end . d$ K5 c; `0 b0 d" j( z+ k
end
2 m: x: u# G! E1 L uend 9 @) y8 W! K+ X
2 y4 @) m0 J$ D3 m3 q% @, L3 T
#=============================================================================== ( p' i1 v6 P( C0 S: B5 b
# Scene Map , r1 h' J8 u% W+ p
#=============================================================================== ! R% V+ z. Y) D( `; w/ j
class Scene_Map 2 l: Z# G, G3 e* o3 `/ i6 k
alias hot_key_hud_init main ; V5 u& t- L' `2 Z
def main
3 b4 } ?& _" f# i9 u @hot_key_hud = Hot_Key_HUD.new
( X" {) N9 F: [ @hot_key_hud.visible = !$game_switches[XAS_HUDDISABLE_HUD_SWITCH] 7 g0 w0 D& s+ _% K
hot_key_hud_init
4 g$ U, T$ c( i2 `# J9 D @hot_key_hud.dispose % I) f5 g: U" i% }3 z K
end
+ E, v; M0 d+ \8 b A
+ c# _. e* h1 e+ d alias hot_key_hud_update update
: [' u' x; R- w1 B4 ^6 y: w def update $ W$ i) w/ n3 s
hot_key_hud_update & W( n2 H+ V0 T9 J
@hot_key_hud.update
. I( ^6 F% f# x @hot_key_hud.visible = !$game_switches[XAS_HUDDISABLE_HUD_SWITCH] ( S) \. ], B" d: ^) r0 O
@hot_key_hud.update if !$game_switches[XAS_HUDDISABLE_HUD_SWITCH]
& S/ o- c3 ]% D, p4 l& K end
6 D0 k0 Z x w" h/ ]: o$ Qend
+ l' P- J% y! P
|
|