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

|
本帖最后由 ML4455739 于 2012-4-14 20:02 编辑 2 p( V" ~. K$ [! K& b# ^! C
* W1 g0 o: O a+ F# i& i/ M4 p8 ^在Extra Skill里按1~5是设置+ u9 h/ r0 N2 X9 C# H9 M
设置好后回到地图按1~5就是……切换。
# g% I9 `, H! V- P) k( u7 K! @ s( W$ ~' R( u8 @# u
请问是要改成直接使用吗?# a" B2 l7 E) ?0 `
" E0 u# F8 u) z6 ^那就用这个吧、记得改XAS_HUDDISABLE_HUD_SWITCH。0 z7 O8 s9 W G' ?2 {8 U
#=============================================================================== # 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
#=============================================================================== - E9 E5 O# N' t0 O* ~+ O& e% x
# XAS - Hot Key HUD 2 s/ S5 B+ ?/ e9 t6 Y
#=============================================================================== ( N' D7 m1 c; X& f
# By Mr_Wiggles % P7 d) z( B. q: l. ]. r
# Version 1.3 " X4 t# E. c$ \8 ~
# 7/6/10
7 _1 o; d {- S# f; o/ G8 K#-------------------------------------------------------------------------------
! Y. @6 N/ k2 Q( ~, f7 Z% G9 O# Instructions: & y" k' b8 b! ]* o) R0 \
# Fill in the constants bellow, paste this script above main and bellow XAS in
( ]3 I* C& l+ o& Y$ M# your script data base. BE SURE TO SET TO THE RIGHT XAS VERSION!! , |" C5 z1 E# n+ L
# & `1 O4 c2 @6 \, l2 L; |& e
# Place the "Hot_Keys_HUD" picture file into your game directory
' }7 B. D: X6 W( p3 S: Z. m# Graphics/Pictures folder. ' z0 H+ |* O# a5 C7 ~2 n
#-------------------------------------------------------------------------------
7 N1 V( a, M% w# Directions of Use:
- ^5 ^, B- W; w6 b& H: S) t8 C# Simple just press a number key (1 - 5) when the quick skill or item menu is : L! u9 _1 {, S5 k# Y1 _3 b
# Showing. 6 _9 A2 T4 _+ B4 [, I
#===============================================================================
/ F4 B- R4 ~2 U: ?0 T$ [; v* E/ G5 XHUD_X = 0 # X pos of HUD r6 j E' m4 X* }' e+ O, S
HUD_Y = 0 # Y pos of HUD
2 A1 m; U2 l% QXAS_HUDDISABLE_HUD_SWITCH = 1 , y- W" T6 P" x
) I1 }, J2 _+ g8 n/ c
# Set true if XAS 3.7f
( F/ M, B I; p# set false if XAS 3.6
$ s) Z/ _! T" _1 ]3 L% IXASVER_37 = true 7 K% O1 q8 t L2 ^3 `# s# R
5 a# L' F5 v: Z% o8 p#===============================================================================
0 I5 w- J# Q8 O# Numkeys Module 9 b2 F$ p: M% O
#=============================================================================== 1 p- G- S. x( r! N# U
module Input
) {8 {1 D0 b: A' j; ]5 P Numkey = {1 => 1049, 2 => 1050, 3 => 1051, 4 => 1052, 5 => 1053} ; f& u/ T8 Q) _/ s
class << self
7 K z4 }, }3 f* b2 }$ S2 k Key = Win32API.new('user32','GetAsyncKeyState',['i'],'i') / M/ [# s! D7 k, f/ |; d! e7 A
a- l7 k0 @' [+ M4 O5 v def testkey(key) # y( M9 [; n, E0 A) y
Key.call(key) & 0x01 == 1 4 w+ y# P/ D$ @2 X0 U; f) D6 ^" P
end
6 I5 K- k$ |4 @- P3 J ; P- e1 U( a* g: w
alias hud_key_update update
# _- E4 O' u, x2 Q. G2 t def update
: {( ]$ k% x* H hud_key_update
5 d' j8 M7 C) E- ` @pressed = []
% H3 {3 X- u! X. s+ ^: b for key in Numkey.values
, N0 ] Q. @" U& B: h key -= 1000 4 g* f X7 |: ^4 T7 ^; s6 d
@pressed.push(key) if testkey(key)
4 A. z; z8 z3 R end
3 \4 v1 d6 O: q end
" s: n6 e: {* k' ?: b, J7 L; d% g, A / ]* B, {. _- q/ p& h: H8 y% i
def pressed?(key)
6 [7 D+ e4 p' \ key -= 1000 5 Y& }8 }5 {5 W! X3 o) K3 p
@pressed = [] if @pressed.nil?
. D. D* f' ?5 ?+ d/ `5 c$ ? return true if @pressed.include?(key) + o# v6 j0 ?4 U4 Z
return false & ~' N3 m1 l( W/ v6 }2 V
end $ s! {" d$ G" r% H( U
: v5 l, Y0 ^$ u6 h, z( g7 O
alias hud_key_press? press?
' H9 q3 h! C" u6 c, U0 B def press?(key)
+ H1 o2 u$ }; W2 M# e! i/ P' I return pressed?(key) if key.to_f > 1000
x) C+ s) c4 c9 C, V, s hud_key_press?(key)
! w% [, a0 f0 C1 E4 N% [6 @, J end
5 D# |& }* x% K! } end
7 F; P4 x5 |5 G; T* _end
/ h0 [3 i/ ^; q9 f
1 w( }9 _; ^1 u7 W) w+ C#===============================================================================
+ I5 x4 w& g' n; q# Game Player
- y, D7 k3 a3 S) x( d$ F( s0 s' x#===============================================================================
5 q& S5 A4 X* w P dclass Game_Player < Game_Character
! G% z5 N1 D7 b! [ attr_accessor :hud_equip
3 t. i# D, U7 L6 E6 n5 i attr_accessor :hud_item_id
' I1 |6 k" J% f A attr_accessor :hud_skill_id
5 N( ~% p' o( y M; B* {! L
% E' C, L5 G, r1 U* C: L alias hot_key_hud_init initialize
) w/ N s. R* X def initialize
+ o: Y7 A7 X3 S6 I2 ] Q& h hot_key_hud_init
2 [" E( o! F- M- {1 `/ { @hud_equip = []
. u5 |' t7 k, x" z* ]& R1 d @hud_item_id = [] , S" X# J2 @& Y, N
@hud_skill_id = []
: E) E: u/ U# t$ O5 q u end 1 g+ F& Z* V+ d1 R) S& b5 o4 r
9 j. e# E7 m9 q, q0 h/ R0 G
def equip_item_to_hud(n, item) . W& c: h5 r) _) ?
if item.nil?
' {# O' s( o/ I/ Q$ g- M: } $game_system.se_play($data_system.buzzer_se) : `: G! b( N. l
return
6 ~1 ^4 c p/ b7 t, ? end 8 O6 ~1 R" e% Q
$game_system.se_play($data_system.decision_se) : h0 e1 h: f8 q' [) P9 w
@hud_equip[@hud_equip.index(item)] = nil if @hud_equip.include?(item)
7 Z6 ^, A$ @; B% i( | @hud_equip[n] = item
1 p( K2 @5 V: c7 t* V7 U$ O @hud_item_id[n] = XAS::XASITEM_ID[item.id] - }4 v, ~+ Z2 x) Q# i+ B
@hud_skill_id[n] = item.id
2 z) Q/ D2 L Y) |$ |5 c end ! I' T( u6 J5 {- `
end
?6 b' O" ^& I . ?; ?/ T/ i$ L6 x* r$ `
#=============================================================================== 4 s6 {' m q& m# s& F' r
# Quick Skill Window - E2 N- N {6 K$ K, X: f
#===============================================================================
- [# S% X8 S; u2 p2 y2 ^if XASVER_37 == false * m3 J# _' P" V
class Xas_Scene_Skill
: i2 b1 G( Y4 h* Q* B$ J( O& n alias hud_quick_menu_main main ; x3 C! z$ k% [$ q& h) F; h
def main
( _! J: V" G0 n" T8 j7 h, P: ] @hot_key_hud = Hot_Key_HUD.new & w& h. f% w6 i/ e- r N% Y2 N
hud_quick_menu_main
' p9 z7 K$ x8 y5 l- l6 L+ D @hot_key_hud.dispose
" H- p C: _8 K+ ^4 \1 M end 1 \- D) C( j$ U* G5 W5 {& @
; r5 Y D: K3 S
alias hotkey_hud_qucik_menu_update update . K/ q/ g% ]8 Y" u: p
def update
1 n3 P7 e$ o$ a8 j; p) p hotkey_hud_qucik_menu_update
0 N5 G5 c/ M- q8 ?; u3 h9 l # Hot Key num 1 z' z! v$ `; k2 p1 G
if Input.press?(Input::Numkey[1]) 1 W0 \' @1 w5 N
$game_player.equip_item_to_hud(0, @skill_window.skill)
& y$ ]5 P! C" H # Hot Key num 2 8 G* V8 u, t9 K* x
elsif Input.press?(Input::Numkey[2])
9 B; _; R u. k! f $game_player.equip_item_to_hud(1, @skill_window.skill)
' q! {7 R, r3 l- l' m4 U: [ # Hot Key num 3 ; K# J3 ]% V% O, B
elsif Input.press?(Input::Numkey[3])
6 C2 {/ x. S3 b: Q. \# G $game_player.equip_item_to_hud(2, @skill_window.skill) " k8 i5 j! p5 e1 P0 a/ R2 R0 L
# Hot Key num 4
# E+ P- L" P+ R9 ]: p V elsif Input.press?(Input::Numkey[4])
- i; k! } |2 f$ X" K $game_player.equip_item_to_hud(3, @skill_window.skill)
5 i! Z5 X# E; e- j* e6 c# [3 E # Hot Key num 5
- y) f1 q, e; F/ g) s elsif Input.press?(Input::Numkey[5]) 1 L4 K+ {: C: k
$game_player.equip_item_to_hud(4, @skill_window.skill)
' d2 o {: h3 J4 n; p6 A end 7 u' o r2 G' l& g
@hot_key_hud.update
+ t: @. S; I* g9 j3 c end
4 O# w- z4 N/ \- }( K, _ end
2 d3 R: |8 e1 jelse
/ S, S" Y6 f J, l class Quick_Menu_Skill $ |# ^+ {8 W! H. W: H7 s
alias hud_quick_menu_main main
2 k) A# B- F @% Y! t0 x+ V def main 0 Z& H* Z4 j) O7 F) ~
@hot_key_hud = Hot_Key_HUD.new ) d' e; q* ~" L, _
hud_quick_menu_main
0 M/ _, F0 z6 C6 m8 i @hot_key_hud.dispose 8 @# G2 ^& P" M, J" U9 U$ B
end
+ H# {/ G& S+ n' E- O
; w- h, \2 H+ p" A# c alias hotkey_hud_qucik_menu_update update " ~% R! N% g( O* y. D
def update ; t6 N$ {' r: J2 V
hotkey_hud_qucik_menu_update 6 E( A, o' T$ v( r# \5 w
# Hot Key num 1
& E# f8 J4 Y2 K1 f9 K* W# U if Input.press?(Input::Numkey[1])
0 P$ X3 o3 H6 ]0 s& ^, c $game_player.equip_item_to_hud(0, @skill_window.skill) ) Z* y. N6 K8 [7 R
# Hot Key num 2
$ A- N9 j* I5 R( Y/ d/ v elsif Input.press?(Input::Numkey[2])
F; M w8 Z0 n+ F. D $game_player.equip_item_to_hud(1, @skill_window.skill)
/ }% e J: E2 ^+ x* l- A' H # Hot Key num 3 , P% `6 r2 O# G! g
elsif Input.press?(Input::Numkey[3]) % t2 l' B" V) {& b( O0 M
$game_player.equip_item_to_hud(2, @skill_window.skill)
9 B' a9 x1 W3 p- ~* p" U # Hot Key num 4
3 p t/ Y# I- u elsif Input.press?(Input::Numkey[4])
) z9 S+ N5 ^2 a, i" A1 ` $game_player.equip_item_to_hud(3, @skill_window.skill)
4 t/ U Y) D4 U7 L& ]& x! v- ~ # Hot Key num 5 ( N/ D- d ~! T7 Z
elsif Input.press?(Input::Numkey[5])
! A( R6 U7 |4 _' u- ^) t+ [ $game_player.equip_item_to_hud(4, @skill_window.skill) " U& u1 w& i2 [- q) s% @
end
. U7 X( F7 G: L& P1 R @hot_key_hud.update
6 L' V5 i( O4 H; o1 @4 S4 S0 | end 0 k( y2 K* f% n% v, Z/ z
end
3 e9 ]4 W- N7 x/ R% ]! Yend : g: ]! t* w/ K9 y& O' W ]
9 g+ d; o5 A' s
#===============================================================================
: w4 q) o! e% z. n1 ]) E5 D& e# Quick Item Window
+ C5 b# G- x4 L, [) q#=============================================================================== / n/ I, e8 C$ D) K% g$ P$ }
if XASVER_37 == false # g- P) f- c0 y: z% N- |' v% q" _
class Xas_Scene_Item ' v% \2 {" S D8 @; Z2 m6 t: }
alias hud_quick_menu_main main
5 A: ] ]+ u- B+ q0 d" M* B def main . k w: ?) }& \( {" M
@hot_key_hud = Hot_Key_HUD.new
- E* \7 a& h" y& l hud_quick_menu_main 1 Y* A& Q/ K, ^, U/ a
@hot_key_hud.dispose : ?& D# @$ h4 l3 G
end
2 H" u- D; F& V' a3 n# m. L
$ {4 [( {1 Z0 ^, ]1 q5 } T alias hud_key_update update
: ~3 c( V8 E1 G' r- | def update / S" K, L6 g2 x0 A
hud_key_update 2 |/ b9 _' u" L7 _' c
# Hot Key num 1
/ `8 o& R$ p% d' y& y) R if Input.press?(Input::Numkey[1]) , L/ }, L: _' T- D2 j: n5 e. q
$game_player.equip_item_to_hud(0, @item_window.item) 5 l. J- [( W8 B
# Hot Key num 2 + Y4 q' O/ Y5 D. s" B
elsif Input.press?(Input::Numkey[2])
! G7 I1 a9 |8 O; M/ E, F $game_player.equip_item_to_hud(1, @item_window.item) , P# r# u, x( s1 w0 ]# a) l; B* Z
# Hot Key num 3 + i! V( T+ G/ N, x% U8 K3 _
elsif Input.press?(Input::Numkey[3]) 5 a- B1 s3 L3 \: K) J% t' ~- X
$game_player.equip_item_to_hud(2, @item_window.item) " B |8 y( l7 P
# Hot Key num 4
. q) X [% W# W- Y elsif Input.press?(Input::Numkey[4]) ) ^% _ E% `8 J6 {/ x
$game_player.equip_item_to_hud(3, @item_window.item)
2 Z2 j8 T6 F* E1 `/ { # Hot Key num 5
`( d0 `+ y! v1 i elsif Input.press?(Input::Numkey[5]) 2 r% \* D d* P# r& Q
$game_player.equip_item_to_hud(4, @item_window.item) / s, M+ y" U9 _4 a2 Z
end # e/ j0 e/ `' @4 a# t% I1 {& C2 Z
@hot_key_hud.update
, |6 ~: L0 x5 a* z; d end
! O* `/ ]" _+ [: v/ k' |' \; v end
2 m$ c3 l5 g5 g0 v8 D# e, Eelse
r% [- Q' f: b4 ~: R class Quick_Menu_Item % j6 j* A: g7 J2 ^% N. F+ k% f
alias hud_quick_menu_main main
" |' j. W$ T# D) _ def main ) N% g" [0 a. N
@hot_key_hud = Hot_Key_HUD.new
) \1 v- R: d: ]2 s hud_quick_menu_main - J, ?$ ?% J. k1 O5 R( \/ O
@hot_key_hud.dispose $ }( |4 f3 f6 j2 T' U7 t
end
& `9 m* T- f6 B& R+ `; M ( n( G( V" j% Z, c, C& p$ A: L/ ~
alias hud_key_update update
- E+ T, T* B7 R% X: P def update
2 N# Q' h& A( F$ C+ o& w" p hud_key_update - J6 Q6 ^+ ^3 N
# Hot Key num 1
( l6 ]7 O' R; m+ Z if Input.press?(Input::Numkey[1])
' H8 j1 D3 f, `2 M- ?2 J) [ $game_player.equip_item_to_hud(0, @item_window.item)
: d) C8 Z) g; h: d. G# c6 ` # Hot Key num 2 ; q/ T w! m: @8 ^4 h
elsif Input.press?(Input::Numkey[2]) 4 o2 R7 `% b5 m# ?6 x4 ]3 \
$game_player.equip_item_to_hud(1, @item_window.item)
, _$ j! {% I) m c; s* ~4 U # Hot Key num 3
# ~0 c7 e! P! P elsif Input.press?(Input::Numkey[3]) + l, Q7 t# v' Z: n: T, ~% z9 X
$game_player.equip_item_to_hud(2, @item_window.item)
. T. u2 |: k/ y T # Hot Key num 4
6 J- G8 P. I s8 x8 V! ], i elsif Input.press?(Input::Numkey[4])
8 M4 G' \, b0 b3 ~% s $game_player.equip_item_to_hud(3, @item_window.item)
/ Z3 e! G0 F: L W: U # Hot Key num 5 ' i* ~$ e) k& v
elsif Input.press?(Input::Numkey[5]) ; d# ~0 L, l3 Y4 g
$game_player.equip_item_to_hud(4, @item_window.item) + D+ t- w: J8 D) z5 e% u
end
( D# ^5 e9 a- Z7 V9 |* z @hot_key_hud.update 3 N; k5 O5 R6 L( S
end
' p. n9 c+ _% L7 H: O/ Z end 4 }* p9 a: O. v1 q# y) `
end
8 o% G; s, u, ], \" ^ ! A0 a1 A% Q# V( x" y
#=============================================================================== & T- w! U/ A$ A' \
# HUD Window
& d6 {/ W- d! y& ?#=============================================================================== ; n7 R. C5 x6 o
class Hot_Key_HUD < Window_Base # b/ a9 Q$ Z0 X2 ~, I) h
def initialize(x = HUD_X - 10, y = HUD_Y - 15) + `6 w$ `, W D* u6 a
super(x, y, 220, 80) 8 V& ] o; O+ g
self.contents = Bitmap.new(width - 32, height - 32)
3 M* v# J" h8 ^1 u# `% @& n. a" { self.opacity = 0
; T/ ?9 d5 L5 X9 |' y. q @actor = $game_party.actors[0]
8 i6 [' J, G# v7 p Q" I refresh " u: F+ l4 m. A- j9 f
end ) r, U8 W' A: M0 b8 o" L
* L' r( j: b4 w4 L def refresh 7 \ v& D# X; [+ d
self.contents.clear - X3 t" U0 u( q- e1 z; H F
bitmap = RPG::Cache.picture("Hot_Keys_HUD")
6 R' u2 e, }' A. j3 g1 e$ b self.contents.blt(0, 0, bitmap, Rect.new(0, 0, 160, 32))
& x$ n2 O- ]* [8 U4 c- D for i in 0..4 / V8 d; i, V8 ^9 X& L# }8 @
x = 32 * i + 4 0 |% @& r, M2 h1 q% B) I
item = $game_player.hud_equip[i]
$ u. X4 ?) m* d, v$ w' f# B next if item.nil?
0 w/ _$ z/ c" V; C if item.is_a?(RPG::Weapon)
1 D- _. c8 z- o3 O& i& \9 V3 c8 x item = nil if $game_party.weapon_number(item.id) == 0 and 4 J p( v1 Q% O, }. I2 b# O! b. ?5 {! h
@actor.weapon_id != item.id
6 H( n8 k/ Y( V% ^, }" ` elsif item.is_a?(RPG::Armor) % H8 i9 L6 E) q) `: N* x8 ?( B
item = nil if $game_party.armor_number(item.id) == 0 and 8 F* A6 V& ^- {: K: {: Q3 M
@actor.armor1_id != item.id . m/ O6 I8 l2 F1 n
elsif item.is_a?(RPG::Item)
% |: X; _+ M3 v6 N7 t3 Q& S item = nil if $game_party.item_number(item.id) == 0 or
6 z: |4 i% I |; d8 H5 R" O& @ !$game_party.item_can_use?(item.id)
" M5 G6 q- F( U7 d. U- j end ' s9 p* \2 f' t' X) i) n
bitmap = RPG::Cache.icon(item.icon_name)
7 h" T, P% L" O' B self.contents.blt(x, 4, bitmap, Rect.new(0, 0, 24, 24))
* o- e' ^* t- w end / ~1 g% L/ C: S( X8 K' }
end ( o8 D4 e' n; | P( ^4 u
8 I n. Z& S( l! G5 C5 S p3 }
def equip(item)
9 I4 C6 o3 J1 _' G; T if item.nil? $ J' ^5 i* n) R0 h7 B" {5 j' x/ \
$game_system.se_play($data_system.buzzer_se)
- l0 Q; T* K, s return % r, Z( k+ c/ W1 R! w& t* r
end
& G g( j$ U% D7 ~ if item.is_a?(RPG::Skill)
% A' B) F. W' j' Z$ R2 w if !@actor.skill_can_use?(item.id)
; a+ H: P- g3 V) p8 b1 n $game_system.se_play($data_system.buzzer_se)
% i' P! z) `1 N( Q! h' P; c return " l. Y" P: h8 k% T
end
# P; n0 X" w& p #$game_system.xas_skill_id = item.id
( s+ j1 |9 p- L1 n; r @item_type = false * w, C! y+ V& T* W1 [" ~& ?
elsif item.is_a?(RPG::Weapon)
' ^) S/ T0 n6 c9 g0 l @actor.equip(0, item.id) 6 i N! T; G+ d% z
elsif item.is_a?(RPG::Armor) 2 {0 y& I. d6 o/ z, J" p, Q2 q0 @
@actor.equip(1, item.id) + z$ Z, }' I2 j4 Z# Y4 M. w8 \
elsif item.is_a?(RPG::Item) # \0 u6 m' U8 o8 o
item_tool_id = XAS::XASITEM_ID[item.id] / \/ c5 Q# ^ C
if item_tool_id != nil 6 P6 w$ W5 g. p1 _& b' |
unless $game_party.item_can_use?(item.id)
/ C4 ^, E8 v8 Y' _4 g+ \. P7 K $game_system.se_play($data_system.buzzer_se)
% ?2 U; L8 o) G: e& p! d Z return
# |2 _( f3 r4 d( D4 W0 A$ ~2 j# g end
4 c8 {8 z& G& n2 j# N #$game_system.xas_item_id = item.id
# s* e* Y7 ~1 z8 [5 Y6 q @item_type = true
' m, ^$ w) W) B O end
) Z/ [5 p/ f! v7 z/ | end $ i3 m+ S4 N# J7 z* |: W4 @
#$game_system.se_play($data_system.equip_se) $ \; p0 i u! n- j8 ^
end 4 T3 H1 c; |1 Y0 o* r7 v9 B
& T3 I% [# {. D9 b
def use_hud_item(i)
. e J* ~1 {, a* {& i3 t ^ if @item_type * C" Z8 _8 r4 g2 A: c1 n7 ^
$game_temp.force_action_id = $game_player.hud_item_id[i]
2 d7 e* I9 B) W else
) H5 K9 C- ~1 F; I' r; ~ $game_temp.force_action_id = $game_player.hud_skill_id[i]
9 t3 A- |& g) d0 y6 E5 ~; t end Y+ z+ D# L% F; f, H/ m3 w, `
end
4 U& t5 { q$ _: x/ o
1 q7 l$ ]) a3 n5 L+ V def update
6 ^# r& l# M3 V! A* Y @actor = $game_party.actors[0] ! I& G: { S* T6 V+ t- e" i
@hot_keys = $game_player.hud_equip
8 H7 b3 f# i# i5 i3 Q& a) e refresh
/ R0 g& p& \/ q4 g return if !$scene.is_a?(Scene_Map)
* g% x* W7 }! p% B3 c, w if Input.press?(Input::Numkey[1])
; R! ]: h* o/ G% T, _8 [ equip($game_player.hud_equip[0]) - ~/ O5 h# ~, k' ]
use_hud_item(0) : g: _+ O7 u G4 h, i+ s
elsif Input.press?(Input::Numkey[2])
( f. w# H) J( i! ^: d8 D# K equip($game_player.hud_equip[1]) - F! j+ b& a" R, a2 y
use_hud_item(1)
7 `( X: {/ b5 Z elsif Input.press?(Input::Numkey[3])
% K& f7 D9 E8 g% Z equip($game_player.hud_equip[2]) ) I& F1 A# E) b3 r% p9 l0 B
use_hud_item(2) + X' t- h/ |0 v5 z: G" M0 v
elsif Input.press?(Input::Numkey[4]) 3 [# ?! W$ t- ~, j9 e9 X) U2 I
equip($game_player.hud_equip[3])
( H* c) n8 Z2 z& n: u5 c/ j4 w use_hud_item(3)
4 J0 b# D. B) M elsif Input.press?(Input::Numkey[5]) ( J! @) w% E- W( B7 r9 u
equip($game_player.hud_equip[4]) # h8 W" [, {/ A
use_hud_item(4) , f! y9 p- a7 y- }# P; y
end % M: y9 x( F: l
end 6 @" n5 A' N) R) Z- K. x: d
end
0 }: F: `$ a1 R( Y
" [$ q8 e# s9 y#=============================================================================== " s& Z b" Y# a+ b7 p0 `
# Scene Map
5 t0 K! n- d# p- ~+ S3 `" Z#=============================================================================== ) R; c- L/ f7 @3 M
class Scene_Map 2 f9 r5 b1 {; g: S: {
alias hot_key_hud_init main
/ n4 w4 I& s- y9 f! z3 a# n6 V def main ! S$ K( f2 h; a3 A8 f F
@hot_key_hud = Hot_Key_HUD.new ! R! Z* L% t5 I
@hot_key_hud.visible = !$game_switches[XAS_HUDDISABLE_HUD_SWITCH]
& g* o. w% F2 T2 ` hot_key_hud_init
9 i$ Y& P. O6 |2 r+ _0 l @hot_key_hud.dispose
1 `5 n. U+ I6 H* T4 b end ; ~ X x8 g, i! `
$ u5 S4 g1 M+ M5 M: m8 g
alias hot_key_hud_update update : R+ w' X& U# X# ~/ C. C
def update
0 v) ]' a2 o- I" n+ h hot_key_hud_update ) }9 d8 Z, ^6 M( Q7 l3 h
@hot_key_hud.update
) T9 R: M( ?; f9 G& t7 _; B @hot_key_hud.visible = !$game_switches[XAS_HUDDISABLE_HUD_SWITCH] / i0 j5 Z6 E' T7 Q8 G) C
@hot_key_hud.update if !$game_switches[XAS_HUDDISABLE_HUD_SWITCH] ! x- C4 n) M8 e# _, ~3 K i
end
! A) m0 ~4 R( R- _" w$ bend $ n' i- K! i7 {# Q0 G0 p! k" P
|
|