Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # =============================================================================
- # TheoAllen - Double Tap Dash
- # Version : 1.1
- # Contact : www.rpgmakerid.com (or) http://theolized.blogspot.com
- # (This script documentation is written in informal indonesian language)
- # =============================================================================
- ($imported ||= {})[:Theo_DoubleTapDash] = true
- # =============================================================================
- # CHANGE LOGS:
- # -----------------------------------------------------------------------------
- # 2013.08.15 - Add option to keep shift as dash trigger
- # 2013.08.13 - Finished script
- # =============================================================================
- =begin
- Perkenalan :
- Script ini berfungsi untuk mengganti aktivasi dash dengan cara double tap
- daripada dengan shift (kalo kamu mau mengalihfungsikan shift untuk hal lain)
- Cara penggunaan :
- Pasang dibawah material namun diatas main.
- Edit konfigurasinya bila perlu
- Terms of Use :
- Credit gw, TheoAllen. Kalo semisal u bisa ngedit2 script gw trus jadi lebih
- keren, terserah. Ane bebasin. Asal ngga ngeklaim aja. Kalo semisal mau
- dipake buat komersil, jangan lupa, gw dibagi gratisannya.
- =end
- # =============================================================================
- # Sedikit konfigurasi
- # =============================================================================
- DashDelay_Duration = 60
- # Atur maksimal jeda durasi waktu double tap dash disini (60 = satu detik)
- KeepShift = true
- # Tulis true jika kamu tetep pengen bisa dash dengan mencet shift
- # =============================================================================
- # Akhir dari konfigurasi
- # =============================================================================
- class Game_Player < Game_Character
- alias theo_double_tap_init initialize
- def initialize
- theo_double_tap_init
- init_tap_dash_member
- end
- def init_tap_dash_member
- @pending_dash = 0
- @pending_dash2 = 0
- @dash_delay = 0
- end
- alias theo_double_tap_update update
- def update
- theo_double_tap_update
- update_tap_dash
- end
- def update_tap_dash
- if !dash?
- @dash_delay = [@dash_delay - 1,0].max
- end
- if (Input.dir4 == 0 && tap_dash?) || @dash_delay == 0
- init_tap_dash_member
- end
- if input_arrow? && !dash_impossible? && !dash?
- if @pending_dash == Input.dir4
- @pending_dash2 = Input.dir4
- else
- @pending_dash = Input.dir4
- @dash_delay = DashDelay_Duration
- end
- end
- end
- def dash_impossible?
- return @move_route_forcing || $game_map.disable_dash? || vehicle
- end
- def input_arrow?
- [:UP,:DOWN,:LEFT,:RIGHT].any? {|key| Input.trigger?(key)}
- end
- def dash?
- return false if @move_route_forcing
- return false if $game_map.disable_dash?
- return false if vehicle
- return true if KeepShift ? Input.press?(:A) : false
- return (Input.dir4 != 0 && tap_dash?)
- end
- def tap_dash?
- (@pending_dash2 == @pending_dash) && @pending_dash2 != 0
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment