LOGIN
SEARCH
PROFILE
keys: ↑ ↓
LOGOUT
INDEX
MEMBERS
keys: ↑ ↓
HOME
PORTAL
PLAY ALONG
PLAY with WORDS
PLAY with GRAPHICS
PLAY with SOUNDS
PLAY with CODES
PLAY with PROJECTS
keys: ← →
Guest Access
Register:
Members:



View previous topic View next topic Go down Message [Page 1 of 1]

Administrator
Administrator
#1 RMXP = TAP, DASH, BLURRR...
Loading

G@MeF@Ce

Administrator
Administrator
Administrator
profile
TAP DASH AND BLURRR v.3.0!



gameface - just like it says... enjoy!
instructions are in the script.

new version!

+better instructions
+even more accurate double tap
+option to work with XAS CT Meter (3.9+)
+sound effect option
+graphic option
+easy disable switch
+disable by terrain tag
+easy blurrr settings
and more in the user friendly module!

G101 TDB 3.0
Code:
################################################################################
# TAP DASH & BLURRR v3.0 by G@MeF@Ce 1/29/2013 www.gameface101.com
#
# dash concept from the double tap to dash by Gamba ABS
# the "blurrr" from the trails script by Zues81
# xas by xiderowg, moghunter
#
# free to use, must give credit to all names above ^
#
# Instructions:
#
# Q: How to use?
#
# A: Copy and Paste above Main script in Script Database (F11)
#    then setup options in the module below.
#
# Q: How to make player dash and blurrr?
#
# A: Tap a direction twice to make the player dash and blurrr
#
# Q: How to make other events "blurrr" ?
#
# A: Open an event, find the ID on the top left
# X = Event ID number
# choose 'script' in event commants (3rd tab - bottom right option)
# to start event blurrr use =>  $game_map.events[X].blur = true
# to stop event blurrr use =>  $game_map.events[X].blur = false
#
# enjoy! ^,^
################################################################################
#--------------------------------------------------------------------=[settings]
module G101_TDB
       
#[ DASH OPTIONS ]===============================================================

# CONTROLS:
DISABLE_TDB_SWITCH= 4 #---------------------------=[switch ID for dash on/off]
DISABLE_BY_TILE = 5 #---------------------------------------------=[on or off]
DISABLE_TILE_TAG = 7 #------------------------------=[terrain ID for dash off]

#GAME PLAY:
NORMAL_SPEED = 4 #-----------------------------------------=[set normal speed]
DASH_SPEED = 5.5 #-------------------------------------------=[set dash speed]
TIME = 4 #------------------------------------------=[time between double tap]
STOP_DASH = 0 #-----------=[stop sliding - 0 release key - 1 when move direct]
DASH_TIME = 100 #-------------------------------------=[how much time to dash]
RECHARGE_TIME = 1 #-------------------------------------------=[recharge time]
START_RECHARGE_TIME = 1 #-------------------=[the instant recharge will begin]

#PRESENTATION:
CHARACTER_DASH_GRAPHIC = "_dash" #----------------------=["NAME_dash" graphic]
DASH_SOUND = "" #----------------------------------=[ play sound when dashing]
BLUR_LENGTH = 10 #-----------[set number of repeated images to create a blurrr
BLUR_TYPE = 0#---------------[ blending blurrr images: 0=Normal 1=Light 2=Dark
BLUR_FADE = 150 #------------[opacity of the blurr (1-256)

# XAS:
XAS_TDB = false #------------------------------------------------=[ USING XAS? ]
#uncomment lines 216 and 232
DISABLE_XAS_CT = false #---------------------------------------=[ requires XAS ]

end
#===============================================================================
#
#===============================================================================
# ■ Game_Character
#===============================================================================
class Game_Character
      attr_accessor :move_speed
      attr_accessor :time_dash
      attr_accessor :character_name
#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------                             
 alias tap_dash_initialize initialize
      def initialize
          @time_dash = 0
          tap_dash_initialize
      end
end     
#===============================================================================
# ■ RPG_FileTest
#===============================================================================
module RPG_FileTest
      def RPG_FileTest.character_exist?(filename)
          return RPG::Cache.character(filename, 0) rescue return false
      end
end       
#===============================================================================
# ■ Game_Map
#===============================================================================
 class Game_Map
      include G101_TDB
      attr_accessor :time_dash
      attr_accessor :dashing
#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------                             
 alias tap_dash_setup setup
      def setup(map_id)
          @dash = []
            for i in 2..8
            @dash[i] = 0
            end
          @time_c = 0
          @dashing = false
          @direction = 0
          @direction_old = $game_player.direction
          @time_rec = 0
          $game_player.time_dash = DASH_TIME if @time_dash == nil
          tap_dash_setup(map_id)
      end
       
#--------------------------------------------------------------------------
# ● Can Tap Dash?
#--------------------------------------------------------------------------                             
      def can_tap_dash?
          return false if $game_system.map_interpreter.running?
            if XAS_TDB == true   
              return false if $game_player.knockbacking?
              return false if $game_player.acting?
              return false if $game_player.battler.hp == 0
              return false if $game_player.pickup_lock
              return true
            end
          return true
          end
#--------------------------------------------------------------------------
# ● Update
#--------------------------------------------------------------------------                             
 alias tap_dash_update update
    def update
      tap_dash_update
      return unless can_tap_dash?
      if $game_map.terrain_tag($game_player.x , $game_player.y) == DISABLE_TILE_TAG and $game_switches[DISABLE_BY_TILE] == true
          $game_player.character_name = $game_party.actors[0].character_name if $game_player.character_name == $game_party.actors[0].character_name + CHARACTER_DASH_GRAPHIC
          $game_player.move_speed = NORMAL_SPEED
          @dashing = false
          $game_player.blur = false
      end
          if @time_rec == START_RECHARGE_TIME
            $game_player.time_dash += (DASH_TIME.to_f/(100/RECHARGE_TIME.to_f)).to_i if $game_player.time_dash < DASH_TIME
            @time_rec = 0
            else
            @time_rec += 1
          end
        if $game_switches[DISABLE_TDB_SWITCH] == false
          if @dashing == true
            newname = $game_party.actors[0].character_name + CHARACTER_DASH_GRAPHIC if $game_party.actors[0].hp > 0
            $game_player.character_name = newname if $game_player.character_name != newname and
            RPG_FileTest.character_exist?(newname)
          if XAS_TDB == true
            if DISABLE_XAS_CT == false
                $game_system.action_meter -= 1
            end
          end
            $game_player.move_speed = DASH_SPEED
          if STOP_DASH == 0
              unless Input.press?(Input::DOWN) or Input.press?(Input::LEFT) or
              Input.press?(Input::RIGHT) or Input.press?(Input::UP)
              @dashing = false
              $game_player.blur = false
          end
              elsif STOP_DASH == 1
                unless Input.press?(@keyboard) and @direction == $game_player.direction
                @dashing = false
                $game_player.blur = false
              end
          end
          if XAS_TDB == true
            if $game_system.action_meter<= 0 and DISABLE_XAS_CT == false
                @dashing = false
                $game_player.blur = false
            end
          end
          else
          $game_player.character_name = $game_party.actors[0].character_name if $game_player.character_name == $game_party.actors[0].character_name + CHARACTER_DASH_GRAPHIC
          if @time_rec == START_RECHARGE_TIME
              $game_player.time_dash += (DASH_TIME.to_f/(100/RECHARGE_TIME.to_f)).to_i if $game_player.time_dash < DASH_TIME
              @time_rec = 0
              else
              @time_rec += 1
          end
#===========================================================[tap to dash section       
$game_player.move_speed = NORMAL_SPEED if $game_player.move_speed == DASH_SPEED
      dir = $game_player.direction
      case dir
          when 2
          @keyboard = Input::DOWN
          when 4
          @keyboard = Input::LEFT
          when 6
          @keyboard = Input::RIGHT
          when 8
          @keyboard = Input::UP
      end
          if @dash[dir] == 1
            if Input.press?(@keyboard)
                for i in 2..8
                  if i != dir
                    @dash[i] = 0
                    $game_player.blur = false
                  end
                end   
            else
              @dash[dir] = 2
                for i in 2..8
                  if i != dir
                      @dash[i] = 0
                      $game_player.blur = false
                  end
                end
                end
              elsif @dash[dir] == 2 
                if @time_c < (TIME)
                  if Input.press?(@keyboard)# and $game_temp.xplat == 0
                      @time_c = 0
                      @dash[dir] = 0
                      @dashing = true
                      $game_system.se_play(RPG::AudioFile.new(DASH_SOUND, 100, 100))
                      $game_player.blur = true
                      @direction = $game_player.direction
                  end
                end
                if @time_c > (TIME)
                  @time_c = 0
                  @dash[dir] = 0
                  $game_player.blur = false
                end 
                else
                @time_c = 0
                if Input.trigger?(@keyboard)# and $game_temp.xplat == 0
                  @dash[dir] = 1
                  for i in 2..8
                      if i != dir
                        @dash[i] = 0
                        $game_player.blur = false
                      end
                    end
                  end
                end
              end
            end
          end
        end
#===============================================================================
# ■ Game_Character
#===============================================================================
 class Game_Character
      include G101_TDB
      attr_accessor :blur       
#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------                                 
      alias spriteset_map_initialize initialize
      def initialize
          spriteset_map_initialize
          @blur = false
      end
#--------------------------------------------------------------------------
# ● Update Move Speed
#--------------------------------------------------------------------------   
      def update_move_speed
          return
      end                       
#--------------------------------------------------------------------------
# ● update knockbacking
#--------------------------------------------------------------------------   
      def update_knockbacking
          @knock_back_duration = 5 if self.battler.state_sleep
          return unless self.knockbacking?
          return if self.battler.stop
          @pattern = 0 unless @direction_fix
          @knock_back_duration -= 1 unless self.throw_active
          update_knockbacksprite
          if @knock_back_duration <= 0
              @knock_back_duration = nil
              @knock_back_prespeed = nil
              if $game_switches[XPLAT_SWITCH_ID]
                @move_speed = @knock_back_prespeed
              end
              if self.is_a?(Game_Event)
                @pose_type = ""
                @pose_type_old = @pose_type
                @character_name = @page.graphic.character_name
                self.refresh
              end
            end
        end   
      end
#===============================================================================
# ■ Spriteset_Map
#===============================================================================
 class Spriteset_Map
      include G101_TDB
      $blurr_images = G101_TDB::BLUR_LENGTH
      $transparence = G101_TDB::BLUR_TYPE         
#--------------------------------------------------------------------------
# ● Update
#--------------------------------------------------------------------------                             
      alias spriteset_map_update update
      def update
          if $blurr_images != @last_blurr_images
              @last_blurr_images = $blurr_images
            if @blur_sprites != nil
                for blur_sprite in @blur_sprites.values
                    blur_sprite.dispose
                    end
                    @blur_sprites = nil
                end
            end
              if @blur_sprites == nil
                @blur_sprites = {}
                for i in 0...$blurr_images
                    @blur_sprites[i] = Sprite_Blur.new(@viewport1, $game_player)
                    @blur_sprites[i].opacity = BLUR_FADE / $blurr_images * i
                end
              end
              for id in $game_map.events.keys.sort
                  event = $game_map.events[id]
                if event.blur == true and @blur_sprites[id * $blurr_images] == nil
                  for i in 0...$blurr_images
                    @blur_sprites[id * $blurr_images + i] = Sprite_Blur.new(@viewport1, event)
                    @blur_sprites[id * $blurr_images + i].opacity = BLUR_FADE / $blurr_images * i
                  end
              end
            end
        for blur_sprite in @blur_sprites.values
            blur_sprite.update
          end
            spriteset_map_update
          end
#--------------------------------------------------------------------------
# ● Dispose
#--------------------------------------------------------------------------                             
        alias spriteset_map_dispose dispose
          def dispose
              spriteset_map_dispose
              for blur_sprite in @blur_sprites.values
                  blur_sprite.dispose
              end
          end
        end
#===============================================================================
# ■ Sprite_Blur
#===============================================================================
 class Sprite_Blur < Sprite
      include G101_TDB
      attr_accessor :real_x
      attr_accessor :real_y
      attr_accessor :character       
#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------                               
      def initialize(viewport, character)
          super(viewport)
          self.opacity = 0
          @character = character
          update
      end       
#--------------------------------------------------------------------------
# ● Update
#--------------------------------------------------------------------------                                 
      def update
          if self.opacity == 0
          super
          if @character_name != @character.character_name or @character_hue != @character.character_hue
              @character_name = @character.character_name
              @character_hue = @character.character_hue
              self.bitmap = RPG::Cache.character(@character_name,@character_hue)
              self.blend_type = $transparence
              @cw = bitmap.width / 4
              @ch = bitmap.height / 4
              self.ox = @cw / 2
              self.oy = @ch
          end
              self.visible = (not @character.transparent and @character.blur)
              sx = @character.pattern * @cw
              sy = (@character.direction - 2) / 2 * @ch
              self.src_rect.set(sx, sy, @cw, @ch)
              self.opacity = BLUR_FADE
              self.z = @character.screen_z(@ch) - 1
              @real_x = @character.real_x
              @real_y = @character.real_y
              update
              else
              self.opacity -= BLUR_FADE / ($blurr_images - 1)
              self.x = (@real_x - $game_map.display_x + 3)/4 + 16
              self.y = (@real_y - $game_map.display_y + 3)/4 + 32
            end
          end
      end
#===============================================================================
# ■ Scene_Map
#===============================================================================
 class Scene_Map
    alias G101_TDB_transfer_player transfer_player
      def transfer_player
        $game_player.blur = false
        G101_TDB_transfer_player
      end
 end
#end of script ^,^
Administrator
Show Signature
Administrator
https://www.dropbox.com/sh/i47rig99qhrvn8s/4m5HvsM2fD http://g4m3f4c3.deviantart.com https://www.facebook.com//pages/Gameface101/332331300127008 https://twitter.com//mr_gameface101 https://soundcloud.com/schurr http://www.youtube.com/user/MrGameface101?feature=watch
EVENTALIST
EVENTALIST
#2 Re: RMXP = TAP, DASH, BLURRR...
Loading

mr_wiggles

EVENTALIST
 EVENTALIST
EVENTALIST
profile
Game face comes through with another interesting script.

i have but one question.. would it be possible to instead of Double tap that you can just press a key? "Input.trigger?(Input::Z)" or something?

*for others reading this who ask "why not make a common event", its because i want a run that doesn't take from the CT meter but still has a "stamina" limit, and i the stamina is set by another script*
EVENTALIST
Show Signature
EVENTALIST
WORDSMITH
WORDSMITH
#3 Re: RMXP = TAP, DASH, BLURRR...
Loading

Cardboard Square

WORDSMITH
WORDSMITH
profile
Very nice. Blur effect great.
WORDSMITH
Show Signature
WORDSMITH
Active Member
Active Member
#4 Re: RMXP = TAP, DASH, BLURRR...
Loading

Reala

Active Member
Active Member
Active Member
profile
Is there a way to make the player blur by event, like they blur for an attack, then it goes away. I can do it by dashing then doing the attack, but i want it to be all flashy n watever.
Active Member
Show Signature


Whoa, Whoa, Whoa, Kemosabe, Big Big Ballin is my Hobbay
Active Member
Administrator
Administrator
#5 Re: RMXP = TAP, DASH, BLURRR...
Loading

G@MeF@Ce

Administrator
Administrator
Administrator
profile
So in $game_map.events[X].blur = true
Wut do i replace X with for it to blur on the actor. I put 0 n got a error
@reala - try using a call script in an event and use "$game_player.blur = true"
(without the quotes)
Administrator
https://www.dropbox.com/sh/i47rig99qhrvn8s/4m5HvsM2fD http://g4m3f4c3.deviantart.com https://www.facebook.com//pages/Gameface101/332331300127008 https://twitter.com//mr_gameface101 https://soundcloud.com/schurr http://www.youtube.com/user/MrGameface101?feature=watch
Active Member
Active Member
#6 Re: RMXP = TAP, DASH, BLURRR...
Loading

Reala

Active Member
Active Member
Active Member
profile
It works but it goes away after i dash. I think i can fix this with a common event. Thanx GM
Commoc event worked thanx again GM
Active Member
Show Signature


Whoa, Whoa, Whoa, Kemosabe, Big Big Ballin is my Hobbay
Active Member
Administrator
Administrator
#7 Re: RMXP = TAP, DASH, BLURRR...
Loading

G@MeF@Ce

Administrator
Administrator
Administrator
profile
^ newer version!

+more accurate double tap
+option to work with XAS CT_meter
+sound effect option

*doesn't blurrr after transferring maps

gameface
Administrator
https://www.dropbox.com/sh/i47rig99qhrvn8s/4m5HvsM2fD http://g4m3f4c3.deviantart.com https://www.facebook.com//pages/Gameface101/332331300127008 https://twitter.com//mr_gameface101 https://soundcloud.com/schurr http://www.youtube.com/user/MrGameface101?feature=watch
Active Member
Active Member
#8 Re: RMXP = TAP, DASH, BLURRR...
Loading

Legault123

Active Member
Active Member
Active Member
profile
Nice work! Thank you for sharing, can't wait to see the new platform demo Smile
Active Member
Show Signature
Active Member
ACTIVATED
ACTIVATED
#9 Re: RMXP = TAP, DASH, BLURRR...
Loading

chaosmakr44

ACTIVATED
ACTIVATED
ACTIVATED
profile
i plan to use this script however i want the player to unlock the dash ability throughout the actual game, is there a script i can call to enable / disable the dash/blurr feature?
ACTIVATED
Show Signature
ACTIVATED
Administrator
Administrator
#10 Re: RMXP = TAP, DASH, BLURRR...
Loading

G@MeF@Ce

Administrator
Administrator
Administrator
profile
@chaosmakr44 - let me know if this works for you...

the script has a disable switch (default at 0)
just assign it a number.

If you're not using XAS, here's an example
mediafire.com ?ssj55pwjrblrtw9

EDIT: newer version for XAS 3.9!

this topic has been moved to the underground gaming forum, guests are now able to access ^,^
Administrator
https://www.dropbox.com/sh/i47rig99qhrvn8s/4m5HvsM2fD http://g4m3f4c3.deviantart.com https://www.facebook.com//pages/Gameface101/332331300127008 https://twitter.com//mr_gameface101 https://soundcloud.com/schurr http://www.youtube.com/user/MrGameface101?feature=watch
ACTIVATED
ACTIVATED
#11 Re: RMXP = TAP, DASH, BLURRR...
Loading

Untitled

ACTIVATED
ACTIVATED
ACTIVATED
profile
So I stuck this in the XAS default engine and it works like a charm as-is. But I want to change a few things.

First off, how do you disable the actor sound? nil, false, and flat out removal don't seem to work... Maybe I should keep the script from referring to a line that doesn't exist?

Second, how do you keep the actor from continuing to dash after changing screens? My guess is that it has something to do with the def setup(map_id), but I dunno XD

Third is probably something that I can do by myself, but how do you disable the default XAS button-press dash while keeping this one up?

Fourth thing I'm pretty sure I can do, and this is a lot already ^-^;
Thanks!
ACTIVATED
Show Signature
ACTIVATED
Administrator
Administrator
#12 Re: RMXP = TAP, DASH, BLURRR...
Loading

G@MeF@Ce

Administrator
Administrator
Administrator
profile
First off, how do you disable the actor sound? nil, false, and flat out removal don't seem to work... Maybe I should keep the script from referring to a line that doesn't exist?

1.) just edit this line of code:
Code:
DASH_SOUND = "V_Attack3"
to
Code:
DASH_SOUND = ""

Second, how do you keep the actor from continuing to dash after changing screens? My guess is that it has something to do with the def setup(map_id), but I dunno

2.)I will look into the dash/blurrr cancel after the map transfer (there's still a few updates to come in use with XAS such as states and more...

Third is probably something that I can do by myself, but how do you disable the default XAS button-press dash while keeping this one up?
3.)go into MISC scripts and edit
Code:
DASH_BUTTON = #Input::X

Fourth thing I'm pretty sure I can do, and this is a lot already ^-^;
Thanks!
what's #4?
Administrator
https://www.dropbox.com/sh/i47rig99qhrvn8s/4m5HvsM2fD http://g4m3f4c3.deviantart.com https://www.facebook.com//pages/Gameface101/332331300127008 https://twitter.com//mr_gameface101 https://soundcloud.com/schurr http://www.youtube.com/user/MrGameface101?feature=watch
ACTIVATED
ACTIVATED
#13 Re: RMXP = TAP, DASH, BLURRR...
Loading

Untitled

ACTIVATED
ACTIVATED
ACTIVATED
profile
4 is... Um... I don't remember XD

Was it the up-down thing? Maybe. Whatever.

Also, I tried changing the dash button to "" in the MISC script, but when the game started, it said
Code:
Script 'Yan Keyboard Input' line 151 ArgumentError occurred.

comparison of String with 30 failed

EDIT: Oh, right! Here's 5, which I also forgot:

When using Tap Run, running jumps take you as far as walking jumps. It's hilarious to watch, but not particularly useful. How do you extend the range? Or better yet, I'll just take a look at the clown thing to make midair movement controllable XD
ACTIVATED
Show Signature
ACTIVATED
Administrator
Administrator
#14 Re: RMXP = TAP, DASH, BLURRR...
Loading

G@MeF@Ce

Administrator
Administrator
Administrator
profile
@untitled - don't use "" ... instead use

Code:
DASH_BUTTON = #Input::X

will look into 2 and 5, and 4 once you are certain what it is :-P

who would of thought tap dash could be so complex?

^,^
Administrator
https://www.dropbox.com/sh/i47rig99qhrvn8s/4m5HvsM2fD http://g4m3f4c3.deviantart.com https://www.facebook.com//pages/Gameface101/332331300127008 https://twitter.com//mr_gameface101 https://soundcloud.com/schurr http://www.youtube.com/user/MrGameface101?feature=watch
Administrator
Administrator
#15 Re: RMXP = TAP, DASH, BLURRR...
Loading

G@MeF@Ce

Administrator
Administrator
Administrator
profile
minor updates:

+ Blur cancels when transferring maps

+ cannot tap dash during:
~forced move routes
~message window is open

newer script versions in the original post.
Administrator
https://www.dropbox.com/sh/i47rig99qhrvn8s/4m5HvsM2fD http://g4m3f4c3.deviantart.com https://www.facebook.com//pages/Gameface101/332331300127008 https://twitter.com//mr_gameface101 https://soundcloud.com/schurr http://www.youtube.com/user/MrGameface101?feature=watch
Active Member
Active Member
#16 Re: RMXP = TAP, DASH, BLURRR...
Loading

Plushmonkee

Active Member
Active Member
Active Member
profile
what am i doing wrong? I placed above main then ran the game and got this error.

Spoiler:
Active Member
Show Signature


Active Member
Administrator
Administrator
#17 Re: RMXP = TAP, DASH, BLURRR...
Loading

G@MeF@Ce

Administrator
Administrator
Administrator
profile
yo plush - try the 'RMXP version 2.2' in the original post. The other one is for XAS if you are using...
Administrator
https://www.dropbox.com/sh/i47rig99qhrvn8s/4m5HvsM2fD http://g4m3f4c3.deviantart.com https://www.facebook.com//pages/Gameface101/332331300127008 https://twitter.com//mr_gameface101 https://soundcloud.com/schurr http://www.youtube.com/user/MrGameface101?feature=watch
Administrator
Administrator
#18 Re: RMXP = TAP, DASH, BLURRR...
Loading

G@MeF@Ce

Administrator
Administrator
Administrator
profile
you can toss any older version of this script,
the new 3.0 is clean as a whistle +

instead of two versions, one for just RMXP and one for XAS, this latest version has a simple setting to indicate whether you are using XAS 3.9 or not

not only is there a disable switch, but there is a disable by tile switch, set the terrain tag in which you don't want your player to dash on, such as water, mud etc... and it will cancel the dash on that tile.

in the module you can adjust the blurrr effect by length of the trail, type of blur, and the opacity. (remember this script can make events blurrr too, looks great when enemies attack+)

removed a lot of redundant code, used proper indentation, and left better instructions even a noob could figure out.

if anyone really needs to see a demo,
copy the script from the original post ;-)
Administrator
https://www.dropbox.com/sh/i47rig99qhrvn8s/4m5HvsM2fD http://g4m3f4c3.deviantart.com https://www.facebook.com//pages/Gameface101/332331300127008 https://twitter.com//mr_gameface101 https://soundcloud.com/schurr http://www.youtube.com/user/MrGameface101?feature=watch
ACTIVATED
ACTIVATED
#19 Re: RMXP = TAP, DASH, BLURRR...
Loading

jester

ACTIVATED
ACTIVATED
ACTIVATED
profile
Please make awesome script work with older XaS
ACTIVATED
Show Signature
ACTIVATED
Administrator
Administrator
#20 Re: RMXP = TAP, DASH, BLURRR...
Loading

G@MeF@Ce

Administrator
Administrator
Administrator
profile
jester wrote:Please make awesome script work with older XaS
renaming "action_meter" to "move_meter" does the trick
maybe I can make a case for that and have a setting in the module for a later version
Code:
################################################################################
# TAP DASH & BLURRR v3.0a by G@MeF@Ce 1/29/2013 www.gameface101.com
# (edited for older versions of XAS)
# dash concept from the double tap to dash by Gamba ABS
# the "blurrr" from the trails script by Zues81
# xas by xiderowg, moghunter
#
# free to use, must give credit to all names above ^
#
# Instructions:
#
# Q: How to use?
#
# A: Copy and Paste above Main script in Script Database (F11)
#    then setup options in the module below.
#
# Q: How to make player dash and blurrr?
#
# A: Tap a direction twice to make the player dash and blurrr
#
# Q: How to make other events "blurrr" ?
#
# A: Open an event, find the ID on the top left
# X = Event ID number
# choose 'script' in event commants (3rd tab - bottom right option)
# to start event blurrr use =>  $game_map.events[X].blur = true
# to stop event blurrr use =>  $game_map.events[X].blur = false
#
# enjoy! ^,^
################################################################################
#--------------------------------------------------------------------=[settings]
module G101_TDB
       
#[ DASH OPTIONS ]===============================================================

# CONTROLS:
DISABLE_TDB_SWITCH= 1 #---------------------------=[switch ID for dash on/off]
DISABLE_BY_TILE = 5 #---------------------------------------------=[on or off]
DISABLE_TILE_TAG = 7 #------------------------------=[terrain ID for dash off]

#GAME PLAY:
NORMAL_SPEED = 4 #-----------------------------------------=[set normal speed]
DASH_SPEED = 5.5 #-------------------------------------------=[set dash speed]
TIME = 4 #------------------------------------------=[time between double tap]
STOP_DASH = 0 #-----------=[stop sliding - 0 release key - 1 when move direct]
DASH_TIME = 100 #-------------------------------------=[how much time to dash]
RECHARGE_TIME = 1 #-------------------------------------------=[recharge time]
START_RECHARGE_TIME = 1 #-------------------=[the instant recharge will begin]

#PRESENTATION:
CHARACTER_DASH_GRAPHIC = "_dash" #----------------------=["NAME_dash" graphic]
DASH_SOUND = "" #----------------------------------=[ play sound when dashing]
BLUR_LENGTH = 10 #-----------[set number of repeated images to create a blurrr
BLUR_TYPE = 0#---------------[ blending blurrr images: 0=Normal 1=Light 2=Dark
BLUR_FADE = 150 #------------[opacity of the blurr (1-256)

# XAS:
XAS_TDB = true #------------------------------------------------=[ USING XAS? ]
# for xas combat time
DISABLE_XAS_CT = false #---------------------------------------=[ requires XAS ]

end
#===============================================================================
#
#===============================================================================
# ■ Game_Character
#===============================================================================
class Game_Character
      attr_accessor :move_speed
      attr_accessor :time_dash
      attr_accessor :character_name
#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------                             
 alias tap_dash_initialize initialize
      def initialize
          @time_dash = 0
          tap_dash_initialize
      end
end     
#===============================================================================
# ■ RPG_FileTest
#===============================================================================
module RPG_FileTest
      def RPG_FileTest.character_exist?(filename)
          return RPG::Cache.character(filename, 0) rescue return false
      end
end       
#===============================================================================
# ■ Game_Map
#===============================================================================
 class Game_Map
      include G101_TDB
      attr_accessor :time_dash
      attr_accessor :dashing
#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------                             
 alias tap_dash_setup setup
      def setup(map_id)
          @dash = []
            for i in 2..8
            @dash[i] = 0
            end
          @time_c = 0
          @dashing = false
          @direction = 0
          @direction_old = $game_player.direction
          @time_rec = 0
          $game_player.time_dash = DASH_TIME if @time_dash == nil
          tap_dash_setup(map_id)
      end
       
#--------------------------------------------------------------------------
# ● Can Tap Dash?
#--------------------------------------------------------------------------                             
      def can_tap_dash?
          return false if $game_system.map_interpreter.running?
            if XAS_TDB == true   
              return false if $game_player.knockbacking?
              return false if $game_player.acting?
              return false if $game_player.battler.hp == 0
#              return false if $game_player.pickup_lock
              return true
            end
          return true
          end
#--------------------------------------------------------------------------
# ● Update
#--------------------------------------------------------------------------                             
 alias tap_dash_update update
    def update
      tap_dash_update
      return unless can_tap_dash?
      if $game_map.terrain_tag($game_player.x , $game_player.y) == DISABLE_TILE_TAG and $game_switches[DISABLE_BY_TILE] == true
          $game_player.character_name = $game_party.actors[0].character_name if $game_player.character_name == $game_party.actors[0].character_name + CHARACTER_DASH_GRAPHIC
          $game_player.move_speed = NORMAL_SPEED
          @dashing = false
          $game_player.blur = false
      end
          if @time_rec == START_RECHARGE_TIME
            $game_player.time_dash += (DASH_TIME.to_f/(100/RECHARGE_TIME.to_f)).to_i if $game_player.time_dash < DASH_TIME
            @time_rec = 0
            else
            @time_rec += 1
          end
        if $game_switches[DISABLE_TDB_SWITCH] == false
          if @dashing == true
            newname = $game_party.actors[0].character_name + CHARACTER_DASH_GRAPHIC if $game_party.actors[0].hp > 0
            $game_player.character_name = newname if $game_player.character_name != newname and
            RPG_FileTest.character_exist?(newname)
          if XAS_TDB == true
            if DISABLE_XAS_CT == false
                #$game_system.action_meter -= 1
                $game_system.move_meter -= 1
            end
          end
            $game_player.move_speed = DASH_SPEED
          if STOP_DASH == 0
              unless Input.press?(Input::DOWN) or Input.press?(Input::LEFT) or
              Input.press?(Input::RIGHT) or Input.press?(Input::UP)
              @dashing = false
              $game_player.blur = false
          end
              elsif STOP_DASH == 1
                unless Input.press?(@keyboard) and @direction == $game_player.direction
                @dashing = false
                $game_player.blur = false
              end
          end
          if XAS_TDB == true
            #if $game_system.action_meter<= 0 and DISABLE_XAS_CT == false
            if $game_system.move_meter<= 0 and DISABLE_XAS_CT == false
                @dashing = false
                $game_player.blur = false
            end
          end
          else
          $game_player.character_name = $game_party.actors[0].character_name if $game_player.character_name == $game_party.actors[0].character_name + CHARACTER_DASH_GRAPHIC
          if @time_rec == START_RECHARGE_TIME
              $game_player.time_dash += (DASH_TIME.to_f/(100/RECHARGE_TIME.to_f)).to_i if $game_player.time_dash < DASH_TIME
              @time_rec = 0
              else
              @time_rec += 1
          end
#===========================================================[tap to dash section       
$game_player.move_speed = NORMAL_SPEED if $game_player.move_speed == DASH_SPEED
      dir = $game_player.direction
      case dir
          when 2
          @keyboard = Input::DOWN
          when 4
          @keyboard = Input::LEFT
          when 6
          @keyboard = Input::RIGHT
          when 8
          @keyboard = Input::UP
      end
          if @dash[dir] == 1
            if Input.press?(@keyboard)
                for i in 2..8
                  if i != dir
                    @dash[i] = 0
                    $game_player.blur = false
                  end
                end   
            else
              @dash[dir] = 2
                for i in 2..8
                  if i != dir
                      @dash[i] = 0
                      $game_player.blur = false
                  end
                end
                end
              elsif @dash[dir] == 2 
                if @time_c < (TIME)
                  if Input.press?(@keyboard)# and $game_temp.xplat == 0
                      @time_c = 0
                      @dash[dir] = 0
                      @dashing = true
                      $game_system.se_play(RPG::AudioFile.new(DASH_SOUND, 100, 100))
                      $game_player.blur = true
                      @direction = $game_player.direction
                  end
                end
                if @time_c > (TIME)
                  @time_c = 0
                  @dash[dir] = 0
                  $game_player.blur = false
                end 
                else
                @time_c = 0
                if Input.trigger?(@keyboard)# and $game_temp.xplat == 0
                  @dash[dir] = 1
                  for i in 2..8
                      if i != dir
                        @dash[i] = 0
                        $game_player.blur = false
                      end
                    end
                  end
                end
              end
            end
          end
        end
#===============================================================================
# ■ Game_Character
#===============================================================================
 class Game_Character
      include G101_TDB
      attr_accessor :blur       
#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------                                 
      alias spriteset_map_initialize initialize
      def initialize
          spriteset_map_initialize
          @blur = false
      end
#--------------------------------------------------------------------------
# ● Update Move Speed
#--------------------------------------------------------------------------   
      def update_move_speed
          return
      end                       
#--------------------------------------------------------------------------
# ● update knockbacking
#--------------------------------------------------------------------------   
      def update_knockbacking
          @knock_back_duration = 5 if self.battler.state_sleep
          return unless self.knockbacking?
          return if self.battler.stop
          @pattern = 0 unless @direction_fix
          @knock_back_duration -= 1 unless self.throw_active
          update_knockbacksprite
          if @knock_back_duration <= 0
              @knock_back_duration = nil
              @knock_back_prespeed = nil
              if $game_switches[XPLAT_SWITCH_ID]
                @move_speed = @knock_back_prespeed
              end
              if self.is_a?(Game_Event)
                @pose_type = ""
                @pose_type_old = @pose_type
                @character_name = @page.graphic.character_name
                self.refresh
              end
            end
        end   
      end
#===============================================================================
# ■ Spriteset_Map
#===============================================================================
 class Spriteset_Map
      include G101_TDB
      $blurr_images = G101_TDB::BLUR_LENGTH
      $transparence = G101_TDB::BLUR_TYPE         
#--------------------------------------------------------------------------
# ● Update
#--------------------------------------------------------------------------                             
      alias spriteset_map_update update
      def update
          if $blurr_images != @last_blurr_images
              @last_blurr_images = $blurr_images
            if @blur_sprites != nil
                for blur_sprite in @blur_sprites.values
                    blur_sprite.dispose
                    end
                    @blur_sprites = nil
                end
            end
              if @blur_sprites == nil
                @blur_sprites = {}
                for i in 0...$blurr_images
                    @blur_sprites[i] = Sprite_Blur.new(@viewport1, $game_player)
                    @blur_sprites[i].opacity = BLUR_FADE / $blurr_images * i
                end
              end
              for id in $game_map.events.keys.sort
                  event = $game_map.events[id]
                if event.blur == true and @blur_sprites[id * $blurr_images] == nil
                  for i in 0...$blurr_images
                    @blur_sprites[id * $blurr_images + i] = Sprite_Blur.new(@viewport1, event)
                    @blur_sprites[id * $blurr_images + i].opacity = BLUR_FADE / $blurr_images * i
                  end
              end
            end
        for blur_sprite in @blur_sprites.values
            blur_sprite.update
          end
            spriteset_map_update
          end
#--------------------------------------------------------------------------
# ● Dispose
#--------------------------------------------------------------------------                             
        alias spriteset_map_dispose dispose
          def dispose
              spriteset_map_dispose
              for blur_sprite in @blur_sprites.values
                  blur_sprite.dispose
              end
          end
        end
#===============================================================================
# ■ Sprite_Blur
#===============================================================================
 class Sprite_Blur < Sprite
      include G101_TDB
      attr_accessor :real_x
      attr_accessor :real_y
      attr_accessor :character       
#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------                               
      def initialize(viewport, character)
          super(viewport)
          self.opacity = 0
          @character = character
          update
      end       
#--------------------------------------------------------------------------
# ● Update
#--------------------------------------------------------------------------                                 
      def update
          if self.opacity == 0
          super
          if @character_name != @character.character_name or @character_hue != @character.character_hue
              @character_name = @character.character_name
              @character_hue = @character.character_hue
              self.bitmap = RPG::Cache.character(@character_name,@character_hue)
              self.blend_type = $transparence
              @cw = bitmap.width / 4
              @ch = bitmap.height / 4
              self.ox = @cw / 2
              self.oy = @ch
          end
              self.visible = (not @character.transparent and @character.blur)
              sx = @character.pattern * @cw
              sy = (@character.direction - 2) / 2 * @ch
              self.src_rect.set(sx, sy, @cw, @ch)
              self.opacity = BLUR_FADE
              self.z = @character.screen_z(@ch) - 1
              @real_x = @character.real_x
              @real_y = @character.real_y
              update
              else
              self.opacity -= BLUR_FADE / ($blurr_images - 1)
              self.x = (@real_x - $game_map.display_x + 3)/4 + 16
              self.y = (@real_y - $game_map.display_y + 3)/4 + 32
            end
          end
      end
#===============================================================================
# ■ Scene_Map
#===============================================================================
 class Scene_Map
    alias G101_TDB_transfer_player transfer_player
      def transfer_player
        $game_player.blur = false
        G101_TDB_transfer_player
      end
 end
#end of script ^,^
Administrator
https://www.dropbox.com/sh/i47rig99qhrvn8s/4m5HvsM2fD http://g4m3f4c3.deviantart.com https://www.facebook.com//pages/Gameface101/332331300127008 https://twitter.com//mr_gameface101 https://soundcloud.com/schurr http://www.youtube.com/user/MrGameface101?feature=watch
ACTIVATED
ACTIVATED
#21 Re: RMXP = TAP, DASH, BLURRR...
Loading

jester

ACTIVATED
ACTIVATED
ACTIVATED
profile
Thanks game face , think you can make a button version ? Love this dash blur and how blur works on enemies
ACTIVATED
Show Signature
ACTIVATED
Administrator
Administrator
#22 Re: RMXP = TAP, DASH, BLURRR...
Loading

G@MeF@Ce

Administrator
Administrator
Administrator
profile
NP + ok then, next version I'll look into adding a button or tap option and XAS version option if using XAS, all I ask is for your patience +
Administrator
https://www.dropbox.com/sh/i47rig99qhrvn8s/4m5HvsM2fD http://g4m3f4c3.deviantart.com https://www.facebook.com//pages/Gameface101/332331300127008 https://twitter.com//mr_gameface101 https://soundcloud.com/schurr http://www.youtube.com/user/MrGameface101?feature=watch
#23 Re: RMXP = TAP, DASH, BLURRR...
Loading

Sponsored content

profile

View previous topic View next topic Back to top Message [Page 1 of 1]

 

Chatbox system disabled
Personal messaging disabled