collapse collapse

 Community


 User Info




Willkommen Gast. Bitte einloggen oder registrieren.

 Partnerseiten

rpgvx.net

Das Forum ist offline

Autor Thema: Directionfix auf Knopfdruck  (Gelesen 1594 mal)

Offline Phi

  • Forscher
  • Eventmeister
  • ***
  • Beiträge: 368
  • Im Auftrag der Wissenschaft
Directionfix auf Knopfdruck
« am: Juli 26, 2009, 22:22:46 »
Ich hab für mein Spiel ein Script geschrieben das ich die Richtung in die der Held sieht per knopfdruck fixieren kann. (solange sie gedrückt ist, ist die Richtung gefixt) es ist für ein Schusswaffen AKS
das alleine wäre etwas spärlich ^^ desshalb hab ich es so umgeschrieben das man die Taste selbst bestimmen kann, genauso wie die Taste fürs laufen (dash) und im Testspiel durch die Wände zu laufen (debug_through)
da dieses script mit keinem 8-Wege- oder WASD-Steuerungs-script kompatibel ist, ist auch ein 8 Wege und ein WASD-Steuerungs-script enthalten (die man allerdings beide an- und ausschalten kann)

einfach über main einfügen:
#==============================================================================
# Setup
ACHTWEG = true  # true = Acht-wege
                # false = Vier-wege
WASD = true     # true = WASD steuerung ein
                # false = WASD steuerung aus
PFEIL = true    # true = Pfeilsteuerung ein
                # false = Pfeilsteuerung aus
                # ihr seid selber schuld wenn ihr beides ausmacht ^^
DIRFIX = true   # true = Directionfix auf knopfdruck an
                # false = Directionfix auf knopfdruck aus
DIRSWITCH = 0   # Switchnummer ob Directionfix an oder aus ist
#------------------------------------------------------------------------------
# Tastensetup
# Mögliche Tasten sind: SHIFT, CTRL, ALT , F5, F6, F7, F8, F9, A, B, C, L, R, X, Y, Z
# immer ein "Input::" davorsetzen, natürlich ohne Anführungszeichen
FIX = Input::ALT        # Fix Welche Taste zum fixen der Richtung
LAUF = Input::SHIFT     # Taste Zum Laufen (Standart = Shift)
CHEAT = Input::CTRL     # Taste zum im Testspiel durch Wände gehen (Standart = Strg)
#==============================================================================

class Game_Player < Game_Character
  def move_by_input
    return unless movable?
    return if $game_map.interpreter.running?
    if WASD == true
      if Input.press?(Input::X) and Input.press?(Input::R)
        move_upper_left if ACHTWEG == true
      elsif Input.press?(Input::X) and Input.press?(Input::Y)
        move_lower_left if ACHTWEG == true
      elsif Input.press?(Input::Z) and Input.press?(Input::R)
        move_upper_right if ACHTWEG == true
      elsif Input.press?(Input::Z) and Input.press?(Input::Y)
        move_lower_right if ACHTWEG == true   
      elsif Input.press?(Input::Y)
        move_down
      elsif Input.press?(Input::R)
        move_up
      elsif Input.press?(Input::Z)
        move_right
      elsif Input.press?(Input::X)
        move_left
      end
    end
    if PFEIL == true
      case Input.dir8
      when 1
        move_lower_left if ACHTWEG == true
      when 2
        move_down
      when 3
        move_lower_right if ACHTWEG == true
      when 4
        move_left
      when 6
        move_right
      when 7
        move_upper_left if ACHTWEG == true
      when 8
        move_up
      when 9
        move_upper_right if ACHTWEG == true
      end
    end
    if DIRFIX == true
      if games_variable[DIRSWITCH] == true
        if Input.press?(FIX)
          @direction_fix = true
        else
          @direction_fix = false
        end
      end
    end
  end
  def dash?
    return false if @move_route_forcing
    return false if $game_map.disable_dash?
    return false if in_vehicle?
    return Input.press?(LAUF)
  end
  def debug_through?
    return false unless $TEST
    return Input.press?(CHEAT)
  end
  def update_encounter
    return if $TEST and Input.press?(CHEAT)
    return if in_vehicle?
    if $game_map.bush?(@x, @y)
      @encounter_count -= 2
    else
      @encounter_count -= 1
    end
  end
end

class Window_Selectable < Window_Base
  def update
    super
    if cursor_movable?
      last_index = @index
      if Input.repeat?(Input::DOWN) or Input.repeat?(Input::Y)
        if PFEIL == true
          cursor_down(Input.trigger?(Input::DOWN))
        elsif WASD == true
          cursor_down(Input.trigger?(Input::Y))
        end
      end
      if Input.repeat?(Input::UP) or Input.repeat?(Input::R)
        if PFEIL == true
          cursor_up(Input.trigger?(Input::UP))
        elsif WASD == true
          cursor_up(Input.trigger?(Input::R))
        end
      end
      if Input.repeat?(Input::RIGHT) or Input.repeat?(Input::Z)
        if PFEIL == true
          cursor_right(Input.trigger?(Input::RIGHT))
        elsif WASD == true
          cursor_right(Input.trigger?(Input::Z))
        end
      end
      if Input.repeat?(Input::LEFT) or Input.repeat?(Input::X)
        if PFEIL == true
          cursor_left(Input.trigger?(Input::LEFT))
        elsif WASD == true
          cursor_left(Input.trigger?(Input::X))
        end
      end
      if Input.repeat?(Input::R)
        cursor_pagedown
      end
      if Input.repeat?(Input::L)
        cursor_pageup
      end
      if @index != last_index
        Sound.play_cursor
      end
    end
    update_cursor
    call_update_help
  end
end

Edit: Da ich gefragt wurde ob ich den directionfix (für das das Script gemacht wurde! oO) auch ausgeschalten werden kann. (das man nen 8 Wege WASD hat) hab ichs noch etwas umgeändert
« Letzte Änderung: Juli 27, 2009, 00:28:50 von Phi »

Re: Directionfix auf Knopfdruck

Offline Herendil

  • Jarl Turindo
  • Moderator
  • Mr. MACK-Tile
  • ***
  • Beiträge: 283
  • Jarl Turindo
Re: Directionfix auf Knopfdruck
« Antwort #1 am: Juli 27, 2009, 23:29:02 »
Na das ist doch was, Minigames INC^^ Aber WASD und Pixelmovments gibt es doch schon *auf Hell zeig* :D

Re: Directionfix auf Knopfdruck

Offline Phi

  • Forscher
  • Eventmeister
  • ***
  • Beiträge: 368
  • Im Auftrag der Wissenschaft
Re: Directionfix auf Knopfdruck
« Antwort #2 am: Juli 28, 2009, 00:07:03 »
Na das ist doch was, Minigames INC^^ Aber WASD und Pixelmovments gibt es doch schon *auf Hell zeig* :D
pixelmovement ist nicht drinnen ^^
Ich habs im grunde nur das directiofix bei knopfdruck in mein Spiel geaddet und das WASD und 8 Wege hab ich nur reingetan weil diese scripts höchstwahrscheinlich nicht kompatibel wären.

ich freu mich aber das es jemanden gibt der sich dazu herablässt mir zu antwor... ähm... ich meine... dass es jemanden gibt der es gebrauchen kannst

Re: Directionfix auf Knopfdruck

Offline papilion

  • In Zeitlupe-Makerer
  • Global Mod
  • VX-Meister
  • ****
  • Beiträge: 727
Re: Directionfix auf Knopfdruck
« Antwort #3 am: Juli 28, 2009, 11:51:48 »
Hey,
sorry, dass ich es so lange nicht beachtet habe
aber ich hab mich die letzten zwei Tage darum bemüht,
mich mit einer Freundin an nem Foren RPG anzumelden
und da kommen wir einfach nicht richtig weiter XD

Aber wie du weißt, kann ich das Script gut gebrauchen
und ich werd es heute mal austesten!

Es ist sicher toll :)
Die alte Version war ja schon schwer in Ordnung.

mfG Papilion

 


 Bild des Monats

rooftop party

Views: 3658
By: papilion

 Umfrage

  • Wer soll das BdM gewinnen?
  • Dot Kandidat 1
  • 3 (25%)
  • Dot Kandidat 2
  • 1 (8%)
  • Dot Kandidat 3
  • 2 (16%)
  • Dot Kandidat 4
  • 0 (0%)
  • Dot Kandidat 5
  • 6 (50%)
  • Stimmen insgesamt: 12
  • View Topic

 Schnellsuche





SimplePortal 2.3.3 © 2008-2010, SimplePortal