hello ^_^

Started by candi.horror, November 13, 2012, 01:50:53 pm

Previous topic - Next topic

candi.horror

Hello all, while I signed up for an account here a few months ago, I've mostly been lurking and taking advantage of the great resources on here. I'm still learning my way around RMXP, but I've been making steady progress with it ^_^

As a teenager I often made my own games using the Games Factory, and somewhat studied QBasic, Visual Basic, and Java. Punk rock won  my heart though, so I put most of it away when I started playing bass in various punk bands. Fast forward almost a decade ( @_@) and I'm still playing in punk bands (and making my own electronic music on the side). I stumbled upon RMXP after deciding that the time I put into playing video games should go into creating them instead. I've been bumbling my way around it since ^_^

I look forward to meeting the rest of you. Thank you for  all the lovely resources on this forum ^_^

Soundcloud links:
Forgotten - Chiptune Mix - Darker track, made in FL Studio 9 with various 8-bit VSTis, video game soundfonts, and NES/Game Boy samples. So not a 'true' chiptune xD

Collection of various more upbeat tunes - kinda self-explanatory ;) Also made in FL Studio. I used more stuff to make these than I care to list ;) (PM me if you're interested!)

Feel free to use these in your game. They are released under a Creative Commons Attribution-NonCommercial-ShareAlike license.

MarkHest

November 13, 2012, 02:11:52 pm #1 Last Edit: November 13, 2012, 02:13:13 pm by MarkHest
Welcome to CP :)

Spoiler: ShowHide
Or rather, welcome out in the open!
   

Blizzard

:welcome:

I'm a music producer myself. :)
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Subsonic_Noise

Welcome. I'll criticize your music sometime when I'm not tired as hell. :P I have some things to say there.
Until then, I hope you enjoy your time here. I'm a music producer as well, check out my music here:
www.ksciaa.bandcamp.com
and here
www.soundcloud.com/ksciaa

Juan

Dropbox Who need luck when you can make your own.
3ds Friend code: ShowHide
 4468 1422  6617

Ryex

I no longer keep up with posts in the forum very well. If you have a question or comment, about my work, or in general I welcome PM's. if you make a post in one of my threads and I don't reply with in a day or two feel free to PM me and point it out to me.<br /><br />DropBox, the best free file syncing service there is.<br />

SBR*


candi.horror

Thanks everyone for the warm welcome ^_^.

Quote from: Subsonic_Noise on November 13, 2012, 08:03:29 pm
Welcome. I'll criticize your music sometime when I'm not tired as hell. :P I have some things to say there.
Until then, I hope you enjoy your time here. I'm a music producer as well, check out my music here:
www.ksciaa.bandcamp.com
and here
www.soundcloud.com/ksciaa


I look forward to your critique, I know I'm not the best at making music (I blame playing punk 'music' for so long xD). I really dig your tracks, you're a much better composer than I ;)

Quote from: Blizzard on November 13, 2012, 03:03:23 pm
I'm a music producer myself. :)


I would love to hear your music as well Blizzard! ^_^

Blizzard

Sure thing. You have demos on my website: http://www.blizzard-borealis.com
And basically my full first album and parts of my second on Soundcloud, including some free and commercial remixes: http://soundcloud.com/blizzard-borealis
I seriously have to finish that second album already. >_>
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

G_G

I haven't posted in a welcome topic for awhile. Welcome to Chaos! Hope you stick around, we need some activity around here. D:

candi.horror

Quote from: Blizzard on November 14, 2012, 03:07:02 pm
Sure thing. You have demos on my website: http://www.blizzard-borealis.com
And basically my full first album and parts of my second on Soundcloud, including some free and commercial remixes: http://soundcloud.com/blizzard-borealis

Great stuff, trance is my favorite music to rave to ^_^

QuoteI seriously have to finish that second album already. >_>

I Know that feel all too well @_@

Quote from: gameus on November 15, 2012, 07:22:33 am
I haven't posted in a welcome topic for awhile. Welcome to Chaos! Hope you stick around, we need some activity around here. D:

I plan on sticking around; y'all seem like a friendly, intelligent bunch. I'm looking forward to getting to you know you and RMXP better ^_^

Apidcloud

Welcome to Chaos  :haha:
RMXP is starting to get outdated, even thought I haven't tried the following versions  :facepalm:

:shy:
Instead of wanting to be somebody else, rather become somebody else



"I will treasure the knowledge like a squirrel treasures acorns."


Gibbo Glast 2D Engine - The sky is no longer a limit

candi.horror

Quote from: Apidcloud on November 15, 2012, 07:56:17 pm
RMXP is starting to get outdated, even thought I haven't tried the following versions  :facepalm:
:shy:


It may be getting outdated (so to speak), but that just means there's more resources and help available for it ^_^ Is VX really any better?

Also I'd love to try out ARC, but seeing as it's currently unfinished it makes it a wee bit difficult to release a game you make with it xD

Apidcloud

Well, in terms of performance in scripting, it really gets better (so I herd :D)

Graphical wise, I don't have a clue, but it seems cleaner  :-*
Instead of wanting to be somebody else, rather become somebody else



"I will treasure the knowledge like a squirrel treasures acorns."


Gibbo Glast 2D Engine - The sky is no longer a limit

Blizzard

Quote from: candi.horror on November 15, 2012, 06:49:31 pm
Quote from: Blizzard on November 14, 2012, 03:07:02 pm
Sure thing. You have demos on my website: http://www.blizzard-borealis.com
And basically my full first album and parts of my second on Soundcloud, including some free and commercial remixes: http://soundcloud.com/blizzard-borealis

Great stuff, trance is my favorite music to rave to ^_^


IDK if you were able to listen to my most recent stuff, because I had to remove it. You know, the guys from the label said I should remove still unreleased tracks. ._.; But I am planning to finish this album within the next few months.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

candi.horror

I only heard what you currently have on your Soundcloud, so I suppose I missed out on your unreleased tracks. I'm looking forward to hearing your second album, getting an album (or even a demo) finished can be rough but i swear it's worth it. I wish you luck in finishing it.

I would also like to complement you as a scripter, Blizzard. Blizz-ABS is a wonderful piece of work. I plan on using it for my side-scrolling mecha ARPG. However, it is still missing a gravity/platformer plugin. To this end, I hope I can contribute. I've never scripted in Ruby before, but I did rack up a good deal of experience as a teenager with Visual Basic (3.0 and 4.0).  I still remember bits of it, although I wouldn't call myself proficient in it anymore by any means. Regardless I feel like I have the experience to use creating this platformer plug-in as a crash course in RBSS/Ruby. Thank you for the inspiration, I found the plug-in I need but it is for XAS. While XAS is a flashy ABS, with a somewhat somewhat straightforward configuration; its code feels weird to me, the reliance on event 'tools' seems wasteful in terms of performance, the AI is wanting, and there's no anti-lag system. Your ABS is simply superior in every way, and I look forward to the challenge of creating a plug-in worthy of it.

Well, off to scripting school I go, wish me luck!
[spoiler]
I hope to be able to utilize some of the Platformer Plug-In for XAS for this. If you're interested, here's what I'm working with. I will be referencing the Blizz-ABS manual in-depth to see if/how I can convert this; failing that  gutting what I can and creating the rest around that.
[code]#==============================================================================
#                      XAS Platform Script! V3.5
#==============================================================================
# By: mr_wiggles, moghunter, g@mef@ce
#
# Based off of parts from Cogwheel's Platform Script (66rpg.com)
#==============================================================================
#                               CONFIG
#==============================================================================
XPLAT_SWITCH_ID = 1         # platform disable Switch, to turn platform mode
                            # on or off.
#-------------------------------------------------------------------------------
# Character graphic offset, used for making the character look like they are
# standing on the ground instead of floating on it. (values must be 0 - 63)
UP    = 48  # default = 48
DOWN  = 0   # default = 16
SIDE  = 32  # default = 32
#------------------------------------------------------------------------------
JUMPADD = 4                 # How High can you jump, 0 (lowest) - 6 (highest)
#------------------------------------------------------------------------------                             
AIR_JUMP = 1                # number of jumps that can be done in the air.
                            # can be changed in game by using a script command:
                            # $game_player.air_jump = value
                            # $game_variables[1]
                            # (set value to = 1, 2, or 3)
#------------------------------------------------------------------------------
JUMP_STAMINA = 20           # ct cost when jump
JUMP_NEED = 10              # ct requirement to jump
#------------------------------------------------------------------------------
JUMP_BUTTON = Input::X      # Button used to jump with
JUMP_SOUND = "V_Attack3"    # Play Sound when jump
JUMP_VOLUME = 100           # set volume for jump sound
JUMP_PITCH = 100            # set the pitch for jump sound
JUMP_ANIMATION_ID = 0   
AIR_JUMP_ANIMATION_ID  = 250
GROUND_ANIMATION_ID = 250
#------------------------------------------------------------------------------
# Types of Events for platform:
# Add one of these words in upper case in a comment on the first page of the
# event.
#
# FIXED  = Event is un effected by platform
# AIR    = Event will be "flying"
#==============================================================================
#==============================================================================
# ■ Game_Player
#==============================================================================
class Game_Player < Game_Character             
  attr_reader   :event
  attr_accessor :airjump
  attr_accessor :revise_x
  attr_accessor :revise_y
 
  #--------------------------------------------------------------------------
  # ● Initialize
  #--------------------------------------------------------------------------
  def initialize
      super
      @event = 4
      @jumpnow = 0
      @twojump = 0
      @apassed = false
      @revise_x = 0
      @revise_y = 0
      @move = false
      @airjump = AIR_JUMP   
      @correct_height = false
  end
 
#--------------------------------------------------------------------------
# ● can_jump? # +++ EDITED ++++
#-------------------------------------------------------------------------- 
def can_jump?(jump_max)
     return false if $game_system.map_interpreter.running?
     return false if @move_route_forcing   
     return false if self.knockbacking?
     return false if self.acting?
     return false if self.battler.hp == 0
     return false if $game_player.pickup_lock
     return false if $game_temp.xas_charge_time > 10
     return false if Input.press?(Input::DOWN)
     return false if $game_system.action_meter<= JUMP_NEED
     return true
end   
 
#--------------------------------------------------------------------------
# ● can_xplat_move? # +++ EDITED ++++
#--------------------------------------------------------------------------   
def can_xplat_move?
     return false if moving?
     return false if $game_system.map_interpreter.running?
     return false if @move_route_forcing
     return false if @force_move_times > 0
     return true
end 

#--------------------------------------------------------------------------
# ● can_gravity? # +++ EDITED ++++
#--------------------------------------------------------------------------     
def can_gravity?(jump_max)
     return true
end 

#--------------------------------------------------------------------------
# ● can_temp_through? # +++ EDITED ++++
#--------------------------------------------------------------------------     
def can_temp_through?(jump_max)
     return true
end

#--------------------------------------------------------------------------
# ● Movement Command # +++ EDITED ++++
#--------------------------------------------------------------------------   
def update_xplat_movement_commnad
     return unless can_xplat_move?
     @event_run = false
     @move = true
     platform = $game_switches[XPLAT_SWITCH_ID]
     case Input.dir8
          when 1
            #platform ? move_lower_left_p : move_left_p
             move_left_p #+++ EDITED ++++
          when 2
             move_down_p# if !platform
          when 3
             #platform ? move_lower_right_p : move_right_p
             move_right_p #+++ EDITED ++++
          when 4
             move_left_p
          when 6
             move_right_p
          when 7
             #platform ? move_upper_left_p : move_left_p
             move_left_p #+++ EDITED ++++
          when 8
             turn_up#move_up_p# if !platform
          when 9
             #platform ? move_upper_right_p : move_right_p
              move_right_p  #+++ EDITED ++++
     end
end 
 
#--------------------------------------------------------------------------
# ● Jumping_Effect (Jump Button Pressed) # +++ EDITED ++++
#--------------------------------------------------------------------------   
def update_xplat_jumping_effect(jump_max)
     return unless can_jump?(jump_max)
     @twojump = 1 if @twojump == 0 and down1(((@x * 128 + @revise_x) / 128.0
     ).round, ((@y * 128 + @revise_y) / 128.0).round, 5, true)
     if (not @apassed) and @twojump <= @airjump
        if @twojump > 0
           $game_player.animation_id = AIR_JUMP_ANIMATION_ID
        else
           $game_player.animation_id = JUMP_ANIMATION_ID
        end             
        @apassed = true
        @jumpnow = jump_max
        @twojump += 1
        $game_system.se_play(RPG::AudioFile.new(JUMP_SOUND, JUMP_VOLUME, JUMP_PITCH))
        @jumping_through = true
        $game_system.action_meter -= JUMP_STAMINA
    else
        @jumpnow += 3   
    end
end   

#--------------------------------------------------------------------------
# ● Gravity # +++ EDITED ++++
#--------------------------------------------------------------------------     
def update_xplat_gravity(jump_max)
     return unless can_gravity?(jump_max)
     @jumpnow -= 10 
     if @jumpnow < 0
        @jumpnow = [@jumpnow, -jump_max].max
        if not down1(((@x * 128 + @revise_x) / 128.0).round,
          ((@y * 128 + @revise_y) / 128.0).round, -@jumpnow, true)
          @correct_height = true if @twojump != 0  # ++++ EDITED ++++
          @jumpnow = 0
          @twojump = 0
        end
      elsif @jumpnow > 0
          @jumpnow = [@jumpnow, jump_max].min
          if not up1(((@x * 128 + @revise_x) / 128.0).round,
             ((@y * 128 + @revise_y) / 128.0).round, @jumpnow, true)
             @jumpnow = 0
          end
     end
end

#--------------------------------------------------------------------------
# ● Temp Through # +++ EDITED ++++
#-------------------------------------------------------------------------- 
def update_xplat_temp_through(jump_max)
     return unless can_temp_through?(jump_max)
     # Jump up through ground
     @wait_time = 0 if @wait_time == nil
     @old_y = @y if @old_y == nil
     if @y < @old_y
        if !$game_map.passable?(@x, @y-1, 8) and $game_map.passable?(@x, @y-1, 1)#2
           @jumping_through = true
           @through = true
           @wait_time = 2#-----------------------Xbug
        end
     end
     # Drop down through ground
     if Input.trigger?(JUMP_BUTTON) and Input.press?(Input::DOWN)
        if !$game_map.passable?(@x, @y+1, 8) and $game_map.passable?(@x, @y+1, 2)
           @jumping_through = true
           @through = true
           @wait_time = 4
        end
     end
     @wait_time -= 1 if @wait_time > 0
     if @jumping_through and @wait_time == 0
        @jumping_through = false
        @through = false
     end
end
 
#--------------------------------------------------------------------------
# ● Update
#--------------------------------------------------------------------------
alias xplat_update update
def update
      xplat_update
      @move_speed = XAS::NORMAL_SPEED if @move_speed == nil #+++ EDITED ++++
      return if @force_move_times > 0 # ++++ EDITED ++++
      if $game_switches[XPLAT_SWITCH_ID] # platform check
         if @revise_x == nil and @revise_y == nil
            @revise_x = 0
            @revise_y = 0
            @correct_height = false
         end
         # ++++ EDITED ++++
         if (@jumpnow == 0 and @correct_height)
            @revise_y = 0
            @correct_height = false
            $game_player.animation_id = GROUND_ANIMATION_ID
         end 
         if @move_route_forcing
            last_moving = moving?
            last_real_x = @real_x
            last_real_y = @real_y
            if (@revise_x != 0 or @revise_y != 0) and !jumping? and !@move
               if @revise_x != @real_x - @x * 128 or @revise_y != @real_y - @y * 128
                  @revise_x = @real_x - @x * 128
                  @revise_y = @real_y - @y * 128
               end
               distance1 = 2 ** @move_speed
               distance2 = Math.sqrt(@revise_x ** 2 + @revise_y ** 2)
               if distance1 > distance2
                  @real_x = @real_x - @revise_x
                  @real_y = @real_y - @revise_y
                  @revise_x = 0
                  @revise_y = 0
               else
                  @real_x -= (distance1 * @revise_x / distance2).round
                  @real_y -= (distance1 * @revise_y / distance2).round
                  @revise_x = @real_x - @x * 128
                  @revise_y = @real_y - @y * 128
               end
            else
               super
            end
      else
        @move = false

        update_xplat_movement_commnad # +++ EDITED ++++

        last_real_x = @real_x
        last_real_y = @real_y
        @real_x = @x * 128 + @revise_x #-----------------speed correction
        @real_y = @y * 128 + @revise_y
        last_moving = moving?
        move_on
        if (last_real_x != @real_x or last_real_y != @real_y)
            @move_distance = 0 if @move_distance == nil
            @move_distance += Math.sqrt((last_real_x - @real_x) ** 2 +
                                        (last_real_y - @real_y) ** 2)
            if @move_distance >= 128
               @move_distance %= 128
               increase_steps
            end
            anime_update2 #-------------------------------------for dash
        else
            @pattern = 0
        end
    end
     
    if @real_y > last_real_y and @real_y - $game_map.display_y > CENTER_Y
       $game_map.scroll_down(@real_y - last_real_y)
    end
    if @real_x < last_real_x and @real_x - $game_map.display_x < CENTER_X
       $game_map.scroll_left(last_real_x - @real_x)
    end
    if @real_x > last_real_x and @real_x - $game_map.display_x > CENTER_X
       $game_map.scroll_right(@real_x - last_real_x)
    end
    if @real_y < last_real_y and @real_y - $game_map.display_y < CENTER_Y
       $game_map.scroll_up(last_real_y - @real_y)
    end
    if last_moving
       result = check_event_trigger_here([1,2])
       if result == true
          if (last_real_x / 128.0).round != @x and
             (last_real_y / 128.0).round != @y
             if @direction == 2 or @direction == 8
                if (last_real_x / 128.0).round > @x
                   turn_left
                else
                   turn_right
                end
             else
                if (last_real_y / 128.0).round > @y
                   turn_up
                else
                   turn_down
                end
             end
          elsif (last_real_x / 128.0).round > @x
              turn_left
          elsif (last_real_x / 128.0).round < @x
              turn_right
          elsif (last_real_y / 128.0).round > @y
              turn_up
          elsif (last_real_y / 128.0).round < @y
              turn_down
          end
       end
       if result == false
          unless $DEBUG and Input.press?(Input::CTRL)
               if @encounter_count > 0
                  @encounter_count -= 1
               end
          end
       end
    end
#----------------------- Jump -----------------------------------------------
    jump_max = (JUMPADD + 6) * 10
    if Input.press?(JUMP_BUTTON)
       update_xplat_jumping_effect(jump_max)
    else
       @apassed = false
    end     
#---------------------- Gravity --------------------------------
    update_xplat_gravity(jump_max) # +++ EDITED ++++
#---------------------- Temp Through --------------------------------
    update_xplat_temp_through(jump_max) # +++ EDITED ++++
#---------------------- Unstuck fix --------------------------------
#    if !$game_map.passable?(@x, @y, 10)
#      @jumping_through = true
#      @through = true
#      @wait_time = 8#4
#      @y -= 1
#    end
end # platform check
#---------------------- Event Check --------------------------------
     #if Input.trigger?(Input::C)
     #   check_event_trigger_here([0])
     #   check_event_trigger_there([0,1,2])
     #return if $game_map.events.values == event.battler #?
     #end
  end
  #--------------------------------------------------------------------------
  # ● Moveto
  #--------------------------------------------------------------------------
  alias moveto_original moveto
  def moveto(x, y)
      @revise_x = 0
      @revise_y = 0
      moveto_original(x, y)
  end
 
  #--------------------------------------------------------------------------
  # ● Anime Update2  # ++++ EDITED ++++ for dash
  #--------------------------------------------------------------------------
  def anime_update2
   
      if @walk_anime or @step_anime 
         @anime_count += 1.0
         @anime_count += 1.0 if @pattern == 0
      end
       
      if @anime_count > 16 - @move_speed * 2
         if not @step_anime and @stop_count > 0
            @pattern = @original_pattern
         else
            @pattern = (@pattern + 1) % 4           
         end
        @anime_count = 0
      end
     
      #ani?
     
  end

end

#==============================================================================
# ■ Game_Character
#==============================================================================
class Game_Character

  #--------------------------------------------------------------------------
  # ● Move On
  #-------------------------------------------------------------------------- 
  def move_on
      if @y < (@y + @revise_y / 128.0).round
         @y += 1
         @revise_y -= 128
      end
      if @x > (@x + @revise_x / 128.0).round
         @x -= 1
         @revise_x += 128
      end
      if @x < (@x + @revise_x / 128.0).round
         @x += 1
         @revise_x -= 128
      end
      if @y > (@y + @revise_y / 128.0).round
         @y -= 1
         @revise_y += 128
      end
  end 
 
  #--------------------------------------------------------------------------
  # ● Last Move?
  #-------------------------------------------------------------------------- 
  def last_move?(x, y, direction, distance)
      if direction == 2 or direction == 6
         distance *= -1
      end
      if (direction == 2 or direction == 8) and
         (y / 128.0).round != ((y - distance) / 128.0).round
         return true
      end
      if (direction == 4 or direction == 6) and
         (x / 128.0).round != ((x - distance) / 128.0).round
         return true
      end
      return false
  end
 
  #--------------------------------------------------------------------------
  # ● check_move_platform # +++ EDITED ++++
  #--------------------------------------------------------------------------   
  def check_move_platform(distance,d)
      return
  end   
 
  #--------------------------------------------------------------------------
  # ● Update Move?
  #-------------------------------------------------------------------------- 
  def update_move
      distance = 2 ** @move_speed
      if @y * 128 > @real_y
         @real_y = [@real_y + distance, @y * 128].min
         # event gravity
         if self.is_a?(Game_Event) and $game_switches[XPLAT_SWITCH_ID] and
            @air_event == nil
            @real_y += DOWN
         end
         check_move_platform(distance,2)
      end
      if @x * 128 < @real_x
         @real_x = [@real_x - distance, @x * 128].max
         check_move_platform(distance,4)
      end
      if @x * 128 > @real_x
         @real_x = [@real_x + distance, @x * 128].min
         check_move_platform(distance,6)
      end
      if @y * 128 < @real_y
         @real_y = [@real_y - distance, @y * 128].max
         check_move_platform(distance,8)
      end
      if @walk_anime
         @anime_count += 1.5
      elsif @step_anime
         @anime_count += 1
       end
  end
 
  #--------------------------------------------------------------------------
  # ● Moving?
  #-------------------------------------------------------------------------- 
  def moving?
      if not $game_switches[XPLAT_SWITCH_ID] or (self.is_a?(Game_Event))
         result = (@real_x != @x * 128 or @real_y != @y * 128)
         return result
      end
      if @move_route_forcing
         return false
      else
         return (@x != (@real_x / 128.0).round or @y != (@real_y / 128.0).round)
      end
  end 
 
  #--------------------------------------------------------------------------
  # ● Moving_a?
  #-------------------------------------------------------------------------- 
  def moving_a?
      if @move == false
         if (@move_route.list[@move_route_index].code <= 14 or
             @move_route.list[@move_route_index].code == 25)
             @move = true
         end
         return false
      end
      moving?
  end
 
  #--------------------------------------------------------------------------
  # ● Update_Jump
  #-------------------------------------------------------------------------- 
  alias default_update_jump update_jump
  def update_jump
      # if not in platform run old method
      unless $game_switches[XPLAT_SWITCH_ID]
          default_update_jump
          return
      end
      @jump_count -= 1
      @real_x = (@real_x * @jump_count + @x * 128) / (@jump_count + 1)
      @real_y = (@real_y * @jump_count + @y * 128) / (@jump_count + 1)
      if @jump_count == 0
         @revise_x = 0
         @revise_y = 0
      end
  end
 
  #--------------------------------------------------------------------------
  # * Move Upper Left
  #--------------------------------------------------------------------------
  alias origonal_move_upper_left move_upper_left
  def move_upper_left
      if $game_switches[XPLAT_SWITCH_ID] and @air_event == nil and
         self.tool_id == 0 #++++ EDITED ++++       
         move_left
         return
      end
      origonal_move_upper_left
  end
 
  #--------------------------------------------------------------------------
  # * Move Upper Right
  #--------------------------------------------------------------------------
  alias origonal_move_upper_right move_upper_right
  def move_upper_right
      if $game_switches[XPLAT_SWITCH_ID] and @air_event == nil and
         self.tool_id == 0 #++++ EDITED ++++
         move_right
         return
      end
      origonal_move_upper_right
  end
 
  #--------------------------------------------------------------------------
  # * Move Lower Left
  #--------------------------------------------------------------------------
  alias origonal_move_lower_left move_lower_left
  def move_lower_left
      if $game_switches[XPLAT_SWITCH_ID] and @air_event == nil and
         self.tool_id == 0 #++++ EDITED ++++
         move_left
         return
      end
      origonal_move_lower_left
  end
 
  #--------------------------------------------------------------------------
  # * Move Lower Right
  #--------------------------------------------------------------------------
  alias origonal_move_lower_right move_lower_right
  def move_lower_right
      if $game_switches[XPLAT_SWITCH_ID] and @air_event == nil and
         self.tool_id == 0 #++++ EDITED ++++
         move_right
         return
      end
      origonal_move_lower_right
  end
 
  #--------------------------------------------------------------------------
  # ● Move_Down_P
  #-------------------------------------------------------------------------- 
  def move_down_p
      turn_down
      distance = 2 ** @move_speed
      down1(((@x * 128 + @revise_x) / 128.0).round,
            ((@y * 128 + @revise_y) / 128.0).round, distance, true)
  end
 
  #--------------------------------------------------------------------------
  # ● Move_Down_aaaaqq
  #-------------------------------------------------------------------------- 
  def move_down_aaaagq
      distance = 2 ** @move_speed
      down1(((@x * 128 + @revise_x) / 128.0).round,
            ((@y * 128 + @revise_y) / 128.0).round, distance, true)
  end
 
  #--------------------------------------------------------------------------
  # ● Down1
  #-------------------------------------------------------------------------- 
  def down1(x, y, distance, down = false)
      result = down2(x, y, distance)
      if result == false
         @event_run = check_event_trigger_touch(x, y+1)
         return result
      end
      if @revise_x < -SIDE
         result = down2(x, y + 1, distance, 4)
         result &= down2(x - 1, y, distance)
         if result == false
            if down
               move_lower_right_p
               if @revise_x > SIDE
                  @revise_x = SIDE
               end
            end
            return result
         end
      elsif @revise_x > SIDE
         result = down2(x, y + 1, distance, 6)
         result &= down2(x + 1, y, distance)
         if result == false
            if down
               move_lower_left_p
               if @revise_x < -SIDE
                  @revise_x = -SIDE
               end
            end
            return result
         end
      end
      @revise_y += distance
      return result
  end
 
  #--------------------------------------------------------------------------
  # ● Down2
  #-------------------------------------------------------------------------- 
  def down2(x, y, distance, d = 2)
      if @revise_y + distance > DOWN
         unless passable?(x, y, d)
            if @revise_y < DOWN
               @revise_y = DOWN
            end
            return false
         end
      end
      return true
  end
 
  #--------------------------------------------------------------------------
  # ● Move_Left_P
  #-------------------------------------------------------------------------- 
  def move_left_p
      turn_left
      distance = 2 ** @move_speed #crash
      left1(((@x * 128 + @revise_x) / 128.0).round,
            ((@y * 128 + @revise_y) / 128.0).round, distance, true)
  end

  #--------------------------------------------------------------------------
  # ● Left1
  #-------------------------------------------------------------------------- 
  def left1(x, y, distance, left = false)
      result = left2(x, y, distance)
      if result == false
         @event_run = check_event_trigger_touch(x-1, y)
         return result
      end
      if @revise_y < -UP and $game_switches[XPLAT_SWITCH_ID]
         result = left2(x - 1, y, distance, 8)
         result &= left2(x, y - 1, distance)
         if result == false
            if left
               move_lower_left_p
               if @revise_y > DOWN
                  @revise_y = DOWN
               end
            end
            return result
         end
      elsif @revise_y > DOWN and $game_switches[XPLAT_SWITCH_ID]
          result = left2(x - 1, y, distance, 2)
          result &= left2(x, y + 1, distance)
          if result == false
             if left
                move_upper_left_p
                if @revise_y < -UP
                   @revise_y = -UP
                end
             end
             return result
          end
      end
      @revise_x -= distance
      return result
  end
 
  #--------------------------------------------------------------------------
  # ● Left2
  #-------------------------------------------------------------------------- 
  def left2(x, y, distance, d = 4)
      if @revise_x - distance < -SIDE
         unless passable?(x, y, d)
            if @revise_x > -SIDE
               @revise_x = -SIDE
            end
            return false
         end
      end
      return true
  end
 
  #--------------------------------------------------------------------------
  # ● Move_Right_P
  #-------------------------------------------------------------------------- 
  def move_right_p
      turn_right
      distance = 2 ** @move_speed
      right1(((@x * 128 + @revise_x) / 128.0).round,
            ((@y * 128 + @revise_y) / 128.0).round, distance, true)
  end
         
  #--------------------------------------------------------------------------
  # ● Right1
  #-------------------------------------------------------------------------- 
  def right1(x, y, distance, right = false)
      result = right2(x, y, distance)
      if result == false
         @event_run = check_event_trigger_touch(x+1, y)
         return result
      end
      if @revise_y < -UP and $game_switches[XPLAT_SWITCH_ID]
         result = right2(x + 1, y, distance, 8)
         result &= right2(x, y - 1, distance)
         if result == false
            if right
               move_lower_right_p
               if @revise_y > DOWN
                  @revise_y = DOWN
               end
            end
            return result
         end
      elsif @revise_y > DOWN and $game_switches[XPLAT_SWITCH_ID]
          result = right2(x + 1, y, distance, 2)
          result &= right2(x, y + 1, distance)
          if result == false
             if right
                move_upper_right_p
                if @revise_y < -UP
                   @revise_y = -UP
                end
             end
             return result
          end
      end
      @revise_x += distance
      return result
  end
 
  #--------------------------------------------------------------------------
  # ● Right2
  #-------------------------------------------------------------------------- 
  def right2(x, y, distance, d = 6)
      if @revise_x + distance > SIDE
         unless passable?(x, y, d)
            if @revise_x < SIDE
               @revise_x = SIDE
            end
            return false
         end
      end
      return true
  end
 
  #--------------------------------------------------------------------------
  # ● Move_Up_P
  #-------------------------------------------------------------------------- 
  def move_up_p
      turn_up
      distance = 2 ** @move_speed
      up1(((@x * 128 + @revise_x) / 128.0).round,
          ((@y * 128 + @revise_y) / 128.0).round, distance, true)
  end
 
  #--------------------------------------------------------------------------
  # ● Move_Up_aaaaqq
  #--------------------------------------------------------------------------   
  def move_up_aaaagq
      distance = 2 ** @move_speed
      up1(((@x * 128 + @revise_x) / 128.0).round,
          ((@y * 128 + @revise_y) / 128.0).round, distance, true)
  end
     
  #--------------------------------------------------------------------------
  # ● UP1
  #-------------------------------------------------------------------------- 
  def up1(x, y, distance, up = false)
      result = up2(x, y, distance)
      if result == false
         @event_run = check_event_trigger_touch(x, y-1)
         return result
      end
      if @revise_x < -SIDE
         result = up2(x, y - 1, distance, 4)
         result &= up2(x - 1, y, distance)
         if result == false
            if up
               move_upper_right_p
               if @revise_x > SIDE
                  @revise_x = SIDE
               end
            end
            return result
        end
      elsif @revise_x > SIDE
         result = up2(x, y - 1, distance, 6)
         result &= up2(x + 1, y, distance)
         if result == false
            if up
               move_upper_left_p
               if @revise_x < -SIDE
                  @revise_x = -SIDE
               end
            end
            return result
         end
      end
      @revise_y -= distance
      return result
  end
 
  #--------------------------------------------------------------------------
  # ● UP2
  #-------------------------------------------------------------------------- 
  def up2(x, y, distance, d = 8)
      if @revise_y - distance < -UP
         unless passable?(x, y, d)
            if @revise_y > -UP
               @revise_y = -UP
            end
            return false
         end
      end
      return true
  end
 
  #--------------------------------------------------------------------------
  # ● Move Lower Left P
  #-------------------------------------------------------------------------- 
  def move_lower_left_p
      unless @direction_fix
          @direction = (@direction == 6 ? 4 : @direction == 8 ? 2 : @direction)
      end
      distance = (2 ** @move_speed) / Math.sqrt(2)
      if @direction == 2
         turn_left unless down1(((@x * 128 + @revise_x) / 128.0).round,
                                ((@y * 128 + @revise_y) / 128.0).round, distance)
         turn_down if @event_run
         unless @event_run
            if last_move?(@real_x, @real_y, 2, distance)
               result = check_event_triggers_here([1,2], false)
               if result == true
                  return
               end
            end
            move_on
            if @revise_y > DOWN and -UP > @revise_y - distance
               @revise_y = DOWN
            end
            turn_down unless left1(((@x * 128 + @revise_x) / 128.0).round,
                                  ((@y * 128 + @revise_y) / 128.0).round, distance)
            turn_left if @event_run
         end
      else
         turn_down unless left1(((@x * 128 + @revise_x) / 128.0).round,
                               ((@y * 128 + @revise_y) / 128.0).round, distance)
         turn_left if @event_run
         unless @event_run
            if last_move?(@real_x, @real_y, 4, distance)
               result = check_event_triggers_here([1,2], false)
               if result == true
                  return
               end
            end
            move_on
            if @revise_x + distance> SIDE and -SIDE > @revise_x
               @revise_x = -SIDE
            end
            turn_left unless down1(((@x * 128 + @revise_x) / 128.0).round,
                                  ((@y * 128 + @revise_y) / 128.0).round, distance)
            turn_down if @event_run
         end
      end
  end
 
  #--------------------------------------------------------------------------
  # ● Move Lower Right P
  #-------------------------------------------------------------------------- 
  def move_lower_right_p
      unless @direction_fix
          @direction = (@direction == 4 ? 6 : @direction == 8 ? 2 : @direction)
      end
      distance = (2 ** @move_speed) / Math.sqrt(2)
      if @direction == 2
         turn_right unless down1(((@x * 128 + @revise_x) / 128.0).round,
                                ((@y * 128 + @revise_y) / 128.0).round, distance)
         turn_down if @event_run
         unless @event_run
            if last_move?(@real_x, @real_y, 2, distance)
               result = check_event_triggers_here([1,2], false)
               if result == true
                  return
               end
            end
            move_on
            if @revise_y > DOWN and -UP > @revise_y - distance
               @revise_y = DOWN
            end
            turn_down unless right1(((@x * 128 + @revise_x) / 128.0).round,
                                   ((@y * 128 + @revise_y) / 128.0).round, distance)
            turn_right if @event_run
         end
      else
         turn_down unless right1(((@x * 128 + @revise_x) / 128.0).round,
                                ((@y * 128 + @revise_y) / 128.0).round, distance)
         turn_right if @event_run
         unless @event_run
            if last_move?(@real_x, @real_y, 6, distance)
               result = check_event_triggers_here([1,2], false)
               if result == true
                 return
               end
            end
            move_on
            if @revise_x > SIDE and -SIDE > @revise_x - distance
               @revise_x = SIDE
            end
            turn_right unless down1(((@x * 128 + @revise_x) / 128.0).round,
                                   ((@y * 128 + @revise_y) / 128.0).round, distance)
            turn_down if @event_run
         end
      end
  end
 
  #--------------------------------------------------------------------------
  # ● Move Upper Left P
  #-------------------------------------------------------------------------- 
  def move_upper_left_p
      unless @direction_fix
          @direction = (@direction == 6 ? 4 : @direction == 2 ? 8 : @direction)
      end
      distance = (2 ** @move_speed) / Math.sqrt(2)
      if @direction == 8
         turn_left unless up1(((@x * 128 + @revise_x) / 128.0).round,
                             ((@y * 128 + @revise_y) / 128.0).round, distance)
         turn_up if @event_run
         unless @event_run
            if last_move?(@real_x, @real_y, 8, distance)
               result = check_event_triggers_here([1,2], false)
               if result == true
                  return
               end
            end
            move_on
            if @revise_y + distance > DOWN and -UP > @revise_y
               @revise_y = -UP
            end
#+++ EDITED ++++  #turn_up unless left1(((@x * 128 + @revise_x) / 128.0).round,
            #                    ((@y * 128 + @revise_y) / 128.0).round, distance)
            turn_left if @event_run
         end
      else
#+++ EDITED ++++  #turn_up unless left1(((@x * 128 + @revise_x) / 128.0).round,
         #                    ((@y * 128 + @revise_y) / 128.0).round, distance)
         turn_left if @event_run
         unless @event_run
            if last_move?(@real_x, @real_y, 4, distance)
               result = check_event_triggers_here([1,2], false)
               if result == true
                  return
               end
            end
            move_on
            if @revise_x > SIDE and -SIDE > @revise_x - distance
               @revise_x = SIDE
            end
            turn_left unless up1(((@x * 128 + @revise_x) / 128.0).round,
                                ((@y * 128 + @revise_y) / 128.0).round, distance)
            turn_up if @event_run
         end
      end
  end
 
  #--------------------------------------------------------------------------
  # ● Move Upper Right P
  #-------------------------------------------------------------------------- 
  def move_upper_right_p
      unless @direction_fix
         @direction = (@direction == 4 ? 6 : @direction == 2 ? 8 : @direction)
      end
      distance = (2 ** @move_speed) / Math.sqrt(2)
      if @direction == 8
         turn_right unless up1(((@x * 128 + @revise_x) / 128.0).round,
                              ((@y * 128 + @revise_y) / 128.0).round, distance)
         turn_up if @event_run
         unless @event_run
            if last_move?(@real_x, @real_y, 8, distance)
               result = check_event_triggers_here([1,2], false)
               if result == true
                  return
               end
            end
            move_on
            if @revise_y + distance > DOWN and -UP > @revise_y
               @revise_y = -UP
            end
#+++ EDITED ++++ #turn_up unless right1(((@x * 128 + @revise_x) / 128.0).round,
                 #               ((@y * 128 + @revise_y) / 128.0).round, distance)
            turn_right if @event_run
          end
      else
#+++ EDITED ++++ #turn_up unless right1(((@x * 128 + @revise_x) / 128.0).round,
                 #              ((@y * 128 + @revise_y) / 128.0).round, distance)
          turn_right if @event_run
          unless @event_run
             if last_move?(@real_x, @real_y, 6, distance)
                result = check_event_triggers_here([1,2], false)
                if result == true
                   return
                end
             end
             move_on
             if @revise_x > SIDE and -SIDE > @revise_x - distance
                @revise_x = SIDE
             end
             turn_right unless up1(((@x * 128 + @revise_x) / 128.0).round,
                                  ((@y * 128 + @revise_y) / 128.0).round, distance)
             turn_up if @event_run
          end
      end
  end
 
  #--------------------------------------------------------------------------
  # ● Check Event Triggers Here
  #-------------------------------------------------------------------------- 
  def check_event_triggers_here(triggers, run = true)
      result = false
      if $game_system.map_interpreter.running?
         return result
      end
      for event in $game_map.events.values
          if event.x == ((@x * 128 + @revise_x) / 128.0).